Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
脚式ロボットとその動作調節方法 - トヨタ自動車株式会社
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 加工処理操作 -> トヨタ自動車株式会社

発明の名称 脚式ロボットとその動作調節方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−7792(P2007−7792A)
公開日 平成19年1月18日(2007.1.18)
出願番号 特願2005−193268(P2005−193268)
出願日 平成17年7月1日(2005.7.1)
代理人 【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
発明者 菅 敬介
要約 課題
指令に追従して、脚式ロボットが歩行動作をより自由に変更することができる技術を提供する。

解決手段
脚式ロボットは、予定の歩行動作を実施するときの体幹位置の経時的変化を記憶している手段と、指令に基づいて、予定する歩行動作の変更時点を決定する手段と、指令に基づいて、変更時点以降の目標ZMP軌道を作成する手段と、変更時点以降の体幹位置の経時的変化を仮定する手段と、変更時点の直前時点に対して記憶している体幹位置とその変化速度と、仮定した変更時点以降の体幹位置の経時的変化から、変更時点以降の仮のZMP軌道を計算する手段と、計算した仮のZMP軌道と目標ZMP軌道とのZMP偏差の二乗和に基づいて、仮定した体幹位置の経時的変化を修正する修正手段と、記憶している変更時点以降の体幹位置の経時的変化を、修正後の体幹位置の経時的変化に更新する手段とを備えている。
特許請求の範囲
【請求項1】
体幹に揺動可能に連結されている脚リンクを備える脚式ロボットであって、
予定の歩行動作を実施するときの体幹位置の経時的変化を記憶している手段と、
指令に基づいて、予定の歩行動作からの変更時点を決定する手段と、
指令に基づいて、変更時点以降の目標ZMP軌道を作成する手段と、
変更時点以降の体幹位置の経時的変化を仮定する手段と、
変更時点の直前時点に対して記憶している体幹位置とその変化速度と、仮定した変更時点以降の体幹位置の経時的変化から、変更時点以降の仮のZMP軌道を計算する手段と、
計算した仮のZMP軌道と目標ZMP軌道との偏差の二乗和に基づいて、仮定した体幹位置の経時的変化を修正する修正手段と、
記憶している変更時点以降の体幹位置の経時的変化を、修正後の体幹位置の経時的変化に更新する手段と、
を備える脚式ロボット。
【請求項2】
前記修正手段は、前記偏差の二乗和が最小となるように修正することを特徴とする請求項1の脚式ロボット。
【請求項3】
脚式ロボットの歩行動作を調節する方法であって、
予定の歩行動作を実施するときの体幹位置の経時的変化を脚式ロボットに記憶させる工程と、
指令に基づいて、予定の歩行動作からの変更時点を決定する工程と、
指令に基づいて、変更時点以降の目標ZMP軌道を作成する工程と、
変更時点以降の体幹位置の経時的変化を仮定する工程と、
変更時点の直前時点に対して脚式ロボットが記憶している体幹位置とその変化速度と、仮定した変更時点以降の体幹位置の経時的変化から、変更時点以降の仮のZMP軌道を計算する工程と、
計算した仮のZMP軌道と目標ZMP軌道との偏差の二乗和に基づいて、仮定した体幹位置の経時的変化を修正する工程と、
脚式ロボットが記憶している変更時点以降の体幹位置の経時的変化を、修正後の体幹位置の経時的変化に更新する工程と、
を備える脚式ロボットの動作調節方法。
発明の詳細な説明
【技術分野】
【0001】
本発明は、脚式ロボットの動作を制御する技術に関する。特に、外部等からの指令に追従して、脚式ロボットの動作を調節する技術に関する。
【背景技術】
【0002】
体幹と、体幹に揺動可能に連結されている脚リンクを備え、体幹と脚リンク群の相対的姿勢(単に姿勢ということがある)を変化させることによって歩行する脚式ロボット(単にロボットと記すことがある)が開発されている。
脚式ロボットが歩行するためには、体幹と脚リンク群の相対的姿勢の経時的変化を記述するデータを必要とする。体幹と脚リンク群の相対的姿勢は、例えば各足先と体幹の位置の経時的変化によって記述することができる。このとき、体幹位置の経時的変化は、各足先位置の経時的変化に対して適当な値である必要があり、その値が適当でなければロボットは転倒してしまう。
脚式ロボットが転倒しない体幹位置の経時的変化を得るためには、ロボットのダイナミクスを考慮に入れた複雑な計算を必要とする。以下に、二足歩行ロボットの場合の一例を説明する。
(1)ロボットの左足先と右足先の位置を指示する経時的データを指定する。
(2)足先の接地位置を考慮してロボットのZMPが存在しなければならない位置を指定する。ZMP(zero moment point)は、ロボットに作用する重力や床反力や慣性力の合力のモーメントがゼロになる床上の点をいう。ZMPが接地脚の足平内にあればロボットは転倒しない。逆にいうと、ロボットが転倒しないためには、ZMPが接地脚の足平内になければならない。そこで接地脚の足先の位置と姿勢を考慮し、下記の関係を満たす目標ZMPを指定する。即ち、一方の脚リンク(例えば左脚)が遊脚になっている間は接地脚(右脚)の足平内に存在し、その一方の脚(左脚)が接地して両足接地状態になった時に新たに接地した脚(左脚)の足平内に向けて移動開始し、それまでに接地していた脚(右脚)が遊脚となる前に新たに接地した脚(左脚)の足平内に移動し終えるZMPを指定する。このようにして指定されたZMPの軌道は、目標ZMP軌道と呼ばれる。実際のZMP軌道が目標ZMP軌道に一致すれば、ロボットは転倒することなく歩行し続ける。
(3)足先の接地位置の変化とそれに追従して変化する目標ZMPが指定されると、体幹位置の経時的変化を仮定してロボットのダイナミクスを計算する。計算する時点で、足先位置の経時的変化が指定されているために、ロボットの体幹位置の経時的変化を仮定すると、ロボットの全身の姿勢やその変化速度が決まる。ロボットの全身の姿勢が決まると、その姿勢におけるZMPの位置を計算することが可能となる。ZMPの位置を計算するためには、静的な要素に加えて、ロボットに作用する慣性力の影響を織り込まなければならない。仮定した体幹位置の経時的変化を計算に含めることで、ロボットのダイナミクスまで考慮してZMPの位置を計算することが可能となる。体幹位置の経時的変化を仮定するとZMPの位置を計算することができることから、目標ZMPに一致するZMPを実現する体幹の位置と姿勢の経時的変化を探求することができる。
【0003】
上記によって探求された体幹位置の経時的変化を示すデータを体幹歩容データといい、もともと指定されている足先位置の経時的変化を示すデータを足先歩容データといい、両者を総称して歩容データという。歩容データに従ってロボットが歩行すれば、実際のZMPが目標ZMPに一致し、ロボットは転倒せずに歩行し続けることができる。
歩容データは、時間に対する位置の経時的変化で与えられる。位置と速度と加速度は関連しており、そのうちの一つの量から他の量を計算することができることから、位置の代わりに速度または加速度の経時的変化を扱ってもよい。足先や体幹の位置は、例えば体幹に定められている基準点の位置と基準方向の向きによって記述することができる。足平位置は、足平に固定されている基準点の位置と足平に固定されている基準線の方向によって特定され、体幹位置は、体幹に固定されている基準点の位置と体幹に固定されている基準線の方向によって特定される。
【0004】
外部からの指令に追従して、歩行動作を逐次変更するロボットの研究が進められている。例えば非特許文献1には、外部からの指令に基づいて所定期間の歩容データを作成し、以前に作成した歩容データに、新たに作成した歩容データを順次接続していくことによって、外部からの指令に追従する一連の歩容データを作成する技術が記載されている。
【非特許文献1】西脇光一、「人間型ロボットの歩行システム構築と動作のオンライン生成制御」、東京大学工学系研究科博士課程論文、平成13年12月14日
【発明の開示】
【発明が解決しようとする課題】
【0005】
予定していた歩行動作から新たな歩行動作に変更する際には、変更時点における足先の位置と速度ならびに体幹の位置と速度の連続性を確保する必要がある。しかしながら、変更後の歩行動作の開始時点における足先の位置と速度ならびに体幹の位置と速度を、変更前の歩行動作の終了時点における足先の位置と速度ならびに体幹の位置と速度に強制的に合わせてしまうと、変更後の歩行動作の開始直後においてZMPが目標ZMPから大きく外れてしまうことがある。
そのことから、非特許文献1の技術では、歩行動作の変更時点を、ロボットが両脚立脚状態で安定している時間帯に限定している。あるいは、歩行動作を変更する度合を制限するようにしている。
本発明は、脚式ロボットが外部等から与えられる指令に追従して歩行動作をより自由に変更することができる技術を提供する。
【課題を解決するための手段】
【0006】
本発明は、体幹に揺動可能に連結されている脚リンクを備える脚式ロボットに具現化することができる。この脚式ロボットは、予定の歩行動作を実施するときの体幹位置の経時的変化を記憶している手段と、指令に基づいて予定の歩行動作からの変更時点を決定する手段と、指令に基づいて変更時点以降の目標ZMP軌道を作成する手段と、変更時点以降の体幹位置の経時的変化を仮定する手段と、変更時点の直前時点に対して記憶している体幹位置とその変化速度と、仮定した変更時点以降の体幹位置の経時的変化から、変更時点以降の仮のZMP軌道を計算する手段と、計算した仮のZMP軌道と目標ZMP軌道とのZMP偏差の二乗和に基づいて、仮定した体幹位置の経時的変化を修正する修正手段と、記憶している変更時点以降の体幹位置の経時的変化を修正後の体幹位置の経時的変化に更新する手段とを備えている。
【0007】
この脚式ロボットは、指令に基づいて、予定の歩行動作からの変更時点を決定するとともに、変更時点以降の目標ZMP軌道を作成する。この目標ZMP軌道は、指令に対応する歩行動作を可能とするものである。ここでいう指令とは、例えばロボットの外部から与えられる指令や、ロボットの内部から与えられる指令等がある。ロボットの外部からの指令には、例えばオペレータ等がロボットに逐次与える指令や挙げられる。ロボットの内部からの指令には、例えばロボット自身が障害物の存在を検出し、それに対応する動作変更の指令を、ロボット自身が自律的に生成することが挙げられる。あるいは、オペレータ等が予め用意した一連の指令や、ロボット自身が以前の動作時に学習した情報から作成した一連の指令等を、ロボット自身が予め記憶していてもよい。
変更時点以降の体幹位置の経時的変化を仮定すると、仮のZMP軌道を計算することができる。このとき、変更時点の直前時点の体幹位置とその変化速度をも加味して、仮のZMP軌道を計算する。ZMPの計算にはロボットの動的挙動を加味する必要があり、変更時点の直前時点以降の体幹位置の経時的変化を計算に含めることによって、変更時点以降の仮のZMP軌道を計算することができる。
仮定した体幹位置の経時的変化から計算した仮のZMP軌道と、目標ZMP軌道との偏差に基づいて、仮定した体幹位置を修正することができる。通常は、ZMP偏差をゼロとする体幹位置の経時的変化が得られるまで体幹位置の修正作業を繰返す。しかしながら、歩行動作を予定外に変更する場合には、変更前の体幹位置から変更後の体幹位置に修正する動的動作が加わることから、変更時点から変更後にかけて、ZMP偏差をゼロとすることはできない。変更直後からのZMP偏差をゼロに維持しようとすると、変更時点でのZMP偏差が大きくなってしまう。
そのことから、本発明の脚式ロボットでは、所定期間に亘るZMP偏差の二乗和に基づいて、仮定した体幹位置を修正する。即ち、歩行動作の変更時点において生じるはずのZMP偏差を、経時的に分散させる。
検証実験によって、ZMP偏差を経時的に分散させる体幹位置に修正すると、歩行動作を比較的に大きく変更した場合でも、歩行動作の変更時点において、実際のZMPが目標ZMPから大きく外れることがないことが確認されている。それにより、例えば歩行動作の変更時点をより自由に設定したり、歩行動作を比較的に大きく変更したりすることが可能となる。
この脚式ロボットによると、指令に追従して、歩行動作をより自由に変更することが可能となる。
【0008】
修正手段は、仮定した体幹位置の経時的変化を修正する際に、ZMPの偏差の二乗和が最小となるように修正することが好ましい。
それにより、生じるはずのZMP偏差をより適切に分散することができる。
【0009】
本発明は、脚式ロボットの歩行動作を調節する方法にも具現化することができる。この方法は、予定の歩行動作を実施するときの体幹位置の経時的変化を脚式ロボットに記憶させる工程と、指令に基づいて予定の歩行動作からの変更時点を決定する工程と、指令に基づいて変更時点以降の目標ZMP軌道を作成する工程と、変更時点以降の体幹位置の経時的変化を仮定する工程と、変更時点の直前時点に対して脚式ロボットが記憶している体幹位置とその変化速度と、仮定した変更時点以降の体幹位置の経時的変化から、変更時点以降の仮のZMP軌道を計算する工程と、計算した仮のZMP軌道と目標ZMP軌道との偏差の二乗和に基づいて、仮定した姿勢の経時的変化を修正する工程と、脚式ロボットが記憶している変更時点以降の姿勢の経時的変化を、修正後の体幹位置の経時的変化に更新する工程とを備えている。
この方法によると、指令に追従して、脚式ロボットの歩行動作をより自由に変更することが可能となる。
【発明の効果】
【0010】
本発明によると、予定の歩行動作から予定外の歩行動作を変更して歩行し続けるロボットの自由度が向上する。臨機応変に対応するロボットの実現に貢献するものである。
【発明を実施するための最良の形態】
【0011】
最初に、以下に説明する実施例の主要な特徴を列記する。
(形態1) ロボットは、オペレータが歩行動作の変更指令を入力する指示装置を備えている。
(形態2) ロボットは、指示装置からの指令信号に基づいて、目標とする遊脚の接地位置や接地方向や接地目標時間等を記述する歩行パターンデータを作成する。
(形態3) ロボットは、歩行パターンデータに基づいて、目標ZMP軌道を作成する。
【実施例】
【0012】
図面を参照しながら、本発明の一実施例である脚式ロボットについて説明する。
図1は本実施例のロボット2の概要を示している。ロボット2は体幹4と左脚リンク6と右脚リンク8と制御部10を備えている。また、オペレータ等がロボット2に動作指令を与える指示装置12が用意されている。
本実施例では、図1に示すように、ロボット2の外部の床に固定されている絶対座標系(x,y,z)が定義されている。絶対座標系(x,y,z)では、x軸方向とy軸方向が水平方向を向いており、z軸方向が鉛直方向を向いている。また、ロボット2の支持脚の基準点に固定されている相対座標系(x’,y’,z’)が定義されている。相対座標系(x’,y’,z’)は、ロボット2が右脚リンク8を支持脚としているときは基準点R0に固定されており、ロボット2が左脚リンク6を支持脚としているときは、基準点L0に固定されている。相対座標系(x’,y’,z’)では、足平リンク、48に沿って踵から爪先へと伸びる方向をx’軸とし、足平リンク38、48に沿ってx’軸と直交する方向をy’軸とし、足平リンク38、48に垂直な方向をz’軸とする。通常は、x’軸はロボット2が歩行する方向に相当し、y’軸はロボット2の体側方向に相当し、z’軸はロボット2の高さ方向に相当する。
【0013】
左脚リンク6は一方の端部を股関節を介して体幹4に揺動可能に接続されている。左脚リンク6は膝関節や足首関節を備えており、先端には左足平7を備えている。右脚リンク8は股関節を介して体幹4に揺動可能に接続されている。右脚リンク8は膝関節や足首関節を備えており、先端には右足平9を備えている。ロボット2の各関節はアクチュエータ(図示されない)を備えており、それらのアクチュエータは制御部10からの指示によって回転駆動する。左脚リンク6の左足平7の略中心には、基準点L0が設けられている。右脚リンク8の右足平9の略中心には、基準点R0が設けられている。基準点L0、R0は、ロボット2の動作パターンを作成する際に基準となる点である。図中Gは、ロボット2の体幹4の基準点であり、歩行動作を実行するときのロボット2の重心の位置に略一致する。ロボット2では、体幹4の基準点Gを、ロボット2の重心点として扱うことができる。
制御部10はCPU、ROM、RAM、ハードディスク等を有するコンピュータ装置である。制御部10は指示装置12と通信可能であり、オペレータが指示装置12に入力した指令は、ロボット2の制御部10に教示される。制御部10は、指示装置12から入力した指令信号に基づいて、ロボット2の動作を制御する。制御部10の詳細については、後段において詳細に説明する。
【0014】
図1、2を参照して、ロボット2が実行する動作を説明する。ロボット2は、指示装置12からの指令信号に従い、左右の脚リンク6、8を交互に振り出して、歩行動作を実施する。このとき、足平が接地している方の脚リンクを支持脚といい、足平が空中を移動する方の脚リンクを遊脚という。ロボット2は、指示装置12から入力される指令信号に基づいて、遊脚の足平を接地させる目標位置や方向を決定し、接地目標位置へと遊脚を振り出して、歩行動作を実施する。足平を接地させる方向とは、足平の踵から爪先へと伸びる方向をいう。この足平の接地方向は、x’軸がx軸となす角度で特定される。
【0015】
図2に、指示装置12からの指令信号に基づいて、ロボット2が決定する目標接地位置を例示する。指示装置12には、例えばジョイスティック等を用いることができる。最初、右足平9が位置P1において接地しており、左足平7が位置P2において接地しており、ロボット2は静止しているとする。指示装置12から「前進せよ」という指令信号が入力されると、例えば右脚リンク8を遊脚に決定し、右足平9の目標とする接地位置P3と接地方向D3と接地時間を決定する。右足平9の目標接地位置P3と方向D3を決定すると、決定した右足平9の目標接地位置P3と方向D3に沿うように、次ぎに遊脚となる左脚リンク6の左足平7の目標とする接地位置P4と接地方向と接地時間を決定する。即ち、ロボット2は、一度の指令信号に対して、一歩分だけ移動し、足平7、9を揃えて静止する歩行動作を計画して実行する。この歩行動作を実行している間に、再び指令信号が入力されると、新たに左足平7の目標接地位置P6と方向D6を決定するとともに、右足平9の目標接地位置P5を決定する。ロボット2は、オペレータの指示に基づいて2歩分の歩行計画を作成し、実行している歩行計画に接続して、一連の歩行計画を作成していく。
目標とする接地位置や接地方向や接地時間は、オペレータが指示装置12に入力した指示に基づく。ロボット2は、オペレータの指示に追従して、歩行方向や歩行速度や歩幅等を変更しながら、一連の歩行動作を実行する。後記するように、オペレータが連続的に指示すると、ロボット2は、右足平9を目標接地位置P3に方向D3で接地し、左足平7を目標接地位置P6に方向D6で接地する歩行計画を立案して実行し、足平7、9を揃えて静止する歩行動作は実施されない。
遊脚の目標とする接地位置や接地方向や接地時間等を順に記述するデータを、歩行パターンデータということがある。
【0016】
次に、ロボット2の制御部10について説明する。図3に示すように、制御部10は、機能的に、歩容データ作成装置54と、歩容データ補正装置56と、関節角群計算装置58と、アクチュエータ制御部60と、実際運動計算装置62等を備えている。
制御部10は、全体が物理的に1つの装置に含まれていてもよいし、物理的に分離された装置ごとに分けて収容されていてもよい。また制御部10の各要素は、必ずしもロボット2に搭載されていなくてもよい。ロボット2外に配備され、ロボット2に無線又は有線で指示するようにしてもよい。
【0017】
歩容データ作成装置54は、指示装置12から入力する指令信号に基づいて、足先歩容データと体幹歩容データを備える歩容データを作成して記憶する。足先歩容データとは、ロボット2の左右の脚リンク6、8の足平7、9の基準点L0、R0(足先)の軌道を記述するデータである。体幹歩容データとは、体幹4の基準点Gの軌道を記述するデータである。軌道とは、位置の経時的変化を意味している。各基準点L0、R0、Gの軌道は、絶対座標(x,y,z)と絶対時刻で記述してもよいし、1歩あるいは複数歩毎に相対座標(x’,y’,z’)と相対時刻で記述することもできる。歩容データ作成装置54については、後段において詳細に説明する。歩容データ作成装置54が記憶している歩容データは、歩容データ補正装置56に入力される。
歩容データ補正装置56は、歩容データ作成装置54から入力した歩容データを、ロボット2の実際の運動に基づいて補正する。必要に応じて補正された歩容データは、関節角群計算装置58に入力される。
関節角群計算装置58は、入力した歩容データに基づいて、いわゆる逆キネマティクスを解くことでロボット2の各関節角を計算する。計算された関節角群データは、アクチュエータ制御部60に入力される。
アクチュエータ制御装置60は、入力した関節角群データに基づいて、ロボット2に搭載されているアクチュエータ群を制御する。アクチュエータ制御装置60がアクチュエータ群を制御することによって、ロボット2の機械系64が歩行動作を実施する。
【0018】
ロボット2が実際に行う歩行動作は、予期しない路面の凹凸や、ロボット2の構造上のたわみなどによる外乱力の影響を受ける。ロボット2が実際に行っている歩行動作は、ロボット2に搭載されているセンサ群66によって検出される。
実際運動計算装置62は、センサ群66の出力信号に基づいて、ロボット2の実際の運動を計算する。実際運動計算装置62は、例えば左脚リンク6の実際運動や、右脚リンク8の実際運動や、体幹4の実際運動を計算することができる。実際運動計算装置62で計算されたロボット2の実際運動は、歩容データ補正装置56に入力される。
先に説明したように、歩容データ補正装置56は、実際運動計算装置62で計算されたロボット2の実際運動に基づいて、歩容データ作成装置54から入力した歩容データを補正する。ロボット2の歩行動作は、ロボット2の実際運動に基づいてフィードバック制御される。
【0019】
次に、歩容データ作成装置54について詳細に説明する。図4に示すように、歩容データ作成装置54は、機能的に、更新時点決定装置102と、歩行パターン作成装置104と、目標ZMP軌道作成装置106と、足先起動作成装置108と、体幹起動作成装置110と、データ記憶装置112等を備えている。データ記憶装置112は、歩行パターンデータ122や、目標ZMP軌道データ124や、足先歩容データ126や、体幹歩容データ128等を記憶することができる。
更新時点決定装置102は、指示装置12から指令信号を入力したときに、ロボット2の歩行動作を更新する時点を決定する。更新時点決定装置102は、歩容データ作成装置54が必要とする演算時間に基づいて、歩行動作の更新時点を決定する。
歩行パターン作成装置104は、更新時点決定装置102が決定した更新時点と、指示装置12からの指令信号に基づいて、データ記憶装置112に記憶されている歩行パターンデータ122を更新する。
目標ZMP軌道作成装置106は、データ記憶装置112に記憶されている歩行パターンデータ112に基づいて、目標とするZMP(Zero Moment Point)の軌道を作成する。ZMPは、ロボット2に作用する外力(慣性力を含む)によるモーメントの総和が0となる床上の点を意味する。接地している足平7、9が形成する多角形範囲内にZMPが維持されれば、ロボット2は転倒することなく歩行し続けることが可能となる。そのための目標とするZMPの軌道ZMP(t)は、脚リンク6、8の足平7、9の接地位置の経時的変化(歩行パターン)に基づいて決定することができる。目標ZMP軌道は、絶対座標(x,y,z)と絶対時刻で記述してもよいし、1歩あるいは複数歩毎に相対座標(x’,y’,z’)と相対時刻で記述することもできる。作成された目標ZMP軌道は、離散化された目標ZMP軌道データ124として、データ記憶装置112に記憶される。また、目標ZMP軌道作成装置106は、歩行パターンデータ122が更新されると、データ記憶装置112に記憶されている目標ZMP軌道データ124を更新する。
【0020】
足先軌道作成装置108は、データ記憶装置112に記憶されている歩行パターンデータ122に基づいて、左右の脚リンク6、8の足平7、9の基準点L0、R0の軌道(足先軌道)を作成する。作成された足先軌道は、足先歩容データ126として、データ記憶装置112に記憶される。また、足先軌道作成装置108は、歩行パターンデータ122が更新されると、データ記憶装置112に記憶されている足先歩容データ126を更新する。
体幹軌道作成装置110は、データ記憶装置112に記憶されている目標ZMP軌道データ124や足先歩容データ126に基づいて、体幹4の基準点Gの軌道を作成する。作成された体幹軌道は、離散化された体幹歩容データ128として、データ記憶装置112に記憶される。また、体幹軌道作成装置110は、目標ZMP軌道データ124が更新されると、データ記憶装置112に記憶されている体幹歩容データ128を更新する。
【0021】
ロボット2は、歩容データ作成装置54のデータ記憶装置112に記憶されている足先歩容データ126と体幹歩容データ128に従って、足先と体幹を移動することによって、歩行動作を実行する。オペレータが指示装置12から指令を入力すると、歩容データ作成装置54が、現に実行している足先歩容データ126と体幹歩容データ128に、オペレータの指令に基づいて作成した足先歩容データ126と体幹歩容データ128を接続して、一連の歩容データを作成していく。
図5は、歩容データ作成装置54が実行する処理の流れを示している。図5に示すフローに沿って、歩容データ作成装置54が、動作指令に追従して一連の歩容データを作成していく処理手順を説明する。
【0022】
ステップS2では、指示装置12からの指令信号が入力されるまで待機状態となる。この間、ロボット2は、歩容データ作成装置54のデータ記憶装置112に記憶されている歩容データ126、128を実行している。指示装置12からの指令が入力されない場合は、所定時間毎に、ロボット2が静止し続ける軌道データを作成して記憶するようにしてもよい。指示装置12からの指令信号が入力されると、ステップS4に進む。
ステップS4では、更新時点決定装置102が、歩行動作の更新(変更)時点を決定する。図6に示すように、更新時点は、動作指令の信号を入力した時点から、後述の処理に要する時間を考慮した余裕時間だけ遅延させた時点(例えばk)に決定される。図6のkは、時系列データにおけるデータの順番を示しており、例えばQは実行中のデータにおけるk番目のデータを意味している。更新時点kが決定すると、実行中の時系列データ(Q、Q・・・Qk−1、Q)に、新たに作成する更新データ(R、R・・)を接続するデータ位置(図6ではQk−1)が決まる。なお、実行中の時系列データにおいてデータQ以降のデータは破棄される。
図5のステップS6では、歩行パターン作成装置104が、指示装置12からの指令信号と、決定された更新時点に基づいて歩行パターンデータ122を更新する。例えば図2に示すように、左脚リンク6の左足平7の接地位置P4と方向(D3に等しい)が、接地位置P6と方向D6に更新される。
【0023】
図5のステップS8では、足先軌道作成装置108が、更新された歩行パターンデータ122に基づいて、データ記憶装置112に記憶されている足先歩容データ126を更新する。図6に示す時系列データを、足先歩容データ126とすると、実行中の足先歩容データ126の時点k−1のデータQk−1に、新たに作成する更新後の足先歩容データ(R,R,・・)を接続して、一連の足先歩容データを作成する。このとき、更新後の歩容データの最初のデータRを決定する際に、実行中の歩容データの更新時点から遡及した複数のデータ(例えばQk−2、Qk−1)を加味することによって、連続的な足先軌道を記述する一連の足先歩容データを作成することができる。
ステップS10では、目標ZMP軌道作成装置106が、更新された歩行パターンデータ122に基づいて、データ記憶装置112に記憶されている目標ZMP軌道データ124を更新する。例えば図2に示すように、左脚リンク6の左足平7の接地位置P4と方向(D3に等しい)が、接地位置P6と方向D6に更新されると、点PA−点P2−点P3−点PBを結ぶ目標ZMP軌道が、点PA−点P2−点P3−点P6−点PCと結ぶ軌道に更新される。
【0024】
図5のステップS12〜ステップS18の処理によって、体幹軌道作成装置110が、データ記憶装置112に記憶されている体幹歩容データ128を更新する。体幹軌道作成装置110は体幹歩容データ128を更新することによって、オペレータによって逐次更新された歩行パターンを、ロボット2は一連の歩行動作として実施することができる。
ステップS12では、更新時点k以降の体幹軌道を仮定し、仮定した体幹歩容データから計算する仮のZMP軌道と、目標ZMP軌道データ124が記述するZMP軌道とのZMP偏差を計算する。図6に示す時系列データを、離散化した体幹軌道(即ち体幹歩容データ)とすると、更新時点k以降に接続する体幹歩容データは、(R,R,・・,Rn−1)からなるn−2個の時系列データとなる。仮定する体幹軌道は、例えば目標ZMP軌道を、所定の高さだけz軸方向に移動させた軌道とすることができる。
一般に、体幹(重心)軌道(x(t),y(t),z(t))に対するZMP軌道(Px(t),Py(t))は、下記のZMP方程式から計算することができる。
【0025】
【数1】


【0026】
ここで、mはロボット2の質量である。fzは支持脚の足平に作用する床反力である。Ix・dωx/dtとI・dω/dtは、体幹4の基準点Gの回転に関する慣性の影響を示す。本実施例では、水平軸まわりのロボット2の角運動量を0(ゼロ)としているので、Ix・dωx/dtとI・dω/dtは0(ゼロ)となる。
上記したZMP方程式を離散化することによって、例えばx軸方向に関して、下記の三項方程式を得ることができる。
【0027】
【数2】


【0028】
ここでxとPxiは、それぞれ体幹軌道x(t)と、x方向のZMP軌道px(t)を離散化したものである。iは単位時間Δtで区分した時系列データの順序を示す。上記の数式2は、時点iにおけるZMPのx方向座標Pxiが、直前のx方向座標xi−1と、そのときのx方向座標xと、直後のx方向座標xi+1から計算できることを示している。係数a、b,cは、下記によって算出される係数である。なお床反力fzについては、ロボット2のz軸方向に関する運動方程式:m・dz/dt=−mg+fzが成り立つ。
【0029】
【数3】


【0030】
上記の数式2と図6から理解されるように、仮定した体幹歩容データ(R,R,・・,Rn−1)と、実行中の体幹歩容データ128において更新時点kから遡及した2つのデータ(Qk−2,Qk−1)を用いることによって、ZMP偏差dは、
=ZMP−a・Qk−2+b・Qk−1+c・R
から、
n−2=ZMPn−2−an−2・Rn−3+bn−2・Rn−2+cn−2・Rn−1
まで、n−2個の時系列データとして得ることができる。ここで、ZMPは、目標ZMP軌道データ124が記述している離散化された目標ZMP軌道である。ZMP偏差dは、更新時点kの直前時点に対するZMP偏差である。更新時点kから遡及した2つのデータ(Qk−2,Qk−1)を用いることによって、更新時点kの直前時点における体幹位置とその変化速度を拘束条件として加味することができる。
【0031】
図5のステップS14では、ステップS12で計算したZMP偏差の時系列データ(d,d,・・,dn−2)に基づいて、ステップS12で仮定した体幹歩容データ(R,R,・・,Rn−1)の各修正量(r,r,・・,rn−1)を決定する。ただし、最終時点n−1において、ロボット2を安定して(位置と速度を連続にして)静止させる必要があることから、最終の2つの時点n−2、n−1のデータRn−2、Rn−については修正せず、その修正量rn−2、rn−1をゼロとする。
数式1に示したZMP方程式から、一般に、ZMP偏差d(t):(d(t),d(t))と、そのZMP偏差をゼロに減じるのに要する体幹(重心)軌道の水平方向の補正量r(t):(r(t),r(t))の関係は、次式で表すことができる。
【0032】
【数4】


【0033】
上記の修正量r(t)に関するZMP方程式についても、離散化することによって三項方程式に書き換えることができる。体幹軌道作成装置110は、数式4を離散化した三項方程式に、ステップS12で計算したZMP偏差(d,d,・・,dn−2)を代入して、修正量(r,r,・・,rn−3)に関する下記の連立方程式を導出する。先に説明したように、最終の2つの修正量rn−2、rn−1については既にゼロに設定されている。なお、下記の式ではx,y軸方向を区別していないが、実際にはx,y軸方向のそれぞれについて導出する。
【0034】
【数5】





【0035】
上記の数式5を満たす修正量(r,r,・・,rn−3)を導出することができれば、動作の変更時点(更新時点k)においても、ロボット2の実際のZMPが目標ZMPと一致する体幹歩容データを得ることできる。しかしながら、上記の数式5は、データ数がn−4個である修正量(r,r,・・,rn−3)に対して、n−2個の条件式が与えられており、不定な連立方程式となっている。これは、本実施例では、更新時点の直前時点k−1におけるZMP偏差を考慮しているためである。
よく知られているように、目標ZMP軌道に追従する体幹(重心)軌道を作成する場合、軌道端点の位置と速度を拘束すると、軌道端点のZMPを補償することができなくなる。従来の技術では、事前に準備されている体幹軌道に、新たに作成する重心軌道を接続する場合に、接続(更新)時点においてはZMPを補償しないようにしている。即ち、上記の数式5を解く際に、ZMP偏差dを無視する(ゼロとする)ようにしている。この手法では、動作を大きく変更する場合などに、変更時点におけるZMP偏差が許容範囲を超えてしまい、場合によってはロボット2が転倒してしまうことがある。そのことから、従来技術では、動作の変更時点を両脚立脚時に限定したり、動作を変更する度合に制限を設けたりしている。
【0036】
本実施例のロボット2では、動作を変更する前後において極大化するZMP偏差を、変更時点以降の動作時に分散するという思想に基づいて、上記の数式5に示す不定な連立方程式を、最小二乗法を用いて解法する。それにより、従来の技術では不可能であった動作の大幅な変更についても、ZMP偏差が増大することがなく、許容できるレベルに抑制することができる。
体幹軌道作成装置110は、最小二乗法を用いて、上記の数式5から下記の数式6、7を導出する。
【0037】
【数6】


【数7】


【0038】
上記の数式6において、行列の右肩に付すTの符号は転置行列であることを示している。数式6を解くことによって、ZMP偏差(d,d,・・,dn−2)の二乗和を最小にする修正量(r,r,・・,rn−3)を算出することができる。なお数式6は、変数である修正量(r,r,・・,rn−3)のデータ数と、条件式の数が一致していることから、一意に解くことができる。
【0039】
ステップS16では、ステップS12で仮定した体幹軌道(R,R,・・,Rn−)を、ステップS14で算出した修正量(r,r,・・,rn−3)だけ修正することによって、更新後の目標とする体幹軌道を作成する。
ステップS18では、データ記憶手段112に記憶されている体幹歩容データ128を、ステップS16で作成した更新後の体幹軌道(体幹歩容データ)を接続することによって、新たな一連の体幹歩容データ128に更新する。
ロボット2は、以上に説明したステップS2〜S18間での処理を、動作終了の指令が入力されるまで繰り返し実行する。データ記憶装置112に記憶されている歩容データ126、128は、ロボット2によって実行されながら、外部からの指令に基づいて逐次更新、接続されていく。
【0040】
図7に示すように、本実施例のロボット2では、動作の更新時点以降において、実際のZMP軌道Bが目標ZMP軌道Aに対して許容レベルの偏差を保ちながら追従していく。従来のロボット(図中のA)のように、動作の変更(データの更新)時点においてZMP偏差が急激に増大することがない。オペレータの指示に追従して、より自由に動作を変更することができる。このとき、ロボット2の姿勢や、その変化速度や、その変化加速度は連続性が確保されている。
【0041】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
上記では、体幹4の基準点Gを、ロボット2の重心点として扱っているが、基準点Gを重心点に近似できない場合には、上述の手法によって重心点の軌道を求めた後に、体幹4の基準点Gや左右の足平7、9の基準点L0、R0の軌道を求めるとよい。
また、ロボットへ動作の変更指令を入力する指示装置は、例えば歩行路面に存在する障害物等を検知するセンサ等に変更してもよい。それにより、歩行する環境に対応して、ロボット自身が動作変更の指令を生成することができる。即ち、ロボットの内部から動作変更の指令を与えもよい。様々な環境に対応して、臨機応変に歩行することができるロボットを具現化することもできる。
本実施例のロボットでは、外部からの指令(あるいは内部からの指令でもよい)に基づいて、歩行パターンデータを逐次作成していく。そのことから、歩行パターンデータは、外部から与えられた一連の指令を記述するデータといえる。また、歩行パターンデータを予め用意してロボットに教示しておくことは、一連の指令を予めロボットに教示しておくことに相当する。いずれにしても、本実施例のロボットは、歩行パターンデータに基づいて、所定歩数分の歩容データを逐次作成し、一連の歩容データを作成することができる。
【0042】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0043】
【図1】実施例1のロボットを模式的に示す図。
【図2】ロボットの歩行パターンを説明する図。
【図3】ロボットが搭載しているコンピュータ装置の機能的な構成を示す。
【図4】歩容データ作成装置の機能的な構成を示す図。
【図5】歩容データ作成装置が実行する処理の流れを示すフローチャート。
【図6】実行中のデータと更新後のデータの経時的な関係を模式的に示す図。
【図7】目標ZMP軌道と実際ZMP軌道を比較して示す図。
【符号の説明】
【0044】
2:ロボット
4:体幹
6:左脚リンク
7:左足平
8:右脚リンク
9:右足平
10:制御部
12:指示装置
54:歩容データ作成装置
56:歩容データ補正装置
58:関節角群計算装置
60:アクチュエータ制御装置
62:実際運動計算装置
64:ロボットの機械系
66:各種センサ
102:更新時点決定装置
104:歩行パターン作成装置
106:目標ZMP軌道作成装置
108:足先軌道作成装置
110:体幹軌道作成装置
112:データ記憶装置
122:歩行パターンデータ
124:目標ZMP軌道データ
126:足先歩容データ
128:体幹歩容データ




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013