0% found this document useful (0 votes)
34 views28 pages

ENGG5402 L6 DifferentiaI Kinematics Lecture

The document discusses differential kinematics, focusing on the relationships between joint space motion and task space motion in robotics. It covers angular velocity, the velocity of end-effectors, and the differences in behavior between finite and infinitesimal translations and rotations. Additionally, it introduces the Jacobian matrix and its role in analyzing robot motion through time differentiation.

Uploaded by

ZHANG Hal
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)
34 views28 pages

ENGG5402 L6 DifferentiaI Kinematics Lecture

The document discusses differential kinematics, focusing on the relationships between joint space motion and task space motion in robotics. It covers angular velocity, the velocity of end-effectors, and the differences in behavior between finite and infinitesimal translations and rotations. Additionally, it introduces the Jacobian matrix and its role in analyzing robot motion through time differentiation.

Uploaded by

ZHANG Hal
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/ 28

Advanced Robotics

ENGG5402

Fei Chen
Topics:
• Differential Kinematics

Readings:
• Siciliano: Sec. 3
Observation

2
Differential Kinematics

• relations between motion (velocity) in joint space and


motion (linear/angular velocity) in task space (e.g.,
Cartesian space)
• instantaneous velocity mappings can be obtained through
time differentiation of the direct kinematics or in a geometric
way, directly at the differential level
• different treatments arise for rotational quantities

• establish the relation between angular velocity and

• time derivative of a rotation matrix


• time derivative of the angles in a minimal representation
of orientation
3
Angular Velocity of Rigid Body
“rigidity” constraint on distances among points:
𝑣𝑃2 − 𝑣𝑃1 𝑟𝑖𝑗 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡
𝑃2
𝑣𝑃1 𝑣𝑃𝑖 − 𝑣𝑃𝑗 orthogonal to 𝑟𝑖𝑗
𝑟12
𝑣𝑃2 1 𝑣𝑃2 − 𝑣𝑃1 = 𝜔1 × 𝑟12

𝑃1 𝑟23
2 𝑣𝑃3 − 𝑣𝑃1 = 𝜔1 × 𝑟13

𝑣𝑃3 − 𝑣𝑃1 𝑟13 3 𝑣𝑃3 − 𝑣𝑃2 = 𝜔2 × 𝑟23


𝑃3 ∀ 𝑃1 , 𝑃2 , 𝑃3
𝑣𝑃1 2-1=3 𝜔1 = 𝜔2 = 𝜔
aka, “(fundamental)
kinematic equation” of 𝑣𝑃𝑗 = 𝑣𝑃𝑖 + 𝜔 × 𝑟𝑖𝑗 = 𝑣𝑃𝑖 + 𝑆(𝜔)𝑟𝑖𝑗 𝑟𝑖𝑗
ሶ = 𝜔 × 𝑟𝑖𝑗
rigid bodies
• the angular velocity 𝜔 is associated to the whole body (not to a point)
• if ∃𝑃1, 𝑃2 ∶ 𝑣 𝑃1 = 𝑣 𝑃2 = 0 ⇒ pure rotation (circular motion of all 𝑃𝑗 ∉ line 𝑃1𝑃2)
• 𝜔 = 0 ⇒ pure translation (all points have the same velocity 𝑣 𝑃 )

4
Velocity of End-Effector
Linear and angular velocity of the robot end-effector
𝜔
𝜔2 = 𝑧1 𝜃2ሶ 𝜔𝑛 = 𝑧𝑛−1 𝜃𝑛ሶ 𝑣

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

5
Translations
Finite and infinitesimal translations

• finite Δ𝑥, Δ𝑦, Δ𝑧 or infinitesimal 𝑑𝑥, 𝑑𝑦, 𝑑𝑧 translations (linear displacements)


always commute
Δ𝑦 Δ𝑧
𝑧

𝑧
=

𝑦 𝑦

𝑥 𝑥 same final
Δ𝑧 Δ𝑦
position

6
Translations
note: finite rotations
Finite rotations do not commute (example)
𝑧 still commute when
𝑧 made around the
initial same fixed axis
orientation 𝜙𝑋 = 90 °
𝑦
𝑦

𝑥 𝑥

mathematical fact: 𝜔 is NOT


an exact differential form (the 𝜙𝑍 = 90°
integral of 𝜔 over time
𝑧 depends on the integration path!) 𝑧

𝜙𝑍 = 90°
𝑧
𝑦
𝑦
𝑥 different final
𝑥 ° orientations!
𝜙𝑋 = 90 𝑦
𝑥
7
Infinitesimal Rotations
Infinitesimal rotations commute!
• infinitesimal rotations 𝑑𝜙𝑋 , 𝑑𝜙 𝑌 , 𝑑𝜙𝑍 around 𝑥, 𝑦, 𝑧 axes
1 0 0
1 0 0
𝑅𝑋 𝑑𝜙𝑋 = 0 1 −𝑑𝜙𝑋
𝑅𝑋 𝜙𝑋 = 0 cos 𝜙𝑋 − sin 𝜙𝑋
0 𝑑𝜙𝑋 1
0 sin 𝜙𝑋 cos 𝜙𝑋

cos 𝜙y 0 sin 𝜙y 1 0 𝑑𝜙𝑌


𝑅y 𝜙𝑦 = 0 1 0 𝑅𝑌 𝑑𝜙𝑌 = 0 1 0
−sin 𝜙y 0 cos 𝜙y −𝑑𝜙𝑌 0 1

cos 𝜙z − sin 𝜙z 0 1 −𝑑𝜙𝑍 0


𝑅𝑧 𝜙𝑧 = sin 𝜙z cos 𝜙z 0 𝑅𝑍 𝑑𝜙𝑍 = 𝑑𝜙𝑍 1 0
0 0 1 0 0 1

1 −𝑑𝜙𝑍 𝑑𝜙𝑌
𝑅(𝑑𝜙) = 𝑅 𝑑𝜙𝑋 , 𝑑𝜙𝑌 , 𝑑𝜙𝑍 = 𝑑𝜙𝑍 1 −𝑑𝜙𝑋 neglecting second- and
−𝑑𝜙𝑌 𝑑𝜙𝑋 1 third-order (infinitesimal)
= 𝐼 + 𝑆(𝑑𝜙) terms
in any order

8
Time Derivative of R
• let 𝑅 = 𝑅(𝑡) be a rotation matrix, given as a function of time
• since 𝐼 = 𝑅(𝑡)𝑅𝑇 (𝑡) taking the time derivative of both sides yields
𝑑 𝑅 𝑡 𝑅𝑇 𝑡 𝑑𝑅 𝑡 𝑑𝑅 𝑇
𝑡
0=
𝑑𝑡
=
𝑑𝑡
𝑅𝑇 𝑡 + 𝑅 𝑡
𝑑𝑡
𝜔
𝑑𝑅 𝑡
= 𝑅𝑇 𝑡 + ((𝑑𝑅(𝑡)/𝑑𝑡)𝑅𝑇 𝑡 )𝑇
𝑑𝑡
dR t
• thus 𝑅 𝑇 (𝑡) = 𝑆(𝑡) is a skew-symmetric matrix
dt
• let 𝑝(𝑡) = 𝑅(𝑡)𝑝′ a vector (with constant norm) rotated over time
𝑝
• comparing 𝑝(𝑡)
ሶ ′ ′
= (𝑑𝑅(𝑡)/𝑑𝑡)𝑝 = 𝑆(𝑡)𝑅(𝑡)𝑝 = 𝑆(𝑡)𝑝(𝑡)
𝑝(𝑡)
ሶ = 𝜔(𝑡) × 𝑝(𝑡) = 𝑆(𝜔(𝑡))𝑝(𝑡)
𝑝
• we get 𝑆 = 𝑆(𝜔)

𝑅ሶ = 𝑆 𝜔 𝑅 ሶ
𝑆 𝜔 = 𝑅𝑅 𝑇

9
Time Derivative of R
Example (Time derivative of an elementary rotation matrix)
1 0 0
0 −𝜔𝑧 𝜔𝑦
𝑅𝑋 (𝜙(𝑡)) = 0 cos 𝜙 (𝑡) − sin 𝜙 (𝑡)
0 sin 𝜙 (𝑡) cos 𝜙 (𝑡) 𝑆 𝜔 = 𝜔𝑧 0 −𝜔𝑥
−𝜔𝑦 𝜔𝑥 0

0 0 0 1 0 0 0 0 0
𝑅𝑋 (𝜙)𝑅𝑋 (𝜙) = 𝜙ሶ 0
ሶ 𝑇 − sin 𝜙 − cos 𝜙 0 cos 𝜙 sin 𝜙 = 0 0 −𝜙ሶ = 𝑆(𝜔)
0 cos 𝜙 − sin 𝜙 0 − sin 𝜙 cos 𝜙 0 𝜙ሶ 0 𝜙ሶ
𝜔 = 𝜔𝑋 = 0
0
more in general, for the axis/angle rotation matrix
𝑟𝑥
𝑅 𝑟, 𝜃 𝑡 ሶ 𝑇
⟹ 𝑅 𝑟, 𝜃 𝑅 𝑟, 𝜃 = 𝑆 𝜔 ሶ = 𝜃ሶ 𝑟𝑦
𝜔 = 𝜔𝑟 = 𝜃𝑟
𝑟𝑧

10
RPY Angles and 𝝎
Time derivative of RPY angles and 𝝎
𝑅𝑅𝑃𝑌 𝛼𝑋 , 𝛽𝑌 , 𝛾𝑍 = 𝑅𝑍𝑌 ′ 𝑋 ′′ 𝛾𝑍 , 𝛽𝑌 , 𝛼𝑋 = 𝑅𝑍 (𝛾)𝑅𝑌 ′ (𝛽)𝑅𝑋 ′′ (𝛼)

𝑧
𝑇𝑅𝑃𝑌 (𝛽, 𝛾)

the three contributions


ሶ 𝛽ሶ ሶ𝑌′, 𝛼𝑋′′to
𝛾𝑍, ሶ 𝜔 are 𝑐𝛽𝑐𝛾 −𝑠𝛾 0 𝛼ሶ
simply summed as 𝛾ሶ 𝜔 = 𝑐𝛽𝑠𝛾 𝑐𝛾 0 𝛽ሶ
vectors 𝛽ሶ 𝑦′ −𝑠𝛽 0 1 𝛾ሶ
𝑋 ′′ 𝑌 ′′ 𝑍
𝑦
1st col in 2nd col in
𝑥 𝛽 𝑅𝑧 (𝛾)𝑅𝑌′ (𝛽) 𝑅𝑧 (𝛾)
𝛾
𝛼ሶ 𝐷𝑒𝑡(𝑇𝑅𝑃𝑌 (𝛽, 𝛾)) = 𝑐𝛽 = 0 when 𝛽= −𝜋/2 or +𝜋/2
𝑥′ *
𝑥′′
* Similar treatment for the other 11 minimal representations...

11
Jacobian
Robot Jacobian matrices

• analytical Jacobian (obtained by time differentiation)

𝑝 𝑝ሶ 𝜕𝑓𝑟 (𝑞)
𝑟 = 𝜙 = 𝑓𝑟 (𝑞) 𝑟ሶ = ሶ = 𝑞ሶ = 𝐽𝑟 (𝑞)𝑞ሶ
𝜙 𝜕𝑞

• geometric or basic Jacobian (no derivatives)

𝑣 𝐽𝐿 (𝑞)
= 𝑞ሶ = 𝐽(𝑞)𝑞ሶ
𝜔 𝐽𝐴 (𝑞)
• in both cases, the Jacobian matrix depends on the (current) configuration of
the robot

12
Analytical Jacobian of Planar 2R Robot
Equivalent interpretations of a rotation matrix
𝑦
𝑃 direct kinematics
𝜙
𝑝𝑦 •
𝑝𝑥 = 𝑙1 cos 𝑞1 + 𝑙2 cos 𝑞1 + 𝑞2
𝑙2
𝑞2 𝑝𝑦 = 𝑙1 sin 𝑞1 + 𝑙2 sin 𝑞1 + 𝑞2
𝑙1
𝑞1
𝜙 = 𝑞1 + 𝑞2
𝑝𝑥 𝑥

𝑝ሶ𝑥 = −𝑙1 𝑠1 𝑞ሶ 1 − 𝑙2 𝑠12 𝑞ሶ 1 + 𝑞ሶ 2 −𝑙1 𝑠1 − 𝑙2 𝑠12 −𝑙2 𝑠12


𝐽𝑟 (𝑞) = 𝑙1 𝑐1 + 𝑙2 𝑐12 𝑙2 𝑐12
𝑝ሶ𝑦 = 𝑙1 𝑐1 𝑞ሶ 1 + 𝑙2 𝑐12 𝑞ሶ 1 + 𝑞ሶ 2
1 1
𝜙ሶ = 𝜔𝑧 = 𝑞ሶ 1 + 𝑞ሶ 2
given 𝑟, this is a 3 × 2 matrix

here, all rotations occur around the same fixed axis z (normal to the plane of motion)
13
Analytical Jacobian of RRP Robot
Analytical Jacobian of polar (RRP) robot

𝑝𝑧
𝑧 direct kinematics (here, 𝑟 = 𝑝)
𝑞3
𝑝𝑥 = 𝑞3 𝑐2 𝑐1
𝑃
𝑝𝑦 = 𝑞3 𝑐2 𝑠1 𝑓𝑟 (q)
𝑞2
𝑝𝑧 = 𝑑1 + 𝑞3 𝑠2
𝑑1 taking the time derivative
𝑝𝑦
−𝑞3 𝑐2 𝑠1 −𝑞3 𝑠2 𝑐1 𝑐2 𝑐1
𝑦 𝑣 = 𝑝ሶ = 𝑞3 𝑐2 𝑐1 −𝑞3 𝑠2 𝑠1 𝑐2 𝑠1 𝑞ሶ = 𝐽𝑟 (𝑞)𝑞ሶ
𝑝𝑥 𝑞1 0 𝑞3 𝑐2 𝑠2
𝑥
𝜕𝑓𝑟 (𝑞)
𝜕𝑞
14
Geometric Jacobian
Geometric Jacobian
always a 6 × 𝑛 matrix

end-effector 𝑣𝐸 𝑞ሶ 1
𝐽𝐿 (𝑞) 𝐽𝐿1 (𝑞) ⋯ 𝐽𝐿𝑛 (𝑞)
instantaneous velocity
𝜔𝐸 = 𝑞ሶ = ⋮
𝐽𝐴 (𝑞) 𝐽𝐴1 (𝑞) ⋯ 𝐽𝐴𝑛 (𝑞)
𝑞ሶ 𝑛
superposition of effects

𝑣𝐸 = 𝐽𝐿1 (𝑞)𝑞ሶ 1 + ⋯ + 𝐽𝐿𝑛 (𝑞)𝑞ሶ 𝑛 𝜔𝐸 = 𝐽𝐴1 (𝑞)𝑞ሶ 1 + ⋯ + 𝐽𝐴𝑛 (𝑞)𝑞ሶ 𝑛

contribution to the linear contribution to the angular


e-e velocity due to 𝑞ሶ 1 e-e velocity due to 𝑞ሶ 1
linear and angular velocity belong
to (linear) vector spaces in ℝ 3
15
Prismatic Joint
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
𝐽𝐿𝑖 𝑞(𝑞ሶ 𝑖 ) = 𝑑𝑖 𝑧𝑖−1 𝑑ሶ 𝑖

𝑧𝑖−1 𝐸

𝑞𝑖 = 𝑑𝑖 prismatic
𝑖-th joint
𝐽𝐿𝑖 𝑞(𝑞ሶ 𝑖 ) 𝑧𝑖−1 𝑑ሶ 𝑖

𝐽𝐴𝑖 𝑞(𝑞ሶ 𝑖 ) 0
𝑗𝑜𝑖𝑛𝑡 𝑖
R𝐹0

16
Revolute Joint
Contri but i on of a revolute j oi nt
𝐽𝐿𝑖 𝑞(𝑞ሶ 𝑖 )
𝑞𝑖−1 = 𝜃𝑖
𝐽𝐴𝑖 𝑞(𝑞ሶ 𝑖 ) = 𝑧𝑖−1 𝜃ሶ𝑖
𝑧𝑖−1 𝐸
𝑝𝑖−1,𝐸


𝑂𝑖−1
𝐷𝐸
𝐷 why not use the minimum prismatic
distance vector 𝐷𝐸 ? 𝑖-th joint
𝐽𝐿𝑖 𝑞(𝑞ሶ 𝑖 ) (𝑧𝑖−1 × 𝑝𝑖−1,𝐸 )𝜃ሶ𝑖

𝐽𝐴𝑖 𝑞(𝑞ሶ 𝑖 ) 𝑧𝑖−1 𝜃ሶ𝑖

R𝐹0

17
Geometric Jacobian
Expression of geometric Jacobian

𝑣𝐸 𝑞ሶ 1
𝑝ሶ0,𝐸 𝐽𝐿 (𝑞) 𝐽𝐿1 (𝑞) ⋯ 𝐽𝐿𝑛 (𝑞)
= 𝜔 = 𝑞ሶ = ⋮
𝜔𝐸 𝐸 𝐽𝐴 (𝑞) 𝐽𝐴1 (𝑞) ⋯ 𝐽𝐴𝑛 (𝑞)
𝑞ሶ 𝑛
prismatic revolute
𝑖-th joint 𝑖-th joint
𝐽𝐿𝑖 𝑞 𝑧𝑖−1 𝑧𝑖−1 × 𝑝𝑖−1,𝐸
𝐽𝐴𝑖 𝑞 0 𝑧𝑖−1

0
0 𝑖−2 𝑖−1
* 𝑧𝑖−1 = 𝑅1 𝑞1 ⋯ 𝑅𝑖−1 𝑞𝑖−1 𝑧𝑖−1 0
1 all vectors should be expressed
* 𝑝𝑖−1,𝐸 = 𝑝0,𝐸 𝑞1 , ⋯ , 𝑞𝑛 − 𝑝0,𝑖−1 𝑞1 , ⋯ , 𝑞𝑖−1 in the same reference frame
complete kinematics partial kinematics (here, the base frame R𝐹0)
for e-e position for𝑂𝑖−1 position

18
Geometric Jacobian
Geometric Jacobian of planar 2R arm
𝑥2
𝑦2 𝑧0 × 𝑝0,𝐸 𝑧1 × 𝑝1,𝐸

𝐸 𝐽(𝑞) = 𝑧0 𝑧1
𝑙2 𝑞2 0
𝑦1
* 𝑧0 = 𝑧1 = 𝑧2 = 0
𝑥1
𝑙1 1
𝑦0 𝑝1,𝐸 = 𝑝0,𝐸 − 𝑝0,1
𝑞1 *
𝑥0
𝑐1 −𝑠1 0 𝑙1 𝑐1
0𝐴 𝑠1 𝑐1 0 𝑙1 𝑠1 𝑝0,1
Denavit-Hartenberg table 1 =
0 0 1 0
joint 𝛼𝑖 𝑑𝑖 𝑎𝑖 𝜃𝑖 0 0 0 1
1 0 0 𝑙1 𝑞1 𝑐12 −𝑠12 0 𝑙1 𝑐1 + 𝑙2 𝑐12
𝑝0,𝐸
2 0 0 𝑙2 𝑞2 0𝐴 𝑠12 𝑐12 0 𝑙1 𝑠1 + 𝑙2 𝑠12
2 =
0 0 1 0
0 0 0 1
19
Geometric Jacobian
Geometric Jacobian of planar 2R arm
𝑥1

𝑦2 −𝑙1 𝑠1 − 𝑙2 𝑠12 𝑙2 𝑠12


𝐸

𝑙1 𝑐1 − 𝑙2 𝑐12 𝑙2 𝑐12
𝑧0 × 𝑝0,𝐸 𝑧1 × 𝑝1,𝐸 0 0
𝐽(𝑞) = 𝑧0 𝑧1 =
𝑙2 0 0
𝑞2
𝑦1
0 0
𝑥1 1 1
compare rows 1, 2, and 6 with the analytical
𝑙1 Jacobian in previous slide.
𝑦0 𝑞1

𝑥0

note: the Jacobian is here a 6 × 2 mat at most 2 components of the linear/angular end-
thus its maximum rank is 2 effector velocity can be independently assigned
20
Summary
Summary of differential relations
𝑝ሶ ⇄ 𝑣 𝑝ሶ = 𝑣

𝑅ሶ = 𝑆(𝜔)𝑅 for each (unit) column 𝑟𝑖 of 𝑅 (a frame): 𝑟𝑖ሶ = 𝜔 × 𝑟𝑖


𝑅ሶ ⇄ 𝜔 ሶ 𝑇
𝑆(𝜔) = 𝑅𝑅

𝜙ሶ ⇄ 𝜔 𝜔 = 𝜔𝜙ሶ 1 + 𝜔𝜙ሶ 2 + 𝜔𝜙ሶ 2 = 𝑎1 𝜙ሶ 1 + 𝑎2 𝜙1 𝜙ሶ 2 + 𝑎3 𝜙1 , 𝜙2 𝜙ሶ 3 = 𝑇(𝜙)𝜙ሶ


𝜙ሶ

if the task vector 𝑟 is eg: (moving) axes of definition for the


sequence of rotations 𝜙𝑖 , 𝑖 = 1,2,3

𝑝 𝐼 0 𝐼 0
𝑟= 𝜙 𝐽𝑟 (𝑞) = −1 𝐽(𝑞) 𝐽(𝑞) = 𝐽𝑟 (𝑞)
0 𝑇 (𝜙) 0 𝑇(𝜙)
singularity of the specific minima
𝑇(𝜙) has always a singularity ⟺ representation of orientation

21
Acceleration Relations
Acceleration relations (and beyond…)
(Higher-order differential kinematics)

• differential relations between motion in the joint space and motion in the task space
can be established at the second order, third order, ...
• the analytical Jacobian always “weights” the highest-order derivative

velocity 𝑟ሶ = 𝐽𝑟 (𝑞)𝑞ሶ
matrix function 𝑁2(𝑞, 𝑞)

acceleration 𝑟ሷ = 𝐽𝑟 (𝑞)𝑞ሷ + 𝐽𝑟ሶ (𝑞)𝑞ሶ
matrix function 𝑁3(𝑞, 𝑞,ሶ 𝑞)

jerk 𝑞 + 2𝐽𝑟ሶ (𝑞)𝑞ሷ + 𝐽𝑟ሷ (𝑞)𝑞ሶ
𝑟ഺ = 𝐽𝑟 (𝑞)ഺ

snap ഻
𝑟 = 𝐽𝑟 (𝑞)഻
𝑞 +. . .
Linked to “dynamics”
• the same holds true also for the geometric Jacobian 𝐽(𝑞)

22
Primer on Linear Algebra
given a matrix 𝐽: 𝑚 × 𝑛 (𝑚 rows, 𝑛 columns)
• rank 𝜌(𝐽) = max # of rows or columns that are linearly independent
• 𝜌(𝐽) ≤ min(𝑚, 𝑛) ⟸ if equality holds, 𝐽 has full rank
−1
• If 𝐽 is square 𝑚 = 𝑛 and 𝐽 has full rank, 𝐽 is nonsingular and the inverse 𝐽 exists
• 𝜌(𝐽) = dimension of the largest nonsingular square submatrix of 𝐽
• range space ℛ(𝐽) =subspace of all linear combinations of the columns of 𝐽
𝑚 𝑛
ℛ(𝐽) = 𝑣 ∈ ℝ : ∃𝜉 ∈ ℝ , 𝑣 = 𝐽𝜉 also called image of 𝐽
• dim ℛ(𝐽) = 𝜌(𝐽)
• null space 𝒩(𝐽) = subspace of all vectors that are zeroed by matrix 𝐽
𝑛 𝑚
𝒩(𝐽) = 𝜉 ∈ ℝ : 𝐽𝜉 = 0 ∈ ℝ
• dim 𝒩(𝐽)= 𝑛 − 𝜌(𝐽) also called kernel of 𝐽
𝑇 𝑇
• ℛ(𝐽) + 𝒩(𝐽 ) = ℝ and ℛ(𝐽 ) + 𝒩(𝐽) = ℝ𝑛 (sum of vector subspaces)
𝑚

23
Robot Jacobian Bruno: page 122

Robot Jacobian (decomposition in linear subspaces and duality)

space of joint Given 𝑱 space of task


velocities (Cartesian)
0 velocities
0
𝒩(𝐽) ℛ(𝐽)

(in a given configuration 𝑞)

24
Robot Jacobian Bruno: page 122

Robot Jacobian (decomposition in linear subspaces and duality)

space of joint Given 𝑱 space of task


velocities (Cartesian)
0 velocities
0
𝒩(𝐽) ℛ(𝐽)

dual spaces
dual spaces

𝑇 𝑛 ℛ 𝐽 +𝒩 𝐽 𝑇 = ℝ 𝑚
ℛ 𝐽 +𝒩 𝐽 = ℝ

ℛ(𝐽𝑇 ) 𝒩(𝐽 )𝑇
00 0

𝑱 𝑻
space of task
space of joint (Cartesian)
torques forces
(in a given configuration 𝑞)

25
Robot Jacobian Bruno: page 122

Robot Jacobian (decomposition in linear subspaces and duality)

space of joint Given 𝑱 space of task


velocities (Cartesian)
0 velocities
0
𝒩(𝐽) ℛ(𝐽)

dual spaces
dual spaces

𝑇 𝑛 ℛ 𝐽 +𝒩 𝐽 𝑇 = ℝ 𝑚
ℛ 𝐽 +𝒩 𝐽 = ℝ

ℛ(𝐽𝑇 ) 𝒩(𝐽 )𝑇
00 0

𝑱 𝑻
space of task
space of joint (Cartesian)
torques forces
(in a given configuration 𝑞)
linked to “static force”
26
Mobility Analysis
Mobility analysis in the task space
• 𝜌 𝐽 = 𝜌 𝐽 𝑞 ,ℛ 𝐽 = ℛ 𝐽 𝑞 ,𝒩 𝐽 𝑇 = 𝑇
𝒩(𝐽 (𝑞)) , etc. are locally defined, i.e., they
depend on the current configuration 𝑞
• ℛ 𝐽 𝑞 is the 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 𝑞
• if 𝜌 𝐽 𝑞 = 𝑚 at 𝑞 (𝐽(𝑞) has max rank, with 𝑚 ≤ 𝑛), the end-effector can be moved in
any direction of the task space ℝ 𝑚


𝑚
if 𝜌 𝐽 𝑞 < 𝑚, there are directions in ℝ in which the end-effector cannot move (at
least, not instantaneously!)
𝑇 𝑚
• these directions ∈ 𝒩(𝐽 (𝑞)) , the complement of ℛ(𝐽 𝑞 ) to task space ℝ , which
is of dimension 𝑚 − 𝜌(𝐽(𝑞))
• if 𝒩 𝐽 𝑞 ≠ {0} , there are non-zero joint velocities 𝑞ሶ that produce zero end-effector
velocity (“self motions”)
• this happens always for 𝑚 < 𝑛, i.e., when the robot is redundant for the task

27
Q&A

You might also like