COMPARISON OF SMALL SATELLITE ATTITUDE DETERMINATION METHODS.docx
- 文档编号:3295050
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:10
- 大小:186.39KB
COMPARISON OF SMALL SATELLITE ATTITUDE DETERMINATION METHODS.docx
《COMPARISON OF SMALL SATELLITE ATTITUDE DETERMINATION METHODS.docx》由会员分享,可在线阅读,更多相关《COMPARISON OF SMALL SATELLITE ATTITUDE DETERMINATION METHODS.docx(10页珍藏版)》请在冰豆网上搜索。
COMPARISONOFSMALLSATELLITEATTITUDEDETERMINATIONMETHODS
奇异值分解算法和广义卡尔曼滤波算法在小卫星姿态确定中的比较
作者:
SoniaMarquesfRobertsClementsJPedroLima
来源:
AIAAGuidance,Navigation,andControlConferenceandExhibit14-17August2000
总结人:
刘文东
学号:
ZY1015117
目录
目录2
Abstract3
摘要3
简介4
逐点算法4
仿真设置5
航天器模型5
姿态表示方法5
动力学方程6
运动学方程6
卡尔曼滤波6
确定性方法7
仿真结果8
结论和前景展望10
Abstract
Satelliteattitudedeterminationmethodsusuallyfallinoneoftwoclasses:
point-by-pointand
recursiveestimationalgorithms.Point-by-pointattitudedeterminationisbasedonthemeasurementsoftwoormoresensorsinasinglepointintime,whilerecursiveestimationusesinformationfromsuccessivetimepoints,aswellasknowledgeaboutthespacecraftdynamicsand/orkinematicsmodels.Insmallsatellites,asingleattitudesensorisoftenavailable,duetocostandspaceconstraints,thusleadingtotheexplorationofrecursiveestimationbasedsolutions,suchastheKalmanfilter.Inthispaper,theresultsofusingapoint-by-pointSingularValueDecomposition(SVD)algorithmarecomparedtothoseobtainedbyanExtendedKalmanFilter(EKF),whenappliedtoasimulationofthesmallsatellitePoSAT-1,whichincludesonboardmagnetometersandaSunsensor.Questionsofboththeoreticalandpracticalnaturearediscussedandanalysed.
摘要
卫星姿态确定通常使用一下两种方法中的一种:
逐点算法和递推估计算法。
逐点算法基于同一点上两个以上传感器的测量结果,而递推算法使用的是连续时间点和已知航天器动态模型的运算结果。
对于小卫星的姿态确定,考虑到开销和限制条件,通常一个姿态传感器就足够了,这就引发了对譬如卡尔曼滤波的递推算法的探索。
本文在配有磁强计和一个太阳敏感器的小卫星PoSAT-1的平台下,将逐点的奇异值分解算法的结果与广义卡尔曼滤波算法的结果进行了比较,并在理论和实践上进行了分析和讨论。
简介
三轴航天器姿态确定在GNC方向是一个重大的课题,尤其对于对环境影响容忍能力差的自适应系统。
现如今,对于小卫星在地面站控制和导航并不灵活。
这就要求小卫星执行姿态确定的算法能从机载传感器,譬如星敏感器、太阳敏感器、地球敏感器、GPS或是磁强计获取信息。
逐点算法
另一种姿态确定问题包含了在一系列噪声矢量下确定姿态。
考虑到在体系统中一系列n≥2的矢量测量量
和轨道系统中一系列参考矢量
,因而有一正交阵A从轨道坐标系转换旋转矢量到体坐标系。
GraceWahba第一个提出了寻求矩阵A最优估计的方法,那就是依据平方最小准则来定义估计量。
(1)
这里
是各个测量量的权重而
代表了欧几里得范数。
可以证明,损耗函数可以表示为:
(2)
在式中
,
(3)
在A的正交限制下,如果
最大,那么损耗函数就最小。
Davenport提出了q方法,提供了一种基于四元数的解决Wahba问题的方法。
这种方法中,使损耗函数最小的姿态四元数是特征向量矩阵K。
而K的最大特征值是
。
奇异值分解算法可以直接的计算姿态矩阵,是一种非常简单却十分健壮的最优化方法。
但是,q方法在三个或以上的测量值可用时计算比SVD快。
Markely提出的快速最优姿态矩阵算法q方法的一中变形,它避免了计算特征向量并且在相同的健壮性下具有比q方法更快的速度。
总的来说,所有的确定方法或是逐步方法都高效的计算了姿态矩阵相应的比EKF少了计算负担,因为它们并不使用动力学和运动学模型的信息也就避免了EKF中产生的模型误差。
所以,对于需要相对少的计算资源的小卫星,这些算法都值得尝试的。
但是,它们都需要两个矢量测量量来估算姿态。
一些研究员用陀螺仪获取角速度信息,但是目前陀螺仪在小卫星中还是很少使用,因为它们昂贵并容易失效。
在这篇文章中,在逐步算法中我们选用了SVD算法,以为其为最稳定的算法。
也因为既然只有两个姿态传感器可用,这个算法运算起来和q方法一样快并更易于实现。
仿真设置
航天器模型
这部分是一个简短的在平面刚体旋转运动方程或是叫做欧拉方程回顾。
姿态表示方法
四元数是1843年由Hamilton首次提出的,对于固有的非奇异旋转,它是卫星姿态确定系统最常见的参量。
但是,我们必须认识到的是在四元数表示下,四个参量q1,q2,q3和q4表示的是三位姿态矢量。
有限制条件
,很多学者都将自己部分工作致力于四元数在航天器上的应用。
q是四元数,它可以被表示为一个幅值部分和一个向量部分,
(4)
四元数的乘法必须谨慎处理,因为结果也是四元数:
(5)
(6)
在轨道坐标系和控制坐标系之间表示方向的姿态矩阵也可以用四元数表示:
(7)
其中
是个反对称矩阵用代数方法实行了两个向量的叉积。
(8)
动力学方程
运动方程如下:
(9)
其中
是控制系的角速度。
是惯性对角阵
运动学方程
随着时间推移,考虑到角速度和姿态矩阵变化的运动方程如下:
(11)
其中
(12)
角速度部分是参考轨道的,因为运动方程描述轨道轴和卫星轴之间的转动。
同样的,它必须投影到轨道惯性坐标系:
(13)
其中
是轨道坐标系x轴的单位矢量。
卡尔曼滤波
卡尔曼滤波保证了在线性化动力学系统时的最小变量估计。
卡尔曼滤波也可以在线性化处理后的非线性方程中使用。
但这只是近似值因而会引入误差。
况且,对观测系统假设误差噪声是高斯噪声的近似和用已知量推算都不能对估计误差进行精确描述。
考虑到这些,依据航天器几何结构,主轴方向与控制系方向相同,惯性系数都是零。
航天器系统模型的建立是一个复杂的问题,考虑到动力学方程包含了额外扭矩(太阳光压、太阳热、大气阻力、轨道偏心率及其他影响)。
这些都是非线性影响并持续作用在轨道和高度上,强烈的影响了姿态确定的精度。
实际中,它们并不予考虑。
在考虑到扰动时刻时,它们可以作为一种平衡改进但同时也是计算负担。
四元数的第四个元素通过估计矢量以及限制条件
可以推出
。
预报状态和协方差矩阵还有姿态四元数时,全四元数必须谨慎的操作来获取适当的转动。
所以,在算法的每步中,四元数应该与角速度相独立处理。
关于角速度,四元数必须通过没有近似的转移矩阵
而不是用
进行预报推导。
根据
得出结果。
更新状态时,估计状态
,由滤波器估计的加权的摄动误差
都会进行计算。
考虑到角速度加到全状态上
,
。
但是,为了保存四元数更新的物理传感信息,四元数通过圈乘获得更新,
(14)
太阳敏感器可用时,协方差矩阵拓展成6×6矩阵,
,此时H矩阵为了配合太阳传感器测量量
也被拓展。
(15)
算法剩余步并没有被修正。
确定性方法
确定性方法仅仅得益于传感器测量结果,并不考虑系统模型信息也不推算状态估计。
也许有些人会认为一些有用的系统模型信息丢失了,但是考虑到系统模型的非线性和与其线性化它不如直接忽略掉它,这样会减少引入滤波器的误差。
之所以选择SVD是因为对于两个有效的姿态测量,它在逐点法里是最快和最稳定的。
由于SVD算法仅仅用五行Matlab代码执行,与EKF算法相比,它估算姿态矩阵和协方差误差所消耗的时间非常之少。
SVD唯一的问题就是从姿态矩阵中获取四元数估计量。
这个问题可以用以下方法解决:
当
很小的时候,数值不确定度将会增大。
一种解决方法就是计算
,
,
的最大量。
并基于此,另外三个元素的解是:
仿真结果
对比了EKF和SVD算法,我们设置了不同轨道长度,不同起点的十次仿真。
测试:
每次仿真都是预设倾角六十度,偏航角零度。
滚转角在每次仿真中都不同。
初始角速度为[0.00103700.02]rad/s。
PoSAT-1围绕纵轴有0.02rad/s的角速度。
这用来模拟卫星在被大初始角速度、位置、时间影响的情况。
(degrees)
SpinRateError%
Mean
0.566
0.167
0.595
0.199
worst
1.876
0.696
表1:
EKF结果
图1:
实际情况(实线)和EKF估算(虚线)的PoSAT-1姿态四元数和角速度
表1显示了EKF算法在测试中的精确度。
表示当地铅垂矢量和长轴的夹角。
为了不受控制者的影响,本测试在开环情况下完成。
太阳敏感器失效时,在初始环境下,角速度可以由运动方程反解出来,在太阳敏感器恢复正常之前,可以通过最后两次估算的四元数值的微分来估算
,这样位置矢量就可以由动力学方程推导。
当磁强计和太阳敏感器再次有效时,SVD算法将修正之前估计的四元数。
SVD算法的结果在表2中显示。
正如预期,由于四元数和角速度都是预报值,除了角速度外,SVD算法精度不如EKF的精度。
在图2中,关于太阳敏感器失效后预报的那0.65轨道很显然能得到如上结论。
在图1中,通过协调矩阵协方差可以得到更好的结果,但是通常这种方法并不奏效。
SVD算法并没有此类问题,因为它们的估计值依赖于传感器测量值。
另一点是SVD算法并不像EKF那样需要四元数初始值。
这也是EKF易受影响的一个问题,就是初始误差的协方差太高了导致滤波发散。
况且,使用SVD算法时运算量被减少了一半。
图2:
实际情况(实线)和SVD估算(虚线)的PoSAT-1姿态四元数和角速度。
图中包含了一个信号,它在太阳敏感器工作的时候保持高值,反之维持低值。
(degrees)
SpinRateError%
Mean
0.566
0.167
0.595
0.199
worst
1.876
0.696
表2:
SVD结果
结论和前景展望
本文通过小卫星PoSAT-1验证了逐步的算法(奇异值分解算法)和递推算法(扩展卡尔曼滤波)在姿态确定中的精度和计算量。
正如预期,EKF算法由于在每个轨道位置动力学线性化上的计算,以不断增长的计算机资源占用为代价,提供了最高的精度。
而SVD算法要求两个传感器必须可用。
但是在PoSAT-1上只有一个磁强计和一个太阳敏感器,这就导致了在太阳敏感器不可用时需要动力学姿态的预报。
这与SVD在整个轨道上有两个传感器时产生的数据有差距。
未来的工作应致力于使用小卫星上的一个始终可用的传感器的测量数据(GPS),结合磁强计的测量结果,来更平衡的比较这两种方法。
还有一些用真实卫星数据和考虑到姿态控制闭环的确定工作需要完成。
当然,一些这个方向的工作已经在进行中了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- COMPARISON OF SMALL SATELLITE ATTITUDE DETERMINATION METHODS
![提示](https://static.bdocx.com/images/bang_tan.gif)
链接地址:https://www.bdocx.com/doc/3295050.html