软考系统架构设计师案例分析例题+答案详解!

系统架构设计师 责任编辑:龙小林 2025-12-01

添加老师微信

备考咨询

加我微信

案例场景

随着机器人、智前化技术的快速发展,机器人操作系统(Robot Operating System,ROS)被广泛应用。某公司长期从事机器人产品研制工作,随着人工智能技术的成热,公司产品智能化改造得到公司领导层的高度重视。张工为公司提供了一份产品升级改造方案。

问题内容:

[问题1] (12 分)

在改造方案中,张工提到:关于软件平台的选型,鉴于公司长期使用开源 ROS 框架作为产品的软件平台,这次升级仍然需要保持开发人员习惯,使用ROS1 的升级版 ROS2 支持智能化的需求。而王工提出不同意见,指出前期使用段 ROS1时,已存在了众多不满足产品研制的问题,比如Master中心节点管理不合理、通信效率低等问题。张工逐一解释了ROS2 主要改进点。

(1)请概要说明 ROS 定义和特点。

(2)请说明 ROS2 相对 ROS1主要在哪些方面做了改进?

[问题2] (5分)

图1给出了 ROS2的软件架构,请简要说明 ROS2 软件架构各层的主要功能。

 image.png

图1 ROS2 软件架构

 [问题3](8分)

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

 image.png

图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)服务通信

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!