measurement_devices: - id: device_1 position: [375.5, 898, 107] slots: - position: [10, 0, 0] occupied: False slot_id: 0 - position: [31, 0, 0] occupied: False slot_id: 1 - position: [52, 0, 0] occupied: False slot_id: 2 - position: [75, 0, 0] occupied: False slot_id: 3 - position: [98, 0, 0] occupied: False slot_id: 4 - position: [120, 0, 0] occupied: False slot_id: 5 - position: [142, 0, 0] occupied: False slot_id: 6 - position: [165, 0, 0] occupied: False slot_id: 7 feeder: position: [27.5, 621.5, 47.5] min_voltage: 2.0 max_capacity: 10 defeeder: position: [167.5, 630, 40] max_capacity: 10 feeder_magazines: - x_pos: 100 rot_deg: 90 capacity: 70 - x_pos: 200 rot_deg: 90 capacity: 70 - x_pos: 300 rot_deg: 90 capacity: 70 defeeder_magazines: - x_pos: 200 rot_deg: -90 capacity: 70 health_threshold: 0.8 name: accepted - x_pos: 100 rot_deg: -90 capacity: 70 health_threshold: 0 name: rejected mqtt: broker: localhost # or debug port: 1883 username: robot password: robot keepalive: 60 grbl: port: /dev/ttyUSB0 # or debug # port: debug baudrate: 115200 vision: camera_id: 0 resolution: [640, 480] frame_rate: 30 exposure: 0.1 gain: 1.0 bbox: [100, 100, 200, 200] # (x, y, width, height) vacuum: min_pressure_bar: 0.13 max_pressure_bar: 0.6 max_pump_time_s: 20 gripping_threshold_bar: 0.6 pump_watchdog_timeout_s: 30 gpio: debug: false pump_pin: 17 valve_pin: 27 probe_pin: 22 measure_dir_pin: 11 measure_step_pin: 9 measure_en_pin: 10 dist_pos_dir_pin: 000 dist_pos_step_pin: 000 dist_pos_en_pin: 000 dist_rot_dir_pin: 000 dist_rot_step_pin: 000 dist_rot_en_pin: 000 i2c: debug: false movement: speed: 400.0 acceleration: 20.0 safe_height: 0.0 logging: level: INFO file_path: logs/robot.log max_file_size_mb: 1 backup_count: 3 console_output: true