星敏感器姿态解算算法
星敏感器是以恒星为参照系,以星空为工作对象的高精度空间姿态测量装置,通过探测天球上不同位置的恒星并进行解算,为卫星、洲际战略导弹、宇航飞船等航空航天飞行器提供准确的空间方位和基准,并且与惯性陀螺一样都具有自主导航能力,具有重要的应用价值。
星敏感器的研究发展与应用已历经半个多世纪,随着新材料,新器件的出现和工艺技术的进步,精度提高,功耗减小,成本降低,应用领域日益广泛的新型星敏感器不断推出。因此,及时收集整理分析比较国外星敏感器的信息,有利于国内有关姿态测量控制技术的发展。
根据具体计算方法的不同,星敏感器中常用的姿态结算算法可以分为静态确定性姿态解算算法和动态滤波估计算法。
确定性姿态解算算法
确定性姿态解算算法是指根据一组矢量观测值,求出卫星本体坐标系相对于惯性坐标系的方向余弦矩阵。由确定性算法求解出来的结果具有明确的几何和物理意义,而且只需通过一次测量就可以得到卫星的瞬时姿态。所以静态确定性算法具有稳定性高、计算速度快、占用内存少等优点,也是目前星敏感器中主要使用的姿态确定算法。
但是直接求解Wahba问题比较困难,而且很难获得最优解。1968年,Davenport提出了q-方法,利用四元数参数化姿态矩阵,将Wahba问题转化为K矩阵的最大特征值求解问题,极大的推动了静态确定性姿态解算算法的发展。后来研究者又提出了TRIAD算法、Euler-q算法、QUEST算法和FORM算法等。Shuster指出利用TRIAD法求解时,在两个观测矢量测量精度不对等时将无法得到最优的结果[32]。Baritzhack提出利用两次TRIAD法进行加权处理得到更为准确的姿态矩阵的方法[33]。Markley从FOAM方法入手推导了目前形式最为简洁的双矢量观测情形下的闭合解形式,并且分析了该算法的方差。
QUEST算法是最小二乘意义下的最优四元数估计,该算法最早应用于1979年的MAGSAT任务,也是目前解决Wahba问题的最常用算法。Shuster提出了QUEST测量模型并证明了其对于小视场敏感器是比较精确的,并利用QUEST测量模型推导了TRIAD法和QUEST法的方差阵,从理论上证明了QUEST法优于TRIAD法。
动态滤波估计算法
在实际应用中,卫星轨道参数的测量误差和星敏感器的安装误差都会给观测矢量的测量带来不确定性的误差,而且这些误差很难克服。为了满足高精度姿态控制的需要,可以利用动态滤波估计方法来结算航天器的姿态信息。动态滤波估计方法是利用航天器根据姿态动力学方程,建立状态方程和观测方程,根据观测信息得到一定准则下的最优估计方法得到航天器的真实姿态。相对于静态确定性算法,动态滤波估计算法利用了更多的观测信息,能提供统计意义下的最优解,可以避免不确定因素对航天器姿态的影响,提高姿态确定的精度。
扩展卡尔曼滤波(EKF)算法是航天器最常用的实时姿态确定算法[36]。根据姿态参数的选取不同和观测量的不同形式,常见的有乘性扩展卡尔曼滤波(MEKF)和加性扩展卡尔曼滤波(AEKF),其中MEKF被广泛应用于各种航天器姿态确定任务并且发展最为成熟。但是EKF鲁棒性不强,易于发散,对于非线性特性较强的估计问题时常不能得到最优解。Julier和Uhlmann利用UT变换取代了局部线性化[37],提出Unscented卡尔曼滤波器(UKF),在初始误差较大的情况下,依然有良好的收敛性,得到比较优的结果。不管是EKF还是UKF算法,都是基于系统的随机部分服从高斯分布的假设条件上提出来的,在星敏感器的姿态动力学模型中存在有不确定性的力矩模型误差情况下,其结果的有效性难以保证。
基于QUEST算法,Shuster提出了滤波QUEST算法[38],该算法利用姿态分布矩阵B的传播实现了卡尔曼滤波的递推处理功能。Bar-Itzhack也对QUEST算法进行了扩展,提出RE-QUEST算法[39],通过K矩阵的传播来实现递推功能。从本质上来说,滤波QUEST算法和RE-QUEST算法在数学上是等效的。但是由于这两种算法的精度相对于EKF算法来说比较差,并没有在工程中广泛使用。近些年来,随着新的滤波估计方法的出现,越来越多的算法用在了星敏感器动态姿态估计中,如粒子滤波算法[40]、高斯滤波算法[41]和多模自适应估计算法[42]等。动态滤波估计方法的优点是可以利用先验的知识来逼近统计意义下的最优解,但是由于采用了非线性的方法,算法复杂性较高,在实际使用中尚有一定的困难。
无论是静态确定性姿态解算方法还是动态滤波算法都在星敏感器产品中得到了实践和应用。表 5中对比分析了星敏感器姿态解算算法的特点。对于有陀螺的姿态确定系统,目前最实用也最常用的是乘性扩展卡尔曼滤波(MEKF)的方法,对于无陀螺的姿态确定系统,可以采用QUEST或者预测滤波估计的方法。