(57)【要約】【課題】実機と同じ動作をするシミュレーションが可能なオフラインプログラミング装置を提供する。【解決手段】ロボットオフラインプログラミング装置２８は、ＮＣシミュレータ１０の第１通信モジュール２６と通信回線２４により接続され、第１通信モジュール２６と信号等の情報の通信を行う第２通信モジュール３０と、前記情報に基づいてロボットのシミュレーションを行うロボットシミュレーション装置すなわちロボットシミュレータ３２と、ロボットシミュレータ３２でのシミュレーション結果を用いてオフラインで教示プログラムを作成するプログラム作成装置３４とを有する。ロボットシミュレータ３２には、シミュレーション対象についての３次元ＣＡＤモデルや仕様を表すデータが格納される。【選択図】図１
2010218036.tif 000002
【特許請求の範囲】
【請求項１】
ＮＣ工作機械のＮＣプログラムを実行するＮＣ装置と通信手段を介して接続され、前記ＮＣ工作機械及びロボットの仮想３次元モデルを画面上に表示し、前記ロボットの教示プログラムを作成するオフラインプログラミング装置であって、
前記ＮＣ装置が制御する制御軸毎に、前記オフラインプログラミング装置に定義されている仮想ＮＣ工作機械の仮想制御軸を対応付ける手段と、
前記ＮＣ装置の制御軸の軸位置情報をリアルタイムに取り込み、前記仮想制御軸をＮＣプログラムの動作に合わせて駆動する手段と、
前記ＮＣ工作機械及び前記ロボットのインターロックシミュレーションのために、前記ＮＣ装置の出力信号及び入力信号を、前記オフラインプログラミング装置に定義されている仮想ロボットの入力信号と出力信号にそれぞれ対応するように定義する手段と、
前記通信手段を介して、前記ＮＣ装置と前記オフラインプログラミング装置との間で信号の状態を相互に読み書きする手段と、
前記ＮＣ工作機械及び前記ロボットの動作シミュレーション、インターロックシミュレーション及び教示プログラムの作成を行う手段と、
を有するオフラインプログラミング装置。
【請求項２】
前記オフラインプログラミング装置に定義されている、前記ＮＣ装置から出力される移動命令により移動する仮想外部機器の仮想３次元モデルを画面上に配置して表示する手段と、
前記仮想外部機器に対して、前記ＮＣ装置から出力される移動開始信号と、前記移動開始信号によって移動する前記外部機器の移動量と速度、又は移動時間、及び移動が完了した時に出力される前記ＮＣ装置への移動完了信号とを定義する手段と、
前記ＮＣ装置の移動開始信号を前記通信手段を介して受け取ると、前記定義した条件に従って前記外部機器の仮想３次元モデルを移動し、前記ＮＣ装置の移動命令による前記外部機器の動作シミュレーション及び教示プログラムの作成を行う手段と、
をさらに有する請求項１に記載のオフラインプログラミング装置。
【請求項３】
前記オフラインプログラミング装置に定義されている、ＮＣ工作機械及びロボットを含む実際のシステムで使用されるセンサの機能を擬した仮想センサの仮想３次元モデルを前記画面上に配置して表示する手段と、
前記仮想センサからの出力信号を前記ＮＣ装置の入力信号又は前記仮想ロボットの入力信号に割り当てる手段と、
前記出力信号を前記オフラインプログラミング装置から通信回線を介して前記ＮＣ装置又は前記仮想ロボットに入力信号として入力し、前記ＮＣ工作機械、前記ロボット及び前記センサの動作シミュレーション及び教示プログラムの作成を行う手段と、
をさらに有する請求項１又は２に記載のオフラインプログラミング装置。
【請求項４】
前記オフラインプログラミング装置に定義されている、ＮＣ工作機械及びロボットを実際のシステムにおいて該ＮＣ工作機械及びロボットの少なくとも一方の状態を視覚的に確認するための表示灯を擬した仮想表示灯の仮想３次元モデルを前記画面上に配置して表示する手段と、
前記仮想表示灯の入出力信号を前記ＮＣ装置の入出力信号又は前記仮想ロボットの入出力信号に割り当てる手段と、
前記仮想表示灯の入出力信号を通信回線を介して前記ＮＣ装置又は前記仮想ロボットの入出力信号に入出力することにより、前記ＮＣ装置又は前記仮想ロボットの入出力信号によって前記表示灯を点灯又は点滅する動作シミュレーション及び教示プログラムの作成を行う手段と、
をさらに有する請求項１〜３のいずれか１項に記載のオフラインプログラミング装置。
【請求項５】
前記ＮＣ装置によってＮＣプログラムを実行することにより移動する可動テーブルの位置情報に基づいて、ロボットがハンドリングすべき位置を自動的に求めて該位置を教示位置とする手段をさらに有する請求項１〜４のいずれか１項に記載のオフラインプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣ工作機械とロボットを使用した加工システムや、ＮＣ装置を使用した産業機械とロボットを組み合わせた生産システム又は搬送装置において、教示プログラムを作成するオフラインプログラミング装置に関する。
【背景技術】
【０００２】
ＮＣ工作機械の分野では、ＮＣプログラムから機械動作を計算して加工シミュレーションを行い、その結果を表示するＣＡＭ等の手法が知られている。一方、ロボットオフライン装置にロボット制御装置やＮＣ装置の擬似的機能を持たせる手法も提唱されている。例えば特許文献１には、複数の擬似コントローラと、シーケンサと、擬似操作盤と、シミュレーションデータに基づいてロボットの姿勢を表示するビューワと、汎用ネットワークと、シミュレーションに必要なオブジェクトを設定し記録する管理コンピュータとを備え、管理コンピュータがシーケンサ、擬似操作盤及びビューワにオブジェクトを供給し、複数の擬似コントローラのうちシミュレーションに必要な台数分にティーチングデータを供給するように構成したシミュレーション装置が開示されている。
【０００３】
また特許文献２には、操作端末、表示部、シミュレーション部及びユニット形状データを含み、実際の露光装置とリアルタイムに連動して、制御対象ユニットの動作に従って３次元シミュレーションを実行するシミュレーション装置が開示されている。
【０００４】
さらに特許文献３には、主回路１１、各設備に相当する応答回路１２〜１４、アドレス変換回路１５、各応答回路１２〜１４における応答時間を可変する応答時間可変回路１６、各設備の異常を疑似的に発生する異常発生回路１７、実機における作業者の操作を疑似的に生成する疑似操作回路１８等からなるシミュレーションホスト側ＰＬＣ２を通信回線を介してシミュレーション対象ＰＬＣ１に接続してなるシミュレーション装置が開示されており、シミュレーションのモードは、操作盤４上の異常発生スイッチ２０、連続運転スイッチ２１、いじわるスイッチ２２等によって設定するとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１４８４２８号公報
【特許文献２】特開２００３−１３３２００号公報
【特許文献３】特開平９−２３０９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットオフライン装置にロボット制御装置やＮＣ装置の擬似的機能を持たせる装置は従来からあったが、擬似機能では複雑な制御を行うＮＣ装置やロボット装置の代用をするには機能的に不十分であり、シミュレーション精度にも不十分な場合が多かった。さらにＮＣ装置の動作やロボットの動作や周辺装置の制御を総合的に正確に再現することのできるシミュレーション装置はなく、故にＮＣ工作機械とロボットとの同期動作を含むシミュレーションやインターロックシミュレーションは行えず、そのためＮＣ工作機械、ロボット及び周辺機器間での干渉や、サイクルタイムの検証、安全領域の確保及び生産計画を事前に行うことができなかった。
【０００７】
ロボットとＮＣ工作機械とを組み合わせたシステムにおける従来のロボットオフラインプログラミングでは、ＮＣ工作機械内のテーブルや加工ツールなどの可動部の動作位置をオフランプログラミング装置内に入力し再現する手段がなく、加工ワークによって異なるワークの位置をオフラインプログラミング装置の仮想空間上に配置決定する手段もなかったため、ＮＣ工作機械への加工ワークのロードアンロードをロボットで行うプログラムや、ＮＣ工作機械の動作と同期した動作を行うロボットプログラムをオフラインで作成することもできなかった。
【０００８】
実際のシステムではロボットが制御する外部装置のアクチュエータの他に、ＮＣ工作機械が制御する工作機械内のゲートやクランパ等のアクチュエータが存在する。しかし従来のロボットオフラインシステムでは、これらのアクチュエータの動作を再現する方法がなく、故にロボットとＮＣ装置が制御するアクチュエータとの干渉を検討することができなかった。
【０００９】
また実際のシステムでは、近接センサやエリアセンサ等の、ロボットシステムで使用されるワークや装置の移動や配置状態を感知するためのセンサが存在する。しかし、従来のオフラインプログラミング装置では、これらのセンサ機能を実現する方法がないため、センサの出力信号をロボット又はＮＣ装置が受信することによって制御シーケンスを分岐するようなシミュレーションができなかった。
【００１０】
さらに実際のシステムでは、ロボット及びＮＣ装置の運転状態を表示するパトライト（登録商標）等の表示灯又は表示機が存在し、ロボット又はＮＣ装置が制御信号を表示機に出力して該表示機を制御し、一方表示機はその表示状態を示すフィードバック信号をＮＣ装置に返すことにより、ＮＣ装置は表示機の状態を知ることができる。しかし、オフラインプログラミング装置では表示機の機能を実現する方法がないため、ロボット又はＮＣ装置が制御する表示機の表示を切り替えるシミュレーションができなかった。
【００１１】
そこで本発明は、上述のように従来はできなかった種々の機能を備え、実機と同じ動作をするシミュレーションが可能なオフラインプログラミング装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に記載の発明は、ＮＣ工作機械のＮＣプログラムを実行するＮＣ装置と通信手段を介して接続され、前記ＮＣ工作機械及びロボットの仮想３次元モデルを画面上に表示し、前記ロボットの教示プログラムを作成するオフラインプログラミング装置であって、前記ＮＣ装置が制御する制御軸毎に、前記オフラインプログラミング装置に定義されている仮想ＮＣ工作機械の仮想制御軸を対応付ける手段と、前記ＮＣ装置の制御軸の軸位置情報をリアルタイムに取り込み、前記仮想制御軸をＮＣプログラムの動作に合わせて駆動する手段と、前記ＮＣ工作機械及び前記ロボットのインターロックシミュレーションのために、前記ＮＣ装置の出力信号及び入力信号を、前記オフラインプログラミング装置に定義されている仮想ロボットの入力信号と出力信号にそれぞれ対応するように定義する手段と、前記通信手段を介して、前記ＮＣ装置と前記オフラインプログラミング装置との間で信号の状態を相互に読み書きする手段と、前記ＮＣ工作機械及び前記ロボットの動作シミュレーション、インターロックシミュレーション及び教示プログラムの作成を行う手段と、を有するオフラインプログラミング装置を提供する。
【００１３】
請求項２に記載の発明は、請求項１に記載のオフラインプログラミング装置において、前記オフラインプログラミング装置に定義されている、前記ＮＣ装置から出力される移動命令により移動する仮想外部機器の仮想３次元モデルを画面上に配置して表示する手段と、前記仮想外部機器に対して、前記ＮＣ装置から出力される移動開始信号と、前記移動開始信号によって移動する前記外部機器の移動量と速度、又は移動時間、及び移動が完了した時に出力される前記ＮＣ装置への移動完了信号とを定義する手段と、前記ＮＣ装置の移動開始信号を前記通信手段を介して受け取ると、前記定義した条件に従って前記外部機器の仮想３次元モデルを移動し、前記ＮＣ装置の移動命令による前記外部機器の動作シミュレーション及び教示プログラムの作成を行う手段と、をさらに有するオフラインプログラミング装置を提供する。
【００１４】
請求項３に記載の発明は、請求項１又は２に記載のオフラインプログラミング装置において、前記オフラインプログラミング装置に定義されている、ＮＣ工作機械及びロボットを含む実際のシステムで使用されるセンサの機能を擬した仮想センサの仮想３次元モデルを前記画面上に配置して表示する手段と、前記仮想センサからの出力信号を前記ＮＣ装置の入力信号又は前記仮想ロボットの入力信号に割り当てる手段と、前記出力信号を前記オフラインプログラミング装置から通信回線を介して前記ＮＣ装置又は前記仮想ロボットに入力信号として入力し、前記ＮＣ工作機械、前記ロボット及び前記センサの動作シミュレーション及び教示プログラムの作成を行う手段と、をさらに有するオフラインプログラミング装置を提供する。
【００１５】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載のオフラインプログラミング装置において、前記オフラインプログラミング装置に定義されている、ＮＣ工作機械及びロボットを実際のシステムにおいて該ＮＣ工作機械及びロボットの少なくとも一方の状態を視覚的に確認するための表示灯を擬した仮想表示灯の仮想３次元モデルを前記画面上に配置して表示する手段と、前記仮想表示灯の入出力信号を前記ＮＣ装置の入出力信号又は前記仮想ロボットの入出力信号に割り当てる手段と、前記仮想表示灯の入出力信号を通信回線を介して前記ＮＣ装置又は前記仮想ロボットの入出力信号に入出力することにより、前記ＮＣ装置又は前記仮想ロボットの入出力信号によって前記表示灯を点灯又は点滅する動作シミュレーション及び教示プログラムの作成を行う手段と、をさらに有するオフラインプログラミング装置を提供する。
【００１６】
請求項５に記載の発明は、請求項１〜４のいずれか１項に記載のオフラインプログラミング装置において、前記ＮＣ装置によってＮＣプログラムを実行することにより移動する可動テーブルの位置情報に基づいて、ロボットがハンドリングすべき位置を自動的に求めて該位置を教示位置とする手段をさらに有するオフラインプログラミング装置を提供する。
【発明の効果】
【００１７】
本発明によれば、実際のＮＣ装置を使用してＮＣ工作機械の機械情報を通信手段を用いてオフラインプログラミング装置に読込み、そのデータからＮＣ工作機械及びロボットの仮想モデルを表示してそれらの動作シミュレーション及びインターロックシミュレーションを行うことができる。従って従来は出来なかったＮＣ工作機械及びロボットを使用したシステムのロボットオフライン教示が可能になり、実機と同じ動作をするシミュレーションを行うことができる。そのため、システム全体のサイクルタイムの検証、干渉チェック、プログラムのデバッグが可能になりロボットの立ち上げ時間の短縮、シーケンスのバグによるシステム不具合を回避することが可能になる。
【００１８】
本発明によれば、オフラインプログラミング装置にさらに仮想外部機器、仮想センサ及び仮想表示灯を定義し、それらも含めたＮＣ工作機械及びロボットの動作シミュレーション及び教示プログラムの作成を行うことができる。
【００１９】
また本発明によれば、ＮＣ装置によってＮＣプログラムを実行することにより移動する可動テーブルの位置情報に基づいて、ロボットがハンドリングすべき位置を自動的に求めて該位置を教示位置とした教示プログラムを作成することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係るオフラインプログラミング装置とＮＣ装置とを含むシステムの一構成例を示す図である。
【図２】図１のシステムを用いたシミュレーション例を示す図である。
【図３】図２のシミュレーションに仮想ゲートを付加した例を示す図である。
【図４】図３のシミュレーションに仮想エリアセンサを付加した例を示す図である。
【図５】図３又は図４のシミュレーションに仮想表示灯を付加した例を示す図である。
【図６】図５のシミュレーションにおいて仮想ロボットが仮想ワークを把持して移動させている状態を示す図である。
【発明を実施するための形態】
【００２１】
図１は、本発明に係るロボットオフラインプログラミング装置とＮＣ装置とを組み合わせたシステム構成例を示す図である。なお本願発明における「ＮＣ装置」なる用語は、ＮＣ工作機械のＮＣプログラムを実行する実際のＮＣ装置、及び該ＮＣ装置に準ずる機能を備えたＮＣシミュレーション装置を含むものとする。ＮＣ装置の一実施例として図示されるＮＣシミュレータ１０は、ＮＣプログラムを編集するＮＣプログラム編集モジュール１２と、該ＮＣプログラムを実行するＮＣプログラム実行モジュール１４と、ラダープログラムを編集するラダー編集モジュール１６と、該ラダープログラムを実行するラダー実行モジュール１８と、Ｉ／Ｏデータの入出力を行うためのＩ／Ｏ入出力モジュール２０と、ＮＣシミュレータ１０のシミュレーション対象であるＮＣ工作機械（図示せず）のサーボ軸を制御するサーボモジュール２２と、後述するロボットシミュレータの第２通信モジュールと通信回線２４により接続され、該第２通信モジュールと信号等の情報の通信を行う第１通信モジュール２６とを有する。
【００２２】
ロボットオフラインプログラミング装置２８は、前述したＮＣシミュレータ１０の第１通信モジュール２６と通信回線２４により接続され、第１通信モジュール２６と信号等の情報の通信を行う第２通信モジュール３０と、前記情報に基づいてロボットのシミュレーションを行うロボットシミュレーション装置すなわちロボットシミュレータ３２と、ロボットシミュレータ３２でのシミュレーション結果を用いてオフラインで教示プログラムを作成するプログラム作成装置又はプログラム作成モジュール３４とを有する。ロボットシミュレータ３２には、シミュレーション対象についての３次元ＣＡＤモデルや仕様を表すデータが格納されており、図示例ではシミュレーション対象であるロボット、ＮＣ工作機械、外部機器及び各種センサのデータが、それぞれ仮想ロボット３６、仮想ＮＣ工作機械３８、仮想外部機器４０及び仮想センサ４２として定義されている。
【００２３】
ロボットシミュレータ３２はさらに、上述のシミュレーション対象の３次元モデルを画面表示する３次元モデル表示モジュール４４と、シミュレーションを実行し制御するシミュレーション制御モジュール４６とを有する。
【００２４】
図２は、図１に示すシステムを用いてシミュレーションを行っている状態を示す図である。ロボットシミュレータ３２の表示モジュール４４には仮想空間が表示され、該仮想空間内に仮想ロボット３６及び仮想ＮＣ工作機械３８が所定のレイアウトに基づいて配置されている。なお図２に示す例では、仮想ＮＣ工作機械３８が仮想可動テーブル４８及び該テーブル上に配置された仮想ワーク５０を加工する仮想可動ツール５２を有し、仮想ロボット３６が加工後の仮想ワーク５０を仮想可動テーブル４８とともに所定の位置へ搬送する形態をシミュレーションするものとする。
【００２５】
図１及び図２に示すように、ＮＣシミュレータ１０の各モジュールから出力されたＮＣ位置データやＩ／Ｏデータを含む信号情報は、第１通信モジュール２６及び第２通信モジュール３０を介してロボットシミュレータ３２にリアルタイムで送られる。ロボットシミュレータ３２のシミュレーション制御モジュール４６は、送られた信号情報を読み込み、該信号情報を含む信号の入出力を、予め仮想空間に配置されている仮想ロボット３６及び仮想ＮＣ工作機械３８との間で行う。ＮＣシミュレータ１０の出力信号及び入力信号は、それぞれ仮想ロボット３６の入力信号及び出力信号にそれぞれ対応するように定義され、これらの信号は通信モジュールを介してＮＣシミュレータ１０とオフラインプログラミング装置２８との間で相互に読み書きされる。従って本ロボットシミュレータでは、実システムと同じ環境で動作シミュレーション及びインターロックシミュレーションを行うことができる。
【００２６】
仮想ＮＣ工作機械３８の可動テーブル４８及び可動ツール５２等の可動部の位置は、ＮＣシミュレータ１０でＮＣプログラムを実行することによって正確に知ることができる。ＮＣプログラム実行中の各可動部を駆動する制御軸の軸位置情報は、第１通信モジュール２６及び第２通信モジュール３０を介してオフラインプログラミング装置２８がリアルタイムに読み取ることができる。ここで、ＮＣシミュレータ１０から出力される位置情報は、基準となる３次元空間上の座標原点情報を持たないので、ＮＣ工作機械における原点は３次元空間上のどの場所にあってどの方向に移動するのかを、ＮＣ工作機械の設計に基づいて予め定義する必要がある。本発明に係るオフラインプログラミング装置のシミュレーション制御モジュールでは、予め仮想３次元空間上にロボットやＮＣ工作機械の仮想モデルを配置し、次にＮＣ工作機械の設計に基づき、仮想ＮＣ工作機械内の仮想可動テーブル及び仮想可動ツール等の各可動部を駆動する仮想制御軸（例えば仮想サーボ軸）について、対応するＮＣシミュレータが制御する制御軸の仕様を定義し、また各可動部の３次元モデルを仮想ＮＣ工作機械内の相対位置に配置しておく。制御軸の仕様には、該制御軸の動作方向、動作原点、動作距離、動作速度又は動作時間等が含まれる。
【００２７】
ＮＣシミュレータ１０とロボットオフラインプログラム装置２８との通信を開始すると、オフラインプログラミング装置２８はＮＣシミュレータ１０からのリアルタイムの位置情報に従って、予め定義しておいた仮想可動テーブル及び仮想加工ツール等の可動部を移動させる仮想制御軸を、定義した原点を基準として駆動させ、これによって仮想空間内で各仮想可動部が移動してＮＣ工作機械のシミュレーションが可能になる。ＮＣプログラムによって制御される工作機械の動作を正確に取り込むことにより、仮想ワーク５０の３次元上の位置を獲得することができるので、その位置に基づいて仮想ロボット３６のプログラミングや干渉チェックを行うことができる。
【００２８】
図３は、図２の構成に、仮想ロボット３６と仮想工作機械３８との間に開閉式の仮想ゲート５４を外部機器の一例として仮想空間内に追加した例を示す。仮想ゲート５４を駆動する仮想のアクチュエータ又は制御軸（図示せず）を制御する制御信号は、ＮＣシミュレータ１０から出力されて通信モジュールを介してロボットオフラインプログラミング装置２８によってリアルタイムで読み取られる。制御信号によって動作する仮想ゲート５４の３次元モデルは、オフラインプログラミング装置の仮想３次元空間内に配置されて表示される。シミュレーション制御モジュール４６（図１）は、ロボットシミュレータ３２に定義されている仮想ゲートの３次元モデルの原点、移動距離、移動方向、移動速度又は移動時間、仮想ゲート５４を駆動する仮想制御軸を制御するＮＣシミュレータ１０からの移動命令に含まれる制御信号の条件（信号のアドレスと種類）、ＮＣシミュレータにフィードバックする信号の定義、及びその信号を出力する条件（仮想ゲートの位置）を、仮想ゲート５４に予め定義付ける。この移動命令には、ＮＣシミュレータ１０から出力される移動開始信号と、該移動開始信号によって移動している仮想ゲートの移動が完了した時にロボットシミュレータ側からＮＣシミュレータに出力される移動完了信号が含まれる。
【００２９】
シミュレーション制御モジュール４６は、ＮＣシミュレータ１０の移動開始信号を通信モジュールを介して受け取ると、定義した条件に従って仮想ゲート５４の仮想３次元モデルを移動し、ＮＣシミュレータ１０からの移動命令に基づく仮想ゲート動作シミュレーション及び教示プログラムの作成を行うことができる。具体的には、シミュレーション制御モジュール４６は、ＮＣシミュレータから入力される信号の条件が仮想ゲート５４に定義された所定の起動条件を満たした場合は、設定された移動条件に従って仮想ゲート５４を駆動し、仮想ゲート５４が設定された移動距離だけ移動したら該仮想ゲートを停止させる。また予め定義したフィードバック信号を、予め設定された仮想ゲート５４の位置毎にＮＣシミュレータ側に出力することにより、実機と同様のＮＣ工作機械による外部機器の制御シミュレーションが可能になる。
【００３０】
図４は、図３の構成に、仮想工作機械３８近傍の所定のエリア内に物体が進入したことを感知し信号を出力する仮想エリアセンサ５６を、仮想センサ４２の一例としてロボットシミュレータ３２に定義し、仮想空間内に追加した例を示す。図４の例では仮想エリアセンサ５６は、仮想可動テーブル４８と仮想ゲート５４との間の空間内に仮想ロボット３６等の物体が進入したことを感知するものであり、ＮＣ工作機械及びロボットを含む実際のシステムで使用されるエリアセンサの機能を擬したものである。シミュレーション制御モジュール４６（図１）は、物体が近接する方向やエリアセンサが感知する距離範囲等の条件、さらに感知した際に出力する信号を仮想エリアセンサ５６に定義付ける。仮想３次元空間上で仮想ロボット３６、仮想ワーク５０又は他の仮想外部機器が仮想エリアセンサ５６に接近して、予め設定された条件が満たされたときは各種の信号が出力される。該信号は、その種類によってＮＣシミュレータ１０又は仮想ロボット３６のいずれに割り当てられるかが予め定められており、ＮＣシミュレータ又は仮想ロボットにセンサからの入力信号としてリアルタイムで送られる。これにより、エリアセンサを使用した実機と同様のシミュレーションが可能になる。なおエリアセンサの代わりに又はそれに加えて、物体が近寄ると感知し信号を出力する近接センサや、物体が接触したことを感知する接触センサ又は力センサを仮想センサとして用いることもできる。
【００３１】
図５は、図３又は図４の構成に、仮想ＮＣ工作機械３８及び仮想ロボット３６の少なくとも一方の状態を視覚的に確認できるようにするためのパトライト（登録商標）等の仮想の表示灯５８を、仮想外部機器４０の他の例として仮想空間内に追加した例を示す。信号によってライト等の発光体を点灯させる表示灯機能を持った仮想表示灯５８を仮想３次元空間内に配置し、仮想ＮＣ工作機械３８に対して実機と同様の相対位置関係となるようにする。仮想表示灯５８の入出力信号は、その種類によってＮＣシミュレータ１０の入出力信号又は仮想ロボット３６の入出力信号のいずれかに予め割り当てられており、仮想表示灯５８の入出力信号がＮＣシミュレータ１０又は仮想ロボット３６に入出力されることにより、ＮＣ装置又は仮想ロボットの入出力信号によって表示灯を点滅又は点灯させるような動作シミュレーション及び教示プログラムが可能となる。
【００３２】
例えば、シミュレーション制御モジュール４６（図１）は、ＮＣシミュレータ１０から出力される仮想表示灯用の信号と、該表示灯を点灯させるための信号の条件（ＯＮ／ＯＦＦ）と、点灯したことを通知するためのフィードバック信号とを予め定義しておく。定義された仮想表示灯用の信号は、通信モジュールを介してオフラインプログラミング装置２８側にリアルタイムで読み込まれる。読み込まれた信号が定義した上記条件を満足すると、仮想３次元空間内で仮想表示灯５８が点灯する。また定義されたフィードバック信号を、通信モジュールを介してＮＣシミュレータにフィードバックすることにより、実機と同様な表示灯のシミュレーションを行うことができる。
【００３３】
図６は、図５の構成における教示プログラムの生成例を示す。プログラム作成装置３４（図１）は、上述のシミュレーションによって得られた仮想可動テーブル４８の位置から仮想ワーク５０の位置を求め、これと仮想ロボット３６の位置とから、仮想ロボット３６による仮想ワーク５０のハンドリング位置を求め、教示プログラムを作成する。ここでは、ＮＣシミュレータ１０によってＮＣプログラムを実行することにより、移動する可動テーブルの位置情報に基づいて、ロボットがハンドリングすべき位置を自動的に求めて該位置を教示位置とし、これらの教示位置を用いて正確な教示プログラムを作成することができる。
【００３４】
本発明では、従来はできなかったＮＣ工作機械及びロボットを含むシステムにおけるロボットのオフライン教示が可能であり、かつＮＣシミュレータとロボットシミュレータとを通信モジュールで接続することにより実機と同じ動作をするシミュレーションを行うことができる。また本発明では、上述の仮想ゲート５４、仮想エリアセンサ５６及び仮想表示灯５８等も含めた正確な動作検証を行うことができ、インターロックシミュレーションも行うことができる。故にシステム全体のサイクルタイムの検証、機器間の干渉チェック、プログラムのデバッグが可能となり、ロボットの立ち上げ時間の短縮や、シーケンスのバグによるシステムの不具合の回避を、実機で検証することなく行うことができる。
【符号の説明】
【００３５】
１０    ＮＣシミュレータ
２６    第１通信モジュール
２８    オフラインプログラミング装置
３０    第２通信モジュール
３２    ロボットシミュレータ
３４    プログラム作成装置
３６    仮想ロボット
３８    仮想ＮＣ工作機械
４０    仮想外部機器
４２    仮想センサ
４４    ３次元モデル表示モジュール
４６    シミュレーション制御モジュール
４８    仮想可動テーブル
５０    仮想ワーク
５２    仮想ツール
５４    仮想ゲート
５６    仮想エリアセンサ
５８    仮想表示灯
【図１】
2010218036.tif 000003
【図２】
2010218036.tif 000004
【図３】
2010218036.tif 000005
【図４】
2010218036.tif 000006
【図５】
2010218036.tif 000007
【図６】
2010218036.tif 000008