Course Syllabus

Note: This schedule is tentative and subject to change. Check Canvas for the most up-to-date information.

Weekly Schedule

Week Dates Wednesday Friday Assignments/Quizzes Files
1 Aug 27, 29 Welcome Mobile robotics
2 Sept 3, 5 Mobile robotics and linear algebra Coordinate frames Assignment 4 Part A Released
PS1 Released (Wed Sep 3, 11:00 PM)
3 Sept 10, 12 ROS, and launch assignment 4 Quaternions 📚 ROS2 Tutorial
4 Sept 17, 19 Dynamics of wheeled robots Dynamics of aerial robots PS1 Due (Fri Sep 19, 11:00 PM)
5 Sept 24, 26 Control Control
6 Oct 1, 3 Ded reckoning and GPS Ded reckoning and GPS CE1 Released (Thu Sep 25)
7 Oct 8, 10 Kalman Filters GPS-INS sensor fusion: EKF formulation / Quiz 1 PS2 Released (Sun Oct 5)
CE1 Due (Tue Oct 28)
Quiz 1 (Fri Oct 15)
📦 Problem Set 2
8 Oct 15, 17 Coding exercise 2 Introduction and Final Project Discussion LiDAR and Cameras
9 Oct 22, 24 LiDAR and Cameras Foundations of machine vision CE2 Released (Thu Oct 16)
PS2 Due (Tue Oct 21)
10 Oct 29, 31 Foundations of machine vision SLAM 📚 Assignment 4 - Demo session
11 Nov 5, 7 SLAM SLAM PS3 Released (Sun Nov 2)
CE2 Due (Thu Nov 6)
12 Nov 12, 14 SLAM Guest lecture CE3 Released (Thu Nov 13)
13 Nov 19, 21 Coding exercise 3 introduction Quiz 2 (Online on Canvas, 24 hours) PS3 Due (Tue Nov 18)
Quiz 2 (Fri Nov 21, online 24h)
Assignment 4 Part A Due (Fri Nov 21)
Assignment 4 Part B Released (Mon Nov 24)
14 Nov 26, 28 Fall Break Fall Break - Thanksgiving
15 Dec 3, 5 In-class presentations by graduate students In-class presentations by graduate students
16 Dec 10, 12 In-class presentations by graduate students / Quiz 3 (Mon Dec 8, online) Last Day of Class CE3 Due (Thu Dec 4)
Assignment 4 Part B Due (Thu Dec 4)
Quiz 3 (Mon Dec 8, online 24h)
Finals Week

Course Modules and Schedule

Module 1: Introduction to Mobile Robotics (5 hours)

  • What is a mobile robot
  • What makes mobile robotics challenging and exciting
  • Applications of mobile robotics
  • In what ways is robot programming different?
  • Introduction to Robot Operating System (ROS2)

Dates: Week 1-2 (August 26 - September 6)

Module 1.5: Fundamental Mathematical Principles (3.75 hours)

  • Mathematical notation, norms, vector spaces
  • Basics of ordinary differential equations and difference equations
  • Review of Matrix theory

Dates: Week 2-3 (September 4-13)

Assignment: Problem Set 1 out (September 3) - Due September 19

Module 2: Dynamics of Mobile Robots (5 hours)

  • Coordinate transformations with Euler angles
  • The space of rotation matrices SO(2) and SO(3)
  • Quaternions as a way of representing and working with rotations
  • General 6 DOF Kinematic and Dynamics equations with quaternions
  • Holonomic dynamics: Case study - Aerial Multirotor robots (drones)
  • Nonholonomic dynamics: Case study - Independent all-wheel drive wheeled robots
  • Advanced applications: walking robots

Coding Exercise: Writing programs for coordinate transformation. Creating simulations of mobile robots using ROS and Gazebo.

Dates: Week 3-4 (September 11-20)

Assignment: Coding Exercise 1 out (September 26) - Due October 28

Module 3: Principles of Robot Motion Control (3.75 hours)

  • Introduction to robot control: feedback control
  • PID controllers
  • Limitations of linear control for mobile robots
  • Nonlinear control
  • Introduction to Model Predictive Control and variants
  • Case study: Waypoint navigation for aerial drones
  • Case study: Motion control of a wheeled robot
  • Vignette: Model Reference Adaptive Control of quadrotors

Coding Exercise: Motion control of a wheeled robot

Dates: Week 5-6 (September 23 - October 4)

Assignment: Problem Set 1 due (September 19), Problem Set 2 out (October 5) - Due October 21

Module 4: Mobile Manipulation (3.75 hours)

  • Introduction to mobile manipulation
  • Kinematics of manipulators on mobile bases
  • Workspace analysis and reachability
  • Coordinated motion planning for base and arm
  • Force control and compliance
  • Grasping and manipulation strategies
  • Case study: Agricultural robots with manipulators
  • Case study: Warehouse automation and pick-and-place

Assignment 4 Component: Mobile manipulation concepts incorporated in simulation project

Dates: Week 7 (October 7-11)

Quiz 1: October 15 (Friday)

Module 5: Multi-Sensor Proprioceptive Sensor Fusion (3.75 hours)

  • Dead-reckoning: Intuition and foundations
  • GNSS: Global frame localization - Mathematics of GPS and satellite navigation
  • Inertial sensor systems and mathematical models
  • Kalman Filtering and Bayesian data fusion
  • Bayes principle and the Chapman-Kolmogorov Equation
  • Optimal filtering problem with Gaussian noise and linear dynamics (Kalman Filters)
  • Extended Kalman filters, using point-based linearization for nonlinear dynamics
  • Vignette: Particle filters and unscented Kalman filter
  • GPS-INS sensor fusion with Extended Kalman Filters
  • Process and noise models
  • Filter formulation

Coding Exercise: Develop software for GPS-INS fusion with EKF given data

Dates: Week 8-9 (October 14-25)

Assignment: Coding Exercise 2 out (October 16) - Due November 6

Module 6: Symbolic Exteroceptive Perception (5 hours)

  • Active exteroceptive sensors: Sonar
  • Active exteroceptive sensors: LiDAR
  • Passive exteroceptive sensors: Camera as a sensor
  • Stereo camera and RGB-D cameras
  • Machine vision foundations for robotics
  • Image formation and encoding
  • The pinhole camera model and camera calibration
  • Basic image processing
  • Convolutional filters
  • Edge detection, line detection, SURF, SIFT, and other heuristic features
  • Vignette: Deep learning as a way of image processing for robotics

Dates: Week 9-10 (October 21 - November 1)

Assignment: Problem Set 3 out (November 2) - Due November 18

Module 7: Localization and Mapping (6.25 hours)

  • What is SLAM, Why SLAM?
  • The need for path planning
  • Topological and Metric maps
  • Localization
  • Probabilistic map-based localization
  • Landmark-based localization
  • Position beacon systems
  • Route-based localization (graph maps)
  • Map building
  • SLAM
  • Extended Kalman Filter (EKF) SLAM
  • Visual SLAM with single camera
  • Discussion of open/advanced problems in SLAM

Coding Exercise: EKF-SLAM with LIDAR in ROS

Dates: Week 11-13 (November 4-22)

Quiz 2: November 21 (Friday, online on Canvas, 24 hours)

Assignment: Coding Exercise 3 out (November 13) - Due December 4

Module 8: Frontiers in Mobile Robotics (5 hours)

  • Traversability and waypoint-free navigation
  • Foundation models for robotics
  • Mobile manipulation
  • Graduate student presentations
  • What courses can you take from here in your journey as a roboticist

Dates: Week 14-15 (December 2-11)

Quiz 3: December 8 (Monday, online on Canvas, 24 hours)

Final Project Presentations: December 9-11

Important Dates Summary

Date Event
August 27 (Wed)First Day of Class
September 3 (Wed)Assignment 4 Part A Released + Problem Set 1 Released (11:00 PM)
September 19 (Fri)Problem Set 1 Due (11:00 PM)
September 26 (Thu)Coding Exercise 1 Released (8:00 AM)
October 5 (Sun)Problem Set 2 Released (8:00 AM) - Download
October 15 (Fri)Quiz 1 (Canvas)
October 28 (Tue)Coding Exercise 1 Due (11:00 PM)
October 16 (Thu)Coding Exercise 2 Released (8:00 AM)
October 21 (Tue)Problem Set 2 Due (11:00 PM)
November 2 (Sun)Problem Set 3 Released (8:00 AM)
November 6 (Thu)Coding Exercise 2 Due (11:00 PM)
November 21 (Fri)Quiz 2 (Canvas, online 24 hours)
November 21 (Fri)Quiz 2 Extra Credit Due (11:00 PM) - Guide
November 13 (Thu)Coding Exercise 3 Released (8:00 AM)
November 18 (Tue)Problem Set 3 Due (11:00 PM)
November 9-14Assignment 4 Early Submission Window (+10 bonus points) - Guide
November 21 (Fri)Assignment 4 Part A Due (11:00 PM)
November 24 (Mon)Assignment 4 Part B Released
November 26-28Thanksgiving Break - No Classes
December 4 (Thu)Coding Exercise 3 Due (11:00 PM)
December 4 (Thu)Assignment 4 Part B Due (11:00 PM)
December 8 (Mon)Quiz 3 (Canvas, online 24 hours)
December 9 (Tue)Quiz 3 Extra Credit Due (11:00 PM) - Guide
December 12 (Fri)Last Day of Class

Required Textbooks

Primary Text:
  • Siegwart et al., Autonomous Mobile Robots (available electronically in UIUC library)
Additional Reading (Optional):
  • Murphy, Introduction to AI for Robotics
  • Kuipers, Quaternions and Rotation Sequences (available electronically in UIUC library)
  • Farrell, Aided Navigation, GPS with High-rate Sensors
  • Kelly, Mobile Robotics: Mathematics, Models, and Methods
  • Dudek and Jenkin, Computational Principles of Mobile Robotics
  • Thrun et al., Probabilistic Robotics

Learning Outcomes

By the end of this course, students will be able to:

  • Identify what makes mobile robotics challenging and exciting
  • Provide a taxonomy of different types of mobile robotic systems and methods of locomotion
  • Construct dynamic models of holonomic and nonholonomic mobile robots
  • Explain the workings of different sensor systems and construct their mathematical models
  • Create sensor fusion algorithms and software through Bayesian filtering
  • Derive Kalman Filters from scratch and construct approximation or sampling-based filters for nonlinear systems
  • Construct Kalman filtering-based GPS-INS algorithms and architectures
  • Describe basic architectures and principles of SLAM algorithms
  • Create motion control algorithms for aerial and wheeled ground robots
  • Create basic path planning algorithms using PRM, RRT, RRT*, and MDPs
  • Design and implement robot software with ROS2 middleware and Python