首页> 中国专利> 一种基于星敏感器和陀螺的高精度卫星姿态确定方法

一种基于星敏感器和陀螺的高精度卫星姿态确定方法

摘要

本发明公开了一种基于星敏感器和陀螺的高精度卫星姿态确定方法,包括以下几个步骤,步骤一:建立卫星姿态确定系统的状态方程;步骤二:建立卫星姿态确定系统的测量方程;步骤三:利用预测滤波在线实时估计模型误差;步骤四:对补偿后的模型利用二阶插值滤波进行状态估计,得到卫星的姿态。本发明采用了预测滤波在线实时估计模型误差并修正系统模型,克服了传统估计过程中将误差处理为零均值白噪声的缺点;而且可以处理任何非线性系统和噪声情况,获得更高精度的估计结果,适用于高精度姿态确定领域。

著录项

  • 公开/公告号CN101846510A

    专利类型发明专利

  • 公开/公告日2010-09-29

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201010194288.2

  • 发明设计人 杨静;魏明坤;

    申请日2010-05-28

  • 分类号G01C1/00(20060101);G01C21/00(20060101);

  • 代理机构11121 北京永创新实专利事务所;

  • 代理人赵文利

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-12-18 00:44:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-22

    未缴年费专利权终止 IPC(主分类):G01C1/00 授权公告日:20130327 终止日期:20140528 申请日:20100528

    专利权的终止

  • 2013-03-27

    授权

    授权

  • 2011-01-19

    实质审查的生效 IPC(主分类):G01C1/00 申请日:20100528

    实质审查的生效

  • 2010-09-29

    公开

    公开

说明书

技术领域

本发明涉及一种基于星敏感器和陀螺的高精度卫星姿态确定方法,属于空间飞行器高精度姿态确定技术领域。

背景技术

飞行器姿态确定系统是飞行器姿态控制系统中的重要组成部分,其精度和可靠性是飞行器长期正常运行的重要保证和前提。该系统主要由姿态敏感器和相应姿态确定算法组成,为了克服参考矢量的不确定性对姿态确定精度的影响,状态估计的方法在高精度姿态确定场合得到了广泛的应用。

目前常用的方法是扩展卡尔曼滤波(Extended Kalman Filter,EKF),EKF具有收敛速度快,算法简单,可以实时解算等优点。但是EKF因为采用了对非线性模型Taylor展开近似的方法,在非线性较强时估计偏差较大。并且EKF需要计算雅克比矩阵,要求函数必须可微,限制了其使用范围。此外,EKF将系统噪声处理为零均值白噪声,这就要求建模必须十分精确,若实际系统中的噪声不是高斯白噪声,而被作为白噪声来处理,则将导致估计精度严重下降。非线性预测滤波(Nonlinear Predict Filter,NPF)考虑了系统模型误差或未知输入的影响,具有对模型误差的估计能力,与EKF等其他非线性滤波方法相比,预测滤波能够在线估计出未知模型误差,克服了将模型误差和系统噪声设为高斯白噪声的局限,在飞行器姿态估计领域中得到了应用。但是预测滤波收敛速度相对较慢,收敛时估计出的模型误差的不准确会对滤波收敛性和精度造成影响。

发明内容

本发明的目的是为了解决飞行器高精度姿态确定方面现有技术的不足,提出一种基于星敏感器和陀螺的高精度卫星姿态确定方法。

本发明的一种基于星敏感器和陀螺的高精度卫星姿态确定方法,包括以下几个步骤:

步骤一:建立卫星姿态确定系统的状态方程;

步骤二:建立卫星姿态确定系统的测量方程;

步骤三:利用预测滤波在线实时估计模型误差;

步骤四:对补偿后的模型利用二阶插值滤波进行状态估计,得到卫星的姿态。

本发明的优点在于:

(1)采用了预测滤波在线实时估计模型误差并修正系统模型,克服了传统估计过程中将误差处理为零均值白噪声的缺点。

(2)采用了二阶插值滤波算法,是一种比EKF精度更高的多项式插值滤波算法,且不需要计算偏导数,适用范围更广;

(3)本发明采用了预测滤波估计并补偿系统模型误差,可以处理任何非线性系统和噪声情况,获得更高精度的估计结果,适用于高精度姿态确定领域。

附图说明

图1是本发明的方法流程图;

图2a是本发明的方法与EKF方法仿真结果的俯仰角误差曲线对比图;

图2b是本发明的方法与EKF方法仿真结果的偏航角误差曲线对比图;

图2c是本发明的方法与EKF方法仿真结果的滚转角误差曲线对比图;

图3a是本发明的方法与二阶插值滤波方法仿真结果的俯仰角误差曲线对比图;

图3b是本发明的方法与二阶插值滤波方法仿真结果的偏航角误差曲线对比图;

图3c是本发明的方法与二阶插值滤波方法仿真结果的滚转角误差曲线对比图。

具体实施方式

下面将结合附图和实施例对本发明作进一步的详细说明。

本发明是一种基于星光和陀螺的高精度卫星姿态确定方法,利用陀螺和星敏感器作为姿态敏感器,利用预测滤波的思想实时估计出卫星姿态确定系统的模型误差并实时进行补偿,再利用精度更高的二阶插值滤波估计出卫星本体坐标系相对于惯性坐标系的姿态四元数,然后经过解算得到卫星姿态,流程如图1所示,包括以下几个步骤:

步骤一:建立卫星姿态确定系统的状态方程;

用姿态动力学方程与运动学方程一起来描述卫星的姿态变化,姿态动力学方程可从刚体的动量矩公式和定理导出,即欧拉-牛顿法:根据刚体动量矩定理,卫星的姿态动力学方程为:

Jω·+ω×=Ggb+Gmb+Gab+Gsb---(1)

式中,ω=[ωx,ωy,ωz]T为卫星本体坐标系对惯性坐标系的转动角速度,ωx、ωy、ωz为卫星本体坐标系对惯性坐标系在卫星本体坐标系下沿x,y,z三个轴的分量;J为卫星的惯性张量矩阵;Gmb为地磁力矩;Gab为气动力矩;Gsb为太阳光压力矩;Ggb为重力梯度力矩;

Ggb具体为:

Ggb=3μr5Rb×JRb---(2)

式中,μ为地心引力常数;r为卫星的地心距;Rb为卫星在卫星本体坐标系下的位置矢量,具体为:

Rb=CibRi---(3)

式中,Ri为卫星在惯性坐标系下的位置矢量,为从惯性坐标系到卫星本体坐标系的转换矩阵,具体为:

地心距真近点角偏近点角平近点角M=n(t-t0);n为卫星的平运动速度;t0为卫星到达近地点的时间;t为时间;为地心轨道坐标系到惯性坐标系的转换矩阵,具体为:

Coi=cosΩocoswo-sinwocosiosinΩo-cosΩosinwo-coswocosiosinΩosinΩosiniosinΩocoswo+sinwocosiocosΩo-sinΩosinwo+coswocosiocosΩo-cosΩosiniosinwosiniosinwocosiocosio

其中,Ωo为卫星轨道升交点赤经;io为卫星轨道倾角;wo为卫星轨道近地点幅角。

因为Ggb比地磁力矩Gmb、气动力矩Gab和太阳光压力矩Gsb对卫星姿态确定系统的影响大得多,所以将Gmb、Gab和Gsb用合力矩用dG表示,作为未建模的模型误差,则式(1)的卫星姿态动力学方程写为:

ω·=J-1(-ω×+Ggb)+J-1dG---(4)

姿态运动学方程是姿态参数在姿态机动过程中变化的方程,由于四元数表示的姿态运动学方程为线性微分方程,不含三角函数,无奇点问题,所以采用四元数来描述的卫星姿态运动学方程如下:

q·=12Ω(ω)q=12Ξ(q)ω---(5)

式中,为卫星本体坐标系相对于惯性坐标系的姿态四元数;q13=[q1q2q3]T,I3×3为单位阵;[ω×]、[q13×]分别表示由向量ω、q13的分量构成的反对称矩阵,

由式(4)和式(5)构成卫星姿态确定系统的状态方程为:

x·=J-1(-ω×+Ggb)12Ξ(q)ω+G·dG+W---(6)

式中:x为状态向量,x=[ωT,qT]T;G为误差扰动矩阵,系统噪声w(k)~(0,Q(k)),即w(k)服从均值为0、方差为Q(k)的高斯分布。

将式(6)简记为:

x·=f(x,dG,w)---(7)

步骤二:建立卫星姿态确定系统的测量方程;

本发明中采用三轴陀螺和星敏感器作为姿态敏感器。

1)陀螺;

陀螺的测量方程为:

g1(x(k))=ωxωyωz+vxvyvz=gω(x(k))+vω(k)---(8)

式中,g1为陀螺的测量输出,记ωi(i=x,y,z)为卫星本体坐标系对惯性坐标系的转动角速度,vi(i=x,y,z)为陀螺测量的高斯白噪声。

(2)星敏感器;

本发明采用两个星敏感器进行测量,在惯性坐标系中两个星敏感的主光轴的单位方向矢量分别是li1和li2,则星敏感器的测量方程为:

g2=Cibli1+vs1=gs1(x(k))+vs1g3=Cibli2+vs2=gs2(x(k))+vs2---(9)

式中,vs1、vs2是星敏感器测量的噪声,这里主要考虑为高斯白噪声;g1、g2分别是两个星敏感器的测量输出;记是由惯性坐标系到卫星本体坐标系的转换矩阵,可用姿态四元数表示,具体为:

Cib=q12-q22-q32+q422(q1q2+q3q4)2(q1q3-q2q4)2(q1q2-q3q4)-q12+q22-q32+q422(q2q3+q1q4)2(q1q3+q2q4)2(q2q3-q1q4)-q12-q22+q32+q42---(10)

(3)建立卫星姿态确定系统的观测方程为:

y(k)=gω(x(k))gs1(x(k))gs2(x(k))+vω(k)vs1(k)vs2(k)---(11)

将式(11)简记为:

y(k)=g(x(k),v(k))    (12)

其中,即v(k)服从均值为0,方差为R(k)的高斯分布,并且w(k),v(k)相互独立。

步骤三:利用预测滤波在线实时估计模型误差;

模型误差的估计式为:

d^G(k)=-({Λ(T)U[x^(k)]}TR-1{Λ(T)U[x^(k)]}+W)-1{Λ(T)U[x^(k)]}TR-1(13)

x{y^(k)+z[x^(k),T]-y(k+1)}

式中:为陀螺和两个星敏感器的输出估计,T为滤波周期,U为灵敏度矩阵,Λ(T)为对角矩阵,为一个列向量。W为加权矩阵,预先设定数值。

其中,具体为:

y^(k)=g[x^(k)v(k)]---(14)

式中:为k时刻的状态量的估计值,表示v(k)的均值。

灵敏度矩阵U为:

U=LG[Lf0(gw)]LG[Lf1(gs1)]LG[Lf1(gs2)],---(15)

相关的李导数的具体为:

LG[Lf0(gw)]=J-1

LG[L1f(gs1)]=L1f(gs1)x^·G=-ΞT(q^)Γ(li1)Ξ(q^)J-1

LG[L1f(gs2)]=L1f(gs2)x^·G=-ΞT(q^)Γ(li2)Ξ(q^)J-1

对角矩阵Λ(T)为:

Λ(T)=Λw000Λs1000Λs2---(16)

其中:Λw=T·I3×3Λs1=T22·I3×3,Λs2=T22·I3×3,;

列向量为:

z[x^(k),T]=zωzs1zs2=T·L1f(gω)T·L1f(gs1)+T22L2f(gs1)T·L1f(gs2)+T22·L2f(gs2)---(17)

上式中各阶李导数的为:

L1f(gω)=J-1[-ω^×Jω^+Ggb]

L1f(gs1)=-ΞT(q^)Γ(li1)Ξ(q^)ω^

L2f(gs1)=[ω^×]·ΞT(q^)Γ(li1)Ξ(q^)ω^-ΞT(q^)Γ(li1)Ξ(q^)×J-1[-ω^×Jω^+Ggb]

L1f(gs2)=-ΞT(q^)Γ(li2)Ξ(q^)ω^

L2f(gs2)=[ω^×]·ΞT(q^)Γ(li2)Ξ(q^)ω^-ΞT(q^)Γ(li2)Ξ(q^)×J-1[-ω^×Jω^+Ggb]

其中:Γ(a)=-[a]×-aaT0.

最后,根据式(13)得到模型误差的估计值

步骤四:对补偿后的模型利用二阶插值滤波进行状态估计,得到卫星的姿态;

插值滤波是利用Stirling插值公式将非线性函数进行近似,是一种基于最小均方误差准则的估计方法。

具体为:

将步骤三中得到的模型误差代入状态方程(7)进行补偿,将补偿后的卫星姿态确定系统模型的状态方程和测量方程写成离散的非线性形式,为:

xk+1=f(xk,dG,wk)

                   (18)

yk=g(xk,vk)

设滤波值的误差方差阵的平方根为即是的Cholesky分解,模型误差方差阵Q的平方根为Sw,测量噪声的误差方差阵R的平方根为Sv,状态预测误差的方差阵的平方根为即:

Q=SwSwT,R=SvSvT,(19)

P=SxS-Tx,P^=S^xS^xT.

状态及其误差方差阵的一步预测:

xk+1=h2-nx-nwh2f(x^k,d^G,wk)

+12h2Σp=1nx(f(x^k+hs^x,p,d^G,wk)+f(x^k-hs^x,p,d^G,wk))---(20)

+12h2Σp=1nv(f(x^k,d^G,wk+hs^w,p)+f(x^k,d^G,wk-hs^w,p))

其中,表示w(k)的均值,nx表示状态向量的维数,nw表示系统噪声的维数,要保证估计结果是无偏估计插值步长取h2=3。

状态预测误差方差阵的Cholesky分解是经Householder变换后的矩阵:

S(k+1)=[Sxx^(1)(k)Sxw(1)(k)Sxx^(2)(k)Sxw(2)(k)]---(21)

其中,

Sxx^(1)(k)={Sxx^(1)(k)(i,j)}={(fi(x^k+hs^x,j,d^G,wk)-fi(x^k-hs^x,j,d^G,wk))/2h},

Sxw(1)(k)={Sxw(1)(k)(i,j)}={(fi(x^k,d^G,wk+hs^w,j)-fi(x^k,d^G,wk-hs^w,j))/2h},

Sxx^(2)(k)={Sxx^(2)(k)(i,j)}={h2-12h2(fi(x^k+hs^x,j,d^G,wk)

+fi(x^k-hs^x,j,d^G,wk)-2fi(x^k,d^G,wk))},

Sxw(2)(k)={Sxw(2)(k)(i,j)}={h2-12h2(fi(x^k,d^G,wk+hs^w,j)

+fi(x^k,d^G,wk-hs^w,j)-2fi(x^k,d^G,wk))},

其中,表示的第j列,表示的第j列,表示Sw的第j列。观测值的一步预测为:

yk+1=h2-nx-nvh2g(xk+1,vk+1)

+12h2Σp=1nx(g(xk+1+hsx,p,vk+1)+g(xk+1-hsx,p,vk+1))---(22)

+12h2Σp=1nv(g(xk+1,vk+1+hsv,p)+g(xk+1,vk+1-hsv,p))

其中,nv是测量噪声维数。的误差方差阵的Cholesky分解是Sy(k+1)经Householder变换后的矩阵:

Sy(k+1)=[Syx(1)(k+1)Syv(1)(k+1)Syx(2)(k+1)Syv(2)(k+1)]---(23)

其中,

Syx(1)(k+1)={Syx(1)(k+1)(i,j)}={(gi(xk+1+hsx,j,vk+1)-gi(xk+1-hsx,j,vk+1))/2h},

Syv(1)(k+1)={Syv(1)(k+1)(i,j)}={(gi(xk+1,vk+1+hsv,j)-gi(xk+1,vk+1-hsv,j))/2h},

Syx(2)(k+1)={Syx(2)(k+1)(i,j)}={h2-12h2(gi(xk+1+hsx,j,vk+1)

+gi(xk+1-hsx,j,vk+1)-2gi(xk+1,vk+1))},

Syv(2)(k+1)={Syv(2)(k+1)(i,j)}={h2-12h2(gi(xk+1,vk+1+hsv,j)

+gi(xk+1,vk+1-hs-v,j)-2gi(xk+1,vk+1))},

式中:表示Sv的第j列。

状态和测量的互协方差阵为:

Pxy(k+1)=Sx(k+1)Syx(k+1)T---(24)

由式(24)得到增益矩阵Kk+1为:

Kk+1=Pxy(k+1)[Sy(k+1)Sy(k+1)T]-1    (25)

基于测量的状态及估计误差方差阵更新为:

x^k+1=x-k+1+Kk+1(yk+1-yk+1)---(26)

P^(k+1)=[Sx(k+1)-Kk+1Syx(1)(k+1)][Sx(k+1)-Kk+1Syx(1)(k+1)]T+Kk+1Syv(1)(k+1)[Kk+1Syv(1)(k+1)]T

+Kk+1Syx(2)(k+1)[Kk+1Syx(2)(k+1)]T+Kk+1Syv(2)(k+1)[Kk+1Syv(2)(k+1)]T---(27)

由此得到状态估计值其中即为卫星的姿态四元数,每次估计之后对姿态四元数进行归一化处理,并且按照式(28)(29)(30)解算得到姿态角;

俯仰角:θ=-arcsin(2q1q3-2q2q4)    (28)

偏航角:Ψ=arctan(2q2q3-2q1q4q32+q42-q12-q22)---(29)

滚转角:

本方法因为有对模型误差实时估计的能力,可以实时地补偿模型误差,因此可以得到更高精度的卫星姿态估计。

同时,本方法还可以适用于其他类似带有模型误差的系统。

当存在模型误差时,在同样的仿真条件下,应用本发明确定卫星的姿态与应用扩展卡尔曼滤波(EKF)仿真结果的误差曲线如图2a、图2b、图2c所示,应用本发明确定卫星的姿态与二阶插值滤波(DD2)仿真结果的误差曲线如图3a、图3b、图3c所示。

图2a和图3a中横坐标均是仿真时间,纵坐标是俯仰角的估计误差曲线(真实值与估计值之差),从图中可以看出,EKF和DD2的俯仰角估计误差在10角秒以内,而本发明的估计误差在1角秒以内。

图2b和图3b中横坐标均是仿真时间,纵坐标是偏航角的估计误差曲线;图2c和图3c的横坐标均是仿真时间,纵坐标是滚转角的估计误差曲线;从图中可以看出,EKF和DD2的偏航角和滚转角估计误差震荡比较剧烈,甚至有时候误差已经超过15角秒,而本发明的估计误差因为能够实时估计模型误差并补偿,所以估计误差角仍然在2角秒以内;因此本发明提出的方法精度有明显提高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号