Course Syllabus
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-28 | Thanksgiving 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