遥感卫星对地覆盖仿真系统的设计与实现

2017-10-23 02:16朱政霖林友明马广彬
计算机技术与发展 2017年10期
关键词:轨道卫星软件

朱政霖,林友明,黄 鹏,马广彬

(1.中国科学院大学,北京 100049;2.中国科学院 遥感与数字地球研究所,北京 100094)

遥感卫星对地覆盖仿真系统的设计与实现

朱政霖1,2,林友明2,黄 鹏2,马广彬2

(1.中国科学院大学,北京 100049;2.中国科学院 遥感与数字地球研究所,北京 100094)

卫星对地覆盖的仿真可以直观、形象地显示对地覆盖方案,并检验其准确性和高效性。当前常见的卫星对地覆盖仿真平台扩展性差、功能不够完善。为此,提出了一种基于Unity3D平台的遥感卫星对地覆盖仿真系统的设计方案。该方案通过建立卫星扫描覆盖模型来计算卫星对地覆盖范围,通过Unity3D脚本系统控制模型的运动、绘制卫星运动轨迹及地面覆盖区域,并在三维场景中动态显示。针对卫星轨道计算问题,采用了NORAD发布的MSGP-SGP4模型,精确计算卫星位置和速度。仿真实验结果表明,所提出的设计方案首次将Unity3D应用到对地观测仿真领域,可准确计算并形象展示卫星对地覆盖区域,具有扩展性好、设计简单和可跨平台应用等优点,拥有较高的推广应用价值,对卫星成像任务规划、卫星轨道设计和教学演示等具有重要意义。

卫星;对地覆盖;Unity3D;轨道;仿真

0 引 言

遥感卫星对地观测具有观测范围广、可重复观测和获取途径安全合法等优点[1-2],在防灾减灾、城镇规划以及军事侦察等重要领域发挥了重要作用。遥感卫星对地覆盖仿真系统能够直观、形象地显示卫星的实时运行状态和对地覆盖区域,检验卫星任务规划的正确性,分析成像计划的效益性。仿真系统对成像任务规划、卫星轨道设计和教学演示等也具有重要意义。

国内外对于卫星对地覆盖仿真已有较长时间的研究[3],形成了一系列仿真软件,例如AGI公司研发的STK-Satellite Tool Kit,Cybercom System公司研制的CPLAN以及清华大学开发的卫星轨道姿势控制系统仿真软件。但此类软件具有功能单一且难于扩展[4]、提供二次开发接口较少、开发平台单一和对地覆盖仿真功能不完善等缺点。

Unity3D是新兴起的游戏开发工具,与其他开发工具相比,具有开发效率高、使用灵活、兼容性好以及跨平台等优点[5-7]。为此。基于Unity3D平台设计了遥感卫星对地覆盖仿真系统,能够根据输入的卫星参数信息进行仿真计算,通过三维场景形象显示卫星覆盖区域。

1 系统整体设计

结合卫星轨道计算模型和Unity3D三维仿真技术,开发卫星对地覆盖仿真系统。主要包括两部分:第一部分为卫星轨道、对地覆盖区域计算,根据用户输入的卫星参数信息进行计算,得到每隔一定时间间隔的卫星位置、扫描条带的左右边界点信息,用于显示;第二部分为三维仿真模块,该模块实现以下功能:显示具有真实感的地球地表的三维模型;以动画方式实现卫星实时位置、运行轨迹的可视化;实现卫星覆盖区域的可视化;能够以人机交互方式实现三维场景的漫游,以不同角度、方向观察仿真结果。

2 卫星轨道、对地覆盖区域计算

2.1卫星轨道计算

卫星轨道计算是卫星对地覆盖问题的基础。采用NORAD发布的TLE根数可以较为准确地计算卫星在任意时刻的位置。它考虑了日月引力的摄动、大气阻力和地球扁率等因素的影响[8]。TLE文件中包含轨道倾角、升交点赤经、近地点俯角、轨道半长轴、轨道偏心率和真近点角等6个开普勒轨道参数,利用这6个根数可以确定卫星在任意时刻的位置和速度。

但TLE根数是某一特定时刻的开普勒根数,随着时间推移,预测卫星位置的精确性将下降,要想获得精确的卫星位置,需要不断更新TLE根数,这样会引起诸多不便。在实际计算中,遥感卫星的轨道计算通常采用NORAD发布的MSGP-SGP4模型[9-10]。该模型考虑了大气阻尼、太阳光压和日月引力等因素。将TLE根数代入MSGP-SGP4模型中,就可以计算卫星的准确位置和速度。

2.2对地覆盖区域计算

对于线推扫式的遥感卫星,其扫描覆盖区域是具有一定幅宽的条带,如图1所示。由此可见,遥感卫星的覆盖范围主要取决于卫星传感器视场角的大小和卫星飞行高度。成像扫描时,首先在垂直于飞行方向的像面上形成一条线影像,然后沿预定轨道逐行推扫,形成二维影像。

图1 线推扫式遥感卫星扫描区域覆盖示意图

(1)

(2)

(3)

左边界所在直线l的方向向量为:

(4)

图2 卫星区域覆盖计算示意图

受自转公转等因素的影响,地球是一扁球体,但地球的扁率较小且仿真中地球模型的尺度较小,可将地球等效为一半径为R的球体,其球面的表达式为:

x2+y2+z2=R2

(5)

3 Unity实时仿真

3.1模型制作

主要的仿真对象为卫星和地球,太阳和月亮等对象仅影响卫星轨道,而对卫星覆盖仿真的影响较小,故需要创建的模型为卫星和地球模型。研究重点是卫星对地覆盖分析,对卫星模型本身没有较高的要求。采用Unity3D的建模功能生成一个三维球体作为卫星模型。对于地球模型,由于要对其表面进行卫星观测覆盖,因此需要大尺度显示地球表面,但Unity3D本身的建模能力较弱,使用其他工具建立地球模型较为方便。采用3DS MAX作为建模工具,该工具功能强大,操作简单,扩展性好,与Unity3D的配合较为流畅[12-13]。在3DS MAX中,根据地球实际尺寸,按照一定比例缩放建立球体,将地球表面二维贴图覆盖于球体表面,贴图可增加球体的质感,使创建的地球模型接近真实。最后将结果以Unity3D支持的FBX格式导出,导入到Unity3D的场景中。这样,就完成了模型的导入。

3.2摄像机控制

在Unity3D场景中,摄像机的作用包括世界坐标到摄像机观察坐标的变换和透视投影变换[14-15]。为方便观察地球表面卫星对地覆盖情况,需要控制场景中摄像机的位置和朝向。在Unity3D的脚本中,利用camera.transform.position控制摄像机的位置,调用camera.transform.LookAt(eye,up)改变朝向。在所采用系统中,可通过键盘按键事件调用以上函数,以控制摄像机的位置和朝向。

3.3卫星运动轨迹、覆盖区域的显示

根据卫星轨道、对地覆盖区域的计算结果,在每一帧中,根据卫星位置确定卫星模型在Unity3D场景中的位置。为清楚显示卫星运动轨迹,需对卫星经过的位置做一轨迹线,以便于观察卫星轨道形状的特点。绘制轨迹线需调用OpenGL的绘制线接口,主要代码如下:

Unity3D脚本代码:

matOrbit.SetPass(1);//指定着色器渲染通道

//运动轨迹

GL.Begin(GL.LINES);

for(i=0;i

{

GL.Vertex(PathPoint[i]);

GL.Vertex(PathPoint[i+1]);

}

GL.End();

显示覆盖区域需绘制卫星推扫产生的条带。卫星覆盖的区域是地球表面的一个球面四边形,其四个顶点并不位于同一平面,故绘制以上区域需调用OpenGL的绘制三角面的接口,并关闭背面消引功能,主要代码如下:

着色器渲染代码:

Pass

{

Material

{

Emission[_EmissionGreen]

}

Lighting On//启用灯光

Cull Off//关闭消引

}

Unity3D脚本代码:

matOrbit.SetPass(2); //指定着色器渲染通道

GL.Begin(GL.TRIANGLES);

GL.Color(Color.red);

for(i=1;i<=step;i++)

{

//从计算得出的条带位置数组data中读取条带各个端点位置

x=data[i-1,3];y=data[i-1,4];z=data[i-1,5];

v1=new Vector3(x,y,z);

x=data[i-1,6];y=data[i-1,7];z=data[i-1,8];

v2=new Vector3(x,y,z);

x=data[i,3];y=data[i,4];z=data[i,5];

v3=new Vector3(x,y,z);

x=data[i,6];y=data[i,7];z=data[i,8];

v4=new Vector3 (x,y,z);

GL.Vertex(v1);GL.Vertex(v2);GL.Vertex(v3);

GL.Vertex(v2);GL.Vertex(v3);GL.Vertex(v4);

}

GL.End();

对于动画的实现,利用Unity3D定时绘制每一帧图像即可。

4 仿真结果及分析

为检验所采用系统的正确性,以中国科学院遥感与数字地球研究所接收的HJ-1A卫星为例进行分析,将所用系统卫星轨道计算和卫星地面覆盖的仿真结果与STK软件的结果进行对比。HJ-1A是中国自主研发的光学遥感卫星,其标称参数为:轨道高度649 km,轨道倾角97.9°,回归周期31天,降交点地方时10:30。传感器视场角为56°。

4.1卫星轨道计算仿真

设定仿真起止时间依次为2016/08/09 10:35:00-2016/08/09 12:12:00,仿真步长为60 s。图3为所用系统(左)和STK软件(右)仿真结果的对比图,所用系统的界面显示了具有真实感的地球地表的三维模型,实现了卫星运行轨迹的可视化,能够以人机交互的方式从不同角度观察仿真结果。对比图中左右两部分,仿真结果的卫星轨道基本一致,证明所用系统卫星轨道计算结果的正确性。

表1是在J2000C坐标系下,采用系统输出的卫星位置坐标与STK软件输出的卫星位置坐标的对比,各点的时间间距为10 min。

图3 所采用系统与STK软件卫星轨道仿真对比图

表1 所用系统与STK软件输出卫星位置坐标对比

从表中可见,所用系统输出的卫星位置坐标与标准值的相对误差均小于0.06%,具有较高的准确度,进一步证明所用系统卫星轨道计算结果的正确性。

4.2卫星地面覆盖仿真

设定仿真起止时间依次为2016/08/09 10:35:00-2016/08/09 10:40:00,仿真步长为60 s。图4为所用系统(左)和STK软件(右)仿真结果的对比图。所用系统形象地显示了卫星扫描条带,实现了卫星对地覆盖区域的可视化。在图5中将卫星覆盖区域局部放大,可以看出,所用系统显示的卫星覆盖区域与STK软件显示的卫星覆盖区域的形状和位置基本一致,证明所用系统区域覆盖计算结果的正确性。

图4 所用系统与STK软件地面覆盖仿真对比图

图5 所用系统与STK软件地面覆盖仿真对比图(局部放大)

以上对比结果表明,所用系统已完成预期的设计功能。

5 结束语

遥感卫星对地覆盖仿真对卫星成像规划、卫星轨道设计等具有重要意义。在分析国内外研究结果和现有仿真系统不足的基础上,提出并实现了遥感卫星对地覆盖仿真系统的设计方案。该系统以Unity3D为开发平台,将外部模型导入场景中,在卫星轨道计算结果的基础上,通过Unity3D该系统控制卫星模型的移动、运行轨迹的绘制以及观察者视角的改变,成功完成了预期的设计目标。

仿真结果表明,该系统计算卫星轨道和扫描条带边界的准确度较高,可用于验证卫星任务规划的有效性、轨道计算的准确性等。

与STK等仿真软件相比,遥感卫星对地覆盖仿真系统具有开发灵活、扩展性好、修改或添加功能方便、兼容各种建模工具、脚本简洁和编辑场景可视化等优点。与OpenGL、DirectX等开发工具相比,基于Unity3D的开发更为高效。此外,系统还具有良好的跨平台特性,可方便移植到iOS、Android和Web等常见平台。与常见的仿真系统相比,系统具有较高的推广应用价值。

[1] 王 沛,谭跃进.卫星对地观测任务规划问题简明综述[J].计算机应用研究,2008,25(10):2893-2897.

[2] Kazansky Y,Wood D,Sutherlun J.The current and potential role of satellite remote sensing in the campaign against malaria[J].Acta Astronautica,2016,121:292-305.

[3] 杜耀珂.基于STK的卫星实时视景仿真系统设计[J].空间控制技术与应用,2009,35(2):60-64.

[4] 何 威,张世杰,曹喜滨.基于软件接口的卫星多领域建模与仿真研究[J].系统仿真学报,2011,23(1):7-12.

[5] 朱惠娟.基于Unity3D的虚拟漫游系统[J].计算机系统应用,2012,21(10):36-39.

[6] Berger M,Cristie V.CFD post-processing in Unity3D[J].Procedia Computer Science,2015,51:2913-2922.

[7] Heo M H,Kim D.The development of a curling simulation for performance improvement based on a physics engine[J].Procedia Engineering,2013,60(11):385-390.

[8] 刘 卫,王荣兰,刘四清,等.TLE预报精度改进及碰撞预警中的应用[J].空间科学学报,2014,34(4):449-459.

[9] 刁宁辉,刘建强,孙从容,等.基于SGP4模型的卫星轨道计算[J].遥感信息,2012,27(4):64-70.

[10] Dong W,Zhao C Y.An accuracy analysis of the SGP4/SDP4 model[J].Chinese Astronomy & Astrophysics,2010,34(1):69-76.

[11] 韩 琼.多星联合成像任务规划技术研究[D].北京:中国科学院大学,2013.

[12] 方 沁.基于Unity和3dmax的虚拟实验室三维建模设计与实现[D].北京:北京邮电大学,2015.

[13] 相茂英,马纯永,韩 勇,等.基于Unity3D的化工设备虚拟培训系统研究[J].计算机技术与发展,2014,24(7):196-200.

[14] 周梦园.基于Unity3D的球幕实时交互显示系统[J].现代计算机,2016(20):69-72.

[15] 谢吉刚.基于Unity3D的第三人称摄像机被遮挡的处理[J].电子测试,2016(21):71-72.

DesignandImplementationofGroundCoverageSimulationSystemofRemoteSensingSatellite

ZHU Zheng-lin1,2,LIN You-ming2,HUANG Peng2,MA Guang-bin2

(1.University of Chinese Academy of Sciences,Beijing 100049,China; 2.Institute of Remote Sensing and Digital Earth,Chinese Academy of Sciences,Beijing 100094,China)

The simulation of satellites ground coverage can show the scheduling scheme of satellites ground coverage intuitively and verify its accuracy and high efficiency.Currently,common satellite ground coverage simulation platforms lack extensibility and its functions are imperfect.For this purpose,a method of remote sensing satellites ground coverage system based on Unity3D platform is presented,in which ground coverage ranges are calculated by establishing satellite scanning coverage model and the movements of models are controlled by the scripts system of Unity3D,besides satellite orbit and ground coverage areas are drawn with the scripts system of Unity3D and 3D scenes are shown dynamically.To solve the problems of satellite orbit calculation,MSGP-SGP4 model published by NORAD is adopted for calculating the positions and velocities of satellites accurately.Simulation results show that it has applied Unity3D to ground coverage simulation field firstly and can calculate and display the satellite ground coverage area precisely and vividly,which demonstrates its advantages of good expansibility,simple design and cross-platform,such as a higher value of spreading,and important significance for satellite imaging tasks planning,satellite orbit design and teaching demonstration.

satellite;ground coverage;Unity3D;orbit;simulation

TP391.9

A

1673-629X(2017)10-0126-04

2016-10-11

2017-01-13 < class="emphasis_bold">网络出版时间

时间:2017-07-11

国家“863”高技术发展计划项目(2012AA12A301)

朱政霖(1992-),男,硕士研究生,研究方向为多卫星成像任务规划;林友明,硕士生导师,正高级工程师,通信作者,研究方向为遥感数据处理与系统集成。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1455.050.html

10.3969/j.issn.1673-629X.2017.10.027

猜你喜欢
轨道卫星软件
推荐书目《中国轨道号》
miniSAR遥感卫星
禅宗软件
“新谢泼德”亚轨道运载器载人首飞成功
朝美重回“相互羞辱轨道”?
静止卫星派
软件对对碰
Puma" suede shoes with a focus on the Product variables
即时通讯软件WhatsApp
太阳轨道器