説明

ロボット監視システム

【課題】1つの画像記録ユニットのみを備えるロボット監視システムであっても、画像記録ユニットの故障を検出することを可能とする。
【解決手段】ロボット監視システムは、アーム11を有するロボット10と、アーム11の座標である第1座標を算出するとともに、アーム11の動作を制御するロボットコントローラ20と、ロボット10及びその周辺領域を撮像して画像を記録するカメラ装置30とを備えている。カメラ装置30は、記録される画像に基づいて、アーム11の座標である第2座標を算出し、第1座標と第2座標との比較に基づいて、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット及びその周辺領域を監視するシステムに関する。
【背景技術】
【0002】
従来、ロボットを保護する監視システムにおいて、共通の視界領域を有する第1及び第2の画像記録ユニットを備え、視界領域内の仮想の保護区域に異物が侵入したときに、警報信号を発するものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2010−510595号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、一般に、画像記録ユニットで記録される画像に乱れが生じた場合、画像記録ユニットが故障したのか、又は画像に記録される対象が実際に変化したのか、それらを判定することは困難である。
【0005】
特許文献1では、2つの画像記録ユニットを互いに対して単に冗長に作動させることを開示している。そうした構成であれば、2つの画像記録ユニットで記録される画像が互いに異なる場合に、いずれかの画像記録ユニットが故障していると判定することが可能となる。
【0006】
しかしながら、そうした構成では、2つの画像記録ユニットが必要となるため、ロボット監視システムのコストが上昇することが避けられない。
【0007】
本発明は、こうした実情に鑑みてなされたものであり、その主たる目的は、1つの画像記録ユニットのみを備えるロボット監視システムであっても、画像記録ユニットの故障を検出することを可能とすることである。
【課題を解決するための手段】
【0008】
本発明は、上記課題を解決するために、以下の手段を採用した。
【0009】
第1の発明は、アームを有するロボットと、前記アームの座標である第1座標を算出するとともに、前記アームの動作を制御するロボットコントローラと、前記ロボット及びその周辺領域を撮像して画像を記録する画像記録ユニットと、前記画像記録ユニットにより記録される画像に基づいて、前記アームの座標である第2座標を算出する算出手段と、前記第1座標と前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する判定手段と、を備えることを特徴とする。
【0010】
上記構成によれば、ロボットはアームを有しており、ロボットコントローラにより、アームの座標である第1座標が算出されるとともに、アームの動作が制御される。また、画像記録ユニットによって、ロボット及びその周辺領域が撮像され、その画像が記録される。そして、算出手段によって、画像記録ユニットにより記録される画像に基づいて、アームの座標である第2座標が算出される。すなわち、異なる方法によって、共通のアームの座標がそれぞれ算出される。なお、ロボットコントローラは、アームの動作を制御する上でアームの座標を把握しているため、この座標を利用することにより、2つ目の画像記録ユニットの代わりを果たすことができる。
【0011】
さらに、第1座標と第2座標との比較に基づいて、ロボットコントローラ及び画像記録ユニットのいずれか一方が故障していると判定される。例えば、第1座標と第2座標とが大きく異なる場合には、ロボットコントローラ及び画像記録ユニットのいずれか一方が故障していると判定することができる。そして、ロボットコントローラが故障しているか否かは、別の方法により比較的容易に判定することができる。したがって、1つの画像記録ユニットのみを備えるロボット監視システムであっても、画像記録ユニットの故障を検出することが可能となる。
【0012】
第2の発明では、第1の発明において、前記ロボットコントローラは、第1周期により繰り返し前記第1座標を算出するとともに、過去の前記第1座標を記憶し、前記画像記録ユニットは、第2周期により繰り返し前記ロボット及びその周辺領域を撮像して画像を記録し、前記判定手段は、過去の前記第1座標のうち前記画像記録ユニットにより撮像された時刻に対応する前記第1座標と、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する。
【0013】
上記構成によれば、ロボットコントローラによって、第1周期により繰り返し第1座標が算出されるとともに、過去の第1座標が記憶される。また、画像記録ユニットによって、第2周期により繰り返しロボット及びその周辺領域が撮像され、その画像が記録される。そして、算出手段によって、その記録される画像に基づいて、第2座標が算出される。
【0014】
ここで、画像記録ユニットによる撮像から算出手段による第2座標の算出までに、画像処理等を行うための時間が必要となる。このため、第2座標が算出された時に、その時に算出された第1座標と比較を行うと、異なる時刻のアームに対して算出された座標を比較するおそれがある。
【0015】
この点、上記構成によれば、判定手段による判定において、過去の第1座標のうち画像記録ユニットにより撮像された時刻に対応する第1座標と、その撮像によって記録された画像に基づき算出手段により算出された第2座標とが比較される。したがって、アームに対する時刻が対応している第1座標と第2座標とを比較することができ、故障判定の精度を向上させることができる。
【0016】
第3の発明では、第2の発明において、前記判定手段は、前記画像記録ユニットにより撮像された時刻から、前記算出手段により前記第2座標が算出された時刻までに、前記ロボットコントローラにより算出された前記第1座標と、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する。
【0017】
画像記録ユニットにより撮像された時刻よりも前に、ロボットコントローラにより算出された第1座標は、その撮像によって記録された画像に基づき算出手段により算出された第2座標とは対応しない。一方、画像記録ユニットによる撮像から算出手段による第2座標の算出までに必要な時間は必ずしも一定ではなく、その時間を予測することは容易ではない。
【0018】
この点、上記構成によれば、画像記録ユニットにより撮像された時刻から、算出手段により第2座標が算出された時刻までに、ロボットコントローラにより算出された第1座標が選択される。また、その画像記録ユニットの撮像により記録された画像に基づいて、算出手段により算出された第2座標が選択される。そして、このように選択された第1座標と第2座標とが比較される。このため、第2座標と比較する第1座標の対象を必要十分とすることができ、故障判定の精度を向上させつつ演算負荷を軽減することができる。
【0019】
第4の発明では、第2又は第3の発明において、前記判定手段は、前記画像記録ユニットにより撮像された時刻から、前記算出手段により前記第2座標が算出された時刻までに、前記ロボットコントローラにより算出された前記第1座標のいずれか1つと、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との差が、判定値よりも小さい場合に、前記ロボットコントローラ及び前記画像記録ユニットが正常であると判定する。
【0020】
上記構成によれば、第2座標と比較する対象として必要十分な第1座標に対して、そのうちのいずれか1つと第2座標との差が判定値よりも小さい場合に、前記ロボットコントローラ及び前記画像記録ユニットが正常であると判定される。その結果、第3の発明と同様に演算負荷を軽減しつつ、ロボットコントローラ及び画像記録ユニットが正常であることを適切に判定することができる。
【0021】
第5の発明では、第1〜第4のいずれかの発明において、前記判定手段は、前記画像記録ユニットにより記録される画像において、前記第2座標を含む前記アームの範囲から前記第1座標が外れている場合に、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する。
【0022】
上記構成によれば、画像記録ユニットにより記録される画像において、第2座標を含むアームの範囲が第1座標の判定範囲として設定される。そして、その範囲から第1座標が外れている場合に、ロボットコントローラ及び画像記録ユニットのいずれか一方が故障していると判定される。このため、画像記録ユニットにより記録される画像に基づいて、第1座標の判定範囲を容易かつ適切に設定することができ、判定処理を簡潔に行うことができる。
【0023】
第6の発明では、第1〜第5のいずれかの発明において、前記判定手段は、前記画像記録ユニットにより記録される画像において、前記アームの速度が速いほど大きく設定される領域を前記アームの周りに加えた範囲から前記第1座標が外れている場合に、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する。
【0024】
ロボットのアームの速度が速い場合には、アームの速度が遅い場合よりも、アームの座標を算出する精度が低下すると予測される。したがって、第1座標の判定範囲を一律に設定した場合には、アームの速度によっては故障判定の精度が低下するおそれがある。
【0025】
この点、上記構成によれば、画像記録ユニットにより記録される画像において、アームの速度が速いほど大きく設定される領域をアームの周りに加えた範囲が、第1座標の判定範囲として設定される。そして、その範囲から第1座標が外れている場合に、ロボットコントローラ及び画像記録ユニットのいずれか一方が故障していると判定される。このため、アームの速度に応じて第1座標の判定範囲を適切に設定することができ、故障判定の精度が低下することを抑制することができる。
【図面の簡単な説明】
【0026】
【図1】ロボット監視システムの概要を示す模式図。
【図2】ロボット及びその周辺領域を監視する態様を示す平面図。
【図3】第1座標算出制御の処理手順を示すフローチャート。
【図4】第2座標算出及び故障判定制御の処理手順を示すフローチャート。
【図5】第1座標と第2座標とを比較する態様を示すタイムチャート。
【発明を実施するための形態】
【0027】
以下、一実施形態について、図面を参照しつつ説明する。本実施形態は、機械組立工場等において、機械等の組み立てを行う産業用ロボットを監視するシステムとして具体化している。
【0028】
図1は、ロボット監視システムの概要を示す模式図である。同図に示すように、ロボット監視システムは、ロボット10と、ロボットコントローラ20と、カメラ装置30とを備えている。
【0029】
ロボット10は、垂直多関節型のロボットであり、複数の関節を有するアーム11を備えている。アーム11の先端には、ワークを把持及び開放するハンド部11a(手先)が設けられている。ロボットの各関節には、それぞれモータが設けられており、これらのモータの回転によりアームが駆動される。各モータには、その出力軸を制動する電磁ブレーキと、出力軸の回転角度に応じたパルス信号を出力するエンコーダとがそれぞれ設けられている。ロボット10は、アーム11を動作させることにより、ワークに対する部品の組付けやワークの搬送等を行う。
【0030】
ロボットコントローラ20は、CPU、ROM、RAM、データバッファ、駆動回路、位置検出回路等を備えている。これらは互いに電気的に接続されている。ROMは、ロボット10のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。データバッファは、情報を時系列で一時的に記憶する。位置検出回路には、各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度を検出する。
【0031】
そして、CPUは、動作プログラムを実行することにより、位置検出回路から入力される位置情報に基づいて、ロボット10の各関節の回転角度を目標回転角度にフィードバック制御する。本実施形態では、CPUは、各モータの回転角度に基づいてハンド部11a及び各関節の座標(第1座標)を算出し、その座標とその時の時刻とを組にしてデータバッファに順次記憶させる。データバッファでは、こうした組のデータが複数記憶されている。
【0032】
カメラ装置30(画像記録ユニット)は、CCDカメラ、信号増幅部、A/D変換部、差分画像取得部、動体検出部、判定部等を備えている。CCDカメラは、建物の天井に配置されており、ロボット10及びその周辺領域を上方から撮像する。信号増幅部は、CCDカメラの出力信号を増幅する。A/D変換部は、この増幅された映像信号をデジタル信号に変換する。差分画像取得部は、このデジタル信号とされた画像を所定の時間間隔で記録し、その記録された2つの画像の差分を求める。動体検出部は、差分画像を閾値で二値化して動体を検出する。判定部は、ロボット10以外の動体の座標を算出し、その動体がロボット10近傍の危険領域に入った場合に、ロボットコントローラ20にロボット10の停止命令を送信する。
【0033】
図2は、ロボット及びその周辺領域を監視する態様を示す平面図である。同図に示すように、カメラ装置30のCCDカメラによる撮像において、ロボット10及びその周辺領域の画像が取得される。そして、所定の時間間隔で記録された画像の差分が差分画像取得部により求められ、差分画像に基づいて動体検出部により動体が検出される。ここで、アーム11の長さに基づいて、ロボット10の周囲に危険領域Rが設定されている。ロボット10以外の動体として作業者Mが危険領域R内に入った場合には、判定部からロボットコントローラ20へロボット10の停止命令が送信される。
【0034】
本実施形態では、カメラ装置30の判定部(算出手段)は、ロボット10のアーム11についても座標(第2座標)を算出する。そして、判定部(判定手段)は、上記ロボットコントローラ20により算出されるアーム11の座標(第1座標)と第2座標との比較に基づいて、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定する。具体的には、第1座標と第2座標とが一致する場合、又は第1座標と第2座標との差が判定値よりも小さい場合には、ロボットコントローラ20及びカメラ装置30が正常であると判定する。一方、第1座標と第2座標とが不一致である場合、又は第1座標と第2座標との差が判定値よりも大きい場合には、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定する。
【0035】
図3は、第1座標算出制御の処理手順を示すフローチャートである。この一連の処理は、ロボットコントローラ20により所定の周期(第1周期)で繰り返し実行される。
【0036】
まず、アーム11の各関節に設けられたモータの回転角度を取得する(S11)。具体的には、位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度を検出する。
【0037】
続いて、各モータの回転角度をカメラ装置30と同一の座標系に変換して、ハンド部11a及び各関節の座標を算出する(S12)。具体的には、CPUは、位置検出回路から入力される各モータの回転角度を水平面上の直交座標系(xy座標系)に変換して、xy平面上でのハンド部11a及び各関節の座標(第1座標)を算出する。詳しくは、ハンド部11aの第1座標を(x1,y1)、第1関節の第1座標を(x2,y2)、第2関節の第1座標を(x3,y3)として算出する。このとき、図2に示した画像におけるxy座標系の原点と、上記変換後のxy座標系の原点とを一致させる。
【0038】
続いて、xy座標系でのハンド部11a及び各関節の第1座標と、その第1座標が算出された時刻t1とを組にして、データバッファに記憶する(S13)。具体的には、(x1,y1,t1)、(x2,y2,t1)・・・といった形式のデータを、データバッファに記憶する。なお、時刻t2に算出されるハンド部11a及び各関節の第1座標は、それぞれ(x1,y1,t2)、(x2,y2,t2)となる。そして、この一連の処理を一旦終了する(END)。
【0039】
図4は、第2座標算出及び故障判定制御の処理手順を示すフローチャートである。この一連の処理は、カメラ装置30により所定の周期(第2周期)で繰り返し実行される。なお、この第2周期は、上記第1周期よりも長くなっており、詳しくは第1周期の略3倍となっている。
【0040】
まず、撮像により記録された画像に基づいて、ロボット10のアーム11のシルエットを抜き出す(S21)。具体的には、CCDカメラは、ロボット10及びその周辺領域を撮像しており、差分画像取得部は、所定の時間間隔で記録された2つの画像の差分を求める。そして、動体検出部は、差分画像を閾値で二値化してアーム11のシルエットを検出する。
【0041】
続いて、検出されたアーム11のシルエットに対して、そのシルエットを構成する各点の座標を算出する(S22)。具体的には、カメラ装置30の判定部は、上記ロボットコントローラ20と同一のxy座標系を基準として、各点の座標(第2座標)を算出する。詳しくは、第1点の第2座標を(x1,y1)、第2点の第2座標を(x2,y2)、第3点の第2座標を(x3,y3)として算出する。そして、それら第2座標とCCDカメラにより撮像された時刻t1とを組にして、(x1,y1,t1)、(x2,y2,t1)・・・といった形式のデータを作成する。これらのデータには、アーム11のハンド部11a及び各関節に対応する各点のデータも含まれている。
【0042】
続いて、上記の撮像時刻t1に対応する第1座標を、ロボットコントローラ20のデータバッファから取得する(S23)。上述したように、ロボットコントローラ20のデータバッファには、ハンド部11a及び各関節の第1座標とその算出時刻とを組にしたデータ(x1,y1,t1),(x2,y2,t1)・・・、(x1,y1,t2),(x2,y2,t2)・・・、(x1,y1,t3),(x2,y2,t3)・・・、が記憶されている。そこで、判定部は、データバッファから、撮像時刻t1に対応する第1座標として、撮像時刻t1から第2座標が算出された時刻tnまでの期間に含まれる第1座標、すなわち第1座標集団を取得する。具体的には、(x1,y1,t1),(x2,y2,t1)・・・、(x1,y1,t2),(x2,y2,t2)・・・、 ・・・ 、(x1,y1,tn−1),(x2,y2,tn−1)・・・、(x1,y1,tn),(x2,y2,tn)・・・、といったデータの各第1座標を取得する。
【0043】
その後、第1座標集団のいずれかの時刻の第1座標が、アーム11のシルエット内に含まれているか否か判定する(S24)。具体的には、判定部は、上記のように作成した(x1,y1,t1)、(x2,y2,t1)・・・、といった撮像時刻t1に対応するデータの各第2座標、すなわち撮像時刻t1に対応するシルエットを構成する各点の第2座標を取得する。そして、第1座標集団のいずれかの時刻の第1座標において、ハンド部11a及び各関節の第1座標が、各点の第2座標の中に全て含まれているか否か判定する。すなわち、第1座標集団のいずれかの時刻の第1座標において、ハンド部11a及び各関節の第1座標が、各点の第2座標のいずれかと一致するか否か判定する。
【0044】
上記判定において、第1座標集団のいずれかの時刻の第1座標が、アーム11のシルエット内に含まれていると判定した場合には(S24:YES)、ロボットコントローラ20及びカメラ装置30は正常であると判定して、この一連の処理を一旦終了する(END)。一方、この判定において、第1座標集団のいずれの時刻の第1座標も、アーム11のシルエット内に含まれていないと判定した場合には(S24:NO)、第1座標集団のいずれかの時刻の第1座標が、アーム11のシルエット及びその近傍領域内に含まれているか否か判定する(S25)。
【0045】
具体的には、判定部は、アーム11のシルエットの周りに、アーム11の速度に応じて近傍領域を設定する。この近傍領域は、アーム11の速度が速いほど大きく設定される。なお、アーム11の速度は、ロボットコントローラ20からカメラ装置30へ入力される。そして、第1座標集団のいずれかの時刻の第1座標において、ハンド部11a及び各関節の第1座標が、アーム11のシルエット及びその近傍領域内の各点の座標の中に全て含まれているか否か判定する。すなわち、第1座標集団のいずれかの時刻の第1座標において、ハンド部11a及び各関節の第1座標が、アーム11のシルエット及びその近傍領域内の各点の座標のいずれかと一致するか否か判定する。
【0046】
上記判定において、第1座標集団のいずれかの時刻の第1座標が、アーム11のシルエット及びその近傍領域内に含まれていると判定した場合には(S25:YES)、ロボットコントローラ20及びカメラ装置30は正常であると判定して、この一連の処理を一旦終了する(END)。一方、この判定において、第1座標集団のいずれの時刻の第1座標も、アーム11のシルエット及びその近傍領域内に含まれていないと判定した場合には(S25:NO)、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定して、ロボット10を停止させる(S26)。具体的には、判定部は、ロボットコントローラ20にロボット10の停止命令を送信する。そして、この一連の処理を一旦終了する(END)。
【0047】
図5は、第1座標と第2座標とを比較する態様を示すタイムチャートである。
【0048】
図5(a)に示すように、ロボットコントローラ20では、第1周期により繰り返しハンド部11a及び各関節の第1座標が算出される。各点C1,C2,・・・Cnは、第1座標が算出されるタイミングを示している。
【0049】
図5(b)に示すように、カメラ装置30では、第2周期により繰り返しCCDカメラにより撮像が行われる。各点S1,S2,・・・Snは、CCDカメラによりロボット10及びその周辺領域が撮像されるタイミングを示している。第2周期は、第1周期の略3倍の長さとなっている。
【0050】
カメラ装置30では、CCDカメラによる時刻t1での撮像後に、信号の取込みや変換に期間T11が必要とされ、差分画像の取得や、動体の検出、第2座標の算出に期間T12が必要とされている。そして、カメラ装置30において第2座標が算出される時刻t2までに、ロボットコントローラ20において点C2,C3で第1座標が算出されている。
【0051】
ここで、時刻t2に最も近い時刻の第1座標と、時刻t1での撮像に基づき算出された第2座標とを比較すると、点C3でのロボット10の座標を表す第1座標と、点S1でのロボット10の座標を表す第2座標とを比較することとなる。したがって、ロボットコントローラ20及びカメラ装置30の故障を判定する精度が低下するおそれがある。
【0052】
そこで、撮像時刻t1から第2座標が算出された時刻t2までの期間に算出された第1座標、すなわち点C1,C2,C3でそれぞれ算出された第1座標が取得される。そして、これら点C1,C2,C3で算出された第1座標のいずかが、ロボット10のアーム11のシルエット内に含まれているか否か判定される。すなわち、上記期間T11,T12の長さはその都度変化し、次の周期での期間T21,T22の長さと異なっている。しかしながら、点S1でのロボット10の第2座標に対応する第1座標は、時刻t1から時刻t2までの期間に算出された第1座標集団に含まれることとなる。
【0053】
そして、点C1での第1座標において、アーム11のハンド部11a及び各関節の第1座標が、アーム11のシルエット内に全て含まれる場合には、ロボットコントローラ20及びカメラ装置30が正常と判定される。一方、点C1での第1座標において、アーム11のハンド部11a及び各関節の第1座標のいずれかが、アーム11のシルエットから外れる場合には、点C1での第1座標は第2座標と一致しないと判定される。同様に、点C2,C3での第1座標も第2座標と比較される。
【0054】
そして、点C2,C3での第1座標も第2座標と一致しないと判定された場合には、これら点C1,C2,C3で算出された第1座標のいずかが、アーム11のシルエット及びその近傍領域内に含まれているか否か判定される。この判定において、点C1,C2,C3で算出された第1座標のいずかが、アーム11のシルエット及びその近傍領域内に含まれる場合には、ロボットコントローラ20及びカメラ装置30が正常と判定される。一方、点C1,C2,C3での第1座標がいずれもアーム11のシルエット及びその近傍領域内に含まれない場合には、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定される。以後、同様にして、第2周期毎に第1座標と第2座標との比較が行われる。
【0055】
なお、ロボットコントローラ20が故障しているか否かは、例えばロボットコントローラ20に接続され手動操作によりロボットを動作させるティーチングペンダント(教示操作器)を用いて、比較的容易に判定することができる。ティーチングペンダントは、CPU、RAM及びROMを含むマイクロコンピュータから構成さる制御部、各種の手動操作キー、ディスプレイ等を備えている。作業者Mは、このティーチングペンダントを手動操作して、ロボットの動作プログラムの作成、修正、登録、また各種パラメータの設定、ティーチングされた動作プログラムの実行、ジョグ送り等を実行することができる。
【0056】
そして、作業者Mは、ティーチングペンダントを用いたロボットコントローラ20の診断により、ロボットコントローラ20が故障しているか否か判定することができる。この判定において、ロボットコントローラが故障していないと判定した場合には、カメラ装置30が故障していると判定し、ロボットコントローラが故障していると判定した場合には、カメラ装置30は正常であると判定することができる。
【0057】
以上詳述した本実施形態は以下の利点を有する。
【0058】
・ロボットコントローラ20により、アーム11のハンド部11a及び各関節の座標である第1座標が算出される。また、カメラ装置30によって、ロボット10及びその周辺領域が撮像され、その画像が記録される。そして、判定部によって、カメラ装置30により記録される画像に基づいて、アーム11のハンド部11a及び各関節の座標である第2座標が算出される。すなわち、ロボットコントローラ20でのロボット10の制御及びカメラ装置30での画像処理によって、共通のアーム11のハンド部11a及び各関節の座標がそれぞれ算出される。さらに、第1座標と第2座標との比較に基づいて、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定される。そして、ロボットコントローラ20が故障しているか否かは、別の方法により比較的容易に判定することができる。したがって、1つのカメラ装置30のみを備えるロボット監視システムであっても、カメラ装置30の故障を検出することが可能となる。
【0059】
・ロボットコントローラ20によって、第1周期により繰り返し第1座標が算出されるとともに、過去の第1座標がデータバッファに記憶される。また、カメラ装置30によって、第2周期により繰り返しロボット10及びその周辺領域が撮像され、その画像が記録される。そして、判定部によって、その記録される画像に基づいて、第2座標が算出される。ここで、判定部による判定において、過去の第1座標のうちCCDカメラにより撮像された時刻に対応する第1座標と、その撮像によって記録された画像に基づき判定部により算出された第2座標とが比較される。したがって、アーム11に対する時刻が対応している第1座標と第2座標とを比較することができ、故障判定の精度を向上させることができる。
【0060】
・CCDカメラにより撮像された時刻から、判定部により第2座標が算出された時刻までに、ロボットコントローラ20により算出された第1座標集団が選択される。また、そのカメラ装置30の撮像により記録された画像に基づいて、判定部により算出された第2座標が選択される。そして、このように選択された第1座標集団と第2座標とが比較される。このため、第2座標と比較する第1座標の対象を必要十分とすることができ、故障判定の精度を向上させつつ演算負荷を軽減することができる。
【0061】
・さらに、第2座標と比較する対象として必要十分な第1座標(第1座標集団)に対して、そのうちのいずれかがアーム11のシルエット内又はシルエットの近傍領域内に含まれる場合に、前記ロボットコントローラ20及び前記カメラ装置30が正常であると判定される。その結果、演算負荷を軽減しつつ、ロボットコントローラ20及びカメラ装置30が正常であることを適切に判定することができる。
【0062】
・カメラ装置30により記録される画像において、ハンド部11a及び各関節に対応する点を含むアーム11のシルエットが、第1座標の判定範囲として設定される。そして、その範囲から第1座標が外れている場合に、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障している可能性ありとして、さらに次の判定が実行される。このため、カメラ装置30により記録される画像に基づいて、第1座標の判定範囲を容易かつ適切に設定することができ、判定処理を簡潔に行うことができる。
【0063】
・カメラ装置30により記録される画像において、アーム11の速度が速いほど大きく設定される近傍領域をシルエットの周りに加えた範囲が、第1座標の判定範囲として設定される。そして、その範囲から第1座標が外れている場合に、ロボットコントローラ20及びカメラ装置30のいずれか一方が故障していると判定される。このため、アーム11の速度に応じて第1座標の判定範囲を適切に設定することができ、故障判定の精度が低下することを抑制することができる。
【0064】
・2つのカメラ装置で記録される画像が互いに異なる場合に、いずれかのカメラ装置が故障していると判定する構成では、一方のカメラ装置により虫等の異物が撮像された場合に、直ちにいずれかのカメラ装置が故障していると判定される。これに対して、虫等の異物がカメラ装置30により撮像されたとしても、第1座標がアーム11のシルエット内又はシルエットの近傍領域内に含まれる場合には、ロボットコントローラ20及びカメラ装置30が正常であると判定される。したがって、虫等の異物により故障が誤検出されることを抑制することができる。
【0065】
上記実施形態を、以下のように変形して実施することもできる。
【0066】
・上記実施形態では、ロボットコントローラ20は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度を検出するようにしたが、各モータの目標回転角度を各モータの回転角度として代用することもできる。
【0067】
・上記実施形態では、ロボット10のアーム11全体のシルエットを抜き出すようにしたが、アーム11のうちハンド部11a及び各関節に対応する部分付近のシルエットのみを抜き出すようにしてもよい。この場合には、第1座標と比較する対象となる第2座標の数を減らすことができるため、判定部の演算負荷を軽減して処理速度を向上させることができる。
【0068】
・また、記録された画像中の各点の動きを表す動きベクトル(オプティカルフロー)を算出して、このオプティカルフローに基づいてアーム11の動く方向についてのみ、アーム11のシルエットを検出するようにしてもよい。この場合には、アーム11のシルエットを抜き出す処理の演算負荷を軽減することができる。
【0069】
・上記実施形態では、アーム11のハンド部11a及び各関節の第1座標が、アーム11のシルエット内に全て含まれる場合に、ロボットコントローラ20及びカメラ装置30が正常であると判定した。しかしながら、アーム11のハンド部11a及び各関節の第1座標の一部が、アーム11のシルエット内に含まれる場合に、ロボットコントローラ20及びカメラ装置30が正常と判定することもできる。
【0070】
・上記実施形態では、直交座標系を採用したが、斜交座標系、円座標系等、その他の座標系を採用することもできる。
【0071】
・図4に示す処理において、S24の処理及びS25の処理のいずれか一方のみを実行するようにしてもよい。
【0072】
・上記実施形態では、撮像時刻t1に対応する第1座標として、撮像時刻t1から第2座標が算出された時刻tnまでの期間に含まれる第1座標を取得したが、時刻t1に最も近い時刻に算出された第1座標のみを取得してもよい。この場合には、第2座標と比較する対象となる第1座標の数を減らすことができるため、判定部の演算負荷を軽減して処理速度を向上させることができる。
【0073】
・上記実施形態では、第1座標と第2座標との比較に基づいて、ロボットコントローラ20及びカメラ装置30の故障を判定する処理をカメラ装置30により実行したが、この処理をロボットコントローラ20により実行することもできる。また、カメラ装置30により記録される画像に基づいて第2座標を算出する処理を、ロボットコントローラ20により実行することもできる。
【0074】
・上記実施形態では、CCDカメラは、ロボット10及びその周辺領域を上方から撮像するようにしたが、ロボット10及びその周辺領域を側方から撮像する構成等、その他の方向から撮像する構成を採用してもよい。
【0075】
・カメラ装置30は、CCDイメージセンサを備えるものに限らず、CMOSイメージセンサを備えるもの等、その他の方式のデジタルカメラを備えるものでもよい。
【0076】
・ロボット10として、垂直多関節型のロボットに限らず、アームを有する任意の型式のロボットを採用することができる。
【符号の説明】
【0077】
10…ロボット、11…アーム、20…ロボットコントローラ、30…カメラ装置(画像記録ユニット)。

【特許請求の範囲】
【請求項1】
アームを有するロボットと、
前記アームの座標である第1座標を算出するとともに、前記アームの動作を制御するロボットコントローラと、
前記ロボット及びその周辺領域を撮像して画像を記録する画像記録ユニットと、
前記画像記録ユニットにより記録される画像に基づいて、前記アームの座標である第2座標を算出する算出手段と、
前記第1座標と前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する判定手段と、
を備えることを特徴とするロボット監視システム。
【請求項2】
前記ロボットコントローラは、第1周期により繰り返し前記第1座標を算出するとともに、過去の前記第1座標を記憶し、
前記画像記録ユニットは、第2周期により繰り返し前記ロボット及びその周辺領域を撮像して画像を記録し、
前記判定手段は、過去の前記第1座標のうち前記画像記録ユニットにより撮像された時刻に対応する前記第1座標と、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する請求項1に記載のロボット監視システム。
【請求項3】
前記判定手段は、前記画像記録ユニットにより撮像された時刻から、前記算出手段により前記第2座標が算出された時刻までに、前記ロボットコントローラにより算出された前記第1座標と、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との比較に基づいて、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する請求項2に記載のロボット監視システム。
【請求項4】
前記判定手段は、前記画像記録ユニットにより撮像された時刻から、前記算出手段により前記第2座標が算出された時刻までに、前記ロボットコントローラにより算出された前記第1座標のいずれか1つと、その撮像によって記録された前記画像に基づき前記算出手段により算出された前記第2座標との差が、判定値よりも小さい場合に、前記ロボットコントローラ及び前記画像記録ユニットが正常であると判定する請求項2又は3に記載のロボット監視システム。
【請求項5】
前記判定手段は、前記画像記録ユニットにより記録される画像において、前記第2座標を含む前記アームの範囲から前記第1座標が外れている場合に、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する請求項1〜4のいずれか1項に記載のロボット監視システム。
【請求項6】
前記判定手段は、前記画像記録ユニットにより記録される画像において、前記アームの速度が速いほど大きく設定される領域を前記アームの周りに加えた範囲から前記第1座標が外れている場合に、前記ロボットコントローラ及び前記画像記録ユニットのいずれか一方が故障していると判定する請求項1〜5のいずれか1項に記載のロボット監視システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate