Skip to content

EagleMPC-ROS contains several packages to run EagleMPC within a ROS environment

License

Notifications You must be signed in to change notification settings

PepMS/eagle_mpc_ros

Repository files navigation

⚠️ Disclaimer ⚠️

This is a work-in-progress library. As such, it only contains basic features. For any doubt, bug, problem or suggestion feel free to open an issue.

Eagle MPC - ROS

Introduction

This library contains several ROS-packages to control unmanned aerial manipulators (UAMs) using model predictive control (MPC) techniques. It depends on its homonymous library EagleMPC and it has been tested with ROS Noetic. The content of each package is detailed below.

EagleMPC - controller

Contains the node to run the MPC controllers from the EagleMPC library.

By now, it works in a simulated environment brought by this modified version for UAMs of the RotorS simulator.

EagleMPC - msgs

This package contains specific messages used throughout the other packages.

EagleMPC - rviz_plugins

This package contains rviz plugins that help to visualize the content of the optimal control problem (OCP) solved in the MPC.

Acknowledgments: These plugins are modified from this library.

EagleMPC - simulator

Simulation related tools such as UAMs spawning or the triggering of external disturbances for the simulation.

EagleMPC - viz

This package contains visualization tools. It contains several nodes and launch files that allows you to visualize offline generated trajectories as well as rosbags from simulations involving the MPC controllers.

Installation

Dependencies

ROS Control

sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers

EagleMPC

Install this library following the instructions detailed here

RotorS simulator

You should install this forked version including modifications to be used with UAMs.

EagleMPC - ROS

Clone this repo inside your workspace and run catkin_make

cd <ros_ws>/src
git clone https://github.com/PepMS/eagle_mpc_ros.git
cd ..
catkin_make

Running an example

roslaunch eagle_mpc_ros eagle_mpc_controller