16-740 Learning for Manipulation
Manipulation is the process of changing the state of objects through direct physical interactions. To perform manipulation tasks in unstructured environments, autonomous robots will need to learn about the objects in their surroundings as well as the skills required to manipulate and change the state of these objects. In this course, we explore the use of machine learning and data-driven algorithms for robot manipulation. The course introduces students to the wide variety of challenges posed by manipulation tasks, and how these challenges can be formulated as learning problems. Students are taught how these problems can be solved using machine learning techniques. The types of machine learning methods covered in this course include supervised, unsupervised, active, and reinforcement learning methods. The course includes both lectures and guided paper discussions, as well as homework assignments and a final group project.
16-662 Robot Autonomy
Robot autonomy delves into the interplay between perception, manipulation, navigation, planning, and learning required to develop fully autonomous systems. We will focus on application domains like the home, retail, and healthcare and identify common themes and key bottlenecks. We will discuss the state of the art algorithms, their computational and hardware requirements, and their limitations. To enable you to create end-to-end systems, you will learn how to address clutter and uncertainty in manipulation tasks, develop robust object recognition algorithms in real-world scenes, plan robot trajectories in high-dimensional spaces, build behavior engines for high-level tasks, and learn to apply and connect those to create an autonomous robot system. The course emphasizes the implementation of the algorithms discussed in class in simulation through homework assignments as well as on real systems in a class project.