-
-
Notifications
You must be signed in to change notification settings - Fork 627
Inverse kinematics
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.
J. Haviland and P. Corke, IEEE Robotics & Automation Magazine, 2023.
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.
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.
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.
-
Kinematics — RTB's own
fkine/ikine_*/IK_NR/IK_LM/IK_GN/IK_QPAPI 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.
- Frequently asked questions (FAQ)
- Documentation Style Guide
- Background
- Key concepts
- Introduction to robot and link classes
- Working with Jupyter
- Working from the command line
- What about Simulink?
- How to contribute
- Contributors
- Coding conventions