
【问题 1】参考答案
(1)ROS2 定义及核心特点
ROS2(Robot Operating System 2)是面向机器人开发的开源软件开发框架,并非独立完整操作系统,主要用于机器人感知、运动控制、路径规划、智能交互等模块开发,提供完整的节点管理、通信机制、开发工具链。
核心特点:支持硬实时运行、分布式架构、全平台适配、原生安全防护、支持多机器人协同、模块化组件化设计、基于DDS数据分发服务通信。
(2)ROS2 对比 ROS1 核心改进
① 底层通信升级:ROS1采用自定义通信协议,ROS2基于标准DDS数据分发服务,支持分布式组网、QoS服务质量策略,适配多机器人协同场景,通信稳定性、灵活性大幅提升。
② 原生实时能力:ROS1无原生实时调度能力,无法满足工业机器人硬实时需求;ROS2可对接实时内核,支持实时任务调度,适配工业级应用场景。
③ 跨平台能力增强:ROS1仅原生支持Linux系统;ROS2全面适配Linux、Windows、macOS及各类嵌入式实时操作系统,部署场景更广泛。
④ 内置安全机制:ROS2原生支持身份认证、数据加密、权限管控,可抵御数据窃取、非法访问;ROS1无任何原生安全防护能力。
⑤ 多机器人原生支持:ROS2天然支持多机器人组网协同,配置简单;ROS1多机器人部署配置复杂、兼容性差。
⑥ 架构轻量化:采用模块化组件化架构,各组件可独立编译、独立部署、独立迭代,降低开发和维护成本。
【问题 2】参考答案
(1)ROS2 四层架构及各层功能
① 应用层:承载开发者编写的机器人业务节点与应用程序,实现感知、控制、决策等核心业务逻辑。
② 客户端库层:包含rcl核心库、rclcpp/rclpy语言适配库,封装底层通信与调度接口,为上层业务提供节点、话题、服务等标准化API。
③ 中间件抽象层(rmw):DDS统一抽象层,屏蔽不同厂商DDS组件的实现差异,实现底层组件可替换、无感知适配。
④ DDS底层服务层:核心通信底座,负责节点自动发现、数据实时传输、QoS策略管控、通信可靠性保障。
(2)分层架构优势解析
分层解耦设计实现了业务与底层通信的隔离,上层业务代码无需依赖底层DDS实现,更换通信组件无需修改业务逻辑,灵活性极强;rmw抽象层屏蔽底层差异,大幅降低跨平台移植难度;各层级独立迭代扩展,新增功能可针对性适配对应层级,可扩展性突出;DDS底层可按需配置实时性、可靠性、吞吐率等QoS参数,精准适配不同业务场景,保障系统高效稳定运行。
【问题 3】参考答案
(1)发布/订阅(Publish/Subscribe)模型
(2)请求/服务(Request/Service)模型
(3)参数服务器(Parameters)模型
(4)动作(Action)模型
解析:发布订阅模型为一对多异步通信,适配传感器持续数据推送;服务模型为单次请求应答同步通信,适配单次指令交互;参数服务器用于全局静态配置的统一读写管理;Action模型适配长时间执行任务,支持进度反馈与任务取消,适配复杂机器人作业场景。