CS 4750/5750: Foundations of Robotics
Cornell University |
Robotics as an application draws from many different fields and allows automation of products as diverse as cars, vacuum cleaners, and factories. This course is a challenging introduction to basic computational concepts used broadly in robotics. Topics include simulation, kinematics, dynamics, control, optimization, and probabilistic inference. The mathematical basis of each area is emphasized, and concepts are motivated using common robotics applications and programming exercises. Students will participate in a series of projects over the course of the semester, in which they will implement algorithms that apply each of the topics discussed in class to real robotics problems. This course prepares students to take CS 4752/MAE 4750: Robotic Manipulation and MAE 4180/CS 3758: Autonomous Mobile Robots, among others.
By the end of this course, I will understand the basic concepts and theory governing the programming of robots that perform autonomous tasks such as navigation and manipulation.
After this course, I will be able to:
(MATH 1920 or MATH 2220) and MATH 2940 and CS 1110 or permission of instructor. That is, multivariable calculus, linear algebra, and introduction to computing.
These texts are not required, but can serve as useful references for different parts of the course.
Regrades: Regrade requests will be handled through 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.
Collaboration: Written homeworks and projects 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 and coding homeworks. No student should ever see another’s solution. Solutions that are too similar may trigger an academic integrity hearing. 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.
This course is taught as a standard lecture. Lecture notes are distributed on the website in advance of the class, and 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 will comprise lecture and synthesis of information, with some discussion. In addition, homework assignments comprise a mixture of written response and algorithm implementation on a simulated mobile manipulator robot.
Tentative schedule follows.
Date | Topic | Reading Due | Assignments |
Wed, 24 Aug | Introduction and Overview, Robot Mechanisms | ||
Topic 1 | Kinematics | ||
Fri, 26 Aug | Rigid Body Motion | - | |
Mon, 29 Aug | Rotations and Rotation Parameterizations | - | |
Wed, 31 Aug | Rigid Bodies and Homogeneous Transforms | -
| - |
Fri, 2 Sep | Kinematic Chains and Mobile Robot Kinematics | - | - |
Mon, 5 Sep | No class – Labor Day | ||
Wed, 7 Sep | Inverse Kinematics | - | |
Fri, 9 Sep | Linear and Angular Velocities, Moving Coordinate Frames, Skew-symmetric Matrices | - | |
Mon, 12 Sep | The Jacobian | - | |
Topic 2 | Dynamics | ||
Wed, 14 Sep | Statics | - | |
Fri, 16 Sep | Moments, Ficticious Forces, Accelerations | - | |
Mon, 19 Sep | Modeling Forces, Free Body Diagrams | - | |
Wed, 21 Sep | Kinetic and Potential Energy | - | |
Fri, 23 Sep | Euler-Lagrange | - | - |
Mon, 26 Sep | Inverse Dynamics | - | |
Topic 3 | Optimization | ||
Wed, 28 Sep | Basics: Gradients, Critical Points | - | - |
Fri, 30 Sep | Iterative Methods (Newton’s Method, Gradient Descent) | - | - |
Mon, 3 Oct | Iterative Methods | - | |
Wed, 5 Oct | Iterative Methods | - | |
Fri, 7 Oct | Linear Programming | - | - |
Mon, 10 Oct | No class – Fall Break | ||
Wed, 12 Oct | Linear Programming | - | |
Fri, 14 Oct | Linear Programming | - | |
Mon, 17 Oct | Review for prelim | ||
Wed, 19 Oct | In-class prelim | ||
Topic 4 | Control | ||
Fri, 21 Oct | Principles of Control Design | - | |
Mon, 24 Oct | State Space Control | - | |
Wed, 26 Oct | PID Control | - | - |
Fri, 28 Oct | Linear Quadratic Regulators | - | |
Mon, 31 Oct | Linear Quadratic Regulators | - | |
Wed, 2 Nov | Stability | - | |
Fri, 4 Nov | Topic TBA | - | |
Topic 5 | Uncertainty | ||
Mon, 7 Nov | Nondeterminism vs. Stochasticity, Law of Large Numbers | - | - |
Wed, 9 Nov | Events. Observations, Frequentist vs. Bayesian | - | - |
Fri, 11 Nov | Conditional probabilities, marginal and joint distributions | - | |
Mon, 14 Nov | Statistical Moments, Covariance | - | |
Wed, 16 Nov | Bayes Rule | - | |
Fri, 18 Nov | Markov Assumption, Markov Chains | - | |
Mon, 20 Nov | Entropy | - | - |
Wed, 23 Nov | No class – Thanksgiving Break | ||
Fri, 25 Nov | No class – Thanksgiving Break | ||
Mon, 28 Nov | Topic TBA | ||
Wed, 30 Nov | Topic TBA | ||
Fri, 2 Dec | Review for final exam | ||
Day, TBA Dec | Final Exam | ||
This document was translated from LATEX by HEVEA.