Astrogator Automation: Inside - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

Astrogator Automation: Inside

Description:

Linearization of a Taylor series expansion about a known state ... Return from Libration Point or Helio for Maintenance. Pg 33 of 61. AGI. www.agi.com ... – PowerPoint PPT presentation

Number of Views:298
Avg rating:3.0/5.0
Slides: 68
Provided by: AGI49
Category:

less

Transcript and Presenter's Notes

Title: Astrogator Automation: Inside


1
Astrogator AutomationInside Out
2
Agenda
  • Background
  • Automation Inside Astrogator
  • Automation Outside Astrogator
  • Full Analysis Example
  • Conclusions
  • Questions

3
What is Astrogator?
  • Missions analysis and operations often include
    orbit maneuvers
  • Fuel use
  • Maneuver strategies
  • Station-keeping
  • Need to calculate initial conditions to achieve
    desired orbits
  • Maneuver planning
  • Reconstruction
  • Calibration

4
Inside Automation
  • The Targeter and Plugins

5
Targeting
  • Mission design
  • Operational orbit selection
  • Launch and transfer
  • Operational support
  • Orbit maintenance
  • Performance assessment
  • Determine control parameters that meet specific
    constraints

6
Formulation
  • Linearization of a Taylor series expansion about
    a known state
  • Singular Value Decomposition of sensitivity
    matrix to calculate inverse
  • Have to solve for scaled parameters in cases of
    an ill-conditioned matrix
  • Iterate on equations to converge to solution

7
Derivative Computation
  • Finite differencing
  • Forward
  • Backward
  • Central
  • Signed

8
Solution Types
  • Over determined (more constraints than control
    parameters) least squares
  • Under determined (more control parameters than
    constraints) minimum norm
  • Exactly determined (same number of controls and
    constraints) unique solution

There is no notion of optimality
9
Iteration And Convergence
  • Require mechanism to end our search
  • Give up (maximum iterations)
  • Equality constraints are met (to within
    tolerance)
  • Control parameter solution is stationary (to
    within tolerance)

10
A Simple Sample Problem
  • Initial orbit
  • Circular
  • Equatorial
  • 90 minute period
  • Determine the velocity increment required to
    achieve a semimajor axis of 50,000 km
  • Initial guess
  • DV 2000 m/sec

11
Step Control
  • Setup
  • Forward differencing 0.1 km/sec
  • Step control 0.2 km/sec
  • Results
  • 12 Iterations
  • 24 function evaluations

12
Central Differencing
  • Setup
  • Central differencing 0.1 km/sec
  • Step control 0.2 km/sec
  • Results
  • 8 Iterations
  • 24 function evaluations

13
Line Search
  • Setup
  • Forward differencing 0.1 km/sec
  • Step control None
  • Results
  • 3 Iterations
  • 33 function evaluations

14
Change Of Variables
  • Setup
  • Forward differencing 0.1 km/sec
  • Step control None
  • Results
  • 4 Iterations
  • 8 function evaluations

15
Multi-Sequence Automation
  • A means of configuring control parameters in
    different combinations over same trajectory
  • Allows both independent analysis and sequential
    analysis

16
Multi-sequence Automation
  • Required for certain maneuvers
  • Multiple levels of control over same path
  • Allows collection of maneuvers into common block
  • Do multiple sequential burns within same sequence
  • Trial and error target selection
  • Experiment but retain various control/constraint
    permutations

17
Configurable Parameters
  • Control Parameters
  • Active
  • Perturbation controls
  • Scaling mechanism
  • Equality Constraints
  • Active
  • Tolerance
  • Scaling

18
Configurable Parameters
  • Convergence Criteria
  • Max Number of Iterations
  • Stop at equality or equality and static
    control updates
  • Step Control
  • Line search mechanism
  • Homotopy
  • Derivative method
  • Run logging

19
Multi-Sequence Automation
  • Lunar Example
  • Determine profile to get to target lunar orbit
  • Sequence of controls
  • Target on DRa, DDec to synchronize controlling
    launch time and mid-course burn time
  • Target on B-plane to gets close to final orbit
    controlling mid-course burn magnitude in addition
    to above
  • Target on Lunar Altitude Inclination for final
    orbit controlling same as above

20
Auxiliary Sequence Automation
  • Repeatable events
  • Subroutine-like capability
  • Queued off specific orbital event
  • Apoapsis
  • Epoch
  • Custom stopping condition
  • Activated at given stopping condition

21
Constraint parameters
  • Applied to stopping condition
  • Equivalent to AND logic
  • If Duration Constraints
  • Do STOP
  • Else if Apoapsis Constraints
  • Do Coast-Burn-Coast-Burn
  • Else if MaxPropTime !MinPropTime
  • Do STOP
  • Else
  • Next Step
  • End If

22
Example-NGST Halos
  • Given Initial orbit insertion parameters
  • Determine Nominal ten halo orbit maneuver
    sequences into future

23
Manual Way
  • For each orbit, add a new target sequence
  • Useful if each halo a requires different sequence
  • Negatives
  • Redundant segments
  • Introduction of errors
  • Changes difficult

24
Auxiliary Sequence Way
  • Maneuver Sequence Encapsulated in Auxiliary
    Sequence
  • Positives
  • Remove redundancy
  • Central point for changes
  • Negatives
  • Difficult to tailor individual maneuvers

25
Plug-in Basics
  • Extensible Architecture in STK
  • Astrogator Plug-in points
  • Propagator
  • Custom engine models
  • Calc objects
  • Inline functions
  • Languages
  • Matlab
  • Matlab DLLs
  • Perl
  • VBS

26
Propagator Plugins
  • Acceleration computation
  • Two-body motion plus perturbations
  • Indirect Plugin Influence
  • Thrust
  • Drag
  • Solar
  • Plugin

27
Propagator Update Values
  • Between integration steps adjust satellite
    properties
  • Drag Area
  • SRP Area
  • Dry Mass
  • Fuel Mass
  • CD
  • CR

28
Propagator Force Model Eval Plugin
  • Similar to Propagator update plugins
  • Evaluated at each propagation sampling
    stepseveral times more than update plugin
  • Has more returns
  • Atmospheric Density
  • Solar Intensity
  • Acceleration (in CBI, CBF, CbiVNC, CbiLVLH)

29
Engine Modeling
  • At each propagation evalution
  • Thrust
  • Isp
  • Mass flow rate

30
Calculation Objects
  • Provides full flexibility in types of
    calculations available in Astrogator
  • Calc Objects used in
  • Stopping Conditions
  • Stopping Constraints
  • Plug-in inputs
  • STK Reports/Graphs
  • Direct plugin inline versions

31
Inline Example
  • In-house DT function
  • Requires geodetic position and current time
  • Needed for
  • Stopping condition
  • Solar panel efficiency for ion engine operation

32
AerobrakingAeroAstros SPORT
  • Problem
  • High Cost of Small Launch Vehicles Limits Market
  • Solution Small Payload Orbit Transfer Vehicle
    (SPORT)
  • Launch as Auxiliary Payload on Large Launch
    Vehicle
  • Cheapest and Most Frequent Excess Capacity on GTO
    Launches
  • Aerobrake Down to More Desirable LEO Destination
  • Aerobraking Enables 90 Propellant Reduction
  • Other Aerobraking Applications
  • Enter Orbit Around Other Planets (Venus, Mars)
  • Aero-Assisted Swing-by
  • Return from Libration Point or Helio for
    Maintenance

33
AeroAstro Atmosphere Modeling
  • STK/Astrogator usage
  • Constrained Stopping Conditions
  • Multiply-Nested Control Sequences with Internal
    Targeters
  • Matlab Plug-In-Script for Propagator
  • Drag Coefficient Varies Depending on Aerodynamic
    Flow Regime Free Molecular ? Transition ?
    Continuum
  • Plug-In-Script Computes Flow Regime Based on STK
    Atmospheric Model ? Continuously Adjusts Drag
    Coefficient Based on NASA LaRC DSMC Results
  • Also Extract Atmospheric Properties for
    Aeroheating Analysis

34
Internal Automation Summary
  • Targeter provides direct automation for root
    finding solutions
  • Multi-Profile analysis provides flexibility in
    problem solving
  • Auxiliary sequence provides subroutine-like
    automation
  • Plug-ins open up internal system to user
    customizable functions and system integration

35
Outside Automation
  • Connect Attributes

36
Connect
  • Basics
  • Commands
  • Pushing data in
  • Getting data out
  • Invoking action

37
Connect Basics
  • Text message commands
  • Text return data
  • ltCommandgt ltObjectgt ltDatagt
  • Connections
  • TCP/IP
  • MS COM Layer

38
Pushing Astrogator data into STK
  • ASTROGATOR ltSatellite Object Pathgt ltactiongt
    ltAstrogator Object Pathgt ltValuegt ltUnitsgt
  • Examples
  • Set Propagate segment stopping conditions
  • Set reference coordinate system
  • Set type and direction

39
Getting Astrogator data out of STK
  • ASTROGATOR_RM ltSatellite Object Pathgt ltactiongt
    ltAstrogator Object Pathgt
  • Examples
  • Pull Inclination at end of propagation segment
  • Pull final burn direction and magnitude at end of
    targeting
  • Pull custom computation at end of finite maneuver

40
Attributes
  • Description
  • Methodology
  • Examples

41
What are Attributes ?
  • A generic means of accessing data throughout STK
    products (STK, Astrogator, STK/OD,NTK)
  • Means of accessing data symbolically.
  • Symbolically means associating a piece of data
    with a name.
  • So,you could say things like
  • gimme Scenario1.hubble.Swath.Type
  • And youd actually get it !

42
(No Transcript)
43
Attribute Example 1
  • MainSEQUENCE.SegmentList.TargetHOI.Profiles

44
Attribute Example 2
  • MainSEQUENCE.SegmentList.TargetSk1.SegmentList.To1
    stCross.Propagator

45
Pushing Data
  • General usage for setting parameters throughout
    MCS Sequences
  • Build List of values
  • SegmentList at various levels
  • MainSEQUENCE
  • Target_Sequence
  • Stopping conditions
  • Apoapsis
  • Duration
  • Constraints
  • Altitude
  • Change direct values
  • Stopping condition Trip Values
  • Duration 200 sec
  • Constraint tolerances
  • Altitude gt 50 km

46
Targeter Control
  • AddMCSSegmentControl
  • SetMCSControlValue
  • RemoveMCSSegmentControl
  • ClearMCSSegmentControls

47
Setting up targeting
  • Use SetValue to define segment results
  • Segment results become targeting constraints
  • Set desired values, tolerances et cetera with
    SetValue
  • Activate necessary targeting parameters for
    constraint with SetMCSConstraintValue

48
Extracting DataGetValue
  • Generic command for extracting data throughout
    the MCS Sequences
  • Pull list of values
  • Segments in SegmentList
  • Stopping conditions
  • Pull groups of values
  • Initial state in Cartesian coordinates
  • Final thrust vector
  • Pull individual values
  • Final state inclination
  • Targeter control status

49
Extracting DataSegment Results
  • GetMCSSegmentResults return results at end of
    segment
  • ASTROGATOR_RM /Satellite/Satellite1
    GetMCSSegmentResults MainSEQUENCE.SegmentList.Targ
    et_Sequence.SegmentList.Impulsive_Maneuver
  • GetValue gives option of pulling results at
    beginning and end of segment
  • ASTROGATOR_RM /Satellite/Satellite1 GETVALUE
    MainSEQUENCE.SegmentList.Target_Sequence.SegmentLi
    st.Impulsive_Maneuver.InitialResultValues
  • ASTROGATOR_RM /Satellite/Satellite1 GETVALUE
    MainSEQUENCE.SegmentList.Target_Sequence.SegmentLi
    st.Impulsive_Maneuver.FinalResultValues

50
STK Settings
  • Setup satellite for Astrogator propagator
  • SetPropagator ltObjectPathgt ltPathgt
  • Propagating
  • Propagate ltObjectPathgt Time1 Time2
  • Time is ignored but required for Connect syntax
    reasons

51
Integration
  • Jaqar Swing-by Calculator
  • MaNE
  • Phoenix Integration Systems
  • Custom Apps

52
Outside Automation Summary
  • Attributes provides flexible mechanism for
    accessing low level data symbolically
  • Connect used as driver interface for
    reading/writing Astrogator Attributes
  • Allows full configuration of satellite parameters

53
Full-up Example
54
Problem Statement
  • Given New Horizons mission profile
  • Determine burn configuration with full force
    modeling
  • Determine optimum burn configuration
  • Determine burn profile sensitivity

55
Solution-Initial Design
  • Jaqar Swing-by Calculator (SBC) designs initial
    New Horizon orbit
  • SBC exports solution as Astrogator satellite
  • Astrogator satellite loaded and targeted for
    final solution

56
Maneuver Modeling
  • Convert all burns from impulsive to finite
  • Burn centering
  • Initial values from impulsive maneuver case
  • Conversion step by step
  • Set defaults

57
Burn Optimization
  • Determine minimum fuel usage requirement
  • Matlab parametric optimization
  • Vary time of each burn
  • Re-target Astrogator sequence
  • Pull final fuel mass to determine fuel used

58
Determine Stability
  • Script similar to burn optimization but using
    Monte Carlo analysis
  • Vary each parameter and attempt to retarget in
    future maneuvers
  • Initial state parameters
  • Engine out during burns
  • Bad pointing during burn
  • Engine efficiency issues

59
Conclusions
  • Automation in Astrogator provides convenient
    mechanism for solving common engineering problems
  • Automation allows for full range of analyses of
    orbit design in all regimes
  • Automation allows for integration with existing
    tools or vendor specific functions

60
Questions?
61
Homotopy Continuation
  • Setup
  • Forward differencing 0.1 km/sec
  • Step control 0.2 km/sec
  • Results
  • 17 Iterations (98)
  • 34 function evaluations

62
Connect Basics
  • General command structure
  • ltCommandgt ltObjectPathgt ltCommand Datagt
  • Command is a one word key
  • New
  • GetReport
  • ObjectPath is string naming an object
  • /Satellite/Satellite1
  • Command Data is any information necessary to
    execute command
  • Object type and name for New
  • Report style name and interval for GetReport

63
SetValue Examples
  • Setting stopping condition value
  • ASTROGATOR /Satellite/Satellite1 SETVALUE
    MainSEQUENCE.SegmentList.Propagate.StoppingConditi
    ons.Duration.TripValue 4 hours
  • Setting Initial state sma
  • ASTROGATOR /Satellite/Satellite1 SETVALUE
    MainSEQUENCE.SegmentList.Initial_State.InitialStat
    e.Keplerian.sma 8000 km

64
Pushing DataSetMCSControlValue
  • ASTROGATOR ltSatellite Object Pathgt
    SetMCSControlValue ltAstrogator Object Pathgt
    ltOwning Segmentgt ltControl Namegt Active ltValuegt
  • Example
  • ASTROGATOR /Satellite/Satellite1
    SetMCSControlValue MainSEQUENCE.SegmentList.Target
    _Sequence.Profiles.profile1 Impulsive_Maneuver
    Cartesian.X Active True
  • Targeter Control commands
  • AddMCSSegmentControl
  • RemoveMCSSegmentControl
  • ClearMCSSegmentControls

65
Pushing DataAddMCSSegmentControl
  • ASTROGATOR ltSatellite Object Pathgt
    AddMCSSegmentControl ltAstrogator Object Pathgt
    ltCalculation Objectgt
  • Example
  • ASTROGATOR /Satellite/Satellite1
    AddMCSSegmentControl MainSEQUENCE.SegmentList.Targ
    et_Sequence.SegmentList.Impulsive_Maneuver
    Cartesian.Y Active True

66
GetValue Examples
  • Get SegmentList
  • ASTROGATOR_RM /Satellite/Satellite1 GetValue
    MainSEQUENCE.SegmentList
  • Get Initial state in Keplerian Elements
  • ASTROGATOR_RM /Satellite/Satellite1 GETVALUE
    MainSEQUENCE.SegmentList.Initial_State.InitialStat
    e.Keplerian
  • Get X-component of initial position in Cartesian
  • ASTROGATOR_RM /Satellite/Satellite1 GETVALUE
    MainSEQUENCE.SegmentList.Initial_State.InitialStat
    e.Cartesian.X

67
Extracting DataGetMCSConstraintValue
  • Pull results from targeting procedure
  • ASTROGATOR_RM ltSatellite Object Pathgt
    GetMCSConstraintValue ltAstrogator Profile Pathgt
    ltOwning Segmentgt ltControl Namegt ltAttributegt
  • ASTROGATOR_RM /Satellite/Satellite1
    GetMCSConstraintValue MainSEQUENCE.SegmentList.Tar
    get_Sequence.Profiles.Differential_Corrector
    Impulsive_Maneuver Semimajor_Axis Achieved
Write a Comment
User Comments (0)
About PowerShow.com