Skip to main content
Back to Projects

University course project · 2023

Autonomous Maze Navigator

A LEGO EV3 rover that follows lines, detects obstacles, maps an unknown planet, and coordinates routes with a central server.

  • Python
  • LEGO EV3Dev
  • MQTT
  • Git
EV3 + ev3dev
Platform
Passed
Examination

A three-person robotics project built in Python on ev3dev. I was responsible for the robot layer: motor control, sensor calibration, PID line following, station scanning, and obstacle handling. We integrated it with the team's odometry, graph routing, and MQTT communication modules for autonomous exploration.

Problem

The rover had to move reliably across a line-based map it had never seen, report discovered paths to a remote server, react to blocked routes, and navigate to a target once one was assigned.

Approach

I implemented the EV3 hardware-control layer, including calibration, a PID steering loop, motor-position sampling, station centering, path scanning, and ultrasonic obstacle detection. The team connected it to odometry, an in-memory planet graph, Dijkstra routing, and MQTT callbacks.

Outcome

The integrated rover completed the course's final autonomous run, combining physical navigation, map exploration, route selection, and server communication on the EV3 platform.

Architecture

The software runs on ev3dev Linux. A controller coordinates the robot, odometry, planet graph, and communication facade. The robot module drives the motors and reads color and distance sensors; the graph module tracks explored and blocked paths; an asynchronous MQTT client exchanges path and target messages with the course server.

Highlights

Telemetry Exchange

Requests, parses, and validates target coordinates from the central server via MQTT.

PID Line Following

A calibrated proportional-integral-derivative loop keeps the rover centered on the track.

Physical Navigation

Station centering, four-direction path scans, motor-position sampling, and obstacle recovery.

Graph Pathfinding

Maps the maze in memory and computes the shortest path to the assigned goal.

Timeline

  1. Hardware and Handshake

    Calibrated the sensors and established telemetry sessions via MQTT.

  2. Control and Mapping

    Integrated line following, path scanning, odometry, and graph-based exploration.

  3. Routing Tuning

    Refined the routing algorithms to compute paths quickly.

  4. Final Run

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