Physics experiments / YAM + bottle

Can a different simulator
make the bottle pick work?

The cube-to-bottle swap failed in the RL setup. These independent experiments isolate a simpler question: can the YAM arm grasp our 80 g bottle using scripted motion and contact physics?

13 September 2026 · 19:10 UTC · Actual bottle mesh · Plain mesh rendering · No 3DGS · State-only PPO

SuperDex · pick and release passA stable lift, then a clean release.

The bottle stays at least 15.3 cm above the floor during the hold. Opening the fingers returns it to ground support.

Watch the full sequence ↓
ComFree · rest passes, pick failsThe bottle stays on the floor.

The same local scene and motion lift successfully with the MuJoCo and MJWarp reference solvers. Finger coupling is a lead to investigate.

Compare the evidence ↓
State-only policy learning

SuperDex PPO training

Stopped · 339,968 environment steps · 16 physics workers · Ray/RLlib PPO on SuperDex Lab

The policy observes 43 state values and no images. It chooses XYZ movement and gripper opening; IK tracks a fixed downward wrist orientation. Every episode starts with an open gripper above a grounded bottle. These runs use learned policy actions, with no scripted pick sequence or demonstration initialization.

Checkpoint 80: 8/8 successful development episodes. Success requires the bottle bottom above 10 cm for one second, supported by both fingers with no floor support. Repeated development seeds are not a held-out qualification set.

Both-finger contact occurred in 8/8 episodes. Contact alone does not count as a successful lift.

Evaluation records and criteria

PPO training return and training episode success versus collected environment steps
Training metrics use the recent episode window. They are not held-out success estimates.

Untrained policy

Fixed development seed 1001. This illustration is one episode; see the complete evaluation records for the denominator.

Checkpoint 70 · learned PPO policy

Fixed development seed 1001. This illustration is one episode; see the complete evaluation records for the denominator.

Fresh-seed evaluation · checkpoint 70

32/32 successful picks (100.0%). These seeds were excluded from training and repeated development evaluations. Bottle XY varies by ±1 cm; initial gripper XY varies by ±5 mm. This measures this simulated setup only.

Every evaluation outcome · Checkpoint and evaluation settings

Learned policy · fresh seed 2001

Success. Recorded SuperDex physics, rendered after evaluation. No images enter the policy.

Learned policy · fresh seed 2002

Success. Recorded SuperDex physics, rendered after evaluation. No images enter the policy.
Earlier RL attempts

ppo_v1_seed42 / eval_00050

Earlier task revision: 0/8 development successes. Retained to show the observed failure rather than replacing its evidence.

This is a timestamped publication snapshot. The training process can advance between publications. The scripted physics demonstrations below remain a separate reference.

01 / Independent simulation engine

SuperDex

A contact-driven approach, grasp, lift, hold, and release. The video renders the actual recorded physics transforms with the copied YAM and bottle meshes.

Completed diagnostic
Successful pick + release · 15 s. The bottle remains dynamic throughout. Both fingers support it during the hold; after opening, neither finger exerts a contact force and the floor supports its weight.
15.3–15.5 cmLowest bottle mesh point during hold
2 secondsHold before opening the fingers
0.7848 NGround support after release; matches weight
SuperDex bottle bottom rises during lift, stays 15.3 to 15.5 cm high during hold, and returns to the floor after release
Measured lowest mesh point in world coordinates. A small penetration is present at ground contact.

This nominal scripted pick demonstrates feasibility. It does not show that the previous RL failure is fixed, establish a success rate, or reproduce the original controller exactly.

02 / Contact solver comparison

ComFree

ComFree settles the bottle correctly, but the tested settings fail to lift it. The passing CPU reference below uses the same local scene and scripted motion with explicit arm gravity compensation.

Pick unresolved

ComFree GPU · failed pick

Default contact parameters, CCD35. The gripper lifts away while the bottle remains grounded. Final bottle-frame height: 4.92 cm.

MuJoCo CPU · passing reference

Same scene, trajectory, and gravity compensation. Minimum bottle-frame height during hold: 14.60 cm. This is a reference result, not a ComFree success.
Same ComFree-workspace scene and controller; all rows use arm gravity compensation.
Backend / settingPickMinimum hold heightMax coupling errorTrace
ComFree · default / CCD35Fail4.92 cm8.97 mmCSV
ComFree · default / CCD100Fail4.92 cm9.05 mmCSV
ComFree · tuned / CCD100Fail4.93 cm5.31 mmCSV
MJWarp GPU · CCD100Pass14.56 cm0.36 mmCSV
MuJoCo CPU · referencePass14.60 cm0.36 mmCSV
ComFree stays grounded and shows larger finger coupling error; MJWarp and CPU MuJoCo references lift and hold the bottle
Shaded interval: final two-second hold. Dashed horizontal line: 13 cm success threshold. Height is the bottle body's reference-frame origin, not its lowest point or center of mass. Coupling error is the absolute sum of the two finger joint positions.

The vendored MJWarp GPU solver also passes with CCD100. Increasing ComFree's CCD budget or modestly tuning its contact parameters does not rescue the pick. Its finger coupling deviates by up to 9.05 mm, versus 0.36 mm with MJWarp. This is a measured difference to investigate; it is not a proven cause.

CCD warnings occur in both the failing ComFree and passing MJWarp runs, so the warnings alone do not explain the outcome. ComFree uses MJWarp collision detection, including convex-hull collision for this bottle mesh.

Scope and interpretation

What is shared, and what differs?

Shared starting assets

The YAM arm and the 80 g bottle come from local copies of the existing task assets. Joining duplicated texture-seam vertices produces a watertight 386-vertex, 768-triangle bottle. Each simulator owns its environment, assets, scripts, and results.

The physics probes use scripted motion. The separate PPO experiment above uses state-only learned actions. No room reconstruction or 3DGS rendering is used.

Separate feasibility tests

SuperDex uses an SDF of the actual bottle surface, tessellated wrist/finger colliders, and two symmetric finger drives with explicit PD gains. ComFree uses MuJoCo/Warp convex mesh collision, the original finger equality coupling, and arm gravity compensation.

The motion, timestep, and height metrics differ between these two setups. Read the ComFree solver comparison within its own experiment; do not rank engines by these lift heights.

Earlier development runs and additional replay

SuperDex · hold-only success

Successful eleven-second run before the release check was added.

SuperDex · incorrect gripper mapping

Retained development failure. The open/close mapping was reversed and the gripper tipped the bottle during descent.

MuJoCo CPU · without gravity compensation

Tracking sag leaves the bottle below the hold-height criterion. This predates the gravity-compensated reference.

Discarded and unresolved probes

The first SuperDex rest probe used an incorrectly packed inertia tensor and produced a singular solver. It was invalidated and is excluded from the successful evidence.

ComFree required a local one-line fix for an undefined sensor-frame variable during Warp compilation. The patch and the data-transfer workaround are documented in the experiment notes.