Exercise: Moon Mission With B-Plane Targeting (Advanced)
Setup | Getting Near the Moon | B-Plane
Targeting | Reaching Periselene |
Lunar Orbit Insertion
Note: To do this exercise you will need a
valid license of STK Professional Edition and STK/Astrogator.
In this exercise you will model a mission to the Moon. Starting
from a parking orbit around the Earth, you will perform a
Trans-Lunar Injection to target on the lunar b-plane. You will
adjust the size of the maneuver to perform a Lunar Orbit Insertion
to achieve a final circular orbit with an inclination of 90
degrees.
Note: This is an advanced
Astrogator exercise, which presupposes familiarity with STK and
some previous exposure to Astrogator. If you are new to STK, it is
recommended that you first work through the STK Quick
Start, which gives you a tour of the STK user interface and
basic STK functionality. For an entry-level introduction to
Astrogator, try the exercise in which you use the targeter to model a Hohmann
transfer.
Setting the Context
To set the context for your moon mission, you will define a
scenario with a satellite and three planet objects-- Sun, Earth and
Moon, set up your 2D Graphics window to give an overview of the
mission, and define two 3D Graphics windows providing Earth- and
Moon-centered views of the mission.
Note: Throughout this exercise you
will open properties pages and dialogs and make various settings.
All of the properties pages and most of the dialogs include an OK
button. Unless otherwise instructed, when you finish making the
settings on a given page or dialog, close it by clicking OK.
Designing the Scenario
- Create a scenario and name it LunarMission.
- On the Time page of the scenario's Basic properties, set the
Analysis Period Epoch and Start times to 1 Jan 1993 00:00:00.00,
and set the Stop time to 1 Jan 1994 00:00:00.00. Within the
Animation pane, Stop at Time 1 Jan 1994 00:00:00.00 and set the
Step Size to 3 min.
- On the scenario's 2D Graphics - Global Attributes page, make
the following settings:
| Property Type |
Property |
Recommended Settings |
| Vehicles |
Show Orbits/ Trajectories |
ON |
| Show Orbit Markers |
ON |
| Other Vehicle Attributes |
OFF |
| Planets |
Show Orbits |
ON |
| Show Inertial Positions |
ON |
| Show Position Labels |
ON |
| Other Planet Attributes |
OFF |
Defining Planets
- Create three planets.
- Open the Basic - Definition page for one of the planets, and
verify that its Central Body field is set to Sun and that the
Auto-Rename option is selected.
- Open the Definition page for another of the planets, and change
its Central Body to Earth, again verifying that Auto-Rename is
on.
- In a similar fashion, select Moon as the Central Body of the
remaining planet.
Spacecraft Graphics
- Create a satellite and name it LunarProbe.
- On the Basic - Orbit page, set the Propagator to
Astrogator.
- On the Attributes (Custom Intervals) page of the satellite's 2D
Graphics properties, click More... for Default Attributes,
and select a simple Marker Style, such as a circle or star.
- On the 2D Graphics - Pass page, set Ground Track Lead Type to
None and Orbit Track Lead Type to All.
- On the 3D Graphics - Pass page, under Leading/Trailing, select
the option to Inherit from 2D Graphics.
- On the 3D Graphics - Model page, verify that Orbit Marker is
set to Point, and change its Pixel Size to 7. For the Detail
Thresholds, slide the 'Marker, Label' and the 'Marker' bars to
their maximum value.
2D Graphics Window
Set up the 2D Graphics window to visualize the orbit on the XY
plane as seen from the Sun Ecliptic North (Z Axis):
- Open the Properties Browser for the 2D Graphics
window.
- On the Details page, deselect all geographic features in the
Items list, uncheck the Show option for Lat/Lon Lines, and uncheck
Background - Image.
- On the Projection page, change Projection Format - Type to
Orthographic, change Display Coordinate Frame to BBR, and change
Display Height to 900000 (900 thousand) km. Verify that Secondary
Body is set to Sun. Change Center - Lat to 89 deg and Lon to -90
deg.
- Select the Show Axes option and click Format.... Set
the Show options so that only the +X and -X Axes will be displayed.
Select different colors for the two axes (using colors that will
show clearly against a black background). Change the scale to 10000
(10 thousand) for both axes, change the Coordinate Frame to BBR,
and verify that the Secondary Body is the Sun.
The Sun and Anti-Sun lines will now display in the 2D Graphics
window:
Tip: Reset the
scenario as necessary to update the 2D and 3D Graphics windows.
3D Graphics Window: Earth-Centered
- Open the Properties Browser for the 3D Graphics
window.
- On the Grids page, under Space Grid, check the ECI Coordinates
option, and verify that Show Radial Lines is checked.
-
Tip: While on this page, you may
want to select a relatively muted color for the grid (such as gray
or olive green) so that it does not display in an overly prominent
way in the 3D Graphics windows. Otherwise, it may detract from more
important objects, such as orbit paths and the B-plane.
- On the Advanced Page, set Max Visible Distance to 1e+008
km.
3D Graphics Window: Moon-Centered
- Make certain that you have applied the changes
you made to the properties of the 3D Graphics window, since you
will be using it as the basis for creating a new, Moon-centered
view.
- From the View menu, select Duplicate 3D Graphics Window ->
3D Graphics 1 - Earth.
- Select the new 3D Graphics window, click Central Body
(
) and select Moon.
- Leave all other properties at the settings inherited from the
Earth-centered view.
Getting Near the Moon
In the following phases of this exercise, you will use
Astrogator to:
- Set up a Mission Control Sequence (MCS),
- Make a first guess for the Trans-Lunar Injection,
- Set up the targeter to calculate Launch Epoch and Coast
Duration, and
- Run the targeter to bring the lunar probe close within the
Moon's vicinity.
MCS Setup
- On the satellite's Basic - Orbit page, open the
MCS Options dialog, and select each of the following options:
-
- Draw Trajectory in 2D as it is Calculated
- Draw Trajectory in 3D as it is Calculated
- Update Animation Time for all Objects
- Delete any existing segments in the MCS except the End segment
(which cannot be removed).
- Add a Target Sequence as the first MCS segment. Click + symbol
to the left of the Target Sequence and nest the following segments
within it: a Launch segment, a Propagate segment, a Maneuver
segment, and two more Propagate segments.
-
- Select the Launch segment and change its Epoch to 1 Jan 1993
00:00:00.00.
- Select the first Propagate segment. Change its name to Coast,
and change its color if necessary for clarity. Set the Trip value
for the (default) Duration stopping condition to 45 min (2700
sec).
-
Tip: In selecting a color for this
and other MCS segments, make sure that the color you choose will
show up well on the 2D and 3D backgrounds.
- Select the Maneuver segment, and rename it TransLunarInjection.
Verify that the Maneuver Type is Impulsive, and change the Attitude
Control to Thrust Vector.
- Select the second Propagate segment, and rename it ToSwingBy.
Select a color that contrasts with the color selected for the Coast
segment. Change the Propagator to CisLunar. Under Stopping
Conditions, click Insert..., and select R Magnitude. Set
its Trip value to 300000 (300 thousand) km. Select the other
stopping condition (Duration) and click Remove.
- Select the final Propagate segment, rename it ToPeriselene, and
select a color that contrasts with the colors selected for the
Coast and ToSwingBy segments. Change the Propagator to CisLunar.
Set the Trip value for the Duration Stopping Condition to 10 days
(864000 sec), and add two further Stopping Conditions:
-
- Altitude, with 0.0 as the Trip value and Moon as the Central
Body, and
- Periapsis, with Moon as the Central Body.
Trans-Lunar Injection: First Guess
You are now ready to perform an impulsive maneuver that will
send the lunar probe near the Moon. This trajectory is a good first
guess to use in running the targeter to calculate the correct
launch time and the correct coast time in the parking orbit.
- Select the TransLunarInjection maneuver, and
enter 3.15 km/sec for the Cartesian X (Velocity) direction of the
Thrust Vector.
- Click
to run the MCS.
-
Note: When the run button has this
appearance (as it does by default), it is set to run the entire
MCS, not only the segments that have changed. You will be using
this setting throughout the exercise.
- Animate the scenario and watch as the lunar probe approaches
the vicinity of the Moon:
Tip: Here and elsewhere, 2D and 3D views are
shown zoomed and rotated as necessary to emphasize the point that
is being made.
Setting Up the Targeter to Calculate Launch and Coast
Times
It is now time to target the Moon. To achieve that, you will use
the launch epoch and the coast time as control variables (or simply
'controls'). Astrogator will calculate new values that meet a set
of constraints (or 'goals'). Here you will use Delta Right Asc and
Delta Declination as constraints. The constraints are the targeted
differences in the right ascension and declination angles between
the spacecraft and the selected central body with respect to its
parent body.
- Select the Launch segment, and set Launch Epoch
as a control variable by checking the appropriate target
symbol.
- Select the Coast segment, and set Trip value as a control
variable.
- Select the ToPeriselene segment, and click Results....
In the Results dialog, open the MultiBody folder, select Delta
Right Asc and click the right arrow button to assign it as a
constraint. Assign Delta Declination as a constraint in the same
way. In the Component Details area, verify that the Moon is the
CentralBody for both components.
Tip: When you select an assigned
component in the upper part of the Results dialog, the details for
that component are displayed in the lower part.
- Select the Target Sequence segment. In the Profiles area,
change the Name to Delta RA and Dec. Click Properties....
The dialog that appears lists the controls and constraints that you
selected.
- In the Control Parameters area, select Launch.Epoch, set
Perturbation to 1 min, and set Max. Step to 1 hr. Then select
...Duration.TripValue, verify that Perturbation is set to 1 min,
and set Max. Step to 5 min.
- In the Equality Constraints area, verify that the Desired Value
for Delta Declination and Delta Right Asc is set to 0 deg.
- Check all of the Use options, since you are using all of the
controls and constraints.
Running the Targeter
By default, the Action field of the Target Sequence is set to
'Run nominal sequence'. If you run the MCS, the values you have set
for the various segments (e.g. 45 min Duration for the Coast
segment) will be used. Here, instead, you will let the targeter
calculate new values to help achieve your goal of reaching the
Moon.
- Select the Target Sequence, and set the Action to
'Run active profiles ONCE'.
- Run the MCS.
- In the Target Sequence dialog that appears, note that targeting
did not converge -- i.e. did not achieve the constraints that you
set -- and that the achieved values are displayed, together with
the differences between them and the desired values for the
constraints.
- Set the Action to 'Run active profiles', and run the MCS
again.
- The targeter will run through several iterations and, after a
short time, will converge on a solution that meets your constraints
within the specified tolerances. The Target Sequence dialog will
indicate the number of iterations that were required and, again,
the differences (now small enough to be acceptable) between the
achieved and desired values for the constraints. It will also show
the new values calculated for the control variables (launch epoch
and coast time).
- Return to the Target Sequence and click Apply Changes
to apply the new values to the initial state. Then change the
Action back to 'Run nominal sequence', and run the MCS again.
-
- Look at the Launch and Coast segments and note the new values
for the control variables: around 31 Dec 1992 21:33 UTCG for the
Launch Epoch, and around 3188 sec for the Duration Trip value of
the Coast segment.
Targeting on the B-Plane
Now that the right direction has been found for the transfer
trajectory, you will use b-plane
targeting -- specifically, the dot products of the B-vector
with the R and T unit vectors -- to adjust your first guess burn to
capture in the desired final orbit.
Assume that you want to capture around the Moon in
an orbit with a 90 degree inclination.
Setting up the Targeter to Target on the
B-Plane
- Select the Target Sequence, click the current
profile (Delta RA and Dec), and click Make Copy to
duplicate the profile. Rename the new profile B-Plane
Targeting.
- Set the Mode of the Delta RA and Dec
profile to Not Active.
- Select the ToPeriselene segment, click Results..., and
assign Epoch as a constraint. Open the MultiBody folder and assign
BDotT and BDotR (i.e. the dot products mentioned above) as
constraints. Verify that Moon is selected as the TargetBody for the
BDotT and BDotR components.
- Select the TransLunarInjection maneuver segment and set
X(Velocity) as a control variable by checking its target icon.
- Select the Target Sequence, click the B-Plane Targeting
profile, and click Properties.... Check the Use option for
Cartesian.X (for the maneuver segment), and verify that those for
the other two Control Parameters remain checked. In the Equality
Constraints area, uncheck the Use options for Delta Right Asc and
Delta Declination, and check those for BDotR, BDotT, and Epoch. For
BDotR set the desired value to 5000 km; for BDotT leave the desired
value at 0 km. Set the desired value for Epoch to 4 Jan 1993
00:00:00.00 UTCG.
BDotT is targeted to 0 km and BDotR is targeted to a non-zero
value to generate a polar orbit. BDotR is targeted to 5000 km to
avoid having the orbit intersect the Moon, which has a radius of
approximately 1738 km.
Drawing the B-Plane
You will now create a b-plane template, add a b-plane to the
spacecraft, and specify which MCS segment will add points to the
b-plane.
- Right-click the scenario in the Object Browser,
and select B-Plane Template from the Scenario Tools menu. In the
B-Plane Template dialog, click Add. Change the Name to
Lunar B-Plane, change the Central Body to Moon, and verify that the
Reference Vector is Moon Orbit Normal.
-
- Open the 3D Graphics - B-Plane page for the satellite. Click
Add... to display a dialog that lets you define a b-plane
on the basis of a selected template. Here, there is only one
template (the one you just created), which is already selected.
Rename the new b-plane Lunar B-Plane and add it to the
satellite.
-
- Return to the satellite's Orbit page, double-click the
ToPeriselene segment to open its Properties dialog, check
Lunar_B-Plane, and click Apply Final State to B-Planes
Now. This sets the targeter to add points to the b-plane
automatically.
-
- Now take a look at the Moon-centered 3D Graphics window:
-
Running the Targeter to Achieve B-Plane Parameters
- Return to the Target Sequence, and change the
Action to 'Run Active Profiles ONCE'.
- Run the MCS. Targeting will not
converge.
- In the Moon-centered 3D Graphics window, you can see the
achieved point on the b-plane, as well as the Target point defined
by the desired values of BDotR and BDotT.
-
- Change the Action of the targeter to 'Run active profiles', and
run the MCS again.
- In the Target Sequence dialog, note that targeting has
converged and that new values have been calculated for the control
variables: a Launch Epoch of about 31 Dec 1992 22:09 UTCG, and a
Coast Duration of about 3106 seconds.
- In the Moon-centered 3D Graphics window, you will see that new
points have been added to the b-plane.
- Click Apply Changes, change the Action to 'Run nominal
sequence', and run the MCS again.
Note: It is important to remember
that the B vector ends at the point where the asymptote pierces the
plane, not where the trajectory does. Think of the asymptote as the
trajectory that the spacecraft would follow if the central body had
no gravity. As a result, the trajectory is always closer to the
central body than the B vector, as is the case in the above
illustration.
Reaching Periselene
Assume that you want to capture around the Moon in a 90-degree
inclined orbit with an altitude of 100 km. In order to measure
inclination at the Moon, you need to create a new coordinate system
based on the Moon's North Pole. You will use the Vector Geometry
Tool for this purpose:
Targeting Altitude and Inclination
- Select the scenario in the Object Browser, and
click
in the
toolbar to launch the Vector Geometry Tool.
- In the Vector Geometry Tool, select Moon
(the Moon central body folder, not the planet Moon you created) in
the Components area.
-
- Click
to create new axes.
- In the Add Axes dialog, set the Type to Aligned and
Constrained. For the Aligned Vector, verify that the Z component is
set to 1 and the other components are set to 0. For the Constrained
Vector, the X component should be set to 1 and the other components
should be set to 0.
- In the Aligned Vector area, click Select... under
Reference Vector. In the Select Reference Vector dialog, in the
components listed under Moon, select Angular Velocity. Using the
same method, select Moon VernalEquinox as the Reference Vector for
the Constrained Vector.
- Name the new axes True Moon Equator.
- Now, click
to create a new
coordinate system.
- In the Add System dialog, verify that Type is set to Assembled,
and that Origin Point is set to Moon Center. For Reference Axes,
select the axes that you created (True Moon Equator). Name the new
system True Lunar Equatorial.
- Return to the Orbit page for LunarProbe and select the Target
Sequence.
- Duplicate the B-Plane Targeting profile to create a new one
named Altitude and Inclination. Make certain that this is the only
active profile by setting the Mode for the B-Plane Targeting
profile (and, if necessary, the Delta RA and Dec profile) to 'Not
Active'.
- Select the ToPeriselene segment, and click Results....
Open the Geodetic folder, assign Altitude as a constraint, and set
its CentralBody to Moon. Open the Keplerian Elements folder, assign
Inclination as a constraint, and set its CoordSystem to Moon True
Lunar Equatorial, i.e. the coordinate system that you created.
- Return to the Target Sequence, select the Altitude and
Inclination profile, and click Properties.... Make certain
that the Use options for all three Control Parameters are checked.
Under Equality Constraints, the Use options for Altitude, Epoch and
Inclination should be checked, and all others should be
unchecked.
- Select Altitude and set its Desired Value to 100 km. Select
Inclination and set its Desired Value to 90 deg. The Desired Value
for Epoch should remain at 4 Jan 1993 00:00:00.00 UTCG.
- Change the targeter Action to 'Run active profiles', and run
the MCS.
- Click Apply Changes, set the Action to 'Run nominal
sequence', and run The MCS again.
Approaching the Moon
You have reached periselene, but unless you perform some kind of
maneuver, the spacecraft will swing by the Moon. Before you add the
Lunar Orbit Insertion sequence, observe the effects of the Moon's
gravity field.
- Insert a new Propagate segment at the end of the
MCS (outside the Target Sequence). Assign it a color that contrasts
with those of the other Propagate segments, and name it
Prop3Days.
-
- Change the Propagator to Lunar (In the
Previous Versions folder) and the Trip value for Duration to 3 days
(259200 sec).
- To un-clutter the display in the Moon-centered 3D Graphics
window, select the Moon in the Object Browser, open its 3D Graphics
- Attributes page, uncheck the 'Inherit from 2D Planet Graphics'
option, and verify that all display options are unchecked. Then
open the B-Plane page for the satellite and uncheck the Show
option.
-
- Run the MCS.
Lunar Orbit Insertion
You will now perform an impulsive maneuver to capture around the
Moon, circularizing the orbit while maintaining its 90 degree
inclination.
- Insert a new Target Sequence before the final
Propagate segment (Prop3Days). Nest a Maneuver in the new Target
Sequence and name it LOI.
-
- Select the LOI segment, leave the maneuver type at Impulsive,
change the Attitude Control to Thrust Vector, and change the Thrust
Axes to VNC(Moon).
- Select the Cartesian X (Velocity) component as a control
variable, since you will need to do a burn in a direction opposite
to Moon-centered velocity to slow down and capture into a lunar
orbit.
- With the LOI segment still selected, click Results...,
open the Keplerian Elements folder, assign Eccentricity as a
constraint, and change its CentralBody to Moon.
- Select the second Target Sequence, and click
Properties... in the Profiles area. Check the Use options
for the Control Parameter (Cartesian.X) and the Equality Constraint
(Eccentricity). Leave the Desired Value for Eccentricity at 0,
since you want to circularize the orbit.
- Change the targeter Action to 'Run active profiles', and run
the MCS.
- When the targeter converges, the Target Sequence dialog will
indicate that a near-zero value for eccentricity has been achieved.
Now click Apply Changes, change the Action to 'Run nominal
sequence', and run the MCS again.
- If you rotate the Moon-centered 3D view, you can confirm
visually what you learned from the Target Sequence dialog: the
orbit is substantially circular.
You can also confirm the value of eccentricity and other
targeted orbital elements by running a Summary report. For example,
double-click the LOI segment to display its Properties dialog, and
change the Coord. System to the one you created: True Lunar
Equatorial. Then click
and study the report that is generated. Among other
things, you will find that the targeted values for eccentricity
(0), inclination (90 deg), and altitude (100 km - look under
Selenodetic Parameters) were achieved within tolerance.