基于数据融合和串级PID的小型四旋翼无人机高度测量与控制系统

2023-05-16

作者:Tomy

摘要:
简单介绍了一种基于 Mahony 算法无人机姿态解算算法,并在这个的基础上设计了一

种融合惯导加速度计和气压计的小型无人机高度测量系统, 同时利用该高度测量系统设计了
基于串级 PID 的小型无人机高度控制器。经过实验验证表明,该高度测量系统能够较为准
确的反映无人机的高度数据和高度变化, 同时该高度控制器也能较好的控制无人机高度进行
升降和悬停。


关键词:四旋翼无人机;惯性导航;互补融合;气压计;PID 控制器


1 引言
小型四旋翼无人机是一种结构简单,飞行灵活的无人机系统[1]。其相对于普通固定翼无人机的优势之一在于可以完成悬停动作, 而悬停动作需要依靠可靠的高度测量, 通过相应的控制算法实现。


目前,国内外的无人机高度测量主要通过机载的气压传感器来实现。一般的气压传感器受测量环境的影响,容易产生较大的测量误差。同时受传感器的限制,在数据转换过程中存在不同程度延迟, 对高度的变化的动态响应不够迅速。 飞行器上搭载的惯性测量单元 (IMU) ,能够测量在机体坐标下三个轴的加速度运动情况, 通过姿态矩阵的转换, 能够变换到大地坐标轴下。通过对加速度的积分,得到速度,再次积分得到位移,能够准确的反应无人机系统的运动变化情况。但是在积分过程中不可避免的会累积误差,这样在长时间之后,测量数据就会变得不够可靠[2]。


2 基于数据融合的高度测量


2.1 飞行器姿态坐标变换
定义     为飞行器在机体坐标下的姿态,    为飞行器在大地坐标下的姿态。根据捷联惯性导航, 绕大地坐标三次旋转可以得到大地坐标到机体坐标的变换, 分别用方向余弦矩阵和 四元数[3]表示:
 

反之为绕机体坐标三次旋转可以得到机体坐标到大地坐标的变换    。在进行坐 标变换之前,需要求解出飞行器的姿态。本文设计了基于 Mahony[4]滤波器的飞行器姿态估 计算法,其主要流程为:

1、将重力矩阵    转移到机体机体坐标上,   
2、重力与加速度矩阵叉乘得到误差,   
3、对误差进行 PI 计算,   
4、校正陀螺仪,   
5、一阶龙格库塔法更新四元数   
6、重复迭代。


完成姿态的计算之后,姿态矩阵被不断的更新,这样就可以用其将机体坐标系下得到的加速度变换到大地坐标下,从而得到对地方向上的加速度:
 

式中:
  ,大地坐标下对地加速度;

 ,机体坐标下加速度测量矩阵。


2.2 气压传感器与加速度计互补融合


根据气压传感器和加速度计的不同特点[5],本文设计了一种两级互补融合算法,其主要流程如图 1 所示:
 


首先利用气压计微分量与 2.1 节所述求得的对地加速度  进行一阶互补融合得到一个对地速度的估计值 ,然后利用该对地速度的估计值  与气压计原始数据进行一阶互补融合得到最终的高度估计值  。一阶互补融合根据如下式子计算:
 


式中:
 ,当前时刻融合得到的值;
 ,上一时刻融合得到的值;
 ,当前时刻原始数据,本文中分别对应气压计微分值和气压计原始值;
 ,变化量,本文中分别对应加速度值和对地速度估计值;
 ,计算权重;
 ,计算时间间隔;


在实际计算中可以根据加速度计和气压计的可信赖程度调整计算权重,从而使估计值更快的收敛。通过两次互补融合,可以得到一个比较可靠的对地速度的估计值  ,高度估计  


3 基于串级PID的无人机高度控制器


根据 2.2 节得到的对地速度的估计值  ,高度估计值  ,可以设计出基于串级 PID 的高度控制器。
PID 控制算法如下:
 

在上式中,
 为比例系数,  为微分系数,  为积分系数,dt 为时间间隔, e(t) 为误差。


根据系统的特点我们设计出串级 PID 控制器。串级 PID 相对于单级 PID 来说,能够使得控制任务细化,使控制系统更趋于稳定[5]。


在 PID 计算中分为内环和外环,其中外环为高度环反馈控制,利用高度估计值  和目标高度值  作为控制输入。内环为速度环反馈控制,利用对地速度的估计值  和外环高度环的输出作为控制输入。整个控制系统流程如图 2 所示:


4 算法验证与实验结果

4.1四旋翼无人机硬件
实验平台采用自行研制的四旋翼无人飞行器,平台实物如图 3、4 所示,其组成结构如图5 所示:


该飞行平台包括了飞行控制系统、飞行地面站系统、图像采集系统等。其中飞行控制系统实时通过IIC数据总线读取陀螺仪\加速度计(MPU6050),气压传感器(MS5611),电子罗盘(HMC5883L)中的数据,通过 Mahony 算法解算得到飞行器的飞行姿态,然后融合加速度计和气压计的数据, 得到飞行器高度数据。 主控芯片通过这些数据实时控制飞行器的高度和姿态,并且将计算得到的 PWM 信号传递给电子调速器(ESC),实现对电机转速的控制。无人机实时的将飞行器上的各种数据回转到地面站上,以便于实时监控和后期分析。整个飞行器姿态解算的频率为 500hz,电子调速器控制电机转速的频率为 400hz,高度计算和高度控制的频率为 40hz。
 

 

 


4.2高度测量实验结果
高度测量实验分为两部分:1、静态高度测量;2、动态高度测量。静态高度测量是通过外力将测量装置放置不同高度,并观测高度测量的结果。其测量结果如图 6 所示:
 
结果分析:高度估计值相对于气压计原始数据曲线更平滑,而且速度估计值基本能反映高度的变化过程。 由于一阶互补滤波本质上是一个低通滤波器和高通滤波器的组合, 所以作用在气压计原始数据上的低通滤波使得互补得到的数据存在 1s 左右的延迟。


动态高度测试是通过外力使测量装置作峰-峰值为 0.5m 的近似正弦运动,并观测高度测量的结果。其测量结果如图 7 所示:
 
结果分析:由于实际运动为峰-峰值为 0.5m 的近似正弦运动,所以融合得到的高度和速度基本能反映运动过程。而气压计原始数据虽然也能反映高度的变化过程,但是在峰-峰值上发散太过于严重,与实际不相符。


4.3高度控制实验结果
高度控制实验是在真实飞行状况下,测量起飞到悬停的整个过程高度变化,并与目标高度值作对比。高度控制结果如图 8 所示:
 
结果分析:无人飞行器能够根据目标高度进行动态跟踪,误差保持在±0.5m 以内。


5 结语
本文采用基于加速度计与气压计融合的无人机高度测量系统能够精确测量无人机的高度,并且能够快速响应无人机的高度变化。同时本文采用串级 PID 控制器对无人机的高度进行控制,能够达到良好的控制效果。由于无人机高度受姿态和环境因素变化较大,所以下一步还将针对干扰及飞行器运动状态下的高度测量与控制进行优化。


参考文献
[1] Mahony R,Kumar V,Corke P.Multirotor Aerial Vehicles Modeling, Estimation and Control ofQuadrotor[J].IEEE Robotics& Automation Magazine,2012,19(3): 20-32
[2]谢勇,陈照海,陈万法.某无人直升机高度测量系统融合方法[J].兵工自动化,2010,29(2):85-90
[3]邓志红,付梦印,张继伟等.惯性器件与惯性导航[M].科学出版社,2012
[4]Hamel T,Mahony R.Attitude estimation on SO(3)based on direct inertial measurements[C].Proceedings of 2006 IEEE International Conference on Robotics and Automation. Florida,Orlando,2006:2170-2175
[5]李洪辉,裴海龙.无人直升机高度测量的设计与实现[J].自动化与仪表,2012,7

[6]谭广超.四旋翼飞行器姿态控制系统的设计与实现[D].大连理工大学硕士学位论文,2013

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于数据融合和串级PID的小型四旋翼无人机高度测量与控制系统 的相关文章

随机推荐

  • ubuntu下的串行口通讯编程

    Linux 操作系统从一开始就对串行口提供了很好的支持 xff0c 本文就 Linux 下的串行口通讯编程进行简单的介绍 串口简介 串 行口是计算机一种常用的接口 xff0c 具有连接线少 xff0c 通讯简单 xff0c 得到广泛的使用
  • stm32 摄像头寻迹+平衡车

    链接 xff1a http download csdn net download u010925447 9866006
  • 【书籍推荐】自己动手写操作系统

    于渊 编著 尤晋元 审校 2005年8月出版 ISBN 7 121 01577 3 48 00元 xff08 含光盘1张 xff09 374页 用理论指导动手实践 xff0c 用实践深化理解理论 xff01 本书在详细分析操作系统原理的基础
  • 贝塔、伽马分布

    最近开始自学PRML xff0c 为此又补了概率论中的一些知识点 相较于古典概率通过各种估计手段来确定参数的分布 xff0c 贝叶斯学派则是使用后验概率来确定 xff0c 为了方便计算后验概率 xff0c 引入共轭先验分布来方便计算 xff
  • elementUI中el-dropdown的command如何传递多个参数

    el dropdown的command事件默认传递一个参数 xff0c 即每个下拉选项el dropdown item中设定的command的值 xff0c 那么如何传递多个参数呢 xff1f 实现方法 xff1a 动态设置el dropd
  • 记录ubuntu18.04下搭建nuttx RTOS的过程

    官方参考链接 xff1a https nuttx apache org docs latest quickstart install html Getting started 61 61 gt Installing 主要记录一下按照链接指导
  • 词袋

    brief描述子 一般Sb 61 48 Lb为256 brief描述子不具备旋转尺度不变性 词袋 提取大量图片的描述子 xff0c 将描述子用k means聚类成K堆 xff0c 这是第n层 xff0c 把每一堆再次聚类形成下一层 xff0
  • 板子和电脑配置ros通信

    它们需要连在同一个路由器上 1 获取板子和电脑的ip 比如板子名为RV1126 RV1109 xff0c ip为192 168 5 48 电脑名为qian hw xff0c ip为192 168 5 25 2 在电脑端设置 xff1a ba
  • 通过跟踪效果来看vins输出结果

    下面是vins跑出来的结果 xff0c vio输出是绿线轨迹 线速度是0 28m s xff0c 拐角的地方是我根据蓝线把vio轨迹掰正了 vio在初始阶段走的比较弯曲 xff0c 后有一段笔直的轨迹 xff0c 这里旋转非常慢 xff0c
  • vins-fusion 融合rtk原理

    vins fusion融合rtk原理 xff1a 使用优化的方式融合 xff0c 假设融合后的位姿是fusion T n vio输出的位姿是vio T n xff0c rtk输出的位姿是rtk T 只有最后一帧 那么 fusion T的初值
  • Docker 方式搭建 Prometheus + grafana

    prometheus 官方仓库 prometheus 官方文档 GETTING STARTED 参考 基于docker 搭建Prometheus 43 Grafana的过程详解 按照官方仓库文档中写的 Docker images Docke
  • 报错:The following signatures couldn‘t be verified because the public key is not available: NO_PUBKEY

    apt update 最后报错 sudo apt update 报错 91 packages can be upgraded Run 39 apt list upgradable 39 to see them W An error occu
  • ubuntu上 eclipse+arm-linux-gcc+jlink+s3c2440a开发环境搭建

    0 环境搭建概述 所需工具 xff1a xff08 1 xff09 Eclipse Eclipse的本身只是一个框架平台 xff0c 但是众多插件的支持 xff0c 使得Eclipse拥有较好的灵活性 xff08 2 xff09 CDT C
  • 在函数里修改全局变量

    names 61 39 Lilei 39 def change name global name 全局变量我来撑控 names 61 39 Hi 39 print names change name 39 Hi 39 print names
  • 守护进程详解及创建,daemon()使用

    转载于 xff1a http www cnblogs com mickole p 3188321 html 侵删 一 xff0c 守护进程概述 Linux Daemon xff08 守护进程 xff09 是运行在后台的一种特殊进程 它独立于
  • 在VsCode中如何使用Git

    大部分前端都是用VsCode作为代码编辑器 xff0c 那么我们如何在VsCode中使用Git呢 xff1f 准备工作 xff1a 1 在vscode中安装插件GitLens 使用教程 xff1a 1 点击文件 新建窗口 2 克隆git仓库
  • 关于C++继承类和对象

    继承是C 43 43 中一个很好的特性 xff0c 它能够从已有的类派生出新的类 xff0c 而继承类继承了原有类 xff08 称为基类 xff09 的特征 继承类有三种 xff0c 公有继承 保护继承 私有继承 使用公有继承 xff0c
  • 是程序员就去Leetcode刷题吧

    leetcode 是一个美国的在线编程网站 xff0c 上面主要收集了各大IT公司的笔试面试题 xff0c 对于应届毕业生找工作是一个不可多得的好帮手 这个网站的的好处在于它会告诉你测试数据以及你的输出和正确的输出是什么 xff0c 方便大
  • 四旋翼飞行器的控制规律及算法实现

    四旋翼飞行器的控制规律及算法实现 http bbs loveuav com forum php mod 61 viewthread amp tid 61 211 amp fromuid 61 19507 出处 爱无人机 专注无人机开发与设计
  • 基于数据融合和串级PID的小型四旋翼无人机高度测量与控制系统

    作者 xff1a Tomy 摘要 xff1a 简单介绍了一种基于 Mahony 算法无人机姿态解算算法 xff0c 并在这个的基础上设计了一 种融合惯导加速度计和气压计的小型无人机高度测量系统 xff0c 同时利用该高度测量系统设计了 基于