ROBO 201 Motion Planning Algorithms for Robotics (Fall 2025)
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*. |
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; Probabilistic Roadmaps (PRM); Rapidly-Exploring Random Trees (RRT). (Midterm Exam - Thursday 23 Oct). |
By Hamdy Midterm Content: W1-W7 |
|
| Week 10 (27 – 31 Oct) *31 Oct Last day to drop w/”W” |
Lecture 17: Introduction to State / Configuration Space; Exact geometric planning methods: Visibility graphs, Cell Decomposition. Lecture 18: Potential Field Methods. |
||
| Week 11 (3 – 7 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. Lecture 20: Drivable Trajectories for Cars: Frenet Frame Basics. Introduction to AVLite, a software stack of autonomous vehicles; Global vs Local Planning. |
||
| Week 12 (10 – 14 Nov) *Abu Dhabi Autonomous Week 10-15 Nov |
(Quiz 2 – Tuesday 11 Nov). Lecture 21: A2RL race field visit at Yas Marina Circuit. (Assignment Issue – Thursday, 11 Nov). |
||
| Week 13 (17 – 21 Nov) |
Lecture 22: Global Planning; Designing a custom plugin for AVLite Lecture 23: Behavior Planning Methods: Finite State Machines (FSMs); |
||
| Week 14 (21 – 25 Nov) |
Lecture 24: Behavior Trees (BTs) (Quiz 3 – Thursday 24 Nov). |
||
| 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 |