/multiple-quadrotor-flexible-hose

Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control

Primary LanguageMATLAB

Multiple Quadrotors Carrying a Flexible Hose: Dynamics, Differential-Flatness and Control

About

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.

Running Examples

The Matlab code has been tested with R2019a version. Example scripts can be found in matlab/examples/

  1. Open the examples folder in Matlab.

  2. 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.

Using MEX files

Use matlab/utils/func_generators/generateMexFiles.m to MEX the dynamics for appropriate system parameters (to reduce simulation time).

Common Errors

Simulations

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

Citation

  • 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 },
}