基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)

这篇具有很好参考价值的文章主要介绍了基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在研究传感器融合,看到一个很好的开源项目,适合小白学习,为以后做传感器融合、SLAM、自动驾驶和室内定位等方向打下基础。

算法概述

题目:基于改进扩展卡尔曼滤波(Error State-EKF)的LiDAR/GNSS/IMU的传感器融合轨迹估计
关键词:改进扩展卡尔曼滤波(Error State Extended Kalman Filter,ES-EFK)、传感器融合、轨迹估计、激光雷达(LiDAR)、卫星导航(GNSS)、惯性测量元件(IMU)

算法的overview如下图所示:
esekf,导航与定位,计算机视觉,自动驾驶,自动化
整体而言,就是使用LiDAR、GNSS和IMU的数据根据ES-EKF进行融合迭代估计轨迹。在本项目中,IMU的采样频率较高,而GNSS和LiDAR的采样频率较低。该算法可以分为两个部分:预测(Prediction)和改正(Correction)。下面让我们一起看看这个算法。

Prediction

Prediction阶段是基于小车IMU测量的运动模型进行预测轨迹,然后再结合GNSS或LiDAR的数据用EKF融合改正预测的轨迹。

下面的小车的参数,包括位置pk、速度vk和姿态qk。
esekf,导航与定位,计算机视觉,自动驾驶,自动化
运动方程以IMU的数据作为输入,包括四元数转旋转矩阵Cns,比力加速度fk(由加速度计测量),角速度Wk(由陀螺仪测量)。这里需要注意的是,处理IMU数据的时候一般都用四元数,避免用欧拉角带来的死锁问题。
esekf,导航与定位,计算机视觉,自动驾驶,自动化

Correction

Correction阶段就是用GNSS或者LiDAR观测到的数据对估计的位置进行改正。

GNSS的观测方程:
esekf,导航与定位,计算机视觉,自动驾驶,自动化
LiDAR的观测方程:
esekf,导航与定位,计算机视觉,自动驾驶,自动化

ES-EKF算法

Error-state Extended Kalman Filter(ES-EKF)是一种改进的扩展卡尔曼滤波算法,基本思想就是将State分为两部分Nominal State和Error State。它用于状态估计问题,特别是对于非线性系统的状态估计问题,例如在机器人定位、导航和控制方面的应用。
x代表真值, x_hat代表Nominal State,占比较大, delta_x代表Error State,占比较小。
esekf,导航与定位,计算机视觉,自动驾驶,自动化
线性化如下:
esekf,导航与定位,计算机视觉,自动驾驶,自动化

ES-EKF试图通过引入误差状态来改进EKF的性能。它的核心思想是,通过对状态误差进行线性化而不是对状态本身进行线性化,可以更好地处理非线性性质,并提高滤波器的稳健性和准确性。相比起一般的EKF算法,优势在于:(1)Error State的线性化比Nominal State更好;(2)对于三维空间的数据处理较好,使用旋转的情况,因此很适合本项目的3D LiDAR数据。

详细推导过程可以参考该文章:ES-EKF算法推导

融合算法实现轨迹估计

1.使用IMU数据更新运动模型
esekf,导航与定位,计算机视觉,自动驾驶,自动化
2.不确定度计算和传播
esekf,导航与定位,计算机视觉,自动驾驶,自动化
3. 使用GNSS或LiDAR改正
3.1 计算卡尔曼增益
esekf,导航与定位,计算机视觉,自动驾驶,自动化
3.2 更新Error State
esekf,导航与定位,计算机视觉,自动驾驶,自动化
3.3 改正状态预测
esekf,导航与定位,计算机视觉,自动驾驶,自动化
3.4 计算改正方差
esekf,导航与定位,计算机视觉,自动驾驶,自动化

实验结果

该项目中,已经提供了预处理好的IMU、GNSS和LiDAR数据,参考轨迹和预测轨迹的对比实验结果如下:

esekf,导航与定位,计算机视觉,自动驾驶,自动化
位置和姿态矩阵误差:(蓝色实线是误差,红色虚线是不确定度)
esekf,导航与定位,计算机视觉,自动驾驶,自动化

以上就是这个小项目的主要算法介绍和实验结果,非常适合小白学习。最后,附上原作者的项目链接

我个人改进后的项目链接文章来源地址https://www.toymoban.com/news/detail-856980.html

到了这里,关于基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ICM-42670-P六轴MEMS运动传感器无人机智能手表运动设备IMU

    TDK InvenSense品牌各类产品,可支持算法定制与开发 TDK InvenSense公司的ICM-42670-P六轴MEMS运动跟踪装置结合了一个三轴陀螺仪和一个三轴加速度计。该设备针对的是需要超低功耗以驱动更长的电池寿命的消费者和物联网应用。该传感器提供低功耗的六轴和加速度计的工作模式。它

    2024年02月12日
    浏览(44)
  • 领域最全!多传感器融合方法综述!(Camera/Lidar/Radar等多源异构数据)

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 点击进入→ 自动驾驶之心技术交流群 后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文! 原文:Multi-Sensor Fusion in Automated Driving: A Survey 自动驾驶正成为影响未来行业的关键技术,传感器是自动驾驶

    2023年04月08日
    浏览(42)
  • ros2 机器人imu传感器 加速度计 陀螺仪精度和数据填充单位换算

    起因,imu解算出了加速度 角速度,但原始数据是没有单位的,只是在一个精度范围的值,要使用这些数据,就需要把这些没有单位的数据换算成带单位的数据,下面解说一下换算原理。 imu读取数据代码参考上期的博客: ros2 c++实现JY_95T IMU解算三轴 加速度 角速度 欧拉角 磁力

    2024年02月13日
    浏览(54)
  • 基于手机传感器的计步算法

            由于建筑物的阻挡屏蔽等因素, 导致 GPS 信号在室内环境下无法实现满足要求的定位精度。随着智能手机的快速发展 , 现在手机一般都内置各种传感器模块,航位推测法是一种可行的技术方案 , 计步器、运动方向判断和步长检测是航位推测的三大关键部件 , 本文结

    2024年02月10日
    浏览(50)
  • 基于LabVIEW的压力传感器测试系统

    现在各类压力传感器已广泛应用于各种工业自控环境,对压力传感器的研究 及应用,既可以体现一个国家的科技发展水平,又可以提升国家的综合国力,还 可以在丰富、方便和智能化人们的生活方面做出重要的贡献。而针对不同仪器组 成计算机测试辅助系统也显得颇为重要

    2024年01月20日
    浏览(42)
  • 基于51单片机温湿度传感器

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域:暖通 空调;汽车;消费品;气象站;湿度调节器;除湿器;家电;医疗;自动控制 相对湿度和温度测量 全部校准,数字输出 长期稳定性 超长的信号传输距离:20米 超低能耗:休眠 4 引脚

    2023年04月10日
    浏览(87)
  • 基于STM32的土壤湿度传感器使用

    最近在学习中用到了ADC数据采集这里使用的硬件模块为土壤湿度传感器,下面为土壤传感器相关的使用方法和代码介绍。 1、土壤湿度传感器实物图 土壤湿度传感器一共有4个引脚分别为: GND VCC DO AO,在本次实验中使用的为A0模拟引脚,因此在单片机资源上需要使用到ADC,模

    2024年02月12日
    浏览(36)
  • 基于STM32的双轴XY摇杆传感器模块使用

    本文主要介绍的是如何通过STM32核心板 控制 双轴XY摇杆传感器模块 以及将传感信息打印到串口调试助手 提示:以下是本篇文章正文内容,下面案例可供参考 外形如图所示,共五个引脚 分别是VCC GND X轴传感模拟量输出 以及 Y轴传感模拟量输出 以及一个SW按键数字量输出 摇杆

    2024年02月03日
    浏览(41)
  • SPI传感器接口设计与优化:基于STM32的实践

    SPI(串行外设接口)是一种常用的串行通信协议,用于在微控制器和外部设备之间进行全双工的高速数据传输。 在本文中,我们将探讨如何基于STM32微控制器设计和优化SPI传感器接口,并提供相应的代码示例。 1. SPI传感器接口设计 SPI传感器接口设计的主要目标是实现可靠、

    2024年01月19日
    浏览(36)
  • 基于C51的DHT11(温湿度传感器)编程(详解)

    前言 当你点进看这篇博客时,相信对DHT11产品的概述与特性没有任何兴趣,所以跳过那部分,直接上技术活。 1、温湿度如何采集 根据产品说明文档:用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包