
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.





