説明

ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法

【課題】ターゲットのサブピクセルレベルでの位置検出を高精度に行う。
【解決手段】ロボット装置1は、ターゲットを搬送可能に保持する多関節ロボット10と、ゴール位置とターゲットとを撮像する撮像装置20と、画像上のゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、撮像装置20から得られるターゲットを含む画像データとゴール画像記憶部に記憶されたゴール画像データとの比較に基づいてターゲットの一致度評価値を計算し、この一致度評価値に基づいてゴール位置に対するターゲットの位置ずれを検出するターゲット検出部と、この位置ずれをなくす方向にターゲットを搬送するよう多関節ロボット10を制御するロボット制御装置50とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法に関する。
【背景技術】
【0002】
電子機器の製造工程において、組立てにおける多くの作業は自動化されている。この自動化された製造ラインでは、例えば、撮像装置により撮像された撮像画像に基づくビジュアルフィードバック制御によって、組立ロボットが、ハンドで部品単体やアセンブリー部品等の物体を把持し搬送して電子機器を組み立てる。このビジュアルフィードバック制御による自動組立において、例えば、物体が精密部品や微細な形状を有する部品である場合、撮像装置の解像度の性能を示す画素分解能によって決まる位置検出精度よりも高い精度で当該物体を検出することが必要となる場合がある。
【0003】
従来、撮像装置の画素分解能によって決まる位置精度よりも高い精度で物体の位置を検出する技術として、サブピクセル推定技術が知られている。例えば、ピクセルレベルで算出した一致度評価値をフィッティング内挿することにより、サブピクセルレベルで物体の位置を推定する方法等が知られている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】清水雅夫著、奥富正敏著、「画像のマッチングにおけるサブピクセル推定の意味と性質」、電子情報通信学会論文誌D−II、2002年12月、Vol.J85−D−II、No.12、pp.1791−1800
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の方法は、ピクセルレベルで算出した一致度評価値に基づく推定であるため、推定による誤差が発生する。画素分解能が低くなるにしたがってその推定誤差は大きくなり、位置誤差も大きくなってしまう。
そこで、本発明は上記事情に鑑みてなされたものであり、ターゲットのサブピクセルレベルでの位置検出を高精度に行う、ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
[1]上記の課題を解決するため、本発明の一態様であるロボット装置は、ターゲットをゴール位置まで搬送可能に保持する搬送ロボットと、前記ゴール位置と前記ターゲットとを視野に含めて撮像し画像データを生成する撮像部と、前記画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、前記撮像部が生成する前記搬送ロボットにより保持されたターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、前記ターゲット検出部が検出した位置ずれをなくす方向に、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御する搬送ロボット制御部と、を備えることを特徴とする。
ここで、本発明の一態様であるロボット装置は、ビジュアルフィードバック制御によってターゲットをゴール位置まで搬送するものである。本発明の一態様であるロボット装置は、あらかじめターゲットをゴール位置にゴールさせた状態での、ターゲット撮像画像であるゴール画像と、ターゲットの撮像画像であるターゲット画像とのテンプレートマッチング処理を行ってフィードバック制御を行うことにより、ビジュアルフィードバック制御を実現するものである。一致度評価値は、例えば、ゴール画像とターゲット画像との輝度差の絶対値の総和や輝度差の2乗和等である。また、画素値は、例えば輝度値である。
この構成によれば、ロボット装置は、例えば、ターゲットのゴール位置が最も感度の高い位置となる状態でのゴール画像データを生成し記憶しておくことができる。そして、ロボット装置は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算し、一致度評価が最も高いポイントを検出する。そして、ロボット装置は、そのポイントに対応する位置にターゲットを移動させるよう搬送ロボットを制御することにより、正確なサブピクセル精度でターゲットをゴール位置にゴールさせることができる。
[2]上記[1]記載のロボット装置において、ピクセルレベルで前記ゴール位置に位置合わせされたターゲットと前記撮像部との前記画像データ上の相対位置を変更する位置変更ロボットと、前記位置変更ロボットによって変位された前記ターゲットの画像を含む画像データに基づいて前記感度の分布を求め、前記分布を前記画像データ上の位置に対応させた感度マップを生成する感度マップ生成部と、前記感度マップ生成部が生成した感度マップに基づいて前記画像データにおけるゴール位置を決定するゴール位置決定部と、前記ゴール位置決定部が決定した前記ゴール位置に前記ターゲットを移動させるよう前記位置変更ロボットを制御する位置変更ロボット制御部と、を備え、前記ターゲット検出部は、前記位置ずれを検出した場合に、サブピクセル推定処理によって前記ターゲットの位置ずれの方向とずれ量とを計算し、前記搬送ロボット制御部は、前記ターゲットの前記位置ずれの方向と前記ずれ量とに基づいて、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御することを特徴とする。
この構成によれば、感度マップを生成することにより、ターゲット画像の感度の分布に応じて感度の高い適切なゴール位置を決定することができる。
[3]上記[2]記載のロボット装置において、前記感度マップ生成部は、前記感度に応じて画素に重み係数による重み付けをし、前記重み係数と前記感度マップとを対応付け、前記ターゲット検出部は、前記画素の重み係数に基づいて前記一致度評価値の計算処理に用いる画素を選択することを特徴とする。
この構成によれば、感度に応じた重み係数を適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセルレベルでの位置合わせを行うことができる。
[4]上記[3]記載のロボット装置において、前記重み係数は、前記感度が高くなるにしたがって大きな値となるものであり、前記ターゲット検出部は、前記画素の重み係数が閾値を超える値である画素のみを用いて前記一致度評価値の計算処理に用いる画素を選択することを特徴とする。
[5]上記[1]から[4]のうちいずれか一項記載のロボット装置において、前記ターゲット検出部は、前記画像データと前記ゴール画像データとの輝度差の絶対値の総和または前記輝度差の2乗和を計算して前記一致度評価値を得ることを特徴とする。
[6]上記[1]から[5]のうちいずれか一項記載のロボット装置において、前記搬送ロボットは、可動のアーム部とこのアーム部に連結される可動のハンド部とを備え、前記ハンド部により前記ターゲットを保持させることを特徴とする。
[7]上記[2]から[6]のうちいずれか一項記載のロボット装置において、前記位置変更ロボットは、前記ターゲットまたは前記撮像部の一方が固定された状態で他方を可動に支持することを特徴とする。
【0007】
[8]上記の課題を解決するため、本発明の一態様である位置検出装置は、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、を備えることを特徴とする。
この構成によれば、位置検出装置は、例えば、ターゲットのゴール位置が最も感度の高い位置となる状態でのゴール画像データを生成し記憶しておくことができる。そして、位置検出装置は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算することにより、一致度評価が最も高いポイント、すなわち、正確なサブピクセル精度でターゲットの位置を検出することができる。
【0008】
[9]上記の課題を解決するため、本発明の一態様である位置検出プログラムは、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部を備えるコンピューターに、前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、を実行させる。
【0009】
[10]上記の課題を解決するため、本発明の一態様である位置検出方法は、ターゲット検出部が、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、を有することを特徴とする。
【0010】
よって、本発明の各態様によれば、ターゲットのサブピクセルレベルでの位置検出を高精度に行うことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1実施形態であるロボット装置の機能構成を表すブロック図である。
【図2】同実施形態において、工場の組立製造ラインに設置されたロボット装置における多関節ロボットがアセンブリー部品の組立作業を行っている様子を模式的に表した図である。
【図3】同実施形態において、多関節ロボットに取り付けられた把持部の先端部分と把持部が把持する部品とを、撮像装置側から見た模式的な図である。
【図4】同実施形態において、部品が基台の軸に取り付けられる様子を模式的に表した図である。
【図5】同実施形態において、ターゲットのサイズが撮像系の一画素に相当するサイズ未満である場合についての、画像の感度を説明するための図である。
【図6】同実施形態において、ターゲットをサブピクセルレベルで微小移動させた場合の、ターゲットの位置とゴール位置との一致度評価を説明するための図である。
【図7】図6におけるターゲットの位置に対応させた、ターゲット画像とゴール画像との一致度評価値のグラフである。
【図8】同実施形態における、位置検出装置の機能構成を表すブロック図である。
【図9】同実施形態において、感度マップ生成部が生成する感度マップの例である。
【図10】同実施形態における、ロボット装置によるゴール画像生成処理の処理手順を表すフローチャートである。
【図11】同実施形態における、ロボット装置によるターゲット検出処理の処理手順を表すフローチャートである。
【図12】本発明の第2実施形態および各変形例において、ターゲットのサイズが撮像系の一画素に相当するサイズ以上である場合についての、画像の感度を説明するための図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
本発明の第1実施形態であるロボット装置は、ビジュアルフィードバック制御によって部品(ターゲット)をゴール位置まで搬送し、アセンブリー部品の組立作業を行う装置である。ゴール位置とは、部品をアセンブリー部品に組み付ける際の、当該部品の目標となる位置である。
このロボット装置は、あらかじめゴール位置に部品を配置した状態、言い換えると、ターゲットをゴール位置にゴールさせた状態での、当該部品または当該部品における位置合わせ対象部位の撮像画像(ゴール画像)と、搬送中である部品の撮像画像(ターゲット画像)とのテンプレートマッチング処理を行ってフィードバック制御を行うことにより、ビジュアルフィードバック制御を実現する。
【0013】
このテンプレートマッチング処理は、ゴール画像のターゲット部分とターゲット画像とを比較して一致度評価値を算出し、一致度評価値に基づいてターゲット画像からターゲットを検出する処理である。一致度評価値は、例えば、ゴール画像とターゲット画像との輝度差の絶対値の総和や輝度差の2乗和等である。
【0014】
本実施形態において、ターゲットは、撮像系の一画素で表現される大きさよりも小さいもの、すなわち、一画素に相当する大きさ未満のものとし、例えば、精密部品である平歯車の微細な軸穴とする。そして、本実施形態であるロボット装置は、ターゲットを、ピクセル精度(ピクセルレベル)でゴール位置に位置合わせさせた状態で、且つサブピクセル精度(サブピクセルレベル)で微小移動させたときに画素値が大きく変化することとなる位置(詳しくは後述するが、これを感度が高い位置という。)に配置した状態でのゴール画像を生成して保有する。そして、ロボット装置は、その保有するゴール画像を用いてピクセルレベルおよびサブピクセルレベルでのターゲットのトラッキングを行うものである。
【0015】
図1は、第1実施形態であるロボット装置の機能構成を表すブロック図である。図1に示すように、ロボット装置1は、多関節ロボット(搬送ロボット)10と、撮像装置(撮像部)20と、位置検出装置30と、ロボット制御装置(搬送ロボット制御部、位置変更ロボット制御部)50と、直交ロボット(位置変更ロボット)60とを備える。
ロボット装置1は、サブピクセルレベルでのターゲットの位置合わせを高精度に行うために、上記のとおり、ターゲットを感度が高い位置に配置した状態でのゴール画像を生成して保有する。ロボット装置1は、ターゲットを感度が高い位置に配置するために、直交ロボット60によりターゲットの位置を移動させることができる。
【0016】
また、ロボット装置1においては、多関節ロボット10に把持させた部品を撮像装置20が撮像し、位置検出装置30がその撮像画像を解析してターゲットの位置を検出し、ロボット制御装置50が位置検出装置30によって検出されたターゲットの位置に基づいてターゲットをゴール位置まで移動させるよう多関節ロボット10を制御し、多関節ロボット10がロボット制御装置50による制御にしたがってターゲットに対応する部品を搬送しアセンブリー部品を組立てる。
【0017】
ロボット装置1の各構成について説明する。
図2は、工場の組立製造ラインに設置されたロボット装置1における多関節ロボット10がアセンブリー部品の組立作業を行っている様子を模式的に表した図である。図2に示す組立製造ラインには、ロボット装置1における、多関節ロボット10と、撮像装置20と、組立中であるアセンブリー部品が可動に設けられた直交ロボット60とが設置されている。
なお、図2では、位置検出装置30およびロボット制御装置50の図示を省略している。また、図2における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる(後述する図3および図4についても同様である)。
【0018】
多関節ロボット10は、地面に固定された支持台10aと、旋回可能および屈伸可能に支持台10aに連結されたアーム部10bと、回動可能および首振り可能にアーム部10bに連結されたハンド部10cと、ハンド部10cに取り付けられた把持部10dとを含んで構成される。多関節ロボット10は、例えば6軸の垂直多関節ロボットであり、支持台10aとアーム部10bとハンド部10cとの連係した動作によって6軸の自由度を有し、把持部10dが把持する部品の位置および向きを自在に変更することができる。多関節ロボット10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。
なお、多関節ロボット10の自由度は6軸によるものに限られない。また、支持台10aは、床、壁、天井等、地面に対して固定された場所に設置してもよい。
【0019】
多関節ロボット10の把持部10dは、部品220を把持する。部品220は、例えば精密部品であり、微細な軸穴が設けられた平歯車である。本実施形態では、上述したとおり、部品220の具体例を示す場合には、微細な軸穴を有する平歯車を示し、また、ターゲットの具体例を示す場合には、当該平歯車の微細な軸穴を例として示し説明する。
【0020】
直交ロボット60は、平面内で直交するX軸およびY軸それぞれの方向に移動可能な二つの軸モジュールを個別にまたは連係させて動かすことによって、アセンブリー部品をその平面内で移動させる。直交ロボット60は、ロボット制御装置50による制御によって、X軸およびY軸それぞれの方向に軸モジュールを動かす。
【0021】
アセンブリー部品は、基台200に極細の軸径を有する軸210が設けられたものである。基台200は、直交ロボット60に設けられた状態で水平面に対して平行となる面を有している。軸210は、その軸方向が基台200の前記の面に対して垂直となるように当該面に設けられている。
図2に示す組立製造ラインにおいて、多関節ロボット10は、アセンブリー部品の軸210が部品220(平歯車)の軸穴に貫通するように、部品220をアセンブリー部品に取り付ける作業を行う。
【0022】
撮像装置20は、例えば、静止画像、または30フレーム/秒(fps;frame per second)等のフレームレートの動画像を撮像可能なカメラ装置である。撮像装置20は、アセンブリー部品の上方において、撮影方向が垂直下方であり、図示しないレンズ光学系の光軸が軸210の中心軸に略一致する位置に固定設置される。なお、図2では、撮像装置20を固定する構造物等の図示を省略している。
撮像装置20は、位置検出装置30から供給される撮像要求コマンドにしたがってアセンブリー部品と部品220とを被写体として撮像し、この撮像により得られた画像データを位置検出装置30に供給する。
【0023】
位置検出装置30は、ゴール画像生成機能とターゲット検出機能とを備える。
ゴール画像生成機能は、位置検出装置30が、撮像装置20とロボット制御装置50と直交ロボット60との連係した動作により、感度が高い位置にターゲットを配置した状態でのゴール画像を生成して記憶する機能である。
ターゲット検出機能は、位置検出装置30が、撮像装置20とロボット制御装置50と多関節ロボット10との連係した動作により、ゴール画像とターゲット画像とのテンプレートマッチング処理を行うことによってターゲットのピクセルレベルでの位置検出を行い、また、感度の分布に基づいてターゲットのサブピクセルレベルでの位置検出を行う機能である。位置検出装置30は、粗調整モードに設定されて動作したときにピクセルレベルでの位置検出を行い、微細調整モードに設定されて動作したときにサブピクセルレベルでの位置検出を行う。
位置検出装置30は、粗調整モードに設定されて動作した後に、微細調整モードに設定されて動作する。
【0024】
粗調整モードは、位置検出装置30がターゲット(平歯車の軸穴の領域)を検出し、ゴール位置、すなわち軸210の軸中心の位置にターゲットの基準位置(平歯車の軸穴の中心位置)を移動させるよう制御する処理のモードである。
微細調整モードは、ターゲットの位置がゴール位置にピクセルレベルで一致した状態において、位置検出装置30が、ターゲットを所定方向に微小距離(一画素未満に相当する距離)だけ動かす制御をしながらターゲット画像とゴール画像との一致度評価値を計算し、最も一致度評価が高い値に対応する位置にターゲットを移動させるよう制御する処理のモードである。
【0025】
ロボット制御装置50は、ゴール画像生成機能を実現するためのゴール画像生成処理を実行する位置検出装置30から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット60の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。また、ロボット制御装置50は、直交ロボット60を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを直交ロボット60から取得して位置検出装置30に供給する。
【0026】
また、ロボット制御装置50は、ターゲット検出機能を実現するためのターゲット検出処理を実行する位置検出装置30から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。また、ロボット制御装置50は、多関節ロボット10を制御した後に、制御が成功したか否かを示す情報等を含めた多関節ロボット制御ステータスを多関節ロボット10から取得して位置検出装置30に供給する。
【0027】
図3は、多関節ロボット10に取り付けられた把持部10dの先端部分と、把持部10dが把持する部品220(平歯車)とを、平歯車の軸穴を貫く軸方向であって撮像装置20側から見た模式的な図である。図3に示すように、把持部10dは、具備する対の爪部10d1,10d2で部品220を挟んで把持する。部品220が平歯車である場合は、把持部10dは、爪部10d1,10d2で平歯車の歯を挟んで把持する。図3において、軸穴221がターゲットである。
【0028】
図4は、部品220が基台200の軸210に取り付けられる様子を模式的に表した図である。なお、図4において、部品220は把持部10dによって把持されているが、把持部10dの図示を省略している。図4に示すように、部品220は、軸穴221の中心軸が軸210の軸上に一致し且つ軸210の上方の位置に把持部10dによって搬送され、次に垂直下方である矢印A方向に搬送されることにより、軸210を軸穴221に貫通させて基台200に取り付けられる。
【0029】
次に、画像の感度について説明する。画像の感度とは、撮像面内におけるターゲットの位置の微小変位に対する、当該ターゲットに対応する画素の画素値の変化の度合いである。ここでの微小変位量は、撮像面における一画素未満に相当する距離である。
【0030】
画像の感度について、具体例を挙げて詳しく説明する。
図5は、ターゲットのサイズが撮像系の一画素に相当するサイズ未満である場合についての、画像の感度を説明するための図である。図5(a),(b)それぞれは、ターゲット6とターゲット6の画像が含まれる画素5LU,5RU,5LB,5RBとを重ね合わせて模式的に表したものである。図5(a)の左側に示すように、ターゲット6が画素5LU,5RU,5LB,5RB全てに部分的に跨って位置する場合、画素5LU,5RU,5LB,5RBはターゲット6の画像成分を含む。画像成分は、例えば輝度値である。この状態から、図5(a)の右側に示すように、ターゲット6を一画素未満に相当する変位量で変位させてターゲット6が画素5RUに含まれるようにすると、画素5LU,5RU,5LB,5RBの画像成分は変化し、画素5LU,5LB,5RBにはターゲット6の画像成分が含まれず、画素5RUにのみターゲット6の画像成分が含まれるようになる。このように、ターゲット6の微小変位に対して、ターゲット6に対応する画像を構成する画素の画素値が大きく変化する場合、ターゲット6の微小変位前の画像は感度の高い画像であり、その微小変位前の位置は感度の高い位置であるという。
【0031】
また、図5(b)の左側に示すように、ターゲット6が画素5LU,5RU,5LB,5RBのうち画素5RUのみに含まれる場合、画素5RUのみがターゲット6の画像成分を含む。この状態から、図5(b)の右側に示すように、ターゲット6を1画素未満に相当する変位量で変位させてターゲット6が画素5RUから外に出ないようにすると、画素5LU,5RU,5LB,5RB全ての画像成分は変化しない。このように、ターゲット6の微小変位に対して、ターゲット6に対応する画像を構成する画素の画素値が変化しない場合や画素値が微小に変化する場合、ターゲット6の微小変位前の画像は感度の低い画像であり、その微小変位前の位置は感度の低い位置であるという。
【0032】
位置検出装置30は、ターゲットのゴール位置が感度の高い位置となる状態でのゴール画像を生成して記憶しておく。そして、位置検出装置30は、対象物を一画素に相当する距離未満の変位量で動かす制御をしながらターゲット画像とゴール画像との一致度評価値を計算し、例えば一致度評価が最も高いポイントを検出する。そして、位置検出装置30は、そのポイントに対応する位置にターゲットを移動させるようロボット制御装置50を制御することにより、サブピクセルレベルでターゲットをゴールさせることができる。
【0033】
サブピクセルレベルでの位置合わせについて、図6および図7を併せ参照し、さらに具体的に説明する。
図6は、ターゲットをサブピクセルレベルで微小移動させた場合の、ターゲットの位置とゴール位置との一致度評価を説明するための図である。なお、図6は、説明の便宜上、画素配列を一次元で表したものである。図6において、P,P,およびPは、X軸方向に連続する画素を表す。C(0),C(+0.1),C(+0.2),・・・,C(+0.9),およびC(+1.0)のそれぞれは、ターゲットC(0.4画素に相当する大きさである。)をX軸方向に、C(0)の位置(ターゲットCの中央の位置が画素P,Pの境界位置に一致する。)から0.1画素ずつX軸の正方向に移動させたときの位置を表す。Gs,Giは、ともにターゲットCのゴール位置を表す。ゴール位置Gsは、画素Pと画素Pとに跨る位置(画素Pの0.1画素分と画素Pの0.3画素分とを占める範囲の位置)である。また、ゴール位置Giは、画素Pの先頭から0.4画素分ずれたところからの位置、つまり、画素Pに含まれる位置である。
図6において、ゴール位置Gsに一致するターゲットCの位置は位置C(+0.1)であり、ゴール位置Giに一致するターゲットCの位置は位置C(+0.6)である。
【0034】
図7は、図6におけるターゲットの位置に対応させた、ターゲット画像とゴール画像との一致度評価値のグラフである。図7(a)は、ターゲットCの各位置におけるターゲット画像とゴール位置Gsにおけるゴール画像との輝度差の2乗和(SSD;Sum of Squared Difference)を表したグラフであり、図7(b)は、ターゲットCの各位置におけるターゲット画像とゴール位置Giにおけるゴール画像との輝度差の2乗和を表したグラフである。
【0035】
図7(a)のグラフでは、唯一、ターゲットCが位置C(+0.1)にあるときのターゲット画像とゴール位置Gsにおけるゴール画像との輝度差の2乗和が0(ゼロ)である。つまり、ターゲットCがゴール位置Gsに一致する位置C(+0.1)を除いて、輝度差の2乗和が正値となる。一致度評価は、輝度差の2乗和が0(ゼロ)となる場合に、最高評価ポイントとなる。
一方、図7(b)のグラフでは、ターゲットCが画素Pに相当する範囲内にある位置C(+0.2)から位置C(+0.8)までにおいて、ターゲット画像とゴール位置Giにおけるゴール画像との輝度差の2乗和が0(ゼロ)となる。つまり、ターゲットCの全範囲が画素Pに相当する範囲の部分である場合、ターゲットCがゴール位置Giに一致する位置を特定することができない。
よって、隣り合う画素を跨ぐ位置にターゲットがある場合に、ターゲット画像とゴール画像との位置合わせを、サブピクセルレベルで正確に行うことができる。
【0036】
次に、位置検出装置30の構成について説明する。
図8は、位置検出装置30の機能構成を表すブロック図である。図8に示すように、位置検出装置30は、画像データ取得部31と、感度マップ生成部32と、ゴール位置調整部33と、ゴール位置決定部34と、ゴール画像記憶部36と、ターゲット検出部37と、ターゲット位置調整部38とを備える。
【0037】
位置検出装置30によるゴール画像生成処理の実行において、画像データ取得部31は、撮像装置20から供給される静止画像の画像データを取り込み、この画像データを感度マップ生成部32およびゴール画像記憶部36に供給する。また、位置検出装置30によるターゲット検出処理の実行において、画像データ取得部31は、撮像装置20から供給される動画像の画像データをフレーム単位で取り込み、この画像データをターゲット検出部37に供給する。
【0038】
感度マップ生成部32は、ゴール画像生成処理の実行において画像データ取得部31から順次供給される画像データを取り込み、これらの画像データに基づいて感度マップを生成する。感度マップは、ピクセルレベルで一致したゴール位置に配置されたターゲットを、そのゴール位置から所定方向、例えば画像の水平左方向、水平右方向、垂直上方向、および垂直下方向それぞれに、段階的に(例えば、0.1画素に相当する距離を微小変位量として)変位させたときの当該ターゲットの画像の感度を、画像上の位置に対応させて表したものである。すなわち、感度マップは、ターゲット画像の感度の分布を表す。
感度マップ生成部32は、所定方向に微小変位させたターゲットの画像を画像データ取得部31から取得するために、ターゲットの移動方向と移動量との情報をゴール位置調整部33に供給する。
【0039】
ここで、感度マップについて、具体例を挙げて説明する。
図9は、感度マップ生成部32が生成する感度マップの例である。図9の感度マップは、図5(a),(b)に示した、一画素に相当するサイズ未満の大きさであるターゲットを、図5(a),(b)に示すようにX軸正方向、X軸負方向、Y軸正方向、およびY軸負方向それぞれに微小移動させて計算した感度の値(感度値)の平均値を集計することにより得られたものである。
図9の感度マップにおいて、感度領域Sに対応する画像領域は、図5(a)の左図におけるターゲット6に相当する位置、つまり感度が高い位置を含む。また、図9の感度マップにおいて、感度領域Sに対応する領域は、図5(b)の左図におけるターゲット6に相当する位置、つまり感度が低い位置を含む。
【0040】
図8の説明に戻り、ゴール位置調整部33は、感度マップ生成部32から供給される、ターゲットの移動方向と移動量との情報を取り込む。そして、ゴール位置調整部33は、ターゲットの移動方向と移動量との情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置50に供給する。
また、ゴール位置調整部33は、ゴール位置決定部34から供給されるゴール位置の位置情報を取り込み、この位置情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置50に供給する。
また、ゴール位置調整部33は、ロボット制御装置50から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
【0041】
ゴール位置決定部34は、感度マップ生成部32が生成した感度マップに基づいてゴール位置を選定する。例えば、ゴール位置決定部34は、感度マップにおいて最も感度値が大きい位置を検出したり、あらかじめ決定しておいた感度閾値を超える感度値の領域を複数抽出し、それらの領域のうち最も内側にある領域の中心位置を検出したりすることによって、検出した位置をゴール位置として選定する。そして、ゴール位置決定部34は、そのゴール位置の位置情報をゴール位置調整部33に供給する。例えば、図9の感度マップにおいては、ゴール位置決定部34は、感度領域Sに対応する領域の中心位置をゴール位置として決定し、その位置情報をゴール位置調整部33に供給する。
また、ゴール位置決定部34は、ゴール位置の位置情報をゴール位置調整部33に供給した後、ゴール画像データを記憶させるためのゴール画像記憶制御信号を生成してゴール画像記憶部36に供給する。
【0042】
ゴール画像記憶部36は、ターゲットの位置がゴール位置にピクセルレベルで一致した状態の画像であるゴール画像データをあらかじめ記憶する。例えば、ゴール画像記憶部36は、平歯車の軸穴221の中心が軸210の軸中心に一致する位置に当該平歯車の軸穴221が設けられた状態のゴール画像データをあらかじめ記憶する。
位置検出装置30によるゴール画像生成処理の実行において、ゴール画像記憶部36は、ゴール位置決定部34から供給されるゴール画像記憶制御信号を取り込むと、画像データ取得部31から供給される画像データを取り込んで記憶する。このときの画像データは、感度が高い位置にターゲットが配置された状態におけるゴール画像のデータである。
【0043】
ターゲット検出部37は、粗調整モードにおいて、画像データ取得部31から供給される画像データ(ターゲット画像データ)を取り込み、また、ゴール画像記憶部36からゴール画像データを読み込む。そして、ターゲット検出部37は、ゴール画像とターゲット画像とのテンプレートマッチング処理を実行し、ターゲット画像からターゲットを検出してこの検出したターゲットの基準位置の座標値(xp,yp)を取得する。例えば、ターゲット検出部37は、ターゲット画像上で、ゴール画像におけるターゲットを含む部分画像を1画素ずつずらしながらパターンが一致する場所を探索する。そして、ターゲット検出部37は、パターンが一致する場所を検出した場合に、その場所におけるターゲットの基準位置の座標値(xp,yp)を取得する。具体的には、ターゲットが部品220の軸穴221である場合、ターゲット検出部37は、軸穴221の中心位置を基準位置(xp,yp)としてこの基準位置の座標値(xp,yp)とゴール画像におけるターゲットの基準位置の座標値(xo,yo)とを、ターゲット位置調整部38に供給する。
【0044】
また、ターゲット検出部37は、微細調整モードにおいて、ゴール画像記憶部36からゴール画像データを読み込み、また、画像データ取得部31から順次供給される画像データ(ターゲット画像データ)を取り込む。そして、ターゲット検出部37は、取り込んだ画像データごとにこの画像(ターゲット画像)とゴール画像との一致度評価値を計算する。そして、ターゲット検出部37は、一致度評価値が閾値以下である場合は、ターゲットがサブピクセルレベルで一致していないと判定して探索継続信号をターゲット位置調整部38に供給し、例えば、公知のサブピクセル推定方法であるLucas−Kanade法を適用してゴール画像の前後一画素の画素値に基づいて濃度勾配を計算し、ターゲットの位置ずれの方向とずれ量とを求める。また、ターゲット検出部37は、一致度評価値が閾値を超える場合は、ターゲットがサブピクセルレベルの精度で一致したと判定して探索終了信号をターゲット位置調整部38に供給する。
【0045】
ターゲット位置調整部38は、粗調整モードにおいてターゲット検出部37から供給される、画像データにおけるターゲットの基準位置の座標値(xp,yp)とゴール画像データにおけるターゲットの基準位置の座標値(xo,yo)とを取り込む。そして、ターゲット位置調整部38は、ゴール画像データにおけるターゲットの基準位置の座標値(xo,yo)と画像データにおけるターゲットの基準位置の座標値(xp,yp)との差分値(xo−xp,yo−yp)が(0,0)となる方向にターゲットを移動させる指示を含む内容の多関節ロボット制御コマンドを生成してロボット制御装置50に供給する。
【0046】
また、ターゲット位置調整部38は、微細調整モードにおいてターゲット検出部37から供給される探索継続信号、ならびにターゲットの位置ずれの方向およびずれ量、または探索終了信号を取り込む。ターゲット位置調整部38は、探索継続信号を取り込んだ場合は、ターゲットの位置ずれの方向およびずれ量に基づいてターゲットを微小移動させる指示を含む内容の多関節ロボット制御コマンドを生成しロボット制御装置50に供給する。また、ターゲット位置調整部38は、探索終了信号を取り込んだ場合は、ロボット制御装置50の制御を終了する。
また、ターゲット位置調整部38は、ロボット制御装置50から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
【0047】
次に、本実施形態であるロボット装置1の動作を、ゴール画像生成処理とターゲット検出処理とに分けて説明する。
【0048】
まず、ロボット装置1によるゴール画像生成処理の動作について説明する。ロボット装置1のゴール画像生成処理は、図2に示した組立製造ラインにおいて、基台200上の軸210に部品220が取り付けられた状態のアセンブリー部品が直交ロボット60に設けられた状態で実行される。
図10は、ロボット装置1によるゴール画像生成処理の処理手順を表すフローチャートである。図10のフローチャートによる処理が開始される前段階の処理として、位置検出装置30は、撮像装置20にターゲットである部品220の軸穴221を撮像させて、この撮像によって得られる画像データ(基準画像データ)を取得して感度マップ生成部32に保有させておく。
【0049】
まず、ステップS1において、感度マップ生成部32は、ターゲットの移動方向と移動量との情報をゴール位置調整部33に供給する。ターゲットの移動方向は、例えば、画像の水平左方向、水平右方向、垂直上方向、または垂直下方向であり、移動量は、例えば、0.1画素に相当する距離である。感度マップ生成部32は、例えば、各移動方向について、段階的にターゲットを微小変位させるよう制御する。
【0050】
次に、ゴール位置調整部33は、感度マップ生成部32から供給される、ターゲットの移動方向と移動量との情報を取り込む。次に、ゴール位置調整部33は、ターゲットの移動方向と移動量との情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置50に供給する。
【0051】
次に、ロボット制御装置50は、位置検出装置30から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット60の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。これにより、直交ロボット60は、ロボット制御装置50による制御によって、二つの軸モジュールを個別にまたは連係させて動かす。
次に、ロボット制御装置50は、直交ロボット60を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを位置検出装置30に供給する。
次に、ゴール位置調整部33は、ロボット制御装置50から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
【0052】
次に、ステップS2において、撮像装置20は、ゴール位置調整部33から供給される撮像要求コマンドを取り込むとターゲットを撮像し、撮像によって得られる画像データを位置検出装置30に供給する。位置検出装置30では、画像データ取得部31が、撮像装置20から供給される画像データを取得し、この画像データを感度マップ生成部32に供給する。
【0053】
次に、ステップS3において、感度マップ生成部32は、前記の前処理において保有した基準画像データと、上記のステップS2の処理によって供給された画像データとに基づいて感度を計算し、この計算結果を保有する。具体的には、感度マップ生成部32は、基準画像データと画像データとの輝度差をターゲットの移動距離で除算した値を感度値として得て保有する。
【0054】
感度マップ生成部32が、移動方向ごとの全ての段階的な位置における感度値の計算を完了した場合(ステップS4:YES)はステップS5の処理に移り、それ以外の場合(ステップS4:NO)はステップS1の処理に戻る。
【0055】
ステップS5において、感度マップ生成部32は、保有した感度値を画像上の位置に対応させた感度マップを生成する。
次に、ステップS6において、ゴール位置決定部34は、感度マップ生成部32が生成した感度マップに基づいてゴール位置を選定し、このゴール位置の位置情報をゴール位置調整部33に供給する。
【0056】
次に、ステップS7において、ゴール位置調整部33は、ゴール位置決定部34から供給されるゴール位置の位置情報を取り込み、この位置情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置50に供給する。
次に、ロボット制御装置50は、位置検出装置30から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット60の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。これにより、直交ロボット60は、ロボット制御装置50による制御によって、二つの軸モジュールを個別にまたは連係させて動かす。
【0057】
次に、ロボット制御装置50は、直交ロボット60を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを位置検出装置30に供給する。
次に、ゴール位置調整部33は、ロボット制御装置50から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
【0058】
次に、ステップS8において、撮像装置20は、ゴール位置調整部33から供給される撮像要求コマンドを取り込むとターゲットを撮像し、撮像によって得られる画像データを位置検出装置30に供給する。位置検出装置30では、画像データ取得部31が、撮像装置20から供給される画像データを取得し、この画像データをゴール画像記憶部36に供給する。
【0059】
次に、ステップS9において、ゴール位置決定部34は、ゴール画像データを記憶させるためのゴール画像記憶制御信号を生成してゴール画像記憶部36に供給する。
次に、ゴール画像記憶部36は、画像データ取得部31から供給される画像データをゴール画像記憶制御信号に基づいて記憶する。
【0060】
次に、ロボット装置1によるターゲット検出処理の動作について説明する。ロボット装置1のターゲット検出処理は、ゴール画像生成処理が実行された後、図2に示した組立製造ラインにおいて、基台200上の軸210に部品220が組み付けられていないアセンブリー部品が直交ロボット60に設けられた状態で実行される。
図11は、ロボット装置1によるターゲット検出処理の処理手順を表すフローチャートである。位置検出装置30が粗調整モードに設定された後、図11のフローチャートの処理が開始される。
【0061】
まず、ステップS21において、撮像装置20はターゲットと組立対象であるアセンブリー部品とを撮像し、撮像によって得られる画像データを位置検出装置30に供給する。位置検出装置30では、画像データ取得部31が、撮像装置20から供給される画像データを取得し、この画像データをターゲット検出部37に供給する。
【0062】
次に、ステップS22において、ターゲット検出部37は、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像からターゲットを検出する。
【0063】
このステップS22の処理について詳細に説明する。
まず、ターゲット検出部37は、画像データ取得部31から供給される画像データを取り込み、ゴール画像記憶部36からゴール画像データを読み込む。
次に、ターゲット検出部37は、ゴール画像データを用いてテンプレートマッチング法によるターゲットの探索処理を画像データの画像領域内で実行してターゲットを検出し、このターゲットの基準位置の座標値(xp,yp)を取得する。
次に、ターゲット検出部37は、その画像データにおける基準位置の座標値(xp,yp)とゴール画像データにおけるターゲットの基準位置の座標値(xo,yo)とを、ターゲット位置調整部38に供給する。
【0064】
次に、ステップS23において、ターゲット位置調整部38は、ターゲット検出部37から供給される、画像データにおけるターゲットの基準位置の座標値(xp,yp)とゴール画像データにおけるターゲットの基準位置の座標値(xo,yo)とを取り込む。
次に、ターゲット位置調整部38は、ゴール画像データにおけるターゲットの基準位置の座標値(xo,yo)と画像データにおけるターゲットの基準位置の座標値(xp,yp)との差分値(xo−xp,yo−yp)を計算する。
次に、ターゲット位置調整部38は、差分値(xo−xp,yo−yp)が(0,0)でない場合は、ターゲットがゴールしていないと判定してステップS24の処理に移り、差分値(xo−xp,yo−yp)が(0,0)である場合は、ターゲットがピクセルレベルの位置精度でゴールしたと判定して微細調整モードに切り替えてステップS25の処理に移る。
【0065】
ステップS24において、ターゲット位置調整部38は、差分値(xo−xp,yo−yp)が(0,0)となる方向にターゲットを移動させる指示を含む内容の多関節ロボット制御コマンドを生成してロボット制御装置50に供給する。
次に、ロボット制御装置50は、位置検出装置30から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。そして、多関節ロボット10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。
次に、ロボット制御装置50は、多関節ロボット10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30に供給する。
次に、ターゲット位置調整部38は、ロボット制御装置50から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
次に、ステップS21の処理に戻る。
【0066】
一方、ステップS25において、ターゲット検出部37は、画像データ取得部31から供給される画像データ(ターゲット画像データ)を取り込む。
次に、ターゲット検出部37は、取り込んだターゲット画像とゴール画像との一致度評価値、例えば、ターゲット画像とゴール画像との輝度差の2乗和を計算する。
【0067】
次に、ステップS26において、ターゲット検出部37は、一致度評価が閾値以下である場合は、ターゲットがサブピクセルレベルで一致していないと判定し、探索継続信号をターゲット位置調整部38に供給してステップS27の処理に移る。一方、ターゲット検出部37は、一致度評価が閾値を超える場合は、ターゲットがサブピクセルレベルで一致したと判定し、探索終了信号をターゲット位置調整部38に供給する。次に、ターゲット位置調整部38は、探索終了信号を取り込むと、ロボット制御装置50の制御を終了して本フローチャートの処理を終了させる。
【0068】
ステップS27において、ターゲット検出部37は、ゴール画像記憶部36からゴール画像データを読み込み、例えば、Lucas−Kanade法を適用し、ゴール画像の前後一画素の画素値に基づいて濃度勾配を計算し、ターゲットの位置ずれの方向とずれ量とを求めてターゲット位置調整部38に供給する。
次に、ターゲット位置調整部38は、ターゲットの位置ずれの方向とずれ量とに基づいて、ターゲットを微小移動させる指示を含む内容の多関節ロボット制御コマンドを生成しロボット制御装置50に供給する。
次に、ロボット制御装置50は、位置検出装置30から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。そして、多関節ロボット10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。
次に、ロボット制御装置50は、多関節ロボット10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30に供給する。
次に、ターゲット位置調整部38は、ロボット制御装置50から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。
【0069】
次に、ステップS28において、撮像装置20は、ターゲット位置調整部38から供給される撮像要求コマンドを取り込むとアセンブリー部品を撮像し、撮像によって得られる画像データ、すなわちターゲット画像データを位置検出装置30に供給する。位置検出装置30では、画像データ取得部31が、撮像装置20から供給される画像データを取得し、この画像データをターゲット検出部37に供給する。
次に、ステップS25の処理に戻る。
【0070】
本発明の第1実施形態によれば、ロボット装置1の位置検出装置30は、ターゲットのゴール位置が感度の高い位置となる状態でのゴール画像データを生成し記憶しておく。そして、位置検出装置30は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算し、一致度評価が最も高いポイントを検出する。そして、位置検出装置30は、そのポイントに対応する位置にターゲットを移動させるようロボット制御装置50を制御することにより、正確なサブピクセル精度でターゲットをゴール位置にゴールさせることができる。
位置検出装置30は、感度マップを生成するため、ターゲット画像の感度の分布に応じて感度の高い適切なゴール位置を決定することができる。
【0071】
[第2の実施の形態]
上述した第1実施形態では、ターゲットのサイズが撮像系の一画素に相当する大きさ未満である場合、具体的には、ターゲットが平歯車の微細な軸穴であり、撮像面における軸穴の大きさが一画素に相当する大きさ未満である場合を例に挙げて説明した。
本発明の第2実施形態では、ターゲットのサイズが撮像系の一画素に相当する大きさ以上である場合、具体的には、ターゲットが一つの平歯車全体であり、撮像面における平歯車全体の大きさが一画素に相当する大きさ以上である場合を例に挙げて説明する。
【0072】
本実施形態であるロボット装置は、感度に応じて画素に重み係数による重み付けを行い、その重み係数と感度マップとを関連付けて保有する。そして、ロボット装置は、重み係数が関連付けられた感度マップから、位置合わせに用いる複数の画素を重みに基づいて選定し、これら選定した複数の画素を用いてサブピクセルレベルでの位置合わせを行うものである。
【0073】
なお、本実施形態であるロボット装置の構成図は、第1実施形態であるロボット装置1の構成図と同様である。また、本実施形態であるロボット装置の処理のフローチャートは、第1実施形態であるロボット装置1の処理のフローチャートと同様である。よって、本実施形態では、ロボット装置の構成図およびフローチャートの図示を省略し、また、第1実施形態と相違する点についてのみ説明する。
【0074】
図12は、ターゲットのサイズが撮像系の一画素に相当するサイズ以上である場合についての、画像の感度を説明するための図である。図12は、ターゲット12とターゲット12の画像が含まれる画素P00,P10,P20,・・・,P01,P11,P21,・・・とを重ね合わせて模式的に表したものである。ターゲット12は、軸穴を貫く向きに見た平歯車である。
図12において網掛けが施された画素(例えば、画素P22,P31,P44等)は、ターゲット12をX軸正方向、X軸負方向、Y軸正方向、およびY軸負方向いずれかの方向に一画素未満に相当する変位量で変位させたときに画素値が変わる画素である。これらの画素は、感度値が正値となる。一方、図12において網掛けが施されていない画素(例えば、画素P00,P10,P43等)は、ターゲット12をX軸正方向、X軸負方向、Y軸正方向、およびY軸負方向いずれの方向に一画素未満に相当する変位量で変位させても画素値が変わらない画素である。これらの画素は、感度値が0(ゼロ)となる。
【0075】
本実施形態において、位置検出装置30の感度マップ生成部32は、感度マップを生成する際に、画素の感度値に応じた重み付けを行う。具体的には、感度マップ生成部32は、例えば、感度値が正値となる位置に対応する画素(例えば、図12における網掛けが施された画素)に重み係数“1”を対応付け、感度値が0(ゼロ)となる位置に対応する画素(例えば、図12における網掛けが施されていない画素)に重み係数“0”を対応付ける。
【0076】
ゴール位置決定部34は、感度マップ生成部32が生成した感度マップに基づいて複数のゴール位置候補を選定する。例えば、ゴール位置決定部34は、あらかじめ決定しておいた感度閾値を超える感度値の領域を感度マップから複数抽出し、これら抽出した複数の領域をゴール位置候補として選定する。そして、ゴール位置決定部34は、これらゴール位置候補の位置情報をゴール位置調整部33に供給する。
【0077】
また、ゴール位置調整部33は、ゴール位置決定部34から供給されるゴール位置候補の位置情報を取り込み、これらの位置情報に基づいてターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置50に供給する。
【0078】
また、ターゲット検出部37は、画像データ取得部31から取り込んだ画像データとゴール画像記憶部36から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部37は、重み係数が“1”である画素のみを用いて一致度評価値の計算処理を実行する。これにより、ターゲットが動いたときに変化しない画像の重み係数を“0”とすることができるため、ノイズや背景画像による影響を抑えることができる。
【0079】
以上、説明したように、本発明の第2実施形態によれば、感度に応じた重み係数を適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセルレベルでの位置合わせを行うことができる。
【0080】
[第2の実施の形態における第1の変形例]
本発明の第2実施形態の第1変形例において、位置検出装置30の感度マップ生成部32は、感度値が大きくなるにしたがって大きな値となる重み係数を画素に対応付ける。例えば、感度マップ生成部32は、画素に対応する領域に含まれる各位置における感度値の平均値に応じた重み係数を、0から1までの範囲の中から対応付ける。
【0081】
ターゲット検出部37は、画像データ取得部31から取り込んだ画像データとゴール画像記憶部36から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部37は、重み係数が所定の閾値を超える値である画素のみを用いて一致度評価値の計算処理を実行する。
【0082】
このように、感度に応じた重みを適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセル精度の位置合わせを行うことができる。
【0083】
[第2の実施の形態における第2の変形例]
本発明の第2実施形態の第2変形例において、位置検出装置30の感度マップ生成部32は、ターゲットの変位の方向ごとに感度マップを生成する。そして、感度マップ生成部32は、ターゲットの変位の方向ごとに、感度値が大きくなるにしたがって大きな値となる重み係数を画素に対応付ける。例えば、感度マップ生成部32は、ターゲットの変位の方向ごとに、画素に対応する領域に含まれる各位置における感度値の平均値に応じた重み係数を、0から1までの範囲の中から対応付ける。つまり、X軸正方向、X軸負方向、Y軸正方向、およびY軸負方向それぞれに感度マップが生成された場合、感度マップ生成部32は、各画素に4種類の重み係数を対応付ける。
【0084】
ターゲット検出部37は、画像データ取得部31から取り込んだ画像データとゴール画像記憶部36から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、ターゲットの変位の方向ごとに、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部37は、ターゲットの変位の方向ごとに、重み係数が所定の閾値を超える値である画素のみを用いて一致度評価値の計算処理を実行する。
【0085】
このように、ターゲットの変位の方向ごとに感度に応じた重みを適用することによって、ターゲットの形状と移動方向とによる位置合わせ精度のばらつきを抑えることができ、より信頼性が高いサブピクセル精度の位置合わせを行うことができる。
【0086】
なお、第1実施形態および第2実施形態、ならびに第2実施形態の変形例は、直交ロボット60によりアセンブリー部品を微小移動させる例であった。撮像装置20の撮像面に対してアセンブリー部品を移動させる手段としては、直交ロボット60以外に、多関節ロボットを用いてもよい。また、アセンブリー部品を固定しておき、撮像装置20を直交ロボットや多関節ロボットを用いて移動させるようにしてもよい。
【0087】
また、各実施形態における位置検出装置30,30aの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺装置のハードウェアを含むものである。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0088】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0089】
1 ロボット装置
10 多関節ロボット(搬送ロボット)
10a 支持台
10b アーム部
10c ハンド部
10d 把持部
10d1,10d2 爪部
20 撮像装置(撮像部)
30 位置検出装置
31 画像データ取得部
32 感度マップ生成部
33 ゴール位置調整部
34 ゴール位置決定部
36 ゴール画像記憶部
37 ターゲット検出部
38 ターゲット位置調整部
50 ロボット制御装置(搬送ロボット制御部、位置変更ロボット制御部)
60 直交ロボット(位置変更ロボット)

【特許請求の範囲】
【請求項1】
ターゲットをゴール位置まで搬送可能に保持する搬送ロボットと、
前記ゴール位置と前記ターゲットとを視野に含めて撮像し画像データを生成する撮像部と、
前記画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、
前記撮像部が生成する前記搬送ロボットにより保持されたターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、
前記ターゲット検出部が検出した位置ずれをなくす方向に、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御する搬送ロボット制御部と、
を備えることを特徴とするロボット装置。
【請求項2】
ピクセルレベルで前記ゴール位置に位置合わせされたターゲットと前記撮像部との前記画像データ上の相対位置を変更する位置変更ロボットと、
前記位置変更ロボットによって変位された前記ターゲットの画像を含む画像データに基づいて前記感度の分布を求め、前記分布を前記画像データ上の位置に対応させた感度マップを生成する感度マップ生成部と、
前記感度マップ生成部が生成した感度マップに基づいて前記画像データにおけるゴール位置を決定するゴール位置決定部と、
前記ゴール位置決定部が決定した前記ゴール位置に前記ターゲットを移動させるよう前記位置変更ロボットを制御する位置変更ロボット制御部と、
を備え、
前記ターゲット検出部は、前記位置ずれを検出した場合に、サブピクセル推定処理によって前記ターゲットの位置ずれの方向とずれ量とを計算し、
前記搬送ロボット制御部は、前記ターゲットの前記位置ずれの方向と前記ずれ量とに基づいて、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御する
ことを特徴とする請求項1記載のロボット装置。
【請求項3】
前記感度マップ生成部は、前記感度に応じて画素に重み係数による重み付けをし、前記重み係数と前記感度マップとを対応付け、
前記ターゲット検出部は、前記画素の重み係数に基づいて前記一致度評価値の計算処理に用いる画素を選択する
ことを特徴とする請求項2記載のロボット装置。
【請求項4】
前記重み係数は、前記感度が高くなるにしたがって大きな値となるものであり、
前記ターゲット検出部は、前記画素の重み係数が閾値を超える値である画素のみを用いて前記一致度評価値の計算処理に用いる画素を選択する
ことを特徴とする請求項3記載のロボット装置。
【請求項5】
前記ターゲット検出部は、前記画像データと前記ゴール画像データとの輝度差の絶対値の総和または前記輝度差の2乗和を計算して前記一致度評価値を得る
ことを特徴とする請求項1から4のうちいずれか一項記載のロボット装置。
【請求項6】
前記搬送ロボットは、可動のアーム部とこのアーム部に連結される可動のハンド部とを備え、前記ハンド部により前記ターゲットを保持させる
ことを特徴とする請求項1から5のうちいずれか一項記載のロボット装置。
【請求項7】
前記位置変更ロボットは、前記ターゲットまたは前記撮像部の一方が固定された状態で他方を可動に支持する
ことを特徴とする請求項2から6のうちいずれか一項記載のロボット装置。
【請求項8】
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、
前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、
を備えることを特徴とする位置検出装置。
【請求項9】
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部を備えるコンピューターに、
前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、
前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、
を実行させるための位置検出プログラム。
【請求項10】
ターゲット検出部が、
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、
前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、
を有することを特徴とする位置検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−166279(P2012−166279A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−27233(P2011−27233)
【出願日】平成23年2月10日(2011.2.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】