(57)【特許請求の範囲】
【請求項１】
レーザ光を照射するレーザ照射部と、
前記レーザ照射部から照射された前記レーザ光をワークの載置されている領域に走査する走査部と、
前記走査部から照射され、前記ワークにより反射された前記レーザ光の反射光を検出することにより、前記ワークの載置されている領域を検出するとともに、前記ワークの３次元計測を行うカメラと、
前記カメラによって検出された前記ワークの載置されている領域に応じて、かつ、前記ワークを載置する面の近傍に設けられるとともに前記ワークを載置する面から所定の高さを有し、前記ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、前記走査部による走査範囲を変更するように制御する制御部とを備える、形状計測装置。
【請求項２】
前記制御部は、前記カメラによって検出された前記ワークの載置されている領域に応じて走査開始角度および走査終了角度のうちの少なくとも一方を変更することによって、前記走査部による走査範囲を変更する制御を行うように構成されている、請求項１に記載の形状計測装置。
【請求項３】
前記制御部は、検出された前記ワークからの反射光に基づいて、前記カメラと前記ワークとの間の第１の距離を算出するとともに、前記カメラと前記ワークとの間の前記第１の距離に基づいて、前記走査部による走査範囲を変更するように構成されている、請求項１または２に記載の形状計測装置。
【請求項４】
前記制御部は、前記カメラと前記ワークとの間の前記第１の距離が、前記カメラと前記ワークを載置する面との間の距離から前記ワークを載置する面の近傍の前記不感帯領域の高さを差分した第２の距離以下に最初になった際のレーザ光の走査角度に基づいて、前記走査開始角度を変更するように構成されている、請求項３に記載の形状計測装置。
【請求項５】
前記制御部は、前記カメラと前記ワークとの間の前記第１の距離が、前記カメラと前記ワークを載置する面との間の距離から前記ワークを載置する面の近傍の前記不感帯領域の高さを差分した第２の距離以下に最後になった際のレーザ光の走査角度に基づいて、前記走査終了角度を変更するように構成されている、請求項３または４に記載の形状計測装置。
【請求項６】
前記第２の距離は、前記カメラと前記ワークを載置する面との間の距離から前記ワークの高さを差分した距離以上で、かつ、前記カメラと前記ワークを載置する面との間の距離未満である、請求項４または５に記載の形状計測装置。
【請求項７】
前記ワークは、箱状の容器の内部に載置されており、
前記制御部は、前記カメラによって検出された前記箱状の容器の内部における前記ワークの載置されている領域に応じて前記走査部による走査範囲を変更するように構成されている、請求項１〜６のいずれか１項に記載の形状計測装置。
【請求項８】
前記制御部は、前記箱状の容器の内部に前記ワークが載置されている状態の前記カメラによる３次元計測の結果から、前記箱状の容器の内部に前記ワークが載置されていない状態の前記カメラによる３次元計測の結果を差分することによって、前記カメラによって検出された前記箱状の容器の内部における前記ワークの載置されている領域に応じて前記走査部による走査範囲を変更するように構成されている、請求項７に記載の形状計測装置。
【請求項９】
ワークを把持する把持部を有するロボットと、
レーザ光を照射するレーザ照射部と、前記レーザ照射部から照射された前記レーザ光を前記ワークの載置されている領域に走査する走査部と、前記走査部から照射され、前記ワークにより反射された前記レーザ光の反射光を検出することにより、前記ワークの載置されている領域を検出するとともに、前記ワークの３次元計測を行うカメラと、前記カメラによって検出された前記ワークの載置されている領域に応じて、かつ、前記ワークを載置する面の近傍に設けられるとともに前記ワークを載置する面から所定の高さを有し、前記ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、前記走査部による走査範囲を変更するように制御する制御部とを含む形状計測装置とを備える、ロボットシステム。
【請求項１０】
レーザ光をワークの載置されている領域に走査するステップと、
前記ワークにより反射された前記レーザ光の反射光を検出することにより、前記ワークの載置されている領域を検出するとともに、前記ワークの３次元計測を行うステップと、
検出された前記ワークの載置されている領域に応じて、かつ、前記ワークを載置する面の近傍に設けられるとともに前記ワークを載置する面から所定の高さを有し、前記ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、前記レーザ光の走査範囲を変更するステップとを備える、形状計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、形状計測装置、ロボットシステムおよび形状計測方法に関し、特に、レーザ光を照射するレーザ照射部を備える形状計測装置、ロボットシステムおよび形状計測方法に関する。
【背景技術】
【０００２】
従来、レーザ光を照射するレーザ照射部を備える形状計測装置（３次元姿勢認識手法）が知られている（たとえば、特許文献１参照）。
【０００３】
上記特許文献１の形状計測装置（３次元姿勢認識手法）には、ラインレーザ（レーザ光）を照射するレーザ装置（レーザ照射部）と、レーザ装置から照射され、部品群（計測対象物）により反射された反射光を受光するＣＣＤカメラとが設けられている。この３次元姿勢認識手法では、レーザ装置が部品群上を所定の開始位置から終了位置まで移動しながらラインレーザを照射するように構成されており、ＣＣＤカメラにより受光された部品群からの反射光に基づいて、部品群の最高点が算出される。そして、部品群のうちの最高点に対応する部品が、ロボットハンドによって取り出される。また、最高点に対応する部品が取り出された後、再びレーザ装置が部品群上を所定の開始位置から終了位置まで移動しながらラインレーザを照射することにより、残った部品群のうちから部品群の最高点が算出され、最高点に対応する部品が、ロボットハンドによって取り出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２７７１６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の形状計測装置（３次元姿勢認識手法）では、部品群のうちからロボットハンドによって部品が取り出される毎に、レーザ装置が部品群（計測対象物）上を所定の開始位置から終了位置まで移動しながらラインレーザを照射するように構成されているため、ラインレーザによる部品群の走査を繰り返し行う場合には、部品群の走査に要する合計の時間が比較的長くなるという問題点がある。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、計測対象物の走査に要する合計の時間を短くすることが可能な形状計測装置、ロボットシステムおよび形状計測方法を提供することである。
【課題を解決するための手段および発明の効果】
【０００７】
上記目的を達成するために、この発明の第１の局面による形状計測装置は、レーザ光を照射するレーザ照射部と、レーザ照射部から照射されたレーザ光をワークの載置されている領域に走査する走査部と、走査部から照射され、ワークにより反射されたレーザ光の反射光を検出することにより、ワークの載置されている領域を検出するとともに、ワークの３次元計測を行うカメラと、カメラによって検出されたワークの載置されている領域に応じて、かつ、ワークを載置する面の近傍に設けられるとともにワークを載置する面から所定の高さを有し、ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、走査部による走査範囲を変更するように制御する制御部とを備える。
【０００８】
この第１の局面による形状計測装置では、上記のように、カメラによって検出された計測対象物の載置されている領域に応じて走査部による走査範囲を変更するように制御する制御部を備えることによって、たとえば計測対象物が広い範囲に複数載置されている初期状態では、走査範囲を大きくする一方、計測対象物が徐々に取り除かれて、計測対象物が小さい範囲に載置されている場合に、計測対象物が載置されている範囲に応じて走査範囲を小さくすることができる。これにより、走査部による走査範囲が小さくなる分、計測対象物の走査に要する合計の時間を短くすることができる。
【０００９】
この発明の第２の局面によるロボットシステムは、ワークを把持する把持部を有するロボットと、レーザ光を照射するレーザ照射部と、レーザ照射部から照射されたレーザ光をワークの載置されている領域に走査する走査部と、走査部から照射され、ワークにより反射されたレーザ光の反射光を検出することにより、ワークの載置されている領域を検出するとともに、ワークの３次元計測を行うカメラと、カメラによって検出されたワークの載置されている領域に応じて、かつ、ワークを載置する面の近傍に設けられるとともにワークを載置する面から所定の高さを有し、ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、走査部による走査範囲を変更するように制御する制御部とを含む形状計測装置とを備える。
【００１０】
この第２の局面によるロボットシステムでは、上記のように、カメラによって検出された計測対象物の載置されている領域に応じて走査部による走査範囲を変更するように制御する制御部を備えることによって、たとえば計測対象物が広い範囲に複数載置されている初期状態では、走査範囲を大きくする一方、計測対象物が徐々に取り除かれて、計測対象物が小さい範囲に載置されている場合に、計測対象物が載置されている範囲に応じて走査範囲を小さくすることができる。これにより、走査部による走査範囲が小さくなる分、計測対象物の走査に要する合計の時間を短くすることができるので、ロボットが計測対象物を把持して移動させる動作に要する合計の時間を短くすることができる。
【００１１】
この発明の第３の局面による形状計測方法は、レーザ光をワークの載置されている領域に走査するステップと、ワークにより反射されたレーザ光の反射光を検出することにより、ワークの載置されている領域を検出するとともに、ワークの３次元計測を行うステップと、検出されたワークの載置されている領域に応じて、かつ、ワークを載置する面の近傍に設けられるとともにワークを載置する面から所定の高さを有し、ワークの載置されている領域を間違って認識するのを抑制する不感帯領域を考慮して、レーザ光の走査範囲を変更するステップとを備える。
【００１２】
この第３の局面による形状計測方法では、上記のように、検出された計測対象物の載置されている領域に応じてレーザ光の走査範囲を変更するステップを備えることによって、たとえば計測対象物が広い範囲に複数載置されている初期状態では、走査範囲を大きくする一方、計測対象物が徐々に取り除かれて、計測対象物が小さい範囲に載置されている場合に、計測対象物が載置されている範囲に応じて走査範囲を小さくすることができる。これにより、走査部による走査範囲が小さくなる分、計測対象物の走査に要する合計の時間を短くすることができる形状計測方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態によるロボットシステムの全体構成を示す図である。
【図２】本発明の第１実施形態によるロボットシステムのセンサユニットを示す図である。
【図３】図２に示すロボットシステムのセンサユニットの側面図である。
【図４】図２に示すロボットシステムのセンサユニットの上面図である。
【図５】本発明の第１実施形態によるロボットシステムのワークを走査する状態を示す図である。
【図６】本発明の第１実施形態によるロボットシステムのブロック図である。
【図７】本発明の第１実施形態によるロボットシステムの３次元計測の動作を示すフローチャートである。
【図８】本発明の第１実施形態によるロボットシステムの３次元計測の開始時の動作を示す図である。
【図９】図８に示すロボットシステムの３次元計測において走査を開始してから最初にワークを検出した状態を示す図である。
【図１０】図９に示す検出されたワークに基づいて走査の走査開始角度が修正された状態を示す図である。
【図１１】本発明の第１実施形態によるロボットシステムの３次元計測において走査を開始してから最後にワークを検出した状態を示す図である。
【図１２】図１１に示す検出されたワークに基づいて走査の走査終了角度が修正された状態を示す図である。
【図１３】本発明の第１実施形態によるロボットシステムの３次元計測においてワークがなくなった状態を示す図である。
【図１４】本発明の第２実施形態によるロボットシステムのワークを走査する状態を示す側面図である。
【図１５】本発明の第２実施形態によるロボットシステムのワークを走査する状態を示す斜視図である。
【図１６】本発明の第２実施形態によるロボットシステムのパレットを３次元計測する状態を示す側面図である。
【図１７】本発明の第２実施形態によるロボットシステムのパレットを３次元計測する状態を示す斜視図である。
【図１８】本発明の第２実施形態によるロボットシステムのパレットを３次元計測した結果の画像を示す図である。
【図１９】本発明の第２実施形態によるロボットシステムのパレットおよびワークを３次元計測した結果の画像を示す図である。
【図２０】図１９に示すパレットおよびワークを３次元計測した結果から図１８に示すパレットを３次元計測した結果を差分した状態の画像を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面に基づいて説明する。
【００１５】
（第１実施形態）
まず、図１を参照して、本発明の第１実施形態によるロボットシステム１００の全体構成について説明する。
【００１６】
図１に示すように、ロボットシステム１００には、ロボット１と、ストッカ２と、ロボットコントローラ３と、センサユニット（距離画像センサユニット）４と、ユーザコントローラ５と、搬送用パレット６とが設けられている。なお、センサユニット４は、本発明の「形状計測装置」の一例である。
【００１７】
ストッカ２は、樹脂などにより形成された箱（パレット）からなり、ストッカ２の内部には、たとえばボルトなどの複数のワーク２００が載置されている。ロボット１は、垂直多関節型のロボットであり、ロボット１の先端には、ストッカ２内に載置されたワーク２００を１つずつ把持するためのハンド装置７が設けられている。なお、ハンド装置７は、本発明の「把持部」の一例である。また、ハンド装置７に把持されたワーク２００は、次の工程にワーク２００を搬送するための搬送用パレット６に移動されるように構成されている。ロボット１の各関節部には、図示しないサーボモータが内蔵されており、サーボモータは、予めロボットコントローラ３により教示されている動作命令に従って制御されるように構成されている。
【００１８】
次に、図２〜図５を参照して、本発明の第１実施形態によるロボットシステム１００のセンサユニット４の構成について説明する。
【００１９】
図２に示すように、センサユニット４には、高速カメラ１１と、レーザスキャナ１２とが設けられている。なお、高速カメラ１１は、本発明の「カメラ」の一例である。また、図３に示すように、センサユニット４の内部には、センサコントローラ１３が設けられている。なお、センサコントローラ１３は、本発明の「制御部」の一例である。また、高速カメラ１１には、ＣＭＯＳセンサなどからなる撮像素子１４が設けられている。なお、ＣＭＯＳセンサからなる撮像素子１４では、ＣＭＯＳセンサに含まれる全ての画素から画素データを抽出して、画像を形成するように構成されている。また、高速カメラ１１には、所定の範囲の波長だけを通過させるバンドパスフィルタ１１ａが設けられている。
【００２０】
図３および図４に示すように、レーザスキャナ１２は、レーザスリット光を発生するレーザ発生器１５と、レーザスリット光を反射するミラー部１６と、ミラー部１６を回転駆動させるモータ１７と、ミラー部１６の回転角度を検出する角度検出器１８と、ミラー部１６を固定する治具１９とを備えている。なお、レーザ発生器１５は、本発明の「レーザ照射部」の一例である。また、ミラー部１６は、本発明の「走査部」の一例である。
【００２１】
図５に示すように、レーザ発生器１５から発生されたレーザスリット光は、ミラー部１６によって反射されて、ワーク２００に照射されるように構成されている。なお、レーザ発生器１５から発生されたレーザスリット光は、ミラー部１６の回転中心に照射されるように構成されている。また、ミラー部１６が回転駆動することにより、ワーク２００が載置される領域全体が、レーザスリット光により走査されるように構成されている。また、ミラー部１６によって照射され、ワーク２００によって反射されたレーザスリット光の反射光は、高速カメラ１１によって撮影されるように構成されている。
【００２２】
また、モータ１７（ミラー部１６）の回転角度と、受光した光の撮像素子１４の位置と、レーザ発生器１５、ミラー部１６および高速カメラ１１の幾何学的関係とに基づいて、三角測量の原理を用いることによって、高速カメラ１１とワーク２００（ワーク２００が載置される面２０）との間の距離を３次元計測するように構成されている。
【００２３】
次に、図６を参照して、本発明の第１実施形態によるロボットシステム１００のセンサコントローラ１３の構成について説明する。
【００２４】
図６に示すように、センサコントローラ１３には、レーザスキャナ１２のモータ１７を制御するモータ制御部３１が設けられている。また、センサコントローラ１３には、ロボットコントローラ３とユーザコントローラ５とに接続される通信部３２が設けられている。
【００２５】
また、通信部３２には、第１距離設定部３３が接続されるとともに、第１距離設定部３３には、第１距離記憶部３４が接続されている。第１距離設定部３３は、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１（図５参照）を設定する機能を有する。また、第１距離記憶部３４は、第１距離設定部３３により設定される距離Ｌ１を記憶する機能を有する。また、通信部３２には、第２距離設定部３５が接続されるとともに、第２距離設定部３５には、第２距離記憶部３６が接続されている。第２距離設定部３５は、ワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）（図５参照）を設定する機能を有する。また、第２距離記憶部３６は、第２距離設定部３５により設定されるワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を記憶する機能を有する。なお、ワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）は、たとえばワーク２００のＺ方向の高さｈ（図５参照）の１／２に設定される。
【００２６】
また、第１距離記憶部３４には、走査角度設定部３７が接続されている。走査角度設定部３７は、ミラー部１６が、レーザスリット光の走査を開始する走査開始角度θＬＳ１（図５参照）と走査終了角度θＬＥ１とを設定する機能を有する。なお、レーザスリット光の走査角度は、Ｚ方向に沿った直線を基準（０度）とする。また、ミラー部１６の回転角度θＭと、ミラー部１６に反射したレーザスリット光の走査角度θＬとの関係は、ミラー部１６の法線に対するレーザスリット光の入射角と反射角とが等しいので、下記の式（１）によって表わされる。
【００２７】
θＬ＝２×θＭ  ・・・（１）
また、走査開始角度θＬＳ１および走査終了角度θＬＥ１は、高速カメラ１１とワーク２００を載置する面２０との間の距離Ｌ１（図５参照）と、高速カメラ１１の中心からミラー部１６の回転中心までの距離と、高速カメラ１１の視野角度θＣとから幾何学的に求められる。
【００２８】
また、走査角度設定部３７には、走査角度修正部３８が接続されている。また、走査角度修正部３８には、第１角度記憶部３９と、第２角度記憶部４０とが接続されている。ここで、第１実施形態では、第１角度記憶部３９は、ミラー部１６が走査を開始して、高速カメラ１１からワーク２００までの距離（たとえばＬａ、図９参照）が、最初に、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下になった際（Ｌａ≦Ｌ２）のレーザスリット光の走査角度（たとえばθＬＰ１、図９参照）が記憶されるように構成されている。なお、高速カメラ１１からワーク２００までの距離Ｌaは、本発明の「第１の距離」の一例である。また、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２は、本発明の「第２の距離」の一例である。
【００２９】
また、第１実施形態では、第２角度記憶部４０は、ミラー部１６が走査を終了するまでにおいて、高速カメラ１１からワーク２００までの距離（たとえばＬｎ、図１１参照）が、最後に、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下になった際（Ｌｎ≦Ｌ２）のレーザスリット光の走査角度（たとえばθＬＰｎ、図１１参照）が記憶されるように構成されている。また、走査角度修正部３８は、第１角度記憶部３９および第２角度記憶部４０に記憶された角度に基づいて、走査角度設定部３７に設定されるレーザスリット光の走査を開始する走査開始角度θＬＳ１および走査終了角度θＬＥ１を修正する機能を有する。すなわち、第１実施形態では、ワーク２００が載置される領域に応じて、走査開始角度θＬＳ１および走査終了角度θＬＥ１を変更するように構成されている。
【００３０】
また、センサコントローラ１３には、高速カメラ１１に接続される画像取得部４１と、画像取得部４１に接続される認識部４２とが設けられている。画像取得部４１は、高速カメラ１１に設けられる撮像素子１４によって撮像された画像を取得する機能を有する。認識部４２は、画像取得部４１によって取得された高速カメラ１１の画像から、複数のワーク２００を個別に認識する機能を有する。
【００３１】
次に、図５〜図１３を参照して、第１実施形態のロボットシステム１００によるワーク２００の３次元計測の動作について説明する。なお、第１実施形態では、説明を簡略化するために、ワーク２００はストッカ２の内部ではなく、図５に示す面２０上に直接載置されている場合の動作について説明する。
【００３２】
図７に示すステップＳ１において、図５に示すように、ミラー部１６から照射され、ワーク２００（ワーク２００を載置する面２０）によって反射された反射光を高速カメラ１１が受光することにより、高速カメラ１１からワーク２００（ワーク２００を載置する面２０）までの距離が計測される。具体的には、モータ１７（ミラー部１６）の回転角度と、受光した光の撮像素子１４の位置と、レーザ発生器１５、ミラー部１６および高速カメラ１１の幾何学的関係とに基づいて、三角測量の原理を用いることによって、高速カメラ１１とワーク２００（ワーク２００が載置される面２０）との間の距離が３次元計測される。その後、ステップＳ２において、計測された高速カメラ１１とワーク２００（ワーク２００が載置される面２０）との間の距離が、センサコントローラ１３の第１距離設定部３３を介して第１距離記憶部３４に記憶される。
【００３３】
次に、ステップＳ３において、ワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）がユーザによりユーザコントローラ５を用いて手動で入力されたか否かが判断される。そして、ステップＳ３において、不感帯領域の高さｄ（距離ｄ）が入力されと判断された場合には、ステップＳ４に進む。なお、ステップＳ３の判断は、不感帯領域の高さｄ（距離ｄ）が入力されるまで、繰り返し行われている。そして、ステップＳ４において、ユーザにより設定された距離ｄが、第２距離設定部３５を介して第２距離記憶部３６に記憶される。なお、ワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）は、たとえばワーク２００のＺ方向の高さｈ（図５参照）の１／２に設定される。
【００３４】
次に、ステップＳ５において、上記ステップＳ２において記憶された高速カメラ１１とワーク２００（ワーク２００を載置する面２０）との間の距離のうち、高速カメラ１１の光軸方向（Ｚ方向）の最大値が算出されて、高速カメラ１１とワーク２００を載置する面２０との間の距離Ｌ１として設定される。なお、高速カメラ１１とワーク２００を載置する面２０との間の距離Ｌ１は、上記ステップＳ１およびステップＳ２を行わずに、ユーザによりユーザコントローラ５を用いて手動で設定されるようにしてもよい。
【００３５】
そして、ステップＳ６において、距離Ｌ１と、高速カメラ１１の中心からミラー部１６の回転中心までの距離と、高速カメラ１１の視野角度θＣとの幾何学的関係から、レーザスリット光の走査開始角度θＬＳ１と走査終了角度θＬＥ１とが算出されて、センサコントローラ１３の走査角度設定部３７に設定される。なお、図５に示すように、Ｚ方向に積み上げられたワーク２００の全てを走査可能なように、走査開始角度θＬＳ１は、照射されるレーザスリット光が、高速カメラ１１が撮像可能な面２０上の領域Ｃを矢印Ｘ１方向に超えるように設定される。一方、走査終了角度θＬＥ１は、照射されるレーザスリット光と、高速カメラ１１が撮像可能な面２０上の領域Ｃの矢印Ｘ２方向の境界とが一致するように設定される。
【００３６】
次に、ステップＳ７において、ワーク２００の３次元計測が開始される。具体的には、図８に示すように、上記ステップＳ６において設定された走査開始角度θＬＳ１と走査終了角度θＬＥ１とに基づいて、レーザスリット光が照射（ミラー部１６が回転駆動）される。すなわち、レーザスリット光は、走査角度θＬ１の範囲で走査される。これにより、レーザ発生器１５から発生され、ミラー部１６によって反射されたレーザスリット光がワーク２００（ワーク２００を載置する面２０）に照射された後、ワーク２００（ワーク２００を載置する面２０）により反射される。この反射光が高速カメラ１１に入射されることにより、ワーク２００（ワーク２００を載置する面２０）が撮影される。そして、モータ１７（ミラー部１６）の回転角度と、受光した光の撮像素子１４の位置と、レーザ発生器１５、ミラー部１６および高速カメラ１１の幾何学的関係とに基づいて、三角測量の原理を用いることによって、高速カメラ１１とワーク２００との間の距離Ｌが３次元計測される。
【００３７】
なお、ミラー部１６が回転駆動されることにより、高速カメラ１１とワーク２００との間の距離Ｌの３次元計測も連続して行われる。そして、連続して行われる３次元計測の間において、ステップＳ８において、高速カメラ１１からワーク２００までの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下（Ｌ≦Ｌ１−ｄ）になったか否かが判断される。
【００３８】
そして、たとえば図９に示すように、ミラー部１６が走査を開始した後、ワーク２００ａの表面上の点Ｐａにおいて反射された反射光に基づいて、高速カメラ１１とワーク２００ａの点Ｐａとの間の距離Ｌａが計測され、ステップＳ８において、距離Ｌａが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下（Ｌａ≦Ｌ１−ｄ）になった場合に、ステップＳ９に進む。そして、ステップＳ９において、ワーク２００ａの表面上の点Ｐａにおいて反射された際のレーザスリット光の走査角度θＬＰ１が、センサコントローラ１３の第１角度記憶部３９（図６参照）に記憶される。
【００３９】
また、ミラー部１６による走査が引き続き行われ、ステップＳ１０において、高速カメラ１１からワーク２００までの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下か否か（Ｌ≦Ｌ１−ｄ）が判断される。そして、ステップＳ１０において、高速カメラ１１からワーク２００までの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１から不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下と判断されている間は、ステップＳ１０の動作が繰り返して行われる。
【００４０】
そして、たとえば、後述する図１１に示すように、ワーク２００ｎの表面上の点Ｐｎにおいて反射された反射光に基づいて、高速カメラ１１とワーク２００ｎの点Ｐｎとの間の距離Ｌｎが計測された後、ステップＳ１０において、高速カメラ１１からワーク２００ｎまでの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）より大きくなった（Ｌ＞Ｌ１−ｄ）と判断された場合には、ステップＳ１１に進む。なお、図９に示すように、ワーク２００の載置される位置、姿勢によっては、ステップＳ１０において、高速カメラ１１からワーク２００までの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１からワーク２００が載置される面２０近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以上になると判断されることなく、ミラー部１６の走査が終了する場合もある。
【００４１】
そして、ステップＳ１２において、レーザスリット光の走査角度が走査終了角度θＬＥ１以上になったか否か（レーザスリット光の走査角度が走査終了角度θＬＥ１に達したか否か）が判断される。ステップＳ１２において、レーザスリット光の走査角度が走査終了角度θＬＥ１に達していないと判断された場合には、ステップＳ８に戻る。ステップＳ１２において、レーザスリット光の走査角度が走査終了角度θＬＥ１より大きくなったと判断された場合には、ステップＳ１３に進む。
【００４２】
ステップＳ１３では、３次元計測された計測データが、センサコントローラ１３の認識部４２によって画像認識処理される。そして、予め記憶されているワーク２００のテンプレートと、画像認識処理された計測データとを比較することにより、複数のワーク２００が個々に認識される。なお、個々のワーク２００が認識される際、個々のワーク２００の位置および姿勢（傾き、上下など）も同時に認識される。そして、認識された複数のワーク２００の中から、最もロボット１のハンド装置７（図１参照）が把持しやすいワーク２００（たとえばワーク２００ａ）が、ワーク２００の位置および姿勢に基づいて、判断される。そして、最も把持しやすいワーク２００ａの位置および姿勢が、センサコントローラ１３からロボットコントローラ３に伝達される。これにより、ロボット１のハンド装置７により、ワーク２００ａが把持されるとともに、ワーク２００ａは、次の工程にワーク２００ａを搬送するための搬送用パレット６に移動される。
【００４３】
次に、ステップＳ１４に進んで、次回の走査の際の走査開始角度がセンサコントローラ１３の走査角度修正部３８および走査角度設定部３７（図６参照）により修正、設定される。具体的には、上記ステップＳ９において、第１角度記憶部３９に記憶されたレーザスリット光の走査角度θＬＰ１から所定の角度（たとえば２度）を加算した角度（θＬＰ１＋２）が、次回の走査の際の走査開始角度θＬＳ２として、センサコントローラ１３の走査角度修正部３８および走査角度設定部３７（図６参照）により修正、設定される。なお、図９に示す状態では、上記ステップＳ１０において、高速カメラ１１からワーク２００までの距離Ｌが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１から不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以上になると判断されることなく、ミラー部１６の走査が終了しているので、走査終了角度θＬＥ１は、修正されない。
【００４４】
その後、ステップＳ７に戻って、３次元計測が再び開始される。具体的には、図１０に示すように、上記ステップＳ１４において設定された走査開始角度θＬＳ２と走査終了角度θＬＥ１とに基づいて、ミラー部１６が回転駆動される。すなわち、レーザスリット光は、走査角度θＬ２（＜θＬ１）の範囲で走査される。その後、ステップＳ８〜ステップＳ１４の動作が繰り返し行われる。そして、図１０に示す状態では、ステップＳ８において、高速カメラ１１とワーク２００ｂの点Ｐｂとの間の距離Ｌｂが、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１から不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下（Ｌｂ≦Ｌ１−ｄ）になったと判断されて、ワーク２００ｂの表面上の点Ｐｂにおいて反射された際のレーザスリット光の走査角度θＬＰ２が、センサコントローラ１３の第１角度記憶部３９（図６参照）に記憶される。そして、ステップＳ１４に進んで、レーザスリット光の走査角度θＬＰ２から所定の角度（たとえば２度）を加算した角度（θＬＰ２＋２）が、次回の走査の際の走査開始角度θＬＳ３として設定される。
【００４５】
そして、再び、ステップＳ８〜ステップＳ１４の動作が繰り返し行われることにより、ワーク２００の３次元計測と、ロボット１のハンド装置７によるワーク２００の搬送用パレット６への移動とが繰り返し行われ、たとえば図１１に示すように、ワーク２００の数が減少した状態となる。この場合、レーザスリット光は、走査角度θＬ３（＜θＬ２）の範囲で操作されている。そして、ワーク２００ｎの表面上の点Ｐｎにおいて反射されて、高速カメラ１１からワーク２００ｎまでの距離Ｌｎが計測された後、ステップＳ１０において、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１から不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）より大きくなった（Ｌ＞Ｌ１−ｄ）と判断される。その後、ステップＳ１１において、高速カメラ１１からワーク２００ｎまでの距離Ｌ（Ｌｎ）が、最後に、高速カメラ１１とワーク２００が載置される面２０との間の距離Ｌ１から不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下になった（Ｌ≦Ｌ１−ｄ）際（ワーク２００ｎの表面上の点Ｐｎにおいて反射された際）のレーザスリット光の走査角度θＬＰｎが、センサコントローラ１３の第２角度記憶部４０（図６参照）に記憶される。そして、ステップＳ１３に進んで、ロボット１のハンド装置７により、ワーク２００ｎが把持されるとともに、ワーク２００ｎは、次の工程にワーク２００ｎを搬送するための搬送用パレット６に移動される。その後、ステップＳ１４に進んで、レーザスリット光の走査角度θＬＰｎから所定の角度（たとえば２度）を差分した角度（θＬＰｎ―２）が、次回の走査の際の走査終了角度θＬＥ２として、センサコントローラ１３の走査角度修正部３８および走査角度設定部３７（図６参照）により修正、設定される。
【００４６】
その後、上記設定された走査終了角度θＬＥ２に基づいて、図１２に示すように、レーザスリット光は、走査角度θＬ４（＜θＬ３）の範囲で照射される。そして、ワーク２００ｏが認識される。その後、ロボット１のハンド装置７により、ワーク２００ｏが把持されるとともに、ワーク２００ｏは、次の工程にワーク２００ｏを搬送するための搬送用パレット６に移動される。そして、図１３に示すように、全てのワーク２００が移動された状態となる。その後、改めて、レーザスリット光が、走査角度θＬ４（図１２参照）の範囲で照射されて、ワーク２００が認識されないことが確認された後、最初に設定された走査開始角度θＬＳ１および走査終了角度θＬＥ１に基づいて、レーザスリット光による走査が行われる。これにより、レーザスリット光の走査範囲を徐々に小さくしながら、ワーク２００の搬送用パレット６への移動が繰り返し行われている最中に、ロボット１のハンド装置７がワーク２００に接触することに起因して、ワーク２００がレーザスリット光の走査範囲から外れた位置に移動した場合でも、走査範囲外のワーク２００を認識することが可能となる。
【００４７】
第１実施形態では、上記のように、高速カメラ１１によって検出されたワーク２００の載置されている領域に応じてミラー部１６による走査範囲を変更するように制御するセンサコントローラ１３を備えることによって、たとえばワーク２００が広い範囲に複数載置されている初期状態では、走査範囲を大きくする一方、ワーク２００が徐々に取り除かれて、ワーク２００が小さい範囲に載置されている場合に、ワーク２００が載置されている範囲に応じて走査範囲を小さくすることができる。これにより、ミラー部１６によるレーザスリット光の走査範囲が小さくなる分、ワーク２００の走査に要する合計の時間を短くすることができる。その結果、ロボット１がワーク２００を把持して搬送用パレット６に移動させる動作に要する合計の時間を短くすることができる。
【００４８】
また、第１実施形態では、上記のように、高速カメラ１１によって検出されたワーク２００の載置されている領域に応じて走査開始角度および走査終了角度のうちの少なくとも一方を変更することによって、ミラー部１６による走査範囲を変更する制御を行うようにセンサコントローラ１３を構成する。これにより、走査開始角度および走査終了角度のうちの少なくとも一方を小さくすることにより、ミラー部１６による走査範囲が小さくなるので、ワーク２００の走査に要する合計の時間を短くすることができる。
【００４９】
また、第１実施形態では、上記のように、検出されたワーク２００からの反射光に基づいて、高速カメラ１１とワーク２００との間の距離Ｌを算出するとともに、高速カメラ１１とワーク２００との間の距離Ｌに基づいて、ミラー部１６による走査範囲を変更するようにセンサコントローラ１３を構成する。これにより、ワーク２００が載置されている状態（数）に応じて、容易に、ミラー部１６による走査範囲を変更することができる。
【００５０】
また、第１実施形態では、上記のように、高速カメラ１１とワーク２００との間の距離Ｌが、高速カメラ１１とワーク２００を載置する面２０との間の距離Ｌ１からワーク２００を載置する面の近傍の不感帯領域の高さ（距離ｄ）を差分した距離Ｌ２以下に最初になった際のレーザスリット光の走査角度に基づいて、走査開始角度を変更するようにセンサコントローラ１３を構成する。これにより、不感帯領域の高さｄ（距離ｄ）未満のたとえばワーク２００が載置される面２０上に存在するゴミからの反射光を検出することに起因して、ワーク２００が載置されている領域を間違って認識するのを抑制することができる。
【００５１】
また、第１実施形態では、上記のように、高速カメラ１１とワーク２００との間の距離Ｌが、高速カメラ１１とワーク２００を載置する面２０との間の距離Ｌ１からワーク２００を載置する面２０の近傍の不感帯領域の高さ（距離ｄ）を差分した距離Ｌ２以下に最後になった際のミラー部１６の回転角度に基づいて、走査終了角度を変更するようにセンサコントローラ１３を構成する。これにより、不感帯領域の高さｄ（距離ｄ）未満のたとえばワーク２００が載置される面２０上に存在するゴミからの反射光を検出することに起因して、ワーク２００が載置されている領域を間違って認識するのを抑制することができる。
【００５２】
また、第１実施形態では、上記のように、不感帯領域の高さｄ（距離ｄ）を、ワーク２００の高さｈの１／２になるように構成する。これにより、ワーク２００の高さｈの１／２未満のゴミなどからの反射光を検出することに起因して、ワーク２００が載置されている領域を間違って認識するのを抑制することができる。
【００５３】
（第２実施形態）
次に、図１４および図１５を参照して、第２実施形態のロボットシステム１０１について説明する。この第２実施形態では、ワーク２００が面２０上に直接載置されている第１実施形態と異なり、ワーク２００が箱状のパレット１０２の中に載置されている。
【００５４】
図１４および図１５に示すように、第２実施形態のロボットシステム１０１では、複数のワーク２００が箱状のパレット１０２の中に載置されている。なお、第２実施形態のその他の構成は、上記第１実施形態と同様である。
【００５５】
次に、図１４〜図２０を参照して、第２実施形態によるセンサコントローラ１３の３次元計測の動作について説明する。
【００５６】
まず、ワーク２００の３次元計測に先立って、図１６および図１７に示すように、ワーク２００がパレット１０２に載置されていない状態で、パレット１０２と、パレット１０２が載置されている面１０３などの３次元計測が行われる。具体的には、高速カメラ１１からパレット１０２の枠１０２ａまでの距離、高速カメラ１１からパレット１０２の内低面１０２ｂまでの距離、パレット１０２からパレット１０２が載置されている面１０３までの距離などが計測される。これにより、図１８に示すように、パレット１０２を矢印Ｚ１方向（図１６および図１７参照）から見た画像がセンサコントローラ１３の認識部４２により認識される。
【００５７】
次に、図１４および図１５に示すように、パレット１０２にワーク２００が載置された状態で、センサユニット４によるパレット１０２とワーク２００との３次元計測が行われる。なお、３次元計測の具体的な動作は、上記第１実施形態と同様である。そして、センサユニット４によるパレット１０２とワーク２００との３次元計測が行われることにより、図１９に示すように、パレット１０２とワーク２００とを矢印Ｚ１方向（図１４および図１５参照）から見た画像がセンサコントローラ１３の認識部４２により認識される。なお、この状態では、高速カメラ１１とワーク２００との間の距離とともに、高速カメラ１１とパレット１０２との間の距離も得られるため、上記した第１実施形態のように、高速カメラ１１とワーク２００との間の距離Ｌに基づいて、レーザスリット光の走査範囲の修正を行うことができない。
【００５８】
そこで、パレット１０２とワーク２００との３次元計測の結果（距離情報、図１９参照）から、予め計測されたパレット１０２の３次元計測の結果（距離情報、図１８参照）を差分する。これにより、図２０に示すように、ワーク２００の３次元計測の結果（画像）がセンサコントローラ１３の認識部４２により認識される。その結果、上記第１実施形態と同様に、高速カメラ１１とワーク２００との間の距離Ｌに基づいて、レーザスリット光の走査範囲の修正を行うことが可能となる。なお、第２実施形態によるワーク２００の３次元計測のその他の動作は、上記第１実施形態と同様である。
【００５９】
第２実施形態では、上記のように、ワーク２００は、パレット１０２の内部に載置されており、高速カメラ１１によって検出されたパレット１０２の内部におけるワーク２００の載置されている領域に応じてミラー部１６による走査範囲を変更するようにセンサコントローラ１３を構成する。これにより、パレット１０２からの反射光を検出することに起因して、ワーク２００が載置されている領域を間違って認識するのを抑制することができる。
【００６０】
また、第２実施形態では、上記のように、パレット１０２の内部にワーク２００が載置されている状態の高速カメラ１１による３次元計測の結果から、パレット１０２の内部にワーク２００が載置されていない状態の高速カメラ１１による３次元計測の結果を差分することによって、高速カメラ１１によって検出されたパレット１０２の内部におけるワーク２００の載置されている領域に応じてミラー部１６による走査範囲を変更するようにセンサコントローラ１３を構成する。これにより、パレット１０２からの反射光を検出することに起因して、ワーク２００が載置されている領域を間違って認識するのを容易に抑制することができる。
【００６１】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００６２】
たとえば、上記第１および第２実施形態では、高速カメラからワークまでの距離Ｌが、高速カメラとワークが載置される面との間の距離Ｌ１からワークが載置される面近傍の不感帯領域の高さｄ（距離ｄ）を差分した距離Ｌ２（Ｌ１−ｄ）以下（Ｌ≦Ｌ１−ｄ）になった際のレーザスリット光の走査角度に基づいて、走査開始角度および走査終了角度を修正する例を示したが、本発明はこれに限られない。たとえば、高速カメラからワークまでの距離Ｌが、高速カメラとワークが載置される面との間の距離Ｌ１未満（Ｌ＜Ｌ１）になった際のレーザスリット光の走査角度に基づいて、走査開始角度および走査終了角度を修正してもよい。
【００６３】
また、上記第１および第２実施形態では、不感帯領域の高さｄ（距離ｄ）を、ワークの高さｈの１／２に設定する例を示したが、本発明はこれに限られない。本発明では、距離ｄは、ワークの高さｈ以下であればよい。
【００６４】
また、上記第１および第２実施形態では、高速カメラとワークとの間の距離Ｌに基づいて、レーザスリット光の走査開始角度および走査終了角度の両方を修正する例を示したが、本発明はこれに限られない。たとえば、レーザスリット光の走査開始角度または走査終了角度の一方のみを修正するようにしてもよい。
【００６５】
また、上記第１および第２実施形態では、撮像素子のＣＭＯＳセンサに含まれる全ての画素から画素データを抽出して、画像が形成される例を示したが、本発明はこれに限られない。たとえば、レーザスリット光の走査範囲が小さくなるのに対応させて、画素データが抽出されるＣＭＯＳセンサの画素数を少なくするようにしてもよい。これにより、画素データが抽出される画素数が少なくなる分、画素データの抽出を高速に行うことができる。
【符号の説明】
【００６６】
１  ロボット
４  センサユニット（形状計測装置）
７  ハンド装置（把持部）
１１  高速カメラ（カメラ）
１３  センサコントローラ（制御部）
１５  レーザ発生器（レーザ照射部）
１６  ミラー部（走査部）
１００、１０１  ロボットシステム
【図１】
0005630208.tif 000002
【図２】
0005630208.tif 000003
【図３】
0005630208.tif 000004
【図４】
0005630208.tif 000005
【図５】
0005630208.tif 000006
【図６】
0005630208.tif 000007
【図７】
0005630208.tif 000008
【図８】
0005630208.tif 000009
【図９】
0005630208.tif 000010
【図１０】
0005630208.tif 000011
【図１１】
0005630208.tif 000012
【図１２】
0005630208.tif 000013
【図１３】
0005630208.tif 000014
【図１４】
0005630208.tif 000015
【図１５】
0005630208.tif 000016
【図１６】
0005630208.tif 000017
【図１７】
0005630208.tif 000018
【図１８】
0005630208.tif 000019
【図１９】
0005630208.tif 000020
【図２０】
0005630208.tif 000021