Multibody System Dynamics

, Volume 31, Issue 3, pp 371–392 | Cite as

On the Gröbner basis triangularization of constraint equations in natural coordinates

  • Thomas Uchida
  • Alfonso Callejo
  • Javier García de Jalón
  • John McPhee


Efficient dynamic simulation code is essential in many situations (including hardware-in-the-loop and model-predictive control applications), and highly beneficial in others (such as design optimization, sensitivity analysis, parameter identification, and controller tuning tasks). When the number of modeling coordinates n exceeds the degrees-of-freedom of the system f, as is often the case when closed kinematic chains are present, the governing dynamic equations consist of n second-order ordinary differential equations (ODEs) coupled with m=nf algebraic constraint equations. This set of n+m index-3 differential-algebraic equations can be difficult to solve in an efficient yet accurate manner. Embedding (or generalized coordinate partitioning) can be used to obtain f ODEs (one for each independent acceleration), which are generally more amenable to numerical integration; however, the dependent positions are typically computed from the independent positions at each time step. Newton–Raphson iteration is often used for solving the position-level kinematics, but only provides solutions to within a specified tolerance, and can require several iterations to converge. In this work, Gröbner bases are used to obtain recursively solvable symbolic solutions for the dependent positions, which can then be evaluated to within machine precision using a fixed number of arithmetic operations. Natural coordinates are particularly attractive in this context, since the resulting constraint equations are maximally quadratic polynomials and are, therefore, easily triangularized. The proposed approach is suitable for use in an automated formulation procedure and, as demonstrated by three examples, is capable of generating highly efficient simulation code with minimal additional effort required at the formulation stage.


Computational efficiency Gröbner bases Kinematics Natural coordinates Symbolic computation 


  1. 1.
    Buchberger, B.: A criterion for detecting unnecessary reductions in the construction of Gröbner-bases. In: Ng, E. (ed.) Symbolic and Algebraic Computation. Lecture Notes in Computer Science, vol. 72, pp. 3–21. Springer, Berlin (1979) CrossRefGoogle Scholar
  2. 2.
    Buchberger, B.: Gröbner bases: an algorithmic method in polynomial ideal theory. In: Bose, N.K. (ed.) Multidimensional Systems Theory: Progress, Directions and Open Problems in Multidimensional Systems, pp. 184–232. Reidel, Dordrecht (1985) CrossRefGoogle Scholar
  3. 3.
    Buchberger, B.: Gröbner bases and systems theory. Multidimens. Syst. Signal Process. 12, 223–251 (2001) CrossRefMATHMathSciNetGoogle Scholar
  4. 4.
    Buchberger, B.: Bruno Buchberger’s PhD thesis 1965: An algorithm for finding the basis elements of the residue class ring of a zero dimensional polynomial ideal (translated by M.P. Abramson). J. Symb. Comput. 41, 475–511 (2006) CrossRefMATHMathSciNetGoogle Scholar
  5. 5.
    Buchberger, B., Winkler, F. (eds.): Gröbner Bases and Applications. London Mathematical Society Lecture Note Series, vol. 251. Cambridge University Press, Cambridge (1998) MATHGoogle Scholar
  6. 6.
    Cox, D., Little, J., O’Shea, D.: Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 3rd edn. Springer, New York (2007) CrossRefGoogle Scholar
  7. 7.
    Dhingra, A.K., Almadi, A.N., Kohli, D.: Closed-form displacement and coupler curve analysis of planar multi-loop mechanisms using Gröbner bases. Mech. Mach. Theory 36, 273–298 (2001) CrossRefMATHMathSciNetGoogle Scholar
  8. 8.
    Faugère, J.C.: A new efficient algorithm for computing Gröbner bases (F 4). J. Pure Appl. Algebra 139, 61–88 (1999) CrossRefMATHMathSciNetGoogle Scholar
  9. 9.
    Faugère, J.C.: A new efficient algorithm for computing Gröbner bases without reduction to zero (F 5). In: Giusti, M. (ed.) Proceedings of the 2002 International Symposium on Symbolic and Algebraic Computation, Lille, France, pp. 75–83 (2002) CrossRefGoogle Scholar
  10. 10.
    Faugère, J.C., Merlet, J.P., Rouillier, F.: On solving the direct kinematics problem for parallel robots. Tech. Rep. 5923, Institut National de Recherche en Informatique et en Automatique (2006) Google Scholar
  11. 11.
    Fisette, P., Samin, J.C.: Symbolic generation of a multibody formalism of order N—extension to closed-loop systems using the coordinate partitioning method. Int. J. Numer. Methods Eng. 39, 4091–4112 (1996) CrossRefMATHGoogle Scholar
  12. 12.
    Fröberg, R.: An Introduction to Gröbner Bases. Wiley, Chichester (1997) MATHGoogle Scholar
  13. 13.
    García de Jalón, J.: Twenty-five years of natural coordinates. Multibody Syst. Dyn. 18, 15–33 (2007) CrossRefMATHMathSciNetGoogle Scholar
  14. 14.
    García de Jalón, J., Bayo, E.: Kinematic and Dynamic Simulation of Multibody Systems: The Real-Time Challenge. Springer, New York (1994) CrossRefGoogle Scholar
  15. 15.
    García de Jalón, J., Serna, M.A., Avilés, R.: A computer method for kinematic analysis of lower-pair mechanisms—I: velocities and accelerations. Mech. Mach. Theory 16, 543–556 (1981) CrossRefGoogle Scholar
  16. 16.
    García de Jalón, J., Serna, M.A., Avilés, R.: A computer method for kinematic analysis of lower-pair mechanisms—II: position problems. Mech. Mach. Theory 16, 557–566 (1981) CrossRefGoogle Scholar
  17. 17.
    García de Jalón, J., Unda, J., Avello, A.: Natural coordinates for the computer analysis of multibody systems. Comput. Methods Appl. Mech. Eng. 56, 309–327 (1986) CrossRefMATHGoogle Scholar
  18. 18.
    Gebauer, R., Möller, H.M.: On an installation of Buchberger’s algorithm. J. Symb. Comput. 6, 275–286 (1988) CrossRefMATHGoogle Scholar
  19. 19.
    Geike, T., McPhee, J.: Inverse dynamic analysis of parallel manipulators with full mobility. Mech. Mach. Theory 38, 549–562 (2003) CrossRefMATHMathSciNetGoogle Scholar
  20. 20.
    Giovini, A., Mora, T., Niesi, G., Robbiano, L., Traverso, C.: “One sugar cube, please” or Selection strategies in the Buchberger algorithm. In: Watt, S.M. (ed.) Proceedings of the 1991 International Symposium on Symbolic and Algebraic Computation, Bonn, Germany, pp. 49–54 (1991) CrossRefGoogle Scholar
  21. 21.
    González, M., González, F., Dopico, D., Luaces, A.: On the effect of linear algebra implementations in real-time multibody system dynamics. Comput. Mech. 41, 607–615 (2008) CrossRefMATHGoogle Scholar
  22. 22.
    Hashemi, A., Lazard, D.: Sharper complexity bounds for zero-dimensional Gröbner bases and polynomial system solving. Tech. Rep. 5491, Institut National de Recherche en Informatique et en Automatique (2005) Google Scholar
  23. 23.
    Heck, A.: Introduction to Maple, 3rd edn. Springer, New York (2003) CrossRefMATHGoogle Scholar
  24. 24.
    Kalker-Kalkman, C.M.: An implementation of Buchberger’s algorithm with applications to robotics. Mech. Mach. Theory 28, 523–537 (1993) CrossRefGoogle Scholar
  25. 25.
    Kondratyev, A., Stetter, H.J., Winkler, F.: Numerical computation of Gröbner bases. In: Ganzha, V.G., Mayr, E.W., Vorozhtsov, E.V. (eds.) Proceedings of the 7th International Workshop on Computer Algebra in Scientific Computing, Saint Petersburg, Russia, pp. 295–306 (2004) Google Scholar
  26. 26.
    Lichtblau, D.: Approximate Gröbner bases and overdetermined algebraic systems. In: Applications of Computer Algebra, Symbolic and Numeric Computation Session, Linz, Austria (2008) Google Scholar
  27. 27.
    Lichtblau, D.: Exact computation using approximate Gröbner bases. In: Applications of Computer Algebra, Symbolic and Numeric Computation Session, Linz, Austria (2008) Google Scholar
  28. 28.
    Mayr, E.W., Ritscher, S.: Degree bounds for Gröbner bases of low-dimensional polynomial ideals. In: Koepf, W. (ed.) Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation, Munich, Germany, pp. 21–27 (2010) CrossRefGoogle Scholar
  29. 29.
    Mourrain, B.: The 40 “generic” positions of a parallel robot. In: Bronstein, M. (ed.) Proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation, Kiev, Ukraine, pp. 173–182 (1993) CrossRefGoogle Scholar
  30. 30.
    Nielsen, J., Roth, B.: On the kinematic analysis of robotic mechanisms. Int. J. Robot. Res. 18, 1147–1160 (1999) CrossRefGoogle Scholar
  31. 31.
    Papegay, Y.A., Merlet, J.P., Daney, D.: Exact kinematics analysis of a car’s suspension mechanisms using symbolic computation and interval analysis. Mech. Mach. Theory 40, 395–413 (2005) CrossRefMATHGoogle Scholar
  32. 32.
    Roth, B.: Computational advances in robot kinematics. In: Lenarčič, J., Ravani, B. (eds.) Advances in Robot Kinematics and Computational Geometry, pp. 7–16. Kluwer Academic, Dordrecht (1994) CrossRefGoogle Scholar
  33. 33.
    Serna, M.A., Avilés, R., García de Jalón, J.: Dynamic analysis of plane mechanisms with lower pairs in basic coordinates. Mech. Mach. Theory 17, 397–403 (1982) CrossRefGoogle Scholar
  34. 34.
    Shabana, A.A.: Dynamics of Multibody Systems, 3rd edn. Cambridge University Press, New York (2005) CrossRefMATHGoogle Scholar
  35. 35.
    Shirayanagi, K.: Floating point Gröbner bases. Math. Comput. Simul. 42, 509–528 (1996) CrossRefMATHMathSciNetGoogle Scholar
  36. 36.
    Suzuki, A.: Computing Gröbner bases within linear algebra. In: Gerdt, V.P., Mayr, E.W., Vorozhtsov, E.V. (eds.) Computer Algebra in Scientific Computing. Lecture Notes in Computer Science, vol. 5743, pp. 310–321. Springer, Berlin (2009) CrossRefGoogle Scholar
  37. 37.
    Tsai, L.W.: Solving the inverse dynamics of a Stewart–Gough manipulator by the principle of virtual work. ASME J. Mech. Des. 122, 3–9 (2000) CrossRefGoogle Scholar
  38. 38.
    Uchida, T.: Real-time dynamic simulation of constrained multibody systems using symbolic computation. Ph.D. thesis, University of Waterloo (2011) Google Scholar
  39. 39.
    Uchida, T., McPhee, J.: Triangularizing kinematic constraint equations using Gröbner bases for real-time dynamic simulation. Multibody Syst. Dyn. 25, 335–356 (2011) CrossRefMATHMathSciNetGoogle Scholar
  40. 40.
    Uchida, T., McPhee, J.: Using Gröbner bases to generate efficient kinematic solutions for the dynamic simulation of multi-loop mechanisms. Mech. Mach. Theory 52, 144–157 (2012) CrossRefGoogle Scholar
  41. 41.
    von zur Gathen, J, Gerhard, J.: Modern Computer Algebra, 2nd edn. Cambridge University Press, Cambridge (2003) MATHGoogle Scholar
  42. 42.
    Wehage, R.A., Haug, E.J.: Generalized coordinate partitioning for dimension reduction in analysis of constrained dynamic systems. ASME J. Mech. Des. 104, 247–255 (1982) CrossRefGoogle Scholar
  43. 43.
    Wells, D.: The Penguin Dictionary of Curious and Interesting Numbers. Penguin Group, London (1986) Google Scholar
  44. 44.
    Wittkopf, A.: Automatic code generation and optimization in Maple. J. Numer. Anal. Ind. Appl. Math. 3, 167–180 (2008) MATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2013

Authors and Affiliations

  • Thomas Uchida
    • 1
  • Alfonso Callejo
    • 2
  • Javier García de Jalón
    • 2
  • John McPhee
    • 1
  1. 1.Department of Systems Design EngineeringUniversity of WaterlooWaterlooCanada
  2. 2.Computational Mechanics Group, Instituto Universitario de Investigación del AutomóvilUniversidad Politécnica de MadridMadridSpain

Personalised recommendations