JP2008126382A - 脚式移動ロボット、及びその制御方法 - Google Patents

脚式移動ロボット、及びその制御方法 Download PDF

Info

Publication number
JP2008126382A
JP2008126382A JP2006316477A JP2006316477A JP2008126382A JP 2008126382 A JP2008126382 A JP 2008126382A JP 2006316477 A JP2006316477 A JP 2006316477A JP 2006316477 A JP2006316477 A JP 2006316477A JP 2008126382 A JP2008126382 A JP 2008126382A
Authority
JP
Japan
Prior art keywords
limit value
leg
robot
ankle joint
target torque
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.)
Pending
Application number
JP2006316477A
Other languages
English (en)
Inventor
Hideki Kajima
日出輝 梶間
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 JP2006316477A priority Critical patent/JP2008126382A/ja
Publication of JP2008126382A publication Critical patent/JP2008126382A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】制御性よく、安定した移動を行なうことができる脚式移動ロボット、及びその制御方法を提供すること。
【解決手段】本発明の一態様にかかる脚式移動ロボットは、足首関節が設けられた脚部を有するロボット1であって、足首関節を駆動するモータ142と、足首関節に対する目標トルクを算出するアンプ135と、遊脚の足首関節に対する目標トルクのリミット値が設定されるリミット値設定部136と、目標トルクとリミット値とを比較して、目標トルクがリミット値を超えた場合にリミット値に応じた駆動信号をモータ142に出力する比較部137と、を備えるものである。
【選択図】図2

Description

本発明は、脚部を有する脚式移動ロボット、及びその制御方法に関するものである。
近年、歩行するための脚部を備え、この脚部を駆動し、脚部の下端に設けられた足平部分を所定の歩容データに基づいて床面上に配置することで歩行動作を行う脚式移動型のロボットが開発されている。(例えば特許文献1)
このような脚式移動型のロボットは、まず、脚部の足平部分を床面に接触させて支持脚とし、その後に足平の裏面で床面を押して脚部全体(ロボット全体)を上げるように脚部を駆動することで、次の歩行動作を行う。駆動された脚部は遊脚となる一方、他の脚部が支持脚となり、このように、遊脚と支持脚とを交互に繰り返して切り換えることで、歩行動作を行うことが可能になる。
このような歩行動作を安定して行う際には、ロボット全体の重心位置を制御して、脚部を駆動する必要がある。すなわち、左右に各々脚部を有する2足歩行タイプの脚式歩行型ロボットの場合、歩行する床面に接地する支持脚の足平部分の接地面内部に、ロボット全体の重心によるモーメントが作用しない点(ZMP=Zero Moment Point)を位置させる。
特開平5−305580号公報
特許文献1に示されている脚式移動型ロボットの脚部は、股関節、大腿、膝関節、下腿、足首関節、及び足平を備えている。そして、脚部に連結された胴体の目標重心位置と実際の重心位置との偏差から、腰の移動量を算出している。そして、算出された腰の移動量から駆動する関節角度をそれぞれ求めて、各関節を駆動している。
脚式移動ロボットでは、床面の凹凸や傾斜がある場合、転倒してしまうという問題点がある。そのため、特許文献1の脚式移動ロボットでは、センサによって検出した足平の絶対角度や傾斜角速度によって関節の駆動制御値を補正している。この制御では、センサからの出力に対してフィルタ処理を行っている。そして、フィルタ処理された出力に対して補正するための演算を行っている。そのため、この脚式移動ロボットでは、フィルタ処理や演算で演算処理の遅れが生じていまい、関節の駆動に対する応答性を上げ難い。従って、従来の脚式移動ロボットでは、安定して移動させようとすると、制御性が低下してしまうという問題点があった。
本発明は、このような問題を解決するためになされたものであり、制御性よく、安定した移動を行うことができる脚式移動ロボット、及びその制御方法を提供することを目的とする。
本発明の第1の態様にかかる脚式移動ロボットは、足首関節が設けられた脚部を有する脚式移動ロボットであって、駆動信号に応じて前記足首関節を駆動する足首関節駆動部と、前記足首関節に対する目標トルクを算出する目標トルク算出部と、遊脚の前記足首関節に対する前記目標トルクのリミット値が設定されるリミット値設定部と、前記目標トルクと前記リミット値とを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を前記足首関節駆動部に出力する比較部と、を備えるものである。このような構成によって、足首関節に対するゲインを大きくした場合でも、足首関節に対する過大トルクの発生を抑制することができ、足裏が地面形状に倣う。よって、制御性よく、安定した移動することができる。
本発明の第2の態様にかかる脚式移動ロボットは、上記の脚式移動ロボットであって、前記遊脚の下降中における前記目標トルクに対して前記リミット値が設定されることを特徴とするものである。これにより、着地時に足裏が地面形状に受動的に倣うため、安定して移動することが可能となる。
本発明の第3の態様にかかる脚式移動ロボットは、上記の脚式移動ロボットであって、前記リミット値設定部に設定されたリミット値が、前記脚式移動ロボットの状態量を計測するセンサの出力に基づいて、更新されることを特徴とするものである。これにより、適切なリミット値を設定することができるため、より安定した移動が可能となる。
本発明の第4の態様にかかる脚式移動ロボットは、上記の脚式移動ロボットであって、前記センサが、荷重センサであることを特徴とするものである。
本発明の第5の態様にかかる脚式移動ロボットは、上記の脚式移動ロボットであって、前記センサが、加速度センサであることを特徴とするものである。
本発明の第6の態様にかかる脚式移動ロボットの制御方法は、足首関節が設けられた脚部を有し、前記足首関節を目標トルクに応じて駆動する脚式移動ロボットの制御方法であって、遊脚の前記足首関節の目標トルクに対するリミット値を設定するステップと、前記足首関節に対する目標トルクを算出するステップと、前記目標トルクと前記リミット値とを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を出力するステップと、前記リミット値に応じた駆動信号に基づいて前記足首関節を駆動するステップと、を備えるものである。このような構成によって、足首関節に対するゲインを大きくした場合でも、足首関節に対する過大トルクの発生を抑制することができ、足裏が地面形状に倣う。よって、制御性よく、安定した移動することができる。
本発明の第7の態様にかかる脚式移動ロボットの制御方法は、上記の制御方法において、前記遊脚の下降中における前記目標トルクに対して前記リミット値が設定されることを特徴とするものである。これにより、着地時に足裏が地面形状に受動的に倣うため、安定して移動することが可能となる。
本発明の第8の態様にかかる脚式移動ロボットの制御方法は、上記の制御方法において、前記脚式移動ロボットの状態量を計測するセンサの出力に基づいて、前記リミット値が更新されることを特徴とするものである。これにより、適切なリミット値を設定することができるため、より安定した移動が可能となる。
本発明によれば、制御性よく、安定した移動を行うことができる脚式移動ロボット、及びその制御方法を提供することが可能となる。
本実施の形態にかかるロボットは、足首関節が設けられた脚部を有する脚式移動ロボットである。この脚色移動ロボットは、駆動信号に応じて足首関節を駆動する足首関節駆動部と、足首関節に対する目標トルクを算出する目標トルク算出部と、遊脚の足首関節に対する目標トルクのリミット値が設定されるリミット値設定部とを備えている。そして、目標トルクと前記リミット値とを比較して、目標トルクがリミット値を超えた場合にリミット値に応じた駆動信号を足首関節駆動部に出力する。ここで、脚式移動ロボットの状態量を計測するセンサの出力に応じて、リミット値を設定してもよい。なお、脚式移動ロボットの状態量とは、脚色移動ロボットの現在の状態を示す値である。脚式移動ロボットの状態量としては、例えば、足首にかかる水平荷重、及び垂直荷重や、重心位置の加速度である。
発明の実施の形態1.
以下に、図1を参照しつつ本発明の実施の形態1にかかる脚式移動ロボット(以下、単にロボットという)について説明する。
図1は、ロボット1を正面から見た様子を概略的に表す概略図であり、床面F上をロボット1が歩行する様子を表しているなお、図1においては、説明の便宜上、ロボット1が進行する向き(前後方向)をx軸、ロボット1が進行する方向について水平方向に直交する向き(左右方向)をy軸、移動体の移動する平面から鉛直方向に延びる向き(上下方向)をz軸とし、これらの3軸からなる座標系を用いて説明する。すなわち、図1中において、前記x軸は紙面の奥行方向、y軸は紙面に向かって左右方向、z軸は紙面中の上下方向を示す。
図1に示すように、ロボット1は、頭部2と、体幹(胴体)3と、体幹3に結合された腰部4と、体幹3に接続された右腕5、左腕6と、腰部4に対して回動自在に固定される脚部10と、を備えた2足歩行型のロボットである。以下、詳細に説明する。
頭部2は、ロボット1の周囲の環境を視覚的に撮像するための左右一対の撮像部(図示せず)を備えているとともに、体幹3に対して頭部2を鉛直方向に平行な軸周りに回動させることで、周囲の環境を広く撮像する。撮像した周囲の環境を示す画像データは、後述する制御部130に送信され、ロボット1の動作を決定するための情報として用いられる。
体幹3は、その内部にロボット1の動作を制御する制御部130や、脚部のモータ等に電力を供給するためのバッテリー(図示せず)等を収容するものである。制御部130は、脚部10を駆動し、ロボット1を動かすための歩容データを記憶する記憶領域と、この記憶領域に記憶された歩容データを読み出す演算処理部と、脚部10に含まれるモータを駆動するモータ駆動部と、を備えている。なお、制御部130の構成については後述する。これらの各構成要素は、体幹3の内部に設けられたバッテリー(図示せず)から電力を供給されることで動作する。
また、演算処理部は、記憶領域に記憶された歩容データを読み出すとともに、読み出した歩容データによって特定されるロボット1の姿勢を実現するために必要な脚部10の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ駆動部に送信する。
モータ駆動部は、演算処理部より送信された信号に基づいて、脚部を駆動するための各モータの駆動量を特定し、これらの駆動量でモータを駆動させるためのモータ駆動信号を各モータに送信する。これによって脚部10の各関節における駆動量が変更され、ロボット1の動きが制御される。
また、演算処理部は、読み出した歩容データに基づいてモータの駆動を行うように指令するほか、ロボット1に組み込まれたジャイロや加速度計やロータリーエンコーダなどセンサ(図示せず)からの信号を受けて、モータの駆動量を調整する。このように、センサにより検出したロボット1に作用する外力や、ロボット1の姿勢などに応じて脚部10の関節角を調整することで、ロボット1が安定した状態を維持することができる。
右腕5および左腕6は、体幹3に対して回動自在に接続されており、肘部分および手首部分に設けられた関節部分を駆動することにより、人間の腕部と同様の動きを行うことができる。また、手首部分の先端に接続された手先部は、図示を省略するが物体を把持するためのハンド構造を備えており、ハンド構造に組み込まれた複数の指関節を駆動することで、様々な形状の物体を把持することが可能となる。
腰部4は、体幹3に対して回動するように接続されており、歩行動作を行う際に腰部4の回動動作を組み合わせることで、脚部10を駆動するために必要な駆動エネルギーを低減させることができる。
2足歩行を行うための脚部10(右脚20、左脚30)は、右脚20と左脚30とから構成されている。詳細には、図2に示すように、右脚20は右股関節21、右上腿22、右膝関節23、右下腿24、右足首関節25、右足平26を備え、同様に、左脚30は左股関節31、左上腿32、左膝関節33、左下腿34、左足首関節35、左足平36を備えている。
そして、右脚20および左脚30とは、図示しないモータからの駆動力が、同じく図示しないプーリおよびベルトを介して伝達されることで、各関節部が所望の角度に駆動され、その結果、脚部に所望の動きをさせることができる。
なお、本実施形態においては、脚部10(右脚20および左脚30)は、下腿を膝関節回りに前方側に持ち上げると、人間の脚部のように、上腿と下腿が後方側に向かって開いた状態(上腿の延長線よりも後方側に、下腿が膝関節回りに回転した状態)となる。
記憶領域に記憶された歩容データは、操作部(図示せず)から送られる信号で特定される脚部10の移動量に対応づけて、脚部10の足平(右足平26、左足平36)の先端(足先)の位置と、ロボット1本体の位置とを、ロボット1の移動する空間を定める座標系(例えばxyz座標系)において経時的に指示するものである。
ここで、制御部130について詳細に説明する。制御部130は、演算処理部であるCPU(Central Processing Unit)、記憶領域であるROM(Read Only Memory)やRAM(Random Access Memory)、通信用のインターフェースなどを有し、ロボット1の各種動作を制御する。例えば、ROMには、制御するための制御プログラムや、各種の設定データ等が記憶されている。そして、CPUは、このROMに記憶されている制御プログラムを読み出し、RAMに展開する。そして、設定データや、センサ等からの出力に応じてプログラムを実行する。
次に、歩行動作を制御するための制御部130の構成について図2を用いて説明する。図2は、制御部130の構成を示すブロック図である。なお、ここでは、主にロボット1の歩行動作の制御について説明する。制御部130は、歩容データ記憶部131と、目標関節角度算出部132と、アンプ133と、アンプ135と、リミット値設定部136と、比較部137とを有している。そして、制御部130は、モータ141、及びモータ142を駆動するための駆動信号を出力する。
ここで、歩容データ記憶部131は、上述の記憶領域の一部であり、歩容データを記憶している。具体的には、目標足平軌道、目標ZMP軌道、目標体幹位置が歩容データとして記憶されている。この歩容データは、次のように算出することができる。まず、初期位置と目標位置までの間における経時的な足平位置のデータを算出する。ここでは、左足平、及び右足平のそれぞれに対して、経時的な足平位置のデータが算出される。この経時的な足平位置のデータが目標足平軌道である。
次に、左右の足平位置を考慮して、ロボット1のZMP(ゼロモーメントポイント)が存在しなければならない位置を算出する。ZMPは、ロボット1に作用する重力、慣性力、床反力、その他の外力を合わせた合力のモーメントがゼロとなる点をいう。ロボット1の重心位置を通る合力方向の延長線と床面との交点がZMPとなる。ZMPは、ロボット1の歩行安定度を判別するための規範として一般的に用いられる。具体的に述べると、ロボット1の支持多角形内にZMPが存在すれば、ロボット1は転倒しない。従って、両脚支持期では、ロボット1の支持多角形内に含まれるようにZMPが設定され、単脚支持期では、ロボット1の支持脚の足平内にZMPが設定される。このように設定されたZMPを目標ZMPという。そして、経時的な足平位置データに対応する目標ZMPのデータが目標ZMP軌道となる。実際のZMPが目標ZMP軌道通りに移動すれば、ロボット1は転倒せずに歩行する。
上述のように足平位置とそれに応じて変化する目標ZMPを求めた後と、体幹位置の経時的変化を仮定して、ロボットのダイナミクスを計算する。体幹位置を計算する時点で、足先軌道が設定されている。このため、体幹位置を仮定すると、ロボット1の姿勢が決まる。ロボットの姿勢が決まると重心位置が決まる。よって、ロボット1の姿勢が決まると、その姿勢におけるZMPを算出することが可能となる。なお、ZMPを算出するためには、ロボットに作用する慣性力が必要となる。従って、仮定した体幹位置の経時的変化を計算に含めることで、ロボット1のダイナミクスまで考慮して、ZMPを計算することが可能となる。体幹位置の経時的変化を仮定することによって求められるZMPが目標ZMPと一致するまで、繰り返し計算を行なう。このようにして、目標体幹軌道、すなわち体幹位置の経時的変化を算出することができる。なお、歩容データの生成を上記の方法に限られるものではない。
これらの目標足平軌道、及び目標体幹軌道が歩容データとして記憶される。すなわち、歩容データには、目標足平軌道を示す足平歩容データ、及び目標体幹軌道を示す体幹歩容データが含まれる。なお、上述の説明では、歩容データが時間に対する位置の変化で与えられているが、位置に限らず、速度でも、加速度でもよい。すなわち、位置と速度と加速度とは、互いに関連していることから、そのうちの一つの量から他の量を算出することができる。従って、歩容データを時間に対する速度や加速度の変化で与えてもよい。
歩容データ記憶部131は、上記のように歩容データを算出し、記憶する。そして、目標関節角度算出部132は、歩容データを読み出す。そして、歩容データに基づいて、各関節の目標関節角度を算出する。目標関節角度算出部132は、目標体幹軌道、及び目標足平軌道に基づいて目標関節角度を算出する。具体的には、逆運動学を解くことによって、それぞれの関節における目標関節角度が算出される。さらに、ロボット1に設けられている各種センサやロータリーエンコーダ等からの出力によって、目標角度は補正されている。
ここで、目標関節角度算出部132で算出された目標関節角度は、アンプ133、135に入力される。ここでは、2つのアンプ133、135が示されているが、実際には、関節の自由度に応じて複数のアンプ133、135がロボット1に対して設けられている。アンプ135は、足首関節を駆動するためのアンプである。一方、アンプ133は、足首関節以外を駆動するためのアンプである。すなわち、アンプ133は、膝関節や股関節等を駆動するためのアンプである。そして、上記のアンプ133、135は左脚30、及び右脚20のそれぞれに対して設けられている。
アンプ133、135には適当なゲインが設定されている。そして、アンプ133、135は、目標入力された目標関節角度に基づいて目標トルクを算出し、モータ141、142の目標トルクに応じた駆動信号を出力する。アンプ133から出力された駆動信号はモータ141に入力される。モータ141は、例えば、膝関節や股関節を駆動するための関節駆動部である。そして、モータ141は、アンプ133から入力される駆動信号によって駆動される。これにより、足首関節以外の関節が目標トルクで駆動され、目標関節角度になるよう制御される。なお、実際には、モータ141、及びアンプ133は、足首関節以外の関節の自由度に応じた数だけ設けられている。
一方、アンプ135からの出力される目標トルクは、比較部137に入力される。なお、アンプ135から出力される目標トルクは足首関節を駆動するためのものである。リミット値設定部136には、足首関節の目標トルクに対するリミット値が設定されている。リミット値はモータ142が出力可能な最大トルクとは異なるものであり、最大トルクよりも低い値となっている。リミット値設定部136に設定されているリミット値は、比較部137に入力される。比較部137は、リミット値と、目標トルクとを比較する。そして、目標トルクがリミット値を越えていない場合、比較部137は、目標トルクに応じた駆動信号を、モータ142に出力する。一方、目標トルクがリミット値を越えていた場合、リミット値に応じた駆動信号をモータ142に出力する。これにより、モータ142がリミット値に対応するトルクで駆動する。すなわち、リミット値を駆動トルクとして、モータ142が駆動する。
なお、リミット値としては、目標トルクの上限、及び下限が設定される。ここで、足首関節の回転方向に応じて、トルクが正負となる。すなわち、正のトルクと負のトルクでは、足首関節の回転方向が反対となる。例えば、リミット値設定部136には、正のリミット値がトルクの上限値として設定され、負のリミット値がトルクの下限値として設定される。これにより、目標トルクの許容範囲が設定される。従って、足首関節を駆動する駆動トルクが許容範囲外となるのを防ぐことができる。すなわち、目標トルクが上限以上の場合は、上限値を駆動トルクとし、目標トルクが下限以下の場合は、下限値を駆動トルクとする。
ここで、左右両脚の足首関節にそれぞれリミット値を設定する。従って、単脚支持期では、床面Fと接している支持脚だけでなく、床面Fから離れている遊脚に対してもリミット値が設定される。このように、足首関節の目標トルクにリミット値を設けることによって、歩行中に、ロボット1が転倒するのを防ぐことができる。これについて、図3、及び図4を用いて説明する。
図3、及び図4は、歩行中のロボット1の脚部の構成を模式的に示す図である。図3は、リミット値が設定されていない状態での挙動を示し、図4はリミット値が設定されている状態での挙動を示している。図3、及び図4に示すように、ロボット1が歩行中に右脚20で異物200を踏んだ場合について考える。右脚20が異物200上に着地する場合、着地を予定しているタイミングよりも前で床反力を受けるため、目標トルクが大きくなってしまう。すなわち、異物200を踏んでない場合の目標関節角度に近づけるため、歩容データから算出される目標トルクが大きくなるように補正される。まず、目標トルクのリミット値が設定されていない場合について図3を用いて説明する。リミット値が設定されていない場合、着地時に異物200を踏んだ場合でも、異物200を踏んだことを認識しない。従って、そのまま歩行動作を継続すると、右脚20が想到外の過大な床反力を受けることになる。すなわち、異物200を踏んだとしても、異物200を踏んでない場合の目標関節角度に基づく目標トルクが右足首関節25に与えられたままの状態となる。従って、ロボット全体に対して後方向に転倒モーメントが生じてしまう(図3の矢印)。よって、ロボット1が転倒したり、不安定になってしまう。このように、足首関節の目標トルクにリミット値を設定しない場合、足平に加わる外乱によって、ロボット全体が不安定となる。
次に、足首関節に目標トルクを設けた場合について、図4を用いて説明する。目標トルクにリミット値が設定されている場合、足首関節が柔らかくなる。従って、想到外の過大な床反力を受ける前に、足裏が床面形状に倣う。なお、足裏は平面となっている。ロボット1に対して転倒モーメントが生じないため、ロボット全体が不安定になるのを防ぐことができる。すなわち、目標トルクがリミット値を越えると、異物を踏んだと認識される。そして、リミット値と等しい駆動トルクによって足首関節を駆動する。これにより、床反力を受け流すことができ、足裏が床面から離れるのを防ぐことができる。よって、ロボット全体が安定し、転倒するのを防ぐことができる。このように、リミット値を設けることによって、足首関節における過大トルクの発生を抑制することができる。よって、足裏が床面形状に倣うように制御される。
ここで、足平が下降してから着地予定時間までの間に、リミット値を設定することが好ましい。すなわち、足平が上昇している間は、リミット値を設定しなくてもよい。従って、比較部147における比較は、足平上昇時には行なわれず、下降時のみ行なわれる。異物を跨ぐ際に、つまずくおそれがあるからである。従って、着地する可能性のある足平下降時に、その脚のリミット値が設定されていればよい。足平が上昇している間は、その足首関節の目標トルクがリミット値を越えても、目標トルクを駆動トルクとしてそのまま使用すればよい。また、床面Fに数cmの凹凸があることが想定される場合、床面Fから数cmの高さの位置となるタイミングでリミット値を設定してもよい。このように、足平が下降している間にリミット値を設定することによって、異物等を踏んだ瞬間からリミット値以上のトルクで駆動されるのを防ぐことができる。これにより、安定して歩行することが可能となる。ここで、リミット値は着地時に許容できる床反力に応じて決定することができる。許容できる床反力は、例えば、ロボット1の重心の動きによって決められる。具体的には、着地時に床反力を受けたくない場合、リミット値は0となる。このように、歩行中のタイミングに応じて、リミット値を変更してもよい。
次に、足平が床面に接触している状態で外乱を受けた場合について、図5、及び図6を用いて説明する。図5、及び図6は、接地している右脚の一部の構成を示す図である。ここでは、右下腿24よりも下側のみを図示している。なお、左脚は、床面Fから離れていても、床面Fと接触していてもよい。図5に示すように、足裏が床面Fと接触している状態で外乱が加わると、足首関節の駆動トルクを上げて、上体を無理に戻そうとする。従って、床反力中心が足平の端まで来てしまう。この場合、足平と床面とが線接触となり、足平が浮き上がってしまう。これにより、足裏が床面から剥がれてしまい、足平が床面から離れてしまう。よって、ロボット1が足首関節を中心に回転して、転倒してしまう。
一方、足首関節にリミット値が設定されていると、図6に示すように、外乱が加わっても、足首関節のトルクが目標リミット値を越えない。すなわち、上体を無理に戻そうとしないため、床反力中心が足平の端に来ることがない。すなわち、床反力中心が足平の所定の位置まで来たら、足首関節の駆動トルクが上がらなくなる。この場合、上体は崩れてしまうが、足裏は床面から剥がれない。すなわち、足裏が床面と倣うように制御される。このとき、足首関節以外の関節によって上体が崩れないように制御すれば、ロボット1は転倒しない。
このように、上記の制御部130を用いて足首関節にリミット値を設けることによって、足首関節のモータ142が上限値以上、及び下限値以下のトルクを出力しなくなる。足首関節に対する過大トルクの発生を抑制することができるため、足裏が地面形状に受動的に倣う制御が行われる。よって、安定した移動を行うことができるとともに、制御性を向上することができる。すなわち、従来技術のように、フィルタ処理、演算等で演算処理の遅れが生じることがない。これにより、制御部130がシンプルとなり、簡便に制御することができる。また、サーボゲインを大きくすることができるため、制御性の低下を防ぐことができる。すなわち、足首関節のアンプ135に設定されるゲインを大きくすることができるため、応答性を向上することができる。さらに、床反力センサが不要となるため、足平を軽くすることができる。これにより、制御性よく、安定した歩行を行なうことができる。足首関節を直接補正する必要がなくなるため、応答性を向上することができる。
発明の実施の形態2.
本実施の形態にかかるロボットについて図7〜図10を用いて説明する。図7は、本実施の形態にかかるロボットの制御部130の構成を示すブロック図である。図8−図10は、足首関節のリミット値の算出方法を説明するための図である。本実施の形態では、図8に示すように、リミット値算出部138が、足首のリミット値をセンサ150からの出力に基づいて算出している。センサ150はロボット1の現在の状態を示す状態量を出力する。なお、本実施の形態にかかるロボット1の全体構成、及び制御部130の基本的構成は実施の形態1と同様であるため、説明を省略する。すなわち、基本的な歩行動作は、実施の形態1にかかるロボット1と同様である。
本実施の形態では、ロボット1に図7に示すようにセンサ150が設けられている。このセンサ150はロボット1の状態量を計測する。ここでは、センサ150が荷重センサである。そして、センサ150は、足裏付近に取り付けられ、足首にかかる水平荷重、及び垂直荷重を計測する。センサ150は両足首関節に対してそれぞれ設けられている。制御部130に設けられたリミット値算出部138は、センサ150で計測された荷重に基づいてリミット値を算出している。このリミット値は、オンラインで計算される。すなわち、センサ150の出力に応じて、リミット値は随時更新される。従って、リミット値設定部136に設定されているリミット値は歩行中に更新されていく。
ここで、センサ150が図8に示す垂直荷重、及び水平荷重を計測した場合について説明する。ここでは、足平に対してかかる水平荷重をFxとし、垂直荷重をFzとしている。まず、図9に示すように、つま先が浮き始める直前の床反力中心の位置をD1とし、踵が浮き始める直前の床反力中心の位置をD2とする。ここで、D1、D2は水平方向における足首位置からの距離に対応する。そして、図9に示すように、D1とD2との間の領域を、床反力中心点の存在領域とする。床反力中心点がこの存在領域に存在すれば、ロボット1が転倒しない。つま先、又は踵が浮き始める直前の床反力中心の位置D1、D2は、例えば、足平の形状や足平の材質によって求めることができる。従って、床反力中心点の存在領域を歩行中に変化しない。なお、図9では、床反力を等分布荷重として例を示しているが、他のモデルを用いたり、適当な計測器を使用して予め足裏が剥がれ始める時の床反力中心点の位置D1、D2を計測してもよい。
そして、図10に示すように、上記の床反力中心点の存在領域、及びセンサ150の出力に応じて、リミット値を算出する。ここでは、足首周りのモーメントのつりあい式によって、リミット値を算出することができる。目標トルクのリミット値の上限τmaxは、D1とセンサ150の出力とに基づいて算出され、リミット値の下限τminは、D2とセンサ150の出力に基づいて算出される。具体的には、リミット値の上限τmax及び下限τminは、以下のモーメントのつりあい式(1)、(2)で示される。
τmax=Fz×D1+Fx×h・・・(1)
τmin=Fz×D2+Fx×h・・・(2)
ここで、hは床面Fから足首関節までの高さである。なお、足首関節のつま先方向のトルクを正とし、足首関節の踵方向のトルクを負とする。これにより、センサ150の出力に基づいてリミット値を算出することができる。このように、床反力中心点が存在領域の境界線上にあるときに、つりあうトルク値で足首関節のトルクを飽和させるようにリミット値を設定することによって、実施の形態1と同様に、足裏が床面Fから剥がれるのを防止することができる。よって、実施の形態1と同様の効果を得ることができ、制御性よく、安定した歩行を行なうことができる。
そして、センサ150の出力に応じて、歩行中にリミット値を随時更新していく。例えば、床面Fと接している時のセンサ出力に応じて、次にその脚が遊脚となる期間におけるリミット値を算出する。すなわち、着地する毎に、足首関節に対するリミット値を更新する。なお、遊脚が下降している間のみ、足首関節に対するリミット値を設定してもよい。さらに、左右両脚に対して、足首関節のリミット値を設定する。この場合、左右両脚に対するリミット値が交互に更新される。このようにして、リミット値を算出することによって、より安定した歩行が可能となる。
なお、荷重センサは、足首以外の箇所に設けてもよい。例えば、ロボット1の重心位置に荷重センサを設けてもよい。この重心位置での荷重を足平にかかる荷重として、リミット値を算出する。この場合、足平を軽くすることができるため、より制御性を向上することができる。
なお、上記の説明では、センサ150からの出力によって、リミット値を更新したが、これに限るものではない。センサ150を用いない場合、例えば、歩容データに基づいて、リミット値を更新することができる。具体的には、歩容データに基づいて、垂直荷重、及び水平荷重を計算する。そして、計算で求めた荷重から、上記の方法を用いて、リミット値を更新してもよい。垂直荷重としては、例えば、ロボット1の自重により求めることができる。水平荷重としては、重心に設けられた加速度計により算出することが可能である。これにより、足平を軽くすることができるため、より制御性を向上することができる。
発明の実施の形態3.
本実施の形態にかかるロボットについて図11、及び図12を用いて説明する。図11、図12は、歩行中におけるロボットの脚部の構成を示す図である。なお、図11は、単脚支持期を示し、図12は両脚支持期を示している。
本実施の形態では、実施の形態2と同様にセンサ150からの出力に基づいてリミット値を更新している。但し、実施の形態2とは異なり、加速度計の出力に基づいてリミット値を算出している。すなわち、実施の形態2の図7で示したセンサ150を加速度計として、加速度計からの出力に基づいてリミット値を算出している。ここで、制御部130の基本的構成については、実施の形態2で示した図7の構成と同様であるため、説明を省略する。
センサ150は、例えば、ロボット1の重心位置、またはその近傍に取り付けられている。具体的には、センサ150を腰4と体幹3とからなる胴体部分に取り付けることができる。そして、センサ150がロボット1の重心位置の加速度(重心加速度)を計測する。制御部130は、センサ15からの重心加速度の水平成分ベクトルと垂直成分ベクトルとに基づいて、荷重を推定する。そして、推定された荷重に基づいて、実施の形態2と同様にリミット値を算出する。
ここで、単脚支持期におけるリミット値の算出について図11を用いて説明する。図11は、左脚を支持脚とし、右脚を遊脚としたときの状態を示している。単脚支持期では、支持脚の足首関節に加速度に相当する荷重がかかっているとすることで、容易に足首関節での荷重を求めることができる。ここで、支持脚である左脚にかかる水平荷重をFx1、垂直荷重をFz1とし、ロボット1の全重量をMとすると、左脚の足首関節35にかかる水平荷重Fx1、垂直荷重Fz1は式1に示すようになる。
上記の式1で推定した荷重から実施の形態2と同様にリミット値を求めることができる。実施の形態2で示した足首周りのモーメントのつりあい式(1)、(2)から、リミット値の上限τmax、及び下限τminを算出することができる。このように、加速度計で計測した加速度に基づいてリミット値の上限τmax、及び下限τminを算出することができる。この上限τmax、及び下限τminを単脚支持期におけるリミット値として設定する。また、右脚が支持脚であるときも、リミット値を同様に算出することができる。
次に、両脚支持期におけるリミット値の算出について図12を用いて説明する。図12では、左右両脚が床面Fに接触して、両脚で支持している状態を示している。両脚支持期では、以下のように荷重を計算する。まず、ロボット1の重心加速度の水平成分ベクトルと垂直成分ベクトルとが成す合成ベクトルを求める。そして、図12に示すように、この合成ベクトルと、ロボットの足首高さhにある平面との交点Pを決定する。尚、足首高さhにある平面は、床面Fと平行とする。そして、両脚の足首関節と、交点Pが内分する比(a:b)を求める。P点周りでのモーメントつりあい式より、全体の荷重を、それぞれの足首関節にかかる荷重に内分比で分配する。ここで、左足首関節の水平荷重をFx1,垂直荷重をFz1とし、右脚首関節の水平荷重をFx2、垂直荷重をFz2とすると、それぞれの荷重は式2で示される。
そして、実施の形態2で示した足首周りのモーメントつりあい式(1)、(2)からそれぞれの足首関節に対するリミット値の上限τmax,及び下限τminを算出する。
このようにして、リミット値を算出することができる。そして、算出したリミット値を両脚支持期におけるリミット値としてリミット値設定部136に設定することによって、実施の形態2と同様の効果を得ることができる。このように、単脚支持期、及び両脚支持期のそれぞれに対してリミット値を設定することができる。また、床反力を直接計測していないため、床反力センサが不要となる。一般に床反力センサは、ロボットの重量に比例して大きくなるため、床反力センサを用いた場合、足平が重くなってしまう。本実施の形態では、床反力センサではなく荷重センサを用いているため、足平を軽くすることができる。よって、安定した歩行を制御性よく行なうことができる。さらに、本実施の形態では、加速度計の出力に基づいてリミット値を算出している。重心位置に設けられた加速度計を利用することによって、足平を軽くすることができる。よって、安定した歩行を制御性よく行なうことができる。
なお、実施の形態1〜3では左右両脚を有する2足歩行型の脚式移動ロボットについて説明したが、これに限られるものではない。すなわち、3以上の脚を有する脚式移動ロボットについて利用することも可能である。また、上記の説明では、リミット値の上限を正、下限を負としてが、これに限られるものではない。すなわち、ロボット1の状態や環境によっては、上限のリミット値と下限のリミット値とを共に正の値としてもよい。すなわち、上限と下限のリミット値が同じ回転方向に対応していてもよい。また、上記の説明では、歩行中の制御について説明したが、走行中にリミット値を設定して、制御を行ってもよい。
本発明に係るロボットの全体を概略的に表した全体概略図である。 実施の形態1にかかるロボットに設けられた制御部を示すブロック図である。 従来のロボットが異物を踏んだ状態を示す図である。 実施の形態1にかかるロボットが異物を踏んだ状態を示す図である。 従来のロボットに外乱が加わったときの状態を示す図である。 実施の形態1にかかるロボットに外乱が加わったときの状態を示す図である。 実施の形態2にかかるロボットに設けられた制御部を示すブロック図である。 実施の形態2にかかるロボットにおけるリミット値の算出方法を示す図である。 実施の形態2にかかるロボットにおけるリミット値の算出方法を示す図である。 実施の形態2にかかるロボットにおけるリミット値の算出方法を示す図である。 実施の形態3にかかるロボットにおいて、単脚支持期におけるリミット値の算出方法を示す図である。 実施の形態3にかかるロボットにおいて、両脚支持期におけるリミット値の算出方法を示す図である。
符号の説明
1 ロボット、2 頭部、3 体幹、4 腰部、5 右腕、6左腕、
10 脚部、20 右脚、21 右股関節、22 右上腿、23 右膝関節、
24 右下腿、25 右足首関節、26 右足平、
30 左脚30、31 左股関節、32 左上腿、33 左膝関節、34 左下腿、
35 左足首関節、36 左足平、
130 制御部、131 歩容データ記憶部、132 目標関節角度算出部、
133 アンプ、135 アンプ、136 リミット値設定部、137 比較部、
138 リミット値算出部、141 モータ、142 モータ、150 センサ、
200 異物、

Claims (8)

  1. 足首関節が設けられた脚部を有する脚式移動ロボットであって、
    駆動信号に応じて前記足首関節を駆動する足首関節駆動部と、
    前記足首関節に対する目標トルクを算出する目標トルク算出部と、
    遊脚の前記足首関節に対する前記目標トルクのリミット値が設定されるリミット値設定部と、
    前記目標トルクと前記リミット値とを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を前記足首関節駆動部に出力する比較部と、を備える脚式移動ロボット。
  2. 前記遊脚の下降中における前記目標トルクに対して前記リミット値が設定されることを特徴とする請求項1に記載の脚式移動ロボット。
  3. 前記リミット値設定部に設定されたリミット値が、前記脚式移動ロボットの状態量を計測するセンサの出力に基づいて、更新されることを特徴とする請求項1、又は2に脚式移動ロボット。
  4. 前記センサが、荷重センサであることを特徴とする請求項3に記載の脚式移動ロボット。
  5. 前記センサが、加速度センサであることを特徴とする請求項3に記載の脚式移動ロボット。
  6. 足首関節が設けられた脚部を有し、前記足首関節を目標トルクに応じて駆動する脚式移動ロボットの制御方法であって、
    遊脚の前記足首関節の目標トルクに対するリミット値を設定するステップと、
    前記足首関節に対する目標トルクを算出するステップと、
    前記目標トルクと前記リミット値とを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を出力するステップと、
    前記リミット値に応じた駆動信号に基づいて前記足首関節を駆動するステップと、を備える脚式移動ロボットの制御方法。
  7. 前記遊脚の下降中における前記目標トルクに対して前記リミット値が設定されることを特徴とする請求6に記載の脚式移動ロボットの制御方法。
  8. 前記脚式移動ロボットの状態量を計測するセンサの出力に基づいて、前記リミット値が更新されることを特徴とする請求項6、又は7に記載の脚式移動ロボットの制御方法。
JP2006316477A 2006-11-24 2006-11-24 脚式移動ロボット、及びその制御方法 Pending JP2008126382A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006316477A JP2008126382A (ja) 2006-11-24 2006-11-24 脚式移動ロボット、及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006316477A JP2008126382A (ja) 2006-11-24 2006-11-24 脚式移動ロボット、及びその制御方法

Publications (1)

Publication Number Publication Date
JP2008126382A true JP2008126382A (ja) 2008-06-05

Family

ID=39552731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006316477A Pending JP2008126382A (ja) 2006-11-24 2006-11-24 脚式移動ロボット、及びその制御方法

Country Status (1)

Country Link
JP (1) JP2008126382A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070076A1 (en) * 2008-09-16 2010-03-18 Fujitsu Limited Robot control apparatus, robot control method, and computer readable recording medium having recorded thereon a robot control program
JP2015525374A (ja) * 2012-06-04 2015-09-03 サムスン エレクトロニクス カンパニー リミテッド オーディオ符号化方法及びその装置、オーディオ復号化方法及びその装置、並びにそれを採用するマルチメディア機器
CN111830986A (zh) * 2020-07-24 2020-10-27 北京理工大学 一种用于双足机器人的三维路径规划方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03161290A (ja) * 1989-11-15 1991-07-11 Honda Motor Co Ltd 脚式歩行ロボットの関節制御装置
JPH0450831A (ja) * 1990-06-15 1992-02-19 Canon Inc 画像形成装置
JP2003089083A (ja) * 2001-06-27 2003-03-25 Honda Motor Co Ltd 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03161290A (ja) * 1989-11-15 1991-07-11 Honda Motor Co Ltd 脚式歩行ロボットの関節制御装置
JPH0450831A (ja) * 1990-06-15 1992-02-19 Canon Inc 画像形成装置
JP2003089083A (ja) * 2001-06-27 2003-03-25 Honda Motor Co Ltd 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070076A1 (en) * 2008-09-16 2010-03-18 Fujitsu Limited Robot control apparatus, robot control method, and computer readable recording medium having recorded thereon a robot control program
JP2010069546A (ja) * 2008-09-16 2010-04-02 Fujitsu Ltd ロボット制御装置、ロボット制御方法およびロボット制御プログラム
US8326459B2 (en) * 2008-09-16 2012-12-04 Fujitsu Limited Robot control apparatus, robot control method, and computer readable recording medium having recorded thereon a robot control program
JP2015525374A (ja) * 2012-06-04 2015-09-03 サムスン エレクトロニクス カンパニー リミテッド オーディオ符号化方法及びその装置、オーディオ復号化方法及びその装置、並びにそれを採用するマルチメディア機器
CN111830986A (zh) * 2020-07-24 2020-10-27 北京理工大学 一种用于双足机器人的三维路径规划方法
CN111830986B (zh) * 2020-07-24 2022-10-21 北京理工大学 一种用于双足机器人的三维路径规划方法

Similar Documents

Publication Publication Date Title
Kajita et al. Real-time 3D walking pattern generation for a biped robot with telescopic legs
US9073209B2 (en) Walking robot and control method thereof
KR101438970B1 (ko) 로봇의 보행제어방법
CN100364728C (zh) 有腿移动式机器人的动作控制装置和动作控制方法以及机器人装置
EP2347867B1 (en) Walking control apparatus of robot and method of controlling the same
US7664572B2 (en) Control device of legged mobile robot
JP4998506B2 (ja) ロボット制御装置、ロボット制御方法、及び脚式ロボット
EP2343163B1 (en) Walking robot and method of controlling balance thereof
KR101549817B1 (ko) 로봇의 보행 제어장치 및 그 방법
US20070145930A1 (en) Robot controller
US8014896B2 (en) Legged mobile robot and control program
KR20120134036A (ko) 로봇 및 그 제어방법
EP2343161A1 (en) Walking robot and method of controlling the same
KR20130049029A (ko) 보행 로봇 및 그 제어 방법
JP5071140B2 (ja) 脚式ロボット、及びその制御方法
EP2343230A1 (en) Robot and control method thereof
US7801643B2 (en) Legged mobile robot and control program for the robot
KR20200099664A (ko) 로봇의 보행 제어시스템 및 제어방법
JP5198035B2 (ja) 脚式ロボット及びその制御方法
JP2008126382A (ja) 脚式移動ロボット、及びその制御方法
JP6407409B2 (ja) 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
US20200290209A1 (en) Control device for robot
JP4905041B2 (ja) ロボット制御装置
JP2009107033A (ja) 脚式移動ロボット及びその制御方法
JP4352774B2 (ja) 脚式歩行ロボットの運動制御装置及び運動制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Effective date: 20110506

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20111101

Free format text: JAPANESE INTERMEDIATE CODE: A02