GithubHelp home page GithubHelp logo

zmanaa / uav_geometric_control Goto Github PK

View Code? Open in Web Editor NEW

This project forked from valmik/uav_geometric_control

0.0 0.0 0.0 9.27 MB

Geometric controllers developed at FDCL for UAVs

License: MIT License

JavaScript 4.64% C++ 5.05% Python 3.16% MATLAB 2.32% M 0.04% CSS 3.77% TeX 11.73% Makefile 0.06% HTML 67.95% CMake 1.28%

uav_geometric_control's Introduction

Geometric Control of a Quadrotor UAV on SE(3)

This includes the geometric controller in SE(3) we use in the Flight Dynamics and Control Lab, in different programming languages. We use two main versions of the controller:

  1. Geometric tracking control of a quadrotor UAV on SE(3).
  2. Geometric Controls of a Quadrotor with a Decoupled Yaw Control

The main difference between those two is that the second one decouples the yaw control in the attitude controller. This leads to better tracking performance, especially at the presence of large yaw angles, but at the expense of some additinal computations and slightly delayed yaw error convergence. Please check Geometric Controls of a Quadrotor with a Decoupled Yaw Control for more comparisons.

Variants of both the controllers have been used in various numerical and experimental research tasks. A summary of these can be found in Publications section.


Codes in this Repository

The following controller/language combinations are available in this repository.

Language Standard [1] Decoupled-Yaw [2]
C++
Python
Matlab

Note:

  • Documentation for the C++ is inside the cpp directory.
  • Unit testing has been implemented in C++ and Python (partial) versions of the controller.
  • You can find the ROS package here (not currently being maintained).

Citations

If you use either of the controllers, please use the relevant citatations:

  • Geometric tracking control of a quadrotor UAV on SE(3):
    @INPROCEEDINGS{5717652,
    author={T. {Lee} and M. {Leok} and N. H. {McClamroch}},
    booktitle={IEEE Conference on Decision and Control}, 
    title={Geometric tracking control of a quadrotor UAV on SE(3)}, 
    year={2010},
    pages={5420-5425},}
    
  • Geometric Controls of a Quadrotor with a Decoupled Yaw Control
    @inproceedings{Gamagedara2019,
      title={Geometric controls of a quadrotor uav with decoupled yaw control},
      author={Gamagedara, Kanishke and Bisheban, Mahdis and Kaufman, Evan and Lee, Taeyoung},
      booktitle={2019 American Control Conference (ACC)},
      pages={3285--3290},
      year={2019},
      organization={IEEE}
    }
    

Publications

A selected list of publications that use implementations of the above controllers with/without slight variations:

  • Geometric controls of a quadrotor with a decoupled yaw control: paper
  • Geometric adaptive control with neural networks for a quadrotor UAV in wind fields(wind rejection): paper, ArXiv link, video: 360 back-flip, hover flight, attitude flight
  • Autonomous quadrotor 3D mapping and exploration using exact occupancy probabilities: video
  • Autonomous flight of a quadrotor UAV with the states estimated by a delayed Kalman filter: video
  • Laser guided landing on an inclined surface: paper, video
  • PID Geometric control on SE(3): paper, ArXiv link
  • Geometric control on SE(3): paper
  • Geometric attitude control on SO(3): paper
  • Model identification on SE(3): paper
  • Model identification on SO(3): paper
  • Attitude Control on SO(3) with constraints: paper, Code
  • For a rigid dumbbell around an asteroid: code

uav_geometric_control's People

Contributors

kanishkegb avatar mbshbn avatar skulumani avatar tylee-fdcl 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.