2017年下半年 系统架构设计师 案例分析(试题三)

试题三

阅读以下关于机器人操作系统架构的描述,回答问题1至问题3

【说明】

随着人工智能技术的发展,工业机器人已成为当前工业界的热点研究对象。某宇航设备公司为了扩大业务范围,决策层研究决定准备开展工业机器人研制新业务。公司将论证工作交给了软件架构师王工,王工经过分析和调研,从机器人市场现状、领域需求、组成及关键技术和风险分析等方面开展了综合论证。论证报告指出:首先,为了保障本公司机器人研制的持续性,应根据领域需求选择一种适应的设计架构;其次,为了规避风险,公司的研制工作不能从零开始,应该采用国际开源社区所提供机器人操作系统 (Robot Operating System ,ROS)作为机器人开发的基本平台。

在讨论会上,架构师李工提出不同意见,他认为公司针对宇航领域已开发了某款嵌 入式实时操作系统,且被多种宇航装备使用,可靠性较高。因此应该采用现有架构体系作为机器人的开发平台。会上王工说明了机器人操作系统与该款操作系统的差别,要沿用需要进行改造,技入较大。经过激烈讨论,公司领导同意了王工采用 ROS的意见。

 

【问题1】(5分)

王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式, 使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。

 

参考答案:

ROS与嵌入式实时操作系统的共同点:

(1)系统微型化

(2)系统专用性强

(3)软硬件依赖性强

(4)系统资源受限

ROS与嵌入式实时操作系统的差异:

实性性:ROS弱于嵌入式实时操作系统

通信方式:ROS的通信方式较为丰富,嵌入式实时操作系统通信方式单一。

 

 

【问题2】(10分)

ROS为应用程序间通信提供了主题(Topic) 、服务 (Service)和动作 (Action) 三种消息通信方式,每种通信方式都有其特点。请将以下给出的三类通信的主要特点填入表3-1中(1)-(5) 的空白处,将答案写在答题纸上。

(a) 适合用于传输传感器信息〈数据流) 主题

(b) 能够知道是否调用成功 服务

(c) 一对多模式  主题

(d) 有握手信号  动作

(e) 服务执行完会有反馈 服务

(f) 可以监控长时间执行的进程 服务

(g) 较复杂 动作

(h) 可能让系统过载(数据太多) 主题

(i) 服务执行完之前,程序会等待 服务

(j) 建立通信较慢 动作

(k) 可能丢失数据 主题

 

2017年下半年 系统架构设计师 案例分析(试题三)

 

参考答案:

(1)(2)(c)(k)

(3)(4)(f)(i)

(5)(j)

 

 

【问题3】(10分)

ROS 的架构定义了ROS系统由多个各自独立的节点(组件〉组成,并且各个节点之间可以通过发布/订阅(Publish/Subscribe )消息模型进行通信。图 3-1给出一个简单机器人结构实例,请根据以下文字描述,补充图3-1 中(1)~(5) 处空白,将答案写在答题纸上。

"机器人开始阶段,所有节点都要注册 (Registration) 到Master上,注册后,摄像头节点声明它要发布(Publish)一个叫做/image_data的消息。另外两个节点(图像处理处理节点和图像显示节点)声明它们需要订阅( Subscribe) 这个/image_data消息。因此, 一旦摄像头节点收到相机发送的数据(Data),就立即将数据/image_data直接发送到另外两个节点。

2017年下半年 系统架构设计师 案例分析(试题三)

参考答案:(1)Registration (2)Data (3)Publish (4)Subscribe (5)Subscribe

 

 

本题知识点:

一,嵌入式系统

2017年下半年 系统架构设计师 案例分析(试题三) 二,机器人

2017年下半年 系统架构设计师 案例分析(试题三)

三,消息通信方式(主题、服务、动作 )的区别

2017年下半年 系统架构设计师 案例分析(试题三) 四:软件系统建模(数据流图)

2017年下半年 系统架构设计师 案例分析(试题三)