This course provides knowledge on path planning algorithms for autonomous robot navigation within the context of the Robotics Operating System (ROS). Students explore examples relevant to both mobile and manipulator robots. The course covers the representation of robot environment using configuration space, the construction of occupancy grid maps of obstacles, and the utilization of these maps for path planning.

  • Lecture TA: Mohamad Halwani (mohamad.halwani@ku.ac.ae)
  • Lab TAs: Suma Rao, Abdelmoamen Ali, Abdulrahman Hamdy

Lecture Progress

Week Topics Slides Notes
Week 1
(25 - 29 Aug)
Lecture 1: Course Introduction.
Lecture 2: Introduction to Robotic Systems.
Lecture1
Lecture2
Python Revision - Unit 1-4
Week 2
(1 – 5 Sep)
Lecture 3: Analysis of Algorithms I: Algorithm Performance, The big-Oh Notation, Worst-case and Average-case performance.
Lecture 4 Analysis of Algorithms II: Complexity Calculations examples.
Lecture3
Lecture4
Chapter 9
Week 3
(8 Sep – 12 Sep)
Lecture 5: Analysis of Algorithms III: Additional Exercises.
Lecture 6: Analysis of Algorithm IV: Time and Space tradeoff.
Lecture5
Lecture6
 
Week 4
(15 – 19 Sep)
Lecture 7: Complexity and Intractability: P, NP, NP-Hard, NP-Complete.
Lecture 8: ADT and Unsorted Lists.
Lecture7
Lecture8
 
Week 5
(22 – 26 Sep)
(Quiz 1 – Tuesday 23 Sep).

Lecture 9: Sorted Lists
Lecture9  
Week 6
(29 Sep – 3 Oct)
Lecture 10: Stacks, Queues;

Lecture 11: Introduction to path planning in discrete space;
Dijkstra’s algorithm; Uninformed Graph Search: Depth-first search and Breadth-first search.
Lecture10
Lecture11
 
Week 7
(6 – 10 Oct)
Lecture 12: Priority Queue (Heap)

Lecture 13: Uniform Cost Search; Informed Graph Search: Best-first Search, A*.
Lecture13
Lecture12
Lecture13
Interactive Animation for Search
Week 8
(13 – 17 Oct)

*17 Oct - Mid Grade Due
Lecture 14: Sorting Algorithms: Selection, Bubble; Heap Sort

Lecture 15: Quick Sort; Merge Sort.
Lecture14
Lecture15
By Shradda
By Sumbal
Week 9
(20 – 24 Oct)
Lecture 16: Introduction to Continuous C-space; Sampling-Based Planning


(Midterm Exam - Thursday 23 Oct).
Lecture16 By Hamdy






Midterm
Content: W1-W7
Week 10
(27 – 31 Oct)

*31 Oct Last day to drop w/”W”
Lecture 17: Probabilistic Roadmaps (PRM)

Lecture 18: Midterm Exam Revision



Lecture17
Lecture18

Midterm Exam Revision
Week 11
(3 – 7 Nov)
Lecture 19: Rapidly Exploring Random Trees (RRT)
Lecture 20: Potential Field Methods.
Lecture19
Lecture20
 
Week 12
(10 – 14 Nov)
*Abu Dhabi Autonomous Week 10-15 Nov
No Class (DriftX, Robocup, A2RL…)

(Assignment Issue – Friday, 12 Nov).
   
Week 13
(17 – 21 Nov)
(Quiz 2 – Tuesday 18 Nov).
Lecture 14,15,16,17,19

Lecture 21: Exact geometric planning methods: Visibility graphs, Cell Decomposition.
Rev. State / Configuration Space
   
Week 14
(21 – 25 Nov)
Lecture 22: Car-Like Robots (Nonholonomic Planning); From A* to Kinematic A*; Motion primitives: Dubins & Reeds–Shepp curves.

Lecture 23:
Lattice-based planning; Path Smoothing & Splines.

Drivable Trajectories for Cars: Frenet Frame Basics.
Introduction to AVLite, a software stack of autonomous vehicles; Global vs Local Planning.

Global Planning; Designing a custom plugin for AVLite
   
Week 15
(1 – 5 Dec)

5 Dec - Last Day of Classes
18 Dec - Final Grades Publish
(Assignment Deadline: Monday 1 Dec at 11:59 PM).

(Quiz 3 – Thursday 4 Dec).

Putting it all together: Global planning (A*, PRM, RRT); Behavior planning (FSM/BT); Local planning (splines, Frenet).


Behavior Planning Methods: Finite State Machines (FSMs);

Behavior Trees (BTs)
   

Lab Progress

Week Lab No. Lab material
1   NO Lab
2 0 Safety instructions  and Lab Rules
3 1 Getting Started with TurtleBot3 in ROS 2 (Gazebo, Teleop)
4 2 Hardware Assembly of TurtleBot3
5 3.1 TurtleBot3 Bringup- Remote PC, SBC , Open CR configuration
6 3.2 TurtleBot3 Bringup- Remote PC, SBC , Open CR configuration
7 4 2D occupancy grid and LiDAR-based SLAM
8   NO Lab
9 5 Path planning in 2D occupancy grid using Djikstra algorithm
10 6 Path planning in 2D occupancy grid using A* algorithm
11 7 Path planning in 2D occupancy grid using RRT (Rapidly exploring Random Tree) algorithm
12 8 Path planning in 2D occupancy grid using Potential Fields
13   Project Declaration
14   Final Project Demonstration
15   NO Lab