Skip to content

Inverse kinematics

Peter Corke edited this page Sep 15, 2026 · 1 revision

RTB's kinematics — the Elementary Transform Sequence (ETS) representation, the Jacobian, the Hessian, and the numerical IK solvers (IK_NR/IK_LM/IK_GN/IK_QP, see Kinematics) — are a direct implementation of a two-part tutorial written by the toolbox's own authors. If you want the theory behind what the code does, this is the primary reference; it's already cited as such in roboticstoolbox/robot/IK.py's own docstrings.

Manipulator Differential Kinematics

J. Haviland and P. Corke, IEEE Robotics & Automation Magazine, 2023.

Part I: Kinematics, Velocity, and Applications

Introduces manipulator kinematics using the Elementary Transform Sequence (ETS) — the same representation RTB's ETS/ERobot classes use to describe a robot as a sequence of elementary rotations and translations — and derives the first-order differential kinematics (the manipulator Jacobian) from it, with applications including resolved-rate motion control.

[arXiv:2207.01796]

Part II: Acceleration and Advanced Applications

Extends Part I to second-order differential kinematics (the manipulator Hessian) and the analytical forms needed for dynamics, then builds up to the advanced motion-control schemes — null-space projection, quadratic programming for motion control — that underpin the reactive controllers built on RTB.

[arXiv:2207.01794]

Companion notebooks: jhavl/dkt

github.com/jhavl/dkt — "dkt" for Differential Kinematics Tutorial — is Jesse Haviland's companion repository of runnable Jupyter notebooks, one per tutorial section, meant to be worked through alongside the two papers above:

  • Part 1: Manipulator Kinematics, The Manipulator Jacobian, Resolved-Rate Motion Control, ..., Manipulator Performance Measures
  • Part 2: Null-Space Projection for Motion Control, Quadratic Programming for Motion Control, Advanced Numerical Inverse Kinematics, Quadratic-Rate Motion Control

Each notebook uses RTB itself (plus Swift and spatialmath-python; Part 2 also needs sympy and qpsolvers) — read a section of the tutorial, then run the matching notebook.

See also

  • Kinematics — RTB's own fkine/ikine_*/IK_NR/IK_LM/IK_GN/IK_QP API that implements this theory.
  • Key concepts — what an Elementary Transform String (ETS) is.
  • Reactive control — published controllers built on top of this differential-kinematics foundation.

Clone this wiki locally