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 with | Follow |
|---|---|
| Your own model or Python callable | Call the Python API |
| An XPolicyLab policy and model server | Use the XPolicyLab integration |
| An agent that uses shell commands or tools | Agentic Control |
| A ready-to-run motion example | Example: 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.