8290| 2
|
[人工智能机器人学导论] 6 反应范式 |
上一章节:《人工智能机器人学导论》-5 反应范式的生物学基础-本能释放、并发行为及其行为中的感知 《人工智能机器人学导论》-6 反应范式 概述 当前一定任务范围中的机器人系统仍在用反应式的结构来构造。另外反应范式形成了 反应-慎思混合范式的基础。这让研究反应范式变得十分重要。 通过对生态学的考察表明,智能体是一种垂直分解的分层结构,智能体从一个基本的生存行为开始,并逐步进化出新的行为层次。 这种层次或重用较低层次的行为,或抑制较低层次行为,或通过并行过程创建出更高级别的行为。并行过程的高级行为可以理解为各个层级堆叠起来的新层次。 每个层次都可以彼此独立的访问任何层次的传感器和执行器。当高层次的行为发生某些意外,低层次的行为仍旧可以正常运行。 传感器--->构建地图---> 执行器 3级行为 最高层的行为 ----------------------------------------- 传感器---> 探测 ---> 执行器 2级行为 ----------------------------------------- 传感器---> 漫游 ---> 执行器 1级行为 ----------------------------------------- 传感器---> 避障 ---> 执行器 0级行为 最低层的行为 Brooks、Arkin和Payton 的工作主要集中于对行为的定义和当周围的环境同时激活多个行为的怎器处理机制。Brooks 使用了一种叫做包容的方法并创建了一种类昆虫的机器人。 Arkin和Payton 使用了势场的方法着眼于软件的实现。 反应范式最初在那些机器人的传统用户那里遇到了强大的阻力,特别是军方和核能控制机构。这些客户对不严密的方式感觉不安,因为反应范式系统会将离散的行为结合起来形成新的行为。 特别是 反应式行为不能经受数字证明以表明对于当前任务是充分的和正确的。但是后来反应式行为的快速执行时间与灵活性使得它得到了用户的认可,研究人员转向混合范式以充分探索智能分层。 反应范式的特征 反应范式的基本特征是所有的动作都是通过行为来完成的。 从生态学系统观点来看,行为是用来完成任务的一种从传感器输入到动作模式的直接映射。 从数学的观点来看,行为仅仅是一个传递函数,负责把传感器输入变换为执行器命令。 按照本书观点,行为被处理为图式,它由至少一个运动图式和一个感知图式组成。运动图式包含了在实际执行器中生成动作的模式算法。而感知图式包含了抽取感知和强度的算法。 许多情况下一个行为有一个传感器和一个感知图式来实现,但是有的情况多个行为可以从一个传感器接收相同的输出,并用不同的方式对该信号进行处理。行为并不知道其他行为在做什么和在感知什么。更高层次的行为中一个感知图式融合多个传感器的输出变得相当有用。这样做能够增加精度,或者获得对激励强度更好的测量。只要传感器融合对于行为是局部的,这种融合则是允许的。 反应式行为的特征和内涵 内涵: 1、反应式无需处理器计算而快速的执行。 2、反应式机器人没有记忆,只是纯粹的激励-响应反射的行为。使用本能释放机制,而不是由程序存储并记忆机器人过去的行为所控制。 特征: 1、机器人是一种运行在小生态环境的在场智能体,机器人是环境的一步份,机器人有它的目标和意图。运行过程中它改变了外部环境。 2、行为是机器人动作的构建元素,机器人整体行为是自主的,没有一个控制器对所有行为进行控制以完成一项任务。机器人智能只体现在旁观者的眼里,而不是一段特定的代码。 3、系统仅允许局部的、行为相关的感知,例如对于避障行为,我们只需要将机器人作为中心测量障碍物的距离,而不需要知道障碍物在全局环境模型中的坐标。这样可消除创建新的环境模型所带来的那些不必要的处理过程。 4、这些系统本身全部遵循了优秀的软件设计原则,模块化、行为可以独立测试、原始行为可以融合后派生出新的行为。 5、行为的动物模型常常被引用为这些系统的基础,或者是某个特定行为的基础,反应范式把动物作为行为的集合用于参照研究。 行为编程的优点 符合软件工程的基本原理,具有天生的模块化特征,支持单元测试。行为也支持对机器人的能力扩增,可以通过拥有更多行为而变得更加聪明。 典型结构 机器人的总体动作产生于多个并发的行为。必须提供以下机制: 1、触发行为 2、确定多个行为被触发后会发生什么情况。 两个最著名的和形式化程度最高的两种反应式结构: 1、包容:主要是解决了行为之间道如何组合的问题。 2、势场:把行为按照势场来实现,然后通过对势场的求和来解决行为的结合问题。 包容结构 在包容结构中,行为是由可以完成任务的感知模块和动作模块所构成的一个网络。这些模块是一种增广有限状态机AFSM。用图式理论来说,包容行为实际上起到了把一个或多个图式收集起来生成一个抽象的行为的作用。包容结构的4个特点: 1、模块可以俺早能力层次进行分组,低层次封装基本生存功能,例如碰撞。高层次创造一些更加针对性的动作,例如绘制地图。 2、位于较高层次的模块可以覆盖或者包容相邻的低层次的行为输出。 3、避免了对内部状态的使用。 4、任务必须通过对适当的层次进行激活来完成。 包容结构的实例 机器人能够朝前运动并不与任何物体碰撞的行为可以用一个单一的级别来表示,记为第0级。本例中机器人具有多个声呐测距传感器指向不同方向,有两个执行器,一个驱动前进,一个驱动转向。声呐传感器负责读取距离,过滤噪声,并生成极坐标图。极坐标描述了声呐测定的距离数据(r,θ)。 当声呐读取的距离低于一个设定值,碰撞模块就声明一个碰撞事件并把它作为一个挂起信号发送给负责前进驱动的执行器。如果机器人正在运动,它就会停止。 感觉力模块也会接收到同样的极坐标数据。它将每个声呐读数当作被排斥的力量,并以向量形式表示,它包括幅值和方向。感觉力可以看作是每个声呐传感器的向量和,它形成了一个新的向量。这个排斥力向量被传给了转向模块,转向模块将向量的方向传给操舵执行器。转向模块同时也将向量传给前进驱动模块,前进驱动模块根据向量的幅值决定下一个前进运动的幅度(多远或多快)。因此机器人可以转向与运动一个很短的距离来绕过障碍物。 可以观察到的行为是,机器人如果在一个空旷的地点内,将会持续站立,直到一个障碍物接近它。如果障碍物在机器人的一边,机器人将会转向旋转180度的相反方向,并继续前进,实际是机器人走开了。人可以将机器人赶来赶去。 接下来我们增加第二层能力(第1级),这一层我们设计为机器人四处漫游而且还能够躲避障碍器。它每n秒计算出一个随机的前进方向。这个方向看作是一个向量。 现在的问题是什么时候从哪层接收前进方向向量。而包容使它得以简化:较高级的输出包容较低级的输出,包容的实现方法: 1、屏蔽:包容模块的输出连接着被包容模块的输出控制。包容模块被触发后将关闭被包容的模块输出。 2、抑制:包容模块的输出连接到被包容模块的输入,包容模块的输出会抑制被包容模块的输入量。将包容模块的输入换成了包容模块的输出。 接下来我们再增加第三层(第2级),允许机器人在走廊的中间行走。观察模块检查声呐的极坐标图和辨识走廊。辨识走廊比单纯的读取距离数据复杂的多,也更花时间。 观察模块将表示走廊中央指向的向量传递给停在中间的模块。停在中间的模块包容了漫游模块并将它的输出传递给躲避模块,从而能够在避障前转向。 《沿着走廊行走图》 集成模块:它代替了真实环境的反馈。如果观察模块不更新了那么机器人将永远运行于没有任何擦干圈数据的状态中。在这里集成模块在中间模块的抑制持续了n秒后还没有更新,抑制将会停止,机器人随之漫游。这样也可以解决失去信号的问题。 势场法 行为的势场方式通常应用向量来表示行为,并用组合不同行为的向量的求和来产生一个特定的行为。势场是向量的一个数组,包含幅值和方向。可以使用如下长度不一的箭头作表示,下面是5种基本势场: a: 显示了一个均匀场,机器人在均匀场里面,机器人总是使自己朝向箭头所指向的反向。 b:是一个垂直场,垂直于灰色面并指向朝外。 c:吸引场,场中间的圆圈表示了一个物体,该物体对机器人施加吸引力。当智能体精确的被光源或食物吸引时,吸引场可以用来表示趋向性或定向运动。可以看到里面的箭头短,外面的箭头长,这说明越靠近富有吸引力的物体 幅值越小。 d:排斥场,智能体需要走开的物体,例如障碍物。可以看到,距离越近排斥越强。 e:切线场。机器人围绕旋转。 单一势场编程 我们来考虑只有一个测距传感器的情况。可作如下公式: Vdirection = -180 Vmagnitude = (D-d) -------- , d <= D 当测量的距离d小于或等于安全距离D,机器人调头跑掉 D 0 , d > D 当测量的距离d大于安全距离D,机器人不动 下一章节:《人工智能机器人学导论》-7 反应式的设计和实现 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed