经典的SLAM模型是由一个运动方程和一个观测方程构成的,如下图所示:

其中:x_k为机器人的状态,z为机器人的观测数据,u_k为控制数据,y_j观测点,w和v分别为运动噪声和观测噪声。f为运动方程,h为观测方程。
SLAM问题旨在解决两个问题,一个是定位,一个是建图,因此一般来说SLAM的运动模型中运动方程是求解姿态即定位问题,观测方程是求解地图点即建图问题。(在具体的情境下,含义不尽相同,观测方程也不一定是为了求解建图问题。)
下面举两个示例来解释上面SLAM模型的含义。
此时,u_k控制数据为imu数据和lidar数据,f运动方程为imu的预积分以及ICP通过非线性优化求解位姿的过程,z观测数据为lidar的原始数据,y_j观测点即lidar点云的世界坐标系坐标,h观测方程就是lidar坐标系到世界坐标系的转化方程。
当ORB-SLAM2处于恒速跟踪模型时,u_k控制数据是图像帧(图像像素),f运动方程是恒速模型以及通过图像帧求解位姿的方程,z观测数据为图像像素,y_i观测点为图像像素生成的地图点,h观测方程就是相机坐标系到地图坐标系的转换方程。