MATLAB与STK互联31:卫星对象操作(15)—Astrogator的属性与设置

对于卫星对象,还有一个比较重要的功能设置没有讲,就是Astrogator。如果要进行轨道机动、再入等操作,多需要用到这个模块。这个模块的功能很强大,使用也很灵活,如果全面掌握需要较多的探索与练习。这里我只是抛砖引玉,希望大家能够把使用过的一些用法拿出来与大家一起交流,一起进步。闲言少絮,上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘Astrogator’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);

%通过下面的语句,就将卫星轨道生成器类型定义为了Astrogator类型
sat.SetPropagatorType(‘ePropagatorAstrogator’);
此时,卫星对象的轨道属性页如下图所示:
在这里插入图片描述
会默认给出三个模块即Initial State、Propagate、序列结束。
用下面语句即可查看有几个模块,及每个模块的名称。
sat.Propagator.MainSequence.Count
sat.Propagator.MainSequence.Item(0).Name
sat.Propagator.MainSequence.Item(1).Name
sat.Propagator.MainSequence.Item(2).Name

(一)先看一下Initial State相关的属性
在这里插入图片描述
(1)卫星质量等参数修改
在这里插入图片描述
执行以下语句,即可修改卫星干重
sat.Propagator.MainSequence.Item(0).InitialState.DryMass =1000;
其他参数修改与之类似,这里不给出示例了。

(2)轨道根数(轨道参数)修改
这里常用来修改的属性是Coordinate Type,默认是笛卡尔坐标系形式,我一般会改为六根数的形式。语句如下:
sat.Propagator.MainSequence.Item(0).SetElementType(‘eVAElementTypeKeplerian’)
%这里还需要有下一个语句,才算设置成功。目前原因,我还在摸索中,为了程序运行顺畅,还要有以下语句。
sat.Propagator.MainSequence.Item(0).InitialState.SetElementType(‘eVAElementTypeKeplerian’)
利用sat.Propagator.MainSequence.Item(0).InitialState.Element.get可以查看相关的参数。
利用如下语句可以修改对映的参数
在这里插入图片描述
sat.Propagator.MainSequence.Item(0).InitialState.Element. SemiMajorAxis = 7380;
其他参数修改与之类似。
(二)看一下Propagate模块的相关设置
执行sat.Propagator.MainSequence.Item(1).get
在这里插入图片描述
Propagate模块需要设置结束条件,这里一般会比较使用的属性是:StoppingConditions
继续查看相关属性
sat.Propagator.MainSequence.Item(1).StoppingConditions.Item(0).get
在这里插入图片描述
sat.Propagator.MainSequence.Item(1).StoppingConditions.Item(0).Properties.get
在这里插入图片描述
修改Trip值,现在修改为运行3600s。
sat.Propagator.MainSequence.Item(1).StoppingConditions.Item(0).Properties.Trip = 3600;

执行以下语句,即运行了Astrogator序列。
sat.Propagator.RunMCS

下面简单的总结一下,本篇博文,我们只是看了一些相关属性,相对来说比较简单。
(1)初始轨道参数设置
(2)Propagate停止条件的设置,这里只设置运行时间。后续会尝试其他的停止条件

### 实现STKMATLAB互联进行星座仿真的方法 为了实现STK (Satellite Tool Kit)MATLAB 之间的互联并执行星座仿真,可以利用 STK 提供的多种接口和工具箱。具体来说,通过使用 `stkConnect` 函数可以直接从 MATLAB 脚本调用 STK 功能[^3]。 #### 创建连接 首先,在 MATLAB 中建立到 STK 的连接: ```matlab conid = stkOpen(stkDefaultHost); ``` 这条命令会返回一个连接 ID (`conid`) ,这是后续操作的基础。 #### 新建场景 接着,创建一个新的 STK 场景以便放置卫星和其他对象: ```matlab stkConnect(conid,'New','/','Scenario MyScenario'); ``` 这一步骤初始化了一个名为 "MyScenario" 的新场景,准备接受进一步配置。 #### 添加卫星及其轨道参数 对于星座设计而言,通常需要定义多个卫星的位置信息。可以通过导入外部星历表文件 (*.e),这些文件支持自定义的时间格式关键字,增强了灵活性[^2]: ```matlab % 假设有一个 e 文件位于指定路径下 satFilePath = 'path/to/satellite.e'; stkConnect(conid, 'Load', '/Scenario/MyScenario/Satellite/Sat1', satFilePath); ``` #### 配置分析模块 一旦所有必要的实体被加入到场景中,则可以根据需求设置不同的分析选项,比如覆盖区计算、可见性评估等。这里展示如何启用 Astrogator 插件来进行更复杂的轨道动力学模拟: ```matlab stkConnect(conid, 'SetCurrentCommandModule', 'Astrogator'); % 更多特定于 Astrogator 的设定... ``` #### 数据交换可视化 最后但同样重要的是,确保能够方便地在两个平台间传递数据,并且能够在两者之间无缝切换查看结果。得益于最新的集成改进措施,现在不仅可以在 Windows 11 上顺利运行整个流程,而且还可以借助内置的支持 Chromium 浏览器组件来增强 HTML 页面渲染能力,使得交互更加直观友好。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值