アクションチャンクの「長さ」と再計画の「間隔」は、同じ数字で語られがちな点が気になります。
先に結論
ロボットの行動方策では、1回の推論で予測する長さ H と、次の推論まで実際に実行する長さ K を分けて設計するべきです。Hはタスクの時間的なまとまりや先読みを表し、Kは環境変化に対する反応性と推論負荷を左右します。
基本方針は、通常 H >= K とし、予測した全アクションを固定的に実行しないことです。接触、物体移動、外乱、視覚変化が多い局面ではKを小さくし、安定した自由空間動作や推論コストが高い構成ではKを大きくする候補があります。ただし、最適な数値はロボット、制御周期、アクション表現、推論遅延、タスクによって変わるため、実機でHとKを組み合わせたアブレーションを行って決めます。
なぜHとKを分けるのか
アクションチャンクとは、方策が1回の推論で単一のアクションではなく、複数ステップの連続アクション列を予測する設計です。ACT(Action Chunking with Transformers)は固定長のアクション列を予測し、時間的に重なる予測をtemporal ensembleで融合する構成を採用しています。一方、Diffusion Policyはアクション列を生成し、その一部を実行して観測を更新し、再計画するreceding-horizon controlを用います。
ここで「チャンク長」という言葉を、予測する列の長さと、再計画まで実行する長さの両方に使うと、実装上の議論が曖昧になります。本稿では、予測長をH、実行してから次に推論する間隔をKと定義します。Hを長くしても、Kを短く保つことは可能です。逆にHとKを同じ値にして、予測列全体をオープンループで実行することもできますが、その場合は途中の観測を使った修正機会が減ります。
ステップ数ではなく時間で考える
HとKはステップ数だけでなく、低レベル制御周期 Δt_ctrl と組み合わせて評価します。予測時間はHΔt_ctrl、再計画時間はKΔt_ctrlです。同じKでも、制御周期が異なれば、ロボットが観測なしで動く物理的な時間は変わります。
さらに、観測、通信、方策推論を含むエンドツーエンド遅延を T_inf とします。同期推論では、少なくともT_infがKΔt_ctrlを超えないかを確認する必要があります。超える場合、推論完了までに現在のアクション列を使い切る可能性があります。そのときは、アクションバッファ、非同期推論、低レベルサーボ、安全な停止・ホールド機構などを設け、推論の遅さを単純なオープンループ時間の増加として放置しないことが重要です。
flowchart LR A["時刻 t0:観測"] --> B["方策推論"] B --> C["長さHのアクション列を予測"] C --> D["最初のKステップだけ実行"] D --> E["時刻 t0+K:新しい観測"] E --> F["次のアクション列を再計画"] F --> G["新しい列の一部を実行"] G --> H["次の観測と再計画"] C -. "HΔt_ctrl:予測時間" .-> D D -. "KΔt_ctrl:実行・再計画間隔" .-> E F -. "予測が重なる場合" .-> I["temporal ensembleや加重平均で融合"] I -. "滑らかさと反応遅れを評価" .-> G C -. "基本方針 H≥K" .-> F
HとKの時間軸
時刻t0で方策が長さHのアクション列を予測し、そのうち最初のKステップを実行します。t0+Kで新しい観測を取得し、次の列を予測します。新しい予測と過去の予測が同じ時刻に対応する場合は、temporal ensembleや加重平均によって融合できます。これにより、チャンク境界での入力の不連続や急変を抑えられる可能性があります。
ただし、過去の予測を長く残すほど、急な状態変化への応答が遅くなる可能性があります。融合窓や重みは、滑らかさだけでなく、接触失敗や反応遅れも含めて評価しなければなりません。
設計候補の比較
| 設計 | HとKの関係 | 長所 | 主な制約・適した場面 |
|---|---|---|---|
| 逐次再計画 | K=1に近い | 観測更新が頻繁で、状態変化へ対応しやすい | 推論回数と計算負荷が増えやすい。接触や動的変化がある場面の候補 |
| 短いチャンク実行 | H>=K、Kは小さめ | 先読みを保ちながら再計画できる | 推論遅延が大きいと実行列が不足する可能性。接触直前や把持の候補 |
| 長いチャンク実行 | HとKが大きい | 推論呼び出し回数を減らし、動作の時間的まとまりを保ちやすい | 観測が古くなり、誤差蓄積や外乱への反応遅れが増える。安定した自由空間動作の候補 |
| 重複チャンクの融合 | H>Kで重複を利用 | チャンク境界の急変を抑えられる可能性 | 融合窓と重みの調整が必要。急な状態変化には不利になり得る |
| フェーズ依存・イベント駆動 | 局面ごとにKを変更 | 自由空間では効率を高め、接触局面では反応性を高められる | トリガー設計と実機評価が必要で、固定周期を一貫して上回る一般的証拠は確認されていない |
タスク別の判断基準
Kは、推論遅延と、外乱・物体移動・接触状態の変化を許容できる時間から決めます。接触操作、柔らかい物体、動的環境、視覚変化の大きいタスクでは、短いKが候補です。把持、挿入、力制御、接触直前のように状態が短時間で変わる局面では、次の観測を早く反映できることを優先します。
安定した自由空間移動では、比較的大きいKを検討できます。推論コストが高い場合もKを大きくする動機になりますが、推論回数の削減だけで決めると、環境変化への追従性を失う可能性があります。Kを大きくする場合は、低レベル制御による安定化や、安全な停止・ホールドを別の層で用意します。
Hは、タスクの一つの時間的なまとまりを表現できる程度の先読みを持たせます。一方、未来ほど予測誤差や環境変化が大きくなるため、無条件に長くするべきではありません。Hを長くすると時間的整合性や推論呼び出し回数の削減が期待できますが、H全体を固定的に実行すれば、観測の古さと誤差蓄積が増えます。
実装時の評価手順
まず制御周期を固定し、Kを1、2、4、8ステップなどの候補で比較します。各Kについて、HをK、2K、4Kなどに変えると、再計画間隔と予測先読みの影響を分離しやすくなります。これは初期探索のための実装上の意見であり、対象システムに適した値を保証するものではありません。
評価指標は成功率だけに限定しません。推論遅延、推論回数、計算負荷、介入回数、接触失敗、軌道の急変、終端誤差などを同時に記録します。成功率が同程度でも、Kが大きい構成は計算負荷が低い一方で、接触失敗や介入回数が増える可能性があります。反対にKが小さい構成は反応性に有利でも、推論処理が制御周期に間に合わなければ成立しません。
研究実装で採用される有限長アクション列の長さ、再計画方法、制御周波数は、手法・タスク・ロボット構成ごとに異なります。ACT、Diffusion Policy、π0、Octoなどの設定値を、別のロボットへそのまま移植して優劣を判断する根拠にはなりません。
どの構成を採用すべきか
設計の出発点は、Hをタスクの時間的まとまりに合わせ、Kを環境変化と推論遅延に合わせることです。観測変化が速いならKを短く、変化が穏やかならKを長くします。Hは原則としてK以上にし、先読みを持たせながら、実行は再計画によって分割します。
自由空間から接触、把持、挿入へ進むタスクでは、タスク全体でKを固定するより、フェーズ依存またはイベント駆動の再計画を検討できます。力覚変化、対象の移動、予測不確実性、制約違反の兆候を早期再計画のトリガー候補にできます。ただし、これらの方式が常に固定周期より優れるとは限らず、トリガーの検出と安全性を実機で確認する必要があります。
まとめ
アクションチャンク設計の要点は、予測長Hと再計画間隔Kを同じものとして扱わないことです。Hは先読みと時間的整合性、Kは観測更新の頻度と反応性を表します。両者をHΔt_ctrl、KΔt_ctrlという時間尺度で捉え、T_infとの整合、安全機構、タスクの接触性を確認したうえで、実機アブレーションから決定します。
参考情報
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
- Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
- π0: A Vision-Language-Action Flow Model for General Robot Control
- Octo: An Open-Source Generalist Robot Policy
実機では、滑らかさと反応性を同じ指標で済ませず、両者を分けて確かめる必要があります。
AI利用に関する注記
本サイトの記事は、複数のAIエージェントによる調査・執筆・レビューを経て公開しています。正確性と品質の向上に努めていますが、内容については必ず一次情報をご確認ください。