# Principles of Perception and Planning for Aerial Vehicles

- Institution: IIIT Hyderabad
- Department: Aerospace Engineering
- Teacher: Prof. K Madhava Krishna Dr. Harikumar Kandath Dr. Antony Thomas
- Level: Undergraduate
- Language: English
- Subjects: Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/101106001)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/101106001)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

This course provides the details of the important principles of perception and motion planning for aerial vehicles. They form the foundation of autonomous UAV navigation in the presence of obstacles. The first module of the course provides the fundaments of UAV modeling and mathematical tools needed for camera-based perception and motion planning. The second module covers the principles of SLAM (simultaneous localization and mapping) using monocular camera. Third module provides the algorithms for UAV motion planning. The last module illustrates the entire pipeline of obstacle detection using camera, camera based SLAM, followed by obstacle avoidance and reaching goal point along the planned path using ROS (Robotic Operating system).

Prerequisites: A course in Linear Algebra, Calculus, Control Systems (desirable)

## Lectures

1. [Rigid-Body Motions Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/2761d70650c6) (YouTube)
2. [Rigid-Body Motions Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/fca823d38f58) (YouTube)
3. [Example problems](https://invisiblenetwork.ai/learn/nptel/101106001/d46dbd60d83e) (YouTube)
4. [Introduction to UAV - Navigation, Guidance and Control - part 1](https://invisiblenetwork.ai/learn/nptel/101106001/2e5dac653a01) (YouTube)
5. [Introduction to UAV - Navigation, Guidance and Control - part 2](https://invisiblenetwork.ai/learn/nptel/101106001/871256dd4f30) (YouTube)
6. [UAV - Motion planning and control - part 1](https://invisiblenetwork.ai/learn/nptel/101106001/1973d8fcc3c4) (YouTube)
7. [UAV - Motion planning and control - part 2](https://invisiblenetwork.ai/learn/nptel/101106001/d9f5f0ef0a8f) (YouTube)
8. [Kalman Filtering for UAV application - Kalman filter basics](https://invisiblenetwork.ai/learn/nptel/101106001/f8eeaed36aca) (YouTube)
9. [Kalman Filtering for UAV application - GPS -INS fusion, attitue estimation](https://invisiblenetwork.ai/learn/nptel/101106001/84c624d087c5) (YouTube)
10. [Linear and Nonlinear Least Squares](https://invisiblenetwork.ai/learn/nptel/101106001/078057810a7a) (YouTube)
11. [Singular Value Decomposition (SVD)](https://invisiblenetwork.ai/learn/nptel/101106001/f0a642c330c1) (YouTube)
12. [Constrainted optimization and KKT conditions - part 1](https://invisiblenetwork.ai/learn/nptel/101106001/ef3855317249) (YouTube)
13. [Constrainted optimization and KKT conditions - part 2](https://invisiblenetwork.ai/learn/nptel/101106001/6d28fb9d4e92) (YouTube)
14. [Introduction to Perception for UAVs - Part 1- Point Clouds and Transformations](https://invisiblenetwork.ai/learn/nptel/101106001/6a07ef7db3bf) (YouTube)
15. [Introduction to Perception for UAVs - Part 2-Occupancy Mapping and Frontier Exploration](https://invisiblenetwork.ai/learn/nptel/101106001/9f18c22ee8fc) (YouTube)
16. [Point Cloud Registration - Part 1- Iterative Closest Point (ICP) Algorithm](https://invisiblenetwork.ai/learn/nptel/101106001/60e39fbe5bdb) (YouTube)
17. [Point Cloud Registration - Part 2- ICP Applications: Motion Segmentation and Sensor Calibration](https://invisiblenetwork.ai/learn/nptel/101106001/7f62e5d82638) (YouTube)
18. [ICP-SLAM Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/e2aaeb395870) (YouTube)
19. [ICP-SLAM Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/d3e6eead2efe) (YouTube)
20. [Loop closure in SLAM](https://invisiblenetwork.ai/learn/nptel/101106001/d07b09167c88) (YouTube)
21. [Tutorial session on pose graph optimization](https://invisiblenetwork.ai/learn/nptel/101106001/dd2ab4013d38) (YouTube)
22. [Camera Modelling](https://invisiblenetwork.ai/learn/nptel/101106001/0038b4ef0529) (YouTube)
23. [Camera calibration PART 1](https://invisiblenetwork.ai/learn/nptel/101106001/754e21af70c4) (YouTube)
24. [Camera calibration PART 2](https://invisiblenetwork.ai/learn/nptel/101106001/cac4b7216109) (YouTube)
25. [Camera resection & epipolar geometry PART 1](https://invisiblenetwork.ai/learn/nptel/101106001/435561e79443) (YouTube)
26. [Camera resection & epipolar geometry PART 2](https://invisiblenetwork.ai/learn/nptel/101106001/7cb227c25310) (YouTube)
27. [Reconstruction PART 1](https://invisiblenetwork.ai/learn/nptel/101106001/c9a7c1c4fe3f) (YouTube)
28. [Reconstruction PART 2](https://invisiblenetwork.ai/learn/nptel/101106001/60abd6ce4e0d) (YouTube)
29. [Backend for monocular SLAM/SFM Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/4466f4c92aca) (YouTube)
30. [Backend for monocular SLAM/SFM Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/9c067a8138be) (YouTube)
31. [Stereo rectification Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/57d6e785c4b1) (YouTube)
32. [Stereo rectification Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/bfa00e43d887) (YouTube)
33. [Motion Planning](https://invisiblenetwork.ai/learn/nptel/101106001/30e2df4f5b41) (YouTube)
34. [C-Space](https://invisiblenetwork.ai/learn/nptel/101106001/a50c2d4b1265) (YouTube)
35. [Discrete motion planning - Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/67a11ec49142) (YouTube)
36. [Discrete motion planning - Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/2bf4cb454946) (YouTube)
37. [Collision Avoidance Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/20e8ef9afa42) (YouTube)
38. [Collision Avoidance Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/006c64ce5e44) (YouTube)
39. [Trajectory Planning Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/c113a2fc5415) (YouTube)
40. [Trajectory Planning Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/bbdc0ef53b2e) (YouTube)
41. [MPC-based path planning Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/8629dec9e702) (YouTube)
42. [MPC-based path planning Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/44ad05820ead) (YouTube)
43. [Safe Flight corridor](https://invisiblenetwork.ai/learn/nptel/101106001/59c6de05defb) (YouTube)
44. [ROS 2 Frameworks & Development Setup](https://invisiblenetwork.ai/learn/nptel/101106001/bba60420f28a) (YouTube)
45. [ROS 2 Packages, Workspaces, Nodes & Topics](https://invisiblenetwork.ai/learn/nptel/101106001/93a44ef66be7) (YouTube)
46. [ROS 2 Services, Actions & Launch Files](https://invisiblenetwork.ai/learn/nptel/101106001/a0c62032566a) (YouTube)
47. [URDF, TF2, Gazebo & RViz](https://invisiblenetwork.ai/learn/nptel/101106001/aa1e82584585) (YouTube)
48. [Introduction to PX4, Gazebo & ROS 2](https://invisiblenetwork.ai/learn/nptel/101106001/ea522becd034) (YouTube)
49. [Offboard Control with PX4 & ROS 2](https://invisiblenetwork.ai/learn/nptel/101106001/cf6f4665a1ac) (YouTube)
50. [RRT Path Planning with PX4, ROS 2 & Gazebo](https://invisiblenetwork.ai/learn/nptel/101106001/0e05678b49d6) (YouTube)
51. [Structure from Motion Part 1](https://invisiblenetwork.ai/learn/nptel/101106001/f472fea9e9a7) (YouTube)
52. [Structure from Motion Part 2](https://invisiblenetwork.ai/learn/nptel/101106001/847ce18a3abe) (YouTube)
