robotics-coursework icon indicating copy to clipboard operation
robotics-coursework copied to clipboard

Quadrotor PDF Slides, Papers, and Code

Open mithi opened this issue 4 years ago • 23 comments

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 avatar Nov 13 '20 16:11 mithi

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 avatar Nov 13 '20 16:11 mithi

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 avatar Nov 13 '20 16:11 mithi

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 avatar Nov 13 '20 16:11 mithi

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 avatar Nov 13 '20 16:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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

Matlab

mithi avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

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 avatar Nov 13 '20 17:11 mithi

x-Quadcopter Dynamics and Simulation - Andrew Gibiansky.pdf

Andrew Gibiansky :: Math → [Code] Blog (https://andrew.gibiansky.com) Archive (https://andrew.gibiansky.com/archive.html) About (https://andrew.gibiansky.com/pages/about.html) Quadcopter Dynamics and Simulation Friday, November 23, 2012

https://andrew.gibiansky.com/blog/physics/quadcopter-dynamics/

mithi avatar Nov 13 '20 19:11 mithi

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 avatar Nov 13 '20 19:11 mithi

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 avatar Nov 13 '20 20:11 mithi

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 avatar Nov 13 '20 20:11 mithi

Quadrotor Simulators

  • https://github.com/nanicalabs/quadcopter-simulation
  • https://github.com/nanicalabs/quadrotor
  • https://github.com/nanicalabs/UAV
  • https://github.com/nanicalabs/PythonRobotics/tree/master/AerialNavigation/drone_3d_trajectory_following
  • https://github.com/nanicalabs/minimum-snap-geometric-control
  • https://github.com/nanicalabs/robotics-toolbox-matlab/blob/master/models/mdl_quadrotor.m
  • https://github.com/nanicalabs/robotics-toolbox-matlab/blob/master/simulink/quadrotor_dynamics.m

Quadrotor Articles

https://andrew.gibiansky.com/blog/physics/quadcopter-dynamics/

mithi avatar Nov 14 '20 21:11 mithi

Python Robotics

https://github.com/AtsushiSakai/PythonRobotics/tree/master/AerialNavigation/drone_3d_trajectory_following

mithi avatar Nov 17 '20 06:11 mithi

COURSE ONLINE ABOUT QUADROTORS ELEC5660

https://gaowenliang.github.io/HKUST-ELEC5660-Introduction-to-Aerial-Robots/people/people.html

mithi avatar Nov 17 '20 11:11 mithi