对于卫星对象,还有一个比较重要的功能设置没有讲,就是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停止条件的设置,这里只设置运行时间。后续会尝试其他的停止条件
|
请发表评论