自主导航,第一部分:什么是自主导航?
从系列中:自主导航
布莱恩•道格拉斯
导航是在一个环境中确定你的位置,并能够找出一条将你带到目标的路径的能力。这段视频概述了我们如何让机器人自动完成这项工作。
我们将介绍完全自动驾驶汽车的含义,并研究绘制环境地图和路径规划的重要性。我们还将展示如何通过启发式方法和最优方法实现完全自治。
这整个系列视频的目标是让你对自主导航问题有一个基本的了解,一些术语是什么,一些需要的算法,以及在某些环境下是什么让这个问题变得困难。所以,这就是我们将在几个视频中覆盖的内容,但在第一个视频中,我想先设置一下舞台,只介绍自动导航的概念。我认为这很有趣,所以我希望你能坚持下去。我是Brian,欢迎来到MATLAB技术讲座。
导航是在一个环境中确定你的位置的能力,并能够找出一条将你从当前位置带到某个目标的路径。在荒野中导航可能需要GPS来确定你的位置,还需要一张地图来规划绕过山脉和湖泊到达营地或任何你的目标的最佳路径。
现在,自动导航,就是这样做的,但是没有人在循环中。广义上讲,这就是我们如何让车辆通过一组传感器来确定其位置,并在环境中自行移动以达到预期目标。我说的交通工具,指的是任何一种移动的机器。它可以是一辆在路上行驶的汽车,或者是一架正在返回机场的无人机,或者是一艘穿越太阳系的宇宙飞船,或者是探索海洋深处的潜水器,或者其他一些移动机器人。通过这种方式,我们赋予了车辆自主权。独立做决定和行动的能力。
但是,自动驾驶有不同的级别,从一个人在远程位置简单操作的车辆,但它有一些简单的算法,可以接管并自动防止它掉下悬崖或其他东西,到完全没有人类交互的自动驾驶车辆。
在这个系列中,我们将主要关注如何制造完全自动驾驶汽车。这是因为它涉及的内容很多,我们可以将这些知识应用到其他属于自动驾驶范围的车辆上。
但即使是完全自主导航,我们也可以进一步将其分为两种不同的方法;一种启发式方法,通过一套实际的规则或行为来实现自治。它不能保证最优的结果,但足以实现一些直接的目标。启发式的好处是您不需要关于环境的完整信息来实现自治。另一方面,还有一种最优方法,它通常需要对环境和计划有更多的了解,最终的行动来自于目标函数的最大化或最小化。让我们每一个都深入一些。
启发式方法的一个例子是解决迷宫的车辆,其中的简单规则可能是向前行驶,并保持墙在左侧。所以当墙向左转弯时,它就向左转弯,在墙的尽头做一个u型转弯,然后在拐角处右转。这种类型的自动驾驶汽车将继续在走廊上徘徊,直到它碰巧到达目标。通过这种方式,车辆不需要维护迷宫地图,甚至不知道自己在迷宫中,就能找到终点。它没有遵循最优路径,但它有效。至少,只要它不陷入循环就行。
其他类型的基于启发式的自治包括像最简单的机器人真空,当它接近障碍物,如墙壁,它旋转到一个新的随机角度,并继续前进。
随着时间的增加,整个地板被覆盖的几率接近100%,因此最终,即使车辆没有采取最佳路径来实现这一目标,也能实现清洁地板的目标。
这就把我们带到了第二种完全自动驾驶汽车;解决最优化问题。在这些系统中,车辆建立环境模型,或更新给定的模型,然后找出达到目标的最佳路径。
有很多关于自动驾驶汽车的实际例子,其中基于最优的策略比基于启发式的策略产生更好的结果。目前最著名的可能是自动驾驶,车辆必须通过动态和混乱的街道导航到目的地。而依靠像向前开和靠右等简单的行为,可能并不是安全快速到达你想去的地方的最佳方法。更有意义的做法是,赋予车辆对动态环境建模的能力,即使该模型并不完美,然后用它来确定最优解决方案。
通常情况下解决方案不是100%启发式的,也不是100%最优的。通常,我们可以使用这两种方法来实现更大的目标。例如,对于一辆自动驾驶汽车,在较高的水平上,它可以根据当前的交通状况规划出通过城市的最佳路线。然而,在局部水平上,当它接近一辆较慢的车时,它必须做出决定是减速还是变道超车。如果它要做出最优的决定,它就必须了解前车以外的情况,以确定变道是否是最好的解决方案,这可能很难获得,所以可能更好的解决方案是有一个启发式行为,比如,如果这样做是安全的,总是尝试超过慢速车。一旦做出决定,就可以创建进入相邻车道的最佳路径。这样,这两种方法可以根据情况相辅相成。
自动驾驶汽车并不是利用这两种方法的唯一例子。还有其他地面车辆,就像亚马逊的仓库一样,必须快速机动到给定的存储区域,在不撞上其他移动车辆和固定货架的情况下移动包裹。或者在灾区搜索的车辆必须在未知和危险的地形上行驶。还有像OSIRIS-REX这样的太空任务,它必须在以前从未被访问过的小行星Bennu周围导航,并为精确定位的接触做好准备,并收集样本返回地球。这里有机械臂和操纵器,它们在本地空间内导航,拿起东西并将它们移动到新的位置。有无人机和无人机来调查区域,还有很多很多的应用。
但是,尽管自动导航在世界上变得越来越普遍,但它并不一定很容易,最困难的是车辆必须在一个不完全了解的环境中导航。因此,为了制定计划,它必须建立一个随时间变化的环境模型。环境是不断变化的,所以模型必须不断更新,有移动的障碍,不一定是明显的,所以感知和识别它们也是困难的。环境和环境模型的不确定性越大,导航问题就越难解决。
例如,建造一艘绕地球飞行的自主航天器通常比自主飞机的导航问题更简单。太空是一个比空气更可预测的环境,因为我们对作用在飞行器上的力的不确定性更小,我们对附近其他物体所处的轨道更确定。因此,我们可以对计划更有信心,并对航天器能够自主地遵循计划有更好的期望。对于飞机,我们必须处理未知的乱流,成群的鸟飞来飞去,以及其他人类控制的飞机,以及降落和在机场周围滑行。
但出于同样的原因,自动驾驶飞机本身的问题通常比自动驾驶汽车更简单。在一个城市里开车比在相对开放的空气中飞行有更多的不确定性。
所以,我在这里想强调的是,让这些交通工具令人印象深刻的不是它们可以自己移动的事实。我的意思是,让一辆车自己向前开是很简单的。你只需要一个压缩油门踏板的驱动器。汽车将起飞并向前行驶。困难的部分是让它在不确定和不断变化的环境中自主导航。对于汽车来说,它要高效地到达目的地,遵守当地的交通法规,避免坑洼,避免滚到街上的球,改变施工路线,避免由不可预测的人驾驶的其他汽车,并且在雨雪天气中完成所有这些。这不是一件容易的事。
因此,为了理解我们如何让车辆完成这些任务以及其他令人难以置信的自主任务,我们需要重新审视自主系统的能力,我们在传感器融合和跟踪系列的第一个视频中介绍过。如果你还没看过,想要更详细的描述,我在下面留下了一个链接,但这里有一个快速的概述。
自主系统需要与物理世界交互,交互的一部分是使用传感器收集有关环境的数据。这些传感器数据必须被解释成比测量量更有用的东西。这些事情包括了解其他物体或障碍物的位置,建立模型或环境地图,以及了解自动驾驶汽车本身的状态,它的位置和方向。
有了这些信息,车辆就有了从当前位置到目标位置规划路径所需的一切。避开沿途的障碍物和其他物体。最后一步是按照计划行动。驱动:以这样的方式驱动马达和执行器,使车辆沿着路径行驶驱动器影响物理世界,整个循环继续。
我们感知环境。我们知道我们所处的位置与环境中的地标有关。我们感知和跟踪动态对象。我们根据这些新信息重新规划。我们按照计划控制飞船。以此类推,直到我们到达目标。
在传感器融合视频中,我们讨论了传感器融合和跟踪是如何跨越感知和感知步骤的,虽然传感器融合和跟踪是自动导航中绝对必要的部分,但在本系列中,我们将把注意力集中在感知步骤和计划步骤中的其他算法上。我们会回答一些问题,比如生成环境模型意味着什么?车辆如何知道它在该模型中的位置?车辆如何跟踪其他大型物体和障碍物?路径规划的完成方式有哪些?你怎么知道这个系统最终会起作用呢?
所以,这就是你所期待的。在下一集视频中,我们将探讨SLAM问题。也就是说,我们如何同时确定车辆的位置和构建环境地图。所以,如果你不想错过这个视频或其他未来的Tech Talk视频,不要忘记订阅这个频道。你想看看我的频道,控制系统讲座,我也会讲更多的控制理论话题。谢谢收看,我们下期见。
相关产品s manbetx 845
了解更多
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。