Adds multi-feature nearest-centroid classifier for 6 surface types: carpet, tile, wood, concrete, grass, gravel. Features: circular hue mean, saturation mean/std, brightness, Laplacian texture variance, Sobel edge density — all extracted from the bottom 40% of each frame (floor ROI). Majority-vote temporal smoother (window=5) suppresses single-frame noise. Publishes std_msgs/String on /saltybot/floor_type at 2 Hz. 34/34 pure-Python tests pass (no ROS2 required). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%