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.
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!😀
Compiling tests passed on Ubuntu 20.04/18.04 with ROS installed.
- ROS (tested with Noetic)
sudo apt install ros-"${ROS_DISTRO}"-mavros-msgs
# 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).
This can make the MPC solve faster in each iteration.
sudo apt install cpufrequtils
sudo cpufreq-set -g performance
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.
For any technical issues, please contact Haojia Li([email protected]).