MATLAB卡尔曼数字滤波惯性测量单元数据(行驶距离和速度估计)

惯性测量单元 (IMU) 是惯性导航系统 (INS) 的一个组件,惯性导航系统是一种导航设备,用于在没有外部参考的情况下计算移动物体的位置、速度和方向。 该项目开发了一种方法,用于消除加速度计测量中的偏差,并估计移动物体的行进距离和速度。 估计是使用卡尔曼滤波的预测和更新阶段完成的,卡尔曼滤波是一种使用状态空间技术的递归滤波。 对执行距离和速度估计的模拟,使用不同采样频率的多个加速度计数据用于分析偏差因素。

卡尔曼数字滤波

卡尔曼滤波器只是一种最优的递归数据处理算法。 它处理所有可用的测量值,无论其精度如何,以估计当前感兴趣的变量的值,并使用:

  • 系统和测量设备动力学知识。
  • 动态模型中系统噪声、测量误差和不确定性的统计描述。
  • 有关感兴趣变量的初始条件的任何可用信息。

一个系统由一些已知的控制驱动,测量设备提供某些相关量的值。 这些量代表可用于估计目的的物理系统的数据。

任何测量都会在某种程度上受到噪声、偏差和设备不准确的影响。 也可能有许多不同的测量设备,每个都有自己特定的动态和误差特性,可以提供有关特定变量的一些信息,并且希望以系统和优化的方式组合它们的输出。 卡尔曼滤波器结合所有可用的测量数据,加上有关系统和测量设备的先验知识,以使误差在统计上最小化的方式产生所需变量的估计。

惯性测量单元

惯性测量单元 (IMU) 是一种传感系统,用于根据运动引起的惯性效应确定刚体运动的运动学变量。 加速度计 (ACC) 和陀螺仪 (gyros) 等惯性传感器是导航系统中使用的惯性测量单元的核心。 这种传感器广泛用于估计空中、海上和陆地车辆的位置、速度和高度。 IMU 的等级可能会因实施的传感器而异。 有些技术价格昂贵,因此在具有成本效益的应用中,首选 MEMS(微机电系统)技术。 MEMS 的进步扩大了可能的应用范围,包括人类和动物运动捕捉等领域。

卡尔曼滤波算法

偏置计算和分析

time=[];
u1=[];
n = 100; 
for i = 1:1:n
 time(i)= full(i);
 u1(i) = full(i+n);
end
time = time';
u1 = u1';

duration = size(time); 
dt = 1; 

A = [1 dt;0 1]; 
B = 0; 
u=0;
P = [1 0;0 1];
H = [1 0;0 1]; 
R = [1 0;0 1]*10^(-3);
k1 = [u1]; 
Q= [0;0]; 
Q_estimate = Q;

Y_p = [];
Y_v = [];
x_estimate_ay = []; 
y_estimate_ay = [];
kal_x_gain_ay =[];
Q_meas_x=[];

for t = 1:1:duration
% Predict
 % Predicted State

MATLAB源代码

详情参阅 - 亚图跨际

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值