Skip to main content
WYZECAR robotic vehicle platform

Robotics testbed

WYZECAR

A browser-operated perception-to-control platform for vision autonomy experiments.

Evidence 1
YOLOv8 perception
Evidence 2
ROS2 control graph
Evidence 3
ESP32 motor bridge
Evidence 4
Browser operator UI
Scope

What I owned

System architecture, ROS2 nodes, perception integration, browser controls, embedded motor interface, and tuning.

Problem

Turn a small RC platform into a controllable autonomy testbed with live video and person-following behavior.

Built

Integrated YOLOv8 perception, ROS2 control plumbing, browser-based WASD control, live video, an ESP32 motor interface, and PID motion.

Outcome

A robotics platform that makes the full perception-to-control loop inspectable and tunable from a browser.

Engineering constraints

The conditions that shaped the system

01

Perception, video, and controls share limited edge-compute resources.

02

Loss of detection or browser connectivity must not leave stale drive commands active.

03

The platform needs a manual mode for safe tuning before autonomous behavior is enabled.

Key decisions

Tradeoffs made explicit

01

Manual control first

Browser WASD control provides a safe commissioning path before closing the person-following loop.

02

Separated ROS2 responsibilities

Perception, following, motor control, and web presentation remain independent nodes with inspectable boundaries.

03

Embedded bridge

The Linux compute module owns autonomy while the ESP32 handles deterministic motor and steering commands.

Architecture
Camera and YOLOv8 perception node
Follower and PID control node
Browser video and command surface
I2C bridge to ESP32 motor control
Validation
Manual drive fallback
Tunable PID response
Inspectable public source
Emergency-stop command path
Stack
PythonYOLOv8ROS2DART-MX95ESP32OpenCV
Result

Shows the robotics loop end-to-end: perception, control, hardware interface, operator UI, and field iteration.

Inspect the source