当前位置: 代码迷 >> 综合 >> 「 SLAM lesson-2.3 」SLAM数学描述、运动方程、观测方程
  详细解决方案

「 SLAM lesson-2.3 」SLAM数学描述、运动方程、观测方程

热度:20   发布时间:2023-12-15 10:46:12.0

结合 高翔老师的著作《视觉SLAM十四讲:从理论到实践》,加上小白的工程经验共同完成。建议购买纸制书籍搭配使用。


一、SLAM数学描述

     SLAM过程可总结为两个基本方程:

  •     运动方程
  •      观测方程

     对于不同的传感器,这两个方程有不同的参数化形式。如果我们保持通用性,把它们取成抽象形式,那么SLAM过程可总结为上述两个基本方程。

    这两个方程描述了最基本的SLAM问题:当我们知道运动测量的读数 u ,以及传感器的读数 z 时,如何求解定位问题(估计 x)和建图问题(估计 y)? 这时,我们把SLAM问题建模成了一个状态估计问题:如何通过带有噪声的测量数据,估计内部的、隐藏着的状态变量?

     状态估计问题的求解,与两个方程的具体形式,以及噪声服从哪种分布有关。我们按照运动和观测方程是否为线性,噪声是否服从高斯分布进行分类,分为线性/非线性和高斯/非高斯系统。其中线性高斯系统(LG 系统)最为简单,他的无偏最优估计可以由卡尔曼滤波器(KF)给出。而在复杂的非线性非高斯系统(NLNG系统)中,我们会使用以扩展卡尔曼滤波器(EKF)和非线性优化两大类方法去求解它。时至今日,主流视觉SLAM使用以图优化(Graph Optimization)为代表的优化技术进行状态估计。我们以为优化技术已经明显优于滤波器技术,只要计算资源允许,我们通常都偏向于使用优化方法。

二、什么是运动?

    我们要考虑从 K-1 时刻到 K 时刻,机器人的位置 X是如何变化的。

    通常,机器人会携带一个测量自身运动的传感器,比如说码盘或惯性传感器。这个传感器可以测量有关运动的读数,无论什么传感器,我们都能使用一个通用的、抽象的数学模型:

                                                            

    这里的  是运动传感器的读数(有时也叫输入),为噪声。

三、什么是观测?

    假设机器人在 K 时刻,于  处探测到了某一个路标  ,我们要考虑这件事情是如何用数学语言来描述的。

    当机器人在  位置上看到某个路标点 ,产生了一个观测数据  ,用一个抽象的函数 h 来描述这个关系:

                                                              

     这里  是这次观测里的噪声。


《视觉SLAM十四讲:从理论到实践》 PDF资源

下载链接:Robot_Starscream的资源  仅供各位研究员试读,请购买纸质书籍。

  相关解决方案