Foothold Planning
- 別名: footstep planning, foothold selection
- カテゴリ: Control › Locomotion control
- タグ: legged-locomotion, motion-planning, terrain, contact-planning, quadrupeds
地形データとロボットのダイナミクスを用いて、脚ロボットの各足をどこに着地させるかを選び、どの一歩も安定で、到達可能で、安全になるようにすること。
定義
足場計画(Foothold planning)とは、脚ロボットの足の接触位置を選ぶ問題である。良い足場とは、十分な摩擦のある硬くてほどよく平らな地面の上にあり、縁や穴から離れ、計画された胴体の位置から脚が届き、その一歩を通じてロボットのバランスを保てる場所である。二足ロボットではこの問題はしばしばフットステップ計画(footstep planning)と呼ばれ、各足の向きも含む。四足ロボットでは、通常は歩容シーケンスの中での各足の位置が対象となる。
従来のシステムは移動をいくつかの層に分ける。知覚が標高マップを構築し、地形解析が勾配、粗さ、縁までの距離によって各セルを評価し、足場プランナーがセルを選び、下位のコントローラがそこに到達する胴体の運動と遊脚の軌道を計画する。一般的な計画手法には、Raibert の規則のようなヒューリスティックで与えられる公称の足場を、近くで最も評価の高いセルに合わせて調整する方法、離散的なフットステップの列に対するグラフ探索、そして各フットステップを複数の凸な安全領域の一つに割り当てる混合整数計画のような最適化がある。足場と胴体の運動を同時に最適化し、到達可能性と動的なバランスをまとめて扱うプランナーもある。
学習が状況を変えた。シミュレーションで学習したポリシーは、高さのサンプルや生の深度画像を受け取って関節指令を直接出力し、足場を暗黙的に選ぶことができる。これにより、別々のマッピング、計画、制御のモジュールの間で積み重なる誤差を避けられる。飛び石の上のように、保証、解釈可能性、正確な配置が重要な場面では明示的な足場計画が依然として有用であり、ハイブリッドなシステムでは学習モデルを使って、モデルベースのコントローラのために足場を評価したり提案したりする。
重要な理由
不整地では、足をどこに着くかがロボットがバランスを保てるかどうかを決める。足場計画は地形の知覚を具体的な接触の判断に変える。それを明示的に行うか、学習されたポリシーの内部で行うかが、脚ロボットが階段、瓦礫、隙間をどれだけ確実に扱えるかを左右する。
主な用途
- 四足ロボットの階段昇降と不整地での移動
- 雑然とした空間でのヒューマノイドロボットのフットステップ計画
- 隙間や飛び石の横断
- 非構造化地面での惑星探査ロボットと点検ロボット
- 学習された移動ポリシーを比較するためのモデルベースのベースライン
実際の使われ方
飛び石の並ぶ場所を渡る四足ロボットが、深度カメラから構築した標高マップを使う。地形フィルタは、勾配が急なセル、粗さが大きいセル、縁に近いセルを無効とマークする。次の各歩について、プランナーは歩容と目標速度から与えられる公称の足場から出発し、小さな近傍の中でコストが最も低い有効なセルを探し、計画された胴体の位置姿勢から脚がそこに届くことを確認する。選ばれた足場はモデル予測制御コントローラに渡され、胴体の運動と接触力が計画される。一方、遊脚コントローラは各足を石の縁を越えられる高さまで持ち上げる。マップが不確かな場所では、コスト関数は各石の中心に近い足場を優先する。
よくある誤解
- 足場計画は遅い静的安定歩行のためだけのものである — 最新のプランナーは短いホライズンにわたって足場と胴体の運動を同時に計画することで、動的な歩容を扱う
- 学習された移動ポリシーは足場を選ばない — 足をどこに着くかは依然として決めているが、別個のプランナーを通じてではなく、知覚から暗黙的に決めている
- 最も平らなセルが常に最良の足場である — 到達可能性、縁からの距離、その後の歩み、胴体の運動量のすべてが、足場が良いかどうかに影響する
知っておくべき人
- 脚移動のエンジニア
- 脚ロボット用の地形マップを構築する知覚エンジニア
- 動作計画の研究者
- ヒューマノイドロボットの開発者
関連技術
- 標高マッピング(Elevation Mapping)
- Raibert ヒューリスティック(Raibert Heuristic)
- 混合整数凸最適化(Mixed-Integer Convex Optimization)
- A 探索(A Search)
- モデル予測制御(Model Predictive Control)
関連用語
関連プロジェクト
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines