"位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを設けた物体を、ゴール位置まで搬送可能に保持するロボット本体と、前記ゴール位置と前記物体とを視野に含めて撮像する撮像部と、前記マーカー領域が前記ゴール位置を含むよう前記物体を配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記基準位置が前記ゴール位置に一致する位置に、前記物体を配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記撮像部から取得する画像データから前記画像データにおけるマーカー領域を検出し、前記画像データにおけるマーカー領域と前記マーカーゴール画像データにおけるマーカー領域との位置のずれを検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から、前記ゴール位置に対する前記基準位置のずれを検出するターゲット検出部と、前記マーカー検出部が検出した前記位置のずれと前記ターゲット検出部が検出した前記ゴール位置に対する前記基準位置のずれとをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御するロボット制御部と、を備えることを特徴とするロボット装置。前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記ターゲット検出部が検出した前記ターゲット領域内の前記基準位置と、前記ゴール位置に対する前記ターゲット領域内の前記基準位置とのずれをサブピクセル推定処理によって検出するサブピクセル検出部をさらに備え、前記ロボット制御部は、前記サブピクセル検出部が検出した前記ターゲット領域内の前記基準位置のずれをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御することを特徴とする請求項1記載のロボット装置。前記ロボット本体は、可動のアーム部と前記アーム部に連結される可動のハンド部とを備えるとともに、前記ハンド部に前記撮像部が設けられており、前記マーカー領域は、円周の曲線により区分される領域であることを特徴とする請求項1または2記載のロボット装置。前記ロボット本体は、並進可動に前記撮像部を設けたものであり、前記マーカー領域は、多角形の線により区分される領域であることを特徴とする請求項1または2記載のロボット装置。オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、を備えることを特徴とする位置検出装置。オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部とを備えるコンピューターを、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、として機能させるための位置検出プログラム。画像データ取得部が、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを有するオブジェクトを含む画像データを取得する画像データ取得ステップと、マーカー検出部が、前記オブジェクトに含まれる前記マーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部から読み込む前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおける前記マーカー領域を検出するマーカー検出ステップと、ターゲット検出部が、前記マーカー領域に含まれる前記ターゲット領域内の前記基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部から読み込む前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出ステップと、を有することを特徴とする位置検出方法。しかしながら、従来のビジュアルフィードバック制御では、検出および追跡される対象物が例えば精密部品である場合、ロボットの制御装置は、その精密部品の微細な部位を検出するために高精度な画像解析処理を実行する必要があり、その画像解析処理に長い時間を要していた。例えば、対象物がギヤであり、このギヤに設けられた微細な軸穴を基台に設けられた軸に通す作業を組立ロボットに行わせる場合、組立ロボットは、ギヤの微細な軸穴を検出し、この軸穴を貫く軸が基台の軸と同軸となる位置にハンドを移動させるために高精度なテンプレートマッチング処理を実行する。しかし、微細な軸穴をターゲットとしてテンプレートマッチングするため、この組立ロボットでは、正確な位置検出に時間がかかっていた。そこで、本発明は上記課題を解決するためになされたものであり、物体およびオブジェクトの位置を高速に且つ高精度に検出する、ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法を提供することを目的とする。[1]上記の課題を解決するため、本発明の一態様であるロボット装置は、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを設けた物体を、ゴール位置まで搬送可能に保持するロボット本体と、前記ゴール位置と前記物体とを視野に含めて撮像する撮像部と、前記マーカー領域が前記ゴール位置を含むよう前記物体を配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記基準位置が前記ゴール位置に一致する位置に、前記物体を配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記撮像部から取得する画像データから前記画像データにおけるマーカー領域を検出し、前記画像データにおけるマーカー領域と前記マーカーゴール画像データにおけるマーカー領域との位置のずれを検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から、前記ゴール位置に対する前記基準位置のずれを検出するターゲット検出部と、前記マーカー検出部が検出した前記位置のずれと前記ターゲット検出部が検出した前記ゴール位置に対する前記基準位置のずれとをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御するロボット制御部と、を備えることを特徴とする。ここで、物体に設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、ロボット装置は、物体の位置を高速に且つ高精度に検出することができる。[2]上記[1]記載のロボット装置において、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記ターゲット検出部が検出した前記ターゲット領域内の前記基準位置と、前記ゴール位置に対する前記ターゲット領域内の前記基準位置とのずれをサブピクセル推定処理によって検出するサブピクセル検出部をさらに備え、前記ロボット制御部は、前記サブピクセル検出部が検出した前記ターゲット領域内の前記基準位置のずれをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御することを特徴とする。この構成によれば、ロボット装置は、サブピクセルレベルの精度で、物体のターゲット領域内の超微細な基準位置を検出することができる。そして、ロボット装置は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に物体をゴール位置に移動させることができる。[3]上記[1]または[2]記載のロボット装置において、前記ロボット本体は、可動のアーム部と前記アーム部に連結される可動のハンド部とを備えるとともに、前記ハンド部に前記撮像部が設けられており、前記マーカー領域は、円周の曲線により区分される領域であることを特徴とする。ここで、ロボット本体は、例えば6軸等の垂直多関節ロボットである。そして、マーカー領域を円周の曲線により区分される領域とすることにより、マーカー領域が画像の面内で回転した場合でも、正確に識別することができる。[4]上記[1]または[2]記載のロボット装置において、前記ロボット本体は、並進可動に前記撮像部を設けたものであり、前記マーカー領域は、多角形の線により区分される領域であることを特徴とする。ここで、ロボット本体は、例えば並進移動のみを行う直交ロボットである。このように並進移動のみの場合、マーカー領域が画像の面内で回転することを考慮する必要はなく、マーカー領域を、多角形の線により区分される領域、例えば四角形の枠による領域としてもよい。[5]上記の課題を解決するため、本発明の一態様である位置検出装置は、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、を備えることを特徴とする。ここで、オブジェクトに設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、位置検出装置は、オブジェクトの位置を高速に且つ高精度に検出することができる。[6]上記の課題を解決するため、本発明の一態様である位置検出プログラムは、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部とを備えるコンピューターを、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、として機能させる。[7]上記の課題を解決するため、本発明の一態様である位置検出方法は、画像データ取得部が、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを有するオブジェクトを含む画像データを取得する画像データ取得ステップと、マーカー検出部が、前記オブジェクトに含まれる前記マーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部から読み込む前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおける前記マーカー領域を検出するマーカー検出ステップと、ターゲット検出部が、前記マーカー領域に含まれる前記ターゲット領域内の前記基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部から読み込む前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出ステップと、を有することを特徴とする。よって、本発明の各態様によれば、物体およびオブジェクトの位置を高速に且つ高精度に検出することができる。以下、本発明を実施するための形態について、図面を参照して詳細に説明する。[第1の実施の形態]図1は、本発明の第1実施形態であるロボット装置の機能構成を表すブロック図である。このロボット装置は、ビジュアルフィードバック制御によって部品を目標位置まで搬送し、アセンブリ部品の組立作業を行う装置である。本実施形態における部品は、小型電子機器や精密機器等に組み込まれるアセンブリ部品を構成する精密部品である。同図に示すように、ロボット装置1は、ロボット本体10と、撮像装置撮像部20と、位置検出装置30と、ロボット制御装置ロボット制御部50とを備える。ロボット装置1は、ロボット本体10に把持させた部品を撮像装置20が撮像し、位置検出装置30が撮像装置20によって撮像された画像を解析して部品に対応して定義付けた検出対象物の検出処理を行い、ロボット制御装置50が位置検出装置30によって検出された検出対象物を目標位置まで移動させるようにロボット本体10を制御し、ロボット本体10がロボット制御装置50による制御により当該部品を搬送してアセンブリ部品を組立てる。ロボット装置1の各構成について、図2を併せ参照して説明する。図2は、ロボット装置1が工場の組立製造ラインに設置され、そのロボット装置1のロボット本体10がアセンブリ部品の組立作業を行っている様子を模式的に表した図である。同図に示す組立製造ラインには、ロボット装置1におけるロボット本体10および撮像装置20と、組立中である同種複数のアセンブリ部品が並べ置かれたコンベヤー100とが設置されている。なお、同図では、位置検出装置30およびロボット制御装置50の図示を省略している。また、同図における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる後述する図3および図4についても同様。ロボット本体10は、地面に固定された支持台10aと、旋回可能および屈伸可能に支持台10aに連結されたアーム部10bと、回動可能および首振り可能にアーム部10bに連結されたハンド部10cと、ハンド部10cに取り付けられた把持部10dとを含んで構成される。ロボット本体10は、例えば6軸の垂直多関節ロボットであり、支持台10aとアーム部10bとハンド部10cとの連係した動作によって6軸の自由度を有し、把持部10dが把持する部品の位置および向きを自在に変更することができる。ロボット本体10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。なお、ロボット本体10の自由度は6軸によるものに限られない。また、支持台10aは、壁や天井等、地面に対して固定された場所に設置してもよい。ロボット本体10の把持部10dは、部品220を把持する。部品220は、前述したとおり精密部品であり、例えば、微細な軸穴が設けられた平歯車である。本実施形態では、部品220の具体例を示す場合には、微細な軸穴を有する平歯車を例として説明する。コンベヤー100は、水平な可動載置台を有し、組立て中である同種複数のアセンブリ部品をその可動載置台に配置して矢印A方向に搬送する。各アセンブリ部品は、基台200に極細の軸径を有する軸210が設けられたものである。基台200は、可動載置台に載置された状態で水平面に平行となる面を有している。軸210は、その軸方向が基台200の前記の面に対して垂直となるように当該面に設けられている。複数のアセンブリ部品は、各軸210の開放された端部の中心点を結ぶ線が矢印A方向に伸びる直線Bとなるように、可動載置台に整列配置される。図2に示す組立製造ラインでは、ロボット装置1は、アセンブリ部品の軸210が部品220平歯車の軸穴に貫通するように、部品220をアセンブリ部品に取り付ける作業を行うものである。撮像装置20は、例えば、30フレーム/秒fps;framepersecond、120フレーム/秒、200フレーム/秒等のフレームレートで撮像するビデオカメラ装置である。撮像装置20は、コンベヤー100の可動載置台の上方において、撮影方向が垂直下方であり、図示しないレンズ光学系の光軸が直線Bと略交わる位置に固定設置される。なお、図2では、撮像装置20を固定する構造物等の図示を省略している。撮像装置20の撮影に際しては、コンベヤー100は、配列した複数のアセンブリ部品それぞれについて、軸210が撮像装置20の略直下、すなわち、レンズ光学系の光軸と軸210とが略一致する位置で可動載置台の動作を停止させる。撮像装置20は、可動載置台の動作が停止しているときに、位置検出装置30から供給される撮像要求コマンドにしたがってアセンブリ部品と部品220とを被写体として撮像し、この撮像により得られた画像データを位置検出装置30に供給する。位置検出装置30は、粗検出モードで動作した後に、微細検出モードで動作する。粗検出モードは、部品220に設けたマーカーの領域以下、単にマーカーともいう。を検出対象物とし、位置検出装置30がそのマーカーを検出して、目標位置である軸210の軸中心を含む位置マーカーゴール位置にマーカーを移動させるよう制御する処理のモードである。また、微細検出モードは、部品220に設けられた位置合わせの基準の部位であるターゲット例えば平歯車の軸穴の領域以下、単にターゲットともいう。を検出対象物とし、位置検出装置30がマーカーの領域内においてそのターゲットを検出して、目標位置である軸210の軸中心の位置ターゲットゴール位置にターゲットの基準位置平歯車の軸穴の中心位置を移動させるよう制御する処理のモードである。粗検出モードでは、位置合わせの精度を比較的低くすることにより処理負荷を抑えて処理速度を高速にする。一方、微細検出モードでは、位置合わせの精度を粗検出モードによるものよりも高くし、処理速度を粗検出モードによるものよりも低速にする。しかし、微細検出モードにおいては、ターゲットの検出領域をマーカーの領域内に限定するため、処理速度が低速になることによる影響は極めて少ない。粗検出モードにおいて、位置検出装置30は、撮像装置20から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品220に設けられたマーカーを検出する。そして、位置検出装置30は、その検出したマーカーをマーカーゴール位置に移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。テンプレートマッチングは、公知のオブジェクト検出方式の一つであり、例えば、検索対象画像をテンプレート画像で走査して、両画像の輝度差の絶対値の総和、または輝度差の二乗和を計算することによって類似度を求め、この類似度にしたがってオブジェクトを検出する。また、微細検出モードにおいて、位置検出装置30は、撮像装置20から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品220のターゲット平歯車の軸穴を検出する。そして、位置検出装置30は、その検出したターゲットの基準位置平歯車の軸穴の中心位置をターゲットゴール位置例えば軸210の軸中心の位置に移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。また、位置検出装置30は、ロボット制御装置50から供給されるロボット制御ステータスを取り込むと、このロボット制御ステータスの内容に応じて撮像装置20に撮像要求コマンドを供給する。ロボット制御装置50は、位置検出装置30から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。また、ロボット制御装置50は、ロボット本体10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30に供給する。図3は、ロボット本体10に取り付けられた把持部10dの先端部分と、把持部10dが把持する部品220平歯車とを、平歯車の軸穴を貫く軸方向であって撮像装置20側から見た模式的な図である。同図に示すように、把持部10dは、具備する対の爪部10d1,10d2で部品220を挟んで把持する。部品220が平歯車である場合は、把持部10dは、爪部10d1,10d2で平歯車の歯を挟んで把持する。部品220は、粗検出に用いられるマーカー222と、微細検出に用いられるターゲットとを有している。図3においては、軸穴221がターゲットである。マーカー222は、例えば、同図に示すような円周の曲線であり、その円周の内側にターゲットである軸穴221が入るように設けられる。ただし、マーカー222の円の中心点は、軸穴221の中心点に必ずしも一致しなくてよい。マーカー222は、撮像装置20によって撮像される被写体となるため、撮像装置20により視覚的に識別可能に設けられる。例えば、マーカー222は、部品220の外形色とのコントラストが異なる色の塗料で着色される。また、マーカー222は、塗料の塗布によるものではなく、シールを貼付するものでもよい。また、マーカー222は、部品220自体の加工によるものでもよい。例えば、マーカー222は、平歯車の面に円周の曲線を切削加工したものでもよい。また、部品220の材質が金属や樹脂等である場合、マーカー222をプレス加工や射出成形によって形成することが可能である。マーカー222を円周の曲線とすることにより、被写体が画像の面内で回転した場合でも、正確に識別することができる。図4は、部品220が基台200の軸210に取り付けられる様子を模式的に表した図である。なお、同図において、部品220は把持部10dによって把持されているが、把持部10dの図示を省略している。同図に示すように、部品220は、軸穴221の中心軸が軸210の軸上に一致し且つ軸210の上方の位置に把持部10dによって搬送され、次に垂直下方である矢印C方向に搬送されることにより、軸210を軸穴221に貫通させて基台200に取り付けられる。図5は、位置検出装置30の機能構成を表すブロック図である。同図に示すように、位置検出装置30は、画像データ取得部31と、マーカーゴール画像記憶部32と、マーカー検出部33と、マーカー位置調整部35と、ターゲットゴール画像記憶部36と、ターゲット検出部37と、ターゲット位置調整部39とを備える。画像データ取得部31は、撮像装置20から供給される画像データをフレーム単位で取り込み、粗検出モードにおいては取り込んだ画像データをマーカー検出部33に供給し、微細検出モードにおいては取り込んだ画像データをターゲット検出部37に供給する。マーカーゴール画像記憶部32は、マーカーがマーカーゴール位置に位置した状態の画像であるマーカーゴール画像データを記憶する。例えば、マーカーゴール画像記憶部32は、円周の曲線で表されるマーカー222がターゲットである軸210を囲む位置に設けられた状態のマーカーゴール画像データを記憶する。マーカー検出部33は、粗検出モードにおいて、画像データ取得部31から供給される画像データを取り込むとともに、マーカーゴール画像記憶部32からマーカーゴール画像データを読み込む。そして、マーカー検出部33は、マーカーゴール画像データを用いてテンプレートマッチング方式によるマーカーの検出処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値xt,ytを取得する。例えば、円周の曲線で表されるマーカー222では、円周の中心位置をマーカー222の基準位置xt,ytとする。なお、画像における座標系の原点は、例えば画像の左上隅の画素位置である。そして、マーカー検出部33は、その画像データにおけるマーカーの基準位置の座標値xt,ytとマーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygとを、マーカー位置調整部35に供給する。例えば、マーカー検出部33は、画像データ上で、マーカーゴール画像データにおけるマーカーを含む部分画像マーカー画像を1画素または数画素ずつずらしながらパターンが一致する場所を探索する。そして、マーカー検出部33は、パターンが一致する場所を検出した場合に、その場所におけるマーカーの基準位置の座標値xt,ytを取得し、このマーカーの基準位置の座標値xt,ytとマーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygとをマーカー位置調整部35に供給する。マーカー位置調整部35は、粗検出モードにおいて、マーカー検出部33から供給される、画像データにおけるマーカーの基準位置の座標値xt,ytとマーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygとを取り込む。そして、マーカー位置調整部35は、マーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygと画像データにおけるマーカーの基準位置の座標値xt,ytとの差分値xg-xt,yg-ytが0,0となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。また、マーカー位置調整部35は、ロボット制御装置50から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。ターゲットゴール画像記憶部36は、ターゲットの基準位置がターゲットゴール位置に位置した状態の画像であるターゲットゴール画像データを記憶する。例えば、ターゲットゴール画像記憶部36は、平歯車の軸穴221の中心が軸210の軸中心に一致する位置に当該平歯車の軸穴221が設けられた状態のターゲットゴール画像データを記憶する。ターゲット検出部37は、微細検出モードにおいて、画像データ取得部31から供給される画像データを取り込むとともに、ターゲットゴール画像記憶部36からターゲットゴール画像データを読み込む。そして、ターゲット検出部37は、ターゲットゴール画像データを用いてテンプレートマッチング方式によるターゲットの検出処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値xp,ypを取得する。例えば、ターゲットが部品220平歯車の軸穴221である場合、この軸穴221の中心位置を基準位置xp,ypとする。そして、ターゲット検出部37は、その画像データにおける基準位置の座標値xt,ytとターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoとを、ターゲット位置調整部39に供給する。例えば、ターゲット検出部37は、画像データ上で、ターゲットゴール画像データにおけるターゲットを含む部分画像ターゲット画像を1画素ずつずらしながらパターンが一致する場所を探索する。そして、ターゲット検出部37は、パターンが一致する場所を検出した場合に、その場所におけるターゲットの基準位置の座標値xp,ypを取得し、このターゲットの基準位置の座標値xp,ypとターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoとをターゲット位置調整部39に供給する。ターゲット位置調整部39は、微細検出モードにおいて、ターゲット検出部37から供給される、画像データにおけるターゲットの基準位置の座標値xp,ypとターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoとを取り込む。そして、ターゲット位置調整部39は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoと画像データにおけるターゲットの基準位置の座標値xp,ypとの差分値xo-xp,yo-ypが0,0となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。また、ターゲット位置調整部39は、ロボット制御装置50から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。次に、本実施形態であるロボット装置1の動作について説明する。図6は、ロボット装置1の処理手順を表すフローチャートである。図2に示した工場の組立製造ラインにおいて、コンベヤー100が、可動載置台に配列した複数のアセンブリ部品のうち、組立対象であるアセンブリ部品の軸210が撮像装置20の略直下、すなわち、レンズ光学系の光軸と軸210とが略一致する位置で可動載置台の動作を停止させ、位置検出装置30が粗検出モードに設定された後、図6のフローチャートの処理が実行される。まず、ステップS1において、撮像装置20は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置30に供給する。次に、ステップS2において、位置検出装置30は、撮像装置20から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品220に設けられたマーカーを検出する。ステップS2の処理について詳細に説明する。位置検出装置30の画像データ取得部31は、撮像装置20から供給される画像データを取り込んでマーカー検出部33に供給する。次に、マーカー検出部33は、画像データ取得部31から供給される画像データを取り込み、マーカーゴール画像記憶部32からマーカーゴール画像データを読み込む。次に、マーカー検出部33は、マーカーゴール画像データを用いてテンプレートマッチング法によるマーカーの探索処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値xt,ytを取得する。次に、マーカー検出部33は、その画像データにおけるマーカーの基準位置の座標値xt,ytとマーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygとを、マーカー位置調整部35に供給する。次に、ステップS3において、マーカー位置調整部35は、マーカー検出部33から供給される、画像データにおけるマーカーの基準位置の座標値xt,ytとマーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygとを取り込む。次に、マーカー位置調整部35は、マーカーゴール画像データにおけるマーカーの基準位置の座標値xg,ygと画像データにおけるマーカーの基準位置の座標値xt,ytとの差分値xg-xt,yg-ytを計算する。次に、マーカー位置調整部35は、差分値が0,0でない場合は、マーカーがゴールしていないと判定してステップS4の処理に移る。ステップS4において、マーカー位置調整部35は、差分値が0,0となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。次に、ロボット制御装置50は、位置検出装置30から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置50は、ロボット本体10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30に供給する。次に、ステップS5において、位置検出装置30のマーカー位置調整部35は、ロボット制御装置50から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給してステップS1の処理に戻る。一方、ステップS3の処理において、差分値が0,0であるとマーカー位置調整部35が判定した場合は、位置検出装置30を微細検出モードに設定してステップS6の処理に移る。ステップS6において、撮像装置20は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置30に供給する。ステップS7において、位置検出装置30は、撮像装置20から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品220のターゲット平歯車の軸穴を検出する。ステップS7の処理について詳細に説明する。位置検出装置30の画像データ取得部31は、撮像装置20から供給される画像データをフレーム単位で取り込んでターゲット検出部37に供給する。次に、ターゲット検出部37は、画像データ取得部31から供給される画像データを取り込み、ターゲットゴール画像記憶部36からターゲットゴール画像データを読み込む。次に、ターゲット検出部37は、ターゲットゴール画像データを用いてテンプレートマッチング法によるターゲットの探索処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値xp,ypを取得する。次に、ターゲット検出部37は、その画像データにおける基準位置の座標値xt,ytとターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoとを、ターゲット位置調整部39に供給する。次に、ステップS8において、ターゲット位置調整部39は、ターゲット検出部37から供給される、画像データにおけるターゲットの基準位置の座標値xp,ypとターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoとを取り込む。次に、ターゲット位置調整部39は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値xo,yoと画像データにおけるターゲットの基準位置の座標値xp,ypとの差分値xo-xp,yo-ypを計算する。次に、ターゲット位置調整部39は、差分値が0,0でない場合は、ターゲットがゴールしていないと判定してステップS9の処理に移る。ステップS9において、ターゲット位置調整部39は、差分値が0,0となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。次に、ロボット制御装置50は、位置検出装置30から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置50は、ロボット本体10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30に供給する。次に、ステップS10において、位置検出装置30のターゲット位置調整部39は、ロボット制御装置50から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給してステップS6の処理に戻る。一方、ステップS8の処理において、差分値が0,0であるとターゲット位置調整部39が判定した場合は、本フローチャートの処理を終了する。本発明の第1実施形態によれば、部品220が例えば精密部品である平歯車である場合、軸穴221を含むマーカー222は、軸穴221よりも広い領域である。よって、位置検出装置30のマーカー検出部33は、比較的広い領域であるマーカー222の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、位置検出装置30のターゲット検出部37は、検出対象が微細な軸穴221であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー222内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、画像位置検出装置30は、部品220の微細な基準位置を高速に且つ高精度に検出することができる。そして、ロボット装置1は、高速に且つ高精度に位置合わせを行って、部品220の軸穴221をアセンブリ部品の軸210に通すことができる。[第2の実施の形態]図7は、本発明の第2実施形態であるロボット装置における位置検出装置の機能構成を表すブロック図である。なお、上述した第1実施形態と同一の構成については、同一の符号を付してその説明を省略する。同図において、位置検出装置30aは、第1実施形態における位置検出装置30に対して、ターゲット検出部サブピクセル検出部40と、ターゲット位置調整部41とが新たに追加された構成を有する。位置検出装置30aは、粗検出モード、微細検出モード、サブピクセル推定検出モードの順序で動作する。粗検出モードおよび微細検出モードは、第1実施形態で説明した位置検出モードである。サブピクセル推定検出モードは、画素ピクセルサイズ未満の距離の精度でターゲットの位置を検出して、目標位置である軸210の軸中心の位置ターゲットゴール位置にターゲットの基準位置平歯車の軸穴の中心位置を移動させるよう制御する処理のモードである。位置検出装置30aは、サブピクセル推定検出モードで動作するため、画像データ取得部31の内部処理が第1実施形態と異なる。本実施形態における画像データ取得部31は、撮像装置20から供給される画像データをフレーム単位で取り込み、粗検出モードにおいては取り込んだ画像データをマーカー検出部33に供給し、微細検出モードにおいては取り込んだ画像データをターゲット検出部37に供給し、サブピクセル推定検出モードにおいては取り込んだ画像データをターゲット検出部40に供給する。ターゲット検出部40は、サブピクセル推定検出モードにおいて、画像データ取得部31から供給される画像データを取り込むとともに、ターゲットゴール画像記憶部36からターゲットゴール画像データを読み込む。そして、ターゲット検出部40は、ターゲットゴール画像データを用いて公知のサブピクセル推定技術によりターゲットのサブピクセルレベルでの位置ずれ量を推定する。例えば、ターゲット検出部40は、ターゲットゴール画像データを用いて画像の濃度勾配に基づきサブピクセルレベルでの位置ずれ量のベクトルを推定する。ターゲット検出部40は、推定した位置ずれ量のベクトルをターゲット位置調整部41に供給する。ターゲット位置調整部41は、サブピクセル推定検出モードにおいて、ターゲット検出部40から供給される位置ずれ量のベクトルを取り込む。そして、ターゲット位置調整部41は、位置ずれ量のベクトルが相殺されるようターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。また、ターゲット位置調整部41は、ロボット制御装置50から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置20に供給する。次に、本実施形態であるロボット装置1の動作について説明する。図8は、ロボット装置1の処理手順を表すフローチャートである。同図において、ステップS1からステップS10までの処理は、第1実施形態における処理と同一であるため、その説明を省略する。ステップS8の処理において、差分値が0,0であるとターゲット位置調整部39が判定した場合は、位置検出装置30aをサブピクセル推定検出モードに設定してステップS11の処理に移る。ステップS11において、撮像装置20は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置30aに供給する。ステップS12において、位置検出装置30aは、撮像装置20から供給される画像データを取り込み、サブピクセル推定技術によりターゲット平歯車の軸穴のサブピクセルレベルでの位置ずれ量を推定する。ステップS12の処理について詳細に説明する。位置検出装置30aの画像データ取得部31は、撮像装置20から供給される画像データをフレーム単位で取り込んでターゲット検出部40に供給する。次に、ターゲット検出部40は、画像データ取得部31から供給される画像データを取り込み、ターゲットゴール画像記憶部36からターゲットゴール画像データを読み込む。次に、ターゲット検出部40は、ターゲットゴール画像データを用いて画像の濃度勾配に基づきサブピクセルレベルでの位置ずれ量のベクトルを推定する。次に、ターゲット検出部40は、推定した位置ずれ量のベクトルをターゲット位置調整部41に供給する。次に、ステップS13において、ターゲット位置調整部41は、ターゲット検出部40から供給される位置ずれ量のベクトルを取り込む。次に、ターゲット位置調整部41は、位置ずれ量のベクトルが相殺されるようターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置50に供給する。次に、ロボット制御装置50は、位置検出装置30aから供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体10は、ロボット制御装置50による制御によって、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置50は、ロボット本体10を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置30aに供給する。本発明の第2実施形態によれば、画像位置検出装置30aは、サブピクセルレベルの精度で、部品220の超微細な基準位置を検出することができる。そして、ロボット装置1は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に部品220の軸穴221をアセンブリ部品の軸210に通すことができる。なお、上述した各実施形態においては、マーカー222が円周の曲線である場合について説明した。このマーカー222の形状は、これに限らず、例えば図9に示すものでもよい。同図aは、円周の曲線を二重に設けたマーカーである。このマーカーによれば、単一の円周の曲線によるマーカーに比べて、テンプレートマッチング処理におけるマーカーの誤検出率を低減することができる。同図bは、円周の曲線を破線としたマーカーである。このように、マーカーの線は必ずしも閉ループである必要はなく、マーカー検出部33が、線分が無い区間を補完してマーカー内外の領域を区分すればよい。同図cは、単一の四角形の枠をマーカーとしたものである。ロボット本体10が、直交ロボットのような並進移動のみを行うロボット装置である場合は、マーカー222が画像の面内で回転することを考慮する必要はない。なお、マーカー222は、四角形の枠に限らず多角形の枠であってもよい。同図dは、二つの四角形の枠を変位させて重ね合わせたマーカーである。このマーカーによれば、単一の四角形の枠によるマーカーに比べて、テンプレートマッチング処理におけるマーカーの誤検出率を低減することができる。また、部品220にマーカー222を設けるのではなく、部品220の外形をマーカーに対応付けてもよい。また、各実施形態においては、撮像装置20を固定設置してアセンブリ部品をコンベヤー100により搬送する例について説明した。これ以外にも、アセンブリ部品を固定された台に載置して、撮像装置20を移動させるようにしてもよい。さらには、ロボット装置が撮像装置を移動させるようにしてもよい。また、各実施形態における位置検出装置30,30aの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいうコンピューターシステムとは、OSOperatingSystemや周辺装置のハードウェアを含むものである。また、コンピューター読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらにコンピューター読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。"