Skip to content

SkyLark-19/algorun-robot-2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– AlgoRun Robot 2.0

Autonomous micromouse with floodfill algorithm and speed optimization

SLIIT ROBOFEST 2025

AlgoRun Robot 2.0

πŸš€ Features

  • Floodfill maze mapping with intelligent exploration
  • Persistent memory (ESP32 NVRAM) for instant speed runs
  • Advanced motion: Curve turns, diagonal paths, PID control
  • Webots simulation for algorithm validation before deployment
  • HC-12 wireless module for debugging and data transmission

πŸ”© Hardware

Sensors:

  • 5Γ— VL53L0X TOF (Front, Left, Right, 45Β°L, 45Β°R)
  • 2Γ— Quadrature Encoders

Specs:

  • ESP32 Dual-Core | 58:1 Gear Motors
  • Max: 14.5Γ—14.5cm | <24V | 43mm wheels
  • HC-12 wireless module (433MHz)

πŸ“ Repository Structure

algorun-robot-2.0/
β”œβ”€β”€ Algorun_main_3_0_full/
β”‚   └── Algorun_main_3_0_full.ino    # ESP32 firmware (C++)
β”‚
└── Webots/
    β”œβ”€β”€ controllers/N03/
    β”‚   β”œβ”€β”€ N03.py                    # Python simulation
    β”‚   └── maze_data.json            # Exported maze data
    └── path/
        └── main maze.obj             # 16Γ—16 Blender maze model

πŸ› οΈ Setup

ESP32 Firmware

Required Arduino Libraries:

Wire.h           // I2C communication
VL53L0X.h        // Pololu TOF sensor library
Preferences.h    // ESP32 NVRAM storage

Upload:

git clone https://github.com/SkyLark-19/algorun-robot-2.0.git
cd algorun-robot-2.0
# Open Algorun_main_3_0_full/Algorun_main_3_0_full.ino in Arduino IDE
# Board: ESP32 Dev Module | Upload Speed: 921600
# Upload to ESP32

Webots Simulation

Requirements:

  • Webots R2023b or later
  • Python 3.8+

Run Simulation:

cd Webots/
# Open Webots and load the world file
# In Robot window: Controller β†’ Select "N03"
# Press β–Ί (Play) to start simulation

The Python controller will automatically explore the maze and output results to console.


🎯 Algorithm Overview

Floodfill Strategy:

RUN 1: Explore to center goal              
RUN 2: Return to start (explore all cells) 
RUN 3: Fast run using known maze           
RUN 4: Ultra-optimized (curves + diagonals)

Interface:

  • Button 1 : First exploration mode
  • Button 2 : Fast run with saved maze
  • Button 3 : Ultra-optimized speed run

  • Green LED : Success/Setup complete
  • Red LED : Wall detection/Stop
  • Blue LED : Mode 4 activated

πŸ”„ Development Workflow

  1. Simulate algorithm in Webots (Python)
  2. Port to ESP32 firmware (C++)
  3. Calibrate sensors + PID parameters
  4. Test on physical maze
  5. Optimize speed runs

Enjoy solving mazes autonomously!

About

Autonomous micromouse robot with floodfill maze solving, speed optimization, and Webots simulation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •