CS 699: Deep Learning for Robotic Manipulation
Department of Computer Science
University of Southern California
Fall 2023
Note: find the Fall 2024 course here: https://danielseita.github.io/cs699-fa2024.html
Course Info
Time: Mondays and Wednesdays, 5:00pm to 6:50pm
Room: Zumberge Hall (ZHS) 360
Instructor: Daniel Seita. Office hours Mondays 1:15pm to 2:15pm or by appointment. Location: Powell Hall 212.
Course Discussion / Announcements: see Piazza: https://piazza.com/usc/fall2023/cs699
For details on the per-lecture plan and schedule, please see the Weekly Schedule and Paper List section below.
Course Description
This special topics class and seminar will cover state of the art advances in robot manipulation. This is about robots interacting with and affecting their environment, and could refer to things such as grasping, pushing, picking-and-placing, tossing, and many other actions. Aided in part by the rise of deep learning and subsequent advances in robot perception, the research area of robot manipulation has experienced tremendous growth in recent years. Nonetheless, despite this progress, real-world manipulation remains fundamentally hard. In this course, we will review and understand robot manipulation with a focus on using learning-based techniques. We will explore how to get such systems to work more reliably in unstructured real world settings.
For Fall 2023, we are particularly excited about the theme of "multimodality" where we emphasize policies that can handle multiple types of inputs or perform multiple types of actions. For example, this would include robot manipulation based on language and images as input. Many of the topics we cover will also have overlap with dexterous manipulation and deformable object manipulation.
In this class, students will read, review, and present research papers. Most research papers will be recent and have cutting-edge results, but we will have a mix of older papers to understand how the field has evolved over the years. Students will also work on a substantial final project.
Intended audience: this class is aimed at PhD students who are studying relevant topics. However, undergraduates and master's students can enroll with permission of the instructor. If interested, please talk to the instructor at the beginning of the semester.
Weekly Schedule and Paper List
Here is the weekly schedule and paper list:
https://docs.google.com/spreadsheets/d/1Tjln7oqJnNUSIM164lp0oWfKFOhmlpru2UMdiYqTVII/edit?usp=sharing
The field moves very quickly, so there's a chance that we might discuss some papers that only become publicly available midway through the course.
To avoid issues such as conflict of interest, we will not be directly discussing any of my papers in this class, or those of any currently enrolled students.
Lecture / Class Structure
See the section above for the schedule. The first two lectures will provide background material.
After the first two lectures, each 1 hour 50-minute class will involve presentations of three research papers. The class will be structured as:
25 minutes for presentation of first paper, followed by 5-minute break or brief paper Q&A.
25 minutes for presentation of second paper, followed by 5-minute break or brief paper Q&A.
25 minutes for presentation of third paper, followed by 5-minute break or brief paper Q&A.
20 minutes for a class discussion about all three papers.
If you are presenting in a lecture, please see the Class Presentations page for further instructions.
Instead of paper discussions, the final week will involve a summary of what we have learned, and final project presentations.
Thus, besides the first and last parts of the class, most weeks will involve students learning from about 6 academic robot manipulation research papers (3 per lecture). We will not record the lectures but the slides will be made publicly available.
Prerequisites
CSCI 467: Introduction to Machine Learning, and CSCI 545: Introduction to Robotics, are recommended but not required.
Students are expected to be familiar with the fundamentals of robotics (especially manipulation) and machine learning. This class will consist largely of reading and discussing papers, which requires some degree of technical maturity. At the bottom of this website, we provide links to reference materials you can consult if desired.
Grading
The final course grade will be based on:
1/3: Class Presentations
1/3: Paper Reviews
1/3: Final Project
See the individual pages to get a more detailed breakdown of each category, and for policies about late assignments. It is possible to get extra credit for some of these components and to exceed 100% of the allocated points; we will compute the points for each component separately and cap each at 100% before we combine them for the overall course grade.
Depending on the number of students in class, we may adjust the relative grading portion of the class presentations versus paper reviews.
In addition, since this is a seminar-style class, students will be expected to attend class, unless they have notified the instructor in advance. Frequent absences will be handled on a case-by-case basis and will result in some grading penalty.
Tentative grading scale, conditioned on adequate class attendance:
90 or higher: A
[85, 90): A-
[80, 85): B+
[75, 80): B
[70, 75): B-
Grades lower than this will be handled on a case-by-case basis.
I reserve the right to adjust the grading scale. Frequent absences from class, for example (especially if I am not explicitly informed about each of them) will result in a decrease in the student's grade.
If you have questions about your grade throughout the course, please contact me.
Learning Objectives
A better understanding of robot learning, and specifically robot learning for manipulation.
Gain experience reading, understanding, analyzing, and debating papers from premier robotics venues.
Main conferences: CoRL, ICRA, IROS, RSS.
Main journals: RA-L, T-RO, IJRR, Autonomous Robots (AURO), Science Robotics.
Understand, implement, and experiment with state-of-the-art algorithms for the final project.
Improve academic writing and presentation skills.
Academic Integrity
Discussing with other students at a high level is allowed, but you must write up your own paper reviews and write, prepare, and deliver your own class presentation. For final projects, you must also acknowledge whether this is ongoing and concurrent research (and to what extent you will be implementing or working on class-related material), and whether you are re-using materials for another class.
You are welcome to use whatever resources you need to best learn the material. In general, we agree with Jeff Erickson's citation policy. For example:
If you talked with a robotic manipulation researcher to help understand a technical concept, you must acknowledge that person.
If you used someone else's blog post as a background reference, you must cite it.
If you used ChatGPT to help summarize or generate some text, you must cite it and describe how you used it.
We will provide templates for assignments where you must acknowledge the ingredients you used for your assignment and/or project.
Accommodating Diverse Needs
If you have a disability and need academic accommodations, please discuss any needs with me as soon as possible. I will work with you to ensure that your needs are met and that we are able to effectively achieve the educational goals of this course.
I hope that students with diverse backgrounds can all benefit from the course. If there is something I can do to make this course better achieve that objective, feel free to contact me with suggestions.
Related Materials and References
Some relevant USC courses:
CSCI 360: Introduction to Artificial Intelligence (offered in Fall 2023 by Mohammad Reza Rajati)
CSCI 467: Introduction to Machine Learning (offered in Fall 2023 by Robin Jia)
CSCI 445L: Introduction to Robotics (offered in Fall 2023 by Heather Culbertson)
CSCI 545: Introduction to Robotics (offered in Fall 2023 by Stefanos Nikolaidis, covers more robot planning / IK / dynamics)
CSCI 566: Deep Learning and its Applications (offered in Spring 2023 by Jesse Thomason)
CSCI 699: Robot Learning (offered in Fall 2023 by Erdem Bıyık, covers robot learning more broadly instead of just manipulation)
This course is adapted from two CMU courses:
https://sites.google.com/view/16-881-cmu/home (David Held's course)
https://16-884.github.io/ (Deepak Pathak's course)
Other useful courses you might consider consulting for additional material on robot learning and manipulation include:
https://people.eecs.berkeley.edu/~pabbeel/cs287-fa19/ (Pieter Abbeel's course)
https://rail.eecs.berkeley.edu/deeprlcourse/ (Sergey Levine's course)
https://manipulation.csail.mit.edu/ (Russ Tedrake's course / textbook)
http://motion.cs.illinois.edu/RoboticSystems/Book.html (Kris Hauser's course / textbook)
http://cs231n.stanford.edu/ (Fei-Fei Li's course, recently co-taught with Yunzhu Li and Ruohan Gao)
https://cs224r.stanford.edu/ (Chelsea Finn's course)
https://www.cs.utexas.edu/~yukez/cs391r_fall2021/index.html (Yuke Zhu's course / seminar)
http://incompleteideas.net/book/the-book.html (Reinforcement Learning text book by Richard Sutton and Andrew Barto)