Skip to content

kevinzakka/mink

Repository files navigation

mink

Build Coverage Status PyPI version Banner for mink

mink is a library for differential inverse kinematics in Python, based on the MuJoCo physics engine.

Features include:

  • Task specification in configuration or operational space;
  • Limits on joint positions and velocities;
  • Collision avoidance between any geom pair;
  • Lie group interface for rigid body transformations.

For usage and API reference, see the documentation.

If you use mink in your research, please cite it as follows:

@software{Zakka_Mink_Python_inverse_2024,
  author = {Zakka, Kevin},
  license = {Apache-2.0},
  month = jul,
  title = {{Mink: Python inverse kinematics based on MuJoCo}},
  url = {https://github.com/kevinzakka/mink},
  version = {0.0.4},
  year = {2024}
}

Installation

You can install mink using pip:

pip install mink

To include the example dependencies:

pip install "mink[examples]"

Examples

mink works with a variety of robots, including:

Check out the examples directory for more code.

How can I help?

Install the library, use it and report any bugs in the issue tracker if you find any. If you're feeling adventurous, you can also check out the contributing guidelines and submit a pull request.

Acknowledgements

mink is a direct port of Pink which uses Pinocchio under the hood. Stéphane Caron, the author of Pink, is a role model for open-source software in robotics. This library would not have been possible without his work and assistance throughout this project.

mink also heavily adapts code from the following libraries:

  • The lie algebra library that powers the transforms in mink is adapted from jaxlie.
  • The collision avoidance constraint is adapted from dm_robotics's LSQP controller.