Skip to content

zebrajack/DeepLocNet

 
 

Repository files navigation

Radio Inertial SLAM

This branch contains the Python Simulator for Radio-Inertial Localization with support for Pytorch, Keras and ROS. The MATLAB Simulator for the same can be found on the matlab branch of this repository. The requirements for running the simulator are as follows:

Requirements

  1. Python 3.6
  2. Tensorflow/Keras or Pytorch
  3. PyLayers

Installation

Install Anaconda 3 and proceed with installing Pylayers as per their manual. Once installed, copy and paste all the *.ini files from the assets/inis folder into the pylayers_project/ini/ directory created by the Pylayers installation script. The directory defaults to~/pylayers_project/ini/ on Ubuntu. Since pylayers can be tricky to setup, I've attached my anaconda environment in pylayers.yml. Commit 6bbd9c5 worked best for me.

Simulation

Maps

Several different environment maps have been created for testing out the implementation. Some of them are as attached below:

Defstr Layout

Map 1 Map 1 Coverage

Office Layout

Map 2 Map 2 Coverage

Home Layout

Map 3 Map 3 Coverage

2-Dimensional Environment

The blue path is the ground truth generated by the random walk algorithm, whereas the cyan one is the localized path. The red square specifies the goal location and the green square the start location. Actual positions of the access points are encoded in black, whereas those localized are encoded in red (only in Fast SLAM). The results shown below for 2D localization are in the office environment.

Experiment Algorithm Classifier Used (Y/N) Hard/Soft Classification (H/S) Localization MSE
1 Particle Filter N N/A 112.0796
2 Particle Filter Y H 9.2236
3 Particle Filter Y S 9.5589
4 Fast SLAM N N/A 139.1380
5 Fast SLAM Y H 5.8676
6 Fast SLAM Y S 5.2759

The images for all results can be found in the /assets/results/2D/ folder.The result for Fast SLAM using Hard Classification is as follows: Fast SLAM

3-Dimensional Environment

As in the previous case, the blue path is the ground truth generated by the random walk algorithm, whereas the cyan one is the localized path. Actual positions of the access points are encoded in black, whereas those localized are encoded in red (only in Fast SLAM). The results shown below for 3D localization are in the defstr environment.

Experiment Algorithm Classifier Used (Y/N) Hard/Soft Classification (H/S) Localization MSE
1 Particle Filter N N/A 134.8262
2 Particle Filter Y H 52.4851
3 Particle Filter Y S 55.9874
4 Fast SLAM N N/A 116.1535
5 Fast SLAM Y H 12.5777
6 Fast SLAM Y S 11.0179

The images for all results can be found in the /assets/results/3D/ folder.The result for Fast SLAM using Hard Classification is as follows: Fast SLAM

About

WiFi based Radio-Inertial Localization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 92.8%
  • Python 7.1%
  • Other 0.1%