STK/Matlab互联与应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

STK与Matlab的互联与应用北京天问空间科技有限公司二〇一四年四月什么是互联?前言通过STK的连接模块,实现STK与第三方应用程序(Matlab、VC、VB、Java、HTML等)的交互。为什么介绍与Matlab的互联?简单;够用为什么要互联?单独一方干不成或难度大,通过互联可充分发挥STK与第三方应用程序各自的优势。轨道计算功能丰富、可靠。STK强项STK自身无法通过编程实现对某些复杂航天任务的仿真分析。例如:循环计算、复杂的嵌套迭代、复杂的收敛判据…STK弱项使用便捷、能编程实现复杂逻辑。Matlab强项没有天生的轨道计算能力。Matlab弱项STK与Matlab互联——两个强大成熟商业软件的强强联合前言有些事情作不了单STK轨道计算成本太高单Matlab站在两个巨人肩膀上联合注意:“站在两个巨人肩膀上”本身也很复杂,所以除非确有必要,否则就是杀鸡用牛刀,简单问题复杂化。前言本课程的主要内容一、互联的设置与运行二、常用语句及语法简介三、具体应用实例前言一、互联的设置与运行一、互联的设置与运行1、STK8.0和Matlab6.5互联的设置1)先安装Matlab后安装STK的情况-将STK安装目录下ToolboxLocal文件夹中的“agiCleanPath.m”、“agiInit.m”和“stkInit.m”复制到Matlab安装目录下的local文件夹中。-之后步骤与1)相同-启动STK和Matlab-在Matlab中运行stkinit-选择M文件位置(安装目录下的“Matlab”文件夹)-选择Mex文件位置(安装目录下的“bin”文件夹)-其他设置采用默认值(询问是否更改默认值时,选择“no”)2)先安装STK后安装Matlab的情况参考《STK在计算机仿真中的应用》、《STK在航天任务仿真分析中的应用》2、STK10和Matlab2011互联的设置2)安装MatlabConnector-将STK安装目录\bin\Matlab文件夹中的agiCleanPath.m、agiInit.m和stkInit.m复制到Matlab安装目录\toolbox\local文件夹中。1)如果先安装STK后安装Matlab3)运行RefreshMatlabPath-选择32位MatlabSTK文件夹。4)启动Matlab和STK-在Matlab中将当前目录更改到“Matlab安装目录\toolbox\local”下一、互联的设置与运行3、互联的运行1)Matlab主动方式参考《STK在计算机仿真中的应用》、《STK在航天任务仿真分析中的应用》-启动STK-通过菜单栏进入“ToolsOptions”选项,选中“Matlab”选项卡,单击其中的“Connect”按钮。-启动STK和Matlab-在Matlab中运行stkinit2)Matlab被动方式一、互联的设置与运行二、常用语句及语法简介分类接口函数说明STKServerCommands(STK服务器命令)stkDefaultConID返回缺省的连接ID号stkDefaultHost返回缺省的主服务器stkSetDefaultHost设置与STK的远程连接ApplicationCommands(应用命令)stkAutoSave自动保存stkHomeDir返回STK安装目录stkCurrentDir返回当前目录stkSetCurrentDir设置当前目录stkObjNames返回STK对象名称stkTimerStart启动计时器stkTimer计时器时间GenericObjectCommands(普通对象命令)stkCentralBody返回坐标系中心体stkLoadObj导入对象stkSaveObj保存对象stkNewObj新建对象stkUnload卸载对象stkUnloadChildren卸载所有子对象stkRename重命名对象stkTimePeriod返回场景起止时间stkTimePeriodInSec返回场景起止时间,以秒为单位stkValidObj返回是否存在有效对象stkDescrip获取对象的描述stkSetDescrip设置对象的描述ScenarioCommands(场景命令)stkAnimTime返回当前STK动画时间stkEpoch返回STK场景历元stkSetEpoch设置STK场景历元stkSetEpochInSec改变STK场景历元,以秒为单位stkSyncEpoch同步aeroToolbox和STK场景历元stkConvertDate转换日期格式stkSetTimePeriod设置场景起止时间stkSetTimePeriodInSec设置场景起止时间,以秒为单位stkScenFilePath返回STK场景文件目录stkValidScen返回是否存在有效场景BasicVehicleData(基本飞行器数据)stkTimePeriod返回航天器或场景起止时间stkTimePeriodInSec返回航天器或场景起止时间,以秒为单位stkSetTimePeriod设置航天器或场景起止时间SatellitePropagators(卫星属性)stkSetPropCart设置笛卡尔坐标形式的卫星运动参数stkSetPropClassical设置经典轨道根数形式的卫星运动参数stkSetPropEqui设置第二类无奇点根数形式的卫星运动参数stkSetPropSGP4设置SGP4形式的卫星运动参数stkPropagate卫星轨道积分计算VehiclePositionandVelocity(飞行器的位置速度)stkPosVelCBF获取中心体固连坐标系下的位置速度stkPosVelCBI获取惯性坐标系下的位置速度stkEphemerisCBF获取中心体固连坐标系下的星历stkEphemerisCBI获取惯性坐标系下的星历stkSetEphemerisCBF设置中心体固连坐标系下的星历stkSetEphemerisCBI设置惯性坐标系下的星历stkLoadEphemeris从文件中载入星历stkSaveEphemerisCBF保存中心体固连坐标系下的星历stkSaveEphemerisCBI保存惯性坐标系下的星历stkSaveDynState将工作空间中所有数据保存成.mat文件stkDynState产生动力学状态数据VehicleAttitude(飞行器姿态)stkAttitudeCBF获取中心体固连坐标系中的姿态四元数stkAttitudeCBI获取惯性坐标系中姿态四元数stkSetAttitudeCBF设置中心体固连坐标系中的姿态四元数stkSetAttitudeCBI设置惯性坐标系中姿态四元数stkLoadAttitude从文件中载入姿态数据stkSaveAttitudeCBF保存中心体固连坐标系中的姿态stkSaveAttitudeCBI保存惯性坐标系中姿态BasicVehicleAttitudeTypes(飞行器基本姿态类型)stkSetAttBasic设置基本姿态类型stkSetAttSpinSun设置自旋轴指向太阳stkSetAttSpinNadir设置自旋轴指向天底stkSetAttYawNadir设置偏航轴指向天底stkSetAttSpinning设置自旋轴为给定方向stkSetAttFixed设置惯性系中姿态stkAttOffset设置姿态偏移量Aircraft,GroundVehicleandShipPropagators(飞机,车辆与船舰属性)stkSetWaypoints设置路径点stkLoadWaypoints载入路径点文件stkSetGreatArcStart设置起始时间MissilePropagators(导弹运动积分)stkSetPropBallistic设置弹道导弹积分参数FacilitiesandTargets(设施与目标)stkPosVelCBF返回中心体固连坐标系中的位置stkSetFacPosCBF设置中心体固连坐标系中设施的位置stkSetFacPosLLA设置设施的经度、纬度、高度AreaTargets(面目标)stkGetBoundary设置面目标边界STKTools(STK工具)stkAccess返回过境时间段stkReport生成目标报告stkAccReport生成过境报告stkFindData从报告中提取数据ConnectCommands(连接指令)stkOpen打开STK连接stkClose关闭STK连接stkExec向STK发送指令stkConnect向STK发送指令的便捷方式二、常用语句及语法简介1、接口函数STK提供超过200个Matlab格式化过封装好的命令。2、航天应用常用接口函数的使用1)初始化需要的接口函数stkInit——完成STK和Matlab的互联conid=stkOpen(stkDefaultHost);——返回互联成功的主机端口的连接句柄2)初始窗口管理ifstkValidScen==1stkUnload('/*')end——如果已经有打开的场景,则关闭场景。二、常用语句及语法简介3)建立场景stkNewObj('/','Scenario','场景名称');——建立给定名称的场景。stkSetTimePeriod('10Apr200300:00:00.0','12Apr200300:00:00.0','GREGUTC');——设置场景的起止时间和采用的时间系统。stkSetEpoch('10Apr200300:00:00.0','GREGUTC');——设置场景的历元。stkSyncEpoch;——同步aeroToolbox和STK场景历元。rtn=stkConnect(conid,'Animate','Scenario/场景名称','SetValues10Apr200300:00:00.0600.1');——设置STK场景动画历元。rtn=stkConnect(conid,‘Animate’,‘Scenario/场景名称’,‘Reset’);——设置动画时间复位。二、常用语句及语法简介4)建立航天器stkNewObj('*/','Satellite','航天器名称');——建立卫星。stkSetPropClassical('objPath','propagator','coordSystem',tStart,tStop,dt,orbitEpoch,semimajorAxis,eccentricity,inclination,argOfPerigee,RAAN,meanAnomaly,coordEpoch)二、常用语句及语法简介•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–轨道历元。•semimajorAxis,eccentricity,inclination,argOfPerigee,RAAN,meanAnomaly–6个轨道根数。其中,若坐标系选为‘AlignmentAtEpoch’,RAAN为升交点地理经度,若坐标系选为‘J2000’,RAAN为升交点赤经。•coordEpoch–坐标历元,所有'...OfEpoch'选项均需提供对应的坐标历元。二、常用语句及语法简介若动力学模型选为“HP

1 / 104
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功