Skip to content

undergraduate phase-II thesis project: optimization of wireless_localization(phase-I) to run on embedded IoT devices.

Notifications You must be signed in to change notification settings

dmachinewhisperer/wireless_localization2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wireless Indoor Localization

Introduction

This repository contains the implementation of the wireless indoor localization system I presented in my undergraduate thesis project. This is an optimization of the work done in the phase 1 of the project (Here) to enable it run on resource contrained devices like microcontrollers.

Boards and Devices

End Device:

  • Target Board: ESP32-based microcontrollers
  • Development Board: ESP32-WROOM-32
  • Development Enviroment: ESP-IDF framework

Server:

  • Target Board: Any single-board-computer with wireless communication capabilities.(General purpose computers will do)
  • Development Board: Raspberry-Pi 3A+ model
  • Development Environment: vanilla python

Layout of the Repository

Offline Phase

  • calibration: This contains the application code for acquiring the digital map(fingerprints) and persisting the data in the offline phase of the localization by fingeprinting approach.

Online Phase

  • device: Contains the code for acquiring the real time fingerprints from the microcontroller and sending it to a localization engine at intervals.

  • server: Contains an implementation of Localization engine running on the server. The engine runs inference on the fingeprint sent by the device and returns an estimated real time location of the device.

Machine Learning Models

  • KNN-model: KNN algorithm code for deriving the KNN model used for localization

  • KNN-model(compressed): KNN-model optimized for microcontrollers.

On-device Inference

  • server-on-device: Optimized and minimalistic localization engine(based on theKNN-model(compressed)) to run inference on the same microcontroller where the fingerprint acquisition happens.

Getting Started

Each sub-project contains a detailed README on how to setup the project and its dependencies.

Prerequisites

  • An indoor setting with preexisting WAPs (wireless access point) infrastructure installed in a regular and predictable pattern.
  • If porting to another microcontroller, the basic requirements are Wi-Fi capabilities and support for RTOS. To avoid stackoverflow exception during runtime, the reccommended stack size for the task running the websocket server and scanning for avaiable WAPs is about 8192K.

Read the Thesis

Find the thesis Here

Read the Conference Paper

Find the Conference paper(available upon publication) Here

Contributing

Dependencies

This project depends on following components developed independently:

License

MIT License

Acknowledgments

Project Supervisor: Dr. T Nargajuna: ntelgram@gitam.in

About

undergraduate phase-II thesis project: optimization of wireless_localization(phase-I) to run on embedded IoT devices.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published