CS 4752/5752 & MAE 4750/5750: Robotic Manipulation

Cornell University
Fall 2015
Location: Hollister Hall 306
MWF 3:35pm – 4:25pm (50 min)
(Project Room: Gates G03/G05)
4 credits

Course Staff


Robotic manipulation is the ability for a robot to interact physically and deliberately in the world. Although long used in factories, robot manipulators will soon appear in home environments as well, helping us with daily tasks. This course covers the theory and concepts involved in programming a robot manipulator, including forward and inverse kinematics, dynamics of a kinematic chain, path and trajectory planning, position control, velocity control, force control, and Lyapunov stability.

Course Aims and Outcomes


By the end of this course, I will understand the basic concepts and theory governing the programming of robot manipulator arms to perform autonomous tasks.

Learning Outcomes.

After this course, I will be able to:


Knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program (e.g., CS 1114 or CS 2110 or CS 3110 or equivalent). Python, Matlab, or C++ experience is preferred. Linear Algebra and Calculus courses are recommended.


Course Websites



Regrades: Regrade requests will be handled throughout the course CMS website. All regrade requests must be submitted within 10 days of receiving the grade.

Homework submission: Homeworks will be submitted, and grades returned, through the course CMS website. Late homeworks will receive a 25% penalty per day late, including weekends.

Reading quizzes: The reading quizzes are due before each class and are submitted on the CMS website.

Collaboration: The coding projects are to be done in groups of 3. Students may split up the work, but each student may be called upon to explain any part of the solution. Written homeworks are to be submitted individually, but working together in groups of any size is explicitly encouraged. Note that each student is responsible for writing a separate solution to written homeworks. For all homeworks, you must write who you collaborated with.

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 – without declaring those persons as collaborators 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 http://www.cs.cornell.edu/~rak/mail\_ross.html or on Piazza.


The course is taught as a flipped classroom. Students are assigned one short reading per class, usually under 10 pages. Students complete a short (1 or 2 question) quiz to check reading comprehension. Classroom activities focus on discussion, analysis, and synthesis of information. In addition, homework assignments comprise a mixture of written response and algorithm implementation on a real manipulator robot.

Project Room

The Baxter robot used for coding projects can be found in Gates G03/G05. That room holds 8 Ubuntu Linux PCs running ROS. Students will have 24-hour card access to the project room. The PCs are first come, first serve. Only one group may use the robot at a time.

Robot reservation calendar:

The following rules apply to the reservation system.


Tentative schedule follows.

NOTE: SHV is the course textbook: Spong, Hutchinson, and Vidyasagar.

HoR is the Handbook of Robotics, available online: Chapter 6: Motion Control, by Wankyun Chung, Li-Chen Fu, and Su-Hau Hsu.

Chapter 27: Contact Modeling and Manipulation, by Imin Kao, Kevin Lynch, and Joel Burdick.

Chapter 28: Grasping, by Domenico Prattichizzo and Jeffrey C. Trinkle.

Reading Due
Wed, 26 Aug
Introduction and Overview
Topic 1Foundations
Fri, 28 Aug
Definitions and Representation
SHV Sec 1.0–1.1
Mon, 31 Aug
Robot Mechanisms
SHV Sec 1.2–1.3
Wed, 2 Sep
ROS basics
Proj1 out (ROS, Baxter kinematics)
Topic 2Rigid Motions and Homogeneous Transformations
Fri, 4 Sep
Rigid Body Motion
SHV Sec 2.1–2.2
HW1 out (Transforms, Kinematics)
Mon, 7 Sep
No class – Labor Day
Wed, 9 Sep
SHV Sec 2.3–2.4
Fri, 11 Sep
Rotation Parametrization
SHV Sec 2.5
Mon, 14 Sep
Rigid Bodies and Homogeneous Transforms
SHV Sec 2.6–2.7
Topic 3Forward and Inverse Kinematics
Wed, 16 Sep
Kinematic Chains
SHV Sec 3.0–3.1
Fri, 18 Sep
Denavit-Hartenberg Convention
SHV Sec 3.2 (pp 76–86)
Mon, 21 Sep
Inverse Kinematics
SHV Sec 3.3–3.3.3 (pp 93–98)
Wed, 23 Sep
Inverse Kinematics
SHV Sec 3.3.4–Ex 3.9 (pp 98–108)
Topic 4Velocity Kinematics
Fri, 25 Sep
Some properties of rotations
SHV Sec 4.0–4.2
HW2 out (Kinematics, Motion planning)
Mon, 28 Sep
Angular velocity and moving coordinate frames
SHV Sec 4.3–4.5
Wed, 30 Sep
The Jacobian
SHV Sec 4.6
HW1 in
Fri, 2 Oct
SHV Sec 4.7–4.9
Proj1 in
Mon, 5 Oct
Applications of Jacobians
SHV Sec 4.10–4.12
Topic 5Motion Planning
Wed, 7 Oct
Planning in C-Space
SHV Sec 5.0–5.1
Fri, 9 Oct
Potential Fields
SHV Sec 5.2–5.3
Proj2 out (Jacobians, Motion Planning)
Mon, 12 Oct
No class – Fall Break
Wed, 14 Oct
Probabilistic Roadmaps
SHV Sec 5.4
Fri, 16 Oct
Rapidly-Exploring Random Trees
Mon, 19 Oct
Review for prelim
Wed, 21 Oct
In-class prelim
Topic 6Dynamics and Control
Fri, 23 Oct
Euler-Lagrange Equations
Sec 7.0–7.1
Mon, 26 Oct
Energy and Motion
SHV 7.2–7.3
Wed, 28 Oct
Properties of Robot Dynamics Equations
SHV Sec 7.5
HW2 in
Fri, 30 Oct
PID Control
Topic 7Grasping
Mon, 2 Nov
Frictional Contact
Wed, 4 Nov
Rigid-Body Pushing
Fri, 6 Nov
Grasping Models
Mon, 9 Nov
Form and Force Closure
HW3 out (Dynamics, Grasping, Vision)
Topic 8Computer Vision
Wed, 11 Nov
Projective Geometry
SHV Sec 11.0–11.2
Proj2 in
Fri, 13 Nov
SHV Sec 11.3–11.4
Mon, 16 Nov
SHV Sec 11.5
Topic 9Visual Servoing
Wed, 18 Nov
Interaction Matrix
SHV Sec 12.0–12.3
Proj3/Final Competition out
Fri, 20 Nov
Image-Based Control Laws
SHV Sec 12.4
Mon, 23 Nov
SHV Sec 12.5–12.7
HW3 in
Wed, 25 Nov
No class – Thanksgiving Break
Fri, 27 Nov
No class – Thanksgiving Break
Mon, 30 Nov
Review for prelim
Wed, 2 Dec
In-class prelim
Fri, 4 Dec
Guest Lecture – TBA
Topic 12Final Competition
Mon, 14 Dec
Competition on Baxter
Thu, 17 Dec
Final Report Due
Proj3 in

This document was translated from LATEX by HEVEA.