Circular Restricted Three-body Problem (CR3BP) Configuration

STK Premium (Space) or STK Enterprise
You can obtain the necessary licenses for this training by contacting AGI Support at support@agi.com or 1-800-924-7244.

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

Capabilities covered

This lesson covers the following STK Capabilities:

  • 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 (CR3BP) 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 STK's 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 the STK scenario 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

  1. Create a new scenario and call it EarthMoonCRP.
  2. Set the analysis time to the following:
  3. Option Value
    Analysis Start Time 4 Mar 2019 17:00:00.000 UTCG
    Analysis End Time

    +30 days

  4. Click OK.

Inserting a satellite

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

  1. Insert a default satellite ().
  2. Right-click the Satellite () object.
  3. Select Rename.
  4. Rename the Satellite () object to L1HaloOrbit.
  5. Click Save (). A folder with the same name as your scenario is created for you.
  6. In the Save As window, verify the scenario name and location and click Save.

Please save your scenario as a .sc file, because you will build custom components in the Component Browser. VDFs (the other save option) may not package external files held by the Component Browser.

Setting up CR3BP with Design Tools

Within the Design Tools, you will use the CR3BP Setup Tool to define a new circular orbit Moon and call it Noom. You will build the necessary components with this setup tool. This tool is built to assist in configuring the scenario to address the Circular Restricted Three-Body Problem.

  1. Open the Component Browser from the Utilities menu.
  2. From the list of component folders, open the Design Tools.
  3. Duplicate the CR3BP Setup Tool.
  4. Set the name to "Noom Setup".
  5. Open the Noom Setup properties.

You cannot duplicate orange components. 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, you can specify the orbit for the central body. For each setup, there will be a list of components in the top right with the Mass Parameter and Characteristic components. These values aren't editable, but you can copy and modify their format. As you create components, those components will populate the Associated Objects list.

  1. Central Body should be Earth.
  2. Set Source Secondary to Moon. The list of available Source Secondary bodies will change depending on the selected Central Body.
  3. Leave the initial Epoch as the scenario start time.
  4. Set the Ideal Orbit Radius as "Epoch-centered average source radius".
  5. Set the name of the Ideal Secondary to "Noom."
  6. Tab or click out of the box to validate the name.
  7. Click Create.
  8. Review the Associated Objects list. You have just created a new idealized circular orbit "Noom" central body. You can also verify that it is built by checking the Central Bodies folder in the Component Browser.
Valid names should not have spaces and cannot be "Moon", another central body, nor the sample text in the field. As you make changes to modify aspects of Noom, the yellow dots indicate the that listed Associated Objects are inconsistent with a particular setting under Configure Idealized Secondary. You will need to use Update or Reset to adjust the configuration.

Creating the components

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. Click Create under the Calculation Objects for Selected System list.
  5. 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 folder in the Component Browser.
  6. Click Add to Collection.
  7. Close the Component Browser.
After creating the calculation objects for a particular coordinate system, the "Create" button 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.

Modeling the new central body Noom

Now that you created the new Noom, have STK display it 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. Set the Ephemeris Source to Analytic.
  5. Select the 2D Graphics - Attributes tab.
  6. Make the following changes:
  7. Option Value
    Inherit from scenario Off
    Show Subplanet Point Off
    Show Subplanet Label Off
    Show Orbit On
  8. Increase the Line Width.
  9. On the 3D Graphics - Attributes tab, 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 real Moon.

  1. Close the 2D Graphics Window.
  2. Right-click Noom and Zoom To in the 3D Graphics window. 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 the Noom and Moon would overlap.

Adding imagery for Noom

Update the imagery for Noom.

  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.
  4. Right-click Noom in the Globe Manager Hierarchy tab.
  5. Select Add Terrain/Imagery ().
  6. Open the Path drop-down menu.
  7. Select <STK install folder>\STKData\VO\Textures.
  8. Select gray.jp2 or Moon.jp2 from the directory.
  9. Click Add .
  10. Your 3D window should look similar to this:

  11. Clear the Moon check box in the Globe Manager Hierarchy tab.
  12. Save () the 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. Also, in case you do not have STK 12.7 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.

  1. Extend the View menu and select Duplicate 3D Graphics Window. You will use the existing settings for the 3D Graphics window and update these to display your rotating frame trajectory.
  2. Click the Properties () button in the new 3D Graphics window.
  3. Open the Vector tab. You may want to add axes, planes, or additional libration points to the window. For now, you’ll just add the Earth-Noom L1 libration point.
  4. Open the Points tab and click Add… .
  5. Select Noom from the list of Primary Central Bodies.
  6. Select the L1 point () from the "Components for" section. You will need to scroll down to the bottom of the list.
  7. Click OK.
  8. Optionally, change the color of the point.
  9. Change the System field to EarthNoomBarycenterCenteredRotating. If you are using Luna, then select EarthLunaBarycentered for all equivalent changes.
  10. Change the size of the point to your preference.
  11. Click Apply, then click OK.
  12. Save () the scenario.

Configuring the force model

You built and defined the Noom central body. In the next few steps you will create a force model that utilizes it.

  1. Extend the Utilities menu.
  2. Select the Component Browser... option.
  3. Select the Propagators directory.
  4. Select the Three Body template.
  5. Click Duplicate component ().
  6. Rename the new propagator "EarthNoomCRP".
  7. Double-click EarthNoomCRP to open the properties panel.
  8. In the CR3BP Force, set the secondary body to Noom.
  9. Click OK.

Setting up the Astrogator satellite

Now that you have defined all the components of your new system, you will place a satellite in orbit about the L1 point.

Configuring the 3D view

You will go through L1HaloOrbit's () properties and set its specific parameters.

  1. Double-click L1HaloOrbit () to open its properties. You added the L1HaloOrbit () Satellite object at the beginning of this tutorial.
  2. Open the 3D Graphics - Orbit System page.
  3. Click Add VGT System... .
  4. Change the Filter by option to Primary Central Bodies.
  5. Select Noom from the list of central bodies.
  6. Select EarthNoomBarycenterCenteredRotating from the "Systems for" Noom list.
  7. Click OK.

Editing the satellite's properties

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

Configuring the orbit

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

  1. Open the Basic - Orbit page.
  2. Ensure the Initial State is selected.
  3. Change the Propagator to Astrogator.
  4. Define the properties within the Elements tab as follows:
  5. 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

Update the propagator

  1. Select the Propagate segment
  2. Change the propagator to EarthNoomCRP.
  3. Click Advanced… .
  4. Set the Minimum propagation time to 10 sec.
  5. Click OK.
  6. Add a Z-X Plane Cross stopping condition with the following definitions:
  7. Option Value
    Criterion Cross Increasing
    Repeat Count 5
    Coord. System Noom EarthNoomBarycenterCenteredRotating
  8. Remove or disable the Duration stopping condition.
  9. Right-click the Propagate segment and select Results…
  10. Open the Cartesian Elems folder.
  11. Add the six "BarycenteredEarthNoom" position and velocity calculation objects.
  12. Save () the scenario.

Generate 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 looks like these examples. These examples are for one revolution.
  2. An Earth-Noom L1 halo orbit, rotating view

    An Earth-Noom L1 halo orbit, inertial view

  3. Right-click the Propagate segment and select Summary….
  4. Scroll to the bottom 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.
  5. Save () the scenario.

Jacobi constant report

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

  1. Right-click the satellite () in the Object Browser.
  2. Select the Report & Graph Manager ().
  3. Select the MyStyles directory.
  4. Click the New Report button ().
  5. Set the name to "Jacobi Constant Report".
  6. Expand the Astrogator Values directory.
  7. Expand the MultiBody directory.
  8. Move () Time to the Report Contents.
  9. Move () Jacobi Constant to the Report Contents.
  10. Click OK.
  11. Generate the report.
  12. Notice the Jacobi constant over the length of the propagation. A value that is constant to several digits indicates that the model is numerically simulated properly.

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 or "Noom". Finally, you examined some reports and also discussed how to model other L1 Halo Orbits using the derived solution in this work.