Skip to main content

Autonomous Maze Navigator

A Python-based robotic control system and graph-search navigation pipeline for autonomous rovers.

  • Python
  • LEGO EV3Dev
  • MQTT
  • Git
EV3 Linux
Edge Platform
100% Passed
Examination

The Challenge

The challenge was to program a robot to explore a randomly generated maze until it received a specific destination coordinate from a central server. The robot then had to navigate to this server-assigned target efficiently while adhering to strict memory and timing constraints.

The Approach

We engineered a modular Python codebase centered around a finite state machine. We implemented a robust communication layer that handled MQTT messages to parse the target coordinates. We used a mapping algorithm, specifically depth-first search, to explore the maze and a pathfinding algorithm to calculate the route to the server-assigned target once received.

The Impact

The robot successfully passed the final examination under tight time pressure, correctly receiving the server payload, mapping the maze, and navigating to the destination without error or memory leaks.

System Architecture

The software runs on the ev3dev Linux kernel. It utilizes a main event loop that polls sensors, including color, distance, and gyro sensors, and feeds data into a central logic controller. An asynchronous MQTT client handles the negotiation with the server to receive the target coordinates.

Key Engineering Features

Telemetry Exchange

Logic to request, parse, and validate target coordinates received from the central server via MQTT.

PID Regulation Loop

Implemented Proportional-Integral-Derivative logic for smooth line tracing and wall alignment.

Automaton States

Robust logic handling for switching between exploration and target navigation modes.

Graph Pathfinding

Algorithms to map the maze structure in memory and calculate the shortest path to the assigned goal.

Development Lifecycle

Hardware and Handshake

Calibrated edge sensors and established telemetry sessions via MQTT.

Algorithmic Systems

Developed state structures and depth-first exploration loops.

Routing Tuning

Refined routing algorithms to calculate paths rapidly.

Performance Run

rover successfully completed the formal evaluation under real-time constraints.