Finally, Python bindings for the Panda. These will increase your productivity by 1000%, guaranteed1!
To get started, check out the tutorial paper, Jupyter notebooks and other examples you can run directly on your robot. For more details on the API, please refer to the documentation.
- franka_desk Client for the Desk REST API, with a ROS 2 wrapper. Requires an FR3 with robot system version 5.8.0 or newer.
pip install panda-python
This will install panda-py and all its requirements. The pip version ships with libfranka 0.9.2, the newest version for the Franka Emika Robot. Please refer to the section below if you use an older system version or the more recent Franka Research 3 robot.
There are currently two robot models available from Franka Robotics: the Franka Emika Robot (FER, formerly known as Panda) and the Franka Research 3 (FR3). Depending on the installed firmware, the FER supports libfranka version <0.10 while the FR3 requires version >=0.10. For details, refer to this compatibility matrix. If you need a libfranka version different from the default 0.9.2, download the respective zip archive from the table below. Extract the archive and install the wheel for your Python version with pip, e.g., run
pip install panda_python-*libfranka.0.7.1-cp310*.whl
to install the binary wheel for libfranka 0.7.1 and Python 3.10.
There is one archive per research-interface protocol version, which is what determines whether libfranka can talk to your robot at all. Pick the row matching your robot's system version; later libfranka releases in the same row would not add compatibility, only bugs already fixed.
| Robot System Version | Robot | Server | libfranka Version of panda-py |
|---|---|---|---|
| >= 5.9.0 | FR3 | 10 | panda_py_1.0.0_libfranka_0.21.3.zip |
| >= 5.7.2 | FR3 | 9 | panda_py_1.0.0_libfranka_0.17.0.zip |
| >= 5.7.0 | FR3 | 8 | panda_py_1.0.0_libfranka_0.14.2.zip |
| >= 5.5.0 | FR3 | 7 | panda_py_1.0.0_libfranka_0.13.6.zip |
| >= 5.2.0 | FR3 | 6 | panda_py_1.0.0_libfranka_0.13.2.zip |
| >= 4.2.1 | FER | 5 | panda_py_1.0.0_libfranka_0.9.2.zip |
| >= 4.0.0 | FER | 4 | panda_py_1.0.0_libfranka_0.8.0.zip |
| >= 3.0.0 | FER | 3 | panda_py_1.0.0_libfranka_0.7.1.zip |
If you use panda-py in published research, please consider citing the original software paper.
@article{elsner2023taming,
title = {Taming the Panda with Python: A powerful duo for seamless robotics programming and integration},
journal = {SoftwareX},
volume = {24},
pages = {101532},
year = {2023},
issn = {2352-7110},
doi = {https://doi.org/10.1016/j.softx.2023.101532},
url = {https://www.sciencedirect.com/science/article/pii/S2352711023002285},
author = {Jean Elsner}
}
Footnotes
-
Not actually guaranteed. Based on a sample size of one. ↩
