https://github.com/aaronjs99/colonet

CoLoNet: Collaborative Localization in Wireless Sensor Networks

https://github.com/aaronjs99/colonet

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

collaborative-sensing localization matplotlib python sensor-fusion trilateration wireless-sensor-networks
Last synced: 6 months ago · JSON representation

Repository

CoLoNet: Collaborative Localization in Wireless Sensor Networks

Basic Info
  • Host: GitHub
  • Owner: aaronjs99
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 86.9 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
collaborative-sensing localization matplotlib python sensor-fusion trilateration wireless-sensor-networks
Created about 5 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

CoLoNet: Collaborative Localization in Wireless Sensor Networks

Python License Build Platform

CoLoNet simulates how mobile wireless sensors can localize themselves more accurately by talking to each other. Using geometric uncertainty models and neighbor-based trilateration, it shows how inter-tag links can reduce localization error—especially when fixed anchors are few and far between.

Project Structure

colonet/ ├── assets/ ├── results/ ├── main.py # Core simulation and visualization ├── report.pdf # Technical documentation ├── presentation.pdf # Presentation slides ├── README.md ├── LICENSE └── .gitignore

Features

  • Mobile + fixed sensor modeling with configurable sensing radii
  • Real-time uncertainty visualization using matplotlib
  • Neighbor-based updates with optional tag-to-tag communication
  • Custom coordinate and sensor classes with basic physics support
  • Simulation toggle for enabling/disabling tag links

Getting Started

Dependencies

This project requires Python 3.9+ and the following packages:

bash pip install numpy matplotlib pillow imageio[ffmpeg]

Run the Simulation

bash python main.py

This will launch a fullscreen live simulation showing: - Fixed anchors (colored ×) - Mobile tags (colored circles) - Dynamic links (anchor–tag, tag–tag) - Marker size ∝ uncertainty

Output Snapshots

| Without Tag Links | With Tag Links | |-------------------|----------------| | | |

The presence of inter-tag communication prevents uncertainty divergence over time.

Sample Output Video

Each simulation produces a sim.mp4 video showing localization evolution over time.

| Mode | Example Video | |-------------------|-------------------------| | No Tag Comm | results/notagcomm/sim.mp4 | | With Tag Comm | results/tagcomm/sim.mp4 |

Configuration

Edit the following parameters directly in main.py:

python tagcomm = True # Enable/disable tag-to-tag communication final_time = 10 # Total simulation time in seconds sensing_radius = 7 # Sensor range in meters timestep = 0.1 # Timestep in seconds

Applications

  • Wildlife localization and monitoring
  • Ad hoc sensor networks in urban environments
  • Low-power distributed positioning systems
  • Indoor GPS-denied navigation

Project Context

Developed as part of the course project for EE 617: Sensors in Instrumentation at IIT Bombay.

Author:
Aaron John Sabu
Department of Electrical Engineering
Indian Institute of Technology Bombay

License

MIT License © 2020
Indian Institute of Technology Bombay

Owner

  • Name: Aaron John Sabu
  • Login: aaronjs99
  • Kind: user
  • Location: Los Angeles, California
  • Company: University of California Los Angeles

Mechanical and Aerospace Engineering PhD Candidate | Class of 2027 (hopefully)

GitHub Events

Total
Last Year