SLAM卡尔曼滤波&&非线性优化
高斯分布(正态分布)是一个常见的连续概率分布。正态分布的数学期望值或期望值
1.高斯分布
一个随机变量
它的高维形式为:
2.高斯分布的运算
2.1 线性运算
设两个独立的高斯分布:
那么他们的和仍然是高斯分布:
如果以常数
如果取
2.2乘积
设两个高斯分布的乘积满足
2.2复合运算
同时考虑到
其中
协方差为正,则说明这两个变量呈正相关,为零则不相关,为负则为负相关。
由条件分布(贝叶斯法则)展开式
舒尔补
现在来推导如何得出该结论:
舒尔补理论:把矩阵分解成上三角矩阵、对角阵、下三角矩阵乘积的形式,方便运算,即:
其中
同样地:
具体推导过程(了解)
由于
由于
因此,
3.复合运算例子
考虑到随机变量
其中
4.SLAM问题的数学表述
通常,机器人或者无人车在运动过程中会携带一个测量自身运动的传感器(IMU,轮速里程计等),通过积分运算可以抽象出一个关于本体感知的数学模型:
这里的
同样的,在SLAM中还有一个环境感知传感器(激光雷达、相机、红外设备)的观测部分,环境感知所对应的方程为观测方程,当机器人或者无人车在
其中,
因此SLAM问题可以总结出两个基本的方程:
从上述方程中可以看出:
1.观测方程中,只有在位置
2.运动方程中,实际过程中,如果做纯视觉SLAM或者纯激光SLAM,往往会缺少运动方程;在这种时候的处理方式通常假设为车辆匀速运动或者不动或者匀加速运动等。
3.位姿
同样的把
直接给出待估计的后验概率密度为:
其中:
5.卡尔曼滤波(KF)
对(A)公式进行马尔可夫假设,当前时刻只与上一时刻有关,预测部分为:
先验部分可以简化为:
从图上可以看出输入量
假设:
1.这里的状态量服从高斯分布,那只需考虑维护状态量的均值和协方差即可。
2.所有的状态和噪声均满足高斯分布。
线性高斯系统可以使用运动方程和观测方程来表示:
噪声服从零均值高斯分布,则:
记
1.预测部分
根据运动方程和高斯分布确定为:
记:
2.观测方程
观测方程可以计算在某个状态下,应该观测数据,根据观测方程和高斯分布确定为:
设结果为
可以得到前面推导很熟悉的一个公式:
直接用结论:
这里可以直接看到:
可以推导出
定义:
则有
整理一下,五个方程为:
1.预测:
2.更新:先计算
然后计算后验概率分布:
至此,我们推导了经典的卡尔曼滤波器的整个过程。事实上卡尔曼滤波器有若干种推导方式,而我们使用的是从概率角度出发的最大后验概率估计的形式。我们看到,在线性高斯系统中,卡尔曼滤波器构成了该系统中的最大后验概率估计。而且,由于高斯分布经
过线性变换后仍服从高斯分布,所以整个过程中我们没有进行任何的近似。可以说,卡尔曼滤波器构成了线性系统的最优无偏估计。
6.扩展卡尔曼滤波(EKF)
卡尔曼滤波器通常适用于线性系统,但是在SLAM中,运动方程和观测方程通常为非线性函数。无论视觉SLAM模型还是激光SLAM,使用李代数表示位姿,更不可能是一个线性系统。一个高斯分布,经过非线性变换后,往往不再是高斯分布,所以在非线性系统中,需要进行近似处理,将一个非高斯分布近似成一个高斯分布。
通常把卡尔曼滤波器的结果拓展到非线性系统中来,称为扩展卡尔曼滤波器(Extended Kalman Filter,EKF),通常的做法是,在某个点附近考虑运动方程以及观测方程的一阶泰勒展开,只保留一阶项,即线性部分,然后按照线性系统进行推导。非线性化的运动方程和观测方程为:
运动方程:
观测方程为:
令
记这里的偏导数为:
对于观测方程,同样地有:
记:
展开线性化结果方程为:
这里
因此
这里
结果为:
协方差矩阵为:
*这里的推导根据高斯分布协方差的传递性:
综合可以得到
$$
$$
文章出处登录后可见!