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.
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.
After this course, I will be able to:
- be able to read and apply research papers on mobile manipulation topics.
- understand fundamental theory forming the basis of six robotics disciplines: kinematics, dynamics, controls, grasping, planning, and human-robot interaction.
- know principles of robotic systems design, and be able to analyze trade-offs in such designs.
- be able to integrate a system of several components.
- know how to approach problems in mobile manipulation.
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.
- Alonzo Kelly, Mobile Robotics: Mathematics, Models and Methods, Cambridge University Press, 2013.
- Steven M. Lavalle, Planning Algorithms, Cambridge University Press, 2006. Free online: http://planning.cs.uiuc.edu/book.html
- Matthew T. Mason, Mechanics of Manipulation, MIT Press 2001.
- Alonzo Kelly, Mobile Robotics: Mathematics, Models, and Methods, Cambridge University Press, 2013.
- Sebastian Thrun, Wolfram Burgard, and Dieter Fox, Probabilistic Robotics, MIT Press, 2005.
- Bruno Siciliano and Oussama Khatib, eds. Springer Handbook of Robotics, Springer, 2008.
These texts are not required, but can serve as useful references for different parts of the course.
- Main course website: http://www.cs.cornell.edu/courses/cs6751/2018sp/
- Slack discussion channel: https://cornellrobotics.slack.com/messages/C8XQ010PK/
- CMT paper reviews: https://cmt3.research.microsoft.com/IRMM2018
- Class participation: 20%
- Class discussion: 18%
- Filling out course evaluation survey: 2%
- Project: 50%
- Research content: 20%
- Milestones 10%
- Written report: 10%
- Oral report: 10%
- Paper presentation: 30%
- Students will present an important robotics research paper to the class.
Academic integrity: Students are expected to follow Cornell’s Code of Academic Integrity which can be found at http://cuinfo.cornell.edu/aic.cfm. 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.
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 http://www.cs.cornell.edu/~rak/mail_ross.html .
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:
- Students individually express topic preferences for project topics and/or group members; groups will then be suggested by the instructor
- Project groups will write a project proposal describing
- who is in the group
- what problem they aim to solve
- what is the “twist” that makes their approach special
- a plan of action for the semester with dates, leading to a final paper (report)
- At the first milestone, groups present in class their progress to date and what they plan to do next; they submit a partial draft of the report
- At the second milestone, groups present in class their progress to date and what they plan to do next; they submit a partial draft of the report
- On the last two days of class, groups give an oral report and a demo of their completed project
- Groups submit the completed written report
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:
- Abstract (summarize the whole paper in one paragraph)
- Introduction (motivate the research and clearly state the contributions)
- Related Work (survey of literature)
- Method (this varies the most – explain how you did what you did)
- Experiments (if you are building something, you should validate it with experiments; if not, then there must be some alternate validation like proofs)
- (can also include other sections as needed)
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.