Code Monkey home page Code Monkey logo

elec5660-2021's Introduction

[toc]

Source code for ELEC5660-2021

Source code of ELEC5660 Introduction to Aerial Robotics by Prof. Shaojie Shen at HKUST.

C++ for Project 2-4, Matlab for Project 1.

This year we totally have 4 projects in this course, including

  • Project 1 (Control and Planning)
    • PID Quadrotor trajectory tracking control
    • Minimum snap optimization-based trajectory generation
    • Optimal path planning (A* + Dijkstra)
  • Project 2 (Visual estimator)
    • 3D-2D Pose Estimation with Direct Linear Transform (DLT)
    • Visual Odometry with Stereo Camera
  • Project 3 (EKF sensor fusion)
    • EKF for quadrotor state estimation
    • Augmented EKF with imu, visual odometry, and tag detection
  • Project 4 (System integration on-board the drone)

Dataset

Project 1 (Control and Planning)

The project 1 is done in MATLAB simulator, where I implemented 1) Quadrotor trajectory tracking control; 2) Optimization-based trajectory generation;. 3) path planning + trajectory generation + control.

Phase 1 Result (PID)

phase_1

Phase 2 Result (PID+Trajectory Generation)

phase_2

Phase 3 Result (PID+A*+Trajectory Generation)

phase_1

Project 2 (Visual estimator)

The project 1 is done in **ROS ** with offline dataset. The code is done with C++. Two sub tasks are:

  1. 3D-2D Pose Estimation with Direct Linear Transform (DLT)
  2. Visual Odometry with Stereo Camera

Phase 1 Result (Pose Estimation)

phase_1

Phase 2 Result (Visual Odometry)

phase_1

Project 3 (Sensor Fusion)

The project 3 is done in **ROS ** with offline dataset. The code is done with C++. Two sub tasks are:

  1. EKF for quadrotor state estimation.
  2. Augmented EKF for quadrotor state estimation with tag detection, visual odometry and IMU.

Phase 1 Result (EKF for Quadrotor State Estimation)

phase_1

Phase 2 Result (Augmented EKF for Quadrotor State Estimation)

phase_2

phase_2

phase_2

Folder Structure

.
├── project1
│   ├── proj1phase1
│   │   ├── assignment.pdf
│   │   ├── code
│   │   ├── proj1phase1.md
│   │   ├── Project 1 Phase 1_Report_Jiawei_Tang.pdf
│   │   └── README.txt
│   ├── proj1phase2
│   │   ├── assignment.pdf
│   │   ├── code
│   │   ├── Project 1 Phase 2_Jiawei_Tang.pdf
│   │   └── README.txt
│   └── proj1phase3
│       ├── assignment.pdf
│       ├── code
│       ├── project1pahse3_Jiawei.md
│       ├── project1pahse3_Jiawei.pdf
│       └── README.txt
├── project2
│   ├── project2phase1
│   │   ├── aruco-1.2.4
│   │   ├── assignment.pdf
│   │   ├── project2pahse1_jiawei.pdf
│   │   ├── readme.md
│   │   └── tag_detector
│   └── project2phase2
│       ├── assignment.pdf
│       ├── camera_models
│       ├── img
│       ├── project2pahse2_Jiawei.md
│       ├── project2pahse2_Jiawei.pdf
│       ├── readme.md
│       └── stereo_vo_estimator
├── project3
│   ├── project3phase1
│   │   ├── assignment.pdf
│   │   ├── ekf
│   │   ├── img
│   │   ├── project3pahse1_Jiawei.md
│   │   ├── project3pahse1_Jiawei.pdf
│   │   ├── readme.md
│   │   └── script
│   └── project3phase2
│       ├── aug_ekf
│       ├── img
│       ├── project3pahse2_Jiawei.md
│       ├── project3pahse2_Jiawei.pdf
│       ├── readme.md
│       ├── stereo_vo
│       └── tag_detector
├── readme.md
└── testing
    └── angular_velocity.m

Academic Integrity Policy

Students at Hong Kong University of Science and Technology are expected to produce their own original academic work. Please think carefully when you are using the codes and do not violate academic integrity policy.

elec5660-2021's People

Contributors

garyandtang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.