ROS turtlesim 无法通过 键盘控制 turtle 移动

原因:

当我们在 single machine上进行试验时,如果出现了上述问题,除了指令输入错误、本地没该功能包,未选中 turtle_teleop_key终端进行操作等简单原因外,还有可能是

未正确设置环境变量 ROS_MASTER_URI, ROS_HOSTNAME

solutions:

vim ~/.basrhc

 打开文件 .bashrc, 在文件末尾加上

export ROS_HOSTNAME=ubuntu.local
export ROS_MASTER_URI=http://ubuntu.local:11311

 【ESC】, win + : , wq, [ENTER]保持

 并注释掉其他 ROS_HOSTNAME, ROS_MASTER_URI的条件变量。

查看文件 /etc/hosts,其中需要有 环境变量名和IP地址的映射。例如:

此处,左侧为IP Address,右侧为你的环境变量名。通常情况下,不同机器的IP地址并不相同,同一台机器,连接不同网络时,IP地址也不相同。所以需要你在终端,使用指令 ifconfig 查看信息,如图

此处,我连接当前网络时,IP Address为 192.168.1.226。

至于信息中的 lo 数据段,它表示本地地址,127.0.0.1。

对于初学者,对于单机试验,只要确保文件 /etc/hosts中存在 127.0.0.1 localhost就行。

再重新在两个终端中先后运行指令

rosrun turtlesim turtle_teleop_key
rosrun turtlesim turtle_teleop_key

link

参考连接是 ros2 场景,使用环境变量ROS_DOMAIN_ID,但原理一致。
[Rolling] Cannot use turtle_teleop_key arrow keys · Issue #117 · ros/ros_tutorials · GitHub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值