STK与Matlab的接口及其在复杂航天任务仿真分析中的应用课件

收藏

编号:214774309    类型:共享资源    大小:689.50KB    格式:PPT    上传时间:2023-05-31
20
积分
关 键 词:
STK Matlab 接口 及其 复杂 航天 任务 仿真 分析 中的 应用 课件
资源描述:
STK 与与 Matlab 的接口及其的接口及其在复杂航天任务仿真分析中的应用在复杂航天任务仿真分析中的应用 STKSTK实验室实验室二零一一年二零一一年 八月八月主要内容 1 STK1 STK与与MatlabMatlab接口简介接口简介 2 2 在复杂航天任务仿真分析中的应用在复杂航天任务仿真分析中的应用 使用使用STKSTK与与MatlabMatlab接口应用场合与必要性接口应用场合与必要性 STKSTK与与MatlabMatlab互联的设置与接口函数库互联的设置与接口函数库 常用接口函数的使用常用接口函数的使用 循环循环星座对地观测特性分析星座对地观测特性分析 循环循环+嵌套迭代嵌套迭代交会对接对远距离导引精度分析交会对接对远距离导引精度分析 迭代迭代交会对接目标飞行器调相分析交会对接目标飞行器调相分析1 STK与Matlab接口简介必要性STKSTK与与MatlabMatlab互联互联两个强大成熟商业软件的强强联合两个强大成熟商业软件的强强联合 1 STK与Matlab接口简介必要性有效的工程应用例子交会对接远距离导引精度论证 1 STK与Matlab接口简介必要性远距离导引精度仿真分析流程图远距离导引精度仿真分析流程图1 STK与Matlab接口简介必要性应用效果应用效果 高效(快)高效(快)建模与修改快捷 可靠(好)可靠(好)辅助实现关键技术环节突破高效高效+可靠可靠-技术优势技术优势-话语权话语权-地位地位1 STK与Matlab接口简介互联与接口函数 STKSTK与与MatlabMatlab互联的初始设置互联的初始设置 参考STK在计算机仿真中的应用-复制文件“agiCleanPath.m”、“agiInit.m”和“stkInit.m”到指定目录-在Matlab中运行指令“stkinit”-选择M文件的位置-选择Mex文件的位置-选择默认的其他设置 1 STK与Matlab接口简介互联与接口函数 接口函数接口函数分类接口函数说明STK Server Commands(STK服务器命令)stkDefaultConID返回缺省的连接ID号stkDefaultHost返回缺省的主服务器stkSetDefaultHost设置与STK的远程连接Application Commands(应用命令)stkAutoSave自动保存stkHomeDir返回STK安装目录stkCurrentDir返回当前目录stkSetCurrentDir设置当前目录stkObjNames返回STK对象名称stkTimerStart启动计时器stkTimer计时器时间Generic Object Commands(普通对象命令)stkCentralBody返回坐标系中心体stkLoadObj导入对象stkSaveObj保存对象stkNewObj新建对象stkUnload卸载对象stkUnloadChildren卸载所有子对象stkRename重命名对象stkTimePeriod返回场景起止时间stkTimePeriodInSec返回场景起止时间,以秒为单位stkValidObj返回是否存在有效对象stkDescrip获取对象的描述stkSetDescrip设置对象的描述1 STK与Matlab接口简介互联与接口函数Scenario Commands(场景命令)stkAnimTime返回当前STK动画时间stkEpoch返回STK场景历元stkSetEpoch设置 STK 场景 历元stkSetEpochInSec改变STK 场景 历元,以秒为单位stkSyncEpoch同步aeroToolbox和STK场景历元stkConvertDate转换日期格式stkSetTimePeriod设置场景起止时间stkSetTimePeriodInSec设置场景起止时间,以秒为单位stkScenFilePath返回STK场景文件目录stkValidScen返回是否存在有效场景Basic Vehicle Data(基本飞行器数据)stkTimePeriod返回航天器或场景起止时间stkTimePeriodInSec返回航天器或场景起止时间,以秒为单位stkSetTimePeriod设置航天器或场景起止时间Satellite Propagators(卫星属性)stkSetPropCart设置笛卡尔坐标形式的卫星运动参数stkSetPropClassical设置经典轨道根数形式的卫星运动参数stkSetPropEqui设置第二类无奇点根数形式的卫星运动参数stkSetPropSGP4设置SGP4形式的卫星运动参数stkPropagate卫星轨道积分计算Vehicle Position and Velocity(飞行器的位置速度)stkPosVelCBF获取中心体固连坐标系下的位置速度stkPosVelCBI获取惯性坐标系下的位置速度stkEphemerisCBF获取中心体固连坐标系下的星历stkEphemerisCBI获取惯性坐标系下的星历stkSetEphemerisCBF设置中心体固连坐标系下的星历stkSetEphemerisCBI设置惯性坐标系下的星历stkLoadEphemeris从文件中载入星历stkSaveEphemerisCBF保存中心体固连坐标系下的星历stkSaveEphemerisCBI保存惯性坐标系下的星历stkSaveDynState将工作空间中所有数据保存成.mat文件stkDynState产生动力学状态数据1 STK与Matlab接口简介互联与接口函数Vehicle Attitude(飞行器姿态)stkAttitudeCBF获取中心体固连坐标系中的姿态四元数stkAttitudeCBI获取惯性坐标系中姿态四元数stkSetAttitudeCBF设置中心体固连坐标系中的姿态四元数stkSetAttitudeCBI设置惯性坐标系中姿态四元数stkLoadAttitude从文件中载入姿态数据stkSaveAttitudeCBF保存中心体固连坐标系中的姿态stkSaveAttitudeCBI保存惯性坐标系中姿态Basic Vehicle Attitude Types(飞行器基本姿态类型)stkSetAttBasic设置基本姿态类型stkSetAttSpinSun设置自旋轴指向太阳stkSetAttSpinNadir设置自旋轴指向天底stkSetAttYawNadir设置偏航轴指向天底stkSetAttSpinning设置自旋轴为给定方向stkSetAttFixed设置惯性系中姿态stkAttOffset设置姿态偏移量Aircraft,GroundVehicle and Ship Propagators(飞机,车辆与船舰属性)stkSetWaypoints设置路径点stkLoadWaypoints载入路径点文件stkSetGreatArcStart设置起始时间Missile Propagators(导弹运动积分)stkSetPropBallistic设置弹道导弹积分参数Facilities and Targets(设施与目标)stkPosVelCBF返回中心体固连坐标系中的位置stkSetFacPosCBF设置中心体固连坐标系中设施的位置stkSetFacPosLLA设置设施的经度、纬度、高度Area Targets(面目标)stkGetBoundary设置面目标边界STK Tools(STK工具)stkAccess返回过境时间段stkReport生成目标报告stkAccReport生成过境报告stkFindData从报告中提取数据Connect Commands(连接指令)stkOpen打开STK连接stkClose关闭STK连接stkExec向STK发送指令stkConnect连接指令发送函数1 STK与Matlab接口简介常用接口函数1 1)初始化需要的接口函数)初始化需要的接口函数 stkinit 完成STK和Matlab的互联和初始化 conid=stkOpen(stkDefaultHost);返回互联成功的主机端口的连接句柄 2 2)初始窗口管理)初始窗口管理 if stkValidScen=1 stkUnload(/*)end 如果已经有打开的场景,则关闭场景。1 STK与Matlab接口简介常用接口函数也可以通过交互提示进行窗口管理,如:scen_open=stkValidScen;if scen_open=1 rtn=questdlg(Close the current scenario?);if strcmp(rtn,Yes)stkClose(conid)return else stkUnload(/*)endend 如果已经有打开的场景,则弹出提示对话框,询问是否要关闭现有场景。1 STK与Matlab接口简介常用接口函数3 3)建立场景)建立场景 stkNewObj(/,Scenario,场景名称);建立给定名称的场景。stkSetTimePeriod(10 Apr 2003 00:00:00.0,12 Apr 2003 00:00:00.0,GREGUTC);设置场景的起止时间和采用的时间系统。stkSetEpoch(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 2003 00:00:00.0 60 0.1);rtn=stkConnect(conid,Animate,Scenario/场景名称,Reset);设置STK场景动画历元。1 STK与Matlab接口简介常用接口函数4 4)建立航天器)建立航天器 stkNewObj(*/,Satellite,航天器名称);建立卫星。最基础最常用的接口函数:最基础最常用的接口函数:stkSetPropClassicalstkSetPropClassical 语法:stkSetPropClassical(objPath,propagator,coordSystem,tStart,tStop,dt,orbitEpoch,semimajorAxis,eccentricity,inclination,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,TEMEOfDate,TEMEOfEpoch,AlignmentAtEpoch,区分大小写。tStart,tStop 起止时刻,以相对于历元时刻的秒为单位。dt 积分步长,以秒为单位。orbitEpoch 轨道历元。1 STK与Matlab接口简介常用接口函数semimajorAxis,eccentricity,inclination,argOfPerigee,RAAN,meanAnomaly 6个轨道根数。其中,若坐标系选为AlignmentAtEpoch,RAAN为升交点地理经度,若坐标系选为J2000,RAAN为升交点赤经。coordEpoch 坐标历元,所有.OfEpoch 选项均需提供对应的坐标历元。同样重要的接口函数:同样重要的接口函数:stkSetPropCartstkSetPropCart语法:stkSetPropCart(objPath,propagator,coordSystem,tStart,tStop,dt,orbitEpoch,pos,vel,coordEpoch)1 STK与Matlab接口简介常用接口函数若动力学模型选为“HPOP模型”,则还需要通过stkConnectstkConnect函数设置各种力模型参数。第一类:“HPOP force model”设置重力、第三体引力、太阳光压、固体潮、海潮、辐射压参数。第二类:“HPOP drag model”设置大气密度模型及参数。1 STK与Matlab接口简介常用接口函数第一类:“HPOP force model”语法:HPOP Force ForceModel 其中,中的参数表示需要用户根据具体目录安装或参数使用情况设置的,中的参数表示STK固有的关键字,例如:stkConnect(conid,HPOP,Scenario/场景名/Satellite/航天器名,Force SolarRad Off)其中,为 Scenario/场景名/Satellite/航天器名,ForceModel为 SolarRad,为 Off。1 STK与Matlab接口简介常用接口函数ForceModel 和 的可选参数如表所示。ForceModel说明Gravity 或 或和取值为0.01000.0,必须小于等于,并且都小于所选择的重力场文件的最高阶数。ThirdBodyGravity On|Off GravSource GravSource有效值可通过CB,JPL的DE文件或用户自定义设置,用户自定义值需为正值。SolarRadSolarRadState ShadowModel ModelType BoundaryMitigation On|OffSolRadState可设置为On或Off。如果设置为 On,还需要设置-100.0100.0的光压系数,和 0.09999.00的面质比 参数。阴影模型参数ModelType可取为空、圆柱或双圆锥。SolidTidesFull|Permanent|Off IncTimeDep On|Off MinAmplitude 如果设置为Off则不需要再输入其他参数。在0.01.0范围内,单位是米。如果输入Permanent则只考虑与时间不相关的永久固体潮部分,如果输入Full则考虑全部固体潮。OceanTidesOn|Off MaxDegree MaxOrder MinAmplitude 如果设置为Off不需要再输入其他参数。为230之间的整数,为030之间的整数,在0.01.0范围内,单位是米。RadiationPressure Albedo On|Off Thermal On|Off Coefficient AreaMassRatio File 为-100100.0之间的实数。为0.09999.0之间的实数,单位是m2/kg。地面反射模型文件。1 STK与Matlab接口简介常用接口函数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(conid,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接口简介常用接口函数AtmDensModelHarris-Priester附加参数可通过手工或flux/geomag 文件输入:Manual File 1976 StandardN/AJacchia 1960N/AJacchia 1971附加参数可通过手工或flux/geomag 文件输入:Manual File Jacchia 1970Jacchia-RobertsCIRA 1972NRLMSISE 2000MSISE 1990MSIS 1986 1 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接口简介常用接口函数5 5)建立地面站)建立地面站 stkNewObj(*/,Facility,测站名称)建立地面站。stkSetFacPosLLA(Scenario/场景名称/Facility/测站名称,phi;namda;h)设置地面站的经度、纬度和高度。stkConnect(conid,SetConstraint,Scenario/场景名称/Facility/测站名称,ElevationAngle Min 最低仰角值)设置地面站的最低仰角。stkConnect(conid,SetConstraint,Scenario/场景名称/Facility/测站名称,Range Max 最大探测距离值);设置地面站的最大探测距离。1 STK与Matlab接口简介常用接口函数6 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/测站名称)输出航天器相对于测站的可见时间段。1 STK与Matlab接口简介常用接口函数7 7)关闭)关闭STKSTK和和MatlabMatlab连接连接 采用接口函数输出的数据上虽然不如手工设置时形式多样,但因为可以在Matlab环境下通过编程进行数据处理,依然可以获得多种需要的计算结果,并且可实现手工设置无法完成的循环计算和多重迭代功能。上述1)6)过程为利用STK/Matlab接口进行计算分析的常用或基本函数。stkClose(conid)注:STK和Matlab最多同时可创建2个连接,因此每次程序运行结束通常需要关闭连接,以免下次运行重新建立连接时个数超过限制。2 在复杂航天任务分析中的应用循环循环循环星座对地观测特性分析星座对地观测特性分析 设某一对地观测卫星星座含多颗星,各星之间通过保持一定的几何构型,实现对某一特定区域的重点观测。在系统设计阶段,需要分析对某种给定的构型,星座对某一特定区域进行观测时,各星观测该区域的 时间间隔特性,如该特定区域重访时间间隔平均值、最大值等。对某一给定点,通过手工设置STK中各类参数可计算和输出星座中各星访问该地点的时间间隔,但对于某一给定区域,需要在该区域内密集采样,采用手工输入输出方式已不再可能,因此需要通过Matlab作为计算引擎调用STK循环计算。以下给出计算过程和结果。2 在复杂航天任务分析中的应用循环1)初始化并关闭所有打开的窗口%初始化stkinitremMachine=stkDefaultHost;%关闭所有打开的窗口delete(get(0,chiSatren);conid=stkOpen(remMachine);scen_open=stkValidScen;if scen_open=1 stkUnload(/*)end2 在复杂航天任务分析中的应用循环2)建立场景、航天器和测站%建立场景并设置场景属性stkNewObj(/,Scenario,RemoteSensor);stkSetTimePeriod(1 Jan 2010 00:00:00.0,5 Jan 2010 00:00:0.0,GREGUTC);stkSetEpoch(1 Jan 2010 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(*/,Satellite,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,Raan_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_start,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_stop)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+(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/RemoteSensor/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/Satellite/Sat4,Scenario/RemoteSensor/Facility/Station);2 在复杂航天任务分析中的应用循环 if size(interval1)=0 0&size(interval2)=0 0&size(interval3)=0 0&size(interval4)=0 0 Z(i,j)=20;else temp1=interval1.start,interval2.start,interval3.start,interval4.start,interval1.stop,interval2.stop,interval3.stop,interval4.stop;temp2=sort(temp1);Z(i,j)=max(diff(temp2)/3600;end endend2 在复杂航天任务分析中的应用循环5)绘制计算结果并关闭连接save(mat)set(gcf,color,1,1,1)figuresurf(X,Y,Z)xlabel(namda/deg)ylabel(phi/deg)stkClose(conid)2 在复杂航天任务分析中的应用迭代迭代迭代交会对接目标飞行器调相分析交会对接目标飞行器调相分析 交会对接任务中,目标飞行器在飞船入轨前23个月先行入轨,目标飞行器入轨后在一天时间内通过两次变轨进入某一高度的近圆轨道,之后通过大气衰减和主动变轨,使23个月后飞船入轨时刻目标飞行器轨道的相位、高度和偏心率满足要求。在任务分析阶段,需要根据给定的空间环境设计目标飞行器的圆化轨道高度,在后续23个月的时间内尽可能通过大气衰减作用满足各种终端约束条件,减少主动变轨的能量消耗。第4圈变轨第13圈变轨2 在复杂航天任务分析中的应用迭代 为了重点说明STK/Matlab接口的使用,对上述设计进行简化,假定不进行调整相位、高度和偏心率的变轨,设计过程简化为迭代搜索满足飞船入轨时刻相位约束条件的目标飞行器圆化轨道的高度,为单层迭代过程。需要补充说明的是,在STK中尽管Astrogator模式可实现一定功能的迭代,但在Astrogator模式下空间环境参数无法根据需要进行设置,并且难以设定某些特殊的约束条件,这种情况下可以利用Matlab的编程能力通过STK/Matlab接口实现迭代求解。以下给出计算过程。2 在复杂航天任务分析中的应用迭代1)初始化和并关闭所有打开的窗口与前述过程相同,不再重复。2)建立场景和航天器目标飞行器入轨后,在第4圈近地点变轨抬高远地点高度,在第13圈远地点变轨进入圆轨道,之后进入大气衰减自由飞行阶段。以下建立场景后,再建立3个航天器分别用于不同阶段的轨道预报。stkNewObj(/,Scenario,GM);stkSetTimePeriod(6 Sep 2011 2:11:53,6 Dec 2011 2:11:53,GREGUTC);stkSetEpoch(6 Sep 2011 2:11:53,GREGUTC);stkSyncEpoch;rtn=stkConnect(conid,Animate,Scenario/GM,SetValues 6 Sep 2011 2:11:53 60 0.1);rtn=stkConnect(conid,Animate,Scenario/GM,Reset);stkNewObj(*/,Satellite,MB_1);stkNewObj(*/,Satellite,MB_2);stkNewObj(*/,Satellite,MB_3);2 在复杂航天任务分析中的应用迭代3)外推至第4圈近地点%设置J2000坐标系中初始轨道根数t_start_1=0;t_stop_1=0.187*(24*3600);dt=60;orbitEpoch=t_start_1;coordEpoch=t_start_1;a_MB=6645999;e_MB=0.01129;i_MB=42.747;w_MB=124.342;Raan_MB=7.309;M_MB=0;2 在复杂航天任务分析中的应用迭代%选用HPOP模型,设置大气密度模型、重力场模型、光压和第三体摄动模型。stkSetPropClassical(*/Satellite/MB_1,HPOP,AlignmentAtEpoch,t_start_1,t_stop_1,dt,orbitEpoch,a_MB,e_MB,i_MB,w_MB,Raan_MB,M_MB,coordEpoch);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_1,Drag On 2.2 0.0039 NRLMSISE 2000 Manual 150 150 2.667);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_1,Force Gravity C:Program FilesAGISTKSTKDataCentralBodiesEarthJGM3.grv 8 8);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_1,Force SolarRad Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_1,Force ThirdBodyGravity Sun Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_1,Force ThirdBodyGravity Moon Off);stkPropagate(*/Satellite/MB_1,t_start_1,t_stop_1)T_MB_1,r_MB_1,v_MB_1,cb=stkEphemerisCBI(Scenario/GM/Satellite/MB_1,dt,t_start_1,t_stop_1);2 在复杂航天任务分析中的应用迭代4)迭代求解第4圈近地点变轨速度增量(或求解圆化轨道高度)%采用牛顿迭代法求解,约束条件为第89天目标飞行器轨道面与飞船入轨点共面时刻的相位在11410 范围内。deta_v_2=9;error=100;while abs(error)1 Cal_remain;index_RG=find(T_interp89);error=beta_interp(index_RG(1)-114 deta_v_2=deta_v_2+error/3600;End 其中,Cal_ remain为需要循环计算的用户自定义子函数,用于计算给定一个第4圈近地点变轨速度增量后,从第4圈近地点变轨外推至第13圈远地点并进行轨道圆化变轨后的轨道,轨道外推一直到第89天目标飞行器轨道面与飞船入轨点共面时刻。输出结果外共面时刻的相位。2 在复杂航天任务分析中的应用迭代Cal_ remain子函数为:%第4圈变轨外推至第13圈变轨 pos_2=r_MB_1(:,length(r_MB_1);vel_2=v_MB_1(:,length(v_MB_1);ix=vel_2/norm(vel_2);ir=pos_2/norm(pos_2);iz=CrossProduct(ir,ix)/norm(CrossProduct(ir,ix);iy=CrossProduct(ix,iz);thita_2=0;vel_2=vel_2+deta_v_2*(cos(thita_2)*ix+sin(thita_2)*iy);t_start_2=t_stop_1;t_stop_2=0.782*(24*3600);dt=60;orbitEpoch=t_start_2;stkSetPropCart(*/Satellite/MB_2,HPOP,J2000,t_start_2,t_stop_2,dt,orbitEpoch,pos_2,vel_2)stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_2,Drag On 2.2 0.0039 NRLMSISE 2000 Manual 150 150 2.667);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_2,Force Gravity C:Program FilesAGISTKSTKDataCentralBodiesEarthJGM3.grv 8 8);2 在复杂航天任务分析中的应用迭代stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_2,Force SolarRad Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_2,Force ThirdBodyGravity Sun Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_2,Force ThirdBodyGravity Moon Off);stkPropagate(*/Satellite/MB_2,t_start_2,t_stop_2)T_MB_2,r_MB_2,v_MB_2,cb=stkEphemerisCBI(Scenario/GM/Satellite/MB_2,dt,t_start_2,t_stop_2);%第13圈变轨外推至飞船入轨时刻pos_3=r_MB_2(:,length(r_MB_2);vel_3=v_MB_2(:,length(v_MB_2);u_e=3.986005e+014;ix=vel_3/norm(vel_3);ir=pos_3/norm(pos_3);iz=CrossProduct(ir,ix)/norm(CrossProduct(ir,ix);iy=CrossProduct(ix,iz);it=CrossProduct(iz,ir);vel_3=sqrt(u_e/norm(pos_3)*it;2 在复杂航天任务分析中的应用迭代t_start_3=T_MB_2(length(T_MB_2);t_stop_3=92*(24*3600);dt=60;orbitEpoch=t_start_3;stkSetPropCart(*/Satellite/MB_3,HPOP,J2000,t_start_3,t_stop_3,dt,orbitEpoch,pos_3,vel_3)stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_3,Drag On 2.2 0.0039 NRLMSISE 2000 Manual 150 150 2.667);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_3,Force Gravity C:Program FilesAGISTKSTKDataCentralBodiesEarthJGM3.grv 8 8);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_3,Force SolarRad Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_3,Force ThirdBodyGravity Sun Off);stkConnect(conid,HPOP,Scenario/GM/Satellite/MB_3,Force ThirdBodyGravity Moon Off);stkPropagate(*/Satellite/MB_3,t_start_3,t_stop_3)T_MB_3,r_MB_3,v_MB_3,cb=stkEphemerisCBI(Scenario/GM/Satellite/MB_3,dt,t_start_3,t_stop_3);2 在复杂航天任务分析中的应用迭代%计算共面时刻相位T_MB_all=T_MB_1,T_MB_2(2:length(T_MB_2),T_MB_3(2:length(T_MB_3)/(24*3600);R_MB_all=r_MB_1,r_MB_2(:,2:length(r_MB_2),r_MB_3(:,2:length(r_MB_3);V_MB_all=v_MB_1,v_MB_2(:,2:length(v_MB_2),v_MB_3(:,2:length(v_MB_3);data_RGD=load(data_pos_RGD.m);%读入入轨点在惯性系中的位置。T_RGD_all=data_RGD(:,1);r_RGD_all=data_RGD(:,2:4);step_window=1/60/24;t_start=0;t_end=92;T=t_start:step_window:t_end;index1=find(T_MB_allt_start&T_MB_allt_start&T_RGD_allt_end);R_RGD=interp1(T_RGD_all(index2),r_RGD_all(index2,1),T),interp1(T_RGD_all(index2),r_RGD_all(index2,2),T),interp1(T_RGD_all(index2),r_RGD_all(index2,3),T);2 在复杂航天任务分析中的应用迭代j=1;for i=1:length(T)AngMomentum_MB=CrossProduct(R_MB(i,:),V_MB(i,:)/norm(CrossProduct(R_MB(i,:),V_MB(i,:);alpha(i)=acos(Dotproduct(R_RGD(i,:)/norm(R_RGD(i,:),AngMomentum_MB)*180/pi;beta(i)=acos(Dotproduct(R_RGD(i,:)/norm(R_RGD(i,:),R_MB(i,:)/norm(R_MB(i,:)*180/pi;if DotProduct(CrossProduct(R_RGD(i,:),R_MB(i,:),AngMomentum_MB)1&alpha(i)90 index(j)=i;T_interp(j)=interp1(alpha(i),alpha(i-1),T(i),T(i-1),90);beta_interp(j)=interp1(T(i),T(i-1),beta(i),beta(i-1),T_interp(j);j=j+1;endend2 在复杂航天任务分析中的应用迭代5)绘制计算结果并关闭连接%迭代收敛后,将迭代结果对应的轨道主要特征绘制出来。set(gcf,color,1,1,1)subplot(2,1,1)hold on;plot(T_interp,beta_interp,k.,T_interp,beta_interp,k);hold on;plot(0 t_end,104,104,r,0 t_end,114,114,g,0 t_end,124,124,r)axis(0,t_end,-180,180)subplot(2,1,2)h=(sqrt(R_MB_all(:,1).2+R_MB_all(:,2).2+R_MB_all(:,3).2)-6378140)/1000;plot(T_MB_all,h,k);hold on;plot(0 t_end,332,332,g,LineWidth,2)axis(0,t_end,300,400)hold on;stkClose(conid)2 在复杂航天任务分析中的应用迭代飞船入轨时刻相位取值范围飞船入轨时刻目标飞行器相位需要的终点轨道高度初始圆轨道高度2 在复杂航天任务分析中的应用循环+嵌套迭代循环循环+嵌套迭代嵌套迭代交会对接对远距离导引精度分析交会对接对远距离导引精度分析入轨第1次变轨(抬高近地点)第2次变轨(修正轨道面)第3次变轨(抬高远地点)第4次变轨(抬高近地点)第5次变轨(组合修正)导引终点目标飞船2 在复杂航天任务分析中的应用循环+嵌套迭代 远距离导引的终端约束为:在给定时刻,飞船与目标飞行器共面,处于比目标飞行器轨道略低的近圆轨道上,且相对目标飞行器相位满足要求。上述约束条件的数学描述即为给定时刻飞船相对于目标飞行器的相对位置和相对速度满足给定要求(标称值及误差范围)。可用于规划的变量即为各次变轨的时刻及变轨速度增量。为减少可变因素并简化工程实施,变轨时刻通常选择在近地点或远地点,变轨速度增量限定为水平方向(轨道面修正除外)。由于各次变轨均会对终点状态产生影响,因此每次变轨规划都是后续剩余变轨规划变量的统一综合规划。2 在复杂航天任务分析中的应用循环+嵌套迭代远距离导引精度分析具体计算过程可分为两个层次的循环或迭代:最外层循环为误差样本空间中循环多次采样进行仿真计算,对于每一次采样,在得到一组各误差源的具体采样误差值后,加到相应环节进行仿真计算,多次采样计算结束后进行统计分析;向内第二层循环为各次变轨控制量的迭代计算,属于多变量规划问题,规划的目标量为远距离导引终点飞船相对于目标飞行器的相对位置和速度状态,规划变量的数量和内容在各次变轨规划时各不相同,第一次变轨前规划时,可用于规划的变量有6个,规划目标6个,可得到唯一解;第二次规划时可用的规划变量有7个,规划目标6个,存在两种规划方案;第三次和第四次规划变量和规划目标均为4个,同样是唯一解;第五次规划变量只有2个,规划目标4个,需要通过加权对规划目标进行取舍。通常情况下为了避免嵌套迭代减少循环层次,采用各规划变量同时规划的方式,但对于第二次规划,由于轨道面内控制与轨道面法向控制不相关,只能先规划轨道面内的控制,再规划轨道面法向控制。2 在复杂航天任务分析中的应用循环+嵌套迭代2 在复杂航天任务分析中的应用循环+嵌套迭代1)初始化并关闭所有打开的窗口同前。2)建立场景和航天器stkNewObj(/,Scenario,LongRangeGuidance);stkSetTimePeriod(10 Apr 2003 00:00:00.0,12 Apr 2003 00:00:00.0,GREGUTC);stkSetEpoch(10 Apr 2003 00:00:00.0,GREGUTC);stkSyncEpoch;rtn=stkConnect(conid,Animate,Scenario/LongRangeGuidance,SetValues 10 Apr 2003 00:00:00.0 60 0.1);rtn=stkConnect(conid,Animate,Scenario/LongRangeGuidance,Reset);stkNewObj(*/,Satellite,sat);注:因远距离导引过程分段过多,不宜每段定义一个航天器,而是采用定义一个航天器进行轨道计算,再将计算结果针对不同分段用不同变量名保存的方式。2 在复杂航天任务分析中的应用循环+嵌套迭代3)设置航天器基本参数u_e=3.986005e+014;a_temp=xx;e_temp=xx;i_temp=xx;w_temp=xx;Raan_temp=xx;M_temp=xx;t_start_temp=0;t_stop_temp=60;orbitEpoch_temp=t_start_temp;dt=60;stkSetPropClassical(*/Satellite/sat,HPOP,J2000,t_start_temp,t_start_temp+dt,dt,orbitEpoch_temp,a_temp,e_temp,i_temp,w_temp,Raan_temp,M_temp);stkConnect(conid,HPOP,Scenario/LongRangeGuidance/Satellite/sat,Drag On 2.2 0.0022 NRLMSISE 2000 Manual 150 150 2.667);stkConnect(conid,HPOP,Scenario/LongRangeGuidance/Satellite/sat,Force Gravity C:Program FilesAGISTKSTKDataCentralBodiesEarthJGM3.grv 8 8);stkConnect(conid,HPOP,Scenario/LongRangeGuidance/Satellite/sat,Force SolarRad Off);stkConnect(conid,HPOP,Scenario/LongRangeGuidance/Satellite/sat,Force ThirdBodyGravity Sun Off);stkConnect(conid,HPOP,Scenario/LongRangeGuidance/Satellite/sat,Force ThirdBodyGravity Moon Off);stkPropagate(*/Satellite/sat,t_start_temp,t_stop_temp);2 在复杂航天任务分析中的应用循环+嵌套迭代4)最外层循环:误差样本空间大样本数采样和结果统计m_max=3000;for mm=1:m_max Trajectory_Strategy_1 Traject
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:STK与Matlab的接口及其在复杂航天任务仿真分析中的应用课件
链接地址:https://www.zhuangpeitu.com/article/214774309.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!