Metadata-Version: 2.1
Name: mink
Version: 0.0.1
Summary: mink: MuJoCo inverse kinematics.
Keywords: inverse,kinematics,mujoco
Author-email: Kevin Zakka <zakka@berkeley.edu>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Robot Framework :: Library
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Dist: mujoco >= 3.1.6
Requires-Dist: qpsolvers >= 4.3.1
Requires-Dist: quadprog >= 0.1.11
Requires-Dist: typing_extensions
Requires-Dist: mypy ; extra == "dev"
Requires-Dist: ruff ; extra == "dev"
Requires-Dist: black ; extra == "dev"
Requires-Dist: mink[test] ; extra == "dev"
Requires-Dist: loop-rate-limiters >= 0.1.0 ; extra == "examples"
Requires-Dist: dm_control >= 1.0.20 ; extra == "examples"
Requires-Dist: absl-py ; extra == "test"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: robot_descriptions >= 1.9.0 ; extra == "test"
Project-URL: Changelog, https://github.com/kevinzakka/mink/blob/main/CHANGELOG.md
Project-URL: Source, https://github.com/kevinzakka/mink
Project-URL: Tracker, https://github.com/kevinzakka/mink/issues
Provides-Extra: dev
Provides-Extra: examples
Provides-Extra: test

# mink

[![Build](https://img.shields.io/github/actions/workflow/status/kevinzakka/mink/ci.yml?branch=main)](https://github.com/kevinzakka/mink/actions)

mink is a library for differential inverse kinematics in Python, based on the [MuJoCo](https://github.com/google-deepmind/mujoco) physics engine.

## Installation

```bash
pip install -e ".[examples]"
```

## Examples

* Arms: [UR5e](https://github.com/kevinzakka/mink/blob/main/examples/arm_ur5e_actuators.py), [iiwa14](https://github.com/kevinzakka/mink/blob/main/examples/arm_iiwa.py), [bimanual iiwa14](https://github.com/kevinzakka/mink/blob/main/examples/dual_iiwa.py)
* Humanoids: [Unitree G1](https://github.com/kevinzakka/mink/blob/main/examples/humanoid_g1.py)
* Quadrupeds: [Unitree Go1](https://github.com/kevinzakka/mink/blob/main/examples/quadruped_go1.py), [Boston Dynamics Spot](https://github.com/kevinzakka/mink/blob/main/examples/quadruped_spot.py)
* Hands: [Shadow Hand]()

Check out the [examples](https://github.com/kevinzakka/mink/blob/main/examples/) directory for more code.

## How can I help?

Install the library, use it and report any bugs in the [issue tracker](https://github.com/kevinzakka/mink/issues) if you find any. If you're feeling adventurous, you can also check out the contributing [guidelines](CONTRIBUTING.md) and submit a pull request.

## Acknowledgements

mink is a direct port of [pink](https://github.com/stephane-caron/pink) which uses [Pinocchio](https://github.com/stack-of-tasks/pinocchio) under the hood. Stéphane Caron, the original 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](https://github.com/brentyi/jaxlie).
* The collision avoidance constraint is adapted from [dm_robotics](https://github.com/google-deepmind/dm_robotics/tree/main/cpp/controllers)'s LSQP controller.

