Roava

AI Localized RC Car

Machine Learning · Python · Raspberry Pi · Arduino

🤔 About The Project

Developed during my semester abroad at NTU, I built a Raspberry Pi and Arduino-based RC car to estimate real-time position. The system fuses WiFi RSSI, Bluetooth Low Energy, and spectral light sensor data to predict the car's location across a mapped indoor grid.

⚠️ The Problem

  • GPS is not reliable indoors, which requires an alternative approach that combines multiple sensor types to achieve accurate position estimation.

  • Real-world sensor data is noisy and limited, making it necessary to build synthetic data generation (GPR and GANs) before model training can begin

💡 Key Features

Multi-Modal Sensor Fusion — Combined Wi-Fi RSSI, BLE, and spectral light intensity data from a Raspberry Pi for richer, more robust position fingerprinting.

Data Augmentation Pipeline — Applied GPR and GAN-based synthesis (TabGAN, PointGAN) to expand ~400 real data points into 1,000+ training samples.

Three-Model Comparison — Built, trained, and evaluated kNN, Random Forest, and a custom Fusion Model, selecting the best performer based on RMSE metrics.

Hardware Integration — Assembled and programmed an Arduino smart car with Bluetooth control, rotary encoders, and a 9-axis IMU for consistent movement and orientation tracking.

🏆 Achievements

Built and deployed a full end-to-end indoor localization system — from raw sensor collection to real-time model inference on a physical robot. The Fusion Model (kNN + RF) achieved the lowest RMSE across all test conditions. Real-time testing surfaced meaningful insights around sensor noise and model bias, informing concrete directions for future improvement.

More Projects

ZCA
UCOP
Mariposa
AI Localization Car

Links

samgrace.lincoln@gmail.com

unsplash.com/@reddfrancisco