kadoms10
DESCRIPTION
Manipulator Jacobian MatrixTRANSCRIPT
KADOMS KRiM, WIMIR, AGH Kraków 1
Katedra Robotyki i Mechatroniki
Akademia Górniczo-Hutnicza w Krakowie
Wojciech Lisowski
10
Manipulator Jacobian Matrix
Kinematics and Dynamics of Mechatronic Systems
KADOMS KRiM, WIMIR, AGH Kraków 2
Problems:
velocity and acceleration of a manipulator’s links
manipulator Jacobian matrix – definition and
interpretation
algorithm of algebraic determination of 0Je
algorithm of algebraic determination of eJe
pose singularity: definition, classification,
interpretation, necessary condition
transformation of the force vector from end-
effector to joints
Modelling of Robots
and Manipulators
KRiM, WIMIR, AGH Kraków 3
Determination of velocities and accelerations basing on homogeneous
transformation matrices.
Example of a 3 DOM manipulator
Vector of position of the 3rd link tip
Tppp zyxp 13
3
3
333
0 pTp
Velocity vector of the arm tip:
3
3
3332321313
3
3
3
32
2
31
1
33
333
0
3 pqUqUqUpqq
Tq
q
Tq
q
TpT
dt
dp
dt
dvp
Velocity vector of a j-th point of a j-th link (expressed by jpj vector with
respect to the j-th local frame)
j
jj
k
kjkpj pqUv
1
Modelling of Robots
and Manipulators
KRiM, WIMIR, AGH Kraków 4
Example of a 3 DOM manipulator.
Vector of acceleration of the arm tip:
Vector of acceleration of a j-th link (expressed by jpj vector with respect
to the j-th local frame)
j
jj
k
j
m
j
k
kjkmkjkmpj pqUqqUv
1 1 1
3
3
33333333233213312322332323221321
13113313231213113
3
3332321313
pqUqqUqUqUqUqqUqUqU
qUqqUqUqUpqUqUqUdt
dvp
Modelling of Robots
and Manipulators
KRiM, WIMIR, AGH Kraków 5
Cartesian angular speed
TzyxP
Position vector: Velocity vector:
Tzyxzyx vvvV
dt
Pdv
dt
dxvx
dt
dyv y
dt
dzvz
fdt
d?
dt
d?
dt
d?
dt
d
Modelling of Robots
and Manipulators
KRiM, WIMIR, AGH Kraków 6
o
z
y
x
S
S
CCS
SCC
10
0
0
z
y
x
o
z
y
x
S
CSSSC
CCCS
SC
C
1
0
01
PS
vo
*
o
oS
IS
0
0*
KADOMS KRiM, WIMIR, AGH Kraków 7
Definition of the manipulator jacobian matrix:
PS
vo
*
qqf
Φ
Pq
qJqqfSΦ
PS
vqoo
**
qfSJ qo *
Differentiation of the trigonometric expressions present in the
geometrical model is inconvenient
KADOMS KRiM, WIMIR, AGH Kraków 8
qJv
ez
l
z
l
z
l
ey
l
y
l
y
l
ex
l
x
l
x
l
ez
l
z
l
z
l
ey
l
y
l
y
l
ex
l
x
l
x
l
m
l ddd
ddd
ddd
J
21
21
21
21
21
21Manipulator Jacobian Matrix
l – components of the velocity vectors are projected on axes of
coordinate frame No. l
m – Cartesian velocity vectors are determined for the origin of the
coordinate frame No. m
KADOMS KRiM, WIMIR, AGH Kraków 9
In practice there are two the most often used kinds of the manipulator
jacobian matrix:
0Je – velocity vectors are projected on axes of the reference frame (0).
This matrix allows to determine velocity of the end-effector (e) basing on
the joint velocities
eJe – velocity vectors are projected on axes of the reference frame (0)
with orientation changed to that corresponding to the actual (instant)
orientation of the local frame assigned to the end-effector (e).
This matrix is used to determine the joint velocities corresponding to the
end-effector motion with some velocity in some direction
KADOMS KRiM, WIMIR, AGH Kraków 10
Elements of the manipulator jacobian matrix depend on the joint
coordinates qi in a nonlinear way (trigonometric functions) and they take
different values in different parts of the workspace
rows of the manipulator jacobian matrix are coefficients of linear
combination of the joint velocities contributing to a particular component
of the Cartesian velocity vector (of some link or of the end-effector)
columns of the manipulator jacobian matrix are the components of the
translational as well as the rotational velocity vector corresponding to the
the motion of a single link with the unit velocity.
e
ez
l
z
l
z
l
ey
l
y
l
y
l
ex
l
x
l
x
l
ez
l
z
l
z
l
ey
l
y
l
y
l
ex
l
x
l
x
l
z
y
x
z
y
x
q
q
q
ddd
ddd
ddd
v
v
v
2
1
21
21
21
21
21
21
KADOMS KRiM, WIMIR, AGH Kraków 11
Determination of the eJe manipulator jacobian matrix with use of
algebraic operations basing on the differential kinematic relationships
Variation of an end-effector pose is a superposition of changes of a
relative position of each pair of adjacent links that take place in
consequent joints.
In case the motion in the i -th joint
e
ii
e
ieTDTD
1
ei
i
ei
eAADAAD 1
1
1
Tz
i
y
i
x
i
z
i
y
i
x
ii
dddD ,,,,,
The equivalent variation of the end-effector pose can be expressed as:
KADOMS KRiM, WIMIR, AGH Kraków 12
Rotation around zi axis by i+1 angle: Ti
d 000 Ti 100
0
100
ˆˆˆ
x
y
zyx
i
p
p
ppp
kji
p
a
o
n
i
z
l
i
y
l
i
x
l
z
T
z
e
z
T
y
e
z
T
x
e
xyyx
T
xyz
e
xyyx
T
xyy
e
xyyx
T
xyx
e
aa
oo
nn
papappad
popoppod
pnpnppnd
100
100
100
0
0
0
j
n p n p
o p o p
a p a p
n
o
a
i
x y y x
x y y x
x y y x
z
z
z
1
dpad
dpod
dpnd
ii
z
l
ii
y
l
ii
x
l
KADOMS KRiM, WIMIR, AGH Kraków 13
a
o
n
i
z
l
i
y
l
i
x
l
Ti
d 100 Ti 000
Translation along zi axis by di+1:
0000
0000
0000
100
100
100
T
z
e
T
y
e
T
x
e
z
T
z
e
z
T
y
e
z
T
x
e
a
o
n
aad
ood
nnd
j n o ai z z z
T
1 0 0 0, , , , ,
dpad
dpod
dpnd
ii
z
l
ii
y
l
ii
x
l
KADOMS KRiM, WIMIR, AGH Kraków 14
a
o
n
i
z
l
i
y
l
i
x
l
Ti
d 001 Ti 000
Translation along xi axis by ai+1:
0000
0000
0000
001
001
001
T
z
e
T
y
e
T
x
e
x
T
z
e
x
T
y
e
x
T
x
e
a
o
n
aad
ood
nnd
j n o ai x x x
T
1 0 0 0, , , , ,
dpad
dpod
dpnd
ii
z
l
ii
y
l
ii
x
l
KADOMS KRiM, WIMIR, AGH Kraków 15
Rotation around xi axis by i+1 angle: Ti
d 000 Ti 001
y
z
zyx
i
p
p
ppp
kji
p
0
001
ˆˆˆ
a
o
n
i
z
l
i
y
l
i
x
l
x
T
z
e
x
T
y
e
x
T
x
e
yzzy
T
yzz
e
yzzy
T
yzy
e
yzzy
T
yzx
e
aa
oo
nn
papappad
popoppod
pnpnppnd
001
001
001
0
0
0
j
n p n p
o p o p
a p a p
n
o
a
i
y z z y
y z z y
y z z y
x
x
x
1
dpad
dpod
dpnd
ii
z
l
ii
y
l
ii
x
l
KADOMS KRiM, WIMIR, AGH Kraków 16
Link No.
d
a
Motion range
1
1 v
0
a1
0
-120o120o
2
2 v
0
a2
0o150o
3
0
d3 v
0
0
0.1 m 0.3 m
4
4 v
0
0
0
-180o180o
x 0
y0
z0
x 1
y 1
z 1
x 2 y 2
z 2
x 3 y 3
z 3
x 4 y 4
z 4
An example –SCARA manipulator of RRPR kinematic structure
KADOMS KRiM, WIMIR, AGH Kraków 17
The first rotation 1:
j
n p n p
o p o p
a p a p
n
o
a
i
x y y x
x y y x
x y y x
z
z
z
1
0
4
1 2 4 1 2 4 1 1 2 12
1 2 4 1 2 4 1 1 2 12
3
0
0
0 0 1
0 0 0 1
T
a C a C
a S a S
d
cos( ) sin( )
sin( ) cos( )
j
a S a S a C a C
a S a S a C a C
1
1 2 4 1 1 2 12 1 2 4 1 1 2 12
1 2 4 1 1 2 12 1 2 4 1 1 2 12
0
0
0
1
cos( ) sin( )
sin( ) cos( )
KADOMS KRiM, WIMIR, AGH Kraków 18
1
0
0
0
cos
)sin(
1
0
0
0
)cos()cos(
)sin()sin(
42421
42421
21421214211
21421214211
1
Caa
Saa
aa
aa
j
KADOMS KRiM, WIMIR, AGH Kraków 19
The second rotation 2:
j
n p n p
o p o p
a p a p
n
o
a
i
x y y x
x y y x
x y y x
z
z
z
1
1
4
2 4 2 4 2 2
2 4 2 4 2 2
3
0
0
0 0 1
0 0 0 1
T
a C
a S
d
cos( ) sin( )
sin( ) cos( )
1
0
0
0
1
0
0
0
cos
sin
1
0
0
0
cossin
sincos
42
42
2422
2422
2422422
2422422
2
Ca
Sa
a
a
CSa
CSa
j
KADOMS KRiM, WIMIR, AGH Kraków 20
2
4
4 4
4 4
3
0 0
0 0
0 0 1
0 0 0 1
T
C S
S C
d
The third motion – translation by d3 along z2 axis
Tj 0001003
j n o ai z z z
T
1 0 0 0, , , , ,
The fourth motion – rotation by 4 around z3 axis
3
4 4
4 4
4 4
0 0
0 0
0 0 1 0
0 0 0 1
T A
C S
S C
Tj 1000004
j
n p n p
o p o p
a p a p
n
o
a
i
x y y x
x y y x
x y y x
z
z
z
1
KADOMS KRiM, WIMIR, AGH Kraków 21
SCARA manipulator jacobian matrix
4
4
1 2 4 2 4 2 4
1 2 4 2 4 2 4
0 0
0 0
0 0 1 0
0 0 0 0
0 0 0 0
1 1 0 1
J
a a S a S
a a C a C
sin( )
cos( )
x 0
y 0 z 0
x 1
y 1 z 1
x 2 y 2
z 2
x 3 y 3
z 3
x 4 y 4
z 4
KADOMS KRiM, WIMIR, AGH Kraków 22
Formulas for determination of columns of the manipulator
jacobian matrix 0Je
Vectors of differential displacement (velocity) are projected on the axes
parallel to the reference frame (0) axes.
Translation along zi axis by di+1:
i
z
y
x
i
a
a
a
j
0
0
0
0
1
0
Translation along xi axis by ai+1:
i
z
y
x
i
n
n
n
j
0
0
0
0
1
0
KADOMS KRiM, WIMIR, AGH Kraków 23
Rotation around xi axis by
i+1 angle:
Rotation around zi axis by i+1
angle:
z
y
x
x
i
zy
i
z
x
i
yy
i
y
x
i
xy
i
x
i
a
a
a
popn
popn
popn
j 1
0
z
y
x
y
i
zz
i
z
y
i
yz
i
y
y
i
xz
i
x
i
n
n
n
papo
papo
papo
j 1
0
𝑇𝑖0 𝑇𝑒
𝑖 n, o, a p
KADOMS KRiM, WIMIR, AGH Kraków 24
Example manipulator
of PPPRR kinematic structure
x0
y0
z0
x1
z1
y1
x2
z2
y2
x3
z3
y3
x4
z4
y4 x5
z5
y5
Link
No.
d
a
1
0
0
a1 v
/2
2
0
d2 v
0
/2
3
0
d3 v
0
-/2
4
4 v
0
0
/2
5
5 v
d5
0
0
KADOMS KRiM, WIMIR, AGH Kraków 25
The first translation by a1
i
z
y
x
i
n
n
n
j
0
0
0
0
1
0
IT 0
0 Tj 0000011
0
The second translation by d2
i
z
y
x
i
a
a
a
j
0
0
0
0
1
0
1000
0010
0100
001 1
11
a
AT Tj 0000102
0
KADOMS KRiM, WIMIR, AGH Kraków 26
The third translation by d3
i
z
y
x
i
a
a
a
j
0
0
0
0
1
0
1000
0100
010
001
2
1
212
d
a
AAT
Tj 0001003
0
KADOMS KRiM, WIMIR, AGH Kraków 27
The fourth rotation by 4
z
y
x
x
i
zy
i
z
x
i
yy
i
y
x
i
xy
i
x
i
a
a
a
popn
popn
popn
j 1
0
1000
010
100
001
3
2
1
3213d
d
a
AAAT
1000
0055
5445454
5445454
545
3
CS
dCCSSCS
dSSSCCC
AAT
0
1
0
0
0
1
0
1
0
0
0
0
1
54
54
5454
4
0 dS
dC
dSdC
j
KADOMS KRiM, WIMIR, AGH Kraków 28
The fifth rotation by 5
z
y
x
x
i
zy
i
z
x
i
yy
i
y
x
i
xy
i
x
i
a
a
a
popn
popn
popn
j 1
0
1000
0
010
0
344
2
144
43214dCS
d
aSC
AAAAT
1000
100
00
00
5
55
55
55
4
d
CS
SC
AT
4
4
4
4
4
4
5
0
0
0
0
0
0
0
0
1
0
00
C
S
C
S
S
C
j
KADOMS KRiM, WIMIR, AGH Kraków 29
4
4
54
54
5
0
0000
01000
0000
0100
00010
0001
C
S
dS
dC
J
x0
y0
z0
x1
z1
y1
x2
z2
y2
x3
z3
y3
x4
z4
y4 x5
z5
y5
PPPRR manipulator jacobian matrix
KADOMS KRiM, WIMIR, AGH Kraków 30
Invertion of the manipulator Jacobian matrix
DOM=DOF=6
Inversion of the square manipulator Jacobian matrix is possible, except
for the local singular poses.
qJv
D e
l
le
lele
le
le
e
lle
e
l vJDJq
11
DOM>DOF=1,2,...
Redundant manipulators
The pseudoinverse matrix is determined (the best – optimal solution
according to the criterion of minimum least squares error):
DJJJDJql
T
e
l
e
lT
e
ll
I
e
l 1
Modelling of Robots
and Manipulators
KRiM, WIMIR, AGH Kraków 31
DOM=DOF<6
In case of non-redundant manipulators:
- formulate the equations of kinematic constraints
- find the conditions of kinematic constraint by solving the constraint
equations
- remove the dependent rows from the Jacobian matrix
- invert the square matrix
The questions arise – which components of the velocity vectors are
dependent? and how do they depend on each other?
The conditions of kinematic constraints are the algebraic
relationships between components of the velocity vectors v and .
MMiR Analiza osobliwości 32
RRP manipulator
x 0
y 0 z 0
x 1
y 1 z 1
x 2 y 2
z 2
x 3 y 3
z 3
011
000
000
100
0
00
221
21
3
3
aCa
Sa
J
Kinematic constraint
equation
yxz vvf333
,
2 zero rows
22
2
3
2
3
3
Sa
Cv
a
vxy
z
100
01
001
2221
221
21
1
3
3
aSaa
aCa
Sa
J
Inverse jacobian
matrix of the
manipulator:
KADOMS KRiM, WIMIR, AGH Kraków 33
Singularity of an end-efector pose:
Necessary condition:
determinant of a manipulator Jacobian matrix is equal to zero
Properties of a singular pose:
loss of mobility – the end-effector cannot be moved in some direction
loss of controllability – the end-effector velocity in this direction is
zero for any values of the joint variables
solution of the inverse kinematic problem is indefinite – infinite
number of solutions.
Types of pose singularities:
inside the workspace – more difficult to be determined, makes
the tracking difficult
on the border of the workspace – easier to be determined, rarely
attained
KADOMS KRiM, WIMIR, AGH Kraków 34
Condition of zero value of the Jacobian matrix:
543 dSa Corresponds to the singular pose:
4
d5
a3
1000
000
000
000
00
00
4
554
554
44
555454
555454
5435
5
C
CSS
SCS
SC
dSSCSS
dCCCCS
dSaJ
Rows No. 1 and 2 are mutually dependent, what
results in the translational end-effector velocity
component parallel to z3 axis equal to zero for any
values of the joint velocities.
For any value of 1 joint angle within the motion range the end-effector
possesses the same position – the one on the axis of the first motion.
KADOMS KRiM, WIMIR, AGH Kraków 35
Examples of RPY wrist singularity
x4
y4 z4
x3
y3
z3
x7
y7
z7
x4
y4 z4
x5
y5
z5
x6
y6
z6
Values of 4 and 6 angles cannot be determined unambiguously.
Loss of mobility in this case consists in no possibility of rotation of
the end-effector around the x4 axis
KADOMS KRiM, WIMIR, AGH Kraków 36
In the static equilibrium:
0 QFDFWTqeTe
QFQJFTq
e
eTe
Transformation of the force vector from an end-effector to joints:
Vector of driving forces: Tn
q
FFFF 21
Vector of joint virtual displacements: TnqqqQ 21
For a eF force vector sometimes there does not exist the corresponding qF vector. There are directions in which the end-effector cannot be
moved - the translational/angular velocities are zero.
The manipulator joint forces/torques cannot counterbalance the external
forces/torques acting on the end-effector in these directions. These
forces/torques are balanced by the manipulator structural elements (joints
and links). Correspondingly the end-effector cannot exert forces/torques
in these directions.
FJFeT
e
eq