Learn / Practice

Embodied AI IX: a release command is not verified placement

EMBODIED-AI / EXPLORE · Engineering cases

Apply single-capture and sustained-window checks to five actual trajectories, including forged observations and post-completion disturbance.

INTERMEDIATE · 9 MIN · UPDATED 2026-10-03 · PART 9 / 22

What was published after this article?

The original conclusions and next-step proposals are retained. These published follow-ups do not imply that every limitation has been resolved.

KEEP EXPLORING

Related content

  1. Engineering cases

    Embodied AI X: why can a recovery budget stop a recoverable task?

    Twelve rollouts compare unlimited recovery, a two-resume cap and a 400 ms cooldown, separating bounded behavior from task completion.

    9 MINPublished

View count unavailable

On this page 7
Reproduce from a clean checkout · this article’s revision

Windows PowerShell with Python 3.12. Use a new directory, not a working copy with unsaved changes. Each article pins its own revision; the first article’s revision does not contain later experiments.

git clone https://github.com/VirtualSelect/hohoo-embodied-agent.git hohoo-embodied-agent-study
cd hohoo-embodied-agent-study
git checkout 497d0df30c1f66de50fb38b930f0c6ea069d9634
python -m venv .venv
$py = '.\.venv\Scripts\python.exe'
& $py -m pip install -r requirements-lock.txt
& $py experiments/vl01_exit_release_budget/run.py --out outputs/my-run
& $py experiments/vl01_exit_release_budget/audit.py outputs/my-run

Expect raw trajectories, summaries and audit results. Use a new output directory to preserve earlier results; runners differ in how they handle existing directories. E8–E10 share one experiment runner. No model calls are made; run the numeric experiment first and use the article’s separate replay command for video.

Troubleshooting: a missing experiment directory usually means the wrong revision; import failures require checking the interpreter and environment. OpenGL errors concern rendering steps. On Linux/macOS use .venv/bin/python; those platforms have not been retested.

Inspect the pinned code ↗

Pinned code · Raw evidence and audit · Experiment record

After issuing an opening target, when may a controller report that placement is complete? A returned command proves neither finger separation nor a settled object. This experiment adds an observer that checks completion without changing the physical controller.

1. Compare observers on the same trajectory

The fixed script enters release at 6.5 s. Physics steps every 2 ms and observations arrive every 20 ms. One rule accepts the first qualifying fresh capture; the other requires consecutive qualifying captures spanning at least 250 ms. Missing, stale or bad observations break the window.

Both completion events latch. They mean that a condition held at a particular time, not that it will remain true forever. Two observers on five trajectories are not ten independent physical runs.

2. State the predicate

The release phase must have started and the cube must previously have risen above 100 mm. Qualifying observations require:

Field Constraint
XY Each axis within 45 mm of(0.24, 0.12)m
Z Within 6 mm of 26 mm
Linear speed Below 0.02 m/s
Support Contact with bin_floor
Separation No left/right finger contact
Freshness Increasing captures younger than 60 ms
Continuity No capture gap above 20 ms

These are privileged simulation observations, not vision estimates or verified support forces. With 20 ms sampling, a 250 ms span threshold requires 260 ms between the first and accepting captures.

3. Recorded results

Condition Single capture Sustained window Final placement at 12 s
Clean 6.842 s 7.102 s Pass
Fingers stay closed None None Fail
Opening delayed until 7.0 s 7.042 s 7.302 s Pass
One forged good capture while closed 6.602 s None Fail
External force after 8.0 s 6.842 s 7.102 s Fail
Completion declarations from two observers and final placement on the same trajectories

4. What the window rejects—and cannot guarantee

The forged-capture condition keeps fingers physically closed but reports a centred, stationary cube touching only the tray at 6.602 s. Physical truth is archived separately. This deliberately injected observation fault is not a claim about a real sensor's noise distribution.

The single-capture observer accepts it. The sustained window breaks on the next genuine bad capture and never declares completion. This supports resistance to this isolated error, not persistent corruption or systematic bias.

In the force condition, both observers correctly accept an actually settled state before a later disturbance. A 1 N external +X force during 8.0–8.08 s invalidates final placement. Calling the earlier report automatically false would confuse a past event with an ongoing guarantee.

5. Event versus continuing validity

A placement stage can emit a completion event and hand responsibility onward. If the task must keep the object in place afterward, monitoring must continue and current validity may need revocation. An interface could separate completedAt, currentlyValid and invalidatedAt; this experiment implements only the first.

A sustained window is not a calibrated confidence score. Neighboring physics captures are correlated, not independent proofs.

6. Reproduce and inspect

python experiments/vl01_exit_release_budget/run.py --out evidence/my-release-series
python experiments/vl01_exit_release_budget/audit.py evidence/my-release-series

Compare the E9 received field with physical contacts and coordinates to locate the forged capture. The archive separates single/window completion from final placement. The independent auditor recalculates window acceptance row by row.

Continue with recovery budgets, which likewise distinguish rule compliance from task completion.

Read this series

A note to your future selfBefore you move on, keep one thought of your own.

Your private reading note stays in this browser; it is never uploaded or published. Clearing browser data removes it, so export a copy to keep. This article’s translations share the same note.

Next published article:Embodied AI X: why can a recovery budget stop a recoverable task? →

You are here

EXPLORE / Getting started with embodied AI

  1. ○ Embodied AI VIII: what should the gripper do after a drop alarm?
  2. ○ Embodied AI IX: a release command is not verified placement
  3. ○ Embodied AI X: why can a recovery budget stop a recoverable task?

KEEP EXPLORING

Related content

  1. LAB / 017

    E9 / Post-release completion verification

    Apply single-capture and sustained-window checks to five actual trajectories, including forged observations and post-completion disturbance.

    Completed
  2. PROJECT / 003

    Hohoo Embodied Experiments

    Two MuJoCo teaching scenes—pick-and-place and planar force control—record contracts, tuning, clearance and delayed-feedback outcomes, including failures.

    Experiment
  3. Engineering cases

    Embodied AI VIII: what should the gripper do after a drop alarm?

    Fifteen fixed-scene rollouts compare hold, open and open-then-retreat after identical alarms.

    9 MINPublished
  4. Engineering cases

    Embodied AI X: why can a recovery budget stop a recoverable task?

    Twelve rollouts compare unlimited recovery, a two-resume cap and a 400 ms cooldown, separating bounded behavior from task completion.

    9 MINPublished

Which way next?

Based on article relationships and published same-topic content, not random recommendations.

← All writing