[具身智能-708]:ros2 topic pub --rate 10 /turtle1/cmd_vel 消息解析 📅 2026/8/2 2:33:33 完整逐段拆解这条命令bash运行ros2 topic pub --rate 10 /turtle1/cmd_vel geometry_msgs/msg/Twist {linear: {x: 2.0, y: 1.0, z: 0.0}, angular: {x: 1.0, y: 1.0, z: 0.0}}1. 基础命令分段表格片段含义ros2topic pubROS2 命令向话题发布消息--rate 10发送频率10Hz每秒发送 10 条消息/turtle1/cmd_vel目标话题名称海龟仿真速度指令话题geometry_msgs/msg/Twist消息类型速度指令消息话题对应的消息名称后面大括号内容消息内部数据YAML 格式2. Twist 消息字段详解yaml{ linear: {x: 2.0, y: 1.0, z: 0.0}, angular: {x: 1.0, y: 1.0, z: 0.0} }linear 线速度单位 m/slinear.x 2.0向前直线速度前进方向的速度 2m/s正数向前负数向后linear.y 1.0横向速度向右横移平移方向的速度1m/s ✅麦克纳姆轮小车支持 y 方向横移❌阿克曼小车、turtlesim 海龟【不支持 linear.y】这个参数会被直接忽略linear.z 0.0上下方向垂直方向的速度2D 机器人一律不用angular 角速度单位 rad/sangular.z水平面旋转左右转向重点2D 移动机器人只使用 angular.zangular.x、angular.y对应俯仰、翻滚三维空间旋转 小车、turtlesim 完全用不到设置任何数值都不会产生任何效果3. 这条命令实际运行效果如果是turtlesim 海龟仿真linear.y、angular.x、angular.y 无效 最终等效向前直行不转弯如果把话题改为/cmd_vel发送给亚博 M1 麦克纳姆轮小车小车会向前 向右斜向平移但是依然不会旋转angular.z0 angular.x1 angular.y1 依旧无效底盘驱动直接丢弃这两个值。4. 常见实操修正示范示例 1麦轮小车斜向移动无旋转有效指令bash运行ros2 topic pub --rate 10 /cmd_vel geometry_msgs/msg/Twist {linear: {x: 2.0, y: 1.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}示例 2小车前进同时左转最常用bash运行ros2 topic pub --rate 10 /cmd_vel geometry_msgs/msg/Twist {linear: {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.3}}核心总结机器人开发必记二维地面移动机器人只使用三个参数linear.xlinear.yangular.z。angular.x、angular.y、linear.z 永远填 0写了也不生效。额外小知识点停止小车通用指令所有底盘通用bash运行ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist {linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}