The goal of this repository is to provide python bindings to the ros2_control C++ framework. Whereas ros2_control shines to deploy and reuse robot control infrastructure on industrial robotics platform it is quite difficult to prototype controller quickly.
The aim of this repository is to investiguate the possibility of lowering such barrier by providing python bindings.
The first target is to provide a simple access to the robot hardware through python. It is based on user experience from several open source libraries facilitating the low level access through python: Upkie or ODRI.
The second target will be to provide a simple way to test, resuse various controllers.
Python at the control level is often seen as not seriously providing real time capabilities. And this is probably true if one want to handle an industrial robot working 7 days on 7, 24 hours a day. However the current Python capabilities provides now a simple way to get 1 KHz and do quick prototyping simply. Many research teams have successfully applied this approach. This repository targets mostly this public.
mkdir ~/ros2_control_py_ws/src/ros2_control_py
cd ~/ros2_control_py_ws/src/ros2_control_py
git clone [email protected]:Gepetto/ros2_control_py.git
colcon build --packages-up-to ros2_control_python
The current test is tentative to reimplement the main control loop ros2_control_node in ros2_control.
cd ~/ros2_control_py_ws
python ./src/ros2_control_py/ros2_control_py/tests/controller_manager/future_test_control_node.py
- Maxence Michot
- Olivier Stasse