Our fun and informative lectures walk you through all the steps to get your car moving, driving straight, making turns and taking loops. This gets you to the baseline autonomous operation of the vehicle. The course takes 2-3 weeks and then you are ready to build on top of the software to win the race. No prior knowledge is assumed and this is a course meant to make autonomous systems available and accessible. Ask questions on the Forum.

Practice Session 1: Learning the Basics


1.1: Course Overview

Introduces the course and F1 race format

1.2: Getting Started

Introduces the car, sensors, and system architecture

1.3: Introduction to ROS

Introduces ROS, or the Robot Operating System


0: Installing ROS

Learn how to install ROS

1: Basics of ROS Part 1

Learn some basic commands for the robot operating system

2: Basics of ROS Part 2

Continue to learn basic commands for ROS

3: Jetson Setup

Learn how to configure the Jetson, which is the Nvidia board controlling the car

4: Wireless Network Setup

Learn how to set up the connection between the Jetson and laptop

5: Sensor Configuration

Learn how to setup the LiDAR and IMU and connect them to the Jetson

Extra Tutorial - Configuring the Hokoyu UST 10LX

Learn how to connect an ethernet-powered LiDAR module

Lab Exercise: Keyboard Control


Lecture 1 completed


The point of this first lab is to make sure you have setup your car correctly to the point where you can send it commands manually from your keyboard, and it will execute them. This will show you that the car runs (always a good thing) and that the wireless network for communicating with the car is correctly setup.

In addition to it being a basic check, keyboard controls will allow you to drive the car around and collect data through the sensors in Week 2. Once this data is acquired, you can test your perception and control algorithms on this data first, before deploying them on the car.

Extra Credit

Add a piece of code that will run on the car, and checks regularly for the state of the network. If the network’s status is poor (i.e. bad connection) then it issues a STOP command. At this point you haven’t yet learned how to add your own code to the Jetson and so your code won’t run on the car itself. But you will next week, and this is something you can develop and run on your own computer.

Practice Session 2: Sensing and Control


2.1: Sensors

Learn how to use sensors to perceive, plan, and then control the car

2.2: Localization

Learn how to find the current position of the car

2.3: PID Control

Learn about PID (Proportional, Integrral, Derivative) Control


6: Distance Finder and PID Control

Apply what you have learned to use LiDAR to make the car travel parallel to a wall

Lab Exercise: Driving Straight


Lecture 2 completed

Practice Session 3: Mapping and Localization


3.1: Rigid Body Transformations

Learn how to use Rigid Body Transforms to correlate data from different sensors

3.2: Hector Mapping - Simultaneous Localization and Mapping

Generate a map of the track and then making race line decisions

3.3: Adaptive Monte Carlo Localization

Correcting for the drawbacks of both Hector and Wheel odometry using Monte Carlo localization


7: Code Walkthrough Tutorial

Learn how to use Hector SLAM