Você está na página 1de 21

An Introduction to

Robot Kinematics

S Vetrivel
Other basic joints
Spherical Joint
3 DOF ( Variables - Y
1
, Y
2
, Y
3
)
Revolute Joint
1 DOF ( Variable - Y)
Prismatic Joint
1 DOF (linear) (Variables - d)
We are interested in two kinematics topics

Forward Kinematics (angles to position)
What you are given: The length of each link
The angle of each joint

What you can find: The position of any point
(i.e. its (x, y, z) coordinates

Inverse Kinematics (position to angles)
What you are given: The length of each link
The position of some point on the robot

What you can find: The angles of each joint needed to obtain
that position





Quick Math Review
Dot Product:
Geometric Representation:
A
B

cos B A B A = -
Unit Vector
Vector in the direction of a chosen vector but whose magnitude is 1.
B
B
u
B
=
(

y
x
a
a
(

y
x
b
b
Matrix Representation:
y y x x
y
x
y
x
b a b a
b
b
a
a
B A + =
(

-
(

= -
B
B
u
Quick Matrix Review

Matrix Multiplication:

An (m x n) matrix A and an (n x p) matrix B, can be multiplied since
the number of columns of A is equal to the number of rows of B.

Non-Commutative Multiplication
AB is NOT equal to BA
( ) ( )
( ) ( )
(

+ +
+ +
=
(

-
(

dh cf dg ce
bh af bg ae
h g
f e
d c
b a
Matrix Addition:
( ) ( )
( ) ( )
(

+ +
+ +
=
(

+
(

h d g c
f b e a
h g
f e
d c
b a
Basic Transformations
Moving Between Coordinate Frames

Translation Along the X-Axis
N
O
X
Y
P
x

V
N

V
O

P
x
= distance between the XY and NO coordinate planes
(

=
Y
X
XY
V
V
V
(

=
O
N
NO
V
V
V
(

=
0
P
P
x
P
(V
N
,V
O
)
Notation:
N
X
P
V
N

V
O

Y
O
Y
NO
O
N
X XY
V P
V
V P
V + =
(

+
=
Writing in terms of
XY
V
NO
V
X
N
V
N

V
O

O
Y
Translation along the X-Axis and Y-Axis
(

+
+
= + =
O
Y
N
X NO XY
V P
V P
V P V
(

=
Y
x XY
P
P
P
(

-
-
=
(
(

=
(
(

=
(

=
o V
n V
) cos(90 V
cos V
sin V
cos V
V
V
V
NO
NO
NO
NO
NO
NO
O
N
NO
NO
V
o
n
Unit vector along the N-Axis
Unit vector along the N-Axis
Magnitude of the V
NO
vector
Using Basis Vectors
Basis vectors are unit vectors that point along a coordinate axis
N
V
N

V
O

O
n
o
Rotation (around the Z-Axis)
X
Y
Z
X
Y
Y
V
V
X
V
Y
(

=
Y
X
XY
V
V
V
(

=
O
N
NO
V
V
V
Y = Angle of rotation between the XY and NO coordinate axis
X
Y
Y
V
V
X
V
Y
o
Unit vector along X-Axis
x
x V cos V cos V V
NO NO XY X
- = = =
NO XY
V V =
Can be considered with respect to
the XY coordinates or NO coordinates
V
x ) o V n (V V
O N X
- - + - =
(Substituting for V
NO
using the N and O
components of the vector)
) o x V n x V V
O N X
- + - = ( ) (
) )
)
(sin V (cos V
90)) (cos( V (cos V
O N
O N
=
+ + =
Similarly.
y V ) cos(90 V sin V V
NO NO NO Y
- = = =
y ) o V n (V V
O N Y
- - + - =
) o y ( V ) n y ( V V
O N Y
- + - =
) )
)
(cos V (sin V
(cos V )) (cos(90 V
O N
O N
+ =
+ =
So.
) ) (cos V (sin V V
O N Y
+ =
) ) (sin V (cos V V
O N X
=
(

=
Y
X
XY
V
V
V
Written in Matrix Form
(


=
(

=
O
N
Y
X
XY
V
V
cos sin
sin cos
V
V
V
Rotation Matrix about the z-axis
X
1

Y
1

Y
V
XY

X
0

Y
0

V
NO

P
(


+
(

=
(

=
O
N
y
x
Y
X
XY
V
V
cos sin
sin cos
P
P
V
V
V
(V
N
,V
O
)
In other words, knowing the coordinates of a point (V
N
,V
O
) in some coordinate
frame (NO) you can find the position of that point relative to your original
coordinate frame (X
0
Y
0
).
(Note : P
x
, P
y
are relative to the original coordinate frame. Translation followed by
rotation is different than rotation followed by translation.)
Translation along P followed by rotation by u
(


+
(

=
(

=
O
N
y
x
Y
X
XY
V
V
cos sin
sin cos
P
P
V
V
V
HOMOGENEOUS REPRESENTATION
Putting it all into a Matrix
(
(
(

(
(
(


+
(
(
(

=
(
(
(

=
1
V
V
1 0 0
0 cos sin
0 sin cos
1
P
P
1
V
V
O
N
y
x
Y
X
(
(
(

(
(
(


=
(
(
(

=
1
V
V
1 0 0
P cos sin
P sin cos
1
V
V
O
N
y
x
Y
X
What we found by doing a
translation and a rotation
Padding with 0s and 1s
Simplifying into a matrix form
(
(
(


=
1 0 0
P cos sin
P sin cos
H
y
x
Homogenous Matrix for a Translation in
XY plane, followed by a Rotation around
the z-axis
Rotation Matrices in 3D OK,lets return from
homogenous repn
(
(
(


=
1 0 0
0 cos sin
0 sin cos
R
z
(
(
(

=
cos 0 sin
0 1 0
sin 0 cos
R
y
(
(
(

=
cos sin 0
sin cos 0
0 0 1
R
z
Rotation around the Z-Axis
Rotation around the Y-Axis
Rotation around the X-Axis
(
(
(
(

=
1 0 0 0
0 a o n
0 a o n
0 a o n
H
z z z
y y y
x x x
Homogeneous Matrices in 3D
H is a 4x4 matrix that can describe a translation, rotation, or both in one matrix
Translation without rotation
(
(
(
(

=
1 0 0 0
P 1 0 0
P 0 1 0
P 0 0 1
H
z
y
x
P
Y
X
Z
Y
X
Z
O
N
A
O
N
A
Rotation without translation
Rotation part:
Could be rotation around z-axis,
x-axis, y-axis or a combination of
the three.
(
(
(
(
(

=
1
A
O
N
XY
V
V
V
H V
(
(
(
(
(

(
(
(
(

=
1
A
O
N
z z z z
y y y y
x x x x
XY
V
V
V
1 0 0 0
P a o n
P a o n
P a o n
V
Homogeneous Continued.
The (n,o,a) position of a point relative to the
current coordinate frame you are in.
The rotation and translation part can be combined into a single homogeneous
matrix IF and ONLY IF both are relative to the same coordinate frame.
x
A
x
O
x
N
x
X
P V a V o V n V + + + =
Finding the Homogeneous Matrix
EX.
Y
X
Z
T
P
(
(
(

A
O
N
W
W
W
(
(
(

A
O
N
W
W
W
(
(
(

K
J
I
W
W
W
(
(
(

Z
Y
X
W
W
W
Point relative to the
N-O-A frame
Point relative to the
X-Y-Z frame
Point relative to the
I-J-K frame
(
(
(

(
(
(

+
(
(
(

=
(
(
(

A
O
N
k k k
j j j
i i i
k
j
i
K
J
I
W
W
W
a o n
a o n
a o n
P
P
P
W
W
W
(
(
(
(
(

(
(
(
(

=
(
(
(
(
(

1
W
W
W
1 0 0 0
P a o n
P a o n
P a o n
1
W
W
W
A
O
N
k k k k
j j j j
i i i i
K
J
I
Y
X
Z
T
P
(
(
(

A
O
N
W
W
W
(
(
(

(
(
(

+
(
(
(

=
(
(
(

k
J
I
z z z
y y y
x x x
z
y
x
Z
Y
X
W
W
W
k j i
k j i
k j i
T
T
T
W
W
W
(
(
(
(
(

(
(
(
(

=
(
(
(
(
(

1
W
W
W
1 0 0 0
T k j i
T k j i
T k j i
1
W
W
W
K
J
I
z z z z
y y y y
x x x x
Z
Y
X
Substituting for
(
(
(

K
J
I
W
W
W
(
(
(
(
(

(
(
(
(

(
(
(
(

=
(
(
(
(
(

1
W
W
W
1 0 0 0
P a o n
P a o n
P a o n
1 0 0 0
T k j i
T k j i
T k j i
1
W
W
W
A
O
N
k k k k
j j j j
i i i i
z z z z
y y y y
x x x x
Z
Y
X
(
(
(
(
(

=
(
(
(
(
(

1
W
W
W
H
1
W
W
W
A
O
N
Z
Y
X
(
(
(
(

(
(
(
(

=
1 0 0 0
P a o n
P a o n
P a o n
1 0 0 0
T k j i
T k j i
T k j i
H
k k k k
j j j j
i i i i
z z z z
y y y y
x x x x
Product of the two matrices
Notice that H can also be written as:
(
(
(
(

(
(
(
(

(
(
(
(

(
(
(
(

=
1 0 0 0
0 a o n
0 a o n
0 a o n
1 0 0 0
P 1 0 0
P 0 1 0
P 0 0 1
1 0 0 0
0 k j i
0 k j i
0 k j i
1 0 0 0
T 1 0 0
T 0 1 0
T 0 0 1
H
k k k
j j j
i i i
k
j
i
z z z
y y y
x x x
z
y
x
H = (Translation relative to the XYZ frame) * (Rotation relative to the XYZ frame)
* (Translation relative to the IJK frame) * (Rotation relative to the IJK frame)
The Homogeneous Matrix is a concatenation of numerous
translations and rotations
Y
X
Z
T
P
(
(
(

A
O
N
W
W
W
One more variation on finding H:
H = (Rotate so that the X-axis is aligned with T)
* ( Translate along the new t-axis by || T || (magnitude of T))
* ( Rotate so that the t-axis is aligned with P)
* ( Translate along the p-axis by || P || )
* ( Rotate so that the p-axis is aligned with the O-axis)
This method might seem a bit confusing, but its actually an easier way to
solve our problem given the information we have. Here is an example

Você também pode gostar