BIPED ROBOT
Классификация
МПК
-
B25J13/08
Раздел B
Класс 25
Подкласс J -
B25J5/00
Раздел B
Класс 25
Подкласс J
CPC / СПК
- Нет данных
Служебные сведения
Участники
Заявители
- TOYOTA MOTOR CORP
Авторы / изобретатели
- DOI MASAHIRO
Патентообладатели
- Нет данных
Реферат
[1]
PROBLEM TO BE SOLVED: To obtain a biped walking robot for preventing the inclination of a sole while securing walking stability when the sole is unexpectedly inclined to a road surface.
[2]
SOLUTION: The biped walking robot includes a distance sensor for measuring a distance from the sole to the road surface. A controller for controlling an each leg joint executes the following processing. The controller includes: a gravitational acceleration calculation step of calculating gravitational acceleration when the distance sensor detects an unexpected inclination to the road surface; a determination step of a track of the gravitational center for calculating the track of the gravitational center by solving a ZMP equation with the calculated gravitational acceleration as an initial value and on a terminal condition that a predetermined speed is provided at the end terminal of a predetermined period; and a calculation step of a joint target angle for calculating time series data of the target angle of the leg joint based on the calculated track of the gravitational center. The controller controls the each leg joint to follow the time series data of the target angle calculated in the calculation step of the joint target angle.
[3]
COPYRIGHT: (C)2012,JPO&INPIT
Формула
足裏の前後少なくとも2箇所に配置されており、路面までの距離を計測する複数の距離センサと、
足の目標軌道から脚の各関節の目標角の時系列データを算出するとともに算出した時系列データに追従するように脚の各関節を制御するコントローラと、を備えており、コントローラは、
距離センサによって、目的軌道上で予定されている離地タイミング以外で足平が路面に対して傾いたことを検知したときに、そのときの重心の加速度を算出するステップと、
算出した重心の加速度を初期値とし、予め定められた期間の終端で予め定められた速度を有することを終端条件としてZMP方程式を解いて重心の軌道を算出するステップと、
算出された重心の軌道から脚関節の目標角の時系列データを再計算するステップと、
を実行するとともに、再計算された目標角の時系列データに追従するように脚の各関節を制御することを特徴とする2脚歩行ロボット。
Описание
[1]
本発明は、2脚歩行ロボット(Biped Robot)に関する。
[2]
2脚歩行ロボットを歩行させるためのデータは歩容データと呼ばれる。歩容データは、通常、重心(或いは体幹)目標位置と足目標位置の時系列データで表される。歩容データの各時点のデータから脚の各関節の目標角が算出され、その目標角に追従するように各関節が制御される。なお、本明細書では、「時系列データ」を「軌道」と称することがある。また、歩容データは重心と足の目標軌道で表されるものとする。
[3]
2脚歩行ロボットは、適切な歩容データを用いないと転倒してしまう。転倒するか否かは、ロボットが現実に歩行して初めて確認できる事項であるので、本明細書では、理論上転倒せずに歩行することが予想できることを便宜上、「安定に歩行することができる」と表現する。さらに、理論上で安定な歩行を実現することができる歩容データを便宜上「安定な歩容データ」と称する。また、以下では簡単のため「2脚歩行ロボット」を単に「ロボット」と称する。
[4]
安定な歩容データを生成する一つの手法は、ZMP方程式に基づいてロボットの重心軌道(時系列データ)を生成し、重心軌道から脚各関節の目標角を求めることである。転倒するか否かは、ロボットの重心軌道が支配的な要素だからである。多くの2脚歩行ロボットがZMP方程式に基づいて歩容データを生成している。
[5]
歩容データに予定されているとおりに各足が離地・着地すればよいが、外乱等によって実際には歩容データに予定されているとおりには動かない場合がある。ここで、「外乱」とは、例えば2脚歩行ロボットが他の物体と接触したときに当該他の物体から受ける接触力や、路面の想定外の起伏によって生じる2脚歩行ロボット全体の傾きなどである。
[6]
外乱等によって足が離地することがある。そのような場合は通常、足の一部(例えばつま先)が接地したまま他の一部(例えばかかと)が浮き出す。即ち、足平が予定外に路面に対して傾く。足平が路面に対して傾くと、足平を通じて体幹に床反力によるモーメントを加えることができなくなり、転倒に繋がる可能性が高くなる。そのため、足平が予定外に傾くことは避けなければならない。路面に対する足平の傾きを是正する技術が例えば特許文献1に開示されている。以下、路面に対する足平の傾きを単に足平の傾きと称する。
[7]
特開2008-188684号公報
[8]
特許文献1の技術は、足平が傾き始めた際、体幹の傾きを元に戻そうとする制御(特許文献1では倒立制御と称している)と、傾いた足平を再び路面に面接触させようとする制御(特許文献1では倣い制御と称している)を巧みに組み合わせる。ここで、倒立制御は足平の傾きがより大きくなる方向に作用し、倣い制御は足平の傾きを小さくするように作用する。即ち、倒立制御と倣い制御はトレードオフの関係にある。特許文献1の技術は、このトレードオフを巧みに調整する技術である。
[9]
しかしながら、特許文献1の技術は、トレードオフを調整する技術であるため、倒立制御と倣い制御のいずれも最適とはならない。本発明は、特許文献1が開示する技術的思想とは全く異なる技術的思想に基づき、トレードオフという概念を要さずに、歩行安定性を確保しながら足平の傾きを元に戻す技術を提供する。
[10]
特許文献1における倒立制御とは、体幹の傾きを当初の目標角度に戻すという技術的思想に基づいている。本明細書が開示する新規な技術は、体幹の傾きを目標角度に戻すのではなく、体幹が傾いていく方向(即ち足平の傾きが増大する方向)の重心の加速度を脚の各関節の目標角に取り込むことによって、体幹を加速する慣性力の反力で足平の傾きを元に戻す。歩行安定性は、その加速度で安定して歩行ができるようにZMP方程式を使って重心軌道を作成し直すことによって確保する。別言すれば、この方法は、直近の期間(例えば数十msecの間)は体幹が傾いていく方向へ体幹を加速するように脚の関節を制御することによって足平の傾きを抑えるとともに、長期的(例えば現在の遊脚が着地するまでの間)なスパンで歩行が安定するように脚の関節を制御する。本発明は以上のように、時間軸方向で短期的には足平の傾きを抑えるように、そして、長期的には歩行を安定させるように、脚の目標関節角を決定する。そのような技術思想によって、トレードオフという概念を導入することなく、足平の傾きの抑制と歩行安定性を両立する。なお、本発明は、足平の傾きを抑える期間と歩行を安定させるための期間を時間軸上で明示的に分けるものではない。重心の軌道を定めるZMP方程式において、直近の重心の軌跡を支配するパラメータ(現在時刻における重心の加速度)と所定時間後の重心軌道全体を支配するパラメータ(所定時間後の重心速度)の2つに着目することによって、短期的には足平の傾きを抑えるように、長期的に軌道全体としては歩行安定性が保たれるように重心軌道を生成する。
[11]
本明細書が開示する新規な2脚歩行ロボットは、各脚に複数の距離センサを備えている。距離センサは、足裏の前後少なくとも2箇所に配置されており、路面までの距離を計測する。コントローラは、足の目標軌道から脚の各関節の目標角の時系列データを算出するとともに算出した時系列データに追従するように脚の各関節を制御する。コントローラは、足の予定外の傾きを検知すると目標関節角の時系列データを再計算する。再計算する処置は以下の通りである。重心加速度算出ステップ:距離センサによって予定外(足の目的軌道上で予定されている離地タイミング以外)に足平が路面に対して傾いたことを検知したときに、そのときの重心の加速度を算出する。重心軌道決定ステップ:算出した重心の加速度を初期値とし、予め定められた期間の終端で予め定められた速度を有することを終端条件としてZMP方程式を解いて重心の軌道を算出する。関節目標角算出ステップ:算出された重心の軌道から脚関節の目標角の時系列データを再計算する。そしてコントローラは、関節目標角算出ステップで再計算された目標角の時系列データに追従するように脚の各関節を制御する。
[12]
ここで、「予定外に足平が路面に対して傾いたとき」とは、歩容データ(足の目標軌道)上で予定されている離地タイミング以外に足平が路面に対して傾いたとき」という意味である。歩容データ上で予定されている離地の際、即ち、予定されているとおりに足平が傾いたときには、特別な処理をすることなく、元々の歩容データに従って脚の各関節を制御すればよいからである。
[13]
上記コントローラが実行する処理の特徴は、特に、重心軌道決定ステップにある。安定な歩行を実現するための重心の軌道は、ZMP方程式で与えられる。ZMP方程式は、重心位置の加速度を与える方程式である。発明の実施形態の欄で説明するように、ZMP方程式は、現在注目する期間について、重心軌道の初期速度と終端速度を境界条件として与えると、重心軌道を一意に決定することができる。上記の重心軌道決定ステップでは、足平が傾いたときの重心加速度によって定まる現時点での重心速度を初期値として与える。これによって、予定していなかった重心の加速度を新しい重心軌道に取り込み、その加速度を実現する重心軌道を決定する。新たな加速度を実現するように脚の各関節を制御することによって、重心を加速する力の反力で足平の傾きを抑制する。初期値を上記のとおりに与えることによって、直近の期間(例えば数十msecの間)は体幹が傾いていく方向へ重心を加速する重心軌道が求まり、そのような重心軌道に基づいて脚関節を制御することによって足平の傾きが抑えられる。他方、重心軌道の終端では、過大とならない適切な終端速度を境界条件として与える。この終端速度条件によって、重心軌道の終端で速度が過大とならないことが保証される。そのような終端速度条件の下で得られる重心軌道は、その終端で速度が増大しないこと、即ち、重心速度が増加の一途を辿って制御不能なまでに過大となることが回避される。即ち、歩行安定性が確保される。
[14]
本発明の2脚歩行ロボットは、予定外に足平が路面に対して傾いた場合であっても、歩行安定性を確保しつつ足平の傾きを抑えることができる。
[15]
2脚歩行ロボットの側面図を示す。 重心軌道決定処理のフローチャートを示す。 2脚歩行ロボットが傾いた状態の一例を示す。 3個の距離センサを備える場合の距離センサの用法を説明する図である。
[16]
図1に、歩行中の2脚歩行ロボット10の側面図を示す。以下、2脚歩行ロボット10を単にロボット10と称する。脚の各関節には関節角を制御するアクチュエータと、関節角を検出するエンコーダが内蔵されている。ロボット10はコントローラ20を備えており、コントローラ20が、歩容データに基づいて脚の各関節を制御する。ここで、「各関節を制御する」とは、歩容データから得られる各関節の目標角度に追従するようにアクチュエータを制御することを意味する。コントローラ20は、通常は歩容データ(足の目標軌道と重心の目標軌道)から各関節の目標角の時系列データを算出し、算出した目標角に追従するように各関節を制御する。コントローラ20は、歩容データに予定されていない足平の傾きが検知された場合、歩容データに記述されている重心軌道に関わらず、重心の加速度に基づいて重心軌道を再計算する。歩容データの生成方法、及び、歩容データから関節目標角を生成する手法については、従来から知られている手法を用いればよいので詳しい説明は省略する。
[17]
ロボット10は、足裏に2個の距離センサ16a、16bを備えており、これら距離センサによって足平の傾きを検出する。距離センサ16aはつま先に相当する位置に配置されており、距離センサ16bは踵に相当する位置に配置されている。距離センサ16a、16bは、夫々の位置で路面と足裏面との間の距離を計測する。2個の距離センサのセンサデータから、路面に対する足平の傾き角度を求めることができる。
[18]
歩容データ上に予定されていない足平の傾きが検知された場合の処理を説明する前に、歩行安定性を確保する重心軌道について説明する。図1において、符号10Aは現在時刻T0におけるロボットの姿勢を示しており、符号10Bは時刻T1におけるロボットの予定姿勢を示している。符号x g (T0)は、現在時刻T0における重心Gのx座標を示しており、符号z g (T0)は、現在時刻T0における重心Gのz座標を示している。符号符号q x (T0)は、現在時刻T0におけるZMPのx座標を示している。x p (T0)は、現在時刻T0における足位置のx座標を示している。ここで、足位置x p は、足のつま先に固定された点の位置で表される。
[19]
以下では、重心軌道のx成分x g (i)(符号「i」は時離散時間系における時刻を表す)について説明する。以下の議論はy成分についても成立する。ZMPは、足裏に分布する圧力(反力)に等価な集中反力が床面と交差する点で定義される。重心Gに作用するピッチ軸(y軸)周りのモーメントをr y (i)で表すと、時刻(i)における重心Gを中心とするピッチ軸(y軸)回りの釣り合い方程式は次の(数1)で与えられる。
[20]
[21]
ここで、mはロボット全体の質量を表し、gは重心加速度を表す。z g (i)は重心Gのz座標を表す。上付き文字の(2)は時間2回微分を表す。即ち、x g (2) (i)は、重心Gの加速度のx成分を表す。(数1)が、x軸方向のZMP方程式に相当する。(数1)は、時刻iにおけるZMP位置q x (i)と、重心位置x g (i)、z g (i)とそれらの加速度x g (2) (i)、z g (2) (i)の関係を示している。
[22]
重心Gの加速度のz成分、即ち、z g (2) (i)は予め与えられる。z g (2) (i)は、歩行時の腰の上下動にほぼ相当する。重心Gの加速度のx成分、即ち、x g (2) (i)、及び、重心Gの速度のx成分x g (1) (i)は、微小時間間隔Δtを用いたオイラー近似に基づいて次の(数2)で表される。
[23]
[24]
(数2)より、重心Gの加速度のx成分x g (2) (i)は重心Gの連続する3つの時刻の位置、x g (i)、x g (i+1)、x g (i+2)によって次の(数3)で近似できる。
[25]
[26]
(数3)を(数1)に代入し、r y (i)=0とおくと次の(数4)が得られる。
[27]
[28]
(数4)は、(数1)のZMP方程式において、x軸方向の重心加速度x g (2) (i)を連続する3つの時刻の重心位置(x成分)の変数、即ち、x g (i+1)、x g (i)及び、x g (i-1)によって近似した3項方程式である。(数4)は、ZMPの位置q x (i)によって、重心位置のx成分の時間的に連続する3点x g (i+1)、x g (i)及び、x g (i-1)の位置関係が定まることを表している。
[29]
i=1からnまでについて、(数4)をマトリクス表現すると次の(数5)が得られる。なお、時刻(n)は、図1において遊脚(右脚)が着地する予定時刻T1に相当する。歩行速度は予め与えられており、従って着地予定時刻T1は定まっている。現在時刻T0も検知することができるから、(数5)の時間スパンは現在時刻T0から着地予定時刻T1までの時間TSである。(数5)の次数nは、時間スパンTSを予め与えられたサンプリングタイムΔtで除した値で定まる。
[30]
[31]
なお、(数5)のq x (1)とq x (n)は、他のq x (i)すなわち、ZMPの位置とは別の意味を含んでいる。(数5)の第1行は、初期速度が現在時刻の重心速度に一致することを保証する初期境界条件に相当し、第n行は、遊脚が着地する予定時刻T1における重心速度が予定された速度に一致することを保証する終端境界条件に相当する。(数2)の定義から、q x (1)=v(T0)Δt、q x (n)=v(T1)Δtである。v(T0)とv(T1)は、第1図に示した通り、現在時刻T0と遊脚着地予定時刻T1における重心Gの速度のx成分である。(数5)より、重心軌道のx成分[Xg](即ち、x g (i),i=1~n)は、次の(数6)で求めることができる。
[32]
[33]
(数6)は、初期境界条件と終端境界条件を含むZMP軌道[Qx]を与えると重心軌道[Xg]が求まることを表している。なお、(数6)は、ZMP軌道[Qx]に対する重心軌道[Xg]を与える。即ち、得られた時刻(i)の重心位置x g (i)は、ZMP位置に対する相対位置を示している。そこで、(数6)によってZMP軌道[Qx]に対する相対的な重心軌道[Xg]を求めたのち、時刻(0)の重心位置x g (0)が図1の時刻T0における重心位置x g (T0)に一致するように、ZMP軌道[Qx]と重心軌道[Xg]を路面(XY平面)に平行にシフトする。この処理によって、(数6)によって求めた重心軌道と、それまでの重心軌道(終端における位置はx g (T0))との連続性が維持される。こうして、時刻T0からT1までの重心軌道が求まる。なお、ZMPは足平が受ける床反力の中心点であるから、ZMP位置が足平面内となるように足平位置が定められる。
[34]
(数6)で得られる重心軌道が、歩行安定性を保証していることを説明する。(数6)の解[Xg]を得るために与える境界条件は、初期時刻における重心速度と終端時刻における重心速度である。このうち、初期時刻における重心速度は、現在時刻における実際の重心速度を与えればよい。これは、現在時刻までの過去の重心軌道と、現在時刻から将来の重心軌道の連続性を確保するためである。終端時刻における重心速度として適切な値、例えば、歩行速度に等しい速度V0、を与えると、(数6)で得られる重心軌道[Xg]は、その終端で必ず速度V0を有することが保証される。軌道終端における重心の速度(x軸方向の速度)は、ZMP位置から離れるほど大きくなる。このことは、倒立振子の先端の速度は、先端位置が支点から遠いほど早くなることから類推される。倒立振子の先端が重心に対応し、倒立振子の支点がZMPに対応する。ZMP方程式は、終端境界条件として適切な大きさの速度を与えると、その速度が実現される位置を導出する。適切な速度が実現できる位置とは、ZMPからそう遠く離れていない位置(XY平面内における位置)に他ならない。重心位置がZMPからそう遠く離れ…
Чертежи
Галерея графических материалов, полученных по документу.
Размер: 66x89
Размер: 85x77
Размер: 85x103
Размер: 85x80
Размер: 85x98