Time: Monday & Wednesday 11:00 AM - 12:20 PM
Location: NSH 1305 (previously NSH 3002)
Instructor: Zackory Erickson
Office Hours: Upon request
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.
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
Toward Robotic Manipulation. Matthew T. Mason. Annual Review of Control, Robotics, and Autonomous Systems, 2018.
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 |
Foundations of Statics | Deadline: Assignment 3 Assignment 4 released |
Week 10 Mon, Oct 28 |
Polyhedral Convex Cones | |
Week 10 Wed, Oct 30 |
Friction | |
Week 11 Mon, Nov 4 |
Planar Sliding | |
Week 11 Wed, Nov 6 |
No class; Prof. Erickson is traveling | 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 | |
Week 14 Mon, Nov 25 |
Dynamics and Frictional Contact; Impact | Deadline: Assignment 5 |
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 |
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
Here is a proposal to give you an idea of the expected level of detail and organization:
Title: Pouring liquids
Team: Moe, CurlyWe 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.
This course was originally developed by Prof. Matthew Mason, which he taught for over 30 years at CMU.