16-741: Mechanics of Manipulation (Fall 2024)

Course Info

Syllabus

Time: Monday & Wednesday 11:00 AM - 12:20 PM
Location: NSH 1305 (previously NSH 3002)
Instructor: Zackory Erickson
Office Hours: Upon request


Course Description

Mechanics of Manipulation is a graduate level course that dives into the fundamentals of robotic manipulation. Through this course you will learn the kinematics, statics, and dynamics of robotic manipulators as they interact with the world to accomplish tasks. You will gain experience with the intelligent use of kinematic constraint, gravity, and frictional forces. Additional topics include rigid body mechanics, automatic planning based on mechanics, deformable manipulation, and simulation of dynamic manipulation. Applications of robotic manipulation are drawn from physical human-robot interaction, manufacturing, and other domains.

Textbooks

Mechanics of Robotic Manipulation, by Matthew T. Mason. MIT Press, 2001.
PDF textbook
Errata page

Robotic Manipulation, by Russ Tedrake. 2023.
PDF textbook
Lecture videos

Modern Robotics: Mechanics, Planning, and Control, by Kevin M. Lynch and Frank C. Park. Cambridge University Press, 2017.
PDF textbook
Lecture videos

Additional Resources

Toward Robotic Manipulation. Matthew T. Mason. Annual Review of Control, Robotics, and Autonomous Systems, 2018.

Schedule (tentative)

Date Topic Notes
Week 1
Mon,
Aug 26
Introduction Syllabus
Install Manipulation Engine
Week 1
Wed,
Aug 28
Let’s get you a robot Modern Robotics, Chapter 11.4
Robotic Manipulation, Chapter 2
Manipulation Engine
Week 2
Mon,
Sept 2
No class; Labor Day  
Week 2
Wed,
Sept 4
Kinematic Foundations Assignment 1 released
Mechanics of Robotic Manipulation, Chapter 2.1
Modern Robotics, Chapter 2
Week 3
Mon,
Sept 9
Spatial Rotation Representations Mechanics of Robotic Manipulation, Chapter 3
Robotic Manipulation, Chapter 3.3
Modern Robotics, Chapter 3.2
Week 3
Wed,
Sept 11
Forward and Inverse Kinematics Robotic Manipulation, Chapters 3.4 - 3.6
Modern Robotics, Chapters 4 and 6
Week 4
Mon,
Sept 16
Quaternions Mechanics of Robotic Manipulation, Chapter 3.1
Modern Robotics, Appendix B.3
Week 4
Wed,
Sept 18
Planar Kinematics Deadline: Assignment 1
Assignment 2 released
Mechanics of Robotic Manipulation, Chapter 2.2
Modern Robotics, Chapter 2.2
Week 5
Mon,
Sept 23
Spatial Kinematics I - Plucker Coordinates Mechanics of Robotic Manipulation, Chapter 2.3
Modern Robotics, Chapter 3.3
Week 5
Wed,
Sept 25
Spatial Kinematics II - Screw Coordinates Mechanics of Robotic Manipulation, Chapter 2.3
Modern Robotics, Chapter 3.3
Week 6
Mon,
Sept 30
Constraint and 
Reuleaux’s Method Mechanics of Robotic Manipulation, Chapter 2.3
Modern Robotics, Chapter 2.5
Week 6
Wed,
Oct 2
Representing Constraint Deadline: Assignment 2
Assignment 3 released
Mechanics of Robotic Manipulation, Chapter 3.3
Week 7
Mon,
Oct 7
Pick & Place and Path Planning Mechanics of Robotic Manipulation, Chapter 4.1
Robotic Manipulation, Chapter 3
Week 7
Wed,
Oct 9
Kinematic Models of Contact Deadline: Project Proposal
Mechanics of Robotic Manipulation, Chapter 4.3
Week 8
Mon,
Oct 14
No class; Fall break  
Week 8
Wed,
Oct 16
No class; Fall break  
Week 9
Mon,
Oct 21
Manipulation in Clutter  
Week 9
Wed,
Oct 23
Mobile Manipulation Deadline: Assignment 3
Assignment 4 released
Week 10
Mon,
Oct 28
Foundations of Statics  
Week 10
Wed,
Oct 30
Polyhedral Convex Cones  
Week 11
Mon,
Nov 4
Friction  
Week 11
Wed,
Nov 6
Planar Sliding Deadline: Assignment 4
Assignment 5 released
Week 12
Mon,
Nov 11
Pushing  
Week 12
Wed,
Nov 13
Grasps, Fixtures, Closures  
Week 13
Mon,
Nov 18
Force Control  
Week 13
Wed,
Nov 20
Rigid Body Dynamics Deadline: Assignment 5
Week 14
Mon,
Nov 25
Dynamics and Frictional Contact; Impact  
Week 14
Wed,
Nov 27
No class; Thanksgiving break Deadline (Nov 30): Google Slides for
your project presentation
Week 15
Mon,
Dec 2
Course Project Presentations  
Week 15
Wed,
Dec 4
Course Project Presentations Deadline: Course project paper

Course Project

Each student must do a course project. This project is due by the end of the semester. The project will begin with a proposal, which should be a page or less. It should clearly describe what you intend to do. Students should expect to spend from 20 to 40 hours on the project. Course project reports will be due at the end of the semester. The final report will be in IEEE format and should detail your project motivation, methodology, implementation, and results. You will also be given the option to upload a video to accompany your report (optional, but can be very helpful if your work is visual, and most robotics applications are quite visual). Projects may be a small manipulation problem to which you will apply some techniques learned in class, some extension or variation of a technique learned in class, or a review and implementation of a research paper related to the class material.

Experimental projects are encouraged, using any accessible robotic equipment. If you are interested in using a robotic arm but do not have access to one, please contact me. We can get you access to the AI Maker Space on campus, which has several robotic manipulators you can use. Experimental projects can be time-consuming, and if you choose this option the 20-40 hour guideline above does not apply.

Team projects are also fine, with up to 2 students.

Your project may be related to your outside research project or another class project, but should be clearly separate from it.

How do you find a good topic? Life is full of manipulation problems, most of which have never been studied. Or if you want to view locomotion as auto-manipulation, you can study a locomotion problem. Cooking, cleaning, origami are all sources of numerous different manipulation techniques. Games are also good sources. Paper football, tiddly-winks, curling, bowling, shuffleboard, horseshoes, eraser wars, are all manipulation problems in competitive settings. Every such application gives rise to numerous little research problems, when you look at it carefully enough.

If you have some ideas but could use some help focusing on a clearly defined manageable problem, I’d be glad to discuss it with you.

Below are a few final project submissions from prior years:
(2023): Sample 1, Sample 2
(2016) (not in IEEE format): Sample 1, Sample 2

  1. Here are some titles of recent projects, to give you some ideas of suitable topics:
    • Data-driven approach to object centric hand-grasp classification
    • Study of human writing process
    • Stir-frying
    • Touch based exploration of object inertial properties for grasping
    • Dynamic modeling and control of push-roll locomotion
    • Coordinated manipulation
    • RoboCup SSL non-kicker manipulation
    • Hand kinematics of piano playing
    • Contact force optimization for trunk stabilization in snake monster (Hexapod)
    • Design a fully automated stair climbing robot luggage
    • 3D object shape, position and trajectory estimation for manipulation
    • Object pose estimation from visual and tactile sensors
    • Drum master
    • Prehensile analysis using first-person video
    • Manipulating moving objects
    • Manipulating buttons, zippers, or other elements that require fine-motor control
    • Manipulation of cloth
    • Pouring liquid or manipulating deformable materials (such as dough)
    • Using chopsticks
  2. Here is a proposal to give you an idea of the expected level of detail and organization:

    Title: Pouring liquids
    Team: Moe, Curly

    We have seen some videos of robots pouring liquids, but they do not look as good as people pouring liquids, for example:
    (A video of a human pouring)
    (A video of a robot pouring)

    It is obvious the person is better, but not obvious exactly why. What is the objective that should be optimized? To explore that, we will devise a very simple two-dimensional simulator that pours liquid from one container into another. The pouring motion will be represented as a path in the container configuration space interpolating through a set of control points. We will formulate several different objective functions, and optimize the choice of control points for each objective, and then compare the outcomes.

    The objectives we will explore are:

    • minimum time to fill the receptacle
    • least spillage within a given time
    • (and some others)

    This project is close to my research with Professor Groucho, but that work is focused entirely on inviscid beverages, and this project will focus on molasses.

Credit

This course was originally developed by Prof. Matthew Mason, which he taught for over 30 years at CMU.