1 / 32

Design of a modular and robust astrodynamics toolbox

Design of a modular and robust astrodynamics toolbox New Trends in Astrodynamics and Applications VI 6th of June, 2011 Kumar, K., et al. Phd Candidate Astrodynamics & Space Missions Delft University of Technology. Assistant Specialist Center for Integrative Planetary Science

Download Presentation

Design of a modular and robust astrodynamics toolbox

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design of a modular and robust astrodynamics toolbox New Trends in Astrodynamics and Applications VI 6th of June, 2011 Kumar, K., et al. Phd Candidate Astrodynamics & Space Missions Delft University of Technology Assistant Specialist Center for Integrative Planetary Science University of California-Berkeley

  2. Contents • Why another astrodynamics toolbox? • Applications • What is Tudat? • Software architecture • Example simulation • Conclusions 2

  3. Why another astrodynamics toolbox? • Need for generic, collaboratively developed astrodynamics toolbox within group • Current software is fragmented • Learning curve to start using existing software is steep • Lack of collaborative development = reinvention of the wheel • Many existing packages are available, but with limitations (e.g., application scope and licensing) 3

  4. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 4

  5. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 5

  6. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 6

  7. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 7

  8. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 8

  9. Applications • Interplanetary trajectories • Launcher ascent trajectories • Re-entry • Exoplanet orbits • Planetary rings • And many more … 9

  10. What is Tudat? TU Delft Astrodynamics Toolbox 10

  11. What is Tudat? • NOT AN END-TO-END TOOL! • C++ Library to aid astrodynamics simulations • Collaboratively developed by students and staff of A&S • Implementation of commonly used solutions for astrodynamics 11

  12. Software architecture • Many common elements for different applications • Common elements written generically • “Lego blocks” • A lot of time spent on software architecture – investment of time pays back in the long run! • Modularity is difficult to achieve; requires computer science knowledge 12

  13. Software architecture Shape Body Vehicle CelestialBody Spacecraft Launchers Re-entry Vehicles Asteroids Moons Planets 13

  14. Software architecture ForceModel Body Encapsulation 14

  15. Software architecture Polymorphism ForceModel Body Encapsulation 15

  16. Software architecture 16

  17. Software architecture 17

  18. Example simulation 18

  19. Example simulation 19

  20. Conclusions • Collaborative development is worth it! • Project management tools exist to aid development • Standardization is important • Talk to computer scientists! • Investing time in software architecture is time well spent • Astrodynamics lends itself well to sharing of modular code 20

  21. TU Delft Astrodynamics Toolbox Liban Abdulkadir Luuk van Barneveld Dominic Dirkx Frank Engelen Elisabetta Iorfida Jonatan Leloux Jeroen Melman Erwin Mooij Roon Noomen Bart Römgens

  22. Why another astrodynamics toolbox? • Many existing packages are available, including: • AGI’s Satellite Toolkit (STK) • Mercury • SWIFT • GEODYN • Custom-code that never gets used by anyone else • Etc etc … • Educational and research value in setting out a modular toolbox that has wider scope of applications. B1

  23. Project setup • Coding standards and protocols • Documentation standards and protocols • Code robustness • File repository • Website • Management team / working group B2

  24. Project setup • Coding standards and protocols • All code in C++! • Important to standardize code to ensure longevity, modularity and robustness of project • Rules are “evil”! Important to strike a balance • “N-Commandments document” based on accepted industry standards and group choices B3

  25. Project setup • Documentation standards and protocols • Without proper documentation, project will die for sure! • Tools exist to standardize, we use Doxygen • Tutorials / examples / manuals provided to reduce learning curve for new developers B4

  26. Project setup • Code robustness • Thorough code-checking process: every piece of code in the repository is independently checked by at least one other person • Unit test framework • Performance reports B5

  27. Project setup • File repository • Various applications available to run code repositories like Bazaar, Subversion, Git etc. • Decentralized code development • Ability to access code from anywhere in the world and to review history of developments of code • Controlled commits to repository B6

  28. Project setup • Management team / working group • Management team maintains oversight and longevity of project (meetings once a month) • Working group discusses current and future code development (meetings once every two weeks) • Meeting minutes available to everyone to keep track of action items, discussions, and decisions B7

  29. Project setup • Website • Many code development project management tools and applications available e.g., Redmine, Trac, Sourceforge etc. • Important to make a selection and start project • We use Redmine • Website is vital; provides central point of communcation for entire project B8

  30. Software architecture • Conservative policy towards external libraries – so far only Eigen used for linear algebra • Clear categorization of code, e.g., mathematics vs. astrodynamics vs. input handling etc. • Standard file formats for input and output handling • Internal standardization of units, reference systems etc. B9

  31. Software architecture • Bodies • Environment model • Force models • Propagators • Numerical integrators • Root-finding methods B10

  32. Future Plans Multi-threading External software Ephemeris Local optimization Observation Input/Output Global optimization Hybrid propagator Statistics Deep space manoeuvres Event handling TLE reader Reference frame transformations Data handling Low-thrust Aerodynamic force SGP4 propagator interface Attitude propagator Atmospheres Backwards propagation Dynamical systems theory B11

More Related