Principles of Robot Autonomy I


Stanford School of Engineering

Aeronautics and Astronautics: Principles of Robotic Autonomy I


This course will cover the basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. You will learn algorithmic approaches for robot perception, localization, and simultaneous localization and mapping as well as the control of non-linear systems, learning-based control, and robot motion planning. The course will provide an introduction to methodologies for reasoning under uncertainty and will include extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities.

Please note that this course is cross listed with CS237A.

What you will learn

  • A fundamental knowledge of the autonomy stack behind self-driving cars, drones, and mobile autonomous robots
  • How to apply such knowledge to applications and research work using ROS
  • How to devise novel methods and algorithms for robot autonomy


A conferred Bachelor’s degree with an undergraduate GPA of 3.5 or better.

CS 106A or equivalent; college calculus, linear algebra; basic probability and statistics.

Please take this pre-knowledge assessment from Fall 2020. If you find these questions difficult, you will likely find this class challenging. (Solutions.)

Topics include

  • Motion control
  • Perception, from classic to deep learning approaches
  • Localization and SLAM
  • Planning, decision making, and system architecture


Course Availability

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate education section.

Thank you for your interest. No sections are available. Please click the button below to receive an email when the course becomes available again.

Notify Me