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/
-
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 |
---|---|---|
- Kotaru, P., and Sreenath, K., "Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control." International Federation of Automatic Control World Congress (IFAC), July 2020, to appear.
@conference{IFAC2020_Kotaru,
author={ Prasanth Kotaru and Koushil Sreenath },
title={ Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control },
booktitle={ International Federation of Automatic Control World Congress (IFAC) },
month={ July },
year={ 2020, to appear },
}