案例场景
随着机器人、智前化技术的快速发展,机器人操作系统(Robot Operating System,ROS)被广泛应用。某公司长期从事机器人产品研制工作,随着人工智能技术的成热,公司产品智能化改造得到公司领导层的高度重视。张工为公司提供了一份产品升级改造方案。
问题内容:
[问题1] (12 分)
在改造方案中,张工提到:关于软件平台的选型,鉴于公司长期使用开源 ROS 框架作为产品的软件平台,这次升级仍然需要保持开发人员习惯,使用ROS1 的升级版 ROS2 支持智能化的需求。而王工提出不同意见,指出前期使用段 ROS1时,已存在了众多不满足产品研制的问题,比如Master中心节点管理不合理、通信效率低等问题。张工逐一解释了ROS2 主要改进点。
(1)请概要说明 ROS 定义和特点。
(2)请说明 ROS2 相对 ROS1主要在哪些方面做了改进?
[问题2] (5分)
图1给出了 ROS2的软件架构,请简要说明 ROS2 软件架构各层的主要功能。

图1 ROS2 软件架构
[问题3](8分)
ROS2 提供了四种通信模型,即:话题(topic)通信、服务通信、动作通信和参数服务(见图2)。分析下列对四种通信模型的功能描述,请说明(1)~(4)的功能描述分别属于哪种通信模型?

图2 ROS2常用的四种通信模型
(1) 是一种基于共享的通信模型,在通信双方中,服务端可以设置数据,而客户端可以连接服务端并操作服务端数据。
(2)是一种单向通信模型,在通信双方中,发布方发布数据,订阅方订阅数据,数据流单方向的由发布方传输到订阅方。
(3)是一种带有连续反馈的通信模型,在通信双方中,客户端发送请求数据到服务端,服务端响应结果给客户端,但是在服务端接收到请求到产生最终响应的过程中,会发送中间连续的反馈(进度)信息到客户端。
(4)是一种基于请求响应的通信模型,在通信双方中,客户端发送请求数据到服务端,服务端响应结果给客户端。
试题答案:
[问题1]
(1)
ROS 的定义和特点:
定义:是一个专为机器人软件开发设计的开源的元级操作系统。它提供类似于传统操作系统的功能,如硬件抽象、底层设备控制、进程间消息传递和程序包管理等,并包含一系列工具和库,支持多语言编程,用于实现多机融合的程序开发和执行。
ROS 的特点主要包括:采用分布式架构实现模块化和可扩展性;支持多种编程语言以满足不同开发需求;提供丰富的工具集提高开发效率;拥有庞大的开源社区支持,促进共享和发展等。
(2)
ROS2 相对于 ROS1主要在以下几个方面进行了改进:通信机制上,ROS2采用了 DDS,实现了去中心化的发布/订阅模型,提高了系统可靠性;支持平台上,ROS2扩展到了多个操作系统,提供了更广阔的开发空间;实时性上,ROS2进行了优化,显著提升了实时性能;安全性上,ROS2加强了安全措施,提高了网络通信中的安全性;数据类型和序列化上,ROS2 使用了 DDS 的数据类型系统,支持更复杂的数据结构和数据类型;节点组织上,ROS2 允许节点独立运行或共享进程,提高了效率。
[问题2]
ROS2 的软件架构各层主要功能如下:
Aapplication Layer:提供基于 ROS2的应用程序和服务,利用ROS2的中间件功能实现特定的机器人功能或任务。
ROS2 Client Layer:提供 ROS2 的核心功能和API,包括节点管理、消息通信、服务调用等,是应用程序与底层通信机制之间的桥梁。
Abstract DDS Layer:为ROS2 提供与数据分发服务(DDS)无关的抽象接口,屏蔽
DDS 实现的细节,提高系统的灵活性和可扩展性。
DDS Implementation Layer:提供具体的 DDS 实现,负责数据的发布、订阅和服务调用等通信操作,是实现ROS2 通信机制的关键部分。
OS Layer: 为 ROS2 提供底层的操作系统支持,包括进程管理、内存管理、网络通信等,是 ROS2 运行的基础。
[问题3]
(1)参数服务
(2)话题通信
(3)动作通信
(4)服务通信
| 软考架构备考资料汇总 | ||
| 资料名称 | 资料价格 | 资源链接 |
| 2026年上半年 系统架构设计师考试简介 | 免费 | 点击获取 |
| 2025下半年系统架构设计师综合知识真题 | 免费 | 点击获取 |
| 系统架构设计师论文范文五篇 | 免费 | 点击获取 |
| 2025年下半年 系统架构设计师考情分析 | 免费 | 点击获取 |
| 系统架构设计师三色笔记 | 免费 | 点击获取 |
| 系统架构设计师案例题 | 免费 | 点击获取 |
| 2025年上半年系统架构设计师综合知识真题 | 免费 | 点击获取 |
| 更多软考架构备考资料请点此查看 | ||
精品课程:系统架构设计师报考指南 | 系统架构设计师备考攻略