Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quadrotor PDF Slides, Papers, and Code #12

Open
mithi opened this issue Nov 13, 2020 · 23 comments
Open

Quadrotor PDF Slides, Papers, and Code #12

mithi opened this issue Nov 13, 2020 · 23 comments

Comments

@mithi
Copy link
Owner

mithi commented Nov 13, 2020

How does a Quadrotor fly?
A journey from physics, mathematics, control systems and computer science towards a “Controllable Flying Object”

Corrado Santoro

ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica - Universita` di Catania, Italy
[email protected]

Keynote - L.A.P. 1 Course - Jan 10, 2014

Why Multi-rotors?
2 Structure and Physics of a Quadrotor
3 From Analysis to Driving:
How can I impose a movement to my quadrotor?
4 The ideal world and the real world: Why we need Control Systems Theory!
5 Rates and Angles:
Could I control the attitude?
6 What about Altitude or GPS control?

quadrotor-corrado-santoro.pdf

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Teppo Luukkonen
Modelling and control of quadcopter

School of Science
Mat-2.4108
Independent research project in applied mathematics
Espoo, August 22, 2011

The purpose of this paper is to present the basics of quadcopter modelling and control as to form a basis for further research and development in the area. This is pursued with two aims. The first aim is to study the mathematical model of the quadcopter dynamics. The second aim is to develop proper methods for stabilisation and trajectory control of the quadcopter. The challenge in controlling a quadcopter is that the quadcopter has six degrees of freedom but there are only four control inputs.

This paper presents the differential equations of the quadcopter dynamics. They are derived from both the Newton-Euler equations and the Euler-Lagrange equations which are both used in the study of quadcopters. The behaviour of the model is examined by simulating the flight of the quadcopter. Stabilisation of the quadcopter is conducted by utilising a PD controller. The PD controller is a simple control method which is easy to implement as the control method of the quadcopter. A simple heuristic method is developed to control the trajectory of the flight. Then a PD controller is integrated into the heuristic method to reduce the effect of the fluctuations in quadcopter behaviour caused by random external forces.

The following section presents the mathematical model of a quadcopter. In the third section, the mathematical model is tested by simulating the quadcopter with given control inputs. The fourth section presents a PD controller to stabilise the quadcopter. In the fifth section, a heuristic method including a PD controller is presented to control the trajectory of quadcopter flight. The last section contains the conclusion of the paper.

quadrotor-teppo-luukonen.pdf

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Quadcopter Dynamics
Department of Physics
Indian Institute of Technology, Bombay
Guide: Prof. Pradeep Sarin

Arduino Electronics Lab
quadrotor-pradeep-sarin.pdf

We realize that the quadcopter is a well-researched topic and models like the one we wish to design have already been implemented. So we intend this project to be solely for educational purposes. We believe that we will gain tremendous knowledge about micro- controllers and control systems via this project.

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Dynamics and control of quadcopter using linear model predictive control approach
To cite this article: M Islam et al 2017 IOP Conf. Ser.: Mater. Sci. Eng. 270 012007

M Islam, M Okasha* and M M Idres
Department of Mechanical Engineering, International Islamic University Malaysia, Kuala Lumpur, Malaysia

This paper investigates the dynamics and control of a quadcopter using the Model Predictive Control (MPC) approach.

The presented work shows the use of Linear Model Predictive Control (LMPC) approach for different trajectories (i.e. circle, helix and complex helix trajectory) under disturbances. It is designed with the help of MPC toolbox in Simulink. The main advantage of MPC controller that make it different from other controllers such as PID, LQR, H-infinity or feedback linearization is the optimization of control inputs and outputs under the consideration of disturbances, noise and constraint

quadrotor-m-islam.pdf

@mithi mithi changed the title Quadrotor PDF Slides Quadrotor PDF Slides and Papers Nov 13, 2020
@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Quadcopter Dynamics
Quadcopter Attitude Control
Four Maneuvers
Reference Frames
Transforming Reference Frames
Quadrotor Kinematics
Quadrotor Dynamics (Vertical Axis Only)
Quadrotor Dynamics: Takeoff to Hover

Quadrotor Dynamics: Segments of Takeoff to Hover
Build Your Own Quadcopter Simulation (In excel)
How to Move Forwards
QuadcopterDynamics.pdf
How to Pitch Forward

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 3, ISSUE 8, AUGUST 2014

Quadcopter Flight Dynamics

Mohd Khan

Its small size and swift maneuverability enables the user to perform flying routines that include complex aerial maneuvers. But for conducting such maneuvers, precise angle handling of the copter is required. The precise handling is fundamental to flying by following a user-defined complex trajectory-based path and also while performing any type of missions. This paper serves as a solution to handling the quadcopter with angular precision by illustrating how the spin of the four rotors should be varied simultaneously to achieve correct angular orientation along with standard flight operations such as taking-off, landing and hovering at an altitude.
Quadcopter-mod-khan.pdf

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

In this project you will learn about quad rotor dynamics and develop algorithms to control it. A thorough understanding of the theory and a clean implementation of the controller is crucial because you will use this code base in subsequent projects. The code will be written in Matlab and first tested in a simulator. During the lab session you
will use it to fly a real, physical quadrotor with it!

https://alliance.seas.upenn.edu/~meam620/wiki/index.php?n=Main.Projects

quadrotor-upenn-modelling-control.pdf

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/MUNEEBABBASI/2DQuadSim

Matlab simulation of 2D quadrotor systems
2DQuad - simulation of quadrotor system, implemented running control laws from "Minimum Snap Trajectory Generation and Control for Quadrotors", Mellinger and Kumar
2DQuadWithLoad - simulation of quadrotor system with load, implemented running control laws from "Trajectory Generation and Control of a Quadrotor with a Cable-Suspended Load", Sreenath, Michael, and Kumar
2DQuadWithLoadGui - simulation of quadrotor system with load, implemented as before, with GUI, allows for following of generated of optimal trajectories from the trajGen code package
trajGen - generation of piece-wise trajectories that minimize a kth derivative, implementation of techniques described in "Polynominal Trajectory Planning for Quadrotor Flight", Richter et al. and "Minimum Snap Trajectory Generation and Control for Quadrotors", Mellinger and Kumar

MATLAB

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/nikhilkalige/quadrotor
Machine learning for High speed quadrotor flips
Python and matplot lib implementation
A Simple Learning Strategy for High-Speed Quadrocopter Multi-Flips
Sergei Lupashin, Angela Sch ̈ollig, Michael Sherback, Raffaello D’Andrea
Adaptive Open-Loop Aerobatic Maneuvers for Quadrocopters
Sergei Lupashin, Rafaello D’Andrea
Adaptive fast open-loop maneuvers for quadrocopters
Sergei Lupashin, Rafaello D’Andrea

PYTHON

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

My code for the Coursera course on Aerial Robotics by University of Pennsylvania. Things I learned:

Quadrotor Dynamic Modeling
Quadrotor Control
Quadrotor Trajectory Generation

https://github.com/karanchawla/AerialRobotics-Coursera

MATLAB

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/EwingKang/QuadCopter-Quaternion-Dynamics-in-Simulink

QuadCopter-Quaternion-Dynamics-in-Simulink
Full quadcopter dynamics simulation using quaternion with propeller aerodynamics.

This is a pure-simulink quadrotor dynamics simulation without the requirement of any toolbox. The core kinematic is written using "Qauternion". And the propeller aerodynamics/ rotational dynamics is carefully modeled.
Quaternion is a famous method of representing attitude in space that preserve the intuativness and "complete" i.e. no pole. The quadrotor dynamics is dominate by simple rigid body dynamics, thus becoming a popular solution for autonomous vehicle.
I'm trying to model the dynamics as best as I can get it. Because I'm studying in AeroAstro department, I put more effort on the simulation of aerodynamics/rotational dynamics of the propeller. This includes the washing disk delay/damping of the air, interaction of propeller subject to different airflow, and ground effect.
It is not my own work of proposing these aerodynamic model and definately not the quaternion part, you may find my reference in the following section. The name of this simulink "OS4" is actually the name a quadrotor model created by Samir BOUABDALLAH in EPFL (ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE). The thesis is my main reference for creating this simulation and is stated in the reference.

MATLAB

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/simondlevy/PyQuadSim

PyQuadSim
A open-source quadrotor simulator in Python for Linux

NOTE: I am no longer supporting PyQuadSim. If you're interested in a more realistic open-source flight simulator using actual C++ firmware, try HackflightSim.

Python

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/yrlu/quadrotor
Quadrotor Control, Path Planning and Trajectory Optimization
Following MEAM 620 Advanced Robotics course at University of Pennsylvania.

(For Penn students: DO NOT spoil the fun by looking at this repo and not working on your assignments! and most importantly, DO NOT violate the honor code!)

This repo includes matlab code for:

Quadrotor PD controller
Path planning algorithms (Dijkstra, A*)
Trajectory optimizations (Minimum Snap/Acceleration Trajectory)

Matlab

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/wjxjmj/quadrotorTrackingControl
A simulation for quadrotor based on matlab

Matlab

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

https://github.com/jindegithub/UAV

A quadcopter simulator with single and multi-quad simulations. The simulator supports time scaling (including real-time simulations) and headless mode (the simulator runs in background without a GUI update).

PYTHON

Simulation of dynamics:
Numpy
Math
SciPy
GUI:
Matplotlib
Matplotlib Mapping Toolkits
Threading:
Time
Datetime
Threading

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Peter Huang

https://github.com/hbd730/quadcopter-simulation
The project simulates a quadcopter in 3D environment. It contains a basic quadcopter dynamics model, hover controller, trajectory generator, visualisation toolkit and a top level scheduler which runs each module at a specific rate.
I have been playing and studying quadcopter in my spare time since 2014 when I first bought a crazyflie. There are many interesting projects around already, like vision-based SLAM, hover control and advance manoeuvre, etc. However, there are very few open source quadcopter simulator which helps a beginner to overcome the mental barrier of understanding the underlying physics. There are a lot of research papers on the topic of quadcopter control and autonomous application, but none of those can be made possible without a decent simulation tool. This project aims to address that. Thanks to Coursera's online course Aerial Robotics by Professor Vijay Kumar, which presents quadcopter's motion equations in detail, I was then inspired and finally able to write this from scratch

Python

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Quadrotor control using minimum snap trajectory optimization and SE3 geometric controller

This project is from the course EN530.678.S2018 Nonlinear Control and Planning in Robotics, The Johns Hopkins University. For more information, please visit the course website

This repository contains MATLAB-based simulation of quadrotor using a geometric controller tracking the trajectory generated by minimum snap optimization.

https://github.com/yorgoon/minimum-snap-geometric-control

@mithi mithi changed the title Quadrotor PDF Slides and Papers Quadrotor PDF Slides, Papers, and Code Nov 13, 2020
@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Non Linear Control and Planning in Robotics
project slide_final2.pptx.pdf

Nonlinear Control and Planning in Robotics

Planning and control of a quadrotor in 3-D among obstacles
final report.pdf

Soowon Kim, Hyungmu Lee
Johns Hopkins University

In this project, we present planning and control of a quadrotor in 3-D among obstacles. Initializing starting point and destination point, we utilize Dijkstra and A* algorithm to find the shortest path in a map. On top of that, we also use the minimum snap- trajectory which is used to 9th polynomial and 4th derivative cost minimization. In this trajectory process, we emulate the time allocation by using gradient descent and add a task about collision test so that we are able to obtain an optimized path with lowest energy cost. Within geometric tracking control of a quadrotor UAV on SE(3) by Taeyoung Lee, we design a controller to track our desired-trajectory perfectly. This project demonstrates the possibility of use of quadrotors based on an optimized way to design a trajectory and track it under low-energy cost.

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

Trajectory Generation and Control for Quadrotors
Daniel Warren Mellinger

This thesis presents contributions to the state-of-the-art in quadrotor control, payload transportation with
single and multiple quadrotors, and trajectory generation for single and multiple quadrotors. In Ch. 2 we
describe a controller capable of handling large roll and pitch angles that enables a quadrotor to follow
trajectories requiring large accelerations and also recover from extreme initial conditions. In Ch. 3 we describe
a method that allows teams of quadrotors to work together to carry payloads that they could not carry
individually. In Ch. 4 we discuss an online parameter estimation method for quadrotors transporting payloads
which enables a quadrotor to use its dynamics in order to learn about the payload it is carrying and also adapt
its control law in order to improve tracking performance. In Ch. 5 we present a trajectory generation method
that enables quadrotors to fly through narrow gaps at various orientations and perch on inclined surfaces.
Chapter 6 discusses a method for generating dynamically optimal trajectories through a series of predefined
waypoints and safe corridors and Ch. 7 extends that method to enable heterogeneous quadrotor teams to
quickly rearrange formations and avoid a small number of obstacles.
quadrotor-Trajectory Generation and Control for Quadrotors.pdf

@mithi
Copy link
Owner Author

mithi commented Nov 13, 2020

controls-engineering-in-frc.pdf

https://github.com/calcmogul/controls-engineering-in-frc

I originally wrote this as a final project for an undergraduate technical writing class I took at University of California, Santa Cruz in Spring 2017 (CMPE 185). It is intended as a digest of graduate-level control theory aimed at veteran FIRST Robotics Competition (FRC) students who know algebra and a bit of physics. As I learned the subject of control theory, I found that it wasn't particularly difficult, but very few resources exist outside of academia for learning it. This book is intended to rectify that situation and provide a lower the barrier to entry to the field.

@mithi
Copy link
Owner Author

mithi commented Nov 17, 2020

@mithi
Copy link
Owner Author

mithi commented Nov 17, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant