【高度预估】基于matlab卡尔曼滤波和粒子滤波无人机离地高度估计【含Matlab源码 2255期】

news2024/9/29 23:30:41

⛄一、卡尔曼滤波和粒子滤波无人机离地高度估计

1 无人机离地高度估计算法
1.1 离地高度估计基本方案

  1. 无人机安装两路距离测量传感器, 传感器能在小型无人机飞行的一般高度正常工作, 且两个传感器的安装位置保证它们能够测量相同的离地高度信息。

  2. 两路距离测量传感器以1s的频率向无人机的飞行控制计算机返回离地高度信息。该周期即为本文设计的卡尔曼滤波器的递推周期。

  3. 高速数字信号处理器运行卡尔曼滤波器, 对两路传感器返回的信息进行数据融合, 得到离地高度的最优估计。

  4. 由于利用卡尔曼滤波对两路传感器进行数据融合得到的估计结果将优于仅用任何一路传感器的结果, 因此, 本文采用基于卡尔曼滤波的两路距离传感器数据融合算法方案, 具有高可靠性、高精度的特点。

1.2 算法步骤及实现特性
1.2.1 系统模型

建立良好的系统状态模型, 是设计优良的卡尔曼滤波器的基础。考虑无人机在测量离地高度时的垂直方向机动因素, 选取垂直方向的距离、速度、加速度作为状态量, 选择两个距离测量传感器的测量值为观测量。

设tk时刻的距离为dk, 速度为vk, 加速度为ak, 加加速度为jk, 两个距离测量传感器的测量值分别为Zk1, Zk2, 测量噪声为Vk1, Vk2, 测量采样周期为T。

其中, jk是系统状态变化的随机量, 用零均值的白噪声表示。即得到式 (1) :
在这里插入图片描述
在这里插入图片描述
1.2.2 卡尔曼滤波离地高度估计算法步骤

  1. 预测过程

由系统状态方程公式 (5) , 得到系统的状态一步预测[6,8], 见式 (9) :
在这里插入图片描述
式中q即为公式 (1) 所示的系统状态随机量。预测协方差表征了系统状态预测的误差程度。

  1. 状态更新过程

滤波增益计算[8]见式 (11) :
在这里插入图片描述

⛄二、部分源代码

% 为 terpcom 应用程序创建 KF 的主文件
function main()
% 一般命令
close all;
clear all;
clc;

DEBUG =0;

figure(1); hold on;

% 初始化
dt = 0.1; % 时间
bet = 1/10; %贝塔
A = [1 0; 0 exp(-betdt)]; % 状态转移矩阵
% state are -> x1=h, x2 = h_err = h_pred - h = h_msl-h_dma - h
% x1dot = w1 ~=N[0, sigma1^2], sigma1 = 20
% x2dot = -beta
x2+w2 sqrt(2sigma2^2*beta) -> sigma2=45

Xhat = [160 2]';
Phat = [10 0; 0 10];
% 过程噪声
sigma1 = 20dt;
sigma2 = 45
dt;

% 测量模型
H = [1 1; 1 0];

% 测量噪声
sigma3 = 10dt;
sigma4 = 20
dt;

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

% 无人机初始化
uvel = 10;
xv = uvelcos(0);
yv = uvel
sin(0);
zv = 160;

%创建地形
[terrainHeight,terrainTime] = createTerrain;
plot(terrainHeight,‘r’);

%创造真实的东西
hmslTrue = mslDataTrue(zv,terrainTime);
hdmaTrue = dmaDataTrue(terrainHeight);

% 创建 MSL 数据
hmsl = mslData(zv,terrainTime,sigma3/dt);
plot(hmsl,‘b’);
plot(ones(length(hmsl),1)*zv,‘k’);

%创建 DMA 数据
hdma = dmaData(terrainHeight,sigma4/dt);
plot(hdma,‘.b’);

% 粒子过滤器设置
N =100; %粒子数
xp=[];
% 根据初始正态分布制作随机粒子
for ii = 1:N
xp(ii,1)= 60 + sigma1randn;
xp(ii,2)= 2 + sigma2
randn;
end

if(DEBUG)
figure();
plot(1,p(:,1),‘*r’,1,p(:,2),‘*b’);
legend(‘initial distribution’);
end

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]范巧艳.基于卡尔曼滤波的无人机离地高度估计算法[J].电子设计工程. 2018,26(21)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单源最短路径(贪心算法)

最近在研究算法设计与分析&#xff0c;看到了单源最短路劲&#xff0c;特发文一篇。 下面代码就是实现这个有向联通图 废话不说直接上代码 #include<stdio.h> #define m 5000 int c[5][5] {m,10,m,30,100,m,m,50,m,m,m,m,m,m,10,m,m,20,m,60,m,m,m,m,m, }; int dist[5]…

现在市面跑步耳机哪款好用、分享五款适合跑步用的耳机推荐

近这两年来&#xff0c;运动健身风潮一直都非常火&#xff0c;但是一个人运动健身&#xff0c;难免无聊&#xff0c;如果有音乐的陪伴&#xff0c;时间都能过得快很多&#xff0c;这时候就需要一款运动蓝牙耳机了。不过购买运动蓝牙耳机&#xff0c;比挑选普通的耳机还更需要花…

[附源码]Python计算机毕业设计Django架构的博客平台设计

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

节约软件开发成本,关键在这儿。

​1、节省软件开发成本的核心在减少返工&#xff01; 软件企业利润 销售额 - 成本。企业的利润少&#xff0c;可能是销售额太少&#xff0c;也可能是成本太高。而增加销售额&#xff0c;取决于销售人员、客户、市场、产品等众多不可控因素&#xff0c;可遇而不可求。相反&…

RabbitMQ-死信交换机

文章目录1 死信交换机1.1.什么是死信交换机1.2 利用死信交换机接收死信1.3 总结2 TTL2.1 接收超时死信的死信交换机2.2 声明一个队列&#xff0c;并且指定TTL2.3 发送消息时&#xff0c;设定TTL2.4.总结3 延迟队列3.1 DelayExchange原理3.2 使用DelayExchange3.3 总结1 死信交换…

智云通CRM:如何判断客户忠诚度的高低?

客户忠诚度是一个相对概念&#xff0c;说明了客户在购买同类产品或服务时对某一企业或品牌光顾比重的高低。注意&#xff0c;不能跨产品或服务进行客户忠诚度比较&#xff0c;因为这样比较是没有意义的。客户忠诚度可以通过以下指标来衡量。 一、 客户重复购买的次数 客户重复…

【LeetCode每日一题:1769. 移动所有球到每个盒子所需的最小操作数~~~双重循环遍历模拟】

题目描述 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中&#xff0c;你可以将 一个 小球从某个盒子移动到一个与之相邻…

区块链共识机制 (Consensus)(PoW,PoS,PAXOS,RAFT,PBFT)

文章目录ConsensusProof of Work&#xff08;PoW)Proof of Stake&#xff08;PoS&#xff09;PAXOSPhases in PAXOSPrepare PhaseAccept PhaseReplicated And Fault Tolerant&#xff08;RAFT&#xff09;Leader ElectionLog ReplicationPractical Byzantine Fault Tolerance (…

Ubuntu18.04开机自动启动终端并运行脚本

目录 1.创建测试脚本文件 2.添加到开机自启动 1.创建测试脚本文件 CtrlAltT打开终端在终端中输入以下指令&#xff0c;创建.sh文件。 touch “文件名”.sh 双击打开test.sh文件&#xff0c;输入以下测试代码&#xff0c;并保存 #!/bin/bash source /opt/ros/melodic/setu…

用于Python降维的线性判别分析

减少预测模型的输入变量数称为降维。 较少的输入变量可以产生更简单的预测模型&#xff0c;该模型在对新数据进行预测时可能具有更好的性能。 线性判别分析&#xff08;简称LDA&#xff09;是一种用于多类分类的预测建模算法。它还可以用作降维技术&#xff0c;提供训练数据集…

Unity 3D 导航系统||Unity 3D 障碍物

Unity 3D 导航系统 过去&#xff0c;游戏开发者必须自己打造寻路系统&#xff0c;特别是在基于节点的寻路系统中&#xff0c;必须手动地在 AI 使用的点之间进行导航&#xff0c;因此基于节点系统的寻路非常烦琐。 Unity 3D 不仅具有导航功能&#xff0c;还使用了导航网格&…

牛客练习赛106 药丸

牛客练习赛106 药丸 2022.12.02 与舍友四排玩了团体对抗的模式&#xff0c;练习赛就只有40分钟的剩余时间了。 题目描述 来源&#xff1a;牛客网 牛牛有 nnn 个属性&#xff0c;第 iii 个属性的初始值为 aia_iai​ &#xff0c;牛牛想把第 iii 个属性的值变为目标值 bib_ib…

享元模式Flyweight

1.意图&#xff1a;运用共享技术有效地支持大量细粒度的对象。 2.结构 描述一个接口&#xff0c;通过这个接口Flyweight可以接受并作用于外部状态&#xff1b; ConcreteFlyweight实现Flyweight接口&#xff0c;并为内部状态&#xff08;如果有&#xff09;增加存储空间。Conr…

超融合时序数据库YMatrixDB与PostGIS案例

目录 什么是PostGIS PostGIS的特点 PostGIS 基础知识 OGC的WKB和WKT格式 插入数据实例 EWKT、EWKB和Canonical格式 插入数据实例 SQL-MM格式 常几何类型和函数 常用操作符 常用操作函数 OGC标准函数 管理函数 几何对象关系函数 几何对象处理函数 几何对象存取函…

Redis中的事务可以满足ACID属性吗?

前言 事务是数据库操作的最小工作单元&#xff0c;由一个有限的数据库操作序列构成。这些操作要么全部执行&#xff0c;要么全部不执行&#xff0c;是一个不可分割的工作单位。一键获取最先java文档。 事务在执行时&#xff0c;会提供专门的属性保证&#xff1a;原子性、一致性…

[附源码]Python计算机毕业设计Django高校学生摄影作品展示平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

sentinel读取监控文件分析

主要分析的类 com.alibaba.csp.sentinel.dashboard.metric.MetricFetcher在sentinel监控数据db持久化中&#xff0c;更换了MetricController的存储实现&#xff0c;可以发现com.alibaba.csp.sentinel.dashboard.repository.metric.MetricsRepository原来只有com.alibaba.csp.s…

第4季3:Hi3518e的sensor接口引脚复用设置

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 在第2、3季的内容中&#xff0c;在板载系统的配置脚本即/etc/profile文件中&#xff0c;都有如下这句代码&#xff1a; ./load3518e -i -sensor ar0130 -osmem 32 -total 64 在第4季1&#xff1a…

MAC glucuronide linker-1/MAC glucuronide linker-2蛋白降解酶

ERRa_PROTAC&#xff08;Cpd11&#xff0c;D1oonM40%&#xff09;蛋白降解活性随着Linker的增长而减弱。Linker -(CHz)s-的化合物13d在浓度30 nM时能够降解58%的蛋白&#xff0c;浓度为100 nM时能够降解78%的ERRα蛋白&#xff0c;其降解活性不如 13c。Linker -(CHz)z-的13f&…

java计算机毕业设计ssm齐市疫苗管理系统w80jw(附源码、数据库)

java计算机毕业设计ssm齐市疫苗管理系统w80jw&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…