Frontier Exploration Robot

Overview

This project aims to develop an autonomous frontier exploring robot capable of navigating through obstacles and creating an accurate 2D map of unexplored environments. The system utilizes BFS-based frontier cell clustering and centroid selection to determine goals, which are then processed by the Nav2 stack for autonomous navigation. Real-time map visualization is handled via RViz2, allowing for a seamless transition from simulated environments to real-world hardware.

Approach

  • We began by learning the fundamentals of ROS 2 using the Turtlesim package, focusing on publishers, subscribers, services, and actions.
  • Using these basics, we implemented custom nodes for the turtle, including Spiral Trajectory, N-Sided Polygon, and Go To Goal logic.
  • We transitioned to Gazebo Classic to simulate the TurtleBot3 Burger model, learning to publish sensor data and send velocity commands within a 3D environment.
  • We tested mapping and localization algorithms using the TurtleBot3‘s official model ‘TurtleBot3 Burger’ to ensure stability before physical deployment.
  • We implemented SLAM (Simultaneous Localization and Mapping), starting with SLAM Toolbox in simulation for its stability and moving to Google Cartographer for real-world hardware to handle sensor noise and drift.
  • We utilized RViz2 to debug exploration algorithms, visualizing LIDAR scans, occupancy grids, and publishing markers for detected frontiers and Dijkstra paths.
  • Finally, we integrated the Nav2 (Navigation2) stack to handle path planning, obstacle avoidance, and autonomous movement toward generated goal coordinates.

Key Modules

  • Frontier Exploration Logic
    • Frontier Detection: The occupancy grid is scanned to find “frontiers”—the boundary cells between explored free space and unexplored unknown space.
    • Clustering (BFS): Frontier cells are detected and grouped into clusters using a Breadth-First Search (BFS) algorithm to form frontier edges.
    • Centroid Selection: Centroids are calculated for each edge. The farthest centroid is selected as the optimal goal to maximize exploration efficiency.
  • Simulation and Hardware
    • Gazebo Classic: A 3D simulator used to test algorithms without hardware risks. It provides clean sensor data and odometry for initial SLAM Toolbox testing.
    • TurtleBot3 Models: We utilized modular model (TurtleBot3 Burger) to test sensor capabilities and navigation stability.
    • SLAM Systems:
      • SLAM Toolbox: Used in simulation for lightweight and stable 2D laser-based mapping.
      • Google Cartographer: Used on real hardware for its robust graph-based mapping that accounts for wheel slip and timing jitter.
  • Navigation and Visualization
    • Nav2 Stack: The core autonomous engine. It uses the SLAM map to plan safe paths, avoid obstacles, and send velocity commands to the motors.
    • RViz2 Dashboard: Acts as the primary debugging interface, displaying real-time markers for frontiers, centroids, and the computed Dijkstra path.

Summary

  • The system updates an occupancy grid via SLAM as the robot moves.
  • Frontiers are detected at the boundary of free and unknown space.
  • BFS clusters these cells into meaningful explorable targets (centroids).
  • The farthest centroid is chosen as the navigation goal.
  • Nav2 autonomously drives the robot to the goal while avoiding obstacles.
  • The cycle repeats until the entire environment is mapped.

Team Members

  • Aryan Shinde
  • Mayank Singh
  • Sharvansh Singh

Mentors

  • Shauvik Gogoi