二足歩行ロボット
二足歩行ロボット(にそくほこうロボット、Biped walking robotまたはBiped robot)とは、ロボットの中でも、人間のように二本足でバランスをとりながら歩くものをいう。特に人間と同様の形状をしているロボットをヒューマノイドと呼ぶが、ヒューマノイド全てが二足歩行ロボットであるとは限らない。
足(脚)とは回転機構で繋がった2つ以上のリンクで構成されたシリアルリンク機構で、二足歩行ロボットは脚を二つ持つ。世界初の二足歩行ロボットは1969年に早稲田大学の加藤一郎によって開発されたWAP-1である。1996年12月に発表されたホンダのP-2(後のASIMO)は人々に大きな衝撃を与えた。
二足歩行ロボットは、主に人間の活動を前提とした空間で、ロボットが支障なく移動し作業することを目的に研究されている。
また、自動車のペダル、自転車のペダル、足踏み式空気入れなど、ユーザーインタフェースとしての人間の足を前提とした機械をロボットに動作させることを目的としているケースもある。初期の二足歩行ロボットにおいては、人間の二足歩行というメカニズムを工学的な視点より研究・解明する目的で製作されたものもある。
二足歩行以外には、産業用の組立てロボットのように移動手段を持たないものや、地上(車輪、キャタピラ、蛇のような多関節構造、4脚、6脚)、水中(無人潜水艇)、空中(無人飛行機)、宇宙(無人探査機)などの移動手段がある。
ロボットの語源はチェコの作家カレル・チャペックの『RUR』という1921年に出版されたSF小説に出てきたロボットという名の人造人間である。この小説ではロボットは奴隷として描かれており、ある日人間に反抗し人間の殺戮を開始する、というストーリーである。原典での描写に従えば、ロボットとは人間に危害を加える人造人間の奴隷ということになる。ハリウッド映画に出てくるロボットの多くが、この原典でのイメージを引き継いでいるのは理解できるだろう。
また、英語、ドイツ語、スラブ語派などでは、rob-はいい意味の綴りではないことも、文化的背景としては留意すべき事項である。(例 英語 robber:強盗、泥棒、加害者 rob:奪う、スラブ語派 強奪する раб:奴隷 работа:労働)
日本におけるロボット研究においては、からくりとの文化的なつながりが複数の識者により指摘がされている。また、『鉄腕アトム』や『ドラえもん』といった漫画・アニメ作品で描かれたような、人間と共に、また人間と同じように活動するロボットへのあこがれが、日本でヒューマノイドや二足歩行ロボットの研究が盛んである理由の一つとの指摘する人も多い。実際、そのような意見を述べるロボット研究者は少なくない。
二足歩行ロボットは、以前から日本の技術の高さと独自性が内外から評価されつつも、未だ産業化とは程遠い状況である。二足歩行ロボットのような新技術の実用化には、天才による画期的な発想ではなく、失敗を繰り返しそれに学ぶ地道な改良が必要で、大規模な資本投下と足の長い開発が欠かせないことが指摘されている。
HRP-2を開発した川田工業は無人ヘリコプターの開発で獲た制御技術を応用しているなど、航空機の制御技術とは密接な関わりがある。
二足歩行ロボットの制御技術はパーソナルモビリティやパワードスーツとも共通し、例としてホンダのU3-Xや体重支持型歩行アシストはASIMOの制御技術を応用している。
二足歩行ロボットが工学の研究対象となったのは1970年頃からである。当初は倒立振子(とうりつしんし、Inverted pendulum)の延長上の技術として考えられており、その方面からの研究アプローチが盛んに行われた。倒立振子とはスライダ(直動機構)上に逆さに置いた振子の制御モデルのことである。振子が倒れないようにスライダを制御する。これはPID制御で比較的簡単に倒れないように制御することができた。2重倒立振子、3重倒立振子も成功例が報告された。人間の足は4重倒立振子モデルとして考えることもできるので、倒立振子モデルを研究していけば、いずれ2足歩行の制御が可能になると考えられていた。
人間の足に見立てた4重倒立振子モデルを、歩行になるような拘束条件を与え運動方程式を解くと、各関節の制御量が得られる。歩行パターンとよばれるこの動作を実際のロボットに入力して動かせば、理論的にはロボットは歩くはずである。当時の計算機の能力からリアルタイムで歩行パターンを生成することが出来なかったので、あらかじめ歩行パターンを計算しておいた。それゆえ、この歩行制御法はパターン歩行と呼ばれた。
しかし、当時のモーターや構造材が貧弱で、実際に動かすと理論と現実の相違が激しく、この方法は失敗に終わった。ロボットの状態をリアルタイムで検知し、ある拘束条件のもとにフィードバックする必要があった。
1980年頃からさまざまな拘束条件や制御方法、ハードウエアが研究され、その後主流になったのはZMPを軌範とする歩行である。
ZMP理論に基づく2足動歩行は早稲田大学の加藤一郎と高西淳夫によって開発されたWL-10RDにより、1985年に実現された。早稲田大学のグループを除くと、1970年代から1990年代半ばまでZMPはあまり注目されていたわけではない。しかし、今日ではホンダのASIMOをはじめ完成度の高い2足歩行ロボットのほぼ全てが、ZMPを用いた軌道生成と制御を用いている。
ロボットの研究が進み、アクチュエータや構造材が進歩しても、人間のような歩行を行うロボットはなかなか実現しなかった。人間の歩行の研究やロボットの歩行実験が繰り返されていくうちに、上半身の作用が極めて重要であることが再認識されてきた。
当時の歩行ロボットは人間の腰から下を模倣したものがほとんどで上半身は省略されていた。上半身の重要性はZMP理論の提唱者であるブコブラトビッチ(Miomir Vukobratović)の時代から指摘されていたが、当時のモーターや減速機は貧弱だったので脚機構以外の部分が極力省略されることが多かった。
パターン歩行にしてもZMPにしても位置制御が基本となるので、足首にもアクチュエータが必要になる。そのため末端重量が大きくなり、各関節のアクチュエータは強力で大きなものにならざるを得ない。構造材も当然重くなる。腰から下だけのロボットが片足を持ち上げると、それだけでロボットの質量の半分以上が動くことになる。したがって歩行時の重心の位置変化が激しく、安定領域の狭い制御の難しい制御系になっていた。ブルブルと振動を起こして転倒するロボットが大半だった。
また、末端重量が大きいので、遊脚を振り上げたときの反動が無視できなかった。遊脚を持ち上げてから蹴り下げ始める時に、スキーで言う抜重のような状態になり、軸足の床面との摩擦が少なくなる。摩擦が少なくなると軸足が滑り易くなる。パターン歩行にしてもZMPにしても軸足が動くというのは想定外であるし、想定したとしても検出できるセンサーがない。軸足が少しでも滑るとあっという間に転倒してしまった。重たい脚を動かすには、上半身の動作で常に動的バランスを補償する必要があった。
なお、アクチュエータの性能が良くなった現代では、上半身が無くても歩行は実現できる。
早稲田大学理工学部の加藤一郎 (ロボット研究者)|加藤一郎が率いた研究グループは二足歩行ロボット研究の草分け的存在である。1960年代からロボットの研究を始め、製作したロボットにWABOTという愛称を付けている。1985年に、WABOTの11号機である、WL-11でヒト型二足ロボットでパターン歩行で動歩行を実現した。1.5秒/ステップのゆっくりとした歩行である。歩行を始めるとき、制御装置を積んだ大きな太鼓腹が音を立てて傾く。はじめから意図したのか不明だが、上体の動作で遊脚の反動を打ち消していたと推測される。
1986年、この研究グループが、より積極的に上半身の作用を利用するために、上半身に見立てた大きな重りを二足歩行ロボットの腰部の上に取り付けた上体補償型二足歩行ロボットWL-12を製作した。重りはダンベルの様なもので、前後左右に振ることが出来た。見た目はともかく、そのロボットは非常に滑らかな歩行を実現した。階段も昇り降りすることが出来た。この研究成果により、二足歩行ロボットの歩行には上半身の働きが極めて重要であることが証明され、それ以降開発される二足歩行ロボットには上半身が付くことが主流になっていく。
1996年、自動車メーカーのホンダがヒト型ロボットP-2を発表した。何よりもそのシステムとしての完成度の高さに当時の研究者は驚かされた。まず、外部につながるケーブルが無く、自律制御が可能だった。視覚センサを持ちマークで示した経路を自分で判断して歩くことが出来た。しかも、腕に見立てたマニピュレータを持ち人間の姿に似ていた、などの点が斬新だった。ホンダが二足歩行ロボットの研究を行っていたことは特許公報などで断片的に知られていたが、これほど本格的に行っていることは知られていなかった。そのためP-2の発表は研究者たちにも一般社会にも非常に大きなインパクトを与えた。これ以降歩行ロボットの研究が一気に一般化し、さまざまな企業が二足歩行ロボットの研究に乗り出す。その後、ホンダのロボットはASIMOと名付けられ、商品化された。2005年12月、ASIMOの新型において時速6km、跳躍時間 0.08秒の走行を実現させた。歩行から走行を同じロボットで実現した点で世界初である(走行だけを行うロボットなら1980年代から存在する)。
ASIMO以外でも二足歩行ロボットによる走行が研究されてきている。走行の場合、着地の際の衝撃が歩行と比べて大きいため、衝撃緩和技術が重要になる。また、両足が地面から離れるため、その間の姿勢制御は無重量状態の姿勢制御と同様の技術が必要になる。より進んだ活動を行うためには、周辺の状況を適切に認識し、以後の状況を予測し判断する能力も必要となる。段差や障害物を認識しそれを見越した行動を取ったり、人間や他のロボットの行動や指示などを認識しなければならない。カメラによる画像認識や音声認識などの技術も二足歩行ロボットにとって重要な技術となる。現在では歩行制御の研究は一段落した感があり、二足歩行ロボットの研究の中心はヒューマノイドとしての統合システムの研究へ移行しつつある。
二足歩行ロボットとは脚を2つ持ち、歩行を行うロボットのことである。ロボットは節(リンク)と関節(ジョイント)で構成されるリンク機構で、関節はモーターなどのアクチュエータで駆動される。リンクとは剛体の構造物のことで、ジョイントは回転機構または直動機構のことである。足(脚)とは回転機構で繋がった2つ以上のリンクで構成されたシリアルリンク機構である。直動機構(スライダ)で脚を構成するロボットもあるが、これを二足歩行ロボットに含めるかは研究者により定義が分かれる。
研究者によって違うが、ロボットの構造は概して次のように定義されている。まず足首に相当する関節を第1関節、膝に相当する第2関節という。股関節は第3関節ということになるが胴体に接続する関節は慣例的にロボットでも股関節という。また、足裏を含む部分を第1節、脛に相当する部分を第2節、大腿に相当する部分を第3節という。腰や胴に相当する部分は慣例的にロボットでも胴体と言うことが多い。上半身の形態には様々なバリエーションがあり、腕のあるもの、頭の無いもの色々で、これといって代表的なものは無い。
歩行とは脚の運動による移動方法の一種である。体重のかかる方の脚を軸脚(ピボット、あるいはピボット脚とも言う)、振り上げている方の脚を遊脚と言う。二足歩行は2本の脚を交互に軸足にして重心を任意の方向に移動する移動方法である。
歩行の形態には静歩行と動歩行がある。静歩行とは重心の路面への投影点が左右いずれかの足の裏に位置するような歩行法である。静歩行の静は、静的安定の静のことである。静的に安定なのでどこで停止しても転倒することが無いが、床面が常に平面でなければならないなど環境に制約が多い。
静歩行は、安価なおもちゃでよく使われている。
静歩行に対する概念として動歩行がある。動歩行は重心の路面への投影点が足の裏から外れる歩行方法のことである。人間などが行う歩行もこれに入る。動歩行の動は動的安定の動で、動的には安定だが静的には不安定という意味であり、運動量を打ち消してから歩行動作を停止しないと転倒してしまう。制御は難しいが、でこぼこ道など条件の悪い環境にも対応できる。
二足歩行ロボットの研究対象になっているのは主に動歩行である。動歩行の実現のためには、加速度や床からの反力などといった状況を的確に収集・判断し、これに対応し制御するための技術開発が必要になる。
動歩行を実現する方法としてZMPを規範とする歩行制御方法が主流となっている。規範とは、制御工学的に言えば境界条件と拘束条件の組み合わせのことで、ひらたく言えば規則とか法則というような意味あいである。
1972年、ユーゴスラビア(現セルビア共和国)のミハイロピューピン研究所のブコブラトビッチ(Miomir Vukobratović)らが、ゼロモーメントポイント(ZMP)と呼ばれる歩行規範に基づく2足歩行ロボットの軌道生成法と制御法を発表した。ZMPは床反力の圧力中心であり、ロボットの運動と運動方程式から計算することができる。ブコブラトビッチらは、支持多角形(Support polygon)内を運動するZMPの時間軌道を予め設定し、これに対応する歩行運動を繰り返し収束計算により求めた。ZMPを用いることにより、遊脚や上半身の質量による影響すべてを厳密に考慮した歩行運動を設計することができる。
ZMPとは動力学的な重心の投影点が安定域(≒足の裏のこと)に位置するような運動法則である。"動力学的な"ところが静歩行と異なるため、ZMPによる歩行は動歩行に分類される。しかし同じ動歩行といっても、ZMPによる歩行は、人間や動物の歩行と同じではない。ZMPによる歩行はエネルギー保存則とは無関係な運動法則なので、エネルギーの消耗が激しい。ヒトなどの生物は少ないエネルギーで長距離を歩行するが、ZMPではそれを説明できない。
パッシブウォーキング(受動歩行)は、何の動力もなしに、カタカタと斜面を歩くおもちゃとして知られており、
動力学的には振り子運動と同じ振動の一種で、動的平衡状態にある。静力学的にも動力学的にも重心の投影点は足裏には無く、完全な動歩行と定義できる。歩様としてはトロットに分類できる。
二足歩行を振動と考えれば、ヒトやペンギンが僅かなカロリーで長距離を歩行できる説明が付くため、自然界の二足歩行はこのパッシブウォーキングに近い運動であると考えられている。
受動歩行の研究は、次のようなものがある。たとえば、マックギー (McGeer, 1990) は、動力なしの単純化した二足歩行のモデルで、下り坂の斜面での歩行が安定なリミットサイクルになることを理論的に示し、受動歩行するロボットを作った。
また、山崎信寿 (1984)は、ヒトの身体の力学モデルを作り、頭から吊るして振動させると、歩行パターンのような動きが作られることを示した。
こうした受動歩行では、筋骨格系の振り子としての特徴が重要な役割を果たしているとともに、バネ弾性の特徴も運動生成に何らかの寄与をすると考えられている。
歩行の体育学的な分類としては、歩様(歩容、歩法と書く場合もある)による分類がある。二足歩行の歩様にはウォーク(常足、なみあし)、トロット(速歩、はやあし)、ギャロップなどがある。単に歩行と言った場合はトロットのことと考えて差し支えない。
トロットとは交互に軸足が切り替わり、常にどちらかの足が地面に付いている、跳躍期の無い歩き方のことを言う。軸足は瞬間的に入れ替わり、両方に体重がかかっている期間は無いか無視できるほど短いものとされる。トロット歩行の場合、歩行という一見複雑な運動を、軸足の接地点を回転中心とした回転運動として捉えることができ、運動方程式を比較的簡単に立てることができる。このため二足歩行ロボットではトロットを規範とする歩行制御が適用されるのが普通である。
歩行が回転運動だとすると遠心力が発生するはずである。このときの遠心力Fは下の式で表される。vは重心の移動速度(=歩行速度)、rは重心位置の高さ、mは質量である。
Fをmgと置き換えると、次の式が導かれる。gは重力加速度である。
これは歩行の限界速度を表す式で、これより速い速度で歩行すると遠心力により自然に脚が床面から離れ、走行に移行することを意味している。人間の重心位置の高さを1mとすると歩行の限界速度は11.2km/hとなる(ちなみに競歩の世界記録は13.6km/h(50km)。腰の捻りや足裏のストロークなどが加わるため理論上の数値よりは大きくなる)。走行に至らないまでも、歩行速度が増すと遠心力により軸足が滑りやすくなり、歩行ロボットは転倒しやすくなる。
トロット歩行の場合、水平方向の運動量は理論的には次のステップへ100%伝達される。上下方向の運動量は床面との衝突により失われてしまうが、人間の場合、重心の位置エネルギーをアキレス腱が保存し、軸足交換時に体を蹴り上げて次のステップに伝えていると考えられている。
ウォークは、両脚に体重のかかる期間のある歩様のことである。この歩様では、両足が地面についていると重心の速度ベクトルの向きが一方向に拘束されてしまう。そのため、ステップごとに上下方向の運動量に加えて左右方向の運動量も失われる(重心の軌跡がジグザグになる)ので、エネルギーコストが著しく悪化する。それゆえ、人間や鳥ではあまり行われていない歩行と考えられている。また、2本脚のときと1本脚のときで運動モードが異なり制御が複雑になるので二足歩行ロボットでもあまり行われない。
ギャロップは跳躍期のある歩行で、いわゆる走行のことである。跳躍期とは2本とも脚が地面に付いていない時期のことである。
なお、ここでの歩行の定義は工学における定義の一例である。また、歩様の分類や名前の付け方には研究者により差がある。
制御工学では制御対象について考察するときには、数式化しやすいように制御対象を抽象化するが、抽象化された制御対象を制御モデル、あるいは単にモデルと言う。制御モデルが現物に近いほど精度の高い制御が可能になるのだが、制御モデルが複雑になると運動方程式が解けなくなるので、普通はなるべくシンプルなモデルが使われる。二足歩行ロボットではヒトやトリを抽象化した制御モデルが使われる。
多くの二足歩行ロボットがZMPによる重心の位置と速度の制御により歩行を行うが、この場合どうしても足首トルクが必要になる。足首のアクチュエータにより末端重量が増加すると、安定領域が狭くなるうえに、歩行時の重心変動が激しくなり、著しく制御が困難になる。ヒト型ロボットでは上半身の動作により、重心変動を打ち消す、あるいは緩和することが出来る。
胴体はヒトに似せて、垂直に立った形になる。そのため胴体の重心位置は股関節よりかなり上に位置することになり、偏心モーメントを持っている。そのためロボットが歩行を始めると、その反動が胴体にモーメント力として伝わることになる。このモーメント力を床面まで伝えて打ち消す必要があるので、脚の各関節にはかなり強力なアクチュエータと大きな足裏が必要になる。ヒト型モデルは動的バランスを取るために足首トルクが必要なのである。人間の脚も鳥などと比べると太く頑丈なのも同じ理由からである。そのためヒト型モデルのロボットは頑丈なものになる傾向がある。大型のロボットでは高価なサーボモーターやハーモニックドライブなどが必要になり、製造コストが高い。
生物における直立二足歩行も胴体の重心位置が股関節の位置と一致せず、胴体から巨大なモーメント(回転力)が発生する。これを筋肉で抑えないといけないため、太い脚とそれを動かすための余分なエネルギーが必要となる。自然界で直立二足歩行があまり見られないのはエネルギー効率が悪いためであると考えられている。
歩行ロボットを最も理想的な姿にしたのが無質量脚モデルで、理論上の制御モデルである。脚の質量はゼロで完全剛体。質量は全て胴体にあると仮定する。胴体の重心位置と股関節の位置は完全に一致する。したがって全身の重心位置も股関節と一致する。
無質量脚モデルだと脚の動作で重心が変動しない。さらに股関節と胴体の重心位置が一致しているのでモーメント力が発生せず、それを打ち消すためのトルクが必要なく、従って足首トルクも必要ない。床面への力と反動、重心位置だけを考えればいいため運動方程式が簡単で、アクチュエータの数も最小限なので制御も簡単である。1980年頃、歩行現象の理論化のために無質量脚モデルが盛んに研究された。
無質量脚モデルは最も歩行を実現しやすいモデルだが、現実に製作することはもちろん不可能である。しかしそれに近いロボットに関する研究例は多い。日本では竹馬型ロボットと呼ばれる二足歩行ロボットが1980年頃から研究されている。竹馬型ロボットは腰の部分に脚を動作させるアクチュエータを持つ。脚は軽くするために伸縮するタイプが多い。原理的に人間の足(足首から下)に相当する部分は必要無いのだが、傾きを検出するためにポテンショナのみを装備した足首を持つ。機構が単純で製作しやすく制御も容易なので、ロボットにおける動歩行の実現はこのタイプが最も早かった。1982年に東大の下山勲らが竹馬型ロボットによる動歩行について論文を発表している。
欧米ではホッピングロボットあるいはホッピングマシンと言われ、日本より研究が進んでいる。ホッピングマシンで無質量脚モデルと言えるのは1本足や2本足のもので、1980年代から走行を実現している。ただしホッピングロボットは飛び跳ねていないと倒れてしまうので歩行は出来ない。
鳥のような形をした二足歩行モデルである。胴体が前後に長く、前に曲がる第2関節を持つ脚を持つ。胴体と第3節の間に第4節を設定する場合もある。生物の鳥類には第4節がある。
胴体の両側に股関節があり、重心位置が股関節の位置とサジタル平面上で一致する。胴体の重心位置が股関節と一致するので、胴体に偏心モーメントが無い。したがってモーメント力を床面まで伝える必要が無いので、足首トルクを必要としない。そのためトリ型二足歩行ロボットでは足首のアクチュエータは省略されるか、小さいものでよい。末端重量を小さくできるので、第2関節、股関節のアクチュエータも小型化できる。そのため、脚部全体を軽量化することが可能である。脚が軽いので全身の重心位置が股関節の位置にほぼ一致し、地面を蹴る力をダイレクトに重心に伝えることができる。このためトリ型モデルは運動性能が良く、高速に走行することができ、エネルギーコストも良いとされる。
トリ型二足歩行ロボットは1990年頃に産業技術総合研究所、および信州大学で製作されている。2004年にはトヨタ・i-footが製作された。産業技術研究所のロボットはZMPによる歩行理論の実証を目指して、理論的に最も合理的なトリ型が採用された。信州大学のロボットは歩行ロボットとしては初めてサスペンションを装備した。足首と股関節にバネとダンパーを装着し、歩行から走行までモードレスに扱うことのできる独自の歩行理論の実証を目指した。
生物界ではトリ型歩行のほうが、直立二足歩行よりはるかに多く見られる。これは運動性がよく、エネルギー効率が高いためであると考えられている。実際ダチョウなど走鳥類は時速80km以上で長時間走ることができるとされている。これはチーターよりは遅いが、チーターの最高速は数秒間しか出ない。長距離ではダチョウの方が優れていると言われている。
トリ型モデルの派生型として恐竜型モデルがある。恐竜型モデルはトリ型モデルの胴体をさらに前後に長くしたものである。尾に相当する部分で積極的に偏心モーメントを打ち消す。トリ型モデルよりさらに高速走行に向くと考えられているが、旋回するときに尾や首が邪魔になるので、屋内での応用範囲は狭いと見られている。これらのロボットは主にアメリカで研究されている。近年の恐竜の運動の研究には目覚しいものがあるが、歩行ロボットの研究成果も少なからず貢献している。
恐竜型モデルだと長い胴体でバランスを取ることが出来るので、静歩行でもかなりダイナミックな歩行が可能になる。静歩行なら運動方程式を扱う必要が無く、衝撃干渉機構などを組み込むことが容易にできる。制御に対する要求レベルも低く、歩行動作を停止しても転倒しないため安全性が高く、大型化が簡単に出来るので建設機械などへの適用も可能だろう。現時点では産業技術総合研究所で大型恐竜型歩行ロボットが開発されている。
本稿では文章構成上、歩行パターンを用いる歩行制御(重心位置を制御する歩行制御)、歩行パターンを用いない歩行制御(重心位置を制御しない歩行制御)に分けられた文脈となっている。近年、パッシブウォーキングに関するが研究が進んでおり、従来の歩行制御法とのカテゴライズが形成されつつあるも、これが必ずしも正式な分類方法ではない。
現在主流なのは、重心位置を制御して歩行を制御する方法である。技術的にこなれた位置制御をベースに開発できるため、ほとんどの歩行ロボットがこの方法を採用している。ZMPを使った歩行制御も、重心位置を制御して歩行を実現している。
ロボットが歩く時の関節角の制御量を歩行パターンと言う。研究者によって、歩行軌道や歩行制御量など、言い方は様々である。かつては計算機の能力が足りなかったため、あらかじめ歩行パターンを生成しておき、ロボットでそれを再生することで歩行を実現しようとしていた。この方法は、計算値と実際のロボットの挙動が徐々にずれるためにうまくいかない。コンピュータの発達とともに挙動をリアルタイムでフィードバックし歩行パターンを生成することが出来るようになり、歩行が実現できるようになった。歩行パターンは制御モデルの運動方程式を立て、歩行の仕方となる拘束条件を入れ、運動方程式を解いて制御量を求める。
運動方程式とは、ある関節にどれだけ力を加えると、体の姿勢がどう変化し、重心位置とモーメント力がどうなる、という関係を表した数式である。運動方程式はリンクごとに相互作用を一つ一つ考慮して立てることも出来るが、歩行ロボットのようにいくつもリンク機構があると運動方程式を立てることは容易ではない。普通はオイラー・ラグランジュの運動方程式を使い、運動方程式を作る。
この方程式は、外力が加わらない限り、ポテンシャルエネルギーの変化量と運動エネルギーの変化量は等しいという、物理学の基本法則から導かれている。ロボットの運動は3次元なので、式は行列とベクトルを使ったもので構成される。
歩行ロボットの自由度は多いので、ただ運動方程式を解いても歩行パターンは得られない。何らかの拘束条件を入れなければならない。生物のヒトやトリの歩行パターンやZMPがその拘束条件となる。ZMPでは、動力学的な重心位置が足裏の上に来るような関係式を立て、上の運動方程式と組合わせて連立方程式にして解く。方程式を解くと、どの関節を動かすとZMPがどこになるのか、あるいは、ZMPをある位置に持って行きたいときは、どの関節をどれだけ動かせばいいのかが、行列式によって表される。
歩行パターンは遊脚が床面から離れてから、再び床面に着くまでを一つのパターンとなる。この1パターン分の各アクチュエータの制御量を生成し、ロボットにステップ毎に入力すると理論的にはロボットは歩行することになる。コンピュータが高性能になった現代ではリアルタイムで歩行パターンが計算できるとはいうものの、複雑に変化する環境下で歩行パターンを随時計算するのはやはり難しい。標準的な歩行パターンを用意しておき、それに微妙なバイアスをかけることである程度の環境の変化に対応できるようにする、などの試みが行われている。
歩行パターンを使う歩行制御法では運動方程式を解く必要があるが、ロボットの中に弾性体(いわゆるバネ系)が存在すると、オイラー・ラグランジュの運動方程式を解くことが出来なくなる。そのため、現在見られる歩行ロボットは極力バネ系が無いように設計される。サスペンションなどの衝撃緩衝機構が歩行ロボットに用いられないのはこのためで、歩行ロボットによる走行を難しくしている一つの要因となっている。