自治系统

用MATLAB设计、开发和测试自治系统

Brian Douglas的自主导航,第2部分:启发式与完全自主的最优方法

什么是自主导航?我们在本系列博客的上一篇文章中了解到这一点。在这篇文章中,Brian将讨论不同类型的自治以及我们可以采取的实现完全自治的方法。如果你想更深入地了解自动导航的基础知识,这篇文章就是为你准备的。


嗨,我是布莱恩•道格拉斯欢迎来到自主导航博客。如果您还没有读过本系列的第一篇博客,请看一看在这里

自治可以有不同的层次。在道路机动车辆自动驾驶系统,或简单地说,自动驾驶汽车,有六个级别的驾驶自动化定义为SAE国际.然而,在这篇博客中,让我们将自动驾驶的级别更广泛地描述为一个频谱,而不是特定于自动驾驶汽车的离散级别。我们可以把自动驾驶想象成从低端的自动辅助到高端的全自动驾驶汽车。

自治援助在美国,无人驾驶汽车主要是由人操作的,甚至可能是在一个偏远的地方,但车上有算法可以监控不安全状况,并自动超越操作员,将车辆置于安全状态。通过这种方式,人类操作员将完成大部分导航,但在某些情况下会有一些自主操作。

在自动驾驶领域的另一端,我们有一辆全自动驾驶汽车。这是一种能够在没有人为干预的情况下在环境中导航的交通工具。它可以感知环境,并通过自己的决策过程到达目的地。

然而,即使是完全自动驾驶的车辆也并非生来平等。我们可以通过两种不同的方式来实现完全自主;一个启发式方法和一个最优方法

使用启发式方法,通过给车辆一组实际的规则或行为来实现自动驾驶。启发式自治方法的一个例子是一个解迷宫的机器人,它被给予了两条规则:向前行驶,并在左侧保持一堵墙。

为了实现这一点,机器人可以有两个测量距离的传感器:一个面向前方,一个面向左侧。使用这些传感器和一些逻辑,车辆可以在固定距离上沿墙行驶,当墙左转时左转,在墙的尽头做u型转弯,并在拐角处右转。以这种方式,车辆将继续在走廊上徘徊,直到它碰巧到达目标。

像这样的启发式方法可以在没有人控制的情况下(完全自主)在迷宫中导航,然而,启发式方法并不能保证得到最佳结果。车辆所走的路线不是最短的,也不是最优距离。启发式方法的其他问题是,给定的规则可能不足以满足环境中的所有条件。例如,我们很容易设置一个情境,让我们的解迷宫机器人陷入一个循环,永远无法达到目标。

这些是启发式方法的一些缺点,然而,优点是您不需要关于环境的完整信息来实现完全自治。车辆不需要创建或维护迷宫地图(甚至不知道自己在迷宫中!)就能到达目标。

其他类型的启发式自治包括最简单的机器人真空吸尘器。当真空接近障碍物(如墙壁)时,一个规则会告诉它旋转到一个新的随机角度,然后保持直线行驶。

随着时间的增加,整个地板被覆盖的几率接近100%。因此,最终实现了地板清洁的目标,即使车辆没有采取最佳路径来实现这一目标。

让我们对比一下启发式方法和自动导航的最优方法。

首先,最优并不一定意味着最好。它的意思是,我们正在创建一些我们想要完成的目标,然后通过算法试图找到一个解决方案,使目标的价值最大化或最小化。例如,我们可能希望车辆沿着通往目标的最短路径行驶。在这种情况下,我们会建立一个函数来惩罚行进的距离。然后,通过一些选定的优化技术,我们会搜索或采样车辆可能走的所有路径,并选择产生最低成本的路径,或者在我们的例子中,最短距离的路径。

目标:在车辆转弯限制的情况下,尽量缩短到达目标的距离

这些类型的问题通常需要更多的环境知识以及车辆的限制和约束,因为您需要了解这些信息来探索和绑定问题空间。例如,如果车辆没有很好地了解整个环境,就无法找到到目标的最短距离。如果不了解转弯半径或加速速度,车辆也无法创造出一条实际可以遵循的路径。因此,求解最优解需要车辆拥有更多的信息。

在许多情况下,基于最优的策略比基于启发式的策略产生更好的结果,因此,它证明了必须设置它的负担是合理的。目前最常见的例子可能是自动驾驶,车辆必须通过动态和混乱的街道导航到目的地。依靠简单的行为,如向前行驶和保持路沿向左行驶,可能不是安全快速到达目的地的最佳方法。更有意义的是赋予车辆感知动态环境并建立模型的能力,即使该模型并不完美,然后使用它来确定最佳导航解决方案。

现在我们已经了解了不同类型的自主,在下一篇文章中,我们将继续介绍自主导航系统,通过观察自主系统的能力,并讨论有时最佳解决方案是启发式和最优方法的结合。


要了解更多关于自治和不同类型的自治系统的知识,请查看“如何建立一个自主的任何东西”。请继续关注Brian的下一篇文章!

|

댓글

댓글을남기려면링크를클릭하여MathWorks계정에로그하거나계정을새로만드십시오。