Upload a robot log.
Get an eval report.
Task success, grasp success, recovery rate, human interventions per hour, and every failure with a mode and root cause — computed from your episode logs in minutes. No robot required to try it.
Parsed in your browser; only compact episode data (tasks, phases, timings — never raw video) is sent for analysis. Reports get a private share link. Free during beta.
One flexible episode schema
Send a JSON array, {"episodes": [...]}, or JSONL (one episode per line). Field names are flexible — result/success/outcome, phases/timeline/events, duration or start/end all work. Failed episodes without a failure_mode are classified automatically from their phase timeline.
Coming from ROS? The converter script (pure Python, pip install rosbags, no ROS install) turns a ROS 1/2 bag into this schema in one command.
Report contents
- Task success, grasp success and recovery-success rates
- Human interventions per hour and median task time
- Failure-mode distribution with per-episode root causes
- Per-episode phase timelines, failures first
- A private share link for your team
{ "episodes": [
{ "id": 1827,
"task": "Pick bottle",
"result": "fail", // or "success" (also accepts success: true/false)
"duration": 9.0, // seconds — or provide start/end
"phases": [ // also accepts "timeline" / "events"
{ "t": 0, "label": "approach" },
{ "t": 3, "label": "pre-grasp" },
{ "t": 4, "label": "grasp" },
{ "t": 5, "label": "lift" },
{ "t": 6, "label": "slip" },
{ "t": 7, "label": "recovery attempt" },
{ "t": 9, "label": "failure" } ],
"failure_mode": "grasp_slip", // optional — the AI labels missing ones
"root_cause": "insufficient gripper closure", // optional
"recovery_attempted": true,
"recovery_success": false,
"interventions": 1 // human interventions in this episode
} ] }Evaluation is step two of the loop
Robot Evals turns raw logs into the failure catalogue; VisionLibra Data Services and head-worn capture rigs generate the data that fixes what it finds. Policy-vs-policy regression comparison ships next — tell us what you need.