MIT 6.4210/6.4212 - Robotic Manipulation (original) (raw)

Course Description

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.

6.4210 is the undergraduate version of the class. It serves as anAdvanced Undergraduate subject (AUS), Independent Inquiry (II) and a Communication-intensive subject (CI-M). Our communications focus is on reviewing active research papers and producing an excellent final project. Due to the significant emphasis on communications and the final project, the course is 15 units (rather than the more standard 12) and includes a Friday recitation.

6.4212 is the graduate version of the class. It qualifies as aTechnical Qualifying Exam (TQE) subject (in Group 3: Artificial Intelligence). It is an Approved Advanced Graduate Subject (AAGS), and can automatically be counted as an AUS, and/or grad_II. This version of the course is 12 units, but to match the high standards of the department TQEs, the expectations for students registered for 6.4212 are higher than for 6.4210. 6.4212 students should expect one or two different or additional (potentially more advanced) problems on each problem set. Relative to 6.4210, the grading rubrics for the final project place increased emphasis on technical depth, and reduced emphasis on communication.

Course Information


Class Time and Location

Fall semester (September - December, 2024)
Lectures: Monday, Wednesday 9:30 -11:00 am in45-230
Recitations are only for the undergrad version (6.4210):

See class schedule for complete details.

Office Hours

See this Piazza post for our office hours schedule.

Class Forums

For 6.4210, communication on CI-M material will primarily happen through Canvas.

We will use Gradescope for problem set submission and grading.

Grading Policy

Late assignments will be penalized 10% every 24 hours. Additionally, we will grant a one time (one pset) extension of up to one week without penalty. This will automatically be applied at the end of the term to whichever pset will earn you the most points; there is no need to request it. All psets will be be assigned equal weight when determining final grade.

6.4210 grade distribution
Assignments: 40%
Journal club/peer reviews: 5%
CI-M participation, pre-writing tasks & writing conferences: 5%
Project proposal: 10% (5% tech grade + 5% CI grade)
Project report: 30% (20% tech grade + 10% CI grade)
Project video: 10% (7% tech grade + 3% CI grade)

6.4212 grade distribution
Assignments: 40%
Project proposal: 5%
Project updates: 10%
Project report: 35%
Project video: 10%

Policy on Generative AI: Generative AI is a resource like any other. You are free to use it, but should always cite your resources.

Prequisites

Basic linear algebra, probability and algorithms. A basic understanding of neural networks. Coding assignments will be in Python using cloud-provisioned Jupyter notebooks. The prerequisites 6.100A and 6.3900 listed in the course guide were chosen as an example of coverage for this material. See the FAQ for the answers to some common questions about prerequisites.

Open Access

We hope to actively engage with the anybody who wants to spend time on the material. Please ask us questions via the annotation tool on the course textbook.

Collaboration Policy

Collaboration is encouraged, but the work you submit for assignments is expected to be entirely your own. That is, the writing and code must be yours, and you must fully understand everything that you hand in. Discussing the details of how to solve a problem is fine, but you must write the solution yourself. To avoid plagiarizing, you shouldn't be looking at someone else's solution while you write down your own. If you collaborated significantly (use your own discretion for "significantly") on a problem, list the people you collaborated with next to your solution.


People

You can contact the course staff at: manipulation-staff [AT] mit [DOT] edu, but we prefer contact via Piazza

Instructor

Teaching Assistants (Graduate)


Shruti Garg


Quincy Johnson


Nicholas Pfaff


Ryan Yang

Communications Instructors


Nora Jackson


Elena Kalodner-Martin


FAQ

I don't have any robotics experience, is it okay if I take the class?
Yes. The course is designed to not assume any prior experience with robotics. If you have plenty of robotics experience, that's great too.

What will assignments be like?
The assignments will comprise a mix of hand-written math and programming. These will be approximately weekly, and for approximately only the first half of the term. During the second half we will ask you to focus on your final project.

Programming assignments will be in Python and will feature use of Drake, a toolbox for planning, control and analysis for robotics. Drake was developed out of the Robot Locomotion Group and its development is now led by Toyota Research Institute.

All assignments (both hand-written components and programming components) will be graded using Gradescope.

I am not sure if I fit the prerequisites, what should I do?
Please speak to a staff member.

What can I do to best prepare for success in the class?
The course takes a rigorous mathematical and algorithmic approach to robotics. The only required prerequisites are basic familiarity with linear algebra. If you work hard, we can teach you the rest.

If, however, you would like to prepare as best as possible, here is what the course TAs recommend: