《机器人编程实战》一一2.3 自主机器人的ROLL模型

2.3 自主机器人的ROLL模型

你将如何使用它的基本能力来描述机器人?你将如何描述机器人在给定态势或场景中所扮演的角色?设计并实现以上任务,这就是编程自主机器人的全部工作。简言之,要想编程一个机器人,你需要能够描述:
做什么
何时去做
何地去做
怎样去做
同样重要的是对机器人描述“它”是什么,“何时”或“何地”指的是什么。正如我们所看到的,这就要求几个层级的机器人词汇。
按照我们的设想,一个自主机器人的机器人词汇分为7层,我们称之为机器人本体语言层级(Robot Ontology Language Level,ROLL)模型。图2-4展示了ROLL模型的7个层级。
注释
本书中,我们使用本体这个词作为一个机器人场景或态势的描述。

图2-4 自主机器人ROLL模型的7个层级
现在,我们只关注那些可能出现于7个层级之中任何位置的机器人编程。这7个层级大致可以分为两组:
机器人能力
机器人角色
小贴士
把ROLL模型放在便于查看的位置,因为我们会经常参考它。

2.3.1 机器人的能力
1~4层级中的机器人词汇基本上是针对机器人的能力,即针对机器人的硬件,它可以采取什么样的行动以及如何实现这些行动。图2-5显示了这些语言层级是如何相关联的。
层级4的机器人词汇由层级3的指令实现,我们稍后会进行延伸。根据层级4的机器人基本词汇,我们使用层级3的指令去定义我们想要表达的东西。正如你所记得的,层级3的指令(第3代语言)经由解释器或编译器转换为层级2或层级1的微控制器指令。
2.3.2 场景和态势中的机器人角色

图2-4所示机器人的ROLL模型的5~7层级负责给予机器人关于特定场景和态势指令的机器人词汇。自主机器人执行特定场景或态势中的任务。
我们以第1章中图1-9的生日机器人BR-1为例。我们设定一个生日聚会场景,机器人的任务是点燃蜡烛并且在聚会结束后清除盘子和杯子。
一个态势是场景中一个事件的快照。比如,生日聚会机器人BR-1的一个态势是桌子上一个未点燃蜡烛的蛋糕,另外一个态势是机器人走向蛋糕,还有一个态势是定位打火机与蜡烛的距离,等等。任何场景都可以视为一个许多态势的集合,当把所有的态势组合在一起时就是一个场景。对于一个给定的场景,如果机器人正确执行其角色中的所有任务,那么我们就认为它是成功的。
层级5的态势词汇
层级5是描述场景中特定态势的词汇。让我们一起看下第1章中机器人场景1的一些态势:其中Midamba发现自己处于困境;在一个研究设施里有机器人和化学品;一些化学品是液体,其他的是气体;有些机器人是移动的,其他的没有;研究设施有一定的规模、货架和容器;机器人位于设施中它们的指定位置。对于Midamba的困境,利用层级5的词汇,图2-6给出了一些必须定义的东西。
在场景1中,Midamba有一些态势要求机器人能够处理相关词汇,如下:
研究设施所处区域的大小
区域中容器的位置
区域中容器的大小
货架的高度
化学品类型等

图2-6 层级5词汇描述的态势特性
注释
注意,描述这些特性的机器人词汇不同于那种描述机器人基本能力的词汇。在一个机器人采取每个行动之前,我们可以描述当前态势。在该机器人采取每个行动之后,我们可以描述当前态势。一个机器人采取的行动总是以一种或更多方式改变态势。

层级6的任务词汇
层级6的词汇类似于层级4的词汇,因为它描述了机器人的行动和能力。差异表现为层级6的词汇所描述的行动和能力是态势的具体特征。
例如,如果Midamba获取了表2-1能力矩阵中所列硬件配置的Unit2机器人,一个合适的任务词汇将支持如下指令:
行动1——扫描货架而寻找一罐蓝色的油
行动2——测量油的等级
行动3——如果它是A级且至少包含2夸脱,取走这罐油
注释
注意,所有行动都涉及一个特定态势的词汇具体说明。因此,层级6的任务词汇可以看作层级4词汇的一个态势具体说明。

层级7的场景词汇
我们的机器人程序员新手Midamba面对这样一个场景:研究区域中的一个或多个机器人必须识别某种可以帮助他给原电池充电或中和备用电池上的酸的化学品。一旦识别出该化学品,机器人必须取回交给他。态势中的一系列任务构成了该场景。Unit2的场景词汇综合起来描述如下:
Unit2,从你当前位置开始扫描货架,直到你找到一个可以为我的原电池充电或清除我备用电池上酸的化学品,然后取回该化学品并将它交给我。
理想的情况下,层级7的机器人词汇允许你编程机器人以直截了当的方式去完成这个任务集。实用的自主机器人必须有某种有用和有效的层级7词汇。
图2-7给出了机器人词汇5~7层级之间的联系。
5~7层级的词汇允许程序员在一个给定态势和场景中描述机器人的角色,以及机器人将如何完成这个角色。

时间: 2024-12-26 09:19:03

《机器人编程实战》一一2.3 自主机器人的ROLL模型的相关文章

《机器人编程实战》一一1.2 给机器人指令

1.2 给机器人指令 如果我们希望一个机器人在某个场景中扮演某个角色,我们如何告诉它该做什么?我们如何给它指令?机器人编程会回答这些问题,其过程充满了冒险.挑战.奇迹.担忧和可能的遗憾.人类使用自然语言.手势.肢体语言和面部表情沟通:而机器人是机器,只能理解微控制器的机器语言.难点就在于此:我们说话和交流是一种方式,而机器人沟通是另一种方式,我们目前还不知如何创造能够理解人类语言和行为并与人类直接交流的机器人.因此,即使我们拥有一个机器人,它具有传感器.末端作用器以及按照我们要求做事的能力,但我

《机器人编程实战》一一1.1 定义机器人的7个标准

1.1 定义机器人的7个标准 在开始着手于机器人编程任务之前,需要明确是什么让一个机器人能真正被称作机器人.那么,什么时候才能让一个自操作的软件控制装置有资格成为一个机器人呢?在ASC(Advanced Software Construction公司,作者为机器人和软件机器人打造智能引擎的地方),一台机器需要满足以下7个标准: 1.?通过编程,应具备以一种或多种方式感知外部或内部环境的能力. 2.?其行为.动作和控制是执行一组程序指令的结果,并可重复编程. 3.?通过编程,应具备以一种或多种方式

《机器人编程实战》一一2.1 为什么需要更多努力

2.1 为什么需要更多努力 通常需要通过几条机器人指令来实现一条高级或人类语言指令.例如,下面这条简单且单一的人类语言指令:机器人,握着这罐油该指令涉及机器人的几条指令.图2-2显示了基本通用机器人转换器(Basic Universal Robot Translator,BURT)的一个部分转换,分别将这条指令转换为可以传递给机器人的Arduino sketch代码(C语言)和RS Media(来自Wow Wee公司的两足机器人,使用嵌入式Linux的ARM9微控制器)代码(Java语言). 图

《机器人编程实战》一一2.2 确定动作

2.2 确定动作提出机器人词汇的初始步骤之一是创建能力矩阵,然后基于该矩阵确定机器人可以执行的各种动作.例如,在表2-1示例中,可能列出的动作为:扫描举起捡起前进停止连接断开放下降落向前移动向后移动最后,通过扫描.传送.连接等,我们必须告知机器人我们的意图.我们认为Unit2有潜能能够扫描一罐蓝色的油."蓝色罐装油"在何处符合我们的基本词汇?虽然表2-1说明我们的机器人有颜色传感器,但是能力矩阵里没有任何关于罐装油的东西,这就将我们带入本书的另一个重点:一半的机器人词汇是关于机器人的情

《机器人编程实战》一一2.4 下文预告

2.4 下文预告 本书第1部分专注于编程机器人的能力,如传感器.动作和末端作用器编程.第2部分专注于编程机器人执行特定态势或场景中的角色.记住,你可以在任何语言层级上对一个机器人编程.有时,有些编程工作可能已经提前完成.但是真正在某个场景中成功对自主机器人编程需要一个合适的ROLL模型并逐一实现.在我们更加详细地描述Midamba的机器人和它们的场景之前,我们将在第3章中描述如何进行机器人场景图形规划.

《机器人编程实战》一一3.1 建立场景地图

3.1 建立场景地图 RSVP的第1部分是一个场景地图.地图是将要发生的任务和态势所在环境的符号化表示.场景环境是机器人在其中运行的一个世界.图3-1展示了NXT Mindstorms机器人的经典试验台. 图3-1所示的试验台是Mindstorms机器人套件的一部分.试验台呈长方形,约0.6m宽.0.76m长.试验台上有16种颜色和38个部分重复的数字.试验台上有一系列直线和弧线,还有黄色.蓝色.红色和绿色的正方形以及不同区域其他颜色的形状.这个试验台是机器人的世界或环境,用于NXT Minds

《机器人编程实战》一一第2章 机器人词汇

**第2章机器人词汇**机器人感受训练课程2:机器人的动作只会和描述这些动作的指令一样好.机器人也有语言,它们讲的是微控制器语言.人类讲的是自然语言(如广东话.约鲁巴语.西班牙语).我们使用自然语言相互交流,但是与机器人交流,我们要么建立机器人理解的自然语言,要么以机器人可以处理的语言寻找某种可以表达我们意图的方式.目前,构建可以充分理解自然语言的机器人只取得了一点进展.因此,我们的任务是寻找以自然语言之外的其他语言来表达我们的指令和意图.回忆一下解释器和编译器的角色(先前图1-10所示,这里图

《机器人编程实战》一一3.3 目标和机器人状态图

3.3 目标和机器人状态图 状态图是状态机的一种可视化方式. 注释 状态机是在一个环境中单一机器人或物体的行为模型.状态是当某事发生时机器人或物体所经历的转换. 例如,"状态改变"可以简单看作位置的改变.机器人从它的初始位置走到桌子旁边的位置就是一个机器人的状态改变.另外一个例子是生日蜡烛从未点燃状态到点燃状态的改变.状态机捕捉事件.转换并响应.状态图是这些活动的一个图解.状态图用于捕获目标在场景中的可能态势.正如你在第2章所学到的,一个态势是场景中一个事件的快照.BR-1可能的态势为

《机器人构建实战》——1.5 机器人组织及竞赛

1.5 机器人组织及竞赛 1.5.1 RoboCup 机器人足球世界杯(Robot World Cup,RoboCup)是一个国际性的研究和教育组织,通过提供一个标准问题来促进人工智能和智能机器人的研究.1992年10月,在日本东京举行的"关于人工智能领域重大挑战的研讨会"上,研究人员对制造和训练机器人进行足球比赛以促进相关领域研究进行了探讨.1996年,RoboCup国际联合会成立,并在日本举行了表演赛,以后每年举办一届. RoboCup选择足球比赛作为基本的领域,所以RoboCup