Giter Club home page Giter Club logo

quadrotorwithcablesuspendedload's Introduction

Modelling and Control of a Quadrotor with Cable Suspended Load

The code is an implementation of Sreenath et al.'s modeling and control of a quadrotor with a cable suspended load. The system is modeled using the Newton-Euler approach and its dynamics are split into cable taut and nontaut dynamics with a continuous switching case between the two. The differential flatness properties of the quadrotor-load system are then used to derive a nonlinear cascaded control pipeline with errors operating on R^3, S^2, and SO(3) configuration spaces. The load position and attitude, and the quadrotor attitude controllers are designed to be a proportional derivative controller with feedforward terms from the inverted dynamics. The system was discretized and implemented in simulation where it was tested with three load trajectories: a step input, a sinusoid and ramp in x-z, and a 2D lemniscate in x-y. The original PD controller proposed in the literature suffered from a steady-state error, which this codebase solved by introducing an integral term in the form of a PID controller.

Installation

Install the files into an environment containing MATLAB

Usage

In main.m:

  • Change any needed quadrotor-load parameters
  • Change simulation parameters (timestep, total time, controller frequencies, control gains, etc.) as needed
  • Run main.m

References

Sreenath Koushil, Taeyoung Lee, and Vijay Kumar. "Geometric control and differential flatness of a quadrotor UAV with a cable-suspended load." 52nd IEEE Conference on Decision and Control. IEEE, 2013.

quadrotorwithcablesuspendedload's People

Contributors

yvesdaoud avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.