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