1
C03 – 2009.02.05Advanced Robotics for Autonomous
ManipulationGiacomo MaraniAutonomous Systems Laboratory, University of Hawaii
Department of Mechanical Engineering ME 696 – Advanced Topics in Mechanical Engineering
http://www2.hawaii.edu/~marani
Kinematics – Part A
2
Summary
1. Vectors derivatives2. Angular velocity3. Derivative for points4. Generalized velocity5. Derivative of orientation matrix6. Joint kinematics7. Simple kinematic joint8. Parameterization of simple kinematical joint9. Kinematic equation of simple joints10.Kinematics of robotics structures
Contents1. Vectors deriv.2. Angular velocity3. Derivative for P.4. Generalized Vel.5. Derivative for R6. Joint Kinematics7. Simple kin. Joint
ME696 - Advanced Robotics – C02
Vector derivative
3
Vector Derivatives
Time derivative of geometrical vector , computed w.r.t. frame <a>:
(2.1)Same time derivative but in the different reference frame
<b>:
In general:
ME696 - Advanced Robotics – C02
ddt
x y zaa a a a a a i j k
ddt
x y zbb b b b b b i j k
Oa
< a >
i
i
j
j
k
k
< b >
Ob
dtd
dtd ba
Vector derivative
4
Vector Derivatives
Proof:
(2.2)
Hence the result (very important):
ME696 - Advanced Robotics – C02
bzbdtad
bybdtad
bxbdtad
dtbd
bzbdtad
bybdtad
bxbdtad
bzbbybbxb
bzbbybbxbdtad
dtad
kji
kjikji
kji
ˆ
Oa
< a >
i
i
j
j
k
k
< b >
Ob
dtd
dtd ba
Vector derivative
5
Vector Derivatives
If we project the (2.1) over the frame <b> we have:
FIRST derive THEN project (not allowed the reverse)Meaning: An observer integral with <a> sees the change of
the components over <b> of . These components change independently from the place of the observer.
This the definition of derivative of algebraic vector.
ME696 - Advanced Robotics – C02
bbaab
dtd
dtd
dtd
Oa
< a >
i
i
j
j
k
k
< b >
Ob
Angular Velocity
6
Angular Velocity
Since the rotation matrix between <a> and <b> is time dependent, we can define Angular Velocity of the frame <a> w.r.t. the frame <b> the vector b/a which, at any instant, gives the following information:
1) Its versor indicates the axis around which, in the considered time instant, an observer integral with <a> may suppose that <b> is rotating;
2) The component (magnitude) along its versor indicates the effective instantaneous angular velocity (rad/sec.)
To the vector Angular Velocity we can associate the following differential form:
The above relationship does not coincide with any exact differential.
ME696 - Advanced Robotics – C02
ka
ia
ja
ib
jb
kbq
b a O Oa b
t
d dtb a b aq / /
Angular Velocity
7
Angular Velocity
We want not to write in a different form the (2.2):
We need Poisson formulae:
Thus we have: (2.3)
If is constant: (rigid body)
ME696 - Advanced Robotics – C02
ka
ia
ja
ib
jb
kbq
b a O Oa b
t
bzbdtad
bybdtad
bxbdtad
dtbd
dtad
kji
babba
babba
babba
dtddtddtd
kk
jj
ii
/
/
/
ddt
ab a /
ddt
ddt
a bb a /
Angular Velocity
8
Angular Velocity
Properties:1) b/a = - a/b 2) Given n frames, the angular velocity of <k> w.r.t. <h> if
given by adding the successive ang. Velocities encounteredalong any path.
In this example:
ME696 - Advanced Robotics – C02
1 0,
11,
1 2,
2 1,
1 3,
2 2,
( , )/( , ) ( , )/( , ) ( , )/( , ) ( , )/( , )2 2 1 3 2 2 2 1 2 1 1 2 1 2 1 3
Angular Velocity
9
Time derivative for points in space
We define:“velocity of P computed w.r.t. the frame <a>”:
“velocity of P computed w.r.t. the frame <b>”:
It is possible to proof that:
where vp/b is the velocity of the origin of the frame <b> w.r.t <a>
ME696 - Advanced Robotics – C02
ba R t
a
b
Ob
P
Oa
v i j kp aa
a a p a a p a a p a
ddt
P O x y z/ / / /
v p bb
b
ddt
P O/
v v vp a b a P b b a bP O/ / / /
Angular Velocity
10
Time derivative for points in space
Proof:
We define vb/a the velocity of the origin on the frame <b> w.r.t. <a>:
Using the (2.3) with the opportune indexes we have:
ME696 - Advanced Robotics – C02
ba R t
a
b
Ob
P
Oa
v p aa
aa
b aa
b
ddt
P Oddt
O Oddt
P O/
v vp a b aa
b
ddt
P O/ /
v v vp a b a P b b a bP O/ / / /
Angular Velocity
11
Generalized velocity
In order to completely describe the relative motion between 2 frames we organize the angular velocity and the velocity of the origin within a vector called Generalized Velocity :
We can project the G.V. in any frame:
This definition is valid forany point integral with the frame <b>:
where
ME696 - Advanced Robotics – C02
P
ba T t
O Ob a
b
a
//
/
Xvb a
b a
b a
00
0 /
/
/
Xvb a
b a
b a
//
/
XvP a
b a
P a
v vp a b a b a bP O/ / /
Derivative of the Orientation matrix
12
Derivative of the orientation matrix
Problem: we want to compute the relationship between the derivative of the orientation matrix and the angular velocity:
Remember that:
Deriving w.r.t. time:
ME696 - Advanced Robotics – C02
abab
ab RfR /,
ka
ia
ja
ib
jb
kbq
b a O Oa b
t
ba a
ba
ba
bR i j k
ba a
ba
ba
b
aa
b
aa
b
aa
b
ab a b
ab a b
ab a b
ab a
ab
ab a
ab
ab a
ab
ab a
ab
ab
ab
Rddt
ddt
ddt
ddt
ddt
ddt
i j k
i j k
i j k
i j k
i j k
Derivative of the Orientation matrix
13
Derivative of the orientation matrix
Finally: (2.4)Remembering the transformation of the cross-prod operator:
the previous equation becomes: (2.5)The (2.4) and (2.5) are very useful in computing the time
evolution of the orientation matrix:
ME696 - Advanced Robotics – C02
ka
ia
ja
ib
jb
kbq
b a O Oa b
t
ba a
b a baR R
ba
ba b
b aR R
aba b
ba TR Rv v
ba
ba
baR t dt R t R dt
Kinematics of the joints
14
Group definitionA group is a set, G, together with an operation "•" that
combines any two elements a and b to form another element denoted a • b. The symbol "•" is a general placeholder for a concretely given operation, such as the addition. To qualify as a group, the set and operation, (G, •), must satisfy four requirements known as the group axioms:
1. Closure. For all a, b in G, the result of the operation a • b is also in G.
2. Associativity. For all a, b and c in G, the equation (a • b) • c = a • (b • c) holds.
3. Identity element. There exists an element e in G, such that for all elements a in G, the equation e • a = a • e = a holds.
4. Inverse element. For each a in G, there exists an element b in G such that a • b = b • a = e, where e is the identity element.
The order in which the group operation is carried out can be significant. In other words, the result of combining element a with element b need not yield the same result as combining element b with element a; the equation a • b = b • a may not always be true.
ME696 - Advanced Robotics – C02
Kinematics of the joints
15
Rotation Group
In mechanics and geometry, the rotation group is the group of all rotations about the origin of three-dimensional Euclidean space R3 under the operation of composition.
By definition, a rotation about the origin is a linear transformation that preserves length of vectors (it is an isometry) and preserves orientation (i.e. handedness) of space.
Composing two rotations results in another rotation; every rotation has a unique inverse rotation; and the identity map satisfies the definition of a rotation. Owing to the above properties, the set of all rotations is a group under composition. Moreover, the rotation group has a natural manifold structure for which the group operations are smooth; so it is in fact a Lie group.
ME696 - Advanced Robotics – C02
Kinematics of the joints
16
Joint Kinematics
In general, the set of all the relative positions between two free bodies constitutes a group that may be represented by the matrix:
SO(3) is the Special Euclidian group.Kinematics in G can be represented as an object belonging to
its Lie algebra:
ME696 - Advanced Robotics – C02
P
ba T t
O Ob a
b
a
ba b
a
baT
R LR SO L
0 13 3G, ,
bb a b
aba b
a Tba
ba T
ba
ba T
bb a
bb a
X T TR L R L R R R L~
/
/ /
1
0 1 0 0 0 0
0 0 v
Kinematics of the joints
17
Joint Kinematics
The joint can be characterized by a relationship that involves the generalized velocity of the frame <b> w.r.t. <a>:
(2.6)where q is the “configuration”. This means:
If the distribution q è integrable, the constraint is Holonomic.In case that the axis are integral with at least one body, the
matrix A is constant. Will name this kind of joints as Simple Kinematic Joints.
ME696 - Advanced Robotics – C02
P
ba T t
O Ob a
b
a
0~/ ab
b XA q
qAqX abb ker/
Kinematics of the joints
18
Simple Kinematic Joint s
In this case, the solution of the (2.6) is given by:
where the column of H creates a base for the kernel of A and r is the number of degreesof freedom of the joint:
ME696 - Advanced Robotics – C02
P
ba T t
O Ob a
b
a
rab
b pHpX ,/
Ar kerdim
Kinematics of the joints
19
Simple Kinematic Joint s
H is the Joint Matrix. Often p is known as quasivelocity.
Examples of joint matrices:
ME696 - Advanced Robotics – C02
P
ba T t
O Ob a
b
a
001000
000100
00100k
1 0 00 1 00 0 10 0 00 0 00 0 0
Giuntorotazionale
(asse z)
Giuntotraslazionale
(asse x)
Giuntoa vite
(asse z)
Giuntosferico
Kinematics of the joints
20
Parameterization of Simple Kinematic Joint s
In general, the joint configuration is defined by the previous differential equation:
which can be re-written as:
We can now integrate the above equation, obtaining the evolution of the transformation matrix T.
ME696 - Advanced Robotics – C02
ba
ba b
b aT T X ~/
321
2
121 ,,,00
HH
HH
HwithpHpH
TT ab
ab
Kinematics of the joints
21
Parameterization of Simple Kinematic Joint sExample:r=1
H1 is the direction of the rotation axis, hence:
H2 is the direction of the translation, so we have:
which, integrated, gives:
If H has more columns:
ME696 - Advanced Robotics – C02
hhh
1
2
R q e h q1
1 1 ,
L q e h dhq
1 20
1
1
baT q
R q L q1
1 1
0 1
dLdq
R q h1
1 2
T T q T q T qr rq 2 2 1 1
Kinematics of the joints
22
Parameterization of Simple Kinematic Joint sSummaryr=1
h1 is the direction of the rotation axish2 is the direction of the translation, so we have:If h has more columns:
ME696 - Advanced Robotics – C02
hhh
1
2
10
1
111
02
1
qhqh
ab
dheeqT
T T q T q T qr rq 2 2 1 1
Kinematics of the joints
23
Example: spherical jointExample:
ME696 - Advanced Robotics – C02
Hsp
1 0 00 1 00 0 10 0 00 0 00 0 0
p
ppp
x
y
z
bb a
x
y
zX H
ppp
/
p000
R q e q sin qsin q q
q
1 1
100
1 1
1 1
1 1 0 000
( ) cos( ) ( )( ) cos( )
L q1 1
000
R q eq sin q
sin q q
q
2 2
010
2 2
2 2
2 00 1 0
0( )
cos( ) ( )
( ) cos( )
L q2 2
000
R q eq sin q
sin q qq
3 3
001
3 3
3 3
3 00
0 0 1( )
cos( ) ( )( ) cos( )
L q3 3
000
ka
ia
ja
ib
jb
kb
Kinematics of the joints
24
Example: spherical jointFinally:
ME696 - Advanced Robotics – C02
baT T q T q T q( )q 3 3 2 2 1 1
ka
ia
ja
ib
jb
kb
Kinematics of the joints
25
Example: translational jointExample:
Find the transformation matrix parameterized by q1:
Solution:
ME696 - Advanced Robotics – C02
010000
tyH 1pp
0
0000
1
/
p
HX abb p
100010001
)(1
000
11
q
eqR
0
0
010
100010001
100
211
11
1 qddheqLqq
h
baT q
R q L q1
1 1
0 1
10000100
0100001
11
qqTa
b
Kinematics of the joints
26
Example: ScrewExample:
Find the transformation matrix parameterized by q1:
Solution:
ME696 - Advanced Robotics – C02
001001
tyH 1pp
00
00
1
1
/ p
p
HX abb p
)cos()sin(0)sin()cos(0
001)(
11
11001
11
1
qqqqeqR
q
baT q
R q L q1
1 1
0 1
L q R d dq
sc sc
q q
10 0
1100
100
00
1 1
T q
qq sin q
sin q qsc ( )cos
cos1
1
1 1
1 1
1 0 00 00 00 0 0 1
Kinematics of the joints
27
Kinematic equation of simple jointsProblem statement:Find a relationship between the quesivelocities (p) and the
derivative of the joint parameters (q).Consider a simple joint described by the matrix:
We can define Kinematic Equation the following relationship:
where the matrix Gamma is defined by the following recursive algorithm:
1) For j=1..r define the matrices Rj and Lj asfollows:
ME696 - Advanced Robotics – C02
H r
r
r
h hh h
11 1
21 2
6
q q p
R R Rj j j j j jq q R q q q I 1 1 1 1 0 ,
L L Lj j j j j j j jq q R q q q L q I 1 1 1 1 0 ,
Kinematics of the joints
28
Kinematic equation of simple joints
1) For j=1..r define the matrices Rj and Lj as follows:
2) Build a matrix B as follows:
3) Finally compute Gamma as follows:
where B* is a right-inverse of B(q)
ME696 - Advanced Robotics – C02
R R Rj j j j j jq q R q q q I 1 1 1 1 0 ,
L L Lj j j j j j j jq q R q q q L q I 1 1 1 1 0 ,
B r
rq
b bb b
11 1
21 2
b h1 1iT
i R Ri-1 i-1
b h h2 1 2iT
i i R L Ri-1 i-1 i-1
q qB H*
Kinematics of the joints
29
Example: spherical jointExample:
[ sin(q1) sin(q2) cos(q1) sin(q2)] [1 --------------- ---------------] [ cos(q2) cos(q2) ] [ ] [0 cos(q1) -sin(q1) ] [ ] [ sin(q1) cos(q1) ] [0 ------- ------- ] [ cos(q2) cos(q2) ]
ME696 - Advanced Robotics – C02
000000000100010001
321 hhhH sp
ka
ia
ja
ib
jb
kb
pqq
q
3
2
1
ppp
p
3
2
1
qqq
q
Kinematics of the joints
30
ME696 - Advanced Robotics – C02
Consider first a linear chain of k links e k joints, each one characterized by: ri DOF;
Joint matrix Hiri 6 ;
configuration vector qiri
quasivelocity vector piri
Let’s consider a point ci of a generic link i and its generalized velocity w.r.t. the main frame ii
/X 0 projected on
the same link frame; in relation with the generalized velocity of the origin Oi of the frame <i> we have:
i
c
ic
ic
ii
ii
ii
iO c
iO c
ii
ii
iO c
ic
i
i
i i i i i
i i i
( )
//
/
/
/ /
/
/
/
Xv v r
I 0r I v
r X
00
0
0
0 0
0
0
0
(2.1) where:
( )rI 0r I
, (2.2)
iO c i ii i
O cr .
Similarly, for the cross-prod preperties, we have: i
cT i
ci
O ci i i i ( )/ /
*X X r0 0 (2.3)
with:
( )rI r0 I
. (2.4)
Kinematics of robotics structures
Kinematics of the joints
31
ME696 - Advanced Robotics – C02
It is then possible to express, recursively, the generalized velocity of the frame integral with the generic link i:
ii
ii
ii
iioj i
i i iH / /X
R 00 R
r X p01
1
11
11 0
(2.1)
where rioj 1 is the vector joining the origin of i 1 to the connection point of the joint i (fig. 2.1) and pi is the
associated quasivelocity vector. Note that the quantity Hi ip gives fornisce, in accordo alla 2.25, la velocità
generalizzata introdotta dal giunto espressa nella terna uscente1.
Fig. Error! No text of specified style in document..1
Introduceing the matrix
ii i
i
ii
1
1
1
q rR 00 R
r (2.2)
The 2.1 becomes:
ii i
i iioj i
i i iH / /X r X p0 1
11
11 0
q (2.3)
The 2.3 is sufficient to express, recursively, the generalized velocities /X i 0 of every frame in the robot.
1 Ad esempio, facendo riferimento alla figura 2.6, tale quantità rappresenta la velocità generalizzata della terna <b> rispetto alla <a> espressa nella terna <b>.
Oi-1 Ji-1 i-1roj
(i-1)-esimo link i-esimo link
Punto di connessione del giunto i-esimo
Kinematics of robotics structures
Kinematics of the joints
32
ME696 - Advanced Robotics – C02
It is convenient to expand the recursive process into a global form. At this aim, let’s create the following vectors:
V
XX
X
p
pp
p
O
kk k
11 0
22 0
0
1
2
,
/
/
/
And the matrix:
H
H 0 00 H 0
0 0 H
1
2
k
(2.1)
Hence we have, from the 2.3: V H pO l (2.2)
where:
l
n n
ji
ii
jj i n j n
I 0 0I 0
0I
12
1 2
11 2 1 1
q
q q
q q q, , , (2.3)
The matrix l H is the Global Jacobian of the robot; its dimension is 6n n and may be partitioned into k
blocks such as:
V pO
kk
kk k
XX
X
J OJ O
J O
11 0
22 0
0
11 0 1
22 0 2
0
/
/
/
/
/
/
(2.4)
where the matrix ijJ P/0 is named jacobian ed è tale che:
iP
ijX J P
/ /0 0 p (2.5)
being P a generic point integral with the frame j .
End of presentation