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

简介: 本节书摘来自华章出版社《机器人编程实战》一 书中的第2章,第2.3节,作者:[美]卡梅伦·休斯(Cameron Hughes) 特雷西·休斯(Tracey Hughes)著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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

image

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

2.3.1 机器人的能力
1~4层级中的机器人词汇基本上是针对机器人的能力,即针对机器人的硬件,它可以采取什么样的行动以及如何实现这些行动。image
图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有一些态势要求机器人能够处理相关词汇,如下:
研究设施所处区域的大小
区域中容器的位置
区域中容器的大小
货架的高度
化学品类型等
image

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

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

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

相关文章
|
人工智能 关系型数据库 分布式数据库
沉浸式学习PostgreSQL|PolarDB 9: AI大模型+向量数据库, 提升AI通用机器人在专业领域的精准度, 完美诠释柏拉图提出的“知识是回忆而不是知觉”
越来越多的企业和个人希望能够利用LLM和生成式人工智能来构建专注于其特定领域的具备AI能力的产品。目前,大语言模型在处理通用问题方面表现较好,但由于训练语料和大模型的生成限制,对于垂直专业领域,则会存在知识深度和时效性不足的问题。在信息时代,由于企业的知识库更新频率越来越高,并且企业所拥有的垂直领域知识库(例如文档、图像、音视频等)往往是未公开或不可公开的。因此,对于企业而言,如果想在大语言模型的基础上构建属于特定垂直领域的AI产品,就需要不断将自身的知识库输入到大语言模型中进行训练。
1078 0
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
使用PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建文旅领域知识问答机器人
本次教程介绍了如何使用 PAI ×LLaMA Factory 框架,基于全参方法微调 Qwen2-VL 模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
使用PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建文旅领域知识问答机器人
|
11天前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
3月前
|
机器学习/深度学习 算法 机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
80 16
|
5月前
|
机器人
北大推出全新机器人多模态大模型!面向通用和机器人场景的高效推理和操作
【6月更文挑战第29天】北京大学研发的RoboMamba是新型机器人多模态大模型,融合Mamba SSM的高效推理与视觉编码器,提升复杂任务处理能力。通过微调策略,仅用少量参数即可快速习得操作技能,实现在通用及机器人场景的高效运行,推理速度提升7倍。尽管面临泛化和可解释性挑战,RoboMamba展示了多模态模型的新潜力。[论文链接:](https://arxiv.org/abs/2406.04339)
85 1
|
5月前
|
人工智能 小程序 机器人
开源一个RAG大模型本地知识库问答机器人-ChatWiki
准备工作 再安装ChatWiki之前,您需要准备一台具有联网功能的linux服务器,并确保服务器满足最低系统要求 • Cpu:最低需要2 Core • RAM:最低需要4GB 开始安装 ChatWiki社区版基于Docker部署,请先确保服务器已经安装好Docker。如果没有安装,可以通过以下命令安装:
306 0
|
6月前
|
人工智能 机器人 芯片
英伟达最强 AI 芯片、人形机器人模型炸场!黄仁勋放言英语将成最强大编程语言
在2024年的GTC大会上,英伟达创始人黄仁勋揭幕了新一代AI芯片Blackwell,号称是史上最强AI芯片,目标是推动AI领域的重大进步。
|
6月前
|
传感器 人工智能 自然语言处理
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
|
6月前
|
传感器 机器学习/深度学习 算法
植保机器人自主导航
植保机器人自主导航
72 1
|
6月前
|
人工智能 自然语言处理 机器人
自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人
如今,大模型层出不穷,这为自然语言处理、计算机视觉、语音识别和其他领域的人工智能任务带来了重大的突破和进展。大模型通常指那些参数量庞大、层数深、拥有巨大的计算能力和数据训练集的模型。 但不能不承认的是,普通人使用大模型还是有一定门槛的,首先大模型通常需要大量的计算资源才能进行训练和推理。这包括高性能的图形处理单元(GPU)或者专用的张量处理单元(TPU),以及大内存和高速存储器。说白了,本地没N卡,就断了玩大模型的念想吧。 其次,大模型的性能往往受到模型调优和微调的影响。这需要对模型的超参数进行调整和优化,以适应特定任务或数据集。对大模型的调优需要一定的经验和专业知识,包括对深度学
自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人