説明

3次元形状計測装置およびロボットシステム

【課題】3次元形状の計測処理を高速化すること。
【解決手段】スリット状の光線を計測対象物に対する照射位置を変更させながら照射する照射部と、前記光線が照射された前記計測対象物を順次撮像する撮像部と、前記撮像部によって撮像された画像を走査することによって前記画像における前記光線の位置を検出する位置検出部と、前記位置検出部による走査対象の画像よりも以前に前記撮像部によって撮像された画像における前記光線の位置に基づいて前記走査対象の画像における走査領域を決定する走査領域決定部とを3次元形状計測装置へ設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状計測装置およびロボットシステムに関する。
【背景技術】
【0002】
従来、物体の3次元形状を計測する3次元形状計測装置がある(たとえば、特許文献1参照)。かかる3次元形状計測装置は、たとえば、スリット状の光線を計測対象物に対する照射位置を変更しながら照射し、光線が照射された計測対象物をカメラによって順次撮像する。
【0003】
続いて、3次元形状計測装置は、カメラの受光素子から撮像された画像に関する画像情報を読み出し、撮像された画像の全画素を走査することによって画像における光線の位置を検出し、光線の画像における位置とカメラの位置とに基づいて光線の受光角度を算出する。
【0004】
そして、3次元形状計測装置は、光線の照射角度、受光角度および光線の光源からカメラまでの距離を用い、三角測量の原理によって計測対象物の各部位の高さを算出することにより計測対象物の3次元形状を計測する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−270137号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の3次元形状計測装置では、画像における光線の位置を検出するために、撮像した画像の全画素を走査していたため、光線の受光角度の算出に時間がかかり、かかる時間が3次元形状の計測処理を高速化する上で妨げとなっていた。
【0007】
開示の技術は、上記に鑑みてなされたものであって、3次元形状の計測処理を高速化することができる3次元形状計測装置およびロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本願の開示する3次元形状計測装置は、スリット状の光線を計測対象物に対する照射位置を変更させながら照射する照射部と、前記光線が照射された前記計測対象物を順次撮像する撮像部と、前記撮像部によって撮像された画像を走査することによって前記画像における前記光線の位置を検出する位置検出部と、前記位置検出部による走査対象の画像よりも以前に前記撮像部によって撮像された画像における前記光線の位置に基づいて前記走査対象の画像における走査領域を決定する走査領域決定部とを備える。
【発明の効果】
【0009】
本願の開示する3次元形状計測装置の一つの態様によれば、3次元形状の計測処理を高速化することができる。
【図面の簡単な説明】
【0010】
【図1A】図1Aは、実施例1に係る3次元形状計測装置および計測対象物の位置関係を示す図である。
【図1B】図1Bは、実施例1に係る3次元形状計測装置の撮像部によって撮像される画像の一例を示す図である。
【図1C】図1Cは、実施例1に係る3次元形状計測装置の撮像部によって撮像される画像の一例を示す図である。
【図2】図2は、実施例1に係る3次元形状計測装置の構成を示すブロック図である。
【図3】図3は、実施例1に係る3次元形状の計測方法を示す図である。
【図4A】図4Aは、実施例1に係る走査領域の決定例およびレーザ位置の検出例を示す図である。
【図4B】図4Bは、実施例1に係る走査領域の決定例およびレーザ位置の検出例を示す図である。
【図4C】図4Cは、実施例1に係る走査領域の決定例およびレーザ位置の検出例を示す図である。
【図5】図5は、実施例1に係る制御部が実行する処理を示すフローチャートである。
【図6A】図6Aは、走査領域決定部による走査領域の補正方法の説明図である。
【図6B】図6Bは、走査領域決定部による走査領域の補正方法の説明図である。
【図6C】図6Cは、走査領域決定部による走査領域の補正方法の説明図である。
【図7A】図7Aは、走査領域決定部による走査領域の補正方法の説明図である。
【図7B】図7Bは、走査領域決定部による走査領域の補正方法の説明図である。
【図7C】図7Cは、走査領域決定部による走査領域の補正方法の説明図である。
【図8】図8は、実施例2に係るロボットシステムを示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本願の開示する3次元形状計測装置およびロボットシステムの実施例を詳細に説明する。なお、以下に示す実施例における例示で本発明が限定されるものではない。また、以下では、3次元形状計測装置の実施例を実施例1とし、3次元形状計測装置を含むロボットシステムの実施例を実施例2としてそれぞれ説明する。
【実施例1】
【0012】
まず、実施例1に係る3次元形状計測方法について、図1A、図1Bおよび図1Cを用いて説明する。図1Aは、実施例1に係る3次元形状計測装置1および計測対象物7の位置関係を示す図であり、図1Bおよび図1Cは、実施例1に係る3次元形状計測装置1の撮像部3によって撮像される画像の一例を示す図である。
【0013】
なお、以下では、説明をわかりやすくする観点から、直交座標系であるXY座標系を計測対象物7の載置面上に設け、かかる載置面の鉛直下方向をZ軸としている。そして、以下では、計測対象物7の載置面となるステージ6上に載置される直方体を計測対象物7とし、かかる計測対象物7の3次元形状を3次元形状計測装置1によって鉛直上方向から計測する場合について説明する。
【0014】
図1に示すように、実施例1に係る3次元形状計測方法では、3次元形状計測装置1がレーザ装置21からミラー22へ向けてスリット状の光線(以下、「レーザLA」と記載する)を出射する。
【0015】
続いて、3次元形状計測装置1は、ミラー22を回転させることでレーザLAを計測対象物7に対する照射位置を変更させながら照射する。ここで、3次元形状計測装置1は、計測対象物7におけるレーザLAの照射位置をX軸の負の方向から正の方向へ向けて移動させながら、計測対象物7に対して斜め上方向からレーザLAを照射する。
【0016】
そして、3次元形状計測装置1は、レーザLAが照射された計測対象物7の画像を撮像部3によって順次撮像する。すなわち、撮像部3は、ステージ6および計測対象物7によって反射されたレーザLAを受光することにより、ステージ6および計測対象物7上を撮像フレーム毎に移動方向に移動するレーザLAを撮像する。
【0017】
そして、3次元形状計測装置1は、撮像部3によって撮像された各画像におけるレーザLAの位置(以下、「レーザ位置」と記載する)を検出し、検出したレーザ位置を用い、三角測量の原理によって計測対象物7の3次元形状を計測する。
【0018】
たとえば、3次元形状計測装置1は、撮像部3によって図1Bに示す1枚目の画像が撮像された後、図1Cに示す2枚目の画像が撮像された場合、1枚目の画像については、図1Bに示すように、画像全体を走査領域SAとして画像を走査することにより画像におけるレーザ位置Laを検出する。
【0019】
このとき、3次元形状計測装置1は、X軸における正の方向と平行な方向を走査方向とし、走査方向への各走査の走査開始位置をY軸における正の方向と平行な方向へ順次移動させながら1枚目の画像の全画素を走査する。
【0020】
後述するように、撮像部3は受光面に整然と並んで配置される複数の受光素子を有しており、かかる受光素子の配列方向(ここではX軸方向)とレーザLAの移動方向とが対応するように撮像部3の設置姿勢が予め調整されている。
【0021】
そして、3次元形状計測装置1は、撮像部3が備える全受光素子から画像における各画素の輝度に関する情報を読み出し、走査方向へ並ぶ画素列毎に、各画素の輝度と所定の閾値とを比較する。
【0022】
続いて、3次元形状計測装置1は、各画素列における輝度が所定の閾値を超えた画素のうち、最も明るい画素の位置を1枚目の画像におけるレーザLAの位置Laとして検出する。なお、輝度が所定の閾値を超えた画素の輝度プロフィールを取得し、重心演算処理によりサブピクセル精度で、レーザ位置Laを算出してもよい。
【0023】
一方、3次元形状計測装置1は、2枚目の画像を走査する場合、図1Cに示すように、1枚目の画像を走査する場合よりも狭い走査領域SBに対応する受光素子から選択的に各画素の輝度に関する情報を読み出し、走査領域SBにおける画素を走査することによって2枚目の画像におけるレーザ位置Lbを検出する。
【0024】
すなわち、実施例1に係る3次元形状計測方法では、レーザLAは、ステージ6および計測対象物7上をX軸における正の方向へ移動させている。このため、2枚目の画像におけるレーザ位置Lbは、1枚目の画像におけるレーザ位置LaよりもX軸の正側で検出される。言い換えれば、2枚目の画像におけるレーザ位置Lbは、1枚目の画像におけるレーザ位置LaよりもX軸の負側で検出されることはない。
【0025】
また、実施例1に係る3次元形状計測方法では、ミラー22の回転速度に基づいて1枚目の画像が撮像されてから2枚目の画像が撮像されるまでの間にステージ6および計測対象物7上を移動するレーザLAの移動距離を大まかに予測することができる。
【0026】
そこで、実施例1に係る3次元形状計測方法では、2枚目の画像を走査する場合、1枚目の画像におけるレーザ位置Laを走査開始位置とし、レーザLAの予測移動距離に基づいて定めた所定距離だけ走査開始位置から走査方向へ離れた位置を走査終了位置として決定する。
【0027】
これにより、実施例1に係る3次元形状計測方法では、2枚目の画像を走査する場合、1枚目の画像を走査する場合よりも少ない数の受光素子から選択的に画素の輝度に関する情報を読み出し、各画素を走査することで2枚目の画像におけるレーザ位置Lbを検出することができる。
【0028】
したがって、実施例1に係る3次元形状計測方法では、撮像部3から画素の輝度に関する情報を読み出す処理、および画像におけるレーザ位置の検出処理に要する時間を短縮することが可能となるため、3次元形状の計測処理を高速化することができる。
【0029】
また、実施例1に係る3次元形状計測方法によれば、レーザ位置を検出するための走査領域を適切に限定して決定することが可能なため、決定した走査領域以外の領域に外乱光等が侵入した場合に、かかる外乱光等をレーザLAとして誤検出することがない。
【0030】
また、実施例1に係る3次元形状計測方法では、撮像部3によって撮像される3枚目以降の画像を走査する場合、1枚目の画像におけるレーザ位置Laおよび2枚目の画像におけるレーザ位置Lbに基づき、3枚目の画像における走査領域を決定する。なお、かかる点については、図4Cを用いて後述する。
【0031】
次に、実施例1に係る3次元形状計測装置1の構成について、図2を用いて説明する。図2は、実施例1に係る3次元形状計測装置1の構成を示すブロック図である。図2に示すように、3次元形状計測装置1は、照射部2、撮像部3、制御部4および記憶部5を備える。
【0032】
照射部2は、制御部4による制御に従ってレーザLAをステージ6および計測対象物7に対する照射位置を変更しながら照射する装置である。かかる照射部2は、レーザ装置21とミラー22とを備える。
【0033】
レーザ装置21は、制御部4から入力される制御信号に基づいてスリット状の光線であるレーザLAをミラー22の反射面に対して出射する装置である。また、ミラー22は、制御部4から入力される制御信号に基づいて反射面を回転制御することによりレーザ装置21から出射されたレーザLAをステージ6および計測対象物7上の照射位置がX軸における負方向から正方向へ移動するように照射する反射板である。
【0034】
撮像部3は、受光素子としてCMOS(Complementary Metal Oxide Semiconductor)センサを備えたカメラである。かかる撮像部3は、レーザLAが照射されたステージ6および計測対象物7の画像を順次撮像し、撮像した画像を制御部4へ出力する。なお、撮像部3の受光素子は、CMOSセンサに限らず、CCD(Charge Coupled Device)センサ等の任意のイメージセンサを適用することができる。
【0035】
記憶部5は、画像情報51、レーザ位置情報52、形状情報53等を記憶する記憶デバイスである。ここで、画像情報51は、撮像部3によって撮像された画像を示す情報であり、レーザ位置情報52は、撮像部3によって撮像された各画像におけるレーザ位置を示す情報である。また、形状情報53は、3次元形状計測装置1によって計測された計測対象物7の3次元形状を示す情報である。
【0036】
制御部4は、3次元形状計測装置1全体の動作を統括制御する処理部であり、画像情報取得部41、位置検出部42、走査領域決定部43、形状計測部44および照射制御部45を備える。
【0037】
照射制御部45は、レーザ装置21へレーザLAの出射を指示する制御信号を出力するとともに、ミラー22へ反射面の回転角度を指示する制御信号を出力する処理部である。また、照射制御部45は、形状計測部44へミラー22の回転角度を示す情報を出力する。
【0038】
画像情報取得部41は、撮像部3によって順次撮像された画像を撮像部3から取得し、画像情報51として記憶部5へ記憶させる処理部である。かかる画像情報取得部41は、撮像部3の全受光素子のうち、走査領域決定部43から入力される走査領域に対応する受光素子から選択的に画素の輝度に関する情報を画像情報51として読み出して取得する。
【0039】
位置検出部42は、記憶部5から読み出した画像情報51に基づき、撮像部3によって順次撮像された各画像におけるレーザ位置を検出する処理部である。かかる位置検出部42は、走査領域決定部43によって決定される走査領域内の画素を走査する。
【0040】
そして、位置検出部42は、走査した画素のうち輝度が所定の閾値を超えた画素のうち最も明るい画素の画像における位置を各画像におけるレーザ位置として検出し、検出結果を形状計測部44へ出力するとともに、検出結果をレーザ位置情報52として記憶部5へ記憶させる。なお、位置検出部42によるレーザ位置の検出例については、図4A、図4Bおよび図4Cを用いて後述する。
【0041】
走査領域決定部43は、記憶部5から読み出したレーザ位置情報52に基づき、位置検出部42による走査対象の画像よりも以前に撮像部3によって撮像された画像におけるレーザ位置を用いて走査対象の画像における走査領域を決定する処理部である。
【0042】
かかる走査領域決定部43は、各画像について位置検出部42によって走査方向へ走査される画素列(以下、「ライン」と記載する)毎に各走査領域を決定し、決定した走査領域を示す情報を画像情報取得部41へ出力する。なお、走査領域決定部43による走査領域の決定例については、図4A、図4Bおよび図4Cを用いて後述する。
【0043】
また、走査領域決定部43は、記憶部5から読み出した形状情報53に基づき、計測対象物7の画像における法線方向の距離(以下、「計測対象物7の高さ」と記載する)に応じて走査領域を補正する。なお、かかる点については、図6A、図6B、図6C、図7A、図7Bおよび図7Cを用いて後述する。
【0044】
形状計測部44は、位置検出部42から入力される各画像におけるレーザ位置および照射制御部45から入力されるミラー22の回転角度に基づき、三角測量の原理によって計測対象物7の3次元形状を計測する処理部である。かかる形状計測部44は、計測した計測対象部7の3次元形状を形状情報53として記憶部5へ記憶させる。
【0045】
次に、形状計測部44による計測対象物7の3次元形状の計測方法について、図3を用いて簡単に説明する。図3は、実施例1に係る3次元形状の計測方法を示す図である。
【0046】
図3に示すように、3次元形状計測装置1では、ミラー22におけるレーザLAの反射位置23および撮像部3におけるレーザLAの受光位置31がステージ6と平行な同一平面(以下、「基準面Z1」と記載する)上に位置するようにミラー22と撮像部3とが配置される。
【0047】
そして、形状計測部44は、ミラー22の回転角度に基づいてレーザLAの計測対象物7に対する照射角度aを算出する。さらに、形状計測部44は、画像におけるレーザ位置に基づいて撮像部3によるレーザLAの受光角度bを算出する。
【0048】
ここで、ミラー22におけるレーザLAの反射位置23から撮像部3におけるレーザLAの受光位置31までの距離cは既知であり、基準面Z1からステージ6までの距離dも既知である。
【0049】
このため、形状計測部44は、ミラー22におけるレーザLAの反射位置23から撮像部3におけるレーザLAの受光位置31までの距離c、レーザLAの照射角度aおよび受光角度bを用いて三角測量の原理により基準面Z1から計測対象物7の天面までの距離eを算出することができる。
【0050】
これにより、形状計測部44は、基準面Z1からステージ6までの距離dから、基準面Z1から計測対象物7の天面までの距離eを減算することによって計測対象物7の高さfを算出することができる。したがって、形状計測部44は、計測対象物7の各部位について高さfをそれぞれ算出することにより、計測対象物7の3次元形状を算出することができる。
【0051】
次に、走査領域決定部43による走査領域の決定例および位置検出部42によるレーザ位置の検出例について、図4A、図4Bおよび図4Cを用いて説明する。図4A、図4Bおよび図4Cは、実施例1に係る走査領域の決定例およびレーザ位置の検出例を示す図である。
【0052】
図4Aに示すように、走査対象の画像が撮像部3によって撮像されたn枚目の画像であり、計測対象物7に関する1枚目の画像であったとする。かかる場合、走査領域決定部43は、画像におけるY軸方向の最も負側でX軸方向へ画素が並ぶライン(以下、「0番目のライン」と記載する)の全画素を0番目のラインの走査領域Saとして決定する。
【0053】
また、位置検出部42は、走査領域Saにおける全画素をX軸の正方向へ走査して、各画素の輝度と所定の閾値とを比較し、輝度が所定の閾値を超えた画素のうち、最も明るい画素の位置Pを0番目のラインにおけるレーザ位置Pとして検出する。輝度が所定の閾値を超える画素が存在しない場合は、レーザ未検出とする。
【0054】
そして、3次元形状計測装置1では、走査領域決定部43がn枚目の画像おける全てのラインについて同様に走査領域Saを決定し、位置検出部42が全てのラインについて同様にレーザ位置Pを検出する。すなわち、n枚目の画像では、画像に含まれる全画素が走査領域決定部43によって走査領域Saとして決定され、画像に含まれる全画素が位置検出部42によって走査される。
【0055】
また、図4Bに示すように、走査対象の画像が撮像部3によって撮像されたn+1枚目の画像であり、計測対象物7に関する2枚目の画像であったとする。かかる場合、走査領域決定部43は、前回撮像された画像である1フレーム前の画像(ここでは、n枚目の画像)に基づき、今回撮像された走査対象の画像(ここでは、n+1枚目の画像)における走査領域を決定する。
【0056】
具体的には、走査領域決定部43は、図4Bに示すように、n+1枚目の画像における0番目のラインの走査領域Sbを決定する場合、n枚目の画像におけるレーザ位置P[0]を走査対象の画像における走査開始位置として決定する。
【0057】
そして、走査領域決定部43は、決定した走査開始位置から走査方向であるX軸の正方向へ所定距離WIDTH1離れた位置を走査終了位置として決定し、かかる走査開始位置から走査終了位置までを0番目のラインにおける走査領域Sbとして決定する。
【0058】
かかる所定距離WIDTH1は、たとえば、n枚目の画像が撮像されてからn+1枚目の画像が撮像されるまでに計測対象物7上を移動するレーザLAの移動距離をミラー22の回転速度に基づき予測し、予測した移動距離へ所定の係数を乗算して決定される。
【0059】
そして、画像情報取得部41は、走査領域Sbに対応する受光素子から走査領域Sbにおける各画素の輝度に関する画像情報51を選択的に読み出して記憶部5へ記憶させる。また、位置検出部42は、画像情報51に基づき、走査領域Sbにおける画素をX軸の正方向へ走査して、各画素の輝度と所定の閾値とを比較し、輝度が所定の閾値を超えた画素のうち、最も明るい画素の位置Pを0番目のラインにおけるレーザ位置Pとして検出する。
【0060】
そして、3次元形状計測装置1では、走査領域決定部43がn+1枚目の画像における各ラインについて同様に走査領域Sbを決定し、位置検出部42が各ラインの走査領域Sbにおける画素を走査してレーザ位置Pをそれぞれ検出する。
【0061】
このように、走査領域決定部43は、レーザ位置の検出される可能性が高い領域を選択してn+1枚目の画像における走査領域Sbを決定する。
【0062】
これにより、位置検出部42は、画像情報取得部41が走査領域Sbに対応する受光素子から選択的に取得した画像情報51に基づいてレーザ位置Pを検出することが可能となるため、画像の全画素を走査してレーザ位置Pを検出する場合よりも短い処理時間でレーザ位置Pを検出することができる。
【0063】
したがって、3次元形状計測装置1では、受光素子から画像情報51を読み出す処理および画像におけるレーザ位置Pを検出するに要する処理時間を短縮することが可能となり、3次元形状の計測処理を高速化することができる。
【0064】
また、図4Cに示すように、走査対象の画像が撮像部3によって撮像されたn+2枚目の画像であり、計測対象物7に関する3枚目の画像であったとする。かかる場合、走査領域決定部43は、前回撮像された画像である1フレーム前の画像(ここでは、n+1枚目の画像)および前々回撮像された画像である2フレーム前の画像(ここでは、n枚目の画像)に基づいて今回撮像された走査対象の画像(ここでは、n+2枚目の画像)における走査領域Scを決定する。
【0065】
具体的には、走査領域決定部43は、n+2枚目の画像における0番目のラインの走査領域Scを決定する場合、図4Cに示すように、まず、n+1枚目の画像におけるレーザ位置P[0]を走査対象の画像における走査開始位置P[0]として決定する。
【0066】
ここで、2フレーム前の画像(n枚目の画像)におけるレーザ位置をP[0]とすると、2フレーム前の画像におけるレーザ位置P[0]から1フレーム前の画像におけるレーザ位置P[0]までの距離は、P[0]−P[0]となる。
【0067】
このことから、走査対象となるn+2枚目の画像では、1フレーム前の画像におけるレーザ位置P[0]からX軸の正方向へ距離P[0]−P[0]離れた位置でレーザLAが検出されると予測できる。
【0068】
ただし、レーザ位置は、計測対象物7の形状により予測位置からX軸方向へずれることがある。そこで、走査領域決定部43は、走査対象の画像がn+2枚目の画像の場合、走査開始位置P[0]からX軸の正方向へ前述した距離P[0]−P[0]+所定のマージンWIDTH2離れた位置を走査終了位置として決定し、走査領域Scを決定する。なお、WIDTH2は、WIDTH1と同様にミラーの回転速度により可変としてもよい。
【0069】
このように、走査領域決定部43は、1フレーム前および2フレーム前の画像における実際のレーザ位置を用いることで、大まかな予測に基づき決定した図4Bに示す走査領域Sbよりも狭い走査領域Scを適切に決定することができる。
そして、画像情報取得部41は、走査領域Scに対応する受光素子から走査領域Scにおける各画素の輝度に関する画像情報51を選択的に読み出して記憶部5へ記憶させる。また、位置検出部42は、走査領域Scにおける画素をX軸の正方向へ走査して、各画素の輝度と所定の閾値とを比較し、輝度が所定の閾値を超えた画素のうち、最も明るい画素の位置Pを0番目のラインにおけるレーザ位置として検出する。
【0070】
そして、3次元形状計測装置1では、走査領域決定部43がn+2枚目の画像おける各ラインについて同様に走査領域Scを決定し、位置検出部42が各ラインの走査領域Scにおける画素を走査してレーザ位置Pをそれぞれ検出する。
【0071】
これにより、位置検出部42は、n+1枚目の画像における走査領域Sbよりもさらに狭い走査領域Scの画素を走査することでn+2枚目の画像におけるレーザ位置Pを検出することができる。
【0072】
したがって、3次元形状計測装置1では、受光素子から画像情報51を読み出す処理および画像におけるレーザ位置Pを検出する処理に要する処理時間をさらに短縮することが可能となり、3次元形状の計測処理をより一層高速化することができる。
【0073】
また、走査領域決定部43は、撮像部3によって撮像されたn+3枚目以降の画像について、n+2枚目の画像の場合と同様に、前回撮像された画像および前々回撮像された画像から実際に検出されたレーザ位置に基づいて走査対象の画像における走査領域を決定する。また、位置検出部42は、n+3枚目以降の画像について、n+2枚目の画像の場合と同様にレーザ位置を検出する。
【0074】
なお、n+3枚目以降の画像における走査領域は、連続して撮像された2枚の画像におけるレーザ位置の差分の変化率に基づいて決定してもよい。かかる場合、たとえば、レーザ位置情報53に基づき、連続する2枚の画像におけるレーザ位置の差分を順次算出し、かかる差分を時系に記憶部5へ記憶させる。
【0075】
そして、連続する2枚の画像におけるレーザ位置の差分が一定の変化率で時系列に変化した場合、走査領域決定部43は、かかる変化率を考慮して走査対象の画像における走査領域を決定する。
【0076】
たとえば、連続する2枚の画像におけるレーザ位置の差分が一定の低減率で低減した場合、走査領域決定部43は、まず、1フレーム前の画像におけるレーザ位置を走査開始位置として決定する。
【0077】
そして、走査領域決定部43は、前述した差分の低減率を考慮し、走査開始位置から走査方向へ、1フレーム前および2フレーム前の画像におけるレーザ位置の差分よりも短い距離だけ離れた位置を走査終了位置と決定する。なお、かかる場合、決定した走査領域にマージンWIDTH2を付加してもよい。
【0078】
これにより、3次元形状計測装置1は、より適切に走査領域を狭めることができるため、画像におけるレーザ位置の検出に要する処理時間をさらに短縮することが可能となり、3次元形状の計測処理をより一層高速化することができる。
【0079】
次に、制御部4が実行する処理について、図5を用いて説明する。図5は、実施例1に係る制御部4が実行する処理を示すフローチャートである。なお、図5に示すMEASUREは、ある計測対象物7について撮像部3により撮像される画像の撮像枚数、LINEは、画像におけるライン数である。
【0080】
また、P[LINE]は、走査対象の画像の1フレーム前の画像におけるレーザ位置、P[LINE]は、走査対象の画像の2フレーム前の画像におけるレーザ位置である。
【0081】
また、Lは、各ラインにおける走査開始位置、Lは、各ラインにおける走査終了位置である。また、図5におけるWIDTH1は、図4Bに示すWIDTH1に相当し、WIDTH2は、図4Cに示すWIDTH2に相当する。
【0082】
以下では、一例として、MEASUREが512、LINEが512の場合、すなわち、ある計測対象物7について所定期間内に0枚目〜511枚目の画像が撮像され、1枚の画像が0番目〜511番目のラインによって構成されている場合について説明する。なお、1本のラインには、X軸方向にそれぞれ512個の画素(受光素子)が並んでいるものとする。また、以下では、計測対象物7の天面がXY平面に対して平行な場合、すなわち、計測対象物7の各部位における高さが均一な場合について説明する。
【0083】
実施例1に係る制御部4は、図5に示すように、まず、所定の変数tへ0を代入し(ステップS101)、撮像部3にt枚目の撮像露光を開始させることによってt枚目の画像を撮像させる(ステップS102)。すなわち、ここでの変数tは、走査対象の画像が何枚目に撮像された画像かを表す。
【0084】
続いて、制御部4は、P[LINE]およびP[LINE]における各LINEへ0を代入することによりP[LINE]およびP[LINE]を初期化する(ステップS103)。続いて、制御部4は、所定の変数nへ0を代入する(ステップS104)。かかる変数nは、走査対象のラインが何番目のラインかを表す。
【0085】
続いて、制御部4は、P[n]=0か否かを判定する(ステップS105)。すなわち、制御部4は、ステップS105において、1フレーム前の画像のn番目のラインでレーザLAを未検出か否かを判定する。
【0086】
そして、制御部4は、レーザLAを未検出と判定した場合(ステップS105,Yes)、Lへ0、LへLINE−1を代入し(ステップS106)、処理をステップS107へ移す。すなわち、制御部4は、1フレーム前の画像のn番目のラインでレーザLAを未検出の場合、n番目のラインにおける全画素を走査領域Sa(図4A参照)として決定して処理をステップS107へ移す。
【0087】
一方、制御部4は、1フレーム前の画像のn番目のラインでレーザLAを検出済と判定した場合(ステップS105,No)、P[n]=0か否かを判定する(ステップS113)。すなわち、制御部4は、ステップS113において、2フレーム前の画像のn番目のラインでレーザLAを未検出か否かを判定する。
【0088】
そして、制御部4は、レーザLAを未検出と判定した場合(ステップS113,Yes)、LへP[n]、LへL+WIDTH1を代入し(ステップS114)、処理をステップS107へ移す。すなわち、制御部4は、1フレーム前の画像におけるレーザ位置を走査開始位置とし、走査開始位置からX軸の正方向へWIDTH1離れた位置を走査終了位置として走査領域Sb(図4B参照)を決定し、処理をステップS107へ移す。
【0089】
一方、制御部4は、2フレーム前の画像のn番目のラインでレーザLAを検出済と判定した場合(ステップS113,No)、LへP[n]、LへL+P[n]−P[n]+WIDTH2を代入し(ステップS115)、処理をステップS107へ移す。
【0090】
すなわち、制御部4は、ステップS115において、1フレーム前の画像におけるレーザ位置を走査開始位置とし、走査開始位置からX軸の正方向へP[n]−P[n]+WIDTH2離れた位置を走査終了位置として走査領域Sc(図4C参照)を決定し、処理をステップS107へ移す。
【0091】
そして、制御部4は、ステップS107において、nライン(n番目のライン)上のLからLまでの画像情報51を撮像部3の受光素子から読み出して取得し、取得した画像情報51からレーザ位置Pを算出することによって検出し、処理をステップS108へ移す。なお、制御部4は、レーザ位置を未検出の場合、Pへ0を代入して処理をステップS108へ移す。
【0092】
続いて、制御部4は、P≠0またはL=0か否かを判定する(ステップS108)。すなわち、制御部4は、レーザ位置を検出できたか否か、もしくはn番目のラインにおける全画素を走査したか否かを判定する。そして、制御部4は、レーザ位置を検出できなかった場合且つn番目のラインにおける全画素を走査していない場合(ステップS108,No)、処理をステップS106へ移し、再度n番目のラインの全画素を走査してレーザ位置を検出する。
【0093】
一方、制御部4は、レーザ位置を検出できた場合(ステップS108,Yes)、3次元演算処理を行い(ステップS109)、演算結果を形状情報53として記憶部5へ格納する(ステップS110)。続いて、制御部4は、変数nを1インクリメントした後(図示略)、変数nがLINE以上か否かを判定する(ステップS111)。
【0094】
そして、制御部4は、変数nがLINE未満であると判定した場合(ステップS111,No)、処理をステップS105へ移す。すなわち、制御部4は、1枚の画像の全ラインについて走査が完了するまで、ステップS105〜ステップS111、ステップS113〜ステップS115の処理を繰り返す。
【0095】
一方、制御部4は、変数nがLINEに達したと判定した場合(ステップS111,Yes)、変数tを1インクリメントした後(図示略)、変数tがMEASURE以上か否かを判定する(ステップS112)。
【0096】
そして、制御部4は、変数tがMEASURE未満であると判定した場合(ステップS112,No)、処理をステップS102へ移す。すなわち、制御部4は、全フレームの画像について走査が完了するまで、ステップS102〜ステップS115の処理を繰り返す。一方、制御部4は、変数tがMEASUREに達したと判定した場合(ステップS112,Yes)、処理を終了する。
【0097】
次に、計測対象物7の天面がXY平面に対して平行でない場合に走査領域決定部43が行う走査領域の補正について、図6A、図6B、図6C、図7A、図7Bおよび図7Cを用いて説明する。図6A、図6B、図6C、図7A、図7Bおよび図7Cは、走査領域決定部43による走査領域の補正方法の説明図である。
【0098】
なお、図6A、図6B、図6C、図7A、図7Bおよび図7Cでは、図3に示すものと同一の構成要素に対して同一の符号を付している。また、以下では、ミラー22の回転速度が一定であり、撮像部3による撮像の時間間隔が一定の場合について説明する。
【0099】
図6Aに示すように、計測対象物7の天面がXY平面に対して平行な場合、走査領域決定部43は、図7Aに示すように、1フレーム前の画像におけるレーザ位置P[0]を走査対象の画像における走査開始位置と決定する。そして、走査領域決定部43は、走査開始位置からX軸の正方向へ所定距離WIDTH1離れた位置Pを走査終了位置として決定する。
【0100】
これに対して、図6Bに示すように、Z軸方向の高さがX軸の正方向へ向かうにつれて高くなる計測対象物71の場合、図6Aに示す計測対象物7に比べ、計測対象物71上におけるレーザLAの移動速度が遅くなる。
【0101】
このため、図7Bに示すように、Z軸方向の高さがX軸の正方向へ向かうにつれて高くなる計測対象物71の場合、1フレーム前の画像におけるレーザ位置P[0]と走査対象の画像におけるレーザ位置Pとの距離qは、図7Aに示す距離pよりも短くなる。
【0102】
そこで、走査領域決定部43は、計測対象物71の部位のうち形状を計測済みの部位に関する形状情報53に基づき、Z軸方向の高さがX軸の正方向へ向かうにつれて高くなる計測対象物71か否かを判別する。
【0103】
そして、走査領域決定部43は、Z軸方向の高さがX軸の正方向へ向かうにつれて高くなる計測対象物71の場合、1フレーム前の画像におけるレーザ位置P[0]からX軸の正方向へ所定距離WIDTH1よりも短い距離WIDTH1a離れた位置までを走査領域とする補正を行う。
【0104】
一方、図6Cに示すように、Z軸方向の高さがX軸の正方向へ向かうにつれて低くなる計測対象物72の場合、図6Aに示す計測対象物7に比べ、計測対象物72上におけるレーザLAの移動速度が速くなる。
【0105】
このため、図7Cに示すように、Z軸方向の高さがX軸の正方向へ向かうにつれて低くなる計測対象物72の場合、1フレーム前の画像におけるレーザ位置P[0]と走査対象の画像におけるレーザ位置Pとの距離rは、図7Aに示す距離pよりも長くなる。
【0106】
そこで、走査領域決定部43は、計測対象物72の部位のうち形状を計測済みの部位に関する形状情報53に基づき、Z軸方向の高さがX軸の正方向へ向かうにつれて低くなる計測対象物72か否かを判別する。
【0107】
そして、走査領域決定部43は、Z軸方向の高さがX軸の正方向へ向かうにつれて低くなる計測対象物72の場合、1フレーム前の画像におけるレーザ位置P[0]からX軸の正方向へ所定距離WIDTH1よりも長い距離WIDTH1b離れた位置までを走査領域とする補正を行う。
【0108】
このように、3次元形状計測装置1では、走査領域決定部43が計測対象物7、71、72のZ軸方向の高さに応じて適切に走査領域を補正するため、位置検出部42は、不必要な画素を走査することなく画像におけるレーザ位置Pを検出することが可能となる。したがって、3次元形状計測装置1では、レーザ位置Pの検出処理に要する処理時間を適切に短縮することで3次元形状の計測処理を高速化することができる。
【0109】
なお、走査領域決定部43は、計測対象物7における各部位の高さが均一な場合にも走査領域を補正するよう構成してもよい。たとえば、計測対象物7のX軸方向の長さが所定の長さを超える場合、計測対象物7上におけるレーザLAの照射位置がX軸の正方向へ移動するほど、レーザLAの移動速度が高くなり無視できなくなることがある。
【0110】
かかる場合、走査領域決定部43は、計測対象物7上におけるレーザの照射位置がX軸の正方向へ移動するほど、走査領域を走査方向へ長くする補正を行う。かかる補正を行うことで、計測対象物7のX軸方向の長さが所定の長さを超える場合であっても、適切な走査領域を決定することが可能となり、画像におけるレーザ位置を適切に検出することができる。
【0111】
次に、3次元計状計測装置1を含むロボットシステムの実施例について図8を用いて説明する。
【実施例2】
【0112】
図8は、実施例に係るロボットシステム10を示す図である。以下では、バラ積みされたワークを判別し、判別したワークを用いた作業をロボットに実行させるロボットシステム10について説明する。なお、図8では、ワークの一例としてネジを図示しているが、ワークは、ネジに限らずボルトやナット等任意の部材であってもよい。
【0113】
図8に示すように、ロボットシステム10は、3次元形状計測装置1と、ロボット制御装置11と、ロボット12とを含む。なお、3次元形状計測装置1は、実施例1において説明したものと同様のものであり、山積みされたワークの鉛直上方に設置されてワークの3次元形状を計測する。
【0114】
ロボット制御装置11は、3次元形状計測装置1およびロボット12に接続され、3次元形状計測装置1からバラ積みされたワークに関する形状情報53(図2参照)を取得する。続いて、ロボット制御装置11は、バラ積みされたワークから作業対象のワークの位置および向きを判別し、判別結果をロボット12へ出力する。
【0115】
ロボット12は、7軸の関節を備えたロボットアームの先端にワークを把持するロボットハンドを備えている。かかるロボット12は、ロボット制御装置11から入力される作業対象のワークの位置および向きに基づいてロボットアームおよびロボットハンドを駆動してワークを把持し、ワークを所定の部材へ取り付ける作業等を行う。
【0116】
かかるロボットシステム10では、実施例1と同様に3次元形状計測装置1が走査対象の画像より以前に撮像したワークの画像に基づいて、走査対象の画像における走査領域を適切に狭く決定し、決定した走査領域の画素を走査してワークの3次元形状を計測する。
【0117】
これにより、ロボット制御装置11は、3次元形状計測装置1による高速化された形状計測処理によって計測されるワークの3次元形状から迅速に作業対象のワークの位置および向きを検出してロボット12へ出力することが可能となる。
【0118】
したがって、ロボットシステム10によれば、3次元形状計測装置1によるワークの形状計測が開始されてから、ロボット12によりワークを把持させるまでの処理時間を短縮することによってロボット12による作業時間を短縮させ、作業効率を向上させることができる。
【0119】
また、ロボットシステム10では、ロボット制御装置11からロボット12へ出力した作業対象のワークの位置を示す位置情報を3次元形状計測装置1へ出力させ、かかる位置情報に基づいて3次元形状計測装置1による計測処理の内容を変更させてもよい。
【0120】
すなわち、ロボット12によって山積みのワークから特定のワークが取り出された場合、ワークが取り出された領域では、山積みのワーク形状に変化が生じるが、ワークが取り出された領域以外の領域では、山積みのワークの形状に変化が生じない場合がある。
【0121】
かかる場合、3次元形状計測装置1は、たとえば、ロボット12によって作業対象のワークが取り出された領域について実施例1と同様の走査領域を決定し、ワークが取り出された領域以外については、ワークが取り出される前に撮像された画像におけるレーザ位置を中心とする所定領域を走査領域として決定する。
【0122】
これにより、ロボットシステム10では、3次元形状計測装置1の位置検出部42によって走査させる画素数をさらに低減することで3次元形状の計測処理時間をより短縮することが可能となるため、ロボット12の作業効率を一層向上させることができる。
【0123】
なお、実施例2では、3次元形状計測装置1とロボット12とを別体に設けたが、3次元形状計測装置1は、ロボット12におけるロボットアームの先端部に一体に設けてもよい。
【0124】
かかる構成とする場合、ロボット制御装置11は、ロボット12がワークの取り付け作業を終了する毎に、ロボットアームを駆動して作業対象のワークの形状を計測可能な位置まで3次元形状計測装置1を移動させる。かかる構成により、ロボットシステム10の設置スペースを省スペース化することが可能となる。
【0125】
また、上述した実施例1および実施例2では、画像情報51が読み出される受光素子を走査領域決定部43によって制限する場合について説明したが、レーザ位置の検出対象となる画像情報51を走査領域決定部43によって制限してもよい。
【0126】
かかる構成とする場合、画像情報取得部41は、撮像部3が備える全受光素子から画像情報51を読み出し、記憶部5へ格納する。また、走査領域決定部43は、図1B、図1C、図4A、図4Bおよび図4Cに示す走査領域を決定して位置検出部42へ出力する。
【0127】
そして、位置検出部42は、走査領域決定部43から入力される操作領域に対応した画像情報51を記憶部5から読み出し、走査領域に対応した部分の画像を選択的に走査することによって走査対象の画像におけるレーザ位置を検出する。
【0128】
このように、レーザ位置の検出対象となる画像情報51を走査領域決定部43によって制限することにより、レーザ位置の検出処理に要する処理時間を短縮することが可能となるため、3次元形状の計測処理を高速化することができる。
【0129】
また、上述した実施例1および実施例2では、照射部2がレーザLAを計測対象物7、71および72に対して照射角度を変更させながら照射する場合について説明したが、照射角度を変更せずに計測対象物7、71および72上でレーザLAを移動させてもよい。
【0130】
かかる場合、たとえば、レーザ装置21をXY平面と平行に移動させながらレーザLAを計測対象物7、71および72へ照射させることによって、照射角度を変更せずに計測対象物7、71および72上でレーザLAを移動させることができる。
【0131】
また、上述した実施例1および実施例2では、操作対象の画像よりも以前に撮像された画像に基づいて操作対象の画像における走査領域を決定したが、走査領域は、必ずしも操作対象の画像よりも以前に撮像された画像に基づいて決定する必要はない。
【0132】
たとえば、計測対象物7、71および72が既知の物体である場合、物体の種類に基づいて計測対象物7、71および72の画像におけるレーザ位置を予め大まかに予測することができる。このため、かかる場合には、大まかに予測した前述のレーザ位置に基づき予め定めた計測対象物7、71および72毎の走査領域(図1B、図1C、図4A、図4Bおよび図4Cに示す走査領域参照)を画像におけるライン毎に記憶部5へ記憶させておく。
【0133】
そして、画像情報51が読み出される受光素子を走査領域決定部43によって制限する場合、画像情報取得部41が、記憶部5に記憶されている走査領域に対応する受光素子から選択的に画像情報51を読み出し、位置検出部41が画像情報51から画像のライン毎にレーザ位置を検出する。
【0134】
また、レーザ位置の検出対象となる画像情報51を走査領域決定部43によって制限する場合には、位置検出部42は、記憶部5に記憶されている走査領域に対応した画像情報51に基づき、走査領域に対応した部分の画像を選択的に走査することによって走査対象の画像におけるレーザ位置を検出する。
【0135】
かかる構成によれば、3次元形状計測装置は、走査領域の決定処理を行うことなく、画像におけるレーザ位置を検出することができる。しかも、3次元形状計測装置は、画像のライン毎にレーザ位置を検出することができる。
【0136】
したがって、かかる3次元形状計測装置によれば、画像のライン毎にきめ細やかな走査を行うことで、画像におけるレーザ位置の検出精度を向上させることができ、走査領域の決定処理を省略した分、3次元形状の計測処理に要する時間を短縮することができる。
【符号の説明】
【0137】
1 3次元形状計測装置
2 照射部
21 レーザ装置
22 ミラー
3 撮像部
4 制御部
41 画像情報取得部
42 位置検出部
43 走査領域決定部
44 形状計測部
45 照射制御部
5 記憶部
51 画像情報
52 レーザ位置情報
53 形状情報

【特許請求の範囲】
【請求項1】
スリット状の光線を計測対象物に対する照射位置を変更させながら照射する照射部と、
前記光線が照射された前記計測対象物を順次撮像する撮像部と、
前記撮像部によって撮像された画像を走査することによって前記画像における前記光線の位置を検出する位置検出部と、
前記位置検出部による走査対象の画像よりも以前に前記撮像部によって撮像された画像における前記光線の位置に基づいて前記走査対象の画像における走査領域を決定する走査領域決定部と
を備えたことを特徴とする3次元形状計測装置。
【請求項2】
前記走査領域決定部は、
前記位置検出部が前記照射位置の変更による前記光線の前記画像上における移動方向を走査方向とし、当該走査方向への各走査の走査開始位置を前記走査方向と直交する方向へ順次移動させながら前記画像を走査する場合、前記走査方向への走査毎に前記走査領域を決定する
ことを特徴とする請求項1に記載の3次元形状計測装置。
【請求項3】
前記走査領域決定部は、
前記撮像部によって前回撮像された画像における前記光線の位置を前記走査対象の画像における走査開始位置とし、前記走査対象の画像における当該走査開始位置から前記走査方向へ所定距離離れた位置を走査終了位置として決定する
ことを特徴とする請求項2に記載の3次元形状計測装置。
【請求項4】
前記走査領域決定部は、
前記撮像部によって前回撮像された画像における前記光線の位置および前々回撮像された画像における前記光線の位置間の距離に基づいて前記所定距離を決定する
ことを特徴とする請求項3に記載の3次元形状計測装置。
【請求項5】
前記走査領域決定部は、
前記計測対象物の前記画像における法線方向の距離を表す高さが前記走査方向へ向かうにつれて増大した場合には、前記高さが変化しない場合よりも前記所定距離を短く決定し、前記高さが前記走査方向へ向かうにつれて低減した場合には、前記高さが変化しない場合よりも前記所定距離を長く決定する
ことを特徴とする請求項3または請求項4に記載の3次元形状計測装置。
【請求項6】
スリット状の光線を計測対象物に対する照射位置を変更させながら照射する照射部と、
前記計測対象物からの光を受光する受光面に配置された複数の受光素子を有する撮像部と、
前記撮像部によって撮像された画像を走査することによって前記画像における前記光線の位置を検出する位置検出部と、
前記位置検出部が前記照射位置の変更による前記光線の前記画像上における移動方向に対応する方向を走査方向とし、当該走査方向への各走査の走査開始位置を前記走査方向と直交する方向へ順次移動させながら前記画像を走査する場合、前記走査方向への走査毎に前記走査領域を決定する走査領域決定部と
を備えたことを特徴とする3次元形状計測装置。
【請求項7】
スリット状の光線をワークに対する照射位置を変更させながら照射する照射部と、
前記光線が照射された前記ワークを順次撮像する撮像部と、
前記撮像部によって撮像された画像を走査することによって前記画像における前記光線の位置を検出する位置検出部と、
前記位置検出部による走査対象の画像よりも以前に前記撮像部によって撮像された画像における前記光線の位置に基づいて前記走査対象の画像における走査領域を決定する走査領域決定部とを備えた3次元形状計測装置と、
前記3次元形状計測装置から前記ワークの3次元形状を示す情報を取得し、当該情報および当該ワークに関する作業命令をロボットへ出力するロボット制御装置と、
前記ロボット制御装置から入力される情報および作業命令に基づいて作業対象の前記ワークを判別して作業を行うロボットと
を備えたことを特徴とするロボットシステム。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate


【公開番号】特開2012−220473(P2012−220473A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−90167(P2011−90167)
【出願日】平成23年4月14日(2011.4.14)
【特許番号】特許第4821934号(P4821934)
【特許公報発行日】平成23年11月24日(2011.11.24)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】