- Add _blur_detector.py: BlurResult NamedTuple, laplacian_variance() (ksize=3 Laplacian on greyscale, with optional ROI crop), detect_blur() returning variance + is_blurred flag + threshold; handles greyscale and BGR inputs, empty ROI returns 0.0 - Add blur_detect_node.py: subscribes /camera/color/image_raw (BEST_EFFORT), publishes Bool /saltybot/image_blurred and Float32 /saltybot/blur_score per frame; threshold and roi_frac ROS params - Register blur_detector console script in setup.py - 25/25 unit 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%