Ghost
Ghost was my attempt to combine my interests in racing and robotics. The goal was to create an RC car that can race around a track autonomously. The name comes from the ghost car feature in racing games. You can see some of the progress on Github and Medium.
The project is still ongoing in the background of my life, albeit very slowly.
Overview
Wheel encoder data gets fused with the IMU data through an Extended Kalman Filter to provide a dead-reckoning odometry estimate. The camera's role is to detect the curve of the road by extracting the lane edges. The road curvature is then compared to a map, and combined with the odometry estimate through a particle filter to produce a global estimate of the car's position and velocity. A pre determined path around the track is used, and the controller issues commands to the car based on it's current state, and the desired racing line to follow.
Hardware
Kyosho Stallion 1/10th scale electric on-road car
Intel NUC computer
Arduino Nano microcontroller
Waveshare wheel encoder (x4)
Phidgets Spatial 3/3/3 IMU
Pointgrey Blackfly camera