JP3982442B2 - 着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム - Google Patents
着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム Download PDFInfo
- Publication number
- JP3982442B2 JP3982442B2 JP2003093565A JP2003093565A JP3982442B2 JP 3982442 B2 JP3982442 B2 JP 3982442B2 JP 2003093565 A JP2003093565 A JP 2003093565A JP 2003093565 A JP2003093565 A JP 2003093565A JP 3982442 B2 JP3982442 B2 JP 3982442B2
- Authority
- JP
- Japan
- Prior art keywords
- waist
- posture
- joint
- gait data
- robot
- 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
Links
Images
Landscapes
- Manipulator (AREA)
- Toys (AREA)
Description
【発明の属する技術分野】
本発明は、左脚リンクと腰と右脚リンクから構成される機械系を備え、その機械系に存在する複数の関節を利用して、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットの制御技術に関する。
【0002】
【従来の技術】
左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットが開発されている。通常は、腰と左上腿が左股関節によって接続され、左上腿と左下腿が左膝関節で接続され、左下腿と左足先が左足首関節で接続され、腰と右上腿が右股関節によって接続され、右上腿と右下腿が右膝関節で接続され、右下腿と右足先が右足首関節で接続されている。左脚リンクと腰と右脚リンクで構成される機械系には複数の関節が存在しており、その関節を利用することによって、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることができる。
【0003】
左脚リンクと腰と右脚リンクの相対的姿勢を変化させる場合、結果として歩行した結果が得られるように、左脚リンクと腰と右脚リンクの相対的姿勢を変化させなければならない。
このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。歩容データは、左足先と腰と右足先の位置と姿勢を指示するデータを経時的に記憶している。経時的に変化する左足先と腰と右足先の位置と姿勢を指示するデータに従って、左脚リンクと腰と右脚リンクの相対的姿勢を経時的に変化させることによってロボットは歩行する。
【0004】
歩容データの作成の段階では、左脚リンクと腰と右脚リンクの相対的姿勢の変化を想定してデータを作成する。立脚が接地している間に、遊脚の足先を上昇させ、前方に移動させ、ついで下降させることによって遊脚を一歩すすめて着地させる歩容データを作成する。
【0005】
左脚リンクと腰と右脚リンクを備えているロボットは重量を持ち、構成部材が撓むことが避けられない。構成部材が撓むと、遊脚の足先位置は、歩容データが指示する足先位置よりも下がってしまう。遊脚の足先位置が下がってしまうと、歩容データの上では遊脚が着地すると想定しているタイミングよりも早いタイミングで着地してしまう。即ち、歩容データでは遊脚を下降させて着地させることを意図している間に着地してしまう。遊脚を下降させている途中で遊脚が着地すると、着地した後もロボットは腰に対して遊脚を下降させつづけることから、結果としては着地した脚が床を蹴ってしまう。着地脚が床を蹴ると、着地時の衝撃が大きくなってロボットの動作が不安定になる。そのために、高速で歩行できないという問題が生じている。また、外観上は着地時に床を2回踏むように見え、違和感をもたらしている。
【0006】
着地衝撃を緩和する技術が提案されている。特許文献1には、足裏部に衝撃緩和部材を装着することによって着地ショックを緩和する技術が開示されている。特許文献2には、腰に対して立脚を下降させて遊脚を上昇させる上下リンクを採用し、下降する遊脚を立脚に対して持ち上げることによって静かに着地させる技術が開示されている。
【0007】
【特許文献1】
特開平11―33941号公報
【特許文献2】
特開2001−62761号公報
【0008】
【発明が解決しようとする課題】
足裏部に衝撃緩和部材を装着することによって対策する技術では、十分な衝撃緩和能力を確保しようとするとロボットの姿勢が不安定になるというトレードオフの関係が存在し、限界がある。
腰に対して立脚を下降させて遊脚を上昇させる上下リンクを採用し、下降する遊脚を立脚に対して持ち上げる技術では、本来は必要とされない上下リンクを付加する必要がある。また、下降する遊脚を立脚に対して持ち上げるプログラムが必要とされるところ、そのプログラムをロボットの種類毎に、あるいはロボットの動作毎に固有に作成しなければならない。剛性が低くて撓みやすいロボットにはそれを補償するプログラムが必要とされ、ロボットが高速で歩行するために慣性の影響を受けて撓む場合にはそれを補償するプログラムが必要とされる。ロボットの種類毎あるいはロボットの動作モード毎に固有のプログラムを作成する必要があり、ひどく面倒な作業が必要とされる。さらには、予期せぬ事象、たとえば予期せぬ物体と干渉して予期せぬ撓み等が生ずれば、あらかじめ用意されているプログラムによっては着地衝撃を緩和することができない。
【0009】
【課題を解決するための手段と作用】 本発明で創作されたロボットは、左足先と腰と右足先の位置と姿勢を指示する歩容データから、左脚リンクと腰と右脚リンクから構成される機械系に存在する複数の関節の各関節角を計算する関節角群計算手段と、各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータとを備えおり、指示された歩容データに従って左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットに関する。本発明で創作されたロボットは、着地衝撃を緩和するために、腰の姿勢を計測する腰姿勢計測手段と、歩行ロボットが左右の脚リンクの一方で立脚しているときに、指示された腰の姿勢と計測された腰の姿勢の差から、その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する手段と、その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する手段と、腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する手段が付加されている。
【0010】
本発明者の研究によって、歩容データ上で遊脚が着地すると想定しているタイミングよりも早いタイミングで着地してしまうのは、もっぱら立脚から腰に至る機械系に生じる撓みに起因しており、腰から遊脚に至る機械系にはほとんど撓みが発生しないことを確認した。腰の姿勢が変化するために、腰に対する遊脚の姿勢を指示された姿勢に一致させても、遊脚の高さが指示されたものから下がってしまうのであり、腰の姿勢を指示された姿勢に修正できれば、遊脚の高さは指示された高さによく一致し、着地タイミングがずれないことを確認した。
そこで、本発明のロボットは、歩容データで指示された腰の姿勢と、腰姿勢計測手段で計測された腰の姿勢の差を計算する。本発明のロボットでは、立脚リンクに存在する関節の関節角を修正することによって、指示された腰の姿勢と実際の腰の姿勢を近づける。例えば、若干は正確性に欠けるけれども簡単化して説明すると、腰が予定よりも1度深く前傾していれば、立脚の股関節において腰が1度だけ後傾するように関節角を修正する。すると、腰の姿勢は指示された姿勢によく近似するようになり、腰から遊脚に至る機械系にはほとんど撓みが発生しないことから、遊脚の高さは指示された高さによく一致し、着地タイミングがずれることがない。歩容データに従って遊脚を下降させている途中で遊脚が着地するために、着地した後も腰に対して遊脚を下降させつづけ、結果としては着地した脚で床を蹴ってしまう現象は生じない。
腰の姿勢を歩容データが指示する姿勢に修正するためには、次の処理、即ち、
(1) 歩容データが指示する腰の姿勢と、実測された腰の姿勢の差を計算し、
(2) その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算し、
(3) その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正し、
(4) 腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する処理をすればよい。
上記の処理をすれば、先に説明した例の場合、前記(3)によって、腰を1度だけ後傾させる股関節の関節角が計算される腰の位置と姿勢を指示する歩容データに修正される。また、前記(4)によって、腰の位置と姿勢を指示するデータの修正に追従して遊脚リンクの足先の位置と姿勢を指示するデータが修正され、腰と遊脚リンクの相対的姿勢を維持する。
本発明のロボットによると、歩容データ上で遊脚が着地すると想定しているタイミングで着地するために、接地脚が床を蹴る現象が抑制され、床の2度踏みという現象も生じない。
【0011】
指示された腰の姿勢と計測された腰の姿勢の差を解消するのに必要な立脚リンクの股関節の関節角の修正量を計算することが好ましい。経験的に、立脚から腰に至る機械系の撓み後の形状は、股関節の関節角がずれたときに生じる機械系の形状によく一致しており、股関節の関節角を修正すると、撓みによる腰の姿勢のずれをよく解消することができる。
【0012】
ただし、修正する関節は股関節に限られず、立脚リンクの足首関節の関節角を修正することによって、指示された腰の姿勢と計測された腰の姿勢の差を解消するようにしてもよい。
【0013】
ロボットの左右方向の剛性が高く、腰の左右方向の姿勢ずれが問題にならない場合には、立脚の膝の関節角を修正することによって、腰の前後方向の姿勢ずれに対策することができる。
立脚の股関節や足首関節は、腰の左右方向の姿勢をも修正できるために、股関節または足首関節で対応すると、腰の前後方向と左右方向の姿勢を修正して着地タイミングがずれることを防止することができる。
【0014】
股関節、膝関節、足首関節のいずれかで修正する代わり、複数の関節を組合わせて修正するようにしてもよい。この場合、各関節の修正量の比を予め決定しておく。例えば、腰姿勢の変化に対する股関節の修正量と足首関節の修正量の比を予め決めておくのである。例えば、股関節の修正量と足首関節の修正量の比が2:1であれば、腰姿勢の3度の変化に対して、股関節の関節角が2度修正され、足首関節の関節角が1度修正されるような腰の位置と姿勢を指示するデータに修正するのである。
立脚リンクに存在する複数関節の関節角の修正量の関係を予め決定しておき、その関係を利用して、指示された腰の姿勢と計測された腰の姿勢の差を解消するのに必要な立脚リンクに存在する各関節の関節角の修正量を計算するようにすると、各関節の関節角の修正量は少なくてすみ、ロボットの歩行姿勢を意図した姿勢に維持しやすい。
【0015】
本発明は、ロボットの新規な制御方法ということもできる。この制御方法では、歩行ロボットが左右の脚リンクの一方で立脚しているときに、左足先と腰と右足先の位置と姿勢を指示する歩容データを、
(1) 修正前の歩容データで指示された腰の姿勢と、実際の腰の姿勢の差を求める工程と、
(2) その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する工程と、
(3) その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する工程と、
(4) 腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する工程と、
を経て修正し、
(5) 修正された歩容データをロボットに指示する。
この制御方法によると、歩容データ上で遊脚が着地すると想定しているタイミングで着地するために、接地脚が床を蹴る現象が抑制され、床の2度踏みという現象も生じない。
【0016】
本発明はまた、左足先と腰と右足先の位置と姿勢を指示する歩容データを修正するプログラムを創作した。創作されたプログラムは、コンピュータに、
(1) 修正前の歩容データで指示された腰の姿勢と、実際の腰の姿勢の差を求める処理と、
(2) その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する処理と、
(3) その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する処理と、
(4) 腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する処理を実行させる。
このプログラムで修正された歩容データをロボットに指示すると、歩容データ上で遊脚が着地すると想定しているタイミングで着地するために、接地脚が床を蹴る現象が抑制され、床の2度踏みという現象も生じない。
【0017】
【実施の形態】
以下に説明する実施例の主要な特徴を最初に列記する。
(形態1) 歩容データ修正プログラムは、リアルタイムで歩容データを修正する。
(形態2) 腰の姿勢計測手段はジャイロであり、腰の前後方向の傾斜角と、腰の左右方向の傾斜角を計測する。
【0018】
【実施例】
図1は、左脚リンク47と腰1と右脚リンク17から構成される機械系を備えた2足歩行ロボットの機械的構成を示す。
左脚リンク47は、左上腿48と左膝関節50と左下腿52と左足首関節58と左足先62を備える。左膝関節50はピッチ軸yの回りの関節角が可変であり、左足首関節58はピッチ軸yの回りの関節角とロール軸xの回りの関節角が可変である。図1では、図示の明瞭化のために、関節が関節角を変えるアクチュエータで代表されている。例えば参照番号50は、膝関節と膝関節の関節角を変えるアクチュエータに共通的に用いられる。参照番号54は、足首関節58のピッチ軸yの回りの関節角を変えるアクチュエータであり、参照番号56は、ロール軸xの回りの関節角を変えるアクチュエータである。左足先62には、左足先62と床との間で作用する力、この場合、ロール軸x方向の力と、ピッチ軸y方向の力と、重力線z方向の力と、ロール軸x回りのモーメントと、ピッチ軸y回りのモーメントと、重力線z回りのモーメントを計測する6軸力センサ60が取り付けられている。
左右の脚リンク17,47は左右対称であり、右脚リンク17は、右上腿18と右膝関節20と右下腿22と右足首関節28と右足先32を備える。右膝関節20はピッチ軸yの回りの関節角が可変であり、右足首関節28はピッチ軸yの回りの関節角とロール軸xの回りの関節角が可変である。右足先32にも、6軸力センサ30が取り付けられている。
腰1は、腰プレート8と腰柱4を備えており、両者の間には腰関節6が設けられている。腰柱4には、腰柱4のピッチ軸yの回りの傾斜角とロール軸x回りの傾斜角と重力線z軸回りの回転角を計測するジャイロ2が固定されている。腰柱4のピッチ軸yの回りの傾斜角とロール軸xの回りの傾斜角は、腰関節6が回転しても影響を受けない。
【0019】
左脚リンク47と腰1は、左股関節46で接続されている。左股関節46は、重力線z軸の回りの関節角を変えるアクチュエータ40と、ピッチ軸yの回りの関節角を変えるアクチュエータ42と、ロール軸xの回りの関節角を変えるアクチュエータ44を備えている。右脚リンク17と腰1は、右股関節16で接続されている。右股関節16は、重力線z軸の回りの関節角を変えるアクチュエータ10と、ピッチ軸yの回りの関節角を変えるアクチュエータ12と、ロール軸xの回りの関節角を変えるアクチュエータ14を備えている。
【0020】
図2は、ジャイロ2が計測する傾斜角を図式化しており、腰柱4に沿って伸びる腰姿勢ベクトルがWで示されている。(1)の64,66,68は、ベクトルWをロール軸xとピッチ軸yと重力軸zに沿って分解した成分ベクトルを示している。(2)のWxzはWのxz面への投影ベクトルを示し、(3)のWyzはWのyz面への投影ベクトルを示し、(4)のWxyはWのxy面への投影ベクトルを示している。ジャイロ2は、(2)のピッチ軸y回りのピッチ角Wαと、(3)のロール軸x回りのロール角Wβと、(4)の重力線z回りのヨー角Wγを計測することができる。腰の姿勢は、ピッチ角Wαと、ロール角Wβと、ヨー角Wγによって実測することができる。
【0021】
図1の機械系を利用して歩行する場合、結果として歩行した結果が得られるように、左脚リンク47と腰1と右脚リンク17の相対的姿勢を変化させなければならない。
このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。図3に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、左足先と腰と右足先の位置と姿勢を指示する。左足先と腰と右足先の位置を指示するために、左足先62には基準点L0が定められており、右足先32には基準点R0が定められており、腰1には基準点W0が定められている。左足先と腰と右足先の姿勢を指示するために、左足先62に垂直なベクトルLが想定されており、右足先32に垂直なベクトルRが想定されており、腰柱4に沿って伸びるベクトルWが想定されている。図3に示すように、歩容データは、グローバル座標系において、左足先62の基準点L0のx、y、z座標、右足先32の基準点R0のx、y、z座標、腰1の基準点W0のx、y、z座標を指示する。また、左足先62に垂直なベクトルLのピッチ角Lαと、ロール角Lβと、ヨー角Lγを指示し、右足先32に垂直なベクトルRのピッチ角Rαと、ロール角Rβと、ヨー角Rγを指示し、腰柱4に沿って伸びるベクトルWのピッチ角Wαと、ロール角Wβと、ヨー角Wγを指示する。図4に示すように、歩容データは、左足先と腰と右足先の位置と姿勢を指示するデータを経時的に記憶している。経時的に変化する左足先と腰と右足先の位置と姿勢を指示する歩容データに従って、左脚リンクと腰と右脚リンクの相対的姿勢を経時的に変化させることによってロボットは歩行する。
【0022】
ロボットは、図5に示すように、左足先と腰と右足先の位置と姿勢を指示する歩容データを入力して、左股関節46のz軸回りの関節角とy軸回りの関節角とx軸回りの関節角と、左膝関節50のy軸回りの関節角と、左足首関節58のy軸回りの関節角とx軸回りの関節角と、右股関節16のz軸回りの関節角とy軸回りの関節角とx軸回りの関節角と、右膝関節20のy軸回りの関節角と、右足首関節28のy軸回りの関節角とx軸回りの関節角を計算し、それぞれの関節角を変化させるアクチュエータ40,42,44,50,54,56,10,12,14,20,24,26の回転角を計算する関節角群計算装置70を備えている。関節角群計算装置70は、逆キネマティクスを解いて関節角群を計算する。関節角群計算装置70は、ロボットの歩行動作とリアルタイムで関節角群を計算する。関節角群計算装置70は、物理的にはロボット外にあってもよく、計算された関節角群を無線または有線でロボットに送信して指示するものであってもよい。
歩容データは、予めオフラインで作成しておいてロボットにティーチングしておいてもよい。あるいは、ロボットを動作させながらリアルタイムで歩容データを作成することもできる。ロボットの動作を観測しながらジョイスティック等を操作してロボットの次の動作を指定することによって歩容データを作成することもできる。この場合、リアルタイムで作成された歩容データを無線または有線でロボットに送信し、ロボット内に搭載されている関節角群計算装置70で関節角群をリアルタイムで計算する。あるいは、ロボット外に置かれた関節角群計算装置70で計算された関節角群を無線または有線でリアルタイムでロボットに送信してもよい。
【0023】
ロボットに撓みがなく、床に予期せぬ凹凸がなければ、関節アクチュエータを計算された回転角に調整することで、ロボットは歩容データで指示されたとおりに姿勢を変えて歩行するはずである。
しかしながら実際にはロボットは撓み、床には予期せぬ凹凸が存在する。ロボットが撓むと、遊脚の足先の実際の高さは、歩容データが指示する高さよりも低くなる。遊脚の足先位置が下がってしまうと、歩容データの上では遊脚が着地すると想定しているタイミングよりも早いタイミングで着地してしまう。即ち、歩容データでは遊脚を下降させて着地させることを意図している間に着地してしまう。遊脚を下降させている動作の途中で遊脚が着地すると、着地した後もロボットは腰に対して遊脚を下降させつづけることから、結果としては着地した脚が床を蹴ってしまう。着地脚が床を蹴ると、着地時の衝撃が大きくなってロボットの動作が不安定になる。そのために、高速で歩行できないという問題が生じてしまう。また外観上は着地時に床を2回踏むように見え、違和感をもたらしている。
【0024】
その問題に対処するために、本実施例では、図6に示すように、ジャイロ2を利用して腰の実際のピッチ角Jαを計測し、歩容データが指示するピッチ角Wαとの差Δαを計算する。また、ジャイロ2を利用して腰の実際のロール角Jβを計測し、歩容データが指示するピッチ角Wβとの差Δβを計算する。
【0025】
図7は、腰の実際のピッチ角Jαと歩容データが指示する腰のピッチ角Wαとの間に差Δαが生じる様子と、それに対策する様子を模式的に示している。本発明者の研究によって、歩行中のロボットに生じる撓みは、立脚から腰までの機械系で発生し、腰から遊脚までの間に生じる撓みはほとんど無視できることが判明した。腰のピッチ角がずれるために遊脚の足先位置が下がるのであり、腰のピッチ角が指示されたピッチ角に調整されれば、遊脚の足先位置が下がることはないことを確認した。そこで、撓みによって腰が指示されたピッチ角よりも前傾することを防止できれば、着地タイミングがずれて接地脚が床を蹴る現象を抑制できるはずであることを見出した。
【0026】
(実施例に至る中間技術) 撓みによって腰が指示されたピッチ角よりもΔαだけ前傾するのであれば、腰のピッチ角をΔαだけ後傾させたピッチ角を指示すればよいはずである。そこで、撓みがないときに想定される腰のピッチ角Wαを撓みによって生じるブレΔαだけ後傾させたピッチ角Wα**に修正して歩容データとする技術を試みた。図7に示すように、腰の位置を示す歩容データWx,Wy,Wzを変えないで、腰の姿勢を示すピッチ角をWα**に修正して歩容データとするのである。
しかしながら、この修正方式では、着地衝撃を十分に緩和することができなかった。更なる改良が必要であることがわかった。
【0027】
(着地衝撃を緩和できた実施例) 上記の中間技術の研究から、腰のピッチ角を撓み分だけ補正してWα**に修正するだけでは足りず、関節を中心に補正しなければならないことが判明した。図7に示すように、指示されたピッチ角Wαが撓みによって実際にはJαになるのであれば、腰のピッチ角の指令値をWα**に修正するだけでは足りず、股関節を中心にして腰を後傾させるのに対応して、腰の位置を指示するデータWx,Wy,Wzをも修正すべきであることを見出した。実際に、撓みを考慮しないで作成した歩容データの、腰の位置を指示するデータWx,Wy,Wzと、腰のピッチ角を指示するデータWαを、股関節を中心にΔαだけ後傾させたデータWx*,Wy*,Wz*,Wα*に修正し、修正された歩容データをロボットに指示すると、着地タイミングがずれる現象が抑制でき、着地衝撃を緩和でき、着地時に床を2度踏む現象が解消した。
【0028】
実際には、図8に示すように、遊脚の足先位置のずれは、ピッチ角のずれΔαとロール角のずれΔβが複合して生じることから、撓みを考慮しないで作成した歩容データ(腰の位置を指示するデータWx,Wy,Wzと、腰のピッチ角を指示するデータWαと腰のロール角を指示するデータWβ)を、立脚の股関節を中心に、ピッチ方向にΔαだけ後傾させ、ロール方向にΔβだけ修正した歩容データ(腰の位置を指示するデータWx*,Wy*,Wz*と、腰のピッチ角を指示するデータWα*と腰のロール角を指示するデータWβ*に修正される)に修正すると、着地タイミングがずれる現象が抑制でき、着地衝撃を緩和でき、着地時に床を2度踏む現象が解消した。
【0029】
図9は、腰のピッチ方向のずれ角Δαとロール方向のずれ角Δβを考慮して、腰の位置と姿勢を指示する歩容データを修正する数学を示している。図中Tは、位置と姿勢を示すいわゆる姿勢行列である。ΔTmは、腰のピッチ方向のずれ角Δαとロール方向のずれ角Δβとヨー角のずれΔγを記述する姿勢行列である。以下ではヨー角Δγは影響しないので、ゼロにしておいてもよいし、ジャイロで測定された値を利用してもよい。本実施例では、股関節の3軸の関節角を、ΔTmを補償するように補正する。股関節の位置は移動しないために、ΔTmは長さ成分を持たない(図9では図示の明瞭化のために、ΔTmが長さ成分を持っているように示されているが、実際には方位成分のみを有している)。
補正前の歩容データから計算される立脚の股関節の位置と3軸の関節角を記述する姿勢行列をGTmとし、補正前の歩容データが示す腰の位置と姿勢を指示する姿勢行列をGTwとすると、股関節の3軸の関節角をΔTmだけ回転させることによって、腰の姿勢行列は、下記の式に示されるだけ変化する。即ち、腰の補正行列ΔTwは、
ΔTw=GTw −1・GTm・ΔTm・GTm −1・GTwの式1で計算できる。
腰の位置と姿勢が変化するので、腰と遊脚の足先の相対姿勢を維持するためには、遊脚の足先の位置と姿勢を示す姿勢行列を下記の式に示されるだけ変化させる必要が生じる。補正前の歩容データが示す遊脚の位置と姿勢を指示する姿勢行列をGTregとすると、遊脚の足先の補正行列ΔTwは、
ΔTreg=GTleg −1・GTw・ΔTw・GTw −1・GTlegの式2で計算できる。
【0030】
図10は、ロボットの制御系のブロック図を示している。この制御系はロボットに内蔵されていてもよいし、ロボット外において計算された姿勢行列をリアルタイムでロボットに通信してもよい。姿勢行列から関節角群を計算する手段70(図5)までもをロボット外において、計算された関節角群をリアルタイムでロボットに通信してもよい。
まず腰の位置と姿勢を指示する補正前の歩容データから、腰のピッチ角の指示値Wαを計算し(72)、ロール角の指示値Wβを計算する(74)。一方、ロボット106のジャイロ2の出力をジャイロ座標系での姿勢行列に変換し(110)、さらに腰の座標系から見た姿勢行列に変換し(112)、実際の腰のピッチ角Jαとロール角Jβを計測する(114)。
指示されたピッチ角Wαと計測されたピッチ角Jαの差Δαを計算し、それを比例積分微分処理する(76)。同様に、指示されたロール角Wβと計測されたロール角Jβの差Δβを計算し、それを比例積分微分処理する(78)。比例積分微分処理されたピッチ角の偏差Δαとロール角の偏差Δβから立脚の股関節の回転角の修正量を計算する。即ち、前記したΔTmを計算する(80)。
【0031】
ロボット106の左右の足先に6軸力センサ30,60が設けられており、その出力を立脚判定部108に入力することで、左脚で立脚しているのか、両脚が接地されているのか、右脚で立脚しているのかの別を判定することができる。図10は、左脚で立脚している場合を図示している。
【0032】
左足立脚の間は、前記したΔTmが、左脚の股関節の関節角の修正量とされる(80)。この場合、左脚の足先の位置と姿勢を示す指示データは修正されない(82)。腰の位置と姿勢を示す指示データは、前記した式1によって修正される(84)。遊脚(この場合右脚)の位置と姿勢を示す指示データは、前記した式2によって修正される(86)。
図示はされていないが、右足立脚の間は、前記したΔTmが、右脚の股関節の関節角の修正量とされる。この場合、右脚の足先の位置と姿勢を示す指示データは修正されない。腰の位置と姿勢を示す指示データは、前記した式1によって修正される。遊脚である左脚の位置と姿勢を示す指示データは、前記した式2によって修正される。
左脚の足先の姿勢を示すデータから左足先のピッチ角とロール角が計算され(88)、ローパスフィルタによって高周波成分が除去される。高周波成分が除去された修正量が、補正前の左足先の位置と姿勢を指示するデータに加算されて、左足先の歩容データが修正される。
右脚の足先の姿勢を示すデータから右足先のピッチ角とロール角が計算され(92)、ローパスフィルタによって高周波成分が除去される。高周波成分が除去された修正量が、補正前の右足先の位置と姿勢を指示するデータに加算されて、右足先の歩容データが修正される。
腰の姿勢を示すデータから腰のピッチ角とロール角が計算され(90)、ローパスフィルタによって高周波成分が除去される。高周波成分が除去された修正量が、補正前の腰の位置と姿勢を指示するデータに加算されて、腰の歩容データが修正される。
ローパスフィルタによって高周波成分を除去することによって、ロボットの動作が安定することが検証されている。
【0033】
補正された左足先の歩容データから左足先の姿勢行列が計算され(100)、補正された腰の歩容データから腰の姿勢行列が計算され(102)、補正された右足先の歩容データから右足先の姿勢行列が計算される(104)。そしてロボットには、補正された左足先の姿勢行列と、腰の姿勢行列と、右足先の姿勢行列が指示される。ロボットは、関節角群を計算し、計算された関節角群に調整することによって、腰に対する左脚リンクの相対姿勢と、腰に対する右脚リンクの相対姿勢を変える。その結果、ロボットは歩行する。
【0034】
図10では、左脚で立脚しているものとした。両足で接地している場合には、左足の位置と姿勢を示すデータも右足の位置と姿勢を示すデータも補正しない。さらに、腰の位置を示すデータも補正しない。この場合には、腰の姿勢を指示するデータのみを修正する。図7に示した補正、即ち、腰の姿勢を示すデータWαをずれ分Δα、Δβだけ補正した姿勢データWα**とWβ**に修正する。この場合、腰の姿勢が意図した姿勢に調整される。
【0035】
上記の実施例では、股関節の関節角を修正して腰の姿勢を修正する。股関節に代えて立脚の足首関節の関節角を修正して腰の姿勢を修正することもできる。ピッチ方向でのずれにのみ対処すればよい場合には、立脚の膝関節の関節角を修正することによって腰の姿勢を修正することもできる。
あるいは、股関節と足首関節の両方を使用して(場合によってはさらに膝関節をも利用して)、腰の姿勢を修正するようにすることもできる。股関節と足首関節の両方を使用して腰の姿勢を修正する場合、股関節による修正量と足首関節による修正量を例えば2:1の関係にするといったことを決めておけば、各関節の修正量を計算することができる。
複数関節を組合わせて腰の姿勢をずれを修正するようにすると、ロボットの歩行姿勢を自然なものに維持しやすい。
【0036】
以上、本発明の具体例を詳細に説明したが、これらは例示であり、特許請求の範囲を限定するものではない。また、本発明はいくつかの目的を解決するものであり、全部の目的を同時に解決するときに限って有意義なものではなく、一または二の目的を解決するだけで有意義なものである。
【0037】
【発明の効果】
本発明によると、機械系が撓んで予定しているよりも早期に着地するために着地脚が床を蹴ってしまう現象が抑制され、着地衝撃を緩和することができる。着地脚が床を2度踏む現象も解消される。ロボットは、自然な歩行姿勢で高速で歩行することが可能となる。
【図面の簡単な説明】
【図1】 歩行ロボットの機械構成を示すスケルトン図。
【図2】 ジャイロで計測できるピッチ角、ロール角、ヨー角を示す図。
【図3】 歩容データが利用する基準点と基準ベクトルを示す図。
【図4】 歩容データの内容を模式的に示す図。
【図5】 歩容データから関節角群を計算する計算手段を示す図。
【図6】 指示されたピッチ角と実測されたピッチ角の偏差Δαと、指示されたロール角と実測されたロール角の偏差Δβを示す図。
【図7】 腰姿勢の偏差を股関節を回転させて修正する様子を示す図。
【図8】 腰姿勢の偏差を股関節を回転させて修正する様子を示す図。
【図9】 立脚の股関節を回転することで生じる腰の位置と姿勢を示すデータの補正量と、遊脚の足先の位置と姿勢を示すデータの補正量の関係を図示する図。
【図10】 ロボットの制御系のブロック図。
【符号の説明】
2:ジャイロ
4:腰柱
6:腰関節
8:腰板
16,46:股関節
20,50:膝関節
28,58:足首関節
30,60:6軸力センサ
W:腰の姿勢を示すベクトル
Wα:腰のピッチ角の指示値
Wβ:腰のロール角の指示値
Jα:腰のピッチ角の実測値
Jβ:腰のロール角の実測値
Δα:腰のピッチ角の偏差
Δβ:腰のロール角の偏差
Wα*:腰のピッチ角の修正後の指示値
Wβ*:腰のロール角の修正後の指示値
ΔTm:股関節の3軸の関節角を回転させる姿勢行列
GTm:補正前の歩容データから計算される立脚の股関節の位置と3軸の関節角を記述する姿勢行列
GTw:補正前の歩容データが示す腰の位置と姿勢を指示する姿勢行列
ΔTw:腰の補正行列
ΔTw:遊脚の足先の補正行列
Claims (6)
- 左足先と腰と右足先の位置と姿勢を指示する歩容データから、左脚リンクと腰と右脚リンクで構成される機械系に存在する複数の関節の各関節角を計算する関節角群計算手段と、
各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータとを備え、
指示された歩容データに従って左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットに、
腰の姿勢を計測する腰姿勢計測手段と、
歩行ロボットが左右の脚リンクの一方で立脚しているときに、指示された腰の姿勢と計測された腰の姿勢の差から、その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する手段と、
その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する手段と、
腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する手段と、
が付加されている歩行ロボット。 - 指示された腰の姿勢と計測された腰の姿勢の差を解消するのに必要な立脚リンクの股関節の関節角の修正量を計算することを特徴とする請求項1のロボット。
- 指示された腰の姿勢と計測された腰の姿勢の差を解消するのに必要な立脚リンクの足首関節の関節角の修正量を計算することを特徴とする請求項1のロボット。
- 立脚リンクに存在する複数の関節の関節角の修正量の関係を予め決定しておき、
その関係を利用して、指示された腰の姿勢と計測された腰の姿勢の差を解消するのに必要な立脚リンクに存在する各関節の関節角の修正量を計算することを特徴とする請求項1のロボット。 - 歩行ロボットが左右の脚リンクの一方で立脚しているときに、左足先と腰と右足先の位置と姿勢を指示する歩容データを下記の工程、即ち、
修正前の歩容データで指示された腰の姿勢と、実際の腰の姿勢の差を求める工程と、
その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する工程と、
その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する工程と、
腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する工程と、
を経て修正し、
修正された歩容データをロボットに指示することによってロボットを歩行させるロボットの制御方法。 - ロボットが左右の脚リンクの一方で立脚しているときに、左足先と腰と右足先の位置と姿勢を指示する歩容データを下記の処理を経て修正するプログラムであり、コンピュータに下記の処理、即ち、
修正前の歩容データで指示された腰の姿勢と、実際の腰の姿勢の差を求める処理と、
その差を解消するのに必要な立脚リンクに存在する関節の関節角の修正量を計算する処理と、
その関節の関節角の修正量から、歩容データに含まれる腰の位置と姿勢を指示するデータを修正する処理と、
腰の位置と姿勢を指示するデータを修正する前の歩容データにおける腰と遊脚リンクの足先との相対的姿勢を維持するように、歩容データに含まれる遊脚リンクの足先の位置と姿勢を指示するデータを修正する処理、
を実行させる歩容データの修正プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093565A JP3982442B2 (ja) | 2003-03-31 | 2003-03-31 | 着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093565A JP3982442B2 (ja) | 2003-03-31 | 2003-03-31 | 着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004298983A JP2004298983A (ja) | 2004-10-28 |
JP3982442B2 true JP3982442B2 (ja) | 2007-09-26 |
Family
ID=33406318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003093565A Expired - Fee Related JP3982442B2 (ja) | 2003-03-31 | 2003-03-31 | 着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3982442B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4492322B2 (ja) * | 2004-12-02 | 2010-06-30 | トヨタ自動車株式会社 | 歩行ロボット |
KR100958114B1 (ko) | 2007-12-17 | 2010-05-18 | 한국과학기술연구원 | 인간형 로봇의 보행 안정화 및 자세 제어 방법 |
-
2003
- 2003-03-31 JP JP2003093565A patent/JP3982442B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004298983A (ja) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1120203B1 (en) | Controller for legged mobile robot | |
KR101131773B1 (ko) | 이동 로봇의 보용생성장치 | |
US9120512B2 (en) | Control device and gait generating device for bipedal mobile robot | |
TW544385B (en) | Two-legged walking-type moving apparatus and controlling device and method thereof | |
EP1053835B1 (en) | Leg type mobile robot control apparatus | |
JP3634238B2 (ja) | 脚式移動ロボットの床形状推定装置 | |
JP3629133B2 (ja) | 脚式移動ロボットの制御装置 | |
JP6823569B2 (ja) | 目標zmp軌道の生成装置 | |
US7873436B2 (en) | Gait generator for mobile robot | |
US20130079929A1 (en) | Robot and control method thereof | |
JP4912891B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
JP3726009B2 (ja) | 脚式移動ロボットの床形状推定装置 | |
JP2003236782A (ja) | 二脚歩行式移動装置及びその歩行制御装置 | |
JP5071140B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP3148828B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3148830B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JPH11300661A (ja) | 脚式移動ロボットの制御装置 | |
JP4501601B2 (ja) | 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法 | |
JP3982442B2 (ja) | 着地ショックを緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム | |
JP2009107033A (ja) | 脚式移動ロボット及びその制御方法 | |
JP5040693B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP5035005B2 (ja) | 脚式ロボット、その制御方法、その制御システム | |
JP3726097B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
JP4010267B2 (ja) | 着地衝撃を緩和する歩行ロボット、その制御方法及び歩容データの修正プログラム | |
JP3674787B2 (ja) | ロボット装置の動作制御装置及び動作制御方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070511 |
|
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: 20070612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070625 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130713 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |