ROS2 gazebo 仿真 groundtruth

本文讲述了在测试SLAM算法时,如何在Gazebo仿真环境中使用gazebo_ros_p3d插件获取groundtruth。在从ROS1迁移到ROS2的过程中,由于命名规范差异导致插件失效,通过调整xacro文件中的``等标签解决了问题,并指出了正确的topic路径和示例配置。
摘要由CSDN通过智能技术生成

在测试slam算法时,我们需要groundtruth作为真值验证算法的准确性。在gazebo仿真中,可以通过添加gazebo_ros_p3d插件来提供真值,参考https://github.com/ros-simulation/gazebo_ros_pkgs/issues/1287,但是在ros2 humble实际部署中,虽不影响模型生成,但该插件并没有发挥作用,在gazebo模型生成中,可见报错Missing <body_name>, cannot proceed。推测是ros1和ros2 在定义仿真机器人的xacro文件命名规范不一致导致的。ros1定义插件性质用的是<bodyName>,而在ros2中应当修改为<body_name>。其他性质也按相同方法修改。修改完后可以在/${robot_name}/${robot_name}_odom这个topic下找到,信息类型是odometry。最后附上修改完的完成插件例子

<plugin name="p3d_base_controller" filename="libgazebo_ros_p3d.so">
<ros>
<namespace>${robot_name}</namespace>
<remapping>odom:=${robot_name}_odom</remapping>
</ros>
<update_rate>20.0</update_rate>
<body_name>${robot_name}_base_footprint</body_name>
<frame_name>world</frame_name>

<gaussian_noise>0.0</gaussian_noise>
<xyz_offset>0 0 0</xyz_offset>
<rpy_offset>0 0 0</rpy_offset>
</plugin>

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值