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-Complete.
Lecture 8: ADT and Unsorted Lists.
Lecture7
Lecture8
 
Week 5
(22 – 26 Sep)
(Quiz 1 – Tuesday 23 Sep).

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

Lecture 11: Dijkstra’s algorithm; State / Configuration Space;
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: A* (optional: D*).
   
Week 8
(13 – 17 Oct)

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

Lecture 15: Quick Sort; Merge Sort.
  By Sumbal
Week 9
(20 – 24 Oct)
Lecture 16: Introduction to Continuous C-space; Sampling-Based Planning; Probabilistic Roadmaps (PRM); Rapidly-Exploring Random Trees (RRT).


(Midterm Exam - Thursday 23 Oct).
  By AbdelM






Midterm
Week 10
(27 – 31 Oct)

*31 Oct Last day to drop w/”W”
Lecture 17: Exact geometric planning methods: Visibility graphs, Cell Decomposition.

Lecture 18: Potential Field Methods.
   
Week 11
(3 – 7 Nov)
(Quiz 2 – Tuesday 4 Nov).

Lecture 19: Car-Like Robots (Nonholonomic Planning); From A* to Kinematic A*; Motion primitives: Dubins & Reeds–Shepp curves.
Lattice-based planning; Path Smoothing & Splines.
   
Week 12
(10 – 14 Nov)
*Abu Dhabi Autonomous Week 10-15 Nov
Lecture 20: Introduction to AVLite, a software stack of autonomous vehicles; Global vs Local Planning. Drivable Trajectories for Cars: Frenet Frame Basics.

Lecture 21: A2RL race field visit at Yas Marina Circuit.
(Assignment Issue – Thursday, 11 Nov).
   
Week 13
(17 – 21 Nov)
Lecture 22: Designing a custom plugin for AVLite

(Quiz 3 – Thursday 20 Nov).
   
Week 14
(21 – 25 Nov)
Lecture 23: Behavior Planning Methods: Finite State Machines (FSMs);

Lecture 24: Behavior Trees (BTs)
   
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).
Putting it all together: Global planning (A*, PRM, RRT); Behavior planning (FSM/BT); Local planning (splines, Frenet).
   

Lab Progress

    Progress
Week 1 No Lab  
Week 2 Lab 0: Safety instructions and Lab Rules. Assembling TurtleBot3 Lab 0
Week 3 Intro to ROS 2, RViz & Gazebo using turtlebot3 Lab 1
Week 4 Building and Moving the turtlebot - LAB A Lab 2
Week 5 Line & Waypoint Following - Lidar reading Lab 3
Week 6 Simultaneous Localisation and Mapping (SLAM) using TurtleBot3 Lidar Lab 4
Week 7 Path planning in 2D occupancy grid using Djikstra algorithm  
Week 8 No Lab  
Week 9 Path planning in 2D occupancy grid using A* algorithm  
Week 10 Path planning in 2D occupancy grid using RRT ( Rapidly exploring Random Tree) algorithm  
Week 11 Path planning in 2D occupancy grid using Potential Fields  
Week 12 project declaration  
Week 13 Project implementation  
Week 14 Final Project Demonstration  
Week 15 No Lab