MATLAB与STK互联34:卫星对象操作(17)—Maneuver段相关的操作(有限推力器模型推力、比冲设置)

本文主要是介绍MATLAB与STK互联34:卫星对象操作(17)—Maneuver段相关的操作(有限推力器模型推力、比冲设置),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

又好久没有更新博文了,继续更新起来。
本文探讨Maneuver设置,Maneuver是设置卫星轨道机动速度增量的段,主要包括:有限推力模式(finite )、脉冲模式(impulsive)、优化的有限推力模式(optimal finite)。我目前只用过前两种。下面先解释一下有限推力模式、脉冲模式的概念:
脉冲模式:是指速度增量为瞬间增加,不需要一段时间,所以称为脉冲模式;
有限推力模式:是指速度增量的产生,需要推力器工作一段时间,是一个累积量。比如100kg航天器、100N发动机工作100s,可简单的用牛顿第二定律估算一下。
显然有限推力模式是卫星在轨执行轨道调整的方式。
这里还是利用一个霍夫曼转移的案例,来看一下Maneuver的操作方式。下面上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘man’);
sc = root.CurrentScenario();
sat = sc.Children.New(18,‘mysat’);
sat.SetPropagatorType(‘ePropagatorAstrogator’);
satMS = sat.Propagator.MainSequence;
satMS.RemoveAll();
mytar = satMS.Insert(‘eVASegmentTypeTargetSequence’,‘mytar’,’-’);
myin = mytar.Segments.Insert(‘eVASegmentTypeInitialState’,‘myin’,’-’);
%设置卫星初始参数
myin.SetElementType(‘eVAElementTypeKeplerian’);
myin.Element.ApoapsisAltitudeShape = 500;
myin.Element.PeriapsisAltitudeSize = 400;
%添加Maneuver模块
myma1 = mytar.Segments.Insert(‘eVASegmentTypeManeuver’,‘myma1’,’-’);
%通过以下语句,修改推力器类型。改为有限推力
myma1.SetManeuverType(‘eVAManeuverTypeFinite’);
执行以下语句,就可以选择推力器模型。
myma1.Maneuver.SetPropulsionMethod(‘eVAPropulsionMethodEngineModel’,‘mythruster’);
改为有限推力后,还要选择推力器的模型,如下图所示:
在这里插入图片描述
在这里插入图片描述
推力器模型有上述几种形式。其中mythruster是我自己建的,另一种颜色是软件自带的。
mythruster是我新建的一个推力器模型,如果不通过交互方式新建,可以选用如下的方式新建推力器模型:
步骤1:点击下图的菜单
在这里插入图片描述
在这里插入图片描述
选择component browser,进而按照下图进行操作。
在这里插入图片描述
这时就会出现Engine Model。右侧中就出现了刚看到的推力器模型。默认的推力器模型有:常值推力-常值比冲式,我用的就是这个。自己想建啥类型的就单击一下,然后点Duplicate就会新建了,新建的时候修改名称。
在这里插入图片描述
红色圈里的数据,都可以双击修改。这里就不进行演示了。

上面是不通过交互式创建新的推力器模型,接下来通过交互方式新建推力器模型。
通过以下语句,获取component browser的控制句柄。
compBrowser = sc.ComponentDirectory.GetComponents(‘eComponentAstrogator’).GetFolder(‘Engine Models’);
%新建名称为:mythruster2的推力器模型,并获取控制句柄
mythrustermodel = compBrowser.DuplicateComponent(‘Constant Thrust and Isp’,‘mythruster2’);
mythrustermodel.get
在这里插入图片描述
通过以下语句修改推力与比冲:
%修改推力为3000N,比冲为310s
mythrustermodel.Thrust = 3000;
mythrustermodel.Isp= 310;
mythrustermodel.get

在这里插入图片描述
修改成功。下面继续操作,将Maneuver中的推力器模型设置为新建的mythruster2,执行以下语句:
myma1.Maneuver.SetPropulsionMethod(‘eVAPropulsionMethodEngineModel’,‘mythruster2’);

这篇博文已经够长了,就先写到这里吧。请大家批评指正

这篇关于MATLAB与STK互联34:卫星对象操作(17)—Maneuver段相关的操作(有限推力器模型推力、比冲设置)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/424294

相关文章

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3