孙洪驰,穆荣军,李云天,崔乃刚
(哈尔滨工业大学航天工程系,哈尔滨 150001)
在月面着陆器下降过程中,需要快速调整姿态,要求导航系统具备高实时性、高精度和高可靠性[1-2]。当前深空探测任务中姿态精度最高的导航方式为天文导航,其姿态精度可达角秒级[3-5]。为提高导航系统的可靠性,月面着陆器通常都携带惯导与星敏感器,采用惯性/天文组合导航方式进行导航解算[6-7]。惯性/天文组合导航系统一般可分为松组合和紧组合两种模式。松组合模式下惯导和星敏感器各自独立地进行导航解算,然后将导航误差作为观测量进行组合[8];紧组合模式下星敏感器不再进行独立解算,而是作为测量星点矢量的传感器使用,根据星点矢量误差构建量测方程[9]。无论是松组合模式还是紧组合模式,星敏感器均需要采用星图识别算法进行导航星的识别,这一过程往往是天文导航所有流程中耗时最多的环节[10-11]。
针对上述问题本文提出一种惯性/天文深组合模型,能在不进行星图识别的前提下实现导航解算,有助于提高天文导航算法的计算效率,降低系统的功耗,减少对硬件资源的占用。同时在导航星数目不足3颗时仍可正常工作,可有效提高导航系统的实时性与可靠性。
月面着陆器运动学模型包括姿态微分方程、速度微分方程和位置微分方程。月面着陆器姿态采用四元数进行描述,姿态微分方程可以表示为
(1)
(2)
对于月面着陆器,在固连系下的速度ve为
(3)
将速度ve转到导航系中,得
(4)
进一步整理,可得
(5)
(6)
式中:fb为体系下的比力;gn为导航系下的月球重力加速度。
记p=[L,λ,h]T,月面着陆器位置微分方程为
(7)
综上所述,式(1)、式(6)和式(7)共同组成了月面着陆器运动学模型。
在星敏感器中,图像是以像素的形式进行采集和存储的,为了能建立起星点矢量与像素坐标之间的关系,引入视觉导航领域常用的内参数矩阵构建星敏感器的测量模型。假设某导航星sk在星敏感器坐标系下的方向矢量为lsk=[X,Y,Z]T,则其在像平面中的坐标为
(8)
式中:f为星敏感器焦距。将星点坐标转换到像素坐标系下,得
(9)
式中:α和β描述了像平面坐标和像素坐标的缩放关系,物理含义是单位长度内的像素数目;cx和cy描述了像平面坐标和像素坐标的平移关系,单位为像素数;fx=αf,fy=βf,作用是简化模型。将式(9)写成矩阵形式,得
(10)
式中:A即为星敏感器的内参数矩阵,且各项参数出厂后是固定不变的。l′sk为lsk的归一化矢量。
惯性/天文松组合是最常见的组合方式,该模式下惯导与星敏感器各自独立工作,利用二者输出的姿态之差构建观测量。状态方程选取捷联惯导系统的误差传播方程,具体推导过程参照文献[12]。
姿态误差传播方程为
(11)
速度误差传播方程为
(12)
位置误差传播方程为
(13)
(14)
(15)
(16)
记δq=[δq0, (δqv)T]T,δq0和δqv代表δq的标量部分和矢量部分。当φ为小量时,令φ=|φ|,有
(17)
由式(17)可以得到观测量为φ=2δqv。
选取姿态失准角、速度误差、位置误差、三轴陀螺仪零偏和加速度计零偏作为状态变量,松组合模式下状态量、状态方程和量测方程为
(18)
(19)
式中:W为陀螺角速度测量白噪声和加速度计比力测量白噪声;V为星敏感器测量白噪声;F阵各元素取值参照式(11)致式(15),G阵和H阵各元素取值如下
(20)
惯性/天文紧组合模型以星点矢量误差为观测量,该模式下星敏感器不进行姿态解算。紧组合状态方程仍为惯导系统的误差传播方程,仅观测方程有所不同。在紧组合模型中,星敏感器测量到的星点矢量ls可以表示为
(21)
式中:ln为该星点矢量在导航系下的投影,φ为导航系的姿态失准角。
(22)
(23)
当视场中存在N颗导航星时,观测方程可以表示为
(24)
观测矩阵H阵各元素取值如下
(25)
惯性/天文深组合模型根据惯导输出的姿态,预测此姿态下理论上星敏感器应观测到的星图(记为预测星图),然后利用预测星图和实测星图的灰度误差进行失准角的估计,从而在像素层面构建新的观测模型而非对单个星点进行处理,故深组合时不需要星图识别。
群是一种集合加一种运算组成的代数结构,李群指具有连续性质的群。构建灰度误差函数需涉及到其中一个特殊的李群—特殊正交群SO(3),是由姿态阵C构成的,其数学定义为
SO(3)={C∈R3×3|CCT=I,det(C)=1}
(26)
对于每一个C,都有对应的李代数,SO(3)的李代数so(3)定义为
so(3)={(φc×)∈R3×3|φc∈R3}
(27)
so(3)反映了SO(3)的导数性质,对姿态阵C求微分,有
(28)
式中:φc的物理意义是姿态阵C对应的等效旋转矢量,式(28)为关于C的微分方程,求解后得到
C=exp(φc×)
(29)
图1 灰度误差函数构建过程
如图1所示,I1为星敏感器拍摄星图,I2为惯导预测星图,设p1为I1中第i个像素点,满足
p1=Aps
(30)
(31)
(32)
(33)
ps和p′s可视为同一矢量的真值及惯导预测值,pn为该矢量在导航系下的投影,满足
(34)
由式(34)即可得到φ与φs的关系式为
(35)
图2 深组合模型基本原理
根据灰度不变假设,式(32)可进一步写为
(36)
图3 某星点窗口内灰度误差优化方向
(37)
(38)
接下来分别计算这3项偏导数,∂I2/∂ϑ为I2在ϑ处的像素梯度,记ϑ像素坐标为ϑ=[ua,ub]T,则像素梯度为
(39)
记ρ=[Xρ,Yρ,Zρ]T,利用式(10),可以求得∂ϑ/∂ρ的具体形式为
(40)
(41)
根据BCH公式,有
(42)
(43)
为提高算法的计算效率,可针对月面环境特征对状态方程做进一步简化。例如,月球自转速度很小,且月面着陆器下降过程时间较短,所引起的导航系旋转也很微弱,月面重力较弱,其误差项δgn对速度误差的影响也是小量。忽略状态方程式(11)-式(15)中的小量后,可得简化后的状态方程为
(44)
量测方程与式(19)一致。状态与量测方程都是线性模型,离散化后可采用标准卡尔曼滤波进行状态估计。
利用惯导姿态预测星敏光轴指向,估算的星点和实际观测星点不一定完全匹配,惯导预测星图会出现缺星和多星的现象。但根据式(33)可知,本文所提出的深组合算法,其优化对象为所有导航星堆叠而成的全局灰度误差,优化结果为最小二乘意义下的最优解,故理论上个别星点的不匹配不会对最终结果造成太大影响,接下来通过仿真进行验证。
采用SAO星表数据进行仿真验证,岁差、章动采用IAU1980模型进行补偿,光行差只考虑一阶修正项,极移修正量由国际地球自转服务(International earth rotation service,IERS)提供。星图不确定度按低(不确定度:17%)、中(不确定度:50%)、高(不确定度:70%)三种情况进行仿真验证。
图4 低、中、高三种不确定度下姿态误差曲线
从图4(c)中可以看出,即使在高不确定度下,惯导仅正确预测30%的导航星,深组合算法依然收敛,三种工况仅精度略有不同。这说明深组合算法具有较强的鲁棒性,惯导仅需要正确预测到其中的几颗亮星即可进行导航解算。
(45)
式(45)表明,对全部导航星做优化等价于只优化正确匹配的星点,不匹配的星点由于灰度误差为常值,不影响优化结果。
本文所提出的方法主要针对月面着陆器姿态调整段进行设计,仿真轨迹设置为姿态调整段一条持续时间60 s的轨迹。着陆过程中着陆器姿态变化及星敏感器视场内的星图变化如图5所示。
采用阻尼牛顿法一般迭代3~4次即可使姿态达到收敛。取第1、4次迭代优化结果,对比其图像灰度误差,对比结果如图6所示。
图5 仿真工况设计
图6 某星点窗口内图像灰度误差迭代结果
接下来对比惯性/天文松、紧、深三种组合模式下的组合导航精度和算法计算耗时。紧组合模式只进行星图识别不进行QUST解算,故算法耗时应少于松组合。深组合模式则是采用图像梯度优化算法获得姿态,一般迭代4次算法已经收敛,平均每颗星占据3×3即9个像素点,故平均每颗星需要优化算法迭代计算36次;而紧组合的星图识别算法,采用星表分割后(极限星等+6Mv)平均每个子星表依旧含有196颗导航星,角距搜索空间大小为196×196/2=19208,即平均每颗星需要进行的搜索次数为19208次,显然这一过程的计算量要大于深组合的优化算法。三种组合方式的解算精度和算法耗时统计仿真结果如图7和图8所示。
图7 松、紧、深组合导航模式精度对比
图8 松、紧、深组合导航模式计算耗时对比
分析图中不同阶段的三种导航模式精度曲线和计算耗时统计直方图,可以得到以下分析结果:
1) 0~20 s内导航星充足(≥3颗),松、紧、深三种组合导航模式的姿态精度基本处于同一量级;
2) 20~40 s内视场中可见导航星降为2颗,星图识别算法失效,松、紧组合模式导航结果开始发散,深组合模式依旧可以进行导航解算;
3) 40~60 s时视场内可见导航星数目恢复到≥3颗,此时松、紧组合导航模式迅速收敛,三种导航模式的姿态精度基本处于同一量级;
4) 俯仰、滚转轴姿态精度整体上优于偏航轴,这是因为偏航轴与星敏感器光轴重合,星敏感器光轴方向的姿态精度较其余两轴差一个量级;
5) 经统计,松、紧、深三种组合模式的单次计算耗时均值分别为0.0074 s、0.0061 s、0.0029 s。深组合模式计算耗时最低。
本文针对月面着陆器设计了一种惯性/天文深组合导航方法。仿真结果表明,在导航星数目充足的情况下,松、紧、深三种导航方式姿态精度处于同一量级;在导航星数目不足时,松、紧组合方式无法实现导航星的识别,算法开始发散,而深组合模式依然可以正常工作;在计算耗时方面,深组合模式相较于紧组合时间缩减50%、相较于松组合时间缩减60%。深组合模式计算耗时短,有利于提高月面着陆器导航实时性,降低对硬件资源的占用,同时可保证在星敏感器视场内星点数目不足时,导航结果不发散。将其应用于月面着陆器等实时性需求较高的背景中,可以有效提升导航系统的快速响应能力并节约系统功耗,为未来月面着陆器导航系统设计提供理论参考。