脚型ロボットの歩行とバランス制御
転ばずに歩かせる勘所はZMPの安定判定にある。歩行パターン生成と外乱回復の原理を押さえれば、脚型を選ぶべき場面が見えてくる。
- 1.ZMP(ゼロモーメントポイント)は床反力の作用点。ZMPが支持多角形の内側にあれば静的・動的に転倒しない、という歩行の安定判定基準。
- 2.歩行パターン生成はZMP規範軌道を先に決め、そこから逆に重心軌道を解く(プレビュー制御)のが標準的アプローチ。
- 3.外乱への復帰はステップ位置調整・足首トルク・上体角運動量の3系統を状況に応じて組み合わせる。脚型は不整地踏破性、車輪型はエネルギー効率で優位というトレードオフがある。
なぜ脚型ロボットは「転ぶ」のか
脚型ロボットの歩行は、片脚支持の瞬間に必ず重心が支持基部の外へはみ出す不安定な運動です。静止立位なら重心を支持多角形(接地点が作る凸包)の真上に置けば済みますが、歩行中は重心が水平方向に加速度を持つため、重心の鉛直投影だけを見ていては転倒するかどうか判定できません。この「動いている物体の安定性をどう定量化するか」が脚型制御の中心問題であり、車輪型のように常に3点以上で接地して静的に安定な機構とは根本的に異なる難しさを生みます。
ZMP:床反力の作用点で安定性を測る
この問題を解く標準的な指標が**ZMP(Zero Moment Point、ゼロモーメントポイント)**です。ZMPは、ロボットに作用するすべての力(重力・慣性力・外力)のモーメントを、床面上のある点まわりで計算したときに水平方向モーメント成分がゼロになる点として定義されます。物理的には「床反力の合力が実際に作用している作用点」に一致します。
ZMP の一般式(3次元での定義):
p_x = ( x·(z̈+g) - z·ẍ ) / (z̈+g)
p_y = ( y·(z̈+g) - z·ÿ ) / (z̈+g)
ここで重心の鉛直運動が小さい(z̈≈0)かつ
重心高さがほぼ一定(z≈z_c)とみなすと、
線形倒立振子モデル(LIPM)近似が得られる:
p_x = x - (z_c / g) · ẍ
p_y = y - (z_c / g) · ÿ
x, y : 重心の水平位置
z, z_c : 重心の高さ(z_c はその一定近似値)
g : 重力加速度
ẍ, ÿ : 重心の水平加速度
p_x,p_y: ZMP の水平位置
ZMPによる安定判定基準は明快です。ZMPが支持多角形(片脚支持なら足裏の接地面、両脚支持なら両足裏を結ぶ凸包)の内側にあれば、ロボットは転倒せずに床から支持を受け続けられます。逆にZMPが支持多角形の外に出ようとする状態は、床が引っ張り反力を出さない限り実現不可能であり、実際には足先や踵が浮いて回転運動(転倒)が始まります。
ZMPは力学的な定義(モーメントゼロの点)であり、CoP(Center of Pressure、圧力中心)は接地面上の圧力分布から求まる幾何学的な量です。支持多角形の内側という制約下では両者は数学的に一致しますが、ZMPが支持多角形の外に「出ようとする」局面ではCoPは境界に張り付いたまま動けず、両者は乖離します。この乖離量こそが転倒の予兆であり、実機のセンサでは足裏の力覚センサからCoPを実測してZMP規範と比較し、逸脱を外乱検知に使います。
静的安定と動的安定の違い
歩行の安定性には2つの水準があります。
| 観点 | 静的安定 | 動的安定(ZMP規範) |
|---|---|---|
| 判定量 | 重心の鉛直投影 | ZMP(床反力作用点) |
| 前提 | 常に3点以上接地、低速 | 片脚支持・高速動作を許容 |
| 歩行速度 | 極めて遅い(静歩行) | 実用速度(動歩行) |
| 代表例 | 四脚ロボットの這うような歩行 | 二足ヒューマノイドの通常歩行 |
| 破綻条件 | 重心が支持多角形を外れる | ZMPが支持多角形を外れる |
静的安定歩行では、重心の投影点が常に支持多角形内にあるように脚を運ぶため、動作は遅いものの任意の瞬間で静止しても倒れません。これに対し動的安定歩行は、重心投影自体は支持多角形の外に出ることを許し、代わりにZMPが内側にとどまることだけを要求します。これにより人間の歩行のような重心の左右への揺動を伴う高速な動歩行が可能になりますが、慣性力(加速度項)を常に考慮した制御が必須になります。
歩行パターン生成:ZMP規範軌道からの逆算
実際の歩行制御では、まず「望ましいZMP軌道」(各歩容周期で支持多角形の内部を通る目標軌道)を先に設計し、そこから逆にその軌道を実現する重心軌道を求めるという順序を取ります。これは通常の制御と逆方向の問題(ZMP方程式は重心軌道の二階微分を含むため、目標ZMPから重心軌道を解くのは不安定な逆時間積分になる)であるため、そのまま解くと発散します。
この困難を解決する代表的手法が**プレビュー制御(Preview Control)**です。線形倒立振子モデル(LIPM)を状態空間で表現し、未来の目標ZMP軌道を一定時間先まで先読みしたうえで、現在のジャーク(躍度、加速度の微分)を最適制御的に決定します。将来の目標値を先読みできるという条件下で、最適レギュレータに予見フィードフォワード項を加えることで、発散のない安定な重心軌道が計算できます。
歩行パターン生成の典型的な流れ:
1. 歩容計画 : 歩幅・歩隔・周期からステップ列を決定
2. 目標ZMP軌道 : 各支持期で支持多角形内に目標点を設定
3. プレビュー制御 : 未来のZMP軌道を先読みし重心軌道を逆算
4. 全身逆運動学 : 重心・脚先軌道から各関節角を解く
5. 実機フィードバック: 実測ZMP/IMUで逐次補正
もう一つの代表的手法がキャプチャポイント(発散成分、Divergent Component of Motion, DCM)に基づく方法です。LIPMの状態を収束成分と発散成分に分解すると、発散成分だけがZMPと単純な一次遅れの関係を持つため、発散成分を先に望みの軌道に収束させるようZMPを逆算するとプレビューよりも見通し良く安定余裕を扱えます。
外乱に対するバランス回復:3つの戦略
計画通りの歩行軌道は、路面の凹凸や外力(押される・つまずく)によって容易に崩れます。ZMPが支持多角形の境界に近づいた、または外れかけた際のバランス回復は、一般に次の3系統に分類されます。
| 戦略 | 作用機序 | 有効な外乱の大きさ | 代表的な用途 |
|---|---|---|---|
| 足首トルク戦略(Ankle Strategy) | 足首トルクでCoPを支持多角形内で移動 | 小さい外乱 | 微小な重心誤差の常時補正 |
| ステップ位置調整(Stepping Strategy) | 次の一歩の着地位置・タイミングを変更 | 中〜大きい外乱 | 押された際の踏み出しでの復帰 |
| 角運動量戦略(Hip/Angular Momentum Strategy) | 上体・腕を振り角運動量で重心を補償 | 急峻・瞬間的な外乱 | つまずき直後の姿勢立て直し |
足首戦略は支持多角形が変わらない範囲での微調整であり、常時働く基本のフィードバックです。しかし外乱が支持多角形のサイズに対して大きい場合、足首トルクだけではZMPを内側に留められず、ロボットは次の一歩の着地位置をあらかじめの歩行計画からずらして踏み出すことで新しい支持多角形を外乱側へ広げます(キャプチャポイントが支持多角形の外に出そうな場合、そのキャプチャポイントを新たな支持多角形の内に捉えるように着地点を選ぶ、というのがステッピング戦略の数理です)。さらに一歩では間に合わないほど急激な外乱には、上体をひねる、あるいは腕を振り回すことで角運動量を瞬時に発生させ、脚の接地状態を変えずに重心の並進運動を打ち消す戦略が使われます。実際のヒューマノイド制御はこれら3戦略を外乱の大きさと残り時間に応じて連続的に混合します。
ZMPは接地面が水平で摩擦が十分という前提(線形倒立振子モデルの単純化)に強く依存します。不整地や片足のつま先接地、跳躍を伴う動歩行(両脚が同時に離地する局面)では、ZMPは支持多角形という概念自体が破綻し、角運動量やセントロイダル動力学(centroidal dynamics、全身の質量分布を集約した重心まわりの運動方程式)に基づくより一般的なモデル予測制御(MPC)が必要になります。ZMPは「動歩行の入門的必要条件」であり、高難度の不整地・跳躍歩行では十分条件ではないと理解してください。
脚型と車輪型のトレードオフ
脚型移動機構は、なぜ制御が複雑なZMPベースのバランス管理を必要としてでも採用されるのでしょうか。
| 観点 | 脚型 | 車輪型 |
|---|---|---|
| 不整地・段差踏破性 | 高い(離散的な接地点を選べる) | 低い(連続接地面が必要) |
| エネルギー効率(平坦路) | 低い(重心上下動・関節駆動損失) | 高い(転がり抵抗のみ) |
| 静止時の安定性 | 動的制御が必要(片脚支持時) | 常時静的に安定 |
| 制御の複雑さ | 高い(ZMP・全身動力学・接触判定) | 低い(点接触の運動学が主) |
| 最高速度(平坦路) | 相対的に低い | 相対的に高い |
車輪型は接地点が連続的で常に多点接地を維持できるため、静的安定性を保ったまま高効率・高速に移動できますが、接地面に段差や間隙があると原理的に踏破できません。脚型は接地点を離散的に選べるため、飛び石状の足場や階段のような非連続な環境でも経路を見つけられる一方、常に転倒のリスクと隣り合わせであり、ZMP監視・軌道の再計画・接触力制御という追加の計算コストと機構コスト(多関節・多アクチュエータ)を払う必要があります。実運用では、平坦な屋内環境では車輪型(あるいは脚と車輪を組み合わせた脚輪ハイブリッド)が、災害現場や不整地では脚型が選ばれる、という住み分けが合理的帰結になります。
- ZMPの定義: 床反力のモーメントがゼロになる床面上の点。支持多角形内なら転倒しない。
- CoPとの違い: 支持多角形内では一致、境界張り付き時に乖離し外乱検知に使える。
- 静的安定 vs 動的安定: 重心投影で判定するか、ZMPで判定するか。動歩行にはZMP規範が必須。
- 歩行パターン生成: 目標ZMP軌道→プレビュー制御(またはDCM)で重心軌道を逆算する順序。
- 外乱回復の3戦略: 足首トルク(小)、ステップ位置調整(中〜大)、角運動量(急峻)。
- 脚型 vs 車輪型: 踏破性は脚型、効率と制御の単純さは車輪型。
まとめ
脚型ロボットの歩行制御は、常時多点接地で静的に安定な車輪型と異なり、片脚支持で重心が支持基部の外に出る動的な不安定状態を前提に組み立てる必要があります。その中核がZMPで、床反力の作用点が支持多角形内にあるかどうかで転倒を判定し、動歩行ではこの動的な基準が静的な重心投影の基準に取って代わります。歩行パターン生成は目標ZMP軌道を先に定め、プレビュー制御やキャプチャポイント(DCM)の枠組みで発散のない重心軌道へ逆算する形が標準であり、外乱への対処は足首トルク・ステップ位置調整・角運動量という3系統の戦略を外乱の大きさに応じて組み合わせて実現します。脚型は不整地や非連続な足場での踏破性という車輪型にない強みを持つ代わりに、この動的バランス管理という追加の制御負荷とエネルギーコストを常に払っており、この原理を理解することが実機のロボット制御を設計・評価するうえでの出発点になります。
ロボティクス Article
脚型ロボットの歩行とバランス制御を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ロボティクス
比較で見る軸
難易度: advanced / カテゴリ: ロボティクス / タグ数: 6
導入後に効く点
歩行パターン生成はZMP規範軌道を先に決め、そこから逆に重心軌道を解く(プレビュー制御)のが標準的アプローチ。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- ロボティクス
- タグ数
- 6
判断チェックリスト
- 自社の用途が「ロボティクス / ZMP」に近いか確認する。
- 強みである「ZMP(ゼロモーメントポイント)は床反力の作用点。ZMPが支持多角形の内側にあれば静的・動的に転倒しない、という歩行の安定判定基準。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。