germal Goto Github PK
Type: User
Bio: There is always room for personal and professional growth and collaboration is the key for achieving
Type: User
Bio: There is always room for personal and professional growth and collaboration is the key for achieving
2019 DGIST DPoom project under UGRP : SBC-Based Full Automation Robot Driving Solution with Indoor SLAM and single RGB-D Camera
Basic algorithms for height map based 3D path planning: BFS, Dijkstra, A*, Theta*
Portfolio for 3D Point Cloud Processing from www.shenlanxueyuan.com China
Project 003 of Udacity's Autonomous Aerial Engineer ("Flying Car") Nanodegree, "3D Quadrotor Control"
Project 004 of Udacity's Autonomous Aerial Engineer ("Flying Car") Nanodegree, "Building An Estimator".
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 this notebook, we look at implementing a 3D Voxel Map of our environment.
In this notebook, we look into the concept of random sampling and how its implementation is effected by our 2.5D obstacle map.
Now that we have gone over random sampling in a 2.5D environment, in this notebook we have what we need to construct a 3D, graph-based representation of the feasible parts of the configuration space.
In most lessons, thusfar, we've assumed an idealized version of the world and physics. We've assumed that the vehicle always knows where it is in the world as well as knowing where every obstacle is ahead of time. We've even assumed that the vehicle was able to follow a trajectory perfectly through the environment.
In this notebook, we're going to discuss the Dubin's Car model and curved flight trajectories as a function of inertia.
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...
Continuing the theme of multirotor vehicle control, let's start examining the implementation of Closed Loop Controllers.
In this notebook, we glance at one of the major downfalls of a proportional controller and the solution to such a downfall.
In this notebook, we're further extending our controller by implementing a feed-forward term to allow a target acceleration.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.