What is Inverse Kinematics?
Given a desired pose ( position and orientation: ) of the end effector with respect to the base, calculate the joint angles/positions required for achieving this desired pose
Overview
Definitions
- Joint space: angles/positions of joints ()
- Task space: position and orientation (pose) of the end effector ()
- DoF
- DoF in task space vs. DoF in joint space
- Task space: 6 (position and orientation of the end effector)
- Joint space: depends on joints (number of revolute/prismatic joints)
- Actuation Types
- Under-actuated (over-constrained): DoF in the joint space < DoF in the task space
- End effector cannot achieve all poses
- Exactly actuated (fully constrained): DoF in the joint space = DoF in the task space
- End effector can achieve the same pose with different joint configurations
- Over actuated (under-constrained): DoF in the joint space > DoF in the task space
- End effector can achieve the same pose with different joint configurations
- Under-actuated (over-constrained): DoF in the joint space < DoF in the task space
- DoF in task space vs. DoF in joint space
- Forward kinematics: Joint space Task space
- Inverse kinematics: Task space Joint space
- We could map from task space to multiple points in the joint space (i.e. the end effector can achieve the pose with different configurations of joints actuation)
- Remember that pose = position + orientation
- If we don’t care about the orientation of the end effector, we could get multiple solutions (multiple joint configurations for achieving the same position)
- Example: elbow up vs. elbow down (the end effector reaches the same position with two different joint configurations; however, its orientation is different because it is underactuated)

Inverse Kinematics Approaches
Geometric Approach
What is geometric approach?
- It’s about making use of the simple geometry of the robot to derive its inverse kinematics equations using trigonometric and geometric relations
- It can only achieve a desired position of the end effector, not orientation as well
Examples
- Example 1: 6-kinematics of Serial Robots Inverse Kinematics part 2 كيناماتيكا الروبوتات
- Example 2: Decrease the the problem from 3D to 2D to simplify

- Example 3: 5.1 Inverse Kinematics - YouTube
Algebraic Approach
What is the algebraic approach?
- In forward kinematics, we know the pose of the arm with respect to the base as a function of the joint variables ().
- This is represented as a transformation matrix from the base to the end effector
- The algebraic approach to inverse kinematics, is about solving for the joint variables when we substitute the pose of the arm with (which can be either specific numbers if we are solving for a specific pose or general variables if we want to derive general relations) in the transformation matrix that describes the pose of the end effector with respect to the base (derived from forward kinematics)
- Ideally, we should end up with an equation for each joint variable that is a function of the pose of the end effector
Direct Method
What is direct method?
- In direct method, we construct equations using the given transformation matrix and the transformation matrix we derived from forward kinematics
- We equate the elements from each of the two transformation matrices
- We make smart choices of which equations to use in order to simply the problem
Examples
- Build Robot using Simple High School Math
- Lecture 07a Inverse Kinematics Planar RR Arm - YouTube
- Inverse Kinematics Algebraic Method (Direct)
- Inverse kinematics (algebraic method) for a three link robot - YouTube
Inverse Method
What is inverse method?
- In inverse method, we reduce the coupling of variables in the transformation matrix that we derived from forward kinematics to be able to solve the problem
- We do this by multiplying by
- Representing the transformation matrix derived from forward kinematics as the multiplication of transformations between each two links (e.g. )
- Equating this multiplication with the given transformation matrix (e.g.
- Notice here the advantage of each matrix being a function of only one joint variable , we decoupled the joint variables
We multiply by the inverse of matrix on both sides and hope we find an easy equation on the other side (and we repeat) (e.g. )
Examples
Kinematic Decoupling
What is kinematic decoupling?
- Inverse kinematics is about finding the joint variables to achieve a desired pose (position and orientation) of the end effector
- Kinematic decoupling is about segmenting the inverse kinematics problem into two problems
Finding the joint variables for achieving the desired position of the end effector (inverse position kinematics)
Finding the joint variables for achieving the desired orientation of the end effector (inverse orientation kinematics)
Examples
-
Robotics 2 U1 (Kinematics) S5 (Inverse Kinematics) P2 (Procedure and Programming) - YouTube
-
Closed-form Inverse Kinematics for Robots with a Spherical Wrist | Robotic Systems
-
An Example on How to Compute the Inverse Kinematics of a Robot | Robotic Systems
-
Intro2Robotics Lecture 9a: Inverse Kinematics Position - YouTube
-
Exam-like problem: Intro2Robotics Lecture 9b: Solve Inverse Kinematics like a Pro!
-
SYSC 4206 Lecture 7: Inverse kinematics 2, 6DOF robot arm with spherical wrist
-
7-kinematics of Serial Robots Inverse Kinematics part 1 كيناماتيكا الروبوتات
-
Inverse Kinematics : Kinematic Decoupling [ Part 3 ] - YouTube
Numerical Approach
What is a numerical approach?
- It’s about “guess and check”
- It’s like having a complicated equation that you want to be equal to some value so you start guessing different inputs to make the output what you want
- There are sophisticated methods for “guessing and checking” that lead to the solution (converge at the solution) quicker and more efficiently than random guessing and checking
- An example of these methods is Newton-Raphson method
- Develop the description of the end effector pose with respect to the base using forward kinematics
- Use a numerical approach (e.g. Newton-Raphson) to find the values of the joints that achieve the desired end effector pose
Resources
Lectures
- Intro to Robotics_Lb2_Inverse Kinematics.mp4
- Robotics 1 - Prof. De Luca Lecture 18 (7 Nov 2014)
- Ch4 Part 1
Extras
- How to cheat at Inverse Kinematics
- How to Create MATLAB GUI - robot arm simulation [Peter corke Toolbox]-
- Robot Academy - Peter Corke
- Product of exponentials as an alternative to DH method
- Lecture 08a Inverse Kinematics PUMA - YouTube
- 6 Axis Robot Forward & Inverse Kinematics Tutorial - Denavit Hartenberg Parameters With the AR4-MK2
- CoppeliaSim Demos - YouTube
- Discussion -1- MCT344: Industrial Robotics