Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

GSoC 2010 3DTrajectories

magnific0 edited this page Feb 25, 2014 · 1 revision

The Interplanetary Trajectories 3D Graphics project aims to overcome that currently in PaGMO Available_Problems (both chemically-propelled and using an ion thruster) are represented by long vectors of doubles (i.e., a 'decision vector' or 'chromosome'). While this encoding is very efficient, it fails to provide any visual clue about the properties of the trajectory (e.g., Keplerian arcs, spiral legs, etc.). These clues have been proven to be valuable in almost all missions flown by space agencies (NASA, ESA, JAXA, etc.), and provide the possibility to add a human-in-the-loop element to the otherwise fully-automated approach pursued by PaGMO.

The goal of the coding activity in this area would be to provide a 3D visualization tool to navigate and explore interactively interplanetary trajectories, thus allowing for a fast visual inspection of chromosomes associated to these types of problems.

Student: Edgar Simo Serra

Mentors: Chit-Hong Yam, Dario Izzo

Previous Work / Context

to be added

Technical Details: The plan is to augment the trajectory problems exposed in Python with a show() method that when invoked would pop up an interactive 3D window displaying the Planets, the trajectory legs and actual spacecraft position (at an epoch set by a slider). The information needed to generate such a plot will be provided by a method of the problem returning time, position, velocity and (separately) control vector or calculated in the Python show() method using basic geometrical shapes (ellipses + hyperbola). Test trajectories will be provided including Cassini, Rosetta and Messenger.

Timeline

Screenshot of Trajectory3D example1.py, a simple trajectory from Earth to Mars. Screenshot of Trajectory3D example2.py, a more complex multiple gravity assist trajectory of the Cassini to Saturn.

The timeline is not set in stone and is subject to change.

April 26 - 0. Research

  • Look at the details on how PaGMO handles trajectories.
  • Familiarize with code.

May 26 - 0.1 Planning of approaches and possible features

  • With the research done, figure out possible implementations.
  • Plan for different features for usability and sort them by priority.
  • Features list will be run by possible users for feedback.
  • Propose a definite implementation and incremental additions of features.

July 10 - 0.5 First trajectory visualization

  • Core implementation should be finished and be able to output primitive trajectories.

August 2 - 0.9 Usability and user interface

  • Implementation with the most important user features added.
  • This version should be fully usable although might have bugs.
  • Should be run through users to detect issues that could need corrections and bugs.

August 9 - 1.0 Final version

  • Should use all the feedback from 0.9 to improve the final software.

August 16 -1.X Documentation and furthur bug fixes

  • Any issues found past 1.0 will be handled.
  • Extensive and verbose documentation will be written.

Documentation

Ongoing Activities

  • [DONE] Planning of features and project scope.
  • [DONE] Working on the core implementation.
  • [DONE] Working on interface and usability.
  • [DONE] Documentation and example usage.

Reports

  • None yet
Clone this wiki locally