Autonomous Robotics

MWF 13:30-14:20, THO 125

Instructor: Chris Mavrogiannis (cmavro at cs dot uw dot edu)
OH: Tuesdays, 1:00-2:00pm, CSE1 436

TA: Kay Ke (kayke at cs dot uw dot edu) (OH: Tuesdays, 4:00-5:00, CSE1 022)
TA: Gilwoo Lee (gilwoo at cs dot uw dot edu) (OH: Thursdays, 4:00-5:00, CSE1 022)
TA: Matt Schmittle (schmttle at cs dot uw dot edu) (OH: Fridays, 4:00-5:00, CSE1 022)

Recitation: Thursday 1/9, 13:30-14:20, CSE1 022, rest of quarter on need-only basis

Canvas: https://canvas.uw.edu/courses/1352219
Piazza: https://piazza.com/class/k3tbbeofifd6ai

Overview

mushr

Mobile Robots delves into the building blocks of autonomous systems that operate in the wild. We will cover topics related to state estimation (bayes filtering, probabilistic motion and sensor models), control (feedback, Lyapunov, LQR, MPC), planning (roadmaps, heuristic search, incremental densification) and online learning. Students will be forming teams and implementing algorithms on 1/10th sized rally cars as part of their assignments. Concepts from all of the assignments will culminate into a final project with a demo on the rally cars. The course will involve programming in a Linux and Python environment along with ROS for interfacing to the robot.

Prerequisites: CSE 332 (required), MATH 308 (recommended), CSE 312 (recommended)

Grading: Homeworks (60%), Project (30%), Participation (10%)

Textbooks (optional):

Learning Objectives:

Assignments

All assignments are to be done as a team of 3. Each team gets one robot. Homework assignments will have both written and programming components. Each team will submit one writeup and code. All team members must be listed on each submission. Assignments are due online by 11:59 PM on the listed date.

Linked is a reference for the cars. It is intended to allow you to get familiar with the car. It will be update throughout the quarter with useful troubleshooting help and general FAQ.

Writeups must be submitted as a PDF via Canvas. LaTeX is preferred, but other typesetting methods are acceptable. Code for the programming component must be submitted in a zip archive via Canvas.

Project

Policies

Collaboration Policy: All assignments are to be done as a group. It's okay to discuss with other groups, but each group should do their own writeup/programmed work. It's okay to look at online resources as long as sources are cited and code is not copied. Feel free to talk through struggles with your peers as long as you follow the academic misconduct warnings that have been relayed in every course you've taken thus far. Here's a reference in case you need a refresher.

Late Day Policy: Each group gets four late days to use over the course of the quarter. The late days do not apply to the final project. If an assignment is submitted after exhausting the late days, it is subject to a 10-point penalty for each day over the budget. Leftover late days will not contribute to your grade in any way.

If unusual circumstances truly beyond your control prevent you from submitting an assignment, you should discuss this with the instructor, preferably in advance. (Even if you’re sick in bed at home, you should still be able to send an email.) If you contact the instructor well in advance of the deadline, we may be able to show more flexibility in some cases.

Extra Credit Policy: We will keep track of any extra features you implement in the assignments. You won’t see these affecting your grades for individual projects, but they will be accumulated over all projects and used to bump up borderline grades at the end of the quarter. The bottom line is that these will only have a small effect on your overall grade (possibly none if you are not on a borderline) and you should be sure you have completed the non-extra credit portions of the homework in perfect form before attempting any extra credit. They are meant to be fun extensions to the assignments.

Getting Help: Please don’t be afraid to ask for help if you don’t understand something. Meaningful ways to get help:

Schedule

Date Topic Slides, Notes Reading
Jan 6 Introduction pdf Fill out knowledge survey
Jan 8 Anatomy of an autonomous vehicle pdf CMU Darpa urban challenge (pdf)
Jan 10 Introduction to state estimation pdf Prob. Rob. Ch 2, Minerva (pdf)
Jan 13 Bayes filtering pdf Prob. Rob. Ch 2, MacKay Ch 2 (pdf), Slides by P. Abbeel (pdf), Slides by W. Burgard (pdf)
Jan 15 Probabilistic motion models pdf Prob. Rob. Ch 5, MacKay Ch 28 (pdf), Planning Algorithms Ch 13
Jan 17 Probabilistic measurement models pdf Prob. Rob. Ch 6
Jan 20 No class! --- Martin Luther King Day
Jan 22 From Bayes to Kalman pdf Prob. Rob. Ch 3/4, Notes by Christopher Bretherton (pdf), Notes by Dieter Fox (pdf)
Jan 24 Particle filters pdf Prob. Rob. Ch 4
Jan 27 Occupancy grid mapping pdf Prob. Rob. Ch 9
Jan 29 Map representations pdf
Jan 31 SLAM pdf Collection of contemporary SLAM papers (link)
Feb 3 Introduction to feedback control pdf Underactuated Robotics Ch. 1
Feb 5 PID control, pure pursuit control pdf Classic reference on pure pursuit (pdf), DARPA Challenge controllers (pdf),
Feb 7 Lyapunov stability pdf Underactuated Robotics Ch. 10, Advanced reading: [Jung and Tsiotras, 2008] (pdf)
Feb 10 LQR pdf Underactuated Robotics Ch. 9, Notes on LQR by P. Abbeel (pdf), History of optimal control (pdf)
Feb 12 iLQR and Model predictive control pdf Advanced reading: [P. Abbeel et al., 2007] (pdf)
Feb 14 Handling complex cost functions: Trajectory library pdf Path sampling (pdf), State space sampling (pdf), Submodular function maximization (pdf)
Feb 17 No class! --- President's Day
Feb 19 Introduction to planning pdf Planning algorithms Ch 1, Ch 4.1-4.3, Ch 6.5, Ch 14.1
Feb 21 Demo by Starship Technologies (Sean Eckard)
Feb 24 Heuristic search pdf A* (pdf), Weighted A* (pdf)
Feb 26 Planning on roadmaps I pdf Planning algorithms Ch 5, Notes by Richard Murray [pdf], Notes by Russ Tedrake [webpage]
Feb 28 Lazy Search (Prof. Siddhartha Srinivasa) pdf Lazy Weighted A* (pdf), Advanced reading: LazySP (pdf)
Mar 2 Planning on roadmaps II pdf Planning algorithms Ch 5, Ch 14.1-4, Ch 15.3, Optimal sampling based planning (pdf)
Mar 4 Special topics: Intro to Robotic Grasping pdf Grasping Chapter, from the Handbook of Robotics (pdf)
Mar 6 Special topics: Social Robot Navigation pdf Planning with braids (pdf), Social navigation lab study (pdf)

Acknowledgments: We are thankful to Sanjiban Choudhury for gratefully providing the materials from the Spring '19 version of the course, and to the MuSHR team for the software and hardware development on the MuSHR racecar.