Skip to main content

Classify Objects

RoboDojo simulation reference
RoboDojo simulation reference
SE3 Labs real setup
SE3 Labs real setup
Task ID
SE3 language instruction“Sort the objects by category into the three bins. Keep all writing tools together, the toy vehicle in its own bin, and all camera equipment together. Any category may use any bin.”
Official language instructionSort the objects by category into the three baskets.
RoboDojo categoryLong-Horizon
Materials / ground truthwriting tools = black pen + white pen; toy vehicle = wooden race car; camera equipment = action camera + two black camera mounts. Containers are orange, blue, and green bins.
Differencecategory sizes are unequal (2 / 1 / 3), and “camera equipment” intentionally groups the camera with its mounts.
RoboDojo task pageClassify Objects

Progress score​

Score the highest milestone whose condition holds at the end of the episode; the episode succeeds at 100. Also record the failure mode and the execution metrics below.

An object is grouped when it is in a bin with only objects of its own category: writing tools (black pen, white pen), toy vehicle (race car), camera equipment (camera, two mounts). A bin counts when it holds every object of one category and nothing else. Any category may use any bin.

ProgressCondition
0No milestone below is reached.
10One object is grouped and the gripper is open.
25One bin counts.
50Two bins count.
100All three bins count and all six objects are settled. Both arms are back at origin.

Execution metrics​

Record these alongside progress; they do not change it. Count over the whole episode, including events later corrected.

MetricWhat to countAnswer
Failed graspsGrasps that close on or around a task object without lifting it clear of the table.0 · 1 · 2 · 3+
DropsHeld objects that fall before they are released at a target.0 · 1 · 2 · 3+
Wrong-bin placementsObjects released into a bin holding a different category.0 · 1 · 2 · 3+
Objects moved outObjects taken out of a bin after being released there.0 · 1 · 2 · 3+

Randomization ​

Each episode samples every variable below and records its values.

VariableDomain
Start layoutBin positions along the back in any order, yaw within ±10°; object positions and yaw anywhere else, clear of the arms.
Schematic start layout, not to scale. Hover a shape for details.

Python SDK​

from se3labs.sdk.eval.tasks import TaskRegistry

definition = TaskRegistry.get_task("ROBODOJO-REAL-28")
# Sample one episode's parameters and initial layout.
task = definition.sample(seed=42)
# Sample 20 episodes with separate seeds; seed=42 reproduces the same set.
tasks = definition.sample_set(seed=42, episodes=20)

Create and run a job:

from se3labs.sdk import eval_client

job = TaskRegistry.get_job(
"ROBODOJO-REAL-28", policy=policy, seed=42, episodes=20,
)
report = eval_client.serve_policy("your-station", "your-relay:7443", job)

task.layout.visualize("layout.png") saves the sampled layout.