根据此博客解释,当一个作为Master的主机具有多个网口时,我们可以使用ROS_IP来指定指定网卡作为通讯链路。
注意:
当一个作为Master的主机具有多个网口时,我们可以使用ROS_IP来指定指定网卡作为通讯链路,但是不要选用WIFI(无线局域网)网段,即ifconfig查询为wl开头的网络。
因为一旦主机的wifi连接断开,master就会崩溃,假如此时机器人正在移动,会以master崩溃的前一个时间戳的话题/cmd_vel速度持续运动。
解决办法:建议主机使用系统IP作为ROS_IP,默认情况也是如此。
故此当选用机器人工控机作为Master时:
1、工控机的~/.bashrc文件不需要做额外的修改,即使用默认的127.0.0.1 localhost;开启launch文件后出现图中两句
2、开发者的笔记本需要在~/.bashrc 中添加以下两句
#开发者的ROS通讯链路
export ROS_IP=192.168.0.123
#机器人工控机Master通讯链路
export ROS_MASTER_URI=http://192.168.0.201:11311
配置ROS_IP工程化建议: