Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Stanford University

CS 8802, Artificial Intelligence for Robotics: Programming a Robotic Car

Stanford University via Udacity

Overview

Learn how to program all the major systems of a robotic car from the leader of Google and Stanford's autonomous driving teams. This class will teach you basic methods in Artificial Intelligence, including: probabilistic inference, planning and search, localization, tracking 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.

This course is offered as part of the Georgia Tech Masters in Computer Science. The updated course includes a final project, where you must chase a runaway robot that is trying to escape!

Why Take This Course?

This course will teach you probabilistic inference, planning and search, localization, tracking and control, all with a focus on robotics.

At the end of the course, you will leverage what you learned by solving the problem of a runaway robot that you must chase and hunt down!

Prerequisites and Requirements

Success in this course requires some programming experience and some mathematical fluency.

Programming in this course is done in Python. We will use some basic object-oriented concepts to model robot motion and perception. If you don’t know Python but have experience with another language, you should be able to pick up the syntax fairly quickly. If you have no programming experience, you should consider taking Udacity’s Introduction to Computer Science course before attempting this one.

The math used will be centered on probability and linear algebra. You don’t need to be an expert in either, but some familiarity with concepts in probability (e.g. probabilities must add to one, conditional probability, and Bayes’ rule) will be extremely helpful. It is possible to learn these concepts during the course, but it will take more work. Knowledge of linear algebra, while helpful, is not required.

See the Technology Requirements for using Udacity.

Syllabus

Lesson 1: Localization
  • Localization
  • Total Probability
  • Uniform Distribution
  • Probability After Sense
  • Normalize Distribution
  • Phit and Pmiss
  • Sum of Probabilities
  • Sense Function
  • Exact Motion
  • Move Function
  • Bayes Rule
  • Theorem of Total Probability
Lesson 2: Kalman Filters
  • Gaussian Intro
  • Variance Comparison
  • Maximize Gaussian
  • Measurement and Motion
  • Parameter Update
  • New Mean Variance
  • Gaussian Motion
  • Kalman Filter Code
  • Kalman Prediction
  • Kalman Filter Design
  • Kalman Matrices
Lesson 3: Particle Filters
  • Slate Space
  • Belief Modality
  • Particle Filters
  • Using Robot Class
  • Robot World
  • Robot Particles
Lesson 4: Search
  • Motion Planning
  • Compute Cost
  • Optimal Path
  • First Search Program
  • Expansion Grid
  • Dynamic Programming
  • Computing Value
  • Optimal Policy
Lesson 5: PID Control
  • Robot Motion
  • Smoothing Algorithm
  • Path Smoothing
  • Zero Data Weight
  • Pid Control
  • Proportional Control
  • Implement P Controller
  • Oscillations
  • Pd Controller
  • Systematic Bias
  • Pid Implementation
  • Parameter Optimization
Lesson 6: SLAM (Simultaneous Localization and Mapping)
  • Localization
  • Planning
  • Segmented Ste
  • Fun with Parameters
  • SLAM
  • Graph SLAM
  • Implementing Constraints
  • Adding Landmarks
  • Matrix Modification
  • Untouched Fields
  • Landmark Position
  • Confident Measurements
  • Implementing SLAM
Runaway Robot Final Project

Taught by

Sebastian Thrun

Reviews

5.0 rating, based on 2 Class Central reviews

Start your review of CS 8802, Artificial Intelligence for Robotics: Programming a Robotic Car

  • Profile image for Kayemba Joel
    Kayemba Joel
    This course is good, and am in love with it. It teaches you how to program the car, robots which is very good.
  • Profile image for Maxime Leclerc
    Maxime Leclerc

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.