← Back to Projects
Dec 2025

Autonomous Mapping Rover

CRaspberry Pi Pico 2 WLIDARUDP NetworkingPython
Autonomous Mapping Rover 1
Autonomous Mapping Rover 2
Autonomous Mapping Rover 3
Autonomous Mapping Rover 4

A remote-controlled reconnaissance rover capable of LIDAR mapping, autonomous obstacle avoidance, and live telemetry streaming.

The Problem

In an Urban Ops context it is very dangerous for a human to enter a room without knowing what is inside. What if you could know what the room looks like without going in?

The Solution

Build a Recon Rover equipped with LIDAR that can be remotely driven into a room. It generates a floormap and streams it to a remote operator in real time, allowing them to see inside without even going in.

Teleoperation

The rover is controlled via a Python dashboard . The operator uses keyboard inputs (WASD) that sends motor commands over UDP to the Pico on-board the rover to drive the it around.

Autonomous Safety Arbiter

While the rover is remote-controlled, it is able to perform object avoidance autonomously' I implemented a custom state machine in C called the Safety Arbiter.

As seen in this demo, if the operator accidentally drives the rover into a wall or obstacle (detected <30cm), the system overrides the human command, stops the motors, and autonomously executes a 'box maneuver' to navigate around the obstacle.

LIDAR Mapping & Streaming

The rover is equipped with an RPLIDAR A1 sensor to scan its environment. The core challenge was transmitting this heavy map data over a microcontroller's limited bandwidth.

I developed a UDP chunking algorithm that splits the 240x240 occupancy grid into lightweight packets. This allows the Python dashboard to reconstruct the room map live without freezing the motor control loop.It's not perfect but it works.