【无人机】【扩展卡尔曼滤波器从IMU和GPS数据计算无人机的姿态】使用不变扩展卡尔曼滤波器对微型无人机状态估计进行传感器融合(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

摘要—随着微型空中飞行器(MAVs)变得更加价格实惠和普及,它们在复杂的城市环境中的用途将变得更加理想,例如检查、监测和投递。在这些环境中的导航需求比传统GNSS系统提供的位置精度更高。虽然MAVs通常包含惯性测量单元(IMUs),但它们基于积分的状态估计随时间容易漂移。我们探讨了使用传感器融合来结合这些互补传感器的用法。在这个项目中,我们使用不变扩展卡尔曼滤波器(InEKF)来估计MAV在具有挑战性的城市环境中的位置。我们通过将估计位置与地面真实数据集进行比较来评估我们的结果。
关键词—不变扩展卡尔曼滤波器(InEKF),定位

标准的扩展卡尔曼滤波器(EKF)通过线性化动态方程来估计状态之间的协方差。然而,这会导致一些限制,比如无法保证收敛性。与此同时,增强卡尔曼滤波器(In-EKF)可以解决上述问题,并且具有严格的数学推导作为保证。

📚2 运行结果

部分代码:

%%Initializations
%TODO: load data here
data = load('lib/IMU_GPS_GT_data.mat');
IMUData = data.imu;
GPSData = data.gpsAGL;
gt = data.gt;

addpath([cd, filesep, 'lib'])
initialStateMean = eye(5);
initialStateCov = eye(9);
deltaT = 1 / 30; %hope this doesn't cause floating point problems

numSteps = 500000;%TODO largest timestamp in GPS file, divided by deltaT, cast to int

results = zeros(7, numSteps);
% time x y z Rx Ry Rz

% sys = system_initialization(deltaT);
Q = blkdiag(eye(3)*(0.35)^2, eye(3)*(0.015)^2, zeros(3));

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]Blake Karwoski, Kun Huang, Yue Wu, Zhaoguo Wang University of Michigan, Ann Arbor, MI

🌈4 Matlab代码、数据

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
扩展卡尔曼滤波器是一种常用于数据融合的滤波器,使用它对IMUGPS进行传感器融合,可以提高系统的精度和可靠性。 在C语言实现扩展卡尔曼滤波器传感器融合,需要先了解其基本原理和算法。扩展卡尔曼滤波器的主要思想是将非线性系统通过线性化的方式进行处理,将其转化为线性系统来进行滤波。 对于IMUGPS数据传感器融合,可以将IMU数据作为状态变量,GPS数据作为观测量,使用扩展卡尔曼滤波器对它们进行融合。具体流程如下: 1. 定义状态量和观测量:将IMU数据中的加速度计和陀螺仪数据作为状态量,GPS数据作为观测量。 2. 系统建模:根据IMU的运动学方程和GPS的位置测量方程,建立扩展卡尔曼滤波器的模型。 3. 初始化状态和协方差矩阵:将IMU的初始状态和协方差矩阵赋值,开始滤波过程。 4. 预测状态和协方差矩阵:利用IMU的运动学方程,预测下一个时刻的状态和协方差矩阵。 5. 状态更新:将预测的状态GPS观测的位置进行比较,进行状态的更新和卡尔曼增益的计算。 6. 更新状态和协方差矩阵:根据卡尔曼增益和观测值更新状态和协方差矩阵。 7. 重复预测和更新直至完成滤波:重复以上步骤,直至完成数据的滤波和融合。 在C语言中,可以使用数学库和矩阵库来实现扩展卡尔曼滤波器传感器融合。具体实现过程需要参考相关的算法和代码库。通过扩展卡尔曼滤波器进行传感器融合可以提高定位和导航精度,对于很多需要高精度定位和导航的应用有很重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值