(57)【要約】  本発明は、閉ループ多体機構の運動を記述するための方法およびシステムに関する。この場合、拘束された多体系について運動方程式を得る必要がある。本発明は、一般化座標および共役正準運動量を用いて、閉ループ系について再帰的なハミルトン公式を結果として生じる順動力学公式に基づく。方法は、優れた評価の拘束違反誤差を用いて運動方程式を得るのに必要な算数演算の数を限定することを可能にする。計算は拘束された多関節運動量ベクトルに基づいて実行することができる。
2008509427.tif 000002
【特許請求の範囲】
【請求項１】
拘束された機械システムの少なくとも位置関連情報を計算するために複数の物体を含む前記拘束された機械システムの運動方程式を用いる方法であって、
前記運動方程式は再帰的に公式化されたハミルトン運動方程式であり、
前記方法は、前記拘束された機械システムの少なくとも位置関連情報を前記システムについての前記方程式および境界条件から計算することを含む、方法。
【請求項２】
前記拘束された機械システムは、拘束部分空間を規定する一組の拘束によって拘束されており、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組の拘束のうち少なくとも１つの拘束によって拘束された少なくとも１つの他の関節とを含み、前記方法は、
前記拘束された機械システムの各Ｋ番目の物体について、
前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、前記システムの前記Ｋ番目の物体の運動量ベクトルと、前記少なくとも１つの他の関節の近くに位置する隣接した物体の射影された、拘束された多関節運動量ベクトルとの合計であり、前記射影された、拘束された多関節運動量ベクトルは前記拘束部分空間上に射影され、前記Ｋ番目の物体の局所的な基準フレームを参照し、前記方法はさらに、
前記拘束された機械システムについての一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む、請求項１に記載の方法。
【請求項３】
一組のハミルトン運動方程式を前記得ることは、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐおよび時間ｔについて、
前記一般化座標＜太字＞ｑの時間導関数および前記共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を得ることを含む、請求項２に記載の方法。
【数１】
2008509427.tif 000157
【請求項４】
時間導関数についてのこれらの数式は前記複数の物体の各々の運動を決定する、請求項３に記載の方法。
【請求項５】
【数２】
2008509427.tif 000158
【請求項６】
前記拘束された機械システムは拘束部分空間を規定する一組の拘束によって拘束され、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組の拘束のうち少なくとも１つの拘束によって拘束された少なくとも１つの他の関節とを含み、前記方法は、
前記拘束された機械システムの各Ｋ番目の物体について、Ｋ番目の物体はＫの一組の従属する物体を含み、
前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、物体Ｋの多関節運動量ベクトルと、前記従属する物体に共役なすべての従属正準運動量の線形関数との合計であって、前記方法はさらに、
前記拘束された機械システムについての一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む、請求項１に記載の方法。
【請求項７】
一組のハミルトン運動方程式を前記得ることは、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐおよび時間ｔについて、
前記一般化座標＜太字＞ｑの時間導関数および前記共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を得ることを含む、請求項６に記載の方法。
【数３】
2008509427.tif 000159
【請求項８】
【数４】
2008509427.tif 000160
【請求項９】
前記方法は、前記拘束された機械システムにおいていくつかの従属する物体を任意に選択することを含む、請求項１０に記載の方法。
【請求項１０】
前記方法はさらに、仮想パワーの原理を用いることを含む、請求項２から９のいずれかに記載の方法。
【請求項１１】
いくつかの時間ステップδｔにわたって、複数の物体を含む拘束された機械システムの運動を決定するための方法であって、
前記拘束された機械システムについての一組のハミルトン運動方程式を得ることと、
前記いくつかの時間ステップδｔの各々について、
前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算することとを含む、方法。
【請求項１２】
前記一組のハミルトン運動方程式は、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐおよび時間ｔについて、
前記一般化座標＜太字＞ｑの時間導関数および前記共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を含む、請求項１１に記載の運動を決定するための方法。
【数５】
2008509427.tif 000161
【請求項１３】
前記再帰的に計算することは、
前記拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算することと、
前記一般化座標＜太字＞ｑの前記時間導関数を順方向に再帰的に計算することと、
拘束された、蓄積された力ベクトルを逆方向に再帰的に計算することとを含み、各拘束された、蓄積された力ベクトルは検討中の前記物体に蓄積された力を表わし、前記再帰的に計算することはさらに、
前記共役正準運動量＜太字＞ｐの時間導関数を求めることを含む、請求項１２に記載の運動を決定するための方法。
【請求項１４】
前記方法はさらに、
他の制限行列を決定するために順方向に再帰的に計算することと、
前記第１の逆方向に再帰的に計算する間に、最後に従属する物体に出会うと再帰方向を逆転させることとを含む、請求項１３に記載の運動を決定するための方法。
【請求項１５】
前記拘束された機械システムについての一組のハミルトン運動方程式を前記得ることは、方法１から１０のいずれかに記載の一組の運動方程式を求めることを含む、請求項１１から１４のいずれかに記載の運動を決定するための方法。
【請求項１６】
前記拘束された機械システムについての一組のハミルトン運動方程式を前記得ることは、データソースから一組のハミルトン運動方程式を入力することを含む、請求項１１から１５のいずれかに記載の運動を決定するための方法。
【請求項１７】
前記運動は、前記拘束された機械システムの順動力学を含む、請求項１１から１６のいずれかに記載の運動を決定するための方法。
【請求項１８】
前記方法は、前記一般化座標＜太字＞ｑまたは前記共役正準運動量＜太字＞ｐの突然の変化に基づいた、前記拘束された機械システムへの衝撃を検討することを含む、請求項１１から１６のいずれかに記載の運動を決定するための方法。
【請求項１９】
前記方法は、互いに接触する複数の物体を検討することを含む、請求項１１から１８のいずれかに記載の運動を決定するための方法。
【請求項２０】
前記複数の物体は剛体であって、各物体は前記複数の物体のうち少なくとも別の物体に関節で接続される、請求項１１から１９のいずれかに記載の運動を決定するための方法。
【請求項２１】
前記運動を決定することは、仮想プロトタイピング、仮想現実またはコンピュータアニメーションのいずれかに適用される、請求項１１から２０のいずれかに記載の運動を決定するための方法。
【請求項２２】
複数の物体を含む拘束された機械システムの運動を、いくつかの時間ステップδｔにわたって計算するための計算装置であって、
前記拘束された機械システムについての一組のハミルトン運動方程式に関連するデータを得るための手段と、
前記いくつかの時間ステップδｔの各々について、前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算するための手段とを含む、計算装置。
【請求項２３】
複数の物体を含む拘束された機械システムの運動を、いくつかの時間ステップδｔにわたって検討するためのコンピュータシステムとともに利用されるコンピュータプログラム製品であって、
前記拘束された機械システムについての一組のハミルトン運動方程式に関連するデータを得るための命令手段と、
前記いくつかの時間ステップδｔの各々について、前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を計算するための命令手段とを含む、コンピュータプログラム製品。
【請求項２４】
請求項２３に記載のコンピュータプログラム製品を格納する機械読取可能なデータ記憶装置。
【請求項２５】
ローカルエリア電気通信ネットワークを介した、請求項２３に記載のコンピュータプログラム製品の伝送。
【請求項２６】
複数の物体を有する拘束された機械システムの運動を決定するための方法であって、
拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算することと、
前記拘束された機械システムの一般化座標＜太字＞ｑの時間導関数を順方向に再帰的に計算することと、
拘束された、蓄積された力ベクトルを逆方向に再帰的に計算することとを含み、各拘束された、蓄積された力ベクトルは、前記拘束された機械システムに蓄積された力を表わし、前記方法はさらに、
共役正準運動量＜太字＞ｐの時間導関数を求めることを含む、方法。
【請求項２７】
前記方法はさらに、
他の制限行列を決定するために順方向に再帰的に計算することと、
前記第１の逆方向に再帰的に計算する間に、最後に従属する物体に出会うと再帰方向を逆転させることとを含む、請求項２６に記載の運動を決定するための方法。
【請求項２８】
運動を決定するためのコンピュータベースのシステムであって、
拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算するための手段と、
拘束された機械システムの一般化座標＜太字＞ｑの時間導関数を順方向に再帰的に計算するための手段と、
拘束された、蓄積された力ベクトルを逆方向に再帰的に計算するための手段とを含み、各拘束された、蓄積された力ベクトルは、前記拘束された機械システムに蓄積された力を表わし、前記システムはさらに、
共役正準運動量＜太字＞ｐの時間導関数を求めるための手段を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の技術分野
本発明は、複数の物体を含む機械システムの運動を視覚化、シミュレート、または予測するシステムおよび方法に関する。より具体的には、本発明は、複数の物体を含む拘束された機械システムの運動を効率的に記述するためのシステムおよび方法、ならびに、複数の物体を含む拘束された機械システムの運動の順動力学を検討、視覚化、シミュレート、または予測する方法およびシステムに関する。この方法は、設計目的または設計性能を証明することに用いられてもよい。さらに、本発明は、運動をシミュレートし、または予測する方法を用いる、多体系の制御のための制御装置、例えばロボットまたは飛行用もしくは搬送用乗り物のシミュレータの動きを制御するための制御装置に関する。その制御は、例えば地球から制御される惑星調査のためのロボット機関の制御など、すなわち許容しがたい伝送遅延を伴って離れてなされることがある。さらに本発明は、このような運動をシミュレートし、または予測するためのソフトウェア実現方法に関する。さらに本発明は、リアルな表示を目的とする多体運動のシミュレーションまたは予測を必要とする、ゲームに関する。
【背景技術】
【０００２】
発明の背景
最近の数十年間、複数の物体を含む、多体系とも呼ばれる機械システムについてのシミュレーション方法の改良についてかなりの労力が注がれてきた。これらの労力が必要とされてきたのは、調査される構造がますます複雑さを増すからであり、また、商品化に要する時間を減じるためまたはリアルタイムの計算を可能にするために、より高速のシミュレーションに対するニーズがあるからである。機械多体系の運動のシミュレーションは、仮想プロトタイピング、仮想現実、およびコンピュータアニメーションなどのさまざまな適用例を有する。仮想プロトタイピングでは、例えば車や宇宙船の着陸装置など、プロトタイプを構築する必要のない機械システムの挙動を検査し検討するために、コンピュータモデルおよびシミュレーションが用いられる。後者は、時間的コスト、経済的コストの両方を著しく低減することができる。仮想現実については、機械多体系の運動のシミュレーションはリアルタイムでなければならないので、非常に効率的である必要がある。機械的なアニメーションは、さまざまな適用例、例えばアニメーション映画およびコンピュータゲームに用いられる。これらのすべての適用例において、高性能の計算能力が不可欠である。
【０００３】
アルゴリズムの有用性は、典型的には２つの重要な要因によって決定される。第１の要因は運動方程式の確立の容易さであり、第２の要因はこれらの方程式の数値積分の容易さである。例えばフェザーストン（Featherstone）による「ロボット動力学アルゴリズム（Robot Dynamics Algorithms）」（１９８７年クルワ学術出版（Kluwer Academic Publishers））に示されるように、多数の物体については、運動方程式を扱う多数の方法のうち、再帰的な公式が極めて効率的であることが判明している。複数の物体を含む機械システムの運動を記述するための周知の方法およびシステムのほとんどは、ニュートン−オイラーの方程式、ラグランジュの方程式、または仮想仕事の原理もしくは仮想パワーの原理、すなわち反力は仮想運動の下ではパワーを送らないことを表わす原理に基づく。これらのすべての場合に２次微分方程式が得られ、アルゴリズムは加速度を計算し、積分することになる。
【０００４】
系を記述するのに用いられる座標の組もアルゴリズムの有用性に強い影響を及ぼす。なぜならば座標のタイプおよび個数が運動方程式の数値積分に強い影響を有するからである
。最小限の組の座標で運動方程式を表わすと、結果として微分方程式がより少なくなるが、それはより結合され、通常、非最小限の公式と比較してより強い非線形性を示す。最小限の組の座標を用いることの利点は、拘束方程式が必要ないこと、常微分方程式（ＯＤＥ）１組のみが解ければよいことである。他方、非最小限の公式は微分代数方程式システム（ＤＡＥ）を結果として生じるが、一般にはるかに確立が容易である。
【０００５】
座標の数の操作に加えて、系を記述するのに用いられる座標のタイプを特別に選択することができる。加速度に基づく公式は、一般化座標および速度について開始値を必要とする。その意味で、これらの方程式を一般化座標および速度における１次微分方程式と考えることもできる。一般化座標およびその共役正準運動量（conjugated canonical momenta）によって表されるハミルトンの方程式が用いられる場合、代替的な公式が得られる。ハミルトン方程式とも呼ばれる前者の方程式は数値積分の間よりよく振る舞い、より高い精度および安定性を結果として生じる。しかしながら、多体動力学の加速度に基づくにおいてはハミルトンの公式は頻繁には用いられない。その理由は恐らく、数値積分の間の挙動が有利であったとしても、ハミルトン方程式の構造が計算上集中的であって、加速度に基づく再帰的なアルゴリズムと競合することができないからである。しかしながら、多体系動力学においてハミルトニアン方程式を用いることは、例えば「自動設計の進歩  １（Advances in Design Automation 1）」（１９８８年）の４１７−４２３頁においてランカラニ（Lankarani）らによって、また「非線形動力学  ５（nonlinear Dynamics 5）（１９９４年）の２０９−２３１頁においてベーヨ（Bayo）らによって説明されるように、極めて肯定的な結果に至っている。２００３年７月１日−４日の「多体動力学（Multibody Dynamics）２００３年、ＩＤＭＥＣ／ＩＳＴリスボン（Lisbon）」においてヌーデ（Naudet）らによって説明されるように、開ループ剛体の多体系についてのハミルトン方程式を確立するための新しい再帰的な方法を導入することによって、共役正準運動量の利用を促進するステップがさらに進められた。後者の方法は、加速度に基づくアルゴリズムについてのハミルトニアンＯ（ｎ）等価物を説明し、それは必要となる算術演算の数のレベルにおける性能上、加速度に基づくアルゴリズムを超える。開ループ多体機構の順動力学を記述する方法の別の例は、「多体系動力学  １０（Multibody System Dynamics 10）」（２００３年）の４５−５９頁においてヌーデらによって説明される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
拘束多体系の動力学を記述することの問題は、例えば閉ループ系の場合がそうであるが、さらに労働集約型かつ面倒である。上述の先行技術の方法を閉ループ系に適用すると、典型的には結果として非能率的な方法となる。例えば計算が拘束方程式のヤコビ行列の使用に基づく場合、それは問題に取り組む正当な方法であるが、強い相互接続が座標間に生成されるので、再帰的なアルゴリズムが望ましい場合に大きな障害が発生する。これは下記に示される。閉ループ多体系または拘束された多体系については、関節座標間に関係が作られる。これらの拘束は、以下の１組の代数方程式として表わすことができる。
【０００７】
【数１】
2008509427.tif 000003
【０００８】
これらの一般に非線形の方程式を扱う代わりに、時間導関数が用いられて関節速度において以下の線形方程式の組を得ることができる。
【０００９】
【数２】
2008509427.tif 000004
【００１０】
【数３】
2008509427.tif 000005
【００１１】
【数４】
2008509427.tif 000006
【００１２】
すると、従属関節速度は下記に等しい。
【００１３】
【数５】
2008509427.tif 000007
【００１４】
【数６】
2008509427.tif 000008
【００１５】
換言すれば、これらの拘束された多体系の運動をシミュレートするために標準的な手法を用いることができるが、座標およびその速度の強い相互依存のために、Ｏ（ｎ）再帰的なアルゴリズムを調整することが困難となる。
【課題を解決するための手段】
【００１６】
発明の概要
本発明の目的は、複数の物体を含む拘束された機械システムの運動を効率的にシミュレートする方法およびシステムを与えることである。上記の目的は、本発明による方法および装置によって達成される。
【００１７】
本発明は、複数の物体を含む拘束された機械システムの少なくとも位置関連情報を計算するために、この拘束された機械システムの運動方程式を用いる方法および装置に関し、前記運動方程式は再帰的に公式化されたハミルトン運動方程式であって、前記方法は、拘束された機械システムの少なくとも位置関連情報を方程式および境界条件から計算するこ
とを含む。
【００１８】
拘束された機械システムは、拘束部分空間を規定する１組の拘束によって拘束され得る。拘束された機械システムはさらに、少なくとも１つの固定関節と、拘束の組のうち少なくとも１つの拘束によって拘束される、少なくとも１つの他の関節とを含んでもよい。この方法は、拘束された機械システムの各Ｋ番目の物体について、前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、系のＫ番目の運動量ベクトルと、前記少なくとも１つの他の関節近くに隣接する物体の射影された、拘束された多関節運動量ベクトルとの合計であって、前記射影された、拘束された多関節運動量ベクトルは前記拘束部分空間に射影され、さらに、Ｋ番目の物体の局所的な基準フレームを参照することと、その後、前記拘束された機械システムについての１組のハミルトン運動方程式を得るために、前記拘束された多関節運動量ベクトルに関連する前記量を用いることとを含む。１組のハミルトン運動方程式を得ることは、一般化座標＜太字＞ｑ（注記：以後特に断りのない限り、文中では太字の文字をこのように表わす）、共役正準運動量＜太字＞ｐおよび時間ｔについて、一般化座標＜太字＞ｑの時間導関数および共役正準運動量＜太字＞ｐの時間導関数についての数式を得ることを含み得る。
【００１９】
【数７】
2008509427.tif 000009
【００２０】
これらの時間導関数についての数式は、前記複数の物体の各々の運動を決定し得る。
【００２１】
【数８】
2008509427.tif 000010
【００２２】
拘束された機械システムは、拘束部分空間を規定する１組の拘束によって拘束され、少なくとも１つの固定関節と、その拘束の組のうち少なくとも１つの拘束によって拘束された少なくとも１つの他の関節とをさらに含み、そこで方法は、拘束された機械システムの各Ｋ番目の各物体について、Ｋ番目の物体は１組のＫの従属する物体を含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、物体Ｋの拘束された多関節運動量
ベクトルと、従属する物体に共役なすべての従属正準運動量の線形関数との合計であって、さらに、前記拘束された機械システムについての１組のハミルトン運動方程式を得るために、前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む。方法は、前記Ｋ番目の物体の拘束された多関節運動量ベクトルを求めることを含んでもよい。系が拘束されていなかった場合、従属する物体ｉに共役な従属正準運動量が正準運動量と考えられてもよい。１組のハミルトン運動方程式を得ることは、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐ、および時間ｔについて、一般化座標＜太字＞ｑの時間導関数および共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を得ることを含んでもよい。
【００２３】
【数９】
2008509427.tif 000011
【００２４】
【数１０】
2008509427.tif 000012
【００２５】
方法は、前記拘束された機械システムにおいていくつかの従属する物体を任意に選択することを含む。
【００２６】
本発明はさらに、複数の物体を含む拘束された機械システムの運動をいくつかの時間ステップδｔにわたって決定するための方法に関し、この方法は、前記拘束された機械システムについての１組のハミルトン運動方程式を得ることと、前記いくつかの時間ステップδｔの各々について、ハミルトン運動方程式の前記組に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算することとを含む。方法はさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報の運動を視覚化、シミュレート、または予測することを含んでもよい。運動を決定することは、運動を視覚化、シミュレート、または予測することであり得る。
【００２７】
１組のハミルトン運動方程式は、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐおよび時間ｔについて、一般化座標＜太字＞ｑの時間導関数および共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を含み得る。
【００２８】
【数１１】
2008509427.tif 000013
【００２９】
再帰的に計算することは、
−拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算することと、
−一般化座標＜太字＞ｑの時間導関数を順方向に再帰的に計算することと、
−拘束された、蓄積された力ベクトルを逆方向に再帰的に計算することとを含み、拘束された、蓄積された各ベクトルは検討中の物体上に蓄積された力を表わし、さらに、
−共役正準運動量＜太字＞ｐの時間導関数を求めることを含み得る。
【００３０】
方法はさらに、他の制限行列を決定するために順方向に再帰的に計算することと、前記第１の逆方向に再帰的に計算する間に最後の従属する物体に出会うと再帰方向を逆転させることとを含み得る。
【００３１】
前記拘束された機械システムについての１組のハミルトン運動方程式を得ることは、拘束された機械システムの運動方程式を求めるための本発明による方法のうちいずれかに従って運動方程式の組を求めることを含んでもよい。
【００３２】
前記拘束された機械システムについての１組のハミルトン運動方程式を得ることは、データソースからハミルトン運動方程式の組を入力することを含んでもよい。
【００３３】
運動は、前記拘束された機械システムの順動力学を含んでもよい。方法は、前記一般化座標＜太字＞ｑまたは前記共役正準運動量＜太字＞Ｐにおける突然の変化に基づいた、前記拘束された機械システムへの衝撃を検討することを含んでもよい。方法は、互いに接触する複数の物体を検討することを含んでもよい。複数の物体は剛体でもよく、各物体は前記複数の物体のうち少なくとも別の物体に関節で接続される。運動を決定することは、仮想プロトタイピング、仮想現実またはコンピュータアニメーションのいずれに適用されてもよい。
【００３４】
本発明はさらに、複数の物体を含む拘束された機械システムの運動をいくつかの時間ステップδｔにわたって決定するための計算装置に関し、計算装置は、前記拘束された機械システムについての１組のハミルトン運動方程式に関するデータを得るための手段と、前記いくつかの時間ステップδｔの各々について、ハミルトン運動方程式の前記組に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算するための手段とを含む。運動を決定することは、運動を計算することでもよい。運動を決定することはさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を視覚化、シミュレート、および／または予測することを含んでもよい。
【００３５】
本発明はさらに、複数の物体を含む拘束された機械システムの運動をいくつかの時間ステップδｔにわたって決定するためのコンピュータシステムとともに利用される、コンピュータプログラム製品にも関し、コンピュータプログラム製品は、前記拘束された機械システムについての１組のハミルトン運動方程式に関するデータを得るための命令手段と、前記いくつかの時間ステップΔｔの各々について、前記ハミルトン運動方程式の組に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を計算するための命令手段とを含む。運動を決定することは、運動を視覚化、シミュレート、およ
び／または予測することであってもよい。運動を決定することはさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を視覚化、シミュレート、および／または予測することを含んでもよい。
【００３６】
本発明はさらに、いくつかの時間ステップδｔにわたって、複数の物体を含む拘束された機械システムの運動を決定するためのコンピュータシステムと共に用いられるコンピュータプログラム製品を格納する、機械読取可能なデータ記憶装置に関し、コンピュータプログラム製品は、前記拘束された機械システムについての１組のハミルトン運動方程式に関するデータを得るための命令手段と、前記いくつかの時間ステップδｔの各々において、前記１組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を計算するための命令手段とを含む。運動を決定することは、運動を視覚化、シミュレート、および／または予測することであってもよい。運動を決定することはさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を視覚化、シミュレート、および／または予測することを含んでもよい。
【００３７】
上述のように、本発明はさらに、通信ネットワークを介したコンピュータプログラム製品の伝送に関する。ネットワークはローカルエリア通信ネットワークであってもよい。本発明はさらに、複数の物体を有する拘束された機械システムの運動を決定するための方法をも与え、この方法は、
−拘束された機械システムについて拘束された多関節質量行列を逆方向に再帰的に計算することと、
−拘束された機械システムの一般化座標＜太字＞ｑの時間導関数を順方向に再帰的に計算することと、
−拘束された、蓄積された力ベクトルを逆方向に再帰的に計算することとを含み、各拘束された、蓄積された力ベクトルは、拘束された機械システム上に蓄積された力を表わし、さらに、
−共役正準運動量＜太字＞ｐの時間導関数を求めることを含む。運動を決定することは、運動を視覚化、シミュレート、および／または予測することを含んでもよい。運動を決定することはさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を視覚化、シミュレート、および／または予測することを含んでもよい。
【００３８】
この方法はさらに、他の制限行列を決定するために順方向に再帰的に計算することと、前記逆方向に再帰的に計算する間に、最後の従属する物体に出会うと再帰方向を逆転させることとを含んでもよい。
【００３９】
本発明はさらに、運動を決定するためのコンピュータベースのシステムを与え、システムは、拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算するための手段と、拘束された機械システムの一般化座標＜太字＞ｑの時間導関数を順方向に再帰的に計算するための手段と、拘束された、蓄積された力ベクトルを逆方向に再帰的に計算するための手段とを含み、各拘束された、蓄積された力ベクトルは拘束された機械システムに蓄積された力を表わし、さらに、共役正準運動量＜太字＞ｐの時間導関数を求めるための手段を含む。運動を決定することは、運動を視覚化、シミュレート、および／または予測することであってもよい。運動を決定することはさらに、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を視覚化、シミュレート、および／または予測することを含んでもよい。
【００４０】
本発明による多体系の運動をシミュレートするための方法およびシステムの利点は、多数の物体を含む多体系、すなわちたとえば少なくとも８個の物体を有する系について、優れたシミュレーション結果を得るために必要とされる算術演算の数が限定されること、すなわち先行技術の手法と比較して低減されることである。
【００４１】
本発明によって、拘束違反誤差の評価がよい、すなわち先行技術の手法よりも拘束違反誤差が少ない運動方程式を得ることが可能になることも利点である。
【００４２】
さらに、このシミュレーション方法およびシステムの一定のパラメータについて特定の値を選択することにより、閉ループ機械システムのための方法を開ループ機械システムにも用いることができることも、本発明の別の利点である。
【００４３】
さらに本発明は、機械システムの順動力学を計算すること、機械システムに対する衝撃を検討すること、および、接触している物体はトポロジーが変化する多体系として扱うことができるので、異なる物体間の接触を検討することのために用いることができるのも、本発明の利点である。
【発明の効果】
【００４４】
本発明の教示は、拘束された機械多体系の運動をシミュレートするための改良された方法およびシステムの設計を可能にする。
【発明を実施するための最良の形態】
【００４５】
本発明のこれらの、および他の特性、特徴および利点は、添付の図面に関連して以下の詳細な説明から明らかになり、図面は本発明の原理を例によって図示する。この説明は本発明の範囲を限定することなく例としてのみ与えられる。下記に引用される参照符号は添付の図面を参照する。
【００４６】
例示的な実施例の説明
本発明は特定の実施例に関し、一定の図面を参照して説明されるが、本発明はそれらに限定されるものではなく、請求項によってのみ限定される。説明された図面は概略的であり非限定的である。図面において、説明の目的のためにいくつかの要素のサイズは誇張されていることがあり、必ずしも縮尺通りに描かれないことがある。
【００４７】
請求項で用いられる用語「含む（comprising）」は、後に列挙される手段に限定されるよう解釈されるべきではなく、それは他の要素またはステップを排除するものではないことに注意されるべきである。したがって、表現「手段ＡおよびＢを含む装置」の範囲は、構成要素ＡおよびＢのみから構成される装置に限定されるべきではない。これは本発明に関しては、装置のうち関連する構成要素のみがＡおよびＢであることを意味する。
【００４８】
本発明は、拘束された機械多体系の運動を効率的に求め、またはシミュレートすることを可能にする。運動を決定することは、運動のシミュレーション、予測、または視覚化であってもよい。本発明は、拘束された機械多体系の順動力学について、再帰的なアルゴリズムにおいてハミルトンニアンの形式を用いることに焦点を絞る。下記において、拘束された機械多体系はさらに閉ループ機械多体系と称される。典型的には、閉ループ機械多体系についてトポロジーが検討される。本明細書において、用語「拘束された多体系」および「閉ループ系」は、開放端または自由端がない系についてのみ用いられるのではなく、開放端または自由端がない系の一部と１つ以上の開放端がある系の一部とを組合せた系についても用いられる。本発明は、拘束された機械的多体サブシステムと拘束されない機械多体系とを組合せる系においても用いることができる。このような系の扱いについては、これらの系は、本発明に従った方法で検討される拘束されたサブシステムと、いずれかの適切な方法で検討される拘束されないサブシステムとに分割され、その方法は、本発明による、拘束方程式が課されない方法を含む。下記において、拘束された系または拘束されたサブシステムを計算することのみを扱う。
【００４９】
閉ループ機械多体系内に存在する拘束の数は、１、２、３、またはそれ以上であり得る。拘束の数は、物体の数および物体間の関節のタイプに依存する。さらに、機械システムは、単一のループ、または多体系の２つの端部においてのみ拘束された系に限定されるわけではない。拘束は、レオノーム拘束を含む、物体間のいかなる種類の運動学的拘束であってもよい。本明細書において多体系とは、複数の物体を含むすべての機械システムを意味する。多体系は関節によって接続されるいくつかの剛体であっても、たとえば互いに接触するいくつかの自由体であっても、またはこれらの組合せであってもよい。本発明は、接続された物体を含む系において用いられる関節のタイプによっては限定されない。関節は、たとえば回転関節または平行移動関節であってもよい。本発明は変形が存在しない物体について説明されているが、変形可能な物体に対する拡張も実行され得ることは当業者にとって明らかであろう。
【００５０】
本発明を説明するために用いることができる明示的な数学的言語は、たとえば行列代数、ベクトル代数、または対応するベクトル空間の表現などであり得るが、本発明はそれらに限定されない。本発明の実施例に従って計算を実行する他の方法は、たとえばニューラルネットワークを適用することによって可能である。さらに、本発明の実施例の公式化は、１つの記述の中で異なる数学的言語を用いて行なうことができる。ベクトル代数によって導入される概念は、行列代数を用いて、またはベクトル空間表現を用いても等しく表わすことができ、その逆も成立する。本発明の実施例の本説明は、例として、ベクトルおよび行列代数を用いてなされる。機械多体系が従う必要のあるさまざまな物理的関係および拘束は方程式を用いて表わされる。典型的には、拘束された系を記述するための方程式の数は、拘束されない系の記述のための数よりも大きい。拘束はいくつかの拘束方程式として表わされる。ベクトル空間表現では、拘束方程式は拘束部分空間を規定し、数学的方程式の解または物理量の値が拘束と一致する必要がある場合は、数学的方程式の解または物理量の値は、その拘束部分空間（の一部）に限定される必要がある。
【００５１】
本発明の方法は、運動方程式の再帰的な公式に基づく。再帰的な公式は、部分的にそれ自体によって規定されるエンティティを規定する。換言すれば、再帰的な公式は自己参照要素がある公式であって、すなわちエンティティはそれ自体を参照することによって部分的に規定される。再帰的な構成も関数の公式として規定されてもよく、そこからその関数の値を有限数のステップにおいてかなり正確に計算することができる。
【００５２】
本発明の方法はハミルトン運動方程式に基づく。一般に機械システムの運動方程式のハミルトンの公式は当業者に周知である。運動方程式のハミルトンの公式は、典型的には、一般化座標および正準運動量の関数として表わされる運動方程式の公式である。
【００５３】
本発明の第１の実施例において、拘束された機械システムの運動を決定することを可能にする１組の運動方程式を用いるための方法が説明される。拘束された機械システムは、拘束された多体系であってもよい。方法は、拘束された多体系の運動方程式のハミルトニアン形式を得ることに基づく。拘束は閉ループ多体系を伴ってもよい。運動方程式の一般的なハミルトニアン形式は、一般化座標＜太字＞ｑの時間導関数と共役正準運動量＜太字＞ｐの時間導関数とによって表わすことができる。
【００５４】
【数１２】
2008509427.tif 000014
【００５５】
【数１３】
2008509427.tif 000015
【００５６】
下記において、方法１００の異なるステップを適用するための可能な方法がさらに詳細に与えられる。方法１００のステップを実行するための明示的アルゴリズムが例としてのみ与えられ、いずれかの、またはすべてのステップを実行するための異なるアルゴリズムが本発明の範囲を出ることなく用いられ得ることは、当業者にとって明らかである。
【００５７】
拘束された多体系の動力学的分析ステップ１０２において、多体系において従属する物体と考えられる物体が決定される。この明細書において、従属する物体は、その共役座標が従属的である、多体系における物体として定義される。従属する物体の数は、これらの従属する物体の拘束の数および関節のタイプ、すなわち関節の自由度数によって決定される。たとえばピン継手は自由度１を有するが、球面継手は自由度３を有する。従属する物体の関節の自由度の合計が拘束の数と等しい場合、従属する物体の有効な組が得られる。したがって、従属する物体の数は固定されず、選択された従属する物体の関節の種類に依存する。物体と関節との番号付けは、通常閉ループ系についてそれがなされる原理と同一の原理に基づいてなされる。固定端における物体、すなわち壁や床などに接続された物体は最小の番号を有し、物体が拘束の組のうちのある拘束によって拘束された他の関節に近づくにつれて、より大きな番号が付けられる。他の関節は、たとえばループ端部、多体系の環境の機構への摺動可能な接続部などであり得る。他の関節の数はこの明細書にある１には限定されず、２、３、またはそれ以上であってもよい。
【００５８】
特定の物体について、外部の物体は、その物体自体よりも他の関節に近く位置決めされる物体であって、一方内部の物体については、考慮される物体よりも他の関節から遠ざかった他の物体が言及される。換言すれば、本体の番号付け、および、ある物体の内部、外部の物体の定義は、以下のように行なうことができる。第１に、系のベースが選択される。これはしばしば異なる有効な方法で行なうことができる。典型的には、ベースは動かない基準フレーム、たとえば壁、天井などに接続された物体として選択される。動かない基準フレーム自体は０番を得、ベースの物体は１番を得る。ベースの物体はそこに１つ以上の物体を接続することができる。この場合、ベースの物体は親と呼ばれ、親に直接接続される他の物体は子である。子は常により大きな番号を有し、親の外部の隣接する物体である。親は常に子よりも番号が小さく、これらの子と比較して常に内部の物体である。子体Ｋは常に、Ｐａ（Ｋ）として表示される１人の親を有するが、Ｃｈ（Ｋ）として表示される１つ以上の子の物体をそこに接続することができる。これらの１つ以上の子の物体は子の物体Ｋについての外部の物体であって、子の物体Ｋより大きな識別番号を有する。番号付けは、開放端の先端に達するまで、動かない基準に達するまで、または物体が既に番号が付けされた物体に達するまで行われる。閉ループ系における番号付けを示すため、関節の切断が図２に示される。図２は、２つの運動学的ループを有する閉ループ系を示す。番号０および１２で示される２つの地面との接続と、物体３から９で示される１つの内側ループとがある。一定の関節を壊すことによって開ループ系が得られる。たとえば物体９と物体３との間の関節および物体１１と物体１２との間の関節が選択されて切り離されてもよい。取除かれた関節は拘束関節と呼ばれる。ツリーを外部に向かう方向にスイープすると最初に遭遇する内側ループの要素がループベースと呼ばれる。これは図２では物体３である。それは１つの子、すなわち物体４を有する。物体９のみが子孫である。
【００５９】
【数１４】
2008509427.tif 000016
【００６０】
【数１５】
2008509427.tif 000017
【００６１】
【数１６】
2008509427.tif 000018
【００６２】
【数１７】
2008509427.tif 000019
【００６３】
【数１８】
2008509427.tif 000020
【００６４】
【数１９】
2008509427.tif 000021
【００６５】
Ｋは、考慮される他の関節に関連するすべての従属する物体を表わす。Ｌは、他の関節のベースの物体または特定の物体である。物体が地面である場合、物体Ｌの空間速度ΩLはゼロである。この場合、後者は物体Ｃの空間速度ΩCとも呼ばれることができ、ここでＣは環境を表わすが、物体Ｃの空間速度ΩCは物体Ｌの空間速度ΩLとは異なる基準フレームで表わされる。行列＜太字＞Ｃは、多体系の拘束の行列の表現である。このように、ヤコビ行列を直接使用せずに従属速度を得ることが可能である。この方法を用いて、閉ループ系の順動力学についての再帰的なアルゴリズムが可能になる。
【００６６】
関節座標に共役な共役正準運動量は、以下のステップにおいてここでさらに計算される。ステップ１０８において、拘束された多関節運動量ベクトルが計算される。剛体の運動量ベクトルは下記のように定義される。
【００６７】
【数２０】
2008509427.tif 000022
【００６８】
ここで、ＭKは物体Ｋの質量であり、ΩKはその空間速度である。物体の多関節運動量ベクトルは、その物体の運動量ベクトルおよびそこまで低減されたすべての外部の物体の運動量ベクトルの合計である。
【００６９】
【数２１】
2008509427.tif 000023
【００７０】
多体系のすべての物体について多関節運動量ベクトルを規定し、ここでＯＢは「外部の物体」、ＡＯＢは「隣接した外部の物体」を意味する。拘束された多関節運動量ベクトルは最後に以下のように定義される。
【００７１】
【数２２】
2008509427.tif 000024
【００７２】
【数２３】
2008509427.tif 000025
【００７３】
ステップ１１０において、共役正準運動量が計算される。共役正準運動量を計算するために、独立座標への空間速度の偏導関数が必要である。独立空間速度については、以下が得られる。
【００７４】
【数２４】
2008509427.tif 000026
【００７５】
上述のように、リンクの番号付けが、開ループ系についてと同じように起るが、他の関節はその目的のためにまず切断される。したがって、外部は常に他の関節または開放端を指す。開ループ系については、外部の物体は検討中の物体Ｋよりも大きな識別番号を得る。複雑な多体系が複数の他の関節を伴って記述される場合、番号付けは異なっていてもよい。従属速度については、以下の再帰的な方程式となる。
【００７６】
【数２５】
2008509427.tif 000027
【００７７】
ｉは、従属する物体Ｋdepの識別番号より常に小さい。なぜならば従属座標に関する偏導関数が得られないからである。ここで共役正準運動量を計算することができる。定義［２２］を用いて［２３］が得られる。
【００７８】
【数２６】
2008509427.tif 000028
【００７９】
このように共役正準運動量は、関節部分空間上に射影される拘束された運動量ベクトルである。拘束された運動量ベクトルの導入により、閉ループ系についての再帰的なハミルトンのアルゴリズムの構築が可能になる。
【００８０】
ステップ１１２において、共役正準運動量または関節部分空間上の拘束された運動量ベクトルの射影は、空間速度の関数として表わされる。これは、拘束された運動量ベクトルを物体の運動量ベクトルおよび隣接した外部の物体の運動量ベクトルの関数として表わす方程式［１５］を用いて得ることができる。次に、運動量ベクトルは、質量および空間速度の関数として、すなわち方程式［１３］を用いて表わすことができる。これは、その物体の空間速度の関数としての拘束された運動量ベクトルの数式に至る。
【００８１】
【数２７】
2008509427.tif 000029
【００８２】
ステップ１１６において、仮想パワーの原理が拘束された多体の問題に適用される。仮想パワーの原理は、機械システムに作用する反力が仮想運動の下ではパワーを送らないことを述べる。それは以下のフォームで表わすことができる。
【００８３】
【数２８】
2008509427.tif 000030
【００８４】
Ωi*は仮想空間速度であって、Ｐiは運動量ベクトルであり、Ｔiは物体ｉに対する空間外力ベクトルである。換言すると、ある物体に作用する反力を有するその物体のいずれかの仮想空間速度の生成品の合計はゼロに等しく設定されなければならない。仮想空間速度を座標速度の関数として表わし、従属座標速度を独立座標速度の関数として表わした後、上記の方程式は２ｎ一次微分方程式の組に分離され得、ｎは系の自由度（ＤＯＦ）数である。ヤコビを使用する場合には問題が生じる。なぜならばそれは、これらの方程式に強い相互依存を導入し、再帰的なＯ（ｎ）方法を調整することを不可能にするか、または非常に難しくするからである。これが、本方法１００においてステップ１０２から１０６が用いられる理由である。
【００８５】
ステップ１１８において、対応する方程式は独立関節速度の関数としてのみ表わされる。このように得られた数式における係数はゼロに等しく設定される。
【００８６】
以下のフォームの数式を得るために、独立関節速度のみの関数として仮想パワーの原理を書くことができる。
【００８７】
【数２９】
2008509427.tif 000031
【００８８】
考慮される関節速度が独立であり、上記の数式が仮想速度のいずれかの組について保持しなければならないので、係数Ａiはゼロに等しくなければならない。これは、独立仮想関節速度に関連する方程式［２４］の左側の偏導関数がゼロでなければならないというステートメントと等価である。
【００８９】
ステップ１２０において、拘束された、蓄積された力ベクトルは多体系の物体に作用する力の合計を表わし、逆方向の再帰的な方程式によって定義される。
【００９０】
【数３０】
2008509427.tif 000032
【００９１】
下記において、拘束された多体系の運動のシミュレーションについての運動方程式を求める２つの明示的な例が挙げられる。第１の例１６０は、Ｎ個のチェーンリンク１６２を有する平面の鎖の動きについての図であって、鎖の第１の端部は、壁または天井などの動かない環境に、たとえばピン継手１６４などの関節によって固定され、一方で鎖の第２の端部は、たとえば固定ロッド１６６に摺動可能に取付けられるなど、可動に取付けされる。このような鎖の例は図３ａに示される。第２の例１８０は、Ｎ個のチェーンリンクを含
む平面の鎖の図であって、そこにはループ１８２が存在する。この系は図３Ｂに示される。
【００９２】
例１
第１の例１６０は、Ｎ個のリンク１６２を有する平面の鎖であって、図３ａに示される例においては９個のリンク１６２がある。その一方端はピン継手１６４によって動かない環境に固定され、他方端は固定ロッド１６６に沿って摺動可能に取付けられる。Ｎ＋２個の関節座標がある。各ピン継手１６４の各々について１つずつ、および鎖の端部について付加的な２個がある。自由度（ＤＯＦ）数はＮ−１であって、これは３つの座標が従属物として選択されることを示す。上述の方法は、１組のハミルトン運動方程式を得るためにここで用いられる。最終の物体および拘束に関連する座標を従属座標＜太字＞ｑNおよび＜太字＞ｑcとして選択することができ、最後のベクトルは２つの座標を有するベクトルである。剛体Ｋの運動は、いわゆる空間速度＜太字＞ΩKによって記述され得る。
【００９３】
【数３１】
2008509427.tif 000033
【００９４】
以下に示されるように、従属する物体の空間速度を隣接する内部の物体の空間速度の関数として表わすことが可能である。
【００９５】
【数３２】
2008509427.tif 000034
【００９６】
仮想物体として考慮することもできる環境の空間速度＜太字＞ΩCはゼロである。このように、他の関節の関節速度は最後の物体の空間速度の関数として書くことができる。
【００９７】
【数３３】
2008509427.tif 000035
【００９８】
方程式［２８］に代入すると下記の結果となる。
【００９９】
【数３４】
2008509427.tif 000036
【０１００】
【数３５】
2008509427.tif 000037
【０１０１】
【数３６】
2008509427.tif 000038
【０１０２】
【数３７】
2008509427.tif 000039
【０１０３】
【数３８】
2008509427.tif 000040
【０１０４】
後者はいくつかの面倒な計算の後に得られる。方程式［３９］の関節部分空間への射影
は下記の結果となる。
【０１０５】
【数３９】
2008509427.tif 000041
【０１０６】
他方の関節Ｋに共役な運動方程式は、開ループ系に対するものと同じフォームを有する。
【０１０７】
【数４０】
2008509427.tif 000042
【０１０８】
ここで拘束された力ベクトルは下記のようである。
【０１０９】
【数４１】
2008509427.tif 000043
【０１１０】
【数４２】
2008509427.tif 000044
【０１１１】
【数４３】
2008509427.tif 000045
【０１１２】
各項は＜太字＞ΩN-1の関数として表わされる必要があり、以下が得られる。
【０１１３】
【数４４】
2008509427.tif 000046
【０１１４】
拘束された運動量ベクトルは以下のようになる。
【０１１５】
【数４５】
2008509427.tif 000047
【０１１６】
【数４６】
2008509427.tif 000048
【０１１７】
【数４７】
2008509427.tif 000049
【０１１８】
【数４８】
2008509427.tif 000050
【０１１９】
【数４９】
2008509427.tif 000051
【０１２０】
これは開ループ系についてのものと同じフォームである。残る関節速度Ｋはこのように同じ方法で計算することができる。
【０１２１】
方程式［５２］は、一般化座標の導関数についてのハミルトン運動量方程式がどのように得られるかを示し、そこで拘束された質量行列についての逆方向の再帰が必要であり、方程式［５０］として表わされる。一般化座標の導関数についての他のすべてのハミルトン運動方程式は、方程式［４４］から［５８］で表わされるように、順方向の再帰を適用することによって得ることができる。
【０１２２】
このように、例１についてはハミルトン方程式が求められ、再帰的な方法によって公式化される。
【０１２３】
例２
【０１２４】
【数５０】
2008509427.tif 000052
【０１２５】
【数５１】
2008509427.tif 000053
【０１２６】
＜太字＞Ωｃおよび＜太字＞ΩＬの関係は剛体における速度場によって記述される。部分空間＜太字＞Ｅｃ上の射影後、以下が得られる。
【０１２７】
【数５２】
2008509427.tif 000054
【０１２８】
方程式［５９］に代入すると以下の結果となる。
【０１２９】
【数５３】
2008509427.tif 000055
【０１３０】
【数５４】
2008509427.tif 000056
【０１３１】
【数５５】
2008509427.tif 000057
【０１３２】
方程式［５９］に代入した後、以下が得られる。
【０１３３】
【数５６】
2008509427.tif 000058
【０１３４】
【数５７】
2008509427.tif 000059
【０１３５】
【数５８】
2008509427.tif 000060
【０１３６】
これは対称行列である。さらに計算すると以下の結果を生じる。
【０１３７】
【数５９】
2008509427.tif 000061
【０１３８】
【数６０】
2008509427.tif 000062
【０１３９】
【数６１】
2008509427.tif 000063
【０１４０】
方程式［７５］の射影は、結果として共役正準運動量の時間導関数についての数式となり、それは方程式［４１］および［４２］に類似する。他のループ体は、物体Ｌまで、例１の場合と同じように扱われる。拘束されたベースの物体Ｌにおいて、反力およびトルクは鎖の閉鎖によって互いに平衡を取る。その物体以降、鎖を開ループ系として扱うことができる。
【０１４１】
【数６２】
2008509427.tif 000064
【０１４２】
この発明の実施例の利点は、加速度に基づく手順に必要であるほど、再帰的なステップが加速度には必要でないことである。
【０１４３】
第２の局面では、この発明は拘束された機械システムの運動、たとえば拘束された機械
システムの動力学を決定するための方法に関する。機械システムは多体系であってもよい。運動を決定することは、運動を視覚化、シミュレート、予測することであってもよい。この方法は、たとえば拘束された多体系についての運動方程式を得ることと、拘束された多体系の動力学が特定のタイムフレームにわたって計算され得るようにこれらの運動方程式を適用することとによって系の動力学についてのモデルを得ることを含む。この方法は図４に示され、図４では、この実施例の方法の異なるステップが示される。この実施例では、象徴的な方法で表わされる物理量および非物理量の定義は、第１の実施例で与えられたものに類似している。
【０１４４】
第１のステップ２０２では、系の動力学についてのモデルが、たとえば運動方程式のハミルトン公式を得ることによって得られ、このハミルトン公式は一般化座標の時間導関数および共役正準運動量の時間導関数を表わす。これらの方程式は、たとえば以前に保存されたデータを用いてデータを入力することによって、または以前の実施例に記載された方法を用いてこれらの方程式を計算することによって得られることができる。これらの方程式はさらに、検討されるべき多体系の特定の状況について速やかに得られる場合もあれば、これらの方程式はより一般的な形で得られる場合もあり、それによって、多体系を特徴付ける特定の非動力学指向のパラメータは依然としてユーザによって与えられる必要がある。方程式が実行時に計算される場合には、最初に、系のトポロジー、関節の種類、多体系の質量、慣性および幾何学的特性の情報が得られる。運動方程式を得ることは、系の予めコンパイルされた運動方程式をロードすることによって、または代替的には実行時にこれらの方程式をセットアップすることによって実行されることができる。これらの方程式がいかに得られるかという厳密な方法はこの発明を限定するものではない。これらの方程式は、既に上述されたように、以下によって与えられる。
【０１４５】
【数６３】
2008509427.tif 000065
【０１４６】
第２のステップ２０４では、計算を行なうのに必要なパラメータが与えられる。これらのパラメータはたとえば、とりわけ初期時間ｔ＝ｔiを有する系の初期条件と、終止条件、つまり計算が行なわれる必要がある機械システムに関連付けられる期間Δｔとを含んでもよい。計算の開始時に系の公知の状態を表わす他の初期値、たとえば初期位置も与えられてもよい。与えられ得る他のパラメータは、たとえば重力および駆動などの、系に加えられる力ならびにトルクである。これらのパラメータを与えることによって、拘束された機械多体系の動力学を決定することが可能である。
【０１４７】
ステップ２０６では、初期情報または以前のサイクルで得られた情報に基づいて計算が新しい時間ｔについて後続のステップで得られることができるように時間ｔは時間ステップδｔで増大される。順動力学を計算するために用いられる時間ステップδｔは主に、記載される拘束された機械多体系についておよびこれらの計算を行なうために用いられるコンピュータシステムの計算能力について、計算が行なわれる特定の用途によって決定される。本願の方法およびシステムにおいて用いられ得る時間ステップδｔは、他のタイプの計算で用いられる時間ステップと少なくとも同一のものである可能性があるが、さらにこの範囲を超える可能性がある。なぜなら必要な計算の回数が他のタイプの計算よりも少ないためであり、これによって、同一の計算時間で同一の期間Δｔを計算するためのより小さな時間ステップが可能である。代替的には、時間ステップδｔはさらに他のタイプの計
算よりも大きくてもよい。なぜならこの発明の計算方法およびシステムにおける収束の程度が他の先行技術のシステムよりも大きいためである。方法２００は次いでステップ２０８に進む。
【０１４８】
ステップ２０８では、時間ｔにおいて検討中の拘束された機械多体系の動力学を得るために計算が行なわれる。このステップは、得られたハミルトン運動方程式およびハミルトン運動方程式を求めるために用いられるいくつかの量の定義に基づいた異なる計算を含む。この結果によって、ハミルトン運動方程式の再帰的な公式に基づいて、拘束された機械多体系を完全に特徴付けるパラメータを得ることができる。後者はアルゴリズムの高効率を可能にし、必要な計算能力の量を低減できる。この方法はさらに、拘束違反誤差の数を減らす。拘束された機械多体系を特徴付けるパラメータの明示的な値を計算する可能な方法がステップ２１０からステップ２２０に示されるが、この発明は計算のこの具体的な方法に限定されるものではない。
【０１４９】
【数６４】
2008509427.tif 000066
【０１５０】
ステップ２１４では、逆方向の再帰的なステップを用いて、拘束された、蓄積された力ベクトルが求められる。この逆方向の再帰的なステップのために用いられる方程式の例は、例１のために求められた方程式［４３］である。このように、拘束された、蓄積された力ベクトルが得られる。拘束された、蓄積された力ベクトルは、別個の再帰ステップを必要とする。なぜなら拘束された、蓄積された力ベクトルは運動量ベクトルに依存しているためである。
【０１５１】
ステップ２１６では、ステップ２０２で得られた方程式［７７］を用いて、一般化座標に共役な正準運動量の時間導関数が求められる。これらの方程式の実際の例証は、例１の方程式［３９］から［４３］から得られることができる。方程式［４２］の中に存在する拘束された、蓄積された力ベクトルの値は、ステップ２１４で行なわれた計算に基づいて導入される。このように、ハミルトン運動方程式の第２の部分に一致する結果が得られる。
【０１５２】
ステップ２１８では、時間ｔにおいて拘束された機械多体系を完全に特徴付けるのに必要なパラメータがいくつかのサイクルにわたって決定される。これによって、たとえば異なる物体の経路について、起こり得る衝撃について、または接触しているもしくは接触していない物体についての拘束された機械多体系の情報を得ることが可能である。これらの結果は速やかに保存または出力または表示されることができる。この方法は、拘束された機械システムの物体の位置関連情報を視覚化、予測またはシミュレートすることを含んでもよい。得られた結果は典型的には、仮想プロトタイピング、仮想現実、コンピュータアニメーションおよび航空電子工学の分野に適用されるが、この発明はこれらの用途に限定されるものではない。仮想プロトタイピングによって、現実のプロトタイプシステムを製造する必要なくプロトタイプ多体系のための検査をシミュレートできる。後者は、時間的コストおよび経済的コストの両方を低減するので大きな利点を有する。仮想プロトタイピングの分野における用途のいくつかの例は、道路の車の動的なシミュレーションを行なうこと、車、ロボットなどのための代替的な設計を検討すること、ロボットの足のシミュレーション、構成要素または環境要因が変化したときの代替的な挙動を予測することなどである。別の用途は、たとえば宇宙船における最適な質量補償、つまり能動振動の決定である。仮想現実の場合には、計算の結果は典型的にすばやく読出される。なぜならリアルタイムの表現を得る必要があるためである。仮想現実のための典型的な用途は、車などの動く物に存在する効果などのシミュレートされるものの物理的効果を感じることができるゲームまたはシステムである。コンピュータアニメーションの分野において、つまり多体系である物理的システムの少なくとも近似設計を視覚化するためにも用途が見出されることができる。後者はたとえば人が走っていることを表示するゲームの中でアニメーションのために用いられる。
【０１５３】
決定ステップ２２０では、系の精度および安定性が十分に高いかどうかまたはステップ２１０から２１８の繰返しが必要であるかどうかが判断されることになる。再帰的なステップを実行する数値積分器は典型的には、精度および安定性を確保するために再帰的なステップを二度以上実行する。精度および安定性が十分に高い場合には、方法２００はステップ２２２に進む。そうでなければ、ステップ２１０から２１８が数値積分器によって繰返される。決定ステップ２２０を適用する、したがってフィードバックループを与える代わりに、ステップ２１０から２１８の一定数の実行を用いることも可能である。
【０１５４】
決定ステップ２２２では、拘束された機械多体系の順動力学の他の計算が必要であるかどうか、つまり対象の順動力学の十分な計算が既に行なわれているかどうかが判断されることになる。現在の時間が終了時間ｔendに等しい場合には、この計算は終了し、方法２００は終了ステップ２２４に進む。終了時間ｔendは、予め定められた値である場合もあれば、計算の発散の程度に依存する場合もある。代替的には、終了時間は特定の事象の発生によっても決定されてもよい。終了時間にまだ到達していない場合には、方法２００はステップ２０６に進み、時間がδｔで増大された後に新しい計算サイクルが再開される。
【０１５５】
この発明の第３の局面では、拘束された多体系の運動を決定できる一組の運動方程式を用いるための方法が記載され、この方法は第１の実施例に類似しているが、従属する物体の任意の選択がなされる。それによって、運動を決定することは、拘束された多体系の運動、つまり拘束された多体系の異なる物体についての位置関連情報を視覚化、シミュレートまたは予測することであってもよい。したがって、第１の実施例では、基礎をなす開ループ構造の端部において、つまりこの構造を切離すことによって得られる開ループ構造の端部において従属する物体が選択されていたのに対して、この実施例では、従属する物体の選択の任意の選択を可能にする方法がもたらされる。後者は特異点の問題の回避を可能にすることに有利である可能性がある。第１の実施例に記載された方法が本質的にはこの実施例によっても記載されることは当業者にとって明らかである。後者は平面の鎖の例についても示されることになり、それによって、基礎をなす開ループの端部における従属す
る物体の選択のためにおよび従属する物体の任意の選択のために運動方程式が求められる。従属する物体／独立の物体の任意の選択は、運動方程式を求めるための再帰的な式を混同することにつながる可能性がある。独立座標の任意の選択がなされる場合には、従属空間速度は内部の独立の物体に低減されることになるだけでなく、外部の独立の物体に影響を与えることにもなり、したがって、再帰的な関係を混乱させる。したがって、従属空間速度は第１の逆方向の再帰ステップでは自動的に扱われることができない。したがって、再帰的な式はわずかに異なる方法で得られる。
【０１５６】
【数６５】
2008509427.tif 000067
【０１５７】
運動方程式の一般的なハミルトニアン形式は、一般化座標＜太字＞ｑの時間（ｔ）導関数および共役正準運動量＜太字＞ｐの時間導関数によって表わされることができる。
【０１５８】
【数６６】
2008509427.tif 000068
【０１５９】
多体系の場合には、物体の各々はその一般化座標＜太字＞ｑおよびその共役正準運動量＜太字＞ｐの時間導関数についての方程式によって表わされることになる。この発明の実施例は、複数の物体を含む拘束された機械システムの動力学が計算され得るように運動方程式についての再帰的な公式を与える。閉ループ系の完全な運動方程式を得るために、３つの再帰ステップが必要である。運動方程式を得るために実行され得る異なるステップは、図１に記載されたものと同じであり、第１の実施例により詳細に記載される。相違点は、従属する物体の任意の選択の可能性である。この方法の明示的な数学的記述は、第１の実施例に与えられた例示的な数学的記述とは異なる。なぜなら独立座標の任意の選択が内部および外部の両方の独立の物体に低減されることになるためである。運動方程式を導くまたは得る可能な方法の例示的な数学的記述が以下により詳細に与えられる。この発明のこの実施例の方法のステップを実行するための明示的なアルゴリズムが単なる例示として与えられ、任意のステップまたは各ステップを実行するための異なるアルゴリズムがこの発明の範囲を逸脱することなく適用され得ることは当業者にとって明らかである。
【０１６０】
まず第１に、ループクロージャによって導入される新しい関節座標は従属していると考えられることができ、従属していると常に考えられることになることが注目されるべきで
ある。一般的な数式は帰納法によって証明されることになり、拘束関節に関連する方程式は境界条件の役割を果たす。しかしながら、系は任意の量の物体を有する可能性があり（ｎ＞２、そうでなければ運動がない）、２つの従属する物体は同様に任意に選択されることが可能である。
【０１６１】
拘束方程式は以下のとおりに得られることができる。総称的な（拘束された）多体系では、拘束方程式の異なる形が以下によって再帰的に与えられることができる。
【０１６２】
【数６７】
2008509427.tif 000069
【０１６３】
拘束関節Ｎ＋１は常に従属しているように選択され、したがって以下の境界方程式が用いられることが可能である。
【０１６４】
【数６８】
2008509427.tif 000070
【０１６５】
総称的な関係は、帰納方法を用いて有効であると見られることができる。方程式が物体Ｋについて当てはまると推定されたい。その場合には、方程式は親の物体Ｌ＝Ｐａ（Ｋ）についても当てはまる。実際には、空間速度を分割することによって、以下が与えられる。
【０１６６】
【数６９】
2008509427.tif 000071
【０１６７】
【数７０】
2008509427.tif 000072
【０１６８】
【数７１】
2008509427.tif 000073
【０１６９】
【数７２】
2008509427.tif 000074
【０１７０】
【数７３】
2008509427.tif 000075
【０１７１】
方程式［２０８］に代入することによって最終的に正しい数式になる。独立の物体に共役な正準運動量は以下によって与えられる。
【０１７２】
【数７４】
2008509427.tif 000076
【０１７３】
ここで、拘束された多関節運動量ベクトルは以下のとおりである。
【０１７４】
【数７５】
2008509427.tif 000077
【０１７５】
ここで、ｄｅｐ（Ｋ）は物体Ｋのすべての従属する物体の集合である。
第１の実施例と同様に、仮想パワーの原理が用いられることになる。運動方程式は比較的容易に得られることができる。独立の物体Ｋについては以下のようになる。
【０１７６】
【数７６】
2008509427.tif 000078
【０１７７】
葉状物体Ｎの拘束された力ベクトルは以下のとおりである。
【０１７８】
【数７７】
2008509427.tif 000079
【０１７９】
葉状物体Ｎについては以下のようになる。
【０１８０】
【数７８】
2008509427.tif 000080
【０１８１】
境界条件は＜太字＞ＤN＝＜太字＞０である。したがって、物体Ｎについては以下のようになる。
【０１８２】
【数７９】
2008509427.tif 000081
【０１８３】
第１に遭遇した従属する物体までのすべての他の物体Ｋについての数式は以下のとおり
である。
【０１８４】
【数８０】
2008509427.tif 000082
【０１８５】
Ｋが従属している場合には、以下のようになる。
【０１８６】
【数８１】
2008509427.tif 000083
【０１８７】
第１の従属する物体、つまりベースからの第１の従属する物体に遭遇するとすぐに、速度は関節拘束まで順方向に伝搬され得る。第１の従属する物体Ａの関節および空間速度についての数式は以下のとおりである。
【０１８８】
【数８２】
2008509427.tif 000084
【０１８９】
この伝搬は、関節拘束に到達するまで継続され得る。次いで、従属正準運動量を得るために拘束方程式が用いられることができる。この情報を用いて、再帰プロセスが再開されることが可能である。
【０１９０】
上記は、独立の物体および独立座標ならびに結果として従属する物体および従属座標の任意の選択のための運動方程式の決定を記載する。
【０１９１】
総称的な多体系の動的なシミュレーションの間に、特異点が発生する可能性がある。数学的には、特異点は典型的にはＣq−matrixの計算中に特異点自体を明らかにする。この行列は、必ずしも正則ではない別の行列の反転を必要とする。特異点が発生する場合、独立座標の組は有効ではなく、変更されるべきである。特異点が第１の逆方向の再帰中にすばやく検出され得ることに注目するのは興味深いことである。
【０１９２】
一組の運動方程式を求めるための上述の方法を示すために、上述の例示的な数学的記述は、両端がピン継手によって地面に固定された平面の鎖の例に適用されることになる。４つの関節座標が存在するが、自由度はわずか２である。関節５は拘束関節であるように選択される。関節５を取除くことによって、基礎をなす開ループ構造が生み出される。基礎をなす開ループ構造の端部において従属座標が選択される方法、つまり図５ａに示される例３と、従属座標がより任意に選択される方法、つまり図５ｂに示される例４との両方を記載する。
【０１９３】
例３
第３の例では、この実施例の方法は、図５ａに記載されるように両端が固定された平面の鎖について示される。最後の２つの物体、つまり物体３および物体４は従属していると考えられ、この実施例に記載される方法は、第１の実施例に記載されたように、基礎をなす開ループ構造の端部において従属座標の発生も包含することを示す。
【０１９４】
系全体についての仮想パワーの原理を書くと、以下のようになる。
【０１９５】
【数８３】
2008509427.tif 000085
【０１９６】
【数８４】
2008509427.tif 000086
【０１９７】
これによって、仮想パワーの原理を以下のように書くことができる。
【０１９８】
【数８５】
2008509427.tif 000087
【０１９９】
【数８６】
2008509427.tif 000088
【０２００】
【数８７】
2008509427.tif 000089
【０２０１】
従属空間速度＜太字＞Ω3および＜太字＞Ω4を低減するために、拘束方程式の第１の形から始める。
【０２０２】
【数８８】
2008509427.tif 000090
【０２０３】
図５ａに示される基準フレーム５は、ループクロージャにおける地面を表わす。基準フ
レーム５は、中間量として用いられることになる関連付けられた（従属）拘束関節＜太字＞ｑ5を有する。なお、拘束方程式の上の数式は冗長である。つまり、わずか２つの拘束について６つの方程式が存在する。空間速度の分割によって、以下が与えられる。
【０２０４】
【数８９】
2008509427.tif 000091
【０２０５】
部分空間＜太字＞Ｅ5上への射影後、物体５の関節速度についての数式は以下のように得られる。
【０２０６】
【数９０】
2008509427.tif 000092
【０２０７】
【数９１】
2008509427.tif 000093
【０２０８】
行列＜太字＞Ｃは制限行列と呼ばれる。方程式［２４４］は典型的には、拘束方程式の第２の形と呼ばれる。方程式［２４２］および［２４３］を用いて、物体５、つまり実際には地面の空間速度は、物体４の空間速度に低減されることができる。
【０２０９】
【数９２】
2008509427.tif 000094
【０２１０】
【数９３】
2008509427.tif 000095
【０２１１】
【数９４】
2008509427.tif 000096
【０２１２】
【数９５】
2008509427.tif 000097
【０２１３】
【数９６】
2008509427.tif 000098
【０２１４】
【数９７】
2008509427.tif 000099
【０２１５】
【数９８】
2008509427.tif 000100
【０２１６】
【数９９】
2008509427.tif 000101
【０２１７】
【数１００】
2008509427.tif 000102
【０２１８】
仮想パワーの原理に戻る前に、独立座標に関連付けられる正準運動量をより詳しく見る必要がある。正準運動量は従属座標について存在しない、つまり正準運動量は独立座標についてのみ規定されることを認識することが重要である。
【０２１９】
【数１０１】
2008509427.tif 000103
【０２２０】
物体の拘束された多関節運動量ベクトルは以下のように規定される。
【０２２１】
【数１０２】
2008509427.tif 000104
【０２２２】
物体２に関連付けられる正準運動量は以下のようになる。
【０２２３】
【数１０３】
2008509427.tif 000105
【０２２４】
従属する物体３および４についてのベクトル＜太字＞Ｃq*が以下によって与えられることを読者は容易に検証できる。
【０２２５】
【数１０４】
2008509427.tif 000106
【０２２６】
物体４以外のすべての物体についての拘束された運動量ベクトルは、以下の再帰的な関係を用いても得られることができる。
【０２２７】
【数１０５】
2008509427.tif 000107
【０２２８】
同様に、物体１についての正準運動量は容易に得られることができる。
【０２２９】
【数１０６】
2008509427.tif 000108
【０２３０】
以前のセクションにおいて導入された速度低減を用いて、仮想パワーの原理は以下のように書くことができる。
【０２３１】
【数１０７】
2008509427.tif 000109
【０２３２】
係数＜太字＞Ａ2は以下のように容易に識別されることができる。
【０２３３】
【数１０８】
2008509427.tif 000110
【０２３４】
【数１０９】
2008509427.tif 000111
【０２３５】
【数１１０】
2008509427.tif 000112
【０２３６】
【数１１１】
2008509427.tif 000113
【０２３７】
【数１１２】
2008509427.tif 000114
【０２３８】
最後に、Ａ2についての数式は以下のように得られることができる。
【０２３９】
【数１１３】
2008509427.tif 000115
【０２４０】
したがって、＜太字＞Ａ2＝＜太字＞０は以下に変換されることが可能である。
【０２４１】
【数１１４】
2008509427.tif 000116
【０２４２】
同様に、多関節物体１については以下のとおりである。
【０２４３】
【数１１５】
2008509427.tif 000117
【０２４４】
【数１１６】
2008509427.tif 000118
【０２４５】
【数１１７】
2008509427.tif 000119
【０２４６】
物体３の拘束された運動量ベクトルは以下のように書くことができる（［２６０］参照）。
【０２４７】
【数１１８】
2008509427.tif 000120
【０２４８】
【数１１９】
2008509427.tif 000121
【０２４９】
【数１２０】
2008509427.tif 000122
【０２５０】
【数１２１】
2008509427.tif 000123
【０２５１】
【数１２２】
2008509427.tif 000124
【０２５２】
物体１についての関節速度を得るために、拘束された運動量ベクトルについての数式［２８５］に上の方程式を代入できる。
【０２５３】
【数１２３】
2008509427.tif 000125
【０２５４】
以前の手順を繰返すことによって、以下が与えられる。
【０２５５】
【数１２４】
2008509427.tif 000126
【０２５６】
次いで、関節速度は以下のとおりである。
【０２５７】
【数１２５】
2008509427.tif 000127
【０２５８】
この方法は、開ループ系用に設計されたものと非常に類似している。この方法は再帰的であり、Ｏ（ｎ）のものである。この方法は依然として３つの典型的な再帰スイープを含み、この３つの典型的な再帰スイープとは、慣性特性、残りの運動量および制限行列を計算するための逆方向の再帰と、その後に続く、速度および拘束された運動量ベクトルを解くための順方向の再帰と、最後に、拘束された力ベクトルを計算するための最後の逆方向の再帰とである。
【０２５９】
例４
第４の例では、この実施例の方法は、図５ｂに記載されるように両端が固定された平面の鎖について示される。物体１および３は従属しているものとして選択され、したがって、従属する物体の任意の選択のためにこの実施例に記載される方法が適用されることを示す。以前の例における独立座標の特定の選択には１つの重要な結果があった。つまり、従属空間速度は内部の独立の物体に低減されることができ、したがって、第１の逆方向の再帰ステップにおいて扱われることができた。独立座標の任意の選択がなされる場合、従属空間速度は外部の独立の物体にも影響を与えることになり、再帰的な関係を混乱させる。これはこの例で明らかになる。
【０２６０】
最初に従属空間速度の低減が行なわれることになり、拘束方程式を表わすことから始まる。拘束方程式の第１および第２の形は、以前の例と比較して変更のないままであるが、第３の形は以下のようになる。
【０２６１】
【数１２６】
2008509427.tif 000128
【０２６２】
【数１２７】
2008509427.tif 000129
【０２６３】
【数１２８】
2008509427.tif 000130
【０２６４】
拘束方程式の次の形も独立速度の関数である。
【０２６５】
【数１２９】
2008509427.tif 000131
【０２６６】
最後に、方程式［３１２］はさらに最後の形に展開されることができる。
【０２６７】
【数１３０】
2008509427.tif 000132
【０２６８】
要約すると、従属空間速度の低減は以下のようになる。
【０２６９】
【数１３１】
2008509427.tif 000133
【０２７０】
これらの速度は、（外部の）独立関節速度を含む追加の項以外は、以前の例とほとんど同一の数式を有する。制限行列についての数式も非常に類似している。これらの数式は依
然として第１の逆方向の再帰ステップ中に計算されることができる。
【０２７１】
独立の物体４についての正準運動量の定義を用いて、以下が得られる。
【０２７２】
【数１３２】
2008509427.tif 000134
【０２７３】
同様に、物体２に関連付けられる正準運動量は以下のとおりである。
【０２７４】
【数１３３】
2008509427.tif 000135
【０２７５】
【数１３４】
2008509427.tif 000136
【０２７６】
仮想パワーの原理が以前と同様に用いられることができる。
【０２７７】
【数１３５】
2008509427.tif 000137
【０２７８】
係数＜太字＞Ａ4は以下のとおりである。
【０２７９】
【数１３６】
2008509427.tif 000138
【０２８０】
関節部分空間上への射影は以下のようになる。
【０２８１】
【数１３７】
2008509427.tif 000139
【０２８２】
独立の物体２に関連付けられる運動方程式は以下のように容易に得られる。
【０２８３】
【数１３８】
2008509427.tif 000140
【０２８４】
関節速度
関節速度を得ることは、任意の独立座標が選択されるときにはより複雑になる。しかしながら、速度は既知の独立正準運動量と事前に分からない従属正準運動量の関数として表わされることができる。これらの従属正準運動量は次いで拘束方程式を用いて得られることができ、その後、速度は明示的に計算されることができる。手順は葉状独立物体４から始まる。
【０２８５】
【数１３９】
2008509427.tif 000141
【０２８６】
方程式［３３８］を［３３７］に代入することによって、以下が与えられる。
【０２８７】
【数１４０】
2008509427.tif 000142
【０２８８】
【数１４１】
2008509427.tif 000143
【０２８９】
【数１４２】
2008509427.tif 000144
【０２９０】
拘束された運動量ベクトルの、運動部分空間上への射影をより詳細に見て欲しい。
【０２９１】
【数１４３】
2008509427.tif 000145
【０２９２】
したがって、それは従属正準運動量の点でのみ表わされることができる。方程式［３４２］および［３４５］を組合せると、以下のようになる。
【０２９３】
【数１４４】
2008509427.tif 000146
【０２９４】
従属正準運動量＜太字＞ｐ3の寄与は、開ループ系におけるのと同様に、＜太字＞Ｄ3に取り入れられない。したがって、後者の数式はわずかに異なっている。次の物体２は独立の物体であるように選択された。再帰プロセスは以下のように続行される。
【０２９５】
【数１４５】
2008509427.tif 000147
【０２９６】
ちょうど他の従属する物体３の場合のように、以下を得るために、拘束された運動量ベクトルの、関節部分空間上への射影を計算できる。
【０２９７】
【数１４６】
2008509427.tif 000148
【０２９８】
ここで、第１の物体の関節速度は以下のように書くことができる。
【０２９９】
【数１４７】
2008509427.tif 000149
【０３００】
手順の次の部分は、ベースから先端まで速度を伝搬させることである。その時点で、拘
束方程式は従属正準運動量について解くために用いられることができる。これらの運動量の知識を用いて、すべての量が最後のスイープにおいて明示的に計算されることができる。したがって、物体１の関節速度は形式上以下のように書くことができる。
【０３０１】
【数１４８】
2008509427.tif 000150
【０３０２】
空間速度は以下のようになる。
【０３０３】
【数１４９】
2008509427.tif 000151
【０３０４】
すべての他の空間速度について、特に物体４について同じことが当てはまる。
【０３０５】
【数１５０】
2008509427.tif 000152
【０３０６】
拘束方程式の第２の形に代入すると、以下のようになる。
【０３０７】
【数１５１】
2008509427.tif 000153
【０３０８】
これは従属正準運動量について解かれることができる。
【０３０９】
【数１５２】
2008509427.tif 000154
【０３１０】
反転された行列は次元２ｘ２を有する。
第４の局面では、この発明は第２の局面に記載された方法に類似した、たとえば多体系などの拘束された機械システムの運動、たとえば動力学を決定するための方法に関し、それによって、拘束された多体系についての運動方程式は、この発明の第３の局面に記載されたように、従属する物体の任意の選択に基づいて求められる。それによって、運動を決定することは、運動を視覚化、予測またはシミュレートすることであってもよい。この方法はさらに、拘束された機械システムの物体の位置関連情報を視覚化、予測またはシミュレートすることを含んでもよい。この方法は、たとえば多体系における従属する物体の任意の選択に基づいて求められる、拘束された多体系についての運動方程式を得ることによって、および拘束された多体系の動力学が特定のタイムフレームにわたって計算され得るようにこれらの運動方程式を適用することによって系の動力学についてのモデルを得ることを含む。この方法は、第２の局面に記載された方法に類似したいくつかのステップを含
むが、拘束された多体系における従属する物体の任意の選択は再帰的なステップを混同し、したがって、時間ｔにおいて検討中の拘束された機械多体系の動力学を得るために異なるいくつかの計算をもたらす。方法４００が図６に示され、図６では、この実施例の方法４００の異なるステップが示される。
【０３１１】
第１のステップ４０２では、系の動力学についてのモデルが、たとえば運動方程式のハミルトン公式を得ることによって得られ、このハミルトン公式は一般化座標の時間導関数および共役正準運動量の時間導関数を表わす。これらの方程式は、たとえば以前に保存されたデータを用いてデータを入力することによって、または以前の実施例に記載された方法を用いてこれらの方程式を計算することによって得られることができる。これらの方程式はさらに、検討されるべき多体系の特定の状況について速やかに得られる場合もあれば、これらの方程式はより一般的な形で得られる場合もあり、それによって、多体系を特徴付ける特定の非動力学指向のパラメータは依然としてユーザによって与えられる必要がある。方程式は拘束された多体系の従属する物体の任意の選択に基づく可能性がある。つまり、方程式は、基礎をなす開ループ構造の端部における従属する物体の選択に限定される必要はない。方程式が実行時に計算されるとき、最初に、系のトポロジー、関節の種類、多体系の質量、慣性および幾何学的特性の情報が得られる。運動方程式を得ることは、系の予めコンパイルされた運動方程式をロードすることによって、または代替的には実行時にこれらの方程式をセットアップすることによって実行されることができる。これらの方程式がいかに得られるかという厳密な方法はこの発明を限定するものではない。これらの方程式は、既に上述されたように、以下によって与えられる。
【０３１２】
【数１５３】
2008509427.tif 000155
【０３１３】
第２のステップ４０４では、計算を行なうのに必要なパラメータが与えられる。これらのパラメータはたとえば、とりわけ初期時間ｔ＝ｔiを有する系の初期条件と、終止条件、つまり計算が行なわれる必要がある機械システムに関連付けられる期間Δｔとを含んでもよい。計算の開始時に系の公知の状態を表わす他の初期値、たとえば初期位置も与えられてもよい。与えられ得る他のパラメータは、たとえば重力および駆動などの、系に加えられる力ならびにトルクである。これらのパラメータを与えることによって、拘束された機械多体系の動力学を決定することが可能である。
【０３１４】
ステップ４０６では、初期情報または以前のサイクルで得られた情報に基づいて計算が新しい時間ｔについて後続のステップで得られることができるように時間ｔは時間ステップδｔで増大される。順動力学を計算するために用いられる時間ステップδｔは主に、記載される拘束された機械多体系についておよびこれらの計算を行なうために用いられるコンピュータシステムの計算能力について、計算が行なわれる特定の用途によって決定される。本願の方法およびシステムにおいて用いられ得る時間ステップδｔは、他のタイプの計算で用いられる時間ステップと少なくとも同一のものである可能性があるが、さらにこの範囲を超える可能性がある。なぜなら必要な計算の回数が他のタイプの計算よりも少ないためであり、これによって、同一の計算時間で同一の期間Δｔを計算するためのより小さな時間ステップが可能である。代替的には、時間ステップδｔはさらに他のタイプの計算よりも大きくてもよい。なぜならこの発明の計算方法およびシステムにおける収束の程度が他の先行技術のシステムよりも大きいためである。方法４００は次いでステップ４０
８に進む。
【０３１５】
ステップ４０８では、時間ｔにおいて検討中の拘束された機械多体系の動力学を得るために計算が行なわれる。このステップは、多体系における従属する物体の任意の選択のために得られる得られたハミルトン運動方程式、およびハミルトン運動方程式を求めるために用いられるいくつかの量の定義に基づいた異なる計算を含む。この結果によって、ハミルトン運動方程式の再帰的な公式に基づいて、拘束された機械多体系を完全に特徴付けるパラメータを得ることができる。後者はアルゴリズムの高効率を可能にし、必要な計算能力の量を低減できる。この方法はさらに、拘束違反誤差の数を減らす。拘束された機械多体系を特徴付けるパラメータの明示的な値を計算する可能な方法がステップ４０９からステップ４２０に示されるが、この発明は計算のこの具体的な方法に限定されるものではない。
【０３１６】
【数１５４】
2008509427.tif 000156
【０３１７】
ステップ４１７では、時間ｔにおいて拘束された機械多体系を完全に特徴付けるのに必要なパラメータがいくつかのサイクルにわたって決定される。これによって、たとえば異なる物体の経路について、起こり得る衝撃について、または接触しているもしくは接触していない物体についての拘束された機械多体系の情報を得ることが可能である。これらの結果は速やかに保存または出力または表示されることができる。この方法は、拘束された機械システムの物体の位置関連情報を視覚化、予測またはシミュレートすることを含んでもよい。得られた結果は典型的には、仮想プロトタイピング、仮想現実、コンピュータアニメーションおよび航空電子工学の分野に適用されるが、この発明はこれらの用途に限定されるものではない。仮想プロトタイピングによって、現実のプロトタイプシステムを製造する必要なくプロトタイプ多体系のための検査をシミュレートできる。後者は、時間的コストおよび経済的コストの両方を低減するので大きな利点を有する。仮想プロトタイピングの分野における用途のいくつかの例は、道路の車の動的なシミュレーションを行なうこと、車、ロボットなどのための代替的な設計を検討すること、ロボットの足のシミュレーション、構成要素または環境要因が変化したときの代替的な挙動を予測することなどである。別の用途は、たとえば宇宙船における最適な質量補償、つまり能動振動の決定である。仮想現実の場合には、計算の結果は典型的にすばやく読出される。なぜならリアルタ
イムの表現を得る必要があるためである。仮想現実のための典型的な用途は、車などの動く対象物に存在する効果などのシミュレートされるものの物理的効果を感じることができるゲームまたはシステムである。コンピュータアニメーションの分野において、つまり多体系である物理的システムの少なくとも近似設計を視覚化するためにも用途が見出されることができる。後者はたとえば人が走っていることを表示するゲームの中でアニメーションのために用いられる。
【０３１８】
決定ステップ４２０では、系の精度および安定性が十分に高いかどうかまたはステップ４０９から４１８の繰返しが必要であるかどうかが判断されることになる。再帰的なステップを実行する数値積分器は典型的には、精度および安定性を確保するために再帰的なステップを二度以上実行する。精度および安定性が十分に高い場合には、方法４００はステップ４２２に進む。そうでなければ、ステップ４０９から４１８が数値積分器によって繰返される。決定ステップ４２０を適用する、したがってフィードバックループを与える代わりに、ステップ４０９から４１８の一定数の実行を用いることも可能である。
【０３１９】
決定ステップ４２２では、拘束された機械多体系の順動力学の他の計算が必要であるかどうか、つまり対象の順動力学の十分な計算が既に行なわれているかどうかが判断されることになる。現在の時間が終了時間ｔendに等しい場合には、この計算は終了し、方法４００は終了ステップ４２４に進む。終了時間ｔendは、予め定められた値である場合もあれば、計算の発散の程度に依存する場合もある。代替的には、終了時間は特定の事象の発生によっても決定されてもよい。終了時間にまだ到達していない場合には、方法４００はステップ４０６に進み、時間がδｔで増大された後に新しい計算サイクルが再開される。
【０３２０】
たとえば多体系などの拘束された機械システムの運動方程式を用いる方法は基本的には、この発明の第２の局面に記載された方法とは異なる。上記方法は、逆方向の再帰的なステップおよび順方向の再帰的なステップの両方が制限行列を得る必要があることによって異なり、これらの再帰は完全な再帰ではなく、最後に従属する物体までの単なるスイープであり、上記方法はさらに、拘束方程式を解くために最後に従属する物体に出会うと第１の逆方向の再帰的なステップを逆転させる必要があることによって異なり、したがって、従属正準運動量に繋がる。
【０３２１】
上述の実施例の利点は、拘束された機械システムについての運動方程式が再帰的な式を用いて得られることができることであり、これは効率的な系をもたらす。上述の実施例では、拘束された多関節運動量ベクトルは、再帰的な計算に好適な、ハミルトニアン形式に基づく一組の運動方程式を得るために用いられる。後者によって、拘束された機械システムの運動を決定、シミュレート、視覚化または予測するための効率的な方法を得ることが可能である。
【０３２２】
第５の局面では、この発明は複数の物体を含む拘束された機械システムの運動を決定するためのシステムにも関する。したがって、このシステムは、この発明の第２の実施例に記載された方法を実行するために調整される。運動は、期間Δｔにわたる系の動力学が得られるようにいくつかの時間ステップδｔにわたって決定される。このシステムは、検討中の拘束された機械多体系についての一組のハミルトン運動方程式に関連する少なくともデータを得るための手段と、期間Δｔにわたる拘束された機械システムの複数の物体の少なくとも位置関連情報を計算するための手段とで調整される計算システムを含む。一組のハミルトン運動方程式に関連する少なくともデータを得るための手段は、機械多体系の初期状態についておよび計算のための終止条件についてのデータを受取るための手段を含んでもよい。計算するための手段は、初期時間ｔiについておよび時間ステップδｔを初期時間ｔiに加算することによって得られるその後の時間ｔについてこれらの計算を行なう。時間ステップは一定である必要はなく、たとえば期間Δｔの異なる部分の間に必要とさ
れる情報の密度に応じて調整されることが可能である。このシステムは、得られた結果を視覚化するための手段に結合される場合もあれば、得られた結果を視覚化するための手段を組入れる場合もある。このシステムはさらに、上述の方法に従う計算に基づいて、拘束された機械システムの他の運動を予測してもよい。したがって、このシステムは拘束された機械システムの運動を予測するための手段を含んでもよい。このシステムは、妥当な時間内に計算値を得るために相当な計算能力を有するいかなるタイプのコンピュータシステムであってもよく、たとえばパーソナルコンピュータまたはネットワーク、メインフレームなどにグループ化されるいくつかのコンピュータであってもよく、計算はその後単一のプロセッサで一方のタスクから他方のタスクへと行なわれる場合もあれば、並行して、つまりいくつかのプロセッサにわたって分散された処理を用いて行なわれる場合もある。後者の場合には、この方法の異なる計算はプロセッサにわたって分配されることができ、そのため、特定のプロセッサによって必要とされる必要な情報は常にこれらのプロセッサにおいて利用可能であり、または必要な情報が到着するまでプロセッサは他の処理を待つように命令される。
【０３２３】
上述の実施例に従って、この発明は、計算システムで実行されるときにこの発明に従う方法のいずれかの機能性を提供するコンピュータプログラム製品も含む。さらに、この発明は、機械読取可能な形式でコンピュータ製品を格納しかつ計算装置で実行されるときにこの発明の方法のうちの少なくとも１つを実行する、ＣＤ−ＲＯＭまたはディスケットなどのデータキャリアを含む。最近では、このようなソフトウェアはしばしばインターネット上で提供され、したがって、この発明はローカルエリアネットワークまたは広域ネットワークを介してこの発明に従うコンピュータ製品を伝送することを含む。
【０３２４】
図７は、この発明に従うこの方法とともにおよびシステムにおいて利用され得る計算システムの概略図である。ビデオディスプレイ端子１４、キーボード１６などのデータ入力手段、およびマウス１８などのグラフィックユーザインターフェイス指示手段を含み得るコンピュータ１０が示される。コンピュータ１０は汎用コンピュータ、たとえばＵＮＩＸ（登録商標）ワークステーションまたはパーソナルコンピュータとして実現されてもよい。
【０３２５】
コンピュータ１０は、インテル・コーポレイションＵＳＡ（Intel Corp. USA）によって供給されるペンティアム（登録商標）ＩＶ（Pentium（登録商標）IV）プロセッサが一例に過ぎない従来のマイクロプロセッサなどの中央演算処理装置（「ＣＰＵ」）１５と、システムバス２２を介して相互接続されるいくつかの他のユニットとを含む。コンピュータ１０は少なくとも１つのメモリを含む。メモリは、ランダムアクセスメモリ（「ＲＡＭ」）、リードオンリーメモリ（「ＲＯＭ」）、当業者に公知のハードディスクなどの不揮発性読出／書込メモリなどの当業者に公知のさまざまなデータ記憶装置のいずれかを含んでもよい。たとえば、コンピュータ１０はさらに、ランダムアクセスメモリ（「ＲＡＭ」）２４、リードオンリーメモリ（「ＲＯＭ」）２６、ならびにシステムバス２２をオプションのビデオディスプレイ端子１４に接続するためのオプションのディスプレイアダプタ２７、および周辺装置（たとえば、ディスクおよびテープドライブ２３）をシステムバス２２に接続するためのオプションの入力／出力（Ｉ／Ｏ）アダプタ２９を含んでもよい。ビデオディスプレイ端子１４はコンピュータ１０の視覚出力装置である可能性があり、コンピュータハードウェアの当該技術分野において周知であるＣＲＴベースのビデオディスプレイなどの任意の好適なディスプレイ装置である可能性がある。しかしながら、携帯型またはノートブックベースのコンピュータでは、ビデオディスプレイ端子１４はＬＣＤベースまたは気体プラズマベースのフラットパネルディスプレイと取替えられることが可能である。コンピュータ１０はさらに、キーボード１６、マウス１８、オプションのスピーカ３６を接続するため、および外部システム２０からの任意の入力を可能にするためのユーザインターフェイスアダプタ１９を含む。入力はたとえば、物理的システム２０に含ま
れる多体系の位置についての情報を送る、ロボットに取付けられたセンサ４０などの物理的値取込装置からの物理的な値の入力である可能性がある。センサ４０は、システム２０の物理的パラメータを取込むための任意の好適なセンサであってもよい。
【０３２６】
システム２０はさらに、たとえば地球上に位置する遠隔制御装置であってもよいのに対して、コンピュータシステム１０は多体系、たとえば惑星上の搬送用乗り物／ロボットに位置する。地球と惑星との間の遅延のために、ロボットはリアルタイムで制御されることができない。このような状況では、コンピュータシステム１０で実行するコンピュータプログラムは、多体系の挙動をシミュレートまたは予測するようにこの発明に従う方法を実現する。これは、地球からのコマンドを受取る間に安全にリアルタイムで多体系を制御するために用いられることができる。
【０３２７】
追加のまたは代替的なアクチュエータ４１が追加のまたは代替的な物理的システム２１に設けられてもよく、この追加のまたは代替的な物理的システム２１はさらに、インターネット、イントラネット、ローカルエリアネットワークもしくは広域ネットワーク（ＬＡＮもしくはＷＡＮ）またはＣＡＮなどのデータネットワークにコンピュータ１０を接続する通信アダプタ３９を介してバス２２に接続されてもよい。これによって、コンピュータシステム１０から、電気通信ネットワークを介して、接近した場所から遠隔の場所まで、たとえばインターネットまたは無線接続を介してリモートシステム２１にコマンドを伝送することが可能である。たとえば、センサ４０は、コンピュータシステム１０に入力されるシステム２０の状態を捉えてもよい。この発明の方法のいずれかに従う方法を用いて、コンピュータシステム１０はシステム２０の挙動を予測し、この挙動を修正するようにシステム２１におけるアクチュエータ４１にコマンドを送る。一例は、センサ４０を用いる振動検出、および振動を中和するためにシステム２１における加振機のアクチュエータ４１に与えられる能動減衰のためのコマンドであり得るだろう。アクチュエータに送られるコマンドの計算の際、コンピュータシステム１０は、システム２１のアクチュエータによって作動されるときにシステム２０の挙動を予測するためにこの発明の方法を用いる。
【０３２８】
「物理的値取込装置」または「センサ」という用語は、シミュレートされるべき物理的システムのパラメータの値を与える装置を含む。センサは、進化する物理的システムの詳細を伝送するための装置を含んでもよい。この発明はその範囲内に、関連する物理的な値がキーボード１６を用いてコンピュータにまたは２３などの記憶装置から直接に入力されることも含む。
【０３２９】
システム２０および／または２１のパラメータ制御ユニット３７はさらに、通信アダプタ３８を介して接続されてもよい。パラメータ制御ユニット３７は、この発明に従うコンピュータプログラムを実行するコンピュータ１０からの出力値またはこのような出力値を表わすもしくはこのような出力値から導かれる値を受取ってもよく、コンピュータ１０からの出力値の受取りに応答して物理的システム２０および／またはシステム２１のパラメータを変更するように適合されてもよい。
【０３３０】
コンピュータ１０は、コンピュータ１０の作動を命令するために機械読取可能な媒体内にあるグラフィカルユーザインターフェイスも含んでもよい。任意の好適な機械読取可能な媒体は、ランダムアクセスメモリ（ＲＡＭ）２４、リードオンリーメモリ（ＲＯＭ）２６、磁気ディスケット、磁気テープまたは光学ディスク（最後の３つはディスクおよびテープドライブ２３に位置する）などのグラフィカルユーザインターフェイスを保持してもよい。任意の好適なオペレーティングシステムおよび関連付けられるグラフィカルユーザインターフェイス（たとえば、マイクロソフトウィンドウズ（登録商標））はＣＰＵ１５に命令してもよい。さらに、コンピュータ１０はコンピュータメモリ記憶装置５２内にある制御プログラム５１を含む。制御プログラム５１は、ＣＰＵ１５で実行されるときにこ
の発明の方法のいずれかに関して記載される作動を実施する命令を含む。
【０３３１】
他の実施例では、コンピュータシステム１０は、この発明の方法のいずれかを用いて物理的システムの予測またはシミュレートされた挙動を（ディスプレイユニット１４上で）視覚化するために用いられることができる。関連する接続を有する物理的システム２０および／または２１は、人が多体系のシミュレートされた挙動を体験できる、つまりたとえばジョイスティックを介する人の所作が多体系の予測された変化をもたらすシミュレータを構成してもよい。これらの変化はディスプレイユニット１４上で表示されることができ、予測された方法でシミュレータを動かすためにコマンドがアクチュエータ４１に送られてもよい。これによって、大規模なシミュレータの当業者に概して公知であるように、シミュレータの中の人に現実の効果が与えられる。
【０３３２】
図７に表わされるハードウェアは特定の用途ごとに異なる可能性があることを当業者は認識する。たとえば、光学ディスク媒体、オーディオアダプタなどの他の周辺装置、またはコンピュータハードウェアの当該技術分野において周知のＰＡＬもしくはＥＰＲＯＭプログラミング装置などのチッププログラミング装置などが、既に記載されたハードウェアに加えて、または既に記載されたハードウェアの代わりに利用されてもよい。
【０３３３】
図７に示される例では、コンピュータプログラム製品（つまり、制御プログラム５１）はコンピュータ記憶装置５２の中にある可能性がある。しかしながら、この発明がそれに従って記載されてきたおよびそれに従って引き続き記載される間に、この発明の仕組みはさまざまな形でプログラム製品として分散されることが可能であり、この分散を実際に実施するために用いられる特定のタイプの信号担持媒体に関わらずこの発明が同様に当てはまることを当業者が認識することは重要である。コンピュータ読取可能な信号担持媒体の例は、フロッピー（登録商標）ディスクおよびＣＤ  ＲＯＭなどの記録可能なタイプの媒体ならびにデジタルおよびアナログ通信リンクなどの伝送タイプの媒体を含む。
【０３３４】
この発明を実施する多体機械システムの運動をシミュレートするための方法およびシステムの目的を達成するための他の構成は当業者にとって明らかである。好ましい実施例、特定の構造物および構成が本明細書においてこの発明に従う装置について記載されてきたが、この発明の範囲および精神から逸脱することなく形状および詳細のさまざまな変更または修正がなされ得ることが理解されるべきである。
【図面の簡単な説明】
【０３３５】
【図１】本発明の第１の実施例による、閉ループ多体系の順動力学の記述についての１組のハミルトン方程式を得るために実行される、異なるステップを示す運動方程式の組を求める方法についてのフローチャートである。
【図２】本発明の実施例による方法のための番号付けが閉ループ系においていかに得られるかを示す概略図である。
【図３ａ】本発明の実施例によるシステムおよび方法によって説明され得るような、第１の固定端関節とロッドに沿って移動可能に取付けられた第２の端部関節とを有する対象物の概略図である。
【図３ｂ】本発明の実施例によるシステムおよび方法によって説明され得るような、固定端およびループを有する対象物の概略図である。
【図４】本発明の第２の実施例による、拘束された機械多体系の順動力学を計算し、および／またはシミュレートするための方法の異なるステップのフローチャートである。
【図５ａ】本発明の第３の実施例による、両端が固定され、最後の２つの物体を独立の物体として有する平面の鎖である拘束された機械システムの例の図である。
【図５ｂ】本発明の第３の実施例による、両端が固定され、第３の物体を独立の物体として有する平面の鎖である拘束された機械システムの例の図である。
【図６】本発明の第４の実施例による、拘束された機械多体系の順動力学を計算し、および／またはシミュレートするための方法の異なるステップのフローチャートである。
【図７】本発明の実施例によるコンピュータシステムの概略図である。
【図１】
2008509427.tif 000162
【図２】
2008509427.tif 000163
【図３ａ】
2008509427.tif 000164
【図３ｂ】
2008509427.tif 000165
【図４】
2008509427.tif 000166
【図５ａ】
2008509427.tif 000167
【図５ｂ】
2008509427.tif 000168
【図６】
2008509427.tif 000169
【図７】
2008509427.tif 000170
【手続補正書】
【提出日】平成19年2月13日(2007.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
いくつかの時間ステップδｔにわたって、複数の物体を含む拘束された機械システムの運動を決定するための方法（２００，４００）であって、
前記拘束された機械システムは、拘束部分空間を規定する一組の制約によって拘束されており、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組の制約のうち少なくとも１つの制約によって拘束された少なくとも１つの他の関節とを含み、前記方法は、
前記拘束された機械システムについての、再帰的な形で公式化された一組のハミルトン運動方程式を得ること（２０２）と、
前記いくつかの時間ステップδｔの各々について、
前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算すること（２０８）とを含み、
再帰的な形で公式化された一組のハミルトン運動方程式を前記得ること（２０２）は、
前記拘束された機械システムの各Ｋ番目の物体について、
前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、前記システムの前記Ｋ番目の物体の運動量ベクトルと、前記Ｋ番目の物体よりも前記少なくとも１つの他の関節の近くに位置する隣接した物体の射影された、拘束された多関節運動量ベクトルとの合計であり、前記射影された、拘束された多関節運動量ベクトルは前記拘束部分空間上に射影され、前記Ｋ番目の物体の局所的な基準フレームを参照し、前記得ること（２０２）はさらに、
前記拘束された機械システムについての前記一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む、方法（２００，４００）。
【請求項２】
いくつかの時間ステップδｔにわたって、複数の物体を含む拘束された機械システムの運動を決定するための方法（２００，４００）であって、
前記拘束された機械システムは、拘束部分空間を規定する一組の制約によって拘束されており、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組
の制約のうち少なくとも１つの制約によって拘束された少なくとも１つの他の関節とを含み、前記方法は、
前記拘束された機械システムについての、再帰的な形で公式化された一組のハミルトン運動方程式を得ること（４０２）と、
前記いくつかの時間ステップδｔの各々について、
前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算すること（４０８）とを含み、
再帰的な形で公式化された一組のハミルトン運動方程式を前記得ること（４０２）は、
前記拘束された機械システムの各Ｋ番目の物体について、Ｋ番目の物体はＫの一組の従属する物体を含み、
前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めることを含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、物体Ｋの多関節運動量ベクトルと、前記従属する物体に共役なすべての従属正準運動量の線形関数との合計であり、前記得ること（４０２）はさらに、
前記拘束された機械システムについての前記一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む、方法（２００，４００）。
【請求項３】
前記一組のハミルトン運動方程式は、一般化座標＜太字＞ｑ、共役正準運動量＜太字＞ｐおよび時間ｔについて、
前記一般化座標＜太字＞ｑの時間導関数および前記共役正準運動量＜太字＞ｐの時間導関数についての以下の数式を含み、
【数１】
2008509427.tif 000171
前記拘束された機械システムについての一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることは、前記拘束された多関節運動量ベクトルに関連する前記量から前記共役正準運動量の前記時間導関数についての以下の数式を導くことを含む、請求項１から２のいずれかに記載の運動を決定するための方法（２００，４００）。
【数２】
2008509427.tif 000172
【請求項４】
前記再帰的に計算することは、
前記拘束された機械システムについての拘束された多関節質量行列を逆方向に再帰的に計算すること（２１０，４１０）と、
前記一般化座標＜太字＞ｑの前記時間導関数を順方向に再帰的に計算すること（２１２，４１２）と、
拘束され、蓄積された力ベクトルを逆方向に再帰的に計算すること（２１４，４１６）とを含み、拘束され、蓄積された各力ベクトルは検討中の前記物体に蓄積された力を表わし、前記再帰的に計算することはさらに、
前記共役正準運動量＜太字＞ｐの前記時間導関数を求めること（２１６，４１７）を含む、請求項１から３のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項５】
前記方法はさらに、
他の制限行列を決定するために順方向に再帰的に計算することと、
前記第１の逆方向に再帰的に計算する間に、最後に従属する物体に出会うと再帰方向を逆転させることとを含む、請求項４に記載の運動を決定するための方法（２００，４００）。
【請求項６】
前記拘束された機械システムについての一組のハミルトン運動方程式を前記得ることは、データソースから一組のハミルトン運動方程式を入力することを含む、請求項１から５のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項７】
前記運動は、前記拘束された機械システムの順動力学を含む、請求項１から６のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項８】
前記方法は、前記一般化座標＜太字＞ｑまたは前記共役正準運動量＜太字＞ｐの突然の変化に基づいて、前記拘束された機械システムへの衝撃を検討することを含む、請求項１から６のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項９】
前記方法は、互いに接触する複数の物体を検討することを含む、請求項１から８のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項１０】
前記複数の物体は剛体であって、各物体は前記複数の物体のうち少なくとも別の物体に関節で接続される、請求項１から９のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項１１】
前記運動を決定することは、仮想プロトタイピング、仮想現実またはコンピュータアニメーションのいずれかに適用される、請求項１から１０のいずれかに記載の運動を決定するための方法（２００，４００）。
【請求項１２】
【数３】
2008509427.tif 000173
【請求項１３】
【数４】
2008509427.tif 000174
【請求項１４】
一組のハミルトン運動方程式を得ることは、前記拘束された機械システムにおいていくつかの従属する物体を任意に選択することを含む、請求項２に従属する限りにおいて請求項３から１１のいずれかに記載の、または請求項１３に記載の方法（２００，４００）。
【請求項１５】
一組のハミルトン運動方程式を得ることは、仮想パワーの原理を用いることを含む、請求項１から１４のいずれかに記載の方法（２００，４００）。
【請求項１６】
複数の物体を含む拘束された機械システムの運動を、いくつかの時間ステップδｔにわたって計算するための計算装置（１０）であって、
前記拘束された機械システムは、拘束部分空間を規定する一組の制約によって拘束されており、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組の制約のうち少なくとも１つの制約によって拘束された少なくとも１つの他の関節とを含み、前記計算装置は、
前記拘束された機械システムについての、再帰的な形で公式化された一組のハミルトン運動方程式に関連するデータを得るための手段と、
前記いくつかの時間ステップδｔの各々について、前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算するための手段とを含み、
再帰的な形で公式化された一組のハミルトン方程式に関連するデータを得るための前記手段は、
前記拘束された機械システムの各Ｋ番目の物体について、前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めるための手段を含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、前記システムの前記Ｋ番目の物体の運動量ベクトルと、前記Ｋ番目の物体よりも前記少なくとも１つの他の関節の近くに位置する隣接した物体の射影された、拘束された多関節運動量ベクトルとの合計であり、前記射影された、拘束された多関節運動量ベクトルは前記拘束部分空間上に射影され、前記Ｋ番目の物体の局所的な基準フレームを参照し、前記手段はさらに、
前記拘束された機械システムについての一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いるための手段を含む、計算装置（１０）。
【請求項１７】
複数の物体を含む拘束された機械システムの運動を、いくつかの時間ステップδｔにわたって計算するための計算装置（１０）であって、
前記拘束された機械システムは、拘束部分空間を規定する一組の制約によって拘束されており、前記拘束された機械システムはさらに、少なくとも１つの固定関節と、前記一組の制約のうち少なくとも１つの制約によって拘束された少なくとも１つの他の関節とを含み、前記計算装置は、
前記拘束された機械システムについての、再帰的な形で公式化された一組のハミルトン運動方程式に関連するデータを得るための手段と、
前記いくつかの時間ステップδｔの各々について、前記一組のハミルトン運動方程式に基づいて、前記拘束された機械システムの前記複数の物体の少なくとも位置関連情報を再帰的に計算するための手段とを含み、
再帰的な形で公式化された一組のハミルトン方程式に関連するデータを得るための前記手段は、
前記拘束された機械システムの各Ｋ番目の物体について、Ｋ番目の物体はＫの一組の従属する物体を含み、前記Ｋ番目の物体の拘束された多関節運動量ベクトルに関連する量を求めるための手段を含み、前記Ｋ番目の物体の前記拘束された多関節運動量ベクトルは、物体Ｋの多関節運動量ベクトルと、前記従属する物体に共役なすべての従属正準運動量の線形関数との合計であって、前記手段はさらに、
前記拘束された機械システムについての一組のハミルトン運動方程式を得るために前記拘束された多関節運動量ベクトルに関連する前記量を用いることを含む、計算装置（１０）。
【請求項１８】
複数の物体を含む拘束された機械システムの運動を、いくつかの時間ステップδｔにわたって検討するためのコンピュータシステムとともに利用されるコンピュータプログラム製品であって、前記コンピュータプログラム製品は請求項１から１５のいずれかに記載の方法を実行するために適合されている、コンピュータプログラム製品。
【請求項１９】
請求項１８に記載のコンピュータプログラム製品を格納する機械読取可能なデータ記憶装置。
【請求項２０】
ローカルエリア電気通信ネットワークを介した、請求項１８に記載のコンピュータプログラム製品の伝送。
【国際調査報告】
2008509427.tif 000175
2008509427.tif 000176