ROS学习(2):多机通信的网络配置

ROS具有强大的分布式架构和网络通讯,可实现多机通信。

台式机:主机,用rviz监控和无线操作移动机器人;  名称:desktop
笔记本:从机,通过ROS实现移动机器人的自主定位和路径规划等程序;名称: laptop
两台电脑共用一个无线routor,处于同一个subnet中。

(1)查看IP地址

$ifconfig 查看IP地址: 
   台式机 IP:192.168.1.110
   笔记本 IP: 192.168.1.111
eth0为有线,wlan0为无线

$hostname
   台式机名: desktop
   笔记本名: laptop
  采用Zeroconf 名(hostname.local代替机器的ip地址
$ ping ip
$ sudo service avahi-daemon restart (重新连接)

(2) 设置环境变量
$gedit ~./bashrc
台式机的配置:
    export ROS_MASTER_URI=http://.local:11311
export ROS_IP=master.local
笔记本的配置:
export ROS_MASTER_URI=http://master.local:11311
export ROS_IP=slaver.local

(3)修改/etc/hosts文件
在rostopic list中可以看到topic后获取其数据。
$sudo gedit /etc/hosts 从第三行添加内容
desktop的hosts文件中添加 192.168.1.111 slaver
laptop的hosts文件中添加 192.168.1.110 master
重启网络:$sudo /etc/init.d/networking restart

(4)SSH远程操作
实现两机同步:sudo apt-get install chrony 
sudo apt-get install openssh-server 
笔记本ping台式机:
ssh laptop
ping desktop
参考:
(1) R. Patrick Goebel《ROS by example 1》      
(2) 官网ROS Networking的基础教程

export ROS_MASTER_URI=http://master.local:11311export ROS_IP=nico.local

你可能感兴趣的:(ROS学习)