CS 4752/5752 & MAE 4750/5750: Robotic Manipulation
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.
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.
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.
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.
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.
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.
Date Topic Reading Due Assignments Wed, 26 Aug Introduction and Overview Topic 1 Foundations 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 2 Rigid 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 Rotations 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 3 Forward 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 4 Velocity 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 Singularities SHV Sec 4.7–4.9 Proj1 in Mon, 5 Oct Applications of Jacobians SHV Sec 4.10–4.12 Topic 5 Motion 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 6 Dynamics 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 7 Grasping 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 8 Computer Vision Wed, 11 Nov Projective Geometry SHV Sec 11.0–11.2 Proj2 in Fri, 13 Nov Segmentation SHV Sec 11.3–11.4 Mon, 16 Nov Localization SHV Sec 11.5 Topic 9 Visual 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 Motion 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 12 Final Competition Mon, 14 Dec Competition on Baxter Thu, 17 Dec Final Report Due Proj3 in
This document was translated from LATEX by HEVEA.