GithubHelp home page GithubHelp logo

aybarskerem / oasltip Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 30.57 MB

Obstruction-Aware Signal-Loss-Tolerant Indoor Positioning (OASLTIP) Using Bluetooth Low Energy

License: MIT License

Python 98.20% Shell 1.80%
simulation bluetooth-low-energy bluetooth indoor-positioning wireless wireless-communication particle-filter resampling signal-processing tkinter

oasltip's Introduction

Obstruction-Aware Signal-Loss-Tolerant Indoor Positioning (OASLTIP) Using Bluetooth Low Energy

A wireless indoor positioning system that uses BLE signals.


1) CODE DESCRIPTION:

"OASLTIP.py" is the base code that includes all functionalities of the OASLTIP. This script includes whole OASLTIP algorithm and the OASLTIP simulation tool which simulates this algorithm visually.

The visuals in the thesis made adjusting some variables and lines of this base code. Comment out the lines in "OASLTIP.py" reading "Comment out" or uncomment the lines where it reads "Uncomment" to open more functionalities as mentioned in the corresponding commented out lines. Please search the code with these keywords ("Comment out" and "Uncomment") to see all the lines that can be commented out or can be added by uncommenting corresponding lines to utilize the algorithm with different parameters/setups.

The "OASLTIP.py" code, with the current parameter settings, do not take fingerprinting data into account since "UseFingerPrintingInOASLTIP" is False, simulates a single person walking in an indoor environment with random but valid movements (does not go out of map etc.), generates two blocks randomly on the map and places three places in the most useful positions as possible using k-means algorithm. The other parameters can be checked and modified in the code.

The utility functions used to draw and plot the figures/charts to show OASLTIP results can be found under "Utilities" folder. The content of this folder will be updated to reflect the changes made in the plots. Moreover, in "Utilities/realWorldEnvironment_Experiments" folder; the variation of "OASLTIP.py" which is used in a real world environment (an office) where the parameters are pre-set can be found if how the parameters of OASLTIP.py should be changed is not clear enough.

There are also automation scripts written in Bash, running the OASLTIP algorithm for various different setups by running each setup 20 times and then calculates the mean and standard deviation of all the errors. Afterwards, these scripts produce error line segments on bar charts. These scripts will hopefully be available in a month under "Utilities" folder in the coresponding folders depending on the experiment type. These scripts are only used for visualizing the errors of "OASLTIP" algorithm with bar charts for various different setups and has NO OTHER RELATION to the "OASLTIP" algorithm (these are separate scripts used locally to produce bar charts using OASLTIP and not a part of OASLTIP algorithm)

Please read the README files in Utilities and Utilities/realWorldEnvironment_Experiments folders for more clarification.

For any questions related to the code, please reach me out at [email protected].


2) CODE REQUIREMENTS:

  • Usage of Python2 is required (>=2.7)

  • Code is confirmed to run on Ubuntu 16.04 and 20.04.1.

  • The following libraries are required to run the code:

    • numpy
    • matplotlib.pyplot
    • tkinter (python-tk)
    • scipy
    • filterpy
    • sklearn
    • shapely
    • dvipng
  • The packages/libraries can be installed by running the commands below in terminal:

pip install numpy  
python -m pip install -U matplotlib  
sudo apt install python-tk  
python -m pip install -U scipy  
python -m pip install -U filterpy  
python -m pip install -U sklearn  
python -m pip install -U shapely  
sudo apt install dvipng texlive-latex-extra texlive-fonts-recommended  

oasltip's People

Contributors

aybarskerem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.