← Projects

01 / Robot perception

Webots Neural Vision Robot

A small e-puck robot that finds a selected color, turns toward it, and stops as it approaches. I compared a compact neural network with a calibrated HSV baseline to understand where each approach works.

Python / PyTorch / OpenCV / Webots

Source code →
Three actual Webots camera frames alongside predicted masks for red, blue, and green targets.
Selected-target camera frames and predicted masks. Generated scenes; Webots simulation.
1,460
model parameters
3,000
training images
98.13%
held-out macro mask IoU

Implementation

I started with color thresholding, then trained a 1,460-parameter CNN on 3,000 labeled synthetic images. Both detectors feed the same steering and stopping controller. The robot uses camera frames and proximity sensors; supervisor positions score the trials but never steer it.

Results

The selected-target model reached 98.13% macro mask IoU on 400 held-out synthetic scenes. A separate comparison covered 3,600 fresh synthetic images and 108 paired Webots trials, measuring perception quality, CPU latency, and task completion.

Observations

HSV handles clean colors and near-color clutter well. The CNN performed better on blurred images; the dim-light difference was uncertain. Looking at robot outcomes alongside image metrics made the tradeoffs clearer.

Limitations

All results come from generated images and simulation. The controller stops for obstacles but does not plan a route around them. Selecting one object among several of the same color remains a limitation; a physical robot has not been tested.

Code & reports

Next projectPan/Tilt Camera Tracking Simulation