Skip to content
Index04 / project · 2026

A four-wheel robot that tracks a worker on camera and follows them through a facility carrying picked items. Perception on a Raspberry Pi, hard real-time motor control on an ESP32, ROS2 between them.

ROS2ESP32Computer Vision

What it does

A four-wheel robot that picks a worker out of the camera feed and follows them through a facility, carrying picked items so they do not have to. It holds a set following distance and stops on its own for shelving, pallets, and people crossing in front of it.

Chassis, printed and taped together for fit
Chassis, printed and taped together for fit

Two-tier compute

Perception runs on a Raspberry Pi 4: computer vision for person detection and tracking, plus LiDAR for obstacle detection. Motor control runs separately on an ESP32, with ROS2 passing messages between the two. The split is the whole point. Vision is slow and variable, and a frame that takes too long should never leave the motor loop waiting. Keeping hard real-time control on its own processor means perception latency cannot stall the wheels.

Early drive test

Firmware

The ESP32 firmware is C++ written in PlatformIO, driving four geared motors through bridged TB6612FNG drivers. It covers PWM control, tank-drive kinematics, and acceleration ramping so the chassis does not lurch when a new command lands. There is also a command watchdog. If the perception link drops, the chassis stops instead of carrying on with its last instruction.