Abstract
There has been considerable focus in the research community on developing accurate models, as well as on fast algorithms for solving the equations of motion of multibody systems required for simulating the dynamics of such systems. This paper focuses on the less explored complementary topic of evaluating system level dynamics properties of multibody systems. Examples of such dynamics properties are the system mass matrix, Jacobians and sensitivities of these quantities. These system level quantities manifest the dynamical properties of the system and are important for design, optimization and control. While such system level quantities are often used in theory to describe the underlying mathematical physics of the systems, due to their complexity there is a lack of a systematic methods for computing them when desired. In this paper we describe a computational workbench framework that provides a bridge between theory and the computation of such system level quantities. This workbench framework builds upon the Spatial Operator Algebra (SOA) that has been used for analysis and algorithm development for multibody dynamics. Mathematical operator expressions from the SOA can be transcribed literally to the workbench command line to allow the easy evaluation of complex dynamics quantities. We use a specific Python/C++ implementation of a workbench called PyCraft to illustrate the structure and use of such a workbench. Several examples illustrating operator-based analysis and corresponding PyCraft-based computation are included.
Similar content being viewed by others
Notes
For a matrix \(A\), the notation \(A^{*}\) denotes its transpose.
\(\mathcal {E}_{\phi }\) is nilpotent because its \(n\)th power is zero, i.e. \(\mathcal {E}_{\phi }^{n} = 0\).
\(\mathcal {P}^{+}(k)\) is not the pseudo-inverse of \(\mathcal {P}(k)\).
The notation, \([ij, k{]}\), is also often used for \(\mathfrak {C}_{k}(i, j)\) in the literature for Christoffel symbols of the first kind.
The notation \([X]_{\theta _{i}}\) denotes \({\frac {\partial X}{\partial \theta _{i}}}\).
©2018 California Institute of Technology. Government sponsorship acknowledged.
References
Rodriguez, G., Jain, A., Kreutz-Delgado, K.: A spatial operator algebra for manipulator modeling and control. Int. J. Robot. Res. 10(4), 371 (1991)
Jain, A.: Robot and Multibody Dynamics: Analysis and Algorithms. Springer, Berlin (2011)
Jain, A.: Structure based modeling and computational architecture for robotic systems. In: 2013 IEEE International Conference on Robotics and Automation (2013)
Jain, A.: Multibody graph transformations and analysis, part II: closed-chain constraint embedding. Nonlinear Dyn. 67, 2153–2170 (2012)
Jain, A.: PyCraft: an analytical and computational workbench for system level multibody dynamics. In: The 4 th Joint International Conference on Multibody System Dynamics, Montreal, Canada (2016)
Craig, J.J.: Introduction to Robotics. Addison–Wesley, Reading (1986)
Dynamics and Real-Time Simulation (DARTS) Lab: http://dartslab.jpl.nasa.gov/ (2016)
Simplified Wrapper and Interface Generator (SWIG): http://swig.org/ (2016)
Luh, J.Y.S., Walker, M.W., Paul, R.P.: On-line computational scheme for mechanical manipulators. J. Dyn. Syst. Meas. Control 102, 69–76 (1980)
Walker, M.W., Orin, D.E.: Efficient dynamic computer simulation of robotic mechanisms. J. Dyn. Syst. Meas. Control 104, 205–211 (1982)
Khatib, O.: The operational space formulation in the analysis, design, and control of manipulators. In: 3rd International Symposium Robotics Research, Paris (1985)
Kreutz-Delgado, K., Jain, A., Rodriguez, G.: Recursive formulation of operational space control. Int. J. Robot. Res. 11(4), 320–328 (1992)
Jain, A., Rodriguez, G.: Diagonalized Lagrangian robot dynamics. IEEE Trans. Robot. Autom. 11(4), 571–584 (1995)
Fixman, M.: Classical statistical mechanics of constraints: a theorem and application to polymers. Proc. Natl. Acad. Sci. USA 71, 3050–3053 (1974)
Jain, A.: Compensating mass matrix potential for constrained molecular dynamics. J. Comput. Phys. 136(2), 289–297 (1997)
Acknowledgements
The research described in this paper was performed at the Jet Propulsion Laboratory (JPL), California Institute of Technology, under a contract with the National Aeronautics and Space Administration.Footnote 6