2017年下午试题1分析与解答
试题三
阅读以下关于机器人操作系统架构的描述,回答问题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) 可能丢失数据
(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直接发送到另外两个节点。
(1)Registration (2)Data (3)Publish (4)Subscribe (5)Subscribe