Ubuntu16.04上的ros,在运行teleop_twist_keyboard显示错误

正常情况下不是应该teleop_twist_keyboard发布/cmd_vel的话题吗?为什么我这里会显示等待订阅/cmd_vel的话题呢?

 

本人所用环境配置:Ubuntu 20.04 + ROS Noetic

Problem: Waiting for subscriber to connect to /cmd_vel

原因:乌龟 GUI 和 键盘控制 的话题不同

键盘控制发布的话题不是 /cmd_vel 而是 /turtle1/cmd_vel

img

解决:可以通过在 launch 文件中添加 remap 标签改变发布或订阅的话题,使两者话题一致:

<remap from = "/turtle1/cmd_vel" to = "/cmd_vel">

再启动 launch 文件,打开GUI界面,并执行

rosrun teleop_twitst_keyboard teleop_twist_keyboard

会显示新的操作提示界面:

img

而后,便可以通过 提示的 key 控制 乌龟运动:

img

PS:操作确实更加丰富!

希望对你有帮助,祝好!