自主导航,第3部分:理解大满贯使用姿势图优化
从系列:Navigazione自治
这一节提供了一些直觉构成图优化-流行的框架来解决同步定位和映射(大满贯)的自主导航问题。
我们将讨论为什么在汽车传感器和状态估计的不确定性使得构建地图环境的困难和姿势图优化如何处理它。我们还将简要讨论占用网格地图作为一种代表环境模型。
上一节,我们讨论了如何估算一个自治车辆的姿势,这是它的位置和方向,如果我们已经有了一个模型或环境的地图。在这个视频中,我们不会提前有地图。我们要建立一个同时计算出的车辆在地图上的什么地方使用这一过程被称为大满贯;同步定位和映射。
有许多不同的SLAM算法,但它们主要可以分为两组;过滤和平滑。过滤、扩展卡尔曼滤波和粒子滤波,模型的问题,在线状态估计机器人状态更新(或者环境的一部分)活跃的新测量变得可用。
另一方面,平滑技术估计全套完整的机器人轨迹的测量,不仅新的测量。可以更直观的了解这些方法基于配方下如果我们解决这些问题。事实上,近年来,一个特定的框架,构成图优化(或更一般,因子图优化)已经成为事实上的标准,大多数现代大满贯软件解决方案(如g2o或GTSAM)。万博 尤文图斯在这个视频中,我们要关注理解构成图形优化,以及为什么它的工作原理。所以,我希望你留下来。我是布莱恩,欢迎来到MATLAB技术讨论。
让我们设置问题。我们有自主车,一个机器人,它有能力通过一个环境。我们给了激光雷达的距离和角度去附近的障碍,我们给它一种死估计相对位置随着时间的推移,使用测程法。在这种情况下,它使用车轮编码器计算旋转每个轮子的数量使驱动器和估计多远它已经和它如何使自最后已知位置。
所以,问题是,我们如何利用这些传感器了解环境地图的样子,求出机器人的构成?好吧,让我们开始用一个简单的映射问题。
这里,我把机器人在一个矩形房间角落里循环障碍。我们可以看到这张地图,看看这个机器人,但也不知道。,它只是在一个未知的空白。让我们先从一个非常理想的情况下,一个没有不确定性或激光雷达中的错误或测程法测量,它们是完美的。在这种情况下,发展环境相对简单的地图。机器人可以激光雷达测量,我们有信心,它衡量的是真正的障碍的位置。它可以保存在一个全球地图和继续。行驶一段距离后,再次我们知道正是因为完美的测程法,需要另一个测量。两测量将使全球地图好因为没有错误在我们的系统中,通过这种方式我们可以开车周围环境和创造一个完美的地图,同时知道我们在哪儿。
当然,这个场景并不现实。有两个激光雷达测量误差和测程法有一些机器人位姿估计的不确定性和测量距离的障碍。因此,让我们尝试映射这个房间一次,但这一次我们会说激光雷达依然非常准确,但是有一个大的测程法测量的不确定性。也许其中一个轮子不断下滑的机器人认为这是比它实际上是朝着不同的方向发展。
所以,让我们看到这是如何工作的机器人。我们得到一个初始激光雷达测量,我们假设有一个障碍,和之前一样,然后我们开车。除了这一次,估计比真正的姿势是不同的姿势。激光雷达返回一些相对距离在墙上,真正的机器人看到,但我们只能假定它是相对于机器人位姿估计,因为我们都知道。
这个地方,两个测量障碍在不同的坐标系,而不是全球环境,所以他们不排队。如果我们继续这个过程我们驱动机器人在房间里,测程法错误导致我们估计对偏离真正的姿势和我们剩下的最后,这张地图的障碍,不像真正的环境。这是其中一个原因为什么我们不能把测量的环境并把结果变成一个地图。不确定性在我们的系统会搞砸了。但这就是大满贯算法可以帮助我们。
现在,有几种不同的方法解决SLAM问题的方法。正如我所说的,在这段视频中我们要注重优化构成图。我想提供一个小算法和背后的直觉给你感觉它是如何工作的没有一堆数学,但如果你想了解更多关于数学,我把一些很棒的资源描述详细经过它。
就像之前一样,我们有真实的,估计机器人姿态,初躺上彼此在现实环境的地图。但是现在,在右边,还有这个空白区域。这就是我们要建立构成图。
我们的机器人所做的第一件事是测量环境。这测量与当前机器人位姿估计,我们可以添加两个构成图。所以,基本上我们所做的是说,这个姿势被定义为一个X和Y的位置和旋转角度,我们保存了距离和角度的感觉障碍。现在,也有与这个姿势条目相关的不确定性,但我会。
好的,我们有张贴图中的第一个条目,第二个吧。再次,机器人驱动器进行一点和我们估计姿势开始偏离真正的姿势。另一个环境的测量,得到相关的新估计体式和这种组合是现在保存在图。
所以,我们有两个姿势,每个都有自己的局部估计的障碍在哪里。即使我们不知道这两个姿势是在环境中,我们有一个想法,关于他们之间的差距有多远。在我们的例子中,这个来自计算车轮旋转,但是这SLAM算法背后的想法并不是与一组特定的传感器。相对带来的距离可能来自一个内部测量源像是IMU,或者我们可以算出多少机器人从其他外部来源如GPS或可见的测程法。关键是我们有一些最好的猜测,这两个姿势有多远,以及衡量我们是多么自信的猜测。
通过这种方式,有一个约束,我们可以在这两个之间的相对距离。理想情况下,他们会保持这个远,因为这是我们最好的估计,但由于我们的测程法的不确定性过程,也许我们会更好如果我们搬到这两个姿势在相对于彼此。例如,它就好了如果有一种机制,可以移动两个姿势来调整当前失调障碍。嗯,有!和约束的关键。
现在,想象一个约束,我认为这是有用的去想象一个橡胶条连接两个姿势。的名义长度栏是我们估计他们之间的差距有多远。没有外部力量在这些姿势,酒吧只会保持固定的距离。然而,如果我保持一个姿势固定和移动其他姿势接近或远离它,它将压缩或拉伸橡胶条和有力量,想要恢复姿势回到他们名义上的距离。橡胶条的强度取决于自信我们的距离估计。如果我们有更多的信心,或者我们有一个很好的测程法过程,那么这是一个非常强大的酒吧,很难改变这个名义上的距离。如果我们几乎没有信心,那么这个橡胶棒非常疲弱,并提供几乎没有恢复力。
构成图命名,我们说的是图的节点和约束,或橡胶棒,是一个优势。当然,这在所有三个构成维度约束行为,X和Y,和在旋转时,总是试图把它带回其估计距离。好了,没有什么我们可以做两个节点和一个边缘,让我们继续。
就像之前,机器人一直开车和测量环境。测量后,我们可以估计姿势,连同其测量当地的障碍,并将其在我们的姿势图,并添加一个约束。现在我们有三个节点和两条边。我们可以继续,填写我们的姿势图一个姿势,直到我们有类似错误的地图,我们建造之前,除了有约束连接所有的姿势。
现在,我们还不能做太多的信息,因为你可以想象,所有的酒吧都在他们的名义长度和一切想要呆的地方。然而,我们在一个地方有趣的事情会发生。我们的第一个体式和当前都是在环境中观察相同的特性。这意味着我们可以建立一个新的边缘,一个新的约束这两个节点之间。我们只需要了解这两个特性使找出两个姿势必须相对于彼此。在这个例子中,他们必须在相同的位置。
所以,现在我们可以添加一个新约束连接第一个和最后一个姿势和关闭循环。这个酒吧的名义长度为0,因为这两个姿势要正确的彼此。和橡胶条的强度取决于自信你在外部测量和你关联的两组数据的能力是相同的特性。如果你真的相信,就像我们在这个例子中,这个酒吧是极强的,真的想把这两个一起构成。
希望你可以看到一个循环关闭是,让所有的工作。没有一个闭包,只是快乐的满足所有的约束。但随着循环关闭,我们有一个注入紧张这个图表的方法。蓝色酒吧想把这两个节点在一起,紫色的酒吧都要保持相对的距离的方法。允许这个图来解决平衡,或平衡所有的部队,每个约束实施的优化构成图优化的一部分。
很酷的是,通过优化构成图,我们不仅有一个更好的估计当前的姿势和更好的环境的模型,但我们也有一个更好的估计的机器人在过去,因为过去的姿势都更新。所以,我们有很多价值这一循环关闭。当然,我们没有一个完美的模型环境,或者机器人提出了,但是没关系,因为我们可以继续改善我们的估计,使更多的循环闭包。
机器人可以继续开车,从测程法添加新的姿势,新的循环闭包时能够确定使用外部数据的关系。对于这个例子,让我们假设我们能够与这三个姿势在一起即使这房间的面积是相对无特色的。
在这一点上,前面的约束都是和以前一样,直到我们添加了这些循环闭包图处于平衡状态。但是现在,我们已经添加了新的循环闭包,这创造了更多的紧张,希望拉着、推着的姿势一点,所以我们需要再次重新运行优化和允许图形re-settle。
通过这种方式,您可以看到每次循环后关闭图形将继续改善其环境的全局模型和过去的机器人。
也就是说,只要你连接的两个姿势是真正看相同的环境特性。如果你做一个不正确的协会,与约束,建立优势并不是真实的,你可以想象,坚持你的图和继续斜优化过程每次运行它。它总是把这些节点在一个方向远离真理。所以,这是非常重要的,你有信心在任何循环闭包。事实上,最好是一个真正的小姐循环关闭比添加一个错误。你可以开着一些,让另一个闭包在未来,很难消除他们在糟糕的一次。
现在,重要的是要注意,一个循环关闭需要绝对测量的环境,就像我们与激光雷达了,或者你可以得到可见的相机,或其他环境传感器。你不能关闭循环使用相对传感器像IMU或车轮编码器,因为没有联系方式,信息反馈给一位年长的姿势。你可能认为你过去的节点附近,但是没有检查环境你不能确定。
好的,所以我们有构成图,我们优化它,现在我们如何构建环境地图从这些数据点吗?有几种不同的方式来表示一个环境模型但我将很快引入二进制占用网格。背后的想法是,环境分解成一个网格的细胞。如果你相信细胞占据,你将值设置为1,不占用你设置为0。这是我假设整个环境是空的,和填写的细胞,我相信有一个障碍。你也可以假设相反,细胞都占领了,你让他们零传感器表明,当你什么也没有。你可以看到只有1和0我我们生成一个相当准确的模型矩形房间,循环障碍的一部分。我们可以有一些漏洞填补他们开车更多,但总体上看起来好。
现在,也有概率占用网格的细胞没有完全占领与否,而是有一个概率的占领在0和1之间。使用这个模型,你有信心在黑色和白色细胞和其他地方是暗灰色取决于你的不确定性。
我们拥有它,使用姿势图优化。希望现在你可以看到一个地图环境和机器人的姿态可以确定同时使用这种方法。现在我们有一个占用网格地图,我们可以开始规划未来的轨迹通过这个环境的过程。机器人不再漫无目的的徘徊,但可以使用这张地图来计划它想去的地方。我们会介绍一些方法方法规划下一节。
但是,在我结束这个之前,我想提醒你,学习这个东西是练习的好办法,自己试试。有一个MATLAB的例子,使用导航工具叫做使用激光雷达扫描,建立一个实现大满贯占用网格地图的环境只使用激光雷达,不需要相对测程法的过程。从本质上讲,环境有足够的独特的特性,激光雷达测量相关的每个姿势都可以回到过去其他姿势只是通过数据协会——或特性匹配。值得一看,在玩。我下面链接到另一个视频,走过这个确切的例子,如果你想要更多的信息。
好吧,这就是我将结束这段视频。如果你不想错过任何其他未来的技术演讲视频别忘了订阅这个通道。你想看看我的频道,控制系统讲座,我覆盖更多的控制理论主题。谢谢观看,下次再见。
相关产品s manbetx 845
了解更多
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。