当前位置: 首页 > article >正文

ROS分布式部署通信

   

目录

   

一、概念

二、设置 ROS 分布式网络

1. 环境要求

2. 主机(Master)设置 

3. 从机(节点设备)设置

4. 测试是否正常通信

三、进阶启动多从机节点(launch)。


一、概念

        ROS 分布式通信用于在多台计算机之间共享 ROS 话题(topics)、服务(services)和参数(parameters)。这在机器人系统中非常常见,例如:一台主控电脑(主机) 运行计算任务,多个机器人或设备(从机) 负责执行任务。        

        ROS 使用 ROS Master(roscore) 作为中央协调节点,所有 ROS 进程(节点) 需要与 Master 通信:ROS Master 运行在一台主机上,其他设备 通过 ROS_MASTER_URI 连接到 Master,节点之间直接 P2P点对点通信(数据流不经过 Master)

        适用场景:假设我们有一台PC虚拟机和一台树莓派,它们都运行相同的操作系统,并处于同一局域网中。在这种配置下,我们可以将树莓派连接到小车,利用树莓派来控制小车的运动。由于ROS采用基于节点的通信机制,我们可以将主节点运行在PC虚拟机上,而将树莓派上运行小车底盘控制节点。树莓派的主要职责是控制小车的运动,而其他计算任务和算法则由PC虚拟机上的节点来完成。这样,PC虚拟机作为控制中心,负责协调和处理其他任务,树莓派只需专注于执行小车的控制功能,无需承担其他计算任务。这种方式能够高效地分配任务,确保系统的协同工作,从而实现智能控制。

        解决问题:当从机数量增加时,这种分布式架构的优势更加明显。每个从机只需要专注于执行自己的基本任务,例如控制硬件或处理低层任务,而其他复杂的计算任务、算法处理等则由主机来完成。这样,不仅可以减轻从机的负担,还能够将计算密集型的任务集中在主机上,提升整个系统的效率和可扩展性。随着从机数量的增加,主机作为控制中心,能够协调更多的从机,确保系统的高效运行,而不需要为每个从机单独处理算法和计算任务。

        当我们使用第三方插件来进行地图建模或视频采集时,如果这些任务都在树莓派上运行,由于树莓派的硬件资源有限,可能会导致性能下降,甚至无法满足某些任务的需求。为了解决这个问题,我们可以采用分布式架构,将这些资源消耗较大的插件迁移到PC端运行,这样可以避免树莓派的性能瓶颈,确保系统的流畅运行。具体来说,树莓派可以专注于进行传感器数据采集和控制任务,而计算密集型的任务,如地图建模和视频处理,可以交给PC端处理,从而提高整个系统的效率,避免因树莓派资源不足导致的性能问题。

二、设置 ROS 分布式网络


http://www.kler.cn/a/581742.html

相关文章:

  • Oracle比较好的几本书籍
  • 云平台一键部署【SGLang】适用于大型语言模型和视觉语言模型的快速服务框架
  • 大语言模型(一) 初识大模型
  • 机器学习编译
  • BGP 规划问题、路由黑洞与环路
  • MySQL------存储引擎和用户和授权
  • kafka zookeeper 集群搭建
  • mysql的Innodb最大支持的索引长度是多少,以及索引长度怎么计算
  • 支持selenium的chrome driver更新到134.0.6998.35
  • 【语料数据爬虫】Python爬虫|批量采集会议纪要数据(1)
  • SpringMVC执行的流程
  • 上海市计算机学会竞赛平台2025年2月月赛丙组子矩阵和
  • 鸿蒙app开发中实现 底部抽屉效果动效
  • 7 Series FPGA DCI—Only available in the HP I/O banks
  • 【每日八股】Redis篇(五):应用(上)
  • spark yum配置
  • 【新人系列】Golang 入门(四):集合类型 - 上
  • Linux各种命令大全
  • Java快速实现安全可靠的 SMTP 邮件推送功能
  • 批量给 Excel 添加页眉页脚以及页码信息