ros2-6.4.4 两轮差速控制机器人(问题解决)

ros2-6.4.4 两轮差速控制机器人的问题-CSDN博客

上次遇到的问题,经过查看ros2 node list 之后,发现有多个

/robot_state_publisher

这是不正常的,应该是我看视频6.2 的没有及时关闭导致冲突了。

没有修改代码,单纯的重启就解决了。正常显示TF tree 如下:

小鱼老师在视频解释过,left_wheel_link 、right_wheel_link 两个轮子在base_footprint下是差速控制插件发布的。

此时,能正常看到轮子的tf轴转动。

XML 复制代码
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
    <xacro:macro name="gazebo_control_plugin">
        <gazebo>
            <plugin name='diff_drive' filename='libgazebo_ros_diff_drive.so'>
                <ros>
                    <namespace>/</namespace>
                    <remapping>cmd_vel:=cmd_vel</remapping>
                    <remapping>odom:=odom</remapping>
                </ros>
                <update_rate>30</update_rate>
                <!-- wheels -->
                <left_joint>left_wheel_joint</left_joint>
                <right_joint>right_wheel_joint</right_joint>
                <!-- kinematics -->
                <wheel_separation>0.2</wheel_separation>
                <wheel_diameter>0.064</wheel_diameter>
                <!-- limits -->
                <max_wheel_torque>20</max_wheel_torque>
                <max_wheel_acceleration>1.0</max_wheel_acceleration>
                <!-- output -->
                <publish_odom>true</publish_odom>
                <publish_odom_tf>true</publish_odom_tf>
                <publish_wheel_tf>true</publish_wheel_tf>

                <odometry_frame>odom</odometry_frame>
                <robot_base_frame>base_footprint</robot_base_frame>
            </plugin>
        </gazebo>
   </xacro:macro>
</robot>

补充下差速控制的参数含义,就是书上6-1 表格。

配置项 含义
ros ros相关配置,包含命名空间和话题重映射等
update_rate 数据更新速率
left_joint 左轮关节名称
right_joint 右轮关节名称
wheel_separation 左右轮子的间距
wheel_diameter 轮子的直径
max_wheel_torque 轮子最大的力矩
max_wheel_acceleration 轮子最大的加速度
publish_odom 是否发布里程计
publish_odom_tf 是否发布里程计的tf开关
publish_wheel_tf 是否发布轮子的tf数据开关
odometry_frame 里程计的framed ID,最终体现在话题和TF上
robot_base_frame 机器人的基础frame的ID

一些 控制信息;

cmd_vel 就是

bash 复制代码
bohu@bohu-TM1701:~$ ros2 topic echo /cmd_vel
linear:
  x: 0.5
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0
---
linear:
  x: 0.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0

里程计信息默认的输出话题为odom,查看信息:

header,表示该消息发布的时间

pose,表示当前机器人位置和朝向

twist,表示当前机器人的线速度和角速度

covariance 协方差矩阵信息,小鱼老师说以后讲。在rviz里面Odometry关闭了,没有勾选。

bash 复制代码
header:
  stamp:
    sec: 4564
    nanosec: 469000000
  frame_id: odom
child_frame_id: base_footprint
pose:
  pose:
    position:
      x: -1.786928065906287
      y: -0.8138664866993258
      z: 0.0009999934627118873
    orientation:
      x: 3.9145606329839545e-08
      y: 1.401121596460272e-07
      z: -0.96438294476112
      w: -0.2645099919735544
  covariance:
  - 1.0e-05
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1.0e-05
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.001
twist:
  twist:
    linear:
      x: -1.6229530798319845e-05
      y: -3.1758267246886164e-05
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: -9.914752588517208e-05
  covariance:
  - 1.0e-05
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1.0e-05
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 1000000000000.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.001
---
header:
  stamp:
    sec: 4564
    nanosec: 503000000
  frame_id: odom
child_frame_id: base_footprint
相关推荐
元素之窗4 小时前
ROS开发中`laser_scan_matcher`节点启动失败问题的分析与解决
机器人
沫儿笙6 小时前
FANUC发那科焊接机器人薄板焊接节气
人工智能·机器人
困鲲鲲6 小时前
ROS2系列 (10) : C++话题通信节点——发布者示例
c++·ros2
Vizio<17 小时前
《基于电阻层析成像(ERT)的机器人皮肤空间灵敏度均衡:通过应变系数分布优化》ICRA 2025 论文解读
论文阅读·机器人·机器人触觉
老华带你飞19 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
音视频牛哥19 小时前
狂飙与重构:机器人IPO浪潮背后的系统焦虑与感知进化
人工智能·计算机视觉·机器人·音视频·多智能体协同·rtsp播放器rtmp播放器·视频感知低延迟音视频
白云千载尽1 天前
moveit使用和机器人模型与状态--正向运动学和逆向运动学分析(四)
算法·机器人·逆运动学·moveit·正向运动学
SYNKROTRON1 天前
战略合作 | 深信科创携手北极雄芯、灵猴机器人共推国产智能机器人规模化落地
机器人·机器人操作系统·具身机器人
拓端研究室1 天前
专题:2025机器人产业的变革与展望白皮书:人形机器人与工业机器人洞察|附130+份报告PDF、数据、绘图模板汇总下载
人工智能·机器人·pdf
@LetsTGBot搜索引擎机器人1 天前
打造属于你的 Telegram 中文版:汉化方案 + @letstgbot 搜索引擎整合教程
开发语言·python·搜索引擎·机器人·.net