(57)【要約】  複数の相互作用ロボットをオフラインでプログラミングする方法及び装置を開示する。例えば、複数の相互作用ロボットをオフラインでプログラミングするシステム（１００）は、複数の相互作用ロボット（１３１〜１３３）のプログラムコード（１１１）をオフラインでプログラミングし、そして検証するコンピュータ（１１０）と、コンピュータ（１１０）に接続されてプログラムコード群の内の少なくとも一つのコードのダウンロードを受信して実行するロボットコントローラ（１２０）と、を含む。複数の相互作用ロボット（１３１〜１３３）はロボットコントローラ（１２０）によって制御することができる。
2008502488.tif 000002
【特許請求の範囲】
【請求項１】
複数の相互作用ロボットをオフラインでプログラミングするシステム（１００）であって、複数の相互作用ロボットのプログラムコード（１１１）をオフラインでプログラミングし、そして検証するコンピュータ（１１０）と、
コンピュータに接続されてプログラムコード群の内の少なくとも一つのコードのダウンロードを受信して実行するロボットコントローラ（１２０）と、そして
複数の相互作用ロボット（１３１〜１３３）の内、ロボットコントローラによって制御される少なくとも一つのロボットと、
を備えるシステム。
【請求項２】
コンピュータ（１１０）は、複数の相互作用ロボット（２３１〜２３３）のプログラムコードのオフラインプログラミング及び検証を容易にすることを特徴とし、オフラインプログラミング及び検証では、
仮想ロボットセルをロボットプログラムに定義し（３０１）、
或る経路を、ロボットプログラムの仮想ロボットセルにおいて定義される部品の幾何学的パターンを基準として生成し（３０２）、
パラメータ群を定義し（３０３）、
少なくとも一つのロボット経路を自動的に生成し（３０４）、
少なくとも一つのロボット経路を、ロボットプログラムを実行するシミュレーションにより検証し（３０５）、そして
ロボットプログラムをロボットコントローラにダウンロードして（３０６）複数の相互作用ロボットを制御する、請求項１記載のシステム。
【請求項３】
溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含む処理が行なわれることを特徴とする、請求項１記載のシステム。
【請求項４】
ロボットコントローラ（１２０）は、最大４台の複数の相互作用ロボット（１３１〜１３３）を制御する機能を備えることを特徴とする、請求項１記載のシステム。
【請求項５】
複数の相互作用ロボット（１３１〜１３３）は移動モードで動作し、移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項１記載のシステム。
【請求項６】
複数の相互作用ロボット（２３１〜２３３）の各々にはロボット構成が定義され、かつ作業タイプが割り当てられ、作業タイプによってロボットをプロセスロボット（２３１，２３２）またはハンドリングロボット（２３３）として特定し、
複数の相互作用ロボットの内の少なくとも一つのロボットは、工具速度、及び部品を基準とする工具の向きの内の少なくとも一つを有する工具（２５０，２６０）を操作し、そして
オフラインプログラミングによってユーザによるプログラムコードの最適化が容易になることを特徴とする、請求項１記載のシステム。
【請求項７】
複数の相互作用ロボットは複数の処理を行なうプロセスロボット（２３１，２３２）であることを特徴とする、請求項１記載のシステム。
【請求項８】
複数の相互作用ロボットの内の少なくとも一つのロボットはフレキシブル部品の位置決めを行なうハンドリングロボット（２３３）であることを特徴とする、請求項１記載のシステム。
【請求項９】
複数の相互作用ロボットをオフラインでプログラミングしてダウンロード可能なロボットプログラムを生成する方法であって、前記方法では、
仮想ロボットセルをロボットプログラム（３００）に定義し（３０１）、
或る経路を、ロボットプログラムの仮想ロボットセルにおいて定義される部品の幾何学的パターンを基準として生成し（３０２）、
パラメータ群を定義し（３０３）、
少なくとも一つのロボット経路を自動的に生成し（３０４）、
少なくとも一つのロボット経路をシミュレーションにより検証し（３０５）、そして
ロボットプログラムをロボットコントローラ（１２０）にダウンロードして（３０６）複数の相互作用ロボットの内の少なくとも一つのロボットを制御する、方法。
【請求項１０】
仮想ロボットセルの定義では、
ロボット（２３１〜２３３）をシミュレーション環境の仮想ロボットセル（２３０）にインポートし、そして
シミュレーション環境のロボット群を基準とする部品（２４０）の幾何学的パターンを撮像したＣＡＤデータをインポートする、
請求項９記載の方法。
【請求項１１】
部品を基準とする経路の生成では、
少なくとも一つの経路（２５１）を仮想ロボットセル（２３０）において定義される部品（２４０）の幾何学的パターンに沿って生成し、そして
部品に対して経路に沿って行なわれるプロセスを定義する、
請求項９記載の方法。
【請求項１２】
行なわれるプロセスは、溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含むことを特徴とする、請求項１１記載の方法。
【請求項１３】
パラメータ群の定義では、
ロボットをプロセスロボット（２３１，２３２）またはハンドリングロボット（２３３）として特定するロボット作業タイプを定義し、
経路に沿った工具速度を定義し、
部品を基準とする工具の向きを定義し、
ロボット構成を定義し、そして
プロセス最適化を行なう、
請求項９記載の方法。
【請求項１４】
プロセス最適化を行なう操作では、サイクル時間、寿命、及び消費エネルギーの内の少なくとも一つに関して最適化を行なうことを特徴とし、かつペナルティー係数及び／又は駆動関節／非駆動関節をパラメータ群として定義することができることを特徴とする、
請求項１３記載の方法。
【請求項１５】
ロボットプログラムは複数の相互作用ロボット（２３１〜２３３）の移動モードを定義し、移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項９記載の方法。
【請求項１６】
ロボットプログラム（１１１）を再プログラムし（４０７）、そして検証してダウンロードすることができることを特徴とする、請求項９記載の方法。
【請求項１７】
少なくとも一つのロボット経路を自動的に生成する（３０４）操作では、
インポートする少なくとも一つのロボットの少なくとも一つの経路を定義パラメータ群に基づいて自動的に生成し、そして
仮想ロボットセルにインポートされるロボット群のロボットプログラムを生成する、
請求項１０記載の方法。
【請求項１８】
少なくとも一つのロボット経路をシミュレーションにより検証する（３０５）操作では、
ロボットプログラムをコンピュータを使用して実行し、
複数の相互作用ロボットに関してシミュレートされるロボット動作を検証し、そして
パラメータ群を必要に応じて再定義してシミュレートされる動作を変更する、
請求項９記載の方法。
【請求項１９】
ロボットプログラムをダウンロードする（３０６）操作では、
ロボットプログラムをコンピュータ（１１０）からロボットコントローラ（１２０）にダウンロードし、そして
ロボットプログラムをロボットコントローラ（１２０）において実行して複数の相互作用ロボットを実生産現場で制御する、
請求項９記載の方法。
【請求項２０】
複数の相互作用ロボットをオフラインでプログラミングするためのコンピュータ読み取り可能なプログラムコードを格納するコンピュータ読み取り可能な媒体であって、実行可能な機能を実行するコンピュータ読み取り可能なプログラムコードは、
仮想ロボットセルを、複数のロボットが互いに対してロボットプログラムコードを使用して相互作用する空間として定義する（４０１）ルーチンと、
仮想ロボットセルを基準とするロボット経路の軌跡を定義する（４０２）ルーチンと、
パラメータ群を定義する（４０３）ルーチンと、
少なくとも一つのロボット経路を自動的に生成する（４０４）ルーチンと、
少なくとも一つのロボット経路をシミュレートして（４０５）ロボットプログラムコードを検証するルーチンと、
を有する、コンピュータ読み取り可能な媒体。
【請求項２１】
仮想ロボットセルをロボットプログラムコードで定義する（４０１）ルーチンは、
ロボット群をシミュレーション環境の仮想ロボットセルにインポートするルーチンと、そして
シミュレーション環境のロボット群を基準とする部品の幾何学的パターンを撮像したＣＡＤデータをインポートするルーチンと、
を含む、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２２】
軌跡をロボットプログラムコードの仮想ロボットセル構成を基準とするロボット経路として定義する（４０２）ルーチンは、
少なくとも一つの経路を仮想ロボットセルにおいて定義される部品の幾何学的パターンに沿って生成するルーチンと、そして
部品に対して経路に沿って行なわれるプロセスを定義するルーチンと、
を含む、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２３】
行なわれるプロセスは、溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含むことを特徴とする、請求項２２記載のコンピュータ読み取り可能な媒体。
【請求項２４】
ロボットプログラムコードの順運動学解は次のパラメータの内の一つ以上のパラメータを用い、これらのパラメータは、
ロボットの数と、
特定される能動関節に対して割り当てられるペナルティー値を含む、多軸ロボットの能動関節の数と、
関節タイプ（並進関節または回転関節）と、
ロボットベースの基準フレーム及び工具中心の基準フレームの座標値と、
運動学タイプまたは運動学ルールと、
順運動学計算を行なうために特定される固定関節または非駆動関節と、そして
選択可能なステップ状の軸運動の内、選択される軸運動と、
を含むことを特徴とする、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２５】
パラメータ群は、サイクル時間、寿命、及び消費エネルギーの内の少なくとも一つに関して最適化されることを特徴とする、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２６】
複数の相互作用ロボットの移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２７】
ロボットプログラムコードを再定義し（４０７）、そして検証してダウンロードすることができることを特徴とする、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項２８】
少なくとも一つのロボット経路を自動的に生成する（４０４）ルーチンは、
インポートされる少なくとも一つのロボットの少なくとも一つの経路を定義パラメータ群に基づいて自動的に生成するルーチンと、そして
仮想ロボットセルにインポートされるロボット群のロボットプログラムを生成するルーチンと、
を含む、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２９】
少なくとも一つのロボット経路をシミュレートする（４０５）ルーチンは、
複数の相互作用ロボットの動作をコンピュータシミュレーションするルーチンと、そして
パラメータ群をユーザが再定義してコンピュータシミュレーションによる動作を変更するルーチンと、
を含む、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項３０】
シミュレーションを検証する（４０６）ルーチンによって、コンピュータシミュレーション環境におけるロボットプログラムコードの検証、及び再プログラムのためのパラメータ群の再定義（４０７）が容易になることを特徴とする、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項３１】
少なくとも一つのロボットコントローラコードを生成する手段を構成する、請求項２０記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【発明の開示】
【０００１】
背景
複数の相互作用ロボットをオフラインでプログラミングするシステムを開示する。オフラインプログラムコードはコンピュータシミュレーションで検証し、そしてダウンロードして複数の相互作用ロボットを制御することができる。
ロボットは柔軟性があり、正確であり、コスト効率が高く、複雑な一連の作業を製造環境において実行するように良好に適合させる。しかしながら、１台のロボットには複雑すぎる多くのジョブがある。更に別のロボットを使用してこれらの製造上の問題の幾つかを解決することができる。
製造における最先端技術では、同時に行なわれるロボットの動きを正しく調整して、例えば互いに作用する複数のロボットの経路が絶対に衝突することがないという検証をシミュレーションにより行なうことがない。幾つかのロボットの動きを同時に、かつ効率的にプログラミングし、そして調整することが大きな課題となっている。
【０００２】
要約
複数の相互作用ロボットをオフラインでプログラミングする方法及び装置を開示する。例えば、複数の相互作用ロボットをオフラインでプログラミングするシステムは、複数の相互作用ロボットのプログラムコードをオフラインでプログラミングし、そして検証するコンピュータと、そしてコンピュータに接続されてプログラムコード群の内の少なくとも一つのコードのダウンロードを受信して実行するロボットコントローラと、を含み、複数の相互作用ロボットの内、少なくとも１台の相互作用ロボットはロボットコントローラによって制御される。
複数の相互作用ロボットをオフラインでプログラミングする例示としての方法では、仮想ロボットセルをロボットプログラムに定義し、或る経路を、ロボットプログラムの仮想ロボットセルにおいて定義される部品の幾何学的パターンを基準として生成し、そしてパラメータ群を定義する。少なくとも一つのロボット経路が自動的に生成され、そしてシミュレーションにより検証される。ロボットプログラムをロボットコントローラにダウンロードして複数の相互作用ロボットの内の少なくとも一つのロボットを制御する。
【０００３】
この技術分野の当業者には、更に別の特徴及び利点は好適な実施形態に関する以下の詳細な記述を添付の図を参照しながら一読することにより明らかになり、これらの図では、同様の構成要素は同様の参照番号により示している。
【実施例】
【０００４】
詳細な説明
図１は、複数の相互作用ロボット１３１〜１３３をオフラインでプログラミングする例示としてのシステム１００を示している。システム１００は複数の相互作用ロボット１３１〜１３３をオフラインでプログラミングし、そしてこれらのロボットのプログラムコード１１１を検証するコンピュータ１１０と、そしてコンピュータ１１０に接続されてこれらのプログラムコードの内の少なくとも一つのダウンロードを受信して実行する、個別のオフボード及び／又はオンボードロボットコントローラのようなコントローラ１２０と、を含む。ロボットコントローラ１２０は、複数の相互作用ロボット１３１〜１３３を実生産セルで制御することができ、このセルでは、これらのロボットが相互作用し、そして生産ユニットとして動作する。
コンピュータ１１０は複数のプログラムコードの内のいずれかのコード、またはそれよりも多くのコードをオフラインでプログラミングし、そして検証するために使用することができる。検証されるこれらのプログラムコードは、ダウンロードすることにより複数の相互作用ロボットを制御する。例えば複数のプロセスロボット１３１，１３２を異なる構成のハンドリングロボット１３３と一緒に制御して複数の処理を行なうことができる。複数の相互作用ロボットの各々は、ロボット構成によって定義され、そして各ロボットには、例えば該当するロボットをプロセスロボットまたはハンドリングロボットとして特定することにより作業タイプが割り当てられる。例えば、ユーザはコンピュータ１１０と相互作用して仮想ロボットセル１３０をロボットプログラム１１１に定義することができる。ユーザはコンピュータ１１０と相互作用してパラメータを定義し、部品を基準とする少なくとも一つのロボット経路を自動的に生成し、そして少なくとも一つのロボット経路を、ロボットプログラムを実行するコンピュータシミュレーションによって検証することができる。ブロック１０１及び１０２に例示されるように、プログラミング活動は全て、または一部オフラインで行なうことができ、そしてコンピュータシミュレーション環境で検証することができる。
【０００５】
ブロック１０３では、ロボットプログラムの実行可能コード（コード群）の内の一つ以上をコンピュータ１１０からロボットコントローラ１２０にダウンロードして複数の相互作用ロボット１３１〜１３３を制御することができる。複数の相互作用ロボット１３１〜１３３の内の一つ以上は少なくとも一つのコントローラ１２１，１２２によって制御することができ、これらのコントローラはプログラムコード（コード群）１１１を実行して少なくとも一つの部品１４０を複数の相互作用ロボット１３１〜１３３によって処理する。例えば、ロボットコントローラ１２１は、最大で４台以上の複数の相互作用ロボットを同時に制御するように構成することができる。別の構成として、ロボット制御ラック１２０の個々のロボットコントローラ１２１，１２２はそれぞれ、該当するロボットを制御することができる。
ロボットプログラムは、種々のロボットタイプ、例えば種々の移動モードのプロセスロボット及びハンドリングロボットを制御する機能を備え、これらの移動モードとして、独立動作、同期動作兼協調動作、及び協調動作を挙げることができる。複数の相互作用ロボット２３１〜２３３は種々のロボットタイプ及び種々のロボット構成とすることができる。例えば、プロセスロボットは通常、並進移動及び／又は回転移動が可能な多軸（例えば６軸）ロボットである。プロセスロボットは種々の処理用工具を保持することができ、そしてハンドリングロボットは処理対象の部品をハンドリングする。ロボットプロセスを部品に対して実行して、例えば溶接、アーク溶接、接着、塗装、切断などを部品に対して行なうことができる。
【０００６】
図２は、フレキシブル部品の位置決めを行なう機能を備える複数の相互作用ロボットの例示としてのロボットセル構成を示している。複数のプロセスロボット２３１，２３２が、同様の可動ハンドリングロボット２３３と組み合わされてフレキシブル部品２４０の位置決めを行なう様子が示され、プロセスロボット２３１，２３２は個々に工具２５０，２６０を操作して、部品処理、例えば溶接、アーク溶接、接着、塗装、切断、穴あけ、及び／又はせん孔を行なう。オフラインプログラミングによって、ロボットプログラムの仮想ロボットセル２３０において定義される部品２４０の幾何学パターンに対する工具２５０の経路２５１を生成することができる。仮想ロボット空間は、複数のロボットがロボットプログラムコードを使用して互いに相互作用するエリアである。ロボットプログラムコードを生成するために使用されるオフラインプログラミングによって、工具２５０，２６０の属性、例えば部品に対する工具速度及び工具の向きを定義することができ、そしてユーザはプログラムコード（コード群）を容易に最適化することができる。
【０００７】
図３は、複数の相互作用ロボットをオフラインでプログラミングする例示としてのワークフロー概要図を示している。ワークフロー概要図３００によって例示されるように、複数の相互作用ロボットをオフラインでプログラミングしてダウンロード可能なロボットプログラムを生成する方法では、ブロック３０１に示すように、ユーザが仮想ロボットセルをロボットプログラムに定義することができる。
ブロック３０１におけるユーザによる仮想ロボットセルの定義では、ロボット群をシミュレーション環境の仮想ロボットセルにインポートし、そして部品の幾何学パターンを撮像したデザインデータをインポートすることができる。仮想ロボットセルは仮想ロボット空間を含み、この空間では、生産ユニットとして相互作用する複数のロボットがモデル化される。例えば、ロボット群が動作する実際の生産エリアの寸法はロボットプログラムに、仮想ロボットセルにインポートした、または仮想ロボットセルの中でモデル化した仮想ロボットを基準として定義することができる。更に別のオブジェクト（仮想オブジェクト）、例えばコンベヤー、トラック、及び処理対象部品は仮想ロボットセルの中でモデル化することができる。
【０００８】
仮想ロボットは、例えば当該ロボットの幾何学パターン及び動作ロジックに基づいて定義することができる。例えば、ロボットのベースから開始して、ベースフレームを、例えば仮想ロボットセルにおける座標位置、及びベースの向きに基づいて定義することができる。多軸ロボットは、各々が或るアーム長を有する３つ以上のリンクアームのような一つ以上のリンクアームを有することができる。ロボット関節は有効（可動状態）にする、または無効（ロック状態）にすることができ、かつ回転関節または並進関節のような特定の関節タイプとすることができる。多軸ロボットの走行端は、工具の中心点を基準とすることができる。
部品の撮像幾何学パターンを表わすデザインデータはオフラインプログラミング環境にインポートすることができる。部品の撮影幾何学パターンを撮像したデザインデータをインポートする際に、ユーザは、例えば公知のコンピュータ支援設計（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ：ＣＡＤ）技術を使用して実部品の個別モデル化構造を生成し、そしてオフラインプログラミング環境にインポートして、幾何学パターンを仮想ロボットセルにおいてロボットを基準にして定義することができる。例えば、幾何学パターンを仮想ロボットセルにおいてロボットを基準にしてインポートした後、経路を、モデル化された部品の構造に沿って生成して処理することができる。
【０００９】
オフラインシミュレーションを出来る限り現実に合うように行なうために、必要な限り多くの仮想オブジェクトを一緒に仮想ロボットセルにおいてモデル化することができる。従って、ユーザはこれらの仮想オブジェクトの種々の位置を判断し、そして可動オブジェクトの間で生じ得る衝突、及びモデル化された他の異常を検出することができる。ユーザはまた、モデル化されたロボットが、部品処理作業に必要な全てのターゲット（部品位置）に到達することができるかどうかを判断することができる。
ブロック３０２では、経路を、仮想ロボットセルにおいて定義される部品の幾何学パターンを基準にして生成することができる。ブロック３０２において、経路を部品を基準にして生成する操作では、少なくとも一つの経路を仮想ロボットセルにおいて定義される部品の幾何学パターンに沿って生成し、そして部品に対して経路に沿って施されるプロセスを定義する。例えば、部品の向きのビジュアルグラフィック表示を援用して、ユーザは目で追いながら軌跡を生成することができ、この軌跡はロボット経路に、処理対象のオブジェクト（部品）のモデル化された幾何学的表面パターンに沿って、パターンを通して、またはパターンを基準として変換されるように構成される。実際のユーザ入力手段は、非常に広範囲の既存の方法とすることができ、これらの方法では、キーによるデータ入力、マウスまたは類似の周辺デバイスを使用するカーソル位置決め、ディスプレイ自体でのペン操作、またはこのようなユーザインターフェイスデバイス及び技術のいずれかの組み合わせを利用することができる。部品に関するプロセスは、これらには制限されないが、溶接、アーク溶接、接着、塗装、切断、穴あけ、及び／又はせん孔を含むことができる。
【００１０】
ブロック３０３では、ユーザはパラメータ群を定義することができる。ブロック３０３におけるユーザによるパラメータ定義では、例えばロボット作業タイプを定義し、プロセスロボット及びハンドリングロボットの内の少なくとも一つを特定することができる。工具がロボットに接続される場合、ユーザは動作パラメータ、例えば経路に沿った工具速度、及び部品を基準とする工具の向きを定義することができる。ロボット構成は、制御用にモデル化されるロボットによって変わる形で定義することができる。パラメータ群は、モデル化されるプロセスに関して最適化することができる。例えば、ユーザ定義パラメータ群は、サイクル時間、寿命、及び消費エネルギーの内の少なくとも一つに関して最適化することができる。
ブロック３０４では、少なくとも一つのロボット経路が自動的にオフラインでコンピュータシミュレーション環境において生成される。ブロック３０４において逆運動学を使用する自動生成では、少なくとも一つの経路をインポートされる少なくとも一つのロボットに関して、定義パラメータに基づいて自動的に生成し、そしてコンピュータは、仮想ロボットセルにおいてインポートされるロボット群に関するロボットプログラムを自動的に生成する。ブロック３０５では、少なくとも一つのロボット経路はシミュレーションで検証することができる。ブロック３０６では、ロボットプログラム（例えば、少なくとも一つのロボットコントローラコード）を、例えばロボットコントローラにダウンロードして複数の相互作用ロボットを実際の生産環境において制御することができる。
【００１１】
パラメータ群が経路に関して定義された後、例示としての方法では、ロボット経路をブロック３０４において、例えば逆運動学問題を解くために使用される数学的解法を使用して自動的に生成することができる。例えば、適切な数学的解法は、Heribert Munch等による２００１年８月１３日付けの「Ｅｆｆｉｚｉｅｎｔｅｒ  ｉｎｄｕｓｔｒｉｅｌｌｅｒ  Ｅｉｎｓａｔｚ  ｂａｈｎｓｙｎｃｈｒｏｎ  ｋｏｏｐｅｒｉｅｒｅｎｄｅｒ  Ｒｏｂｏｔｅｒ（英文タイトル、 Ｍｏｒｅ  Ｅｆｆｉｃｉｅｎｔ  Ｉｎｄｕｓｔｒｉａｌ  Ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  Ｐａｔｈ−Ｓｙｎｃｈｒｏｎｏｕｓｌｙ  Ｃｏｏｐｅｒａｔｉｎｇ  Ｒｏｂｏｔｓ）」に記載されており、この論文を本明細書において参照することにより、論文の内容全体が本発明の開示に含まれる。
Munch等による論文に引用されている逆運動学は概して、動作を制御するプロセスに関するものであり、このプロセスは、ロボットまたはロボット群の全ての関節の位置及び角度が与えられる場合に、ロボットまたはロボット群のようなリンク構造の或るポイントの空間における計算位置に基づいて行なわれる。逆運動学は、作業座標とロボット座標との間の変換を含む協調走行の運動学に関する行動プラニング、任意の冗長自由度の運動学に関する動きの合成、及び系の冗長性を利用して動きを最適化しながら行なわれる、継続的な協調走行の運動学に関する動きの合成に適用される。
【００１２】
逆運動学問題を解くために、条件式を１次方程式に変換する。
ｘ＝ｆ（ｑ）    （１）
上の式において、ｘεＲｍは作業座標を表わし、そしてｑεＲｎはロボット座標を表わす。結果として生じ、次式により表わされる線形置換の問題は、
Δｘ＝Ｊ・Δｑ    （２）
運動学をＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇの表記法を用いて記述することにより解くことができる。Ｄｅｎａｖｉｔ及びＨａｒｔｅｎｂｅｒｇはスクリュー理論を使用して、２つのロボット関節の間の一般変換を最もコンパクトな表現にするためには４つのパラメータが必要であることを示した。非冗長度系（ｍ＝ｎ）の局所解はガウス消去法に従って求めることができる。逆運動学問題の必要な大域解は修正ニュートンラフソン法を用いて求めることができる。
【００１３】
逆運動学を、ここに開示している複数の相互作用ロボットに対するオフラインプログラミングに適用するために、順運動学解を計算することができる。順運動学計算は、この計算がロボット動作に関連するので連続計算である。例えば、順運動学計算は、連結される多軸ロボットアームを介して、ロボットのベースを基準にするベースフレームから開始することができ、そして順運動学計算によって、処理作業に関する最終的な動きの合成を行なうことができる。動きの合成は、工具中心の基準フレームに基づいて行なうことができる。ロボットプログラムコードに関するこのような順運動学解は次のパラメータの内の一つ以上を用いる。
ロボットの数；
特定される能動関節に割り当てられるペナルティー値を含む、多軸ロボットの能動関節の数；
関節タイプ（並進関節または回転関節）；
ロボットベースの基準フレーム及び工具中心の基準フレームに関する座標値；
運動学タイプまたは運動学ルール；
順運動学計算を高速に行なうために特定される固定関節（ｌｏｃｋｅｄ  ｊｏｉｎｔ）または非駆動関節；及び
選択可能なステップ状の軸運動（ｓｔｅｐｐｅｄ  ａｘｉｓ  ｍｏｔｉｏｎｓ）の内、選択される軸運動。
【００１４】
工具移動は、例えば並進移動、回転移動、または組み合わせ移動とすることができる。ロボットアーム関節群の各々は能動（可動）関節、または非駆動（固定）関節として指定することができ、これにより順運動学解を高速に求めることができる。運動の選択を判断する場合、種々の別の軸運動、例えば異なる軸による軸運動をユーザのために調査してステップ状の運動（デルタ動作）を検証し、そして選択することができる。
固有のペナルティー係数を順運動学解に適用して所望の動きの合成をより好適な形で行なうことができる。例えば、一つのペナルティー値が割り当てられた能動軸の軸移動には、別のペナルティー値が割り当てられた軸移動よりも、軸移動が制御移動になるように大きな重みを付けることができる。これらのペナルティー値を割り当てることにより、ロボット動作に影響を与える実際の動作要素、及び／又は環境要素を計算に入れ易くなる。例えば、重力及び慣性モーメントがロボットアーム連結部に与える影響によって、所定の方向に向いたアームの動作経路が種々変位し得る。一つの解決法として、所定数の軸またはアームが或る向きにおいて動くことがないように単純に非駆動にする、または固定することにより、所望通りに解の安定性を高め、そして求解の速さを上げる。しかしながら、別の例では、動きの合成を微細に行なうために処理工具または作業対象部品に最も近い可動（能動）アームの使用頻度を上げることにより、単に多軸ロボットの選択連結部を能動関節／非駆動関節にする方法を使用するだけで同じ移動を実現しようとする場合に比べて、運動合成の精度及び安定性を上げることができる。従って、ペナルティー値を、例えば個々の（能動）軸の移動に関する能動軸の計算に適用することにより、プロセス出力の効率及び品質を上げることができる。
【００１５】
ロボットプログラムは、複数の相互作用ロボットの種々の移動モードを含み、これらの移動モードとして、独立動作、同期動作兼協調動作、及び協調動作を挙げることができる。ロボット経路は、ロボットプログラムのシミュレーションにおいてコンピュータを使用して検証する（３０５）ことができる。コンピュータシミュレーションを通して、複数の相互作用ロボットの予測行動を検証することができる。ロボットプログラムを使用してロボット群をセル内で制御してプロセス、例えばアーク溶接動作を行なわせることができ、ロボットプログラムは、ロボット群の各々が実行する予定の作業を定義することができ、かつ独立に制御することができるロボット群の間の関係を定義することができる。
ロボットプログラムは再プログラムし、そして再検証することができ、これにより当該プログラムをダウンロードしてプログラムされたロボット相互作用を実行する。複数の相互作用ロボットに関してコンピュータシミュレートされた動作がユーザの予測に一致しないとすると、例えばシステムパラメータを必要に応じて再定義してシミュレートされる動作を変更し、そして再シミュレートして、例えばコンピュータからロボットコントローラにダウンロードする（３０６）前に、複数の相互作用ロボットの所望の予測動作を得ることができる。ロボットプログラムの実行可能コード（コード群）はロボットコントローラの中で実行することにより複数の相互作用ロボットを実生産セルにおいて制御することができる。
【００１６】
図４に例示するように、コンピュータ読み取り可能なプログラムコード（またはコード群）は実行可能な機能を実行してインタラクティブオフラインプログラミング及びシミュレーションを行なう、例えば仮想ロボットセル構造をロボットプログラムコード（コード群）で定義し、ロボットプログラムコード（コード群）の仮想ロボットセル構造を基準とするロボット経路の軌跡を定義し、システムパラメータを定義し、少なくとも一つのロボット経路を自動的に生成し、少なくとも一つのロボット経路をシミュレートしてロボットプログラムコード（コード群）を検証する。ロボットプログラムコード（コード群）は、必要に応じて再プログラムし、そして再検証することができる。少なくとも一つのロボットコントローラコードがロボットコントローラに関して生成される。
コンピュータ読み取り可能なプログラムコードを格納するコンピュータ読み取り可能な媒体は、複数の相互作用ロボットをオフラインでプログラミングするために開示される。コンピュータ読み取り可能なプログラムコードは、仮想ロボットセルを、複数のロボットがロボットプログラムコードを使用して互いに相互作用する空間として定義するルーチンと、ロボット経路の軌跡を仮想ロボットセルを基準として定義するルーチンと、システムパラメータを定義するルーチンと、そして少なくとも一つのロボット経路を自動的に生成するルーチンと、を実行する。或るルーチンでは、少なくとも一つのロボット経路をシミュレートしてロボットプログラムコードを検証する。
【００１７】
仮想ロボットセル４０１を定義するコンピュータ読み取り可能なプログラムコード（コード群）であるルーチンは、ロボット群を、シミュレーション環境の仮想ロボットセルにインポートするルーチンと、そしてシミュレーション環境のロボット群を基準とする部品の幾何学的パターンを撮像したＣＡＤデータをインポートするルーチンと、を含むことができる。他のモデル化オブジェクト、例えばコンベヤー及びトラックを仮想ロボットセルにインポートすることができる。
ロボット経路４０２の軌跡をロボットプログラムコード（コード群）の仮想ロボットセル構造を基準として定義するコンピュータ読み取り可能なプログラムコード（コード群）であるルーチンは、少なくとも一つの経路を、仮想ロボットセルにおいて定義される部品の幾何学的パターンに沿って生成するルーチンと、そして部品に対して経路に沿って実施されるプロセスを定義するルーチンと、を含むことができる。実施されるプロセスは、これらには制限されないが、溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含むことができる。
【００１８】
システムパラメータ４０３を定義するコンピュータ読み取り可能なプログラムコード（コード群）であるルーチンはこれらには制限されないが、ロボット作業タイプを定義し、プロセスロボット及びハンドリングロボットの内の少なくとも一つを特定するルーチンと、工具速度を経路に沿って定義するルーチンと、工具の向きを部品を基準として定義するルーチンと、ロボット構成を定義するルーチンと、そしてプロセス最適化を行なうルーチンと、を含むことができる。
少なくとも一つのロボット経路４０４を自動生成するコンピュータ読み取り可能なプログラムコード（コード群）であるルーチンはこれらには制限されないが、インポートされる少なくとも一つのロボットの少なくとも一つの経路を、定義システムパラメータに基づいて自動的に生成するルーチンと、そして仮想ロボットセルにインポートされるロボット群に関するロボットプログラムを生成するルーチンと、を含むことができる。逆運動学計算を適用して少なくとも一つのロボット経路を生成することができる。一の実施形態では、前に示した順運動学計算を実行する。
【００１９】
少なくとも一つのロボット経路をシミュレートする（４０５）コンピュータ読み取り可能なプログラムコード（コード群）であるルーチンはこれらには制限されないが、複数の相互作用ロボットの動作をコンピュータシミュレートするルーチンと、そしてシステムパラメータに対するユーザによる再定義を行なってコンピュータシミュレートされる動作を変更するルーチンと、を含むことができる。シミュレーションを実行する（４０５）ことにより、結果の目視検証、コンピュータシミュレーション環境におけるロボットプログラムコード（コード群）の検証、及び再プログラミングを行なうためのシステムパラメータの再定義が容易になる。検証の結果によって変わるが、ブロック４０６では、ユーザはシステムパラメータを再定義してオフラインプログラミングプロセスを繰り返し、そしてロボットコントローラコード（コード群）をブロック４０７において生成する前に、修正検証結果を生成する。
【００２０】
コンピュータ読み取り可能なプログラムコード（コード群）には、これらには制限されないが、次のような機能を含む最先端制御機能を取り込むことができる。
−動的な多軸ロボット制御モデル化であり、このモデル化では、最先端制御機能を取り込むことができ、最先端制御機能として、例えば実動作物理パラメータに関するペナルティー値調整、最先端サーボ制御、正確な経路の保持、速度とは無関係の経路、電子的に安定化させた経路、自己最適化加速度制御、及び過負荷保護を挙げることができる。
−経路保持及びサイクルの同時最適化。
−正確なオフラインプログラミング及び検証。そして
−相互作用ロボット性能を全体的に強化する、例えばサイクル時間、寿命、及び消費エネルギーを改善するための他の自動最適化機能。
コンピュータ読み取り可能なプログラムコード（コード群）に取り込まれる他の最先端制御機能は、これらには制限されないが、独立動作、同期動作兼協調動作、及び協調動作を含む。
【００２１】
図５は、複数の相互作用ロボットをオフラインでプログラミングするために用いられるコンピュータソフトウェアシステムの例示としての機能ブロック図を示している。複数の相互作用ロボット制御ソフトウェア５１０は、例示のために示すコンピュータプログラミング兼シミュレーションソフトウェア５２０にインターフェイス５１１を通してプラグイン接続されるソフトウェアとして示される。同時に、複数の相互作用ロボット５００をオフラインでプログラミングすることにより、複数の相互作用ロボットをオフラインで計画し、プログラミングし、そしてシミュレートする高性能コンピュータツールを使用することができる。複数の相互作用ロボット制御ソフトウェア５１０、及びコンピュータプログラミング兼シミュレーションソフトウェア５２０は、複数の相互作用ロボットに対する制御を行なって計画を容易にし、プログラミングを容易にし、そして使用を容易にする。コンピュータソフトウェアシステムの利点は、例えば複数の相互作用ロボットに対する制御を簡単にプログラミングすることができ、そして生産上の技術的制約をプログラミングに取り込むことができることである。
複数の相互作用ロボット５００のオフラインプログラミングを使用して仮想ロボットセルを定義することができる。前に示したように、一つの経路が一つの部品の構造に沿って生成される。この経路は、例えばアーク溶接対象の加工品の構造に関連付けることができる。次に、システムパラメータは、ロボットをセルにおいて制御する際に考慮すべき制約事項として定義することができる。所定の制約事項としてとりわけ、工具の向き、サイクル時間、及びロボットの向きを挙げることができる。最適化は品質基準に基づいて行なうことができ、品質基準としては、制限軸に掛かる負荷を減らすことによる最高速度の使用、サイクル時間の最小化、システム全体または個々の軸に掛かる機械応力の低減を挙げることができる。制約事項が定義された後、複数の相互作用ロボット５００のオフラインプログラミングによってロボット経路が自動的に生成される。
【００２２】
図２を使用して例示すると、複数の相互作用ロボットに関する例示としてのプログラムは２ロボットアーク溶接セルを含むことができる。このような作業では、ロボット経路を自動的に生成するプロセスは、いずれの作業を、２台のロボット２３１，２３３の各々が実行する必要があるかについて定義し、かつ独立制御可能な２台のロボットの間の関係を定義する。これらのロボットの内の一つのロボット２３３はオブジェクト２４０を所望の向きに保持することができ、第２ロボット２３１はアーク溶接を指定経路に沿って行なう。
【００２３】
再度図５によれば、計算兼アルゴリズムモジュール５１２は、部品を操作するロボットであって、セルに含まれる複数のロボットを制御する際に考慮すべき制約として定義されるシステムパラメータを取り込むことができる。例えば、所定の制約として、工具の向き、動作速度、ロボットの向き、または他のいずれかの所望の制約を挙げることができる。ロボットプログラムコードの順運動学解は、次のパラメータの内の一つ以上を用いる。
ロボットの数；
特定能動関節に対して割り当てられるペナルティー値を含む、多軸ロボットの能動関節の数；
関節タイプ（並進関節または回転関節）；
ロボットベースの基準フレーム及び工具中心の基準フレームの座標値；
運動学タイプまたは運動学ルール；
順運動学計算を行なうために特定される固定関節または非駆動関節；及び
選択可能なステップ状の軸運動の内、選択される軸運動。
複数の相互作用ロボットに影響を与える他のイベントを考慮に入れることができ、他のイベントには次の項目が含まれる。
−ロボットセルのロボットを変更する、消去する、またはロボットをロボットセルに挿入する。
−ロボットセルを閉じる、またはロボットセルを読み込む。そして
−経路を変更する。
結果として得られるプログラムされた経路をグラフィカルユーザインターフェイス５１３を援用して読み出す、生成する、変更することができる。プログラムされた経路は更に、例えば所望の速度、動作タイプ、及びリード線タイプを用いて指定することができる。これらのパラメータは保存される。
【００２４】
制約が経路に関して定義されると、計算兼アルゴリズムモジュール５１２はロボット経路を、例えば２００１年８月１３日の日付けの、Heribert Munch等による“Ｅｆｆｉｚｉｅｎｔｅｒ  ｉｎｄｕｓｔｒｉｅｌｌｅｒ  Ｅｉｎｓａｔｚ  ｂａｈｎｓｙｎｃｈｒｏｎ  ｋｏｏｐｅｒｉｅｒｅｎｄｅｒ  Ｒｏｂｏｔｅｒ”と題する論文（全１０頁）に記載されている数学解のような、逆運動学問題を解くために使用されるものとして知られる数学解を使用して自動的に生成することができ、この論文を本明細書において参照することにより、当該論文の内容の全てが本発明の開示に含まれる。
ロボット経路を自動的に生成した後、ロボットの経路はシミュレーションにより検証することができる。シミュレーションに基づいて生成されるロボットプログラムをダウンロードし、そして例えば、セルに含まれるロボット群を制御するために使用されるロボットコントローラに保存することができる。
【００２５】
これまでの例示としての実施形態は、複数の相互作用ロボット制御ソフトウェア５１０を、コンピュータプログラミング兼シミュレーションソフトウェア５２０へのソフトウェアプラグインとして用いるが、記載の機能表現及び実施方法は例示として捉えられるべきであり、本発明を制限するものではない。ソフトウェア、ファームウェア、及びハードウェアへの類似機能の幾つかの、または全ての実装を含む全ての等価形態は本発明の技術範囲に含まれる。
ロボットコントローラコードを含むこれまでのコンピュータ読み取り可能なプログラムコードはいずれかのコンピュータ読み取り可能な媒体に格納することができ、これらのプログラムコードは、命令を命令実行システム、装置、またはデバイスから取り出し、そしてこれらの命令を実行することができるコンピュータシステム、プロセッサ搭載システム、または他のシステムのような命令実行システム、装置、またはデバイスによって使用される、または命令実行システム、装置、またはデバイスに接続される形で使用される。
【００２６】
本明細書において使用するように、「コンピュータ読み取り可能な媒体」は、命令実行システム、装置、またはデバイスによって使用される、または命令実行システム、装置、またはデバイスに接続される形で使用されるプログラムを格納する、保存する、授受する、伝送する、または送信することができるいずれかの手段とすることができる。コンピュータ読み取り可能な媒体は、これらには制限されないが、例えば電子、磁気、光、電磁気、赤外線、または半導体を利用するシステム、装置、デバイス、または伝送媒体とすることができる。コンピュータ読み取り可能な媒体の更に別の特定の例として（全てを網羅したリストではないが）、次のようなものを挙げることができる：一つ以上の配線を有する結線、携帯型コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能なプログラマブルリードオンリーメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、携帯型コンパクトディスクリードオンリーメモリ（ＣＤＲＯＭ）、大容量記憶装置、サーバメモリ、スタンドアローンストレージデバイス、ハードディスク、ディスクアレイ、及び仮想ストレージデバイス。
この技術分野の当業者であれば、本明細書において記載するコンセプト及び技術は種々の特定の形態で、コンセプト及び技術の基本原理から逸脱しない範囲において具体化することができることが分かるであろう。ここに開示する実施形態は全ての点において例示として捉えられるべきであり、本発明を制限するものではない。本発明の技術範囲は、これまでの記述ではなく添付の請求項によって提示されるのであり、本発明の等価物の規定及び範囲に含まれる全ての変更は本発明に含まれる。
【図面の簡単な説明】
【００２７】
【図１】複数の相互作用ロボットをオフラインでプログラミングする例示としてのシステムを示している。
【図２】フレキシブル部品の位置決め機能を備える複数の相互作用ロボットの例示としてのロボットセル構成を示している。
【図３】複数の相互作用ロボットをオフラインでプログラミングする例示としてのワークフロー概要図を示している。
【図４】複数の相互作用ロボットをオフラインでプログラミングする高レベルルーチンを表わす例示としてのフローチャートを示している。
【図５】複数の相互作用ロボットをオフラインでプログラミングする例示としての機能ブロック図を示している。
【図１】
2008502488.tif 000003
【図２】
2008502488.tif 000004
【図３】
2008502488.tif 000005
【図４】
2008502488.tif 000006
【図５】
2008502488.tif 000007
【手続補正書】
【提出日】平成18年5月12日(2006.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の相互作用ロボットをオフラインでプログラミングするシステム（１００）であって、
部品（２４０）を保持する少なくとも一つのハンドリングロボット及び部品を処理するツールを有する少なくとも一つのプロセスロボットと、
複数の相互作用ロボットのプログラムコード（１１１）をオフラインでプログラミングし、そして検証するコンピュータ（１１０）であって、
ハンドリングロボット、プロセスロボット、及び部品を含む仮想ロボットセルを定義し、
複数のロボットを制御する際に考慮するべき制約として定義されたパラメータを取り込み、
前記部品及び前記パラメータを基準として定義された経路に基づいて仮想ロボットセルに定義された前記部品の幾何学的パターンを基準として少なくとも１つのロボット経路を作成し（３０２）、
生成された経路に基づいてプログラムコードを自動的に生成し、且つ
プログラムコートを実行するシミュレーションにおいてロボット経路を検証し（３０５）する
コンピュータと、
コンピュータに接続されてプログラムコードのダウンロードを受信して実行するロボットコントローラ（１２０）と
を備えるシステム。
【請求項２】
前記制約が、ツールの方向、サイクル時間、及びロボットの方向の内の少なくとも一つを含むことを特徴とする、請求項１記載のシステム。
【請求項３】
溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含む処理が行なわれることを特徴とする、請求項１記載のシステム。
【請求項４】
ロボットコントローラ（１２０）は、最大４台の複数の相互作用ロボット（１３１〜１３３）を制御する機能を備えることを特徴とする、請求項１記載のシステム。
【請求項５】
複数の相互作用ロボット（１３１〜１３３）は移動モードで動作し、移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項１記載のシステム。
【請求項６】
複数の相互作用ロボット（２３１〜２３３）の各々にはロボット構成が定義され、かつ作業タイプが割り当てられ、作業タイプによってロボットをプロセスロボット（２３１，２３２）またはハンドリングロボット（２３３）として特定し、
複数の相互作用ロボットの内の少なくとも一つのロボットは、工具速度、及び部品を基準とする工具の向きの内の少なくとも一つを有する工具（２５０，２６０）を操作し、そして
オフラインプログラミングによってユーザによるプログラムコードの最適化が容易になることを特徴とする、請求項１記載のシステム。
【請求項７】
複数の相互作用ロボットは複数の処理を行なうプロセスロボット（２３１，２３２）であることを特徴とする、請求項１記載のシステム。
【請求項８】
複数の相互作用ロボットの内の少なくとも一つのロボットはフレキシブル部品の位置決めを行なうハンドリングロボット（２３３）であることを特徴とする、請求項１記載のシステム。
【請求項９】
部品（２４０）を保持する少なくとも一つのハンドリングロボット及び部品を処理するツールを有する少なくとも一つのプロセスロボットを含む複数の相互作用ロボットをオフラインでプログラミングしてダウンロード可能なロボットプログラムを生成する方法であって、前記方法では、
ハンドリングロボット、プロセスロボット及び部品を含む仮想ロボットセルをロボットプログラム（３００）に定義し（３０１）、
複数のロボットを制御する際に考慮するべき制約として少なくとも一つのパラメータを定義し（３０３）、
前記部品及び前記パラメータを基準として定義される経路（２５１）に基づいて仮想ロボットセルにおいて定義される前記部品の幾何学的パターンを基準として少なくとも一つのロボット経路を生成し（３０４）、
生成された経路に基づいて自動的にプログラムコードを生成し、
プログラムコードを実行するシミュレーションによりロボット経路を検証し（３０５）、そして
プログラムコードをロボットコントローラ（１２０）にダウンロードして（３０６）ロボットを制御する、方法。
【請求項１０】
前記制約が、ツールの方向、サイクル時間、及びロボットの方向の内の少なくとも一つを含むことを特徴とする、請求項９記載の方法。
【請求項１１】
仮想ロボットセルの定義では、
ロボット（２３１〜２３３）をシミュレーション環境の仮想ロボットセル（２３０）にインポートし、そして
シミュレーション環境のロボット群を基準とする部品（２４０）の幾何学的パターンを撮像したＣＡＤデータをインポートする、
請求項１０記載の方法。
【請求項１２】
部品を基準とする経路の生成では、
少なくとも一つの経路（２５１）を仮想ロボットセル（２３０）において定義される部品（２４０）の幾何学的パターンに沿って画定し、そして
部品に対して経路に沿って行なわれるプロセスを定義する、
請求項１０記載の方法。
【請求項１３】
行なわれるプロセスは、溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含むことを特徴とする、請求項１１記載の方法。
【請求項１４】
パラメータ群の定義では、
ロボットをプロセスロボット（２３１，２３２）またはハンドリングロボット（２３３）として特定するロボット作業タイプを定義し、
経路に沿った工具速度を定義し、
部品を基準とする工具の向きを定義し、
ロボット構成を定義し、そして
プロセス最適化を行なう、
請求項９記載の方法。
【請求項１５】
プロセス最適化を行なう操作では、サイクル時間、寿命、及び消費エネルギーの内の少なくとも一つに関して最適化を行なうことを特徴とし、かつペナルティー係数及び／又は駆動関節／非駆動関節をパラメータ群として定義することができることを特徴とする、
請求項１４記載の方法。
【請求項１６】
ロボットプログラムは複数の相互作用ロボット（２３１〜２３３）の移動モードを定義し、移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項９記載の方法。
【請求項１７】
ロボットプログラム（１１１）を再プログラムし（４０７）、そして検証してダウンロードすることができることを特徴とする、請求項９記載の方法。
【請求項１８】
少なくとも一つのロボット経路を自動的に生成する（３０４）操作では、
インポートする少なくとも一つのロボットの少なくとも一つの経路を定義パラメータ群に基づいて自動的に生成し、そして
仮想ロボットセルにインポートされるロボット群のロボットプログラムを生成する、
請求項１１記載の方法。
【請求項１９】
少なくとも一つのロボット経路をシミュレーションにより検証する（３０５）操作では、
ロボットプログラムをコンピュータを使用して実行し、
複数の相互作用ロボットに関してシミュレートされるロボット動作を検証し、そして
パラメータ群を必要に応じて再定義してシミュレートされる動作を変更する、
請求項９記載の方法。
【請求項２０】
ロボットプログラムをダウンロードする（３０６）操作では、
ロボットプログラムをコンピュータ（１１０）からロボットコントローラ（１２０）にダウンロードし、そして
ロボットプログラムをロボットコントローラ（１２０）において実行して複数の相互作用ロボットを実生産現場で制御する、
請求項９記載の方法。
【請求項２１】
複数の相互作用ロボットをオフラインでプログラミングするためのコンピュータ読み取り可能なプログラムコードを格納するコンピュータ読み取り可能な媒体であって、実行可能な機能を実行するコンピュータ読み取り可能なプログラムコードは、
仮想ロボットセルを、複数のロボットが互いに対してロボットプログラムコードを使用して相互作用する空間として定義する（４０１）ルーチンと、
仮想ロボットセルを基準とするロボット経路の軌跡を定義する（４０２）ルーチンと、
複数のロボットを制御する際に考慮するべき制約としてパラメータ群を定義する（４０３）ルーチンと、
前記経路及び前記パラメータに基づいて少なくとも一つのロボット経路を自動的に生成する（４０４）ルーチンと、
少なくとも一つのロボット経路をシミュレートして（４０５）ロボットプログラムコードを検証するルーチンと、
を有する、コンピュータ読み取り可能な媒体。
【請求項２２】
前記制約が、ツールの方向、サイクル時間、及びロボットの方向の内の少なくとも一つを含む、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２３】
軌跡をロボットプログラムコードの仮想ロボットセル構成を基準とするロボット経路として定義する（４０２）ルーチンは、
少なくとも一つの経路を仮想ロボットセルにおいて定義される部品の幾何学的パターンに沿って生成するルーチンと、そして
部品に対して経路に沿って行なわれるプロセスを定義するルーチンと、
を含む、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２４】
行なわれるプロセスは、溶接、アーク溶接、接着、塗装、切断、穴あけ、及びせん孔の内の少なくとも一つを含むことを特徴とする、請求項２３記載のコンピュータ読み取り可能な媒体。
【請求項２５】
ロボットプログラムコードの順運動学解は次のパラメータの内の一つ以上のパラメータを用い、これらのパラメータは、
ロボットの数と、
特定される能動関節に対して割り当てられるペナルティー値を含む、多軸ロボットの能動関節の数と、
関節タイプ（並進関節または回転関節）と、
ロボットベースの基準フレーム及び工具中心の基準フレームの座標値と、
運動学タイプまたは運動学ルールと、
順運動学計算を行なうために特定される固定関節または非駆動関節と、そして
選択可能なステップ状の軸運動の内、選択される軸運動と、
を含むことを特徴とする、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２６】
パラメータ群は、サイクル時間、寿命、及び消費エネルギーの内の少なくとも一つに関して最適化されることを特徴とする、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２７】
複数の相互作用ロボットの移動モードは、独立動作、同期動作兼協調動作、及び協調動作の内の少なくとも一つを含むことを特徴とする、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２８】
ロボットプログラムコードを再定義し（４０７）、そして検証してダウンロードすることができることを特徴とする、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項２９】
少なくとも一つのロボット経路を自動的に生成する（４０４）ルーチンは、
インポートされる少なくとも一つのロボットの少なくとも一つの経路を定義パラメータ群に基づいて自動的に生成するルーチンと、そして
仮想ロボットセルにインポートされるロボット群のロボットプログラムを生成するルーチンと、
を含む、請求項２２記載のコンピュータ読み取り可能な媒体。
【請求項３０】
少なくとも一つのロボット経路をシミュレートする（４０５）ルーチンは、
複数の相互作用ロボットの動作をコンピュータシミュレーションするルーチンと、そして
パラメータ群をユーザが再定義してコンピュータシミュレーションによる動作を変更するルーチンと、
を含む、請求項２０記載のコンピュータ読み取り可能な媒体。
【請求項３１】
シミュレーションを検証する（４０６）ルーチンによって、コンピュータシミュレーション環境におけるロボットプログラムコードの検証、及び再プログラムのためのパラメータ群の再定義（４０７）が容易になることを特徴とする、請求項２１記載のコンピュータ読み取り可能な媒体。
【請求項３２】
少なくとも一つのロボットコントローラコードを生成する手段を構成する、請求項２１記載のコンピュータ読み取り可能な媒体。
【国際調査報告】
2008502488.tif 000008
2008502488.tif 000009
2008502488.tif 000010