(57)【要約】【課題】オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションする。【解決手段】シミュレーション装置１０は、擬似コントローラ１２と、シーケンサ１４と、擬似操作盤１６と、シミュレーションデータに基づいてロボットを表示するビューワ１８と、ＦＡ用ネットワーク２６と、汎用ネットワーク２８とを備える。擬似コントローラ１２とビューワ１８は汎用ネットワーク２８で接続される。シーケンサ１４と擬似コントローラ１２はＦＡ用ネットワーク２６で接続される。擬似コントローラ１２は、ティーチングデータに基づいて仮想のロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成し、汎用ネットワーク２８を介してシミュレーションデータをビューワ１８へ供給する。【選択図】図２
2004151976.tif 000002
【特許請求の範囲】
【請求項１】
多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置において、
ロボット用のティーチングデータが格納され、該ティーチングデータに基づき、前記ロボットを示す仮想ロボットの動作制御を行うとともに、前記仮想ロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成する擬似コントローラと、
前記シーケンサと前記擬似コントローラとを接続する主通信手段と、
前記主通信手段を介して、少なくとも前記擬似コントローラを制御するシーケンサと、
少なくとも前記シーケンサに対して操作信号の送受信を行う擬似操作盤と、
前記シミュレーションデータに基づいて前記仮想ロボットの姿勢に関する情報を表示するビューワと、
前記擬似コントローラと前記ビューワとを接続する副通信手段と、
を有し、
前記擬似コントローラは、前記副通信手段を介して前記シミュレーションデータを前記ビューワへ供給することを特徴とするシミュレーション装置。
【請求項２】
請求項１記載のシミュレーション装置において、
前記ビューワは、前記仮想ロボットを３次元表示することを特徴とするシミュレーション装置。
【請求項３】
請求項１または２記載のシミュレーション装置において、
前記擬似コントローラは、前記ティーチングデータに基づく出力データまたは入力データに関する入出力情報を、前記副通信手段を介して前記ビューワにリアルタイムに供給し、
前記ビューワは、前記入出力情報を表示することを特徴とするシミュレーション装置。
【請求項４】
請求項１〜３のいずれか１項に記載のシミュレーション装置において、
前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、
前記追従遅れ時間を考慮して前記シミュレーションデータを生成することを特徴とするシミュレーション装置。
【請求項５】
請求項１〜４のいずれか１項に記載のシミュレーション装置において、
前記擬似コントローラは、前記仮想ロボットの付加軸の動作時間を推定する付加軸動作推定機能部を有し、前記付加軸動作推定機能部を用いて前記付加軸の状態に関する情報を前記ビューワに供給し、
前記ビューワは、前記付加軸に関する情報を表示することを特徴とするシミュレーション装置。
【請求項６】
請求項１〜５のいずれか１項に記載のシミュレーション装置において、
前記シーケンサは、該シーケンサの動作周期を設定する処理時間設定機能部を有することを特徴とするシミュレーション装置。
【請求項７】
請求項１〜６のいずれか１項に記載のシミュレーション装置において、
前記模擬操作盤または前記ビューワは、シミュレーションの実行時間を計測する時間計測機能部を有することを特徴とするシミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置に関し、特に、ロボットの動作制御を行うロボットコントローラと、該ロボットコントローラに通信手段を介して接続されたシーケンサを有するシステムの動作検証を行うシミュレーション装置に関する。
【０００２】
【従来の技術】
自動車のプレス部品の接合工程等において、多関節型のロボットが利用されている。このようなロボットの動作教示は、３次元ＣＡＤ等を用いることにより実機のロボットを不要とするオフラインによる教示、所謂オフラインティーチングが行われている。
【０００３】
また、実際上、ロボットは単体で動作する訳ではなく、例えば、図１０に示すような構成のシステム５００の場合、ロボット５０２を制御するロボットコントローラ５１２と、ロボットの動作の開始および停止等の操作を行う操作盤５１８と、ロボットコントローラ５１２と操作盤５１８との間に設けられるシーケンサ（プログラマブルロジックコントローラとも呼ばれる）５０８とを有する。シーケンサ５０８とロボットコントローラ５１２はＦＡ用のネットワーク５１０で接続されている。また、シーケンサ５０８は搬送ライン（図示せず）等にも接続されて制御を行っている。システム５００の基本的な動作は操作盤５１８によって作業員が操作できるようになっている。
【０００４】
ロボット５０２には、例えば、６つの関節の動作により、６自由度を有する多関節型の産業用ロボットが用いられる。ロボット５０２の先端部には溶接ガン５２０が設けられており、この溶接ガン５２０によってワーク５２４の溶接を行うことができる。
【０００５】
ところで、オフラインティーチングによる教示動作を行った後に、動作の検証を行うためにシミュレーションを行う必要があるが、このシミュレーションは実機に対して動作の位置精度と実行時間の精度が高いことが必要である。
【０００６】
シミュレーションを行う方法として、シミュレーション装置上のモデルと実機とを同時に動作させて該モデルと実際のロボットとの動作を相互に確認する方法（例えば、特許文献１参照）や、ロボット言語の異なる複数種類のロボットに対して、各教示点において動作の整合性を確認する方法（例えば、特許文献２参照）が提案されている。
【０００７】
【特許文献１】
特開平８−８７３１６号公報（図１）
【特許文献２】
特開２００２−３６１５６号公報（段落［００２７］〜［００３８］）
【０００８】
【発明が解決しようとする課題】
ところで、ロボット５０２を含むシステム５００（図１０参照）のシミュレーションを行うと、以下の理由により実際の動作時間と比較して誤差が発生することがある。
【０００９】
すなわち、ロボット５０２を高密度に配置したシステム５００では、ロボットコントローラ５１２とシーケンサ５０８との間のネットワーク５１０による通信時間は考慮されていないために、この通信時間に基づく誤差が発生する。さらに、シーケンサ５０８は種類によって処理速度が異なるので、シーケンサ５０８を含めたシステム５００のシミュレーションを１台のコンピュータ内で精度よく行うことは困難である。
【００１０】
また、前記の従来技術のうち特許文献１に開示された方法では、実際のロボットを動かすことにより動作検証を行うので、教示処理に実機が不要であるというオフラインティーチングの特徴が活かされない。
【００１１】
前記の特許文献２に開示された方法では、各教示点毎に動作の検証を行うために教示点でシミュレーション処理が途切れることになり、ロボットが複雑な動作を連続的に行う場合に誤差が生じる。つまり、各教示点毎に動作確認を行うために、時間的に先行した計算を行うという、教示点の先読み動作ができない。さらに、ロボットシミュレータから教示データをロボットコントローラに出力しながらシミュレーションを行うので、シミュレーションの精度および時間はロボットシミュレータの能力に依存する。
【００１２】
さらに、特許文献１および２に開示された方法では、シーケンサや通信手段の作用は考慮されていないので、これらのシーケンサおよび通信手段に起因する誤差が発生する。
【００１３】
本発明はこのような課題を考慮してなされたものであり、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションすることを可能にするシミュレーション装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明に係るシミュレーション装置は、多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置において、ロボット用のティーチングデータが格納され、該ティーチングデータに基づき、前記ロボットを示す仮想ロボットの動作制御を行うとともに、前記仮想ロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成する擬似コントローラと、前記シーケンサと前記擬似コントローラとを接続する主通信手段と、前記主通信手段を介して、少なくとも前記擬似コントローラを制御するシーケンサと、少なくとも前記シーケンサに対して操作信号の送受信を行う擬似操作盤と、前記シミュレーションデータに基づいて前記仮想ロボットの姿勢に関する情報を表示するビューワと、前記擬似コントローラと前記ビューワとを接続する副通信手段と、を有し、前記擬似コントローラは、前記副通信手段を介して前記シミュレーションデータを前記ビューワへ供給することを特徴とする。
【００１５】
擬似コントローラ、擬似操作盤、シーケンサおよび主通信手段を実際のシステムにおける機器と類似または同一の機器を選定することにより、実機の構成との差異が小さくなり、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションすることができる。
【００１６】
また、シミュレーションデータは、副通信手段を介してビューワに供給されるので、該ビューワによりリアルタイムでシミュレーション状況を監視および検証することができる。
【００１７】
この場合、前記ビューワは、前記仮想ロボットを３次元表示すると、動作状態を把握しやすい。
【００１８】
また、前記擬似コントローラは、前記ティーチングデータに基づく出力データまたは入力データに関する入出力情報を、前記副通信手段を介して前記ビューワにリアルタイムに供給し、前記ビューワは、前記入出力情報を表示するようにしてもよい。
【００１９】
さらに、前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、前記追従遅れ時間を考慮して前記シミュレーションデータを生成すると、より正確なシミュレーションを行うことができる。
【００２０】
前記擬似コントローラは、前記仮想ロボットの付加軸の動作時間を推定する付加軸動作推定機能部を有し、前記付加軸動作推定機能部を用いて前記付加軸の状態に関する情報を前記ビューワに供給し、前記ビューワは、前記付加軸に関する情報を表示するようにしてもよい。
【００２１】
さらにまた、前記シーケンサは、該シーケンサの動作周期を設定する処理時間設定機能部を有すると、実際に使用されるシーケンサと同じ動作周期に設定することができ、より正確なシミュレーションを行うことができる。
【００２２】
前記模擬操作盤または前記ビューワは、シミュレーションの実行時間を計測する時間計測機能部を有すると、シミュレーション時間を正確に計測および記録することができる。
【００２３】
【発明の実施の形態】
以下、本発明に係るシミュレーション装置について好適な実施の形態を挙げ、添付の図１〜図１０を参照しながら説明する。
【００２４】
図１および図２に示すように、本実施の形態に係るシミュレーション装置１０は、例えば、システム５００（図１０参照）におけるロボット５０２の動作を仮想空間上でシミュレーションするものであり、実際のロボットコントローラ５１２の代わりに擬似コントローラ１２が仮想のロボットＲ（図３参照）を制御する。
【００２５】
シミュレーション装置１０は、擬似コントローラ１２と、シーケンス処理を行うシーケンサ１４と、擬似操作盤１６と、シミュレーションの結果を表示するビューワ１８と、ロボットＲのティーチングデータを作成するオフラインティーチングコンピュータ２０とを有する。オフラインティーチングコンピュータ２０で作成するティーチングデータは、ロボットＲの動作プログラム自体と、動作経路を示す複数の教示点データとから構成される。
【００２６】
擬似操作盤１６、ビューワ１８、オフラインティーチングコンピュータ２０はそれぞれモニタ画面１６ａ、１８ａ、２０ａを備える。
【００２７】
また、シミュレーション装置１０は、ＦＡ用ネットワーク（主通信手段）２６と、汎用ネットワーク（副通信手段）２８とを有する。ＦＡ用ネットワーク２６は、擬似コントローラ１２と、シーケンサ１４とを接続しており、これらの機器間のデータ通信を行う。汎用ネットワーク２８は、擬似コントローラ１２と、シーケンサ１４と、擬似操作盤１６と、ビューワ１８と、オフラインティーチングコンピュータ２０と、オブジェクトコンピュータ２４とが接続されており、これらの機器間のデータ通信を行う。擬似操作盤１６とシーケンサ１４とは専用の通信手段２５で接続されている。擬似操作盤１６とシーケンサ１４とは、ＦＡ用ネットワーク２６または汎用ネットワーク２８により通信を行うようにしてもよい。
【００２８】
擬似コントローラ１２、シーケンサ１４、擬似操作盤１６およびＦＡ用ネットワーク２６は、図１０における実際のロボットコントローラ５１２、シーケンサ５０８、操作盤５１８およびネットワーク５１０にそれぞれ相当する。
【００２９】
ロボットＲおよびロボット５０２は、例えば、図３に示すような産業用の多関節ロボットであり、ベース部３０と、ベース部３０を基準にしてロボットの先端に向かって順に第１アーム３２、第２アーム３４および第３アーム３６と、第３アーム３６の先端に設けられた溶接ガン３８とを有する。第１アーム３２は、ベース部３０に対して水平および垂直に回動可能な軸Ｊ１、Ｊ２によって回動可能である。第２アーム３４は第１アーム３２と軸Ｊ３で回動可能に連結されている。第２アーム３４は軸Ｊ４によって捻れ回転が可能になっている。第３アーム３６は第２アーム３４と軸Ｊ５で回動可能に連結されている。第３アーム３６は軸Ｊ６によって捻れ回転が可能になっている。また、作業内容によっては、ロボットＲには付加軸が設けられることがある。例えば、第３アーム３６の先端と溶接ガン３８との間に回転または伸縮自在な第７の軸（図示せず）を設ける場合がある。
【００３０】
なお、ロボットＲおよびロボット５０２は、溶接用ロボットに限らず、組み立て用ロボットや塗装用ロボット等でもよい。
【００３１】
図４に示すように、擬似コントローラ１２は、プログラム実行部５０と、擬似動作部５２と、入出力部５４とを有しており、ロボットコントローラ５１２（図１０参照）と類似の作用をする。
【００３２】
プログラム実行部５０は、制御処理部５６と記憶部５８とを有し、オフラインティーチングコンピュータ２０から供給されるティーチングデータを記憶部５８に記憶し、制御処理部５６がティーチングデータに基づいてロボットＲおよび溶接ガン３８の移動指令値を生成する。生成した移動指令値は、ロボットＲの各軸Ｊ１〜Ｊ６および溶接ガン３８の開度の値として擬似動作部５２に供給される。
【００３３】
制御処理部５６は、先読み機能部６０を有する。先読み機能部６０は、ティーチングデータに含まれる教示点Ｔ（図８参照）が空間上で近接する箇所については、ロボットＲの動作に先行して移動指令値の生成を行う。これにより、ロボットＲは滑らかな動作が可能になる。
【００３４】
先読み機能部６０の機能は、実際のロボットコントローラ５１２が備えている機能と同じものである。
【００３５】
擬似動作部５２は、プログラム実行部５０から供給された各軸Ｊ１〜Ｊ６の移動指令値および溶接ガン３８の移動指令値に基づいてロボットＲの姿勢を推定する。推定によって求めた結果は、シミュレーションデータとしてプログラム実行部５０および入出力部５４を経由してビューワ１８に供給される。
【００３６】
擬似動作部５２は、ロボットＲの各軸Ｊ１〜Ｊ６の動作を推定するロボット擬似動作部６４と、付加軸の動作を推定する付加軸擬似動作部６６とを有する。
【００３７】
シミュレーションデータは、１組のデータ列Ｍ＝（θ１、θ２、θ３、θ４、θ５、θ６、θ７）で表される。このうち、データθ１〜θ６は、ロボットＲの各軸Ｊ１〜Ｊ６の角度（動作量）であり、ロボット擬似動作部６４によって求められる。データθ７は付加軸の動作量であり、付加軸擬似動作部６６によって求められる。
【００３８】
ロボット擬似動作部６４は、指令値に対する各軸Ｊ１〜Ｊ６の機械的な追従遅れ時間を推定するロボット追従遅れ時間推定部７０と、ティーチングデータにより予定された動作時間に対する到着時間の遅れを推定するロボット到着遅れ時間推定部７２とを有する。
【００３９】
付加軸擬似動作部６６は、付加軸の機械的な追従遅れ時間を推定する付加軸追従遅れ時間推定部７４と、ティーチングデータによる予定された動作時間に対する付加軸の到着時間の遅れを推定する付加軸到着遅れ時間推定部７６と、付加軸の電流値を検出してトルクの遅れ時間を推定する付加軸トルク到着遅れ時間推定部７８とを有する。付加軸トルク到着遅れ時間推定部７８は、付加軸の機械的な撓み時間を推定する撓み時間推定部８０と、トルクが安定するまでの時間を推定するトルク安定時間推定部８２とを有する。
【００４０】
ロボット擬似動作部６４には、付加軸トルク到着遅れ時間推定部７８に相当する機能が設けられていないが、付加軸以外の関節部、つまり軸Ｊ１〜Ｊ６については先読み機能部６０により同様の推定が可能である。
【００４１】
入出力部５４は、ＦＡ用ネットワーク２６に対する入出力の信号や、プログラム実行部５０と擬似動作部５２との間の信号を検出する情報取得機能部８４と、汎用ネットワーク２８を介してビューワ１８にシミュレーションデータと入出力データ（入出力情報）とを送信するシミュレーションデータ送出部８６とを有する。
【００４２】
入出力データには、例えば、溶接ガン３８または付加軸との間で送受信されるデータや、エラー信号や、サーボオン信号、サーボオフ信号等が挙げられる。入出力データを構成する各信号は、オン・オフで表される１ビットの信号である。
従って、例えば、入出力データを構成する信号が１２８点（１６バイト）程度であれば汎用ネットワーク２８により高速に伝送可能である。
【００４３】
入出力部５４は、汎用ネットワーク２８とのインターフェースである第１ポート８８、ＦＡ用ネットワーク２６とのインターフェースである第２ポート９０に接続されている。
【００４４】
擬似コントローラ１２における第２ポート９０や、プログラム実行部５０は実際のロボットコントローラ５１２におけるポートやプログラム実行部と略同仕様に構成されている。
【００４５】
図２に戻り、シーケンサ１４は、シーケンス処理により擬似コントローラ１２の動作を制御するものであり、実際のシーケンサ５０８と同仕様のハードウェアが使用される。
【００４６】
シーケンサ１４は、外部から供給されたラダープログラムを実行可能なシーケンスプログラムに変換するための条件が記述されたプログラム生成用ファイル９２と、シーケンスプログラムのサイクル時間の設定を行う処理時間設定部９４と、生成されたシーケンスプログラムを実行する動作処理機能部９６とを有する。
【００４７】
処理時間設定部９４は、入出力処理時間設定部９８と内部処理時間設定部１００とを有し、サイクル時間を実際のシーケンサ５０８と同じとなるようにウェイト時間等が設定される。また、シーケンサ１４はＦＡ用ネットワーク２６に対して入出力を行う入出力部２７を有する。
【００４８】
シーケンサ１４で実行されるシーケンスプログラムはシーケンサ５０８と基本的に同一のものが用いられている。従って、例えば、シーケンサ１４は実際のロボットコントローラ５１２を制御することも可能である。
【００４９】
シーケンサ１４は、ＦＡ用ネットワーク２６を介して擬似コントローラ１２からロボットＲに対して所定の制御信号の送受信を行う。
【００５０】
擬似操作盤１６は、外部から供給される画面生成用設定ファイル１０２に基づいてモニタ画面１６ａの画面設定を行い、擬似操作処理部１０４が実際の操作盤５１８（図１０参照）の作用を代替する。擬似操作処理部１０４は、入力および表示を行う入力・表示機能部１０６と、シミュレーションの開始から終了までの時間を計測する時間測定機能部１０８とを有する。入力・表示機能部１０６には、汎用のキーボード、マウスおよびモニタを用いることができる。擬似操作盤１６のモニタ画面１６ａはタッチパネル式でもよい。時間測定機能部１０８は、オペレーティングシステムが備えるタイマ機能を用いることができる。実際の操作盤５１８が移動可能である場合には、操作盤５１８自体を汎用ネットワーク２８に接続して擬似操作盤１６として用いてもよい。また、擬似操作盤１６は、所定の操作によってシミュレーションのスタート信号（操作信号）をシーケンサ１４に送信することができる。
【００５１】
擬似操作盤１６のモニタ画面１６ａには、図５に示すように、マウスにより操作可能なウィンドウ形式の操作画面１０９が表示される。この操作画面１０９において、インディケータ１０９ａは入出力データに基づいてシミュレーションの実況状況を示す領域である。サイクルタイム表示テーブル１０９ｂは時間測定機能部１０８により計測したシミュレーション時間を表示する領域である。サイクルタイム表示テーブル１０９ｂに表示されるシミュレーション時間は所定の記録部に記録される。機種コンボボックス１０９ｃはロボットＲの機種を選定および表示する領域である。タグパネル１０９ｄはアラームおよびその説明を表示する領域である。第１モード選択スイッチ部１０９ｅおよび第２モード選択スイッチ部１０９ｆはそれぞれシミュレーションの動作モードを選択する領域である。
【００５２】
なお、シーケンサ１４には、一般的に計時機能が設けられているので、この計時機能によって計測したシミュレーション時間をサイクルタイム表示テーブル１０９ｂに表示するようにしてもよい。
【００５３】
また、操作画面１０９における表示は、他の適当な方法で行ってもよいことはもちろんであり、例えば、文字列で表示される情報をシンボルや色の変化によって示すようにしてもよい。
【００５４】
図２に戻り、ビューワ１８は、シミュレーションの結果をリアルタイムに表示するコンピュータであり、ビューワデータ１１０と画像変換部１１２とを有する。ビューワデータ１１０は、ロボットＲの関節構成や寸法および設置位置等の情報である。ビューワデータ１１０は、外部から供給可能であり、書き換え可能である。
【００５５】
画像変換部１１２は、関節角度画像変換機能部１１４とＩ・Ｏ情報画像変換機能部１１６とを有する。関節角度画像変換機能部１１４は、擬似コントローラ１２から供給されるシミュレーションデータとビューワデータ１１０とに基づいてロボットＲをソリッドモデルによって３次元表示する。
【００５６】
Ｉ・Ｏ情報画像変換機能部１１６は、擬似コントローラ１２から供給される入出力データの内容を表示する。また、Ｉ・Ｏ情報画像変換機能部１１６は、供給された入出力データを一覧形式で表示したり、入出力データのうち所定の信号に基づいてソリッドモデルの表示色を変更する機能をもつ。例えば、エラー信号やサーボオン信号が発生したときには、対応するロボットＲまたは対応する箇所の色を変更または点滅表示させる。
【００５７】
ビューワ１８は、シミュレーションの結果表示を行うものであり、またロボットＲの動作プログラムの実行または解析等を行うことがないので汎用の３次元ＣＡＤシステムを適用することができる。ビューワ１８は、３次元ＣＡＤの一般的な機能、例えば、視点位置の変更、拡大・縮小表示等の機能が利用可能である。
【００５８】
オフラインティーチングコンピュータ２０は、ロボットＲのティーチングデータをオフラインで作成するものである。オフラインティーチングコンピュータ２０は、ロボットＲを３次元表示させながら、一連の動作を順番に教示点データとして設定することができる。
【００５９】
オフラインティーチングコンピュータ２０は、必ずしも汎用ネットワーク２８に接続されている必要はない。オフラインティーチングコンピュータ２０で作成されたティーチングデータは、他の通信手段または汎用の記録媒体を介して擬似コントローラ１２にロードしてもよい。
【００６０】
次に、このように構成されるシミュレーション装置１０を用いてシミュレーションを行う方法について図６を参照しながら説明する。
【００６１】
まず、ステップＳ１において、オフラインティーチングコンピュータ２０においてロボットＲのティーチングデータを作成した後、このティーチングデータを擬似コントローラ１２へロードする。また、シーケンサ１４には対応するラダープログラムを供給し、プログラム生成用ファイル９２を参照しながらシーケンスプログラムを生成する。ビューワ１８には、適応するビューワデータ１１０を供給する。擬似操作盤１６には、画面生成用設定ファイル１０２を供給する。
【００６２】
次に、ステップＳ２において、シミュレーションを実行するための初期処理を行う。シーケンサ１４における初期処理では、生成したシーケンスプログラムに対して処理時間設定部９４により動作周期の設定を行う。
【００６３】
擬似操作盤１６における初期処理では、供給された画面生成用設定ファイル１０２によりモニタ画面１６ａの設定と入出力条件の設定とを行う。
【００６４】
ビューワ１８における初期処理では、供給されたビューワデータ１１０によりロボットＲおよび周辺設備に関するデータを認識し、３次元描画の設定を行う。
【００６５】
次に、ステップＳ３において、擬似操作盤１６の操作画面１０９（図５参照）を操作して、シミュレーション動作の開始指示命令を擬似コントローラ１２およびシーケンサ１４に送信する。このとき、擬似操作盤１６の時間測定機能部１０８（図２参照）は、シミュレーション時間の計測を開始する。
【００６６】
また、操作画面１０９の機種コンボボックス１０９ｃで生産機種を選定する。
この生産機種に関する情報は擬似コントローラ１２に送信される。
【００６７】
擬似コントローラ１２のプログラム実行部５０は、記憶部５８に格納したティーチングデータのうち、指定の生産機種に対応したデータに従って同時に動作を開始する。また、シーケンサ１４は格納したシーケンスプログラムを実行する。
【００６８】
次に、ステップＳ４において、シーケンサ１４、擬似コントローラ１２およびビューワ１８がそれぞれ連動しながらシミュレーション動作を行う。
【００６９】
次に、ステップＳ５において、擬似コントローラ１２は、格納したティーチングデータに基づいた処理が終了すると、シーケンサ１４に終了を示す信号を送信する。シーケンサ１４は、擬似コントローラ１２から終了信号を受信した後、擬似操作盤１６およびビューワ１８にシミュレーションの終了を示す信号（操作信号）を送信する。
【００７０】
この信号により、擬似操作盤１６および擬似コントローラ１２はシミュレーションに対応した処理を終了し、擬似操作盤１６の時間測定機能部１０８はシミュレーションに要した時間を操作画面１０９のサイクルタイム表示テーブル１０９ｂ（図５参照）に表示する。
【００７１】
次に、シミュレーション実行中における擬似コントローラ１２の処理について図７および図８を参照しながら説明する。
【００７２】
図７のステップＳ１０１において、擬似コントローラ１２のプログラム実行部５０は、記憶部５８に格納されたティーチングデータに基づいてロボットＲの各軸Ｊ１〜Ｊ６に対する指令値を生成して擬似動作部５２に供給する。
【００７３】
このとき、先読み機能部６０の作用によって、例えば、図８に示すように、障害物１５０を回避するために多数の教示点Ｔが近接する箇所に設定されている動作経路１５２に沿ってロボットＲが動作する場合に、実機の場合と同様に、各教示点ＴにおいてロボットＲが停止したり動作が不連続になることがなく、溶接点Ｐにスムーズに到達することができる。
【００７４】
ステップＳ１０２において、擬似動作部５２では、ロボットＲの姿勢を推定し、シミュレーションデータつまりデータ列Ｍを算出する。このとき、ロボットＲの動作は、指令値に対して多少の遅れが生じるが、この遅れの量はロボット擬似動作部６４によって推定できるので、実際のロボット５０２（図１０参照）を動作させる場合と同様の姿勢が算出可能である。
【００７５】
次に、ステップＳ１０３において、算出したシミュレーションデータをプログラム実行部５０に供給する。プログラム実行部５０は、シミュレーションデータを入出力部５４を介してビューワ１８に所定の微小周期毎に供給する。これらのシミュレーションデータは、擬似動作部５２から入出力部５４へ直接的に供給してもよい。
【００７６】
また、プログラム実行部５０は、シーケンサ１４との間においてＦＡ用ネットワーク２６を介して送受信される制御信号や溶接ガン３８に対する信号およびエラー信号等の入出力データを所定の微小周期毎に供給する。
【００７７】
このとき、プログラム実行部５０は、ビューワ１８がシミュレーションデータまたは入出力データを受信したか否かに拘わらずにシミュレーション処理を継続する。従って、仮にシミュレーションデータまたは入出力データの送信に長時間を要した場合でも、このことによってシミュレーションの動作時間が影響を受けることがない。
【００７８】
また、プログラム実行部５０は、ビューワ１８に送信するデータ、つまり、シミュレーションデータおよび入出力データをログデータとして記憶部５８に記憶させる。
【００７９】
ステップＳ１０４においては、ティーチングデータに基づくロボットＲの動作が終了したか否かを判断し、シミュレーション動作終了時にはステップＳ１０５へ移り、未終了時にはステップＳ１０１へ戻る。
【００８０】
ステップＳ１０５においては、シーケンサ１４に終了信号を送出した後に、シミュレーション動作を終了する。また、必要に応じて、記憶したログデータをビューワ１８またはオフラインティーチングコンピュータ２０に送信する。このログデータは、シミュレーションの動作解析に用いることができる。
【００８１】
次に、シミュレーションを実行中のビューワ１８の処理内容について図９を参照しながら説明する。
【００８２】
図９のステップＳ２０１において、ビューワ１８は、擬似コントローラ１２からシミュレーションデータを受信し、このシミュレーションデータとビューワデータ１１０とに基づいて、関節角度画像変換機能部１１４によりロボットＲの姿勢を演算する。受信したシミュレーションデータは時系列形式に記憶する。
【００８３】
次に、ステップＳ２０２において、ロボットＲの姿勢をモニタ画面１８ａ上にソリッドモデルにより３次元表示する。表示の形式は、ワイヤフレーム形式や、数値列による情報表示等でもよい。
【００８４】
次に、ステップＳ２０３において、擬似コントローラ１２から入出力データを受信して、時系列形式に記憶する。
【００８５】
次に、ステップＳ２０４において、入出力データに基づく情報をモニタ画面１８ａ上にグラフィック形式または文字情報形式で表示する。
【００８６】
次いで、ステップＳ２０５において、シミュレーションが終了したか否かを判断する。すなわち、擬似操作盤１６から終了信号を受信した場合には、次のステップＳ２０６へ移り、終了信号が検出されない場合にはステップＳ２０１に戻る。
【００８７】
ステップＳ２０６においては、記憶したシミュレーションデータおよび入出力データに基づいてロボットＲの動作のタイミングチャートを生成する。このタイミングチャートは、シミュレーションの開始から終了までの間における動作、溶接、所定の条件による待機、エラー発生等のロボットＲの状態を時系列的に表す。生成したタイミングチャートは、モニタ画面１８ａ上に表示するとともに所定の記憶部に記憶する。
【００８８】
このステップＳ２０１〜Ｓ２０５で形成されるループは、微小時間で実行されるので、モニタ画面１８ａには、ロボットＲの姿勢および入出力データに基づく情報がリアルタイムで表示される。
【００８９】
擬似コントローラ１２における処理およびビューワ１８における処理は、図７および図９に示すような順番で実行される必要はなく、例えば、マルチタスク処理によって複数の処理を同時並列的に行うようにしてもよい。また、例えば、所定の信号を検出し次第、所定のステップを割り込み形式で実行してもよい。
【００９０】
上述したように、本実施の形態に係るシミュレーション装置１０では、実際のロボットコントローラ５１２と類似の機能をもつ擬似コントローラ１２と、シーケンサ１４と、ＦＡ用ネットワーク２６とを用いてシミュレーションを行うようにしている。シーケンサ１４およびＦＡ用ネットワーク２６は実際のシステム５００（図１０参照）におけるシーケンサ５０８およびネットワーク５１０と同仕様のものを使用しているので、ロボットＲの動作を高い位置精度、動作時間精度で実現することができる。従って、システム５００の工程における処理時間を正確に検証することができる。ビューワ１８のモニタ画面１８ａに表示される画像は、３次元表示でしかもリアルタイムの表示であることから、実機に則した動作を把握することができる。
【００９１】
また、シーケンサ１４は、実際のシーケンサ５０８と同じサイクル時間となるように処理時間設定部９４によって設定されているので、動作時間をより正確に検証できる。さらに、擬似コントローラ１２は、ロボットコントローラ５１２と同様に先読み機能部６０を有するので、実際の動作と同様な滑らかな動作をシミュレートすることができ、シミュレーションの位置精度および実行時間精度が高い。
【００９２】
擬似コントローラ１２は、ロボット擬似動作部６４の作用によって指令値と実際のロボットＲの姿勢との動作のずれ量を推定して補正した後にビューワ１８に供給するので、ロボットＲの姿勢をより正確に求めることができる。また、ロボットＲの動作時間をより正確に実現することができる。
【００９３】
ビューワ１８は、ロボットＲの姿勢や入出力データに基づく情報をモニタ画面１８ａに表示し、それ以外の処理（例えば、ティーチングデータの解析や実行またはインターロック判断）を行う必要がないので簡便なシステムにすることができる。また、擬似コントローラ１２やシーケンサ１４におけるシミュレーションの精度がビューワ１８の能力によって影響を受けることがない。
【００９４】
さらに、本実施の形態に係るシミュレーション装置１０では、実際のロボット５０２（図１０参照）および駆動用のパワーアンプ等が不要であり、オフラインティーチングの特徴を活かすことができる。従って、ロボット５０２を導入する際またはロボット５０２の配置を変更する場合等において、事前にシミュレーションを行うことにより動作検証を行うことができる。
【００９５】
擬似操作盤１６およびビューワ１８は、互いの機能の一部または全部を共通にしてもよい。
【００９６】
本発明に係るシミュレーション装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【００９７】
【発明の効果】
以上説明したように、本発明に係るシミュレーション装置によれば、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションするという効果を達成することができる。これにより、実際のシステムにおける生産工程の処理時間を正確に検証することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るシミュレーション装置を構成する機器の接続図である。
【図２】本実施の形態に係るシミュレーション装置のブロック図である。
【図３】シミュレーション対象のロボットの斜視図である。
【図４】擬似コントローラの内部ブロック図である。
【図５】擬似操作盤のモニタ画面上に表示される操作画面である。
【図６】シミュレーションの手順を示すフローチャートである。
【図７】擬似コントローラの処理内容を示すフローチャートである。
【図８】ロボットがティーチングデータに基づいて動作する動作経路を示す模式図である。
【図９】ビューワの処理内容を示すフローチャートである。
【図１０】実際のシステムの概略ブロック図である。
【符号の説明】
１０…シミュレーション装置        １２…擬似コントローラ
１４、５０８…シーケンサ          １６…擬似操作盤
１８…ビューワ
２０…オフラインティーチングコンピュータ
２６…ＦＡ用ネットワーク          ２８…汎用ネットワーク
５０…プログラム実行部            ５２…擬似動作部
５４…入出力部                    ５６…制御処理部
６０…先読み機能部                ６４…ロボット擬似動作部
８４…情報取得機能部              ８６…シミュレーションデータ送出部
８８、９０…ポート                ９４…処理時間設定部
９６…動作処理機能部              ９８…入出力処理時間設定部
１００…内部処理時間設定部        １０２…画面生成用設定ファイル
１０４…擬似操作処理部            １０６…入力・表示機能部
１０８…時間測定機能部            １１０…ビューワデータ
１１２…画像変換部                １１４…関節角度画像変換機能部
１１６…Ｉ・Ｏ情報画像変換機能部  ５０２、Ｒ…ロボット
【図１】
2004151976.tif 000003
【図２】
2004151976.tif 000004
【図３】
2004151976.tif 000005
【図４】
2004151976.tif 000006
【図５】
2004151976.tif 000007
【図６】
2004151976.tif 000008
【図７】
2004151976.tif 000009
【図８】
2004151976.tif 000010
【図９】
2004151976.tif 000011
【図１０】
2004151976.tif 000012