0
Discussion

# Discussion of “Geometric Algorithms for Robot Dynamics: A Tutorial Review” (F. C. Park, B. Kim, C. Jang, and J. Hong, 2018, ASME Appl. Mech. Rev., 70(1), p. 010803)OPEN ACCESS

[+] Author and Article Information
Gregory S. Chirikjian

Professor
Fellow ASME
Department of Mechanical Engineering,
Johns Hopkins University,
Baltimore, MD 21218
e-mail: gchirik1@jhu.edu

Manuscript received January 4, 2018; final manuscript received January 12, 2018; published online February 14, 2018. Editor: Harry Dankowicz.

Appl. Mech. Rev 70(1), 015502 (Feb 14, 2018) (5 pages) Paper No: AMR-18-1002; doi: 10.1115/1.4039080 History: Received January 04, 2018; Revised January 12, 2018

## Abstract

Lie-theoretic methods provide an elegant way to formulate many problems in robotics, and the tutorial by Park et al. (2018, “Geometric Algorithms for Robot Dynamics: A Tutorial Review,” ASME Appl. Mech. Rev., 70(1), p. 010803) is simultaneously a complete and concise introduction to these methods as they pertain to robot dynamics. The central reason why Lie groups are a natural mathematical tool for robotics is that rigid-body motions and pose changes can be described as Lie groups, and allow phenomena including robot kinematics and dynamics to be formulated in elegant notation without introducing superfluous coordinates. The emphasis of the tutorial by Park et al. (2018, “Geometric Algorithms for Robot Dynamics: A Tutorial Review,” ASME Appl. Mech. Rev., 70(1), p. 010803) is robot dynamics from a Lie-theoretic point of view. Newton–Euler and Lagrangian formulation of robot dynamics algorithms with O(n) complexity were formulated more than 35 years ago using recurrence relations that use the serial structure of manipulator arms. This was done without using the knowledge of Lie theory. But issues such as why the ω× terms in rigid-body dynamics appear can be more easily understood in the context of this theory. The authors take great efforts to be understandable by nonexperts and present extensive references to the differential-geometric and Lie-group-centric formulations of manipulator dynamics. In the discussion presented here, connections are made to complementary methods that have been developed in other bodies of literature. This includes the multibody dynamics, geometric mechanics, spacecraft dynamics, and polymer physics literature, as well as robotics works that present non-Lie-theoretic formulations in the context of highly parallelizable algorithms.

## Introduction

The connection between the field of kinematics and the mathematical area of Lie groups has been known for some time, as reviewed in Ref. [1], and computational methods that exploit this connection are becoming increasingly popular [2]. Such methods have been used extensively in mobile robot navigation and localization—a topic that dominated the field of robotics in the decade of the 2000s. In the intervening years, there has been a resurgent interest in manipulation and manipulators consisting of rigid and flexible components, as well as hyper-redundant (snakelike) structures that are soft and continuum [3]. As such, manipulator dynamics is once again becoming a topic of potentially central importance.

The authors of Ref. [4] present a thorough and readable review of Lie-theoretic and differential-geometric methods applied to robot manipulator dynamics. Manipulator dynamics consists of three related problems

1. (1)Inverse Dynamics: Given a time-varying joint-angle vector, compute the torque required by the motors to produce the specified behavior.
2. (2)Forward Dynamics: Given a joint torque vector and the current value of joint angles and their rates, compute the resulting joint-angle acceleration vector at each instant in time.
3. (3)Numerical Integration: Given initial conditions and the computed joint-angle acceleration vector, use the structure of the equations of motion to propagate joint velocities and joint angles at future times.

Here, items 2 and 3 can be grouped together naturally because both are involved in robot simulation. All three aspects can be formulated using Lie theory. The authors begin by focusing on the inverse dynamics of single rigid bodies and introduce the rotation and special Euclidean groups and establish terminology. The famous Luh–Walker–Paul algorithm [5], as well as other O(n) inverse dynamics algorithms have existed now for more than 35 years, and as such the authors do no dwell on this. Rather, they bypass the discussion of inverse dynamics and focus on serial multibody systems and show how forward dynamics can be formulated in O(n) computations, using variants of Featherstone's algorithms [6]. Next, they move on to studying rolling and contact dynamics. Later in the paper they apply these dynamics methods to “soft” (i.e., flexible) robots and to motion optimization.

Rather than repeat the contents of the very complete and readable review [4], the emphasis in this discussion is to: (1) point out additional relevant literature that has been published outside the scope of Lie-theoretic manipulator dynamics, which nevertheless relates to it; and (2) discuss aspects of Lie theory that the authors circumvented for the sake of readability, which readers who wish to read books on Lie groups may need to bridge the gap between engineering and mathematics.

## Lie Theory and Kinematics

This section points out why it was possible for the authors to skip material that mathematics books on Lie groups seem to dwell on extensively.

###### Terminology.

In Ref. [4], the authors review properties of concrete Lie groups that arise in robotics, i.e., those that can be expressed as subgroups of the real general linear group, $GL(n,ℝ)$, consisting of n × n invertible matrices with real entries and group operation being matrix multiplication. This matrix Lie group is what the authors call GL(n). The special orthogonal group SO(3) consisting of all 3 × 3 rotation matrices is a subgroup of GL(3), and the special Euclidean group SE(3) consisting of all 4 × 4 homogeneous transformation matrices describing rigid-body motions is a subgroup of GL(4). It therefore makes sense that the authors of Ref. [4] have chosen to limit the discussion of Lie groups to matrix Lie groups with real entries. However, it should be noted that Lie groups can be constructed in which the group elements are complex-valued matrices (such as the group of 2 × 2 special unitary matrices, SU(2), which also can be used to describe rotations). This is a subgroup of $GL(n,ℂ)$, but not $GL(n,ℝ)$.

###### The Associative Law and Identity Element.

By limiting the discussion to subgroups of GL(n), the authors of Ref. [4] enable Lie groups to be discussed in a concrete way without introducing unnecessary mathematical baggage. For example, for any matrix Lie group G with elements A, B, CG, it is automatic that the associative law

$A(BC)=(AB)C$
holds because G being a subgroup of GL(n), and matrix multiplication is associative. Therefore, the authors need not state this as a group axiom. Moreover, the identity element is built in: it is simply the n × n identity matrix, I.

###### Analyticity of the Group Operation and Inversion.

In mathematics books, Lie groups are defined not only as groups with underlying sets that are (analytic) manifolds, but it is also required that inversion of elements and the product of two group elements are both analytic operations. What does this mean? To answer this, we must first recall the difference between what it means for functions to be infinitely differentiable versus analytic at every point in a Euclidean space. In short, the condition of analyticity is stronger than infinitely differentiable, because it specifies that Taylor series (which have derivatives as coefficients) are convergent. Infinite differentiability ensures the existence of these coefficients, but the convergence of the Taylor series is an additional step. But what does that mean in the context of Lie groups? One way to interpret this is that in addition to G being an analytic manifold (which is a manifold that can be embedded in some sufficiently high-dimensional Euclidean space as an analytic function on that space), the maps $ι:G→G$ defined by $ι(A)=A−1$ and π: G × GG defined by π(A, B) = AB are both analytic.

To get a sense of what is involved in proving analyticity, let X and Y be n × n matrices (not necessarily invertible) that have very small Frobenius norm

$‖X‖=(∑i,j=1nxij2)12$

Then, the product of perturbed versions of A and B, defined as $Ã=A(I+X)$ and $B̃=B(I+Y)$, gives

$ÃB̃=A(I+X)B(I+Y)≈AB(I+B−1XB+Y)$

and

$Ã−1=(I+X)−1A−1≈(I−X)A−1=A−1(I−AXA−1).$

This shows that as X and Y get smaller, so too does the difference between $ÃB̃$ and AB, and between $Ã−1$ and A−1. This can be used to define the concept of differentiability of the product and inversion operations. To be a Lie group, the functions

$fX(A)=lim‖X‖→0‖Ã−1−A−1‖‖X‖$

and

$fX,Y(A,B)=lim‖X‖,‖Y‖→0‖ÃB̃−AB‖‖X‖·‖Y‖$
must be continuous, indicating that inversion of group elements and the group multiplication are both differentiable. More than that, if this process is repeated, all higher order derivatives must exist. And even more than that, the Taylor series of the functions fX(A) and fX,Y (A, B) must be convergent for every value of A and B and for arbitrary small X and Y.

The definition of a Lie group requires these properties that the products and inverses be analytic. These are all built-in properties of GL(n) and its subgroups, which allows the authors of Ref. [4] to circumvent pedantic mathematical discussions and get to the heart of the matter.

Quantities such as AXA−1 and XYYX show up frequently in Lie theory and so are given special names. In particular, “little ad” is defined as

$adY(X)≐[Y,X]=YX−XY$

$AdA(X)≐AXA−1$

Here, “ad” is short for “adjoint” (which is not the same as the adjoint matrix consisting of signed cofactors which one learns about in Linear Algebra). Both of these are linear in X. That is, for arbitrary $c1,c2∈ℝ$ and $X1,X2∈ℝn×n$

$adY(c1X1+c2X2)=c1adY(X1)+c2adY(X2)$

and

$AdA(c1X1+c2X2)=c1AdA(X1)+c2AdA(X2) .$

$Ad(exp(Y))=exp(ad(Y))$

By introducing a basis for the Lie algebra of a Lie group, it is possible to express the Ad and ad operators as square matrices of the same dimension as the group. The authors of Ref. [4] use these adjoint matrices extensively in their formulation for the group SE(3). The distinction between operators and matrices can sometimes be confusing, which is why, for example, the matrices of ad(X) and Ad(A) are written as [ad(X)] and [Ad(A)] in Refs. [7] and [8].

In the case of GL(n), the Lie algebra is $gl(n)=ℝn×n$ (without any condition that the determinant be nonzero). Here, $exp$ is simply the matrix exponential, and from the trace-determinant identity

$det exp(Y)=etrace(Y)$
we see that regardless of whether or not Y is invertible, $exp(Y)$ will be invertible since the function f(x) = ex is never exactly zero. This relationship is true for all of gl(n) and GL(n), including subsets thereof, including $se(3)⊂gl(4)$ and $SE(3)⊂GL(4)$.

###### Exponentials for SO(3) and SE(3).

The authors of Ref. [4] provide many useful formulas for exponential and logarithms such as the result of Euler's theorem Display Formula

(1)$exp(θN)=I+sin θ N+(1−cos θ)N2$

In this expression Display Formula

(2)$N=(0−n3n2n30−n1−n2n10)$
which contains the information about the axis of rotation described in the unit vector n = [n1, n2, n3]T. The relationship between N and n is written as
$N=n̂ ⇔ n=N∨$

In Euler's formula, if θ is limited to the range [0, π] and n can point in any direction then complete coverage of rotations is achieved with minimal redundancy. (Obviously, when θ = 0, there is the unavoidable redundancy that n can be anything.) The authors of Ref. [4] also provide associated Jacobian matrices, and the inverse of the $exp$, which is the $log$ (which is defined as long as $θ∉{0,π}$).

The expression for the SE(3) exponential map also can be written concisely using ideas from Ref. [9] as derived in Ref. [10] Display Formula

(3)$exp(θ ξ̂)=I+θ ξ̂+(1−cos θ) ξ̂ 2+(θ−sin θ) ξ̂ 3$
where $ξ=[nT,vT]T∈ℝ6$ and
Display Formula
(4)$ξ̂=(0−n3n2v1n30−n1v2−n2n10v30000)$

## Manipulator Dynamics

Two basic problems exist in the dynamics of serial robot arms consisting of n links, each actuated by a motor. These are forward and inverse dynamics. The literature on these subjects will be provided in Secs. 3.1 and 3.2 to supplement what was provided in the tutorial [4]. A message to take away is that quantities which, at first sight, may appear costly to compute can in fact be computed efficiently.

For example, given $A,B∈ℝn×n$ and $x∈ℝn$, mathematically we have the equality

$A(Bx)=(AB)x$

However, computationally, it is faster by an order of n to compute A(Bx) rather than (AB) x when using naive matrix–vector and matrix–matrix products.

Similarly, When inverting the expression

$Ax=b$

it is possible to naively first compute A−1 and then multiply b, resulting in an O(n3) implementation. But this is far more costly than to find the particular x = A−1b, which can be implemented in O(n) for serial manipulators.

###### Efficient Inverse Dynamics.

Given the time history of the desired joint trajectory, $q(t)∈ℝn$, the goal of inverse dynamics is to compute the resulting motor torques, $τ(t)∈ℝn$, that will give rise to this desired behavior. This problem is expressed as

$M(q)q¨+C(q,q˙)q˙+g(q)+JT(q)f=τ$

where M(q) is the n × n configuration-dependent mass matrix, $C(q,q˙)q˙$ describes Coriolis and centripetal terms, g(q) describes static external forces such as those due to gravity, and f is a force applied to the end effector of the manipulator, which is converted to joint torques by the application of the transpose of the manipulator Jacobian matrix J(q). All of these terms are generally nonlinear functions of the joint angle vector q, though it is well-known that they are linear in the masses and moments of inertia of the links that comprise the arm.

Inverse dynamics only requires substituting q = q(t) into the left-hand-side of this expression to result in the sought $τ=τ(t)$. The problem is that naively writing down all of the equations of motion and evaluating can be as costly as O(n4) by populating M(q) and $C(q,q˙)$.

For robot control, the inverse dynamics problem is of central importance, because it informs what the motors should do. Fortunately, the serial nature of robot arms means that the forward dynamics problem can be computed recursively by propagating kinematic quantities such as positions, velocities, and accelerations up the chain, and by propagating forces and moments from the distal end down the chain to the base. This is the famous O(n) Luh–Walker–Paul algorithm for recursive Newton–Euler dynamics [5]. It has also been observed that O(n) performance can be achieved using the Lagrangian [11,12] and Hamiltonian [13] formulations of dynamics.

###### Efficient Forward Dynamics.

In contrast to inverse dynamics, in the problem of forward dynamics the joint torque vector τ(t) is given together with initial conditions q(0), and the goal is to compute the resulting temporal behavior of q(t). This is achieved by writing at each time-step

$q¨=[M(q)]−1[τ−C(q,q˙)q˙−g(q)]$

This problem is important in dynamical simulation of robot arms. As with inverse dynamics, when computed naively the problem of forward dynamics would seem to be very costly, because inversion of the mass matrix is slow. However, it turns out that for serial manipulators, the forward dynamics problem can be computed efficiently in O(n) [6,1420].

In addition to this problem being of interest in simulating robot behavior, it is also of interest in spacecraft and multibody dynamics literature. Various algorithms have been invented and reinvented over the past century to diagonalize the mass matrix and/or to introduce so-called “quasi-velocities” popularized in the modern era by Prof. Thomas Kane and his students to make it easier to invert. Some references to these various approaches, as well as discussions about their similarities, differences, and history can be found in Refs. [2132].

## Recent and Classical Developments in Multibody Dynamics

The authors of Ref. [4] were very clear that their exposition focused on Lie-theoretic methods as applied to robot arms and their survey of the literature is very complete in this regard. The goal of the discussion here is therefore to provide links to literature outside of the original scope of the tutorial [4]. This consists of three independent bodies of literature: (1) O(n) robot dynamics methods, and even those that parallelize as $O(log n)$; (2) Lie group methods from the multibody dynamics literature; and (3) variational integrator and discrete Lagrangian dynamics methods which employ ideas from Lie groups and differential geometry to integrate equations of motion while conserving quantities such as angular momentum.

###### Lie-Theory and the Kinematics of Constraints.

Efficient forward dynamics algorithms were studied in various fields prior to what is commonly known in the robotics community. This includes the spacecraft [33], multibody systems [34], and polymer dynamics [35] communities. In these methods, constraint equations are used to express connections between bodies, and derivatives of these constraints provide equations that are decoupled. Similar ideas can be found in the multibody dynamics literature [3638].

In the case of Fixman's method from 1974 [38], the original motivation was to compute the determinant of mass matrix for a bead model of a polymer efficiently (in O(n) computations). This method was extended to efficiently invert the mass matrix for serial chains of rigid bodies as models for robot arms, polymers, and proteins in Ref. [39].

###### Lie-Theory and Efficient Multibody Dynamics.

Outside of the robotics literature, Lie-theoretic methods in dynamics have been developed in recent years in the multibody systems literature [4042].

In contrast, both within robotics [6,1420,4345] and outside of robotics [4649] O(n) dynamics algorithms for treelike and even closed-loop mechanisms have been developed. Moreover, “divide-and-conquer” methods that can be distributed on multiple processors and run in $O(log n)$ time have been reported [5053].

Finally, the tutorial [4] mentioned the dynamics of soft robots, i.e., those with flexible components. For continuum robots, it is possible to approximate the kinematics structure with a backbone curve with mass density distributed over this curve [54]. Since the manipulator is commanded to move as the backbone curve does, the actuator forces acting on each segment needed to make the manipulator adhere to the curve can be computed independently from each other. In other words, for a hyper-redundant manipulator consisting of n segments, the inverse dynamics can be computed in O(1) time when distributed on n processors [54].

###### Variational Integrators and Discrete Lagrangian Mechanics.

As mentioned at the beginning of this discussion, the third aspect of dynamics which is critical in simulation is numerical integration of the forward dynamics equations. The idea of numerical integration schemes that preserve physical quanities such as energy and angular momentum are not new and have been derived in a number of communities including mechanics and molecular dynamics [5558]. Throughout the 1990s, a number of research groups explored so-called symplectic integration schemes that take advantage of the geometric structure of the underlying configuration spaces of mechanical systems [5966]. This in turn led to the study of discrete Lagrangian mechanics, a review of which can be found in Ref. [67]. Subsequent work in this area has lead to new coordinate-free methods in optimal control [68]. For recent work on Lie-theoretic integration see Ref. [69].

Lie groups are relevant in this aspect of dynamics because an integrator can be viewed as something that moves a system from one point in phase space (the product of a configuration space with a space of velocities or momenta) to another point in this space. This movement can be viewed as an example of Lie group action.

Recall that a group (G, ∘) acts on a set S in such a way that gxS is defined for all xS and gG and has the properties

$e·x=x and (g1∘g2)·x=g1·(g2·x)∈S$
for all xS and e, g1, g2G. The operation ⋅ defines the action of G on S. When such an action exists, we sometimes use the word “action” at the element level and say that gG acts on xS as gx.

For example, Ad(A) is a group action of G on X, and if g, hG, then l: GG defined by l(g) = h−1g, r: GG defined by r(g) = gh−1, and l(g) = hgh−1 are all examples of actions of G on itself.

Hence, all aspects of Lie groups ranging from the relationship to their Lie algebras, their noncommutative nature, their analytic properties, and their actions on various spaces play important roles in manipulator dynamics.

## Conclusions

It is natural for intelligent people to discover clever solutions to problems that arise in their field. The tutorial [4] is true to its claim of presenting a complete and coherent overview of Lie-theoretic methods in manipulator dynamics. Often in science, similar problems arise in different fields, and similar solution methods are independently discovered by clever people in those fields. When it comes to efficient formulations of dynamics for serial structures, researchers in at least three different fields (manipulator dynamics, multibody system dynamics, and polymer mechanics) discovered related ideas going back to the 1970s. The history of quasi-velocities and diagonalization of mass matrices is even longer than that. Lie theory provides a natural tool for extending algorithms in all three of these fields from formulations in which point masses form the primitive objects, to the case when rigid (or even flexible) bodies are the primitives. For this reason, this discussion has aimed to expand the scope of applicability of the original review article to impinge on these other fields as well.

## References

Karger, A. , and Novák, J. , 1985, Space Kinematics and Lie Groups, Gordon and Breach Science Publishers, New York.
Absil, P.-A. , Mahony, R. , and Sepulchre, R. , 2008, Optimization Algorithms on Matrix Manifolds, Princeton University Press, Princeton, NJ.
Walker, I. D. , Choset, H. , and Chirikjian, G. S. , 2016, “ Snake-Like and Continuum Robots,” Springer Handbook of Robotics, Springer, New York, pp. 481–498.
Park, F. C. , Kim, B. Y. , Jang, C. J. , and Hong, J. S. , 2018, “ Geometric Algorithms for Robot Dynamics: A Tutorial Review,” ASME Appl. Mech. Rev., 70(1), p. 010803.
Luh, J. Y. S. , Walker, M. W. , and Paul, R. P. , 1980, “ On-Line Computational Scheme for Mechanical Manipulators,” ASME J. Dyn. Sys. Meas. Control, 102(2), pp. 69–76.
Featherstone, R. , 1983, “ The Calculation of Robot Dynamics Using Articulated-Body Inertia,” Int. J. Robot. Res., 2(1), pp. 13–30.
Chirikjian, G. S. , and Kyatkin, A. B. , 2016, Harmonic Analysis for Engineers and Applied Scientists, Dover, Mineola, NY.
Chirikjian, G. S. , 2011, Stochastic Models, Information Theory, and Lie Groups: Volume 2—Analytic Methods and Modern Applications, Birkhäuser, Boston, MA.
Park, F. C. , 1994, “ Computational Aspects of the Product-of-Exponentials Formula for Robot Kinematics,” IEEE Trans. Autom. Control, 39(3), pp. 643–647.
Chen, G. , Wang, H. , and Lin, Z. , 2014, “ Determination of Identifiable Parameters in Robot Calibration Based on the POE Formula,” IEEE Trans. Rob., 30(5), pp. 1066–1077.
Hollerbach, J. M. , 1980, “ A Recursive Lagrangian Formulation of Manipulator Dynamics and a Comparative Study of Dynamics Formulation Complexity,” IEEE Trans. Syst., Man, Cybern., 10(11), pp. 730–736.
Book, W. J. , 1984, “ A Recursive Lagrangian Dynamics of Flexible Manipulator Arms,” Int. J. Rob. Res., 3(3), pp. 87–101.
Naudet, J. , 2005, “ Forward Dynamics of Multibody Systems: A Recursive Hamiltonian Approach,” Ph.D. thesis, Vrije Universiteit Brussel, Brussels, Belgium.
Mohan, A. , and Saha, S. K. , 2007, “ A Recursive, Numerically Stable, and Efficient Simulation Algorithm for Serial Robots,” Multibody Syst. Dyn., 17(4), pp. 291–319.
Jain, A. , 1991, “ Unified Formulation of Dynamics for Serial Rigid Multibody Systems,” J. Guid. Control Dyn., 14(3), pp. 531–542.
Rodriguez, G. , 1987, “ Kalman Filtering, Smoothing, and Recursive Robot Arm Forward and Inverse Dynamics,” IEEE J. Robot. Automat., RA, 3(6), pp. 624–639.
Rodriguez, G. , and Keutz-Delgado, K. , 1992, “ Spatial Operator Factorization and Inversion of the Manipulator Mass Matrix,” IEEE Trans. Robot. Automat., 8(1), pp. 65–76.
Saha, S. K. , 1997, “ A Decomposition of the Manipulator Inertia Matrix,” IEEE Trans. Rob. Autom., 13(2), pp. 301–304.
Saha, S. K. , 1999, “ Analytical Expression for the Inverted Inertia Matrix of Serial Robots,” Int. J. Rob. Res., 18(1), pp. 116–124.
Angeles, J. , and Ma, O. , 1998, “ Dynamic Simulation of n-Axis Serial Robotic Manipulators Using a Natural Orthogonal Complement,” Int. J. Robot. Res., 7(5), pp. 32–47.
Sovinsky, M. C. , Hurtado, J. E. , Griffith, D. T. , and Turner, J. D. , 2007, “ The Hamel Representation: A Diagonalized Poincaré Form,” ASME J. Comput. Nonlinear Dyn., 2(4), pp. 316–323.
Junkins, J. L. , and Schaub, H. , 1997, “ An Instantaneous Eigenstructure Quasivelocity Formulation for Nonlinear Multibody Dynamics,” J. Astronaut. Sci., 45(3), pp. 279–295.
Bedrossian, N. S. , 1992, “ Linearizing Coordinate Transformations and Riemann Curvature,” 31st IEEE Conference on Decision and Control (CDC), Tucson, AZ, Dec. 16–18, pp. 80–85.
Loduha, T. A. , and Ravani, B. , 1995, “ On First-Order Decoupling of Equations of Motion for Constrained Dynamical Systems,” ASME J. Appl. Mech., 62(1), pp. 216–216.
Melhem, K. , and Wang, W. , 2009, “ Global Output Tracking Control of Flexible Joint Robots Via Factorization of the Manipulator Mass Matrix,” IEEE Trans. Rob., 25(2), pp. 428–437.
Herman, P. , and Kozłowski, K. , 2006, “ A Survey of Equations of Motion in Terms of Inertial Quasi-Velocities for Serial Manipulators,” Arch. Appl. Mech., 76(9–10), pp. 579–614.
Hamel, G. , 1967, Theoretische Mechanik: Eine Einheitliche Einführung in Die Gesamte Mechanik, Vol. 57, Springer-Verlag, New York.
Kane, T. R. , and Levinson, D. A. , 1985, Dynamics, Theory and Applications, McGraw-Hill, New York.
Gibbs, J. W. , 1879, “ On the Fundamental Formulae of Dynamics,” Am. J. Math., 2(1), pp. 49–64.
Huston, R. L. , 1987, “ On the Equivalence of Kane's Equations and Gibbs' Equations for Multibody Dynamics Formulations,” Mech. Res. Commun., 14(2), pp. 123–131.
Desloge, E. A. , 1987, “ Relationship Between Kane's Equations and the Gibbs–Appell Equations,” J. Guid. Control Dyn., 10(1), pp. 120–122.
Keat, J. E. , 1987, “ Comment on ‘Relationship Between Kane’s Equations and the Gibbs-Appell Equations,” J. Guid. Control, Dyn., 10(6), pp. 594–595.
Hooker, W. W. , and Margulies, G. , 1965, “ The Dynamical Attitude Equations for an n-Body Satellite’,” J. Astronaut. Sci., 7(4), pp. 123–128.
Vereshchagin, A. F. , 1975, “ Gauss Principle of Least Constraint for Modeling the Dynamics of Automatic Manipulators Using a Digital Computer,” Sov. Phys. Doklady, 20(1), pp. 33–34.
Fixman, M. , 1974, “ Classical Statistical Mechanics of Constraints: A Theorem and Application to Polmers,” Proc. Nat. Acad. Sci. U.S.A., 71(8), pp. 3050–3053.
Wittenburg, J. , 2010, Dynamics of Multibody Systems, Springer, New York.
Roberson, R. E. , and Schwertassek, R. , 2012, Dynamics of Multibody Systems, Springer, New York.
Shabana, A. A. , 2013, Dynamics of Multibody Systems, 4th ed., Cambridge University Press, New York.
Lee, K. , Wang, Y. , and Chirikjian, G. S. , 2007, “ O(n) Mass Matrix Inversion for Serial Manipulators and Polypeptide Chains Using Lie Derivatives,” Robotica, 25(6), pp. 739–750. [PubMed]
Müller, A. , and Maisser, P. , 2003, “ A Lie-Group Formulation of Kinematics and Dynamics of Constrained MBS and Its Application to Analytical Mechanics,” Multibody Syst. Dyn., 9(4), pp. 311–352.
Müller, A. , and Terze, Z. , 2014, “ The Significance of the Configuration Space Lie Group for the Constraint Satisfaction in Numerical Time Integration of Multibody Systems,” Mech. Mach. Theory, 82, pp. 173–202.
Naudet, J. , Lafeber, D. , and Terze, Z. , 2003, “ General Formulation of an Efficient Recursive Algorithm Based on Canonical Momenta for Forward Dynamics of Open-Loop Multibody Systems,” Multibody Dyn., 10(1), pp. 45–59.
Walker, M. W. , and Orin, D. E. , 1982, “ Efficient Dynamic Computer Simulation of Robotic Mechanisms,” ASME J. Dyn. Syst., Meas., Control, 104(3), pp. 205–211.
Armstrong, W. W. , 1979, “ Recursive Solution to the Equations of Motion of an N-Link Manipulator,” Fifth World Congress on the Theory of Machines and Mechanisms, Montreal, QC, Canada, July 8–13, pp. 1342–1346.
Jain, A. , and Rodriguez, G. , 1992, “ Recursive Flexible Multibody System Dynamics Using Spatial Operators,” J. Guid. Control Dyn., 15(6), pp. 1453–1466.
Shabana, A. A. , 1997, “ Flexible Multibody Dynamics: Review of Past and Recent Developments,” Multibody Syst. Dyn., 1(2), pp. 189–222.
Anderson, K. S. , and Duan, S. , 2000, “ Parallel Implementation of a Low Order Algorithm for Dynamics of Multibody Systems on a Distributed Memory Computing System,” J. Eng. Comput., 16(2), pp. 96–108.
Anderson, K. S. , 1993, “ An Order-N Formulation for the Motion Simulation of General Multi-Rigid-Body Tree Systems,” J. Comput. Struct., 46(3), pp. 547–559.
Anderson, K. S. , and Critchley, J. H. , 2003, “ Improved ‘Order-N’ Performance Algorithm for the Simulation of Constrained Multirigid-Body Dynamic Systems,” Multibody Syst. Dyn., 9(2), pp. 185–212.
Featherstone, R. , 1999, “ A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(Log(n)) Calculation of Rigid Body Dynamics—Part 2: Trees, Loops and Accuracy,” Int. J. Rob. Res., 18(9), pp. 876–892.
Mukherjee, R. M. , and Anderson, K. S. , 2006, “ A Logarithmic Complexity Divide-and-Conquer Algorithm for Multi-Flexible Articulated Body Dynamics,” ASME J. Comput. Nonlinear Dyn., 2(1), pp. 10–21.
Fijani, A. , and D'Eleuterio, G. M. T. , 1995, “ Parallel O(Log N) Algorithms for Computation of Manipulator Forward Dynamics,” IEEE Trans. Robot. Automat., 11(3), pp. 389–400.
Ploen, S. R. , and Park, F. C. , 1999, “ Coordinate-Invariant Algorithms for Robot Dynamics,” IEEE Trans. Rob. Autom., 15(6), pp. 1130–1135.
Chirikjian, G. S. , 1994, “ Hyper-Redundant Manipulator Dynamics: A Continuum Approximation,” Adv. Rob., 9(3), pp. 217–243.
Newmark, N. N. , 1959, “ A Method of Computation for Structural Dynamics,” ASCE J. Eng. Mech. Div., 85(3), pp. 67–94.
Ortiz, M. , 1986, “ A Note on Energy Conservation and Stability of Nonlinear Timestepping Algorithms,” Comput. Struct., 24(1), pp. 167–168.
Verlet, L. , 1967, “ Computer Experiments on Classical Fluids,” Phys. Rev, 159(1), pp. 98–103.
Anderson, H. , 1983, “ RATTLE: A Velocity Version of the SHAKE Algorithm for Molecular Dynamics Calculations,” J. Comput. Phys., 52(1), pp. 24–34.
Bobenko, A. I. , and Suris, Y. B. , 1999, “ Discrete Time Lagrangian Mechanics on Lie Groups, With an Application to the Lagrange Top,” Comm. Math. Phys, 204(1), pp. 147–188.
Gonzalez, O. , 1996, “Design and Analysis of Conserving Integrators for Nonlinear Hamiltonian Systems With Symmetry,” Ph.D. thesis, Stanford University, Stanford, CA.
Hairer, E. , 1994, “ Backward Analysis of Numerical Integrators and Symplectic Methods,” Ann. Numer. Math., 1, pp. 107–132.
Budd, C. J. , and Iserles, A. , 1999, “ Geometric Integration: Numerical Solution of Differential Equations on Manifolds,” Philos. Trans. R. Soc. London Ser. A, Math. Phys. Eng. Sci., 357(1754), pp. 945–956.
Iserles, A. , Munthe-Kaas, H. , and Zanna, A. , 2000, “ Lie-Group Methods,” Acta Numer., 9(0), pp. 215–365.
Leimkuhler, B. , Patrick, G. , and Symplectic, I. , 1996, “ On Riemannian Manifolds,” J. Nonlin. Sci., 6(4), pp. 367–384.
Wendlandt, J. M. , and Marsden, J. E. , 1997, “ Mechanical Integrators Derived From a Discrete Variational Principle,” Physica D, 106(3–4), pp. 223–246.
Reich, S. , 1997, “ On Higher–Order Semi–Explicit Symplectic Partitioned Runge–Kutta Methods for Constrained Hamiltonian Systems,” Numer. Math., 76(2), pp. 231–247.
Marsden, J. E. , and West, M. , 2001, “ Discrete Mechanics and Variational Integrators,” Acta Numer., 10, pp. 357–514.
Kobilarov, M. B. , and Marsden, J. E. , 2011, “ Discrete Geometric Optimal Control on Lie Groups,” IEEE Trans. Rob., 27(4), pp. 641–655.
Arnold, M. , Cardona, A. , and Brüls, O. , 2016, “ A Lie Algebra Approach to Lie Group Time Integration of Constrained Systems,” Structure-Preserving Integrators in Nonlinear Structural Dynamics and Flexible Multibody Dynamics, Springer, Cham, Switzerland, pp. 91–158.
View article in PDF format.

## References

Karger, A. , and Novák, J. , 1985, Space Kinematics and Lie Groups, Gordon and Breach Science Publishers, New York.
Absil, P.-A. , Mahony, R. , and Sepulchre, R. , 2008, Optimization Algorithms on Matrix Manifolds, Princeton University Press, Princeton, NJ.
Walker, I. D. , Choset, H. , and Chirikjian, G. S. , 2016, “ Snake-Like and Continuum Robots,” Springer Handbook of Robotics, Springer, New York, pp. 481–498.
Park, F. C. , Kim, B. Y. , Jang, C. J. , and Hong, J. S. , 2018, “ Geometric Algorithms for Robot Dynamics: A Tutorial Review,” ASME Appl. Mech. Rev., 70(1), p. 010803.
Luh, J. Y. S. , Walker, M. W. , and Paul, R. P. , 1980, “ On-Line Computational Scheme for Mechanical Manipulators,” ASME J. Dyn. Sys. Meas. Control, 102(2), pp. 69–76.
Featherstone, R. , 1983, “ The Calculation of Robot Dynamics Using Articulated-Body Inertia,” Int. J. Robot. Res., 2(1), pp. 13–30.
Chirikjian, G. S. , and Kyatkin, A. B. , 2016, Harmonic Analysis for Engineers and Applied Scientists, Dover, Mineola, NY.
Chirikjian, G. S. , 2011, Stochastic Models, Information Theory, and Lie Groups: Volume 2—Analytic Methods and Modern Applications, Birkhäuser, Boston, MA.
Park, F. C. , 1994, “ Computational Aspects of the Product-of-Exponentials Formula for Robot Kinematics,” IEEE Trans. Autom. Control, 39(3), pp. 643–647.
Chen, G. , Wang, H. , and Lin, Z. , 2014, “ Determination of Identifiable Parameters in Robot Calibration Based on the POE Formula,” IEEE Trans. Rob., 30(5), pp. 1066–1077.
Hollerbach, J. M. , 1980, “ A Recursive Lagrangian Formulation of Manipulator Dynamics and a Comparative Study of Dynamics Formulation Complexity,” IEEE Trans. Syst., Man, Cybern., 10(11), pp. 730–736.
Book, W. J. , 1984, “ A Recursive Lagrangian Dynamics of Flexible Manipulator Arms,” Int. J. Rob. Res., 3(3), pp. 87–101.
Naudet, J. , 2005, “ Forward Dynamics of Multibody Systems: A Recursive Hamiltonian Approach,” Ph.D. thesis, Vrije Universiteit Brussel, Brussels, Belgium.
Mohan, A. , and Saha, S. K. , 2007, “ A Recursive, Numerically Stable, and Efficient Simulation Algorithm for Serial Robots,” Multibody Syst. Dyn., 17(4), pp. 291–319.
Jain, A. , 1991, “ Unified Formulation of Dynamics for Serial Rigid Multibody Systems,” J. Guid. Control Dyn., 14(3), pp. 531–542.
Rodriguez, G. , 1987, “ Kalman Filtering, Smoothing, and Recursive Robot Arm Forward and Inverse Dynamics,” IEEE J. Robot. Automat., RA, 3(6), pp. 624–639.
Rodriguez, G. , and Keutz-Delgado, K. , 1992, “ Spatial Operator Factorization and Inversion of the Manipulator Mass Matrix,” IEEE Trans. Robot. Automat., 8(1), pp. 65–76.
Saha, S. K. , 1997, “ A Decomposition of the Manipulator Inertia Matrix,” IEEE Trans. Rob. Autom., 13(2), pp. 301–304.
Saha, S. K. , 1999, “ Analytical Expression for the Inverted Inertia Matrix of Serial Robots,” Int. J. Rob. Res., 18(1), pp. 116–124.
Angeles, J. , and Ma, O. , 1998, “ Dynamic Simulation of n-Axis Serial Robotic Manipulators Using a Natural Orthogonal Complement,” Int. J. Robot. Res., 7(5), pp. 32–47.
Sovinsky, M. C. , Hurtado, J. E. , Griffith, D. T. , and Turner, J. D. , 2007, “ The Hamel Representation: A Diagonalized Poincaré Form,” ASME J. Comput. Nonlinear Dyn., 2(4), pp. 316–323.
Junkins, J. L. , and Schaub, H. , 1997, “ An Instantaneous Eigenstructure Quasivelocity Formulation for Nonlinear Multibody Dynamics,” J. Astronaut. Sci., 45(3), pp. 279–295.
Bedrossian, N. S. , 1992, “ Linearizing Coordinate Transformations and Riemann Curvature,” 31st IEEE Conference on Decision and Control (CDC), Tucson, AZ, Dec. 16–18, pp. 80–85.
Loduha, T. A. , and Ravani, B. , 1995, “ On First-Order Decoupling of Equations of Motion for Constrained Dynamical Systems,” ASME J. Appl. Mech., 62(1), pp. 216–216.
Melhem, K. , and Wang, W. , 2009, “ Global Output Tracking Control of Flexible Joint Robots Via Factorization of the Manipulator Mass Matrix,” IEEE Trans. Rob., 25(2), pp. 428–437.
Herman, P. , and Kozłowski, K. , 2006, “ A Survey of Equations of Motion in Terms of Inertial Quasi-Velocities for Serial Manipulators,” Arch. Appl. Mech., 76(9–10), pp. 579–614.
Hamel, G. , 1967, Theoretische Mechanik: Eine Einheitliche Einführung in Die Gesamte Mechanik, Vol. 57, Springer-Verlag, New York.
Kane, T. R. , and Levinson, D. A. , 1985, Dynamics, Theory and Applications, McGraw-Hill, New York.
Gibbs, J. W. , 1879, “ On the Fundamental Formulae of Dynamics,” Am. J. Math., 2(1), pp. 49–64.
Huston, R. L. , 1987, “ On the Equivalence of Kane's Equations and Gibbs' Equations for Multibody Dynamics Formulations,” Mech. Res. Commun., 14(2), pp. 123–131.
Desloge, E. A. , 1987, “ Relationship Between Kane's Equations and the Gibbs–Appell Equations,” J. Guid. Control Dyn., 10(1), pp. 120–122.
Keat, J. E. , 1987, “ Comment on ‘Relationship Between Kane’s Equations and the Gibbs-Appell Equations,” J. Guid. Control, Dyn., 10(6), pp. 594–595.
Hooker, W. W. , and Margulies, G. , 1965, “ The Dynamical Attitude Equations for an n-Body Satellite’,” J. Astronaut. Sci., 7(4), pp. 123–128.
Vereshchagin, A. F. , 1975, “ Gauss Principle of Least Constraint for Modeling the Dynamics of Automatic Manipulators Using a Digital Computer,” Sov. Phys. Doklady, 20(1), pp. 33–34.
Fixman, M. , 1974, “ Classical Statistical Mechanics of Constraints: A Theorem and Application to Polmers,” Proc. Nat. Acad. Sci. U.S.A., 71(8), pp. 3050–3053.
Wittenburg, J. , 2010, Dynamics of Multibody Systems, Springer, New York.
Roberson, R. E. , and Schwertassek, R. , 2012, Dynamics of Multibody Systems, Springer, New York.
Shabana, A. A. , 2013, Dynamics of Multibody Systems, 4th ed., Cambridge University Press, New York.
Lee, K. , Wang, Y. , and Chirikjian, G. S. , 2007, “ O(n) Mass Matrix Inversion for Serial Manipulators and Polypeptide Chains Using Lie Derivatives,” Robotica, 25(6), pp. 739–750. [PubMed]
Müller, A. , and Maisser, P. , 2003, “ A Lie-Group Formulation of Kinematics and Dynamics of Constrained MBS and Its Application to Analytical Mechanics,” Multibody Syst. Dyn., 9(4), pp. 311–352.
Müller, A. , and Terze, Z. , 2014, “ The Significance of the Configuration Space Lie Group for the Constraint Satisfaction in Numerical Time Integration of Multibody Systems,” Mech. Mach. Theory, 82, pp. 173–202.
Naudet, J. , Lafeber, D. , and Terze, Z. , 2003, “ General Formulation of an Efficient Recursive Algorithm Based on Canonical Momenta for Forward Dynamics of Open-Loop Multibody Systems,” Multibody Dyn., 10(1), pp. 45–59.
Walker, M. W. , and Orin, D. E. , 1982, “ Efficient Dynamic Computer Simulation of Robotic Mechanisms,” ASME J. Dyn. Syst., Meas., Control, 104(3), pp. 205–211.
Armstrong, W. W. , 1979, “ Recursive Solution to the Equations of Motion of an N-Link Manipulator,” Fifth World Congress on the Theory of Machines and Mechanisms, Montreal, QC, Canada, July 8–13, pp. 1342–1346.
Jain, A. , and Rodriguez, G. , 1992, “ Recursive Flexible Multibody System Dynamics Using Spatial Operators,” J. Guid. Control Dyn., 15(6), pp. 1453–1466.
Shabana, A. A. , 1997, “ Flexible Multibody Dynamics: Review of Past and Recent Developments,” Multibody Syst. Dyn., 1(2), pp. 189–222.
Anderson, K. S. , and Duan, S. , 2000, “ Parallel Implementation of a Low Order Algorithm for Dynamics of Multibody Systems on a Distributed Memory Computing System,” J. Eng. Comput., 16(2), pp. 96–108.
Anderson, K. S. , 1993, “ An Order-N Formulation for the Motion Simulation of General Multi-Rigid-Body Tree Systems,” J. Comput. Struct., 46(3), pp. 547–559.
Anderson, K. S. , and Critchley, J. H. , 2003, “ Improved ‘Order-N’ Performance Algorithm for the Simulation of Constrained Multirigid-Body Dynamic Systems,” Multibody Syst. Dyn., 9(2), pp. 185–212.
Featherstone, R. , 1999, “ A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(Log(n)) Calculation of Rigid Body Dynamics—Part 2: Trees, Loops and Accuracy,” Int. J. Rob. Res., 18(9), pp. 876–892.
Mukherjee, R. M. , and Anderson, K. S. , 2006, “ A Logarithmic Complexity Divide-and-Conquer Algorithm for Multi-Flexible Articulated Body Dynamics,” ASME J. Comput. Nonlinear Dyn., 2(1), pp. 10–21.
Fijani, A. , and D'Eleuterio, G. M. T. , 1995, “ Parallel O(Log N) Algorithms for Computation of Manipulator Forward Dynamics,” IEEE Trans. Robot. Automat., 11(3), pp. 389–400.
Ploen, S. R. , and Park, F. C. , 1999, “ Coordinate-Invariant Algorithms for Robot Dynamics,” IEEE Trans. Rob. Autom., 15(6), pp. 1130–1135.
Chirikjian, G. S. , 1994, “ Hyper-Redundant Manipulator Dynamics: A Continuum Approximation,” Adv. Rob., 9(3), pp. 217–243.
Newmark, N. N. , 1959, “ A Method of Computation for Structural Dynamics,” ASCE J. Eng. Mech. Div., 85(3), pp. 67–94.
Ortiz, M. , 1986, “ A Note on Energy Conservation and Stability of Nonlinear Timestepping Algorithms,” Comput. Struct., 24(1), pp. 167–168.
Verlet, L. , 1967, “ Computer Experiments on Classical Fluids,” Phys. Rev, 159(1), pp. 98–103.
Anderson, H. , 1983, “ RATTLE: A Velocity Version of the SHAKE Algorithm for Molecular Dynamics Calculations,” J. Comput. Phys., 52(1), pp. 24–34.
Bobenko, A. I. , and Suris, Y. B. , 1999, “ Discrete Time Lagrangian Mechanics on Lie Groups, With an Application to the Lagrange Top,” Comm. Math. Phys, 204(1), pp. 147–188.
Gonzalez, O. , 1996, “Design and Analysis of Conserving Integrators for Nonlinear Hamiltonian Systems With Symmetry,” Ph.D. thesis, Stanford University, Stanford, CA.
Hairer, E. , 1994, “ Backward Analysis of Numerical Integrators and Symplectic Methods,” Ann. Numer. Math., 1, pp. 107–132.
Budd, C. J. , and Iserles, A. , 1999, “ Geometric Integration: Numerical Solution of Differential Equations on Manifolds,” Philos. Trans. R. Soc. London Ser. A, Math. Phys. Eng. Sci., 357(1754), pp. 945–956.
Iserles, A. , Munthe-Kaas, H. , and Zanna, A. , 2000, “ Lie-Group Methods,” Acta Numer., 9(0), pp. 215–365.
Leimkuhler, B. , Patrick, G. , and Symplectic, I. , 1996, “ On Riemannian Manifolds,” J. Nonlin. Sci., 6(4), pp. 367–384.
Wendlandt, J. M. , and Marsden, J. E. , 1997, “ Mechanical Integrators Derived From a Discrete Variational Principle,” Physica D, 106(3–4), pp. 223–246.
Reich, S. , 1997, “ On Higher–Order Semi–Explicit Symplectic Partitioned Runge–Kutta Methods for Constrained Hamiltonian Systems,” Numer. Math., 76(2), pp. 231–247.
Marsden, J. E. , and West, M. , 2001, “ Discrete Mechanics and Variational Integrators,” Acta Numer., 10, pp. 357–514.
Kobilarov, M. B. , and Marsden, J. E. , 2011, “ Discrete Geometric Optimal Control on Lie Groups,” IEEE Trans. Rob., 27(4), pp. 641–655.
Arnold, M. , Cardona, A. , and Brüls, O. , 2016, “ A Lie Algebra Approach to Lie Group Time Integration of Constrained Systems,” Structure-Preserving Integrators in Nonlinear Structural Dynamics and Flexible Multibody Dynamics, Springer, Cham, Switzerland, pp. 91–158.

## Related

Some tools below are only available to our subscribers or users with an online account.

### Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related Proceedings Articles
Related eBook Content
Topic Collections