背景介绍:工作中使用ros进行开发时,出于实际需求,客户端和服务器端需要进行主从机配置。
以两台ubuntu系统电脑(分别对应客户端A电脑与服务器端B电脑)为例,下面介绍一下主从机配
置的详细步骤:(为了说明方便,主机:A电脑; 从机:B电脑)
1、设置IP地址
①首先需要保证主从机ROS 处于同一网络中,而且需要ROS主从机是处于同一网段的ip。
分别在A电脑和B电脑的终端中输入ifconfig
查看两台电脑的对应ip地址,结果如下:
A电脑:inet 10.1.132.41 netmask 255.255.224.0 broadcast 10.1.159.255
B电脑:inet 10.1.128.208 netmask 255.255.224.0 broadcast 10.1.159.255
②其次,使用ping命令测试两台电脑网络是否连通。分别在两台电脑终端输入ping命令:
A电脑:xxx@xxx:~$ ping 10.1.128.208
B电脑:dxh@dxh:~$ ping 10.1.132.41
2、修改/etc/hosts文件
接下来,分别修改A电脑和B电脑的/etc/hosts文件,在该文件中加入对方的ip地址和计算机名;
(注:ip地址通过终端输入命令ifconfig来查看,计算机名通过终端输入命令hostname来查看)
①A电脑(主机):添加从机的ip地址和hostname
A电脑中打开终端,输入命令:sudo gedit /etc/hosts,添加内容:
从机IP 从机hostname
这里对应的是B电脑信息:10.1.128.208 dxh
②B电脑(从机):添加主机的ip地址和hostname
B电脑中打开终端,输入命令:sudo gedit /etc/hosts,添加内容:
主机IP 主机hostname
这里对应的是A电脑信息:10.1.132.41 xxx
(注:建议主从机都要将对方的IP hostname添加到自己的 /etc/hosts 中,如果不添加,将无法反
向控制。比如主机的hosts文件中没有添加从机的信息,从机只能接收从主机发来的信息,而无法
向主机发送信息)
3、修改~/.bashrc文件
主从机都需要修改~/.bashrc文件,分别配置主从机的ip地址。
(注:.bashrc文件是隐藏文件,在主目录页面,按Ctrl+H快捷键即可显示出来)
①A电脑(主机):添加主机ip和主机hostname
export ROS_MASTER_URI=http://10.1.132.41:11311
export ROS_HOSTNAME=10.1.132.41
②B电脑(从机):添加主机ip和从机hostname
export ROS_MASTER_URI=http://10.1.132.41:11311
export ROS_HOSTNAME=10.1.128.208
(注:这里的ROS_MASTER_URI指明的是作为主机的IP,而设置 ROS_MASTER_URI 中的端口号
11311 是因为这是ROS默认使用的端口号,这样设置可以避免修改默认设置,减少配置错误的可能
性。你也可以将其设置为其他未被占用的端口号,只要确保双方都使用相同的端口即可)
4、测试验证
完成以上设置步骤后,通过简单的测试(ROS 内置小程序)来验证主从机是否配置成功。
①A电脑(主机)
A电脑中打开终端,运行:
roscore
rosrun turtlesim turtlesim_node
②B电脑(从机)
B电脑中打开终端,运行
rosrun turtlesim turtle_teleop_key
如果可以通过B电脑(从机)上键盘控制A电脑(主机)上的小乌龟移动,就说明配置成功!至此
主从机配置完毕。
以上就是ROS主从机配置的方法步骤,仅供参考,希望能对大家有所帮助。