Professional Documents
Culture Documents
Autorob 10 Ik Closedform
Autorob 10 Ik Closedform
io
Inverse Kinematics
– Forward kinematics
kinematics: predicting
the pose of the end-effector, given
joint positions.
Global
(Frame w)
Transform of endeffector
Base wrt. base
Endeffector
(Frame 0) (Frame 6)
UM EECS 398/598 - autorob.github.io
Inverse kinematics: one-to-many mapping of workspace endeffector pose
to robot configuration
Global
(Frame w)
Transform of endeffector
Base wrt. base
Endeffector
(Frame 0) (Frame 6)
UM EECS 398/598 - autorob.github.io
Inverse kinematics: how to solve for q = {θ1, …,θN} from T0N?
Global
(Frame w)
Transform of endeffector
Base wrt. base
Endeffector
(Frame 0) (Frame 6)
UM EECS 398/598 - autorob.github.io
Let’s define IK
starting from FK
Robot configuration
defined by DoF state q
2 angular DOFs
q = [𝜽1,𝜽2]
joint axes out
of plane
with 2 links, 2 joints, coordinate frames at
each body, and configuration over DoFs
UM EECS 398/598 - autorob.github.io
Consider a planar 2-link arm as an example
Do not forget
endeffector
Robot endeffector is
the gripper pose in
world frame 2 Cartesian DOFs
o0N = p0 = (px0,py0)
Endeffector pose
has position
can consider
orientation Endeffector can be specified as
a point p2 (origin of tool frame)
Endeffector defines wrt. Frame 1
“tool frame” with
transform Endeffector transforms into p0
world frame in world frame
“Normal”
axis “Approach” axis
Checkpoint: Transform
endeffector on link to world
endeffectorworld
endeffectorlink4
tool world
frame frame
UM EECS 398/598 - autorob.github.io
Checkpoint: Transform
endeffector on link to world
endeffectorworld
endeffectorlink4
tool world
frame frame
UM EECS 398/598 - autorob.github.io
Forward kinematics: “given configuration, compute endeffector”
remember:
What are the elements of this matrix? What are the elements of this vector?
to get:
p0 = f(𝜽1,𝜽2)
?
Just consider
endeffector
position for now
?
𝜽1
what is 𝜽1?
𝜽1
what is 𝜽1?
solve for 𝜽2
solve for 𝜽2
Law of Cosines
solve for 𝜽2
solve for 𝜽1
solve for 𝜽2
solve for 𝜽1
3
unknowns
Remember:
Ax=b
2
constraints
Inverse orientation
Inverse position
UM EECS 398/598 - autorob.github.io
Inverse Kinematics: 2D
Transform from
Configuration
endeffector
Closed form
solution?
6 DOF position and
orientation of endeffector
UM EECS 398/598 - autorob.github.io
Stanford
Manipulator
Find: configuration
q = [𝜽1 𝜽2 𝜽3 𝜽4]
as robot joint angles
Given: Find: configuration
link lengths (L4,L3,L2,L1) q = [𝜽1 𝜽2 𝜽3 𝜽4]
as robot joint angles
endeffector orientation ɸ
as angle wrt. plane
centered at o3 and
parallel to ground plane
solve for 𝜽1
solve for 𝜽3
solve for 𝜽1
o3 𝜽3
L3
L2
𝜽2
solve for 𝜽3 Δz
Ψ
β
Δr o1
solve for 𝜽3
solve for 𝜽1
o3 𝜽3
L3
solve for 𝜽3
(Law of cosines with
ɣ
supplementary angle ɣ)
L2
𝜽2
Δz
Ψ
β
Δr o1
solve for 𝜽3
solve for 𝜽1
o3 𝜽3
L3
solve for 𝜽3
L2
𝜽2
solve for 𝜽2 Δz
Ψ
(Law of cosines with angle Ψ, β
arctan with angle β)
Δr o1
solve for 𝜽3
solve for 𝜽1
o3 𝜽3
L3
solve for 𝜽3
L2
𝜽2
solve for 𝜽2 Δz
Ψ
β
Δr o1
two potential solutions
depending on elbow angle
solve for 𝜽3
solve for 𝜽1
𝜽4 o3 𝜽3
solve for 𝜽3 ɸ L4
𝜽2
solve for 𝜽2
o1
solve for 𝜽4
solve for 𝜽3
solve for 𝜽1
solve for 𝜽3
𝜽2
solve for 𝜽2
𝜽3
ɸ 𝜽4 o1
solve for 𝜽4
(Equilvalence relation for
adding angles from z0)
solve for 𝜽3
solve for 𝜽1
𝜽4 o3 𝜽3
L3
solve for 𝜽3 ɸ L4
ɣ
L2
𝜽2
solve for 𝜽2 Δz
Ψ
β
Δr o1
solve for 𝜽4
(Addition of angles in arm
plane starting from z0)
Why Closed Form?
• Advantages
• Speed: IK solution computed in constant time
• Predictability: consistency in selecting satisfying IK solution
• Disadvantage
• Generality: general form for arbitrary kinematics difficult to express
UM EECS 398/598 - autorob.github.io
Iterative Solutions
to IK
• Minimize error between current
Start
endeffector and its desired position
• IK as an optimization problem
Inverse Kinematics:
Manipulator Jacobian