专利名称:用于生成姿态误差修正的改进的卡尔曼滤波器的制作方法
用于生成姿态误差修正的改进的卡尔曼滤波器
背景技术:
卫星通信系统的性能可以依靠准确定位并指向关联通信卫星的能力。通信卫星或者其他航天器的当前的姿态可以根据机载惯性传感器确定,例如陀螺仪,其测量航天器的旋转率。飞行计算机或者其他制导控制系统可以通过集成这些旋转率维持航天器的当前姿态。然而,所测量的旋转率中的小的误差可以引起姿态“偏移”,即姿态测量随着时间传播越远,误差越大。为了修正这些误差,该飞行计算机可以利用来自额外的机载的姿态位置传感器(“APS”)的姿态测量,例如星场跟踪器、陆地RF灯塔/信标,水平传感器等等,其可以周期性提供航天器当前位置的测量。为了结合来自惯性传感器的姿态测量和来自次级APS的测量,飞行计算机可以利用常规的卡尔曼滤波器,例如8状态卡尔曼滤波器。卡尔曼滤波器使用系统的动态模型(例如,卫星运动的物理法则),已知到系统的控制输入,和形成系统变化量(它的状态)的估算的测量(例如来自惯性传感器或者APS的),这比通过仅仅使用任何一个测量得到的估算要好。然而,涉及在8状态卡尔曼滤波器中的8X8矩阵的计算可以是计算密集的,需要比老一代的计算机上可以利用的更多的处理能力,例如为卫星及其他航天器飞行准备的测试的和资格的处理能力。此外,如果来自次级APS的姿态测量是不规则的和/或不常见的,则计算密集的卡尔曼滤波器计算可以多次执行,而不需要更好修正主惯性传感器测量中的误差的新的信息,因此在飞行计算机中浪费处理器通量。这是关于此处提出的构成的本公开的这些及其他考虑因素。
发明内容
应该理解,本发明内容以简化形式介绍选择的概念,这些概念在下面详细说明中进一步描述。本发明内容不是意图用于限制所要求权利的主题的保护范围。这里描述的方法、系统和计算机可读介质用于使用改进的卡尔曼滤波器生成姿态误差修正。根据这里的实施例,姿态测量接收自卫星或者其他航天器的主次姿态传感器。根据来自次级姿态传感器的姿态测量,使用为从卡尔曼滤波器的矩阵分区的多个区块子矩阵的子集合推导的扩展的方程计算来自主要姿态传感器的态度测量的姿态误差修正值,剩下的多个区块子矩阵被预计算并被编程到航天器的飞行计算机中。这里讨论的特征、功能和优点能够在本发明的各种实施例中独立获得,或者可以在其他的实施例中结合,其中进一步的细节能够参考下列描述和附图。
图1是示出由这里所述的实施例提供的说明性的操作环境和软件构件的情况的方框图;图2是示出如这里所述的实施例中所提供的用于使用改进卡尔曼滤波器生成姿态误差修正的一个方法的流程图;和图3是根据这里所述的实施例示出说明性的8X8矩阵的分区的数学公式;和
图4是示出用于能够执行这里所述的实施例的情况的计算系统的说明性的计算机硬件和软件结构的方框图。
具体实施例方式下列详细说明针对用于使用改进的卡尔曼滤波器生成姿态误差修正的方法、系统和计算机可读介质。利用这里所述的概念和技术,可以执行数字上有效率改进卡尔曼滤波器,其需要的处理器通量比常规8状态卡尔曼滤波器少的多。该解决方法通过将矩阵分区为3X3、3X2、2X3、和2X2区块矩阵并且去除显著的不必要计算的部分,利用常规8状态/态(state)卡尔曼滤波器中8X8矩阵的节约性质(spare nature)。此外,使用分析导出方程管理具有大采样时间的来自次级传感器的异步测量,在单个步骤中执行协方差传播计算,而不是许多小步时间的迭代。也利用主体参考系方程,其比地心惯性(“ECI”)系方程更简单并且更有效。来自改进卡尔曼滤波器的姿态修正然后可以在被提供到飞行计算机之前被转换回到ECI系。尽管这里描述的主题存在于结合航天器的飞行计算机载的其他模块执行的程序模块的总的背景中,但是本领域技术人员会认识到,其他执行过程可以结合其他类型的程序模块执行。通常,程序模块包括例行程序、程序、组分、数据结构、和执行特定任务或执行特定抽象数据类型的其他类型结构。此外,本领域技术人员会理解,这里所述的主题可以用其他计算机系统构造实践,包括陆基的飞行计算机、分布计算构造、多处理机系统、主机、小型计算机、微处理器基台式计算机、掌上装置、专用的硬件装置等等。在下面详细描述中,参考附图,附图形成部分详细描述并且通过图例示出具体的实施例或者实例。在参考附图中,类似的数字表示类似的元件。图1示出根据这里提供的实施例的说明性的操作实施例100,包括用于使用改进卡尔曼滤波器生成姿态误差修正的软件构件。该实施例100包括姿态控制模块102,其在飞行计算机104上执行。该飞行计算机104可以表示通信卫星或者其他的航天器的机载计算机、与航天器通信的陆基的飞行计算机、飞机的航空电子系统、飞行模拟计算机等等。姿态控制模块102可以负责确定航天器的姿态以及准确地指向或者航天器和准确地指向或者“操控”航天器,以便将航天器按照正确操作航天器的需要放置在相对于主体参考系或者ECI系的特定方向。姿态控制模块102可以被实施为软件、硬件、或者两者的组合,并且可以在飞行计算机104的一个或多于一个处理器上执行。飞行计算机104可以从航天器船载的主要姿态传感器108接收姿态测量106A (在这里通常被称作姿态测量106)。根据实施例,主要姿态传感器108包含惯性传感器,比如陀螺仪。从主要姿态传感器108接收的姿态测量106A可以包含旋转率。集成模块116可以集成从主要姿态传感器108接收的旋转率,以便确定航天器的当前姿态。姿态控制模块102可以接收集成的旋转率。集成模块116可以以一个频繁的和规则间隔从主要姿态传感器108接收姿态测量106A,例如以0.1KHz到IOKHz之间的频率。如上所述,包含从主要姿态传感器108接收的姿态测量106A的旋转率中的小的误差可以引起由姿态控制模块102确定的当前姿态随时间偏移。为了修正姿态确定中的偏移,该姿态控制模块102可以进一步利用从次级姿态传感器110接收的姿态测量106B。次级姿态传感器110可以包含姿态位置传感器(“APS”),例如星场跟踪器、陆地RF信标、水平传感器等等。次级APS 110可以机载于航天器上和/或在地上,并且经配置从而将关于航天器的相应位置姿态测量106B转继到飞行计算机104。根据进一步地实施例,次级姿态传感器110可以以不频繁的和/或不规则的速率/频率(rate)产生位置姿态测量106B,例如一分钟一次或者一小时一次。环境100进一步地包括在飞行计算机104上执行的姿态误差修正过滤器模块112。姿态误差修正过滤模块112可以被实施为软件、硬件、或者两者的组合,并且可以在飞行计算机104的一个或多于一个处理器上执行。根据实施例,如下面将关于图2更详细描述的,该姿态误差修正过滤模块112执行改进卡尔曼滤波器,其将来自次级APS 110的位置姿态测量106B与包含来自主要姿态传感器108的态度测量106A的集成的旋转率结合,以便生成姿态误差修正数据114。姿态控制模块102利用姿态误差修正数据114抵消如从来源于主要姿态传感器108的旋转率计算的当前姿态的便宜。现在转向图2,提供关于这里所述的实施例的补充细节,其用于使用改进卡尔曼滤波器生成姿态误差修正。应该理解,这里所述的逻辑操作被实施为(I)计算机执行动作或在计算系统上运行的程序模块的序列,和/或(2)互连机逻辑电路或计算系统内的电路模块。执行过程是依靠计算系统的性能及其他工作参数的选择问题。因此,这里所述的逻辑操作被不同地称作操作、结构装置、动作、或者模块。这些操作、结构装置、动作、和模块可以在软件、固件、硬件、专用数字逻辑、及其任何组合中执行。同时应该理解,可以执行比图中所示和这里所述的更多或更少的操作。这些操作也可以同时执行,或者以与这里所述的不同的顺序执行。图2示出用于使用来源于卡尔曼滤波器算法的方程生成姿态误差修正数据114的程序200,修正数据114用于由姿态控制模块102用于计算航天器的当前姿态。在一个实施例中,程序200由如上所述参考图1的姿态误差修正过滤模块112执行。应当理解,程序200也可以由飞行计算机104的另一个模块或组分执行,或者由模块和组分的任何组合执行。该程序200从操作202开始,在这里姿态误差修正过滤模块112从次级姿态传感器110接收姿态测量106B。例如,姿态误差修正过滤模块112可以从来自在航天器检测的陆地基RF信标的次级APS 110接收位置姿态测量106B。如上关于图1所述,来自次级姿态传感器116的姿态测量106B可以不规则地和/或不经常接收,例如近似一分钟一次或者一小时一次。从操作202,该程序200进行操作204,其中姿态误差修正过滤模块112使用从次级APS 110的最新接收的位置姿态测量106B计算状态转移矩阵的有用部分,该矩阵通常被称作F矩阵。根据实施例,姿态误差修正过滤模块112只执行惯例在8状态卡尔曼滤波器中执行的计算的子集。这伴随有将8X8矩阵分区为3X3、3X2、2X3、和2X2区块矩阵。例如,如图3所示,8 X 8F矩阵可以被分区为九个区块子矩阵Fn、F12、F13、F21, F22, F23> F31 > F32>和F33。F11、F12、F21、和F22子矩阵是3X3矩阵,F13和F23子矩阵是3X2矩阵,F31和F32子矩阵是2 X 3矩阵,并且F33子矩阵是2 X 2矩阵。应当理解可能存在产生其他区块子矩阵的其他分区方式,并且将矩阵分区为更多颗粒状子矩阵可以提供额外的有效性,但是可能使得该模型过度复杂。在分区以后,用于常规8X8矩阵的卡尔曼滤波器被扩展为一系列用于子矩阵的较小方程,每个方程都在数字上不如比8X8方程密集。可以略去用于这些包含零值的区块子矩阵的方程,并且可以预先计算产生定值的其他方程,留下许多用于重要子矩阵的较小并且计算上较不密集的方程由姿态误差修正过滤模块112执行。应当进一步理解,矩阵被分区为较小的区块子矩阵、用于区块子矩阵的方程的扩展、和确定得出的结果子矩阵和扩展的方程可以在分析上脱机导出,得出的模型被编程为飞行计算机104的姿态误差修正过滤模块112。因此,有姿态误差修正过滤模块112执行的计算与常规8状态卡尔曼滤波器相比,可以更加数字上有效并且需要更少的处理能力。根据一个实施例,使用如上所述的扩展方程,姿态误差修正过滤模块112执行下列计算,从而更新状态转换(F)矩阵的F11和F12子矩阵
权利要求
1.一种计算机可读存储介质,其包含计算机可执行指令,当所述指令由计算机400执行时,使得所述计算机 从次级姿态传感器Iio接收202姿态测量106B ;和 使用为从卡尔曼滤波器112的矩阵分区的多个区块子矩阵的子集导出的扩展方程,预先计算的所述多个区块子矩阵的余项,根据来自所述次级姿态传感器HO的姿态测量106B为来自主要姿态传感器108的姿态测量106A产生212姿态误差修正值114。
2.根据权利要求1所述的计算机可读存储介质,进一步包含计算机可执行指令,所述指令使得所述计算机400以任意的更新周期在单个步骤中传播和更新210所述卡尔曼滤波器112的协方差。
3.根据前述权利要求的任何一项所述的计算机可读存储介质,其中为所述多个区块子矩阵的子集导出的扩展方程利用主体参考系卡尔曼滤波器方程,并且其中在被提供到姿态控制模块102之前,所述姿态误差修正值转换回地心惯性系参考值。
4.根据前述权利要求的任何一项所述的计算机可读存储介质,其中从所述卡尔曼滤波器112的矩阵分区的一个或多于一个所述区块子矩阵是不对称的。
5.根据前述权利要求的任何一项所述的计算机可读存储介质,其中8X8卡尔曼滤波器112矩阵被分区为3X3、3X2、2X3和2X2区块。
6.根据前述权利要求的任何一项所述的计算机可读存储介质,其中所述姿态测量106B是以不规则的或者不频繁间隔从所述次级姿态传感器110接收的。
7.根据前述权利要求的任何一项所述的计算机可读存储介质,其中为所述多个区块子矩阵的子集导出的所述扩展方程只包括计算的一个正弦函数和一个余弦函数。
8.根据前述权利要求的任何一项所述的计算机可读存储介质,其中所述计算机包含航天器机载的飞行计算机。
9.一种为来自主要姿态传感器的航天器的姿态测量产生姿态误差修正值的方法,所述方法包含 从次级姿态传感器Iio接收202姿态测量106B ;和 使用为从卡尔曼滤波器112的矩阵分区的3X3、3X2、2X3和2X2区块子矩阵的子集导出的扩展方程,预先计算的所述区块子矩阵的余项,根据来自所述次级姿态传感器110的所述姿态测量106B产生212所述姿态误差修正值114。
10.根据权利要求9所述的方法,其中在单个步骤中计算并更新所述卡尔曼滤波器112的协方差传播。
11.根据权利要求9-10的任何一项所述的方法,其中为所述多个区块子矩阵的子集导出的扩展方程利用主体参考系卡尔曼滤波器方程,并且其中在被提供到所述航天器的姿态控制模块102之前,所述姿态误差修正值转换回地心惯性系参考值。
12.根据权利要求9-11的任何一项所述的方法,其中为所述多个区块子矩阵的子集导出的所述扩展方程只包括计算的一个正弦函数和一个余弦函数。
13.根据权利要求9-12的任何一项所述的方法,其中所述主要姿态传感器108包含惯性传感器。
14.根据权利要求9-13的任何一项所述的方法,其中所述姿态测量106A是以频繁和规则间隔从所述主要姿态传感器108接收的。
15.根据权利要求9-14的任何一项所述的方法,其中所述次级姿态传感器110包含姿态位置传感器。
全文摘要
本发明涉及用于使用修改的卡尔曼滤波器产生姿态误差修正的方法、系统和计算机可读介质。姿态测量是从卫星或者其他的航天器的主次姿态传感器接收的。使用为从卡尔曼滤波器的矩阵分区的多个区块子矩阵的子集导出的扩展方程,根据来自次级姿态传感器的姿态测量为来自主要姿态传感器的姿态测量计算姿态误差修正值,其中多个区块子矩阵的余项是预先计算的并且被编程到航天器的飞行计算机中。无论次级姿态传感器的测量周期,经由方法的单个步骤执行完成协方差的传播。
文档编号G01C21/20GK103033185SQ201210377830
公开日2013年4月10日 申请日期2012年10月8日 优先权日2011年10月3日
发明者R·李, T-C·曹, A·P·纳亚克 申请人:波音公司