Lecture 4 - Inverse Kinematics

What is Inverse Kinematics?

Given a desired pose (position and orientation: x,y,z,θx,θy,θz) of the end effector with respect to the base, calculate the joint angles/positions required for achieving this desired pose

Overview

Definitions

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 (θi,di).
  • 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 x,y,z,θx,θy,θz (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. T20=T10 T21=A1A2)
    2. Equating this multiplication with the given transformation matrix (e.g. H20=A1(q1)A2(q2)
    • Notice here the advantage of each Ai matrix being a function of only one joint variable qi, we decoupled the joint variables
    1. We multiply by the inverse of Ai matrix on both sides and hope we find an easy equation on the other side (and we repeat) (e.g. A1−1H20=A2)

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

Resources

Lectures

Extras