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
  • 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

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

See this 3m video here to get the idea

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

See this video to understand

Examples

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
    1. Representing the transformation matrix derived from forward kinematics as the multiplication of transformations between each two links (e.g. )
    2. 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
    1. 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. )

See this video to understand

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)

See this video to understand more

Examples

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

Extras