JP5282852B2 - 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法 - Google Patents
二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法 Download PDFInfo
- Publication number
- JP5282852B2 JP5282852B2 JP2012525281A JP2012525281A JP5282852B2 JP 5282852 B2 JP5282852 B2 JP 5282852B2 JP 2012525281 A JP2012525281 A JP 2012525281A JP 2012525281 A JP2012525281 A JP 2012525281A JP 5282852 B2 JP5282852 B2 JP 5282852B2
- Authority
- JP
- Japan
- Prior art keywords
- zmp
- foot
- equation
- landing
- leg
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000005484 gravity Effects 0.000 claims description 52
- 238000001514 detection method Methods 0.000 claims description 2
- 210000002683 foot Anatomy 0.000 description 200
- 210000002414 leg Anatomy 0.000 description 147
- 230000014509 gene expression Effects 0.000 description 42
- 239000011159 matrix material Substances 0.000 description 23
- 230000001133 acceleration Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000452 restraining effect Effects 0.000 description 2
- 210000000544 articulatio talocruralis Anatomy 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 210000004394 hip joint Anatomy 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Description
本発明は、二足歩行ロボットに関する。
二足歩行ロボット(Biped Walking Robot)は、1本の足で立つ単脚接地期間と両方の足で立つ両足接地期間を繰り返しながら歩行する。単脚接地期間では二足歩行ロボットは倒れ易い。二足歩行ロボットは、足の着地位置と着地タイミングを適切に決めないと転倒してしまう。以下、本明細書では、「転倒せずに歩行する」ことを「安定に歩行する」と表現する。また、簡単のため、以下では二足歩行ロボットを単に「ロボット」と称する。
安定歩行のための足の着地位置を決定するのにはZMP方程式がよく用いられる。ZMP及びZMP方程式は、二足歩行ロボットの技術分野では良く知られているように、1972年にブコブラトビッチ(Miomir Vukoburatoric)によって提唱された。ZMPは床反力の圧力中心を意味する。ZMP方程式はロボットの重心の運動方程式に相当する。ZMP方程式では、ロボットの重心の加速度がZMPの関数として表される。
ZMP方程式を所定の条件の下で解くと、重心の位置(及び/又は速度)を所定の範囲に維持できるZMP位置の時系列(ZMP軌道)が算出される。重心の位置(及び/又は速度)を所定の範囲に維持することが即ち安定歩行を意味する。他方、ZMPは床反力の圧力中心であるから、実際のZMPは必ず足の接地領域内に存在する(正確には、ZMPは接地している足によって形成される支持多角形内に存在する。)。即ち、実際のZMPは足の着地位置と着地タイミングで定まる。算出されたZMP軌道を実現するように定められる足の着地位置と着地タイミングが、安定歩行を原則的に保証する。なお、外乱、計算誤差、或いは床の起伏によって安定歩行が損なわれることがあるので、ZMP方程式から得られた足の着地位置と着地タイミングは、安定歩行を厳密に保証するものではないことに留意されたい。
日本国特許公開公報特開平05−337849号(特許文献1)や日本国特許公開公報2004−167676号公報(特許文献2)には、ZMP方程式に基づいた着地位置の決定方法の一例が開示されている。特に、特許文献2には、始端と終端の重心の速度を境界条件としてZMP方程式を解く手法が開示されている。
従来は、着地タイミングを予め定めておいてからZMP方程式を解いて着地位置を算出していた。着地タイミングは歩行速度を表すので、歩行速度を予め定めることが着地タイミングを定めることに相当する。通常は、一定速度で歩行するという条件の下で着地位置を算出していた。具体的には、注目する区間の始端と終端における重心の位置及び/又は速度を境界条件として与えるとともに、着地タイミング(歩行速度)を与えてZMP方程式を満足するZMP位置を算出していた。安定歩行を実現する着地位置は、算出されたZMP位置が足と地面との接地面内に存在するように定められる。着地タイミング、即ち歩行速度は、足の動作速度、関節回転速度などの機構的な制約を超えないように予め調整されていた。
着地タイミングを柔軟に変化させることができれば、歩行の安定性が増す。例えば、外乱等によって重心の速度(前方へ向かう速度)が増大した場合、足の着地位置を前方へシフトするだけでなく、着地タイミングを早めると転倒を回避できる可能性が高まる。あるいは、予期しない障害物を避けるために着地位置をリアルタイムで変更する場合、着地位置だけなく着地タイミングも変更することによって歩行安定性が増す。しかしながら発明者が知る限りでは、着地位置を決めた後に、歩行安定性を保証する制約の下で着地タイミング調整する技術は確立されていない。本明細書は、二足歩行ロボットの着地位置と着地タイミングを適切に求める技術を提供する。
本明細書が開示する技術の一つは、二足歩行ロボットの足の着地位置と着地タイミングを決定する方法を提供する。その方法は、ZMP算出ステップと、着地位置決定ステップを含む。ZMP算出ステップは、予め定められた着地タイミング(予定着地タイミング)を与えてZMP方程式を解き、次の単脚接地期間における第2足ZMP位置を算出する。より詳しくは、このステップでは、重心軌道の境界条件と第2足の着地タイミングを与えてZMP方程式を解き、第2足ZMP位置を算出する。境界条件は、二足歩行ロボットが第1足のみで立つ第1単脚接地期間と第1単脚接地期間の次に第2足のみで立つ第2単脚接地期間を含む重心軌道の始端と終端の境界条件である。境界条件は、具体的には例えば始端の重心位置と速度、及び、終端の重心速度である。始端には現在時刻が選ばれてよい。即ち、始端の重心位置と速度はセンサによって計測された現在時刻の重心位置と速度でよい。その場合、第1単脚接地期間は現在の単脚接地期間に相当する。着地位置決定ステップは、算出された第2足ZMP位置が、第2足と地面の接触領域内に含まれるように第2足の着地位置を決定する。なお、「第1足」は二足歩行ロボットの一方の脚に相当し、「第2足」は他方の脚に相当する。また、「第1足」は典型的には現在の単脚接地期間における立脚に相当し、「第2足」は現在の単脚接地期間の遊脚に相当する。また、「第2足」は、次の単脚接地期間における立脚に相当する。
ZMP算出ステップはさらに、算出された第2足ZMP位置が第2足の着地可能領域に対応して定められる第2足ZMP許容領域から外れている場合、第2足ZMP位置が第2足ZMP許容領域内となるように着地タイミングを修正する。
重心軌道の始端と終端の境界条件を与えてZMP方程式を解く技術の基本は、前述したように、例えば特許文献2に開示されているので参照されたい。着地可能領域は、平坦な地面であれば、足の可動範囲に基づいて定められる。地面に障害物が存在する場合、着地可能領域は足の可動範囲であって障害物以外の領域に設定される。
上記の方法は、典型的には次の一歩の着地位置と着地タイミングを決定する。着地タイミングの下でZMP方程式に基づいて算出された第2足ZMP位置が第2足ZMP許容領域から外れる場合とは、歩行安定性を確保する次の着地位置が決定できない場合に相当する。上記の方法は、そのような場合に、即ち、着地タイミングでは着地可能領域に着地位置を決定できない場合に着地タイミングを調整する。例えば、着地タイミングでは終端の重心速度を抑制できない場合、着地タイミングを早めることによって、重心が前に移動するよりも早く前方に足を着地するように歩行計画が修正され、重心速度を抑制することができる。
上記の方法では、着地タイミングの下で算出された第2足ZMP位置が、設定された第2足ZMP許容領域内の場合は、そのまま着地タイミングが採用される。即ち上記の方法は、着地タイミングで安定歩行が達成できるか否かを判断し、達成できないと判断された場合に着地タイミングを修正する。
この方法では、第1足ZMP位置と第2足ZMP位置を変数として有するように変形されたZMP方程式が用いられる。第1足ZMP位置は、第1単脚接地期間におけるZMP位置を表す。ZMP方程式は、重心軌道の運動方程式であり、元々は重心の加速度をZMP位置の関数で表している。重心の位置を、ZMP位置を変数に有する数式で表すとともにその数式を積分することによって、ZMP方程式はZMPの初期位置と終端位置(即ち第1足ZMP位置と第2足ZMP位置)の関数に変換される。この方程式は実施例にて詳しく説明する。本明細書が開示する方法のZMP算出ステップは、さらに詳しくは、上記したZMP方程式を使った次の第1サブステップと第2サブステップを備える。
第1サブステップでは、前記した境界条件と予め定められたイニシャル拘束条件の下でZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出する。第2サブステップでは、算出された第2足ZMP位置が第2足ZMP許容領域から外れている場合、第2足ZMP位置を第2足ZMP許容領域に拘束する第2足ZMP拘束条件の下でZMP方程式が成立するように着地タイミングを修正する。
変換されたZMP方程式は、第1足ZMP位置のx座標とy座標、第2足ZMP位置のx座標とy座標の4個の未知数(変数)を有している。他方、ZMP方程式はx座標に関する等式とy座標に関する等式の連立方程式である。従って4つの変数の解を求めるには2つの拘束条件が必要である。その拘束条件がイニシャル拘束条件に相当する。イニシャル拘束条件は例えば第1足ZMP位置を指定する条件でよい。第1足は現在の立脚に相当するから、イニシャル拘束条件は現在の立脚の足の接地面内に第1足ZMP位置を定める条件でよい。
前記した第2足ZMP拘束条件は、好ましくは、第2足ZMP位置を第2足ZMP許容領域の周囲の境界に拘束する。第2足ZMP許容領域の境界は、歩行安定性を確保するZMP位置の限界に相当する。即ち、第2足ZMP位置を第2足ZMP許容領域の境界に拘束することは、安定が保証される限界に第2足ZMP位置を定めることに相当する。
第1サブステップと第2サブステップは、さらに、次の処理を含むことが好ましい。第1サブステップは、算出された第1足ZMP位置が、第1足の接地領域内に定められる第1足ZMP許容領域を外れている場合、第1足ZMP位置を第1足ZMP許容領域に拘束する第1足ZMP拘束条件の下で前記ZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出し直す。第2サブステップは、第2足ZMP拘束条件と第1足ZMP拘束条件の下でZMP方程式が成立するように着地タイミングを修正する。
本明細書が開示する他の技術は、従来よりも安定に歩行することのできる二足歩行ロボットを提供する。その二足歩行ロボットは、上記した着地位置/着地タイミング決定アルゴリズムが実装されたコントローラと、障害物を検知するセンサを備える。コントローラは、障害物の検知結果に基づいて第2足の着地可能領域を決定する。そのような二足歩行ロボットは、障害物の存在に応じてリアルタイムに着地位置と着地タイミングを変更することができる。この二足歩行ロボットは、着地可能領域に応じて着地位置のみならず着地タイミングも変更するので、安定歩行を維持できる可能性を拡げることができる。
本明細書が開示する技術は、安定に歩行することのできる着地位置と着地タイミングを効率よく決定する技術を提供する。
図面を参照しながら本発明の好適な実施形態を説明する。図1は、本実施例の二足歩行ロボット10の模式図である。以下、二足歩行ロボット10を単純にロボット10と称する。
ロボット10は、2本の脚16R、16Lと、障害物センサ12と、コントローラ14を備える。夫々の脚は、股関節、膝関節、及び、足首関節を有する多リンク多関節構造を有している。障害物センサ12は、レーザレンジセンサであり、ロボット10の前方の障害物を検知する。コントローラ14は、障害物センサ12のセンサデータに基づき、障害物を避けるように足の着地位置と着地タイミングを決定する。
図1に示した符号の意味を説明する。まず座標系について説明する。X軸はロボット10の進行方向に相当する。Y軸はロボットの横方向に相当する。Z軸は鉛直方向に相当する。G(xg,yg,zg)はロボット10の重心を表し、Lgは重心の軌道を表す。ZMP(px,py,pz)はZMP位置を表す。図1において、ロボット10は右脚16Rのみで立っているので、ZMP(px,py,pz)は右脚16Rの足の接地領域内に位置する。なお、以下では、説明を簡単にするため、歩行面は水平であると仮定する。即ち、ZMP位置は2次元座標(px,py)で表される。
符号A2は遊脚16Lの着地可能領域を示している。着地可能領域A2は、脚の機械的構造と、障害物Wで定まる。コントローラ14は、障害物センサ12のセンサデータに基づき、前方の障害物Wの位置と大きさを認識する。また、コントローラ14は、脚の機械的構造で定まる、遊脚の足が到達可能な領域を算出する。コントローラ14は、到達可能な領域から障害物Wが占める領域を除外して着地可能領域A2を決定する。例えば図1に示すように、着地可能領域A2は、障害物Wを避けるように定められる。
次に、ZMP方程式について説明する。ZMP方程式とは、重心Gの運動方程式であり、重心Gの加速度をZMP位置の関数で表した式である。いま、重心の高さ(即ちzg)は一定の値hであると仮定する。そうすると、ZMP方程式は次の(数1)で表すことができる。
(数1)において、「g」は重力加速度を表す。「ddxg」は重心のx方向の加速度を表す。「ddyg」は重心のy方向の加速度を表す。(数1)は歩行ロボットの技術分野においては良く知られている方程式である。(数1)においてZMP位置の座標px,pyを、次の(数2)で表す。
(数2)において、「qx1,qx2,qy1,qy2」は予め定められた定数である。また、「t」は時間を表す。ZMP位置(px,py)を(数2)で表した場合、(数1)の一般解(即ち重心Gの軌道)は次の(数3)で表されることが知られている。
(数3)において、「cx1,cx2,cy1,cy2」は予め与えられる定数である。また、α2=g/hである。(数3)より、重心Gの速度(dxg,dyg)は次の(数4)で表される。
(数3)と(数4)は、重心Gの軌道を表す。ただし重心Gの高さhは一定である。「安定歩行」は、重心Gの速度を予め定められた所定の閾値以下に抑えるとともに、重心Gの座標が足の着地位置から大きくずれないように着地位置と着地タイミングを決定することで実現される。そのような着地位置と着地タイミングは、ZMP方程式に基づいて算出される。
コントローラ14は、遊脚16Lの着地位置と着地タイミングを決定する。コントローラ14は、(数2)〜(数4)を用いて、歩行安定性を維持する着地位置と着地タイミングを決定する。重心の軌道と着地位置の関係を図2に示す。なお、現在時刻t0において、ロボット10は右脚16Rのみで立っており、左脚16Lは遊脚に相当する。今、現在時刻t0から終端時刻t3までの期間の重心軌道に着目する。G0(xg0,yg0)は、現在時刻t0における重心位置を表す。符号(dxg0,dyg0)は、現在時刻t0における重心の速度を表す。現在時刻t0における重心の速度はセンサによって計測される。符号G3(xg3,yg3)は終端時刻t3における重心位置を示している。符号(dxg3,dyg3)は、終端時刻t3における重心の速度を表している。ここで、終端時刻t3は、現在時刻t0からの経過時間として予め設定されている。現在時刻t0は、一方の脚(図2では右脚)のみで立っている第1単脚期間内に設定され、終端時刻t3は、他方の脚(図2では左脚)が接地し、接地した脚のみで立っている第2単脚期間内に設定される。終端時刻t3における重心速度(dxg3,dyg3)は、安定歩行を保証するための境界条件として予め与えられる。ここで、終端時刻t3における重心速度(境界条件)を(vxd,vyd)で表す。なお、現在時刻t0は、今注目している重心軌道の始端の時刻に相当する。
図2においてSTEP1が示す矩形は、現在時刻t0における立脚の足の位置(接地面)を示す。符号B1は、現在時刻t0においてZMP(px1,py1)が取り得る領域(第1足ZMP許容領域)を示す。以下の説明では、現在時刻t0におけるZMP(px1,py1)が第1足ZMP位置に相当する。第1足ZMP許容領域B1は、第1足(右脚)の接地面STEP1の内側に制限される。
符号A2が示す領域は、前述したように、現在の遊脚(第2足)が着地できる領域、即ち着地可能領域を表す。図2では、着地可能領域A2は、障害物Wを避けるように設定される。符号B2は、次の単脚接地期間、即ち、第2足のみで立つ第2単脚接地期間においてZMPが取るべき位置の範囲(第2足ZMP許容領域)を表す。第2足ZMP許容領域B2は、着地可能領域A2と基本的に重なる。なお、図2では、マージンを見込んでいるので、第2足ZMP許容領域B2は着地可能領域A2よりも小さい。符号STEP2が示す矩形は、第2足の着地位置(着地予定位置)を示している。そして符号ZMP(px2,py2)は、第2単脚接地期間におけるZMP位置を表している。
現在時刻t0においてロボット10は右脚のみで立っている。コントローラ14は、終端時刻t3における重心速度(dxg3,dyg3)が(vxd,vyd)となるように、左脚の次の着地位置STEP2と着地タイミングを決定する。以下、着地タイミングを符号t1で表す。着地位置STEP2は、そのときの足の接地領域内に第2足ZMP位置(px2,py2)が含まれるように定めなければならない。また、明らかに、重心軌道は常に連続でなければならない。従って、コントローラ14の目的は、着地可能領域A2に対応して定められる第2足ZMP許容領域B2内に第2足ZMP位置を設定しながら、予め与えられた終端の重心速度(vxd,vyd)を満たし、なおかつ、現在の重心の状態から重心位置・速度・加速度が連続となる重心軌道を生成することにある。このことは別言すると、(数1)〜(数4)を使って、重心軌道が連続であり予め与えられた終端の重心速度(vxd,vyd)を満たすための、第1足ZMP位置(px1,py1)、第2足ZMP位置(px2,py2)、及び着地タイミングt1を決定することである。そのような重心軌道、及び、着地位置と着地タイミングは、安定な歩行を保証する。なお、現在の立脚である第1足のみで立っている第1単脚接地期間におけるZMP位置(第1足ZMP位置)と、次の一歩を踏み出したのちに第2足のみで立っている第2単脚接地期間におけるZMP位置(第2足ZMP位置)を求めるのであるから、重心軌道の注目する期間は、第1単脚接地期間と第2単脚接地期間を含む。即ち、注目する重心軌道の始端は第1単脚接地期間内に設定され、終端は第2単脚接地期間に設定される。また、予期しない外乱や路面の起伏によって歩行安定性が損なわれることがあることに留意されたい。
図3に、重心軌道のx座標(Lx)、x方向速度(Ldx)、及び、ZMP位置のx座標(Px)のグラフを示す。ロボット10は、一方の脚のみで立つ単脚接地期間と両方の脚で立つ両脚接地期間を繰り返しながら歩行する。
図3において、時刻t0は現在時刻(始端時刻)を示している。現在時刻t0は、第1単脚接地期間内である。即ち、現在時刻t0においては第2足(左脚)は遊脚である。時刻t1は、第2足(左脚)の着地タイミングを示している。時刻t2は第1足(右脚)の離地タイミングを示している。時刻t3は終端時刻を示している。なお終端時刻t3は、第1足(右脚)が再び着地して両脚立脚期間が開始するタイミングに相当する。y軸方向にも同様のグラフを描くことができるが、y軸方向の説明は省略する。以下ではx軸についてのみ説明する。また、図3のTbdは、両脚接地期間の時間を示している。Tsdは、単脚接地期間の時間を示している。即ち、単脚接地期間の開始時刻から時間Tsd経過したときが、着地タイミングに相当する。
符号t0は現在時刻(始端時刻)を表し、符号t1は着地タイミングを表し、t2は他方の脚の離地タイミングを表し、符号t3はさらに次の着地タイミングを表す。ZMP位置のx座標(Px)は、第1足のみで立っている第1単脚接地期間では一定の値px1(第1足ZMP位置)であり、第2足の着地タイミングt1にて、第2足の着地位置に向かって移動し始め、第1足が離地する時刻t2で第2足ZMP位置px2となる。その後、第1足が着地する時刻t3まで一定の値(第2足ZMP位置px2)を維持する。前述したように、コントローラ14の目的は、着地タイミングt1、第1足ZMP位置px1(py1)、第2足ZMP位置px2(py2)を求めることにある。重心軌道の境界条件は、始端の位置(xg0,yg0)と速度(dxg0,dyg0)、及び、終端の速度(dxg3,dyg3)=(vxd,vyd)である。なお、始端の境界条件はセンサにより計測される。
ZMP方程式の一般解(数3、数4)を用いると、終端の重心速度dxg3は次の(数5)で表すことができる。
なお、y方向にも(数5)と同様の式が得られる。(数5)、及び、(数5)に対応するy方向の数式において、dxg3=vxd,dyg3=vydを代入してpx1,px2,py1,py2について整理すると次の(数6)を得る。なお、(数6)では、着地タイミングt1を一定として扱っている。なお、着地タイミングt1は予め与えられるが、後述するように修正されることがある。
(数6)において、rx1やSxは、(数5)の定数をまとめて表した定数である。rx1やSxには着地タイミングt1が含まれる。着地タイミングt1を定数として扱うことによって、rx1やSxを定数で表すこと可能となる。(数6)は、変数(px1,px2,py1,py2)に関する連立方程式である。(数6)は、ZMP方程式(数1)の変形であり、現在時刻t0におけるZMP位置を表す第1足ZMP位置(px1,py1)と、第2単脚接地期間におけるZMP位置を表す第2足ZMP位置(px2,py2)を変数として有している。
(数6)を解いて変数(px1,px2,py1,py2を決定するには拘束条件が足りない。そこで、(数6)を解くための拘束条件(この拘束条件をイニシャル拘束条件と称する)を与える。イニシャル拘束条件は予め与えられる。例えばイニシャル拘束条件は次の(数7)で与えられる。
(数7)において、ρ、a、b、cは予め与えられる定数である。(数7)は、第1足ZMP位置のx座標をρに設定し、第2足ZMP位置(px2,py2)を直線apx2+bpy2=cに拘束することを表している。(数7)の拘束条件の式と(数6)を合わせて次の(数8)が得られる。
(数8)はZMP方程式の別表現に相当する、また(数8)は、第1足ZMP位置(px1,py1)と第2足ZMP位置(px2,py2)を変数に有する連立方程式である。(数8)はマトリクス表現すると、次の(数9)で表され、その解{x}は(数10)で得られる。ただし[A]はマトリクスであり、{x}、{s}はベクトルである。
(数10)によって、第1足ZMP位置(px1,py1)と、着地タイミングt1におけるZMP位置を表す第2足ZMP位置(px2,py2)を定めることができる。ここまでの処理は、まとめて表現すると、始端と終端における重心の境界条件とイニシャル拘束条件の下でZMP方程式(数6)を満足する第1足ZMP位置(px1,py1)と第2足ZMP位置(px2,py2)を算出する処理である。この処理を第1サブステップと称する。
第1サブステップは、着地タイミングt1を一定として第1足ZMP位置と第2足ZMP位置を算出する。イニシャル拘束条件の数式の数を3個以上に増やした場合には、着地タイミングt1を変更することでZMP方程式(数6)を満足する第1足ZMP位置(px1,py1)と第2足ZMP位置(px2,py2)を決めることができる。また、2個以上の拘束条件の式が平行でありマトリクス[A]の逆行列が存在しない場合にも、着地タイミングt1を変更することでZMP方程式(数6)を満足する第1足ZMP位置(px1,py1)と第2足ZMP位置(px2,py2)を決めることができる。逆行列が存在するか否かは、その行列のランクを調べればよい。その行列がフルランクを有する場合、逆行列が存在する。逆行列が存在しない場合、新しい拘束条件を(数6)に与える。新しい拘束条件は例えば次の(数11)で表される。
(数11)は、3個の拘束条件の数式を表している。(数11)の拘束条件からpx2,py2は一意に決まる(数12)。
なお、(数14)では、dxg3=vxd,dyg3=vydを用いている。(数14)の第1式にa1を乗じ、第2式にb1を乗じて両者を加え合わせると次の(数15)が得られる。
なお、u1>0、u2>0の場合はどちらかを選択する。基本的には、値の大きい方を選択すればよい。(数11)から(数20)の処理は、まとめると次のように表現することができる。コントローラ14は、第1サブステップで算出された第2足ZMP位置(px2,py2)が第2足の着地可能領域A2に対応して定められる第2足ZMP許容領域B2から外れている場合、第2足ZMP位置(px2,py2)を第2足ZMP許容領域B2に拘束する第2足ZMP拘束条件(数12)と前述したイニシャル拘束条件の下でZMP方程式(数6)が成立するように着地タイミングt1を(数20)によって修正する。これらの処理を第2サブステップと称する。
なお、(数12)が示しているとおり、第2足ZMP位置(px2,py2)は、拘束条件によって(ρ1,ρ2)に指定することができる。この(ρ1,ρ2)は任意に与えることができるので、第2足ZMP許容領域B2の境界(図2で符号B2が示す多角形の周囲線上)を指定することが好ましい。
さて、(数20)によって着地タイミングt1が修正された。このとき、第1足ZMP位置(px1,py1)は、次の処理によって算出し直される。即ち、(数20)によって修正された着地タイミングt1を使って(数6)のrx1,rx2,ry1,ry2を再計算すると次の(数21)を得る。
即ち、(数21)によれば、(数11)の拘束条件の下で重心速度の終端境界条件dxg3=vxd,dyg3=vydを満たすt1,px1,py1,px2,py2が算出される。このように、3個の拘束条件が与えられる場合であっても、着地タイミングt1を修正することによって、第1足ZMP許容領域内となる第1足ZMP位置、及び、第2足ZMP許容領域内となる第2足ZMP位置を決定することができる。
これらの処理は、次のとおり表現することができる。即ち、コントローラ14は第1サブステップにおいて、算出された第1足ZMP位置(px1,py1)が、第1足の接地領域STEP1内に定められる第1足ZMP許容領域(図2のB1)を外れている場合、第1足ZMP位置(px1,py1)を第1足ZMP許容領域B1内に拘束する第1足ZMP拘束条件とイニシャル拘束条件の下でZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出し直す。このとき、コントローラ14は、第2サブステップにおいて、第2足ZMP拘束条件と第1足ZMP拘束条件とイニシャル拘束条件の下でZMP方程式が成立するように着地タイミングt1を修正する。
なお、上記の例では拘束条件の式の数が3個の場合(数11)を例示した。拘束条件の式の数は2個だがその2個の拘束条件の式が互いに平行な直線である場合、(数9)のマトリクス[A]は逆行列を持たない。例えば拘束条件が次の(数22)で与えられる場合は、(数8)は(数23)のとおり表される。
(数23)の左辺のマトリクスは逆行列を持たない。この場合は、(数5)にpx1=ρ1,px2=ρ2を代入して着地タイミングt1について整理し、(数24)を得る。
最終的に第2足ZMP位置(px2,py2)が算出されたら、着地する足と地面の接触領域内に第2足ZMP位置が含まれるように着地位置を決定する。図2の例では、足の接触領域の中央に第2足ZMP位置(px2,py2)が位置するように、着地位置STEP2を決定する。こうして、遊脚の着地位置と着地タイミングが決定される。最後に着地位置を決定する処理が、着地位置決定ステップに相当する。
以上の処理は、図4A、図4Bのフローチャートで表される。次に、着地タイミングと第2足ZMP位置の決定プロセスを、図4Aと図4Bのフローチャートに沿って説明する。コントローラ14はまず、第1足ZMP許容領域B1と第2足ZMP許容領域B2を設定する(S2)。第1足ZMP許容領域B1の具体例は図2に示されている。図2の例では、第1足ZMP許容領域B1は矩形である。コントローラ14は、第1足の接地面の周囲に沿って4本の直線を定める。コントローラ14は、直線で囲まれた領域を第1足ZMP許容領域B1と定める。各直線はaix+biy=ciの形式で表される。次にコントローラ14は、第2足ZMP許容領域を設定する。第2足ZMP許容領域は、図2の符号B2で示される。第2足ZMP許容領域B2は、着地可能領域A2内に設定される。
次にコントローラ14は、第2足ZMP位置(px2,py2)を設定する(S4)。第2足ZMP位置(px2,py2)は、第2足ZMP許容領域B1の中心、もしくは、予め定められた位置に設定する。図2では、第2足ZMP位置(px2,py2)は、遊脚の着地位置が着地可能領域A2の先端に位置するように決められる。第2足ZMP位置(px2,py2)は、例えば(数12)で設定される。
次にコントローラ14は、(数23)のマトリクス[A]を設定する(S6)。なお、このとき、重心の高さh、着地タイミングt1、単脚接地時間Tsd、両脚接地時間Tbd、終端における重心速度vxd、vydは、予め与えられる。(数23)のマトリクス[A]に逆行列が存在する場合(S8:YES)、与えられた着地タイミングt1で連立方程式を解き、第1足ZMP位置(px1,py1)を求める(S10)。なお、第2足ZMP位置(px2,py2)はステップS4で設定した。ここで、連立方程式は、ZMP方程式(数6)と拘束条件の式で与えられる。(数23)が連立方程式の一例に相当する。算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1内であり、設定された第2足ZMP位置(px2,py2)が第2足ZMP許容領域B2内であるならば、コントローラ14は、算出された第1足ZMP位置(px1,py1)と第2足ZMP位置(px2,py2)を求めるべきZMP位置として採用する(S12:YES)。このとき、コントローラ14は、第2足ZMP位置が含まれるように遊脚の足の着地位置STEP2(図2参照)を決定する。最後にコントローラ14は、遊脚の足が着地位置STEP2へ向かうように遊脚の軌道を決定する(S16)。コントローラ14は、遊脚の足が決定された軌道に沿って動くように、脚の関節を制御する。
算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1を外れている場合、或いは、設定された第2足ZMP位置(px2,py2)が第2足ZMP許容領域B2を外れている場合、コントローラ14は、拘束条件を追加する(S14)。
算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1を外れている場合の拘束条件の例を、図5、図6を参照して説明する。第1足ZMP許容領域B1は、足の4辺を表す4本の直線(aix+biy=ci、i=1〜4)で囲まれる領域に相当する。コントローラ14は、算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを表す直線を抽出する。図5の場合、直線a1x+b1y=c1が、算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示している。図6の場合、直線a1x+b1y=c1とa2x+b2y=c2が、算出された第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示している。コントローラ14は、抽出された直線を新たな拘束条件として採用する。図5の場合、新たな第1足ZMP位置(px1,py1)が直線a1x+b1y=c1に拘束される。図6の場合、新たな第1足ZMP位置(px1,py1)が、直線a1x+b1y=c1と直線a2x+b2y=c2の交点に拘束される。
次にコントローラ14は、追加された拘束条件の式の数を調べる(S22、S24)。拘束条件の式の数が2個以下の場合(S22:YES)、ステップS6に戻ってZMP位置を求め直す。ここで、(数23)の行列[A]は、新たな拘束条件によって変化する。例えば図5の場合、新たな拘束条件によって、行列[A]は(数8)で表される。図5と図6の例は、いずれも新たな拘束条件の式の数が2個以下の場合に相当する。
追加された拘束条件の式の数が3個の場合(S24:YES)、前述した連立方程式を時間(着地タイミングt1)に関して解く(S26)。別言すれば、ステップ26にて、着地タイミングt1を変数として扱って上記連立方程式を解く。(数8)或いは(数23)が連立方程式の例に相当する。連立方程式を解くことによって、着地タイミングt1が改めて算出される。別言すれば、予め与えられた着地タイミングが修正される。修正された着地タイミングt1は、第1足ZMP位置が第1足ZMP許容領域B1内であり、第2足ZMP位置が第2足ZMP許容領域B2内であることを保証する。修正された着地タイミングt1は、たとえば(数20)で算出される。最後にコントローラ14は、修正された着地タイミングが設定範囲内であるか否かを検証する(S30)。設定範囲は予め与えられる。
拘束条件の式の数が4個以上の場合(S24:NO)、或いは、時間(着地タイミング)を変数に含む連立方程式の解が存在しない場合(S28:NO)、この場合は安定歩行を実現する着地位置と着地タイミングが存在しないことに相当するのでコントローラ14は歩行動作を停止する(S32)。
なお、ステップS8において逆行列が存在しない場合(S8:NO)、ステップS24に処理が移り、コントローラ14は拘束条件の式の数が3個であるか否かを確認する(S24)。ステップS24以降の処理は既に説明したとおりである。
拘束条件を追加する処理の留意点を説明する。新たに追加する拘束条件の数は減じることができる場合がある。その例を図7、図8を参照して説明する。図7の場合、第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示す直線は3本である(a1x+b1y=c1、a2x+b2y=c2、及び、a3x+b3y=c3)。第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示す直線の数が奇数の場合、中央の直線(この場合はa2x+b2y=c2)だけを拘束条件として採用すれば十分である。即ち、この場合、拘束条件の式の数を3から1に減じることができる。
図8の場合、第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示す直線は4本である(a1x+b1y=c1、a2x+b2y=c2、a3x+b3y=c3、及び、a4x+b4y=c4)。第1足ZMP位置(px1,py1)が第1足ZMP許容領域B1から外れていることを示す直線の数が偶数(4以上)の場合、中央の2本の直線(この場合はa2x+b2y=c2とa3x+b3y=c3)だけを拘束条件として採用すれば十分である。即ち、この場合、拘束条件の式の数を4から2に減じることができる。
図1に示した二足歩行ロボット10のコントローラ14には、上記説明したアルゴリズムが実装されている。二足歩行ロボット10は、障害物センサ12のセンサデータに基づいて遊脚の着地可能領域(図2のA2)を決定する。ロボット10は、決定された着地可能領域A2を使って上記アルゴリズムを実行する。ロボット10は、上記アルゴリズムによって遊脚(第2足)の着地位置と着地タイミングを決定する。ロボット10は、決定した着地位置と着地タイミングを実現するように脚の各関節を制御する。こうして、ロボット10は安定に歩行することができる。
上記説明した着地タイミング決定の処理のアウトラインを、図9を参照して説明する。現在時刻t0は、右脚のみで立っている第1単脚接地期間接地であると仮定する(図1)。立脚ロボット10のコントローラは、まず、遊脚である左脚の着地可能領域A2を決定する(S41)。次にコントローラは、第1足ZMP許容領域と第2足ZMP許容領域を設定する(S42)。ここで、第1足は、立脚(右脚)に相当し、第2足は遊脚(左脚)に相当する。第1足ZMP許容領域は、右脚の接地面に相当する。右足の接地面は、図2の符号STEP1が示す矩形で表されている。図2の符号B1が第1足ZMP許容領域に相当する。安定のためのマージンを考慮し、第1足ZMP許容領域B1は、右足の接地面STEP1よりわずかに小さく設定されている。
第2足ZMP許容領域は、遊脚である左足の着地可能領域に対応して定められる。左足の着地可能領域は、図2の符号A2で表されている。図2の符号B2が第2足ZMP許容領域に相当する。安定のためのマージンを考慮し、第2足ZMP許容領域B2は、左足の着地可能領域A2よりわずかに小さく設定されている。
次にコントローラは、第1単脚接地期間と第1単脚接地期間の次に第2足のみで立つ第2単脚接地期間を含む重心軌道の始端と終端の境界条件を与えるとともに、第2足の着地タイミングを与えてZMP方程式を解き、第2単脚接地期間におけるZMP位置を表す第2足ZMP位置を算出する。この処理がZMP算出ステップに相当する。図9のステップS43〜S46が、ZMP算出ステップに相当する。なお、前出したように、(数6)で表された連立方程式がZMP方程式に相当する。(数6)の連立方程式は、(数1)のZMP方程式に、重心軌道の境界条件と着地タイミングt1一定という条件を加えることによって得られる。
ZMP算出ステップは、詳しくは、第1サブステップと第2サブステップに分けられる。第1サブステップは、第1サブステップは、重心軌道の境界条件と予め定められたイニシャル拘束条件の下で(数6)の連立方程式(ZMP方程式)を満足する第1足ZMP位置と第2足ZMP位置を算出する(S43)。第2サブステップは、S43で算出された第2足ZMP位置が第2足ZMP許容領域から外れている場合(S44:NO)、着地タイミングt1を変数として扱って再度ZMP方程式を解く(S46)。即ち、ZMP方程式を満足する着地タイミングt1を求める。このとき、(数6)のZMP方程式に、第2足ZMP位置を第2足ZMP許容領域に拘束する第2足ZMP拘束条件を新たに加える(S45)。別言すれば、第2足ZMP拘束条件とイニシャル拘束条件の下でZMP方程式が成立するように着地タイミングを修正する。
コントローラは、ステップS44の判断においてZMP位置が許容範囲内の場合(S44:YES)、或いは、ステップS46で着地タイミングt1が求まった場合、算出された第2足ZMP位置が、第2足(左足)と地面の接触領域内に含まれるように第2足の着地位置を決定する(S47)。この処理が着地位置決定ステップに相当する。
なお、ステップS43では、算出された第1足ZMP位置が、第1足の接地領域STEP1内に定められる第1足ZMP許容領域B1を外れている場合、第1足ZMP位置を第1足ZMP許容領域に拘束する第1足ZMP拘束条件とイニシャル拘束条件の下で前記ZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出し直す。この処理も第1サブステップの一部である。またこのとき、ステップS46では、第2足ZMP拘束条件と第1足ZMP拘束条件とイニシャル拘束条件の下でZMP方程式が成立するように着地タイミングを修正する。この処理は第2サブステップの一部である。
次に、着地タイミングと第2足ZMP位置の決定プロセスの別の例を示す。
(第1ステップ)まず、第1単脚接地期間におけるZMP位置を表す第1足ZMP位置の許容可能領域(第1足ZMP許容領域)を設定する。図10に現在時刻t0における第1足(立脚)の足の位置(接地面)STEP1と、第1足ZMP許容領域B1を定める境界線の式の関係を示す。ここでは、接地面(足裏面)の形状は矩形であると仮定する。数式aix+biy=ciは、足裏面の各辺に平行であり、足裏面の境界から所定の幅だけ内側の直線を表す。なお、ここでは、座標系のxy平面を接地面に一致させている。足裏面は矩形であるから、4本の直線が決定される。4本の直線で囲まれた領域が、第1足ZMP許容領域B1に相当する。
(第1ステップ)まず、第1単脚接地期間におけるZMP位置を表す第1足ZMP位置の許容可能領域(第1足ZMP許容領域)を設定する。図10に現在時刻t0における第1足(立脚)の足の位置(接地面)STEP1と、第1足ZMP許容領域B1を定める境界線の式の関係を示す。ここでは、接地面(足裏面)の形状は矩形であると仮定する。数式aix+biy=ciは、足裏面の各辺に平行であり、足裏面の境界から所定の幅だけ内側の直線を表す。なお、ここでは、座標系のxy平面を接地面に一致させている。足裏面は矩形であるから、4本の直線が決定される。4本の直線で囲まれた領域が、第1足ZMP許容領域B1に相当する。
(第2ステップ)次に、現在の遊脚(第2足)が着地できる領域、即ち着地可能領域A2から、第2足のZMP許容領域B2を設定し、各辺の直線の式を求める(図11)。
(第3ステップ)次に、ユーザパラメータを設定する。ここで、ユーザパラメータには、重心の高さh、初期ZMP移動時間t0、基準の単脚時間Tsd、基準の両脚時間Tbd、及び、現在注目している期間の終端における目標重心速度vxd、vydがある。
(第4ステップ)次に、第2足のZMP位置px2、py2を着地可能領域A2の中心、もしくは、予め指定された位置に設定し、(数26)を解く。なお、ここで与えられる第2足のZMP位置px2、py2は、テンポラリの拘束条件(イニシャル拘束条件)に相当する。
(数26)は、先の例における(数6)に相当する。(数26)を解くと、px1、px2、py1、py2が求まる。
(第5ステップ)次に、ZMP位置px1、px2、py1、py2がZMP許容領域から外れていないかを調べる。ZMP位置がZMP許容領域から外れていない場合は、後述する第10ステップに移行する。ZMP位置がZMP許容領域から外れている場合は、外れているZMP位置に近い直線を新たな拘束条件として追加する。第1足のZMP位置px1、px2が第1足ZMP許容領域B1を外れた場合の例は、先の図5、図6で例示した。図5の場合、直線a1x+b1y=c1が追加される拘束条件に相当する。図6の場合は、直線a1x+b1y=c1と直線a2x+b2y=c2が追加される拘束条件に相当する。
(第6ステップ)次に、追加される拘束条件の数を調べる。1個の拘束条件が追加される場合(図5の場合)、(数26)に直線a1x+b1y=c1を拘束条件として追加し、次の(数27)を解く。(数27)の第3行に、拘束条件が追加されている。
2個の拘束条件が追加される場合(図6の場合)、(数26)に直線a1x+b1y=c1と直線a2x+b2y=c2を拘束条件として追加し、次の(数28)を解く。(数28)の第3行と第4行に、拘束条件が追加されている。なお、拘束条件が3個の場合は、後述する第8ステップに移行する。また、拘束条件が4個以上の場合は、(数26)を解くことができない。この場合は、歩行を継続することができないので、脚式ロボットの歩行動作を停止する。
(第7ステップ)次に、行列Aのランクを調べる。ここで、行列Aは、(数26)、(数27)、又は、(数28)の、左辺の行列に相当する。行列Aがフルランクを有する場合、(数26)、(数27)、又は、(数28)は、(数10)の形式で解くことが出来る。この場合、(数26)、(数27)、又は、(数28)を解いた後、第5ステップに戻る。行列Aがフルランクを有していない場合、次の第8ステップに移行する。
(第8ステップ)次に、第1足の着地タイミングt1を変数に加えて(自由度に加えて)、(数26)、(数27)、又は(数28)を解く。追加された拘束条件と(数5)から、t1、px1、py1、px2、及び、py2が求められる。なお、解が求められない場合は、歩行動作を停止する。
(第9ステップ)次に、着地タイミングt1が早過ぎないか否かをチェックする。なぜならば、着地タイミングt1が早すぎる場合、遊脚のスイング速度が過大となってしまうからである。着地タイミングt1が適正な範囲内の場合、第5ステップへ戻る。着地タイミングt1が適正な範囲から外れている場合、歩行動作を停止する。着地タイミングt1の適正な範囲は、予め与えられる。
(第10ステップ)最後に、決定されたt1、px1、py1、px2、及び、py2の値と初期条件から、重心軌道と遊脚の足の軌道(第1足の軌道)を生成する。重心の軌道は、(数3)で与えられる。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:二足歩行ロボット
12:障害物センサ
14:コントローラ
16R、16L:脚
12:障害物センサ
14:コントローラ
16R、16L:脚
Claims (5)
- 単脚接地期間と両脚接地期間を繰り返しながら歩行する二足歩行ロボットの足の着地位置と着地タイミングを決定する方法であり、
第1足のみで立つ第1単脚接地期間と第1単脚接地期間の次に第2足のみで立つ第2単脚接地期間を含む重心軌道の始端と終端の境界条件を与えるとともに、第2足の着地タイミングを与えてZMP方程式を解き、第2単脚接地期間におけるZMP位置を表す第2足ZMP位置を算出するZMP算出ステップと、
第2足と地面の接触領域内に第2足ZMP位置が含まれるように第2足の着地位置を決定する着地位置決定ステップと、
を備えており、ZMP算出ステップは、
算出された第2足ZMP位置が第2足の着地可能領域に対応して定められる第2足ZMP許容領域から外れている場合、第2足ZMP位置が第2足ZMP許容領域内となるように着地タイミングを修正することを特徴とする方法。 - 前記ZMP方程式は、第1単脚接地期間におけるZMP位置を表す第1足ZMP位置と、前記第2足ZMP位置を変数として有しており、
前記ZMP算出ステップは、前記境界条件と予め定められたイニシャル拘束条件の下で前記ZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出する第1サブステップと、
算出された第2足ZMP位置が第2足ZMP許容領域から外れている場合、第2足ZMP位置を第2足ZMP許容領域に拘束する第2足ZMP拘束条件の下で前記ZMP方程式が成立するように着地タイミングを修正する第2サブステップと、
を備えることを特徴とする請求項1に記載の方法。 - 前記第2足ZMP拘束条件は、第2足ZMP位置を第2足ZMP許容領域の境界に拘束することを特徴とする請求項2に記載の方法。
- 第1サブステップは、算出された第1足ZMP位置が、第1足の接地領域内に定められる第1足ZMP許容領域を外れている場合、第1足ZMP位置を第1足ZMP許容領域に拘束する第1足ZMP拘束条件の下で前記ZMP方程式を満足する第1足ZMP位置と第2足ZMP位置を算出し直し、
第2サブステップは、前記第2足ZMP拘束条件と第1足ZMP拘束条件の下でZMP方程式が成立するように着地タイミングを修正することを特徴とする請求項2又は3に記載の方法。 - 請求項1から4のいずれか1項に記載のアルゴリズムが実装されたコントローラと、
障害物を検知するセンサと、
を備えており、コントローラは、障害物の検知結果に基づいて前記着地可能領域を決定することを特徴とする二足歩行ロボット。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/062360 WO2012011182A1 (ja) | 2010-07-22 | 2010-07-22 | 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5282852B2 true JP5282852B2 (ja) | 2013-09-04 |
JPWO2012011182A1 JPWO2012011182A1 (ja) | 2013-09-09 |
Family
ID=45496622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525281A Active JP5282852B2 (ja) | 2010-07-22 | 2010-07-22 | 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8565921B2 (ja) |
JP (1) | JP5282852B2 (ja) |
CN (1) | CN103003031B (ja) |
WO (1) | WO2012011182A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5910647B2 (ja) * | 2014-02-19 | 2016-04-27 | トヨタ自動車株式会社 | 移動ロボットの移動制御方法 |
US9387588B1 (en) | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US9446518B1 (en) * | 2014-11-11 | 2016-09-20 | Google Inc. | Leg collision avoidance in a robotic device |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
CN104535995B (zh) * | 2015-01-27 | 2017-03-15 | 北京智谷睿拓技术服务有限公司 | 信息获取方法、信息获取装置及用户设备 |
US9594377B1 (en) | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
US9686027B2 (en) * | 2015-05-20 | 2017-06-20 | Viasat, Inc. | Validation of a two-way satellite communication system without utilizing a satellite |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
US9925667B1 (en) | 2016-01-25 | 2018-03-27 | Boston Dynamics, Inc. | Continuous slip recovery |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
JP6682341B2 (ja) * | 2016-05-10 | 2020-04-15 | パナソニック株式会社 | 歩行制御方法、歩行制御プログラム及び2足歩行ロボット |
CN105955278B (zh) * | 2016-07-03 | 2018-08-17 | 柳州惠林科技有限责任公司 | 一种基于电动独轮车的摇头式平衡木偶 |
CN106737682B (zh) * | 2016-12-31 | 2019-08-16 | 深圳市优必选科技有限公司 | 机器人掉电防摔方法和装置及掉电防摔机器人 |
CN108639183B (zh) * | 2018-06-07 | 2021-03-19 | 重庆邮电大学 | 一种提高双足机器人平衡性和行走速度的装置及控制方法 |
CN111098300B (zh) * | 2019-12-13 | 2021-06-04 | 深圳市优必选科技股份有限公司 | 一种机器人平衡控制方法、装置、可读存储介质及机器人 |
CN113119097B (zh) * | 2019-12-30 | 2022-07-29 | 深圳市优必选科技股份有限公司 | 机器人的行走控制方法、装置、机器人和可读存储介质 |
CN113879421B (zh) * | 2021-10-28 | 2022-07-08 | 乐聚(深圳)机器人技术有限公司 | 双足机器人的运动轨迹规划方法、装置、设备及介质 |
KR20240070199A (ko) * | 2022-11-14 | 2024-05-21 | 주식회사 레인보우로보틱스 | 복수의 다리를 갖는 로봇 및 그것의 터치다운 위치 결정 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05337849A (ja) * | 1992-05-29 | 1993-12-21 | Honda Motor Co Ltd | 脚式移動ロボットの姿勢安定化制御装置 |
WO2003090982A1 (fr) * | 2002-04-26 | 2003-11-06 | Honda Giken Kogyo Kabushiki Kaisha | Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes |
WO2006064598A1 (ja) * | 2004-12-14 | 2006-06-22 | Honda Motor Co., Ltd. | 脚式移動ロボットおよびその制御プログラム |
JP2007160438A (ja) * | 2005-12-12 | 2007-06-28 | Honda Motor Co Ltd | 脚式移動ロボット |
JP2009214255A (ja) * | 2008-03-12 | 2009-09-24 | Toyota Motor Corp | 脚式ロボット、及びその制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3167407B2 (ja) | 1992-03-12 | 2001-05-21 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
US5349277A (en) | 1992-03-12 | 1994-09-20 | Honda Giken Kogyo Kabushiki Kaisha | Control system for legged mobile robot |
US5432417A (en) | 1992-04-30 | 1995-07-11 | Honda Giken Kogyo Kabushiki Kaisha | Locomotion control system for legged mobile robot |
JP3167420B2 (ja) | 1992-04-30 | 2001-05-21 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
DE60126153T2 (de) | 2000-11-17 | 2007-10-18 | Honda Giken Kogyo K.K. | Gangmustererzeugungsvorrichtung für beweglichen roboter mit beinen |
JP4295947B2 (ja) | 2002-02-15 | 2009-07-15 | ソニー株式会社 | 脚式移動ロボット及びその移動制御方法 |
JP3599244B2 (ja) | 2002-11-06 | 2004-12-08 | ソニー株式会社 | ロボット装置、ロボット装置の運動制御装置並びに運動制御方法 |
KR100835361B1 (ko) | 2003-08-29 | 2008-06-04 | 삼성전자주식회사 | 간이 지면반력 센서를 이용한 보행 로봇 및 그 제어 방법 |
JP4564447B2 (ja) * | 2004-12-14 | 2010-10-20 | 本田技研工業株式会社 | 自律移動ロボット |
JP4641252B2 (ja) * | 2005-12-12 | 2011-03-02 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
JP2009072839A (ja) | 2007-09-19 | 2009-04-09 | Yaskawa Electric Corp | 二足歩行ロボットの制御装置および歩容制御方法 |
-
2010
- 2010-07-22 WO PCT/JP2010/062360 patent/WO2012011182A1/ja active Application Filing
- 2010-07-22 JP JP2012525281A patent/JP5282852B2/ja active Active
- 2010-07-22 CN CN201080068169.0A patent/CN103003031B/zh active Active
-
2012
- 2012-07-13 US US13/549,250 patent/US8565921B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05337849A (ja) * | 1992-05-29 | 1993-12-21 | Honda Motor Co Ltd | 脚式移動ロボットの姿勢安定化制御装置 |
WO2003090982A1 (fr) * | 2002-04-26 | 2003-11-06 | Honda Giken Kogyo Kabushiki Kaisha | Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes |
WO2006064598A1 (ja) * | 2004-12-14 | 2006-06-22 | Honda Motor Co., Ltd. | 脚式移動ロボットおよびその制御プログラム |
JP2007160438A (ja) * | 2005-12-12 | 2007-06-28 | Honda Motor Co Ltd | 脚式移動ロボット |
JP2009214255A (ja) * | 2008-03-12 | 2009-09-24 | Toyota Motor Corp | 脚式ロボット、及びその制御方法 |
Non-Patent Citations (1)
Title |
---|
JPN7010003567; 田窪朋仁,今田吉則 大原賢一, 前泰志, 新井健生: 'ZMP修正指標マップを用いた連続不整地歩行' 日本機械学会ロボティクス・メカトロニクス講演会講演論文集(CD-ROM) Vol.2009, 20090524, 2A1-E07 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012011182A1 (ja) | 2013-09-09 |
US8565921B2 (en) | 2013-10-22 |
CN103003031B (zh) | 2014-07-02 |
WO2012011182A1 (ja) | 2012-01-26 |
US20120277910A1 (en) | 2012-11-01 |
CN103003031A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5282852B2 (ja) | 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法 | |
US8855820B2 (en) | Leg motion trajectory generation device for legged mobile robot | |
JP4929506B2 (ja) | 脚式移動ロボット | |
JP6068302B2 (ja) | 脚式移動ロボットの制御装置 | |
JP3278467B2 (ja) | 移動ロボットの制御装置 | |
US9527538B2 (en) | Control device for legged mobile robot | |
JP4807583B2 (ja) | 射影変換収束演算処理方法 | |
KR101272193B1 (ko) | 다리식 이동 로봇 및 그 제어 프로그램 | |
KR101234726B1 (ko) | 다리식 이동 로봇 및 그 제어 프로그램 | |
JP2011161524A (ja) | 2脚歩行ロボット及びそのための歩容データ生成方法 | |
KR100889481B1 (ko) | 이족 로봇의 계단 보행 방법 | |
JPH0692076B2 (ja) | 歩行脚運動制御装置 | |
KR100946706B1 (ko) | 다리식 이동 로봇 및 그 제어방법 | |
Roditis et al. | Maintaining static stability and continuous motion in rough terrain hexapod locomotion without terrain mapping | |
JP2018034239A (ja) | 移動ロボット及びそのほふく移動方法 | |
CN113534831B (zh) | 一种提高四足机器人爬楼梯能力的静步态规划方法及装置 | |
JP4696728B2 (ja) | 脚式ロボットとその制御方法 | |
Loc et al. | Control of a quadruped robot with enhanced adaptability over unstructured terrain | |
JP4696727B2 (ja) | 歩容データの作成装置と作成方法 | |
Ling et al. | Footprint searching and trajectory design of a humanoid robot | |
JP2012024872A (ja) | 脚式歩行ロボット及びその足軌道決定方法 | |
JP2005052896A (ja) | 歩行ロボットとその制御方法 | |
JP2007007801A (ja) | 脚式ロボットとその制御方法 | |
JP2008238328A (ja) | 歩行ロボット及び歩行制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20130430 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130513 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5282852 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |