IMU与GPS传感器ESKF融合定位

本文详细介绍了IMU与GPS传感器通过Extended State Kalman Filter(ESKF)进行融合定位的实现过程。首先,概述了代码的整体框架,包括主要的数据订阅和发布。接着,重点讲解了LocalizationWrapper构造函数的作用以及滤波算法如何进行预测。此外,还阐述了如何利用GPS位置数据更新系统状态。最后,对结果进行了评价,并引用了相关研究文献。
摘要由CSDN通过智能技术生成

IMU与GPS传感器ESKF融合定位


在这里插入图片描述
分别在两个终端下运行命令:

rosbag play utbm_robocar_dataset_20180502_noimage1.bag
roslaunch imu_gps_localization imu_gps_localization.launch

1、代码整体框架说明

代码具体结构框架如下图所示:
在这里插入图片描述

cpp文件 文件具体实现作用 备注
localization_node.cpp 主函数文件,实现初始化ros,初始化LocalizationWrapper类
localization_wrapper.h LocalizationWrapper类定义,主要声明构造函数、析构函数以及imu回调函数、gps回调函数、打印状态、打印gps数据,把状态格式数据转换成ros话题机制
localization_wrapper.cpp 构造函数中主要是加载参数,保存数据到文件夹下,订阅imu和gps的话题然后发布融合后的轨迹;析构函数主要是释放空间;imu回调函数主要是读取imu数据,然后对数据进行处理,转变状态发布成ros话题,打印状态;gps回调函数主要是实现读取数据,然后进行处理,最后打印。
imu_gps_localizer.cpp ProcessImuData()函数初始化imu数据,对imu数据进行预测,从ENU坐标系转换到GPS坐标系,发布融合后的状态;ProcessGpsPositionData()函数主要实现初始化数据以及位置的更新。
imu_gps_localizer.h ImuGpsLocalizer类构造函数,声明ProcessImuData()函数,声明ProcessGpsPositionData()函数
initializer.h 初始化类,主要是构造函数,添加imu数据,添加gps数据,计算imu数据到gps数据的旋转矩阵这里参考的是openvins
imu_processor.cpp 滤波融合的预测部分Predict()函数具体实现
imu_processor.h ImuProcessor类主要是滤波融合的预测部分Predict()函数声明
gps_processor.h GpsProcessor类通过GPS位置更新系统的状态UpdateStateByGpsPosition()以及计算残差以及雅可比矩阵和把得到的误差更新状态
base_type.h 主要是imu数据、GPS数据以及系统状态的数据结构
utils.h 主要包括弧度和角度之间的相互转换、ENU坐标系与LLA坐标系的转换以及得到反对称矩阵

2、主要函数介绍

2.1 L

IMUGPS和UWB融合定位是一种利用惯性测量单元(IMU)、全球定位系统(GPS)和超宽带(UWB)技术相结合的方法,用于实现高精度的定位和导航。引用\[1\]中提到了一些融合IMU、UWB和相机的方法,这些方法通过将各个传感器的数据在单独的定位系统中计算,然后将位置估计进行对齐和融合,以提高定位的准确性。然而,这些方法需要设置多个已知的UWB锚点,并且在某些空间受限的场景中可能不适用。 引用\[2\]中提到了一种基于VIO的UWB锚点定位方法,该方法首先使用相机和IMU提供准确的短期里程计,然后结合距离测量来估计UWB锚点的位置。当不确定性降低到某个阈值以下时,锚点位置估计被认为是固定的。 引用\[3\]中提到了一些使用相机、IMU和UWB数据进行定位和建图任务的方法。这些方法通过同时融合视觉、惯性和UWB数据,可以获得锚点位置估计并改进姿态估计。这些方法利用UWB数据的基本原理是从状态向量中的位置角度确定残差,通过利用IMU状态传播过程的结果,可以为每个距离测量导出UWB残差,从而解决时间偏移问题并利用所有可用的距离信息。 综上所述,IMUGPS和UWB融合定位是一种利用多种传感器数据相互补充的方法,以提高定位的准确性和可靠性。通过融合不同传感器的数据,可以克服各个传感器单独使用时的局限性,并实现更精确的定位和导航。 #### 引用[.reference_title] - *1* *2* *3* [ICRA 2021| 基于精确和减少漂移的关注距离的Camera-IMU-UWB融合定位方法](https://blog.csdn.net/qq_29462849/article/details/118774029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纷繁中淡定

你的鼓励是我装逼的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值