Maintaining GEO Slot

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.

Capabilities Covered

This lesson covers the following STK Capabilities:

  • STK Pro
  • Astrogator

Problem Statement

Like any other orbital regime, geosynchronous orbits (GEO) are subject to various perturbation forces that impact the stability of GEO satellites in terms of position (attitude disturbances won’t be covered in this manual). The main sources of perturbation are the Earth’s nonspherical geopotential, solar radiation pressure and third body effects, mainly Moon and Sun. The overall effect is a longitude drift, whose direction depends on the longitude itself, and change in inclination over time. GEO satellite operators keep each spacecraft inside a well-defined box so as to not interfere with other satellites in the surrounding space. This activity is called station keeping. They want to model Station Keeping in STK.

Solution

Use STK's Astrogator capability to see how to design and perform station keeping using Automatic Sequences. We will create a sequence for the East-West station keeping based on longitude control and a sequence for North-South station keeping based on pure inclination control.

What You Will Learn

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

  • Design a reference GEO Slot
  • Create a new VVLH system
  • Create and set East-West station keeping Automatic Sequences
  • Create and set North-South station keeping Automatic Sequences

Video Guidance

Watch the following video. Then follow the steps below, which incorporate the systems and missions you work on (sample inputs provided).

Model the World!

Before you can begin with any analysis, you need to create a scenario and add a satellite. Let's do that now.

  1. Create a new scenario and call it GEOStationKeeping.
  2. Set the analysis time to the following:
  3. Option Value
    Analysis Start Time 1 Apr 2016 10:00:00.00 UTCG
    Analysis End Time +450 Days

    This is a good time span to evaluate how many times a single station keeping maneuver is required during extended operations.

Define the Reference GEO slot

  1. Insert a satellite () using the Orbit Wizard () method.
  2. In the Type field, select Geosynchronous.
  3. Name the satellite Reference.
  4. Set the Subsatellite Point to 13 deg.
  5. Click OK .
  6. This creates a 13 deg East GEO satellite that is not subject to any disturbance drift force since the propagator used is J2.

    The Coordinate System used in this case is Earth / True Of Date

  7. Open Reference's () properties ().
  8. Select the 3D Graphics - Orbit System page.
  9. Enable the Fixed by Window option on the Orbit System page.
  10. Disable the Inertial by Window option.
  11. Select the 3D Graphics - Proximity page.
  12. Enable the Show field in the Geostationary Box panel.
  13. Set the following values:
Option Value
Longitude 13 deg
North/South 0.5 deg
East/West 0.5 deg
Radius 42166.3 km

In a real operational model, the GEO Slot box would be much smaller (0.05 deg x 0.05 deg). This lesson is a simple model with a bigger box.

Declutter the 3D Graphics Window

You have some labels and orbit lines you want to remove from the 3D Graphics window.

  1. Select the 2D Graphics - Attributes page.
  2. Clear the Inherit from Scenario check box.
  3. Clear the Show Label and Show Orbit check boxes:
  4. Click OK to apply the changes.
  5. Bring the 3D Graphics window to the front and zoom to Reference satellite to see the station keeping box.

Add the Astrogator satellite

  1. Insert a satellite () using the Define Properties () method.
  2. Rename the satellite GEO_Sat.
  3. On the Basic - Orbit tab, set the Propagator to Astrogator.
  4. Select the Initial State segment.
  5. In the Coordinate Type field, select Keplerian.
  6. Set the following field:
  7. Note that the RAAN variable has been changed to Lon. of Asc. Node.

    Option Value
    Semi Major Axis 42166.3 km
    Eccentricity 0
    Inclination 0 deg
    Lon. of Asc. Node 13 deg
    Argument of Periapsis 0 deg
    True Anomaly 352.96 deg
  8. Select the Propagate segment.
  9. Set the Trip value to 450 days.
  10. Disable the "Condition Inherited by Automatic Sequences"

Create a New VVLH System

  1. Bring GEO_Sat's () properties () to the front.
  2. Select the 3D Graphics - Orbit System page.
  3. Click Add VVLH System... .
  4. Select the Reference satellite, then click OK .
  5. Clear the Inertial by Window System.

Set the Orbit Tracks

  1. Select 3D Graphics - Pass page.
  2. Set the following options for the Orbit Track:
  3. Option Value
    Lead Type None
    Trail Type Time
    Time 720 hr
  4. Open the Basic - Orbit page.
  5. Run () the MCS to see the satellite's behavior over the time period.
  6. Click OK .

The inclination change over time is mainly due to the third body perturbations, and it could vary depending on the initial epoch you set for the scenario. The satellite also drifts eastward – this could change if we change the initial longitude slot.

East-West Station Keeping

We need to keep the satellite within the boundaries of the station keeping box and, since the East threshold is reached first, we’ll implement the East-West station keeping procedure first.

Create custom Calculation Objects

Some of the parameters you will use must be created in the Component Browser. These will be used as results for one of the Autosequences. The goal is to make sure each parameter used is in the correct reference frame.

  1. Extend the Utilities menu.
  2. Select the Component Browser... option.
  3. Expand the Calculation Objects directory.
  4. Select the Keplerian Elems directory.

True of Date Frame

You can create new components in the True of Date frame. Instead of creating it from scratch you can duplicate and modify existing components.

  1. Select Inclination.
  2. Click duplicate ().
  3. Rename the component TOD Inclination.
  4. Double-click on TOD Inclination to open the properties.
  5. Double-click the CoordSystem Value field.
  6. Change the Filter by selection to Primary Central Bodies.
  7. Select Earth in the Object list.
  8. Select TOD in the Systems list.
  9. Click OK .
  10. Click OK .
  11. Click Close to close the Component Browser.

Add the East – West station keeping procedure Autosequence

Since the satellite is drifting eastward, the maneuver to implement the orbit should reduce the angular speed while initiating a westward drift. If you fire along the velocity direction, you are going to increase the semi-major axis and reduce the orbital angular speed.

After the burn, the satellite starts drifting westward. However since the disturbing forces are always present, the drift is reduced over time. After some time there is a turnaround point, where the effects of the burn are nullified by the perturbing forces. Eventually, the satellite starts to drift eastward again and the cycle repeats itself.

The Delta-V magnitude should be calibrated to allow the satellite to have the turnaround point at the west border of the station keeping box: in this way we can minimize the number of burns executed. Let’s model this strategy as an Astrogator Autosequence.

  1. Open the GEO_Sat’s () properties ().
  2. Select the Basic - Orbit page.
  3. From the Automatic Sequence Browser () create a new Sequence and name it EW Station Keeping.
  4. Double-click the EW Station Keeping sequence to edit it.
  5. Inside the EW Station Keeping sequence's MCS add a Sequence () and rename it EW_Station_Keeping.
  6. Nested inside add a Propagate () segment and name it Stop on Apogee.
  7. Change the Propagate segment color to red.
  8. Add a new Apoapsis Stopping Condition.
  9. Delete the default Duration Stopping Condition.

Add a Target Sequence

  1. Add a Target Sequence () and name it Target Turn Around.
  2. As nested segments, add the following:
    • Maneuver () named EW Burn
    • Propagate () named Prop to Second Node
    • Return () with a type Enable (except Profiles bypass)
    • Propagate () named Prop to Ascending Node

When at apogee, the EW Burn segment fires a Delta-V whose magnitude is an independent variable. After that, we’ll make the propagator run until the second node is reached – this is because we’d like to wait some time before checking for a result (remember that, at this point, the satellite is drifting eastward).

Having the Return segment in the sequence and setting it to bypass, the Prop to Ascending Node that is only run before the convergence of the Differential Corrector.

Define the EW Burn Maneuver

Let’s model the EW Burn maneuver.

  1. Select the EW Burn () maneuver segment in the MCS.
  2. Set the Attitude Control to Thrust Vector.
  3. Set the Thrust Axes to VNC(Earth).
  4. Set X(Velocity) () as an independent variable.

Define the Prop to Second Node Propagate Segment

  1. Select the Prop to SecondNode () propagate segment in the MCS.
  2. Add an Ascending Node stopping condition.
  3. Set the Repeat Count value to two(2). It will propagate until the second node is reached.
  4. Set the Coordinate System to Earth TOD.
  5. Remove the Duration stopping condition.

Define the Prop to Ascending Node Propagate Segment

  1. Select the Prop to Ascending Node () propagate segment in the MCS.
  2. Add an Ascending Node stopping condition.
  3. Set the Coordinate System to Earth TOD.
  4. Click the ellipsis () button in the Constraints section.

Define the Constraints

  1. Move () the UserDefined option.
  2. Double-click in the ComponentName field and change the name to Min_Longitude
  3. Double-click the Criteria field to set the Value
  4. In the Selection field, select Greater Than Minimum.
  5. The Greater Than Minimum criteria assures that the propagation will take place until the turnaround point and, when the satellite starts drifting eastward once again, it is stopped as soon as an ascending node is met.

  6. Click OK.
  7. Double-click the value field to set the CalcObject.
  8. Click the Change... button in the Embedded Component Link Select window to change the Component Name.
  9. Set the new component to Geodetic > Longitude.
  10. Click OK .
  11. Set the Tolerance to 0.05 deg.

Save and Remove the Duration Stopping Condition

  1. Click OK to save your changes and close the window.
  2. Remove () the Duration stopping condition.

Set the Results

  1. Select the Prop to Ascending Node segment.
  2. Click Results... .
  3. Set a new component as a result, move () Math > Minimum Value as the only dependent variable.
  4. Change the ComponentName to Minimum_Longitude.
  5. Change the CalcObject to Geodetic > Longitude:
  6. Click OK .
  7. Click OK to close the results panel.

Create a Target Sequence

  1. Select the Target_Turn_Around ().
  2. Double-click the Differential Corrector.
  3. Enable the ImpulsiveMnvr.Pointing.Cartesian.X component as a Control Parameter.
  4. Set the Perturbation to 0.01 m/sec and Max Step to 1 m/sec. The satellite will be conducting small adjustments to maintain the orbit, we want our Max Step and Perturbations to be on a similar scale.
  5. Enable the Minimum_Longitude as a Result.
  6. Set the Desired value to 12.55 deg. The satellite will be using the whole box during its maneuvers and we are allowing for a guard band by setting our desired value to 12.55 deg.
  7. Set the Tolerance to 0.001 deg.
  8. Click OK .
  9. Set the Action field to Run active profiles.
  10. Click OK to close the EW Station Keeping properties panel.

Add the North – South station keeping procedure as Autosequence

Inclination correction requires much more fuel than the in-plane correction, so a good strategy is necessary to save fuel and make the operational life longer. Here we will implement a basic procedure in which we wait until an appropriate time to fire along the velocity and orbit normal directions to reduce the inclination while also keeping a circular, geosynchronous orbit (pure inclination control). Other techniques include RAAN control, in which we change the RAAN to get an inclination reduction over time.

  1. From the Automatic Sequence Browser create a new Sequence and name it NS Station Keeping.
  2. Double-click NS Station Keeping to edit it.
  3. Begin adding segments inside the NS Station Keeping sequence's MCS.
  4. Add a Target Sequence () and name it NS SK Drift.
  5. Add a Maneuver () segment and name it NS Burn.
  6. Drag and drop the Maneuver segment, NS Burn, () below the Target Sequence, NS SK Drift, (). The Maneuver is now within the Target Sequence.

When at ascending node, the NS Burn segment fires a Delta-V whose components are independent variables.

Define the NS Burn Maneuver

  1. Select the NS Burn () maneuver segment in the MCS.
  2. Set the Attitude Control to Thrust Vector.
  3. Set the Thrust Axes to VNC(Earth).
  4. Set X(Velocity) and Y(Normal) () as independent variables.
  5. Set the Y(Normal) value to -200 m/sec

Define the Results

  1. Select the NS Burn () segment.
  2. Click Results... and move () Math > Difference as a component variable.
  3. Set the ComponentName to SMA_Diff.
  4. Change the CalcObject to Keplerian Elems > Semimajor Axis.
  5. Set the DifferenceOrder to Current Minus Initial.
  6. Move () Keplerian Elems > TOD Inclination as the second component variable.
  7. Click OK to close the Results panel.

Define the Thrust Components

  1. Select the NS SK Drift ().
  2. Double-click the Differential Corrector.
  3. Enable the following Control Parameters:
    • ImpulsiveMnvr.Pointing.Cartesian.X
    • ImpulsiveMnvr.Pointing.Cartesian.Y
  4. For the X component, set the Perturbation to 0.1 m/sec and Max Step to 10 m/sec.
  5. For the Y component, set the Perturbation to 0.1 m/sec and Max Step to 10 m/sec.
  6. Set the following Equality Constraints (Results):
    OptionDesired ValueTolerance
    SMA_Diff0 km0.01 km
    TOD_Inclination0 deg0.001 deg
  7. Change the Scaling Method to By tolerance.
  8. Click OK .

Set Action field

  1. Set the Action field to Run active profiles.
  2. Click OK to close NS Station Keeping properties panel.
  3. Click OK to close the Automatic Sequence Browser.
  4. Save your scenario.

Running the main sequence

After defining the two station-keeping Autosequences, we now need to characterize the main propagation segment. We will add a new stopping condition to limit how long the satellite will propagate for; in the meantime, two things can happen:

  • The satellite approaches the East border of the GEO box and a EW Station Keeping maneuver is required
  • The satellite approaches the North/South border of the GEO box and a NS Station Keeping maneuver is required

Create Additional Stopping Conditions

Let’s create two additional Stopping Conditions to trigger the Autosequences. First, you will add one stopping condition to trigger the East West stationkeeping autosequence.

  1. Bring GEO_Sat's () properties () to the front.
  2. Select the GEO_Sat Basic - Orbit page.
  3. Select the Propagate () segment.
  4. Add an Apoapsis Stopping Condition and name it Apoapsis EW.
  5. In the Sequence section set the Sequence to EW Station Keeping.
  6. Set the Repeat Count to three (3).
  7. Click the Advanced button and set the Maximum Propagation Time to 10 yr.
  8. Click OK to close the Propagator Advanced window

Set a Before Condition for the EW Station Keeping Condition

We will add a condition to limit the distance the spacecraft can travel in the longitudinal direction. Since you do not want to overshoot the border of your geostationary box, you can propagate to its border at 13.5 degree longitude, then perform the maneuver at the apoapsis before the longitude limit has been surpassed.

  1. Click ... next to the Before field.
  2. Click New () to add a Longitude stopping condition.
  3. Click OK .
  4. In the Stop Before window set the Trip value to 13.5 deg.
  5. Click OK to close the Stop Before Window.

Add an Ascending Node NS Stopping Condition

Next add a stopping condition to trigger the North South StationKeeping autosequence.

  1. Add an AscendingNode Stopping Condition and name it AscendingNode NS.
  2. Set the Sequence to NS Station Keeping.
  3. Set the Coord. System to Earth TOD.

Set a Constraint for the NS Station Keeping

We will add a constraint to limit the changes in the spacecrafts inclination.

  1. Click ... next to the Constraints field.
  2. Move () the UserDefined option.
  3. Double-click in the ComponentName field and change the name to MaxInclination..
  4. Set the Criteria to Greater Than .
  5. Double-click the value field to set the Calc Object
  6. Click the Change... button in the Embedded Component Link Select window to change the Component Name.
  7. Set the new component to Keplerian > TOD Inclination
  8. Confirm that the CoordSystem Field reference is set to the Earth TOD reference system.
  9. Click OK .
  10. In the Select Constraints window, set the Value to 0.45 deg.
  11. Click OK .
  12. Save your scenario.

This assures that the propagation is stopped before the inclination reaches 0.45 deg.

Run the MCS

  1. Clear the Graphics.
  2. Run () the MCS.
  3. Click the Clear Graphics button to remove the drawn trajectories.
  4. Increase your animation time and animate your scenario.

The satellite starts drifting eastward and its inclination starts changing over time. When the East border is reached, EW station keeping is performed and the drift is reversed in the opposite direction:

The amount of Delta-V is targeted such that the turnaround occurs at 12.5 deg longitude (the Western edge of the box):

Create Custom Graphs for the GEO_Sat

  1. Create a custom graph of the Classical Elements - TrueOfDate - Longitude of Perigee.
  2. Create a custom graph of the Classical Elements - TrueOfDate - Inclination.