This repo presents the Matlab code for implementing "Multiple Quadrotors Carrying a Flexible Hose: Dynamics, Differential-Flatness and Control". The Matlab class MultipleQuadrotorFlexibleHose.m
defines and simulates the generalized coordinate-free dynamics of the system. Any desired state trajectory and inputs can be computed using flat2state
method for any given flat output trajectory. The class also computes the linearized dynamics about the desired time-varying state trajectory. A Finite-Horizon LQR controller is implemented to track a stationary setpoint and circular trajectory.
The Matlab code has been tested with R2019a version. Example scripts can be found in matlab/examples/
-
Download https://github.com/HybridRobotics/geometric-toolbox and add it to the path.
-
Open the examples folder in Matlab.
-
Run the scripts.
example1.m, example2.m
present example templates to simulate multiple-quadrotor-flexible-hose dynamics along with LQR control on the linearized dynamics.
Scripts for the simulations presented in the paper are sim_1a_SETPOINT_nQ2.m, sim_1b_SETPOINT_nQ3.m, sim_2_TRAJ_nQ2.m
.
Use matlab/utils/func_generators/generateMexFiles.m
to MEX the dynamics for appropriate system parameters (to reduce simulation time).
- If
Unrecognized function or variable
error arises, see Geometric Toolbox
Mat files for simulations presented in the paper. Link
Sim 1.1: Setpoint 2 quadrotors | Sim 1.2: Setpoint 3 quadrotors | Sim 2: Trajectory 2 quadrotors |
---|---|---|
- Prasanth Kotaru, and Koushil Sreenath. "Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control." IFAC-PapersOnLine 53, no. 2 (2020): 8832-8839.
@article{kotaru2020multiple,
title={Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control},
author={Kotaru, Prasanth and Sreenath, Koushil},
journal={IFAC-PapersOnLine},
volume={53},
number={2},
pages={8832--8839},
year={2020},
publisher={Elsevier}
}