(57)【特許請求の範囲】
【請求項１】
撮像部により撮像し生成されたゴール位置とターゲットとを視野に含む画像データにおける前記ゴール位置にピクセルレベルで位置合わせされた前記ターゲットを一画素未満の距離であるサブピクセルレベルの変位量で変位させたときの輝度値の変化量により表される感度に応じた前記ターゲットを含むゴール画像データと、前記画像データとに基づいて前記ターゲットを前記ゴール位置に移動させる、
ことを特徴とするロボット。
【請求項２】
前記ゴール画像データを記憶するゴール画像記憶部と、
前記画像データと、前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出し、前記位置ずれを検出した場合に、サブピクセル推定処理によって前記ターゲットの位置ずれの方向とずれ量とを計算するターゲット検出部と、
前記ターゲットの前記位置ずれの方向と前記ずれ量とに基づいて、前記位置ずれをなくす方向に前記ターゲットを移動させるロボット制御部と、
ピクセルレベルで前記ゴール位置に位置合わせされた前記ターゲットと前記撮像部との前記画像データ上の相対位置を変更する位置変更ロボットと、
前記位置変更ロボットによって変位された前記ターゲットの画像を含む画像データに基づいて前記感度の分布を求め、前記分布を前記画像データ上の位置に対応させた感度マップを生成する感度マップ生成部と、
前記感度マップ生成部が生成した感度マップに基づいて前記画像データにおけるゴール位置を決定するゴール位置決定部と、
前記ゴール位置決定部が決定した前記ゴール位置に前記ターゲットを移動させるよう前記位置変更ロボットを制御する位置変更ロボット制御部と、
を備えることを特徴とする請求項１記載のロボット。
【請求項３】
前記感度マップ生成部は、前記感度に応じて画素に重み係数による重み付けをし、前記重み係数と前記感度マップとを対応付け、
前記ターゲット検出部は、前記画素の重み係数に基づいて前記一致度評価値の計算処理に用いる画素を選択する
ことを特徴とする請求項２記載のロボット。
【請求項４】
前記重み係数は、前記感度が高くなるにしたがって大きな値となるものであり、
前記ターゲット検出部は、前記画素の重み係数が閾値を超える値である画素のみを用いて前記一致度評価値の計算処理に用いる画素を選択する
ことを特徴とする請求項３記載のロボット。
【請求項５】
前記ターゲット検出部は、前記画像データと前記ゴール画像データとの輝度差の絶対値の総和または前記輝度差の２乗和を計算して前記一致度評価値を得る
ことを特徴とする請求項２から４のうちいずれか一項記載のロボット。
【請求項６】
可動のアーム部とこのアーム部に連結される可動のハンド部とを備え、前記ハンド部により前記ターゲットを移動させる
ことを特徴とする請求項２から５のうちいずれか一項記載のロボット。
【請求項７】
前記位置変更ロボットは、前記ターゲットまたは前記撮像部の一方が固定された状態で他方を可動に支持する
ことを特徴とする請求項２から６のうちいずれか一項記載のロボット。
【請求項８】
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットを一画素未満の距離であるサブピクセルレベルの変位量で変位させたときの輝度値の変化量により表される感度に応じた前記ターゲットを含むゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する、
ことを特徴とする位置検出装置。
【請求項９】
コンピューターに、
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットを一画素未満の距離であるサブピクセルレベルの変位量で変位させたときの輝度値の変化量により表される感度に応じた前記ターゲットを含むゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、
前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、
を実行させるための位置検出プログラム。
【請求項１０】
画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットを一画素未満の距離であるサブピクセルレベルの変位量で変位させたときの輝度値の変化量により表される感度に応じた前記ターゲットを含むゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、
前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、
を有することを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、位置検出装置、位置検出プログラム、および位置検出方法に関する。
【背景技術】
【０００２】
電子機器の製造工程において、組立てにおける多くの作業は自動化されている。この自動化された製造ラインでは、例えば、撮像装置により撮像された撮像画像に基づくビジュアルフィードバック制御によって、組立ロボットが、ハンドで部品単体やアセンブリー部品等の物体を把持し搬送して電子機器を組み立てる。このビジュアルフィードバック制御による自動組立において、例えば、物体が精密部品や微細な形状を有する部品である場合、撮像装置の解像度の性能を示す画素分解能によって決まる位置検出精度よりも高い精度で当該物体を検出することが必要となる場合がある。
【０００３】
従来、撮像装置の画素分解能によって決まる位置精度よりも高い精度で物体の位置を検出する技術として、サブピクセル推定技術が知られている。例えば、ピクセルレベルで算出した一致度評価値をフィッティング内挿することにより、サブピクセルレベルで物体の位置を推定する方法等が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】清水雅夫著、奥富正敏著、「画像のマッチングにおけるサブピクセル推定の意味と性質」、電子情報通信学会論文誌Ｄ−ＩＩ、２００２年１２月、Ｖｏｌ．Ｊ８５−Ｄ−ＩＩ、Ｎｏ．１２、ｐｐ．１７９１−１８００
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の方法は、ピクセルレベルで算出した一致度評価値に基づく推定であるため、推定による誤差が発生する。画素分解能が低くなるにしたがってその推定誤差は大きくなり、位置誤差も大きくなってしまう。
そこで、本発明は上記事情に鑑みてなされたものであり、ターゲットのサブピクセルレベルでの位置検出を高精度に行う、ロボット、位置検出装置、位置検出プログラム、および位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明の一態様であるロボットは、撮像部により撮像し生成されたゴール位置とターゲットとを視野に含む画像データにおける前記ゴール位置にピクセルレベルで位置合わせされた前記ターゲットを一画素未満の距離であるサブピクセルレベルの変位量で変位させたときの輝度値の変化量により表される感度に応じた前記ターゲットを含むゴール画像データと、前記画像データとに基づいて前記ターゲットを前記ゴール位置に移動させる、ことを特徴とする。
［１］上記の課題を解決するため、本発明の一態様であるロボット装置は、ターゲットをゴール位置まで搬送可能に保持する搬送ロボットと、前記ゴール位置と前記ターゲットとを視野に含めて撮像し画像データを生成する撮像部と、前記画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、前記撮像部が生成する前記搬送ロボットにより保持されたターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、前記ターゲット検出部が検出した位置ずれをなくす方向に、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御する搬送ロボット制御部と、を備えることを特徴とする。
ここで、本発明の一態様であるロボット装置は、ビジュアルフィードバック制御によってターゲットをゴール位置まで搬送するものである。本発明の一態様であるロボット装置は、あらかじめターゲットをゴール位置にゴールさせた状態での、ターゲット撮像画像であるゴール画像と、ターゲットの撮像画像であるターゲット画像とのテンプレートマッチング処理を行ってフィードバック制御を行うことにより、ビジュアルフィードバック制御を実現するものである。一致度評価値は、例えば、ゴール画像とターゲット画像との輝度差の絶対値の総和や輝度差の２乗和等である。また、画素値は、例えば輝度値である。
この構成によれば、ロボット装置は、例えば、ターゲットのゴール位置が最も感度の高い位置となる状態でのゴール画像データを生成し記憶しておくことができる。そして、ロボット装置は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算し、一致度評価が最も高いポイントを検出する。そして、ロボット装置は、そのポイントに対応する位置にターゲットを移動させるよう搬送ロボットを制御することにより、正確なサブピクセル精度でターゲットをゴール位置にゴールさせることができる。
［２］上記［１］記載のロボット装置において、ピクセルレベルで前記ゴール位置に位置合わせされたターゲットと前記撮像部との前記画像データ上の相対位置を変更する位置変更ロボットと、前記位置変更ロボットによって変位された前記ターゲットの画像を含む画像データに基づいて前記感度の分布を求め、前記分布を前記画像データ上の位置に対応させた感度マップを生成する感度マップ生成部と、前記感度マップ生成部が生成した感度マップに基づいて前記画像データにおけるゴール位置を決定するゴール位置決定部と、前記ゴール位置決定部が決定した前記ゴール位置に前記ターゲットを移動させるよう前記位置変更ロボットを制御する位置変更ロボット制御部と、を備え、前記ターゲット検出部は、前記位置ずれを検出した場合に、サブピクセル推定処理によって前記ターゲットの位置ずれの方向とずれ量とを計算し、前記搬送ロボット制御部は、前記ターゲットの前記位置ずれの方向と前記ずれ量とに基づいて、前記搬送ロボットが保持するターゲットを搬送するよう前記搬送ロボットを制御することを特徴とする。
この構成によれば、感度マップを生成することにより、ターゲット画像の感度の分布に応じて感度の高い適切なゴール位置を決定することができる。
［３］上記［２］記載のロボット装置において、前記感度マップ生成部は、前記感度に応じて画素に重み係数による重み付けをし、前記重み係数と前記感度マップとを対応付け、前記ターゲット検出部は、前記画素の重み係数に基づいて前記一致度評価値の計算処理に用いる画素を選択することを特徴とする。
この構成によれば、感度に応じた重み係数を適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセルレベルでの位置合わせを行うことができる。
［４］上記［３］記載のロボット装置において、前記重み係数は、前記感度が高くなるにしたがって大きな値となるものであり、前記ターゲット検出部は、前記画素の重み係数が閾値を超える値である画素のみを用いて前記一致度評価値の計算処理に用いる画素を選択することを特徴とする。
［５］上記［１］から［４］のうちいずれか一項記載のロボット装置において、前記ターゲット検出部は、前記画像データと前記ゴール画像データとの輝度差の絶対値の総和または前記輝度差の２乗和を計算して前記一致度評価値を得ることを特徴とする。
［６］上記［１］から［５］のうちいずれか一項記載のロボット装置において、前記搬送ロボットは、可動のアーム部とこのアーム部に連結される可動のハンド部とを備え、前記ハンド部により前記ターゲットを保持させることを特徴とする。
［７］上記［２］から［６］のうちいずれか一項記載のロボット装置において、前記位置変更ロボットは、前記ターゲットまたは前記撮像部の一方が固定された状態で他方を可動に支持することを特徴とする。
【０００７】
［８］上記の課題を解決するため、本発明の一態様である位置検出装置は、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部と、前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算して、前記一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出するターゲット検出部と、を備えることを特徴とする。
この構成によれば、位置検出装置は、例えば、ターゲットのゴール位置が最も感度の高い位置となる状態でのゴール画像データを生成し記憶しておくことができる。そして、位置検出装置は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算することにより、一致度評価が最も高いポイント、すなわち、正確なサブピクセル精度でターゲットの位置を検出することができる。
【０００８】
［９］上記の課題を解決するため、本発明の一態様である位置検出プログラムは、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データを記憶するゴール画像記憶部を備えるコンピューターに、前記ターゲットの画像を含む画像データと前記ゴール画像記憶部に記憶された前記ゴール画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、を実行させる。
【０００９】
［１０］上記の課題を解決するため、本発明の一態様である位置検出方法は、ターゲット検出部が、画像データにおけるゴール位置にピクセルレベルで位置合わせされたターゲットをサブピクセルレベルの変位量で変位させたときの画素値の変化量により表される感度に応じて、前記ターゲットが配置された状態のゴール画像データと、前記ターゲットの画像を含む画像データとの比較に基づいて前記ターゲットの一致度評価値を計算する計算ステップと、前記計算した一致度評価値に基づいて前記ゴール位置に対する前記ターゲットの位置ずれを検出する検出ステップと、を有することを特徴とする。
【００１０】
よって、本発明の各態様によれば、ターゲットのサブピクセルレベルでの位置検出を高精度に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態であるロボット装置の機能構成を表すブロック図である。
【図２】同実施形態において、工場の組立製造ラインに設置されたロボット装置における多関節ロボットがアセンブリー部品の組立作業を行っている様子を模式的に表した図である。
【図３】同実施形態において、多関節ロボットに取り付けられた把持部の先端部分と把持部が把持する部品とを、撮像装置側から見た模式的な図である。
【図４】同実施形態において、部品が基台の軸に取り付けられる様子を模式的に表した図である。
【図５】同実施形態において、ターゲットのサイズが撮像系の一画素に相当するサイズ未満である場合についての、画像の感度を説明するための図である。
【図６】同実施形態において、ターゲットをサブピクセルレベルで微小移動させた場合の、ターゲットの位置とゴール位置との一致度評価を説明するための図である。
【図７】図６におけるターゲットの位置に対応させた、ターゲット画像とゴール画像との一致度評価値のグラフである。
【図８】同実施形態における、位置検出装置の機能構成を表すブロック図である。
【図９】同実施形態において、感度マップ生成部が生成する感度マップの例である。
【図１０】同実施形態における、ロボット装置によるゴール画像生成処理の処理手順を表すフローチャートである。
【図１１】同実施形態における、ロボット装置によるターゲット検出処理の処理手順を表すフローチャートである。
【図１２】本発明の第２実施形態および各変形例において、ターゲットのサイズが撮像系の一画素に相当するサイズ以上である場合についての、画像の感度を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
［第１の実施の形態］
本発明の第１実施形態であるロボット装置は、ビジュアルフィードバック制御によって部品（ターゲット）をゴール位置まで搬送し、アセンブリー部品の組立作業を行う装置である。ゴール位置とは、部品をアセンブリー部品に組み付ける際の、当該部品の目標となる位置である。
このロボット装置は、あらかじめゴール位置に部品を配置した状態、言い換えると、ターゲットをゴール位置にゴールさせた状態での、当該部品または当該部品における位置合わせ対象部位の撮像画像（ゴール画像）と、搬送中である部品の撮像画像（ターゲット画像）とのテンプレートマッチング処理を行ってフィードバック制御を行うことにより、ビジュアルフィードバック制御を実現する。
【００１３】
このテンプレートマッチング処理は、ゴール画像のターゲット部分とターゲット画像とを比較して一致度評価値を算出し、一致度評価値に基づいてターゲット画像からターゲットを検出する処理である。一致度評価値は、例えば、ゴール画像とターゲット画像との輝度差の絶対値の総和や輝度差の２乗和等である。
【００１４】
本実施形態において、ターゲットは、撮像系の一画素で表現される大きさよりも小さいもの、すなわち、一画素に相当する大きさ未満のものとし、例えば、精密部品である平歯車の微細な軸穴とする。そして、本実施形態であるロボット装置は、ターゲットを、ピクセル精度（ピクセルレベル）でゴール位置に位置合わせさせた状態で、且つサブピクセル精度（サブピクセルレベル）で微小移動させたときに画素値が大きく変化することとなる位置（詳しくは後述するが、これを感度が高い位置という。）に配置した状態でのゴール画像を生成して保有する。そして、ロボット装置は、その保有するゴール画像を用いてピクセルレベルおよびサブピクセルレベルでのターゲットのトラッキングを行うものである。
【００１５】
図１は、第１実施形態であるロボット装置の機能構成を表すブロック図である。図１に示すように、ロボット装置１は、多関節ロボット（搬送ロボット）１０と、撮像装置（撮像部）２０と、位置検出装置３０と、ロボット制御装置（搬送ロボット制御部、位置変更ロボット制御部）５０と、直交ロボット（位置変更ロボット）６０とを備える。
ロボット装置１は、サブピクセルレベルでのターゲットの位置合わせを高精度に行うために、上記のとおり、ターゲットを感度が高い位置に配置した状態でのゴール画像を生成して保有する。ロボット装置１は、ターゲットを感度が高い位置に配置するために、直交ロボット６０によりターゲットの位置を移動させることができる。
【００１６】
また、ロボット装置１においては、多関節ロボット１０に把持させた部品を撮像装置２０が撮像し、位置検出装置３０がその撮像画像を解析してターゲットの位置を検出し、ロボット制御装置５０が位置検出装置３０によって検出されたターゲットの位置に基づいてターゲットをゴール位置まで移動させるよう多関節ロボット１０を制御し、多関節ロボット１０がロボット制御装置５０による制御にしたがってターゲットに対応する部品を搬送しアセンブリー部品を組立てる。
【００１７】
ロボット装置１の各構成について説明する。
図２は、工場の組立製造ラインに設置されたロボット装置１における多関節ロボット１０がアセンブリー部品の組立作業を行っている様子を模式的に表した図である。図２に示す組立製造ラインには、ロボット装置１における、多関節ロボット１０と、撮像装置２０と、組立中であるアセンブリー部品が可動に設けられた直交ロボット６０とが設置されている。
なお、図２では、位置検出装置３０およびロボット制御装置５０の図示を省略している。また、図２における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる（後述する図３および図４についても同様である）。
【００１８】
多関節ロボット１０は、地面に固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、回動可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃと、ハンド部１０ｃに取り付けられた把持部１０ｄとを含んで構成される。多関節ロボット１０は、例えば６軸の垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有し、把持部１０ｄが把持する部品の位置および向きを自在に変更することができる。多関節ロボット１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。
なお、多関節ロボット１０の自由度は６軸によるものに限られない。また、支持台１０ａは、床、壁、天井等、地面に対して固定された場所に設置してもよい。
【００１９】
多関節ロボット１０の把持部１０ｄは、部品２２０を把持する。部品２２０は、例えば精密部品であり、微細な軸穴が設けられた平歯車である。本実施形態では、上述したとおり、部品２２０の具体例を示す場合には、微細な軸穴を有する平歯車を示し、また、ターゲットの具体例を示す場合には、当該平歯車の微細な軸穴を例として示し説明する。
【００２０】
直交ロボット６０は、平面内で直交するＸ軸およびＹ軸それぞれの方向に移動可能な二つの軸モジュールを個別にまたは連係させて動かすことによって、アセンブリー部品をその平面内で移動させる。直交ロボット６０は、ロボット制御装置５０による制御によって、Ｘ軸およびＹ軸それぞれの方向に軸モジュールを動かす。
【００２１】
アセンブリー部品は、基台２００に極細の軸径を有する軸２１０が設けられたものである。基台２００は、直交ロボット６０に設けられた状態で水平面に対して平行となる面を有している。軸２１０は、その軸方向が基台２００の前記の面に対して垂直となるように当該面に設けられている。
図２に示す組立製造ラインにおいて、多関節ロボット１０は、アセンブリー部品の軸２１０が部品２２０（平歯車）の軸穴に貫通するように、部品２２０をアセンブリー部品に取り付ける作業を行う。
【００２２】
撮像装置２０は、例えば、静止画像、または３０フレーム／秒（ｆｐｓ；ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）等のフレームレートの動画像を撮像可能なカメラ装置である。撮像装置２０は、アセンブリー部品の上方において、撮影方向が垂直下方であり、図示しないレンズ光学系の光軸が軸２１０の中心軸に略一致する位置に固定設置される。なお、図２では、撮像装置２０を固定する構造物等の図示を省略している。
撮像装置２０は、位置検出装置３０から供給される撮像要求コマンドにしたがってアセンブリー部品と部品２２０とを被写体として撮像し、この撮像により得られた画像データを位置検出装置３０に供給する。
【００２３】
位置検出装置３０は、ゴール画像生成機能とターゲット検出機能とを備える。
ゴール画像生成機能は、位置検出装置３０が、撮像装置２０とロボット制御装置５０と直交ロボット６０との連係した動作により、感度が高い位置にターゲットを配置した状態でのゴール画像を生成して記憶する機能である。
ターゲット検出機能は、位置検出装置３０が、撮像装置２０とロボット制御装置５０と多関節ロボット１０との連係した動作により、ゴール画像とターゲット画像とのテンプレートマッチング処理を行うことによってターゲットのピクセルレベルでの位置検出を行い、また、感度の分布に基づいてターゲットのサブピクセルレベルでの位置検出を行う機能である。位置検出装置３０は、粗調整モードに設定されて動作したときにピクセルレベルでの位置検出を行い、微細調整モードに設定されて動作したときにサブピクセルレベルでの位置検出を行う。
位置検出装置３０は、粗調整モードに設定されて動作した後に、微細調整モードに設定されて動作する。
【００２４】
粗調整モードは、位置検出装置３０がターゲット（平歯車の軸穴の領域）を検出し、ゴール位置、すなわち軸２１０の軸中心の位置にターゲットの基準位置（平歯車の軸穴の中心位置）を移動させるよう制御する処理のモードである。
微細調整モードは、ターゲットの位置がゴール位置にピクセルレベルで一致した状態において、位置検出装置３０が、ターゲットを所定方向に微小距離（一画素未満に相当する距離）だけ動かす制御をしながらターゲット画像とゴール画像との一致度評価値を計算し、最も一致度評価が高い値に対応する位置にターゲットを移動させるよう制御する処理のモードである。
【００２５】
ロボット制御装置５０は、ゴール画像生成機能を実現するためのゴール画像生成処理を実行する位置検出装置３０から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット６０の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。また、ロボット制御装置５０は、直交ロボット６０を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを直交ロボット６０から取得して位置検出装置３０に供給する。
【００２６】
また、ロボット制御装置５０は、ターゲット検出機能を実現するためのターゲット検出処理を実行する位置検出装置３０から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。また、ロボット制御装置５０は、多関節ロボット１０を制御した後に、制御が成功したか否かを示す情報等を含めた多関節ロボット制御ステータスを多関節ロボット１０から取得して位置検出装置３０に供給する。
【００２７】
図３は、多関節ロボット１０に取り付けられた把持部１０ｄの先端部分と、把持部１０ｄが把持する部品２２０（平歯車）とを、平歯車の軸穴を貫く軸方向であって撮像装置２０側から見た模式的な図である。図３に示すように、把持部１０ｄは、具備する対の爪部１０ｄ１，１０ｄ２で部品２２０を挟んで把持する。部品２２０が平歯車である場合は、把持部１０ｄは、爪部１０ｄ１，１０ｄ２で平歯車の歯を挟んで把持する。図３において、軸穴２２１がターゲットである。
【００２８】
図４は、部品２２０が基台２００の軸２１０に取り付けられる様子を模式的に表した図である。なお、図４において、部品２２０は把持部１０ｄによって把持されているが、把持部１０ｄの図示を省略している。図４に示すように、部品２２０は、軸穴２２１の中心軸が軸２１０の軸上に一致し且つ軸２１０の上方の位置に把持部１０ｄによって搬送され、次に垂直下方である矢印Ａ方向に搬送されることにより、軸２１０を軸穴２２１に貫通させて基台２００に取り付けられる。
【００２９】
次に、画像の感度について説明する。画像の感度とは、撮像面内におけるターゲットの位置の微小変位に対する、当該ターゲットに対応する画素の画素値の変化の度合いである。ここでの微小変位量は、撮像面における一画素未満に相当する距離である。
【００３０】
画像の感度について、具体例を挙げて詳しく説明する。
図５は、ターゲットのサイズが撮像系の一画素に相当するサイズ未満である場合についての、画像の感度を説明するための図である。図５（ａ），（ｂ）それぞれは、ターゲット６とターゲット６の画像が含まれる画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢとを重ね合わせて模式的に表したものである。図５（ａ）の左側に示すように、ターゲット６が画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢ全てに部分的に跨って位置する場合、画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢはターゲット６の画像成分を含む。画像成分は、例えば輝度値である。この状態から、図５（ａ）の右側に示すように、ターゲット６を一画素未満に相当する変位量で変位させてターゲット６が画素５ＲＵに含まれるようにすると、画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢの画像成分は変化し、画素５ＬＵ，５ＬＢ，５ＲＢにはターゲット６の画像成分が含まれず、画素５ＲＵにのみターゲット６の画像成分が含まれるようになる。このように、ターゲット６の微小変位に対して、ターゲット６に対応する画像を構成する画素の画素値が大きく変化する場合、ターゲット６の微小変位前の画像は感度の高い画像であり、その微小変位前の位置は感度の高い位置であるという。
【００３１】
また、図５（ｂ）の左側に示すように、ターゲット６が画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢのうち画素５ＲＵのみに含まれる場合、画素５ＲＵのみがターゲット６の画像成分を含む。この状態から、図５（ｂ）の右側に示すように、ターゲット６を１画素未満に相当する変位量で変位させてターゲット６が画素５ＲＵから外に出ないようにすると、画素５ＬＵ，５ＲＵ，５ＬＢ，５ＲＢ全ての画像成分は変化しない。このように、ターゲット６の微小変位に対して、ターゲット６に対応する画像を構成する画素の画素値が変化しない場合や画素値が微小に変化する場合、ターゲット６の微小変位前の画像は感度の低い画像であり、その微小変位前の位置は感度の低い位置であるという。
【００３２】
位置検出装置３０は、ターゲットのゴール位置が感度の高い位置となる状態でのゴール画像を生成して記憶しておく。そして、位置検出装置３０は、対象物を一画素に相当する距離未満の変位量で動かす制御をしながらターゲット画像とゴール画像との一致度評価値を計算し、例えば一致度評価が最も高いポイントを検出する。そして、位置検出装置３０は、そのポイントに対応する位置にターゲットを移動させるようロボット制御装置５０を制御することにより、サブピクセルレベルでターゲットをゴールさせることができる。
【００３３】
サブピクセルレベルでの位置合わせについて、図６および図７を併せ参照し、さらに具体的に説明する。
図６は、ターゲットをサブピクセルレベルで微小移動させた場合の、ターゲットの位置とゴール位置との一致度評価を説明するための図である。なお、図６は、説明の便宜上、画素配列を一次元で表したものである。図６において、Ｐ１，Ｐ２，およびＰ３は、Ｘ軸方向に連続する画素を表す。Ｃ（０），Ｃ（＋０．１），Ｃ（＋０．２），・・・，Ｃ（＋０．９），およびＣ（＋１．０）のそれぞれは、ターゲットＣ（０．４画素に相当する大きさである。）をＸ軸方向に、Ｃ（０）の位置（ターゲットＣの中央の位置が画素Ｐ１，Ｐ２の境界位置に一致する。）から０．１画素ずつＸ軸の正方向に移動させたときの位置を表す。Ｇｓ，Ｇｉは、ともにターゲットＣのゴール位置を表す。ゴール位置Ｇｓは、画素Ｐ１と画素Ｐ２とに跨る位置（画素Ｐ１の０．１画素分と画素Ｐ２の０．３画素分とを占める範囲の位置）である。また、ゴール位置Ｇｉは、画素Ｐ２の先頭から０．４画素分ずれたところからの位置、つまり、画素Ｐ２に含まれる位置である。
図６において、ゴール位置Ｇｓに一致するターゲットＣの位置は位置Ｃ（＋０．１）であり、ゴール位置Ｇｉに一致するターゲットＣの位置は位置Ｃ（＋０．６）である。
【００３４】
図７は、図６におけるターゲットの位置に対応させた、ターゲット画像とゴール画像との一致度評価値のグラフである。図７（ａ）は、ターゲットＣの各位置におけるターゲット画像とゴール位置Ｇｓにおけるゴール画像との輝度差の２乗和（ＳＳＤ；Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）を表したグラフであり、図７（ｂ）は、ターゲットＣの各位置におけるターゲット画像とゴール位置Ｇｉにおけるゴール画像との輝度差の２乗和を表したグラフである。
【００３５】
図７（ａ）のグラフでは、唯一、ターゲットＣが位置Ｃ（＋０．１）にあるときのターゲット画像とゴール位置Ｇｓにおけるゴール画像との輝度差の２乗和が０（ゼロ）である。つまり、ターゲットＣがゴール位置Ｇｓに一致する位置Ｃ（＋０．１）を除いて、輝度差の２乗和が正値となる。一致度評価は、輝度差の2乗和が０（ゼロ）となる場合に、最高評価ポイントとなる。
一方、図７（ｂ）のグラフでは、ターゲットＣが画素Ｐ２に相当する範囲内にある位置Ｃ（＋０．２）から位置Ｃ（＋０．８）までにおいて、ターゲット画像とゴール位置Ｇｉにおけるゴール画像との輝度差の２乗和が０（ゼロ）となる。つまり、ターゲットＣの全範囲が画素Ｐ２に相当する範囲の部分である場合、ターゲットＣがゴール位置Ｇｉに一致する位置を特定することができない。
よって、隣り合う画素を跨ぐ位置にターゲットがある場合に、ターゲット画像とゴール画像との位置合わせを、サブピクセルレベルで正確に行うことができる。
【００３６】
次に、位置検出装置３０の構成について説明する。
図８は、位置検出装置３０の機能構成を表すブロック図である。図８に示すように、位置検出装置３０は、画像データ取得部３１と、感度マップ生成部３２と、ゴール位置調整部３３と、ゴール位置決定部３４と、ゴール画像記憶部３６と、ターゲット検出部３７と、ターゲット位置調整部３８とを備える。
【００３７】
位置検出装置３０によるゴール画像生成処理の実行において、画像データ取得部３１は、撮像装置２０から供給される静止画像の画像データを取り込み、この画像データを感度マップ生成部３２およびゴール画像記憶部３６に供給する。また、位置検出装置３０によるターゲット検出処理の実行において、画像データ取得部３１は、撮像装置２０から供給される動画像の画像データをフレーム単位で取り込み、この画像データをターゲット検出部３７に供給する。
【００３８】
感度マップ生成部３２は、ゴール画像生成処理の実行において画像データ取得部３１から順次供給される画像データを取り込み、これらの画像データに基づいて感度マップを生成する。感度マップは、ピクセルレベルで一致したゴール位置に配置されたターゲットを、そのゴール位置から所定方向、例えば画像の水平左方向、水平右方向、垂直上方向、および垂直下方向それぞれに、段階的に（例えば、０．１画素に相当する距離を微小変位量として）変位させたときの当該ターゲットの画像の感度を、画像上の位置に対応させて表したものである。すなわち、感度マップは、ターゲット画像の感度の分布を表す。
感度マップ生成部３２は、所定方向に微小変位させたターゲットの画像を画像データ取得部３１から取得するために、ターゲットの移動方向と移動量との情報をゴール位置調整部３３に供給する。
【００３９】
ここで、感度マップについて、具体例を挙げて説明する。
図９は、感度マップ生成部３２が生成する感度マップの例である。図９の感度マップは、図５（ａ），（ｂ）に示した、一画素に相当するサイズ未満の大きさであるターゲットを、図５（ａ），（ｂ）に示すようにＸ軸正方向、Ｘ軸負方向、Ｙ軸正方向、およびＹ軸負方向それぞれに微小移動させて計算した感度の値（感度値）の平均値を集計することにより得られたものである。
図９の感度マップにおいて、感度領域ＳＨに対応する画像領域は、図５（ａ）の左図におけるターゲット６に相当する位置、つまり感度が高い位置を含む。また、図９の感度マップにおいて、感度領域ＳＬに対応する領域は、図５（ｂ）の左図におけるターゲット６に相当する位置、つまり感度が低い位置を含む。
【００４０】
図８の説明に戻り、ゴール位置調整部３３は、感度マップ生成部３２から供給される、ターゲットの移動方向と移動量との情報を取り込む。そして、ゴール位置調整部３３は、ターゲットの移動方向と移動量との情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置５０に供給する。
また、ゴール位置調整部３３は、ゴール位置決定部３４から供給されるゴール位置の位置情報を取り込み、この位置情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置５０に供給する。
また、ゴール位置調整部３３は、ロボット制御装置５０から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００４１】
ゴール位置決定部３４は、感度マップ生成部３２が生成した感度マップに基づいてゴール位置を選定する。例えば、ゴール位置決定部３４は、感度マップにおいて最も感度値が大きい位置を検出したり、あらかじめ決定しておいた感度閾値を超える感度値の領域を複数抽出し、それらの領域のうち最も内側にある領域の中心位置を検出したりすることによって、検出した位置をゴール位置として選定する。そして、ゴール位置決定部３４は、そのゴール位置の位置情報をゴール位置調整部３３に供給する。例えば、図９の感度マップにおいては、ゴール位置決定部３４は、感度領域ＳＨに対応する領域の中心位置をゴール位置として決定し、その位置情報をゴール位置調整部３３に供給する。
また、ゴール位置決定部３４は、ゴール位置の位置情報をゴール位置調整部３３に供給した後、ゴール画像データを記憶させるためのゴール画像記憶制御信号を生成してゴール画像記憶部３６に供給する。
【００４２】
ゴール画像記憶部３６は、ターゲットの位置がゴール位置にピクセルレベルで一致した状態の画像であるゴール画像データをあらかじめ記憶する。例えば、ゴール画像記憶部３６は、平歯車の軸穴２２１の中心が軸２１０の軸中心に一致する位置に当該平歯車の軸穴２２１が設けられた状態のゴール画像データをあらかじめ記憶する。
位置検出装置３０によるゴール画像生成処理の実行において、ゴール画像記憶部３６は、ゴール位置決定部３４から供給されるゴール画像記憶制御信号を取り込むと、画像データ取得部３１から供給される画像データを取り込んで記憶する。このときの画像データは、感度が高い位置にターゲットが配置された状態におけるゴール画像のデータである。
【００４３】
ターゲット検出部３７は、粗調整モードにおいて、画像データ取得部３１から供給される画像データ（ターゲット画像データ）を取り込み、また、ゴール画像記憶部３６からゴール画像データを読み込む。そして、ターゲット検出部３７は、ゴール画像とターゲット画像とのテンプレートマッチング処理を実行し、ターゲット画像からターゲットを検出してこの検出したターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。例えば、ターゲット検出部３７は、ターゲット画像上で、ゴール画像におけるターゲットを含む部分画像を１画素ずつずらしながらパターンが一致する場所を探索する。そして、ターゲット検出部３７は、パターンが一致する場所を検出した場合に、その場所におけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。具体的には、ターゲットが部品２２０の軸穴２２１である場合、ターゲット検出部３７は、軸穴２２１の中心位置を基準位置（ｘｐ，ｙｐ）としてこの基準位置の座標値（ｘｐ，ｙｐ）とゴール画像におけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３８に供給する。
【００４４】
また、ターゲット検出部３７は、微細調整モードにおいて、ゴール画像記憶部３６からゴール画像データを読み込み、また、画像データ取得部３１から順次供給される画像データ（ターゲット画像データ）を取り込む。そして、ターゲット検出部３７は、取り込んだ画像データごとにこの画像（ターゲット画像）とゴール画像との一致度評価値を計算する。そして、ターゲット検出部３７は、一致度評価値が閾値以下である場合は、ターゲットがサブピクセルレベルで一致していないと判定して探索継続信号をターゲット位置調整部３８に供給し、例えば、公知のサブピクセル推定方法であるＬｕｃａｓ−Ｋａｎａｄｅ法を適用してゴール画像の前後一画素の画素値に基づいて濃度勾配を計算し、ターゲットの位置ずれの方向とずれ量とを求める。また、ターゲット検出部３７は、一致度評価値が閾値を超える場合は、ターゲットがサブピクセルレベルの精度で一致したと判定して探索終了信号をターゲット位置調整部３８に供給する。
【００４５】
ターゲット位置調整部３８は、粗調整モードにおいてターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。そして、ターゲット位置調整部３８は、ゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）となる方向にターゲットを移動させる指示を含む内容の多関節ロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００４６】
また、ターゲット位置調整部３８は、微細調整モードにおいてターゲット検出部３７から供給される探索継続信号、ならびにターゲットの位置ずれの方向およびずれ量、または探索終了信号を取り込む。ターゲット位置調整部３８は、探索継続信号を取り込んだ場合は、ターゲットの位置ずれの方向およびずれ量に基づいてターゲットを微小移動させる指示を含む内容の多関節ロボット制御コマンドを生成しロボット制御装置５０に供給する。また、ターゲット位置調整部３８は、探索終了信号を取り込んだ場合は、ロボット制御装置５０の制御を終了する。
また、ターゲット位置調整部３８は、ロボット制御装置５０から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００４７】
次に、本実施形態であるロボット装置１の動作を、ゴール画像生成処理とターゲット検出処理とに分けて説明する。
【００４８】
まず、ロボット装置１によるゴール画像生成処理の動作について説明する。ロボット装置１のゴール画像生成処理は、図２に示した組立製造ラインにおいて、基台２００上の軸２１０に部品２２０が取り付けられた状態のアセンブリー部品が直交ロボット６０に設けられた状態で実行される。
図１０は、ロボット装置１によるゴール画像生成処理の処理手順を表すフローチャートである。図１０のフローチャートによる処理が開始される前段階の処理として、位置検出装置３０は、撮像装置２０にターゲットである部品２２０の軸穴２２１を撮像させて、この撮像によって得られる画像データ（基準画像データ）を取得して感度マップ生成部３２に保有させておく。
【００４９】
まず、ステップＳ１において、感度マップ生成部３２は、ターゲットの移動方向と移動量との情報をゴール位置調整部３３に供給する。ターゲットの移動方向は、例えば、画像の水平左方向、水平右方向、垂直上方向、または垂直下方向であり、移動量は、例えば、０．１画素に相当する距離である。感度マップ生成部３２は、例えば、各移動方向について、段階的にターゲットを微小変位させるよう制御する。
【００５０】
次に、ゴール位置調整部３３は、感度マップ生成部３２から供給される、ターゲットの移動方向と移動量との情報を取り込む。次に、ゴール位置調整部３３は、ターゲットの移動方向と移動量との情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置５０に供給する。
【００５１】
次に、ロボット制御装置５０は、位置検出装置３０から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット６０の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。これにより、直交ロボット６０は、ロボット制御装置５０による制御によって、二つの軸モジュールを個別にまたは連係させて動かす。
次に、ロボット制御装置５０は、直交ロボット６０を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを位置検出装置３０に供給する。
次に、ゴール位置調整部３３は、ロボット制御装置５０から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００５２】
次に、ステップＳ２において、撮像装置２０は、ゴール位置調整部３３から供給される撮像要求コマンドを取り込むとターゲットを撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。位置検出装置３０では、画像データ取得部３１が、撮像装置２０から供給される画像データを取得し、この画像データを感度マップ生成部３２に供給する。
【００５３】
次に、ステップＳ３において、感度マップ生成部３２は、前記の前処理において保有した基準画像データと、上記のステップＳ２の処理によって供給された画像データとに基づいて感度を計算し、この計算結果を保有する。具体的には、感度マップ生成部３２は、基準画像データと画像データとの輝度差をターゲットの移動距離で除算した値を感度値として得て保有する。
【００５４】
感度マップ生成部３２が、移動方向ごとの全ての段階的な位置における感度値の計算を完了した場合（ステップＳ４：ＹＥＳ）はステップＳ５の処理に移り、それ以外の場合（ステップＳ４：ＮＯ）はステップＳ１の処理に戻る。
【００５５】
ステップＳ５において、感度マップ生成部３２は、保有した感度値を画像上の位置に対応させた感度マップを生成する。
次に、ステップＳ６において、ゴール位置決定部３４は、感度マップ生成部３２が生成した感度マップに基づいてゴール位置を選定し、このゴール位置の位置情報をゴール位置調整部３３に供給する。
【００５６】
次に、ステップＳ７において、ゴール位置調整部３３は、ゴール位置決定部３４から供給されるゴール位置の位置情報を取り込み、この位置情報にしたがってターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置５０に供給する。
次に、ロボット制御装置５０は、位置検出装置３０から供給される直交ロボット制御コマンドを取り込み、この直交ロボット制御コマンドに基づいて、直交ロボット６０の二つの軸モジュールのうちいずれか一方または両方の動作を制御する。これにより、直交ロボット６０は、ロボット制御装置５０による制御によって、二つの軸モジュールを個別にまたは連係させて動かす。
【００５７】
次に、ロボット制御装置５０は、直交ロボット６０を制御した後に、制御が成功したか否かを示す情報等を含めた直交ロボット制御ステータスを位置検出装置３０に供給する。
次に、ゴール位置調整部３３は、ロボット制御装置５０から供給される直交ロボット制御ステータスを取り込み、この直交ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００５８】
次に、ステップＳ８において、撮像装置２０は、ゴール位置調整部３３から供給される撮像要求コマンドを取り込むとターゲットを撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。位置検出装置３０では、画像データ取得部３１が、撮像装置２０から供給される画像データを取得し、この画像データをゴール画像記憶部３６に供給する。
【００５９】
次に、ステップＳ９において、ゴール位置決定部３４は、ゴール画像データを記憶させるためのゴール画像記憶制御信号を生成してゴール画像記憶部３６に供給する。
次に、ゴール画像記憶部３６は、画像データ取得部３１から供給される画像データをゴール画像記憶制御信号に基づいて記憶する。
【００６０】
次に、ロボット装置１によるターゲット検出処理の動作について説明する。ロボット装置１のターゲット検出処理は、ゴール画像生成処理が実行された後、図２に示した組立製造ラインにおいて、基台２００上の軸２１０に部品２２０が組み付けられていないアセンブリー部品が直交ロボット６０に設けられた状態で実行される。
図１１は、ロボット装置１によるターゲット検出処理の処理手順を表すフローチャートである。位置検出装置３０が粗調整モードに設定された後、図１１のフローチャートの処理が開始される。
【００６１】
まず、ステップＳ２１において、撮像装置２０はターゲットと組立対象であるアセンブリー部品とを撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。位置検出装置３０では、画像データ取得部３１が、撮像装置２０から供給される画像データを取得し、この画像データをターゲット検出部３７に供給する。
【００６２】
次に、ステップＳ２２において、ターゲット検出部３７は、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像からターゲットを検出する。
【００６３】
このステップＳ２２の処理について詳細に説明する。
まず、ターゲット検出部３７は、画像データ取得部３１から供給される画像データを取り込み、ゴール画像記憶部３６からゴール画像データを読み込む。
次に、ターゲット検出部３７は、ゴール画像データを用いてテンプレートマッチング法によるターゲットの探索処理を画像データの画像領域内で実行してターゲットを検出し、このターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。
次に、ターゲット検出部３７は、その画像データにおける基準位置の座標値（ｘｐ，ｙｐ）とゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３８に供給する。
【００６４】
次に、ステップＳ２３において、ターゲット位置調整部３８は、ターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。
次に、ターゲット位置調整部３８は、ゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）を計算する。
次に、ターゲット位置調整部３８は、差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）でない場合は、ターゲットがゴールしていないと判定してステップＳ２４の処理に移り、差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）である場合は、ターゲットがピクセルレベルの位置精度でゴールしたと判定して微細調整モードに切り替えてステップＳ２５の処理に移る。
【００６５】
ステップＳ２４において、ターゲット位置調整部３８は、差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）となる方向にターゲットを移動させる指示を含む内容の多関節ロボット制御コマンドを生成してロボット制御装置５０に供給する。
次に、ロボット制御装置５０は、位置検出装置３０から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、多関節ロボット１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。
次に、ロボット制御装置５０は、多関節ロボット１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
次に、ターゲット位置調整部３８は、ロボット制御装置５０から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
次に、ステップＳ２１の処理に戻る。
【００６６】
一方、ステップＳ２５において、ターゲット検出部３７は、画像データ取得部３１から供給される画像データ（ターゲット画像データ）を取り込む。
次に、ターゲット検出部３７は、取り込んだターゲット画像とゴール画像との一致度評価値、例えば、ターゲット画像とゴール画像との輝度差の２乗和を計算する。
【００６７】
次に、ステップＳ２６において、ターゲット検出部３７は、一致度評価が閾値以下である場合は、ターゲットがサブピクセルレベルで一致していないと判定し、探索継続信号をターゲット位置調整部３８に供給してステップＳ２７の処理に移る。一方、ターゲット検出部３７は、一致度評価が閾値を超える場合は、ターゲットがサブピクセルレベルで一致したと判定し、探索終了信号をターゲット位置調整部３８に供給する。次に、ターゲット位置調整部３８は、探索終了信号を取り込むと、ロボット制御装置５０の制御を終了して本フローチャートの処理を終了させる。
【００６８】
ステップＳ２７において、ターゲット検出部３７は、ゴール画像記憶部３６からゴール画像データを読み込み、例えば、Ｌｕｃａｓ−Ｋａｎａｄｅ法を適用し、ゴール画像の前後一画素の画素値に基づいて濃度勾配を計算し、ターゲットの位置ずれの方向とずれ量とを求めてターゲット位置調整部３８に供給する。
次に、ターゲット位置調整部３８は、ターゲットの位置ずれの方向とずれ量とに基づいて、ターゲットを微小移動させる指示を含む内容の多関節ロボット制御コマンドを生成しロボット制御装置５０に供給する。
次に、ロボット制御装置５０は、位置検出装置３０から供給される多関節ロボット制御コマンドを取り込み、この多関節ロボット制御コマンドに基づいて、多関節ロボット１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、多関節ロボット１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。
次に、ロボット制御装置５０は、多関節ロボット１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
次に、ターゲット位置調整部３８は、ロボット制御装置５０から供給される多関節ロボット制御ステータスを取り込み、この多関節ロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００６９】
次に、ステップＳ２８において、撮像装置２０は、ターゲット位置調整部３８から供給される撮像要求コマンドを取り込むとアセンブリー部品を撮像し、撮像によって得られる画像データ、すなわちターゲット画像データを位置検出装置３０に供給する。位置検出装置３０では、画像データ取得部３１が、撮像装置２０から供給される画像データを取得し、この画像データをターゲット検出部３７に供給する。
次に、ステップＳ２５の処理に戻る。
【００７０】
本発明の第１実施形態によれば、ロボット装置１の位置検出装置３０は、ターゲットのゴール位置が感度の高い位置となる状態でのゴール画像データを生成し記憶しておく。そして、位置検出装置３０は、ターゲットをサブピクセルレベルの変位量で変位させる制御をしながらターゲット画像とゴール画像とのターゲットの一致度評価値を計算し、一致度評価が最も高いポイントを検出する。そして、位置検出装置３０は、そのポイントに対応する位置にターゲットを移動させるようロボット制御装置５０を制御することにより、正確なサブピクセル精度でターゲットをゴール位置にゴールさせることができる。
位置検出装置３０は、感度マップを生成するため、ターゲット画像の感度の分布に応じて感度の高い適切なゴール位置を決定することができる。
【００７１】
［第２の実施の形態］
上述した第１実施形態では、ターゲットのサイズが撮像系の一画素に相当する大きさ未満である場合、具体的には、ターゲットが平歯車の微細な軸穴であり、撮像面における軸穴の大きさが一画素に相当する大きさ未満である場合を例に挙げて説明した。
本発明の第２実施形態では、ターゲットのサイズが撮像系の一画素に相当する大きさ以上である場合、具体的には、ターゲットが一つの平歯車全体であり、撮像面における平歯車全体の大きさが一画素に相当する大きさ以上である場合を例に挙げて説明する。
【００７２】
本実施形態であるロボット装置は、感度に応じて画素に重み係数による重み付けを行い、その重み係数と感度マップとを関連付けて保有する。そして、ロボット装置は、重み係数が関連付けられた感度マップから、位置合わせに用いる複数の画素を重みに基づいて選定し、これら選定した複数の画素を用いてサブピクセルレベルでの位置合わせを行うものである。
【００７３】
なお、本実施形態であるロボット装置の構成図は、第１実施形態であるロボット装置１の構成図と同様である。また、本実施形態であるロボット装置の処理のフローチャートは、第１実施形態であるロボット装置１の処理のフローチャートと同様である。よって、本実施形態では、ロボット装置の構成図およびフローチャートの図示を省略し、また、第１実施形態と相違する点についてのみ説明する。
【００７４】
図１２は、ターゲットのサイズが撮像系の一画素に相当するサイズ以上である場合についての、画像の感度を説明するための図である。図１２は、ターゲット１２とターゲット１２の画像が含まれる画素Ｐ００，Ｐ１０，Ｐ２０，・・・，Ｐ０１，Ｐ１１，Ｐ２１，・・・とを重ね合わせて模式的に表したものである。ターゲット１２は、軸穴を貫く向きに見た平歯車である。
図１２において網掛けが施された画素（例えば、画素Ｐ２２，Ｐ３１，Ｐ４４等）は、ターゲット１２をＸ軸正方向、Ｘ軸負方向、Ｙ軸正方向、およびＹ軸負方向いずれかの方向に一画素未満に相当する変位量で変位させたときに画素値が変わる画素である。これらの画素は、感度値が正値となる。一方、図１２において網掛けが施されていない画素（例えば、画素Ｐ００，Ｐ１０，Ｐ４３等）は、ターゲット１２をＸ軸正方向、Ｘ軸負方向、Ｙ軸正方向、およびＹ軸負方向いずれの方向に一画素未満に相当する変位量で変位させても画素値が変わらない画素である。これらの画素は、感度値が０（ゼロ）となる。
【００７５】
本実施形態において、位置検出装置３０の感度マップ生成部３２は、感度マップを生成する際に、画素の感度値に応じた重み付けを行う。具体的には、感度マップ生成部３２は、例えば、感度値が正値となる位置に対応する画素（例えば、図１２における網掛けが施された画素）に重み係数“１”を対応付け、感度値が０（ゼロ）となる位置に対応する画素（例えば、図１２における網掛けが施されていない画素）に重み係数“０”を対応付ける。
【００７６】
ゴール位置決定部３４は、感度マップ生成部３２が生成した感度マップに基づいて複数のゴール位置候補を選定する。例えば、ゴール位置決定部３４は、あらかじめ決定しておいた感度閾値を超える感度値の領域を感度マップから複数抽出し、これら抽出した複数の領域をゴール位置候補として選定する。そして、ゴール位置決定部３４は、これらゴール位置候補の位置情報をゴール位置調整部３３に供給する。
【００７７】
また、ゴール位置調整部３３は、ゴール位置決定部３４から供給されるゴール位置候補の位置情報を取り込み、これらの位置情報に基づいてターゲットを移動させる指示を含む内容の直交ロボット制御コマンドを生成し、この直交ロボット制御コマンドをロボット制御装置５０に供給する。
【００７８】
また、ターゲット検出部３７は、画像データ取得部３１から取り込んだ画像データとゴール画像記憶部３６から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部３７は、重み係数が“１”である画素のみを用いて一致度評価値の計算処理を実行する。これにより、ターゲットが動いたときに変化しない画像の重み係数を“０”とすることができるため、ノイズや背景画像による影響を抑えることができる。
【００７９】
以上、説明したように、本発明の第２実施形態によれば、感度に応じた重み係数を適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセルレベルでの位置合わせを行うことができる。
【００８０】
［第２の実施の形態における第１の変形例］
本発明の第２実施形態の第１変形例において、位置検出装置３０の感度マップ生成部３２は、感度値が大きくなるにしたがって大きな値となる重み係数を画素に対応付ける。例えば、感度マップ生成部３２は、画素に対応する領域に含まれる各位置における感度値の平均値に応じた重み係数を、０から１までの範囲の中から対応付ける。
【００８１】
ターゲット検出部３７は、画像データ取得部３１から取り込んだ画像データとゴール画像記憶部３６から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部３７は、重み係数が所定の閾値を超える値である画素のみを用いて一致度評価値の計算処理を実行する。
【００８２】
このように、感度に応じた重みを適用することによって、ノイズや背景画像による影響を抑えて画像比較を行うことができ、信頼性が高いサブピクセル精度の位置合わせを行うことができる。
【００８３】
［第２の実施の形態における第２の変形例］
本発明の第２実施形態の第２変形例において、位置検出装置３０の感度マップ生成部３２は、ターゲットの変位の方向ごとに感度マップを生成する。そして、感度マップ生成部３２は、ターゲットの変位の方向ごとに、感度値が大きくなるにしたがって大きな値となる重み係数を画素に対応付ける。例えば、感度マップ生成部３２は、ターゲットの変位の方向ごとに、画素に対応する領域に含まれる各位置における感度値の平均値に応じた重み係数を、０から１までの範囲の中から対応付ける。つまり、Ｘ軸正方向、Ｘ軸負方向、Ｙ軸正方向、およびＹ軸負方向それぞれに感度マップが生成された場合、感度マップ生成部３２は、各画素に４種類の重み係数を対応付ける。
【００８４】
ターゲット検出部３７は、画像データ取得部３１から取り込んだ画像データとゴール画像記憶部３６から読み込んだゴール画像データとに基づくターゲットの一致度評価値の計算処理において、ターゲットの変位の方向ごとに、画素の重みに応じて計算処理に用いる画素を選択する。具体的には、ターゲット検出部３７は、ターゲットの変位の方向ごとに、重み係数が所定の閾値を超える値である画素のみを用いて一致度評価値の計算処理を実行する。
【００８５】
このように、ターゲットの変位の方向ごとに感度に応じた重みを適用することによって、ターゲットの形状と移動方向とによる位置合わせ精度のばらつきを抑えることができ、より信頼性が高いサブピクセル精度の位置合わせを行うことができる。
【００８６】
なお、第１実施形態および第２実施形態、ならびに第２実施形態の変形例は、直交ロボット６０によりアセンブリー部品を微小移動させる例であった。撮像装置２０の撮像面に対してアセンブリー部品を移動させる手段としては、直交ロボット６０以外に、多関節ロボットを用いてもよい。また、アセンブリー部品を固定しておき、撮像装置２０を直交ロボットや多関節ロボットを用いて移動させるようにしてもよい。
【００８７】
また、各実施形態における位置検出装置３０，３０ａの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺装置のハードウェアを含むものである。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００８８】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８９】
１  ロボット装置
１０  多関節ロボット（搬送ロボット）
１０ａ  支持台
１０ｂ  アーム部
１０ｃ  ハンド部
１０ｄ  把持部
１０ｄ１，１０ｄ２  爪部
２０  撮像装置（撮像部）
３０  位置検出装置
３１  画像データ取得部
３２  感度マップ生成部
３３  ゴール位置調整部
３４  ゴール位置決定部
３６  ゴール画像記憶部
３７  ターゲット検出部
３８  ターゲット位置調整部
５０  ロボット制御装置（搬送ロボット制御部、位置変更ロボット制御部）
６０  直交ロボット（位置変更ロボット）
【図１】
0005803124.tif 000002
【図２】
0005803124.tif 000003
【図３】
0005803124.tif 000004
【図４】
0005803124.tif 000005
【図５】
0005803124.tif 000006
【図６】
0005803124.tif 000007
【図７】
0005803124.tif 000008
【図８】
0005803124.tif 000009
【図９】
0005803124.tif 000010
【図１０】
0005803124.tif 000011
【図１１】
0005803124.tif 000012
【図１２】
0005803124.tif 000013