Hohmann Transfer Using Target Sequences
STK Premium (Space) or STK Enterprise
You can obtain the necessary licenses for this tutorial by contacting AGI Support at support@agi.com or 1-800-924-7244.
The results of the tutorial may vary depending on the user settings and data enabled (online operations, terrain server, dynamic Earth data, etc.). It is acceptable to have different results.
The technical notes for this exercise can be viewed here.
Capabilities covered
This lesson covers the following capabilities of the Ansys Systems Tool Kit® (STK®) digital mission engineering software:
- STK Pro
- Astrogator
Problem statement
Engineers and operators want to transfer a satellite from a low Earth parking orbit with a radius of 6,700 kilometers to an outer circular orbit with a radius of 42,238 kilometers. They want to do this with a Hohmann transfer. The Hohmann transfer is, in terms of the velocity change (Delta-V) required, the most efficient two-burn method of transferring between two circular, coplanar orbits. As shown in the
Solution
Use the STK/Astrogator® capability to design a Hohmann transfer from a 6,700 kilometer parking orbit to an outer circular orbit with a radius of 42,238 kilometers. You will let Astrogator do the work of calculating the Delta-V values by using Target Sequences to define the maneuvers in terms of the goals you want to achieve.
This exercise is based on Example 3-6-1 in Hale, Francis J., Introduction to Space Flight, Englewood Cliffs, N.J.: Prentice-Hall (1994), pp. 43-44.
What you will learn
Upon completion of this tutorial, you will be able to:
- Design a Hohmann transfer using Target Sequences
- Set control parameters and equality constraints for differential correctors
- Set up and run the entire Mission Control Sequence
Video guidance
Watch the following video. Then follow the steps below, which incorporate the systems and missions you work on (sample inputs provided).
Creating a new scenario
First, you must create a new scenario, and then build from there.
- Launch the STK application (
).
- Click when the Welcome to STK dialog box opens.
- Enter the following in the STK: New Scenario Wizard:
- Click when you finish.
- Click Save (
) when the scenario loads. The STK application creates a folder with the same name as your scenario for you.
- Verify the scenario name and location in the Save As dialog box.
- Click .
Option | Value |
---|---|
Name | Hohmann_Sat_Targeter |
Start | 1 Aug 2025 16:00:00.000 UTCG |
Stop | + 3 days |
Save () often during this scenario!
Cleaning up your workspace
The Timeline View and the 2D Graphics window aren't needed in this scenario.
- Close (
) the 2D Graphics window.
- Close (
) the Timeline View.
Inserting a Satellite object
Insert a Satellite object and name it Hohmann_Sat_Targeter.
- Bring the Insert STK Objects tool (
) to the front.
- Select Satellite (
) in the Select An Object To Be Inserted list.
- Select Insert Default (
) in the Select A Method list.
- Click .
- Right-click on Satellite1 (
) in the Object Browser.
- Select Rename in the shortcut menu.
- Rename Satellite1 (
) Hohmann_Sat_Targeter.
Setting the 3D Graphics Pass properties
Choose how you want to display the Satellite object's orbit in the 3D Graphics window on the
- Right-click on Hohmann_Sat_Targeter (
) in the Object Browser.
- Select Properties (
) in the shortcut menu.
- Select the 3D Graphics - Pass page when the Properties Browser opens.
- Open the Lead Type drop-down list in the Orbit Track panel.
- Select All.
- Click to confirm your changes and to keep the Properties Browser open.
The Lead Type defines the display of the leading portion of a vehicle's track. Selecting All displays the track spanning the entire vehicle ephemeris.
Changing the propagator to Astrogator
The
- Select the Basic - Orbit page.
- Open the Propagator drop-down list.
- Select Astrogator.
Setting up the Mission Control Sequence
The Mission Control Sequence (MCS) is the core of your space mission scenario. The MCS functions as a graphical programming language, in which mission segments dictate how Astrogator calculates the trajectory of the spacecraft based on the general settings that you specify for the MCS itself.
The MCS is defined by selecting and organizing MCS Segments in a manner that produces your desired trajectory. By default, an Astrogator satellite's MCS contains two segments: an Initial State segment and a Propagate segment.
The left side of the MCS is represented schematically by a tree structure, which lists the segments that make up the MCS and depicts their relationships to each other. Above the tree is the MCS toolbar, which contains buttons that perform various MCS and individual segment operations. By default, the MCS contains Initial State and Propagate segments that produce a low Earth orbit. The right side of the window contains the parameters of the segment that is currently selected in the MCS Tree.
Defining the Initial State segment
Use the
- Select Initial State (
) in the MCS.
- Select the Elements tab.
- Open the Coordinate Type drop-down list.
- Select Keplerian.
- Open the Semi-major Axis drop-down list.
- Select Periapsis Radius.
- Set the following orbital parameters:
- Click to confirm your changes and to keep the Properties Browser open.
The Classical coordinate type uses the traditional osculating Keplerian orbital elements to specify the shape and size of an orbit.
Option | Value |
---|---|
Periapsis Radius | 6700 km |
Eccentricity | 0 |
Inclination | 0 deg |
Right Asc. of Asc. Node | 0 deg |
Argument of Periapsis | 0 deg |
True Anomaly | 0 deg |
Setting the fuel tank configuration
Set the maximum fuel mass and the fuel mass of the
- Select the Fuel Tank tab.
- Enter the following values:
- Click to confirm your changes and to keep the Properties Browser open.
Option | Value |
---|---|
Maximum Fuel Mass | 5000 kg |
Fuel Mass | 5000 kg |
Propagating the parking orbit
Use the
- Select Propagate (
) in the MCS.
- Click Segment Properties (
) in the MCS toolbar.
- Enter Parking Orbit in the Name field of the Edit Segment dialog box.
- Click to confirm your change and to close the Edit Segment dialog box.
Setting propagator components
A
- Click the Propagator ellipsis (
).
- Select Earth Point Mass (
) in the Select Component dialog box.
- Click to confirm your selection and to close the Select Component dialog box.
Setting the stopping condition
- Look in the Stopping Conditions panel.
- Notice that the default stopping condition for Parking Orbit is Duration.
- Enter 7200 sec in the Trip field.
- Click to confirm your changes and to keep the Properties Browser open.
7,200 seconds, or 2 hours, is more than enough time to have the satellite orbit one complete pass.
Using a Target Sequence to place the satellite into a transfer ellipse
In the Hohmann Transfer tutorial, you enter precalculated values for the two required Delta-Vs. In this scenario, you will use Target Sequences to calculate the Delta-V required to move the spacecraft from the parking orbit into the transfer orbit and finally to the outer orbit. The goal of the first Target Sequence will be defined in terms of the radius of apoapsis of the transfer ellipse, coinciding with the radius of the desired final orbit.
Adding a Target Sequence
Add a
- Select Parking Orbit (
) in the MCS.
- Click Insert Segment After (
) in the MCS toolbar.
- Select Target Sequence (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
- Right-click on Target Sequence (
) in the MCS.
- Select Rename in the shortcut menu.
- Rename Target Sequence (
) Start Transfer.
Inserting an Impulsive Maneuver segment
For an
- Right-click on the Return (
) segment that's nested within Start Transfer (
).
- Select Insert Before... in the shortcut menu.
- Select Maneuver (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
- Notice that the default Maneuver Type is Impulsive.
Changing the segment properties
Change the name of the Maneuver segment.
- Select Maneuver (
) in the MCS.
- Click Segment Properties (
) in the MCS toolbar.
- Enter DV1 in the Name field of the Edit Segment dialog box.
- Click to confirm your change and to close the Edit Segment dialog box.
- Click to confirm your change and to keep the Properties Browser open.
Setting the satellite's attitude
The Attitude Control field enables you to select the mode in which the maneuver pointing direction is prescribed. Using thrust vector, you specify the Delta-V vector in some reference frame using either Cartesian or spherical components. Astrogator then computes the attitude so that the total thrust vector in the body frame, as specified by the thruster set or engine model, aligns with this vector in the reference axes.
- Select the Attitude tab.
- Open the Attitude Control drop-down list.
- Select Thrust Vector.
Selecting the independent variable
A Target Sequence's differential corrector profile uses a differential correction algorithm to achieve a goal value or set of values. The values that the profile targets are called independent variables, or control parameters. The values that define the goal of the profile are called dependent variables, or equality constraints or results. When the Target Sequence runs, it will change the values of the independent variables to achieve the goal. You can use any element of a nested MCS segment or linked component as an independent variable. Select the Maneuver segment's X (Velocity) as the independent variable.
- Click on the X (Velocity) target (
) to select it.
- Click to accept your changes and to keep the Properties Browser open.
Notice the target now has a check mark (). Selecting the target makes X (Velocity) an independent variable. This tells Astrogator to determine the Delta-V based on user determined results.
X (velocity) targeted
Updating mass based on fuel usage
The Engine tab defines the magnitude and the nature of the propulsion. The Engine parameters specified on this tab are used primarily to define the maneuver direction when using a thruster set to seed a finite maneuver and to update the fuel mass. By selecting Update Mass Based on Fuel Usage, Astrogator updates the mass of the spacecraft as fuel is consumed.
- Select the Engine tab.
- Select the Update Mass Based on Fuel Usage check box.
- Click to confirm your changes and to keep the Properties Browser open.
Selecting the results variable
Dependent variables for a differential corrector profile are defined in terms of calculation objects.
- Click at the bottom of the MCS.
- Expand (
) the Keplerian Elems (
) folder in the Available Components list when the User - Selected Results - DV1 dialog box opens.
- Select Radius Of Apoapsis (
).
- Click Insert Component (
) to move Radius Of Apoapsis (
) to the selected components list.
- Click to close the User - Selected Results - DV1 dialog box.
- Click to accept your changes and to keep the Properties Browser open.
Setting up the differential corrector profile
You can configure a Target Sequence to execute in many different ways depending on the solution you are trying to achieve. Set up the differential corrector profile to change the X (Velocity) to achieve the desired radius of apoapsis.
- Select Start_Transfer (
) in the MCS.
- Open the Action drop-down list.
- Select Run active profiles.
Selecting run active profiles runs the Mission Control Sequence allowing the active profiles to operate.
Setting the independent variable
Use X (Velocity) as the control parameter (independent variable).
- Select Differential Corrector in the Profiles panel.
- Click Properties... (
) in the Profiles toolbar.
- Select the Use check box for ImpulsiveMnvr.Pointing.Cartesian.X in the Control Parameters panel when the Differential Corrector dialog box opens.
- Enter 0.3 km/sec in the Max. Step field.
Max Step is the maximum increment to the value of the parameter in a step.
Setting the dependent variable
Use the radius of apoapsis as the equality constraint (result) with a goal of 42,238 kilometers. Astrogator will use radius of apoapsis to determine the required Delta-V.
- Select the Use check box for Radius_Of_Apoapsis in the Equality Constraints (Results) panel.
- Click on the Desired Value cell.
- Enter 42238 km in the Desired Value cell.
- Click to confirm your changes and to close the Differential Corrector dialog box.
- Click to confirm your changes and to keep the Properties Browser open.
This is the value that you want to achieve.
differential corrector settings
Inserting a Propagate segment
Insert a new Propagate segment.
- Right-click on the bottommost Return (
) segment in the MCS.
- Select Insert Before... in the shortcut menu.
- Select Propagate (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
Changing the Propagate segment's properties
Change the name and color of the Propagate segment.
- Select Propagate (
) in the MCS.
- Click Segment Properties (
) in the MCS toolbar.
- Enter Transfer Ellipse in the Name field of the Edit Segment dialog box.
- Open the Color drop-down list.
- Select a color that's different from Parking Orbit (
).
- Click to confirm your changes and to close the Edit Segment dialog box.
- Click to confirm your changes and to keep the Properties Browser open.
Propagate segments can be viewed in the 3D Graphics window. By changing the color of each Propagate segment (if you have multiple Propagate segments), you can view them visually. You configured the 3D Graphics Pass properties so that the Maneuver segments nested within the Target Sequences won't be visible in the 3D Graphics window when you propagate the satellite.
Setting the propagator component
Use Earth Point Mass as the propagator.
- Click the Propagator ellipsis (
).
- Select Earth Point Mass (
) in the Select Component dialog box.
- Click to confirm your selection and to close the Select Component dialog box.
Inserting an apoapsis stopping condition
Use the apoapsis stopping condition to stop at the farthest point from the origin.
- Click New... (
) in the Stopping Conditions panel toolbar.
- Select Apoapsis (
) in the New Stopping Condition dialog box.
- Click to confirm your selection and to close the New Stopping Condition dialog box.
- Select the Duration stopping condition.
- Click Delete (
) in the stopping conditions toolbar.
- Click to confirm your changes and to keep the Properties Browser open.
Using a second Target Sequence to place the satellite into the outer orbit
You will use a second Target Sequence to calculate the Delta-V required to move the spacecraft from the transfer orbit into the circular outer orbit. With the desired radius already achieved, the goal will be to circularize the orbit — that is, change its eccentricity to zero (0).
Inserting a new Target Sequence
Insert a new Target Sequence after the Transfer Ellipse Propagate segment.
- Select Transfer Ellipse (
) in the MCS.
- Click Insert Segment After (
) in the MCS toolbar.
- Select Target Sequence (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
- Right-click on Target Sequence (
) in the MCS.
- Select Rename in the shortcut menu.
- Rename Target Sequence (
) Finish Transfer.
Adding an Impulsive Maneuver segment
Insert a new Maneuver segment into your second Target Sequence.
- Right-click on the Return (
) segment that's nested within Finish Transfer (
).
- Select Insert Before... in the shortcut menu.
- Select Maneuver (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
Changing the Maneuver segment's properties
Change the name of the Maneuver segment.
- Select Maneuver (
) in the MCS.
- Click Segment Properties (
) in the MCS toolbar.
- Enter DV2 in the Name field of the Edit Segment dialog box.
- Click to confirm your change and to close the Edit Segment dialog box.
- Click to confirm your change and to keep the Properties Browser open.
Setting the satellite's attitude
Set the Maneuver segment's attitude control mode to thrust vector.
- Select the Attitude tab.
- Open the Attitude Control drop-down list.
- Select Thrust Vector.
Selecting the independent variable
Use X (Velocity) as the control parameter (independent variable).
- Click the X (Velocity) target (
).
- Click to confirm your changes and to keep the Properties Browser open.
Updating mass based on fuel usage
As with DV1, set DV2 to update the satellite's mass based on its fuel usage.
- Select the Engine tab.
- Select the Update Mass Based on Fuel Usage check box.
- Click to confirm your changes and to keep the Properties Browser open.
Selecting the results component
Select Eccentricity as the calculation component for the Results of the DV2 maneuver.
- Click at the bottom of the MCS.
- Expand (
) the Keplerian Elems (
) folder in the Available Components list when the User - Selected Results - DV2 dialog box opens.
- Select Eccentricity (
).
- Click Insert Component (
) to move Eccentricity (
) to the selected components list.
- Click to confirm your selection and to close the User - Selected Results - DV2 dialog box.
- Click to accept your changes and to keep the Properties Browser open.
Setting up the differential corrector profile
Set up the differential corrector profile to change X (Velocity) to achieve the desired eccentricity.
- Select Finish_Transfer (
) in the MCS.
- Open the Action drop-down list.
- Select Run active profiles.
Setting the independent variable
Use X (Velocity) as the control parameter (independent variable).
- Select Differential Corrector in the Profiles panel.
- Click Properties... (
) in the Profiles toolbar.
- Select the Use check box for ImpulsiveMnvr.Pointing.Cartesian.X in the Control Parameters panel when the Differential Corrector dialog box opens.
- Enter 0.3 km/sec in the Max. Step field.
Setting the dependent variable
Set eccentricity as the equality constraint (result) with a goal of zero (0). Astrogator will use eccentricity to determine the required Delta-V.
- Select the Use check box for Eccentricity in the Equality Constraints (Results) panel.
- Note that the default value in the Desired Value cell is 0.
- Click to confirm you changes and to close the Differential Corrector dialog box.
- Click to accept your changes and to keep the Properties Browser open.
differential corrector settings
Inserting a Propagate segment
Insert a new Propagate segment.
- Right-click on the bottommost Return (
) segment in the MCS.
- Select Insert Before... in the shortcut menu.
- Select Propagate (
) in the Segment Selection dialog box.
- Click to confirm your selection and to close the Segment Selection dialog box.
Changing the segment properties
Change the name and color of the Propagate segment.
- Select Propagate (
) in the MCS.
- Click Segment Properties (
) in the MCS toolbar.
- Enter Outer Orbit in the Name field of the Edit Segment dialog box.
- Open the Color drop-down list.
- Select a color that's different from the other Propagate (
) segments.
- Click to confirm your changes and to close the Edit Segment dialog box.
- Click to confirm your changes and to keep the Properties Browser open.
Setting the propagator component
Select Earth Point Mass for the propagator.
- Click the Propagator ellipsis (
).
- Select Earth Point Mass (
) in the Select Component dialog box.
- Click to confirm your selection and to close the Select Component dialog box.
Setting the duration stopping condition
Use the duration stopping condition.
- Enter 3 day in the Trip Field in the Stopping Conditions panel.
- Click to confirm your changes and to keep the Properties Browser open.
The MCS tree should appear as follows when you are finished:
final mcs view
Running the entire Mission Control Sequence
To calculate the trajectory of the spacecraft you must run the Mission Control Sequence. Astrogator will proceed through the MCS and run each segment, generating an ephemeris for the spacecraft. As it runs the MCS, Astrogator carries the trajectory and state of the spacecraft determined so far from one segment to the next.
- Click Run Entire Mission Control Sequence (
) in the MCS toolbar.
- Click Clear Graphics (
) in the MCS toolbar.
- Close the Targeting Status windows when finished.
- Click to close the Properties Browser.
Viewing the orbit in the 3D Graphics window
You can view the orbit in the 3D Graphics window.
- Bring the 3D Graphics window to the front.
- Use your mouse to obtain a good view of Hohmann_Sat_Targeter as it transfers from a low Earth orbit to the outer orbit.
Hohmann transfer
Creating a Maneuver Summary report
Now that you have modeled the satellite's orbit and visualized its behavior, examine the results in a Maneuver Summary report to get an overview about the engine's performance.
- Right-click on Hohmann_Sat_Targeter (
) in the Object Browser.
- Select Report & Graph Manager... (
) in the shortcut menu.
- Select the Maneuver Summary (
) report in the Installed Styles (
) folder in the Styles panel.
- Click .
- Scroll through the Maneuver Summary report.
- Close the report and the Report & Graph Manager when you are finished viewing the data.
You targeted the X (Velocity) for both the Maneuver segments. If you look at the Delta V (m/sec) column, you can see the values that Astrogator determined are required to place your satellite into the proper orbit. In defining the Initial State, you set Fuel Mass to 5,000 kilograms. In setting up the two impulsive maneuvers, you opted to have mass decremented on the basis of fuel usage. You can see how much fuel was required to place your satellite into the outer orbit.
Saving your work
Clean up your workspace and save your work.
- Close any open reports, properties and tools.
- Save (
) your work.
Summary
Using Astrogator, you transferred a satellite from a low Earth parking orbit with a radius of 6,700 kilometers to an outer circular orbit with a radius of 42,238 kilometers using a Hohmann transfer. You determined the required Delta-V by targeting the X (Velocity) Delta-V vectors in the reference axes.