Position of the gripper wrt frame {0}

advertisement
ENG4406 ROBOTICS AND MACHINE VISION
KINEMATICS
ANALYSIS
OF
ROBOTS
(Part 1)
PART 2 LECTURE 8
Kinematics Analysis of Robots I
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:
•Put into practice the concept of forward kinematics analysis of
robots
•Derive transformation matrix between coupled links
•Formulate the kinematics of articulated robots in terms of the link
transformation matrices
•Solve problems of robot kinematics analysis using transformation
matrices
Position of the gripper w.r.t. frame {3}
Y3
X3
Y0
X0
The position of gripper can be viewed as the origin of frame {3},
i.e. the distances along X3,Y3 and Z3 are 0,
i.e. 3 p  0 Xˆ  0Yˆ  0Zˆ
3
3
3
T
3
p  0 0 0
Position of the gripper w.r.t. frame {0}
The same home position for the robot can be described w.r.t.
frame {0}
A1
Y0
A2
X0
Obviously, the position of gripper w.r.t. frame {0} at the home
position is at a distance of A2 in the X0 direction, a distance of A1
in the Y0 direction, and 0 distance in the Z0 direction,
i.e.
T
0 
p   A2 A1 0
Positioning of the gripper
Notice that the robot arm will move as the joints rotate. The

T
gripper position w.r.t. frame {3} is always fixed at 3 p  0 0 0
no matter where the arm had moved. However, the gripper
position w.r.t. frame {0} may be different! For example, let
2 rotates 90° from the home position: Y3
X3
2=90°
Y3
X3
Home position
3

T
p  0 0 0 remains constant
Positioning of the gripper
After 2 has rotated 90° from the home position, the gripper
position w.r.t. frame {0} has changed although its position w.r.t.
frame {3} is fixed. The gripper position w.r.t. frame {0} is
T
0 
p  0 A1  A2 0
2=90°
A1+ A2
Y0
Y0
X0
X0
The description of the gripper w.r.t. frame {0} as 1, 2 & 3
change is called the forward kinematics problem.
Forward Kinematics and Transformation Matrices
Y3
2 rotates 90°
Y2
X2
Y2
X3
X2
Y3
X3
Y0
Y0
X0
The position and orientation of frame {3} w.r.t. {2} before and after
2
2 has rotated 90° are different. The matrix 3T relates this changes
of frame {3} w.r.t. frame {2} as 2 changes. In general, the
transformation matrix between frame {i} w.r.t. {i-1} is represented
i 1
by iT. The transformation matrices can be used to solve the forward
kinematics problem.
Transformation Matrix
The transformation matrix
parameters as follow:
i 1
i
T between 2 Coupled links
i 1
i
T can be obtained using the D-H
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


Use the summary of D-H parameters to derive the 3
transformation matrices for the planar robot, i.e. 01T ,
1
2
T,
2
3
T
Summary of D-H parameters
Link i
Twist i
Link
length ai
Link offset
di
Joint angle i
i=0
0
0
…
…
i=1
0
A1
0
1
(1=90° at home
position)
i=2
0
A2
0
2
(2=-90° at home
position)
i=3
…
…
0
3
(3=-90° at home
position)
Transformation Matrix for 01T
The 01T transformation matrix can be obtained using the D-H
parameters as follow:
cos(1 )  sin(1 )
 sin( ) cos( )
1
1
0

T

1
0
 0
 0
0

0
0
1
0
0
0

0
1
You leave 1 as it is because the angle can change when the robot
arm moves, i.e. joint <1> is a revolute joint
Transformation Matrix for 21T
The 21T transformation matrix can be obtained using the D-H
parameters as follow:
cos( 2 )  sin( 2 )
 sin( ) cos( )
2
2
1

T

2
0
 0
 0
0

0
0
1
0
A1 
0

0
1 
You leave 2 as it is because the angle can change when the robot
arm moves, i.e. joint <2> is a revolute joint
Transformation Matrix for 23T
2
The 3T transformation matrix can be obtained using the D-H
parameters as follow:
cos( 3 )  sin( 3 )
 sin( ) cos( )
3
3
2

T

3
0
 0
 0
0

0
0
1
0
A2 
0

0
1 
You leave 3 as it is because the angle can change when the robot
arm moves, i.e. joint <3> is a revolute joint
Transformation Matrix for 02T
The transformation matrix for 02T is 02T   01T  21T 
cos(1 ) cos( 2 )  sin(1 ) sin( 2 )  cos(1 ) sin( 2 )  sin(1 ) cos( 2 )
sin( ) cos( )  cos( ) sin( )  sin( ) sin( )  cos( ) cos( )
1
2
1
2
1
2
1
2
0 1

1T 2T 
0
0


0
0

cos(1   2 )  sin(1   2 )
 sin(   ) cos(   )
1
2
1
2
0
0
1




T

T
T

2
1
2
0
0


0
0

0
0
1
0
0
0
1
0
A1 cos(1 )
A1 sin(1 ) 

0


1

A1 cos(1 )
A1 sin(1 ) 

0


1

You should revise the trigonometric relations if you
are having problems with the above
Transformation Matrix for 03T
T   01T  21T  23T 
0
3
T  01T  21T  23T  02T 23T
0
3
cos(1   2   3 )  sin(1   2   3 )
 sin(     ) cos(     )
1
2
3
1
2
3
0

3T 
0
0


0
0

0
0
1
0
A1 cos(1 )  A2 cos(1   2 )
A1 sin(1 )  A2 sin(1   2 ) 

0


1

Did you get the above overall transformation matrix?
Transformation matrices and Forward Kinematics
i
Remember, matrix jT relates the transformation between frame
0
{j} w.r.t. {i}. For example, 3T relates the transformation of frame
{3} w.r.t. frame {0} as 1, 2 & 3 changes. If the changes in 1, 2
& 3 are known, then the gripper position w.r.t frame {0} can be
found using


 0 p 0  3 p
   3T  
1
1
T
3


p

0
0
0
Where
. The gripper location is assumed
to be fixed at the origin of frame {3}. Hence
0 

 3 p  0 
   0 
1  
1
 
Finding the gripper home position using Transformation Matrix
Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90°
cos(1   2  3 )  sin(1   2  3 )
 sin(     ) cos(     )
3
1
2
3
1
2
3
0  p

T

3 

0
0
1 

0
0

A1 cos(1 )  A2 cos(1   2 ) 0
A1 sin(1 )  A2 sin(1   2 )  0
 
0
 0 
 
1
 1
0
0
1
0
 A1 cos(1 )  A2 cos(1   2 )


3

p   A1 sin(1 )  A2 sin(1   2 ) 
0
3T 

0

1 


1


 A2 


 0 p  0  3 p   A1 
   3T     
1
1 0
 
1
Or
0

p   A2
A1 0
T
Visualization of the gripper home position
The home position for the robot is shown below:
A1
Y0
A2
X0
The position of gripper w.r.t. frame {0} is obvious given by
T
0 
 A2 
p   A2 A1 0
which is the same as that obtained from


 0 p  0  3 p   A1 
   3T     
1
1 0
 
1
Finding new gripper position using Transformation Matrix
Use the overall transformation matrix to find the gripper position
w.r.t. frame {0} if the arm rotates (from the home position) another
1 = 0°, 2 = 90°, and 3 = 90°.
This means that
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
•the total rotation of 3 about Z3 axis is 0°
 A1 cos(1 )  A2 cos(1   2 )  0 

 

3

p   A1 sin(1 )  A2 sin(1   2 )   A1  A2 
0

3T 

0


 0 
1

 

1

  1 

3
 p 0  p
   3T  
1
1
0
Or
0

p  0
 A1  A2  0T
Visualizing the new gripper position
After the arm rotates (from the home position) another 1 = 0°,
2 = 90°, and 3 = 90°.
This means that
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
•the total rotation of 3 about Z3 axis is 0°
Y2
The arm should looks like this after
X2
rotating 1 = 0° from the home
position
X1
Y1
Visualizing the new gripper position
After the arm rotates (from the home position) another 1 = 0°,
2 = 90°, and 3 = 90°.
This means that
Y3
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
X3
•the total rotation of 3 about Z3 axis is 0°
The arm should looks like this after
rotating 1 = 0° and 2 = 90°
from the home position
X2
Y2
X1
Y1
Visualizing the new gripper position
After the arm rotates (from the home position) another 1 = 0°,
2 = 90°, and 3 = 90°.
This means that
X3
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
Y3
•the total rotation of 3 about Z3 axis is 0°
X2
The arm should looks like this after
rotating 1 = 0° and 2 = 90° and
3 = 90° from the home position
Y2
Visualizing the new gripper position
After the arm rotates (from the home position) another 1 = 0°,
2 = 90°, and 3 = 90°.
This means that
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
•the total rotation of 3 about Z3 axis is 0°
The arm should looks like this after
rotating 1 = 0° and 2 = 90° and
3 = 90° from the home position.
The gripper position w.r.t. frame {0}
is similar to that obtained from the
overall transformation matrix:
T
0 
p  0  A1  A2  0
A2
A1
Y0
X0
Frame of reference for gripper
Notice that frame {3} have been used as a frame of reference for the
gripper. This means that the orientation of the gripper can also be
described based on frame {3} w.r.t. frame {0}. To understand this,
we will next re-examine the overall transformation matrix.
Y2
X2
Y3
X3
X1, Y0
Y1
X0
Transformation Matrix for
0
3
T
T  01T 21T 32T 
0
3
cos(1   2  3 )  sin(1   2  3 )
 sin(     ) cos(     )
1
2
3
1
2
3
0

3T 
0
0


0
0

0
0
1
0
A1 cos(1 )  A2 cos(1   2 )
A1 sin(1 )  A2 sin(1   2 ) 

0


1

This transformation of gripper w.r.t. base frame {0} has the form
 nx
n
0
 y
3T 
 nz

0
ox
oy
oz
0
ax
ay
az
0
px 
py 

pz 

1
where

T
n  nx n y nz 

T
o  ox o y oz 

T
a  ax a y az 

T
p   px p y pz 
Specify the orientation
of the gripper w.r.t.
frame {0}
Specify the position
of the gripper w.r.t.
frame {0}
Example for orientation & position of gripper
Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90°
cos(1   2  3 )  sin(1   2  3 )
 sin(     ) cos(     )
1
2
3
1
2
3
0

3T 
0
0


0
0

0
 1
0

3T 
0

0

T
n  0  1 0

T
o  1 0 0

T
a  0 0 1

T
p   A2 A1 0
1
0
0
0
0
0
1
0
0
0
1
0
A1 cos(1 )  A2 cos(1   2 )
A1 sin(1 )  A2 sin(1   2 ) 

0


1

A2 
A1 

0

1
Gives the orientation of X3 w.r.t. frame {0}
Gives the orientation of Y3 w.r.t. frame {0}
Gives the orientation of Z3 w.r.t. frame {0}
Gives the position of gripper w.r.t. frame {0}
Visualization of previous Example
Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90°

p   A2
Y3
X3
Y0
A2
A1
A1
0
T
Gives the position of the
gripper w.r.t. frame {0}
X0

T
n  0  1 0

T
o  1 0 0

T
a  0 0 1
Gives the direction of X3 w.r.t. frame {0}.
X3 is in the negative Y0 direction
Gives the direction of Y3 w.r.t. frame {0}.
Y3 is in the positive X0 direction
Gives the direction of Z3 w.r.t. frame {0}.
Z3 is in the positive Z0 direction
Another Example
Find the gripper orientation & position w.r.t. frame {0} if the arm
rotates (from the home position) another 1 = 0°, 2 = 90°, and
3 = 90°.
This means that
•the total rotation of 1 about Z1 axis is 90°
•the total rotation of 2 about Z2 axis is 0°
•the total rotation of 3 about Z3 axis is 0°
cos(1   2  3 )  sin(1   2   3 ) 0 A1 cos(1 )  A2 cos(1   2 )
 sin(     ) cos(     ) 0 A sin( )  A sin(   ) 
1
2
3
1
2
3
1
1
2
1
2 
0

3T 
0
0
1
0




0
0
0
1



T
0 
0  1 0
n  0 1 0

1 0 0 A  A 
T


o


1
0
0
1
2
0


3T 

T
0 
0 0 1
a  0 0 1



T
0
0
0
1
p
 0 A1  A2 0


Visualizing the new gripper position & orientation
The arm should look like this after rotating (from the home position)
• another 1 = 0°, 2 = 90°, and 3 = 90°.

T
n  0 1 0

T
o   1 0 0

T
a  0 0 1

p  0
X3 is in the positive
Y0 direction
Y3 is in the negative
X0 direction
X3
Y3
Z3 is in the positive
Z0 direction
A1  A2
0
T
Gives the position of the
gripper w.r.t. frame {0}
Y0
X0
Forward Kinematics - Summary
•
•
•
•
1.
2.
3.
4.
Robot forward kinematics involve finding the robot
arm global position and orientation given the angles of
rotation of the linkages
This problem can be solved using the overall
transformation matrix
Although we have use a planar robot to illustrate the
concept, the approach can be applied to any robot
moving in 3-D space.
The approach involves the following:
Frame assignment
Tabulation of the D-H parameters
Formulation of the individual transformation matrices
Derivation of the overall transformation matrix
Summary
This lecture continues the discussion on the analysis of the
forward and inverse kinematics of robots.
The following were covered:
•The concept of forward kinematics analysis of robots
•Transformation matrix between coupled links
•Kinematics of articulated robots in terms of the link
transformation matrices
•Robot kinematics analysis using transformation matrices
Download