L11

advertisement
KINEMATICS
ANALYSIS
OF
ROBOTS
(Part 4)
Kinematics Analysis of Robots IV
This lecture continues the discussion on the analysis of the
forward and inverse kinematics of robots.
After this lecture, the student should be able to:
•Solve problems of robot kinematics analysis using transformation
matrices
Example: A 3 DOF RRR Robot
Inverse Kinematics if no restriction on the orientation of point “P”.
This is useful if we are concerned only on the position of “P”
A=3
B=2
Z0, Z1
Y2
C=1
Y3
Y0, Y 1
X0, X1
X2
Z2
X3
Z3
P
Example: A 3 DOF RRR Robot
In this case we are not given the following matrix for the
description of the orientation and position of point “P”:
 nx
n
 y
 nz

0
ox
ax
oy
oz
ay
az
0
0
px 
py  0 1 2
   1T 2T  3T 03T
pz 

1
Instead, we need to find 1, 2, and 3 given only the location
of “P” w.r.t. to the base frame:
 px 
0 
 p  p y 
   p 
 1   z
1
 
Example: A 3 DOF RRR Robot
We know that

3
 p 0  p
   3T  
1
1
0
cos( ) cos(   )  cos( ) sin(    ) sin(  ) ( A  B cos( )) cos( ) C 


 
 p   sin(  ) cos(   )  sin(  ) sin(    )  cos( ) ( A  B cos( )) sin(  )   0 
T  
sin(    )
cos(   )
0
B sin(  )
 0 
1 

 
0
0
0
1

 1 
1
2
3
1
2
3
1
2
3
1
2
3
1
2
1
2
1
3
0
1
3
2
3
2
3
2
cos( )[ A  B cos( )  C cos(   )]  p 


  
 p   sin(  )[ A  B cos( )  C cos(   )]   p 
T  

1
B
sin(

)

C
cos(



)


p 
 

  

 1
1
2
2
3
x
1
2
2
3
y
3
0
3
2
2
3
z
Example: A 3 DOF RRR Robot
Equate elements:
p x  cos(1 )[ A  B cos( 2 )  C cos( 2   3 )]


px

cos(1 )  
 A  B cos( 2 )  C cos( 2   3 ) 
p y  sin(1 )[ A  B cos( 2 )  C cos( 2   3 )]
py



sin(1 )  
 A  B cos( 2 )  C cos( 2   3 ) 
 py 
1  tan  
 px 
1
Be Careful!
Example: A 3 DOF RRR Robot
Be careful when using your calculator to find inverse tangent!

x
y
y
tan( ) 
x
2nd quadrant
(x=-ve, y=+ve)
1st quadrant
(x=+ve, y=+ve)
3rd quadrant
(x=-ve, y=-ve)
4th quadrant
(x=+ve, y=-ve)
Your calculator can
only give the angle
in the 1st quadrant.
You have to adjust
the answer from
the calculator
Example: A 3 DOF RRR Robot
p x  cos(1 )[ A  B cos( 2 )  C cos( 2   3 )]
 px 

  A  B cos( 2 )  C cos( 2   3 )
 cos(1 ) 
p y  sin(1 )[ A  B cos( 2 )  C cos( 2   3 )]
 py 

  A  B cos( 2 )  C cos( 2   3 )
 sin(1 ) 
If cos(1)0, let
 px 
 
 A
 cos(1 ) 
Otherwise, let
 py 
 
 A
 sin(1 ) 
Example: A 3 DOF RRR Robot
We now have
B cos( 2 )  C cos( 2   3 )  
B 2 cos 2 ( 2 )  C 2 cos 2 ( 2   3 )  2 BC cos( 2 ) cos( 2   3 )   2
From the comparison of the 3rd row elements:
B sin( 2 )  C sin( 2   3 )  p z
B 2 sin 2 ( 2 )  C 2 sin 2 ( 2   3 )  2 BC sin( 2 ) sin( 2   3 )  pz2
Combining these equations, we get
B 2  C 2  2 BC cos( 3 )   2  p z2
cos( 3 ) 
 2  p z2  B 2  C 2
2 BC
sin( 3 )   1  cos 2 ( 3 )
 sin( 3 ) 

 3  tan 
 cos( 3 ) 
1
Example: A 3 DOF RRR Robot
Using
sin(1   2 )  sin(1 ) cos( 2 )  cos(1 ) sin( 2 )
cos(1   2 )  cos(1 ) cos( 2 )  sin(1 ) sin( 2 )
B cos( 2 )  C cos( 2   3 )  
B cos( 2 )  C[cos( 2 ) cos( 3 )  sin( 2 ) sin( 3 )]  
[ B  C cos( 3 )] cos( 2 )  [C sin( 3 )] sin( 2 )  
B sin( 2 )  C sin( 2   3 )  p z
B sin( 2 )  C[sin( 2 ) cos( 3 )  cos( 2 ) sin( 3 )]  p z
[ B  C cos( 3 )] sin( 2 )  [C sin( 3 )] cos( 2 )  p z
Let
a  [ B  C cos( 3 )],
b  [C sin( 3 )]
a cos( 2 )  b sin( 2 )  
a sin( 2 )  b cos( 2 )  p z
Example: A 3 DOF RRR Robot
a cos( 2 )  b sin( 2 )  
a sin( 2 )  b cos( 2 )  p z
We can now solve the above equations to get
apz  b
sin( 2 )  2
a  b2
If a0, then
If b0, then
cos( 2 ) 
  b sin( 2 )
a
p z  a sin( 2 )
cos( 2 ) 
b
 sin( 2 ) 
 2  tan 

 cos( 2 ) 
1
Example: A 3 DOF RRR Robot
A=3
B=2
Z0, Z1
Y2
C=1
Y3
Y0, Y 1
X0, X1
X2
Z2
X3
P
Z3
5
0 
 p  0 
Now find 1, 2, and 3 to move point “P” to     
 1   1
1
 
Example: A 3 DOF RRR Robot
p y  0
1  p y 
1  tan    0
px  5
 px 
 px 
Now cos(1)0, let   
 A 2
 cos(1 ) 
cos( 3 ) 
 2  p z2  B 2  C 2
2 BC
0
sin( 3 )   1  cos 2 ( 3 )  1
 sin( 3 ) 
  90
 3  tan 
 cos( 3 ) 
1
I.e. Assume elbow down
Example: A 3 DOF RRR Robot
a  [ B  C cos( 3 )]  2
b  [C sin( 3 )]  1
sin( 2 ) 
apz  b  2  2

0
2
2
a b
5
Now a0, then cos( 2 ) 
  b sin( 2 )
a
1
 sin( 2 ) 
 2  tan 
0
 cos( 2 ) 
1
Compare this with the results form the previous lecture!
The difference is that now we are not concerned with the
orientation of point “P”.
Example: A 3 DOF RPR Robot
Link and Joint Assignment
Link (1)
Prismatic joint <2>
Link (2)
Link (3)
Revolute joint <1>
Link (0)
Revolute joint <3>
Example: A 3 DOF RPR Robot
Frame Assignment
Z1
X1
Y1
X1
Z1
Example: A 3 DOF RPR Robot
Frame Assignment
Z0, Z1
Y2
X2
Z2
Y0, Y1
Z2
X0, X1
Y2
Example: A 3 DOF RPR Robot
Frame Assignment
Z0, Z1
Y2
Y3
X2
Y0, Y1
Z2
X3
Z3
X0, X1
Y3
Example: A 3 DOF RPR Robot
Frame Assignment
1
Z0, Z1
Y2
Y3
d2
X3 
3
X2
Y0, Y1
X0, X1
Z2
Z3
Example: A 3 DOF RPR Robot
Tabulation of D-H parameters
Y2
Z0, Z1
Y3
X2
Y0, Y1
Z2
X3
Z3
X0, X1
0 = (angle from Z0 to Z1 measured along X0) = 0°
a0 = (distance from Z0 to Z1 measured along X0) = 0
d1 = (distance from X0 to X1 measured along Z1)= 0
1 = variable (angle from X0 to X1 measured along Z1)
1 = 0° (at home position) but 1 can change as the arm moves
Example: A 3 DOF RPR Robot
Tabulation of D-H parameters
Y2
Z0, Z1
Y3
X2
Y0, Y1
Z2
X3
Z3
X0, X1
1 = (angle from Z1 to Z2 measured along X1) = -90°
a1 = (distance from Z1 to Z2 measured along X1) = 0
d2 = variable (distance from X1 to X2 measured along Z2)
2 = variable (angle from X1 to X2 measured along Z2) = 180°
Example: A 3 DOF RPR Robot
Tabulation of D-H parameters
Y2
Z0, Z1
A
Y3
X2
Y0, Y1
Z2
X3
Z3
X0, X1
2 = (angle from Z2 to Z3 measured along X2) = 0°
a2 = (distance from Z2 to Z3measured along X2) = 0
d3 = (distance from X2 to X3 measured along Z3) = A
3 = variable (angle from X2 to X3 measured along Z3)
3= 0° (at home position) but 3 can change as the arm moves
Summary of D-H parameters
Link i
Twist i
Link
length ai
Link offset
di
Joint angle i
i=0
0
0
…
…
i=1
-90°
0
0
1
(1=0° at home
position)
i=2
0
0
d2
2=180°
i=3
…
…
A
3
(3=-0° at home
position)
Example: A 3 DOF RPR Robot
Tabulation of Transformation Matrices from the D-H table
cos( i )
 sin( i )
0
ai1


cos( ) sin( ) cos( ) cos( )  sin( )  d sin( )
i 1
i
i 1
i
i 1
i
i 1
i 1


T

i
 sin( i1 ) sin( i ) sin( i1 ) cos( i ) cos( i1 ) d i cos( i1 ) 


0
0
0
1


 0  0,
a0  0,
cos(1 )  sin(1 )
 sin( ) cos( )
1
1
0

T

1
0
 0
 0
0

d1  0
0 0
0 0

1 0
0 1
Example: A 3 DOF RPR Robot
Tabulation of Transformation Matrices from the D-H table
1  90 ,
 1
0
1

2T 
0
0

 2  0,
 2  180
a1  0,
0
0 1 d2 

1 0 0
0 0 1 
0 0
a2  0,
cos( 3 )  sin( 3 )
 sin( ) cos( )
3
3
2

T

3
0
 0
 0
0

d3  A
0
0
1
0
0
0

A
1 
Example: A 3 DOF RPR Robot
Once all the transformation matrices are obtained, you can then
proceed to get the overall transformation matrix for the forward
kinematics.
After that, given the position and orientation of the point “P” on
the gripper, you can proceed to compare the terms of the
matrices to get the inverse kinematics. For the inverse
kinematics, you will be solving for 1, d2, and 3
Try it out as Homework.
Summary
This lecture continues the discussion on the analysis of the
forward and inverse kinematics of robots.
The following were covered:
•Problems of robot kinematics analysis using transformation
matrices
Download