ESE 6150 — University of Pennsylvania
Building a fully autonomous F1Tenth racing car from scratch — sensors to speed, lab by lab.
RobotRacer Autonomous Racing Cars — ESE 6150, University of Pennsylvania
RobotRacer is a semester-long course built around the F1Tenth platform: a 1/10th-scale autonomous racing car equipped with a LiDAR, IMU, and onboard compute. The course runs as a progressive engineering challenge — each lab adds a new layer of autonomy, building from basic safety systems to a full racing stack capable of competing at speed on a closed circuit.
The course culminates in two events: a final race where teams compete head-to-head for fastest lap times, and a final project where teams implement a novel algorithm of their choice on the platform.
| Lab | Topic | What was built | Repo |
|---|---|---|---|
| Foundations | |||
| Lab 1 | Intro to ROS 2 | ROS 2 workspace setup, nodes, topics, services. Publisher/subscriber pipeline on the car. | Repo |
| Lab 2 | Automatic Emergency Braking | AEB system using iTTC (instantaneous Time-To-Collision) from LiDAR scan data — hard safety stop before collision. | Repo |
| Lab 3 | Wall Following | PID controller maintaining a fixed lateral distance from the track wall using LiDAR distance estimates. | Repo |
| Reactive Planning | |||
| Lab 4 | Follow the Gap | Reactive obstacle avoidance — finds the largest free gap in the LiDAR scan and steers toward its center. | Repo |
| Mapping & Global Planning | |||
| Lab 5 | SLAM & Pure Pursuit | Built a map of the track using SLAM, then implemented Pure Pursuit path tracking to drive a precomputed racing line. | Repo |
| Lab 6 | Motion Planning | RRT*-based local motion planner for obstacle avoidance on a mapped track — replanning on-the-fly around dynamic obstacles. | Repo |
| Perception & Predictive Control | |||
| Lab 7 | Vision Lab | Camera-based perception: lane/cone detection and integration of visual cues with the planning stack. | Repo |
| Lab 8 | Model Predictive Control | Replaced Pure Pursuit with a full MPC formulation — optimising over a receding horizon for minimum lap time while respecting track boundaries. | Repo |
| Competition | |||
| Final Race | Head-to-Head Race | Full racing stack optimised for speed and reliability. Team competed for fastest lap time on the live circuit. | Repo |
| Final Project | Custom Algorithm | Team-designed novel algorithm extending the core racing stack — implemented, evaluated, and presented at course end. | Repo |