An Inverse Kinematics library aiming performance and modularity.
Live demos of what IKPy can do (click on the image below to see the video):
With IKPy, you can:
- Compute the Inverse Kinematics of every existing robot.
- Compute the Inverse Kinematics in position, orientation, or both
- Define your kinematic chain using arbitrary representations: DH (Denavit–Hartenberg), URDF, custom...
- Automaticly import a kinematic chain from a URDF file.
- Support for arbitrary joint types:
prismaticand more to come in the future
- Use pre-configured robots, such as baxter or the poppy-torso
- IKPy is precise (up to 7 digits): the only limitation being your underlying model's precision, and fast: from 7 ms to 50 ms (depending on your precision) for a complete IK computation.
- Plot your kinematic chain: no need to use a real robot (or a simulator) to test your algorithms!
- Define your own Inverse Kinematics methods.
- Utils to parse and analyze URDF files:
Moreover, IKPy is a pure-Python library: the install is a matter of seconds, and no compiling is required.
You have three options:
From PyPI (recommended) - simply run:
pip install ikpy
If you intend to plot your robot, you can install the plotting dependencies (mainly
pip install 'ikpy[plot]'
From source - first download and extract the archive, then run:
pip install ./
NB: You must have the proper rights to execute this command
Follow this IPython notebook.
Guides and Tutorials
Go to the wiki. It should introduce you to the basic concepts of IKPy.
An extensive documentation of the API can be found here.
Dependencies and compatibility
Starting with IKPy v3.1, only Python 3 is supported. For versions before v3.1, the library can work with both versions of Python (2.7 and 3.x).
In terms of dependencies, it requires
sympy is highly recommended, for fast hybrid computations, that's why it is installed by default.
matplotlib is optional: it is used to plot your models (in 3D).