Localization of a mobile robot using RF information, important in indoor environments or other environments where GPS is not available but RF signals may be sensed. We were provided a dataÂ set consisting of RSSI information acquired from 4 fixed routers as a robot moves in an open (LoS) environment. The robot has two network cards, hence there are two different sensors for reading the RSSI information. The spreadsheets breaks this information out by timestamp and include an estimate of the robot’s location based on its odometer readings. In several cases there is an analytic computation of the robot’s actual location that compensates for drift in the odometer readings (this was computed by looking at the robot’s location on the floor). In some experiments the robot moves in a straight line, in others is does not. In some experiments the robot moves with constant velocity, in others it stops and pauses in spots. These motion patterns are evident in the data.
My approach was to ï¬t aÂ path loss model to the experimental Received Signal Strength Indicator (RSSI) data, obtain a maximum-likelihood (ML) position estimate by atomic multilateration with the four ï¬xed WiFi routers, and useÂ Kalman ï¬ltering to fuse the odometry measurements and ML RSSI estimates. Gnuplot was used to fit the experimental data to the path loss model using the least squares method and obtain the set of coefficients for each interface/router pair. A maximum-likelihood estimate was derived as the minimum mean squared estimate of a system of (N-1) equations, where there were N=4 routers in this scenario. MATLAB was used to perform these matrix computations. TheÂ objective of using Kalman filtering was to improve the robotâ€™s odometry-based location estimate (smooth but drifts as errors accumulate) using RSSI information (noisy but nearby actual position) acquired fromÂ the four ï¬xed WiFi routers. To use discrete-time Kalman filtering, I derived a model of the robot’s dynamics, approximating a two-dimensional continuous Wiener process acceleration model. We compared the results of sensor fusion at two-levels: measurement fusion (three RSSI measurements and odometry fused) and MLE fusion (RSSI-based MLE estimate was fused with odometry).
Cody completed this project independently as part of an advanced artificial intelligence course (receiving an A for the project) using a mixture of MATLAB, SQL (MySQL), shell scripting, awk, and gnuplot.