Skip to main content
Log in

Constraint Control of Nonholonomic Mechanical Systems

  • Published:
Journal of Nonlinear Science Aims and scope Submit manuscript

Abstract

We derive an optimal control formulation for a nonholonomic mechanical system using the nonholonomic constraint itself as the control. We focus on Suslov’s problem, which is defined as the motion of a rigid body with a vanishing projection of the body frame angular velocity on a given direction \(\varvec{\xi }\). We derive the optimal control formulation, first for an arbitrary group, and then in the classical realization of Suslov’s problem for the rotation group \(\textit{SO}(3)\). We show that it is possible to control the system using the constraint \(\varvec{\xi }(t)\) and demonstrate numerical examples in which the system tracks quite complex trajectories such as a spiral.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. Matlab Documentation Center. Optimization Toolbox, Constrained Optimization, fmincon.

References

  • Aceto, L., Mazzia, F., Trigiante, D.: The performances of the code TOM on the Holt problem. In: Antreich, K., Bulirsch, R., Gilg, A., Rentrop, P. (eds.) Modeling, Simulation, and Optimization of Integrated Circuits, pp. 349–360. Springer, Berlin (2003)

  • Agrachev, A., Sachkov, Y.: Control Theory from the Geometric Viewpoint. Springer, Berlin (2004)

    Book  MATH  Google Scholar 

  • Allgower, E.L., Georg, K.: Introduction to Numerical Continuation Methods, vol. 45. SIAM, Philadelphia (2003)

    Book  MATH  Google Scholar 

  • Arnold, V.I., Kozlov, V.V., Neishtadt, A.I.: Mathematical Aspects of Classical and Celestial Mechanics, 2nd edn. Spinger, Berlin (1997)

    MATH  Google Scholar 

  • Ascher, U.M., Spiteri, R.J.: Collocation software for boundary value differential-algebraic equations. SIAM J. Sci. Comput. 15(4), 938–952 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  • Ascher, U.M., Christiansen, J., Russell, R.D.: Algorithm 569: COLSYS: collocation software for boundary-value ODEs [D2]. ACM Trans. Math. Softw. (TOMS) 7(2), 223–229 (1981)

    Article  Google Scholar 

  • Ascher, U.M., Mattheij, R.M.M., Russell, R.D.: Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, vol. 13. SIAM, Philadelphia (1994)

    MATH  Google Scholar 

  • Auzinger, W., et al.: A collocation code for singular boundary value problems in ordinary differential equations. Numer. Algorithms 33(1–4), 27–39 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  • Bader, G., Ascher, U.M.: A new basis implementation for a mixed order boundary value ODE solver. SIAM J. Sci. Stat. Comput. 8(4), 483–500 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  • Bashir-Ali, Z., Cash, J.R., Silva, H.H.M.: Lobatto deferred correction for stiff two-point boundary value problems. Comput. Math. Appl. 36(10), 59–69 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  • Becerra, V.M.: Solving complex optimal control problems at no cost with PSOPT. In: 2010 IEEE International Symposium on Computer-Aided Control System Design, pp. 1391–1396. IEEE (2010)

  • Betts, J.T.: Survey of numerical methods for trajectory optimization. J. Guid. Control Dyn. 21(2), 193–207 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  • Betts, J.T.: Practical Methods for Optimal Control and Estimation Using Nonlinear Programming, vol. 19. SIAM, Philadelphia (2010)

    Book  MATH  Google Scholar 

  • Betts, J.T.: Sparse optimization suite (SOS). In: Applied Mathematical Analysis, LLC. (Based on the Algorithms Published in Betts, JT, Practical Methods for Optimal Control and Estimation Using Nonlinear Programming. SIAM Press, Philadelphia, PA. (2010).) (2013)

  • Biegler, L.T.: Nonlinear Programming: Concepts, Algorithms, and Applications to Chemical Processes, vol. 10. SIAM, Philadelphia (2010)

    Book  MATH  Google Scholar 

  • Birkisson, Á., Driscoll, T.A.: Automatic Linearity Detection (2013a). http://eprints.maths.ox.ac.uk/1672/

  • Birkisson, Á.: Numerical solution of nonlinear boundary value problems for ordinary differential equations in the continuous framework. Ph.D. thesis, University of Oxford (2013b)

  • Birkisson, Á., Driscoll, T.A.: Automatic Fréchet differentiation for the numerical solution of boundary-value problems. ACM Trans. Math. Softw. (TOMS) 38(4), 26 (2012)

    Article  MATH  Google Scholar 

  • Bloch, A.M.: Nonholonomic Mechanics and Control, vol. 24. Springer, New York (2003)

    Google Scholar 

  • Bloch, A.M., et al.: Nonholonomic mechanical systems with symmetry. Arch. Ration. Mech. Anal. 136, 21–99 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  • Bloch, A.A., et al.: A geometric approach to the optimal control of nonholonomic mechanical systems. In: Bettiol, P., Cannarsa, P., Colombo, G., Motta, M., Rampazzo, F. (eds.) Analysis and Geometry in Control Theory and its Applications, pp. 35–64. Springer INdAM Series, Basel (2015a)

  • Bloch, A.M., Krupka, D., Zenkov, D.V.: The Helmholtz conditions and the method of controlled Lagrangians. In: Zenkov, D.V. (ed.) The Inverse Problem of the Calculus of Variations: Local and Global Theory, pp. 1–31. Atlantic Press, Minneapolis (2015b)

  • Boisvert, J.J., Muir, P.H., Spiteri, R.J.: py_bvp: a universal Python interface for BVP codes. In: Proceedings of the 2010 Spring Simulation Multiconference, p. 95. Society for Computer Simulation International (2010)

  • Boisvert, J.J., Muir, P.H., Spiteri, R.J.: A Runge–Kutta BVODE solver with global error and defect control. ACM Trans. Math. Softw. (TOMS) 39(2), 11 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  • Bonnans, F., et al.: BOCOP: User Guide (2014). http://bocop.org/

  • Bonnans, F., et al.: BocopHJB 1.0. 1–User Guide, PhD thesis. INRIA (2015)

  • Bonnard, B., Caillau, J.-B., Trélat, E.: Computation of conjugate times in smooth optimal control: the COTCOT algorithm. In: Proceedings of the 44th IEEE Conference on Decision and Control and European Control Conference 2005 (CDC-ECC’05), Séville, Spain. IEEE (2005)

  • Bonnard, B., Caillau, J.-B., Trélat, E.: Second order optimality conditions in the smooth case and applications in optimal control. ESAIM Control Optim. Calc. Var. 13(2), 207–236 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  • Borisov, A.V., Kilin, A.A., Mamaev, I.S.: Hamiltonicity and integrability of the Suslov problem. Regul. Chaotic Dyn. 16(1–2), 104–116 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  • Brauer, G.L., Cornick, D.E., Stevenson, R.: Capabilities and Applications of the Program to Optimize Simulated Trajectories (POST). Program Summary Document (1977)

  • Brockett, R.W.: System theory on group manifolds and coset spaces. SIAM J. Control 10(2), 265–284 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  • Brugnano, L., Trigiante, D.: A new mesh selection strategy for ODEs. Appl. Numer. Math. 24(1), 1–21 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  • Bryson, A.E.: Applied Optimal Control: Optimization, Estimation and Control. CRC Press, Boca Raton (1975)

    Google Scholar 

  • Bryson, A.E.: Dynamic Optimization, vol. 1. Prentice Hall, Englewood Cliffs (1999)

    Google Scholar 

  • Bullo, F., Lewis, A.D.: Geometric Control of Mechanical Systems: Modeling, Analysis, and Design for Simple Mechanical Control Systems. Texts in Applied Mathematics. Springer, New York (2005)

    Book  MATH  Google Scholar 

  • Byrd, R.H., Nocedal, J., Waltz, R.A.: KNITRO: an integrated package for nonlinear optimization. In: Di Pillo, G., Roma, M. (eds.) Large-Scale Nonlinear Optimization, pp. 35–59. Springer, Berlin (2006)

  • Caillau, J.-B., Cots, O., Gergaud, J.: Differential continuation for regular optimal control problems. Optim. Methods Softw. 27(2), 177–196 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  • Cash, J.R., Wright, M.H.: A deferred correction method for nonlinear two-point boundary value problems: implementation and numerical evaluation. SIAM J. Sci. Stat. Comput. 12(4), 971–989 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  • Cash, J.R., Mazzia, F.: A new mesh selection algorithm, based on conditioning, for two-point boundary value codes. J. Comput. Appl. Math. 184(2), 362–381 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  • Cash, J.R., Mazzia, F.: Hybrid mesh selection algorithms based on conditioning for two-point boundary value problems. JNAIAM J. Numer. Anal. Ind. Appl. Math. 1(1), 81–90 (2006)

    MathSciNet  MATH  Google Scholar 

  • Cash, J.R., Moore, G., Wright, R.W.: An automatic continuation strategy for the solution of singularly perturbed nonlinear boundary value problems. ACM Trans. Math. Softw. (TOMS) 27(2), 245–266 (2001)

    Article  MATH  Google Scholar 

  • Cash, J.R., et al.: The role of conditioning in mesh selection algorithms for first order systems of linear two point boundary value problems. J. Comput. Appl. Math. 185(2), 212–224 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  • Cash, J.R., et al.: Algorithm 927: the MATLAB code bvptwp. m for the numerical solution of two point boundary value problems. ACM Trans. Math. Softw. (TOMS) 39(2), 15 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  • Chen, Y.Q., Schwartz, A.L.: RIOTS95: a MATLAB toolbox for solving general optimal control problems and its applications to chemical processes (2002). http://www.schwartz-home.com/riots/

  • Chow, Y.T., et al.: Algorithm for overcoming the curse of dimensionality for certain non-convex Hamilton–Jacobi equations, projections and differential games. Ann. Math. Sci. Appl. (2016, to appear)

  • Cizniar, M., et al.: Dynopt–dynamic optimisation code for MATLAB. In: Technical Computing Prague 2005 (2005)

  • Community Portal for Automatic Differentiation (2016). http://www.autodiff.org/. Visited 10/08/2016

  • Cortés, J., Martínez, E.: Mechanical control systems on Lie algebroids. IMA J. Math. Control Inf. 21, 457–492 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  • Dahlquist, G., Björck, A.: Numerical Methods. Series in Automatic Computation. Prentice-Hall, Englewood Cliffs (1974)

    MATH  Google Scholar 

  • Dankowicz, H., Schilder, F.: Recipes for Continuation. SIAM, Philadelphia (2013)

    Book  MATH  Google Scholar 

  • Darbon, J., Osher, S.: Algorithms for Overcoming the Curse of Dimensionality for Certain Hamilton–Jacobi Equations Arising in Control Theory and Elsewhere. arXiv preprint arXiv:1605.01799 (2016)

  • Doedel, E.J., et al.: AUTO-07P: Continuation and Bifurcation Software for Ordinary Differential Equations (2007)

  • Driscoll, T.A., Hale, N., Trefethen, L.N.: Chebfun Guide (2014). Pafnuty Publications. http://www.chebfun.org/docs/guide/

  • Enright, W.H., Muir, P.H.: Runge–Kutta software with defect control for boundary value ODEs. SIAM J. Sci. Comput. 17(2), 479–497 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  • Evans, L.C.: Partial Differential Equations. American Mathematical Society, Providence. ISBN: 9780821849743, 0821849743 (2010)

  • Falugi, P., Kerrigan, E., Van Wyk, E.: Imperial College london Optimal Control Software User Guide (ICLOCS). Department of Electrical and Electronic Engineering, Imperial College London, London (2010)

    Google Scholar 

  • Gay-Balmaz, F., Putkaradze, V.: On noisy extensions of nonholonomic constraints. J. Nonlinear Sci. 26(6), 1571–1613 (2016). doi:10.1007/s00332-016-9313-x

  • Gerdts, M.: Optimal Control of ODEs and DAEs. Walter de Gruyter, Berlin (2012)

    Book  MATH  Google Scholar 

  • Gill, P.E., Wong, E.: Users Guide for SNCTRL. (2015). https://ccom.ucsd.edu/research/abstract.php?id=102

  • Gill, P.E., Murray, W., Saunders, M.A.: SNOPT: an SQP algorithm for large-scale constrained optimization. SIAM Rev. 47(1), 99–131 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  • Goh, C.J., Teo, K.L.: MISER: a FORTRAN program for solving optimal control problems. Adv. Eng. Softw. (1978) 10(2), 90–99 (1988)

    Article  Google Scholar 

  • Hale, N., Moore, D.R.: A sixth-order extension to the MATLAB package bvp4c of J. Kierzenka and L. Shampine (2008)

  • Holm, D.D.: Geometric mechanics: rotating, translating, and rolling. In: Geometric Mechanics. Imperial College Press, London. ISBN: 9781848167773 (2011)

  • Holmström, K., Göran, A., Edvall, M.M.: Users Guide for Tomlab 7 (2010). Tomlab Optimization, Vallentuna and Västerås. http://tomopt.com/tomlab/download/manuals.php

  • Houska, B., Ferreau, H.J., Diehl, M.: ACADO toolkitAn open-source framework for automatic control and dynamic optimization. Optim. Control Appl. Methods 32(3), 298–312 (2011)

    Article  MATH  Google Scholar 

  • Hull, D.G.: Optimal Control Theory for Applications. Springer, Berlin (2013)

    Google Scholar 

  • Isidori, A.: Nonlinear Control Systems. Springer, Berlin (2013)

    MATH  Google Scholar 

  • Jansch, C., Well, K.H., Schnepper, K.: GESOP-Eine Software Umgebung Zur Simulation Und Optimierung. In: Proceedings des SFB (1994)

  • Jean, F.: Control of Nonholonomic Systems: From Sub-Riemannian Geometry to Motion Planning. Springer, Cham (2014)

    MATH  Google Scholar 

  • Kelly, M.P.: OptimTraj User’s Guide, Version 1.5. (2016). https://github.com/MatthewPeterKelly/OptimTraj/tree/master/docs/UsersGuide

  • Kierzenka, J., Shampine, L.F.: A BVP solver that controls residual and error. JNAIAM J. Numer. Anal. Ind. Appl. Math. 3(1–2), 27–41 (2008)

    MathSciNet  MATH  Google Scholar 

  • Kitzhofer, G., et al.: The new Matlab code bvpsuite for the solution of singular implicit BVPs. J. Numer. Anal. Ind. Appl. Math 5, 113–134 (2010)

    MathSciNet  MATH  Google Scholar 

  • Koon, W.-S., Marsden, J.E.: Optimal control for holonomic and nonholonomic mechanical system with symmetry and Lagrangian reduction. SIAM J. Control Optim. 35, 901–929 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  • Kozlov, V.V.: On the integration theory of equations of nonholonomic mechanics. Regul. Chaotic Dyn. 7(2), 161–176 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  • Kunkel, P.: Differential-Algebraic Equations: Analysis and Numerical Solution. European Mathematical Society, Germany (2006)

    Book  MATH  Google Scholar 

  • Lee, J.M.: Smooth Manifolds. Springer, Berlin (2003)

    Book  Google Scholar 

  • Lewis, A.D.: Simple mechanical control systems with constraints. IEEE Trans. Automat. Control 45, 14201436 (2000)

    MathSciNet  Google Scholar 

  • Lewis, A.D., Murray, R.M.: Variational principles for constrained systems: theory and experiment. Int. J. Non Linear Mech. 30(6), 793–815 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  • Lewis, A.D., Murray, R.M.: Controllability of simple mechanical control systems. SIAM J. Control Optim. 35, 766–790 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  • Li, Z., Canny, J.F. (eds.): Nonholonomic Motion Planning. Springer, New York (1992)

    MATH  Google Scholar 

  • Marsden, J.E., Ratiu, T.S.: Introduction to Mechanics and Symmetry: A Basic Exposition of Classical Mechanical Systems, vol. 17. Springer, Berlin (2013)

    MATH  Google Scholar 

  • Mazzia, F., Sgura, I.: Numerical approximation of nonlinear BVPs by means of BVMs. Appl. Numer. Math. 42(1), 337–352 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  • Mazzia, F., Trigiante, D.: A hybrid mesh selection strategy based on conditioning for boundary value ODE problems. Numer. Algorithms 36(2), 169–187 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  • Mazzia, F., Cash, J.R., Soetaert, K.: Solving boundary value problems in the open source software R: package bvpSolve. Opusc. Math. 34(2), 387–403 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  • Nijmeijer, H., Van der Schaft, A.: Nonlinear Dynamical Control Systems. Springer, Berlin (2013)

    MATH  Google Scholar 

  • Nikolayzik, T., Büskens, C., Gerdts, M.: Nonlinear large-scale optimization with WORHP. In: Proceedings of the 13th AIAA/ISSMO Multidisciplinary Analysis Optimization Conference, vol. 13, no. 15.09 (2010)

  • Oberle, H.J., Grimm, W.: BNDSCO: A Program for the Numerical Solution of Optimal Control Problems. Inst. für Angewandte Math. der Univ, Hamburg (2001)

    Google Scholar 

  • Osborne, J., Zenkov, D.V.: Steering the Chaplygin sleigh by a moving mass. In: Proceedings of CDC 2005, vol. 44, pp. 1114–1118

  • Patterson, M.A., Rao, A.V.: GPOPS-II: a MATLAB software for solving multiple-phase optimal control problems using hp-adaptive Gaussian quadrature collocation methods and sparse nonlinear programming. ACM Trans. Math. Softw. (TOMS) 41(1), 1 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  • Poincaré, H.: Sur une forme nouvelle des équations de la mécanique. CR Acad. Sci 132, 369–371 (1901)

    MATH  Google Scholar 

  • Rao, A.V.: A survey of numerical methods for optimal control. Adv. Astronaut. Sci. 135(1), 497–528 (2009)

    Google Scholar 

  • Rao, A.V., et al.: Algorithm 902: Gpops, a matlab software for solving multiple-phase optimal control problems using the gauss pseudospectral method. ACM Trans. Math. Softw. (TOMS) 37(2), 22 (2010)

    Article  MATH  Google Scholar 

  • Rieck, M., et al.: FALCON.m User Guide. Institute of Flight System Dynamics, Technische Universität München, Munich (2016)

    Google Scholar 

  • Ross, I.M.: Users Manual for DIDO: A MATLAB Application Package for Solving Optimal Control Problems. Elissar Global (2004). http://www.elissarglobal.com/academic/products/

  • Rutquist, P.E., Edvall, M.M.: Propt-matlab Optimal Control Software, vol. 260. Tomlab Optimization Inc, Vallentuna and Västerås (2010)

  • Shampine, L.F., Kierzenka, J., Reichelt, M.W.: Solving boundary value problems for ordinary differential equations in MATLAB with bvp4c. In: Tutorial notes, pp. 437–448 (2000)

  • Shampine, L.F., Muir, P.H., Xu, H.: A user-friendly Fortran BVP solver1. JNAIAM 1(2), 201–217 (2006)

    MathSciNet  MATH  Google Scholar 

  • Suslov, G.K.: Theoretical Mechanics, vol. 3. Gostekhizdat, Moscow (1946)

    Google Scholar 

  • The Numerical Algorithms Group (NAG). The NAG Library. www.nag.com

  • Vlases, W.G., et al.: Optimal trajectories by implicit simulation. In: Boeing Aerospace and Electronics, Technical Report WRDC-TR-90-3056, Wright-Patterson Air Force Base (1990)

  • von Stryk, O.: Users Guide for DIRCOL. Technische Universität Darmstadt, Darmstadt (2000)

    Google Scholar 

  • Wächter, A., Biegler, L.T.: On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  • Weinstein, M.J., Patterson, M.A., Rao, A.V.: Utilizing the algorithmic differentiation package ADiGator for solving optimal control problems using direct collocation. In: AIAA Guidance, Navigation, and Control Conference, p. 1085 (2015)

  • Weinstein, M.J., Rao, A.V.: Algorithm: ADiGator, a toolbox for the algorithmic differentiation of mathematical functions in MATLAB using source transformation via operator overloading. ACM Trans. Math. Softw. (2016, in revision). http://www.anilvrao.com/Publications/SubmittedJournalPublications/adigator-CALGO.pdf

  • Zenkov, D.V., et al.: Matching and stabilization of low dimensional nonholonomic systems. In: Proc CDC 2000, vol 39. pp. 1289–1295 (2000)

  • Zenkov, D.V., Bloch, A.M., Marsden, J.E.: Flat nonholonomic matching. In: Proceedings of ACC 2002, pp. 2812–2817 (2002)

Download references

Acknowledgements

This problem has been suggested to us by Prof. D. V. Zenkov during a visit to the University of Alberta. Subsequent discussions and continued interest by Prof. Zenkov to this project are gratefully acknowledged. We also acknowledge fruitful discussions with Profs. A. A. Bloch, D. D. Holm, M. Leok, F. Gay-Balmaz, T. Hikihara, A. Lewis, and H. Yoshimura. There were many helpful exchanges with Prof. H. Oberle, Prof. L. F. Shampine (bvp4c and bvp5c), Prof. F. Mazzia (TOM and bvptwp), J. Willkomm (ADiMat), M. Weinsten (ADiGator), and Prof. A. Rao (GPOPS-II) concerning ODE BVP solvers, automatic differentiation software, and direct method solvers. Both authors of this project were partially supported by the NSERC Discovery Grant and the University of Alberta Centennial Fund. In addition, Stuart Rogers was supported by the FGSR Graduate Travel Award, the IGR Travel Award, the GSA Academic Travel Award, and the AMS Fall Sectional Grad Student Travel Grant. We also thank the Alberta Innovates Technology Funding (AITF) for providing support to the authors through the Alberta Centre for Earth Observation Sciences (CEOS).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stuart Rogers.

Additional information

Communicated by Anthony Bloch.

A Survey of Numerical Methods for Solving Optimal Control Problems: Dynamic Programming, the Direct Method, and the Indirect Method

A Survey of Numerical Methods for Solving Optimal Control Problems: Dynamic Programming, the Direct Method, and the Indirect Method

There are three approaches to solving an optimal control problem: (1) dynamic programming, (2) the direct method, and (3) the indirect method. Bryson (1975), Bryson (1999) present an introduction to dynamic programming. Betts (1998), Rao (2009) are thorough survey articles on the direct and indirect methods. Reference Gerdts (2012) is a recent treatise providing detailed descriptions of both the direct and indirect methods, Biegler (2010) is a comprehensive reference on the direct method, while Betts (2010) provides a comprehensive, modern treatment of the local collocation technique of the direct method.

In dynamic programming, a PDE, called the Hamilton–Jacobi–Bellman equation (Evans 2010), is formulated and solved. However, due to the curse of dimensionality, solution of this PDE is only practical for very simple problems. Therefore, very few numerical solvers implement dynamic programming to solve optimal control problems. For example, BOCOPHJB (Bonnans et al. 2015) is free C++ software implementing the dynamic programming approach. Darbon and Osher (2016), Chow (2016) constitute recent research that seeks to overcome the curse of dimensionality in certain special cases.

Note that because the control function u is an unknown function of time, an optimal control problem is infinite-dimensional. In the direct method, the infinite-dimensional optimal control problem is approximated by a finite-dimensional nonlinear programming (NLP) problem by parameterizing the control function u as a finite linear combination of basis functions. In the sequential approach of the direct method, the state is reconstructed from a guess of the unknown coefficients for the control basis functions, the unknown parameters, the unknown initial states, and the unknown terminal time by multiple shooting. In the simultaneous approach of the direct method, the state is also parameterized as a finite linear combination of basis functions. In the direct method, the ODE, initial boundary conditions, terminal boundary conditions, and path constraints are represented as a system of algebraic inequalities, and the objective function is minimized subject to satisfying the system of algebraic inequalities, with the unknowns being the coefficients for the control and/or state basis functions, parameters, initial states, and the terminal time. In the Lagrange and Bolza formulations, the objective function is approximated via numerical quadrature. There are many NLP problem solvers available, such as IPOPT (Wächter and Biegler 2006), WORHP (Nikolayzik et al. 2010), SNOPT (Gill et al. 2005), KNITRO (Byrd et al. 2006), and \(\texttt {MATLAB}\)’s \(\texttt {fmincon}\);Footnote 1 of these NLP problem solvers, only IPOPT and WORHP are free. Most direct method solvers utilize one of these NLP problem solvers.

The packages RIOTS (Chen and Schwartz 2002), DYNOPT (Cizniar et al. 2005), ICLOCS (Falugi et al. 2010), GPOPS (Rao et al. 2010), FALCON.m (Rieck et al. 2016), and OptimTraj (Kelly 2016) are free MATLAB implementations of the direct method, while DIDO (Ross 2004), PROPT (Rutquist and Edvall 2010), and GPOPS-II (Patterson and Rao 2014) are commercial MATLAB implementations of the direct method. BOCOP (Bonnans et al. 2014), ACADO (Houska et al. 2011), and PSOPT (Becerra 2010) are free C++ implementations of the direct method. MISER (Goh and Teo 1988), DIRCOL (von Stryk 2000), SNCTRL (Gill and Wong 2015), OTIS (Vlases et al. 1990), and POST (Brauer et al. 1977) are free Fortran implementations of the direct method, while GESOP (Jansch et al. 1994) and SOS (Betts 2013) are commercial Fortran implementations of the direct method.

In the indirect method, Pontryagin’s minimum principle uses the calculus of variations to formulate necessary conditions for a minimum solution to the optimal control problem. These necessary conditions take the form of a differential algebraic equation (DAE) with boundary conditions; such a problem is called a DAE boundary value problem (BVP). In some cases, through algebraic manipulation, it is possible to convert the DAE to an ordinary differential equation (ODE), thereby producing an ODE BVP.

A DAE BVP can be solved numerically by multiple shooting, collocation, or quasilinearization (Kunkel 2006). bvpsuite (Kitzhofer et al. 2010) is a free MATLAB collocation DAE BVP solver. COLDAE (Ascher and Spiteri 1994) is a free Fortran quasilinearization DAE BVP solver, which solves each linearized problem via collocation. The commercial Fortran code SOS, mentioned previously, also has the capability to solve DAE BVPs arising from optimal control problems via multiple shooting or collocation.

An ODE BVP can be solved numerically by multiple shooting, Runge–Kutta methods, collocation (which is a special subset of Runge–Kutta methods), finite differences, or quasilinearization (Ascher et al. 1994). bvp4c (Shampine et al. 2000), bvp5c (Kierzenka and Shampine 2008), bvp6c (Hale and Moore 2008), and sbvp (Auzinger et al. 2003) are MATLAB collocation ODE BVP solvers; bvp4c and bvp5c come standard with MATLAB, while bvp6c and sbvp are free. bvptwp (Cash et al. 2013) is a free MATLAB ODE BVP solver package implementing 6 algorithms: twpbvp_m, twpbvpc_m, twpbvp_l, twpbvpc_l, acdc, and acdcc; acdc and acdcc perform automatic continuation. twpbvp_m and twpbvpc_m rely on Runge–Kutta methods, while the other 4 algorithms rely on collocation. TOM (Brugnano and Trigiante 1997; Mazzia and Sgura 2002; Aceto et al. 2003; Mazzia and Trigiante 2004; Cash et al. 2006) is a free MATLAB quasilinearization ODE BVP solver, which uses finite differences to solve each linearized problem. solvebvp (Birkisson 2013b; Birkisson and Driscoll 2012, 2013a) is a MATLAB quasilinearization ODE BVP solver available in the free MATLAB toolbox Chebfun (Driscoll et al. 2014); solvebvp uses spectral collocation to solve each linearized problem. COTCOT (Bonnard et al. 2005), HamPath (Caillau et al. 2012), and BNDSCO (Oberle and Grimm 2001) are free Fortran indirect method optimal control problem solvers that use multiple shooting to solve the ODE BVPs.

MIRKDC (Enright and Muir 1996), BVP_SOLVER (Shampine et al. 2006), and BVP_SOLVER-2 (Boisvert et al. 2013) and TWPBVP (Cash and Wright 1991) and TWPBVPC (Cash and Mazzia 2005) are free Fortran Runge–Kutta method ODE BVP solvers. TWPBVPL (Bashir-Ali et al. 1998), TWPBVPLC (Cash and Mazzia 2006), ACDC (Cash et al. 2001), and ACDCC (Cash et al. 2013) are free Fortran collocation ODE BVP solvers. bvptwp, mentioned previously, is a MATLAB reimplementation of the Fortran solvers TWPBVP, TWPBVPC, TWPBVPL, TWPBVPLC, ACDC, and ACDCC. COLSYS (Ascher et al. 1981), COLNEW (Bader and Ascher 1987), and COLMOD (Cash et al. 2001) are free Fortran collocation quasilinearization ODE BVP solvers; COLMOD is an automatic continuation version of COLNEW. bvpSolve (Mazzia et al. 2014) is an R library that wraps the Fortran solvers TWPBVP, TWPBVPC, TWPBVPL, TWPBVPLC, ACDC, and ACDCC and COLSYS, COLNEW, COLMOD, and COLDAE. py_bvp (Boisvert et al. 2010) is a Python library that wraps the Fortran solvers TWPBVPC, COLNEW, and BVP_SOLVER. The NAG Library (www.nag.com) is a commercial Fortran library consisting of several multiple shooting, collocation, and finite difference ODE BVP solvers. The Fortran solvers in the NAG Library are accessible from other languages (like C, Python, MATLAB, and .NET) via wrappers.

The NLP solver utilized by a direct method and the ODE/DAE BVP solver utilized by an indirect method must compute Jacobians and/or Hessians (i.e., derivatives) of the functions involved in the optimal control problem. These derivatives may be approximated by finite differences, but for increased accuracy and in many cases increased efficiency, exact (to machine precision) derivatives are desirable. These exact derivatives may be computed through symbolic or automatic differentiation. Usually, a symbolic derivative evaluates much more rapidly than an automatic derivative; however, due to expression explosion, symbolic derivatives cannot always be obtained for very complicated functions. The Symbolic Math Toolbox and TomSym (Holmström et al. 2010) are commercial MATLAB toolboxes that compute symbolic derivatives. While the Symbolic Math Toolbox only computes un-vectorized symbolic derivatives, TomSym computes both un-vectorized and vectorized symbolic derivatives. ADiGator (Weinstein and Rao 2016; Weinstein et al. 2015) is a free MATLAB toolbox capable of computing both un-vectorized and vectorized automatic derivatives. Usually in MATLAB, a vectorized automatic derivative evaluates much more rapidly than an un-vectorized symbolic derivative (wrapped within a for loop). Only the MATLAB Symbolic Math Toolbox and ADiGator were utilized in this research. For other automatic differentiation packages available in many programming languages, see Community Portal for Automatic Differentiation (2016).

A dynamic programming solution satisfies necessary and sufficient conditions for a global minimum solution of an optimal control problem. A direct method solution satisfies necessary and sufficient conditions for a local minimum solution of a finite-dimensional approximation of an optimal control problem, while an indirect method solution only satisfies necessary conditions for a local minimum solution of an optimal control problem. Thus, the dynamic programming approach is the holy grail for solving an optimal control problem; however, as mentioned previously, dynamic programming is impractical due to the curse of dimensionality. Therefore, in practice only direct and indirect methods are used to solve optimal control problems.

Since the direct method solves a finite-dimensional approximation of the original optimal control problem, the direct method is not as accurate as the indirect method. Moreover, the indirect method converges much more rapidly than the direct method. However, in addition to solving for the states and controls, the indirect method must also solve for the costates. Since the costates are unphysical, they are very difficult to guess initially. Therefore, though the direct method may be slower than the indirect method and may not be quite as accurate as the indirect method, the direct method is much more robust to poor initial guesses of the states and controls. Therefore, the preferred method of solution for many practical applications tends to be the direct method.

In some cases, it is possible to surmount the problem of providing a good initial guess required to obtain convergence via the indirect method. In such cases, the indirect method will converge substantially faster than the direct method. If a solution of a simpler optimal control problem is known and if the simpler and original optimal control problems are related by a continuous parameter, it may be possible to perform numerical continuation in the parameter from the solution of the simpler optimal control problem to a solution of the original optimal control problem. In the literature, numerical continuation is also sometimes called the differential path following method or the homotopy method. Allgower and Georg (2003) is a comprehensive reference on numerical continuation methods. bvpsuite implements a continuation algorithm to solve DAE BVPs, where the continuation parameter may have turning points (i.e., the continuation parameter need not monotonically increase or decrease). COCO (Dankowicz and Schilder 2013), a free collection of MATLAB toolboxes, and AUTO (Doedel et al. 2007), free Fortran software, implement sophisticated algorithms for the numerical continuation (permitting turning points) of ODE BVPs. followpath, available in the MATLAB toolbox Chebfun, is able to utilize Chebfun’s quasilinearization ODE BVP solver bvpsolve to solve ODE BVPs via continuation, where the continuation parameter may have turning points. acdc / ACDC, acdcc / ACDCC, and COLMOD implement continuation algorithms to solve ODE BVPs, but the continuation parameter is assumed to monotonically increase or decrease. HamPath, mentioned previously, is a free Fortran indirect method optimal control problem solver which uses continuation (permitting turning points) in concert with multiple shooting. Of these numerical continuation tools, only acdc and acdcc were used in this research.

In order to converge to the solution of the true optimal control problem rather than a finite-dimensional approximation, a direct method may use h, p, or hp methods. In the h method, the degree of the approximating polynomial on each mesh interval is held fixed, while the mesh is adaptively refined until the solution meets given error tolerances. In the p method, the mesh is held fixed, while the degree of the approximating polynomial on each mesh interval is adaptively increased until the solution meets given error tolerances. In the hp method, which is implemented by GPOPS-II, the mesh and the degree of the approximating polynomial on each mesh interval are adaptively refined until the solution meets given error tolerances.

We have used the indirect method to numerically solve Suslov’s optimal control problem, as it is vastly superior in speed compared to other methods and is capable of dealing with solutions having sharp gradients, if an appropriate BVP solver is utilized. This was made possible by constructing an analytical state and control solution to a singular optimal control problem and then by using continuation in the cost function coefficients to solve the actual optimal control problem. The singular optimal control problem can be solved analytically since the initial conditions \(\varvec{\xi }(a)\) are not prescribed, because the constraint \(\left\langle \varvec{\Omega }(a),\varvec{\xi }(a)\right\rangle =0\) is not explicitly enforced, and because it is easy to solve Suslov’s pure equations of motion for \(\varvec{\xi }\) in terms of \(\varvec{\Omega }\). Since the necessary conditions obtained by applying Pontryagin’s minimum principle to Suslov’s optimal control problem can be formulated as an ODE BVP, ODE rather than DAE BVP solvers were used. The MATLAB solvers bvp4c, bvp5c, bvp6c, sbvp, bvptwp, and TOM were used to solve the ODE BVP. sbvp and bvptwp, which have up to 8th-order accuracy, were found to be the most robust in solving the ODE BVP for Suslov’s optimal control problem; the other MATLAB solvers were found to be very inefficient, requiring many thousands of mesh points due to their lower accuracy. The numerical results presented in Sect. 5.3 were obtained via bvptwp’s automatic continuation solver acdc and sbvp.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Putkaradze, V., Rogers, S. Constraint Control of Nonholonomic Mechanical Systems. J Nonlinear Sci 28, 193–234 (2018). https://doi.org/10.1007/s00332-017-9406-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00332-017-9406-1

Keywords

Mathematics Subject Classification

Navigation