(57)【要約】  本発明は、ロボットをコントロールするための方法、コントローラ及びコントロール・システムであって、このロボットは、少なくとも一つの他のロボットと同時に使用され、一つまたはそれ以上の作業対象物に対する作業を実行する。各ロボット・コントローラは、共通のリファレンス値が許容不可かどうかをチェックし、もしそうであれば、ロボットに、次のタスクに進む前に待機するように、信号を送る。各ロボット・コントローラはまた、目標対象物が正しい位置にあるか否かをチェックし；また、他のロボットが止まっているか否かをチェックする。もし、もう一方のロボットが停止しているか、および／または、もし、作業対象物が正しい位置にない場合には、ロボットは待機する。本発明は、作業停止または製造の遅れの後に、製造ラインがより早く再スタートされることが可能な自動化された塗装に対して、特に有益である。
2007515305.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボット（３３ａ−ｎ）を有する設備の中で、ロボットをコントロールするための方法であって、それらのロボットは、共通の作業スペースの中で一つまたはそれ以上の作業対象物（３９）に対する作業を実行するものであり、その際に、複数の動作のための指示が、前記ロボットをコントロールするプログラムの中に記録される、方法において：
前記ロボット、または共通の作業スペースの中の他のロボットのいずれかが、予め定められているように進行しているか否かに依存して、検知または測定される共通のリファレンス値（４３’，６４，７４）に基づいて、前記ロボットをコントロールすること、を特徴とする方法。
【請求項２】
下記特徴を有する請求項１に記載の方法：
−  次のタスクのスタート前に、前記ロボットのための共通のリファレンスのための値をチェックし（４２，６１，７１）；
−  もし、その共通のリファレンス値が許容可能限界内にない場合には、信号（４７，４７ｂ，６２，７２）を前記ロボットに送って、現在のタスクが終ったところで停止して待機させる（４３，６４，７４）。
【請求項３】
下記特徴を有する請求項１に記載の方法：
−  前記複数の動作を、複数のタスクとして決定し；
−  次のタスクのスタート前に、前記ロボットのための位置リファレンスのための値をチェックし（４２，６１）;
−  もし、その位置リファレンス値が許容可能限界内にない場合には、信号（４７，４７ｂ，６２，７２）を前記ロボットに送って、現在のタスクが終ったところで停止して待機させる（４４ｂ，６４）。
【請求項４】
下記特徴を有する請求項１から３のいずれか１項に記載の方法：
−  前記複数のロボット（３３ａ−ｎ）の中の少なくとも一つの他のロボットのための、リファレンス値（６４）または他の運転ステイタスをチェックし（４４ｂ，７１）；
−  もし、少なくとも一つの他のロボットが待機または停止のステイタスを有している場合には、信号を送って、現在のタスクが終ったところで停止して待機させる（７４）。
【請求項５】
下記特徴を有する請求項４に記載の方法：
第一の前記ロボットのための位置リファレンスの値を、以下により判断する：
−  前記一つまたはそれ以上の作業対象物の一つの上にある目標の位置を測定するように構成されたセンサー部品（９２）のアウトプットをサンプリングする；
−  測定された目標の位置を、予め定められた目標位置と比較する；
−  もし、その測定された目標の位置が、許容可能限界内にない場合には、その位置リファレンスのステイタスを、許容不可として登録する。
【請求項６】
下記特徴を有する請求項５に記載の方法：
前記作業対象物の上の目標位置は、各タスクの開始のために、前記プログラムの中に記録された前記複数の動作の中に記録され、アレイまたは他のメモリ貯蔵部の中にセーブされる。
【請求項７】
下記特徴を有する請求項６に記載の方法：
プログラム編集アプリケイションにより、前記作業対象物の目標位置を、第一の記録の後に、マニュアル比較に依存して、調整する。
【請求項８】
下記特徴を有する請求項７に記載の方法：
プログラム編集アプリケイションにより、前記作業対象物の目標位置を、第一の記録の後に、前記プログラム編集アプリケイションを使用して実行されるグラフィカルな比較に依存して、調整する。
【請求項９】
下記特徴を有する請求項１に記載の方法：
共通のリファレンスのためのインジケータを、プログラムの中で、前記複数のロボットの内の前記ロボットのいずれかについて、許容不可またはフラグ・ハイ（４４ｂ，６４，７４）のステイタスに対して、設定する；
そのような共通のリファレンスのインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項１０】
下記特徴を有する請求項１から４のいずれか１項に記載の方法：
インジケータを、第一の前記ロボットのプログラムの中で、許容不可またはフラグ・ハイのステイタスに対して、設定する；
そのようなインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項１１】
下記特徴を有する請求項９または１０に記載の方法：
前記インジケータを、プログラムまたは第一の前記ロボットのためのプログラムの中でリセットし、そのようにして、許容不可のステイタスを取り除く。
【請求項１２】
下記特徴を有する請求項９または１０に記載の方法：
前記インジケータを、プログラムまたは第一の前記ロボットのためのプログラムの中で、許容不可から許容可能にリセットする；
そのようなインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項１３】
下記特徴を有する請求項１に記載の方法：
前記共通のリファレンスは、以下のリストの内のいずれかに基づいている：
作業対象物の移送部品の動作、期間、タイム・スタンプ、タスク完了の程度、ジョブ完了の程度。
【請求項１４】
下記特徴を有する請求項２から５のいずれか１項に記載の方法：
第一のロボットのための位置リファレンス値が、第一のロボットが次のタスクに進む直前に、チェックされる。
【請求項１５】
下記特徴を有する請求項１４に記載の方法：
前記複数のロボットの内のいずれかのリファレンス値（６４，７４）が、第一のロボットのための動作プログラム（２１，８５）に依存して設定された時間の値に基づいて、チェックされる。
【請求項１６】
下記特徴を有する請求項１５に記載の方法：
前記複数のロボットの内のいずれかのためのリファレンス値（６４，７４）が、前記複数のロボット（３３ａ−ｎ）の内の他の一つにより実行されるタスクまたは動作に依存して、第一のロボットのための前記動作プログラムの設定された時間の値に基づいて、チェックされる。
【請求項１７】
下記特徴を有する請求項５に記載の方法：
前記目標の測定される位置は、現在の位置である。
【請求項１８】
下記特徴を有する請求項５に記載の方法：
前記目標の測定される位置は、部分的に、計算された位置である。
【請求項１９】
下記特徴を有する請求項５に記載の方法：
ロボット・コントローラが、測定または検知された（９２，９３）共通のリファレンス値が、蓄えられた値よりも小さいことを判断し；
ロボットを、リファレンス値が蓄えられたリファレンスよりも大きいまたはそれに等しくなるまで、継続する前に、待機させる。
【請求項２０】
下記特徴を有する請求項１に記載の方法：
ロボット・コントローラが、測定または検知された（９２，９３）共通のリファレンス値が、蓄えられたリファレンス値よりも大きいことを判断し；
前記外部リファレンス・コントローラおよび／またはタイム・キーパーに、そのようにコントロールされるロボットが遅れており、前記ロボットが追い付いて、許容可能であるリファレンス値を得るまで、コンベアを停止するようにまたは時間のリファレンスが停止されるように、信号を送る。
【請求項２１】
下記特徴を有する請求項１から２０のいずれか１項に記載の方法：
前記リファレンス値のための前記許容可能である値は、設定可能な許容限界を有するプリセット・ウインドウを有している。
【請求項２２】
共通の作業スペースの中で一つまたはそれ以上の作業対象物に対して作業を行う複数のロボットを有する設備の中で、ロボットをコントロールするためのコントロール装置（８１）であって、
−  次のタスクのスタート前に、前記ロボットための共通のリファレンス（４３）のための値を、判断または検知するためのプログラム部品（８５，８５ａ）と；
−  もし、測定された目標位置が許容不可である場合に、前記ロボットが停止して待機すると言う判断を行うためのロジック部品（８５）と；
−  待機する指示を有する信号を、前記ロボットに送ることができるように構成されたアウトプット部品（８２）と；
を備えたことを特徴とするコントロール装置（８１）。
【請求項２３】
下記特徴を有する請求項２２に記載のコントロール装置；
次のタスクのスタート前に、前記ロボットのための位置リファレンス（６４）のための値を、判断または検知するためのプログラム部品（８６）を有している。
【請求項２４】
下記特徴を有する請求項２３に記載のコントロール装置；
次のタスクのスタート前に、前記複数のロボット（３３ａ−ｎ）の内の少なくとも一つの他のロボットのためのリファレンス（７４）の値を、判断または検知するためのプログラム部品（８７）を有している。
【請求項２５】
下記特徴を有する請求項２３に記載のコントロール装置；
プロセッサ部品（８３）を有している。
【請求項２６】
下記特徴を有する請求項２３に記載のコントロール装置；
少なくとも一つのメモリ貯蔵部品（８４，８９）を有している。
【請求項２７】
下記特徴を有する請求項２２に記載のコントロール装置；
請求項１から２１のいずれか１項に記載された方法のステップを実行するための、一つまたはそれ以上のソフトウエア部品（８６，８７，８５，８５ａ）を有している。
【請求項２８】
下記特徴を有する請求項２７に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品の内の少なくとも一つは、一つまたはそれ以上のロボットのいずれかのための時間リファレンス値を、チェックするように構成されている。
【請求項２９】
下記特徴を有する請求項２６に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品の内の少なくとも一つは、コントロール装置の前記メモリ貯蔵部品の中に、少なくとも部分的に、蓄えられる。
【請求項３０】
下記特徴を有する請求項２９に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品（８５ａ，８６，８７）の内の少なくとも一つは、セル・コントローラ（３１）または他のロボット・コントロール・システムのメモリ貯蔵手段の中に、少なくとも部分的に、蓄えられる。
【請求項３１】
下記特徴を有する請求項２２から３０のいずれか１項に記載のコントロール装置；
少なくとも一つのロボットの少なくとも一つのセンサーおよび／または部品との間の、無線通信のためのＩ／Ｏインタフェ−スを備えている。
【請求項３２】
共通の作業スペースの中の一つまたはそれ以上の作業対象物に対して作業を行う複数のロボットを有する設備の中で、一つまたはそれ以上のロボットをコントロールするためのコントロール・システムであって、
コンピュータまたはプロセッサ及びメモリ貯蔵手段、及び一つまたはそれ以上のロボット・コントローラ（８１）を有しており、
−  前記複数のロボット（３３ａ−ｎ）のいずれかのためのリファレンス値（４３，６４，７４）をチェックすることができるように構成された、少なくとも一つのロボット・コントローラ（８１）を有すること、を特徴とするシステム。
【請求項３３】
下記特徴を有する請求項３２に記載のコントロール・システム；
当該システムは、
前記一つまたはそれ以上の作業対象物および／または前記作業対象物のための移送部品の位置（４１）を測定するセンサー部品（９２）；および／または、
前記一つまたはそれ以上の作業対象物および／または前記作業対象物のための移送部品に関係する経過時間を測定する時間センサー（９３）のクロック；
を備えている。
【請求項３４】
下記特徴を有する請求項３３に記載のコントロール・システム；
前記センサー部品は、作業対象物の位置の測定を行うように構成され、それによって、前記複数のロボットの内の少なくとも一つが、作業サイクルまたはロボット動作プログラム（２１）の中のタスクのスタート時に、動作するように構成されている。
【請求項３５】
下記特徴を有する請求項３４に記載のコントロール・システム；
グラフィカル・ユーザ・インタフェ−スを備え、
このグラフィカル・ユーザ・インタフェ−スは、一つまたはそれ以上の動作を有するタスクを含む動作プログラム（２１，８５，８５ａ）により、前記複数のロボットをコントロールする、少なくとも一つのロボット・コントローラ（８１）またはセル・コントローラ（３１）に関して、表示を行い且つ動作を実行するように構成されている。
【請求項３６】
下記特徴を有する請求項３２に記載のコントロール・システム；
前記少なくとも一つのロボット・コントローラのコントロール部品は、前記複数のロボットの内の少なくとも一つのための時間リファレンス値をチェックするように構成されている。
【請求項３７】
請求項１から２０に記載のいずれか１項に記載の方法のステップを、コンピュータまたはプロセッサに実行させるための、コンピュータ・コード手段および／またはソフトウエア・コード・ポーションを有するコンピュータ・プログラム。
【請求項３８】
請求項３７に基づくコンピュータ・プログラムが、その上に記録されているコンピュータで読出し可能なメディア。
【請求項３９】
一つまたはそれ以上のコンピュータで読出し可能なメディアに含まれた、請求項３７に基づくコンピュータ・プログラムを有するコンピュータ・プログラム製品。
【請求項４０】
共通の作業スペースの中で一つまたはそれ以上の作業対象物に対して作業を行う複数のロボットを有する設備の中の、一つまたはそれ以上のロボットをコントロールするためのコンピュータ・データ信号であって、
キャリア波の中に組み込まれ、且つ、
前記複数のロボット（３３ａ−ｎ）の内の少なくとも一つのロボットで使用され、前記リファレンス値の内の一つまたはそれ以上が許容不可かどうか、および／または、前記複数のロボットの内のいずれかが待機しているかまたは停止しているかどうかを判断するリファレンス値（４３’，６４，７４）についての情報を有する、コンピュータ・データ信号。
【請求項４１】
請求項２２から３１のいずれかに記載の方法に基づくコントロール装置の使用であって、少なくとも一つの他のロボットと共に、または、下記のリストの中のいずれかを塗装する設備の中で、ロボットを動作させるための使用：
自動車のボディ、自動車のパーツ、自動車のサブ・システム。
【請求項４２】
請求項２２から３１のいずれかに記載の方法に基づくコントロール装置の使用であって、下記のリストの中のいずれかを実行するロボットまたはオートメイション設備（１）を動作させるための使用：
コーティング、溶接、リベット止め、接着、フェットリング、板の折り重ね、切断、板の曲げ、板の縁付け、対象物の把持、対象物の操作、積重ね、拾上げ及び配置。
【請求項４３】
請求項３２から３６のいずれかに記載のコントロール・システムの使用であって、産業的または商業的設備の中で、ロボットまたはオートメイション設備（１）を動作させるための、下記のリストの中のいずれかのための設備を含む設備の中での使用：
採鉱、化学品の製造または加工、粉末の生成または輸送及び分配、油またはガスの探査、石油精製。
【請求項４４】
請求項３２から３６のいずれかに記載のコントロール・システムの使用であって、共通の作業スペースの中で一つまたはそれ以上の作業対象物に対する作業を実行するための、複数のロボット（３３ａ−ｎ）を有する設備の中の少なくとも一つのロボットのための、ティーチングおよび／またはプログラミングおよび／またはプログラムの検証のための使用であって、下記のリストの中のいずれかのための作業を実行するため使用：
塗装、コーティング、溶接、リベット止め、接着、フェットリング、切断、板の折り重ね、板の曲げ、板の縁付け、対象物の把持、対象物の操作、積重ね、拾上げ及び配置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットまたはマニピュレータのためのコントロール方法、デバイス及びシステムに係る。特に、本発明は、ロボット設備、または、少なくとも二つの産業用ロボットを含む設備に係り、それらのロボットの内の少なくとも一つは、サーボ・コントロールされた動作のための少なくとも４つの軸を有している。産業用ロボットとは、このコンテクストの中においては、電動モータ及びコントロール手段を備えたマニピュレータを意味しており、そのモータを駆動するための電源手段及びコンピュータ手段を含み、そのコンピュータ手段は、コンピュータ・プログラムからのに指示より、そのマニピュレータの動作を検知し且つそれをコントロールするように構成されている。
【背景技術】
【０００２】
産業用ロボットは、非常に広い領域の産業的および／または商業的タスクを、素早く且つ正確に、実行するために使用されている。多くの設備において、例えば、自動車のボディの溶接または自動車の塗装において、ロボットは、例えば、アーク溶接チップ、塗装スプレイまたはグリッパ−その他のようなツールを、前もってプログラムされたタスクを、反復的に、バラツキの無い正確さ及びスピードで、実行するために働かなければならない。産業的スケールでの自動車のボディの塗装は、通常、塗装ブースの中で行われ、塗装ブースの中を通って、自動車のボディが、コンベア上に一列になって移動する。二つまたはそれ以上のロボットが、例えば塗装ブースのような製造セクションの中で、連係して、同じ車のボディを塗装することができる。
【０００３】
上記のようなロボット設備は、高い動作自由度、長いリーチを有しており、中空セクション、ボックスセクションの内側の場所にアクセスすることが可能であり、効率良く作業を実行する。ロボット設備は、例えば、往復機関などのような、シンプルなタイプのハード・オートメイション・ソリューションのような、従来の自動化されたデバイスと比較して、有益であり且つより汎用性がある。
【０００４】
しかしながら、ロボットを配置しプログラムして、共通の作業スペースの中で、ロボットに連係的なやり方で作業を実行させることは、複雑で且つ膨大なタスクである。多くのエンジニアリング及びプログラミングの労力、及び絶え間の無い信号の交換が、ロボット同士の衝突を避けるために要求される。そのような衝突は、ダメージを生じさせ、製造を妨げ、リペアに高い費用がかかる。更に、処理の対象となる新しい作業対象物のそれぞれに対して、時間のかかるエンジニアリング及びプログラング作業が、繰り返されなければならない。
【０００５】
また、例えばコンベア・ライン状況の中で、ロボット・オートメイションに関して発生し得る一つの問題は、コンベアが停止して、作業停止が生じたとき、それぞれのまたは全てのロボットが、個別にチェックされなければならないこと、および／または、手動で操作され、または、既知のまたは“ホーム”位置へ“寸動され”なければならないことである。この問題及び起こり得る衝突は、通常、スクラップ製品、または許容不可の品質のいずれか；または製造損失；またはその両者をもたらす。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の問題の一つまたはそれ以上を解決する。
【０００７】
本発明の一つのアスペクトによれば、上記の目的は、最初に規定された方法により実現される。この方法は、ロボットのための共通のリファレンスのための値を、次のタスクのスタート前にチェックし、もし、その共通のリファレンスのための値が、許容可能限界内にない場合には、ロボットに信号を送って、現在のタスクが終ったところでロボットを停止させ待機させる。この方法は、ロボットの一つまたはそれ以上を、現在のタスクが終ったところで待機させ、且つ、その共通のリファレンス値のための値が許容可能になるまで、その後に続くようにプログラムされたタスクに進ませない。
【０００８】
このことは、一つまたはそれ以上のロボットが、一時的に待機または停止するか、または、十分な時間に渡って待機が続き、全てのロボットが待機することになるかの、いずれかの結果をもたらす。ロボット一つまたはそれ以上が、再スタートしたとき、そのそれぞれは、予め定められたやり方で実行するようにプログラムされている次のタスクへ進む。
【課題を解決するための手段】
【０００９】
他の一つの実施形態によれば、この方法は、下記のステップを有している：
各ロボットのための位置リファレンスのための値を、次のタスクのスタート前、チェックし、もし、その位置リファレンスのための値が、許容可能限界内にない場合には、ロボットに信号を送って、現在のタスクが終ったところで、停止させて待機させる。このことにより、作業対象物が予測したよりも遅れた位置へ移動されることによる、遅れまたは停止が防止される。同様に、ロボットは、位置リファレンス値が許容可能であると検知されたとき、速やかに再スタートされ、次のタスクをスタートさせる。この実施形態は、動作プログラムの実行の間にロボットを休止させるための手段、並びに、何らかの期間の停止から回復するための手段を、提供する。
【００１０】
他の一つの実施形態によれば、この方法は、複数のロボットまたは設備の中のいずれかのロボットのためのリファレンスのための値を、次のタスクのスタート前に、チェックするステップを有している。もし、いずれかの他のロボットが、許容可能限界内にない位置リファレンスまたは他のリファレンスのための値を、現在表示している場合には、所与のロボットに信号を送って、現在のタスクが終ったところで停止させ待機させる。この実施形態は、ロボット動作プログラムの実行の間、ロボットを休止させるための手段、並びに、いずれかの他のロボットにより何らかの期間の停止から回復するための手段を、提供する。
【００１１】
本発明の他の一つのアスペクトによれば、上記の目的は、最初に規定されたコントロール装置により実現される。このコントロール装置は、ロボットの次のタスクのスタート前に、ロボットのための共通のリファレンスのための値についての判断を行うロジック機能（例えば、ソフトウエアまたはコンピュータ・プログラム部品など）と；その値が許容可能であるか否かについての判断を行うためのロジック部品と；前記ロボットに、待機する指示を有する信号を送るアウトプット部品と；を有している。
【００１２】
他の一つの実施形態によれば、そのコントロール装置は、ロジック機能を有し、そのロジック機能は、ロボットの次のタスクのスタート前に、該当するロボットの作業対象物のための位置リファレンスのための値を判断または検知するためのコンピュータ・プログラムとして実現される。もし、作業対象物が予測された位置の中にない場合には、そのロボットは、待機するように指示される。
【００１３】
他の一つの実施形態によれば、コントロール装置は、ロジック機能を有し、このロジック機能は、次のタスクのスタート前に、前記複数のロボットの少なくとも一つの他のロボットためのリファレンスの値を判断または検知するためのコンピュータ・プログラムとして実現される。もし、いずれかの他のロボットが止まっている場合には、存在するロボットは、停止して待機するように指示されることが可能である。
【００１４】
本発明の他の一つのアスペクトによれば、本発明の目的は、最初に規定されたコントロール・システムにより実現される。このコントロール・システムは、前記複数のロボットのいずれかのためのリファレンス値をチェックすることができるように構成された少なくとも一つのロボット・コントローラを有している。このコントロール・システムは、もし、共通のリファレンス値、作業対象物の位置の値のいずれかが、許容不可の場合、または、もし、いずれかのロボットが既に停止している場合に、ロボットに待機するように指示することが可能である。
【００１５】
好ましい実施形態によれば、このコントロール・システムはまた、グラフィカル・ユーザ・インタフェ−スを有している。このグラフィカル・ユーザ・インタフェ−スは、上記の動作プログラムによって、少なくとも一つのロボット・コントローラ、または、ロボットの内の少なくとも一つをコントロールするセル・コントローラに関して、動作を表示し且つ実行する。ここで、動作は、予め定められた順序の中で実行される予め定められたタスクとして実行される。
【発明の効果】
【００１６】
本発明の主要な優位性は、ロボットが、協同的なまたは連係的なオートメイション作業のために、より素早く且つよりシンプルにプログラムされることが可能であることである。ロボットのためのこの創造性のある戦略は、もし、次のタスクを開始するためのクライテリアが許容不可である場合に、完了されたタスクが終ったところで待機することであって、一連の連係的なタスクをプログラミングするために、重要な結果をもたらす。もし、ロボットが実行しようとするタスクの前に、作業停止が発生した場合には、ロボットは、現在のタスクを完了させるが、次のタスクには進まない。このようにして、もし、ロボットが次のタスクに進む前に待機する場合に、プログラマーは、ロボットがどこの位置になるかを知る。
【００１７】
タスクの中の各動作についてプログラマーが予想しなければならない可能性の数は、それにより、大幅に減少する。プログラミングのジョブが、それにより、大幅にシンプル化され、短い時間内で実行されることが可能になる。動作プログラムが作成された後に、それをロボットに教えるための時間もまた、減少する。その理由は、作業停止の後のリカバリーが、従来技術の方法が要求するような、予想のタイプ、予防措置、位置の再チェックなどを要求することがないからである。
【００１８】
本発明の他の一つの重要な優位性は、作業停止の後に、製造ラインまたはコンベアが素早く再スタートされることが可能になり、品質のロスが最少または皆無になることである。このことは、製造時間の大幅な節約をもたらす。もし、そうでなければ、自動化された製造セクションの中でのランダムなまたは計画外の作業停止のために時間が失われることになる。作業停止の時に、影響を受けるセクションまたは製造セルまたは製造ラインの中にある各ロボットは、一つのタスクが完了した時点で停止し、後続するタスクに進む前に待機する。
【００１９】
そのラインまたはセクションが、再スタートされたとき、各ロボットは、それが止まっていたところから、文字通り回復し、次のタスクをスタートするところに進む。ロボットは、ラインが再スタートされることが可能になる前に、手動で寸動されまたは自動的に再配置される必要がなく、また、作業対象物が、移動され、スクラップにされまたは取り替えられる必要がなくなる。
【００２０】
本発明の他の一つの優位性は、ロボットと作業対象物の間または二つのロボットの間の衝突により生ずるダメージに起因する時間及び費用の大幅な節約にある。他の一つの更なる優位性は、動作プログラムのための単純化された戦略にあり、それによれば、プログラムの中の動作の全てが、タスクに分割され、次のタスクに進む前に、コントローラが、ハイにセットされたフラグがないかをチェックする。このような戦略は、ラインまたはセクションをインストールまたは再環境設定するときの、より素早いセットアップ時間をもたらし、調整時間を短縮する。
【００２１】
本発明の多くが、ソフトウエアの形で実現されるので、新しい設備及び既存の設備の両方に、本発明を導入するために必要な時間及び資本コストが、比較的低く、従って非常に有益である。
【００２２】
本発明の他の一つのアスペクトによれば、その目的は、コンピュータまたはプロセッサの内部メモリの中に直接ロードすることが可能なコンピュータ・プログラムにより実現される。そのコンピュータ・プログラムは、前記プログラムが、コンピュータまたはプロセッサで実行されたときに、本発明に基づく方法のステップを実行するためのソフトウエア・コード・ポーションを有している。上記コンピュータ・プログラムは、コンピュータで読出し可能なメディアの上で、または、例えば、ローカル・エリア・ネットワークまたはインターネットを含むワイド・エリア・ネットワークなどのような、ネットワークを介して、提供される。
【００２３】
本発明の更に他の一つのアスペクトによれば、その目的は、少なくとも一つのプログラムがその上に記録されたコンピュータで読出し可能なメディアにより実現される。ここで、上記プログラムは、前記プログラムがコンピュータまたはプロセッサで実行されたときに、コンピュータまたはプロセッサに、本発明に基づく方法のステップを実行させる。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施形態を、添付図面を特に参照しながら、説明する。但し、それらは例に過ぎない。
【００２５】
図１（従来技術）に、既知の方法に基づく、一つまたはそれ以上のロボットにタスクをティーチングするための方法を示す。新しいまたは変更されたジョブをセットアップするために、４フェイズまたはステップのシリーズが、満足すべき製造結果が得られるまで繰り返される。  
それらのフェイズは：
−  ロボットとコントローラの間の通信コンセプトをデザインする；
−  各ロボットのための動作プログラムを開発し、それを各ロボットに教える；
−  連係テスト、動作調整が、満足な結果が得られるまで繰り返される；
−  例外ハンドリング・ルーチン、テスト・リカバリー・ルーチンが、満足な結果が得られるまで繰り返される；
−  製造を開始する。
【００２６】
図２に、一つまたはそれ以上のロボットをコントロールするために、本発明の実施形態に基づいて、一つまたはそれ以上のロボットにタスクをティーチングするための方法が、まとめられている。この方法を用いて、事前の製造変更及びセットアップが大幅に迅速になることが、即座に明らかである。この図は、新しい方法の使用が、事前の製造セットアップ・フェイズが、僅かなフェイズ（２）に限定され、且つ、それらの内の一つのみが有限の繰り返しであることを意味することを示している。これは、従来技術の方法と比較されることになる。従来技術の方法では、上記４つのフェイズの中の二つのそれぞれのための多数の反復が要求され、そのそれぞれが、タスクの複雑さ及びセットアップ・ユーザ・オペレータのスキルに、大きく依存する。  
この実施形態に基づくセットアップ・フェイズは、今や下記のステップのみからなる：
−  各ロボットのための動作プログラム２１を開発し、それを各ロボットに教える；
−  連係テスト、動作調整、ティーチングのための一つのラン、及び確認のための一つのランが行われる；
−  製造を開始する。
【００２７】
図４ａは、本発明の実施形態に基づいて、共通の作業スペースの中で作業を行う複数のロボットの中の一つのロボットに、動作プログラムをティーチングするための方法のフローチャートを示す。この図は、ロボットをコントロールするプログラムが、現在の動作プログラムのためのティーチ・モード４１にセットされることを示している。この図は、ステップ４３を示していて、このステップ４３では、ロボットが、動作のために、所望のスタート位置４３に移動され、そのスタート位置（スタート位置のための座標）が、記録され且つセーブされる。それは、位置および／または時間座標を用いて、好ましくは自動的にセーブされる。ロボットは、その後で、次のタスク４９の第一の動作のスタート時に移動することが可能になる。  
これは、データがシステムの中に蓄えられ、それにより、コンベアが、例えば、１００１ｍｍ動いたとき、およびまたは、そのクロック（例えば１００．０１秒）が登録されたとき、タスク“ｎ”をスタートするために、作業対象物が、位置の中に（ウインドウ内に）なければならないようになること、を意味している。
【００２８】
これらの位置および／または時間は、動作プログラムを書いた後での単一確認ランの間に、好ましくは、自動的に記録される。確認のラン・スルー（run-through）において、もし、一つのロボットが、他のロボットまたは作業対象物その他に近付き過ぎた場合、技術者は、コントロール・ユニットまたはティーチ・ペンダントその他の上の停止ボタンを、近付いてくる対象物が離れるまで押し、それから、停止ボタンを離す。それにより、その所与のロボットは、次のタスクを開始することが可能になる。このプロセスは、動作プログラムの中の各タスクの第一の動作（または部分動作）のためのスタート位置（及びまたは時間）が  記録され且つセーブされる間に、再三、繰り返される。
【００２９】
これらのスタート位置、その位置の座標、は、後に、スタート・ポイントを調整するまたは微調整するための、位置及び座標の、マニュアルの比較またはオン・スクリーンの比較の後に、編集されることが可能である。指示はまた、動作プログラムのタスクの中に含まれることが可能であり、それによって、タスクの中の次の動作または次のタスクへ移動する前に、与えられ記録されたまたはインプットされた期間の間、待機する。例えば、内側に到達して内側塗装する他のロボットのために自動車のドアを開けるヘルパー・ロボット（helper robot）は、塗装ロボットが塗装を終了させて後退するまで、適切な、記録されまたはインプットされた時間遅れにより、停止されることが可能である。
【００３０】
図４ｄに、本発明の好ましい実施形態に基づくツールを備えたロボットをコントロールするための方法のステップを示す。このプログラムは、ステップ４１ｂでスタートし、ロボットは、第一のタスク（次のタスクであっても良い）４３ｂに移動する。ロボットが、ティーチング（プログラミング）モード、または確証（プログラム）モードにあるとき、ステップ４５ｂが挿入され、好ましくは自動的に、ロボットの全てで使用される、例えば次のタスクをスタートする時間または座標位置などのような、共通のリファレンス値を取り込む。正常な製造モードで動いているとき、ステップ４５ｂはバイパスされる。ロボットは、現在のタスクの動作４０ｂの全てを終らせる。
【００３１】
次のタスクをスタートする前に、ロボットは、共通のリファレンス値をチェックし４２ｂ、その使用されている共通のリファレンス値、作業対象物がスタートするための作業対象物の場所または位置の中にある時間を調べる（図６，７の６１，７１と同様）、その値が許容可能である４４ｂかどうかを調べる。もし、その共通のリファレンス値が限界内にある場合には、“Ｙｅｓ”がロボットにもたらされ、次のタスクを開始する４９ｂ。もし、その共通のリファレンス値が許容不可である場合には（“Ｎｏ”４７ｂ）、共通のリファレンス値が限界内に見出されるような時間まで、ロボットは待機する４４ｂ（図６，７の６４または７４と同様）。
【００３２】
このようにして、製造ラインまたはセルの中での一時的な停止が、再スタートの実行が可能になる前に各ロボットが次の位置またはホーム位置などに手動で寸動されなければならないような、非連係的なやり方でのロボットの停止をもたらすことがなくなる。その代わりに、各ロボットは、それらが停止されたタスクの終わりに続く次のタスクのスタート時に、作業をシンプルに再開する。
【００３３】
プログラムを繰り返すとき、ロボットは、最初にプログラムされたように、動作を実行する。しかし、もし、測定されまたは検知された実際のリファレンス値が、予測されたものよりも小さい場合には、ロボットは、継続する前に、それが蓄えられたリファレンスよりも大きいかあるいはそれに等しくなるまで待機する。もし、実際のリファレンス値が、蓄えられたリファレンス値よりも大きい場合には、所与のロボットは、動作プログラムにより予め定められる条件に依存して、外部リファレンス・コントローラ／タイム・キーパーに遅れがあり、所与のロボットが再び追い付いくまで、コンベアが休止するまたは時間リファレンスが停止するとの信号を送る。
【００３４】
図３は、例えばセル・コントロールのような、中央コントローラまたはコントローラを備えた複数のロボットのための概略図である。このコントローラは、上位の且つ監視の機能を有している。各ロボットは、それ自身のコントローラを、通常のやり方で、例えばセル・コントローラのような、より“中央”のコントローラに、ある程度従属させて、有することが可能である。図３は、例えば、ロボット３、ロボット１、ロボット２及びロボット“ｎ”のような、複数のロボット３３ａ−ｎを示している。そのようなセル・コントローラ３１の一つが、示されているが、これは、例えば、ロボット“ｎ”のような各ロボットへの、例えば３５のようなコントロール通信チャネルを備えている。作業対象物３９が示されており、その作業対象物の位置は、もし、作業対象物が移動している対象物の場合、ロボット、および／またはセル・コントローラに報告される。通信チャネル３７は、作業対象物に対する情報のために示されている。
【００３５】
本発明に基づいて開発された動作プログラムは、通常、複数の動作を含んでいる。動作の一つまたはそれ以上は、そのとき、一つまたはそれ以上のタスクとして、取り扱われる。塗装プログラムにおいては、例えば、各個別の塗装するストローク（動作）が、個別のタスクとして、処理される。スポット溶接においては、各スポット溶接への動作およびそのパフォーマンスが、一つのタスクになり得る。これに対して、ロボット設備がボックスまたはコンテナの中にアイテムを詰める作業を行う時には、各アイテムが、一つのタスクとなり得る。または、詰められるアイテムの各列または詰められるアイテムの各層が、一つのタスクとして選択され得る。
【００３６】
もし、それが適切なやり方である場合には、プログラムの中で動作が分割される。あるケースでは、鋼板などを切断するための、例えばロボット・コントロールされたレーザまたはハイパワー・水ジェットのような、例えば連続的な動作を行うときには、比較的長い時間または距離に渡って実行される単一動作が、一つよりも多いタスクに分割されることが可能である。
【００３７】
ロボットのための動作プログラムが、複数のタスクからなる複数の動作を含むものとして、規定され且つ教えられまたはプログラムされた後、本発明の背後の次の原則は、作業停止が発生した場合に、ロボットは、現在のタスクを完了させるが、次のタスクを開始しないことである。ロボットは、続けるための指示を受けるまで、次のタスクに進む前に、シンプルに待機する。
【００３８】
図９は、この典型的な例における概略ブロック図を示している。この図の中で、製造セルの中で車のボディに対して４つのロボットが作業を行っており、それらのロボットのためのコントロール・システム象徴的に示されている。この図は、移送手段９０及び製造ラインのセクションを示している。移送手段９０は、矢印Ａの方向に移動する。作業対象物３９、このケースでは車のボディが、移送手段９０により、作業エリアの中へ移送される。このケースでは、４つのロボット３３ａ−ｄが作業エリアの中にある。これらのロボットは、コントロール・システムによりコントロールされ、各ロボットは、適切なデータ・ネットワーク９４によって接続されている。そのネットワークは、配線であっても、無線であっても、または両者の混合であっても良い。
【００３９】
上記の移送手段は、アクチュエータまたはモータ９１により駆動され、移送手段の動作は、エンコーダ９２により記録される；コンベア・ベルト、レール、パレット、または他の移送手段の動作を登録するためのパルス・エンコーダまたは他のデバイスがある。クロック９３は、経過した時間を測定するように構成されることも可能である。典型的には、その時間は、コンベアまたは他の移送手段が移動して期間である。
【００４０】
このようにして、共通のリファレンス値、即ち、ロボットの全てが互いに連係するための共通のリファレンス値として使用されるリファレンス値が、例えば、パルス・エンコーダ（９２）のような、センサー部品により都合良く供給されることが可能である。そのようなパルス・エンコーダは、コンベアの動作を介して間接的に、作業対象物の動作を登録する。そのような動作の登録は、移送部品に取り付けられた既知のセンサー技術のいずれかを使用して、実行されることが可能であり、その移送部品は、作業対象物を共通の作業スペースへ及びそこから、コンベアまたは同様な物により移動するように構成されている。なお、コンベアの他に、他の移送形式、例えば、インライン・トラック、オーバーヘッド・トランスポート、トロリー、セルフガイデド・トロリーなども、使用可能である。
【００４１】
その代わりに、ローカル・タイムまたはタイム・スタンプが、各ロボット・コントローラ及び各セル・コントローラに与えられることも可能である。もし、タイム・スタンプが、クロック９３が停止していることを示した場合には、その場合には、ローカル・タイムリファレンス値は、許容不可またはラインが停止しているステイタスを受け取っている。時間またはタイム・スタンプが、再び使用可能になると、そのとき、ローカル・タイムリファレンス値は、許容可能である。しかしながら、例えば、上記のパルス・エンコーダのような、シンプルな動作トラッカーは、既存の動いているライン設備の大半で広く存在している、従って、それ故に、共通のリファレンス値のためのベースとして、使用するために便利である。
【００４２】
より詳細には、本発明の方法は、ロボットの間の、及びロボットとセル・コントローラの間の、既知のまたは正常なステイタス及びコントロール信号を含み、以下の信号は、本発明の実施形態に基づいて、入れ替えられる：
−  共通のリファレンス値の配置；好ましくは、作業対象物に対する位置または動作の指示；または、連係的な時間信号；
−  対象物および／または他のロボットが休止されることが可能なように、上位のコントローラ、例えばセル・コントローラ３１に、現在のローカルな実行位置または実行ポイントについて、報告するための、信号または機能。
【００４３】
この創造的な方法の結果は、それぞれのまたはいずれかのロボットが、タスクの完了の時点で、ただ待機するだけで良いことである。正常な中断または製造停止の後で、セルまたはラインを再スタートするためには、待機信号をリセットまたは引込めることが必要なだけであり、各ロボットは、その後、その動作プログラムの中の既知の位置から、再スタートする。ロボットは、ロボットが完了した最後のタスクの後に続くタスクに、シンプルに進む。このようにして、ラインの再スタートが、自動的に、且つ、過度の手動操作及び専門家による仕事なしで、また、ロボットを互いにまたは作業対象物に対して再配置するための時間なしで、実行されることが可能であり、それによって、全ての適切に機能しているロボットは、それらの個別の動作プログラム３１の中のプログラムの指示に基づいて、シンプルに作業を再開することになる。
【００４４】
図５に、本発明の好ましい実施形態に基づいて、複数のロボットの内の一つをコントロールする方法のためのフローチャートを示す。この図は、作業対象物が移動する距離を、カウントまたは測定する４１作業を示し、また、作業対象物が停止しているか否かを判断するための比較のデシジョン４２を示している。このようにして、この実施形態において、共通のリファレンス値は、作業対象物の相対的な動作、移動距離、に基づいている。もし、作業対象物が動きを止めた場合には、リファレンス値のステイタスが、コントロール・プログラムの中で変わる。換言すれば、もし、“Ｙｅｓ”４７、であれば、ソフトウエアフラグまたはプログラム・コードフラグは、ハイにセットされる。
【００４５】
この結果として、関心の対象のロボットが、現在のタスクの終わりに来たとき、そのロボットは、待機する（停止する）ように指示されることになる。ラインの非常に短い中断は、恐らく、一つのロボットのみが短時間の間、停止して待機するという結果をもたらし、その後に続いて、フラグが取り除かれると直ぐに、再スタートする。その間、他のロボットは、恐らく、停止されることなく、それらのタスクを続けるか、または、そうでなければ、他の一つのロボットの比較的短い停止により影響される。
【００４６】
もし、リファレンス値の比較４２の結果が、“Ｎｏ”である場合には、フラグは、ハイにセットされない。４２での“Ｎｏ”に加えて、他の一つの操作をその後に行うことが可能であり、それは、ハイにセットされているフラグが存在するかどうかをチェックすることである。もし、“Ｙｅｓ”４９ならば、その場合には、そのフラグは降ろされる４５か、または同様または同等なやり方で、取り除かれる。その理由は、作業対象物が移動しているからである。もし、”Ｎｏ”４７ならば、その場合には、作業対象物の位置のために測定またはカウントされた結果が報告され４８、および／または蓄えられる。オプションとして、このフラグのための現在のステイタス（ハイであるかハイでないか）のレポートは、蓄えられおよび／またはセル・コントローラに報告されることが可能である。
【００４７】
連係が、例えば、セル・コントローラ３１のような、上位のコントローラに管理させることによって、実行されることが可能であり、それによって、全てのロボットが、常時、連係ティーチング・モードの中に記録された相対的な時間および／または位置から個別に設定可能な許容ウインドウの中にあるようになる。
【００４８】
この連係機能はまた、いずれかの上位のコントローラから完全に独立して、実施されることも可能である。比較は、ロボット・コントローラの中で、一つまたはそれ以上のロボットのそれぞれのために、ローカルに行われることも可能であり、その場合には、作業対象物またはロボットがそのウインドウの限界から外れたときに、信号が、他のロボットおよび／またはコンベア・コントローラに送られ、それらを休止させる。例えば、以下の図８の説明（ロボット・コントローラ８１の中で実施されるように構成されたサブ・ルーチンまたはプログラム８６，８７，８５，８５ａについての説明）を参照されたい。
【００４９】
図６は、リファレンス値のステイタス、例えば、作業対象物が予め定められた値に基づいて動いているか否かのようなリファレンス値を、連続的にチェックするためのフローチャートを示す。この図は、リファレンス値に対するフラグがハイであるかどうかを判断するために、ステイタスのチェック６１が実行されることを示している。もし、フラグがハイである場合には、それは、作業対象物が移動を停止していることを意味している。“Ｙｅｓ”６２は、現在のタスクが終ったところでロボットが待機する６４と言う結果をもたらす。
【００５０】
もし、その反対に、ステイタスのチェック６１の結果が、“Ｎｏ”６６である場合には、それは、何も起こらず、従ってチェック６１に基づく変更を受けることなくロボットが動作を続けることを意味している。このステイタスのチェックは、適切な、予め定められたサンプリング周期で、ほぼ連続的に、繰り返されることが可能である。このステイタスのチェックはまた、予め定められたインターバルで、行われることも可能である。そのようなインターバルは、例えば、第一のロボットのための次のタスクの開始の直前、および／または、作業グループ内の他のロボットの次のタスクの開始の直前などである。
【００５１】
図７に、図６と同様なフローチャートを示す。図７は、他のロボットの内のいずれかが停止しているかどうか、即ち、次のタスクへ進まずに待機しているかどうかを、チェックする方法のためのフローチャートである。図７は、セクションまたは製造セルの中のいずれかのロボットが、ハイにセットされたリファレンス値に対するフラグを判断するために、ステイタスのチェック７１が実行されることを示している。もし、そのセクション内のいずれかのロボットのためのフラグがハイであれば、そのことは、作業対象物が、そのセクションに対して移動を停止していること、または、問題のロボットが、何らかの理由のために現在待機している６４ことを意味している。そして、この “Ｙｅｓ”７２は、現在のタスクが終ったところでロボットが待機する７４と言う結果をもたらす。
【００５２】
先の図６の場合と同様に、もし、ステイタスのチェック７１の結果が“Ｎｏ”７６である場合には、それは、何も起こらず、従ってチェック７１に基づく変更を受けることなくロボットが動作を続けることを意味している。このチェックは、適切なインターバルで繰り返される。また、これは、第一のロボットが次のタスクをスタートする前に、他のロボットが次のタスクをスタートする前に、および／または、ロボットの内のいずれかまたは全てが次のタスクをスタートする前に、繰り返されることも可能である。
【００５３】
図８は、ローカルなロボット・コントローラ８１の概略ブロック図を示す。このロボット・コントローラは、リファレンス値（共通のリファレンス、位置リファレンス、ロボットの待機または共通の時間のリファレンス、その他）をモニタリングして、例えば、ロボット１−ｎ（図３）のような、ロボットの作業をコントロールするための部品、パーツ及びソフトウエアを備えている。この図は、ロボット・コントローラが、ハードウエアＩ／Ｏインタフェ−ス８２、プロセッサまたはコンピュータ８３、ＲＡＭメモリ８４、及び好ましくは、不揮発性または長期間メモリ貯蔵部８９をも、含んでいることを示している。
【００５４】
ロボット・コントローラはまた、コントローラ・プロセッサ８３の中で実行される一つまたはそれ以上のプログラムを有し、それは、動作プログラム８５を含んでいる。動作プログラム８５は、共通のリファレンス４１のための値をチェックして、それが許容不可であるかどうか、即ちフラグがハイである４３どうか調べるための、プログラムまたはルーチン４２を有することができる。このプログラムまたはルーチンはまた、動作プログラム８５の中に、含められることも可能であり、または、以下のプログラム８６，８７と同様な個別のプログラム８５ａの中に、含められることも可能である。
【００５５】
図８はまた、コントローラ８１によりコントロールされるロボットためのフラグ、例えば、ロボット位置ためのリファレンス値がハイであるかどうかをチェックする８６ためのプログラムまたはルーチンを示している。他の一つのプログラムまたはルーチンまたはサブ・ルーチンもまた、示されている。これは、セルの中のいずれかの他のロボットがハイにセットされたフラグを持っているかどうかをチェックする８７ために設けられている。
【００５６】
ロボット・コントローラ８１は、指示を、信号の形態で、ロボット、ロボット・ハードウエアＩ／Ｏ  ８１３へ、コントローラ・ハードウエアＩ／Ｏインタフェ−ス８２を介して、発する。ロボット・コントローラ・ハードウエアＩ／Ｏ  ８２はまた、例えば、センサーＩ／Ｏ  ８１２及びまたリファレンス・センサー８１１のような、センサーインプットを受け取る。そのようなセンサーは、コンベア上のパルス・エンコーダ、作業対象物のための他の一つの位置センサー、ローカル・クロックまたは時間信号、または他のリファレンス値発生器などであることができる。ロボット・コントローラ・ハードウエアＩ／Ｏ  ８２はまた、セル・コントローラ３１からインプットを受け取り、また、セル・コントローラにアウトプットを送ることも可能である。
【００５７】
ロボット・コントローラ８１は、例えばプログラマブル・コントローラのような、スタンダード・オフザシェルフ（off-the-shelf）コンポーネントであることが可能である。しかし、そのロボット・コントローラは、ソフトウエア・コード・ポーションを実行するように作られた他の一つの手段により、または本発明に基づくコンピュータ・プログラムにより、プログラムされる必要があり、必要に応じて、リファレンス値またはリファレンス値ステイタスに関する情報が供給される。
【００５８】
センサーＩ／Ｏ  ８１２へのセンサーインプットは、ロボットと協同してインストールされまたは配置された、一つまたはそれ以上のワイヤレス・センサーにより与えられることが可能である。同様に、ロボット・ハードウエアＩ／Ｏ  ８１３は、無線信号を送りおよび／または受け取るワイヤレスＩ／Ｏを有することが可能である。
【００５９】
リファレンス値ステイタスはまた、例えば、コンベアのためのライン動作パルス・エンコーダのような、よりユニバーサルな位置インジケータからの代わりに、セル−特定のまたはロボット-特定の目標位置からも生成されることも可能である。各動作プログラム２１ができ上がったとき、全てのストロークの前に、図２に示すように、連係ティーチング・ランが行なわれ、目標の位置が記録される。それはアレイの中にセーブされることも可能である。このようにして、全ての動作を開始するために、従ってそれ故に、全てのタスクのために、関係する目標位置がある。
【００６０】
正常な作業の間、ロボットは、アレイの中に蓄えられた目標位置を、タスク（動作）のスタート時の前にチェックし、それを、存在している目標位置が今、何であるかの測定結果と比較する。その目標位置が、予め定められ予測されセーブされたスタート位置の周りのウインドウの中（例えばアレイの中）にあるかどうかについて、判断がなされることが可能である。
【００６１】
もし、測定された位置が、セーブされた位置の許容可能ウインドウの外側にある場合には、許容不可のステイタスリファレンス値（図５のハイ・フラグ４３と同等なもの）が、その時にそのロボットのために、定められる。このようにして、もし、測定された位置が、上記ウインドウの外側にある場合は、リファレンス・ステイタスが許容不可になり（フラグ・ハイ）、ロボットは、図６の６４と同様に、待機するように指示される。
【００６２】
もし、そのステイタスが許容可能である場合には（フラグがない場合には）、次のタスクに進む。各スタート位置の比較のために、製造セルの中で定められたリファレンス値のステイタスは、連続的に、セル・コントローラ３１により、サンプリングされることが可能である。各セルのための  リファレンス値のステイタスの一部または全ては、ラインの他のセクションをコントロールする他の一つのコントロール・システムにより、サンプリングされることが可能である。
【００６３】
以上をまとめると、もし、作業対象物が間違った位置にある場合には、第一のロボットは、次のタスクを始める前に、作業対象物がポジション・ウインドウの中に入るまで、待機する。作業対象物が、ポジション・ウインドウの中に移動した後に、現在の位置測定によって測定されたとき、リファレンス値がリセットされ、そして、第一のロボットは、次のタスクに進む。動作プログラムは、スピードまたは質を改善するために、動作プログラム２１の中の  複数の特定の動作またはタスクの内の一つまたはそれ以上のティーチング２２によって、後で微調整されることが可能である。
【００６４】
このようにして、この創造的な方法はまた、他のロボットが与えられたタスクを完了するまで、ロボットが意図的に休止（または一時的に停止）されることを可能にすることが、上記から理解できるであろう。これは、非常に有益な特徴である。
【００６５】
例えば、塗装作業において、“ヘルパー”ロボットは、正しい時間及び位置に自動車のドアを開けるように、プログラムされることが可能であり、それによって、第二のロボットは、自動車の内側に到達してボディの内側を塗装することが可能になる。ヘルパー・ロボットは、第二のロボットが、内側の塗装を終わらせるまで、それが待機するように、プログラムされることが可能である。この例では、第二のロボットが塗装を止まったとの信号を受け取ると、自動車の内側から後退し、待機状態を始める。ヘルパー・ロボットが、そのイベントのためのリファレンス値が、第二のロボットのためのハイ・フラグを示すことによって、第二のロボットが待機しているとの情報を得たとき、ヘルパー・ロボットは、自動車のドアを閉めて、後退し、それから、次の自動車が予測された目標位置に到着する時間まで、それ自身の独自の待機状態に入る。
【００６６】
本発明の他の一つの実施形態において、一つまたはそれ以上のロボットには、ロボット・コントロール機能とロボットのコンポーネントの間に、またはロボットを協同するように構成されたセンサーとのの間に、またはそれら両者に、無線通信が設けられる。選択されたモニタリングのための無線通信の使用及びコントロール機能は、特に有益であり、例えば、自動ツール交換が、ロボットにより実行されることが可能な設備のために有益であり、それによって、好ましくは、製造セル・エリアの中にオペレータが入ることが必要なくなる。
【００６７】
他の一つの、少し劣る好ましさの実施形態では、リファレンス値は、ジョブの完了のパーセンテージのための値を有することができる。ジョブの相対的な完了の程度は、共通のリファレンス値を与えるためのベースとして、使用されることが可能である。これは、作業対象物が、コンベアまたは他の移動ラインによって、製造セルへ及び製造セルから移送されない状況の中で、選択されることが可能である。このケースでは、リファレンス値は、相対的な完了度カウンターの中の変化または増加分により生成される。相対的な完了度またはパーセンテージ完了値の値が、予め定められたウインドウの外側への変化した時には、信号が発せられ、その後、上記のように、ロボットの内の少なくとも一つフラグが、ハイにセットされる。
【００６８】
本発明の方法は、先に説明したように、コンピュータまたはプロセッサの上で実行されるコンピュータ・プログラム・コードまたはソフトウエア・ポーションを有する、一つまたはそれ以上のコンピュータ・プログラムによって実行されることが可能である。そのマイクロ・プロセッサ（またはプロセッサ）は、本発明の一つまたはそれ以上の局面に基づく方法のステップを実行する中央演算装置ＣＰＵを有している。これは、例えば８５，８５ａ，８６，８７のような、前記コンピュータ・プログラムの一つまたはそれ以上の助けで実行される。そのコンピュータ・プログラムは、例えば８４，８９のような、一つまたはそれ以上のプロセッサによりアクセス可能なメモリの中に少なくとも部分的に蓄えられる。
【００６９】
それぞれのプロセッサは、ローカルまたは分散型コンピュータ化されたコントロール・システムの中の、セントラル・オブジェクト・オリエンテッド・コントロール・システムの中に含まれることが可能である。前記コンピュータ・プログラムはまた、一つまたはそれ以上の専用のコンピュータまたはプロセッサの代わりに、一つまたはそれ以上の汎用産業用マイクロ・プロセッサまたはコンピュータで実行されることも可能であることを、理解すべきである。
【００７０】
このコンピュータ・プログラムは、上記方法を、式、アルゴリズム、データ、蓄えられた値、及び先に説明された計算を使用して、コンピュータに実行させるコンピュータ・プログラム・コード要素またはソフトウエア・コード・ポーションを有している。プログラムの一部は、上記のようにプロセッサの中に蓄えられることが可能であるが、また、ＲＯＭ，ＲＡＭ，ＰＲＯＭ，ＥＰＲＯＭまたはＥＥＰＲＯＭチップ、または同様なメモリ手段の中に蓄えられることも可能である。  
上記プログラムは、部分的にまたは全体として、例えば、下記のような他の適切なコンピュータで読出し可能なメディアの上または中に、蓄えられることも可能である：
磁気ディスク、ＣＤ−ＲＯＭまたはＤＶＤディスク、ハードデスク、光磁気メモリ貯蔵手段、揮発性メモリの中、フラッシュメモリの中、ファームウエアとして、データ・サーバ上に蓄えられ、またはデータ・サーバの一つまたはそれ以上のアレイの上。
【００７１】
例えば、ソニー・メモリスティック（登録商標）及び他のリムーバブル・フラッシュ・メモリー、ハード・ドライブ、その他などのような、リムーバブル・メモリ・メディアを含む、他の既知の及び適切なメディアもまた、使用されることが可能である。
【００７２】
上記のコンピュータ・プログラムは、部分的に、幾つかの異なるコンピュータまたはコンピュータ システムの上で、多かれ少なかれ同時に、実行されることが可能な、分散型設備として、構成されることも可能である。プログラム、並びに、例えばスタート位置のようなデータ、またはフラグに関係する情報は、取得、配布、またはプログラムの場合にはインターネット上での実行のために、入手可能にされうる。  
データは、下記の内のいずれかにより、アクセクされることが可能である：
ＯＰＣ、ＯＰＣサーバ、例えばＣＯＭ、ＤＣＯＭまたはＣＯＲＢＡのようなオブジェクト・リクエスト・ブローカ（Object Request Broker）、ウエブ・サービス。
【００７３】
本発明の方法はまた、例えば、ティーチングまたは環境設定のフェイズの間に、運転の間に、オフラインまたは停止の後に続いて、ユーザのログイン・コンピュータ上で実行されるグラフィカル・ユーザ・インタフェ−ス（ＧＵＩ）、オペレータ・ワークステイション上のグラフィカルまたはテキストによるディスプレイによって、試行されることも可能である。そのログイン・コンピュータは、ロボット・コントロール・システムに直接接続されること、または、メインまたはローカル・コントロール・サーバまたは他のコントロール・システム・コンピュータを介して接続されることが可能である。 
無線通信は、いずれかの適切なプロトコルまたはスタンダードを使用して、実行されることが可能である。  
下記とコンパチブルなプロトコルを使用するショートレンジ無線通信は、好ましいテクノロジーである：
ブルートゥース（登録商標）ＳＧＩ（Special Interest Group）によって発行された標準、ＩＥＥＥ−８０２．１１のいずれかのヴァリエイション、ＷｉＦｉ、ＵＷＢ（Ultra Wide Band）、ＺｉｇＢｅｅ、または、ＩＥＥＥ−８０２．１５．４，ＩＥＥＥ−８０２．１３、またはその同等品または同様な物。  
無線通信はまた、例えば、ＩｒＤＡ、ＩｒＣＯＭＭ、または同様な物のような、赤外線手段及びプロトコルを使用して、実行されることも可能である。同様に、空気中を通るまたはロボット構造を介する、音波または超音波トランスデューサもまた、使用されることが可能である。
【００７４】
また、注意すべきことは、以上において、本発明を実施形態の例を用いて説明したが、以上において開示されたソリューションに対して、添付されたクレームにより規定される本発明の範囲から外れることなく、なされ得る様々変形及び変更が存在することである。
【図面の簡単な説明】
【００７５】
【図１】図１は、従来技術の方法に基づいて、ロボットに一つまたはそれ以上のタスクをティーチングするための方法の概略図である。
【図２】図２は、本発明の実施形態に基づく方法によって、幾つかのロボットを備えた製造ラインの中で、一つまたはそれ以上のロボットに一つまたはそれ以上のタスクをティーチングするための方法の概略図である。
【図３】図３は、本発明の実施形態に基づく、作業対象物、複数のロボット及びロボット・コントローラを示す概略図である。
【図４ａ】図４ａは、本発明の実施形態に基づいて、動作プログラムをロボットにティーチングするための方法のフローチャートである。
【図４ｂ】図４ｂは、確認ステージ及び運転フローの両者のためのオプションを示す代替案のフローチャートである。
【図５】図５は、新しいストロークの開始の前に、共通のリファレンス（例えば、作業対象物の動作）を測定するための方法のフローチャートである。
【図６】図６は、対象物の位置／ステイタスを、連続的にチェックするための方法のフローチャートである。
【図７】図７は、各他のロボットの対象物位置／ステイタスを、連続的にチェックするための方法のフローチャートである。
【図８】図８は、ロボットの作業をコントロールするために、リファレンス位置または時間をモニタリングするための、部品、パーツ及びソフトウエアを備えたロボット・コントローラの概略ブロック図である。
【図９】図９は、共通のスペース、製造ラインの製造セルの中の作業対象物に対して作業を行うための４つのロボットのためのコントロール・システムの概略ブロック図である。
【図１】
2007515305.tif 000003
【図２】
2007515305.tif 000004
【図３】
2007515305.tif 000005
【図４ａ】
2007515305.tif 000006
【図４ｂ】
2007515305.tif 000007
【図５】
2007515305.tif 000008
【図６】
2007515305.tif 000009
【図７】
2007515305.tif 000010
【図８】
2007515305.tif 000011
【図９】
2007515305.tif 000012
【手続補正書】
【提出日】平成18年8月22日(2006.8.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のロボット（３３ａ−ｎ）を有する設備の中で、ロボットをコントロールするための方法であって、それらのロボットは、共通の作業スペースの中で一つまたはそれ以上の作業対象物（３９）に対する作業を実行するものであり、その際に、複数の動作のための指示が、前記ロボットをコントロールするプログラムの中に記録される、方法において：
−  前記ロボット、または共通の作業スペースの中の他のロボットのいずれかが、予め定められているように進行しているか否かに依存して、検知または測定される共通のリファレンス値（４３’，６４，７４）に基づいて、前記ロボットをコントロールし；
−  次のタスクのスタート前に、前記ロボットのための共通のリファレンスのための値をチェックし（４２，６１，７１）；
−  もし、その共通のリファレンス値が許容可能限界内にない場合には、信号（４７，４７ｂ，６２，７２）を前記ロボットに送って、現在のタスクが終ったところで停止して待機させる（４３，６４，７４）こと；
を特徴とする方法。
【請求項２】
下記特徴を有する請求項１に記載の方法：
−  前記複数の動作を、複数のタスクとして決定し；
−  次のタスクのスタート前に、前記ロボットのための位置リファレンスのための値をチェックし（４２，６１）;
−  もし、その位置リファレンス値が許容可能限界内にない場合には、信号（４７，４７ｂ，６２，７２）を前記ロボットに送って、現在のタスクが終ったところで停止して待機させる（４４ｂ，６４）。
【請求項３】
下記特徴を有する請求項１または２に記載の方法：
−  前記複数のロボット（３３ａ−ｎ）の中の少なくとも一つの他のロボットのための、リファレンス値（６４）または他の運転ステイタスをチェックし（４４ｂ，７１）；
−  もし、少なくとも一つの他のロボットが待機または停止のステイタスを有している場合には、信号を送って、現在のタスクが終ったところで停止して待機させる（７４）。
【請求項４】
下記特徴を有する請求項３に記載の方法：
第一の前記ロボットのための位置リファレンスの値を、以下により判断する：
−  前記一つまたはそれ以上の作業対象物の一つの上にある目標の位置を測定するように構成されたセンサー部品（９２）のアウトプットをサンプリングする；
−  測定された目標の位置を、予め定められた目標位置と比較する；
−  もし、その測定された目標の位置が、許容可能限界内にない場合には、その位置リファレンスのステイタスを、許容不可として登録する。
【請求項５】
下記特徴を有する請求項４に記載の方法：
前記作業対象物の上の目標位置は、各タスクの開始のために、前記プログラムの中に記録された前記複数の動作の中に記録され、アレイまたは他のメモリ貯蔵部の中にセーブされる。
【請求項６】
下記特徴を有する請求項５に記載の方法：
プログラム編集アプリケイションにより、前記作業対象物の目標位置を、第一の記録の後に、マニュアル比較に依存して、調整する。
【請求項７】
下記特徴を有する請求項６に記載の方法：
プログラム編集アプリケイションにより、前記作業対象物の目標位置を、第一の記録の後に、前記プログラム編集アプリケイションを使用して実行されるグラフィカルな比較に依存して、調整する。
【請求項８】
下記特徴を有する請求項１に記載の方法：
共通のリファレンスのためのインジケータを、プログラムの中で、前記複数のロボットの内の前記ロボットのいずれかについて、許容不可またはフラグ・ハイ（４４ｂ，６４，７４）のステイタスに対して、設定する；
そのような共通のリファレンスのインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項９】
下記特徴を有する請求項１から３のいずれか１項に記載の方法：
インジケータを、第一の前記ロボットのプログラムの中で、許容不可またはフラグ・ハイのステイタスに対して、設定する；
そのようなインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項１０】
下記特徴を有する請求項８または９に記載の方法：
前記インジケータを、プログラムまたは第一の前記ロボットのためのプログラムの中でリセットし、そのようにして、許容不可のステイタスを取り除く。
【請求項１１】
下記特徴を有する請求項８または９に記載の方法：
前記インジケータを、プログラムまたは第一の前記ロボットのためのプログラムの中で、許容不可から許容可能にリセットする；
そのようなインジケータのステイタスは、他のコントローラまたはロボット・コントローラにより、検知可能である。
【請求項１２】
下記特徴を有する請求項１に記載の方法：
前記共通のリファレンスは、以下のリストの内のいずれかに基づいている：
作業対象物の移送部品の動作、期間、タイム・スタンプ、タスク完了の程度、ジョブ完了の程度。
【請求項１３】
下記特徴を有する請求項１から４のいずれか１項に記載の方法：
第一のロボットのための位置リファレンス値が、第一のロボットが次のタスクに進む直前に、チェックされる。
【請求項１４】
下記特徴を有する請求項１３に記載の方法：
前記複数のロボットの内のいずれかのリファレンス値（６４，７４）が、第一のロボットのための動作プログラム（２１，８５）に依存して設定された時間の値に基づいて、チェックされる。
【請求項１５】
下記特徴を有する請求項１４に記載の方法：
前記複数のロボットの内のいずれかのためのリファレンス値（６４，７４）が、前記複数のロボット（３３ａ−ｎ）の内の他の一つにより実行されるタスクまたは動作に依存して、第一のロボットのための前記動作プログラムの設定された時間の値に基づいて、チェックされる。
【請求項１６】
下記特徴を有する請求項４に記載の方法：
前記目標の測定される位置は、現在の位置である。
【請求項１７】
下記特徴を有する請求項４に記載の方法：
前記目標の測定される位置は、部分的に、計算された位置である。
【請求項１８】
下記特徴を有する請求項１に記載の方法：
ロボット・コントローラが、測定または検知された（９２，９３）共通のリファレンス値が、蓄えられた値よりも小さいことを判断し；
ロボットを、リファレンス値が蓄えられたリファレンスよりも大きいまたはそれに等しくなるまで、継続する前に、待機させる。
【請求項１９】
下記特徴を有する請求項１に記載の方法：
ロボット・コントローラが、測定または検知された（９２，９３）共通のリファレンス値が、蓄えられたリファレンス値よりも大きいことを判断し； 
前記外部リファレンス・コントローラおよび／またはタイム・キーパーに、そのようにコントロールされるロボットが遅れており、前記ロボットが追い付いて、許容可能であるリファレンス値を得るまで、コンベアを停止するようにまたは時間のリファレンスが停止されるように、信号を送る。
【請求項２０】
下記特徴を有する請求項１から１９のいずれか１項に記載の方法：
前記リファレンス値のための前記許容可能である値は、設定可能な許容限界を有するプリセット・ウインドウを有している。
【請求項２１】
共通の作業スペースの中で一つまたはそれ以上の作業対象物に対して作業を行う複数のロボットを有する設備の中で、ロボットをコントロールするためのコントロール装置（８１）であって、
−  次のタスクのスタート前に、前記ロボットための共通のリファレンス（４３）のための値を、判断または検知するためのプログラム部品（８５，８５ａ）と；
−  もし、測定された目標位置が許容不可である場合に、前記ロボットが停止して待機すると言う判断を行うためのロジック部品（８５）と；
−  待機する指示を有する信号を、前記ロボットに送ることができるように構成されたアウトプット部品（８２）と；
−  次のタスクのスタート前に、前記ロボットのための位置リファレンス（６４）のための値を、判断または検知するためのプログラム部品（８６）と；
を備えたことを特徴とするコントロール装置（８１）。
【請求項２２】
下記特徴を有する請求項２１に記載のコントロール装置；
次のタスクのスタート前に、前記複数のロボット（３３ａ−ｎ）の内の少なくとも一つの他のロボットためのリファレンス（７４）の値を、判断または検知するためのプログラム部品（８７）を有している。
【請求項２３】
下記特徴を有する請求項２１に記載のコントロール装置；
プロセッサ部品（８３）を有している。
【請求項２４】
下記特徴を有する請求項２１に記載のコントロール装置；
少なくとも一つのメモリ貯蔵部品（８４，８９）を有している。
【請求項２５】
下記特徴を有する請求項２１に記載のコントロール装置；
請求項１から２１のいずれか１項に記載された方法のステップを実行するための、一つまたはそれ以上のソフトウエア部品（８６，８７，８５，８５ａ）を有している。
【請求項２６】
下記特徴を有する請求項２５に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品の内の少なくとも一つは、一つまたはそれ以上のロボットのいずれかのための時間リファレンス値を、チェックするように構成されている。
【請求項２７】
下記特徴を有する請求項２５に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品の内の少なくとも一つは、コントロール装置の前記メモリ貯蔵部品の中に、少なくとも部分的に、蓄えられる。
【請求項２８】
下記特徴を有する請求項２７に記載のコントロール装置；
前記一つまたはそれ以上のソフトウエア部品（８５ａ，８６，８７）の内の少なくとも一つは、セル・コントローラ（３１）または他のロボット・コントロール・システムのメモリ貯蔵手段の中に、少なくとも部分的に、蓄えられる。
【請求項２９】
下記特徴を有する請求項２１から２８のいずれか１項に記載のコントロール装置；
少なくとも一つのロボットの少なくとも一つのセンサーおよび／または部品との間の、無線通信のためのＩ／Ｏインタフェ−スを備えている。
【請求項３０】
共通の作業スペースの中の一つまたはそれ以上の作業対象物に対して作業を行う複数のロボットを有する設備の中で、一つまたはそれ以上のロボットをコントロールするためのコントロール・システムであって、
コンピュータまたはプロセッサ及びメモリ貯蔵手段、及び一つまたはそれ以上のロボット・コントローラ（８１）を有しており、
−  前記複数のロボット（３３ａ−ｎ）のいずれかのためのリファレンス値（４３，６４，７４）をチェックすることができるように構成された、少なくとも一つのロボット・コントローラ（８１）を有し、
このロボット・コントローラは、
−  次のタスクのスタート前に、前記ロボットための共通のリファレンス（４３）のための値を、判断または検知するためのプログラム部品（８５，８５ａ）と；
−  もし、測定された目標位置が許容不可である場合に、前記ロボットが停止して待機すると言う判断を行うためのロジック部品（８５）と；
−  待機する指示を有する信号を、前記ロボットに送ることができるように構成されたアウトプット部品（８２）と；
−  次のタスクのスタート前に、前記ロボットのための位置リファレンス（６４）のための値を、判断または検知するためのプログラム部品（８６）と；
有していることを特徴とするシステム。
【請求項３１】
下記特徴を有する請求項３０に記載のコントロール・システム；
当該システムは、
前記一つまたはそれ以上の作業対象物および／または前記作業対象物のための移送部品の位置（４１）を測定するセンサー部品（９２）；および／または、
前記一つまたはそれ以上の作業対象物および／または前記作業対象物のための移送部品に関係する経過時間を測定する時間センサー（９３）のクロック；
を備えている。
【請求項３２】
下記特徴を有する請求項３１に記載のコントロール・システム；
前記センサー部品は、作業対象物の位置の測定を行うように構成され、それによって、前記複数のロボットの内の少なくとも一つが、作業サイクルまたはロボット動作プログラム（２１）の中のタスクのスタート時に、動作するように構成されている。
【請求項３３】
下記特徴を有する請求項３２に記載のコントロール・システム；
グラフィカル・ユーザ・インタフェ−スを備え、
このグラフィカル・ユーザ・インタフェ−スは、一つまたはそれ以上の動作を有するタスクを含む動作プログラム（２１，８５，８５ａ）により、前記複数のロボットをコントロールする、少なくとも一つのロボット・コントローラ（８１）またはセル・コントローラ（３１）に関して、表示を行い且つ動作を実行するように構成されている。
【請求項３４】
下記特徴を有する請求項３０に記載のコントロール・システム；
前記少なくとも一つのロボット・コントローラのコントロール部品は、前記複数のロボットの内の少なくとも一つのための時間リファレンス値をチェックするように構成されている。
【請求項３５】
請求項１から１９に記載のいずれか１項に記載の方法のステップを、コンピュータまたはプロセッサに実行させるための、コンピュータ・コード手段および／またはソフトウエア・コード・ポーションを有するコンピュータ・プログラム。
【請求項３６】
請求項３５に基づくコンピュータ・プログラムが、その上に記録されているコンピュータで読出し可能なメディア。
【請求項３７】
一つまたはそれ以上のコンピュータで読出し可能なメディアに含まれた、請求項３５に基づくコンピュータ・プログラムを有するコンピュータ・プログラム製品。
【請求項３８】
請求項２１から２９のいずれかに記載の方法に基づくコントロール装置の使用であって、少なくとも一つの他のロボットと共に、または、下記のリストの中のいずれかを塗装する設備の中で、ロボットを動作させるための使用：
自動車のボディ、自動車のパーツ、自動車のサブ・システム。
【請求項３９】
請求項２１から２９のいずれかに記載の方法に基づくコントロール装置の使用であって、下記のリストの中のいずれかを実行するロボットまたはオートメイション設備（１）を動作させるための使用：
コーティング、溶接、リベット止め、接着、フェットリング、板の折り重ね、切断、板の曲げ、板の縁付け、対象物の把持、対象物の操作、積重ね、拾上げ及び配置。
【請求項４０】
請求項３０から３４のいずれかに記載のコントロール・システムの使用であって、産業的または商業的設備の中で、ロボットまたはオートメイション設備（１）を動作させるための、下記のリストの中のいずれかのための設備を含む設備の中での使用：
採鉱、化学品の製造または加工、粉末の生成または輸送及び分配、油またはガスの探査、石油精製。
【請求項４１】
請求項３０から３４のいずれかに記載のコントロール・システムの使用であって、共通の作業スペースの中で一つまたはそれ以上の作業対象物に対する作業を実行するための、複数のロボット（３３ａ−ｎ）を有する設備の中の少なくとも一つのロボットのための、ティーチングおよび／またはプログラミングおよび／またはプログラムの検証のための使用であって、下記のリストの中のいずれかのための作業を実行するため使用：
塗装、コーティング、溶接、リベット止め、接着、フェットリング、切断、板の折り重ね、板の曲げ、板の縁付け、対象物の把持、対象物の操作、積重ね、拾上げ及び配置。
【国際調査報告】
2007515305.tif 000013
2007515305.tif 000014
2007515305.tif 000015