Giter VIP home page Giter VIP logo

rpg_quadrotor_control's Introduction

RPG Quadrotor Control

License

The RPG Quadrotor Control repository provides packages that are intended to be used with ROS. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

The source code is released under a MIT license.

Instructions

Instructions for the installation and usage of this software is provided along with further details in our Wiki. If you have questions or problems with this framework, please use the issue tracker. Please don't send us emails since they might not be answered. If you would like to contribute, please read the How to Contribute page first.

Summary

This repository contains a complete framework for flying quadrotors based on control algorithms developed by the Robotics and Perception Group. We also provide an interface to the RotorS Gazebo plugins to use our algorithms in simulation. Together with the provided simple trajectory generation library, this can be used to test our sofware entirely in simulation. We also provide some utility to command a quadrotor with a gamepad through our framework as well as some calibration routines to compensate for varying battery voltage. Finally, we provide an interface to communicate with flight controllers used for First-Person-View racing.

The theory behind the included algorithms is summarized in the theory document contained in this repository as well as in our RA-L18 Paper with a technical report attached for further details as well as in our RA-L17 Paper.

This repository makes use of some basic functionalities from the rpg_quadrotor_common repository and when working with real hardware, the GPIO and ADC functionalities in the rpg_single_board_io repository might come in handy.

Publication

If you use this work in an academic context, please cite the following two RA-L publications:

M. Faessler, A. Franchi, and D. Scaramuzza, "Differential Flatness of Quadrotor Dynamics Subject to Rotor Drag for Accurate Tracking of High-Speed Trajectories," IEEE Robot. Autom. Lett. (RA-L), vol. 3, no. 2, pp. 620โ€“626, Apr. 2018. [PDF]

@Article{Faessler18ral,
  author        = {Matthias Faessler and Antonio Franchi and Davide Scaramuzza},
  title         = {Differential Flatness of Quadrotor Dynamics Subject to Rotor
                  Drag for Accurate Tracking of High-Speed Trajectories},
  journal       = {{IEEE} Robot. Autom. Lett.},
  year          = 2018,
  volume        = 3,
  number        = 2,
  pages         = {620--626},
  month         = apr,
  doi           = {10.1109/LRA.2017.2776353},
  issn          = {2377-3766}
}

M. Faessler, D. Falanga, and D. Scaramuzza, "Thrust Mixing, Saturation, and Body-Rate Control for Accurate Aggressive Quadrotor Flight," IEEE Robot. Autom. Lett. (RA-L), vol. 2, no. 2, pp. 476โ€“482, Apr. 2017. [PDF]

@Article{Faessler17ral,
  author        = {Matthias Faessler and Davide Falanga and Davide Scaramuzza},
  title         = {Thrust Mixing, Saturation, and Body-Rate Control for Accurate
                  Aggressive Quadrotor Flight},
  journal       = {{IEEE} Robot. Autom. Lett.},
  year          = 2017,
  volume        = 2,
  number        = 2,
  pages         = {476--482},
  month         = apr,
  doi           = {10.1109/LRA.2016.2640362},
  issn          = {2377-3766}
}

Watch the video demonstrating what can be done by the control algorithms in this repository:

Differential Flatness of Quadrotor Dynamics Subject to Rotor Drag

And the video teaser for our presentation at ICRA 2018:

ICRA 2018 Video Teaser: Differential Flatness of Quadrotor Dynamics Subject to Rotor Drag

rpg_quadrotor_control's People

Contributors

mfaessle avatar foehnx avatar kelia avatar kohlerj avatar davidefalanga 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.