STK 特定问题建模(七)卫星轨道转移

本文详细介绍了如何使用STK的Astrogator模块进行霍曼轨道转移仿真,步骤包括设定初始停泊轨道、实施两次轨道机动,最终到达目标外轨道。通过实例演示了如何在STK中创建和执行各个任务阶段以完成卫星轨道转移过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容简介

本篇对卫星轨道转移进行仿真,以霍曼转移(Hohmann Transfer)为例,将一颗卫星从半径为 6700km(高度300km)的停泊轨道转移到半径为 42238km(高度36000km)的圆轨道。

建模将使用 STK Astrogator 模块,本篇主要内容如下:

1、Astrogator 以及 飞行任务控制序列(MCS)简介

2、霍曼轨道转移仿真

轨道转移结果如下:
请添加图片描述

一、Astrogator以及MCS简介

该部分内容在公众号中进行介绍,想更多了解可以关注文末的“STK建模”公众号,定期分享STK建模仿真的详细流程。

二、霍曼轨道转移仿真

霍曼转移是在两个共面圆形轨道之间进行转移的最有效的方法(仅需两次点火加速)。如下图所示,霍曼转移采用椭圆形转移轨道,其近点位于内轨道,远点位于外轨道。
请添加图片描述
本次仿真以卫星从半径为 6700 km的停泊轨道转移到半径为 42238 km轨道为例,因此根据第一部分对MCS任务段的介绍,仿真中需要创建以下几个MCS任务:

序号任务
1初始状态定义一个半径为 6700 公里的停泊轨道
2一个Propagate任务段,推演停泊轨道上的卫星轨迹
3进入椭圆转移轨道的脉冲机动
4通过转移轨道推进至远地点
5进入42238 km外圆轨道的脉冲机动
6一个Propagate任务段,推演外轨道上的卫星轨迹

接下来按照上述任务步骤开始仿真。

1.1 任务1(初始状态)仿真

首先创建一颗卫星,并在Basic—Orbit—Propagator中选择Astrogator,开始定义初始的轨道。

重命名Initial State为Inner Orbit,在右边将坐标类型Coordinate Type改为开普勒(Keplerian), 并将下方Element Type中的半长轴(semi-major axis)改为Periapsis Radius,数值更改为6700km,其他轨道参数(偏心率、倾角、RAAN、AoP、真近点角)均改为0

请添加图片描述
点击Fuel Tank,设置卫星最大燃料质量(Maximum Fuel Mass)为5000kg.
请添加图片描述

1.2 任务2(停泊轨道)仿真

接下来创建任务2,即停泊轨道轨迹推演任务段。在任务1(Inner Orbit)后插入新的Propagator任务段,将其命名为Parking Orbit,Propagator选择为Earth Point Mass,
请添加图片描述
将轨迹持续时间更改为7200s(足够卫星转动一圈)
请添加图片描述
点击MCS栏坐上角的绿色箭头,运行当前创建的任务段,在3D窗口中可以看到创建的停泊轨道
请添加图片描述

1.3 任务3(第一次轨道机动)仿真

接下来卫星将从停泊轨道机动至转移轨道,插入一个Maneuver任务,机动类型选择为Impulsive,在Attitude Tab中,选择推力矢量Thrust Vector,将X轴加速改为2421m/s
请添加图片描述
点击Engine页,选中Update Mass Based on Fuel Usage(根据燃料使用更新卫星质量)
请添加图片描述

1.4 任务4(转移轨道)仿真

接下来卫星在机动后,将沿转移轨道推进至远地点。插入一个Propagate任务,Propagator选择为Earth Point Mass。新建一个转移轨道推进停止条件(Apoapsis),并将原来的根据持续时间决定轨迹停止的条件删掉

请添加图片描述请添加图片描述
转移轨道生成结果如下:
请添加图片描述

1.5 任务5(第二次轨道机动至外轨道)仿真

接下来,卫星将从转移轨道进行第二次机动,插入一个Maneuver任务,机动类型选择为Impulsive,在Attitude Tab中,选择推力矢量Thrust Vector,将X轴加速改为1465m/s
请添加图片描述
点击Engine页,选中Update Mass Based on Fuel Usage(根据燃料使用更新卫星质量)

1.6 任务6(外轨道)仿真

经过第二次机动,卫星将进入外轨道,插入新的Propagator任务段,将其命名为Outer Orbit,Propagator选择为Earth Point Mass,并将轨迹推演持续时间设置为86400s(一天)。
请添加图片描述
点击MCS栏坐上角的绿色箭头,运行当前创建的任务段,生成情况如下:
请添加图片描述
由此完成卫星轨道转移过程仿真。右键卫星,选择报告,查看卫星的经纬高,可以看到高度(蓝色线)由初始的300km经转移至36000km
在这里插入图片描述
点击Maneuver History,查看轨道机动报告
请添加图片描述
其他指标可自行查看,仿真完成!
请添加图片描述
更多仿真内容,可以关注公众号“STK建模”查看
请添加图片描述

### Hohmann Transfer Implementation and Usage in STK Software In the context of satellite operations, Hohmann transfer represents an efficient method to change orbits using two impulse maneuvers. Within **Satellite Tool Kit (STK)** software, users can simulate these transfers by leveraging various built-in features designed specifically for mission analysis. To implement a Hohmann transfer within STK: For defining initial conditions such as spacecraft position and velocity vectors at each point during the maneuver sequence, one may use Scenario Editor tools[^1]. These allow precise control over orbital parameters including semi-major axis length which is critical when planning inter-orbital transitions like those involved with Hohmann transfers. Additionally, Astrogator module offers advanced capabilities that support detailed modeling of complex space missions involving multiple burns required for executing this type of orbit transition accurately while considering real-world constraints on fuel consumption and time efficiency[^2]. Moreover, visualization options provided through STK's graphical interface enable intuitive understanding of how changes made will affect overall trajectory design throughout all phases from launch site departure until final destination arrival into target orbit configuration after completing both impulses needed according to classical theory behind Hohmann transfers[^3]. ```matlab % Example MATLAB script interfacing with STK for setting up a simple Hohmann transfer scenario. stkRoot = actxserver('AGI.STKUtil.Application'); stkRoot.Visible = true; scenario = stkRoot.CurrentScenario; spacecraft = scenario.Children.New(0,'Spacecraft'); % Create Spacecraft object spacecraft.SetPropagatorType(7); % Set propagator type to numerical integrator maneuver = spacecraft.AddManeuver(); % Add Maneuver Object % Define first burn properties here... maneuver.BurnVector = [deltaVX_Initial, deltaVY_Initial,deltaVZ_Initial]; maneuver.StartTime = 'Start Time'; % Specify start time for first impulse % Propagate forward till apoapsis then define second burn similarly... ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值