专栏名称: 泡泡机器人SLAM
SLAM的最新资讯,干货内容。
目录
相关文章推荐
51好读  ›  专栏  ›  泡泡机器人SLAM

【泡泡机器人翻译专栏】SLAM: 现在,未来和鲁棒年代(五)

泡泡机器人SLAM  · 公众号  · 机器人  · 2017-02-25 20:31

正文

本次课给大家带来的是该文章的最后一部分,未来SLAM可能的发展。



7 . SLAM中的新理论工具


本章将讨论构建高性能SLAM系统的算法,阐明一些未解决的问题。理论分析非常重要因为三个主要原因。首先,SLAM算法和执行经常用于测试问题实例,比较难理解对应的结果如何一般化到新的例子中。其次,理论结果掩盖了问题的内在属性,这些方面在形成经验的时候可能是反直接的。第三、对问题结构的真正理解可以推动算法改进,可以扩展现实中需要解决的SLAM问题的方法。早期的SLAM算法理论分析是基于EKF;我们推荐读者阅读论文84 , 286。这里我们只关注因子图优化方法。除了具有实践上的优势(精度,效率),因子图优化提供了一个精致的框架,经过实践检验分析。

没有先验知识,最大后验概率估计退化成最大似然估计。相应的,没有先验知识,SLAM继承了最大似然估计的所有属性:(5)式中的估计是一致的,渐进式高斯估计,渐进有效率,对欧式空间变化具有不变性。这些属性在没有先验知识的情况下可能会失效(比如估计器可能不具有不变性)。

在这里我们更关注算法属性:给定的算法如何收敛到最大后验概率估计?我们如何增强或确认这种收敛?如果出现错误的测量值断点是什么?


简要回顾

大部分SLAM都基于迭代非线性优化。SLAM是一个非凸问题,迭代优化只能保证局部收敛。当一个算法收敛到局部最小时,他通常返回一个可能完全错误不适合于导航的估计,如图7所示。在相对小的噪声水平代价的情况下,最新的迭代器无法收敛到全局最小。

无法在迭代方法中收敛触发了人们对SLAM问题的更深的探索。论文131,284,在这方面做了一些努力,最先讨论SLAM中非凸问题的特性。论文132,讨论了讨论了小位姿图优化问题中最小值数量问题。论文158,调研了没有回环检测的情况下错误增长的状况。论文38,提供了高斯-牛顿方法收敛的初始估计。论文39,展示了在2D情况下旋转估计可以用类似的方式处理,对应的估计也是唯一的。最大似然估计的另一种方法提供了更好的结果。论文45,46,研究了实际中经常遇到的在给定条件下(强对偶),最大似然估计是唯一的,位姿图优化可以全局性地解决,通过(凸)半有限编程。

如之前提到的,理论分析是更好的算法设计的第一步。除了论文45,46的SDP方法,其他作者也提出了凸松弛方法避免收敛到局部最大值。这些贡献包

括,论文176,240。另一个成功地方法是通过估计一个迭代非线性优化的合适的初始值增强收敛。基于这种方法,先处理旋转,再用产生的估计促进非线性迭代被证明在实际应用中非常有效,如论文27,39,42,43,47。论文149分别用平移和旋转加速优化。

最近的理论研究使得拉格朗日对偶应用于SLAM中,也使得验证技术的设计成为可能:给定一个SLAM估计,这些技术可以判断估计是否为最优。可以确定的是一个SLAM方案的质量对设计失效检验和保护恢复机制非常关键。SLAM中的验证技术非常新:最新技术,如论文45,46,可以解稀疏线性提供执行验证,并且保证提供一个正确的结果,有强对偶保证(后面还会介绍这个知识点)。

我们注意到机器人领域的这些结果,给相关领域提供了一个有益的补充,包括多机器定位,计算机视觉中的运动结构,低温电子显微镜。


待解决的问题

尽管这些年取得了前所未有的进展,有一些理论问题仍然没有解决。

一般性,保障,验证:第一个问题是现有结果的一般性问题。在位姿图优化中提出对全局方案的保障和验证的结论。这些结论是否可以一般化到任意因子图?

弱对偶或强对偶?论文45,46,表明强对偶可以保证SLAM问题全局解决;但他们提供了无法实际应用的证据表明大部分为的强对偶遇到了实际应用上的问题。卓有成效的问题处理方法是在强对偶下构建一个先验条件。我们可以回答这样的问题:“给定一组传感器数据(包含对应的噪声测量统计数据)和因子图结构,强对偶方法可以吗?”。如果能定义这个问题就可以定义SLAM应用的计算(或验证)全局问题的应用范围。这个理论调研为传感器设计和主动SLAM问题提供了一个基础理论。

对离群点的适应能力:第三个问题考虑的是出现不合格观测值得情况下的估计问题。尽管最近的结论对位姿图优化提供了强有力的支撑,但没有结论保证出现离群点的情况。尽管有一些工作研究了鲁棒SLAM和针对非高斯噪声的模型工具,对离群点适应能力的全局技术的设计和在出现离群点的情况下验证一个给定的估计值是否正确地技术仍然没有解决。



8. 主动SLAM


目前为止我们所描述的SLAM问题仍然是机器人领域被动出现的估计问题,比如,机器人执行SLAM是基于给定的传感器数据,没有自由主动地收集数据。在这一章我们讨论如何根据机器人的运动增强建图和定位的结果。控制机器人运动问题的主要目的是为了将机器人地图表示和定位问题的不确定性最小化,我们通常称为主动SLAM。这一定义源自于众所周知的Bajcsy的论文15的主动感知和书272第17章的机器人探路方法。


简要回顾

第一个主动SLAM是论文93,94,这个命名源自于论文171。但主动SLAM的根源来自于人工智能,机器人探路可以追踪到上世纪80年代。论文269,270,认为探索-使用方法,比如,在访问新地点(探索)和再次访问已知区域(使用)减少不确定性之间取得平衡,比随机探索和单纯使用方法更有效。

主动SLAM是一个决策问题,有几种框架做决策,可以用于探索-采用方法的主干。其中一个框架是最优实验设计理论(TOED),用于主动SLAM,可以基于估计地图不确定性来选择机器人的下一步行动。信息理论方法已经应用于主动SLAM;在这个例子中,通常使用信息增益做决策。SLAM控制理论方法包括采用模型预测控制系统,如论文171,172。另一种主动SLAM方法是基于部分可观测的马尔科夫决策过程,比较难处理;一种近似的但可处理的主动SLAM方法是贝叶斯优化或有效的高斯置信度传播算法,或其他。

流行的主动SLAM框架会在一组有限的方法中选择最好的行动方案。主动SLAM算法主要包括3个步骤: 1)机器人识别可能的位置探索并使用,比如,在地图当前估计中的有利位置;2)机器人计算访问过的每个有利点并选择具有最高效用的行动方案;3)机器人执行选择好的行动方案,决定是否有必要继续或终结任务。我们将详细讨论每个细节。

选择有利点:理想中,机器人执行主动SLAM算法应该评估地图空间的每一个动作,但评估的计算复杂度随着搜索空间的变化呈指数级增加,这在实际应用中难以控制。实践中,选择一组位置子集,使用前沿探索技术。最近的工作,论文279,137,提出的方法基于不确定性连续空间规划,可以用于主动SLAM;当前这些方法只能确保收敛到局部最优。另外一种连续区域的主动SLAM算法是使用潜在区域。论文278 中的例子使用回旋技术计算信息熵,选择机器人的行动,论文143诉诸边界值问题方案。

计算行动的效用:理想情况下,计算机器人给定行动的效用可以根据机器人位姿和地图推断后续步骤的变化,对后面可控制的行动和待测量值有重要作用。如果后验信息已知,可以用信息理论方法,信息增益,可以用于给不同的行动排序。然而,计算这种可能性,通常情况下计算量是无法控制的。实际情况下,只能近似估计。早期的工作考虑了地图的不确定性,机器人独立或条件独立。大部分方法将效用定义为测量机器人几何信息和地图不确定性地线性组合。这种方法的一个不利因素是两种不确定性的数值无法比较,比如,地图的不确定性的幅度经常超过机器人,所以需要手动调整来纠正。处理这个问题的方法是粒子滤波SLAM,位姿图优化。

最优实验设计理论(TOED)也对行动的效用起作用。在最优试验设计(TOED)中,每次行动都是随机设计的,可以通过所谓的优化准则使用关联的协方差矩阵进行比较,比如,A,D,E最优(不知道什么意思)。论文53,55,将最优标准应用与主动SLAM中。

执行行动或终止探路:执行行动通常都是简单的任务,使用运动规划中构建好的方法,决定探路任务是否完整,目前是一个未解决的问题,将在后面的段落里面讨论。


待解决的问题

有几个问题必须要提出来,对主动SLAM来说会影响实际应用。

后续状态的快速、准确的预测:机器人的主动SLAM每一个行动都应该帮助减少地图中的不确定性,增强定位的精度;为了达到这个目的,机器人必须能够预测后续行动对地图的影响和机器人的定位。在任何时间约束下都必须快速获得预测结果,精确地支持决策过程。在SLAM社区回环闭合非常重要,用于减少不确定性,获得更高的定位和建图精度。尽管如此,有效地预计回环闭合的同步与效果仍然对主动SLAM有帮助。还有就是,预计未来行动的效果,也是计算代价非常昂贵的。最近有一些预计机器人状态方法是运用机器学习领域的知识,使用了频谱技术和深度学习。

已经足够了:什么时候可以不在使用主动SLAM了?主动SLAM计算代价昂贵:因此很自然的问题是我们什么时候可以不用主动SLAM了而将主要资源用在其他任务上。平衡主动SLAM的决策和外部任务非常关键,其实在实际应用中,主动SLAM只是为了完成预定的任务。

性能保证:另外一个重要的方向是为主动SLAM和最优方法寻找数学方法上的保障。既然无法完全解决问题,就需要有近似算法可以接近所希望的性能。论文112是这方面模块的设计工作,采用的是主动传感器。


9. SLAM 中的新传感器


除了新算法的发展,SLAM(通常是指移动机器人)也因为新型传感器有了大幅进展。比如,2D激光扫描仪使SLAM系统非常鲁棒,3D激光扫描仪是最近的一些应用的主要动力,比如,自动行驶汽车。过去5年大量的研究致力于视觉传感器,成功的应用有增强现实和视觉导航。短期内,标准的视觉传感器是主要的技术方案,尤其是微型无人机,它的负载能力和电源限制无法使用大型、耗电传感器,比如激光雷达。表2列出了SLAM数据集和对应的传感器。注意标杆对比问题主要是几种传感器,数据集(可以用数据集设计后端)对于传感器不可见。那么,问题来了:什么样的传感器将长期推动SLAM问题的研究?什么样的算法可以更好地使用这种新的传感器?

我们注意到我们还没有像昆虫或动物,比如猎豹和鸟,那么敏捷和易于操作的机器人的一个主要原因是标准计算机视觉感知架构的高延迟,持续时间短。延迟是因为我们需要捕捉图像还需要时间来处理,持续时间短,运行片段多,是因为我们需要等待下一帧图像进入(具体如图9a)。计算机视觉方法典型延迟是50-200毫秒,离散时间是5-100毫秒,依赖于相机的帧率和曝光时间【目前相机的最高帧率是1Mhz,体积大(>公斤级),功耗大(>100W),需要

外部补光】。高延迟和离散时间限制了机器人平台的最大灵活性。比如,考虑到中型无人机的传动装置固定转动时间,大概在30毫秒,如果我们将螺旋桨或翅膀的尺寸减小,它可以迅速减少到1毫米以内。因此,为了获得更高的灵敏度,我们需要更快的传感器和更低延迟的处理时间。我们认为事件触发的相机可以完美取代当前的图像传感器。



事件触发相机

事件触发相机,比如动态视觉相机(DVS)或异步图像传感器(ATIS)正在改变基于图像的感知领域。与标准的基于图像帧的相机不同,获得固定帧率的整幅图像,事件触发相机只发送某个运动改变场景的时刻的局部像素级别的变化。需要注意的是,如果像素的亮度相对变化超过一个阈值触发事件。【具体的,在动态视觉相机中,如果亮度强度log值的差值大于10-20%时,就会触发一个事件。人眼对亮度log值得灵敏度是1%。】因此,异步事件的输出序列是在微秒级别的,如图9b。具体来讲,每个事件是一个数组[tk,(xk,yk),pk],其中,tk是事件的时间戳,(xk,yk)是触发事件的像素坐标,pk∈{+1,-1}是事件极值,是亮度变化的信息。

一个事件触发相机与普通基于图像帧相机相比有5个关键优势:时间延迟1微秒,观测频率最大1Mhz,动态范围最大140dB(普通相机60-70dB),功耗20毫瓦(普通相机1.5瓦),仅需要很低的数据带宽传输(对一般的运动情

况,~k bytes | s ,普通相机 ~M bytes | s )。采用这些特征可以设计新的算法追踪夜晚的棒球,开发像飞虫那么灵敏的全自动机器人,即使是定位和建图在灯光非常挑战的情况和速度很高的情况下。然而,这些优势是要花费代价的:因为是由异步事件的序列,传统相机的计算机视觉算法就无法兼容了。就需要将发展了50年的计算机视觉算法进行移植。


简要回顾

第一款事件相机已经在2008年商用了,这个领域仍然非常小,只有不到100篇有关算法的论文使用这些传感器。基于事件的特征检测和跟踪,LED跟踪,对极几何,图像重构,运动估计,光流,3D重构,迭代最近点(ICP)已经做好了。

最近,事件视觉里程计,定位,SLAM算法也提出来了。这些算法的事件异步的出现改变了系统的状态估计,因此,需要使用传感器的时间特征,并且能够设计高度交互系统。连续轨迹估计方法也非常适合使用事件触发相机:单一事件无法携带足够的信息用于状态估计,因为DVS的平均数据传输速率是每秒100,000个事件,由于需要表示所有位姿,状态向量的规模将快速增大,这将无法估计DVS在所有离散时刻的位姿。采用连续事件框架,DVS位姿轨迹可以近似于一个基本函数的刚体运动空间的光滑曲线,比如二次样条函数,或根据观测事件优化。


待解决的问题

事件相机作用很大,但如果没有实践和算法的调整,就没有这样的需求。

构建模型,灵敏度和分辨率:事件相机有复杂的模拟电路,非线性和偏移会改变像素的灵敏度,和其他动态特征,使得事件触发对噪声非常敏感。传感器噪声特征和理想曲线现在仍然无法得知。因此,我们仍然无法用事件相机解决定位和建图问题。

既然事件通过亮度改变触发,事件发生于场景边缘有关。然而,大部分事件方法是场景强梯度,如果边缘光滑就会失效。

时刻分辨率非常高(1us),空间分辨率非常低(128x128 像素),论文30提出了一个问题。另外,新开发的事件相机传感器克服了一些原有的问题:ATIS传感器发送像素级别亮度的强度;DAVIS传感器可以同时输出图像帧和事

件(这样就可以同时加进一个普通相机传感器和DVS传感器到同一个像素帧率中)。

事件相机还是普通相机?哪个传感器更适合SLAM?给定SLAM传感器和算法主要看传感器和算法的参数,还有环境情况。完整的选择算法和传感器获得最好性能的方法还没有找到。然而,论文59的研究表明,给定任务的性能还依赖于传感器的可用电能。多传感器的最优传感架构可能无法根据性能要求同时开关。


10. 结论


我们进入了意识到鲁棒性的年代,SLAM领域面临更多更新的挑战。失效保护SLAM系统的设计,参数自动调整算法,环境高级几何度量和语义表示,还有任务和资源关联SLAM系统,更具有挑战,比最新的理论工具和传感器更有趣。SLAM仍然是大部分机器人应用的主要组成部分,与人类好不费力的功能相比,现有SLAM系统远远不能提供有效的,可用的,精简的环境模型。


【版权声明】泡泡机器人SLAM的所有文章全部由泡泡机器人的成员花费大量心血制作而成的原创内容,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

【注】商业转载请联系刘富强([email protected])进行授权。普通个人转载,请保留版权声明,并且在文章下方放上“泡泡机器人SLAM”微信公

众账号的二维码即可。


【编辑】王琛