Introduces the fundamental algorithmic approaches for creating robot systems that can autonomously manipulate physical objects in unstructured environments such as homes and restaurants. Topics include perception (including approaches based on deep learning and approaches based on 3D geometry), planning (robot kinematics and trajectory generation, collision-free motion planning, task-and-motion planning, and planning under uncertainty), as well as dynamics and control (both model-based and learning-based).
Homework assignments will guide students through building a software stack that will enable a robotic arm to autonomously manipulation objects in cluttered scenes (like a kitchen). A final project will allow students to dig deeper into a specific aspect of their choosing. The class has hardware available for ambitious final projects, but will also make heavy use of simulation using cloud resources.