DIDO is a MATLAB optimal control software for solving general-purpose hybrid optimal control problems. Powered by the pseudospectral optimal control theory of Ross and Fahroo, the general-purpose optimal control program is named after Dido, the legendary founder and first queen of Carthage who is famous in mathematics for her remarkable solution to a constrained optimal control problem even before the invention of calculus.
Based on pseudospectral optimal control theory founded by Ross and his associates, DIDO utilizes unique expressions and objects that facilitate one to formulate and solve optimal control problems in a manner that is similar to writing the problem on a piece of paper. The covector mapping principle of Ross and Fahroo eliminates traditional difficulties in solving for the costates in optimal control problems; thus, DIDO generates spectrally accurate solutions  whose extremality can be verified using Pontryagin's Minimum Principle. Because no knowledge of pseudospectal methods is necessary to use DIDO, it is often used as a mathematical tool for solving optimal control problems. That is, a solution obtained from DIDO is treated as a candidate solution for the application of Pontryagin's minimum principle as a necessary condition.
DIDO is used world wide in academia, industry and government laboratories. Thanks to NASA, DIDO was flight-proven in 2006. On November 5, 2006, NASA used DIDO to maneuver the International Space Station to perform the Zero Propellant Maneuver. The Zero Propellant Maneuver was discovered by Nazareth Bedrossian using DIDO. Watch a video of this historic maneuver.
- First general-purpose object-oriented optimal control software
- First general-purpose pseudospectral optimal control software
- First flight-proven general-purpose optimal control software
- First embedded general-purpose optimal control solver
DIDO is a professional optimal control solver; however, several different versions of DIDO are available:
- Free optimal control version to government, non-profit organizations and academia;
- Academic discounted version available to students and faculty only;
- Full professional version; and,
- Embedded optimal control version (capable of faster than real-time optimal control).
In addition the complete source code for DIDO is also available so that an end user may customize it for any application.
- Bellman pseudospectral method
- Chebyshev pseudospectral method
- Fariba Fahroo
- Flat pseudospectral methods
- I. Michael Ross
- Legendre pseudospectral method
- Ross–Fahroo lemma
- Ross' π lemma
- Ross–Fahroo pseudospectral methods
- Ross, I. M. and D’Souza, C. N., A Hybrid Optimal Control Framework for Mission Planning, Journal of Guidance, Control and Dynamics, Vol. 28, No. 4, July–August 2005, pp. 686–697.
- Ross, I. M. and Fahroo, F., Pseudospectral Knotting Methods for Solving Optimal Control Problems, Journal of Guidance, Control and Dynamics, Vol. 27, No. 3, pp. 397–405, 2004.
- I. M. Ross and M. Karpenko, "A Review of Pseudospectral Optimal Control: From Theory to Flight," Annual Reviews in Control, Vol. 36, pp. 182–197, 2012. http://www.sciencedirect.com/science/article/pii/S1367578812000375
- A. M. Hawkins, Constrained Trajectory Optimization of a Soft Lunar Landing From a Parking Orbit, S.M. Thesis, Dept. of Aeronautics and Astronautics, Massachusetts Institute of Technology, 2005. http://dspace.mit.edu/handle/1721.1/32431
- Gong, Q., Fahroo, F. and Ross, I. M., A Spectral Algorithm for Pseudospectral Methods in Optimal Control, Journal of Guidance, Control and Dynamics, Vol. 31, No. 3, pp. 460–471, 2008.
- Ross, I. M. A Primer on Pontryagin's Principle in Optimal Control, Second Edition, Collegiate Publishers, San Francisco, 2015.
- Q. Gong, W. Kang, N. Bedrossian, F. Fahroo, P. Sekhavat and K. Bollino, Pseudospectral Optimal Control for Military and Industrial Applications, 46th IEEE Conference on Decision and Control, New Orleans, LA, pp. 4128-4142, Dec. 2007.
- J. R. Rea, A Legendre Pseudospectral Method for Rapid Optimization of Launch Vehicle Trajectories, S.M. Thesis, Dept. of Aeronautics and Astronautics, Massachusetts Institute of Technology, 2001. http://dspace.mit.edu/handle/1721.1/8608
- F. Fahroo, D. B. Doman, and A. D. Ngo, "Modeling Issues in Footprint Generation of Resuable Launch Vehicles," Proceedings of the IEEE Aerospace Conference, Vol. 6, 2003, pp. 2791-2799.
- W. Kang and N. Bedrossian, "Pseudospectral Optimal Control Theory Makes Debut Flight, Saves nasa $1m in Under Three Hours," SIAM News, 40, 2007.
- B. Honegger, "NPS Professor's Software Breakthrough Allows Zero-Propellant Maneuvers in Space." Navy.mil. United States Navy. April 20, 2007. (Sept. 11, 2011) http://www.elissarglobal.com/wp-content/uploads/2011/07/Navy_News.pdf.
- S. Josselyn and I. M. Ross, "A Rapid Verification Method for the Trajectory Optimization of Reentry Vehicles," Journal of Guidance, Control and Dynamics, Vol. 26, No. 3, 2003, pp.505-508.
- National Aeronautics and Space Administration. "Fact Sheet: International Space Station Zero-Propellant Maneuver (ZPM) Demonstration." June 10, 2011. (Sept. 13, 2011) http://www.nasa.gov/mission_pages/station/research/experiments/ZPM.html
- L. Keesey, "TRACE Spacecraft's New Slewing Procedure." NASA's Goddard Space Flight Center. National Aeronautics and Space Administration. Dec. 20, 2010. (Sept. 11, 2011) http://www.nasa.gov/mission_pages/sunearth/news/trace-slew.html.
- Infeld, S. I. (2005). "Optimization of Mission Design for Constrained Libration Point Space Missions" (PDF). Stanford University.
- Ross, I. Michael; Fahroo, Fariba (2003). "Legendre Pseudospectral Approximations of Optimal Control Problems" (PDF). Springer Verlag.
- Bollino, K.; Lewis, L. R.; Sekhavat, P.; Ross, I. M. (2007). "Pseudospectral Optimal Control: A Clear Road for Autonomous Intelligent Path Planning" (PDF). AIAA.
- Kang, W.; Ross, I. M.; Gong, Q. (2007). "Pseudospectral Optimal Control and Its Convergence Theorems". Springer Berlin Heidelberg.
- Ross, I. M. (2009). "A Primer on Pontryagin's Principle in Optimal Control". Collegiate Publishers. ISBN 978-0-9843571-0-9.