Autonomous Racing Research
I work on autonomous racing in xLAB with Professor Rahul Mangharam, and through the RoboRacer @ Penn Club, which I started. Most of that work falls into the three projects below.
RoboRacer-mini
RoboRacer-mini is a cheap autonomous race car that high schoolers and undergrads can learn on. I lead its development in xLAB, on both the hardware and the software.
- The car is a Waveshare PiRacer chassis with a Raspberry Pi and a front camera.
- The first software runs on Donkeycar. It follows lines and keeps lanes using HSV thresholds on the camera image.
- We compared it against the Lehigh E116, which carries a Jetson Orin Nano and an Intel RealSense and runs follow-the-gap through an AprilTag corridor.
RoboRacer Playground
roboracer-playground.vercel.app / GitHub
A web app for watching and tuning racing algorithms on the AutoDRIVE simulator while the car is driving.
- The browser talks to a ROS 2 Humble gateway over WebSocket, so you can change parameters mid-lap and see the effect right away.
- It goes from wall following and follow-the-gap up to RRT, RRT*, pure pursuit and kinematic MPC.
- To set up a track, you map it with slam_toolbox, optimize a raceline with CMA-ES (and drag it around by hand if you want), then localize with AMCL.
Reinforcement learning
I train PPO policies on the AutoDRIVE practice simulator, through the same ROS 2 bridge our race stack uses.
- Training runs on Stable-Baselines3 and Gymnasium.
- My first policy sees 180 LiDAR bins and picks from 25 discrete actions.
- The second sees 240 bins plus its last two actions, and picks throttle and steering separately.
- Checkpoints export to ONNX and TensorRT.