JP4821188B2 - 脚式ロボットの歩容データ作成方法と歩容データ作成装置 - Google Patents

脚式ロボットの歩容データ作成方法と歩容データ作成装置 Download PDF

Info

Publication number
JP4821188B2
JP4821188B2 JP2005193269A JP2005193269A JP4821188B2 JP 4821188 B2 JP4821188 B2 JP 4821188B2 JP 2005193269 A JP2005193269 A JP 2005193269A JP 2005193269 A JP2005193269 A JP 2005193269A JP 4821188 B2 JP4821188 B2 JP 4821188B2
Authority
JP
Japan
Prior art keywords
foot
landing
leg
angle
reference point
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
JP2005193269A
Other languages
English (en)
Other versions
JP2007007793A (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 JP2005193269A priority Critical patent/JP4821188B2/ja
Publication of JP2007007793A publication Critical patent/JP2007007793A/ja
Application granted granted Critical
Publication of JP4821188B2 publication Critical patent/JP4821188B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、体幹(胴部)に複数本(典型的には2本)の脚リンク群が揺動可能に連結されている機械(ロボット)を歩行させるための歩容データを作成する技術に関する。特に遊脚の足平が立脚に干渉しない歩容データを高速に作成する技術に関する。
体幹と脚リンク群の相対的姿勢を変化させることによって歩行するロボットが開発されている。このロボットは歩容データを用いて歩行する。歩容データには、体幹に固定されている基準点の位置の時系列的変化を示すデータと足平に固定されている基準点の位置の時系列的変化を示すデータが含まれる。体幹の基準点の位置が特定されれば、体幹の位置が特定され、足平の基準点の位置が特定されれば、足平の位置が特定される。
足平の基準点の位置の時系列的変化を示すデータは、ロボットができるだけ円滑に歩行できるように作成されるべきである。そのためには、足平の基準点の位置の時系列的変化を着地面に投影した軌跡が、着地位置から次の着地目標位置に向けてできるだけ最短距離で移動するように作成することが好ましい。
その一方において、遊脚の足平が立脚に干渉する(接触する)歩容データを作成してはならない。ロボットがカーブする歩行経路に沿って歩行する場合には、遊脚を次の着地目標位置に向けて振り出している間に、遊脚が立脚に接触しやすい。歩行経路がカーブする場合には、足平の基準点の移動軌跡を着地面に投影した軌跡が最短距離をたどっていることと、脚リンク同士の干渉を回避することとを両立させる必要が特に高くなる。
脚リンク同士が干渉しないようにするためだけなら、歩行中の足平の着地目標位置を、干渉が生じ得ないほどに十分に離れた位置とすることで干渉しないようにすることができる。いわゆるガニマタ状態でロボットを歩行させれば、脚リンク同士が干渉することはない。しかしこの場合、ロボットを円滑に歩行させることはできない。
ロボットを実際に歩行させるに先立って事前に歩容データを作成する場合には、まずロボットの歩行動作ができるだけ円滑となるよう歩容データを作成する。次にロボットの脚リンク群と、それらを連結する関節の幾何学的構成をモデル化し、作成した歩容データに従ってロボットを歩行させた際に、脚リンク同士が干渉するか否かをチェックする。いずれかのリンクが他のリンクと干渉することが判明した場合、歩容データを修正する。修正した歩容データに対して干渉チェックを繰り返す。繰返し干渉チェックをしながら歩容データを完成するので、歩容データを完成するのに膨大な計算時間が必要とされる。
特許文献1に、脚リンク同士が干渉しない各関節の目標関節角を算出するために、評価関数を利用する技術が開示されている。特許文献1の技術では、評価関数を満足するロボットの各関節の目標関節角を、反復計算法によって求める。
特開2002−292585号公報(請求項1、段落0010、図5)
特許文献1の技術によると、従前の干渉チェック方法による場合よりは高速に、脚リンク同士が干渉しない各関節の目標関節角を算出することができる。しかし特許文献1の技術でも、反復して計算を行う必要があり、高速化には限界がある。特に、ロボットを歩行させながら、人がロボットの歩行方向や歩行スピード等を指示する場合、すなわち人がリアルタイムにロボットの歩行を指示する場合、人の指示に基づいて歩容データを作成するまでの時間を短縮する必要がある。特許文献1に記載の反復計算方法では、計算時間が嵩む。脚リンク同士が干渉しないための歩容データの作成に時間がかかると、ロボットは次の動作に移れず、その場で停止してしまう。あるいはロボットの動作が緩慢となる。
ロボットを実際に動作させるのに先立って歩容データを作成する場合であっても、脚リンク同士が干渉しない歩容データをより高速に作成できる技術が必要とされている。事前の準備にかかる時間的コストを低減できるからである。
ロボットを円滑に歩行させることができ、かつ脚リンク同士が干渉しない歩容データを高速に作成する技術が必要とされている。
足平リンクの形状は、前後方向の長さが横方向の長さより長い形状をしている場合が多い。従って遊脚の足平をその基準点を中心として着地面内で回転させると、両足平間の距離は短くなり、足平同士が干渉しやすくなる。遊脚の足平の回転に応じて、足平間の距離を確保すれば、足平同士の干渉を回避できる。
本発明は、脚式ロボットの各脚に備えられた足平に固定された基準点の位置の時系列的変化を示す歩容データを作成する方法に具現化される。
本発明の歩容データ作成方法は、足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、立脚の足平に定められた基準線と遊脚の足平に定められた基準線とが遊脚が着地する際になす角度(以下、着地目標角度という)を設定する工程と、立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と着地する際の遊脚の足平の基準点との間の距離(以下、角度依存距離という)を着地目標角度に応じて算出する工程と、立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地する際の遊脚の足平の基準線に平行に伸びる第1の直線を計算する工程と、前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる第2の直線を計算する工程と、遊脚の足平の基準点を着地させる目標位置(以下、着地目標位置という)を、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域(以下、着地許可領域という)に設定する工程を含んでいる。
上記発明を図面に基づいて説明する。
図8は左右の足平を上から見た平面図である。図8において、10Rは立脚の足平を示している。10Lは遊脚の足平を示している。図8(A)は両足平10R、10Lが進行方向にも進行方向に垂直な方向にも揃えられたときの状態を示す図である。なお図8において紙面上方がロボットの進行方である。直線L0は、立脚の足平10Rに固定された基準線を示している。直線L1は、図8(A)において遊脚の足平10Lに固定された基準線を示している。この基準線は、足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるように各足平に対して設定される。ここで足平の前後方向とはロボットが両足平を揃えて直立姿勢をとったときの前後方向である。換言すれば足平の踵と爪先を通る直線ということもできる。また両足平の基準線L0、L1は、図8(A)に示すように両足平10R、10Lを揃えたときに互いに平行となるように設定されている。さらに遊脚の足平10Lの基準線L1は遊脚の足平10Lに固定されている。従って遊脚の足平10Lの方向の変化に応じて基準線L1の方向も変化する。
図8は、ロボットが時計方向に歩行方向を変える場合を例示しており、図8(B)の直線L2は、遊脚の足平10Lが立脚の足平10Rの基準線L0に対して角度A1だけ回転したときの足平10Lの基準線を示している。即ち図8(B)は、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線L2が角度A1である場合を例示している。
図8(A)の距離D0は、立脚の足平10Rと遊脚の足平10Lが干渉(接触)しないために必要な最小距離を例示している。図8(B)に示すように、遊脚の足平10Lの基準線L2と立脚の足平10Rの基準線L0が非平行であると、遊脚の足平10Lの基準点10LPと立脚の足平10Rの基準点10RPの間の距離を距離D2まで広げないと、両足平間に最小距離D0を確保できないことがわかる。立脚の足平10Rと遊脚の足平10Lが干渉しないために必要な遊脚の足平10Lの基準点10LPと立脚の足平10Rの基準点10RPの間の距離D2は、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線L2がなす角度Aによって変化することがわかり、角度Aが大きいほど、立脚の足平10Rと遊脚の足平10Lが干渉しないために必要な遊脚の足平10Lの基準点10LPと立脚の足平10Rの基準点10RPの間の距離D2は大きくなることがわかる。即ち、遊脚の足平10Lの基準点10LPを、立脚の足平10Rの基準線と平行で距離がD2である直線L4(第2の直線)より立脚とは反対側(立脚から遠い側)で着地させれば、両足平同士が干渉(接触)することはない。即ち最小距離D0は、遊脚の足平10Lが着地する際に立脚の足平10Rとの接触を回避するのに必要な距離である。そして距離D2は、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線L2がなす角度Aが変化する場合に距離D0を維持するために必要となる、立脚の足平の基準点10RPと遊脚の足平の基準点10LPの間の距離となる。
一方、図8(B)の円弧84は、立脚の足平10Rの基準点10RPの位置を中心とする、半径が距離D2に等しい円を示し、直線L3は、直線L2に平行で、円弧84に接する直線(第1の直線)を示す。種々の実験によって、遊脚の足平10Lの基準点10LPを直線L3(第1の直線)よりも立脚とは反対側(立脚から遠い側)で着地させると立脚の足平10Rと遊脚の足平10Lが干渉しづらいことが判明した。
また直線L3は、立脚の足平10Rの基準点10RPからおろした垂線の長さが、距離D2に等しい線である。その距離D2は、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線L2がなす角度Aによって変化する距離である。即ち距離D2は、立脚の足平の基準線と、遊脚が着地するときの遊脚の足平の基準線がなす着地目標角度Aに依存して変化する距離(角度依存距離)である。
これらのことから、立脚の足平10Rと遊脚の足平10Lに夫々基準線を設定する。そして立脚の足平10Rの基準線L0と遊脚が着地する際の遊脚の足平10Lの基準線L2がなす角度A(着地目標角度A)を設定する(これはロボットの歩行経路の距離半径等から設定することができる)。そして立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離D0を維持するための、立脚の足平の基準点と着地する際の遊脚の足平の基準点との間の距離D2(角度依存距離D2)を着地目標角度Aに応じて算出する。ここで角度依存距離D2は着地目標角度Aに依存して変化する距離である。そして立脚の足平10Rの基準点10RPの位置からおろした垂線の長さが角度依存距離D2に等しく、かつ遊脚が着地するときの遊脚の足平10Lの基準線L2に平行に伸びる第1の直線L3を計算し、立脚の足平10Rの基準点10RPの位置からおろした垂線の長さが角度依存距離D2に等しく、かつ遊脚側で立脚の足平10Rの基準線L0に平行に伸びる第2の直線L4を計算し、前記第1の直線L3又は前記第2の直線L4よりも遊脚10L側(立脚の足平10Rより遠い側)の領域(着地許可領域)を設定し、遊脚の足平10Lの基準点10LPの着地目標位置をこの着地許可領域内に設定するようにすれば、立脚と遊脚が干渉しないことが判明した。
この方法では、第1の直線L3および第2の直線L4を幾何学的関係から計算すればよく、計算を反復して繰返す必要がない。遊脚の足平10Lの基準点10LPの着地目標位置を着地許可領域内に設定するだけで、立脚の足平10Rと遊脚の足平10Lが干渉しない歩容データが作成される。
図8(C)は、立脚の足平10Rの基準線L0と遊脚が着地するときの遊脚の足平10Lの基準線L5がなす着地目標角度A2が図8(B)よりも大きい場合を示している。この場合も、着地目標角度A2から、立脚の足平10Rと遊脚の足平10Lが干渉しないために必要な最小距離D0を確保するのに必要な遊脚の足平10Lの基準点10LPと立脚の足平10Rの基準点10RPの間の距離D3を計算し、立脚の足平10Rの基準点10RPの位置を中心とする半径D3の円86を求め、遊脚の足平10Lの基準線L5に平行で、円86に接する第1の直線L6を求め、立脚の足平10Rの基準点10RPの位置からおろした垂線の長さが角度依存距離D3に等しく、かつ遊脚側で立脚の足平10Rの基準線に平行に伸びる第2の直線L7を計算し、第1の直線L6又は第2の直線L7よりも遊脚側(立脚の足平10Rより遠い側)の領域(着地許可領域)に、遊脚の足平10Lの基準点10LPの着地目標位置を設定すると立脚の足平10Rと遊脚の足平10Lが干渉しづらいことが確認されている。
本発明は、両足平リンクが干渉することのない遊脚の足平の基準点の着地目標位置を明示的に設定するものではない。しかし、干渉を避けることのできる着地許可領域が判明することから、その領域内に着地目標位置を設定することによって、干渉しない歩容データの作成を可能とする。
ロボットがその歩行経路に沿って滑らかに歩行するためには、着地許可領域を画定する2本の直線に近い領域に着地目標位置を設定することが有利である。干渉を回避することができる範囲で、遊脚の側方運動が抑制された歩容データを作成することができる。
なお図8は左右の足平を上から見た図である。即ち左右の足平の基準点10RP、10LPおよび左右の足平に固定された基準線L0、L1(L2、L5)を着地面に投影した図となっている。
左右の足平の基準点10RP、10LPが足平の裏側の面内に固定されている場合は上記説明の通りとなる。左右の足平の基準点10RP、10LPが足平の裏側の面内でなく、足平内部に固定されている場合には上記説明した第1の直線と第2の直線は以下のように計算できる。即ち、第1の直線は、立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地する際の遊脚の足平の基準線に平行に伸びる直線として計算できる。第2の直線は、前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる直線として計算できる。
またこの場合に着地許可領域は、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域と表現できる。
足平の形状が略矩形でない場合は、足平の外周に接する矩形を設定し、この矩形形状に基づいて角度依存距離を算出することが望ましい。足平の外周形状を矩形で近似した後、角度依存距離(図8(B)の場合では距離D2、図8(C)の場合では距離D3)は、足平の基準点から爪先に相当する前記矩形の一辺までの距離に着地目標角度の正弦を乗じた距離と、足平の基準点から足平内側に相当する前記矩形の一辺までの距離に着地目標角度の余弦を乗じた距離と、所定距離を加算した距離であることが好ましい。
図2から明らかに、遊脚の足平を回転させることによって遊脚の足平が立脚の足平に近づく距離dDは、FR×sin(A)+FN×cos(A)−FNに等しい。ここで、FRは足平の基準点から爪先(に相当する矩形の一辺)までの距離であり、FNは足平の基準点から足平外周の内側(に相当する矩形の一辺)までの距離である。
足平の基準点から爪先までの距離に着地目標角度の正弦を乗じた距離と、足平の基準点から足平の外周内側までの距離に着地目標角度の余弦を乗じた距離と、所定距離(上記式の−FNを含めて両足平を接触させないための余裕を与える距離)を加算した距離を角度依存距離とすると、その外周形状を矩形で近似した足平同士の接触を防止することができる。
遊脚の足平の基準点の着地目標位置を設定する場合、歩行経路の曲率半径等からまず着地目標角度を設定し、次いでその着地目標角度から遊脚の足平の基準点の着地可能領域を演算し、脚リンク同士が干渉しないようにするのに必要な着地許可領域内で、かつ着地可能領域内に遊脚の足平の基準点の着地目標位置を設定する順序とすることが好ましい。
遊脚の足平の着地目標角度によって、脚リンク同士が干渉しないようにするために必要な着地許可領域が変化する。それのみならず、ロボットの立脚と遊脚の幾何学的関係から、遊脚の足平の着地目標角度によって、遊脚の足平の基準点が着地可能な領域も変化する。
図9において、10Rは立脚の足平を示し、10RPはその基準点の位置を示す。図9(A)の楕円90は、着地目標角度がゼロ度であるときの着地可能領域を示している。着地目標角度がゼロ度であり、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線が平行である場合、ロボットは脚リンクの各関節を大きく回転させることができ、広い範囲の着地可能領域90を有する。それに対して、図9(B)の楕円92は、着地目標角度がA1であるときの着地可能領域を示している。着地目標角度がA1であり、立脚の足平10Rの基準線L0と遊脚の足平10Lの基準線L1が角度A1で交わる場合、その関係が拘束条件となって、ロボットは脚リンクの各関節の回転範囲が制約される。その結果、着地可能領域92は、着地目標角度がゼロ度のときの着地可能領域(図9(A)の楕円90内の範囲)よりも小さな楕円範囲に制約される。近似的に、楕円92は楕円90の相似形であり、縮小したものとすることができる。図9(C)の楕円94は、着地目標角度が非常に大きな角度A2であるときの着地可能領域を示している。着地目標角度がA2である場合、その関係が拘束条件となって、ロボットは脚リンクの各関節の回転範囲が強く制約される。その結果、着地可能領域94は極めて小さな楕円範囲に制約される。近似的に、楕円94は楕円90の相似形であり、縮小したものとすることができる。着地目標角度を可能な最大角度にすると、その関係が拘束条件となって、ロボットは脚リンクの各関節の回転角度は一定値に規制される。その結果、着地可能領域は一点に絞り込まれる。
着地可能領域は着地目標角度に依存して変化し、着地目標角度がゼロに近いほど大きく、着地目標角度が大きいほど小さく、その間を着地目標角度に比例して相似的に拡大縮小する関係にある。
遊脚の足平の基準点の着地目標位置を設定する場合、歩行経路の曲率半径等からまず着地目標角度を設定し、次いでその着地目標角度から着地可能領域(図9の90,92,94等)を演算し、足平同士が干渉しないようにするのに必要な着地許可領域(図8(B)において第1の直線L3又は第2の直線L4よりも立脚とは反対側の領域)でかつ着地可能領域(図9の90,92,94等)内に、遊脚の足平の基準点の着地目標位置を設定する順序とすることが好ましい。
希望する歩行経路を足平同士が干渉しないように歩行するとともに実行可能な歩容データを短時間で作成することができる。
図9に例示するように、着地目標角度がゼロのときの着地可能領域は、遊脚を爪先方向に最大に振り出して着地するときと踵方向に最大に振り出して着地するときの足平の基準点間の距離を長径とし、遊脚を側方に最大に振り出して着地するときと前記側方とは反対の方向に最大に振り出して着地するときの足平の基準点間の距離を短径とする楕円で近似できる。着地目標角度が最大のときの着地可能領域は、長径と短径が略ゼロの点であり、着地目標角度が中間値のときの着地可能領域は、前記楕円と点を前記中間値で按分した楕円であるとすることが好ましい。
これによると、厳密な計算によって求めることのできる、着地目標角に依存する着地可能領域に対してこの領域を良く近似する着地可能領域を簡単に計算することができる。
脚式ロボットの遊脚の足平の空中軌跡(軌道)は、着地面に投影したときに直線的である必要はなく、立脚との干渉を避けるために必要なら、曲線的なものであってもよい。
この場合は、脚式ロボットの遊脚の足平の基準点の位置の時系列的変化を示す歩容データを作成するに当たって、足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、立脚の足平の基準線と遊脚の足平の基準線がなす角度を設定する工程と、前記工程で設定された角度から角度依存距離を算出する工程と、遊脚の足平の基準点の移動軌跡を着地面へ投影した軌跡が、立脚の足平の基準点の位置を中心とするとともに半径が前記角度依存距離に等しい円と接する弧を描く遊脚の足平の基準点の軌跡を設定する工程を含むことが好ましい。
上記方法では、立脚の足平と遊脚の足平とが着地面内でなす角度を取得する。この角度は遊脚の足平の着地目標角度でもよいが、それ以外の角度でもよい。例えば遊脚となった時点における、その脚の足平と立脚の足平がなす角度でもよい。取得した角度が大きいほど長くなる角度依存距離を算出する。ここで取得した「立脚の足平と遊脚の足平とが着地面内でなす角度」から算出される角度依存距離は換言すれば「立脚の足平の基準線と遊脚の足平の基準線とがなす角度」から「立脚の足平と遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と遊脚の足平の基準点とを着地面へ投影した際の両基準点の間の距離」と表現できる。
この角度依存距離は前述したものと等価である。そして遊脚の足平の基準点の移動軌跡を着地面内へ投影した軌跡が、立脚の足平の基準点の位置を中心とするとともに半径が前記角度依存距離に等しい円と接する弧を描く遊脚の足平の基準点の軌跡を設定する。
遊脚の足平の移動軌跡を着地面に投影した軌跡が、立脚の足平の基準点の位置を中心とする半径が角度依存距離に等しい円と接する弧を描けば、立脚の足平と遊脚の足平は干渉しない。さらに、着地面内に投影した遊脚の足平の軌跡に上記制限を設けると、足平だけでなく遊脚のリンクと立脚のリンクが干渉しないことが判明している。
この方法では遊脚が着地する際の両足平の干渉だけでなく、遊脚となった時点から着地するまでの軌跡において、遊脚の足平が立脚の各リンクに干渉することのない足平の基準点の移動軌跡、即ち歩容データを求めることができる。そのための条件が、上記した「立脚の足平の基準点の位置を中心とする半径が角度依存距離に等しい円に接する」という簡単な条件だけとなるので、遊脚の足平の基準点の移動軌跡を求める演算をより高速化できる。ロボットを歩行させながら歩行経路等を指示し、指示された歩行経路を歩行するための歩容データを計算するようなリアルタイム処理を行っても、遊脚の足平と立脚の各リンクとの干渉を回避するロボット動作を十分高速に計算することができる。
足平の形状が略矩形でない場合は、足平の外周に接する矩形を設定し、この矩形形状に基づいて角度依存距離を算出することが望ましい。足平の外周形状を矩形で近似した後、角度依存距離D2、D3は、足平の基準点から爪先に相当する前記矩形の一辺までの距離に「立脚の足平の基準線と遊脚の足平の基準線とがなす角度」の正弦を乗じた距離と、足平の基準点から足平内側に相当する前記矩形の一辺までの距離に「立脚の足平の基準線と遊脚の足平の基準線とがなす角度」の余弦を乗じた距離と、所定距離を加算した距離であることが好ましい。基準点と足平の外周形状を近似した矩形との関係を考慮することで、より正確に遊脚の足平が立脚の各リンクと干渉することのない軌跡を生成することができる。
また本発明は、脚式ロボットの各脚に備えられた足平に固定された基準点の位置の時系列的変化を示す歩容データを作成する装置としても具現化できる。この歩容データ作成装置は、足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、ロボットの歩行経路の曲率半径から、立脚の足平の基準線と遊脚の足平の基準線とが遊脚が着地する際になす角度(以下、着地目標角度という)を設定する手段と、立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と遊脚の足平の基準点との間の距離(以下、角度依存距離という)を着地目標角度に応じて算出する手段と、立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地するときの遊脚の足平の基準線に平行に伸びる第1の直線を計算する手段と、前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる第2の直線を計算する手段と、遊脚の足平の基準点を着地させる目標位置を、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域に設定する手段を有する。
この歩容データ作成装置は、ロボットに与えられる歩行経路の曲率半径から遊脚の足平の基準点の着地目標角度を設定する。この着地目標角度から、遊脚が着地する際に遊脚の足平と立脚の足平が干渉しない領域(着地許可領域)を設定する。遊脚が着地するときの足平の基準点の目標位置は、両足平が干渉しない領域(着地許可領域)に設定する。よって与えられた歩行経路に追従するようにロボットを歩行させる際、遊脚の着地時の足平が立脚の足平に干渉することのない歩容データを作成することができる。
さらにこの歩容データ作成装置は、簡単な計算によって遊脚が着地する際に遊脚の足平と立脚の足平が干渉しない領域(着地許可領域)を設定することができる。両足平が干渉しない歩容データを高速に作成できる。従ってリアルタイムにロボットの歩行経路が与えられる場合にも、両足平が干渉することなく歩行することのできる歩容データを作成することができる。
本発明によれば、遊脚が着地するときに遊脚の足平が立脚の足平に干渉することのない歩容データを高速に求めることができる。さらに立脚のリンクに干渉しない、遊脚の足平の移動軌跡(歩容データ)を高速に求めることができる。
実施例の主要な特徴を列記する。
(第1形態) 着地可能領域を設定する際、着地目標角度がゼロ度と最大角度の中間値のときには、その中間値に対する着地可能領域は前記楕円と点を前記中間値で按分した楕円であるとすることが好ましい。この按分は、例えば着地目標角度に着地可能領域の楕円の長径と短径が比例するように設定することが好ましい。中間値における着地可能領域の設定をより高速化できる。
(第2形態) 足平の外周形状をその外周に接する矩形を設定する場合、両足平の基準点がロボット体幹方向に平行な同一直線上にあり、両足平の基準線が体幹の前後方向に平行な位置(いわゆる直立姿勢における足平の位置と姿勢)にあると仮定したときの、2辺がロボットの前後方向に平行で足平の外周に接する矩形を設定することが好ましい。このときの両足平の位置と姿勢は、ロボットがいわゆる直立姿勢となった場合の足平の位置と姿勢である。換言すれば、このときの両足平の位置と姿勢は、両足平の基準点が体側方向に平行な同一直線上にあり、両足平の基準線はこの直線に直交する。この状態で足平の外周形状を近似する矩形を設定すると、その矩形の2辺は足平の基準線に平行な矩形とすることができる。即ちロボットが直立姿勢となる際、体幹前後方向に平行な2辺と体側方向に平行な2辺を有する矩形状の足平を有すると想定する。これにより、足平の外周形状を近似した矩形から、角度依存距離を簡単に算出することが可能となる。
図面を参照して以下に実施例を詳細に説明する。
<実施例1>
以下本発明の実施例1を説明する。
まず図7を用いてロボット100の概要を説明する。図7(A)にロボット100の平面図を示す。図7(B)にロボット100の正面図を示す。ロボット100は多数のリンクと、隣接するリンクを揺動可能に連結する関節から構成される。但し本発明ではロボットの脚部先端に取り付けられた足平リンク(以後、単に足平と称す)の動作に着目するため、図7ではロボットを簡略化して示してある。
図7(B)はロボット100がいわゆる直立姿勢となったときの正面図である。ロボット100の体幹(いわゆる胴体)110には左右の脚が連結されている。右脚の先端に右足平10Rが連結されている。左脚の先端に左足平10Lが連結されている。
図7(A)のロボット100の平面図に示すように足平10R、10Lの外周形状は略矩形形状をしている。
図7(A)、(B)において図のX軸方向がロボットの正面方向である。図7(A)では紙面下方がロボット正面方向である。従って図7(A)において左足平10Lの外周形状を表す矩形の下側の辺13Lが爪先に相当し、矩形の上側の辺15Lが踵に相当する。また図7(A)の10LPは左足平10Lに固定された基準点である。左足平10Lにおいて、基準点10LPを通り、踵15Lから爪先13Lに伸びる直線12Lが左足平10Lの基準線である。同様に右足平10Rに固定された基準点10RPを通り踵から爪先へ伸びる直線12Rが右足平10Rの基準線である。換言すれば基準線12L、12Rはロボットの足平の前後方向に伸びる直線である。ここで基準線12L、12Rはロボット100が両足平を揃えた直立姿勢のときにX軸方向(ロボットの前後方向)に平行となるように足平10L、10Rに対して固定(設定)される。即ち基準線は、ロボットが両足平を揃えたときに互いに平行となるように各足平に対して定められる。また、左右足平10R、10Lに固定される基準点10RP、10LPは、ロボットが直立姿勢のとき、図7のY軸(体側方向)に平行な直線上に設定される。
ロボットの足平の形状が略矩形とは異なる場合、足平の外周形状をその外周に接する矩形を設定する。この矩形の大きさに基づいて両足平が干渉しない領域を設定する。足平の外周形状をその外周に接する矩形を設定する場合、両足平の基準点がロボット体幹方向に平行な同一直線上にあり、両足平の基準線が体幹の前後方向に平行な位置(いわゆる直立姿勢における足平の位置と姿勢)にあると仮定したときに、2辺がロボットの前後方向に平行で足平の外周に接する矩形を設定する。このときの両足平の位置と姿勢は、ロボットがいわゆる直立姿勢となった場合の足平の位置と姿勢である。即ち図7(A)に示す足平10R、10Lと同様に、両足平の基準点がY軸に平行な直線上にあり、両足平の基準線がこの直線と直交するよう両足平の位置と姿勢を仮定する。その状態で足平の外周に接する矩形を設定する。すると足平の外周に接する矩形は図7(A)に示す、足平10Lの爪先に相当する辺15Lと踵に相当する辺12L、および足平の内側に相当する辺17Lが特定できる。なおこの場合も前述の場合と同様に、ロボットが両足平を揃えたときに互いに平行となるような基準線が各足平に対して定められる。
次に図1と図2に基づいて、遊脚が着地する際、足平の基準点を着地させる目標位置(着地目標位置)として設定できる領域(着地許可領域)について説明する。
図1はロボットが矢印16に沿って右方向にカーブしつつ歩行しているときの両足平の位置を示している。左足平10Lの基準点10LPが位置LP1で立脚側の足平となり、次いで右足平10Rの基準点10RPが位置RP1で着地し、そこで立脚となる。次に左脚が遊脚となり左足平10Lの基準点10LPは位置LP2で着地する予定である。但し位置LP2はこれから設定される。即ちこれから左足平10Lの着地目標位置LP2を設定する。
ロボットは矢印16に沿って右方向へカーブしつつ歩行している。従って、右足平10Rが位置RP1で着地し、そこで右脚が立脚となった際、次に左脚が着地する位置での左足平10Lの着地目標角度Aがまず設定される。この着地目標角度Aはロボットがカーブするその曲率半径に沿うように設定される。また着地目標角度Aは、着地する脚の足平の基準線12Lと、立脚の足平の基準線12Rとのなす角度Aとして定義される。
左足平10Lの着地目標角度Aが設定された後、左足平10Lの着地目標位置として、左右の足平が適切な距離を保てる領域20を設定する。左右の足平が適切な距離を保てる領域20とは、左足平10Lの着地時に右足平10Rと干渉しない領域である。この領域20内に左足平10Lの着地目標位置を設定する。この領域20を着地許可領域と呼ぶ。この領域20は、立脚(右脚)の右足平10Rの基準点10RPの位置RP1から、着地しようとする脚(左脚)の左足平10Lの基準線12Lへおろした垂線RZの長さが、左足平10Lの着地目標角度Aに依存する関数で表される閾値RZTH(不図示)以上となる領域、又は立脚(右脚)の右足平10Rの基準線12Rに遊脚側で平行な直線19のうち、右足平10Rの基準線12Rとその直線19との距離RZが左足平10Lの着地目標角度Aに依存する関数で表される閾値RZTH(不図示)以上となる領域である。
着地目標角度Aが設定された左足平10Lの基準点10LPの着地目標位置LP2はこの着地許可領域20内に設定される。このとき着地許可領域20の境界線上に着地目標位置LP2を設定することも好ましい。
次に図2を用いて、着地許可領域20を決定するための、左足平10Lの着地目標角度Aに依存する関数で表される閾値RZTHの決定の方法を説明する。図2の左足平10Lと右足平10Rはロボットを直立姿勢としたときの位置にある。即ち、両基準線12L、12Rは平行であり、両足平の基準点10RP、10LPは基準線に直交する直線上に位置している。
図2ではX軸方向がロボット正面方向を示す。右足平10Rの基準点10RPから右足平先端14R(爪先)までの距離は距離FRである。また右足平10Rの基準点10RPから右足平内端16Rまでの距離は距離FNである。左右の足平の外周形状は同じ略矩形である。よって左足平10Lの基準点10LPから左足平先端(爪先)までの距離は右足平10Rにおける距離FRに等しく、左足平10Lの基準点10LPから左足平内端までの距離は右足平10Rにおける距離FNに等しい。
ロボットが直立姿勢にあるときの両足平10Lと10Rの間の距離は距離D0である。この距離D0は、ロボットが直進した場合に両足平10R、10Lが干渉(接触)しないために必要な最小の余裕として設定されている。換言すれば距離D0は、ロボットが直進した場合に両足平10R、10Lの干渉(接触)を回避するために必要な距離である。また両足平の基準点10LP、10RP間の距離はD1である。
ここで左足平10Lがその基準点位置10LPを中心に角度Aだけ回転して10L2となった場合を考える。すなわち左足平10L2の基準線12L2と、右足平の基準線12R、別言すれば左足平10Lの回転前の基準線12Lとのなす角が角度Aとなった場合を考える。左足平10Lが角度Aだけ回転したことにより両足平10R、10Lの間は距離dDだけ短くなる。即ち両足平10R、10Lが干渉しないための余裕として設定された距離D0が距離dDだけ短くなる。この距離dDの分だけ両足平10R、10Lは干渉しやすくなる。そこで左足平10Lを角度Aだけ回転させる場合には、左足平10Lの基準点10LPの位置を図2のY軸方向で右足平10Rと反対側に距離dDだけ移動すれば両足平10R、10Lの間は距離D0が保てることになる。足平10L、10Rの外周形状は矩形であるので図2の幾何学的関係からdDは、
dD=FR×sin(A)+FN×cos(A)−FN
で表すことができる。左足平10Lの基準点10LPの位置をY軸方向で右足平10Rと反対側に距離dDだけ移動させたとき、両足平10R、10Lの基準点10RP、10LPの間の距離は、D1+dD、即ち、D1−FN+FR×sin(A)+FN×cos(A)で表せることができる。このD1+dDは右足平10Rを角度Aだけ回転させたときに、両足平10R、10Lの間をもとの足平間の余裕を持たせた距離D0を保つものである。従って、遊脚の足平10Lの基準点10LPの着地目標位置を、立脚の足平10Rの基準線12Rに遊脚側で平行な直線のうち、遊脚の足平10Rの基準線12Rとの距離が(D1+dD)の直線よりも立脚と反対側の領域に設定すれば、両足平が干渉(接触)することはない。別言すれば、遊脚の足平10Lの基準点10LPの着地目標位置を、立脚の足平10Rの基準点からおろした垂線の長さが(D1+dD)に等しく、かつ遊脚側で立脚の足平10Rの基準線12Rに平行に伸びる直線(第2の直線)よりも立脚とは反対側の領域に設定すれば両足平は干渉することがない。
ここで、D1+dDは、足平基準点から足平先端(爪先)までの距離FRに着地目標角度Aの正弦を乗じた距離と、足平基準点から足平内端までの距離FNに着地目標角度Aの余弦を乗じた距離とを、一定距離(D1−FN)に加えた距離である。実施例1ではこの距離(D1+dD)が「角度依存距離」に相当する。なお、上記説明より第2の直線を別言すれば、立脚の足平10Rの基準線12Rに遊脚側で平行な直線であり、遊脚の足平10Rの基準線12Rとその直線との距離が角度依存距離に等しい直線、と表現することもできる。
また一方、種々の実験によって、着地する足平と立脚の足平との干渉について、着地目標角度Aに依存する距離(D1+dD)および着地目標位置との間に次の関係があることが判明した。
(1)立脚の足平の基準点を中心とし、上記角度依存距離(D1+dD)を半径とする円を設定する。
(2)着地目標角度Aで着地する足平の基準線に平行で(1)の円に接する接線を設定する。
(3)着地目標角度Aで着地する足平の基準点の着地目標位置が(2)で設定された接線より遊脚側(立脚とは反対側)にあると、着地する足平と立脚の足平とは干渉する可能性が低い。
そこで上記角度依存距離(D1+dD)を、着地許可領域20を設定するための閾値RZTHとする。換言すれば、この角度依存距離(D1+dD)は、「立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離D0を維持するための、立脚の足平の基準点と着地する際の遊脚の足平の基準点との間の距離」ということができる。
前述した第2の直線より立脚とは反対側に遊脚の左足平10Lの基準点10LPの着地目標位置を設定しても両足平は干渉しないことと考え合わせると、着地許可領域20は、立脚の右足平10Rの基準点10RPの位置RP1からおろした垂線の長さが閾値RZTH(角度依存距離)に等しく、左足平10Lの基準線12Lに平行に伸びる直線(第1の直線)又は前述した第2の直線より遊脚側(立脚とは反対側)の領域、と定義することができる。
図1に示す距離RZの長さが角度依存距離RZTHに等しい場合、第1の直線は左足平10Lの基準線12Lとなり、第2の直線は立脚の足平10Rの基準線12Rと平行で、基準線12Rとの距離がRZである直線19となる。従って図1における着地許可領域20は、左足平10Lの基準線12L(第1の直線)又は直線19(第2の直線)よりも立脚とは反対側の領域となる。
なお、上記(1)から(3)の記述に従うと、第1の直線は、立脚の足平の基準点を中心とするとともに、着地目標角度から算出される角度依存距離を半径とする円の接線のうち、着地する足平に固定された基準線と平行な接線、と表現することもできる。
この実施例は、着地する遊脚の足平の基準点の着地目標位置とそのときの着地目標角度を変数として、遊脚が着地する際に両足平が干渉しない領域(着地許可領域)を着地面(歩行面)上に設定する。着地目標角度と着地目標位置を設定した後に、両足平が干渉するか否かをチェックするのではなく干渉しない領域を設定する。ある着地目標角度で着地しようとする足平の基準点の着地目標位置を、設定された着地許可領域内に設定すれば、両脚の足平リンクが干渉することはない。この処理を、ロボットの歩行経路に沿って夫々の脚が遊脚となる毎に行うことにより、足平の基準点の着地目標角と着地目標位置の時系列データ、即ち歩容データを作成できる。このとき、脚の各関節の目標関節角を考慮しない。また反復計算を必要としない。従って着地する足平と立脚の足平との干渉を回避する歩容データを高速に作成できる。ロボットの歩行経路をリアルタイムに与えても、その歩行経路に基づいて高速に歩容データを作成し、与えられた歩行経路に沿ってロボットをリアルタイムで歩行させることができる。
またこの実施例では、着地許可領域の境界の一部となる第2の直線は、立脚の足平の基準線と平行である。この第2の直線より立脚とは反対側の領域が着地許可領域となる。一方着地許可領域の境界の別の一部となる第1の直線は、立脚の足平の基準点を中心とし、角度依存距離を半径とする円の接線となる。この接線より立脚とは反対側の領域も着地許可領域となる。立脚の足平の前方における接線は、立脚の足平の前方でその足平の基準線と交差する。すなわち着地目標角度をゼロ度から大きくすると、着地許可領域は第1の直線で規定される領域よりも足平前方へ拡張されることになる。遊脚の足平の基準点の着地目標角度をゼロ以上としたときの着地目標位置は、立脚の足平の前方になるほど立脚の足平の正面に近い位置に設定できることになる。
従ってロボットをカーブしながら歩行させようとする際、そのカーブの外側の脚の足平の基準点の着地目標位置を内側の脚の足平の前方に設定できる。着地する遊脚の足平の基準点の着地目標位置を立脚の足平の前方とするほど、カーブする方向に設定することができる。その場合でも着地する脚の足平と立脚の足平は干渉することはない。ロボットをカーブに沿って円滑に歩行させる歩容データを作成できる。
なお、角度依存距離は上記(D1+dD)に限定されるものではない。着地目標角度が大きいほど長くなる角度依存距離とは、着地目標角度に比例して距離が長くなるような関数を用意してもよいし、着地目標角度に対して非線形に長くなるような関数を用意してもよい。着地目標角度の増加に伴って距離が長くなる関数であればよい。
また、足平の外周の形状が矩形以外の場合、前述したように足平の外周に接する矩形を設定することで、図2に示した、右足平10Rの基準点10RPから右足平先端14R(爪先)までの距離FRと、右足平10Rの基準点10RPから右足平内端16Rまでの距離FNを同様に定義することができる。このとき右足平10Rの基準点10RPから右足平内端16Rまでの距離FNは、図7(A)に示す、左足平10Lの基準点10LPから足平の形状を近似した矩形の内側の辺17Lまでの距離として定義することができる。
また実施例1の説明に用いた図1及び図2はロボットの足平を上から見た図である。即ち足平の基準点や基準線を着地面に投影した図である。足平に固定された基準点は足平の裏面内(歩行面と接する面内)に固定されるとは限らない。足平の内部に基準点が固定されている場合、遊脚の足平を着地させる際の基準点の目標位置は歩行面から所定距離だけ上方となる。その場合には実施例1で説明した第1の直線や第2の直線および着地許可領域は次のように求めることができる。
即ち、第1の直線は、立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地する際の遊脚の足平の基準線に平行に伸びる直線として計算できる。第2の直線は、前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる直線として計算できる。着地許可領域は、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域として求めることができる。このようにして第1の直線や第2の直線および着地許可領域を求めることで足平の基準点が足平内部に固定されている場合でも実施例1と同様に着地目標位置を設定することができる。
<実施例2>
次に図3を用いて実施例2を説明する。図3に示す左足平10Lと右足平10Rはロボットが前述した直立姿勢とったときの位置にある。図3は左足平10Lの基準点10LPに座標原点P4をとり、足平前方をX軸とした座標系を設定してある。このとき両足平の基準線12L、12Rは平行であり両足平の基準線が着地面内でなす角度はゼロである。この状態で左脚を前方(爪先方向、即ちX軸方向)に最大に踏み出して着地することのできる左足平10Lの基準点10LPはP5の位置となる。このとき座標原点P4から位置P5までの距離はXMAXである。このロボットは左足平10Lの基準点10LPが座標原点P4の位置にある状態から後方(踵方向、即ちX軸上で負の方向)へも距離XMAXの位置へ着地することができる。同様に、左足平10Lの基準点10LPが座標原点P4の位置にある状態からY軸方向(足平側方)に最大に踏み出して着地することのできる左足平10Lの基準点10LPはP6の位置となる。このとき座標原点P4から位置P6までの距離はYMAXである。同様にこのロボットは左足平10Lの基準点10LPが座標原点P4の位置にある状態からY軸上で負の方向へも距離YMAXの位置へ着地することができる。なお、図3に示すように左足平10Lが右足平10Rの方向へ振り出すと左右の足平が干渉するが、ここでは、干渉は考慮しない。ロボットの脚リンク群と関節の構造から決定される、最大に振り出すことのできる距離を求めるだけである。即ちロボットが直立姿勢をとった状態から片脚が踏み出して着地することのできる最大着地可能領域を求めるのである。
種々の実験から、単純な形状で着地可能領域を近似するには楕円が適切であることが判明した。そこで、ロボットが直立姿勢をとった状態から、左脚を前後左右に踏み出して着地可能な位置までの左足平10Lの基準点からの距離XMAXとYMAXを求め、ロボットが直立姿勢をとった状態での左足平基準点の位置を中心とするとともに、このXMAXを長軸の半径とし、YMAXを短軸の半径とした楕円の範囲を、着地可能領域を表す範囲として設定する。
ロボットの脚は、隣接するリンクを揺動可能に連結する各関節を大きく回転させることができ、広い範囲の着地可能領域を有する。ロボットはまず直進歩行が円滑となるよう設計されるので左右の足平が平行である場合に最も広い着地可能領域を有する。しかし足平の歩行面上での回転角(左右の足平の基準線が交差する際の角度、これは前述の着地目標角度に等しい)がゼロより大きくなると、その回転角が拘束条件となって各関節の回転範囲が制約される。その結果、着地可能領域は、回転角がゼロの場合より小さくなる。回転角が大きくなるにつれて拘束条件は厳しくなり、着地可能領域もより小さくなる。さらに回転角が、足平が取り得る最大角度となったとき、着地可能領域はほぼ点状の微小領域に収束する。
着地目標角度に依存した脚の足平の着地可能領域は、脚の各リンクと関節の可動範囲から幾何学的に厳密に計算することができる。しかし近似的には、着地可能領域は着地目標角度に依存して変化し、着地目標角度がゼロに近いほど大きく、着地目標角度が大きいほど小さく、その間を着地目標角度に比例して相似的に拡大縮小する関係にあることが解った。
実施例2では、回転角(着地目標角度)がゼロのときに、着地可能領域は最大(最大着地可能領域)となる。そのときの近似的な範囲は長軸の半径を長さXMAX、短軸の半径を長さYMAXとする楕円22の範囲となる。回転角がその取り得る最大角の1/2となるとき、近似的な着地可能領域は、長軸の半径をXMAXの半分の長さ、短軸の半径をYMAXの半分の長さとする楕円24の範囲となる。着地目標角度がその取り得る最大角度のとき、着地可能領域は長径と短径がともにゼロとなる点(図3で左足平10Lについては原点P4)の近傍の微小領域に収束する。このとき原点P4に収束した着地可能領域を最小着地可能領域とする。そして着地目標角度がゼロと最大角度の中間の角度の場合、そのときの近似的な着地可能領域を表す楕円は、着地目標角度がゼロのときに長径の半径がXMAX、短径の半径がYMAXとなり、着地目標角度が最大のときに長径と短径の半径がともにゼロとなる一次関数により規定する。すなわち、着地可能領域は、最大着地可能領域(を表す楕円)と最小着地可能領域(を表す点)を着地目標角度が最小角度(ゼロ)と最大角度(足平が取り得る最大の着地目標角度)との間の中間値で按分した範囲となる。上記例では着地目標角度に対する着地可能領域の楕円の長径と短径の長さ按分するために一次関数で求めたが、一次関数に限定されるものではない。2次関数その他、非線形関数であってもよい。
実施例2では、着地可能領域を単純な形状で最もよく近似できる楕円で表現した。楕円は長軸と短軸の長さ、および楕円中心点の座標で一義的に決定できるので、着地目標範囲を楕円で近似することは、着地目標範囲を高速に計算する上で好都合である。しかし着地可能領域を近似する領域は楕円に限られるわけではない。前述したように着地目標角度によって決まる着地可能領域は脚の幾何学的構造から厳密に求まる。いくつかの着地目標角度から、その角度に対応した厳密な着地可能領域を事前に求めておき、各着地範囲を近似する閉曲線又は多角形を、いくつかの着地目標角度に応じた対応表として記憶しておく。そして着地可能領域を実際に求めるときは、対応表中に存在する、設定された着地目標角度に近い着地目標角度を2つ選択する。選択された2つの着地目標角度に対応する着地可能領域を読み出す。その2つ着地目標角度と設定された着地目標角度の比率に応じて、2つの着地可能領域を按分して着地可能領域を求めることも好適である。
図4にこのときの歩容データの作成の様子を示す。図1と同じように左足平10Lの基準点10LPが位置LP1で左脚が立脚となり次に右足平10Rの基準点10RPが位置RP1で右脚が立脚となる。次の左足平10Lの基準点10LPの目標位置を決定するに際して、右足平10Rの基準点10RPが位置RP1にあるときに、ロボットが直立姿勢をとったと仮定したときの左足平10Lの基準点10LPの位置LP3を特定する。左足平10Lの基準点10LPが位置LP3にあるという仮定の元で先に説明した着地目標角度Aに応じた楕円領域26(着地可能領域)を算出する。この楕円領域26内であれば、着地目標角度Aで左足平10Lが着地可能な領域を特定することができる。
このとき、実施例1で説明したように着地目標角度Aで着地しようとする左足平10Lの着地許可領域が設定されている。着地許可領域は、第1の直線32又は第2の直線33より立脚とは反対側の領域である。ここで第1の直線32は、着地目標角度Aで着地させようとする左足平10Lの基準線12Lに平行で、立脚の足平10Rの基準点10RPの位置RP1からおろした垂線の長さが着地目標角度Aに依存して設定される角度依存距離RZとなる直線である。また第2の直線33は、立脚の足平10Rの基準点10RPの位置RP1からおろした垂線の長さが着地目標角度Aに依存して設定される角度依存距離RZに等しく、かつ立脚の足平の基準線に遊脚側で平行な直線である。
従って左足平10Lが右足平10Rと干渉を起こさず、かつ着地目標角度Aで着地可能な左足平10Lの基準点10LPの着地目標位置の設定可能な領域は、楕円26内の領域と、着地許可領域とが重なる領域34として特定することができる。
領域34の範囲で着地目標位置として最も望ましい位置は第1の直線32と楕円26との交点のうち、進行方向(図4で矢印16に示す方向)の交点Sである。この点は第1の直線32上であるので最も小さい距離で両足平の干渉を回避することができ、かつ楕円26上であるので左足平10Lの基準点10LPが、直前の着地位置LP1から到達できる最遠の位置でもある。ここではさらに余裕を確保するため、交点Sから領域34内に所定の距離だけ内側の位置LP2に左足平10Lの基準点10LPの着地目標位置を設定する。
次に図5により実施例2の処理のフローチャートを示す。まずステップS100では、ロボット操作装置からリアルタイムに出力される、ロボットの歩行の速度や方向といった歩行経路に関する指令を取得する。なお、ロボット操作装置としてはジョイスティックやボタン、マウスなどがある。本実施例では、ロボットを図4に矢印16に示すように、右にカーブしながら歩行させる指令を取得する。
次にステップS102では、ロボット操作装置からの指令値に基づいて着地目標角度を設定する。ここでは図4に示すように、ロボット操作装置からの指令値が矢印16で示す右カーブであるのでこのカーブの曲率半径から、右足平10Rの基準点10RPが位置RP1にあるときの、左足平10Lの基準点10LPが位置LP1から一歩踏み出して次に着地する予定位置での着地目標角度を角度Aに設定する。このときステップS102では着地目標角度の設定に先立って左右の足平の基準線を設定する。設定の方法は前述した通りである。
次にステップS104では角度依存距離を算出する。角度依存距離については前述した通りである。次にステップS106では着地目標位置として設定することができる領域(着地許可領域)を設定する。これは図4に示す第1の直線32又は第2の直線33より図上左側の領域となる。同時にステップS108で、着地目標角度Aから、左足平10Lの基準点10LPの着地可能領域が設定される。設定された着地可能領域は図4に示す楕円26の内部の領域である。
そしてステップS110ではステップS108で求められた着地可能領域とステップS106で求められた着地許可領域とが重なる領域、即ち図4に符号34で示す斜線部分の領域を設定する。そしてこの領域34のいずれかの位置を着地目標位置として設定する。着地目標位置は領域34内で任意に設定できる。例えば前述したように最も好ましい位置Sから、さらに所定の余裕を確保した点LP2に次の左足平10Lの基準点10LPの着地目標位置を設定する。
こうして設定された着地目標位置LP2およびステップS102で設定した着地目標角度Aに基づいて左足平10Lの基準点10LPの位置LP1から位置LP2への時系列データ(即ち左足平10Lの歩容データ)が作成され、ステップS112でこの歩容データに基づいてロボットが駆動される。上記処理を全てコンピュータによって自動的に行わせることで、足平同士が干渉することのない、足平の基準点の歩容データを高速に作成する歩容データ作成装置を実現することができる。
このように実施例2によれば、着地目標角度Aが与えられた際に、他方の足平と干渉を起こさず、かつ着地目標角度Aで着地させるための、足平の基準点の着地目標位置を設定可能な領域を特定できる。遊脚の足平の基準点の着地目標位置をこの領域内に設定することで、他方の脚の足平と干渉を起こさず、かつ着地目標角度Aで着地可能な着地目標位置、すなわち足平の基準点の歩容データを作成できる。ここで、足平の基準点の着地目標位置としては着地可能領域および着地許可領域の境界線上が好ましい。着地許可領域の境界線上であれば、着地しようとする足平と立脚の足平が干渉しない着地目標位置のうち、立脚の足平前方に近い位置に着地目標位置を設定できる。即ちロボット歩行時に両脚が左右方向になるべく開かない円滑な歩行データを作成できる。また着地可能領域を表す楕円上に着地目標位置を設定すると、設定された着地目標角度に対してできるだけ歩幅の大きい着地目標位置を設定できる。ロボットの歩行時の歩幅を大きくできることで円滑な歩容データを作成できる。いずれの場合にも両足平の干渉は回避された歩容データとなる。
以上より遊脚の足平の基準点の着地目標位置を、着地許可領域の境界線と着地可能領域の境界線とのロボット進行歩行遠方側の交点とすることが好ましい。ロボットがより安定した歩行を実現できるようさらに余裕をとるために、前記交点から所定距離だけ着地可能領域の内側に着地目標位置を設定することも好ましい。
実施例2では遊脚の足平の基準点の着地目標角度が設定されたのち、その着地目標角度で着地可能な領域を設定した。逆に遊脚の足平の基準点の着地目標位置を最初に設定し、その着地目標位置が含まれる最小の着地可能領域に対応する角度を着地目標角度として設定することも好適である。これにより最初に設定された着地目標位置に対して最小の角度となる着地目標角度を設定することができる。着地目標角度が小さいということは左右の足平の相対角度が小さいということである。左右の足平の干渉を回避しつつ円滑な歩行を実現する歩容データを作成できる。
<実施例3>
次に図6を用いて実施例3を説明する。この実施例は遊脚の足平が立脚のリンクと干渉しないような移動軌跡を高速に生成するものである。
図6では左足平10Lの基準点10LPが位置LP1で立脚となり、次に右足平10Rの基準点10RPが位置RP1で着地しその位置で右脚が立脚となった状態を示す。次に右脚の右足平10Rの基準点10RPが位置RP1で立脚となった状態から、左脚を遊脚として左足平10Lの基準点10LPを位置LP1からLP2に移動させる移動軌跡(即ち足平の基準点の歩容データ)を生成する。このとき左脚の左足平10Lの離地位置LP1と次の着地目標位置LP2の夫々の位置における左足平10Lの、右足平10Rに対する着地面内での回転角(位置LP1では実現された着地角度、位置LP2では着地目標角度)はすでに設定されている。ここで、立脚の右足平10Rの基準点10RPの位置RP1を中心とし、半径Rの円40を算出する。半径Rは実施例1で説明した角度依存距離に等しい距離とする。角度依存距離を算出する際の角度は、左足平10Lの離地位置LP1での角度でもよいし、左足平10Lの着地目標位置LP2での着地目標角度でもよい。また、左足平10Lの、離地位置LP1での角度と着地目標位置LP2での着地目標角度との中間の角度で、角度依存距離が最小となる距離を半径Rとしてもよい。
いずれの場合でも角度依存距離は、立脚の足平と遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と遊脚の足平の基準点とを着地面へ投影した際の両基準点の間の距離として表される。
左足平10Lの基準点10LPを位置LP1からLP2に移動させる3次元移動軌跡を着地面内に投影した軌跡42がこの円40と交差しないようにその3次元移動軌跡を生成する。左足平10Lの基準点10LPの3次元移動軌跡として最も好ましいのは、その3次元移動軌跡を着地面内へ投影した軌跡42が円40と交差することなく、かつ左足平10Lの基準点10LPが位置LP1から位置LP2へ最短距離で到達する軌跡である。その意味では着地面へ投影した軌跡42は円40に接する弧を描くように生成されることが好ましい。
上記により左足平10Lの基準点10LPの3次元移動軌跡を着地面に投影した軌跡42を左足平10Lの基準点10LPが通過しても左足平10Lは少なくとも右足平10Rと所定の余裕をもって干渉しない。着地面に投影した軌跡42に上記制限を設けると、遊脚足平の3次元的移動軌跡も立脚の各リンクに干渉しないことが判明している。さらに上記制限を加えると、遊脚の足平だけでなく遊脚のリンクが立脚のリンクと干渉することもほとんどないことが判明している。
実施例3では遊脚の足平の基準点の3次元移動軌跡について、その軌跡を着地面に投影した軌跡に対して上述した制限を加えることで、遊脚の足平の基準点の3次元移動軌跡を遊脚の足平が立脚のリンクに干渉しないようにすることができる。このとき、各関節角の角度を明示的に指定する必要はない。また遊脚の足平と立脚の各リンクとの干渉チェックを行う必要がない。遊脚の足平の基準点の3次元移動軌跡を着地面に投影した軌跡について制限を加えるのみである。その制限が、「遊脚の足平の基準点を離地時の位置から次の着地目標位置に移動させる3次元移動軌跡を着地面内に投影した軌跡が、立脚の足平の基準点の位置を中心とするとともに角度依存距離を半径とする円と交差しない」という簡単な条件となる。遊脚の足平の基準点の移動軌跡を求める演算をより高速化できる。特に円の方程式という極めて単純な式により遊脚の足平が立脚のリンクに干渉しないよう歩容データを求めることができる。遊脚の足平の基準点の移動軌跡を簡単な計算により求めることができる。
上記処理をコンピュータで行うことで、遊脚の足平の基準点の3次元移動軌跡を高速に計算できる歩容データ作成装置を実現することができる。この歩容データ作成装置をロボットに実装することで、外部から歩行経路をリアルタイムに与える場合であっても、足平同士の干渉を回避しつつロボットを歩行させることができる。遊脚の足平の基準点の3次元移動軌跡を高速に計算できるのでロボットの動作が緩慢となることがない。スムーズで機敏な歩行をロボットに行わせることができる。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
実施例1の着地許可領域を説明する図である。 足平が回転したときの両足平間の距離の変化を説明する図である。 実施例2の遊脚の足平の着地可能領域を説明する図である。 遊脚の足平の基準点の着地目標位置として設定可能な領域を説明する図である。 実施例2の処理を説明するフローチャート図である。 実施例3による遊脚の足平の基準点の移動軌跡を着地面に投影した軌跡を説明する図である。 ロボットの概要と座標系を説明する図である。 着地許可領域を設定するための原理を説明する図である。 足平の着地目標角度に依存する着地可能領域を設定するための原理を説明する図である。
符号の説明
10L、10R:足平
12L、12R:基準線
20:着地許可領域
22:最大着地可能領域
42:遊脚足平基準点の移動軌跡を着地面へ投影した軌跡
100:ロボット

Claims (7)

  1. 脚式ロボットの各脚に備えられた足平に固定された基準点の位置の時系列的変化を示す歩容データを作成する方法であり、
    足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、
    立脚の足平に定められた基準線と遊脚の足平に定められた基準線とが遊脚が着地する際になす角度(以下、着地目標角度という)を設定する工程と、
    立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と着地する際の遊脚の足平の基準点との間の距離(以下、角度依存距離という)を着地目標角度に応じて算出する工程と、
    立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地する際の遊脚の足平の基準線に平行に伸びる第1の直線を計算する工程と、
    前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる第2の直線を計算する工程と、
    遊脚の足平の基準点を着地させる目標位置(以下、着地目標位置という)を、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域(以下、着地許可領域という)に設定する工程と、
    を含むことを特徴とする歩容データ作成方法。
  2. 前記角度依存距離を算出する工程は、足平の外周に接する矩形を設定し、
    前記角度依存距離は、足平の基準点から爪先に相当する前記矩形の一辺までの距離に着地目標角度の正弦を乗じた距離と、足平の基準点から足平の内側に相当する前記矩形の一辺までの距離に着地目標角度の余弦を乗じた距離と、所定距離を加算した距離であることを特徴とする請求項1に記載の歩容データ作成方法。
  3. 遊脚の足平の基準点の着地目標位置を設定する工程は、
    着地目標角度から着地可能領域を演算し、着地許可領域内でかつ着地可能領域内に遊脚の足平の基準点の着地目標位置を設定することを特徴とする請求項1又は2に記載の歩容データ作成方法。
  4. 着地目標角度がゼロのときの着地可能領域は、遊脚を爪先方向に最大に振り出して着地するときと踵方向に最大に振り出して着地するときの足平の基準点間の距離を長径とし、遊脚を側方に最大に振り出して着地するときと前記側方とは反対の方向に最大に振り出して着地するときの足平の基準点間の距離を短径とする楕円であり、
    着地目標角度が最大のときの着地可能領域は、長径と短径が略ゼロの点であり、
    着地目標角度が中間値のときの着地可能領域は、前記楕円と点を前記中間値で按分した楕円であることを特徴とする請求項3に記載の歩容データ作成方法。
  5. 脚式ロボットの各脚に備えられた足平に固定された基準点の位置の時系列的変化を示す歩容データを作成する方法であり、
    足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、
    立脚の足平に定められた基準線と遊脚の足平に定められた基準線とがなす角度を設定する工程と、
    前記工程で設定された角度から、立脚の足平と遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と遊脚の足平の基準点とを着地面へ投影した際の両基準点の間の距離(以下、角度依存距離という)を算出する工程と、
    遊脚の足平の基準点の移動軌跡を着地面へ投影した軌跡が、立脚の足平の基準点を中心とするとともに半径が前記角度依存距離に等しい円と接する弧を描く遊脚の足平の基準点の軌跡を設定する工程と、
    を含むことを特徴とする歩容データ作成方法。
  6. 前記角度依存距離を算出する工程は、足平の外周に接する矩形を設定し、
    前記角度依存距離は、足平の基準点から爪先に相当する前記矩形の一辺までの距離に前記「角度を設定する工程」で設定された角度の正弦を乗じた距離と、足平の基準点から足平の内側に相当する前記矩形の一辺までの距離に前記「角度を設定する工程」で設定された角度の余弦を乗じた距離と、所定距離を加算した距離であることを特徴とする請求項5に記載の歩容データ作成方法。
  7. 脚式ロボットの各脚に備えられた足平に固定された基準点の位置の時系列的変化を示す歩容データを作成する装置であって、
    足平の前後方向に伸びており、前記ロボットが両足平を揃えたときに互いに平行となるような基準線を各足平に対して定めるとともに、
    ロボットの歩行経路の曲率半径から、立脚の足平の基準線と遊脚の足平の基準線とが遊脚が着地する際になす角度(以下、着地目標角度という)を設定する手段と、
    立脚の足平と着地する際の遊脚の足平との接触を回避するのに必要な距離を維持するための、立脚の足平の基準点と遊脚の足平の基準点との間の距離(以下、角度依存距離という)を着地目標角度に応じて算出する手段と、
    立脚の足平の基準点と着地する際の遊脚の足平の基準点を含む平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚が着地するときの遊脚の足平の基準線に平行に伸びる第1の直線を計算する手段と、
    前記平面内であって、立脚の足平の基準点から下ろした垂線の長さが角度依存距離に等しく、かつ遊脚側に位置するとともに、立脚の足平の基準線に平行に伸びる第2の直線を計算する手段と、
    遊脚の足平の基準点を着地させる目標位置を、前記平面内において、前記第1の直線又は前記第2の直線によって仕切られた領域であって、遊脚側の領域に設定する手段と、
    を有することを特徴とする歩容データ作成装置。
JP2005193269A 2005-07-01 2005-07-01 脚式ロボットの歩容データ作成方法と歩容データ作成装置 Expired - Fee Related JP4821188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005193269A JP4821188B2 (ja) 2005-07-01 2005-07-01 脚式ロボットの歩容データ作成方法と歩容データ作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005193269A JP4821188B2 (ja) 2005-07-01 2005-07-01 脚式ロボットの歩容データ作成方法と歩容データ作成装置

Publications (2)

Publication Number Publication Date
JP2007007793A JP2007007793A (ja) 2007-01-18
JP4821188B2 true JP4821188B2 (ja) 2011-11-24

Family

ID=37746915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005193269A Expired - Fee Related JP4821188B2 (ja) 2005-07-01 2005-07-01 脚式ロボットの歩容データ作成方法と歩容データ作成装置

Country Status (1)

Country Link
JP (1) JP4821188B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5633166B2 (ja) * 2010-03-23 2014-12-03 トヨタ自動車株式会社 ロボット、及びその制御方法
JP5435729B2 (ja) * 2010-03-26 2014-03-05 トヨタ自動車株式会社 脚式ロボットの歩行着地位置計画方法
JP5945419B2 (ja) * 2012-01-10 2016-07-05 本田技研工業株式会社 脚式移動ロボットの脚体運動軌道生成装置。

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4225969B2 (ja) * 2002-04-26 2009-02-18 本田技研工業株式会社 脚式移動ロボットの制御装置および足跡決定装置

Also Published As

Publication number Publication date
JP2007007793A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
JP6137155B2 (ja) 干渉回避方法、制御装置及びプログラム
US11022983B2 (en) Gait control method, device, and terminal device for biped robot
JP6075343B2 (ja) 走行ロボット、その動作計画方法及びプログラム
Brost Computing metric and topological properties of configuration-space obstacles
JP5222971B2 (ja) 歩行ロボット装置及びその制御プログラム
EP4045390B1 (en) Dynamic planning controller
US20130297058A1 (en) Decomposition of 3d geometry into developable surface patches and 2d cut patterns
WO2017181976A1 (zh) 提高六足机器人行走稳定性的步态规划方法
US11865787B2 (en) Method and system for additive manufacturing
JP4821188B2 (ja) 脚式ロボットの歩容データ作成方法と歩容データ作成装置
US9964956B2 (en) Operating environment information generating device for mobile robot
Choi et al. Towards a natural motion generator: A pipeline to control a humanoid based on motion data
Chen et al. Redirected walking strategies in irregularly shaped and dynamic physical environments
CN100429677C (zh) 由数据驱动的基于草图的三维人体动作的创作和编排方法
JP2015175664A (ja) 地形判断装置、及び脚式移動ロボット
Smogavec et al. A fast algorithm for constructing approximate medial axis of polygons, using Steiner points
JP5435729B2 (ja) 脚式ロボットの歩行着地位置計画方法
JP5310236B2 (ja) 脚式ロボットとその制御方法
Miao et al. Optimal tripod turning gait generation for hexapod walking machines
Chestnutt Navigation and gait planning
CN113478480B (zh) 一种横折臂布料机的轨迹规划方法
JP6848761B2 (ja) 物体間距離評価方法及び相対的に移動する物体間の干渉評価方法
JP4487923B2 (ja) 設計データ生成装置及び設計データ生成プログラム
KR20230124658A (ko) 감독된 자율 파지를 위한 사용자 인터페이스
CN113223030A (zh) 玻璃涂胶方法及装置、电子设备和储存介质

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

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4821188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees