基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)
基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)
在自动驾驶和机器人导航领域,传感器融合技术是实现精准定位和轨迹估计的关键。本文介绍了一种基于改进扩展卡尔曼滤波(Error State-EKF)的LiDAR/GNSS/IMU传感器融合方法,通过将IMU、GNSS和LiDAR数据进行有效融合,实现高精度的轨迹估计。这种方法特别适合处理非线性系统状态估计问题,广泛应用于机器人定位、导航和控制等领域。
算法概述
本项目研究基于改进扩展卡尔曼滤波(Error State-EKF)的LiDAR/GNSS/IMU传感器融合轨迹估计。主要涉及以下关键词:改进扩展卡尔曼滤波(Error State Extended Kalman Filter,ES-EFK)、传感器融合、轨迹估计、激光雷达(LiDAR)、卫星导航(GNSS)、惯性测量元件(IMU)。
算法的整体框架如图所示:
核心思想是利用IMU、GNSS和LiDAR的数据进行融合迭代估计轨迹。其中,IMU采样频率较高,而GNSS和LiDAR采样频率较低。整个算法分为预测(Prediction)和校正(Correction)两个阶段。
预测阶段
预测阶段主要基于IMU测量的运动模型进行轨迹预测。具体来说,使用小车的参数(位置$p_k$、速度$v_k$和姿态$q_k$)以及IMU数据(四元数转换的旋转矩阵$C_{ns}$、比力加速度$f_k$和角速度$\omega_k$)来更新运动模型。这里采用四元数而非欧拉角,以避免死锁问题。
校正阶段
校正阶段利用GNSS或LiDAR观测数据对预测轨迹进行修正。
GNSS观测方程:
LiDAR观测方程:
ES-EKF算法
Error-state Extended Kalman Filter(ES-EKF)是一种改进的扩展卡尔曼滤波算法,其基本思想是将状态分为名义状态(Nominal State)和误差状态(Error State)两部分。具体来说,假设$x$代表真实状态,$\hat{x}$代表名义状态,$\delta x$代表误差状态。相比传统EKF,ES-EKF的优势在于:
- 误差状态的线性化效果更好
- 更适合处理三维空间数据,特别是在涉及旋转的情况下
融合算法实现
- 使用IMU数据更新运动模型
- 不确定度计算和传播
- 使用GNSS或LiDAR数据进行校正
- 计算卡尔曼增益
- 更新误差状态
- 校正状态预测
- 计算校正方差
实验结果
实验中使用了预处理后的IMU、GNSS和LiDAR数据。下图展示了参考轨迹与预测轨迹的对比结果,其中蓝色实线表示误差,红色虚线表示不确定度。
项目资源
- 原作者项目链接:https://github.com/xxx
- 改进版项目链接:https://github.com/xxx