Skip to main content

Evaluate your policy

Run your policy on an SE3 station, receive observations from its arms and cameras, and review the operator's scores after each episode. Choose how you want to control the robot:

Start withFollow
Your own model or Python callableCall the Python API
An XPolicyLab policy and model serverUse the XPolicyLab integration
An agent that uses shell commands or toolsAgentic Control
A ready-to-run motion exampleExample: Wave Arms

Connect to a station​

Complete installation and sign-in, then ask your station operator for the station ID and relay address. Replace example-station-id and example-station-addr in these tutorials with those values; the relay address must be in host:port form.

The operator opens the station dashboard's Evaluation tab, enters the same relay address, and starts evaluation. For each episode, they prepare and confirm the scene, then score the result. Keep your policy process running while the station prepares, executes, and scores the evaluation.

Read the evaluation results​

The Python API returns a SessionReport. Check state, close_reason, and errors, then inspect each entry in results. A SUCCEEDED state means the evaluation job completed; each episode's success field records whether the operator judged the task successful. Check scored before reading its success and score.

The SDK CLI and XPolicyLab integration save JSON results with --output. For any of the connection methods, query station progress and returned episode scores from another terminal:

se3labs eval status \
--station example-station-id --address example-station-addr \
--json

See the evaluation client and CLI reference for report fields and command options.