0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件Kalman滤波器的航拍云台姿态如何获取

电子工程师 来源:电子技术应用第10期 作者:周立青,章 研,安 2021-04-08 15:55 次阅读

0 引言

航空摄影(Aerial Photography)又称航拍,是指在飞机或其他航空飞行器上利用航空摄影机摄取地面景物相片的技术。目前,航空摄影应用广泛,是获取地理信息的主要手段[1-2]。在航空摄影中,存在着一个难题需要解决:飞机在飞行摄影时会受到本机和气流等的影响,从而产生机体振动,相机的姿态角也会随着改变,相机姿态时刻改变就会给高精度拍摄带来困难。所以为提高航拍质量,必须对相机姿态进行校正[3]。

校正的前提是获取相机姿态,所以惯性测量元件必不可少,但是单一的惯性测量元件无法给出准确的姿态角,需要对多个惯性测量元件的数据进行数据融合。使用比较普遍的惯性测量元件的组合是加速度计和陀螺仪。它们输出的数据各有优缺点,可以使用Kalman滤波对其进行数据融合以得到准确的姿态角[4-5]。

现有的实现Kalman滤波的方式主要有两种:PC机和DSP,两者都存在着系统性能和成本不能兼顾的问题。而FPGA却可以很好地解决这个问题。本文主要讲述的便是用FPGA实现Kalman滤波来获取准确的相机姿态。

1 坐标模型

在进行航拍作业时,相机搭载在云台上,云台和飞机是一体的,当相机拍摄地面照片时,相机拍摄方向应与地面垂直,如图1所示。

o4YBAGButfSAL2cxAAD0d0TWT50996.png

为获取相机姿态,首先以相机为原点,建立坐标系,如图2所示。其中,XY平面与地面平行,Z轴垂直于地面,Y轴方向为飞机飞行方向。

pIYBAGButg2AToRDAADegs0PQC8159.png

将加速度计固定在相机上,当相机姿态发生改变时,加速度的3个敏感轴便可以输出在其相应方向产生的重力分量信号,如图2中的Gx,Gy,Gz所示。陀螺仪是一种角速度传感器,它可以输出对应轴上的瞬时角速度,如图2中的Wx,Wy,Wz所示。

根据以上坐标系,可以得到姿态角θx,θy,θz(分别代表着俯仰角、横滚角、偏航角),如式1所示,其中ΔT为采样时间,Δθ为采样时间内的姿态角变化。

6356669625283800005933676.gif

可见,由加速度计或者陀螺仪都可以初步得到姿态角,但是无论是加速度计还是陀螺仪,它们输出的原始数据都存在着固有缺陷:当相机处于变速运动状态时,加速度计的输出并不是重力加速度,而是重力加速度和其自身加速度的矢量和。陀螺仪是通过对角速度积分得到姿态角,随着时间的推移,姿态角的误差会越来越大。所以单一的加速度计或者陀螺仪都无法获得正确的姿态角,必须对两者进行数据融合。

2 Kalman滤波模型的建立

Kalman滤波是在时域内以信号的一、二阶统计特性已知为前提、以均方误差极小为判据,能自动跟踪信号统计性质的非平稳变化,具有递归性质的一种算法[5]。Kalman滤波的状态方程和预测方程如式(2)所示:

6356669630984100004225339.gif

其中,Xk+1为系统的状态向量,Φk+1,k为状态转移矩阵,Tk+1,k为控制系数矩阵,Uk为系统控制输入,Γk+1为噪声系数矩阵,Wk为系统的过程噪声序列,Zk+1为系统的观测序列,Hk+1为观测矩阵,Vk+1为观测噪声序列。

使用陀螺仪数据建立线性模型,如式(3)所示:

6356669639953300009181483.gif

其中,θk为飞行姿态角,βk为陀螺仪输出的误差,Uk是陀螺仪输出的角速度数据,ΔT是采样时间间隔。因为陀螺仪输出的误差整体来看变化不大,可认为βk+1=βk。因Wk对系统影响甚小,这里规定Wk=0。

由以上建立状态矩阵方程,如式(4)所示:

6356669647613800009615019.gif

陀螺仪和加速度计测量姿态角时各有优缺点,为获得比较可靠的姿态角数据,必须对两者的数据优势互补。以上算法用加速度计数据得到不同阶段的测量噪声协方差,并带入解算过程中,大大减少了姿态角的测量误差。

3 Kalman硬件实现

目前Kalman滤波器的实现方式主要有PC机和DSP两种方式,PC机可以同时满足计算精度和实时性的要求,但是PC机体积大、质量重、成本高;DSP实现的Kalman滤波器虽然体积小,质量轻,但是因其指令顺序执行的CPU架构,在系统复杂时无法满足系统的实时性要求[6-7]。

因此,Kalman滤波器在工程应用中的实现遇到了系统体积、重量、成本与系统精度、速度等性能不能兼顾的问题。FPGA是解决这一问题的有效途径,FPGA具有极高并行度的信号处理能力、高度的灵活性、现场可以编程、较短的开发周期和较低的成本等优势,在数字信号处理领域已经得到广泛的应用[8]。

本系统使用的FPGA芯片Altera公司Cyclone II系列中的EP2C35F672C6,它共有33 216个逻辑单元、483 840个存储单元、70个乘法器单元(9 bit)。虽然Altera公司提供了很多功能强大的IP核,其中就包括加减乘除单精度浮点数运算,但是提供的IP核占用资源过多,所以使用自己编写的运算模块。下面以除法模块为例说明浮点数运算的硬件实现。

3.1 浮点数除法模块

根据IEEE754标准,单精度浮点数的格式如图2所示。

6356669653959100007783376.gif

通常可用式(11)表示一个单精度浮点数:

6356669656405900006721287.gif

从式(12)中可以看到,符号位和阶码的运算比较简单,尾数的运算较为复杂。

设被除数为a,除数为b,第i次的商为qi,第i次得到的临时余数为mi,令m0=a,则有式(13):

6356669660311600002221720.gif

这样一直进行23次运算便可以获得全部的qi,23位qi按先后顺序组合起来便是尾数运算的结果。

除法模块资源使用情况如图3所示,只使用了1%的逻辑单元,相比较于IP核的实现方式,大大减少了使用资源。

6356669663208100004944643.gif

再用ModelSim仿真观察除法模块运算速度,结果如图4所示。x1,x2是除数和被除数,y是商,isdone是标志信号,当完成一次除法运算后产生一个正脉冲。

6356669665399800009606971.gif

由图4可以看到,除法模块运算一次共使用了25个CLK周期,完全可以满足运算要求。

3.2 Kalman硬件模块

以第2节中建立的卡尔曼滤波模型搭建硬件模块,硬件模块的结构如图5所示。其中,

6356669667906200006728784.gif

为整个Kalman滤波的结果矩阵,包括横滚角、俯仰角、偏航角。

6356669668952400004462484.gif

Kalman硬件模块使用资源情况如图6所示。可见,一共使用了45%的逻辑单元。虽然占用资源非常多,但是45%的资源使用还是可以接受的。

6356669670739000009511142.gif

利用Multisim仿真,查看此Kalman硬件模块的运行速度,结果如图7所示。

6356669671944000008852917.gif

q1、q2、q3是Kalman滤波解算一次后的3个偏转角(横滚角、俯仰角、航向角),q1st、q2st、q3st是解算一次完成后产生的负脉冲信号。从仿真结果来看,在仿真频率为100 MHz情况下,Kalman解算一次需要的时间是1 ms,可见用FPGA来实现Kalman滤波速度是很快的。

4 实验结果

为检验Kalman滤波硬件模块实际效果,设计了一次模拟实验:将云台置于振动环境中,改变云台姿态角,观察未经滤波处理和经过滤波处理的姿态角。

实验中使用MPU6050作为系统的姿态传感器,MPU-6050是一款整合了3轴陀螺仪、3轴加速度计的6轴运动处理组件,相比较于多组件方案,免除了组合陀螺仪与加速度计时之轴间差的问题,减少了大量的包装空间。

设置采样频率为1 kHz,以横滚角为示例,实验结果如图8所示。

6356669685829900003559588.gif

滤波前的横滚角由三轴加速度和式(1)得到,可以看到明显的噪声和毛刺。经过Kalman滤波后,大部分的噪声和毛刺都被去除掉了,而且通过滤波前后的横坐标对比可以看到此滤波模块有着很好的实时性能。

观察滤波结果与真实值之间的误差,如图9所示。从图中可以看到,滤波误差控制在-1.5°~1.5°范围内。可以满足航拍系统的精度要求。

6356669687803700006957357.gif

5 结论

实验证明,本文所介绍的硬件Kalman滤波器适用于航拍相机平台的姿态获取。基于FPGA的硬件架构具有灵活的可移植特性和优良的抗干扰能力,相比较于DSP和PC机的实现方式,它在保证航拍系统的精度要求的前提下解决了性能和成本不能兼顾的问题,因此它具有更广泛的应用性和实际工程意义。

参考文献

[1] 刘先林,段福洲,宫辉力.航空摄影科技发展成就与未来展望[J].前沿科学,2007,3(3):10-14.

[2] 张祖勋.数字摄影测量发展与展望[J].地理信息世界,2004,2(3):1-5.

[3] 高同跃,丁卫,高新闻,等.机载惯性稳定云台系统的研究[J].2010,18(2):344-347.

[4] 卞鸿巍,李安,覃方君,等.现代信息融合技术在组合导航中的应用[M].北京:国防工业出版社,2010.

[5] 付梦印,邓志红,闫莉萍.Kalman滤波理论及其在导航系统中的应用(第二版)[M].北京:科学出版社,2010.

[6] 谢鑫,郭美凤,周斌.基于双DSP和FPGA的高性能导航计算机设计[J].微计算机信息,2009(3):1-2,60.

[7] 张冲,吴秋平.基于PC104和DSP的分布式导航计算机设计[J].微计算机信息,2010(8):27-29.

[8] 米月琴,黄军荣.基于FPGA的Kalman滤波器的设计[J].电子科技,2010,23(2):52-55.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7326

    浏览量

    174752
  • PC
    PC
    +关注

    关注

    9

    文章

    1950

    浏览量

    152786
  • IP
    IP
    +关注

    关注

    5

    文章

    1402

    浏览量

    148267
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16902
收藏 人收藏

    评论

    相关推荐

    Vivado 使用Simulink设计FIR滤波器

    领域都有着广泛的应用。 Vivado自带的FIR滤波器IP核已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程方法。Simulink可以使设计更直观,使硬件资源得到更为高效的利用
    发表于 04-17 17:29

    滤波器参数的改变对滤波器特性有何影响

    滤波器是信号处理中常用的工具,用于改变信号频谱的特定部分,以实现信号降噪、频率选择、信号增益等处理。滤波器参数的改变对滤波器特性有着重要的影响,可以改变滤波器的频率响应、幅频响应、相频
    的头像 发表于 01-24 09:58 649次阅读

    绝了绝了!FCom富士3030超宽温滤波器 #晶振 #声表滤波器 #滤波器

    滤波器晶振
    FCom富士晶振
    发布于 :2023年11月16日 09:40:01

    带通滤波器的传递函数怎么获取

    通过你们网站上获取到了二阶巴特沃兹滤波器的电路通,想得到滤波器的传递函数,怎么获取
    发表于 11-16 08:07

    环路滤波器采用有源滤波器还是无源滤波器

    环路滤波器采用有源滤波器还是无源滤波器? 首先,我们需要了解什么是环路滤波器。环路滤波器是一种基于共振电路的
    的头像 发表于 10-30 10:56 594次阅读

    Kalman滤波器(2)#传感

    传感滤波器模型
    未来加油dz
    发布于 :2023年08月22日 09:28:57

    Kalman滤波器(1)#传感

    传感滤波器模型
    未来加油dz
    发布于 :2023年08月22日 09:28:13

    MEI滤波器的功能与运用

    滤波器
    satons_
    发布于 :2023年08月11日 13:28:53

    详细阐述Kalman滤波模型

    本文我们将详细阐述Kalman滤波模型。作为最为经典的一个滤波模型,它在量化投资的金融经济数据处理中有重要的作用。
    的头像 发表于 08-09 14:31 688次阅读
    详细阐述<b class='flag-5'>Kalman</b><b class='flag-5'>滤波</b>模型

    滤波器的选频作用 滤波器与选频器的区别

    有关滤波器的作用,根据滤波器的选频作用,滤波器可以分成四类:低通、高通、带通和带阻滤波器滤波器与选频器的区别,选频器是
    的头像 发表于 06-29 16:47 2166次阅读
    <b class='flag-5'>滤波器</b>的选频作用 <b class='flag-5'>滤波器</b>与选频器的区别

    Mahony滤波器的原理和公式推导

      1. 概述 在进行代码分析之前,了解Mahony滤波器的原理和公式推导是必要的。Mahony滤波器是一种基于四元数的姿态估计滤波器,其主要思想是通过加速度计和陀螺仪的测量值来估计
    的头像 发表于 06-17 11:18 1766次阅读
    Mahony<b class='flag-5'>滤波器</b>的原理和公式推导

    带你认识滤波器及FIR滤波器设计

    滤波器是一种用来减少,消除干扰的电器部件,有对特定频率的频点或该频点以外的频率信号进行有效滤除,从而实现消除干扰、获取特定频率信号的功能。
    的头像 发表于 06-15 11:43 2675次阅读
    带你认识<b class='flag-5'>滤波器</b>及FIR<b class='flag-5'>滤波器</b>设计

    IIR滤波器和FIR滤波器的区别

    数字滤波器是数字信号处理中最常用的一种技术,可以对数字信号进行滤波、降噪、增强等处理,其中最常见的两种数字滤波器是IIR滤波器和FIR滤波器
    的头像 发表于 06-03 10:21 1.5w次阅读

    简谈FIR滤波器和IIR滤波器的区别

    的详细内容,话不多说,上货。 数字滤波器广泛应用于硬件电路设计,在离散系统中尤为常见,一般可以分为FIR滤波器和IIR滤波器,那么这两种滤波器
    发表于 05-29 16:47

    模拟无源滤波器设计(九)-Gaussian滤波器设计详解

    文章详细对高斯滤波器的综合设计进行讲解,解释如何从时域无过冲推导出高斯滤波器的。并且深入探讨了高斯滤波器的零极点分布。最后介绍基于Matlab的滤波器设计软件,以低通、带通
    的头像 发表于 05-28 11:31 4575次阅读