Circular Restricted Three-body Problem (CR3BP) Configuration

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.

This lesson requires version 12.7 of the STK software or newer to complete. Optional steps are included if you are using an older version of the STK software.

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.

Capabilities covered

This lesson covers the following capabilities of the Ansys System Tool Kit® (STK®) digital mission engineering software:

  • STK Pro
  • Astrogator
  • Analysis Workbench

Problem statement

Engineers and operators require a quick way to create initial designs for spacecraft trajectories for mission planning and operations. You want to model an Earth-Moon circular restricted three-body problem (CR3BP) system. The circular restricted three-body problem represents a medium level of model fidelity that simultaneously incorporates the gravitational effects of two massive bodies on some smaller body, like a spacecraft.

Solution

Use the STK/Astrogator® capability and the CR3BP Setup Tool to model an Earth-Moon CR3BP system. The CR3BP Setup Tool is available using STK 12.7 or later. It was built to assist in configuring scenarios to address the CR3BP problem. In this lesson, you will learn how to use the CR3BP Setup Tool to define a new, idealized circular orbit around the Moon and build the necessary components. Before the CR3BP Setup Tool was available, you needed to manually create a custom central body and custom reference frames, and you had to design a force model with customized central bodies. Now, you can do the same thing easily with just a few clicks using the CR3BP Setup Tool.

What you will learn

Upon completion of this tutorial, you will be able to:

  • Create a custom central body
  • Create unique reference frames
  • Design a force model with the customized central bodies and reference frames

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

Before you begin with any analysis, you need to create a 30-day scenario.

  1. Launch STK ().
  2. Click Create a Scenario.
  3. Enter the following in the STK: New Scenario Wizard:
  4. Option Value
    Name EarthMoonCRP
    Analysis Start Time 4 Mar 2019 17:00:00.000 UTCG
    Analysis End Time + 30 days
  5. Click OK when you finish.
  6. Click Save () when the scenario loads. A folder with the same name as your scenario is created for you.
  7. Verify the scenario name and location shown in the Save As dialog box.
  8. Click Save.
  9. Save your scenario as an .sc file, because you will build custom components in the Component Browser. Saving the scenario as a VDF may not package external files held by the Component Browser.

Inserting a satellite

Create a new satellite that you will modify later in the lesson.

  1. Bring the Insert STK Objects tool () to the front.
  2. Select Satellite () in the Select An Object To be Inserted list.
  3. Select the Insert Default () method.
  4. Rename Satellite () L1HaloOrbit.

Setting up the CR3BP design tool

Use the CR3BP Setup Tool, located within the Component Browser's Design Tools library , to define a new circular-orbit Moon named "Noom." You can build the necessary components with this setup tool. This tool is designed to assist in configuring a scenario to address the circular restricted three-body problem.

If you are using a version of the STK software that is older that 12.7 to complete this tutorial, skip to the Manual steps to build the central body, components, and calculation objects section .

  1. Select the Utilities menu.
  2. Select Component Browser... ().
  3. Select the Design Tools () directory in the component tree when the Component Browser opens.
  4. Select CR3BP Setup Tool ().
  5. Click Duplicate component ().
  6. Enter Noom Setup in the Name field when the Field Editor opens.
  7. Click OK to confirm your selection and to close the Field Editor.
  8. Select Noom Setup ().
  9. Click View properties ().

You cannot duplicate orange-colored components like Noom Setup (). This prevents interdependencies as you build and design additional idealized central bodies.

Configuring an idealized central body Noom

When creating a new idealized central body in the CR3BP Setup Tool, you can specify the orbit for the central body. For each setup, there is a list of components in the top right with the Mass Parameter and Characteristic components. These values aren't editable, but you can copy them and modify their format. As you create components, they will populate the Associated Objects list.

  1. Confirm the Central Body is set to Earth.
  2. Click the ellipsis () next to the Source Secondary field.
  3. Select Moon () when the Select SourceSecondary dialog box opens.
  4. The list of available Source Secondary bodies will change depending on the selected Central Body.

  5. Click OK to confirm your selection and to close the Select SourceSecondary dialog box.
  6. Leave the Initial Epoch as the scenario start time.
  7. Select Epoch-centered average source radius in the Ideal Orbit Radius drop-down list.
  8. Set the Ideal Secondary name to Noom.
  9. Select the Tab key or click out of the field to validate Ideal Secondary name.
  10. Valid names for the Ideal Secondary should not have spaces, cannot be the default text in the field, and cannot be "Moon" or the name of another central body.

  11. Click Create.
  12. Review the Associated Objects list. You have just created a new idealized circular orbit central boy named Noom. You can also verify that it is built by checking the Central Bodies directory () in the Component Browser.

Creating the calculation objects

Along with creating the coordinate system, you will build calculation objects.

  1. Set the Coordinate System to Barycenter-centered if it isn't already set.
  2. Click Create.
  3. Review the Associated Objects list. You have created new Analysis Workbench Axes, Point, and Systems which depend on Noom.
  4. As you make changes to modify aspects of Noom, yellow dots () that appear next to fields indicate the that listed Associated Objects are inconsistent with a particular Configure Idealized Secondary setting. Use Update or Reset to adjust the configuration as needed.

  5. Click Create under the Calculation Objects for Selected System list.
  6. Review the Associated Objects list. There are new Cartesian Calculation Objects that depend on the earlier created rotating system. You can also verify that these have been built by checking the Calculation Objects - Cartesian Elems () directory in the Component Browser.
  7. After creating the calculation objects for a particular coordinate system, Create will be unavailable. Optionally, you can create other new calculation objects for other coordinate systems. You can only "Remove" an object from the list if it has no dependent objects or existing objects outside the setup tool, such as in Analysis Workbench. For example, you cannot remove a coordinate system if there are dependent calculation objects. Additionally, once built, you cannot remove the ideal CB once it has been created. You can only update it.

  8. Click Add to Collection.
  9. Note that Noom has been placed in your User Collection ().

  10. Click Close to close the Component Browser.

Modeling the new central body Noom

Now that you created Noom, display the new central body in the scenario. You can visualize Noom's orbit, but first you need to add a new planet object () to the Object Browser.

  1. Bring the Insert STK Objects tool () to the front.
  2. Insert a Planet object () using the Define Properties () method.
  3. Set the Central Body to Noom.
  4. Select Analytic from the Ephemeris Source drop-down list.
  5. Select the 2D Graphics - Attributes page.
  6. Make the following changes:
  7. Option Value
    Inherit from scenario Clear
    Show Subplanet Point Clear
    Show Subplanet Label Clear
    Show Orbit Selected
  8. Increase the Line Width.
  9. On the 3D Graphics - Attributes page, verify that the Inherit from 2D Planet Graphics check box is selected.
  10. Click OK.

Modifying your view

View your new secondary body in the 3D Graphics window by pulling the view around to observe its circular orbit. Note the location of the real Moon.

  1. Close the 2D Graphics window.
  2. Right-click on Noom () in the Object Browser.
  3. Select Zoom To in the shortcut menu.
  4. Move the window around until you see the real Moon. Note Noom’s proximal, but not coincident, position with respect to the Moon. If you used the "instantaneous" Noom, then both Noom and the Moon would overlap.

Adding Noom as a Central Body

Add Noom as a Central Body using Globe Manager.

  1. Click the Globe Manager () icon in the 3D Graphics window toolbar.
  2. Click Add Central Body ( ) in the Globe Manager toolbar.
  3. Select Noom in the menu list.

Updating Noom's imagery in Globe Manager

Add imagery to the new Noom central body and display in the 3D Graphics window.

  1. Right-click on Noom () in the Globe Manager hierarchy.
  2. Select Add Terrain/Imagery... () in the shortcut menu.
  3. Open the Path drop-down menu when the Globe Manager: Open Terrain and Imagery Data dialog box opens.
  4. Select <STK install folder>\STKData\VO\Textures.
  5. Select gray.jp2 or Moon.jp2 from the directory.
  6. Click Add to add the central body texture to Noom and to close the Globe Manager: Open Terrain and Imagery Data dialog box.
  7. Your 3D window should look similar to this:

    The MooN and Noom in orbit

  8. Clear the Moon check box in the Globe Manager Hierarchy tab.
  9. Save () your scenario.

You may think to yourself, "Well that was easy, but what did I actually do?" You need to break it down. The next sections help you walk though manually building each component for a new object called Luna. This helps you to understand the various dependencies. In case you do not have version 12.7 of the STK software or later, and thus do not have the CR3BP Setup Tool, then you may use the steps below to build the components you need.

Adding a second 3D view

You can open multiple 3D views that enable you to view important reference frames for your systems.

Duplicating your existing 3D Graphics window

Use the settings for the existing 3D Graphics window and update them to display your rotating frame trajectory.

  1. Select the View menu.
  2. Select Duplicate 3D Graphics Window.
  3. Select 3D Graphics 1 - Earth in the Duplicate 3D Graphics Window submenu.

Updating the duplicate 3D Graphics window's properties

You may want to add axes, planes, or additional libration points to the 3D Graphics windows. For now, just add the Earth-Noom L1 libration point.

  1. Click Properties () in the new 3D Graphics window.
  2. Select the Vector page when the 3D Graphics properties window opens.
  3. Select the Points tab.
  4. Click Add....
  5. Select Noom () in the Object List.
  6. Select the L1 () point under Installed Components () in the Components for: Noom list. You will need to scroll down to the bottom of the list.
  7. Click OK.
  8. Change the size of the point to your preference.
  9. Optionally, change the color of the point.

You can add the L1 point to the other 3D Graphics window by following the steps in this section.

Updating the reference system

Update the duplicate 3D Graphics window's reference system to reference the Earth-Noom barycenter.

  1. Click the ellipsis () next to the System field.
  2. Change the System field to EarthNoomBarycenterCenteredRotating ().
  3. If you are using Luna as your central body, select EarthLunaBarycentered () for all equivalent changes.

  4. Click OK.
  5. Click OK to save your changes and to close the 3D Graphics window properties window.

Configuring the force model

You built and defined the Noom central body. Now, create a force model that utilizes it.

Creating a custom Three-Body component

Use the component browser to create a new Three-Body propagator.

  1. Select the Utilities menu.
  2. Select Component Browser... ().
  3. Select the Propagators () directory.
  4. Select Three Body ().
  5. Click Duplicate component ().
  6. Rename the new propagator EarthNoomCRP.

Updating the force model's secondary body

Update the secondary body to reference Noom.

  1. Double-click on EarthNoomCRP ().
  2. Click the ellipsis () next to the Secondary Body field when the Propagator - EarthNoomCRP dialog box opens.
  3. Set the secondary body to Noom () when the Select Secondary dialog box opens.
  4. Click OK to confirm your selection and to close the Select Secondary dialog box
  5. Click OK to confirm your changes and to close the Propagator - EarthNoomCRP dialog box.
  6. Click Close to close the Component Browser.

Setting up the Astrogator satellite

You added the L1HaloOrbit () Satellite object at the beginning of this tutorial. Now that you have defined all the components of your new system, place the satellite in orbit about the L1 point.

Configuring the 3D view

Go through L1HaloOrbit's () properties and set its specific parameters.

  1. Double-click L1HaloOrbit () to open its properties.
  2. Select the 3D Graphics - Orbit System page.
  3. Click Add VGT System....
  4. Change the Filter by option to Primary Central Bodies.
  5. Select Noom () in the object tree.
  6. Select EarthNoomBarycenterCenteredRotating () under Installed Components () from the Systems for: Noom list.
  7. Click OK.

Updating the orbit system displays in the 3D Graphics windows

Update L1HaloOrbit ()'s orbit systems to display differently in the two 3D Graphics windows.

  1. Return to the 3D Graphics - Orbit System page for L1HaloOrbit ().
  2. Ensure EarthNoomBarycenterCenteredRotating is selected. If EarthNoomBarycenterCenteredRotating is not highlighted, click it once to highlight it.
  3. Select 3D Graphics 2 - Earth in the 3D Windows panel.
  4. Select Inertial by Window to highlight it.
  5. Select 3D Graphics 1 - Earth in the 3D Windows panel.
  6. Click Apply.
  7. Save () your scenario.

Configuring the orbit

You created a satellite object very early in your scenario. Now, modify this satellite’s orbit to place it in orbit about the Earth Noom L1 position by specifying its initial state.

  1. Select the Basic - Orbit page.
  2. Change the Propagator to Astrogator.
  3. Ensure the Initial State () segment is selected in the Mission Control Sequence (MCS).
  4. Ensure the Elements tab is selected.
  5. Enter the following properties:
  6. Option Value
    Coord. System Noom EarthNoomBarycenterCenteredRotating
    Coordinate Type Cartesian
    X Component 322022.503957876 km
    Y Component 0 km
    Z Component 54884.505761407 km
    Vx Component 0 km/sec
    Vy Component 0.2585583925805190 km/sec
    Vz Component 0 km/sec

Updating the propagator

Update the Propagate () segment to use the EarthNoomCRP propagator.

  1. Select the Propagate () segment in the MCS.
  2. Click the ellipsis () next to the Propagator field.
  3. Select EarthNoomCRP () when the Select Propagator dialog box opens.
  4. Click OK to confirm your selection and to close the Select Propagator dialog box.
  5. Click Advanced....
  6. Set the Minimum propagation time to 10 sec when the Propagator Advanced dialog box opens.
  7. Click OK to confirm your change and to close the Propagator Advanced dialog box.

Updating the stopping condition

Add a new Z-X Plane Cross stopping condition.

  1. Click New... () in the Stopping Conditions panel.
  2. Select Z-X Plane Cross () when the New Stopping Condition dialog box opens.
  3. Set the following options:
  4. Option Value
    Criterion Cross Increasing
    Repeat Count 5
    Coord. System Noom EarthNoomBarycenterCenteredRotating
  5. Click OKto confirm your changes and to close the New Stopping Condition dialog box.
  6. Remove or clear the Duration stopping condition.

Upating the results

Update the propagate segment to use the Barycenter components.

  1. Right-click on the Propagate () segment.
  2. Select Results... in the shortcut menu.
  3. Expand () the Cartesian Elems () directory when the User-Selected Results - Propagate dialog box opens.
  4. Insert () the six BarycenterEarthNoom () position and velocity calculation components.
  5. Click OK to confirm your selection and to close the User-Selected Results - Propagate dialog box.
  6. Save () your scenario.

Generating the results

Since you defined your system and your satellite, you can run your MCS to visualize your solution and generate various data.

  1. Run the MCS. Assuming everything has gone according to plan, you should see an Earth-Noom L1 halo orbit in the rotating frame that look like these examples. These examples are for one revolution.
  2. Earth-Noom L1 halo orbit, rotating view

    Earth-Noom L1 halo orbit, inertial view

  3. Right-click on the Propagate segment.
  4. Select Summary... in the shortcut menu.
  5. Scroll to the bottom of the Astrogator MCS Propagate Summary and note the User-selected results. These should include the six Earth-Noom position and velocity calculation objects. The values should be close to what you used for the initial conditions.
  6. Close the Astrogator MCS Propagate Summary report.
  7. Save () your scenario.

Building a Jacobi integral report

You can generate a final relevant report for the three-body analysis to validate your work.

Creating a custom report style

Create a new custom report style in the Report & Graph Manager to begin designing your report.

  1. Right-click on L1HaloOrbit () in the Object Browser.
  2. Select Report & Graph Manager () in the shortcut menu.
  3. Select the MyStyles () directory.
  4. Click Create new report style ().
  5. Name your new report Jacobi Integral Report.
  6. Select the Enter key.

Configuring the data providers

Insert the data providers needed to build your Jacobi integral report.

  1. Expand () the Astrogator Values () directory.
  2. Expand () the MultiBody() directory.
  3. Insert () Time () to the Report Contents list.
  4. Insert () Jacobi_Integral () to the Report Contents list.
  5. Click OK.
  6. Click Generate. . ..
  7. Notice the Jacobi Integral over the length of the propagation. A value that is constant to several digits indicates that the model is numerically simulated properly.

Saving your work

Clean up and close out your scenario.

  1. Close any open reports, properties, and the Report & Graph Manager.
  2. Save () your work.

Summary

In this lesson, you set up a scenario to address the circular restricted three-body problem. You utilized the Design Tool CR3BP Setup Tool to build the components, but also investigated how you could build components manually. Then you designed a new force model and used that to model a satellite in L1 halo orbit of your idealized Moon, Noom. Finally, you examined some reports and reviewed how to model other L1 halo orbits using the solution derived in this work.