JP5440152B2 - 脚式ロボットとそのための歩容データ生成方法 - Google Patents

脚式ロボットとそのための歩容データ生成方法 Download PDF

Info

Publication number
JP5440152B2
JP5440152B2 JP2009291257A JP2009291257A JP5440152B2 JP 5440152 B2 JP5440152 B2 JP 5440152B2 JP 2009291257 A JP2009291257 A JP 2009291257A JP 2009291257 A JP2009291257 A JP 2009291257A JP 5440152 B2 JP5440152 B2 JP 5440152B2
Authority
JP
Japan
Prior art keywords
gravity
center
foot
motion
target trajectory
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 - Fee Related
Application number
JP2009291257A
Other languages
English (en)
Other versions
JP2011131301A (ja
Inventor
将弘 土井
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 JP2009291257A priority Critical patent/JP5440152B2/ja
Publication of JP2011131301A publication Critical patent/JP2011131301A/ja
Application granted granted Critical
Publication of JP5440152B2 publication Critical patent/JP5440152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、脚式ロボットとそのための歩容データ生成方法に関する。
脚式ロボットを歩行させるための脚関節角の目標軌道を規定するデータは、歩容データと呼ばれる。歩容データは、脚の各関節の目標関節角の時系列データで表されるか、または、体幹の目標位置と各足の目標位置の時系列データで表される。両者は基本的に等価である。これは、脚の関節角と、体幹の位置及び足の位置の組が、ロボット工学におけるいわゆる順キネマティクス変換(又は逆キネマティクス変換)によって一意に対応するからである。また、体幹の目標位置の時系列データの代わりに、脚式ロボットの重心の目標位置の時系列データであってもよい。重心の位置と足の位置の組は、重心ヤコビアンと呼ばれる変換行列を用いることによって、関節角に変換することができることが知られている。本明細書では、歩容データは、脚式ロボットの重心と各足の目標位置の時系列データで記述されるものとして説明する。
なお、「体幹の目標位置」には、体幹の目標姿勢角(いわゆるロール角、ピッチ角、及びヨー角)を含む。「足の目標位置」も同様である。脚式ロボットが質点でモデル化される場合は、目標位置には姿勢角は含まれない。「重心の目標位置」の場合も、姿勢角は含まれない。
以下では、説明を簡単にするために、脚式ロボットを単に「ロボット」と称する場合がある。また、目標位置の時系列データを「目標軌道」と称する場合がある。
歩容データが適切でないと、ロボットは安定に歩行することができない。特に2脚を有する人型のロボットでは、歩容データが適切でないと転倒する虞がある。安定歩行を実現するための歩容データを生成するための一つの技術として、1972年にユーゴスラビアのブコブラトビットによってZMP(Zero Moment Point)が考案された。ZMPは、ロボットに作用する重力と、ロボットの動作に起因して生じる慣性力との合力が歩行面と交わる点を意味する。ZMPが足面内(複数の足が接地している場合には、接地している全ての足面の縁を結んだ面内であり、支持面と称される場合がある)に存在すればロボットは転倒しない。即ち、ZMPが支持面内に存在するように歩容データを生成すれば、ロボットは安定に歩行することができる。
ZMPを求めるための式はZMP方程式と呼ばれる。ZMP方程式とは、歩行面上の特定位置Pを基準とした上記合力の釣り合い方程式であり、ZMP方程式を満足する特定位置Pが即ちZMPに相当する。並進力は、特定位置Pを中心とするモーメントで表すことができる。そのため、ZMP方程式は、「動作依存モーメント」+「重心位置依存モーメント」+「重力依存モーメント」=0という形式で表すと簡単である。ここで、「動作依存モーメント」とは、ロボットの動作に起因してロボットの重心周りに作用するモーメントを表す。「重心位置依存モーメント」は、重心の並進運動に起因する特定位置P(ZMP)回りのモーメントを表す。「重力依存モーメント」は、重心に作用する重力に起因する特定位置P(ZMP)回りのモーメントを表す。「動作依存モーメント」と「重心位置依存モーメント」がロボットの慣性力に相当する。
ZMP方程式を解くことは簡単ではない。脚の関節角の軌道が定まらないと動作依存モーメントが定まらず、ZMP方程式を解析的に解くことはできない。他方、ZMP方程式を解いてZMPを定めないと、安定歩行のための足の位置を定めることができず、従って脚の関節角の軌道が定まらない。脚の関節角の軌道が定まらないと、動作依存モーメントを定めることができない。即ち、ZMP方程式では、方程式の数よりも未知数の数の方が多い。そこで、たとえば特許文献1に開示された技術では、動作依存モーメントをゼロとしてZMP方程式を解いている。また、特許文献2の技術では、体幹の姿勢角と各足の目標軌道を仮に決定してZMP方程式を解き、体幹の目標軌道を求める。仮に決定した足の目標軌道と体幹の目標軌道から動作依存モーメントを算出し、算出された動作依存モーメントを使って再びZMP方程式を解く。そして、仮に決定した足の目標軌道が、動作依存モーメントを考慮したZMP方程式を満足するように、先に求めた体幹の目標軌道を修正する。なお、特許文献2では、ロボットを体幹2点、両足2点、及び、両膝2点の合計6点の質点でモデル化して動作依存モーメントを算出している。
特開2004−114243号公報 特開2009−195999号公報
特許文献1の技術では動作依存モーメントをゼロと仮定してZMP方程式を解くので正確なZMPを求めることができない。そのため、安定歩行を保証するために何らかの対策が必要となる。例えば、支持面の内周にマージンを確保し、マージンより内側にZMPが位置するように歩容データを作成するなどの対策が必要となる。
特許文献2の技術では、体幹の姿勢角と各足の目標軌道を先に決定する必要がある。また、特許文献1と2以外の方法としては、各足の目標軌道と、体幹或いは重心の目標軌道を変化させながら、ZMP方程式を繰り返し計算する手法が考えられる。しかしそのような方法は効率が悪い。特に、多くの関節(少なくとも股関節と膝関節及び足首関節)を有する脚式ロボットでは、逆キネマティクス変換(体幹と足の位置(姿勢)から関節角を求める変換)は計算量が多い。そのため、歩行中にリアルタイムに歩容データを生成する脚式ロボットには、複雑な逆キネマティクス演算の繰り返しを含む歩容データ生成は不向きである。なお、例えば、方向経路をリアルタイムに変更可能なロボットでは、歩行中に歩容データをリアルタイムで生成する必要がある。
本明細書は、動作依存モーメントを考慮したZMP方程式に基づく歩容データを効率よく生成する一つの技術を提供する。そのような効率のよい歩容データ生成方法は、計算負荷を軽減することができるので、リアルタイム演算、即ち脚式ロボットに実装するのに好適である。さらに本明細書は、提案する歩容データ生成方法をさらに向上させ、歩行中の体幹の姿勢角を目標姿勢角に追従させる動作を含む歩容データを効率よく生成するための技術を提供する。
本明細書が開示する一つの歩容データ生成方法は、次のステップを含む。
(1)第1ステップ:ZMP方程式において、脚式ロボットの脚の動作に起因して重心回りに作用する動作依存モーメント項に予め定められた初期値を代入して重心と足の目標軌道を決定する。ここで、ZMP方程式は、前述したように、脚式ロボットの慣性力を、脚の動作に起因して脚式ロボットの重心周りに作用する動作依存モーメントと重心の並進運動とで表したものである。また、初期値は、典型的にはゼロであってよい。
(2)第2ステップ:脚式ロボットの質点モデルを第1ステップで得られた重心と足の目標軌道に適用し、質点の運動に起因して生じる重心の目標軌道上の各時刻における重心回りの角運動量を算出する。ここで、質点モデルは、夫々の脚を1個の質点でモデル化したものを用いる。なお、「質点モデルを目標軌道に適用する」とは、質点モデルで表される脚式ロボットの目標軌道に従った運動をシミュレーションすることを意味する。質点は、、膝方向に一定距離オフセットした座標点に定めることが好ましい。質点をそのように設定することによって、1個の質点で脚の運動を良く近似することができる。
(3)第3ステップ:第2ステップで算出された各時刻における角運動量から、時刻間の角運動量変化に相当する角運動量変化相当モーメントを算出する。
(4)第4ステップ:ZMP方程式の動作依存モーメントの項に第3ステップで算出された角運動量変化相当モーメントを代入して重心と足の目標軌道を再決定する
上記の歩容データ生成方法は、脚式ロボットの夫々の脚を1個の質点でモデル化する。そのため、逆キネマティクスを解いて脚の関節角を求めることなく、動作依存モーメントを質点の並進運動から直接求めることができる。即ち、動作依存モーメントを高速に計算することができる。
また、上記の方法では、まず既定の初期値を用いてZMP方程式を解き、重心と足の目標軌道を決定し、決定された目標軌道から3質点モデルを用いて動作依存モーメントを算出し、算出された動作依存モーメントを用いて再びZMP方程式を解く。各脚1質点の2質点モデルに基づくものではあるが動作依存モーメントを考慮しているので、第4ステップにおけるZMP方程式の求解では、正確なZMPに基づく足の目標軌道を生成することができる。なお、第1ステップで得られた重心と足の目標軌道に代えて第4ステップで得られた重心と足の目標軌道を用い、第2ステップから第4ステップを複数回繰り返すことも好適である。
本明細書が開示する他の一つの技術は、体幹の姿勢角と目標姿勢角の差を考慮した歩容データをリアルタイムに生成し、体幹の姿勢角を目標姿勢角に追従させることのできる脚式ロボットを提供する。その脚式ロボットは、上記した歩容データ生成方法を実行することによって重心と足の目標軌道を生成し、生成された目標軌道に追従するように脚関節を制御するコントローラと、歩行動作中に体幹の姿勢角を検出するセンサを備える。このコントローラは、上記した歩容データ生成方法を実行する際、検出された姿勢角を体幹の目標姿勢角に近づける方向に作用する重心回りのフィードバックモーメントを第1ステップと第4ステップにおけるZMP方程式の動作依存モーメントの項に加算する。
歩行中、体幹の姿勢角を目標姿勢角に一致させるためには、そのためのトルクを各関節が出力する必要がある。体幹の姿勢角を目標姿勢角に追従させるために各関節が出力すべきトルクを求めることは計算負荷が高い。上記の脚式ロボットでは、体幹の姿勢角を目標姿勢角に追従させるためのトルクを、重心回りの一つのトルクとして表す。そうしてZMP方程式を解く。得られた足の目標軌道では、体幹の姿勢角を修正するためのトルクが考慮されている。上記の脚式ロボットは、体幹の姿勢角を目標姿勢角に追従させるためのトルクを関節毎に計算する必要なく、姿勢角を目標姿勢角に追従させる歩容データを生成することができる。上記の脚式ロボットは、姿勢角を目標角に追従させながら歩行することができる。
なお、脚式ロボットが歩容データをリアルタイムで生成する場合、数歩分の歩容データを生成し、その数歩分の歩行中に、次の数歩分の歩容データを生成するように構成される場合がある。その場合、第1ステップで用いる動作依存モーメントの初期値として、前回の歩容データ生成時に算出した角運動量変化相当モーメントを使うことも好適である。
本明細書は、動作依存モーメントを考慮したZMP方程式に基づく歩容データを効率よく生成する一つの技術を提供する。さらに本明細書は、歩行中の体幹の姿勢角を目標姿勢角に追従させるための歩容データのリアルタイム生成しながら歩行することができる脚式ロボットを提供する。
第1実施例の脚式ロボットの模式図を示す。 ZMPを説明する図である。 脚式ロボットの質点モデルを説明する図である。 脚式ロボットのコントローラのブロック図を示す。 コントローラが実行する処理のフローチャートを示す。 第2実施例の脚式ロボットの模式図を示す。 第2実施例の脚式ロボットのコントローラのブロック図を示す。 第2実施例のコントローラが実行する処理のフローチャートを示す。
図1に、第1実施例の脚式ロボット10の模式図を示す。以下、脚式ロボット10を簡単のためロボット10と称する。ロボット10は、体幹14に2本の脚(右脚12R、左脚12L)が連結された人型のロボットである。体幹14にはコントローラ18が内蔵されている。夫々の脚は、人の脚を模した多リンク構造を有している。脚の各関節にはモータ(不図示)が内蔵されている。コントローラ18は、上位のコントローラ(不図示)からの移動指令に基づいて、数歩分の歩容データをリアルタイムに生成し、歩容データに沿ってロボット10が動作するようにモータを制御する。数歩分の歩容データに基づいて歩行している間に、次の数歩分の歩容データを生成する。
ロボット10の歩容データについて説明する。ロボット10の歩容データは、ロボット全体の重心Gの目標軌道Bと、各足13R、13Lの目標軌道BFR、BFLで表される。目標軌道は、重心G或いは各足13R、13Lの目標位置の時系列データである。重心Gには姿勢が定義されないので、目標軌道Bは、絶対座標系XYZにおける重心Gの座標値で与えられる。右足13Rには姿勢(ロール角、ピッチ角、及び、ヨー角)が定義されるので、目標軌道BFRには、重心固定の座標系に対する足の座標と重心固定の座標系の各軸に対する足のロール角、ピッチ角、及びヨー角が含まれる。左足13Lの目標軌道BFLについても同様である。なお、足の位置は、足固定の座標系の原点で定義され、足の姿勢は、重心固定の座標系に対する足固定座標系の回転角で定義される。重心の目標軌道B(即ち、重心Gの各時刻における目標位置の時系列データ)と足の目標軌道(即ち、足13R、13Lの各時刻における目標位置(姿勢含む)の時系列データ)が定まると、逆キネマティクス演算によって各時刻の各関節の目標角が定まる。なお、重心位置と足位置(或いはロボットの他の部位)からロボット各関節の角度を求める逆キネマティクス変換には「重心ヤコビアン」と呼ばれる行列が用いられる。以上の事項は、ロボット工学の分野では良く知られているので詳しい説明は省略する。以下、図面における絶対座標系XYZは、進行方向がX軸に相当し、Z軸が鉛直方向に相当する。絶対座標系の原点は歩行面上に設定している。
ZMPとZMP方程式について概説する。図2は、ロボット10を、重心Gに位置する質点とみなしたときの重心Gに作用する力を示している。なお、図2は、XZ平面における力を示している。以下、XZ平面について説明するが、XY平面、YZ平面についても同様である。重心Gは、ロボット10全体の質量に相当する質量Mを有する。符号Xg、Zgは夫々、重心GのX座標とZ座標を示している。符号ddXg、ddZgは夫々、重心GのX方向の加速度、Z方向の加速度を示している。即ち、符号ddXgの「d」は、一回微分を表す。符号gは重力加速度を示している。なお、鉛直上方を正に取るので、下向きの重力ベクトルは「−g」で表される。符号dPyは、ロボットの動作に起因して生じる重心G周りのモーメントを示している。このモーメントが動作依存モーメントに相当する。動作依存モーメントは、関節駆動により各部分が動くことによって生じる。
符号XZMPは、ZMPのX座標値を示している。ZMPは、ロボットに作用する重力と、ロボットの動作に起因して生じる慣性力との合力が歩行面と交わる点であるから、本実施例におけるZMPのZ座標値は常にゼロである。XZ平面内におけるZMP回りの釣り合い方程式、即ちZMP方程式は、次の(数1)で与えられる。
Figure 0005440152
(数1)において、左辺第1項は、重心Gの並進運動に起因するZMP回りの重心位置依存モーメントに相当する。左辺第2項は、ロボット10の各部の動作に起因して重心G回りに作用する動作依存モーメントに相当する。即ち、(数1)では、動作依存モーメントをdPyで一括して表している。左辺第3項は、重心Gに作用する重力に起因するZMP回りの重力依存モーメントに相当する。
(数1)をXZMPについて解くと、次の(数2)が得られる。
Figure 0005440152
(数2)はZMPのX座標(XZMP)の式であるが、ZMPのY座標も同様に求めることができる。(数2)によってZMPが求まれば、そのZMPが支持面内に位置するように足の目標軌道を定めることができる。安定した歩行を実現するためには、接地している足が既定する支持面内にZMPが存在するように、足の目標軌道を決めればよい。具体的には例えば、片脚立脚時の立脚の接地面内にZMPが位置するように足の着地位置が定められる。足の位置が足裏面の中心で表されている場合、ZMPが足の着地位置に定められる。遊脚の目標軌道は、立脚の接地面内にZMPが留まるように定められる。
(数2)では、ZMP(XZMP)と重心位置の軌道(Xg、Zg、ddXg、及びddZg)、及び、動作依存モーメントdPyが未知である。従って(数2)を解析的に解くことはできない。特に、動作依存モーメントdPyは関節角の軌道によって定まり、逆に関節角の軌道は足の軌道、即ちZMPが定まらなければ決めることができない。仮に動作依存モーメントdPyが定まれば、重心Gの運動に拘束条件を与えることによって(数2)から重心Gの目標軌道とZMPを定めることができる。ZMPが定まれば、上記したとおり足の目標軌道を定めることができる。拘束条件は例えば、次の通りである。XY面内の重心Gの軌跡は歩行経路で与えられる。ここで、「軌跡」は速度を含まない。XY面内の重心Gの平均速度は歩行速度で与えられる。鉛直方向の重心Gの軌道(ddZg)は、歩行動作のパターンに基づいて予め与えられる。
本実施例のロボット10は、概ね次の処理によって、目標軌道を生成する。まず、コントローラ18は、動作依存モーメントdPyに既定の初期値を与えて(数2)に基づき重心Gと足の目標軌道を一旦生成する。その後、コントローラ18は、脚式ロボットの各脚を1質点でモデル化した質点モデルを目標軌道に適用し、動作依存モーメントdPyを求める。さらにコントローラ18は、求めた動作依存モーメントdPyを(数2)に代入して再び目標軌道を生成する。こうして得られた目標軌道は、ロボット10の動作依存モーメントを考慮しているので、正確なZMPが得られる。即ち安定な歩容データが得られる。
コントローラ18が採用する質点モデルを、図3を参照して説明する。図3の符号Cは、右足13Rに固定された座標系を示している。質点モデルでは、右脚12Rを、右足に固定された座標系Cにおいて足13Rから膝方向に一定距離Loffだけオフセットした座標点mに位置する1個の質点で表す。その質点の質量は、右脚12R全体の質量に略等しく定められる。以下では、符号mを、右脚12Rをモデル化した質点の位置及び質量の両者の意味で用いる。左脚12Lについても同様にモデル化し、質点mで表す。
質点の位置は、膝の略前方に設定することが好ましい。発明者の検討によれば、そのような位置に質点を設定することで、1質点であっても脚全体の動きを良く近似できることが判明した。また、質点の位置は、足から概ね膝方向の位置であればよい。
先に説明したように、動作依存モーメントdPyに既知の初期値を与えて(数2)を解くことによって、重心Gと足の目標軌道B、BFR、BFLが一旦求まる。足の目標軌道が求まると、脚をモデル化した質点m、mの軌道も求まる。質点の目標軌道は、各時刻における質点の位置を示しているから、各時刻における質点の速度も求まる。質点の速度は、時刻間の位置の差分から求まる。各時刻における質点の速度から、質点に起因する各時刻における重心回りの角運動量が求まる。この角運動量は、脚の動作によって生じる重心回りの角運動量の近似値に相当する。図3を用いて具体的に説明する。図3の時刻において、質点mは速度vを有し、重心位置Gから距離D離れている。従って質点mによる重心G回りの角運動量Pyは次の(数3)で与えられる。
Figure 0005440152
左脚12Lを表す質点mについても同様であるから、2個の質点m、mによって生じる重心G回りの角運動量Pyは、次の(数4)で表される。
Figure 0005440152
ここで、v、Dは夫々、質点mの速度、重心Gと質点mの間の距離を表す。
目標軌道の時刻毎に角運動量Pyを求めた後、時刻間の角運動量Pyの差分から角運動量変化、即ちモーメントdPyが求まる。このモーメントdPyが角運動量変化相当モーメントに相当する。
角運動量変化相当モーメントdPyは、動作依存モーメントの近似値に相当する。コントローラ18は、この角運動量変化相当モーメントdPyをZMP方程式(数2)に代入して再びZMP方程式を解き、目標軌道を求める。なお、コントローラ18は、再び求めた目標軌道から再度、角運動量変化相当モーメントdPyを求め、求めた角運動量変化相当モーメントdPyをZMP方程式に代入して目標軌道を求める処理を数回繰り返す。繰り返す毎に角運動量変化相当モーメントdPyは動作依存モーメントの正確な値に近づいていく。即ち、繰り返す毎に、ZMPの精度が向上する。
図4にコントローラ18のブロック図を示し、図5にコントローラ18が実行する処理のフローチャートを示す。これらの図を参照してコントローラ18の処理フローの全体を整理して説明する。コントローラ18は、メモリ51、軌道演算部52、モーメント演算部53、及び、逆キネマティクス演算部54を有する。メモリ51には、ZMP方程式(数2)を最初に解く際の初期値が格納されている。メモリ51、軌道演算部52、モーメント演算部53が目標軌道生成部50を構成する。
軌道演算部52はまず、メモリ51から初期値を読み出し、読み出した初期値をZMP方程式(数2)の動作依存モーメントの項dPyに代入し、重心と足の目標軌道を生成する(S2)。次にモーメント演算部53が、得られた目標軌道に脚式ロボットの質点モデルを適用し、質点に起因する重心G回りの角運動量Pyを算出する(S4)。ステップS4では、重心Gの目標軌道上の各時刻における重心G回りの角運動量Pyを算出する。こうして角運動量Pyの時系列データが得られる。次にモーメント演算部53は、得られた角運動量Pyの時間差分を求め、時刻間の角運動量変化に相当する角運動量変化相当モーメントdPyを算出する(S6)。算出された角運動量変化相当モーメントdPyは軌道演算部52に送られる。軌道演算部52は、角運動量変化相当モーメントdPyをZMP方程式(数2)の動作依存モーメントの項dPyに代入し、重心と足の目標軌道を再び生成する(S8)。ステップS8で得られた目標軌道は再びモーメント演算部53に送られ、ステップS4からS8の処理が数回繰り返される(S10)。繰り返しが終了したときの目標軌道が最終的な目標軌道に相当する。なお、コントローラ18は、予め定められた回数だけ、S4からS8の処理を繰り返す。
目標軌道生成部50は、歩行動作数歩分の目標軌道を生成する。生成された目標軌道は逆キネマティクス演算部54へ送られる。逆キネマティクス演算部54は、目標軌道における重心位置と足位置から重心ヤコビアンを使って逆キネマティクスを解き、関節角の目標軌道、即ち、各時刻の関節目標角の時系列データを算出する。コントローラ18は、ロボットの各関節が算出された関節目標角の時系列データに追従するようにモータ62を制御する。なお、図4のモータ62は、脚12Lと12Rの全ての関節のモータを意味している。
上記ロボット10の主な特徴を以下にまとめる。上記のロボット10は、歩容データを生成する際、脚式ロボットの夫々の脚を1つの質点でモデル化した質点モデルを採用する。それゆえ、逆キネマティクスを解くことなく、足の目標軌道から動作依存モーメントの近似値(即ち角運動量変化相当モーメント)を得ることができる。逆キネマティクスを解く必要がないので、動作依存モーメントの近似値を効率よく高速に求めることができる。そのため、上記した歩容データ生成方法は、オンライン処理に適している。
また、ロボット10は、一旦算出した目標軌道から質点モデルを使って動作依存モーメントの近似値を求め、その近似値を使って再びZMP方程式から目標軌道を生成する。その処理を複数回繰り返す。発明者らの検討によると、この繰り返し計算は収束性が良い。
次に、第2実施例の脚式ロボット20(ロボット20)を説明する。図6は、ロボット20の模式図を示す。このロボット20は、体幹14の姿勢角を目標姿勢角に一致させる動作を含む歩容データを生成する。ロボット20の構造は、姿勢角センサ15を備える以外は第1実施例のロボット10と同じであるので説明は省略する。姿勢角センサ15は、体幹14の姿勢角を計測する。本実施例における姿勢角とは、鉛直方向に対する体幹14の長手方向の傾斜角に相当する。
図6に示す直線L1は、目標とする体幹14の姿勢角(目標姿勢角)を示しており、直線L2が体幹14の実際の姿勢角(姿勢角センサ15が計測する姿勢角)を示している。符号θは、目標姿勢角と計測された姿勢角の差を示している。
図7にロボット20のコントローラ28のブロック図を示し、図8にコントローラ28が実行する処理のフローチャートを示す。
コントローラ28は、第1実施例のコントローラ18に加え、目標姿勢角を格納したメモリ55と姿勢フィードバック部56を備える。姿勢フィードバック部56は、目標姿勢角と計測された姿勢角との差θを小さくする方向に作用する重心回りのフィードバックトルクTFBを算出する(S20)。フィードバックトルクTFBは、姿勢角の差θに位置ゲインを乗じたものである。コントローラ28の軌道演算部52は、メモリ51から初期値を読み出し、読み出した初期値にフィードバックトルクTFBを加えた値をZMP方程式(数2)の動作依存モーメントの項dPyに代入し、重心と足の目標軌道を生成する(S22)。ステップS24とS26は、第1実施例におけるステップS4とS6と同様である。角運動量変化相当モーメントdPyを用いた再度の軌道演算の際、軌道演算部52は、角運動量変化相当モーメントdPyにフィードバックトルクTFBを加えた値をZMP方程式(数2)の動作依存モーメントの項dPyに代入し、重心と足の目標軌道を再び生成する(S28)。ステップS28で得られた目標軌道は再びモーメント演算部53に送られ、ステップS24からS28の処理が数回繰り返される(S30)。繰り返しが終了したときの目標軌道が最終的な目標軌道、即ち歩容データに相当する。
上記説明した通り、第2実施例のロボット20は、目標軌道演算の際に、体幹の姿勢角を目標姿勢角に近づけるためのフィードバックトルクを加味している。即ち、生成された目標軌道から導かれる各角関節の目標角の時系列データに、体幹の姿勢角を目標姿勢角に近づけるため成分が含まれている。生成された歩容データに基づいてロボット20を動作させると、歩行しながら体幹の姿勢角が目標姿勢角に近づく。現実の動作では、体幹の姿勢角が目標姿勢角に完全に一致することはないので、歩行動作中に姿勢角差θを小さくするためのローカルなフィードバックループを備えることが好適である。
上記の説明では、Y軸周りの姿勢角について説明したが、Z軸周りとX軸周りの姿勢角についても同様である。また、フィードバックトルクの算出方法、即ち、フィードバック制御ルールは、実施例に示したルール以外のルール(例えばPID制御ルール)であってもよい。
第2実施例のロボットの利点を説明する。通常、歩容データには、姿勢角差θ(目標姿勢角と計測された姿勢角の差)は考慮されない。姿勢角差θは、歩容データとは独立に、ローカルなフィードバックループ(フィードバックトルク)で補正される。或いは、ローカルなフィードバックを考慮して歩容データが補正される。いずれの場合も、ローカルなフィードバックループは、生成された歩容データによる歩行制御にとって外乱となる。即ち、ローカルなフィードバックループは、歩行を乱す方向に作用する。上記したロボット20は、歩容データ生成の過程で姿勢角差を是正するためのフィードバックトルクTFBが考慮されている。即ち、姿勢角差を是正するフィードバックトルクTFBの影響を含めて安定に歩行するための歩容データが生成される。ロボット20は、従来の脚式ロボットに比べて安定して歩行することができる。
実施例で説明した技術について留意点を述べる。実施例では、オンラインで歩容データを生成するロボットを説明した。上記実施例で説明した歩容データ生成方法は、オフラインで実行することも好適である。
脚を質点でモデル化する際、質点の質量(m、m)を、脚の質量のk倍に設定することも好適である。定数kは、質量の調整ゲインであり、約1.5に設定することが好ましい。実施例の脚式ロボットでは、脚全体を1個の質点でモデル化しているため、質点による重心回りの角運動量変化相当モーメント(即ち、動作依存モーメントの近似値)が動作依存モーメントよりも小さくなる傾向がある。調整ゲインkは、角運動量変化相当モーメントを動作依存モーメントに近づけるために採用される。調整ゲインkは、脚の質量分布等に応じて適宜に定められる。
第1実施例の脚式ロボットが実行する歩容データ生成方法の特徴は、以下の通り要約することもできる。
(1)第1ステップ: ZMP方程式において、動作依存モーメントの項に予め定められた初期値を代入して重心と足の目標軌道を決定する。ここで、ZMP方程式は、脚式ロボットの慣性力を、脚の動作に起因して脚式ロボットの重心周りに作用する動作依存モーメントと重心の並進運動で表した歩行面の特定位置(ZMP)における力の釣り合い式である。
(2)第2ステップ:脚式ロボットの質点モデルを第1ステップで得られた重心と足の目標軌道に適用し、前記質点の運動に起因して生じる重心の目標軌道上の各時刻における重心回りの角運動量を算出する。ここで採用される質点モデルは、夫々の脚を、足に固定された座標系において足から膝方向に一定距離オフセットした座標点に位置する質点でモデル化したものである。
(3)第3ステップ:第2ステップで算出された各時刻における角運動量から、時刻間の角運動量変化に相当する角運動量変化相当モーメントを算出する。
(4)第4ステップ:ZMP方程式の動作依存モーメントの項に第3ステップで算出された角運動量変化相当モーメントを代入して重心と足の目標軌道を再決定する。
(5)第5ステップ:第1ステップで得られた重心と足の目標軌道に代えて第4ステップで得られた重心と足の目標軌道を用い、第2ステップから第4ステップを複数回繰り返す。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10、20:脚式ロボット
12L、12R:左脚
13L、13R:足
14:体幹
15:姿勢角センサ
18、28:コントローラ

Claims (3)

  1. 脚式ロボットの歩容データを生成する方法であり、
    脚式ロボットのZMP方程式において、脚式ロボットの脚の動作に起因して重心回りに作用する動作依存モーメント項に予め定められた初期値を代入して重心と足の目標軌道を決定する第1ステップと、
    夫々の脚を1個の質点でモデル化し、第1ステップで得られた重心と足の目標軌道に質点モデルを適用して重心の目標軌道上の各時刻における重心回りの角運動量を算出する第2ステップと、
    第2ステップで算出された各時刻における角運動量から、時刻間の角運動量変化に相当する角運動量変化相当モーメントを算出する第3ステップと、
    前記ZMP方程式の動作依存モーメントの項に第3ステップで算出された角運動量変化相当モーメントを代入して重心と足の目標軌道を再決定する第4ステップと、
    を含むことを特徴とする脚式ロボットの歩容データ生成方法。
  2. 第1ステップで得られた重心と足の目標軌道に代えて第4ステップで得られた重心と足の目標軌道を用い、第2ステップから第4ステップを複数回繰り返すことを特徴とする請求項1に記載の歩容データ生成方法。
  3. 請求項1又は2の方法を実行することによって重心と足の目標軌道を生成し、生成された目標軌道に追従するように脚関節を制御するコントローラと、
    歩行動作中に体幹の姿勢角を検出するセンサと、を備えており、コントローラは、
    検出された姿勢角を体幹の目標姿勢角に近づける方向に作用する重心回りのフィードバックモーメントを第1ステップと第4ステップにおけるZMP方程式の動作依存モーメントの項に加算することを特徴とする脚式ロボット。
JP2009291257A 2009-12-22 2009-12-22 脚式ロボットとそのための歩容データ生成方法 Expired - Fee Related JP5440152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009291257A JP5440152B2 (ja) 2009-12-22 2009-12-22 脚式ロボットとそのための歩容データ生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009291257A JP5440152B2 (ja) 2009-12-22 2009-12-22 脚式ロボットとそのための歩容データ生成方法

Publications (2)

Publication Number Publication Date
JP2011131301A JP2011131301A (ja) 2011-07-07
JP5440152B2 true JP5440152B2 (ja) 2014-03-12

Family

ID=44344594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009291257A Expired - Fee Related JP5440152B2 (ja) 2009-12-22 2009-12-22 脚式ロボットとそのための歩容データ生成方法

Country Status (1)

Country Link
JP (1) JP5440152B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244791A (zh) * 2019-07-11 2019-09-17 北京理工大学 一种双足机器人足部力和力矩跟随控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175945B1 (ko) * 2018-08-06 2020-11-09 한국로봇융합연구원 Zmp에서 각운동량을 이용한 인간운동 계획 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004082223A (ja) * 2002-08-22 2004-03-18 Atsuo Takanishi 歩行パターン作成装置、2足歩行ロボット装置、歩行パターン作成方法、2足歩行ロボット装置の制御方法、プログラムおよび記録媒体
JP3599244B2 (ja) * 2002-11-06 2004-12-08 ソニー株式会社 ロボット装置、ロボット装置の運動制御装置並びに運動制御方法
US8060253B2 (en) * 2004-03-31 2011-11-15 Honda Motor Co., Ltd. Systems and methods for controlling a legged robot based on rate of change of angular momentum
JP4810880B2 (ja) * 2005-05-10 2011-11-09 トヨタ自動車株式会社 ロボットとその制御方法
JP4392037B2 (ja) * 2007-09-12 2009-12-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
JP2009107033A (ja) * 2007-10-26 2009-05-21 Toyota Motor Corp 脚式移動ロボット及びその制御方法
JP5035005B2 (ja) * 2008-02-19 2012-09-26 トヨタ自動車株式会社 脚式ロボット、その制御方法、その制御システム
JP5163227B2 (ja) * 2008-03-28 2013-03-13 トヨタ自動車株式会社 移動ロボットの移動制御方法および移動ロボット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244791A (zh) * 2019-07-11 2019-09-17 北京理工大学 一种双足机器人足部力和力矩跟随控制方法
CN110244791B (zh) * 2019-07-11 2020-05-15 北京理工大学 一种双足机器人足部力和力矩跟随控制方法

Also Published As

Publication number Publication date
JP2011131301A (ja) 2011-07-07

Similar Documents

Publication Publication Date Title
JP5916998B2 (ja) 人間型ロボット及びその歩行制御方法
US7873436B2 (en) Gait generator for mobile robot
US7734377B2 (en) Gait generator of legged mobile robot
JP5483997B2 (ja) 脚式移動ロボットの制御装置
JP4641252B2 (ja) 脚式移動ロボットの歩容生成装置
KR101209097B1 (ko) 다리식 이동 로봇의 보용생성장치 및 제어장치
KR101985790B1 (ko) 보행 로봇 및 그 제어 방법
JP4800037B2 (ja) 移動ロボットの歩容生成装置
US8868239B2 (en) Walking control apparatus of robot and method of controlling the same
KR101687629B1 (ko) 인간형 로봇 및 그 보행 제어방법
US20080065269A1 (en) Controller of Leg Type Moving Robot
US7765030B2 (en) Gait generator for mobile robot
JP6781101B2 (ja) 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
WO2005082583A1 (ja) 移動ロボットの歩容生成装置
JP5440152B2 (ja) 脚式ロボットとそのための歩容データ生成方法
JP5623375B2 (ja) 脚式移動ロボットの歩容生成装置
JP3726097B2 (ja) 脚式移動ロボットの姿勢制御装置
JP6107338B2 (ja) 二足歩行ロボットの重心位置生成方法
JP5623376B2 (ja) 脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置
JP5232120B2 (ja) 移動体の制御装置
Sari et al. Implementation and integration of fuzzy algorithms for descending stair of KMEI humanoid robot
Luo et al. Effective online trajectory generation of waist and arm for enhancing humanoid robot walking
JP4946566B2 (ja) 歩行ロボット及び歩行制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R151 Written notification of patent or utility model registration

Ref document number: 5440152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees