ROS使用手柄/cmd_vel无输出
问题:
正常情况下,将手柄连接到电脑后,运行节点teleop_twist_joy
。该节点应将/joy
话题的内容(也即手柄axis和button的输入值),转换为Twist
消息发送到/cmd_vel
。但是实际运行并拨动摇杆时发现/cmd_vel
无消息到达。
运行rosrun teleop_twist_joy teleop_node
,输出
[ INFO] [1718084776.733896419]: Teleop enable button 0.
[ INFO] [1718084776.734172301]: Linear axis x on 1 at scale 0.500000.
[ INFO] [1718084776.734179927]: Angular axis yaw on 0 at scale 0.500000.
解决:
参考teleop_twist_joy doesn’t publish,发现teleop_twist_joy
默认有一个使能按键,需按住该使能按键,同时拨动摇杆,才能进行有效的手柄信号输入。上面INFO提示使能按键是Button 0
(对应我的手柄是left button)。
此外,使用自定义的手柄程序时,应注意手柄轴和按键的映射配置。