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
1 Aug 27, 29 Welcome Mobile robotics
2 Sept 3, 5 Mobile robotics and linear algebra Coordinate frames Assignment 4 Part A Released
3 Sept 10, 12 ROS, and launch assignment 4 Quaternions
4 Sept 17, 19 Dynamics of wheeled robots Dynamics of aerial robots PS1 Released (Sun Sept 21)
5 Sept 24, 26 Control Control
6 Oct 1, 3 Ded reckoning and GPS Ded reckoning and GPS PS1 Due (Tue Oct 7)
7 Oct 8, 10 Kalman Filters GPS-INS sensor fusion: EKF formulation / Quiz 1 CE1 Released (Wed Oct 8)
Quiz 1 (Fri Oct 10)
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 PS2 Released (Mon Oct 27)
CE1 Due (Tue Oct 28)
10 Oct 29, 31 Foundations of machine vision SLAM
11 Nov 5, 7 SLAM SLAM / Quiz 2 Quiz 2 (Fri Nov 7)
PS2 Due (Tue Nov 11)
12 Nov 12, 14 SLAM Guest lecture CE2 Released (Sat Nov 15)
13 Nov 19, 21 Coding exercise 3 introduction Quiz Assignment 4 Part A Due (Fri Nov 21)
PS3 Released (Mon Nov 24)
Assignment 4 Part B Released
14 Nov 26, 28 Fall Break Fall Break - Thanksgiving CE2 Due (Tue Dec 2)
15 Dec 3, 5 In-class presentations by graduate students In-class presentations by graduate students / Quiz 3 Quiz 3 (Fri Dec 5)
16 Dec 10, 12 In-class presentations by graduate students Last Day of Class PS3 Due (Thu Dec 11)
CE3 Released (Fri Dec 12)
Assignment 4 Part B Due (Mon Dec 16)
Finals Week CE3 Due (Tue Dec 30)

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 21)

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 (October 8) - 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 (October 7), Problem Set 2 out (October 27)

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 10 (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 (November 15) - Due December 2

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 2 due (November 11), Problem Set 3 out (November 24)

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 7 (Friday)

Assignment: Coding Exercise 3 out (December 12) - Due December 30

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 5 (Friday)

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
September 21 (Sun)Problem Set 1 Released
October 7 (Tue)Problem Set 1 Due (11:00 PM)
October 8 (Wed)Coding Exercise 1 Released (4:00 PM)
October 10 (Fri)Quiz 1 (In Class)
October 27 (Mon)Problem Set 2 Released
October 28 (Tue)Coding Exercise 1 Due (11:00 PM)
November 7 (Fri)Quiz 2 (In Class)
November 11 (Tue)Problem Set 2 Due (11:00 PM)
November 15 (Sat)Coding Exercise 2 Released (9:00 PM)
November 21 (Fri)Assignment 4 Part A Due (11:00 PM)
November 24 (Mon)Problem Set 3 Released + Assignment 4 Part B Released
November 26-28Thanksgiving Break - No Classes
December 2 (Tue)Coding Exercise 2 Due (11:00 PM)
December 5 (Fri)Quiz 3 (In Class)
December 11 (Thu)Problem Set 3 Due (11:00 PM)
December 12 (Fri)Last Day of Class, Coding Ex 3 Released
December 16 (Mon)Assignment 4 Part B Due (11:00 PM)
December 30 (Tue)Coding Exercise 3 Due (11:00 PM)

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