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.
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.
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.
This package contains specific messages used throughout the other packages.
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.
Simulation related tools such as UAMs spawning or the triggering of external disturbances for the simulation.
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.
sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers
Install this library following the instructions detailed here
You should install this forked version including modifications to be used with UAMs.
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
roslaunch eagle_mpc_ros eagle_mpc_controller