See Cornell Chronicle's article on the Robot Learning class.
See the recent offering of the class
Time and Place
Lectures:
Tue, Thu: 2:55pm to 4:10pm
Place: Olin 165
Optional TA lectures (about every alternate week, details):
Friday: 2:30pm to 3:20pm, Olin 165
CS 6780 paper discussion:
Friday: 2:30-3:30pm in Olin 165. Dates: details (not conflicting with optional TA lectures).
Instructor
Ashutosh Saxena, asaxena @ cs.cornell.edu, 4159 Upson Hall.
Office Hours: Wed 1:30-2:30pm, Wednesday in Upson 4159 or by appointment.
TAs Office Hours Mark Verheggen mark at cs DOT cornell 4:15-5:15pm, Tuesday in Upson 328 B. Yue Gao ygao at cs DOT cornell 11:15am-12:15pm, Monday in Upson 328 B. Jonathan Diamond jmd242 at cornell 4:30pm-5:30pm, Monday and Thursday in 328 Upson. Send questions regarding the homeworks or course material to: cs4758.qa at gmail
Class email list: cs4758-l@cornell.edu. Students can subscribe by sending an email to cs4758-l-request@cornell.edu with the text 'join' in the body.
Syllabus
We study the problem of how an agent can learn to perceive its world well enough to act in it, to make reliable plans, and to learn from its own experience. The focus will be on algorithms and machine learning techniques for autonomous operation of robots. The course has a term project (teams with 2-3 students) involving physical robots.
Topics include:
- Robot survival kit (kinematics, statistics, ROS robot programming, sensors/circuits)
- Filtering and state estimation (Kalman filters, particle filters)
- Learning (markov decision process, HMM, supervised learning)
- Perception (basic computer vision, sensors and sensing algorithms)
- Control (PD controllers, reinforcement learning and control)
- Others (basic path planning)
For CS 6758 (the PhD-level version), you would have to do fewer homeworks, but read a few research papers. (CS 4758 is also cross-listed as ECE 4758 and MAE 4758.)
Pre-requisites
Students are expected to have the following background:
- 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.) Knowledge of C/C++/C# is not a pre-requisite, but it is strongly desirable.
- A course in probability/statistics (e.g. CS 2800, ECE 2200, ECE 3100, or ENGRD 2700 or equivalent).
- Familiarity with the basic linear algebra. (E.g., MATH 2210 is sufficient but not necessary.) Strong mathematical skills are required in this course.
- A course in Artificial Intelligence or Robotics is desirable, but not essential.
- Motivation and patience to hack for long hours.
If you're not clear if you satisfy the pre-reqs, please contact the instructor. Masters students are also encouraged to take the course, but they should contact the instructor about pre-requisites.
Grading
This is a 4-credit course (letter/S-U). There will be a few written homeworks, one midterm, and one major open-ended term project. The homeworks will contain written questions and questions that require some programming. In the term project (details here), you will do a project of your choice (or one in the Robot Learning lab).
CS 4758
Max 24 hrs late day with 25% penalty. |
CS 6758
|
Upto 5% bonus credit may be awarded for class participation.
Grading will be done separately for 4758 and 6758 versions of the course.
Course Materials
There is no required text for this course. Lecture notes will be posted periodically on the course website. The following books are recommended as optional reading.
Autonomous Mobile Robots. Siegwart and Nourbakhsh. The MIT Press, 2004. (specially recommended for students with no experience in robotics)
Probabilistic Robotics. Thrun, Burgard and Fox. The MIT Press, 2006. (specially recommended for CS 6758 version)
Machine Learning, Tom Mitchell, McGraw Hill, 1997. (Its recommended that you follow lecture notes instead of this book...)
Pattern Recognition and Machine Learning, Bishop. (Advanced Machine Learning for CS 6758 students.)
Course handouts and other materials can be downloaded
from here.
- Academic Integrity
- This course follows the Cornell University Code of Academic Integrity. Each student in this course is expected to abide by the Cornell University Code of Academic Integrity. Any work submitted by a student in this course for academic credit will be the student's own work. Violations of the rules (e.g., cheating, copying, non-approved collaborations) will not be tolerated.