Autonomous Robotics

MWF 13:30-14:20, THO 125

Instructor: Chris Mavrogiannis (cmavro at cs dot uw dot edu)
OH: Mondays, 11:00-Noon, CSE1 436

TA: Kay Ke (kayke at cs dot uw dot edu) (OH: Wednesdays, 12:30-13:30, CSE1 022)
TA: Gilwoo Lee (gilwoo at cs dot uw dot edu) (OH: Thursdays, 9:00-10:00, CSE1 022)
TA: Matt Schmittle (schmttle at cs dot uw dot edu) (OH: Fridays, 10:00-11: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

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.

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 Pieter Abbeel (pdf), Slides by Wolfram 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 Introduction to Non-parametric filters Prob. Rob. Ch 4
Jan 24 Particle filter Prob. Rob. Ch 4
Jan 27 Kalman filters Prob. Rob. Ch 3
Jan 29 Occupancy grid mapping Prob. Rob. Ch 9
Jan 31 Map representations
Feb 3 SLAM Collection of contemporary SLAM papers (link)
Feb 5 Introduction to feedback control Underactuated Robotics Ch. 1
Feb 7 PID control, pure pursuit control Classic reference on pure pursuit (pdf), DARPA Challenge controllers (pdf),
Feb 10 Lyapunov stability Underactuated Robotics Ch. 10,
Advanced reading: D. Jung and P. Tsiotras, Bank-to-Turn Control for a Small UAV using Backstepping and Parameter Adaptation, 2008 (pdf)
Feb 12 Optimal control: Linear quadratic regulator Underactuated Robotics Ch. 9,
Notes on LQR (pdf),
History of optimal control (pdf)
Feb 14 iLQR and Model predictive control Advanced reading: P. Abbeel et al., An Application of Reinforcement Learning to Aerobatic Helicopter Flight, 2007 (pdf)
Feb 17 No class! --- President's Day
Feb 19 Dealing with complex cost functions: Trajectory library Paper on path sampling (pdf),
State space sampling (pdf), Advanced reading: Submodular function maximization (pdf)
Feb 21 Demo by Starship Robotics (Sean Eckard)
Feb 24 Introduction to planning Planning algorithms Ch 1, Ch 4.1-4.3, Ch 6.5, Ch 14.1
Feb 26 Planning on roadmaps Planning algorithms Ch 5
Feb 28 Guest Lecture by Prof. Sidd Srinivasa
Mar 2 Planning on roadmaps (contd) Planning algorithms Ch 5, Ch 14.1-4, Ch 15.3,
Advanced reading: Optimal sampling based planning (pdf)
Mar 4 Heuristic search A* (pdf), Weighted A* (pdf)
Mar 6 Special topics TBD
Mar 9 Guest Lecture by Tapo Bhattacharjee
Mar 11 Guest Lecture by Prof. Dieter Fox
Mar 13 Class Review