Skip to content

ICube-Robotics/acados_solver_ros2

Repository files navigation

acados_solver_ros2

Licence CI

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

Contacts

icube

ICube Laboratory, University of Strasbourg, France

Thibault Poignonec: tpoignonec@unistra.fr, @github: tpoignonec