Learn / Practice

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

EMBODIED-AI / EXPLORE · Engineering cases

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

INTERMEDIATE · 9 MIN · UPDATED 2026-10-03 · PART 10 / 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 practice (11): placement completed, but is it still valid?

    Seven MuJoCo rollouts and a paired replay separate historical completion from current validity, including false alarms and expiry boundaries.

    11 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

The recovery ablation showed why smooth replanning alone does not explain repeated stops. This experiment adds a resume budget and minimum hold duration to the E5 fresh-observation gate.

More restrictions do not automatically produce more completed tasks. The recorded results expose that tradeoff.

1. Preserve the evidence gate

During transfer, capture age reaching 60 ms triggers hold. Resuming requires fresh, consecutive, good observations captured after the stop and spanning at least 100 ms. Bilateral contact, lift height and grasp distance must still pass.

Each resume replans from the measured hand position over 500 ms, followed by the existing lower/release/retreat sequence. A hold exceeding 800 ms aborts.

Policy Resume cap Minimum hold
unlimited No per-episode count cap 0, evidence still required
budget-two 2 0, evidence still required
budget-two-cooldown 2 400 ms, evidence still required

Unlimited still has a 12 s episode horizon and an 800 ms hold deadline. The budget counts admitted resumes, not received packets.

2. Four communication conditions

The matrix contains clean operation; a 4.6–4.84 s gap; periodic gaps from 4.3 s, dropping 140 ms of every 440 ms until 6.94 s; and permanent silence from 4.3 s. These faults alter communication, not physical state or capture timestamps.

Monitoring remains transfer-only. Faults are tied to absolute simulation time, so different waits affect motion progress and exposure. Twelve deterministic rollouts do not establish a whole-task pure budget effect or randomized success rate.

3. Outcomes

Condition Unlimited Cap 2 Cap 2 + cooldown
Clean 0 resumes, pass 0, pass 0, pass
Single gap 1, pass 1, pass 1, pass
Repeated gaps 6, pass 2, budget abort 2, budget abort
Permanent gap 0, deadline abort Same Same

The unlimited policy eventually places the cube despite repeated interruptions. Both capped policies obey their resource rule but abort with the cube still held. Bounded behavior and successful task completion are separate metrics.

Hold, resume and abort events under repeated gaps for three budget policies

4. Cooldown does not guarantee future stability

The first hold occurs at 4.342 s. Without cooldown, recovery occurs at 4.542 s; with cooldown, at 4.742 s. The next stale-observation stop arrives at 4.782 s, only 40 ms later.

Waiting 400 ms proves a past waiting duration. It does not predict a future healthy interval. The capture age and prior observation window were valid at resume, but the next scheduled gap was close. Longer health windows or link-quality estimates need separate frozen comparisons, not post-hoc tuning to improve the chart.

5. Order the constraints explicitly

The base gate checks its 800 ms deadline first. Once recovery evidence qualifies, the subclass rejects an exhausted budget, waits for minimum hold time if necessary, or admits the resume:

if resumes >= cap:
    abort("budget")
elif now - hold_tick < cooldown:
    keep_waiting()
else:
    resume_after_revalidation()

Budget abort keeps the held target. It does not automatically incorporate the E8 opening exit, which would introduce another explanation for changed placement outcomes. Combining individually tested modules requires a new integration test.

6. Verification and limits

Sixteen tests cover contract boundaries and evidence-tampering rejection. The independent audit covers 96 records from 32 rollouts and 11 source fingerprints, checking E10 resume counts, post-hold observation windows, freshness, cooldown and deadlines.

This is neither an independent physics-force recomputation nor a formal safety proof. No hardware braking, variable loads, realistic sensor-error distribution or cross-scene performance was evaluated. VL01 and full M4/M5 remain open.

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

Predict the outcome of a zero resume budget, or a cooldown longer than the hold deadline, before reading the corresponding tests. These boundaries explain more than a generic retry counter alone.

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 practice (11): placement completed, but is it still valid? →

You are here

EXPLORE / Getting started with embodied AI

  1. ○ Embodied AI IX: a release command is not verified placement
  2. ○ Embodied AI X: why can a recovery budget stop a recoverable task?
  3. ○ Embodied AI practice (11): placement completed, but is it still valid?

KEEP EXPLORING

Related content

  1. LAB / 018

    E10 / Bounded recovery and cooldown

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

    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 IX: a release command is not verified placement

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

    9 MINPublished

Which way next?

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

← All writing