Differential Kinematics: Robotics 1
Differential Kinematics: Robotics 1
Differential Kinematics: Robotics 1
Differential kinematics
Prof. Alessandro De Luca
Robotics 1
Differential kinematics
!
Robotics 1
vP1
P1
vP3 - vP1
r12
r13
vP3
vP2 - vP1
P2
vP2
r23
P3
" P1, P2, P3
2-1=3
!1 = !2 = !
.
rij = ! ! rij
" the angular velocity ! is associated to the whole body (not to a point)
" if # P1, P2 with vP1=vP2=0: pure rotation (circular motion of all Pj line P1P2)
" !=0: pure translation (all points have the same velocity vP)
Robotics 1
.
!n = zn-1n
.
!2 = z12
.
v3 = z2 d3
.
!i = zi-1i
alternative definitions
of the direct kinematics
of the end-effector
r = (p, $)
T=
R p
000 1
they can be obtained as the sum of single contributions (in any order)
these contributions will be those of the single the joint velocities
in general, ! % d$/dt
Robotics 1
z
z
y
x
x
z
Robotics 1
same final
position
z
$ X = 90
initial
orientation
x
z
$ Z = 90
x
mathematical fact: ! is
NOT an exact differential form
(the integral of ! over time
depends on the integration path!)
$ Z = 90
$ X = 90
x
Robotics 1
different final
orientations!
RX($X) =
1
0
0
0
0
cos $X -sin $X
sin $X cos $X
cos $Y 0 sin $Y
RY($Y) =
0
1
0
-sin $Y 0 cos $Y
cos $Z -sin $Z
RZ($Z) = sin $Z cos $Z
0
0
!
&0
&0
1
Robotics 1
RY(d$Y) =
1
0
0 1
-d$ Y 0
RZ(d$Z) =
RX(d$X) =
1
0
0
1 -d$z d$Y
d$z 1 -d$X
-d$Y d$X 1
= I + S(d$)
0
0
1 -d$X
d$X
1
d$ Y
0
1
1 -d$ Z 0
d$ Z 1 0
0
0
1
neglecting
second- and
third-order
(infinitesimal)
terms
7
R = S(!) R
Robotics 1
!
p
.
p
S(!) = R RT
8
Example
1
0
0
0
0
cos $(t) -sin $(t)
sin $(t) cos $(t) &
.
.
T
RX($) R X($) = $ &
0
= 0
0
0
0
0
0 - sin $ - cos $
0 cos $ - sin $ &
0
0.
0. - $
$
0
= S(!)
!=
Robotics 1
1
0
0
0 cos $ sin $
0 - sin $ cos $ &
.
$
0
0&
9
the three
contributions
. .
.
)z, (y, 'x to !
are simply
summed as
vectors
x )&
TRPY ((,))
!=
.
)&
.
(&
y
y
(&
.
'&
x
x
c( c) -s)
c( s)& c)&
-s(
0
x
y
1st col in
0
0&
1
z
.
'&
.
(&
.
)&
2nd col in
RZ()z)RY((y) RZ()z)
10
p
$
= fr(q)
.
.
+fr(q) .
p
q = Jr(q) q
. =
+q
$
Robotics 1
.
r=
.
p
!
JL(q)
JA(q)
.
.
q = J(q) q
11
l2
l1
direct kinematics
px = l1 c1 + l2 c12
q2
r
q1
px
$ = q1 + q2
.
.
.
.
px = - l1 s1 q1 - l2 s12 (q1 + q2)
.
.
.
.
py = l1 c1 q1 + l2 c12 (q1 + q2)
.
.
.
$ = !z = q1 + q2
- l1 s1 - l2 s12
Jr(q) =
Robotics 1
py = l1 s1 + l2 s12
l1 c1 + l2 c12
1
- l2 s12
l2 c12
1
q3
px = q3 c2 c1
py = q3 c2 s1
q2
d1
px
py
q1
fr(q)
pz = d1 + q3 s2
+q
13
Geometric Jacobian
always a 6 x n matrix
JL(q)
JA(q)
.
q=
JL1(q) JLn(q)
J (q) J (q)
A1
An
.
q1
end-effector v
instantaneous E
!E
velocity
.
qn
superposition of effects
.
.
vE = JL1(q) q1 ++ JLn(q) qn
.
.
!E = JA1(q) q1 ++ JAn(q) qn
14
.
.
JLi(q) qi = zi-1 di
zi-1
.
JLi(q) qi
qi = di
RF0
Robotics 1
joint i
.
JAi(q) qi
prismatic
i-th joint
.
zi-1 di
0
15
.
.
JAi(q) qi = zi-1 ,i
zi-1
pi-1,E
Oi-1
qi =
RF0
Robotics 1
revolute
i-th joint
,i
joint i
.
JLi(q) qi
.
JAi(q) qi
(zi-1 ! pi-1,E) ,i
.
zi-1 ,i
16
=)
vE
!E
JL(q) .
q=
JA(q)
JL1(q) JLn(q)
J (q) J (q)
prismatic
i-th joint
zi-1 =
An
A1
revolute
i-th joint
JLi(q)
zi-1
zi-1 ! pi-1,E
JAi(q)
zi-1
0R (q )i-2R (q )
1 1
i-1 i-1
0
0
1
.
q1
.
p0,E
.
qn
+p0,E
+qi
z0 = z1 = z2 =
J=
Robotics 1
l2
l1
x0
DENAVIT-HARTENBERG table
x2
'i
di
ai
,i
l1
q1
l2
q2
x1
0
0
1
0A
1
z0 ! p0,E z1 ! p1,E
z0
joint
z1
0A
2
c1
- s1
l1c1
s1
c1
l1s1
c12
- s12
l1c1+ l2c12
s12
c12
l1s1+ l2s12
p0,1
p1,E = p0,E - p0,1
p0,E
18
l1
l2
x2
J=
z0 ! p0,E z1 ! p1,E
z0
x1
x0
note: the Jacobian is here a 6!2 matrix,
thus its maximum rank is 2
- l1s1- l2s12
l1c1+ l2c12
0
z1
0
0
1
- l2s12
l2c12
0
0
0
1
19
RFi
Oj
0v
RF0
0!
Bv
RFB
B!
0J (q)
n
=
=
a) we may choose
RFB RFi(q)
Robotics 1
rnE
.
q
vE = vn + ! ! rnE
= vn + S(rEn) !
BR
0
S(0rEn)
0v
BR
0
0!
BR (q)
0
S(0rEn(q))
BR (q)
0
0J (q)
n
. B
.
q = JE(q) q
never singular!
20
Robotics 1
21
08
y4
z4
6 rows,
8 columns
x0
x4
04
z0
y0
Robotics 1
22
.
p=v
!=
!$. 1 +
!$. 2 +
!$. 3 =
.
.
.
.
a1 $1 + a2($1) $2 + a3($1, $2) $3 = T($)$
r=
p
$
J(q) =
0 T($)
.
R = S(!) R
Jr(q)
Jr(q) =
I
0
0
T-1($)
J(q)
ri = ! ! ri
23
velocity
acceleration
.
.
r = Jr(q) q
..
.
.. .
r = Jr(q) q + Jr(q) q
jerk
.
...
.. ..
.
...
r = Jr(q) q + 2 Jr(q) q + Jr(q) q
snap
.
.
r = Jr(q) q +
. ..
the same holds true also for the geometric Jacobian J(q)
Robotics 1
24
dim(5(J)) = n - 0(J)
dim(2(J)) = 0(J)
Robotics 1
25
Robot Jacobian
decomposition in linear subspaces and duality
space of
joint velocities
space of
task (Cartesian)
velocities
J
0
5(J)
2(J)
2(JT) + 5(J) = Rn
2(J) + 5(JT) = Rm
2(JT)
5(JT)
0
0
space of
joint torques
Robotics 1
dual spaces
dual spaces
JT
(in a given configuration q)
space of
task (Cartesian)
forces
26
Mobility analysis
!
0(J) = 0(J(q)), 2(J) = 2(J(q)), 5(JT)= 5(JT(q)) are locally defined, i.e.,
they depend on the current configuration q
2(J(q)) = subspace of all generalized velocities (with linear and/or
angular components) that can be instantaneously realized by the robot
end-effector when varying the joint velocities at the configuration q
if J(q) has max rank (typically = m) in the configuration q, the robot
end-effector can be moved in any direction of the task space Rm
if 0(J(q)) < m, there exist directions in Rm along which the robot endeffector cannot move (instantaneously!)
!
when 5(J(q)) % {0}, there exist non-zero joint velocities that produce
zero end-effector velocity (self motions)
!
this always happens for m<n, i.e., when the robot is redundant for the task
Robotics 1
27
Kinematic singularities
!
Robotics 1
28
l2
l1
p
q2
q1
px
x
analytical Jacobian
.
.
- l1s1- l2s12 - l2s12 .
p= lc+lc
l2c12 q = J(q) q
1 1
2 12
!
!
direct kinematics
px = l1 c1 + l2 c12
py = l1 s1 + l2 s12
Robotics 1
29
direct kinematics
q3
px = q3 c2 c1
py = q3 c2 s1
q2
d1
px
q1
det J(q) = q32 c2
.
p=
analytical Jacobian
-q3s1c2 -q3c1s2 c1c2
q3c1c2 -q3s1s2 s1c2
0
q3c2
s2
.
.
q = J(q) q
singularities
!
!
pz = d1 + q3 s2
py
Robotics 1
30
Singularities of robots
with spherical wrist
!
!
n = 6, last three joints are revolute and their axes intersect at a point
without loss of generality, we set O6 = W = center of spherical wrist
(i.e., choose d6 = 0 in the DH table)
J(q) =
J21
J22
since det J(q1,,q5) = det J11 " det J22 , there is a decoupling property
!
!
J11
being J22 = [z3 z4 z5] (in the geometric Jacobian), wrist singularities
correspond to when z3, z4 and z5 become linearly dependent vectors
6 when either q5 = 0 or q5 = */2
Robotics 1
31