STK与Matlab的接口及其在复杂航天任务仿真分析中的应用课件.ppt
《STK与Matlab的接口及其在复杂航天任务仿真分析中的应用课件.ppt》由会员分享,可在线阅读,更多相关《STK与Matlab的接口及其在复杂航天任务仿真分析中的应用课件.ppt(56页珍藏版)》请在三一办公上搜索。
1、STK 与 Matlab 的接口及其在复杂航天任务仿真分析中的应用,STK实验室二零一一年 八月,主要内容,1 STK与Matlab接口简介,2 在复杂航天任务仿真分析中的应用,使用STK与Matlab接口应用场合与必要性,STK与Matlab互联的设置与接口函数库,常用接口函数的使用,循环星座对地观测特性分析,循环+嵌套迭代交会对接对远距离导引精度分析,迭代交会对接目标飞行器调相分析,1 STK与Matlab接口简介必要性,STK与Matlab互联两个强大成熟商业软件的强强联合,1 STK与Matlab接口简介必要性,有效的工程应用例子交会对接远距离导引精度论证,1 STK与Matlab接口
2、简介必要性,远距离导引精度仿真分析流程图,1 STK与Matlab接口简介必要性,应用效果,高效(快),建模与修改快捷,可靠(好),辅助实现关键技术环节突破,高效+可靠-技术优势-话语权-地位,1 STK与Matlab接口简介互联与接口函数,STK与Matlab互联的初始设置,参考STK在计算机仿真中的应用,-复制文件“agiCleanPath.m”、“agiInit.m”和“stkInit.m”到指定目录,-在Matlab中运行指令“stkinit”,-选择M文件的位置,-选择Mex文件的位置,-选择默认的其他设置,1 STK与Matlab接口简介互联与接口函数,接口函数,1 STK与Mat
3、lab接口简介互联与接口函数,1 STK与Matlab接口简介互联与接口函数,1 STK与Matlab接口简介常用接口函数,1)初始化需要的接口函数,stkinit 完成STK和Matlab的互联和初始化,conid=stkOpen(stkDefaultHost);返回互联成功的主机端口的连接句柄,2)初始窗口管理,if stkValidScen=1 stkUnload(/*)end 如果已经有打开的场景,则关闭场景。,1 STK与Matlab接口简介常用接口函数,也可以通过交互提示进行窗口管理,如:scen_open=stkValidScen;if scen_open=1 rtn=quest
4、dlg(Close the current scenario?);if strcmp(rtn,Yes)stkClose(conid)return else stkUnload(/*)endend 如果已经有打开的场景,则弹出提示对话框,询问是否要关闭现有场景。,1 STK与Matlab接口简介常用接口函数,3)建立场景,stkNewObj(/,Scenario,场景名称);建立给定名称的场景。stkSetTimePeriod(10 Apr 2003 00:00:00.0,12 Apr 2003 00:00:00.0,GREGUTC);设置场景的起止时间和采用的时间系统。,stkSetEpoch
5、(10 Apr 2003 00:00:00.0,GREGUTC);设置场景的历元。注:在STK输出的各类报告中,时间起点将以该历元作为时间零点。,1 STK与Matlab接口简介常用接口函数,stkSyncEpoch;同步aeroToolbox和STK场景历元。注:aeroToolbox函数库包含“安装盘:Program FilesAGISTKMatlab”目录下各种atb开头的内部函数,可以与STK场景历元保持独立。STK场景时间发生改变时,通过调用该语句可保持二者时间同步。rtn=stkConnect(conid,Animate,Scenario/场景名称,SetValues 10 Apr
6、 2003 00:00:00.0 60 0.1);rtn=stkConnect(conid,Animate,Scenario/场景名称,Reset);设置STK场景动画历元。,1 STK与Matlab接口简介常用接口函数,4)建立航天器,stkNewObj(*/,Satellite,航天器名称);建立卫星。,最基础最常用的接口函数:stkSetPropClassical,语法:stkSetPropClassical(objPath,propagator,coordSystem,tStart,tStop,dt,orbitEpoch,semimajorAxis,eccentricity,incli
7、nation,argOfPerigee,RAAN,meanAnomaly,coordEpoch),1 STK与Matlab接口简介常用接口函数,objPath 有效路径。Propagator 选用的动力学模型,可选择为 TwoBody,J2Perturbation,J4Perturbation,HPOP or PODS,分别表示“二体”、“J2摄动”、“J4摄动”、“HPOP模型”或“PODS模型”,区分大小写。coordSystem 选用的坐标系,可选择为 Fixed,J2000,MeanOfDate,MeanOfEpoch,TrueOfDate,TrueOfEpoch,B1950,TEME
8、OfDate,TEMEOfEpoch,AlignmentAtEpoch,区分大小写。tStart,tStop 起止时刻,以相对于历元时刻的秒为单位。dt 积分步长,以秒为单位。orbitEpoch 轨道历元。,1 STK与Matlab接口简介常用接口函数,semimajorAxis,eccentricity,inclination,argOfPerigee,RAAN,meanAnomaly 6个轨道根数。其中,若坐标系选为AlignmentAtEpoch,RAAN为升交点地理经度,若坐标系选为J2000,RAAN为升交点赤经。coordEpoch 坐标历元,所有.OfEpoch 选项均需提供对
9、应的坐标历元。,同样重要的接口函数:stkSetPropCart,语法:stkSetPropCart(objPath,propagator,coordSystem,tStart,tStop,dt,orbitEpoch,pos,vel,coordEpoch),1 STK与Matlab接口简介常用接口函数,若动力学模型选为“HPOP模型”,则还需要通过stkConnect函数设置各种力模型参数。,第一类:“HPOP force model”设置重力、第三体引力、太阳光压、固体潮、海潮、辐射压参数。,第二类:“HPOP drag model”设置大气密度模型及参数。,1 STK与Matlab接口简介
10、常用接口函数,第一类:“HPOP force model”,语法:HPOP Force ForceModel,其中,中的参数表示需要用户根据具体目录安装或参数使用情况设置的,中的参数表示STK固有的关键字,例如:stkConnect(conid,HPOP,Scenario/场景名/Satellite/航天器名,Force SolarRad Off)其中,为 Scenario/场景名/Satellite/航天器名,ForceModel为 SolarRad,为 Off。,1 STK与Matlab接口简介常用接口函数,ForceModel 和 的可选参数如表所示。,1 STK与Matlab接口简介常
11、用接口函数,stkConnect(conid,HPOP,Scenario/场景名称/Satellite/航天器名称,Force Gravity C:Program FilesAGISTKSTKDataCentralBodiesEarthJGM3.grv 8 8);stkConnect(conid,HPOP,Scenario/场景名称/Satellite/航天器名称,Force SolarRad Off);stkConnect(conid,HPOP,Scenario/场景名称/Satellite/航天器名称,Force ThirdBodyGravity Sun Off);stkConnect(c
12、onid,HPOP,Scenario/场景名称/Satellite/航天器名称,Force ThirdBodyGravity Moon Off);,1 STK与Matlab接口简介常用接口函数,第二类:“HPOP drag model”,语法:HPOP Drag DragState AtmDensModel,其中,与中的参数的含义不变。DragState 设置为On或Off。设置为Off则不需要输入其他参数。设置为On时,为-10.010.0之间的实数,为0.09999.0之间的实数,AtmDensModel的有效输入值和相应的输入值见表所示。,1 STK与Matlab接口简介常用接口函数,1
13、 STK与Matlab接口简介常用接口函数,例如:stkConnect(conid,HPOP,Scenario/场景名称/Satellite/航天器名称,Drag On 2.2 0.0022 NRLMSISE 2000 Manual 150 150 2.667);stkConnect(conid,HPOP,Scenario/场景名称/Satellite/航天器名称,Drag On 2.0 0.0022 NRLMSISE 2000 File C:Program FilesAGISTKDynamicEarthDatastkFluxGeoMag.fxm);,1 STK与Matlab接口简介常用接口函
14、数,5)建立地面站,stkNewObj(*/,Facility,测站名称)建立地面站。stkSetFacPosLLA(Scenario/场景名称/Facility/测站名称,phi;namda;h)设置地面站的经度、纬度和高度。stkConnect(conid,SetConstraint,Scenario/场景名称/Facility/测站名称,ElevationAngle Min 最低仰角值)设置地面站的最低仰角。stkConnect(conid,SetConstraint,Scenario/场景名称/Facility/测站名称,Range Max 最大探测距离值);设置地面站的最大探测距离。
15、,1 STK与Matlab接口简介常用接口函数,6)输出计算结果,stkPropagate(*/Satellite/航天器名称,t_start,t_stop)T,r,v,cb=stkEphemerisCBI(Scenario/场景名称/Satellite/航天器名称,dt,t_start,t_stop)运行航天器并输出给定起止时间内的惯性坐标系位置和速度。注:输出航天器位置、速度之前必须运行stkPropagate函数,否则力模型参数设置不生效。interval=stkAccess(Scenario/场景名称/Satellite/航天器名称,Scenario/场景名称/Facility/测站名
16、称)输出航天器相对于测站的可见时间段。,1 STK与Matlab接口简介常用接口函数,7)关闭STK和Matlab连接,采用接口函数输出的数据上虽然不如手工设置时形式多样,但因为可以在Matlab环境下通过编程进行数据处理,依然可以获得多种需要的计算结果,并且可实现手工设置无法完成的循环计算和多重迭代功能。上述1)6)过程为利用STK/Matlab接口进行计算分析的常用或基本函数。,stkClose(conid)注:STK和Matlab最多同时可创建2个连接,因此每次程序运行结束通常需要关闭连接,以免下次运行重新建立连接时个数超过限制。,2 在复杂航天任务分析中的应用循环,循环星座对地观测特性
17、分析,设某一对地观测卫星星座含多颗星,各星之间通过保持一定的几何构型,实现对某一特定区域的重点观测。在系统设计阶段,需要分析对某种给定的构型,星座对某一特定区域进行观测时,各星观测该区域的 时间间隔特性,如该特定区域重访时间间隔平均值、最大值等。对某一给定点,通过手工设置STK中各类参数可计算和输出星座中各星访问该地点的时间间隔,但对于某一给定区域,需要在该区域内密集采样,采用手工输入输出方式已不再可能,因此需要通过Matlab作为计算引擎调用STK循环计算。以下给出计算过程和结果。,2 在复杂航天任务分析中的应用循环,1)初始化并关闭所有打开的窗口,%初始化stkinitremMachine
18、=stkDefaultHost;%关闭所有打开的窗口delete(get(0,chiSatren);conid=stkOpen(remMachine);scen_open=stkValidScen;if scen_open=1 stkUnload(/*)end,2 在复杂航天任务分析中的应用循环,2)建立场景、航天器和测站,%建立场景并设置场景属性stkNewObj(/,Scenario,RemoteSensor);stkSetTimePeriod(1 Jan 2010 00:00:00.0,5 Jan 2010 00:00:0.0,GREGUTC);stkSetEpoch(1 Jan 201
19、0 00:00:00.0,GREGUTC);stkSyncEpoch;rtn=stkConnect(conid,Animate,Scenario/RemoteSensor,SetValues 1 Jan 2010 00:00:00.0 60 0.1);rtn=stkConnect(conid,Animate,Scenario/RemoteSensor,Reset);%建立航天器和测站stkNewObj(*/,Satellite,Sat1);stkNewObj(*/,Satellite,Sat2);stkNewObj(*/,Satellite,Sat3);stkNewObj(*/,Satelli
20、te,Sat4);stkNewObj(*/,Facility,Station);,2 在复杂航天任务分析中的应用循环,3)设置星座中各卫星的属性,t_start=0;t_stop=4*(24*3600);dt=60;orbitEpoch=t_start;a_sat=7000*1000;e_sat=0;i_sat=60;w_sat=0;Raan_sat=0;M_sat=0;stkSetPropClassical(*/Satellite/Sat1,J2Perturbation,J2000,t_start,t_stop,dt,orbitEpoch,a_sat,e_sat,i_sat,w_sat,Ra
21、an_sat,M_sat);stkPropagate(*/Satellite/Sat1,t_start,t_stop)stkSetPropClassical(*/Satellite/Sat2,J2Perturbation,J2000,t_start,t_stop,dt,orbitEpoch,a_sat,e_sat,i_sat,w_sat,Raan_sat+pi/4,M_sat+pi);stkPropagate(*/Satellite/Sat2,t_start,t_stop)stkSetPropClassical(*/Satellite/Sat3,J2Perturbation,J2000,t_s
22、tart,t_stop,dt,orbitEpoch,a_sat,e_sat,i_sat,w_sat,Raan_sat+pi/2,M_sat+2*pi);stkPropagate(*/Satellite/Sat3,t_start,t_stop)stkSetPropClassical(*/Satellite/Sat4,J2Perturbation,J2000,t_start,t_stop,dt,orbitEpoch,a_sat,e_sat,i_sat,w_sat,Raan_sat+3*pi/4,M_sat+pi);stkPropagate(*/Satellite/Sat4,t_start,t_st
23、op),2 在复杂航天任务分析中的应用循环,4)循环计算区域内各点的重访时间间隔及最大值,namda_min=0;namda_max=2*pi;n_namda=40;deta_namda=(namda_max-namda_min)/n_namda;phi_min=-60*pi/180;phi_max=60*pi/180;n_phi=30;deta_phi=(phi_max-phi_min)/n_phi;for i=1:n_namda+1 for j=1:n_phi+1 remain=(n_namda+1)*(n_phi+1)-(i-1)*(n_phi+1)-j namda=namda_min+
24、(i-1)*deta_namda;X(i,j)=namda*180/pi;phi=phi_min+(j-1)*deta_phi;Y(i,j)=phi*180/pi;stkSetFacPosLLA(Scenario/RemoteSensor/Facility/Station,phi;namda;0);,2 在复杂航天任务分析中的应用循环,stkConnect(conid,SetConstraint,Scenario/RemoteSensor/Facility/Station,ElevationAngle Min 56.8164);interval1=stkAccess(Scenario/Remo
25、teSensor/Satellite/Sat1,Scenario/RemoteSensor/Facility/Station);interval2=stkAccess(Scenario/RemoteSensor/Satellite/Sat2,Scenario/RemoteSensor/Facility/Station);interval3=stkAccess(Scenario/RemoteSensor/Satellite/Sat3,Scenario/RemoteSensor/Facility/Station);interval4=stkAccess(Scenario/RemoteSensor/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STK Matlab 接口 及其 复杂 航天 任务 仿真 分析 中的 应用 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3726756.html