0% found this document useful (0 votes)
92 views35 pages

Differential Kinematics: Robotics 1

The document discusses differential kinematics and how to relate the motion of robot joints to the motion of the robot end effector. It defines angular and linear velocity and how they apply to rigid bodies. It also covers how finite rotations do not commute but infinitesimal rotations do commute. The time derivative of a rotation matrix is shown to equal the skew-symmetric matrix of angular velocity times the rotation matrix.

Uploaded by

hamza malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views35 pages

Differential Kinematics: Robotics 1

The document discusses differential kinematics and how to relate the motion of robot joints to the motion of the robot end effector. It defines angular and linear velocity and how they apply to rigid bodies. It also covers how finite rotations do not commute but infinitesimal rotations do commute. The time derivative of a rotation matrix is shown to equal the skew-symmetric matrix of angular velocity times the rotation matrix.

Uploaded by

hamza malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Robotics 1

Differential kinematics

Prof. Alessandro De Luca

Robotics 1 1
Differential kinematics
n relations between motion (velocity) in joint space
and motion (linear/angular velocity) in task space
(e.g., Cartesian space)
n instantaneous velocity mappings can be obtained
through time differentiation of the direct kinematics
or in a geometric way, directly at the differential level
n different treatments arise for rotational quantities
n establish the relation between angular velocity and
n time derivative of a rotation matrix

n time derivative of the angles in a minimal representation

of orientation
Robotics 1 2
Angular velocity of a rigid body
“rigidity” constraint on distances among points:
𝑟%& = constant
𝑣(" − 𝑣($
𝑃" 𝑣(% − 𝑣(& orthogonal to 𝑟%&
𝑣($ 𝑟$"
𝑣(" 1 𝑣(" − 𝑣($ = 𝜔$ × 𝑟$"
𝑃$ 𝑟"- 2 𝑣(- − 𝑣($ = 𝜔$ × 𝑟$-
𝑣(- − 𝑣($ 𝑟
$-
𝑃- 3 𝑣(- − 𝑣(" = 𝜔" × 𝑟"-
𝑣(-

∀𝑃$ , 𝑃" , 𝑃- 2-1=3 𝜔$ = 𝜔" = 𝜔


aka, “(fundamental)
kinematic equation” 𝑣(& = 𝑣(% + 𝜔 × 𝑟%& = 𝑣(% + 𝑆 𝜔 𝑟%& 𝑟%&
̇ = 𝜔 × 𝑟%&
of rigid bodies
§ the angular velocity 𝜔 is associated to the whole body (not to a point)
§ if ∃𝑃$ , 𝑃" : 𝑣($ = 𝑣(" = 0 ⇒ pure rotation (circular motion of all 𝑃& ∉ line 𝑃$ 𝑃" )
§ 𝜔 = 0 ⇒ pure translation (all points have the same velocity 𝑣( )
Robotics 1 3
Linear and angular velocity
of the robot end-effector
𝝎
𝜔" = 𝑧$ 𝜃̇" 𝜔E = 𝑧EF$ 𝜃̇E 𝒗

𝜔$ = 𝑧C 𝜃̇$

𝑣- = 𝑧" 𝑑̇ - 𝑟 = (𝑝, 𝜙)
𝜔% = 𝑧%F$ 𝜃̇%
alternative definitions 𝑅 𝑝
of the direct kinematics 𝑇=
of the end-effector 0: 1
n 𝑣 and 𝜔 are “vectors”, namely are elements of vector spaces
n they can be obtained as the sum of single contributions (in any order)
n such contributions will be given by the single (linear or angular) joint velocities
n on the other hand, 𝜙 (and 𝜙̇ ) is not an element of a vector space
n a minimal representation of a sequence of two rotations is not obtained summing
the corresponding minimal representations (accordingly, for their time derivatives)

in general, 𝜔 ≠ 𝜙̇
Robotics 1 4
Finite and infinitesimal translations
n finite Δ𝑥, Δ𝑦. Δ𝑧 or infinitesimal 𝑑𝑥, 𝑑𝑦, 𝑑𝑧 translations
(linear displacements) always commute

𝑧 Δ𝑦 Δ𝑧
𝑧

𝑦 = 𝑦
𝑥
𝑥
Δ𝑧 Δ𝑦 same final
position

Robotics 1 5
Finite rotations do not commute
example
𝑧 𝑧
initial 𝜙O = 90°
orientation
𝑦 𝑦

𝑥 𝑥
mathematical fact: 𝜔 is
NOT an exact differential form
𝑧 𝜙L = 90°
𝑧 (the integral of 𝜔 over time
depends on the integration path!)

𝜙L = 90° 𝑦
𝑧
𝑦
𝑥
𝑥 𝜙O = 90° different final
orientations!
𝑦
𝑥 note: finite rotations still commute
Robotics 1 when made around the same fixed axis 6
𝜔 is not an exact differential
whiteboard …
𝜔Q first final
90° : 𝜔Q (𝑡)
: orientation
𝑇 =2𝑠 Y 𝜔(𝑡)𝑑𝑡 = Y 𝜔R (𝑡) 𝑑𝑡
C C 𝜔S (𝑡)
𝜔R
90°
= 0 𝑅X,LO
initial
orientation 𝜔S 90°
90°
: : [(:)
𝑑𝜙
𝑡 Y 𝜙̇ 𝑡 𝑑𝑡 = Y 𝑑𝑡 = Y 𝑑𝜙 = 𝜙X − 𝜙%
𝑇/2 𝑇 C C 𝑑𝑡 [(C)
𝜔Q 90° an exact differential form
𝑅% = 𝐼 𝑅X,OL
𝜔R : 90°
Y 𝜔 𝑡 𝑑𝑡 = ⋯ = 0
C 90°
𝜔S
90° …the same value …final
but a different… orientation
Robotics 1 7
Infinitesimal rotations commute!
n infinitesimal rotations 𝑑𝜙O , 𝑑𝜙\ , 𝑑𝜙L around 𝑥, 𝑦, 𝑧 axes
1 0 0 1 0 0
𝑅O 𝜙O = 0 cos 𝜙O −sin 𝜙O 𝑅O 𝑑𝜙O = 0 1 −𝑑𝜙O
0 sin 𝜙O cos 𝜙O 0 𝑑𝜙O 1
cos 𝜙\ 0 sin 𝜙\ 1 0 𝑑𝜙\
𝑅\ 𝜙\ = 0 1 0 𝑅\ 𝑑𝜙\ = 0 1 0
−sin 𝜙\ 0 cos 𝜙\ −𝑑𝜙\ 0 1
cos 𝜙L −sin 𝜙L 0 1 −𝑑𝜙L 0
𝑅L 𝜙L = sin 𝜙L cos 𝜙L 0 𝑅L 𝑑𝜙L = 𝑑𝜙L 1 0
0 0 1 0 0 1
neglecting
1 −𝑑𝜙L 𝑑𝜙\ second- and
n 𝑅 𝑑𝜙 = 𝑅 𝑑𝜙O , 𝑑𝜙\ , 𝑑𝜙L = 𝑑𝜙L 1 −𝑑𝜙O third-order
(infinitesimal)
−𝑑𝜙\ 𝑑𝜙O 1 terms
in any order = 𝐼 + 𝑆(𝑑𝜙)
Robotics 1 8
Time derivative of a rotation matrix
§ let 𝑅 = 𝑅(𝑡) be a rotation matrix, given as a function of time
§ since 𝐼 = 𝑅(𝑡)𝑅 : (𝑡), taking the time derivative of both sides yields
0 = 𝑑 𝑅 𝑡 𝑅 : 𝑡 /𝑑𝑡 = 𝑑𝑅(𝑡)⁄𝑑𝑡 𝑅 : (𝑡) + 𝑅 𝑡 𝑑𝑅 : (𝑡)⁄𝑑𝑡
:
= 𝑑𝑅(𝑡)⁄𝑑𝑡 𝑅 : (𝑡) + 𝑑𝑅(𝑡)⁄𝑑𝑡 :
𝑅 (𝑡)
thus 𝑑𝑅 𝑡 ⁄𝑑𝑡 𝑅 : 𝑡 = 𝑆(𝑡) is a skew-symmetric matrix
§ let 𝑝(𝑡) = 𝑅(𝑡)𝑝c a vector (with constant norm) rotated over time
§ comparing
𝜔
𝑝̇ 𝑡 = 𝑑𝑅 𝑡 ⁄𝑑𝑡 𝑝c =𝑆 𝑡 𝑅 𝑡 𝑝c = 𝑆(𝑡)𝑝(𝑡)
𝑝̇ 𝑡 = 𝜔 𝑡 × 𝑝 𝑡 = 𝑆 𝜔 𝑡 𝑝(𝑡) 𝑝
we get 𝑆 = 𝑆 𝜔 𝑝̇

𝑅̇ = 𝑆 𝜔 𝑅 𝑆 𝜔 = 𝑅̇ 𝑅:
Robotics 1 9
Example
Time derivative of an elementary rotation matrix

1 0 0
𝑅O 𝜙 𝑡 = 0 cos 𝜙(𝑡) − sin 𝜙(𝑡)
0 sin 𝜙(𝑡) cos 𝜙(𝑡)
0 0 0 1 0 0
𝑅̇ O 𝜙 𝑅O: (𝜙) = 𝜙̇ 0 − sin 𝜙 − cos 𝜙 0 cos 𝜙 sin 𝜙
0 cos 𝜙 − sin 𝜙 0 − sin 𝜙 cos 𝜙
0 0 0 𝜙̇
= 0 0 − 𝜙̇ = 𝑆 𝜔 𝜔 = 𝜔O = 0
0 𝜙̇ 0 0

more in general, for the axis/angle rotation matrix


𝑟Q
𝑅 𝑟, 𝜃 𝑡 ⟹ 𝑅̇ 𝑟, 𝜃 𝑅 : 𝑟, 𝜃 = 𝑆 𝜔 𝜔 = 𝜔e = 𝜃̇ 𝑟 = 𝜃̇ 𝑟R
𝑟S

Robotics 1 10
Time derivative of RPY angles and 𝜔
𝑅h(\ 𝛼O , 𝛽\ , 𝛾L = 𝑅L\ kO kk 𝛾L , 𝛽\ , 𝛼O = 𝑅L 𝛾 𝑅\ k 𝛽 𝑅O kk 𝛼
𝑇h(\ (𝛽, 𝛾)
𝑧
the three 𝑐𝛽𝑐𝛾 −𝑠𝛾 0 𝛼̇
contributions 𝜔 = 𝑐𝛽𝑠𝛾 𝑐𝛾 0 𝛽̇
𝛾𝑍,
̇ 𝛽𝑌̇ c , 𝛼𝑋
̇ cc −𝑠𝛽 0 1 𝛾̇
𝛾̇
to 𝜔 are 𝛽̇ 𝑋 cc 𝑌c 𝑍
𝑦c
simply summed
as vectors 𝑦
1st col in 2nd col in
𝛽 𝑅L 𝛾 𝑅\ k 𝛽 𝑅L 𝛾
𝑥 𝛾
𝑥c 𝛼̇ det 𝑇h(\ 𝛽, 𝛾 = cos 𝛽 = 0
for 𝛽 = ± 𝜋⁄2
(singularity of the
𝑥 cc
RPY representation)

similar treatment for the other 11 minimal representations...


Robotics 1 11
Robot Jacobian matrices
n analytical Jacobian (obtained by time differentiation)

𝑝 𝑝̇ 𝜕𝑓e 𝑞
𝑟 = 𝜙 = 𝑓e 𝑞 𝑟̇ = ̇ = 𝑞̇ = 𝐽e 𝑞 𝑞̇
𝜙 𝜕𝑞

n geometric or basic Jacobian (no derivatives)


𝑣 𝐽u (𝑞)
= 𝑞̇ = 𝐽(𝑞)𝑞̇
𝜔 𝐽v (𝑞)

n in both cases, the Jacobian matrix depends on the


(current) configuration of the robot

Robotics 1 12
Analytical Jacobian of planar 2R arm
𝑦
𝑃 𝜙 direct kinematics
𝑝𝑦 •
𝑙2 𝑝𝑥 = 𝑙1 cos 𝑞1 + 𝑙2 cos(𝑞1 + 𝑞2)
𝑞2
𝑟 𝑝𝑦 = 𝑙1 sin 𝑞1 + 𝑙2 sin(𝑞1 + 𝑞2)
𝑙1
𝜙 = 𝑞1 + 𝑞2
𝑞1
𝑝𝑥 𝑥
𝑝̇ 𝑥 = −𝑙1 𝑠$ 𝑞̇ $ − 𝑙" 𝑠$" 𝑞̇ $ + 𝑞̇ " −𝑙$ 𝑠$ − 𝑙" 𝑠$" −𝑙" 𝑠$"
𝐽 𝑞 = −𝑙$ 𝑠$ − 𝑙" 𝑠$" −𝑙" 𝑠$"
𝑝̇ 𝑦 = 𝑙1 𝑐$ 𝑞̇ $ + 𝑙" 𝑐$" 𝑞̇ $ + 𝑞̇ " 𝐽e 𝑞 = 𝑙𝑙$$𝑐𝑐$$ + 𝑙 𝑐
+ 𝑙"" 𝑐$"
$"
𝑙" 𝑐$"
𝑙" 𝑐$"
1 1
𝜙̇ = 𝜔S = 𝑞̇ 1 + 𝑞̇ "
given 𝑟, this is a 3 × 2 matrix
here, all rotations occur around the same
fixed axis 𝑧 (normal to the plane of motion)

Robotics 1 13
Analytical Jacobian of polar (RRP) robot
𝑝𝑧 𝑧
direct kinematics (here, 𝑟 = 𝑝)
𝑞3 𝑃
𝑝Q = 𝑞- 𝑐" 𝑐$
𝑞2 𝑝R = 𝑞- 𝑐" 𝑠$ 𝑓e (𝑞)
𝑑1 𝑝S = 𝑑$ + 𝑞- 𝑠"
𝑝𝑦
𝑦
𝑝𝑥 𝑞1 taking the time derivative
𝑥 −𝑞- 𝑐" 𝑠$ −𝑞- 𝑠" 𝑐$ 𝑐" 𝑐$
𝑣 = 𝑝̇ = 𝑞- 𝑐" 𝑐$ −𝑞- 𝑠" 𝑠$ 𝑐" 𝑠$ 𝑞̇ = 𝐽e 𝑞 𝑞̇
0 𝑞- 𝑐" 𝑠"
𝜕𝑓e 𝑞
𝜕𝑞
Robotics 1 14
Geometric Jacobian
always a 6 × 𝑛 matrix

end-effector 𝑣| 𝑞̇ $
𝐽u (𝑞) 𝐽u$ 𝑞 ⋯ 𝐽uE 𝑞
instantaneous 𝜔| = 𝑞̇ = ⋮
𝐽v (𝑞) 𝐽v$ 𝑞 ⋯ 𝐽vE 𝑞
velocity 𝑞̇ E
superposition of effects

𝑣| = 𝐽u$ 𝑞 𝑞̇ $ + ⋯ + 𝐽uE 𝑞 𝑞̇ E 𝜔| = 𝐽v$ 𝑞 𝑞̇ $ + ⋯ + 𝐽vE 𝑞 𝑞̇ E

contribution to the linear contribution to the angular


e-e velocity due to 𝑞̇ $ e-e velocity due to 𝑞̇ $

linear and angular velocity belong to


(linear) vector spaces in ℝ-

Robotics 1 15
Contribution of a prismatic joint
note: joints beyond the 𝑖 -th one are considered to be “frozen”,
so that the distal part of the robot is a single rigid body 𝐽u% 𝑞 𝑞̇ % = 𝑧%F$ 𝑑̇ %

𝑧%F$
𝐸

𝑞% = 𝑑%
prismatic
𝑖 -th joint

𝐽u% 𝑞 𝑞̇ % 𝑧%F$ 𝑑̇ %

joint 𝑖 𝐽v% 𝑞 𝑞̇ % 0
𝑅𝐹C

Robotics 1 16
Contribution of a revolute joint
𝐽u% 𝑞 𝑞̇ % 𝐽v% 𝑞 𝑞̇ % = 𝑧%F$ 𝜃̇%
𝑞% = 𝜃%
𝑧%F$
𝑝%F$,| 𝐸

𝑂%F$

𝐷 𝐷𝐸
why not use the revolute
minimum distance
vector 𝐷𝐸 ? 𝑖 -th joint

joint 𝑖
𝐽u% 𝑞 𝑞̇ % 𝑧%F$ × 𝑝%F$,| 𝜃̇%
𝑅𝐹C 𝐽v% 𝑞 𝑞̇ % 𝑧%F$ 𝜃̇%

Robotics 1 17
Expression of geometric Jacobian
𝑞̇ $
𝑝̇C,| 𝑣| 𝐽u (𝑞) 𝐽 𝑞 ⋯ 𝐽uE 𝑞
= 𝜔| = 𝑞̇ = u$ ⋮
𝜔| 𝐽v (𝑞) 𝐽v$ 𝑞 ⋯ 𝐽vE 𝑞
𝑞̇ E
prismatic revolute this can be also
𝑖 -th joint 𝑖 -th joint computed as

𝜕𝑝C,| (𝑞)
𝐽u% 𝑞 𝑧%F$ 𝑧%F$ × 𝑝%F$,| =
𝜕𝑞%

𝐽v% 𝑞 0 𝑧%F$
0
0 all vectors should be
C %F" %F$
𝑧%F$ = 𝑅$ 𝑞$ ⋯ 𝑅%F$ 𝑞%F$ 𝑧%F$ 1 expressed in the same
reference frame
𝑝%F$,| = 𝑝C,| (𝑞$ , ⋯ , 𝑞E ) − 𝑝C,%F$ (𝑞$ , ⋯ , 𝑞%F$ ) (here, the base frame 𝑅𝐹C )
complete kinematics partial kinematics
for e-e position for 𝑂%F$ position
Robotics 1 18
Geometric Jacobian of planar 2R arm
𝑦2 𝑥2 Denavit-Hartenberg table
• 𝐸 joint 𝛼% 𝑑% 𝑎% 𝜃%
𝑙2
𝑦1 𝑞" 1 0 0 𝑙$ 𝑞$
𝑦0 𝑥1 2 0 0 𝑙" 𝑞"
𝑙1
𝑞$
𝑐$ −𝑠$ 0 𝑙$ 𝑐$
𝑥0
C 𝑠$ 𝑐$ 0 𝑙$ 𝑠$ 𝑝C,$
𝐴$ =
𝑧C × 𝑝C,| 𝑧$ × 𝑝$,| 0 0 1 0
𝐽 𝑞 = 𝑧C 𝑧$ 0 0 0 1
𝑐$" −𝑠$" 0 𝑙$ 𝑐$ + 𝑙" 𝑐$"
0 𝑠$" 𝑐$" 𝑝C,|
C 0 𝑙$ 𝑠$ + 𝑙" 𝑠$"
𝑧C = 𝑧$ = 𝑧" = 0 𝐴" =
0 0 1 0
1
0 0 0 1
𝑝$,| = 𝑝C,| − 𝑝C,$
Robotics 1 19
Geometric Jacobian of planar 2R arm

𝑦2 𝑥2 𝑧C × 𝑝C,| 𝑧$ × 𝑝$,|
𝐽 𝑞 = 𝑧C 𝑧$
• 𝐸
𝑙2
𝑦1 𝑞" −𝑙$ 𝑠$ − 𝑙" 𝑠$" −𝑙" 𝑠$"
𝑦0 𝑥1 𝑙$ 𝑐$ + 𝑙" 𝑐$" 𝑙" 𝑐$"
𝑙1
𝑞$ = 0 0
0 0
𝑥0
0 0
1 1
note: the Jacobian is here a 6 × 2 matrix,
thus its maximum rank is 2
compare rows 1, 2, and 6
with the analytical
Jacobian in slide #13!
at most 2 components of the linear/angular
end-effector velocity can be independently assigned

Robotics 1 20
Transformations of Jacobian matrix
b) we may choose
𝑅𝐹𝑖
𝐸 ⇒ 𝑂& (𝑞)
𝑂𝑛
𝑂&
𝑟E|
the one just •𝐸
C
computed …
𝑣E C 𝑣| = 𝑣E + 𝜔 × 𝑟E|
𝑅𝐹0 C = 𝐽E 𝑞 𝑞̇
𝜔 = 𝑣E + 𝑆(𝑟|E ) 𝜔
† † C
𝑣| 𝑅C 0 𝐼 𝑆 C
𝑟|E 𝑣E
† = † C
𝑅𝐹𝐵 𝜔 0 𝑅C 0 𝐼 𝜔

𝑅C 0 𝐼 𝑆 C
𝑟|E C †
= † 𝐽E 𝑞 𝑞̇ = 𝐽| 𝑞 𝑞̇
0 𝑅C 0 𝐼
a) we may choose
𝑅𝐹† ⇒ 𝑅𝐹% (𝑞) never singular!

Robotics 1 21
Example: Dexter robot
n 8R robot manipulator with transmissions by
pulleys and steel cables (joints 3 to 8)
n lightweight: only 15 kg in motion
n motors located in second link
n incremental encoders (homing)
n redundancy degree for e-e pose task: 𝑛 − 𝑚 = 2
n compliant in the interaction with environment

Robotics 1 22
Mid-frame Jacobian of Dexter robot
n geometric Jacobian 0𝐽8(𝑞) is very complex
𝑂8
n “mid-frame” Jacobian 4𝐽4(𝑞) is relatively simple!

𝑥4
𝑦4
𝑂4
𝑧4

6 rows, 𝑧0
𝑥0
8 columns
𝑦0

Robotics 1 23
Summary of differential relations
𝑝̇ ⇄ 𝑣 𝑝̇ = 𝑣

𝑅̇ ⇄ 𝜔 𝑅̇ = 𝑆 𝜔 𝑅 for each (unit) column 𝑟% of 𝑅 (a frame): 𝑟%̇ = 𝜔 × 𝑟%


𝑆 𝜔 = 𝑅𝑅 ̇ :

𝜙̇ ⇄ 𝜔 𝜔 = 𝜔[̇ Œ + 𝜔[̇ • + 𝜔[̇ Ž = 𝑎$ 𝜙̇ $ + 𝑎" 𝜙$ 𝜙̇ " + 𝑎- 𝜙$ , 𝜙" 𝜙̇ -


= 𝑇 𝜙 𝜙̇
(moving) axes of definition for the
sequence of rotations 𝜙% , 𝑖 = 1,2,3

if the task vector 𝑟 is


𝑝 𝐼 0 𝐼 0
𝑟= 𝜙 𝐽e 𝑞 = 𝐽(𝑞) 𝐽 𝑞 = 𝐽e (𝑞)
0 𝑇 F$ 𝜙 0 𝑇 𝜙
𝑇 𝜙 has always ⟺ singularity of the specific minimal
a singularity representation of orientation
Robotics 1 24
Acceleration relations (and beyond…)
Higher-order differential kinematics

n differential relations between motion in the joint space and motion in


the task space can be established at the second order, third order, ...
n the analytical Jacobian always “weights” the highest-order derivative

velocity 𝑟̇ = 𝐽e 𝑞 𝑞̇ matrix function 𝑁" (𝑞, 𝑞)


̇

acceleration 𝑟̈ = 𝐽e 𝑞 𝑞̈ + 𝐽ė (𝑞)𝑞̇ matrix function 𝑁- (𝑞, 𝑞,̇ 𝑞)


̈

jerk 𝑟⃛ = 𝐽e 𝑞 𝑞⃛ + 2𝐽ė 𝑞 𝑞̈ + 𝐽ë (𝑞)𝑞̇

snap 𝑟̈̈ = 𝐽e (𝑞) 𝑞̈̈ + ⋯

n the same holds true also for the geometric Jacobian 𝐽(𝑞)

Robotics 1 25
Primer on linear algebra
given a matrix 𝐽: 𝑚 × 𝑛 (𝑚 rows, 𝑛 columns)
n rank 𝜌(𝐽) = max # of rows or columns that are linearly independent
n 𝜌 𝐽 ≤ min 𝑚, 𝑛 ⟸ if equality holds, 𝐽 has full rank
n if 𝑚 = 𝑛 and 𝐽 has full rank, 𝐽 is nonsingular and the inverse 𝐽F$ exists
n 𝜌 𝐽 = dimension of the largest nonsingular square submatrix of 𝐽
n range space ℛ 𝐽 = subspace of all linear combinations of the columns of 𝐽
ℛ 𝐽 = 𝑣 ∈ ℝ˜ ∶ ∃𝜉 ∈ ℝE , 𝑣 = 𝐽𝜉 also called image of 𝐽
n dim ℛ 𝐽 = 𝜌(𝐽)
n null space 𝒩(𝐽) = subspace of all vectors that are zeroed by matrix 𝐽
𝒩 𝐽 = 𝜉 ∈ ℝE : 𝐽𝜉 = 0 ∈ ℝ˜ also called kernel of 𝐽
n dim 𝒩 𝐽 = 𝑛 − 𝜌(𝐽)
n ℛ 𝐽 + 𝒩 𝐽: = ℝ˜ and ℛ 𝐽: + 𝒩 𝐽 = ℝE (sum of vector subspaces)
n any element 𝑣 ∈ 𝑉 = 𝑉$ + 𝑉" can be written as 𝑣 = 𝑣$ + 𝑣" , 𝑣$ ∈ 𝑉$ , 𝑣" ∈ 𝑉"

Robotics 1 26
Robot Jacobian
decomposition in linear subspaces and duality

space of space of
joint velocities 𝑱 task (Cartesian)
velocities

0 0
𝒩(𝐽) ℛ 𝐽
dual spaces

dual spaces
ℛ 𝐽 : + 𝒩 𝐽 = ℝE ℛ 𝐽 + 𝒩 𝐽 : = ℝ˜

ℛ 𝐽: 𝒩 𝐽:
0 0

𝑱𝑻
space of
space of
task (Cartesian)
joint torques
forces

(in a given configuration 𝑞 )


Robotics 1 27
Mobility analysis in the task space
n 𝜌(𝐽) = 𝜌(𝐽(𝑞)), ℛ 𝐽 = ℛ 𝐽(𝑞) , 𝒩 𝐽: = 𝒩 𝐽: (𝑞) , etc. are locally
defined, i.e., they depend on the current configuration 𝑞
n ℛ 𝐽(𝑞) is the 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 current 𝑞
n if 𝜌 𝐽 𝑞 = 𝑚 at 𝑞 (𝐽(𝑞) has max rank, with 𝑚 ≤ 𝑛), the end-effector
can be moved in any direction of the task space ℝ˜
n if 𝜌(𝐽(𝑞)) < 𝑚 , there are directions in ℝ˜ in which the end-effector
cannot move (at least, not instantaneously!)
: ˜
n these directions ∈ 𝒩 𝐽 (𝑞) , the complement of ℛ 𝐽(𝑞) to task space ℝ ,
which is of dimension 𝑚 − 𝜌(𝐽(𝑞))
n if 𝒩(𝐽 𝑞 ) ≠ 0 , there are non-zero joint velocities 𝑞̇ that produce
zero end-effector velocity (“self motions”)
n this happens always for 𝑚 < 𝑛 , i.e., when the robot is redundant for the task

Robotics 1 28
Mobility analysis for a planar 3R robot
whiteboard …
! #) * 𝑙$ = 𝑙" = 𝑙- = 1 𝑛 = 3, 𝑚 = 2
*! •
#%
&) = 1 𝑊𝑆$ = 𝑝 ∈ ℝ" : 𝑝 ≤ 3 ⊂ ℝ"
&% = 1
𝑊𝑆" = 𝑝 ∈ ℝ" : 𝑝 ≤ 1 ⊂ ℝ"
&$ = 1
#$ " 𝑐$ + 𝑐$" + 𝑐$"-
in ℝ " 𝑝= 𝑠 +𝑠 +𝑠 in ℝ-
*" $ $" $"-

−𝑠$ − 𝑠$" − 𝑠$"- −𝑠$" − 𝑠$"- −𝑠$"-


𝑣 = 𝑝̇ = 𝑐 + 𝑐 + 𝑐 𝑐$" + 𝑐$"- 𝑐$"- 𝑞̇ = 𝐽(𝑞)𝑞̇
$ $" $"-

case 1) case 2)
𝑞 = (0, 𝜋/2, 𝜋/2) 𝑞 = (𝜋/2, 0, 𝜋)
−1 −1 0 −1 0 1
𝐽= 𝐽=
0 −1 −1 0 0 0

n run the Matlab code subspaces_3Rplanar.m available in the course material


Robotics 1 29
Mobility analysis for a planar 3R robot
whiteboard …
−1 0
−1 −1 0
𝑞 = (0, 𝜋/2, 𝜋/2) 𝐽= 𝐽: = −1 −1
0 −1 −1
0 −1
case 1)
𝜌 𝐽 =2=𝑚 𝜌 𝐽: = 𝜌 𝐽 =2
1
1 0 dim 𝒩 𝐽 = 1
ℛ 𝐽 = , = ℝ" 𝒩 𝐽 = −1 =𝑛−𝜌 𝐽 =𝑛−𝑚
0 1
1

ℛ 𝐽 + 𝒩 𝐽 : = ℝ"
ℛ 𝐽 : + 𝒩 𝐽 = ℝ-

1 0
ℛ 𝐽: = −1 , −1 dim ℛ 𝐽: = 2 = 𝑚 𝒩 𝐽: = 0
0 1
Robotics 1 30
Mobility analysis for a planar 3R robot
whiteboard …
−1 0
𝑞 = (𝜋/2, 0, 𝜋) −1 0 1
𝐽= 𝐽: = 0 0
0 0 0
1 0
case 2)
𝜌 𝐽 =1<𝑚 𝜌 𝐽: = 𝜌 𝐽 =1
1 0 1
ℛ 𝐽 = dim 𝒩 𝐽 = 2
0 𝒩 𝐽 = 1 , 0
=𝑛−𝜌 𝐽
dim ℛ 𝐽 = 1 = 𝜌 𝐽 0 1

ℛ 𝐽 + 𝒩 𝐽 : = ℝ"
forbidden!
ℛ 𝐽 : + 𝒩 𝐽 = ℝ-

−1
dim ℛ 𝐽: = 1 0 dim 𝒩 𝐽: = 1
ℛ 𝐽 :
= 0 𝒩 𝐽: =
=𝑚−𝜌 𝐽 1 =𝑛−𝜌 𝐽
1
Robotics 1 31
Kinematic singularities
n configurations where the Jacobian loses rank
⟺ loss of instantaneous mobility of the robot end-effector
n for 𝑚 = 𝑛, they correspond to Cartesian poses at which the number of
solutions of the inverse kinematics problem differs from the generic case
n “in” a singular configuration, we cannot find any joint velocity that realizes
a desired end-effector velocity in some directions of the task space
n “close” to a singularity, large joint velocities may be needed to realize even
a small velocity of the end-effector in some directions of the task space
n finding and analyzing in advance the mobility of a robot helps in singularity
avoidance during trajectory planning and motion control
n when 𝑚 = 𝑛: find the configurations 𝑞 such that det 𝐽(𝑞) = 0
n when 𝑚 < 𝑛: find the configurations 𝑞 such that all 𝑚 × 𝑚 minors of 𝐽(𝑞) are
singular (or, equivalently, such that det 𝐽(𝑞)𝐽: (𝑞) = 0)
n finding all singular configurations of a robot with a large number of joints,
or the actual “distance” from a singularity, is a complex computational task
Robotics 1 32
Singularities of planar 2R robot
𝑦
𝑃 direct kinematics
𝑝𝑦 •
𝑙2 𝑝Q = 𝑙$ 𝑐$ + 𝑙" 𝑐$"
𝑞2
𝑝R = 𝑙$ 𝑠$ + 𝑙" 𝑠$"
𝑙1
𝑞1 𝑥 analytical Jacobian
𝑝𝑥
− 𝑙$ 𝑠$ − 𝑙" 𝑠$" − 𝑙" 𝑠$"
det 𝐽(𝑞) = 𝑙$ 𝑙" 𝑠" 𝑝̇ = 𝑞̇ = 𝐽(𝑞)𝑞̇
𝑙$ 𝑐$ + 𝑙" 𝑐$" 𝑙" 𝑐$"
n singularities: robot arm is stretched (𝑞" = 0) or folded (𝑞" = 𝜋)
n singular configurations correspond here to Cartesian points that are on the
boundary of the primary workspace
n here, and in many cases, singularities separate configuration space regions
with distinct inverse kinematic solutions (e.g., elbow ‘‘up” or “down”)
Robotics 1 33
Singularities of polar (RRP) robot
𝑧 𝑝
𝑧 direct kinematics
𝑞3 𝑝Q = 𝑞- 𝑐" 𝑐$
𝑃
𝑝R = 𝑞- 𝑐" 𝑠$
𝑞2
𝑝S = 𝑑$ + 𝑞- 𝑠"
𝑑1
𝑝𝑦 analytical Jacobian
𝑦 −𝑞- 𝑠$ 𝑐" −𝑞- 𝑐$ 𝑠" 𝑐$ 𝑐"
𝑝𝑥 𝑞1 𝑝̇ = 𝑞- 𝑐$ 𝑐" −𝑞- 𝑠$ 𝑠" 𝑠$ 𝑐" 𝑞̇
𝑥
0 𝑞- 𝑐" 𝑠"
det 𝐽(𝑞) = 𝑞-" 𝑐" = 𝐽(𝑞)𝑞̇
n singularities
n E-E is along the 𝑧 axis (𝑞" = ±𝜋/2): simple singularity ⇒ rank 𝜌(𝐽) = 2
n third link is fully retracted (𝑞- = 0): double singularity ⇒ rank 𝜌(𝐽) drops to 1
n all singular configurations correspond here to Cartesian points internal to
the workspace (supposing no range limits for the prismatic joint)
Robotics 1 34
Singularities of robots with spherical wrist
n 𝑛 = 6, last three joints are revolute and their axes intersect at a point
n without loss of generality, we set 𝑂¦ = 𝑊 = center of spherical wrist
(i.e., choose 𝑑¦ = 0 in DH table) and obtain for the geometric Jacobian
𝐽$$ 0
𝐽 𝑞 =
𝐽$" 𝐽""
n since det 𝐽 𝑞$ , ⋯ , 𝑞§ = det 𝐽$$ ¨ det 𝐽"" , there is a decoupling property
n det 𝐽$$ 𝑞$ , 𝑞" , 𝑞- = 0 provides the arm singularities

n det 𝐽"" 𝑞© , 𝑞§ = 0 provides the wrist singularities

n being in the geometric Jacobian 𝐽"" = 𝑧- 𝑧© 𝑧§ , wrist singularities


correspond to when 𝑧- , 𝑧© and 𝑧§ become linearly dependent vectors
⟹ when either 𝑞§ = 0 or 𝑞§ = ±𝜋/2 (see Euler angles singularities!)
n inversion of 𝐽(𝑞) is simpler (block triangular structure)
n the determinant of 𝐽(𝑞) will never depend on 𝑞$ : why?
Robotics 1 35

You might also like