DIDO (software)

From Wikipedia, the free encyclopedia
(Redirected from DIDO (optimal control))

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

Usage[edit]

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]

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

A user runs DIDO using the one-line command:[1]

[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.[2] The output dual is computed by an application of the covector mapping principle.

Theory[edit]

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.

Applications[edit]

DIDO is used world wide in academia, industry and government laboratories.[9] Thanks to NASA, DIDO was flight-proven in 2006.[3] 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.[12][22][23][24][25][26] It is also used in other industries.[2][9][21][27] Most recently, DIDO has been used to solve traveling salesman type problems in aerospace engineering.[28]

MATLAB optimal control toolbox[edit]

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[edit]

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][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[edit]

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 Archived 2021-04-21 at the Wayback Machine and discounted academic versions are also available from Elissar Global.

See also[edit]

References[edit]

  1. ^ a b c d e f g h i j k Ross, Isaac (2020). "Enhancements to the DIDO Optimal Control Toolbox". arXiv:2004.13112 [math.OC].
  2. ^ a b c d e f g h i j k Ross, I. M. A Primer on Pontryagin's Principle in Optimal Control, Second Edition, Collegiate Publishers, San Francisco, 2015.
  3. ^ 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 (2): 182–197. doi:10.1016/j.arcontrol.2012.09.002.
  4. ^ a b Eren, H., "Optimal Control and the Software," Measurements, Instrumentation, and Sensors Handbook, Second Edition, CRC Press, 2014, pp.92-1-16.
  5. ^ 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. Bibcode:2005JGCD...28..686R. doi:10.2514/1.8285. S2CID 15828363.
  6. ^ a b "MIT OpenCourseWare | Aeronautics and Astronautics | 16.323 Principles of Optimal Control, Spring 2006 | Lecture Notes". dspace.mit.edu. Retrieved 2021-04-20.
  7. ^ 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 (2): 271–306. doi:10.1007/s10957-011-9918-z. S2CID 10469414.
  8. ^ a b c d 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
  9. ^ 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.
  10. ^ a b National Aeronautics and Space Administration. "Fact Sheet: International Space Station Zero-Propellant Maneuver (ZPM) Demonstration." June 10, 2011. (Sept. 13, 2011) [1]
  11. ^ 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.
  12. ^ 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.
  13. ^ Steigerwald, Bill (2021-02-10). "Teaching an Old Spacecraft New Tricks to Continue Exploring the Moon". NASA. Retrieved 2021-07-16.
  14. ^ 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 Archived 2016-03-04 at the Wayback Machine.
  15. ^ a b c Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization. Dordrecht, The Netherlands: Kluwer Academic Publishers. pp. 379–403.
  16. ^ 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. S2CID 11140975.
  17. ^ a b c 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
  18. ^ 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. Bibcode:2003JGCD...26..505J. doi:10.2514/2.5074. S2CID 14256785.
  19. ^ a b Infeld, Samantha I. (2005). Optimization of Mission Design for Constrained Libration Point Space Missions (PDF) (PhD thesis). Stanford University. Bibcode:2006PhDT.........7I.
  20. ^ 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. Bibcode:2008JGCD...31..460G. doi:10.2514/1.32908. hdl:10945/56995. S2CID 18145691.
  21. ^ 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
  22. ^ "NASA Technical Reports Server (NTRS)". ntrs.nasa.gov. 31 January 2019. Retrieved 2020-12-24.
  23. ^ Karpenko, Mark; King, Jeffrey T.; Dennehy, Cornelius. J.; Michael Ross, I. (April 2019). "Agility Analysis of the James Webb Space Telescope". Journal of Guidance, Control, and Dynamics. 42 (4): 810–821. Bibcode:2019JGCD...42..810K. doi:10.2514/1.g003816. ISSN 0731-5090. S2CID 126541985.
  24. ^ Karpenko, M. et al. "Fast Attitude Maneuvers for the Lunar Reconnaissance Orbiter." (2019) AAS 19-053.
  25. ^ King, Jeffery T.; Karpenko, Mark (March 2016). "A simple approach for predicting time-optimal slew capability". Acta Astronautica. 120: 159–170. Bibcode:2016AcAau.120..159K. doi:10.1016/j.actaastro.2015.12.009. ISSN 0094-5765. S2CID 111986660.
  26. ^ 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. ^ 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.
  28. ^ Ross, I. M.; Proulx, R. J.; Karpenko, M. (July 2019). "Autonomous UAV Sensor Planning, Scheduling and Maneuvering: An Obstacle Engagement Technique". 2019 American Control Conference (ACC). IEEE. pp. 65–70. doi:10.23919/acc.2019.8814474. ISBN 978-1-5386-7926-5. S2CID 201811463.
  29. ^ "DIDO: Optimal control software". Promotional web page. Mathworks.
  30. ^ a b Rao, A. V. (2014). "Trajectory Optimization: A Survey". Optimization and Optimal Control in Automotive Systems. Lecture Notes in Control and Information Sciences. Vol. LNCIS 455. pp. 3–21. doi:10.1007/978-3-319-05371-4_1. ISBN 978-3-319-05370-7.
  31. ^ 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). Vol. 6. pp. 2791–2799. doi:10.1109/aero.2003.1235205. hdl:10945/41266. ISBN 978-0-7803-7651-9. S2CID 109035122.
  32. ^ "Elissar Global". web site. distributes the software.
  33. ^ Ross, I. Michael; Gong, Qi (2008-06-15). "Guess-Free Trajectory Optimization". AIAA/AAS Astrodynamics Specialist Conference and Exhibit. Reston, Virginia: American Institute of Aeronautics and Astronautics. doi:10.2514/6.2008-6273. ISBN 978-1-62410-001-7. S2CID 122759348.

Further reading[edit]

External links[edit]