[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4010267B2 - Walking robot for mitigating landing impact, its control method, and gait data correction program - Google Patents

Walking robot for mitigating landing impact, its control method, and gait data correction program Download PDF

Info

Publication number
JP4010267B2
JP4010267B2 JP2003093564A JP2003093564A JP4010267B2 JP 4010267 B2 JP4010267 B2 JP 4010267B2 JP 2003093564 A JP2003093564 A JP 2003093564A JP 2003093564 A JP2003093564 A JP 2003093564A JP 4010267 B2 JP4010267 B2 JP 4010267B2
Authority
JP
Japan
Prior art keywords
leg
gait data
height
waist
foot
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
JP2003093564A
Other languages
Japanese (ja)
Other versions
JP2004298982A (en
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 JP2003093564A priority Critical patent/JP4010267B2/en
Publication of JP2004298982A publication Critical patent/JP2004298982A/en
Application granted granted Critical
Publication of JP4010267B2 publication Critical patent/JP4010267B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、左脚リンクと腰と右脚リンクから構成される機械系を備え、その機械系に存在する複数の関節を利用して、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットの制御技術に関する。
【0002】
【従来の技術】
左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットが開発されている。通常は、腰と左上腿が左股関節によって接続され、左上腿と左下腿が左膝関節で接続され、左下腿と左足先が左足首関節で接続され、腰と右上腿が右股関節によって接続され、右上腿と右下腿が右膝関節で接続され、右下腿と右足先が右足首関節で接続されている。左脚リンクと腰と右脚リンクで構成される機械系には複数の関節が存在しており、その関節を利用することによって、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることができる。
【0003】
左脚リンクと腰と右脚リンクの相対的姿勢を変化させる場合、結果として歩行した結果が得られるように、左脚リンクと腰と右脚リンクの相対的姿勢を変化させなければならない。
このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。歩容データは、左足先と腰と右足先の位置と姿勢を指示するデータを経時的に記憶している。経時的に変化する左足先と腰と右足先の位置と姿勢を指示するデータに従って、左脚リンクと腰と右脚リンクの相対的姿勢を経時的に変化させることによってロボットは歩行する。
【0004】
歩容データの作成段階では、左脚リンクと腰と右脚リンクの相対的姿勢の変化を想定して歩容データを作成する。左脚と右脚の両リンクの足先が接地している状態から、一方の脚リンクの足先を上昇させ、前方に移動させ、ついで下降させることによって遊脚リンクを一歩すすめて着地させる歩容データを作成する。
【0005】
左脚リンクと腰と右脚リンクを備えているロボットは重量を持ち、構成部材が撓むことが避けられない。構成部材が撓むと、遊脚リンクの足先高さは、歩容データが指示する足先高さよりも下がってしまう。遊脚リンクの足先高さが下がってしまうと、歩容データ上で遊脚リンクが着地すると想定しているタイミングよりも早いタイミングで着地してしまう。即ち、歩容データでは遊脚リンクの足先を下降させて着地させることを意図している最中に着地してしまう。遊脚リンクの足先を下降させている途中で遊脚リンクの足先が着地すると、着地した後もロボットは腰に対して遊脚リンク(歩容データのうえではまだ着地していないので遊脚となっている)の足先を下降させつづけることから、結果としては着地した脚が床を蹴ってしまう。着地脚が床を蹴ると、着地衝撃が大きくなってロボットの動作が不安定になる。そのために、ロボットが高速で歩行できないという問題が生じている。また外観上は着地時に床を2回踏むように見える動作となって現われ、違和感をもたらしている。
【0006】
着地衝撃を緩和する技術が提案されている。特許文献1には、足裏部に衝撃緩和部材を装着することによって着地衝撃を緩和する技術が開示されている。特許文献2には、腰に対して立脚リンクを下降させて遊脚リンクを上昇させる上下リンク機構を採用し、下降する遊脚リンクを立脚リンクに対して持ち上げることによって遊脚リンクを静かに着地させる技術が開示されている。
【0007】
【特許文献1】
特開平11―33941号公報
【特許文献2】
特開2001−62761号公報
【0008】
【発明が解決しようとする課題】
足裏部に衝撃緩和部材を装着することによって十分な衝撃緩和能力を確保しようとすると、立脚中のロボットの姿勢が不安定になるというトレードオフの関係が存在し、限界がある。
腰に対して立脚リンクを下降させて遊脚リンクを上昇させる上下リンク機構を採用し、下降する遊脚リンクを立脚リンクに対して持ち上げる技術では、本来は必要とされない上下リンク機構を付加する必要がある。また、下降する遊脚リンクを立脚リンクに対して持ち上げるプログラムが必要とされるところ、そのプログラムをロボットの種類毎に、あるいはロボットの動作毎に固有に作成しなければならない。剛性が低くて撓みやすいロボットにはそれを補償するプログラムが必要とされ、ロボットが高速で歩行するために慣性の影響を受けて撓む場合にはそれを補償するプログラムが必要とされる。ロボットの種類毎あるいはロボットの動作モード毎に固有のプログラムを作成する必要があり、ひどく面倒な作業が必要とされる。
【0009】
【課題を解決するための手段と作用】
本発明で創作されたロボットは、左足先と腰と右足先の位置と姿勢を指示する歩容データから、左脚リンクと腰と右脚リンクから構成される機械系に存在する複数の関節の各関節角を計算する関節角群計算手段と、各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータとを備えおり、指示された歩容データに従って左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットに関する。本発明で創作されたロボットは、着地衝撃を緩和するために、接地している足先の高さを指示する歩容データを、腰の高さから遠ざける側に補正する手段が付加されている。
【0010】
接地している足先の高さを指示する歩容データを腰の高さから遠ざける側に補正すると、接地脚の足先に対して腰位置が遠ざけられる。この結果、接地脚が接地している床から腰位置が遠ざけられる。即ち、床を基準にすると腰の位置が上方に持ち上げられる。
腰位置が上方に持ち上げられると、遊脚リンクの足先高さも持ち上げられ、機械系に生じる撓みによって遊脚リンクの足先高さが歩容データで指示される高さよりも下がる現象が補償され、実際の遊脚リンクの足先高さが歩容データで指示される高さによく一致するようになる。このために、歩容データ上で遊脚リンクが着地すると想定しているタイミングよりも早いタイミングで着地してしまうことがない。遊脚リンクの足先を下降させて着地させることを意図している最中に着地してしまうことがないために、着地した脚リンクが床を蹴ってしまうことがなく、着地時に床を2回踏むように見える動作も現われない。
【0011】
接地脚の足先の高さを腰の高さから遠ざけるにあたっては、その距離を、その足先が着地した時点から経時的に増大させ、次に他方の足先が着地する時点までの間に所定距離に調整することが好ましい。
脚が着地して接地脚になった瞬間に急激に腰の高さから遠ざけるのではなく、経時的に増大させて徐々に遠ざけることによって、ロボットの歩行姿勢は安定する。徐々に遠ざけるといってもあまりにゆっくり遠ざけると、撓みによる影響を補償する以前に他方の足先が着地してしまう。遅くとも、他方の足先が次に着地する時点までの間には、撓みによる影響を補償できるだけの距離に調整しておく必要がある。他方の足先が次に着地する時点までの間に、所定距離に調整されていればよく、その時点に先立って所定距離に調整しておくこともできるし、丁度その時点で所定距離となるように調整することもできる。他方の足先が次に着地する時点に先立って所定距離に調整しておくようにすると、歩行速度の大小にかかわらずに対応することができる。
【0012】
接地脚の足先の高さを腰の高さから遠ざけた状態で他方の足先が着地した時点以降には、腰から遠ざける距離を経時的に減少させ、次に当該足先が浮遊する時点までの間にゼロに戻すことが好ましい。
片脚立脚している接地脚の足先の高さを腰の高さから遠ざけた状態で他方の足先が着地すると、他方の足先は意図したタイミングで着地して両脚接地状態に移行する。両脚接地状態に移行した後は、新たに着地した脚の足先の高さを腰の高さから遠ざける一方、もともと接地していた脚の足先の高さを歩容データの指示する高さに戻すことが好ましい。もともと接地していた脚は、次には床から浮遊して遊脚となる脚であり、当該脚の足先が浮遊する時点までの間に補正量がゼロに戻されて歩容データの指示する高さに戻されていれば、歩容データが想定しているタイミングで当該脚の足先が浮遊する。この技術を用いると、着地タイミングと浮遊タイミングの両者が、歩容データが想定しているタイミングに維持される。
【0013】
本発明は、歩行ロボットの新たな制御方法を創作したということもできる。この制御方法では、左足先と腰と右足先の位置と姿勢を指示する歩容データを下記の工程、即ち、
(1) 左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する工程と、
(2) 左足先の高さを指示する歩容データを、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程と、
(3) 右足先の高さを指示する歩容データを、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程によって補正する。
その上で、補正された歩容データをロボットに指示することによってロボットを歩行させる。
「片脚立脚状態を経て両脚立脚状態に至るまでの間」は、「両脚立脚状態の開始時点の前後を含んで」を意味する。重要なことは、両脚立脚状態の開始時点において必要量だけ補正されていることであり、補正量を急激に変化させないためには、両脚立脚状態の開始時点の前後を含んで補正する必要がある。その条件が満たされる限り、補正の開始時点と終了時点には格別の制約はない。もっとも、当該脚の足先が次に浮遊することを予定しているタイミングまでの間には補正が終了して補正量がゼロに戻されていることが好ましいが、それも絶対的に必要とされるわけではない。歩容データが予定する浮遊タイミングからずれても深刻な問題は生じないからである。
【0014】
上記の制御方法を実施するには、歩容データを補正するプログラムが必要とされる。本発明で創作されたプログラムは、コンピュータに下記の処理、即ち、
(1) 左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する処理と、
(2) 左足先の高さを指示する歩容データを、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する処理と、
(3) 右足先の高さを指示する歩容データを、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する処理とを実行させる。
このプログラムを実行すると、補正前の歩容データ上で遊脚リンクの足先が着地すると想定しているタイミングよりも早いタイミングで着地してしまうことがないようにロボットを動作させる歩容データに補正される。遊脚リンクの足先を下降させて着地させることを意図している最中に着地してしまうことがないために、着地した脚が床を蹴ってしまうことがなく、着地時に床を2回踏むように見える動作も現われない。
【0015】
【実施の形態】
以下に説明する実施例の主要な特徴を最初に列記する。
(形態1)遊脚リンクの足先が着地して両脚接地状態に移行した時点で、新たに着地した足先の高さを下げる補正を開始し、もともと接地していて足先の高さを所定距離だけ下げる補正をしている足先の補正量を減少させ始める。もともと接地している脚が次に浮遊して両脚接地状態が終了する時点までの間に、補正を開始した脚の補正量を所定距離に増大させ、補正量を減少させ始めた脚の補正量をゼロに減少させる。
【0016】
【実施例】
図1は、左脚リンク47と腰1と右脚リンク17から構成される機械系を備えた2足歩行ロボット84の機械的構成を示す。
左脚リンク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が回転しても影響を受けない。
【0017】
左脚リンク47と腰1は、左股関節46で接続されている。左股関節46は、重力線z軸の回りの関節角を変えるアクチュエータ40と、ピッチ軸yの回りの関節角を変えるアクチュエータ42と、ロール軸xの回りの関節角を変えるアクチュエータ44を備えている。右脚リンク17と腰1は、右股関節16で接続されている。右股関節16は、重力線z軸の回りの関節角を変えるアクチュエータ10と、ピッチ軸yの回りの関節角を変えるアクチュエータ12と、ロール軸xの回りの関節角を変えるアクチュエータ14を備えている。
【0018】
図1の機械系を利用して歩行する場合、結果として歩行した結果が得られるように、左脚リンク47と腰1と右脚リンク17の相対的姿勢を変化させなければならない。
このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。図2に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、左足先と腰と右足先の位置と姿勢を指示する。左足先と腰と右足先の位置を指示するために、左足先62には基準点L0が定められており、右足先32には基準点R0が定められており、腰1には基準点W0が定められている。左足先と腰と右足先の姿勢を指示するために、左足先62に垂直なベクトルLが想定されており、右足先32に垂直なベクトルRが想定されており、腰柱4に沿って伸びるベクトルWが想定されている。図2に示すように、歩容データは、グローバル座標系において、左足先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γを指示する。図3に示すように、歩容データは、左足先と腰と右足先の位置と姿勢を指示するデータを経時的に記憶している。経時的に変化する左足先と腰と右足先の位置と姿勢を指示する歩容データに従って、左脚リンク47と腰1と右脚リンク17の相対的姿勢を経時的に変化させることによってロボット84は歩行する。
【0019】
ロボットは、図4に示すように、左足先と腰と右足先の位置と姿勢を指示する歩容データを入力して、左股関節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で計算された関節角群を無線または有線でリアルタイムでロボットに送信してもよい。
【0020】
ロボットに撓みがなければ、関節アクチュエータを計算された回転角に調整することで、ロボットは歩容データで指示されたとおりに姿勢を変えて歩行するはずである。
しかしながら実際にはロボットは撓む。ロボットが撓むと、遊脚の足先の実際の高さは、歩容データが指示する高さよりも低くなる。遊脚の足先が下がってしまうと、歩容データ上で遊脚が着地すると想定しているタイミングよりも早いタイミングで着地してしまう。即ち、歩容データでは遊脚の足先を下降させて着地させることを意図している間に着地してしまう。遊脚の足先を下降させている動作の途中で遊脚の足先が着地すると、着地した後もロボットは腰に対して遊脚の足先を下降させつづけることから、結果としては着地した脚の足先が床を蹴ってしまう。着地脚が床を蹴ると、着地時の衝撃が大きくなってロボットの動作が不安定になる。そのために、高速で歩行できないという問題が生じてしまう。また外観上は着地時に床を2回踏むように見え、違和感をもたらしている。
【0021】
本発明者の研究によって、歩行中のロボットに生じる撓みは、ほとんどが立脚で発生することが判明した。立脚が撓むために、腰の高さ(図2の腰基準点W0の高さ)が、歩容データで指示する高さよりも下がってしまうことを確認した。即ち、立脚リンクの足先(図2では左片脚立脚であるので、左足先基準点L0の位置)の高さと腰(腰基準点W0の位置)の高さの差が、歩容データで指示するものよりも接近してしまうことを確認した。立脚が撓んで腰の位置が下がるために、遊脚の足先の高さが、歩容データで指示する高さよりも下がってしまうのであり、腰の位置が下がらなければ、遊脚の足先の着地タイミングはずれない。
【0022】
そこで本実施例では、立脚リンクの撓みによって生じる腰位置の沈み込み量を勘案して、歩容データを補正する。接地している足先の高さを指示する歩容データを、撓みに起因する腰位置の沈み込み量に相当する分だけ、腰の高さから遠ざける側に補正すれば、撓みがないものとして指示する腰位置の高さと、撓みによって沈み込んだ腰位置の高さが一致するはずである。撓み分だけ歩容データを補正することによって、実際の腰位置の高さが歩容データの指示する高さに一致するようになる。この結果、遊脚リンクの実際の足先の高さが歩容データの指示する高さに一致し、着地タイミングがずれなくなる。
【0023】
図5の(1)は補正前の歩容データの左足先の高さの経時的変化を示し、(2)は補正前の歩容データの右足先の高さの経時的変化を示している。着地してから次に浮遊するまでの間は、一定の高さに維持されるように指示している。床に接地している足先の高さは変化しないはずであることに対応している。
ロボットに撓みがなければ、関節アクチュエータを計算された回転角に調整することで、ロボットは歩容データで指示されたとおりに姿勢を変えて歩行するはずである。しかしながらロボットは実際には撓むために、実際の足先の高さは、図5(1)(2)の歩容データが示すものからずれる。具体的には、遊脚の実際の足先高さが下方に移動し、歩容データが指示するほどには足先が持ち上げられない。それが着地タイミングをずらし、着地衝撃を大きなものにする。
それに対処するために、図6に示すように、歩容データの補正手段80が組み込まれている。補正手段80は、ロボットの機械系84に組み込まれていてもよいし、物理的には別の位置に設けられていてもよい。
【0024】
図7は、補正手段80による処理手順を示す。補正処理は、図3に示す歩容データが指定されているすべての時間t1、t2、t3・・の歩容データに対して逐次実行する。
ステップS2では、図5(1)、(2)に例示される補正前の歩容データから、補正対象の歩容データの状態を判別する。ロボットは、(1)左片脚立脚状態と、(2)両脚立脚状態と、(3)右片脚立脚状態と、(4)両脚立脚状態を経てから(1)の左片脚立脚状態に戻る。ここで、左片脚立脚状態とは左脚のみが接地している(従って右脚が遊脚になっている)状態を示し、右片脚立脚状態とは右脚のみが接地している(従って左脚が遊脚になっている)状態を示す。図5(1)、(2)に例示される左右の脚リンクの足先の高さから、補正対象の歩容データが上記(1)〜(4)のいずれの状態にあるかを判別することができる。図3の時間t1、t2、t3・・のそれぞれについて、(1)〜(4)のいずれの状態にあるかを判別することができる。
【0025】
説明の便宜のために、左片脚立脚状態から右脚が着地して両脚立脚状態に移行する瞬間、即ち遊脚であった右脚が着地した瞬間から説明する。この時に計時を始め、ステップS4bの処理を可能とする。ステップS4bでは、右脚が着地して両脚立脚状態に移行した瞬間からの経過時間T1を測定する。右脚が着地して両脚立脚状態に移行した状態では、ステップS6bで、経過時間T1とともに左足補正量を小さくしてゼロに戻す。図7で下向きの補正量は、腰位置に対して足先を遠ざける側の補正量を示している。右脚が着地して両脚立脚状態に移行した状態では、次に左脚が浮遊して右片脚立脚状態に移行するに先立って、左足補正量がゼロに戻る速度で左足補正量を小さくしてゼロに戻す。一方、着地した右脚については、ステップS8bで、腰位置に対して足先を遠ざける側の補正量を経過時間T1とともに大きくし、最大量ΔMAXに達したら、最大量ΔMAXに維持する。右脚が着地して両脚立脚状態に移行した状態では、次に左脚が浮遊して右片脚立脚状態に移行するに先立って、右足補正量が最大量ΔMAXに達する速度で右足補正量を大きくして最大量ΔMAXに維持する。
【0026】
右片脚立脚状態の間は、それに先立って左足補正量がゼロに戻されているのでゼロに維持し(ステップS6c)、接地している右脚補正量は最大量ΔMAXに調整されているので最大量ΔMAXに維持する(ステップS8c)。
【0027】
右脚接地中は遊脚であった左脚が着地した瞬間に計時を始め、ステップS4dの処理を可能とする。ステップS4dでは、左脚が着地して両脚立脚状態に移行した瞬間からの経過時間T2を測定する。左脚が着地して両脚立脚状態に移行した状態では、ステップS8dで、経過時間T2とともに右足補正量を小さくしてゼロに戻す。左脚が着地して両脚立脚状態に移行した状態では、次に右脚が浮遊して左片脚立脚状態に移行するに先立って、右足補正量がゼロに戻る速度で右足補正量を小さくしてゼロに戻す。一方、着地した左脚については、ステップS6dで、腰位置に対して足先を遠ざける側の補正量を経過時間T2とともに大きくし、最大量ΔMAXに達したら、最大量ΔMAXに維持する。左脚が着地して両脚立脚状態に移行した状態では、次に右脚が浮遊して左片脚立脚状態に移行するに先立って、左足補正量が最大量ΔMAXに達する速度で左足補正量を大きくして最大量ΔMAXに維持する。
【0028】
左片脚立脚状態の間は、それに先立って右足補正量がゼロに戻されているのでゼロに維持し(ステップS8a)、接地している左脚補正量は最大量ΔMAXに調整されているので最大量ΔMAXに維持する(ステップS6a)。
【0029】
図5の(3)は撓み分を補償するために補正された左足先の高さの経時的変化を示し、(4)は補正後の歩容データの右足先の高さの経時的変化を示している。
図5では、左脚が着地するとその時以降には左足補正量を増大させ、次に右脚が浮遊して左片脚立脚状態に移行するときに最大量ΔMAXに達する速度で左足補正量を大きくしている。以後左片脚立脚の間は左足補正量を最大量ΔMAXに維持し、最大量ΔMAXに維持している間に右脚が着地する。立脚に撓みが生じても右脚の着地タイミングはずれない。最大補正量ΔMAXは、立脚が撓んで立脚の足先の高さと腰の高さが接近する分を補償する大きさに設定されている。右脚が着地すると、次に遊脚となる左足先の補正量が減じられ、図5では、左足先が遊脚となるときに補正量がゼロに戻されている。左足先が床から浮遊して遊脚となる瞬間がずれることもない。
右脚についても同等であり、右脚が着地するとその時以降には右足補正量を増大させ、次に左脚が浮遊して右片脚立脚状態に移行するときに最大量ΔMAXに達する速度で右足補正量を大きくしている。以後右片脚立脚の間は右足補正量を最大量ΔMAXに維持し、最大量ΔMAXに維持している間に左脚が着地する。立脚に撓みが生じても左脚の着地タイミングはずれない。最大補正量ΔMAXは、立脚が撓んで立脚の足先の高さと腰の高さが接近する分を補償する大きさに設定されている。左脚が着地すると、次に遊脚となる右足先の補正量が減じられ、図5では、右足先が遊脚となるときに補正量がゼロに戻されている。右足先が床から浮遊して遊脚となる瞬間がずれることもない。
【0030】
補正量を増大させる場合、その脚が着地した以降に増大させ、逆の脚が着地するに先立って必要補正量(これを所定補正量ということがある)に増大されておればよい。(5)(6)のように、片脚立脚中に補正量をゆっくり増大させてもよい。(6)のように逆の脚が着地する瞬間に必要補正量に増大されておればよい。(7)に示すように片脚立脚状態になってから増大させてもよいし、(8)に示すように片脚立脚状態になる以前に必要補正量に増大させてもよい。補正量を減少させる場合、その脚が遊脚となる前にゼロに戻されておればよく、(7)に示すように両脚立脚状態となるのを待ってから減少させてもよいし、(8)に示すように遊脚になるのに先立ってゼロに戻してもよい。
【0031】
以上から理解されるように、本実施例では、
(1) 左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する工程と、
(2) 左足先の高さを指示する歩容データを、右足が着地する瞬間に必要補正量に補正させているように、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程と、
(3) 右足先の高さを指示する歩容データを、左足先が着地する瞬間に必要補正量に補正させているように、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程によって補正する。
【0032】
図6は、歩容データ補正手段80とその周辺の手段との関係を示す。歩容データ補正手段80は、補正前の歩容データを入力して補正後の歩容データを出力する。補正前の歩容データは、予めオフラインで作成しておいてロボットにティーチングしておいてもよい。あるいは、ロボットを動作させながらリアルタイムで補正前の歩容データを作成することもできる。ロボットの動作を観測しながらジョイスティック等を操作してロボットの次の動作を指定することによって補正前の歩容データを作成することもできる。この場合、リアルタイムで作成された補正前の歩容データを無線または有線でロボットに送信し、ロボット内に搭載されている関節角群計算手段70で関節角群をリアルタイムで計算する。あるいは、ロボット外に置かれた関節角群計算手段70で計算された関節角群を無線または有線でリアルタイムでロボットに送信してもよい。
【0033】
補正手段80で補正された歩容データは、ロボットの制御手段82に指令値として入力される。ロボット84に搭載されているロボットの計測装置88がロボット84の現在の状態を示す値を把握し、それをロボットの制御手段82に入力する。ロボットの制御手段82は、指令値と現在値を比較し、必要な補正を施して制御に用いる指令値を計算し、関節角群計算手段70に指示する。関節角群計算手段70は、各アクチュエータの回転角、あるいは角速度を計算して関節アクチュエータ86を制御する。ロボットの制御手段82は、いわゆる倒立振子モデルやならい制御モデルを利用して、ロボットの転倒を防いで予期せぬ床の凹凸等の影響を吸収する。
【0034】
図8は、6軸力センサ30,60で検出されるZ軸方向の力を示す。(1)と(2)は、歩容データを補正しないときのZ軸方向の力を示し、(3)と(4)は、歩容データを補正したときのZ軸方向の力を示している。(1)と(3)は、左脚のZ軸方向の力を示し、(2)と(4)は、右脚のZ軸方向の力を示している。
明らかに、歩容データを補正することによってZ軸方向の力は安定し、最大値が減少している。また、補正する前には足先が2度踏みしていていたのに対し、補正すると2度踏み現象は解消する。歩容データを補正することによって、着地衝撃が緩和され、ロボットが円滑に歩行していることが確認される。
【0035】
以上、本発明の具体例を詳細に説明したが、これらは例示であり、特許請求の範囲を限定するものではない。また、本発明はいくつかの目的を解決するものであり、全部の目的を同時に解決するときに限って有意義なものではなく、一または二の目的を解決するだけで有意義なものである。
【0036】
【発明の効果】
本発明によると、機械系が撓んで予定しているよりも早期に着地するために着地脚が床を蹴ってしまう現象が抑制され、着地衝撃を緩和することができる。着地脚が床を2度踏む現象も解消される。ロボットは、自然な歩行姿勢で高速で歩行することが可能となる。
【図面の簡単な説明】
【図1】 歩行ロボットの機械構成を示すスケルトン図。
【図2】 歩容データが利用する基準点と基準ベクトルを示す図。
【図3】 歩容データの内容を模式的に示す図。
【図4】 歩容データから関節角群を計算する計算手段を示す図。
【図5】 補正前の歩容データの足先高さの経時的変化と、補正後の歩容データの足先高さの経時的変化を対比して示す図。
【図6】 ロボットの制御系のブロック図。
【図7】 歩容データの補正処理手順を示す図。
【図8】 足先が床から受ける力を、補正前の歩容データによる場合と、補正後の歩容データによる場合を対比して示す図。
【符号の説明】
2:ジャイロ
4:腰柱
6:腰関節
8:腰板
16,46:股関節
20,50:膝関節
28,58:足首関節
30,60:6軸力センサ
ΔZL:左足先の補正量
ΔZR:右足先の補正量
ΔMAX:必要補正量
[0001]
BACKGROUND OF THE INVENTION
The present invention includes a mechanical system composed of a left leg link, a waist and a right leg link, and uses a plurality of joints existing in the mechanical system to determine the relative posture of the left leg link, the waist and the right leg link. The present invention relates to a control technology of a robot that walks by changing it.
[0002]
[Prior art]
Robots that walk by changing the relative postures of the left leg link, the waist, and the right leg link have been developed. Normally, the waist and left upper thigh are connected by the left hip joint, the left upper thigh and the left lower thigh are connected by the left knee joint, the left lower thigh and the left toe are connected by the left ankle joint, and the waist and the right upper thigh are connected by the right hip joint. The right upper leg and the right lower leg are connected by the right knee joint, and the right lower leg and the right foot are connected by the right ankle joint. The mechanical system composed of the left leg link, the waist, and the right leg link has multiple joints. By using these joints, the relative posture of the left leg link, the waist, and the right leg link is changed. be able to.
[0003]
When the relative postures of the left leg link, the waist, and the right leg link are changed, the relative postures of the left leg link, the waist, and the right leg link must be changed so that a result of walking is obtained as a result.
For this purpose, gait data that indicates the positions and postures of the left toe, waist, and right toe is used. The gait data stores data indicating the position and posture of the left foottip, waist, and right foottip over time. The robot walks by changing the relative postures of the left leg link, the waist and the right leg link over time in accordance with data indicating the positions and postures of the left foot tip, the waist and the right foot tip which change over time.
[0004]
In the gait data creation stage, gait data is created assuming changes in the relative postures of the left leg link, the waist and the right leg link. From the state where the toes of both the left and right leg links are in contact with the ground, the foot of one leg link is lifted, moved forward, and then lowered to move the free leg link one step further and land Create data.
[0005]
A robot having a left leg link, a waist, and a right leg link is heavy, and it is inevitable that the constituent members bend. When the component member bends, the toe height of the free leg link will be lower than the toe height indicated by the gait data. If the toe height of the free leg link falls, the landing will occur at a timing earlier than the timing when the free leg link is assumed to land on the gait data. In other words, the gait data is landed while the foot of the free leg link is intended to be lowered and landed. If the toes of the free leg link land while the toes of the free leg link are being lowered, the robot will still play against the hips after landing (because the gait data has not yet landed, As a result, the landing leg kicks the floor. If the landing leg kicks the floor, the landing impact will increase and the robot will become unstable. For this reason, there is a problem that the robot cannot walk at high speed. On the outside, it appears as if you stepped on the floor twice when landing, creating a sense of incongruity.
[0006]
Technologies to mitigate landing impact have been proposed. Patent Document 1 discloses a technique for mitigating a landing impact by mounting an impact mitigating member on a sole part. Patent Document 2 employs a vertical link mechanism that raises the free leg link by lowering the standing leg link with respect to the waist, and quietly landing the free leg link by lifting the descending free leg link with respect to the standing leg link. Techniques for making them disclosed are disclosed.
[0007]
[Patent Document 1]
Japanese Patent Laid-Open No. 11-33941 [Patent Document 2]
Japanese Patent Laid-Open No. 2001-62761
[Problems to be solved by the invention]
A trade-off relationship exists in which the posture of the robot in a standing position becomes unstable if an attempt is made to secure a sufficient impact mitigation capability by attaching an impact mitigation member to the sole, and there is a limit.
The vertical link mechanism that raises the free leg link by lowering the standing leg link with respect to the waist, and the technology that lifts the descending free leg link with respect to the standing leg link needs to add a vertical link mechanism that is not originally required. There is. Further, when a program for lifting the descending free leg link with respect to the standing leg link is required, the program must be created uniquely for each type of robot or each operation of the robot. A low-rigidity and flexible robot requires a program that compensates for it, and a program that compensates for a robot that flexes under the influence of inertia to walk at high speed is required. It is necessary to create a unique program for each type of robot or each operation mode of the robot, and a very troublesome work is required.
[0009]
[Means and Actions for Solving the Problems]
The robot created in the present invention is based on gait data indicating the positions and postures of the left toe, waist and right toe, and a plurality of joints existing in a mechanical system composed of the left leg link, the waist and the right leg link. A joint angle group calculating means for calculating each joint angle, and an actuator for adjusting the joint angle of each joint to the joint angle calculated by the joint angle group calculating means, and the left leg link according to the instructed gait data And a robot that walks by changing the relative posture of the waist and right leg links. The robot created by the present invention is provided with means for correcting the gait data indicating the height of the grounded toes to the side away from the waist height in order to reduce the landing impact. .
[0010]
When the gait data indicating the height of the grounded toes is corrected to the side away from the waist height, the waist position is moved away from the toes of the grounded legs. As a result, the waist position is moved away from the floor on which the ground leg is grounded. That is, when the floor is used as a reference, the position of the waist is lifted upward.
When the waist position is lifted upward, the toe height of the free leg link is also raised, and the phenomenon that the toe height of the free leg link falls below the height indicated by the gait data due to the bending that occurs in the mechanical system is compensated. The toe height of the actual free leg link matches the height indicated by the gait data. For this reason, it does not land at a timing earlier than the timing at which the free leg link is assumed to land on the gait data. Since the landing leg link is not intended to land while lowering the tip of the free leg link, the landing leg link does not kick the floor, and the floor is The movement that seems to step on does not appear.
[0011]
When moving the height of the toes of the grounding leg away from the height of the waist, the distance is increased over time from the time when the toes landed, and then until the time when the other toes landed. It is preferable to adjust to a predetermined distance.
The walking posture of the robot is stabilized by increasing the distance gradually and gradually moving away from the height of the waist at the moment when the leg reaches the grounded leg after landing. If you move away gradually, but you move too slowly, the other foot will land before compensating for the effects of deflection. At the latest, it is necessary to adjust the distance to the extent that the influence of the deflection can be compensated until the time when the other foot tip lands next. It is only necessary that the distance is adjusted to a predetermined distance until the time when the other foot landing is next, and it is possible to adjust the distance to a predetermined distance before that time, or just at that time, the predetermined distance is reached. It can also be adjusted. If the other foot is adjusted to a predetermined distance before the next landing, it is possible to respond regardless of the walking speed.
[0012]
After the time when the tip of the grounding leg is away from the height of the waist and the other foot has landed, the distance away from the waist is decreased over time, and then the time when the tip of the foot floats It is preferable to return to zero before.
If the tip of the grounded leg that is standing on one leg is away from the height of the waist, the other tip will land at the intended timing and transition to the grounded state on both legs. . After transitioning to the ground contact state of both legs, the height of the foot of the newly landed leg is kept away from the height of the waist while the height of the foot of the leg that was originally grounded is the height indicated by the gait data It is preferable to return to. The leg that was originally in contact with the ground is the leg that floats off the floor and becomes a free leg, and the correction amount is reset to zero until the point where the leg tip floats, indicating the gait data. If it is returned to the height, the toes of the leg float at the timing assumed by the gait data. When this technique is used, both the landing timing and the floating timing are maintained at the timing assumed by the gait data.
[0013]
The present invention can also be said to have created a new control method for a walking robot. In this control method, gait data indicating the position and posture of the left toe, waist, and right toe is converted into the following steps:
(1) a step of determining whether the left one leg standing state, the both leg standing state, the right one leg standing state from the height of the left toe and the right toe;
(2) correcting the gait data indicating the height of the left foot tip to the side away from the height of the hips until reaching the stance state of both legs through the left one leg stance state;
(3) The gait data instructing the height of the right foot tip is corrected by a process of correcting the gait data to the side away from the waist height during the period from the right one leg standing state to the both leg standing state.
Then, the robot is caused to walk by instructing the robot with corrected gait data.
“During the period from the one-leg stand state to the both-leg stand state” means “including before and after the start time of the both leg stand state”. What is important is that only the necessary amount is corrected at the start time of the both-leg stand state, and in order not to change the correction amount suddenly, it is necessary to correct including both before and after the start time of the both-leg stand state. . As long as the condition is satisfied, there are no particular restrictions on the start time and end time of correction. However, it is preferable that the correction is completed and the correction amount is returned to zero until the timing when the foot of the leg is scheduled to float next time, but this is also absolutely necessary. It is not done. This is because no serious problem occurs even if the gait data deviates from the expected floating timing.
[0014]
To implement the above control method, a program for correcting gait data is required. The program created in the present invention is processed by the computer as follows:
(1) A process for determining whether the left leg standing state, the both leg standing state, or the right one leg standing state from the height of the left toe and right toe,
(2) processing for correcting the gait data indicating the height of the left foot tip to the side away from the height of the waist during the period from the left one leg standing to the both leg standing;
(3) The gait data that indicates the height of the right foot tip is corrected to the side away from the waist height during the period from the right leg standing state to the both leg standing state.
When this program is executed, the gait data for operating the robot so that it does not land at a timing earlier than the timing at which the toe of the free leg link is supposed to land on the gait data before correction. It is corrected. Since the landing leg is not intended to land while lowering the tip of the free leg link, the landing leg does not kick the floor and the floor is landed twice when landing. The motion that seems to step on does not appear.
[0015]
[Embodiment]
The main features of the embodiments described below are listed first.
(Mode 1) When the toes of the free leg link land and shift to the both-legs ground state, a correction is started to reduce the height of the newly landed toes. It starts to decrease the correction amount of the toes that are corrected by a predetermined distance. The correction amount of the leg that has started to decrease the correction amount by increasing the correction amount of the leg that started correction to a predetermined distance until the time when the leg that originally grounded floated next and the ground contact state of both legs ended Is reduced to zero.
[0016]
【Example】
FIG. 1 shows a mechanical configuration of a biped walking robot 84 having a mechanical system composed of a left leg link 47, a waist 1 and a right leg link 17.
The left leg link 47 includes a left upper leg 48, a left knee joint 50, a left lower leg 52, a left ankle joint 58, and a left foot tip 62. The left knee joint 50 has a variable joint angle around the pitch axis y, and the left ankle joint 58 has a variable joint angle around the pitch axis y and a joint angle around the roll axis x. In FIG. 1, a joint is represented by an actuator that changes the joint angle for the sake of clarity of illustration. For example, reference numeral 50 is commonly used for actuators that change the joint angles of the knee joint. Reference numeral 54 is an actuator that changes the joint angle around the pitch axis y of the ankle joint 58, and reference numeral 56 is an actuator that changes the joint angle around the roll axis x. The left toe 62 has a force acting between the left toe 62 and the floor, in this case, a force in the roll axis x direction, a force in the pitch axis y direction, a force in the gravity line z direction, and the roll axis x. , A six-axis force sensor 60 for measuring a moment about the pitch axis y and a moment about the gravity line z is attached.
The left and right leg links 17 and 47 are symmetrical, and the right leg link 17 includes an upper right thigh 18, a right knee joint 20, a right lower thigh 22, a right ankle joint 28, and a right foot tip 32. The right knee joint 20 has a variable joint angle around the pitch axis y, and the right ankle joint 28 has a variable joint angle around the pitch axis y and a joint angle around the roll axis x. A six-axis force sensor 30 is also attached to the right foot tip 32.
The waist 1 includes a waist plate 8 and a waist pillar 4, and a waist joint 6 is provided between them. A gyro 2 for measuring the inclination angle of the waist pillar 4 around the pitch axis y, the inclination angle around the roll axis x, and the rotation angle around the gravity line z-axis is fixed to the waist pillar 4. The tilt angle around the pitch axis y and the tilt angle around the roll axis x of the lumbar column 4 are not affected even when the hip joint 6 rotates.
[0017]
The left leg link 47 and the waist 1 are connected by a left hip joint 46. The left hip joint 46 includes an actuator 40 that changes the joint angle around the gravity line z-axis, an actuator 42 that changes the joint angle around the pitch axis y, and an actuator 44 that changes the joint angle around the roll axis x. . The right leg link 17 and the waist 1 are connected by a right hip joint 16. The right hip joint 16 includes an actuator 10 that changes the joint angle around the gravity line z-axis, an actuator 12 that changes the joint angle around the pitch axis y, and an actuator 14 that changes the joint angle around the roll axis x. .
[0018]
When walking using the mechanical system of FIG. 1, the relative postures of the left leg link 47, the waist 1, and the right leg link 17 must be changed so that the result of walking is obtained as a result.
For this purpose, gait data that indicates the positions and postures of the left toe, waist, and right toe is used. As shown in FIG. 2, the gait data indicates the positions and postures of the left foottip, the waist, and the right foottip in a global coordinate system that defines the coordinates of the space in which the robot is active. In order to indicate the positions of the left toe, waist and right toe, a reference point L0 is set for the left toe 62, a reference point R0 is set for the right toe 32, and a reference point W0 is set for the waist 1. Is stipulated. In order to indicate the posture of the left toe, waist and right toe, a vector L perpendicular to the left toe 62 is assumed, and a vector R perpendicular to the right toe 32 is assumed and extends along the waist column 4. A vector W is assumed. As shown in FIG. 2, the gait data includes the x, y, z coordinates of the reference point L0 of the left toe 62, the x, y, z coordinates of the reference point R0 of the right toe 32, and the waist 1 in the global coordinate system. The x, y and z coordinates of the reference point W0 are indicated. Further, the pitch angle Lα, roll angle Lβ, and yaw angle Lγ of the vector L perpendicular to the left foot tip 62 are designated, and the pitch angle Rα, roll angle Rβ, and yaw angle Rγ of the vector R perpendicular to the right foot tip 32 are designated. And the pitch angle Wα, roll angle Wβ, and yaw angle Wγ of the vector W extending along the waist column 4 are instructed. As shown in FIG. 3, the gait data stores data indicating the positions and postures of the left foottip, the waist, and the right foottip over time. The robot 84 changes the relative postures of the left leg link 47, the waist 1 and the right leg link 17 with time according to gait data indicating the positions and postures of the left foot tip, the waist and the right foot tip which change over time. Walk.
[0019]
As shown in FIG. 4, the robot inputs gait data that indicates the positions and postures of the left toe, waist, and right toe, and the joint angle around the z-axis and the joint angle around the y-axis of the left hip joint 46 The joint angle around the x axis, the joint angle around the y axis of the left knee joint 50, the joint angle around the y axis of the left ankle joint 58, the joint angle around the x axis, and the joint around the z axis of the right hip joint 16 Calculate the joint angle around the y-axis, the joint angle around the x-axis, the joint angle around the y-axis of the right knee joint 20, the joint angle around the y-axis and the joint angle around the x-axis of the right ankle joint 28 In addition, a joint angle group calculation device 70 for calculating the rotation angles of the actuators 40, 42, 44, 50, 54, 56, 10, 12, 14, 20, 24, 26 that change the respective joint angles is provided. The joint angle group calculation device 70 calculates the joint angle group by solving the inverse kinematics. The joint angle group calculation device 70 calculates the joint angle group in real time with the walking motion of the robot. The joint angle group calculation device 70 may be physically outside the robot, or may be a device that transmits and indicates the calculated joint angle group to the robot wirelessly or by wire.
Gait data may be created in advance offline and taught to the robot. Alternatively, gait data can be created in real time while operating the robot. Gait data can also be created by operating the joystick or the like while observing the robot's motion to designate the next motion of the robot. In this case, the gait data created in real time is transmitted to the robot wirelessly or by wire, and the joint angle group calculation device 70 mounted in the robot calculates the joint angle group in real time. Alternatively, the joint angle group calculated by the joint angle group calculating device 70 placed outside the robot may be transmitted to the robot in real time wirelessly or by wire.
[0020]
If the robot is not bent, the robot should walk with the posture changed as instructed by the gait data by adjusting the joint actuator to the calculated rotation angle.
In reality, however, the robot bends. When the robot bends, the actual height of the toe of the free leg becomes lower than the height indicated by the gait data. If the tip of the free leg falls, it will land at a timing earlier than the timing when the free leg is supposed to land on the gait data. That is, in the gait data, the landing is made while the toes of the free leg are intended to be lowered and landed. If the toes of the free leg land during the action of lowering the toes of the free leg, the robot will continue to descend the toes of the free leg against the waist even after landing. The tip of the leg kicks the floor. If the landing leg kicks the floor, the impact at the time of landing will increase and the robot will become unstable. Therefore, the problem that it cannot walk at high speed will arise. In addition, it looks like you step on the floor twice when landing, which gives you a sense of discomfort.
[0021]
According to the research of the present inventor, it has been found that most of the bending that occurs in a walking robot occurs on a standing leg. It was confirmed that the height of the waist (the height of the waist reference point W0 in FIG. 2) falls below the height indicated by the gait data because the stance leg is bent. That is, the difference between the height of the foot of the stance link (the position of the left foot toe reference point L0 because it is the left one leg stand in FIG. 2) and the height of the waist (the position of the waist reference point W0) is the gait data. I confirmed that it was closer than what I indicated. Since the stance leg is bent and the waist position is lowered, the toe height of the free leg falls below the height indicated by the gait data. If the waist position does not fall, the toe of the free leg The landing timing is not off.
[0022]
Therefore, in this embodiment, the gait data is corrected in consideration of the amount of depression of the waist position caused by the deflection of the stance link. If the gait data that indicates the height of the toes that are in contact with the ground is corrected to the side away from the waist height by the amount corresponding to the amount of depression of the waist position caused by the deflection, it is assumed that there is no deflection The height of the instructed waist position should match the height of the waist position that has been sunk by bending. By correcting the gait data by the amount of deflection, the actual height of the waist position matches the height indicated by the gait data. As a result, the actual toe height of the free leg link coincides with the height indicated by the gait data, and the landing timing does not shift.
[0023]
(1) of FIG. 5 shows the change over time of the height of the left foot tip of the gait data before correction, and (2) shows the change over time of the height of the right foot tip of the gait data before correction. . It is instructed to maintain a certain height between landing and next floating. This corresponds to the fact that the height of the feet touching the floor should not change.
If the robot is not bent, the robot should walk with the posture changed as instructed by the gait data by adjusting the joint actuator to the calculated rotation angle. However, since the robot actually bends, the actual height of the toes deviates from that indicated by the gait data in FIGS. Specifically, the actual toe height of the free leg moves downward, and the toes are not lifted as much as the gait data indicates. This shifts the landing timing and increases the landing impact.
In order to cope with this, gait data correction means 80 is incorporated as shown in FIG. The correction means 80 may be incorporated in the mechanical system 84 of the robot, or may be physically provided at another position.
[0024]
FIG. 7 shows a processing procedure by the correcting means 80. The correction process is sequentially executed on the gait data at all times t1, t2, t3... For which the gait data shown in FIG.
In step S2, the state of the gait data to be corrected is determined from the gait data before correction exemplified in FIGS. 5 (1) and (2). The robot is in the state of (1) left-legged stand, (2) both-legged stand, (3) right-legged stand, and (4) the left-legged stand of (1) Return. Here, the left single leg standing state indicates a state where only the left leg is grounded (therefore, the right leg is a free leg), and the right one leg standing state is a state where only the right leg is grounded ( Therefore, the left leg is a free leg). From the heights of the toes of the left and right leg links exemplified in FIGS. 5 (1) and (2), it is determined whether the correction target gait data is in any one of the above (1) to (4). be able to. For each of the times t1, t2, t3,... In FIG. 3, it can be determined which of the states (1) to (4).
[0025]
For convenience of explanation, description will be made from the moment when the right leg lands from the left one leg standing state and transitions to the both leg standing state, that is, the moment when the right leg that was a free leg has landed. At this time, timing is started and the processing in step S4b is enabled. In step S4b, an elapsed time T1 from the moment when the right leg lands and shifts to the both-leg stand state is measured. In a state where the right leg has landed and shifted to the both-leg stand state, in step S6b, the left foot correction amount is reduced to zero along with the elapsed time T1. The downward correction amount in FIG. 7 indicates the correction amount on the side where the toes are moved away from the waist position. In the state where the right leg has landed and transitioned to the standing state of both legs, the left foot correction amount is reduced at a speed at which the left foot correction amount returns to zero before the left leg floats and shifts to the right single leg standing state. To zero. On the other hand, for the right leg that has landed, in step S8b, the correction amount on the side away from the foot position is increased with the elapsed time T1, and when the maximum amount ΔMAX is reached, the correction amount is maintained at the maximum amount ΔMAX. In the state where the right leg has landed and transitioned to the both-legged stand state, the right foot correction amount is adjusted at a speed at which the right foot correction amount reaches the maximum amount ΔMAX before the left leg floats and shifts to the right one-leg stand state. Increase to maintain maximum amount ΔMAX.
[0026]
During the right leg standing state, the left foot correction amount is reset to zero prior to that, so it is maintained at zero (step S6c), and the right leg correction amount that is grounded is adjusted to the maximum amount ΔMAX. The maximum amount ΔMAX is maintained (step S8c).
[0027]
While the right leg is in contact with the ground, the timing is started at the moment when the left leg, which was a free leg, has landed, and the process of step S4d is enabled. In step S4d, an elapsed time T2 from the moment when the left leg lands and shifts to the both-leg stand state is measured. In a state where the left leg has landed and shifted to the both-leg stand state, in step S8d, the right foot correction amount is reduced to zero along with the elapsed time T2. In the state where the left leg has landed and shifted to the standing state of both legs, the right foot correction amount is reduced at a speed at which the right foot correction amount returns to zero before the right leg floats and shifts to the left one leg standing state. To zero. On the other hand, for the left leg that has landed, in step S6d, the correction amount on the side away from the foot position is increased with the elapsed time T2, and when the maximum amount ΔMAX is reached, the correction amount is maintained at the maximum amount ΔMAX. In the state where the left leg has landed and transitioned to the standing state of both legs, the left foot correction amount is adjusted at the speed at which the left foot correction amount reaches the maximum amount ΔMAX before the right leg floats and shifts to the left one leg standing state. Increase to maintain maximum amount ΔMAX.
[0028]
Since the right foot correction amount is reset to zero prior to the left leg standing state, it is maintained at zero (step S8a), and the grounded left leg correction amount is adjusted to the maximum amount ΔMAX. The maximum amount ΔMAX is maintained (step S6a).
[0029]
(3) of FIG. 5 shows the change over time of the height of the left foot toe corrected to compensate for the deflection, and (4) shows the change over time of the height of the right foot of the gait data after correction. Show.
In FIG. 5, when the left leg lands, the left foot correction amount is increased after that time, and then the left foot correction amount is increased at a speed that reaches the maximum amount ΔMAX when the right leg floats and shifts to the left one leg standing state. is doing. Thereafter, the left foot correction amount is maintained at the maximum amount ΔMAX during the left one leg standing leg, and the right leg lands while maintaining the maximum amount ΔMAX. The landing timing of the right leg does not change even if the standing leg is bent. The maximum correction amount ΔMAX is set to a size that compensates for the approach of the height of the toes of the stance and the height of the waist due to bending of the stance. When the right leg lands, the correction amount of the left foot to be the next free leg is reduced. In FIG. 5, the correction amount is returned to zero when the left foot tip becomes the free leg. The moment when the left foot tip floats off the floor and becomes a free leg does not shift.
The same applies to the right leg.When the right leg lands, the right foot correction amount is increased after that time, and then the right leg is moved at a speed that reaches the maximum amount ΔMAX when the left leg floats and shifts to the right single leg standing state. The correction amount is increased. Thereafter, the right leg correction amount is maintained at the maximum amount ΔMAX during the right leg standing leg, and the left leg lands while maintaining the maximum amount ΔMAX. The landing timing of the left leg does not deviate even if the standing leg is bent. The maximum correction amount ΔMAX is set to a size that compensates for the approach of the height of the toes of the stance and the height of the waist due to bending of the stance. When the left leg lands, the correction amount of the right foot tip that will be the next free leg is reduced, and in FIG. 5, the correction amount is returned to zero when the right foot tip becomes the free leg. The moment when the right toe floats off the floor and becomes a free leg does not shift.
[0030]
When the correction amount is increased, the correction amount may be increased after the landing of the leg, and may be increased to a necessary correction amount (sometimes referred to as a predetermined correction amount) before the opposite leg is landed. (5) As in (6), the correction amount may be increased slowly during a single leg stand. It is sufficient that the correction amount is increased to the necessary correction amount at the moment when the opposite leg lands as shown in (6). As shown in (7), it may be increased after the one-leg standing state, or as shown in (8), it may be increased to a necessary correction amount before the one-leg standing state. In order to decrease the correction amount, it is sufficient that the leg is returned to zero before becoming a free leg, and may be decreased after waiting for both legs to stand as shown in (7). As shown in 8), it may be returned to zero before becoming a free leg.
[0031]
As understood from the above, in this embodiment,
(1) a step of determining whether the left one leg standing state, the both leg standing state, the right one leg standing state from the height of the left toe and the right toe;
(2) The gait data that indicates the height of the left foot tip is corrected to the required correction amount at the moment the right foot lands, so that the hip Correcting to the side away from the height of
(3) The gait data that indicates the height of the right foot tip is corrected to the required correction amount at the moment the left foot tip lands, until it reaches the both leg stand state through the right one leg stand state, It is corrected by a process of correcting to the side away from the waist height.
[0032]
FIG. 6 shows the relationship between the gait data correcting means 80 and the peripheral means. The gait data correcting means 80 inputs gait data before correction and outputs gait data after correction. The gait data before correction may be created offline beforehand and taught to the robot. Alternatively, gait data before correction can be created in real time while operating the robot. It is also possible to create gait data before correction by operating the joystick or the like while observing the movement of the robot and specifying the next movement of the robot. In this case, the gait data before correction created in real time is transmitted to the robot wirelessly or by wire, and the joint angle group calculation means 70 mounted in the robot calculates the joint angle group in real time. Alternatively, the joint angle group calculated by the joint angle group calculating means 70 placed outside the robot may be transmitted to the robot wirelessly or in a wired manner in real time.
[0033]
The gait data corrected by the correcting means 80 is input as a command value to the control means 82 of the robot. The robot measuring device 88 mounted on the robot 84 grasps a value indicating the current state of the robot 84 and inputs it to the robot control means 82. The robot control means 82 compares the command value with the current value, performs necessary corrections, calculates the command value used for control, and instructs the joint angle group calculation means 70. The joint angle group calculating means 70 controls the joint actuator 86 by calculating the rotation angle or angular velocity of each actuator. The robot control means 82 uses a so-called inverted pendulum model or a similar control model to prevent the robot from toppling and absorb the influence of unexpected floor irregularities.
[0034]
FIG. 8 shows the force in the Z-axis direction detected by the six-axis force sensors 30 and 60. (1) and (2) show the force in the Z-axis direction when gait data is not corrected, and (3) and (4) show the force in the Z-axis direction when gait data is corrected. Yes. (1) and (3) show the force of the left leg in the Z-axis direction, and (2) and (4) show the force of the right leg in the Z-axis direction.
Obviously, by correcting the gait data, the force in the Z-axis direction is stabilized and the maximum value is decreased. In addition, the toe stepped twice before the correction, but when corrected, the double step phenomenon is resolved. By correcting the gait data, the landing impact is alleviated and it is confirmed that the robot is walking smoothly.
[0035]
Although specific examples of the present invention have been described in detail above, these are examples and do not limit the scope of the claims. Further, the present invention solves several objects, and is not meaningful only when all objects are solved simultaneously, but only by solving one or two objects.
[0036]
【The invention's effect】
According to the present invention, the phenomenon that the landing leg kicks the floor in order to land earlier than the mechanical system is expected to bend can be suppressed, and the landing impact can be mitigated. The phenomenon that the landing leg steps on the floor twice is also eliminated. The robot can walk at a high speed with a natural walking posture.
[Brief description of the drawings]
FIG. 1 is a skeleton diagram showing a mechanical configuration of a walking robot.
FIG. 2 is a diagram showing reference points and reference vectors used by gait data.
FIG. 3 is a diagram schematically showing the content of gait data.
FIG. 4 is a diagram showing calculation means for calculating a joint angle group from gait data.
FIG. 5 is a diagram showing a temporal change in the foot height of the gait data before correction and a temporal change in the foot height of the gait data after correction.
FIG. 6 is a block diagram of a robot control system.
FIG. 7 is a view showing a procedure for correcting gait data.
FIG. 8 is a diagram showing a comparison of the force received by the toes from the floor based on gait data before correction and the case based on gait data after correction.
[Explanation of symbols]
2: Gyro 4: Lumbar column 6: Lumbar joint 8: Lumbar plate 16, 46: Hip joint 20, 50: Knee joint 28, 58: Ankle joint 30, 60: 6-axis force sensor ΔZL: Left foot toe correction amount ΔZR: Right foot toe Correction amount ΔMAX: Necessary correction amount

Claims (5)

左足先と腰と右足先の位置と姿勢を指示する歩容データから、左脚リンクと腰と右脚リンクで構成される機械系に存在する複数の関節の各関節角を計算する関節角群計算手段と、
各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータとを備え、
指示された歩容データに従って左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットに、
補正前の歩容データの左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する手段と、
左足先の高さを指示する歩容データを、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する左足先歩容データ修正手段と、
右足先の高さを指示する歩容データを、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する右足先歩容データ修正手段を付加した歩行ロボット。
Joint angle group that calculates each joint angle of multiple joints existing in the mechanical system composed of left leg link, waist and right leg link from gait data indicating the position and posture of left foot, waist and right foot A calculation means;
An actuator for adjusting the joint angle of each joint to the joint angle calculated by the joint angle group calculating means,
To a robot that walks by changing the relative posture of the left leg link, waist and right leg link according to the gait data instructed,
Means for determining whether the left one leg standing state, the both leg standing state, and the right one leg standing state from the height of the left and right toes of the gait data before correction;
Gait data that indicates the height of the left foot tip, the left foot toe gait data correcting means for correcting the gait data to the side away from the waist height during the period from the left leg standing state to the both leg standing state;
Gait with right foot gait data correction means that corrects the gait data indicating the height of the right foot to the side away from the waist height until it reaches the state of both legs standing from the right leg standing state. robot.
左足先歩容データ修正手段は、腰の高さから遠ざける側に補正する補正量を、足先が着地した時点から経時的に増大させ、次に足先が着地する時点までの間に所定補正量に調整し、右足先歩容データ修正手段は、腰の高さから遠ざける側に補正する補正量を、右足先が着地した時点から経時的に増大させ、次に左足先が着地する時点までの間に所定補正量に調整することを特徴とする請求項1の歩行ロボット。 Left foot destination gait data correction means, a correction amount for correcting the side away from the height of the waist, over time increases from the time the left foot has landed, then right toes until the point of landing The right foot gait data correcting means adjusts to a predetermined correction amount, and the correction amount to be corrected away from the waist height is increased with time from the time when the right foot landed, and then the left foot landed. The walking robot according to claim 1, wherein the walking robot is adjusted to a predetermined correction amount until a point in time . 左足先歩容データ修正手段は、腰の高さから遠ざける側に補正する補正量を、足先が着地した時点から経時的に減少させ、次に足先が浮遊する時点までの間にゼロに戻し、右足先歩容データ修正手段は、腰の高さから遠ざける側に補正する補正量を、左足先が着地した時点から経時的に減少させ、次に右足先が浮遊する時点までの間にゼロに戻すことを特徴とする請求項1または2の歩行ロボット。 Left foot destination gait data correction means, a correction amount for correcting the side away from the height of the waist, over time reduces from the time the right foot has landed, then left toes until the time of floating it returns to zero, the right toe gait data correction means, a correction amount for correcting the side away from the waist height, from the time the left foot destination lands to the point where over time reduces, then right toe to float claim 1 or 2 of the walking robot, characterized in revert to zero during. 左足先と腰と右足先の位置と姿勢を指示する歩容データを下記の工程、即ち、
左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する工程と、
左足先の高さを指示する歩容データを、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程と、
右足先の高さを指示する歩容データを、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する工程によって補正し、
補正された歩容データをロボットに指示することによってロボットを歩行させるロボットの制御方法。
Gait data indicating the position and posture of the left toe, waist, and right toe are processed in the following steps:
From the height of the left toe and right toe, determining the left one leg standing state, both leg standing state, right one leg standing state,
Correcting the gait data indicating the height of the left foot tip to the side away from the height of the waist during the period from the left one leg standing state to the both leg standing state;
The gait data that indicates the height of the right foot tip is corrected by a process of correcting to the side away from the height of the waist until it reaches the stance state of both legs through the right leg standing state,
A robot control method for walking a robot by instructing the robot with corrected gait data.
左足先と腰と右足先の位置と姿勢を指示する歩容データを下記の処理を経て補正するプログラムであり、コンピュータに下記の処理、即ち、
左足先と右足先の高さから、左片脚立脚状態、両脚立脚状態、右片脚立脚状態の別を判定する処理と、
左足先の高さを指示する歩容データを、左片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する処理と、
右足先の高さを指示する歩容データを、右片脚立脚状態を経て両脚立脚状態に至るまでの間、腰の高さから遠ざける側に補正する処理と、
を実行させる歩容データの補正プログラム。
It is a program for correcting the gait data indicating the position and posture of the left toe, waist and right toe through the following processing, and the computer performs the following processing:
A process of determining whether the left leg stand state, the both leg stand state, the right one leg stand state from the height of the left foot tip and the right foot tip,
Correcting the gait data indicating the height of the left foot tip to the side away from the height of the hips until reaching the stance state of both legs through the left leg standing state,
Correcting the gait data that indicates the height of the right foot tip to the side away from the height of the hips until reaching the stance state of both legs through the right leg standing state,
Gait data correction program to execute.
JP2003093564A 2003-03-31 2003-03-31 Walking robot for mitigating landing impact, its control method, and gait data correction program Expired - Fee Related JP4010267B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003093564A JP4010267B2 (en) 2003-03-31 2003-03-31 Walking robot for mitigating landing impact, its control method, and gait data correction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003093564A JP4010267B2 (en) 2003-03-31 2003-03-31 Walking robot for mitigating landing impact, its control method, and gait data correction program

Publications (2)

Publication Number Publication Date
JP2004298982A JP2004298982A (en) 2004-10-28
JP4010267B2 true JP4010267B2 (en) 2007-11-21

Family

ID=33406317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003093564A Expired - Fee Related JP4010267B2 (en) 2003-03-31 2003-03-31 Walking robot for mitigating landing impact, its control method, and gait data correction program

Country Status (1)

Country Link
JP (1) JP4010267B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111874120A (en) * 2020-08-27 2020-11-03 宿州赛尔沃德物联网科技有限公司 Method for controlling walking of follow-up bionic robot

Also Published As

Publication number Publication date
JP2004298982A (en) 2004-10-28

Similar Documents

Publication Publication Date Title
US6289265B1 (en) Controller for legged mobile robot
JP3760186B2 (en) Biped walking type moving device, walking control device thereof, and walking control method
US20130079929A1 (en) Robot and control method thereof
US6243623B1 (en) Leg type mobile robot control apparatus
JP4513320B2 (en) Robot apparatus and motion control method of robot apparatus
KR101029228B1 (en) Robot, and its control method
JP4840239B2 (en) Control method for legged mobile robot and legged mobile robot
US9002512B2 (en) Robot and method of controlling walking thereof
JP5071140B2 (en) Legged robot and control method thereof
KR20130095973A (en) Walking robot and control method thereof
CN107351936B (en) Walking control method, recording medium, and biped walking robot
JP2001328083A (en) Floor shape estimating device for leg type moving robot
WO2022156476A1 (en) Method for controlling continuous dynamic and stable jump of humanoid robot
KR101234726B1 (en) Legged mobile robot and control program for the robot
JP2009291932A (en) Walking robot and control method therefor
JP4559803B2 (en) Robot walking using passive change of joint angle and its control method
US9802315B2 (en) Controller for mobile robot
JP4010267B2 (en) Walking robot for mitigating landing impact, its control method, and gait data correction program
CN100594460C (en) Motion programming method and apparatus for preventing human imitating robert from leaning one way or another
JP5632609B2 (en) Robot control apparatus and robot control method
US7801643B2 (en) Legged mobile robot and control program for the robot
JP5040693B2 (en) Legged robot and control method thereof
JP2009107033A (en) Legged mobile robot and its control method
JP3982442B2 (en) Walking robot that mitigates landing shock, its control method, and gait data correction program
JP4207694B2 (en) Walking robot and its control method

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees