進化アルゴリズムと模倣学習に基づくロボットの動作制御方法

【課題】ロボットが人間の動作を学習できる進化アルゴリズムに基盤したロボットの動作制御方法を提供する。
【解決手段】本発明は進化アルゴリズムを利用したロボットの動作制御方法に関するものである。本発明は人間の動作パターンを収集してデータベースを構築する段階と、主成分分析及び逆動力学基盤の補間法を利用した遺伝演算子を利用して前記データベースを進化させる段階と、前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むロボットの動作制御方法を提供する。
本発明によると進化したデータベースを利用してロボットが人間の運動を学習し、最適化した動作をリアルタイムで制御することができる。
【解決手段】本発明は進化アルゴリズムを利用したロボットの動作制御方法に関するものである。本発明は人間の動作パターンを収集してデータベースを構築する段階と、主成分分析及び逆動力学基盤の補間法を利用した遺伝演算子を利用して前記データベースを進化させる段階と、前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むロボットの動作制御方法を提供する。
本発明によると進化したデータベースを利用してロボットが人間の運動を学習し、最適化した動作をリアルタイムで制御することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットの動作制御方法に関し、特に、進化アルゴリズムを利用してロボットに人間の動作を学習させた後、リアルタイムでロボットの動作を制御する方法に関するものである。
【背景技術】
【0002】
最近の人間型ロボットは機構的構造や外形だけでなく、歩くことや走ることなどのような動作制御能力においても人間に近くなっている。それはロボットに人間の動作と類似な動作を行うようにする試みが続いているためである。
【0003】
例えば、人間の動作をデータベースに貯蔵し、貯蔵された動作をロボットが再現することによって人間の動作を模倣させることもできる。しかし、ロボットが必要とする幾多の動作を全て予め記録して蓄積し、これを活用するということは物理的に不可能である。
【0004】
一方、モーションキャプチャー(motion capture)システムを利用することによってロボットに人間の動作を模倣して再現させる場合、キャプチャーされた人間の動作パターンをそのままロボットに適用するとロボットが人間のような自然な動作をすることもできる。しかし、質量、質量中心または慣性質量のような物性値が人間とロボットは互いに異なるためにキャプチャーされた動作がロボットに最適化されたということではない。
【発明の開示】
【発明が解決しようとする課題】
【0005】
このような問題を解決するために本発明は、ロボットが人間の動作を学習できる進化アルゴリズムに基づいたロボットの動作制御方法を提供する。
【課題を解決するための手段】
【0006】
本発明の特徴によるロボットの動作制御方法は、(a)人間の動作パターンを収集してデータベースを構築する段階;(b)主成分分析及び逆動力学に基づいた補間法を適用した遺伝演算子を利用して前記データベースを進化させる段階;及び(c)前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むことができる。
【0007】
前記(a)段階は人間の動作をモーションキャプチャーする段階を含むことができる。
【0008】
また、前記(b)段階は、(b−1)ロボットが行う任意の動作と類似な動作状態を有する基本動作を前記データベースから1つ以上選択する段階;及び(b−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことができる。
【0009】
前記(b)段階は、前記(b−1)段階と前記(b−2)段階を繰り返して行って前記データベースを進化させる段階を含むことができる。
【0010】
前記(b−1)段階で、前記任意の動作は次の式(11)で示すことができる。
【数1】

ここで、
【数2】

は前記任意の動作の関節角軌跡、
【数3】

は前記選択された基本動作の平均関節角軌跡、
【数4】

は前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数5】

はスカラー係数である。
【0011】
前記任意の動作の動作状態は次の式(12)で示す境界条件を満足することができる。
【数6】

ここで、
【数7】

は開始時間
【数8】

における関節角、
【数9】

は開始時間
【数10】

における関節角速度、
【数11】

は終了時間
【数12】

における関節角、
【数13】

は終了時間
【数14】

における関節角速度である。
【0012】
前記(b−2)段階で、前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数15】

を次の式(13)によって計算する。
【数16】

ここで、kは選択された基本動作の数であり、
【数17】

はi番目基本動作の関節角軌跡である。
【0013】
また、次の式(14)によって共分散行列(S)を計算し、
【数18】

前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることができる。
【0014】
前記(b−2)段階で、次の式(15)を通じて前記選択された基本動作の関節トルク
【数19】

を決める。
【数20】

ここで、
【数21】

は前記選択された基本動作の関節角、
【数22】

は前記選択された基本動作の関節角速度、
【数23】

は前記選択された基本動作の関節角加速度、
【数24】

は質量マトリックス、
【数25】

はコリオリベクターである。
【0015】
また、
【数26】

は重力及びその他の力を含む。
【0016】
前記決められた関節トルクが次の式(16)を最小にすると、前記選択された基本動作を前記最適動作に決めることができる。
【数27】

前記(c)段階は主成分分析及び機構学的補間による動作の再結合方法を利用することができる。
【0017】
また、前記(c)段階は、(c−1)ロボットが生成する動作と類似な動作状態を有する基本動作を前記進化したデータベースから1つ以上選択する段階;及び(c−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことができる。
【0018】
前記(c−1)段階で、前記ロボットが生成する動作は次の式(17)で示すことができる。
【数28】

ここで、
【数29】

は前記ロボットが生成する動作の関節角軌跡、
【数30】

は前記選択された基本動作の平均関節角軌跡、
【数31】

は前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数32】

はスカラー係数である。
【0019】
前記ロボットが生成する動作の動作状態は次の式(18)で示す境界条件を満足することができる。
【数33】

ここで、
【数34】

は開始時間
【数35】

における関節角、
【数36】

は開始時間
【数37】

における関節角速度、
【数38】

は終了時間
【数39】

における関節角、
【数40】

は終了時間
【数41】

における関節角速度である。
【0020】
前記(c−2)段階で、前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数42】

を次の式(19)によって計算する。
【数43】

ここで、kは選択された基本動作の数であり、
【数44】

はi番目基本動作の関節角軌跡である。
【0021】
さらに次の式(20)を通じて共分散行列(S)を計算する。
【数45】

次に、前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることができる。
【0022】
本発明によると、人間の基本動作をロボットの特性に合わせて進化させることによってロボットに最適化した動作を行うようにすることができる。
【0023】
また、本発明によると、進化した基本動作データベースに基づいてロボットがリアルタイムで動作を生成することができる。
【0024】
また、本発明によると、モーションキャプチャーデータのみあればこれを容易にロボットに適用することができるので、ロボットが人間の多様な動作を模倣及び再現することができる。
【発明を実施するための最良の形態】
【0025】
以下、添付した図面を参照して本発明の実施例について本発明が属する技術分野における通常の知識を有する者が容易に実施できるように詳しく説明する。しかし、本発明は多用で相異なる形態で実現することができ、ここで説明する実施例に限られない。さらに、図面で本発明を明確に説明するために説明と関係ない部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付けた。
【0026】
ロボットの動作は作業(task)と状態(condition)からなる。例えば、手をテーブル上のカップへ持っていく動作があるとすると、手をカップに持っていくことがこの動作が属した作業であり、テーブル上のカップの位置がこの動作の状態である。しかし、すべての位置のカップに手を持っていく動作をいちいち蓄積しておいて、これを活用することは物理的に不可能である。
【0027】
本発明の実施例では限定された数の動作のみを貯蔵し、1つ以上の関節角軌跡からなる動作を基本動作(movement primitive)と定義する。また、本発明の実施例では基本動作の補間(interpolation)を通じてカップの位置のような多様な動作状態に対するロボットの腕の動作を生成する。
【0028】
1つの基本動作が進化アルゴリズムにおける1つの個体(individual)となる。例えば、120Hzでサンプリングされた120秒長さを有する基本動作があるとすると、この個体の染色体形態(genotype)は14400行を有する実数ベクターである(14400=120秒×120Hz)。また、収集されて限定された数の基本動作が集団をなして両親個体として動作する。
【0029】
図1は本発明の実施例による主成分分析基盤の遺伝演算子を示す図面である。
【0030】
図1を参照すると、作業Tに属するn個の個体が両親個体をなしている。各個体をm1からmnと表示すると、各個体はそれぞれ自分の動作状態を有する。つまり、個体miの動作状態はciと表示される。
【0031】
もし、動作状態c3を有する動作が必要であれば、n個の両親個体の中で動作状態c3と最も近い動作状態を有する個体をk個選択する。これは動作状態の類似性を比較する適切な尺度(distance metric)を導入して解決することができる。
【0032】
例えば、カップが特定の位置に置かれている場合、この特定の位置へ手を持っていく腕の動作が必要である。この場合、カップの3次元位置ベクターを動作状態c3に定義することができ、動作状態の類似性を比較するために、次の式(21)の形態で距離尺度を使用する。
【数46】

このように選ばれたk個の動作個体を
【数47】

と表示する。1つの動作個体はいくつかの関節角からなる。例えば、7自由度を有するマニピュレータの動作を記述すると動作個体1つは7個の関節角軌跡で構成される。
【0033】
k個の動作個体
【数48】

から得られた最初(又は初期)自由度の関節角軌跡をそれぞれ
【数49】

と表示する。この場合、次の式(22)を通じて平均軌跡qmeanを得ることができる。
【数50】

一方、次の式(23)を通じて共分散行列Sが得られる。
【数51】

共分散行列Sから得られた固有ベクターと固有値をそれぞれ
【数52】

と
【数53】

と表示する。ここで、固有値は
【数54】

と整列された。
【0034】
固有ベクター
【数55】

を主成分とし、これら固有ベクターはそれぞれ関節角軌跡を示す。主成分分析の特性に応じてk個の主成分の中で支配的ないくつかの主成分のみを有して全関節角軌跡の特性を知ることができる。それは主成分分析は高次元のデータを低次源の空間に投影させて次元を減らす機能をするためである。
【0035】
結果的に、最初(初期)自由度の関節角
【数56】

から平均軌跡qmeanとk個の主成分軌跡
【数57】

を得ることができる。一方、このような過程を第2、第3などの関節に対する軌跡に対しても同一に適用し、各関節に対して平均軌跡と主成分軌跡を得ることができる。
【0036】
一方、任意のロボット動作は下記式(24)のように平均軌跡と主成分軌跡の線状結合で示すことができる。
【数58】

ここでq(t)は関節角軌跡、qmean(t)は平均関節角軌跡、
【数59】

はi番目主成分軌跡である。そしてxi(i=1、2、3、4、5)はスカラー係数である。
【0037】
一般に動作状態c3は開始時刻t0での関節角q0と関節角速度
【数60】

、そして終了時刻tfでの関節角qfと関節角速度
【数61】

で与えられる。
【0038】
一方、未知数xiは5個であるので、4個の境界条件を満足する未知数5個を決めるために次の式(25)、(26)を通じて最適化過程を行う。
【数62】

【数63】

ここで、
【数64】

は関節トルクである。この関節トルクは関節角q、関節角速度
【数65】

及び関節角加速度
【数66】

が決められると前記式(26)を通じて計算することができる。最小化しようとする目的関数である式(25)は与えられた関節軌跡を動かす時、ロボットが必要とするトルクの合計である。
【0039】
このような最適化過程を通じて最小のエネルギー(トルク)を必要としながら、与えられた動作状態c3を満足する動作個体、つまり、新たなm3を生成することができる。この過程を‘逆動力学基盤の最適化を通じた動作の再結合(Reconstituting motion via dynamics−based optimization)’と言う。
【0040】
新たに生成された子供個体m3は両親個体m3のような動作状態c3を持っている。しかし、子供個体m3は両親個体m3を含む複数固体の主成分を分解及び再結合して生成されたものであるので、両親個体のような動作軌跡を有しない。したがって、進化アルゴリズム内で2つの個体の優秀性を判断してさらに優れた個体が次代の両親集団に属する。このような過程がc0からcnまで適用されることによってn個の子供集団が生成される。
【0041】
一方、両親集団に属するmiと子供集団に属するmiの中でさらに優れた動作個体を次代の両親集団に選定するために適合度関数(fitness function)が必要であるが、これは次の式(27)で定義される。
【数67】

つまり、2つの動作個体の中でトルク(エネルギー)を少なく消費するものが次代の両親個体となる。
【0042】
式(27)は式(25)と同一である。つまり、遺伝演算子で使用された逆動力学基盤の最適化での目的関数と進化アルゴリズムで使用された目的関数が同一である。その理由は、遺伝演算子は局部的な最適化作用(local optimizer)をして進化アルゴリズムは全域的な最適化作用(global optimizer)をするように意図されたためである。つまり、局部的最適化と全域的最適化が同時に行われることによって、集団をなしている動作個体が次第に少ないトルクを必要とするエネルギー効率的な動作パターンへ進化して行くように意図されたものである。
【0043】
図2は本発明の実施例による遺伝演算子と適合度関数を利用して基本動作が進化する過程を概略的に示す図面である。
【0044】
まず、人間の動作を収集して1つの作業を行う反復動作で初期両親集団を選択する。これら反復動作は多様な動作条件を包括することに選定する。
【0045】
次に、初期両親集団から動作個体を抽出し、抽出された動作個体は主成分分析基盤の遺伝演算子を通じて子供集団を形成する。
【0046】
また、両親集団と子供集団の動作個体をそれぞれ比較してさらに優れた動作個体が次代の両親集団を形成し、劣等な動作個体は捨てる。この過程は遺伝演算子で使用された逆動力学基盤の最適化過程の計算量のために多くの時間がかかる。
【0047】
次に、このように形成された進化した基本動作を利用して、その時その時必要とする動作をロボットがリアルタイムで生成することができる。この過程もまた基本動作の主成分分析とその再結合からなる。つまり、ロボットが任意の動作状態ciを有する動作を生成しなければならないと、動作状態ciと類似の動作状態を有する動作を進化した基本動作データベースから抽出し、主成分分析を通じて平均軌跡と主成分軌跡を得る。ここまでの過程は主成分分析基盤の遺伝演算子と同一である。
【0048】
しかし、主成分分析基盤の遺伝演算子とは異なって、ここではロボットの動作を構成することにおいて次の式(28)のように平均軌跡と3つの主成分軌跡のみを使用する。
【数68】

ここでq(t)は関節角軌跡、qmean(t)は平均関節角軌跡、
【数69】

はi番目主成分軌跡である。そして、xi(i=1、2、3、4)はスカラー係数である。
【0049】
一般に動作状態c3は開始時刻t0での関節角q0と関節角速度
【数70】

、そして終了時刻tfでの関節角qfと関節角速度
【数71】

の4つに与えられる。
【0050】
しかし、主成分分析基盤の遺伝演算子とは異なって、ここでは未知数xiが4つであるために4つの境界条件を満足する未知数4つを決める過程は簡単な行列演算に過ぎないので、リアルタイムで動作を生成することができる。
【0051】
一方、二過程は境界での関節角及び関節角速度のみを考慮して動作を生成するので、‘機構学的補間を通じた動作の再結合(Reconstituting motion via kinematic interpolation)’と言う。
【0052】
本発明の実施例では基本動作に対する主成分分析と共に、逆動力学基盤の最適化を通じた動作の再結合方法と機構学的補間を通じた動作の再結合方法を使用する。
【0053】
しかし、逆動力学基盤の最適化を通じた動作の再結合方法を使用する場合、ロボットの物理的特性に最適化した動作を生成することができるという長所がある反面、最適化に時間が長くかかるためにロボットがリアルタイムで動作を生成できない短所がある。
【0054】
これに反し、機構学的補間を通じた動作の再結合方法は簡単な行列演算のみを経るためにリアルタイムで動作を生成することができるが、生成された動作はキャプチャーされた人間動作の数学的、そして機構学的補間に留まるので、ロボットに最適化されたことではない。
【0055】
図3は従来の方法と本発明の実施例による方法を比較するための図面である。従来の方法1と方法2は人間のモーションキャプチャーデータに直接主成分分析と動作再結合方法を適用する。
【0056】
これに反し、本発明の実施例による方法3は人間のモーションキャプチャーデータを進化させてロボットの物理的特性を反映させ、この進化した基本動作に基づいてリアルタイムでロボットが必要な動作を得る。
【0057】
以下、本発明のロボット動作制御方法による実験例及び比較例を記述する。しかし、本発明は以下の実験例または比較例に限定されることではない。
【0058】
(実験例)
図4Aは本実験例で使用された人間型ロボット‘マル’の外観を示す図面であり、図4Bは腰関節と右腕を含む7自由度のマニピュレータを概略的に示す図面である。
【0059】
投げられたボールをロボットが腕で取るためには、球の位置を追跡し、ボールを取る位置を予想しなければならない。また、ロボットが予想位置に腕を動かし、指でボールを取ることもしなければならない。しかし、本実験例ではロボットが人間のような自然な動作を生成するようにすることが目的であるので、残り能力は既に与えられていると仮定した。
【0060】
図5Aは実験者が自分に投げられたボールを取る前の姿を示す図面であり、図5B及び5Cは実験者が自分の正面及び肩の上側に投げられたボールを取る姿をそれぞれ示す図面である。また、図6A及び6Bは実験者がボールを受けた140個の地点を表示する正面図及び側面図である。
【0061】
実験者の頭とボディー近くの多様な地点にボールを投げ、全140個のボールを受ける実験者の動作をキャプチャーした。つまり、本実験例では140個の基本動作が初期両親世帯を構成した。
【0062】
動作状態ciは次の式(29)によって定義された。
【数72】

ここで、Riは実験者がボールを受けた瞬間の手の平の回転行列(rotation matrix)であり、piはその瞬間の手の平の位置ベクター(position vector)である。一方、この行列とベクターは全て実験者の腰に位置した基準座標系から見た時の値である。
【0063】
各動作状態の間の類似性を示す距離尺度として次の式(30)が定義された。
【数73】

ここで、Riとpiは動作状態ciに属し、Rjとpjは動作状態cjに属する。また、w1とw2はスカラー加重値であり、本実験例では1.0と0.5に定めた。
【0064】
図7Aと図7Bは基本動作に対する主成分分析の例を示す。つまり、図7Aは任意に選択した10個の基本動作の関節角軌跡を示す図面であり、図7Bは7Aに図示された基本動作から支配的な主成分4つを抽出してこれを示す図面である。
【0065】
本実験例では与えられた動作状態に最も近い20個の基本動作を選択して主成分を抽出し、この主成分を新たな動作を生成するのに使用した。
【0066】
図8Aは進化過程でさらに優れた子供個体で代替される両親個体の個数を示すグラフである。また、図8Bは各世帯での個体の適合度関数値の平均を示すグラフである。
【0067】
図8Aを参照すると、1世代から2世代に進化する時は140個の両親個体の中で38個の個体がさらに優れた子供個体で代替された。一方、代替される両親個体の個数は進化が進められることによって次第に減少したが、これは動作個体の最適化が一定の値で収斂するということを示す。
【0068】
図8Bを参照すると、適合度関数値の平均が1世代では560に至り、進化が行われた10世代では460以下に減った。
【0069】
一方、1世代から10世代まで進化させるのにかかった時間は2GBのRAMを有するペンティアム(登録商標)4コンピュータでほぼ9時間程度であった(以下、同一なコンピュータで遂行)。
【0070】
(比較例1)
図9A及び9Bはそれぞれ従来方法1及び本発明の実施例による方法3によって生成された動作の様相を示す正面図である。また、図9C及び9Dはそれぞれ従来方法1及び本発明の実施例による方法3によって生成された動作の様相を示す側面図である。また、図10は従来方法1と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【0071】
2つの動作とも基本的には人間のモーションキャプチャーデータを使用するために外観は人間の動作のように自然である。また、同一な動作条件を持って動作を生成したので、開始時点と終了時点での関節角及び関節角速度がそれぞれ同一である。
【0072】
しかし、開始時点から終了時点へ行く軌跡は同一な様相を示さないが、その効果は下記表1に示されている。
【表1】

【0073】
表1を参照すると、動作生成時間は2つの方法でほぼ同一であり、リアルタイムに近い短時間がかかるだけであった。これは2つの方法が活用する基本動作データが人間動作であるか進化した動作であるかの差にあり、動作を生成するアルゴリズムは同一であるためである。
【0074】
一方、適合度関数の値は方法3でさらに小さく示されるが、これは方法3によって生成された動作がより少ないトルクが所要される最適化した動作であり、エネルギー効率的であるという意味である。したがって、本発明の実施例による方法3で使用された進化した基本動作データベースが最適の動作生成に寄与したことを確認することができた。
【0075】
(比較例2)
図11A及び11Bはそれぞれ従来方法2及び本発明の実施例による方法3によって生成された動作の様相を示す正面図である。また、図11C及び11Dはそれぞれ従来方法2及び本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【0076】
また、図12は従来方法2と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【0077】
2つの動作もやはり基本的には人間のモーションキャプチャーデータを使用するために外観では人間の動作のように自然である。また、同一な動作条件を持って動作を生成したので、開始時点と終了時点での関節角及び関節角速度がそれぞれ同一である。
【0078】
一方、動作の生成時間と適合度関数の値には差があるが、これは次の表2に示されている。
【表2】

【0079】
表2を参照すると、従来方法2による場合、動作生成に11.32秒がかかり、本発明の実施例による方法3による場合には0.127秒しかかからなかったことが判る。
【0080】
従来方法2による場合、逆動力学基盤の最適化過程を経るために計算に長時間がかかった。これに反し、従来方法2による場合には適合度関数の値は348.7で、本発明の実施例による方法3による場合に比べて最適化した様相を示す。つまり、従来方法2によって生成されたロボット動作は最もエネルギー効率的で最適化し、人間の動作と類似しているが、動作生成に長い時間がかかるためにリアルタイム動作生成には不適であった。
【0081】
これに反し、本発明の実施例による方法3によって生成されたロボット動作は従来方法2によって生成されたことよりは最適化されていないが、迅速に動作を生成するという側面からリアルタイム動作生成に適した。
【0082】
(比較例3)
動作条件10個を有して方法1、2及び3全てを使用してそれぞれ動作を生成した。表3は生成されたそれぞれの動作10個を平均して、その性能を比較した結果を表3に示す。
【表3】

【0083】
表3を参照すると、従来方法1と本発明の実施例による方法3による場合、動作生成に非常に短い時間がかかるためにリアルタイム動作生成への適用が可能であった。
【0084】
一方、従来方法2による場合には適合度関数の値が最も小さいために最適化した動作が作られたが、動作生成に時間が長く所要されてリアルタイム動作生成に適用することは難しかった。
【0085】
要するに、本発明の実施例による方法3による場合、リアルタイムで動作を生成することができ、多くの時間が所要されて最適化させた動作と最適化側面でほぼ対等な性能を示した。
【0086】
以上、本発明の実施例について説明したが、本発明の権利範囲はこれに限定されず、特許請求の範囲と発明の詳細な説明及び添付した図面の範囲内で多様に変形して実施することが可能であり、これもまた本発明の範囲に属するのは当然のことである。
【図面の簡単な説明】
【0087】
【図1】本発明の実施例による主成分分析基盤の遺伝演算子を示す図である。
【図2】本発明の実施例による遺伝演算子と適合度関数を利用して基本動作が進化する過程を概略的に示す図である。
【図3】従来の方法と本発明の実施例による方法を比較するための図である。
【図4A】本実験例で使用された人間型ロボット‘マル’の外観を示す図である。
【図4B】腰関節と右腕を含む7自由度のマニピュレータを概略的に示す図である。
【図5A】実験者が自分に投げられたボールを取る前の姿を示す図である。
【図5B】実験者が自分の正面側に投げられたボールを取る姿を示す図である。
【図5C】実験者が自分の肩の上側で投げられたボールを取る姿を示す図である。
【図6A】実験者がボールを受けた140個の地点を表示する正面図である。
【図6B】実験者がボールを受けた140個の地点を表示する側面図である。
【図7A】任意に選択した10個の基本動作の関節角軌跡を示す図である。
【図7B】図7Aに示された基本動作から支配的な主成分4つを抽出してこれを示した図である。
【図8A】進化過程でさらに優れた子供個体で代替される両親個体の個数を示すグラフである。
【図8B】各世帯における個体の適合度関数値の平均を示すグラフである。
【図9A】従来方法1によって生成された動作の様相を示す正面図である。
【図9B】本発明の実施例による方法3によって生成された動作の様相を示す正面図である。
【図9C】従来方法1によって生成された動作の様相を示す側面図である。
【図9D】本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【図10】従来方法1と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【図11A】従来方法2によって生成された動作の様相を示す正面図である。
【図11B】本発明の実施例による方法3によって生成された動作の様相を示す正面図である。
【図11C】従来方法2によって生成された動作の様相を示す側面図である。
【図11D】本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【図12】従来方法2と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【技術分野】
【0001】
本発明はロボットの動作制御方法に関し、特に、進化アルゴリズムを利用してロボットに人間の動作を学習させた後、リアルタイムでロボットの動作を制御する方法に関するものである。
【背景技術】
【0002】
最近の人間型ロボットは機構的構造や外形だけでなく、歩くことや走ることなどのような動作制御能力においても人間に近くなっている。それはロボットに人間の動作と類似な動作を行うようにする試みが続いているためである。
【0003】
例えば、人間の動作をデータベースに貯蔵し、貯蔵された動作をロボットが再現することによって人間の動作を模倣させることもできる。しかし、ロボットが必要とする幾多の動作を全て予め記録して蓄積し、これを活用するということは物理的に不可能である。
【0004】
一方、モーションキャプチャー(motion capture)システムを利用することによってロボットに人間の動作を模倣して再現させる場合、キャプチャーされた人間の動作パターンをそのままロボットに適用するとロボットが人間のような自然な動作をすることもできる。しかし、質量、質量中心または慣性質量のような物性値が人間とロボットは互いに異なるためにキャプチャーされた動作がロボットに最適化されたということではない。
【発明の開示】
【発明が解決しようとする課題】
【0005】
このような問題を解決するために本発明は、ロボットが人間の動作を学習できる進化アルゴリズムに基づいたロボットの動作制御方法を提供する。
【課題を解決するための手段】
【0006】
本発明の特徴によるロボットの動作制御方法は、(a)人間の動作パターンを収集してデータベースを構築する段階;(b)主成分分析及び逆動力学に基づいた補間法を適用した遺伝演算子を利用して前記データベースを進化させる段階;及び(c)前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むことができる。
【0007】
前記(a)段階は人間の動作をモーションキャプチャーする段階を含むことができる。
【0008】
また、前記(b)段階は、(b−1)ロボットが行う任意の動作と類似な動作状態を有する基本動作を前記データベースから1つ以上選択する段階;及び(b−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことができる。
【0009】
前記(b)段階は、前記(b−1)段階と前記(b−2)段階を繰り返して行って前記データベースを進化させる段階を含むことができる。
【0010】
前記(b−1)段階で、前記任意の動作は次の式(11)で示すことができる。
【数1】

ここで、
【数2】

は前記任意の動作の関節角軌跡、
【数3】

は前記選択された基本動作の平均関節角軌跡、
【数4】

は前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数5】

はスカラー係数である。
【0011】
前記任意の動作の動作状態は次の式(12)で示す境界条件を満足することができる。
【数6】

ここで、
【数7】

は開始時間
【数8】

における関節角、
【数9】

は開始時間
【数10】

における関節角速度、
【数11】

は終了時間
【数12】

における関節角、
【数13】

は終了時間
【数14】

における関節角速度である。
【0012】
前記(b−2)段階で、前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数15】

を次の式(13)によって計算する。
【数16】

ここで、kは選択された基本動作の数であり、
【数17】

はi番目基本動作の関節角軌跡である。
【0013】
また、次の式(14)によって共分散行列(S)を計算し、
【数18】

前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることができる。
【0014】
前記(b−2)段階で、次の式(15)を通じて前記選択された基本動作の関節トルク
【数19】

を決める。
【数20】

ここで、
【数21】

は前記選択された基本動作の関節角、
【数22】

は前記選択された基本動作の関節角速度、
【数23】

は前記選択された基本動作の関節角加速度、
【数24】

は質量マトリックス、
【数25】

はコリオリベクターである。
【0015】
また、
【数26】

は重力及びその他の力を含む。
【0016】
前記決められた関節トルクが次の式(16)を最小にすると、前記選択された基本動作を前記最適動作に決めることができる。
【数27】

前記(c)段階は主成分分析及び機構学的補間による動作の再結合方法を利用することができる。
【0017】
また、前記(c)段階は、(c−1)ロボットが生成する動作と類似な動作状態を有する基本動作を前記進化したデータベースから1つ以上選択する段階;及び(c−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことができる。
【0018】
前記(c−1)段階で、前記ロボットが生成する動作は次の式(17)で示すことができる。
【数28】

ここで、
【数29】

は前記ロボットが生成する動作の関節角軌跡、
【数30】

は前記選択された基本動作の平均関節角軌跡、
【数31】

は前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数32】

はスカラー係数である。
【0019】
前記ロボットが生成する動作の動作状態は次の式(18)で示す境界条件を満足することができる。
【数33】

ここで、
【数34】

は開始時間
【数35】

における関節角、
【数36】

は開始時間
【数37】

における関節角速度、
【数38】

は終了時間
【数39】

における関節角、
【数40】

は終了時間
【数41】

における関節角速度である。
【0020】
前記(c−2)段階で、前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数42】

を次の式(19)によって計算する。
【数43】

ここで、kは選択された基本動作の数であり、
【数44】

はi番目基本動作の関節角軌跡である。
【0021】
さらに次の式(20)を通じて共分散行列(S)を計算する。
【数45】

次に、前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることができる。
【0022】
本発明によると、人間の基本動作をロボットの特性に合わせて進化させることによってロボットに最適化した動作を行うようにすることができる。
【0023】
また、本発明によると、進化した基本動作データベースに基づいてロボットがリアルタイムで動作を生成することができる。
【0024】
また、本発明によると、モーションキャプチャーデータのみあればこれを容易にロボットに適用することができるので、ロボットが人間の多様な動作を模倣及び再現することができる。
【発明を実施するための最良の形態】
【0025】
以下、添付した図面を参照して本発明の実施例について本発明が属する技術分野における通常の知識を有する者が容易に実施できるように詳しく説明する。しかし、本発明は多用で相異なる形態で実現することができ、ここで説明する実施例に限られない。さらに、図面で本発明を明確に説明するために説明と関係ない部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付けた。
【0026】
ロボットの動作は作業(task)と状態(condition)からなる。例えば、手をテーブル上のカップへ持っていく動作があるとすると、手をカップに持っていくことがこの動作が属した作業であり、テーブル上のカップの位置がこの動作の状態である。しかし、すべての位置のカップに手を持っていく動作をいちいち蓄積しておいて、これを活用することは物理的に不可能である。
【0027】
本発明の実施例では限定された数の動作のみを貯蔵し、1つ以上の関節角軌跡からなる動作を基本動作(movement primitive)と定義する。また、本発明の実施例では基本動作の補間(interpolation)を通じてカップの位置のような多様な動作状態に対するロボットの腕の動作を生成する。
【0028】
1つの基本動作が進化アルゴリズムにおける1つの個体(individual)となる。例えば、120Hzでサンプリングされた120秒長さを有する基本動作があるとすると、この個体の染色体形態(genotype)は14400行を有する実数ベクターである(14400=120秒×120Hz)。また、収集されて限定された数の基本動作が集団をなして両親個体として動作する。
【0029】
図1は本発明の実施例による主成分分析基盤の遺伝演算子を示す図面である。
【0030】
図1を参照すると、作業Tに属するn個の個体が両親個体をなしている。各個体をm1からmnと表示すると、各個体はそれぞれ自分の動作状態を有する。つまり、個体miの動作状態はciと表示される。
【0031】
もし、動作状態c3を有する動作が必要であれば、n個の両親個体の中で動作状態c3と最も近い動作状態を有する個体をk個選択する。これは動作状態の類似性を比較する適切な尺度(distance metric)を導入して解決することができる。
【0032】
例えば、カップが特定の位置に置かれている場合、この特定の位置へ手を持っていく腕の動作が必要である。この場合、カップの3次元位置ベクターを動作状態c3に定義することができ、動作状態の類似性を比較するために、次の式(21)の形態で距離尺度を使用する。
【数46】

このように選ばれたk個の動作個体を
【数47】

と表示する。1つの動作個体はいくつかの関節角からなる。例えば、7自由度を有するマニピュレータの動作を記述すると動作個体1つは7個の関節角軌跡で構成される。
【0033】
k個の動作個体
【数48】

から得られた最初(又は初期)自由度の関節角軌跡をそれぞれ
【数49】

と表示する。この場合、次の式(22)を通じて平均軌跡qmeanを得ることができる。
【数50】

一方、次の式(23)を通じて共分散行列Sが得られる。
【数51】

共分散行列Sから得られた固有ベクターと固有値をそれぞれ
【数52】

と
【数53】

と表示する。ここで、固有値は
【数54】

と整列された。
【0034】
固有ベクター
【数55】

を主成分とし、これら固有ベクターはそれぞれ関節角軌跡を示す。主成分分析の特性に応じてk個の主成分の中で支配的ないくつかの主成分のみを有して全関節角軌跡の特性を知ることができる。それは主成分分析は高次元のデータを低次源の空間に投影させて次元を減らす機能をするためである。
【0035】
結果的に、最初(初期)自由度の関節角
【数56】

から平均軌跡qmeanとk個の主成分軌跡
【数57】

を得ることができる。一方、このような過程を第2、第3などの関節に対する軌跡に対しても同一に適用し、各関節に対して平均軌跡と主成分軌跡を得ることができる。
【0036】
一方、任意のロボット動作は下記式(24)のように平均軌跡と主成分軌跡の線状結合で示すことができる。
【数58】

ここでq(t)は関節角軌跡、qmean(t)は平均関節角軌跡、
【数59】

はi番目主成分軌跡である。そしてxi(i=1、2、3、4、5)はスカラー係数である。
【0037】
一般に動作状態c3は開始時刻t0での関節角q0と関節角速度
【数60】

、そして終了時刻tfでの関節角qfと関節角速度
【数61】

で与えられる。
【0038】
一方、未知数xiは5個であるので、4個の境界条件を満足する未知数5個を決めるために次の式(25)、(26)を通じて最適化過程を行う。
【数62】

【数63】

ここで、
【数64】

は関節トルクである。この関節トルクは関節角q、関節角速度
【数65】

及び関節角加速度
【数66】

が決められると前記式(26)を通じて計算することができる。最小化しようとする目的関数である式(25)は与えられた関節軌跡を動かす時、ロボットが必要とするトルクの合計である。
【0039】
このような最適化過程を通じて最小のエネルギー(トルク)を必要としながら、与えられた動作状態c3を満足する動作個体、つまり、新たなm3を生成することができる。この過程を‘逆動力学基盤の最適化を通じた動作の再結合(Reconstituting motion via dynamics−based optimization)’と言う。
【0040】
新たに生成された子供個体m3は両親個体m3のような動作状態c3を持っている。しかし、子供個体m3は両親個体m3を含む複数固体の主成分を分解及び再結合して生成されたものであるので、両親個体のような動作軌跡を有しない。したがって、進化アルゴリズム内で2つの個体の優秀性を判断してさらに優れた個体が次代の両親集団に属する。このような過程がc0からcnまで適用されることによってn個の子供集団が生成される。
【0041】
一方、両親集団に属するmiと子供集団に属するmiの中でさらに優れた動作個体を次代の両親集団に選定するために適合度関数(fitness function)が必要であるが、これは次の式(27)で定義される。
【数67】

つまり、2つの動作個体の中でトルク(エネルギー)を少なく消費するものが次代の両親個体となる。
【0042】
式(27)は式(25)と同一である。つまり、遺伝演算子で使用された逆動力学基盤の最適化での目的関数と進化アルゴリズムで使用された目的関数が同一である。その理由は、遺伝演算子は局部的な最適化作用(local optimizer)をして進化アルゴリズムは全域的な最適化作用(global optimizer)をするように意図されたためである。つまり、局部的最適化と全域的最適化が同時に行われることによって、集団をなしている動作個体が次第に少ないトルクを必要とするエネルギー効率的な動作パターンへ進化して行くように意図されたものである。
【0043】
図2は本発明の実施例による遺伝演算子と適合度関数を利用して基本動作が進化する過程を概略的に示す図面である。
【0044】
まず、人間の動作を収集して1つの作業を行う反復動作で初期両親集団を選択する。これら反復動作は多様な動作条件を包括することに選定する。
【0045】
次に、初期両親集団から動作個体を抽出し、抽出された動作個体は主成分分析基盤の遺伝演算子を通じて子供集団を形成する。
【0046】
また、両親集団と子供集団の動作個体をそれぞれ比較してさらに優れた動作個体が次代の両親集団を形成し、劣等な動作個体は捨てる。この過程は遺伝演算子で使用された逆動力学基盤の最適化過程の計算量のために多くの時間がかかる。
【0047】
次に、このように形成された進化した基本動作を利用して、その時その時必要とする動作をロボットがリアルタイムで生成することができる。この過程もまた基本動作の主成分分析とその再結合からなる。つまり、ロボットが任意の動作状態ciを有する動作を生成しなければならないと、動作状態ciと類似の動作状態を有する動作を進化した基本動作データベースから抽出し、主成分分析を通じて平均軌跡と主成分軌跡を得る。ここまでの過程は主成分分析基盤の遺伝演算子と同一である。
【0048】
しかし、主成分分析基盤の遺伝演算子とは異なって、ここではロボットの動作を構成することにおいて次の式(28)のように平均軌跡と3つの主成分軌跡のみを使用する。
【数68】

ここでq(t)は関節角軌跡、qmean(t)は平均関節角軌跡、
【数69】

はi番目主成分軌跡である。そして、xi(i=1、2、3、4)はスカラー係数である。
【0049】
一般に動作状態c3は開始時刻t0での関節角q0と関節角速度
【数70】

、そして終了時刻tfでの関節角qfと関節角速度
【数71】

の4つに与えられる。
【0050】
しかし、主成分分析基盤の遺伝演算子とは異なって、ここでは未知数xiが4つであるために4つの境界条件を満足する未知数4つを決める過程は簡単な行列演算に過ぎないので、リアルタイムで動作を生成することができる。
【0051】
一方、二過程は境界での関節角及び関節角速度のみを考慮して動作を生成するので、‘機構学的補間を通じた動作の再結合(Reconstituting motion via kinematic interpolation)’と言う。
【0052】
本発明の実施例では基本動作に対する主成分分析と共に、逆動力学基盤の最適化を通じた動作の再結合方法と機構学的補間を通じた動作の再結合方法を使用する。
【0053】
しかし、逆動力学基盤の最適化を通じた動作の再結合方法を使用する場合、ロボットの物理的特性に最適化した動作を生成することができるという長所がある反面、最適化に時間が長くかかるためにロボットがリアルタイムで動作を生成できない短所がある。
【0054】
これに反し、機構学的補間を通じた動作の再結合方法は簡単な行列演算のみを経るためにリアルタイムで動作を生成することができるが、生成された動作はキャプチャーされた人間動作の数学的、そして機構学的補間に留まるので、ロボットに最適化されたことではない。
【0055】
図3は従来の方法と本発明の実施例による方法を比較するための図面である。従来の方法1と方法2は人間のモーションキャプチャーデータに直接主成分分析と動作再結合方法を適用する。
【0056】
これに反し、本発明の実施例による方法3は人間のモーションキャプチャーデータを進化させてロボットの物理的特性を反映させ、この進化した基本動作に基づいてリアルタイムでロボットが必要な動作を得る。
【0057】
以下、本発明のロボット動作制御方法による実験例及び比較例を記述する。しかし、本発明は以下の実験例または比較例に限定されることではない。
【0058】
(実験例)
図4Aは本実験例で使用された人間型ロボット‘マル’の外観を示す図面であり、図4Bは腰関節と右腕を含む7自由度のマニピュレータを概略的に示す図面である。
【0059】
投げられたボールをロボットが腕で取るためには、球の位置を追跡し、ボールを取る位置を予想しなければならない。また、ロボットが予想位置に腕を動かし、指でボールを取ることもしなければならない。しかし、本実験例ではロボットが人間のような自然な動作を生成するようにすることが目的であるので、残り能力は既に与えられていると仮定した。
【0060】
図5Aは実験者が自分に投げられたボールを取る前の姿を示す図面であり、図5B及び5Cは実験者が自分の正面及び肩の上側に投げられたボールを取る姿をそれぞれ示す図面である。また、図6A及び6Bは実験者がボールを受けた140個の地点を表示する正面図及び側面図である。
【0061】
実験者の頭とボディー近くの多様な地点にボールを投げ、全140個のボールを受ける実験者の動作をキャプチャーした。つまり、本実験例では140個の基本動作が初期両親世帯を構成した。
【0062】
動作状態ciは次の式(29)によって定義された。
【数72】

ここで、Riは実験者がボールを受けた瞬間の手の平の回転行列(rotation matrix)であり、piはその瞬間の手の平の位置ベクター(position vector)である。一方、この行列とベクターは全て実験者の腰に位置した基準座標系から見た時の値である。
【0063】
各動作状態の間の類似性を示す距離尺度として次の式(30)が定義された。
【数73】

ここで、Riとpiは動作状態ciに属し、Rjとpjは動作状態cjに属する。また、w1とw2はスカラー加重値であり、本実験例では1.0と0.5に定めた。
【0064】
図7Aと図7Bは基本動作に対する主成分分析の例を示す。つまり、図7Aは任意に選択した10個の基本動作の関節角軌跡を示す図面であり、図7Bは7Aに図示された基本動作から支配的な主成分4つを抽出してこれを示す図面である。
【0065】
本実験例では与えられた動作状態に最も近い20個の基本動作を選択して主成分を抽出し、この主成分を新たな動作を生成するのに使用した。
【0066】
図8Aは進化過程でさらに優れた子供個体で代替される両親個体の個数を示すグラフである。また、図8Bは各世帯での個体の適合度関数値の平均を示すグラフである。
【0067】
図8Aを参照すると、1世代から2世代に進化する時は140個の両親個体の中で38個の個体がさらに優れた子供個体で代替された。一方、代替される両親個体の個数は進化が進められることによって次第に減少したが、これは動作個体の最適化が一定の値で収斂するということを示す。
【0068】
図8Bを参照すると、適合度関数値の平均が1世代では560に至り、進化が行われた10世代では460以下に減った。
【0069】
一方、1世代から10世代まで進化させるのにかかった時間は2GBのRAMを有するペンティアム(登録商標)4コンピュータでほぼ9時間程度であった(以下、同一なコンピュータで遂行)。
【0070】
(比較例1)
図9A及び9Bはそれぞれ従来方法1及び本発明の実施例による方法3によって生成された動作の様相を示す正面図である。また、図9C及び9Dはそれぞれ従来方法1及び本発明の実施例による方法3によって生成された動作の様相を示す側面図である。また、図10は従来方法1と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【0071】
2つの動作とも基本的には人間のモーションキャプチャーデータを使用するために外観は人間の動作のように自然である。また、同一な動作条件を持って動作を生成したので、開始時点と終了時点での関節角及び関節角速度がそれぞれ同一である。
【0072】
しかし、開始時点から終了時点へ行く軌跡は同一な様相を示さないが、その効果は下記表1に示されている。
【表1】

【0073】
表1を参照すると、動作生成時間は2つの方法でほぼ同一であり、リアルタイムに近い短時間がかかるだけであった。これは2つの方法が活用する基本動作データが人間動作であるか進化した動作であるかの差にあり、動作を生成するアルゴリズムは同一であるためである。
【0074】
一方、適合度関数の値は方法3でさらに小さく示されるが、これは方法3によって生成された動作がより少ないトルクが所要される最適化した動作であり、エネルギー効率的であるという意味である。したがって、本発明の実施例による方法3で使用された進化した基本動作データベースが最適の動作生成に寄与したことを確認することができた。
【0075】
(比較例2)
図11A及び11Bはそれぞれ従来方法2及び本発明の実施例による方法3によって生成された動作の様相を示す正面図である。また、図11C及び11Dはそれぞれ従来方法2及び本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【0076】
また、図12は従来方法2と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【0077】
2つの動作もやはり基本的には人間のモーションキャプチャーデータを使用するために外観では人間の動作のように自然である。また、同一な動作条件を持って動作を生成したので、開始時点と終了時点での関節角及び関節角速度がそれぞれ同一である。
【0078】
一方、動作の生成時間と適合度関数の値には差があるが、これは次の表2に示されている。
【表2】

【0079】
表2を参照すると、従来方法2による場合、動作生成に11.32秒がかかり、本発明の実施例による方法3による場合には0.127秒しかかからなかったことが判る。
【0080】
従来方法2による場合、逆動力学基盤の最適化過程を経るために計算に長時間がかかった。これに反し、従来方法2による場合には適合度関数の値は348.7で、本発明の実施例による方法3による場合に比べて最適化した様相を示す。つまり、従来方法2によって生成されたロボット動作は最もエネルギー効率的で最適化し、人間の動作と類似しているが、動作生成に長い時間がかかるためにリアルタイム動作生成には不適であった。
【0081】
これに反し、本発明の実施例による方法3によって生成されたロボット動作は従来方法2によって生成されたことよりは最適化されていないが、迅速に動作を生成するという側面からリアルタイム動作生成に適した。
【0082】
(比較例3)
動作条件10個を有して方法1、2及び3全てを使用してそれぞれ動作を生成した。表3は生成されたそれぞれの動作10個を平均して、その性能を比較した結果を表3に示す。
【表3】

【0083】
表3を参照すると、従来方法1と本発明の実施例による方法3による場合、動作生成に非常に短い時間がかかるためにリアルタイム動作生成への適用が可能であった。
【0084】
一方、従来方法2による場合には適合度関数の値が最も小さいために最適化した動作が作られたが、動作生成に時間が長く所要されてリアルタイム動作生成に適用することは難しかった。
【0085】
要するに、本発明の実施例による方法3による場合、リアルタイムで動作を生成することができ、多くの時間が所要されて最適化させた動作と最適化側面でほぼ対等な性能を示した。
【0086】
以上、本発明の実施例について説明したが、本発明の権利範囲はこれに限定されず、特許請求の範囲と発明の詳細な説明及び添付した図面の範囲内で多様に変形して実施することが可能であり、これもまた本発明の範囲に属するのは当然のことである。
【図面の簡単な説明】
【0087】
【図1】本発明の実施例による主成分分析基盤の遺伝演算子を示す図である。
【図2】本発明の実施例による遺伝演算子と適合度関数を利用して基本動作が進化する過程を概略的に示す図である。
【図3】従来の方法と本発明の実施例による方法を比較するための図である。
【図4A】本実験例で使用された人間型ロボット‘マル’の外観を示す図である。
【図4B】腰関節と右腕を含む7自由度のマニピュレータを概略的に示す図である。
【図5A】実験者が自分に投げられたボールを取る前の姿を示す図である。
【図5B】実験者が自分の正面側に投げられたボールを取る姿を示す図である。
【図5C】実験者が自分の肩の上側で投げられたボールを取る姿を示す図である。
【図6A】実験者がボールを受けた140個の地点を表示する正面図である。
【図6B】実験者がボールを受けた140個の地点を表示する側面図である。
【図7A】任意に選択した10個の基本動作の関節角軌跡を示す図である。
【図7B】図7Aに示された基本動作から支配的な主成分4つを抽出してこれを示した図である。
【図8A】進化過程でさらに優れた子供個体で代替される両親個体の個数を示すグラフである。
【図8B】各世帯における個体の適合度関数値の平均を示すグラフである。
【図9A】従来方法1によって生成された動作の様相を示す正面図である。
【図9B】本発明の実施例による方法3によって生成された動作の様相を示す正面図である。
【図9C】従来方法1によって生成された動作の様相を示す側面図である。
【図9D】本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【図10】従来方法1と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【図11A】従来方法2によって生成された動作の様相を示す正面図である。
【図11B】本発明の実施例による方法3によって生成された動作の様相を示す正面図である。
【図11C】従来方法2によって生成された動作の様相を示す側面図である。
【図11D】本発明の実施例による方法3によって生成された動作の様相を示す側面図である。
【図12】従来方法2と本発明の実施例による方法3によって生成された動作の関節角をそれぞれ示す図面である。
【特許請求の範囲】
【請求項1】
ロボットの動作制御方法において、
(a)人間の動作パターンを収集してデータベースを構築する段階;
(b)主成分分析及び逆動力学に基づいた補間法を利用した遺伝演算子を利用して前記データベースを進化させる段階;及び
(c)前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むことを特徴とするロボットの動作制御方法。
【請求項2】
前記(a)段階は人間の動作をモーションキャプチャーする段階を含むことを特徴とする、請求項1に記載のロボットの動作制御方法。
【請求項3】
前記(b)段階は、
(b−1)ロボットが行う任意の動作と類似の動作状態を有する基本動作を前記データベースから1つ以上選択する段階;及び
(b−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことを特徴とする、請求項1に記載のロボットの動作制御方法。
【請求項4】
前記(b)段階は、
前記(b−1)段階と前記(b−2)段階を繰り返して行って前記データベースを進化させる段階を含むことを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項5】
前記(b−1)段階で、
前記任意の動作は、
【数1】

を前記任意の動作の関節角軌跡、
【数2】

を前記選択された基本動作の平均関節角軌跡、
【数3】

を前記選択した基本動作の関節角軌跡の中でi番目主成分軌跡、
【数4】

をスカラー係数とすると、
【数5】

という式(1)で示されることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項6】
前記任意の動作の動作状態は、
【数6】

を開始時間
【数7】

における関節角、
【数8】

を開始時間
【数9】

における関節角速度、
【数10】

を終了時間
【数11】

における関節角、
【数12】

を終了時間
【数13】

における関節角速度とすると、
【数14】

という式(2)に示す境界条件を満足することを特徴とする請求項5に記載のロボットの動作制御方法。
【請求項7】
前記(b−2)段階で、
前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数15】

を、kを選択した基本動作の数とし、
【数16】

をi番目基本動作の関節角軌跡とすると、
次の式(3)によって計算し、
【数17】

さらに、次の式(4)を通じて共分散行列(S)を計算し、
【数18】

この共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項8】
前記(b−2)段階で、
【数19】

を前記選択された基本動作の関節角、
【数20】

を前記選択された基本動作の関節角速度、
【数21】

を前記選択された基本動作の関節角加速度、
【数22】

を質量マトリックス、
【数23】

をコリオリベクターとし、
【数24】

が重力及びその他の力を含むとき、次の式(5)を通じて前記選択された基本動作の関節トルク
【数25】

を決め、
【数26】

前記決められた関節トルクが、次の式(6)を最小にすると、
【数27】

前記選択された基本動作を前記最適動作に決めることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項9】
前記(c)段階は、
主成分分析及び機構学的補間を通じた動作の再結合方法を利用することを特徴とする請求項1に記載のロボットの動作制御方法。
【請求項10】
前記(c)段階は、
(c−1)ロボットが生成する動作と類似の動作状態を有する基本動作を前記進化したデータベースから1つ以上選択する段階;及び
(c−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことを特徴とする、請求項9に記載のロボットの動作制御方法。
【請求項11】
前記(c−1)段階で、
前記ロボットが生成する動作は、
【数28】

を前記ロボットが生成する動作の関節角軌跡、
【数29】

を前記選択された基本動作の平均関節角軌跡、
【数30】

を前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数31】

をスカラー係数とすると、
【数32】

という式(7)で示すことができることを特徴とする、請求項10に記載のロボットの動作制御方法。
【請求項12】
前記ロボットが生成する動作の動作状態は、
【数33】

を開始時間
【数34】

における関節角、
【数35】

を開始時間
【数36】

における関節角速度、
【数37】

を終了時間
【数38】

における関節角、
【数39】

を終了時間
【数40】

における関節角速度とすると、
【数41】

という式(8)で示す境界条件を満足することを特徴とする、請求項11に記載のロボットの動作制御方法。
【請求項13】
前記(c−2)段階で、
前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数42】

は、kを選択した基本動作の数とし、
【数43】

をi番目基本動作の関節角軌跡とするときに、
次の式(9)によって計算され、
【数44】

さらに、次の式(10)を通じて共分散行列(S)を計算し、
【数45】

前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることを特徴とする、請求項10に記載のロボットの動作制御方法。
【請求項1】
ロボットの動作制御方法において、
(a)人間の動作パターンを収集してデータベースを構築する段階;
(b)主成分分析及び逆動力学に基づいた補間法を利用した遺伝演算子を利用して前記データベースを進化させる段階;及び
(c)前記進化したデータベースを利用してリアルタイムでロボットの動作を生成する段階を含むことを特徴とするロボットの動作制御方法。
【請求項2】
前記(a)段階は人間の動作をモーションキャプチャーする段階を含むことを特徴とする、請求項1に記載のロボットの動作制御方法。
【請求項3】
前記(b)段階は、
(b−1)ロボットが行う任意の動作と類似の動作状態を有する基本動作を前記データベースから1つ以上選択する段階;及び
(b−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことを特徴とする、請求項1に記載のロボットの動作制御方法。
【請求項4】
前記(b)段階は、
前記(b−1)段階と前記(b−2)段階を繰り返して行って前記データベースを進化させる段階を含むことを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項5】
前記(b−1)段階で、
前記任意の動作は、
【数1】

を前記任意の動作の関節角軌跡、
【数2】

を前記選択された基本動作の平均関節角軌跡、
【数3】

を前記選択した基本動作の関節角軌跡の中でi番目主成分軌跡、
【数4】

をスカラー係数とすると、
【数5】

という式(1)で示されることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項6】
前記任意の動作の動作状態は、
【数6】

を開始時間
【数7】

における関節角、
【数8】

を開始時間
【数9】

における関節角速度、
【数10】

を終了時間
【数11】

における関節角、
【数12】

を終了時間
【数13】

における関節角速度とすると、
【数14】

という式(2)に示す境界条件を満足することを特徴とする請求項5に記載のロボットの動作制御方法。
【請求項7】
前記(b−2)段階で、
前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数15】

を、kを選択した基本動作の数とし、
【数16】

をi番目基本動作の関節角軌跡とすると、
次の式(3)によって計算し、
【数17】

さらに、次の式(4)を通じて共分散行列(S)を計算し、
【数18】

この共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項8】
前記(b−2)段階で、
【数19】

を前記選択された基本動作の関節角、
【数20】

を前記選択された基本動作の関節角速度、
【数21】

を前記選択された基本動作の関節角加速度、
【数22】

を質量マトリックス、
【数23】

をコリオリベクターとし、
【数24】

が重力及びその他の力を含むとき、次の式(5)を通じて前記選択された基本動作の関節トルク
【数25】

を決め、
【数26】

前記決められた関節トルクが、次の式(6)を最小にすると、
【数27】

前記選択された基本動作を前記最適動作に決めることを特徴とする、請求項3に記載のロボットの動作制御方法。
【請求項9】
前記(c)段階は、
主成分分析及び機構学的補間を通じた動作の再結合方法を利用することを特徴とする請求項1に記載のロボットの動作制御方法。
【請求項10】
前記(c)段階は、
(c−1)ロボットが生成する動作と類似の動作状態を有する基本動作を前記進化したデータベースから1つ以上選択する段階;及び
(c−2)主成分分析による主成分抽出及び前記主成分の結合を通じて最適動作を新たに生成することによって、前記選択された基本動作を再加工する段階を含むことを特徴とする、請求項9に記載のロボットの動作制御方法。
【請求項11】
前記(c−1)段階で、
前記ロボットが生成する動作は、
【数28】

を前記ロボットが生成する動作の関節角軌跡、
【数29】

を前記選択された基本動作の平均関節角軌跡、
【数30】

を前記選択された基本動作の関節角軌跡の中でi番目主成分軌跡、
【数31】

をスカラー係数とすると、
【数32】

という式(7)で示すことができることを特徴とする、請求項10に記載のロボットの動作制御方法。
【請求項12】
前記ロボットが生成する動作の動作状態は、
【数33】

を開始時間
【数34】

における関節角、
【数35】

を開始時間
【数36】

における関節角速度、
【数37】

を終了時間
【数38】

における関節角、
【数39】

を終了時間
【数40】

における関節角速度とすると、
【数41】

という式(8)で示す境界条件を満足することを特徴とする、請求項11に記載のロボットの動作制御方法。
【請求項13】
前記(c−2)段階で、
前記選択された基本動作が1つ以上の関節角軌跡を含む時、前記関節角軌跡の平均軌跡
【数42】

は、kを選択した基本動作の数とし、
【数43】

をi番目基本動作の関節角軌跡とするときに、
次の式(9)によって計算され、
【数44】

さらに、次の式(10)を通じて共分散行列(S)を計算し、
【数45】

前記共分散行列から固有ベクターを得て、前記固有ベクターの中で前記関節角軌跡の主成分軌跡を得ることを特徴とする、請求項10に記載のロボットの動作制御方法。
【図1】


【図2】


【図3】


【図4B】


【図7A】


【図7B】


【図8A】


【図8B】


【図10】


【図12】


【図4A】


【図5A】


【図5B】


【図5C】


【図6A】


【図6B】


【図9A】


【図9B】


【図9C】


【図9D】


【図11A】


【図11B】


【図11C】


【図11D】




【図2】


【図3】


【図4B】


【図7A】


【図7B】


【図8A】


【図8B】


【図10】


【図12】


【図4A】


【図5A】


【図5B】


【図5C】


【図6A】


【図6B】


【図9A】


【図9B】


【図9C】


【図9D】


【図11A】


【図11B】


【図11C】


【図11D】


【公開番号】特開2010−58260(P2010−58260A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−302457(P2008−302457)
【出願日】平成20年11月27日(2008.11.27)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 〔研究集会名〕 2008年度IEEE(電気電子学会)計算機知能に関する世界大会〔主催者名〕 IEEE(電気電子学会)〔開催日〕 平成20年6月1日〜6日
【出願人】(591074116)韓国科学技術研究院 (17)
【氏名又は名称原語表記】KOREA INSTITUTE OF SCIENCE AND TECNOLOGY
【住所又は居所原語表記】39−1 Hawolgok−dong,Seongbuk−gu,Seoul 136−791KOREA
【Fターム(参考)】
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願日】平成20年11月27日(2008.11.27)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 〔研究集会名〕 2008年度IEEE(電気電子学会)計算機知能に関する世界大会〔主催者名〕 IEEE(電気電子学会)〔開催日〕 平成20年6月1日〜6日
【出願人】(591074116)韓国科学技術研究院 (17)
【氏名又は名称原語表記】KOREA INSTITUTE OF SCIENCE AND TECNOLOGY
【住所又は居所原語表記】39−1 Hawolgok−dong,Seongbuk−gu,Seoul 136−791KOREA
【Fターム(参考)】
[ Back to top ]