Robot Kinetics – Slide Set 10

Download Report

Transcript Robot Kinetics – Slide Set 10

Robot Dynamics – Slide Set 10
ME 4135
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, as it is moving, thus
dealing with the manipulator “As a Whole” in building
force/torque equations
Newton – Euler Approach:
–
This approach works to separate the effects of each link on
machine torques by writing down its motion in a separable
linear and angular sense. However, due to the highly
coupled motions in a robot, it requires a forward recursion
through the entire manipulator for building velocity and
acceleration models of a link followed by a backward
recursion for force and torque on each link ‘in turn’
Euler – Lagrange approach

Employs a Denavit-Hartenberg structural analysis to
define “Generalized Coordinates” for the structural
models of the machine.


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:
–
–
–
–
–
Due to Inertia
Due to Gravitational Effects
Due to Friction (joint/link/driver)
Due to Coriolis Forces relating motion of one link to coupling
effects of other links’ motions
Due to Centrifugal Forces that cause the link to have a tendency
to ‘fly away’ due to coupling to neighboring links and its own
motion
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 demands then
Using this ‘forward velocity’ information the control
computes forces and moments starting at the “End
Space” and moving back to the “Base Space”
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 of the
Manipulator:
 
d 
Fi  
L  q, q    
L  q, q  1in


dt  qi
 qi
i is a link of manipulator
Starting Generalized Equation Solution


We’ll initially focus on the Kinetic energy term
(the hard one!)
Remembering from physics:


K. Energy = ½ mV2
Lets define the velocities for the Center of Mass
of a Link K:
vk as L. Velocity
k as Angular Velocity
Rewriting the Kinetic Energy Term:

 
T
T

n
vk  mK vk  k  DK k

T  q, q    

2
K 1









Notice the separation in velocities!
mK is Link Mass
DK is a 3x3 Inertial Tensor of Link K about its center of
mass expressed W.R.T. the base frame
–
This term characterizes mass distribution of a rigid object
Focusing on DK: Looking at a(ny) link
For this Link: DC is the 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 “General 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 frame (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
a c
12
2
0
2

0 


0 

2
2
a b 
12 
This is a reasonable approximation for many arm
links!
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
We must now Transform each link’s Dc

Dc (for each link) must be defined in the Base Space to
be added to the Lagrangian Solution for kinetic energy:
  
T
k


DKk

DK = [R0KDC(R0K)T]
Here R0K is the rotational sub-matrix defining the Link
frame K (at its end) in the base space – (hum, seems
like the thinking using DH ideas as we built a jacobian!)
Defining the Kinetic Energy due to
Rotation (contains DK)
 

K .E. 
T
k
 
K T
K .E. 
DK k

2
  R DC  R

2
K
0

K T
0
 K

Completing our models of Kinetic
Energy:

Remembering:

 
T
T

n
vk  mK vk  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” modified
Jacobian Matrix:
c1
J K (q)   q1

0
 1Z



ck
qK
K Z
AK is linear velocity effect
BK is angular velocity effect
I is 1 for revolute, 0 for prismatic
joint types
K 1
0


0
 AK ( q ) 
 K 
 B (q) 
Velocity Contributions of
all links beyond K are
ignored – K+1, K+2 etc
Focusing on ck :


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
T
 ak

and is:   ,0,0,1
 2
Note: Minus Sign
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

qq
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 T c k (q)
K 1
Generalized coordinate
of centers of mass
(from earlier)
g is acceleration due to gravity (a vector)
Introducing a new term:
n
c (q)   mK c k (q)
K 1
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):

This is the Manipulator Inertial Tensor
T
n
D  q   { A
K 1
K
 q  mK A
K
 q    B
K
K

q
D
q
B
  K    q }
T
D(q) is an nxn matrix sized by the robot!
Lets define “Generalized Forces”


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”

Displacements that are 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) →

Frictional Effects →

Tool Forces →
 W1    q
T
 W2  b  q   q
T
F 0
in general
Tool
Considering Friction (in greater detail):


Friction is a non-linear and complex force
opposing manipulator motion
It consists of 3 contributions:



Viscous friction
Dynamic friction
Static friction
These can be (jointly) modeled

Defining a Generalized Coefficient of Friction for a
link:
 qK

v
d
s
d
 
bk (q)  bK  qK   SGN  qK  bK   bK  bK  e



Coeff. of
Viscous
Friction
Coeff. of
Dynamic
Friction
Coeff. of
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

But Remembering:
 
d 
Fi  
L  q, q    
L  q, q  1in


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
(remembering D(q)
earlier):
n
  Dij  q  q j
j 1
Completing the 1st Term:
n



L
q
,
q






d
d

    Dij  q  q j 
dt 
qi
dt
 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 
i


  g k m j Akij (q )
2
k 1 j i
n
n
Notice: i (!) not 1
Before Summarizing the L-E Dynamical
Model we introduce:

A Velocity Coupling Matrix (nxn)


1
C q 
Dij  q  
Dkj  q 
2 q
qk
i
i
kj

for
1  i, j , k  n
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 is:
n
n
n
i   Dij  q q j   C  q qk q j  hi  q   bi  qi 
j 1
Inertial
Forces
k 1 j 1
i
kj
Coriolis &
Centrifugal
Forces
Gravitational
Forces
Frictional
Forces