It has been usual in most old-style text books for dynamics to treat the formulas describing linear(or translational) and angular(or rotational) motion of a rigid body separately. For example, the famous Newton’s 2nd law, f = ma, for the translational motion of a rigid body has its partner, so-called the Euler’s equation which describes the rotational motion of the body. Separating translation and rotation, however, causes a huge complexity in deriving the equations of motion of articulated rigid body systems such as robots. In Section 1, an elegant single equation of motion of a rigid body moving in 3D space is derived using a Lie group formulation. In Section 2, the recursive Newton-Euler algorithm (inverse dynamics), Articulated-Body algorithm (forward dynamics) and a generalized recursive algorithm (hybrid dynamics) for open chains or tree-structured articulated body systems are rewritten with the geometric formulation for rigid body. In Section 3, dynamics of constrained systems such as a closed loop mechanism will be described. Finally, in Section 4, analytic derivatives of the dynamics algorithms, which would be useful for optimization and sensitivity analysis, are presented.1 1 Dynamics of a Rigid Body This section describes the equations of motion of a single rigid body in a geometric manner. 1.1 Rigid Body Motion To describe the motion of a rigid body, we need to represent both the position and orientation of the body. Let {B} be a coordinate frame attached to the rigid body and {A} be an arbitrary coordinate frame, and all coordinate frames will be right-handed Cartesian from now on. We can define a 3× 3 matrix R = [xab, yab, zab] (1) where xab, yab, zab ∈ <3 are the coordinates of the coordinate axes of {B} with respect to {A}. A matrix of this form is called a rotation matrix as it can be used to describe the orientation(or rotation) of a rigid body, relative to a reference frame. Since the columns GEAR (Geometric Engine for Articulated Rigid-body simulation) is a C++ implementation of the algorithms presented in this article. (http://www.cs.cmu.edu/~junggon/tools/gear.html)
[1]
Roy Featherstone,et al.
Robot Dynamics Algorithms
,
1987
.
[2]
Richard M. Murray,et al.
A Mathematical Introduction to Robotic Manipulation
,
1994
.
[3]
Frank Chongwoo Park,et al.
A Lie Group Formulation of Robot Dynamics
,
1995,
Int. J. Robotics Res..
[4]
Frank Chongwoo Park,et al.
Coordinate-invariant algorithms for robot dynamics
,
1999,
IEEE Trans. Robotics Autom..
[5]
G. Sohl,et al.
A Recursive Multibody Dynamics and Sensitivity Algorithm for Branched Kinematic Chains
,
2001
.