JP3629143B2 - 脚式移動ロボットの制御装置 - Google Patents
脚式移動ロボットの制御装置 Download PDFInfo
- Publication number
- JP3629143B2 JP3629143B2 JP12523398A JP12523398A JP3629143B2 JP 3629143 B2 JP3629143 B2 JP 3629143B2 JP 12523398 A JP12523398 A JP 12523398A JP 12523398 A JP12523398 A JP 12523398A JP 3629143 B2 JP3629143 B2 JP 3629143B2
- Authority
- JP
- Japan
- Prior art keywords
- foot
- reaction force
- floor reaction
- target
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Control Of Position Or Direction (AREA)
- Manipulator (AREA)
Description
【発明の属する技術分野】
この発明は脚式移動ロボットの制御装置、詳しくはその姿勢制御装置に関し、より詳しくは2足歩行ロボットなどの脚式移動ロボットの脚部の動作をコンプライアンス制御し、脚式移動ロボットに作用する床反力を適切に制御するようにしたものに関する。
【0002】
【従来の技術】
最も基本的で単純な脚式移動ロボット、より具体的には2足歩行ロボットの制御装置は、目標運動パターン生成装置と関節駆動制御装置から構成される。目標運動パターン生成装置は、少なくとも目標運動パターンを生成する。通常、歩行の運動パターンは、それから動力学的計算によって算出される、即ち、オイラー・ニュートン方程式を解くことによって求められるZMP軌跡が予め設定しておいた望ましい軌跡になるように生成される。関節駆動制御装置は、歩容生成装置が生成する各関節の変位指令に追従するように各関節を制御する。
【0003】
ここで、ZMP(Zero Moment Point)は、運動パターンによって発生する慣性力と重力の合力のモーメントが、鉛直軸まわりの成分を除き、0となる床面上の作用点を意味する。
【0004】
尚、その装置においては、歩容生成装置が平らな床面を想定して歩容を生成していたにも関わらず、図33に示すように、現在、両脚支持期の初期に、前側の足平が予期しない路面を踏んでしまうと、その足平に想定していた以上の過大な床反力が発生し、ロボットが傾斜する。その問題を解決するために、本出願人は、例えば特開平5−305586号公報において2足歩行の脚式移動ロボットのその種の制御装置を提案している。
【0005】
そこにおいては、上体傾斜を検出して上体姿勢を復元させるのに必要な復元モーメント要求量を求めると共に、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメント成分を検出し、それを復元モーメント要求量に一致させようと各足平を上下および回転させるように制御している。この実全床反力モーメントは、各実足平床反力の合力が目標全床反力中心点(目標ZMP)まわりに発生させるモーメントである。
【0006】
図33に示すような予期しなかった傾斜があった場合を例にとって先に提案した制御(以下『両脚コンプライアンス制御』という)を説明する。尚、説明のため、この図に示すように各足平に番号を付す。歩容生成部は平らな床面を想定して歩容を生成していたにも関わらず、図33に示すように、現在、両脚支持期の初期に第1足平が予期しなかった斜面を踏んだため、第1足平に望ましい値よりも大きな足平床反力が発生した瞬間であると仮定する。また、この瞬間ロボットは未だ望ましい姿勢(上体傾斜0)であったと仮定する。
【0007】
提案した制御装置では、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントが検出される。この瞬間では、この実全床反力モーメントは、第1足平床反力の鉛直成分が過大であるため、ロボットを後に転倒させる方向に作用する。
【0008】
このモーメントを0にしようと、図34に示すごとく、仮想床面A−A’を想定し、各足平をあたかも仮想床面上に乗せたまま、仮想床面を目標全床反力中心点(目標ZMP)まわりに適当な角度Δθだけ回転させた位置に各足平の位置を移動させる。
【0009】
それにより、第1足平床反力の鉛直成分が減少すると共に、第2足平床反力の鉛直成分が増大する。この結果、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントがほぼ0になる。即ち、床に予期しなかった斜面があっても、両脚コンプライアンス制御が正常に働くので、ロボットを転倒させないで歩行継続させることができる。
【0010】
しかしながら、この提案技術だけでは両脚支持期に各足平実床反力を制御することができないので、足平の接地点あたりの床形状に予期しない局所的な傾きや凹凸があると、足平の接地性が低下してスピンしやすくなったり、急激な姿勢変化を起こして転倒する場合がある。
【0011】
例えば、図35に示すように、両脚支持期に第1足平のつまさきが予期しない突起(段差)を踏んでしまうと、両脚支持期は、第1足平のつまさきが急激に下がりつつある時期であるので、つまさきで床を強く蹴ってしまい、第1足平床反力の鉛直成分が急増する。その結果、目標全床反力中心点(目標ZMP)まわりに急激に実全床反力モーメントが発生し、最悪の場合、両脚コンプライアンスによって姿勢を復元させようとしても間に合わずに転倒する。
【0012】
また、両脚支持期で倒れなかったとしても、その直後に第2足平を床から離したとき、目標全床反力中心点(目標ZMP)は第1足平のかかとにあるにもかかわらず、かかとが浮いているために実全床反力中心点はつまさきにあるので、目標全床反力中心点(目標ZMP)まわりにロボットを後に倒そうとする実全床反力モーメントが発生し、転倒する。
【0013】
即ち、この両脚コンプライアンス制御は、長い距離でゆったりと変化する大域的な傾斜やうねりには対応できるが、足平の着地点の局所的な傾きや段差には対応できないと言える。
【0014】
上記した両脚コンプライアンス制御とは別に、本出願人は、例えば特開平5−305584号公報において、2足歩行ロボットの足首部にゴムなどのばね特性を持った着地衝撃吸収機構を備えると共に、各足首まわりの実足平床反力モーメント成分を検出し、それを0にしようと各足首を回転させる足首コンプライアンス制御を提案している。
【0015】
上記した問題点を解決するため、両脚コンプライアンス制御に加えて、この特開平5−305584号公報で提案する技術(以下『足首コンプライアンス制御』という)を併用することもできる。
【0016】
その結果、足首コンプライアンス制御によって、図36に示すように、予期しなかった第1足平床反力モーメントを打ち消す方向に第1足首を回転させ、かかとも床に接地させることができる。従って、その後の片脚支持期になっても上述のようにロボットを転倒させることはない。
【0017】
【発明が解決しようとする課題】
しかしながら、上記した両脚コンプライアンス制御および足首コンプライアンス制御を単純に併用するだけでは、2種の制御が干渉しあい、実全床反力と実各足平床反力が望ましい値からずれたり発振してしまう問題があった。
【0018】
従って、この発明の目的は上記した不都合を解消することにあり、脚式移動ロボットに作用する実床反力を、干渉を生じることなく、容易かつ適切に制御することができる脚式移動ロボットの制御装置を提供することにある。
【0019】
さらに、ロボットの実各足平床反力の力成分を独立に制御すれば、例えばロボットを進行方向に推進させる力を、接地圧の高い足平には大きくすると共に、低い足平には小さくすることによって、姿勢安定性を向上させてスリップを効果的に防止することができる。また、ロボットの実各足平床反力の力成分を適正に制御することで、一方の足平が他方の足平の発生する進行方向に推進させる力の負荷となっている状態なども解消させることができ、関節アクチュエータの負担を軽減させることができる。
【0020】
従って、この発明の第2の目的は、ロボットの実各足平床反力の力成分を独立に制御することで、姿勢安定性を向上させてスリップを効果的に防止すると共に、関節アクチュエータの負担を軽減させるようにした脚式移動ロボットの制御装置を提供することにある。
【0021】
この発明の第3の目的は、大域的なうねりや傾斜だけでなく、局所的な凹凸や傾斜なども含む予期しない床形状変化があっても、その影響をあまり受けずに脚式移動ロボットに作用する床反力を適切に制御することができる脚式移動ロボットの制御装置を提供することにある。
【0022】
この発明の第4の目的は、脚式移動ロボットに作用する床反力をさらに制御することによって、脚式移動ロボットの姿勢安定化制御を容易にすることができる脚式移動ロボットの制御装置を提供することにある。
【0023】
この発明の第5の目的は、さらに、脚式移動ロボットに作用する床反力を適切に制御することによって、脚式移動ロボットの接地性を高め、歩行時のスリップや前述のスピンを防止することができる脚式移動ロボットの制御装置を提供することにある。
【0024】
【課題を解決するための手段】
上記の目的を達成するために、請求項1項にあっては、少なくとも基体と、前記基体に第1の関節を介して連結されると共に、その先端に第2の関節を介して連結される足部を備えた複数本の脚部からなる脚式移動ロボットの制御装置において、前記ロボットの少なくとも前記足部の目標位置または姿勢を含む運動パターンと、前記ロボットに作用する全床反力の目標パターンを少なくとも含む前記ロボットの歩容を生成する歩容生成手段、前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点を決定する目標足部床反力中心点決定手段、前記足部に作用する実床反力を検出する実床反力検出手段、前記決定された目標足部床反力中心点まわりに前記検出された実床反力が作用するモーメントを算出し、少なくとも前記算出されたモーメントに基づいて前記足部を回転させる足部回転量を決定する足部回転量決定手段、前記検出された実床反力から実全床反力に影響しない内力成分を求めて前記生成された歩容の内力成分との偏差を算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位を決定する補償変位決定手段、前記決定された足部回転量に基づいて前記足部の位置または姿勢を回転させつつ、前記決定された補償変位に基づいて前記足部の目標位置または姿勢を移動させることによって、前記足部の目標位置または姿勢を修正する足部位置・姿勢修正手段、および前記足部位置・姿勢修正手段によって修正された前記足部の目標位置・姿勢に基づいて前記第1および第2の関節を変位させる関節変位手段を備える如く構成した。
【0025】
請求項2項にあっては、少なくとも基体と、前記基体に第1の関節を介して連結されると共に、その先端に第2の関節を介して連結される足部を備えた複数本の脚部からなる脚式移動ロボットの制御装置において、前記ロボットの少なくとも前記足部の目標位置または姿勢を含む運動パターンと、前記ロボットに作用する全床反力の目標パターンを少なくとも含む前記ロボットの歩容を生成する歩容生成手段、前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点を決定する目標足部床反力中心点決定手段、前記足部に作用する実床反力を検出する実床反力検出手段、少なくとも前記検出された実床反力に基づいて前記足部を回転させる足部回転量を決定する足部回転量決定手段、前記検出された実床反力から実全床反力に影響しない内力成分を求めて前記生成された歩容の内力成分との偏差を算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位を決定する補償変位決定手段、前記決定された足部回転量に基づいて前記足部の位置または姿勢を、前記決定された目標足部床反力中心点あるいはその近傍まわりに回転させつつ、前記決定された補償変位に基づいて前期足部の目標位置または姿勢を移動させることによって、前記足部の目標位置または姿勢を修正する第2の足部位置・姿勢修正手段、および前記足部位置・姿勢修正手段によって修正された前記足部の位置または姿勢に基づいて前記第1および第2の関節を変位させる関節変位手段を備える如く構成した。
【0026】
請求項3項にあっては、前記足部位置・姿勢修正手段は、さらに前記決定された足部回転量に基づいて前記足部の位置または姿勢が、前記決定された目標足部床反力中心点またはその近傍まわりに回転するように、前記足部の目標位置または姿勢を修正する如く構成した。
【0027】
請求項4項にあっては、さらに、前記ロボットに実際に作用する全床反力モーメント、または前記ロボットに実際に作用する全床反力モーメントから前記足部に作用する床反力モーメントを減算して得たモーメントのいずれかを算出し、少なくとも前記算出されたモーメントに応じて前記足部を移動させる足部移動量を決定する足部移動量決定手段を備え、前記足部位置・姿勢修正手段は、前記決定された足部回転量、前記決定された補償変位および前記決定された足部移動量に基づいて前記足部の目標位置または姿勢を修正する如く構成した。
【0028】
請求項5項にあっては、前記全床反力の目標パターンに付加する姿勢安定化補償全床反力モーメントを求め、前記足部回転量決定手段または前記足部移動量決定手段は、少なくとも前記検出された実床反力と前記求めた姿勢安定化補償全床反力モーメントに基づいて前記足部回転量または足部移動量を決定する如く構成した。
【0029】
請求項6項にあっては、前記姿勢安定化補償全床反力モーメントを、少なくとも前記ロボットの傾き偏差に基づいて求める如く構成した。
【0030】
請求項7項にあっては、前記補償変位決定手段は、前記偏差に所定の重みを乗じて前記足部の補償変位を足部のそれぞれに分配する如く構成した。
【0031】
請求項8項にあっては、前記所定の重みが時変特性および周波数特性の少なくともいずれかを持つ如く構成した。
【0032】
【作用】
請求項1項にあっては、脚式移動ロボットに作用する床反力を、干渉を生じることなく、容易かつ適切に制御することができる。換言すれば、先に提案した両脚コンプライアンス制御および足首コンプライアンス制御の併用に近い制御を行っても、制御の干渉がなく、実全床反力と実各足平床反力が望ましい値からずれたり発振することがない。
【0033】
また、ロボットの実各足平床反力が作り出す内力成分(実全床反力に影響しない成分の組み合わせ)を独立に制御することで姿勢安定性を向上させてスリップを効果的に防止することができると共に、関節アクチュエータの負担を軽減させることができる。
【0034】
さらには、大域的なうねりや傾斜だけでなく、局所的な凹凸や傾斜なども含む予期しない床形状変化があっても、その影響をあまり受けずに脚式移動ロボットに作用する床反力を適切に制御することができる。
【0035】
請求項2項にあっては、請求項1項と同様の作用効果を得ることができる。
【0036】
請求項3項にあっては、請求項1項と同様の作用効果を得ることができると共に、床反力をより適切に制御することができる。
【0037】
請求項4項にあっては、請求項1項と同様の作用効果を得ることができると共に、特に姿勢制御に重要な全床反力を一層適切に制御することができる。
【0038】
請求項5項にあっては、請求項1項と同様の作用効果を得ることができると共に、姿勢安定化能力を向上させることができる。
【0039】
請求項6項にあっては、前記したと同様の作用効果を得ることができると共に、姿勢安定化能力を一層向上させることができる。
【0040】
請求項7項にあっては、前記したと同様の作用効果を得ることができる。
【0041】
請求項8項にあっては、前記したと同様の作用効果を得ることができると共に、補償変位の分配を一層適正に行うことができる。
【0042】
【発明の実施の形態】
以下、添付図面を参照してこの発明に係る脚式移動ロボットの制御装置を説明する。尚、脚式移動ロボットとしては2足歩行ロボットを例にとる。
【0043】
図1はその脚式移動ロボットの制御装置を全体的に示す概略図である。
【0044】
図示の如く、2足歩行ロボット1は左右それぞれの脚部リンク2に6個の関節を備える(理解の便宜のために各関節をそれを駆動する電動モータで示す)。6個の関節は上から順に、股(腰部)の脚部回旋用の関節10R,10L(右側をR、左側をLとする。以下同じ)、股(腰部)のロール方向(X軸まわり)の関節14R,14L、股(腰部)のピッチ方向(Y軸まわり)の関節12R,12L、膝部のピッチ方向の関節16R,16L、足首のピッチ方向の関節18R,18L、同ロール方向の関節20R,20Lから構成される。
【0045】
関節18R(L),20R(L)の下部には足平(足部)22R,22Lが取着されると共に、最上位には上体(基体)24が設けられ、その内部にマイクロコンピュータからなる制御ユニット26(後述)などが格納される。上記において股関節(あるいは腰関節)は関節10R(L),12R(L),14R(L)から、足関節(足首関節)は関節18R(L),20R(L)から構成される。また股関節と膝関節とは大腿リンク28R,28L、膝関節と足関節とは下腿リンク30R,30Lで連結される。
【0046】
上記の構成により、脚部リンク2は左右の足についてそれぞれ6つの自由度を与えられ、歩行中にこれらの6*2=12個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に3次元空間を歩行させることができる(この明細書で「*」はスカラに対する演算としては乗算を、ベクトルに対する演算としては外積を示す)。
【0047】
尚、この明細書で後述する上体の位置およびその速度は、上体24の所定位置、具体的には上体24の重心位置などの代表点の位置およびその移動速度を意味する。
【0048】
図1に示す如く、足関節の下方には公知の6軸力センサ44が取着され、力の3方向成分Fx,Fy,Fzとモーメントの3方向成分Mx,My,Mzとを測定し、足部の着地の有無および床反力(接地荷重)などを検出する。
【0049】
また、上体24には傾斜センサ60が設置され、Z軸(鉛直方向(重力方向))に対する傾きとその角速度を検出する。傾斜センサ60はGセンサおよび角速度センサとから構成され、Gセンサは上体24のX,Y,Z軸方向の加速度を検出する。また各関節の電動モータには、その回転量を検出するロータリエンコーダが設けられる。
【0050】
図2に示すように、足平22R(L)の上方には、ばね機構32が装備されると共に、足底にはゴムなどからなる足底弾性体34が貼られる。ばね機構32は具体的には、足平22R(L)に取り付けられた方形状のガイド部材と、足首関節18R(L)および6軸力センサ44側に取り付けられ、前記ガイド部材に弾性材を介して微動自在に収納されるピストン状部材とからなる。
【0051】
図中に実線で表示された足平22R(L)は、床反力を受けていないときの状態を示す。床反力を受けるとバネ機構32と足底弾性体34がたわみ、足平は図中に点線で表示された位置・姿勢に移る。この構造は、着地衝撃を緩和するためだけでなく、制御性を高めるためにも重要なものである。尚、その詳細は前記した特開平5−305584号に記載されているので、詳細な説明は省略する。
【0052】
更に、図1では図示を省略するが、2足歩行ロボット1の適宜な位置にはジョイスティック62が設けられ、外部から必要に応じて直進歩行しているロボットを旋回させるなど歩容に対する要求を入力できるように構成される。
【0053】
図3は制御ユニット26の詳細を示すブロック図であり、マイクロ・コンピュータから構成される。そこにおいて傾斜センサ60などの出力はA/D変換器70でデジタル値に変換され、その出力はバス72を介してRAM74に送られる。また各電動モータに隣接して配置されるエンコーダの出力はカウンタ76を介してRAM74内に入力される。
【0054】
制御ユニット内にはCPUからなる第1、第2の演算装置80,82が設けられており、第1の演算装置80は後述の如く、ROM84に格納されている歩容に基づいて後述の如く関節角変位指令を算出し、RAM74に送出する。また第2の演算装置82はRAM74からその指令と検出された実測値とを読み出し、各関節の駆動に必要な制御値を算出してD/A変換器86とサーボアンプを介して各関節を駆動する電動モータに出力する。
【0055】
ここで、この明細書および図面で使用する用語について定義する(尚、定義しない用語に関しては、本出願人が前記した技術とは別に提案した出願(特願平8−214261号)で使用した定義に従う)。
【0056】
『歩容』は、ロボット工学における一般的な定義と異なり、目標運動パターンと床反力パターンを合わせたものを指称する意味で使用する。但し、床反力パターンとしては、例えば『ZMP軌跡だけ』というように、部分情報であっても良い。そのため、目標運動パターンだけを出力して床反力パターンに関する情報を出力しない装置に対して「歩容生成装置」と言う言葉を用いない。
【0057】
各脚には、通し番号をつける。第n脚に作用する床反力を第n足平床反力という(n:1または2。以下同じ)。全脚に作用する床反力を合成したものを全床反力という(ロボット工学では一般的には床反力と呼ばれるが、足平床反力と区別するためにここでは『全床反力』という)。
【0058】
足平床反力は作用点とそこにかかる力と力のモーメントによって表現され、同一の足平床反力に対して、表現の組み合わせは無限通りある。その中には、鉛直軸まわりの成分を除くモーメント成分が0でかつ作用点が床面上にある表記が存在する。この表現における作用点を、ここでは足平床反力中心点という(本出願人が別途提案した後述する特開平6−79657号では『接地圧重心点』と称した)。
【0059】
同様に、全床反力は作用点とそこにかかる力と力のモーメントによって表現され、同一の全床反力に対して表現の組み合わせは無限通りある。その中には、鉛直軸まわりの成分を除くモーメント成分が0でかつ作用点が床面上にある表現が存在する。この表現における作用点を、ここでは全床反力中心点という。
【0060】
全床反力の目標値を目標全床反力という。目標全床反力は、通常、目標運動パターンに対して動力学的に平衡する全床反力である。従って、通常、目標全床反力中心点は、目標ZMPに一致する。
【0061】
尚、始めに触れたように、目標ZMP(Zero Moment Point )は次のように定義される。即ち、目標運動パターンによって発生する慣性力と重力の合力を動力学的に求め、これが床面上のある点に作用するモーメントが、鉛直軸まわりの成分を除き0であるならば、その点を目標ZMP(Zero Moment Point)という。目標ZMPは、合力の垂直方向力成分が0でない限り、一義的に求められる。以下の説明では、理解しやすくするために、目標ZMPという言葉を用いる場合もあるが、厳密には目標全床反力中心点と言うべき箇所が多い。
【0062】
各足平床反力の目標値を目標各足平床反力という。但し、目標全床反力とは異なり、目標運動パターンが決まっていても目標各足平床反力は一義的には決定されない。実際のロボットに作用する全床反力を実全床反力という。実際のロボットに作用する各足平床反力を実各足平床反力という。
【0063】
ここで、この発明の課題について再説すると、この発明は、局所的な傾きや段差に対して先に提案した両脚コンプライアンス制御では良好な姿勢安定性を得ることが困難であると共に、その不都合は足首コンプライアンス制御を用いれば解消することができるが、両者を単純に併用するだけでは干渉し合い、実全床反力と実各足平床反力が望ましい値からずれたり、発振する不都合があった。
【0064】
その問題点を先の図33に示す状況で説明すると、第1足平はかかとに予期しなかった過大な床反力を受けているため、第1足首のまわりに過大な実足平床反力モーメントが発生する。足首コンプライアンス制御は、このモーメントを0にしようと第1足首を図36に示すように回転させる。
【0065】
しかしながら、足首の回転によって、第1足平のかかと位置が高くなるので、第1足平床反力の鉛直成分が減少する。この結果、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントが変化する。これは、両脚コンプライアンス制御の制御量である実全床反力モーメントが、足首コンプライアンス制御に干渉されることを意味する。
【0066】
従って、足首コンプライアンス制御による干渉を考慮しないで、両脚コンプライアンス制御を、足首コンプライアンス制御がない場合と同様に働かせると、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントが0からずれたり、干渉による振動や発振が生じる。
【0067】
それを防止する方法のひとつとして、両脚コンプライアンス制御と足首コンプライアンス制御の間の干渉量を求め、それを打ち消すような操作量を加えることによって干渉しないようにすることが考えられるが、歩行中は姿勢が時々刻々と変化し、干渉関係も時々刻々と変化するため、この手法で干渉を回避することは極めて難しい。
【0068】
また、図36に示す状況では、第1足平が接触している床は想定していた床よりも登り傾斜なので、第1足平は、目標歩容よりもつまさきを上げるべきである。それにもかかわらず、足首コンプライアンス制御によりつまさきが下がってしまうことは、足首コンプライアンス制御が適切に作用していないとも言える。
【0069】
以上のように、足首コンプライアンス制御は足平の着地点の局所的な床の傾きや段差には効果があるが、長い距離でゆったりと変化する傾斜やうねりには、却って悪影響を与える場合がある。
【0070】
従って、実施の形態に係る装置においては、脚式移動ロボットに作用する床反力、より具体的には、目標全床反力中心点まわりの実全床反力モーメントと、目標各足平床反力中心点まわりの実各足平床反力モーメントを容易かつ適切に制御できるようにした。
【0071】
また、それによって大域的なうねりや傾斜だけでなく、局所的な凹凸や傾斜なども含む予期しない床形状変化があっても、その影響をあまり受けずに安定した姿勢でロボットを歩行継続させるようにした。
【0072】
尚、上記した課題を解決すべく、本出願人は先に脚式移動ロボットの制御装置を提案しており、この発明の目的はその提案技術をさらに改良し、実各足平床反力の力成分を独立に制御して姿勢安定性を向上させてスピンなどを防止すると共に、関節アクチュエータの負担も軽減するようにした脚式移動ロボットの制御装置を提供することにある。
【0073】
図4は、この実施の形態に係る脚式移動ロボットの制御装置(主として図3の第1の演算装置80に相当)の構成および動作を機能的に示すブロック図である。以下、図4を参照してこの装置の全体構成を概説する。
【0074】
この装置は歩容生成器を備え、歩容生成器は目標歩容を生成し、出力する。目標歩容は、前述の定義の通り、目標運動パターンと目標床反力パターン、より具体的には目標上***置・姿勢軌道、目標足平位置・姿勢軌道、目標全床反力中心点(目標ZMP)軌道および目標全床反力軌道からなる。目標床反力パターンは、このように、目標全床反力中心点軌跡を含む(後述する機構変形補償を行わないならば、目標床反力パターンとしては目標全床反力中心点軌跡だけでも良い)。
【0075】
この実施の形態において歩容生成器が出力する目標全床反力は、目標運動パターンに対して動力学的に平衡する全床反力である。従って、目標全床反力中心点は、目標ZMPに一致する。
【0076】
図5にロボット1が平地を歩行するときの目標運動パターンの一例を示す。これに対応する目標ZMP軌道の床面上軌跡を図6に、タイム・チャートを図7に示す。この歩容の期間に床に接触したままの足平を、第1足平、もう一方を第2足平ということとする。尚、歩容生成器の詳細は先に提案した特願平8−214261号に詳細に述べられているので、これ以上の説明は省略する。
【0077】
図4の説明に戻ると、この装置は目標床反力分配器を備え、目標床反力分配器は、目標全床反力中心点(目標ZMP)と目標足平位置・姿勢を主な入力とし、目標各足平床反力中心点を決定して出力する。実際には、歩容生成器から歩容のパラメータ(例えば、両脚支持期の時間や遊脚足平の目標着地位置など)や、歩容の時期・時刻(例えば、現在時刻が両脚支持期の初めから0.1secであるなど)などの情報も必要に応じて取り込む。
【0078】
図5に示すような歩容に対して、目標床反力分配器は、目標各足平床反力中心点が以下の条件を満足するように設定する。
条件1)目標各足平床反力中心点軌跡は連続である。
条件2)両脚支持期では、目標第1足平床反力中心点はかかとに、目標第2足平床反力中心点はつまさきに存在する。
条件3)このとき目標第1足平床反力中心点と目標第2足平床反力中心点を結ぶ線分上に、目標全床反力中心点が存在する。
条件4)片脚支持期では、目標第1足平床反力中心点は、目標全床反力中心点に一致する。
条件5)片脚支持期の間に、目標第2足平床反力中心点は、つまさきからかかとに移動する。
【0079】
これら条件を満足する目標第1足平床反力中心点軌跡のタイム・チャートを図8に、目標第2足平床反力中心点軌跡のタイム・チャートを図9に示す。尚、この図では足首(関節18,20R(L))から足平22R(L)への垂直投影点を原点とし、図1に示すように足平前方向をX軸の正の向き、足平左方向をY軸の正の向きにとる。
【0080】
目標床反力分配器は、更に、付随的ではあるが、目標各足平床反力も決定して出力する。目標各足平床反力は、ばね機構32などのたわみ補償のために必要である。
【0081】
次式を用いて上記のように設定された目標各足平床反力中心点に対応する目標各床反力を決定すれば、目標各足平床反力の合力は目標全床反力に一致しなければならないと言う条件を満足する。
【0082】
【0083】
このように求めた目標各足平床反力は連続的に変化するので、衝撃の少ない歩行を実現するために適している。尚、上記の詳細は本出願人が別途提案した技術(特開平6−79657号)に記述されている。
【0084】
図4の説明に戻ると、この装置は姿勢安定化制御演算部を備え、姿勢安定化制御演算部はロボットのセンサ情報に基づいてロボットの状態を推定し、補償全床反力を算出する。即ち、実際にロボットが歩行あるいは直立しているときなどには後述する変位コントローラによって実関節変位を目標関節変位に完全に追従させることができたとしても、ロボットの位置・姿勢は必ずしも望ましい位置・姿勢にならない。
【0085】
ロボットの姿勢を長期的に安定化させるためには、ロボットを望ましい位置・姿勢に復元させるために必要な力とモーメントを求め、これを目標全床反力中心点(目標ZMP)を作用点として付加的に発生させる必要がある。この付加的な力とモーメントを補償全床反力という。また、補償全床反力のモーメント成分を補償全床反力モーメントという。
【0086】
尚、脚式移動ロボットの目標歩容が床反力以外の反力を環境から受けるように想定し、それを例えば、目標対象物反力と称し、先に述べた目標ZMPの定義を次のように拡張しても良い。即ち、目標運動パターンによって発生する慣性力と重力と目標対象物反力の合力を動力学的に求め、それが床面上のある点に作用するモーメントが、鉛直軸まわりの成分を除いて零であるならば、その点を改めて目標ZMPとするようにしても良い。
【0087】
もし、ロボット1が完全剛体であって、変位コントローラによって実関節変位を目標関節変位に完全に追従させることができたと仮定すると、足平のばね機構32および足底弾性体34のたわみによって生じるロボット全体の位置・姿勢の摂動的な運動は、以下の6自由度に分解できる。
【0088】
モード1)目標全床反力中心点(目標ZMP)を中心とした前後軸まわり回転(即ち、左右傾き)
モード2)目標全床反力中心点(目標ZMP)を中心とした左右軸まわり回転(即ち、前後傾き)
モード3)目標全床反力中心点(目標ZMP)を中心とした鉛直軸まわり回転(即ち、スピン)
モード4)前後平行移動揺れ
モード5)左右平行移動揺れ
モード6)上下平行移動揺れ
【0089】
この内で、モード4とモード5は、足平のばね機構32および弾性体34が前後左右方向のせん断力を受けて撓むことによって発生するものである。ばね機構32および足底弾性体34は剪断方向の剛性が高いように製作するので、この揺れは極めて少なく、歩行に及ぼす悪影響はほとんどない。
【0090】
先に提案した技術では主としてモード1とモード2を扱っていたが、この発明に係る実施の形態では、それに加えて、ロボット全体の挙動(モード1から6)に直接的には影響しない内力の制御を行う。ここでいう「内力」とは、全床反力に影響を与えない各足平床反力の成分の組み合わせを意味する。尚、理解の便宜のため、重複するが、先の提案技術を説明する。
【0091】
モード1を制御するための操作量は、補償全床反力の前後軸(X軸)まわりモーメント成分である。モード2を制御するための操作量は、補償全床反力の左右軸(Y軸)まわりモーメント成分である。従って、補償全床反力の成分の内、前後軸方向モーメント成分と左右軸方向モーメント成分だけを求めれば良い。他の成分は、この実施の形態では用いないので0で良い。
【0092】
尚、以降は次の定義に従う。即ち、補償全床反力のモーメント成分を補償全床反力モーメントMdmd(詳しくは目標全床反力中心点(目標ZMP)まわりの補償全床反力モーメントMdmd)という。図5に示す如く、ロボットの前方向をX軸、左横方向をY軸、上方向をZ軸にとり、第1足平の足首直下の床面上の点を原点とした座標系を支持脚座標系と呼び、断らない限り、位置、力およびモーメントはこの座標系で表現されるものとする。また、MdmdのX成分をMdmdx、Y成分をMdmdy、Z成分をMdmdzと記述する。上体24の傾斜偏差(即ち、実上体傾斜−目標上体傾斜)θerr のX成分をθerrx, Y成分をθerry、これらの時間微分値を(dθerrx / dt),(dθerry / dt)と記述する。
【0093】
MdmdxおよびMdmdyは、例えば次式の制御則によって決定される。
ここで、Kthx,Kthy,KwxおよびKwyは、上体傾斜安定化制御ゲインである。
【0094】
後述する複合コンプライアンス動作決定部は、目標全床反力と補償全床反力の合力に実全床反力を一致させようと働く。
【0095】
図4の説明に戻ると、この装置は実各足平床反力検出器を備え、実各足平床反力検出器は、6軸力センサ44によって実各足平床反力(その合力が実全床反力)を検出する。更に、関節のエンコーダによって検出される実変位(あるいは変位指令)に基づき、上体に固定された座標系に対する各足平の相対位置・姿勢を算出し、それによって6軸力センサ44の検出値を座標変換し、上体に固定された座標系で表現された実各足平床反力を算出した後、更に、支持脚座標系に変換する。
【0096】
この装置はロボット幾何学モデル(逆キネマティクス演算部)を備え、ロボット幾何学モデルは、上***置・姿勢と足平位置・姿勢を入力されると、それらを満足する各関節変位を算出する。この実施の形態におけるロボット1のような1脚あたりの関節自由度が6である場合には、各関節変位は一義的に求まる。
【0097】
この実施の形態では逆キネマティクスの解の式を直接的に求めておき、式に上***置・姿勢と足平位置・姿勢を代入するだけで各関節変位を得るようにした。即ち、ロボット幾何学モデルは、目標上***置・姿勢と複合コンプライアンス動作決定部で修正された修正目標足平位置・姿勢軌道(機構変形補償入り修正目標足平位置・姿勢軌道)を入力し、それらから12個の関節(10R(L)など)の関節変位指令(値)を算出する。尚、ヤコビアンによって関節角変位を得ても良い。
【0098】
この装置は変位コントローラ(前記した第2の演算装置82に同じ)を備え、変位コントローラは、ロボット幾何学モデル(逆キネマティクス演算部)で算出された関節変位指令(値)を目標値としてロボット1の12個の関節の変位を追従制御する。
【0099】
前記した複合コンプライアンス動作決定部は、以下の2つの要求を満足させようと、目標足平位置・姿勢軌道を修正する。
【0100】
要求1)ロボットの位置・姿勢制御のために、実全床反力を姿勢安定化制御部が出力する補償全床反力(モーメントMdmd)と目標全床反力の合力に追従させる。ロボットの姿勢傾きだけを制御したい場合には、目標全床反力中心点まわりの実全床反力水平方向モーメント成分だけを補償全床反力モーメントMdmdに追従させる。
【0101】
要求2)各足平の接地性を確保するために、できるかぎり目標各足平床反力中心点まわりの実各足平床反力モーメントの絶対値を小さくする。
【0102】
尚、補足すると、通常は実全床反力を補償全床反力と目標全床反力の合力に一致させながら目標各足平床反力中心点まわりの実各足平床反力モーメントを0にすることが、物理的に不可能な場合が多い。従って、要求1)と要求2)は完全に両立させることはできず、ある点で妥協しなくてはならない。
【0103】
上記を前提として図10フロー・チャート(構造化フロー・チャート)を参照してこの装置の動作を説明する。尚、図の左端に該当する処理を行う図4装置の構成要素を示す。
【0104】
先ずS10において装置を初期化し、S12を経てS14に進み、タイマ割り込みを待機する。タイマ割り込みは50msごとになされ、即ち、制御周期は50msである
【0105】
続いてS16に進んで歩容の切り替わり目、即ち、支持脚の切り替わり目か否か判断し、否定されるときはS22に進むと共に、肯定されるときはS18に進んでタイマtをイニシャライズし、S20に進んで目標歩容パラメータを設定する。前記の如く、歩容パラメータは、運動パラメータと床反力パラメータ(ZMP軌道パラメータ)から構成される。
【0106】
続いてS22に進み、目標歩容の瞬時値を決定する。ここで『瞬時値』は制御周期ごとの値を意味し、目標歩容瞬時値は、目標上***置・姿勢、目標各足平位置・姿勢、および目標ZMP位置から構成される。尚、ここで『姿勢』はX,Y,Z空間における『向き』を意味する。
【0107】
続いてS24に進んで目標各足平床反力中心点を求める。これは、目標床反力分配器の説明で述べたように行う。具体的には、図8および図9に示すように設定した目標各足平床反力中心点軌跡の現在時刻tにおける値を求めることで行う。
【0108】
続いてS26に進んで目標各足平床反力を求める。これは目標床反力分配器の説明で述べた式1を用いて目標各足平床反力を演算することで行う。
【0109】
続いてS28に進み、前記した傾斜センサ60などの出力から上体24の傾斜などロボット1の状態を検出する。
【0110】
続いてS30に進み、ロボット1の状態などから姿勢を安定化するための(目標全床反力中心点(目標ZMP)まわりの)補償全床反力モーメントMdmdx,Mdmdyを求める。具体的には、上体傾斜が検出されたとき姿勢安定化を図るために前記した式2に従って補償全床反力モーメントMdmdx,Mdmdyを演算する。
【0111】
続いてS32に進んで実各足平床反力を検出する。これは前記の如く、6軸力センサ44の出力から検出する。
【0112】
続いてS34に進み、両脚補償角θdbvおよび各足平補償角θnx(y)を決定する。これは、前記した複合コンプライアンス動作決定部が行う作業である。
【0113】
その複合コンプライアンス動作決定部の作業について説明する。説明の便宜のため、両脚支持期において図11に示すように第1足平22R(L)と第2足平22L(R)に実各足平床反力が作用している状況と仮定する。
【0114】
ここでベクトルFnactは第n足平床反力の力成分を表す。ベクトルMnactは第n足平床反力のモーメント成分を表す。ベクトルMnactの向きは、向きに対して時計回りのモーメントが床から足平に作用していることを表す。
【0115】
この瞬間の目標全床反力は、図12に示すようになっていると仮定する。ちなみに、目標全床反力中心点(目標ZMP)における目標全床反力モーメントベクトルMsumrefは垂直である(定義により、目標ZMPは目標全床反力モーメントの水平方向成分が0である点であるから)。
【0116】
これを式1に従って目標各足平床反力に分配すると、図13に示すようになる。同図において、ベクトルFnrefは目標第n足平床反力の力成分を表す。ベクトルMnrefは目標第n足平床反力のモーメント成分を表す。ベクトルMnrefの向きの表現は、Mnactと同様である。
【0117】
説明のため、上体姿勢が左後ろに倒れそうな状態を想定する。
【0118】
前述の姿勢安定化制御演算部では、ロボット1の上体傾斜偏差検出値θerrx,θerryに基づいて補償全床反力モーメントMdmdを算出する。この実施の形態では鉛直軸(Z軸)まわりのスピンを制御しないので、補償全床反力モーメントMdmdの鉛直軸成分は0である。上***置の揺れも制御しないので、補償全床反力モーメントの力成分も0である。この状態に対応する補償全床反力モーメントMdmdを図14に示す。
【0119】
姿勢を復元させるためには、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントの水平成分を、目標全床反力モーメントMsumrefと補償全床反力モーメントMdmdの和の水平成分に追従させれば良い。
【0120】
一方、目標全床反力中心点(目標ZMP)では目標全床反力モーメントMsumrefの水平方向成分は0である。従って、前後左右の姿勢傾きを復元させるためには、目標ZMPまわりの実全床反力モーメントの水平成分を、Mdmdの水平成分に追従させれば良い。
【0121】
この実施の形態にあっては複合コンプライアンス動作決定部は、以下の要求をできる限り満足するように足平の位置・姿勢を修正する。
要求1)ロボットの姿勢傾斜を安定化制御するために、目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントの水平方向(X,Y軸方向)成分を、補償全床反力モーメントMdmdの水平方向成分に追従させる。
要求2)各足平の接地性を確保するために、できるかぎり目標各足平床反力中心点まわりの実各足平床反力モーメントの絶対値を小さくする。
【0122】
但し、前述の通り、要求1)と要求2)は、完全に両立させることはできず、ある点で妥協しなくてはならない。
【0123】
足平の位置・姿勢の修正は、この実施の形態では次のように行う。
1)目標第1足平床反力中心点Q1と目標第2足平床反力中心点Q2を含み、かつ水平面と垂直な平面の法線ベクトルVを求める。Vの大きさは1とする。Vを図15に示す。
【0124】
2)目標第1足平床反力中心点Q1の座標を、目標全床反力中心点(目標ZMP)を回転中心に法線ベクトルVまわりに、ある回転角θdbvだけ回転移動する。移動した後の点をQ1’とする。同様に、目標第2足平床反力中心点Q2の座標を、目標全床反力中心点(目標ZMP)を回転中心に法線ベクトルVまわりに回転角θdbvだけ回転移動する。移動した後の点をQ2’とする。
【0125】
この回転角θdbvを両脚補償角という。始点がQ1、終点がQ1’のベクトルをベクトルQ1Q1’とする。同様に、始点がQ2、終点がQ2’のベクトルをベクトルQ2Q2’とする。図16にQ1’とQ2’を示す。
【0126】
3)目標第1足平を、姿勢は変えずにベクトルQ1Q1’だけ平行移動(ほぼ上下移動)させる。同様に、目標第2足平を、姿勢は変えずにベクトルQ2Q2’だけ平行移動させる。移動後の目標各足平を図16に太線で示す。
【0127】
4)次に、目標第1足平をQ1’を中心に、前後方向軸(X軸)まわりに回転角θ1x、左右方向軸(Y軸)まわりに回転角θ1yだけ回転させる。同様に、目標第2足平を目標第2足平をQ2’を中心に前後方向軸(X軸)まわりに回転角θ2x、左右方向軸(Y軸)まわりに回転角θ2yだけ回転させる。回転角θnx,θnyをそれぞれ第n足平X補償角、第n足平Y補償角という。回転後の目標各足平を図17に太線で示す。
【0128】
以上の補償動作量が過大でなければ、接地圧力分布は変わっても、接地領域(足底面の圧力が正の領域)は変わらない。このような場合には、補償動作量に比例して各足平に装着されたばね機構32や足底弾性体34などが変形し、変形量に応じた実各足平床反力が発生する。この結果、補償動作量と補償動作によって発生する実床反力の変化量との間の関係は、以下に示す良好な特性を持つ。
【0129】
特性1)両脚補償角θdbvだけを操作して目標各足平位置を移動させると、下がった足平の実足平床反力の力成分が増加し、上がった足平の実足平床反力の力成分が減少する。このとき、修正目標各足平床反力中心点まわりの実各足平床反力モーメントは、ほとんど変化しない。
【0130】
特性2)第n足平X補償角だけを操作して目標第n足平姿勢を回転させると、目標第n足平床反力中心点に作用する実第n足平床反力のモーメントのX成分だけが変化し、その他の床反力成分は少ししか変化しない。同様に、第n足平Y補償角だけを操作して目標第n足平姿勢を回転させると、実第n足平床反力のモーメントのY成分だけが変化し、その他の床反力成分は少ししか変化しない。
【0131】
特性3)両脚補償角θdbv、各足平X補償角および各足平Y補償角を同時に操作すると、実各足平床反力の変化量は、それぞれを単独に操作したときの変化量の和になる。
【0132】
特性1および特性2は、これらの操作に独立性があることを示し、特性3はこれらの操作に線形性があることを示していると言える。
【0133】
図18は複合コンプライアンス動作決定部の演算処理を示すブロック図であり、同図を参照してこの作業を説明する。
【0134】
概説すると、補償全床反力モーメント分配器において補償全床反力モーメントMdmdの分配を行う。次に、実各足平床反力と分配された補償全床反力モーメントなどから、両脚補償角決定部および第n足平X(Y)補償角決定部において前述の補償角θdbvおよびθnx(y)を決定する。
【0135】
次に、決定された各種補償角に基づいて修正目標足平位置・姿勢算出部は、補償された足平位置・姿勢(これを修正目標足平位置・姿勢という)を幾何学演算によって求める。最後に、機構変形補償入り修正目標足平位置・姿勢算出部は、目標各足平床反力によって発生が予想されるばね機構32や足底弾性体34の変形量を求め、それらを打ち消すように修正目標足平位置・姿勢をさらに修正する。
【0136】
以下詳説すると、補償全床反力モーメント分配器は、補償全床反力モーメントMdmdを、両脚補償モーメントMdmddb、各足平補償モーメントMdmd1x,y,Mdmd2x,yに分配する。両脚補償モーメントMdmddbは、両脚補償角(足平上下量)θdbvを操作することによって目標全床反力中心点(目標ZMP)まわりに各足平床反力の力成分が作るモーメントの目標値である。
【0137】
両脚補償モーメントMdmddbのV方向まわりの成分をMdmddbvと記述する。尚、ベクトルVは複合コンプライアンス動作決定部の説明で定義したベクトルである。Vに直交し、鉛直方向にも直交するベクトルをUとすると、両脚補償モーメントMdmddbのU方向成分Mdmddbuは0に設定される。両脚補償角θdbvを操作しても、床反力のU方向モーメント成分を発生することはできないからである。
【0138】
この実施の形態では補償全床反力モーメントMdmdの鉛直方向成分が0なので、Mdmddbの鉛直方向成分Mdmddbzも0に設定される。
【0139】
第1足平補償モーメントMdmd1は、第1足平補償角θ1x,θ1yを操作することによって目標第1足平床反力中心点まわりに発生させたいモーメントである。第1足平補償モーメントMdmd1のX成分をMdmd1x、Y成分をMdmdlyと記述する。第2足平補償モーメントMdmd2は、第2足平補償角θ2x,θ2yを操作することによって目標第2足平床反力中心点まわりに発生させたいモーメントである。第2足平補償モーメントMdmd2のX成分をMdmd2x、Y成分をMdmd2yと記述する。
【0140】
分配は、例えば次のように行う。
【0141】
ここで、Wdbx,Wdby,W1x,W1y,W2x,W2yおよびWintは分配用重み変数である。VxはベクトルVのX成分の値、VyはベクトルVのY成分の値である。この中で、Wintは、両脚補償角を操作することによって発生した全床反力モーメントを各足平補償角を操作することによって打ち消すためのものである。
【0142】
式3と式4の演算処理を行う補償全床反力モーメント分配器のブロック図を図19に示す。
【0143】
歩行時の分配用重み変数Wdbx,Wdby,W1x,W1y,W2x,W2yおよびWintの設定例を図20に示す。図20のパターンは、以下の注意点を考慮して決定することが望ましい。
【0144】
注意点1)両脚補償角と各足平補償角が不連続的に変化すると、関節に過大なトルクが発生する。そこで、両脚補償角と各足平補償角を連続的に変化させるために、分配用重み変数は連続的に変化させる。
【0145】
注意点2)両脚補償角および各足平補償角を操作することによって発生する実床反力モーメントが、なるべく補償全床反力モーメントMdmdに近い値になるように、分配用重み変数を決定する。
【0146】
この際、直立時や歩行時など状況に応じて以下に示すように設定方針を変えた方が良い。直立時などのように、両脚補償モーメントのV方向成分Mdmddbv、各足平補償モーメントMdmd1,Mdmd2を忠実に実各足平床反力に発生させることができる状況では以下のように設定する。
【0147】
この状況では目標全床反力中心点(目標ZMP)まわりの実全床反力モーメントの水平方向成分を、補償全床反力モーメントMdmdの水平方向成分に一致させるために、(即ち、前述の複合コンプライアンス動作決定部に対する要求1を満足するために、)式5と式6の両方をなるべく満足するように重みを設定すべきである。
【0148】
【0149】
これに式3、式4を代入すると、式5は式7に、式6は式8に変換される。
【0150】
MdmdxとMdmdyが任意の値を取っても、式7と式8が恒等的に成立するためには、式9、式10、および式11を同時に満足すれば良い。
即ち、以上の状況では式9、式10および式11を同時に満足するように、重みを決定すれば良い。
【0151】
歩行時ではMdmddbvを目標にして両脚補償角θdbvを操作して足平の位置を修正しても、実全床反力モーメントの発生量がMdmddbvに較べて不足する場合がある。例えば図21のように両脚支持期の初期にロボットが後傾して第1足平が未だ着地していない状況では、θdbvによって第1足平の位置を下げても、実床反力は変化しない。
【0152】
同様に、Mdmd2を目標にして第2足平補償角θ2を操作して第2足平の角度を修正しても、実床反力モーメントの増加量がMdmd2に較べて不足する場合がある。例えば、図22のように両脚支持期の後半にロボットが後傾している状況では、θ2によって第2足平のかかとを下げても実床反力は変化しない。
【0153】
従って、式5、式6を満足するように各重みを設定しても、複合コンプライアンス制御によって発生する実全床反力の増加量が補償全床反力モーメントMdmdに届かない場合がある。このようなことが生じる可能性が高い状況では、式5、式6の左辺の値を右辺で割った値を1より大きくすべきである。
【0154】
歩行時の分配用重み変数設定例である図20では、Wintを0に設定することによって、図21の状況のように、両脚補償角θdbv を操作しても実全床反力モーメントが発生できなくなっても、各足平補償角を操作して不足分を補うようにした。
【0155】
好都合なことに、図21のように後傾すると第2足平のかかとが結果的に下がって床に接地しやすくなるので、第2足平補償角を操作することによって実全床反力モーメントを発生させることができるようになる。
【0156】
また、後傾していないときには両脚補償角θdbvを操作することによる実全床反力モーメントが発生するが、第2足平のかかとが床に接地しないので、第2足平補償角を操作しても実全床反力モーメントは発生しない。
【0157】
つまり、両脚補償角θdbvが有効に働くときには各足平補償角が有効に働かず、各足平補償角が有効に働くときには両脚補償角θdbvが有効に働かないので、結果的に両脚補償角および各足平補償角を操作することによって発生する実床反力モーメントの総量は、ほぼ補償全床反力モーメントMdmdに等しくなる。
【0158】
状況によっては、両脚補償角および各足平補償角を操作することによって発生する実床反力モーメントの総量が補償全床反力モーメントMdmdよりも大きくなってしまう場合がある。
【0159】
しかし、この場合でも、Mdmdがこの実施の形態のように姿勢安定化のためのフィードバック操作量であるならば、あまり問題にならない。何故ならば、Mdmdの大きさが多少違っていても、一般的に制御系に言えることであるが、制御系のオープンループゲインが多少変化するだけで、クローズドループ特性はほとんど変わらないからである。
【0160】
注意点3)片脚支持期では、両脚補償角用の分配用重み変数であるWdbx,Wdbyの絶対値を小さくする。片脚支持期では両脚補償角を変化させても、接地していない足平が無駄に上下するだけで、実各足平床反力は変化しないからである。
【0161】
注意点4)足平の接地性を確保するために、目標足平床反力の力成分が小さいときには、その足平の足平補償角のための分配用重み変数の絶対値を小さくする。特に、足平が床から遠く離れているときには、その足平の足平補償角を動かしても、その足平の実足平床反力は変化しないので、不要な動きをさせないためにも、その足平の足平補償角のための分配用重み変数の絶対値を小さくすべきである。
【0162】
注意点5)両脚補償角を操作することによって制御できる実全床反力モーメントの方向と、各足平補償角を操作することによって制御できる実全床反力モーメントの方向は通常異なる。
【0163】
例えば、両脚補償角θdbvを操作することによって発生する実全床反力モーメントの向きは必ずV方向であり、V方向に直交する成分を発生させることはできない。一方、各足平補償角を操作することによって発生できる実全床反力モーメントの向きは、足平の接地状況によって制約を受ける。
【0164】
例えば、つまさきのエッジだけまたはかかとのエッジだけが接地している場合には、エッジ線方向にモーメントを発生することはできない。両脚支持期では、この特性を考慮して、なるべく無駄なく両脚補償角および各足平補償角を操作する。
【0165】
例えば、両脚補償角を操作するための分配重みWdbx,Wdbyは次のように決定する。
【0166】
X成分がWdbx、Y成分がWdby、Z成分が0のベクトルをWdbとすると、式3はベクトルWdbとMdmdの内積になっている。従って、MdmdをベクトルWdb方向成分とその直交成分に分解し、ベクトルWdb方向成分だけを抽出して、ベクトルWdbの大きさを乗じたものが、式3によって求められるMdmddbvであると言える。
【0167】
この場合のMdmddbvを図23に示す。これは、両脚補償角を操作することによって実全床反力モーメントのWdb方向成分を制御するフィードバック制御系を構成することを意味する。もし、Wdb方向がベクトルVと直交していたら、両脚補償角をいくら操作しても実全床反力モーメントのWdb方向成分は発生しないから、このフィードバック制御系はただ無駄に両脚補償角を操作するだけになる。
【0168】
従って、無駄な動きを減らした場合には、Wdb方向をベクトルV方向に一致させるか、またはなるべく近づけるべきである。また、補償全床反力モーメントMdmdのWdb方向成分を、各足平補償角に頼らずに両脚補償角を操作するだけで発生させたいならば、WdbとVの内積が1になるように設定する。一部を各足平補償角に頼らせたいならば、WdbとVの内積が1より小さくなるように設定する。
【0169】
ところで、足平の横幅が狭い場合には、各足平補償角を操作することによって発生し得る実各足平床反力モーメントのX成分は小さくなる。この場合には、Wdbxを大きめに設定する。Wdb方向とベクトルV方向は一致しなくなり、両脚補償角の変動が増加するが、安定性が増す。
【0170】
両脚補償角決定部について更に詳説すると、図24は両脚補償角決定部の演算処理のブロック図であり、両脚補償角θdbvは図示の如く演算される。
【0171】
図24を参照して説明すると、目標第1足平床反力中心点Q1に作用するF1actと目標第2足平床反力中心点Q2に作用するF2actが、目標全床反力中心点Pのまわりに発生させるモーメントMf1f2actを、次式により求める。
【0172】
ここで、PQ1は始点がP、終点がQ1のベクトル、PQ2は始点がP、終点がQ2のベクトルである。
【0173】
また、式12の代わりに、次式を用いても実際上はほとんど問題がない。
式12aは、目標全床反力中心点まわりに作用する実全床反力モーメントMactを算出する式になっている。尚、式12は、目標全床反力中心点まわりに作用する実全床反力モーメントから、目標各足平床反力中心点まわりに作用する実各足平床反力モーメントを減じたものになっている。請求項4項の記載は、これに基づく。
【0174】
次に、Mf1f2actのベクトルV方向成分Mf1f2actvを抽出する。これは、ベクトルの内積演算を用いた次式によって得られる。尚、ベクトルVは前述の動作説明において図15に示したVである。
【0175】
次に、Mf1f2actvをローパスフィルタに通してMf1f2actvfiltを得る。
【0176】
次に、両脚補償モーメントV方向成分Mdmddbvを補償用フィルタに通し、それを、Mf1f2actvfiltから減じ、偏差モーメントV方向成分Mdiffvを得る。
【0177】
尚、補償用フィルタは、Mdmddbvから実全床反力モーメントまでの伝達関数の周波数応答特性を改善するものである。
【0178】
次に、足平ばね機構などの変形による両脚補償モーメントV方向成分への影響を打ち消すための両脚機構変形補償角θffdbvを求める。これは、いわゆるフィードフォワード補償である。
【0179】
具体的には、両脚補償モーメントV方向成分Mdmddbvと変形量との関係を表す機構コンプライアンスモデルを用い、目標第1足平床反力中心点Q1と目標第2足平床反力中心点Q2を結ぶ線分の変形角度を求め、それの極性を反転したものを両脚機構変形補償角θffdbvとすれば良い。
【0180】
両脚機構変形補償角θffdbvは、近似的には次式により求めれば良い。
ここでαは所定の定数である。
【0181】
最後に次式によって両脚補償角θdbvを得る。ここでKdbは制御ゲインであり、通常、これは正の値に設定する。
【0182】
第n足平補償角決定部について説明すると、図25はその中の第1足平X補償角決定部の演算処理を示すブロック図であり、第1足平X補償角θ1xは図示の如く演算する。説明は省略するが、第1足平Y補償角θ1y、第2足平X補償角θ2x、第2足平Y補償角θ2yも同様に求める。ここでは第1足平X補償角θ1xを求めるアルゴリズムだけを説明する。
【0183】
第1足平床反力モーメントX成分M1actxをローパスフィルタに通してM1actfiltxを得る。第1足平補償モーメントX成分Mdmd1xを補償用フィルタに通し、それを、M1actfiltxから減じ、偏差モーメントMdiff1xを得る。両脚補償角決定と同様、補償用フィルタは、Mdmd1xから実全床反力までの伝達関数の周波数応答特性を改善するものである。
【0184】
次に、両脚補償角決定と同様、足平ばね機構などの変形による第1足平補償モーメントX成分への影響を打ち消すための第1足平X機構変形補償角θff1xを求める。これは、いわゆるフィードフォワード補償である。
【0185】
具体的には、第1足平補償モーメントX方向成分Mdmd1xと変形量との関係を表す機構コンプライアンスモデルを用い、第1足平の変形角度を求め、それの極性を反転したものを第1足平X機構変形補償角θff1xとすれば良い。
【0186】
第1足平X機構変形補償角θff1xは、近似的には次式により求めれば良い。
ここでα1xは所定の定数である。
【0187】
最後に次式によって第1足平X補償角θ1xを得る。ここでK1xは制御ゲインであり、通常、これも正の値に設定する。
尚、図示のブロック線図は、演算処理順序を変えるなどの等価変形をしても良い。
【0188】
図18に戻って説明を続けると、修正目標足平位置・姿勢算出部は、両脚補償角θdbv、第1足平X補償角θ1x、第1足平Y補償角θ1y、第2足平X補償角θ2x、第2足平Y補償角θ2yおよび内力補償変位(後述)に基づき、前述の複合コンプライアンス動作を拡張した足平位置・姿勢修正手法に従って目標足平位置・姿勢を修正し、修正目標足平位置・姿勢を得る。
【0189】
機構変形量算出部は、目標各足平床反力によって発生が予想されるばね機構32や足底弾性体34の変形量を求める。
【0190】
機構変形補償入り修正目標足平位置・姿勢算出部は、算出された機構変形量を打ち消すように、修正目標足平位置・姿勢をさらに修正し、機構変形補償入り修正目標足平位置・姿勢を得る。
【0191】
例えば、図26に示すような機構変形量が予想されるときには、機構変形補償入り修正目標足平位置・姿勢は、図27に実線で示す位置・姿勢に修正される。即ち、図27に示す機構変形補償後の足平が目標足平床反力を受けて変形したときの位置・姿勢が、図26に示す床反力を受けないときの機構変形補償前の足平位置・姿勢に一致するように、機構変形補償入り修正目標足平位置・姿勢を算出する。
【0192】
機構変形補償は、ばね機構32や足底弾性体34の変形によって生じる実足平位置・姿勢のずれをフィードフォワード的に打ち消す制御であり、この制御がない場合に比較し、より一層、目標歩容に近い歩行を実現することができる。
【0193】
上記を前提として図10フロー・チャートの説明に戻ると、前記の如く、S34において上記した補償角を決定する。
【0194】
図28はその作業を示すサブルーチン・フロー・チャートである。
【0195】
同図を参照して説明すると、先ずS100において前記したベクトルVを求め、S102に進んで分配用重み変数を図20に示すように設定し、現在時刻tでのこれらの値を求める。続いてS104に進み、式3および式4によって補償全床反力モーメントMdmdを両脚補償モーメントMdmddbvと各足平補償モーメントMdmdnx(y)に分配し、S106に進んで既述の如く両脚補償角θdbvを求め、S108に進んで各足平補償角θnx(y)を求める。
【0196】
図10フロー・チャートの説明に戻ると、次いでS35に進んで各足平内力補償変位を決定するが、これについては後述する。
【0197】
次いでS36に進み、目標各足平床反力に基づいて機構変形補償量を算出し、S38に進んで目標足平位置・姿勢を補償角θdbv,θnx(y)、および内力補償変位(後述)に応じて修正し、更にこれを機構変形補償量に応じて修正し、機構変形補償入り修正目標足平位置・姿勢を得る。
【0198】
次いでS40に進み、上***置・姿勢と機構変形補償入り修正足平位置・姿勢から関節変位指令(値)を算出し、S42に進んで実関節変位を算出された関節変位指令(値)にサーボ制御し、S44に進んで時刻をΔt更新し、S14に戻って上記の処理を繰り返す。
【0199】
ここで、図10フロー・チャートのS35の処理について説明する。
【0200】
上記したS35を除く処理で行われる制御によってロボット全体の挙動に影響を与える実全床反力のモーメント成分と実各足平モーメントを独立に制御することができる。しかし、実各足平床反力の力成分を独立に制御することはできない。
【0201】
本出願人がこの出願と同日付けで提案する、実全床反力の力成分のコンプライアンス制御では、実各足平床反力の力成分の和を制御することができるので、実各足平の力成分を独立に制御するためには、実各足平床反力の力成分の差を制御するものを加えれば良い。S35の処理はそれを意図するもので、以下の追加される制御を「内力コンプライアンス制御」という。
【0202】
この制御は、目標第1足平と目標第2足平の間隔を僅かに延ばしたり、縮めたりすることによって、両足平を結ぶ線分方向に、足平床反力の力成分を、それぞれの足平に互いに逆向きに発生させる。この動作を「逆位相平行移動動作」という。
【0203】
この制御を行うと、実全床反力と実各足平モーメントに対してS35の処理を除く処理で述べた制御に干渉することなく、実第1足平の力成分と実第2足平の力成分の比率を変えることができるので、この比率を状況に応じて適切に制御することによって、前記したように、例えばロボットを進行方向に推進させる力を、接地圧の高い足平には大きくすると共に、低い足平には小さくすることによって、姿勢安定性を向上させてスリップを効果的に防止することができる。
【0204】
また、一方の足平が他方の足平の発生する進行方向に推進させる力の負荷となっている状態なども解消させることができ、関節アクチュエータの負担を軽減させることができる。
【0205】
その意図から、この実施の形態においては、先に提案した装置に、図18の下部に示す如く、内力補償変位算出部を追加した。具体的には、内力補償変位算出部および内力補償変位を含む修正目標足平位置姿勢算出部は、S35の処理を除く処理で得られた修正目標各足平位置・姿勢に以下の操作を加える。
【0206】
図29は内力補償変位算出部の処理を詳細に示すブロック図であり、図30はその逆位相平行移動動作の説明図である。図29に示す如く、内力補償変位算出部は、実各足平床反力の力成分と目標各足平床反力の力成分から、図30に示す各足平内力補償変位Dn(n=1,2)を算出する。また、修正目標足平位置姿勢算出部は、その各足平内力補償変位Dnを含め、幾何学演算によって修正足平位置・姿勢を算出する。
【0207】
図30を参照して概説すると、先ず、始点がQ1’、始点がQ2’のベクトルと、向きが同じで大きさが1の方向ベクトルを求める。これを以降V’と記述する。
【0208】
次に、S35の処理を除く処理で得られた修正目標第1足平を、姿勢を変えずに、D1V’だけ平行移動させる。図示の如く、D1は修正目標第1足平のV’方向への移動量であり、以降、第1足平内力補償変位という。D1は、スカラ変数である。
【0209】
同時に、修正目標第2足平を、姿勢を変えずに、D2V’だけ平行移動させる。D2は修正目標第2足平のV’方向への移動量であり、以降、第2足平内力補償変位という。D1も、スカラ変数である。尚、図示の状態では、D1は負、D2は正である。通常、D1とD2は極性が逆であるため、両足平は、逆位相に動く。以上が、逆位相平行移動動作である。
【0210】
上記を図31フロー・チャートを参照してさらに詳細に説明する。
【0211】
S200において図32の時変特性を示す、予め設定された分配用重み変数Wd1,Wd2の現在時刻tにおける値を求める。
【0212】
続いてS202に進み、実各足平床反力の力成分および目標各足平床反力の力成分から式19によって偏差Fderrを算出する。即ち、図29に示すように、実第1足平床反力の力成分F1act、実第2足平床反力の力成分F2act、目標第1足平床反力の力成分F1ref、および目標第2足平床反力の力成分F2refから、次の式(式19)によって偏差Fderrを算出する。
【0213】
Fderr=F2act−F1act−(F2ref−F1ref)・・・式19
尚、目標第1足平床反力の力成分F1refおよび目標第2足平床反力の力成分F2refは、前記した目標歩容の中の値である。
【0214】
続いてS204に進み、算出した偏差Fderrを制御系の発振を防止するためのローパスフィルタに通し、さらに、ゲインKd倍して差Diffを算出する。
【0215】
続いてS206に進み、次式(式20,21)によって、第1足平内力補償変位D1と第2足平内力補償変位D2を算出する。
D1=−Wd1*Ddiff ...式20
D2= Wd2*Ddiff ...式21
【0216】
ここで、Wd1およびWd2は、非負の分配重み変数である。Wd1とWd2の和は1のとき、Ddiffは、修正目標第2足平と修正目標第1足平の間の距離の伸び量を意味する。
【0217】
分配用重み変数Wdnの設定例は図32に示す通りであるが、図示の例では以下の点を考慮して設定される。即ち、各足平内力補償変位が不連続に変化すると、関節に過大なトルクが発生することから、Wdnは、連続的に変化するように設定される。
【0218】
また、足平が着地する頃にWdnが零でないと、足平着地位置が目標位置からずれ、却ってこの内力制御の支障となる場合がある。従って、足平が着地する付近ではWdnは零にする。また、片足支持期は制御不要であることから、Wdnを零にすると共に、両脚支持期および直立時にはWd1とWd2の和を1にする。
【0219】
かく得られた同位相補償変位Dnも含め、図10フロー・チャートのS38において機構変形補償入り修正目標足平位置姿勢が算出される。
【0220】
具体的には、両脚補償角θdbv、第1足平X補償角θ1x、第1足平Y補償角θ1y、第2足平X補償角θ2x、第2足平Y補償角θ2y、第1足平内力補償変位D1、および第2足平内力補償変位D2に基づき、前記した同位相平行移動動作を含む複合コンプライアンス動作に従って修正目標足平位置姿勢が算出される。
【0221】
この実施の形態では上記の如く、少なくとも基体(上体24)と、前記基体に第1の関節(10,12,14R(L))を介して連結されると共に、その先端に第2の関節(18,20R(L))を介して連結される足部(足平22R(L))を備えた複数本(2本)の脚部(脚部リンク2)からなる脚式移動ロボットの制御装置において、前記ロボットの少なくとも前記足部の目標位置および姿勢を含む運動パターン(目標上***置・姿勢、目標足平位置・姿勢)と、前記ロボットに作用する全床反力の目標パターン(目標全床反力、目標全床反力中心点(=目標ZMP))を少なくとも含む前記ロボットの歩容を生成する歩容生成手段(歩容生成器、S10からS22)、前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点(目標各足平床反力中心点)を決定する目標足部床反力中心点決定手段(目標床反力分配器、S24,S26)、前記足部に作用する実床反力(実各足平床反力)を検出する実床反力検出手段(6軸力センサ44、実各足平床反力検出器、S32)、前記検出された実床反力が前記算出された目標足部床反力中心点まわりに作用するモーメント(実第n足平床反力モーメントMactx,y,z)を算出し、少なくとも前記算出されたモーメントに基づいて前記足部を回転させる回転量(両脚補償角θdbv,z、第n足平補償角θnx,y,z)を決定する足部回転量決定手段(複合コンプライアンス動作決定部、S32からS34、両脚補償角決定部、第n足平補償角決定部、S100からS108)、前記決定された足部回転量に基づいて前記足部の位置および/または姿勢が回転するように前記目標位置および/または姿勢を修正する第1の足部位置・姿勢修正手段(複合コンプライアンス動作決定部、S38,S40、修正目標足平位置・姿勢算出部)、前記検出された実床反力から実全床反力に影響しない内力成分(F1act+F2act)を求めて前記生成された歩容の内力成分(F1ref+F2ref)との偏差Fderr,Ddiffを算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位Dnを算出する補償変位算出手段(内力補償変位算出部、S35,S200からS206)、前記算出された補償変位に基づいて目標足部位置・姿勢を修正する第2の足部位置・姿勢修正手段(上体Z方向加速度制御演算部、同位相補償変位算出部、S38)および前記第1および前記第1および第2の足部位置・姿勢手段によって修正された足部の位置・姿勢に基づいて前記ロボットの第1および第2の関節(10,12,14,18,20R(L))を変位させる関節変位手段(ロボット幾何学モデル(キネマティクス演算部)、変位コントローラ、S40,S42)を備える如く構成した。
【0222】
また、少なくとも基体(上体24)と、前記基体に第1の関節(10,12,14R(L))を介して連結されると共に、その先端に第2の関節(18,20R(L))を介して連結される足部(足平22R(L))を備えた複数本(2本)の脚部(脚部リンク2)からなる脚式移動ロボット1の制御装置において、前記ロボットの少なくとも前記足部の目標位置および姿勢を含む運動パターン(目標上***置・姿勢、目標足平位置・姿勢)と、前記ロボットに作用する全床反力の目標パターン(目標全床反力、目標全床反力中心点(=目標ZMP))を少なくとも含む前記ロボットの歩容を生成する歩容生成手段(歩容生成器、S10からS22)、前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点(目標各足平床反力中心点)を決定する目標足部床反力中心点決定手段(目標床反力分配器、S24)、前記足部に作用する実床反力(実各足平床反力)を検出する実床反力検出手段(6軸力センサ44、実各足平床反力検出器、S32)、少なくとも前記検出された実床反力に基づいて前記足部を回転させる回転量(両脚補償角θdbv,z、第n足平補償角θnx,y,z)を決定する足部回転量決定手段(複合コンプライアンス動作決定部、S32,S34、両脚補償角決定部、第n足平補償角決定部、S100からS108)、前記決定された足部回転量に基づいて前記足部の位置および/または姿勢が、前記決定された目標足部床反力中心点あるいはその近傍まわりに回転するように、前記目標位置および/または姿勢を修正する第1の足部位置・姿勢修正手段(複合コンプライアンス動作決定部、S38,S40、修正目標足平位置・姿勢算出部)、前記検出された実床反力から実全床反力に影響しない内力成分(F1act+F2act)を求めて前記生成された歩容の内力成分(Fref1+Fref2)との偏差Fderr,Ddiffを算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位Dnを算出する補償変位算出手段(上体Z方向加速度制御演算部、同位相補償変位算出部、S35,S200からS206)、前記算出された補償変位に基づいて目標足部位置・姿勢を修正する第2の足部位置・姿勢修正手段(上体Z方向加速度制御演算部、同位相補償変位算出部、S38)および前記第1および前記第1および第2の足部位置・姿勢手段によって修正された足部の位置・姿勢に基づいて前記ロボットの第1および第2の関節(10,12,14,18,20R(L))を変位させる関節変位手段(ロボット幾何学モデル(キネマティクス演算部)、変位コントローラ、S42)を備えるように構成した。
【0223】
また、前記第1の足部位置・姿勢修正手段は、前記決定された足部回転量に基づいて前記足部の位置および/または姿勢が、前記決定された目標足部床反力中心点あるいはその近傍まわりに回転するように、前記目標位置および/または姿勢を修正する如く構成した。
【0224】
さらに、前記ロボットに実際に作用する全床反力モーメント(より正確にはモーメント成分PQ1 *F1act +PQ2 *F2act +M1act +M2act)、または前記ロボットに実際に作用する全床反力のモーメント(PQ1 *F1act +PQ2 *F2act +M1act +M2act )から前記足部に作用する床反力モーメント(M1act +M2act)を減算して得たモーメント(Mf1f2act=PQ1 *F1act +PQ2 *F2act )のいずれかを算出し、少なくとも前記算出されたモーメントに応じて前記足部を移動させる移動量(θdbv,z)を決定する足部移動量決定手段(複合コンプライアンス動作決定部、S34、両脚補償角決定部、S100からS108)を備え、前記第1の足部位置・姿勢修正手段は、前記決定された足部回転量および前記決定された移動量に基づいて前記足部の位置および/または姿勢を修正するように構成した。
【0225】
また、前記全床反力の目標パターンに付加する姿勢安定化補償全床反力モーメント(補償全床反力Mdmd)を求め、前記足部回転量決定手段および/または前記足部移動量決定手段は、少なくとも前記検出された実床反力(実各足平床反力)と前記求めた姿勢安定化補償全床反力モーメントに基づいて前記足部の回転量および/または移動量を決定する(S34,S100からS108)如く構成した。
【0226】
また、前記姿勢安定化補償全床反力モーメントを、少なくとも前記ロボットの傾き偏差(θerrx,y)に基づいて求める(S28,S30)如く構成した。
【0227】
また、前記補償変位算出手段は、前記偏差(Fderr,Ddiff)に所定の重み(Wdn)を乗じて前記足部の補償変位を足部のそれぞれに分配する如く構成した。
【0228】
また、前記所定の重みが時変特性および/または周波数特性を持つ如く構成した。
【0229】
上記の如く構成したので、これによって、概括すれば、実全床反力の制御と実各足平床反力の制御が殆ど干渉しないようになり、それらを容易に制御することができる。
【0230】
即ち、この実施の形態に係る装置は、先に提案した技術に対して以下の点を改良した。即ち、特開平5−305584号公報で提案した足首コンプライアンス制御では、足首または足底の基準点などの足平に固定された点における実床反力モーメントを検出し、それに基づいて前記固定された点を中心に足平を回転させていたが、この実施の形態に係る装置では、移動する目標足平床反力中心点における実各足平床反力モーメントを算出し、それに基づいて目標足平床反力中心点を中心に足平を回転させるように変更し、その点まわりのモーメントを望ましい値に制御するようにした。
【0231】
この結果、実全床反力と実各足平床反力がほとんど干渉することなく、容易に制御することが可能となった。より干渉を少なくするために、各瞬間における想定していた足底接地領域内にもっと適切な点を選定しても良い。
【0232】
従って、大域的なうねりや傾斜だけでなく、局所的な凹凸や傾斜なども含む予期しない床形状変化があっても、その影響をあまり受けずに脚式移動ロボットに作用する床反力を適切に制御することができる。
【0233】
また、ロボットの実各足平床反力の力成分を独立に制御することで姿勢安定性を向上させてスリップを効果的に防止することができると共に、関節アクチュエータの負担を軽減させることができる。
【0234】
また、上記した実施の形態において、ばね機構32(および足底弾性体34)自身はこの発明の本質部分ではない。この発明の本質はフィードバック制御部分にあり、機構変形補償は付随的なものである。
【0235】
また、上記した実施の形態において、ブロック線図は演算処理順序を変えるなどの等価変形をしても良い。
【0236】
また、上記した実施の形態を、先に提案した出願の第1の実施の形態に関して説明したが、第2あるいはそれ以降の実施の形態に関して追加しても良い。
【0237】
また、この発明を2足歩行ロボットに関して説明してきたが、2足歩行ロボットに限らず、多脚ロボットにも応用することができる。
【0238】
【発明の効果】
請求項1項にあっては、脚式移動ロボットに作用する床反力を、干渉を生じることなく、容易かつ適切に制御することができる。換言すれば、先に提案した両脚コンプライアンス制御および足首コンプライアンス制御の併用に近い制御を行っても、制御の干渉がなく、実全床反力と実各足平床反力が望ましい値からずれたり発振することがない。
【0239】
また、ロボットの実各足平床反力が作り出す内力成分(実全床反力に影響しない成分の組み合わせ)を独立に制御することで姿勢安定性を向上させてスリップを効果的に防止することができると共に、関節アクチュエータの負担を軽減させることができる。
【0240】
さらには、大域的なうねりや傾斜だけでなく、局所的な凹凸や傾斜なども含む予期しない床形状変化があっても、その影響をあまり受けずに脚式移動ロボットに作用する床反力を適切に制御することができる。
【0241】
請求項2項にあっては、請求項1項と同様の作用効果を得ることができる。
【0242】
請求項3項にあっては、請求項1項と同様の作用効果を得ることができると共に、床反力をより適切に制御することができる。
【0243】
請求項4項にあっては、請求項1項と同様の作用効果を得ることができると共に、特に姿勢制御に重要な全床反力を一層適切に制御することができる。
【0244】
請求項5項にあっては、請求項1項と同様の作用効果を得ることができると共に、姿勢安定化能力を向上させることができる。
【0245】
請求項6項にあっては、前記したと同様の作用効果を得ることができると共に、姿勢安定化能力を一層向上させることができる。
【0246】
請求項7項にあっては、前記したと同様の作用効果を得ることができる。
【0247】
請求項8項にあっては、前記したと同様の作用効果を得ることができると共に、補償変位の分配を一層適正に行うことができる。
【図面の簡単な説明】
【図1】この発明に係る脚式移動ロボットの制御装置を全体的に示す説明図である。
【図2】図1に示す2足歩行ロボットの足部の構造を示す説明側面図である。
【図3】図1に示す2足歩行ロボットの制御ユニットの詳細を示すブロック図である。
【図4】この発明に係る脚式移動ロボットの制御装置の構成および動作を機能的に示すブロック図である。
【図5】図1に示す脚式移動ロボットが平地を歩行するときの運動パターンの一例を示す説明図である。
【図6】図5の運動パターンに対応する目標全床反力中心点(目標ZMP)軌跡の床面上軌跡を示す説明図である。
【図7】図5の運動パターンに対応する目標全床反力中心点(目標ZMP)軌跡のタイム・チャートである。
【図8】図5の運動パターンに対応する所定の条件を満たすように設定した目標第1足平床反力中心点軌跡のタイム・チャートである。
【図9】図5の運動パターンに対応する所定の条件を満たすように設定した目標第2足平床反力中心点軌跡のタイム・チャートである。
【図10】図4と同様に、この発明に係る脚式移動ロボットの制御装置の動作を示すフロー・チャートである。
【図11】図10フロー・チャートの内の両脚補償角などの演算処理を行う、図4に示す複合コンプライアンス動作決定部の動作を説明するための、両脚支持期に第1足平と第2足平に実各足平床反力が作用している状況を示す説明図である。
【図12】図11に示す状況における目標全床反力の設定を示す説明図である。
【図13】図11に示す状況における目標各足平床反力の分配を示す説明図である。
【図14】図11に示す状況における補償全床反力モーメントを示す説明図である。
【図15】図11に示す状況における、各足平床反力中心点を含み、水平面に垂直な平面の法線ベクトルVを示す説明図である。
【図16】図11に示す状況における、目標各足平床反力中心点を目標全床反力中心点(目標ZMP)まわりに、所定角度θdbvだけ回転させたときの状態を示す説明図である。
【図17】図16に示す状況における、各足平を前後方向軸および左右方向軸まわりに所定角度θnx,θnyだけ回転させたときの状態を示す説明図である。
【図18】図4の複合コンプライアンス動作決定部の演算処理を示すブロック図である。
【図19】図18に示す補償全床反力モーメント分配器の演算処理を示すブロック図である。
【図20】図18に示す補償全床反力モーメント分配器の、両脚補償角などを操作するための分配重み変数の設定例を示すタイム・チャートである。
【図21】図20の補償全床反力モーメント分配器の分配重み変数の設定を説明するための、ロボットの姿勢を示す説明図である。
【図22】図21と同様に、補償全床反力モーメント分配器の分配重み変数の設定を説明するための、ロボットの姿勢を示す説明図である。
【図23】両脚補償角を操作するための分配重みを所定の条件で決定したときの両脚補償モーメントV方向成分Mdmddbvを示す説明図である。
【図24】図18に示す両脚補償角決定部の演算処理を示すブロック図である。
【図25】図18に示す各足平の補償角決定部の演算処理を示すブロック図である。
【図26】図18に示す機構変形補償入り修正目標足平位置・姿勢算出部の演算処理を説明するための説明図である。
【図27】図26と同様に、図18に示す機構変形補償入り修正目標足平位置・姿勢算出部の演算処理を説明するための説明図である。
【図28】図10フロー・チャートの内の両脚補償角などの決定作業を示すサブルーチン・フロー・チャートである。
【図29】図18の内力補償変位算出部の処理を詳細に示すブロック図である。
【図30】図29ブロック図の処理を説明する、図16と同様な説明図である。
【図31】図18の内力補償変位算出部の処理を示すフロー・チャートである。
【図32】図29および図31で使用する重みの設定例を示す説明図である。
【図33】2足歩行ロボットが予期しなかった傾斜面を歩行するときの説明図である。
【図34】図33に示す2足歩行ロボットに対して先に提案した両脚コンプライアンス制御を行った場合の説明図である。
【図35】図33に類似する、2足歩行ロボットが予期しなかった突起を踏んだときの説明図である。
【図36】図35に示す状況で、先に提案した足首コンプライアンス制御を行ったときの説明図である。
【符号の説明】
1 2足歩行ロボット(脚式移動ロボット)
2 脚部リンク
10,12,14R,L 股関節
16R,L 膝関節
18,20R,L 足関節
22R,L 足平(足部)
24 上体
26 制御ユニット
32 ばね機構
34 足底弾性体
44 6軸力センサ
60 傾斜センサ
Claims (8)
- 少なくとも基体と、前記基体に第1の関節を介して連結されると共に、その先端に第2の関節を介して連結される足部を備えた複数本の脚部からなる脚式移動ロボットの制御装置において、
a.前記ロボットの少なくとも前記足部の目標位置または姿勢を含む運動パターンと、前記ロボットに作用する全床反力の目標パターンを少なくとも含む前記ロボットの歩容を生成する歩容生成手段、
b.前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点を決定する目標足部床反力中心点決定手段、
c.前記足部に作用する実床反力を検出する実床反力検出手段、
d.前記決定された目標足部床反力中心点まわりに前記検出された実床反力が作用するモーメントを算出し、少なくとも前記算出されたモーメントに基づいて前記足部を回転させる足部回転量を決定する足部回転量決定手段、
e.前記検出された実床反力から実全床反力に影響しない内力成分を求めて前記生成された歩容の内力成分との偏差を算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位を決定する補償変位決定手段、
f.前記決定された足部回転量に基づいて前記足部の位置または姿勢を回転させつつ、前記決定された補償変位に基づいて前記足部の目標位置または姿勢を移動させることによって、前記足部の目標位置または姿勢を修正する足部位置・姿勢修正手段、
および
g.前記足部位置・姿勢修正手段によって修正された前記足部の目標位置・姿勢に基づいて前記第1および第2の関節を変位させる関節変位手段、
を備えたことを特徴とする脚式移動ロボットの制御装置。 - 少なくとも基体と、前記基体に第1の関節を介して連結されると共に、その先端に第2の関節を介して連結される足部を備えた複数本の脚部からなる脚式移動ロボットの制御装置において、
a.前記ロボットの少なくとも前記足部の目標位置または姿勢を含む運動パターンと、前記ロボットに作用する全床反力の目標パターンを少なくとも含む前記ロボットの歩容を生成する歩容生成手段、
b.前記生成された歩容の全床反力を前記足部のそれぞれに分配したときの前記足部上の作用中心点たる目標足部床反力中心点を決定する目標足部床反力中心点決定手段、
c.前記足部に作用する実床反力を検出する実床反力検出手段、
d.少なくとも前記検出された実床反力に基づいて前記足部を回転させる足部回転量を決定する足部回転量決定手段、
e.前記検出された実床反力から実全床反力に影響しない内力成分を求めて前記生成された歩容の内力成分との偏差を算出し、前記算出した偏差に基づいて前記足部のそれぞれの補償変位を決定する補償変位決定手段、
f.前記決定された足部回転量に基づいて前記足部の位置または姿勢を、前記決定された目標足部床反力中心点あるいはその近傍まわりに回転させつつ、前記決定された補償変位に基づいて前期足部の目標位置または姿勢を移動させることによって、前記足部の目標位置または姿勢を修正する第2の足部位置・姿勢修正手段、
および
g.前記足部位置・姿勢修正手段によって修正された前記足部の位置または姿勢に基づいて前記第1および第2の関節を変位させる関節変位手段、
を備えたことを特徴とする脚式移動ロボットの制御装置。 - 前記足部位置・姿勢修正手段は、さらに前記決定された足部回転量に基づいて前記足部の位置または姿勢が、前記決定された目標足部床反力中心点またはその近傍まわりに回転するように、前記足部の目標位置または姿勢を修正することを特徴とする請求項1項記載の脚式移動ロボットの制御装置。
- さらに、
h.前記ロボットに実際に作用する全床反力モーメント、または前記ロボットに実際に作用する全床反力モーメントから前記足部に作用する床反力モーメントを減算して得たモーメントのいずれかを算出し、少なくとも前記算出されたモーメントに応じて前記足部を移動させる足部移動量を決定する足部移動量決定手段、
を備え、前記足部位置・姿勢修正手段は、前記決定された足部回転量、前記決定された補償変位および前記決定された足部移動量に基づいて前記足部の目標位置または姿勢を修正することを特徴とする請求項1項から3項のいずれかに記載の脚式移動ロボットの制御装置。 - 前記全床反力の目標パターンに付加する姿勢安定化補償全床反力モーメントを求め、前記足部回転量決定手段または前記足部移動量決定手段は、少なくとも前記検出された実床反力と前記求めた姿勢安定化補償全床反力モーメントに基づいて前記足部回転量または足部移動量を決定することを特徴とする請求項1項から4項のいずれかに記載の脚式移動ロボットの制御装置。
- 前記姿勢安定化補償全床反力モーメントを、少なくとも前記ロボットの傾き偏差に基づいて求めることを特徴とする請求項5項記載の脚式移動ロボットの制御装置。
- 前記補償変位決定手段は、前記偏差に所定の重みを乗じて前記足部の補償変位を足部のそれぞれに分配することを特徴とする請求項1項から6項記載の脚式移動ロボットの制御装置。
- 前記所定の重みが時変特性および周波数特性の少なくともいずれかを持つことを特徴とする請求項7項記載の脚式移動ロボットの制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12523398A JP3629143B2 (ja) | 1998-04-20 | 1998-04-20 | 脚式移動ロボットの制御装置 |
US09/673,629 US6289265B1 (en) | 1998-04-20 | 1999-04-19 | Controller for legged mobile robot |
EP99913713A EP1120203B1 (en) | 1998-04-20 | 1999-04-19 | Controller for legged mobile robot |
PCT/JP1999/002075 WO1999054095A1 (fr) | 1998-04-20 | 1999-04-19 | Controleur pour robot mobile muni de jambes |
DE69943148T DE69943148D1 (de) | 1998-04-20 | 1999-04-19 | Steuereinheit für einen mit beinen beweglichen roboter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12523398A JP3629143B2 (ja) | 1998-04-20 | 1998-04-20 | 脚式移動ロボットの制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11300661A JPH11300661A (ja) | 1999-11-02 |
JP3629143B2 true JP3629143B2 (ja) | 2005-03-16 |
Family
ID=14905115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12523398A Expired - Fee Related JP3629143B2 (ja) | 1998-04-20 | 1998-04-20 | 脚式移動ロボットの制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3629143B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4611580B2 (ja) * | 2001-06-27 | 2011-01-12 | 本田技研工業株式会社 | トルク付与システム |
JP4225968B2 (ja) | 2002-04-26 | 2009-02-18 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
JP2004181599A (ja) * | 2002-12-05 | 2004-07-02 | Sony Corp | 脚式移動ロボット |
JP4086765B2 (ja) * | 2003-11-28 | 2008-05-14 | ソニー株式会社 | ロボット装置 |
US7366587B2 (en) | 2002-12-05 | 2008-04-29 | Sony Corporation | Legged mobile robot |
JP2004181600A (ja) * | 2002-12-05 | 2004-07-02 | Sony Corp | 脚式移動ロボット |
JP2004181601A (ja) * | 2002-12-05 | 2004-07-02 | Sony Corp | 脚式移動ロボット |
US7379789B2 (en) | 2003-06-27 | 2008-05-27 | Honda Motor Co., Ltd. | Gait generating device of legged mobile robot and legged mobile robot controller |
EP1649983B1 (en) | 2003-06-27 | 2010-09-22 | Honda Motor Co., Ltd. | Gait generation device for legged mobile robot |
JP5268107B2 (ja) * | 2009-03-16 | 2013-08-21 | 学校法人立命館 | 多脚歩行式移動装置のハイブリッド制御装置及び手法 |
JP5616290B2 (ja) * | 2011-05-25 | 2014-10-29 | 本田技研工業株式会社 | 移動体の制御装置 |
JP5616288B2 (ja) * | 2011-05-25 | 2014-10-29 | 本田技研工業株式会社 | 移動体の制御装置 |
JP5979049B2 (ja) * | 2013-03-22 | 2016-08-24 | トヨタ自動車株式会社 | 脚式移動ロボットおよびその制御方法 |
-
1998
- 1998-04-20 JP JP12523398A patent/JP3629143B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11300661A (ja) | 1999-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3629133B2 (ja) | 脚式移動ロボットの制御装置 | |
EP1120203B1 (en) | Controller for legged mobile robot | |
JP3634238B2 (ja) | 脚式移動ロボットの床形状推定装置 | |
EP1514777B1 (en) | Control system of legged mobile robot | |
JP3726009B2 (ja) | 脚式移動ロボットの床形状推定装置 | |
US5355064A (en) | Control system for legged mobile robot | |
JP4912891B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
JP5053644B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
JP3148827B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3629143B2 (ja) | 脚式移動ロボットの制御装置 | |
JP5123527B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
JP3270766B2 (ja) | 脚式移動ロボットの制御装置 | |
JPH05305579A (ja) | 脚式移動ロボットの歩行制御装置 | |
JPH05305583A (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3629142B2 (ja) | 脚式移動ロボットの制御装置 | |
JPH05305586A (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3405868B2 (ja) | 脚式歩行ロボットの歩容生成方法 | |
JP4237130B2 (ja) | 脚式移動ロボットの制御装置 | |
JP3726097B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
JP3183557B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP2997037B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JPH06182679A (ja) | リンク式ロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041029 |
|
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: 20041124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041210 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071217 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101217 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101217 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111217 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111217 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121217 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |