(57)【要約】【課題】物体の位置を高速に且つ高精度に検出する。【解決手段】位置検出装置３０は、微細な軸穴とこの軸穴を含むマーカーとを設けたオブジェクトを含む画像データを取得する画像データ取得部３１と、マーカーをゴール位置に対応付けたマーカーゴール画像データを記憶するマーカーゴール画像記憶部３２と、軸穴の軸中心をゴール位置に対応付けたターゲットゴール画像データを記憶するターゲットゴール画像記憶部３６と、マーカーゴール画像データを用いて、画像データ取得部３１が取得した画像データからマーカーを検出するマーカー検出部３３と、ターゲットゴール画像データを用いて、画像データ取得部３１が取得した画像データにおける、マーカー検出部３３が検出したマーカー内から軸穴を検出するターゲット検出部３７とを備えた。【選択図】図５
2015214022.tif 000002
【特許請求の範囲】
【請求項１】
位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを設けた物体を、ゴール位置まで搬送可能に保持するロボット本体と、
前記ゴール位置と前記物体とを視野に含めて撮像する撮像部と、
前記マーカー領域が前記ゴール位置を含むよう前記物体を配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、
前記基準位置が前記ゴール位置に一致する位置に、前記物体を配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、
前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記撮像部から取得する画像データから前記画像データにおけるマーカー領域を検出し、前記画像データにおけるマーカー領域と前記マーカーゴール画像データにおけるマーカー領域との位置のずれを検出するマーカー検出部と、
前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から、前記ゴール位置に対する前記基準位置のずれを検出するターゲット検出部と、
前記マーカー検出部が検出した前記位置のずれと前記ターゲット検出部が検出した前記ゴール位置に対する前記基準位置のずれとをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御するロボット制御部と、
を備えることを特徴とするロボット装置。
【請求項２】
前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記ターゲット検出部が検出した前記ターゲット領域内の前記基準位置と、前記ゴール位置に対する前記ターゲット領域内の前記基準位置とのずれをサブピクセル推定処理によって検出するサブピクセル検出部をさらに備え、
前記ロボット制御部は、前記サブピクセル検出部が検出した前記ターゲット領域内の前記基準位置のずれをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御する
ことを特徴とする請求項１記載のロボット装置。
【請求項３】
前記ロボット本体は、可動のアーム部と前記アーム部に連結される可動のハンド部とを備えるとともに、前記ハンド部に前記撮像部が設けられており、
前記マーカー領域は、円周の曲線により区分される領域であることを特徴とする請求項１または２記載のロボット装置。
【請求項４】
前記ロボット本体は、並進可動に前記撮像部を設けたものであり、
前記マーカー領域は、多角形の線により区分される領域であることを特徴とする請求項１または２記載のロボット装置。
【請求項５】
オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、
前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、
前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、
前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、
前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、
を備えることを特徴とする位置検出装置。
【請求項６】
オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部とを備えるコンピューターを、
前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、
前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、
前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、
前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、
として機能させるための位置検出プログラム。
【請求項７】
画像データ取得部が、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを有するオブジェクトを含む画像データを取得する画像データ取得ステップと、
マーカー検出部が、前記オブジェクトに含まれる前記マーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部から読み込む前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおける前記マーカー領域を検出するマーカー検出ステップと、
ターゲット検出部が、前記マーカー領域に含まれる前記ターゲット領域内の前記基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部から読み込む前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出ステップと、
を有することを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法に関する。
【背景技術】
【０００２】
電子機器の製造工程において、組立てにおける多くの作業は自動化されている。この自動化された製造ラインでは、例えば、組立ロボットが、プログラム制御により、ハンドで部品単体やアセンブリ部品を把持して搬送し、電子機器を組み立てていくことが多い。
ところで、近年、電子機器のますますの小型化、精密化に伴って、電子機器には精密部品が多数使用されている。組立ロボットが、そのような精密部品の取付け作業を行うためには、極めて高精度な位置決めを行う必要がある。
【０００３】
従来、ビジュアルフィードバック制御により対象物を検出して追跡するロボットが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０８００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のビジュアルフィードバック制御では、検出および追跡される対象物が例えば精密部品である場合、ロボットの制御装置は、その精密部品の微細な部位を検出するために高精度な画像解析処理を実行する必要があり、その画像解析処理に長い時間を要していた。例えば、対象物がギヤであり、このギヤに設けられた微細な軸穴を基台に設けられた軸に通す作業を組立ロボットに行わせる場合、組立ロボットは、ギヤの微細な軸穴を検出し、この軸穴を貫く軸が基台の軸と同軸となる位置にハンドを移動させるために高精度なテンプレートマッチング処理を実行する。しかし、微細な軸穴をターゲットとしてテンプレートマッチングするため、この組立ロボットでは、正確な位置検出に時間がかかっていた。
【０００６】
そこで、本発明は上記課題を解決するためになされたものであり、物体およびオブジェクトの位置を高速に且つ高精度に検出する、ロボット装置、位置検出装置、位置検出プログラム、および位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
［１］上記の課題を解決するため、本発明の一態様であるロボット装置は、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを設けた物体を、ゴール位置まで搬送可能に保持するロボット本体と、前記ゴール位置と前記物体とを視野に含めて撮像する撮像部と、前記マーカー領域が前記ゴール位置を含むよう前記物体を配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記基準位置が前記ゴール位置に一致する位置に、前記物体を配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記撮像部から取得する画像データから前記画像データにおけるマーカー領域を検出し、前記画像データにおけるマーカー領域と前記マーカーゴール画像データにおけるマーカー領域との位置のずれを検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から、前記ゴール位置に対する前記基準位置のずれを検出するターゲット検出部と、前記マーカー検出部が検出した前記位置のずれと前記ターゲット検出部が検出した前記ゴール位置に対する前記基準位置のずれとをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御するロボット制御部と、を備えることを特徴とする。
ここで、物体に設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、ロボット装置は、物体の位置を高速に且つ高精度に検出することができる。
【０００８】
［２］上記［１］記載のロボット装置において、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記ターゲット検出部が検出した前記ターゲット領域内の前記基準位置と、前記ゴール位置に対する前記ターゲット領域内の前記基準位置とのずれをサブピクセル推定処理によって検出するサブピクセル検出部をさらに備え、前記ロボット制御部は、前記サブピクセル検出部が検出した前記ターゲット領域内の前記基準位置のずれをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御することを特徴とする。
この構成によれば、ロボット装置は、サブピクセルレベルの精度で、物体のターゲット領域内の超微細な基準位置を検出することができる。そして、ロボット装置は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に物体をゴール位置に移動させることができる。
【０００９】
［３］上記［１］または［２］記載のロボット装置において、前記ロボット本体は、可動のアーム部と前記アーム部に連結される可動のハンド部とを備えるとともに、前記ハンド部に前記撮像部が設けられており、前記マーカー領域は、円周の曲線により区分される領域であることを特徴とする。
ここで、ロボット本体は、例えば６軸等の垂直多関節ロボットである。そして、マーカー領域を円周の曲線により区分される領域とすることにより、マーカー領域が画像の面内で回転した場合でも、正確に識別することができる。
【００１０】
［４］上記［１］または［２］記載のロボット装置において、前記ロボット本体は、並進可動に前記撮像部を設けたものであり、前記マーカー領域は、多角形の線により区分される領域であることを特徴とする。
ここで、ロボット本体は、例えば並進移動のみを行う直交ロボットである。このように並進移動のみの場合、マーカー領域が画像の面内で回転することを考慮する必要はなく、マーカー領域を、多角形の線により区分される領域、例えば四角形の枠による領域としてもよい。
【００１１】
［５］上記の課題を解決するため、本発明の一態様である位置検出装置は、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、を備えることを特徴とする。
ここで、オブジェクトに設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、位置検出装置は、オブジェクトの位置を高速に且つ高精度に検出することができる。
【００１２】
［６］上記の課題を解決するため、本発明の一態様である位置検出プログラムは、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部とを備えるコンピューターを、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、として機能させる。
【００１３】
［７］上記の課題を解決するため、本発明の一態様である位置検出方法は、画像データ取得部が、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを有するオブジェクトを含む画像データを取得する画像データ取得ステップと、マーカー検出部が、前記オブジェクトに含まれる前記マーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部から読み込む前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおける前記マーカー領域を検出するマーカー検出ステップと、ターゲット検出部が、前記マーカー領域に含まれる前記ターゲット領域内の前記基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部から読み込む前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出ステップと、を有することを特徴とする。
【００１４】
よって、本発明の各態様によれば、物体およびオブジェクトの位置を高速に且つ高精度に検出することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態であるロボット装置の機能構成を表すブロック図である。
【図２】同実施形態において、ロボット装置が工場の組立製造ラインに設置され、ロボット本体がアセンブリ部品の組立作業を行っている様子を模式的に表した図である。
【図３】同実施形態において、ロボット本体に取り付けられた把持部の先端部分と、その把持部が把持する平歯車とを、平歯車の軸穴を貫く軸方向であって撮像装置側から見た模式的な図である。
【図４】同実施形態において、平歯車が基台の軸に取り付けられる様子を模式的に表した図である。
【図５】同実施形態において、位置検出装置の機能構成を表すブロック図である。
【図６】同実施形態において、ロボット装置の処理手順を表すフローチャートである。
【図７】本発明の第２実施形態であるロボット装置における位置検出装置の機能構成を表すブロック図である。
【図８】同実施形態において、ロボット装置の処理手順を表すフローチャートである。
【図９】マーカーの形状の別の例である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
［第１の実施の形態］
図１は、本発明の第１実施形態であるロボット装置の機能構成を表すブロック図である。このロボット装置は、ビジュアルフィードバック制御によって部品を目標位置まで搬送し、アセンブリ部品の組立作業を行う装置である。本実施形態における部品は、小型電子機器や精密機器等に組み込まれるアセンブリ部品を構成する精密部品である。
同図に示すように、ロボット装置１は、ロボット本体１０と、撮像装置（撮像部）２０と、位置検出装置３０と、ロボット制御装置（ロボット制御部）５０とを備える。
【００１７】
ロボット装置１は、ロボット本体１０に把持させた部品を撮像装置２０が撮像し、位置検出装置３０が撮像装置２０によって撮像された画像を解析して部品に対応して定義付けた検出対象物の検出処理を行い、ロボット制御装置５０が位置検出装置３０によって検出された検出対象物を目標位置まで移動させるようにロボット本体１０を制御し、ロボット本体１０がロボット制御装置５０による制御により当該部品を搬送してアセンブリ部品を組立てる。ロボット装置１の各構成について、図２を併せ参照して説明する。
【００１８】
図２は、ロボット装置１が工場の組立製造ラインに設置され、そのロボット装置１のロボット本体１０がアセンブリ部品の組立作業を行っている様子を模式的に表した図である。同図に示す組立製造ラインには、ロボット装置１におけるロボット本体１０および撮像装置２０と、組立中である同種複数のアセンブリ部品が並べ置かれたコンベヤー１００とが設置されている。
なお、同図では、位置検出装置３０およびロボット制御装置５０の図示を省略している。また、同図における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる（後述する図３および図４についても同様）。
【００１９】
ロボット本体１０は、地面に固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、回動可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃと、ハンド部１０ｃに取り付けられた把持部１０ｄとを含んで構成される。ロボット本体１０は、例えば６軸の垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有し、把持部１０ｄが把持する部品の位置および向きを自在に変更することができる。ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。
なお、ロボット本体１０の自由度は６軸によるものに限られない。また、支持台１０ａは、壁や天井等、地面に対して固定された場所に設置してもよい。
【００２０】
ロボット本体１０の把持部１０ｄは、部品２２０を把持する。部品２２０は、前述したとおり精密部品であり、例えば、微細な軸穴が設けられた平歯車である。本実施形態では、部品２２０の具体例を示す場合には、微細な軸穴を有する平歯車を例として説明する。
【００２１】
コンベヤー１００は、水平な可動載置台を有し、組立て中である同種複数のアセンブリ部品をその可動載置台に配置して矢印Ａ方向に搬送する。各アセンブリ部品は、基台２００に極細の軸径を有する軸２１０が設けられたものである。基台２００は、可動載置台に載置された状態で水平面に平行となる面を有している。軸２１０は、その軸方向が基台２００の前記の面に対して垂直となるように当該面に設けられている。複数のアセンブリ部品は、各軸２１０の開放された端部の中心点を結ぶ線が矢印Ａ方向に伸びる直線Ｂとなるように、可動載置台に整列配置される。
図２に示す組立製造ラインでは、ロボット装置１は、アセンブリ部品の軸２１０が部品２２０（平歯車）の軸穴に貫通するように、部品２２０をアセンブリ部品に取り付ける作業を行うものである。
【００２２】
撮像装置２０は、例えば、３０フレーム／秒（ｆｐｓ；ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）、１２０フレーム／秒、２００フレーム／秒等のフレームレートで撮像するビデオカメラ装置である。撮像装置２０は、コンベヤー１００の可動載置台の上方において、撮影方向が垂直下方であり、図示しないレンズ光学系の光軸が直線Ｂと略交わる位置に固定設置される。なお、図２では、撮像装置２０を固定する構造物等の図示を省略している。
撮像装置２０の撮影に際しては、コンベヤー１００は、配列した複数のアセンブリ部品それぞれについて、軸２１０が撮像装置２０の略直下、すなわち、レンズ光学系の光軸と軸２１０とが略一致する位置で可動載置台の動作を停止させる。撮像装置２０は、可動載置台の動作が停止しているときに、位置検出装置３０から供給される撮像要求コマンドにしたがってアセンブリ部品と部品２２０とを被写体として撮像し、この撮像により得られた画像データを位置検出装置３０に供給する。
【００２３】
位置検出装置３０は、粗検出モードで動作した後に、微細検出モードで動作する。
粗検出モードは、部品２２０に設けたマーカーの領域（以下、単にマーカーともいう。
）を検出対象物とし、位置検出装置３０がそのマーカーを検出して、目標位置である軸２１０の軸中心を含む位置（マーカーゴール位置）にマーカーを移動させるよう制御する処理のモードである。
また、微細検出モードは、部品２２０に設けられた位置合わせの基準の部位であるターゲット（例えば平歯車の軸穴）の領域（以下、単にターゲットともいう。）を検出対象物とし、位置検出装置３０がマーカーの領域内においてそのターゲットを検出して、目標位置である軸２１０の軸中心の位置（ターゲットゴール位置）にターゲットの基準位置（平歯車の軸穴の中心位置）を移動させるよう制御する処理のモードである。
【００２４】
粗検出モードでは、位置合わせの精度を比較的低くすることにより処理負荷を抑えて処理速度を高速にする。一方、微細検出モードでは、位置合わせの精度を粗検出モードによるものよりも高くし、処理速度を粗検出モードによるものよりも低速にする。しかし、微細検出モードにおいては、ターゲットの検出領域をマーカーの領域内に限定するため、処理速度が低速になることによる影響は極めて少ない。
【００２５】
粗検出モードにおいて、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品２２０に設けられたマーカーを検出する。そして、位置検出装置３０は、その検出したマーカーをマーカーゴール位置に移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
テンプレートマッチングは、公知のオブジェクト検出方式の一つであり、例えば、検索対象画像をテンプレート画像で走査して、両画像の輝度差の絶対値の総和、または輝度差の二乗和を計算することによって類似度を求め、この類似度にしたがってオブジェクトを検出する。
【００２６】
また、微細検出モードにおいて、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品２２０のターゲット（平歯車の軸穴）を検出する。そして、位置検出装置３０は、その検出したターゲットの基準位置（平歯車の軸穴の中心位置）をターゲットゴール位置（例えば軸２１０の軸中心の位置）に移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
また、位置検出装置３０は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込むと、このロボット制御ステータスの内容に応じて撮像装置２０に撮像要求コマンドを供給する。
【００２７】
ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。
また、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００２８】
図３は、ロボット本体１０に取り付けられた把持部１０ｄの先端部分と、把持部１０ｄが把持する部品２２０（平歯車）とを、平歯車の軸穴を貫く軸方向であって撮像装置２０側から見た模式的な図である。同図に示すように、把持部１０ｄは、具備する対の爪部１０ｄ１，１０ｄ２で部品２２０を挟んで把持する。部品２２０が平歯車である場合は、把持部１０ｄは、爪部１０ｄ１，１０ｄ２で平歯車の歯を挟んで把持する。
【００２９】
部品２２０は、粗検出に用いられるマーカー２２２と、微細検出に用いられるターゲットとを有している。図３においては、軸穴２２１がターゲットである。
マーカー２２２は、例えば、同図に示すような円周の曲線であり、その円周の内側にターゲットである軸穴２２１が入るように設けられる。ただし、マーカー２２２の円の中心点は、軸穴２２１の中心点に必ずしも一致しなくてよい。
【００３０】
マーカー２２２は、撮像装置２０によって撮像される被写体となるため、撮像装置２０により視覚的に識別可能に設けられる。例えば、マーカー２２２は、部品２２０の外形色とのコントラストが異なる色の塗料で着色される。また、マーカー２２２は、塗料の塗布によるものではなく、シールを貼付するものでもよい。また、マーカー２２２は、部品２２０自体の加工によるものでもよい。例えば、マーカー２２２は、平歯車の面に円周の曲線を切削加工したものでもよい。また、部品２２０の材質が金属や樹脂等である場合、マーカー２２２をプレス加工や射出成形によって形成することが可能である。
マーカー２２２を円周の曲線とすることにより、被写体が画像の面内で回転した場合でも、正確に識別することができる。
【００３１】
図４は、部品２２０が基台２００の軸２１０に取り付けられる様子を模式的に表した図である。なお、同図において、部品２２０は把持部１０ｄによって把持されているが、把持部１０ｄの図示を省略している。同図に示すように、部品２２０は、軸穴２２１の中心軸が軸２１０の軸上に一致し且つ軸２１０の上方の位置に把持部１０ｄによって搬送され、次に垂直下方である矢印Ｃ方向に搬送されることにより、軸２１０を軸穴２２１に貫通させて基台２００に取り付けられる。
【００３２】
図５は、位置検出装置３０の機能構成を表すブロック図である。同図に示すように、位置検出装置３０は、画像データ取得部３１と、マーカーゴール画像記憶部３２と、マーカー検出部３３と、マーカー位置調整部３５と、ターゲットゴール画像記憶部３６と、ターゲット検出部３７と、ターゲット位置調整部３９とを備える。
【００３３】
画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込み、粗検出モードにおいては取り込んだ画像データをマーカー検出部３３に供給し、微細検出モードにおいては取り込んだ画像データをターゲット検出部３７に供給する。
【００３４】
マーカーゴール画像記憶部３２は、マーカーがマーカーゴール位置に位置した状態の画像であるマーカーゴール画像データを記憶する。例えば、マーカーゴール画像記憶部３２は、円周の曲線で表されるマーカー２２２がターゲットである軸２１０を囲む位置に設けられた状態のマーカーゴール画像データを記憶する。
【００３５】
マーカー検出部３３は、粗検出モードにおいて、画像データ取得部３１から供給される画像データを取り込むとともに、マーカーゴール画像記憶部３２からマーカーゴール画像データを読み込む。そして、マーカー検出部３３は、マーカーゴール画像データを用いてテンプレートマッチング方式によるマーカーの検出処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得する。例えば、円周の曲線で表されるマーカー２２２では、円周の中心位置をマーカー２２２の基準位置（ｘｔ，ｙｔ）とする。なお、画像における座標系の原点は、例えば画像の左上隅の画素位置である。そして、マーカー検出部３３は、その画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを、マーカー位置調整部３５に供給する。
【００３６】
例えば、マーカー検出部３３は、画像データ上で、マーカーゴール画像データにおけるマーカーを含む部分画像（マーカー画像）を１画素または数画素ずつずらしながらパターンが一致する場所を探索する。そして、マーカー検出部３３は、パターンが一致する場所を検出した場合に、その場所におけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得し、このマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とをマーカー位置調整部３５に供給する。
【００３７】
マーカー位置調整部３５は、粗検出モードにおいて、マーカー検出部３３から供給される、画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを取り込む。そして、マーカー位置調整部３５は、マーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）と画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）との差分値（ｘｇ−ｘｔ，ｙｇ−ｙｔ）が（０，０）となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００３８】
また、マーカー位置調整部３５は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００３９】
ターゲットゴール画像記憶部３６は、ターゲットの基準位置がターゲットゴール位置に位置した状態の画像であるターゲットゴール画像データを記憶する。例えば、ターゲットゴール画像記憶部３６は、平歯車の軸穴２２１の中心が軸２１０の軸中心に一致する位置に当該平歯車の軸穴２２１が設けられた状態のターゲットゴール画像データを記憶する。
【００４０】
ターゲット検出部３７は、微細検出モードにおいて、画像データ取得部３１から供給される画像データを取り込むとともに、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。そして、ターゲット検出部３７は、ターゲットゴール画像データを用いてテンプレートマッチング方式によるターゲットの検出処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。例えば、ターゲットが部品２２０（平歯車）の軸穴２２１である場合、この軸穴２２１の中心位置を基準位置（ｘｐ，ｙｐ）とする。そして、ターゲット検出部３７は、その画像データにおける基準位置の座標値（ｘｔ，ｙｔ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３９に供給する。
【００４１】
例えば、ターゲット検出部３７は、画像データ上で、ターゲットゴール画像データにおけるターゲットを含む部分画像（ターゲット画像）を１画素ずつずらしながらパターンが一致する場所を探索する。そして、ターゲット検出部３７は、パターンが一致する場所を検出した場合に、その場所におけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得し、このターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とをターゲット位置調整部３９に供給する。
【００４２】
ターゲット位置調整部３９は、微細検出モードにおいて、ターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。そして、ターゲット位置調整部３９は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００４３】
また、ターゲット位置調整部３９は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００４４】
次に、本実施形態であるロボット装置１の動作について説明する。
図６は、ロボット装置１の処理手順を表すフローチャートである。図２に示した工場の組立製造ラインにおいて、コンベヤー１００が、可動載置台に配列した複数のアセンブリ部品のうち、組立対象であるアセンブリ部品の軸２１０が撮像装置２０の略直下、すなわち、レンズ光学系の光軸と軸２１０とが略一致する位置で可動載置台の動作を停止させ、位置検出装置３０が粗検出モードに設定された後、図６のフローチャートの処理が実行される。
【００４５】
まず、ステップＳ１において、撮像装置２０は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。
【００４６】
次に、ステップＳ２において、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品２２０に設けられたマーカーを検出する。
【００４７】
ステップＳ２の処理について詳細に説明する。位置検出装置３０の画像データ取得部３１は、撮像装置２０から供給される画像データを取り込んでマーカー検出部３３に供給する。次に、マーカー検出部３３は、画像データ取得部３１から供給される画像データを取り込み、マーカーゴール画像記憶部３２からマーカーゴール画像データを読み込む。次に、マーカー検出部３３は、マーカーゴール画像データを用いてテンプレートマッチング法によるマーカーの探索処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得する。次に、マーカー検出部３３は、その画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを、マーカー位置調整部３５に供給する。
【００４８】
次に、ステップＳ３において、マーカー位置調整部３５は、マーカー検出部３３から供給される、画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを取り込む。次に、マーカー位置調整部３５は、マーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）と画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）との差分値（ｘｇ−ｘｔ，ｙｇ−ｙｔ）を計算する。次に、マーカー位置調整部３５は、差分値が（０，０）でない場合は、マーカーがゴールしていないと判定してステップＳ４の処理に移る。
【００４９】
ステップＳ４において、マーカー位置調整部３５は、差分値が（０，０）となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。次に、ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００５０】
次に、ステップＳ５において、位置検出装置３０のマーカー位置調整部３５は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給してステップＳ１の処理に戻る。
【００５１】
一方、ステップＳ３の処理において、差分値が（０，０）であるとマーカー位置調整部３５が判定した場合は、位置検出装置３０を微細検出モードに設定してステップＳ６の処理に移る。
【００５２】
ステップＳ６において、撮像装置２０は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。
【００５３】
ステップＳ７において、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品２２０のターゲット（平歯車の軸穴）を検出する。
【００５４】
ステップＳ７の処理について詳細に説明する。位置検出装置３０の画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込んでターゲット検出部３７に供給する。次に、ターゲット検出部３７は、画像データ取得部３１から供給される画像データを取り込み、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。次に、ターゲット検出部３７は、ターゲットゴール画像データを用いてテンプレートマッチング法によるターゲットの探索処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。次に、ターゲット検出部３７は、その画像データにおける基準位置の座標値（ｘｔ，ｙｔ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３９に供給する。
【００５５】
次に、ステップＳ８において、ターゲット位置調整部３９は、ターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。次に、ターゲット位置調整部３９は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）を計算する。次に、ターゲット位置調整部３９は、差分値が（０，０）でない場合は、ターゲットがゴールしていないと判定してステップＳ９の処理に移る。
【００５６】
ステップＳ９において、ターゲット位置調整部３９は、差分値が（０，０）となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。次に、ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００５７】
次に、ステップＳ１０において、位置検出装置３０のターゲット位置調整部３９は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給してステップＳ６の処理に戻る。
【００５８】
一方、ステップＳ８の処理において、差分値が（０，０）であるとターゲット位置調整部３９が判定した場合は、本フローチャートの処理を終了する。
【００５９】
本発明の第１実施形態によれば、部品２２０が例えば精密部品である平歯車である場合、軸穴２２１を含むマーカー２２２は、軸穴２２１よりも広い領域である。よって、位置検出装置３０のマーカー検出部３３は、比較的広い領域であるマーカー２２２の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、位置検出装置３０のターゲット検出部３７は、検出対象が微細な軸穴２２１であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー２２２内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、画像位置検出装置３０は、部品２２０の微細な基準位置を高速に且つ高精度に検出することができる。そして、ロボット装置１は、高速に且つ高精度に位置合わせを行って、部品２２０の軸穴２２１をアセンブリ部品の軸２１０に通すことができる。
【００６０】
［第２の実施の形態］
図７は、本発明の第２実施形態であるロボット装置における位置検出装置の機能構成を表すブロック図である。なお、上述した第１実施形態と同一の構成については、同一の符号を付してその説明を省略する。
同図において、位置検出装置３０ａは、第１実施形態における位置検出装置３０に対して、ターゲット検出部（サブピクセル検出部）４０と、ターゲット位置調整部４１とが新たに追加された構成を有する。
【００６１】
位置検出装置３０ａは、粗検出モード、微細検出モード、サブピクセル推定検出モードの順序で動作する。粗検出モードおよび微細検出モードは、第１実施形態で説明した位置検出モードである。
サブピクセル推定検出モードは、画素（ピクセル）サイズ未満の距離の精度でターゲットの位置を検出して、目標位置である軸２１０の軸中心の位置（ターゲットゴール位置）にターゲットの基準位置（平歯車の軸穴の中心位置）を移動させるよう制御する処理のモードである。
【００６２】
位置検出装置３０ａは、サブピクセル推定検出モードで動作するため、画像データ取得部３１の内部処理が第１実施形態と異なる。本実施形態における画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込み、粗検出モードにおいては取り込んだ画像データをマーカー検出部３３に供給し、微細検出モードにおいては取り込んだ画像データをターゲット検出部３７に供給し、サブピクセル推定検出モードにおいては取り込んだ画像データをターゲット検出部４０に供給する。
【００６３】
ターゲット検出部４０は、サブピクセル推定検出モードにおいて、画像データ取得部３１から供給される画像データを取り込むとともに、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。そして、ターゲット検出部４０は、ターゲットゴール画像データを用いて公知のサブピクセル推定技術によりターゲットのサブピクセルレベルでの位置ずれ量を推定する。例えば、ターゲット検出部４０は、ターゲットゴール画像データを用いて画像の濃度勾配に基づきサブピクセルレベルでの位置ずれ量のベクトルを推定する。ターゲット検出部４０は、推定した位置ずれ量のベクトルをターゲット位置調整部４１に供給する。
【００６４】
ターゲット位置調整部４１は、サブピクセル推定検出モードにおいて、ターゲット検出部４０から供給される位置ずれ量のベクトルを取り込む。そして、ターゲット位置調整部４１は、位置ずれ量のベクトルが相殺されるようターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００６５】
また、ターゲット位置調整部４１は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００６６】
次に、本実施形態であるロボット装置１の動作について説明する。
図８は、ロボット装置１の処理手順を表すフローチャートである。同図において、ステップＳ１からステップＳ１０までの処理は、第１実施形態における処理と同一であるため、その説明を省略する。
【００６７】
ステップＳ８の処理において、差分値が（０，０）であるとターゲット位置調整部３９が判定した場合は、位置検出装置３０ａをサブピクセル推定検出モードに設定してステップＳ１１の処理に移る。
【００６８】
ステップＳ１１において、撮像装置２０は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置３０ａに供給する。
【００６９】
ステップＳ１２において、位置検出装置３０ａは、撮像装置２０から供給される画像データを取り込み、サブピクセル推定技術によりターゲット（平歯車の軸穴）のサブピクセルレベルでの位置ずれ量を推定する。
【００７０】
ステップＳ１２の処理について詳細に説明する。位置検出装置３０ａの画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込んでターゲット検出部４０に供給する。次に、ターゲット検出部４０は、画像データ取得部３１から供給される画像データを取り込み、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。次に、ターゲット検出部４０は、ターゲットゴール画像データを用いて画像の濃度勾配に基づきサブピクセルレベルでの位置ずれ量のベクトルを推定する。次に、ターゲット検出部４０は、推定した位置ずれ量のベクトルをターゲット位置調整部４１に供給する。
【００７１】
次に、ステップＳ１３において、ターゲット位置調整部４１は、ターゲット検出部４０から供給される位置ずれ量のベクトルを取り込む。次に、ターゲット位置調整部４１は、位置ずれ量のベクトルが相殺されるようターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。次に、ロボット制御装置５０は、位置検出装置３０ａから供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０ａに供給する。
【００７２】
本発明の第２実施形態によれば、画像位置検出装置３０ａは、サブピクセルレベルの精度で、部品２２０の超微細な基準位置を検出することができる。そして、ロボット装置１は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に部品２２０の軸穴２２１をアセンブリ部品の軸２１０に通すことができる。
【００７３】
なお、上述した各実施形態においては、マーカー２２２が円周の曲線である場合について説明した。このマーカー２２２の形状は、これに限らず、例えば図９に示すものでもよい。
同図（ａ）は、円周の曲線を二重に設けたマーカーである。このマーカーによれば、単一の円周の曲線によるマーカーに比べて、テンプレートマッチング処理におけるマーカーの誤検出率を低減することができる。
同図（ｂ）は、円周の曲線を破線としたマーカーである。このように、マーカーの線は必ずしも閉ループである必要はなく、マーカー検出部３３が、線分が無い区間を補完してマーカー内外の領域を区分すればよい。
同図（ｃ）は、単一の四角形の枠をマーカーとしたものである。ロボット本体１０が、直交ロボットのような並進移動のみを行うロボット装置である場合は、マーカー２２２が画像の面内で回転することを考慮する必要はない。なお、マーカー２２２は、四角形の枠に限らず多角形の枠であってもよい。
同図（ｄ）は、二つの四角形の枠を変位させて重ね合わせたマーカーである。このマーカーによれば、単一の四角形の枠によるマーカーに比べて、テンプレートマッチング処理におけるマーカーの誤検出率を低減することができる。
【００７４】
また、部品２２０にマーカー２２２を設けるのではなく、部品２２０の外形をマーカーに対応付けてもよい。
【００７５】
また、各実施形態においては、撮像装置２０を固定設置してアセンブリ部品をコンベヤー１００により搬送する例について説明した。これ以外にも、アセンブリ部品を固定された台に載置して、撮像装置２０を移動させるようにしてもよい。さらには、ロボット装置が撮像装置を移動させるようにしてもよい。
【００７６】
また、各実施形態における位置検出装置３０，３０ａの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ
Ｓｙｓｔｅｍ）や周辺装置のハードウェアを含むものである。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００７７】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７８】
１  ロボット装置
１０  ロボット本体
１０ａ  支持台
１０ｂ  アーム部
１０ｃ  ハンド部
１０ｄ  把持部
２０  撮像装置（撮像部）
３０，３０ａ  位置検出装置
３１  画像データ取得部
３２  マーカーゴール画像記憶部
３３  マーカー検出部
３５  マーカー位置調整部
３６  ターゲットゴール画像記憶部
３７  ターゲット検出部
４０  ターゲット検出部（サブピクセル検出部）
３９，４１  ターゲット位置調整部
５０  ロボット制御装置（ロボット制御部）
【図１】
2015214022.tif 000003
【図２】
2015214022.tif 000004
【図３】
2015214022.tif 000005
【図４】
2015214022.tif 000006
【図５】
2015214022.tif 000007
【図６】
2015214022.tif 000008
【図７】
2015214022.tif 000009
【図８】
2015214022.tif 000010
【図９】
2015214022.tif 000011
【手続補正書】
【提出日】平成27年9月28日(2015.9.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アームと、ハンドと、関節と、を含み、物体をゴール位置まで搬送するロボットであって、
撮像される前記物体の画像データと、マーカーの画像を含むマーカーゴール画像データおよびターゲットゴール画像データに基づいて、前記物体を搬送するロボット。
【請求項２】
前記マーカーゴール画像データに基づいて撮像される前記物体の画像データと前記マーカーの位置のずれを検出した後、前記ターゲットゴール画像データに基づいて撮像される前記物体の画像データとのずれを検出する、請求項１記載のロボット。
【請求項３】
前記マーカーゴール画像データに基づいて粗い検出を行った後、前記ターゲットゴール画像データに基づいて微細な検出を行う、請求項１または２記載のロボット。
【請求項４】
前記マーカーゴール画像データは、前記マーカーが前記ゴール位置を含むよう前記物体を配置した状態の画像のデータである、請求項１から３のいずれか一項に記載のロボット。
【請求項５】
前記ターゲットゴール画像データは、前記ゴール位置に前記物体を配置した状態の画像のデータである、請求項１から４のいずれか一項に記載のロボット。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ロボットに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
そこで、本発明は上記課題を解決するためになされたものであり、物体およびオブジェクトの位置を高速に且つ高精度に検出する、ロボットを提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記の課題を解決するため、本発明の一態様であるロボットは、アームと、ハンドと、関節と、を含み、物体をゴール位置まで搬送するロボットであって、撮像される前記物体の画像データと、マーカーの画像を含むマーカーゴール画像データおよびターゲットゴール画像データに基づいて、前記物体を搬送するロボットである。
本発明の一態様であるロボットは、前記マーカーゴール画像データに基づいて撮像される前記物体の画像データと前記マーカーの位置のずれを検出した後、前記ターゲットゴール画像データに基づいて撮像される前記物体の画像データとのずれを検出する、ロボットである。
本発明の一態様であるロボットは、前記マーカーゴール画像データに基づいて粗い検出を行った後、前記ターゲットゴール画像データに基づいて微細な検出を行う、ロボットである。
本発明の一態様であるロボットは、前記マーカーゴール画像データは、前記マーカーが前記ゴール位置を含むよう前記物体を配置した状態の画像のデータである、ロボットである。
本発明の一態様であるロボットは、前記ターゲットゴール画像データは、前記ゴール位置に前記物体を配置した状態の画像のデータである、ロボットである。
一態様であるロボット装置は、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを設けた物体を、ゴール位置まで搬送可能に保持するロボット本体と、前記ゴール位置と前記物体とを視野に含めて撮像する撮像部と、前記マーカー領域が前記ゴール位置を含むよう前記物体を配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記基準位置が前記ゴール位置に一致する位置に、前記物体を配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記撮像部から取得する画像データから前記画像データにおけるマーカー領域を検出し、前記画像データにおけるマーカー領域と前記マーカーゴール画像データにおけるマーカー領域との位置のずれを検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から、前記ゴール位置に対する前記基準位置のずれを検出するターゲット検出部と、前記マーカー検出部が検出した前記位置のずれと前記ターゲット検出部が検出した前記ゴール位置に対する前記基準位置のずれとをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御するロボット制御部と、を備えることを特徴とする。
ここで、物体に設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、ロボット装置は、物体の位置を高速に且つ高精度に検出することができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
ロボット装置において、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記ターゲット検出部が検出した前記ターゲット領域内の前記基準位置と、前記ゴール位置に対する前記ターゲット領域内の前記基準位置とのずれをサブピクセル推定処理によって検出するサブピクセル検出部をさらに備え、前記ロボット制御部は、前記サブピクセル検出部が検出した前記ターゲット領域内の前記基準位置のずれをなくす位置に、前記物体を搬送するよう前記ロボット本体を制御することを特徴とする。
この構成によれば、ロボット装置は、サブピクセルレベルの精度で、物体のターゲット領域内の超微細な基準位置を検出することができる。そして、ロボット装置は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に物体をゴール位置に移動させることができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
ロボット装置において、前記ロボット本体は、可動のアーム部と前記アーム部に連結される可動のハンド部とを備えるとともに、前記ハンド部に前記撮像部が設けられており、前記マーカー領域は、円周の曲線により区分される領域であることを特徴とする。
ここで、ロボット本体は、例えば６軸等の垂直多関節ロボットである。そして、マーカー領域を円周の曲線により区分される領域とすることにより、マーカー領域が画像の面内で回転した場合でも、正確に識別することができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
ロボット装置において、前記ロボット本体は、並進可動に前記撮像部を設けたものであり、前記マーカー領域は、多角形の線により区分される領域であることを特徴とする。
ここで、ロボット本体は、例えば並進移動のみを行う直交ロボットである。このように並進移動のみの場合、マーカー領域が画像の面内で回転することを考慮する必要はなく、マーカー領域を、多角形の線により区分される領域、例えば四角形の枠による領域としてもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
一態様である位置検出装置は、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部と、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、を備えることを特徴とする。
ここで、オブジェクトに設けられるターゲット領域が微少である場合、このターゲット領域を含むマーカー領域は、微少なターゲット領域よりも広い領域である。よって、マーカー検出部は、比較的広い領域であるマーカー領域の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、ターゲット検出部は、検出対象が微少なターゲット領域であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー領域内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、位置検出装置は、オブジェクトの位置を高速に且つ高精度に検出することができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
一態様である位置検出プログラムは、オブジェクトに含まれるマーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部と、前記マーカー領域に含まれるターゲット領域内の基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部とを備えるコンピューターを、前記ターゲット領域と前記マーカー領域とを有する前記オブジェクトを含む画像データを取得する画像データ取得部と、前記マーカーゴール画像記憶部に記憶された前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおけるマーカー領域を検出するマーカー検出部と、前記ターゲットゴール画像記憶部に記憶された前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出部と、として機能させる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
一態様である位置検出方法は、画像データ取得部が、位置合わせの基準位置を含むターゲット領域と前記ターゲット領域を含むマーカー領域とを有するオブジェクトを含む画像データを取得する画像データ取得ステップと、マーカー検出部が、前記オブジェクトに含まれる前記マーカー領域がゴール位置を含むよう前記オブジェクトを配置した状態の画像であるマーカーゴール画像データを記憶するマーカーゴール画像記憶部から読み込む前記マーカーゴール画像データを用いて、前記画像データ取得部が取得した画像データから前記画像データにおける前記マーカー領域を検出するマーカー検出ステップと、ターゲット検出部が、前記マーカー領域に含まれる前記ターゲット領域内の前記基準位置が前記ゴール位置に一致する位置に、前記オブジェクトを配置した状態の画像であるターゲットゴール画像データを記憶するターゲットゴール画像記憶部から読み込む前記ターゲットゴール画像データを用いて、前記マーカー検出部が検出した前記画像データにおけるマーカー領域内から前記ターゲット領域を検出するターゲット検出ステップと、を有することを特徴とする。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
本発明の第１実施形態によれば、部品２２０が例えば精密部品である平歯車である場合、軸穴２２１を含むマーカー２２２は、軸穴２２１よりも広い領域である。よって、位置検出装置３０のマーカー検出部３３は、比較的広い領域であるマーカー２２２の検出精度を比較的低くしてもよく、そうすることによって検出処理にかかる負荷を軽くして高速処理を実現することができる。一方、位置検出装置３０のターゲット検出部３７は、検出対象が微細な軸穴２２１であることによって狭く、高い検出精度で処理する。しかし、検出対象領域をマーカー２２２内に限定することにより、検出処理にかかる負荷はさほど重くならない。よって、全体として、位置検出装置３０は、部品２２０の微細な基準位置を高速に且つ高精度に検出することができる。そして、ロボット装置１は、高速に且つ高精度に位置合わせを行って、部品２２０の軸穴２２１をアセンブリ部品の軸２１０に通すことができる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
本発明の第２実施形態によれば、位置検出装置３０ａは、サブピクセルレベルの精度で、部品２２０の超微細な基準位置を検出することができる。そして、ロボット装置１は、サブピクセルレベルの精度で位置合わせを行い、全体として高速に且つ高精度に部品２２０の軸穴２２１をアセンブリ部品の軸２１０に通すことができる。
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2015214022.tif 000012