一、网络基础配置
设备连接 - 将所有需要互联的设备(如PC、树莓派、传感器等)通过有线(网线)或无线(Wi-Fi)方式连接至同一网络。
- 确保设备在同一子网内,例如子网掩码为255.255.255.0。
IP地址设置
- 为每个设备分配静态IP地址,避免使用DHCP。例如:
- PC1: 192.168.5.254
- PC2: 192.168.5.255
- 传感器: 192.168.5.48
- 在路由器后台启用桥接功能,将副路由器的LAN口与主路由器LAN口相连。
二、ROS网络配置
主机名与ROS_MASTER_URI设置
- 在每台设备上编辑`/etc/hosts`文件,添加以下行:
```
192.168.5.254 qian-hw
192.168.5.255 laptop
192.168.5.48 RV1126
```
- 设置ROS主机名(如`qian-hw`)和ROS Master URI:
```bash
export ROS_HOSTNAME=192.168.5.254
export ROS_MASTER_URI=http://192.168.5.254:11311
```
- 重启ROS服务:
```bash
sudo systemctl restart roscore
```
设备特定配置
- 查看设备信息: 通过`rostopic list`或`rostopic info /`命令确认设备被正确识别。 - 设置IP地址
```bash
sudo ifconfig eth0 192.168.5.48 netmask 255.255.255.0
```
- 配置无线设备(如Wi-Fi):在路由器后台设置桥接模式,将无线网卡添加到桥接接口。
三、通信与调试
基本通信测试 - 使用`ping`命令测试设备间连通性:
```bash
ping 192.168.5.255
```
- 在PC1上运行`rostopic pub /test_topic data String "Hello ROS"`,PC2上使用`rostopic sub /test_topic`订阅消息。
防火墙与网络策略
- 关闭防火墙(如`ufw disable`)或允许ROS相关端口(如11311)。
- 确保设备间网络策略允许通信(如NAT模式需谨慎配置)。
四、扩展与优化
动态IP处理: 若设备IP为动态分配,可使用`hostnames`文件或DHCP服务器管理IP映射。 多设备组网
无线网络扩展:配置无线桥接实现更大覆盖范围。
注意事项
IP冲突:避免设备IP冲突,建议使用子网掩码255.255.255.0或更小网络。
权限问题:部分操作需管理员权限,建议使用`sudo`执行。
版本兼容性:确保ROS版本与硬件驱动兼容,必要时更新系统及ROS包。
通过以上步骤,可实现多台设备通过ROS桥接实现稳定通信,适用于机器人网络、传感器数据采集等场景。