(57)【要約】  ディストリビュータおよびコンピュータシステム構築業者が、エンドユーザで成功裏に作動する周辺機器を提示し得る産業用ロボットをプログラミングするための方法が提供される。同様に、開発者は、エンドユーザのためのカスタマイズされたインストール画面およびプログラムノードを定義し得る。ソフトウェアプラットフォームであって、開発者が、エンドユーザのためのカスタマイズされたインストール画面およびプログラムノードを定義することができ、それにより、ロボットシステムにおいて利用可能なソフトウェアプラットフォームを引き続き使用することにより、カスタマイズされた機能性を有する既存のロボットシステムを拡張するソフトウェアプラットフォームが提供される。これにより、ロボット開発者は、エンドユーザのためのカスタマイズされたインストール画面およびプログラムノードを定義し得る。これらは、例えば、複雑な新たなロボットプログラミング概念をカプセル化することができるか、または、使い易いハードウェア構成インターフェイスを提供できる。
2018529140.tif 000002
【特許請求の範囲】
【請求項１】
サードパーティハードウェアおよび／またはソフトウェアコンポーネントを備えた産業用ロボットをエンドユーザがプログラミングするための方法であって、
−  前記ロボットをプログラミングするとともにサードパーティソフトウェアをインストールするためのグラフィカルユーザインターフェイス（ＧＵＩ）を有する産業用ロボットを提供するステップであって、前記ＧＵＩには、
・  インストールタブであって、前記ロボットのインストールが指定され、前記インストールタブが、前記ロボットに搭載されたサードパーティハードウェアなどのハードウェアのためのパラメータのセットアップを可能にするように構成されたインストールタブと、
・  プログラムタブであって、前記ロボットのプログラムが指定され、前記プログラムタブが、前記ハードウェアにより実行されるステップのセットアップを可能にするように構成されたプログラムタブと
が備えられたステップと、
−  ＧＵＩ要素を前記インストールタブおよび／または前記プログラムタブへ加える専用のファイル形式に基づき、前記サードパーティソフトウェアをインストールするステップと、
−  任意選択的に、ＧＵＩ要素を含む前記ソフトウェアコンポーネントに基づき、ツールなどのサードパーティハードウェアをインストールするステップと
を含む方法。
【請求項２】
前記ロボットの周囲における物体に関連して１つまたは複数の幾何学的特徴を定義するために、予めプログラミングされたロボットコードを含む所定の位置のセットをメモリ位置に保存するステップと、
前記幾何学的特徴とロボット関連座標系の第１座標との間の関係を確立するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
グラフィカルディスプレイデバイス上に前記ＧＵＩを一体化するステップと、
前記所定の位置についての情報を表示するステップと、
ユーザが、前記所定の位置の１つまたは複数を選択すること、および前記ロボットが前記選択された位置を訪れるべき順序を指定することを可能にするステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記所定の位置のいずれを前記ユーザが選択したかについて、および前記ロボットが前記選択されたワークステーションを訪れるべき前記順序についての情報を受信するステップと、
前記所定の位置、ならびに前記選択された位置および前記ロボットが前記選択された位置を訪れるべき前記順序についての前記受信および保存された情報に基づきワークサイクルを実行するためのロボットプログラムを生成するステップと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記ロボットは、前記追加されたＧＵＩ要素が使用する前記ロボットコントローラの機能性を拡張するために、サードパーティデーモン、サーバーおよび他のプログラムが前記ロボットコントローラにインストールされることを可能にする拡張可能な作動システムを有する、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記サードパーティハードウェアは電気機械把持部であり、
ＧＵＩ要素を含む前記ソフトウェアコンポーネントが前記インストールタブにおいて選択され、それにより、前記エンドユーザが、前記把持部の電源および通信インターフェイスがどのように接続されるべきか視覚的に知らされ、その後、前記把持部が起動するとともに前記プログラムタブの把持部ＧＵＩ要素との通信を始め、それにより前記物理的把持部を検出し、
前記グラフィカルディスプレイデバイスは、前記エンドユーザが前記把持部の最大閉鎖力など１つまたは複数の物理的パラメータを構成することを可能にする構成インターフェイスを示し、
前記方法は、対応するプログラムノードにより前記ロボットにより実行されるタスクをプログラミングする前記プログラムタブに進むと、前記エンドユーザにより完了される、請求項３〜５のいずれか一項に記載の方法。
【請求項７】
前記サードパーティハードウェアは視覚システムであり、
ＧＵＩ要素を含む前記ソフトウェアコンポーネントが前記インストールタブにおいて選択され、それにより、前記エンドユーザが、前記視覚システムが前記ロボットにどのように接続されるべきか、カメラ座標がロボット座標にどのように関連するか、およびどの部分を前記視覚システムにおいて特定するのかを視覚的に知らされ、
前記ソフトウェアコンポーネントは、任意選択的に、前記プログラムタブのＧＵＩ要素を含み、それにより前記ロボットのプログラマーが、特定された部分へ移動することを可能にし、
前記生成されたプログラムが視覚システム座標からロボット座標への数学的変換を自動的に含み、それにより、視覚誘導ロボット工学に固有のこの複雑さを理解するとともに取り扱うという前記プログラマーの要件を除去する、請求項１〜５のいずれか一項に記載の方法。
【請求項８】
前記サードパーティハードウェアは他の産業用装置へのインターフェイスであり、
前記インストールタブへ追加された前記サードパーティ要素が、前記ロボットを前記特定の他の装置へ接続することについての情報を保持するのと同時に、前記プログラミングタブにおける機能を、前記サードパーティ装置における特定の事象または機能をトリガすることを含むように拡張する、請求項１〜５のいずれか一項に記載の方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法を実行するためのソフトウェアが備えられたプログラム可能なロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットをプログラミングするための方法に関する。より具体的には、本発明は、産業用ロボットをプログラミングするための方法であって、ディストリビュータおよびコンピュータシステム構築業者が、エンドユーザで成功裏に作動する周辺機器を提供し得る方法に関する。同様に、開発者は、エンドユーザのためにカスタマイズされたインストール画面およびプログラムノードを定義し得る。本発明は、ソフトウェアプラットフォームであって、開発者がエンドユーザのためのカスタマイズされたインストール画面およびプログラムノードを定義し得るソフトウェアプラットフォームを提供する。
【背景技術】
【０００２】
産業用ロボットは、特定のタスクのために作動させられる前に、当該タスクを実行するようにプログラミングされなければならない。異なるロボット供給業者由来の様々なロボットプログラミング言語が利用可能である。ロボットプログラムは、ロボットプログラミング言語で書かれた一連のロボット命令を含む。
【０００３】
産業用ロボットを購入する顧客は、一般に、ロボットの周囲における様々な物体および境界、例えば機械、物体または未加工材、治具、コンベヤ、パレットまたは視覚システムに関連して、ロボットを制御または操作可能であること、およびロボットをプログラミングすることを望む。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
エンドユーザは、サードパーティハードウェア（例えば把持部などのツール）およびまた産業用ロボットシステムに一体化されることになる付随するサードパーティソフトウェアをインストールおよびプログラミングする場合に、困難に直面することもあり得る。
【０００５】
産業用ロボットは、多くの異なる産業用用途において幅広い種類の作業のために使用される、高度にフレキシブルなデバイスである。産業用ロボットは従来、従来のコンピュータプログラミング言語と極めて似ているロボットプログラミング言語によりプログラミングされている。ロボットプログラムは、一連のプログラム命令を含み、各命令がロボット制御ユニットに何をすべきか、およびそれをどのようにすべきか教える。ロボットは、複数の標的点を含む経路に従うようにプログラミングされる。ロボットプログラムは標的点の位置を含む。ロボットのプログラミングは時間のかかるプロセスであり、プログラミングおよび教示プロセス中にロボットを使用する従来の方法は、製造装置を拘束するとともに製造の開始を遅らせる。
【０００６】
ロボットシステムにおいて利用可能なソフトウェアプラットフォームを引き続き使用することにより、カスタマイズされた機能性を有する既存のロボットシステムを拡張する方法が必要とされている。これによりロボット開発者は、エンドユーザのためのカスタマイズされたインストール画面およびプログラムノードを定義し得る。これらは、例えば、複雑な新たなロボットプログラミング概念をカプセル化することができるか、または、使い易いハードウェア構成インターフェイスを提供できる。
【課題を解決するための手段】
【０００７】
上記および他の目的および利点は、サードパーティツールが備わっているサードパーティプラグインでプログラミングされ得るという固有の特徴を有するプログラム可能なロボットの提供により得られる。
【０００８】
したがって、本発明の第１態様によると、サードパーティハードウェアおよびソフトウェアを備えた産業用ロボットをプログラミングする方法であって、この方法が、
−  ロボットをプログラミングするとともにサードパーティソフトウェアをインストールするためのユーザグラフィカルインターフェイス（ＧＵＩ）を有する産業用ロボットを提供するステップであって、前記ＧＵＩが、ｉ）インストールタブであって、ロボットのインストールが指定され、前記インストールタブが、ロボットに搭載されたサードパーティハードウェアのためのパラメータのセットアップを可能にするように構成されたインストールタブと、ｉｉ）プログラムタブであって、ロボットのプログラムが指定され、前記プログラムタブが、ハードウェアにより実行されるステップのセットアップを可能にするように構成されたプログラムタブを含む、ステップと、
−  ＧＵＩ要素をインストールタブおよびプログラムタブへ加える専用のファイル形式に基づき、サードパーティソフトウェアをインストールするステップと、
−  ＧＵＩ要素を含む前記ソフトウェアコンポーネントに基づき、ツールなどのサードパーティハードウェアをインストールするステップと
を含む方法が提供される。
【０００９】
本方法は、以下のステップ、すなわち、
−  ロボットの周囲における物体に関連して１つまたは複数の幾何学的特徴を定義するために、予めプログラミングされたロボットコードを含む所定の位置のセットをメモリ位置に保存するステップと、前記幾何学的特徴とロボット関連座標系の第１座標との間の関係を確立するステップと、
−  グラフィカルディスプレイデバイス上にＧＵＩを一体化するステップと、所定の位置についての情報を表示するステップと、ユーザが、所定の位置の１つまたは複数を選択すること、およびロボットが選択された位置を訪れるべき順序を指定することを可能にするステップと、
−  所定の位置のどれをユーザが選択したか、およびロボットが選択されたワークステーションを訪れるべき順序についての情報を受信するステップと、前記所定の位置、ならびに選択された位置およびロボットが選択された位置を訪れるべき順序についての前記受信および保存された情報に基づき、ワークサイクルを実行するためのロボットプログラムを生成するステップと
の１つまたは複数をさらに含み得る。
【００１０】
本発明のさらなる態様によると、本目的は、コンピュータまたはプロセッサの内部メモリ内に直接ロード可能なコンピュータプログラムであって、前記プログラムがコンピュータで作動されたときに本発明による方法のステップを実行するためのソフトウェアコード部分を含む、コンピュータプログラムにより達成される。コンピュータプログラムは、コンピュータ可読媒体上にまたはネットワークを通じてのいずれかで提供される。
【００１１】
本発明の別の態様によると、本目的は、プログラムが記録されたコンピュータ可読媒体により達成され、このとき当該プログラムはコンピュータに本発明による方法のステップを実行させるものであり、前記プログラムはコンピュータで作動される。
【００１２】
本発明によると、予めプログラミングされたロボットコードを含む所定のワークステーションのセットが、メモリ位置に保存される。ユーザは、ワークステーションの所定のセットから１つまたは複数のワークステーションを選択し、ロボットが選択されたワークステーションを訪れるべき順序を指定することにより、ロボットプログラムを作り出す。これは、オペレータが、実際のロボットセルの構成を反映するグラフィカル表示を作り出すことを可能にする。
【００１３】
ワークステーションはロボットが作業を実行し得る物理的位置である。各所定のワークステーションは実際のワークステーションおよび当該ワークステーションでロボットにより実行される定義されたタスクを表す。予めプログラミングされたロボットコードは、ロボットがワークステーションで定義されたタスクを実施するように、ロボットを制御するために特別に設計される。ワークステーションの例は、射出成形機械、ダイカスト機械、不合格の物体を廃棄するためのスクラップステーション、物体の視覚制御のためのデバイス、後続の物体処理のための１つまたは複数のステーション、およびコンベヤなどの出力ステーションである。タスクの例は、成形された物体を型から取り出す、物体を廃棄物バスケットへ投げる、視覚制御の間物体を保持する、物体を処理ツールに対して所定の方法で動かす、他の物体を備えた組立体の中に物体を置く、物体をコンベヤ上に置く、である。後続の処理は、例えば、火炎殺菌、デバリング、デイゲート（ｄｅｇａｔｅ）、分注、研磨、研削または塗装である。
【００１４】
ロボットプログラムを作り出す間、ユーザは１つまたは複数のグラフィカルインターフェイスと相互作用する。本文脈において、グラフィカルインターフェイスは、ユーザとの相互作用のために適合されるとともにディスプレイデバイスに表わされた表示または表示の一部として定義される。グラフィカルインターフェイスは、テキストおよびシンボルの形の情報、およびユーザに対する選択肢を表示するように、ならびにユーザにより入力された命令、データおよび選択を受信するために、適合されている。
【００１５】
所定のロボットプログラムコードを含む保存された、所定のワークステーション、ならびに、ユーザインターフェイスを介してユーザにより入力された、選択されたワークステーションおよびロボットが選択されたワークステーションを訪れるべき順序についての情報に基づき、ロボットプログラムは生成される。プログラミングコードはユーザから隠され、ユーザは、１つまたは複数のグラフィカルインターフェイスと相互作用することによりロボットプログラムを作り出す。したがって、本発明は、ユーザが、いずれのプログラミングコードも使用せずにロボットプログラムを作り出すことを可能にする。本発明は、ロボットをプログラミングするための容易かつ教育的な方法を提供し、ロボット言語についての知識を何ら必要としない。本発明が備えられたソフトウェアプラットフォームに基づき、サードパーティワークステーションをロボットセルに対して追加および除去することに関連して、ユーザがロボットを再プログラミングすることは容易である。本発明により得られるさらなる利点は、ユーザが、５つのまたは６つの軸を備えた高度なロボットをプログラミングすることが、３つの軸のみを備えた単純な線形ロボットをプログラミングするのとちょうど同程度に容易であることが分かるということである。産業用ロボットという用語は、直線的に可動な操縦機および回転移動軸を含むロボットを指す。本発明は、１つまたは複数のワークステーションを訪れてそこで作業を実行することを含む．任意の用途のための産業用操縦機またはロボットをプログラミングするために有用である。
【図面の簡単な説明】
【００１６】
【図１】ロボットシステム、およびサードパーティにより供給された、このシステムへの追加部分が提供された、ソフトウェアおよびハードウェアコンポーネントの間の関係のダイアグラムを示す。
【発明を実施するための形態】
【００１７】
本発明は図１に示された原理の説明により、ここでより詳細に説明される。具体的には、図は、サードパーティハードウェアおよびソフトウェアを備えた産業用ロボットのプログラミングがどのように実行されるかを示す。ロボットをプログラミングするためのユーザグラフィカルインターフェイス（ＧＵＩ）を備えた産業用ロボットが提供される。サードパーティソフトウェアのインストールが実行されるのは、ＧＵＩが、インストールタブであって、ロボットのインストールが指定され、前記インストールタブが、ロボットに搭載されたサードパーティハードウェアのためのパラメータのセットアップを可能にするように構成された、インストールタブと、プログラムタブであって、ロボットのプログラムが指定され、前記プログラムタブが、ハードウェアにより実行されるステップのセットアップを可能にするように構成された、プログラムタブとを含む場合である。このとき、サードパーティソフトウェアは、ＧＵＩ要素をインストールタブおよびプログラムタブへ加える専用のファイル形式に基づきインストールされる。最後に、サードパーティハードウェア（または自身のハードウェア）が、ＧＵＩ要素を含む前記ソフトウェアコンポーネントに基づきインストールされる。
【００１８】
本発明は、ディストリビュータおよびコンピュータシステム構築業者が、エンドユーザで成功裏に作動する周辺機器を提供し得るプラットフォームに関係する。これは、ロボット利用を実行するためのより短いリードタイム、ならびにより低いプロジェクトリスク、プロジェクトコストおよび時間のより高い予測可能性、十分に証明された技術へのアクセス、ならびに情報の共有をもたらす。本概念は、ハードウェアおよびソフトウェア解決策の両方を含み、一方で、本発明は、この概念のソフトウェアの側面に関する。
【００１９】
本発明の実装形態により、産業用ロボットは、専用のファイル形式に基づき、サードパーティソフトウェアコンポーネントのイストレーションを受け入れるようになる。これらのファイルは、とりわけ、本発明者らのユーザインターフェイスの一部となるグラフィカルユーザインターフェイス要素を含み得る。典型的な使用事例はロボットへの把持部のインストールであり得る。把持部には、専用のファイルが付属しており、これは、一般的なユーザインターフェイス要素をインストールタブ（ロボットのインストールが指定される場合）へ、およびプログラムタブ（ロボットのプログラムが指定される場合）へ加える。インストールタブにおいて、これは、把持部がロボットにどのように取り付けられるか、およびどの電気信号が把持部のために使用されるかについてパラメータのセットアップを可能にする。プログラムタブにおいて、これは把持部が開くべきであるか、閉じるべきであるか、場合によりまた把持力、閉鎖速度などを指定することを可能にする。
【００２０】
一般に、産業用ロボットは、マニピュレータ、マニピュレータを制御するための制御ユニット、ならびに、マニピュレータを教示および手動で操作するための、ティーチペンダントユニットにより示される移動式オペレータ制御デバイスを含む。
【００２１】
本発明によると、エンドユーザには、様々なプラグインパケージをインストールする可能性がある。単一のパッケージが、インストールタブおよび／またはプログラムノードへのコントリビューション（ｃｏｎｔｒｉｂｕｔｉｏｎ）を含み得る。ソフトウェアのインストール後、新たなスクリーンが制御デバイスのために自動的に利用可能となる。さらに、スクリーンは、デフォルト制御環境の一部であるかのように見えるとともに作用する。
【００２２】
インストールタブコントリビューションは自身の設定を、いわゆるインストールにおいて保存する。このファイルは、特定の作業セルのための構成を含む。構成は、とりわけ検証された安全設定を含む。本発明を使用してロボットをプログラミングするエンドユーザは、設計下のプログラムを特定のインストールに自動的にリンクする。結果として、プログラムがロードされると、（検証された安全構成および設定を含む）割り当てられたインストールもロードされる。これは、重要な構成ファイルの数が同じままであるため（すなわち１つ）、エンドユーザのための作業フローを単純化する。
【００２３】
プログラムノードコントリビューションは、自身のパラメータを、いわゆるプログラムファイルに保存する。これらのファイルは、ロボットが解決することを想定された自動化タスクのためのプログラムを含む。デフォルト制御プログラムパラメータと特定のパラメータとの組合せは、重要なファイルの数が１つのままとなるため、同じ作業フローの利点（インストールファイルと同様のもの）をエンドユーザに与える。
【００２４】
制御デバイスにより促進された、ロボット作業セルの構成とプログラム設計との間の懸念の分離は、エンドユーザにとっての設計の複雑さを低下させる。両方の懸念は、自動化タスクの相補的側面に焦点を合わせるものであるとともに、エンドユーザに自動化問題を解決する体系的方法を与える。制御デバイスは、両方の懸念が適切な態様で一体化されることを確実にする。本発明のフレームワークで、同様の、懸念の分離および一体化がエンドユーザに提供され得る、すなわち、インストールタブコントリビューションは、プログラムノードコントリビューションと設定を共有し得る。
【００２５】
例えば、電気機械把持部が、自動化タスクのためにインストールされるとともに使用されることが想定される場合、以下のステップがとられ得る。把持部供給業者が、エンドユーザにインストールプロセスを案内することを選択すると、当該供給業者は、第１に、エンドユーザにプラグインをインストールするよう、およびインストールタブへ進むよう指示する。インストールタブおいて、コントリビューションは次いで、エンドユーザに視覚的に、把持部の電源および通信インターフェイスがどのように接続されるべきか示す。通信インターフェイスおよび電力が物理的に接続された後で、把持部は、起動するとともに把持部ソフトウェアとの通信を始める。このポイントで、把持部ソフトウェアは、構成インターフェイスへ視覚的インストールガイドを表示することから、物理的把持部およびスクリーン変化を検出する。構成インターフェイスにおいて、例えば、最大閉鎖力が構成され得る。構成が行われた後で、エンドユーザはプログラムの作成を始めることができる。エンドユーザは、プログラムタブへ進み、自身のタスクをプログラミングし始める。物体を取って来ることを望むポイントで、エンドユーザは、適切なプログラムノードを調べ、「把持部」ノードを見つける。エンドユーザは、把持部ノードを他の任意のプログラムノードと同じ態様で挿入する。（プログラムノードパラメータ化のための）コマンドタブは、視覚的に魅力的な態様で調整され得る利用可能なパラメータを示す。エンドユーザが把持部開口距離および閉鎖距離を指定した後、把持部ノードはパラメータ化される。把持部パラメータをテストするために、命令タブは、プログラム全体を実行することなく把持部を開閉する「振動（Ｊｏｇｇｌｅ）」ボタンを提供する。いずれのプログラムも作動され得る前に、各プログラムノードは、特定の動作を実行するコードを生成する必要がある。最大閉鎖力など、インストールにおいて保存された情報は、ここでも用いられ得る。把持部ノードのために、開発者は、（本発明のフレームワークを使用して）スクリプト生成の処理を行っている。制御デバイスにおけるプレーボタンを押すと、プログラムがロボットのスクリプトへ変換され、ロボットがプログラミングされたタスクの実行を始める。
【００２６】
本発明のフレームワークは以下を可能にする。
・  サードパーティハードウェアの容易なセットアップ。これは、通常のエンドユーザ（工場労働者など）には適していない通常は複雑なタスクである。恩恵は、必要とされる技術的専門知識がより低い、セットアップ時間がより少ない、およびサードパーティハードウェアのセットアップの容易な繰り返しを可能にする→より低いセットアップ費用、である。
・  標準作業フローとのシームレスな一体化。
・  フレームワークおよび制御デバイスの両方が同じ作業フローを促進する。
【図１】
2018529140.tif 000003
【国際調査報告】
2018529140.tif 000004
2018529140.tif 000005
2018529140.tif 000006