信任机器人在新领域航行

提高机器人感知鲁棒性的新算法


当Vasileios Tzoumas,一位研究科学家麻省理工学院(麻省理工学院),访问一个新的城市,他喜欢去跑步探索。有时他会迷路。几年前,在长时间在大阪开会时,不可避免的发生了。但在离开酒店后不久,Tzoumas看到了他记得的一家7- 11便利店。这种认知让他在精神上“闭合了回路”,将他的轨迹的松散一端与他知道和确信的某个地方连接起来,从而巩固了他的精神地图,让他能够回到酒店。

渐变的非凸起(GNC)算法可以帮助机器穿越陆地,水,天空和空间 - 并回来讲述故事。

关闭循环实际上是机器人在导航新环境时经常要做的东西的技术术语。它是一个名为的过程的一部分同步定位与测绘。SLAM并不新鲜。它用于机器人吸尘器,自动驾驶汽车,搜索和抢救空中无人机,以及工厂,仓库和矿山的机器人。作为自主设备和车辆导航新空间,从起居室到天空,他们在旅行时构建地图。它们还必须使用摄像机,GPS和LIDAR等传感器弄清楚它们在地图上。

随着SLAM发现更多的应用,它比以往任何时候都更重要,以确保SLAM算法产生正确的结果挑战真实世界的条件。SLAM算法通常使用完美的传感器或受控实验室条件,但在现实世界中的不完美传感器实施时,它们很容易丢失。不出所料,工业客户经常担心他们是否可以信任这些算法。

麻省理工学院的研究人员开发了几种强大的庞大算法,以及数学上的方法,以便我们能够相信多少。Luca Carlone的实验室,Leonardo Career Development Assistant Partury Mit教授,发表了论文该算法减少了SLAM结果中的随机误差和不确定性。更重要的是,该算法在现有方法“丢失”的地方产生正确的结果。Carlone、Tzoumas和他的学生Heng Yang和Pasquale Antonante共同撰写的这篇论文在国际机器人与自动化会议(ICRA)上获得了机器人视觉方面的最佳论文奖。GNC算法将帮助机器穿越陆地、水、天空和太空,然后回来讲述故事。

一切都保持一致

机器人的感知依赖于传感器,这些传感器通常会提供噪声或误导性的输入。MIT的GNC算法允许机器人决定哪些数据点值得信任,哪些应该丢弃。我们调用了GNC算法的一个应用程序形状对齐。机器人使用2D相机图像估计汽车的3D位置和方向。机器人接收具有通过特征检测算法标记的许多点的摄像机图像:前灯,轮子,镜子。它还具有内存中的汽车3D模型。目标是缩放,旋转,并放置3D模型,因此其功能与图像中的功能对齐。“如果特征检测算法完美地完成了这项工作,这很容易,但这很少是这种情况,”卡莱尔说。在实际应用中,机器人面临许多异常值误标定的特征 - 这可以占所有观察的90%以上。这就是GNC算法进入并优于所有竞争对手的地方。

机器人使用数学函数解决此问题,该函数考虑了每对特征之间的距离 - 例如,图像中的右前灯和模型中的右前灯。他们试图“优化”这个功能 - 以定向模型,以便最小化所有这些距离。功能越多,问题越难。

解决这个问题的一种方法是尝试函数的所有可能的解决方案,看看哪一个最有效,但有太多可尝试的。金宝搏官方网站杨和安东尼特解释说,一种更常见的方法是“尝试一种解决方案,并不断推动——比如让模型中的车头灯与2D图像中的车头灯更一致——直到你无法再改进为止。”考虑到嘈杂的数据,它不会是完美的——也许前灯对齐,但车轮没有——所以你可以从另一个解决方案开始,尽可能地完善那个方案,重复这个过程几次,以找到最好的结果。尽管如此,找到最佳解决方案的可能性仍然很小。

在实际应用中,机器人面临许多异常值,这些异常值可以占所有观测值的90%以上。这就是GNC算法进入并优于所有竞争对手的地方。

尽管有高达70-90%的离群值的噪声测量,GNC算法仍能找到最优对齐。图片来源:麻省理工学院。

GNC背后的想法是首先简化问题。它们减少了他们试图优化的功能 - 将3D模型与2D图像之间的差异的函数与单一最佳解决方案进行了解。现在,当他们选择一个解决方案并轻推它时,他们最终会发现最好的解决方案。然后他们重新引入了一点原始函数的复杂性并改进了他们刚发现的解决方案。他们继续这样做,直到它们具有原始功能及其最佳解决方案。前灯很好地对齐,轮子和保险杠也是如此。

进入圈子

本文应用GNC算法以形状对齐并猛击其他问题。在SLAM的情况下,机器人使用传感器数据来弄错其过去的轨迹并构建地图。例如,在大学校园周围漫游的机器人收集了测量的数据,表明它在上午8点到上午8:15之间有多远和方向。和上午8:15之间,上午8:30。等等。它还在上午8点上午8点拥有LIDAR和相机数据。,上午8:15。等等。偶尔,它将完成循环,在两次不同的时间看到同样的事情,就像Tzoumas一样,当他再次跑过7-Eleven时。

研究人员发现,GNC算法比最先进的技术更准确,并且可以处理更高百分比的异常值。

就像形状对齐一样,有一个要解决的优化问题。杨是纸上的第一个作家,解释说:“对于猛烈,而不是排列的功能来匹配3D模型,而是弯曲轨迹它认为它遍历地图上的对象。”首先,该系统可用于最小化不同传感器的感知行程之间的差异,因为每个传感器可能在测量中具有错误。例如,如果机器人的里程表显示它在上午8点之间旅行100米。和上午8:15,基于激光雷达和相机测量更新的轨迹应该反映该距离,或靠近它的东西。该系统还会最大限度地减少似乎在位置之间的位置之间的距离。If the robot saw the same 7-Eleven at 8:00 a.m. and 10:00 a.m., the algorithm will try to bend the recalled trajectory—adjusting each leg—so that its recalled positions at times 8:00 a.m. and 10:00 a.m. align, closing the loop.

机器人绘制建筑内部的地图。GNC逐渐解开混乱的数据。该算法只需相对较少的步骤就能精确地绘制出建筑物内部的地图。图片来源:麻省理工学院。

同时,该算法识别并丢弃异常值不好的数据点,以至于它认为它正在重新定步其步骤,但它不像形状对齐中的误标定功能一样。你不想诬陷一个循环。Tzoumas召回了一段时间,跑过缅因州的树林,当他跑过一系列看起来熟悉的堕落树干。他认为他已经关闭了循环,并使用这个假设的地标,他轮到了。只有在没有看到其他任何熟悉20分钟后,他才怀疑他的错误并回头。

优化前的召回轨迹可能看起来像一个缠绕的麻线球。在解开后,它类似于镜像校园途径的形状和机器人遍历的走廊的一套右倾角线。这个SLAM过程的技术术语是姿态图优化

在本文中,研究人员将其GNC算法与其他算法进行了若干应用,包括形状对准和姿势图优化。他们发现它们的方法比最先进的技术更准确,并且可以处理更高百分比的异常值。对于Slam,即使四个循环关闭中的三个误,它也会弄错了,这比在现实世界中遇到了更多的异常值。更重要的是,它们的方法通常比其他算法更有效,需要更少的计算步骤。Tzoumas说:“其中一个困难是在许多应用程序中找到良好的通用算法。”杨说他们已经尝试了超过10.到底,Tzoumas说,他们发现了“甜蜜的地方”。

MATLAB生成的地图从源自草坪的机器人派生的数据创建的地图。左:草坪的原始地图。中间:用公共SLAM算法进行优化地图,其包括来自未知异常循环闭环的错误标记数据。右:用GNC算法进行优化地图。

来自Mathworks的机器人研究科学家Roberto G. Valenti表示,从研究开始研究是研究结果的重要一步。MathWorks一直与Carlone的实验室合作,将GNC算法集成到Matlab中作为导航工具箱™的一部分,该公司用于在商业和工业自治系统上实施Slam。

走出树林

Carlone的实验室正在研究如何扩展他们的GNC算法的功能。例如,杨的目标是设计能够被认证为正确的感知算法。Antonante正在寻找方法来管理不同算法之间的不一致性:如果自动驾驶汽车的SLAM模块说道路是直的,但车道检测模块说道路是右弯的,那你就有问题了。

GNC算法是允许机器人捕捉自己错误的新基准。

Tzoumas正在寻找如何扩展,而不仅仅是在一个机器人中的多种算法之间的交互,而且在多个机器人之间协作。在早期的工作中,他编写了飞行的无人机来跟踪目标,例如试图徒步或乘汽车逃脱的罪犯。前进,多台机器可能会集中运行GNC算法。每个人都会向其邻居提供部分信息,并在一起将在地球或其他地方建立一个全球地点。今年,他正在搬到密歇根大学航空航天工程系,致力于为多机器人规划和自我导航 - 即使在战场和其他行星等困难的环境中,也可以努力。

Antonante表示:“不知道人工智能和感知算法将如何发挥作用,这对使用它们是一个巨大的威慑。”他指出,如果博物馆的机器人导游有可能撞到游客或蒙娜丽莎,人们就不会相信他们:“你希望你的系统对环境和自身有一个深刻的了解,这样它就能发现自己的错误。”GNC算法是允许机器人捕捉自己错误的新基准,最重要的是,正如Tzoumas所说,“它帮助你走出困境。”

机器人技术的其他专题报道

一个由九名大学生组成的团队为他们的最终项目制作了创新跳跃机器人
为期10天的冲刺,建立战斗Covid-19的机器人
远程医学里的新边疆
尝试这件尺码:设计师服装给机器人触摸感
面板导航

Academia / AI.

人工智能揭开古代文物的秘密

利用深度学习和图像处理来恢复和保存艺术品

面板导航

绿色技术/控制系统

清除数百万吨二氧化碳2每年海港的排放量

用氢燃料电池给商用车辆充电

面板导航

词干/学术界

建立茎的未来

一名高中生发现,编程不仅仅是为了电脑屏幕