Skip to content

AdithyaDamarla/Flying_Car_and_Autonomous_Flight_Udacity

Repository files navigation

Flying Car and Autonomous Flight — Udacity (Nano Degree)

This repository collects Udacity FCND projects for Backyard Flyer, Motion Planning, Controls (C++), and Estimation (C++). Below is a short summary of each project, where to find the detailed README and report, and visual highlights (GIFs) included from each project's results/ folder.


Projects Included

  • Backyard Flyer

    • Location: Introduction to Automonous Flight/FCND-Backyard-Flyer
    • Files: README.md, Report.md
    • Summary: Implements the simple state-machine based mission (arming → takeoff → fly square → land). See backyard_flyer.py for mission logic and callbacks.
    • Visual

  • 3D Motion Planning

    • Location: Planning/FCND-Motion-Planning

    • Files: README.md, Report.md, motion_planning.py, planning_utils.py

    • Summary: Implements grid & graph A* planning, reading global home from colliders.csv, converting between geodetic and local coordinates, supporting diagonal moves (cost = √2), and waypoint pruning.

    • Visuals

      Grid Search

      Grid (No Diagonal) Grid (Diagonal)

      Graph Search

      Graph (No Diagonal) Graph (Diagonal)
  • Controls (C++)

    • Location: Controls/FCND-Controls-CPP

    • Files: README.md, Report.md, src/QuadControl.cpp, config/QuadControlParams.txt

    • Summary: Full 3D controller implementation (body-rate, roll/pitch, altitude with integrator, yaw, motor mixing). See Report.md for gain tables and scenario results.

    • Visuals:

      Intro Attitude
      Intro Attitude Control
      Position Non-idealities & Robustness
      Position Control Non-idealities
  • Estimation (C++)

    • Location: Estimation/FCND-Estimation-CPP

    • Files: README.md, Report.md, src/QuadEstimatorEKF.cpp, config/QuadEstimatorEKF.txt

    • Summary: Extended Kalman Filter implementation for pose estimation (IMU integration with quaternions, prediction step, magnetometer and GPS updates). See Report.md for step-by-step rubric mapping.

    • Visuals:

      Sensor Noise Attitude Estimation
      Sensor Noise Attitude Estimation
      Prediction Step Covariance Prediction
      Prediction Step Covariance Prediction
      Magnetometer Update GPS Update
      Magnetometer Update GPS Update
      Final Evaluation
      De-tuned Gains

Rubric Mapping (high level)

  • Backyard Flyer

    • Implemented state transitions and callbacks for arming_transition(), takeoff_transition(), waypoint_transition(), landing_transition(), and disarming_transition() (see Introduction to Automonous Flight/FCND-Backyard-Flyer/Report.md).
    • Flight: the script commands the vehicle to fly a square and land near the start point.
  • Motion Planning

    • Reads colliders.csv first line to set global_home and converts between global/local coordinates.
    • Start and goal are computed from geodetic coordinates; A* supports 8-connectivity (diagonals cost √2).
    • Path pruning implemented to cull unnecessary waypoints (see Planning/FCND-Motion-Planning/Report.md).
  • Controls (C++)

    • Body rate, roll/pitch, altitude (with integrator), yaw, and motor mixing implemented in src/QuadControl.cpp.
    • Tested across multiple scenarios; gains and results in Controls/FCND-Controls-CPP/Report.md.
  • Estimation (C++)

    • Sensor noise quantification, quaternion-based IMU integration, EKF predict/update, magnetometer and GPS updates implemented in src/QuadEstimatorEKF.cpp.
    • Performance and plots in Estimation/FCND-Estimation-CPP/Report.md.

How to Use this Repository

  • Browse each project folder for its specific README with setup and run instructions:

    • Introduction to Automonous Flight/FCND-Backyard-Flyer/README.md
    • Planning/FCND-Motion-Planning/README.md
    • Controls/FCND-Controls-CPP/README.md
    • Estimation/FCND-Estimation-CPP/README.md
  • GIFs used in this main README are references to the images in each project's results/ directories. If you move files, update paths accordingly.


About

Projects from the Udacity Flying Car and Autonomous Flight Engineer Nanodegree — covering 3D motion planning, control, and estimation for autonomous flying vehicles.

Topics

Resources

Stars

Watchers

Forks

Contributors