Differential Kinematics: Robotics 1
Differential Kinematics: Robotics 1
Differential kinematics
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
of orientation
Robotics 1 2
Angular velocity of a rigid body
“rigidity” constraint on distances among points:
𝑟%& = constant
𝑣(" − 𝑣($
𝑃" 𝑣(% − 𝑣(& orthogonal to 𝑟%&
𝑣($ 𝑟$"
𝑣(" 1 𝑣(" − 𝑣($ = 𝜔$ × 𝑟$"
𝑃$ 𝑟"- 2 𝑣(- − 𝑣($ = 𝜔$ × 𝑟$-
𝑣(- − 𝑣($ 𝑟
$-
𝑃- 3 𝑣(- − 𝑣(" = 𝜔" × 𝑟"-
𝑣(-
𝜔$ = 𝑧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
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)
𝑝 𝑝̇ 𝜕𝑓e 𝑞
𝑟 = 𝜙 = 𝑓e 𝑞 𝑟̇ = ̇ = 𝑞̇ = 𝐽e 𝑞 𝑞̇
𝜙 𝜕𝑞
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
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
𝑝̇ ⇄ 𝑣 𝑝̇ = 𝑣
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
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
ℛ 𝐽 + 𝒩 𝐽 : = ℝ"
ℛ 𝐽 : + 𝒩 𝐽 = ℝ-
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