feat(perception): sky detector for outdoor navigation (Issue #307) #313
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-perception/issue-307-sky-detect"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
_sky_detector.py:SkyResultNamedTuple;detect_sky()with dual HSV band masking — blue sky (H∈[90,130], S∈[40,255], V∈[80,255]) OR overcast/grey sky (S∈[0,50], V∈[185,255]), OR-combined viacv2.bitwise_or;sky_fractioncomputed over configurable topscan_fracregion;horizon_y= bottommost row where per-row sky fraction ≥row_threshold(−1 when no sky detected)sky_detect_node.py: subscribes/camera/color/image_raw(BEST_EFFORT), publishesFloat32 /saltybot/sky_fractionandInt32 /saltybot/horizon_yper frame;scan_frac(default 0.60) androw_threshold(default 0.30) ROS paramssky_detectorconsole script insetup.pyDownstream uses
sky_fraction > 0.10→ likely outdoorhorizon_ydeviation from expected row estimates pitch tiltsky_fraction→ outdoor SLAM parametersTest plan
python3 -m pytest test/test_sky_detector.py -v→ 33 passedros2 run saltybot_bringup sky_detector/saltybot/sky_fraction> 0.8/saltybot/sky_fraction≈ 0.0,/saltybot/horizon_y== -1/saltybot/horizon_ytracks sky/ground boundary🤖 Generated with Claude Code