CS 4750/5750: Foundations of Robotics

Cornell University
Fall 2016
Location: Hollister Hall B14
MWF 3:35pm – 4:25pm (50 min)
4 credits

Course Staff

Rationale

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.

Course Aims and Outcomes

Aims:

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.

Learning Outcomes:

After this course, I will be able to:

Prerequisites

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

Optional Textbooks

These texts are not required, but can serve as useful references for different parts of the course.

Course Websites

Grading

Policies

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.

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.

Structure

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.

Calendar

Tentative schedule follows.


Date
Topic
Reading Due
Assignments
 
Wed, 24 Aug
Introduction and Overview, Robot Mechanisms
  
Topic 1Kinematics
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 2Dynamics
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 3Optimization
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 4Control
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 5Uncertainty
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.