Welcome to CS237A!

AA 274a / CS 237A / EE 260A

Principles of Robot Autonomy I

Fall 2025

Course Description

This course will cover basic principles for endowing mobile autonomous robots with planning, perception, and decision-making capabilities. Algorithmic approaches for trajectory optimization; robot motion planning; robot perception, localization, and simultaneous localization and mapping (SLAM); state machines. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. Prerequisites: CS 106A or equivalent, CME 100 or equivalent (for calculus, linear algebra), and CME 106 or equivalent (for probability theory).

Lecture Times

Tue, Thu 1:30 PM - 2:50 PM at Skilling Auditorium

Students are expected to attend one 2-hour section each week. Details about lab signups will be posted Week 2.

Office Hours

📚 CA Office Hour Schedule
If you're having trouble with ROS/UTM or your personal machine, you are welcome to use the Skilling Lab computers during any office hours or any lab section to complete your homework. For missing labs, please attend office hours to make up the lab and get checked off.

For urgent questions, email the staff mailing list at cs237a-aut2526-staff@lists.stanford.edu

Resources

Exams

Exams for this course will be in a take-home format. The midterm exam will be a take-home given in Week 6 of the course (details on distribution and submission times will be announced in lecture). The exam will be open for a 48 hour period, in which a 5 hour window can be used to take the exam. The Final exam, also a take-home, will be sent out on the first day of finals week, and due at the end of the official scheduled final time on Gradescope (Tuesday December 9, at 6:30 PM PST).

Course Grade Calculation

  • 20% – Homeworks (5 × 4% each)
  • 40% – Sections (8 × 5% each)
  • 15% – Midterm
  • 25% – Final

Tentative Schedule

Date Topic Homework Lab
09/23Course overview, perception-action loop, mapsLab 0: Install ROS
09/25Maps, Robot geometry, Coordinate frames and SE(2)/SE(3) transformsHW1 out
09/30Collision, C-space, motion models. Path planning I: A*Lab 1: Command line, Git, Python
10/02Path planning II: RRT, RRT*
10/07Trajectory optimizationHW1 due, HW2 outLab 2: ROS basics
10/09Trajectory following: PID, LQR, gain scheduled LQR
10/14Robotic sensors: IMU, lidar, cameras, RGB-D. Point clouds & ICPLab 3: RViz, Turtlebot
10/16Pinhole camera models, camera calibrationHW2 due, HW3 Out
10/21Structure from Motion (SfM), features, RANSACLab 4: Heading controller
10/23Learning based perception, semantic perception
10/28SLAM intro, factor graphs, PGOHW3 dueLab 5: Nav to goal
10/29Midterm: 48 hour windowMidterm out
10/30Pose graph opt, bundle adjustment
10/31Midterm: 48 hour window windowMidterm due
11/04No Lecture (Democracy Day)HW4 out
11/06Bayes Rule, RVs, Occ. mapping (Recorded Lecture, Mac traveling)
11/11Occ, mapping, frontier explorationLab 6: Object detection
11/13Gaussian RVs, Kalman Filtering, EKF, UKFHW4 due, HW5 out
11/18Particle Filtering, Monte Carlo localizationLab 7: Frontier exploration
11/20Guest Lecture
11/25No lecture (Thanksgiving)
11/27No lecture (Thanksgiving)
12/02EKF Localization, obj trackingHW5 dueLab 8: Makeup
12/04Advanced Topics: Imitation learning, VLAs, 3DGS for sim2real, world models
12/0748 hour window take home final startFinal Exam out, 6:30pm
12/0948 hour window take home final startFinal Exam due, 6:30pm

Follow this link to access the course website for the previous edition of Principle of Robot Autonomy I, Fall 2024.