Python inverse kinematics for your robot model based on Pinocchio.
Project description
Pink
Installation | Documentation | Usage | Example
Python inverse kinematics for your robot model based on Pinocchio.
🏗️ Upcoming changes
Pink is under active development and its API is not stable. Expect the following upcoming changes and more:
- Configuration vector copy when applying (currently a reference, can lead to inconsistencies)
- Body task convergence unit test with several competing tasks
- v0.3: Add joint angle limits
- v0.4: Handle models without and with floating base
- v0.5: Reformulate task gains as time constants
👷 Contributing
There are many ways you can contribute to Pink, all of them welcome! Here are some ideas of increasing difficulty:
- Check out the documentation and report mistakes or ask questions
- Try out the examples and report any issue
- Suggests improvements to simplify the API
- Add your own robot model to the extras so that it can load by
pink.models.build_from_urdf("/home/.../my_robot_description")
- Write your own example
- Find a use case that is not covered and write a unit test for it
- Benchmark the performance of the current Configuration interface (
pin.computeJointJacobians
+pin.getFrameJacobian
) compared to usingpin.computeFrameJacobian
, e.g. depending on the number and locations of tasks - Solve the question of numerical instability incurred by almost-unfeasible targets where LM damping does not kick in
If you are interested in helping out, open an issue so we can track progress. If you already have a PR, open it so we can review it :)
Installation
First, install Pinocchio, for instance by pip install pin
.
Then install Pink by:
pip install pin-pink
Usage
Under construction...
Example
Under construction...
History
Pink implements the same task-based inverse kinematics as pymanoid, but it is much simpler to install and runs faster thanks to Pinocchio. Its internal math is summarized in this note. If you find yourself needing to read that in order to use the library, it means the API has abstraction leakage, please open an issue :-)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.