访问支持中心 访问支持中心 查找经销商 查找经销商 联系我们 联系我们

AMR 导航聚焦--决策与安全

博客 2024 年 10 月 15 日

欢迎来到 AMR 导航聚焦系列的第八篇博客,我们将在这里重点介绍 AMR 决策与安全。点击 阅读本系列的上一篇博客讨论规划和控制机制。

在本系列聚焦中,我们提到了机器人控制堆栈中的许多不同元素。 感知, 导航路径规划等等。现在我们来看看可以说是整个操作的大脑的模块--决策模块。

 

什么是机器人决策和安全?

决策模块包含高级智能和逻辑,可决定自动移动机器人如何 自主移动机器人在各种情况下的行为方式。一般来说,该模块包含一个单独的框架,用于检查特定条件,然后根据这些条件是否存在告诉机器人如何应对。

该框架将管理机器人所做的一切,无论是简单的路径跟踪、障碍物识别,甚至是摘花。它将利用其他各种模块收集到的数据,并可根据需要变得既简单又复杂。

为了帮助您将其与我们写过的其他内容联系起来,在OxTS的原型控制堆栈中,决策框架位于控制器和机器人执行器之间。因此,控制器会提出将机器人移动到下一个航点的指令,决策模块会决定移动是否安全,然后机器人就会移动。你可以对流程中的不同元素进行不同的排序,但我们选择这种方式有两个原因。首先,我们希望确保在执行之前满足所有的决策条件,这就是为什么不在执行器之后进行决策。其次,我们希望避免机器人做出与决策制定结果不同的任何事情,这就是为什么它是在执行前最后处理的事情。

 

带 QR 码定位功能的 AMR

 

AMR 决策和安全与人工智能

目前,有关人工智能及其在机器人控制系统中的应用潜力的文章很多。为了帮助您将 AMR 决策制定与人工智能联系起来,您可以将人工智能视为自动为 AMR 创建完整控制框架的一种方式,并有可能根据新事件不断更新该框架。尽管如此,许多被吹捧为人工智能的东西实际上是一个极其复杂的框架,它在模仿智能方面比不那么先进的框架做得更好,但它仍然是由人类创建的,没有(或只有非常有限的)自我编辑能力。

 

为什么决策对自主移动机器人很重要?

简而言之,决策是 "AMR "中的 "A"。它能让机器人在没有人类输入的情况下执行任务并对事件做出反应。决策模块还能使机器人更加安全,只要框架中包含了旨在帮助机器人应对障碍物或偏离路径等风险的元素。事实上,根据良好的决策理论,任何 AMR 控制框架在设计时都应首先考虑安全性。毕竟,最糟糕的情况可能是 AMR 对人、其他财产或自身造成损害。

决策制定所面临的挑战在于,设计者必须设法捕捉到需要做出决策的所有情况,无论是为了保持安全运行,还是为了完成工作。这需要丰富的想象力和创造力,以及多位负责人的通力合作,才能完善一个能够处理任何情况的机器人控制框架。

 

决策框架的类型

正如您所预期的那样,为 AMR 建立决策框架有不同的方法。现在我们就来逐步介绍一下。如果您曾经从事过物理模拟或视频游戏编程工作,您可能会认识其中的一些系统--它们都是一样的。无论您是在帮助机器人决定如何应对突如其来的障碍物,还是在模拟中决定粒子的反应,抑或是在视频游戏中决定 NPC 的行为,这些原则都是适用的。

我们将用一个非常简单的决策逻辑示例来演示所有这些系统。实际上,你的逻辑会复杂得多--但出于教育目的,还是简单点好。

 

框架 1:有限状态机

有限状态机(或简称状态机)由若干状态组成,用圆圈表示,箭头表示从一个状态到另一个状态所需的特定条件。

在 AMR 中,状态是机器人采取的行动,而条件通常是来自其他系统或用户的输入。请看这个例子:

 

 

机器人的起始状态是 "启动"。要从这个状态进入下一个状态 "继续沿着路径前进",用户必须告诉机器人可以开始移动了。从这个状态开始,有三种可能的情况:

  1. 未检测到障碍物:机器人继续沿着路径前进。
  2. 检测到障碍物:机器人停止。
  3. 用户告诉机器人停止:机器人停止。

从 "停止机器人 "状态开始,用户必须告诉机器人可以再次自由移动,它才会重新开始沿着路径前进。正如我们所说,这只是一个简单的例子;在现实中,一旦机器人像这样停下来,您还可以加入其他条件,让它重新开始沿着路径前进,例如 "重新计算路线"。

虽然状态机的构建相对简单,但对于存在大量不同条件和状态的复杂情况,状态机可能会变得非常复杂。

 

框架 2:决策树

我们可以想象,这就是我们最熟悉的系统。决策树由行动节点(用矩形表示)、决策节点(用圆形表示)和分支(用箭头表示)组成。下面是将上一节中的相同逻辑转换成的决策树:

 

 

决策树的一大优势在于,它可以创建一个决策层次结构,用于指导机器人的操作。不出所料,我们将用户放在了最上面--在用户告诉机器人可以开始移动之前,机器人什么都不能做。之后,它会检查是否有障碍物,只有在没有障碍物的情况下才开始沿着路径前进。决策树以设定的时间间隔运行--例如,没有必要在树上添加多个 "检测到障碍物 "的决策节点。

希望你会同意,决策树呈现的逻辑与状态机相同,但更简单。这意味着使用决策树可以更容易地创建更复杂的逻辑。但是,如果复杂度提高了,你还可以使用第三个框架:行为树。

 

框架 3:行为树

行为树看起来与决策树非常相似,但工作原理却大相径庭。虽然行为树仍具有管理机器人行为的节点层次结构,但它包含不同类型的节点,可让您控制机器人内部的决策流程。让我们来看看行为树中的逻辑示例--添加了一些内容来演示所有概念:

 

 

我们这里有三个不同的组成部分:

  1. 顶部的起始节点(带有 ø 符号)就是树的起点。
  2. 然后,我们就有了一个流量控制节点(也称为复合节点),这是一个可以有一个或多个子节点的节点。有两种类型:序列节点(带 → 符号)和选择器节点(带 ? 符号)。
  3. 在流量控制节点下面,我们有叶节点。叶节点没有子节点,它们要么是查询,要么是机器人执行的操作。

所有三种类型的节点都有三种状态:运行、成功或失败。就像决策树一样,机器人一旦沿着决策树运行,就会以规定的时间间隔重复这一过程。

 

序列节点与选择器节点

这些节点都从左到右处理其下的子节点,但它们对这些子节点的结果的反应方式不同。

只有当所有子节点都返回成功结果时,序列节点才会返回成功结果。如果任何子节点返回失败结果,序列节点将停止处理子节点并返回失败结果。

而选择器节点一旦从子节点获得第一个成功结果,就会返回成功结果,并停止处理其他子节点。

那么,让我们来看看我们的行为树:

  • 首先是启动节点。简单!
  • 接下来是一个序列节点。这意味着它将从左到右运行其下的每个子节点,直到所有子节点都返回成功结果才会停止。
  • 第一个子节点是 "继续沿着路径前进"--于是机器人出发了。
  • 一旦机器人开始移动,第一个节点就会返回 "成功 "结果--于是序列节点就会继续处理它的第二个子节点:选择器节点。
  • 选择器节点将从左到右处理它的每个子节点--寻找障碍或停止命令。如果其中任何一个节点返回成功结果,选择器节点也会返回成功结果。
  • 如果出现这种情况,序列节点就会处理其第三个子节点,并停止机器人的运行。否则,机器人继续前进。

因此,这棵树可以确保机器人在收到指令之前不会移动,然后确保一旦它移动起来,就会在检测到障碍物、偏离路径或到达目标时停止。不错吧?

这种组合(和嵌套)控制流节点的能力,使行为树成为设计真正复杂行为的绝佳工具。

 

OxTS 原型决策者

对于我们自己的机器人,我们选择使用决策树。这符合著名的 KISS 原则--"保持简单,傻瓜!"。我们希望设计一系列分层的条件,机器人必须满足这些条件才能沿着路径前进;而行为树的复杂程度超出了我们的需要。而有限状态机也不够复杂,它需要一个非常复杂的机器才能达到我们的要求。

这就是它的全貌:

 

 

我们首先确定了机器人可以采取的三种行动:"沿着路径前进"、"停止 "和 "减速"。然后,我们要指定机器人何时应该采取这些行动。这棵树贯穿了我们希望机器人为安全移动而进行的所有安全检查--这些就是每个决策节点:

  • 当然,最重要的是人类发出指令,告诉机器人它可以移动--我们绝不希望机器人在没有被告知可以移动的情况下就出发。
  • 然后,我们希望系统监控器能够运行,以便观察者(无论是人类还是监控系统)能够发现机器人的任何问题。
  • 接下来,机器人会检查它是否仍在正确的路径上(公差允许它偏离预定的距离--可能是几厘米,具体取决于应用)。
  • 然后,机器人会检查附近是否有障碍物。如果有,它就停下来。
  • 如果机器人附近没有任何物体,它就会检查地平线上是否有任何物体。如果有,机器人就会减速;如果没有,它就会沿着路径前进。

 

我们设计的原型可以并行运行所有模块。这就意味着,当机器人需要检查它是否在路径上,或者附近是否有障碍物时,数据已经准备就绪--它不必在计算完成时暂停。

建立逻辑需要大量的测试。我们通过软件模拟运行逻辑,以验证系统在机器人可能遇到的各种情况下都能提供正确的输出。一旦验证成功,我们就将其部署到机器人上进行现场测试;由于逻辑非常简单,我们并不需要通过机器人的虚拟仿真来运行它。

我们的决策博客到此结束!希望这篇文章对你规划自己的决策逻辑有所帮助。

自主机器人导航解决方案简介

AMR 需要一个强大的机器人定位解决方案;一个不仅能记录机器人位置和方向,还能在室内外运行的工具。

本解决方案简介将介绍我们建议客户在决定自主移动机器人的定位来源时所考虑的各个方面。

阅读解决方案简介了解正确的机器人本地化解决方案如何帮助您的 AMR 项目,包括在开展项目前需要问自己的关键问题。

AMR 解决方案简介

希望您喜欢这篇博客,并对刚刚开始 AMR 之旅的您有所帮助。

如果您想进一步了解我们目前能为 AMR 工程师做些什么、 查看我们的申请页面.

或者,如果您有具体项目想与我们讨论,请使用下面的表格与我们联系。我们随时欢迎您与我们讨论最新、最棒的机器人项目。

下一篇博客将总结我们今年发布的所有 AMR 导航聚焦博客,敬请期待!



返回顶部

返回顶部

,