CS 4752/CS 5752/MAE 4750: Robotic Manipulation

Cornell University
Spring 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 assignments are do 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 .


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 assignments 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.

Reading Due
Wed, 21 Jan
Introduction and Overview
Topic 1Foundations
Fri, 23 Jan
Definitions and Representation
SHV Sec 1.0–1.1
Mon, 26 Jan
Robot Mechanisms
SHV Sec 1.2–1.3
Wed, 28 Jan
ROS basics
HW1 out (code)
Topic 2Rigid Motions and Homogeneous Transformations
Fri, 30 Jan
Rigid Body Motion
SHV Sec 2.1–2.2
Mon, 2 Feb
SHV Sec 2.3–2.4
Wed, 4 Feb
Rotation Parametrization
SHV Sec 2.5
Fri, 6 Feb
Rigid Bodies and Homogeneous Transforms
SHV Sec 2.6–2.7
HW1 in, HW2 out (written)
Topic 3Forward and Inverse Kinematics
Mon, 9 Feb
Kinematic Chains
SHV Sec 3.0–3.1
Wed, 11 Feb
Denavit-Hartenberg Convention
SHV Sec 3.2 (pp 76–86)
Fri, 13 Feb
Inverse Kinematics
SHV Sec 3.3–3.3.3 (pp 93–98)
HW2 in
Mon, 16 Feb
No class – Winter Break
Wed, 18 Feb
Inverse Kinematics
SHV Sec 3.3.4–Ex 3.9 (pp 98–108)
HW3 out (code)
Topic 4Velocity Kinematics
Fri, 20 Feb
Some properties of rotations
SHV Sec 4.0–4.2
Mon, 23 Feb
Angular velocity and moving coordinate frames
SHV Sec 4.3–4.5
Wed, 25 Feb
The Jacobian
SHV Sec 4.6
Fri, 27 Feb
SHV Sec 4.7–4.9
Mon, 2 Mar
Applications of Jacobians
SHV Sec 4.10–4.12
HW3 in, HW4 out (written)
Topic 5Grasping
Wed, 4 Mar
Grasping – Guest Lecture
Handbook of Robotics (TBD)
Topic 6Motion Planning and Trajectory Optimization
Fri, 6 Mar
Planning in C-Space
SHV Sec 5.0–5.1
Mon, 9 Mar
Potential Fields
SHV Sec 5.2–5.3
Wed, 11 Mar
Probabilistic Roadmaps
SHV Sec 5.4
Fri, 13 Mar
Rapidly-Exploring Random Trees
HW4 in
Topic 7Independent Joint Control
Mon, 16 Mar
Modeling Joints
SHV Sec 6.0–6.2
Wed, 18 Mar
Set-Point Tracking
SHV Sec 6.3
Fri, 20 Mar
Feedforward Control and Drivetrain Dynamics
SHV Sec 6.4–6.5
Topic 8Computer Vision
Mon, 23 Mar
Projective Geometry
SHV Sec 11.0–11.2
Wed, 25 Mar
SHV Sec 11.3–11.4
HW5 out (code)
Fri, 27 Mar
SHV Sec 11.5
Mon, 30 Mar
No class – Spring Break
Wed, 1 Apr
No class – Spring Break
Fri, 3 Apr
No class – Spring Break
Topic 9Visual Servoing
Mon, 6 Apr
Interaction Matrix
SHV Sec 12.0–12.3
Wed, 8 Apr
In-class prelim
Fri, 10 Apr
Image-Based Control Laws
SHV Sec 12.4
Mon, 13 Apr
SHV Sec 12.5–12.7
Topic 10Dynamics
Wed, 15 Apr
Lagrangian Dynamics
SHV Sec 7.0–7.1
Fri, 17 Apr
Energy and Motion
SHV Sec 7.2–7.3
Mon, 20 Apr
Dynamics Examples
SHV Sec 7.4
HW5 in, HW6 out (code)
Wed, 22 Apr
Properties of Robot Dynamics Equations
SHV Sec 7.5
Fri, 24 Apr
Newton-Euler Formulation
SHV Sec 7.6
Topic 11Force Control
Mon, 27 Apr
Coordinate Frames and Constraints
SHV Sec 9.0–9.1
Wed, 29 Apr
Network Models and Impedance
SHV Sec 9.2
Fri, 1 May
Task Space Dynamics and Control
SHV Sec 9.3
Topic 12Final Competition
Mon, 4 May
Competition on Baxter
HW6 in
Wed, 6 May
Review for final
Tue, 12 May 7pm
Final Exam

This document was translated from LATEX by HEVEA.