Condensed Robot Dynamics

advertisement
Areas
Interest in Robotics
Industrial Engineering
Department
Binghamton University
Industrial Automation
Outline
• Introduction
– Historical Example
– Mechanical Engineering and Robotics
• Review of Basic Kinematics and
Dynamics
• Transformation Matrices/DenavitHartenberg
• Dynamics and Controls
• Example: Surgical Robot
Industrial Automation
Robot Configurations
Industrial Automation
Cartesian
Cylindrical
Spherical
SCARA
Industrial Automation
Phillip John McKerrow, Introduction to Robotics (1991)
Industrial Automation
Industrial Automation
Industrial Automation
Review of Basic Kinematics and Dynamics
• Case Study: Dynamic Analysis
• Software for Dynamic Analysis:
ADAMS
• Rigid Body Kinematics
• Rigid Body Dynamics
Industrial Automation
Kinematics of Rigid Bodies
General Plane Motion:
Translation plus Rotation
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Translation
If a body moves so that all the particles have at
time t the same velocity relative to some
reference, the body is said to be in translation
relative to this reference.
Rectilinear Translation
Industrial Automation
Curvilinear Translation
Kinematics of Rigid Bodies (cont.)
Rotation
If a rigid body moves so that
along some straight line all the
particles of the body, or a
hypothetical extension of the
body, have zero velocity relative
to some reference, the body is
said to be in rotation relative to
this reference.
The line of stationary particles is
called the axis of rotation.
Industrial Automation
Motion
Kinematics of Rigid Bodies (cont.)
General Plane Motion can be analyzed as:
A translation plus a rotation.
Chasle’s Theorem:
1. Select any point A in the body. Assume that all
particles of the body have at the same time t a
velocity equal to vA, the actual velocity of the
point A.
2. Superpose a pure rotational velocity w about an
axis going through point A.
Industrial Automation
Kinematics of Rigid Bodies (cont.)
General Plane Motion: drA  drB
Industrial Automation
Kinematics of Rigid Bodies (cont.)
General Plane
Motion;
(1) Translation
measured
from original
Point A
Industrial Automation
Kinematics of Rigid Bodies (cont.)
General Plane
Motion:
(2) Rotation about
axis through Point
A
Industrial Automation
Kinematics of Rigid Bodies (cont.)
General Plane Motion = Translation + Rotation
Industrial Automation

A
Kinematics of Rigid Bodies (cont.)

R
Two Reference Frames:
XYZ
x'y'z'
Let R be the vector that
establishes the relative
position between XYZ
and x'y'z'.
Industrial Automation
z
Z
Derivative of a Vector
Fixed in a Moving
Reference
X
O
P
A
y
x
O
Y
Let A be the fixed
vector that establishes
the position between A
and P.
Kinematics of Rigid Bodies (cont.)
z
Z
The time rate of
change of A as seen
from x'y'z' is zero:

 dA 
 

0
 dt 
  x' y 'z '
Industrial Automation

R
X
O
A
y
x
O
Y
Kinematics of Rigid Bodies (cont.)
As seen from XYZ, the time rate
of change of A will not
necessarily be zero.
Determine the time derivative by
applying Chasles’ Theorem.
1. Translation. Translational X
motion of R will not alter the
magnitude or direction of A.
(The line of action will change
but the direction will not.)
Industrial Automation
z
Z

R
O
A
y
x
O
Y
Z'
Kinematics of Rigid Bodies (cont.)

w
2. Rotation. Rotation about an
axis passing through O':w
Establish a second stationary
reference frame, X'Y'Z',
such that the Z' axis
coincides with the axis of
rotation.
Industrial Automation
X
Z
z
O

R
A
y Y'
x
O
Y
X'
Z'
Kinematics of Rigid Bodies (cont.)
Industrial Automation
A

R




A  Ar  r  A   AZ ' Z '
A r  A  A Z '  0

Z
Locate a set of cylindrical
coordinates at the end of A.
Because A is a fixed vector,
the magnitudes Ar, A, and AZ'
are constant. Therefore:
   
w  Z' r
X
Y'
O
Y
X'
Also, Z' is unchanging,
therefore:

Z '  0
Z'
Kinematics of Rigid Bodies (cont.)
   
w  Z' r

Z
The time derivative as seen from
the X'Y'Z' reference frame is:
O



X
 dA 
d 
d r 


 
 Ar 
 A 


 dt 
 dt  X 'Y 'Z '
 dt  X 'Y 'Z '
  X 'Y 'Z '


Note:

d
d r 
Recall:
  and
  r
dt
dt

 dA 


  
 Arw  A w r
 dt  X 'Y 'Z '
Industrial Automation
A

R
Y'
Y
X'
  w
Z'
Kinematics of Rigid Bodies (cont.)

Z
The result for the time
derivative as seen from the
X'Y'Z' reference frame is:

 dA 


  
 Arw  A w r
 dt  X 'Y 'Z '
   
w  Z' r
A

R
X
Y'
O
Y
X'
Both the X'Y'Z' reference frame and the XYZ reference
frame are stationary reference frames, therefore


 dA 
 dA 


d
d
 
 
     
 Arw  A w r
 dt  X 'Y 'Z '  dt  XYZ
 dt  XYZ  dt  X 'Y 'Z '
Industrial Automation
Z'
Kinematics of Rigid Bodies (cont.)

wA 0
Ar
0
Z
r
w  0
A
AZ '
Industrial Automation
Ar

0
A

R




A  Ar  r  A   AZ ' Z '


Z

 dA 


   Arw  A w r
 dt 
  XYZ


For: w  A w  w Z '
r
   
w  Z' r
Z r
w 0
X
Y'
O
Y
X'



0  Arw  A w r
A AZ ' Ar A
0
0
0
0
 rw A 
 w Ar 
Z'
Kinematics of Rigid Bodies (cont.)

 dA 
  w A
 dt  XYZ
Z
   
w  Z' r


For acceleration, differentiate:
R
2
  d A
a   2 
O
 dt  XYZ
X
By the product rule:
X'

2

 dA 
 d A
 dw 
 2   
  A  w   
 dt  XYZ  dt  XYZ
 dt  XYZ


 dw 


d
A

  w  
w     w  w  A
 dt  XYZ
 dt  XYZ

Industrial Automation

A
Y'
Y
Z'
Kinematics of Rigid Bodies (cont.)
   
w  Z' r

Z



  d A
 a   2     A  w  w  A
 dt  XYZ
2

A

R
X
O
Y
X'
Industrial Automation
Y'
Kinematics of Rigid Bodies (cont.)
Summary of Equations: Kinematics of Rigid Bodies
vB  v A  w  rB A





aB  a A    rB A  w  w  rB A
Industrial Automation

Kinematics of Rigid Bodies (cont.)
Degrees of Freedom
Degrees of Freedom (DOF) = df. The
number of independent parameters
(measurements, coordinates) which are
needed to uniquely define a system’s
position in space at any point of time.
Industrial Automation
Kinematics of Rigid Bodies (cont.)
A rigid body in plane
motion has three DOF.
f
r
Note: The three
parameters are not
unique.
x, y,  – is one set of
three coordinates
r, f,  – is also a set
of three coordinates
Industrial Automation
Kinematics of Rigid Bodies (cont.)
y
A rigid body in 3-D space has six DO
For example,
fx, y, z – three linear coordinates and
f, , y – three angular coordinates
r
X
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Links, Joints, and Kinematic Chains
Link = df. A rigid body which
possesses at least two nodes which
are points for attachment to other
links.
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Joint = df. A connection between two or
more links (at their nodes) which
allows some motion, or potential
motion, between the connected links.
Also called “kinematic pairs.”
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Type of contact between links
Lower pair: surface contact
Higher pair: line or point contact
Six Lower Pairs
Industrial Automation
Revolute
R
Prismatic
P
Helical
H
Cylindric
C
Spherical
S
Flat Planar
F
CS 480A-34
Kinematics of Rigid Bodies (cont.)
“Constrained Pin”
“Slide”
Industrial Automation
“Screw”
“Sliding Pin”
Kinematics of Rigid Bodies (cont.)
“Ball
and Socket”
Planar (F) Joint – 3 DOF
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Open/Closed Kinematic Chain (Mechanism)
Closed Kinematic Chain = df. A kinematic chain in
which there are no open attachment points or nodes.
Industrial Automation
Kinematics of Rigid Bodies (cont.)
Open Kinematic Chain = df. A kinematic chain in
which there is at least one open attachment point or
node.
Industrial Automation
Dynamics of Rigid Bodies
Dynamic Equivalence
Lumped Parameter Dynamic Model
Industrial Automation
Dynamic System Model
For a model to be dynamically equivalent to the
original body, three conditions must be satisfied:
1. The mass (m) used in the model must equal the mass
of the original body.
2. The Center of Gravity (CG) in the model must be in
the same location as on the original body.
3. The mass moment of inertia (I) used in the model
must equal the mass moment of inertia of the
original body.
m, CG, I
Industrial Automation
Dynamics of Rigid Bodies (cont.)
First Moment of Mass and
Center of Gravity (CG)
The first moment of mass, or mass moment (M), about
an axis is the product of the mass and the distance from
the axis of interest.
M   rdm
m
where: r is the radius from the axis of interest to the increment of
mass
Industrial Automation
Dynamics of Rigid Bodies (cont.)
Second Moment of Mass,
Mass Moment of Inertia (I)
The second moment of mass, or mass moment of
inertia (I), about an axis is the product of the mass and
the distance squared from the axis of interest.
I m   r dm
2
m
where: r is the radius from the axis of interest to the increment of
mass
Industrial Automation
Dynamics of Rigid Bodies (cont.)
Lumped Parameter Dynamic Models
The dynamic model of a mechanical system involves
“lumping” the dynamic properties into three basic
elements:
Mass (m or I)
m
Spring
Damper
Industrial Automation
Manipulator Dynamics and Control
• Forward Kinematics – Given the angles and/or
extensions of the arm, determine the position of the end
of the manipulator
• Inverse Kinematics – Given the position of the end of
the manipulator, determine the angles and/or extensions
of the arm needed to get there
• Dynamics – Determine the forces and torques required
for or resulting from the given kinematic motions.
• Control – Given the block diagram model of the
dynamic system, determine the feedback loops and
gains needed to accomplish the desired performance
(overshoot, settling time, etc.)
Industrial Automation
Forward Kinematics:
Denavit-Hartenberg (D-H)
Transformation Matrix
• Forward Kinematics – Given the angles
and/or extensions of the arm, determine the
position of the end of the manipulator
Industrial Automation
Position Kinematics
Industrial Automation
While the kinematic analysis of a robot manipulator can be
carried out using any arbitrary reference frame, a systematic
approach using a convention known as the DenavitHartenberg (D-H) convention is commonly used.
Any homogeneous transformation is represented as the
product of four 'basic" transformations:
Ai  Rot z ,i Transz ,di Transx ,ai Rot x ,i
End here
Mark W. Spong and M. Vidyasagar, Robot
Dynamics and Control (1989)
Industrial Automation
Start here
Ai  Rot z ,i Transz ,di Transx ,ai Rot x ,i
ci
s
Ai   i
0
0

 si
ci
0
0
0 0 1
0 0  0

1 0  0
0 1 0
ci
s
i

Ai 
0
0

0  1
1 0 0  0

0 1 d i  0
0 0 1  0
0 0
0 0 ai  1 0
1 0 0  0 ci

0 1 0  0 si
0 0 1  0 0
 si ci
si si
ci ci
 ci si
si
ci
0
0
Mark W. Spong and M. Vidyasagar, Robot Dynamics and Control (1989)
Industrial Automation
ai ci 
ai si 

di 

1 
0
 si
ci
0
0
0

0
1
Example
Industrial Automation
Industrial Automation
c1
s
A1   1
0
0

 s1
c 2
s
A2    2
0
0

 s 2
c1
1
0
Industrial Automation
c 2
1
0
0 a1c1 
0 a1s1 

1
1 

0
1 
0 a2c 2 
0 a2 s 2 

1
1 

0
1 
T  A1
1
0
T02  A1 A2
c1
s
T02  A1 A2   1
0
0

c1 c 2
s c
  1  2



 s1
c1
0
0
0 a1c1  c 2
0 a1s1   s 2

1
0  0
0
1   0
 s1 s 2
 c1 s 2  s1 c 2
 c1 s 2
 s1 s 2  c1 c 2
0
0
0
0
cos     cos cos   sin  sin 
sin      sin  cos   cos sin 
Industrial Automation
c1  2
s
 
 1 2
 0
 0

 s 2
c 2
0
0
0 a2c 2 
0 a2 s 2 

1
0 
0
1 
0 a2 c 2 c1  s1 s 2   a1c1 
0 a2 c 2 s1  c1 s 2   a1s1 

1
0


0
1

 s1  2 0 a2c1  2  a1c1 
c1  2 0 a2 s1  2  a1s1 

1
1
1


0
0
1

Given the angles, 1 and 2, along with
the link lengths, a1 and a2, the position of
the end point of the two-link planar
manipulator with respect to the base of
the manipulator can be found using the
D-H transformation matrix:
c1  2
s
1  2
2
T0  
 0
 0

Industrial Automation
 s1  2
c1  2
1
0
0 a1c1  a2c1  2 
0 a1s1  a2 s1  2 

1
1


0
1

Similarly for any robot configuration:
Stanford
manipulator
configuration:
 r11 r12
r r
T06   21 22
 r31 r32
0 0

Industrial Automation
r13
r23
r33
0
dx 
dy

dz 
1 
where:
r11  c1c2 c4c5c6  s4 s6   s2 s5c6   s1  s4c5c6  c4 s6 
d6
r21  s1c2 c4c5c6  s4 s6   s2 s5c6   c1  s4c5c6  c4 s6 
r31   s2 c4c5c6  s4 s6   c2 s5c6
d3
r12  c1 c2 c4c5 s6  s4 s6   s2 s5 s6   s1  s4c5 s6  c4c6 
r22  s1 c2 c4c5 s6  s4 s6   s2 s5 s6   c1  s4c5 s6  c4c6 
r32  s2 c4c5 s6  s4c6   c2 s5 s6
r13  c1 c2c4 s5  s2c5   s1s4 s5
r23  s1 c2c4 s5  s2c5   c1s4 s5
d2
r33   s2c4 s5  c2c5
d x  c1s2d 3  s1d 2  d 6 c1c2c4 s5  c1c5 s2  s1s4 s5 
d y  s1s2d 3  c1d 2  d 6 c1s4 s5  c2c4 s1s5  c5 s1s2 
d z  c2d 3  d 6 c2c5  c4 s2 s5 
Industrial Automation
Velocity Kinematics
Industrial Automation
Jacobian
The Jacobian is a matrix valued function of
derivatives.
 f1
 x
 f 1
 Jv   2
J       x1
Jw   
 f n

 x1
Industrial Automation
f1
x2
f 2
x2

f n
x2




f1 
xn 
f 2 

xn 
 
f n 

xn 
Linear Velocities
 lc1 sin q1 0
J vc1    lc1 cos q1 0
0
0

 l1 sin q1  lc 2 sin q1  q2   lc 2 sin q1  q2 
J vc 2    l1 cos q1  lc1 cosq1  q2  lc 2 cosq1  q2  
0
0


Industrial Automation
Inverse Kinematics
• Inverse Kinematics – Given the position of the
end of the manipulator, determine the angles
and/or extensions of the arm needed to get there
Industrial Automation
In general the problem can be stated:
Given the 4x4 D-H homogeneous transformation
R d 
H 

0
1


Find one (or all) of the solutions of the equation
T0n  q1 , q2 ,..., qn   H
where :
T0n  q1 , q2 ,..., qn   A1  A2 ...  An
In other words, solve the system of equations:
Tij  q1 , q2 ,..., qn   hij
where :
i  1, 2, 3
Industrial Automation
j  1, 2, 3,..., n
Mark W. Spong and M. Vidyasagar, Robot
Dynamics and Control (1989)
r11  c1c2 c4c5c6  s4 s6   s2 s5c6   s1  s4c5c6  c4 s6 
For example, the
system of
nonlinear
trigonometric
equations for the
Stanford
manipulator is:
r21  s1c2 c4c5c6  s4 s6   s2 s5c6   c1  s4c5c6  c4 s6 
r31   s2 c4c5c6  s4 s6   c2 s5c6
r12  c1 c2 c4c5 s6  s4 s6   s2 s5 s6   s1  s4c5 s6  c4c6 
r22  s1 c2 c4c5 s6  s4 s6   s2 s5 s6   c1  s4c5 s6  c4c6 
r32  s2 c4c5 s6  s4c6   c2 s5 s6
r13  c1 c2c4 s5  s2c5   s1s4 s5
r23  s1 c2c4 s5  s2c5   c1s4 s5
r33   s2c4 s5  c2c5
d x  c1s2d 3  s1d 2  d 6 c1c2c4 s5  c1c5 s2  s1s4 s5 
d y  s1s2d 3  c1d 2  d 6 c1s4 s5  c2c4 s1s5  c5 s1s2 
d z  c2d 3  d 6 c2c5  c4 s2 s5 
Solve for: 1, 2, 4, 5, 6, d3
Industrial Automation
There is no simple, universal method to solve inverse kinematic
problems.
A common technique used for a 6 DOF robot with a 3 DOF endeffector (roll, pitch, yaw) is "kinematic decoupling:" find a
location for the robot wrist and then determine the orientation of
the end-effector.
Also, in general, there is no
unique solution to the inverse
kinematic problem.
Industrial Automation
Robot Dynamics
• Dynamics – Determine the forces and torques
required for or resulting from the given kinematic
motions.
Industrial Automation
Robot Controls
• Control – Given the block diagram model of the
dynamic system, determine the feedback loops
and gains needed to accomplish the desired
performance (overshoot, settling time, etc.)
Industrial Automation
Feedback Control System
Industrial Automation
DC Motor
Industrial Automation
Surgical Instrument
Industrial Automation
Good software cannot fix the
problems caused by poor
mechanical design.
– Phillip John McKerrow, Introduction to Robotics
(1991)
Industrial Automation
Download