Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resku Logo

RESKU

Safety in Seconds.

An open-source emergency-response hardware module that fuses LiDAR SLAM mapping and lightweight thermal sensing — giving firefighters real-time spatial intelligence where human vision is completely blind.

Status License Platform LCPS DSAI

Website · Hardware Spec · Software Stack · Getting Started · Contributing


The Problem

Every year, firefighters are injured or killed not by fire itself — but by disorientation. Smoke, heat, and structural collapse reduce visibility to zero within seconds. Crews navigate lethal environments on intuition alone, with no real-time map, no victim location data, and no hazard awareness.

Commercial mapping solutions exist. They cost tens of thousands of dollars and require specialized training. Most departments never get them.

Resku is the alternative. A compact, open-source sensor module built on commodity hardware — under $200 to assemble — that provides real-time 2D SLAM mapping, thermal victim detection, and structural hazard flagging for any firefighter, anywhere.


What It Does

Capability Description
🗺️ Instant Mapping Continuous 360° LiDAR sweeps build a live geometric map of room boundaries, doorways, and corridors in real time
🔥 Victim Tracking Lightweight thermal imaging isolates human body-heat signatures against fire, smoke, and debris
⚠️ Hazard Flagging Dynamic obstacle detection flags structural instabilities, blocked exits, and movement anomalies before crews encounter them

Hardware

Resku runs on components available at any electronics retailer. No proprietary parts, no vendor lock-in.

Component Model Role
Compute Core Raspberry Pi 4 Model B (4 GB) SLAM runtime · sensor I/O · map output
LiDAR RPLIDAR A1M8 360° sweep · 5.5 Hz · 12 m range
Thermal Array MLX90640 (I²C) 32×24 px thermal frame · victim detection
IMU MPU-6050 (I²C) 6-DOF gyroscope + accelerometer · odometry correction
Barometer BMP280 (I²C) Ambient temp/pressure logging
Power USB-C 5V/3A or LiPo HAT Field-portable operation

Estimated BOM cost: < $200 USD


Software

resku/
├── slam/           # 2D SLAM engine (EKF + occupancy grid)
├── drivers/        # LiDAR, thermal, and IMU sensor drivers
├── fusion/         # Sensor fusion pipeline
├── mapping/        # Map rendering and PGM/PNG export
└── web/            # Site source (index.html, style.css, script.js)
Layer Library / Tool Notes
SLAM Engine Hector SLAM / custom EKF 2D occupancy grid mapping
LiDAR Driver rplidar-python Slamtec SDK wrapper
Thermal Driver smbus2 + custom MLX90640 lib 32×24 frame at 4 Hz
IMU Fusion mpu6050-raspberrypi Complementary filter
Map Output PGM / PNG via Pillow Compatible with ROS map_server
Runtime Python 3.11 · asyncio Non-blocking sensor loop

Getting Started

Prerequisites

  • Raspberry Pi 4 Model B with Raspberry Pi OS Lite (64-bit)
  • RPLIDAR A1M8 connected via USB
  • MLX90640 and MPU-6050 on I²C bus
  • Python 3.11+

Install

git clone https://github.com/LetsResku/resku.git
cd resku
pip install -r requirements.txt

Enable I²C

sudo raspi-config  # Interface Options → I2C → Enable
sudo reboot
i2cdetect -y 1    # Verify sensors at 0x33 (MLX90640) and 0x68 (MPU-6050)

Run

python3 main.py

The module begins scanning immediately. Live map output is written to /var/resku/live.pgm and updated at each scan cycle.


How SLAM Works

Resku uses Simultaneous Localization and Mapping (SLAM) to build a spatial map of its surroundings while tracking its own position — no GPS, no prior floor plan required.

1. SCAN    → LiDAR emits 360° laser pulses, measuring distance to every surface
2. MATCH   → New scan is compared to the current map using ICP (Iterative Closest Point)
3. UPDATE  → Occupancy grid is updated; EKF corrects positional drift using IMU data

The result is a continuously-refined geometric map of the environment, rendered in real time regardless of smoke, dust, or darkness.


Contributing

Resku welcomes contributions from robotics engineers, embedded developers, firefighters, and anyone who wants to help. The hardware is accessible, the software is open, and the problem is real.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'Add your feature')
  4. Push and open a Pull Request

For major changes, please open an issue first to discuss what you'd like to change.


License

MIT License — free to use, fork, modify, and distribute. See LICENSE for details.


Built by students at LCPS DSAI · Loudoun County Public Schools · Data Science & AI Program

github.com/LetsResku

Releases

Packages

Contributors

Languages