RflySim | 滤波器设计实验一

news2024/11/27 3:42:10

滤波器设计实验一

一. 无人机滤波器简介

无人机在飞行时会使用滤波器来处理传感器数据、控制飞行和稳定飞行,以及实现导航和定位等功能。卡尔曼滤波器是无人机领域中常见滤波器类型之一,也称为线性二次型估计,能够从一系列不完全且包含噪声不确定性的观测量中,估计系统的未知状态其估计精度往往比单纯地基于单一观测量的方法更高。这种滤波器以它的发明者鲁道夫·卡尔曼(Rudolf E. Kalman)命名。

卡尔曼滤波器要求噪声误差满足高斯分布假设,在这个特定情况下能够产生精确的条件概率估计,卡尔曼滤波器算法主要分为两步处理。在预测步骤中,卡尔曼滤波器产生当前状态变量的预测估计,这些估计量包含不确定性,一旦出现下一个观测量(伴随着一定的误差以及随机噪声),之前的估计量会以加权平均的方式更新,其权重值会随着估计的确定性而变化,确定性越大,其权重值越大。卡尔曼滤波器是一种实时的递归滤波器,仅仅利用当前观测量和先验估计量及不确定性矩阵,而不需要增加多余的历史信息。

二. 测量原理

三轴加速度计固连在多旋翼机体,其三轴与机体坐标系一致。因此,低频的俯仰角和滚转角观测量可以由加速度计测量值近似得到:

图片

其中

图片

表示加速度计测量值。

同时还有两点需要注意:

1)为了得到更加精确的角度信息,需要消除加速度计的慢时变漂移。

2)如果机体振动很大,则 αxbm,αybm将被噪声严重污染,这样将进一步影响角度θm,φm 的估计。因此机体的减振很重要。另外姿态变化率 θ·,φ·,ψ·和角速度bω有如下关系:

图片

由此可知,俯仰角和横滚角可以由加速度计测量得到,漂移小,但噪声大。另一方面,姿态角也可以通过角速度积分得到,噪声小,但是漂移大。

三、线性互补滤波器设计

下面我们着重以俯仰角为例,详细推导下线性互补滤波,俯仰角的拉氏变换可以表示为:

图片

为了估计俯仰角,以上式子的 需要用传感器信息替代。

同时,加速度计测量的俯仰角无漂移但噪声大,我们可以将测量到的俯仰角建模为θm =θ+nθ,其中nθ 表示高频噪声,θ表示俯仰角真值。

陀螺仪的角速度测量会有漂移但噪声小,我们可以建模为:

图片

线性互补滤波的标准形式以传递函数方式表示为:

图片

为了计算机算法实现,需要对其进行离散化

图片

通过一阶向后差分法,将s表示为:

图片

进一步表示为:

图片

再把上式化为差分方程可以得到:

图片

具体推导过程请见文献[1]第8章和文献[2]第8章内容。

互补滤波器的MATLAB程序可见如下。

其中,“theta_am”和“phi_am”分别代表由加速度计计算出的俯仰角和滚转角;theta_cf”和“phi_cf”分别代表由互补滤波计算出来的俯仰角和滚转角。

function [ phi_cf, theta_cf ] = Attitude_cf(dt, z, phi_cf_k, theta_cf_k, tao)  

%函数描述:  

%  互补滤波姿态结算。

%输入: 

%  dt: 时间间隔,单位:s

%  z: 三轴角陀螺仪和三轴加速度计测量值,[gx, gy, gz, ax, ay, az]',

% 单位:rad/s, m/s2

%  phi_cf_k, theta_cf_k: 上一时刻的角度值,单位:rad

%  tao: 滤波器系数

%输出:  

%  phi_cf, theta_cf: 解算的姿态角,单位:rad

    gx = z(1); gy = z(2);

    ax = z(4); ay = z(5); az = z(6);

    %使用加速度计测量值计算姿态角

    g = sqrt(ax*ax + ay*ay + az*az);

    theta_am = asin(ax/g);

    phi_am = -asin(ay/(g*cos(theta_am)));

    %互补滤波

    theta_cf = tao/(tao + dt)*(theta_cf_k + gy*dt) + dt/(tao + dt)*theta_am;

    phi_cf = tao/(tao + dt)*(phi_cf_k + gx*dt) + dt/(tao + dt)*phi_am;  

end

> 可以得到结论

1)直接对陀螺仪测量的角速度进行积分得到的姿态角有很大的累积误差,并且还有可能发散;2)根据来自加速度计的原始数据,计算得到的姿态角不会发散,但噪声最大且有明显的尖峰,尤其是使用实际飞行中的数据时;3)使用互补滤波器估计的姿态角是平滑的并且没有累积误差。

图片

滤波器设计实验2

四、线性互补滤波器参数分析

基于上一讲中得出的滤波器公式:

图片

对其参数т值进行改变,对所给的数据进行滤波,即可分析该参数对滤波效果的影响。可在MATLAB中编写如下程序:

%参数tao对滤波效果的影响

clear;

load logdata

n = length(ax);  %采集数据个数

Ts = zeros(1,n);  %时间间隔

Ts(1) = 0.004;

for k =1:n-1

   Ts(k+1) = (timestamp(k + 1) - timestamp(k))*0.000001;

end

theta_cf = zeros(1, n);  %互补滤波得到的滚转角(对应theta)

phi_cf = zeros(1, n);  %互补滤波得到的俯仰角(对应phi)

tao = 0.001;

for i = 1 : 3

    tao = tao*10;

    for k = 2 : n

        g = sqrt(ax(k)*ax(k) + ay(k)*ay(k) + az(k)*az(k));

        theta_am = asin(ax(k)/g);

        phi_am = -asin(ay(k)/(g*cos(theta_am)));

        theta_cf(i, k) = tao/(tao + Ts(k))*(theta_cf(i, k - 1) + gy(k)*Ts(k)) + Ts(k)/(tao + Ts(k))*theta_am;

        phi_cf(i,k) = tao/(tao + Ts(k))*(phi_cf(i, k-  1) + gx(k)*Ts(k)) + Ts(k)/(tao + Ts(k))*phi_am;

    end

end

改变该程序中的 т值分别为0.01,0.1,1时的滤波效果。

图片

可以看到参数т越大,对高频噪声的滤波作用越明显。当т很大时:

图片

互补滤波器变为:

图片

相当于加速度计不起作用,只使用陀螺仪的积分值。因此,要合理选择参数т的值。

注:本实验对应demo文件对于RflySim v3.0以下版本地址为:*\PX4PSP\RflySimAPIs\Exp02_FlightControl\e4-FilterDesign\e4.1;

对于RflySim v3.0及以上版本地址为:*\PX4PSP\RflySimAPIs\5.RflySimFlyCtrl\1.BasicExps\e4-FilterDesign\e4.1

参考文献:

[1] 全权,杜光勋,赵峙尧,戴训华,任锦瑞,邓恒译.多旋翼飞行器设计与控制[M],电子工业出版社,2018.

[2] 全权,戴训华,王帅.多旋翼飞行器设计与控制实践[M],电子工业出版社,2020.

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

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

相关文章

C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)

懒大王感谢大家的关注和三连支持~ 目录 前言 一、并发服务器 1.进程并发服务器 实例代码如下: 2.线程并发服务器 实例代码如下: 二、域通信 域通信TCP实例代码如下: 三、广播与组播(UDP) 1.广播 实例代码如下: …

一个可以自动把微信聊天收到的二维码图片实时提取出来并分类的软件

10-1 如果你有需要实时地、自动地把微信各个群收到的二维码图片提取出来的需求,那本文章适合你,本文章的主要内容是教你如何实现自动提取微信收到的二维码图片,助你快速扫码,永远比别人领先一步。 首先需要准备好的材料&#xf…

51单片机汇编-点亮一个led

文章目录 前言1.打开IDE2.设置编辑器3.设置输出4. 原理图5.编写代码6 编译7.下载8.其它代码1.LED闪烁2.跑马灯 前言 51单片机基础 本章主要介绍打开一个led,具体采用51汇编 1.打开IDE 选择STC89C52RC 后缀是.asm 2.设置编辑器 3.设置输出 4. 原理图 5.编写代码 ORG 00H;伪代…

leetcode刷题日记:69.sqrt(x)

给出一个非负的整数x,返回x的平方根向下取整的结果,这个被返回的数也应该是一个非负的值。 对我们的要求是不能使用任何内置的指数函数与操作,官方还给了我们例子: 在C种不能使用pow(x, 0.5) 在python不能使用 x**0.5 既然官方已经…

【漏洞复现】weblogic-SSRF漏洞

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 漏洞测试注入HTTP头,利用Redis反弹shell 问题解决 Path : vulhub/weblogic/ssrf 编译及启动测试环境 docker compose up -dWeblogic中存在一个SSRF漏洞&#xff0…

嵌入式系统中的FPGA

举个栗子 假设你有一台智能家居系统,其中的FPGA可以被类比为智能家居中的中央控制器。 智能家居系统: 定制家居逻辑: 你希望智能家居系统能够根据你的生活习惯、时间表和喜好自动控制灯光、温度、窗帘等设备。就像FPGA中可以根据需求重新配置…

Java面向对象(进阶)-- super关键字的使用与子类对象实例化全过程

文章目录 一、super关键字的使用(1)为什么需要super?(2)super的理解(3)super可以调用的结构1、super调用方法举例1举例2举例3小结 2、super调用属性举例1举例2举例3小结 3、super调用构造器引入…

解决gtihub访问不到的

解决gtihub访问不到的 小编一开始也是找不到git但是通过查询资料,最终也是找到了解决方式 据说git的ip地址通常会变化的,可以通过地址查询网站查询到git当前的ip https://sites.ipaddress.com/github.com/在输入框中github.com,然后搜索 在…

【大数据】常见的数据抽取方法

常见的数据抽取方法 1.基于查询式的数据抽取1.1 触发器方式(又称快照式)1.2 增量字段方式1.3 时间戳方式1.4 全表删除插入方式 2.基于日志的数据抽取 数据抽取 是指从源数据源系统抽取需要的数据。实际应用中,数据源较多采用的是关系数据库。…

【计算机网络笔记】传输层——拥塞控制原理与解决方法

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

爬虫项目-爬取股吧(东方财富)评论

1.最近帮别人爬取了东方财富股吧的帖子和评论,网址如下:http://mguba.eastmoney.com/mguba/list/zssh000300 2.爬取字段如下所示: 3.爬虫的大致思路如下:客户要求爬取评论数大于5的帖子,首先获取帖子链接&#xff0c…

淘宝预定商品收不到尾款通知 - 解决方案

问题 用户在使用淘宝购买预定商品后,待补尾款时,无法收到尾款通知,从而导致错过补齐尾款无法购买预定商品,下文介绍解决方案。 解决方案 进入淘宝后,购买预定商品时,在提交订单页面时,取消勾…

雨水收集设施模块收集和利用雨水成为解决城市供水矛盾的途径之一

雨水收集设施模块是一种高效、环保的雨水收集和利用系统,它通过收集和利用雨水来解决城市供水矛盾。 雨水收集设施模块主要由雨水收集器、储水池、过滤器和水泵等组成。当雨水流入雨水收集器时,经过过滤器的过滤,进入储水池中储存。当需要用…

算法模板之单调栈解密 | 图文详解

🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️单调栈讲解1.1 🔔单调栈的定义1.2 🔔如何维护一个单…

【错误解决方案】ModuleNotFoundError: No module named ‘selenium‘

1. 错误提示 ModuleNotFoundError: No module named selenium,这意味着你试图导入一个名为 selenium 的模块,但Python找不到这个模块 2. 解决方案 安装缺失的模块: 如果你确定模块名称正确但仍然收到这个错误,那么可能是你没有安装这个模块…

二维码智慧门牌管理系统升级:详细展示门牌信息,让你的生活更便捷

文章目录 前言一、旧问题的解决与升级特点二、满足信息平台要求 前言 随着科技的不断发展,我们的生活正日益智能化。其中,二维码智慧门牌管理系统成为了智能生活的一个重要组成部分。最近,这一系统经过新的升级,为我们的生活带来…

HTML5+CSS3实现小米商城(课程设计版)

前言 这个小米商城用到了htmlcssjs,内容是今年6月份的。 结构相对简单,比较容易理解。 如果想要纯htmlcss实现的小米商城,可以看我的这个作品 HTMLCSS实现小米商城 如果需要其他网页作品了,可以看主页其他作品。 HTMLCSS实现华为…

文档QA综述:关于多页文档,多模态,检索增强最新的进展

关于Document,Multimodal,RAG最新的进展 一:PDFTriage 一:PDFTriage 题目: PDFTriage: Question Answering over Long, Structured Documents 机构:斯坦福大学,Adobe Research 论文: https://arxiv.org/pd…

MAC苹果电脑系统清理垃圾软件CleanMyMac4.15

如今电脑成为大多数人工作的工具,使用得越久就越需要清理垃圾软件。系统垃圾、废纸娄垃圾、大型和旧文件这些通常都占用了我们的电脑几G的空间。 想要清除不必要的垃圾文件,可以使用mac卸载软件CleanMyMac X,这款清理垃圾软件可以智能扫描Ma…

探索Kosmos-2模型的神奇功能

Kosmos-2是一个多模态大语言模型,它可以理解和生成包含图像和文本的内容。它的特点是能够将文本中的指代表达式(如“这个”、“那个”等)与图像中的物体对应起来,实现局部理解和交互。如果你想使用Kosmos-2模型,你可以…