张鑫 许峰
摘要摘要:针对用传统优化算法求解计算卫星轨道过程中的开普勒超越方程时,面临的对梯度计算敏感和初始点要求过高等问题,提出了一种基于多生境遗传算法的卫星轨道计算方法,并据此计算了多种卫星的星下点轨迹。数值实验表明,上述算法较传统优化算法有较强的普适性和全局收敛性。
关键词关键词:卫星轨道;星下点轨迹;开普勒方程;多生境遗传算法
DOIDOI:10.11907/rjdk.171002
中图分类号:TP312
文献标识码:A文章编号文章编号:16727800(2017)005002704
0引言
随着空间科学技术的发展,人造地球卫星已广泛应用于气象、通信、测绘、导航、侦察等诸多领域。目前,在轨的各类卫星已多达数千颗,其中包括许多装有合成孔径雷达和高性能光学照相机的侦察卫星。有些侦察卫星不仅具有很高的分辨率,而且能实现全天候对地侦察。这就要求在进行重要武器装备、部队转移或大型国防工程施工时,掌握境外侦察卫星的运行规律,适时躲避卫星侦察,保卫国家安全。
避空侦察的关键在于卫星运行轨道计算,进而获取卫星星下点轨迹。计算卫星运行轨道时需要求解开普勒方程,由于此方程为超越方程,所以需要采用数值方法求解。以往,多采用基于梯度的经典算法如牛顿法求解开普勒方程,而此类算法明显存在的两大缺陷:一是算法对梯度计算的精确度要求较高,当梯度计算误差较大时,解的误差偏大,即算法的数值稳定性较差;二是算法对迭代初始值的要求较高,当初始值与理论解相差较远时,算法可能不收敛。
近年来,随着以遗传算法为代表的智能优化算法研究的深入,智能优化算法已越来越多地应用于航天和航空器的设计与轨道计算,并取得了许多成果。吴美平[1]将遗传算法应用于载人飞船返回轨道设计;王吉力[2]应用遗传算法对登月飞行器软着陆轨道进行了优化计算;罗亚中[3]将一种混合遗传算法应用于运载火箭上升轨道的设计;陈刚等[45]系统研究了遗传算法在航天器优化中的应用;刘秀平[6]将差分进化算法应用于卫星轨道计算方法。
本文针对卫星轨道计算过程中的开普勒方程,提出了一种基于多生境遗传算法的求解方法,并根据数值实验对模型和算法进行了分析。
1卫星轨道模型
1.1卫星轨道参数
卫星轨道参数是用来描述卫星在太空中运行的形状、位置和取向的各种参数,也叫卫星的轨道根数。根据开普勒定律,人造地球卫星在空间的瞬时位置可以由6个开普勒轨道根数确定,卫星在空间的运行轨道及其描述如图1所示。
其中,i,a,e,Ω,ω,θ为轨道六大参数,其含义如下[7]:(1) 轨道倾角i:卫星轨道平面与地球赤道平面之间的夹角,決定平面的空间位置。(2) 半长轴a:确定轨道大小的参数,即轨道的半径。(3) 偏心率e:确定轨道形状的参数。当e=0时,曲线为圆;当0
1.2卫星轨道计算模型
根据开普勒定律,可以建立下列卫星轨道计算模型:
(1)根据真近点角M和偏心率e,通过解开普勒方程E=M+esinE,计算偏近点角E。
(2)利用公式r=a(cosE-e)P+a1-e2sinEQ计算卫星的位置坐标,其中:
P=cosΩcosw-sinΩsinwcosisinΩcosw+cosΩsinwcosisinwsini,Q=-cosΩsinw-sinΩcoswcosi-sinΩsinw+cosΩcoswcosicoswsini。(3)通过地面观测站观测到的数据计算卫星相对于地球的观测向量K:
K=rcos(β)cosπ2-φ,rcos(β)sinπ2-φ,rsin(β)
其中,β表示观测站观测到卫星的仰角,φ表示观测站观测到卫星的方位角。(4)根据观测站的经纬度计算观测站在大地坐标系中的坐标:H=Rcos(α)cos(γ),cos(α)sin(γ),sin(α)。(5)根据下列方法将卫星相对于地球的观测向量K和观测站在大地坐标系中的坐标H转换到空间坐标系:x=l1X+l2Y+l3Z,y=m1X+m2Y+m3Z,z=n1X+n2Y+n3Z. 其中,li,mi,ni为新坐标轴的方向余弦。(6)根据转化后的卫星观测向量K和观测站坐标H计算卫星在空间坐标中的位置:r=H+K。(7)按照下述方法计算经纬度:latitude=π2-arccos[0,0,1]·rr,longitude=arccos[1,0]·rr。
2超越方程的多生境遗传算法求解
在卫星轨道的计算过程中,需要求解开普勒方程。开普勒方程属超越方程,没有解析解,只有通过数值方法求取数值解。以往,人们通常采用传统的经典的数值方法求解[6],如牛顿迭代法。这类算法均的优点是计算精度高,收敛速度快。但此类算法也有明显的两个缺陷:一是算法过分依赖于导数,对函数的光滑性要求较高;二是算法仅为局部收敛,对远离精确解的初始点不一定收敛。
自20世纪60年代以来,模拟退火、遗传算法、粒子群算法、蚁群算法、协同进化算法等一批智能算法层出不穷。随着研究的深入,智能优化的研究成果已逐渐被应用于各个领域。考虑到遗传算法对目标函数要求不高和全局收敛性较好的特点,遗传算法和差分进化算法已被用于求解电磁领域和航天航空领域的复超越方程。本文提出一种基于多生境遗传算法[9]的超越方程解法,其算法步骤说明如下:(1) 编码,采用二进制编码。(2) 种群初始化,取初始种群规模为100。(3) 适应度函数,求解的超越方程为F(x1,x2,…,xk)=0,则取适应度函数为:
fitness=11+F(x1,x2,…,xk)
显然,适应度函数的最大值为1,此时表明求得了方程的精确解。
(4) 遗传算子。考虑到基本遗传算法的全局收敛性较好而局部搜索能力相对较差,易陷于局部极小点,本文采用多生境遗传算法的各种遗传算子。
3数值实验
以2016年全国研究生数学建模竞赛D题为背景对求解超越方程的多生境遗传算法进行数值实验和算法分析。
3.1问题概述与分析
根据地面观测站在若干天内观测到的Q型及L1、L2型卫星的过顶情况,预测此后几天内卫星被观测到的情况及过顶情况,并给出未来两天内确保国防工程安全施工的时段。轨道示意图分别如图2、图3所示。
显然,解决此类问题的关键是星下点轨迹计算。本文计算星下点轨迹的思路是:首先由各类卫星的参数得出相应的开普勒方程;然后用多生境遗传算法求解开普勒方程得出近点角;最后根据卫星轨道模型求出经纬度,从而得出卫星的星下点轨迹。
3.2计算结果
经计算可得卫星轨道、星下点轨迹图。
从图4和图5中最小的圈为危险区域,该区域为卫星的过顶区域;外面的大圈表示地面观测站可以观测到轨道上的卫星的区域。从图中可以得出过顶区域和可观测区域的经纬度。
3.3算法性能分析
为了评测求解开普勒方程的多生境遗传算法的全局和局部收敛性,本文分别用牛顿法(Newton)、基本遗传算法(SGA)和多生境遗传算法(MNGA)求解同一组开普勒方程。表2给出了卫星轨道类型、参数、精确近点角及各算法求出的近点角的近似值。考虑到遗传算法的随机性,近似值为10次计算的平均值。图6和图7分别给出了基本遗传算法和多生境遗传算法的进化曲线。
由表2和图5、图6可以看出,基本遗传算法和多生境遗传算法均具有较好的全局收敛性,但多生境遗传算法的
局部收敛性优于基本遗传算法,所以多生境遗传算法的求解结果精度高于基本遗传算法。表2显示,传统的Newton迭代法计算结果的精度并不比多生境遗传算法的差,
但这是在Newton迭代法收敛的前提下得出的结论。事实上,在对上述目标进行测试时,若初始值离精确值较远时,Newton迭代法并不总是收敛。
4结语
本文针对经典优化算法求解计算卫星轨道过程中的开普勒超越方程时对初始点要求过高的弊端,提出了一种基于多生境遗传算法的卫星轨道计算方法,并据此计算了多种卫星的星下点轨迹。数值实验表明,上述算法较传统优化算法有较强的普适性和全局收敛性,且与基本遗传算法相比,在一定程度上提高了计算精度。
需要指出的是,卫星轨道计算问题中因素众多,较为复杂,结合地理信息系统解决此类问题是目前大家公认的思路。本文仅就模型求解方法作出改进,以期为相关研究提供借鉴。
参考文献参考文献:
[1]吴美平,胡小平.遺传算法在载人飞船返回轨道一体化设计中的应用[J].宇航学报,2001,22(3): 99104.
[2]王吉力,李俊峰,崔乃刚.登月飞行器软着陆轨道的遗传算法优化[J].清华大学学报,2003,43(8): 10561059.
[3]罗亚中,唐国金,周黎妮.混合遗传算法及其在运载火箭最优上升轨道设计中的应用[J].国防科技大学学报,2004,26 (2):58.
[4]陈刚,万自明,徐敏.飞行器轨迹优化应用遗传算法的参数化与约束处理方法研究[J].系统仿真学报,2005,17(11): 27372740.
[5]陈刚,万自明,徐敏.遗传算法在航天器轨迹优化中的应用[J].弹道学报,2006,18(1): 15.
[6]刘秀平,孙海峰,景军峰.基于差分进化算法的卫星轨道计算方法[J].西安工程大学学报,2014,28(5): 552555.
[7]张云彬,张永生.近圆轨道遥感卫星星下点轨迹的计算[J].测绘科学技术学报,2001,18(4): 257259.
[8]田雨波,钱鉴,孟非.电磁领域中复超越方程的遗传算法求解方法[J].哈尔滨工业大学学报,2009,41(1): 254257.
[9]谭艳艳,许峰.基于适应值共享的多生境排挤遗传算法[J].计算机工程与应用,2009,45(5):4649.
[10]2016全国研究生数学建模竞赛试题http://gmcm.seu.edu.cn/01/1d/c29a285/page.htm.
[11]吴昊,李传荣,李子扬.基于ArcGIS的卫星轨迹可视化仿真[J].测控自动化,2010,26(4): 170172.
责任编辑(责任编辑:陈福时)