(57)【要約】【課題】人工多脚動物を提供する。【解決手段】本発明の人工多脚動物は、シミュレーションであるか具現化されるかを問わず、重力の影響下で自然にスイングする下脚部分を備えている。上脚部分は、矢状方向にアクティブに駆動される。アクチュエータを駆動するために必要な入力は、ニューラルネットワークコントローラから得られる。ニューラルネットワークコントローラは、２つの双方向結合された神経振動子のチェーンとして構成され、その数は、駆動されるべき脚の数の２倍に等しい。コントローラのパラメータの最適化は、遺伝的アルゴリズムの形態で進化的計算により実現される。
2004531400.tif 000002
【特許請求の範囲】
【請求項１】
人工多脚動物であって、
胴体と、
胴体から伸びる少なくとも２本の脚と、ここで各脚は、少なくとも第１の上脚部分と、相対的に下方の部分であって前記第１の上脚部分の回りを軸回転可能な第２の下脚部分を有し、
それぞれが、１つの脚の上脚部分を胴体に連結する複数の股関節部と、
股関節部の回りを各脚の上脚部分を弧状に動かすように構成されるアクチュエータと、
各上脚部分が前記弧状に動かされるときに、この上脚部分の運動の少なくとも一部にわたって、対応する下脚部分が実質的に自由に揺動する動きを示すように、前記アクチュエータの動きを制御するニューラルコントローラと、
を備えることを特徴とする人工多脚動物。
【請求項２】
各脚の第２の相対的に下方の下脚部分は、その脚の対応する第１の上脚部分の回りを自由に軸回転することができ、各脚の下脚部分は駆動されずに、上脚部分の運動の少なくとも一部にわたって、実質的に自由に揺動することを特徴とする請求項１に記載の人工多脚動物。
【請求項３】
アクチュエータは、ニューラルコントローラからの出力を受け取り、それに応答してトルクを生成することを特徴とする請求項１または２に記載の人工多脚動物。
【請求項４】
アクチュエータは、力制限されたアクチュエータであることを特徴とする請求項３に記載の人工多脚動物。
【請求項５】
アクチュエータが、時間Ｔで各脚の上脚部分に印加されるトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例微分アクチュエータであることを特徴とする請求項３に記載の人工多脚動物。
【請求項６】
アクチュエータが、時間Ｔで各脚の上脚部分に印加されるトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例積分微分アクチュエータであることを特徴とする請求項３に記載の人工多脚動物。
【請求項７】
各脚の上脚部分に印加されるトルクは、以下の式により角度に関連づけられており、
【数１】
2004531400.tif 000008
ここで、ｋp、ｋD、およびｋIは、それぞれ比例係数、微分係数、積分係数であり、ｔは時間であり、ΓＴは時間Ｔのトルクであり、θｄは、胴体に対する各脚の上脚部分の所望の角度であることを特徴とする請求項６に記載の人工多脚動物。
【請求項８】
アクチュエータは、力制限された速度制約（ＦＬＶＣ）アクチュエータであって、生成されるトルクは、胴体に対する第１の脚の上脚部分の所望の運動速度の関数であり、所望の運動速度は、第１の脚の上脚部分と胴体の間の、実際の角度と所望の角度の差に関連付けられており、所望の相対的な角度は、ニューラルコントローラより得られることを特徴とする請求項３に記載の人工多脚動物。
【請求項９】
股関節部を駆動して、上脚部分を動かすように構成される少なくとも１つのアクチュエータを脚ごとに備えることを特徴とする請求項１から８のいずれかに記載の人工多脚動物。
【請求項１０】
各脚は、上脚部分に関連付けられる単一のアクチュエータを備えることを特徴とする請求項９に記載の人工多脚動物。
【請求項１１】
各股関節部は１自由度のみを有し、対応する上脚部分が運動を矢状方向のみに制約されることを特徴とする請求項１から１０のいずれかに記載の人工多脚動物。
【請求項１２】
各下脚部分は、上脚部分の回りを自由に軸回転し、上脚部分と下脚部分の間の角度は、使用時に制限されることを特徴とする請求項１から１１のいずれかに記載の人工多脚動物。
【請求項１３】
減衰トーションばねとして作用するくるぶし関節部により、対応する脚の下脚部分の端部にそれぞれ結合される複数の足を備えることを特徴とする請求項１から１２のいずれかに記載の人工多脚動物。
【請求項１４】
ニューラルコントローラが、複数のニューロンを有するニューラルネットワークを備え、少なくとも２つのニューロンが、アクチュエータの動きを制御するようにそれぞれ構成されるモータニューロンとして機能し、脚による胴体のロコモーションを生じさせることを特徴とする請求項１から１３のいずれかに記載の人工多脚動物。
【請求項１５】
ニューラルネットワークが、２つの双方向結合された同一の振動子のチェーンとして機能するように構成されることを特徴とする請求項１４に記載の人工多脚動物。
【請求項１６】
ニューラルネットワークは、２つの双方向結合された同一の振動子のペアとして機能するように構成されることを特徴とする請求項１５に記載の人工多脚動物。
【請求項１７】
前記チェーンにおける各振動子は、複数のノードを有するリカレントニューラルネットワーク（ＲＮＮ）として具体化されることを特徴とする請求項１４から１６のいずれかに記載の人工多脚動物。
【請求項１８】
各ＲＮＮは、６つのノードを有することを特徴とする請求項１７に記載の人工多脚動物。
【請求項１９】
チェーンの１つにおける各ＲＮＮ振動子は、対称重みにより別のチェーンにおける横方向に隣接するＲＮＮ振動子と接続されて、それらの間の双方向結合を実現し、各ＲＮＮ振動子における各ニューロンは、横方向に隣接するＲＮＮ振動子における同等のニューロンとシナプスを形成するように構成されることを特徴とする請求項１７または１８に記載の人工多脚動物。
【請求項２０】
チェーンの１つにおける各ＲＮＮ振動子内の各ニューロンは、同一のチェーンにおける隣のＲＮＮ振動子内の対応するニューロンと、非対称的にすなわち一方向的に接続されることを特徴とする請求項１９に記載の人工多脚動物。
【請求項２１】
コントローラ内のＲＮＮの特性は、遺伝的アルゴリズムにより進化されることを特徴とする請求項１４から２０のいずれかに記載の人工多脚動物。
【請求項２２】
２本の脚と２つの腰部を備え、多脚動物は二脚動物であることを特徴とする請求項１から２１のいずれかに記載の人工多脚動物。
【請求項２３】
人工二脚動物のためのコントローラであって、
人工二脚動物は、胴体から伸びて、アクチュエータによる駆動を可能とする２本の脚を備え、
コントローラは、複数のニューロンを有するニューラルネットワークを備え、少なくとも２つのニューロンが、アクチュエータの動きを制御するように構成されるモータニューロンとして機能し、脚による胴体のロコモーションを生じさせることを特徴とするコントローラ。
【請求項２４】
ニューラルネットワークは、２つの双方向結合された同一の振動子のペアとして機能するように構成されることを特徴とする請求項２３に記載のコントローラ。
【請求項２５】
チェーンにおける各振動子は、複数のノードを有するリカレントニューラルネットワーク（ＲＮＮ）として具体化されることを特徴とする請求項２３または２４に記載のコントローラ。
【請求項２６】
各ＲＮＮは、６つのノードを有することを特徴とする請求項２５に記載のコントローラ。
【請求項２７】
チェーンの１つにおける各ＲＮＮ振動子は、対称重みにより別のチェーンにおける横方向に隣接するＲＮＮ振動子と接続されて、それらの間の双方向結合を実現し、各ＲＮＮ振動子における各ニューロンは、横方向に隣接するＲＮＮ振動子における同等のニューロンとシナプスを形成するように構成されることを特徴とする請求項２５または２６に記載のコントローラ。
【請求項２８】
チェーンの１つにおける各ＲＮＮ振動子内の各ニューロンは、同一のチェーンにおける隣のＲＮＮ振動子内の対応するニューロンと、非対称的にすなわち一方向的に接続されることを特徴とする請求項２７に記載のコントローラ。
【請求項２９】
コントローラ内のＲＮＮの特性は、遺伝的アルゴリズムにより進化されることを特徴とする請求項２３から２８のいずれかに記載のコントローラ。
【請求項３０】
胴体から伸びて、アクチュエータによる駆動を可能とする２本の脚を備える人工二脚動物であって、請求項２３から２９のいずれかに記載のコントローラを備えることを特徴とする人工二脚動物。
【請求項３１】
人工二脚動物であって、
胴体と、
胴体から伸びる２本の脚と、ここで各脚は、第１の上脚部分と、下方の部分であって前記第１の上脚部分の回りを自由に軸回転可能な第２の下脚部分を有し、
それぞれが、１つの脚の上脚部分を胴体に連結する２つの股関節部と、
少なくとも２つがモータニューロンとして機能する複数のニューロンを有するニューラルネットワークとして実現される、２つの双方向結合された同一の振動子のペアを備えたコントローラと、
股関節部の回りを各脚の上脚部分を弧状に動かすように構成された力制限された速度制約アクチュエータとを備え、
このアクチュエータにおいて、２本の脚のそれぞれの上脚部分に印加されるトルクΓＴは、胴体に対する各脚の上脚部分の所望の運動速度の関数であり、所望の運動速度は、各上脚部分と胴体の間の、実際の角度と所望の角度の差に関連付けられており、所望の相対的な角度はニューラルコントローラより得られ、このコントローラは、アクチュエータの動きを制御するように構成されて、各上脚部分が弧状に動かされるときに、この上脚部分の運動の少なくとも一部にわたって、対応する下脚部分が実質的に自由に揺動する動きを示すことを特徴とする人工二脚動物。
【請求項３２】
処理手段を備えたコンピュータシステムであって、この処理手段が、
（i）視覚的表示ユニット上に、胴体と、胴体から伸びる少なくとも２本の脚をもつ多脚動物の画像を生成し、各脚は、少なくとも第１の上脚部分と、相対的に下方となる第２の下脚部分とを有しており、
（ii）任意の時間に多脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにし、
（iii）各上脚部分の画像が胴体の回りで軸回転するようにし、
（iv）それぞれの脚の上脚部分の画像が、シミュレートしたアクチュエータにより前記胴体に対して弧状に動くようにし、
（v）相対的に下側となる下脚部分の画像を、それぞれの上脚部分に対して実質的に自由に揺動して動くようにし、
（vi）複数のニューロンをもつニューラルネットワークを提供して、ニューラルネットワークの出力がそれぞれの上脚部分のアクチュエータの動きを制御し、多脚動物の画像が歩くように見せる、
ことを特徴とするコンピュータシステム。
【請求項３３】
処理手段が、ニューラルネットワークからの出力に応答して、シミュレートしたニュートン力の影響下で、各脚の上脚部分の画像を動かすのに必要とされる、時間ＴにおけるシミュレートトルクΓＴを計算することにより、アクチュエータをシミュレートするように構成されていることを特徴とする請求項３２に記載のコンピュータシステム。
【請求項３４】
アクチュエータが、各脚の上脚部分に印加されるシミュレートトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例微分アクチュエータであることを特徴とする請求項３３に記載のコンピュータシステム。
【請求項３５】
アクチュエータが、各脚の上脚部分に印加されるシミュレートトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例積分微分アクチュエータであることを特徴とする請求項３３に記載のコンピュータシステム。
【請求項３６】
時間ＴでのトルクΓＴは、以下の式にしたがって角度θに関連づけられており、
【数２】
2004531400.tif 000009
ここで、ｋp、ｋD、およびｋIは、それぞれ比例係数、微分係数、積分係数であり、ｔは時間であることを特徴とする請求項３５に記載のコンピュータシステム。
【請求項３７】
処理手段は、アクチュエータを、力制限された速度制約アクチュエータとしてシミュレートし、
２本の脚のそれぞれの上脚部分に印加されるトルクΓＴは、胴体に対する脚の上脚部分の所望の運動速度の関数であり、所望の運動速度は、上脚部分と胴体の間の、実際の角度と所望の角度の差に関連付けられており、所望の相対的な角度は、ニューラルコントローラより得られることを特徴とする請求項３２に記載のコンピュータシステム。
【請求項３８】
処理手段は、各脚に対してシミュレートした股関節部を生成し、脚の上脚部分を胴体にリンクさせ、脚ごとに少なくとも１つのアクチュエータをシミュレートするように構成され、
各アクチュエータは、股関節部に作用して、対応する上脚部分の画像を動かすことを特徴とする請求項３２から３７のいずれかに記載のコンピュータシステム。
【請求項３９】
処理手段は、脚ごとに１つのアクチュエータをシミュレートすることを特徴とする請求項３８に記載のコンピュータシステム。
【請求項４０】
処理手段は、シミュレートした股関節部が１自由度のみをもつように制約し、対応する上脚部分の画像が矢状方向のみに動くように制約されることを特徴とする請求項３８または３９に記載のコンピュータシステム。
【請求項４１】
処理手段は、複数の足の画像を生成し、各足は、くるぶし関節部により、対応する足の下脚部分の画像の端部に接続するように見え、
処理手段は、減衰トーションばねの動作をシミュレートして、各くるぶし関節部の動きを制御することを特徴とする請求項３２から４０のいずれかに記載のコンピュータシステム。
【請求項４２】
処理手段は、各脚における上脚部分の画像と下脚部分の画像の間の角度を制限することを特徴とする請求項３２から４１のいずれかに記載のコンピュータシステム。
【請求項４３】
ニューラルネットワークのニューロンが、リカレントニューラルネットワーク（ＲＮＮ）として構成され、２つの双方向結合された同一の振動子のチェーンを形成し、少なくとも２つのニューロンがモータニューロンとして機能し、その出力は各脚の上脚部分に関連するアクチュエータを制御することを特徴とする請求項３２から４２のいずれかに記載のコンピュータシステム。
【請求項４４】
ＲＮＮは複数のニューロンを備えて、２つの双方向結合された同一の振動子のペアを形成することを特徴とする請求項４３に記載のコンピュータシステム。
【請求項４５】
ＲＮＮは、振動子ごとに１つのリカレントサブネットを備え、それぞれは６つのノードを有することを特徴とする請求項４４に記載のコンピュータシステム。
【請求項４６】
チェーンの１つにおける各リカレントサブネットは、対称重みにより別のチェーンにおける横方向に隣接するリカレントサブネットと接続されて、それらの間の双方向結合を実現し、各リカレントサブネットにおける各ニューロンは、横方向に隣接するリカレントサブネットにおける同等のニューロンとシナプスを形成するように構成されることを特徴とする請求項４５に記載のコンピュータシステム。
【請求項４７】
チェーンの１つにおける各リカレントサブネット内の各ニューロンは、同一のチェーンにおける隣のリカレントサブネット内の対応するニューロンと、非対称的にすなわち一方向的に接続されることを特徴とする請求項４６に記載のコンピュータシステム。
【請求項４８】
処理手段は、遺伝的アルゴリズムに基づいて、ニューロンの特性、およびニューラルネットワーク内のニューロン間の接続を決定するように構成されることを特徴とする請求項３２から４７のいずれかに記載のコンピュータシステム。
【請求項４９】
処理手段は、遺伝的アルゴリズムに基づいて前記特性を決定し、
前記特性は、多脚動物の画像における最後尾の脚の下脚部分の端部が起点から最大距離を移動したかという評価基準にしたがって、複数の異なる特性値のアレイから最適な特性値のアレイを同定することで最適化されることを特徴とする請求項４８に記載のコンピュータシステム。
【請求項５０】
処理手段は、ポイントアトラクタが到達されて、多脚動物の画像の起点から離れる方向への動きが停止されることが決定された場合、特性値のアレイの任意の１つの考察を中止するように構成されていることを特徴とする請求項４９に記載のコンピュータシステム。
【請求項５１】
処理手段は、多脚動物の胴体の質量中心が、作用するニュートン力のシミュレーションにより計算されて、所定の高さよりも下がることが決定されると、特性値のアレイの特定の１つの考察を中止するように構成されていることを特徴とする請求項４９または５０に記載のコンピュータシステム。
【請求項５２】
処理手段は、二脚動物の画像を生成することを特徴とする請求項３２から５１のいずれかに記載のシミュレーションシステム。
【請求項５３】
二脚動物のコンピュータ生成画像のためのコントローラであって、
画像は、胴体から伸びる２本の脚を備え、各脚はコンピュータシミュレートされたアクチュエータによって駆動され、
コントローラは、複数のニューロンを有するニューラルネットワークを備え、ニューラルネットワークの出力は、コンピュータシミュレートされるアクチュエータを制御し、脚の画像が動かされると、胴体の画像が動かされることを特徴とするコントローラ。
【請求項５４】
ニューラルネットワークは、２つの双方向結合された同一の振動子のペアとして機能するように構成されることを特徴とする請求項５３に記載のコントローラ。
【請求項５５】
チェーンにおける各振動子は、複数のノードを有するリカレントニューラルネットワーク（ＲＮＮ）として具体化されることを特徴とする請求項５３または５４に記載のコントローラ。
【請求項５６】
各ＲＮＮは、６つのノードを有することを特徴とする請求項５５に記載のコントローラ。
【請求項５７】
チェーンの１つにおける各ＲＮＮ振動子は、対称重みにより別のチェーンにおける横方向に隣接するＲＮＮ振動子と接続されて、それらの間の双方向結合を実現し、各ＲＮＮ振動子における各ニューロンは、横方向に隣接するＲＮＮ振動子における同等のニューロンとシナプスを形成するように構成されることを特徴とする請求項５５または５６に記載のコントローラ。
【請求項５８】
チェーンの１つにおける各ＲＮＮ振動子内の各ニューロンは、同一のチェーンにおける隣のＲＮＮ振動子内の対応するニューロンと、非対称的にすなわち一方向的に接続されることを特徴とする請求項５７に記載のコントローラ。
【請求項５９】
コントローラ内のＲＮＮの特性は、遺伝的アルゴリズムにより進化されることを特徴とする請求項５３から５８のいずれかに記載のコントローラ。
【請求項６０】
前記特性は遺伝的アルゴリズムに基づいて決定され、
前記特性は、多脚デバイスの画像における最後尾の脚の下脚部分の端部が起点から最大距離を移動したかという評価基準にしたがって、複数の異なる特性値のアレイから最適な特性値のアレイを同定することで最適化されることを特徴とする請求項５９に記載のコントローラ。
【請求項６１】
処理手段を備えたコンピュータシステムであって、この処理手段が、
（i）視覚的表示ユニット上に、胴体と、胴体から伸びる脚をもつ二脚動物の画像を生成し、各脚は、少なくとも第１の上脚部分と、相対的に下方となる第２の下脚部分とを有しており、
（ii）任意の時間に二脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにし、
（iii）各上脚部分の画像が胴体の回りで軸回転するようにし、
（iv）２つの双方向結合された同一の振動子のペアとして機能するように共に構成された複数のニューロンを有するニューラルネットワークを提供し、
（v）２本の脚のそれぞれの上脚部分の画像が胴体に対して、力制限された速度制約アクチュエータにより弧状に動かされるようにし、アクチュエータは処理手段によりシミュレートされて、シミュレートしたニュートン力の影響下で、胴体に対する各脚の上脚部分の所望の運動速度の関数として、各脚の上脚部分の画像を動かすのに必要とされる時間ＴのシミュレートトルクΓＴを計算し、ここで所望の運動速度は、各上脚部分と胴体の間の、実際の角度と所望の角度の差に関連付けられており、所望の相対的な角度は、ニューラルコントローラより得られ、
（vi）上脚部分が弧状に動くと、上脚部分に対して、下脚部分の画像が実質的に自由に揺動して動くように示し、
脚の画像が動かされると、胴体の画像が動かされるように、ニューラルネットワークの出力が、シミュレートされるアクチュエータを制御することを特徴とするコンピュータシステム。
【請求項６２】
プログラム要素を備え、デジタルコンピュータ上に以下の処理機能を実行させるコンピュータプログラムであって、その機能は、
（i）視覚的表示ユニット上に、胴体と、胴体から伸びる少なくとも２本の脚をもつ多脚動物の画像を生成する機能と、ここで各脚は、少なくとも第１の上脚部分と、相対的に下方となる第２の下脚部分とを有しており、
（ii）任意の時間に多脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにする機能と、
（iii）各上脚部分の画像が胴体の回りで軸回転するようにする機能と、
（iv）２つの双方向結合された同一の振動子のペアとして機能するように共に構成された複数のニューロンを有するニューラルネットワークを提供する機能と、
（v）それぞれの２本の脚の上脚部分の画像が、アクチュエータにより前記胴体に対して弧状に動くようにする機能と、
（vi）上脚部分が弧状に動くと、上脚部分に対して、下脚部分の画像が実質的に自由に揺動して動くように示す機能とを備え、
脚の画像が動かされると、胴体の画像が動かされるように、ニューラルネットワークの出力が、シミュレートされるアクチュエータを制御することを特徴とするコンピュータプログラム。
【請求項６３】
ニューラルネットワークからの出力に応答して、シミュレートしたニュートン力の影響下で、各脚の上脚部分の画像を動かすのに必要とされるシミュレートトルクΓＴを計算することにより、アクチュエータをシミュレートする機能をさらに備えたことを特徴とする請求項６２に記載のコンピュータプログラム。
【請求項６４】
アクチュエータが、時間Ｔで各脚の上脚部分に印加されるシミュレートトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例微分アクチュエータであることを特徴とする請求項６３に記載のコンピュータプログラム。
【請求項６５】
アクチュエータが、時間Ｔで各脚の上脚部分に印加されるシミュレートトルクΓＴが別のボディ部分に対する各脚の上脚部分の角度θの関数である比例積分微分アクチュエータであることを特徴とする請求項６４に記載のコンピュータプログラム。
【請求項６６】
トルクΓＴは、以下の式により角度θに関連づけられており、
【数３】
2004531400.tif 000010
ここで、ｋp、ｋD、およびｋIは、それぞれ比例係数、微分係数、積分係数であり、ｔは時間であることを特徴とする請求項６５に記載のコンピュータプログラム。
【請求項６７】
アクチュエータは、力制限された速度制約アクチュエータとしてシミュレートされ、２本の脚のそれぞれの上脚部分に印加される時間ＴにおけるトルクΓＴは、胴体に対する脚の上脚部分の所望の運動速度の関数であり、所望の運動速度は、上脚部分と胴体の間の、実際の角度と所望の角度の差に関連付けられており、所望の相対的な角度は、ニューラルコントローラより得られることを特徴とする請求項６３に記載のコンピュータプログラム。
【請求項６８】
処理手段は、各脚に対してシミュレートした股関節部を生成させ、任意の脚の上脚部分を胴体にリンクさせ、脚ごとに少なくとも１つのアクチュエータをシミュレートし、
各アクチュエータは、股関節部に作用して、対応する上脚部分の画像を動かすようにすることを特徴とする請求項６３から６７のいずれかに記載のコンピュータプログラム。
【請求項６９】
各脚ごとに単一のアクチュエータをシミュレートさせる機能を備えたことを特徴とする請求項６８に記載のコンピュータプログラム。
【請求項７０】
シミュレートされた股関節部は１自由度のみを有するように制約され、対応する上脚部分の画像が矢状方向のみに運動するように制約されることを特徴とする請求項６９に記載のコンピュータプログラム。
【請求項７１】
複数の足の画像を生成して、各足が、くるぶし関節部により、対応する足の下脚部分の画像の端部に接続するように見せる機能をさらに備え、
減衰トーションばねの動作がシミュレートされて、各くるぶし関節部の動きが制御されることを特徴とする請求項６２から７０のいずれかに記載のコンピュータプログラム。
【請求項７２】
上脚部分の画像と下脚部分の画像の間の角度は、制限されることを特徴とする請求項６２から７１のいずれかに記載のコンピュータプログラム。
【請求項７３】
ニューラルネットワークのニューロンが、リカレントニューラルネットワーク（ＲＮＮ）として構成され、２つの双方向結合された同一の振動子のチェーンを形成し、少なくとも２つのニューロンがモータニューロンとして機能し、その出力は各脚の上脚部分に関連するアクチュエータを制御することを特徴とする請求項６２から７２のいずれかに記載のコンピュータプログラム。
【請求項７４】
ＲＮＮは複数のニューロンを備えて、２つの双方向結合された同一の振動子のペアを形成することを特徴とする請求項７３に記載のコンピュータプログラム。
【請求項７５】
ＲＮＮは、振動子ごとに１つのリカレントサブネットを備え、それぞれは６つのノードを有することを特徴とする請求項７４に記載のコンピュータプログラム。
【請求項７６】
チェーンの１つにおける各リカレントサブネットは、対称重みにより別のチェーンにおける横方向に隣接するリカレントサブネットと接続されて、それらの間の双方向結合を実現し、各リカレントサブネットにおける各ニューロンは、横方向に隣接するリカレントサブネットにおける同等のニューロンとシナプスを形成するように構成されることを特徴とする請求項７５に記載のコンピュータプログラム。
【請求項７７】
チェーンの１つにおける各リカレントサブネット内の各ニューロンは、同一のチェーンにおける隣のリカレントサブネット内の対応するニューロンと、非対称的にすなわち一方向的に接続されることを特徴とする請求項７５に記載のコンピュータプログラム。
【請求項７８】
実行時に、遺伝的アルゴリズムに基づいて、ニューロンの特性、およびニューラルネットワーク内のニューロン間の接続を決定する機能をさらに備えることを特徴とする請求項６２から７７のいずれかに記載のコンピュータプログラム。
【請求項７９】
請求項６２から７８までのいずれかに記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項８０】
請求項６２から７８までのいずれかに記載のコンピュータプログラムを伝達する電磁信号。
【請求項８１】
コンピュータで生成した二脚動物のロコモーションを制御する方法であって、
（ａ）複数のニューロンを有するニューラルネットワークを確立するステップと、
（ｂ）胴体と、胴体から伸びる少なくとも２本の脚のコンピュータ画像を生成するステップと、
（ｃ）任意の時間にコンピュータ生成オブジェクトのそれぞれ異なる部分に作用するニュートン力をシミュレートするステップと、
（ｄ）シミュレーションにより求めた力を前記異なる部分に印加して、視覚的表示ユニットでの表示時に、各部分が、シミュレートした力の影響下で動くように見せるステップと、
（ｅ）各脚を駆動するためのアクチュエータをシミュレートするステップと、
（ｆ）ニューラルネットワークからの出力によりアクチュエータの動作を制御するステップと、
を備えることを特徴とする制御方法。
【請求項８２】
ニューラルネットワークを確立するステップ（ａ）が、複数のニューロンを有するニューラルネットワークを確立して、２つの双方向結合された同一の振動子のペアとして機能させることを特徴とする請求項８１に記載の制御方法。
【請求項８３】
ニューラルネットワークを確立するステップ（ａ）が、複数の振動子のそれぞれに対して、複数のノードを有するリカレントニューラルネットワーク（ＲＮＮ）を確立することを特徴とする請求項８１または８２に記載の制御方法。
【請求項８４】
ステップ（ａ）が、６つのノードをそれぞれ有するＲＮＮを確立することを特徴とする請求項８３に記載の制御方法。
【請求項８５】
チェーンの１つにおける各ＲＮＮを、対称重みにより別のチェーンにおける横方向に隣接するＲＮＮ振動子と接続して、それらの間の双方向結合を実現するステップをさらに備えることを特徴とする請求項８３または８４に記載の制御方法。
【請求項８６】
チェーンの１つにおける各ＲＮＮ内の各ニューロンを、同一のチェーンにおける隣のＲＮＮ内の対応するニューロンと、非対称的にすなわち一方向的に接続するステップをさらに備えることを特徴とする請求項８５に記載の制御方法。
【請求項８７】
ニューラルネットワークの特性を、遺伝的アルゴリズムにより進化させるステップを備えることを特徴とする請求項８１から８６のいずれかに記載の制御方法。
【請求項８８】
ニューラルネットワークの特性が、以下のステップにより進化され、そのステップは、
（i）複数の異なるネットワーク特性値のトライアルアレイを生成するステップと、
（ii）異なるトライアルアレイをニューラルネットワークに適用して、異なるトライアルニューラルネットワークを生成するステップと、
（iii）コンピュータ生成画像における最後尾の脚の下脚部分の端部が起点から移動した距離ｄが最大化されるべきという評価基準に少なくともしたがって、ニューラルネットワークへの適用時に、多脚動物の画像の制御を最適化するトライアルニューラルネットワークを形成するアレイを、複数の異なるアレイの中から選択して同定するステップと、
を備えることを特徴とする請求項８７に記載の制御方法。
【請求項８９】
最適化されない場合に、ポイントアトラクタが到達されて、トライアルネットワークによる制御時に画像が起点から離れる方向への動きを停止され、トライアルニューラルネットワークを形成するアレイの考察を中止するステップをさらに備えることを特徴とする請求項８８に記載の制御方法。
【請求項９０】
最適化されない場合に、多脚動物の胴体の質量中心が制御されて、所定の閾値高さよりも下がると、トライアルニューラルネットワークを形成するアレイの考察を中止するステップをさらに備えることを特徴とする請求項８８または８９に記載の制御方法。
【請求項９１】
最適化されず、制御される多脚動物が起点に対して動かない場合に、トライアルニューラルネットワークを形成するアレイの考察を中止するステップをさらに備えることを特徴とする請求項８８から９０のいずれかに記載の制御方法。
【請求項９２】
適合度の順に各トライアルニューラルネットワークをランキングするステップと、
適合度の低いトライアルニューラルネットワークを表現するアレイを放棄するステップと、
残りのトライアルアレイに基づいて、さらなるトライアルニューラルネットワークを生成し、結果として生じるトライアルアレイを突然変異させて、突然変異されたトライアルアレイのセットを生成するステップと、
突然変異されたトライアルアレイに基づいてトライアルニューラルネットワークを生成し、最適化されたトライアルアレイを同定するステップと、
をさらに備えることを特徴とする請求項８０から８３のいずれかに記載の制御方法。
【請求項９３】
アレイの初期同定中に、補助安定化コントローラをコンピュータで生成した二脚動物に適用して、矢状方向および／または横方向の安定性を実現するステップと、
さらに最適化されたトライアルアレイの同定の前に、補助コントローラの影響を低減させるステップと、
をさらに備えることを特徴とする請求項９２に記載の制御方法。
【請求項９４】
多脚動物のコンピュータ生成画像のロコモーションを制御するために、ニューラルネットワークコントローラにおけるネットワークパラメータを最適化する方法であって、
（i）複数の異なるネットワーク特性値のトライアルアレイを生成するステップと、
（ii）異なるトライアルアレイをニューラルネットワークに適用し、異なるトライアルニューラルネットワークを生成するステップと、
（iii）コンピュータ生成画像における最後尾の脚の下脚部分の端部が起点から移動した距離ｄが最大化されるべきという評価基準に少なくともしたがって、ニューラルネットワークへの適用時に、多脚動物の画像の制御を最適化するトライアルニューラルネットワークを形成するアレイを、複数の異なるアレイの中から選択して同定するステップと、を備え、
この制御方法は、さらに、
最適化されない場合に、以下の条件のうち少なくとも１つが満たされる場合に、トライアルニューラルネットワークを形成しているアレイの考察を中止し、
条件は、
（ａ）ポイントアトラクタが到達されて、トライアルネットワークによる制御時に画像が起点から離れる方向への動きを停止されること、
（ｂ）ニュートン力を対象物に適用することで、多脚動物の胴体の質量中心が閾値高さよりも下がること、
（ｃ）多脚動物が起点から離れない、および／または起点から動く以前に倒れること、
を含むことを特徴とする最適化方法。
【請求項９５】
適合度の順に各トライアルニューラルネットワークをランキングするステップと、
適合度の低いトライアルニューラルネットワークを表現するアレイを放棄するステップと、
残りのトライアルアレイに基づいて、さらなるトライアルニューラルネットワークを生成し、結果として生じるトライアルアレイを突然変異させて、突然変異されたトライアルアレイのセットを生成するステップと、
最適化されたトライアルアレイを同定するステップと、
をさらに備えることを特徴とする請求項９４に記載の最適化方法。
【請求項９６】
アレイの初期同定中に、補助安定化コントローラをコンピュータで生成した多脚動物に適用して、矢状方向および／または横方向の安定性を実現するステップと、
さらに最適化されたトライアルアレイの同定の前に、補助コントローラの影響を低減させるステップと、
をさらに備えることを特徴とする請求項９５に記載の最適化方法。
【請求項９７】
人工のまたはコンピュータでシミュレートしたボディの外肢の周期的な運動を制御するコントローラであって、２つの双方向結合された同一の振動子のアレイとして機能する複数のニューロンを有するニューラルネットワークを備えることを特徴とするコントローラ。
【請求項９８】
実質的に明細書に記載され、添付した図面に例示されたコンピュータシステム。
【請求項９９】
実質的に明細書に記載され、添付した図面に例示されたコンピュータ生成画像のコントローラ。
【請求項１００】
実質的に明細書に記載され、添付した図面に例示されたコンピュータプログラム。
【請求項１０１】
実質的に明細書に記載され、添付した図面に例示された、コンピュータで生成した多脚動物のロコモーションを制御する方法。
【請求項１０２】
実質的に明細書に記載され、添付した図面に例示された、ニューラルネットワークコントローラにおけるネットワークパラメータの最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットなどの人工多脚動物やコンピュータ生成画像に関し、さらに、そのためのコントローラに関する。本発明は、特にコンピュータで生成した二脚動物画像の歩行制御に関し、また、そのような画像のボディダイナミクスに関する。
【背景技術】
【０００２】
具体化されるか、または物理的にシミュレートされるかにかかわらず、人工の多脚動物のコントロールは本来難しいタスクである。この技術は、ロボット工学、コンピュータアニメーション、バーチャルリアリティ、および生物学などの多種多様な分野から、かなりの注目を集めている。
【０００３】
コンピュータアニメーションにおいて、モーションキャプチャの使用は、長い間利用されてきている。ここでは、所望の人間のふるまいが撮影されて、続いて典型的にはデジタル化され、同等なイメージのアニメーションデータを提供する。これは、現実的な動き力学を、特に二脚動物の難しいシミュレーションに提供するが、この技術によると、特に予測不能な状況下における歩行動作の生成が困難である。また、この技術は、データの記憶容量に高い要求を課すため、ロボットに利用する場合に適切でない。
【０００４】
ロボットとコンピュータ生成画像の双方のために開発されたさらなるアプローチは、動作パターンを作成するためにコントローラに連結した多脚動物の準身体的な表現に頼るものである。逆動力学や逆力学などの技術を利用することで、所望の位置に仮想的な手足を配置したり、必要な力を計算することが可能となる。このアプローチの問題は、歩行運動の周期的な性質のために、コントローラが有限状態機械を使用する傾向があり、現実の動きが部分的のみになるとともに、有限状態機械のパラメータを人手で調整する必要がある。
【０００５】
近年、ニューラル・ネットワークは、形態−機能的な（morpho-functional）マシンの制御を改善するのに使われている。ネットワークのパラメータ設定を最適化するべく、人工的な進化と組み合わせて用いる場合に、いわゆるリカレント・ニューラル・ネットワーク（ＲＮＮｓ）が多脚動物の運動に特に適していることが分かってきた。US-A-5,124,918は、六足昆虫のようなロボットの制御におけるアプローチについて提案しており、またIjspeert他の「ヤツメウナギからサンショウオまで：泳ぎと歩行のためのニューラルコントローラの進化」（from Animals to Animat, 適応的ふるまい社会（the Society for Adaptive Behavior：ＳＡＢ９８）の第５回国際会議の議事録、390-399ページ、MITプレス（1988））は、人工サンショウウオへのニューラルネットワークの適用につき提案している。Golubitsky他は、「移動セントラルパターンジェネレータと動物の歩調における対称」、Nature 401、693-695ページ(1999)は、理論上のみのレベルであるが、多脚動物に必要な神経コントローラについて提案している。
【０００６】
ロボットおよびコンピュータシミュレーションとして具体化されている二脚動物の制御に関する固有の問題が存在する。特に、二脚歩行の不安定なダイナミクスは、一般に連続した動作制御を要求する。付加的なコントローラも、横方向および矢状方向の安定性を制御するために必要となってきた。このために、有限状態機械や従来の制御理論などの工学的な技術が必要と考えられてきている。
【０００７】
前述したように、これは、数学的な制御性の問題、手動による最適化の必要性、および拡張性における限界をもたらす。また、このように制御される二脚動物は、比較的遅く動く傾向がある。
【発明の開示】
【０００８】
本発明は、従来の技術を改良することを目的とする。特に、本発明の一つの目的は、移動時に、質的により現実的に見える人工の形態−機能的（morpho-functional）な多脚動物を提供することにある。さらなる目的は、安定歩行の速い進化をを導き、従来の二脚動物用コントローラの問題を少なくとも軽減して、二脚動物の質的によりリアルな歩行を実現する二脚歩行のコントローラを提供することにある。
【０００９】
本発明の第１の態様によると、処理手段を備えたコンピュータシステムが提供される。この処理手段は、（ｉ）視覚的表示ユニット上に、胴体、胴体から伸びる（垂れ下がる）少なくとも２本の脚をもつ多脚動物の画像を生成し、各脚は、少なくとも第１の上脚部分と、相対的に下側となる第２の下脚部分とを有しており、（ii）任意の時間に多脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにし、（iii）各上脚部分の画像が胴体の回りで軸回転するようにし、（iv）それぞれの脚の上脚部分の画像が、胴体に対してシミュレートしたアクチュエータにより弧状に動作させるようにし、（v）相対的に下側となる下脚部分の画像を、それぞれの上脚部分に対して明確且つ実質的に自由に揺動する動きを表現させ、（vi）複数のニューラルネットワークを提供して、ニューラルネットワークの出力がそれぞれの上脚部分のアクチュエータの動きを制御し、多脚動物の画像が歩くように見せる。
【００１０】
「受動力学」の使用、すなわち、脚の上脚部分だけが駆動される状態で相対的に下方の下脚部分を自由に揺動させることは、人間的な歩容を実現する。下側の下脚部分が駆動される場合であっても、さらなるハードウェアおよび制御を必要とするが、下脚部分が自由ないしはほぼ自由に揺動するように見えるように動く限りにおいて、同一の効果が達成される。当然のことながら、請求項の範囲はそのように解釈されるべきである。多脚動物が障害物を回避または登る場合であっても、下脚部分の動きは、事実上、所望のものとなる。実際、上下の脚部分の間に弱い一定のシミュレートしたトルクを与えることで、これが脚を真っ直ぐにする傾向があり、特に役立つことが見出された。トルクの強さは十分に小さく、トルクをかけているにもかかわらず、下側の脚部分は実質的に自由に揺れ動くように見える。また、脚は、上側と下側の２つの部分のみからなることが好ましいが、請求項は、それに限定するものではなく、複数の関節をもつ脚であってもよい。
【００１１】
好ましくは、処理手段は、ニューラルネットワークからの出力に応答して、前記シミュレートしたニュートン力の影響下で、それぞれの脚の上脚部分の画像を動かすのに必要なシミュレートトルクΓＴを計算することにより、アクチュエータをシミュレートしてもよい。
【００１２】
それぞれの脚の上脚部分を動かすために用いられるアクチュエータは、様々な形態をとってよい。１つの好適な実施例では、アクチュエータは、比例積分微分（Ｐ−Ｉ−Ｄ）アクチュエータであってよく、好適には、時間ＴにおけるトルクΓＴが、以下の式にしたがって、角度θに関連づけられる。
【数１】
2004531400.tif 000003
ここで、ｋp、ｋD、およびｋIは、比例係数、微分係数、積分係数であり、ｔは時間である。
【００１３】
特に好適な実施例では、係数ｋIはゼロかほぼゼロに設定され、アクチュエータは、比例微分（ＰＤ）アクチュエータとして機能する。
【００１４】
このタイプのアクチュエータの実装は、入力として上脚部分と胴体との間の所望の角度（生物学的筋肉の所望の長さと同等）を要求する。「スイート・スポット」に達する必要な力（トルク）は、アクチュエータ自身によって計算される。言い換えれば、好適な実施例においては、ニューラルネットワークからアクチュエータへのモータ要求は、力を表わすのではなく、代わりに相関的な関節角のような所望の運動学的なパラメータを表す。
【００１５】
ＰＩＤまたはＰＤコントローラの使用は、いくつかの利点をもたらす。まず第一に、実際の角度と所期の角度との間のどんな不一致も自動的に低減させるために、制御が低レベルであってよい。結果として、（例えば）肢に関するコンピュータ生成画像がシミュレーション上の体重によりつぶれるようなケースは、アクチュエータにより直接回避される傾向がある。そうでない場合は、ニューラルネットワークがこのタスクを実行しなければならない。さらに、許容可能な所望角度（θｄ）の範囲を調整することによって、肢の動きに対する上限および下限を容易に設定することができる。このことは、ニューラルネットワークが所望角度よりも大きな力を明示的に指定することを不可能とする。
【００１６】
さらなる利点は、ジョイントアクチュエータの構成が、単一の筋肉（主動筋、共力筋、拮抗筋）を実装するというよりも、１つのエンティティとして作用し、システム（およびニューラルネットワークコントローラの）自由度を大幅に減少させることにある。
【００１７】
他の好適な実施例では、処理手段が、アクチュエータを、力制限された速度制約アクチュエータとしてシミュレートするように構成される。このアクチュエータにおいては、２つの脚のそれぞれの上脚部分に加えられるトルクΓＴが、胴体に対する（関連する）上脚部分の所望の運動速度の関数であり、所望の運動速度は、２つの上脚部分の間の実際の角度と所望の角度との差に関連づけられ、ここで所望の相対的な角度は、ニューラルネットワークから得られる。
【００１８】
完全に対称的な歩行に対して、上側脚部分の角度が関係付けられる対象点は、当然のことながら任意である。１つの脚と胴体の間の相対的な角度は、上脚部分の１つと例えば固定点との間の相対的な角度と機能的に等しい。完全に対称的に歩行するためには、実際は、１つの脚の他の脚に対する角度を測定することが可能となるであろう。
【００１９】
それぞれの場合において、上脚部分へのトルクが、直接（すなわち、シミュレート上のももの筋肉に）印加され、またシミュレートされた股関節に、または双方に印加されてもよいことは理解されるべきである。
【００２０】
好ましくは、多脚動物は、１脚あたり１個のアクチュエータしか有さず、下脚部分は自由に揺れ動く（スイングする）。しかしながら、また、１脚あたりに複数のアクチュエータが設けられることも予想されることである。
【００２１】
最も好ましくは、多脚動物は２個の股関節をもつ二脚動物としてシミュレートされる。各股関節は、２本の脚のそれぞれの１つの上脚部分を胴体に結合する。好適な実施例においては、股関節は、１つの自由度のみをもつように制約される。横方向および捻りの動きは、直線方向に歩行するためには必要でないことが見出されている。
【００２２】
好ましくは、処理手段が、複数の足の画像を生成するように構成される。複数の足のそれぞれは、くるぶし関節を介して対応する下脚部分の端部の画像に接続するように表現され、処理手段は、減衰トーションばねの動作をシミュレートして、前記くるぶし関節の動きを制御する。
【００２３】
歩行中、足は、歩いている多脚動物とその環境との唯一の物理的なインタフェースを表し、そのために、その移動（ロコモーション）における重要な役割を果たす。減衰ばねに近似して動作することによって、特に、同時にエネルギーを蓄えている間、足首（くるぶし）は、床の上での足のスムーズな回転に寄与する。爪先を持ち上げるとき、このエネルギーは放出され、次のストライドを開始するために用いられる。アクティブなニューラルネットワークによる制御は、このタスクにおいて必要とされない。
【００２４】
また、この処理手段は、それぞれの脚の上脚部分の画像と下脚部分の画像の間の角度を制限してもよい。これは、受身的にスイングする（揺動する）下側の脚部分が、完全に伸びきった状態で運動を急速に停止する機構を好ましくは必要とするためである。適切に制御されて、時間調節されるアクチュエータは原則としてその機能を実現することができたが、好適な解決策は、膝関節に柔軟な角度的な限界（すなわち、それぞれの脚の上下部分の間の角度限界）を与えることにある。
【００２５】
特に好適な実施例において、ニューラルネットワークのニューロンは、２つの双方向結合した同一の振動子のチェーンを形成するように、リカレントニューラルネットワーク（ＲＮＮ）として構成され、少なくとも２つのニューロンが、前記脚の上脚部分に関するアクチュエータの制御出力を行うモータニューロンとして機能する。
【００２６】
好適な実施例におけるニューラルネットワークアーキテクチャは、セントラルパターンジェネレータとして機能する。各チェーンにおける同一の振動子の数は、作動させられるべきである外肢の数の２倍である。言い換えれば、チェーンごとに４つの振動子、すなわち全体で８つの振動子が四脚動物にとって好ましく、また全体で４つの振動子が二脚動物にとって好ましい。
【００２７】
最も好ましくは、リカレントニューラルネットワークは、１振動子ごとに１つのリカレントサブネットを含み、各リカレントサブネットは、好ましくは６つのノードを備えており、このことは、自発的な周期的な活動の高度性を生み出すものであることが見出された。これらのリカレントサブネットのそれぞれは、双方向のカップリングを許容するために、対称的な重みにより、横方向に隣接しているリカレントサブネット（すなわち、２つのチェーンの他方におけるリカレントサブネット）と接続される。各リカレントサブネットにおける各ニューロンは、反対側のチェーンの反対側のリカレントサブネットにおけるその同等物とシナプスを形成するように構成されることが好ましい。好適な実施例において、矢状方向の隣接物への接続は非対称であり、すなわち、各ニューロンは、同じチェーンにおいて隣のリカレントサブネットの同等物に接続され、別の経路の接続は存在していない。
【００２８】
好ましくは、二脚動物に関して、ＲＮＮの２つのノードがモータニューロンとして指定され、これらのノードの出力が左側および右側の矢状方向の腰部の動作を制御するために用いられる。より一般に、多脚動物において作動されるべき脚ごとに１つのモータニューロンを持つことが好ましい。
【００２９】
２セットのみの結合重み（横方向と矢状方向）と同様に、同一振動子の使用は、（ネットワークパラメータのための）探索空間を、総計で６０のパラメータ（３６の重み、プラス１２のニューロンパラメータ、プラス６の横方向重み、プラス６の矢状方向重み）に制限する。
【００３０】
さらに、補助的な安定性コントローラは、最適化手順の開始時に、安定したネットワークパラメータの全体の進化速度を改良するために適用されてもよい。この補助的なコントローラの影響は、その後の最適化を繰り返していくうちに、徐々に減少されていく。
【００３１】
好ましくは、ニューロンの特性と前述したニューラル・ネットワーク内のニューロン同士の接続は、遺伝的アルゴリズムに基づいて決定される。最も好ましくは、ネットワークパラメータを最適化するのに用いられる評価基準が、多脚物体の画像において最後尾となる脚の下脚部分の端部の起点に対する距離が、その起点に対して最大化されるべきであることである。
【００３２】
好適な実施例において、ある不具合な状況が発生すると、すぐにネットワークパラメータのトライアルアレイの考察を中止することによって、ネットワークパラメータを迅速に最適化することが実現される。例えば、シミュレートしたボディの質量中心が、ある所定値より下がった場合には、結果的に生じるロコモーションは、リアルに見えないこととなり、またこのような画像制御をもたらすネットワークパラメータは、理想的とはいえないと考えられる。見込みのないラン（runs）（プログラムの走行）を早期に中止することは、進化の速度を劇的に速めることになる。
【００３３】
本発明の第２の態様によると、二脚動物のコンピュータ生成画像用のコントローラが提供される。このコンピュータ生成画像は、胴体から伸びる２つの脚を備え、各脚は、コンピュータシミュレートされるアクチュエータにより駆動される。コントローラは、複数のニューロンを備えたニューラルネットワークを備え、ニューラルネットワークの出力は、コンピュータでシミュレートされたアクチュエータを制御するように構成され、その結果、胴体の画像は、脚の画像の動作に合わせて動くこととなる。
【００３４】
本発明は、処理手段を備えたコンピュータシステムにも拡張される。この処理手段は、（ｉ）視覚的表示ユニット上に、胴体、および胴体から伸びる脚をもつ二脚動物の画像を生成し、各脚は、少なくとも第１の上脚部分と、相対的に下方となる第２の下脚部分とを有しており、（ii）任意の時間に二脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにし、（iii）上側の脚部分のそれぞれの画像が胴体の回りで軸回転するようにし、（iv）２つの双方向結合された同一振動子のペアとして機能するように構成された複数のニューロンを有するニューラルネットワークを提供し、（ｖ）２つの脚のそれぞれの上脚部分の画像が、力制限された速度制約アクチュエータにより前記胴体に対して弧状に動かされるようにし、そのアクチュエータは処理手段によりシミュレートされて、脚の上脚部分の画像を動かすのに必要とされるトルクＴを、他の脚の上脚部分に対応する（呼応する）１つの脚の上脚部分の所望の運動速度の関数として、前記シミュレートしたニュートン力の影響下においてシミュレーションにより計算し、ここで所望の運動速度は、２つの上脚部分の間の実際の角度と所望の角度との間の差に関連づけられ、また所望の相対的な角度は、ニューラルネットワークから得られるものであって、（vi）相対的に下側となる下脚部分の画像を、上脚部分が弧状に動くときに、それぞれの上脚部分に対して明確且つ実質的に自由に揺動する動きを描写させ、ニューラルネットワークの出力が、シミュレートしたアクチュエータを制御するように構成されて、脚の画像が動かされるときに、胴体の画像が動かされる。
【００３５】
本発明のさらに別の態様において、デジタルコンピュータ上で実行されたときに、プロセッサに対して以下の機能を実行させるプログラムエレメントを備えたコンピュータプログラムが提供される。この機能は、（ｉ）視覚的表示ユニット上に、胴体、および胴体から伸びる少なくとも２本の脚をもつ多脚動物の画像を生成し、各脚は、少なくとも第１の上脚部分と、相対的に下方となる第２の下脚部分とを有しており、（ii）任意の時間に多脚動物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、シミュレーションにより求めた力を前記異なる部分に印加して、表示時に各部分が、シミュレートした力の影響下で動くようにし、（iii）上側の上脚部分のそれぞれの画像が胴体の回りで軸回転するようにし、（iv）２つの双方向結合された同一振動子のペアとして機能するように構成された複数のニューロンを有するニューラルネットワークを提供し、（ｖ）２つの脚のそれぞれの上脚部分の画像が、力制限された速度制約アクチュエータにより前記胴体に対して弧状に動かされるようにし、そのアクチュエータは処理手段によりシミュレートされて、脚の上脚部分の画像を動かすのに必要とされるトルクＴを、他の脚の上脚部分に関連する１つの脚の上脚部分の所望の運動速度の関数として、前記シミュレートしたニュートン力の影響下においてシミュレーションにより計算し、ここで所望の運動速度は、２つの上脚部分の間の実際の角度と所望の角度との間の差に関連し、また所望の相対的な角度は、ニューラルネットワークから得られるものであって、（vi）相対的に下側となる下脚部分の画像を、上脚部分が弧状に動くときに、それぞれの上脚部分に対して明確且つ実質的に自由に揺動する動きを描写させ、ニューラルネットワークの出力が、シミュレートしたアクチュエータを制御するように構成されて、脚の画像が動かされるときに、胴体の画像が動かされる。
【００３６】
この場合、コンピュータプログラムは、例えば磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記憶媒体に格納されてもよい。代わりに、コンピュータプログラムは、電磁的な信号の形態をとってもよい。
【００３７】
本発明のさらなる態様は、コンピュータで生成した二脚動物の動きを制御する方法を提供する。この方法は、以下のステップを備える：（ａ）複数のニューロンを持つニューラル・ネットワークを確立し、（ｂ）胴体と少なくとも２本の脚に関するコンピュータ画像を生成し、ここで各脚は胴体から伸びており（ｃ）任意の時間でコンピュータで生成した対象物のそれぞれ異なる部分に作用するニュートン力をシミュレートし、（ｄ）それらシミュレートした力を、対応するそれぞれの異なる部分に加えて、視覚的表示ユニットへの表示時に、各部分が、シミュレートした力の影響を受けて動くように見えるようにし、（ｅ）それぞれの脚を駆動するためのアクチュエータをシミュレートし、（ｆ）ニューラルネットワークからの出力によってアクチュエータの動作を制御する。
【００３８】
また、多脚動物のコンピュータ生成画像の動きを制御するニューラルネットワークコンピュータにおけるネットワークパラメータを最適化する方法も提供される。この方法は、以下のステップを備える：（ｉ）ネットワーク特性値の複数の異なるトライアルアレイを生成し、（ii）異なるトライアルアレイをニューラルネットワークに適用して、異なるトライアルニューラルネットワークを生成し、（iii）複数の異なるアレイの中から、ニューラルネットワークに適用されて、コンピュータ生成画像の最後尾の足の下脚部分の端部が起点から移動した距離ｄが最大となるべきであることを少なくとも評価基準として、多脚動物の画像の制御を最適化するトライアルニューラルネットワークを形成するアレイを同定する。この方法は、さらに、以下のステップを備える。このステップは、最適化されない場合に、以下の条件の少なくとも１つが満たされたときに、トライアルニューラルネットワークを形成するこれらのアレイについての考察を停止する。（ａ）トライアルネットワークによる制御時に、画像が起点から離れる方向に動くことを停止するように、ポイントアトラクタが到達された場合、（ｂ）ニュートン力学を対象物に適用することによる決定時に、多脚動物の胴体が、閾値高さより下方に下がった場合、および／または（ｃ）多脚動物が起点から離れる方向に動かなくなる、および／またはそこから動く前に倒れる場合。
【００３９】
本発明は、コンピュータ生成画像、およびロボットのように具現化した多脚動物の双方に等しく適用可能であることが理解されるべきである。そのため、本発明のさらなる態様によれば、人工多脚動物が提供される。この人工多脚動物は、以下の構成を備える。胴体；胴体から伸びる少なくとも２本の脚、ここで各脚は、少なくとも第１の上脚部分と、相対的に下方となり第１の上脚部分の周りを回転可能な第２の下脚部分とを有しており；対応する脚の上脚部分を胴体にそれぞれ接続する複数の股関節；各脚の上脚部分を股関節の回りに弧状に動かすように構成されたアクチュエータ；前記アクチュエータの動きを制御するように構成されたニューラルコントローラであって、各脚の上脚部分が弧状に運動するとき、対応する下脚部分が、上脚部分の運動の少なくとも一部の期間にわたって、明示的に実質的に自由に揺れ動く運動を描写するように構成される。
【００４０】
多脚動物が、コンピュータで生成されるよりも、むしろ具現化される場合、脚の上脚部分と下脚部分の間の角度は、計算上の角度的な限界よりも、むしろ人工的な膝あてを用いることで制限されてもよい。
【００４１】
また、本発明は、人工二脚動物に対するコントローラも提供する。二脚動物は、胴体から伸びる２本の脚を備え、アクチュエータにより動作することが可能であり、コントローラは、複数のニューロンをもつニューラルネットワークを備え、少なくとも２つのニューロンは、アクチュエータの動きを制御するように構成されたモータニューロンとして作用し、複数の脚の動きにより胴体の運動を行わせる。
【００４２】
本発明の別の態様においては、人工二脚動物が提供される。この二脚動物は、以下の構成を備える。胴体；胴体から伸びる２本の脚、ここで各脚は、少なくとも第１の上脚部分と、相対的に下方となり第１の上脚部分の回りを自由に回転可能な第２の下脚部分とを有しており；２本の脚のうちの１本の上脚部分を胴体にそれぞれ接続する２つの股関節；複数のニューロンをもつニューラルネットワークとして具現化される２つの双方向結合された同一振動子のペアを備えたコントローラ；各脚の上脚部分を対応する股関節の回りで弧状に動かすように構成された力制限された速度制約アクチュエータ、２本の脚のそれぞれの上脚部分に印加されるトルクＴは、他方の脚の上脚部分に関連して一方の脚の上脚部分の所望の運動速度の関数であり、この所望の運動速度は、２本の脚の上脚部分の間の実際の角度と所望の角度の間の差に関連し、この所望の相対的な角度は、ニューラルコントローラから取得され、；アクチュエータの動作を制御するコントローラであって、この制御により、それぞれの脚の上脚部分が弧状に動き、対応する下脚部分が、上脚部分の運動の少なくとも一部にわたって、明示的に実質的に自由に揺れ動く運動を描写するように構成される。
【００４３】
本発明の態様は、二脚動物のニューラル制御に焦点をあてているが、本発明は、さらに広いアプリケーションを有していることが理解されるべきである。ボディ部分の周期的な運動は、この方法で制御されることが可能である。例えば、具現化するか又はシミュレーションによるかを問わず、鳥の翼のはばたきを、類似の方法により制御することが可能である。したがって、本発明のさらなる態様によると、人工の、またはコンピュータでシミュレートしたボディの外肢の周期的な運動の制御を行うコントローラが提供される。このコントローラは、２つの双方向結合された同一の振動子のアレイとして機能する複数のニューロンをもつニューラルネットワークを備える。
【００４４】
要約すると、本発明の態様は、人工の二脚動物またはシミュレートした二脚動物を提供し、これらにおいて、二脚動物の直進歩行を産み出すニューラルネットワークのパラメータを進化させるのに必要な進化的最適化の時間長が非常に短くなる。さらに、最適化手順により得られるニューラルネットワークの大多数が、出来のよいコントローラをもたらす。さらに、二脚動物、または２本以上の脚をもつ他のデバイス／物体のボディダイナミクスの知覚されたリアリズムは、実際の多脚歩行に関して、特に人間などの二脚動物に対して好適となる。このことは、モーションキャプチャーデータとの比較で確認することができる。自由揺動する下側の脚部分は、特に好都合な方法で歩行ダイナミクスを制約する。下側の脚の完全な揺動（および、膝あて）を利用しない歩行スタイルは、利用する場合と比較すると安定しなかった。
【００４５】
本発明の態様のニューロ−進化的なアプローチは、ボディコントロール全体を完全に自動化させることを可能とし、ボディ実装の柔軟性や、コントローラパラメータの手動による再調整の必要性を回避することなど、様々な利点を提供する。本発明の態様のニューラルネットワークアーキテクチャは、コントローラへの（特に自己刺激に感応する）知覚的なフィードバックおよび緊張性入力を統合することを許容し、このことは、ニューラルネットワークを適切に調節することで、ひいては不整地における歩容の強健性を改善することができる。
【発明を実施するための最良の形態】
【００４６】
本発明は、様々な方法で実現することができるが、以下では、添付図面を参照して、実施例を、具体例をもとに説明する。
【００４７】
以下では、例として、本発明の様々な態様を例示する現在の好適な構成を説明する。以下の例における二脚オブジェクトは、コンピュータで生成される。しかしながら、本発明の基礎となる原理は、四脚動物および他の多脚動物にも同様に適用することができ、一般に周期的な運動をふるまうことを前提とする鳥の翼のような他のもののコントロールにも適用できることは、理解されるべきである。さらに、本発明は、多脚ロボット、特に二脚ロボットのような具現化したデバイスにも同様に適用することができることも、理解されるべきである。
【００４８】
最初に、図１（ａ）および図１（ｂ）を参照すると、コンピュータで生成された二脚動物１０の完全にレンダリングされたワイヤフレームバージョンが、それぞれ示されている。二脚動物は、剛体力学シミュレーションプログラムを使用することでシミュレートされる。そのようなプログラムは、当該技術分野においてよく知られており、商業的にまたはフリーウェア／オープンソースソフトウェアにより利用可能である。剛体力学シミュレーションソフトウェアは、理想化されたジョイント（関節）によって接続された理想化されたボディの動きをシミュレートする。ボディは、互いに衝突し、静止し、互いにスライドするなどのことを可能とする。このソフトウェアは、特定のパラメータを有するボディのためのニュートン力学を計算し、これらのボディが動かされると、ボディは、例えばあたかも重力の影響を受けているかのように動いて見える。
【００４９】
図１（ａ）に示される二脚動物は、特に、ダイナミクスツールキット（Dynamics Toolkit）バージョン0.0.5（英国、オックスフォード、MathEngine plc）を用いてシミュレートされる。このプログラムは、精度よりもスピードを最適化するものであるため、進化の最適化に用いる場合に特に有用であり好ましい。このプログラムが力制限された速度制約アルゴリズムを含むことに、さらなる利点がある。これは、以下で説明するように、手足などの肢を動かすのに有用である。
【００５０】
MathEngineプログラムは、Ｃとアセンブラでコード化される一組のライブラリとして交付される。対象物は、図１（ａ）および図１（ｂ）に示されるシミュレートした二脚動物を作成するために、ライブラリから呼び出される。
【００５１】
図１（ｂ）に明確に示されるように、MathEngineプログラムによってシミュレートされる二脚動物は、ボディトランク（胴体）２０、および胴体２０からそれぞれ伸びる２本の足２５を備える。各脚は、第１の上脚部分３５と、第２の下脚部分４５とを備える。各脚の上脚部分３５は、対応する股関節部３０により胴体２０の回りを回転される。各脚の下脚部分４５は、膝関節部４０により同じ脚の上脚部分３５の回りを軸回転する。各脚の端部には、くるぶし関節部５０により、対応する脚の下脚部分４５の回りを軸回転する足６０が存在する。好適な実施例において、この二脚動物は、腰部−ロール、腰部−ピッチ、膝部−ピッチ、くるぶし−ピッチの８自由度をもつ。以下に説明するように、２つの股関節部３０のみがアクティブに動作される。
【００５２】
図１（ａ）および図１（ｂ）に示す二脚動物の寸法は、以下のテーブルに示すとおりである。
【表１】
2004531400.tif 000004
上記のテーブル１に示される各ボディ部分は、1kg/lのシミュレートした密度を使用してモデル化されている。この実装では、単純なブロックが、二脚動物の胴体をシミュレートするために用いられていることが理解される。これは、ボディの上側部分のダイナミクスが、本発明により解決される問題とは異なる（そして、一般には単純な）問題をもつためである。したがって、理解を容易にするために、二脚動物のボディの上側部分の詳細は、本明細書では言及しない。
【００５３】
図１（ａ）および図１（ｂ）に示される二脚動物の歩行をシミュレートするために、３つの異なる設計解決方法が提案される。それぞれ単独で、さらには組み合わせることによって、人間のような歩行スタイルの進化を急速にすることが容易となる。
【００５４】
ボディダイナミクス
図１（ａ）および図１（ｂ）の二脚動物は、駆動と、受動的な揺動の組合せにより動かされる。特に、股関節部３０は、上脚部分３５を駆動し、下脚部分４５は、別の駆動を行うことなく、受動的に追従して動く。この場合、二脚動物１０の直線歩行用の制御タスクは、二脚動物１０にとって（股関節部３０の）２自由度に単純化することができる。
【００５５】
上脚部分３５が駆動され、下脚部分４５が受動的に揺動する脚２５のダイナミクスは、図２（ａ）から図２（ｄ）の順序で示される。受動的な下脚部分４５は、上脚部分３５の引く動作と組み合わせて、シミュレートされた重力がかかる影響によってのみ加速される。従前の形態−機能マシンと比較すると、膝関節が動的に駆動されないため制御が単純化され、この制御の容易性に加えて、この実装は、生成された歩行パターンのリアリズムを顕著に増加させる。
【００５６】
各脚２５の下脚部分４５が受動的に揺動することを許容されるために、最大伸張時での運動を急速に停止させる機構が必要となる。適切に制御され且つ時間調節されるアクチュエータは、原則としてこの機能を実現することができるが、シミュレートした膝あてを利用した方が単純に実現することができる。好適な実装形態において、膝関節部４０に対して柔軟な角度制限がシミュレートされる。当然のことながら、ロボットのような具体化された形態−機能マシンにおいては、代わりに物理的な膝あてが、利用されてもよい。
【００５７】
現実的な歩容がシミュレートされることを可能にするために、完全に自由に揺動する膝あては有効であるが、好適な実施例では、一定の弱いトルクを上脚部分３５と下脚部分４５の間に加える。このトルクは、脚を真っ直ぐにする傾向をもつ方向に加えられる。この一定の弱いトルクは必ずしも必須のものではないが、少なくとも、人間の目に見分けられない程度に、または辛うじて見分けられる程度に十分に弱いことが理解されるべきである。
【００５８】
また、シミュレートした二脚動物１０は、足６０を利用する。これらは、歩行二脚動物と、その環境の間の物理的な唯一のインタフェースを表現し、したがって、そのロコモーションにおいて重要な役割を果たす。減衰バネと類似した振る舞いを行うことによって、くるぶし関節部５０は、同時にエネルギーを蓄えている一方で、シミュレートしたフロア上における足６０のスムーズなころがりを可能とするのに役立つ。足先端部の持ち上げ時、このエネルギは放出されて、次のストライドを開始する。足６０またはくるぶし関節部５０のアクティブな制御は、このタスクに対して要求されない。この好適な実装形態は、くるぶし関節部５０のそれぞれにおける減衰トーションバネをシミュレートする。既述したように、この処理は、MathEngineプログラムにおいて利用可能なライブラリを通じて容易に実行される。
【００５９】
アクチュエータ
人間と動物は、脊髄反射などの単純な低いレベルのメカニズムが、動きを調整するのに重要であると信じられている。本件では、アクチュエータが、低レベルのコントローラとして利用され、このコントローラは、シミュレーションから駆動される２つのボディ部分（ここでは、上脚部分３５）の相対的な角度および角速度、およびニューラルコントローラからの所望の相対角度を入力として取得し、駆動される２つのボディ部分に等しく反対に印加されるべきトルクを計算する。
【００６０】
アクチュエータは、所望の相対角度に対してボディ部分を、スムーズに且つ合理的に制御されたペースで回転する結果を生成しなければならない。
【００６１】
安定した二脚動物のロコモーションに必要な制御レベルを提供する使用可能なアクチュエータには様々な種類がある。例えば、比例積分微分（ＰＩＤ）コントローラが使用されてもよい。図１および図２の二脚動物１０における股関節部のアクチュエータに適用した場合、トルクＴを、脚の上脚部分３５と胴体２０の間の所望の角度と、これら２つの部分の実際の角度の関数として表現することが可能である。特に、時間ＴにおけるトルクΓＴは、
【数２】
2004531400.tif 000005
として表現される。ここで、ｋp、ｋD、およびｋIは、比例係数、微分係数、積分係数であり、θｄは所望の角度、θは実角度である。実際は、積分定数ｋIおよび周期ｔは小さくまたはゼロとなる。したがって、アクチュエータは、比例微分アクチュエータとして振舞う。
【００６２】
アクチュエータをシミュレートするためのコードは、Ｃ言語またはＣ＋＋言語により記述され、MathEngineから呼び出されるサブルーチンを形成する。
【００６３】
このタイプのアクチュエータは、入力として、この場合は生物学上の筋肉の所望の長さと均等な所望の角度を必要とする。「スイート・スポット」に達する必要な力はアクチュエータ自身によって計算される。すなわち、以下で説明するように、セントラルパターンジェネレータのような高次のコントロールセンタからアクチュエータへのモータコマンドは、力を表現するのではなく、相対的な関節角のような所望の運動学的なパラメータを表現する。
【００６４】
ＰＩＤコントローラの使用は、複数の利点をもたらす。ＰＩＤコントローラは、実際の角度と必要な角度の間のどんな不一致も自動的に減少させるため、低レベルの制御を実現する。結果として、例えば、シミュレートされた体重の下で肢が曲がる傾向は、アクチュエータによって直接打ち消され、そうでない場合には、このタスクは、別個のコントローラにより実現される必要がある。さらに、許容される所望の角度（θｄ）の範囲を調整することにより、肢の動きに対する上方および下方のキャップ（caps）が容易に実現される。高次のコントロールセンタが所望の角度ではなく、力を明示的に指定する場合には、このことは可能でなない。
【００６５】
最後に、ジョイントアクチュエータの構成が、単一の筋肉群（主動筋、共力筋、拮抗筋）を実現するのではなく、１つのエンティティとして作用し、システムおよびシステムコントローラ（これについては、以下を参照）全体の自由度を大幅に減少させる。
【００６６】
ＰＩＤまたはＰＤコントローラは、それぞれ利点を有しているが、それらは、また数多くの障害をもっている。まず、制御環境（例えば、シミュレートされたボディにかかるシミュレートされた負荷）における変化が、ＰＩＤのダイナミックなパラメータ調整を必要とする。この調整は、それ自体制御されなければならないために、必然的に多くの自由度がシステムに追加されることになる。ｌ
【００６７】
次に、ＰＩＤコントローラが、計算能力上の不安定性をもたらす可能性がある。この理由のために、好適な実施例は、異なるものではあるが、力制限された速度制約（force limited velocity constraint）アクチュエータとして知られる概念的には近似したタイプのアクチュエータを利用する。そのようなアクチュエータは、ユーザに２つのボディの間の所望の相対速度を指定させることを可能とする。このアクチュエータは、ＰＤまたはＰＩＤアクチュエータよりも高い信頼性を示す傾向があるが、典型的には計算上、より高価となる。
【００６８】
本件では、２つの上脚部分３５の間の相対角度が第１の入力として用いられる。また所望の角度が、（以下で示す）ニューラルコントローラから入力される。実際の相対角度と所望の相対角度の間の差分に関連する（場合によっては比例する）大きさをもつ要求速度が計算される。要求速度は、シミュレーションの制約を解決するもの（solver）により用いられて、この要求を満たすのに必要なトルクを計算する。計算されたトルクが最大値（Γｍａｘ）を超えない場合に、このトルクは、２つの上脚部分３５に等しく且つ反対に与えられ、最大値を超えた場合には、最大値のトルクが与えられる。この場合、コントローラパラメータの外部の調整は不要となる。
【００６９】
それぞれのタイプのアクチュエータの場合、複数の制約、すなわち、ｋp、ｋD、ｋI、Δｔ、またはΓｍａｘが予め定められる必要がある。これらは、シミュレーションを伴った実験により定められ、それ以降、同様のスケールの全てのシミュレーションに用いられることができる。
【００７０】
コントローラアーキテクチャ
二脚動物１０の現実的なロコモーションを許容する本システムの第３の部分は、二脚動物のグローバルなコントローラとして作用するニューラルネットワークである。この構造は、図３に示される。この構造は、４つの同一の振動子７０、８０、９０、１００を備え、これらは２つの双方向結合されたチェーンとして配列される。一般には、各チェーンにおける振動子の数は、作動されるべき外肢の数に対応するべきである。したがって、四脚動物については、各チェーンが４つの同一の振動子を含み、全体の構造が８つの同一の振動子を備える。
【００７１】
図３の一般化された構造は、Ｃ言語またはＣ＋＋言語でサブルーチンとして記述されたニューラルネットワークとして、コンピュータシミュレートされた二脚動物１０のために実装されるものであり、ネットワークの接続は図４に示される。それぞれの振動子７０、８０、９０、１００は、６つのノード７１−７６、８１−８６、９１−９６、１０１−１０６を有する完全に接続されたリカレントニューラルネットワークにより表現される。振動子７０および９０は、横方向に隣接しているが、異なる振動子チェーン内に存在する。同様に、振動子８０および１００は、横方向に隣接しているが、異なる振動子チェーン内に存在する。横方向に隣接する振動子の１つにおける各ニューロンは、双方向結合を許容するように、対称重みにより横方向に反対側にある振動子の同等なニューロンと結合される。例えば、振動子７０におけるニューロン７１は、振動子９０におけるニューロン９１と結合される。
【００７２】
対照的に、図３から容易に明らかなように、矢状方向の隣接者に対する結合は、非対称である。図４のニューラルネットワークの構造において、振動子８０における各ニューロン（例えば、ニューロン８６）は、同一のチェーンにおける隣の又は他の振動子（この場合は、振動子７０）の同等のもの（この例ではニューロン７６）に結合されるが、逆には何の結合も存在していない。
図４のニューロンモデルは、時定数τｊとバイアスｔｊを含んでいる。
【００７３】
各繰り返し時において、図４のＲＮＮにおけるｊ番目のニューロンの動きは、以下の計算式で計算される。
【数３】
2004531400.tif 000006
ここで、τｊはｊ番目のニューロンの時定数であり、Ａｊは、その動作、Ｏｉは、ｉ番目のニューロンからｊ番目のニューロンへの出力、ωｉｊはｉ番目のニューロンからｊ番目のニューロンへの重みである。対応する出力は、以下の通りである。
【数４】
2004531400.tif 000007
ここで、ｔｊは、ｊ番目のニューロンのバイアスである。
これらのパラメータは、シナプス重さのパラメータが行うように、範囲を許容した。
【００７４】
図４の環（リング）状のニューロン８１および１０１は、モータニューロンに指定される。それらの出力は、0.0と1.0の間であって、上脚部分３５を許容される角度まで動かすアクチュエータを駆動するようにスケーリングされる。モータニューロン１０１は、二脚動物１０の左の膝関節部３０の矢状方向動作のために用いられ、モータニューロン８１は、二脚動物１０の右側の膝関節部３０の矢状方向動作のために用いられる。
【００７５】
２セットのみの（横方向と矢状方向の）カップリング重みと、同一の振動子の使用は、探索領域を、総計６０のパラメータ（３６の重み、１２のニューロンパラメータ、６の横方向重み、６の矢状方向重み）に制限する。このことにより、パラメータを最適化するのにかかる時間を大幅に減少させることができる。
【００７６】
遺伝的アルゴリズム
進化されるべきニューラルネットワークのパラメータは、シナプス重みと、ノードの特性（時定数とバイアス）である。これらは、各パラメータ用の異なる範囲をもつリニアな染色体における実数値としてエンコードされ、典型的には、重みが［-16.0, 16.0］、時定数が［0.5, 5.0］、バイアスが［-4.0, 4.0］の範囲にある。アルゴリズム全体は、グラフィックスシミュレータにより必要に応じて呼び出すことのできる、別途カスタマイズされたＣ言語またはＣ＋＋言語のサブルーチンである。突然変異率は、個体あたりの１回の置換の平均を生じるように選択される。交叉を行うオペレータは適用されない。
【００７７】
ランクを基にした選択が、最適な0.5の割合（fraction）を伴って、１００個体の個体群において用いられる。このことは、個体群の下部の最も弱い半分をより分けて、それを上半分の複製に置き換えることとに等しい。この後者の手順は、例えばW.D. Hillisにより「寄生動物を共同進化させることが、最適化手順としてシミュレートした進化を改善する」（人工生命II、C.Langton他編集、Addison-Wesley、313-324ページ）として知られている。
【００７８】
個体は、図５に示される適合度の関数をもとに選択される。選択される総合的な適合度の評価基準は、シミュレートした二脚動物１０の最後部の足６０の、ロコモーションを開始した起点からの距離ｄである。最後部の足は、基準点として選択され、ある大きなストライドだけをとる個体にペナルティを与える。
【００７９】
図５の適合関数決定ツリーは、複数の機能を果たす。重要なことは、進化の速度を速めるために、見込みのない（プログラムの）走行（ｔ＜ｔｅ）を早期に停止させることである。質量中心（ＣｏＭ）の位置が所定の高さβよりもさがる場合に（すなわち、ｈ＜β）、ランが中止される。この評価基準は、おかしな動きと同様に、転倒することにペナルティを課す。動く以前に倒れる個体（ｄ＜α、ここでαは距離閾値）は、適合度０を割り当てられる。ポイントアトラクタ（Δａ＝０）が到達され、二脚動物の前への動きが停止すると、結果が捨てられるか（すなわち、適合度がゼロに設定される）、またはユーザの裁量で、次の個体群（ｄｔ）の一部に用いられてもよい。図５において、ｔは時間であり、ｔｅは最大時間であり、ｈはＣｏＭの高さであり、βはＣｏＭの高さ閾値であり、αは距離閾値であり、Δａは図５のニューラルネットワークにおける活動（activation）の変化の限度（measure）であり、ｄは、二脚動物１０の最後尾の足６０から起点までの距離である。
【００８０】
弱い補助コントローラが、二脚動物１０の安定したロコモーション制御を急速に進化させるのに好適であることが知られている。この補助コントローラは、胴体２０を横方向および矢状方向の双方で支持するために、進化的ランの最初の時点でのみ適用される。このコントローラは、胴体２０と、二脚動物１０に対する基準「フレーム」の間の減衰しないオリエンテーションばねの形態をとる。このばねは、変位パラメータを有しておらず、すなわち胴体２０に及ぼされるトルクは、その方向にのみ依存し、その位置には依存しない。
【００８１】
まず、補助のコントローラは、初期の突然変異の間、リズミカルなステップ周期の生成に向かった進化をガイドするように機能する。遺伝的アルゴリズムが、胴のスタビライザを用いて適切に高い適合度をともなった解決策を見つけたとき、その強度（すなわち、ばね堅さ）は減少され、探索が再開して、以前の最適化手順から個体群を入れる。スタビライザが捨てられるほど十分に弱いか、または少なくとも二脚動物シミュレーションを明白に損なわない程度に十分に弱くなるまで、ばねの堅さは、繰り返し減少される。この手順の利点は、以下に説明する図７（ａ）、図７（ｂ）、図８を参照して、さらに理解されるであろう。
【００８２】
図６（ａ）および図６（ｂ）を参照して、単位がメートルである適合度の２つの代表的なプロットが、進化の世代数の関数として示される。これらの代表的なプロットのそれぞれは、首尾よい直線歩行が実現できたことを示している。それぞれのケースにおいて、図５に関して説明した補助コントローラが作動された。現実的な直線歩行が、比較的少ない世代数の中で生じていることが、このことから特に理解される。歩行者の平均歩行速度は0.8m/sであり、いくつかの個体による最高速度は約1.2m/sに達した。
【００８３】
最初のランが、弱く安定化させる補助コントローラで実行されるため、二脚動物１０の安定した歩行を可能とするコントローラの個体群が、一連の進化的ランからランダムに選択され、補助コントローラの影響を実質的に減少させながら再進化された。これらの個体が確かに進化して、以前に実現した適合度を得ることが見出された。このことは、図７（ａ）および図７（ｂ）に示される。ここで、二脚動物が起点から２０ｍの距離に達するまで、ランが補助コントローラとともに進化された。補助コントローラは、それからスイッチオフされ、個体群が再進化された。
【００８４】
対照的に、新規な進化と、非活性化されたまたは少なくとも実質的に減少された補助コントローラに関する制御実験は、首尾よいランの結果とはならなかった。この場合の成功の基準は、最小で２０ｍの適合度として定義された。このことは、図８に示されている。
【００８５】
神経活動の分析と、結果として生じるボディダイナミクスは、比較的単純な周期的コントローラの出力が安定した歩行を生成するのに十分であることを示す。このことは、図９に示されている。図９は、時間の関数として、ニューロンの出力（左側および右側の腰部５０に対する所望の角度、単位ラジアン）を示し、また時間の関数として結果として生じるボディダイナミクス（左側および右側の腰部５０に対する実際の角度、単位ラジアン）を示す。（ａ）ニューロンの出力周期、および（腰部の角度のような）ボディダイナミクスがロックされており、（ｂ）ニューロンの出力に小さな副振動が生じていること、が気付かれるであろう。この副振動は、しかしながらボディダイナミクスには反映されず、このことが図１３に示されている。図９のデータは、図１３から得られた。これは、実際の角度と所望の角度との間の遅れがローパスフィルタとして機能し、所望の角度のトレースにおいて小さな振動を取り除いたためである。
【００８６】
図１０は、二脚動物１０の左側腰部５０の角度を、左側腰部の動作を制御するモータニューロン１０１（図４）の出力の関数とするプロットを示す。この図からも同様に分かるように、初期の安定化（settling）フェーズのの値に、両方の周期が互いにロックされるようになる。
【００８７】
図１１（ａ）は、左側および右側の股関節部５０の所望の角度のアトラクタのプロットを示す。図１１（ｂ）は、左側および右側の股関節部５０の実際の角度のアトラクタのプロットを示す。周期的な歩容は、短い安定化フェーズが先行する傾向がある。そこでは、ニューロンの出力とボディダイナミクスが、続いて確立するパターンを異ならせる。視覚的分析によると、この初期安定化フェーズが、歩いている歩容に対するボディ位置を初期化するのに使用されるように見える。初期の安定化フェーズは、完全に脚が駆動されるのではなく、（特に図２に関連して説明したように）受動的なボディダイナミクスが用いられる場合において、より顕著なものとなる。このことは、図１２からよく理解されることができる。図１２は、上脚部分３５に対する下脚部分４５の角度の関数として、股関節部３０により駆動されたときの胴体２０に対する二脚動物１０の左側上脚部分３５の角度を示す。ここで、下脚部分は駆動されない。膝関節部４０がその最終的な完全に揺動する（フルスイング）サイクルに到達するまで、複数の歩数がかかることは理解されるであろう。
【００８８】
図１３は、図１および図２の二脚動物１０のスクリーンショットを１回の歩容サイクルにわたって斜視的に示す。示される１０個のフレームからも分かるように、自由に揺動している下脚のようなボディの受動的なダイナミクスを完全に利用すると、その歩容は、高いレベルで人間のようであり、すなわちリアルである。
【００８９】
１つの実施例のみを説明してきたが、様々な変形および改良が、請求項により規定される本発明の範囲を逸脱することなく実現されることを、当業者は容易に理解するであろう。例えば、前述した記載および図面は、特定の剛体ボディダイナミックシミュレータについて言及するが、この特定の実装が発明の理解を決定するものではないことを理解されたい。例えば、MathEngine plcによるFastDynamicsバージョン1.005、より最近ではDynamics Toolkitなどのような他のシミュレーションツールも同様に用いることが可能である。Havok and Vortex（登録商標）によるHavok Hardcore（登録商標）（Critical Math Labs）も、同様に好適な物理エンジンである。さらに、上述したニューロ−進化的アプローチにより提供される大きな柔軟性のために、適切なコントローラを単純に進化させることで、異なる質量分布、ボディ寸法、アクチュエータまたは関節のタイプの試験を、比較的簡単に（且つ迅速に、現在のＰ．Ｃ．上で）行うことができる。
【図面の簡単な説明】
【００９０】
【図１】（ａ）および（ｂ）は、本発明の態様を示すコンピュータで生成した二脚動物のレンダリングしたワイヤフレームバージョンを示す。
【図２】（ａ）〜（ｄ）は、図１（ａ）の二脚動物の連続的な動きを示す側面図である。
【図３】本発明の別の態様を示す図１および図２の二脚動物のロコモーション制御に適したセントラルパターンジェネレータ（ＣＰＧ）の概略構成を示す。
【図４】ニューラルネットワークとして図３のＣＰＧを実現するための特定のニューロン配列を示す。
【図５】例えば図４のニューラルネットワークのパラメータを進化させるための決定ツリーを示す。
【図６】（ａ）および（ｂ）は、図４のニューラルネットワークに適用されて、図５の決定ツリーを用いて進化されたときの、ニューラルネットワークパラメータの進化の世代数の関数として、図１および図２の二脚動物の後足により巡回される距離として定義される適合度の２つのグラフ例を示す。
【図７】（ａ）および（ｂ）は、適合度が所定の距離に到達した後に非活性化されて利用される補助安定化コントローラを用いた場合の、進化世代数に対する適合度の２つのグラフ例を示す。
【図８】補助安定化コントローラを利用しない場合の、進化世代数に対する適合度のグラフ例を示す。
【図９】最適化されたパラメータをもつ図４のニューラルネットワークの出力（ラジアン）と、図１および図２の二脚動物の結果的なボディダイナミクス（ラジアン）を時間の関数として示す。
【図１０】図４のニューラルネットワークにおける左側腰部のモータニューロン出力の関数として、図１の二脚動物の左側腰部の角度のプロットを示す。
【図１１】（ａ）および（ｂ）は、図１および図２の二脚動物に対して、左側および右側腰部のニューロン出力と、左側および右側の実際の角度のアトラクタプロットを示す。
【図１２】図１および図２の二脚動物の左側の膝の角度の関数として、本発明のある態様にしたがって駆動されたときの、図１および図２の二脚動物の左側腰部の角度のプロットを示す。
【図１３】本発明のある態様にしたがって駆動され、本発明の別の態様にしたがって制御されたときの、図１および図２の二脚動物の連続的な動きを斜視的に示す。
【図６】
2004531400.tif 000011
【図７】
2004531400.tif 000012
【図８】
2004531400.tif 000013
【図９】
2004531400.tif 000014
【国際公開パンフレット】
2004531400.tif 000015
2004531400.tif 000016
2004531400.tif 000017
2004531400.tif 000018
2004531400.tif 000019
2004531400.tif 000020
2004531400.tif 000021
2004531400.tif 000022
2004531400.tif 000023
2004531400.tif 000024
2004531400.tif 000025
2004531400.tif 000026
2004531400.tif 000027
2004531400.tif 000028
2004531400.tif 000029
2004531400.tif 000030
2004531400.tif 000031
2004531400.tif 000032
2004531400.tif 000033
2004531400.tif 000034
2004531400.tif 000035
2004531400.tif 000036
2004531400.tif 000037
2004531400.tif 000038
2004531400.tif 000039
2004531400.tif 000040
2004531400.tif 000041
2004531400.tif 000042
2004531400.tif 000043
2004531400.tif 000044
2004531400.tif 000045
2004531400.tif 000046
2004531400.tif 000047
2004531400.tif 000048
2004531400.tif 000049
2004531400.tif 000050
2004531400.tif 000051
2004531400.tif 000052
2004531400.tif 000053
2004531400.tif 000054
2004531400.tif 000055
2004531400.tif 000056
2004531400.tif 000057
2004531400.tif 000058
2004531400.tif 000059
2004531400.tif 000060
2004531400.tif 000061
2004531400.tif 000062
2004531400.tif 000063
2004531400.tif 000064
2004531400.tif 000065
2004531400.tif 000066
2004531400.tif 000067
2004531400.tif 000068
2004531400.tif 000069
2004531400.tif 000070
2004531400.tif 000071
2004531400.tif 000072
2004531400.tif 000073
2004531400.tif 000074
2004531400.tif 000075
2004531400.tif 000076
2004531400.tif 000077
2004531400.tif 000078
2004531400.tif 000079
2004531400.tif 000080
2004531400.tif 000081
【国際公開パンフレット（コレクトバージョン）】
2004531400.tif 000082
【国際調査報告】
2004531400.tif 000083
2004531400.tif 000084
2004531400.tif 000085
2004531400.tif 000086
2004531400.tif 000087
2004531400.tif 000088
2004531400.tif 000089