解析:机器人系统架构有哪些特殊技巧?

行驶层(Pilot)(最低层)、导航层(Navigator)(中间层)、规划层(Planner)(最高层)。传感器获取的载体数据由下两层预处理后再到达最高“智能”层作出行驶决策,实际的行驶(如导航和低层的行驶功能)交由下面各层执行,最低层再次成为与小车的接口,将驾驶指令发送给机器人的执行器。

缺点:这种方法强调世界模型的构造并以此模型规划行动,而构造符号模型需要大量的计算时间,这对机器人的性能会有显著的影响。另外,规划模型与真实环境的偏差将导致机器人的动作无法达到预期的效果。

| 2.基于行为的结构

 解析:机器人系统架构有哪些特殊技巧?

图4 基于行为的结构

由于SPA系统过于死板,出现了另一种实现方法:基于行为的方法。基于行为方法前身是反应式系统,反应式系统并不采用符号表示,却能够生成合理的复合行为。基于行为机器人方案进一步扩展了简单反应式系统的概念,使得简单的并发行为可以结合起来工作。

小历史:Joe Jones和Daniel Roth于2003年出版的《Robot Programming:A Practical Guide to Behavior-Based Robotics》以及使用基于行为系统的iRobot扫地机器人的大获成功(通过基于行为的系统可有效实现遍历、避免在某处卡死等多个目标的达成),标志着当年基于行为系统结构的统治地位。短短十年间,SLAM的迅速兴起,基于地图的规划和导航再次兴起,很多人似乎忘记了或压根就没听说过Behavior-Based Robotics的存在。

解析:机器人系统架构有哪些特殊技巧?

图5 《基于行为的机器人编程》

基于行为的软件模型是一种由下至上的设计,因而其结果不易预测,每一个机器人功能性(functionality)被封装成一个小的独立的模块,称为一个“行为”,而不是编写一整个大段的代码。因为所有的行为并行执行,所以不需要设置优先级。此种设计的目的之一是为了易于扩展,例如便于增加一个新的传感器或向机器人程序里增加一个新的行为特征。所有的行为可以读取载体所有传感器的数据,但当归集众多的行为向执行器产生单一的输出信号时,则会出现问题。

最初的行为之间使用固定的优先级,而在现代的应用中则采用更加灵活的选择方案。

“基于行为机器人学”主要特点包括(参见《嵌入式机器人学》):

1)感应与动作的紧密耦合

在某种程度上,所有行为机器人的动作是对刺激的反应而不是依赖于有意识的规则。回避使用思考规划,取而代之的是一些计算简化的模块来实现从输入到执行的映射,此举有利于快速响应。基于这个观察Brooks言简意概的表达出来其中的原理——“规划不过是一种回避计算下一步要做什么的方法”。

2)避开知识的符号表示

对环境的处理上不需要构造一个内部模型以用于执行规划任务,而是采用真实世界“它自己最好的模型”。机器人直接从观测中获取到未来的行为,而非试图去生成一个能够内部操作的世界的抽象表示并以此作为规划未来行动的基础。

3)分解成具有因果意义的单元

行为按照状态——动作成对出现,设计为对特定的状态做出确定的动作响应。

4)并发关联行为的时变等级调整

为适应所要达成任务目的,在运行期间采用一个控制方案来改变行为的激活等级。

5)行为选择

在基于行为系统中运行着一定数目作为并行进程的行为,每一个行为可以读取所有的传感器(读动作),但只有一个行为可获得机器人执行器或行驶机构的控制权(写动作)。因此需要一个全局控制器在恰当的时机来协助行为选择(或是行为激活、或是行为输出融合)以达到预期的目的。这将系统的设计工作,就从描述系统本身转移到定义一个正常工作的系统的输出上。