(57)【要約】【課題】画像処理の高速化が可能な３次元計測装置及びこれを備えるロボットシステムを提供すること。【解決手段】ワークを撮像する基準カメラ２２と、基準カメラ２２とは異なる視点でワークを撮像する参照カメラ２３と、基準カメラ２２がワークを撮像して取得した第１画像と予め設定された仮のワーク奥行情報とから３次元座標を計算し、計算した３次元座標と参照カメラ２３の基準カメラ２２に対する姿勢パラメータとからワークの３次元画像の参照カメラ２３への投影を計算し、計算した投影に基づいて参照カメラ２３の切出し範囲を設定し、基準カメラ２２で撮像された第１画像と参照カメラ２３の切出し範囲で切り出された第２画像と、からワークの３次元位置を計測するカメラ制御部５と、を備えた３次元計測装置。【選択図】図３
2014013146.tif 000002
【特許請求の範囲】
【請求項１】
ワークを撮像する第１カメラと、
前記第１カメラとは異なる視点でワークを撮像する第２カメラと、
前記第１カメラがワークを撮像して取得した第１画像と予め設定された仮のワーク奥行情報とから３次元座標を計算し、計算した前記３次元座標と前記第２カメラの前記第１カメラに対する姿勢パラメータとから前記３次元座標の前記第２カメラへの投影を計算し、計算した投影に基づいて前記第２カメラの切出し範囲を設定し、前記第１カメラで撮像された前記第１画像と前記第２カメラの前記切出し範囲で切り出された第２画像と、からワークの３次元位置を計測する制御部と、を備えた、
ことを特徴とする３次元計測装置。
【請求項２】
前記制御部は、設定した前記切出し範囲で前記第２カメラにワークを撮像させて第２画像を取得させる、
ことを特徴とする請求項１に記載の３次元計測装置。
【請求項３】
前記制御部は、前記計算した投影から基準点を設定し、設定した前記基準点から予め設定された領域を包含するように前記切出し範囲を設定する、
ことを特徴とする請求項１又は２に記載の３次元計測装置。
【請求項４】
ワークを３次元計測する請求項１から３のいずれか１項に記載の３次元計測装置と、
前記３次元計測装置により計測されたワークの３次元位置に基づいて、ワークを把持するロボットアームと、を備えた、
ことを特徴とするロボット装置。
【請求項５】
第１カメラでワークを撮像して第１画像を取得する第１画像取得工程と、
前記第１画像取得工程により取得された前記第１画像と、仮のワーク奥行情報と、から３次元座標を計算する３次元座標計算工程と、
第２カメラの前記第１カメラに対する姿勢パラメータと、前記３次元座標と、から前記３次元座標の前記第２カメラへの投影を計算する投影計算工程と、
前記投影計算工程により計算された投影に基づいて、前記第２カメラから切り出す第２画像の切出し範囲を設定する切出し範囲設定工程と、
前記切出し範囲設定工程により設定された切出し範囲で前記第２画像を取得する第２画像取得工程と、
前記第１画像と前記第２画像とからワークを３次元計測する３次元計測工程と、を備えた、
ことを特徴とする３次元計測方法。
【請求項６】
前記第２画像取得工程は、切り出し範囲設定工程により設定された切出し範囲で前記第２カメラにワークを撮像させて第２画像を取得する、
ことを特徴とする請求項５に記載の３次元計測方法。
【請求項７】
請求項５又は６に記載の各工程をコンピュータに実行させるための３次元計測プログラム。
【請求項８】
請求項７に記載の３次元計測プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つ以上の視点からワークの撮像を行い、３次元計測や立体視を行う３次元計測装置及びこれを備えるロボット装置に関する。
【背景技術】
【０００２】
従来、３次元計測や立体視を行う際には、複数のカメラ等により撮像を行って３次元情報を取得し、３次元情報から３次元計測等を行う３次元計測装置が広く用いられている。また、３次元計測装置としては、例えば、撮像した２画像のそれぞれから特徴点を抽出し、抽出した特徴点を対応付けて三角測量の原理により３次元計測を行うステレオ法が広く知られている。
【０００３】
ところで近年、ＣＣＤやＣＭＯＳ等の画像センサを用いたデジタルカメラにおいては、画像センサ上で読み出す画素の範囲を予め設定して、必要な画素だけを読み出す部分切り出し機能を有するものが一般的となっている。部分切り出し機能は、扱うデータ量を削減することができるため、全画素を使用するよりも画像データの転送や画像処理を高速に実行可能になるというメリットがある。
【０００４】
しかしながら、上述の部分切り出し機能は、画像センサ上の画素を読み出す範囲を予め設定する必要があるため、例えば、生産ライン等で被写体の位置がバラついた状態で搬送される場合には、適応させることが困難となるという問題があった。
【０００５】
また一方で、ステレオ画像から領域を切り出す方法として、第１画像と第２画像とを取得した後、第１画像に類似する部分を第２画像から探し出し、類似部分から切り出し範囲を設定する３次元計測装置が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−４５３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の３次元計測装置は、第１画像と第２画像の両方をカメラから取得後に第１画像に類似する部分を第２画像の切り出し範囲として設定するため、カメラからの画像転送時間は削減できないという課題があった。すなわち、上記のデジタルカメラにおける部分切り出し機能の恩恵を受けることはできなかった。
【０００８】
そこで、本発明は、情報量を低減させて、画像処理の高速化が可能な３次元計測装置及びこれを備えるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、３次元計測装置において、ワークを撮像する第１カメラと、前記第１カメラとは異なる視点でワークを撮像する第２カメラと、前記第１カメラがワークを撮像して取得した第１画像と予め設定された仮のワーク奥行情報とから３次元座標を計算し、計算した前記３次元座標と前記第２カメラの前記第１カメラに対する姿勢パラメータとからワークの３次元画像の前記第２カメラへの投影を計算し、計算した投影に基づいて前記第２カメラの切出し範囲を設定し、前記第１カメラで撮像された前記第１画像と前記第２カメラの前記切出し範囲で切り出された第２画像と、からワークの３次元位置を計測する制御部と、を備えた、ことを特徴とする。
【００１０】
また、本発明は、３次元計測方法において、第１カメラでワークを撮像して第１画像を取得する第１画像取得工程と、前記第１画像取得工程により取得された前記第１画像と、仮のワーク奥行情報と、から３次元座標を計算する３次元座標計算工程と、第２カメラの前記第１カメラに対する姿勢パラメータと、前記３次元座標と、から前記３次元座標の前記第２カメラへの投影を計算する投影計算工程と、前記投影計算工程により計算された投影に基づいて、前記第２カメラから切り出す第２画像の切出し範囲を設定する切出し範囲設定工程と、前記切出し範囲設定工程により設定された切出し範囲で前記第２画像を取得する第２画像取得工程と、前記第１画像と前記第２画像とからワークを３次元計測する３次元計測工程と、を備えた、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１カメラで撮像したワークの３次元画像の投影を計算し、計算した投影に基づいて設定した第２カメラの切出し範囲でワークを撮像して３次元計測することで、情報量を低減させて、画像処理の高速化が可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るロボット装置の概略構成を示す斜視図である。
【図２】本実施形態に係るロボット装置の制御装置の構成を示すブロック図である。
【図３】本実施形態に係るカメラ制御部の構成を示すブロック図である。
【図４】第１実施形態に係るカメラ制御部による３次元計測のフローチャートである。
【図５】第１実施形態に係る基準カメラ及び参照カメラで取得される画像内の切出し範囲と投影点との位置関係を示す図である。
【図６】第１実施形態に係る基準カメラ及び参照カメラの画像センサを示す図である。
【図７】第２実施形態に係るカメラ制御部による３次元計測のフローチャートである。
【図８】第２実施形態に係る基準カメラ及び参照カメラで取得される画像内の切出し範囲と投影３次元画像との位置関係を示す図である。
【図９】第２実施形態に係る基準カメラ及び参照カメラの画像センサを示す図である。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
以下、本発明の第１実施形態に係るロボット装置１について、図１から図６を参照しながら説明する。まず、ロボット装置１の概略構成について、図１から図３を参照しながら説明する。図１は、本発明の実施形態に係るロボット装置１を示す斜視図である。図２は、本実施形態に係るロボット装置１の制御装置４の構成を示すブロック図である。図３は、本実施形態に係るカメラ制御部５の構成を示すブロック図である。
【００１４】
図１に示すように、第１実施形態に係るロボット装置１は、ワークの組立を行うロボット２と、ロボット２によるワークの組立が行われる架台３と、ロボット２を制御する制御装置４と、を備えている。
【００１５】
ロボット２は、６軸多関節の汎用ロボットであり、ロボットアーム２０と、ロボットアームの先端部に取り付けられたハンド２１と、第１カメラとしての基準カメラ２２と、第２カメラとしての参照カメラ２３と、を備えている。なお、本実施形態においては、基準カメラ２２と参照カメラ２３の２台のカメラを用いたが、例えば、ステレオカメラのような複眼カメラを用いてもよい。
【００１６】
ロボットアーム２０は、各関節を各関節軸まわりにそれぞれ回転駆動する６つのアクチュエータ（図示せず）を備えており、６つのアクチュエータのそれぞれを選択的に駆動することで先端部に取り付けられたハンド２１を任意の３次元位置に移動させる。ハンド２１は、ワーク等を把持する把持部２１ａと、把持部２１ａを駆動する不図示のアクチュエータと、を備えており、ロボットアーム２０の駆動により移動し、移動した位置でアクチュエータを駆動することでワーク等を把持する。なお、ハンド２１には、不図示の力覚センサが設けられており、ワークを把持する際には、力覚センサによりワークを把持する把持力が調整される。また、ハンド２１は、ロボットアーム２０の先端に着脱自在に取り付けられており、作業するワークの形状等により交換可能になっている。
【００１７】
基準カメラ２２は、ロボットアーム２０の先端に取り付けられており、ワークを撮像してワークの第１画像を取得する。参照カメラ２３は、ロボットアーム２０の先端で基準カメラ２２に隣接して取り付けられており、基準カメラ２２と異なる視点でワークを撮像してワークの第２画像を取得する。
【００１８】
架台３は、矩形箱状に形成されており、上面にワークが載置される平面状の載置部３０が設けられている。載置部３０の略中央部には、ワークの組立に用いられる治具３１が設けられており、載置部３０の隅部には、ロボットアーム２０の基端部を固定支持する支持部３２と、部品供給機３３と、工具置き台３４と、が設けられている。架台３の下部には、架台３を移動させるための４つのキャスター３５・・・と、架台３を床面に固定させるための４つの固定金具３６・・・と、が設けられており、任意の位置に移動した後、固定可能となっている。
【００１９】
図２に示すように、制御装置４は、演算装置４０と、記憶装置４１と、を有するコンピュータ本体に、ロボットアーム２０、ハンド２１、基準カメラ２２及び参照カメラ２３がバスを介して接続されて構成されている。また、コンピュータ本体には、入力装置４２、ティーチングペンダント４３、ディスプレイ４４、スピーカ４５、記録メディア読取装置４６及び通信装置４７などもバスを介して接続されている。なお、図２においては、これらを接続するためのインターフェイスは不図示としている。
【００２０】
演算装置４０は、ＣＰＵ４０ａと、画像処理装置４０ｂと、音声処理装置４０ｃと、を備えている。ＣＰＵ４０ａは、カメラ制御部５と、ロボット制御部６と、を備えている。カメラ制御部５は、記憶装置４１に記憶された各種プログラムや入力装置４２から入力される設定等に従って、ワークの３次元位置を計測する。
【００２１】
図３に示すように、カメラ制御部５は、第１画像取得部５１と、３次元座標計算部５２と、投影計算部５３と、切出し範囲設定部５４と、第２画像取得部５５と、３次元計測部５６と、を備えている。第１画像取得部５１は、基準カメラ２２でワークを撮像してワークの第１画像を取得する。３次元座標計算部５２は、第１画像取得部５１で取得した第１画像と、予め設定された仮のワーク奥行情報と、から３次元座標を計算する。なお、仮のワーク奥行情報は、例えば、基準カメラ２２でワークを撮像して、撮像時のピント距離を基準にして設定してもよい。
【００２２】
投影計算部５３は、参照カメラ２３及び基準カメラ２２のカメラパラメータと、３次元座標計算部５２で計算された３次元座標と、からワークの３次元画像の参照カメラ２３の画像センサ上への投影を計算する。切出し範囲設定部５４は、投影計算部５３で計算された投影に基づいて、参照カメラ２３の画像センサ上の画素を切り出す切出し範囲を設定する。第２画像取得部５５は、切出し範囲設定部５４で設定された参照カメラ２３の画像センサ上の切出し範囲でワークを撮像して、第２画像を取得する。３次元計測部５６は、第１画像と第２画像とからワークの３次元位置を計測する。なお、カメラ制御部５によるワークの３次元位置の計測については、後に詳しく説明する。
【００２３】
ロボット制御部６は、カメラ制御部５により計測されたワークの３次元位置及び記憶装置４１に記憶された各種プログラムや入力装置４２から入力される設定等に基づいて、ロボットアーム２０やハンド２１を制御する。なお、ロボット制御部６によるロボットアーム２０やハンド２１の制御については、その説明を省略する。
【００２４】
画像処理装置４０ｂは、ＣＰＵ４０ａからの描画指示に応じてディスプレイ４４を制御して、画面上に所定の画像を表示させる。音声処理装置４０ｃはＣＰＵ４０ａからの発音指示に応じた音声信号生成してスピーカ４５に出力する。
【００２５】
記憶装置４１は、バスを介してＣＰＵ４０ａに接続されており、各種プログラムやデータ等が格納されたＲＯＭ４１ａと、ＣＰＵ４０ａの作業領域として確保されたＲＡＭ４１ｂと、を備えている。本実施形態においては、ＲＯＭ４１ａには、ロボットアーム２０やハンド２１の駆動プログラムに加え、ワークを３次元計測するための各種プログラム等が格納されている。例えば、後述する第１画像取得工程、３次元座標計算工程、投影計算工程、切出し範囲設定工程、第２画像取得工程及び３次元計測工程を実行させるための３次元計測プログラム等が格納されている。また、ＲＯＭ４１ａは、作業者により、仮のワーク奥行情報や基準カメラ２２及び参照カメラ２３のカメラパラメータ等のデータが入力装置４２から入力された際には、これらを格納する。
【００２６】
入力装置４２は、キーボード４２ａと、マウス４２ｂと、から構成されており、ワークの３次元位置の計測に必要な情報、或いはその他の指示の入力を可能としている。記録メディア読取装置４６は、例えば、３次元計測プログラム等を記録したコンピュータ読み取り可能な記録媒体４８を読み込み、ＲＯＭ４１ａに格納させるため等に用いられる。通信装置４７は、例えば、上述したような記録媒体４８を使用せずに、通信装置４７を介してインターネット等から配信される３次元計測プログラム等をダウンロードする際に用いられる。
【００２７】
次に、上述のように構成されたロボット装置１のハンド２１がワークを把持する際の、カメラ制御部５によるワークの３次元位置の計測方法について、図４に示すフローチャートに沿って、図５及び図６を参照しながら説明する。図４は、第１実施形態に係るカメラ制御部５による３次元計測のフローチャートである。図５は、第１実施形態に係る基準カメラ２２及び参照カメラ２３で取得される画像内の切出し範囲と投影点との位置関係を示す図である。図６は、第１実施形態に係る基準カメラ２２及び参照カメラ２３の画像センサを示す図である。
【００２８】
まず、基準カメラ２２の内部パラメータと、参照カメラ２３の内部パラメータと、カメラの姿勢パラメータと、を予め求め、ＲＯＭ４１ａに記憶させておく。なお、内部パラメータとは、任意の３次元点の座標から画像上の点への投影計算に必要となるパラメータであり、公知のカメラキャリブレーション技術によって求めることができる。本実施形態においては、内部パラメータとして、下記を用いる。
【００２９】
ｆをレンズの焦点距離、ｃｘを画像におけるカメラ光軸中心のＸ座標、ｃｙを画像におけるカメラ光軸中心のＹ座標、ｓｘを画像センサの１画素あたりの幅、ｓｙを画像センサの１画素あたりの高さ、とする。すると、基準カメラ２２の内部パラメータは、（ｆＬ、ｃｘＬ、ｃｙＬ、ｓｘＬ、ｓｙＬ）と表すことができる。また、参照カメラ２３の内部パラメータは、（ｆＲ、ｃｘＲ、ｃｙＲ、ｓｘＲ、ｓｙＲ）と表すことができる。なお、添え字Ｌは、基準カメラ１０１の内部パラメータを示し、添え字Ｒは、基準カメラ１０１の内部パラメータを示している。
【００３０】
また、姿勢パラメータとは、基準カメラ２２と参照カメラ２３との相対姿勢であり、公知のカメラキャリブレーション技術によって求めることができる。本実施形態においては、基準カメラ２２及び参照カメラ２３の姿勢パラメータを、回転行列Ｒ及び並進ベクトルｔで表す。
【００３１】
ここで、図５において、基準カメラ座標系ＣＬと、参照カメラ座標系ＣＲは、それぞれのカメラの姿勢を代表する座標系であり、カメラのレンズ主点を原点とし、画像の座標系とＸ、Ｙ方向が一致するように配置された座標系である。前述の姿勢パラメータは、基準カメラ座標系ＣＬと参照カメラ座標系ＣＲとの相対姿勢を表す。また、図５及び図６に示す２０１、２０２は、基準カメラ２２及び参照カメラ２３の画像センサ面をそれぞれ表しており、任意の被写体（例えば、ワーク）が画像センサ面２０１、２０２に投影された結果を画像として取得する。なお、図５においては、説明を簡単化するために、画像センサの実際の物理的な配置に対し、レンズ主点について反転した図を用いている。
【００３２】
次に、図４に示すように、ロボット装置１を撮影姿勢に移動させて基準カメラ２２によって第１画像を取得する（ステップＳ０１、第１画像取得工程）。そして、第１画像に対して画像処理を行い、画像内のワークを検出する（ステップＳ０２）。この検出には、パターンマッチングや２値化処理など、公知の各種画像処理手法を用いることが可能である。その後、ステップＳ０２における第１画像のワークの検出結果に基づいて、参照カメラ２３に設定する参照カメラ切出し範囲２０６を計算する（ステップＳ０３）。以下、切り出しステップＳ０３について、ステップＳ１１〜Ｓ１４のサブステップに分けて説明する。まず、第１画像における対象物抽出結果に基づいて、基準カメラ切出し範囲２０３を計算する（ステップＳ１１）。基準カメラ切出し範囲２０３としては、たとえば、第１画像において抽出された対象物の画像領域を囲う最小の矩形領域が計算される。
【００３３】
次に、計算された基準カメラ切出し範囲２０３に対して、切出し基準点ＰＬを設定する。切出し基準点ＰＬは、基準カメラ切出し範囲２０３の略中心であることが望ましいが、基準カメラ切出し範囲２０３に対して一意に決まる点であれば、任意の点を用いてもよい。本実施形態においては、基準カメラ切出し範囲２０３の重心を切出し基準点ＰＬとして用いることとし、その画像座標をＰＬ（ｃＬ、ｒＬ）とすると、
【００３４】
【数１】
2014013146.tif 000003
と表せる。ここで、ｓｘＬ、ｓｙＬは、基準カメラ２２の内部パラメータの画像センサのサイズであり、ｃｘＬ、ｃｙＬは、画像座標における光軸中心の位置である。また、ｆＬは、基準カメラ２２の焦点距離である。なお、本実施形態においては、簡単にするためにレンズ歪みを考慮していないが、例えば、公知のレンズ歪を考慮した変換式を用いてもよい。
【００３５】
次に、切出し基準点ＰＬと、仮のワーク奥行情報と、を用いてワークの３次元点ＰＷを計算する（ステップＳ１２、３次元座標計算工程）。ここで、奥行情報は、基準カメラ２２のレンズから、測定したい領域までの距離を規定する情報であり、予めユーザが設定してＲＯＭ４１ａに記憶させておく。奥行情報としては、レンズのピントが合うワークディスタンスを設定してもよく、ワークとカメラとの大まかな距離が予め規定できる場合は設計値から決定してもよい。本実施形態においては、基準カメラ座標系ＣＬの距離ｄを規定し、ｚ＝ｄが奥行情報として設定され、ＲＯＭ４１ａに記憶させている。
【００３６】
図５に示すように、ワークの３次元点ＰＷは、基準カメラ座標系ＣＬの原点と切出し基準点ＰLとを結ぶ視線２０４と、奥行情報ｚ＝ｄによって規定される平面２０５との交点である。また、視線２０４は、基準カメラ座標系ＣＬと、切出し基準点ＰＬと、を通る直線であるので、視線２０４は、
【００３７】
【数２】
2014013146.tif 000004
と表せる。更に、３次元点ＰＷの座標を、ＰＷ＝（ｘＷ、ｙＷ、ｚＷ）とすると、ｚＷ＝λ・ｆＬ＝ｄより、
【００３８】
【数３】
2014013146.tif 000005
と、３次元点ＰＷを基準カメラ座標系ＣＬにおいて求めることができる。
【００３９】
次に、３次元点ＰＷの、参照カメラ２３への投影点ＰＲを計算する（ステップＳ１３、投影計算工程）。まず、基準カメラ座標系ＣＬで記述された３次元点ＰＷを、参照カメラ座標系ＣＲに座標変換する。姿勢パラメータである回転行列Ｒ及び並進ベクトルｔを用いて、以下のように座標変換を行う。参照カメラ座標系ＣＲで表された３次元点ＰＷの座標をＰＷ＝（ｘ´Ｗ、ｙ´Ｗ、ｚ´Ｗ）とすると、
【００４０】
【数４】
2014013146.tif 000006
と表せる。
【００４１】
次に、参照カメラ座標系ＣＲで表された３次元点ＰＷを、参照カメラ２３へ投影した投影点ＰＲを求める。ＰＲ＝（ｘ´Ｒ、ｙ´Ｒ、ｚ´Ｒ）は、参照カメラ２３の焦点距離ｆＲを用いて、
【００４２】
【数５】
2014013146.tif 000007
と表せる。更に、投影点ＰＲの画像座標（ｃＲ、ｒＲ）は、参照カメラ２３の内部パラメータを用いると、
【００４３】
【数６】
2014013146.tif 000008
と表せる。以上の処理により、３次元点ＰＷを参照カメラ２３に投影した投影点ＰＲの画像座標を求めることができる。
【００４４】
次に、投影点ＰＲの画像座標を基準に、参照カメラ２３に設定する参照カメラ切出し範囲２０６を決定する（ステップＳ１４、切出し範囲設定工程）。例えば、図６に示すように、投影点ＰＲを重心とした矩形の領域を、参照カメラ切出し範囲２０６として設定する。ここで、参照カメラ切出し範囲２０６の切り出し幅ｗ´や切り出し高さｈ´は、基準カメラ切出し範囲２０３の幅ｗや高さｈを基準に決定してもよいし、予め固定値として設定してもよい。
【００４５】
以上のステップＳ１１〜Ｓ１４の処理を行うことにより、基準カメラ２２に設定した切り出し範囲を元に、参照カメラ２３に設定するべき切り出し範囲を自動的に計算することができる。切出し範囲が設定されると、次に、参照カメラ２３による切出し範囲での第２画像が取得され（ステップＳ０４、第２画像取得工程）、第２画像に対する画像処理によってワークが抽出される（ステップＳ０５）。そして最後に、第１画像と第２画像とでワークの３次元位置の測定が行われる（ステップＳ０６、３次元計測工程）。なお、３次元計測工程におけるワークの３次元位置の計測については、一般的な画像処理により実施可能であるため、ここではその説明は省略する。
【００４６】
以上説明したように、第１実施形態に係るロボット装置１は、基準カメラ２２に設定した基準カメラ切出し範囲を元に、参照カメラ２３に設定するべき参照カメラ切出し範囲を自動的に計算し、切り出したそれぞれの画像をもとに、３次元位置の計測を行う。そのため、計算する画像を小さくすることができる。つまり、情報量や伝送量を小さくすることができる。これにより、３次元計測における画像処理の高速化が可能になり、計測時間の短縮が可能になる。その結果、ロボット装置１におけるタクトタイム（工程作業時間）の短縮が可能になる。
【００４７】
＜第２実施形態＞
次に、本発明の第２実施形態に係るロボット装置１Ａについて、図１から図３を援用すると共に、図７から図９を参照しながら説明する。第２実施形態においては、カメラ制御部による３次元位置の計測方法が第１実施形態と相違する。そのため、第２実施形態においては、第１実施形態と相違する点、即ち、カメラ制御部による３次元位置の計測方法を中心に説明し、第１実施形態と同様の構成については同じ符号を付してその説明は省略する。
【００４８】
まず、ロボット装置１Ａの概略構成について、図１から図３を援用しながら説明する。図１から図３に示すように、第２実施形態に係るロボット装置１Ａは、ロボット２と、架台３と、ロボット２を制御する制御装置４Ａと、を備えており、制御装置４Ａは、演算装置４０Ａと、記憶装置４１と、を備えている。演算装置４０Ａは、ＣＰＵ４０ａＡと、画像処理装置４０ｂと、音声処理装置４０ｃと、を備えており、ＣＰＵ４０ａＡは、カメラ制御部５Ａと、ロボット制御部６と、を備えている。
【００４９】
次に、上述のように構成されたロボット装置１Ａのハンド２１がワークを把持する際の、カメラ制御部５Ａによるワークの３次元位置の計測方法について、図７に示すフローチャートに沿って、図８及び図９を参照しながら説明する。図７は、第２実施形態に係るカメラ制御部５Ａによる３次元計測のフローチャートである。図８は、第２実施形態に係る基準カメラ２２及び参照カメラ２３で取得される画像内の切出し範囲と投影３次元画像との位置関係を示す図である。図９は、第２実施形態に係る基準カメラ２２及び参照カメラ２３の画像センサを示す図である。
【００５０】
基準カメラ２２の内部パラメータを（ｆＬ、ｃｘＬ、ｃｙＬ、ｓｘＬ、ｓｙＬ）と表し、参照カメラ２３の内部パラメータを（ｆＲ、ｃｘＲ、ｃｙＲ、ｓｘＲ、ｓｙＲ）と表し、これを予めＲＯＭ４１ａに記憶させておく点は、第１実施形態と同様である。
【００５１】
図８において、基準カメラ座標系ＣＬと、参照カメラ座標系ＣＲは、基準カメラ２２と参照カメラ２３の姿勢を代表する座標系であり、カメラのレンズ主点を原点とし、画像の座標系とＸ、Ｙ方向が一致するように配置された座標系である。前述の姿勢パラメータは、基準カメラ座標系ＣＬと参照カメラ座標系ＣＲとの相対姿勢を表す。また、図８及び図９に示す２０１、２０２は、基準カメラ２２及び参照カメラ２３の画像センサ面をそれぞれ表しており、任意の被写体（例えば、ワーク）が画像センサ面２０１、２０２に投影された結果を画像として取得する。なお、図８においては、説明を簡単化するために、画像センサの実際の物理的な配置に対し、レンズ主点について反転した図を用いている。
【００５２】
次に、図７に示すように、ロボット装置１を撮影姿勢に移動させて基準カメラ２２によって第１画像を取得する（ステップＳ０１、第１画像取得工程）。そして、第１画像に対して画像処理を行い、画像内のワークを検出する（ステップＳ０２）。この検出には、パターンマッチングや２値化処理など、公知の各種画像処理手法を用いることが可能である。その後、ステップＳ０２における第１画像のワークの検出結果に基づいて、参照カメラ２３に設定する参照カメラ切出し範囲３０７を計算する（ステップＳ０３）。以下、切り出しステップＳ０３について、ステップＳ２１〜Ｓ２４のサブステップに分けて説明する。まず、第１画像における対象物抽出結果に基づいて、基準カメラ切出し範囲３０３を計算する（ステップＳ２１）。基準カメラ切出し範囲３０３としては、たとえば、第１画像において抽出された対象物の画像領域を囲う最小の矩形領域が計算される。
【００５３】
次に、計算された基準カメラ切出し範囲３０３に対して、頂点ＰＬｉ（ｉ＝１、２、３、４）の座標を抽出し、画像座標をＰＬｉ（ｃＬｉ、ｒＬｉ）とする。次に、基準カメラ２２に設定された基準カメラ切り出し範囲３０３の頂点ＰＬｉと、仮のワーク奥行情報と、を用いてワークの存在し得る３次元計測対象領域（３次元座標）を求める（ステップＳ２２、３次元座標計算工程）。
【００５４】
ここで、奥行情報は、基準カメラ２２のレンズから、測定したい領域までの距離を規定する情報であり、予めユーザが設定してＲＯＭ４１ａに記憶させておく。なお、奥行情報は、基準カメラ座標系ＣＬの原点から近い側と遠い側の２つを設定し、基準カメラ２２からピントが合う範囲の被写界深度の前端、後端を設定してもよく、ワークと基準カメラ２２との距離の範囲が予め規定できる場合は設計値から決定してもよい。本実施形態においては、基準カメラ座標系ＣＬの原点からの距離として、ｚ＝ｄ１、ｚ＝ｄ２が奥行情報として設定され、ＲＯＭ４１ａに記憶させている。
【００５５】
また、３次元計測対象領域とは、基準カメラ切り出し範囲３０３によって定義される視線曲面（本実施形態においては４つの視平面）と、奥行情報とによって得られる少なくとも２つの平面によって囲まれる領域である。図８に示すように、３次元計測対象領域は、四角錘台状の領域で表される。３次元計測対象領域の代表点として、８つの頂点（３次元点）ＰＷｉ・ｊ（ｉ＝１、２、３、４、ｊ＝１、２）の座標を求める。３次元点ＰＷｉ・ｊは、基準カメラ座標系ＣＬから基準カメラ切り出し範囲３０３の頂点ＰＬｉに向かう視線と、平面３０４、３０５との交点である。以下、ステップＳ２２において３次元点ＰＷｉ・ｊを求める。
【００５６】
ステップＳ２１で画像座標によって設定された頂点ＰＬｉ（ｃＬｉ、ｒＬｉ）は、基準カメラ座標系ＣＬにおいて、下記のように表現される。
【００５７】
【数７】
2014013146.tif 000009
【００５８】
ここで、ｓｘＬ、ｓｙＬは、基準カメラ２２の内部パラメータの画像センササイズであり、ｃｘＬ、ｃｙＬは、画像座標における光軸中心の位置である。また、ｆＬは、基準カメラ２２の焦点距離である。なお、本実施形態においては、簡単にするためにレンズ歪みを考慮していないが、例えば、公知のレンズ歪を考慮した変換式を用いてもよい。
【００５９】
基準カメラ座標系ＣＬと、３次元点ＰＷｉ・ｊを通る視線の式は、
【００６０】
【数８】
2014013146.tif 000010
と表せる。更に、３次元点ＰＷｉ・ｊの座標を、距離ｄ１、ｄ２の平面と視線の交点として求める。
【００６１】
ＰＷｉ・ｊ＝（ｘＷｉ・ｊ、ｙＷｉ・ｊ、ｚＷｉ・ｊ）Ｔ
とすると、ｚＷｉｊ＝λ・ｆＬ＝ｄｊ（ｉ＝１、２、３、４、ｊ＝１、２）より、
【００６２】
【数９】
2014013146.tif 000011
と、３次元点ＰＷｉ・ｊを基準カメラ座標系ＣＬにおいて求めることができる。
【００６３】
次に、３次元点ＰＷｉ・ｊの参照カメラ２３への投影点ＰＲｉｊを計算する（ステップＳ２３、投影計算工程）。まず、基準カメラ座標系ＣＬで記述されたＰＷｉ・ｊの座標を参照カメラ座標系ＣＲに座標変換する。姿勢パラメータである回転行列Ｒ及び並進ベクトルtを用いて、以下のように座標変換を行う。参照カメラ座標系ＣＲで表された３次元点ＰＷｉ・ｊの座標をＰＷｉ・ｊ＝（ｘ´ｗｉ・ｊ、ｙ´ｗｉ・ｊ、ｚ´ｗｉ・ｊ）Ｔとすれば、
【００６４】
【数１０】
2014013146.tif 000012
【００６５】
次に、参照カメラ座標系ＣＲで表された３次元点ＰＷを、参照カメラ２３へ投影した投影点ＰＲｉｊを求める。ＰＲｉ・ｊ＝（ｘ´Ｒｉ・ｊ、ｙ´Ｒｉ・ｊ、ｚ´Ｒｉ・ｊ）Ｔは、参照カメラ２３の焦点距離ｆＲを用いて、
【００６６】
【数１１】
2014013146.tif 000013
となる。更に、投影点ＰＲｉｊの画像座標（ｃＲｉｊ、ｒＲｉｊ）は、参照カメラ２３の内部パラメータを用いて、
【００６７】
【数１２】
2014013146.tif 000014
として求まる。以上の処理により、３次元計測対象領域３０６の３次元点ＰＷｉｊを参照カメラ２３に投影した投影点ＰＲｉｊの画像座標を求めることができる。
【００６８】
次に、３次元計測対象領域頂点の投影点ＰＲｉｊを全て包含するように参照カメラ切出し範囲を決定し、参照カメラ２３に設定する（ステップＳ２４、切出し範囲設定工程）。例えば、図９に示すように、投影点ＰＲｉｊを含み、画像座標に平行な最小矩形領域を、参照カメラ切出し範囲として用いる。
【００６９】
以上のステップＳ２１〜Ｓ２４の処理を行うことにより、基準カメラ２２に設定した基準カメラ切出し範囲３０３をもとに、参照カメラ２３に設定する参照カメラ切出し範囲３０７を自動的に計算することができる。参照カメラ切出し範囲が設定されると、次に、参照カメラ切出し範囲での第２画像が取得され（Ｓ０４、第２画像取得工程）、第２画像に対する画像処理によってワークが抽出される（ステップＳ０５）。そして最後に、第１画像と第２画像とでワークの３次元位置の測定が行われる（ステップＳ０６、３次元計測工程）。なお、３次元計測工程におけるワークの３次元位置の計測については、一般的な画像処理により実施可能であるため、ここではその説明は省略する。
【００７０】
以上説明したように、第２実施形態に係るロボット装置１Ａは、少数の点に対する座標計算のみで切出し範囲を決定できるため、基準カメラ２２と参照カメラ２３の画素相関を取るような手法に比べて計算負荷が小さく、高速に切出し範囲を決定することができる。また、第２実施形態においては、３次元計測対象領域３０６の投影を考慮して参照カメラ切出し範囲３０７を決定することにより、３次元計測対象領域３０６内の被写体（ワーク）を参照カメラ２３によって不足なく撮像することができる。
【００７１】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【００７２】
例えば、本実施形態においては、基準切出し範囲２０３及び参照切出し範囲２０６を、矩形状に切出したが、本発明においてはこれに限定されない。基準切出し範囲及び参照切出しは、矩形以外にも、例えば、多角形、円形、楕円形など、任意の２次元形状に切出してもよい。
【００７３】
また、第１実施形態においては、奥行情報を規定する平面２０５を基準カメラ座標系ＣＬのｚ軸方向に対して垂直な平面としたが、本発明においてはこれに限定されない。例えば、奥行を規定する平面に任意の傾きを設定してもよい。その場合は、ｚ＝ｄとして表現された奥行情報をａｘ＋ｂｙ＋ｃｚ＝ｄとして、一般的な平面の方程式に拡張することで対応させることができる。
【００７４】
また、第２実施形態においては、奥行情報を規定する平面３０４、３０５を、基準カメラ座標系ＣＬのｚ方向に対して垂直な平面としたが、本発明においてはこれに限定されない。例えば、奥行を規定する平面３０４、３０５に任意の傾きを設定してもよい。その場合は、ｚ＝ｄｊ（ｊ＝１、２）として表現した奥行情報を、ａｉｘ＋ｂｉｙ＋ｃｉｚ＝ｄｉ（ｊ＝１、２）として、一般的な平面の方程式に拡張することで対応させることができる。
【００７５】
また、本実施形態においては、基準カメラ２２及び参照カメラ２３の２台のカメラを用いて説明したが、本発明においてはこれに限定されない。例えば、３台以上のカメラからなる複眼カメラシステムを用いてもよい。参照カメラが２台以上ある場合でも、それぞれのカメラに対して内部パラメータ及び姿勢パラメータが求めることで、１台の基準カメラに対して設定した基準カメラ切出し範囲をもとに、それぞれの参照カメラに設定する参照カメラ切出し範囲を計算することができる。
【符号の説明】
【００７６】
１、１Ａ    ロボット装置
２    ロボット
５、５Ａ    カメラ制御部（制御部）
２０    ロボットワーム
２２    基準カメラ（第１カメラ）
２３    参照カメラ（第２カメラ）
４８    記録媒体
【図１】
2014013146.tif 000015
【図２】
2014013146.tif 000016
【図３】
2014013146.tif 000017
【図４】
2014013146.tif 000018
【図５】
2014013146.tif 000019
【図６】
2014013146.tif 000020
【図７】
2014013146.tif 000021
【図８】
2014013146.tif 000022
【図９】
2014013146.tif 000023