Vous êtes sur la page 1sur 52

Inverse Kinematics

Lecture 3 Part II
Dr. Harriet Grigg, MEC8026: Robotics, 17/18
Lecture Objectives
Today, we will:
• Look at the 2-DOF inverse kinematics from
last week in more detail
• Study Pieper’s approach to the full 6DOF
Inverse Kinematics problem for the Puma 560
By the end of this week, you should:
• Be ready to attack the forward and inverse
kinematics of an arbitrary 6 DOF manipulator
• Have enough understanding and fluency in
these concepts to build on them
Where you should be
• Covered forward kinematics already – need
to be comfortable with this material!
• Craig, Chapter 3
• Also on BB: ReCap (recorded lectures) and
slides with worked examples
• If you aren’t there yet: email or talk to me
D-H transform
recapitulated
𝑐𝜃𝑖 −𝑠𝜃𝑖 0 𝑎𝑖−1
𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖−1 𝑐𝜃𝑖 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 −𝑑𝑖 𝑠𝛼𝑖−1
𝑖𝑇 =
𝑠𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 𝑑𝑖 𝑐𝛼𝑖−1
0 0 0 1

• This matrix should be etched into your brain!


• Know what all the parameters mean
• Make sure you grasp the derivation and meaning
thoroughly
• Know how to apply it – practice questions
Reachable And dextrous workspaces
Reachable workspace: Set of end
frames reachable in at least one
orientation
Always includes the edge of the
workspace
Dextrous workspace: Set of end
frames reachable in any orientation
Never includes the edge of the
workspace
Existence and Uniqueness
In linear algebra: linear equations always
have one and only one solution
(Y=mX+C;Y=0)
Nonlinear equations can have none or
many (Y=aX2+bX+c;Y=0)
Same in higher dimensions, e.g.
kinematics of robotics
Solutions may not exist – lie outside of
workspace
Solutions may not be unique – more
than one set of joint angles achieves the
goal
2 link Planar RR: RECAP
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
• What is the position of the end
point of Link 2 in the GCS?
0
𝑃𝐸𝑛𝑑2 = 02𝑇 2𝑃𝐸𝑛𝑑2

𝐿2 𝑐𝜃1 +𝜃2 +𝐿1 𝑐𝜃1


𝐿2 𝑠𝜃1 +𝜃2 +𝐿1 𝑠𝜃1
=
0
1
• Did this last week
2 link Planar RR Inverse kinematics
• Given a specified X and Y
position in the GCS for the end
of the second link, what are the
joint angles which achieve it?

𝐿2 𝑐𝜃1 +𝜃2 +𝐿1 𝑐𝜃1 𝑥


𝐿2 𝑠𝜃1 +𝜃2 +𝐿1 𝑠𝜃1 𝑦
= (1)
0 0
1 1

𝜃1 =?
𝜃2 =?
Inverse Kinematics: Geometric Approach
• Planar mechanism
• For fixed 𝜃2 , end point traces a
circle of radius 𝑟 = 𝑥 2 + 𝑦 2 as
𝜃1 varies
• Link 1 always radial
• So 𝑟 does not depend on 𝜃1
• Can use this to solve for 𝜃2 !
Inverse Kinematics: Geometric Approach
• Planar mechanism
• For fixed 𝜃2 , end point traces a
circle of radius 𝑟 = 𝑥 2 + 𝑦 2 as
𝜃1 varies
• Link 1 always radial
• So 𝑟 does not depend on 𝜃1
• Can use this to solve for 𝜃2 !

• Equate RHS and LHS of (1) to


give

𝑥 = 𝐿2 𝑐𝜃1 +𝜃2 +𝐿1 𝑐𝜃1

𝑦 = 𝐿2 𝑠𝜃1 +𝜃2 +𝐿1 𝑠𝜃1


Inverse Kinematics: Geometric Approach
• Planar mechanism
• For fixed 𝜃2 , end point traces a
circle of radius 𝑟 = 𝑥 2 + 𝑦 2 as
𝜃1 varies
• Link 1 always radial • Square and add both equations
• So 𝑟 does not depend on 𝜃1 and simplify to arrive at
• Can use this to solve for 𝜃2 !

• Equate RHS and LHS of (1) to 𝑥 2 + 𝑦 2 = 𝐿22 + 𝐿21 + 2𝐿1 𝐿2 𝑐𝜃2


give
• Solve for 𝑐𝜃2
𝑥 = 𝐿2 𝑐𝜃1 +𝜃2 +𝐿1 𝑐𝜃1

𝑦 = 𝐿2 𝑠𝜃1 +𝜃2 +𝐿1 𝑠𝜃1 𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21


= 𝑐𝜃2
2𝐿1 𝐿2
Inverse Kinematics: Geometric Approach
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
• We have: = 𝑐𝜃2
2𝐿1 𝐿2
Inverse Kinematics: Geometric Approach
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
• We have: = 𝑐𝜃2
2𝐿1 𝐿2

• By basic trig, 𝑥 2 +𝑦 2 − 𝐿22 +𝐿21


2
we get 𝑠𝜃2 = ± 1 − 𝑐𝜃22 =± 1− 2𝐿1 𝐿2
Inverse Kinematics: Geometric Approach
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
• We have: = 𝑐𝜃2
2𝐿1 𝐿2

• By basic trig, 2
𝑥 2 +𝑦 2 − 𝐿22 +𝐿21
we get 𝑠𝜃2 = ± 1 − 𝑐𝜃22 =± 1− 2𝐿1 𝐿2

• We can use a calculator or computer to


solve this for 𝜃2 using two-argument
arctangent as:

𝜃2 = 𝑎𝑡𝑎𝑛2(𝑐𝜃2 , 𝑠𝜃2 )
Inverse Kinematics: Geometric Approach
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
• We have: = 𝑐𝜃2
2𝐿1 𝐿2

• By basic trig, 2
𝑥 2 +𝑦 2 − 𝐿22 +𝐿21
we get 𝑠𝜃2 = ± 1 − 𝑐𝜃22 =± 1− 2𝐿1 𝐿2

• We can use a calculator or computer to


solve this for 𝜃2 using two-argument
arctangent as:

𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 )
𝜃2∗ =- 𝜃2
• Two solutions to a nonlinear (quadratic) equation – plus or minus sign
Inverse Kinematics: Geometric Approach
𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 )
• Two solutions 𝜃2 , 𝜃2∗ to a nonlinear (quadratic) equation – plus or minus sign
Inverse Kinematics: Geometric Approach
𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 )
• Two solutions 𝜃2 , 𝜃2∗ to a transcendental equation – plus or minus sign

• Geometrically, expect two corresponding values 𝜃1 , 𝜃1∗ : how to find them?


Inverse Kinematics: Geometric Approach
𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 ) (1)
• Two solutions 𝜃2 , 𝜃2∗ to a nonlinear (quadratic) equation – plus or minus sign

• Geometrically, expect two corresponding values 𝜃1 , 𝜃1∗ : how to find them?


Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦)
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦)
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
𝑐1 −𝑠1
• 𝑥, 𝑦 𝑇 = 𝑠 𝑐 𝐾1 , 𝐾2 𝑇
1 1
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
𝑐1 −𝑠1
• 𝑥, 𝑦 𝑇 = 𝑠 𝑐 𝐾1 , 𝐾2 𝑇
1 1
• 𝐾1 = 𝐿1 + 𝐿2 𝑐2
• 𝐾2 = 𝐿2 𝑠2
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
𝑐1 −𝑠1
• 𝑥, 𝑦 𝑇 = 𝑠 𝑐 𝐾1 , 𝐾2 𝑇
1 1
• 𝐾1 = 𝐿1 + 𝐿2 𝑐2
ቅ 𝐾𝑛𝑜𝑤𝑛 𝑎𝑠 𝑓 𝜃2
• 𝐾2 = 𝐿2 𝑠2
• 𝛽 = 𝑎𝑡𝑎𝑛2(𝐾2 , 𝐾1 )
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
𝑐1 −𝑠1
• 𝑥, 𝑦 𝑇 = 𝑠 𝑐 𝐾1 , 𝐾2 𝑇
1 1
• 𝐾1 = 𝐿1 + 𝐿2 𝑐2
ቅ 𝐾𝑛𝑜𝑤𝑛 𝑎𝑠 𝑓 𝜃2 𝑣𝑖𝑎 (𝟐)
• 𝐾2 = 𝐿2 𝑠2
• 𝛽 = 𝑎𝑡𝑎𝑛2(𝐾2 , 𝐾1 )
Inverse Kinematics: Theta 1
• Introduce new angles 𝛾, 𝛽
• 𝛾 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
• θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝛽 (𝟐)
• If we have 𝛽 in terms of
θ2 then we have θ1 !

• Introduce a new coordinate


description of (𝑥, 𝑦) called K

• 2D rotation of coordinates by
θ1
Combining (2) and (3) yields
• 0𝑃 = 𝐾0𝑅 𝐾𝑃
𝑐1 −𝑠1
• 𝑥, 𝑦 𝑇 = 𝑠 𝐾1 , 𝐾2 𝑇 θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝑎𝑡𝑎𝑛2 𝐾2 , 𝐾1 (𝟒)
1 𝑐1
• 𝐾1 = 𝐿1 + 𝐿2 𝑐2
ቅ 𝐾𝑛𝑜𝑤𝑛 𝑎𝑠 𝑓 𝜃2 𝑣𝑖𝑎 (𝟐)
• 𝐾2 = 𝐿2 𝑠2
• 𝛽 = 𝑎𝑡𝑎𝑛2 𝐾2 , 𝐾1 (𝟑)
Inverse Kinematics: Putting it all
together 𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃 , 𝑐𝜃 ) (1)
2 2
Inverse Kinematics: Putting it all
together 𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃 , 𝑐𝜃 ) (1)
2 2
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
𝑐𝜃2 =
2𝐿1 𝐿2

2
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
𝑠𝜃2 = + 1 −
2𝐿1 𝐿2
2
𝑥 2 +𝑦 2 − 𝐿22 +𝐿21
𝑠𝜃∗2 = − 1− 2𝐿1 𝐿2
Inverse Kinematics: Putting it all
together 𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃 , 𝑐𝜃 ) (1)
2 2
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
𝑐𝜃2 =
2𝐿1 𝐿2

2
𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
𝑠𝜃2 = + 1 −
2𝐿1 𝐿2
2
𝑥 2 +𝑦 2 − 𝐿22 +𝐿21
𝑠𝜃∗2 = − 1− 2𝐿1 𝐿2

𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 ) (5)

𝜃2∗ = 𝑎𝑡𝑎𝑛2(𝑠𝜃∗2 , 𝑐𝜃2 ) (6)


Inverse Kinematics: Putting it all
together 𝑥 2 + 𝑦 2 − 𝐿22 + 𝐿21
= 𝑐𝜃2
2𝐿1 𝐿2

2
𝑥 2 +𝑦 2 − 𝐿22 +𝐿21
𝑠𝜃2 = ± 1 − 𝑐𝜃22 =± 1− 2𝐿1 𝐿2

𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝜃2 , 𝑐𝜃2 )
θ1 = 𝛾 − 𝛽 = 𝑎𝑡𝑎𝑛2 𝑦, 𝑥 − 𝑎𝑡𝑎𝑛2 𝐿1 + 𝐿2 𝑐2 , 𝐿1 + 𝐿2 𝑐2
5 Minute
MATLAB IMPLEMENTATION
• In order to program a robot, need
function to solve inverse kinematics
• Takes as arguments the goal and the
geometric parameters
• Returns as outputs the corresponding
joint angles / sets of joint angles
• Used as an input to trajectory
control/path planning
MATLAB IMPLEMENTATION
MATLAB DEMONSTRATION
3 Link inverse kinematics
What if we want to
solve for a 3DOF
planar RRR
manipulator?
Can specify position
AND orientation of
end effector – 3DOF
in 2D space, general
manipulator
Large dextrous
workspace
6DOF is like this in 3D
– but more
complicated!
3 Link inverse kinematics
𝐶𝜑 −𝑆𝜑 0 𝑋𝐺
0 𝑆𝜑 𝐶𝜑 0 𝑌𝐺
3𝐺 =
0 0 1 0
0 0 0 1

Must be equal to 03𝑇

𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
3 𝐿2 0 0 𝜽𝟑
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
3 𝐿2 0 0 𝜽𝟑
𝐶1 −𝑆1 0 0
0 𝑆1 𝐶1 0 0
1𝑇 =
0 0 1 0
0 0 0 1
𝐶2 −𝑆2 0 𝐿1
1 𝑆2 𝐶2 0 0
2 𝑇 =
0 0 1 0
0 0 0 1
𝐶3 −𝑆3 0 𝐿2
2 𝑆3 𝐶3 0 0
3𝑇 =
0 0 1 0
0 0 0 1
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
3 𝐿2 0 0 𝜽𝟑

𝐶2 −𝑆2 0 𝐿1
1 𝑆2 𝐶2 0 0
2𝑇 =
0 0 1 0
0 0 0 1

𝐶1 −𝑆1 0 0 𝐶1 𝐶2 + 𝑆1 𝑆2 − 𝐶1 𝑆2 + 𝑆1 𝐶2 0 𝐿1 𝐶1
0 𝑆1 𝐶1 0 0 0 𝐶1 𝑆2 + 𝑆1 𝐶2 𝐶1 𝐶2 + 𝑆1 𝑆2 0 𝐿1 𝑆1
1𝑇 = 2𝑇 =
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
3 𝐿2 0 0 𝜽𝟑

𝐶1 𝐶2 + 𝑆1 𝑆2 − 𝐶1 𝑆2 + 𝑆1 𝐶2 0 𝐿1 𝐶1
0 𝐶1 𝑆2 + 𝑆1 𝐶2 𝐶1 𝐶2 + 𝑆1 𝑆2 0 𝐿1 𝑆1
2 𝑇 =
0 0 1 0
0 0 0 1

𝐶1+2 −𝑆1+2 0 𝐿1 𝐶1
𝑆 𝐶1+2 0 𝐿1 𝑆1 Composition of
= 1+2
0 0 1 0 rotations about axes
0 0 0 1 1 and 2
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 𝐿1 0 0 𝜽𝟐
3 𝐿2 0 0 𝜽𝟑

𝐶3 −𝑆3 0 𝐿2
2 𝑆3 𝐶3 0 0
3 𝑇 =
0 0 1 0
0 0 0 1
𝐶1+2 −𝑆1+2 0 𝐿1 𝐶1 𝐶1+2+3 −𝑆1+2+3 0 𝐿1 𝐶1 + 𝐿2 𝐶1+2
0 𝑆1+2 𝐶1+2 0 𝐿1 𝑆1 0 𝑆1+2+3 𝐶1+2+3 0 𝐿1 𝑆1 + 𝐿2 𝑆1+2
2 𝑇 = 3 𝑇 =
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏 • Need to solve
2 𝐿1 0 0 𝜽𝟐 for the angles
3 𝐿2 0 0 𝜽𝟑
in terms of the
goals
0 0
3𝐺 = 3𝑇
𝐶𝜑 −𝑆𝜑 0 𝑋𝐺 𝐶1+2+3 −𝑆1+2+3 0 𝐿1 𝐶1 + 𝐿2 𝐶1+2
𝑆𝜑 𝐶𝜑 0 𝑌𝐺 𝑆 𝐶1+2+3 0 𝐿1 𝑆1 + 𝐿2 𝑆1+2
= 1+2+3
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
3 Link inverse kinematics
𝑖 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝒊 𝜽𝒊
• Equating the
1 0 0 0 𝜽𝟏
position terms
2 𝐿1 0 0 𝜽𝟐 leads to the 2
3 𝐿2 0 0 𝜽𝟑 DOF problem
already solved
0 0 – CS 3 origin is
3𝐺 = 3𝑇 at the end of
𝐶𝜑 −𝑆𝜑 0 𝑋𝐺 𝐶1+2+3 −𝑆1+2+3 0 𝐿1 𝐶1 + 𝐿2 𝐶1+2
𝑆𝜑 𝐶𝜑 0 𝑌𝐺 𝑆
= 1+2+3
𝐶1+2+3 0 𝐿1 𝑆1 + 𝐿2 𝑆1+2 Link 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
𝑥 = 𝐿2 𝑐𝜃1+𝜃2 +𝐿1 𝑐𝜃1
𝑦 = 𝐿2 𝑠𝜃1+𝜃2 +𝐿1 𝑠𝜃1
3 Link inverse kinematics
Already solved for
position of Frame 3
(position vector in
Frame 2
Need to solve for
𝜽𝟑 as a function of
the goal angle 𝝋
3 Link inverse kinematics
Very easy in planar system
– all rotations commute
Equate (1,1) entries of goal
and transform matrices
𝐶𝜑 =𝐶1+2+3
𝜽𝟏 = 𝝋 − 𝜽𝟏 + 𝜽𝟐
6 Link 3DTheinverse kinematics
exact same approach
is used in 3D for
intersecting-axes robots,
e.g. PUMA
Separate positioning and
orientation of wrist, solve
separately
Pieper’s solution – Ch.4
Craig
Will be examined
Tutorials
Summary
Inverse kinematics involves knowing Cartesian
specification of goal frame and looking for
corresponding joint angles
Difficult algebraic equations can be simplified
with geometric intuition
Solutions may be nonunique or not exist at all
Inverse solutions can be implemented
automatically, e.g. in MATLAB
A common approach is to solve for the wrist
position, then its orientation separately – if
geometry allows this (Pieper’s Method)
Further work
Learn the material presented today
Need to be comfortable with forward kinematics
of 6DOF manipulator - this will be examined
Will be done in detail next week
Even more Inverse Kinematics next week - read
ahead Ch.4, Craig (Puma 560 / Pieper’s Solution)
Read ahead on MATLAB – labs start soon

Vous aimerez peut-être aussi