目录
ROS是一个分布式计算环境。一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。
固定IP的设置
先要保证不同计算机处于同一网络中,最好分别设置固定IP,如果为虚拟机,需要将网络适配器改为桥接模式;桥接模式是路由器上的一种网络设置,它指示您的路由器停止充当路由器(一种分析、处理和引导网络流量的设备)并开始充当简单的直通设备(如网络交换机)。 实际上,从一侧进入的任何东西都会从另一侧直接流出,就像现实世界中通过物理桥梁的交通从河流的一侧传递到另一侧一样
所有端口上的所有机器之间必须有完整的双向连接。
每台计算机必须通过所有其他计算机都可以解析的名称来公告自己。
将IP地址改成手动
配置文件修改
分别修改不同计算机的 /etc/hosts 文件,在该文件中加入对方的IP地址和计算机名:
bash
sudo gedit hosts
没有显示器直接用vim编辑
主机名称查询使用:
bash
hostname
命令。
即新增了上图中第三行的内容。
两台计算机都要新增对方的ip和对应的主机名称。
重启后,host命令会生效。配置成功后,ping对方主机名,可以ping通。
配置主从机的~/.bashrc 文件
ROS系统中页多台计算机,只有一台启动有roscore,即为主机。
配置主机的 IP 地址
~/.bashrc 追加
bash
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=主机IP
配置从机IP
配置从机的 IP 地址,从机可以有多台,每台都做如下设置:
~/.bashrc 追加
bash
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP
即可实现分布式节点通信。
配置完后source ~/.bashrc
配置完成后即可实现主从机节点通信。
谁是主机,谁启动roscore。