diff --git a/robotem-rovne/config/matty-redroad-night.json b/robotem-rovne/config/matty-redroad-night.json new file mode 100644 index 0000000..9f0913a --- /dev/null +++ b/robotem-rovne/config/matty-redroad-night.json @@ -0,0 +1,130 @@ +{ + "version": 2, + "robot": { + "modules": { + "app": { + "driver": "robotem-rovne.main:RobotemRovne", + "in": ["emergency_stop", "pose2d", "nn_mask", "nmea_data", "orientation_list", "detections"], + "out": ["desired_steering"], + "init": { + "max_speed": 0.5, + "stop_dist": -1, + "terminate_on_stop": true + } + }, + "platform": { + "driver": "osgar.platforms.matty:Matty", + "in": ["esp_data"], + "out": ["esp_data"], + "init": {} + }, + "timer": { + "driver": "timer", + "in": [], + "out": ["tick"], + "init": { + "sleep": 0.1 + } + }, + "gps": { + "driver": "gps", + "in": ["raw"], + "out": ["nmea_data"], + "init": { + } + }, + "serial": { + "driver": "serial", + "in": ["raw"], + "out": ["raw"], + "init": {"port": "/dev/esp32", "speed": 115200} + }, + "oak": { + "driver": "osgar.drivers.oak_camera:OakCamera", + "init": { + "fps": 10, + "is_color": false, + "video_encoder": "h265", + "h264_bitrate": 2000, + "is_depth": true, + "is_stereo_images": true, + "laser_projector_current": 0, + "flood_light_current": 500, + "is_imu_enabled": true, + "number_imu_records": 10, + "disable_magnetometer_fusion": true, + "mono_resolution": [640, 400], + "color_resolution": "THE_1080_P", + "color_manual_focus": 130, + "stereo_median_filter": "KERNEL_3x3", + "stereo_mode": "HIGH_ACCURACY", + "stereo_extended_disparity": false, + "stereo_subpixel": false, + "stereo_left_right_check": true, + "sleep_on_start_sec": 3, + "models": [ + { + "model": { + "blob": "models/robotourist-083-redroad-20260116-224x224-rgb-chw-1shave.blob" + }, + "nn_config": { + "output_format": "LayerFp16", + "NN_family": "robotourist", + "input_size": "224x224" + } + }, + { + "model": { + "blob": "../dtc-systems/models/yolov8n_coco_640x352.blob" + }, + "nn_config": { + "output_format": "detection", + "NN_family": "YOLO", + "input_size": "640x352", + "NN_specific_metadata": { + "classes": 80, + "coordinates": 4, + "anchors": [], + "anchor_masks": {}, + "iou_threshold": 0.5, + "confidence_threshold": 0.5 + } + }, + "mappings": { + "labels": [ + "person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", + "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", + "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", + "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", + "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", + "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", + "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", + "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", + "chair", "sofa", "pottedplant", "bed", "diningtable", "toilet", "tvmonitor", + "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", + "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", + "teddy bear", "hair drier", "toothbrush" + ] + } + } + ] + } + } + }, + "links": [ + ["app.desired_steering", "platform.desired_steering"], + ["platform.pose2d", "app.pose2d"], + ["platform.emergency_stop", "app.emergency_stop"], + ["serial.raw", "platform.esp_data"], + ["platform.esp_data", "serial.raw"], + ["platform.gps_serial", "gps.raw"], + ["timer.tick", "platform.tick"], + + ["gps.nmea_data", "app.nmea_data"], + + ["oak.nn_mask", "app.nn_mask"], + ["oak.orientation_list", "app.orientation_list"], + ["oak.detections", "app.detections"] + ] + } +} diff --git a/robotem-rovne/config/matty-redroad.json b/robotem-rovne/config/matty-redroad.json index de074ef..576168e 100644 --- a/robotem-rovne/config/matty-redroad.json +++ b/robotem-rovne/config/matty-redroad.json @@ -4,7 +4,7 @@ "modules": { "app": { "driver": "robotem-rovne.main:RobotemRovne", - "in": ["emergency_stop", "pose2d", "nn_mask", "nmea_data", "orientation_list"], + "in": ["emergency_stop", "pose2d", "nn_mask", "nmea_data", "orientation_list", "detections"], "out": ["desired_steering"], "init": { "max_speed": 0.5, @@ -62,14 +62,52 @@ "stereo_subpixel": false, "stereo_left_right_check": true, "sleep_on_start_sec": 3, - "model": { - "blob": "models/robotourist-083-redroad-20260116-224x224-rgb-chw-1shave.blob" - }, - "nn_config": { - "output_format": "LayerFp16", - "NN_family": "robotourist", - "input_size": "224x224" - } + "models": [ + { + "model": { + "blob": "models/robotourist-083-redroad-20260116-224x224-rgb-chw-1shave.blob" + }, + "nn_config": { + "output_format": "LayerFp16", + "NN_family": "robotourist", + "input_size": "224x224" + } + }, + { + "model": { + "blob": "../dtc-systems/models/yolov8n_coco_640x352.blob" + }, + "nn_config": { + "output_format": "detection", + "NN_family": "YOLO", + "input_size": "640x352", + "NN_specific_metadata": { + "classes": 80, + "coordinates": 4, + "anchors": [], + "anchor_masks": {}, + "iou_threshold": 0.5, + "confidence_threshold": 0.5 + } + }, + "mappings": { + "labels": [ + "person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", + "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", + "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", + "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", + "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", + "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", + "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", + "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", + "chair", "sofa", "pottedplant", "bed", "diningtable", "toilet", "tvmonitor", + "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", + "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", + "teddy bear", "hair drier", "toothbrush" + ] + } + } + ] } } }, @@ -85,7 +123,8 @@ ["gps.nmea_data", "app.nmea_data"], ["oak.nn_mask", "app.nn_mask"], - ["oak.orientation_list", "app.orientation_list"] + ["oak.orientation_list", "app.orientation_list"], + ["oak.detections", "app.detections"] ] } } diff --git a/robotem-rovne/config/test-redroad.json b/robotem-rovne/config/test-redroad.json new file mode 100644 index 0000000..eab35c6 --- /dev/null +++ b/robotem-rovne/config/test-redroad.json @@ -0,0 +1,77 @@ +{ + "version": 2, + "robot": { + "modules": { + "oak": { + "driver": "osgar.drivers.oak_camera:OakCamera", + "init": { + "fps": 10, + "is_color": true, + "video_encoder": "mjpeg", + "is_depth": false, + "laser_projector_current": 0, + "flood_light_current": 500, + "is_imu_enabled": true, + "number_imu_records": 10, + "disable_magnetometer_fusion": true, + "mono_resolution": "THE_400_P", + "color_resolution": "THE_1080_P", + "color_manual_focus": 130, + "stereo_median_filter": "KERNEL_3x3", + "stereo_mode": "HIGH_ACCURACY", + "stereo_extended_disparity": false, + "stereo_subpixel": false, + "stereo_left_right_check": true, + "models": [ + { + "model": { + "blob": "models/robotourist-083-redroad-20260116-224x224-rgb-chw-1shave.blob" + }, + "nn_config": { + "output_format": "LayerFp16", + "NN_family": "robotourist", + "input_size": "224x224" + } + }, + { + "model": { + "blob": "../dtc-systems/models/yolov8n_coco_640x352.blob" + }, + "nn_config": { + "output_format": "detection", + "NN_family": "YOLO", + "input_size": "640x352", + "NN_specific_metadata": { + "classes": 80, + "coordinates": 4, + "anchors": [], + "anchor_masks": {}, + "iou_threshold": 0.5, + "confidence_threshold": 0.5 + } + }, + "mappings": { + "labels": [ + "person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", + "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", + "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", + "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", + "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", + "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", + "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", + "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", + "chair", "sofa", "pottedplant", "bed", "diningtable", "toilet", "tvmonitor", + "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", + "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", + "teddy bear", "hair drier", "toothbrush" + ] + } + } + ] + } + } + }, + "links": [ + ] + } +} diff --git a/robotem-rovne/config/test_redroad.json b/robotem-rovne/config/test_redroad.json deleted file mode 100644 index aace170..0000000 --- a/robotem-rovne/config/test_redroad.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "version": 2, - "robot": { - "modules": { - "oak": { - "driver": "osgar.drivers.oak_camera:OakCamera", - "init": { - "fps": 10, - "is_color": true, - "video_encoder": "mjpeg", - "is_depth": false, - "laser_projector_current": 0, - "flood_light_current": 500, - "is_imu_enabled": true, - "number_imu_records": 10, - "disable_magnetometer_fusion": true, - "mono_resolution": "THE_400_P", - "color_resolution": "THE_1080_P", - "color_manual_focus": 130, - "stereo_median_filter": "KERNEL_3x3", - "stereo_mode": "HIGH_ACCURACY", - "stereo_extended_disparity": false, - "stereo_subpixel": false, - "stereo_left_right_check": true, - "model": { - "blob": "models/robotourist-083-redroad-20260116-224x224-rgb-chw-1shave.blob" - }, - "nn_config": { - "output_format": "LayerFp16", - "NN_family": "robotourist", - "input_size": "224x224" - } - } - } - }, - "links": [ - ] - } -}