自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 ros2 多线程节点调度MultiThreadedExecutor

单线程:回调函数按顺序执行,callback2 必须等待 callback1 完成。多线程:两个回调函数并行执行,总耗时仅取决于最长的回调(2秒)。

2025-05-22 17:50:40 198

原创 anaconda的c++环境与ros2需要的系统变量c++环境冲突

返回如下,明明这里是存在version `GLIBCXX_3.4.30’的。建立软连接,用系统的c++变量替代这个conda虚拟环境的c++环境变量。在conda虚拟环境中运行有ros2的代码报错。

2025-05-22 17:01:28 198

原创 c++一些高级写法

这两个函数模板是 C++11/14 引入的 智能指针构造工具,用来更简洁、安全地创建 unique_ptr 和 shared_ptr。shared_ptr< T>可以复制,引用计数自动维护;这两个暂时都可以当作声明对象使用,没实例化的空指针,使用make_shared和make_unique才。unique_ptr< T>独占所有权,不能共享,最后一个 unique_ptr 被销毁时析构。shared_ptr< T> 共享所有权,引用计数,所有 shared_ptr 被销毁后析构。

2025-05-19 11:04:18 212

原创 c++ 基于范围的for循环

对容器的遍历过程中,如果只是读数据,不允许修改元素的值,可以使用 const 定义保存元素数据的变量,在定义的时候建议使用 const auto &,这样相对于 const auto 效率要更高一些。新特性 for (declaration : expression)传统写法 for (表达式 1;加引用&可以修改容器内容。

2025-05-13 11:21:20 189

原创 c++ 类的成员初始化

对于以下类型的成员变量,必须使用初始化列表:const 常量成员, 引用成员, 没有默认构造函数的类类型成员。对于类成员变量的初始化,成员初始化列表比在构造函数体内赋值更高效。

2025-05-12 16:57:54 277

原创 Mujoco xml < sensor>

它输出的是该对象参考系的 三维平移位置,单位是 米(m)。framequat 需要指定 测量哪个对象的姿态,所以它必须使用:objtype:对象类型(site、body、geom),objname:对象的名称。这个力/矩 是 驱动器(actuator) 施加在关节上的效果,它只适用于那些与关节相关联的 actuator,如:motor(电机),position,velocity 控制器等。它测量的是某个对象的 角速度,即该对象在其局部坐标系下绕 x, y, z 轴 的旋转速度[ωx, ωy, ωz]。

2025-04-22 22:48:54 1383

原创 Mujoco xml actuator

在MuJoCo中,actuator(执行器) 是用于定义外部力或力矩的机制,这些力或力矩可以作用于关节、肌腱或身体。执行器可以模拟各种类型的驱动器,如电机、液压缸、肌肉等。它们通过定义传输(transmission)和力生成机制(force generation)来实现对模型的控制。

2025-04-10 18:48:08 1040

原创 Mujoco xml <option>

option 是 MuJoCo MJCF 模型中的一个顶级元素,用于定义模拟的选项。这些选项不会影响模型的编译过程,而是直接复制到低级模型的 mjModel.opt 字段中。通过 option,用户可以设置模拟的时间步长、重力、风速、磁场、密度、粘度等物理参数,以及数值积分器、摩擦锥、雅可比矩阵、求解器等计算参数。

2025-04-10 16:58:31 1175

原创 Mujoco xml模型

childclass 的作用范围​仅作用于 < body> 标签内​​直接嵌套​​的子 < body>,当前刚体不使用这个属性,子刚体的子刚体(孙子级)不会自动继承该 childclass,除非它们也被显式设置。class仅作用于当前 < body> 自身​​,不会自动传递给任何子刚体,​​子刚体若需继承​​,必须显式设置自己的 class 或 childclass。​​关节作用​​:添加关节后,子刚体可​​相对父刚体运动​​(旋转或平移)。​​默认行为​​:若无关节,子刚体会与父刚体​​刚性固定​​。

2025-04-09 20:44:45 1295

原创 ROS2_control 对机器人控制(不完整,有时间再更新)

会提示安装好其他相应的东西# 本来应该还要有ros-humble-gz-ros2-control,但是直接安装提示定位不到ros2 control --help # 输出 Commands:list_controller_types 输出可用的控制器类型及其基类list_controllers 输出已加载控制器的列表、类型和状态list_hardware_components 输出可用硬件组件列表list_hardware_interfaces 输出可用命令和状态接口列表。

2025-04-08 23:21:59 1357 1

原创 xacro模型学习

- 使用时​​通过 $(arg arg_name) 引用参数值 --> $(arg aaa)-- 使用时​​通过 $(arg arg_name) 引用参数值 --> $(arg aaa)-- 使用时​​通过 $(arg arg_name) 引用参数值 --> $(arg aaa)-- 使用时​​通过 $(arg arg_name) 引用参数值 --> $(arg aaa)-- 使用时​​通过 $(arg arg_name) 引用参数值 --> $(arg aaa)赋值# 加载Xacro文件并覆盖参数。

2025-04-06 15:31:26 204

原创 ubuntu22.04 ROS2humble 路径文件

下载ros2之后会有下面的文件,在/opt/ros/humble下。

2025-03-28 22:43:37 479

原创 使用ros_gz_bridge将gz topic转换成ros2 topic

gazebo_topic>:Gazebo 中的话题名称(如 /imu)。<ros_message_type>:ROS 2 消息类型(如 sensor_msgs/msg/Imu)。<gazebo_message_type>:Gazebo 消息类型(如 gz.msgs.IMU)将 Gazebo 的 /imu 话题(消息类型为 gz.msgs.IMU)转换为 ROS 2 的 /imu 话题(消息类型为 sensor_msgs/msg/Imu)

2025-03-26 22:42:33 449

原创 机器人SDF模型写法官方例子

里面会写有有什么元素<>可以写。

2025-03-26 22:13:46 550

原创 ubuntu22.04下gazebo harmonic使用学习

需要注意的是,导入的路径,需要是含有模型的.config文件的一级父目录,比如下面图中是turtlebot的例子,models下有一些机器人模型的定义包,里面含有.config文件,那么这个model路径就是我们需要给的GZ_SIM_RESOURCE_PATH值。下面这个gazebo模型库提供了gazebo的很多模型,里面的sdf文件可以用来导入ignition版本gazebo。启动一个实例,居然是用ign gazebo这个命令,我看其他新版gazebo都是 gz, gz_sim这样的。

2025-03-26 20:50:30 607

原创 ROS2 humble .launch.py启动文件编写

多个节点要启动的时候,ros2 run的效率太低,所以使用了launch来启动。如果我都是只用Python脚本写的代码去控制机器人,好像也不需要去运行功能包的节点,也就不需要launch了。

2025-03-26 20:49:18 324

原创 gz sim机器人SDF模型 [持续更新]

sdf的格式跟urdf有所不同,必须是完整的一个包括,比如< pose></ pose>这样前一个后一个,urdf中是有< orign xyz=‘0 0 0’ rpy=‘0 0 0’>的写法的,也就是没< orign>< /orign>这样写。sdf中需要注意。下面是一个两轮小车的模型sdf文件,算是一个标准基础例子。

2025-03-26 20:48:10 854

原创 Ubuntu给appimage创建图标启动

现在准备使用cursor,但是cursor的linux版本还只有appimage版本,所以要创建桌面图标方便点,不然只能通过终端运行了。

2025-03-24 20:45:08 427

原创 Ubuntu22.04更新内核

感觉这种搞法是网上查来查去拼接的做法,不知道还有没有什么问题,但是现在还能用,就怕以后用着用着突然又给我系统弄崩了。一开始我的内核版本是6.8.0-40的,我想升级为6.8.0-52。查看可用内核,看到下面55的还没有generic版本。下面的我一开始选择的是关闭的。

2025-03-24 16:56:36 551

原创 Ubuntu22.04美化MacOS主题

把图标文件移动到 /user/shared/icons/下。在gnome-tweaks中就能选了。

2025-03-24 15:56:34 712

原创 Gazebo模型urdf、sdf中的uri路径

在 Gazebo 的 SDF 模型文件中,model://、file:// 和 package:// 是用于指定资源路径的 URI 方案。在bashrc中写好,然后urdf和sdf文件中就能用model://指到那个地方了。

2025-03-20 16:15:02 245

原创 ROS2一些常用命令

【代码】ROS2一些常用命令。

2025-03-17 20:26:35 173

原创 ROS2 humble节点初始化基础写法

CMakelist.txt中修改。

2025-03-17 15:21:29 245

原创 ROS2中常用的节点定义写法理解

这是一开始看小鱼ROS教程看到写的节点定义写法,一开始还看不懂,跟ros1的写法太不一样了。呃,反正先记住就这样写好像还好点,理解太多反而太乱了。ros2里定义一个节点需要使用类型。

2025-03-16 19:51:38 172

原创 一个ROS2 humble的Cmakelist.txt基础模版

【代码】一个ROS2 humble的Cmakelist.txt基础模版。

2025-03-16 15:45:35 133

原创 zotero同步infiniCLOUD报错:webdav服务器不接受您输入的用户名及密码

找到一个解决方法是,先退出zotero的同步账号,再登录同步账号,使用新的云端同步密码,在infiniCLOUD的主页里的密码,

2025-03-08 19:25:54 788

原创 ubuntu下的urdf节点图查看

check_urdf : 命令可以检查复杂的 urdf 文件是否存在语法问题urdf_to_graphiz : 命令可以查看 urdf 模型结构,显示不同 link 的层级关系。

2025-03-07 18:22:59 202

原创 ubuntu 22.04附加驱动安装NVIDIA显卡驱动重启后无WiFi蓝牙等问题

或者还可以去清华源找驱动软件包直接离线安装。查看哪些要跟着旧版本一起装的就装。

2025-03-05 21:00:35 551 2

转载 c++虚函数与多态部分记录

记录一下,保存。

2025-03-02 20:49:14 30

原创 c++ namespace名字域空间

可以在代码中使用 namespace 关键字来定义一个命名空间。/ / value 和 printValue 都属于 example 命名空间} }// 输出: Value: 10为了简化代码,可以使用 using 指令将命名空间中的成员引入到当前作用域中。// 直接使用,而不需要 `example::`

2025-03-02 14:39:06 354

原创 ubuntu20.04仿真复现legged_control

legged_control 是一个基于 OCS2 和 ros-control 的 NMPC-WBC 机器人控制栈和框架。

2025-03-01 16:07:59 535

原创 Ubuntu20.04安装Isaac sim/ Isaac lab

2025年之后omniverse好像不能直接装Isaac sim了,要跳转到官网链接。Isaac lab要在Isaac sim安装之后才能安装。

2025-02-28 23:43:59 978 3

原创 Visual Whole-Body for Loco-Manipulation论文复现

low-level使用RL训练了运动控制模型,根据期望状态输出目标机械腿和机械臂关节扭矩,特权教师策略模型则是利用low-level的模型训练,根据物体的位姿和形状生成合理的运动指令(抓手位姿),视动学生策略是将特权教师策略迁移到实物上,只仿真就不会用到。仿真中可以利用仿真平台直接获取物体的位姿和形状,所以特权教师策略的核心是low-level的运动控制模型,特权教师策略是加上了对目标物体的位姿和形状等信息从而使用low-level的模型来完成全身控制抓取物品的过程指令。

2025-02-24 22:36:09 781 1

原创 [grub]修改启动项选项来区分不同系统

师兄毕业了,接手了师兄的主机,有之前的Ubuntu20.04.6系统,然后我想装Ubuntu20.04和Ubuntu22.04给自己用,但是在启动项那里就会是同名的,靠装的先后顺序来区分,有点不太方便,于是我通过修改grub相关文件来修改ID。那就修改ID部分就行了,重新启动后看到已经有自己的自定义了。可以看到相应的启动项的内容,都与之前看到的对应了。其他看到还有修改启动项的主题的,可以试试。

2025-02-19 19:48:40 164

原创 Ubuntu22.04配置cuda/cudnn/pytorch

在Linux系统中,/etc/profile 是一个全局的配置文件,用于设置所有用户登录时的环境变量和启动脚本。当需要配置 CUDA 环境变量(例如 PATH 和 LD_LIBRARY_PATH)时,将其添加到 /etc/profile 文件中是一种常见的做法。CUDA 的运行时库(如 libcudart.so)通常位于 /usr/local/cuda/lib64 目录下。如果让所有用户都能使用 CUDA 工具链,而不仅仅是某个特定用户,那么将环境变量配置到 /etc/profile 是最合适的选择。

2025-02-17 21:12:21 1546

原创 ROS1基础学习[记录b站阿杰]

比如在避障这一个任务中,有imu发布姿态信息,超声波雷达发送距离信息,姿态信息发布在话题为姿态中,距离信息发布在距离这个话题中,这样订阅者电机就可以根据需要来得到相应信息,各取所需。一般launch文件建立的位置比较随意,启动的时候,ros会在子文件夹中搜索,所以放在哪个话题下都行,一般为了美观,会建立一个launch文件夹,把所有用到的launch文件都放在里面就行。查看节点与话题通讯关系。这里是创建软件包,ssr_pkg是自己命名的包,rospy,roscpp是语言支持,std_msgs是标准信息库。

2025-02-15 21:09:19 1130

原创 git学习【个人记录b站尚硅谷】

git initgit statusgit refloggit loggit remote add underwater_robot719 项目网站.gitgit push 别名 master每一次修改都需要将文件上传到暂存区再上传到本地库再上传到远程库(github or Gitee)

2025-02-12 10:56:22 571

原创 Ubuntu指令学习(个人记录、偶尔更新)

我们也已通过修改locale文件来修改中英文方式,上边那行LANG是修改主目录下的文件夹名字的语言的(可能也有其他地方被修改,暂时我没发现),下面那行LANGUAGE是修改整个系统的语言的,所以只需把LANG中的zh_CN改成en_US保存,就行。三个数字分别给系统拥有者,组,其他用户的权限,4为r,2为w,1为x,若赋予完全的权限则为rwx之和即7,只赋予读写权限则为rw之和为6,其余类似,一般使用当前自己用户就是第一个数字就行。+为赋予权限,-为删除权限,r为可读权限,w为可写权限,x为可执行权限。

2025-02-11 17:09:09 888

原创 ubuntu22.04安装搜狗输入法

搜狗输入法配置和其他软件有点差别了,不只是下载完.deb包直接dpkg就完事了,还需要一些配置,按照官网给的教程就行。

2024-12-07 15:43:15 419

原创 四足机器人单腿逆运动学几何计算

目标:由给定腿部几何参数和计算出的x/y/z坐标求取关节转动的角度,得到关节转角才能计算电机需要的转角。

2024-11-28 20:04:15 1409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除