MATLAB与STK互联37:STK Target Sequence操作示例2-卫星霍曼变轨(纯手动操作,与互联设置比较)

第37篇博文,给出了Target Sequence手动设置的一个示例,本篇继续讲一个手动操作的示例—霍曼转移。所不同的是,这里我们要与互联的步骤进行对照,能更清晰的看一下互联操作时的参数设置。
利用Target Sequence完成优化,其实可分为三步,选择控制参数、添加目标参数、profiles中再选中各参数并给目标参数赋值。下面将针对这三步进行说明。
示例2:卫星初始轨道参数:高度800km、倾角60°、圆轨道,在该轨道运行2个周期;然后要求经过霍曼变轨变为500km、倾角60°的圆轨道,然后在该轨道运行1个轨道周期;再次进行轨道调整,最终的轨道参数为:300km×1000km、倾角60°的圆轨道。
将仿真任务,分解为如下记过过程:
1、设置轨道高度800km、倾角60°、圆轨道,选择Initial State段
2、运行2个轨道周期,选用Propagate段,设置停止条件为Arguement Latitude,设置如下:

在这里插入图片描述
3、霍曼变轨,800km→500km圆轨道。根据霍曼变轨,需首先使用一个Maneuver段,使轨道变为800km×500km,然后利用Propagate段运行到近地点(500km)处,再利用Maneuver段进行减速,圆化为500km轨道。这里有两个控制参数,即2个Maneuver段的速度值。当前Astrogator的段序列如下:
在这里插入图片描述
为简化分析,这里选择Impulsive类型的推力器、且方向与卫星速度方向相反。
下面利用MATLAB代码查看相关设置情况:
uiap = actxGetRunningServer(‘STK11.application’);
root = uiap.Personality2;
sc = root.CurrentScenario();
sat = root.GetObjectFromPath(’*/Satellite/Satellite1’);
satMS = sat.Propagator.MainSequence;
mytars = satMS.Item(‘Target Sequence’);
myman1 = mytars.Segments.Item(‘dv1’);
%通过以下语句查看,变量delta-v Magnitude是否被设置了控制参数(待优化参数),如果返回值为1,则说明该变量是控制参数。
myman1.IsControlParameterEnabled(‘eVAControlManeuverImpulsiveSphericalMag’);

下面添加目标变量(Results),即段执行完后要达到的目标参数。比如,轨道高度由800km变为500km,这里的轨道高度即为目标变量。需要添加到Results中。
在这里插入图片描述
通过以下语句可以查看,toperiapsis段的目标变量。
mypro1 = mytars.Segments.Item(‘toperiapsis’);
mypro1.Results.Item(0).get
可以按照以上的分析方法,然后把整个过程分解为若干段,然后设置控制变量、目标变量。最终还需要选择控制变量、目标变量,如下图所示:
在这里插入图片描述
当单击选中Target Sequence后,设置Profiles,则会出现上图中的结果,各变量都没有选中,且目标变量均未赋值。该示例的控制变量均为Maneuver段的速度增量值,目标变量是轨道高度、偏心率等。
选中以上各参数,然后对目标变量进行赋值。然后运行MainSequence,即可获得优化结果。
通过以下代码可获取Profiles的设置:
如下语句可以查看控制参数(优化参数)的信息:
mytars.Profiles.Item(‘Differential Corrector’).ControlParameters.Item(0).get
在这里插入图片描述
通过以下语句可以查看,目标参数的信息。
mytars.Profiles.Item(‘Differential Corrector’).Results.Item(0).get
在这里插入图片描述
以上信息,可以进行修改,这里就不演示了。再之前介绍交互实现霍曼变轨的博文中,要添加控制变量、目标变量,这里就会涉及到变量的名称。如果不知道变量名称,就可以根据上面的步骤先查看到名称,记下来命名规则,然后可以用代码添加变量。

这里与互联的比较,也是给大家介绍,为什么代码中分为三步,即添加优化变量、目标变量、再选中各变量并对目标变量赋值。

注意点:在该示例中,轨道运行一个周期,这里是取了一个巧,纬度辐角开始值为0,因此运行到360°即为一个轨道周期。后面设置,也是在这个基础上进行推算的。另外,控制参数的名称也请大家探索一下,这里的变量名都是我自己试出来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值