# DIDO (software)

(Redirected from DIDO (optimal control))

DIDO (/ˈdd/ DY-doh) is a software product for solving general-purpose optimal control problems.[1][2][3][4] It is widely used in academia,[5][6][7] industry,[2][8] and NASA.[9][10][11] Hailed as a breakthrough software,[12][13] DIDO is based on the pseudospectral optimal control theory of Ross and Fahroo.[14]

## Usage

DIDO utilizes trademarked expressions and objects[1] that facilitate a user to quickly formulate and solve optimal control problems.[7][15][16][17] Rapidity in formulation is achieved through a set of DIDO expressions which are based on variables commonly used in optimal control theory.[1] For example, the state, control and time variables are formatted as:[1]

• primal.states,
• primal.controls, and
• primal.time

The entire problem is codified using the key words, cost, dynamics, events and path:[1]

• problem.cost
• problem.dynamics
• problem.events, and
• problem.path

A user runs DIDO using the one-line command:

`[cost, primal, dual] = dido(problem, algorithm)`,

where the object defined by `algorithm` allows a user to choose various options. In addition to the cost value and the primal solution, DIDO automatically outputs all the dual variables that are necessary to verify and validate a computational solution.[1] The output `dual` is computed by an application of the covector mapping principle.

## Theory

DIDO implements a spectral algorithm[14][18] based on pseudospectral optimal control theory founded by Ross and his associates.[2] The covector mapping principle of Ross and Fahroo eliminates the curse of sensitivity[1] associated in solving for the costates in optimal control problems. DIDO generates spectrally accurate solutions [18] whose extremality can be verified using Pontryagin's Minimum Principle. Because no knowledge of pseudospectral methods is necessary to use it, DIDO is often used[6][7][8][19] as a fundamental 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 for optimality.

## Applications

DIDO is used world wide in academia, industry and government laboratories.[8] Thanks to NASA, DIDO was flight-proven in 2006.[2] On November 5, 2006, NASA used DIDO to maneuver the International Space Station to perform the zero-propellant maneuver.

Since this flight demonstration, DIDO was used for the International Space Station and other NASA spacecraft.[11] It is also used in other industries.[1][8][19][20]

## MATLAB optimal control toolbox

DIDO is also available as a MATLAB "toolbox" product.[21] It does not require the MATLAB Optimization Toolbox or any other third-party software like SNOPT or IPOPT or other nonlinear programming solvers.

The MATLAB/DIDO toolbox does not require a "guess" to run the algorithm. This and other distinguishing features have made DIDO a popular tool to solve optimal control problems.[3][6][13]

The MATLAB optimal control toolbox has been used to solve problems in aerospace,[10] robotics and search theory.

## History

The optimal control toolbox 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. Invented by Ross, DIDO was first produced in 2001.[1][5][15] The software is widely cited[5][6][19][20] and has many firsts to its credit:[9] [10] [11] [12] [14] [16] [22]

• 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
• First guess-free general-purpose optimal control solver

## Versions

Several different versions of DIDO are available from Elissar Global.[23]

## References

1. Ross, I. M. A Primer on Pontryagin's Principle in Optimal Control, Second Edition, Collegiate Publishers, San Francisco, 2015.
2. ^ a b c d Ross, I. M.; Karpenko, M. (2012). "A Review of Pseudospectral Optimal Control: From Theory to Flight". Annual Reviews in Control. 36: 182–197. doi:10.1016/j.arcontrol.2012.09.002.
3. ^ a b Eren, H., "Optimal Control and the Software," Measurements, Instrumentation, and Sensors Handbook, Second Edition, CRC Press, 2014, pp.92-1-16.
4. ^ Ross, I. M.; D'Souza, C. N. (2005). "A Hybrid Optimal Control Framework for Mission Planning". Journal of Guidance, Control and Dynamics. 28 (4): 686–697. doi:10.2514/1.8285.
5. ^ a b c Rao, A. V. (2014). "Trajectory Optimization: A Survey". Optimization and Optimal Control of Automotive Systems. LNCIS 455: 3–21.
6. ^ a b c d Conway, B. A. (2012). "A Survey of Methods Available for the Numerical Optimization of Continuous Dynamical Systems". Journal of Optimization Theory and Applications. 152: 271–306.
7. ^ a b c 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
8. ^ a b c d 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.
9. ^ a b 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
10. ^ a b c W. Kang and N. Bedrossian, "Pseudospectral Optimal Control Theory Makes Debut Flight, Saves nasa \$1m in Under Three Hours," SIAM News, 40, 2007.
11. ^ a b c 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.
12. ^ a b 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.
13. ^ a b Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization. Dordrecht, The Netherlands: Kluwer Academic Publishers. pp. 379–403.
14. ^ a b c Ross, I. M.; Fahroo, F. (2004). "Pseudospectral Knotting Methods for Solving Optimal Control Problems". Journal of Guidance, Control and Dynamics. 27 (3): 397–405. doi:10.2514/1.3426.
15. ^ a b 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
16. ^ a b Josselyn, S.; Ross, I. M. (2003). "A Rapid Verification Method for the Trajectory Optimization of Reentry Vehicles". Journal of Guidance, Control and Dynamics. 26 (3): 505–508. doi:10.2514/2.5074.
17. ^ Infeld, S. I. (2005). "Optimization of Mission Design for Constrained Libration Point Space Missions" (PDF). Stanford University.
18. ^ a b Gong, Q.; Fahroo, F.; Ross, I. M. (2008). "A Spectral Algorithm for Pseudospectral Methods in Optimal Control". Journal of Guidance, Control and Dynamics. 31 (3): 460–471. doi:10.2514/1.32908.
19. ^ a b c D. Delahaye, S. Puechmorel, P. Tsiotras, and E. Feron, "Mathematical Models for Aircraft Trajectory Design : A Survey" Lecture notes in Electrical Engineering, 2014, Lecture Notes in Electrical Engineering, 290 (Part V), pp 205-247
20. ^ a b S. E. Li, K. Deng, X. Zang, and Q. Zhang, "Pseudospectral Optimal Control of Constrained Nonlinear Systems," Ch 8, in Automotive Air Conditioning: Optimization, Control and Diagnosis, edited by Q. Zhang, S. E. Li and K. Deng, Springer 2016, pp. 145-166.
21. ^ "DIDO: Optimal control software". Promotional web page. Mathworks.
22. ^ Fahroo, F.; Doman, D. B.; Ngo, A. D. (2003). "Modeling Issues in Footprint Generation of Resuable Launch Vehicles". Proceedings of the IEEE Aerospace Conference. 6: 2791–2799. doi:10.1109/aero.2003.1235205.
23. ^ "Elissar Global". web site. distributes the software.