ROS 2的架构

ROS 2的架构如图所示,主要由系统层(OS Layer),DDS实现层,ROS 2 DDS接口层(Abstract DDS Layer),ROS2客户端层(ROS2 Client Layer)和应用层(Application Layer)等部分构成。

操作系统层(Operating System Layer):

该层对ROS 2提供了底层的系统支持,包括硬件抽象(Hardware Abstraction)、操作系统接口(Operating System Interface)等,是ROS 2运行所依赖的基础。ROS 2支持多种操作系统平台,包括Linux、Windows、macOS等。此外,为了适应在资源受限的微控制器(MCU)上运行ROS 2,ROS 2也提供了精减后的Micro-ROS。

DDS实现层(DDS Implementation Layer):

该层利用数据分发服务,提供了高性能、实时、可靠的数据通信机制,确保节点之间的消息传输效率和可靠性。ROS 2本身未指定DDS的实现,只要符合标准的DDS均可配置为ROS 2的通信后端,ROS 2默认使用eProsima Fast DDS作为通信后端。

ROS 2 DDS接口层(Abstract DDS Layer):

该层是机器人操作系统的核心层,负责对DDS实现层进行定制,实现ROS 2节点之间的通信机制,包括发布/订阅(Publish/Subscribe)、服务(Service)、动作(Action)等通信手段。ROS 2通过该层实现了机器人操作系统的核心功能,定义了节点、节点的运行方式和节点间的通信等功能。

ROS 2客户端层(ROS 2 Client Layer):

该层主要供了C++,Python,Rust等语言的API接口,屏蔽了ROS 2底层的实现细节,为开发者提供了简单易用的通信接口,开发者只需要调用相关方法或函数就能方便地和其他节点进行通信。

应用层(Application Layer):

该层是ROS 2架构的最上层,包括实际的机器人应用程序,例如导航、视觉处理、动作控制等。ROS 2广泛使用的原因之一就是在应用层存在大量优秀的第三方应用程序,在安装后仅需配置即可实现机器人的智能控制,例如控制机械臂的MoveIt 2和移动机器人导航的Nav 2等。在一般的情况下,开发者仅需利用ROS 2的API接口来编写节点,通过节点之间的通信实现机器人系统的整合,从而实现各种各样的机器人功能。

除以上几层,要使用ROS 2控制真实机器人,离不开硬件层(Hardware Layer)。

硬件层是机器人运行的物理硬件设备,包括传感器、执行器、嵌入式系统等。通过将硬件设备根据ROS 2的规范进行适配,并开发相应的驱动程序,ROS 2可以与各种硬件设备进行交互,实现对真实世界的控制与感知。硬件层的适配是将ROS 2系统与实际机器人硬件连接起来的关键步骤,ROS 2与各种硬件设备的兼容性使得机器人开发者可以灵活选择和组合不同的硬件组件,从而构建出形态多样,功能强大的机器人系统。

相关推荐
feasibility.2 分钟前
一台 2500 美元的开源双足人形平台 LeRobot Humanoid,正在让“教机器人走路”变成可复现的事
机器人·开源
考研保研资料分享1 小时前
自动化与机器人保研经验:四校夏令营笔面试、英语考核及复习规划(2025)
面试·机器人·自动化
zhangrelay17 小时前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
具身AGI18 小时前
人类演示补成机器人域,触觉共训才成立
机器人
山顶夕景20 小时前
【VLA】Qwen-VLA:VLM+DiT统一多模态理解与连续机器人动作生成
机器人·多模态·扩散模型·具身智能·vla·dit·vlm
mtouch33321 小时前
视频与三维场景融合投射系统解析:从地图标定到镜头参数调校的完整流程
人工智能·机器人·虚拟现实·电子沙盘·数字沙盘
黑妹天下第一乖1 天前
第08讲 · 视觉与相机流水:Spectra ISP 与实时检测
人工智能·嵌入式硬件·数码相机·机器人·接口隔离原则·iot
XMAIPC_Robot1 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
海盗12341 天前
AI 新闻日报 2026-10-05:三周重构 30 万行 / macOS 给智能体加权限锁 / 具身订单结构被摆上台面
人工智能·macos·重构·机器人·人工智能aigc
具身AGI2 天前
300 台机器人常驻乐园,具身智能开始算运营账
机器人