Add cleaned RealSense/OpenCV CV under cv/ with secret-free example config, MQTT disabled by default, and canonical README coverage for web + CV relationship without claiming production integration. Co-authored-by: Cursor <cursoragent@cursor.com>
91 lines
1.8 KiB
YAML
91 lines
1.8 KiB
YAML
# Vision classifier config EXAMPLE — copy to config.yaml and edit locally.
|
|
# Do not commit config.yaml (it may contain site-specific credentials).
|
|
|
|
camera:
|
|
depth_device: /dev/video0
|
|
color_device: /dev/video4
|
|
width: 640
|
|
height: 480
|
|
fps: 30
|
|
depth_scale_mm: 1.0
|
|
# D415 @ 640x480 approximate intrinsics — calibrate on your setup
|
|
fx: 564.0
|
|
fy: 564.0
|
|
cx: 320.0
|
|
cy: 240.0
|
|
color_dx: -40.0
|
|
color_dy: -8.0
|
|
color_scale: 1.030
|
|
|
|
belt_distance_mm: 594
|
|
belt_tolerance_mm: 25
|
|
min_object_height_mm: 20
|
|
min_object_area_px: 800
|
|
roi_margin:
|
|
top: 0.12
|
|
bottom: 0.02
|
|
left: 0.05
|
|
right: 0.12
|
|
max_objects_in_frame: 3
|
|
use_color: true
|
|
use_background_map: false
|
|
detect_flat_rgb: false
|
|
rgb_diff_threshold: 35
|
|
|
|
classification:
|
|
min_mm: [10, 10, 10]
|
|
max_mm: [450, 320, 320]
|
|
circle_ratio_threshold: 0.8
|
|
uncertain_after_frames: 45
|
|
uncertain_fallback_zone: C
|
|
|
|
# MQTT is OPTIONAL and disabled by default for safe local runs.
|
|
mqtt:
|
|
broker: "127.0.0.1"
|
|
port: 1883
|
|
user: ""
|
|
password: ""
|
|
client_id: "vision_classifier"
|
|
topic_result: "vision/feedback/category"
|
|
topic_dims: "vision/feedback/dimensions"
|
|
topic_circle: "vision/feedback/circle_ratio"
|
|
topic_debug: "vision/feedback/debug"
|
|
enabled: false
|
|
|
|
motor:
|
|
enabled: false
|
|
rpm: -200
|
|
current_percent: 50
|
|
microsteps: 16
|
|
stealthchop: true
|
|
disable_on_stop: false
|
|
|
|
routing:
|
|
enabled: false
|
|
zones:
|
|
B:
|
|
servo: 0
|
|
idle_angle: 0
|
|
divert_angle: 0
|
|
hold_ms: 500
|
|
C:
|
|
servo: 1
|
|
idle_angle: 0
|
|
divert_angle: 90
|
|
hold_ms: 800
|
|
D:
|
|
servo: 2
|
|
idle_angle: 0
|
|
divert_angle: 90
|
|
hold_ms: 800
|
|
cooldown_ms: 1500
|
|
|
|
runtime:
|
|
show_preview: false
|
|
save_debug_frames: false
|
|
debug_dir: "debug_frames"
|
|
decisions_log: "logs/decisions.jsonl"
|
|
preview_every_n: 3
|
|
process_every_n: 1
|
|
confirm_frames: 8
|