Beruflich Dokumente
Kultur Dokumente
\
|
+
=
+
=
=
+ = +
+ =
2 1
2
2
2
1
2 2
2 1
2
2
2
1
2 2
2 1
2
2
2
1
2 2
2 2 2
2
arccos
2
) cos(
) cos( ) 180 cos(
) 180 cos( 2 ) (
cos 2
l l
l l y x
l l
l l y x
l l l l y x
C ab b a c
2
2
2 2
2
Using the Law of sines:
|
.
|
\
|
=
+ =
+
=
+
=
=
x
y
2 arctan
y x
) sin(
y x
) sin(180 sin
sin sin
1 1
2 2
2
2 2
2
2
1
l
c
C
b
B
|
.
|
\
|
+
|
|
.
|
\
|
+
=
x
y
2 arctan
y x
) sin(
arcsin
2 2
2 2
1
l
Redundancy caused since u
2
has two
possible values
56
( ) ( )
( )
|
|
.
|
\
|
+
=
+ + =
+ + + =
+ + + + + =
= + = +
+ +
+ + + +
2 1
2
2
2
1
2 2
2
2 2 1
2
2
2
1
2 1 1 2 1 1 2 1
2
2
2
1
2 1 1 2 1
2
2 1
2
2
2
1
2
1 2 1 1 2 1
2
2 1
2
2
2
1
2
1
2 2 2 2
2
y x
arccos
c 2
) (sin s ) (c c 2
) (sin s 2 ) (sin s ) (c c 2 ) (c c
y x ) 2 ( (1)
l l
l l
l l l l
l l l l
l l l l l l l l
The Algebraic Solution for IK
l
1
l
2
Y
2
Y
1
Y
(x , y)
) ( cos c
cos c
(3)
(2) sin s y
(1) c c x
1 2 2 1
1 1
2 1
2 1 2 1 1
2 1 2 1 1
+ =
=
+ =
+ =
+ =
+
+
+
l l
l l
Only
Unknown
) )(sin (cos ) )(sin (cos ) sin(
) )(sin (sin ) )(cos (cos ) cos(
:
a b b a b a
b a b a b a
Note
+
+
+
=
=
57
58
Preliminary
Robot Reference Frames
World frame
Joint frame
Tool frame
x
y
z
x
z
y
W
R
P
T
59
60
Preliminary
Mutually perpendicular
Unit vectors
Properties of orthonormal coordinate frame
0
0
0
=
=
=
j k
k i
j i
1 | |
1 | |
1 | |
=
=
=
k
j
i
z y x
k j i
z y x xyz
p p p P + + =
x
y
z
P
u
v
w
O, O
z w y v x u
p p p p p p = = =
T
z y x xyz
p p p P ] , , [ =
Two frames coincide ==>
62
Coordinate Transformation
Rotation only
w v u
k j i
w v u uvw
p p p P + + =
z y x
k j i
z y x xyz
p p p P + + =
uvw xyz
RP P =
How to relate the coordinate in these two frames?
w
x
y
z
P
u
v
Coordinate Transformation
63
Basic Rotation
,, and represent the projections of onto OX,
OY, OZ axes, respectively
Since
x
p
P
y
p
z
p
w v u x
p p p P p
w x v x u x x
k i j i i i i + + = =
w v u y
p p p P p
w y v y u y y
k j j j i j j + + = =
w v u z
p p p P p
w z v z u z z
k k j k i k k + + = =
w v u
k j i
w v u
p p p P + + =
Coordinate Transformation
64
Basic Rotation Matrix
Rotation about x-axis with
(
(
(
(
(
(
=
(
(
(
w
v
u
z
y
x
p
p
p
p
p
p
w z v z u z
w y v y u y
w x v x u x
k k j k i k
k j j j i j
k i j i i i
x
z
y
v
w
P
u
u
(
(
(
=
u u
u u u
C S
S C x Rot
0
0
0 0 1
) , (
u
65
Rotation about axis
Rotation about x axis with
u u
u u
u u
u u
cos sin
sin cos
cos sin 0
sin cos 0
0 0 1
w v z
w v y
u x
w
v
u
z
y
x
p p p
p p p
p p
p
p
p
p
p
p
+ =
=
=
(
(
(
(
(
(
=
(
(
(
x
z
y
v
w
P
u
u
u
66
Basic Rotation Matrices
Rotation about x-axis with
Rotation about y-axis with
Rotation about z-axis with
uvw xyz
RP P =
(
(
(
=
u u
u u u
C S
S C x Rot
0
0
0 0 1
) , (
0
0 1 0
0
) , (
(
(
(
=
u u
u u
u
C S
S C
y Rot
(
(
(
=
1 0 0
0
0
) , ( u u
u u
u C S
S C
z Rot
u
u
u
67
Preliminary
Basic Rotation Matrix
Obtain the coordinate of from the coordinate of
uvw xyz
RP P =
(
(
(
=
w z v z u z
w y v y u y
w x v x u x
k k j k i k
k j j j i j
k i j i i i
R
xyz uvw
QP P =
T
R R Q = =
1
3
1
I R R R R QR
T
= = =
uvw
P
xyz
P
<== 3X3 identity matrix
(
(
(
(
(
(
=
(
(
(
z
y
x
w
v
u
p
p
p
p
p
p
z w y w x w
z v y v x v
z u y u x u
k k j k i k
k j j j i j
k i j i i i
68
Composite Rotation Matrix
A sequence of finite rotations
matrix multiplications do not commute
rules:
if rotating coordinate O-U-V-W is rotating about principal
axis of OXYZ frame, then Pre-multiply the previous
(resultant) rotation matrix with an appropriate basic
rotation matrix
if rotating coordinate OUVW is rotating about its own
principal axes, then post-multiply the previous (resultant)
rotation matrix with an appropriate basic rotation matrix
69
Coordinate Transformations
position vector of P
in {B} is transformed
to position vector of P
in {A}
description of {B} as
seen from an observer
in {A}
Rotation of {B} with respect to {A}
Translation of the origin of {B} with respect to origin of {A}
70
Coordinate Transformations
Two Special Cases
1. Translation only
Axes of {B} and {A} are
parallel
2. Rotation only
Origins of {B} and {A} are
coincident
1 =
B
A
R
' o A P B
B
A P A
r r R r + =
0
'
=
o A
r
71
Homogeneous Representation
Coordinate transformation from {B} to {A}
Homogeneous transformation matrix
' o A P B
B
A P A
r r R r + =
(
=
(
1 1 0 1
3 1
' P B o A
B
A P A
r r R r
(
=
(
1 0
1 0
1 3 3 3
3 1
'
P R
r R
T
o A
B
A
B
A
Position
vector
Rotation
matrix
Scaling
72
Homogeneous Transformation
Special cases
1. Translation
2. Rotation
(
1 0
0
3 1
1 3 B
A
B
A
R
T
(
1 0
3 1
'
3 3
o A
B
A
r I
T
73
Homogeneous Transformation
Composite Homogeneous Transformation Matrix
Rules:
Transformation (rotation/translation) w.r.t (X,Y,Z) (OLD
FRAME), using pre-multiplication
Transformation (rotation/translation) w.r.t (U,V,W)
(NEW FRAME), using post-multiplication
74
Homogeneous Representation
A frame in space (Geometric
Interpretation)
x
y
z
) , , (
z y x
p p p P
(
(
(
(
=
1 0 0 0
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
F
n
o
a
(
=
1 0
1 3 3 3
P R
F
Principal axis n w.r.t. the reference coordinate system
(X)
(y)
(z)
75
Homogeneous Transformation
Translation
y
z
n
o
a
n
o
a
(
(
(
(
+
+
+
=
(
(
(
(
(
(
(
(
=
1 0 0 0
1 0 0 0 1 0 0 0
1 0 0
0 1 0
0 0 1
z z z z z
y y y y y
x x x x x
z z z z
y y y y
x x x x
z
y
x
new
d p a o n
d p a o n
d p a o n
p a o n
p a o n
p a o n
d
d
d
F
old z y x new
F d d d Trans F = ) , , (
76
Homogeneous Transformation
2
1
1
0
2
0
A A A =
Composite Homogeneous Transformation Matrix
0
x
0
z
0
y
1
0
A
2
1
A
1
x
1
z
1
y
2
x
2
z
2
y
?
i
i
A
1
Transformation matrix for
adjacent coordinate frames
Chain product of successive
coordinate transformation matrices
77
Orientation Representation
Rotation matrix representation needs 9 elements
to completely describe the orientation of a
rotating rigid body.
(
=
1 0
1 3 3 3
P R
F
78
Orientation Representation
Euler Angles Representation ( , , )
Many different types
Description of Euler angle representations
|
u
Euler Angle I Euler Angle II Roll-Pitch-Yaw
Sequence about OZ axis about OZ axis about OX axis
of about OU axis about OV axis about OY axis
Rotations about OW axis about OW axis about OZ axis
| |
|
u u u
79
x
y
z
u'
v'
|
u
v "
w"
w'=
=u"
v'"
u'"
w'"=
Euler Angle I, Animated
80
Orientation Representation
Euler Angle I
|
|
|
.
|
\
|
=
|
|
|
.
|
\
|
=
|
|
|
.
|
\
|
=
1 0 0
0 cos sin
0 sin cos
,
cos sin 0
sin cos 0
0 0 1
,
1 0 0
0 cos sin
0 sin cos
' '
'
u u
u u | |
| |
u |
w
u z
R
R R
81
Euler Angle I
|
|
|
|
|
|
|
|
|
.
|
\
|
=
u u u
u |
u |
|
u |
|
u
u |
|
u |
|
u |
cos sin cos sin sin
sin cos
cos cos cos
sin sin
cos sin cos
cos sin
sin sin
cos cos sin
sin cos
cos sin sin
cos cos
' ' ' w u z
R R R R
Resultant Eulerian rotation matrix:
82
Euler Angle II, Animated
x
y
z
u'
v'
|
u
=v"
w"
w'=
u"
v"'
u"'
w"'=
Note the opposite
(clockwise) sense of the
third rotation, |.
83
Orientation Representation
Matrix with Euler Angle II
|
|
|
|
|
|
|
|
|
.
|
\
|
u
u u
u
u |
|
u |
|
u |
u |
|
u |
|
cos
sin sin sin cos
sin sin
cos cos sin
cos cos
cos cos sin
sin cos
sin cos
cos cos sin
cos sin
cos cos cos
sin sin
84
Orientation Representation
Description of Roll Pitch Yaw
X
Y
Z
u
|
Inverting a Homogeneous Transform
85
1
D
2
2
D
1
X
Y
Z
O
1
1
O
2
U
V
W
2
1
P =
1
D
2
+
1
R
2
2
P
2
R
1
1
P =
2
R
1
1
D
2
+
2
R
1
1
R
2
2
P
2
R
1
1
P =
2
R
1
1
D
2
+
2
P
2
P =
2
R
1
1
P +
2
D
1
2
D
1
= -
2
R
1
1
D
2
2
D
1
= -
1
R
2
T
1
D
2
1
T
2
=
1
R
2
1
D
2
0 0 0 1
2
T
1
=
2
R
1
2
D
1
0 0 0 1
2
T
1
=
1
R
2
-
1
R
2
T1
D
2
0 0 0 1
2
T
1
=
1
T
2
-1
86
Example 2
A point is attached to a rotating frame, the
frame rotates 60 degree about the OZ axis of the
reference frame. Find the coordinates of the point
relative to the reference frame after the rotation.
) 2 , 3 , 4 ( =
uvw
a
(
(
(
=
(
(
(
(
(
(
=
=
2
964 . 4
598 . 0
2
3
4
1 0 0
0 5 . 0 866 . 0
0 866 . 0 5 . 0
) 60 , (
uvw xyz
a z Rot a
87
Example 3
A point is the coordinate w.r.t. the
reference coordinate system, find the
corresponding point w.r.t. the rotated OU-
V-W coordinate system if it has been rotated 60
degree about OZ axis.
) 2 , 3 , 4 ( =
xyz
a
uvw
a
(
(
(
=
(
(
(
(
(
(
=
=
2
964 . 1
598 . 4
2
3
4
1 0 0
0 5 . 0 866 . 0
0 866 . 0 5 . 0
) 60 , (
xyz
T
uvw
a z Rot a
88
Example 4
Find the rotation matrix for the following operations:
Post-multiply if rotate about the OUVW axes
Pre-multiply if rotate about the OXYZ axes
...
axis OU about Rotation
axis OW about Rotation
axis OY about Rotation
Answer
o
u
|
(
(
(
+
+
=
(
(
(
(
(
(
(
(
(
=
=
o u | o | o | o u | u |
o u o u u
o | o u | o u | o | u |
o o
o o u u
u u
| |
| |
o u |
S S S C C S C C S S C S
S C C C S
C S S S C C S C S S C C
C S
S C C S
S C
u Rot w Rot I y Rot R
0
0
0 0 1
1 0 0
0
0
C 0 S -
0 1 0
S 0 C
) , ( ) , ( ) , (
3
89
Example 5
Translation along Z-axis with h:
(
(
(
(
=
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
) , (
h
h z Trans
(
(
(
(
+
=
(
(
(
(
(
(
(
(
=
(
(
(
(
1 1 1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1
h p
p
p
p
p
p
h z
y
x
w
v
u
w
v
u
x
y
z
P
u
v
w
O, O
h
x
y
z
P
u
v
w
O, O
90
Example 6
Rotation about the X-axis by
(
(
(
(
=
1 0 0 0
0 0
0 0
0 0 0 1
) , (
u u
u u
u
C S
S C
x Rot
x
z
y
v
w
P
u
(
(
(
(
(
(
(
(
=
(
(
(
(
1 1 0 0 0
0 0
0 0
0 0 0 1
1
w
v
u
p
p
p
C S
S C
z
y
x
u u
u u
91
Example 7
Find the homogeneous transformation matrix
(T) for the following operations:
:
axis OZ about of Rotation
axis OZ along d of n Translatio
axis OX along a of n Translatio
axis OX about Rotation
Answer
u
o
o u , , 4 4 , , x a x d z z
T T I T T T
=
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
=
1 0 0 0
0 0
0 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0
0 0
o o
o o u u
u u
C S
S C
a
d
C S
S C
92
Example 8
For the figure shown below, find the 4x4 homogeneous transformation
matrices and for i=1, 2, 3, 4, 5
(
(
(
(
=
1 0 0 0
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
F
i
i
A
1
i
A
0
0
x
0
y
0
z
a
b
c
d
e
1
x
1
y
1
z
2
z
2
x
2
y
3
y
3
x
3
z
4
z
4
y
4
x
5
x
5
y
5
z
(
(
(
(
=
1 0 0 0
0 1 0
1 0 0
0 0 0 1
1
0
d a
c e
A
(
(
(
(
+
=
1 0 0 0
0 1 0 0
0 0 1
0 1 0
2
0
c e
b
A
(
(
(
(
=
1 0 0 0
0 0 0 1
1 0 0
0 1 0
2
1
d a
b
A
Can you find the answer by observation
based on the geometric interpretation of
homogeneous transformation matrix?
93
Denavit-Hartenberg Notation
Z
(i - 1)
X
(i -1)
Y
(i -1)
o
( i - 1)
a
(i - 1 )
Z
i
Y
i
X
i
a
i
d
i
Y
i
IDEA: Each joint is assigned a coordinate frame. Using the
Denavit-Hartenberg notation, you need 4 parameters to describe
how a frame (i) relates to a previous frame ( i -1 ).
THE PARAMETERS/VARIABLES: o, a , d, Y
94
The Parameters
Z
(i - 1)
X
(i -1)
Y
(i -1)
o
( i - 1)
a
(i - 1 )
Z
i
Y
i
X
i
a
i
d
i
Y
i
You can
align the
two axis
just using
the 4
parameter
s
1) a
(i-1)
Technical Definition: a
(i-1)
is the length of the perpendicular between the
joint axes. The joint axes is the axes around which revolution takes place
which are the Z
(i-1)
and
Z
(i)
axes. These two axes can be viewed as lines
in space. The common perpendicular is the shortest line between the two
axis-lines and is perpendicular to both axis-lines.
95
a
(i-1) cont...
Visual Approach - A way to visualize the link parameter a
(i-1)
is to imagine
an expanding cylinder whose axis is the Z
(i-1)
axis - when the cylinder just
touches the joint axis i the radius of the cylinder is equal to a
(i-1).
(Manipulator
Kinematics)
Its Usually on the Diagram Approach - If the diagram already specifies
the various coordinate frames, then the common perpendicular is usually
the X
(i-1)
axis. So a
(i-1)
is just the displacement along the X
(i-1)
to move from
the (i-1) frame to the i frame.
If the link is prismatic, then a
(i-1)
is a variable, not a parameter.
Z
(i - 1)
X
(i -1)
Y
(i -1)
o
( i - 1)
a
(i - 1 )
Z
i
Y
i
X
i
a
i
d
i
Y
i
96
2) o
(i-1)
Technical Definition: Amount of rotation around the common perpendicular
so that the joint axes are parallel.
i.e. How much you have to rotate around the X
(i-1)
axis so that the Z
(i-1)
is
pointing in the same direction as the Z
i
axis. Positive rotation follows the
right hand rule.
3) d
(i-1)
Technical Definition: The displacement
along the Z
i
axis needed to align the a
(i-1)
common perpendicular to the a
i
common
perpendicular.
In other words, displacement along the
Z
i
to align the X
(i-1)
and X
i
axes.
4) Y
i
Amount of rotation around the Z
i
axis needed to align the
X
(i-1)
axis with the
X
i
axis.
Z
(i - 1)
X
(i -1)
Y
(i -1)
o
( i -
1)
a
(i - 1 )
Z
i
Y
i
X
i
a
i
d
i
Y
i
97
The Denavit-Hartenberg Matrix
(
(
(
(
1 0 0 0
cos cos sin cos sin sin
sin sin cos cos cos sin
0 sin cos
i 1) (i 1) (i 1) (i i 1) (i i
i 1) (i 1) (i 1) (i i 1) (i i
1) (i i i
d
d
a
Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a
transformation matrix from one coordinate frame to the next. Using a
series of D-H Matrix multiplications and the D-H Parameter table, the
final result is a transformation matrix from some frame to your initial
frame.
Z
(i -
1)
X
(i -
1)
Y
(i -
1)
o
( i
- 1)
a
(i -
1 )
Z
i
Y
i
X
i
a
i
d
i
Y
i
Put the transformation here
98
99
Algorithm for Link Frame Assignment
Step 2: The Xi axis is fixed perpendicular to both Zi-1 and Zi
axes and points away from Zi-1. Three situations are
possible:
Step 0: Identify and number the links and joints, starting with
base and ending with end-effector.
Step 1: Align axis Zi with axis of joint (i+1) for i = 0, 1, , n-1.
ai-1
Zi-1
Xi-1
di
ai
Xi
Zi
Axis(i-1)
Axis(i)
Axis(i-2)
i
i
100
Case 2 If Z
i-1
and Z
i
axes are parallel or lie in parallel planes then
their common normal is not uniquely defined.
If Joint i is revolute then X
i
axis is chosen along that common
normal, which passes through origin of frame (i-1), making d
i
zero.
If joint i is prismatic, X
i
axis is arbitrarily chosen as any
convenient common normal, with the origin at the distal end of the link i.
Case 1 If Z
i-1
and Z
i
axes intersect, choose the origin at the point of
their intersection. The X
i
axis will be perpendicular to the plane
containing Z
i-1
and Z
i
axes, making ai zero.
Case 3 If Z
i-1
and Z
i
axes coincide, the origin lies on the common
axis. If joint i is revolute, origin is located to coincide with origin of
frame (i-1) and X
i
axis coincides with X
i-1
axis to cause d
i
to be zero. If
joint i is prismatic, X
i
axis is chosen parallel to X
i-1
axis to make a
i
to
be zero. The origin is located at distal end of link i.
Step 3: Yi axis is fixed to complete the right handed ortho-
normal coordinate frame (i).
101
Assigning frame to link 0, the immobile
base frame{0}
Step 4: The X
0
axis, perpendicular to Z
0
axis is chosen to be
parallel to X
1
axis in the home position to make i = 0. The
origin of frame {0} is located based on type of joint 1.
If joint 1 is revolute, the origin of frame {0} can be
chosen at a convenient reference so as to make d
1
zero.
If joint 1 is prismatic, parallel X
0
and X
1
axis will make
1
to be zero and origin of frame {0} is placed arbitrarily.
Z
0
= Z
1
X
0
X
1
Y
0
Y
1
Z
0
= Z
1
X
0
X
1
Y
0
Y
1
a = 0, = 0. d = 0,
= variable.
a = 0, = 0. = 0,
d = variable.
102
Link n, the end - effector, frame assignment
frame {n}
Step 6: The origin of frame {n} (tool frame) is chosen at the
tip of the manipulator, that is a convenient point , tool
point on the last link (end - effector).
Step 7: The Z
n
axis (approach axis) is fixed along the
direction of Z
n-1
axis and pointing away from the link n.
Step 8: For joint n to be prismatic, X
n
will be taken parallel
to X
n-1
axis. For joint n to be revolute, X
n
is perpendicular
to both Z
n-1
and Z
n
axis. X
n
axis is the normal direction.
Step 9: The Y
n
axis (orientation) is chosen to complete the
right handed ortho-normal frame {n}.
103
A 2 - DOF Planar Manipulator Arm
Obtain the position and orientation of the tool point P with
respect to the base for the 2 DOF RP planar Manipulator.
104
Joint Link Parameters for RP Manipulator Arm
Same Origin
a
i
d
i
0
T1 0 90 0 1
1
T2 0 0 d2 0
105
Forward Kinematic Model of a Cylindrical Arm
3 DOF cylindrical (RPP) manipulator arm
Frame assignment for the cylindrical manipulator arm
106
Joint Link Parameters for the RPP
Manipulator Arm
a
i
d
i
0
T1 0 0 0 1
1
T2 0 -90 d2 0
2
T
3
0 0 d3 0
0
T
3
=
0
T
1
1
T
2
2
T
3
=
C1 0 -S1 -d3S1
S1 0 C1 d3C1
0 -1 0 D2
0 0 0 1
C1 -S1 0 0
S1 C1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 0 1 0
0 -1 0 d2
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 d3
0 0 0 1
107
FK model of 3 DOF Articulated Arm
108
Z
0
X
0
-Y
0
Y
1
X
1
Z
1
Y
2
X
2
Z
2
Y
3
X
3
Z
3
Same origin
L
2
L
3
P
3
Frame assignment for articulated arm
a
i
d
i
0
T1 0 90 0 1
1
T2 L2 0 0 2
2
T
3
L3 0 0 3
Joint Link Parameters for Articulated arm
109
Joint Link Parameters for Articulated arm
a
i
d
i
0
T1 0 90 0 1
1
T2 L2 0 0 2
2
T
3
L3 0 0 3
110