近年来, 随着技术的进步, 在轨运行的通信卫星越来越多, 由于通信卫星具有高可靠、长寿命的特点, 如何在星上进行故障检测并实施系统重构, 确保卫星在轨运行时的业务不受影响已成为目前广大研究人员关注焦点。此外, 针对寿命末期的卫星, 如何在地面对星上单机进行有效监测, 以确保故障能够被及时处理, 也成为目前必须解决的问题。卫星控制分系统是卫星系统的重要组成部分, 它直接决定了卫星在轨运行的姿态情况, 以及卫星业务是否正常运行。姿态敏感器作为控制分系统的测量元件, 一旦发生故障, 将会给卫星带来灾难性的后果。由于当前在轨运行的大部分通信卫星, 其陀螺为非长寿命陀螺, 无法长期开机, 因此针对在轨无陀螺的通信卫星, 对其星敏感器进行故障检测算法研究是非常必要的。
不同的学者针对敏感器或执行机构的故障进行了大量研究, 文献[1]针对控制系统的执行机构故障问题, 设计了容错控制算法, 以保证故障系统的稳定性, 文献[2]针对一类非线性系统的敏感器故障, 提出了基于自适应理论的容错控制算法, 以保证系统发生故障后依然保持稳定。文献[3]针对卫星姿态敏感器故障的情况, 设计了非线性观测器对敏感器进行观测, 并提出了相应的补偿措施, 以实现故障检测和故障恢复, 文献[4]采用贝叶斯方法对敏感器进行了故障检测和识别, 实现了系统稳态和操作过程中敏感器故障诊断, 文献[5]通过设计观测器和滤波估计误差, 识别出敏感器故障, 为容错控制提供输入, 实现了系统的稳定控制。值得指出的是, 上述研究中的算法均是在目标模型可建模, 姿态信息可测的条件下提出的, 特别是角速度可测, 目前在轨运行的卫星, 并不能总是满足这一条件。
事实上, 由于陀螺的特殊性, 在长期稳定运行的在轨卫星上, 陀螺往往是不开机的, 从而造成卫星角速度信息的缺失。因此部分学者对无陀螺状态下的姿态估计进行了研究。文献[6]对现有研究方法进行了系统的梳理和总结。从中可以发现, 当前的姿态估计算法大多采用了滤波的方法, 其算法是否收敛与滤波的初值关联较大, 特别是在初值已知的情况下, 算法的收敛性较好。文献[7]针对初值收敛问题提出了一种迭代数值方法, 解决了当前和过去采样点的非线性平滑问题, 加快了算法的收敛速度。基于卡尔曼滤波设计卫星姿态估计算法是当前研究中常用的一种方法。文献[8-10]分别提出了不同的滤波器设计方案, 最终形成的算法均能较好地估计卫星的姿态。
由于角速度不可测, 文献[11]从运动学的角度给出了陀螺故障检测算法, 是通过对陀螺的漂移估计实现的, 因此陀螺也必须开机。文献[12]采用自适应UKF对敏感器故障设计了故障检测算法, 但该算法成立的条件是陀螺和星敏感器均开机。针对星敏感器故障的情况, 文献[13]利用陀螺与星敏的冗余信息, 提出了一种线性最小均方差估计的故障诊断算法。
本文在文献[10-11]的基础上, 研究了只有姿态角测量信息时的星敏感器故障检测问题。通过将卫星角速度纳入状态方程, 并设计UKF进行状态估计, 以获得角度和角速度的残差信息, 进而通过合并检测, 并将其与阈值比较, 即可检测出星敏感器的故障。最后以2种常见的星敏故障为例进行仿真, 并进一步采用在轨数据对所提算法进行试验验证, 仿真和试验验证结果均表明, 本文设计的算法可以有效地对星敏感器进行故障检测。
1 姿态描述考虑以下卫星动力学方程
(1) |
式中,I为卫星惯量矩阵, ω为卫星角速度, H为卫星角动量。
目前在轨运行的一部分卫星, 由于陀螺为非长寿命陀螺, 不能长期工作, 因此上述方程中的角速度并不总是可测。部分学者提出的基于陀螺开机在轨故障检测方法不适用。考虑到在轨卫星仅有星敏数据可用, 因此从运动学角度考虑对卫星角速度进行估计。
定义四元数q由三维矢量q13和标量q4组成, 表示为
(2) |
式中, e为旋转轴的单位矢量, ϕ为旋转角。
用四元数表示的姿态运动学方程为
(3) |
式中
(4) |
ω表示卫星角速度, [ω×]表示ω的叉乘矩阵, 其表达式为
(5) |
参考文献[11], 将广义罗德里格参数(generalized rodrigues parameters, GRPs)定义为
(6) |
式中, a, b均为标量, 在小角度误差情况下, 取a=1, b=4, 定义误差广义罗德里格参数为
(7) |
式中,δq=[δq13 δq4]为误差四元数。
2 数据故障检测算法UKF-D由于陀螺不能长期工作, 因此, 部分卫星在轨运行时, 控制系统只能利用星敏感器测得的角度信息。在这种情况下, 一旦星敏感器发生故障, 将会把错误的角度信息输送到控制系统中, 从而导致卫星姿态失稳。基于上述考虑, 本节将提出一种基于UKF的算法对星敏感器故障进行检测, 以便在故障发生后能够及时给出故障报警, 并采取相应的措施来减小故障对系统的影响。
2.1 星敏观测模型星敏感器可以直接获得卫星在惯性空间下的四元数, 定义星敏感器观测模型如下
(8) |
式中,A(q)为惯性坐标系到卫星本体系的转移矩阵, r为参考矢量, υ为噪声。
2.2 基于UKF的星敏故障检测算法UKF-D在文献[11]的基础上, 取误差修正罗德里格参数和角速度为状态量, 即
(9) |
构建状态滤波方程如下
(10) |
定义Sigma点
(11) |
式中, χkδρ为姿态误差, χkω为角速度估计, n为系统状态维数。
考虑到直接采用修正罗格里德参数计算复杂, 为避免奇异值出现, 计算过程中采用四元数进行转换计算
(12) |
确定一步预测值
(13) |
从而可以得到
(14) |
根据样本点计算状态均值和方差
(15) |
测量更新
(16) |
根据文献[11]中所述方法, 获得观测均值
(17) |
进一步获得估计的姿态和角速度
(18) |
通信卫星的特点是长期对地指向, 为确保业务稳定运行, 其姿态角变化非常小, 利用稳态数据可以获得3个姿态角的平均值, 从而得到姿态角的残差, 即
(19) |
虽然角速度不可测, 但考虑到卫星长期运行中大部分处于正常工作状态, 因此取历史时期所估计的角速度的平均值与当前时刻的估计值之差为角速度残差, 其表达式如下
(20) |
式中,
由于测量设备采集精度或者数据传输过程中受空间电磁干扰, 可能会出现不符合预期的非正常值, 称之为野值, 为此, 采用3σ准则对残差数据进行预处理, 剔除野值。
(21) |
本文取n=4, 当出现野值时, 采用下列表达式, 对野值进行归0处理
(22) |
角速度为估计值, 对其进行均值化处理
(23) |
对预处理后的角度残差和角速度残差进行归一化处理
(24) |
(25) |
式中,γAt和γRt分别表示姿态角和角速度残差的设定阈值。
对归一化处理后的数据进行合并, 从而获得故障检测结果
(26) |
根据上述表达式, 当dAlarmγ=1时表示有故障发生, dAlarmγ=0表示无故障发生。
3 仿真和试验验证研究本节针对2种星上常见的星敏故障(突发常值故障和噪声变大故障)分别进行了仿真, 结果表明本文所提算法能够准确检测到故障。此外, 文中还利用真实的在轨遥测数据进行试验, 结果进一步验证了故障检测算法的有效性。
3.1 星敏数据故障模式考虑星敏在轨运行期间, 某一时刻由于不明原因, 数据采集时出现野值, 四元数为某一个固定值, 并很快恢复, 此外, 由于单粒子等空间环境因素, 会导致星敏出现长期常值故障或者噪声变大故障。这2种故障将影响姿态确定结果。下面将分别对这2种故障进行仿真, 以验证本文所提算法的有效性。
3.2 仿真验证 3.2.1 仿真参数设置星体惯量参数设置为
四元数初始值设置为q=[0.5 0.5 0.5 0.5], 四元数估计值设置为
仿真中设定第二个星敏出现以下2种故障工况:
工况1 卫星在501 s处出现野值, 四元数变为q=[0.5 0.5 0.5 0.5], 然后立即恢复, 在513 s处, 四元数变为q=[0 0 0 1], 并持续到900 s处恢复。
工况2 卫星在500 s处出现野值, 四元数变为q=[0.5 0.5 0.5 0.5], 然后立即恢复, 在513~702 s, 四元数出现噪声变大, 设定为
故障检测时, “0”表示无故障, “1”表示此刻有故障发生。
3.2.2 工况1仿真结果分析根据仿真工况设定, 在工况1故障条件下, 滚动角和角速度ωx的残差曲线如图 1所示。
从图 1可以看出, 角速度在出现故障后又快速收敛, 角度在出现故障后, 能表示出故障在持续, 在故障恢复的时间点, 发现角速度发生了跳变, 然后收敛, 而相对于角度来说, 姿态恢复, 残差为0。
图 2和图 3给出了角度残差剔野结果以及故障检测结果, 从结果来看, 野值被正确剔除, 检测结果准确表示了故障持续时间。仿真结果说明, 采用UKF-D算法, 在513 s处检测故障, 并持续到900 s, 故障恢复, 报警结束。通过剔野, 将501 s处的野值去除, 结果正确, 与预期相符。
3.2.3 工况2仿真结果分析根据仿真工况设定, 在工况2故障条件下, 俯仰角和角速度ωy的残差曲线如图 4所示。
从图 4可以看出, 在500 s左右出现一个数据跳变, 这个数据如果引入控制或者误认为是故障信息则会导致控制失稳。
图 5和图 6给出了剔除野值后的滚动角变化曲线以及故障检测曲线, 从图 6可以看出, 该算法准确地检测出故障, 并进行了报警报警。前100 s为系统稳定时间, 不进行故障检测, 从100 s以后开始故障检测, 从检测结果来看, 在513 s处检测故障, 并持续到702 s, 故障恢复, 报警结束。通过剔野, 将501 s处的野值去除, 结果正确, 与预期相符。
3.3 在轨数据试验验证以某通信卫星在轨遥测获得的四元数进行验证, 同时, 在600 s处设置构造四元数常值故障q=[0 0 0 1], 在800 s时恢复, 仿真结果如图 7所示。
图 7给出了角度和角速度残差值, 从图中可以看出, 角度和角速度残差值均反映出星敏感器有故障数据发生, 与仿真数据类似。
上图给出了在轨试验数据的检测结果, 从检测曲线可以看出, 故障在600 s时发生, 在800 s时结束, 结果与预期相符, 表明该算法可以应用到工程实际应用当中。
4 结论本文提出了一种UKF-D故障检测算法, 用于无陀螺数据下的星敏感器数据故障检测, 通过在状态方程中加入角速度估计, 建立基于UKF的滤波方程, 实现了对在轨运行卫星的星敏故障检测。最后, 分别针对有野值情况, 星敏数据存在常值故障和噪声变大故障, 进行仿真, 结果表明该算法能有效检测出数据故障。进一步地, 利用在轨遥测数据, 并以此为基础构造了星敏常值故障, 对算法的有效性进行了验证。结果表明, 本文所提算法能准确检测到星敏故障。由于该算法仅需利用动力学方程, 因此, 将来可应用于地面遥测数据预警系统中。
[1] | HU Qinglei, XIAO Bing. Fault-Tolerant Attitude Control for Spacecraft under Loss of Actuator Effectiveness[J]. Journal of Guidance Control and Dynamics, 2011, 34(3): 927-932. DOI:10.2514/1.49095 |
[2] | HICHAM Khebbachea, MOHAMED Tadjinea, SALIM Labiodb, et al. Adaptive Sensor-Fault Tolerant Control for a Class of Multivariable Uncertain Nonlinear Systems[J]. ISA Trans, 2015, 55: 100-115. DOI:10.1016/j.isatra.2014.10.001 |
[3] | SEIIED Saeed-Nasrolahib, FARZANEH Abdollahia. Sensor Fault Detection and Recovery in Satellite Attitude Control[J]. Acta Astronautica, 2018, 145: 275-283. DOI:10.1016/j.actaastro.2018.01.002 |
[4] | NASIR Mehranbod, MASOUD Soroush, CHANIN Panjapornpon. A Method of Sensor Fault Detection and Identification[J]. Journal of Process Control, 2005, 15(2): 321-339. |
[5] | GAO Zhifeng, HAN Bing, JIANG Guoping, et al. Active Fault Tolerant Control Design Approach for the Flexible Spacecraft with Sensor Faults[J]. Journal of the Franklin Institute, 2017, 354(18): 8038-8056. DOI:10.1016/j.jfranklin.2017.09.023 |
[6] | CHINGIZ Hajiyev, DEMET Cilden Guler. Review on Gyroless Attitude Determination Methods for Small Satellites[J]. Progress in Aerospace Sciences, 2017, 90: 54-66. DOI:10.1016/j.paerosci.2017.03.003 |
[7] |
夏克强, 周凤岐, 周军, 等. 无陀螺卫星的非线性姿态估计算法及仿真研究[J]. 西北工业大学学报, 2009, 27(3): 406-410.
XIA Keqiang, ZHOU Fengqi, ZHOU Jun, et al. Nonlinear Attitude Estimation Algorithm for Gyroless Satellite and Its Simulation[J]. Journal of Northwestern Polytechnical University, 2009, 27(3): 406-410. (in Chinese) DOI:10.3969/j.issn.1000-2758.2009.03.024 |
[8] |
姜雪原, 马广富. 基于平方根Unscented卡尔曼滤波的无陀螺卫星的姿态估计[J]. 南京理工大学学报, 2005, 29(4): 399-402.
JIANG Xueyuan, MA Guangfu. Gyroless Satellite Attitude Estimation for Square Root Unscented Kalman Filter[J]. Journal of Nanjing University of Science and Technology, 2005, 29(4): 399-402. (in Chinese) DOI:10.3969/j.issn.1005-9830.2005.04.005 |
[9] |
高琴, 任郑兵, 孙爱民. 基于星敏感器的卫星姿态估计方法研究[J]. 导航定位与授时, 2018, 5(1): 42-47.
GAO Qin, REN Zhengbing, SUN Aimin. Research on Satellite Attitude Estimation Based on Star Sensor[J]. Navigation Positioning & Timing, 2018, 5(1): 42-47. (in Chinese) |
[10] |
靳永强, 刘向东, 侯朝桢. 基于UKF的无陀螺姿态确定[J]. 航天控制, 2007, 25(4): 31-35.
JIN Yongqiang, LIU Xiangdong, HOU Chaozhen. UKF-Based Gyroless Attitude Determination Using Rodrigues Parameters[J]. Aerospace Control, 2007, 25(4): 31-35. (in Chinese) DOI:10.3969/j.issn.1006-3242.2007.04.007 |
[11] |
胡迪, 董云峰. 基于矢量观测的陀螺故障诊断算法[J]. 空间科学学报, 2011, 31(2): 229-235.
HU Di, DONG Yunfeng. Gyro Fault Diagnosis Algorithm Based on Vector Observation[J]. Chinese Journal of Space Science, 2011, 31(2): 229-235. (in Chinese) |
[12] |
胡迪, 董云峰. 基于自适应UKF的敏感器故障诊断算法[J]. 北京航空航天大学学报, 2011, 37(6): 639-643.
HU Di, DONG Yunfeng. Sensor Fault Diagnosis Algorithm Based on Adaptive UKF[J]. Journal of Beijing University of Aeronautics and Astronautics, 2011, 37(6): 639-643. (in Chinese) |
[13] |
袁泉, 何英姿, 邢琰, 等. 基于线性最小均方差估计的星敏感器故障诊断[J]. 空间控制技术与应用, 2013, 39(2): 30-35.
YUAN Quan, HE Yingzi, XING Yan, et al. Fault Diagnosis for Star Sensors Based on Linear Minimum Mean Square Filter[J]. Aerospace Control and Application, 2013, 39(2): 30-35. (in Chinese) DOI:10.3969/j.issn.1674-1579.2013.02.006 |