CoolFace
Datasetpublic

lucazanett/wiping_07

This dataset was created using LeRobot. Dataset Structure meta/info.json: { "codebase_version": "v3.0", "robot_type": "custom_manipulator", "total_episodes": 3, "total_frames": 3418, "total_tasks": 1, "chunks_size": 1000, "data_files_size_in_mb": 20, "video_files_size_in_mb": 200, "fps": 50, "splits": { "train": "0:3" }, "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet", "video_path":… See the full description on the dataset page: https://huggingface.co/datasets/lucazanett/wiping_07.

sourceHugging Faceapache-2.0updated 26d agoView on Hugging Face
0likes187downloads
Dataset Card

This dataset was created using LeRobot.

<a class="flex" href="https://huggingface.co/spaces/lerobot/visualizedataset?path=lucazanett/wiping07"> <img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl.svg"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl-dark.svg"/> </a>

Dataset Description

  • —Homepage: [More Information Needed]
  • —Paper: [More Information Needed]
  • —License: apache-2.0

Dataset Structure

meta/info.json:

json
{
    "codebase_version": "v3.0",
    "robot_type": "custom_manipulator",
    "total_episodes": 3,
    "total_frames": 3418,
    "total_tasks": 1,
    "chunks_size": 1000,
    "data_files_size_in_mb": 20,
    "video_files_size_in_mb": 200,
    "fps": 50,
    "splits": {
        "train": "0:3"
    },
    "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet",
    "video_path": "videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4",
    "features": {
        "action": {
            "dtype": "float32",
            "names": [
                "position.x",
                "position.y",
                "position.z",
                "orientation_6d.0",
                "orientation_6d.1",
                "orientation_6d.2",
                "orientation_6d.3",
                "orientation_6d.4",
                "orientation_6d.5",
                "stiffness.tx",
                "stiffness.ty",
                "stiffness.tz",
                "stiffness.rx",
                "stiffness.ry",
                "stiffness.rz",
                "gripper"
            ],
            "shape": [
                16
            ]
        },
        "observation.state": {
            "dtype": "float32",
            "names": [
                "position.x",
                "position.y",
                "position.z",
                "orientation_6d.0",
                "orientation_6d.1",
                "orientation_6d.2",
                "orientation_6d.3",
                "orientation_6d.4",
                "orientation_6d.5",
                "gripper",
                "gripper_force",
                "obj_detected"
            ],
            "shape": [
                12
            ]
        },
        "observation.images.wrist_rgb": {
            "dtype": "video",
            "shape": [
                480,
                640,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 480,
                "video.width": 640,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 50,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.behind_rgb": {
            "dtype": "video",
            "shape": [
                480,
                640,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 480,
                "video.width": 640,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 50,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.environment_state": {
            "dtype": "float32",
            "names": [
                "ft_fx",
                "ft_fy",
                "ft_fz",
                "ft_tx",
                "ft_ty",
                "ft_tz"
            ],
            "shape": [
                6
            ]
        },
        "timestamp": {
            "dtype": "float32",
            "shape": [
                1
            ],
            "names": null
        },
        "frame_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "episode_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "task_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        }
    },
    "recording_strategy": {
        "source_file": "/home/lzanetti/workspaces/lerobot_teleop_ws/recording_strategy/whiteboard_wiping_deployment_eval_30.json",
        "strategy": {
            "dataset_name": "whiteboard_wiping_act_v1_deployment_eval",
            "version": "1.0",
            "split": "deployment_test",
            "purpose": "Fixed deployment rollouts for evaluating the trained ACT whiteboard-wiping policy. Do not use these episodes for training or validation.",
            "global_protocol": {
                "num_episodes": 30,
                "policy_mode": "autonomous",
                "keep_fixed": [
                    "same robot hardware",
                    "same eraser and grasp",
                    "same camera mounts and calibration",
                    "same whiteboard",
                    "same marker type/color",
                    "same control frequency and policy settings"
                ],
                "before_each_episode": [
                    "Reset the robot to the specified start pose.",
                    "Draw the specified mark at the requested board location.",
                    "Start all recordings before policy execution."
                ],
                "during_episode": [
                    "Run the policy autonomously.",
                    "Do not assist unless required for safety.",
                    "Do not reposition the scene after rollout starts."
                ],
                "after_each_episode": [
                    "Record success or failure before resetting.",
                    "Estimate fraction of mark removed.",
                    "Record contact loss, collision, intervention, and failure mode.",
                    "Keep the full rollout even if it fails."
                ],
                "success_definition": {
                    "primary": "At least 90% of the intended mark is removed and the robot retracts without unsafe contact.",
                    "secondary": [
                        "no human intervention",
                        "no collision",
                        "no sustained unintended contact loss",
                        "no premature termination"
                    ]
                },
                "failure_modes": [
                    "missed_mark",
                    "partial_coverage",
                    "contact_loss",
                    "too_much_force",
                    "oscillation_or_jitter",
                    "wrong_region",
                    "premature_retract",
                    "failed_to_retract",
                    "collision",
                    "stalled",
                    "camera_or_sensor_failure",
                    "safety_intervention",
                    "other"
                ]
            },
            "episodes": [
                {
                    "episode_id": 1,
                    "split": "deployment_test",
                    "purpose": "Nominal center baseline",
                    "read_aloud": "Deploy episode 1. Place a small square at the center, around X 0.50, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.5
                        },
                        "mark_type": "small_square",
                        "mark_size_class": "small",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 2,
                    "split": "deployment_test",
                    "purpose": "Nominal interior irregular mark",
                    "read_aloud": "Deploy episode 2. Place a medium irregular scribble at the center, around X 0.45, Y 0.55. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.45,
                            "y": 0.55
                        },
                        "mark_type": "irregular_scribble",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 3,
                    "split": "deployment_test",
                    "purpose": "Nominal interior wide mark",
                    "read_aloud": "Deploy episode 3. Place a medium wide rectangle at the center, around X 0.55, Y 0.45. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.55,
                            "y": 0.45
                        },
                        "mark_type": "wide_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 4,
                    "split": "deployment_test",
                    "purpose": "Interior long vertical mark",
                    "read_aloud": "Deploy episode 4. Place a large vertical line at the center, around X 0.40, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.4,
                            "y": 0.5
                        },
                        "mark_type": "vertical_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 5,
                    "split": "deployment_test",
                    "purpose": "Interior long horizontal mark",
                    "read_aloud": "Deploy episode 5. Place a large horizontal line at the center, around X 0.60, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.6,
                            "y": 0.5
                        },
                        "mark_type": "horizontal_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 6,
                    "split": "deployment_test",
                    "purpose": "Interior tall mark",
                    "read_aloud": "Deploy episode 6. Place a medium tall rectangle at the center, around X 0.50, Y 0.40. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.4
                        },
                        "mark_type": "tall_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 7,
                    "split": "deployment_test",
                    "purpose": "Large interior patch",
                    "read_aloud": "Deploy episode 7. Place a large irregular patch at the center, around X 0.50, Y 0.60. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.6
                        },
                        "mark_type": "large_irregular_patch",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 8,
                    "split": "deployment_test",
                    "purpose": "Lower-left interior",
                    "read_aloud": "Deploy episode 8. Place a small square at the lower left, around X 0.35, Y 0.35. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.35,
                            "y": 0.35
                        },
                        "mark_type": "small_square",
                        "mark_size_class": "small",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 9,
                    "split": "deployment_test",
                    "purpose": "Upper-right interior",
                    "read_aloud": "Deploy episode 9. Place a medium square at the upper right, around X 0.65, Y 0.65. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.65,
                            "y": 0.65
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 10,
                    "split": "deployment_test",
                    "purpose": "Multiple local marks",
                    "read_aloud": "Deploy episode 10. Place a medium two nearby marks at the center, around X 0.50, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.5
                        },
                        "mark_type": "two_nearby_marks",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 11,
                    "split": "deployment_test",
                    "purpose": "Left boundary",
                    "read_aloud": "Deploy episode 11. Place a medium square at the middle left, around X 0.20, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.2,
                            "y": 0.5
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 12,
                    "split": "deployment_test",
                    "purpose": "Right boundary",
                    "read_aloud": "Deploy episode 12. Place a medium square at the middle right, around X 0.80, Y 0.50. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.8,
                            "y": 0.5
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 13,
                    "split": "deployment_test",
                    "purpose": "Bottom boundary",
                    "read_aloud": "Deploy episode 13. Place a medium wide rectangle at the lower center, around X 0.50, Y 0.20. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.2
                        },
                        "mark_type": "wide_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 14,
                    "split": "deployment_test",
                    "purpose": "Top boundary",
                    "read_aloud": "Deploy episode 14. Place a medium wide rectangle at the upper center, around X 0.50, Y 0.80. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.5,
                            "y": 0.8
                        },
                        "mark_type": "wide_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 15,
                    "split": "deployment_test",
                    "purpose": "Lower-left corner",
                    "read_aloud": "Deploy episode 15. Place a medium irregular scribble at the lower left, around X 0.22, Y 0.22. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.22,
                            "y": 0.22
                        },
                        "mark_type": "irregular_scribble",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 16,
                    "split": "deployment_test",
                    "purpose": "Lower-right corner",
                    "read_aloud": "Deploy episode 16. Place a medium square at the lower right, around X 0.78, Y 0.22. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.78,
                            "y": 0.22
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 17,
                    "split": "deployment_test",
                    "purpose": "Upper-left corner",
                    "read_aloud": "Deploy episode 17. Place a medium tall rectangle at the upper left, around X 0.22, Y 0.78. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.22,
                            "y": 0.78
                        },
                        "mark_type": "tall_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 18,
                    "split": "deployment_test",
                    "purpose": "Upper-right corner",
                    "read_aloud": "Deploy episode 18. Place a large vertical line at the upper right, around X 0.78, Y 0.78. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.78,
                            "y": 0.78
                        },
                        "mark_type": "vertical_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 19,
                    "split": "deployment_test",
                    "purpose": "Top-edge long stroke",
                    "read_aloud": "Deploy episode 19. Place a large horizontal line at the upper left, around X 0.30, Y 0.80. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.3,
                            "y": 0.8
                        },
                        "mark_type": "horizontal_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 20,
                    "split": "deployment_test",
                    "purpose": "Bottom-edge large patch",
                    "read_aloud": "Deploy episode 20. Place a large irregular patch at the lower right, around X 0.70, Y 0.20. Use the nominal start. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.7,
                            "y": 0.2
                        },
                        "mark_type": "large_irregular_patch",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 21,
                    "split": "deployment_test",
                    "purpose": "Left start offset",
                    "read_aloud": "Deploy episode 21. Place a small square at the middle left, around X 0.30, Y 0.40. Use the start 5 cm left from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.3,
                            "y": 0.4
                        },
                        "mark_type": "small_square",
                        "mark_size_class": "small",
                        "eraser_start_offset_m": {
                            "x": -0.05,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 22,
                    "split": "deployment_test",
                    "purpose": "Right start offset",
                    "read_aloud": "Deploy episode 22. Place a small square at the middle right, around X 0.70, Y 0.40. Use the start 5 cm right from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.7,
                            "y": 0.4
                        },
                        "mark_type": "small_square",
                        "mark_size_class": "small",
                        "eraser_start_offset_m": {
                            "x": 0.05,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 23,
                    "split": "deployment_test",
                    "purpose": "Down start offset",
                    "read_aloud": "Deploy episode 23. Place a medium square at the upper center, around X 0.40, Y 0.70. Use the start 5 cm down from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.4,
                            "y": 0.7
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": -0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 24,
                    "split": "deployment_test",
                    "purpose": "Up start offset",
                    "read_aloud": "Deploy episode 24. Place a medium square at the lower center, around X 0.60, Y 0.30. Use the start 5 cm up from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.6,
                            "y": 0.3
                        },
                        "mark_type": "medium_square",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.0,
                            "y": 0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 25,
                    "split": "deployment_test",
                    "purpose": "Combined variation",
                    "read_aloud": "Deploy episode 25. Place a small irregular scribble at the upper left, around X 0.25, Y 0.65. Use the start 5 cm right and 5 cm down from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.25,
                            "y": 0.65
                        },
                        "mark_type": "irregular_scribble",
                        "mark_size_class": "small",
                        "eraser_start_offset_m": {
                            "x": 0.05,
                            "y": -0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 26,
                    "split": "deployment_test",
                    "purpose": "Combined variation",
                    "read_aloud": "Deploy episode 26. Place a medium wide rectangle at the lower right, around X 0.75, Y 0.35. Use the start 5 cm left and 5 cm up from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.75,
                            "y": 0.35
                        },
                        "mark_type": "wide_rectangle",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": -0.05,
                            "y": 0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 27,
                    "split": "deployment_test",
                    "purpose": "Long path with opposite start",
                    "read_aloud": "Deploy episode 27. Place a large vertical line at the upper left, around X 0.35, Y 0.75. Use the start 5 cm right from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.35,
                            "y": 0.75
                        },
                        "mark_type": "vertical_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": 0.05,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 28,
                    "split": "deployment_test",
                    "purpose": "Long path with opposite start",
                    "read_aloud": "Deploy episode 28. Place a large horizontal line at the lower right, around X 0.65, Y 0.25. Use the start 5 cm left from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.65,
                            "y": 0.25
                        },
                        "mark_type": "horizontal_line",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": -0.05,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 29,
                    "split": "deployment_test",
                    "purpose": "Combined visual and start variation",
                    "read_aloud": "Deploy episode 29. Place a medium two nearby marks at the upper center, around X 0.42, Y 0.68. Use the start 5 cm right and 5 cm down from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.42,
                            "y": 0.68
                        },
                        "mark_type": "two_nearby_marks",
                        "mark_size_class": "medium",
                        "eraser_start_offset_m": {
                            "x": 0.05,
                            "y": -0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                },
                {
                    "episode_id": 30,
                    "split": "deployment_test",
                    "purpose": "Combined large-mark and start variation",
                    "read_aloud": "Deploy episode 30. Place a large irregular patch at the lower center, around X 0.58, Y 0.32. Use the start 5 cm left and 5 cm up from nominal. Start recording and run the policy autonomously. Do not assist unless needed for safety.",
                    "planned": {
                        "mark_center_norm": {
                            "x": 0.58,
                            "y": 0.32
                        },
                        "mark_type": "large_irregular_patch",
                        "mark_size_class": "large",
                        "eraser_start_offset_m": {
                            "x": -0.05,
                            "y": 0.05,
                            "z": 0.0
                        }
                    },
                    "result": {
                        "success": null,
                        "mark_removed_fraction": null,
                        "human_intervention": null,
                        "safety_intervention": null,
                        "contact_loss": null,
                        "collision": null,
                        "premature_retract": null,
                        "episode_duration_s": null,
                        "time_to_first_contact_s": null,
                        "wiping_duration_s": null,
                        "failure_mode": null,
                        "notes": null
                    },
                    "debug": {
                        "policy_checkpoint": null,
                        "chunk_size": null,
                        "n_action_steps": null,
                        "temporal_ensemble_coeff": null,
                        "control_hz": 50,
                        "camera_fps": null,
                        "inference_latency_ms_mean": null,
                        "inference_latency_ms_max": null,
                        "dropped_frames": null,
                        "robot_state_dropouts": null,
                        "timestamp_issue": null,
                        "controller_saturation": null,
                        "max_force_n_if_available": null,
                        "mean_contact_force_n_if_available": null,
                        "data_file_path": null,
                        "video_file_path": null
                    }
                }
            ]
        }
    }
}

Citation

BibTeX:

bibtex
[More Information Needed]