首页> 中国专利> 一种基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法

一种基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法

摘要

本发明涉及一种基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法。首先建立微小卫星系统状态空间模型,进行姿态确定滤波初始化;然后以姿态四元数为状态变量,将ESOQPF作为主滤波器估计姿态四元数,将估计出来的四元数转换为相应的姿态角;以陀螺漂移为状态变量,将UKF作为从滤波器估计陀螺漂移。本发明在保证姿态估计精度的同时,从两个方面降低了计算量,缩短了定姿过程。一方面,利用ESOQPF和UKF进行主从滤波,即将姿态四元数与陀螺漂移分开估计;另一方面,ESOQPF估计姿态四元数时将QPF算法与ESOQ2算法相结合,利用QPF算法计算出Davenport矩阵,然后利用ESOQ2算法直接计算出该矩阵最大特征值所对应的特征向量。该方法适用于有陀螺配置模式下,基于矢量观测的微小卫星姿态确定。

著录项

  • 公开/公告号CN101982732A

    专利类型发明专利

  • 公开/公告日2011-03-02

    原文格式PDF

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

    申请/专利号CN201010281990.2

  • 申请日2010-09-14

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

  • 代理机构11251 北京科迪生专利代理有限责任公司;

  • 代理人成金玉

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

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

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-26

    未缴年费专利权终止 IPC(主分类):G01C 1/00 专利号:ZL2010102819902 申请日:20100914 授权公告日:20120201

    专利权的终止

  • 2012-02-01

    授权

    授权

  • 2011-04-13

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

    实质审查的生效

  • 2011-03-02

    公开

    公开

说明书

技术领域

本发明涉及一种基于ESOQPF(Estimator of the Quaternion Particle Filter,四元数粒子滤波估计器)和UKF(Unscented Kalman Filter,Unscented卡尔曼滤波)主从滤波的微小卫星姿态确定方法,适用于有陀螺配置模式下,基于矢量观测的微小卫星姿态确定。本发明属于航天器姿态确定领域。

背景技术

姿态确定是微小卫星系统技术中的重要问题之一,其精度和实时性是影响姿态控制系统精度的重要因素。姿态确定的精度和实时性不仅取决于姿态敏感器的性能,还与姿态确定方法有关。

姿态确定方法分为确定性算法和状态估计法两类。常见的确定性算法有:q_method、QUEST(Quaternion Estimator,四元数估计器)、ESOQ(Estimator of the Optimal Quaternion,最优四元数估计器)等。常见的基于状态估计的姿态确定方法有:KF(Kalman Filter,卡尔曼滤波)、EKF(Extended Kalman Filter,扩展卡尔曼滤波)、UKF和PF(Particle Filter,粒子滤波)等。其中,UKF采用U变换来处理状态方程和观测方程的非线性问题,不需要计算Jacobian矩阵,计算的状态均值和方差可以精确到三阶,但UKF对于具有较强非线性、非高斯系统的状态估计就达不到期望的效果。针对上述不足,出现了PF滤波方法。PF是一种利用随机样本或粒子来表示系统状态变量的后验概率分布的递推贝叶斯滤波方法,将PF应用于姿态确定,估计精度高。但PF存在计算量大从而使定姿过程长的缺点,为了达到要求的估计精度,需要上百个甚至上千个粒子,且随着状态维数的增加,计算量会剧增,严重影响姿态确定的实时性。

近几年,已有学者在提高姿态确定实时性方面进行了研究。其中,Yaakov Oshman提出了GA-QPF(Genetics Algorithm-Quaternion Particle Filter,遗传算法-四元数粒子滤波)算法,该算法将姿态四元数与陀螺漂移分开估计,利用QPF(Quaternion Particle Filter,四元数粒子滤波)算法估计四元数,GA(Genetics Algorithm,遗传算法)算法估计陀螺漂移,进而降低了粒子滤波状态维数,提高实时性。其中,QPF算法直接利用加权四元数粒子集进行时间更新和观测更新处理,并结合q_method计算姿态四元数。但是q_method估计姿态四元数时需要求出Davenport(达文波特)矩阵的所有特征值,计算量大,从而定姿过程长。

发明内容

本发明的技术解决问题是:(1)克服了基于粒子滤波的定姿方法计算量大从而定姿过程长,姿态确定实时性差的不足,利用ESOQPF和UKF进行主从滤波,将姿态四元数与陀螺漂移分开估计,在保证姿态确定精度的同时提高实时性;(2)克服了QPF在估计姿态四元数时采用q_method算法引起的计算量大从而定姿过程长的不足,ESOQPF在估计姿态四元数时采用ESOQ2算法,进一步降低计算量,缩短了定姿过程。

本发明的技术解决方案是:基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法,将ESOQPF作为主滤波器估计姿态四元数,UKF作为从滤波器估计陀螺漂移,即姿态四元数与陀螺漂移分开估计。但是,主从滤波器之间又存在相互联系:主滤波器估计第k时刻姿态四元数时,要利用从滤波器第k-1时刻估计的陀螺漂移;从滤波器估计第k时刻陀螺漂移时,要利用主滤波器第k-1时刻估计的姿态四元数。此外,ESOQPF主滤波器估计姿态四元数时采用一种计算量小的确定性算法ESOQ2算法,进一步提高姿态确定的实时性。本发明的具体步骤如下:

(1)建立微小卫星系统状态空间模型

a.姿态四元数运动学方程

qk+1=Ω(ωk)qk

式中,qk和qk+1分别为第k时刻和第k+1时刻卫星本体坐标系相对于参考坐标系的姿态四元数,和q4k分别为四元数的矢量部分和标量部分;ωk为第k时刻本体坐标系相对参考坐标系姿态角速度。假设在采样周期Δt内ωk保持不变,则

Ω(ωk)=cos(0.5||ωk||Δt)I3×3-[ψk×]ψk-ψkTcos(0.5||ωk||Δt)4×4

式中,I3×3为3×3单位阵;[ψk×]为ψk的反对称矩阵。

b.陀螺数学模型

βk+1=βku,k

式中,为陀螺的测量输出值;ωk为真实的姿态角速度;βk和βk+1分别为第k时刻和第k+1时刻的陀螺漂移;ηv,k与ηu,k是互不相关的零均值高斯白噪声,ηv,k和ηu,k的方差分别为σv2与σu2

c.矢量观测模型

bk=A(qk)rk+δbk

式中,bk为观测矢量;rk为参考矢量;δbk为测量噪声,且δbk服从概率分布A(qk)为参考坐标系到卫星本体坐标系的姿态转移矩阵。

(2)基于步骤(1)建立的系统状态空间模型,进行滤波初始化

滤波初始化要基于步骤(1)建立的系统状态空间模型,包括ESOQPF主滤波器初始化和UKF从滤波器初始化两部分。ESOQPF主滤波器的初始化主要是初始化N个粒子及粒子权值;UKF从滤波器的初始化主要完成陀螺漂移估计值和估计误差方差阵的初始化。

(3)以姿态四元数为状态变量,基于步骤(1)中的四元数运动学方程和矢量观测模型建立主滤波器的状态空间模型,利用ESOQPF估计姿态四元数。ESOQPF主滤波器估计姿态四元数的基本步骤包括:从第k-1时刻到第k时刻的时间更新,测量更新即粒子的权值更新,计算Davenport矩阵K,利用ESOQ2算法估计第k时刻姿态四元数此外,主滤波器估计第k时刻姿态四元数时用到从滤波器第k-1时刻估计出的陀螺漂移

(4)四元数转换成姿态角

根据四元数与姿态角之间的关系,将步骤(3)估计出的姿态四元数转换为姿态四元数对应的姿态角:横滚角俯仰角θk,偏航角ψk

(5)以陀螺漂移为状态变量,基于步骤(1)中的陀螺漂移数学模型和矢量观测模型建立从滤波器的状态空间模型,利用UKF估计陀螺漂移。UKF从滤波器估计陀螺漂移的基本步骤包括:计算Sigma点,计算Sigma点权值,时间更新,测量更新。此外,从滤波器估计第k时刻陀螺漂移时用到主滤波器第k-1时刻估计出的姿态四元数

(6)当有新的观测值时,重复步骤(3)~(5)进行姿态确定。

本发明的原理是:微小卫星姿态确定的主要任务是利用星上的姿态敏感器测量所得到的信息,经过适当的处理,求得固连于卫星本体的坐标系相对于空间参考坐标系的姿态。由于陀螺存在漂移,无法将陀螺的输出值直接用于姿态估计,所以在四元数估计过程中要考虑陀螺漂移。本发明原理步骤是:(1)建立微小卫星系统状态空间模型;(2)滤波初始化;(3)以姿态四元数为状态变量,将ESOQPF作为主滤波器估计姿态四元数;(4)将估计出来的四元数转换为姿态角;(5)以陀螺漂移为状态变量,将UKF作为从滤波器估计陀螺漂移。此外,主从滤波器之间又存在相互联系,主滤波器估计第k时刻姿态四元数时,要利用从滤波器第k-1时刻估计的陀螺漂移;从滤波器估计第k时刻陀螺漂移时,要利用主滤波器第k-1时刻估计的姿态四元数。

本发明与现有技术相比的优点在于:本发明涉及一种基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法,在保证姿态估计精度的同时,从两个方面降低了计算量,缩短了定姿过程。(1)从整体上讲,将ESOQPF作为主滤波器估计姿态四元数,UKF作为从滤波器估计陀螺漂移,即姿态四元数与陀螺漂移分开估计,避免了粒子滤波状态维数高而引起计算量大从而定姿过程长的问题,在保证姿态确定精度的同时提高姿态确定方法的实时性;(2)对于主滤波器来讲,ESOQPF估计姿态四元数时,将QPF算法与ESOQ2算法相结合,采用ESOQ2算法直接计算Davenport矩阵的最大特征值所对应的特征向量,克服了QPF中采用q_method计算Davenport矩阵所有特征值引起的计算量大从而定姿过程长的不足,进一步提高姿态确定的实时性。

附图说明

图1为本发明的实现流程图;

图2为ESOQPF与UKF主从滤波器在第k时刻的计算流程图。

具体实施方式

如图1所示,本发明采用ESOQPF和UKF主从滤波确定微小卫星姿态,具体步骤如下:

1.建立微小卫星系统状态空间模型

a.姿态运动学方程

姿态四元数运动学方程的离散形式为:

qk+1=Ω(ωk)qk                                    (1)

式中,qk和qk+1分别为第k时刻和第k+1时刻卫星本体坐标系相对于参考坐标系的姿态四元数,和q4k分别为四元数的矢量部分和标量部分;ωk是本体坐标系相对参考坐标系姿态角速度。假设在采样周期Δt内ωk保持不变,则

Ω(ωk)=cos(0.5||ωk||Δt)I3×3-[ψk×]ψk-ψkTcos(0.5||ωk||Δt)4×4

式中,I3×3为3×3单位阵;[ψk×]为ψk的反对称矩阵。

b.陀螺数学模型

陀螺的数学模型采用下式描述:

βk+1=βku,k                    (2)

式中,为陀螺的测量输出值;ωk为真实的姿态角速度;βk和βk+1分别为第k时刻和第k+1时刻的陀螺漂移;ηv,k与ηu,k是互不相关的零均值高斯白噪声,ηv,k和ηu,k的方差分别为σv2与σu2

c.矢量观测模型

bk=A(qk)rk+δbk

式中,bk为测量矢量;rk为参考矢量;δbk为测量噪声,且δbk服从概率分布A(qk)为参考坐标系到卫星本体坐标系的姿态转移矩阵,表示为:

A(qk)=[(q4k)2-qkTqk]I3×3+2qkqkT-2q4k[qk×]---(3)

式中,为四元数矢量部分的反对称矩阵。

2.基于步骤(1)建立的系统状态空间模型,进行滤波初始化

滤波初始化要基于步骤(1)建立的系统状态空间模型,包括ESOQPF主滤波器的初始化和UKF从滤波器的初始化两部分。

a.ESOQPF主滤波器初始化

四元数粒子初始化为q0(i),i=1,…,N;各个粒子的权值初始化为W0(i)=1/N,i=1,…,N;N为粒子个数。

b.UKF从滤波器初始化

β^0=E[β0],Pβ0=E[(β0-β^0)(β0-β^0)T]---(4)

式中,β0和分别为初始时刻陀螺漂移的真值和估计值;为初始估计误差方差阵;E[·]表示数学期望。

3.ESOQPF估计姿态四元数

以姿态四元数为状态变量,基于步骤(1)中的四元数运动学方程和矢量观测模型建立主滤波器的状态空间模型:

状态方程:

观测方程:bk=A(qk)rk+δbk                                      (6)

由于陀螺存在漂移,其输出值不能直接用于姿态估计,所以在四元数估计过程中要将陀螺漂移估计出来。实际计算过程中,主滤波器估计第k时刻的姿态四元数时要利用从滤波器第k-1时刻估计的陀螺漂移。

ESOQPF主滤波器(1)估计姿态四元数基本步骤如下:

a.QPF算法计算Davenport矩阵K

利用第k-1时刻的四元数粒子qk-1(i)、归一化的粒子权值和第k时刻的观测值bk计算Davenport矩阵K。

1)时间更新

根据式(5)由第k-1时刻的四元数粒子qk-1(i)求第k时刻各粒子的预测值q^k|k-1(i),i=1,...,N.

2)测量更新

测量更新即粒子权值更新,利用第k-1时刻的归一化的粒子权值和第k时刻的观测值bk计算第k时刻的粒子权值Wk(i)。

Wk(i)pbk|qk(bk|q^k|k-1(i))W~k-1(i)=pδbk(bk-A(q^k|k-1(i))rk)W~k-1(i)---(7)

式中,i=1,…,N;为的似然概率;为的概率。

将粒子权值Wk(i)归一化:

W~k(i)=Wk(i)/Σi=1NWk(i),i=1,...,N---(8)

4)计算Davenport矩阵K

K=ΔBk+BkT-I3×3tr(Bk)zzTtr(Bk)---(9)

其中,Bk=ΔΣi=1NW~k(i)A(q^k|k-1(i))---(10)

z=ΔBk(3,2)-Bk(2,3)Bk(1,3)-Bk(3,1)Bk(2,1)-Bk(1,2)---(11)

式中,tr(Bk)为矩阵Bk的迹。

b.利用ESOQ2估计姿态四元数

第k时刻四元数估计值为矩阵K最大特征值所对应的特征向量,即:

Kq^k=λmaxq^k---(12)

1)求矩阵K的最大特征值λmax

λmax=12(2d-b+-2d-b)---(13)

式中,b=-2tr(Bk)+tr(adj(Bk+BkT))-zTz;d=det(K);adj(Bk+BkT)为矩阵(Bk+BkT)的伴随矩阵;tr(adj(Bk+BkT))为矩阵adj(Bk+BkT)的迹;det(K)为矩阵K的行列式。

2)求第k时刻姿态四元数估计值

姿态四元数与欧拉轴/角的关系:

q=[eT sin(Φ/2) cos(Φ/2)]T                    (14)

式中,e为旋转轴矢量,Φ为绕旋转轴的转角。

将式(14)代入式(12)并消去Φ得:

[(tr(Bk)-λmax)S-zzT]e=Me=0                  (15)

式中,S=Bk+BkT-(tr(Bk)+λmax)I3×3,由上式可知,矩阵M为对称阵,即

M=MT=m1m2m3=mamxmymxmbmzmymzmc---(16)

由式(15)可知,旋转轴e与矩阵M的各行/列向量都正交,所以可通过两向量叉乘求取旋转轴e。因此,旋转轴e的取值有三种情况:

e1=m2×m3

=mbmc-mz2mymz-mxmcmxmz-mymbT

e2=m3×m1---(17)

=mymz-mxmcmamc-my2mxmy-mzmaT

e3=m1×m2

=mxmz-mymbmxmy-mzmamamb-mz2T

式(17)中的ei(i=1,2,3)是相互平行的,但模值不同,选取则最大特征值λmax对应的特征向量为:

q~k=(λmax-tr[Bk])ekzTek---(18)

将归一化得第k时刻姿态四元数估计值为:

q^k=q~k/q~kTq~k---(19)

4.四元数转换成姿态角

根据四元数与姿态角之间的关系,将步骤(3)估计出的姿态四元数转换为姿态四元数对应的姿态角:横滚角俯仰角θk,偏航角ψk

5.UKF估计陀螺漂移

由于陀螺存在漂移,无法将陀螺的输出值直接用于姿态估计,所以在四元数估计过程中要将陀螺漂移估计出来。

以陀螺漂移为状态变量,基于步骤(1)中的陀螺漂移数学模型和矢量观测模型建立从滤波器的状态空间模型。

状态方程:βk=βk-1u,k-1                                  (20)

观测方程:bk=A(qk)rk+δbk---(21)

=A(Ω(ω~k-1-βk-1)qk-1)rk+δbk

由状态空间模型可知:状态方程为线性,观测方程为非线性。从滤波器估计第k时刻陀螺漂移时要利用主滤波器第k-1时刻估计的姿态四元数。

假设状态方程和观测方程的噪声方差阵分别为Q和R,UKF从滤波器(2)估计陀螺漂移的基本步骤为:

a.计算Sigma点

χ0,k-1=β^k-1χi,k-1=β^k-1+n+τ(Pβ^k-1)iχi+n,k-1=β^k-1-n+τ(Pβ^k-1)i,i=1,...,n---(22)

式中,χ0,k-1,χi,k-1,χi+n,k-1分别是对应的第0个、第i个、第i+n个Sigma点,对应的Sigma点共有2n+1个;和分别为第k-1时刻陀螺漂移的估计值和估计误差方差阵;n为状态维数,这里n=3;τ为合成比例参数;将估计误差方差阵分解表示A的第i列。

b.计算Sigma点对应的权值

W0=τ/(n+τ)Wi=1/[2(n+τ)]Wi+n=1/[2(n+τ)]i=1,...,n---(23)

式中,W0,Wi,Wi+n分别是第0个、第i个、第i+n个Sigma点对应的权值。

c.时间更新

第k时刻各Sigma点的预测值

χi,k|k-1=χi,k-1,i=0,1,…,2n                (24)

第k时刻陀螺漂移的预测均值和预测误差方差阵分别为:

β^k=Σi=02nWiχi,k|k-1,Pβ^k=Pβ^k-1+Q---(25)

式中,为第k-1时刻陀螺漂移的预测误差方差阵。

第k时刻各Sigma点对应的测量预测值

b^k|k-1(i)=A(Ω(ω~k-1-χi,k|k-1)q^k-1)rk,i=0,1,...,2n---(26)

测量的预测均值为:

b^k=Σi=02nWib^k|k-1(i)---(27)

d.测量更新

测量的预测误差方差阵和测量与状态变量之间的协方差阵分别为:

Pbkbk=Σi=02nWi(b^k|k-1(i)-b^k)(b^k|k-1(i)-b^k)T+R---(28)

Pβkbk=Σi=02nWi(χi,k|k-1-β^k)(b^k|k-1(i)-b^k)T---(29)

增益矩阵:Kk=PβkbkPbkbk-1---(30)

则第k时刻陀螺漂移的估计值和陀螺漂移估计误差方差阵分别为:

β^k=β^k+Kk(bk-b^k)---(31)

Pβ^k=Pβ^k-KkPbkbkKkT---(32)

6.第k+1时刻,当有新的观测值时,重复步骤3~5进行姿态确定。

一种基于ESOQPF和UKF主从滤波的微小卫星姿态确定方法,该方法适用于有陀螺配置模式下,基于矢量观测的微小卫星姿态确定。在保证姿态估计精度的同时,从两个方面降低了计算量,缩短了定姿过程。一方面,将姿态四元数与陀螺漂移分开估计,另一方面,在ESOQPF主滤波器中估计姿态四元数时采用一种计算量小的确定性算法。

本发明说明书中未作详细描述的内容属于本专业领域技术人员公知的现有技术。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号