ROS Master IP

原文链接 :设定rosmaster的IP随电脑IP变化,自动设置ROS_MASTER_URI

原文全部转载,没有任何修改。方便查看,复制在下面。

前言


经常在~/.bashrc中设置机器人master的ip地址类似如下:

export ROS_MASTER_URI=http://192.168.0.206:11311

然而每次如果需要切换网络ip的地址,都需要到这边来修改maser的IP地址(如上192.168.0.206),很是麻烦,为了在修改网络ip后,只需要source ~/.bashrc就可以搞定ROS_MASTER_URI,不用进文件修改IP,需要先修改网卡名称,然后自动获取网卡ip地址作为ROS_MASTER_URI的地址。

修改网卡名称


参考:https://www.zhihu.com/question/45796677/answer/111267503
主要就是如下操作:

sudo gedit /etc/default/grub

找到GRUB_CMDLINE_LINUX=""改为:

 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

然后

sudo grub-mkconfig -o /boot/grub/grub.cfg

重启电脑后,网卡名称就会变成了我们熟悉的 eth0和wlan0

自动获取网卡ip地址作为ROS_MASTER_URI的地址

gedit ~/.bashrc

然后在需要获取IP的变量的前面(上方)(比如设置ROS_MASTER_URI的前一行)添加如下自动获取ip的命令,然后后面需要IP的变量用该ip:

ip=$(ip addr show wlan0 | grep -o 'inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | grep -o [0-9].*)

注意上面的wlan0是无线网卡的名称,看你ROS走的是无线还是有线了,如果是有线,则修改成:

ip=$(ip addr show eth0 | grep -o 'inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | grep -o [0-9].*)

这样就获取有线网卡的IP了。
接着,修改前面的export ROS_MASTER_URI=http://192.168.0.206:11311为:

export ROS_HOSTNAME=$ip
export ROS_MASTER_URI=http://$ip:11311

最后,每次变动ip后,只需要重新source ~/.bashrc即可,不用再在文件中修改ROS_MASTER_URI了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值