Autonomous Heat-Seeking Bot



Engineering a Reliable System
This project documents the design, development, and deployment of an autonomous mobile robot capable of exploring an unknown indoor maze, identifying heat sources, and launching a projectile at them using a dual-flywheel mechanism.
Inspired by real-world thermal response scenarios (disaster rescue), the bot was designed for full autonomous functionality.
Our Robot
Final navitgation run at 4x speed
🔧 Key Features
-
ROS2-based Modular System Leverages Nav2 for exploration, MPPI for local control, and custom Python logic for mission flow.
-
Thermal Detection & Localization Dual AMG8833 sensors fused with LIDAR to precisely locate and track heat sources.
-
Autonomous Target Engagement Flywheel launcher actuated at runtime using servo-driven rack-and-pinion feed.
-
Real-Time Decision Logic FSM architecture using multi-threaded execution (fast sensor loop + slow decision loop).
System Overview
Each subsystem is orchestrated via a centralized GlobalController
node:
- State-driven transitions (Exploration → Goal Nav → Launching)
- IMU-based ramp detection & hazard avoidance
- Heat clustering via KMeans
- Visualization via RViz Markers
🚀 Mission Pipeline
- Mapping: Navigate maze autonomously using LIDAR + SLAM.
- Heat Detection: Thermal data processed & filtered to detect anomalies.
- Localization: LIDAR returns from angular bins are fused with robot pose to get (x, y) coordinates.
- Clustering: KMeans clustering reduces noise and sets launch targets.
- Engagement: Robot drives to each heat source, aligns, and fires.
📎 Project Links
What I Learned
- The Art of building complex systems - With more moving parts, rate of failure grows exponentially
- Multi-threaded execution in ROS2
- LIDAR and thermal IR