Mobile manipulation is the ability for a robot to interact physically and with versatility in the world. It is one of the greatest technical challenges in robotics, due primarily to the interplay of uncertainty about the world and clutter within it. As robots become integrated into complex human environments, mobile manipulation is increasingly necessary. Robotic mobile manipulation will enable applications like personal assistant robots in the home and factory worker robots in advanced manufacturing. This course covers the fundamental theory, concepts, and systems of mobile manipulation, including both software and hardware.

Topics we will cover this semester include statistical techniques like machine learning and particle filters, combined task and motion planning, human-robot interaction, and introspection. The course features a semester-long project in which each student must deliver a component that functions with several other students’ components to form a working robotic system. The scope of possible components is quite broad and extends beyond traditional robotics issues into other aspects of CS.

This course is offered to prepare a student for Ph.D. research in robotics.

Note that for the CS Ph.D. breadth requirement, this course counts as the AI area with either the systems or applied research style.

Course Aims

By the end of this course, I will be prepared to understand and contribute to the robotics research literature, especially as it pertains to mobile manipulation.

Learning Outcomes

After this course, I will be able to:


Graduate standing or permission of the instructor. Undergraduates should have taken a previous robotics course such as MAE 4180 or CS 4750 or CS 4752. A background in mathematics is required, especially linear algebra (e.g. MATH 4310) and probability (e.g. MATH 4720). Proficiency in C++ or Python is required.

Optional Textbooks

These texts are not required, but can serve as useful references for different parts of the course.

Course Websites



Academic integrity: Students are expected to follow Cornell’s Code of Academic Integrity which can be found at The purpose of this code is to provide for an honest and fair academic environment. As such, it should be clear to students what is expected of them in the course (see the collaboration policy) and in case of doubt, students should ask Prof. Knepper. Copying work of others (code and/or text) — or allowing others to copy your work — is considered a violation of Cornell’s code.

Inclusion Statement

Students in this course come from a variety of backgrounds, abilities, and identities. In order to ensure an environment conducive to learning, all members of the course must treat one another with respect. If you feel your needs are not being adequately accommodated by the other students or instruction staff, please contact Prof. Knepper. You may do so anonymously at .


The course has a project component and a paper-reading component.

The projects will be completed in small groups. Some project ideas will be provided by the instructor, but students may also provide their own topics. The project objective is to produce a conference-paper-style final report that could be submitted to a robotics conference such as ICRA. The project schedule goes as follows:

In the project proposal, groups should specify for each section of the paper whether they plan to have it completed by the first milestone, second milestone, or in the final report. The sections of a typical conference paper are:

The second component of the class is about reading and discussing papers. There are papers assigned for the majority of class days. All students must read each paper and submit a paper review. In addition, each student will act at least once as a presenter and discussion leader.

Paper reviews will be submitted on the CMT site. They are due by the start of class on the day each paper will be discussed. You should complete each review as though it were a real paper review. You may accept or reject the paper, but please be prepared to say why.

In class, the discussion leader will present the content of the paper. Please target each presentation for 20 minutes. This leaves plenty of time for questions and discussion. The participation grade is primarily based on this discussion, so all students are expected to come prepared to discuss each paper. It may be helpful to prepare a list of questions to ask the group.