44
Pg 1 of 44 AGI www agiuc com Under The Hood: Maneuver Planning With Astrogator Matt Berry Kevin Ring

Pg 1 of 44 AGI www agiuc com Under The Hood: Maneuver Planning With Astrogator Matt Berry Kevin Ring

Embed Size (px)

Citation preview

Pg 1 of 44AGI www agiuc com

Under The Hood:

Maneuver Planning With AstrogatorMatt Berry

Kevin Ring

Pg 2 of 44AGI www agiuc com

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?

Pg 3 of 44AGI www agiuc com

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

Pg 4 of 44AGI www agiuc com

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

Pg 5 of 44AGI www agiuc com

AstrogatorAstrogator

Mission Control SequenceConfiguration

Mission Control SequenceConfiguration

Astrogator

Runs Mission ControlSequence

EphemerisEphemeris

Other MissionData

Other MissionData

Pg 6 of 44AGI www agiuc com

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

Pg 7 of 44AGI www agiuc com

The Mission Control Sequence

State

Segment 1

State

Segment 2

State

Ephemeris

Ephemeris

Pg 8 of 44AGI www agiuc com

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

Pg 9 of 44AGI www agiuc com

Initial state segment

• Specify spacecraft state at some epoch

• Choose any coordinate system

• Enter in Cartesian, Keplerian, etc.

• Enter spacecraft properties: mass, fuel, etc.

Pg 10 of 44AGI www agiuc com

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

Pg 11 of 44AGI www agiuc com

Propagate segment

• Numerically integrates using chosen propagator

• Propagator can be configured in Astrogator browser

• Propagation continues until stopping conditions are met

Pg 12 of 44AGI www agiuc com

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

Pg 13 of 44AGI www agiuc com

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”

Pg 14 of 44AGI www agiuc com

Event detection

• Exact time of event found with Regula-Falsi

• f(t) found by integrating to time t

cbcf

cacf

bfaf

afabc

0)(

0)(

)()(

)()(

f(c)=>f(a)

f(a)

f(b)

Pg 15 of 44AGI www agiuc com

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

Pg 16 of 44AGI www agiuc com

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

Pg 17 of 44AGI www agiuc com

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

Pg 18 of 44AGI www agiuc com

Impulsive maneuver

State

Impulsive Maneuver

Add delta-V to state

State

Pg 19 of 44AGI www agiuc com

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

Pg 20 of 44AGI www agiuc com

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

IspgmT

Pg 21 of 44AGI www agiuc com

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

Pg 22 of 44AGI www agiuc com

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

Pg 23 of 44AGI www agiuc com

Follow segment: pseudo-codewhile (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 pointsend if

end ifif (adding points)

add point to ephemerisif (separation conditions met over step) find exact point of separation

conditions keepGoing = falseend if

end ifend while

Pg 24 of 44AGI www agiuc com

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

Pg 25 of 44AGI www agiuc com

Update segment

State

Update

Update state parameters

State

Pg 26 of 44AGI www agiuc com

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

Pg 27 of 44AGI www agiuc com

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

Pg 28 of 44AGI www agiuc com

Auto-sequences example

Initial State

Propagate

Burn In PlaneSequence

Burn Out Of PlaneSequence

Duration = 1 day Periapsis Apoapsis

Finite ManeuverIn Plane

Finite ManeuverOut of Plane

Duration = 100 sec Duration = 100 sec

Pg 29 of 44AGI www agiuc com

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

Pg 30 of 44AGI www agiuc com

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

yxF )(

Pg 31 of 44AGI www agiuc com

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

)(A)F(A

A0

1-0

0

yyxx

xyy

x

k

nkinkki

k

i

x

xxxfxxxxf

x

xf

),...,,...,(),...,,...,()( 11

Pg 32 of 44AGI www agiuc com

Differential corrector: pseudo-code

run sequence to get resultswhile (not converged and count < max iterations)for each control

adjust control by perturbationrun sequence to get results

end forcompute partial matrixcompute inverse of partialscompute new control valuesrun sequence to get resultsincrement count

end while

Pg 33 of 44AGI www agiuc com

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

Pg 34 of 44AGI www agiuc com

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

Pg 35 of 44AGI www agiuc com

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

Pg 36 of 44AGI www agiuc com

Targeting examples

• Coarse and fine targeting of a maneuver

• Example of “bad partials”

Pg 37 of 44AGI www agiuc com

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

Pg 38 of 44AGI www agiuc com

Backwards prop example

• Meet in the middle targeting problem

Pg 39 of 44AGI www agiuc com

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

Pg 40 of 44AGI www agiuc com

Ephemeris merging

Segment 1

Segment 2

Final Ephemeris

time

5 10 150

Two pointsat the same time

Two pointsat the same time

Pg 41 of 44AGI www agiuc com

Ephemeris merging example

Pg 42 of 44AGI www agiuc com

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

Pg 43 of 44AGI www agiuc com

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.

Pg 44 of 44AGI www agiuc com

Questions

?