Beruflich Dokumente
Kultur Dokumente
Degrees of Freedom
Redundancy
The Puma 560 can reach the same
position in the interior of its workspace
with eight different configurations.
𝜃4′ = 𝜃4 + 180∘
𝜃5′ = −𝜃5
𝜃6′ = 𝜃6 + 180∘
IK Problem
Problem:
What are the joint angles (𝜃1 , … , 𝜃6 ) as a function of wrist
position and orientation (when 𝑇60 is given as numeric values)?
12 equations, 6 unknowns
Solution (General Technique)
• Solution (General Technique): Multiply each side of the direct
kinematics equation by an inverse transformation matrix to
separate out variables in search of a solvable equation.
(𝑇30 𝜃1 , 𝜃2 , 𝜃3 )−1 𝑇60 = (𝑇30 𝜃1 , 𝜃2 , 𝜃3 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
(𝑇40 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 )−1 𝑇60 = (𝑇40 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
(𝑇50 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 , 𝜃5 )−1 𝑇60 = (𝑇50 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 , 𝜃5 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
Intermediate Transformations
(𝑇10 𝜃1 )−1 𝑇60 = (𝑇10 𝜃1 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
𝑐1 −𝑠1 0 0 𝑐4 −𝑠4 0 𝑎3
𝑠 𝑐1 0 0 0 0 1 𝑑4
𝑇10 = 1 𝑇43 =
0 0 1 0 −𝑠4 −𝑐4 0 0
0 0 0 1 0 0 0 1
𝑐2 −𝑠2 0 0 𝑐5 −𝑠5 0 0
0 0 1 0 0 0 −1 0
𝑇21 = 𝑇54 =
−𝑠2 −𝑐2 0 0 −𝑠5 −𝑐5 0 0
0 0 0 1 0 0 0 1
𝑐3 −𝑠3 0 𝑎2 𝑐6 −𝑠6 0 0
𝑠 𝑐3 0 0 0 0 1 0
𝑇32 = 3 𝑇65 =
0 0 1 𝑑3 −𝑠6 −𝑐6 0 0
0 0 0 1 0 0 0 1
First Equation
(𝑇10 𝜃1 )−1 𝑇60 = (𝑇10 𝜃1 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
𝐼 𝑇61
⋅ ⋅ ⋅ 𝑝𝑥 16 𝑝𝑥 16 = 𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23
⋅ ⋅ ⋅ 𝑝𝑦 1 𝑝𝑦 1 = 𝑑3
RHS: 𝑇61 = 6 6
⋅ ⋅ ⋅ 𝑝𝑧 16 𝑝𝑧 16 = −𝑎2 𝑠2 − 𝑎3 𝑠23 − 𝑑4 𝑐23
0 0 0 1
Solving for 𝜃1
• Equate the (2,4) elements of both sides:
−𝑠1 𝑝𝑥 + 𝑐1 𝑝𝑦 = 𝑑3
⋅ ⋅ ⋅ 𝑝𝑥 16 𝑝𝑥 16 = 𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23
⋅ ⋅ ⋅ 𝑝𝑦 1 𝑝𝑦 1 = 𝑑3
RHS: 𝑇61 = 6 6
⋅ ⋅ ⋅ 𝑝𝑧 16 1
𝑝𝑧 6 = −𝑎2 𝑠2 − 𝑎3 𝑠23 − 𝑑4 𝑐23
0 0 0 1
𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦 = 𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23
−𝑠1 𝑝𝑥 + 𝑐1 𝑝𝑦 = 𝑑3
−𝑝𝑧 = 𝑎2 𝑠2 + 𝑎3 𝑠23 + 𝑑4 𝑐23
Solving for 𝜃3
𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦 = 𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23
−𝑠1 𝑝𝑥 + 𝑐1 𝑝𝑦 = 𝑑3
−𝑝𝑧 = 𝑎2 𝑠2 + 𝑎3 𝑠23 + 𝑑4 𝑐23
𝐼 𝑇63
𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 −𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 −𝑐4 𝑠5 𝑎3
𝑠5 𝑐6 −𝑠5 𝑠6 𝑐5 𝑑4
RHS: 𝑇63 =
−𝑠4 𝑐5 𝑐6 − 𝑐4 𝑠6 𝑠4 𝑐5 𝑠6 − 𝑐4 𝑐6 𝑠4 𝑠5 0
0 0 0 1
𝑎2 𝑠3 − 𝑑4 𝑝𝑧 + (𝑎2 𝑐3 + 𝑎3 )(𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦 )
𝑐23 = 2
𝑝𝑧2 + 𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦
− 𝑎2 𝑐2 + 𝑎3 𝑝𝑧 + (𝑎2 𝑠3 − 𝑑4 )(𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦 )
𝑠23 = 2
𝑝𝑧2 + 𝑐1 𝑝𝑥 + 𝑠1 𝑝𝑦
𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 −𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 −𝑐4 𝑠5 𝑎3
𝑠5 𝑐6 −𝑠5 𝑠6 𝑐5 𝑑4
RHS: 𝑇63 =
−𝑠4 𝑐5 𝑐6 − 𝑐4 𝑠6 𝑠4 𝑐5 𝑠6 − 𝑐4 𝑐6 𝑠4 𝑠5 0
0 0 0 1
• All that can be solved for in this case is the sum or difference of 𝜃4 and 𝜃6 .
• To avoid this, check whether both arguments of atan2 are near 0.
Solving for 𝜃5
(𝑇40 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 )−1 𝑇60 = (𝑇40 𝜃1 , 𝜃2 , 𝜃3 , 𝜃4 )−1 𝑇10 (𝜃1 )𝑇21 𝜃2 𝑇32 𝜃3 𝑇43 𝜃4 𝑇54 𝜃5 𝑇65 𝜃6
𝐼 𝑇64
LHS:
𝑐1 𝑐23 𝑐4 + 𝑠1 𝑠4 𝑠1 𝑐23 𝑐4 − 𝑐1 𝑠4 −𝑠23 𝑐4 −𝑎2 𝑐3 𝑐4 + 𝑑3 𝑠4 − 𝑎3 𝑐4 𝑟11 𝑟12 𝑟13 𝑝𝑥
−𝑐1 𝑐23 𝑠4 + 𝑠1 𝑐4 −𝑠1 𝑐23 𝑠4 − 𝑐1 𝑐4 𝑠23 𝑠4 𝑎2 𝑐3 𝑠4 + 𝑑3 𝑐4 + 𝑎3 𝑠4 𝑟21 𝑟22 𝑟23 𝑝𝑦
−𝑐1 𝑠23 −𝑠1 𝑠23 −𝑐23 𝑎2 𝑠3 − 𝑑4 𝑟31 𝑟32 𝑟33 𝑝𝑧
0 0 0 1 0 0 0 1
𝑐5 𝑐6 −𝑐5 𝑠6 −𝑠5 0
𝑠6 𝑐6 0 0
RHS: 𝑇64 =
𝑠5 𝑐6 −𝑠5 𝑠6 𝑐5 0
0 0 0 1
𝜃6 = atan2(𝑠6 , 𝑐6 )
Number of Solutions
• Recall that we get 2 separate solutions for 𝜃1 and 2 for 𝜃3 , for a total
of 4 through all combinations.
2
𝑑3 𝑑3
𝜃1 = atan2(𝑝𝑦 , 𝑝𝑥 ) − atan2 ,± 1 −
𝜌 𝜌
• For each of the 4 solutions, the last three DOF can be flipped.
𝜃4′ = 𝜃4 + 180∘
𝜃5′ = −𝜃5
𝜃6′ = 𝜃6 + 180∘