No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
acados_solver_ros2 repositorypython cpp robotics ros2 nmpc acados acados_solver_base acados_solver_plugins acados_solver_plugins_example acados_solver_ros2 |
|
Repository Summary
Description | Helper packages to use the Acados solver for non-linear optimization in ROS2 applications. |
Checkout URI | https://github.com/icube-robotics/acados_solver_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-07 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | python cpp robotics ros2 nmpc acados |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
acados_solver_base | 0.2.1 |
acados_solver_plugins | 0.2.1 |
acados_solver_plugins_example | 0.0.0 |
acados_solver_ros2 | 0.2.1 |
README
acados_solver_ros2
About
Helper packages to use the Acados solver for non-linear optimization in ROS2 applications.
The goal is to prototype NMPC solvers in Python and to seamlessly use them in C++ ROS2 applications (i.e., ros2-control
controllers).
To date, the stack includes:
-
acados_solver_base
: a wrapper C++ class for Acados solvers; -
acados_solver_plugins
: a templated interface between the wrapper and Acados auto-generated C-code. A minimalistic Python library provides simple generation of C++ solver plugins from Python Acados models; -
acados_solver_plugins_example
: a package to be used as a demo and as a template when starting a project using the acados solvers.
For more information, please check the documentation.
Installation
source /opt/ros/humble/setup.bash
mkdir ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/ICube-Robotics/acados_solver_ros2.git
vcs import . < acados_solver_ros2/acados_solver_ros2.repos
rosdep install --ignore-src --from-paths . -y -r
pip install future-fstrings # Python retro-compatibility
cd ..
colcon build && colcon build
source install/setup.bash
[!NOTE] If you are using ros jazzy or later, you might have to use a virtual environment or the
PIP_BREAK_SYSTEM_PACKAGES
flag.Otherwise, you might get the following error:
ERROR: the following rosdeps failed to install pip: rosdep installation of pip packages requires installing packages globally as root. When using Python >= 3.11, PEP 668 compliance requires you to allow pip to install alongside externally managed packages using the 'break-system-packages' option. The recommended way to set this option when using rosdep is to set the environment variable PIP_BREAK_SYSTEM_PACKAGES=1 in your environment.
Contacts
ICube Laboratory, University of Strasbourg, France
Thibault Poignonec: tpoignonec@unistra.fr, @github: tpoignonec
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.