JP4518615B2 - 脚式移動ロボットの動作制御システム及び動作制御方法 - Google Patents
脚式移動ロボットの動作制御システム及び動作制御方法 Download PDFInfo
- Publication number
- JP4518615B2 JP4518615B2 JP2000094049A JP2000094049A JP4518615B2 JP 4518615 B2 JP4518615 B2 JP 4518615B2 JP 2000094049 A JP2000094049 A JP 2000094049A JP 2000094049 A JP2000094049 A JP 2000094049A JP 4518615 B2 JP4518615 B2 JP 4518615B2
- Authority
- JP
- Japan
- Prior art keywords
- zmp
- trajectory
- target
- mobile robot
- legged mobile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、少なくとも複数本の可動脚を備えた脚式移動ロボットの動作制御システム及び動作制御方法に係り、特に、可動脚を用いた歩行その他の脚式移動作業を効率的に行うための脚式移動ロボットの動作制御システム及び動作制御方法に関する。
【0002】
更に詳しくは、本発明は、ZMP(Zero Moment Point)を歩行の安定度判別の規範として用いて可動脚による脚式移動作業を行う脚式移動ロボットの動作制御システム及び動作制御方法に係り、特に、ZMPの位置設定を効果的に制御することでロボットの動作遷移を円滑且つ安定的に実行するための脚式移動ロボットの動作制御システム及び動作制御方法に関する。
【0003】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語のROBOTA(奴隷機械)に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々の幅広いサービスを提供することができる。なかでも脚式の移動ロボットは、クローラ式やタイヤ式のロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段や梯子の昇降や障害物の乗り越えや、整地・不整地の区別を問わない柔軟な歩行・走行動作を実現できるという点で優れている。
【0005】
最近では、イヌやネコのように4足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような2足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」のロボット(humanoid robot)など、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。
【0006】
人間形若しくは人間型と呼ばれる脚式移動ロボットを研究・開発する意義を、例えば以下の2つの視点から把握することができよう。
【0007】
1つは、人間科学的な視点である。すなわち、人間の下肢及び/又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【0008】
もう1つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行う実用ロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【0009】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や4足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている2足歩行ロボットの方が、ユーザ(作業員)ははるかに教え易く、またロボットにとっても教わり易い筈である(例えば、高西著「2足歩行ロボットのコントロール」(自動車技術会関東支部<高塑>No.25,1996APRIL)を参照のこと)。
【0010】
人間の作業空間や居住空間のほとんどは、2足による直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されている。言い換えれば、人間の住空間は、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのにはあまりに多くの障壁が存在する。機械システムすなわちロボットが様々な人的作業を支援又は代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。人間型の形態を有していることは、ロボットが人間の住環境との親和性を高める上で必須であると言える。
【0011】
2足歩行による脚式移動を行うタイプのロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、「転倒することなく、脚を使って移動すること」と定義することができる。
【0012】
ロボットの姿勢安定制御は、ロボットの転倒を回避する上で非常に重要である。何故ならば、転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われるからである。また、何よりも、転倒によって、ロボット本体自体、あるいは転倒するロボットと衝突する相手側の物体にも、致命的な損傷を与えてしまう危険があるからである。したがって、脚式移動ロボットの設計・開発において、姿勢安定制御や歩行時の転倒防止は最も重要な課題の1つである。
【0013】
歩行時には、重力と歩行運動に伴なって生じる加速度によって、歩行系から路面には重力と慣性力、並びにこれらのモーメントが作用する。いわゆる「ダランベールの原理」によると、それらは路面から歩行系への反作用としての床反力、床反力モーメントとバランスする。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点、すなわち「ZMP(Zero Moment Point)」が存在する。
【0014】
脚式移動ロボットの姿勢安定制御や歩行時の転倒防止に関する提案の多くは、このZMPを歩行の安定度判別の規範として用いている。ZMP規範に基づく2足歩行パターン生成は、足底着地点を予め設定でき、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。
【0015】
例えば、特開平5−305579号公報には、脚式移動ロボットの歩行制御装置について開示している。同公報に記載の歩行制御装置は、ZMP(Zero Moment Point)すなわち歩行するときの床反力によるモーメントがゼロとなる床面上の点を目標値に一致させるように制御するものである。
【0016】
また、特開平5−305581号公報に記載の脚式移動ロボットは、ZMPが支持多面体(多角形)内部、又は、着地、離床時にZMPが支持多面体(多角形)の端部から少なくとも所定の余裕を有する位置にあるように構成した。この結果、外乱などを受けても所定距離だけZMPの余裕があり、歩行の安定性の向上を図ることができる。
【0017】
また、特開平5−305583号公報には、脚式移動ロボットの歩き速度をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、予め設定された歩行パターン・データを用い、ZMPを目標位置に一致させるように脚部関節を駆動するとともに、上体の傾斜を検出して、その検出値に応じて設定された歩行パターン・データの吐き出し速度を変更するようにしている。この結果、予期しない凹凸を踏んでロボットが例えば前傾するときは吐き出し速度を速めることで姿勢を回復できる。またZMPが目標位置に制御できるので、両脚支持期において吐き出し速度を変更しても支障がない。
【0018】
また、特開平5−305585号公報には、脚式移動ロボットの着地位置をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ZMP目標位置と実測位置とのずれを検出して、それを解消する様に脚部の一方または双方を駆動するか、又は、ZMP目標位置まわりにモーメントを検出してそれが零になる様に脚部を駆動することで安定歩行を行うようになっている。
【0019】
また、特開平5−305586号公報には、脚式移動ロボットの傾斜姿勢をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ZMP目標位置まわりのモーメントを検出し、モーメントが生じているときは、それが零になるように脚部を駆動することで安定歩行を行うようになっている。
【0020】
【発明が解決しようとする課題】
脚式ロボットにおけるZMPの位置は、指令値として任意に設定することができる。すなわち、支持多角形(上述)として定義される安定領域の内部にZMPを位置設定することで、歩行の安定性を向上させることができる。
【0021】
しかしながら、上述した各従来技術はいずれも、安定領域内のどの場所にZMP位置を設定すべきかを、明確には開示していない。例えば、歩行の安定性を優先してZMPの位置設定を行った場合、歩行期間中にZMP位置がとる軌跡が長い距離となってしまい、動作が非効率的となり、また早い動きを表現することができない。すなわち、次の(又は近未来的な)動作や姿勢を考慮してZMPの位置設定を行うことができない場合がある。
【0022】
4足脚式ロボットは支持多角形が充分に大きいので、ZMPの位置設定はさほど問題にはならない。言い換えれば、4足脚式ロボットの場合、歩行の安定性と動作遷移の効率化の双方を要求することができた。
【0023】
これに対し、ヒューマノイド・ロボットのように2足歩行型の場合、歩行その他の脚式動作中の支持多角形は極端に狭くなるので、次の動作への効率的な遷移を重視してZMPを位置設定すると、歩行時の姿勢安定性を充分に確保することができず、転倒などの事態を将来しかねない。ロボットが転倒すると、ロボットや衝突する相手側の物体に致命的な損傷を与える危険性がある。
【0024】
例えば、ZMP位置が安定領域内の適当な場所に設定することによって、比較的少ない演算処理で歩行動作を適度に安定化させることができる。
【0025】
脚式ロボットにおいては、各可動脚が、全く拘束のない「遊脚期」、完全に拘束される「立脚期」、これらの中間の「着地期」からなる歩行周期を交互に繰り返すことによって、歩行動作を実現するのが一般的である。
【0026】
図18には、足底接点の支持多角形で定義される安定領域内に適当にZMPを設定して前方歩行した場合において、左右それぞれの脚部が立脚及び遊脚を交互に繰り返す間にZMPが移動する様子を示している。また、図19には、左右それぞれの脚部が立脚及び遊脚を交互に繰り返す間にZMPが安定領域内で適当な軌跡で移動する様子を示している。図19に示すZMP軌跡は必ずしも最短の経路を辿るとは限らない。
【0027】
また、図20には、支持多角形で定義される安定領域内の適当な位置にZMPを設定して2足の脚式ロボットが左右方向に歩行した場合において、歩行周期の間にZMPが移動する様子を示している。この場合、左右の脚部が交互に立脚となる期間中、ZMP位置は大きく移動し、ZMP軌跡の距離は長くなる。
【0028】
すなわち、図18〜図20からも容易に分かるように、支持多角形で定義される安定領域内の適当な場所にZMP位置を設定した場合、ある状態から次の状態に動作遷移する期間中におけるZMPの移動距離が長くなってしまい、その分だけ動作完了までに時間がかかってしまい、より速く移動することに支障が生じる可能性がある。
【0029】
また、安定領域内の適当な場所にZMP位置を設定して2足脚式ロボットが前進歩行する場合には、脚式移動ロボットの重心位置Gは、例えば図21に示すよう略中央付近に設定される可能性がある。このような場合、後足が後方に向かって床面を蹴り出す力や、進行方向すなわち前方に印加される加速力の成分は低くなってしまうので、より速く移動を開始するために必要なより大きな加速度を発生させるには不利な状態にある。
【0030】
同様に、安定領域内の適当な場所にZMP位置を設定して2足脚式ロボットが横方向に歩行する場合には、脚式移動ロボットの重心位置Gは、例えば図22に示すよう略中央付近に設定される。このような場合、蹴り出し力の方向は重力方向とほぼ一致してしまい、分力としての横方向加速度はほとんどゼロになってしまうので、より速く移動を開始するために必要なより大きな加速度を発生させるには不利な状態にある。
【0031】
本発明は上記のような技術的課題に鑑みたものであり、その目的は、可動脚を用いた歩行その他の脚式移動作業を効果的に行うことができる、優れた脚式移動ロボット及びその制御方法を提供することにある。
【0032】
本発明の更なる目的は、ZMPを歩行の安定度判別の規範として用いて効率的な脚式移動作業を行うことができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することにある。
【0033】
本発明の更なる目的は、ZMPの位置設定又はZMP目標軌道設定を効果的に制御することでロボットの動作遷移を円滑且つ安定的に実行することができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することにある。
【0034】
本発明の更なる目的は、2足による脚式作業中における次の動作・姿勢への効率的な遷移を考慮してZMPの位置設定又はZMP目標軌道設定を行うことができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することにある。
【0035】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、少なくとも複数本の可動脚を備えた脚式移動ロボットのための動作制御システム又は動作制御方法であって、
所定動作実行中の各時刻毎のZMP安定領域を算出する安定領域算出手段又はステップと、
各時刻毎のZMP安定領域内の所定位置に設定した目標ZMP位置からなるZMP目標軌道を算出するZMP目標軌道算出手段又はステップと、
を具備し、ZMP目標軌道に従って前記の所定動作の実行を制御することを特徴とする動作制御システム又は動作制御方法である。
【0036】
ここで、前記安定領域算出手段又はステップは、各可動脚の足底接地点支持多角形に基づいて前記ZMP安定領域を算出することができる。
【0037】
また、前記ZMP目標軌道算出手段又はステップは、各ZMP安定領域間のZMP移動量が最小となるZMP目標軌道を算出するようにしてもよい。
【0038】
また、前記ZMP目標軌道算出手段又はステップは、各ZMP安定領域の略中心を基準として設定した目標ZMP位置を連結してなるZMP目標軌道を算出するようにしてもよい。
【0039】
また、前記ZMP目標軌道算出手段又はステップは、各ZMP安定領域の略中心よりも次の進行方向寄りに設定した目標ZMP位置を連結してなるZMP目標軌道を算出するようにしてもよい。
【0040】
また、前記ZMP目標軌道算出手段又はステップは、各ZMP安定領域の略中心に設定した目標ZMP位置を連結してなるZMP目標軌道を算出するようにしてもよい。
【0041】
また、脚式移動ロボットの動作制御システム又は動作制御方法は、さらに、算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成手段を備えてもよい。
【0042】
このような場合、さらに、
該生成された運動パターンが前記脚式移動ロボットの仕様を満足するか否かを判断する仕様判断手段と、
否定的な仕様判断結果に応答して、該仕様の不足量に基づいて目標ZMP軌道を修正する目標ZMP軌道修正手段と、
を備えることで、実現可能で且つ効率的な目標ZMP軌道を探索することができる。
【0043】
あるいは、さらに、
該生成された運動パターンに基づいて実現される実現ZMP軌道を算出する実現ZMP算出手段と、
目標ZMP軌道と実現ZMP軌道間のZMP誤差を算出するZMP誤差算出手段と、
ZMP誤差が所定値を越えたことに応答して、該ZMP誤差に基づいて目標ZMP軌道を修正する目標ZMP軌道修正手段と、
を備えることで、実現可能で且つ効率的な目標ZMP軌道を探索することができる。
【0044】
【作用】
本発明では、いわゆるZMPを安定度判別規範として用いて脚式移動ロボットの効率的な動作制御を行うようになっている。
【0045】
より具体的には、安定歩行可能なZMP位置の移動量が最小となるようなZMP目標軌道を利用して、脚式移動ロボットの歩行その他の動作パターンを生成することができる。
【0046】
脚式移動ロボットがZMP位置の移動量が最小となるZMP目標軌道を辿る場合、ZMP位置は、足底接地点からなる支持多角形で定まる安定領域の中心よりも進行方向寄りの場所に設定される傾向をとる。
【0047】
例えば、左右それぞれの脚部が立脚及び遊脚を交互に繰り返して通常の2足歩行を実行する場合、ZMP位置は、常に安定領域の中心よりも前方寄りの場所に設定される。したがって、歩行期間中におけるZMP位置の移動距離は最小となり、その分だけ動作完了までの所要時間が短縮化され、より速く移動することが可能となる。また、ZMP位置を安定領域の中心よりも進行方向すなわち前方寄りの場所に設定するためには、脚式移動ロボットの重心位置Gは必然的に進行方向寄りに移動するので、より大きな加速度を発生させることが比較的容易となり、動作遷移が効率化するとともに、敏捷な動作が実現可能となる。
【0048】
同様に、横方向に移動開始する場合においても、ZMP位置は、安定領域の中心よりも進行方向すなわち他方の足底寄りの場所に設定される。したがって、ZMP位置の移動距離は最小となり、その分だけ動作完了までの所要時間が短縮化され、素早い動作を実現することが可能となる。また、横方向に歩行中の脚式移動ロボットの重心位置Gが他方の足側寄りに移動しているので、一方の足が外側に向かって床面を蹴り出す力や、進行方向すなわち横方向に印加される加速力の成分は必然的に大きくなる。この結果、より速く移動を開始するときや移動方向を変更するときに必要なより大きな加速度を発生させることが比較的容易となり、動作遷移が効率化するとともに、敏捷な動作が実現可能となる。
【0049】
すなわち、ZMP位置の移動量が最小となるZMP目標軌道を利用することによって、次の動作や姿勢へ円滑且つ安定的に遷移することができるような、効果的なZMP位置設定を行うことができる。
【0050】
また、本発明によれば、脚式移動ロボットの動作遷移の効率よりも歩行安定性を優先して、安定余裕が最大となる場所にZMP位置が設定されるようなZMP目標軌道を算出することもできる。
【0051】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0052】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0053】
図1及び図2には、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット100は、脚式移動を行う左右2足の下肢と、体幹部と、左右の上肢と、頭部とで構成される。
【0054】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0055】
体幹部ユニット内には、図1及び図2上では見えていない制御部が配備されている。この制御部は、脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【0056】
図3には、本実施例に係る脚式移動ロボット100が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット100は、2本の腕部と頭部1を含む上体と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【0057】
頭部1を支持する首関節は、首関節ヨー軸2と、首関節ピッチ軸3と、首関節ロール軸4という3自由度を有している。
【0058】
また、各腕部は、肩関節ピッチ軸8と、肩関節ロール軸9と、上腕ヨー軸10と、肘関節ピッチ軸11と、前腕ヨー軸12と、手首関節ピッチ軸13と、手首関節ロール軸14と、手部15とで構成される。手部15は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部15の動作自体は、ロボット100の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は7自由度を有するとする。
【0059】
また、体幹部は、体幹ピッチ軸5と、体幹ロール軸6と、体幹ヨー軸7という3自由度を有する。
【0060】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸16と、股関節ピッチ軸17と、股関節ロール軸18と、膝関節ピッチ軸19と、足首関節ピッチ軸20と、関節ロール軸21と、足部(足底又は足平)22とで構成される。股関節ピッチ軸17と股関節ロール軸18の交点は、本実施例に係るロボット100の股関節位置を定義するものとする。人体の足部(足底)22は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット100の足底はゼロ自由度とする。したがって、左右の各脚部は6自由度で構成される。
【0061】
以上を総括すれば、本実施例に係る脚式移動ロボット100全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。但し、脚式移動ロボット100が必ずしも32自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0062】
脚式移動ロボット100が持つ上述の各関節自由度は、実際にはアクチュエータによる能動的な動作として実現される。装置の外観上で余分な膨らみを排してヒトの自然体形状に近似させることや、2足歩行という不安定構造体に対して姿勢制御を行うことなどの種々の要請から、関節アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした。なお、脚式ロボットに適用可能な小型ACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特願平11−33386号明細書に開示されている。
【0063】
図4には、本実施例に係る脚式移動ロボット100の制御システム構成を模式的に示している。同図に示すように、該システムは、ユーザ入力などに動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、関節アクチュエータの駆動などロボットの全身協調運動を制御する運動制御モジュール300とで構成される。
【0064】
思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213、及び、外部記憶装置(ハード・ディスク・ドライブなど)214で構成される、自己完結処理を行うことができる独立した情報処理装置である。
【0065】
思考制御モジュール200には、CCD(Charge Coupled Device)カメラなどの画像入力装置251や、マイクなどの音声入力装置252、スピーカなどの音声出力装置253、LAN(Local Area Network:図示しない)などを経由してロボット100外のシステムとデータ交換を行う通信インターフェース254など各種の装置が、バス・インターフェース201経由で接続されている。
【0066】
思考制御モジュール200では、画像入力装置251から入力される視覚データや音声入力装置252から入力される聴覚データなど、外界からの刺激などに従って、脚式移動ロボット100の現在の感情や意思を決定する。さらに、意思決定に基づいた振舞い又は行動、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。
【0067】
一方の運動制御モジュール300は、ロボット100の全身協調運動を制御するCPU(Central Processing Unit)311や、RAM(Random Access Memory)312、ROM(Read Only Memory)313、及び、外部記憶装置(ハード・ディスク・ドライブなど)314で構成される、自己完結処理を行うことができる独立した情報処理装置である。外部記憶装置314には、例えば、オフラインで算出された歩行パターンやZMP目標軌道、その他の行動計画を蓄積することができる。
【0068】
運動制御モジュール300には、ロボット100の全身に分散するそれぞれの関節自由度を実現する関節アクチュエータ(図3を参照のこと)、体幹部の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352及び353、バッテリなどの電源を管理する電源制御装置などの各種の装置が、バス・インターフェース301経由で接続されている。
【0069】
運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各関節アクチュエータによる全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンに従って、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部水平位置及び高さなどを設定するとともに、これらの設定内容に従った動作を指示する指令値を各関節アクチュエータに転送する(「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット100の歩行動作期間中などにZMPが動く軌跡を意味する)。
【0070】
また、CPU311は、姿勢センサ351の出力信号によりロボット100の体幹部分の姿勢や傾きを検出するとともに、各接地確認センサ352及び353の出力信号により各可動脚が遊脚又は立脚のいずれの状態であるかを検出することによって、脚式移動ロボット100の全身協調運動を適応的に制御することができる。
【0071】
さらに、運動制御モジュール300は、思考制御モジュール200において決定された意思通りの行動がどの程度体現されたか、すなわち処理の状況を、思考制御モジュール200に返すようになっている。
【0072】
思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース201及び301を介して相互接続されている。
【0073】
次いで、本実施例に係る脚式移動ロボット100の歩行制御について説明する。
【0074】
脚式移動ロボット100は、例えば、歩行などの脚式作業の動作パターンを予めオフラインで計算してメモリなどに格納しておく。そして、所定の動作パターンをメモリなどから逐次読み出して各関節アクチュエータの駆動制御を実行することで、計算された動作パターン通りの脚式作業を実現することができる。
【0075】
本実施例では、ZMPを安定度判別規範として用いて動作パターンを生成する。さらに具体的に言えば、安定歩行可能なZMP位置の移動量が最小となるようなZMP目標軌道を利用して動作パターンを生成するようになっている。ZMP位置の移動量が最小となるZMP目標軌道を利用することによって、次の動作や姿勢へ円滑且つ安定的に遷移することができるような、効果的なZMP位置設定を行うことができる。
【0076】
図5及び図6には、安定歩行可能なZMP位置の移動量が最小となるようなZMP目標軌道を算出するための処理手順をフローチャートの形式で図解している。以下、このフローチャートに従って説明する。
【0077】
まず、歩行路面を設定するとともに(ステップS11)、この設定した歩行路面に基づいて足部運動パターンを設定する(ステップS19)。足部運動パターンは、xyz各座標値及び時刻tの関数である。
【0078】
次いで、設定された歩行路面及び足部運動パターン(x,y,z,t)に基づいて、足底接地点を算出する(ステップS12)。足底接地点は、xyz各座標値及び時刻tの関数である。
【0079】
次いで、足底接地点(x,y,z,t)によって形成される支持多角形を算出する(ステップS13)。支持多角形は時刻tの関数である。
【0080】
この結果、理想的安定領域が求まる(ステップS14)。理想的安定領域は、xyz各座標値及び時刻tの関数である。
【0081】
この理想的安定領域(x,y,z,t)、並びに、別途算出されているZMP制御最大誤差群(S20)を基に、実質的安定領域を算出する(ステップS15)。実質的安定領域は、xyz各座標値及び時刻tの関数である。この結果、安定領域が求まる(ステップS16)。この安定領域も、xyz各座標値及び時刻tの関数である。
【0082】
次いで、ZMP群を算出する(ステップS17)。このZMP群はxyz各座標値及び時刻tの関数である。
【0083】
そして、時刻t=0〜Tにおける、ZMP移動量が最小となるようなZMP目標軌跡を算出する(ステップS18)。
【0084】
次いで、算出されたZMP目標軌道(x,y,z,t=0〜T)を基にして(S21)、このZMP目標軌道を実現する全身運動パターンを算出する(ステップS22)。全身運動パターンの算出処理は、別途定義済みの処理フローによって実現されるが、その詳細は後述に譲る。
【0085】
次いで、生成された全身運動パターンが、適用機械モデルの仕様を満たしているか否かをチェックする(ステップS23)。この場合の適用機械モデルとは脚式ロボット100のことであり、また、その仕様とは各関節の可動角、関節角速度、関節角速度、関節角加速度、関節トルクなどで構成される。
【0086】
算出された全身運動パターンが適用機械モデルの仕様を満たしていない場合には、適用機械モデルの仕様に対する不足量を用いたZMP目標軌道の修正を行う(ステップS29)。そして、この新たなZMP目標軌道を実現する全身運動パターンを再度算出する(ステップS22)。
【0087】
他方、算出された全身運動パターンが適用機械モデルの仕様を満たす場合には、適用機械モデルと算出された全身運動パターンを用いて、実現ZMPの軌道を算出する(ステップS24)。ZMP軌道はxyz各座標値及び時刻tの関数である。但し、数学的演算処理によりZMP軌道の厳密解又は非厳密解を求めるのではなく、推定、あるいは実験・試行錯誤によりZMP軌道を特定するのであってもよい。
【0088】
次いで、時刻t=0〜TにおけるZMPの誤差を算出して(ステップS25)、この誤差が許容値以下か否かをチェックする(ステップS26)。
【0089】
ZMP誤差が許容値を越える場合には、ステップS28に進み、ZMP誤差を用いたZMP目標軌道の修正を行う。そして、この新たなZMP目標軌道を実現する全身運動パターンを再度算出して(ステップS22)、上述と同様の処理を繰り返し実行する。
【0090】
他方、ZMP誤差が許容値以下に収まった場合には、算出されたZMP目標軌道をZMP移動量が最小となり且つ安定歩行可能なZMP目標軌道(S27)として出力するとともに、本処理ルーチン全体を終了する。
【0091】
ZMP位置の移動量が最小となるZMP目標軌道を辿る場合、ZMP位置は、足底接地点からなる支持多角形で定まる安定領域の中心よりも進行方向寄りの場所に設定される傾向をとる。
【0092】
例えば、左右それぞれの脚部が立脚及び遊脚を交互に繰り返して通常の2足歩行を実行する場合、図7に示すように、ZMP位置は、常に安定領域の中心よりも進行方向すなわち前方寄りの場所に設定される。また、この期間中のZMP軌跡は図8に示す通りとなる。
【0093】
したがって、本実施例に従えば、左右それぞれの脚部が立脚及び遊脚を交互に遷移する期間中におけるZMP位置の移動距離は最小となり、その分だけ動作完了までの所要時間が短縮化され、より速く移動することが可能となる。
【0094】
また、ZMP位置を安定領域の中心よりも進行方向すなわち前方寄りの場所に設定するためには、適用機械すなわち脚式移動ロボット100の重心位置Gは必然的に進行方向寄りに移動する。
【0095】
図9には、前方に歩行中の脚式移動ロボット100を描写しているが、その重心位置Gが前方に移動しているので、後足が後方に向かって床面を蹴り出す力や、進行方向すなわち前方に印加される加速力の成分は必然的に大きくなる。この結果、より速く移動を開始するときや移動方向を変更するときに必要なより大きな加速度を発生させることが比較的容易となり、動作遷移が効率化するとともに、敏捷な動作が実現可能となる。
【0096】
前方に向かう敏捷な動作は、脚式ロボットが例えばサッカー・ゲームのような大きな加速度の変化を必要とするスポーツをプレイするときに、極めて有効である。
【0097】
さらに、図7〜図9に示すように脚式移動ロボット100が前方方向に移動する場合だけでなく、横方向に移動開始する場合においても、同様に効果を奏することができる。このような場合、ZMP位置は、図10に示すように常に安定領域の中心よりも進行方向すなわち他方の足底寄りの場所に設定される。したがって、ZMP位置の移動距離は最小となり、その分だけ動作完了までの所要時間が短縮化され、素早い動作を実現することが可能となる。
【0098】
また、図11には、横方向に歩行中の脚式移動ロボット100を描写しているが、その重心位置Gが他方の足側寄りに移動しているので、一方の足が外側に向かって床面を蹴り出す力や、進行方向すなわち横方向に印加される加速力の成分は必然的に大きくなる。この結果、より速く移動を開始するときや移動方向を変更するときに必要なより大きな加速度を発生させることが比較的容易となり、動作遷移が効率化するとともに、敏捷な動作が実現可能となる。
【0099】
横方向の敏捷な動作は、脚式ロボットが例えばサッカー・ゲームのような大きな加速度の変化並びに素早い方向転換を必要とするスポーツをプレイするときに、極めて有効である。
【0100】
図12及び図13には、ZMP目標軌道を算出する処理手順の他の例について、フローチャートの形式で図解している。この実施例では、安定余裕が最大となる場所、より具体的には、安定領域のほぼ中心にZMP位置が設定されるようなZMP目標軌道を算出することができる。以下、このフローチャートに従って説明する。
【0101】
まず、歩行路面を設定するとともに(ステップS41)、この設定した歩行路面に基づいて足部運動パターンを設定する(ステップS48)。足部運動パターンは、xyz各座標値及び時刻tの関数である。
【0102】
次いで、設定された歩行路面及び足部運動パターン(x,y,z,t)に基づいて、足底接地点を算出する(ステップS42)。足底接地点は、xyz各座標値及び時刻tの関数である。
【0103】
次いで、足底接地点(x,y,z,t)によって形成される支持多角形を算出する(ステップS43)。支持多角形は時刻tの関数である。
【0104】
この結果、理想的安定領域が求まる(ステップS44)。理想的安定領域は、xyz各座標値及び時刻tの関数である。
【0105】
この理想的安定領域(x,y,z,t)、並びに、別途算出されているZMP制御最大誤差群(S49)を基に、実質的安定領域を算出する(ステップS45)。実質的安定領域は、xyz各座標値及び時刻tの関数である。この結果、安定領域が求まる(ステップS46)。この安定領域も、xyz各座標値及び時刻tの関数である。
【0106】
そして、安定領域の重心位置をZMP位置として、時刻t=0〜TにおけるZMP目標軌跡を算出する(ステップS47)。
【0107】
次いで、算出されたZMP目標軌道(x,y,z,t=0〜T)を基にして(S51)、このZMP目標軌道を実現する全身運動パターンを算出する(ステップS52)。全身運動パターンの算出処理は別途定義済みの処理フローによって実現されるが、その詳細は後述に譲る。
【0108】
次いで、生成された全身運動パターンが、適用機械モデルの仕様を満たしているか否かをチェックする(ステップS53)。この場合の適用機械モデルとは脚式ロボット100のことであり、また、その仕様とは各関節の可動角、関節角速度、関節角速度、関節角加速度、関節トルクなどで構成される。
【0109】
算出された全身運動パターンが適用機械モデルの仕様を満たしていない場合には、適用機械モデルの仕様に対する不足量を用いたZMP目標軌道の修正を行う(ステップS59)。そして、この新たなZMP目標軌道を実現する全身運動パターンを再度算出する(ステップS52)。
【0110】
他方、算出された全身運動パターンが適用機械モデルの仕様を満たす場合には、適用機械モデルと算出された全身運動パターンを用いて、実現ZMPの軌道を算出する(ステップS54)。ZMP軌道はxyz各座標値及び時刻tの関数である。但し、数学的演算処理によりZMP軌道の厳密解又は非厳密解を求めるのではなく、推定、あるいは実験・試行錯誤によりZMP軌道を特定するのであってもよい。
【0111】
次いで、時刻t=0〜TにおけるZMPの誤差を算出して(ステップS55)、この誤差が許容値以下か否かをチェックする(ステップS56)。
【0112】
ZMP誤差が許容値を越える場合には、ステップS58に進み、ZMP誤差を用いたZMP目標軌道の修正を行う。そして、この新たなZMP目標軌道を実現する全身運動パターンを再度算出して(ステップS52)、上述と同様の処理を繰り返し実行する。
【0113】
他方、ZMP誤差が許容値以下に収まった場合には、算出されたZMP目標軌道を安定余裕が最大となるZMP目標軌道(S77)として出力するとともに、本処理ルーチン全体を終了する。
【0114】
図12及び図13に示す処理ルーチンによれば、脚式移動ロボット100の動作遷移の効率よりも歩行安定性を優先したZMP目標軌道及び動作パターンを生成することができる。
【0115】
最後に、図9におけるステップS22、並びに、図13におけるステップS52において実行する全身運動パターンの算出処理について説明しておく。
【0116】
本実施例では、全身運動パターン算出のために、図1〜図3に示す構造の脚式移動ロボット100を図14及び[数1](後述)に示すような線形且つ非干渉の多質点近似モデルに置き換えて計算することにした。
【0117】
図14において、O−XYZ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、O'−X'Y'Z'座標系は脚式移動ロボット100とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、iはi番目に与えられた質点を表す添え字であり、miはi番目の質点の質量、r' iはi番目の質点の位置ベクトル(但し運動座標系)を表すものとする。また、後述する全身協調運動パターン生成処理において特に重要な腰部質点の質量はmh、その位置ベクトルはr' h(r' hx,r' hy,r' hz)とし、また、ZMPの位置ベクトルをr' zmpとする。
【0118】
図14に示す非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない、という点を充分理解されたい。
【0119】
このような多質点近似モデルは、概ね以下の処理手順により生成することができる。すなわち、
(1)ロボット100全体の質量分布を求める。
(2)質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
(3)各領域i毎に、重心を求め、その重心位置と質量miを該当する質点に付与する。
(4)各質点miを、質点位置riを中心とし、その質量に比例した半径に持つ球体として表示する。
(5)現実に連結関係のある質点すなわち球体同士を連結する。
【0120】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。本実施例では、図14を見ても判るように、この多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定したものである。
【0121】
なお、図14に示す多質点モデルの腰部情報における各回転角(θhx,θhy,θhz)は、脚式移動ロボット100における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである(図15には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい)。
【0122】
次いで、上記の多質点近似モデルを用いて脚式移動ロボット100の全身運動パターンを生成するための処理手順について説明する。
【0123】
図16には、脚式移動ロボット100全身運動パターンを生成するための処理手順をフローチャートの形式で示している。但し、以下では、図14に示す線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとし、且つ、計算に際して下式のようなパラメータを用いることとする。但し、ダッシュ(')付きの記号は運動座標系を記述するものと理解されたい。
【0124】
【数1】
【0125】
また、ロボット100の腰部高さが一定(r'hz+rqz=const)で、且つ、膝部質点がゼロであることを前提とする。以下、図16に示すフローチャートに従って説明する。
【0126】
まず、図5のステップS19(又は図12のステップS48)で与えられる足部運動、足部運動から導出されたZMP目標軌道(図6のS21又は図13のS51)、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される(ステップS111)。但し、腰部の運動に関しては、Z'方向のみ設定し、X'及びY'の各方向については未知とする。
【0127】
次いで、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS112)。
【0128】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動(r' hx,r' hy)によって発生する設定ZMP上でのモーメントを算出する(ステップS113)。
【0129】
次いで、設定ZMP上におけるモーメントに関する釣り合い式を、ロボットとともに動く運動座標系O'−X'Y'Z'上で導出する(ステップS114)。より具体的には、足部、体幹、そして上肢運動により発生するモーメント(Mx,My)を既知変数の項として右辺に、腰部質点の水平運動に関する項(rhx,rhy)を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なZMP方程式(1)を導出する。
【0130】
【数2】
【0131】
但し、以下が成立するものとする。
【0132】
【数3】
【0133】
次いで、上記のZMP方程式(1)を解いて、腰部水平面内軌道を算出する(ステップS115)。例えば、オイラー法やルンゲ・クッタ法などの数値的解法(周知)を用いてZMP方程式(1)を解くことで、未知変数としての腰部の水平絶対位置(rhx,rhy)の数値解を求めることができる(ステップS116)。ここで求められる数値解は、安定歩行可能な腰部運動パターンの近似解であり、より具体的にはZMPが目標位置に入るような腰部水平絶対位置である。ZMP目標位置は、通常、着床した足底に設定される。
【0134】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS117)。この際、膝部の軌道を算出してもよい。
【0135】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のモーメント(eMx,eMy)を算出する(ステップS118)。非厳密モデルでは上記の[数3]が成立することを前提としたが、厳密ではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0136】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動の発生するモーメント誤差である。続くステップS119では、このモーメント(eMx,eMy)が非厳密モデルにおける近似モーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる(ステップS120)。本実施例のように片足が6自由度を持つ脚式ロボット(図3を参照のこと)の場合、各足部の位置と腰部の水平位置及び高さによって両脚の姿勢が一意に定まる。すなわち、腰部運動パターンを生成することはロボット100の「歩容」すなわち全身運動パターンを決定すること相当する。そこで、ステップS120を以って本ルーチン全体を終了する。
【0137】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて近似モデルにおける既知発生モーメント(Mx,My)を修正して(ステップS121)、再びZMP方程式の導出を行い、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【0138】
また、図17には、脚式移動ロボット100全身運動パターンを生成する処理手順の他の例をフローチャートの形式で示している。但し、図16に示した例と同様に、線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとする。
【0139】
まず、図5のステップS19(又は図12のステップS48)で与えられる足部運動、足部運動から導出されたZMP目標軌道(図6のS21又は図13のS51)、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される(ステップS131)。但し、腰部の運動に関しては、Z'方向のみ設定し、X'及びY'の各方向については未知とする。
【0140】
次いで、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS132)。
【0141】
次いで、腰部水平面内運動(r' hx,r' hy)をフーリエ級数展開する(ステップS133)。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、FFT(高速フーリエ変換)を適用することができるので、計算速度を大幅に向上させることができる。
【0142】
次いで、設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)についてもフーリエ級数展開する(ステップS134)。
【0143】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで(ステップS135)、腰部運動の近似解が求まる(ステップS136)。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解(rhx,rhy)であり、より具体的にはZMPが目標位置に入るような腰部水平絶対位置である。ZMP目標位置は、通常、着床した足底に設定される。
【0144】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS137)。この際、膝部の軌道を算出してもよい。
【0145】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のモーメント(eMx,eMy)を算出する(ステップS138)。非厳密モデルでは上記の[数3]が成立することを前提としたが、厳密ではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0146】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動の発生するモーメント誤差である。続くステップS139では、このモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことになるので(ステップS140)、本ルーチン全体を終了する。
【0147】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて非厳密モデルにおける既知発生モーメント(Mx,My)を修正して(ステップS141)、再びフーリエ級数展開して、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【0148】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0149】
【発明の効果】
以上詳記したように、本発明によれば、可動脚を用いた歩行その他の脚式移動作業を効果的に行うことができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することができる。
【0150】
また、本発明によれば、ZMPを歩行の安定度判別の規範として用いて効率的な脚式移動作業を行うことができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することができる。
【0151】
また、本発明によれば、ZMPの位置設定を効果的に制御することでロボットの動作遷移を円滑且つ安定的に実行することができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することができる。
【0152】
また、本発明によれば、2足による脚式作業中における次の動作・姿勢への効率的な遷移を考慮してZMPの位置設定を行うことができる、優れた脚式移動ロボットの動作制御システム及び動作制御方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施に供される脚式移動ロボット100を前方から眺望した様子を示した図である。
【図2】本発明の実施に供される脚式移動ロボット100を後方から眺望した様子を示した図である。
【図3】本実施例に係る脚式移動ロボット100が具備する自由度構成モデルを模式的に示した図である。
【図4】本実施例に係る脚式移動ロボット100の制御システム構成を模式的に示した図である。
【図5】安定歩行可能なZMP位置の移動量が最小となるようなZMP目標軌道を算出するための処理手順(前半)を示したフローチャート(本実施例)である。
【図6】安定歩行可能なZMP位置の移動量が最小となるようなZMP目標軌道を算出するための処理手順(後半)を示したフローチャート(本実施例)である。
【図7】安定領域の中心よりも進行方向寄りの場所にZMP位置を設定した場合において、脚式移動ロボット100の左右それぞれの脚部が立脚及び遊脚を交互に繰り返す通常の2足歩行期間中にZMP位置が移動する様子を描写した図(本実施例)である。
【図8】安定領域の中心よりも進行方向寄りの場所にZMP位置を設定した場合において、脚式移動ロボット100の左右それぞれの脚部が立脚及び遊脚を交互に繰り返す通常の2足歩行期間中のZMP軌跡を描写した図(本実施例)である。
【図9】安定領域の中心よりも進行方向寄りの場所にZMP位置を設定した場合において、前方に歩行中の脚式移動ロボット100及びその重心位置Gを示した図(本実施例)である。
【図10】安定領域の中心よりも進行方向寄りの場所にZMP位置を設定した場合において、脚式移動ロボット100が横方向に移動する動作期間中にZMP位置が移動する様子を描写した図(本実施例)である。
【図11】安定領域の中心よりも進行方向寄りの場所にZMP位置を設定した場合において、横方向に歩行中の脚式移動ロボット100及びその重心位置Gを示した図(本実施例)である。
【図12】安定余裕が最大となる場所にZMP位置が設定されるようなZMP目標軌道を算出するための処理手順(前半)を示したフローチャート(他の実施例)である。
【図13】安定余裕が最大となる場所にZMP位置が設定されるようなZMP目標軌道を算出するための処理手順(後半)を示したフローチャート(他の実施例)である。
【図14】本実施例に係る歩行制御の計算のために導入される、脚式移動ロボット100の線形且つ非干渉の多質点近似モデルを示した図である。
【図15】図14に示した脚式移動ロボット100の多質点近似モデルにおける腰部周辺の拡大図である。
【図16】脚式移動ロボット100の全身運動パターンを生成するための処理手順を示したフローチャートである。
【図17】脚式移動ロボット100の全身運動パターンを生成する処理手順の他の例を示したフローチャートである。
【図18】足底接点の支持多角形で定義される安定領域内に適当にZMPを設定して前方歩行した場合において、2足脚式ロボットの左右それぞれの脚部が立脚及び遊脚を交互に繰り返す間にZMPが移動する様子(従来例)を示した図である。
【図19】2足脚式ロボットの左右それぞれの脚部が立脚及び遊脚を交互に繰り返す間にZMPが安定領域内で適当な軌跡で移動する様子(従来例)を示した図である。
【図20】支持多角形で定義される安定領域内の適当な位置にZMPを設定して2足の脚式ロボットが左右方向に歩行した場合においてZMP位置が移動する様子(従来例)を示した図である。
【図21】安定領域内の適当な場所にZMP位置を設定して2足脚式ロボットが前進歩行する様子及びその重心位置G(従来例)を示した図である。
【図22】安定領域内の適当な場所にZMP位置を設定して2足脚式ロボットが横方向に歩行する様子及びその重心位置G(従来例)を示した図である。
【符号の説明】
1…頭部,2…首関節ヨー軸
3…首関節ピッチ軸,4…首関節ロール軸
5…体幹ピッチ軸,6…体幹ロール軸
7…体幹ヨー軸,8…肩関節ピッチ軸
9…肩関節ロール軸,10…上腕ヨー軸
11…肘関節ピッチ軸,12…前腕ヨー軸
13…手首関節ピッチ軸,14…手首関節ロール軸
15…手部,16…股関節ヨー軸
17…股関節ピッチ軸,18…股関節ロール軸
19…膝関節ピッチ軸,20…足首関節ピッチ軸
21…足首関節ロール軸,22…足部(足底)
100…脚式移動ロボット
200…思考制御モジュール
201…バス・インターフェース
211…CPU,212…RAM,213…ROM
214…外部記憶装置
251…画像入力装置(CCDカメラ)
252…音声入力装置(マイク)
253…音声出力装置(スピーカ)
254…通信インターフェース
300…運動制御モジュール
301…バス・インターフェース
311…CPU,312…RAM,313…ROM
314…外部記憶装置, 351…姿勢センサ
352,353…接地確認センサ
354…電源制御装置
Claims (10)
- 少なくとも複数本の可動脚を備えた脚式移動ロボットのための動作制御システムであって、
所定動作実行中の各時刻毎のZMP安定領域を算出する安定領域算出手段と、
各時刻毎のZMP安定領域内の所定位置に設定した目標ZMP位置からなるZMP目標軌道を算出するZMP目標軌道算出手段と、
を具備し、
前記ZMP目標軌道算出手段は、各ZMP安定領域の中心よりも次の進行方向寄りに設定した目標ZMP位置を連結してなるZMP目標軌道を算出し、
ZMP目標軌道に従って前記の所定動作の実行を制御することを特徴とする動作制御システム。 - 前記安定領域算出手段は、各可動脚の足底接地点支持多角形に基づいて前記ZMP安定領域を算出することを特徴とする請求項1に記載の脚式移動ロボットの動作制御システム。
- さらに、算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成手段を具備することを特徴とする請求項1に記載の脚式移動ロボットの動作制御システム。
- さらに、
算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成手段と、
該生成された運動パターンが前記脚式移動ロボットの仕様を満足するか否かを判断する仕様判断手段と、
否定的な仕様判断結果に応答して、該仕様の不足量に基づいて目標ZMP軌道を修正する目標ZMP軌道修正手段と、
を具備することを特徴とする請求項1に記載の脚式移動ロボットの動作制御システム。 - さらに、
算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成手段と、
該生成された運動パターンに基づいて実現される実現ZMP軌道を算出する実現ZMP算出手段と、
目標ZMP軌道と実現ZMP軌道間のZMP誤差を算出するZMP誤差算出手段と、
ZMP誤差が所定値を越えたことに応答して、該ZMP誤差に基づいて目標ZMP軌道を修正する目標ZMP軌道修正手段と、
を具備することを特徴とする請求項1に記載の脚式移動ロボットの動作制御システム。 - 少なくとも複数本の可動脚を備えた脚式移動ロボットのための動作制御方法であって、
所定動作実行中の各時刻毎のZMP安定領域を算出する安定領域算出ステップと、
各時刻毎のZMP安定領域内の所定位置に設定した目標ZMP位置からなるZMP目標軌道を算出するZMP目標軌道算出ステップと、
を有し、
前記ZMP目標軌道算出ステップでは、各ZMP安定領域の中心よりも次の進行方向寄りに設定した目標ZMP位置を連結してなるZMP目標軌道を算出し、
ZMP目標軌道に従って前記の所定動作の実行を制御することを特徴とする動作制御方法。 - 前記安定領域算出ステップでは、各可動脚の足底接地点支持多角形に基づいて前記ZMP安定領域を算出することを特徴とする請求項6に記載の脚式移動ロボットの動作制御方法。
- さらに、算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成ステップを有することを特徴とする請求項6に記載の脚式移動ロボットの動作制御方法。
- さらに、
算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成ステップと、
該生成された運動パターンが前記脚式移動ロボットの仕様を満足するか否かを判断する仕様判断ステップと、
否定的な仕様判断結果に応答して、該仕様の不足量に基づいて目標ZMP軌道を修正する目標ZMP軌道修正ステップと、
を有することを特徴とする請求項6に記載の脚式移動ロボットの動作制御方法。 - さらに、
算出された目標ZMP軌道を実現する前記脚式移動ロボットの運動パターンを生成する運動パターン生成ステップと、
該生成された運動パターンに基づいて実現される実現ZMP軌道を算出する実現ZMP算出ステップと、
目標ZMP軌道と実現ZMP軌道間のZMP誤差を算出するZMP誤差算出ステップと、
ZMP誤差が所定値を越えたことに応答して、該ZMP誤差に基づいて目標ZMP軌道を修正する目標ZMP軌道修正ステップと、
を有することを特徴とする請求項6に記載の脚式移動ロボットの動作制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000094049A JP4518615B2 (ja) | 2000-03-30 | 2000-03-30 | 脚式移動ロボットの動作制御システム及び動作制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000094049A JP4518615B2 (ja) | 2000-03-30 | 2000-03-30 | 脚式移動ロボットの動作制御システム及び動作制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001277158A JP2001277158A (ja) | 2001-10-09 |
JP4518615B2 true JP4518615B2 (ja) | 2010-08-04 |
Family
ID=18609148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000094049A Expired - Lifetime JP4518615B2 (ja) | 2000-03-30 | 2000-03-30 | 脚式移動ロボットの動作制御システム及び動作制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4518615B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4810880B2 (ja) * | 2005-05-10 | 2011-11-09 | トヨタ自動車株式会社 | ロボットとその制御方法 |
JP5993574B2 (ja) * | 2008-09-04 | 2016-09-14 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 転倒防止システム |
JP6457441B2 (ja) | 2016-07-12 | 2019-01-23 | ファナック株式会社 | ロボットの重心表示装置、ロボット制御装置およびロボットシミュレーション装置 |
-
2000
- 2000-03-30 JP JP2000094049A patent/JP4518615B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001277158A (ja) | 2001-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4480843B2 (ja) | 脚式移動ロボット及びその制御方法、並びに、脚式移動ロボット用相対移動測定センサ | |
KR100837988B1 (ko) | 각식 이동 로봇을 위한 동작 제어 장치 및 동작 제어방법, 및 로봇 장치 | |
KR100977348B1 (ko) | 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치 | |
JP3824608B2 (ja) | 脚式移動ロボット及びその動作制御方法 | |
US7076338B2 (en) | Motion unit generating method for legged mobile robot | |
JP3972854B2 (ja) | ロボットの運動制御装置 | |
JP2001212775A (ja) | 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット | |
JP5052013B2 (ja) | ロボット装置及びその制御方法 | |
JP2001150370A (ja) | 脚式移動ロボット及び脚式移動ロボットの動作制御方法 | |
JP3528171B2 (ja) | 移動ロボット装置及び移動ロボット装置の転倒制御方法 | |
JP3674779B2 (ja) | 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置 | |
JP4660870B2 (ja) | 脚式移動ロボット及びその制御方法 | |
JP4518615B2 (ja) | 脚式移動ロボットの動作制御システム及び動作制御方法 | |
JP4540156B2 (ja) | ロボットの重心位置制御方法 | |
JP4587699B2 (ja) | ロボット装置及びその制御方法 | |
JP2001157972A (ja) | 脚式移動ロボット | |
JP3568527B2 (ja) | 移動体装置 | |
JP3555946B2 (ja) | 移動ロボット装置及び移動ロボット装置の制御方法 | |
JP3555947B2 (ja) | 移動ロボット装置、移動ロボット装置の制御方法、移動ロボット装置の運動パターン生成方法、並びに移動ロボット装置の運動制御プログラム | |
JP3522741B2 (ja) | 脚式移動ロボットの動作制御装置及び動作制御方法、並びにロボット装置 | |
JP4707290B2 (ja) | 脚式移動ロボットの動作制御装置及び動作制御方法 | |
JP3555948B2 (ja) | 移動ロボット装置、移動ロボット装置の動作制御装置及び動作制御方法 | |
JP4481132B2 (ja) | ロボット装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100423 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100518 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100518 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4518615 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |