Maneuver Planning with Astrogator

Download Report

Transcript Maneuver Planning with Astrogator

Under The Hood:
Maneuver Planning With Astrogator
Matt Berry
Kevin Ring
AGI
Pg 1 of 44
www agiuc com
Agenda
• Introduction to Astrogator
• The components of
Astrogator
–
–
–
–
Segments
Stopping Conditions
Engine Models
Targeter Profiles
• What are they?
• What do they do?
• How do they work?
• Examples
AGI
Pg 2 of 44
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
AGI
Pg 3 of 44
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
AGI
Pg 4 of 44
www agiuc com
Astrogator
Mission Control Sequence
Configuration
Astrogator
Runs Mission Control
Sequence
AGI
Pg 5 of 44
Ephemeris
Other Mission
Data
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
AGI
Pg 6 of 44
www agiuc com
The Mission Control Sequence
State
Segment 1
Ephemeri
s
State
Segment 2
Ephemeri
s
State
AGI
Pg 7 of 44
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
AGI
Pg 8 of 44
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.
AGI
Pg 9 of 44
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
AGI
Pg 10 of 44
www agiuc com
Propagate segment
• Numerically integrates
using chosen propagator
• Propagator can be
configured in Astrogator
browser
• Propagation continues
until stopping conditions
are met
AGI
Pg 11 of 44
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
AGI
Pg 12 of 44
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”
AGI
Pg 13 of 44
www agiuc com
Event detection
• Exact time of event found with Regula-Falsi
f (a)
c  (b  a)
f (a)  f (b)
f (c )  0  a  c
f(b)
f (c )  0  b  c
f(c)=>f(a)
f(a)
•
f(t) found by integrating to time t
AGI
Pg 14 of 44
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
AGI
Pg 15 of 44
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
AGI
Pg 16 of 44
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
AGI
Pg 17 of 44
www agiuc com
Impulsive maneuver
State
Impulsive Maneuver
Add delta-V to state
State
AGI
Pg 18 of 44
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
AGI
Pg 19 of 44
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
 g Isp
T   m
• Thrust and mass flow rate sent back to force model
AGI
Pg 20 of 44
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
AGI
Pg 21 of 44
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
AGI
Pg 22 of 44
www agiuc com
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
AGI
Pg 23 of 44
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
AGI
Pg 24 of 44
www agiuc com
Update segment
State
Update
Update state parameters
State
AGI
Pg 25 of 44
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
AGI
Pg 26 of 44
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
AGI
Pg 27 of 44
www agiuc com
Auto-sequences example
Initial State
Propagate
Duration = 1 day
AGI
Periapsis
Apoapsis
Burn In Plane
Sequence
Burn Out Of Plane
Sequence
Finite Maneuver
In Plane
Finite Maneuver
Out of Plane
Duration = 100 sec
Duration = 100 sec
Pg 28 of 44
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
AGI
Pg 29 of 44
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:
F (x)  y
• Evaluated by running targeter sequence
AGI
Pg 30 of 44
www agiuc com
Differential corrector
• Correction to controls found from linearized Taylor series:
y  y0  Ax 

-1

x

A
( y  y0 )

A  F( x ) x 
0 
• A found from finite differencing, perturbation added to each
control
f i ( x ) f i ( x1 ,..., xk  xk ,..., xn )  f i ( x1 ,..., xk ,..., xn )

xk
xk
• Inverse found from singular value decomposition
AGI
Pg 31 of 44
www agiuc com
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
AGI
Pg 32 of 44
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
AGI
Pg 33 of 44
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
AGI
Pg 34 of 44
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
AGI
Pg 35 of 44
www agiuc com
Targeting examples
• Coarse and fine targeting of a maneuver
• Example of “bad partials”
AGI
Pg 36 of 44
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
AGI
Pg 37 of 44
www agiuc com
Backwards prop example
• Meet in the middle targeting problem
AGI
Pg 38 of 44
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
AGI
Pg 39 of 44
www agiuc com
Ephemeris merging
Segment 1
Segment 2
Final Ephemeris
0
5
10
15
time
Two points
at the same time
AGI
Pg 40 of 44
www agiuc com
Ephemeris merging example
AGI
Pg 41 of 44
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
AGI
Pg 42 of 44
www agiuc com
Other related events
• Methods of Orbit Propagation
Jim Woodburn
Wednesday 10:45 a.m.-12:15 p.m.
• Space Systems
John Carrico and Bob Hall
Wednesday 10:45 a.m.-12:15 p.m.
• Astrogator Users’ Group breakfast
Thursday 7:15 a.m.
• STK Plug-ins using Compiled Code
Vince Coppola
Thursday 10:45 a.m.-12:15 p.m.
AGI
Pg 43 of 44
www agiuc com
Questions
?
AGI
Pg 44 of 44
www agiuc com