Robot Dynamics – The Action of a Manipulator When Forced ME 4135 Fall 2012 R. R. Lindeke, Ph. D. We will examine two approaches to this problem Euler – Lagrange Approach: – Develops a “Lagrangian Function” which relates Kinetic and Potential Energy of the manipulator thus dealing with the manipulator “As a Whole” in building force/torque equations Newton – Euler Approach: – This approach tries to separate the effects of each link by writing down its motion as a linear and angular motion. But due to the highly coupled motions it requires a forward recursion through the manipulator for building velocity and acceleration models followed by a backward recursion for force and torque Euler – Lagrange approach Employs a Denavit-Hartenberg structural analysis to define “Generalized Coordinates” as common structural models. It provides good insight into controller design related to STATE SPACE It provides a closed form interpretation of the various components in the dynamic model: – – – – Inertia Gravitational Effects Friction (joint/link/driver) Coriolis Forces relating motion of one link to coupling effects of other link motion – Centrifugal Forces that cause the link to ‘fly away’ due to coupling to neighboring links Newton-Euler Approach A computationally ‘more efficient’ approach to force/torque determination It starts at the “Base Space” and moves forward toward the “End Space” computing trajectory, velocity and acceleration Using this forward velocity type information it computes forces and moments starting at the “End Space” and moving back to the “Base Space” We’ll start with the E-L method by Defining the Manipulator Lagrangian: L ( q, q ) T ( q, q ) U ( q ) here T (q, q ) Kinetic energy of the manipulator U (q ) Potential energy of the manipulator Generalized Equation of Motion/ Force of the Manipulator: d Fi L q, q L q, q 1in dt qi qi i is a link of the manipulator Fi is the Generalized Force acting on Link i Starting Generalized Equation Solution We begin with focus on the Kinetic energy term (the hard one!) Remembering from physics: K. Energy = ½ mV2 Lets define, for the Center of Mass of a Link ‘K’: k as Linear Velocity k as Angular Velocity Rewriting the Kinetic Energy Term: T T n K mK K K DK K T q, q 2 K 1 mK is Link Mass DK is a 3x3 Inertial Tensor of Link K about its center of mass expressed WRT the base frame – this tensor characterizes mass distribution of a rigid object Focusing on DK: Looking at a(ny) link For this (any) Link: DC is its Inertial Tensor About it Center of Mass In General: 2 2 y z dV V DC mK xy dV V xz dV V xy dV V 2 2 x z dV V yz dV V xz dV V yz dV V 2 2 x y dV V Defining the terms: The Diagonal terms are the “Moments of Inertia” of the link The three distinct off diagonal terms are the Products of Inertia If the axes used to define the pose of the center of mass are aligned with the x and z axes of the link defining frames (i-1 & i) then the products of inertia are zero and the diagonal terms form the “Principal Moments of Inertia” Continuing after this simplification: 2 2 y z dV V DC mK 0 0 0 x 2 z 2 dV V 0 0 0 2 2 x y dV V If the Link is a Rectangular Rod (of uniform mass): b2 c2 12 DC mK 0 0 0 a2 c2 12 0 0 0 2 2 a b 12 This is a reasonable approximation for many arms! If the Link is a Thin Cylindrical Shell of Radius r and length L: r 2 DC mK 0 0 0 0 2 2 r L 0 2 12 2 2 r L 0 2 12 Some General Link Shape Moments of Inertia: From: P.J. McKerrow, Introduction to Robotics, Addison-Wesley, 1991. We must now Transform each link’s Dc Dc must be defined in the Base Space To add to the Lagrangian Solution for kinetic energy (we will call it DK): T K DKK Where: DK = [R0K*Dc *(R0K)T] Here R0K is the rotational sub-matrix defining the Link frame K (at the end of the link!) to the base space – thinking back to the DH ideas Defining the Kinetic Energy due to Rotation (contains DK) K .E . T K 2 K T K .E . DK K K K T R0 DC R0 K 2 Completing our models of Kinetic Energy: Remembering: T T n K mK K K DK K T q, q 2 K 1 Velocity terms are from Jacobians: We will define the velocity terms as parts of a “slightly” – (really mightily) – modified Jacobian Matrix: c1 J K (q) q1 1Z 0 cK qK K Z K 1 AK is linear velocity effect BK is angular velocity effect I is 1 for revolute, 0 for prismatic joint types 0 0 AK ( q ) K B (q ) Velocity Contributions of all links beyond K are ignored (this could be up to 5 columns!) Focusing on cK in the modified jacobian This is a generalized coordinate of the center of mass of a link K K c H T ( q ) c It is given by: K 1 0 here : A Matrix that essentially strips off the bottom row of the solution c K is a vector from frame k (at the end of link K) to the Center of Mass of Link K l and is: K ,0,0,1 2 Re-Writing K. Energy for the ARM: T K K K K A q mK A q B q DK B q n T q, q 2 K 1 Factoring out the Joint Velocity Terms qT n T q, q K 1 A K T mK A K qq T B K T 2 DK B K q Simplifies to: n T q, q q K 1 T A K T mK A K B 2 K T DK B K q Building an Equation for Potential Energy: n U (q ) mK g cK (q ) T K 1 Generalized coordinate of centers of mass (from earlier) g is acceleration due to gravity and Introducing a new term: n c (q) mK cK (q ) K 1 leads to: U (q ) g T c (q ) This is a weighted sum of the centers of mass of the links of the manipulator Finally: The Manipulator Lagrangian: L(q, q) T (q, q) U (q) Which means: n L q, q qT K 1 A K T mK A K B 2 K T DK B K q g c (q ) T Introducing a ‘Simplifying’ Term D(q): Dq n { A K 1 Then: K q mK A T K q B K K q D q B K q } T T T 1 L q, q [ q D q q ] g c (q) 2 Considering “Generalized Forces” in robotics: We say that a generalized force is an residual force acting on a arm after kinetic and potential energy are removed!?!*! The generalized forces are connected to “Virtual Work” through “Virtual Displacements” (instantaneous infinitesimal displacements of the joints q), Thus we say that the Virtual Displacement is a Displacement that is done without the physical constraints of time Generalized Forces on a Manipulator We will consider in detail two (of the readily identified three): Actuator Force (torque) → W1 T q Frictional Effects → W2 b q q Tool Forces → T F Tool will be taken 0 in general Examining Friction – in detail Defining a Generalized Coefficient of Friction for a link: qK d v s d bk (q) bK qK SGN bK bK bK e C. Viscous Friction C. Dynamic Friction C. Static Friction Combining these components of Virtual Work: W W1 W2 b q q T leads to the manipulator Generalized Force: F b q Building a General L-E Dynamic Model Remembering: d Fi L q, q L q, q 1in dt qi qi i is a link of manipulator Starting with this term Partial of Lagrangian w.r.t. joint velocity L q, q qi T q, q q It can be ‘shown’ that this term equals: Dij q q j n j 1 Completing the 1st Term: n L q , q d d Dij q q j dt qi dx j 1 This is found to equal: Completing this 1st term of the L-E Dynamic Model: Dij q Dij q q j qk q j qk j 1 k 1 j 1 n n n Looking at the 2nd Term: L q, q T q, q U q qi qi qi This term can be shown to be: Dkj (q ) q qk q j 3 n k 1 j 1 j i g k m j Aki (q ) 2 k 1 j i n n Before Summarizing the L-E Dynamical Model we introduce: A Velocity Coupling Matrix (4x4) i kj C q 1 Dij q Dkj q for 1 i, j , k n 2 q qk i A ‘Gravity’ Loading Vector (nx1) 3 n hi q g k m j A q k 1 j i j ki The L-E (Torque) Dynamical Model: n n n i Dij q q j C q qk q j hi q bi q j 1 Inertial Forces k 1 j 1 i kj Coriolis & Centrifugal Forces Gravitational Forces Frictional Forces