(57)【要約】  この発明は、ロボット・マニピュレータ及び製造自動化の分野の技術に係る。本発明は、ロボットのパフォーマンスを最適化するための方法に係り、より正確には、ロボットに対するタスクのロケイション、即ち位置および／または向き、を最適化するための方法に係る。既知の方法についての問題点は、例えば、長過ぎるシミュレイション時間や、ユーザへの高度な知識の要求などである。本発明による方法は、下記のステップを採用することにより、これらの問題を解決する：少なくとも二つのテストからなる少なくとも一つの実験を計画する、ここで、各テストは、その実験の中の少なくとも一つの他のテストと、ロボットに対するタスクのロケイションに関して異なっている；タスクのロケイションについて許容可能な境界を計算／決定する；その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する；その実験データをアルゴリズムに適合させる；タスクの最適なロケイション、即ち位置及び向き、を計算／決定する。
2007512153.tif 000002
【特許請求の範囲】
【請求項１】
タスクのパフォーマンス、即ちロボットに対するタスクのロケイション、即ちタスクの位置および／または向き、を最適化するための方法であって： 
−  少なくとも二つのテストからなる少なくとも一つの実験を計画する、ここで、各テストは、その実験の中の少なくとも一つの他のテストと、ロボットに対するタスクのロケイションに関して異なっている；
−  タスクのロケイションのための境界を、ロボットの運動学的モデルを用いて計算／決定する、ここで、これらの境界の内側でタスクを実行することが可能である；
−  ロボットに対する  実験ポイントのロケイションを、それらが前記境界の内側にあるように、調整する；
−  その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する；
−  その実験データをアルゴリズムに適合させる；
−  その適合された実験データを用いることによって、そのタスクの最適なロケイション、即ち位置及び向き、を計算／決定する。
【請求項２】
更に下記ステップを備えた請求項１に記載の方法：
−  前記実験データを多項式に適合させる。
【請求項３】
更に下記ステップを備えた請求項１または２に記載の方法：
−  前記実験データをスプライン関数に適合させる。
【請求項４】
更に下記ステップを備えた請求項１から３のいずれか１項に記載の方法：
−  前記実験データをフーリエ級数に適合させる。
【請求項５】
更に下記ステップを備えた請求項１から４のいずれか１項に記載の方法：
−  仮想コントローラを用いることにより、その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する。
【請求項６】
更に下記ステップを備えた請求項１から５のいずれか１項に記載の方法：
−  一台または数台のロボットで、前記タスクを行うことによって、その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する。
【請求項７】
更に下記ステップを備えた請求項１から６のいずれか１項に記載の方法：
−  プロセス・モデルを用いることによって、その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する。
【請求項８】
更に下記ステップを備えた請求項１から７のいずれか１項に記載の方法：
−  そのタスクの最適位置の正確さを増し、且つサイクルタイムを更に短くするため、最適位置の周囲のより小さな領域について、請求項１の前記方法ステップの内の少なくとも一つを繰り返す。
【請求項９】
更に下記ステップを備えた請求項１から８のいずれか１項に記載の方法：
−  シーケンシャルな後方へのシフトを用いて、少なくとも二つの最適な候補を決定する。
【請求項１０】
更に下記ステップを備えた請求項１から９のいずれか１項に記載の方法：
−  ロボットに対する幾つかのタスクの位置および／または向きを最適化する。
【請求項１１】
更に下記ステップを備えた請求項１から１０のいずれか１項に記載の方法：
−  数台のロボットに対するタスクの位置および／または向きを最適化する。
【請求項１２】
更に下記ステップを備えた請求項１から１１のいずれか１項に記載の方法：
−  数台の産業用ロボットに対する、幾つかのタスクの位置および／または向きを最適化する。
【請求項１３】
更に下記ステップを備えた請求項１から１２のいずれか１項に記載の方法：
−  幾つかのタスクの相互の位置および／または向きを最適化する。
【請求項１４】
更に下記ステップを備えた請求項１から１３のいずれか１項に記載の方法：
−  数台のロボットの相互の位置および／または向きを最適化する。
【請求項１５】
更に下記ステップを備えた請求項１から１４のいずれか１項に記載の方法：
−  特定のタスクを実行する特定のロボットの動作可能領域を、三次元的ニ分割アルゴリズム（three-dimensional bisection algorithm）を用いて、決定する。
【請求項１６】
更に下記ステップを備えた請求項１から１５のいずれか１項に記載の方法：
−  前記タスクが、動作可能領域の境界に位置しているとき、前記タスクを実行することによって、サイクルタイムを計算する。
【請求項１７】
タスクのパフォーマンス、即ちロボットに対するタスクのロケイション、即ちそのタスクの位置および／または向き、を最適化するためのシステムであって、
−  少なくとも二つのテストからなる少なくとも一つの実験を計画するための手段、ここで、各テストは、その実験の中の少なくとも一つの他のテストと、ロボットに対するタスクのロケイションに関して、異なっている；
−  タスクのロケイションについての許容可能な境界を決定するための手段；
−  その実験の中の少なくとも一つのテストについての最適化の効果を決定するための手段；
−  実験データをアルゴリズムに適合させるための手段；
−  そのタスクの最適なロケイション、即ち位置及び向きを計算するための手段。
【請求項１８】
請求項１から１６のいずれか１項に基づく方法のステップを実行するためのコンピュータ・プログラムコード手段を有するコンピュータ・プログラム。
【請求項１９】
請求項１７によるコンピュータ・プログラムの少なくとも一部を有する、コンピュータで読み込み可能な媒体または手段。
【請求項２０】
例えばインターネットなどのネットワークを介して、少なくとも部分的に提供される請求項１７に基づくコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット・マニピュレータ及び製造自動化の分野の技術に係る。
【０００２】
本発明は更に、特定のタスク（task：作業）を実行するときにロボット・マニピュレータのサイクルタイムを短縮することに係る。
【０００３】
より具体的には、本発明は、ロボット・マニピュレータの作業スペースの中のロボット・マニピュレータに対する、タスクのロケイション（location）／プレイスメント（placement）、即ち位置及び向き、を最適化するための方法に係る。
【０００４】
更に、本発明はまた、ロボット・プログラム及びタスクの実行の最適化に係る。
【背景技術】
【０００５】
（発明の背景）
以下において、“ロボット”と言う単語は、ロボット・マニピュレータの代わりに使用される。典型的には、ロボットは、製造自動化の分野のための産業用ロボットである。
【０００６】
ロボットが使用される、典型的な産業的タスクの分野は、溶接、切断、塗装、接着、材料ハンドリング、及び材料の除去、などである。ロボットは、動きの反復的なシーケンスを、予め定められた経路に沿って実行する。特定のタイム・スパン（例えば一年）の間に行われるタスクの回数が多いことから、サイクルタイムを削減することは、非常に重要である。特定のロボットのタスクのために最小のサイクルタイムを設定することは、従って、生産現場へロボットを適用する際の、不可欠なステップである。サイクルタイムの僅かなパーセントの減少であっても、生産ラインの生産性を相当適度増大させる。
【０００７】
ロボットに、経路上での動きをできるだけ速く実行させることは、一般的な関心事項である動きの時間を最小にすることにより、サイクルタイムを大幅に縮めることが可能になり、マシンの利用率を改善し、その結果、生産性及びコスト効率が主要な関心事項となるような生産現場でのオートメイションの適用を、採算性が有るものにする。
【０００８】
動きの時間を減らすことは、異なるロボット技術領域における最適化により、実現することができる。関係する領域は、例えば、一般的なロボット・デザインの方法論、運動学、動力学、構造またはアーム形状、ロボット コントローラ、時間の最適なコントロール、タスクに基づくデザイン、及びロボット・セル・デザイン若しくはロボットの最適な配置などである。所与のロボットについて、サイクルタイムは、多くのパラメータに依存する。それらのパラメータは、例えば、タスクに対するロボットの位置、各ポイントを通過するシーケンス、当該アクチュエータの最大速度及び加速度、各ポイントの相対位置、または、トラックに沿ったアームの形状、などである。
【０００９】
タスクの実行の間のロボットのパフォーマンスは、ロボット及びタスクの相対位置に依存する。このようにして、その作業ステイションで悪い位置に配置されたロボットは、作業効率の低下と言うリスクを招き、時には特異点（singularities）となってしまうこともある。
【００１０】
ロボット・セルは、製造自動化のための基本的要素であり、一台または数台の産業用ロボット、そのロボットタスクを実行することになる一つまたは複数の作業対象物、及び他のセル装置からなる。複数のロボットを含むロボット・セルにおいて、それらのロボットは、独立または共同でのいずれかで、働くことができる。“ロボットが共同で働く”と言う表現は、例えば、一つのロボットが作業対象物を保持し、これと同時に、もう一つのロボットが、その作業対象物に対してタスクを実行することを意味している。
【００１１】
通常“ワールド座標系”と呼ばれている座標系は、ロボット、作業対象物、及び他のロボット・セル内でのセル装置の相対ロケイション（relative location）を規定し且つ管理するために使用される。実際、ロボットに固定された座標系（通常“ロボット座標系”と呼ばれている）が、そのワールド座標系の中での、ロボットのロケイションを特定するために規定される。作業対象物に固定された座標系（通常“オブジェクト座標系”と呼ばれている）は、ユーザ座標系、ロボット座標系、またはワールド座標系の何れかの中での、作業対象物のロケイションを特定するために規定される。ロボット・セルを規定するために使用される異なる座標系の例が、図１及び２に示されている。
【００１２】
（従来の技術）
特定のタスクのためのパフォーマンスを最大化するための、ロボット・セルのデザインの最適化と言う問題に関して、多くの仕事が文献に報告されている。論じられている例を挙げると、次の通りである：
・作業対象物に対するロボットの配置
・どの順序で、異なるタスクを実行すべきか
・一つのロボットの、もう一つロボットに対する配置
・外部軸の、ロボットに対する及び相互の配置
・ロボット・ツールのデザイン
・マルチ−ロボット・システムにおける、作業対象物の最適なポジショニング、及びタスクのシーケンス
・その他。
【００１３】
文献中に記載されている一つのアプローチは、ロボットの運動学を用いて、セル・デザインを最適化することである。Nelson and Donath は、ロボットの操作可能性が最大になるように、ロボット作業スペース内でタスクに配置を決定するための方法を提案している（“Optimizing the location of assembly tasks in a manipulators workspace”, Journal of Robotic Systems, Vol.7, No 6,1990）。彼らの方法は、組み立てのタスクを、ロボット作業スペース内の特異点から離れた位置に、自動的に位置させる。
【００１４】
また、Pamanes and Zeehloul は、ロボット作業スペース内でのタスクのロケイションを最適化するために、運動学的判断規準を使用する（“Optimal placement of Robot manipulators using multiple kinematic criteria”, in Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, California, April 1991 ）。
【００１５】
運動学的判断規準に基づくアプローチは、そのロボットの動力学が考慮されていないと言う弱点を抱えている。マニピュレータの慣性、重力の影響、及び速度依存項は、そのロボットの位置に依存する。従って、パフォーマンス（例えば加速）は、作業スペース内の異なる位置において、異なる。
【００１６】
Benhabib, Tabarah, and Fenton の文献には、幾つかの異なるパフォーマンスの最適化のケース・スタディが、“ポイント・ツー・ポイント”モード及び“連続的な経路上での動き”で運転される産業用ロボットに関して、報告されている（“Robot performance  optimisation under specified dynamic conditions”, Mech. Mach. Theory, Vol. 26, No. 3, 1991 ）。エンド・エフェクタでの最大の力／モメントのための、及び最小のサイクルタイムのためのロボットの最適なロケイションが、研究されている。
【００１７】
従来の最適化方法は、大量の計算、高度な知識、及び長い時間が必要になるので、しばしば、取扱いが面倒なものであった。これに対して、レスポンス・サーフェス法（ＲＳＭ：Response surface method）においては、シミュレイションの数が限られ、収束が問題とならず、且つ、容易に使用することができる。レスポンス・サーフェス法は、問題のモデル化及び分析のために有用な数学的及び統計学的技術を集めたものである（更に、Box, Hunter and Hunter, 1978, Khuri and Cornell, 1987,   Myers and Montgomery, 1995   and Montgomery 1976 も参照方）。その中において、関心の対象となるレスポンスが、幾つかの変数により影響され、そして、その目的は、このレスポンスを最適化することである
現在のロボットの問題の中で、決定変数（decision variables）を、例えば、所与のロボット・ベースに対する予め定められた経路のリファレンス・ポイントのｘｙｚ座標から構成することが可能であり、そして、最小化されるべき関心の対象となるレスポンスは、そのタスクのサイクルタイムである。レスポンス（サイクルタイム）と独立変数（ｘｙｚ座標）の間の関係の形態は、未知である。このようにして、第一のステップは、サイクルタイムとｘｙｚ座標の間の真の関数的関係に対する適切な近似式を見つけ出すことである。
【００１８】
一般的に、一次または二次の近似式が、大半のＲＳＭ問題において、適切な結果をもたらす。二次形態は、相互作用及び純粋の二次項からなる。両方のタイプの項を含む式は、“フル二次式”と呼ばれ、それは、以下の形態を有している：
ｆ（ｘ，ｙ，ｚ）＝ｂ0 ＋ｂl ｘ＋ｂ2 ｙ＋ｂ3 ｚ＋  （一次項）
ｂ4 ｘｙ＋ｂ5 ｙｚ＋ｂ6 ｘｚ＋  （相互作用項）
ｂ7 ｘ２＋ｂ8 ｙ２＋ｂ9 ｚ２    （二次項）  ・・・（０．１）
式（０．１）の中のモデル・パラメータ｛ｂ0 ，ｂ1 ，ｂ2 ，... ，ｂ9 ｝は、異なる方向について、合理的な量の実験を行うことによって、評価することができる。
【００１９】
レスポンス・サーフェスに適合させるためのデザインは、レスポンス・サーフェス・デザインと呼ばれている。３変数問題においては、少なくとも、２３＋１＝９回の実験が、二次モデルに適合させるために、必要になる。 
実験の数が増える程、レスポンスの式がより正確であると評価されることになる。しかしながら、実験を行うには、非常に時間がかかり、従って、多数の実験を計画すると、そのプログラムの実施のために必要となるＣＰＵ時間の増加を招く。
【００２０】
一つの問題は、オリジナルのタスクのロケイションの周りでの、ｘ，ｙ，及びｚ方向についてのタスク動作可能域の境界を見つけ出すことである。これは、テスト・キューブを規定することによって実施され、このテスト・キューブのサイズは、ｘｙｚ座標における変化量の大きさをコントロールし、このテスト・キューブのテスト・ポイント座標は、オリジナルのタスク・ロケイションでの参照フレームの中で規定され、タスクのシフト方向をコントロールする（図４参照）。これらのテスト・ポイント座標は、“−１，０，及び１”の３つの値の内のいずれかを取らなければならない。
【００２１】
例えば、（１，１，１）の方向のタスク・ロケイション・テストは、Ｘ、Ｙ及びＺについての正方向へ  √３／２＊立方体サイズ  シフトさせた場合の、動作可能域の境界を与えることになる。また、（−１，−１，０）の方向の実験は、Ｚレベルを固定してＸ及びＹについて負方向へ  √２／２＊立方体サイズ  シフトさせた場合の、動作可能域の境界を与えることになる。
【００２２】
シフト調査の実験における、いわゆる “フル・ファクトリアル・デザイン（full factorial design；全因子計画）”は、２７のテストを含む。図５は、境界を見つけ出すために使用される方向を表わしており、また、図４は、これらのロケイション・テストのシフト・ベクトルを図に示している（シフト・ベクトルは、オリジナルのタスク・ロケイションからロケイション・テスト・ポイントを指し示すベクトルとして規定される）。オリジナルのタスクのロケイションは、この立方体の中央の大きい黒い丸（または点）であり、小さな丸（または点）は、境界を見つけ出すために選択される方向を表わしている。
【００２３】
しかしながら、もし、ＣＰＵ時間を減らすことが非常に重要である場合には、より少ない数の実験であっても、容認可能である。例えば、１２のテストからなるボックス・ベーンケン（Box-Behnken）デザインを、考慮することも可能である。しかし、一方向のみの６つのテスト即ち、（１，０，０），（−１，０，０），（０，１，０），（０，−１，０），（０，０，１），及び（０，０，−１）は、通常、有用性が低く、従って、無視することが可能である。
【非特許文献１】Nelson and Donath；“Optimizing the location of assembly tasks in a manipulators workspace”, Journal of Robotic Systems, Vol.7, No 6,1990
【非特許文献２】Pamanes and Zeehloul； “Optimal placement of Robot manipulators using multiple kinematic criteria”, in Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, California, April 1991
【非特許文献３】Benhabib, Tabarah, and Fenton； “Robot performance  optimisation under specified dynamic conditions”, Mech. Mach. Theory, Vol. 26, No. 3, 1991 ）
【発明の開示】
【発明が解決しようとする課題】
【００２４】
（解決すべき最も重要な問題）
一般的且つ重要な問題は、ロボット及び特定のタスクの最適な相対ロケイションを、そのタスクに対してロボットのパフォーマンスが最適化されるように、特定する／決定することである。今日のロボット・プログラミング・システムは、ロボット作業スペース内で効率良く作業を実行するために、ロボット及びそのタスクの最適なロケイションを、効率良く且つ自動的に決定する能力に欠けている。
【００２５】
ロボットは、正確且つ効率的なやり方でモデル化するにためは、複雑なシステムである。今日でも、ロボットのパフォーマンスを最適化するために必要とされる数多くのシミュレイションには、長過ぎるシミュレイション及びＣＰＵ時間がかかる。この時間を減らさなければならない。
【００２６】
ロボットをシミュレイトするために使用されるモデルは、また、高度に非線形であり、そして、ロボットのパフォーマンスの最適化の問題は、非常に複雑である。従って、受入れ可能なソリューションを常にもたらす最適化方法を見つけ出すことは、非常に難しい。
【００２７】
最適化問題は、非常に複雑なので、それは、ユーザによる最適化理論の知識を必要とする。ユーザは、例えば、変数を正規化し、重み付けファクター及び許容範囲その他を選択する必要があり、そして、このことは、当然、既知の方法における問題である。
【００２８】
（本発明の目的）
この発明の目的は、以上で挙げた問題を解決することにあり、且つ、特定のタスクに対するロボットの最適なロケイション、少なくとも位置及び向き、を効率良く見つけ出すための方法を提供することにある。
【００２９】
本発明の他の目的は、ロボットが特定のタスクを実行するための、サイクルタイムが最小になるロケイションを見つけ出すことにある。
【００３０】
本発明の更に他の目的は、ロボットが特定のタスクを実行するための、最適な経路を決定することにある。
【００３１】
本発明の更に他の目的は、ロボットのコンポーネントの寿命を最大にすること、及び、最もバランスの取れた“コンポーネント寿命”を見つけ出すことにある。
【００３２】
本発明の他の目的は、ロボット・システムの電力消費を最小化することであり、および／または、ロボット・システムの熱管理を最適化することにある。
【００３３】
本発明の更なる目的は、ロボットに基づくプロセスの質を最適化することにある。
【課題を解決するための手段】
【００３４】
本発明の目的は、タスクのロボットに対するロケイション（location）、即ち、位置（position）および／または向き（orientation）、を最適化するための方法によって実現される。
【００３５】
この方法は、下記のステップを有している：
少なくとも二つのテストからなる少なくとも一つの実験を計画する、ここで、各テストは、その実験の中の少なくとも一つの他のテストと、ロボットに対するタスクのロケイションに関して、異なっている；
許容可能なタスクのロケイションについて境界を計算／決定する；
その実験の中の少なくとも一つのテストについての最適化の効果を計算／決定する；
その実験データをアルゴリズムに適合させる； 
そのタスクの最適なロケイション、即ち位置及び向き、を計算／決定する。
【発明の効果】
【００３６】
本発明による方法は、シミュレイション時間を短縮する。それは、シミュレイションの数が前もって分かり、そして、適切な実験を選択することにより最小化されるからである。
【００３７】
この方法はまた、強固であって、且つ、ロボットの挙動を近似するシンプルな式を特定する。この方法は、シンプルな式の最適なポイントを常に見つけ出し、いつでも、最適化問題に対するソリューションを常に見つけ出し、且つ、サイクルタイムを大幅に縮める。
【００３８】
この方法はまた、使用することが容易で、ロボットは、通常と同じように（オフラインでまたはオンラインで）プログラムされることが可能である。最適化手順へのインプットは、ロボット・プログラム及びロボットのタイプである。ユーザは、最適化理論について、知識を有している必要がない。その理由は、変数を正規化し、重み付けファクター及び許容範囲を選択する必要がないからである。
【００３９】
この方法はまた、実施に実施することができ、そのためのコストは、シミュレイション時間及びソフトウエアのみとなる。
【発明を実施するための最良の形態】
【００４０】
本発明をより良く理解するため、図面を参照しながら説明する。
【００４１】
典型的なロボットは、以下の構成を備えている：
メイン・アーム・システム及び関係するジョイント（関節）（通常、回転タイプまたは他のタイプのジョイント）；
ツール・アタッチメントのためのプラットフォームを備えたメイン・アーム・システムに対して、通常、２または３回転自由度のリスト（手首）；
ロボット メイン・アーム・システム及びリスト（手首）の動きを行わせるための、ギアボックス及びモータのドライブ・トレイン・システム；
このロボットは、制御システムを備え、この制御システムは、リスト（手首）のプラットフォームに取り付けられたツールの位置及び向きをコントロールする。そのツールに関する位置及び向きの両方の、一つのクリティカルなリファレンス・ポイントは、通常、“ツール・センター・ポイント”、ＴＣＰ、と呼ばれている。
【００４２】
アームの長さ、隣接するアームとの間のオフセット、及び許容されるアーム回転角度に関する一組のロボット・パラメータは、通常、ロボット運動学的パラメータと呼ばれている。ロボットがその中でタスクを実行することができる、ロボットの作業スペース（または、ボリューム／スペース）を決定するのは、この一組のロボット・パラメータである。
【００４３】
ロボットのタスクは、ターゲットを用いて規定される。ここで、ターゲットとは、無限に小さなオブジェクトと考えることが可能であり、このオブジェクトは、三次元のデカルト空間の中で、その位置を規定する３つの座標、及びその向きを規定する３つの角度を有している（もし、オイラー角により定められる場合）。図９に示されているように、ターゲットがその中で位置し／規定される複数の異なる座標系を定めることができる。
【００４４】
タスクのロケイションを変更することは、そのタスクを規定するために使用される全てのターゲットのロケイションを変更することと同じ事である。ロボットの位置及び向きに対する、一組のターゲットの位置及び向きは、複数のやり方で変更することができる。それらの例は、以下の通りである：
−  一組のターゲットの位置及び向きを変更することにより；
−  ロボットの位置及び向きを変更することにより；
−  ターゲットがその中で規定される座標系の一つの位置及び向きを変更することにより；
−  ロボットがその中で規定される座標系の一つの位置及び向きを変更することにより。
【００４５】
そのセルを規定するためにどの座標系が使用されるか、及びそのセルがどのように規定されるかに依存して、ロボットに対する一組のターゲット（即ちタスク）の位置及び向きを変更するための上記のアプローチの一つまたはそれ以上が、機能する。
【００４６】
以下の条件が満足されるとき、ロボットのタスクが実現可能と判断される：
（１）  ロボットのＴＣＰが、全てのターゲット（位置及び向き）に“到達”することが可能であり；且つ、
（２）  ロボットのＴＣＰが、ターゲットの間で規定される動きを実現可能であるとき。
【００４７】
二つの隣接するターゲットの間のロボットのＴＣＰの典型的な動きには、二つのタイプがある。第一のタイプは、予め規定されたライン（曲線または直線）に沿っての動きである。第二のタイプは、ジョイント（関節）の動きによるものである。ターゲット、ターゲット間での動きのタイプ、及び、ターゲット間でのＴＣＰの動きのために要求されるスピードを用いて、ロボットが実行することが可能なタスクが、完全に規定される。
【００４８】
ターゲットの規定を含むファイル、ターゲットの間でのＴＣＰの動き、及び隣接するターゲットの間で要求されるスピードは、通常、ロボット・プログラムと呼ばれている。
【００４９】
ロボット・プログラムの中で規定されたタスクをロボットが実行することができると決定するためには、そのプログラムの中で規定された全てのターゲットにロボットのＴＣＰが“到達”できることが必要である。これは、必要条件である。もう一つの条件（十分条件）は、そのプログラムの中で規定されたターゲットの間でのＴＣＰの動きが、完結されなければならないことである。
【００５０】
ロボット・プログラムの中で規定されたタスクをロボットが実行可能であるかを調べるために、二つの判断規準が使用される。
【００５１】
その第一の判断規準は、“可能なタスク配置についての判断規準（Possible task placement criterion）”であり、この判断規準は、以上で論じた必要条件を使用する。タスクのロケイションは、もし、ロボット・プログラムの中で規定された全てのターゲットがロボットのＴＣＰにより到達できる場合の、可能な配置であると考えられる。これは、そのロボットの運動学的モデルを用いて、ジョイント角度を計算することにより、チェックされる。もし、ソリューションが存在し、且つ、そのジョイント角度がジョイント角度の許容可能な範囲の内側であるならば、そのターゲットに到達することができる。通常、幾つかの異なるやり方で、軸角度の異なる組合わせを用いて、同一の位置及び向きを実現することが可能である。我々は、これらを、異なるロボット・コンフィギュレイション（robot configurations）と呼ぶ。ロボット・コンフィギュレイションに対する要求を、“可能なタスク配置についての判断規準”に付け加えることが、可能である。例えば、経路が、オリジナルのロケイションからシフトされたときには、我々は、そのロボット・コンフィギュレイションを変更することを要求することができる。
【００５２】
可能なタスク・ロケイションは、ロボット・プログラムの中で規定されたタスクが許容可能であることを、保証しないが、可能なタスク・ロケイションが許容可能なものである可能性が高い。可能なタスク配置についての判断規準の優位性は、その評価のための時間的効率が良いことである。
【００５３】
その第二の判断規準は、“許容可能なタスク配置についての判断規準（Admissible task placement criterion）” であり、この判断規準は、以上で論じた十分条件を使用する。そのタスクの配置は、もし、ロボットのＴＣＰが、ロボット・プログラムの中で規定されたターゲットの全てに到達し、且つ、一連の全てのターゲットの間の動きを実行することが可能な場合に、運動学的に許容可能であると考えられる。これは、基本的には、二つのターゲットの間でロボットが辿ることになる経路上に、運動学的な特異点が無いことを確認することが必要であることを意味している。
【００５４】
経路上の十分な数のポイントを、運動学的モデルを用いて調べることにより、これを行うことができる。この判断規準は、例えば、仮想コントローラ（即ち、シミュレイトされたロボット制御システム）の中でロボット・プログラムを実行することによって、評価することが可能である。非常に大量のポイントを調べる必要があるので、この判断規準は、可能なタスク配置についての判断規準と比べて、遥かに時間がかかることが明らかである。
【００５５】
上記の規定は、最適なタスク・ポジショニングに関して、特に、ロボット作業スペースの中で、タスクのロケイション／配置についての境界を見つけ出すときに、非常に重要である。
【００５６】
図３に、本発明の好ましい実施形態のフローチャートが示されている。この実施形態において、産業用ロボットに対するタスクのロケイション（即ち位置および／または向き）は、サイクルタイムに関して最適化される。本発明の好ましい実施形態は、以下のステップからなる：
（１）  タスク・ロケイション・テストのための一組のテストから構成される実験を計画する；
（２）  “許容可能なタスク・ロケイション判断規準”がその中で満足される一組のタスク・ロケイション・テストを用いて、境界を見つけ出す；
（３）  各許容可能なタスク・ロケイションで、サイクルタイムを計算する；
（４）  タスク・ロケイション・テスト結果（許容可能なタスク・ロケイションの関数としてのサイクルタイム）を、多項式（または、他の適切な式）に適合させる；
（５）  その適合された多項式を用いて、最適なタスク・ロケイションを見つけ出す；
（６）  正確さを増すために、ステップ（２）から（５）までを、決定された最適なタスク・ロケイションで、より小さい寸法のテスト・キューブ（図４参照）を用いて、繰り返しても良い。
【００５７】
この概略的に説明されたステップは、以下のパラグラフにおいて詳細に説明される。
【００５８】
他の実施形態において、産業用ロボットに対する最適なタスクのロケイションは、ロボット・コンポーネントの寿命が最大になること、または、ロボット・コンポーネントの寿命が最大限バランスすること、または、ロボット・システムの電力消費が最小になること、または、ロボットのドライブ・トレインのコンポーネント（ギアボックス、モータ及びドライブ）の内の温度が最適化されること、または、上記結果の何れかの組み合わせが実現されること、などを意味している。プロセス・モデルはまた、ロボットに基づくプロセスの質を最適化することができる。プロセス・モデルは、それから、例えば、最適化の効果を計算するための仮想コントローラとともに使用される。以下に、塗装へ適用するケースを用いて、上記アイデアの例を示す。
【００５９】
プロセス・モデル（単純化された）は、次のように表わされる：
ｄｔ＝ｆ（ｄｖ，ｘ１，ｘ２，... ，ｘｎ）
ここで、
ｄｔは、塗装の厚みの変動量、
ｄｖは、ロボットのＴＣＰの速度の変動量（これは、タスクのロケイションの関数である）、
ｘ１，... ，ｘｎは、当該ロボットにより影響されない他のプロセス・パラメータ。
【００６０】
上記の方法論及びプロセス・モデルを用いて、塗装の厚みの変動量ついての最適なタスクのロケイションを見つけ出すことができる。
【００６１】
この実施形態においては、一つロボット及び一つタスクがあるが、数台のロボットおよび／または幾つかのタスクがあっても良い。更に、注意すべきことは、必ずしも、位置及び向きの両方が最適化されることまでは要求されず、位置のみであっても、向きのみであってもよく、あるいは、位置および／または向きの個別の成分のみであっても構わない。
【００６２】
本発明によれば、方法の第一のステップは、実験が計画されること、即ち、複数のテストが規定されることである。各テストにおいて、そのタスクの位置および／または向きが、変更される。これらのテストは、後に、サイクルタイムとロボットに対するタスクの位置及び向きの間の関係の近似式を見出すために使用される。
【００６３】
この実験は、従って、注意深く計画されなければならない。もし、多数のテストから構成される実験が計画された場合には、良い近似式を見つけ出すことができる。しかしながら、その実験の中の各テストについてサイクルタイムを計算するには、時間がかかり、多数のテストを計画することは、必要となるＣＰＵ時間の増大を招く。正確さとＣＰＵ時間の満足できる組み合わせをもたらすような実験が、選択されなければならない。いわゆるフル・ファクトリアル・デザイン（full-factorial design；全因子計画法）は、２７のテストを含む。
【００６４】
図５の中に、そのタスクの位置のみの、３変数のケースについてフル・ファクトリアル・デザインの例が示されている。２変数（そのタスクの位置のみ）のケースについての、フル・ファクトリアル・デザインを図に表わした例が、図４に示されている。図４において、オリジナルのタスク・ロケイションは、立方体の中央の大きな黒い丸（または点）で示されており、これに対して、小さな丸（または点）は、異なるテストを表わしている。必要となるテストの数が少ない実験の例は、ボックス−ベーンケン（Box-Behnken）デザインで、それは１２のテストからなる。
【００６５】
実験計画の他のタイプを用いることも可能であり、それらは、例えば、“セントラル・コンポジット・デザイン（central composite design；中心要素計画法）”、“フェイスセンタード・コンポジット・デザイン（face-centered composite design；面心要素計画法）”及び“プラケット−バーマン・デザイン（Plackett-Burman design）”などである。適応性に優れた実験計画を用いることも可能であり、それは、例えば、運動学的な特異点の近傍でより多くのテスト ポイントが使用される実験計画である。
【００６６】
この方法の第二のステップは、図３に示された許容可能なタスク・ロケイションについての境界を見つけ出すことである。この第二のステップは、図６に示されているアルゴリズムのフローチャートを用いて、以下で詳細に説明される。
【００６７】
このアルゴリズムは、以下のステップから構成される：
（１）  タスク・ロケイションを、図４に示されたロケイション・テスト・ポイントの内の一つにシフトさせる；
（２）  そのタスクを規定するための使用された全てのターゲットが、可能なターゲットであるか否を、“可能なタスク配置についての判断規準”を用いて、チェックする；
（３）  もし、ステップ（２）の条件が満足されている場合には、ステップ（８）へ進む；
（４）  もし、ステップ（２）の条件が満足されていない場合には、その“シフト・ベクトル”の逆のシフト方向を使用する（なお、シフト・ベクトルは、オリジナルのタスク・ロケイションからロケイション・テスト・ポイント）へ向かうベクトルとして定義される；
（５）  前回のシフトの半分を、今回のシフト値として、使用する；
（６）  ステップ（２）を実行する；
（７）  もし、ステップ（２）の条件が満足されている場合には、ステップ（８）へ進む；
（８）  そのシフト値が、予め定められている正確さの規準よりも大きいかチェックする；
（９）  もし、ステップ（８）の条件が、満足されていない場合には、同じシフト・方向を使用し、ステップ（５）へ進み、ステップ（２）を実行する；
（１０）  ステップ（８）の条件が、満足されている場合には、“許容可能なタスク配置についての判断規準”を用いて、そのロケイション・テスト・ポイントで、そのタスクを実行することが可能であるかをチェックする；
（１１）  もし、ステップ（１０）の条件が満足されている場合には、このロケイション・テスト・ポイントは、境界を構成するポイントとして、含まれることになる；
（１２）  もし、ステップ（１０）の条件が満足されていない場合には、このロケイション・テスト・ポイントは、無視されることになる；
（１３）  全てのロケイション・テストが行われたかどうかチェックする；
（１４）  もし、ステップ（１３）の条件が満足されていない場合には、ステップ（１）に進み、タスクを新しいロケイション・テスト・ポイントへシフトさせる；
（１５）  もし、ステップ（１３）の条件が満足されている場合には、そのアルゴリズムが完了し、境界が見つけ出される。
【００６８】
境界が決定される方向は、好ましくは、実験の方向に一致する。しかし、境界を、他のやり方で見つけ出すことも可能である（例えば、一つのパラメータを一時に変化させることによって）。
【００６９】
このアルゴリズムへのインプットは、考慮される変数、及び、境界を見つけ出す必要がある方向である。第一のステップにおいて、変数は、それらのオリジナルの値からシフトされ、次に、そのシフトの効果が、“可能なタスク配置についての判断規準”を用いて、評価される。二つの判断規準が、そのシフトがＯＫであるかどうか決定するための使用される：
（１）  可能なタスク配置についての判断規準；及び、
（２）  境界のどの程度近くで実験が行われるべきかについて示す許容範囲；
もし、どちらの判断規準も満足されていない場合には、新しいシフト値が計算される。
【００７０】
実験方向（２Ｄのケース、位置のみ）が、図７に示されている。この図は、二つの異なる作業位置にある産業用ロボットを示している。ロボットの作業スペースは、複数の異なる領域からなり、それは、全体の“動作可能領域”及び“特定のタスクについての動作可能領域”である。“特定のタスクについての動作可能領域”の内側は、ブラックボックスで示されている。そのブラックボックス上の小さな黒い丸（または点）（２）は、特定のタスクについての実験ポイント（テスト）を表わしている。矢印は、実験方向を示している。
【００７１】
経路のオリジナルのロケイションは、実験の方向に、若干の初期量だけ、一時にシフトされる。全てのターゲットは、この最初のシフトの後で、ロボットの作業スペースの内側になければならない。可能なタスク配置についての判断規準が、そのタスクの位置及び向きが、シフトの後でＯＫであるかどうかをチェックするために用いられる。
【００７２】
可能なタスク配置についての判断規準は、ジョイント角度を、そのロボットの運動学的モデルを用いて計算することにより、評価される。もし、ソリューションが存在し、且つ、そのジョイント角度がジョイント角度の許容可能な範囲の内側である場合には、判断規準が満足される。もし、その位置及び向きが許容可能でない場合には、次回のシフトは、反対方向に“α＊最後のシフト”のシフト量で行われる。但し、０＜α＜１である。
【００７３】
もし、そのタスクの位置及び向きがＯＫであるが、最後のシフトが、境界のどの程度近くでテストが行われるべきかについて規定する許容範囲と比べて大きい場合には、次回のシフトは、同一方向に“α＊最後のシフト”のシフト量で行われる。
【００７４】
もし、そのタスクの位置及び向きがＯＫで、且つ、最後のシフトが、境界のどの程度近くでテストが行われるべきかについて規定する許容範囲と比べて小さい場合には、その実験を実行することが望ましく、それにより境界が見つけ出される。
【００７５】
動作可能領域（即ち、特定の経路についてタスクをどの程度変位させることができるかを示す範囲）が、図７に示されている。注意すべきことは、付加的な判断規準を、可能なタスク配置についての判断規準に、付け加えることができることである。その幾つかの例は、下記の通りである：
＊  ロボット・セル幾つかの部分を、占有されているとして規定することができる、即ち、これらの部分においてタスクを実行することができない。これは、衝突の危険、または安全上の理由、またはセルの設計者が想定するであろう他の理由によるものである；
＊  セル内の他のロボット、または他のデバイスとの衝突を、チェックすることができる。
【００７６】
各方向についての境界を見つけ出した後、その実験の中のテストのそれぞれについてサイクルタイムを計算するために、経路のシミュレイションが実行されることになる。タスクは、仮想コントローラを用いて、即ち、正確なサイクルタイム・シミュレイションを与えるシミュレイトされたロボット制御システムを用いて、シミュレイトされ、そのシミュレイションの間に、時間が測定される。この仮想コントローラは、シミュレイトされた制御システムであるので、真のコントローラの中に存在している情報の大部分にアクセスすることが可能である。
【００７７】
このように、仮想コントローラを、そのタスクの位置及び向きの最適化の他のアスペクトを評価するために使用することが可能である。サイクルタイムを計算することに加えて、ロボットがターゲット間の動きを実行することが可能であるかも、自動的にチェックされる。即ち、タスクの許容可能性がチェックされる。もし、ロボットが、そのタスクを実行することができないとき、その対応するテストは、実験から取り除かれる。
【００７８】
この“タスクの許容可能性”を、運動学的モデルを用いて、経路上に運動学的な特異点が無いことを確認することによって、チェックすることも、可能であろう。このタスクの許容可能性は、その場合、サイクルタイムが計算される前に、チェックされることになる。このことは、サイクルタイムの計算に長い時間がかかるケースにおいては、有益であろう。
【００７９】
以下のステップにおいて、実験データ、位置、向き、及び各テストについて計算されたサイクルタイムが、例えば、多項式に、適合される。この例を、以下において、二次の多項式のケースで、且つ位置のみが変化する場合について示す。
【００８０】
高次の多項式および／または回転のみが考慮されるケース、あるいは、位置及び回転が考慮されるケース、あるいは、位置および／または向きの少なくとも一つの成分が考慮されるケースも、同様なやり方で取り扱うことができる。サイクルタイム“ｆ（ｘ，ｙ，ｚ）”は、そのとき、以下の式で近似される：
ｆ（ｘ，ｙ，ｚ）＝ｂo ＋ｂ1 ｘ＋ｂ2 ｙ＋ｂ3 ｚ＋  （一次項）
ｂ4 ｘｙ＋ｂ5 ｙｚ＋ｂ6 ｘｚ＋  （相互作用項）
ｂ7 ｘ２＋ｂ8 ｙ２＋ｂ9 ｚ２    （二次項）      ・・・（１）
この式を実験データに適合させることは、最小二乗法のセンスで、最小の誤差を与える係数（ｂO からｂ9 まで）を見つけ出すことからなる。これを行うために、先ず、式（１）が、一次の形で表わされように、以下のマッピングにより変形される：
ｘ＝ｘ1 ，  ｘｙ＝ｘ4 ，  ｘ２＝ｘ7 
ｙ＝ｘ2 ，  ｘｚ＝ｘ5 ，  ｙ２＝ｘ8 
ｚ＝ｘ3 ，  ｙｚ＝ｘ6 ，  ｚ２＝ｘ9       ・・・（２）
式（２）を用いて、式（１）は、マトリクス表示により以下のように表わされる：
Ｙ＝Ｘ・Ｂ＋ｅ      ・・・（３）
ここで、
Ｙは、サイクルタイムのベクトル、
Ｘは、デザイン・マトリクス、
Ｂ＝｛ｂ0 ，ｂ1 ，ｂ2 ，... ，ｂ9 ｝、及び
ｅは、誤差のベクトル。
【００８１】
上記のデザイン・マトリクスは、マトリクスの形の形で表わされた実験計画である。Ｂは、最小二乗法を用いることにより評価することが可能であり、  Ｌ＝ｅＴ・ｅ  の最小化は、次の式のようになる：
Ｂ＝（ＸＴ・Ｘ）−１・ＸＴ・Ｙ      ・・・（４）
多項式の代わりに、スプライン関数またはフーリエ級数を使用することもできる。
【００８２】
本発明による方法の最後のステップは、今や、最小のサイクルタイムをもたらすそのタスクの位置及び向きを、サイクルタイムについての近似式を用いて、見つけ出すことである。多項式の極値点を見つけ出すことは、簡単に行われる。（内部の）極値点のための必要条件は、全ての偏微分がゼロであること、即ち、そのポイントが、安定点であることである。
【００８３】
我々が、微分可能な式：
ｆ（ｘ１,ｘ２，... ，ｘｎ）
−を持っているとして、その式に極値点を求めようとしているとすると。更に、ｆ（Ｐ）を、Ｐ＝｛ａ１，ａ２，... ，ａｎ｝が安定点であるとする。マトリクス：
Ａ＝（ａｉｊ）
−を定める。ここで、
ａｉｊ＝｛∂２／（∂ｘｉ・∂Ｘｊ）｝・ｆ（Ｐ）
−である。そのとき、もし、
Ｑ＝｛ｘ１，ｘ２，... ，ｘｎ｝ｔＡ｛ｘ１，ｘ２，... ，ｘｎ｝
が正（負）で有限な値である場合には、Ｐはローカルな最小点（最大点）である。
【００８４】
内側の極値点を見つけ出すことに加えて、境界を調べる必要がある。
【００８５】
たとえ、特定のタスクについての動作可能領域が先行のステップで決定されていた場合であっても、最適化のための幾つかの制約条件を付け加えることが、好ましいであろう。その一例として、動作可能領域の特定の部分を、安全上の理由のために、あるいは、他のオブジェクトとの衝突の危険のために、除外したいと思うケースがあるであろう。半径Ｒの円筒を除外することは、センターが（ｘ１，ｙ１）にあるとして、以下の制約条件により表わすことができる：
（ｘ−ｘ１）２＋（ｙ−ｙ１）２＞Ｒ２
どの程度複雑な制約条件が設定されるかに依存して、異なる種類の最適化方法を用いることができる。それらは、例えば、複合法、ＳＱＰ法、グラディエント法などである。
【００８６】
サイクルタイムの近似式の最小値は、必ずしも、実際の最小のサイクルタイムを与えるとは限らない。更に、最適なロケイションが、境界の内側で見つけ出されたとしても、その最適なロケイションが、許容可能なタスク配置についての判断規準を満足することが、保証されるとは限らない。これらの理由のために、サイクルタイムの式の最小値は、最適化のための候補または最適な候補と考えることができるだけである。換言すれば、上記の式により予想される最適なロケイションは、経路シミュレイションを行うことにより、テストされなければならない。
【００８７】
もし、その経路が、成功裏にシミュレイトされれば、サイクルタイムの測定が行われる。そうでない場合には、最適ベクトルの方向での最も近い可能なタスク・ロケイションが、最適な候補として選択される。この手順は、シーケンシャルな後方へのシフトと呼ぶことができる。許容不可能なロケイションを最適な候補として見つけ出す可能性があるため、このアルゴリズムは、異なるサーチ領域の中で幾つかの最適な候補を決定することができる。
【００８８】
オリジナルの経路ロケイションの周囲の異なるサーチ領域が、幾つかの最適な候補を見つけ出すために考慮される。このコンセプトは、図８に示されている。図８において、オリジナルの経路ロケイションの周囲で、３つの異なるサーチ領域が使用され、最適な点（このケースでは最小の点）が、それぞれのサーチ領域について、見つけ出される。
【００８９】
図８の２次元の模式図から分かるように、より小さいサーチ領域を仮定することによって、異なる最適な候補が得られる。この方策を採用することは、オリジナルのロケイションから異なる距離にある幾つかの最適な候補を導入するという優位性がある。全ての候補ポイントが調べられ、サイクルタイムが測定されることになる。もし、タスクが、候補ロケイションの一つで実行できない場合には、即ち、もし、そのロケイションが許容不可能なロケイションである場合には、そのロケイションは、最適な候補のリストの中から取り除かれる。候補の全てを調べた後、実際のテストの最小値が、現実の最適として、選択される。上記の手順を用いて、最適なポイントが見つけ出されるが、それでもなお、幾つかの他の可能性があるケースについて考慮する必要がある。
【００９０】
考慮に入れるべき第一のケースは、最適な候補のいずれもが、許容可能でないケースである。    即ち、最適な候補が許容可能でなく、且つオリジナルのロケイションへのシーケンシャルな後方へのシフトの間であっても、可能なロケイションを、見つけ出すことができないか、あるいは、可能なソリューションが存在するケースにおいて、ロボットが経路とターゲットの間のどこかでジョイント（関節）のリミットに到達する。そのときには、実験の最短のサイクルタイムが最適として選択される。
【００９１】
注意すべきことは、実験のロケイションの許容性は、前もって、経路シミュレイションを実行することによりチェックされることである。最適なロケイションが許容可能な場合であっても、最適化されたサイクルタイムが、実験のサイクルタイムの全てよりも小さいかどうかについてチェックすることが、なお合理的である。もし、実験のサイクルタイムが、最適なロケイションにおけるサイクルタイムよりも小さい場合には、そのロケイションが、最適として考慮されることになる。
【００９２】
そのタスクの最適位置及び回転が見つけ出された後で、上記のステップを繰り返すこともできるが、そのときには、最適なポイント（位置及び向き）の周りの小さな領域で、実験がデザインされる。より小さな領域でステップを繰り返すことによって、最適なポイントの正確さが、通常、改善され、それにより、サイクルタイム（最適化の幾つかの他の目安）が減らされる。
【００９３】
一部のケースにおいては、第一の近似式を見つけ出すために、低次の多項式を使用することが有利になることもある、（比較的少数のテストからなる実験が行われる）。その後、第二のステップとして、第一の近似式の周囲のより小さな領域で、高次の多項式を使用することができる。先の実験により予想される最適なポイントの周りで、新しい実験を計画するプロセスを、数回繰り返すこともできる。
【００９４】
最適なロボット・ポジショニングのために、以上で述べた方法論は、他の最適化目標を実現するために、適用することが可能である。それは、例えば、コンポーネント寿命の最大化、エネルギ消費の最小化、ロボット・システムの熱管理の最適化、ロボットに基づくプロセスの質の最適化などである。
【００９５】
本発明による方法を適用するために、ロボットのタイプに関して何の制限もない。即ち、いかなる種類のロボットも考慮の対象とし使用することが可能である。そのタスクも、広範囲に渡り、いかなる種類のタスクも考慮の対象とし使用することが可能である。
【００９６】
本発明による方法はまた、コンピュータまたはプロセッサに上記方法のステップのいずれかを実行させるため、一組のコンピュータ読込み可能な指示、あるいは、コンピュータ・プログラム記憶手段に含まれるコード手段のコントロール下で、少なくとも部分的に、実行される。
【００９７】
本発明はまた、本発明による方法を実行するために、コンピュータ読込み可能な製品を使用することもできる。
【００９８】
本発明について、好ましい実施形態を用いて説明したが、本発明は、それらのみに限定されることはなく、添付されたクレームにより規定される本発明の原理から外れることなく、様々なやり方で実施することができる。
【図面の簡単な説明】
【００９９】
【図１】図１は、可能性のある異なる座標系を示す。
【図２】図２は、ロボット・アームの外部での座標系を示す。
【図３】図３は、本発明による方法の全体像を示すフローチャートである。
【図４】図４は、ロケイション・テスト・キューブを示しており、このキューブは、２７のテストが行われるフル・ファクトリアル実験、及び関係するタスク・シフト・ベクトルを示している。
【図５】図５は、３変数を含む“フル・ファクトリアル実験 デザイン”を示す表である。
【図６】図６は、図３の中の“境界を見つけ出す” ステップの、より詳細なフローチャートである。
【図７】図７は、特定のタスクのための動作可能領域／スペースを示し；更に、この図は、動作可能領域／スペースを見つけ出すために、実験方向がどのように用いられるかを示している。
【図８】図８は、異なる領域で最小のレスポンスの式をサーチすることが、異なる結果をもたらすことがあることを示す、２次元の図である。
【図９】図９は、ターゲットが置かれ／規定される異なる座標系を示している。
【図１０】図１０は、オブジェクト座標系が、他の座標系に対してどのように規定されるかについて示している。
【図１１】図１１は、レスポンスのサイクルタイムの相互作用のプロットを、ｘｙｚ座標の関数として示した図であり、また、どのモデル・タイプが、最良の結果をもたらすかを示している。
【図１２】図１２は、本発明による方法の可能性のあるアルゴリズムの詳細なフローチャートである。
【図１３】図１３は、本発明による方法の可能性のあるアルゴリズムの詳細なフローチャートである。
【図１４】図１４は、本発明による方法の可能性のあるアルゴリズムの詳細なフローチャートである。
【図１５】図１５は、回転ブロック・アルゴリズムの詳細なフローチャートである。
【図１】
2007512153.tif 000003
【図２】
2007512153.tif 000004
【図３】
2007512153.tif 000005
【図４】
2007512153.tif 000006
【図５】
2007512153.tif 000007
【図６】
2007512153.tif 000008
【図７】
2007512153.tif 000009
【図８】
2007512153.tif 000010
【図９】
2007512153.tif 000011
【図１０】
2007512153.tif 000012
【図１１】
2007512153.tif 000013
【図１２】
2007512153.tif 000014
【図１３】
2007512153.tif 000015
【図１４】
2007512153.tif 000016
【図１５】
2007512153.tif 000017
【国際調査報告】
2007512153.tif 000018
2007512153.tif 000019
2007512153.tif 000020