1.创建场景

%1.打开一个STK应用实例,如果版本是STKX,则改为uiapp = actxserver('STKX.application');
uiapp = actxserver('STK10.application');
%获取STK用户界面
root = uiapp.Personality2;
%显示界面
uiapp.visible = 1;%2.创建一个新场景,名为aircraf_simulation
root.NewScenario('aircraf_simulation');
%设置时间日期格式为UTCG
root.UnitPreferences.Item('DateFormat').SetCurrentUnit('UTCG');
%设置距离单位为km
root.UnitPreferences.Item('Distance').SetCurrentUnit('km');%3.设定分析时间区间为今天到明天
%设定时间戳精度
format longG
%将时间戳转换成日期字符串
startTimeStr=datestr(now);
endTimeStr=datestr(now+3600*24/1e5);
%设定分析时间区间
root.CurrentScenario.SetTimePeriod(startTimeStr,endTimeStr);
%重置场景将动画时间区间和分析时间区间起点对齐
root.Rewind;%4.设置动画时间步长
%设置动画时间更新方法为固定步长
root.CurrentScenario.Animation.set('AnimStepType','eScTimeStep');
%设置动画时间步长为1s
root.CurrentScenario.Animation.AnimStepValue=1;%5.创建飞机
aircraft = root.CurrentScenario.Children.New('eAircraft', 'MyAircraft');
%选择飞机三维模型
aircraft.VO.Model.ModelData.set('Filename','STKData\VO\Models\Air\b-52_stratofortress.mdl');%6.飞机路径设置
%设置飞机的路径预报模型为实时仿真预报模型
aircraft.SetRouteType('ePropagatorRealtime');
duration=aircraft.Route.Duration();
% 设置下一次和上一次更新纬度的时间间隔
duration.LookAhead = 1.0;
duration.LookBehind = 1.0;
%刷新路径设置
aircraft.Route.Propagate;
%获取飞机路径点构建对象
AircraftRoutePointBuilder = aircraft.Route.PointBuilder; 

2.实时路径点参考坐标系

STK Programming Interface Help中搜索IAgVeRealtimePointBuilder,打开文档可以看到实时路径点有以下几种类型:

2.1 AGL_LLA、LLA和MSL_LLA

AGL_LLA、LLA和MSL_LLA参考的是地心大地坐标系。地心大地坐标系定义为地球椭球的中心与地球质心(质量中心)重合,椭球的短轴与地球自转轴重合。地心大地经度L,是过地面点的椭球子午面与格林尼治天文台子午面的夹角;地心大地纬度B,是过点的椭球法线(与参考椭球面正交的直线)和椭球赤道面的夹角;大地高H,是地面点沿椭球法线到地球椭球面的距离。

打开AGL_LLALLAAdd方法文档可以看到:

Add方法的参数是时间、经纬高和经纬高变化率,所以AGL_LLA和LLA使用经纬高和经纬高变化率表示飞机某个时刻的位置和速度。AGL_LLA的高度是飞机到下方地面的高度,考虑了地形,LLA是从地球表面测量高度,MSL_LLA从平均海平面测量高度

适用范围

只关注飞机的地理位置和高度变化,即飞机在地球表面航迹变化,不关心飞机在某个位置的姿态和实际速度。适用于在地球表面标注每个航空器的实时地理位置。

2.2 B1950和ECI

B1950轨迹点参考的是B1950坐标系,ECI参考坐标系是J2000坐标系,J2000是B1950的替代者,二者定义类似,只是参考的地球年历不同J2000原点在地球质心,xy平面为J2000时刻的地球平赤道面,x轴指向J2000时刻的平春分点(J2000时刻平赤道面与平黄道面的一个交点)。此坐标系常被作为地球卫星的惯性坐标系,卫星运动积分等都在此坐标系计算。这两种方法主要用在航天上,这里不做深入介绍。

2.3 ECF

ECF轨迹点参考的是地心地固坐标系(ECEF,也称地心坐标系),其原点 O (0,0,0)为地球质心,z 轴与地轴平行指向北极点,x 轴指向本初子午线与赤道的交点,y 轴垂直于xOz平面(即东经90度与赤道的交点)构成右手坐标系。

 图来自:地心地固坐标系图片_百度百科

打开ECF类型轨迹点的文档可以看到:

ECF类型使用飞机在地心地固坐标系中的xyz坐标表示其位置,用三个坐标系轴方向上的分速度表示飞机在这个位置速度。

2.4 LLAHPS

打开LLAHPS文档看到参数为时间经纬高、速度方位角(Heading,从子午线正北切线计算)和高低角(Pitch)以及速度(距离/时间)。

2.5 UTM

UTMUniversal Transverse Mercator Grid System,通用横墨卡托格网系统)坐标是一种平面直角坐标,这种坐标格网系统及其所依据的投影已经广泛用于地形图,作为卫星影像和自然资源数据库的参考格网以及要求精确定位的其他应用。参见: UTM坐标系简述 - 知乎 。

图片来源:UTM坐标系简述 - 知乎

3.实时路径点参考坐标系

3.1 选定坐标系

考虑到飞机主要在地球表面1-20km的高度范围内活动,此外实时仿真时希望能观察到飞机在某个时刻的高低角和方位角,则可以选择的有LLAHPSECF两个坐标系。

        LLAHPS采用经纬高表示位置,参考系是大地坐标系;ECF使用飞机在地心地固坐标系下的坐标表示位置。1纬度大约对应111km地球表面距离,北纬60°1经度大约对应55km地球表面距离,实时仿真的时候,如果步长很小的话,每个步长间飞机飞行的距离很小,导致每个步长间的经纬度变化非常小,使用LLAHPS表示位置变化比较困难,因此应该采用ECF法

3.2 坐标系转换

采用ECF时,飞机的方位角和高低角由合成速度矢量指定,调整三个轴上的分速度大小,可以同时调整飞机的高低角和方位角。

(1)地面系Axyz

高低角和方位角是相对于地面系来说,地面系Axyz是与地球表面固连的坐标系,其的定义是:坐标系原点选取为航空器的起飞点,Ax轴指向降落点,Ay轴铅锤向上,Az由右手定则确定。地面系相对于地球静止,随地球自转而旋转,因此地面系是个动系。地面系用于描述飞机相对于地面的运动方程。

(2)地面惯性坐标系

地面惯性坐标系在飞行器起飞时和地面系重合,不同的是地面惯性坐标系的原点和坐标轴在惯性空间中保持不动。利用地面惯性坐标系可以建立火箭在惯性空间的运动方程。

(3)地心大地坐标系

地心大地坐标系原点在地心。地心大地经度L,是过地面点的椭球子午面与格林尼治天文台子午面的夹角;地心大地纬度B,是过点的椭球法线(与参考椭球面正交的直线)和椭球赤道面的夹角;大地高H,是地面点沿椭球法线到地球椭球面的距离。

(4)地面系Axyz与地心地固坐标系之间的方向余弦阵

若设地球为一圆球,飞机起始点O在地球表面的位置可用经度地心纬度表示,Ox轴指向飞行方向,该轴与过O点的经线正北切线的夹角称为地心方位角。转换时,先绕地心地固坐标系Z轴反转90°-,得到新坐标系;然后绕新坐标系X轴正转,得到第二个新坐标系;再绕新坐标系的Y轴反转90°+,就可以使地面系和地心地固坐标系各轴平行。三个欧拉角为90°- 90°+ ,则方向余弦阵为

​​​​​​​        

其中

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

如果考虑地球为椭球,则地面系Ox轴与 过O点的经线正北切线的夹角称为射击方位角, 此时O点纬度为地理纬度,则只需将变换阵中的 分别用代替即可。

经过方向余弦阵变换只是使坐标轴平行,实际上两个坐标系的原点不重合,因此还要做平移变换才能将一个坐标系下的坐标转换为另一坐标系下的坐标,在这里,因为STK使用地心地固坐标系作为飞行器位置参考系,所以要将地面系坐标转换为地心地固系坐标。设从地心地固系原点指向地面系原点的向量

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

则地面系中的一个点

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​    

则在地心地固坐标系中的坐标为

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​

(4)地心大地坐标系转地心地固坐标系

设地心大地坐标为,即经纬高,其在地心地固坐标系直角坐标系中的坐标

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

N是基准椭球卯酉圆曲率半径,e为椭球偏心率,它们与地球基准椭球长、短半径关系为:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

地球基准椭球的极扁率定义为

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

根据这个表达式可以推导出地球短半径,一般取6356752.3142m。一般采用WGS-84的基准大地参数代入计算以上参数:

STK航空仿真(五):坐标系相关推荐

  1. STK 航空仿真(二)STK MATLAB自动化(1)自动化目的和方法简介

    1.STK自动化的目的 STK自动化是指使用其他软件或者程序语言,直接操作STK对象和UI界面.之所以需要STK自动化,是因为直接使用STK UI界面进行仿真存在以下困境: (1)通常情况下,STK航 ...

  2. STK 航空仿真(二)STK MATLAB自动化(2)场景和飞机模型基础设置

    1. 场景设置 1.1 显示STK窗口界面 %打开一个STK应用实例 uiapp = actxserver('STK10.application'); %获取STK用户界面 root = uiapp. ...

  3. STK 航空仿真(三)雷达

    1.添加雷达到飞机 首先打开MATLAB,运行下面的MATLAB脚本添加场景和飞机: %打开一个STK应用实例 uiapp = actxserver('STK10.application'); %获取 ...

  4. osgearth 仿真平台之卫星仿真(实现STK卫星仿真基本功能)

    卫星工具软件 STK(Satellite Tool Kit,STK)是航天领域中先进的系统分析软件,由美国分析图形有限公司(Analytical Graphics Inc,AGI)研制,用于分析复杂的 ...

  5. 自动驾驶仿真(五)—— 基于Carsim、Prescan、Simulink的联合仿真

    自动驾驶仿真五--基于Carsim.Prescan.Simulink的联合仿真 1. 联合仿真流程 2. CarSim联合仿真配置要点 3. Prescan联合仿真配置要点 4. Carsim.Pre ...

  6. MATLAB与STK互联45:STK软件仿真视频录制

    应用STK进行任务仿真,除了计算数据之外,还有一个重要功能,就是场景展示,虽然STK效果比不专业的动画软件.这就涉及到,视频录制的问题了. STK软件自带了视频录制功能,2D.3D都可以录制.这里以3 ...

  7. STK中的VVLH坐标系及方位角、高度角

    STK中,附着在卫星上的有许多坐标系,例如:VNC.LVLH.VVLH等.以及在定义某矢量方向时,需要使用方位角.高度角的概念. VVLH坐标系和方位角(Az).高度角(El)的示意见下图. VVLH ...

  8. 大型SAR卫星星座设计——Python STK联合仿真

    这次来通过STK实际设计一个SAR卫星星座并计算我们所关注的星座参数. 1.STK与python 的交互--STK Python API 本文将通过STK 自己的 API 来进行与python的交互. ...

  9. stk 坐标系_STK学习-坐标系

    第一次写知乎文章,主要目的是为了记录工作学习中遇到的问题和解决过程,如果能帮到大家也是好的,希望大家多多指正. -------------正文----------------- 今天使用STK时,遇到 ...

  10. [ STK ](一)仿真实验,快速创建 Walker 星座

    新建场景 添加项目名称 :conn 添加项目描述:STK 仿真实验 插入卫星 设置卫星参数 设置卫星名称:LEO 选择卫星轨道:Circular 设置轨道倾角:60度 轨道高度:1400 km 借助W ...

最新文章

  1. 从原理来看Silverlight 4的架构
  2. 运筹学两阶段法编程c语言,运筹学上机实验 - 单纯形方法的两阶段法
  3. 雅客EXCEL(2)-数据、文本格式
  4. 月份对比_6月份钢坯市场或将高位回落
  5. 使用html元素的getBoundingClientRect来获取dom元素的时时位置和大小
  6. IOS设备唯一标示符的方案比较
  7. Android 系统使用USB OTG功能/打开USB Host API功能
  8. linux命令 翻译,(翻译)Linux命令行(一)
  9. 【转载保存】IDEA maven中添加本地jar包
  10. html登录界面设计代码_最简洁实现Github登录的JS代码示例
  11. mui中子页面标志html,MUI 图标筛选切换(父页面传值子页面)代码
  12. Linux安装java(jdk8)
  13. 计算机二级公共基础知识(四)—— 数据库设计基础
  14. 十大开源安全测试工具
  15. 心知天气天气状况获取,ESP32获取天气信息(含源码)
  16. UVM--单向通信、双向通信、多向通信和通信管道
  17. 一周XX思考(第12期)
  18. 基于ROS设计一款机械臂控制系统 [转发]
  19. 【音频特征】语音特征小结
  20. 论文写作——如何作图(visio/ppt+Adobe Acrobat Pro)

热门文章

  1. 三分钟零代码实现CAD网页Web快速看图和高科技效果展示
  2. 畅捷通(chanjet)T1各版本
  3. 万能批处理工具包最终版
  4. 蓝桥杯历年省赛真题汇总及题目详解
  5. 魅族 android版本升级,魅族系统更新APP
  6. Android6.0之AMS启动App下篇
  7. AMS分析 -- 启动过程
  8. Java面试题(全)
  9. 这五大基础原理,总是牛逼的无话可说
  10. 最新,87本SCI/SSCI期刊被剔除,这5本TOP刊也在内?