NVIDIA AI が自己改善型ロボットフレームワーク「ASPIRE」を発表、LIBERO-Pro の長期タスクでゼロショット成功率 31% を達成
NVIDIA を含む研究チームが、失敗の根本原因を特定し修正スキルを蓄積する自己改善型ロボットフレームワーク「ASPIRE」を発表し、LIBERO-Pro の長期タスクで 31% というゼロショット性能を達成した。
キーポイント
継続学習と技能ライブラリの構築
既存のロボットコーディングエージェントが失敗時に単に「失敗」という粗いフィードバックしか得られないのに対し、ASPIRE は失敗した原因を特定し、修正されたスキル(ヒューリスティックやグーピング制約など)を再利用可能なライブラリとして蓄積・洗練させる。
詳細なマルチモーダル追跡とデバッグ
各プリミティブ(知覚、計画、制御)ごとの入出力や RGB キーフレーム、把持候補などの詳細なトレースを記録し、失敗時に特定の呼び出しに焦点を当てて故障箇所を局在化・検証する閉ループ実行エンジンを採用している。
進化的探索による多様な解決策
単一の戦略の修正に陥るのを防ぐため、各ラウンドで上位パフォーマンスを持つ過去のプログラムと残りの失敗トレースを条件として K 個の候補プログラムを生成し、異なる戦略を探索する進化検索メカニズムを実装している。
高いゼロショット性能の実証
シミュレーション環境(Claude Code と CaP-X フレームワーク)において、LIBERO-Pro の長期タスクで 31% という驚異的なゼロショット成功率を達成し、従来のスケーラビリティの壁を突破する可能性を示した。
厳格なシミュレーション制約下での自己改善
コーディングエージェントは物理状態やアセットファイルを読み込めず、カメラ映像のみから推論する「リアルロボットと同じ条件」で失敗原因を特定し、コードを修正してスキルを蓄積します。
既存手法を凌駕するゼロショット性能
LIBERO-Pro の長期タスクにおいて、従来の約 4% から ASPIRE は 31% の達成率を記録し、特に LIBERO-Pro Object スuite で最大 77 ポイントの大幅な向上を示しました。
多角的アプローチによる計画エラーの解決
目標位置が衝突回避バッファ内にあり失敗した場合、エージェントは物体周囲の異なる角度からアプローチするスタンドオフポーズを生成・検証し、ナビゲーション回復スキルとして再利用します。
影響分析・編集コメントを表示
影響分析
この技術は、ロボットプログラミングの非効率な手動調整や、失敗からの学習不足という長年の課題を解決する画期的なアプローチです。特に「技能ライブラリ」への修正スキルの蓄積と再利用により、一度学習した知識が次のタスクに継承されるため、実環境でのロボットの適応能力とスケーラビリティが劇的に向上すると期待されます。
編集コメント
ロボット制御における「失敗からの学習」を、単なる再試行ではなく構造的なスキル蓄積へと昇華させた点に大きな意義があります。実世界での汎用性向上に向けた重要な一歩となる研究です。
従来のロボットプログラミングはスケーリングが困難です。多様な知覚、物理的接触ダイナミクス、多様な構成、そして実行時の失敗を人手で調整する必要があります。コード・アズ・ポリシー(Code-as-Policy)システムでは、言語モデルがこれらを組み合わせて実行可能なロボットプログラムを作成します。これにより、ロボットの動作を検査可能にし、編集・デバッグが可能になります。
しかし、既存のロボティックコーディングエージェントは単純な実行環境で動作しています。彼らが受け取るフィードバックは粗く、タスクレベルのものに限られます。ロールアウトが失敗したという事実は、タスクが失敗したことを示すだけで、その理由までは示しません。根本原因は、知覚、モーションプランニング、把持、接触ダイナミクス、あるいは長期ホライズンの調整のいずれかである可能性があります。これらのシステムはまた、タスクが終了すると修正をすべて破棄してしまいます。そのため、100 番目のタスクを解決するエージェントも、最初のタスクを解決した時点と比べて経験豊富になっているわけではありません。
NVIDIA、ミシガン大学、UIUC(イリノイ大学アーバナ・シャンペーン校)、UC バークレー、そして CMU(カーネギーメロン大学)の研究者チームは、ASPIRE(Agentic Skill Programming through Iterative Robot Exploration:反復ロボット探索によるエージェント型スキルプログラミング)を発表しました。これは、ロボットの制御プログラムを記述し、改良する継続学習システムです。また、検証済みの修正を再利用可能で転送可能なスキルライブラリに凝縮します。
ASPIRE の仕組み
ASPIRE は、3 つのコンポーネントからなるオープンエンドな学習ループを実行します。これはコーディネーター・アクターアーキテクチャを採用しています。中央のコーディネーターが共有スキルライブラリを管理し、コーディングエージェントであるアクターをタスクに割り当てます。アクター同士は完全なチャット履歴や生データ(raw trajectories)を交換しません。やり取りされるのは凝縮されたスキルのみです。
クローズドループロボット実行エンジン:これは粗いロールアウトフィードバックを、各プリミティブごとのマルチモーダルトレースに置き換えます。各知覚、計画、制御の呼び出しにおいて、入力、出力、および返却ステータスを保存します。また、RGBキーフレーム、オーバーレイ、把持候補、オブジェクトポーズ、モーションプランニング結果も保存されます。エージェントは失敗に関与した呼び出しのみを検査し、故障箇所を特定して再実行を通じて修復を検証します。
スキルライブラリ:再利用可能な知識が単なるタスクプログラム全体であることは稀です。そのため、このライブラリは多様な修正策を格納しています。これには位置決めヒューリスティック、知覚プロンプト、把持制約、モーションプリミティブ、デバッグワークフローが含まれます。各スキルはコンパクトなコンテキスト内ガイダンスであり、失敗シグネチャ、適用条件、修復戦略、そして多くの場合コードのスケッチを保持しています。コーディネーターは、デバッグ検証と API ポリシーチェックに合格したパターンのみを受け入れます。
進化的探索:トレース誘導型デバッグだけでは局所的な修復ループに陥る可能性があります。エージェントが同じ失敗した戦略に対してパッチを適用し続ける事態です。探索範囲を広げるため、ASPIRE は各ラウンドで K 個の候補プログラムを提案します。候補は、最上位パフォーマンスを示す過去のプログラムと、その残存する失敗トレースに基づいて条件付けられます。次のラウンドでは一つの解決策を洗練させるのではなく、異なる戦略を探求します。
シミュレーション環境では、コーディングエージェントは Claude Code(Claude Opus 4.6)であり、100 万トークンのコンテキストウィンドウを備えています。プログラムは、MuJoCo Playground を基盤としたオープンソースのコード・アズ・ポリシーフレームワークである CaP-X で記述されます。エージェントはシミュレーターの真値(ground truth)を読み取ることはできません。物理エンジンの状態や .bddl、.xml、.urdf などのアセットファイルを読み取ることも禁止されています。ルールは単純です。カメラを備えた実機ロボットが実行できることのみが許可されます。
インタラクティブ・エクスプローラー
(function(){
var f=document.getElementById("aspire-demo-frame");
window.addEventListener("message",function(e){
if(e&&e.data&&e.data.aspireDemoHeight){ f.style.height=e.data.aspireDemoHeight+"px"; }
});
})();
具体例:マルチアングルアプローチのスキル
BEHAVIOR-1K のタスクを想定してください。ここではロボットがテーブル近くのラジオを掴む必要があります。知覚機能はラジオの姿勢(pose)を返しますが、repeated navigate_to_pose 呼び出しは失敗します。生成されたゴールはテーブル端から約 20 センチメートル以内の位置にあり、これはテーブルの衝突回避バッファ内に含まれてしまいます。その結果、cuRobo は PLANNING_ERROR を返します。
エージェントはトレースを読み取り、原因を特定します。失敗の原因は目標の実行不可能性(target infeasibility)であり、知覚や把持の問題ではありません。その後、ラジオの周囲にスタンオフポーズ(standoff poses)をサンプリングする修復コードを記述します。
Copy CodeCopiedUse a different Browser
radio_pos, safe_navigate(), dist_to() は ASPIRE のロボット API によって提供されます
for angle_deg in [180, -90, 90, -45, 45]:
angle = np.radians(angle_deg)
tx = radio_pos[0] + 0.7 * np.cos(angle) # ラジオから 0.7 m のスタンドオフ距離
ty = radio_pos[1] + 0.7 * np.sin(angle)
face_yaw = np.arctan2(radio_pos[1] - ty, radio_pos[0] - tx)
moved = safe_navigate([tx, ty, face_yaw], f"ang_{angle_deg}")
if moved and dist_to(radio_pos[:2]) < 0.8: # 0.8 m 以内のポーズに到達した場合
break
各角度は、目標をオブジェクトの異なる側に配置します。ある側が塞がれている場合でも、別の側が開いていることがよくあります。ここでは 180 度のポーズによってバッファがクリアされます。検証済みの修正策は、再利用可能なナビゲーション回復スキルとして採用されます。
ベンチマークと結果
ASPIRE は 3 つのベンチマークファミリーで評価されています。LIBERO-Pro は、オブジェクト、目標、空間的な摂動下での短時間ホライズンの堅牢性をテストします。Robosuite は、接触を伴う単腕および両腕のマニピュレーションをカバーします。BEHAVIOR-1K は、長時間ホライズの家庭用モバイルマニピュレーションをカバーします。主要なコーディングエージェントのベースラインは CaP-Agent0 です。これは視覚的差分解析、事前定義されたスキルライブラリ、およびエピソードごとのテスト時再試行を使用します。比較には、エンドツーエンドのビジョン・言語・アクションポリシーである OpenVLA、π0、および π0.5 も含まれています。
LIBERO-Pro において、ASPIRE は Object スイートで最大 77 ポイントの向上を達成しました。この数値は、最も強力なベースラインに対する両方の摂動軸の平均値です。また、Goal では 41.5 ポイント、Spatial では 42.5 ポイントの向上が見られました。Robosuite における二腕ハンドオーバーでは成功率が 20% から 92% に上昇し、BEHAVIOR-1K におけるラジオピックアップタスクでも 56% から 88% へと改善しました。
ゼロショット(事前学習モデルを微調整せずに直接適用)の結果は注目すべきものです。LIBERO-90 で蓄積されたスキルを再利用することで、ASPIRE は未見の LIBERO-Pro Long タスクにおいて約 31% の性能を達成します。従来の手法では 4% 付近で頭打ちになるのが一般的でした。
| Dimension | End-to-end VLAs (OpenVLA, π0, π0.5) | CaP-Agent0 | ASPIRE |
|---|---|---|---|
| Paradigm | Learned-weight policy | Code-as-policy agent | Code-as-policy agent |
| Cross-task experience | None (frozen weights) | Discarded after each task | Distilled into a skill library |
| Failure feedback | None at test time | Coarse scene-level summaries | Per-primitive multimodal traces |
| Test-time strategy | Direct inference | Per-seed reasoning + retries | One program per task |
| LIBERO-Pro overall | 0–13% | 18% | 72% |
| LIBERO-Pro Long zero-shot | 0–5% | ~4% | ~31% |
実ロボットにおけるスキル転移の実験では、研究チームはシミュレーションで発見された 3 つのスキルを実際の二腕 YAM 駅でテストしました。実ロボット用のコーディングエージェントには OpenAI Codex GPT-5.5 を使用しています。エージェンシー(身体)と API はシミュレーションとは異なりますが、転移されたスキルによりデバッグコストを大幅に削減できました。ソーダ缶の持ち上げは 20 回中 13 回成功から 19 回成功へと改善し、必要なトークン数は約 10 分の 1 で済みました。引き出しの開閉では、スキルなしベースラインが一度も成功しなかった状況から、20 回中 11 回の成功へと転換しました。
Key Takeaways
ASPIRE はロボットプログラムの記述とデバッグを行い、検証済みの修正を再利用可能なコンテキスト内スキルとして保存します。
プリミティブごとの多モーダル追跡により、エージェントはロールアウトの結果から推測するのではなく、失敗箇所を特定できます。
LIBERO-Pro におけるスコアは最大で 77 ポイント向上し、Robosuite のハンドオーバー成功率も 20% から 92% に引き上げられました。
ゼロショット転移では、LIBERO-Pro Long タスクにおいて約 31% の達成率を記録しており、これは既存手法の約 4% を大きく上回る結果です。
シミュレーションで発見されたスキルは、異なるエンボディメントと API を持つ実機ロボットにおけるデバッグコストを削減しました。
論文およびプロジェクトページをご覧ください。また、Twitter でフォローしていただくことも歓迎いたします。150,000 人以上の ML サブレッドに参加し、ニュースレターも購読してください。待ってください!Telegram をご利用ですか?今なら Telegram でもご参加いただけます。
GitHu のプロモーションでパートナーシップをご検討いただける場合は、
本記事「NVIDIA AI Introduces ASPIRE: A Self-Improving Robotics Framework Reaching 31% Zero-Shot on LIBERO-Pro Long Tasks」は、MarkTechPost で最初に公開されました。
原文を表示
Traditional robot programming is hard to scale. It requires orchestrating multimodal perception, physical contact dynamics, diverse configurations, and execution failures by hand. Code-as-policy systems let language models compose these into executable robot programs. That makes robot behavior inspectable, editable, and debuggable.
But existing robotic coding agents run in naive execution environments. They receive only coarse, task-level feedback. A failed rollout signals that the task failed, not why. The root cause can be perception, motion planning, grasping, contact dynamics, or long-horizon coordination. These systems also discard fixes once a task ends. So the agent solving its hundredth task is no more experienced than at its first.
A team of researchers from NVIDIA, University of Michigan, UIUC, UC Berkeley, and CMU introduces ASPIRE (Agentic Skill Programming through Iterative Robot Exploration). It is a continual learning system that writes and refines robot control programs. It also distills validated fixes into a reusable, transferable skill library.
How ASPIRE works
ASPIRE runs an open-ended learning loop with three components. It uses a coordinator–actor architecture. A central coordinator manages the shared skill library and dispatches actor coding agents to tasks. Actors do not exchange full chat histories or raw trajectories. Only distilled skills move between them.
Closed-loop robot execution engine: This replaces coarse rollout feedback with per-primitive multimodal traces. For each perception, planning, and control call, it stores inputs, outputs, and return status. It also stores RGB keyframes, overlays, grasp candidates, object poses, and motion-planning results. The agent inspects only the calls implicated by a failure. It then localizes the fault and validates a repair through re-execution.
Skill library: Reusable knowledge is rarely an entire task program. So the library stores heterogeneous fixes. These include localization heuristics, perception prompts, grasping constraints, motion primitives, and debugging workflows. Each skill is compact in-context guidance. It holds a failure signature, a when-to-apply condition, a repair strategy, and often a code sketch. The coordinator admits only patterns that pass debug validation and API-policy checks.
Evolutionary search: Trace-guided debugging alone can collapse into local repair loops. The agent keeps patching the same failed strategy. To broaden exploration, ASPIRE proposes K candidate programs each round. Candidates condition on top-performing prior programs and their remaining failure traces. The next round explores distinct strategies rather than refining one solution.
In simulation, the coding agent is Claude Code with Claude Opus 4.6 and a 1M-token context window. Programs are written in CaP-X, an open-source code-as-policy framework built on MuJoCo Playground. The agent cannot read simulator ground truth. Reading physics-engine state or asset files like .bddl, .xml, or .urdf is forbidden. The rule is simple. If a real robot with a camera could do it, it is allowed.
Interactive Explainer
(function(){
var f=document.getElementById("aspire-demo-frame");
window.addEventListener("message",function(e){
if(e&&e.data&&e.data.aspireDemoHeight){ f.style.height=e.data.aspireDemoHeight+"px"; }
});
})();
A worked example: the Multi-Angle Approach skill
Consider a BEHAVIOR-1K task where a robot must pick up a radio near a table. Perception returns the radio pose, but repeated navigate_to_pose calls fail. The generated goal lies within about 20 centimeters of the table edge. That falls inside the table’s collision-avoidance buffer, and cuRobo returns PLANNING_ERROR.
The agent reads the trace and localizes the cause. The failure is target infeasibility, not perception or grasping. It then writes a repair that samples standoff poses around the radio.
Copy CodeCopiedUse a different Browser
radio_pos, safe_navigate() and dist_to() are provided by ASPIRE's robot API
for angle_deg in [180, -90, 90, -45, 45]:
angle = np.radians(angle_deg)
tx = radio_pos[0] + 0.7 * np.cos(angle) # standoff 0.7 m from the radio
ty = radio_pos[1] + 0.7 * np.sin(angle)
face_yaw = np.arctan2(radio_pos[1] - ty, radio_pos[0] - tx)
moved = safe_navigate([tx, ty, face_yaw], f"ang_{angle_deg}")
if moved and dist_to(radio_pos[:2]) < 0.8: # reached a pose within 0.8 m
break
Each angle puts the goal on a different side of the object. When one side is blocked, another is often open. Here the 180-degree pose clears the buffer. The validated fix is admitted as a reusable navigation-recovery skill.
Benchmarks and results
ASPIRE is evaluated on three benchmark families. LIBERO-Pro tests short-horizon robustness under object, goal, and spatial perturbations. Robosuite covers contact-rich single- and dual-arm manipulation. BEHAVIOR-1K covers long-horizon household mobile manipulation. The primary coding-agent baseline is CaP-Agent0. It uses visual differencing, a predefined skill library, and per-episode test-time retries. The comparison also includes end-to-end vision-language-action policies: OpenVLA, π0, and π0.5.
On LIBERO-Pro, ASPIRE gains up to 77 points on the Object suite. That figure averages both perturbation axes over the strongest baseline. It also gains 41.5 points on Goal and 42.5 points on Spatial. On Robosuite, bimanual handover rises from 20% to 92%. On BEHAVIOR-1K, the radio pickup task rises from 56% to 88%.
The zero-shot result is notable. Reusing skills accumulated on LIBERO-90, ASPIRE reaches about 31% on held-out LIBERO-Pro Long tasks. Prior methods saturate near 4%.
DimensionEnd-to-end VLAs (OpenVLA, π0, π0.5)CaP-Agent0ASPIRE
ParadigmLearned-weight policyCode-as-policy agentCode-as-policy agent
Cross-task experienceNone (frozen weights)Discarded after each taskDistilled into a skill library
Failure feedbackNone at test timeCoarse scene-level summariesPer-primitive multimodal traces
Test-time strategyDirect inferencePer-seed reasoning + retriesOne program per task
LIBERO-Pro overall0–13%18%72%
LIBERO-Pro Long zero-shot0–5%~4%~31%
Real-robot skill transfer
The research team tests three simulation-discovered skills on a real bimanual YAM station. The real-robot coding agent is OpenAI Codex GPT-5.5. The embodiment and API differ from simulation. Transferred skills reduce debugging cost. Soda-can lifting improved from 13/20 to 19/20 while using about 10x fewer tokens. Drawer opening moved from 0/20 to 11/20, where the no-skill baseline never succeeded.
Key Takeaways
ASPIRE writes and debugs robot programs, then saves validated fixes as reusable in-context skills.
Per-primitive multimodal traces let the agent localize failures instead of guessing from rollout outcomes.
It gains up to 77 points on LIBERO-Pro and lifts Robosuite handover from 20% to 92%.
Zero-shot transfer reaches about 31% on LIBERO-Pro Long, against about 4% for prior methods.
Simulation-discovered skills reduced real-robot debugging cost across a different embodiment and API.
Check out the Paper and Project Page. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHu
The post NVIDIA AI Introduces ASPIRE: A Self-Improving Robotics Framework Reaching 31% Zero-Shot on LIBERO-Pro Long Tasks appeared first on MarkTechPost.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み