适用于卫星姿态控制的干扰力矩辨识方法
技术领域
本发明属于航天器姿态控制技术领域。
背景技术
三轴稳定卫星在轨运行期间会受到空间诸多干扰力矩的影响,例如重力梯度力矩、太阳光压力矩、气动力矩以及卫星有效载荷转动部件产生的干扰力矩等。特别是对姿态控制精度要求较高的卫星而言,干扰力矩会严重影响卫星的姿态控制精度,并最终导致卫星在轨飞行任务无法顺利完成,例如高分辨率对地观测卫星。在姿态控制算法中对干扰力矩进行补偿,能够大幅提高卫星的姿态控制精度,而对干扰力矩补偿则必须首先准确辨识出卫星受到的干扰力矩。
目前,在轨卫星进行姿态控制时,往往利用卫星轨道参数,预先估算出干扰力矩的大小,在轨直接在姿态控制算法中进行补偿,而不是进行实时估计和补偿。姿态控制算法对预先估算出的干扰力矩常值进行补偿时,受轨道高度变化、转动部件运动等复杂因素影响,无法对卫星实际受到的干扰力矩进行准确补偿,降低了卫星姿态控制的精度。干扰力矩在轨实时估计的难点是很难将系统的噪声和干扰力矩分离,特别是当卫星处于稳态时,其受卫星角度和角速度测量精度的影响更为明显,且执行机构输出力矩中噪声幅值可能比干扰力矩幅值还要大。通过传统的滤波算法去噪声效果一般,有一定的时间延迟,不能够将干扰力矩从噪声中分离出来。
发明内容
本发明的目的是为了解决传统滤波算法无法在高精度姿态控制任务中分离测量噪声和干扰力矩的问题,本发明提供一种适用于卫星姿态控制的干扰力矩辨识方法。
本发明的适用于卫星姿态控制的干扰力矩辨识方法,所述方法包括如下步骤:
步骤一、根据待辨识的卫星姿态控制系统,建立带有未知干扰力矩的小量化的卫星姿态控制系统模型;
步骤二、根据步骤一建立的卫星姿态控制系统模型获得未知输入观测器,采用获得的未知输入观测器估计包含噪声的干扰力矩;
步骤三、采用离散傅里叶变换和离散傅里叶反变换来离线处理步骤二估计的包含噪声的干扰力矩,获得去除噪声后的干扰力矩的估计结果;
步骤四、对步骤三中的估计结果采用傅里叶级数拟合得到干扰力矩的数学表达式。
所述步骤一中,根据待辨识的卫星姿态控制系统,建立带有未知干扰力矩的小量化的卫星姿态控制系统模型:
其中,卫星姿态控制系统状态矩阵 输入矩阵 输入矩阵 观测矩阵C=I6×6,所述卫星姿态控制系统扰动w和测量噪声v为彼此不相关的零均值白噪声;卫星姿态控制系统输入量u是3维矢量,卫星姿态控制系统干扰量d是3维矢量;系统状态量x是6维矢量,其中是卫星欧拉角,[ωx ωy ωz]T是卫星姿态相对参考坐标系的转动角速度在xyz星体坐标系中的表示,为x的导数;系统输出量y是6为矢量,是系统状态量x的测量量;
上式中,
A2=Ib,Gd=Gu=I3×3
其中,[0 -ω0 0]T为卫星运动的牵连角速度,I3×3为3×3阶的单位阵;
Ib是卫星转动惯量矩阵,定义为
所述步骤二中,根据步骤一建立的卫星姿态控制系统模型获得未知输入观测器,采用获得的未知输入观测器估计包含噪声的干扰力矩:
由于式(1)中Bu=Bd,令Bu=Bd=B,故式(1)离散化后为:
根据式(2)获得未知输入观测器,采用获得的未知输入观测器具体估计为:
式中,表示在第k步估计的第(k-1)步的干扰力矩;
矩阵Mcb满足条件:
其中,rank(CB)=rank(B)=kd。
所述步骤二中,根据式(2)获得未知输入观测器为:
y(k+1)-CAx(k)-CBu(k)=CBd(k)+Cwk+vk+1 (5);
将式(5)两边同时左乘矩阵Mcb,得到:
Mcb(y(k+1)-CAx(k)-CBu(k))=d(k)+Mcb(Cwk+vk+1) (6)
从而获得卫星此时位置的干扰力矩的输入偏差d(k)的估计为:
所以在第k步获得第(k-1)步的干扰力矩的估计为:
所述步骤一中忽略了转动惯量矩阵中的惯量积,只考虑主轴转动惯量元素:
进而得到式(1)。
所述步骤三中,采用离散傅里叶变换和离散傅里叶反变换来离线处理步骤二估计的包含噪声的干扰力矩,获得去除噪声后的干扰力矩的估计结果包括:
采用离散傅里叶变换将步骤二获得的干扰力矩的数据序列从时域变换到频域,
选择截断频率,将高于该频率的谱值全部置零,获得去除噪声后的时间序列,所述截断频率大于干扰力矩的变化频率且与所述变化频率同一量级;
再采用傅里叶反变换重建去除噪声后的时间序列,获得去除噪声后的干扰力矩的估计结果。
所述步骤四中,对步骤三获得的估计结果进行傅里叶级数拟合,获得干扰力矩的数学表达式。
本发明的有益效果在于,充分利用卫星环境力矩频率特别小的特性,提出一种基于未知输入观测器与傅里叶变换去除噪声的干扰力矩估计算法,这种方法与传统的时延低通滤波器相比去噪声效果更好,而且没有时间延迟。
附图说明
图1为具体实施方式一所述的适用于卫星姿态控制的干扰力矩辨识方法的原理示意图。
图2为未知输入观测器计算的包含噪声的干扰力矩估计值随时间变化的曲线示意图。其中,上图为x轴的干扰力矩估计值随时间变化的曲线示意图,中图为y轴的干扰力矩估计值随时间变化的曲线示意图,下图为z轴的干扰力矩估计值随时间变化的曲线示意图。
图3为针对x轴去除噪声后的干扰力矩估计曲线。
图4为针对y轴去除噪声后的干扰力矩估计曲线。
图5为针对z轴去除噪声后的干扰力矩估计曲线。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的适用于卫星姿态控制的干扰力矩辨识方法,所述方法包括如下步骤:
步骤一、根据待辨识的卫星姿态控制系统,建立带有未知干扰力矩的小量化的卫星姿态控制系统模型;
步骤二、根据步骤一建立的卫星姿态控制系统模型获得未知输入观测器,采用获得的未知输入观测器估计包含噪声的干扰力矩;
步骤三、采用离散傅里叶变换和离散傅里叶反变换来离线处理步骤二估计的包含噪声的干扰力矩,获得去除噪声后的干扰力矩的估计结果;
步骤四、对步骤三中的估计结果采用傅里叶级数拟合得到干扰力矩的数学表达式。
具体实施方式二:本实施方式是对具体实施方式一所述的适用于卫星姿态控制的干扰力矩辨识方法的进一步限定,所述步骤一的具体过程:
选择卫星欧拉角作为姿态参数,其中,是滚动角,θ是俯仰角,ψ是偏航角,按照3-1-2的转序,即先绕z轴转ψ角,再绕x轴转角,最后绕y轴转θ角,得到卫星的运动学方程:
式中,转动角速度ω=[ωx ωy ωz]T;
卫星的姿态动力学方程为:
式中,uc=[u1 u2 u3]T为星体所受控制力矩,d=[d1 d2 d3]T表示干扰力矩。
所述姿态动力学方程可以改写成如下形式:
Ib是卫星的转动惯量矩阵:
其中,对角线元素为卫星绕星体坐标轴的转动惯量,其他元素为惯量积。忽略惯量积后,式(7)可展开为:
将上式整理成矩阵的形式为
其中,
A2=Ib (13)
Gd=Gu=I3×3 (14)
令状态变量为
定义卫星姿态控制系统输出变量y=x,再考虑系统扰动和测量噪声,则建立系统的状态方程为:
其中, C=I6×6,I6×6为6×6阶的单位阵,I3×3为3×3阶的单位阵,w和v分别表示系统扰动和测量噪声,是彼此不相关的零均值白噪声。
具体实施方式三:本实施方式是对具体实施方式一所述的适用于卫星姿态控制的干扰力矩辨识方法的进一步限定,所述步骤二包括如下步骤:
步骤二一、将步骤一中的模型离散化。由式(14)可知Bu=Bd,于是可设式(16)中Bu=Bd=B,取采样时间△t,得到带有未知干扰的系统离散状态空间表达式为:
步骤二二、为了计算未知干扰输入项,必须要满足条件:
rank(CB)=rank(B)=kd (18)
而在式(17)中,由C是单位阵可知CB=B,满足式(18)。
步骤二三、获得未知输入状态观测器。由式(17)可得:
y(k+1)-CAx(k)-CBu(k)=CBd(k)+Cwk+vk+1 (19)
在步骤二二中的条件下,存在矩阵Mcb满足
即Mcb是矩阵CB的广义逆矩阵。将式(19)同时左乘矩阵Mcb,得到
Mcb(y(k+1)-CAx(k)-CBu(k))=d(k)+Mcb(Cwk+vk+1) (21)
从而获得卫星当前位置的干扰力矩输入偏差d(k)的估计:
于是在第k步可以获得第(k-1)步的干扰力矩的估计公式
卫星姿态控制系统中,测量噪声造成执行机构的控制指令力矩中包含的噪声幅值和环境干扰力矩幅值近似或比它更大,故步骤二中估计出的结果包含环境干扰力矩和噪声两部分。
具体实施方式四:本实施方式是对具体实施方式三所述的适用于卫星姿态控制的干扰力矩辨识方法的进一步限定,步骤三包括如下步骤:
步骤三一、使用离散傅里叶变换将获得的干扰力矩的数据序列从时域变换到频域。由式(23)得到的数据序列表示为{xn}N={x0,x1,x2,…,xn,…xN-1},其中,序列用花括号表示,xn是序列中的第n个元素(n=0,1,2,…,N-1)。那么离散傅里叶变换得到的频域序列可以表示为{Xk}N={X0,X1,X2,…Xk,…XN-1},其中有
式中,w满足以下性质:
w*=w-1 wl+mN=wl (25)
将上述过程写成矩阵形式:
步骤三二、选择截断频率,将高于截断频率的谱值置零。由于环境干扰力矩的变化角速度约等于轨道角速度ωf=10-3rad/s,变化频率比噪声小得多,故而截断频率ωc只需选择和环境干扰力矩的变化频率同一量级稍大一些。
干扰力矩中太阳光压力矩和重力梯度力矩是用三角函数表示的周期函数,变化的角速度是轨道角速度,约为ωf=10-3rad/s,而当卫星姿态稳定的时候,卫星的控制器输出指令力矩接近于高斯白噪声。所以干扰力矩的频率比白噪声的频率低的多,因而将高于轨道频率的噪声频率基本都去掉后,剩下的就是干扰力矩的信息。
步骤三三、再将新的频域序列使用离散傅里叶反变换到时域,即可得到去除噪声后的干扰力矩估计结果。针对频域序列{Xk}N,有
写成矩阵形式,可得
本发明提供一个具体实施例:
下面结合图2-5说明所述实施例,所述实施例为对以上实施方式的进一步说明,以仅使用星敏感器为测量元件、PD控制器为控制律的卫星姿态控制系统为例,说明所设计的干扰力矩辨识方法的合理性,具体过程为:
星敏感器的测量精度为(6,6,15)〞,干扰力矩为
卫星的转动惯量矩阵为
PD控制器参数为
Kp=[23 24 35.8]
Kd=[453 485 701]
本实施例采用Matlab/Simulink软件编制程序,采用ODE4算法,仿真时长设置为两个轨道周期12566s,未知输入观测器输出值选取姿态稳定阶段的100s到仿真结束的区段,截断频率ωc选择0.005Hz。最后获得干扰力矩的数学表达式为