CC BY-NC 4.0 Course materials licensed under CC BY-NC 4.0

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 Notes
Week 1
(25 - 29 Aug)
Lecture 1: Course Introduction.
Lecture 2: Introduction to Robotic Systems.
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: Running time Complexity Calculations examples.
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.
 
Week 4
(15 – 19 Sep)
Lecture 7: Complexity and Intractability: P, NP, NP-Hard, NP-Complete.
Lecture 8: ADT and Unsorted Lists.
 
Week 5
(22 – 26 Sep)
(Quiz 1 – Tuesday 23 Sep).

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

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

Lecture 13: Uniform Cost Search; Informed Graph Search: Best-first Search, A*.
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.
By Shradda
By Sumbal
Week 9
(20 – 24 Oct)
Lecture 16: Introduction to Continuous C-space; Sampling-Based Planning


(Midterm Exam - Thursday 23 Oct).
By Hamdy






Midterm
Content: Lec 1-13
Week 10
(27 – 31 Oct)

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

Lecture 18: Midterm Exam Revision




Midterm Exam Revision
Week 11
(3 – 7 Nov)
Lecture 19: Rapidly Exploring Random Trees (RRT)
Lecture 20: Potential Field Methods.
 
Week 12
(10 – 14 Nov)
*Abu Dhabi Autonomous Week 10-15 Nov
No Class (DriftX, Robocup, A2RL…)
 
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.
 
Week 14
(21 – 25 Nov)
(Assignment Issue – Tuesday, 22 Nov).

Lecture 22: Hybrid A*: Car-Like Robots (Nonholonomic Planning)

Lecture 23: Kinematic RRT;
Motion primitives, Dubins & Reeds–Shepp curves.

Understanding Bicycle Model
Week 15
(1 – 5 Dec)

5 Dec - Last Day of Classes
18 Dec - Final Grades Publish
Lecture 24

Optional Material:
Putting it all together: Behavior planning (FSM/BT); Local planning (splines, Frenet).

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.


(Assignment Deadline: Thursday 4 Dec at 11:59 PM).
 

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