Overview:
This class will provide an overview of the fundamental problems and techniques in robotics by covering three broad areas with applications in mobile robotics, manipulation, and autonomous driving:
- State Estimation: How can a robot understand the world around it,
both spatially and conceptually? Topics include sensor and motion
models, Bayesian filtering, localization, and mapping.
- Planning: How can a robot use its understanding of the world to
plan actions and accomplish objectives? Topics include motion
planning, heuristic and sampling-based planning, manipulation, and
autonomous driving.
- Learning: How can a robot learn to interpret its sensor data and
perform actions to solve tasks? Topics include Gaussian processes
neural networks, and vision for robotics.
This class will use the basic tools of probability and linear algebra.
Prior exposure to AI techniques, such as those covered in CSE 473, is very helpful.
The programming assignments will use
Python and
Numpy. Familiarity with these concepts and tools is recommended, but we will make every effort to get students up to speed who need extra background.
The assignments use the
PyBullet simulator, and are designed to run in
Ubuntu, but we will provide a VM for students who do not have access to their own Ubuntu machine, and will help students navigate this infrastructure. Some assignments will also use
Pytorch for machine learning. Familiarity with this is helpful, but not expected. We will provide tutorial sessions during some lectures to help students understand the tools as they become necessary for the assignments.
If you have a Windows machine, and want to use the VM, please go to: here and download VMware Workstation Player for Windows. You will also need to download both the .vmdk and the .ovf files. The VM username is "robotics" and password is also "robotics".
Discussion:
Canvas:
https://canvas.uw.edu/courses/1633256
Please access Zoom class lectures and recordings via Canvas. The zoom link is here.
Discussion board:
https://edstem.org/us/courses/37898/discussion/
Use this board to discuss the content of the course.
Feel free to discuss homeworks, projects, and any confusion over topics discussed in class. It is also acceptable to ask for clarifications about the statement of homework problems, but not about their solutions.
Textbook:
There is no required textbook for the class. Many of the lectures and
homework assignments will have associated papers and chapters from:
Probabilistic Robotics,
S. Thrun, W. Burgard, and D. Fox., MIT Press, Cambridge, MA, September 2005.
Homeworks Assignments:
There will be 3 homework assignments. Each will have a written portion and a programming portion. All programming portions will be written in
Python and make use of
Numpy for linear algebra operations. Some assignments will also use deep learning with
Pytorch. The programming assignments will also use
PyBullet to simulate various robotics platforms. We will provide tutorials for these tools during the second half of the lectures.
- Assignment #1, due Wed, Apr 26, 11:59PM
(PDF, Code)
- Assignment #2, due Wed, May 24, 11:59PM
(PDF, Code)
- Assignment #3, due Sun, Jun 4, 11:59PM
(PDF, Code)
Late policy: Assignments may be handed in up to five days late, at a
penalty of 10% of the maximum grade per day. For the whole quarter, you have a total of
6 late days that do not incur any penalty.
Grading:
You will submit your assignments (both writeups and code) to
gradescope. You have all been enrolled into the class. Please check your email. Each assignment is worth one third of your final grade.
Anonymous Feedback:
Please send your feedback via
https://feedback.cs.washington.edu/
Course Outline
Lectures
Date |
Topic |
Slides |
Reading (textbook/papers) |
Homeworks |
29-Mar |
Introduction, Probabilistic State Estimation |
Intro, Bayes Filters
Tutorial Slides, Tutorial Files, Zoom Recording |
Probabilistic Robotics (Ch 1, 2) |
|
5-Apr |
Bayes Filters, Motion Models |
Motion and Sensor
Models, Tutorial Slides, Tutorial Notebook, Doc for Interactive Suggestions
|
Probabilistic Robotics (Ch 5, 6) |
|
12-Apr |
Sensor Models, Kalman Filters |
Kalman Filters, Tutorial Slides |
Probabilistic Robotics (Ch 3, 7) |
|
19-Apr |
Particle Filters |
Particle Filters, Tutorial Slides, Sympy Example, Plotting Script |
Probabilistic Robotics (Ch 4, 8) |
|
26-Apr |
Mapping, SLAM |
Mapping |
Probabilistic Robotics (Ch 9 - 11), GTSAM |
|
3-May |
Deterministic Planning |
Deterministic planning |
Motion planning, A* slides from 473 |
|
10-May |
Sample-Based Planning and MDPs |
Sampling-based
planning, MDPs |
RRT, Probabilistic Robotics Ch. 14 |
|
17-May |
Inverse RL, Manipulation, Imitation Learning |
MDP-IRL, Imitation Learning Slides, Racecar Example |
|
|
24-May |
Manipulation, Review, Reinforcement Learning |
Manipulation, Review, Policy
Gradient |
|
|
31-May |
Reinforcement Learning |
Policy
Gradient, Training with Limited Data, Off Policy RL |
Reinforcement Learning: An Introduction |
|