当Vasileios Tzoumas,一位研究科学家麻省理工学院(麻省理工学院),访问一个新的城市,他喜欢去跑步探索。有时他会迷路。几年前,在大阪参加一个长期会议时,不可避免的事情发生了。但后来Tzoumas发现了一家7- 11便利店,他记得这是他离开酒店后不久经过的。这种认知让他在精神上“闭合了回路”,将他的轨迹松散的一端连接到他知道并确信的某个地方,从而巩固了他的心理地图,让他能够走回酒店。
分级非凸性(GNC)算法可以帮助机器穿越陆地、水、天空和空间,然后回来讲述故事。
关闭循环实际上是机器人在导航新环境时经常要做的东西的技术术语。它是一个名为的过程的一部分同步定位和映射(SLAM)。SLAM并不新鲜。它用于机器人吸尘器,自动驾驶汽车,搜索和抢救空中无人机,以及工厂,仓库和矿山的机器人。作为自主设备和车辆导航新空间,从起居室到天空,他们在旅行时构建地图。它们还必须使用摄像机,GPS和LIDAR等传感器弄清楚它们在地图上。
随着SLAM得到越来越多的应用,确保SLAM算法在具有挑战性的现实世界条件下产生正确的结果比以往任何时候都更加重要。SLAM算法通常在完美的传感器或受控的实验室条件下运行良好,但在现实世界中使用不完美的传感器时很容易丢失。毫不奇怪,工业RIA客户经常担心他们是否能够信任这些算法。
麻省理工学院的研究人员开发了几种强大的庞大算法,以及数学上的方法,以便我们能够相信多少。Luca Carlone的实验室,Leonardo Career Development Assistant Partury Mit教授,发表论文关于他们的分级非凸性(GNC)算法,它减少了SLAM结果中的随机误差和不确定性。更重要的是,该算法在现有方法“丢失”的情况下产生正确的结果。由Carlone、Tzoumas和Carlone的学生Heng Yang和Pasquale Antonate撰写的论文在国际机器人与自动化会议(ICRA)上获得了机器人视觉最佳论文奖。这个GNC算法将帮助机器穿越陆地、水域、天空和太空,然后回来讲述故事。
一切都是一致的
机器人的感知依赖于传感器,这些传感器通常提供嘈杂或误导性的输入。麻省理工学院的GNC算法允许机器人决定哪些数据点值得信任,哪些数据点需要丢弃。GNC算法的一个应用程序称为形状对齐。机器人使用2D相机图像估计汽车的3D位置和方向。机器人接收具有通过特征检测算法标记的许多点的摄像机图像:前灯,轮子,镜子。它还具有内存中的汽车3D模型。目标是缩放,旋转,并放置3D模型,因此其功能与图像中的功能对齐。“如果特征检测算法完美地完成了这项工作,这很容易,但这很少是这种情况,”卡莱尔说。在实际应用中,机器人面临许多异常值误标定的特征 - 这可以占所有观察的90%以上。这就是GNC算法进入并优于所有竞争对手的地方。
机器人使用数学函数解决此问题,该函数考虑了每对特征之间的距离 - 例如,图像中的右前灯和模型中的右前灯。他们试图“优化”这个功能 - 以定向模型,以便最小化所有这些距离。功能越多,问题越难。
解决这个问题的一种方法是尝试函数的所有可能的解决方案,看看哪一种效果最好,但要尝试的方法太多了。杨和安东南特解释说,更常见的万博 尤文图斯方法是,“就是尝试一种解决方案,并不断推动,例如,使模型中的前照灯与2D图像中的前照灯更加对齐,直到无法再进行改进。”考虑到嘈杂的数据,这并不完美——可能是前照灯对齐,但车轮不对齐——因此你可以从另一个解决方案开始,并尽可能完善该解决方案,重复该过程数次以找到最佳结果。不过,找到最佳解决方案的可能性很小。
在实际应用中,机器人面临许多异常值,这些异常值可以占所有观测值的90%以上。这就是GNC算法的优势所在,它的性能优于所有竞争对手。
GNC背后的想法是首先简化问题。它们减少了他们试图优化的功能 - 将3D模型与2D图像之间的差异的函数与单一最佳解决方案进行了解。现在,当他们选择一个解决方案并轻推它时,他们最终会发现最好的解决方案。然后他们重新引入了一点原始函数的复杂性并改进了他们刚发现的解决方案。他们继续这样做,直到它们具有原始功能及其最佳解决方案。前灯很好地对齐,轮子和保险杠也是如此。
兜圈子
本文将GNC算法应用于形状对齐和SLAM等问题。在SLAM的情况下,机器人使用传感器数据计算出其过去的轨迹并绘制地图。例如,一个在大学校园里漫游的机器人收集里程计数据,表明它在8:00之间走了多远和方向 a、 上午8点15分 a、 上午8点15分之间 a、 上午八点半到八点半 a、 等等。它也有8点的激光雷达和摄像机数据 a、 上午8点15分 a、 等等。偶尔,它会完成循环,在两个不同的时间看到相同的东西,就像祖马斯再次跑过7-11时所做的那样。
研究人员发现,GNC算法比最先进的技术更精确,可以处理更高百分比的异常值。
就像在形状对齐中一样,还有一个优化问题需要解决。该论文的第一作者Yang解释说:“对于SLAM,系统不是将特征排列成与3D模型相匹配的形状,而是弯曲它认为它穿过的轨迹,以便在地图上对齐对象。”首先,系统的工作是最小化不同传感器感知到的行程之间的差异,因为每个传感器都可能有测量误差。例如,如果机器人的里程表显示它在8:00之间行驶了100米 a、 上午8点15分 a、 m.,根据激光雷达和相机测量更新的轨迹应反映该距离,或接近该距离的某个距离。该系统还可以最小化看起来是同一地点的位置之间的距离。如果机器人在8点看到同样的7-11 a、 上午9点和10点 a、 算法将尝试弯曲调用的轨迹,调整每条腿,使其在8:00时调用位置 a、 上午9点和10点 a、 m.对齐,闭合回路。
与此同时,该算法识别并丢弃了异常值和坏数据点,在这些数据点,它认为自己是在回溯自己的步骤,但这不仅仅是形状对齐中的错误标记特征。你不想错误地结束循环。祖马斯回忆起一段时间,他在缅因州的树林中奔跑,路过一堆倒下的树干,这些树干上都有他觉得自己已经结束了这个循环,利用这个所谓的地标,他转了一圈。直到20分钟没有看到任何熟悉的东西,他才怀疑自己的错误,然后转身回去。
优化前的召回轨迹可能看起来像一个缠绕的麻线球。在解开后,它类似于镜像校园途径的形状和机器人遍历的走廊的一套右倾角线。这个SLAM过程的技术术语是位姿图优化。
在这篇论文中,研究人员将他们的GNC算法与其他算法在一些应用上进行了比较,包括形状对齐和姿势图优化。他们发现,他们的方法比最先进的技术更精确,可以处理更高百分比的异常值。对于SLAM,即使使用三合四的循环闭包,它也能工作e错了,这比在实际应用中遇到的异常值要多得多。此外,他们的方法通常比其他算法更有效,需要更少的计算步骤。Tzoumas说,“困难之一是找到一种在许多应用中都能很好地工作的通用算法。”杨说,他们已经在10多个地方试用过。祖马斯说,最后,他们找到了“最佳点”
MathWorks的机器人学研究科学家Roberto G.Valenti说,从研究到生产是研究成果在规模上产生影响的重要一步。MathWorks一直与Carlone的实验室合作,将GNC算法集成到MATLAB中,作为导航工具箱的一部分™, 哪些公司用于在商业和工业自治系统上实施SLAM。
走出森林
Carlone的实验室正在研究扩展GNC算法能力的方法。例如,杨的目标是设计能够被证明是正确的感知算法。安东南特正在寻找方法来管理不同算法之间的不一致性:如果自动驾驶汽车的SLAM模块说道路笔直,但车道检测模块说它向右转弯,那么你就有问题了。
GNC算法是允许机器人捕捉自己错误的新基准。
Tzoumas正在寻找如何扩展,而不仅仅是在一个机器人中的多种算法之间的交互,而且在多个机器人之间协作。在早期的工作中,他编写了飞行的无人机来跟踪目标,例如试图徒步或乘汽车逃脱的罪犯。前进,多台机器可能会集中运行GNC算法。每个人都会向其邻居提供部分信息,并在一起将在地球或其他地方建立一个全球地点。今年,他正在搬到密歇根大学航空航天工程系,致力于为多机器人规划和自我导航 - 即使在战场和其他行星等困难的环境中,也可以努力。
安东南特说:“不知道人工智能和感知算法将如何运行是使用它们的一个巨大障碍。”他指出,如果博物馆的机器人导游有可能撞上游客或《蒙娜丽莎》,他们将不被信任:“你希望你的系统对其环境和自身都有深入的了解,这样它就能捕捉到自己的错误。”GNC算法是允许机器人捕捉自己错误的新基准,最重要的是,正如祖马斯所说,“它帮助你走出困境。”