ubuntu24 图形界面操作,设置为局域网的服务器,通过交换机 实现多个计算机ROS2局域网通信
在 Ubuntu 24.04 Desktop 版本中,你可以完全通过图形界面(GUI)配置本地局域网和 ROS 2 通信。以下是详细步骤:
一、物理连接
-
用网线将所有电脑连接到同一个 Hub 或 Switch
-
确保每台电脑的网卡指示灯亮起(物理连接正常)
二、图形化配置静态 IP(每台电脑)
-
设置-网络-有线,点右侧 “+” 号
-
-
配置 IPv4
-
在 "IPv4" 选项卡中选择 "手动"
-
添加以下信息(以第一台电脑为例):
-
地址:
192.168.1.10 -
子网掩码:
255.255.255.0(或输入/24) -
网关:
192.168.1.1(可随意填写,因无外网) -
DNS:
8.8.8.8(可选)
-
-
点击 "应用"
-
-
为其他电脑分配不同 IP
-
第二台电脑:
192.168.1.11 -
第三台电脑:
192.168.1.12 -
...(依次类推)
-
三、验证网络连通性
-
打开终端(Ctrl+Alt+T)
-
测试 ping 连通性:
-
如果不通,尝试:
-
临时关闭防火墙:
sudo ufw disable -
检查网线连接
-
-
四、图形化设置主机名
-
打开设置:
-
点击左下角 "显示应用程序"(9个点图标)
-
搜索并打开 "设置"
-
-
修改主机名:
-
进入 "关于" 选项卡
-
点击 "设备名称"
-
为每台电脑设置唯一名称(如
ros-pc1,ros-pc2) -
需要重启生效
-
五、配置 ROS 2 通信
-
安装 ROS 2(所有电脑):
-
打开Terminal,鱼香一键安装:
wget http://fishros.com/install -O fishros && . fishros
-
-
设置环境变量(图形化方法):
-
打开 "文本编辑器"
-
编辑
~/.bashrc文件:sudo nano ~/.bashrc
-
在文件末尾添加(以第一台电脑、第二台电脑为例):
#电脑1:export ROS_MASTER_URI=http://192.168.1.10:11311
export ROS_IP=192.168.1.10
source /opt/ros/rolling/setup.bash
export ROS_DOMAIN_ID=6
export ROS_LOCALHOST_ONLY=0
#电脑2:export ROS_MASTER_URI=http://192.168.1.10:11311 export ROS_IP=192.168.1.11 source /opt/ros/rolling/setup.bash
export ROS_DOMAIN_ID=6
export ROS_LOCALHOST_ONLY=0 -
保存后,在终端运行:
source ~/.bashrc
设置防火墙,允许ROS2通信
sudo ufw allow11311
-
-
启动 ROS 2 测试:
-
在第一台电脑打开终端,运行:
ros2 run demo_nodes_cpp talker
-
在第二台电脑打开终端,运行:
ros2 run demo_nodes_cpp listener
-
如果第二台电脑能收到消息,说明配置成功!
-
六、图形化文件共享(可选)
-
设置共享文件夹:
-
右键要共享的文件夹 > "本地网络共享"
-
勾选 "共享此文件夹"
-
安装 Samba(如果提示):
sudo apt install samba
-
-
从其他电脑访问:
-
打开 "文件" > "其他位置"
-
输入:
smb://192.168.1.10(第一台电脑的IP)
-
常见问题解决
-
ROS 2 节点互相看不见:
-
检查所有电脑的
ROS_MASTER_URI是否指向同一台主控机 -
确保所有电脑的
/etc/hosts文件有彼此的主机名映射:sudo nano /etc/hosts添加:
192.168.1.10 ros-pc1 192.168.1.11 ros-pc2
-
-
防火墙阻挡:
-
打开 "防火墙" 设置
-
临时设置为 "关闭",或添加规则允许端口
11311 - sudo ufw allow
11311
-
总结流程图
[物理连接 Hub/Switch] → [图形化设置静态IP] → [设置主机名] → [配置ROS环境变量] → [启动talker/listener测试] → [成功通信]
通过以上图形界面操作,即使没有路由器,也能轻松搭建 ROS 2 多机通信环境!
网络IP查看与测试(如果需要)
调试脚本:
sudo netplan --debug apply
验证 IP:
ip a
ping 192.168.1.1 # 测试网关是否通
防火墙设置(如果需要)
允许局域网内访问:


浙公网安备 33010602011771号