← Blog

Deep dive

A cube's center can be in the tray while the cube is not

Our cube-to-tray evaluator checks the rotated object, support, release and settling. A worked edge case shows why a center-point test is too weak.

Timeline date

Covers September 18, 2026. Reconstructed later from available records.

Published · Updated

A cube can have its center inside a tray while one corner still hangs over the edge. A gripper can hold it above the right place without ever putting it down. A bouncing cube can look finished in one frame.

When we added a simulated cube-to-tray task on September 18, those were different states the evaluator had to distinguish. The task was placing the whole cube inside the tray, releasing it, and leaving it supported and settled.

The scene used a 40 mm cube and a tray with a 100 × 100 mm inner footprint. One fixed development case gave us a concrete place to work through the criterion. Here is the geometry and the rest of the scoring path, with a calculated example rather than a new robot trial.

Start with the whole object

The tray was aligned with world X and Y. The evaluator projected the cube's rotated half-sizes onto those axes, then added that extent to the center's displacement from the tray center. The outer edge had to fit within 50 mm.

The historical evaluator implemented that check in these two lines:

extent = np.abs(r) @ np.full(3, HALF)
contained = bool(np.all(np.abs(p[:2] - TRAY[:2]) + extent[:2] <= INNER))

Here p is the cube center and r its world-frame rotation. HALF is 0.02 m, INNER is 0.05 m and TRAY is the tray center. The rest of the evaluator checks validation, support, contact, speed and settling.

The absolute values account for either end of each rotated local axis. An arbitrarily rotated tray would first need a conversion into its own frame. This is a containment check, not a perception algorithm.

The edge case that changes the answer

Consider a level cube whose center is 25 mm from the tray center along X, with no Y offset.

Cube orientation X half-extent Center offset plus extent Within the 50 mm boundary?
Faces aligned with the tray 20 mm 45 mm Yes
Rotated 45 degrees around vertical About 28.3 mm About 53.3 mm No

The rotated extent is 20 × (cos(45°) + sin(45°)), about 28.3 mm. Both centers are comfortably inside the footprint. Only the aligned cube fits completely.

The available center offset falls from 30 mm to about 21.7 mm. Rotation consumes placement margin.

This calculated state exercises the containment rule. It does not demonstrate that a controller perceived the rotation or physically placed an object at that angle.

Containment is only the first condition

A contained cube still had to satisfy the other parts of the task:

Condition September 18 criterion
Support Positive tray-floor contact force above 0.01 N, with the cube bottom within 2 mm of the floor
Release No contact with any robot body
Linear speed At most 0.01 m/s
Angular speed At most 0.1 rad/s
Settling All placement conditions maintained for 0.5 continuous simulated seconds

Height alone could not turn a floating cube into a supported one. The simulator also had to report contact.

Any broken condition reset the settling interval. A 0.4-second stable interval, lost support and another 0.1 seconds did not add up to success.

Reasons distinguished robot contact, containment, support, movement and settling. Invalid numerical state or rotation produced an indeterminate outcome.

Follow one attempt through the system

The reference controller received privileged scene information and prepared joint waypoints for approach, grasp, lift, traverse and release. It was a scripted reference path, not a camera-driven grasping agent.

Those commands ran through simulator actuators. The independent evaluator watched the resulting state. A retained clean-source nominal attempt completed with seven actions over about 6.406 simulated seconds, ending in success. Its executed result is separate from reset-only scoring fixtures and from the calculated 45-degree example above.

That single development case established a specific executed path. It did not establish performance across different objects, camera conditions, randomized starting poses or physical hardware.

Relaxing containment or shortening settling would change the task, not show that the controller had improved.

In the worked 45-degree case, a 25 mm center offset misses the actual boundary by about 3.3 mm. Scoring the center alone would report a different task from placing the whole cube in the tray.

Revision notes

  • : Expanded the September 18 cube-evaluation explanation with a worked geometry case and its execution scope.
  • : Added the historical containment-code excerpt and clarified its relation to the worked geometry.
  • : Distinguished the calculated rotation example from reset-only scoring fixtures and the executed nominal attempt.
  • : Assigned a separate editorial timeline date to space the five stories in reading order; original evidence and publication dates are unchanged.

Related reading