CSC477/CSC2630: Introduction to Mobile Robotics, Fall 2022
Overview
This cross-listed course (undergraduate version CSC477H, graduate version CSC2630H) provides an introduction to robotic systems from a computational perspective. A robot is regarded as an intelligent computer that can use sensors and act on the world. We will consider the definitional problems in robotics and look at how they are being solved in practice and by the research community. The emphasis is on algorithms, probabilistic reasoning, optimization, inference mechanisms, and behavior strategies, as opposed to electromechanical systems design. This course aims to help students improve their probabilistic modeling skills and instill the idea that a robot that explicitly accounts for its uncertainty works better than a robot that does not.Course Details
Cross-Campus Course Delivery
Lectures for this course will be delivered in person by the instructor at the UTM campus on Wednesdays 3-5pm ET, in MN3190. Lectures will also be livestreamed on Zoom for those joining remotely, and projected in the Myhal Building in the St George campus, room MY580, for students who want to join in person from the St George campus. There will be a videconferencing setup in MY580 and MN3190, allowing all students to ask questions live. Lectures will be recorded and posted online a few hours after the recording.
Tutorials for this course will be delivered in person by one of the TAs at the UTM campus on Wednesdays 5-6pm ET, in DH2020. Tutorials will also be livestreamed on Zoom for those joining remotely, and projected in the Myhal Building in the St George campus, room MY580, for students who want to join in person from the St George campus. There will be a videconferencing setup in MY580 and DH2020, allowing all students to ask questions live. Tutorials will be recorded and posted online a few hours after the recording.
Office hours for this course will be delivered on Zoom. In person office hours can be arranged by appointment.
Course Description
This course will broadly cover the following areas:- Kinematics and Dynamics: how can we model robotic systems using approximate physical models that enable us to make predictions about how robots move in response to given commands?
- Feedback Control and Planning: how can we compute the commands that can bring a robotic system from its current state to a desired state?
- Mapping: how can we combine noisy measurements from sensors with the robot’s pose to build a map of the environment?
- State Estimation: the state of the robot is not always directly measurable/observable. How can we determine the relative weighs of multiple sensor measurements in order to form an accurate estimate of the (hidden) state?
- Geometry of Computer Vision: how can modeling pixel projections on an RGB camera help us infer the 3D structure of the world? How can we triangulate points seen from two cameras? How can we estimate the camera’s pose (and therefore the robot’s) while it is moving in the environment?
Schedule
Week | Date | Lecture | Tutorial/Practical | Slides | Reading |
---|---|---|---|---|---|
1 | Sep 14 |
Introduction Motivation, logistics, rough description of assignments, sense-plan-act paradigm. Syllabus Sensors and Actuators Camera, LiDAR, tactile, IMU, depth, GPS, Hall-effect sensors, encoders, RGBD. Pulse-Width Modulation. Motors. |
None | Dudek & Jenkin 3.1.1,4, 3.2-3, 4.1-8, 4.10, 5.1.1 Optional: Mike Langer's notes |
|
2 | Sep 21 |
Kinematics Frames of reference. Rotation representations. Homogeneous coordinates and transformations. Rigid body motion. Dynamics Dynamical systems and control. Examples: Dubins car, differential drive car, unicycle, pendulum, cartpole, quadcopter. Holonomic vs. non-holonomic systems. |
Intro to ROS | pdf,
pptx |
Paul Furgale: robot pose Lavalle 13.1 Dudek & Jenkin 3.1.5,6 |
3 | Sep 28 |
PID Control Tuning, cascading PID, advantages and drawbacks. Artificial Potential Fields and Obstacle Avoidance Implementation issues, navigation functions. Vector-field histogram (VFH), dynamic window approach (DWA). |
Linear algebra refresher |
pdf,
pptx |
Optional: Astrom and Hagglund, Ch. 2 Lavalle Ch. 8.4 Dudek & Jenkin 6.3.4 Optional: Howie Choset's notes |
4 | Oct 5 |
Planning Dijkstra, A*, Rapidly-exploring Random Trees (RRT), Probabilistic RoadMaps (PRM) |
Probability refresher | pdf, pptx | Blog post on A* Udacity Lesson 4 Lavalle 5.5, 5.6 |
Oct 12 |
Reading week at UTM. No office hours, lectures, or tutorials this week. |
||||
5 | Oct 19 |
Linear Quadratic Regulator (LQR) Computing optimal actions for linear dynamical systems with quadratic cost-to-go functions. |
Intro to numpy, Implementing LQR | pdf, pptx, code | Optional: Stephen Boyd's LQR notes and examples |
6 | Oct 26 |
Map Representations and Map Alignment Occupancy grids, Octrees, Voronoi Graph, Homotopy Classes. Map alignment with known or unknown correspondences. Iterative Closest Point (ICP). Occupancy Grid Mapping With Known Robot Poses Log-odds ratio, Probabilistic dynamics and measurement models, Bayesian estimation. |
Derivations for occupancy grid mapping | pdf, pptx |
Pieter Abbeel's notes
Pieter Abbeel's notes Probabilistic Robotics Ch. 2 and Ch. 9 |
7 | Nov 2 |
Maximum Likelihood, Least Squares Estimation, Maximum A Posteriori Estimation Least squares as a special case of maximum likelihood estimation on Gaussian models. GraphSLAM Expectation and Covariance. Geometric interpretation of the covariance matrix. Nonlinear Least Squares formulation of the Simultaneous Localization And Mapping (SLAM) problem. |
Demonstrating gMapping | pdf, pptx | Udacity Lesson 6 Probabilistic Robotics Ch. 11 |
8 | Nov 9 |
Kalman Filter Bayes' rule on Gaussian distributions. Example of 1D Kalman Filter. Bayes' Filter and Kalman Filter Kalman Filter as a special case of Bayes' Filter. Examples of 2D and 4D Kalman Filter. General prediction and update equations. |
pdf, pptx | Udacity Lesson 2 Kalman Filter, Illustrated, Probabilistic Robotics Ch. 2,3 |
|
9 | Nov 16 |
Extended Kalman Filter (EKF) Bayes' Filter and nonlinear transformations. Monte Carlo sampling vs. Linearization. EKF prediction and update equations. Examples: EKF Localization and EKF SLAM. |
Basic Kalman Filter implementation, Kalman Filter Summary Notes | pdf, pptx | Cyrill Stachniss' intro to EKF Cyrill Stachniss' intro to EKF-SLAM Probabilistic Robotics Ch. 2,3 |
10 | Nov 23 |
Particle Filter Representing multimodal distributions. Particle propagation and resampling. Pathologies of particle filter. Importance Sampling. Examples: Markov localization in a known map. FastSLAM. |
pdf, pptx | Udacity Lesson 3 Optional: Thrun's paper on PF |
|
11 | Nov 30 |
Camera Optics and Multi-view Geometry Pinhole cameras, lenses, perspective projection. Aperture, focal length, exposure time, depth-of-field. Structure from Motion. |
pdf, pptx | Optional: James Tompkin's notes. Sanja Fidler's notes on depth from stereo |
|
12 | Dec 7 |
Visual odometry and Visual SLAM Epipolar constraints. Depth from stereo disparity for parallel cameras. Triangulation as a least-squares problem. Scale issues in visual odometry with a single camera. Visual SLAM vs. structure from motion. |
pdf, pptx | Optional: James Tompkin's notes on stereo and
SfM. Sanja Fidler's notes on depth from stereo |
|
13 | Dec 8 |
Study break, beginning of exams |
Review for final exam |
Assignments
- Assignment #1, PID control for wall following and introduction to ROS, due Oct 10, 3pm ET.
- Assignment #2, Path planning with A*, RRT, and LQR control, due Nov 3, 3pm ET.
- Assignment #3, Occupancy grid mapping, EKF and least-squares localization, due Nov 25, 3pm ET.
- Assignment #4, Particle filters and Monte Carlo localization., due Dec 7, 3pm ET.
- CSC2630 Project Guidelines, proposal due Nov 10, 6pm ET and final report due Dec 16, 6pm ET.
CSC477 Marking Scheme
- 4 assignments worth 15% each = 60%
- 7 take-home quizzes worth 2% each = 14%
- 1 in-person final exam worth 26%
CSC2630 Marking Scheme
- 3 assignments worth 15% each = 45%
- 7 take-home quizzes worth 2% each = 14%
- 1 final project worth 41%
Recommended, but optional, textbooks
- Probabilistic Robotics, by Thrun, Fox, and Burgard
- Planning Algorithms, by Lavalle
- Robotics, Vision, and Control, by Corke
- Computational Principles of Mobile Robotics, 2nd edition, by Dudek and Jenkin
- State Estimation for Robotics, by Barfoot
- Bayesian Filtering and Smoothing, by Sarkka
- Introduction to Autonomous Mobile Robots, by Siegwart, Nourbakhsh, Scaramuzza
- Modern Robotics: Mechanics, Planning, and Control by Park and Lynch
- (Chapters 2 and 4 from) Computer Vision: Models, Learning, and Inference, by Prince
Self-Driving RC Cars
In addition to simulation, the assignments of this course include hands-on experience with RC-cars with navigation sensors (Intel Realsense RGBD cameras, Hokuyo 2D LiDAR, IMU) and onboard computing (NVIDIA Jetson Xavier). We bought these cars from the RACECAR/J team and we are making them available to undergraduate and graduate students for their assignments or final project.Related courses
- Pieter Abbeel's course
- Sebastian Thrun's Udacity course
- Anirudha Majumdar's Intro to Robotics course
- Related sections from James Tompkin's vision course
- Related sections from Sanja Fidler's vision course
- Related sections from Stephen Boyd's linear systems course
- Related sections from Russ Tedrake's underactuated robotics course