【状态估计】基于线性卡尔曼滤波器和粒子滤波器无人机估计地形高度(Matlab代码实现)

本文探讨了无人机使用线性卡尔曼滤波器和粒子滤波器进行地形高度估计的方法。线性卡尔曼滤波适用于线性系统,而粒子滤波则适用于非线性系统。文章通过模拟距离传感器的观测结果,比较了两种滤波技术在处理嘈杂数据时的效果,并提供了Matlab代码示例。
摘要由CSDN通过智能技术生成

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

无人机的地形高度估计可以使用线性卡尔曼滤波器和粒子滤波器这两种方法。

线性卡尔曼滤波器是一种常用的状态估计方法,适用于线性系统,并且假设系统是高斯分布。在无人机估计地形高度的应用中,可以使用线性卡尔曼滤波器来追踪无人机的高度信息。其中状态变量可以是无人机的高度以及其变化率,观测变量可以是来自传感器的高度测量值。通过预测-更新的过程,线性卡尔曼滤波器可以根据当前观测值和系统模型对无人机的高度进行估计。

粒子滤波器是一种非线性状态估计方法,适用于非线性系统,并且不对系统的概率分布做出特定的假设。在无人机估计地形高度的应用中,可以使用粒子滤波器来对无人机的高度进行估计。粒子滤波器通过建立一组状态粒子来表示系统的概率分布,并根据观测值来更新这些粒子的权重。通过重新采样和重要性重采样的过程,粒子滤波器可以对无人机的高度进行估计。

需要注意的是,选择使用线性卡尔曼滤波器还是粒子滤波器取决于系统的非线性程度以及观测数据的性质。对于较为简单的系统和线性观测模型,线性卡尔曼滤波器可能是一种较好的选择。对于复杂的非线性系统和非线性观测模型,粒子滤波器可能更加适合。

综上所述,无人机估计地形高度可以使用线性卡尔曼滤波器和粒子滤波器进行。具体选择哪种方法需要根据系统的特点和应用需求进行评估和选择。

本文模拟了安装在无人机中的距离传感器从地形获得的观测结果,并试图通过嘈杂的观测来估计地面的当前高度。线性卡尔曼滤波和粒子滤波技术都得到了实施和比较。

📚2 运行结果

 

 

 

部分代码:

% process noise
sigma1 = 20*dt;
sigma2 = 45*dt;

% measurement model 
H = [1 1; 1 0];

% measurement noise
sigma3 = 10*dt;
sigma4 = 20*dt;

Q = diag([sigma1 sigma2]);
R = diag([sigma3 sigma4]);


% UAV initialization
uvel = 10;
xv = uvel*cos(0);
yv = uvel*sin(0);
zv = 160;

% create terrain
[terrainHeight,terrainTime] = createTerrain; 
plot(terrainHeight,'r');

%CREATE TRUE STUFF
hmslTrue = mslDataTrue(zv,terrainTime);
hdmaTrue = dmaDataTrue(terrainHeight);

% create MSL data
hmsl = mslData(zv,terrainTime,sigma3/dt);
plot(hmsl,'b');
plot(ones(length(hmsl),1)*zv,'k');

% create DMA data
hdma = dmaData(terrainHeight,sigma4/dt);
plot(hdma,'.b');

% particle filter settings
N =100; %number os particles
xp=[];
% make the random particles based on initial gaussian distribution
for ii = 1:N
    xp(ii,1)= 60 + sigma1*randn;
    xp(ii,2)= 2 + sigma2*randn;
end

if(DEBUG)
    figure();
    plot(1,p(:,1),'*r',1,p(:,2),'*b');

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]杜云峰.卡尔曼滤波器在过程估计中的应用[J].机电产品开发与创新,2007(04):142-143.

[2]王涛,谢婧怡,孟丽岩,李勐.基于平方根容积卡尔曼滤波器的非线性模型参数识别[J].黑龙江科技大学学报,2023,33(01):109-115.

[3]HSO (2023). Estimate Terrain Height using Linear Kalman Filter and Particle Filter

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值