During my internship at Gen-9, we explored whether inexpensive MEMS sensors — accelerometers, gyroscopes, and magnetometers already found in everyday devices — could provide accurate indoor position tracking without relying on GPS, WiFi, or any external infrastructure.
The study involved mounting sensors on various platforms including a robot vacuum to evaluate localization feasibility, and developing machine learning classifiers (KNN, Naïve Bayes) to identify motion types from sensor feature vectors. The dead reckoning approach, combined with magnetic landmark detection and environmental constraints, yielded a patent-granted technique for indoor tracking.
Step through each stage of the indoor localization pipeline. Watch how raw sensor data is classified and integrated into position estimates, and see how drift correction improves accuracy.
Three MEMS sensors — accelerometer, gyroscope, and magnetometer — capture acceleration, rotation rate, and magnetic heading on all three axes at high frequency.
Raw sensor readings are normalized and fused. Statistical features — mean and standard deviation of normalized acceleration and gyroscope magnitude — are extracted over sliding windows to form compact feature vectors.
A K-Nearest Neighbors classifier assigns each feature vector to a motion category: stationary, walking, or turning. A regression model estimates velocity magnitude from the same features using Gaussian-weighted cluster distances.
Heading is derived from the magnetometer with gyroscope-assisted drift filtering. Combined with classified velocity, position is integrated step by step — dead reckoning — building a continuous path estimate.
Magnetic field extrema detection identifies landmark positions for recalibration. Environmental constraints — walls are straight, rooms have right angles — are enforced via a line-of-best-fit algorithm to correct accumulated drift.
Achieved indoor position tracking using only onboard MEMS sensors — accelerometer, gyroscope, and magnetometer — with no reliance on GPS, WiFi, or Bluetooth beacons.
Trained KNN and Naïve Bayes classifiers on normalized sensor feature vectors to distinguish between stationary, walking, running, and turning states with high accuracy.