Skip to main content
Selected work04 / 04

Robotics testbed

WYZECAR

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

WYZECAR robotic vehicle platform
CAD renderingHardware + software
01 /

YOLOv8 perception

02 /

ROS2 control graph

03 /

ESP32 motor bridge

04 /

Browser operator UI

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 a visual-servoing controller.

Outcome

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

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.

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
  • Visual-servoing follower with smoothing and velocity feedforward
  • Browser video and WASD command surface
  • I2C bridge to ESP32 motor control

Validation

  • Published source reviewed at commit d669b88 on September 4, 2026
  • Firmware includes a command watchdog and motor-stop handler
  • Browser implements WASD, key-release, and focus-loss handling
  • Source inspection is not a measured field trial or safety certification
Built with
  • Python
  • YOLOv8
  • ROS2
  • DART-MX95
  • ESP32
  • OpenCV

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

Inspect the source

EVIDENCE & BOUNDARIES

What this work demonstrates.

Pinned public source review
Experimental robotics testbed

Published commit d669b88 exposes the complete software path: person detection, visual servoing, motor-command translation, and firmware. Each boundary can be inspected independently.

One tightly coupled loop, or separate perception and control nodes?

Decision
Use separate ROS2 responsibilities for detection, following, web controls, and the motor bridge.
Tradeoff
Independent nodes make the pipeline inspectable, but require explicit command freshness, loss-of-target handling, and careful end-to-end commissioning.

Scope & limitations

No published field benchmark or automated test result is available. The firmware motor-stop flag is cleared by a subsequent drive command; it is not a latched safety interlock. The image is a CAD rendering, not proof of an autonomous run.