Abstract
This book chapter is about fundamentals of manipulator dynamics and their applications. Two approaches of manipulator dynamics, namely, recursive Newton-Euler approach and the Lagrange equations, are introduced and discussed. Examples are included to demonstrate their application in manipulator dynamics simulations and analysis. This book chapter can provide basic understanding on manipulator dynamics, which is applicable to manipulators, including serial and parallel manipulators.
Access provided by Autonomous University of Puebla. Download reference work entry PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Introduction
Manipulator dynamics concerns with the actuation forces required to generate motion of manipulators. The manipulator dynamics is expressed in terms of equations of motion, which describe the relationships between the actuation, reaction forces, and the accelerations and motion trajectories of manipulators. In robotics, dynamics is a fundamental for the manipulator design, analysis, and control.
Two types of problems are involved in the dynamics study, namely, the inverse and forward dynamics. The inverse dynamics calculates the required actuating forces at joints for a prescribed trajectories or known kinematic information (position, velocity, and acceleration). The forward dynamics, on the other hand, determines the joints’ and end-effector accelerations with applied actuating forces at joints.
The equations of motion can be established with several approaches. The most used approaches include recursive Newton-Euler approach and the Lagrange equations, which can be found in literatures (Murray et al. 1994; Angeles 1997; Featherstone and Orin 2000). In this chapter, the dynamics equation formulation with the above two approaches is introduced. The formulations are confined within the rigid-body dynamics. Readers with interests in flexible body manipulators are directed to literatures (Shabana 2013; Low 1987; Dwivedy and Eberhard 2006). Two examples are included to demonstrate their applications, one applicable to a serial manipulator and the other to a parallel robot.
Recursive Newton-Euler Method
The motion of a rigid body can be described by the Newton and Euler’s equations, the former for the translation and the latter for the rotation. Basically, the equations of motion of a manipulator can be established for each body of the manipulator on the basis of free-body diagrams. Alternatively, the equations of motion can be formulated through the recursive Newton-Euler method for serial manipulators, with which the free-body diagrams can be omitted. The formulation presented is based on the method introduced by Luh et al. (1980). This formulation is well suited for inverse dynamics problems, i.e., to find the driving torques with known kinematics information.
The recursive Newton-Euler method consists of two steps. The first step is an outward recursion, from the base to the end link, to calculate velocity and acceleration. The second step is an inward recursion, from the end link to the base, to calculate the forces and torques at joints. In the following formulation, the recursive method is applied to a manipulator with n rigid links. Coordinate systems are established by following Denavit-Hartenberg’s convention (D-H convention) (Denavit and Hartenberg 1955).
Outward Recursion to Calculate Velocities and Accelerations
In the inverse dynamics problems, the positions, velocities, and accelerations (\( {\theta}_i,{\dot{\theta}}_i,{\ddot{\theta}}_i \) for a revolute joint and d i ,\( {\dot{d}}_i \),\( {\ddot{d}}_i \) for a prismatic joint) of the joints are known. The outward recursion propa gates velocities, and accelerations of each link from the base to the end link.
Revolute joints
Referring to Fig. 1, the angular velocity of a revolute joint, propagated from link i−1 to link i, is given by
or in local components
where R i stands for the orientation matrix of link i and ω ′ i is the angular velocity of link i with respect to the ith frame (local coordinate system). Premultiplying both sides of Eq. 2 with R T i and simplifying yield
where R i i−1 is the rotation matrix relating link i−1 and link i. z′ i is the unit vector [0,0,1]T parallel to the z i axis. Similarly, the propagation of linear velocity from link i−1 to link i can be derived as
where p i−1 i denotes the position vector of the frame of link i in the (i−1)th frame.
The angular acceleration is calculated through
The linear acceleration with respect to the link-attached coordinate system is given by
where \( {\dot{\mathbf{v}}}_i^{\prime } \) is the linear acceleration of link i in the ith frame.
The linear acceleration of the center of mass of link i is further calculated from the velocity and acceleration of the link
where \( {\mathbf{p}}_{C_i}^{\prime } \) denotes the position vector of the center of mass of link i in its own frame.
Prismatic Joints
If the joints in question are prismatic, the angular velocities are identical for link i and link i−1, which means ω i = ω i−1. Expressing with local components yields
that is,
where matrix R i i−1 is independent to rotations.
Likewise, the local angular acceleration of link i is
Furthermore, the local linear velocity and acceleration become
where d i is the displacement from axis x i−1 to x i along the z i axis.
Inward Recursion to Calculate Forces and Torques
With the velocities and accelerations found, the inertial force and torque applied to link i at its center of mass can be calculated by applying the Newton-Euler equations :
where m i is the mass of the link and I i denotes the inertia tensor of link i about its center of mass, calculated in a frame identical to the link’s coordinate system except the origin. In the equations above, all items are expressed in the local coordinate systems.
The forces and torques acting on the links are calculated through the outward recursion. The joint torques that generate the forces and torques will be calculated through the inward recursion.
Referring to Fig. 1, the inward recursion propagates the joint forces and torques from the end link to the base as
where f i ′ and n i ′ are the force and torque exerted on link i with respect to the ith frame.
The actuating torque on a revolute joint can be calculated by
For prismatic joints, the driving force is
Forward Dynamics Problem
In the forward dynamics problem, the joint accelerations are to be calculated with known joint torques. One method called articulated-body algorithm (ABA) (Featherstone 1983) is applicable to this type of problem with recursive approach. More dynamics modeling methods were reviewed and discussed in (Featherstone and Orin 2000).
Lagrange’s Equation
The equations of motion for a manipulator can also be formulated with Lagrangian dynamics method. Two types of Lagrange’s equations can be formulated, one with dependent coordinates (1st kind) and the other with independent coordinates (2nd kind). This section starts with the Lagrange’s equation of the 1st kind. Hereafter, the vector q represents a set of n unknown dependent coordinates, m is the total number of independent kinematically constraint equations, and f = n − m is the number of dynamic degrees of freedom (de Jalón and Bayo 1994). The constraint conditions for the entire system are written in the following general form:
Differentiating Eq. 19 with respect to time leads to
where matrix Φ q is the Jacobian matrix of the constraint Eq. 19.
Let L = T − V be the Lagrangian of the system, where T = T(q, \( \dot{\mathbf{q}} \)) and V = V(q) are the kinetic and potential energies, respectively, and Q ex is the vector of generalized external forces acting along the dependent coordinates q. Considering a manipulator as a constrained multibody system, the Lagrange’s equation can be derived by generalizing the Hamilton’s principle by means of Lagrange multiplier technique(de Jalón and Bayo 1994). Skipping details of derivation, the equations of motion become
which is the Lagrange’s equation of the 1st kind. In the equation, λ is a m-dimensional vector of Lagrange multipliers. Item Φ T q λ represents the generalized forces due to reaction forces at joints.
With independent coordinates, the constraint Jacobian vanishes, and the term with Lagrange multipliers is dropped out. The Lagrange’s equation of the 2nd kind is thus obtained:
The Lagrange’s equation of the 1st kind stands for a system of n equations for n dependent co-ordinates and m unknown Lagrange multipliers. To solve the equations, additional acceleration equations from the kinematic constraints are required, as presented below.
The kinetic energy of a robotic system can be written as follows:
where M(q) = M is the mass matrix of the system. The first and second terms in Eq. 21 can be expressed as below:
For the general case in which the kinetic energy depends on q, Eq. 21 becomes
On the other hand, differentiating the constraint Eq. 19 twice with respect to time yields
Let \( \mathrm{c}=-{\dot{\boldsymbol{\Phi}}}_{\mathbf{q}}\dot{\mathbf{q}} \) and n = Q ex + L q −\( \dot{\mathbf{M}}\dot{\mathbf{q}} \) . Combining Eqs. 25 and 26 leads to:
Equation 27 can solve simultaneously the accelerations and the Lagrange multipliers.
Examples
Two examples are included to apply the equations of motion to robotic manipulators. In the first example, a lightweight robotic arm consisting of five revolute joints developed at Aalborg University (AAU), Denmark, is considered. In the second example, the dynamics of a spherical parallel manipulator is presented.
Example I: A 5-dof Lightweight Robotic Arm
The lightweight robotic arm is demonstrated in Fig. 2a. Following the D-H convention, Cartesian coordinate systems are attached to each link of the manipulator, as shown in Fig. 2b. The D-H parameters of the manipulator are listed in Table 1.
Dynamics Modeling
The kinematics of the robotic arm can be found in (Zhou et al. 2011). This chapter includes here only the dynamics formulation.
Jacobian matrix The joint angular velocity can be calculated with the Jacobian matrix
where \( \overset{\cdotp }{\boldsymbol{\theta}}={\left[{\dot{\theta}}_1,{\dot{\theta}}_2\dots, {\dot{\theta}}_n\right]}^T \) denotes an n-dimensional (n denotes the number of dof) vector of the joint angular velocities, J is the Jacobian of the robotic arm, and v ef the velocity of the end-effector.
For a revolute joint, the Jacobian matrix can be calculated by (Tsai 1999)
where z i−1 and p i−1 are given by
where q i−1 = [a i cos θ i , a i sin θ i , d i ]T. The local coordinates of the end-effector are defined as p n = [0, 0, 0]T. When the desired end-effector velocity v ef is given, the joint angular velocity can be solved by Eq. 28.
The joint angular acceleration \( \ddot{\boldsymbol{\theta}} \) can be calculated through time derivative of the velocity \( \dot{\boldsymbol{\theta}} \).
Simulation Results
The dynamics of the 5-dof robotic arm was simulated with a program implemented in MATLAB. The trajectory of the end-effector in the global coordinate system is defined as x ef (t) = 5 + 400 (1 − cos(t)), y ef (t) = −990 + 800(1 − cos(t/2)), and z ef (t) = 280 + 250(cos(t/2) − 1), all with unit of mm, which leads to
The Euler angles for the end-effector are given as ψ = [0, cos(t/180), 0]T, following ZXZ convention. The rotation implies the end-effector remains horizontal during the prescribed motion. For the prescribed motion, the rotation matrix R and angular velocity ω can be readily found. The velocities of the end-effector are \( {\mathbf{v}}_{ef}={\left[{\dot{\mathbf{x}}}_{ef}^T,{\boldsymbol{\omega}}^T\right]}^T \), from which the joint angular velocities and accelerations are calculated.
To implement the Newton-Euler method to solve the inverse dynamics problem, the equations in section “Recursive Newton-Euler Method” are summarized in a recursive manner:
Outward recursion: i : 1 → 5
Inward recursion: i : 5 → 1
The joint angular velocities and accelerations are solved through Eq. 28, with results displayed in Fig. 3. Let the payload at the end-effector of the robot be 5 kg, which implies f 6 = 5g N, n 6 = 0, where g is the vector of gravity acceleration. Through the modeling of inverse dynamics of Eqs. 32g–32i, the joint torques are solved, as shown in Fig. 4.
Example II: A Spherical Parallel Manipulator
In this example, the Lagrange’s equation is illustrated with a spherical parallel manipulator (SPM) (Gosselin and Angeles 1989). The SPMs are of closed-kinematic chain. The Lagrange’s equation of the 1st kind is adopted for the dynamics modeling of this manipulator.
A general SPM is shown in Fig. 5a with the parameterized ith leg in Fig. 5b. The ith limb consists of three revolute joints, whose axes are parallel to the unit vectors u i , v i , and w i . All three limbs have identical architectures, defined by angles α 1 and α 2. Moreover, β and γ define the geometry of two triangular pyramids on the base and the mobile platforms, respectively. The origin O of the base coordinate system xyz is located at point O. The z axis is normal to the bottom surface of the base pyramid and points upward, while the y axis is located in the plane made by the z axis and u 1.
Kinematic Modeling
Under the prescribed coordinate system, unit vector u i is derived as
where η i = 2(i − 1)π/3, i = 1, 2, 3.
The unit vector v i of the axis of the intermediate revolute joint in the ith leg is expressed as:
where s(⋅) = sin(⋅) and c(⋅) = cos(⋅).
The unit vector w i of the top revolute joint in the ith leg is a function of the orientation of the mobile platform (MP), namely,
where Q is the rotation matrix that carries the MP from its reference orientation to the current one and w * i is the unit vector of the axis of the top revolute joint in the ith leg when the mobile platform is in its reference orientation, which is given as
Kinematic Jacobian Matrix
Let ω = [ω x , ω y , ω z ]T denote the angular velocity of the mobile platform; the velocity equation via the ith leg can be stated as
To eliminate \( {\dot{\psi}}_i \) and \( {\dot{\xi}}_i \), dot-multiplying Eq. 37 on both sides with v i × w i yields
from which the SPM velocity equation is obtained as
with
where \( \overset{\cdotp }{\boldsymbol{\theta}}={\left[{\dot{\theta}}_1,{\dot{\theta}}_2,{\dot{\theta}}_3\right]}^T \). Matrices A and B are the forward and inverse Jacobian matrices of the manipulator, respectively. The kinematic Jacobian matrix J of the manipulator can be expressed as follows as long as matrix A is not singular:
Equation 38 is thus rewritten for the single joint velocity as
Velocity and Acceleration Analysis
The motions of the link and mobile platform are shown in Fig. 6. The angle rates \( \overset{\cdotp }{\phi }={\left[\dot{\phi},\dot{\theta},\dot{\sigma}\right]}^T \) and the angular velocity ω are linearly dependent, namely, \( \boldsymbol{\omega} =\boldsymbol{\Psi}\;\dot{\phi} \). Differentiating the equation with respect to time yields
Matrix Ψ is dependent on the rotations. For example, a rotation with the Euler convention ZY Z of Q = R z (ϕ)R y (θ)R z (σ−ϕ), matrix Ψ is
The velocity \( \dot{\psi} \) of the intermediate joint of ith leg is found by making use of Eq. 37 to eliminate \( {\dot{\theta}}_i \) and \( {\dot{\xi}}_i \). Dot-multiplying Eq. 37 on both sides with u i × w i leads to
The angular velocity of the distal link in the ith leg in the reference frame xyz is found as \( {\rho}_i={\dot{\theta}}_i\;{\mathbf{u}}_i+{\dot{\psi}}_i\;{\mathbf{v}}_i \). Let ρ li denote the corresponding angular velocity in the local frame x i y i z i , which means
with
which yields
Dynamic Modeling
The Lagrange’s equation for the SPM is expressed as
where q = [θ 1, θ 2, θ 3, ϕ, θ, σ]T, Q ex = [τ T, 0]T ∈ ℝ6 is the vector of external forces, and vector τ = [τ 1, τ 2, τ 3]T characterizes the actuator torques. Moreover, λ = [λ1, λ2, λ3]T is a vector of Lagrange multipliers. Matrix C q is the system’s constraint Jacobian, which can be found from the velocity Eq. 39, namely,
that is,
with C q = [B−AΨ].
Lagrangian of the Mobile Platform
The local frame x p y p z p of the MP is established with the origin located at point P, i.e., the center of mass of the MP of position vector p. Henceforth, the Lagrangian of the mobile platform is obtained as
where I p denotes the local inertia tensor of the mobile platform and ω′ its local angular velocity. Moreover, g = [0, 0, 9.81]T.
Lagrangian of a Single Leg
The Lagrangian of the ith leg is derived as
where I l1 is the proximal link’s mass moment of inertia about u i and I l2 is the distal link’s local inertia tensor about point O. Moreover, h i and k i indicate the position vectors for the centers of the mass of the proximal and distal links, respectively.
Substituting the Lagrangian L p and L i , i = 1, 2, 3, into Eq. 49, the inertia matrix can be derived as
with
and the other terms also can be derived. Moreover, differentiating Eq. 51 with respect to time yields
with
where
and
Combining Eqs. 49 and 56 leads to
With an external moment vector m, the actuator torques are expressed as
Simulation Results
The previously developed dynamic model is applied to a co-axial SPM (Bai 2010), whose properties are given in Tables 2 and 3, where inertia tensors I p and I l2 contain only diagonal entries. Simulations were conducted for motion of constant angular accelerations at actuating joints, their initial conditions being specified in Table 2. The results of the actuating torques are shown in Fig. 7. The results agree well with the simulation results obtained from CAE software, namely, the MSC Adams.
Summary
This book chapter introduces the fundamental of manipulator dynamics, with focus on the recursive Newton-Euler approach and the Lagrange equations, which are approaches mostly common used in robot dynamics analysis and control. Both inverse and forward dynamic problems are discussed. Applications to manipulators are demonstrated.
In solving the dynamics equation, numerics problems may arise. One is computational efficiency. The recursive approach presented in this chapter is quite efficient, while the Lagrange’s equations, as a closed-form equation, implies high computational cost in finding solutions, which uses numerical methods, for example, Newton–Raphson method. Other problems include the singular Jacobian and the instability of the solution, etc., among others. The Jacobian matrix can become singular when a singular configuration is reached or redundant constraints are included, which may lead to a crash of simulation or a large error. Instability takes place in numerical integration of the equation of motion, when the roundoff errors increase with time, which can lead to the constraint equations not satisfied. A method to improve the stability is the Baumgarte stabilization method, which is introduced in (de Jalón and Bayo 1994).
The approaches presented in this chapter are closely relevant to multibody dynamics, which was extensively studied in the last century. With the advances of robotics in the twenty-first century, manipulator dynamics has significantly been expanded, not limited to multibody dynamics, but get involved with other subsets of the dynamics. A new development among others is the continuum manipulators, where continuum mechanics is the major theory applicable (Walker 2013). The new development of manipulator dynamics, which is not discussed in this chapter, presents new opportunity and challenges for robotics.
References
Angeles J (1997) Fundamentals of robotic mechanical systems: theory, methods, and algorithms. Springer, New York
Bai S (2010) Optimum design of spherical parallel manipulators for a prescribed workspace. Mech Mach Theory 45(2):200–211
de Jalón JG, Bayo E (1994) Kinematic and dynamic simulation of multibody systems: the real-time challenge. Springer, New York
Denavit J, Hartenberg RS (1955) A kinematic notation for lower pair mechanisms based on matrices. ASME J Appl Mech 77:215–221
Dwivedy SK, Eberhard P (2006) Dynamic analysis of flexible manipulators, a literature review. Mech Mach Theory 41(7):749–777
Featherstone R (1983) The calculation of robot dynamics using articulated-body inertias. Int J Robot Res 2(1):13–30
Featherstone R, Orin D (2000) Robot dynamics: equations and algorithms. In: Proceedings of the 2000 I.E. International Conference on Robotics & Automation, San Francisco, pp 826–834, Apr 2000
Gosselin CM, Angeles J (1989) The optimum kinematic design of a spherical three-degree-of-freedom parallel manipulator. ASME J Mech Des 111(2):202–207
Low KH (1987) A systematic formulation of dynamic equations for robot manipulators with elastic links. J Robot Syst 4(3):435–456
Luh JYS, Walker MW, Paul RPC (1980) On-line computational scheme for mechanical manipulators. J Dyn Sys Meas Control 102(2):69–76
Murray RM, Li Z, Sastry SS (1994) A mathematical introduction to robotic manipulation. CRC Press, Boca Raton
Shabana AA (2013) Dynamics of multibody systems. Cambridge University Press, New York, USA
Tsai LW (1999) Robot analysis: the mechanics of serial and parallel manipulators. Wiley, New York
Walker ID (2013) Continuous backbone continuum robot manipulators. ISRN Robot Article ID: 726506, 19pp
Zhou L, Bai S, Hansen MR (2011) Design optimization on the drive train of a light-weight robotic arm. Mechatronics 21(3):560–569
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag London
About this entry
Cite this entry
Bai, S., Zhou, L., Wu, G. (2015). Manipulator Dynamics. In: Nee, A. (eds) Handbook of Manufacturing Engineering and Technology. Springer, London. https://doi.org/10.1007/978-1-4471-4670-4_91
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4670-4_91
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4669-8
Online ISBN: 978-1-4471-4670-4
eBook Packages: EngineeringReference Module Computer Science and Engineering