Vaibhav Shende Vaibhav Shende

MazeGen IGN Gazebo (Dynamic Maze Generation Plugin)

Gazebo Ignition Fortress world-system plugin for spawning MicroMouse-format maze environments. Reads maze text files and generates physics-based simulation with walls, posts, and start/goal markers.

Software Robotics
MazeGen IGN Gazebo (Dynamic Maze Generation Plugin)

Overview

Gazebo Ignition plugin for dynamically spawning MicroMouse-format maze environments with accurate physics simulation following official competition rules.

Features

  • Maze File Support: Reads micromouseonline-format maze text files
  • Physics Integration: Spawns walls, posts, and floor tiles in Gazebo Ignition
  • Official Compliance: 16×16 grid, 180mm cells, 50mm walls, 12mm thickness
  • Start/Goal Markers: Green start cells, red goal cells with floor tiles
  • Customizable Geometry: Wall height, thickness, post size configurable

Technical Specifications

  • Framework: Gazebo Ignition Fortress (gz-sim 6)
  • Plugin Type: World System (ISystemConfigure)
  • Cell Size: 180 mm (MicroMouse standard)
  • Wall Properties: 12mm thick × 50mm tall, white sides, red tops
  • Posts: 12×12×50 mm at grid intersections
  • Language: C++

Maze File Format

Plain text format with:

  • o = grid intersection post
  • --- = horizontal wall
  • | = vertical wall
  • S = start cell (green)
  • G = goal cell (red)

Example:

o---o   o
| S | G |
o---o---o

All-Japan 1980 maze All-America 2013 maze

Getting Started

git clone https://github.com/svaibhav101/mazegen_ign_gazebo.git
cd mazegen_ign_gazebo && mkdir build
cmake -S . -B build && cmake --build build -j
ctest --test-dir build  # Run parser tests

Use Cases

  • MicroMouse competition simulation
  • Robot navigation algorithm testing
  • Benchmark scenario generation
  • Educational robotics projects