为了提高滤波算法的融合精度和适应性,人们提出了将卡尔曼滤波(Kalman Filter,KF)应用在飞行器的姿态滤波上。卡尔曼滤波是基于选择最优权值矩阵给出的最小二乘意义下的最小方差估计取得的估计值的一种最优自回归处理算法[8]。卡尔曼滤波可以在一个具有高斯噪声的线性动态系统中预测当前系统的状态。它通常分为两个不同的阶段:预测和更新。预测阶段使用前一个时刻对状态估计来预测当前的系统状态。而在更新阶段,前一阶段得到的预测值与当前时刻的状态观测值相结合得到状态估计值。目前,卡尔曼滤波器已经成功地被应用在四旋翼飞行器的姿态测量上,在低速运动而且干扰较小的环境下时测量精度较为满意,但系统模型非线性明显时估计精度较差[9]。19369
虽然卡尔曼滤波器能够过滤惯性传感器系统大部分的噪声,但是卡尔曼滤波算法要求系统数学模型必须为线性,当组合导航系统模型具有非线性特性时,仍然采用线性模型描述组合导航系统及卡尔曼滤波算法进行滤波,会引起线性模型近似误差[10]。而四旋翼飞行器的姿态测量数学模型带有很强的非线性特性,因此使用卡尔曼滤波对四旋翼飞行器进行姿态滤波时,测量精度不够而且在机体做大机动运动时误差较大。对于非线性系统,可以使用扩展卡尔曼滤波算法(Extended Kalman Filter,EKF)。扩展卡尔曼滤波是在系统估计点附近进行泰勒展开,得到偏微分雅克比矩阵Jacobian Matrix),从而将非线性系统进行线性化处理。João Luis Marins等[11],J. M. Pflimlin等[12]都成功将EKF运用到旋翼式飞行器姿态测量上,并取得了良好的效果。虽然EKF一定程度上弥补了卡尔曼滤波的不足,在组合导航系统中广泛应用,但是它仍然有一定的局限性[10]:
1)当系统非线性度较严重时,忽略估计点泰勒展开的高阶项将引起线性化误差增大,从而导致EKF的滤波误差增大甚至发散。
2)由于雅克比矩阵的求取时的计算量大,在嵌入式系统中很难实现,一些非线性函数的雅克比矩阵甚至难以获得。
3)EKF将状态方程中的模型误差作为过程噪声来处理,而且过程噪声被要求为高斯白噪声,这与导航系统的实际噪声情况并不相符;同时,扩展卡尔曼滤波是经由卡尔曼滤波为推导得到的,其对系统初始状态的统计特性要求严格。
为了突破EKF的局限性,Juliter等人提出了基于无迹变换(Unscented transformation,UT)的卡尔曼滤波算法,称为无迹卡尔曼滤波(Unscented Kalman Filter,UKF)[13]。这种方法是通过选取与系统状态统计特性相同的一系列sigma点,将这些点通过非线性系统处理后,通过分析结果的统计特性就可以近似统计特性在非线性函数中的传播。这比直接近似非线性函数容易,而且精度也较高。因此在非线性高斯系统的滤波状态估计问题中,UKF适用的范围较EKF广泛,性能也较EKF优越。初始偏差较大时,由于EKF在线性化过程中有约束条件,收敛速度往往不如UKF快[14]。
除了UKF之外,还有多种非线性滤波算法被提出。例如粒子滤波(Particle Filter,PF)算法,它是一种基于概率的滤波器,在贝叶斯采样估计原理下进行顺序重要采样,从而模拟非线性函数的概率密度分布。它主要针对的是对非线性和非高斯分布的状态进行估计,而且是一种完全的非线性估计器,摆脱了卡尔曼算法中随机噪声量必须按照高斯分布的制约。然而粒子滤波为良好性能付出的代价是大幅增加的计算量,因此在应用时需要特殊考虑[15]。曲仕茹,马志强等将一种改进的粒子滤波算法应用在四旋翼飞行器的姿态滤波上,证明改进的粒子滤波比EKF更好地抑制系统发散和提高鲁棒性[16]。除了粒子滤波,Crassidis等人提出了模型预测滤波器(Models Predictive Filter,MPF)[17],Van der Merwe等人在粒子滤波算法基础之上,提出了一种通过UKF方法来获得粒子滤波重要性函数的UPF算法(Unscented Particle Filter,UPF)[18]。在1984年首先由H.A.P. Blom提出的交互式多模型(Interacting Multiple Models,IMM)算法[19]也获得了广泛的关注。 飞行器的姿态滤波国内外研究现状:http://www.youerw.com/yanjiu/lunwen_10693.html