KUKA Fast Robot Interface Python SDK. The code in this repository, provides Python bindings for the FRI Client SDK C++ through pybind11. The interface has been designed to be as similar as possible to the documentation provided by KUKA.
There is one difference users of the Python bindings should be aware. When instantiating the client application, in C++ this is performed as follows.
// ..setup client..
// create new udp connection
UdpConnection connection;
// pass connection and client to a new FRI client application
ClientApplication app(connection, client);
In Python, the equivalent code is as follows.
import pyfri as fri
# ..setup client..
app = fri.ClientApplication(client)
Since UDP is the only supported connection type and the connection object is not actually required by the user after declaring the variable, the UdpConnection
object is created internally to the fri.ClientApplication
class object.
See the examples.
- Clone repository (make sure you include
--recursive
):git clone --recursive https://github.com/lbr-stack/pyfri.git
- Change directory:
cd pyfri
- Install:
export FRI_CLIENT_VERSION=1.15 pip3 install .
-
Setup the hardware, see Hardware Setup.
-
Checkout the Example Applications.
If you enjoyed using this repository for your work, we would really appreciate ❤️ if you could leave a ⭐ and / or cite it, as it helps us to continue offering support.
@misc{huber2023lbrstack,
title={LBR-Stack: ROS 2 and Python Integration of KUKA FRI for Med and IIWA Robots},
author={Martin Huber and Christopher E. Mower and Sebastien Ourselin and Tom Vercauteren and Christos Bergeles},
year={2023},
eprint={2311.12709},
archivePrefix={arXiv},
primaryClass={cs.RO}
}