[toc]
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 of project 2 and project 3: https://hkustconnect-my.sharepoint.com/:f:/g/personal/jtangas_connect_ust_hk/EpemMUamNbFBtL2c18R_DfQBDykZWsBn9RR3IKZTftks6w?e=bQaWDb
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.
The project 1 is done in **ROS ** with offline dataset. The code is done with C++. Two sub tasks are:
- 3D-2D Pose Estimation with Direct Linear Transform (DLT)
- Visual Odometry with Stereo Camera
The project 3 is done in **ROS ** with offline dataset. The code is done with C++. Two sub tasks are:
- EKF for quadrotor state estimation.
- Augmented EKF for quadrotor state estimation with tag detection, visual odometry and IMU.
.
├── 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
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.