ROS分布式框架搭建
在ROS机器人分布式框架搭建时,Jetson nano作为主机,而PC作为从机。
1 主机配置
在实现分布式框架搭建前,我们还需要做些准备工作:为Jetson nano连接无线网络,并且设置固定IP,实现如下:
- 为Jetson nano连接无线网络;
- 为Jetson nano配置静态IP,具体操作如图:
2 ROS分布式通信
ROS是一个分布式计算环境,一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。因此,ROS对网络配置有某些要求:
- 所有端口上的所有机器之间必须有完整的双向连接。
- 每台计算机必须通过所有其他计算机都可以解析的名称来公告自己。
2.1 准备
先要保证不同计算机处于同一网络中,最好分别设置固定IP,如果为虚拟机,需要将网络适配器改为桥接模式;
2.2 配置文件修改
分别修改不同计算机的 /etc/hosts 文件,在该文件中加入对方的IP地址和计算机名:
主机端:
从机的IP 从机计算机名
从机端:
主机的IP 主机计算机名
2.3 配置主机IP
使用vi命令在~/.bashrc 后追加:
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=主机IP
2.4 配置从机IP
配置从机的 IP 地址,从机可以有多台,每台都做如下设置:
使用vi命令在~/.bashrc 后追加:
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP
2.5 测试
- 主机启动roscore,并启动乌龟节点。
- 从机启动键盘控制节点控制乌龟运动。
可以看到利用分布式框架可以实现在不同的设备控制机器人。