Under the hood maneuver planning with astrogator
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

Under The Hood: Maneuver Planning With Astrogator PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

Under The Hood: Maneuver Planning With Astrogator. Matt Berry Kevin Ring. Introduction to Astrogator The components of Astrogator Segments Stopping Conditions Engine Models Targeter Profiles Examples. What are they? What do they do? How do they work?. Agenda. What’s Astrogator?.

Download Presentation

Under The Hood: Maneuver Planning With Astrogator

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Under the hood maneuver planning with astrogator

Under The Hood:Maneuver Planning With Astrogator

Matt Berry

Kevin Ring


Agenda

Introduction to Astrogator

The components of Astrogator

Segments

Stopping Conditions

Engine Models

Targeter Profiles

Examples

What are they?

What do they do?

How do they work?

Agenda


What s astrogator

What’s Astrogator?

  • Astrogator is STK’s mission planning module

  • Used for:

    • Trajectory design

    • Maneuver planning

    • Station keeping

    • Launch window analysis

    • Fuel use studies

  • Derived from code used by NASA contractors

  • Embedded into STK


Astrogator in stk

Astrogator in STK

  • Astrogator is one of 11 satellite propagators

  • Propagator generates ephemeris

  • Astrogator satellite acts like other STK satellites

    • Can run STK reports (including Access)

    • Can animate in 3D and 2D windows

  • Generates ephemeris by running Mission Control Sequence (MCS)

  • Components used in MCS configured in Astrogator Browser


Astrogator

Astrogator

Astrogator

Mission Control Sequence

Configuration

Ephemeris

Astrogator

Runs Mission Control

Sequence

Other Mission

Data


The mission control sequence

The Mission Control Sequence

  • A series of segments that define the problem

  • A graphical programming language

  • Two types of segments

    • Segments that produce ephemeris

    • Segments that change the run flow of the MCS

  • Segments pass their final state as the initial state to the next segment

    • Some segments create their own initial state


The mission control sequence1

The Mission Control Sequence

State

Segment 1

Ephemeris

State

Ephemeris

Segment 2

State


Segments that produce ephemeris

Segments that produce ephemeris

  • Initial State – specifies initial conditions

  • Launch – simulates launching

  • Propagate – integrate numerically until some event

  • Maneuver – impulsive or finite

  • Follow – follows leader vehicle until some event

  • Update – updates spacecraft parameters


Initial state segment

Specify spacecraft state at some epoch

Choose any coordinate system

Enter in Cartesian, Keplerian, etc.

Enter spacecraft properties: mass, fuel, etc.

Initial state segment


Launch segment

Specify launch and burnout location

Specify time of flight

Use any central body

Connects launch and burnout points with an ellipse

Creates its own initial state

Launch segment


Propagate segment

Numerically integrates using chosen propagator

Propagator can be configured in Astrogator browser

Propagation continues until stopping conditions are met

Propagate segment


Stopping conditions

Stopping conditions

  • Define events on which to stop a segment

  • Stop when some “calc object” reaches a desired value

    • A calc object is any calculated value, such as an orbital element

    • Calc objects can be user-defined


Stopping conditions1

Stopping conditions

  • Can also specify constraints:

    • Only stop if another calc object is =, <, >, some value

    • Determines if exact point stopping condition is met, then checks if constraints are satisfied

    • Multiple constraints behave as logical “And”

  • Segments can have multiple stopping conditions

    • Stops when the first one is met

    • Behaves as a logical “Or”


Event detection

Event detection

  • Exact time of event found with Regula-Falsi

  • f(t)found by integrating to time t


Propagate segment pseudo code

Propagate segment: pseudo-code

while (keepGoing)

take integration step

if (stopping condition tripped over step)

find exact point of stopping condition

if (constraints met at that point)

keepGoing = false

end if

end if

end while


Maneuver segment

Maneuver segment owns two distinct segments:

Finite maneuver

Impulsive maneuver

Combo box controls which one is run

Finite maneuver created from impulsive maneuver with “Seed” button

Maneuver segment


Impulsive maneuver

Adds delta-V to the current state

Can specify magnitude and direction of delta-V

Computes estimated burn duration and fuel usage, based on chosen engine

Can configure engine model in Astrogator browser

Impulsive maneuver


Impulsive maneuver1

Impulsive maneuver

State

Impulsive Maneuver

Add delta-V to state

State


Finite maneuver

Works like propagate segment, thrust added to force model

Can specify the direction of the thrust vector

Can be specified in plug-in

Magnitude of thrust comes from engine model

Can center the burn about current state

Finite maneuver


Engine models

Compute thrust, Isp, and/or mass flow rate (two of three)

Four Kinds:

Constant Thrust and Isp

Polynomial Engine: T and Isp functions of pressure, temperature

Ion: Isp and mass flow functions of power

Plugin: you decide

Thrust and mass flow rate sent back to force model

Engine models


Finite burn seeding

Creates finite maneuver from impulsive

Duration stopping condition set to estimated burn duration of impulsive maneuver

Copies all settings from impulsive maneuver to finite maneuver

Finite burn seeding


Follow segment

Choose leader to follow

Specify offset from the leader

Follow leader between “joining conditions” and “separation conditions”

Behave just like stopping conditions

Creates its own initial state

Follow segment


Follow segment pseudo code

Follow segment: pseudo-code

while (keepGoing)

get leader’s next ephemeris point

add offset

if (not adding points yet)

if (joining conditions are met)

find exact point of joining condition

start adding points

end if

end if

if (adding points)

add point to ephemeris

if (separation conditions met over step)

find exact point of separation conditions

keepGoing = false

end if

end if

end while


Update segment

Used to update spacecraft properties

Useful to simulate stage separation, docking, etc

Set properties to a new value, or add or subtract from their current value

Update segment


Update segment1

Update segment

State

Update

Update state parameters

State


Segments that change run flow

Segments that change run flow

  • Auto-Sequences – called by propagate segments

  • Target Sequence – loops over segments, changing values until goals are met

  • Backwards Sequence – changes direction of propagation

  • Return – exits a sequence

  • Stop – stops computation


Auto sequences

Auto-sequences

  • Instead of stopping a segment, stopping conditions can trigger an auto-sequence

  • An auto-sequence is another sequence of segments

    • Behaves like a subroutine

  • After the auto-sequence is finished, control returns to the calling segment

  • Auto-sequences can inherit stopping conditions from the calling segment


Auto sequences example

Auto-sequences example

Initial State

Propagate

Apoapsis

Periapsis

Duration = 1 day

Burn In Plane

Sequence

Burn Out Of Plane

Sequence

Finite Maneuver

In Plane

Finite Maneuver

Out of Plane

Duration = 100 sec

Duration= 100 sec


Target sequence

Runs through a series of targeter profiles

Behaves like a while loop

Profile manipulates the segments in target sequence

Two types of profiles:

Differential corrector

Profiles that change segments’ properties

Target sequence


Differential corrector

Differential corrector

  • Controls chosen from segments in target sequence

  • Results are calc objects computed at the end of segments in the sequence

  • Determine controls, x, to meet results, y:

  • Evaluated by running targeter sequence


Differential corrector1

Differential corrector

  • Correction to controls found from linearized Taylor series:

  • A found from finite differencing, perturbation added to each control

  • Inverse found from singular value decomposition


Differential corrector pseudo code

Differential corrector: pseudo-code

run sequence to get results

while (not converged and count < max iterations)

for each control

adjust control by perturbation

run sequence to get results

end for

compute partial matrix

compute inverse of partials

compute new control values

run sequence to get results

increment count

end while


Profiles that alter segment properties

Profiles that alter segment properties

  • Change maneuver type – toggles finite / impulsive

  • Seed finite maneuver – creates finite from impulsive maneuver

  • Change stopping conditions – toggles stopping conditions

  • Change return – enables / disables return segment


Target sequence pseudo code

Target sequence: pseudo-code

execute each profile

run sequence final time

clean up after profiles

  • After targeter finished running, segments left in original state

  • Changes to controls / segment properties not applied until “Apply Corrections” button is used


Using the targeter effectively

Using the targeter effectively

  • Multiple targeting profiles divide problem into parts

    • Coarse and fine targeting

    • U.S. Patent No. 6,937,968

  • Target sequence can be changed between DC profiles with segment property profiles

  • Differential corrector relies on good partials

    • Set perturbation and max step appropriately

    • Best to have equal number of controls and results


Targeting examples

Targeting examples

  • Coarse and fine targeting of a maneuver

  • Example of “bad partials”


Backward sequence

Segments in backward sequences propagated backwards:

Propagate & finite maneuvers integrated with negative time step

Impulsive maneuvers’ delta-Vs are subtracted

Can pass initial or final state of sequence to next segment

Backward sequence


Backwards prop example

Backwards prop example

  • Meet in the middle targeting problem


Putting the ephemeris together

Putting the ephemeris together

  • Segment ephemeris merged after MCS is run

  • When overlaps occur: later segment in MCS wins

  • Only overlapped portion of earlier segment’s ephemeris removed

  • Possible to have discontinuous ephemeris

  • Sequences have option not to generate ephemeris


Ephemeris merging

Ephemeris merging

Segment 1

Segment 2

Final Ephemeris

0

5

10

15

time

Two points

at the same time


Ephemeris merging example

Ephemeris merging example


Summary

Summary

  • Astrogator is a tool in STK for mission planning

  • Astrogator is not complicated – it just does what you tell it to do

  • Some math in Astrogator

    • Event detection

    • Differential corrector

    • Engine model

    • Orbit propagation

  • Configuring Astrogator is the key


Other related events

Other related events

  • Methods of Orbit Propagation Jim WoodburnWednesday 10:45 a.m.-12:15 p.m.

  • Space SystemsJohn Carrico and Bob HallWednesday 10:45 a.m.-12:15 p.m.

  • Astrogator Users’ Group breakfastThursday 7:15 a.m.

  • STK Plug-ins using Compiled CodeVince CoppolaThursday 10:45 a.m.-12:15 p.m.


Questions

Questions

?


  • Login