【自动驾驶】ROS远程节点的分布式通信

目录

ROS是一个分布式计算环境。一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。

固定IP的设置

先要保证不同计算机处于同一网络中,最好分别设置固定IP,如果为虚拟机,需要将网络适配器改为桥接模式;桥接模式是路由器上的一种网络设置,它指示您的路由器停止充当路由器(一种分析、处理和引导网络流量的设备)并开始充当简单的直通设备(如网络交换机)。 实际上,从一侧进入的任何东西都会从另一侧直接流出,就像现实世界中通过物理桥梁的交通从河流的一侧传递到另一侧一样

所有端口上的所有机器之间必须有完整的双向连接。

每台计算机必须通过所有其他计算机都可以解析的名称来公告自己。

将IP地址改成手动

配置文件修改

分别修改不同计算机的 /etc/hosts 文件,在该文件中加入对方的IP地址和计算机名:

bash 复制代码
sudo gedit hosts

没有显示器直接用vim编辑

主机名称查询使用:

bash 复制代码
hostname

命令。

即新增了上图中第三行的内容。

两台计算机都要新增对方的ip和对应的主机名称。

重启后,host命令会生效。配置成功后,ping对方主机名,可以ping通。

配置主从机的~/.bashrc 文件

ROS系统中页多台计算机,只有一台启动有roscore,即为主机。

配置主机的 IP 地址

~/.bashrc 追加

bash 复制代码
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=主机IP

配置从机IP

配置从机的 IP 地址,从机可以有多台,每台都做如下设置:

~/.bashrc 追加

bash 复制代码
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP

即可实现分布式节点通信。

配置完后source ~/.bashrc

配置完成后即可实现主从机节点通信。

谁是主机,谁启动roscore。

相关推荐
m0_6501082410 小时前
【论文精读】CMD:迈向高效视频生成的新范式
人工智能·论文精读·视频扩散模型·高效生成·内容 - 运动分解·latent 空间
电鱼智能的电小鱼10 小时前
基于电鱼 AI 工控机的智慧工地视频智能分析方案——边缘端AI检测,实现无人值守下的实时安全预警
网络·人工智能·嵌入式硬件·算法·安全·音视频
年年测试10 小时前
AI驱动的测试:用Dify工作流实现智能缺陷分析与分类
人工智能·分类·数据挖掘
唐兴通个人11 小时前
人工智能Deepseek医药AI培训师培训讲师唐兴通讲课课程纲要
大数据·人工智能
共绩算力11 小时前
Llama 4 Maverick Scout 多模态MoE新里程碑
人工智能·llama·共绩算力
suuijbd12 小时前
SpringCloud+Netty集群即时通讯项目
spring boot·分布式·spring cloud·java-rabbitmq·java-zookeeper
DashVector12 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索
AI纪元故事会12 小时前
【计算机视觉目标检测算法对比:R-CNN、YOLO与SSD全面解析】
人工智能·算法·目标检测·计算机视觉
音视频牛哥12 小时前
从协议规范和使用场景探讨为什么SmartMediaKit没有支持DASH
人工智能·音视频·大牛直播sdk·dash·dash还是rtmp·dash还是rtsp·dash还是hls
赞奇科技Xsuperzone13 小时前
DGX Spark 实战解析:模型选择与效率优化全指南
大数据·人工智能·gpt·spark·nvidia