All Projects β†’ guilyx β†’ FlyingCarUdacity

guilyx / FlyingCarUdacity

Licence: MIT license
πŸ›©οΈβš™οΈ 3D Planning, PID Control, Extended Kalman Filter for the Udacity Flying Car Nanodegree // FCND-Term1

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to FlyingCarUdacity

CodeDroneDIY
The most simple, but working, quadricopter flight controller from scratch, using Arduino Uno/Nano.
Stars: ✭ 68 (+325%)
Mutual labels:  uav, drone, pid
multi uav simulator
A quadrotor swarm simulator based on ROS (Robot Operating System).
Stars: ✭ 73 (+356.25%)
Mutual labels:  control, uav, drone
Quadcopter SimCon
Quadcopter Simulation and Control. Dynamics generated with PyDy.
Stars: ✭ 84 (+425%)
Mutual labels:  control, uav, pid
Mrs uav system
The entry point to the MRS UAV system.
Stars: ✭ 64 (+300%)
Mutual labels:  control, uav, drone
MyReads
πŸ“š MyReads is @udacity React Nanodegree Project. This is a book tracking app allows you to select and categorize books you have read, are currently reading, or want to read. The project emphasizes using React to build the application and provides an API server and client library that it should be persisted information as user’s interacts with th…
Stars: ✭ 13 (-18.75%)
Mutual labels:  udacity, udacity-nanodegree
SUSE-Cloud-Native-Foundations-Scholarship
Udacity Suse Cloud Native Foundations Scholarship Course Walkthrough
Stars: ✭ 34 (+112.5%)
Mutual labels:  udacity, udacity-nanodegree
ESP32
DroneBridge for ESP32. A short range wifi based telemetry link. Support for MAVLink, MSP & LTM (iNAV).
Stars: ✭ 183 (+1043.75%)
Mutual labels:  uav, drone
ufomap
UFOMap: An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Stars: ✭ 117 (+631.25%)
Mutual labels:  uav, drone
FUEL
An Efficient Framework for Fast UAV Exploration
Stars: ✭ 450 (+2712.5%)
Mutual labels:  uav, motion-planning
ZeroPilot-SW
Software for WARG custom autopilot
Stars: ✭ 13 (-18.75%)
Mutual labels:  uav, drone
FMT-Firmware
FMT Autopilot Embedded System
Stars: ✭ 207 (+1193.75%)
Mutual labels:  uav, drone
Deep-Learning
It contains the coursework and the practice I have done while learning Deep Learning.πŸš€ πŸ‘¨β€πŸ’»πŸ’₯ 🚩🌈
Stars: ✭ 21 (+31.25%)
Mutual labels:  udacity, udacity-nanodegree
SAComputerVisionMachineLearning
Computer Vision and Machine Learning related projects of Udacity's Self-driving Car Nanodegree Program
Stars: ✭ 36 (+125%)
Mutual labels:  udacity, udacity-nanodegree
Udacity Nanodegrees
πŸŽ“ List of Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 5,893 (+36731.25%)
Mutual labels:  udacity, udacity-nanodegree
udacity-iOS-nanodegrees
List of iOS Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 52 (+225%)
Mutual labels:  udacity, udacity-nanodegree
Image-Classifier
Final Project of the Udacity AI Programming with Python Nanodegree
Stars: ✭ 63 (+293.75%)
Mutual labels:  udacity, udacity-nanodegree
ai for robotics
Visualizations of algorithms covered in Sebastian Thrun's excellent Artificial Intelligence for Robotics course on Udacity.
Stars: ✭ 125 (+681.25%)
Mutual labels:  udacity, pid
Udacity
This repo includes all the projects I have finished in the Udacity Nanodegree programs
Stars: ✭ 57 (+256.25%)
Mutual labels:  udacity, udacity-nanodegree
ContactImplicitMPC.jl
Fast contact-implicit model-predictive control for robotic systems that make and break contact with their environments.
Stars: ✭ 51 (+218.75%)
Mutual labels:  control, motion-planning
Udacity-Advance-Lane-detection-of-the-road
Udacity Self-Driving Car Engineer Nanodegree Advanced Lane Finding Project. Identifying lanes using edge detection (Sobel operator, gradient of magnitude and direction, and HLS color space), camera calibration and unwarping (distortion correction and perspective transform), and polynomial fitting for the lanes.
Stars: ✭ 27 (+68.75%)
Mutual labels:  udacity, udacity-nanodegree

Udacity - Fly Car NanoDegree Say Thanks HitCount Contributors Forks Stargazers Issues MIT License LinkedIn


Simulator

Autonomous UAV Nanodegree

Path planner, cascaded controller, extended kalman filter...
Explore the docs Β»

View Demo Β· Report Bug Β· Request Feature

Table of Contents

About the Project

Planning

This is the projects from Udacity's FCND (Flying Car Nanodegree). It contains more or less elaborate planning and discretization techniques. Implemented for the Udacity simulator as well as in an "empty shell" plotted with matplotlib. It also contains control utilitaries for uav flights and a flight trajectories scenarii.

Setup

  1. Download miniconda and install it.
  2. Star the project (hehe).
  3. Clone the project. git clone https://github.com/guilyx/autonomous-uav.git
  4. Create the miniconda environment. conda env create -f environment.yml
  5. Activate the environment. source activate fcnd.
  6. If everything went well you can now use the projects scripts.
  7. Download latest version of the UAV Simulator from Udacity

You should now be ready to go.

Run

Udacity Simulator Planning

These four scripts will build your plan for the simulator with different planning/discretizing approaches. As of now they all use A* to find the optimal path and prune the colinear points of the path by default. ( comment function call to remove that )

  1. Grid discretization : python src/motion_planning_grid.py
  2. Medial Axis discretization : python src/motion_planning_medialaxis.py
  3. Voronoi Graph discretization : python src/motion_planning_voronoi.py
  4. Probabilistic Graph discretization : python src/motion_planning_probabilisticroadmap.py # Under Development

Medial Axis and Grid discretization have diagonal actions activated by default, you can change the value in the MotionPlanner constructor. Note that all the scripts use arguments to define the goal position. Use --goal_lon=x --goal_lat=y --goal_alt=z to use a custom destination. A default one is defined so it's not mandatory.

Matplotlib Planning

Matplot Plots

  1. Grid discretization : python src/grid_search.py
  2. Medial Axis discretization : python src/medialaxis_search.py (not working)
  3. Voronoi Graph discretization : python src/voronoi_search.py
  4. Probabilistic Graph discretization : python src/probabilistic_search.py
  5. Receding Horizon : none
  6. Potential Field : none

Control and Estimation Simulator

Controls

To use the simulator for control testing, follow these steps :

  1. cd _QuadrotorEstimator
  2. mkdir build && cd build
  3. cmake ..
  4. make
  5. ./CPPEstSim

You can use right click to change scenario, as well as change the control parameters ( that are already tuned ) in _QuadrotorController/config/QuadControlParams.txt and _QuadrotorController/config/QuadEstimatorEKF.txt. Note that I do not own the simulator, it was designed and built by Fotokite. (Sergei Lupashin in particular)

EKF Estimator is located in QuadEstimatorEKF.cpp and the Cascaded PID Controller is located in QuadControl.cpp.

Udacity Simulator Control

Now let's mix things up ! (under dev)

Roadmap

See the open issues for a list of proposed features (and known issues).

Contribute

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Contribute on proposed features

  1. Choose any open issue from here.
  2. Comment on the issue: Can I work on this? and get assigned.
  3. Make changes to your fork and send a PR.

Otherwise just create the issue yourself, and we'll discuss and assign you to it if serves the project !

To create a PR:

Follow the given link to make a successful and valid PR: https://help.github.com/articles/creating-a-pull-request/

To send a PR, follow these rules carefully, otherwise your PR will be closed:

  1. Make PR title in this formats:
Fixes #IssueNo : Name of Issue
Feature #IssueNo : Name of Issue
Enhancement #IssueNo : Name of Issue

According to what type of issue you believe it is.

For any doubts related to the issues, i.e., to understand the issue better etc, comment down your queries on the respective issue.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Based on seed project from Udacity ( 3D Motion Planning - Flying Cars Nanodegree ) Erwin Lejeune - @spida_rwin - [email protected]

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].