Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说SLAM算法的计算效率及其高效算法,希望能够帮助你!!!。
同步定位与构图是一个移动机器人建立环境地图的同时利用建立的地图来计算自己位置的过程。在过去的10多年里,SLAM算法取得了令人激动的快速的发展。大量的重要的工作致力于提高计算效率,同时保证建图的连续性和机器人位姿估计的精确性。但是,也有很多研究关于非线性,数据关联,和地标特征,所有的这些对于实现稳健和实用SLAM算法是至关重要的。
本教程专注于SLAM问题的递归贝叶斯方法,得到了概率分布或者地标的相对或者绝对位置和机器人位姿。本教程的Part I(IEEE Robotics & Auomation Magazine, vol. 13, no. 2)总结了基本的状态空间和粒子滤波形式的SLAM算法,描述了一些重要的实现方法,引用的源代码的链接和用于评估SLAM算法的真实世界的数据。本教程的Part II(本文),总结了现阶段SLAM的研究现状,包括下面三个重点板块:计算复杂度,数据关联,环境表达。许多本文使用的数学符号和基本的概念都已在本教程的Part I中定义,因此这里不再重复。
最原始SLAM的计算量级正比于地图中地标数量的二次方。对于实时实现,这一量级在使用SLAM方法时是一个潜在的本质限制。计算复杂度章节综述了许多用于降低计算复杂度的方法。这些中包括了线性时间状态增加,信息形式稀疏化,分区更新,和子地图方法。第二主要的需要克服的实现SLAM方法的阻碍是正确的关联上地图上的地标和观测到的地标。错误的关联可能导致SLAM算法毁灭性的故障。当机器人完成长途旅行后返回到一个之前已经建完图的区域时,数据关联尤其重要,这就是所谓的闭环问题。数据关联章节综述了当前SLAM用的一些数据关联方法。这些包含了利用SLAM公式中固有约束的批量-验证方法,表象方法,和多假设方法。本教程中讨论的第三个发展趋势是更丰富的基于外观的地标和地图模型。然而最初的数据关联和闭环的动机是关注于轨迹估计而不是地标估计,这些方法导致了描述SLAM问题的不同的定性方法。环境表达章节综述了当前这一领域不同线路的发展,包括延迟建图,利用非几何地标,和估计估计方法。
SLAM方法现在已经到了一个相当成熟的状态。未来的挑战主要集中在实现大尺度上非结构化的环境中的实现,特别是在那些类似于GPS定位方法不可得或者不可靠的场合,例如,在城市峡谷里,密集树林下,水下,或者是外星球。
基于状态形式的SLAM问题设计到联合估计机器人的位姿和观测到的静止目标的位置。该问题形式具有一个特殊的结构;过程模型仅影响机器人位置状态且观测模型仅对单个机器人地标对作为参考。已经有大量的技术被开发来利用这一特殊结构来限制SLAM算法的计算复杂度。
提高计算效率的技术可以被描述为最优或者保守的。最优算法旨在降低计算量的同时保持估量和协方差量相对于全形式的SLAM算法(本教程Part I陈述的)不变。保守算法的估计结果比最优的具有更大的不确定度或者更大的协方差。通常,保守算法,同时精度更低,计算更加高效,因此,在实际应用中更具价值。比最优方法具有更小不确定度或者协方差的算法被称为不一致算法且被认为是SLAM问题的非有效的方法。
降低计算量的直接方法涉及将SLAM问题的结构重新组成基本的时间和观测更新方程,并以此来限制需要的计算量。时间更新计算可以用状态增强方法加以限制。观测更新计算可以用方程的分块方式加以限制。这两步都到达了一个最优SLAM估计同时降低了计算量。重新组织标准的空间-空间SLAM表述成信息形式允许了稀疏化,结果是信息矩阵被应用来降低计算量。结果算法通常是保守的但依然能够产生好的估计同时极大的降低了计算负荷。子地图方法应用了一整个地图可以被分解成许多具有局部坐标系的系统并被排列成有层次结构的方式的思想。局部帧的更新伴随着周期帧间的更新。子地图技术一般提供了一个在全局帧的保守估计。
在时刻k,联合SLAM状态向量包括了两个部分:机器人位姿和地图地标位置集合。机器人模型根据控制输入集合仅传播位姿状态,同时地图的状态保持不变
(1)
在原始的SLAM中的扩展卡尔曼滤波器(EKF)实现中,协方差由下面的式子计算
(2)
这里,,是一个表征控制向量的不确定度的协方差矩阵。这一操作具有地标数量三次方的计算复杂度,原因是雅可比矩阵和协方差矩阵的乘法运算。然而,机器人模型仅影响位姿状态,协方差预测可以被重写成具有与地标数量正比的线性复杂度的形式。详情请看[S.B. Williams, “Efficient solu
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章