(57)【要約】【課題】  アラーム発生時の状況の再現が可能なロボットシステムの提供。【解決手段】  カゴ状の容器内にバラ積みされたワークをロボットアーム先端のハンドで把持し、取出す。視覚センサでワークを検出し、位置・姿勢に応じたロボット制御を行なう。干渉等のアラーム発生時にはアラーム関連情報がロボット制御装置または視覚センサ制御装置に保存される。アラーム関連情報には、アラーム発生時点から遡る過去分の一定量のデータ、ロボットの到達位置、目標位置のデータ、視覚センサの処理内容、検出結果等のデータが含まれる。アラーム再現時には、これら保存データを用いてシミュレーション装置上でアラーム再現のシミュレーションを行なう。シミュレーション装置を用いずに、ロボット実機上でアラーム再現のシミュレーションを行うこともできる。【選択図】  図３
2005103681.tif 000002
【特許請求の範囲】
【請求項１】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿勢を計測して計測結果を前記ロボットに転送する視覚センサとを含み、
前記ロボットは、予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知とその時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段と、
前記視覚センサから前記ロボット履歴情報を受信する手段と、
前記受信したロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況を再現する手段とを備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知及び前記ロボット履歴情報を受けると、該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段と、
前記記憶されたロボット履歴情報を前記ロボットに送る手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程を再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項２】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿勢を計測して計測結果を前記ロボットに転送する視覚センサとを含み、
前記ロボットは、実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段と、
予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知及び前記実行済指令情報と、その時点におけるロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段と、
前記視覚センサから前記実行済指令情報及び前記ロボット履歴情報を受信する手段と、
前記受信した実行済指令情報及びロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況を再現する手段とを備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知及び前記実行済指令情報及び前記ロボット履歴情報を受けると、該実行済指令情報及び該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択してセンサ履歴情報として記録する手段と、
前記記憶された実行済指令情報及びロボット履歴情報を前記ロボットに送る手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程を再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項３】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットと通信回線によって接続され該ロボットの動作のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、予め定義されたアラームが稼動中の該ロボットに発生すると、その時の稼動状況をロボット履歴情報として記録する手段と、
前記ロボット履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記シミュレーション装置は、前記ロボットから転送された前記ロボット履歴情報を受信する手段と、
前記受信したロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項４】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットと通信回線によって接続され該ロボットの動作のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段と、
予め定義されたアラームが稼動中の該ロボットに発生すると、その時の稼動状況をロボット履歴情報として記録する手段と、
前記実行済指令情報及び前記ロボット履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記シミュレーション装置は、前記ロボットから転送された前記実行済指令情報及び前記ロボット履歴情報を受信する手段と、
前記受信した実行済指令情報及びロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項５】
前記ロボット履歴情報は、前記ロボットが到達した位置、前記ロボットが向かっていた目標位置、前記ロボットが動作した補間方式、前記ロボットに発生したアラーム及び該アラームが発生した時刻の内の少なくとも一つを表わす情報を含むことを特徴とする、請求項１乃至請求項４の内の何れか１項に記載のロボットシステム。
【請求項６】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿を計測して計測結果を前記ロボットに転送する視覚センサと、
前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生を前記視覚センサに通知すると共に、その時点のロボットの稼動状況をロボット履歴情報として記録する手段と、
前記アラーム発生時の前記ロボットの動作に関与している、前記視覚センサの計測処理情報を前記視覚センサから受け取りセンサ履歴情報として記録する手段と、
前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知を受けると、前記蓄積された計測処理情報から前記ロボットの前記アラーム発生時点の稼動に関与した計測処理情報を選択し、それを前記ロボットに転送する手段とを備え、
前記シミュレーション装置は、前記ロボットから転送された前記ロボット履歴情報及び前記センサ履歴情報を受信する手段と、
前記ロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項７】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿勢を計測して計測結果を前記ロボットに転送する視覚センサと、
前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段と、
予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生を前記視覚センサに通知すると共に、その時点のロボットの稼動状況をロボット履歴情報として記録する手段と、
前記アラーム発生時の前記ロボットの動作に関与している、前記視覚センサの計測処理情報を前記視覚センサから受け取りセンサ履歴情報として記録する手段と、
前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知を受けると、前記蓄積された計測処理情報から前記ロボットの前記アラーム発生時点の稼動に関与した計測処理情報を選択し、それを前記ロボットに転送する手段とを備え、
前記シミュレーション装置は、前記ロボットから転送された前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を受信する手段と、
前記実行済指令情報及び前記ロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項８】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置や姿勢を計測して計測結果を前記ロボットに転送する視覚センサと、
前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知とその時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段を備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知及び前記ロボット履歴情報を受けると、該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段と、
前記ロボット履歴情報および前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記シミュレーション装置は、前記視覚センサから転送された前記ロボット履歴情報及び前記センサ履歴情報を受信する手段と、
前記ロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項９】
アラームが発生した状況を再現できるロボットシステムであって、
前記ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置や姿勢を計測して計測結果を前記ロボットに転送する視覚センサと、
前記視覚センサと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含み、
前記ロボットは、実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段と、
予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知及び前記実行済指令情報と、その時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段を備え、
前記視覚センサは、実行した計測処理情報を蓄積する手段と、
前記ロボットから前記アラーム発生通知及び前記実行済指令情報及び前記ロボット履歴情報を受けると、該実行済指令情報及び該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段と、
前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段とを備え、
前記シミュレーション装置は、前記視覚センサから転送された前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を受信する手段と、
前記実行済指令情報及び前記ロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段と、
前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段とを備えることを特徴とする、ロボットシステム。
【請求項１０】
前記ロボット履歴情報は、前記ロボットが到達した位置、前記ロボットが向かっていた目標位置、前記ロボットが動作した補間方式、前記ロボットにおいて発生したアラーム及び前記アラームが発生した時刻の内の少なくとも一つの情報を含み、
前記センサ履歴情報は、前記視覚センサが撮像した画像、前記視覚センサの処理内容、前記視覚センサにおける計測処理結果の内の少なくとも一つの情報を含むことを特徴とする、請求項１乃至請求項２、または請求項６乃至請求項９の内の何れか１項に記載のロボットシステム。
【請求項１１】
前記通信回線は、接続状態と切断状態との間で切替可能であることを特徴とする、請求項３乃至請求項１０の内の何れか１項に記載のロボットシステム。
【請求項１２】
前記シミュレーション装置は、前記ロボットの動作を記述するロボットプログラムを前記通信回線を介して取り込むことができ、前記シミュレーション装置上で前記ロボットプログラムの教示内容を変更した後に前記ロボットに適用する機能を備えることを特徴とする、請求項３乃至請求項１１の内の何れか１項に記載のロボットシステム。
【請求項１３】
前記シミュレーション装置は、前記視覚センサの処理を規定する視覚センサ処理パラメータを前記通信回線を介して取り込むことができ、前記シミュレーション装置上で前記パラメータの内容を変更した後に前記視覚センサに適用する機能を備えることを特徴とする、請求項３乃至請求項１１の内の何れか１項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、産業用ロボットを用いた種々のアプリケーションで採用されるロボットシステムに関し、更に詳しく言えば、例えばロボットあるいはその搭載物、把持物の衝突等のアラームが発生した場合に、その状況を再現する技術に関する。
【背景技術】
【０００２】
教示された動作プログラムの命令等によって指示された動作を行うロボットに、もし何らかの異常が発生したとすれば、一般に、それはロボットが動作するに際して仮定されている外部環境や内部状態が変化したことを意味する。そのような状況が本来滅多に発生しないようにロボットシステムを組むべきではあるが、もしもそのような事態に至った場合には、安全を期してシステムを速やかに停止させることはやむを得ないことである。
【０００３】
ところが、例えばバラ積み状態のワークの取出しのようなアプリケーションにおいては、不整列のワークに対してロボットが毎回動作を変えながら臨機応変に取り出し作業を行なうことになる。即ち、この種のアプリケーションにおいては、外部環境が不安定であるため、接触・衝突のようなアラームが比較的多く発生することが珍しくない。そして、そうしたアラームが発生する度に頻繁にシステムを停止させていたのでは作業効率が非常に悪くなってしまう。
【０００４】
これを回避するための技術については、例えば下記特許文献１、２に開示がある。両特許文献１、２は、異常発生時に自動的にシステムを復旧させる方法に関するもので、これらの技術を採用することで、システムの停止頻度を下げ、稼動効率を改善することは可能になる。しかし、どのような状況でアラームが発生したかについて知りたいと思っても、それは容易ではないという問題が生じる。
一方、アラーム発生に関連して、時間的に過去の現象や空間的に遠隔地の状況を知る術としては、次の特許文献３〜５のような様々な手法の開示がある。  
特許文献３は、ロボットのエラー解析方法及びロボットに係るもので、モータの動作波形など、モータの制御に関するデータを後々の解析のために記録することが記載されている。
【０００５】
また、特許文献４は、事故対応ロボットシステムに係るもので、遠隔地での事故の状況を、カメラ等のモニタリング装置とロボットマニピュレータを用いてモニタすることが記載されている。即ち、遠隔地の状況を知るために、遠隔地に稼動可能なモニタリング装置を用意することが要点となっている。  
更に、特許文献５は、ロボットの制御装置及び制御方法に係るもので、システムの行動計画や前記計画に基づいた動作結果をログとして残す点に特徴があり、移動型ロボットの稼動状況を後々解析できるようにするために、稼動に関する情報のログをとることが述べられている。
【０００６】
【特許文献１】特許第２６６２９９０号公報
【特許文献２】特開２０００−２６３４８１号公報
【特許文献３】特開平１０−３０９６８３号公報
【特許文献４】特開平１１−３７４３３０号公報
【特許文献５】特開平１２−１００７９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ロボットシステムに何らかの異常が発生した場合、次回からはそのような異常が発生しないよう予防措置を講じることが当然望まれるところであるが、そのためには現象の解析が必要になる。しかし、システムが異常発生時に停止せずに自動復旧する能力を持つ場合には、それは困難である。そのため、異常発生の頻度自体を下げることにはつながらない。つまり、上記特許文献１、２の技術では、単にシステムを復旧するだけで、要因を事後解析するための手段をもたないため、自動復旧はできても、結局はアラーム原因調査のためにシステムを停止する必要が生じる一方、アラーム原因調査に特に役立つデータは得られない。
【０００８】
また、上記特許文献３、５の技術では、特定のデータを収集することのみであり、実際にどのような異常が発生したのかを再現することが難しい。更に、上記特許文献４の技術は、遠隔地での事故等の現象をリアルタイムで確認できるというものに過ぎない。
【０００９】
そこで、本願発明は、ロボットシステムに、異常発生時（アラーム発生時）にはその現象の再現に利用できるような情報を取得する機能と、その「アラーム発生時の状況の再現」（単に「アラームの再現」とも言う）を実機または同シミュレータ上で行う機能を具備させることで、システムが空いている時間に実機で現象を再現したり、遠隔地で疑似的に再現したりすることを可能にするすることを１つの目的としている。
【００１０】
また本発明は、そのことを通じて、特に原因解析のために稼動中のシステムを一時停止させることを不要にし、システムの稼動率向上と信頼性の改善に資することができるようにすることを企図している。
【課題を解決するための手段】
【００１１】
本願発明は、ロボットシステムに、アラーム状況に関連する情報を記録する機能と、記録された情報を用いてアラーム状況を再現する機能を持たせることで上記課題を解決したものである。具体的な構成としては、いくつかの型が採用可能である。  
［第１の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿勢を計測して計測結果を前記ロボットに転送する視覚センサとを含む。そして、ロボットに下記の手段（１）〜（３）を具備させる。
【００１２】
（１）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知とその時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段。  
（２）前記視覚センサから前記ロボット履歴情報を受信する手段。  
（３）前記受信したロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況を再現する手段。  
また、視覚センサには下記の手段（４）〜（７）を具備させる。  
（４）実行した計測処理情報を蓄積する手段。  
（５）前記ロボットから前記アラーム発生通知及び前記ロボット履歴情報を受けると、該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段。  
（６）前記記憶されたロボット履歴情報を前記ロボットに送る手段。  
（７）前記センサ履歴情報を用いて前記視覚センサの処理過程を再現する手段。
【００１３】
［第２の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿勢を計測して計測結果を前記ロボットに転送する視覚センサとを含む。そして、ロボットに下記の手段（８）〜（１１）を具備させる。
【００１４】
（８）実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段。  
（９）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知及び前記実行済指令情報と、その時点におけるロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段。  
（１０）前記視覚センサから前記実行済指令情報及び前記ロボット履歴情報を受信する手段。  
（１１）前記受信した実行済指令情報及びロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況を再現する手段。
【００１５】
また、視覚センサには、下記の手段（１２）〜（１５）を具備させる。  
（１２）実行した計測処理情報を蓄積する手段。  
（１３）前記ロボットから前記アラーム発生通知及び前記実行済指令情報及び前記ロボット履歴情報を受けると、該実行済指令情報及び該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択してセンサ履歴情報として記録する手段。  
（１４）前記記憶された実行済指令情報及びロボット履歴情報を前記ロボットに送る手段。  
（１５）前記センサ履歴情報を用いて前記視覚センサの処理過程を再現する手段。
【００１６】
［第３の型］
ロボットシステムは、ロボットと、該ロボットと通信回線によって接続され該ロボットの動作のシミュレーションを行なうシミュレーション装置とを含む。そして、ロボットに下記の手段（１６）、（１７）を具備させる。
【００１７】
（１６）予め定義されたアラームが稼動中の該ロボットに発生すると、その時の稼動状況をロボット履歴情報として記録する手段。  
（１７）前記ロボット履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００１８】
また、シミュレーション装置には、下記の手段（１８）、（１９）を具備させる。  
（１８）前記ロボットから転送された前記ロボット履歴情報を受信する手段。
【００１９】
（１９）前記受信したロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。
【００２０】
［第４の型］
ロボットシステムは、ロボットと、該ロボットと通信回線によって接続され該ロボットの動作のシミュレーションを行なうシミュレーション装置とを含む。そして、ロボットに下記の手段（２０）〜（２２）を具備させる。  
（２０）実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段。  
（２１）予め定義されたアラームが稼動中の該ロボットに発生すると、その時の稼動状況をロボット履歴情報として記録する手段。  
（２２）前記実行済指令情報及び前記ロボット履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００２１】
また、シミュレーション装置には、下記の手段（２３）、（２４）を具備させる。  
（２３）前記ロボットから転送された前記実行済指令情報及び前記ロボット履歴情報を受信する手段。  
（２４）前記受信した実行済指令情報及びロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。
【００２２】
なお、上記第１の型〜第４の型のいずれにおいても、ロボット履歴情報は、前記ロボットが到達した位置、前記ロボットが向かっていた目標位置、前記ロボットが動作した補間方式、前記ロボットに発生したアラーム及び該アラームが発生した時刻の内の少なくとも一つを表わす情報を含むことが好ましい。
【００２３】
［第５の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿を計測して計測結果を前記ロボットに転送する視覚センサと、前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含む。
【００２４】
ロボットには、下記（２５）〜（２７）の手段を具備させる。  
（２５）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生を前記視覚センサに通知すると共に、その時点のロボットの稼動状況をロボット履歴情報として記録する手段。  
（２６）前記アラーム発生時の前記ロボットの動作に関与している、前記視覚センサの計測処理情報を前記視覚センサから受け取りセンサ履歴情報として記録する手段。  
（２７）前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００２５】
また、視覚センサには、下記の手段（２８）〜（２９）を具備させる。  
（２８）実行した計測処理情報を蓄積する手段。  
（２９）前記ロボットから前記アラーム発生通知を受けると、前記蓄積された計測処理情報から前記ロボットの前記アラーム発生時点の稼動に関与した計測処理情報を選択し、それを前記ロボットに転送する手段。  
そして、シミュレーション装置には、下記の手段（３０）〜（３２）を具備させる。  
（３０）前記ロボットから転送された前記ロボット履歴情報及び前記センサ履歴情報を受信する手段。  
（３１）前記ロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。  
（３２）前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段。
【００２６】
［第６の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿を計測して計測結果を前記ロボットに転送する視覚センサと、前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含む。
【００２７】
ロボットには、下記（３３）〜（３６）の手段を具備させる。  
（３３）実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段。  
（３４）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生を前記視覚センサに通知すると共に、その時点のロボットの稼動状況をロボット履歴情報として記録する手段。  
（３５）前記アラーム発生時の前記ロボットの動作に関与している、前記視覚センサの計測処理情報を前記視覚センサから受け取りセンサ履歴情報として記録する手段。  
（３６）前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００２８】
また、視覚センサには、下記の手段（３７）、（３８）を具備させる。  
（３７）前記視覚センサは、実行した計測処理情報を蓄積する手段。  
（３８）前記ロボットから前記アラーム発生通知を受けると、前記蓄積された計測処理情報から前記ロボットの前記アラーム発生時点の稼動に関与した計測処理情報を選択し、それを前記ロボットに転送する手段。
【００２９】
そして、シミュレーション装置には、下記の手段（３９）〜（４１）を具備させる。  
（３９）前記ロボットから転送された前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を受信する手段。  
（４０）前記実行済指令情報及び前記ロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。  
（４１）前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段。
【００３０】
［第７の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿を計測して計測結果を前記ロボットに転送する視覚センサと、前記ロボットと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含む。
【００３１】
ロボットには、下記（４２）の手段を具備させる。  
（４２）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知とその時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段。  
また、視覚センサには、下記の手段（４３）〜（４５）を具備させる。  
（４３）前記視覚センサは、実行した計測処理情報を蓄積する手段。  
（４４）前記ロボットから前記アラーム発生通知及び前記ロボット履歴情報を受けると、該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段。  
（４５）前記ロボット履歴情報および前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００３２】
そして、シミュレーション装置には、下記の手段（４６）〜（４８）を具備させる。  
（４６）前記視覚センサから転送された前記ロボット履歴情報及び前記センサ履歴情報を受信する手段。  
（４７）前記ロボット履歴情報を用いて前記アラーム発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。  
（４８）前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段。
【００３３】
［第８の型］
ロボットシステムは、ロボットと、該ロボットとデータ転送手段で接続され、該ロボットからの指令により対象物の位置、あるいは、位置及び姿を計測して計測結果を前記ロボットに転送する視覚センサと、前記視覚センサと通信回線で接続され、前記ロボットの動作及び／または前記視覚センサの処理のシミュレーションを行なうシミュレーション装置とを含む。
【００３４】
ロボットには、下記（４９）、（５０）の手段を具備させる。  
（４９）実行した動作指令を、最新のものから所定量だけ実行済指令情報として一時記憶する手段。  
（５０）予め定義されたアラームが、稼動中の前記ロボットに発生すると、アラームの発生通知及び前記実行済指令情報と、その時点のロボットの稼動状況をロボット履歴情報として前記視覚センサに送る手段。
【００３５】
また、視覚センサには、下記の手段（５１）〜（５３）を具備させる。  
（５１）実行した計測処理情報を蓄積する手段。  
（５２）前記ロボットから前記アラーム発生通知及び前記実行済指令情報及び前記ロボット履歴情報を受けると、該実行済指令情報及び該ロボット履歴情報を記憶すると共に、前記蓄積された計測処理情報から前記アラーム発生時点の前記ロボットの稼動に関与した計測処理情報を選択しセンサ履歴情報として記録する手段。  
（５３）前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を前記通信回線を介して前記シミュレーション装置に転送する手段。
【００３６】
そして、シミュレーション装置には、下記の手段（５４）〜（５６）を具備させる。  
（５４）前記視覚センサから転送された前記実行済指令情報及び前記ロボット履歴情報及び前記センサ履歴情報を受信する手段。  
（５５）前記実行済指令情報及び前記ロボット履歴情報を用いて前記アラーム発生前及び発生時の前記ロボットの稼動状況をシミュレーションによって再現する手段。  
（５６）前記センサ履歴情報を用いて前記視覚センサの処理過程をシミュレーションによって再現する手段。
【００３７】
なお、上記第１の型または第２の型、あるいは第５の型〜第８の型のいずれにおいても、ロボット履歴情報は、前ロボット履歴情報は、前記ロボットが到達した位置、前記ロボットが向かっていた目標位置、前記ロボットが動作した補間方式、前記ロボットにおいて発生したアラーム及び前記アラームが発生した時刻の内の少なくとも一つの情報を含み、
前記センサ履歴情報は、前記視覚センサが撮像した画像、前記視覚センサの処理内容、前記視覚センサにおける計測処理結果の内の少なくとも一つの情報を含むことが好ましい。
【００３８】
そして、上記第３の型〜第８の型のいずれにおいても、前記通信回線は、接続状態と切断状態との間で切替可能であることが好ましい。また、前記シミュレーション装置は、前記ロボットの動作を記述するロボットプログラムを前記通信回線を介して取り込むことができ、前記シミュレーション装置上で前記ロボットプログラムの教示内容を変更した後に前記ロボットに適用する機能を備えることが好ましい。
【００３９】
更に、前記シミュレーション装置は、前記視覚センサの処理を規定する視覚センサ処理パラメータを前記通信回線を介して取り込むことができ、前記シミュレーション装置上で前記パラメータの内容を変更した後に前記視覚センサに適用する機能を備えることが好ましい。
【００４０】
以上のように、本発明に係るロボットシステム（例えばバラ積み部品取出しの様な作業を行なうロボットシステム）は、衝突等のアラームが発生した場合に、アラーム情報とともに、アラームが発生した位置姿勢、その時点での目標位置姿勢、ロボット動作に影響を与えた画像処理結果やその関連データを記憶し、それらを元にしてアラーム発生状況の再現を行なうものである。再現の形態としては、実システム上でのオンライン再現と、シミュレータ（例えば遠隔地に配置）上でのオフライン再現のいずれもが可能である。
【発明の効果】
【００４１】
本発明により、ロボットシステムにアラーム（異常）が発生した場合にその状況に関連した諸データを保存し、それに基づいてロボット実機上、あるいは、ロボット実機外のシミュレーション装置上でアラームの状況を再現することが可能になる。また、そのことを通して、単なる異常内容の確認のみならず、異常が発生したときのロボットの状況（アラーム発生時の姿勢、アラームに至る前の経由姿勢など）を詳しく知ることができるようになるため、原因追求と問題解消がやり易くなる。また更に、異常状況を擬似的に再現するシミュレータを使用する場合は、問題解消のためのロボットプログラムや画像処理パラメータ値の変更をもオンラインで行なう用意が整うので、予防措置が非常に効率的に行なえるようになる。
【発明を実施するための最良の形態】
【００４２】
図１〜図４は、夫々以下に説明する諸実施形態に対応する４種類の典型的な配置（第１〜第４の配置）を示したものである。なお、各実施形態でいずれの配置を採用するかについては、各実施形態の説明の中で述べる。  
先ず、諸配置の全部あるいは一部で共通的に用いられている技術手段について説明しておく。
【００４３】
ここで各配置が適用されるアプリケーションとして例示されているのは、カゴ状の容器内にバラ積みされたワークをロボットアーム先端のハンドで把持し、取出す作業である。いずれの配置においても、ロボット（本体機構部）及びハンドを制御するためにロボット制御装置が配置され、ロボット及びハンドにケーブルを用いて接続されている。なお、バラ積みワークの取出しのアプリケーションはあくまで例示であって、他のアプリケーション（例えば、視覚センサを用いたリアルタイムトラッキングによる溶接）に本発明を適用することを制限する趣旨のものではない。
【００４４】
第１、第３及び第４の配置では、個々のワークの位置・姿勢に応じたロボット制御を行なうために、ロボットアーム先端にはハンドと並んで視覚センサ（センサヘッド）が搭載されている。視覚センサは、通常、３次元視覚センサで、例えば２台のビデオカメラを用いたステレオ方式のもの、スリット光、スポット光などのパターン光を投射する投光器と１台のビデオカメラ（光検出器）を組み合わせたもの等が用いられる。
【００４５】
視覚センサを用いた配置では、センサヘッドの動作（撮像、パターン光投光、反射光検出等）を制御するとともに、センサヘッドで得られた信号（ビデオ信号、反射光検出信号等）を処理して３次元計測を行なう視覚センサ制御装置が配置される。そして、視覚センサ制御装置とロボット制御装置とは、データや諸指令をやりとりするために、データ転送手段で接続されている。
【００４６】
更に、第２、第３及び第４の配置では、アラーム状況の再現をロボット（実機）外で行なうために、シミュレーション装置が配置されている。シミュレーション装置は、アラーム状況の再現のためのシミュレーションに必要なデータの受信及び関連指令の伝達のために、通信回線を用いて、ロボット制御装置（第２、第３の配置）、あるいは、視覚センサ制御装置（第４の配置）に接続されている。
【００４７】
ロボット制御装置は、一般的に使用されている周知のもので、メインボードには、ＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性ＲＡＭなどが装備されている。ＲＯＭには、ロボットを制御するシステムソフトウェアが格納される。このシステムソフトウェアは、通常、ＲＡＭ上にコピーされた上でＣＰＵにより実行される。また、ユーザが作成する動作指令を含むロボットプログラム（動作プログラム）は、不揮発性ＲＡＭに格納される。このロボットプログラムも、通常、ＲＡＭ上にコピーされた上でＣＰＵにより実行される。
【００４８】
ロボット制御装置のメインボードは、サーボアンプを介してロボットアームを駆動するサーボモータと接続され、またサーボモータのエンコーダやその他のＩ／Ｏ信号（外部入出力信号）の信号線が直接接続される。また、教示操作盤用の入出力インターフェイスを介して、ディスプレイ付の教示操作盤が接続される。ロボット制御装置の前面にディスプレイを付設しても良い。
【００４９】
アラーム発生時には、アラームに関する情報がＲＡＭもくは不揮発性ＲＡＭ上に記録される。周知のように、アラームの内容（異常の種類）には種々のものがある。典型的なものとしては、ロボットアームまたは視覚センサ、ハンドなどのロボット装着物の干渉（衝突）がある。
【００５０】
本例のアプリケーションで言えば、カゴ状容器の壁や把持しようとするワークの周囲の別のワークとの干渉が最も起こり易いと考えられる異常（アラーム）である。このような干渉の検出方法自体は周知であるので、詳細は説明しない（例えばサーボ系の外乱推定パラメータを用いて衝突を検知する方法がある）。また、干渉以外のアラームとしては、教示経路からの大きな逸脱などロボットの異常動作、ハンドの故障、視覚センサの検出不良などがある。
【００５１】
これらアラームの発生時に不揮発性ＲＡＭ上に記録される情報には、次のものが含まれるものとする。  
●アラーム内容；異常の種類を予め定めたコードや文字で記録する。コードは、例えば、干渉は「００１」、ロボットの異常動作は「０１０」、視覚センサ不良は「０１１」、ハンド不良は「１００」などとする。  
●アラーム発生時刻
●アラーム発生時のロボットの位置・姿勢
●アラーム発生直前に実行していたロボットの移動先（目標到達位置姿勢）
●アラーム発生直前に使用していた座標系；例えば、ユーザ座標系、ツール座標系などのコードネームや座標系原点の位置・姿勢のデータ。このデータには、例えばユーザ座標系と基準となるワールド座標系との関係を表わす行列、ツール座標系とメカニカルインターフェイス座標系との関係を表わす行列など。
【００５２】
●アラーム発生直前に実行していたロボット動作の補間方式（各軸補間、直線補間など；予め定めたコードや文字で記録する。コードは、例えば、各軸補間は「００１」、直線補間は「０１０」などとする。
【００５３】
●ロボットプログラム中の実行指令の内、最新のものから過去分に遡った一定量；これは、アラーム発生に至る前のある一定時間のロボットの移動経路を後々再現できようにするためのデータで、ＲＡＭもしくは不揮発性ＲＡＭに保存する。一定量のとり方は、例えば「ビット単位の情報量」、「指令の数」、「過去に遡及する一定時間内に実行された分の指令」などを予めロボット制御装置に設定しておく。
【００５４】
視覚センサ制御装置は、上述したように、センサヘッドの動作（撮像、パターン光投光、反射光検出等）を制御するとともに、センサヘッドで得られた信号（ビデオ信号、反射光検出信号等）を処理して３次元計測を行なうものである。視覚センサの構成、基本機能等は周知なので詳述はしないが、そのメインボードにはＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性ＲＡＭ、フレームメモリなどか装備され、ＲＯＭには視覚センサを制御するシステムソフトウェアが格納されている。
【００５５】
このソフトウェアは、通常、ＲＡＭ上にコピーされた上でＣＰＵにより実行される。メインボードは、視覚センサＩ／Ｆを介して視覚センサ（センサヘッド）と接続され、例えば撮像された画像情報がフレームメモリに取り込まれ、ＣＰＵによって処理される。その処理結果はデータ転送手段によってロボット制御装置へ送付され、ロボットの動作制御に利用される。
【００５６】
また、この視覚センサ制御装置では、実行した視覚センサ処理と使用した画像をログとしてＲＡＭもしくは不揮発性ＲＡＭ（ハードディスクなど）に蓄積する。ロボット制御装置側でアラームが発生した時には、その旨をデータ転送手段を介して受信し、最も最近実行した視覚センサ処理に関わる情報及びそれに関連するそれ以前の視覚センサ処理に関わる情報をセンサ履歴情報として収集し、ＲＡＭもしくは不揮発性ＲＡＭに記録する。
【００５７】
その情報は次のようなものを含む。  
●視覚センサ処理内容；例えばワーク検出から把持しようとするワークの位置・姿勢の計測に至る一例の処理の経緯を示す履歴データ。
●  視覚センサ処理で用いたパラメータ；例えば撮像手段の電子シャッタスピード、ワーク検出で用いたしきい値、マッチング法で用いたモデル画像のアフィン変換のパラメータ値など。
●視覚センサ処理を実行した時刻。
●視覚センサによって撮像された画像。
●視覚センサ処理結果；例えば把持しようとするワークの位置・姿勢。
【００５８】
そして、視覚センサ制御装置には、モニタ用のディスプレイが付設されており、処理中、処理直後の画像の他、上記の蓄積された諸情報を表示できるようになっている。また、後述する処理に関連して、マウス等のポインタを用いて画面上でオペレータによる項目選択を行えるようになっている。
【００５９】
次に、第２〜第４の配置で採用されるシミュレーション装置は、パーソナルコンピュータを典型例として、ロボットやその周辺機器などの形状データを予め持ち、ロボットの動作のシミュレーションを行なうものであり、現在までに知られている一般的なものが採用可能である。また、第３及び第４の配置では、視覚センサ制御装置における処理と同一処理をも実施可能にし、視覚センサ制御装置側から画像及び画像処理に必要なパラメータを通信回線を介して受信することで、特定の画像処理をシミュレーション装置においても再現可能とする。
【００６０】
そして、シミュレーション装置には、モニタ用のディスプレイが付設されており、シミュレーション内容の表示の他、上記の蓄積された諸情報を表示できるようになっている。また、後述する処理に関連して、マウス等のポインタを用いて画面上でオペレータによる項目選択を行えるようになっている。
【００６１】
なお、前述した、「第１の型」〜「第８の型」と、上記各配置との対応関係は下記の通りである。  
第１の配置（図１）→第１の型、第２の型
第２の配置（図２）→第３の型、第４の型
第３の配置（図３）→第５の型、第６の型
第４の配置（図４）→第７の型、第８の型
以上の前提の下に、第１〜第４の実施形態における処理の概要を図５〜図１２のフローチャートを使って説明する。ここで、第１〜第４の実施形態は、夫々第１〜第４の配置に対応しており、また、各装置間でやりとりされる情報の内容の例は上述した通りであり、以下の説明では繰り返さず、各ステップの要点のみを記す。なお、フローチャート上では、「ロボット制御装置」を「ロボット」、「視覚センサ制御装置」を「視覚センサ」と短縮表記した。
【００６２】
［第１の実施形態（第１の配置；図１／フローチャート；図５、図６）］
本実施形態では、図５及び図６のフローチャートに従った処理が行なわれる。図５のフローチャートは、視覚センサ制御装置内で行なわれるイベントドリブン処理とロボット制御装置内でアラーム発生時に実行される割り込み処理の概要を表わしている。また、図６のフローチャートは、アラーム再現のために、ロボット制御装置内及び視覚センサ制御装置内で実行される処理の概要を表わしている。各ステップの要点は下記の通りである。
【００６３】
ステップＤ１；ロボット制御装置は、アラームを検出したら、アラームＩＤを定め、アラーム種類等のロボット履歴情報を収集する。なお、ロボット履歴情報はロボット動作時には常時最新の一定量の遡及分のデータがロボット制御装置内で蓄積されている（不揮発性ＲＡＭの古いデータを逐次消去して、新しいデータを追加保存する）。
【００６４】
ステップＤ２；視覚センサ制御装置にアラーム発生をアラームＩＤを付けて通知する。  ステップＤ３；視覚センサ制御装置に、ステップＤ１で収集したロボット履歴情報を送信する。  
ステップＤ４；視覚センサ制御装置に、実行済みの指令情報を送信して割り込み処理を終了する。
【００６５】
ステップＥ１；ロボット制御装置から、視覚センサ起動の指令を待つ。但し、ロボット起動後、アラーム発生時には、アラーム発生の通知を受ける。  
ステップＥ２；受けた連絡が検出指令であればステップＥ３へ進み、アラーム発生通知であればステップＥ８へ進む。  
ステップＥ３；検出指令の内容に応じて処理内容を選択する。  
ステップＥ４；視覚センサ（センサヘッド）に撮像トリガを送り、撮像を実行する。  
ステップＥ５；視覚センサ制御装置に画像を取り込み、画像処理を行なう。  
ステップＥ６；処理結果をロボット制御装置に送信する。  
ステップＥ７；画像、処理内容、パラメータ、処理結果、時刻等を計測処理情報として保存して、ステップＥ１へ戻る。
【００６６】
ステップＥ８；ロボット制御装置から、ロボット履歴情報を受信する。  
ステップＥ９；ロボット制御装置から、実行済指令情報を受信する。  
ステップＥ１０；最新及び関連する計測処理情報を視覚センサ履歴情報として選択して記憶する。
【００６７】
ステップＥ１１；ロボット履歴情報及び実行済指令情報と、ステップＥ１０で選択、記憶した視覚センサ履歴情報をグループ化して保存する。そのために、ステップＤ１で定めたアラームＩＤが利用できる。保存が済んだら処理を終了する。
【００６８】
以上が、アラーム発生に備えた処理及びアラーム発生時の処理の概要である。これにより保存されたデータを用いて、アラームを再現する際の処理は、図６のフローチャートに従う。各ステップの要点は下記の通りである。
【００６９】
ステップＦ１；視覚センサ制御装置から、ロボット履歴情報を受信する。  
ステップＦ２；視覚センサ制御装置から、実行済指令情報を受信する。  
ステップＦ３；ステップＦ１、Ｆ２で受信した情報を利用して、アラーム発生の少し前の時点のロボット位置からアラーム発生時のロボット位置（アラーム発生ポイント）に至る動作を再現する（実機によるアラーム再現）。
【００７０】
ステップＧ１；アラーム履歴一覧を視覚センサ制御装置のディスプレイ上に表示する。  
ステップＧ２；オペレータは、アラーム履歴一覧の中から再現を希望するアラームを画面上で選択する。これにより、視覚センサ制御装置のＣＰＵは、選択されたアラームのアラームＩＤを認識する。  
ステップＧ３；選択されたアラームＩＤに対応するロボット履歴情報、実行済指令情報、視覚センサ履歴情報を選択する（メモリから読み出す）。
【００７１】
ステップＧ４；ロボット制御装置にロボット履歴情報を送信する。  
ステップＧ５；ロボット制御装置に実行済指令情報を送信する。  
ステップＧ６；ステップＧ３で選択した視覚センサ履歴情報を利用して、該当する画像処理を再現（アラーム時の関連画像、処理内容等を視覚センサのディスプレイ上に表示）し、処理を終了する。
【００７２】
［第２の実施形態（第２の配置；図２／フローチャート；図７、図８）］
本実施形態では、図７及び図８のフローチャートに従った処理が行なわれる。図７のフローチャートはロボット制御装置内でアラーム発生時に実行される割り込み処理の概要を表わしている。また、図８のフローチャートは、アラーム再現のために、ロボット制御装置内及びシミュレーション装置内で実行される処理の概要を表わしている。各ステップの要点は下記の通りである。
【００７３】
ステップＨ１；ロボット制御装置は、アラームを検出したら、アラームＩＤを定め、アラーム種類等のロボット履歴情報を収集する。なお、ロボット履歴情報はロボット動作時には常時最新の一定量の遡及分のデータがロボット制御装置内で蓄積されている（不揮発性ＲＡＭの古いデータを逐次消去して、新しいデータを追加保存する）。
【００７４】
ステップＨ２；ロボット履歴情報及び実行済指令情報をグループ化して保存する。そのために、ステップＨ１で定めたアラームＩＤが利用できる。保存が済んだら割り込み処理を終了する。
【００７５】
以上が、アラーム発生に備えた処理及びアラーム発生時の処理の概要である。これにより保存されたデータを用いて、アラームを再現する際の処理は、図８のフローチャートに従う。各ステップの要点は下記の通りである。
【００７６】
ステップＫ１；ロボット制御装置からアラーム履歴一覧を受信する。  
ステップＫ２；オペレータは、アラーム履歴一覧の中から再現を希望するアラームを画面上で選択する。これにより、シミュレーション装置のＣＰＵは、選択されたアラームのアラームＩＤを認識する。  
ステップＫ３；選択されたアラームＩＤをロボット制御装置に送信する。  
ステップＫ４；ロボット制御装置から、ロボット履歴情報及び実行済指令情報を受信する。  
ステップＫ５；ステップＫ４で受信した情報を利用して、アラーム発生の少し前の時点のロボット位置からアラーム発生時のロボット位置（アラーム発生ポイント）に至る動作を再現するためのシミュレーションを実行する（シミュレーション装置によるアラーム再現）。
【００７７】
［第３の実施形態（第３の配置；図３／フローチャート；図９、図１０）］
本実施形態では、図９及び図１０のフローチャートに従った処理が行なわれる。図９のフローチャートは、視覚センサ制御装置内で行なわれるイベントドリブン処理とロボット制御装置内でアラーム発生時に実行される割り込み処理の概要を表わしている。また、図１０のフローチャートは、アラーム再現のために、ロボット制御装置内及びシミュレーション装置内で実行される処理の概要を表わしている。各ステップの要点は下記の通りである。
【００７８】
ステップＬ１；ロボット制御装置は、アラームを検出したら、アラームＩＤを定め、アラーム種類等のロボット履歴情報を収集する。なお、ロボット履歴情報はロボット動作時には常時最新の一定量の遡及分のデータがロボット制御装置内で蓄積されている（不揮発性ＲＡＭの古いデータを逐次消去して、新しいデータを追加保存する）。
ステップＬ２；視覚センサ制御装置にアラーム発生をアラームＩＤを付けて通知する。
ステップＬ３；視覚センサ制御装置から、視覚センサ履歴情報を受信する。  
ステップＬ４；ロボット履歴情報及び実行済指令情報と、ステップＬ３で受信した視覚センサ履歴情報をグループ化して保存する。そのために、ステップＬ１で定めたアラームＩＤが利用できる。保存が済んだら処理を終了する。
【００７９】
ステップＭ１；ロボット制御装置から、視覚センサ起動の指令を待つ。但し、ロボット起動後、アラーム発生時には、アラーム発生の通知を受ける。  
ステップＭ２；受けた連絡が検出指令であればステップＭ３へ進み、アラーム発生通知であればステップＭ８へ進む。  
ステップＭ３；検出指令の内容に応じて処理内容を選択する。  
ステップＭ４；視覚センサ（センサヘッド）に撮像トリガを送り、撮像を実行する。  
ステップＭ５；視覚センサ制御装置に画像を取り込み、画像処理を行なう。  
ステップＭ６；処理結果をロボット制御装置に送信する。  
ステップＭ７；画像、処理内容、パラメータ、処理結果、時刻等を計測処理情報として保存して、ステップＭ１へ戻る。
【００８０】
ステップＭ８；最新及び関連する計測処理情報を視覚センサ履歴情報として選択して記憶する。  
ステップＭ９；ロボット制御装置に、視覚センサ履歴情報を送信して処理を終了する。
以上が、アラーム発生に備えた処理及びアラーム発生時の処理の概要である。これにより保存されたデータを用いて、アラームを再現する際の処理は、図１０のフローチャートに従う。各ステップの要点は下記の通りである。
【００８１】
ステップＰ１；アラーム履歴一覧をシミュレーション装置に送信する。  
ステップＰ２；選択されたアラームＩＤの受信を待つ。受信したら、ステップＰ３へ進む。  
ステップＰ３；選択されたアラームＩＤに対応するロボット履歴情報、実行済指令情報、視覚センサ履歴情報を選択する（メモリから読み出す）。  
ステップＰ４；シミュレーション装置に、ロボット履歴情報、実行済指令情報、視覚センサ履歴情報を送信して処理を終了する。
【００８２】
ステップＱ１；ロボット制御装置からアラーム履歴一覧を受信する。  
ステップＱ２；オペレータは、アラーム履歴一覧の中から再現を希望するアラームを画面上で選択する。これにより、シミュレーション装置のＣＰＵは、選択されたアラームのアラームＩＤを認識する。  
ステップＱ３；選択されたアラームＩＤをロボット制御装置に送信する。  
ステップＱ４；ロボット制御装置から、ロボット履歴情報及び実行済指令情報及び視覚センサ履歴情報を受信する。  
ステップＱ５；ステップＫ４で受信した視覚センサ履歴情報を利用して、該当する画像処理を再現する（アラーム時の関連画像、処理内容等をシミュレーション装置のディスプレイ上に表示）。
【００８３】
ステップＱ６；ステップＫ４で受信した情報を利用して、アラーム発生の少し前の時点のロボット位置からアラーム発生時のロボット位置（アラーム発生ポイント）に至る動作を再現するためのシミュレーションを実行する（シミュレーション装置によるアラーム再現）。
【００８４】
［第４の実施形態（第４の配置；図４／フローチャート；図１１、図１２）］
本実施形態では、図１１及び図１２のフローチャートに従った処理が行なわれる。図１１のフローチャートは、視覚センサ制御装置内で行なわれるイベントドリブン処理とロボット制御装置内でアラーム発生時に実行される割り込み処理の概要を表わしている。また、図１２のフローチャートは、アラーム再現のために、視覚センサ制御装置内及びシミュレーション装置内で実行される処理の概要を表わしている。各ステップの要点は下記の通りである。
【００８５】
ステップＳ１；ロボット制御装置から、視覚センサ起動の指令を待つ。但し、ロボット起動後、アラーム発生時には、アラーム発生の通知を受ける。  
ステップＳ２；受けた連絡が検出指令であればステップＭ３へ進み、アラーム発生通知であればステップＳ８へ進む。  
ステップＳ３；検出指令の内容に応じて処理内容を選択する。  
ステップＳ４；視覚センサ（センサヘッド）に撮像トリガを送り、撮像を実行する。  
ステップＳ５；視覚センサ制御装置に画像を取り込み、画像処理を行なう。  
ステップＳ６；処理結果をロボット制御装置に送信する。  
ステップＳ７；画像、処理内容、パラメータ、処理結果、時刻等を計測処理情報として保存して、ステップＳ１へ戻る。
【００８６】
ステップＳ８；ロボット制御装置から、ロボット履歴情報を受信する。  
ステップＳ９；ロボット制御装置から、実行済指令情報を受信する。  
ステップＳ１０；最新及び関連する計測処理情報を視覚センサ履歴情報として選択して記憶する。  
ステップＳ１１；ロボット履歴情報及び実行済指令情報と、ステップＳ１０で選択、記憶した視覚センサ履歴情報をグループ化して保存する。そのために、ロボット側（ステップＲ１；後述）で定めたアラームＩＤが利用できる。保存が済んだら処理を終了する。
【００８７】
テップＲ１；ロボット制御装置は、アラームを検出したら、アラームＩＤを定め、アラーム種類等のロボット履歴情報を収集する。なお、ロボット履歴情報はロボット動作時には常時最新の一定量の遡及分のデータがロボット制御装置内で蓄積されている（不揮発性ＲＡＭの古いデータを逐次消去して、新しいデータを追加保存する）。
ステップＲ２；視覚センサ制御装置にアラーム発生をアラームＩＤを付けて通知する。
ステップＲ３；視覚センサ制御装置に実行済指令情報を送信して処理を終了する。
以上が、アラーム発生に備えた処理及びアラーム発生時の処理の概要である。これにより保存されたデータを用いて、アラームを再現する際の処理は、図１２のフローチャートに従う。各ステップの要点は下記の通りである。
【００８８】
ステップＴ１；視覚センサ制御装置からアラーム履歴一覧を受信する。  
ステップＴ２；オペレータは、アラーム履歴一覧の中から再現を希望するアラームを画面上で選択する。これにより、シミュレーション装置のＣＰＵは、選択されたアラームのアラームＩＤを認識する。  
ステップＴ３；選択されたアラームＩＤを視覚センサ制御装置に送信する。  
ステップＴ４；視覚センサ制御装置から、ロボット履歴情報及び実行済指令情報及び視覚センサ履歴情報を受信する。  
ステップＴ５；ステップＴ４で受信した視覚センサ履歴情報を利用して、該当する画像処理を再現する（アラーム時の関連画像、処理内容等をシミュレーション装置のディスプレイ上に表示）。
【００８９】
ステップＴ６；ステップＴ４で受信した情報を利用して、アラーム発生の少し前の時点のロボット位置からアラーム発生時のロボット位置（アラーム発生ポイント）に至る動作を再現するためのシミュレーションを実行する（シミュレーション装置によるアラーム再現）。
【００９０】
ステップＵ１；アラーム履歴一覧をシミュレーション装置に送信する。  
ステップＵ２；選択されたアラームＩＤの受信を待つ。受信したら、ステップＵ３へ進む。  
ステップＵ３；選択されたアラームＩＤに対応するロボット履歴情報、実行済指令情報、視覚センサ履歴情報を選択する（メモリから読み出す）。
ステップＵ４；シミュレーション装置に、ロボット履歴情報、実行済指令情報、視覚センサ履歴情報を送信して処理を終了する。
【図面の簡単な説明】
【００９１】
【図１】第１の実施形態で採用される第１の配置の概要を示した図である。
【図２】第２の実施形態で採用される第２の配置の概要を示した図である。
【図３】第３の実施形態で採用される第３の配置の概要を示した図である。
【図４】第４の実施形態で採用される第４の配置の概要を示した図である。
【図５】第１の実施形態において、アラーム発生時の処理及びアラーム発生に備えた処理の概要を表わしたフローチャートである。
【図６】第１の実施形態において、アラーム再現のために実行される処理の概要を表わしたフローチャートである。
【図７】第２の実施形態において、アラーム発生時の処理及びアラーム発生に備えた処理の概要を表わしたフローチャートである。
【図８】第２の実施形態において、アラーム再現のために実行される処理の概要を表わしたフローチャートである。
【図９】第３の実施形態において、アラーム発生時の処理及びアラーム発生に備えた処理の概要を表わしたフローチャートである。
【図１０】第３の実施形態において、アラーム再現のために実行される処理の概要を表わしたフローチャートである。
【図１１】第４の実施形態において、アラーム発生時の処理及びアラーム発生に備えた処理の概要を表わしたフローチャートである。
【図１２】第４の実施形態において、アラーム再現のために実行される処理の概要を表わしたフローチャートである。
【図１】
2005103681.tif 000003
【図２】
2005103681.tif 000004
【図３】
2005103681.tif 000005
【図４】
2005103681.tif 000006
【図５】
2005103681.tif 000007
【図６】
2005103681.tif 000008
【図７】
2005103681.tif 000009
【図８】
2005103681.tif 000010
【図９】
2005103681.tif 000011
【図１０】
2005103681.tif 000012
【図１１】
2005103681.tif 000013
【図１２】
2005103681.tif 000014