JP2008142861A - 歩容データ生成装置と歩容データ生成方法 - Google Patents
歩容データ生成装置と歩容データ生成方法 Download PDFInfo
- Publication number
- JP2008142861A JP2008142861A JP2006334808A JP2006334808A JP2008142861A JP 2008142861 A JP2008142861 A JP 2008142861A JP 2006334808 A JP2006334808 A JP 2006334808A JP 2006334808 A JP2006334808 A JP 2006334808A JP 2008142861 A JP2008142861 A JP 2008142861A
- Authority
- JP
- Japan
- Prior art keywords
- gait data
- trajectory
- robot
- leg
- walking
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】 ロボットに歩行動作を実現させる際に、歩行に必要とされるエネルギーが少なく、かつ外乱に対しても安定して歩行を持続することが可能な技術を提供する。
【解決手段】 脚式ロボットの歩容データを生成する装置であって、受動歩行のシミュレーションを行う簡易モデルを用いて足先軌道とZMP軌道を生成する第1歩容データ生成手段と、能動歩行のシミュレーションを行う詳細モデルを用いて第1歩容データ生成手段で生成された足先軌道と組み合わせたときに第1歩容データ生成手段で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成手段と、第1歩容データ生成手段で生成された足先軌道と第2歩容データ生成手段で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力手段とを備える歩容データ生成装置。
【選択図】 図2
【解決手段】 脚式ロボットの歩容データを生成する装置であって、受動歩行のシミュレーションを行う簡易モデルを用いて足先軌道とZMP軌道を生成する第1歩容データ生成手段と、能動歩行のシミュレーションを行う詳細モデルを用いて第1歩容データ生成手段で生成された足先軌道と組み合わせたときに第1歩容データ生成手段で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成手段と、第1歩容データ生成手段で生成された足先軌道と第2歩容データ生成手段で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力手段とを備える歩容データ生成装置。
【選択図】 図2
Description
本発明は、脚式ロボットの歩容データを生成する装置と方法に関する。
左脚と腰と右脚の相対的姿勢を変化させることによって歩行するロボットが開発されている。左脚と腰と右脚の相対的姿勢を変化させる場合、結果として歩行させることができるように、左脚と腰と右脚の相対的姿勢を変化させなければならない。このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。
図5に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、左足先と腰と右足先の位置と姿勢を指示する。左足先と腰と右足先の位置を指示するために、左足先には基準点LFが定められており、右足先には基準点RFが定められており、腰には基準点Wが定められている。左足先と腰と右足先の姿勢を指示するために、左足先に垂直なベクトルLFdが想定されており、右足先に垂直なベクトルRFdが想定されており、体幹に沿って伸びるベクトルWdが想定されている。歩容データは、グローバル座標系において、左足先の基準点LFのx、y、z座標、右足先の基準点RFのx、y、z座標、腰の基準点Wのx、y、z座標を指示する。また、左足先に垂直なベクトルLFdのピッチ角Lαと、ロール角Lβと、ヨー角Lγを指示し、右足先に垂直なベクトルRFdのピッチ角Rαと、ロール角Rβと、ヨー角Rγを指示し、体幹に沿って伸びるベクトルWdのピッチ角Wαと、ロール角Wβと、ヨー角Wγを指示する。歩容データは、左足先と腰と右足先の位置と姿勢の経時的な変化を指示する。本明細書では、足先の位置と姿勢の経時的な変化を足先軌道という。また、腰の位置と姿勢の経時的な変化を腰軌道という。歩容データは、左脚の足先軌道と、右脚の足先軌道と、腰軌道を含んでいる。
歩容データが与えられると、ロボットは、左足先と腰と右足先がそれぞれ与えられた位置と姿勢をとるように各関節の回転角度を計算し、各関節を計算された回転角度に調整する。歩容データは経時的な変化を指示することから、各関節の回転角度も経時的に変化させられる。歩容データに従って、左脚と腰と右脚の相対的姿勢を経時的に変化させることによってロボットは歩行する。本明細書では、上記のように各関節の回転角度をロボットが能動的に調整する歩行を、能動歩行という。
ロボットを安定して持続的に歩行させる技術として、ZMP(Zero Moment Point)規範に基づく歩行技術が知られている。本明細書でZMPとは、ロボットに作用する重力と慣性力に関して、床面に沿う回転軸まわりのモーメントの総和が0となる床面上の点のことを意味する。床面からロボットに作用する床反力の作用点の位置と、ZMPの位置が一致していれば、ロボットには床面に沿う回転軸まわりのモーメント、すなわちロボットを床面に倒そうとするモーメントが作用しない。従って、右脚と左脚のうち一方を支持脚として接地し、他方を遊脚として前方へ振り出している状態でも、床反力作用点の位置とZMPの位置が一致していれば、ロボットは転倒することがない。なお本明細書では、ZMPの位置の経時的な変化をZMP軌道という。
ZMP規範に基づく歩行技術では、一方の脚のみを接地している状態においては、支持脚の足先が床面と接触している範囲内に維持されるZMP軌道を目標ZMP軌道とする。目標ZMP軌道が実現されるように、腰の位置(Wx、Wy,Wz)と姿勢(Wα、Wβ、Wγ)を設定しておくことで、ロボットは転倒しないで歩行を続けることができる。ZMPの位置はロボットに作用する重力および慣性力から算出することができる。ロボットに作用する重力および慣性力は、ロボットの位置と姿勢の経時的な変化から、ロボットの動力学モデルに基づいて算出することができる。従って、目標ZMP軌道を実現するようなロボットの位置と姿勢の経時的な変化は、ロボットの動力学モデルを用いて探索的に求めることができる。このように、支持脚の足先の接地範囲内に維持される目標ZMP軌道を実現する歩容データを求め、その歩容データに従ってロボットの全身の関節を回転駆動することによって、ロボットは安定して持続的に歩行することができる。
上記したZMP規範に基づく歩行技術は、運動の自由度が高いという側面を有する。例えば予め定められた歩幅でロボットを歩行させたい場合には、右脚と左脚の足先軌道を予め与えておいて、支持脚の足先の接地範囲内に維持される目標ZMP軌道を実現するように腰軌道を調整することによって、安定して歩行可能な歩容データを生成することができる。また、ロボットが腕を備えており、ロボットに腕を使ったパフォーマンスを行わせたい場合には、手先の位置と姿勢の経時的な変化(手先軌道)を足先軌道とともに予め与えておいて、支持脚の足先の接地範囲内に維持される目標ZMP軌道を実現するように腰軌道を調整することによって、安定して歩行可能な歩容データを生成することができる。
特許文献1には、このようなZMP規範に基づく能動歩行の例が開示されている。
特許文献1には、このようなZMP規範に基づく能動歩行の例が開示されている。
上記したZMP規範に基づく能動歩行においては、運動の自由度が高い反面、歩行に必要とされるエネルギーについては考慮されていないという問題がある。上記したZMP規範に基づく能動歩行においては、歩容データに従って各関節の回転角度を調整する際にアクチュエータ等で消費されるエネルギーを考慮せずに、歩容データを生成している。従って、ロボットの動作態様によっては、歩行に必要とされるエネルギーが過大なものとなってしまう。ロボットを自律的に歩行させる場合、ロボットに搭載されたバッテリーから各関節を駆動するアクチュエータ等にエネルギーが供給される。ロボットに搭載可能なバッテリーのサイズは限られているから、歩行のために必要とされるエネルギーは少ないほど好ましい。
上記したZMP規範の歩行技術とは異なり、ロボットが重力や慣性力によって自然に倒れこむ現象を利用して、ロボットを歩行させる技術が開発されている。この技術では、一方の脚のみが接地している状態において、支持脚の足先が床面に回転自由に支持されるようにしておく。これには、ロボットの脚の先端部分に丸みを持たせておいて、丸みのある先端部分が床面に接地するようにしてもよいし、ロボットの脚の先端に足平と足首関節を設けておいて、床面に足平が接地しているときに足首関節を回転自由としてもよい。この状態で、前方に向けた速度がロボットに与えられていると、ロボットは支持脚の足先を支点とする倒立振子の挙動を示し、前方に向けて自然に倒れこんでいく。これと同時に、遊脚を前方に向けて振り出しておけば、ロボットが床面に完全に倒れこんでしまう前に、遊脚の足先が床面に接地する。その後、新たに接地した脚を支持脚として、それまで接地していた脚を遊脚として、支持脚と遊脚を入れ替える。新たな支持脚についても、足先が床面に回転自由に支持されるようにすることで、再びロボットは倒立振子の挙動を示して、前方に向けた慣性によってロボットはさらに前方に向けて倒れこんでいく。これと同時に、新たに遊脚となった脚を前方に向けて振り出しておけば、ロボットが完全に倒れこんでしまう前に再び遊脚の足先が床面に接地する。このような動作を繰り返すことによって、ロボットは持続的に歩行を行うことができる。
上記のような歩行は、ロボットに作用する重力や慣性力に無理に逆らうことなく、重力や慣性力によって自然に倒れこむ現象を利用しており、受動的な歩行動作ということができる。本明細書では、このようなロボットの歩行を受動歩行と呼ぶ。特許文献2には、ロボットの受動歩行の例が開示されている。
上記のような歩行は、ロボットに作用する重力や慣性力に無理に逆らうことなく、重力や慣性力によって自然に倒れこむ現象を利用しており、受動的な歩行動作ということができる。本明細書では、このようなロボットの歩行を受動歩行と呼ぶ。特許文献2には、ロボットの受動歩行の例が開示されている。
受動歩行では、ロボットが重力と慣性力によって自然に倒れこむ現象を利用して歩行するため、ロボットの動作に無理が無く、歩行のために必要とされるエネルギーが少なくて済むという利点がある。また、人間が歩行する動作によく一致した自然で滑らかな動作で歩行することができ、見た目にも美しい。
ロボットに予期せぬ外乱が作用することがある。路面の予期せぬ凹凸によって外乱力が作用することもあるし、ロボットに外界から押したり引いたりする外力が加えられることもある。
受動歩行においてロボットに予期せぬ外乱がわずかでも作用すると、ロボットは外乱に対しても逆らうことなく動作し、バランスを崩してしまう。安定して歩行を持続するためには、予期せぬ外乱が作用した場合でも、大きな影響を受けずに安定した歩行を持続できることが好ましい。
受動歩行においてロボットに予期せぬ外乱がわずかでも作用すると、ロボットは外乱に対しても逆らうことなく動作し、バランスを崩してしまう。安定して歩行を持続するためには、予期せぬ外乱が作用した場合でも、大きな影響を受けずに安定した歩行を持続できることが好ましい。
他方、能動歩行においては、各関節の回転角度を能動的に調整しているため、わずかな外乱が作用しても、ロボットは外乱に抗して歩容データで表現される歩行動作を実現する。このため、外乱に対しても安定して歩行を持続することができる。しかしながら、上述したように、能動歩行においては歩行に必要とされるエネルギーが考慮されておらず、また動作がぎこちないものとなってしまうという難点がある。
受動歩行のように歩行に必要とされるエネルギーが少なく、かつ能動歩行のように予期せぬ外乱に対しても安定して歩行を持続することができる技術が待望されている。
本発明では上記課題を解決する。本発明では、ロボットに歩行動作を実現させる際に、歩行に必要とされるエネルギーが少なく、かつ外乱に対しても安定して歩行を持続することが可能な技術を提供する。
本発明は脚式ロボットの歩容データを生成する装置として具現化される。本発明の歩容データ生成装置は、受動歩行のシミュレーションを行う簡易モデルを用いて足先軌道とZMP軌道を生成する第1歩容データ生成手段と、能動歩行のシミュレーションを行う詳細モデルを用いて第1歩容データ生成手段で生成された足先軌道と組み合わせたときに第1歩容データ生成手段で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成手段と、第1歩容データ生成手段で生成された足先軌道と第2歩容データ生成手段で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力手段とを備えている。
上記の歩容データ生成装置では、まず受動歩行のシミュレーションを行う簡易的なモデル(簡易モデル)を用いて、受動歩行時の足先軌道とZMP軌道をそれぞれ取得する。そして、能動歩行のシミュレーションを行う詳細なモデル(詳細モデル)を用いて、簡易モデルから生成された足先軌道と組み合わせたときに簡易モデルから生成されたZMP軌道を実現するような腰軌道を生成する。そして、簡易モデルから生成された足先軌道と詳細モデルから生成された腰軌道を含む歩容データを脚式ロボットに提供する。
受動歩行では、ロボットが床面に転倒してしまう前に遊脚の足先が接地し、支持脚を入れ替えることによって、ロボットは歩行を継続することができる。本発明の歩容データ生成装置では、このような受動歩行における足先軌道とZMP軌道を予め簡易モデルから生成しておいて、その足先軌道と組み合わせたときにそのZMP軌道を実現するような腰軌道を生成する。これによって、受動歩行と同様の動作を能動的にロボットに実現させることができる。ロボットの歩行中に予期せぬ外乱が作用した場合であっても、ロボットはその外乱の影響を受けることなく安定した歩行を持続することができる。
受動歩行時の足先軌道とZMP軌道を生成するためには、支持脚の足先が床面に対して回転自由に支持されているという条件のもとで、ロボットの動力学特性に基づいた運動方程式を導出して、導出された運動方程式を求解しなければならない。しかしながら、ロボットの動力学特性を詳細にモデル化すると、運動方程式を導出することが容易なことではなく、また導出された運動方程式を求解することも困難なものとなる。そこで本発明では、ロボットの動力学特性を簡略化した簡易モデルを用いて、受動歩行時の足先軌道とZMP軌道を生成する。簡易モデルとしては、例えば体幹と左右の脚をそれぞれリンクで表現した、3リンクのモデルが用いられる。
本発明の歩容データ生成装置で生成された歩容データは、簡易モデルにおける受動歩行を実現するものであり、現実のロボットにおける理想的な受動歩行を実現するものではない。しかしながら、簡易モデルでの受動歩行と現実のロボットにおける理想的な受動歩行との相違はわずかなものであるから、本発明の歩容データ生成装置で生成された歩容データを用いることで、通常のZMP規範の能動歩行にくらべて、歩行に必要とされるエネルギーを大幅に抑制することができる。また、見た目にも自然で滑らかな動作を実現することができる。
また本発明の歩容データ生成装置によって生成される歩容データは、通常のZMP規範に基づく能動歩行の歩容データと同様に、腰軌道と足先軌道を含んでいる。従って、従来技術によって生成されるZMP規範の能動歩行における歩容データと、連続的に接続することが容易である。例えば、ある期間については本発明の歩容データ生成装置で生成された歩容データを利用して歩行に要するエネルギーを抑制し、その直後の期間については従来のZMP規範に基づいて生成された歩容データを利用してダンスステップを行わせる、といった複合的な動作についても、容易に実現することができる。
また、本発明の歩容データ生成装置で生成された歩容データを用いることで、従来のZMP規範に基づく能動歩行において用いられていた歩行安定化技術、例えばフィードバックループを用いた実時間での歩容データの修正技術を併用することもできる。
また、本発明の歩容データ生成装置で生成された歩容データを用いることで、従来のZMP規範に基づく能動歩行において用いられていた歩行安定化技術、例えばフィードバックループを用いた実時間での歩容データの修正技術を併用することもできる。
本発明は方法としても具現化される。本発明の方法は、脚式ロボットの歩容データを生成する方法であって、受動歩行のシミュレーションを行う簡易モデルを用いて足先軌道とZMP軌道を生成する第1歩容データ生成工程と、能動歩行のシミュレーションを行う詳細モデルを用いて第1歩容データ生成工程で生成された足先軌道と組み合わせたときに第1歩容データ生成工程で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成工程と、第1歩容データ生成工程で生成された足先軌道と第2歩容データ生成工程で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力工程とを備えている。
本発明の技術によれば、ロボットに歩行動作を実現させる際に、歩行に必要とされるエネルギーが少なく、かつ外乱に対しても安定して歩行を持続することができる。
以下、本発明を具現化した実施例について図面を参照して説明する。
図1は本実施例の歩容データ生成装置100と、歩容データ生成装置100が歩容データを生成する対象とするロボット110を模式的に示している。ロボット110は体幹112と、頭114と、右腕116と、左腕118と、右脚120と、左脚122を備えている。ロボット110の歩行を制御するために、ロボット110の体幹112にコントローラ130が搭載されている。ロボット110は、右脚120が接地している間に左脚122を遊脚として前方へ移動させ、左脚122が接地すると今後は右脚120を遊脚として前方へ移動させ、以下同様に、左脚122を遊脚として前方へ移動させ、次いで右脚120を遊脚として前方へ移動させて、歩行していく。
右脚120および左脚122は、それぞれ体幹112の下部に対して2軸の股関節を介して接続されている。右脚120および左脚122は、それぞれ1軸の膝関節と2軸の足首関節を備えており、先端には床面に接地する足平を備えている。右腕116および左腕118は、それぞれ体幹112の上部の両側面に対して2軸の肩関節を介して接続されている。右腕116および左腕118は、それぞれ1軸の肘関節を備えている。頭114は体幹112の上部中央に3軸の首関節を介して接続されている。各関節にはエンコーダ付きのモータが設けられており、コントローラ130は各関節の回転角度を計測したり、各関節の回転角度を調整したりすることができる。
ロボット110が歩行するためには、右脚120と左脚122の足先の位置と姿勢の経時的な変化(足先軌道)を記述する足先軌道データや、右腕116と左腕118の手先の位置と姿勢の経時的な変化(手先軌道)を記述する手先軌道データや、体幹112の下端に位置する腰の位置と姿勢の経時的な変化(腰軌道)を記述する腰軌道データで構成される歩容データが必要とされる。ロボット110の歩容データは、ロボット110の当初の歩行方向をx軸とし、当初の体側方向をy軸とし、高さ方向をz軸とする、床面に固定されたグローバル座標系によって表現される。本実施例のロボット110では、右足先、左足先、腰、右手先および左手先の位置を指示するために、右脚120の足平に基準点RFが設けられており、左脚122の足平に基準点LFが設けられており、体幹112の下端に基準点Wが設けられており、右腕116の先端に基準点RHが設けられており、左腕118の先端に基準点LHが設けられている。また、右足先、左足先、腰、右手先および左手先の姿勢を指示するために、右脚120の足平に垂直な基準ベクトルRFdが想定されており、左脚122の足平に垂直な基準ベクトルLFdが設けられており、体幹112に沿って伸びる基準ベクトルWdが想定されており、右腕116の先端から伸びる基準ベクトルRHdが想定されており、左腕118の先端から伸びる基準ベクトルLHdが想定されている。以下では体幹112に関して、腰の基準点Wの位置と、基準ベクトルWdのピッチ角、ロール角およびヨー角の経時的な変化を、体幹122の腰軌道という。同様に、右脚120の基準点RFの位置と、基準ベクトルRFdのピッチ角、ロール角およびヨー角の経時的な変化を、右脚120の足先軌道といい、左脚122の基準点LFの位置と、基準ベクトルLFdのピッチ角、ロール角およびヨー角の経時的な変化を、左脚122の足先軌道という。また、右腕116の基準点RHの位置と、基準ベクトルRHdのピッチ角、ロール角およびヨー角の経時的な変化を、右腕116の手先軌道といい、左腕118の基準点LHの位置と、基準ベクトルLHdのピッチ角、ロール角およびヨー角の経時的な変化を、左腕118の手先軌道という。
図1では、歩容データに従って、左脚122を足先軌道LF1で移動させ、その後に右脚120を足先軌道RF1で移動させ、その後に左脚122を足先軌道LF2で移動させ、その後に右脚120を足先軌道RF2で移動させることによって、ロボット110は歩行する。
図1では、歩容データに従って、左脚122を足先軌道LF1で移動させ、その後に右脚120を足先軌道RF1で移動させ、その後に左脚122を足先軌道LF2で移動させ、その後に右脚120を足先軌道RF2で移動させることによって、ロボット110は歩行する。
コントローラ130は、CPU、ROM、RAM、ハードディスク等を有する。コントローラ130のハードウェア構成は汎用のコンピュータと同じであり、説明は省略する。コントローラ130は歩容データ生成装置100で生成される歩容データを予め記憶しており、それに基づいてロボット110の各関節を制御する。ロボット110が歩行動作を開始すると、コントローラ130は記憶された歩容データを順次読み出しながら、歩容データで表現される腰軌道、足先軌道および手先軌道を実現するように、逆キネマティクス演算によって各関節の目標回転角度をリアルタイムに算出し、各関節のモータを制御して関節の回転角度を調整する。各関節の回転角度が調整されることによって、ロボット110の全身の姿勢が変化して、ロボット110は歩容データによって表現される歩行動作を実現する。
歩容データ生成装置100は、ロボット110が歩行動作を開始するのに先立ち、ロボット110の歩容データを生成する。歩容データ生成装置100は、ロボット110のコントローラ130と通信可能であり、生成された歩容データをコントローラ130へ送信する。ロボット110のコントローラ130は受信した歩容データを記憶しておく。
図2は歩容データ生成装置100の構成を示している。歩容データ生成装置100は、基準歩容データ生成装置210と、詳細歩容データ生成装置220と、出力装置230を備えている。
基準歩容データ生成装置210は、ロボット100の動力学特性を簡易的に表現した簡易モデルを使用して、ロボット100に受動歩行をさせた場合の足先軌道および腰軌道を生成する。また基準歩容データ生成装置210は、生成された足先軌道および腰軌道を実現した場合のZMP軌道を生成する。
図3は基準歩容データ生成装置210が扱う簡易モデル300を模式的に示している。簡易モデル300においては、ロボット110は体幹リンク302と、体幹リンク302の下端に回転自由に接続された2つの脚リンク(右脚リンク304および左脚リンク306)によって表現される。簡易モデル300においては、体幹リンク302、右脚リンク304および左脚リンク306は、それぞれ質量を備えるリンクとして表現されている。体幹リンク302の質量は、ロボット110の体幹112と、頭114と、右腕116と、左腕118の重量の総和で与えられる。右脚リンク304および左脚リンク306の質量は、それぞれロボット110の右脚120および左脚122の重量で与えられる。
図3は基準歩容データ生成装置210が扱う簡易モデル300を模式的に示している。簡易モデル300においては、ロボット110は体幹リンク302と、体幹リンク302の下端に回転自由に接続された2つの脚リンク(右脚リンク304および左脚リンク306)によって表現される。簡易モデル300においては、体幹リンク302、右脚リンク304および左脚リンク306は、それぞれ質量を備えるリンクとして表現されている。体幹リンク302の質量は、ロボット110の体幹112と、頭114と、右腕116と、左腕118の重量の総和で与えられる。右脚リンク304および左脚リンク306の質量は、それぞれロボット110の右脚120および左脚122の重量で与えられる。
簡易モデル300においては、以下の条件に基づいてロボット110の運動がシミュレートされる。
(1)一方の脚リンク(例えば左脚リンク306)が接地している状態において、支持脚となっている脚リンク(左脚リンク306)の先端は床面に対して回転自由に支持されている。
(2)一方の脚リンク(例えば左脚リンク306)が接地している状態において、遊脚となっている脚リンク(右脚リンク304)は、体幹リンク302の下端に回転自由に接続されている。
(3)一方の脚リンク(例えば左脚リンク306)が接地している状態において、遊脚となっている脚リンク(右脚リンク304)が接地すると、支持脚と遊脚を入れ替えて、それまで遊脚となっていた脚リンク(右脚リンク304)を新たに支持脚として、それまで支持脚となっていた脚リンク(左脚リンク306)を新たに遊脚とする。
(1)一方の脚リンク(例えば左脚リンク306)が接地している状態において、支持脚となっている脚リンク(左脚リンク306)の先端は床面に対して回転自由に支持されている。
(2)一方の脚リンク(例えば左脚リンク306)が接地している状態において、遊脚となっている脚リンク(右脚リンク304)は、体幹リンク302の下端に回転自由に接続されている。
(3)一方の脚リンク(例えば左脚リンク306)が接地している状態において、遊脚となっている脚リンク(右脚リンク304)が接地すると、支持脚と遊脚を入れ替えて、それまで遊脚となっていた脚リンク(右脚リンク304)を新たに支持脚として、それまで支持脚となっていた脚リンク(左脚リンク306)を新たに遊脚とする。
簡易モデル300においては、一方の脚リンクが接地してから、他方の脚リンクが接地するまでの期間について、ロボット110の挙動を倒立振子の運動として生成する。倒立振子の運動は、体幹リンク302、右脚リンク304および左脚リンク306で構成される3リンク系の運動方程式を数値積分によって求解することによって生成される。そして、遊脚となっている脚リンクが床面に接地すると、遊脚と支持脚を入れ替える。新たに支持脚となった脚リンクを床面に対して回転自由とし、新たに遊脚となった脚リンクを体幹リンク302に対して回転自由とする。また遊脚と支持脚を入れ替える前後において、体幹リンク302、右脚リンク304および左脚リンク306の運動が連続するように、その後の運動の初期条件を設定する。その後、新たに支持脚となった脚リンクの足先を支点とするロボット110の倒立振子としての挙動を、再び運動方程式を求解して生成する。これを繰り替えすことによって、床面GFの上をロボット110が歩行していく様子がシミュレートされる。
簡易モデル300においては、最初にロボット110に前方に向けた慣性が存在していれば、支持脚である脚リンクが床面に対して回転自由となっているため、ロボット110は全体として倒立振子の挙動を示し、前方へ向けて倒れこんでいく。このとき、遊脚である脚リンクは体幹リンク302に対して回転自由となっており、体幹リンク302の下端に支持された振子の挙動を示して、体幹リンク302の後方から前方へ向けて振り出される。ロボット110が前方へ倒れこんでいき、前方に振り出された脚リンクが床面に接地すると、支持脚と遊脚が入れ替わる。すなわち、前方で接地している脚リンクが新たに支持脚となり、後方で接地している脚リンクが新たに遊脚となる。その後、ロボット110はふたたび倒立振子の挙動を示し、さらに前方に向けて倒れこんでいく。また、新たに遊脚となった脚リンクは、後方から前方に向けて振り出される。このような動作を繰り返すことで、簡易モデル300においてロボット110は受動的に歩行する。
簡易モデル300において、歩行中の体幹リンク302の鉛直方向からの傾斜角γは、任意に与えておくことができる。体幹リンク302の傾斜角γを変化させると、ロボット110の支持脚の足先から見た重心位置が変化し、歩行時の歩幅や歩行速度が変化する。基準歩容データ生成装置210では、体幹リンク302の傾斜角γの経時的な変化を調整して、簡易モデル300における所望の歩幅や歩行速度での受動歩行を探索的に生成することができる。
簡易モデル300において所望の歩幅や歩行速度での受動歩行が生成されると、そのときの右脚リンク304の足先312についての足先軌道と、左脚リンク306の足先314についての足先軌道と、体幹リンク302の下端(腰)310についての腰軌道がそれぞれ取得される。また、簡易モデル300から、生成された受動歩行時のロボット110のZMP軌道を計算することができる。ZMP軌道は、体幹リンク302、右脚リンク304および左脚リンク306のそれぞれの位置と姿勢の経時的な変化から、それぞれのリンクに作用する重力および慣性力の経時的な変化を算出し、ロボット110のZMP316の位置を経時的に計算していくことで生成することができる。
基準歩容データ生成装置210は、右脚リンク304の足先軌道と、左脚リンク306の足先軌道と、体幹リンク302の腰軌道と、ZMP軌道を、詳細歩容データ生成装置220に出力する。
詳細歩容データ生成装置220は、基準歩容データ生成装置210で生成された右脚と左脚の足先軌道と、体幹の腰軌道と、ZMP軌道に基づいて、詳細モデル400を用いて腰軌道の修正を行う。
図4は詳細歩容データ生成装置220が扱う詳細モデル400を模式的に示している。詳細モデル400において、ロボット110は、体幹リンク402と、右脚リンク404と、左脚リンク406と、頭リンク408と、右腕リンク410と、左腕リンク412によって表現される。右腕リンク410は右上腕リンク434と右前腕リンク432を備えており、右上腕リンク434の一方の端部が肩関節によって体幹リンク402に接続され、他方の端部が肘関節によって右前腕リンク432に接続されている。左腕リンク412は左上腕リンク438と左前腕リンク436を備えており、左上腕リンク438の一方の端部が肩関節によって体幹リンク402に接続され、他方の端部が肘関節によって左前腕リンク436に接続されている。右脚リンク404は右腿リンク442、右脛リンク440および右足平を備えており、右腿リンク442の一方の端部が股関節によって体幹リンク402に接続されており、他方の端部が膝関節によって右脛リンク440に接続されている。右脛リンク440の先端には足首関節を介して右足平が接続されている。左脚リンク406は左腿リンク446、左脛リンク444および左足平を備えており、左腿リンク446の一方の端部が股関節によって体幹リンク402に接続されており、他方の端部が膝関節によって左脛リンク444に接続されている。左脛リンク444の先端には足首関節を介して左足平が接続されている。詳細モデル400においては、ロボット110の質量分布を詳細に反映するように、各リンクに質量が分配されている。
詳細モデル400においては、ロボット110の各関節の回転角度の経時的な変化を与えることによって、ロボット110の動作がシミュレートされる。詳細モデル400においては、各関節の回転角度の経時的な変化から、幾何学的に各リンクの位置と姿勢の経時的な変化が計算される。各リンクの位置と姿勢の経時的な変化から、右腕リンク410の手先420の手先軌道や、左腕リンク412の手先422の手先軌道や、右脚リンク404の足先426の足先軌道や、左脚リンク406の足先428の足先軌道や、体幹リンク402の下端(腰)424の腰軌道を得ることができる。これによって、床面GFの上をロボット110が歩行していく様子がシミュレートされる。
詳細歩容データ生成装置220は、基準歩容データ生成装置210で生成された右脚と左脚の足先軌道と、オペレータが任意に指定する右腕と左腕の手先軌道を、詳細モデル400におけるシミュレーションの拘束条件として用いる。また、基準歩容データ生成装置210で生成された体幹の腰軌道を、詳細モデル400における最初の拘束条件として用いる。詳細モデル400においては、拘束条件として指定された足先軌道と手先軌道と腰軌道を実現するような各関節の回転角度の経時的な変化が探索的に生成される。
詳細モデル400においても、簡易モデル300と同じように、生成された歩行動作におけるZMP軌道を生成することができる。ZMP軌道は、各リンクに配分された質量と、各リンクのそれぞれの位置と姿勢の経時的な変化から、それぞれのリンクに作用する重力および慣性力の経時的な変化を算出し、ロボット110のZMP430の位置を経時的に計算していくことで生成することができる。
詳細モデル400において、手先軌道と足先軌道を決めておいて、腰軌道を仮定すると、その手先軌道と足先軌道と腰軌道を実現した場合のロボット110のZMP軌道を生成することができる。詳細歩容データ生成装置220は、基準歩容データ生成装置210で生成されたZMP軌道を、詳細モデル400における目標ZMP軌道に設定する。詳細モデル400で生成されたZMP軌道と、目標ZMP軌道の差が小さくなるように、最初に仮定した腰軌道を修正して再び計算を行うことで、より目標ZMP軌道に近いZMP軌道を実現する腰軌道を得ることができる。これを繰り返すことによって、オペレータが指定した手先軌道と基準歩容データ生成装置210で生成された足先軌道と組み合わせたときに目標ZMP軌道を実現する腰軌道を探索的に生成することができる。
簡易モデル300とは異なり、詳細モデル400においては幾何学的な計算とZMPの計算のみを行えばよく、各リンクで構成される多リンク系についての運動方程式を求解する必要がない点に注意されたい。運動方程式を解く必要がないため、ロボット110の動力学特性を詳細にモデル化した詳細モデル400を用いても、詳細歩容データ生成装置220においてはそれほど負荷の高い演算を行う必要がない。
上記のように、詳細歩容データ生成装置220は、オペレータが指定した右腕と左腕の手先軌道、および基準歩容データ生成装置210で生成された右脚および左脚の足先軌道と組み合わせたときに、基準歩容データ生成装置210で生成されたZMP軌道、すなわち受動歩行時のZMP軌道を実現するような、ロボット110の腰軌道を生成することができる。詳細歩容データ生成装置220は、生成された腰軌道と、腰軌道の生成に用いた手先軌道を、出力装置230に出力する。
出力装置230は、基準歩容データ生成装置210から出力された右脚120と左脚122の足先軌道と、詳細歩容データ生成装置220から出力された体幹112の腰軌道と右腕116と左腕118の手先軌道を、ロボット110の歩容データとしてコントローラ130に送信する。コントローラ130は送信された歩容データを記憶する。
ロボット100が歩行を開始すると、コントローラ130は歩容データを順次読み出して、逆キネマティクス演算によって各関節が目標とする回転角度をリアルタイムに算出し、モータを制御して各関節を駆動する。ロボット110の姿勢が歩容データに従って変化し、ロボット110は安定して歩行を持続することができる。
従来のZMP規範に基づく歩容データの生成技術では、目標ZMP軌道が支持脚の足先の接地範囲の内部に維持されるように腰軌道を設定しておくことで、歩行中のロボットの転倒を防止していた。
従来技術とは異なり、本実施例の歩容データ生成技術では、目標ZMP軌道を支持脚の足先の接地範囲の内部に維持するのではなく、簡易モデル300から生成された受動歩行時のZMP軌道に一致させる。この場合、ロボット110は受動歩行時と同じような挙動を示し、ロボット110は重力と慣性力によって自然に倒れこんでいく。ロボット110が完全に転倒してしまう前に、遊脚が床面に接地して、支持脚と遊脚を入れ替えることによって、ロボット110は歩行することができる。
従来技術とは異なり、本実施例の歩容データ生成技術では、目標ZMP軌道を支持脚の足先の接地範囲の内部に維持するのではなく、簡易モデル300から生成された受動歩行時のZMP軌道に一致させる。この場合、ロボット110は受動歩行時と同じような挙動を示し、ロボット110は重力と慣性力によって自然に倒れこんでいく。ロボット110が完全に転倒してしまう前に、遊脚が床面に接地して、支持脚と遊脚を入れ替えることによって、ロボット110は歩行することができる。
本実施例の歩容データ生成技術によれば、受動歩行時のZMP軌道を実現するような歩容データが生成される。このような歩容データに基づいて能動的にロボット110を動作させることによって、受動歩行と同様に、自然で滑らかな動作でロボット110を歩行させることができる。また、受動歩行と同様に、少ない消費エネルギーでロボット110を歩行させることができる。
本実施例の歩容データ生成技術によれば、ロボット110は完全に受動的に動作するわけではなく、ロボット110が受動歩行する場合の歩容データを予め生成しておいて、その歩容データに従ってロボット110は能動的に歩行する。このような構成とすることによって、ロボット110の歩行中に予期せぬ外乱が作用した場合であっても、ロボット110はその外乱の影響を受けることなく安定した歩行を持続することができる。
歩行に必要とされるエネルギーを抑制するという観点からは、簡易モデル300を用いるのではなく、受動歩行についてより詳細な動力学モデルを導入して、その詳細なモデルから受動歩行時の歩容データを直接的に生成することが望ましい。しかしながら、受動歩行についての詳細な動力学モデルでは、運動方程式そのものが複雑となり、ロボット1110の運動をシミュレートするために多大な労力が必要となる。また、運動方程式が複雑なものとなるため、運動方程式を求解するための演算負荷も膨大なものとなってしまう。一般に、受動歩行において所望の態様の歩行動作を生成するためには、複数回のシミュレーションを通して調整可能なパラメータをチューニングしなければならず、上記のように詳細な動力学モデルを用いて受動歩行時の歩容データを生成することは現実的ではない。
本実施例では、簡易モデル300を用いて受動歩行時の足先軌道とZMP軌道を生成しておいて、その足先軌道とZMP軌道を実現するように詳細モデル400を用いて腰軌道を生成する。腰軌道の生成に詳細モデル400を用いることから、簡易モデル300の受動歩行とほぼ同じ態様の歩行動作を現実のロボット110に実現させることができる。この場合に実現される歩行動作は、簡易モデル300における受動歩行であって、現実のロボット110における理想的な受動歩行ではない。しかしながら、簡易モデル300における受動歩行と、現実のロボット110における理想的な受動歩行には大きな相違はないと考えられるため、本実施例の技術によれば、従来のZMP規範に基づく能動歩行にくらべて、歩行に必要とされるエネルギーを大幅に抑制することができる。
なお上記実施例では、受動歩行時の簡易モデル300においてロボット110を体幹リンク302と右脚リンク304と左脚リンク306を備える3リンク系で表現する例を説明したが、簡易モデル300の構成はこれに限られない。例えば、遊脚となっている方の脚リンクについては、膝関節を備える2重振子として扱うように、簡易モデル300を構成してもよい。
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
100・・・歩容データ生成装置
110・・・ロボット
112・・・体幹
114・・・頭
116・・・右腕
118・・・左腕
120・・・右脚
122・・・左脚
210・・・基準歩容データ生成装置
220・・・詳細歩容データ生成装置
230・・・出力装置
300・・・簡易モデル
302・・・体幹リンク
304・・・右脚リンク
306・・・左脚リンク
310・・・腰
312・・・右脚リンクの足先
314・・・左脚リンクの足先
316・・・ZMP
400・・・詳細モデル
402・・・体幹リンク
404・・・右脚リンク
406・・・左脚リンク
408・・・頭リンク
410・・・右腕リンク
412・・・左腕リンク
420・・・右腕リンクの手先
422・・・左腕リンクの手先
424・・・腰
426・・・右脚リンクの足先
428・・・左脚リンクの足先
430・・・ZMP
432・・・右前腕リンク
434・・・右上腕リンク
436・・・左前腕リンク
438・・・左上腕リンク
440・・・右脛リンク
442・・・右腿リンク
444・・・左脛リンク
446・・・左腿リンク
110・・・ロボット
112・・・体幹
114・・・頭
116・・・右腕
118・・・左腕
120・・・右脚
122・・・左脚
210・・・基準歩容データ生成装置
220・・・詳細歩容データ生成装置
230・・・出力装置
300・・・簡易モデル
302・・・体幹リンク
304・・・右脚リンク
306・・・左脚リンク
310・・・腰
312・・・右脚リンクの足先
314・・・左脚リンクの足先
316・・・ZMP
400・・・詳細モデル
402・・・体幹リンク
404・・・右脚リンク
406・・・左脚リンク
408・・・頭リンク
410・・・右腕リンク
412・・・左腕リンク
420・・・右腕リンクの手先
422・・・左腕リンクの手先
424・・・腰
426・・・右脚リンクの足先
428・・・左脚リンクの足先
430・・・ZMP
432・・・右前腕リンク
434・・・右上腕リンク
436・・・左前腕リンク
438・・・左上腕リンク
440・・・右脛リンク
442・・・右腿リンク
444・・・左脛リンク
446・・・左腿リンク
Claims (2)
- 脚式ロボットの歩容データを生成する装置であって、
受動歩行のシミュレーションを行う簡易モデルを用いて、足先軌道とZMP軌道を生成する第1歩容データ生成手段と、
能動歩行のシミュレーションを行う詳細モデルを用いて、第1歩容データ生成手段で生成された足先軌道と組み合わせたときに第1歩容データ生成手段で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成手段と、
第1歩容データ生成手段で生成された足先軌道と第2歩容データ生成手段で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力手段と、
を備える歩容データ生成装置。 - 脚式ロボットの歩容データを生成する方法であって、
受動歩行のシミュレーションを行う簡易モデルを用いて、足先軌道とZMP軌道を生成する第1歩容データ生成工程と、
能動歩行のシミュレーションを行う詳細モデルを用いて、第1歩容データ生成工程で生成された足先軌道と組み合わせたときに第1歩容データ生成工程で生成されたZMP軌道を実現する腰軌道を生成する第2歩容データ生成工程と、
第1歩容データ生成工程で生成された足先軌道と第2歩容データ生成工程で生成された腰軌道を含む歩容データを脚式ロボットに提供する出力工程と、
を備える歩容データ生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006334808A JP2008142861A (ja) | 2006-12-12 | 2006-12-12 | 歩容データ生成装置と歩容データ生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006334808A JP2008142861A (ja) | 2006-12-12 | 2006-12-12 | 歩容データ生成装置と歩容データ生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008142861A true JP2008142861A (ja) | 2008-06-26 |
Family
ID=39603592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006334808A Pending JP2008142861A (ja) | 2006-12-12 | 2006-12-12 | 歩容データ生成装置と歩容データ生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008142861A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012071358A (ja) * | 2010-09-27 | 2012-04-12 | Honda Motor Co Ltd | ロボットおよびその行動制御システム |
WO2018113262A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳光启合众科技有限公司 | 多足机器人的步态控制方法、装置和机器人 |
-
2006
- 2006-12-12 JP JP2006334808A patent/JP2008142861A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012071358A (ja) * | 2010-09-27 | 2012-04-12 | Honda Motor Co Ltd | ロボットおよびその行動制御システム |
US8768507B2 (en) | 2010-09-27 | 2014-07-01 | Honda Motor Co., Ltd. | Robot and behavior control system for the same |
WO2018113262A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳光启合众科技有限公司 | 多足机器人的步态控制方法、装置和机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4513320B2 (ja) | ロボット装置、並びにロボット装置の運動制御方法 | |
JP5803039B2 (ja) | 移動ロボットの歩行動作の制御方法およびその方法を実装したロボット | |
JP5854695B2 (ja) | ロボット装置の制御方法及びロボット装置 | |
US8868240B2 (en) | Walking robot and pose control method thereof | |
JP4912891B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
KR100515277B1 (ko) | 2각 보행식 이동 장치, 그 보행 제어 장치 및 보행 제어방법 | |
JP2007296618A (ja) | 駆動方法、駆動制御装置及びロボット | |
US20110172824A1 (en) | Walking robot and method of controlling the same | |
JP5071140B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP5083463B2 (ja) | 歩行補助装置 | |
JP2009291932A (ja) | 歩行ロボット及びその制御方法 | |
JP4483254B2 (ja) | ロボット装置及びロボット装置の制御方法 | |
JP4559803B2 (ja) | 関節角の受動変化を利用して歩行するロボットとその制御方法 | |
JP5035005B2 (ja) | 脚式ロボット、その制御方法、その制御システム | |
JP6407409B2 (ja) | 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム | |
JP2001138272A (ja) | 脚式移動ロボット及びその動作制御方法 | |
JP2008142861A (ja) | 歩容データ生成装置と歩容データ生成方法 | |
JP2009107033A (ja) | 脚式移動ロボット及びその制御方法 | |
JP3674779B2 (ja) | 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置 | |
JP4833121B2 (ja) | 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム | |
Ficht et al. | Centroidal state estimation and control for hardware-constrained humanoid robots | |
JP4291602B2 (ja) | 関節角の受動変化を利用して歩行するロボットとその制御方法 | |
JP2009125838A (ja) | 二足歩行ロボットおよびその歩行制御方法 | |
JP4583098B2 (ja) | ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。 | |
Doubliez et al. | Dynamic obstacle crossing by a biped robot, based on control of the propulsion energy |