DIDO utilizes trademarked expressions and objects[1][2] that facilitate a user to quickly formulate and solve optimal control problems.[8][17][18][19] Rapidity in formulation is achieved through a set of DIDO expressions which are based on variables commonly used in optimal control theory.[2] For example, the state, control and time variables are formatted as:[1][2]
primal.states,
primal.controls, and
primal.time
The entire problem is codified using the key words, cost, dynamics, events and path:[1][2]
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.[2] The output dual is computed by an application of the covector mapping principle.
Theory
DIDO implements a spectral algorithm[1][16][20] based on pseudospectral optimal control theory founded by Ross and his associates.[3] The covector mapping principle of Ross and Fahroo eliminates the curse of sensitivity[2] associated in solving for the costates in optimal control problems. DIDO generates spectrally accurate solutions [20] 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[7][8][9][21] 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.
DIDO is primarily available as a stand-alone MATLAB optimal control toolbox.[29] That is, it does not require any third-party software like SNOPT or IPOPT or other nonlinear programming solvers.[1] In fact, it does not even require the MATLAB Optimization Toolbox.
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.[4][7][15]
The MATLAB optimal control toolbox has been used to solve problems in aerospace,[11] robotics[1] and search theory.[2]
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 controlproblem even before the invention of calculus. Invented by Ross, DIDO was first produced in 2001.[1][2][30][17] The software is widely cited[30][7][21][27] and has many firsts to its credit:[10][11][12][14][16][18][31]
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
The early versions, widely adopted in academia,[8][15][17][19][6] have undergone significant changes since 2007.[1] The latest version of DIDO, available from Elissar Global,[32] does not require a "guess" to start the problem[33] and eliminates much of the minutia of coding by simplifying the input-output structure.[2]Low-cost student versions and discounted academic versions are also available from Elissar Global.
↑ 3.03.13.23.3Ross, I. M.; Karpenko, M. (2012). "A Review of Pseudospectral Optimal Control: From Theory to Flight". Annual Reviews in Control36 (2): 182–197. doi:10.1016/j.arcontrol.2012.09.002.
↑ 4.04.1Eren, H., "Optimal Control and the Software," Measurements, Instrumentation, and Sensors Handbook, Second Edition, CRC Press, 2014, pp.92-1-16.
↑Ross, I. M.; D'Souza, C. N. (2005). "A Hybrid Optimal Control Framework for Mission Planning". Journal of Guidance, Control and Dynamics28 (4): 686–697. doi:10.2514/1.8285. Bibcode: 2005JGCD...28..686R.
↑ 7.07.17.27.3Conway, B. A. (2012). "A Survey of Methods Available for the Numerical Optimization of Continuous Dynamical Systems". Journal of Optimization Theory and Applications152 (2): 271–306. doi:10.1007/s10957-011-9918-z.
↑ 8.08.18.28.3A. 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
↑ 9.09.19.29.3Q. 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.
↑ 10.010.1
National Aeronautics and Space Administration. "Fact Sheet: International Space Station Zero-Propellant Maneuver (ZPM) Demonstration." June 10, 2011. (Sept. 13, 2011) [1]
↑ 11.011.111.2W. Kang and N. Bedrossian, "Pseudospectral Optimal Control Theory Makes Debut Flight, Saves nasa $1m in Under Three Hours," SIAM News, 40, 2007.
↑ 15.015.115.2Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization. Dordrecht, The Netherlands: Kluwer Academic Publishers. pp. 379–403.
↑ 17.017.117.2J. 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
↑ 18.018.1Josselyn, S.; Ross, I. M. (2003). "A Rapid Verification Method for the Trajectory Optimization of Reentry Vehicles". Journal of Guidance, Control and Dynamics26 (3): 505–508. doi:10.2514/2.5074. Bibcode: 2003JGCD...26..505J.
↑ 20.020.1Gong, Q.; Fahroo, F.; Ross, I. M. (2008). "A Spectral Algorithm for Pseudospectral Methods in Optimal Control". Journal of Guidance, Control and Dynamics31 (3): 460–471. doi:10.2514/1.32908. Bibcode: 2008JGCD...31..460G.
↑ 21.021.121.2D. 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
↑Karpenko, M., Ross, I. M., Stoneking, E. T., Lebsock, K. L., Dennehy, C., "A Micro-Slew Concept for Precision Pointing of the Kepler Spacecraft," AAS 15-628.
↑ 27.027.1S. 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.
↑ 30.030.1Rao, A. V. (2014). "Trajectory Optimization: A Survey". Optimization and Optimal Control in Automotive Systems. Lecture Notes in Control and Information Sciences. LNCIS 455. pp. 3–21. doi:10.1007/978-3-319-05371-4_1. ISBN978-3-319-05370-7.
↑Fahroo, F.; Doman, D. B.; Ngo, A. D. (2003). "Modeling issues in footprint generation for reusable vehicles". 2003 IEEE Aerospace Conference Proceedings (Cat. No.03TH8652). 6. pp. 2791–2799. doi:10.1109/aero.2003.1235205. ISBN978-0-7803-7651-9.
Kang, W.; Ross, I. M.; Gong, Q. (2008). "Pseudospectral Optimal Control and Its Convergence Theorems". Analysis and Design of Nonlinear Control Systems. Springer Berlin Heidelberg. pp. 109–124. doi:10.1007/978-3-540-74358-3_8. ISBN978-3-540-74357-6.
Ross, I. M. (2009). A Primer on Pontryagin's Principle in Optimal Control. Collegiate Publishers. ISBN978-0-9843571-0-9.