(57)【要約】【課題】ロボットと周辺装置等との干渉を容易に確認でき、作業者又は自動による干渉回避も容易に行えるようにしたロボットプログラミング装置の提供。【解決手段】制御装置１６は、制御信号に基づいて周辺装置３０及びハンド１８の動作のシミュレーションを行うシミュレーション実行部３４と、所定のロボット作業プログラムの教示点又は教示点間の軌道毎に、又はロボット作業プログラムを予め記したロボットプログラムテンプレートの教示点又は教示点間の軌道毎に、各教示点又は各軌道の属性データとして、周辺装置３０及びハンド１８の動作のシミュレーションを行うための制御信号を設定する信号設定部３６と、ロボット２２を教示点又は教示点間の軌道に移動させる移動部３８と、ロボット２２が移動した教示点又は教示点間の軌道について、ワーク３２を表示するか非表示とするかを設定する表示設定部４０とを有する。【選択図】図１
2017087300.tif 000002
【特許請求の範囲】
【請求項１】
３次元仮想空間内にロボット、周辺装置、及びワークを配置して該ロボットの教示を行うロボットプログラミング装置であって、
制御信号によって前記周辺装置の動作及び前記ロボットのハンドの開閉動作のシミュレーションを行うシミュレーション実行部と、
所定のロボット作業プログラムの教示点又は教示点間の軌道毎に、又はロボット作業プログラムを予め記したプログラムテンプレートの教示点又は教示点間の軌道毎に、各教示点又は各軌道の属性データとして、前記周辺装置の動作及び前記ハンドの開閉動作のシミュレーションを行うための制御信号を設定する信号設定部と、
前記ロボットを前記教示点又は教示点間の軌道に移動させる移動部と、
前記ロボットが移動した教示点又は教示点間の軌道について、前記ワークを表示するか非表示とするかを設定する表示設定部と、
を有する、ロボットプログラミング装置。
【請求項２】
前記教示点に属性データとして干渉を回避する位置を検索するための前記ロボットの動作方向及び動作範囲を設定する干渉回避条件設定部と、
前記移動部により教示点に移動したロボットについて干渉が発生した場合に、前記干渉回避条件設定部の設定に従って前記ロボットを干渉が回避できる位置まで移動させ、その位置を自動的に教示点として設定する干渉回避教示点設定部と、
を有する、請求項１に記載のロボットプログラミング装置。
【請求項３】
前記教示点間の軌道に属性データとして干渉を回避する位置を検索するための前記ロボットの動作方向及び動作範囲を設定する干渉回避条件設定部と、
前記移動部によりロボットが移動した教示点間の軌道に、前記ロボットについて干渉が発生する干渉区間が存在した場合、前記干渉区間の両端を前記干渉回避条件設定部の設定に従って移動させ、移動した前記干渉区間の両端の位置を教示点として設定する干渉回避教示点設定部と、
を有する、請求項１に記載のロボットプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのシミュレーションや作業プログラムの作成・修正をオフラインで行うロボットプログラミング装置に関する。
【背景技術】
【０００２】
ロボット及び周辺装置を含むシステムでは、ロボットが把持したワークを工作機械内に移動・配置して、該工作機械によって該ワークを加工する等の、協働作業を行う場合が多い。このようなシステムは、所定の動作プログラムに従って制御することができるが、ロボット又は工作機械の機種やワークの種類が変更されると、該動作プログラムも適宜変更する必要が生じる。
【０００３】
これに関連する従来技術として、例えば特許文献１には、作業プログラムを、作業ワークに依存した変更を必要とする第１プログラム部と、作業ワークの種類に依存しない第２プログラム部とに分離し、該第１プログラムの変更のみによって新規の作業ワークに対応した作業プログラムを作成できるようにした、作業プログラム作成装置が記載されている。
【０００４】
また特許文献２には、夫々の作業工程を実現する単位プログラム（プログラムブロック）を組み合わせることによって、複数の作業工程を実行する制御システムの制御プログラムを作成する制御システム開発支援装置が記載されている。
【０００５】
作成した動作プログラムの有効性等を評価するために、該動作プログラムに基づいてオフラインでのシミュレーションを行う技術も周知である。例えば特許文献３には、ロボット、ワーク及び周辺機器の３次元モデルを表示し、動作プログラムの各教示点において干渉が生じる場合には、干渉が生じないように教示点の位置を自動で修正することができるロボットプログラミング装置が記載されている。
【０００６】
また特許文献４には、動作プログラムの作業単位である複数のブロックの各々に実行ボタンを配置・表示し、該実行ボタンの操作によって各ブロックを実行してその動作確認を行えるようにした、動作プロブラム作成装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３９０５０７５号公報
【特許文献２】特許第５０５８０６３号公報
【特許文献３】特開２０１３−０９９８１５号公報
【特許文献４】特開２０１４−１４４５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ロボットの動作中に周辺装置の移動やハンドの移動、ワークの移動等が行われると、ロボットと周辺装置との干渉領域が変化する。オフラインプログラムにおいて教示点を修正又は生成する場合、手動で周辺装置の移動をした後にロボットを移動させて教示点を修正する必要があり、手間がかかっていた。
【０００９】
また周辺装置の大きさ、位置等のシステムレイアウトの変更があった場合も、干渉領域が変化するため、教示点毎に干渉チェックを行い、手動でロボットを動作させて教示点の修正や追加を行う必要があった。なお教示点間の軌道において干渉が発生する場合も、同様に、手動でロボットを動作させて教示点の修正や追加を行う必要があった。
【００１０】
そこで本発明は、ロボットと周辺機器等との干渉を容易に確認でき、作業者又は自動による干渉回避も容易に行えるようにしたロボットプログラミング装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本願第１の発明は、３次元仮想空間内にロボット、周辺装置、及びワークを配置して該ロボットの教示を行うロボットプログラミング装置であって、制御信号によって前記周辺装置の動作及び前記ロボットのハンドの開閉動作のシミュレーションを行うシミュレーション実行部と、所定のロボット作業プログラムの教示点又は教示点間の軌道毎に、又はロボット作業プログラムを予め記したプログラムテンプレートの教示点又は教示点間の軌道毎に、各教示点又は各軌道の属性データとして、前記周辺装置の動作及び前記ハンドの開閉動作のシミュレーションを行うための制御信号を設定する信号設定部と、前記ロボットを前記教示点又は教示点間の軌道に移動させる移動部と、前記ロボットが移動した教示点又は教示点間の軌道について、前記ワークを表示するか非表示とするかを設定する表示設定部と、を有する、ロボットプログラミング装置を提供する。
【００１２】
第２の発明は、第１の発明において、前記教示点に属性データとして干渉を回避する位置を検索するための前記ロボットの動作方向及び動作範囲を設定する干渉回避条件設定部と、前記移動部により教示点に移動したロボットについて干渉が発生した場合に、前記干渉回避条件設定部の設定に従って前記ロボットを干渉が回避できる位置まで移動させ、その位置を自動的に教示点として設定する干渉回避教示点設定部と、を有する、ロボットプログラミング装置を提供する。
【００１３】
第３の発明は、第１の発明において、前記教示点間の軌道に属性データとして干渉を回避する位置を検索するための前記ロボットの動作方向及び動作範囲を設定する干渉回避条件設定部と、前記移動部によりロボットが移動した教示点間の軌道に、前記ロボットについて干渉が発生する干渉区間が存在した場合、前記干渉区間の両端を前記干渉回避条件設定部の設定に従って移動させ、移動した前記干渉区間の両端の位置を教示点として設定する干渉回避教示点設定部と、を有する、ロボットプログラミング装置を提供する。
【発明の効果】
【００１４】
本発明によれば、教示点又は教示点間の軌道毎に周辺機器の動作とワークの表示切替えを行うことができるので、ロボットの干渉確認が容易かつ的確にでき、教示点の修正も容易に行うことができるようになる。
【００１５】
干渉回避のための条件を属性データとして教示点又は教示点間の軌道に設定することにより、周辺装置の動作やワークの有無に応じて、干渉回避位置を自動的に検出し教示位置を修正又は追加することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の好適な実施形態に係るロボットプログラミング装置の一構成例を示す図である。
【図２】ワークを工作機械内に搬入する場合のロボットの動作フローの一例を示すフローチャートである。
【図３】図１のロボットプログラミング装置が適用可能なロボットシステムの一構成例を示す図である。
【図４】教示点間の軌道を、干渉回避のために移動させる処理の一例を示すフローチャートである。
【図５】図４のフローチャートに示す処理を実行する前の、教示点間の軌道の一例を示す図である。
【図６】図４のフローチャートに示す処理を実行した後の、教示点間の軌道の一例を示す図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の好適な実施形態に係るロボットプログラミング装置（以降、単にプログラミング装置とも称する）１０の一構成例を示す図である。プログラミング装置１０は、３次元仮想空間内に配置されたロボットシステム１２の３次元モデルを表示可能な表示部（ディスプレイ）１４と、後述する各機能を備えた制御装置１６とを有する。ロボットシステム１２は、開閉可能なハンド１８が先端に取り付けられた可動部（ロボットアーム）２０を有するロボット２２と、開閉可能なドア２４、作業台２６及び開閉可能なクランパ２８を有する周辺装置（例えば工作機械）３０とを含み、ハンド１８、ドア２４及びクランパ２８がロボット２２のＩ／Ｏ信号（制御信号）によって制御される。
【００１８】
ハンド１８は、工作機械３０による加工対象物であるワーク３２を把持した状態で、ドア２４が開放された状態の工作機械３０の内部に進入し、把持したワーク３２を工作機械３０の作業台２６上に載置できるとともに、ワーク３２の載置後は工作機械３０の内部から退出できるように構成されている。一方、クランパ２８は、ロボット２２が載置した作業台２６上のワーク３２を保持できるように構成されており、工作機械３０は保持されたワーク３２に対して所定の加工を行うことができる。
【００１９】
制御装置１６は、上述の制御信号に基づいて周辺装置３０の動作及びハンド１８の開閉動作のシミュレーションを行うシミュレーション実行部３４と、所定のロボット作業プログラムの教示点又は教示点間の軌道毎に、又はロボット作業プログラムを予め記したロボットプログラムテンプレートの教示点又は教示点間の軌道毎に、各教示点又は各軌道の属性データとして、周辺装置３０の動作及びハンド１８の開閉動作のシミュレーションを行うための制御信号を設定する信号設定部３６と、ロボット２２を教示点又は教示点間の軌道に移動させる移動部３８と、ロボット２２が移動した教示点又は教示点間の軌道について、ワーク３２を表示するか非表示とするかを設定する表示設定部４０とを有する。
【００２０】
また制御装置１６は任意に、教示点又は教示点間の軌道に属性データとして干渉を回避する位置を検索するためのロボット２２の動作方向及び動作範囲を設定する干渉回避条件設定部４２と、移動部３８により教示点に移動したロボット２２について干渉が発生した場合、又は移動部３８によりロボット２２が移動した教示点間の軌道に、ロボット２２について干渉が発生する干渉区間（後述するＣ０〜Ｃ１）が存在した場合に、干渉回避条件設定部４２の設定に従ってロボット２２を干渉が回避できる位置まで移動させ、その位置を自動的に教示点として設定するか、又は該干渉区間の両端を干渉回避条件設定部４２の設定に従って移動させ、移動した干渉区間の両端の位置を教示点として設定する干渉回避教示点設定部４４とを有してもよい。
【００２１】
以下、プログラミング装置１０における処理について説明する。ここでは図２及び図３に示すように、ハンド１８が未加工のワーク３２を把持した状態で工作機械３０の手前に移動し（Ｐ１）、ドア２４の開放後にハンド１８が工作機械３０内に進入してワーク配置位置に接近し（Ｐ２）、ワーク３２を作業台２６上に載置し（Ｐ３）、クランパ２８が閉じてワーク３２を保持したらハンド１８がワーク配置位置から離反し（Ｐ４）、ハンド１８が工作機械３０の外部（手前）に移動（退出）し（Ｐ５）、所定の待機位置まで移動する（Ｐ６）、という一連の動作を行うための所定の作業プログラム、又は該作業プログラムを記述したプログラムテンプレートが予め用意（例えば適当なメモリに記憶）されているものとする。
【００２２】
表１は、教示点Ｐ１〜Ｐ６の各々の属性データを示す。詳細には、各教示点の属性データには、ドア２４の開閉動作を行うための制御信号ＤＯ［１］と、ハンド１８の開閉動作を行うための制御信号ＲＯ［１］と、クランパ２８の開閉動作を行うための制御信号ＤＯ［２］と、ハンド１８が把持しているワークを表示するか非表示とするかを設定する信号「把持ワーク」と、作業台２６上の配置されたワークを表示するか非表示とするかを設定する信号「配置ワーク」とが含まれる。
【００２３】
表１のように信号設定を行うことにより、ワーク３２が作業台２６に配置されるまで（Ｐ１〜Ｐ３）は、把持ワークを表示するとともに配置ワークを非表示とし、ハンド１８がワーク配置位置から離反して待機位置に戻るまで（Ｐ４〜Ｐ６）は、把持ワークを非表示するとともに配置ワークを表示するという処理を自動で行うことができる。従って、ロボット２２（ハンド１８）がいずれの教示点に移動した場合でも、実際の動作に即した状態となるように自動でワークを表示し又は非表示とすることができるので、作業者は各教示点でのロボット２２と工作機械３０等との干渉を容易かつ正確に把握することができ、干渉が発生する場合の教示点の修正、追加等も容易に行うことができる。
【００２４】
【表１】
2017087300.tif 000003
【００２５】
表２は、教示点Ｐ１〜Ｐ６の間の軌道の各々の属性データを示す。詳細には、各軌道の属性データには、表１と同様に、ドア２４の開閉動作を行うための制御信号ＤＯ［１］と、ハンド１８の開閉動作を行うための制御信号ＲＯ［１］と、クランパ２８の開閉動作を行うための制御信号ＤＯ［２］と、ハンド１８が把持しているワークを表示するか非表示とするかを設定する信号「把持ワーク」と、作業台２６上の配置されたワークを表示するか非表示とするかを設定する信号「配置ワーク」とが含まれる。
【００２６】
表２のように信号設定を行うことにより、ワーク３２が作業台２６に配置されるまで（Ｐ１〜Ｐ３）は、把持ワークを表示するとともに配置ワークを非表示とし、ハンド１８がワーク配置位置から離反して待機位置に戻るまで（Ｐ４〜Ｐ６）は、把持ワークを非表示するとともに配置ワークを表示するという処理を自動で行うことができる。従って、ロボット２２（ハンド１８）がいずれの軌道に移動した場合でも、実際の動作に即した状態となるように自動でワークを表示し又は非表示とすることができるので、作業者は各軌道でのロボット２２と工作機械３０等との干渉を容易かつ正確に把握することができ、干渉が発生する場合の教示点の修正、追加等も容易に行うことができる。
【００２７】
【表２】
2017087300.tif 000004
【００２８】
表３は、上述の干渉回避条件設定部４２及び干渉回避教示点設定部４４を用いて、干渉が発生する場合に干渉回避のための教示点の修正・追加を自動で行う処理に関する属性データを示す。ここでは、干渉回避のためにロボット２２（ハンド１８）を移動させる検索軸をＸ軸、Ｙ軸及びＺ軸の３つとし、図３に示すように、Ｘ軸はロボット２２から工作機械３０に向かう水平方向、Ｚ軸は鉛直方向、Ｙ軸はＸ軸及びＺ軸の双方に垂直な方向とするが、これは一例である。
【００２９】
【表３】
2017087300.tif 000005
【００３０】
ロボット２２が作業者の操作等によって移動した教示点において干渉が発生した場合は、表３に示すように、その教示点において少なくとも１つの検索軸を、その検索方向に沿って所定の動作範囲（検索範囲）内で移動させることにより、干渉が発生しないように教示点の修正を自動で行うことができる。なお表３の例では、動作範囲はいずれの検索軸についても±１０００（ｍｍ）としているが、これはロボット２２、工作機械３０又はワーク３２の形状や大きさ等に基づいて適宜設定・変更可能である。
【００３１】
表４は、上述の干渉回避条件設定部４２及び干渉回避教示点設定部４４を用いて、干渉が発生する場合に干渉回避のための教示点間の軌道の修正・追加を自動で行う処理に関する属性データを示す。ここでは、表３の場合と同様に、干渉回避のためにロボット２２（ハンド１８）を移動させる検索軸をＸ軸、Ｙ軸及びＺ軸の３つとし、図３に示すように、Ｘ軸はロボット２２から工作機械３０に向かう水平方向、Ｚ軸は鉛直方向、Ｙ軸はＸ軸及びＺ軸の双方に垂直な方向とするが、これは一例である。
【００３２】
【表４】
2017087300.tif 000006
【００３３】
図４は、教示点間の軌道の修正を自動で行う処理の一例を示すフローチャートであり、図５及び図６はそれぞれ、図４のフローチャートに示す処理を実行する前及び後の教示点間の軌道の一例を示す図である。なおこの例では、図５に示すように、教示点Ｐ０とＰ１では干渉が発生していないが、Ｐ０とＰ１との間の軌道においてロボット２２と障害物４６との干渉が発生し、その干渉区間の両端の教示点がそれぞれＣ０、Ｃ１として求められ（計算され）ている。
【００３４】
先ず、ステップＳ１において、ロボット２２を教示点Ｐ０からＰ１まで移動させ、フラグに１を代入する（ステップＳ２）。次にステップＳ３において、干渉の有無を判定し、干渉が発生する場合はその干渉区間の両端の教示点（Ｃ０、Ｃ１）を求め（ステップＳ４）、フラグにゼロを代入する（ステップＳ５）。
【００３５】
次にステップＳ６において、教示点Ｃ０及びＣ１を、指定された検索軸をその検索方向に所定の動作範囲内で移動させることにより、一定量移動（オフセット）させる。次にステップＳ７において、教示点Ｐ０→Ｃ０→Ｃ１→Ｐ１の順にロボットを移動させ、再度干渉の有無を判定する（ステップＳ３）。ステップＳ３〜Ｓ７の処理は、干渉が発生しなくなるまで反復される。
【００３６】
干渉が発生しないと判定された場合は、ステップＳ８にてフラグ判定を行った後、移動した教示点Ｃ０及びＣ１を、教示点Ｐ０及びＰ１の間に教示点として挿入する（ステップＳ９）。これにより、図６に示すように、障害物４６との干渉が回避された軌道が得られる。
【００３７】
このように、ロボット２２が作業者の操作等によって移動した教示点間の軌道において干渉が発生した場合も、表４及び図４〜図６に示すように、その干渉区間の両端の教示点を、所定の検索方向に沿って所定の動作範囲（検索範囲）内で移動させることにより、干渉が発生しないように軌道の修正を自動で行うことができる。なお表４の例では、動作範囲はいずれの検索軸についても±１０００（ｍｍ）としているが、これはロボット２２、工作機械３０又はワーク３２の形状や大きさ等に基づいて適宜設定・変更可能である。
【００３８】
なお上述の実施形態では、ロボット作業プログラムの教示点又は教示点間の軌道毎に、周辺装置の動作及びハンド開閉動作のシミュレーションを行う信号を設定するとともに、ワークの表示／非表示を切り替えているが、ロボット作業プログラムを、各々が作業単位を示す複数のブロック（プログラムテンプレート）から構成してもよく、その場合、該プログラムテンプレートの教示点又は教示点間の軌道毎に、同様の処理を行うことができる。
【符号の説明】
【００３９】
１０    ロボットプログラミング装置
１２    ロボットシステム
１４    表示部
１６    制御装置
１８    ハンド
２０    ロボットアーム
２２    ロボット
２４    ドア
２６    作業台
２８    クランパ
３０    工作機械
３２    ワーク
３４    シミュレーション実行部
３６    信号設定部
３８    移動部３８
４０    表示設定部
４２    干渉回避条件設定部
４４    干渉回避教示点設定部
４６    障害物
【図１】
2017087300.tif 000007
【図２】
2017087300.tif 000008
【図３】
2017087300.tif 000009
【図４】
2017087300.tif 000010
【図５】
2017087300.tif 000011
【図６】
2017087300.tif 000012