Python notebooks for drone control (CoDrone library)
-
Updated
Apr 16, 2019 - Jupyter Notebook
Python notebooks for drone control (CoDrone library)
This Jupyter Notebook forms a simple implementation of the A* Search Algorithm in Python.
The notebook represents a coordinate conversion from the Geodetic Frame to a N.E.D. aeronautical representation of the E.C.E.F. Frame.
This notebook explains the Body Frame of the vehicle and goes into the usage of Euler Angles and Rotation Matrices as a means by which to represent the vehicle's orientation with the Local ECEF Frame.
This notebook is a continuation of representing orientation of the vehicle based on its Body Frame.
Now that we're able to represent the location of the vehicle as a reference point within a coordinate frame (in this case, the Local ECEF Frame) as well as its orientation, thanks to the Body Frame, we can consider motion of the vehicle as a transformation therein.
This notebook is to further build upon the concepts presented in previous notebooks; more specifically, we're going to test the points within a given path to see if any are collinear.
Now that we've begun pruning our path of waypoints, we take a deeper look at collinearity and why it may not be the most optimal of solutions.
Thanks to the steps taken in previous notebooks, we now have the needed tools to implement a full planning solution.
This notebook is an implementation of a grids-based medial axis transform.
This notebook is an implementation of a graph-based Voronoi Diagram.
In the last notebook, we wrote a method called 'simulate' that allows us to predict where the vehicle will end up given an initial state, some controls, a steering angle, and velocity. Now, let's actually incorporate it into our planner.
Now that we've implemented a steer function that, given some start state X1 and some destination state X2, allows us to randomly guess the set of controls that will try to make progress towards X2, we're going to move on an explore Rapidly-Exploring Random Trees (RRTs).
This notebook explores the potential field theory of multirotor control...
Vehicle dynamics are concerned with the motion of bodies under the action of forces. For our purposes, vehicle dynamics references understanding how the rotation of the quadrotor's 4 rotors create forces and how these forces generate motion of the vehicle. In the next few notebooks, we'll learn how to model these motions, mathematically, in Python.
Now that we understand the system, we're going to test that understanding by implementing a way to track the changes of states over time.
So as not to have the repetition as we did in the previous notebook, we're going to take a more compact approach and introduce state vector into code.
So far, we've been working in the 1D case so as to keep the concepts and related math relatively easy. Let's start moving into 2D...
Add a description, image, and links to the drone topic page so that developers can more easily learn about it.
To associate your repository with the drone topic, visit your repo's landing page and select "manage topics."