(57)【要約】【課題】環境光の変化または対象物の輝度変化が大きくても対象物の特徴を捉えることができる撮像装置を提供する。【解決手段】撮像装置は、カメラ６と、カメラ６を移動するロボット１と、画像を処理する制御装置２とを備える。ワーク３８上に定義された検出面と、ワーク３８を検出するためのロボット１の仮想的な位置である設定位置とが予め定められている。カメラ６は、複数の位置において複数の第１の画像を撮像する。制御装置２は、複数の第１の画像を、設定位置にて撮像した時の複数の第２の画像に変換する画像変換部５３を含む。制御装置２は、複数の第２の画像を合成した合成画像を生成する合成部５４と、合成画像に基づいて検出面においてワーク３８の検出および検査のうち少なくとも一方を行う合成画像処理部５５とを含む。【選択図】図２
2019113895.tif 000002
【特許請求の範囲】
【請求項１】
ワークの第１の画像を撮像する視覚センサと、
前記ワークおよび前記視覚センサのうちの一方を移動して、他方に対する一方の相対的な位置を変更する移動装置と、
前記第１の画像を処理する画像処理装置と、を備え、
前記画像処理装置は、前記第１の画像と前記第１の画像を撮像した時の前記移動装置の位置とを組にして記憶する記憶部を含み、
前記ワーク上に定義された検出面と、前記移動装置の位置である設定位置とが予め定められて前記記憶部に記憶されており、
前記視覚センサは、前記ワークに対する前記視覚センサの相対位置が互いに異なるように複数の第１の画像を撮像し、
前記画像処理装置は、複数の前記第１の画像を、前記第１の画像を撮像した時の前記移動装置の位置に基づいて、前記設定位置にて撮像したと仮定した時の複数の第２の画像に変換する画像変換部と、
複数の前記第２の画像を合成した合成画像を生成する合成部と、
前記合成画像に基づいて前記検出面において前記ワークの検出および検査のうち少なくとも一方を行う合成画像処理部とを含むことを特徴とする、撮像装置。
【請求項２】
前記移動装置は、前記ワークおよび前記視覚センサのうちの一方を移動するロボットである、請求項１に記載の撮像装置。
【請求項３】
前記移動装置は、前記ワークを搬送するコンベヤである、請求項１に記載の撮像装置。
【請求項４】
前記画像変換部は、前記第２の画像の画素に対応する前記第１の画像における対応位置を算出し、前記対応位置を含む画素の値および前記対応位置を含む画素に隣接する画素の値に基づいて、前記第２の画像の画素の値を算出する、請求項１から３のいずれか一項に記載の撮像装置。
【請求項５】
前記画像変換部は、前記第１の画像の前記対応位置を含む画素の値および前記対応位置の近傍の複数の画素の値に基づいて、前記第２の画像の画素の値を算出する、請求項４に記載の撮像装置。
【請求項６】
前記合成部は、複数の前記第２の画像における画素の値の統計量を、前記合成画像の画素の値に設定する、請求項１から５のいずれか一項に記載の撮像装置。
【請求項７】
ワークの第１の画像を撮像する複数の視覚センサと、
前記ワークを固定する第１の固定部と、
前記視覚センサを固定する第２の固定部と、
前記第１の画像を処理する画像処理装置と、を備え、
複数の前記視覚センサは、互いに異なる位置から前記ワークを撮像するように配置されており、
前記画像処理装置は、複数の前記視覚センサにて撮像した前記第１の画像と前記第１の画像を撮像した視覚センサの位置とを組にして記憶する記憶部を含み、
前記ワーク上に定義された検出面と、前記ワークを検出するための前記視覚センサの位置である検出位置とが予め定められて前記記憶部に記憶されており、
前記画像処理装置は、複数の前記視覚センサにて撮像した複数の前記第１の画像を、それぞれの前記視覚センサの位置に基づいて、前記検出位置にて撮像したと仮定した時の複数の第２の画像に変換する画像変換部と、
複数の前記第２の画像を合成した合成画像を生成する合成部と、
前記合成画像に基づいて前記検出面において前記ワークの検出および検査のうち少なくとも一方を行う合成画像処理部とを含むことを特徴とする、撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを撮像する視覚センサを備える撮像装置に関する。
【背景技術】
【０００２】
従来の技術において、ロボットに取り付けられたハンドがワークを把持して、ワークを搬送するロボットシステムが知られている。ロボットがハンドでワークを把持した時に、所望の位置からずれてワークを把持する場合がある。また、ロボットに作業ツールが取り付けられ、架台に固定されたワークに対して所定の作業を行うロボットシステムが知られている。ワークを架台に固定するときに、ワークの位置が所望の位置からずれる場合がある。このようなロボットシステムでは、ロボットに把持されているワークのハンド内での位置のずれ、または、架台に固定されているワークの位置のずれを正確に認識することが好ましい。
【０００３】
近年においては、ロボットがハンドでワークを把持するときの位置のずれ、または、架台に固定されたワークの位置のずれをカメラにて撮像された画像を用いて検出することが知られている。例えば、カメラは、ロボットのアームの先端部に取り付けられる。架台に配置されたワークの位置を測定する場合に、カメラにてワークを撮像する。ワークの画像に基づいて、架台におけるワークの位置を検出することができる（例えば、特開２０１５−１６０２６４号公報および特開２００３−３０５６７５号公報）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１６０２６４号公報
【特許文献２】特開２００３−３０５６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
架台に固定されたワークまたはロボットに支持されたワークを検出するためには、予め定められた位置に視覚センサを配置してワークの画像を撮像することができる。視覚センサにて撮像した画像からワークを検出するためには、ワークの輪郭線等の特徴を用いることができる。しかしながら、画像を撮像する条件によっては、画像が鮮明にならずに、ワークの検出に適した画像を得られない場合がある。例えば、建物の窓から進入する太陽光の強度や向き、または、建物に配置された照明の強度や向きなどが変わる場合がある。すなわち、環境光の強度や向きが変化する場合がある。
【０００６】
環境光の強度や向きが変化すると、カメラにて写すワークの表面の明るさが変化して、画像のコントラストが低下する場合がある。または、ワークに光沢がある場合に、ワークの表面で正反射した光により輝度が高くなりすぎて、ワークの輪郭線などの特徴が画像に写らない場合がある。換言すると、画像においてハレーションが生じる場合がある。輪郭線などの特徴がある部分が画像に写されていないと、ワークを検出できなかったり、ワークの表面の状態を正しく計測できなかったりする場合がある。
【課題を解決するための手段】
【０００７】
本開示の一態様の撮像装置は、ワークの第１の画像を撮像する視覚センサと、ワークおよび視覚センサのうちの一方を移動して、他方に対する一方の相対的な位置を変更する移動装置とを備える。撮像装置は、第１の画像を処理する画像処理装置を備える。画像処理装置は、第１の画像と第１の画像を撮像した時の移動装置の位置とを組にして記憶する記憶部を含む。ワーク上に定義された検出面と、移動装置の位置である設定位置とが予め定められて記憶部に記憶されている。視覚センサは、ワークに対する視覚センサの相対位置が互いに異なるように複数の第１の画像を撮像する。画像処理装置は、複数の第１の画像を、第１の画像を撮像した時の移動装置の位置に基づいて、設定位置にて撮像したと仮定した時の複数の第２の画像に変換する画像変換部を含む。画像処理装置は、複数の第２の画像を合成した合成画像を生成する合成部を含む。画像処理装置は、合成画像に基づいて検出面においてワークの検出および検査のうち少なくとも一方を行う合成画像処理部を含む。
【０００８】
本開示の他の態様の撮像装置は、ワークの第１の画像を撮像する複数の視覚センサと、ワークを固定する第１の固定部と、視覚センサを固定する第２の固定部とを備える。撮像装置は、第１の画像を処理する画像処理装置を備える。複数の視覚センサは、互いに異なる位置からワークを撮像するように配置されている。画像処理装置は、複数の視覚センサにて撮像した第１の画像と第１の画像を撮像した視覚センサの位置とを組にして記憶する記憶部を含む。ワーク上に定義された検出面と、ワークを検出するための視覚センサの位置である検出位置とが予め定められて記憶部に記憶されている。画像処理装置は、複数の視覚センサにて撮像した複数の第１の画像を、それぞれの視覚センサの位置に基づいて、検出位置にて撮像したと仮定した時の複数の第２の画像に変換する画像変換部を含む。画像処理装置は、複数の第２の画像を合成した合成画像を生成する合成部を含む。画像処理装置は、合成画像に基づいて検出面においてワークの検出および検査のうち少なくとも一方を行う合成画像処理部を含む。
【発明の効果】
【０００９】
本開示の一態様によれば、環境光の変化または対象物の輝度変化が大きくても対象物の特徴を捉えることができる撮像装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態における第１のロボットシステムの側面図である。
【図２】実施の形態におけるロボットシステムのブロック図である。
【図３】第１のロボットシステムにおいて、カメラの移動を説明するロボットの側面図である。
【図４】カメラの検出位置を説明するカメラおよびワークの側面図である。
【図５】制御装置にて処理される画像である。
【図６】実際に撮像された第１の画像の画素と検出位置にカメラが配置されたと仮定した時の第２の画像の画素との関係を説明するカメラおよび検出面の側面図である。
【図７】実際に撮像された第１の画像を拡大した画素の図である。
【図８】検出位置にて撮像したと仮定した時の第２の画像の画素値を算出する方法の説明図である。
【図９】実施の形態における第２のロボットシステムの側面図である。
【図１０】実施の形態における第２のロボットシステムの他の側面図である。
【図１１】実施の形態における搬送システムの側面図である。
【図１２】実施の形態における搬送システムのブロック図である。
【図１３】実施の形態における撮像装置の側面図である。
【図１４】実施の形態における撮像装置のブロック図である。
【発明を実施するための形態】
【００１１】
図１から図１４を参照して、実施の形態における撮像装置について説明する。本実施の形態の撮像装置は、視覚センサにて撮像された画像に基づいてワークを検出したり検査したりする。
【００１２】
図１は、本実施の形態における第１のロボットシステムの概略図である。図２は、本実施の形態におけるロボットシステムのブロック図である。図１および図２を参照して、ロボットシステム３は、ワーク３８を把持するハンド５と、ハンド５を移動するロボット１とを備える。ロボットシステム３は、ロボットシステム３を制御する制御装置２を備える。また、ロボットシステム３は、ワーク３８を載置する架台９５を備える。
【００１３】
本実施の形態のハンド５は、ワーク３８を把持したり解放したりするエンドエフェクタである。ロボット１に取り付けられるエンドエフェクタとしては、この形態に限られず、ロボットシステム３が行う作業に応じた任意の作業ツールを採用することができる。例えば、エンドエフェクタとして、溶接を実施する作業ツールまたはシール材をワークの表面に塗布する作業ツール等を採用することができる。また、ロボット１の手先に作業ツールを取り付けずに、カメラ６のみをロボット１の手先に取り付けることもできる。
【００１４】
本実施の形態のロボット１は、複数の関節部１８を含む多関節ロボットである。ロボット１は、上部アーム１１と下部アーム１２とを含む。下部アーム１２は、旋回ベース１３に支持されている。旋回ベース１３は、ベース１４に支持されている。ロボット１は、上部アーム１１の端部に連結されているリスト１５を含む。リスト１５は、ハンド５を固定するフランジ１６を含む。ロボット１の構成部材は、予め定められた駆動軸の周りに回転するように形成される。ロボットとしては、この形態に限られず、作業ツールを移動可能な任意のロボットを採用することができる。
【００１５】
本実施の形態のロボット１は、上部アーム１１等の構成部材を駆動するロボット駆動装置２１を含む。ロボット駆動装置２１は、上部アーム１１、下部アーム１２、旋回ベース１３、およびリスト１５を駆動する駆動モータを含む。関節部１８において、ロボット１の構成部品の向きが変化することにより、ロボット１の位置および姿勢が変化する。ハンド５は、ハンド５を駆動するハンド駆動装置２２を含む。本実施の形態のハンド駆動装置２２は、空気圧によりハンド５を駆動する。ハンド駆動装置２２は、シリンダに圧縮空気を供給するための空気ポンプおよび電磁弁を含む。
【００１６】
制御装置２は、ロボット１およびハンド５を制御する。制御装置２は、ＣＰＵ（Central Processing Unit）と、ＣＰＵにバスを介して互いに接続されたＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）等を有する演算処理装置（計算機）を含む。ロボット１は、制御装置２の動作指令に基づいて駆動する。ロボット１は、動作プログラム４１に基づいてワーク３８を自動的に搬送する。ロボット駆動装置２１およびハンド駆動装置２２は、制御装置２により制御されている。
【００１７】
制御装置２には、ロボット１の動作を行うために予め作成された動作プログラム４１が入力される。動作プログラム４１は、記憶部４２に記憶される。動作制御部４３は、動作プログラム４１に基づいてロボット１を駆動するための動作指令をロボット駆動部４４に送出する。ロボット駆動部４４は、駆動モータを駆動する電気回路を含み、動作指令に基づいてロボット駆動装置２１に電気を供給する。
【００１８】
また、動作制御部４３は、ハンド駆動装置２２を駆動する動作指令をハンド駆動部４５に送出する。ハンド駆動部４５は、空気ポンプ等を駆動する電気回路を含み、動作指令に基づいて空気ポンプ等に電気を供給する。
【００１９】
ロボット１は、ロボット１の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、ロボット駆動装置２１の各駆動軸の駆動モータに取り付けられた位置検出器２３を含む。例えば、位置検出器２３は、ロボット駆動装置２１の駆動モータが駆動するときの回転角を検出することができる。位置検出器２３の出力により、ロボット１の位置および姿勢が検出される。状態検出器としては、駆動モータに取り付けられた位置検出器に限られず、ロボット１の位置および姿勢の検出が可能な任意の検出器を採用することができる。
【００２０】
ロボットシステム３には、ロボット１の位置および姿勢が変化した時に不動の基準座標系７１が設定される。図１に示す例では、ロボット１のベース１４に、基準座標系７１の原点が配置されている。基準座標系７１はワールド座標系とも称される。基準座標系７１では、原点の位置が固定され、更に、座標軸の向きが固定されている。ロボット１の位置および姿勢が変化しても基準座標系７１の位置および向きは変化しない。基準座標系７１は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。また、Ｘ軸の周りの座標軸としてＷ軸が設定される。Ｙ軸の周りの座標軸としてＰ軸が設定される。Ｚ軸の周りの座標軸としてＲ軸が設定される。
【００２１】
また、フランジ１６の表面のうちハンド５を固定する面において、フランジ座標系７２が設定されている。フランジ座標系７２は、手先座標系とも称される。フランジ座標系７２の原点は、フランジ１６の回転軸上に配置されている。フランジ座標系７２は、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。また、フランジ座標系７２は、Ｘ軸の周りのＷ軸、Ｙ軸の周りのＰ軸、およびＺ軸の周りのＲ軸を有する。フランジ座標系７２は、ロボット１の位置および姿勢が変化すると、原点の位置および座標系の向きがフランジ１６と共に変化する。フランジ座標系７２の座標値を行列にて変換することにより、基準座標系７１の座標値を算出することができる。または、基準座標系７１の座標値を行列にて変換することにより、フランジ座標系７２の座標値を算出することができる。
【００２２】
本実施の形態におけるロボットシステム３は、ワーク３８の検出および検査のうち少なくとも一方を実施する撮像装置を備える。第１のロボットシステム３においては、ハンド５がワーク３８を把持する前に、架台９５におけるワーク３８の位置を検出する。撮像装置は、ワーク３８の第１の画像を撮像する視覚センサとしてのカメラ６を備える。第１の画像は、カメラ６にて実際にワーク３８を撮像した画像である。本実施の形態のカメラ６は、２次元の画像を撮像するカメラである。カメラ６は、ロボット１に支持されている。カメラ６は、支持部材を介してリスト１５に固定されている。カメラ６は、ロボット１が位置および姿勢を変更することにより、ワーク３８の撮像が可能になるようにロボット１に固定されている。
【００２３】
本実施の形態の撮像装置は、ワーク３８およびカメラ６のうちの一方を移動して、他方に対する一方の相対的な位置を変更する移動装置を備える。ロボットシステム３では、ロボット１が移動装置として機能し、カメラ６はロボット１の手先に搭載される。ロボット１の位置および姿勢が変化すると、カメラ６の位置および姿勢が変化する。また、架台９５は、ワーク３８を固定する固定部として機能する。
【００２４】
撮像装置は、視覚センサにて撮像した第１の画像を処理する画像処理装置を備える。本実施の形態のロボットシステム３では、制御装置２が画像処理装置として機能する。制御装置２は、画像制御部５１を含む。画像制御部５１は、カメラ６に対して画像を撮像する指令を送出する撮像制御部５７を含む。画像制御部５１は、カメラ６にて撮像した第１の画像を処理する機能を有する。画像制御部５１は、ワーク３８の撮像に関する情報を記憶する記憶部５６を含む。
【００２５】
図３に、ワークを撮像するときのカメラの移動を説明するロボットの側面図を示す。ロボット１の位置および姿勢が変化すると、カメラ６の位置および姿勢が変化する。カメラ６は、ワーク３８の画像が撮像できる任意の位置に配置することができる。第１のロボットシステム３では、カメラ６の予め定められた複数の位置においてワーク３８を撮像する。カメラ６は、撮像する位置が異なる複数の第１の画像を撮像する。図３に示す例においては、カメラ６は、位置Ｐ６ａにおいてワーク３８を撮像する。そして、矢印９１に示すように、ロボット１が位置Ｐ６ａから位置Ｐ６ｂにカメラ６を移動した後に、カメラ６は、ワーク３８を撮像する。また、矢印９２に示すように、ロボット１が位置Ｐ６ｃにカメラ６を移動した後に、カメラ６は、ワーク３８を撮像する。このように、ワーク３８に対するカメラ６の複数の相対位置が互いに異なるように、ワーク３８の複数の第１の画像を撮像する。第１の画像を撮像するカメラ６の複数の位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃは予め定められている。また、位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃに対応するロボット１の位置および姿勢は、動作プログラム４１に設定されている。カメラ６は、予め定められた複数のロボット１の位置および姿勢において複数の第１の画像を撮像する。
【００２６】
なお、ロボット１の複数の位置および姿勢を予め定めることなく、カメラ６は、複数の第１の画像を撮像しても構わない。例えば、カメラ６の初期位置を位置Ｐ６ａとし、カメラ６の移動後の位置を位置Ｐ６ｂに設定することができる。そして、ロボット１が駆動して、カメラ６が位置Ｐ６ａから位置Ｐ６ｂに移動する期間中に、一定の時間間隔でワーク３８を撮像することができる。この場合には、カメラ６が第１の画像を撮像した瞬間のロボット１の位置および姿勢は、それぞれの第１の画像に紐づけて、第１の画像とロボット１の位置および姿勢の組として記憶部５６に記憶しておく必要がある。ここではロボット１の位置および姿勢を記憶したが、カメラ６の位置および姿勢などの、ロボット１の位置および姿勢から計算できる位置を記憶してもよい。
【００２７】
図４に、ワークを撮像するカメラの位置およびワークを検出するための画像に対応するカメラの位置を説明する側面図を示す。本実施の形態においては、ワーク３８を検出するための検出面７５がワーク３８上に予め定義されている。画像制御部５１は、検出面７５におけるワーク３８の位置を検出する。検出面７５は、ワーク３８の一部の表面に沿うように設定することができる。特に、検出面７５は、ワーク３８の一部の表面を含むように設定することができる。そして、画像制御部５１は、この表面上に写る特徴点や輝度値を用いてワーク３８の検出および検査のうち少なくとも一方を実施する。検出面７５は、基準座標系７１にて表すことができる。検出面７５の情報は、記憶部５６に記憶されている。特徴点としては様々な部分を使用できるが、本実施の形態ではエッジ点を特徴点として用いる。エッジ点は、画像中で輝度勾配が大きな点であり、ワーク３８の輪郭の形状を取得するために使用できる。エッジ点を抽出する方法は周知であるので、ここでは説明を省略する。
【００２８】
カメラ６にて第１の画像を撮像する位置は、位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃである。これに対して、ワーク３８を検出するためのカメラ６の位置である検出位置Ｐ６ｄが予め定められている。検出位置Ｐ６ｄは、作業者が定めた仮想的な位置である。検出位置Ｐ６ｄは、カメラ６がワーク３８の撮像が可能な任意の位置に設定することができる。また、検出位置６ｄにカメラ６を配置するためのロボット１の位置および姿勢が、移動装置の設定位置として予め定められている。このロボット１の位置および姿勢は、記憶部５６に記憶されている。カメラ６の検出位置Ｐ６ｄの情報についても、基準座標系７１にて記憶部５６に記憶しておいても構わない。なお、検出位置Ｐ６ｄは、仮想的な位置に限られず、複数の第１の画像を撮像したカメラ６の位置のうち、１つの位置を選定しても構わない。
【００２９】
図５に、本実施の形態において撮像される第１の画像および第１の画像の処理を説明する概略図を示す。図２、図４、および図５を参照して、位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃにおいて、カメラ６が第１の画像６１ａ，６１ｂ，６１ｃを撮像する。第１の画像６１ａは、位置Ｐ６ａにおいてカメラ６が撮像した画像であり、第１の画像６１ｂは、位置Ｐ６ｂにおいてカメラ６が撮像した画像であり、第１の画像６１ｃは、位置Ｐ６ｃにおいてカメラ６が撮像した画像である。次に、画像制御部５１は、矢印９３に示す様に、それぞれの第１の画像６１ａ，６１ｂ，６１ｃを、検出位置Ｐ６ｄにて撮像された時の第２の画像６２ａ，６２ｂ，６２ｃに変換する。
【００３０】
第２の画像６２ａ，６２ｂ，６２ｃは、カメラ６にて撮像された第１の画像６１ａ，６１ｂ，６１ｃに写されたワーク３８を、検出位置Ｐ６ｄから撮像したと仮定したときの画像である。第２の画像６２ａは第１の画像６１ａを変換した画像であり、第２の画像６２ｂは第１の画像６１ｂを変換した画像であり、第２の画像６２ｃは第１の画像６１ｃを変換した画像である。
【００３１】
次に、画像制御部５１は、矢印９４に示す様に、複数の第２の画像６２ａ，６２ｂ，６２ｃを合成して、１つの合成画像６３を生成する。実際の撮像した第１の画像６１ａ，６１ｂ，６１ｃにおいて、ワーク３８のエッジ点が不鮮明な場合がある。例えば、実際に撮像した第１の画像６１ｂの部分６５に、ハレーションが生じてワーク３８の輪郭の線が不鮮明な場合がある。このような場合でも、合成画像６３を生成することにより、不鮮明な部分を排除することができる。
【００３２】
この結果、画像制御部５１は、ワーク３８の位置を正確に検出することができる。この後に、動作制御部４３は、ワーク３８の位置に基づいて、ロボット１の位置および姿勢を修正する。この制御により、ハンド５にて、ワーク３８を把持することができる。
【００３３】
次に、図２から図５を参照して、本実施の形態における制御を詳細に説明する。作業者は予めカメラ６のキャリブレーションを実施し、カメラ６による計測処理の基準となるカメラ座標系と基準座標系との関係を関連づけるためのキャリブレーションデータ５９が求められているものとする。キャリブレーションデータ５９は、記憶部４２に記憶される。画像制御部５１は、キャリブレーションデータ５９を記憶部４２から取得し、記憶部５６に記憶する。キャリブレーションデータ５９には、カメラ６の焦点距離およびレンズの歪み等の情報を有する内部パラメータが含まれる。また、キャリブレーションデータ５９には、カメラ６にて撮像された第１の画像における画像座標系７３に対するフランジ座標系７２の相対的な位置の関係を有する外部パラメータが含まれる。
【００３４】
また、作業者は、入力データ５８を制御装置２に入力する。入力データ５８は、記憶部４２に記憶される。画像制御部５１は、入力データ５８を記憶部４２から取得し、記憶部５６に記憶する。入力データ５８は、検出面７５の情報を含む。検出面７５は、平面にて設定することができる。または、検出面７５は、曲面を含んでいても構わないし、複数の多角形をつなぎ合わせることにより形成されていて構わない。
【００３５】
本実施の形態における検出面７５は、作業者が予め設定している。検出面はこの形態に限られず、別のセンサによりワークの所定の表面を計測し、この表面を含むように検出面を設定しても構わない。
【００３６】
また、作業者は、最終的に生成する合成画像を、どこの位置から撮像した画像にするかを決めておく。入力データ５８には、ワーク３８の位置を検出するための検出位置Ｐ６ｄにカメラ６を配置するためのロボット１の位置および姿勢が含まれる。検出位置Ｐ６ｄに対応する画像では、実際にワーク３８を撮像した時の撮像条件とは異なる条件を採用して構わない。例えば、検出位置Ｐ６ｄに対応する画像では、カメラの焦点距離、視野角、画素数、およびレンズ歪み等を、実際に画像を撮像した時の値と異なる値に設定しても構わない。このような情報も、入力データ５８に含めることができる。
【００３７】
第１の画像を撮像するためのロボット１の位置および姿勢は、動作プログラム４１に予め定められている。動作制御部４３は、動作プログラム４１に基づいて、ワーク３８を撮像するようにロボット１の位置および姿勢を変更する。撮像制御部５７は、ロボット１が予め定められた位置および姿勢になったときに、ワーク３８の画像を撮像する指令をカメラ６に送出する。カメラ６は、予め定められた複数の位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃにおいて、ワーク３８の第１の画像を撮像する。図３においては、位置Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃにおいて第１の画像６１ａ，６１ｂ，６１ｃを撮像しているが、この形態に限られず、任意の位置から２つ以上の第１の画像を撮像することができる。ワーク３８を撮像するカメラ６の位置は、ワーク３８がカメラ６の視野に入る任意の位置を選定することができる。このように、ワーク３８を複数の視点から撮像する。
【００３８】
図３に示す例においては、ロボット１の複数の駆動軸を駆動しているが、この形態に限られず、単一の駆動軸を動作させてカメラ６の位置を変更しても構わない。この制御を実施することにより、駆動軸において構成部材が動作するときの誤差を抑制することができる。また、図３に示す例においては、カメラ６の向き（光軸の向き）を変更しているが、この形態に限られず、カメラ６の向きを変更せずに、カメラ６を平行移動させても構わない。
【００３９】
画像制御部５１は、ワーク３８に対するカメラ６の相対的な位置を取得する位置取得部５２を含む。位置取得部５２は、ワーク３８を撮像したときのロボット１の位置および姿勢を取得する。位置取得部５２は、ロボット１の位置および姿勢とキャリブレーションデータ５９とに基づいて、ワーク３８を撮像したときのカメラ６の位置を算出する。記憶部５６は、複数の位置にてカメラ６が撮像した複数の第１の画像を記憶する。また、記憶部５６は、第１の画像を撮像した時のロボット１の位置および姿勢と、第１の画像とを組にして記憶する。
【００４０】
画像制御部５１は、検出面７５に対するカメラ６の相対位置に基づいて、カメラ６にて撮像された複数の第１の画像６１ａ，６１ｂ，６１ｃを、検出位置Ｐ６ｄにて撮像したと仮定した時の複数の第２の画像６２ａ，６２ｂ，６２ｃに変換する画像変換部５３を含む。ここでの例では、画像変換部５３は、第１の画像６１ａ，６１ｂ，６１ｃと紐づけて記憶しているワーク３８を撮像した時のロボット１の位置および姿勢に基づいて、第１の画像６１ａ，６１ｂ，６１ｃを変換する。画像変換部５３は、それぞれの第１の画像６１ａ，６１ｂ，６１ｃに含まれるワーク３８を、検出位置Ｐ６ｄに対応するロボット１の設定位置にて撮像したと仮定した時に得られるワーク３８の第２の画像６２ａ，６２ｂ，６２ｃに変換する。第２の画像６２ａ，６２ｂ，６２ｃは、同一の仮想的な位置から撮像した仮想的な画像であると言うことができる。次に、図５における実際に撮像した第１の画像６１ａ，６１ｂ，６１ｃを検出位置Ｐ６ｄにて撮像した時の第２の画像６２ａに変換する処理について説明する。
【００４１】
図６に、実際に第１の画像を撮像するときのカメラの視線および検出位置に配置されたカメラの視線を説明する側面図を示す。図６には、実際に撮像する位置Ｐ６ｃに配置されたカメラ６と、検出位置Ｐ６ｄに配置されたカメラ６とが示されている。カメラ６の画角の内部には、撮像面７６ｃ，７６ｄを設定することができる。撮像面７６ｃ，７６ｄは、カメラ６の内部に配置された、ＣＣＤ（Charge Coupled Device）センサまたはＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどの画像センサの表面を模擬したものである。
【００４２】
図５の第１の画像６１ｃに示すように、カメラ６にて撮像した画像には、画像座標系７３を設定することができる。画像座標系７３は、撮像した画像において、予め定められた位置に原点を配置した２次元の座標系である。画像座標系７３は、互いに直交するＸ軸およびＹ軸を有する。画像座標系７３の座標値により、画像における位置を特定することができる。または、撮像面７６ｃ，７６ｄに、画像座標系７３を設定することができる。
【００４３】
カメラ６のキャリブレーションデータ５９が求められていると、基準座標系７１における３次元点（以下、注視点）が与えられた時に、その３次元点の画像上での像の位置、すなわち画像座標系７３における２次元点を計算することができる。また、所定の注視点の像である画像座標系７３における２次元点が与えられた時に、基準座標系７１における視線（注視点とカメラ６の焦点を通る３次元直線）を計算することができる。カメラ６は、第１の画像６１ｃにおける１点を選定すると、その１点に対応するカメラ６から延びる視線７７ｃを算出することが出来る。視線７７ｃは、フランジ座標系７２により表すことができる。
【００４４】
すなわち、画像座標系７３における任意の１点から、フランジ座標系７２におけるカメラ６の視線７７ｃを求めることができる。また、ロボット１の位置および姿勢により、基準座標系７１におけるフランジ座標系７２の原点の位置およびフランジ座標系７２の姿勢を求めることができる。このため、フランジ座標系７２にて表される視線７７ｃを、基準座標系７１にて表される視線７７ｃに変換することができる。
【００４５】
これとは反対に、基準座標系７１における１点を定めると、基準座標系７１における視線７７ｃを算出することができる。そして、基準座標系７１における視線７７ｃに基づいて、画像座標系７３において対応する点の位置を算出することができる。
【００４６】
図４から図６を参照して、位置Ｐ６ｃに対応する第１の画像６１ｃおよび変換後の第２の画像６２ｃを例に取り上げて説明する。画像変換部５３は、検出位置Ｐ６ｄに配置されたカメラ６にて撮像されたと仮定される第２の画像６２ｃにおいて、任意の画素の中心点を選択する。例えば、画像変換部５３は、１つの画素の中心点である点６４ｂを選択する。画像変換部５３は、画像座標系７３における点６４ｂの位置に基づいて、フランジ座標系７２にて表される視線７７ｄを算出する。更に、画像変換部５３は、基準座標系７１にて表される視線７７ｄを算出する。
【００４７】
画像変換部５３は、視線７７ｄと検出面７５との交点７８を算出する。この交点７８の位置は、基準座標系７１にて表わすことができる。次に、画像変換部５３は、実際に撮像した位置Ｐ６ｃに配置されたカメラ６について、交点７８を通る視線７７ｃを算出する。画像変換部５３は、基準座標系７１にて表されている視線７７ｃを、フランジ座標系７２にて表された視線７７ｃに変更する。さらに、画像変換部５３は、視線７７ｃに基づいて、実際に撮像した撮像面７６ｃにおける画像座標系７３の位置を算出する。このように、第１の画像６１ｃにおける点６４ａの位置を算出することができる。
【００４８】
図７に、実際に撮像された第１の画像の拡大図を示す。図７には、第２の画像６２ｃの点６４ｂに対応する点６４ａの周りの画素８５ａ，８５ｂ，８５ｃが示されている。点６４ａの位置が、検出位置Ｐ６ｄにおける第２の画像６２ｃの画素の中心点６４ｂに対応する対応位置になる。点６４ａは、中心点８１ａを含む画素８５ａの内部に配置されている。このために、画像変換部５３は、第２の画像６２ｃにおいて、点６４ｂを中心とする画素の値を、第１の画像６１ｃにおける画素８５ａの画素の値に設定することができる。画素の値は、画素の明るさ又は色に関する値であり、例えば輝度を採用することができる。
【００４９】
画像変換部５３は、このような第２の画像６２ｃにおける画素値の計算を、第２の画像６２ｃに含まれる全ての画素について実施する。この制御により、画像変換部５３は、第２の画像６２ｃを生成することができる。
【００５０】
なお、第２の画像６２ｃにおける位置に対応する第１の画像６１ｃの位置が、第１の画像６１ｃの範囲外である場合には、第２の画像６２ｃの画素の値を予め定められた値に設定することができる。図５の第２の画像６２ｃに示す例においては、カメラ６にて撮像した第１の画像６１ｃにおいて対応する画素が無い場合には、第２の画像６２ｃにおいて画素の輝度をゼロにしている。すなわち、第２の画像６２ｃにおいて、黒くなるように画素値が設定されている。
【００５１】
更に、第２の画像６２ｃにおける画素の画素値の算出においては、画素値を正確に求めるために、第１の画像６１ｃの点６４ａが含まれる画素８５ａの周りの画素８５ｂ，８５ｃの画素値を用いることができる。本実施の形態においては、点６４ａの近傍の複数の画素８５ｂ，８５ｃの画素値と、点６４ａを含む画素８５ａの画素値とを線形補間することよって、第２の画像６２ｃの点６４ｂを含む画素の値を算出する。
【００５２】
画像変換部５３は、画素８５ａの中心点８１ａに対する点６４ａの位置を判定する。図７に示す例では、点６４ａは、中心点８１ａの右側に配置され、中心点８１ａの下側に配置されている。そして、画像変換部５３は、点６４ａに最も近い２つの画素として、画素８５ｂおよび画素８５ｃを選定する。
【００５３】
図８に、第２の画像の画素の値を算出する時の線形補間を説明する図を示す。Ｘ軸およびＹ軸を含む画像座標系７３において、それぞれの画素８５ａ，８５ｂ，８５ｃの中心点８１ａ，８１ｂ，８１ｃを設定する。そして、Ｘ軸およびＹ軸に直交する画素値の座標軸を設定する。画像変換部５３は、それぞれの中心点８１ａ，８１ｂ，８１ｃにおける画素値を通る平面８２を算出する。画像変換部５３は、点６４ａからＸ軸およびＹ軸を含む平面に垂直な線を算出する。画像変換部５３は、この線と平面８２との交点８３を算出する。画像変換部５３は、交点８３の画素値を、第２の画像６２ｃの点６４ｂを含む画素の画素値に採用することができる。
【００５４】
このように、カメラ６は、撮像する位置が互いに異なる複数の第１の画像を撮像することができる。画像変換部５３は、複数の第１の画像を変換して検出位置に対応する複数の第２の画像を生成する。画像変換部５３は、第２の画像の画素に対応する第１の画像における対応位置を算出する。画像変換部５３は、第１の画像における対応位置を含む画素の値および対応位置を含む画素に隣接する画素の値に基づいて、第２の画像の画素の値を算出することができる。この制御を採用することにより、変換後の画像において、より正確な画素値を算出することができる。
【００５５】
また、上記のように、画像変換部５３は、対応位置を含む画素の値および対応位置の近傍の複数の画素の値に基づいて、内挿補間や外挿補間により第２の画像の画素の値を算出することができる。この制御により、第１の画像において対応位置が画素の中心と一致しない場合にも、より正確に、第２の画像の画素の画素値を算出することができる。上記の実施の形態においては、対応位置に最も近い２つの画素の画素値を採用しているが、この形態に限られず、対応位置に近い３つ以上の画素の画素値を採用しても構わない。
【００５６】
図２および図５を参照して、画像変換部５３は、実際に撮像した第１の画像６１ａ，６１ｂ，６１ｃに基づいて、検出位置に対応するように第２の画像６２ａ，６２ｂ，６２ｃを生成することができる。
【００５７】
画像制御部５１は、画像変換部５３にて変換された複数の第２の画像６２ａ，６２ｂ，６２ｃを合成して、検出位置にて撮像した画像に対応する合成画像６３を生成する合成部５４を含む。合成部５４は、矢印９４に示すように、複数の第２の画像６２ａ，６２ｂ，６２ｃを合成することにより、合成画像６３を生成する。
【００５８】
合成部５４は、合成画像６３に含まれる画素の値を、第２の画像６２ａ，６２ｂ，６２ｃに含まれる画素の値から算出する。合成部５４は、合成画像６３の１つの点６４ｃを中心点とする画素を選定する。そして、合成部５４は、第２の画像６２ａ，６２ｂ，６２ｃにおける点６４ｃを中心とする画素の値の平均値を、合成画像６３における点６４ｃの画素の値に設定することができる。または、合成部５４は、第２の画像６２ａ，６２ｂ，６２ｃにおける画素値の最小値または最大値を、合成画像６３の画素の値に設定しても構わない。例えば、第２の画像６２ａ，６２ｂ，６２ｃにおける画素の値の平均値、中央値、または最小値を採用することにより、ハレーションにて鮮明でない部分の画素の値を排除することができる。また、合成部５４は、画像変換部５３にて変換された複数の第２の画像６２ａ，６２ｂ，６２ｃにおける画素の値の統計量を、合成画像６３の画素の値に設定することができる。
【００５９】
また、合成部５４は、画素値が非常に大きい画素または画素値が非常に小さい画素を排除しても構わない。作業者は、画素値に関する外れ値を予め定めておくことができる。合成部５４は、外れ値に基づいて、画素値が所定の範囲を逸脱する画素を排除することができる。また、合成部５４は、全ての画素の値を取得して、統計的手法により外れ値を設定しても構わない。または、画素値そのものではなく、輝度勾配等の画素値から計算できる値を使って外れ値を含む画素の排除を行っても構わない。
【００６０】
なお、第２の画像６２ａ，６２ｂ，６２ｃにおいては、輝度がゼロに設定されて黒い部分が存在する。合成部５４は、合成画像６３を作成する際に、この部分の画素値を排除して画素値を計算することができる。また、検出面７５上から外れたワーク３８の部分の形状は、正しい形状にて写らない。しかしながら、複数の第２の画像を合成することにより、検出面７５上の特徴を有する部分以外の部分は不鮮明になる。ワーク３８の検出に使用するのは検出面７５上の特徴を有する部分であるので、検出面７５上にない部分については問題にはならない。
【００６１】
本実施の形態における撮像装置は、環境光の影響または照明やワークの傾きに依存するコントラストの低下の影響を抑制することができる。また、ハレーションが発現した場合に、ハレーションが生じた部分を修正することができる。この結果、検出位置から撮像した時の鮮明な画像を得ることができる。本実施の形態の撮像装置は、環境光の変化または対象物の輝度変化が大きくても対象物の特徴を捉えることができる。換言すれば、本実施の形態の撮像装置は、ワークの特徴点が鮮明に写った画像を得ることができる。
【００６２】
本実施の形態における撮像装置は、合成画像６３に基づいて、検出面７５においてワーク３８を検出する合成画像処理部５５を含む。合成画像処理部５５は、合成画像６３におけるワーク３８の特徴点に基づいてワーク３８の位置を検出する。例えば、作業者は、検出位置に配置されたカメラ６にてワーク３８を撮像した画像を予め作成することができる。記憶部５６は、この画像を基準画像として予め記憶しておくことができる。合成画像処理部５５は、基準画像に基づいて、検出面７５におけるワークの位置を算出することができる。
【００６３】
画像制御部５１は、検出されたワーク３８の位置を動作制御部４３に送出する。動作制御部４３は、取得したワーク３８の位置に基づいて、動作プログラム４１に定められたロボット１の位置および姿勢を修正する。すなわち、ワーク３８を把持する時のハンド５の位置および姿勢を修正する。そして、動作制御部４３は、ロボット１およびハンド５を駆動して、ワーク３８を把持することができる。
【００６４】
第１のロボットシステム３においては、架台９５に固定されたワーク３８を把持するために、架台９５におけるワーク３８の位置を検出しているが、この形態に限られない。画像制御部５１の合成画像処理部５５は、合成画像に基づいてワーク３８の検査を実施することができる。例えば、合成画像処理部は、合成画像からワークの寸法を計測することができる。そして、ロボットシステムは、予め定められた寸法の判定値に基づいて、ワークの寸法の検査を実施することができる。ワークの検査としては、ワークの寸法の検査に限られず、任意のワークの検査を実施することができる。例えば、ワークの表面に所定の部品が配置されているか否かについて検査を実施することができる。または、ワークの表面に傷が存在するか否かについて検査を実施することができる。
【００６５】
第１のロボットシステム３においては、ワークの位置が固定され、カメラが移動装置にて移動するように形成されているが、この形態に限られない。カメラの位置が固定され、ワークが移動装置により移動しても構わない。
【００６６】
図９に、本実施の形態における第２のロボットシステムの側面図を示す。第２のロボットシステム４においては、カメラ６は架台９６に固定されている。ワーク３８は、ロボット１にて支持されている。第２のロボットシステム４は、矢印１０５に示す様に架台１０１に載置されたワーク３８を架台１０２まで搬送する。ロボット１の位置および姿勢が変化することにより、ワーク３８は、位置Ｐ３８ｓから位置Ｐ３８ｅまで搬送される。第２のロボットシステム４の撮像装置は、ワーク３８をハンド５にて把持したときのハンド５内での位置のずれを検出する。
【００６７】
図１０に、第２のロボットシステム４の他の側面図を示す。図２および図１０を参照して、カメラ６は、予め定められた位置に固定されている。ワーク３８の底面を含む検出面７５が予め設定されている。また、カメラ６にてワーク３８を撮像する時のワーク３８の複数の位置Ｐ３８ａ，Ｐ３８ｂが予め定められている。ワーク３８の位置Ｐ３８ａ，Ｐ３８ｂに対応するロボット１の位置および姿勢は、予め定められて動作プログラム４１に設定されている。更に、ワーク３８を検出するためのワーク３８の検出位置が予め定められている。記憶部５６には、検出位置にワーク３８を配置するためのロボット１の位置および姿勢が、移動装置の設定位置として記憶されている。ワーク３８の検出位置は、カメラ６にてワーク３８の撮像が可能な任意の位置に設定することができる。カメラ６は、画像座標系７３における点の位置に対応する基準座標系７１におけるカメラ６の視線を算出できるように較正されている。
【００６８】
ロボット１は、カメラ６にて複数の第１の画像を撮像するためにワーク３８を移動する。カメラ６は、ワーク３８が複数の位置Ｐ３８ａ，Ｐ３８ｂに配置された時に、ワーク３８を撮像する。位置取得部５２は、ワーク３８を撮像するときのロボット１の位置および姿勢を取得する。位置取得部５２は、ロボット１の位置および姿勢に基づいて、ワーク３８の位置Ｐ３８ａ，Ｐ３８ｂを算出する。記憶部５６は、撮像した第１の画像と、ワーク３８の複数の位置Ｐ３８ａ，Ｐ３８ｂに対応するロボット１の位置および姿勢とを組にして記憶する。すなわち、記憶部５６は、第１の画像と移動装置の位置との組を複数記憶する。
【００６９】
画像変換部５３は、ワーク３８を撮像したときのロボット１の位置および姿勢に基づいて、カメラ６にて撮像された複数の第１の画像を、設定位置にて撮像した時とワーク３８が位置Ｐ３８ａ，Ｐ３８ｂにあるときに撮像した時とで、ワーク３８とカメラ６の相対位置関係が同じようになるように複数の第２の画像に変換する。第２のロボットシステム４においては、画像座標系７３にて表される点の位置から基準座標系７１にて表されるカメラ６の視線を算出することができる。または、基準座標系７１にて表される点から画像座標系７３にて表される点の位置を算出することができる。
【００７０】
合成部５４は、画像変換部５３にて変換された複数の第２の画像を合成して合成画像を生成する。合成画像処理部５５は、合成画像におけるワークの特徴点に基づいてワーク３８の位置を検出することができる。合成画像処理部５５は、ロボット１の位置および姿勢とワーク３８の位置とに基づいて、ワーク３８を把持した時のずれを補正することができる。
【００７１】
ここで、図９を参照して、ワーク３８を把持した時のずれを補正する方法について説明する。以下の説明において、Ｗ１，Ｐ２等の位置を表す記号は同次変換行列である。本実施の形態においては、ハンド５内におけるワーク３８の把持のずれを補正するために、ロボット１のアーム先端部に対するワーク３８の相対位置を計測する。ワーク３８が検出位置に配置されていると仮定したときのロボット１の位置をＱ１’にて表し、基準座標系７１におけるワーク３８の位置をＷ１’にて表すと、ロボット１のアーム先端部に対するワーク３８の相対的な位置Ｖ１’は以下の式（１）に基づいて算出することができる。
【００７２】
【数１】
2019113895.tif 000003
【００７３】
そして、ワーク３８の最終的な位置Ｐ３８ｅを教示したときに把持されていたワーク３８の位置Ｐ２について、ロボット１のアーム先端部に対するワーク３８の相対的な位置をＶ１とすると、ワーク３８を解放すべき位置Ｐ２’は、以下の式（２）に基づいて算出することができる。ロボット１は、補正後の位置Ｐ２’においてワーク３８を解放することができる。
【００７４】
【数２】
2019113895.tif 000004
【００７５】
上記の実施の形態において、合成画像処理部５５は、合成画像に基づいて、ワーク３８を把持した時のずれを補正しているが、この形態に限られない。合成画像処理部５５は、第１のロボットシステムと同様に、検出面７５上のワーク３８の特徴点を用いて、ワーク３８の検査を実施することができる。第２のロボットシステムのその他の構成、作用、および効果は、本実施の形態の第１のロボットシステムと同様である。
【００７６】
図１１に、本実施の形態における搬送システムの側面図を示す。図１２に、本実施の形態における搬送システムのブロック図を示す。図１１および図１２を参照して、搬送システム９は、撮像装置を備える。搬送システム９は、ワーク３８を移動する移動装置として、コンベヤ７を備える。搬送システム９は、第２のロボットシステム４のロボット１の代わりに、コンベヤ７が配置されている構成を有する。ワーク３８は、コンベヤ７が駆動することにより、矢印９０に示す方向に移動する。すなわち、コンベヤ７が駆動することにより、ワーク３８の位置が変化し、視覚センサとワーク３８との相対位置が変わる。視覚センサとしてのカメラ６は、支持部材９７に支持されている。
【００７７】
搬送システム９は、コンベヤ７およびカメラ６を制御する制御装置８を備える。制御装置８は、ＣＰＵ等を含む演算処理装置にて構成されている。制御装置８は、コンベヤ駆動部４６を含む。コンベヤ７は、ベルトを駆動するための駆動モータを有するコンベヤ駆動装置２４を含む。それぞれの駆動モータには、駆動モータの回転位置を検出する位置検出器２５が状態検出器として配置されている。
【００７８】
制御装置８は、図２に示すロボットシステムの制御装置２と同様に、画像制御部５１を含む。カメラ６は、ワーク３８の撮像が可能な予め定められた位置に固定されている。ワーク３８の表面を含む検出面７５が予め設定されている。また、カメラ６にてワーク３８を撮像するためのワーク３８の複数の位置Ｐ３８ａ，Ｐ３８ｂが予め定められている。ワーク３８の位置Ｐ３８ａ，Ｐ３８ｂに対応するコンベヤ７のベルトの位置は、動作プログラム４１に設定されている。更に、ワーク３８の位置を検出するためのワーク３８の検出位置が予め定められている。記憶部５６には、ワーク３８を検出位置に配置するためのベルトの位置が、移動装置の設定位置として記憶されている。
【００７９】
コンベヤ７は、カメラ６にて複数の第１の画像を撮像するためにワーク３８を移動する。そして、カメラ６は、複数の位置Ｐ３８ａ，Ｐ３８ｂに配置された時にワーク３８を撮像する。位置取得部５２は、ワーク３８を撮像する時のコンベヤ７のベルトの位置をコンベヤ７に取り付けられた位置検出器２５などのエンコーダから取得する。位置取得部５２は、コンベヤ７のベルトの位置に基づいて、ワーク３８の位置Ｐ３８ａ，Ｐ３８ｂを算出する。記憶部５６は、撮像した第１の画像と、ワーク３８の位置Ｐ３８ａ，Ｐ３８ｂに対応するコンベヤ７のベルトの位置とを組にして記憶する。記憶部５６は、第１の画像と移動装置の位置との組を複数記憶する。この後に、第２のロボットシステム４と同様に、画像変換部５３は、第１の画像を検出位置に対応する第２の画像に変換する。すなわち、第１の画像をコンベヤの設定位置にて撮像したと仮定した時の第２の画像に変換する。合成部５４は、検出位置に対応する複数の第２の画像を合成する。合成画像処理部５５は、ワーク３８の位置の検出または検査を行うことができる。
【００８０】
搬送システムのその他の構成、作用、および、効果は、本実施の形態の第１のロボットシステムおよび第２のロボットシステムと同様である。
【００８１】
図１３に、本実施の形態における撮像装置の側面図を示す。図１４に、本実施の形態における撮像装置のブロック図を示す。撮像装置は、上記のロボット１およびコンベヤ７などの移動装置を備えていなくても構わない。図１３および図１４に示す撮像装置は、ワーク３８よびカメラ３１，３２の両方が予め定められた位置に固定されている。図１３および図１４に示す撮像装置は、本実施の形態における第１のロボットシステム３において、ロボット１がカメラ６を撮像する位置を変更する代わりに、複数のカメラ３１，３２が配置されている。そして、位置が互いに異なる複数のカメラ３１，３２にて複数の第１の画像を撮像する。
【００８２】
撮像装置は、ワーク３８を固定する第１の固定部としての架台９５と、ワーク３８の第１の画像を撮像する複数の視覚センサとしての複数のカメラ３１，３２とを備える。第１のカメラ３１および第２のカメラ３２は、第２の固定部としての支持部材９８，９９に支持されている。カメラ３１，３２は、互いに異なる位置からワーク３８を撮像するように離れている。
【００８３】
撮像装置は、カメラ３１，３２にて撮像した第１の画像を処理する画像処理装置として機能する制御装置１０を含む。制御装置１０は、ＣＰＵ等を含む演算処理装置にて構成されている。制御装置１０は、図２に示すロボットシステムの画像制御部５１と同様の構成を有する。撮像制御部５７は、第１のカメラ３１および第２のカメラ３２に画像を撮像する指令を送出する。記憶部５６は、第１のカメラ３１および第２のカメラ３２にて撮像された第１の画像と、第１の画像を撮像したカメラ３１，３２の位置とを組にして記憶する。
【００８４】
撮像装置において、基準座標系７１が予め設定されている。図１３に示す例では、基準座標系７１は、架台９５に設定されている。また、架台９５に固定されたワーク３８上には検出面７５が定義されている。更に、ワーク３８を検出するためのカメラの検出位置Ｐ６ｄが予め定められて記憶部５６に記憶されている。それぞれのカメラ３１，３２は、画像座標系７３における点の位置に対応する基準座標系７１におけるカメラの視線を算出できるように較正されている。
【００８５】
制御装置１０の位置取得部５２は、予め定められたカメラ３１，３２の位置を取得する。画像変換部５３は、複数のカメラ３１，３２にて撮像した複数の第１の画像を検出位置Ｐ６ｄにて撮像したと仮定した時の第２の画像に変換する。画像変換部５３は、カメラ３１，３２の位置に基づいて、第１の画像を変換する。また、合成部５４は、画像変換部５３にて変換された複数の第２の画像を合成して合成画像を生成する。そして、合成画像処理部５５は、合成画像に基づいて検出面７５においてワーク３８の検出および検査のうち少なくとも一方を行うことができる。例えば、合成画像処理部５５は、予め定められた判定値に基づいてワーク３８の寸法検査を実施することができる。または、ワーク３８を搬送するロボット等が別に配置されていても構わない。撮像装置は、架台９５におけるワーク３８の位置を検出して、ロボットの制御装置等に送信することができる。
【００８６】
図１３および図１４に示す例では、２つのカメラが配置されているが、この形態に限られない。撮像装置は、３つ以上のカメラを備えていても構わない。画像変換部５３は、カメラの台数に応じた個数の第１の画像を変換することができる。
【００８７】
撮像装置のその他の構成、作用および効果については、本実施の形態における第１のロボットシステム、第２のロボットシステム、および搬送システムと同様である。
【００８８】
上記の実施の形態においては、様々なワークの検出のうち、ワークの位置の検出を説明しているが、この形態に限られない。本実施の形態の制御は、任意のワークを検出する制御に適用することができる。たとえば、撮像装置は、所定の範囲の内部にワークが配置されている否かを判定する制御を実施することができる。または、多数のワークが配置されている場合に、撮像装置は、所定の個数のワークが存在するか否かを判定する制御を実施することができる。
【００８９】
また、上記の実施の形態においては、１つのワークに１つの検出面を配置しているが、この形態に限られず、１つのワークに対して複数の検出面を配置しても構わない。撮像装置は、それぞれの検出面ごとに、ワークの検出および検査のうち少なくとも一方を行うことができる。
【００９０】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【００９１】
１  ロボット
２，８，１０  制御装置
３，４  ロボットシステム
６，３１，３２  カメラ
Ｐ６ａ，Ｐ６ｂ，Ｐ６ｃ  位置
Ｐ６ｄ  検出位置
７  コンベヤ
９  搬送システム
３８  ワーク
Ｐ３８ａ，Ｐ３８ｂ  位置
２３，２５  位置検出器
５１  画像制御部
５２  位置取得部
５３  画像変換部
５４  合成部
５５  合成画像処理部
５６  記憶部
６１ａ，６１ｂ，６１ｃ  第１の画像
６２ａ，６２ｂ，６２ｃ  第２の画像
６３  合成画像
７５  検出面
８５ａ，８５ｂ，８５ｃ  画素
９５，９６  架台
９７，９８，９９  支持部材
【図１】
2019113895.tif 000005
【図２】
2019113895.tif 000006
【図３】
2019113895.tif 000007
【図４】
2019113895.tif 000008
【図５】
2019113895.tif 000009
【図６】
2019113895.tif 000010
【図７】
2019113895.tif 000011
【図８】
2019113895.tif 000012
【図９】
2019113895.tif 000013
【図１０】
2019113895.tif 000014
【図１１】
2019113895.tif 000015
【図１２】
2019113895.tif 000016
【図１３】
2019113895.tif 000017
【図１４】
2019113895.tif 000018