【自动驾驶】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。

相关推荐
地平线开发者9 分钟前
LLM 量化技术概述及 AWQ 和 GPTQ 介绍
算法·自动驾驶
北数云16 分钟前
北数云v4.6.4 版本上线及域名切换通知
人工智能·开源·gpu算力·模型
小程故事多_8020 分钟前
从零吃透PyTorch,最易懂的入门全指南
人工智能·pytorch·python
AI科技星22 分钟前
统一场论中电场的几何起源:基于立体角变化率的第一性原理推导与验证
服务器·人工智能·线性代数·算法·矩阵·生活
晓晓不觉早24 分钟前
2026 AI 垂直领域展望:从通用到专精,场景深耕成破局关键
人工智能
lifetime‵(+﹏+)′24 分钟前
5060显卡Windows配置Anaconda中的CUDA及Pytorch
人工智能·pytorch·windows
老鱼说AI24 分钟前
万字长文警告!一次性搞定GAN(生成对抗网络):从浅入深原理级精析 + PyTorch代码逐行讲解实现
人工智能·深度学习·神经网络·生成对抗网络·计算机视觉·ai作画·超分辨率重建
START_GAME26 分钟前
深度学习环境配置:PyTorch、CUDA和Python版本选择
人工智能·pytorch·深度学习
Chlittle_rabbit28 分钟前
50系显卡在Ubuntu22.04环境下安装nvidia驱动+CUDA+cuDNN,anaconda下配置pytorch环境一站式解决方案(2025年7月版本)已完结!!!
linux·人工智能·pytorch·深度学习·ubuntu
大模型真好玩44 分钟前
LangGraph智能体开发设计模式(三)——LangGraph多智能体设计模式:主管架构与分层架构
人工智能·langchain·agent