(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 19/04 20060101AFI20240109BHJP
B25J 13/08 20060101ALI20240109BHJP
【FI】
B25J19/04
B25J13/08 A
(21)【出願番号】P 2021571171
(86)(22)【出願日】2021-01-08
(86)【国際出願番号】 JP2021000486
(87)【国際公開番号】W WO2021145280
(87)【国際公開日】2021-07-22
【審査請求日】2022-08-19
(31)【優先権主張番号】P 2020003862
(32)【優先日】2020-01-14
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】並木 勇太
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2005-251086(JP,A)
【文献】国際公開第2018/163450(WO,A1)
【文献】特開2012-037391(JP,A)
【文献】特開2014-128845(JP,A)
【文献】特開2018-113610(JP,A)
【文献】特開2006-250722(JP,A)
【文献】特開2020-075327(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から所定の距離移動した位置において前記対象物の第2の画像を撮像する視覚センサと、
前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、
前記第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、
前記第1の画像と、前記ロボットを前記所定の位置から前記所定の距離移動した位置において前記対象物を撮像した前記第2の画像とのそれぞれにおいて前記対象物を検出し、2つの視点における画像座標系の前記対象物の位置を求め、前記画像座標系における前記対象物の位置から2つの視線を算出し、前記2つの視線の交点又は2つの視線間の距離が最も近い点に基づいて前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、
前記第1の位置と前記第2の位置との差分が所定の範囲内であるか否かを判定する判定部と、
を備えるロボットシステム。
【請求項2】
前記判定部により前記差分が前記所定の範囲外であると判定された場合、前記第1の位置、前記第2の位置、前記第1の位置及び前記第2の位置に対応する前記ロボットの位置に基づいて、前記ロボットの動作補正の異常原因を推定する推定部を更に備える請求項1に記載のロボットシステム。
【請求項3】
前記判定部により前記差分が前記所定の範囲外であると判定された場合、前記視覚センサは、複数の位置において前記対象物の複数の画像を撮像し、
前記推定部は、前記複数の画像及び前記複数の位置に基づいて、前記ロボットの動作補正の前記異常原因を推定する、請求項2に記載のロボットシステム。
【請求項4】
前記判定部により前記差分が前記所定の範囲外であると判定された場合、前記ロボットの動作補正に異常があることを報知する報知部を更に備える請求項2に記載のロボットシステム。
【請求項5】
前記報知部は、前記推定部により推定された前記異常原因を報知する、請求項4に記載のロボットシステム。
【請求項6】
前記視覚センサは、前記対象物の前記第2の画像を複数撮像し、
前記第2の取得部は、基準位置である前記第1の位置において前記対象物を撮像した前記第1の画像と、前記ロボットを前記所定の位置から前記所定の距離移動した位置において前記対象物を撮像した複数の前記第2の画像とのそれぞれにおいて前記対象物を検出し、2以上の視点における画像座標系の前記対象物の位置を求め、前記画像座標系における前記対象物の位置から2以上の視線を算出し、前記2以上の視線の交点又は最小二乗法を用いて前記2以上の視線間の距離が最も短くなる位置を前記対象物のロボット座標系における前記第2の位置として取得し、複数撮像される前記第2の画像を撮像する前記第2の位置は、それぞれ異なる、請求項1から5のいずれか一項に記載のロボットシステム。
【請求項7】
前記推定部により推定された前記ロボットの動作補正の異常原因に基づいて、前記ロボットの動作補正の設定を変更する設定変更部を更に備える請求項2又は3に記載のロボットシステム。
【請求項8】
ロボットの動作補正を設定するステップと、
前記ロボットの第1の位置において対象物の第1の画像を撮像するステップと、
前記ロボットを前記第1の位置から所定の距離移動した第2の位置において前記対象物の第2の画像を撮像するステップと、
前記第1の画像及びキャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得するステップと、
前記第1の位置において前記対象物を撮像した前記第1の画像と、前記ロボットを前記第1の位置から前記所定の距離移動した前記第2の位置において前記対象物を撮像した前記第2の画像とのそれぞれにおいて前記対象物を検出し、2つの視点における画像座標系の前記対象物の位置を求め、前記画像座標系における前記対象物の位置から2つの視線を算出し、前記2つの視線
の交点又は2つの視線間の距離が最も近い点に基づいて前記対象物のロボット座標系における第2の位置を取得するステップと、
前記第1の位置と前記第2の位置との差分が所定の範囲内であるか否かを判定するステップと、
前記差分が前記所定の範囲外であると判定された場合、前記第1の位置、前記第2の位置、前記第1の位置及び前記第2の位置に対応する前記ロボットの位置に基づいて、前記ロボットの動作補正の異常原因を推定するステップと、
推定された前記ロボットの動作補正の異常原因に基づいて、前記ロボットの動作補正の設定を変更するステップと、
を備えるロボット制御方法。
【請求項9】
ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から所定の距離移動した位置において前記対象物の第2の画像を撮像する視覚センサと、
前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、
前記第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、
前記第1の画像と、前記ロボットを前記所定の位置から前記所定の距離移動した位置において前記対象物を撮像した前記第2の画像とのそれぞれにおいて前記対象物を検出し、2つの視点における画像座標系の前記対象物の位置を求め、前記画像座標系における前記対象物の位置から2つの視線を算出し、前記2つの視線の交点又は2つの視線間の距離が最も近い点に基づいて前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、
前記第1の位置と前記第2の位置とに基づいて、前記第1の位置と前記第2の位置との関係が所定の範囲内であるか否かを判定する判定部と、
を備えるロボットシステム。
【請求項10】
ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から所定の距離移動した複数の位置において前記対象物の複数の画像を撮像する視覚センサと、
前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、
前記対象物の第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、
前記第1の画像と、前記ロボットを前記所定の位置から前記所定の距離移動した前記複数の位置において前記対象物を撮像した前記複数の画像とのそれぞれにおいて前記対象物を検出し、前記所定の位置と前記所定の位置から前記所定の距離移動した位置との少なくとも2以上の視点における画像座標系の前記対象物の位置を求め、前記画像座標系における前記対象物の位置から2以上の視線を算出し、前記2以上の視線からの距離が最も近い点に基づいて前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、
前記第1の位置及び前記第2の位置に基づいて、前記第1の位置及び前記第2の位置の関係が所定の範囲内であるか否かを判定する判定部と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステムに関する。
【背景技術】
【0002】
従来より、ロボットシステムは、撮像装置等の視覚センサを有し、視覚センサによって対象物の位置を認識し、対象物のハンドリング及び加工等の作業を行っている。視覚センサは、ロボットのハンド付近に設けられた撮像装置や、ロボットの周辺に設けられた撮像装置により対象物を撮像する。
【0003】
このようなロボットシステムは、撮像した画像から対象物を検出し、検出した対象物の位置に対してロボットが作業するようにロボットの動作を制御する。
【0004】
ロボットシステムは、撮像装置のキャリブレーションデータを用いて、検出した対象物の位置(画像座標系の位置、又は視覚センサから見たセンサ座標系の位置)を、ロボットから見たワークの位置(ロボット座標系の位置)に変換する(例えば、特許文献1参照)。これにより、ロボットシステムは、検出した対象物の位置に対してロボットが作業を行うように、ロボットの動作を補正することができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
このようなロボットシステムにおいて、視覚センサを用いたロボットの動作補正は、様々な設定の誤りによって正しく行われない場合がある。このような場合、ロボットが意図されない動作をするため、ロボットの動作補正を適切に行うことが求められている。
【課題を解決するための手段】
【0007】
本開示に係るロボットシステムは、ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から所定の距離移動した位置において前記対象物の第2の画像を撮像する視覚センサと、前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、前記第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、前記第1の画像及び前記第2の画像に基づいて、前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、前記第1の位置と前記第2の位置との差分が所定の範囲内であるか否かを判定する判定部と、を備える。
【0008】
本開示に係るロボットシステムは、ロボットを所定の距離移動した複数の位置において、対象物の複数の画像をそれぞれ撮像する視覚センサと、前記ロボットの動作制御の基準となるロボット座標系と、前記視覚センサによる計測処理の基準となる画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、前記複数の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、前記複数の画像に基づいて、前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、前記第1の位置と前記第2の位置との差分が所定の範囲内であるか否かを判定する判定部と、を備える。
【0009】
本開示に係るロボット制御方法は、ロボットの動作補正を設定するステップと、前記ロボットの第1の位置において対象物の第1の画像を撮像するステップと、前記ロボットを前記第1の位置から所定の距離移動した第2の位置において前記対象物の第2の画像を撮像するステップと、前記第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得するステップと、前記第1の画像及び前記第2の画像に基づいて、前記対象物のロボット座標系における第2の位置を取得するステップと、前記第1の位置と前記第2の位置との差分が所定の範囲内であるか否かを判定するステップと、前記差分が前記所定の範囲外であると判定された場合、前記第1の位置、前記第2の位置、前記第1の位置及び前記第2の位置に対応する前記ロボットの位置に基づいて、前記ロボットの動作補正の異常原因を推定するステップと、推定された前記ロボットの動作補正の異常原因に基づいて、前記ロボットの動作補正の設定を変更するステップと、を備える。
【0010】
本開示に係るロボットシステムは、ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から所定の距離移動した位置において前記対象物の第2の画像を撮像する視覚センサと、前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、前記第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、前記第1の画像及び前記第2の画像に基づいて、前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、前記第1の位置と前記第2の位置とに基づいて、前記第1の位置と前記第2の位置との関係が所定の範囲内であるか否かを判定する判定部と、を備える。
【0011】
本開示に係るロボットシステムは、ロボットの所定の位置において対象物の第1の画像を撮像し、前記ロボットを前記所定の位置から移動した複数の位置において前記対象物の複数の画像を撮像する視覚センサと、前記ロボットのロボット座標系と、前記視覚センサの画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部と、前記対象物の第1の画像及び前記キャリブレーションデータに基づいて、前記対象物のロボット座標系における第1の位置を取得する第1の取得部と、前記第1の画像及び前記複数の画像に基づいて、前記対象物のロボット座標系における第2の位置を取得する第2の取得部と、前記第1の位置及び前記複数の位置に基づいて、前記第1の位置及び前記複数の位置の関係が所定の範囲内であるか否かを判定する判定部と、を備える。
【発明の効果】
【0012】
本発明によれば、ロボットの動作補正を適切に行うことができる。
【図面の簡単な説明】
【0013】
【
図2】視覚センサ制御装置及びロボット制御装置の構成を示す図である。
【
図5】第1の位置Pwと第2の位置Psとの関係を示す図である。
【
図7】キャリブレーション用のキャリブレーション治具を示す図である。
【
図8】キャリブレーション治具を用いたキャリブレーションを示す図である。
【
図9】視覚センサ制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態の一例について説明する。
図1は、ロボットシステム1の構成を示す図である。
図1に示すように、ロボットシステム1は、ロボット2と、アーム3と、視覚センサ4と、視覚センサ制御装置5と、ロボット制御装置6と、を備える。
ロボットシステム1は、例えば、視覚センサ4で撮像された対象物Wの画像に基づいて、対象物Wの位置を認識し、対象物Wのハンドリング又は加工等の作業を行う。
【0015】
ロボット2のアーム3の先端部には、ハンド又はツールが取り付けられている。ロボット2は、ロボット制御装置6の制御により、対象物Wのハンドリング又は加工等の作業を行う。また、ロボット2のアーム3の先端部には、視覚センサ4が取り付けられている。
【0016】
視覚センサ4は、視覚センサ制御装置5の制御により、対象物Wを撮像する。視覚センサ4は、CCD(Charge Coupled Device)イメージセンサで構成される撮像素子と、レンズを含む光学系とを有する二次元カメラが用いられてもよく、三次元計測ができるステレオカメラ等が用いられてもよい。
【0017】
ロボット制御装置6は、ロボット2の動作プログラムを実行し、ロボット2の動作を制御する。その際、ロボット制御装置6は、視覚センサ制御装置5によって検出された対象物Wの位置に対してロボット2が所定の作業を行うように、ロボット2の動作を補正する。
【0018】
図2は、視覚センサ制御装置5及びロボット制御装置6の構成を示す図である。視覚センサ制御装置5は、記憶部51と、制御部52と、を備える。
記憶部51は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。
【0019】
記憶部51は、モデルパターン記憶部511と、キャリブレーションデータ記憶部512と、を備える。
モデルパターン記憶部511は、対象物Wの像をモデル化したモデルパターン、例えば対象物Wの像の特徴を表すモデルパターンを記憶する。
【0020】
キャリブレーションデータ記憶部512は、ロボット2の動作制御の基準となるロボット座標系と、視覚センサ4による計測処理の基準となる画像座標系とを互いに関連付けるキャリブレーションデータを記憶する。キャリブレーションデータの形式及びそれを求める方法は、種々の方式が提案されており、いずれの方式を用いてもよい。
【0021】
制御部52は、CPU(Central Processing Unit)等のプロセッサであり、記憶部51に記憶されたプログラムを実行することによって第1の取得部521、第2の取得部522、判定部523、推定部524、キャリブレーション部525及び報知部526として機能する。
【0022】
第1の取得部521は、視覚センサ4によって撮像された対象物Wの第1の画像及びキャリブレーションデータに基づいて、対象物Wのロボット座標系における第1の位置Pwを取得する。
【0023】
第2の取得部522は、対象物Wの第1の画像及び第2の画像に基づいて、対象物Wのロボット座標系における第2の位置Psを取得する。
【0024】
判定部523は、第1の位置Pwと第2の位置Psとの差分が所定の範囲内であるか否かを判定する。
【0025】
推定部524は、判定部523により差分が所定の範囲外であると判定された場合、第1の位置Pw、第2の位置Ps、第1の位置Pw及び第2の位置Psに対応するロボット2の位置に基づいて、ロボット2の動作補正の異常原因を推定する。
【0026】
また、判定部523により差分が前記所定の範囲外であると判定された場合、視覚センサ4は、複数の位置において対象物Wの複数の画像を撮像する。そして、推定部524は、複数の画像及び複数の位置に基づいて、ロボット2の動作補正の異常原因を推定する。
【0027】
キャリブレーション部525は、視覚センサ4のキャリブレーションを実行する。視覚センサ4のキャリブレーションの詳細については後述する。
報知部526は、判定部523により差分が所定の範囲外であると判定された場合、ロボット2の動作補正に異常があることを報知する。
また、報知部526は、推定部524により推定された異常原因を報知する。報知部526による報知の態様は、例えば、表示部(図示せず)等に異常メッセージを表示すること等である。
【0028】
ロボット制御装置6は、動作制御部61を備える。動作制御部61は、ロボット2の動作プログラムを実行し、ロボット2の動作を制御する。
【0029】
次に、
図3から
図8を参照して視覚センサ制御装置5の詳細な動作について説明する。
まず、キャリブレーション部525による視覚センサ4のキャリブレーションは、例えば以下のように行われる。
図7は、キャリブレーション用のキャリブレーション治具7を示す図である。
図8は、キャリブレーション治具7を用いたキャリブレーションを示す図である。
キャリブレーション治具7は、視覚センサ4により認識可能なパターンとして、
図7に示すようなドットパターンを有している。ドットパターンは、格子状に配置された大小のドットから構成される。寸法が大きいドットは、L字状に配置されており、キャリブレーション治具7の座標系を表している。
【0030】
キャリブレーション部525は、ロボット座標系から見たキャリブレーション治具7の位置を予め設定する。
また、キャリブレーション治具7のドットの間隔は、キャリブレーション治具の設計図面等から既知である。よって、キャリブレーション部525は、ドットの間隔として既知の値を指定し、ドットの間隔をキャリブレーションデータの一部としてキャリブレーションデータ記憶部512に記憶する。
【0031】
視覚センサ4は、キャリブレーション治具7を撮像する。また、キャリブレーション部525は、キャリブレーション治具7を撮像したときのロボットの位置を取得する。
動作制御部61は、ロボット2をキャリブレーション治具7に対して垂直方向へ移動させ、視覚センサ4は、キャリブレーション治具7を撮像する。また、キャリブレーション部は、キャリブレーション治具7を撮像したときのロボットの位置を取得する。
【0032】
キャリブレーション部525は、キャリブレーション治具7の各画像の複数のドットの画像座標系での位置とロボット座標系での位置の情報を用いて視覚センサ4のキャリブレーションを行う。
【0033】
視覚センサ4のキャリブレーションを行うことによって、視覚センサ4の外部パラメータ及び内部パラメータが求められる。
ここで、外部パラメータは、視覚センサの位置及び姿勢に関する情報であり、内部パラメータは、レンズの焦点距離、レンズ歪、受光素子の寸法等の視覚センサの光学系の条件に関する情報である。
図3は、視覚センサ4の移動を示す図である。まず、ロボット制御装置6の動作制御部61は、対象物Wが撮像範囲に入るようにロボット2を移動し、視覚センサ4は、対象物Wの第1の画像を撮像する。このとき、第1の取得部521は、撮像時のロボット2の位置を記憶する。
【0034】
第1の取得部521は、撮像した第1の画像の予め定められた範囲から、モデルパターン記憶部511に記憶されたモデルパターンを用いて対象物Wを検出する。これにより、第1の取得部521は、対象物Wの画像座標系における位置姿勢を取得する。
【0035】
第1の取得部521は、キャリブレーションデータ記憶部512に記憶されたキャリブレーションデータ及び撮像時のロボット2の位置に基づいて、対象物Wの画像座標系における位置をロボット座標系(ワールド座標系)における三次元位置Pwに変換する。このようにすることで、第1の取得部521は、対象物Wのロボット座標系における第1の位置Pwを取得する。
【0036】
ここで、対象物Wを検出するために二次元カメラを用いた場合、第1の取得部521は、対象物Wの検出箇所が、ある平面(補正平面)上にあると仮定して、三次元位置である第1の位置Pwを取得する。この補正平面は、典型的には、視覚センサ制御装置5に接続された操作盤(図示せず)等を用いてユーザによって設定される。
【0037】
通常、ロボット2の動作補正は、対象物Wの第1の位置Pwを用いて行われる。このとき、動作補正の方式は、絶対位置補正と、相対位置補正とが用いられる。
絶対位置補正では、動作制御部61は、ロボット2のTCP(Tool Center Point)8(
図8参照)を第1の位置Pwへ移動させる。
相対位置補正では、制御部52は、予め基準となる対象物の位置(基準位置)を定め、基準位置と第1の位置Pwとの差分を補正量として算出する。そして、ロボット制御装置6は、求めた補正量を、予め設定されたロボット2の動作に加えることにより、ロボット2の動作補正を行う。
【0038】
上記のような動作補正の設定を行う際に、様々な設定の誤りによって正しく行われない場合がある。
そこで、ロボット2の動作補正の誤りを判定するために、本実施形態に係るロボットシステム1は、以下に示すような処理を実行する。
【0039】
図3に示すように、ロボット制御装置6の動作制御部61は、ロボット2を基準位置から視覚センサ4の光軸に対して直交する向きに所定の距離D移動し、視覚センサ4は、ロボット2が所定の距離D移動した位置において対象物Wの第2の画像を撮像する。
ここで、所定の距離Dは、基準位置から、対象物Wが十分移動し、かつ視覚センサ4によって対象物Wが検出可能な位置までの距離を示す。
【0040】
図4は、第2の位置Psについて示す図である。
図5は、第1の位置Pwと第2の位置Psとの関係を示す図である。
第2の取得部522は、基準位置において対象物Wを撮像した第1の画像と、ロボット2を所定の距離D移動した位置において対象物Wを撮像した第2の画像とのそれぞれにおいて対象物を検出する。これにより、二つの視点A及びBにおける画像座標系の対象物の位置が求められる。
【0041】
そして、第2の取得部522は、画像座標系における対象物Wの位置から二つの視線を算出する。第2の取得部522は、2つの視線の交点又は2つの視線間の距離が最も近い点を対象物Wの第2の位置Psとして取得する。
【0042】
図4の例では、2つの視線が交わっていないため、第2の取得部522は、2つの視線間の距離が最も近い点を対象物Wの第2の位置Psとして取得する。
なお、撮像部は、第2の画像として複数の画像を撮像してもよい。この場合、撮像部は、ロボット2を所定の距離D移動した位置において対象物Wを撮像し、撮像した位置から更にロボット2を所定の距離D移動した位置において対象物Wを撮像することを繰り返す。
【0043】
また、撮像部が第2の画像として複数の画像(例えば、3以上の画像)を撮像した場合、第2の取得部522は、画像座標系における対象物Wの位置から3以上の視点を算出する。この場合、第2の取得部522は、3以上の視点の交点又は最小二乗法を用いて3以上の視線間の距離が最も短くなる位置を対象物Wの第2の位置Psとして取得する。
【0044】
ここで、対象物Wは移動していないため、画像内の対象物Wの位置は変動するが、第1の位置Pwと第2の位置Psとの位置のずれ(差分)は、誤差範囲内であるべきである。
そこで、判定部523は、第1の位置Pwと第2の位置Psとの差分が所定の範囲内であるか否かを判定する。
【0045】
推定部524は、判定部523により差分が所定の範囲内であると判定された場合、ロボット2の動作補正が正常であると判断する。
また、推定部524は、判定部523により差分が所定の範囲外であると判定された場合、ロボット2の動作補正が異常であると判断し、第1の位置Pw、第2の位置Ps、第1の位置Pw及び第2の位置Psに対応するロボット2の位置に基づいて、ロボット2の動作補正の異常原因を推定する。
【0046】
具体的には、推定部524は、判定部523により差分が所定の範囲外であると判定された場合、2つの視線が交わっていない(例えば
図4のような場合)とき、キャリブレーションデータ記憶部512に記憶されたキャリブレーションデータが誤っていると推定する。
【0047】
また、推定部524は、判定部523により差分が所定の範囲外であると判定された場合、2つの視線が交わっていれば、
図5に示すように補正平面が正しくないと推定する。
【0048】
キャリブレーションデータが誤っていると推定された場合には、別のキャリブレーション手法でキャリブレーションすることで、キャリブレーションデータのどこが誤っているかを推定することができる。
図6は、視覚センサ4の移動を示す図である。
図6に示すように、動作制御部61は、ロボット2を基準位置から視覚センサ4の光軸に対して直交する向きにグリッド状に移動する。視覚センサ4は、ロボット2が移動した複数の位置において対象物Wの画像を撮像する。これにより、視覚センサ4は、対象物Wの複数の画像を撮像する。
【0049】
キャリブレーション部525は、撮像された複数の画像から対象物Wを検出し、対象物Wの画像座標系における位置Pciを取得する。
また、キャリブレーション部525は、画像を撮像した際のロボット2のフランジの位置から見た対象物Wの位置Psiを求める。
このように動作制御部61は、ロボット2をn回(i=1,2,3,・・・,n)移動し、視覚センサ4は、対象物Wの画像をn回撮像する。これによって得られたn個の(Pci,Psi)の組を用いて、キャリブレーション部525は、視覚センサ4のキャリブレーションを行う。
【0050】
推定部524は、このように求められた視覚センサ4の外部パラメータ及び内部パラメータを、上述したようにキャリブレーション部525により予め求められた外部パラメータ及び内部パラメータ(
図7及び
図8参照)と比較することにより、外部パラメータ及び内部パラメータの異常を判定することができる。
【0051】
例えば、推定部524は、外部パラメータが正しくない場合、キャリブレーションで求められた内部パラメータが正しくない、又はキャリブレーション治具7の位置が正しくないと推定する。
また、推定部524は、内部パラメータが正しくない場合、指定したドットの間隔が正しくない又は適切でないドットをキャリブレーションに使用してしまっていると推定する。
【0052】
図9は、視覚センサ制御装置5の処理を示すフローチャートである。
ステップS1において、動作制御部61は、対象物Wが撮像範囲に入るようにロボット2を移動し、視覚センサ4は、対象物Wの第1の画像を撮像する。このとき、第1の取得部521は、撮像時のロボット2の位置を記憶する。
【0053】
ステップS2において、第1の取得部521は、撮像した第1の画像の予め定められた範囲から、モデルパターン記憶部511に記憶されたモデルパターンを用いて対象物Wを検出する。
第1の取得部521は、キャリブレーションデータ記憶部512に記憶されたキャリブレーションデータ及び撮像時のロボット2の位置に基づいて、対象物Wの画像座標系における位置をロボット座標系における第1の位置Pwに変換する。
【0054】
ステップS3において、ロボット制御装置6の動作制御部61は、ロボット2を基準位置から視覚センサ4の光軸に対して直交する向きに所定の距離D移動し、視覚センサ4は、ロボット2が所定の距離D移動した位置において対象物Wの第2の画像を撮像する。
【0055】
ステップS4において、第2の取得部522は、基準位置において対象物Wを撮像した第1の画像と、ロボット2を所定の距離D移動した位置において対象物Wを撮像した第2の画像とのそれぞれにおいて対象物を検出する。
【0056】
第2の取得部522は、画像座標系における対象物Wの位置から二つの視線を算出する。第2の取得部522は、2つの視線の交点又は2つの視線間の距離が最も近い点を対象物Wの第2の位置Psとして取得する。
【0057】
ステップS5において、第1の位置Pwと第2の位置Psとの差分が所定の範囲内であるか否かを判定する。差分が所定の範囲内である(YES)場合、処理は、ステップS6へ移り、差分が所定の範囲外である(NO)場合、処理は、ステップS7へ移る。
【0058】
ステップS6において、推定部524は、ロボット2の動作補正が正常であると判断し、その後処理を終了する。
【0059】
ステップS7において、ロボット2の動作補正が異常であると判断し、第1の位置Pw、第2の位置Ps、第1の位置Pw及び第2の位置Psに対応するロボット2の位置に基づいて、ロボット2の動作補正の異常原因を推定する。
ステップS8において、報知部526は、ロボットの動作補正に異常があることを報知する。また、報知部526は、推定部524により推定された異常原因を報知する。
【0060】
ステップS9において、動作制御部61は、ロボット2を基準位置から視覚センサ4の光軸に対して直交する向きにグリッド状に移動する。視覚センサ4は、ロボット2が移動した複数の位置において対象物Wの画像を撮像する。これにより、視覚センサ4は、対象物Wの複数の画像を撮像する。
【0061】
ステップS10において、キャリブレーション部525は、撮像された複数の画像から対象物Wを検出し、対象物Wの画像座標系における位置Pciを取得する。
また、キャリブレーション部525は、画像を撮像した際のロボット2のフランジの位置から見た対象物Wの位置Psiを求める。これによって得られたn個の(Pci,Psi)の組を用いて、キャリブレーション部525は、視覚センサ4のキャリブレーションを行う。
【0062】
本実施形態によれば、ロボットシステム1は、ロボット2の基準位置において対象物Wの第1の画像を撮像し、ロボット2を基準位置から所定の距離D移動した位置において対象物Wの第2の画像を撮像する視覚センサ4と、ロボット2の動作制御の基準となるロボット座標系と、視覚センサ4による計測処理の基準となる画像座標系とを互いに関連付けるキャリブレーションデータを記憶するキャリブレーションデータ記憶部512と、第1の画像及びキャリブレーションデータに基づいて、対象物Wのロボット座標系における第1の位置Pwを取得する第1の取得部521と、第1の画像及び第2の画像に基づいて、対象物Wのロボット座標系における第2の位置Psを取得する第2の取得部522と、第1の位置Pwと第2の位置Psとの差分が所定の範囲内であるか否かを判定する判定部523と、を備える。これにより、ロボットシステム1は、第1の位置Pwと第2の位置Psとの差分からロボット2の動作補正の異常を判定することができる。
【0063】
また、ロボットシステム1は、判定部523により差分が所定の範囲外であると判定された場合、第1の位置、第2の位置、第1の位置及び第2の位置に対応するロボット2の位置に基づいて、ロボット2の動作補正の異常原因を推定する推定部524を更に備える。これにより、ロボットシステム1は、ロボット2の動作補正に異常があった場合、異常の原因を推定することができる。したがって、ロボットシステム1は、推定されたロボット2の動作補正の原因に基づいて、ロボット2の動作補正を適切に行うことができる。
【0064】
また、ロボットシステム1は、判定部523により差分が所定の範囲外であると判定された場合、視覚センサ4は、複数の位置において対象物Wの複数の画像を撮像し、推定部524は、複数の画像及び複数の位置に基づいて、ロボット2の動作補正の異常原因を推定する。これにより、ロボットシステム1は、ロボット2の動作補正を適切に行うことができる。
【0065】
なお、視覚センサ4は、対象物Wの第2の画像を複数撮像し、第2の取得部522は、第1の画像及び複数の第2の画像に基づいて、対象物Wのロボット座標系における複数の第2の位置を取得してもよい。
【0066】
これにより、ロボットシステム1は、複数の第2の画像及び複数の第2の位置を用いて、ロボット2の動作補正の異常を判定することができる。
また、ロボットシステム1は、推定部524により推定されたロボットの動作補正の異常原因に基づいて、ロボットの動作補正の設定を変更する設定変更部を更に備えてもよい。これにより、ロボットシステム1は、ロボットの動作補正の設定変更を適切に行うことができる。
【0067】
また、上述した実施形態では、ロボットシステム1は、第1の画像及び第2の画像を用いたが、例えば、第2の画像に相当する画像のみを用いてもよい。
例えば、ロボットシステム1は、複数の第2の画像及びキャリブレーションデータに基づいて、対象物Wのロボット座標系における第1の位置を取得する第1の取得部521と、複数の第2の画像に基づいて、対象物Wのロボット座標系における第2の位置を取得する第2の取得部522と、を備えてもよい。
【0068】
また、上述した実施形態に代えて、ロボットシステム1の判定部523は、第1の位置Pw及び第2の位置の三次元位置の差分のそれぞれの要素を確認する方法や、距離を確認する方法等を用いてもよい。すなわち、判定部523は、第1の位置Pwと第2の位置Psとに基づいて、第1の位置Pwと第2の位置Psとの関係が所定の範囲内であるか否かを判定してもよい。
また、上述した実施形態に代えて、ロボットシステム1の判定部523は、3以上の位置の分散や標準偏差を計測するという方法を用いてもよい。すなわち、判定部523は、第1の位置及び複数の位置に基づいて、第1の位置及び複数の位置の関係が所定の範囲内であるか否かを判定してもよい。
【0069】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0070】
1 ロボットシステム
2 ロボット
3 アーム
4 視覚センサ
5 視覚センサ制御装置
6 ロボット制御装置
61 動作制御部
511 モデルパターン記憶部
512 キャリブレーションデータ記憶部
521 第1の取得部
522 第2の取得部
523 判定部
524 推定部
525 キャリブレーション部
526 報知部