(57)【要約】【課題】光源Ｃeから射出されて対象物Ｊで反射された光をイメージセンサーＣrで検出する光検出を複数回行って対象物Ｊまでの距離を求める構成において、対象物Ｊの距離画像ＩＭを正確に求めることを可能とする。【解決手段】光検出の回数が互いに異なる条件で複数の距離データＤ(n)を取得して、これらのうちから画素Ｐの受光量の適切な光検出回数で取得された距離データＤ(n)を選択距離データＤsとして選定する。さらに、このような選定処理を各画素Ｐについて実行することで、各画素Ｐにとって適切な光検出回数で取得された距離データＤ(n)を、選定距離データＤsとして選定する。そして、こうして選定された選定距離データＤsが示す対象物Ｊまでの距離を各画素Ｐについて求め、その結果から対象物Ｊの距離画像ＩＭを構成することで、距離画像ＩＭを正確に求めることが可能となる。【選択図】図５
2013195137.tif 000002
【特許請求の範囲】
【請求項１】
発光部と複数の画素からなる受光部とを有し、前記発光部から射出されて対象物で反射された光を前記受光部で検出する光検出を行った結果に基づき、前記発光部から前記受光部までの光の飛行時間から求まる前記対象物までの距離に関連した距離情報を前記画素毎に出力する距離情報出力手段と、
複数回の前記光検出を行った結果に基づいて一の前記距離情報を求める測距処理を、前記光検出の回数を変えながら前記距離情報出力手段に実行させて、前記光検出の回数が互いに異なる条件で複数の前記距離情報を前記画素毎に取得する距離情報取得手段と、
前記測距処理の間に前記画素が受光した光量に関連した受光量情報を前記画素毎に出力する受光量情報出力手段と、
前記受光量情報に基づいて前記複数の距離情報の中から選定距離情報を選定する選定処理を前記各画素について実行して、前記選定距離情報が示す前記対象物までの距離を前記各画素について求めた結果から前記対象物の距離画像を構成する距離画像構成手段と
を備えたことを特徴とする距離画像取得装置。
【請求項２】
前記距離画像構成手段は、前記選定処理において、当該選定処理の対象である前記画素が飽和した状態で求められたと前記受光量情報から判断される前記距離情報以外の前記距離情報を、前記選定距離情報として選定する請求項１に記載の距離画像取得装置。
【請求項３】
前記距離画像構成手段は、前記選定処理において、当該選定処理の対象である前記画素の受光量が前記画素の飽和する飽和受光量未満の状態で求められたと前記受光量情報から判断される前記距離情報を、前記選定距離情報として選定する請求項１に記載の距離画像取得装置。
【請求項４】
前記距離画像構成手段は、一の前記画素について前記選定距離情報の候補が複数ある場合には、前記候補のうち、前記選定処理の対象である前記画素の受光量が最も多いと前記受光量情報から判断される前記距離情報を、前記選定距離情報として選定する請求項２または３に記載の距離画像取得装置。
【請求項５】
前記距離画像構成手段は、前記選定距離情報の候補がない場合には、エラーを表示する請求項２ないし４のいずれか一項に記載の距離画像取得装置。
【請求項６】
部品を取って移動させる部品移動手段と、
請求項１ないし５のいずれか一項に記載の距離画像取得装置と、
前記距離画像取得装置により前記対象物としての前記部品の三次元での位置および姿勢を認識した結果に基づいて、前記部品移動手段を制御する制御手段と
を備えることを特徴とする産業用ロボット。
【請求項７】
発光部から射出されて対象物で反射された光を複数の画素からなる受光部で検出する光検出を行った結果に基づき、前記発光部から前記受光部までの光の飛行時間から求まる前記対象物までの距離を前記画素毎に求めて、前記対象物の距離画像を取得する距離画像取得方法において、
複数回の前記光検出を行った結果に基づいて前記対象物までの距離に関連した一の距離情報を求める測距処理を、前記光検出の回数を変えながら前記距離情報出力手段に実行させて、前記光検出の回数が互いに異なる条件で複数の前記距離情報を前記画素毎に取得する距離情報取得工程と、
前記測距処理の間に前記画素が受光した光量に関連した受光量情報を前記画素毎に取得する受光量情報取得工程と、
前記受光量情報に基づいて前記複数の距離情報の中から選定距離情報を選定する選定処理を前記各画素について実行して、前記選定距離情報が示す前記対象物までの距離を前記各画素について求めた結果から前記対象物の前記距離画像を構成する距離画像構成工程と
を備えたことを特徴とする距離画像取得方法。
【請求項８】
発光部から射出されて対象物で反射された光を複数の画素からなる受光部で検出する光検出を行った結果に基づき、前記発光部から前記受光部までの光の飛行時間から求まる前記対象物までの距離を前記画素毎に求めて、前記対象物の距離画像を取得する距離画像取得装置を制御するコンピューターに用いられるプログラムにおいて、
複数回の前記光検出を行った結果に基づいて前記対象物までの距離に関連した一の距離情報を求める測距処理を、前記光検出の回数を変えながら前記距離情報出力手段に実行させて、前記光検出の回数が互いに異なる条件で複数の前記距離情報を前記画素毎に取得する距離情報取得工程と、
前記測距処理の間に前記画素が受光した光量に関連した受光量情報を前記画素毎に取得する受光量情報取得工程と、
前記受光量情報に基づいて前記複数の距離情報の中から選定距離情報を選定する選定処理を前記各画素について実行して、前記選定距離情報が示す前記対象物までの距離を前記各画素について求めた結果から前記対象物の前記距離画像を構成する距離画像構成工程と
を、前記コンピューターに実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムが記録されており、コンピューターにより読み取りが可能であることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、発光部から射出された光が対象物で反射されて受光部に入射するまでの光の飛行時間に基づいて、対象物の距離画像を取得する距離画像取得技術に関する。
【背景技術】
【０００２】
特許文献１では、ＴＯＦ(Time Of Flight)方式を用いて対象物の距離画像を取得するＴＯＦカメラが記載されている。このＴＯＦカメラは、ＬＥＤ(Light Emitting Diode)等の発光部と、ＣＣＤ(Charge Coupled Device)イメージセンサー等の複数の画素からなる受光部とを有する。そして、発光部から射出された光が対象物で反射されて受光部に入射するまでの光の飛行時間に基づいて、対象物までの距離を画素毎に示した距離画像が取得される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１２３０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、ＴＯＦ方式では、発光部から射出されて対象物で反射された光を受光部で検出するといった光検出が行われる。そして、発光部から受光部に到る光の飛行時間に基づいて、対象物までの距離が画素毎に求められて、距離画像が取得される。ただし、上述のような光の飛行時間は極めて短い。そのため、１回の光検出から求められる飛行時間は大きな誤差を含むことが多く、このような飛行時間から正確な距離を求めることは困難であった。そこで、光検出を複数回実行し、複数の光検出結果に基づいて一の距離を求めることで、飛行時間の誤差の影響を抑えて、正確な距離を取得する手法が考えられる。
【０００５】
ただし、受光部の各画素が蓄積できる電荷量には限りがあり、受光部の画素は一定量の電荷を蓄積すると飽和する。そのため、光検出の回数が過大であると、受光部の画素が飽和して正常に動作できなくなる。したがって、光検出の回数は、受光部の画素が飽和し始める回数未満であることが望ましい。
【０００６】
しかしながら、一回の光検出での受光量は画素によって異なりうる。つまり、対象物においては、反射率が高くて多量の光を反射する高反射領域と、反射率が低くて少量の光しか反射しない低反射領域とが存在しうる。この場合、受光部においては、高反射領域に対応する画素は一回の光検出で多量の光を受光する一方、低反射領域に対応する画素は一回の光検出で少量の光しか受光しない。
【０００７】
このように、一回の光検出での受光量が画素によって異なるため、複数回の光検出の間における受光量も当然のことながら画素によって異なる。その結果、複数回の光検出の間において、受光量の多い画素は飽和するのに対して、受光量の少ない画素は飽和に到るまでに余裕があり、むしろより多くの光検出を行って当該画素に対応する距離を正確に求めることが好ましい場合があった。このように、光検出の適切な回数は画素によって異なるために、いずれの画素にとっても適切な光検出回数で各画素に対応する距離を求めて、正確な距離画像を取得することは困難であった。
【０００８】
この発明は上記課題に鑑みなされたものであり、発光部から射出されて対象物で反射された光を受光部で検出する光検出を複数回行って対象物までの距離を求める構成において、対象物の距離画像を正確に求めることを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
この発明にかかる距離画像取得装置は、上記目的を達成するために、発光部と複数の画素からなる受光部とを有し、発光部から射出されて対象物で反射された光を受光部で検出する光検出を行った結果に基づき、発光部から受光部までの光の飛行時間から求まる対象物までの距離に関連した距離情報を画素毎に出力する距離情報出力手段と、複数回の光検出を行った結果に基づいて一の距離情報を求める測距処理を、光検出の回数を変えながら距離情報出力手段に実行させて、光検出の回数が互いに異なる条件で複数の距離情報を画素毎に取得する距離情報取得手段と、測距処理の間に画素が受光した光量に関連した受光量情報を画素毎に出力する受光量情報出力手段と、受光量情報に基づいて複数の距離情報の中から選定距離情報を選定する選定処理を各画素について実行して、選定距離情報が示す対象物までの距離を各画素について求めた結果から対象物の距離画像を構成する距離画像構成手段とを備えたことを特徴とする。
【００１０】
この発明にかかる距離画像取得方法は、上記目的を達成するために、発光部から射出されて対象物で反射された光を複数の画素からなる受光部で検出する光検出を行った結果に基づき、発光部から受光部までの光の飛行時間から求まる対象物までの距離を画素毎に求めて、対象物の距離画像を取得する距離画像取得方法において、複数回の光検出を行った結果に基づいて対象物までの距離に関連した一の距離情報を求める測距処理を、光検出の回数を変えながら距離情報出力手段に実行させて、光検出の回数が互いに異なる条件で複数の距離情報を画素毎に取得する距離情報取得工程と、測距処理の間に画素が受光した光量に関連した受光量情報を画素毎に取得する受光量情報取得工程と、受光量情報に基づいて複数の距離情報の中から選定距離情報を選定する選定処理を各画素について実行して、選定距離情報が示す対象物までの距離を各画素について求めた結果から対象物の距離画像を構成する距離画像構成工程とを備えたことを特徴とする。
【００１１】
この発明にかかる産業用ロボットは、上記目的を達成するために、部品を取って移動させる部品移動手段と、上記の距離画像取得装置と、距離画像取得装置により対象物としての部品の三次元での位置および姿勢を認識した結果に基づいて、部品移動手段を制御する制御手段とを備えることを特徴とする産業用ロボット。
【００１２】
この発明にかかるプログラムは、上記目的を達成するために、発光部から射出されて対象物で反射された光を複数の画素からなる受光部で検出する光検出を行った結果に基づき、発光部から受光部までの光の飛行時間から求まる対象物までの距離を画素毎に求めて、対象物の距離画像を取得する距離画像取得装置を制御するコンピューターに用いられるプログラムにおいて、複数回の光検出を行った結果に基づいて対象物までの距離に関連した一の距離情報を求める測距処理を、光検出の回数を変えながら距離情報出力手段に実行させて、光検出の回数が互いに異なる条件で複数の距離情報を画素毎に取得する距離情報取得工程と、測距処理の間に画素が受光した光量に関連した受光量情報を画素毎に取得する受光量情報取得工程と、受光量情報に基づいて複数の距離情報の中から選定距離情報を選定する選定処理を各画素について実行して、選定距離情報が示す対象物までの距離を各画素について求めた結果から対象物の距離画像を構成する距離画像構成工程とを、コンピューターに実行させることを特徴とする。
【００１３】
この発明にかかる記録媒体は、上記プログラムが記録されており、コンピューターにより読み取りが可能であることを特徴とする。
【００１４】
このように構成された発明（距離画像取得装置、距離画像取得方法、産業用ロボット、プログラム、記録媒体）では、複数回の光検出を行った結果に基づいて一の距離情報を求める測距処理が光検出の回数を変えながら実行される。これによって、光検出の回数が互いに異なる条件で複数の距離情報が画素毎に取得される。そして、これら複数の距離情報から一の選定距離情報を選定する選定処理が各画素ついて実行される。特に、選定距離情報の選定は、測距処理の間に画素が受光した光量に関連した受光量情報に基づいて行われる。したがって、画素の受光量が適切な光検出回数で求められた距離情報を、選定距離情報として画素毎に選定することができる。
【００１５】
つまり、この発明では、光検出の回数が互いに異なる条件で複数の距離情報を取得して、これらのうちから画素の受光量の適切な光検出回数で取得された距離情報を選択距離情報として選定することができる。さらに、このような選定処理を各画素について実行することで、各画素にとって適切な光検出回数で取得された距離情報を、選定距離情報として選定することができる。そして、こうして選定された選定距離情報が示す対象物までの距離を各画素について求め、その結果から対象物の距離画像を構成することで、距離画像を正確に求めることが可能となっている。
【００１６】
また、距離画像構成手段は、選定処理において、当該選定処理の対象である画素が飽和した状態で求められたと受光量情報から判断される距離情報以外の距離情報を、選定距離情報として選定するように、距離画像取得装置を構成しても良い。このような構成では、選定距離情報として選定された各画素の距離情報は、飽和状態にない当該画素により実行された測距処理から求められたものであり、画素の飽和による影響の無いなものである。そして、このような選定距離情報から対象物の距離画像を構成することで、画素の飽和の影響を排して、距離画像を正確に求めることができる。
【００１７】
あるいは、距離画像構成手段は、選定処理において、当該選定処理の対象である画素の受光量が画素の飽和する飽和受光量未満の状態で求められたと受光量情報から判断される距離情報を、選定距離情報として選定する距離画像取得装置を構成しても良い。このように構成することで、飽和状態にない画素により実行された測距処理から求められた距離情報を、選定距離情報として確実に選定することができる。したがって、かかる構成は、画素の飽和の影響を排して、距離画像を正確に求めるにあたって有利である。
【００１８】
また、距離画像構成手段は、一の画像について選定距離情報の候補が複数ある場合には、候補のうち、選定処理の対象である画素の受光量が最も多いと受光量情報から判断される距離情報を、選定距離情報として選定するように距離画像取得装置を構成しても良い。つまり、選定距離情報の候補のうち、画素の受光量が最も多いと受光量情報から判断される距離情報は、換言すれば、光検出の回数が最も多い条件で求められた距離情報であり、対象物までの距離を最も正確に示すものと考えられる。そこで、かかる距離情報を選定距離情報として選定して距離画像を構成することで、距離画像をより正確に求めることができる。
【００１９】
また、距離画像構成手段は、選定距離情報の候補がない場合には、エラーを表示するように距離画像取得装置を構成しても良い。このような構成では、作業者においてエラーを確認して、例えば各測距処理での光検出の回数を調整する等のメンテナンスを適宜行うことができ、その後の距離画像の取得において、正確な距離画像を求めることが可能となる。
【発明の効果】
【００２０】
発光部から射出されて対象物で反射された光を受光部で検出する光検出を複数回行って対象物までの距離を求める構成において、対象物の距離画像を正確に求めることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。
【図２】図１の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。
【図３】三次元カメラの概略構成を模式的に示した斜視図である。
【図４】三次元カメラの動作例を模式的に示したタイミングチャートである。
【図５】距離画像を取得するフローの一例を示すフローチャートである。
【図６】各画素について実行される選定処理を説明するための模式図である。
【発明を実施するための形態】
【００２２】
図１は、本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。図１では、鉛直方向をｚ軸方向とするｘｙｚ直交座標軸が示されている。図２は、図１の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。
【００２３】
双腕ロボット１は、ロボット本体２とこのロボット本体２の動作を制御するコンピューター３で構成される。ロボット本体２は、胴体部２１に２本のアーム２２を取り付けた概略構成を備える。詳しくは、各アーム２２は、駆動モーターＭ23に接続された肩関節２３を介して取り付けられている。そして、駆動モーターＭ23で肩関節２３を回転させることで、アーム２２を動かすことができる。
【００２４】
また、各アーム２２の先端には、手首関節２４を介してハンド２５が取り付けられている。この手首関節２４には駆動モーターＭ24が接続されている。したがって、駆動モーターＭ24で手首関節２４を回転させることで、ハンド２５の向きを変えることができる。さらに、ハンド２５には駆動モーターＭ25が接続されており、駆動モーターＭ25によりハンド２５を開閉させることができる。
【００２５】
そして、双腕ロボット１は、駆動モーターＭ23〜Ｍ25を制御することで、部品トレイ９の上に並ぶ部品９１（機械部品、電子部品）をハンド２５で掴んで所定位置まで運んだり、ハンド２５を回転させて部品９１の姿勢を変えたり、ハンド２５から部品９１を放して所定位置に載置したりといった種々の動作を実行できる。つまり、このような各種動作を組み合わせて実行することで、双腕ロボット１は、部品９１を組み立てることができる。
【００２６】
また、２本のアーム２２の一方には、ＴＯＦ方式の三次元カメラＣが取り付けられている。この三次元カメラＣは一方のアーム２２と一体的に移動しつつ、部品９１の距離画像を適宜取得するものである。そして、後述するように、三次元カメラＣにより部品９１の距離画像を取得した結果に基づいて、アーム２２およびハンド２５の動作が制御されて、部品９１の組立が実行される。
【００２７】
図３は、三次元カメラの概略構成を模式的に示した斜視図である。図３に示すように、三次元カメラは、対象物Ｊに向けて光（同図の一点鎖線）を射出する光源Ｃeと、対象物Ｊで反射された光（同図の一点鎖線）を受光するイメージセンサーＣrと、カメラコントローラーＣcとで構成される。光源Ｃeは、８５０[nm]の波長の近赤外光を射出する。イメージセンサーＣrは、ＣＣＤ等の固体撮像素子であり、複数の画素Ｐ（受光素子）を二次元的に配列した構成を具備する。
【００２８】
カメラコントローラーＣcは、光源Ｃeから射出されて対象物Ｊで反射された光をイメージセンサーＣrで検出する光検出を実行する。具体的には、カメラコントローラーＣcは、所定の変調周波数ｆm（例えば３０[MHz]）の入力信号Ｓeを光源Ｃeに入力して、変調周波数ｆmで強度変調された光を光源Ｃeに射出させる。また、カメラコントローラーＣcは、光源Ｃeから射出されて対象物Ｊで反射された変調光をイメージセンサーＣrにより検出する。つまり、変調光を受光したイメージセンサーＣrは、変調周波数ｆmを有する受光信号Ｓrを画素Ｐ毎に出力し、カメラコントローラーＣcはこの受光信号Ｓrを受信して、対象物Ｊで反射された変調光を検出する。
【００２９】
そして、カメラコントローラーＣcでは、この光検出の実行結果から、対象物Ｊまでの距離を示す距離データＤが画素Ｐ毎に求められる。具体的には、入力信号Ｓeと受光信号Ｓrとの位相差に基づいて、光源ＣeからイメージセンサーＣrまでの光の飛行時間が画素Ｐ毎に求められる。続いて、この飛行時間と光速度から算出される対象物Ｊまでの距離が、距離データＤとして画素Ｐ毎に求められて、カメラコントローラーＣcから出力される。この距離データＤは、１４ビット（＝２１４）のデータ構造を具備しており、対象物Ｊまでの距離を表すほかに、対応する画素Ｐの受光量が過小で有効な距離が求められないことを示すエラーフラグや、対応する画素Ｐが飽和していることを示す飽和フラグを表すことができる。
【００３０】
さらに、カメラコントローラーＣcは、光検出において画素Ｐが受光した光量を示す反射強度データＩを画素Ｐ毎に出力する。この反射強度データＩは、１４ビット（＝２１４）のデータ構造を具備しており、対応する画素Ｐの受光量を表すほかに、対応する画素Ｐが飽和していることを示す飽和フラグを表すことができる。
【００３１】
ところで、上述のような光の飛行時間は極めて短い。そのため、１回の光検出から求められる飛行時間は大きな誤差を含むことが多く、このような飛行時間から正確な距離データＤを求めることは困難であった。そこで、三次元カメラＣでは、カメラコントローラーＣcが、入力信号Ｓeを出力して受光信号Ｓrを検出するといった動作（すなわち光検出）を複数回実行する。そして、複数の光検出結果に基づいて一の距離データＤが求められる（図４）。
【００３２】
図４は、三次元カメラの動作例を模式的に示したタイミングチャートである。この三次元カメラＣでは、インテグレーションタイムＩＴが、例えばユーザーによりユーザーインターフェース４（図２）を介してカメラコントローラーＣcに設定される（図４の上のチャート）。このインテグレーションタイムＩＴは、複数回の光検出を行う期間を指定するパラメータであり、インテグレーションタイムＩＴが長いほど、光検出の実行回数Ｆが増大する（図４の下のチャート）。具体的には、インテグレーションタイムＩＴの間に、数千回から数万回の光検出が実行される。そして、カメラコントローラーＣcは、光検出毎に光の飛行時間を求めて、全飛行時間の平均値を算出し、この平均値と光速度から計算した距離データＤを画素Ｐ毎に出力する（測距処理）。これによって、光の飛行時間の誤差による影響を排除して、正確な距離データＤを画素Ｐ毎に求めることができる。
【００３３】
図１および図２に戻って説明を続ける。双腕ロボット１は、胴体部２１から上方に延びる首部２６と、首部２６の先端に取り付けられた頭部２７を有している。これら首部２６および頭部２７は、鉛直方向ｚおよび当該方向ｚを中心とする回転方向Ｄrに一体的に移動できる。
【００３４】
このようなロボット本体２の動作は、コンピューター３により制御される。コンピューター３は、ユーザーインターフェース４、ドライバー５および三次元認識部６を具備している。ユーザーインターフェース４は、ディスプレイ、キーボードおよびマウス等で構成されており、ユーザーからの入力を受け付けたり、ユーザーに対して所定の表示を行なったりする。ドライバー５は、コンピューター３により読み取りが可能な記録媒体７に記録されたプログラム８を読み出す機能を果たす。このような記録媒体７としては、例えば、ＣＤ(Compact Disc)、ＤＶＤ(Digital Versatile Disc)、ＵＳＢ(Universal Serial Bus)メモリー等の種々のものが挙げられる。
【００３５】
三次元認識部６は、三次元カメラＣを用いて対象物Ｊの距離画像ＩＭを取得して、対象物Ｊを三次元で認識するものである。つまり、三次元認識部６は、三次元カメラＣを用いて取得した距離画像ＩＭに基づいて、対象物Ｊの三次元での位置および姿勢を認識して、駆動モーターＭ23〜Ｍ25を制御する。これによって、対象物Ｊである部品９１に対する各種動作を適切に実行することができる。
【００３６】
具体的には、三次元認識部６は、メインコントローラー６０によって、距離画像取得のために構築されたデータ取得回路６１や距離画像構成回路６２を制御する概略構成を備えるものであり、コンピューター３に備えられたＣＰＵ(Central Processing Unit)およびメモリーにより実現される。メインコントローラー６０は、各回路６１、６２の制御を担うほかに、三次元カメラＣと各回路６１、６２とのデータ通信制御も担う。そして、三次元認識部６は、ドライバー５が記録媒体７から読み出したプログラム８に従って、対象物Ｊの距離画像ＩＭの取得を実行する。続いては、三次元認識部６が実行する距離画像取得フローの説明を通じて、三次元認識部６の構成について説明する。
【００３７】
図５は、距離画像を取得するフローの一例を示すフローチャートである。このフローチャートはプログラム８に従って三次元認識部６により実行される。このフローチャートでは、インテグレーションタイムＩＴを変更しながら、測距処理が実行される。つまり、互いに異なる長さの複数のインテグレーションタイムＩＴ(n)が設定され、各インテグレーションタイムＩＴ(n)で上述の測距処理が実行される。なお、「ｎ」は、複数のインテグレーションタイムＩＴをナンバリングする正の整数である。
【００３８】
具体的には、図５の距離画像取得に先立って、ユーザーがユーザーインターフェース４を介して、インテグレーションタイムＩＴの設定数Ｎvと、最長のインテグレーションタイムＩＴ(Ｎv)とを入力する。そして、入力された各値Ｎv、ＩＴ(Ｎv）がメインコントローラー６０を介してデータ取得回路６１に設定される。ここで、「Ｎv」は２以上の整数である。これを受けたデータ取得回路６１は、複数のインテグレーションタイムＩＴ(1)〜ＩＴ(Ｎv)を生成する。具体的には、例えば次式
ＩＴ(n+1)＝ＩＴ(n)／２
が成立するようにインテグレーションタイムＩＴ(n)が生成される。
【００３９】
そして、このようなインテグレーションタイムＩＴ(n)の生成が完了した状態で、メインコントローラー６０がデータ取得回路６１および距離画像構成回路６２を制御して、距離画像取得を開始する。具体的には、ステップＳ１０１では、データ取得回路６１が、変数「ｎ」を「１」に設定して、インテグレーションタイムＩＴ(1)を三次元カメラＣに出力する。ステップＳ１０２では、これを受けた三次元カメラＣがインテグレーションタイムＩＴ(1)で測距処理を実行して、画素Ｐ毎に距離データＤ(n)を求めて、データ取得回路６１に出力する。なお、距離データＤ(n)は、インテグレーションタイムＩＴ(n)での測距処理で求められた距離データＤを示す。ここでは、ｎ＝１であるため、距離データＤ(1)が求められることとなる。
【００４０】
これと並行してステップＳ１０２では、三次元カメラＣは、インテグレーションタイムＩＴ(1)で実行した測距処理での画素Ｐの受光量を示す反射強度データＩ(n)を画素Ｐ毎に求めて、データ取得回路６１に出力する。なお、反射強度データＩ(n)は、インテグレーションタイムＩＴ(n)での測距処理における反射強度データＩを示す。ここでは、ｎ＝１であるため、反射強度データＩ(1)が求められることとなる。
【００４１】
ステップＳ１０３では、パラメータｎが設定数Ｎvに等しいかが、メインコントローラー６０により判断される。そして、ステップＳ１０３で等しくない（ＮＯ）と判断された場合は、ステップＳ１０４に進んで、パラメータｎが「１」だけインクリメントされて、ステップ１０１〜Ｓ１０３が再実行される。一方、ステップＳ１０３で等しい（ＹＥＳ）と判断された場合は、以後のステップＳ１０５、Ｓ１０６に進む。
【００４２】
こうして、インテグレーションタイムＩＴを変更することで、光検出の回数を変更しながら、複数回の測距処理が実行される。つまり、光検出の回数Ｆが互いに異なる条件で複数回測距処理が実行されて、複数の距離データＤ(1)〜Ｄ(Ｎv)と複数の反射強度データＩ(1)〜Ｉ(Ｎv)とが画素Ｐ毎に求められて、データ取得回路６１に取得される。そして、データ取得回路６１が取得したこれらのデータＤ(1)〜Ｄ(Ｎv)、Ｉ(1)〜Ｉ(Ｎv)に基づいて、距離画像構成回路６２が次に説明するステップＳ１０５、Ｓ１０６を実行する。
【００４３】
ステップＳ１０５では、複数の距離データＤ(1)〜Ｄ(Ｎv)から最適な距離データＤ(n)（選定距離データＤs）を、複数の反射強度データＩ(1)〜Ｉ(Ｎv)に基づいて選定する選定処理が、各画素Ｐについて実行される。図６は、各画素について実行される選定処理を説明するための模式図である。同図では、インテグレーションタイムＩＴが互いに異なる（つまり、光検出の回数Ｆが互いに異なる）４回の測距処理を行った場合が例示されており、インテグレーションタイムＩＴ(1)〜ＩＴ(4)について、距離データＤ(1)〜Ｄ(4)および反射強度データＩ(1)〜Ｉ(4)が示されている。以下ではこの図を用いて、全ての画素Ｐのうち、３つの画素Ｐ1〜Ｐ3に対して実行される選定処理を例示して具体的に説明する。
【００４４】
図６の上段（つまり、反射強度データＩ(n)を示す段）では、測距処理における画素Ｐ1〜Ｐ3の受光量がハッチングの濃淡で示されている。つまり、受光量が大きい（すなわち明るい）ほどハッチングが薄く示される。また、受光量が過大であって画素Ｐ1〜Ｐ3が飽和した場合は、ハッチングは施されずに、画素Ｐ1〜Ｐ3が白色で塗りつぶされている。なお、この実施形態では、表示可能な範囲のうちの最大値を反射強度データＩ(n)が示している画素Ｐ1〜Ｐ3が、飽和しているとして取り扱われる。
【００４５】
画素Ｐ1〜Ｐ3が飽和している状態で取得された距離データＩ(n)は、不正確である可能性が極めて高い。そこで、ステップＳ１０６では、画素Ｐ1〜Ｐ3の飽和状態で取得された距離データＤ(n)が、反射強度データＩ(n)に基づいて判断されて、選定候補から除外される。一方、除外されなかった距離データＤ(n)が選定候補として残る。具体的には、画素Ｐ1について説明すると、反射強度データＩ(4)が当該画素Ｐ1の飽和を示しているため、対応する距離データＤ(4)が選定候補から排除される一方、距離データＤ(1)〜Ｄ(3)が選定候補として残る。同様の動作が実行されて、画素Ｐ2については、距離データＤ(1)〜Ｄ(4)が選定候補として残り、画素Ｐ3については、距離データＤ(1)、Ｄ(2)が選定候補として残る。
【００４６】
続いて選定処理では、選定候補のうち、最も画素Ｐの受光量の多い測距処理から求められた距離データＤ(n)が選定距離データＤsとして選定される。この選定は、反射強度データＩに基づいて実行される。つまり、選定候補のうち、測距処理での受光量が最も多いと反射強度データＩから判断される距離データＤ(n)が選定距離データＤsとして選定される。図６の下段（つまり、距離データＤ(n)を示す段）では、この選定結果が示されている。つまり、図６では、選定された距離データＤ(n)の該当画素Ｐ1〜Ｐ3に対して丸印が付される一方、選定から外れた距離データＤ(n)の該当画素Ｐ1〜Ｐ3に対してばつ印が付されている。具体的には、画素Ｐ1については、距離データＤ(3)が選定距離データＤsとして選定され、画素Ｐ2については、距離データＤ(4)が選定距離データＤsとして選定され、画素Ｐ3については、距離データＤ(2)が選定距離データＤsとして選定される。こうして、画素Ｐ1〜Ｐ3に対する選定処理が完了する。ステップＳ１０５では、同様の選定処理が全ての画素Ｐに対して実行されて、選定距離データＤsが選定される。
【００４７】
ステップＳ１０６では、選定距離データＤsが示す対象物Ｊまでの距離Ｄrが全ての画素Ｐについて求められる。そして、各画素Ｐについて求めた距離Ｄrから距離画像ＩＭが構成される。すなわち、対象物Ｊまでの距離Ｄrを各画素Ｐについて示した、対象物Ｊの距離画像ＩＭが構成される。
【００４８】
以上に説明したように、上記実施形態では、複数回の光検出を行った結果に基づいて一の距離データＤ(n)を求める測距処理が光検出の回数を変えながら実行される。これによって、光検出の回数が互いに異なる条件で複数の距離データＤ(n)が画素Ｐ毎に取得される。そして、これら複数の距離データＤ(n)から一の選定距離データＤsを選定する選定処理が各画素Ｐついて実行される。特に、選定距離データＤsの選定は、測距処理の間に画素が受光した光量を示す反射強度データＩ(n)に基づいて行われる。したがって、画素Ｐの受光量が適切な光検出回数で求められた距離データＤ(n)を、選定距離データＤsとして画素Ｐ毎に選定することができる。
【００４９】
つまり、この実施形態では、光検出の回数が互いに異なる条件で複数の距離データＤ(n)を取得して、これらのうちから画素Ｐの受光量の適切な光検出回数で取得された距離データＤ(n)を選択距離データＤsとして選定することができる。さらに、このような選定処理を各画素Ｐについて実行することで、各画素Ｐにとって適切な光検出回数で取得された距離データＤ(n)を、選定距離データＤsとして選定することができる。そして、こうして選定された選定距離データＤsが示す対象物Ｊまでの距離Ｄrを各画素Ｐについて求め、その結果から対象物Ｊの距離画像ＩＭを構成することで、距離画像ＩＭを正確に求めることが可能となっている。
【００５０】
また、この実施形態では、選定処理において、選定処理の対象である画素Ｐが飽和した状態で求められたと反射強度データＩ(n)から判断される距離データＤ(n)以外の距離データＤ(n)が、選定距離データＤsとして選定される。このような構成では、選定距離データＤsとして選定された各画素Ｐの距離データＤ(n)は、飽和状態にない当該画素Ｐにより実行された測距処理から求められたものであり、画素Ｐの飽和による影響の無いなものである。そして、このような選定距離データＤsから対象物Ｊの距離画像ＩＭを構成することで、画素Ｐの飽和の影響を排して、距離画像ＩＭを正確に求めることができる。
【００５１】
また、この実施形態では、一の画素Ｐについて選定距離データＤ(n)の選定候補が複数ある場合には、選定候補のうち、選定処理の対象である画素Ｐの受光量が最も多いと反射強度データＩ(n)から判断される距離データＤ(n)が、選定距離データＤsとして選定される。つまり、選定距離データＤ(n)の選定候補のうち、画素Ｐの受光量が最も多いと反射強度データＩ(n)から判断される距離データＤ(n)は、換言すれば、光検出の回数が最も多い条件で求められた距離データＤ(n)であり、対象物Ｊまでの距離Ｄrを最も正確に示すものと考えられる。そこで、かかる距離データＤ(n)を選定距離データＤsとして選定して距離画像ＩＭを構成することで、距離画像ＩＭをより正確に求めることができる。
【００５２】
このように、上記実施形態では、双腕ロボット１が本発明の「産業用ロボット」に相当し、三次元カメラＣおよび三次元認識部６が協働して本発明の「距離画像取得装置」として機能する。また、三次元カメラＣが「距離情報出力手段」および「受光量情報出力手段」に相当し、光源Ｃeが本発明の「発光部」に相当し、イメージセンサーＣrが本発明の「受光部」に相当し、データ取得回路６１が本発明の「距離情報取得手段」に相当し、距離画像構成回路６２が本発明の「距離画像構成手段」に相当する。また、距離データＤ、Ｄ(n)が本発明の「距離情報」に相当し、選定距離データＤsが本発明の「選定距離情報」に相当し、反射強度データＩ、Ｉ(n)が本発明の「受光量情報」に相当する。また、ロボット本体２が本発明の「部品移動手段」に相当し、メインコントローラーが本発明の「制御手段」に相当する。また、ステップＳ１０１〜Ｓ１０４が本発明の「距離情報取得工程」および「受光量情報取得工程」に相当し、ステップＳ１０５、Ｓ１０６が本発明の「距離画像構成工程」に相当する。
【００５３】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、表示可能な範囲のうちの最大値を反射強度データＩ(n)が示しているときに、画素Ｐが飽和しているとして取り扱われていた。しかしながら、上述したとおり、距離データＤあるいは反射強度データＩは、画素Ｐの飽和を示す飽和フラグを表すことができる。そこで、この飽和フラグが立っているか否かに基づいて、画素Ｐが飽和しているか否かを判断しても良い。このように構成した場合は、飽和フラグおよび反射強度データＩ(n)が本発明の「受光量情報」に相当する。
【００５４】
また、上記の選定処理を行うにあたっては、上記実施形態のように、飽和している画素Ｐから求められた距離データＤ(n)を特定する必要は必ずしもない。要するに、飽和していない画素Ｐから求められた距離データＤ(n)を選定候補として特定できれば足りる。そこで、画素Ｐが飽和する飽和受光量未満の閾値を予め設定しておき、反射強度データＩ(n)が示す画素Ｐの受光量が当該閾値以下である距離データＤ(n)を選定候補としても良い。これにより、選定処理において画素Ｐの受光量が飽和受光量未満の状態で求められたと反射強度データＩ(n)から判断される距離データＤ(n)を、選定距離データＤsとして選定することができる。このように構成することで、飽和状態にない画素Ｐにより実行された測距処理から求められた距離データＤ(n)を、選定距離データＤsとして確実に選定することができる。したがって、かかる構成は、画素Ｐの飽和の影響を排して、距離画像ＩＭを正確に求めるにあたって有利である。
【００５５】
また、例えば、インテグレーションタイムＩＴ(Ｎv)が短すぎるといった理由で、選定処理の対象となる選定候補が存在しない場合も考えられる。そこで、このような場合には、ユーザーインターフェース４にエラーを表示するように構成しても良い。このような構成では、ユーザーにおいてエラーを確認して、例えば各測距処理でのインテグレーションタイムＩＴ(Ｎv)の長さ（すなわち光検出の回数）を調整する等のメンテナンスを適宜行うことができ、その後の距離画像ＩＭの取得において、正確な距離画像ＩＭを求めることが可能となる。
【００５６】
また、上記実施形態では、インテグレーションタイムＩＴの設定数Ｎvと、最長のインテグレーションタイムＩＴ(Ｎv)とをユーザーが設定していた。しかしながら、これらのパラメーターＮv、ＩＴ(Ｎv)を、例えば工場出荷時等に予めデータ取得回路６１に設定しておいても良い。
【００５７】
また、上記実施形態では、次式
ＩＴ(n+1)＝ＩＴ(n)／２
が成立するようにインテグレーションタイムＩＴ(n)が設定されていた。しかしながら、インテグレーションタイムＩＴ(n)の設定態様はこれに限られず、適宜変更することができる。
【００５８】
また、上記実施形態の選定処理では、選定候補のうち、測距処理での受光量が最も多いと反射強度データＩから判断される距離データＤ(n)が選定距離データとして選定されていた。しかしながら、選定候補から距離データＤ(n)を選定する基準はこれに限られず、適宜変更することができる。
【００５９】
また、三次元カメラＣの取り付け位置等についても上述したものに限られず、適宜変更可能である。
【００６０】
また、本発明を適用可能な産業用ロボットは、上述の双腕ロボット１に限られない。しがたって、その他の構成を具備するロボットに対して本発明を適用することもできる。
【産業上の利用可能性】
【００６１】
この発明は、距離画像を取得する技術の全般に対して適用可能であり、特に産業用ロボットにおいて三次元での部品の位置・姿勢を認識する技術に好適に適用することができる。
【符号の説明】
【００６２】
１…双腕ロボット
３…コンピューター
６…三次元認識部
６０…メインコントローラー
６１…データ取得回路
６２…距離画像構成回路
７…記録媒体
８…プログラム
Ｃ…三次元カメラ
Ｄ，Ｄ(n)…距離データ
Ｉ，Ｉ(n)…反射強度データ
ＩＭ…距離画像
ＩＴ，ＩＴ(n)…インテグレーションタイム
【図１】
2013195137.tif 000003
【図２】
2013195137.tif 000004
【図３】
2013195137.tif 000005
【図４】
2013195137.tif 000006
【図５】
2013195137.tif 000007
【図６】
2013195137.tif 000008