JP2007007802A - 脚式ロボットとその制御方法 - Google Patents

脚式ロボットとその制御方法 Download PDF

Info

Publication number
JP2007007802A
JP2007007802A JP2005193278A JP2005193278A JP2007007802A JP 2007007802 A JP2007007802 A JP 2007007802A JP 2005193278 A JP2005193278 A JP 2005193278A JP 2005193278 A JP2005193278 A JP 2005193278A JP 2007007802 A JP2007007802 A JP 2007007802A
Authority
JP
Japan
Prior art keywords
foot
deviation
grounding
correction amount
leg
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.)
Granted
Application number
JP2005193278A
Other languages
English (en)
Other versions
JP4696728B2 (ja
Inventor
Masafumi Uchihara
誠文 内原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2005193278A priority Critical patent/JP4696728B2/ja
Publication of JP2007007802A publication Critical patent/JP2007007802A/ja
Application granted granted Critical
Publication of JP4696728B2 publication Critical patent/JP4696728B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】 実際の支持脚の足平配置を計測し、計測された足平配置の目標とする足平配置経路からの差異に基づいて動作計画を更新しながら歩行する脚式ロボットにおいて、目標とする足平配置経路に迅速に復帰することが可能な技術を提供する。
【解決手段】 本発明のロボットは、支持脚の足平の接地位置と接地方向を計測する手段と、計測された接地位置と接地方向に基づいて当該支持脚が次に接地する予定の足平の接地位置と接地方向を推定する手段と、足平の接地位置と目標とする足平の接地位置の偏差を特定する手段と、足平の接地方向と目標とする足平の接地方向の偏差を特定する手段と、足平の接地位置の足平側方の偏差を特定する手段と、足平の接地位置の補正量および接地方向の補正量を計算する手段と、動作計画を更新する手段を備え、前記補正量を計算する手段は、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定する。
【選択図】 図4

Description

本発明は、体幹(胴部)に対して脚リンクが揺動可能に連結されている機械(脚式ロボットの機械系)を制御して歩行させる技術に関する。詳しくは、支持脚の実際の足平配置を計測して、目標とする足平配置経路に迅速に復帰するように歩容を修正する技術に関する。
左足リンクと体幹と右足リンクの相対的姿勢を変化させることによって歩行する脚式ロボットが開発されている。
脚式ロボットが歩行するためには、左足先と体幹と右足先の運動を指示するデータを必要とする。そのうちの体幹の位置と姿勢は、足先の位置と姿勢に対して適当な値である必要があり、その値が適当でなければロボットは転倒してしまう。
脚式ロボットが転倒しない体幹の位置と姿勢を得るためには、ロボットのダイナミクスを考慮に入れた複雑な計算を必要とする。その計算過程は大略下記のものである。
(1)ロボットの左足先と右足先の位置と姿勢を指示する経時的データを指定する。
(2)足先の位置と姿勢を考慮してロボットのZMPが存在しなければならない位置を指定する。ZMP(zero moment point)は、ロボットに作用する重力や床反力や慣性力の合力のモーメントがゼロになる床上の点をいう。ZMPが接地脚の足平内にあればロボットは転倒しない。逆にいうと、ロボットが転倒しないためには、ZMPが接地脚の足平内になければならない。そこで接地脚の足先の位置と姿勢を考慮し、下記の関係を満たす目標ZMPを指定する。即ち、一方の脚リンク(例えば左脚)が遊脚になっている間は接地脚(右脚)の足平内に存在し、その一方の脚(左脚)が接地して両足接地状態になった時に新たに接地した脚(左脚)の足平内に向けて移動開始し、それまでに接地していた脚(右脚)が遊脚となる前に新たに接地した脚(左脚)の足平内に移動し終えるZMPを指定する。このようにして指定されたZMPは、目標ZMPと呼ばれる。実際のZMPが目標ZMPのとおりに移動すれば、ロボットは転倒することなく歩行しつづける。
(3)足先の位置と姿勢の変化とそれに追従して変化する目標ZMPが指定されると、体幹の位置と姿勢の経時的変化を仮定してロボットのダイナミクスを計算する。計算する時点で、足先の位置と姿勢の経時的変化が指定されているために、ロボットの体幹の位置と姿勢を仮定すると、ロボットの全身の姿勢が決まる。ロボットの全身の姿勢が決まると、その姿勢におけるZMPの位置を計算することが可能となる。ZMPの位置を計算するためには、静的な要素に加えて、ロボットに作用する慣性力の影響を織り込まなければならない。仮定した体幹の位置と姿勢の経時的変化を計算に含めることで、ロボットのダイナミクスまで考慮してZMPの位置を計算することが可能となる。体幹の位置と姿勢の経時的変化を仮定するとZMPの位置を計算することができることから、目標ZMPに一致するZMPを実現する体幹の位置と姿勢の経時的変化を探求することができる。
上記によって探求された体幹の位置と姿勢の経時的変化を示すデータを体幹歩容データといい、もともと指定されている足先の位置と姿勢の経時的変化を示すデータを足先歩容データといい、両者を総称して歩容データという。歩容データに従ってロボットが歩行すれば、実際のZMPが目標ZMPに一致し、ロボットは転倒せずに歩行しつづけることができる。
歩容データは、時間に対する位置および姿勢の経時的変化で与えられる。位置と速度と加速度は関連しており、そのうちの一つの量から他の量を計算することができるために、位置の代わりに速度または加速度の経時的変化を扱ってもよい。姿勢は座標軸に対する回転角度で表現されるが、角度と角速度と角加速度は関連しており、そのうちの一つの量から他の量を計算することができるために、角度の代わりに角速度または角加速度の経時的変化を扱ってもよい。本明細書では、歩容データが、位置・速度・加速度のいずれかと、角度・角速度・角加速度のいずれかで記述されるために、運動を記述するデータということにする。
目標ZMPに一致するZMPをもたらす体幹運動を算出する手法は、目標足先運動の変化に追従してロボットが歩行しつづけることを可能とする目標体幹運動の経時的変化を算出する手法の典型例であり、それには限られない。一般的にいうと、脚式ロボットは、体幹と体幹に対して揺動可能に連結されている脚リンクを備えており、目標とする足先運動の経時的変化を記述する足先歩容データが指示されると、目標足先運動の変化に追従して歩行しつづけることを可能とする目標体幹運動の経時的変化を記述する体幹歩容データを算出し、指示された足先歩容データと算出された体幹歩容データを用いて歩行する。
歩容データに基づいて関節群を駆動すると、ロボットは歩行動作を実現する。実現される歩行動作が、想定した歩容データで表現される歩行動作と一致していれば、実現されるZMPは支持脚の足平内に維持されるため、ロボットは転倒することなく安定して歩行動作を継続することができる。
ロボットが歩行をしている間に、ロボットに予期せぬ外乱力が作用して、目標とする動作と、実際の動作との間にズレが生じることがある。路面の予期せぬ凹凸によって予期せぬ外乱力が作用することもあるし、ロボットに外界から押したり引いたりする外力が加えられることもある。ロボットの構造上のたわみや、ロボットの関節のガタや、ロボットの応答遅れ等に起因して歩容データから外れれば、予期せぬ外乱力が作用したのと同じことになる。
ロボットの実際の動作が目標とする動作からズレた場合、実際のロボットのZMPと目標ZMPの間に相違が生じ、ZMPが支持脚の足平内へ維持されなくなって、ロボットが転倒する可能性がある。このような事態を防ぐために、ロボットが実際に動作している状態を検出して、目標とする動作にフィードバックして、安定な動作を実現する技術が開発されている。
特許文献1に記載の技術では、ロボットに作用する床反力あるいは床反力モーメントを測定してZMP位置を実測する。実測されたZMP位置を目標ZMP位置と比較し、その偏差を両足平の目標位置や姿勢へフィードバックすることで歩行の安定化をはかっている。
特開平5−305579号公報
従来から提案されている脚式ロボットの歩行を制御する技術の多くは、ロボットに作用する力や加速度を計測して、計画された動作へのフィードバックを行う。このような制御技術によれば、ロボットの動力学的な安定性を確保することが可能であり、安定して歩行し続けるロボットを実現することができる。上記の制御技術によると、ロボットは必ずしも所望の配置で脚リンクの足平を接地するわけではないが、少なくとも安定した歩行を実現することができる。
しかしながら、ロボットの脚リンクの足平が所望の配置で接地するように制御したい場合がある。例えば床上に障害物が点在する室内をロボットが歩行する場合、障害物を踏まないように、接地する足平の配置を制御したい。また階段を昇降する場合、段を踏み外したり、段に躓いたりすることなく、歩行するように制御したい。
ロボットが接地するときの足平の配置を制御するためには、実際に接地している支持脚の足平の配置を計測して、ロボットの動作に反映することが望ましい。ここでいう配置とは、支持脚の足平が接地している位置と方向のことをいう。
計測された足平の配置をロボットの動作へ反映する手法としては、種々の手法を用いることができる。最も一般的には、支持脚の足平が実際に接地している位置と方向をそれぞれ計測して、目標とする足平の接地位置と接地方向との偏差を計算し、計算される偏差に基づいて接地位置と接地方向のそれぞれについてフィードバック制御を行うことで、目標とする足平配置経路へ復帰することが可能となる。
上記のフィードバック制御は、通常は位置と方向のそれぞれについて別個に制御がなされる。すなわち、位置に関しては位置偏差を算出して、その位置偏差に比例する補正量が次の接地位置に加えられ、方向に関しては方向偏差を算出して、その方向偏差に比例する補正量が次の接地方向に加えられる。しかしながら二足で歩行する脚式ロボットの歩行を扱う場合には、特有の課題が生じる。
二足で歩行する脚式ロボットは、通常ロボットを歩行させたい方向を前方として、左右に対称な脚リンクを備えている。ロボットの関節群は前方への歩行に適した配置で設けられており、左右の脚リンクにおいてもそれぞれを前方へ振り出す動作に適した形態で関節群が配置されている。
このようなロボットは、前方へ大きく脚リンクを振り出すことはできるが、側方へ大きく脚リンクを振り出すことは困難である。特に、右脚を左側へ振り出す場合や、左脚を右側へ振り出す場合には、脚リンク同士の干渉が問題となり、大きく振り出すことができない。左脚を右側へ大きく振り出すと、振り出した左脚が支持脚である右脚と衝突してしまい、ロボットは転倒する。右脚を左側へ大きく振り出す場合も同様である。従って、二足で歩行する脚式ロボットでは、脚リンクを前方へ振り出す場合には大きく振り出すことができるが、脚リンクを側方へ振り出す場合には大きく振り出すことができない場合がある。
このため、計測した足平配置を利用したフィードバック制御においても、足平の接地位置を側方へ修正しようとしても、脚リンク同士の干渉が問題となって、それほど大きく修正をすることができない場合がある。このため、目標とする足平配置経路から見て、足平側方の接地位置の偏差が大きい場合でも、補正することができる距離は限られており、目標とする足平配置経路へ復帰するまでに、かなりの時間と歩数とを必要としていた。
目標とする足平配置経路への復帰は、なるべく少ない歩数と短い時間で実現できることが好ましい。目標とする足平配置経路から大きく外れた場合であっても、その目標とする足平配置経路へ迅速に復帰することが可能な技術が待望されている。
本発明は上記課題を解決する。本発明は、実際の支持脚の足平配置を計測し、計測された足平配置の目標とする足平配置経路からの差異に基づいて動作計画を更新しながら歩行する脚式ロボットにおいて、目標とする足平配置経路に迅速に復帰することが可能な技術を提供する。
本発明のロボットは、動作計画に基づいて関節群を駆動し、左右の脚リンクの一方を支持脚として他方を振り出し、振り出した脚リンクを接地して支持脚を切り替える動作を繰返して歩行する脚式ロボットである。その脚式ロボットは、支持脚の足平の接地位置と接地方向を計測する手段と、計測された接地位置と接地方向および動作計画に基づいて当該支持脚が次に接地する予定の足平の接地位置と接地方向を推定する手段と、推定された足平の接地位置と目標とする足平の接地位置の偏差を特定する手段と、推定された足平の接地方向と目標とする足平の接地方向の偏差を特定する手段と、特定された足平の接地位置の偏差と目標とする足平の接地方向に基づいて足平の接地位置の足平側方の偏差を特定する手段と、特定された足平の接地位置の偏差と接地方向の偏差と接地位置の足平側方の偏差に基づいて足平の接地位置の補正量および接地方向の補正量を計算する手段と、計算された足平の接地位置の補正量と接地方向の補正量に基づいて動作計画を更新する手段を備えている。その脚式ロボットでは、前記補正量を計算する手段が、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定することを特徴とする。
本明細書で「動作計画」とは、ロボットに実現させる動作を特徴づけるデータであり、例えば歩容データであってもよいし、関節群の関節角群の経時的変化を記述するデータであってもよい。通常、動作計画はロボットが実際に動作を実現する前に予め与えられている。
本明細書で「足平の接地位置」とは、ロボットの脚リンクが足平を介して接地した状態において、足平の基準点(例えば足平の中央の点)と当接する床上の点の位置のことを言う。
本明細書で「足平の接地方向」とは、ロボットの脚リンクが足平を介して接地した状態において、足平の基準線(例えば踵から爪先へ向けて足平に沿って伸びる線)が、床上の基準線(例えば南から北へ伸びる線)と成す角度のことを言う。
また本明細書では足平の接地位置と接地方向を併せて「足平配置」と呼ぶことがある。
本明細書で「足平側方」とは、足平を床に接地した状態としたときに、床面内において踵から爪先へ向かう方向に垂直な方向のことを言う。
本発明の脚式ロボットは、歩行動作を実施している間に、支持脚の足平の接地位置と接地方向を計測する。そして、計測された支持脚の接地位置と接地方向に基づいて、その支持脚がその後に前方へ振り出されて再び接地するときの足平の接地位置と接地方向を、動作計画から推定する。そして、推定された足平の接地位置と接地方向と、目標とする足平の接地位置と接地方向に基づいて、動作計画の更新を行う。
動作計画の更新を行うにあたり、上記の脚式ロボットは、推定された足平の接地位置と目標とする足平の接地位置の偏差を特定する。また上記の脚式ロボットは、推定された足平の接地方向と目標とする足平の接地方向の偏差を特定する。さらに上記の脚式ロボットは、特定された足平の接地位置の偏差と、目標とする足平の接地方向に基づいて、足平の接地位置の足平側方の偏差を特定する。
本発明の脚式ロボットは、特定された足平の接地位置の偏差と、接地方向の偏差と、接地位置の足平側方の偏差に基づいて、足平の接地位置の補正量と接地方向の補正量を計算し、計算された補正量に基づいて動作計画の更新を行う。
本発明の脚式ロボットにおいては、足平の側方の偏差に基づいて、接地方向の補正量が計算される。足平の側方の偏差が大きい場合、目標とする接地方向と一致する接地方向で脚リンクを接地させると、その後に振り出す脚リンクを側方へ振り出さなければ目標とする接地位置へ近づけることができない。このような場合、脚リンク同士の干渉を防ぐため、脚リンクを側方へ大きく振り出すことができない場合があり、目標とする足平の接地位置へ復帰するまでにかなりの歩数と時間を必要とする。
本発明の脚式ロボットにおいては、足平の側方の偏差が大きい場合に、接地方向の補正量を大きな値に設定する。このような制御を行うことによって、補正された足平の接地方向は、目標とする足平の接地方向よりも目標とする足平の接地位置の側を向く方向に設定される。このように足平の接地方向を補正することによって、その後に振り出されて接地する脚リンクは補正された足平の接地方向に振り出されて接地して支持脚となり、他方の脚リンクを振り出すときに、その脚リンクを前方へ振り出すことで目標とする接地位置へ足平の接地位置を近づけることが可能となる。目標とする足平配置経路へ復帰するまでの歩数や時間を大幅に低減することが可能となる。
図5はロボットの右脚を接地するときの足平の方向と、その後接地した右脚を支持脚として左脚を振り出すときに左脚の足平が到達する位置との関係を示している。
ここでは、目標とする右脚の足平配置506に対して、足平側方の左側に δL だけ離れた接地位置へ右脚が接地するときに、目標とする足平配置506と接地方向を一致させて接地するときの接地配置504と、目標とする足平配置506の接地方向よりもさらに傾けて接地するときの接地位置502との対比を示している。
右脚を足平配置504で接地すると、その後接地した右脚を支持脚として左脚を振り出すときに、脚リンク同士の干渉を防ぐために、右脚に近接する位置まで左脚を振り出すことができず、図5では線516を超えて左脚を右脚へ近づけることができない。従って、目標とする左脚足平配置508へ近づけようとしても、例えば足平配置512までしか左脚の足平を到達させることができない。この場合、右脚を接地させた時点でδL だった足平側方の位置偏差は、左脚を接地させた時点でδL1 となる。
一方、右脚を足平配置502で接地すると、その後接地した右脚を支持脚として左脚を振り出すときに、脚リンク同士の干渉を防ぐために、線514を超えて左脚を右脚へ近づけることはできないが、例えば足平配置510まで左脚の足平を到達させることができる。この場合、右脚を接地させた時点でδL だった足平側方の位置偏差は、左脚を接地させた時点でδL2 となり、右脚を足平配置504で接地させた場合の左脚の接地時の足平側方の位置偏差δL1 にくらべて小さくすることができる。従って、より目標とする足平配置508へ足平の接地位置を近づけることができる。
本発明のロボットでは、足平側方の位置偏差 δL に応じて接地方向の補正量を増減させ、足平側方の位置偏差δL が大きいときは、目標とする足平の接地方向よりもさらに目標とする足平配置経路の側へ傾いた方向に、足平の接地方向を設定する。これによって、脚リンク同士の干渉の制約を受けない前方への歩行を通じて接地位置の足平側方の偏差δL を解消していくことが可能となり、迅速に軌道へ復帰することができる。
上述したような足平側方の位置偏差に基づいて接地方向を補正する制御は、他の制御と組み合わせて用いることが可能である。
例えば、上記の脚式ロボットでは、前記補正量を計算する手段は、足平の接地方向の偏差の絶対値が大きいほど、接地位置の補正量を小さな値に設定することが好ましい。
上記した脚式ロボットによれば、足平の接地方向の偏差が大きい場合に、接地位置の補正を小さなものに抑える。足平の接地方向の偏差が大きい場合は、目標とする足平の接地方向へ復帰するためにロボットは大きな旋回動作を行う。大きな旋回動作をしているときは、ロボットが片足支持で動作する期間が長いため、動作を変更するとロボットの挙動は不安定なものとなりやすい。上記のような制御を行うことによって、旋回動作の安定性を確保することができる。
上記の脚式ロボットは、脚式ロボットの速度を計測する手段をさらに備え、前記補正量を計算する手段は、特定された足平の接地位置の偏差、接地方向の偏差、接地位置の足平側方の偏差および計測された速度に基づいて、足平の接地位置の補正量と接地方向の補正量を計算するものであって、計測された速度が大きいほど、接地位置の補正量および/または接地方向の補正量を小さな値に設定することが望ましい。
上記した脚式ロボットによれば、ロボットの移動速度が大きい場合に、足平の接地位置や接地方向の補正を小さく抑えることができる。ロボットが高速で移動しているときに動作を変更すると、ロボットの挙動は不安定なものとなりやすい。上記のような制御を行うことによって、高速移動中のロボットの動作の安定性を確保することができる。
本発明は方法としても具現化される。本発明の方法は、動作計画に基づいて関節群を駆動し、左右の脚リンクの一方を支持脚として他方を振り出し、振り出した脚リンクを接地して支持脚を切り替える動作を繰返して歩行する脚式ロボットの制御方法である。その制御方法は、支持脚の足平の接地位置と接地方向を計測する工程と、計測された接地位置と接地方向および動作計画に基づいて当該支持脚が次に接地する予定の足平の接地位置と接地方向を推定する工程と、推定された足平の接地位置と目標とする足平の接地位置の偏差を特定する工程と、推定された足平の接地方向と目標とする足平の接地方向の偏差を特定する工程と、特定された足平の接地位置の偏差と目標とする足平の接地方向に基づいて足平の接地位置の足平側方の偏差を特定する工程と、特定された足平の接地位置の偏差と接地方向の偏差と接地位置の足平側方の偏差に基づいて足平の接地位置の補正量および接地方向の補正量を計算する工程と、計算された足平の接地位置の補正量と接地方向の補正量に基づいて動作計画を更新する工程を備えている。その制御方法は、前記補正量を計算する工程が、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定することを特徴とする。
本発明のロボットおよびその制御方法を用いることで、実際の支持脚の足平配置を検出して目標とする足平配置経路からの差異に基づいて動作計画を更新するロボットにおいて、目標とする足平配置経路へ迅速に復帰ことが可能となる。
以下、本発明を具現化した実施例について図面を参照して説明する。最初に実施例の主要な特徴を列記する。
(形態1) 動作計画に基づいて関節群を駆動し、左右の脚リンクの一方を支持脚として他方を振り出し、振り出した脚リンクを接地して支持脚を切り替える動作を繰返して歩行する脚式ロボットであって、
動作計画に基づいて関節群の関節角群を計算する手段と、
計算された関節角群となるようにアクチュエータ群を駆動する手段と、
関節群を駆動するアクチュエータ群と、
関節群の関節角群を計測するエンコーダ群と、
ロボットの外部に固定された座標系から見たロボットの代表点の位置を検出する手段と、
ロボットの外部に固定された座標系から見たロボットの代表線の方向を検出する手段と、
エンコーダ群から入力される関節角群と、前記位置を検出する手段から入力される代表点の位置と、前記方向を検出する手段から入力される代表線の方向に基づいて、支持脚の足平配置を特定する手段と、
特定された支持脚の足平配置と、動作計画に基づいて、当該支持脚が次に接地する足平配置を推定する手段と、
推定された当該支持脚が次に接地する足平配置と、当該支持脚が次に接地する目標足平配置に基づいて、動作計画における補正量を計算する手段と、
計算された補正量に基づいて、動作計画を修正する手段と、
を備え、前記補正量を計算する手段は、足平の接地位置の足平側方の偏差を算出し、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定することを特徴とする、脚式ロボット。
(実施例1)
図1に示すロボット6は、頭部18と、体幹12と、右脚20と、左脚22を備えている。ロボット6は、右脚20が接地している間に左脚22を遊脚として軌道7のように移動させ、左脚22が接地すると今度は右脚20を遊脚として軌道8のように移動させ、以下同様に、左脚22を遊脚として軌道9のように移動させ、次には右脚20を遊脚として軌道10のように移動させて歩行を続ける。
ロボット6の歩行を制御するために、ロボット6の体幹12にコントローラ14が搭載されている。コントローラ14は、CPU、ROM、RAM、ハードディスク等を有する。コントローラ14のハードウェア構成は汎用のコンピュータと同じであり、説明は省略する。コントローラ14は歩容データを記憶しており、それに基づいてロボット6の関節群を制御する。
ロボット6が歩行を続けるためには、足先の運動を記述する足先歩容データと、体幹12の運動を記述する体幹歩容データを備える歩容データが必要とされる。
足先歩容データは予めオペレータによって指定される。体幹歩容データはロボットの力学モデルを用いて計算されるZMP軌道が目標ZMP軌道に一致する関係に設定されている。
本実施例では、図1に示すように、床に固定された座標系を(x, y, z)とし、ロボット6の支持脚の基準点に固定された座標系を(x', y', z')とする。座標系(x', y', z')は、ロボット6が右脚20を支持脚としているときは基準点 R に固定されており、ロボット6が左脚22を支持脚としているときは、基準点 L に固定されている。座標系(x', y', z')では、足平に沿って踵から爪先へ伸びる方向をx' 軸とし、足平に沿って x' 軸と直交する方向を y' 軸とし、足平に垂直な方向を z' 軸とする。通常は、x' 軸はロボットが歩行する方向に相当し、y' 軸はロボットの体側方向に相当し、z' 軸はロボットの高さ方向に相当する。
足先歩容データは、ロボット6の足先の位置と姿勢の経時的変化を表す。例えば右脚20に関して、足先歩容データは、足先基準点 R の位置 xR, yR, zR の経時的変化と、基準点 R から足平の法線方向に伸びるベクトル Rr のオイラー角 αR, βR, γR の経時的変化を備えている。左脚22に関しても同様に、足先歩容データは、足先基準点 L の位置 xL, yL, zL の経時的変化と、基準点 L から足平の法線方向に伸びるベクトル Lr のオイラー角 αL, βL, γL の経時的変化を備えている。
体幹歩容データは、体幹の位置と姿勢の経時的変化を表す。体幹歩容データは、体幹基準点 W の位置 xW, yW, zW の経時的変化と、基準点 W から体幹に沿って頭部に向けて伸びるベクトル Wr のオイラー角 αW, βW, γW の経時的変化を備えている。
ロボット6の頭部18には、頭部位置検出装置220と、頭部方向検出装置222が搭載されている。頭部位置検出装置220は、ロボット6の外部に固定された座標系から見た頭部18の基準点 H の位置 xh, yh, zh を検出して、コントローラ14に送信する。頭部方向検出装置222は、ロボット6の外部に固定された座標系から見た頭部18の方向を検出して、コントローラ14に送信する。頭部18の方向は、基準点 H から頭部18の前方に向けて伸びるベクトル Hr のオイラー角 αh, βh, γh で表現される。
図2は、コントローラ14の機能をブロック化して示す図である。図2に示す要素のうち、ロボットの機械系216、エンコーダ218、頭部位置検出装置220、頭部方向検出装置222を除いた部分がコントローラ14の構成要素である。コントローラ14は、全体が物理的に1つの装置に含まれていてもよいし、物理的に分離された装置ごとに分けて収容されていてもよい。
歩容データ記憶装置210には、オペレータによって指定された足先歩容データが記憶されている。
足先歩容データは、加算器230によって補正され、関節角群計算装置212へ入力される。補正された足先歩容データは、体幹歩容計算装置232において、体幹歩容データの計算にも用いられる。
また歩容データ記憶装置210には、目標とする足平配置経路として、支持脚の接地位置 X'k, Y'k(k = 1, 2,・・・)と接地方向Γ'k(k = 1, 2,・・・)が、一歩ごとに記憶されている。ここで k は歩数に相当する。支持脚の接地位置 X'k, Y'k(k = 1, 2,・・・)は、足先歩容データに従って関節群を駆動したときの一歩ごとの支持脚の接地位置を示しており、支持脚が接地した状態における足先の基準点の位置をロボット6の外部に固定された座標系で表現したものである。また支持脚の接地方向Γ'k(k = 1, 2,・・・)は、足先歩容データに従って関節群を駆動したときの支持脚の足平の接地方向を示しており、支持脚が接地した状態において足先の基準点に固定された座標系(x', y', z')の x' 軸が、外部に固定された座標系(x, y, z)の x 軸と成す角度を表現したものである。支持脚の接地位置 X'k, Y'k(k = 1, 2,・・・)および接地方向Γ'k(k = 1, 2,・・・)は、着地配置修正装置234へ入力される。
さらに歩容データ記憶装置210には、支持脚の二歩ごとの相対的な接地位置 ΔXk, ΔYk(k = 1, 2,・・・)と相対的な接地方向ΔΓk(k = 1, 2,・・・)が、一歩ごとに記憶されている。本実施例のロボット6は、右脚と左脚を交互に接地して接地した脚リンクを支持脚としながら歩行するため、支持脚の二歩ごとの相対的な接地位置と接地方向は、同一の脚リンクについて連続する2つの足平配置での位置の変化量と方向の変化量を示している。支持脚の相対的な接地位置ΔXk, ΔYk(k = 1, 2,・・・)は、支持脚の接地位置を二歩前の支持脚の接地位置から見た相対的な位置を示している。支持脚の相対的な接地方向ΔΓk(k = 1, 2,・・・)は、支持脚の接地方向を二歩前の支持脚の接地方向から見た相対的な方向である。支持脚の相対的な接地位置ΔXk, ΔYk(k = 1, 2,・・・)および相対的な接地方向ΔΓk(k = 1, 2,・・・)は、着地配置計算装置226へ入力される。
体幹歩容計算装置232は、加算器230から入力される補正された足先歩容データに基づいて、体幹歩容データを計算する。体幹歩容計算装置232は、入力される足先歩容データに基づいて、支持脚の足平内に維持される目標ZMPを特定し、実現されるZMPが目標ZMPと一致するような体幹の位置と姿勢の経時的変化を特定する。
計算された体幹歩容データは、加算器230で補正された足先歩容データとともに、関節角群計算装置212へ入力される。
関節角群計算装置212は、入力された足先歩容データと体幹歩容データに基づいて、いわゆる逆キネマティクスを解くことでロボット6の各関節角θ'i(t)(i = 1,2,・・・,n)を計算する。ここで i は関節を特定する番号である。計算された関節角群データは、アクチュエータ制御部214に入力される。
アクチュエータ制御部214は、ロボット6の関節群を回転させるアクチュエータ群を制御する。アクチュエータ群はロボットの機械系216に存在している。アクチュエータ群を制御すると、ロボット6の関節角を計算された関節角に調整できる。アクチュエータ制御部214がアクチュエータ群を駆動すると、ロボット6は歩容データに従って歩行する。
ロボット6の各関節には、エンコーダ218が設けられている。エンコーダ218は、ロボット6の各関節角θi(t)(i = 1,2,・・・,n)を計測し、計測された関節角を支持脚足平配置計算装置224と、重心速度計算装置236へ出力する。
頭部位置検出装置220は、ロボット6の外部に固定された座標系における頭部18の位置xh(t), yh(t), zh(t) を計測し、計測された頭部18の位置を支持脚足平配置計算装置224と、重心速度計算装置236へ出力する。このような位置計測装置としては、例えばGPS受信機を用いることができる。また超音波を用いて距離を計測する装置であってもよいし、レーザー光を用いて距離を計測する装置であってもよいし、電磁波を用いて距離を計測する装置であってもよい。あるいはカメラ等を用いて外部の状況を撮影して、撮影されたデータに基づいて頭部の位置を特定してもよい。
頭部位置検出装置220は、頭部18の頭頂部に搭載されている。これによって、ロボット6の機体によって位置計測に使用する信号が遮蔽されることを防止することができる。ロボット6がどのような姿勢をとっても、安定して精度よく頭部18の位置を計測することができる。
上記のほかにも、頭部位置検出装置220は加速度センサと積分器の組合せであってもよい。この場合、頭部位置検出装置220は加速度センサで加速度を計測し、計測された加速度を積分して速度を計測し、計測された速度を積分して位置を計測する。
上記のほかにも、頭部位置検出装置220は、従来から知られている種々の位置計測技術によって、その位置を計測することができる。
頭部方向検出装置222は、ロボット6の外部に固定された座標系における、頭部18の方向αh(t), βh(t), γh(t) を計測し、計測された頭部18の方向 αh(t), βh(t), γh(t) を支持脚足平配置計算装置224と、重心速度計算装置236へ出力する。
上記した頭部方向検出装置222は、2つの位置検出装置の組み合わせであってもよい。この場合、頭部方向検出装置222は、一方の位置検出装置で計測される位置から、他方の位置検出装置で計測される位置までの位置偏差ベクトルを計算し、計算された位置偏差ベクトルと、各位置検出装置の頭部18における取り付け位置から、頭部18の方向を計算することができる。
上記のほかにも、頭部方向検出装置222は、ジャイロセンサと積分器の組合せであってもよい。この場合、頭部方向検出装置222は、ジャイロセンサで角速度を計測し、計測された角速度を積分して方向角を計測する。また上記した頭部方向検出装置222としては、例えば地磁気センサを用いることもできる。
上記のほかにも、頭部方向検出装置222は、従来から知られている種々の方向計測技術によって、その方向を計測することができる。
支持脚足平配置計算装置224は、エンコーダ218、頭部位置検出装置220、頭部方向検出装置222からの入力に基づいて、支持脚が接地している位置 Xk(t), Yk(t) と、接地方向Γk(t) を算出する。
支持脚足平配置計算装置224は、エンコーダ218から入力される各関節の関節角θi(t)(i = 1, 2,・・・,n)に基づいて、頭部18の基準点 H から見た、支持脚の基準点 L または R の相対的な位置と、頭部18のベクトル Hr に対する、支持脚の足平の相対的な方向を算出する。そして、算出された相対的な位置および方向と、頭部位置検出装置220から入力される位置 xh(t), yh(t), zh(t) と、頭部方向検出装置222から入力される方向 αh(t), βh(t), γh(t) から、支持脚の接地位置 Xk(t), Yk(t) および接地方向Γk(t) を計算する。
エンコーダ218、頭部位置検出装置220、頭部方向検出装置222による計測が理想的に行われていれば、支持脚が切替わるまでの間、支持脚の接地位置 Xk(t), Yk(t) や接地方向Γk(t) は変化しないはずである。しかしながら、計測誤差に起因して、上記で計算される支持脚の接地位置Xk(t), Yk(t) や接地方向 Γk(t) が時間とともに変動することがある。本実施例のロボット6では、支持脚が切り替わらない期間において、上記で計算される支持脚の接地位置 Xk(t), Yk(t) および接地方向Γk(t) のそれぞれの時間平均を算出し、支持脚の接地位置 Xk, Ykおよび接地方向 Γk を特定する。
支持脚足平配置計算装置224は、逐次支持脚の接地位置 Xk(t), Yk(t) および接地方向Γk(t) を計算しながら、支持脚の切替わりを監視している。支持脚足平配置計算装置224は、支持脚が切替わった時点で、それまでに計算されている接地位置 Xk(t), Yk(t) および接地方向Γk(t) をそれぞれ時間に関して積分して平均値を算出し、算出された平均値を特定された支持脚の接地位置Xk, Yk および接地方向 Γk として着地配置計算装置226へ出力する。
着地配置計算装置226は、それまで支持脚であった脚リンクが、その後遊脚となって足平配置Xk, Yk, Γk から浮遊し、再び着地するときの足平配置 X* k+2, Y* k+2, Γ* k+2 を計算する。着地配置計算装置226は、支持脚足平配置計算装置224から入力される支持脚の足平配置 Xk, Yk, Γk と、歩容データ記憶装置210から入力される相対的な接地位置および接地方向ΔXk+2, ΔYk+2, ΔΓk+2 から、支持脚であった脚リンクが次に接地する予定の足平配置 X* k+2, Y* k+2, Γ* k+2 を計算する。着地配置計算装置226は、支持脚であった脚リンクが次に接地する予定の足平配置X* k+2, Y* k+2, Γ* k+2 を、着地配置修正装置234へ出力する。
重心速度計算装置236は、エンコーダ218、頭部位置検出装置220、頭部方向検出装置222からの出力に基づいて、ロボット6の重心速度 V(t) を計算する。重心速度の計算は、例えばエンコーダ218から入力される各関節の関節角θi(t)(i = 1, 2,・・・,n)に基づいて、重心から見た頭部18の基準点 H の相対的な位置と、重心から見た頭部18のベクトル Hr の相対的な方向を算出する。そして、算出された相対的な位置および方向と、頭部位置検出装置220から入力される頭部18の基準点 H の位置 xh(t), yh(t), zh(t) と、頭部方向検出装置222から入力される頭部18のベクトル Hr の方向 αh(t), βh(t), γh(t) から、重心の位置を算出し、その時間変化から重心速度 V(t) を計算する。計算された重心速度V(t) は、着地配置修正装置234へ出力される。
着地配置修正装置234は、着地配置計算装置226から入力される支持脚であった脚リンクが次に接地する予定の足平配置 X* k+2, Y* k+2, Γ* k+2 と、歩容データ記憶装置210から入力される支持脚であった脚リンクが次に接地する目標足平配置 X'k+2, Y'k+2, Γ'k+2 に基づいて、支持脚であった脚リンクが次に接地する接地位置と接地方向の補正量を計算する。
接地位置の補正量 ΔX+ k+2, ΔY+ k+2 および接地方向の補正量ΔΓ+ k+2 は、それぞれ以下で算出される。
ΔX+ k+2 = K1(δΓk+2, V)×δXk+2
ΔY+ k+2 = K2(δΓk+2, V)×δYk+2
ΔΓ+ k+2 = K3(δLk+2, V)×δΓk+2 + K4(δLk+2, V)×δLk+2
ここでδXk+2, δYk+2, δΓk+2は、それぞれ以下で計算される接地位置偏差および接地方向偏差である。
δXk+2 = X'k+2− X* k+2
δYk+2 = Y'k+2− Y* k+2
δΓk+2 = Γ'k+2−Γ* k+2
またδLk+2は、目標とする足平接地配置からの足平側方の接地位置の偏差であって、以下で算出される。
δLk+2 = δX'k+2 × sinΓ'k+2 − δY'k+2 × cosΓ'k+2
着地配置修正装置234で計算された接地位置の補正量 ΔX+ k+2, ΔY+ k+2 と接地方向の補正量 ΔΓ+ k+2 は、補正量計算装置228へ出力される。
上述のように、接地位置の補正量ΔX+ k+2, ΔY+ k+2は、接地位置の偏差 δXk+2, δYk+2にゲイン K1, K2を乗じることで計算される。
上述した接地位置の補正に関するゲイン K1, K2 は、方向偏差 δΓk+2 に応じて変化する。図7に示すように、本実施例のロボットは、方向偏差δΓk+2 の絶対値に対してゲイン K1, K2 は単調に減少する。このようなゲイン特性は、ロボットが目標とする足平配置経路に復帰するために足平の接地方向を大きく修正する場合、すなわちロボットが大きく旋回動作をしている場合に、接地位置の修正を抑制する効果をもたらす。足平の接地方向を修正する場合、ロボットは支持脚の足平に対して大きく身体を捩じる動作をしており、このような状態で接地位置についても大きく修正をすると、ロボットの動作がふらついてしまう。上記のように、接地方向の偏差に応じて変化するゲイン特性を用いることで、動作のふらつきを抑えることができる。
また上述した接地位置の補正に関するゲイン K1, K2 は、移動速度 V に応じて変化する。図8に示すように、本実施例のロボットは、移動速度 V に対してゲイン K1, K2 は単調に減少する。このようなゲイン特性は、ロボットが重心を高速で移動させている場合に、接地位置の修正を抑制する効果をもたらす。上記のようなゲイン特性を用いることで、高速移動中の動作計画の修正を抑えて、動作の安定性を確保することができる。
上述のように、接地方向の補正量 ΔΓ+ k+2 は、接地方向の偏差 δΓk+2 とゲイン K3 との積と、足平側方の接地位置の偏差 δLk+2 とゲイン K4 との積の和を求めることで計算される。
上述した接地方向の補正に関するゲイン K3と K4 は、足平側方の接地位置の偏差 δLk+2に応じて変化する。図9に示すように、本実施例のロボット6では、足平側方の接地位置の偏差δLk+2に対して、K3は単調に減少し、K4は単調に増加する。このようなゲイン特性は、足平側方の接地位置の偏差 δLk+2 が大きい場合には、主に足平側方の接地位置の偏差 δLk+2 に基づいて接地方向の修正を行い、足平側方の接地位置の偏差 δLk+2 が小さい場合には、主に接地方向の偏差 δΓk+2 に基づいて接地方向の修正を行う効果をもたらす。
このような制御を行うことによって、ロボットが足平を接地させようとしている位置が、目標とする足平接地位置から足平側方へ大きく外れている場合に、足平側方の接地位置の偏差に応じて、接地する足平が目標とする足平接地位置の側を向く方向となるように足平を接地させることができる。接地する足平が目標とする足平接地位置の側を向く方向となることで、その次に接地する脚リンクについては、脚リンク同士の干渉の制約を受けることなく、前方へ脚リンクを振り出すことで目標とする足平接地位置へ大きく接地位置を近づけることが可能となる。
また、ロボットが足平を接地させようとしている位置が目標とする足平接地位置から足平側方へそれほど外れていない場合には、接地する足平の接地方向が目標とする足平接地方向と一致するように足平を接地させることができる。
上記のようなゲイン特性を用いることによって、接地する足平の接地位置が目標とする足平配置経路から大きく外れている場合であっても、迅速に目標とする足平配置経路へ復帰することができる。
また上述した接地方向の補正に関するゲイン K3と K4 は、移動速度 V に応じて変化する。図8に示すように、本実施例のロボットは、移動速度 V に対してゲイン K3と K4 は単調に減少する。このようなゲイン特性は、ロボットが重心を高速で移動させている場合に、接地方向の修正を抑制する効果をもたらす。上記のようなゲイン特性を用いることで、高速移動中の動作計画の修正を抑えて、動作の安定性を確保することができる。
図2の補正量計算装置228は、足先歩容データxk+2(t), yk+2(t), zk+2(t), αk+2(t), βk+2(t), γk+2(t) についての補正量 Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) を計算する。補正量計算装置228は、着地配置修正装置234から入力される足平の接地位置の補正量ΔX+ k+2, ΔY+ k+2 と接地方向の補正量 ΔΓ+ k+2 に応じた足先歩容データの補正量Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) を計算する。足先歩容データの補正量Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) は、接地位置の補正量 ΔX+ k+2, ΔY+ k+2と接地方向の補正量 ΔΓ+ k+2 に、時間とともに変化するゲインを乗じて計算される。このゲインは、支持脚が切替わった時点では0であり、徐々に増加し、それまで支持脚であった脚リンクが次に接地する時点で最大となるように、規定されている。足平の接地位置の補正量と接地方向の補正量に応じた、足先歩容データの補正の様子を図6に示す。このように足先歩容データを補正することによって、ロボットの動作を急激に変化させることなく、それまで支持脚であった脚リンクが次に接地する足平配置を目標とする足平配置へ近づけることができる。
図2の補正量計算装置228から出力される補正量Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) は、加算器230によって足先歩容データxk+2(t), yk+2(t), zk+2(t), αk+2(t), βk+2(t), γk+2(t) に加算される。
ロボット6は、歩容データ記憶装置210から足先歩容データを読出し、必要であればその足先歩容データを補正し、体幹歩容データを計算し、関節角群を計算し、アクチュエータを制御する。アクチュエータの駆動によって、各関節が回転し、ロボット6は歩行を実現する。
ロボット6が動作を実施している間、コントローラ14は図3のフローチャートに示す処理を並行して実施している。以下では、図3に示す処理について説明する。
ステップS302では、現在の歩数kを特定する。歩数kは現在接地している支持脚が、ロボット6が歩行を開始してから何歩目に該当するかを示す数である。
ステップS304では、ロボット6の外部に固定された座標系から見た頭部18の位置 xh(t), yh(t), zh(t) を計測する。頭部18の位置 xh(t), yh(t), zh(t) は、頭部18に搭載された頭部位置検出装置220によって計測される。
ステップS306では、ロボット6の外部に固定された座標系から見た頭部18の方向 αh(t), βh(t), γh(t) を計測する。頭部18の方向 αh(t), βh(t), γh(t) は、頭部18に搭載された頭部方向検出装置222によって計測される。
ステップS308では、ロボット6の関節群の関節角θi( i = 1, 2,・・・,n )を計測する。関節群の関節角θi( i = 1, 2,・・・,n )は、エンコーダ218によって計測される。
ステップS310では、その時点での支持脚であるk歩目の支持脚の足平配置 Xk(t), Yk(t), Γk(t) を計算する。現在接地している支持脚の足平配置 Xk(t), Yk(t), Γk(t) は、ステップS304で計測された頭部18の位置 xh(t), yh(t), zh(t) と、ステップS306で計測された頭部18の方向 αh(t), βh(t), γh(t) と、ステップS308で計測されたロボットの関節群の関節角θi( i = 1, 2,・・・,n )に基づいて、ヤコビ行列を用いて算出される。
ステップS312では、その時点におけるロボット6の重心速度 V(t) を計算する。重心速度 V(t) は、ステップS304で計測された頭部18の位置 xh(t), yh(t), zh(t) と、ステップS306で計測された頭部18の方向 αh(t), βh(t), γh(t) と、ステップS308で計測されたロボットの関節群の関節角θi( i = 1, 2,・・・,n )に基づいて、重心ヤコビ行列を用いて算出される。
ステップS314では、支持脚が切替わったか否かを判断する。支持脚が切替わった場合(ステップS314でYESの場合)、処理はステップS316へ進む。支持脚がまだ切替わっていない場合(ステップS314でNOの場合)、処理はステップS304へ進み、ステップS304からステップS314までの処理を繰返し実施する。
ステップS316では、k 歩目の支持脚の足平配置 Xk(t), Yk(t), Γk(t) の平均値 Xk, Yk, Γk を計算する。支持脚の足平配置の平均値 Xk, Yk, Γk は、ステップS310で時々刻々計算されたk歩目の支持脚の足平配置 Xk(t), Yk(t), Γk(t) の時間平均を算出することで取得する。上記の平均値算出は、k 歩目の支持脚に切替わった時点から、k+1 歩目の支持脚に切替わった時点までの期間について行う。ステップS316の処理を実施する時点で、k+1 歩目の支持脚は接地しており、ステップS316の処理によって、先ほどまで接地していたk歩目の支持脚の足平配置 Xk, Yk, Γk が特定される。
ステップS318では、着地配置計算装置226が、k+2 歩目で予定されている支持脚の足平配置 X* k+2, Y* k+2, Γ* k+2 を推定する。足平配置 X* k+2, Y* k+2, Γ* k+2 は、ステップS316で特定されたk歩目の支持脚の足平配置 Xk, Yk, Γk と、歩容データ記憶装置210に記憶されたk+2歩目の支持脚の相対的な接地位置および接地方向ΔXk+2, ΔYk+2, ΔΓk+2に基づいて推定する。
ステップS320では、着地配置修正装置234が、k+2歩目の支持脚に関して、推定された足平配置 X* k+2, Y* k+2, Γ* k+2 と、目標とする足平配置 X'k+2, Y'k+2, Γ'k+2との偏差 δXk+2, δYk+2, δΓk+2 を計算する。k+2歩目の支持脚の推定された足平配置 X* k+2, Y* k+2, Γ* k+2 は、ステップS318で計算されている。k+2歩目の支持脚が目標とする足平配置 X'k+2, Y'k+2, Γ'k+2 は、歩容データ記憶装置210に記憶されている。
ステップS322では、着地配置修正装置234が、ステップS320で計算された偏差δXk+2, δYk+2, δΓk+2 をそれぞれの許容値と比較する。計算された偏差 δXk+2, δYk+2, δΓk+2 のどれか一つでも許容値を超えている場合(ステップS322でYESの場合)、足先歩容データを補正するために、処理はステップS324へ進む。計算された偏差δXk+2, δYk+2, δΓk+2 のいずれもが許容値以下である場合(ステップS322でNOの場合)、足先歩容データを補正することなく、処理はステップS302へ進む。この場合、着地配置修正装置234は補正量計算装置228へ入力する足平配置の補正量ΔX+ k+2, ΔY+ k+2, ΔΓ+ k+2 として0を出力し、補正量計算装置228は加算器230に入力する補正量として0を出力する。
ステップS324では、着地配置修正装置234が、ステップS320で計算された偏差δXk+2, δYk+2, δΓk+2 に基づいて、足平の接地位置の補正量 ΔX+ k+2, ΔY+ k+2と接地方向の補正量 ΔΓ+ k+2 を算出し、補正量計算装置228へ出力する。
またステップS324では、補正量計算装置228が、足先歩容データの補正量 Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) を算出する。足先歩容データの補正量 Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) は、足平の接地位置の補正量 ΔX+ k+2, ΔY+ k+2と接地方向の補正量 ΔΓ+ k+2 に、時間とともに変化するゲインを乗じて算出される。このゲインは k 歩目で支持脚だった脚リンクが浮遊して遊脚となる時点から、次の足平配置へ着地する時点までの期間で定義され、当初は0であり、時間とともに増大するように設定されている。足先歩容データの補正量Δxk+2(t), Δyk+2(t), Δzk+2(t), Δαk+2(t), Δβk+2(t), Δγk+2(t) は足先歩容データ xk+2(t), yk+2(t), zk+2(t), αk+2(t), βk+2(t), γk+2(t)へ加算され、補正された足先歩容データに基づいて体幹歩容データが計算され、関節角群が計算され、アクチュエータが駆動されて、ロボット6は歩行を継続する。
その後処理はステップS302へ以降し、上記した処理が繰り返される。ステップS302へ以降した後、コントローラ14は、k+1 歩目の支持脚について、上記した処理と同様の処理を実施する。
図4は本実施例のロボット6が、右脚20および左脚22の足平の接地位置と接地方向を、目標とする経路に復帰させる過程を模式的に示す図である。
ロボット6が目標とする接地配置経路は、左脚を接地配置402へ接地し、その後に右脚を接地配置404へ接地し、その後に左脚を接地配置406へ接地し、その後に右脚を接地配置408へ接地し、その後に左脚を接地配置410へ接地し、その後に右脚を接地配置412へ接地し、その後に左脚を接地配置414へ接地するものである。
k歩目の支持脚である右脚20が足平配置418に接地すると、ステップS302からステップS314までの処理が制御サイクルごとに繰返し実施される。k-1歩目で支持脚だった左脚22は、支持脚が右脚20へ切替わった後に、k-1歩目の足平配置416から浮遊して遊脚となり、k+1歩目の足平配置420へ向けて移動する。この間、k歩目の支持脚である右脚20の足平配置418は、ステップS302からステップS314までの処理で繰返し計算されている。k+1歩目の支持脚である左脚22が足平配置420に接地して、支持脚が左脚22へ切替わると、ステップS316でk歩目の支持脚である右脚20の足平配置418の時間平均が計算され、足平配置418が特定される。
特定された k 歩目の足平配置418に基づいて、ステップS318で k+2 歩目の足平配置422が推定される。ステップS320で k+2 歩目の推定された足平配置418と k+2 歩目で目標とする足平配置408の偏差が計算され、その偏差が許容値を超えている場合には、足先歩容データの修正がなされる。
ステップS316からステップS324の処理は、k+1 歩目の支持脚である左脚22がすでに接地し、k 歩目で支持脚だった右脚20が、その足先を k 歩目の足平配置418から k+2 歩目の足平配置422へ向けて移動させている間に実行される。上述した処理によって、k+2 歩目で支持脚となる右脚20の足先は、足平配置418から目標とする足平配置408へ近づくように、遊脚の足先の歩容データが修正され、目標とする足平配置408に近い足平配置424へ接地する。このとき、目標とする足平配置経路から、足平側方に大きく外れた位置でロボット6が歩行をしている場合、足平配置424は目標とする足平配置経路の側を向く方向で接地されるため、その後に脚リンクを前方へ振り出すことで目標とする足平配置経路へ大きく近づくことが可能となり、目標とする足平配置経路へ迅速に復帰することができる。
本実施例のロボット6は、実際の支持脚の足平配置を計測し、計測された足平配置と目標とする足平配置との差異に基づいて、動作計画を更新しながら歩行をすることができる。本実施例のロボット6によれば、所望の配置で脚リンクの足平を接地させながら歩行することができる。
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。例えば、歩容データには、時間と位置で経時的変化を記述する実施例を紹介したが、時間と速度、あるいは時間と加速度の関係で、足先や腕先や体幹の運動の経時的変化を記述してもよい。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである
図1は脚式ロボット6の歩行の概略を示す図である。 図2はコントローラ14の機能をブロック化して示す図である。 図3はコントローラ14が実施する処理を説明するフローチャートである。 図4は脚式ロボット6の支持脚の足平配置の推移を示す図である。 図5は支持脚の足平の接地方向と、遊脚が接地可能な範囲との関係を示す図である。 図6は足平の接地配置の補正量と足先歩容データの補正量との関係を示す図である。 図7はゲイン K1, K2 と接地方向の偏差 δΓk+2 の絶対値との関係を示す図である。 図8はゲイン K1, K2, K3, K4 と速度 V の絶対値との関係を示す図である。 図9はゲイン K3, K4 と足平側方の接地位置の偏差 δLk+2 の絶対値との関係を示す図である。
符号の説明
6・・・脚式ロボット
7,8,9,10・・・足先軌道
12・・・体幹
14・・・コントローラ
18・・・頭部
20・・・右脚
22・・・左脚
210・・・歩容データ記憶装置
212・・・関節角群計算装置
214・・・アクチュエータ制御部
216・・・ロボットの機械系
218・・・エンコーダ
220・・・頭部位置検出装置
222・・・頭部方向検出装置
224・・・支持脚足平配置計算装置
226・・・着地配置計算装置
228・・・補正量計算装置
230・・・加算器
232・・・体幹歩容計算装置
234・・・着地配置修正装置
402、404、406、408、410、412、414・・・目標とする足平配置
416、418、420・・・足平配置
422・・・推定される足平配置
424・・・補正後の足平配置
502、504・・・支持脚の足平配置
506、508・・・目標とする足平配置
510、512・・・遊脚が接地するときの足平配置
514、516・・・線

Claims (4)

  1. 動作計画に基づいて関節群を駆動し、左右の脚リンクの一方を支持脚として他方を振り出し、振り出した脚リンクを接地して支持脚を切り替える動作を繰返して歩行する脚式ロボットであって、
    支持脚の足平の接地位置と接地方向を計測する手段と、
    計測された接地位置と接地方向および動作計画に基づいて、当該支持脚が次に接地する予定の足平の接地位置と接地方向を推定する手段と、
    推定された足平の接地位置と目標とする足平の接地位置の偏差を特定する手段と、
    推定された足平の接地方向と目標とする足平の接地方向の偏差を特定する手段と、
    特定された足平の接地位置の偏差と、目標とする足平の接地方向に基づいて、足平の接地位置の足平側方の偏差を特定する手段と、
    特定された足平の接地位置の偏差、接地方向の偏差および接地位置の足平側方の偏差に基づいて、足平の接地位置の補正量および接地方向の補正量を計算する手段と、
    計算された足平の接地位置の補正量と接地方向の補正量に基づいて、動作計画を更新する手段
    を備え、前記補正量を計算する手段は、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定することを特徴とする、脚式ロボット。
  2. 前記補正量を計算する手段は、足平の接地方向の偏差の絶対値が大きいほど、接地位置の補正量を小さな値に設定することを特徴とする、請求項1の脚式ロボット。
  3. 脚式ロボットの速度を計測する手段をさらに備え、
    前記補正量を計算する手段は、特定された足平の接地位置の偏差、接地方向の偏差、接地位置の足平側方の偏差および計測された速度に基づいて、足平の接地位置の補正量と接地方向の補正量を計算するものであって、計測された速度が大きいほど、接地位置の補正量および/または接地方向の補正量を小さな値に設定することを特徴とする、請求項1又は2の脚式ロボット。
  4. 動作計画に基づいて関節群を駆動し、左右の脚リンクの一方を支持脚として他方を振り出し、振り出した脚リンクを接地して支持脚を切り替える動作を繰返して歩行する脚式ロボットの制御方法であって、
    支持脚の足平の接地位置と接地方向を計測する工程と、
    計測された接地位置と接地方向および動作計画に基づいて、当該支持脚が次に接地する予定の足平の接地位置と接地方向を推定する工程と、
    推定された足平の接地位置と目標とする足平の接地位置の偏差を特定する工程と、
    推定された足平の接地方向と目標とする足平の接地方向の偏差を特定する工程と、
    特定された足平の接地位置の偏差と、目標とする足平の接地方向に基づいて、足平の接地位置の足平側方の偏差を特定する工程と、
    特定された足平の接地位置の偏差、接地方向の偏差および接地位置の足平側方の偏差に基づいて、足平の接地位置の補正量および接地方向の補正量を計算する工程と、
    計算された足平の接地位置の補正量と接地方向の補正量に基づいて、動作計画を更新する工程
    を備え、前記補正量を計算する工程は、足平の接地位置の足平側方の偏差が大きいほど、足平の接地方向の補正量を大きな値に設定することを特徴とする、脚式ロボットの制御方法。
JP2005193278A 2005-07-01 2005-07-01 脚式ロボットとその制御方法 Expired - Fee Related JP4696728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005193278A JP4696728B2 (ja) 2005-07-01 2005-07-01 脚式ロボットとその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005193278A JP4696728B2 (ja) 2005-07-01 2005-07-01 脚式ロボットとその制御方法

Publications (2)

Publication Number Publication Date
JP2007007802A true JP2007007802A (ja) 2007-01-18
JP4696728B2 JP4696728B2 (ja) 2011-06-08

Family

ID=37746925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005193278A Expired - Fee Related JP4696728B2 (ja) 2005-07-01 2005-07-01 脚式ロボットとその制御方法

Country Status (1)

Country Link
JP (1) JP4696728B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352430A (zh) * 2020-05-25 2020-06-30 北京云迹科技有限公司 路径规划方法、装置及机器人
CN115268442A (zh) * 2022-07-27 2022-11-01 湖州丽天智能科技有限公司 光伏清洗机器人的自动纠偏方法、纠偏系统及清洗机器人

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090982A1 (fr) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes
JP2005022040A (ja) * 2003-07-03 2005-01-27 Toyota Motor Corp 位置ずれを修正する歩行ロボットとその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090982A1 (fr) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes
JP2005022040A (ja) * 2003-07-03 2005-01-27 Toyota Motor Corp 位置ずれを修正する歩行ロボットとその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352430A (zh) * 2020-05-25 2020-06-30 北京云迹科技有限公司 路径规划方法、装置及机器人
CN111352430B (zh) * 2020-05-25 2020-09-25 北京云迹科技有限公司 路径规划方法、装置及机器人
CN115268442A (zh) * 2022-07-27 2022-11-01 湖州丽天智能科技有限公司 光伏清洗机器人的自动纠偏方法、纠偏系统及清洗机器人
CN115268442B (zh) * 2022-07-27 2023-08-04 湖州丽天智能科技有限公司 光伏清洗机器人的自动纠偏方法、纠偏系统及清洗机器人

Also Published As

Publication number Publication date
JP4696728B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
JP4591419B2 (ja) ロボットとその制御方法
US7664572B2 (en) Control device of legged mobile robot
JP4466715B2 (ja) 脚式ロボット、及びその制御方法
US9073209B2 (en) Walking robot and control method thereof
US8554366B2 (en) Legged mobile robot and method of controlling the same
JP5181957B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
JP2011093025A (ja) 脚式移動ロボットの制御装置
US20110172823A1 (en) Robot and control method thereof
JP5104355B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
CN112644599B (zh) 双足机器人的姿态调整方法、装置、设备及存储介质
JP4492395B2 (ja) 脚式ロボットとその動作制御方法
JP2007007803A (ja) ロボットとその制御方法
JP4696728B2 (ja) 脚式ロボットとその制御方法
JP4905041B2 (ja) ロボット制御装置
JP5463991B2 (ja) 2脚歩行ロボット
JP5040693B2 (ja) 脚式ロボット、及びその制御方法
JPWO2009040885A1 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
JP2007007801A (ja) 脚式ロボットとその制御方法
JP2009255231A (ja) 歩行制御装置および歩行制御方法
JP4706357B2 (ja) 歩行型ロボット及びその絶対方位推定方法
JP3674787B2 (ja) ロボット装置の動作制御装置及び動作制御方法、並びにコンピュータ・プログラム
JP4696727B2 (ja) 歩容データの作成装置と作成方法
JP2009125838A (ja) 二足歩行ロボットおよびその歩行制御方法
CN118295446A (zh) 摆动腿控制方法、装置、电子设备及存储介质
JP2009184034A (ja) 脚式ロボット、及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110105

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: 20110201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

R151 Written notification of patent or utility model registration

Ref document number: 4696728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees