(57)【特許請求の範囲】
【請求項１】
１以上のワークと、ワークに対して作業する１以上のロボットからなる複数の可動物体間の干渉をチェックする干渉チェック装置であって、
複数の可動物体の形状データ及び複数のステップからなる動作プログラムを取得する取得手段と、
形状データに基づいて、複数の可動物体の可動物体モデルを作成するモデル作成手段と、
動作プログラムと可動物体モデルに基づいて、複数の可動物体モデルの動作をシミュレーションするシミュレーション手段と、
シミュレーション結果に基づいて、複数の可動物体モデル間の干渉の有無を判定する干渉判定手段と、
干渉する可動物体モデルの動作プログラムに干渉の回避動作を設定する回避動作設定手段、及び、回避動作を設定した動作プログラムに基づいて、シミュレーション手段及び干渉判定手段により干渉の有無を判定させる動作プログラム検証手段を含む動作プログラム修正手段と、
を備え、
動作プログラム修正手段は、修正する干渉ステップが、予め設定された可動物体がワークに対して作業する作業ステップか否かを判定し、可動物体がワークに対して作業する作業ステップであるときは、回避動作設定手段により、干渉する可動物体の一方又は両方の動作速度を変更するよう動作プログラムを修正し、作業ステップ以外のステップであるときは、可動物体モデルの干渉を回避させる方向に移動させるステップを作成して動作プログラムに追加する干渉チェック装置。
【請求項２】
請求項１に記載された干渉チェック装置において、
動作プログラム中の作業ステップには、オペレータの指定により作業ステップの識別情報が付加されている干渉チェック装置。
【請求項３】
請求項１又は２に記載された干渉チェック装置において、
干渉判定手段が、動作プログラムのステップ毎に複数の可動物体モデルの位置を対比する手段と、位置の対比結果に基づいて、複数の可動物体モデル間の干渉領域を判別する手段と、を有する干渉チェック装置。
【請求項４】
コンピュータを、請求項１ないし３のいずれかに記載された干渉チェック装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークとロボットからなる複数の物体間の干渉をチェックする干渉チェック装置とプログラムに関する。
【背景技術】
【０００２】
ロボットによりワークに対して作業するときには、動作する複数の物体間の干渉を防止する必要がある。そのため、従来は、例えば、実際にロボットやワークを動作させて、干渉が発生する都度、干渉する物体の動作を変更して、各物体の動作プログラムを手動で修正する。ところが、手動での修正作業は、手間や時間がかかり、工数が多くなることがある。
【０００３】
また、従来、ロボットとワークの動作をオフラインでシミュレーションし、物体間の干渉を自動でチェックする干渉チェック装置が知られている（特許文献１参照）。
しかしながら、この従来の干渉チェック装置では、干渉が発生するときに、複数の動作プログラムを手動で修正する必要がある。従って、動作プログラムの修正に手間や時間がかかるため、作業負担を軽減するのは難しい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−７８０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、このような従来の問題に鑑みなされたもので、その目的は、ワークとロボットからなる複数の物体間の干渉をシミュレーションによりチェックして、干渉が発生する動作プログラムを自動で簡便に修正することである。
【課題を解決するための手段】
【０００６】
本発明は、１以上のワークと、ワークに対して作業する１以上のロボットからなる複数の可動物体間の干渉をチェックする干渉チェック装置であって、複数の可動物体の形状データ及び複数のステップからなる動作プログラムを取得する取得手段と、形状データに基づいて、複数の可動物体の可動物体モデルを作成するモデル作成手段と、動作プログラムと可動物体モデルに基づいて、複数の可動物体モデルの動作をシミュレーションするシミュレーション手段と、シミュレーション結果に基づいて、複数の可動物体モデル間の干渉の有無を判定する干渉判定手段と、干渉する可動物体モデルの動作プログラムに干渉の回避動作を設定する回避動作設定手段、及び、回避動作を設定した動作プログラムに基づいて、シミュレーション手段及び干渉判定手段により干渉の有無を判定させる動作プログラム検証手段を含む動作プログラム修正手段と、を備え、動作プログラム修正手段は、修正する干渉ステップが、予め設定された可動物体がワークに対して作業する作業ステップか否かを判定し、可動物体がワークに対して作業する作業ステップであるときは、回避動作設定手段により、干渉する可動物体の一方又は両方の動作速度を変更するよう動作プログラムを修正し、作業ステップ以外のステップであるときは、可動物体モデルの干渉を回避させる方向に移動させるステップを作成して動作プログラムに追加する干渉チェック装置である。
また、本発明は、コンピュータを、干渉チェック装置の各手段として機能させるプログラムである。
【発明の効果】
【０００７】
本発明によれば、ワークとロボットからなる複数の物体間の干渉をシミュレーションによりチェックして、干渉が発生する動作プログラムを自動で簡便に修正することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のシートパッドの製造装置を示す概略構成図である。
【図２】干渉チェック装置の機能ブロック図である。
【図３】干渉チェック装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の干渉チェック装置の一実施形態について、図面を参照して説明する。
本実施形態の干渉チェック装置は、例えば、ロボットによりワークに対して作業して各種製品を製造する製造装置や製造ラインで使用される。干渉チェック装置は、相対的に動作する複数の可動物体（動作物体）の動作を仮想空間でシミュレーションして、可動物体間の干渉をチェックする。また、干渉チェック装置は、可動物体の接触や衝突等、可動物体間で発生する動作や作業の妨げとなる状況を干渉としてチェックする。なお、ワークとは、ロボットが作業する対象物のことをいう。
【００１０】
本実施形態では、発泡成形体である車両用シートパッドの製造装置（以下、製造装置という）を例に採り、可動物体の干渉チェックについて説明する。シートパッドは、自動車等の車両の座席内に設けられるパッドである。シートパッドは、各特性の樹脂フォーム（例えば、ポリウレタンフォーム）により、座席内の各部の形状に応じた形状に成形される。このシートパッドは、発泡成形用樹脂の各種原液に発泡剤や添加剤を添加した複数の原料により製造される。製造装置は、複数の原料を成形型内に充填し、原料を発泡成形してシートパッドを製造する。
【００１１】
図１は、本実施形態の製造装置を示す概略構成図である。
製造装置１は、図示のように、１以上（図１では２つ）のワーク２と、ワーク２を搬送する搬送装置３と、ワーク２に対して作業する１以上（図１では２つ）のロボット４と、干渉チェック装置５と、ハブ６とを備えている。干渉チェック装置５は、ハブ６を介して、搬送装置３と各ロボット４に設けられた制御装置（図示せず）に接続されている。干渉チェック装置５は、製造装置１に設けられたワーク２とロボット４からなる複数の可動物体間の干渉を、シミュレーションにより予めチェックする。なお、ワーク２とロボット４をまとめて可動物体という。
【００１２】
ワーク２は、シートパッドの成形型であり、上型２Ａと下型２Ｂからなる。上型２Ａと下型２Ｂは、組み合わされて内部にキャビティを区画する。シートパッドの成形時には、上型２Ａを下型２Ｂから離して、下型２Ｂ内に発泡成形の原料を注入する。続いて、上型２Ａを下型２Ｂに組み合わせ、キャビティ内で原料を発泡させる。これにより、原料を成形及び硬化させて、クッション状の発泡成形体（シートパッド）を成形する。ワーク２を開閉装置（図示せず）により開閉（図１では閉じたワーク２のみ示す）して、原料の注入とシートパッドの取り出しとが行われる。
【００１３】
搬送装置３は、環状（図１では一部のみ示す）に配置されたコンベヤ３Ａと、コンベヤ３Ａを循環させる駆動装置（図示せず）とを有する。コンベヤ３Ａ上には、複数のワーク２が一定間隔で配置される。搬送装置３は、コンベヤ３Ａを駆動してワーク２を所定速度で搬送し、複数のワーク２を循環させる。製造装置１は、複数のロボット４により、循環する複数のワーク２に原料を注入する。また、原料の注入と硬化に連動して循環中のワーク２を開閉し、シートパッドを連続して製造する。
【００１４】
ロボット４は、産業用（作業用）の多関節ロボットである。ロボット４は、旋回軸や回転軸を含む複数（例えば、６つ）の可動軸と、可動軸を駆動する駆動装置（図示せず）とを有する。また、ロボット４の先端には、作業ツールとして、発泡成形の原料を注入する注入ヘッド４Ａが取り付けられている。ロボット４は、可動軸を駆動して、注入ヘッド４Ａを任意の向きや状態に配置しつつ移動可能範囲内の任意の位置に移動させる。原料は、注入ヘッド４Ａのノズルから射出されて、ワーク２内に注入される。
【００１５】
複数のロボット４とワーク２（搬送装置３）は、予め設定された動作プログラムに基づいて動作する。これにより、各ロボット４は、それぞれワーク２に対して作業を行う。複数のロボット４は、それぞれの動作プログラムに規定されたパターンで動作して、１つのワーク２に対して所定のタイミングで原料を注入する。ワーク２には、複数の原料が同時に注入されて、上記のようにシートパッドが製造される。
【００１６】
干渉チェック装置５は、データ設定装置（以下、設定装置という）１０と動作プログラム作成装置（以下、作成装置という）２０とを有する。設定装置１０と作成装置２０は、例えばパーソナルコンピュータからなり、通信装置により接続されている。また、設定装置１０と作成装置２０は、ＣＰＵ（Central Processing Unit）と、各種コンピュータプログラムを格納するＲＯＭ（Read Only Memory）と、ＣＰＵが直接アクセスするデータを一時的に格納するＲＡＭ（Random Access Memory）とを有する。設定装置１０と作成装置２０は、ＣＰＵによりコンピュータプログラムを実行することで得られる機能実現手段として、干渉チェックに関する処理を実行する各手段（機能部）を有する。
【００１７】
図２は、干渉チェック装置５の機能ブロック図である。
干渉チェック装置５内で、図示のように、設定装置１０と作成装置２０は、互いにデータを送受信する。設定装置１０は、入力手段１１と、設定データの記憶手段１２と、表示手段１３と、送信手段１４とを有する。入力手段１１は、オペレータがデータや指令の入力に使用するキーボード、マウス、又は、データ記録媒体の読取装置からなる。記憶手段１２は、入力手段１１により入力されたデータ、及び、作成装置２０から受信したデータを記憶する。表示手段１３は、干渉チェックに関する各種情報やチェック結果等を表示する。送信手段１４は、搬送装置３とロボット４の制御装置に、それぞれを動作させる動作プログラムや制御指令を送信する。
【００１８】
オペレータは、入力手段１１により、複数の可動物体（ワーク２とロボット４）の形状データ及び動作パターンを入力する。形状データは、可動物体の３次元形状を表すデータである。ここでは、形状データは、ＣＡＤ（Computer Aided Design）データからなる。形状データには、例えば、ワーク２とロボット４の外形、寸法、及び、可動軸のデータが設定される。また、オペレータは、動作パターンとして、ワーク２の移動速度やロボット４の動作をステップ毎に入力する。ロボット４の動作に対応して、例えば、ロボット４の所定箇所の各ステップにおける位置、ロボット４に設けられた複数の可動軸の動作、又は、ロボット４の動作速度が入力される。複数のワーク２の配置間隔や各ロボット４の設置位置も入力される。入力されたデータは、干渉チェックの基準データとして設定され、記憶手段１２に記憶される。
【００１９】
設定装置１０は、オペレータにより設定された動作パターンに基づいて、複数の可動物体毎に、複数のステップ（動作ステップ）からなる動作プログラムを作成する。各動作プログラムには、各可動物体の動作が、連続するステップに分解されて設定される。複数の動作プログラムは、基準（初期）動作プログラムとして、記憶手段１２に記憶される。記憶手段１２に記憶された各データは、作成装置２０により読み出されて使用される。
【００２０】
作成装置２０は、シミュレーション手段２１と、干渉判定手段２２と、干渉データの記憶手段２３と、表示手段２４と、動作プログラム修正手段（以下、修正手段という）２５とを有する。作成装置２０は、シミュレーション手段２１によりシミュレートして、干渉判定手段２２により可動物体の干渉を判定する。また、作成装置２０は、干渉が発生する動作プログラムを修正手段２５により修正して、干渉が発生しない動作プログラムを自動で作成する。以下、作成装置２０の各手段について詳しく説明する。
【００２１】
シミュレーション手段２１は、設定装置１０からデータを取得する取得手段２１Ａと、モデル作成手段２１Ｂと、軌跡演算手段２１Ｃとを有する。取得手段２１Ａは、設定装置１０の記憶手段１２に記憶された基準データから、シミュレーション処理に必要な所定データを取得する。その際、取得手段２１Ａは、記憶手段１２から、複数の可動物体の形状データ及び複数のステップからなる動作プログラムを取得する。
【００２２】
モデル作成手段２１Ｂは、複数の可動物体の形状データに基づいて、複数の可動物体の可動物体モデルをそれぞれ作成する。可動物体モデルは、仮想空間で可動物体をモデル化したロボット４とワーク２のモデルであり、複数の可動物体毎に作成される。モデル作成手段２１Ｂは、形状データに基づいて可動物体の立体形状を演算し、多面体で構成される可動物体の立体形状を作成する。これにより、シミュレーションに使用するロボットモデルとワークモデルが作成される。
【００２３】
シミュレーション手段２１は、複数の可動物体の動作プログラムと可動物体モデルに基づいて、複数の可動物体モデルの動作をシミュレーションする。その際、軌跡演算手段２１Ｃが、取得手段２１Ａが取得した基準データに基づいて、複数の可動物体モデルを仮想空間に配置する。また、軌跡演算手段２１Ｃは、各可動物体モデルの動作プログラムに基づく動きを演算するとともに、動作する可動物体モデルの位置と軌跡を演算する。シミュレーション手段２１は、シミュレーションにより、複数の可動物体の動作を可動物体モデルで再現する。即ち、シミュレーション手段２１は、複数のロボットモデルが複数のワークモデルに対して作業（例えば、原料の注入作業）するときの動作や、作業の間のロボットモデルとワークモデルの動作を再現する。
【００２４】
干渉判定手段２２は、シミュレーション手段２１によるシミュレーション結果に基づいて、複数の可動物体モデル間の干渉の有無を判定する。干渉判定手段２２は、位置対比手段２２Ａと干渉領域判別手段２２Ｂとを有する。位置対比手段２２Ａは、動作プログラムのステップ毎に、複数の可動物体モデルの位置を対比する。干渉領域判別手段２２Ｂは、位置対比手段２２Ａによる位置の対比結果に基づいて、ステップ毎に、複数の可動物体モデル間の干渉領域を判別する。
【００２５】
ここでは、複数の可動物体モデルで、原点が同じ共通する座標系を使用する。この同一の座標系に基づいて、各可動物体モデルの表面や内部の位置（座標）を表す。位置対比手段２２Ａは、複数の可動物体モデルの座標を対比する。干渉領域判別手段２２Ｂは、対比した可動物体モデルの間で、座標が重複する部分を干渉領域として判別する。干渉判定手段２２は、干渉領域が有るときは、可動物体モデル同士が干渉すると判定し、干渉領域が無いときは、可動物体モデル同士が干渉しないと判定する。
【００２６】
干渉判定手段２２は、動作プログラムのステップ毎に、ロボットモデル同士、又は、ロボットモデルとワークモデルの干渉の有無を判定する。また、干渉判定手段２２は、可動物体モデルの干渉が発生する位置（干渉位置という）を判定し、干渉領域に基づいて、干渉位置同士が重なり合う量（干渉量という）を判定する。干渉判定手段２２の判定結果は、記憶手段２３の判定結果記憶手段２３Ａに記憶される。判定結果記憶手段２３Ａには、例えば、干渉の有無、干渉する可動物体モデル、干渉位置（座標）、干渉量、干渉領域を記憶する。干渉判定手段２２は、記憶手段２３の動作プログラム記憶手段２３Ｂに、干渉が発生した動作プログラムと干渉が発生するステップも記憶させる。
【００２７】
作成装置２０は、表示手段２４に、干渉の判定結果や可動物体モデルの動作を表示する。表示手段２４には、干渉の有無が、動作プログラムのステップ毎に表示される。また、作成装置２０は、干渉が発生するときの可動物体モデルの動作を、表示手段２４上で再現する。表示手段２４への表示内容は、設定装置１０へ送信されて、設定装置１０の表示手段１３へも表示される。
【００２８】
修正手段２５は、回避動作設定手段２５Ａと動作プログラム検証手段（以下、検証手段という）２５Ｂとを有する。回避動作設定手段２５Ａは、干渉判定手段２２により干渉が有ると判定されたときに、干渉する可動物体モデルの動作プログラムに、それぞれ干渉の回避動作を設定する。干渉の回避動作は、回避動作設定手段２５Ａにより、予め設定された条件や回避パターンに基づいて、干渉が発生するステップ毎に算出又は決定される。
【００２９】
その際、回避動作設定手段２５Ａは、ロボット４の動作プログラムに設定されたロボット４の複数の可動軸の動作を、干渉を回避するように変更する。具体的には、可動軸の駆動装置へ出力する動作のための指令値（出力値）を変更して、ロボット４の動作を修正する。これにより、ロボット４の可動軸の動作、各部の位置、及び、動作軌道が変更される。また、回避動作設定手段２５Ａは、干渉を回避する動作を設定したステップを新たに作成して、可動物体の動作プログラムに、干渉の回避動作ステップを追加する。或いは、回避動作設定手段２５Ａは、可動物体同士の干渉時の動作や位置がずれるように、動作プログラムに設定された可動物体の動作速度（又は動作時間）を変更する。
【００３０】
回避動作設定手段２５Ａは、以上の軸動作変更手段、ステップ追加手段、及び、速度変更手段を有する。各手段により、回避動作設定手段２５Ａは、各動作プログラムの干渉が有るステップ毎に、干渉を回避するための動作を設定する。修正手段２５は、回避動作設定手段２５Ａにより動作プログラムを修正した後、修正した動作プログラムを検証手段２５Ｂにより検証する。検証手段２５Ｂは、回避動作を設定した動作プログラムに基づいて、シミュレーション手段２１及び干渉判定手段２２により干渉の有無を判定させる。シミュレーション手段２１と干渉判定手段２２は、動作プログラムと可動物体モデルに基づいて、上記と同様にして、それぞれシミュレーションと干渉の判定を行う。
【００３１】
作成装置２０は、オペレータからの要求に応じて、以上の処理を実行する。作成装置２０は、全ての動作プログラムの干渉の有無を判定して、干渉が発生する全ての動作プログラムを修正する。修正後の動作プログラムは、記憶手段２３に記憶される。また、作成装置２０は、修正手段２５により、動作プログラムの修正と検証を、干渉が発生しなくなるまで繰り返す。これにより、干渉が発生しない動作プログラムを作成して、可動物体の動作を修正する。最初の判定で干渉が発生しないと判定された動作プログラムは、そのまま記憶手段２３に記憶される。
【００３２】
干渉チェック装置５は、作成装置２０により、複数の可動物体モデルの干渉をチェックして、干渉が発生する動作プログラムと可動物体の動作を予め修正する。干渉チェック装置５は、全ての動作プログラムに干渉が発生しないことが確認できた後に、送信手段１４により、動作プログラムを、搬送装置３とロボット４の制御装置へ送信する。シートパッドの製造時に、搬送装置３は、ワーク２の動作プログラムに基づいて動作して、複数のワーク２を搬送する。複数のロボット４は、それぞれの動作プログラムに基づいて動作して、ワーク２に対して作業を行う。ワーク２には、ロボット４から原料が注入される。
【００３３】
次に、干渉チェック装置５により干渉をチェックする手順について説明する。
図３は、干渉チェック装置５の処理手順を示すフローチャートである。
まず、オペレータが、設定装置１０を操作して、入力手段１１により、複数の可動物体（ワーク２とロボット４）の形状データ及び動作パターンを入力する。オペレータは、製造装置１内で動作する全ての可動物体の形状データ、動作パターン、及び、予め定められた所定データを入力する。入力されたデータは、図示のように、基準データとして設定され（Ｓ１０１）、記憶手段１２に記憶される（Ｓ１０２）。設定装置１０は、動作パターンに基づいて、複数の可動物体の動作プログラムを作成し、動作プログラムを基準データとして記憶手段１２に記憶する。
【００３４】
続いて、オペレータが処理開始を指示したときに、取得手段２１Ａが、設定装置１０から、所定の基準データを取得する。取得手段２１Ａは、製造装置１内に設けられたシミュレーション対象である複数の可動物体の形状データ及び動作プログラムを取得する。取得した形状データに基づいて、モデル作成手段２１Ｂにより、複数の可動物体モデルを作成する。動作プログラムと可動物体モデルに基づいて、シミュレーション手段２１により、複数の可動物体モデルの動作をシミュレーションする（Ｓ１０３）。シミュレーション結果に基づいて、干渉判定手段２２により、上記のように可動物体モデル同士の干渉領域を判別し（Ｓ１０４）、複数の可動物体モデル間の干渉の有無を判定する（Ｓ１０５）。
【００３５】
判定の結果、全ての動作プログラムに干渉が無いと判定されたときには（Ｓ１０５−ＮＯ）、送信手段１４により、複数の動作プログラムを、それぞれの送信先へ送信する（Ｓ１０６）。送信完了後に処理を終了する。これに対し、干渉が有ると判定されたときには（Ｓ１０５−ＹＥＳ）、動作プログラムの干渉が発生するステップ（干渉ステップという）を記憶する。また、干渉の判定結果を設定装置１０へ送信して、表示手段１３へ表示する（Ｓ１０７）。次に、回避動作設定手段２５Ａにより、干渉が有る全ての動作プログラムに干渉の回避動作を設定して、動作プログラムを修正する。回避動作設定手段２５Ａは、動作プログラムの干渉ステップ毎に、ロボット４の可動軸（駆動装置）への出力値を変更する。これにより、動作プログラムに設定されたロボット４の可動軸の動作を変更して（Ｓ１０８）、干渉の回避動作を設定する。
【００３６】
干渉が有る全ての動作プログラムとロボット４の動作を修正した後、検証手段２５Ｂにより、修正後の動作プログラムを検証する（Ｓ１０９）。検証手段２５Ｂは、可動軸の動作を変更した動作プログラムと可動物体モデルにより、シミュレーション手段２１及び干渉判定手段２２に干渉の有無を判定させる。判定の結果、干渉が無いと判定されたときには（Ｓ１１０−ＮＯ）、送信手段１４により、動作プログラムを送信して（Ｓ１０６）、処理を終了する。干渉が有ると判定されたときには（Ｓ１１０−ＹＥＳ）、動作プログラムの干渉ステップを記憶する。また、干渉ステップの修正が全て終了したか否かを判定するが（Ｓ１１１）、最初は未修正であるため（Ｓ１１１−ＮＯ）、処理を続行する。以降、修正手段２５により、動作プログラムの干渉ステップを順に修正する。
【００３７】
修正手段２５は、修正する干渉ステップが、予め設定された作業ステップか否かを判定する（Ｓ１１２）。作業ステップは、ロボット４がワーク２に対して作業するステップであり、オペレータの指定に基づいて、動作プログラム中に作業ステップの識別情報が付加される。作業ステップでは、ロボット４の所定位置（ここでは、注入ヘッド４Ａ）を、作業を行う位置に確実に配置する必要がある。修正手段２５は、干渉ステップが作業ステップであるときには（Ｓ１１２−ＹＥＳ）、回避動作設定手段２５Ａにより、干渉する可動物体の一方又は両方の動作速度を変更する（Ｓ１１３）。
【００３８】
本実施形態では、回避動作設定手段２５Ａは、干渉が発生しないように、動作プログラムに設定されたロボット４の動作速度を速く又は遅くする。これにより、ロボット４の動作又は位置をずらして、干渉を回避させる。ロボット４の注入ヘッド４Ａは、他の可動物体に干渉されずに、変更された動作速度及びタイミングで、ワーク２に対して作業する位置に配置される。複数のロボット４は、互いに干渉を回避しつつ、それぞれワーク２に対して作業する。
【００３９】
また、回避動作設定手段２５Ａは、２つのロボット４が干渉するときには、一方のロボット４の動作プログラムを変更する。回避動作設定手段２５Ａは、干渉ステップの１つ前のステップ（前ステップという）から干渉ステップまでのロボット４の動作時間を長く変更する。これにより、ロボット４の動作速度を遅くして、ロボット４の干渉位置を、干渉ステップにおける位置（目標位置）まで遅く移動させる。ただし、他方のロボット４が目標位置から動いたときに、一方のロボット４の干渉位置が目標位置へ短時間で達するように、最適な動作速度を設定する。なお、動作速度の変更に伴い、干渉ステップの前後の動作を変更する必要があるときには、回避動作設定手段２５Ａによりロボット４の各動作を変更する。
【００４０】
動作プログラムの干渉ステップを修正した後、検証手段２５Ｂにより、修正後の動作プログラムを検証する（Ｓ１１４）。検証手段２５Ｂは、動作速度を変更した動作プログラムに基づいて、シミュレーション手段２１及び干渉判定手段２２により、修正した干渉ステップでの干渉の有無を判定させる。判定の結果、干渉が有ると判定されたときには（Ｓ１１５−ＹＥＳ）、再び動作速度を変更して（Ｓ１１３）、動作プログラムを修正する。また、修正後の動作プログラムを検証する（Ｓ１１４）。動作プログラムの修正と検証を、干渉が無いと判定（Ｓ１１５−ＮＯ）されるまで繰り返す。
【００４１】
以上に対し、作業ステップ以外のステップは、ロボット４の作業に直接影響しないステップ、例えば、注入ヘッド４Ａを作業位置へ移動させる移動ステップや、可動物体が動作しない待機ステップである。修正手段２５は、修正する干渉ステップが作業ステップでないときには（Ｓ１１２−ＮＯ）、回避動作設定手段２５Ａにより、動作プログラムに干渉の回避動作ステップを追加する（Ｓ１１６）。これにより、可動物体の干渉時の動作又は位置を変更して、干渉を回避させる。その際、回避動作設定手段２５Ａは、干渉を回避させる方向にロボット４を移動させるステップを作成して、ロボット４の動作プログラムに追加する。この回避動作ステップは、干渉ステップと前ステップの間に追加される。また、回避動作設定手段２５Ａは、干渉ステップ付近のロボット４の動作速度を速くして、ロボット４をステップの追加前後で同じ時間で動作させる。
【００４２】
動作プログラムの干渉ステップを修正した後、検証手段２５Ｂにより、修正後の動作プログラムを検証する（Ｓ１１７）。検証手段２５Ｂは、干渉の回避動作ステップを追加した動作プログラムに基づいて、シミュレーション手段２１及び干渉判定手段２２により、修正した干渉ステップでの干渉の有無を判定させる。判定の結果、干渉が有ると判定されたときには（Ｓ１１８−ＹＥＳ）、再び回避動作ステップを追加して（Ｓ１１６）、動作プログラムを修正する。また、修正後の動作プログラムを検証する（Ｓ１１７）。動作プログラムの修正と検証を、干渉が無いと判定（Ｓ１１８−ＮＯ）されるまで繰り返す。
【００４３】
干渉が無いと判定されたときには（Ｓ１１５−ＮＯ、Ｓ１１８−ＮＯ）、干渉ステップの修正が全て終了したか否かを判定する（Ｓ１１１）。未修正の干渉ステップが有るときには、干渉ステップの修正が全て終了するまで以上の処理を繰り返し（Ｓ１１１−ＮＯ）、干渉ステップを順に修正する。干渉ステップの修正が全て終了したときには（Ｓ１１１−ＹＥＳ）、送信手段１４により、複数の動作プログラムを、それぞれ送信して（Ｓ１０６）、処理を終了する。
【００４４】
以上説明したように、本実施形態の干渉チェック装置５では、ワーク２とロボット４からなる複数の可動物体間の干渉を、シミュレーションにより精度よくチェックできる。また、干渉が発生する動作プログラムを自動で簡便に修正して、干渉が発生しない動作プログラムを取得できる。これに伴い、複数の可動物体間の干渉を防止できるため、ロボット４によりワーク２に対して正確かつ円滑に作業を行うことができる。回避動作設定手段２５Ａにより、複数種類の回避動作を設定できるため、修正する干渉ステップに応じて、動作プログラム及び可動物体の動作を適宜修正できる。
【００４５】
なお、干渉の回避動作は、ロボット４の動作プログラムのみに設定してもよく、ロボット４とワーク２の動作プログラムに設定してもよい。干渉チェックと動作プログラムの修正は、全ての動作プログラムに対してまとめて実行してもよく、動作プログラムを複数グループに分けて実行してもよい。複数の可動物体は、１つのワーク２と１つのロボット４、複数のワーク２と複数のロボット４、１つのワーク２と複数のロボット４、複数のワーク２と１つのロボット４のいずれの組み合わせであってもよい。
【００４６】
また、本発明は、コンピュータを、干渉チェック装置５の以上説明した各手段として機能させるプログラムとして実現することができる。本発明は、発泡成形体の製造作業以外の作業を行うロボットとワークの干渉チェック装置へ適用することもできる。
【符号の説明】
【００４７】
１・・・製造装置、２・・・ワーク、３・・・搬送装置、４・・・ロボット、５・・・干渉チェック装置、６・・・ハブ、１０・・・データ設定装置、１１・・・入力手段、１２・・・記憶手段、１３・・・表示手段、１４・・・送信手段、２０・・・動作プログラム作成装置、２１・・・シミュレーション手段、２１Ａ・・・取得手段、２１Ｂ・・・モデル作成手段、２１Ｃ・・・軌跡演算手段、２２・・・干渉判定手段、２２Ａ・・・位置対比手段、２２Ｂ・・・干渉領域判別手段、２３・・・記憶手段、２３Ａ・・・判定結果記憶手段、２３Ｂ・・・動作プログラム記憶手段、２４・・・表示手段、２５・・・動作プログラム修正手段、２５Ａ・・・回避動作設定手段、２５Ｂ・・・動作プログラム検証手段。
【図１】
0005801569.tif 000002
【図２】
0005801569.tif 000003
【図３】
0005801569.tif 000004