CS 4752/CS 5752/MAE 4750: 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 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.
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.
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.
Date Topic Reading Due Homework Wed, 21 Jan Introduction and Overview Topic 1 Foundations 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 2 Rigid Motions and Homogeneous Transformations Fri, 30 Jan Rigid Body Motion SHV Sec 2.1–2.2 Mon, 2 Feb Rotations 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 3 Forward 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 4 Velocity 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 Singularities SHV Sec 4.7–4.9 Mon, 2 Mar Applications of Jacobians SHV Sec 4.10–4.12 HW3 in, HW4 out (written) Topic 5 Grasping Wed, 4 Mar Grasping – Guest Lecture Handbook of Robotics (TBD) Topic 6 Motion 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 7 Independent 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 8 Computer Vision Mon, 23 Mar Projective Geometry SHV Sec 11.0–11.2 Wed, 25 Mar Segmentation SHV Sec 11.3–11.4 HW5 out (code) Fri, 27 Mar Localization 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 9 Visual 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 Motion SHV Sec 12.5–12.7 Topic 10 Dynamics 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 11 Force 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 12 Final Competition Mon, 4 May Competition on Baxter HW6 in Wrap-Up Wed, 6 May Review for final Tue, 12 May 7pm Final Exam
This document was translated from LATEX by HEVEA.