Abstract
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=n−f 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.
Similar content being viewed by others
Notes
The constraints are switched at θ i ≈37∘ rather than 45∘, a heuristic that favors the use of the cosine constraint, which is the less computationally expensive of the two.
Maple is a trademark of Waterloo Maple Inc.
Microsoft and Visual C++ are registered trademarks of Microsoft Corporation.
Intel and Intel Core are trademarks of Intel Corporation.
Xeon is a trademark of Intel Corporation.
References
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)
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)
Buchberger, B.: Gröbner bases and systems theory. Multidimens. Syst. Signal Process. 12, 223–251 (2001)
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)
Buchberger, B., Winkler, F. (eds.): Gröbner Bases and Applications. London Mathematical Society Lecture Note Series, vol. 251. Cambridge University Press, Cambridge (1998)
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)
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)
Faugère, J.C.: A new efficient algorithm for computing Gröbner bases (F 4). J. Pure Appl. Algebra 139, 61–88 (1999)
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)
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)
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)
Fröberg, R.: An Introduction to Gröbner Bases. Wiley, Chichester (1997)
García de Jalón, J.: Twenty-five years of natural coordinates. Multibody Syst. Dyn. 18, 15–33 (2007)
García de Jalón, J., Bayo, E.: Kinematic and Dynamic Simulation of Multibody Systems: The Real-Time Challenge. Springer, New York (1994)
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)
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)
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)
Gebauer, R., Möller, H.M.: On an installation of Buchberger’s algorithm. J. Symb. Comput. 6, 275–286 (1988)
Geike, T., McPhee, J.: Inverse dynamic analysis of parallel manipulators with full mobility. Mech. Mach. Theory 38, 549–562 (2003)
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)
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)
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)
Heck, A.: Introduction to Maple, 3rd edn. Springer, New York (2003)
Kalker-Kalkman, C.M.: An implementation of Buchberger’s algorithm with applications to robotics. Mech. Mach. Theory 28, 523–537 (1993)
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)
Lichtblau, D.: Approximate Gröbner bases and overdetermined algebraic systems. In: Applications of Computer Algebra, Symbolic and Numeric Computation Session, Linz, Austria (2008)
Lichtblau, D.: Exact computation using approximate Gröbner bases. In: Applications of Computer Algebra, Symbolic and Numeric Computation Session, Linz, Austria (2008)
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)
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)
Nielsen, J., Roth, B.: On the kinematic analysis of robotic mechanisms. Int. J. Robot. Res. 18, 1147–1160 (1999)
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)
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)
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)
Shabana, A.A.: Dynamics of Multibody Systems, 3rd edn. Cambridge University Press, New York (2005)
Shirayanagi, K.: Floating point Gröbner bases. Math. Comput. Simul. 42, 509–528 (1996)
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)
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)
Uchida, T.: Real-time dynamic simulation of constrained multibody systems using symbolic computation. Ph.D. thesis, University of Waterloo (2011)
Uchida, T., McPhee, J.: Triangularizing kinematic constraint equations using Gröbner bases for real-time dynamic simulation. Multibody Syst. Dyn. 25, 335–356 (2011)
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)
von zur Gathen, J, Gerhard, J.: Modern Computer Algebra, 2nd edn. Cambridge University Press, Cambridge (2003)
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)
Wells, D.: The Penguin Dictionary of Curious and Interesting Numbers. Penguin Group, London (1986)
Wittkopf, A.: Automatic code generation and optimization in Maple. J. Numer. Anal. Ind. Appl. Math. 3, 167–180 (2008)
Acknowledgements
The authors gratefully acknowledge the financial support provided by the Natural Sciences and Engineering Research Council of Canada (NSERC), the NSERC/Toyota/Maplesoft Industrial Research Chair program, the OPTIVIRTEST Project (reference TRA2009-14513-C02-01) of the Spanish Ministry of Science and Innovation, and the Education Department of the Government of Navarra, Spain.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Uchida, T., Callejo, A., García de Jalón, J. et al. On the Gröbner basis triangularization of constraint equations in natural coordinates. Multibody Syst Dyn 31, 371–392 (2014). https://doi.org/10.1007/s11044-013-9397-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-013-9397-0