TJBetter / uav_geometric_control

Geometric controllers developed at FDCL for UAVs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  • You can find the ROS/Gazebo simulation environment here.
  • Python decoupled-yaw controller can be found in the ROS/Gazebo repository.
  • Documentation for the C++ is inside the cpp directory.
  • Unit testing has been implemented in C++ and Python (partial) versions of the controller.

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

About

Geometric controllers developed at FDCL for UAVs

License:MIT License


Languages

Language:HTML 67.9%Language:TeX 11.7%Language:C++ 5.0%Language:JavaScript 4.6%Language:CSS 3.8%Language:Python 3.2%Language:MATLAB 2.3%Language:CMake 1.3%Language:Makefile 0.1%Language:M 0.0%