CS 7638: Artificial Intelligence for Robotics

Instructional Team

Sebastian Thrun

Sebastian Thrun
Creator, Instructor

Jay Summet
Instructor, Senior Lecturer

Overview

In Artificial Intelligence for Robotics, learn from Sebastian Thrun, the leader of Google and Stanford's autonomous driving team, how to program all the major systems of a robotic car. This class will teach students basic methods in Artificial Intelligence, including probabilistic inference, planning and search, localization, tracking, mapping and control, all with a focus on robotics. Extensive programming examples and assignments will apply these methods in the context of building self-driving cars and autonomous vehicles.  

Students will be expected to complete six problem sets and multiple projects that apply the methods learned in this class.

This course counts towards the following specialization(s):
Computational Perception and Robotics

Foundational Course          Computational Perception & Robotics Specialization Elective

Course Goals

Upon successfully completing this course, you will be able to:

  • Implement filters (including Kalman and particle filters) in order to localize moving objects whose locations are subject to noise.
  • Implement search algorithms (including A*) to plan the shortest path from one point to another subject to costs on different types of movement.
  • Implement PID controls to smoothly correct an autonomous robot’s course.
  • Implement a SLAM algorithm for a robot moving in at least two dimensions.

Preview

Course Overview

Sample Lesson

Sample Syllabus

Fall 2019 syllabus and schedule (PDF)

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Before Taking This Class...

Suggested Background Knowledge

Students should know Python or have enough experience with other languages to pick up what they need on their own. Check out Udacity's Introductory CS class (in Python) if you'd like some review. Students should also have strong knowledge of probability and linear algebra (see Prof. Thrun's free Udacity course on statistics).

For prospective students who are unsure if their computer science experience provides sufficient background for this course, the questions below will help gauge preparedness. If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of this material prior to taking CS 7638:

  1. Do you have programming experience, preferably in Python?
  2. Do you have a strong understanding of linear algebra (undergraduate level)?
  3. Do you have a strong understanding of probability (undergraduate level)?
  4. Have you taken any courses (either from your undergraduate studies or MOOCs) in machine learning, computer vision, or robotics?
Technical Requirements and Software
  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 11 or Edge. 2+ Mbps connection speed is recommended.
  • Python (version 3.6 or above) development environment
  • Operating system:
    • PC: Windows 8 or higher with latest updates installed
    • Mac: OS X 10.12 or higher with latest updates installed
    • Linux: any recent distribution that has the supported browsers installed

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.