ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合,很多场景下节点可以运行在不同的平台上。但是ROS中只允许存在一个Master,在多机系统中,Master只能运行在一台机器上,其他机器需要通过ssh的方式与Master取得联系。以下进行一些配置。
1、设置ip地址
首先多机系统需要在同一网络下,使用ifconfig查看计算机ip地址。然后在/etc/hosts文件中分别加入对方ip地址和相应的计算机名:
sudo gedit /etc/hosts
设置完毕后分别在各台计算机使用ping测试网络是否连通
2、设置ROS_MASTER_URI
因为系统中只能存在一个Master,所以从机需要知道Master的位置。在从机上使用如下命令定义环境变量ROS_MASTER_URI
echo "export ROS_MASTER_URI=http://主机ip:11311" >> ~/.bashrc
3、多机系统测试
主机上运行小乌龟,从机查看话题信息。
roscore
rosrun turtlesim turtlesim_node
rostopic list