所用版本为STK10。
STK是Satellite Tool Kit的简称,即卫星工具包。
STK提供分析引擎用于计算数据、并可显示多种形式的二维地图,显示卫星和其它对象如运载火箭、导弹、飞机、地面车辆、目标等。STK的核心能力是产生位置和姿态数据、获取时间、遥感器覆盖分析。STK专业版扩展了STK的基本分析能力,包括附加的轨道预报算法、姿态定义、坐标类型和坐标系统、遥感器类型、高级的约束条件定义,以及卫星、城市、地面站和恒星数据库。对于特定的分析任务,STK提供了附加分析模块,可以解决通信分析、雷达分析、覆盖分析、轨道机动、精确定轨、实时操作等问题。另外,STK还有三维可视化模块,为STK和其它附加模块提供领先的三维显示环境。
STK场景包括二维和三维场景,三维场景是行星模型,默认是地球,也可以调整为太阳系的其他行星。
打开STK看到如下界面
点击Create a Scenario开始创建场景,出现以下对话框:
含义如下:
Name: 场景名称。
Description:场景描述,如有需要,一般简要描述场景的包含的内容和用途。
Location:场景保存位置。
时间选择框:设定场景的时区。
设置完成后确定显示以下界面:
左边的是3D视图,右边的是2D视图。默认是一个3D视图和一个2D视图,想要更多的视图可以用菜单栏View下的New 2D Graphics Window和New 3D Graphics Window添加。
(1)界面管理
窗口中的所有组件都在菜单栏的View中进行界面管理:
在菜单栏空白处右键点击也可弹出此对话框。
(2)默认工具栏,数据报告生成工具栏,STK工具栏
打开/关闭:
快速新建场景,保存,打开欢迎对话框等功能。
(2)2D 视图工具栏
打开2D视图工具栏的方法有两种,第一种是:
勾选2D Graphics即可开启。
第二种是在视图区空白处右键弹出的对话框中勾选。
(4)3D飞机模型编辑工具
打开/关闭:
管理3D视图:
打开方式和2D视图的方式一样的,不过勾选的是3D Graphics 。
显示仿真时间。打开新的仿真时间轴:
点击TimeLineView创建 。关闭仿真时间轴点击右上角的关闭按钮即可。
具有:开启,暂停,回放,切换模式等仿真功能。打开/关闭:
左键按住工具栏左边的三个点可以拖动工具栏,调整工具栏分布:
个人觉得最方便的排布:
在开始菜单中打开模型查看工具
如果使用默认安装的话,模型保存在C:\Program Files (x86)\AGI\STK 10\STKData\VO\Models
中:
Air:航空器模型
Land:陆地模型
Missile:导弹模型
Sea:海洋和舰船模型
Space:空间飞行器模型
文件中.mdl结尾的就是STK使用的模型,里面还有gif或者png预览截图。使用模型查看器打开其中一个模型,例如B52轰炸机:
点击Edit下的articulations可以查看模型的组成部分:
可以看到B52轰炸机里包含MK82低阻航弹等。
使用STK插入飞机模型分为设置飞机的三维模型文件和飞行路径,二者缺一不可,否则模型不会显示。使用STK菜单栏的Insert按钮插入模型:
选择这个方式可以直接打开模型属性编辑对话框,或者也可以右键单击模型,在弹出菜单中点击Properties按钮打开模型属性编辑对话框:
这样先创建一个默认模型然后再设置属性。 此时插入的飞机模型是默认模型,并不会在视图中显示,还需要设置三维模型文件和飞行轨迹才会显示。
在属性对话框中的3D Graphics菜单下的Model一栏中设置三维模型文件,这里设置为B52模型:
在属性窗口中的Basic菜单下的Route一栏设置飞行轨迹:
注意:至少设置两个轨迹点才能在视图上显示模型。设置完成后可以看到2D视图上已经显示我们的飞行器位置了:
在对象浏览器中右键单击飞机模型,在弹出的对话框中点击Zoom To即可调整3D视图,显示已经添加的飞机模型:
在模型属性窗口2D Graphics菜单 下的Attributes一栏下的Marker Style中设置飞机模型在2D视图中的标记样式:
设置前:
设置后:
在模型属性窗口中的3D Graphics菜单中的Model一栏下的Marker区域设置标记样式:
标记可以设置成符号或者是图片
例如上图中的设置在10km的视图距离范围内显示全部模型,在600000km的距离上显示一个点。
飞机的位置通过指定轨迹点的经纬度来设置。在模型属性窗口Basic菜单下Route中设置轨迹点经纬度:
比如原来飞机的起始位置是0纬度0经度,此时飞机处于黑夜环境中:
将第一个飞行轨迹点改为东经103度北纬45度:
除了设定经纬度,还可以设定飞机在这个轨迹点处的飞行高度,速度,加速度,到达的时刻和转弯半径。点击Animation工具条中的start按钮,将会看到飞机依次飞过这些轨迹点。
STK中内置了四种矢量指向定位方法:
高低角和方位角所用坐标系为球坐标系。矢量在xoy平面上的投影与x轴所成角度为方位角,矢量与xoy平面所成角度为高低角。
欧拉角是坐标系旋转时,绕原坐标系z轴转动的角度α,绕原坐标系z 轴转动角度β和绕原坐标系x轴转动角度γ。STK坐标旋转变换顺序定义:
例如按照121顺序旋转传感器指向:
sensor1.CommonTasks.SetPointingFixedEuler('e121',30,30,30);
四元数是简单的超复数,就是复数的复数,关于四元数的更多资料参阅:
Understanding Quaternions 中文翻译《理解四元数》 – Wyman的原创技术博客 – 恭喜你发现我的小站,撩我请加QQ:234707482、Wechat:_Wyman
图片来自:欧拉中的俯仰、横滚、偏航角_guyubit的博客-CSDN博客。STK的姿态角定位顺序有:
例如设定传感器指向姿态角为:俯仰-30,滚转60,偏航0:
sensor1.CommonTasks.SetPointingFixedYPR('ePRY',0.,-30,60)
简单来说,STK有三个时间区间:
在仿真工具条上、3D视图左下角或者TimeLine窗口最左侧都可以看见当前动画时间:
动画时间区间用于确定2D和3D视图开始刷新和结束刷新的时间区间。动画时间区间的起点是可调的,只要拖动Timeview的滑块或者在动画工具条上直接输入。打开场景属性窗口,选中Time一栏,可以看见动画时间区间的起始和终止设置:
打开场景属性窗口,选中Time,可以查看当前的分析时间区间:
如图所示的分析时间区间是2021年9月30日12:00到2021年10月4日12:00。
分析时间区间的作用是定义仿真数据生成和结束的时间区间。
模型时间区间是隐含的,模型的每个路径点都对应一个时刻,并且新的路径点时刻必须比之前的路径点时刻之后,因此模型时间区间的起始点就是第一个路径点对应的时刻,终止点就是最后一个路径点对应的时刻。因此模型时间区间定义了模型在视图中出现的时间段。只有当前动画时间处于模型时间区间内,模型才会出现在视图中。
三个时间区间之间没有包含和被包含的关系,不过通常三者的起始时刻被设置为对齐,因为这样可以在动画一开始的时候就在视图中观察到模型及其轨迹变化。