software astrogator carricofletcher - ieec · software architecture and use of satellite tool...
TRANSCRIPT
Software Architecture and Use of Satellite Tool Kit’s
Astrogator Module for Libration Point Orbit
Missions
John Carrico and Emmet Fletcher
Analytical Graphics, Inc.
History
• Swingby developed at NASA Goddard Flight Dynamics Division by Computer Sciences Corp. (CSC) in 1989
• Swingby commercialized to become Navigator (CSC; 1994); purchased by AGI
• Astrogator developed to meet GSFC/Flight Dynamics Analysis Branch request for a COTS solution (Jan 1997)
• Requirements from Swingby, and other institutional software
• Swingby/Navigator algorithms and code into STK/Astrogator
Swingby Navigator Astrogator
History: Lunar and libration point missions supported
• Clementine: 25 January, 1994• Wind: 1 November 1994• SOHO: 2 December 1995• ACE: 25 August 1997• AsiaSat 3 rescue: 25 December 1997 • Lunar Prospector: 7 January, 1998• MAP: 30 June, 2001
Astrogator Design• Goal: Replace/update/modernize previous
Goddard trajectory software (GMAS, GMAN, Swingby)
• Met with Goddard and contractor personnel for 3 months in working groups to define requirements– Reviewed good and bad features of current systems– Reviewed past, present, and proposed future missions– Reviewed analysis and operations tasks
Requirements from working group
• Trajectory modeling accuracy and targeting functionality
• 5 additional and significant requirements:– Support complete lifecycle: analysis through operations– Support all missions– Operate seamlessly with STK– Support automation– Allow user extensions
Trajectory modeling accuracy and targeting
• Numerically integrated trajectories– Dual-order Runge-Kutta; Gauss Jackson; VOP– Gravity
• Spherical harmonics of central body• Point mass of any number of other bodies (JPL ephemerides)
– Atmospheric models (Earth, Mars, user-defined)– Solar radiation pressure– Multiple thrusters
• Polynomial functions of pressure• Solar electric propulsion
• Differential Corrector for targeting
Complete lifecycle: analysis through operations
• Flexibility needed for analysis
• Configuration control, verifiability, and automation needed for operations
• Flexibility needed for contingency support
• Configuration control of data– Honor file system permissions– READ ONLY data in RED– READ / WRITE data in GREEN
Complete lifecycle: analysis through operations…
• Operations requires quality assurance of data
• STK Data (e.g., spherical harmonics) stored in ASCII flat files
• Astrogator data stored in XML
Support all missions
• Libration Point• Lunar• Other-planetary, inter-planetary, asteroids, and comets• Low Earth Orbit
– Ascent planning– Ground-track control– Sun
• Rendezvous• Formation flying• Geostationary• Engine Calibrations• Etc…
Operate seamlessly with STK
• Designing trajectory is only first step• Analysis
– Many other, non-astrodynamics constraints on mission
• Operations:– Data products must be created for other groups
Operate seamlessly with STK…
• STK/Professional– Access calculations – station acquisition data (AOS/LOS)– Constraint conditions (Sun/Moon angle, Solar intensity, star-trackers,
sensor views)
• STK/Coverage– Ground coverage / imaging conditions– Constellation design– GPS/Galileo/Glonass accuracy
• STK/Comm– Communication link analysis (BER, C/N)– Interference (Sun RFI, EPFD)
• STK/Attitude– Attitude simulation (torques, custom control laws, etc.)– 3D attitude visualization
• STK/CAT– Launch (and orbit) safety
Support automation
• Made targeter robust– Step size control / Homotopy
continuation– Cascading and nested targeting– Coarse and fine targeting
• Scripting– Parametric studies– Monte Carol error analysis– Optimization; GA
• Feedback from customers: Don’t make them learn a new language– Generic symbolic access– MATLAB, PERL, Python, Java,
VB Script, C, C++
Support automation…
• STK Files to define Astrodynamics
• Script used to define Maneuver Planning Process
Support automation…
• Swing-By Calculator• Written by JAQAR• Multiple planet gravity assist• Outputs data to STK
Support automation…
• Mars Contour Plotter • Written by SEE• Creates Astrogator missions
control sequences
Allow user extensions
– Allow users to add functionality to internal calculations• Force models• Engine models• Thrust steering• Constraints / stopping conditions• Closed-Loop orbit control
– Formation flying– Returning to nominal trajectory
• Attitude dynamics and control laws– Tried DLLs in C: not good for average user– Switched to MATLAB, PERL, and VB Script– User can type in an equation, or edit a file
Architecture• Build an architecture that makes AGI products easier to
use and learn• Make use of industry standards• Allow users to figure out how to use AGI products to solve
their problems• Design and promote a more open architecture.• An architecture that supports the ability to easily add new
functionality and improve current functionality
Architecture…• Design Patterns in C++
• Systematic re-usable computer architecture constructs– Prototype– Strategy patterns – Abstract factory– Singleton– Adapter– Decorator– Flyweight– Proxy– Observer– Iterator
• Standard Template Library (STL)
• Gamma E, Helm R., Johnson R.Vlissides J. “Design Patterns” 1995 Addison-Wesley Longman, Inc.
Architecture…
• Symbolic Access through the ‘Attribute’ system:– A generic means of accessing data– 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
Engine
Attributes
GUI Serialize Scripting 3rd Party
Connect
Applications: MAP• Pre-launch trajectory
design (started with Swingby)
• Launch window analysis• Sun vector constraints
during maneuvers• Earth and Lunar
shadow• Operations
– Planning– Engine calibration
Applications: MAP…
• Monte Carlo analysis to determine fuel budget to correct for launch and maneuver dispersions
Next Generation Space Telescope (NGST)
• Launch window• Solar radiation
pressure studies – Monte Carlo used to calculate stationkeeping fuel
Triana: Generator to Astrogator
• Import and re-target trajectory
• Verify Sun-Earth-Vehicle (SEV) constraint
Triana: View from spacecraft• 0.6° field-of-view
• Step-size once a day
• Latitude and longitude lines
• Terminator
• Analemma
• Sub-satellite point
Weak Stability Boundary
• Calculation of Weak Stability Boundary Ballistic Lunar Transfer Trajectories, (Belbruno, Carrico, AIAA 2000 – 4142, Astrodynamics Specialist Conference14-17 August, 2000Denver, Colorado)
Earth
III
III IVλ
α
Moon atLaunch
Sun
Mars libration point• Communication coverage at Mars• Use launch and midcourse to hit B-
plane parameters to control amplitude
• Use extra loop to control relative phasing
Future Work
• More open architecture– Advanced scripting– More plug-ins
• Orbit Determination– Realistic error covariance calculations– Maneuver reconstruction
• Formation flying• Support optimization
– Internal effort in beta– Interface to user optimization algorithms
• Increased visualization capabilities