利用随机森林算法的卫星控制系统故障诊断

2021-05-24 07:32:00钟麦英李文博刘成瑞
宇航学报 2021年4期
关键词:姿态控制决策树姿态

黄 瑾,刘 洋,钟麦英,杨 瑞,李文博,刘成瑞,4

(1. 山东科技大学电气与自动化工程学院,青岛 266590;2. 西交利物浦大学智能工程学院,苏州 215123;3. 北京控制工程研究所,北京 100190;4. 空间智能控制技术重点实验室,北京 100190)

0 引 言

随着航天技术的不断发展,航天器的结构和功能也日益复杂,一旦发生故障,轻则导致航天器的预定功能降低或者丧失,重则可能导致重大的经济损失甚至人员伤亡。卫星作为一类重要的航天器,对其安全性和可靠性的要求也越来越高[1-3]。卫星姿态控制系统是卫星重要的子系统之一,它的正常运行是卫星在轨安全运行并实现各种在轨任务的重要前提和保障。而卫星长期运行于外部干扰复杂的环境中,且卫星姿态控制系统本身结构复杂,涉及部件众多,给故障诊断工作带来了许多困难。因此,实现卫星姿态控制系统的故障诊断可以有效地监测系统的运行状态,对系统发生的故障及时进行识别,是提高卫星系统可靠性和安全性的有效途径。近年来,对于卫星姿态控制系统故障诊断与容错控制的研究取得了重大进展[4-6]。

目前,基于模型的故障诊断方法在卫星姿态控制系统中已经得到了深入研究,产生了众多理论成果。这类方法使用系统解析模型产生残差,进而实现故障诊断。文献[7]基于非线性几何提出了一种扰动解耦方法,实现了卫星姿态控制系统中反作用飞轮的故障检测与分离。文献[8]将扩展Hi/H∞故障检测滤波器应用于卫星姿态控制系统,设计了可用于故障检测的残差产生器,并给出了一种基于贡献分析的故障分离方法。文献[9]针对卫星姿态控制系统的未知执行器故障设计了二级扩展卡尔曼滤波器,实现了对状态和故障的重构。但是卫星在轨运行时始终承受高温低温、电磁干扰、空间粒子辐射,杂散光等多种干扰,且往往在不确定场景中执行复杂空间任务,因此其标称模型与实际运行模型之间存在一定的差异,进而导致基于模型的故障诊断方法难以对卫星姿态控制系统实现精确的故障分离与诊断。近年来,随着计算机和人工智能技术的不断发展,各种机器学习算法相继产生,基于机器学习的故障诊断方法在卫星姿态控制系统中得到了成功的应用。这类方法只需利用系统正常以及不同故障情况下得到的系统数据进行学习和训练,即可实现故障诊断。文献[10]利用支持向量机方法实现了卫星姿态控制系统执行器故障的检测与隔离,并结合小波分析提高了支持向量机的寻优效率与泛化能力。文献[11]提出了一种基于神经网络的鲁棒故障检测与隔离方法,构造了两个递归神经网络分别用于识别敏感器和执行器故障。文献[12-15]针对航天器在轨服务中的组合体姿态控制问题,开展了基于数据驱动的姿态控制算法设计,仅利用组合体系统输入输出数据即可得到具有在线学习能力的控制策略。

卫星实际在轨运行过程中往往面临以下挑战:故障危害性大、运行环境特殊、不确定性因素多、星上资源有限、人工干预能力有限等,这些因素限制了部分基于机器学习故障诊断方法在卫星运行中的应用。且在卫星历史数据中,绝大部分数据为正常工作时的数据,故障数据不足,导致用于训练的故障样本有限。因此,需要寻找一种分类准确率高,鲁棒性强,且不依赖大量数据进行模型训练的故障诊断方法。在众多机器学习算法中,随机森林(Random forest,RF)是一种将bagging方法和随机子空间思想相结合的集成学习算法。该方法使用bootstrap重抽样法[16]这一随机可重复有放回抽样方法生成多个样本集,通过随机抽样产生多个特征子集,生成多个决策树,并对多个决策树的输出进行投票,得到分类结果。这种算法不容易出现过拟合现象,实现过程中避免了复杂的参数寻优过程,大大提高了算法的实现速度,可以提高在线故障诊断实时性能,十分适合卫星在轨应用这一计算资源有限的情况。而且RF可以描述数据中的非线性关系以达到较高的拟合准确度,并能对多来源以及混合型的数据结构(包括连续变量和离散变量)在同一模型中进行建模,可以提高故障诊断的准确率。Bootstrap有放回重采样法在原有样本集的基础上产生多个样本子集,可以有效处理故障数据不充分的小样本。此外,RF算法对异常值和噪声具有很好的容忍度,并对自变量的相关性具有鲁棒性,分类精度不易被影响,可满足卫星在动态不确定场景下,面向多种空间任务的技术要求。近年来,RF算法在计算机、工业、医疗等各领域都得到了成功应用。文献[17]提出了一种基于数据并行计算的优化随机森林算法,有效降低了数据通信成本,文献[18]应用随机森林算法建立用于评估地下水潜力的模型,文献[19]将随机森林分类器用于预测早期肾移植排斥反应。RF算法在一些常见系统的故障诊断问题中也有成功的应用,如齿轮箱[20]、风力涡轮机[21]、电力变压箱[22-23]等。因此,本文针对卫星姿态控制系统,采用了基于RF的故障诊断方法。

本文提出一种基于RF的卫星姿态控制系统故障诊断方法,首次将RF算法应用于卫星姿态控制系统的故障诊断中。首先,分别在正常和故障情况下,采集系统运行过程中的数据,提取数据特征。利用bootstrap重抽样法对此特征数据集进行采样,构建子样本集,实现多个决策树的生长和RF模型的建立。把实时测量的特征信号输入训练好的RF模型,就可以实现姿态敏感器、执行器等多种故障的检测和分离。在半物理仿真平台上进行对比实验,验证了所提出算法的有效性和实时性。

1 问题描述

1.1 卫星姿态控制系统

卫星姿态控制系统是由姿态敏感器、控制器、执行器和卫星本体构成的闭环系统。其中,姿态敏感器用于测量卫星相对于空间中基准目标方位,从而确定卫星的空间方位;控制器对测得的信息进行处理后确定卫星的飞行姿态,并根据确定的姿态,按满足设计要求的控制律输出控制指令信号给执行器,执行器根据控制指令信号输出所需的控制力矩,从而实现卫星的姿态控制[24]。

图1 卫星姿态控制系统原理图Fig.1 Schematic diagram of satellite attitude control system

定义由四元数表征的卫星姿态运动学方程为:

(1)

(2)

(3)

定义卫星的转动角动量为H=Ibω,式中Ib表示卫星的转动惯量矩阵。

记外部干扰力矩为

Td=[Td1,Td2,Td3]T

(4)

则卫星姿态的动力学方程可描述为:

(5)

式中:Mo为卫星的控制力矩,记为

Mo=[Mox,Moy,Moz]T

(6)

如文献[8]中所述,利用基于模型的方法可以实现动态系统故障检测,但是如何实现准确的故障分离是一个尚待解决的难题。对于卫星姿态控制系统这类大型系统,其工作环境复杂,存在大量外部干扰,难以得到精确的数学模型描述,且闭环控制系统的反馈控制作用会使故障征兆在整个系统中传播,对系统状态和输出产生累积影响,给故障诊断带来大量困难,因此有必要使用基于数据的方法对其故障诊断问题进行研究。

1.2 随机森林算法

RF定义为一种包含多个决策树的分类器,其输出的类别由每棵树所输出的类别的众数决定[25]。RF算法由Leo Breiman于2001年提出,是一种有监督的机器学习算法,该算法结合了bagging算法[26]和随机子空间方法[27],利用这两种随机思想很好地抑制了传统分类器的过拟合现象,且避免了繁琐的参数寻优过程,减小了计算量,缩短了训练和分类的时间。RF以带有类别标签的特征数据集作为输入,以最终的分类结果作为输出。RF算法是一种建立在特征集合上的算法,特征的优劣在一定程度上影响分类的准确率。

假定RF由k个分类器h1(T),h2(T), …,hk(T)集合而成,表示为:

H={h1(T),h2(T), …,hk(T)}

其中,T是特征数据集,hp(T), (p=1,2, …,k)为基分类器。通常选用分类回归树(Classification and regression tree, CART)作为该算法的基分类器。

RF模型的构建主要包括以下部分:

1)用bootstrap重抽样方法有放回的从数据集中抽取k个样本集,并由此构建k棵分类回归树;

图2 随机森林原理图Fig.2 Schematic of random forest

2)在每个非叶子节点上选择属性时,从M个特征中随机抽取m个特征作为当前节点的分裂特征集,并选择最具有分类能力的特征进行节点分裂;

3)生成的k棵决策树组成随机森林,其分类的结果由每棵树的分类结果投票决定。

1.3 问题提出

RF在解决卫星姿态控制系统故障诊断问题方面的优势可总结为以下三点:

1)有较高的分类准确率,而且可以对多来源以及混合型的数据在同一模型中进行建模,实行并行计算,适合计算资源有限的卫星在轨应用;

2)训练数据集通过可重复的有放回抽样方法产生,适合处理卫星姿控系统这类故障样本少的问题;

3)对自变量的相关性具有鲁棒性,可满足卫星动态不确定场景下,面向多空间任务的技术要求,因此,随机森林是适用于解决卫星姿态控制系统故障诊断问题的方法。

综上所述,RF具有准确率高、可以处理小样本问题、鲁棒性强等优点,适用于解决卫星姿态控制系统的故障诊断问题。因此本文拟提出一种基于RF的算法实现卫星姿态控制系统的故障分离与诊断。利用系统在无故障和已知故障类型的情况下运行时采集到的多个姿态敏感器的测量输出信号以及系统中的控制指令信号完成随机森林模型的构建,然后将此模型用于对于新采集到数据的分类。简单起见,本文只考虑了姿态敏感器的偏差故障、噪声故障,以及执行器的偏差故障等典型故障类型。

2 基于随机森林算法的卫星姿态控制系统故障诊断

2.1 故障模式与原始数据集的获取

本文考虑的卫星姿态控制系统姿态敏感器包括红外地球敏感器、太阳敏感器、星敏感器以及陀螺仪,执行器为动量轮。其中红外地球敏感器利用探测到的红外地平信息确定地心的位置,获得地心矢量在敏感器坐标中的方位,两个红外地球敏感器分别平行安装于卫星本体坐标系的俯仰轴和滚动轴,测量卫星的俯仰角和滚动角。太阳敏感器通过测量太阳矢量的方位来确定太阳矢量在星体坐标中的方位,从而获取航天器相对于太阳方位信息,其输出值是被测太阳角的函数。星敏感器通过观测星空,识别视场内的恒星方位,基于星历数据输出星敏感器本体相对惯性坐标系的姿态,再结合星敏感器的安装矩阵和轨道数据可解算出卫星相对轨道坐标系的姿态。陀螺仪是卫星姿态控制系统常见的惯性敏感器,用于测量卫星角位移和角速度。动量轮是卫星姿态控制系统的执行器,根据输入指令产生电磁力矩,利用角动量交换的方式实现卫星姿态控制[28]。

卫星姿态控制系统中的常见故障类型根据发生部位不同可分为姿态敏感器故障和执行器故障。

1)姿态敏感器故障

姿态敏感器的常见故障主要包括输出封死、偏差增大、噪声增大三种形式[29]。其中输出封死故障表现为姿态敏感器输出为一个固定值,而噪声和偏差故障发生的概率相对较大。姿态敏感器故障的数学模型表征如下所示:

输出封死故障:

(7)

偏差故障:

(8)

噪声故障:

(9)

式(7)~(9)中:tf为故障发生时刻;uo为姿态敏感器的实际输出,ui为姿态敏感器的理论输出,σ为输出封死故障信号;δ(t)为偏差故障信号;uf(t)为姿态敏感器测量噪声,η为噪声故障增益,一般将随机噪声幅值增大到两倍以上认定为姿态敏感器发生噪声增大故障,即η>2。注:若发生星敏感器故障,将星敏感器输出的四元数转换为欧拉角描述后,会使得加性故障变为乘性故障,而乘性故障可转换为式(8)中的等效加性故障进行处理。

2)执行器故障

执行器常见故障包括动量轮卡死、输出力矩偏差及效率下降等。其中卡死故障和效率下降故障会对卫星姿态控制系统的稳定性产生较大的影响;力矩偏差故障发生的原因主要有轴承温度增高,润滑出现问题、轴承保持架不稳定、壳体泄露导致内部真空环境封闭失效等。

卡死故障:

(10)

偏差故障:

(11)

效率下降故障:

(12)

式(10)~(12)中:tf为故障发生时刻;Mo为动量轮实际输出力矩,Mi为动量轮理论输出力矩;δ(t)为偏差故障信号;K为动量轮效率下降故障增益系数,且0

当姿态敏感器或执行器故障发生时,其故障征兆会体现于系统各部分输入输出数据中,并在不同的故障模式下呈现不同的变化特征,本文拟对系统中的控制指令信号和各姿态敏感器的测量输出信号进行采集,并对它们所体现的数据特征进行分析,从而实现故障诊断。

对系统在正常状态和不同故障类型下运行的姿态敏感器输出和控制指令信号分别进行采集,按列整合得原始数据集D,并记录其对应的故障标签yi

yi∈{y1,y2,…,yn}

2.2 时域特征提取

根据经验以及所采集到系统输入输出信号的特点对信号进行特征提取。时域分析可以更好的体现信号携带的故障信息,提高分类的准确率。选择表1中的7个时域特征,对采集到的系统输入输出信号分别进行特征提取,得到特征数据集T。其中,均方根和绝对平均值可反应信号的幅值,最大值、标准差和方根幅值可反映信号的幅值和离散程度,体现信号在一定时间内变化程度的大小;峰值指标和裕度指标反映信号在短期内的突变程度,可用来检测信号中有无冲击,常用作判断设备磨损的情况。所选择的时域特征不仅反映出信号短期的突发特性与变化幅值,还可反映信号长期的趋势与统计特性,从而达到对正常情况以及不同故障情况的准确分类。

2.3 随机森林故障诊断方法

采集系统在不同故障下运行时的输入输出信号,包括各姿态敏感器的输出以及系统控制指令信号。由于随机森林是一种有监督的算法,因此需要记录下对应的故障标签,利用2.2中的方法对每一维信号分别进行时域特征提取,将特征及故障标签一起作为输入,进行随机森林故障诊断模型的构建。

表1 时域特征描述Table 1 Description of time domain features

随机森林(RF)是一种集成算法,采用分类回归树(CART)作为基分类器进行集成,每棵树之间相互独立且可以并行。CART是一种采用二叉树模型的决策树,采用基尼指数(Gini index)作为划分选择特征及最优分裂值的指标。假设当前选取的特征ti中包含c个类别,其基尼指数如下式所示:

(12)

式中:pj为第j个类别出现的概率。

可以看出基尼指数越小分类的纯度越高。选取基尼指数最小的特征ti作为当前节点的分裂特征。每棵决策树生长的步骤为:

1)采用bootstrap重抽样的方法随机有放回的从含有N个样本的样本集中抽取N个样本,作为决策树的训练集;

2)在选择分裂特征时,从M个特征中随机选择m个作为该决策树的特征子集,将特征子集作为决策树生长过程中的划分属性,按照基尼指数最小的原则进行决策树的生长,直到m个特征全部用作分裂节点,则决策树生长完成;

3)每棵树最大限度的生长,不进行剪枝。

上述步骤中,随机采样和随机选取特征这两个随机过程保证了每棵树之间相互独立,使RF不容易陷入过拟合,且对噪声有一定的鲁棒性,对RF实现良好的分类性能起到了非常重要的作用。

构建RF故障诊断模型时,对提取特征后的数据集重复进行k次bootstrap重抽样过程,利用得到的k个子样本集构建k棵决策树,形成训练集,并综合k棵决策树的分类结果,以少数服从多数的原则进行投票,得到RF最终输出的分类结果,即故障的类别标签,从而实现故障诊断。投票原则由下式给出:

(13)

式中:x为输入变量,H(x)表示RF的分类结果,hi(x)为单棵决策树的分类结果,Y表示目标分类,I(*)为示性函数。

基于RF的卫星姿态控制系统姿态敏感器与执行器故障诊断过程可简要概括如下:

表2 基于随机森林的卫星姿态控制系统姿态敏感器与执行器故障诊断方法Table 2 A fault diagnosis method of sensor and actuator in satellite attitude control system based on random forest algorithm

图3 基于随机森林的故障诊断流程图Fig.3 Flowchart of RF based fault diagnosis

3 仿真校验

3.1 实验过程

不失一般性,本文考虑的卫星姿态控制系统的姿态敏感器为星敏感器和陀螺仪,执行器为动量轮。选取星敏感器噪声增大;陀螺仪偏差增大、噪声增大;动量轮输出力矩偏差4种故障进行实验验证。表3描述了故障名称及对应的类别标签。

设定仿真步长为0.01 s,步数为2000,对每一类故障分别采集2000个样本,将采集到的数据及其故障标签按列整合得到原始数据集D。实验中考虑星敏感器、陀螺仪和动量轮的故障诊断,数据集D中包含星敏感器和陀螺仪的测量输出以及系统控制指令信号。接下来选择表2中的7个时域特征,对采集到的每一维信号分别进行特征提取,形成特征数据集T。

式中:us,ug分别表示星敏感器和陀螺仪的测量输出,Mc表示给动量轮的控制指令,以行向量形式整合为矩阵D,Tus,Tug,TMc分别表示对每个变量提取时域特征得到的矩阵,整合得矩阵T,yi(i=1,2,3,4,5)表示类别标签。共采集到9维系统变量,实验中将每4个数据划分为一组进行特征提取,对每个变量提取7个时域特征,则特征集合中共含M=(9×7)个特征,每次从中选取m个作为决策树生长中的分裂属性。利用bootstrap重抽样方法生成k个子样本集,未被抽到的袋外数据将作为测试集,由此完成训练集和测试集的划分,利用训练集训练生成k棵决策树,完成RF模型的构建,然后利用得到的RF故障诊断模型对测试集数据进行分类,利用袋外误差指标评估其分类准确率。

表3 故障类型及其对应标签Table 3 Fault types and their corresponding labels

3.2 实验结果

基于RF的卫星姿态控制系统故障诊断实现过程中主要涉及两个参数的选择,分别为最优决策树的棵树k和最优特征子集m。设置k值为500,观察k与错误率之间的关系,如图4所示。

图4 错误率与决策树数量关系图Fig.4 Diagram of error rate and number of decision trees

用训练数据集进行RF分类器模型的构建,并将构建好的RF模型用于测试数据,对测试数据进行分类,得到分类结果的混淆矩阵如表4所示。

表4 测试数据集的混淆矩阵Table 4 Confusion matrix of testing data set

由混淆矩阵可以看出,本次实验利用RF算法进行分类时,y1,y3,y4类型都没有出现分类错误的情况,y2中有1个样本被错分为y5,y5中有一个样本被错分为y1。总体来说,分类正确率可以达到99.73%。

其中y1是系统正常运行的情况,观察表4发现本次实验中对于y1类别仅出现1次错分的情况,可见用此方法进行故障检测时,对于上述几种故障可以实现较低的误报率和漏报率,并能够有效的实现故障分离。同时,这种基于RF的卫星姿态控制系统故障诊断过程可以推广到其他故障类型。对于系统中出现的其他故障,只需要明确其故障类别,然后对故障数据进行特征提取后作为RF的输入重新构建模型,并用构建好的模型进行数据划分,即可实现对这类故障的检测与分离。

3.3 方法对比

为对比本文提出的基于RF算法的卫星姿态控制系统故障诊断方法,采用了常见的多层神经网络分类器对系统采集的数据进行了故障分类仿真测试。设计的神经网络为具有2个隐藏层的前向多层感知器模型,2个隐藏层分别具有20个和10个神经元,输入为与3.2节中RF方法相同的56维的特征数据集,输出为5种类别标签。随机抽取70%的数据作为训练集,30%作为测试集,通过梯度下降方法进行训练。其分类结果如表5所示,总体分类准确率为98%。

表5 神经网络分类器的混淆矩阵Table 5 Confusion matrix of neural network classifier

由上述对比实验可以看出,RF算法的故障分离精度比神经网络略高。且在相同环境下,使用神经网络分类器的平均分类时间为13.41 s,而使用RF算法的分类时间为3.84 s,可以看出使用RF进行分类确实能有效减少分类所需的时间,提高故障诊断的实时性。考虑到卫星姿态控制系统存在外部干扰众多,故障样本少,且计算资源有限的条件限制,本文选择使用RF算法进行故障诊断,该算法鲁棒性强,并可以处理小样本故障数据,且计算效率高,适合于解决卫星姿态系统的故障诊断问题。

4 结论

本文针对传统方法难以实现对卫星姿态控制系统进行故障分离的问题,提出了一种利用RF算法的卫星姿态控制系统的故障诊断方法。该方法通过基分类器的组合学习和投票,实现了对卫星姿态控制系统的故障检测与分离,且不需要复杂的参数寻优过程,避免了大量运算,缩短了数据的分类时间。在半物理仿真平台上进行了实验,分析实验结果表名随机森林算法应用于卫星姿态控制系统时,能够有效地实现系统中多类故障的检测与分离,结果准确率高,且实现过程简单,实时性强。因此随机森林算法在卫星姿态控制系统故障诊断领域中具有不可忽视的应用前景和研究价值。

猜你喜欢
姿态控制决策树姿态
风扰动下空投型AUV的飞行姿态控制研究
攀爬的姿态
学生天地(2020年3期)2020-08-25 09:04:16
一种针对不均衡数据集的SVM决策树算法
全新一代宋的新姿态
汽车观察(2018年9期)2018-10-23 05:46:40
跑与走的姿态
中国自行车(2018年8期)2018-09-26 06:53:44
决策树和随机森林方法在管理决策中的应用
电子制作(2018年16期)2018-09-26 03:27:06
多星发射上面级主动抗扰姿态控制技术研究
自动化学报(2018年2期)2018-04-12 05:46:05
基于决策树的出租车乘客出行目的识别
基于UC/OS-II四旋翼姿态控制系统设计
基于肺癌CT的决策树模型在肺癌诊断中的应用