CSE 478: Autonomous Robotics

Instructor: Abhishek Gupta (abhgupta at cs)

TAs:
Arnav Thareja (athareja at cs)
Marius Memmel (memmelma at cs)
Yunchu Zhang (yunchuz at cs)
Karthikeya Vemuri (karkeys1 at cs)

Lecture: MWF 1:30 PM - 2:30 PM. BAG - Room 260

Office Hours:

Office Hours: Conceptual Questions
Abhishek (Gates 215): Monday 4-5pm, Wednesday 9-10am

Lab Office Hours (Allen 022): Hardware and Homeworks:
Monday 3:00 - 4:00: Marius, Yunchu
Wednesday 11:30 - 12:30: Karthikeya, Arnav
Monday 12:30-1:30: Karthikeya
Tuesday 1:00- 2:00 : Arnav
Thursday 9:00- 10:00: Yunchu
Friday 12:30-1:30: Marius

Ed discussion board (link) All questions that are not of a personal nature should be posted to the discussion board.

Submit anonymous feedback here.

Overview

CSE 478 is a project- and discussion-based introduction to robotics. Autonomous vehicles will be used as a running example to introduce the algorithmic building blocks of robotics, and students will use the MuSHR rally car platform to gain hands-on experience. Students will learn the fundamentals of robots, as well as some cutting edge topics including machine learning applications in robotics. Moreover, students will also develop the skills required to read fundamental research papers and discuss the pros and cons of these research papers critically. By the end of this course, students should be able to:

  • Identify fundamental abstractions used by mobile robots in the wild (localization, planning, control), explain how they interact, and analyze algorithmic trade-offs within each abstraction.
  • Implement the above abstractions to enable a simulated mobile robot to navigate safely and efficiently, using Python and the Robot Operating System (ROS). Conduct principled robot experiments to diagnose and fix bugs across the mobile robot software stack. Implement and validate the software stack on a real hardware platform.
  • Be able to read, critique and absorb content in cutting edge research papers in robotics.

Textbooks (Optional)

Grading

There are four components to your final grade in this course.

  • Programming projects x 4 (+1 final project)
  • Guest lectures x 2
  • Paper readings and written responses x 4
  • Final project

There are four programming projects with the MuSHR platform. These must be completed in groups of four (4) students. In addition, you will put together everything you’ve learned for a final project on the MuSHR platform.

Programming projects will be graded using an SN scale.

S (Satisfactory). Work meets all requirements and displays mastery of core learning goals.
N (Not yet). Work does not meet some requirements and/or displays developing or incomplete mastery of some learning goals and material.

An N will be accompanied by TA feedback and guidance. You will be able to revise and resubmit to receive an updated grade and feedback.

Rubric

The following rubric will be used to assign final grades for the course.

at least 3.8

  • S on all 5 assignments (projects 1 through 4 + final project)
  • 2 participation in guest lectures / class
  • S on paper presentation
  • 4 reading responses

at least 3.4:

  • S on 4 out of 5 assignments
  • S on paper presentation
  • 2 participation in guest lectures / class
  • 3 reading responses

at least 3.0:

  • S on 3 out of 5 assignments
  • N on paper presentation
  • 1 participation in guest lectures / class
  • 2 reading responses

at least 2.0:

  • S on 2 out of 5 assignments
  • N on paper presentation
  • 1 participation in guest lectures / class
  • 1 reading responses

Prerequisites

CSE 332 (required), MATH 308 (recommended), CSE 312 (recommended).

The programming projects require that you work with a Linux and Python environment. Based on feedback from previous offerings, we strongly recommend that you are comfortable with at least one of the two. We welcome students with less experience, but please be prepared to spend some more time at the beginning of the course getting acquainted.

Inclusion

Students of all backgrounds and experiences are welcome in this class. You are entitled to be treated respectfully by your classmates and the course staff.

If at any time you are made to feel uncomfortable, disrespected, or excluded, please contact the instructors or a TA to report the incident. If you feel uncomfortable bringing up an issue with the course staff directly, you may also consider sending anonymous course feedback or meeting with the CSE academic advisors or the UW Office of the Ombud.

Collaboration

Programming projects are designed for a group of 4 students. Each group should write their own writeup and code.

We encourage you to discuss all course activities with your friends and classmates as you work through them. 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. It’s okay to look at online resources as long as sources are cited and code isn’t copied.

Here’s a reference in case you need a refresher.

Disability Resources for Students

It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law. If you have already established accommodations with Disability Resources for Students (DRS), please activate your accommodations via myDRS so we can discuss how they will be implemented in this course. If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations, contact DRS directly to set up an Access Plan.

Religious Accommodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.

Disclaimer

I reserve the right to modify any of these plans as need be during the course of the class; however, I won’t do anything capriciously, anything I do change won’t be too drastic, and you’ll be informed as far in advance as possible.

Acknowledgements

We thank past instructors Sanjiban Choudhury, Chris Mavrogiannis, Brian Hou and Byron Boots for sharing their course materials and insight, as well as the MuSHR team for their software and hardware assistance.