This document chapter discusses manipulator kinematics. It covers forward kinematics, which is determining the end effector position from joint angles. Inverse kinematics is determining the joint angles required for a desired end effector position. The manipulator Jacobian relates joint velocities to end effector velocities. Redundant manipulators have more degrees of freedom than required to perform a task. The chapter provides the procedure for determining the forward kinematics, including using the product of exponentials formula. An example of calculating forward kinematics for a SCARA manipulator is also presented.
Science 7 - LAND and SEA BREEZE and its Characteristics
[Download] Rev-Chapter-3
1. Chapter 3 Manipulator Kinematics
1
Chapter Lecture Notes for
Manipulator
Kinematics
A Geometrical Introduction to
Forward
kinematics Robotics and Manipulation
Inverse
Kinematics
Manipulator
Richard Murray and Zexiang Li and Shankar S. Sastry
Jacobian CRC Press
Redundant
Manipulators
Reference
Zexiang Li and Yuanqing Wu
ECE, Hong Kong University of Science & Technology
May ,
27. Chapter 3 Manipulator Kinematics
3.1 Forward kinematics
14
in which, r = c (c c − s c s ) + s (s s c + s c c s + c s s )
Chapter r = −c (s c c + c s ) + s s s
r = c (−c s s − (c c s + c s )s ) + (c c − c s s )s
Manipulator
Kinematics
r = c (c s + c c s ) − (c c s + (c c c − s s )s )s
Forward
kinematics
r = c (c c c − s s ) − c s s
Inverse
Kinematics
Manipulator
Jacobian
r = c (c c s + (c c c − s s )s ) + (c s + c c s )s
Redundant r = −(c s s ) − (c c − c s s )s
r = −(c c s ) − c s
Manipulators
Reference
r = c (c c − c s s ) − s s s
28. Chapter 3 Manipulator Kinematics
3.1 Forward kinematics
14
in which, r = c (c c − s c s ) + s (s s c + s c c s + c s s )
Chapter r = −c (s c c + c s ) + s s s
r = c (−c s s − (c c s + c s )s ) + (c c − c s s )s
Manipulator
Kinematics
r = c (c s + c c s ) − (c c s + (c c c − s s )s )s
Forward
kinematics
r = c (c c c − s s ) − c s s
Inverse
Kinematics
Manipulator
Jacobian
r = c (c c s + (c c c − s s )s ) + (c s + c c s )s
Redundant r = −(c s s ) − (c c − c s s )s
r = −(c c s ) − c s
Manipulators
Reference
r = c (c c − c s s ) − s s s
Simplify forward Kinematics Map:
Choose base frame or ref. Config. s.t. gst ( ) = I
31. Chapter 3 Manipulator Kinematics
3.1 Forward kinematics
16
Example: A planar serial 3-bar linkage
Chapter
(a) Workspace calculation: θ3
g = (x, y, ϕ)
θ2
Manipulator l2
l3
x =l c +l c +l c
Kinematics
y =l s +l s +l s
θ1
l1
Forward
kinematics
ϕ=θ +θ +θ
(a) (b)
Inverse
Kinematics
(b) Construction of Workspace:
Manipulator
Jacobian (c) Reachable Workspace: l1 l2 l3
2l3 2l3
Redundant (d) Dextrous Workspace:
Manipulators
(c) (d)
Reference
Figure 3.5
32. Chapter 3 Manipulator Kinematics
3.1 Forward kinematics
16
Example: A planar serial 3-bar linkage
Chapter
(a) Workspace calculation: θ3
g = (x, y, ϕ)
θ2
Manipulator l2
l3
x =l c +l c +l c
Kinematics
y =l s +l s +l s
θ1
l1
Forward
kinematics
ϕ=θ +θ +θ
(a) (b)
Inverse
Kinematics
(b) Construction of Workspace:
Manipulator
Jacobian (c) Reachable Workspace: l1 l2 l3
2l3 2l3
Redundant (d) Dextrous Workspace:
Manipulators
(c) (d)
Reference
Figure 3.5
◻ R manipulator with maximum
workspace (Paden):
Elbow manipulator and its kinematics inverse.
† End of Section †
34. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
17
Definition: Inverse kinematics
Given g ∈ SE( ), find θ ∈ Q s.t.
gst (θ) = g, where gst ∶ Q ↦ SE( )
Chapter
Manipulator
Kinematics
Forward
kinematics
Example: A planar example
Inverse
Kinematics (x, y) (x, y)
Manipulator l2
Jacobian θ2
θ2 r
Redundant
y α
Manipulators l1 β
Reference θ1 φ θ1
B
x
(a) (b)
Figure 3.6
x = l cos θ + l cos (θ + θ )
y = l sin θ + l sin (θ + θ )
Given (x, y), solve for (θ , θ ).
35. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
18
Review:
Chapter
Polar Coordinates:
(r, ϕ), r = x +y
Manipulator
Kinematics
Forward
Law of cosines:
θ = π ± α, α = cos−
kinematics
l +l −r
Inverse
Flip solution: π + α
Kinematics
ll
Manipulator
r +l −l
Jacobian
Redundant
Manipulators θ = atan (y, x) ± β, β = cos−
lr
Reference
36. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
18
Review:
Chapter
Polar Coordinates:
(r, ϕ), r = x +y
Manipulator
Kinematics
Forward
Law of cosines:
θ = π ± α, α = cos−
kinematics
l +l −r
Inverse
Flip solution: π + α
Kinematics
ll
Manipulator
r +l −l
Jacobian
Redundant
Manipulators θ = atan (y, x) ± β, β = cos−
lr
Reference
Hight Lights:
Subproblems
Each has zero, one or two solutions!
37. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
19
◻ Paden-Kahan Subproblems:
Chapter Subproblem 1: Rotation about a single axis
Manipulator
Kinematics
Let ξ be a zero-pitch twist, with unit magnitude and two points
p, q ∈ ℝ . Find θ s.t. eξθ p = q
Forward
kinematics
ˆ
Inverse
Kinematics
Manipulator p
Jacobian
u
Redundant u′
Manipulators r θ ξ θ
Reference v′
v
q
(a) (b)
Figure 3.6
38. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
19
◻ Paden-Kahan Subproblems:
Chapter Subproblem 1: Rotation about a single axis
Manipulator
Kinematics
Let ξ be a zero-pitch twist, with unit magnitude and two points
p, q ∈ ℝ . Find θ s.t. eξθ p = q
Forward
kinematics
ˆ
Inverse
Kinematics
Manipulator p
Jacobian
u
Redundant u′
Manipulators r θ ξ θ
Reference v′
v
q
(a) (b)
Figure 3.6
Solution: Let r ∈ l ξ , define u = p − r, v = q − r, eξθ r = r
ˆ
(Continues next slide)
39. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
20
Moreover,
Chapter
Manipulator ⇒ eξθ p = q ⇒ eξθ (p − r) = q − r ⇒
ˆ ˆ eωθ
ˆ
∗ u
=
v
Kinematics
u v
w u=w v
Forward
⇒ eωθ u = v
kinematics T T
ˆ
Inverse
Kinematics
u = v
Manipulator
Jacobian
p
Redundant
Manipulators
u
u′
Reference r θ ξ θ
v′
v
q
(a) (b)
Figure 3.6
(Continues next slide)
40. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
21
u′ = (I − ωωT )u, v′ = (I − ωωT )v
u′ = v′
Chapter
Manipulator
ωT u = ωT v
Kinematics The solution exists only if
Forward
kinematics
Inverse
Kinematics
Manipulator
Jacobian
Redundant
Manipulators
Reference
41. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
21
u′ = (I − ωωT )u, v′ = (I − ωωT )v
u′ = v′
Chapter
Manipulator
ωT u = ωT v
Kinematics The solution exists only if
Forward
kinematics
If u′ ≠ , then
Inverse
Kinematics
Manipulator
u′ × v′ = ω sin θ u′ v′
Jacobian
Redundant
Manipulators
u′ ⋅ v′ = cos θ u′ v′
Reference
⇒ θ = atan (ωT (u′ × v′ ), u′T v′ )
42. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
21
u′ = (I − ωωT )u, v′ = (I − ωωT )v
u′ = v′
Chapter
Manipulator
ωT u = ωT v
Kinematics The solution exists only if
Forward
kinematics
If u′ ≠ , then
Inverse
Kinematics
Manipulator
u′ × v′ = ω sin θ u′ v′
Jacobian
Redundant
Manipulators
u′ ⋅ v′ = cos θ u′ v′
Reference
⇒ θ = atan (ωT (u′ × v′ ), u′T v′ )
If u′ = , ⇒ Infinite number of solutions!
43. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
22
Subproblem 2: Rotation about two subsequent axes
Chapter Let ξ and ξ be two zero-pitch, unit magnitude twists, with
intersecting axes, and p, q ∈ R . find θ and θ s.t.
Manipulator
Kinematics
eξ θ eξ θ p = q.
Forward ˆ ˆ
kinematics
Inverse
Kinematics p
ξ2
Manipulator
Jacobian θ2
Redundant
Manipulators
c
Reference
r θ1
ξ1
q
Figure 3.6
(Continues next slide)
44. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
23
Solution: If two axes of ξ and ξ coincide, then we get:
Subproblem 1: θ + θ = θ
Chapter
Manipulator
Kinematics
Forward
kinematics
Inverse
Kinematics
Manipulator
Jacobian
Redundant
Manipulators
Reference
45. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
23
Solution: If two axes of ξ and ξ coincide, then we get:
Subproblem 1: θ + θ = θ
Chapter
Manipulator
If the two axes are not parallel, ω × ω ≠ , then, let c satisfy:
p = c = e− ξ θ q
Kinematics ˆθ ˆ
Forward eξ
kinematics
Inverse
Kinematics
Manipulator
Jacobian
Redundant
Manipulators
Reference
46. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
23
Solution: If two axes of ξ and ξ coincide, then we get:
Subproblem 1: θ + θ = θ
Chapter
Manipulator
If the two axes are not parallel, ω × ω ≠ , then, let c satisfy:
p = c = e− ξ θ q
Kinematics ˆθ ˆ
Forward eξ
Set r ∈ l ξ ∩ l ξ
kinematics
Inverse
p − r = c − r = e− ξ θ (q − r), ⇒ eω u = z = e−ω θ v
Kinematics
ˆθ ˆ
Manipulator eξ ˆ θ ˆ
Jacobian
u z v
ω u=ω z
Redundant
= z = v
Manipulators T T
ωT v = ωT z
Reference ⇒ , u
47. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
23
Solution: If two axes of ξ and ξ coincide, then we get:
Subproblem 1: θ + θ = θ
Chapter
Manipulator
If the two axes are not parallel, ω × ω ≠ , then, let c satisfy:
p = c = e− ξ θ q
Kinematics ˆθ ˆ
Forward eξ
Set r ∈ l ξ ∩ l ξ
kinematics
Inverse
p − r = c − r = e− ξ θ (q − r), ⇒ eω u = z = e−ω θ v
Kinematics
ˆθ ˆ
Manipulator eξ ˆ θ ˆ
Jacobian
u z v
ω u=ω z
Redundant
= z = v
Manipulators T T
ωT v = ωT z
Reference ⇒ , u
As ω , ω and ω × ω are linearly independent,
z = αω + βω + γ(ω × ω )
⇒ z = α + β + αβωT ω + γ ω × ω
(Continues next slide)
49. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
24
⎧
⎪α
⎪ =
(ωT ω )ωT u−ωT v
ωT u = αωT ω + β ⎪
⇒⎨ (ωT ω ) −
ω v = α + βω ω ⎪β
⎪ =
⎪
Chapter T T (ωT ω )ωT v−ωT u
⎩
Manipulator
Kinematics (ωT ω ) −
− α − β − αβωT ω
Forward
= u ⇒γ = (∗)
kinematics u
ω ×ω
Inverse
z
Kinematics
Manipulator (∗) has zero, one or two solution(s):
Jacobian
eξ θ p = c
Redundant ˆ
Manipulators
Given z ⇒ c ⇒
eξ θ p = c
ˆ
Reference
for θ and θ
Two solutions when the two circles intersect.
50. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
24
⎧
⎪α
⎪ =
(ωT ω )ωT u−ωT v
ωT u = αωT ω + β ⎪
⇒⎨ (ωT ω ) −
ω v = α + βω ω ⎪β
⎪ =
⎪
Chapter T T (ωT ω )ωT v−ωT u
⎩
Manipulator
Kinematics (ωT ω ) −
− α − β − αβωT ω
Forward
= u ⇒γ = (∗)
kinematics u
ω ×ω
Inverse
z
Kinematics
Manipulator (∗) has zero, one or two solution(s):
Jacobian
eξ θ p = c
Redundant ˆ
Manipulators
Given z ⇒ c ⇒
eξ θ p = c
ˆ
Reference
for θ and θ
Two solutions when the two circles intersect.
One solution when they are tangent
51. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
24
⎧
⎪α
⎪ =
(ωT ω )ωT u−ωT v
ωT u = αωT ω + β ⎪
⇒⎨ (ωT ω ) −
ω v = α + βω ω ⎪β
⎪ =
⎪
Chapter T T (ωT ω )ωT v−ωT u
⎩
Manipulator
Kinematics (ωT ω ) −
− α − β − αβωT ω
Forward
= u ⇒γ = (∗)
kinematics u
ω ×ω
Inverse
z
Kinematics
Manipulator (∗) has zero, one or two solution(s):
Jacobian
eξ θ p = c
Redundant ˆ
Manipulators
Given z ⇒ c ⇒
eξ θ p = c
ˆ
Reference
for θ and θ
Two solutions when the two circles intersect.
One solution when they are tangent
Zero solution when they do not intersect
52. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
25
Subproblem 3: Rotation to a given point
Chapter Given a zero-pitch twist ξ, with unit magnitude and p, q ∈ ℝ ,
find θ s.t. q − eξθ p = δ
Manipulator
Kinematics
ˆ
Forward
kinematics
Inverse
Kinematics
p
Manipulator u u′
Jacobian r θ ξ θ0 θ
Redundant
Manipulators ωθ ′
e u
Reference v v′
δ δ′
q
ω T (p−q)
Figure 3.7
53. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
25
Subproblem 3: Rotation to a given point
Chapter Given a zero-pitch twist ξ, with unit magnitude and p, q ∈ ℝ ,
find θ s.t. q − eξθ p = δ
Manipulator
Kinematics
ˆ
Forward
Define: u = p − r, v = q − r, v − eωθ u
ˆ
=δ
kinematics
Inverse
Kinematics
p
u = u − ωω u
′
Manipulator u u′
T
Jacobian r θ
v′ = v − ωωT v
ξ θ0 θ
Redundant
Manipulators ωθ ′
e u
Reference v v′
δ δ′
q
ω T (p−q)
Figure 3.7
⇒ u = u′ + ωωT u, v = v′ + ωωT v, δ ′ = δ − ωT (p − q)
(Continues next slide)
56. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
27
◻ Solving inverse kinematics using
Chapter
subproblems:
Manipulator
Kinematics
Technique 1: Eliminate the dependence on a joint
eξθ p = p, if p ∈ l ξ . Given eξ θ eξ θ eξ θ = g, select p ∈ l ξ , p ∉ l ξ
Forward ˆ ˆ ˆ ˆ
kinematics
Inverse or l ξ , then:
gp = eξ θ eξ
Kinematics ˆ ˆθ
Manipulator p
Jacobian
Redundant
Manipulators
Reference
57. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
27
◻ Solving inverse kinematics using
Chapter
subproblems:
Manipulator
Kinematics
Technique 1: Eliminate the dependence on a joint
eξθ p = p, if p ∈ l ξ . Given eξ θ eξ θ eξ θ = g, select p ∈ l ξ , p ∉ l ξ
Forward ˆ ˆ ˆ ˆ
kinematics
Inverse or l ξ , then:
gp = eξ θ eξ
Kinematics ˆ ˆθ
Manipulator p
Jacobian
Redundant
Manipulators
Technique 2: subtract a common point
Reference
= g, q ∈ l ξ ∩ l ξ ⇒ eξ θ eξ p − q = gp − q ⇒
ˆ ˆθ ˆθ ˆ ˆθ ˆθ
eξ θ eξ eξ ˆ ˆ eξ
p − q = gp − q
ˆθ
eξ
61. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
30
Step 3: Given θ , θ , θ , solve θ , θ
= e− ξ
Chapter
e− ξ e− ξ θ g
ˆ θ ˆθ ˆ θ ˆθ ˆθ ˆ
Manipulator
Kinematics
eξ eξ eξ
Forward g
let p ∈ l ξ , p ∉ l ξ or l ξ , e eξ p = g p,
kinematics
ˆ
ξ θ ˆθ
Inverse
Kinematics
Subproblem 2 ⇒ θ and θ .
Manipulator
Jacobian
Redundant
Manipulators
Reference
62. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
30
Step 3: Given θ , θ , θ , solve θ , θ
= e− ξ
Chapter
e− ξ e− ξ θ g
ˆ θ ˆθ ˆ θ ˆθ ˆθ ˆ
Manipulator
Kinematics
eξ eξ eξ
Forward g
let p ∈ l ξ , p ∉ l ξ or l ξ , e eξ p = g p,
kinematics
ˆ
ξ θ ˆθ
Inverse
Kinematics
Subproblem 2 ⇒ θ and θ .
Step 4: Given (θ , . . . , θ ), solve for θ
Manipulator
Jacobian
Redundant
eξ θ = (eξ θ . . . eξ θ )− ⋅ g ≜ g
Manipulators ˆ ˆ ˆ
Let p ∉ l ξ ⇒ eξ θ p = g ⋅ p = q ⇐ Subproblem 1
Reference
ˆ
Maximum of solutions:
63. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
31
Example: Inverse Kinematics of SCARA
⎡ ⎤
θ3
⎢ l +l ⎥
Chapter
gst ( ) = ⎢ ⎥
θ2
⎢ ⎥
Manipulator
⎢ ⎥
Kinematics l2
l
⎣ ⎦
θ1
θ4
Forward l1
gst (θ) = e ξ θ . . . e ξ θ gst ( )
kinematics
ˆ ˆ
⎡ cϕ −sϕ ⎤
Inverse
z
⎢ ⎥
Kinematics l0 T
x
⎢ ⎥
q1 S q2 q3
= ⎢ sϕ cϕ ⎥ ≜ gd
y
Manipulator y
⎢ ⎥
x
⎢ ⎥
Jacobian
z
⎣ ⎦
Redundant
Figure 3.8
Manipulators
⎡ ⎤ −l s − l s
⎢ ⎥
Reference
p=⎢ ⎥ ⇒ p(θ) =
x
⎢ ⎥ l c +l c = y ⇒θ =z−l
⎢ ⎥ l +θ z
⎣ ⎦
= gd gst ( )e− ξ ≜g
ˆ ˆ θ ˆ θ ˆ θ
eξ θ eξ eξ −
(Continues next slide)
64. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
32
Let p ∈ l ξ , q ∈ l ξ ⇒ e ξ θ e ξ p = g p,
ˆ ˆ θ
Chapter
e ξ θ (e ξ p − q) = g p − q ,
Manipulator ˆ ˆ θ
Kinematics
p − q = δ ← Subproblem 3 to get θ
Forward ˆ
ξ θ
kinematics e
Inverse
Kinematics
Manipulator
Jacobian
Redundant
Manipulators
Reference
65. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
32
Let p ∈ l ξ , q ∈ l ξ ⇒ e ξ θ e ξ p = g p,
ˆ ˆ θ
Chapter
e ξ θ (e ξ p − q) = g p − q ,
Manipulator ˆ ˆ θ
Kinematics
p − q = δ ← Subproblem 3 to get θ
Forward ˆ
ξ θ
kinematics e
Inverse
⇒ e ξ θ (e ξ p) = g p ⇒ θ ← Subproblem 1 to get θ
Kinematics ˆ ˆ θ
Manipulator
= e− ξ e− ξ θ gd gst ( )e− ξ ≜g
Jacobian ˆ ˆ θ ˆ ˆ θ
ξ θ −
Redundant
⇒e
p = g p, p ∉ l ξ ← Subproblem 1 to get θ
Manipulators ˆ
ξ θ
e
Reference
There are a maximum of two solutions!
† End of Section †
66. Chapter 3 Manipulator Kinematics
3.2 Inverse Kinematics
33
Example: ABB IRB4400
θ
x
Chapter θ
l l
Manipulator z
Kinematics l T
θ θ y
Forward
kinematics z y
l
Inverse l
S θ
Kinematics θ q
x
Manipulator
Jacobian
Redundant
Manipulators
Reference
−
ω = , ω = −ω = −ω = ,ω = ω =
l l l +l
q = ,q = ,q = , pw ∶= q = q = q =
l l +l
(Continues next slide)