Scroll to zoom · Drag to pan
100%
RAS 598 · Mobile Robotics · Arizona State University · Spring 2026

Autonomous Frontier
Exploration & Hazard
Mapping

A TurtleBot4 Lite that explores unknown environments, builds real-time maps, and detects semantic hazards — fully autonomous, zero human input.

5Custom ROS 2 Nodes
13HAZMAT Classes
360°LiDAR Coverage
0.35 m/sMax Speed
<100msHazard Detection
Scroll
What we built & why

A robot that
sees danger
before humans do

We built an autonomous ground robot capable of navigating entirely unknown indoor environments — no pre-loaded maps, no human guidance. It simultaneously maps its surroundings using SLAM, decides where to explore next using frontier-based planning, and detects semantic hazards including HAZMAT signs, fire, cliffs, and narrow corridors using a five-layer sensor fusion pipeline.

The motivation is search-and-rescue and industrial inspection — environments too dangerous for immediate human entry. The robot generates a complete annotated map so first responders know exactly what they're walking into before they enter.

🗺️
SLAM Toolbox
async_slam_toolbox · 0.05m/cell
🔍
Frontier Explorer
Nearest-first wavefront · PoseArray
🧠
Behavior Coordinator
6-state FSM · proximity lock 3m
🚗
Navigation Planner
A* costmap · P-controller
⚠️
Hazard Classifier
DeepHAZMAT + YOLOv5 + LiDAR
Project Progress

Three milestones.
One complete system.

From architecture proposal to scientific dossier — every deliverable completed across Spring 2026.

March 6, 2026 · 5% weight
Milestone 1
Proposal & Architecture
Complete

Read Milestone 1 →
April 15, 2026 · 10% weight
Milestone 2
Mid-Point Technical Proof
Complete

Read Milestone 2 →
May 8, 2026 · 15% weight
Milestone 3
Final Scientific Dossier
Complete

Read Milestone 3 →
Final Demo

See it run.
Fully autonomous.

The complete Milestone 3 demonstration — live SLAM mapping, frontier selection, A* navigation, and semantic hazard detection on the TurtleBot4 Lite. Zero human input.

Exploration_Demo.mp4 · Milestone 3 · Spring 2026 Full Dossier →
System Architecture

The full pipeline,
visualised.

End-to-end Mermaid diagram of every ROS 2 node, topic, and data flow — from raw sensor input to annotated hazard map output.

Final system architecture Mermaid diagram

mermaid_Final.png · Full ROS 2 node & topic graph · Click to zoom

The Team

Group 1 — ASU RAS 598

Three engineers building autonomous robots from the ground up.

P
Princess Colon
pcolon@asu.edu
Navigation & Frontier Planning
Built the custom A* navigation planner, frontier explorer with wavefront scoring, behavior coordinator FSM, and costmap. Owns the complete navigation stack and real hardware integration.
A* PlannerFrontier ExplorerBehavior FSMLaunch Files
M
Manjunath Kondamu
mkondamu@asu.edu
Perception, Hazard Detection & Website
Built the 5-layer semantic hazard classifier integrating DeepHAZMAT, YOLOv5 fire detection, HSV vision, depth analysis, and LiDAR sector analysis. Designed and built the complete project website (M1–M3). Fixed the Gazebo simulation LiDAR bug (Ogre2 renderer fix).
DeepHAZMATYOLOv5Hazard ClassifyWebsite Design
R
Rohit Mane
rmane2@asu.edu
System Integration & Hardware
Authored the mathematical documentation and ethical impact statement. Provided validation support during real robot testing. Contributed to project documentation and reporting.
Math DocsEthicsDocumentationValidation
Source Code

Five custom nodes.
Every line authored.

All code is open source and fully traceable to individual authors via git log.

frontier_explorer_node.py
Frontier detection, flood-fill clustering, nearest-first wavefront scoring. score = 1/(dist + ε)
View on GitHub →
navigation_planner.py
Custom Nav2 replacement. A* on costmap, swept-corridor pruning, P-controller drive loop.
View on GitHub →
semantic_hazard_classifier_node.py
5-layer hazard detection. DeepHAZMAT + YOLOv5 + HSV + depth + LiDAR. Threaded YOLO at 1Hz.
View on GitHub →
behavior_coordinator_node.py
6-state FSM, proximity lock 3.0m, frontier stability, blacklisting, E-stop handling.
View on GitHub →
scan_relay_node.py
Simulation frame_id fix. Republishes /scan→/scan_fixed for SLAM toolbox compatibility.
View on GitHub →
exploration.launch.py
Unified launch: SLAM + all 4 nodes + RViz2. use_sim_time flag for sim/hardware switching.
View on GitHub →
GitHub Activity

Built in the open.

Commits
Pull Requests
Branches
Stars
Forks
Issues
Recent Commits
SHAAuthorDateMessageDownload
Loading…