/AutoTrans

AutoTrans: A Complete Planning and Control Framework for Autonomous UAV Payload Transportation

Primary LanguageC++

AutoTrans: A Complete Planning and Control Framework for Autonomous UAV Payload Transportation

AutoTrans

Video: YouTube | Bilibili

Introduction

AutoTrans presents a real-time and robust planning and control framework for quadrotor with payload. It can generate the dynamic feasible trajectory considering the time-varying shape and deal with the disturbance while executing trajectory.

System

This repo includes a real-time motion planning, a disturbance-aware NMPC and a simple simulation for a quadrotor with a suspended payload.

Authors: Haojia Li, Haokun Wang, Chen Feng, Fei Gao*, Boyu Zhou*, and Shaojie Shen.

Institutions: HKUST Aerial Robotics Group, SYSU STAR Group, and ZJU FAST Lab.

Paper: AutoTrans: A Complete Planning and Control Framework for Autonomous UAV Payload Transportation, IEEE Robotics and Automation Letters (RA-L), 2023. IEEE Spectrum

@article{li2023autotrans,
  title={AutoTrans: A Complete Planning and Control Framework for Autonomous UAV Payload Transportation}, 
  author={Li, Haojia and Wang, Haokun and Feng, Chen and Gao, Fei and Zhou, Boyu and Shen, Shaojie},
  journal={IEEE Robotics and Automation Letters}, 
  year={2023},
  volume={8},
  number={10},
  pages={6859-6866},
  doi={10.1109/LRA.2023.3313010}}

If you find this work useful or interesting, please kindly give us a star ⭐, thanks!😀

Setup

Compiling tests passed on Ubuntu 20.04/18.04 with ROS installed.

Prerequisites

  • ROS (tested with Noetic)
sudo apt install ros-"${ROS_DISTRO}"-mavros-msgs

Compiling and Running

# Compile the code
mkdir -p autotrans_ws/src
cd autotrans_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/AutoTrans
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release

# Run the simulation with planner and controller
source devel/setup.bash
roslaunch payload_planner simple_run.launch

You should see the simulation in rviz. You can use the 2D Nav Goal to set the goal position. The red arrow on the quadrotor represents the estimated disturbance force (like rotor drag).

Simulation

Tip: Boost Your Computer

This can make the MPC solve faster in each iteration.

sudo apt install cpufrequtils
sudo cpufreq-set -g performance

Acknowledgements

We use MINCO as our trajectory representation.

We borrow the framework from Fast-Planner and Ego-Planner-v2

Thanks to rpg_mpc for a good reference.

Maintaince

For any technical issues, please contact Haojia Li(hlied@connect.ust.hk).