(57)【要約】【課題】本発明の目的は、ワークセルと関連付けられた複数のＴＰプログラムの中から編集するために、所望のＴＰプログラムを容易に選択する方法を提供することである。【解決手段】ワークセルの３Ｄグラフィック表示内でＴＰプログラムを選択する方法は、ワークセルの３Ｄグラフィック表示を生成するステップと、ワークセルと関連付けられた教示点プログラムの各々に関する３Ｄ境界ボックスを計算するステップと、境界ボックスの各々を２Ｄ境界領域に変換するステップと、２Ｄディスプレイスクリーン上で描かれた選択領域と重なり合う２Ｄ境界領域を認識するステップとを備える。選択領域と重なり合うものとして認識された境界領域の各々は、ユーザに対してに識別され、候補となる複数の境界領域が認識および識別された場合は、リストとして提示される。次いで、ユーザは、選択領域と関連付けられたものとして識別された教示点プログラムを編集し得る。【選択図】図２
2014097569.tif 000002
【特許請求の範囲】
【請求項１】
編集のためにロボットの教示点プログラムを配置するための方法であって、
ワークセルにおいて実行すべきロボットプロセスの経路の３Ｄグラフィック表示を生成するステップと、
前記３Ｄグラフィック表示に重ねられた前記経路の２Ｄ選択領域を選択するステップと、
前記２Ｄ選択領域と関連付けられた少なくとも１つの教示点プログラムを、ユーザに対して特定するステップと、
前記２Ｄ選択領域と関連付けられた前記少なくとも１つの教示点プログラムの少なくとも一部をユーザが編集するのを許容するステップと、を備える、方法。
【請求項２】
前記ワークセルと関連付けられた前記教示点プログラムの各々に関する３Ｄ境界ボックスを計算するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記境界ボックスの各々は、前記ワークセル内に配置された平行６面体として形成され、前記境界ボックスが計算された前記教示点プログラムと関連付けられた全てのノードを取り囲む、請求項２に記載の方法。
【請求項４】
前記３Ｄ境界ボックスの各々をメモリ資源に記録するステップをさらに備える、請求項２に記載の方法。
【請求項５】
前記３Ｄ境界ボックスの各々を、対応する２Ｄ境界領域に変換するステップをさらに備え、
前記２Ｄ境界領域の各々は、前記３Ｄグラフィック表示に重ねられた対応する前記３Ｄ境界ボックスの２Ｄ投影画である、請求項２に記載の方法。
【請求項６】
前記変換するステップは、ユーザに対して提示される前記ワークセルの前記３Ｄグラフィック表示のビューを変更したときに、実行される、請求項５に記載の方法。
【請求項７】
前記２Ｄ選択領域と重なり合う前記２Ｄ境界領域の各々を認識するステップをさらに備え、
前記２Ｄ選択領域と重なり合うものとして認識された前記２Ｄ境界領域の各々と関連付けられた前記教示点プログラムの各々は、前記２Ｄ選択領域と関連付けられたものとしてユーザに対して識別される、請求項５に記載の方法。
【請求項８】
前記２Ｄ選択領域の許容距離内にある前記２Ｄ境界領域の各々を認識するステップをさらに備え、
前記２Ｄ選択領域の許容距離内にあるものとして認識された前記２Ｄ境界領域の各々と関連付けられた前記教示点プログラムの各々は、前記２Ｄ選択領域と関連付けられたものとしてユーザに対して識別される、請求項５に記載の方法。
【請求項９】
前記２Ｄ選択領域を選択するステップは、前記２Ｄ選択領域を形成するように、前記３Ｄグラフィック表示の領域の周りの外側境界を描くことを含む、請求項１に記載の方法。
【請求項１０】
ユーザによる視認のために、識別された全ての前記教示点プログラムのリストを表示するステップをさらに備える、請求項１に記載の方法。
【請求項１１】
前記リストは、ダイアログボックスとしてユーザに表示される、請求項１０に記載の方法。
【請求項１２】
前記２Ｄ選択領域と関連付けられた前記少なくとも１つの教示点プログラムを識別するステップは、前記ワークセルと関連付けられた全てのロボットコントローラに記録された全ての教示点プログラムを検索することによって、実行される、請求項１に記載の方法。
【請求項１３】
ユーザが前記２Ｄ選択領域と関連付けられた前記少なくとも１つの教示点プログラムと相互作用するのを可能とするユーザインターフェースを、ユーザに提供するステップを備える、請求項１に記載の方法。
【請求項１４】
前記少なくとも１つの教示点プログラムの少なくとも一部を編集することは、少なくとも１つの教示点と関連付けられた少なくとも１つのノードを再配置することを含む、請求項１に記載の方法。
【請求項１５】
前記少なくとも１つのノードに関する調整ベクトルを計算するステップをさらに備え、
前記調整ベクトルは、前記少なくとも１つのノードが再配置されるべき距離および向きを含み、前記少なくとも１つのノードの再配置に適用される、請求項１４に記載の方法。
【請求項１６】
前記調整ベクトルが適用された後に、前記少なくとも１つの教示点プログラムに関する３Ｄ境界ボックスを計算するステップをさらに備える、請求項１５に記載の方法。
【請求項１７】
ワークセルの３Ｄグラフィック表示においてロボットの教示点プログラムを選択する方法であって、
前記ワークセルと関連付けられた教示点プログラムの各々に関する３Ｄ境界ボックスを計算するステップと、
前記３Ｄ境界ボックスの各々を、前記ワークセルの前記３Ｄグラフィック表示に重ねられた対応する２Ｄ境界領域に変換するステップと、
前記３Ｄグラフィック表示に重ねられた２Ｄ選択領域を選択するステップと、
前記２Ｄ選択領域と重なり合う前記２Ｄ境界領域の各々を認識するステップと、
前記２Ｄ選択領域と重なり合うものとして認識された対応する前記２Ｄ境界領域を含む前記教示点プログラムの各々を、ユーザに対して特定するステップと、を備える、方法。
【請求項１８】
前記変換するステップは、前記ワークセルの前記３Ｄグラフィック表示のビューを変更したときに、実行される、請求項１７に記載の方法。
【請求項１９】
ユーザによる視認のために、識別された全ての前記教示点プログラムのリストを表示するステップをさらに備える、請求項１７に記載の方法。
【請求項２０】
前記２Ｄ選択領域と重なり合うものとして認識された対応する前記２Ｄ境界領域を含む前記教示点プログラムを識別するステップは、前記ワークセルと関連付けられた全てのロボットコントローラに記録された全ての教示点プログラムを検索することによって、実行される、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１２年１１月１４日に出願された米国特許仮出願シリアルＮｏ．６１／７２６，２６３号に対して優先権を主張するものである。なお、この出願の内容は、この参照により本稿に含まれるものとする。
【０００２】
本発明は、ロボットシミュレータによって生成されるワークセルの３次元（３Ｄ）グラフィック表示における、ロボットの経路、位置に基づいて、教示点プログラムを選択する方法に関する。
【背景技術】
【０００３】
ロボット塗装のアプリケーションにおいて、複数のロボットコントローラに対する、数百もの異なる教示点（ＴＰ）プログラムがあり得る。このロボットコントローラは、１つの車体の塗装を取り扱う。例えば、ＴＰプログラムの各々は、ロボットアームに配置された塗料塗布器に特定の経路を辿らせるとともに、車体に塗料を適正に塗布するために特定の向きを推測する。適正に塗装されていない車体上の領域がある場合、正しいＴＰプログラムと、該ＴＰプログラムと関連付けられた既教示点（ｔａｕｇｈｔ  ｐｏｉｎｔ）と、問題となっている領域を適正に塗装するための正しいアプリケーション命令とを発見することは、大変な困難となり、且つ時間を消費することになり得る。このことは、塗装アプリケーションを実行するロボットシステムに習熟していないユーザにおいて、特に起こり得る。これは、製造環境において極非効率的である。
【０００４】
例えば本稿で述べる塗装アプリケーションのような特定のロボットアプリケーションを実行するためのロボット経路を教示するプロセスを簡単とするために、グラフィックのオフラインプログラミング手段が開発されてきた。このようなソフトウェア製品は、３Ｄ空間内で実行されるロボットプロセスをシミュレーションするために、３Ｄ空間を生成および表示する。ロボットプロセスのシミュレーションは、３Ｄ空間内でロボットプロセスと関連付けられたＴＰプログラムの各々を、ロボットのコンポーネントによって追従される３Ｄ経路（または線）の形式として生成することを含み得る。生成された３Ｄ経路は、ソフトウェア製品のユーザに視覚的に表示されるか、またはビューから隠され得る。視覚的に示された場合、ＴＰプログラムの各々は、さらに、３Ｄ経路を含む、全ての既教示点（またはノード）の形式として示され得る。３Ｄ空間は、ソフトウェア製品のユーザに対して２次元（２Ｄ）のディスプレイスクリーン上に示されるので、このようなソフトウェア製品は、ユーザインターフェース（ＵＩ）をしばしば備えている。このＵＩによって、ユーザは、２Ｄディスプレイスクリーン上に表示された「カメラビュー」を効果的に変更しつつ、３Ｄ空間を視認する位置および姿勢を変更することが可能となる。２Ｄディスプレイスクリーン上に表示されたカメラビューは、本質的には、画像の形式としての、３Ｄ空間の２Ｄ投影画である。
【０００５】
１つの塗装アプリケーションは、複数のロボットの使用を含み、該ロボットの各々は、数百ものＴＰプログラムの実行を担う。一方、ＴＰプログラムの各々は、数百もの既教示点（ノード）から構成され得る。多数のＴＰプログラム、および関連する既教示点があることによって、各ＴＰプログラムのグラフィック表示を表示することが、好ましくないものとなる。各ＴＰプログラムおよび関連する既教示点のグラフィック表示の生成は、演算の観点からは、時間を消費するものであり、且つ、煩わしいものである。さらに、１つのロボットアプリケーションをプログラムするために用いられる多数のＴＰプログラムは、該ＴＰプログラムおよび既教示点が互いに重なり合い、または互いに近接するものとして表示されることに繋がる。これにより、ディスプレイにて特定のＴＰプログラムを識別することが大変困難となってしまう。このような理由から、多くのソフトウェア製品は、ユーザがワークセルを表す３Ｄ空間を操作したときに、ＴＰプログラムの各々およびその全てのグラフィック表示を、表示してはいない。代わりに、これらのソフトウェア製品は、編集のために特定のＴＰプログラムを選択する前に、どのＴＰプログラムをグラフィック的に表示するか識別することをユーザに要求している。
【０００６】
特定のＴＰプログラムを識別および選択するために、ソフトウェア製品のユーザは、３Ｄ空間の所望の領域を配置すべくＵＩを用いる。この所望の領域に、２Ｄディスプレイスクリーンのビュー内で表示された特定のＴＰプログラムが含まれている。そして、ユーザは、２Ｄディスプレイスクリーンに投影された３Ｄ空間の一領域を選択すべく、カーソルを使用する。この一領域に、特定のＴＰプログラム経路が配置されている（または、配置されていると思われる）。例えば、車体の扉が適正に塗装されていない場合、ユーザは、２Ｄディスプレイスクリーンのビュー内に車体の扉を配置すべく、３Ｄ空間を操作する。そして、ユーザは、２Ｄディスプレイスクリーン上に投影され表示されている、車体の扉の問題となっている領域を「ゴムで束ねる（ｒｕｂｂｅｒ  ｂａｎｄｉｎｇ）」。選択された領域を「ゴムで束ねる」ことは、通常、２Ｄディスプレイスクリーン上で、長方形のボックスを描くことによって行われる。一旦、ある領域が２Ｄディスプレイスクリーン上で選択されると、ソフトウェア製品は、次いで、選択された領域内にあるＴＰプログラム経路の各々と関連付けられた既教示点の各々を識別および表示する。既教示点は、３Ｄ空間に配置されており、２Ｄスクリーンに投影する必要がある。複数の点をフィルタリングし、ユーザによって選択されたスクリーン領域内に配置されたこれらの点を選択するために、計算が実行される。
【０００７】
上述したように、選択された領域内のＴＰプログラムを含む既教示点の個数は、数百またはそれ以上の数となり得る。したがって、選択された領域内の既教示点の各々を識別および表示するのに要する時間は、非常に多くの演算を要することから、過多となってしまい得る。さらに、選択された領域内の既教示点の各々を表示することは、しばしば、互いに重なり合った（または極近接した）多くの既教示点を発生させてしまう。これにより。特定のＴＰプログラムまたは既教示点を識別することが、非常に困難なものとなってしまう。このように、教示点を表示するのに要する演算が過多となってしまうことによって、現行のソフトウェア製品は、一度に１つのＴＰプログラムを識別すること、または、選択されたロボットコントローラと関連付けられた複数のＴＰプログラムのみを識別することに、限定されていた。または、ユーザは、予測していなかった程の遅延を経験する可能性があり、これにより、過多な経費、時間の消費。および潜在的にはユーザのフラストレーションをもたらしてしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
それ故に、以下のようなユーザインターフェースを提供する、ロボットシミュレータによって生成された３Ｄ空間内でＴＰプログラムを選択するための方法を提供することが求められている。このユーザインターフェースは、２Ｄディスプレイスクリーンに投影された特定の領域を選択可能とし、２Ｄディスプレイスクリーン上にて選択された領域と関連付けられた複数のＴＰプログラムを、時間効率の良い方法で識別および選択し、且つ、ロボットアプリケーションと関連付けられた複数のロボットコントローラに割り当てられた複数のＴＰプログラムを識別および選択可能とする。
【課題を解決するための手段】
【０００９】
本開示に従って、ロボットシミュレータによって生成された３Ｄ空間内の特定のＴＰプログラムを選択するための、効果的且つコスト効率のよい方法が、驚くべきことに発見された。
【００１０】
一実施形態において、本発明に係る、少なくとも１つのＴＰプログラムを編集用に配置するための方法が開示される。この方法は、ワークセルと関連付けられた少なくとも１つのＴＰプログラムに従ってワークセルにおいて実行すべきロボットプロセスの３Ｄグラフィック表示を生成するステップと、３Ｄグラフィック表示に重ねられた２Ｄ選択領域を選択するステップと、２Ｄ選択領域と関連付けられた少なくとも１つの教示点プログラムを、ユーザに識別するステップと、２Ｄ選択領域と関連付けられた少なくとも１つの教示点プログラムの少なくとも一部をユーザが編集するのを許容するステップとを備える。
【００１１】
さらなる実施形態において、本発明に係る、ワークセルの３Ｄグラフィック表示内で少なくとも１つのＴＰプログラムを選択する方法が、開示される。この方法は、ワークセルと関連付けられた教示点プログラムの各々に関する３Ｄ境界ボックスを、予め計算するステップと、３Ｄ境界ボックスの各々を、ワークセルの３Ｄグラフィック表示に重ねられた対応する２Ｄ境界領域に変換するステップと、ワークセルの３Ｄグラフィック表示に重ねられた２Ｄ選択領域を選択するステップと、２Ｄ選択領域と重なり合う２Ｄ境界領域、および、２Ｄ選択領域の許容距離内にある２Ｄ境界領域のうちの少なくとも一方の各々を認識するステップと、２Ｄ選択領域と重なり合うものとして認識された対応する２Ｄ境界領域、および、２Ｄ選択領域の許容距離内にあるものとして認識された対応する２Ｄ境界領域のうちの少なくとも一方を含む教示点プログラムの各々を、ユーザに対して識別するステップとを備える。
【００１２】
本発明の、上述のおよび他の利点は、添付の図面を斟酌すれば、後述する好ましい実施形態の詳細な説明から、当業者に容易に明らかとなるであろう。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る、ワークセルの３Ｄグラフィック表示の斜視図であって、該ワークセルは、車体と、複数のロボットを含んでいる。
【図２】本発明の一実施形態に係るプロセスの全体を示すフローチャートである。
【図３】図１のワークセルの斜視図であって、該ワークセルは、関連付られたＴＰプログラムのために計算された境界ボックスの表示をさらに含んでいる。
【図４】図３のワークセルの斜視図であって、境界ボックスを、関連付けられたＴＰプログラム用の境界領域に変換した状態と、２Ｄディスプレイスクリーン上で選択領域を選択するためのプロセスを示している。
【図５】ワークセルの斜視図であって、ワークセルと関連付けられた複数のＴＰプログラムの識別およびリストを示す。
【発明を実施するための形態】
【００１４】
以下の詳細な説明、および添付の図面は、本発明の種々の例示的実施形態を説明し、図示している。これらの記載および図面は、本発明を作製し、使用することを可能とするためのものであって、如何なる事項であれ、本発明の範囲を限定することを意図するものではない。開示されている方法に関して、提示されているステップは、本質的に例示的なものであり、それ故に、これらステップの順序は、必須または重要ではない。
【００１５】
図１は、ワークセル５の３Ｄグラフィック表示を示す。ワークセル５は、車体１０と、複数のロボット２０とを含む。ワークセル５は、ロボットプロセスをシミュレーションするために用いられる３Ｄ空間内に配置されている。３Ｄ空間とは、３方向の直交軸を有する従来の直交座標系を参照して点の位置を定義可能な空間を言及している。すなわち、３Ｄ空間内に配置された参照点（原点）に対する３つの座標値によって、各点を定義することができる。
【００１６】
図１に示すロボット２０は、車体１０に対して塗装プロセスを実行するように構成されている。しかしながら、ワークセル５は、非限定的ではあるが、例えば塗装、溶接、把持と配置、組み立て、およびバリ取りといった作業を含む、如何なるロボットプロセスを実行するように構成されたロボット２０を含んでもよい。ワークセル５は、車体１０に対して行われるロボットプロセスに限定されるものではなく、車体１０の代わりに、アプリケーションに依って、様々な寸法、形状、および向きのワークピースを含んでもよい。さらには、ワークセル５のグラフィック表示は、ロボット２０の作業、または如何なるワークピースの配置に干渉し得る、如何なる周辺物（図示せず）のグラフィック表示を含んでもよい。
【００１７】
ワークセル５の３Ｄグラフィック表示は、ソフトウェアアプリケーションによって生成される。このソフトウェアアプリケーションは、作業場にて行われるロボットプロセスをシミュレーションするように構成されている。なお、本稿におけるワークセル５に対する如何なる言及は、特に、ワークセル５の３Ｄグラフィック表示に対するものであって、ソフトウェアアプリケーションによってシミュレーションされる、実際の物理的な作業場を言及するものではない。ソフトウェアアプリケーションは、ワークセル５内に含まれる如何なるワークピース、周辺物、およびロボットのサイズ、位置、および向きをシミュレーションする。ワークピース、周辺物、およびロボットの３Ｄグラフィック表示は、例えば、外部のＣＡＤシステムからソフトウェアアプリケーションへ取り込まれる。
【００１８】
さらに、ソフトウェアアプリケーションは、ワークセル５内に含まれる複数のロボット２０によって実行されるロボットプロセスをシミュレーションするように、構成される。ロボットプロセスに関するデータは、少なくとも１つの外部システムから、ソフトウェアアプリケーションへ取り込まれ得る。例えば、ソフトウェアアプリケーションは、作業場に配置された複数のロボットコントローラ（図示せず）のメモリからデータを取り込む。または、代替的には、ソフトウェアアプリケーションは、３Ｄグラフィック表示用のデータを収集および構成した他の外部メモリ資源から、データを取り込んでもよい。作業場は、複数のロボットコントローラによって制御されている複数のロボットをしばしば含むので、ソフトウェアアプリケーションは、複数のロボットコントローラからのデータを組み合わせて、ワークセル５内の複数のロボット２０によって実行される全てのプロセスをシミュレーションする。
【００１９】
ソフトウェアアプリケーションは、オフラインのソフトウェアアプリケーションである。すなわち、ソフトウェアアプリケーションは、実際のロボットコントローラおよびロボットが実際の作業場でロボットプロセスを実行している間に、該ロボットコントローラおよびロボットをリアルタイムで調整するために用いられるのではない。上述したように、ソフトウェアアプリケーションは、まず、ワークセル５をシミュレーションすることに関する全てのデータを外部の記憶装置から取り込むように構成され得る。この外部の記憶装置としては、ロボットコントローラのメモリ、および、他のソフトウェアによって使用される如何なる形態のデータ記憶装置が含まれる。該他のソフトウェアは、上記ソフトウェアアプリケーションと協働で動作し得る。関連のデータを取り込むことは、ソフトウェアアプリケーションと関連付けられたプロセッサによって演算されるデータ量を低減することにより、ソフトウェアアプリケーションの動作を容易とし得る。この特徴によって、多くの形態のシミュレーションを予め演算することが可能となる。これにより、ソフトウェアアプリケーションと関連付けられた所定の演算を行うために要する時間を、大幅に低減することができる。
【００２０】
図１に示すワークセル５の３Ｄグラフィック表示は、ソフトウェアアプリケーションと関連付けられた２Ｄディスプレイスクリーンを用いて、ユーザに表示される。したがって、２Ｄディスプレイスクリーンは、ワークセル５が３Ｄ空間内の異なる位置および方向から視認されたときにワークセル５内に含まれる如何なる物体の２Ｄ投影画像または画像を表示する。２Ｄディスプレイスクリーンに表示されている点の位置は、２方向の直交軸を有する従来の直交座標系を参照して、定義され得る。すなわち、２Ｄディスプレイスクリーンに表示されている各点の位置は、２Ｄディスプレイスクリーン上に配置された参照点（原点）に対する２つの座標値を用いて、定義され得る。
【００２１】
ソフトウェアアプリケーションは、ユーザインターフェース（ＵＩ）を有し得る。ユーザインターフェース（ＵＩ）は、ワークセル５を視認する位置および角度をユーザが調整可能とするために、構成される。これにより、２Ｄディスプレイスクリーンに、ワークセル５の異なる対応の画像を表示させることができる。ＵＩは、２次元でビューをスクロールさせ、回転させ、または、拡大もしくは縮小させる能力を有する。２Ｄディスプレイスクリーン上に表示されたビューは、ワークセル５の「カメラビュー」として言及され得る。
【００２２】
少なくとも１つのロボット２０を制御するために用いられるロボットコントローラの各々は、多くの異なった教示点（ＴＰ）プログラムを有しており、該ＴＰプログラムは、ロボットコントローラの（または、該ロボットコントローラと関連付けられた）メモリに格納されている。ＴＰプログラムの各々は、特定のタスクを実行するようにロボットに命令する動作プログラムである。例えば、ＴＰプログラムは、ロボットアームに配置された末端効果工具（図示せず）に命令し、特定の移動経路を辿らせる一方で、塗装、溶接、ワークの把持といった、追加の機能をいつ実行すべきかを、末端効果工具（図示せず）に命令する。したがって、ソフトウェアアプリケーションは、３Ｄ空間におけるＴＰプログラムの各々を、３Ｄ経路２５のように表示し得る。この３Ｄ経路２５は、ロボット２０がロボットプロセスを実行するときの、対応するロボット２０の特定の部分の位置および／または向きを示している。３Ｄ経路２５は、複数のノード２６を含み得る。ノード２６は、一般的に既教示点として言及され、３Ｄ経路２５に沿った様々な点に配置されている。各ノード２６は、３Ｄ経路２５に沿う重要点を表示してもよい。この重要点は、例えば、ロボット２０が移動コースを変更させられる点である。したがって、各ノード２６は、３つの座標値を用いて参照点に対する３Ｄ空間の位置を参照するデータを含み得る。本稿において、ワークセル５の３Ｄ空間内に生成されるＴＰプログラムに関する言及は、ワークセル５内におけるＴＰプログラムを表す３Ｄ経路２５およびノード２６に対するものである。
【００２３】
図１に示す塗装プロセスのような多くのロボットプロセスにおいて、ロボットプロセスは、複数のコントローラで動作する複数のＴＰプログラムの実行を含む。さらに、ＴＰプログラムの各々は、該ＴＰプログラムの各々と関連付けられた３Ｄ経路２５を定義する複数のノード２６を含む。このように、ソフトウェアアプリケーションによって生成される、複数のＴＰプログラムの３Ｄグラフィック表示は、多くの３Ｄ経路２５およびノード２６を含み得る。これら３Ｄ経路２５およびノード２６は、互いに近接しつつ離間しているか、または重なり合っている。このような状態は、１つの３Ｄ経路２５またはノード２６をディスプレイから選択することを、ソフトウェアアプリケーションのユーザにとって困難なものとする。したがって、本発明の目的は、ワークセル５と関連付けられた複数のＴＰプログラムの中から編集するために、所望のＴＰプログラムを容易に選択する方法を提供することである。
【００２４】
図２は、ワークセル５の３Ｄグラフィック表示の中から所望のＴＰプログラムを選択するための複数のステップを示している。本発明に係る方法は、ワークセル５において実行すべきロボットプロセスの３Ｄグラフィック表示を生成するステップ１００を備える。生成するステップ１００は、ワークセル５内の全ての３Ｄオブジェクトと、ワークセル５内で実行すべきロボットプロセスと関連付けられたＴＰプログラムの各々の経路とを生成することを含む。生成するステップ１００は、どのロボットコントローラが各ＴＰプログラムと関連付けられているかに関わらず、ワークセル５と関連付けられた全てのＴＰプログラムに適用されてもよい。また、生成するステップ１００は、２Ｄ画像を生成することを含んでもよい。この２Ｄ画像は、ソフトウェアアプリケーションのユーザが視認可能な３Ｄ空間の２Ｄディスプレイスクリーンへの投影画を示す。生成するステップ１００は、必要となる全ての外部メモリ資源から、３Ｄグラフィック表示を生成するのに要する全てのデータを取り込むことをさらに含む。
【００２５】
また、本発明に係る方法は、図３に示すように、ワークセル５と関連付けられたＴＰプログラムの各々に係る境界ボックス３０を計算するステップ１１０を備える。境界ボックス３０の各々は、３Ｄ空間内の３次元体積を表しており、ＴＰプログラムと関連付けられた全てのノード２６を完全に取り囲む。境界ボックス３０は、このＴＰプログラムのために計算される。境界ボックス３０は、まず、ＴＰプログラムと関連付けられた各ノード２６の、参照点に対する３Ｄ座標を特定することによって、計算される。各ノード２６に関する座標値は、「ｘ」値、「ｙ」値、および「ｚ」値を有するものとして表され得る。これら値は、（ｘ，ｙ，ｚ）の形式で表され得る。次に、ＴＰプログラムと関連付けられた特定済みの全てのノード２６の「ｘ」値、「ｙ」値、および「ｚ」値の各々の最小値と最大値が、決定される。これらの決定値を用いて、２つの点ＰｍｉｎおよびＰｍａｘが、それぞれ、（ｘｍｉｎ，ｙｍｉｎ，ｚｍｉｎ）および（ｘｍａｘ，ｙｍａｘ，ｚｍａｘ）の座標を有するものとして識別され得る。図３に示すように、点ＰｍｉｎおよびＰｍａｘは、互いに反対側となる、境界ボックス３０の２つの角を表している。境界ボックス３０の他の６つの角の座標は、点ＰｍｉｎおよびＰｍａｘの座標から決定され得る。これら６つの座標は、（ｘｍａｘ，ｙｍｉｎ，ｚｍｉｎ）、（ｘｍａｘ，ｙｍａｘ，ｚｍｉｎ）、（ｘｍｉｎ，ｙｍａｘ，ｚｍｉｎ）、（ｘｍｉｎ，ｙｍａｘ，ｚｍａｘ）、（ｘｍｉｎ，ｙｍｉｎ，ｚｍａｘ）、および（ｘｍａｘ，ｙｍｉｎ，ｚｍａｘ）として表され得る。したがって、境界ボックス３０の８つの角が決定され、ＴＰプログラム（このＴＰプログラム用に境界ボックス３０が計算されている）と関連付けられた各ノード２６は、境界ボックス３０の内部（または、境界ボックス３０の外面上）に配置される。
【００２６】
この方法は、計算された境界ボックス３０の各々を、ソフトウェアアプリケーションと関連付けられたメモリまたは記憶装置（図示せず）に記録するステップ１２０をさらに備える。記録するステップ１２０は、ソフトウェアアプリケーションの使用の間に、関連付けられたＴＰプログラムの各々に関する境界ボックス３０を、ソフトウェアアプリケーションが継続して再計算する必要性を避ける。例えば、３Ｄ空間を視認する位置をユーザが変更する度に、予め計算され記録された境界ボックス３０は、新たな視認位置に従って３Ｄ空間にて再計算される必要はない。
【００２７】
この方法は、３Ｄの境界ボックス３０の各々を、２Ｄの境界領域４０に変換するステップ１３０をさらに備える。３Ｄ空間内の境界ボックス３０の各々は、３Ｄオブジェクトの２Ｄ投影画として、２Ｄディスプレイスクリーン上に表示され得る。境界ボックス３０の３Ｄ表示は、平行６面体、または、６つの異なる平面を有する立方体となるが、２Ｄ投影画は、図４に示すように、６つの異なる辺を有する６角形として、２Ｄディスプレイスクリーン上に示される。異なる６辺によって区切られた領域は、変換された境界領域４０を表す。境界領域４０は、３Ｄ境界ボックス３０を視認する角度に依って、４辺の長方形としても示され得る。境界領域４０は、２Ｄディスプレイスクリーン上にて２次元として示されるので、境界領域４０は、参照点（原点）に対して２Ｄの座標を有する複数の点から構成される。したがって、境界領域４０を含むそれぞれの点の座標値は、「ｘ」値、および「ｙ」値を有するものとして表される。これら値は、（ｘ，ｙ）の形式で表され得る。境界領域４０は、図４に視覚的に示されているが、ソフトウェアアプリケーションの通常の動作の間には、境界領域４０は、ユーザがＵＩを用いてワークセル５を操作しているときに、２Ｄディスプレイスクリーンにてユーザに対して示されることはない。
【００２８】
３Ｄワークセル５を視認する位置をユーザが変更する度に、変換するステップ１３０が行われ得る。換言すれば、ユーザが異なる位置から３Ｄワークセル５を視認する（カメラビューを変更する）とき、３Ｄ境界ボックス３０の外側端の２Ｄ投影画は、連続的に変化する。したがって、変換するステップ１３０は、好ましくは、３Ｄワークセル５を視認する位置をユーザが変更する度に、実行される。
【００２９】
ワークセル５の３Ｄ空間からＴＰプログラムを選択するために、本発明に係る方法は、２Ｄディスプレイスクリーンから、２Ｄの選択領域５０を選択するステップ１４０を備える。選択領域５０は、上述した境界領域４０と類似の方法で、ワークセル５の３Ｄグラフィック表示の上に重ねられた２Ｄ領域である。図４に示すように、選択するステップ１４０は、ユーザによって選択された領域の周りにユーザが選択境界６０を描くことによって、実行され得る。選択境界６０は、図示のように２Ｄディスプレイスクリーン上にて２次元で描かれるので、参照点（原点）に対して２Ｄの座標を有する複数の点から形成される。なお、この参照点は、境界領域４０を含む点の座標を決定するときに用いられた参照点と同じであることが好ましい。選択境界６０を含む各点の座標値は、「ｘ」値、および「ｙ」値を有するものとして表され、これら値は、（ｘ，ｙ）の形式で表され得る。
【００３０】
次いで、選択境界６０は、選択領域５０に変換される。選択境界６０を選択領域５０に変換することは、まず、選択境界６０を含む各点の２Ｄ座標を特定することによって、行われる。次に、選択境界６０を含む特定済みの全ての点の「ｘ」値および「ｙ」値の各々の最小値と最大値が、決定される。これらの決定値を用いて、２つの点ＡｍｉｎおよびＡｍａｘが、それぞれ、（ｘｍｉｎ，ｙｍｉｎ）および（ｘｍａｘ，ｙｍａｘ）の座標を有するものとして、識別され得る。図５に示すように、点ＡｍｉｎおよびＡｍａｘは、長方形の対角を表している。これら２つの点の座標を用いて、長方形の角を形成する他の２点を、（ｘｍｉｎ，ｙｍａｘ）および（ｘｍａｘ，ｙｍｉｎ）の座標を有するものとして決定することができる。このように、選択領域５０は、これら４つの頂点により形成される長方形によって囲まれる領域である。
【００３１】
選択境界６０を描くことは、ソフトウェアアプリケーションのユーザに対して提供される、該ソフトウェアアプリケーションと関連付けられた２Ｄディスプレイスクリーンにおけるカーソルを用いて、行われ得る。しかしながら、選択境界６０を描くための他の公知方法を用いてもよい。このような公知方法は、例えば、タッチスクリーンが用いられている場合は、ユーザによる接触操作を用いて選択境界６０を描くことを含む。
【００３２】
一旦、選択領域５０が選択されると、本発明に係る方法は、選択領域５０と重なり合っているか、または、選択領域５０から予め定められた許容距離以内にある各ＴＰプログラムと関連付けられた境界領域４０の各々を認識するステップ１５０をさらに備える。認識するステップ１５０は、２Ｄ座標の各々が同じ参照点（原点）に対して参照されている場合、選択領域５０と関連付けられた各点の２Ｄ座標と、境界領域４０と関連付けられた各点の２Ｄ座標とを比較することによって、実行される。選択領域５０および境界領域４０が少なくとも１つの共通の点を共有している場合、選択領域５０および境界領域４０は、互いに重なり合っているものとみなされ得る。
【００３３】
認識するステップ１５０は、選択領域５０内に境界領域４０の少なくとも一部が含まれている境界領域４０（すなわち、選択領域５０の少なくとも１つの点が、境界領域４０の少なくとも１つの点と重なり合っている）を認識するように、構成され得る。図４は、このような状況を示している。すなわち、図４においては、境界領域４０の一部のみが、選択領域５０と重なっている。代替的には、認識するステップ１５０は、選択領域５０内にその全体が含まれている境界領域４０（すなわち、境界領域４０の全ての点が、選択領域５０と共有されている）のみを認識するように構成されてもよい。また、認識するステップ１５０は、選択領域５０の外側境界に対して所定の許容距離内にある境界領域４０を認識してもよい。境界領域４０が、選択領域５０と重なり合っていない、または、選択領域５０の許容距離内にないものと認識された場合、本発明に係る方法は、２Ｄディスプレイスクリーン上に示される、選択領域５０に最も近接して配置された境界領域４０を認識してもよい。この２Ｄディスプレイスクリーン上において、境界領域４０および選択領域５０の各々が投影されている。さらに、上述したように、認識されている１以上の境界領域４０は、認識されている他の境界領域４０よりも、異なるロボットコントローラと関連付けられてもよい。このように、選択するステップ１４０および認識するステップ１５０は、異なるロボットコントローラと関連付けられた、複数の特定のＴＰプログラムの選択を可能とする。
【００３４】
本発明に係る方法は、選択領域５０と重なっているか、または、選択領域５０から予め定められた許容距離内にあるものとして認識された境界領域４０と関連付けられたＴＰプログラムの各々を識別するステップ１６０をさらに備える。後述のように、「識別する」との語は、識別されたＴＰプログラムの各々を、ソフトウェアアプリケーションのユーザに対して視覚的に表示するソフトウェアアプリケーションを言及している。選択領域５０と重なり合っている（または、予め定められた許容距離内にある）ものとして認識された境界領域４０と関連付けられたＴＰプログラムの各々は、選択領域５０の中心に最も近い識別されたＴＰプログラムの各々と関連付けられた１つのノード２６を表示することによって、ユーザに対して表示され得る。代替的には、識別するステップ１６０は、識別されたＴＰプログラムの各々と全体として関連付けられた３Ｄ経路２５を表示することを含んでもよい。
【００３５】
候補となる複数のＴＰプログラム（複数のロボットコントローラで動作し得る）が認識および識別された場合、本発明に係る方法は、図５に示すようにダイアログボックス７０をユーザに提示するステップ１７０をさらに備える。好ましくは、ダイアログボックス７０は、ＴＰプログラムと関連付けられているロボットコントローラが何れであるかに関わらず、選択領域５０と重複しているものとして認識および識別された全てのＴＰプログラムをリストアップする。好ましくは、ダイアログボックス７０は、リストアップされたＴＰプログラムのうちの１つをユーザがリストから選択するのを可能とする特徴を有してもよい。これにより、選択されたＴＰプログラムに関連する動作をさらに実行することができる。提示するステップ１７０は、ダイアログボックス７０に示されたリストからユーザによって選択されたＴＰプログラムのグラフィック表示のみを表示するように構成され得る。図５に示すように、「ＴＰプログラム２」として示されているＴＰプログラムが現在選択されており、「ＴＰプログラム２」のみが、３Ｄ経路２５およびノード２６の形式で表示されている。選択されたＴＰプログラムのグラフィック表示を表示しているとき、選択されたＴＰプログラムを取り囲む境界ボックス３０も、ＴＰプログラムと同時にユーザに対して表示されてもよい。さらに、ダイアログボックス７０に示された、選択されていないＴＰプログラムのために生成された境界ボックス３０は、空の境界ボックス３０の形式としてユーザに対して表示されてもよい。すなわち、図５に示すように、例えば「ＴＰプログラム１」および「ＴＰプログラム３」に関しては、各境界ボックス３０に対応するＴＰプログラムは、視覚的に表示されない。
【００３６】
複数のＴＰプログラムが認識および識別され、ダイアログボックス７０がユーザに提示された場合、本発明に係る方法は、ダイアログボックス７０に関連付けられたＴＰプログラムのリストを、メモリ資源またはメモリ装置（図示せず）に記録するステップ１８０をさらに備える。ＴＰプログラムのリストを記録するステップ１８０は、ダイアログボックス７０によって提示されたリストから編集するためにユーザが他のＴＰプログラムを選択するのを希望した場合に、ユーザが選択領域５０内のＴＰプログラムを再度参照することを容易とする。
【００３７】
一旦、選択領域５０内（または選択領域５０の近く）の全てのＴＰプログラムがユーザに対して識別されると、ユーザは、これらＴＰプログラムのうちの１つを選択する。一旦選択されると、本発明に係る方法は、選択されたＴＰプログラムの少なくとも一部をユーザが編集するのを許容するステップ１９０をさらに備える。このステップ１９０は、選択されたＴＰプログラムと関連付けられた如何なるノード２６をユーザが編集するのを許容することを含む。例えば、ユーザの編集は、ワークセル５の３Ｄ空間内のＴＰプログラムまたは関連するノード２６の位置をシフトすることを含んでもよい。したがって、ユーザの編集は、ワークセル５内に含まれる参照点（原点）に基づいて、再配置されているノード２６を、３Ｄ直交座標空間の新たな位置に割り当てることを含んでもよい。
【００３８】
ＴＰプログラム、またはＴＰプログラムと関連付けられたノード２６の位置をシフト（または変更）することをユーザが選択した場合、本発明に係る方法は、再配置された各ノード２６に関する調整ベクトルを計算するステップ２００をさらに備え得る。調整ベクトルは、３Ｄ直交座標空間にてシフトされたノード２６の位置の変化の大きさおよび方向を示す。ＴＰプログラムの各々は、複数のノード２６から構成されているので、ＴＰプログラム全体の再配置は、ＴＰプログラムと関連付けられた各ノード２６の再配置を含む。よって、調整ベクトルは、ＴＰプログラムと関連付けられた各ノード２６に関して計算される。調整ベクトルを計算することによって、計算するステップ１１０、記録するステップ１２０、および変換するステップ１３０を実行するのに要する時間を低減することができる。何故ならば、ノード２６の再配置の前に、ソフトウェアアプリケーションは、好ましくは、各ＴＰプログラムに関して境界ボックス３０および境界領域４０を、既に計算しているからである。ここで、境界ボックス３０および境界領域４０の双方は、ソフトウェアアプリケーションと関連付けられたメモリに記録されている。ノード２６が再配置されたとき、ソフトウェアアプリケーションは、好ましくは、ワークセル５と関連付けられた各ＴＰプログラムに係る境界ボックス３０および境界領域４０を再計算するのではなく、ノード２６と関連付けられたＴＰプログラムに係る境界ボックス３０、故に境界領域４０のみを再計算するように構成される。
【００３９】
一旦、調整ベクトルの各々が計算されると、本発明に係る方法は、計算された調整ベクトルの各々を、再配置されている対応のノード２６の各々に適用するステップ２１０をさらに備える。ワークセル５内でＴＰプログラムに関連付けられているノード２６の各々は、一連の３Ｄ座標（ｘ，ｙ，ｚ）を割り当てられるので、調整ベクトルを適用するステップ２１０は、再配置されたノード２６の各々に関して計算された調整ベクトルに基づいて、座標値を、再配置されたノード２６の各々に再度割り当てることを含む。適用するステップ２１０は、ＴＰプログラムと関連付けられた境界ボックス３０の各々を再計算することを含んでもよい。なお、再配置されたノード２６は、このＴＰプログラムと関連付けられている。各境界ボックス３０の計算は、再配置されたノード２６の各々に対して再割り当てされた座標を用いて、行われる。したがって、適用するステップ２１０は、再計算された境界ボックス３０の各々と関連付けられた境界領域４０の各々を再計算することも含んでもよい。適用するステップ２１０は、ワークセル５内にて実行すべきロボットプロセスの３Ｄグラフィック表示を生成することをさらに含んでもよい。一旦、適用するステップ２１０が完了すると、ユーザは、ＴＰプログラムと関連付けられた少なくともノード２６の再配置に続く、再計算された境界ボックス３０および境界領域４０に基づいて、他の選択領域５０を選択し得る。
【００４０】
特許法の規定に従って、本発明を、その好ましい実施形態を示すものと考えられる事項において説明した。しかしながら、本発明の概念または範囲を逸脱することなく、特に図示および記載されたもの以外の形態で、本発明を実施することができることに留意されたい。
【図１】
2014097569.tif 000003
【図２】
2014097569.tif 000004
【図３】
2014097569.tif 000005
【図４】
2014097569.tif 000006
【図５】
2014097569.tif 000007
【外国語明細書】
2014097569000001.pdf