简介
ROS是一个分布式计算环境。一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信
准备工作
确保通信的设备处在同一个局域网内,最好采用静态IP地址 ps:如果为虚拟机,需要将网络适配器改为桥接模式
修改配置文件
分别修改不同计算机的 /etc/hosts 文件,在该文件中加入对方的IP地址和计算机名 基本步骤;
- 进入/etc目录
cd /etc
- 调用sudo修改配置文件
sudo gedit hosts
- 在配置文件中加入另一台通信设备的信息 ps:在另一台设备上输入hostname 在配置文件中加入:通信设备的ip地址 通信设备的名称
- 重启设备使得配置文件生效
- 测试设备能否正常通信
配置.bashrc文件
区分主机和从机:在主机上要启动roscore,而从机不需要
找到.bashrc文件
进入到主目录,在右上角勾选显示隐藏文件
修改配置
打开配置文件进行修改,在文档最后追加代码
-
主机
export ROS_MASTER_URI=http://主机IP:11311 export ROS_HOSTNAME=主机IP
-
从机
export ROS_MASTER_URI=http://主机IP:11311 export ROS_HOSTNAME=从机IP
生效配置文件
source .bashrc
测试
- 主机启动 roscore(必须)
- 主机启动订阅节点,从机启动发布节点,测试通信是否正常
- 反向测试,主机启动发布节点,从机启动订阅节点,测试通信是否正常
-
主机
//启动roscore roscore //启动小乌龟节点 rosrun turtlesim turtlesim_node
-
从机
//启动键盘控制节点 rosrun turtlesim turtle_teleop_key
现象
从机操作键盘可以实现对于主机的控制