JP4833121B2 - 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム - Google Patents

脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム Download PDF

Info

Publication number
JP4833121B2
JP4833121B2 JP2007069494A JP2007069494A JP4833121B2 JP 4833121 B2 JP4833121 B2 JP 4833121B2 JP 2007069494 A JP2007069494 A JP 2007069494A JP 2007069494 A JP2007069494 A JP 2007069494A JP 4833121 B2 JP4833121 B2 JP 4833121B2
Authority
JP
Japan
Prior art keywords
trajectory
leg
center
gravity
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007069494A
Other languages
English (en)
Other versions
JP2008229747A (ja
Inventor
敏男 福田
泰久 長谷川
将弘 土井
日出輝 梶間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2007069494A priority Critical patent/JP4833121B2/ja
Publication of JP2008229747A publication Critical patent/JP2008229747A/ja
Application granted granted Critical
Publication of JP4833121B2 publication Critical patent/JP4833121B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、脚式ロボットと歩容生成装置を備えるシステムに関する。
脚式ロボットにおいて受動歩行を実現する技術が従来から開発されている。受動歩行の場合、関節をアクチュエータ等によって能動的に制御して歩行する場合に比べて、歩行のために消費するエネルギーが少なく、自然で滑らかな歩行動作を実現できるという利点がある。
本出願人らは、これまでにも脚式ロボットを受動歩行させる技術として、特許文献1の技術を開発している。
特許文献1の技術によれば、ラテラル面(歩行進行方向に対して垂直な面)内での足踏み動作と、サジタル面(歩行進行方向と鉛直方向を含む面)内での動作を別個の倒立振子モデルによって扱い、ラテラル面内での動作とサジタル面内での動作を協調させて、安定した受動歩行を継続することができる。
特開2006−082146号公報
特許文献1の技術には、改善の余地が残されている。特許文献1の技術では、ラテラル面における倒立振子の動作とサジタル面における倒立振子の動作を独立したものとして扱っている。従って、安定して歩行を継続するためには、それらの動作の周期を正確に一致させる必要がある。ロボットの歩幅が小さいうちは、動作の周期を一致させることはそれほど困難なことではない。しかしながら、ロボットの歩幅が大きくなるにつれて、ラテラル面における足踏み動作の周期とサジタル面における動作の周期にずれが生じて、運動の同時性が崩れてしまう。その結果、安定した歩行を持続的できなくなってしまうという問題があった。
本発明では上記課題を解決する。本発明では、脚式ロボットを自然な動作で継続して歩行させることが可能な技術を提供する。
本発明は、脚式ロボットと歩容生成装置を備えるシステムとして具現化される。その歩容生成装置は、脚式ロボットの重心軌道と足先軌道を生成する。その脚式ロボットは、その重心軌道とその足先軌道を実現する各関節の相対変位量の時系列を目標関節変位量として計算する目標関節変位量計算装置と、目標関節変位量に応じて各関節を駆動する関節駆動装置を備えている。その歩容生成装置は、脚式ロボットが一方の脚を支持脚として他方の脚を遊脚とする期間における重心軌道を、支持脚の接地位置を2軸に回転自由な支点とする倒立振子モデルを用いて生成する。
なお本明細書で関節変位量とは、関節を介在して接続する部材間の相対的な位置関係のことをいう。例えば関節が回転関節の場合には関節変位量は関節の回転角度(関節角度)を示し、関節が直動関節の場合には関節変位量は関節での相対移動量を示す。
本発明のシステムでは、歩容生成装置が、支持脚の接地位置を2軸に回転自由な支点とする倒立振子モデルを用いて、脚式ロボットの重心軌道と足先軌道を生成する。このような倒立振子モデルから生成される重心軌道と足先軌道は、脚式ロボットが受動歩行を行う際の重心軌道と足先軌道を表現している。生成された重心軌道と足先軌道に従って脚式ロボットを動作させることで、消費するエネルギーが少なく、安定して持続可能な歩行動作を実現することができる。本発明のシステムでは、歩容生成装置で生成された重心軌道と足先軌道を実現するように、脚式ロボットが各関節を駆動することによって、脚式ロボットを歩行させることができる。
本発明のシステムでは、2軸で回転可能に支持された単独の倒立振子モデルを用いて、脚式ロボットの重心軌道と足先軌道を生成する。すなわち、受動歩行時の脚式ロボットの運動を、ラテラル面内での運動に関する倒立振子モデルと、サジタル面内での運動に関する倒立振子モデルによってそれぞれ別個に生成するのではなく、重心の3次元運動を表現する単独の倒立振子モデルを用いて生成している。従って、従来技術のように別個のモデルを用いた結果運動の同時性が崩れてしまうという問題を回避することができる。
上記のシステムは、脚式ロボットの実際の各関節の相対変位量を検出する関節変位量検出装置と、脚式ロボットの重心軌道と足先軌道を修正する歩容修正装置をさらに備えており、その歩容修正装置が、(A)実際の各関節の相対変位量に基づいて、倒立振子モデルの初期状態を決定し、(B)その初期状態に基づいて倒立振子モデルを用いて新たに重心軌道と足先軌道を生成し、(C)前記(B)で生成された重心軌道と足先軌道を、修正された重心軌道と足先軌道として脚式ロボットに提供することが好ましい。
本発明のシステムでは、脚式ロボットは受動歩行と同様な歩行を実現する重心軌道と足先軌道に従って能動的に各関節を駆動している。このようなシステムでは、歩行中に種々の外乱が脚式ロボットに作用した場合に、当初に予定していた受動歩行パターンから外れてしまって、歩行が不安定になってしまう場合がある。
上記のシステムのように、歩行動作中の脚式ロボットの実際の状態を検出して、検出された状態に応じてその後の脚式ロボットの重心軌道と足先軌道を新たに生成する構成とすることによって、外乱が作用する環境においても安定した歩行を継続することができる。
上記のシステムにおいては、歩容修正装置が、前記(B)で新たに重心軌道と足先軌道を生成する際に、目標とする接地位置に基づいて遊脚を接地する際の遊脚の開脚角度を修正することが好ましい。
倒立振子運動においては、初期状態における支点と重心の位置関係が変化すると、その後の運動は大きく変化する。倒立振子モデルの支点は支持脚の接地位置としているから、振り出した遊脚が接地する位置を変更することは、すなわちその後の運動における支持脚の接地位置を変更することになり、その後の歩行動作の態様も大きく変化する。
上記のシステムによれば、遊脚を接地する際の遊脚の開脚角度を修正することによって、遊脚が接地する位置を修正して、その後の脚式ロボットの歩行動作を調整することが可能となる。外乱等によって脚式ロボットの歩行動作が所望の態様から外れてしまった場合であっても、その後の脚式ロボットの歩行動作を所望の態様にすみやかに復帰させることができる。
本発明のシステムによれば、脚式ロボットを自然な動作で継続して歩行させることができる。
以下、本発明を具現化した実施例について図面を参照して説明する。
(形態1)歩容修正装置は、遊脚の開脚角度の修正量についての複数の候補値それぞれについて、倒立振子モデルを用いて重心軌道と足先軌道を新たに生成して、将来の接地位置を推定し、目標とする接地位置に最も近い接地位置を実現するような遊脚の開脚角度の修正量を決定する。
(第1実施例)
図1は、ロボット100の機械構成のスケルトン図を示す。股関節に3軸、膝関節に1軸、足首関節に2軸、肩関節に2軸、肘関節に2軸、手首関節に1軸を備えている。ロボット100は各関節にエンコーダ付のモータを備えており、関節角度を調整でき、関節角度を計測することができる。ψ1、ψ2、・・・、ψ24は各関節の関節角度を示す。以下では関節角度ψ1、ψ2、・・・、ψ24を計測するエンコーダをそれぞれエンコーダ201、202、・・・、224と呼び、関節角度ψ1、ψ2、・・・、ψ24を調整するモータをそれぞれモータ251、252、・・・、274と呼ぶ。ロボット100は足平の裏側にホトセンサ225,226を備えている。ホトセンサ225,226は、足平が接地しているのか浮遊しているのかを検出する。
図2は、ロボット100のコントローラ200の構成を示している。コントローラ200には、エンコーダ201、202、・・・、224の出力と、ホトセンサ225、226の出力が入力される。コントローラ200は、モータ251、252、・・・、274に回転角度を指示する。
コントローラ200は、ロボット100を受動歩行させるような重心の軌道および遊脚の足先の軌道を、ロボット100が歩行動作を開始する前に予め生成して、記憶している。重心の軌道と、遊脚の足先の軌道は、支持脚の足先の基準点を原点とする相対座標によって表現されている。
コントローラ200は、ロボット100が歩行動作を開始すると、記憶された重心の軌道および遊脚の足先の軌道を読み出して、逆キネマティクス演算によって各モータ251、252、・・・、274に指示する回転角度の時系列データを生成する。各モータ251、252、・・・、274が生成された時系列データに従って各関節の関節角度を調整することによって、ロボット100は受動歩行を行うことができる。
またコントローラ200は、ロボット100の歩行動作中に、ホトセンサ225、226およびエンコーダ201、202、・・・、224の検出結果に基いて、ロボット100の現在の状態を特定する。コントローラ200は、特定されたロボット100の現在の状態に基いて、読み出された重心の軌道および遊脚の足先の軌道を修正して、各関節の関節角度の生成を行う。
すなわち、本実施例のロボット100では、コントローラ200が、ロボット100が歩行動作を開始する前にロボット100の重心軌道と遊脚足先軌道を生成する歩容生成装置としての機能と、ロボット100が歩行動作を行っている間にロボット100の重心軌道と遊脚足先軌道を修正する歩容修正装置としての機能を備える。また、本実施例のロボット100では、コントローラ200が、生成されたロボット100の重心軌道と遊脚足先軌道を実現するような各関節の関節角度の時系列データを生成する目標関節角度計算装置としての機能も備えている。
以下ではロボット100の受動歩行の概要について説明する。ロボット100は一方の脚を支持脚として接地した状態において、支持脚の足首関節を進行方向にも体側方向にも回転自由とする。この際に進行方向への慣性が存在すると、ロボット100は支持脚の足首関節を支点とした倒立振子の挙動を示し、進行方向へ向けて倒れこんでいく。遊脚としている脚を進行方向に向けて振り出しておけば、ロボット100が倒れこむことによって、遊脚の足先が接地する。遊脚の足先が接地した後、その接地した遊脚を新たに支持脚として、新たな支持脚の足首関節を進行方向にも体側方向にも回転自由とする。ロボット100には進行方向への慣性が作用しているため、ロボット100は新たな支持脚の足首関節を支点とする倒立振子の挙動を示し、さらに進行方向へ向けて倒れこんでいく。また、それまで支持脚であった脚は、ロボット100が倒れこむことによって浮遊し、遊脚となる。その後、新たな遊脚を進行方向に向けて振り出しておけば、ロボット100が倒れこむことによって、再び遊脚の足先が接地する。このような動作を繰り返すことによって、ロボット100は受動的に歩行を継続することができる。
支持脚の足首関節を回転自由とした場合でも、実際には、足首関節には摩擦が存在する。しかしながら、回転自由とする足首関節のモータに、摩擦を相殺するだけのトルクを与えることによって、摩擦が存在しない状態を作り出すことができる。本発明で関節を回転自由にするというのは、モータに電流を加えないで受動回転を許容するようにすることのみならず、摩擦を相殺するだけのトルクを与えることによって実質的には摩擦が存在しない状態とすることの両者を言う。
図3を参照しながら、ロボット100に受動歩行を行わせる際の重心の目標軌道と遊脚の足先の目標軌道を生成する倒立振子モデルについて説明する。図3の倒立振子モデル300は、ロボット100が一方の脚(例えば右脚)を支持脚として接地させ、他方の脚(例えば左脚)を遊脚として前方に振り出している状態をモデル化している。倒立振子モデル300では、質量mの質点302がロボット100の重心に相当しており、この質点302が支持脚の足平304に対して支持脚リンク306によって接続されている。支持脚リンク306の下端は、支持脚の足平304に対して、ピッチとヨーの2軸での回転が可能に接続されている。支持脚リンク306の上端は、質点302に対して、ピッチ、ロールおよびヨーの3軸での回転が可能に接続されている。さらに支持脚リンク306は、長さ方向に伸縮可能であって、振子長Lを調整することができる。この6自由度のモデルによって、支持脚の足平304から見たロボット100の重心の並進運動と、ロボット100の重心まわりの回転運動を記述することができる。本実施例のロボット100では、ロボット100の重心が床面に対してピッチおよびロールの2軸に関して回転しないように制御される。また、倒立振子モデル300では、遊脚リンク308が質点302に対して、ピッチ、ロールおよびヨーの3軸での回転が可能に接続されている。遊脚リンク308の先端310は、ロボット100の遊脚の足先に相当している。
上記した倒立振子モデル300は、支持脚の接地位置を2軸に回転自由な支点とする倒立振子を表現している。この倒立振子モデル300における質点302の運動は、図4に示す球座標系を用いることで、簡易的に扱うことができる。図4に示す球座標系では、支持脚の足先を原点として、重心の動径をRとし、支持脚の足平の接地面に垂直な方向(図ではz方向としている)からの重心の偏角をθとし、支持脚の足平の接地面に重心を投影したときの支持脚の足平が向いている方向(図ではx方向としている)からの偏角をφとしている。
図3の倒立振子モデル300において、質点302の位置を(L、θ、φ)の球座標で表現すると、倒立振子の運動は次式で表現される。
Figure 0004833121
ここで、変数の右上に付したダッシュ(')は、その変数の時間に関する1階微分を表現している。φ'はφの時間に関する1階微分を、θ'はθの時間に関する1階微分を表現する。C1は定数である。θ、θ’、φ、φ’についての初期条件と、倒立振子の振子長Lの時系列データが与えられると、上式に基く数値積分によって、θとφの時系列データを得ることができる。L、θ、φの時系列データは、ロボット100の重心軌道を表現している。上式から明らかなように、倒立振子の振子長Lを変化させることで、倒立振子の運動の様子が変化し、ロボット100に実現させる歩行態様も変化する。
図5はロボット100が支持脚を切替えながら歩行していく様子を、倒立振子モデルの切替わりで表現したものである。ロボット100が右脚を支持脚としている状態では、ロボット100の運動は、重心Gが右脚の足平502にリンク504で接続された倒立振子モデル506で表現される。この状態から、重心Gが進行方向に倒れこんでいき、遊脚としていた左脚が接地して支持脚を切替えると、それ以降のロボット100の運動は、重心Gが左脚の足平508にリンク510で接続された倒立振子モデル512によって表現される。さらに重心Gが進行方向に倒れこんでいき、遊脚としていた右脚が接地して支持脚を切替えると、それ以降のロボット100の運動は、重心Gが右脚の足平514にリンク516で接続された倒立振子モデル518によって表現される。
支持脚を入れ替える時点での倒立振子モデルの切替わりにおいては、ロボット100の外部から見て重心Gの位置と速度が連続しなければならない。本実施例では、遊脚が接地する際の重心の高さを一定値Z0とする。倒立振子モデルの終端状態における重心の位置L2、θ2、φ2と、倒立振子モデルの初期状態における重心の位置L0、θ0、φ0は、幾何学的に以下の条件を満たす必要がある。
Figure 0004833121
また、ロボット100が歩行する際の歩幅を(X0、Y0)で表現すると、幾何学的に以下の条件を満たす必要がある。
Figure 0004833121
このような関係から、ロボット100に実現させたい歩幅X0、Y0、遊脚接地時の重心高さZ0が与えられると、遊脚を浮遊させた直後における重心の位置L0、θ0、φ0に対して、その遊脚を接地させるときの重心の位置L2、θ2、φ2を決定することができる。
倒立振子の振子長Lは、ロボット100の滑らかな運動が実現されるように調整される。本実施例では、振子長Lをθの関数として、例えば以下のように調整する。
Figure 0004833121
ここで、θ1はθ'がゼロのときのθの値(すなわちθの最小値)である。θ'が減少していく(倒立振子が起き上がっていく)段階においては、振子長Lは一定としておく。その後、θ'がゼロとなり、さらにθ'が増加していく(倒立振子が倒れていく)段階においては、振子長LをL0からL2まで増加させる。この倒立振子モデルにおいて振子長Lを増加させることは、実際のロボット100においては、各関節をモータ251、252、・・・、274によって回転駆動し、重心の運動にエネルギーを注入することに相当する。
すなわち、本実施例の倒立振子モデルにおいては、倒立振子が起き上がるまでは、エネルギーを注入することなく、慣性を利用して重心を前方に移動させる。そして、倒立振子が倒れていく際には、次に遊脚を接地して再び起き上がる動作にそなえて、重心を支持脚の足先から離れる方向に押し出して、倒立振子にエネルギーを注入する。このようにロボット100が一歩歩行するごとに倒立振子にエネルギーを注入することによって、遊脚の接地によって失われるエネルギーが補償されて、ロボット100は安定して受動歩行を継続することができる。このような制御を行う場合、ロボット100の重心は進行方向への慣性力を利用して移動していくから、非常に少ないエネルギーでロボット100を歩行させることができる。
上記した歩行制御において、遊脚の軌道は、(1)重心の位置がL0、θ0、φ0のときに、遊脚の足先から見た重心の相対的な位置がL2、θ2、φ2であって、(2)重心の位置がL2、θ2、φ2となるときに、遊脚の足先から見た重心の相対的な位置がL0、θ0、φ0であるという条件のもとで、任意に決定することができる。上記(1)の条件は、それまで支持脚であった脚が新たに遊脚となって振り出されることから、倒立振子運動の終端状態における支持脚足先と重心の位置関係が、その後の倒立振子運動の初期状態における遊脚足先と重心の位置関係となることに相当する。上記(2)の条件は、それまで遊脚であった脚が接地して新たに支持脚となることから、倒立振子運動の初期状態における支持脚と重心の位置関係が、その直前の倒立振子運動の終端状態における遊脚足先と重心の位置関係となることに相当する。本実施例のロボット100では、上述の(1)と(2)の条件のもとで、多項式補間によって遊脚の軌道を生成する。
本実施例では、ロボット100が所望の歩行態様X0、Y0、Z0で安定して歩行が可能なL0、θ0、φ0、L2、θ2、φ2が予め指定されており、指定されたL0、θ0、φ0、L2、θ2、φ2に対応する重心の目標軌道と遊脚足先の目標軌道がコントローラ200によって予め計算されている。計算された重心の軌道と遊脚足先の軌道はコントローラ200に記憶されており、ロボット100が歩行を開始すると、順次読み出されていく。ロボット100は読み出された重心の目標軌道と遊脚足先の目標軌道に従って各関節の関節角度の時系列データを生成し、各関節を回転駆動することによって、歩行動作を実現する。
実際にロボット100を歩行させると、ロボット100の現実の動力学特性と倒立振子モデルの動力学特性の相違や、床面の予期せぬ凹凸や、ロボット100に作用する予期せぬ外乱等によって、所望の歩行態様から外れた歩行動作をしてしまう場合がある。このような状況では、安定して歩行を継続させることが困難となる。そこで、本実施例のロボット100では、歩行中のロボット100の状態をリアルタイムに計測して、その後の動作における重心の目標軌道と遊脚足先の目標軌道を修正する。以下では、コントローラ200が行う重心の目標軌道と遊脚足先の目標軌道の修正処理について説明する。
コントローラ200は、ホトセンサ225、226によって両方の脚が接地している状態を検出すると、エンコーダ201、202、・・・、224によって各関節の関節角度ψ1、ψ2、・・・、ψ24を計測する。コントローラ200は、計測された関節角度ψ1、ψ2、・・・、ψ24から、新たな支持脚の足先から見た重心の相対位置であるL0、θ0、φ0を算出する。
コントローラ200は、計算されたL0、θ0、φ0から、倒立振子モデルを用いてその後のロボット100の運動をシミュレーションする。コントローラ200が用いる倒立振子モデルは、ロボット100が歩行動作を開始する前に予め重心の目標軌道と遊脚足先の目標軌道を計算する際に用いたものと同様である。
コントローラ200は、倒立振子モデルを用いたシミュレーションによって、次に遊脚が接地する際の遊脚の開脚角度に応じてその後の歩行動作がどのように変化するのかを予測する。なお本明細書で遊脚の開脚角度とは、ロボット100の体幹に沿って上方向に伸びる軸に垂直な面内に、ロボット100の重心と、支持脚の足先と、遊脚の足先をそれぞれ投影した場合に、支持脚の足先の投影点と重心の投影点を結ぶ線と、遊脚の足先の投影点と重心の投影点を結ぶ線がなす角度のことをいう。
図6は重心604と支持脚606と遊脚602を備える倒立振子モデルを鉛直上方向から見た図である。図6に示すように、遊脚602を接地する際の遊脚602の開脚角度によって、遊脚602の接地位置608は変化する。遊脚602の接地位置608が変化すると、支持脚を切替えて再び遊脚を振り出す際の支持脚の足先から見た重心の相対的な位置が変化して、その後の倒立振子運動の初期状態が変化する。これによって、その後のロボット100の歩行動作の態様も変化する。
図7は遊脚接地時の遊脚の開脚角度を修正した場合に、その後の一歩ごとの遊脚の接地位置が変化する様子を示している。支持脚の接地位置702(以下ではi歩目の接地位置702という)から、遊脚の開脚角度を180度として遊脚を接地させた場合には、i+1歩目は接地位置704aで接地する。その後の歩行動作によって、i+2歩目は接地位置706aで接地し、i+3歩目は接地位置708aで接地する。
i歩目の接地位置702から、遊脚の開脚角度を180度よりも小さくして遊脚を接地させた場合には、i+1歩目は接地位置704bで接地する。その後の歩行動作によって、i+2歩目は接地位置706bで接地し、i+3歩目は接地位置708bで接地する。
逆に、i歩目の遊脚接地位置702から、遊脚の開脚角度を180度よりも大きくして遊脚を接地させた場合には、i+1歩目は接地位置704cで接地する。その後の歩行動作によって、i+2歩目は接地位置706cで接地し、i+3歩目は接地位置708cで接地する。
図7から明らかなように、遊脚を接地する際の遊脚の開脚角度を修正することによって、その後のロボット100の歩行動作の態様は大きく変化する。
本実施例のコントローラ200は、遊脚接地時の遊脚の開脚角度をδDだけ変化させた場合のi+1歩目の歩行動作を倒立振子モデルによってシミュレーションし、さらにその後のi+2歩目とi+3歩目の歩行動作についても倒立振子モデルによってシミュレーションする。これによって、i+1歩目の遊脚接地時において遊脚の開脚角度をδD変化させた場合の、i+1歩目、i+2歩目、i+3歩目の接地位置がそれぞれ計算される。
コントローラ200は、上記のδDを段階的に増減して、上記したシミュレーションを繰り返し実施し、i+1歩目、i+2歩目、i+3歩目の接地位置を計算する。これによって、様々なδDの値に対応したi+1歩目、i+2歩目、i+3歩目の接地位置が得られる。
コントローラ200は、上記のようにして計算されたi+3歩目の接地位置から、所望の歩行動作を実現した場合のi+3歩目の接地位置に最も近いものを選択して、遊脚接地時の遊脚の開脚角度の修正量δDを決定する。
一般に受動歩行においては、実際のロボット100の動力学特性の左右のアンバランスや、他の様々な要因によって、歩行態様について左右のアンバランスを生じてしまうことがある。このような左右のアンバランスが生じると、右脚を遊脚としたときの歩幅と、左脚を遊脚としたときの歩幅が相違して、ロボット100を所望の方向に歩行させることが困難となる。
本実施例のロボット100によれば、歩行動作中にロボット100の現実の動作状態を検出して、その後の3歩先の接地位置までを予測して、ロボット100が所望の方向に進んでいけるように、遊脚を接地する際の遊脚の開脚角度を修正する。このような修正を行うことによって、受動歩行に特有な左右のアンバランスが解消されて、ロボット100を所望の方向に歩行させることができる。
コントローラ200は、上記のようにして遊脚の開脚角度の修正量δDが決定されると、そのδDに関してすでに行った倒立振子モデルを用いたシミュレーションの結果に基づいて、重心の目標軌道と遊脚足先の目標軌道をそれぞれ修正する。
コントローラ200は、上記のように修正された重心の目標軌道と遊脚足先の目標軌道から、逆キネマティクス演算によって、各関節の関節角度ψ1、ψ2、・・・、ψ24の時系列データを生成する。生成された各関節の関節角度の時系列データに基いて、モータ251、252、・・・、274が各関節を回転駆動して、ロボット100は歩行を継続する。
以下では図8のフローチャートを参照しながら、コントローラ200が重心の目標軌道と遊脚足先の目標軌道を修正する処理について説明する。本実施例のロボット100では、両方の脚が接地した状態(すなわち、それまで遊脚としていた脚が接地した状態)をホトセンサ225、226によって検出すると、図8の処理を実行して、その後の重心の目標軌道と遊脚足先の目標軌道を修正する。
ステップS802では、エンコーダ201、202、・・・、224によって各関節の関節角度ψ1、ψ2、・・・、ψ24を計測する。
ステップS804では、各関節の関節角度ψ1、ψ2、・・・、ψ24の時系列データから、倒立振子モデルの初期状態として用いるロボット100の重心の位置L0、θ0、φ0をそれぞれ算出する。
ステップS806では、遊脚を接地する際の遊脚の開脚角度の修正量δDに所定値を設定する。
ステップS808では、重心の位置L0、θ0、φ0と、遊脚の開脚角度の修正量δDから、倒立振子モデルを用いて、遊脚を接地するまでの重心軌道と、遊脚足先軌道を生成する。
ステップS810では、ステップS808で生成された重心軌道と遊脚足先軌道に基づいて、ロボット100がその後に遊脚を接地した後の歩行動作を生成する。ロボット100のその後の歩行動作は、倒立振子モデルを順次切替えていくことによって生成される。
ステップS812では、遊脚の開脚角度の修正量δDに応じた、ロボット100の3歩先の接地位置を取得する。
ステップS814では、遊脚の開脚角度の修正量δDを他の値に変更して上記の処理を繰り返すか否かを判断する。遊脚の開脚角度の修正量δDを他の値に変更して上記の処理を繰り返す場合(ステップS814でYESの場合)には、ステップS816へ進んで、遊脚の開脚角度の修正量δDを他の値に変更し、ステップS808へ進む。遊脚の開脚角度の修正量δDを他の値に変更して上記の処理を繰り返す必要がない場合(ステップS814でNOの場合)には、ステップS818へ進む。
ステップS818では、遊脚の開脚角度の修正量δDごとに計算された3歩先の接地位置を、所望の歩行態様において実現される3歩先の目標接地位置と比較して、最も目標接地位置に近い接地位置となる遊脚の開脚角度の修正量δDを決定する。
ステップS820では、ステップS818で決定された遊脚の開脚角度の修正量δDに応じて、ステップS808とステップS810ですでに生成されている重心軌道と遊脚足先軌道を、修正された重心軌道と修正された遊脚足先軌道として、改めて記憶する。
上記のように、本実施例のロボット100は、重心軌道と遊脚足先軌道の修正処理を一歩ごとに繰り返し行うことによって、安定して歩行を持続することができる。
本実施例のロボット100によれば、ロボット100の重心軌道および遊脚の足先軌道を生成する際に、ラテラル面内での運動とサジタル面内での運動を別個のモデルから生成するのではなく、2軸での回転が可能に支持された単独の倒立振子モデルを用いて運動を生成している。このような構成とすることによって、複数の異なるモデルから生成した運動を組み合わせる際に同時性が崩れてしまう問題を回避することができる。
なお本実施例では、コントローラ200が、(1)歩行動作を開始する前にロボット100の重心軌道と遊脚足先軌道を生成する歩容生成装置としての機能と、(2)重心軌道と遊脚足先軌道を読み出して、その重心軌道と遊脚足先軌道を実現する各関節の関節角度の時系列を目標関節角度として計算する目標関節角度計算装置としての機能と、(3)歩行動作中にロボット100の重心軌道と遊脚足先軌道を修正する歩容修正装置としての機能を備えている例について説明した。
上記とは異なり、上記(1)の歩容生成装置としての機能および/または上記(3)の歩容修正装置としての機能は、ロボット100の外部に設置され、コントローラ200と信号通信可能な外部コンピュータによって実現されてもよい。このような構成とすると、演算負荷が高い重心軌道と遊脚足先軌道の生成処理をコントローラ200で行う必要がなくなり、コントローラ200における演算負荷を軽減することができる。
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
図1はロボットの機械構成を示すスケルトン図である。 図2はロボットのコントローラの構成を示す図である。 図3は倒立振子モデルを模式的に示す図である。 図4は倒立振子モデルにおいて扱う球座標系を説明する図である。 図5は倒立振子モデルの切替わりによってロボットの歩行を表現する様子を示す図である。 図6は遊脚接地時における遊脚の開脚角度と遊脚の接地位置の関係を示す図である。 図7は遊脚接地時における遊脚の開脚角度とその後の1歩ごとの遊脚の接地位置の関係を示す図である。 図8は重心軌道と遊脚の足先軌道を修正する処理を説明するフローチャートである。
符号の説明
100:ロボット
200:コントローラ
201、202、・・・、224:エンコーダ
225、226:ホトセンサ
251、252、・・・、274:モータ
300:倒立振子モデル
302:質点
304:支持脚の足平
306:支持脚リンク
308:遊脚リンク
310:遊脚リンクの先端
502、508、514:足平
504、510、516:リンク
506、512、518:倒立振子モデル
602:遊脚
604:重心
606:支持脚
608:遊脚の接地位置
702:i歩目の接地位置
704a、704b、704c:i+1歩目の接地位置
706a、706b、706c:i+2歩目の接地位置
708a、708b、708c:i+3歩目の接地位置

Claims (1)

  1. 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステムであって、
    前記歩容生成装置は、前記脚式ロボットの重心軌道と足先軌道を生成し、
    前記脚式ロボットは、前記重心軌道と前記足先軌道を実現する各関節の相対変位量の時系列を目標関節変位量として計算する目標関節変位量計算装置と、前記目標関節変位量に応じて各関節を駆動する関節駆動装置と、実際の各関節の相対変位量を検出する関節変位量検出装置を備えており、
    前記歩容修正装置は、前記脚式ロボットの前記重心軌道と前記足先軌道を修正し、
    前記歩容生成装置は、前記脚式ロボットが一方の脚を支持脚として他方の脚を遊脚とする期間における重心軌道を、支持脚の接地位置を2軸に回転自由な支点とする倒立振子モデルを用いて生成し、
    前記歩容修正装置は、
    (A)前記実際の各関節の相対変位量に基づいて、前記倒立振子モデルの初期状態を決定し、
    (B)前記初期状態に基づいて前記倒立振子モデルを用いて新たに重心軌道と足先軌道を生成し、
    (C)前記(B)で生成された前記重心軌道と前記足先軌道を、修正された前記重心軌道と前記足先軌道として前記脚式ロボットに提供し、
    前記歩容修正装置は、前記(B)で新たに重心軌道と足先軌道を生成する際に、目標とする接地位置に基づいて遊脚を接地する際の遊脚の開脚角度を修正し、
    前記歩容修正装置は、遊脚の開脚角度の修正量についての複数の候補値それぞれについて、前記倒立振子モデルを用いて重心軌道と足先軌道を新たに生成して、将来の接地位置を推定し、目標とする接地位置に最も近い接地位置を実現するような遊脚の開脚角度の修正量を決定することを特徴とするシステム。
JP2007069494A 2007-03-16 2007-03-16 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム Active JP4833121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007069494A JP4833121B2 (ja) 2007-03-16 2007-03-16 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007069494A JP4833121B2 (ja) 2007-03-16 2007-03-16 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム

Publications (2)

Publication Number Publication Date
JP2008229747A JP2008229747A (ja) 2008-10-02
JP4833121B2 true JP4833121B2 (ja) 2011-12-07

Family

ID=39903154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007069494A Active JP4833121B2 (ja) 2007-03-16 2007-03-16 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム

Country Status (1)

Country Link
JP (1) JP4833121B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5467291B2 (ja) * 2009-09-16 2014-04-09 学校法人 工学院大学 省エネルギー型ロボット関節駆動制御システム
CN114248855B (zh) * 2021-12-20 2022-10-21 北京理工大学 双足机器人空间域步态规划与控制的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3024023B2 (ja) * 1992-05-22 2000-03-21 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3658147B2 (ja) * 1996-07-25 2005-06-08 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3864907B2 (ja) * 2002-12-26 2007-01-10 トヨタ自動車株式会社 体幹を捩じって歩行する2足ロボットとそのための方法
KR100709556B1 (ko) * 2005-10-19 2007-04-20 한국과학기술연구원 인간형 로봇의 보행 제어 방법
JP2008080418A (ja) * 2006-09-26 2008-04-10 Yaskawa Electric Corp 二足歩行ロボットの制御装置

Also Published As

Publication number Publication date
JP2008229747A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
JP4513320B2 (ja) ロボット装置、並びにロボット装置の運動制御方法
JP4951732B2 (ja) 駆動方法、駆動制御装置及びロボット
US9002512B2 (en) Robot and method of controlling walking thereof
US9073209B2 (en) Walking robot and control method thereof
US20120158183A1 (en) Walking robot and control method thereof
US7663332B2 (en) Walking robot by using passive changes in joint angles and control method thereof
US8498743B2 (en) Robot and method of controlling balance thereof
KR101687630B1 (ko) 보행 로봇 및 그 균형 제어 방법
US20120158182A1 (en) Walking control apparatus and method of robot
JP2004167676A (ja) ロボット装置、ロボット装置の運動制御装置並びに運動制御方法
KR20130063230A (ko) 보행 로봇 및 그 제어 방법
KR20020086468A (ko) 각식 이동 로봇을 위한 동작 제어 장치 및 동작 제어방법, 및 로봇 장치
US20110172824A1 (en) Walking robot and method of controlling the same
US8781628B2 (en) Walking robot and control method thereof
JP5104355B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
US8301303B2 (en) Robot and method of controlling the same
US8805583B2 (en) Robot and control method thereof
Ding et al. Walking stabilization control for humanoid robots on unknown slope based on walking sequences adjustment
JP4833121B2 (ja) 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム
WO2016159346A1 (ja) 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
JP2009255231A (ja) 歩行制御装置および歩行制御方法
Hengst runswift walk2014 report robocup standard platform league
JP2008142861A (ja) 歩容データ生成装置と歩容データ生成方法
JP4583098B2 (ja) ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。
JP2009125838A (ja) 二足歩行ロボットおよびその歩行制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110616

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110921

R150 Certificate of patent or registration of utility model

Ref document number: 4833121

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250