APP下载

无人机数据采集EKF滤波悬停稳定的研究与应用

2018-03-27,,

计算机测量与控制 2018年3期
关键词:飞控卡尔曼滤波旋翼

, ,

(长沙理工大学,长沙 410114)

0 引言

近几年,无人机技术越来越成为了一个高度集成的高科技,内容涉及自动控制技术、遥感技术、图像处理技术、激光技术、信息技术、气动力设计技术等领域的成果应用[1]。因无人机具有的垂直起降与空中悬停等飞行能力可以在任何环境下起降,这恰好与军用、商业及民用的相关方面的需求相吻合,如侦查、信号传输中继、航拍摄影、资源勘探、农业植保、大气监测、交通监控、边境巡逻、电力线检测、反恐侦查、森林防火等。在无人机能完成很多高难度任务的同时,要求飞行控制系统更加稳定。利用导航技术、传感技术和飞行控制律等使无人机趋向于小型化和高精度迫在眉睫,以减少工作任务中出现故障的机率[2]。四旋翼无人机是无人机研究中的一个热门,与单旋翼相比,它结构简单,经济实惠。四旋翼无人机姿态和位置通过改变4个电机的转速形成转速差来控制。它机动性强,可以在室内相对狭小的空间飞行;效率高,一对电机顺时针旋转,另一对逆时针旋转,由电机旋转产生的旋转力矩相互抵消,而不需像单旋翼一样增加尾桨来抵消主浆的旋转力矩。但这种无人机负载较小,因此对机载硬件的要求也更加严格。建立在已有的技术上通过对无人机实时数据采集,以ARM嵌入式系统作为上位机,通过Linux 下嵌入式 C++的编程,严谨合理的科研手段改善获得无人机设备的运行状态[3],对于提高无人机各方面性能和诊断具有重要的意义。

随着智能先进控制技术的发展,许多理论中先进控制算法和滤波已应用到无人机控制中。文献[4]提到了模型控制的智能学习方法实现了无人直升机的倒飞悬停控制。Sessa S等人针对载体运动过程中产生的额外加速度提出了采用自适R阵来减小加速度的干扰[5-6]。文献[7]提出无人机在水下悬停也可以得到较好的调节。文献[8]在Matlab simulink环境下设计出了十字翼布局无人机非线性仿真,悬停阶段的PID控制律设计。文献[9]设计了悬停模式下的高度控制,在反馈线性代的基础上采用PID控制设计。文献[10]指出四旋翼悬停控制模型可近似一个线性定常欠强耦合系统,系统的不稳定利用二次型最优控制对系统进行镇定。文献[11-13 ]针对卡尔曼滤波及其实时应用,提出使用新息判断野值是否存在,并采用了最小二乘法结合UKF对野值进行处理,提高了系统抗野值性能。本文借鉴文献[10-13]的基础上,设计了一种基于气压计值换算成高度自适应扩展卡尔曼滤波算法,并结合四旋翼无人机对高度进行实时采集数据,有效增加了无人机悬停状态下的稳定性,大大降低了线性加速度和周围测量

噪声对测量结果的影响。

1 无人机扩展Kalman滤波器模型建立

递归最小二乘(RLS)算法是最小二乘法的递归算法。它是由前一时刻滤波器权重向量的最小二乘解,根据当前新的数据递归计算当前权重向量的最新估计,因此是一种在线更新算[ 13]。滤波器是一种从混合信号恢复出所需信号的模块或算法,在信号处理领域,噪声的频率与有用信号频率的分布常常包含两种情况。一种是两者的频率分布在不同的频段区域,另一种是两者的频率分布在相同频段范围或者噪声是随机的。此时,有效的方法就是根据相应噪声统计特性在某一误差准则下设计相对于的自适应滤波器。常用的误差准则包括最小均方误差、最小二乘、最小方差等。

Kalman滤波器是一种以最小二乘法为基础,核心原理在于预测和测量反馈,它由线性系统状态预测方程和线性系统观测方程组成。

考虑如下非线性离散状态空间模型:

xk=f(xk-1)+w(k-1)

(1)

zk=h(xk)+vk

(2)

其中,状态向量xk∈Rn是不可观测的,zk∈Rm为可观测的量测向量;f(·)和h(·)为已知的非线性函数;过程噪声wk-1∈Rn和测量噪声vk∈Rm为相互独立的高斯白噪声,其均值为零,协方差矩阵分别为Qk-1和Rk。

(3)

(4)

将式(3)、(4)代入(1)、(2)即可得到近似的线性状态空间模型:

(5)

(6)

(7)

状态预测误差协方差矩阵:

(8)

Pk|k-1右下标表示根据k-1时刻的P值来估算k时刻的值。

其中:Fk-1的雅克比(Jacobi)矩阵为:

卡尔曼增益:

(9)

状态估计:

(10)

状态估计误差协方差矩阵:

Pk=(I-GkHk)Pk|k-1

(11)

飞控应用中,扩展卡尔曼滤波算法将从预先确定的初始条件集出发,在平稳环境下,扩展卡尔曼滤波收敛于某种统计意义下的最优维纳解;在非平稳环境下,该算法提供了一种跟踪能力,能够跟踪气压计特性变化缓慢的数据。

根据飞控数据最优估计实际情况,通过气压传感器获得装换的高度计算真实的高度值,取加速度矢量,高度矢量和速度矢量建立扩展kalman滤波器观测方程:

(12)

其中:P(t)为需要测量的实时高度,V(t)为需要测量的速度,P(t-1)为上一刻时间的高度,V(t-1)为上一刻时间的速度值。

状态估计:

(13)

状态估计误差协方差矩阵:

(14)

状态估计:

x(k|k)=x(k|k-1)+kg(z(k)-[1 0]x(k|k-1)〗)

(15)

P(k|k-1)=(1-kg[1 0])P(k|k-1)

(16)

经过反复实验得到最优P、Q的初始矩阵:

其中:sa为卡尔曼滤波的加速度的系数,实验滤波中根据实物飞控系统参数加速度系数取为了0.03。

2 匿名科创地面站在无人机中的使用

目前市面上许多MiniFly都兼容一款强大功能的匿名科创地面站。匿名科创地面站支持许多通信方式,本文实验使用的是串口方式通信,以下介绍本实验如何使用匿名科创地面站查看飞控姿态,显示波形图。

第一步,根据电脑下载安装驱动cp210xvcpInstaller-x6或cp210xvcpInstaller-x86。

安装成功后,将本实验所用的无线模块一端cp2012 MODULES USB接入电脑,另一端连接飞控接受信号LC12S芯片。无线模块实物图如图1。

图1 飞控接受信号的无线模块

第二步,在打开匿名科创地面站软件中选择串口通信。

点击软件左边一列图标的程序设置,即可显示程序设置界面,如图2所示,然后根据设备串口选择了COM5,设置飞控相应的波特率38400,最后点击右下角的打开连接,即可通信。

图2 串口通信和波特率设置图

第三步,查看飞控状态。

点击软件左边一列的飞控状态即可显示飞控状态界面。如图3所示。

图3 飞控状态图

飞控状态显示主要包括了四轴姿态(PITROLYAW)、接收机、电机输出(PWM)、传感器原始数据(ACCGYRMAG)、气压高度。

第四步,点击匿名科创地面站左边一列图标的数据波形即可显示波形界面,对波形界面下栏不同数据方框勾中可以在波形界面上显示出来。如果进行数据写入,只需点击其他功能程序设置,在对应要写入的数据栏勾中,点击写入,软件会实时记录飞控相应的数据,电脑桌面会并自动生成相应的excel数据表。

3 实验仿真研究及结果分析

打开keil uvision5对建模好的卡尔曼滤波器进行编程调用,衔接原程进行编译,以下是取自卡尔曼反复实验滤波编程得到最优效果稳定气压计程序:

if(SampleAltitude)

{z=-SampleAltitude; Y=Z-X[0];

R[0]=VEKF-R-BARO-INITIAL;//H=[1 0]//K=PH′/(HPH′+R)

K[0]=P[0][0]/(P[0][0]+R[0]);K[1]=P[1][0]/(P[0][0]+R[0]);

X[0]+=K[0]*Y;X[1]+=K[1]*Y;//K时刻最优估计值//P=(I-KH)P=P-KHP

P[0][0]=tmP[0][0]-K[0]*tmP[0][0];P[0][1]=tmP[0][1]-K[0]*tmP[0][1];

P[1][0]=tmP[1][0]-K[1]*tmP[0][0];P[1][1]=tmP[1][1]-K[1]*tmP[0][1];

tmp[0][0]=P[0][0];tmp[0][1]=p[0][1];

tmP[1][0]=P[1][0];tmP[1][1]=P[1][1];

SampleAltitude=X[0];

点击匿名科创地面站里面的打开链接,给无人机上升和下降不同悬停的高度,再点击波形数据,打勾ACC-X,就可得到如图4滤波前的波形.

图4 滤波前的波形图

点击匿名科创地面站里面的其他功能,打勾ACC-X和ACC-Y,点击数据写入,桌面会自动生成excel滤波前后数据表格,通过数据生成滤波前后对比图,如图5。

图5 滤波前后数据采集图形对比

为了观察不同位置高度滤波是否具有良好效果,分别让无人机悬停在相对中、低位置进行了实时的数据采集,得到了如图6~8。

图6 悬停相对中端位置数据滤波前后对比图

结果分析:从无人机飞行的不同高度数据采集滤波前后的对比图和输入滤波程序后的无人机现场飞行效果分析表明,飞控状态估计的每一次更新由前一次估计和新的高度输入数据计算得到,所以只需存储前一次状态估计,除了不需要存储过去的所有量测数据外,扩展卡尔曼滤波在计算效率方面比直接滤波过程中每一步的所有过去数据进行估计的方法更加有效,高度新的数据输入时,无人机实时数据采样会存在一些滞后,最大可能原因是程序执行需要时间。本次以ARM嵌入式系统作为上位机,设计的扩展卡尔曼滤波在飞控中取得的良好的去噪声效果,悬停不同高度位置中,稳定运行增强。

图7 悬停相对中端位置数据滤波前后对比图

图8 悬停相对低端位置数据滤波前后对比图

4 结论

悬停稳定性具有重大价值推广,因其实际飞控操作还可以运用到民用、商业场合,本文针对增加悬停稳定性的需要,通过以校园合作公司提供的良好开发平台,无人机丰富的数据采集,设计的扩展卡尔曼模型,软件使用,软件编程调试完成了阶段性无人机数据采集扩展卡尔曼滤波增加悬停稳定性研究与应用。在今后的无人机研究中将更进一步完善,运用更智能先进的算法提高无人机悬停运行稳定性。

[1] Plan Y,Vershynin R.One-bit compressed sensing-by-linear-programming[J].Communication-on-Pure&Applied-Mathematics,2013,66(8):1275-1297.

[2] Hayashi K,Nagahara M,Tanaka T.A user’s guide to compressed sensing for communications systems [J].IEEE Transactions on Communications,2013,96(3):687-712.

[3] Blumensath T.Compressed sensing with nonlinear observations and related nonlinear optimization problems [J].IEEE Transactions on Information Theory,2013,59(6-7):3466-3474.

[4] 李庆鑫,宗 群,王 芳,等.基于鲁棒自适应的无人机直升机悬停控制[J].控制工程,2014,2(2):253-257.

[5] Seassa S,Zecca M,LinZ,et al.A Methodology for the performance Evaluation of Inertial Measurement Units[J].Journal of Intelligent&Robotic Systems,2013,71(2):143-157.

[6] 马正华,贺小棒.基于预估测量值的EKF在手臂测资中的应用[J].计算机测量与控制,2016,24(11).

[7] 卢 浩,倪洪启,赵艳春,等.无人机水下定点悬停平衡模块设计[J].机械工程师,2017(6):31-33.

[8] 都基焱,张 振.十字翼布局无人机悬停阶段控制律设计[J].电子设计工程,2014,22(3):94-96.

[9] 王海洋,路 平,江 涛.三旋翼构型倾转旋翼无人机建模与悬停控制研究[J].电光与控制,2015,22(10):51-55.

[10] 王大鹏,王茂森,戴劲松,等.四旋翼飞行器悬停建模及控制[J].兵工自动化,2017(5):36(5).

[11] 申文斌,裴海龙.改进的Unscented kalman滤波算法[J].计算机工程与科学,2011,33(4):143-157.

[12] Charles K.Chui,CHEN Guanrong.卡尔曼滤波及其实时应用(第四版)[M].北京:清华大学出版社,2013.

[13] 王世元,黄锦旺,谢智刚,等.非线性卡尔曼滤波器[M].北京:电子工业出版社,2015.

猜你喜欢

飞控卡尔曼滤波旋翼
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
改进型自抗扰四旋翼无人机控制系统设计与实现
脉冲星方位误差估计的两步卡尔曼滤波算法
花样旋翼大秀场
大载重长航时油动多旋翼无人机
民用飞机飞控通电自检测安全性研究
基于STM32的四旋翼飞行器的设计
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
中小型太阳能无人机航电系统设计