(57)【要約】【課題】振動ミラーにより光ビームを走査することで対象物上に光のパターンを投影する三次元形状計測装置において、投影する光のパターンの環境条件等による変化を補償する。【解決手段】ＭＥＭＳミラー１４で走査されるスリット光が実効的な走査範囲のＡ端を通るタイミングを光ファイバ２０Ａ及び光検出器３６Ａにより検出する。時間間隔計測部３８は、往復走査されるスリット光がＡ端を通過するタイミング同士の時間間隔を計測する。走査角度判定部４０は、計測された時間間隔に対応する走査角度変化パターンを求め、そのパターンからレーザー駆動信号の位相に対応する走査角度を求める。変調パターン信号生成部４２は、求められた走査角度に対応するレーザー発光強度を投影パターンから求める。レーザー駆動回路３２は、求められたレーザー発光強度に従って、レーザー１０の発光を制御する。【選択図】図６
2012202803.tif 000002
【特許請求の範囲】
【請求項１】
三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影装置であって、
光源駆動信号により駆動され、光ビームを発する光源と、
前記光源に対して前記光源駆動信号を供給する光源駆動手段と、
前記光源から発せられた前記光ビームを反射するとともに、入力されるミラー駆動信号に応じて振動することにより前記光ビームの反射光を走査するための振動ミラーと、
を備え、
前記光源駆動手段は、
前記振動ミラーにより前記反射光が走査される走査範囲内の１以上の走査角度の各々に対応して設けられた１以上の受光手段と、
前記１以上の受光手段が前記反射光を受光するタイミングの組合せに応じた変調パターン信号を出力する変調パターン信号出力手段であって、前記組合せに応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該組合せに対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力手段と、
あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御手段と、
を備えるパターン光投影装置。
【請求項２】
前記変調パターン信号出力手段は、
前記１以上の受光手段が前記反射光を受光するタイミングの組合せから、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を示す走査角度変化パターンであって、当該組合せに対応する走査角度変化パターン、を求める走査角度変化パターン判定手段と、
前記走査角度変化パターン判定手段が求めた走査角度変化パターンと、前記光のパターンを形成するための走査角度と光強度との関係を表す投影パターンと、を用いることにより、前記光源駆動信号の各位相に対応する光強度を表す変調パターン信号を生成する変調パターン信号生成手段と、
を備える請求項１に記載のパターン光投影装置。
【請求項３】
前記走査角度変化パターン判定手段は、特定の１つの受光手段が前記反射光を受光する異なるタイミング同士の時間間隔を測定し、測定した時間間隔に基づいて前記走査角度変化パターンを求める、ことを特徴とする請求項２に記載のパターン光投影装置。
【請求項４】
前記特定の１つの受光手段が前記反射光を受光するタイミングを基準として、前記ミラー駆動信号と前記光源駆動信号とを同期させる同期制御手段、を更に備え、前記特定の１つの受光手段を前記走査角度変化パターン判定手段と前記同期制御手段とで兼用したことを特徴とする請求項３に記載のパターン光投影装置。
【請求項５】
前記走査角度変化パターン判定手段は、特定の２以上の受光手段がそれぞれ前記反射光を受光するタイミング同士の時間間隔を測定し、測定した時間間隔に基づいて、前記走査角度変化パターンを求める、
ことを特徴とする請求項２に記載のパターン光投影装置。
【請求項６】
前記走査角度変化パターン判定手段は、前記反射光を前記走査範囲の一方端から他方端へ走査する順方向走査と、前記他方端から前記一方端へ走査する逆方向走査と、のそれぞれについて個別に走査角度変化パターンを求め、
前記変調パターン信号生成手段は、前記振動ミラーによる前記反射光の走査が前記順方向走査の期間にある場合は前記順方向走査に対応する走査角度変化パターンを用い、前記振動ミラーによる前記反射光の走査が前記逆方向走査の期間にある場合は前記逆方向走査に対応する走査角度変化パターンを用いて、前記変調パターン信号を生成する、
ことを特徴とする請求項２〜５のいずれか１項に記載のパターン光投影装置。
【請求項７】
三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影装置であって、
光源駆動信号により駆動され、光ビームを発する光源と、
前記光源に対して前記光源駆動信号を供給する光源駆動手段と、
前記光源から発せられた前記光ビームを反射するとともに、入力されるミラー駆動信号に応じて振動することにより前記光ビームの反射光を走査するための振動ミラーと、
を備え、
前記光源駆動手段は、
前記振動ミラーの設置環境の環境条件を検出するための１以上のセンサーと、
前記センサーが検出した環境条件に応じた変調パターン信号を出力する変調パターン信号出力手段であって、前記環境条件に応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該環境条件に対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力手段と、
あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御手段と、
を備えるパターン光投影装置。
【請求項８】
前記環境条件は、前記振動ミラーの設置環境の温度、前記設置環境の重力の方向、前記設置環境の加速度、前記設置環境の振動、及び前記設置環境の電磁ノイズ、のうちの少なくとも１つであることを特徴とする請求項７に記載のパターン光投影装置。
【請求項９】
前記光源駆動信号制御手段は、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に対応した値となるよう制御する、ことを特徴とする請求項１〜８のいずれか１項に記載のパターン光投影装置。
【請求項１０】
前記光源駆動信号は、前記光源の発光をオンオフ制御するための信号であり、
前記光源は、前記光源駆動信号の値がオンを示すときに一定の強度で発光し、
前記光源駆動信号制御手段は、前記光源駆動信号の位相ごとに、前記あらかじめ定められた回数の走査の中での当該位相のオンの合計回数が、前記変調パターン信号における当該位相に対応する光強度に対応した回数となるよう、前記光源駆動信号を制御することを特徴とする請求項１〜８のいずれか１項に記載のパターン光投影装置。
【請求項１１】
前記光のパターンが投影された対象物を撮像する撮像装置が１フレームの画像を形成する期間内に、前記反射光を前記振動ミラーに複数回走査させることにより、各回の走査で形成された光のパターンを前記撮像装置が多重露光できるようにした、ことを特徴とする請求項１〜１０のいずれか１項に記載のパターン光投影装置。
【請求項１２】
前記振動ミラーを収容するパッケージであって、当該パッケージの外壁のうちの前記振動ミラーの反射面側の外壁である正面壁が、前記光ビーム及びその反射光を透過する材質で形成されたパッケージと、
前記光源と前記振動ミラーとの間の光路上に配設され、前記光源から発せられるスポット状ビームをスリット状ビームへと変換するシリンドリカルレンズと、
を更に備え、
前記シリンドリカルレンズが、前記パッケージの前記正面壁に対して密着して形成されていることにより、前記正面壁による前記光ビームの反射を防止又は低減する、
ことを特徴とする請求項１〜１１のいずれか１項に記載のパターン光投影装置。
【請求項１３】
前記光源と前記振動ミラーとの間の光路上に配設され、前記光源から発せられるスポット状ビームをスリット状ビームへと変換するシリンドリカルレンズ、
を更に備え、
前記シリンドリカルレンズは、前記振動ミラーによる前記反射光の前記走査範囲を遮らないような形状に切断されている、
ことを特徴とする請求項１〜１１のいずれか１項に記載のパターン光投影装置。
【請求項１４】
三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影方法であって、
光源駆動手段から光源に光源駆動信号を供給することにより、前記光源を駆動制御する光源駆動ステップと、
前記光源駆動信号に応じて前記光源から発せられた光ビームを振動ミラーにより反射することにより、前記振動ミラーによる前記光ビームの反射光を走査する走査ステップと、
を含み、
前記光源駆動手段は、前記振動ミラーにより前記反射光が走査される走査範囲内の１以上の走査角度の各々に対応して設けられた１以上の受光手段を含み、
前記光源駆動ステップは、
前記１以上の受光手段が前記反射光を受光するタイミングの組合せに応じた変調パターン信号を出力する変調パターン信号出力サブステップであって、前記組合せに応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該組合せに対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力サブステップと、
あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御サブステップと、
を含むパターン光投影方法。
【請求項１５】
三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影方法であって、
光源駆動手段から光源に光源駆動信号を供給することにより、前記光源を駆動制御する光源駆動ステップと、
前記光源駆動信号に応じて前記光源から発せられた光ビームを振動ミラーにより反射することにより、前記振動ミラーによる前記光ビームの反射光を走査する走査ステップと、
を含み、
前記光源駆動手段は、前記振動ミラーの設置環境の環境条件を検出するための１以上のセンサーを備え、
前記光源駆動ステップは、
前記センサーが検出した環境条件に応じた変調パターン信号を出力する変調パターン信号出力サブステップであって、前記環境条件に応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該環境条件に対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力サブステップと、
あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御サブステップと、
を含むパターン光投影方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状計測用のパターン光を投影するパターン光投影装置及び方法に関する。
【背景技術】
【０００２】
能動的ステレオ法により対象物表面の各点のカメラからの距離を計測することで、それら各点の三次元位置を計測するシステム（アクティブ・レンジファインダとも呼ばれる）が普及している。この種のシステムでは、対象物表面上の点を特定するために対象物に光を投影し、光が投影された状態の対象物をカメラで撮影する。例えば光切断法では、レーザー光源などにより形成されるスリット光で対象物を走査する（特許文献１参照）。また、空間コード化法や位相シフト法では、縞模様パターンや濃淡パターンなどのパターン光を形成して対象物に投影する。ここで、１フレームの画像を撮像する間に、レーザーを間欠的にオンオフするなどのようにレーザー光の強度を時間的に変調しながら高速走査することで、対象物にパターン光を投影したのと同様の効果を得ることも考えられる。
【０００３】
従来、この種の三次元計測装置におけるレーザー光の走査は、回転されるポリゴンミラーまたは振動（揺動）するガルバノミラーを用いて行っていた。しかし、ポリゴンミラーも機械式の一般的なガルバノミラーも比較的サイズが大きいため、光源ユニットが大きくなっていた。
【０００４】
これに対し、近年、ＭＥＭＳ（Micro Electro Mechanical Systems）技術を用いて形成した振動ミラーによりレーザー光を走査する技術が、三次元計測装置にも利用されてきている。三次元（距離）計測の原理として光切断法や空間コード化法、位相シフト法を用いる装置への適用例は知られていないが、光飛行時間法を用いる装置への適用例としては、以下の特許文献２及び非特許文献１に開示されたものがある。
【０００５】
特許文献２には、ガルバノミラーを用いて光ビームを二次元的に走査しつつも、光源から光ビームが照射されてから受光部でその反射光が受光されるまでの時間を計測することで、各走査点までの距離を計測し、物体表面の三次元的な形状検出を行う装置が開示されている（例えば、段落０００９，００１０，００３４〜００３９参照）。また、ガルバノミラーとしてＭＥＭＳを用いたミラーを用いることも開示されている（例えば段落００４４参照）。
【０００６】
非特許文献１には、ＭＥＭＳ技術を用いた共振ミラーによりレーザー光を走査し、距離画像を生成するセンサーが開示されている。このセンサーは、ターゲットで散乱した光をフォトダイオードで捉え、その時間差から測距を行う光飛行時間測距法を用いている。また、このセンサーで用いるＭＥＭＳミラーは、共振駆動することにより、少ない電力で大きな走査角を得ている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１１２９７８号公報
【特許文献２】特開２００４−００４２７６号公報
【非特許文献】
【０００８】
【非特許文献１】日本信号株式会社、“ＥＣＯ ＳＣＡＮ  アプリケーション  距離画像センサー：測定原理”、［online］、［平成２３年１月１３日検索］、インターネット、<http://www.signal.co.jp/vbc/mems/app/item01_1.html>
【発明の概要】
【発明が解決しようとする課題】
【０００９】
光ビームの走査にＭＥＭＳミラー等の振動ミラーを用いる場合、走査期間中の振動ミラーの反射方向（すなわち反射光の進む方向（言い換えれば走査角度））の時間的な変化パターン（以下、「走査角度変化パターン」と呼ぶ）が諸要因に応じて変化する可能性がある。反射光の走査角度変化パターンを変化させる諸要因には、例えば、振動ミラーの設置環境（振動ミラーが収容される装置など）の環境条件（例えば温度、重力の向き、設置環境自体の加速度、設置環境自体の振動、電磁ノイズ、など）、振動ミラー自体の製造誤差、振動ミラー自体の経年的な特性変化（あるいは劣化）などがある。このように振動ミラーによる反射光の走査角度変化パターンが変化すると、投影される光のパターンがその変化に応じて変化してしまう。
【００１０】
例えば、共振を利用して走査角を広げる方式の場合、ミラーを駆動する駆動信号の周波数がミラーの共振周波数（固有振動数）に合っているとミラーの振動（揺動）角は大きくなって走査角が大きくなるが、駆動信号の周波数が共振周波数からずれるとミラーの振動角は小さくなり、これに応じて走査角も小さくなる。このため、例えば駆動により振動ミラーの温度が上昇して共振周波数が変化すると、それに応じてミラーの振動角（すなわち、ミラーの法線方向が変化する範囲）が変化する。このように温度に応じてミラーの振動角が変化すると、走査周期内の各時点における反射光の方向（走査角度）が変化するため、同じ変調パターンに従って光ビームを時間的に変調したとしても、その結果投影される光のパターンが変化してしまう。
【００１１】
また、振動ミラーが設置される向きが異なれば、振動ミラーの振動方向に対する重力の作用の方向が異なってくる。このため、その向きに応じて、振動ミラーの振動パターンが変化することにより、振動ミラーによる反射光の走査角度変化パターンが異なってくる可能性がある。また、振動ミラーを搭載した装置自体が何らかの理由で移動する場合、その加速度が振動ミラーの振動に影響を与え、その影響により、振動ミラーによる反射光の走査角度変化パターンが異なってくる可能性がある。また、振動ミラーを搭載した装置自体が振動している場合、その振動が振動ミラーの振動に影響を与え、その影響により、振動ミラーによる反射光の走査角度変化パターンが異なってくる可能性がある。
【００１２】
また、ＭＥＭＳミラー等のように電気信号により駆動される振動ミラーを用いる場合、振動ミラーの駆動回路に対する電磁ノイズが振動ミラーの振動に影響を与え、その影響により、振動ミラーによる反射光の走査角度変化パターンが異なってくる可能性がある。
【００１３】
また、同じ設計に従って製造された振動ミラーであっても、製造誤差等の個体差に応じて振動の仕方が微妙に異なるため、振動ミラーによる反射光の走査角度変化パターンが個体差に応じて異なってくる可能性がある。
【００１４】
また、同じ振動ミラーであっても、経年使用に応じて機械的特性が変化すると、その変化に応じて反射光の走査角度変化パターンが変化する可能性がある。
【００１５】
対象物にパターン光を投影する三次元形状計測方法では、当然ながら、意図したパターンが正確に対象物上に投影されないと、計測精度が劣化してしまう。
【００１６】
本発明は、三次元形状計測のために対象物上に投影する光のパターンを振動ミラーにより形成する装置又は方法において、あらかじめ定められた光のパターンを投影できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係るパターン光投影装置は、三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影装置であって、光源駆動信号により駆動され、光ビームを発する光源と、前記光源に対して前記光源駆動信号を供給する光源駆動手段と、前記光源から発せられた前記光ビームを反射するとともに、入力されるミラー駆動信号に応じて振動することにより前記光ビームの反射光を走査するための振動ミラーと、を備え、前記光源駆動手段は、前記振動ミラーにより前記反射光が走査される走査範囲内の１以上の走査角度の各々に対応して設けられた１以上の受光手段と、前記１以上の受光手段が前記反射光を受光するタイミングの組合せに応じた変調パターン信号を出力する変調パターン信号出力手段であって、前記組合せに応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該組合せに対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力手段と、あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御手段と、を備えることを特徴とする。
【００１８】
１つの態様では、前記変調パターン信号出力手段は、前記１以上の受光手段が前記反射光を受光するタイミングの組合せから、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を示す走査角度変化パターンであって、当該組合せに対応する走査角度変化パターン、を求める走査角度変化パターン判定手段と、前記走査角度変化パターン判定手段が求めた走査角度変化パターンと、前記光のパターンを形成するための走査角度と光強度との関係を表す投影パターンと、を用いることにより、前記光源駆動信号の各位相に対応する光強度を表す変調パターン信号を生成する変調パターン信号生成手段と、を備えることを特徴とする。
【００１９】
この態様において、走査角度変化パターン判定手段は、例えば、タイミングの組合せごとの走査角度変化パターンを記憶しており、測定されたタイミングの組合せに対応する走査角度変化パターンを出力するものであってもよい。また、走査角度変化パターン判定手段は、タイミングの組合せに対応する走査角度変化パターンを、プログラム、又は回路、又はプログラムと回路との組合せ、により計算することにより、測定されたタイミングの組合せに対応する走査角度変化パターンを求めるものであってもよい。
【００２０】
更なる態様では、前記走査角度変化パターン判定手段は、特定の１つの受光手段が前記反射光を受光する異なるタイミング同士の時間間隔を測定し、測定した時間間隔に基づいて前記走査角度変化パターンを求めることを特徴とする。
【００２１】
更なる態様では、前記特定の１つの受光手段が前記反射光を受光するタイミングを基準として、前記ミラー駆動信号と前記光源駆動信号とを同期させる同期制御手段、を更に備え、前記特定の１つの受光手段を前記走査角度変化パターン判定手段と前記同期制御手段とで兼用したことを特徴とすることを特徴とする。
【００２２】
更なる態様では、前記走査角度変化パターン判定手段は、特定の２以上の受光手段がそれぞれ前記反射光を受光するタイミング同士の時間間隔を測定し、測定した時間間隔に基づいて、前記走査角度変化パターンを求めることを特徴とする。
【００２３】
更なる態様では、前記走査角度変化パターン判定手段は、前記反射光を前記走査範囲の一方端から他方端へ走査する順方向走査と、前記他方端から前記一方端へ走査する逆方向走査と、のそれぞれについて個別に走査角度変化パターンを求め、前記変調パターン信号生成手段は、前記振動ミラーによる前記反射光の走査が前記順方向走査の期間にある場合は前記順方向走査に対応する走査角度変化パターンを用い、前記振動ミラーによる前記反射光の走査が前記逆方向走査の期間にある場合は前記逆方向走査に対応する走査角度変化パターンを用いて、前記変調パターン信号を生成する、ことを特徴とする。
【００２４】
別の側面のパターン光投影装置は、三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影装置であって、光源駆動信号により駆動され、光ビームを発する光源と、前記光源に対して前記光源駆動信号を供給する光源駆動手段と、前記光源から発せられた前記光ビームを反射するとともに、入力されるミラー駆動信号に応じて振動することにより前記光ビームの反射光を走査するための振動ミラーと、を備え、前記光源駆動手段は、前記振動ミラーの設置環境の環境条件を検出するための１以上のセンサーと、前記センサーが検出した環境条件に応じた変調パターン信号を出力する変調パターン信号出力手段であって、前記環境条件に応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該環境条件に対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力手段と、あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御手段と、を備えることを特徴とする。
【００２５】
１つの態様では、前記環境条件は、前記振動ミラーの設置環境の温度、前記設置環境の重力の方向、前記設置環境の加速度、前記設置環境の振動、及び前記設置環境の電磁ノイズ、のうちの少なくとも１つであることを特徴とする。
【００２６】
別の態様では、前記光源駆動信号制御手段は、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に対応した値となるよう制御する、ことを特徴とする。
【００２７】
更に別の態様では、前記光源駆動信号は、前記光源の発光をオンオフ制御するための信号であり、前記光源は、前記光源駆動信号の値がオンを示すときに一定の強度で発光し、前記光源駆動信号制御手段は、前記光源駆動信号の位相ごとに、前記あらかじめ定められた回数の走査の中での当該位相のオンの合計回数が、前記変調パターン信号における当該位相に対応する光強度に対応した回数となるよう、前記光源駆動信号を制御する、ことを特徴とする。
【００２８】
更に別の態様では、前記光のパターンが投影された対象物を撮像する撮像装置が１フレームの画像を形成する期間内に、前記反射光を前記振動ミラーに複数回走査させることにより、各回の走査で形成された光のパターンを前記撮像装置が多重露光できるようにした、ことを特徴とする。
【００２９】
更に別の態様では、前記振動ミラーを収容するパッケージであって、当該パッケージの外壁のうちの前記振動ミラーの反射面側の外壁である正面壁が、前記光ビーム及びその反射光を透過する材質で形成されたパッケージと、前記光源と前記振動ミラーとの間の光路上に配設され、前記光源から発せられるスポット状ビームをスリット状ビームへと変換するシリンドリカルレンズと、を更に備え、前記シリンドリカルレンズが、前記パッケージの前記正面壁に対して密着して形成されていることにより、前記正面壁による前記光ビームの反射を防止又は低減する、ことを特徴とする。
【００３０】
更なる態様では、前記光源と前記振動ミラーとの間の光路上に配設され、前記光源から発せられるスポット状ビームをスリット状ビームへと変換するシリンドリカルレンズ、を更に備え、前記シリンドリカルレンズは、前記振動ミラーによる前記反射光の前記走査範囲を遮らないような形状に切断されている、ことを特徴とする。
【００３１】
別の側面では、三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影方法であって、光源駆動手段から光源に光源駆動信号を供給することにより、前記光源を駆動制御する光源駆動ステップと、前記光源駆動信号に応じて前記光源から発せられた光ビームを振動ミラーにより反射することにより、前記振動ミラーによる前記光ビームの反射光を走査する走査ステップと、を含み、前記光源駆動手段は、前記振動ミラーにより前記反射光が走査される走査範囲内の１以上の走査角度の各々に対応して設けられた１以上の受光手段を含み、前記光源駆動ステップは、前記１以上の受光手段が前記反射光を受光するタイミングの組合せに応じた変調パターン信号を出力する変調パターン信号出力サブステップであって、前記組合せに応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該組合せに対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力サブステップと、あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御サブステップと、を含むパターン光投影方法、を提供する。
【００３２】
更に別の側面では、三次元計測のために対象物上にあらかじめ定められた光のパターンを投影するパターン光投影方法であって、光源駆動手段から光源に光源駆動信号を供給することにより、前記光源を駆動制御する光源駆動ステップと、前記光源駆動信号に応じて前記光源から発せられた光ビームを振動ミラーにより反射することにより、前記振動ミラーによる前記光ビームの反射光を走査する走査ステップと、を含み、前記光源駆動手段は、前記振動ミラーの設置環境の環境条件を検出するための１以上のセンサーを備え、前記光源駆動ステップは、前記センサーが検出した環境条件に応じた変調パターン信号を出力する変調パターン信号出力サブステップであって、前記環境条件に応じた前記変調パターン信号は、前記光源駆動信号の各位相に対応する光強度を表す信号であると共に、当該環境条件に対応する、前記光源駆動信号の位相と前記反射光の走査角度との対応関係を反映したものであることを特徴とする変調パターン信号出力サブステップと、あらかじめ定められた回数の走査で前記光のパターンを形成するよう、前記光源に供給する前記光源駆動信号の各位相における信号値を、前記変調パターン信号における当該位相に対応する光強度に応じて制御する光源駆動信号制御サブステップと、を含むパターン光投影方法を提供する。
【発明の効果】
【００３３】
本発明によれば、振動ミラーにより光ビームを走査することで対象物上に光のパターンを投影する三次元形状計測装置において、環境条件等に依らず、あらかじめ定められた光のパターンを投影できることができる。
【図面の簡単な説明】
【００３４】
【図１】三次元形状計測システムの全体構成の例を示す図である。
【図２】投影される光のパターンの一例を模式的に示す図である。
【図３】パターン光投影ユニットの光源及び光学系の例を示す図である。
【図４】シリンドリカルレンズの両端を斜めに切断した状態を示す斜視図である。
【図５】スリット光の走査角度の時間的な変化のカーブが、環境条件等に応じて変化することを説明するための図である。
【図６】制御機構を含むパターン光投影ユニットの全体構成の一例を示す図である。
【図７】走査角度判定部の詳細構成の例を示す図である。
【図８】走査角度変化パターンのデータ構造の一例を示す図である。
【図９】走査角度変化パターンのデータ構造の別の一例を示す図である。
【図１０】投影パターンのデータ構造の一例を示す図である。
【図１１】走査角度判定部の詳細構成の別の例を示す図である。
【図１２】第１の変形例におけるパターン光投影ユニットの全体構成の一例を示す図である。
【図１３】第１の変形例における走査角度判定部の詳細構成の例を示す図である。
【図１４】第２の変形例におけるパターン光投影ユニットの全体構成の一例を示す図である。
【図１５】第２の変形例における走査角度判定部の詳細構成の例を示す図である。
【図１６】第２の変形例における変調パターンのデータ構造の一例を示す図である。
【図１７】第２の変形例における走査角度判定部の詳細構成の別の例を示す図である。
【図１８】三次元形状計測システムの内部構成の例を示す図である。
【図１９】パターン光投影ユニットの光学系についての変形例を示す図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照して、本発明の実施形態を説明する。
【００３６】
まず、図１を参照して、三次元形状計測システムの全体構成の例を説明する。図１に例示する三次元形状計測システムは、パターン光投影ユニット１と撮像・解析ユニット２とを備えている。パターン光投影ユニット１は、空間コード化法や位相シフト法などによる距離情報（三次元位置情報）の解析のために、あらかじめ定められた１以上の光のパターン（パターン光）を投影するための装置である。この実施形態では、パターン光投影ユニット１は、レーザーが発するビームからスリット光３を生成し、このスリット光を走査する。このスリット光３は、レーザーから発せられる断面がスポット状のビームを、シリンドリカルレンズなどにより図１の紙面に対して垂直な方向に対して引き延ばして生成される。このスリット光３は、パターン光投影ユニット１の出力窓（図示省略）から図中矢印で示す方向に向かって出力され、図１の紙面に対して垂直な面内で扇形に広がっていく。スリット光３は、図１中の矢印Ｓで示すように、スリット光３が成す扇形の面に垂直な方向に走査される。パターン光投影ユニット１は、この走査に同期してレーザーに供給する駆動信号が時間的に変調することで、走査範囲全体に渡る走査で、スリット光３の走査方向（すなわち、矢印Ｓで示される方向）に沿って、一次元的な光の濃淡パターンを形成する。すなわち、個々の瞬間では１本のスリット光３が照射されている（あるいは、レーザーが完全にオフされている場合は照射されていない）だけであるが、スリット光が走査範囲を１回以上走査される期間にわたって撮像・解析ユニット２にて対象物４を撮像することで、対象物４に対して光のパターンが投影されたのと同等の結果を得るのである。
【００３７】
図２にこのような光のパターンの一例を模式的に示す。図２の縦方向がスリット光３のスリット方向（長手方向）に該当する。図２の例は、レーザーが間欠的にオン（ＯＮ）・オフ（ＯＦＦ）されることで形成される縞状の明暗パターンを示している。使用されるパターンは、このような明暗がくっきりしたパターンに限られるものではなく、例えば光の強度がサインカーブなどのように曲線状に変化するパターンを用いてもよい。
【００３８】
再び図１に戻ると、撮像・解析ユニット２は、光のパターンが投影された対象物４からの反射光５を撮像する。１フレームの画像を撮像する期間内に、制御されたスリット光３が１回以上走査されるので、撮像により得られる画像には、光の明暗のパターンにより照らされた対象物４の像が含まれる。この明暗のパターンは、対象物４の起伏に従って折れ曲がったり湾曲したりする。撮像・解析ユニット２は、撮像により得られた撮像画像に対し、空間コード化法や位相シフト法などに従った公知の解析演算を施すことで、撮像・解析ユニット２から撮影画像に写る対象物の各点それぞれまでの距離又はそれら各点の三次元的な位置座標を計算する。
【００３９】
これら両ユニットは、１つの筐体に内蔵されて一体の装置として構成されていてもよいし、物理的に別々の装置として構成されていてもよい。前者の場合は、パターン光投影ユニット１と撮像・解析ユニット２との間の位置関係が固定されているので、その固定の位置関係を利用して三次元位置の計算を行えばよい。後者の場合は、設置したパターン光投影ユニット１と撮像・解析ユニット２との位置関係を校正（又は測定）しておき、その校正結果を撮像・解析ユニット２に登録しておけばよい。また、パターン光投影ユニット１と撮像・解析ユニット２とに分けたのはあくまで一例に過ぎない。例えば、撮像された画像を解析する解析ユニットを撮像ユニットとは別の装置として構成してもよい。
【００４０】
次に、図３を参照して、パターン光投影ユニット１の光源及び光学系の一例を説明する。この例では、光源であるレーザー１０から発せられるスポット状のレーザービーム３ａを、シリンドリカルレンズ１２により図３の紙面に垂直な方向に引き延ばすことで、紙面に垂直なスリット光３を形成する。この例では、スリット光３を反射しつつ、反射による反射光を走査するための振動ミラーとして、ＭＥＭＳ（Micro Electro Mechanical Systems）ミラー１４を用いる。シリンドリカルレンズ１２により形成されたスリット光３は、ＭＥＭＳパッケージ１６内のＭＥＭＳミラー１４により反射され、パターン光投影ユニット１の筐体２４の出力窓２６に向けられる。
【００４１】
この例では、図４の斜視図にも示すように、シリンドリカルレンズ１２の両端面近傍が切り落とされている。シリンドリカルレンズ１２の両端面のうち図３における上側の端部が切断されていることにより、このような切断をしていなければＭＥＭＳパッケージ１６と干渉してしまうような近さまで、シリンドリカルレンズ１２をＭＥＭＳパッケージ１６に近接させて配置することができる。また、シリンドリカルレンズ１２の両端面のうち図３における下側の端部が切断されていることによって、このような切断をしていなければＭＥＭＳミラー１４により走査されるスリット光の走査範囲と干渉してしまうような近さまで、シリンドリカルレンズ１２をＭＥＭＳパッケージ１６に近接させて配置しても、そのような干渉が生じないようにすることができる。
【００４２】
再び図３の説明に戻ると、ＭＥＭＳパッケージ１６は、機械要素部品としてのミラー（鏡）、そのミラーを振動させるためのアクチュエータ（図示省略）、及びそのアクチュエータを駆動するための電子回路（図示省略）などの要素を一つの基板上に集積化したデバイスである。それらミラー、アクチュエータ及び電子回路の組を、ＭＥＭＳミラー１４と呼ぶことにする。
【００４３】
ＭＥＭＳパッケージ１６の内部にはキャビティ（空洞）が形成され、そのキャビティ内にＭＥＭＳミラー１４が配設されている。このようにキャビティ内にＭＥＭＳミラー１４等が配設されることで、外部からの埃（ほこり）等がＭＥＭＳミラー１４の鏡面に付着するなどの不具合が防止される。ＭＥＭＳミラー１４の反射面は、アクチュエータから供給される駆動力により、例えば、図３の紙面に垂直な軸を中心として振動する。このＭＥＭＳミラー１４の振動により、ＭＥＭＳミラー１４で反射されるスリット光３が走査されることになる。ここで、アクチュエータからの駆動力の周波数をＭＥＭＳミラー１４の固有振動数に合わせることで、共振作用によりＭＥＭＳミラー１４が振動する角度範囲を大きくしている。すなわち、ＭＥＭＳミラー１４は共振ミラーとして構成されている。ＭＥＭＳパッケージ１６のキャビティを取り囲む壁面のうち、ＭＥＭＳミラー１４の反射面側の外壁（正面壁）１８は、ミラーに対する入射光やミラーによる反射光を通すために、ガラス等のように、その光に対して透明な材質で形成されている。
【００４４】
ＭＥＭＳミラー１４で反射されたスリット光３は、パターン光投影ユニット１の筐体２４の出力窓２６を通してそのユニット１の外部へと出る。したがって、ＭＥＭＳミラー１４の反射点と出力窓２６の走査方向について一方端及び他方端とをそれぞれ結ぶ線により囲まれる角度範囲が、スリット光３の実効的な走査範囲である。すなわち、ＭＥＭＳミラー１４は、実際には、その実効的な走査範囲よりも広い角度範囲に渡ってスリット光３を走査するが、そのうちの実効的な走査範囲に該当する部分のみが外界に投影される。ＭＥＭＳミラー１４の実際の走査範囲は、走査方向の両側に関して、図示した実効的な走査範囲よりも広くなっている。筐体２４内の、実効的な走査範囲の走査方向（図では左右）についての両端近傍のあらかじめ定められた位置（これらの位置は、実際の走査範囲内に含まれる）には、細径の光ファイバ２０Ａ及び２０Ｂの開放端２２Ａ及び２２Ｂが、それぞれＭＥＭＳミラー１４から反射されたスリット光を受光できる向きに向けて配設されている。これら光ファイバ２０Ａ及び２０Ｂの他方の端部は、それぞれ対応する光検出器（図６の光検出器３６Ａ及び３６Ｂ）に接続されており、スリット光の走査が各開放端２２Ａ及び２２Ｂの位置に達すると、それぞれ対応する光検出器３６Ａ及び３６Ｂによりその光が検出される。光検出器３６Ａ及び３６Ｂがそれぞれ光を検出したときに発する検出信号は、走査されるスリット光が実効的な走査範囲の左右それぞれの端を通過するタイミングを示している。スリット光がこれら走査範囲の両端を通過するタイミングは、例えば、制御の基準のタイミングとして利用される。パターン光投影ユニット１は、これら両端を通過するタイミングを基準として、スリット光の走査を制御する。
【００４５】
ここで、前述のように、走査期間中のＭＥＭＳミラー１４の反射方向（すなわち反射されたスリット光の走査角度）の時間的な変化パターン（すなわち走査角度変化パターン）は、前述した環境条件等の諸要因のうちの１以上に応じて異なってくる可能性がある。このことについて、要因の１つとしてＭＥＭＳミラー１４の温度を例にとって以下に説明する。
【００４６】
例えば、ＭＥＭＳミラー１４の物理的又は機械的な特性（例えば固有振動数）は、温度に応じて変化する。このような温度等の変化は、例えば、外界の気温の変化や、駆動されたＭＥＭＳミラー１４自身の発熱により引き起こされる。共振ミラーの場合、ミラーを駆動する駆動信号の周波数はあらかじめ定められた温度におけるミラーの固有振動数に合わせられているが、温度の変化によりミラーの固有振動数が変化すると、駆動信号の周波数とミラーの固有振動数にずれが生じてくる。このずれにより、ミラーの振動角は共振時よりも小さくなり、これに応じてスリット光の走査範囲も狭くなる。
【００４７】
このように温度に応じて走査範囲の幅が変化すると、スリット光の走査角度変化パターンも変化してしまう。このことについて、図５を参照して説明する。
【００４８】
図５の（ａ）、（ｂ）に示される周期的なカーブは、走査範囲の両端に配設された光ファイバ２０Ａ及び２０Ｂの開放端２２Ａ及び２２Ｂの位置（図５ではそれぞれＡ端及びＢ端と示す）同士を結ぶ直線を、スリット光が横切る位置（以下、この位置を「走査位置」という。走査位置はスリット光の走査角度と一対一に対応する）の時間的な変化を示す。横軸が時間を示し、縦軸がその直線上での走査位置（すなわち走査角度）を示す。図５では説明の便宜上、（ａ）及び（ｂ）のカーブをサインカーブで表現しているが、実際のカーブはサインカーブとは限らない。
【００４９】
（ａ）と（ｂ）とではＭＥＭＳミラー１４の温度が異なっており、その温度の相違によるＭＥＭＳミラー１４の振動角の相違により、（ｂ）のカーブの方が（ａ）のカーブよりも振幅が大きくなっている。しかし、ＭＥＭＳミラー１４を駆動する駆動信号の周波数は同じなので、（ｂ）のカーブと（ａ）のカーブの周期は同じである。ここで、スリット光の実効的な走査範囲は、図５のＡ端とＢ端の間の範囲である。スリット光は、１周期内の時刻ｔＡ１に実効的な走査範囲のＡ端側から外に出て、時刻ｔＡ２に再びＡ端を通過して実効的な走査範囲内に戻ってくる。その後、時刻ｔＢ１になると実効的な走査範囲のＢ端側から外に出て、時刻ｔＢ２には再びＢ端を通過して実効的な走査範囲内に戻ってくる。図に示すように、スリット光がＡ端からＢ端までの範囲（往路と呼ぶ）を通過する往路走査期間ＴＡＢは（ｔＢ１−ｔＡ２）であり、スリット光がＢ端からＡ端までの範囲（復路と呼ぶ）を通過する復路走査期間ＴＢＡは（（次の走査周期の）ｔＡ１−ｔＢ２）である。なお、ＭＥＭＳミラーの機械的特性によっては、同じ周期内では、ＴＡＢとＴＢＡとは、実用上等しいとみなして構わない場合もある。
【００５０】
スリット光が実効的な走査範囲から外に出るべくＡ端を通過するタイミングｔＡ１と、その次に戻ってくるスリット光が再び実効的な走査範囲内に入るべくＡ端を通過するタイミングｔＡ２との時間差（ｔＡ２−ｔＡ１）は、温度が異なる（ａ）と（ｂ）とで異なっている。隣り合うＢ端通過タイミング同士の時間差についても、同様のことが言える。また、スリット光がＡ端を通過したタイミングｔＡ２から次にＢ端を通過するタイミングまでの時間（ｔＢ１−ｔＡ２）も、（ａ）と（ｂ）では異なっている。これは、ＭＥＭＳミラー１４の振動の周期、すなわちスリット光の走査期間が一定という条件の下で、スリット光の走査範囲の幅が温度に応じて変化することで、スリット光がＡ端、Ｂ端を通過するタイミングの位相が温度に応じて変化するためである。したがって、例えばレーザー１０の発光強度を単純に同じ時間変化パターンに従って制御したのでは、（ａ）の場合と（ｂ）の場合とで、投影される光のパターンが異なってくる。例えば、（ａ）の場合に所望のパターンを形成できるような発光強度の変化パターンをそのまま（ｂ）に適用すると、（ｂ）の方が走査期間が短いので、（ａ）の場合ならば形成されていた光のパターンのうちの一部しか形成されないことになる。
【００５１】
また、スリット光が実効的な走査範囲のＡ端、Ｂ端を通過するタイミングｔＡ１等でのカーブの位相は、（ａ）と（ｂ）とでは異なっている。スリット光の走査位置の移動速度は、カーブの極値に近くなるほど遅く、隣り合う極値同士の中点に近くなるほど速い。このように、スリット光の走査位置の移動速度、及び移動速度の時間変化率は、位相に応じて変わってくる。このため、仮に、温度の変化に応じた走査期間の長さに合わせてスリット光の走査角度変化パターンを伸縮させたとしても、（ａ）と（ｂ）とでは走査範囲に対応する位相の範囲が異なっているので、（ａ）と（ｂ）とでは形成される光のパターンが異なってくる。
【００５２】
以上、スリット光の走査角度変化パターンが、ＭＥＭＳミラー１４（又はその環境）の温度に応じて変化することを説明した。温度だけでなく、その他の環境条件（重力その他の加速度、振動、電磁ノイズなど）、ＭＥＭＳミラー１４の製造誤差及び経年的な特性変化などといった要因や、それら諸要因の組合せによっても、スリット光の走査角度変化パターンは変化してしまう。
【００５３】
ところで、パターン光投影ユニット１から発するレーザービーム（スリット光）は、省エネルギーや安全性などの観点からは、強度が低い方が望ましい場合がある。しかし、強度の低いビームで形成した光のパターンはコントラストが低くなってしまう。そこで、同じ光のパターンを複数回多重露光することで、光パターンのコントラストを向上させることが考えられる。このような多重露光の精度を高めるためには、毎回の走査で形成される光のパターンが一定に近いことが望ましい。一つには、このような多重露光の精度向上のために、温度その他の要因によらず、同一（あるいはできるだけ近い）光のパターンを形成することが望まれる。
【００５４】
また、多重露光を行わない方式であっても、パターン光投影ユニット１を、温度等の環境条件の異なる様々な状況で使用する場合に、投影される光のパターンが環境条件に応じて変化したのでは、空間コード化法や位相シフト法等のアルゴリズムによる解析の精度が劣化する。同様に、ＭＥＭＳミラー１４の製造誤差や経年的な特性変化により、設計で想定していた機械的特性が得られない場合にも、同様に投影される光のパターンが設計で想定していたものとずれてくる場合がある。したがって、多重露光を行わない場合でも、環境条件や製造誤差、経年変化などによらず、同一（あるいはできるだけ近い）光のパターンを形成することが望まれる。
【００５５】
このように温度等の環境条件や製造誤差などの諸要因によらず同一（あるいはできるだけ近い）光のパターンを形成するために、本実施形態では、各時点でのスリット光の走査角度を検出又は推定し、各時点の走査角度に対応する発光強度に従ってレーザー１０を駆動する。
【００５６】
１つの方法では、走査範囲内の異なる各走査角度（すなわち走査位置）に対応してそれぞれ光センサーを設け、それら各走査角度に対応する走査位置をスリット光が通過するタイミングを検出し、検出したタイミングをもとに、各時点での走査角度を検出又は推定すればよい。図３に示す実効的な走査範囲内に該当する走査位置に光センサーを設ける場合は、例えば筐体２４内で出力窓２６の外側（すなわち、図３の紙面に対して手前又は奥の方向について、出力窓２６から外れた位置）に光センサーを設ければよい。光センサーがスリット光を検知したタイミングが、スリット光がその光センサーに対応する走査角度を通過したタイミングである。
【００５７】
例えば、スリット光の１周期の走査期間内での走査範囲内に設置した各光センサーの検知タイミングの組合せから、当該周期における走査角度の時間的な変化パターン（走査角度変化パターン）を推定し、次の周期はこの変化パターンに従うと仮定してその周期内の各時点の走査角度を求めればよい。また、このように１走査周期分の検知情報から次の走査周期の走査角度変化パターンを推定する代わりに、１走査周期内の一部の区間におけるスリット光の検知タイミングから走査角度変化パターンを推定し、これを当該周期の残りの区間に適用するようにしてもよい。
【００５８】
このように、この例では、走査範囲内のあらかじめ定めた１以上の走査角度をスリット光が通過するタイミングを実測し、２以上の通過タイミングの組合せから、走査角度変化パターンを推定した。このような通過タイミングの組合せは、ＭＥＭＳミラー１４の設置環境の環境条件（温度等）やＭＥＭＳミラー１４の個体差等の諸要因を反映したものである。したがって、この例は、そのような通過タイミングの組合せを求めることで、ＭＥＭＳミラー１４の設置環境の環境条件（温度等）やＭＥＭＳミラー１４の個体差等の諸要因の影響を間接的に求めているものと捉えてもよい。
【００５９】
走査角度変化パターンを推定について、更に詳しく説明する。ある走査角度に設けられた光センサーである時刻にスリット光を検知した場合、実測されたその走査角度と検知時刻との組は、時間軸に沿った走査角度の変化を表すグラフにおける１つの点となる。このような実測値が２点以上あれば、それら各点同士の間をＭＥＭＳミラー１４の振動特性に応じたカーブ（例えばサインカーブ）で補間したり、あるいはそれら各点に最も近い軌道を通るようにそのカーブをフィッティングしたりする等の方法で、走査角度変化パターンが推定できる。走査範囲内に設ける光センサーの数（すなわち、スリット光の通過を検知する走査角度の数）が多ければ多いほど、より精密に走査角度変化パターンを推定することができる。
【００６０】
ただし、このような補間やフィッティングは設計段階での話である。装置としての実装上は、例えば走査角度変化パターンを複数用意して、各光センサーの検知タイミングの組合せに対応する走査角度変化パターンを検索するよう構成すればよい。用意する個々の走査角度変化パターンは、例えば１走査周期内での時刻（この時刻は、レーザーを駆動するレーザー駆動信号の位相に対応する）ごとの走査角度を示すデータの組などである。このような走査角度変化パターンは、テーブルなどの形式で記憶しておいてもよい。また、この代わりに、各光センサーの検知タイミングの組合せから、これに対応する走査角度変化パターンを計算できるプログラム又はハードウエア回路を用いてもよい。
【００６１】
環境条件の変化、又は、製造誤差等のＭＥＭＳミラー１４の個体差等があっても、このようにスリット光が所定の走査角度を通過する時刻の実測値に基づき走査角度変化パターンを推定することで、当該ＭＥＭＳミラー１４自体の現在の使用状況での走査角度変化パターンを推定することができる。
【００６２】
具体的な構成としては、例えばもっとも単純な例では、光センサーを１つだけ用い、スリット光がその光センサーを通過した時点から次にその同じ光センサーを通過するまでの時間間隔から、走査角度変化パターンを推定してもよい（具体例は後述）。これは、スリット光の走査角度の時間的変化の軌道（すなわち走査角度変化パターン）上の２点からその走査角度変化パターンを推定する例である。また、同様に軌道上の２点から推定する別の方法として、走査範囲内の異なる２つの走査角度に対応する位置にそれぞれ光センサーを設け、一方の光センサーをスリット光が通過したタイミングから次に他方を通過するタイミングまでの時間間隔から、走査角度変化パターンを推定する方法も考えられる。もちろん、更に多くの走査位置に光センサーを設けることで、より精密に走査角度変化パターンを推定してもよい。
【００６３】
走査角度変化パターンの推定に用いる光センサーとして、図３の走査範囲のＡ端又はＢ端の位置に開放端２２Ａ又は２２Ｂを設置した光ファイバ２０Ａ又は２０Ｂ（及びそれらファイバの他方の端に設けられた光検出器）を兼用してもよい。光ファイバ２０Ａ及び２０Ｂでスリット光が走査範囲のＡ端及びＢ端に達したことを検知することは、元々その検知タイミングを基準タイミングとしてスリット光走査の周期を微調整したり、走査開始時等にスリット光の走査幅（走査角度の振れ幅）が実効的な走査範囲をカバーするのに十分な幅になったかどうかを確認したりするために行っている。したがって、上述のようにスリット光がＡ端及び／又はＢ端を通過するタイミング同士の時間間隔を走査角度変化パターン選択のための指標として用いる方式は、走査周期の微調整等のために設けた光ファイバ（及び光検出器）を走査角度変化パターンの選択にも兼用しているため、走査角度変化パターンの選択のための専用のセンサー（温度センサー又は光検出器）を設ける場合よりも装置構成が簡素化できる。このように、走査角度変化パターンの特定のために走査範囲内の特定の位置に配置するものは、光ファイバの先端部であってもよい。すなわち、走査角度変化パターンの推定に用いる光センサーは、対応する走査角度を通過するスリット光を取得して光検出器に導けるものであれば、どのような構造のものであってもよい。
【００６４】
以上に説明した方法は、スリット光の走査角度の時間変化の軌道上の、走査角度が既知（同一の走査角度であってもよい）の特定の複数の点の時刻から、ＭＥＭＳ１４の機械的特性に従って走査角度変化パターンを推定するものである。この方法は、別の角度から見れば、それら各点同士の時間間隔から走査角度変化パターンを推定する方法とみることもできる。
【００６５】
このようにして走査角度変化パターンが推定されれば、そのパターンから走査周期内の各時点（位相）でのスリット光の走査角度を求めることができる。一方、投影する光のパターンは、走査角度ごとのスリット光の強度により規定することができる。この走査角度とスリット光の強度との対応関係のことを、投影パターンと呼ぶことにする。投影パターンは、投影すべき光のパターンに対応したものであり、環境条件やＭＥＭＳミラー１４の個体差などに依存しない固定的なものである。推定した走査角度変化パターンから各時点の走査角度を求め、求めた走査角度に対応するスリット光強度を投影パターンから求めることで、所望の投影パターンを実現するための各時点でのレーザー１０の発光強度を求めることができる。
【００６６】
以上、本実施形態における光投影パターンの制御の方式の一例を説明した。次に、この方式を採用したパターン光投影ユニット１の一例を、図６に示す。図６において、図３に示した構成要素と同一又は類似の構成要素には、同一符号を付して詳細な説明を省略する。図６の例は、Ａ端の光ファイバ２０Ａ（光検出器３６Ａ）がスリット光を検知するタイミング同士の間隔に応じて操作を制御する場合の例である。すなわち、この例では、スリット光が同一の走査角度を通過する時刻同士の間隔から走査角度変化パターンを推定し、推定したパターンを用いてスリット光の変調を制御する。
【００６７】
図６の例では、レーザー１０は、レーザー駆動回路３２から供給されるレーザー駆動信号により駆動される。このレーザー駆動信号の信号レベルは、所望の光のパターンを対応する投影パターンに応じて時間的に変化する。レーザー光はシリンドリカルレンズ１２でスリット光に変換され、ＭＥＭＳミラー１４に入射する。ＭＥＭＳミラー１４は、ミラー駆動回路３０から供給される、あらかじめ定められた周波数のミラー駆動信号に応じて駆動される。ミラー駆動信号の周波数は、定格の温度におけるＭＥＭＳミラー１４の固有振動数に応じたものでよい。このＭＥＭＳミラー１４の振動により、スリット光が走査される。走査されるスリット光が走査範囲のＡ端に達すると、光ファイバ２０Ａの開放端２２Ａにその光が入射し、光検出器３６Ａがそれを検出する。走査されるスリット光が走査範囲のＢ端に達すると、光ファイバ２０Ｂの開放端２２Ｂにその光が入射し、光検出器３６Ｂがそれを検出する。光検出器３６Ａ及び３６Ｂの出力する検出信号は、同期制御回路３４及び時間間隔計測部３８に入力される。
【００６８】
同期制御回路３４は、光検出器３６Ａ及び３６Ｂから供給される各検出信号からスリット光がＡ端及び／又はＢ端を通過するタイミングを求め、そのタイミングを走査の基準タイミングとしてミラー駆動回路３０及びレーザー駆動回路３２に供給する。ここでは、例えば、スリット光が走査範囲内に入るべくＡ端及び／又はＢ端を通過するタイミングを、基準タイミングとしてもよい。ミラー駆動回路３０及びレーザー駆動回路３２は、供給される基準タイミングを基準として、ＭＥＭＳミラー１４及びレーザー１０にそれぞれ供給する駆動信号のタイミングを同期させる。これにより、レーザー１０の発光の時間的な変化とＭＥＭＳミラー１４によるビーム走査とが同期する。
【００６９】
時間間隔計測部３８は、光検出器３６Ａが検出した信号の隣接するピーク（このピークは光検出器３６Ａがスリット光を検出したタイミングを表す）同士の時間間隔を計測する。光検出器３６Ａが検出した信号の隣接するピーク同士の時間間隔には、図５から分かるように、（ｔＡ２−ｔＡ１）と（次の周期のｔＡ１−ｔＡ２）との２種類があるが、ここでは一例として前者を計測するものとする。前者の時間間隔の方が後者の時間間隔より短いので、時間間隔計測部３８は、両者を識別して、（ｔＡ２−ｔＡ１）を求めることできる。この例では、この時間間隔を、走査角度変化パターンの特定のための指標として用いる
【００７０】
走査角度判定部４０は、各時刻におけるスリット光の走査角度を判定する。この例では、走査角度判定部４０は、時間間隔計測部３８が計測した時間間隔に基づきスリット光の走査角度変化パターンを特定し、そのパターンに従って各時刻（位相）でのスリット光の走査角度を求める。この例の走査角度判定部４０の内部構成の例を図７に示す。
【００７１】
図７の例では、走査角度判定部４０は、走査角度変化パターン記憶部４０２と、走査角度変化パターン選択部４０４と、走査角度出力部４０６を備える。走査角度変化パターン記憶部４０２は、スリット光がＡ端を通過するタイミング同士の時間間隔（ｔＡ２−ｔＡ１）（図５参照）の範囲ごとに、その時間間隔に対応する走査角度変化パターンを記憶している。すなわち、この例では、異なる複数の走査角度変化パターンを、それぞれ、当該走査角度変化パターンにおいてスリット光がＡ端を通過してから次に同じＡ端を通過するまでの時間間隔によりインデックス付けしている。なお、図７における「間隔範囲Ａ」、「間隔範囲Ｂ」等は、時間間隔（ｔＡ２−ｔＡ１）の長さの範囲のことである。
【００７２】
なお、以上の例では、スリット光が走査範囲から外に出るべくＡ端を通過するタイミングｔＡ１と、その次に戻ってきたスリット光が再び走査範囲内に戻るべくＡ端を通過するタイミングｔＡ２との時間差（ｔＡ２−ｔＡ１）を用いて走査角度変化パターンをインデックス付けしたが、これは一例に過ぎない。この代わりに、同じＡ端の通過タイミングを用いる場合でも、スリット光が走査範囲内に入るべくＡ端を通過するタイミングｔＡ２と、その次に戻ってくるスリット光が再び走査範囲外に出るべくＡ端を通過するタイミングｔＡ１との時間差（ｔＡ１−ｔＡ２）によりインデックス付けを行ってもよい。また、同様に、スリット光がＢ端を通過するタイミング同士の間隔、Ａ端を通過するタイミングからＢ端を通過するタイミングまでの時間間隔など、他の時間間隔をインデックスとして用いてもよい。なお、以下では、説明を簡略化するために、スリット光がＡ端を通過するタイミング同士の時間間隔（ｔＡ２−ｔＡ１）を走査角度変化パターン選択のための指標として用いる場合を代表例にとって説明する。
【００７３】
図８に、走査角度変化パターン記憶部４０２に記憶される個々の走査角度変化パターン（図中では「パターンＡ」などと示す）のデータ構造の一例を示す。この例では、走査角度変化パターンのデータは、１走査周期内に微小時間間隔ごとに設定された時点ごとに、その時点に対応するスリット光（ＭＥＭＳミラー１４の反射光）の走査角度の情報を含んでいる。走査周期内の各時点は、レーザー駆動回路３２が出力するレーザー駆動信号の異なる各位相にそれぞれ対応している。図８には、１つの走査角度変化パターン「パターンＡ」のみを例示しているが、走査角度変化パターン記憶部４０２には、このようなパターンのデータが複数記憶されている。
【００７４】
ここで、重力その他の加速度の影響や、ＭＥＭＳミラー１４自体の機械的に特性によっては、ＭＥＭＳミラー１４が対称に振動しない場合がある。このような場合、スリット光の走査角度変化パターンは、ＭＥＭＳミラー１４の往復振動の往路と復路で対称にならない。ミラーの振動が非対称である場合、往路と復路で対称な走査角度変化パターンに従ってレーザーを駆動すれば、往路と復路で異なった光パターンが形成されてしまう。ミラー振動の往路及び復路の両方をスリット光走査に利用する場合、往路と復路で光パターンが相違すると好ましくない。そこで、ＭＥＭＳミラー１４が対称に振動しない場合において、ミラー振動の往路及び復路の両方をスリット光走査に利用する場合には、走査の往路と復路のパターン形状が非対称な走査角度変化パターンを用いる。この場合、例えば、走査角度変化パターン記憶部４０２に、図９に示すように、往路用と復路用の走査角度変化パターンをそれぞれ個別に記憶するようにしてもよい。この場合、各時間間隔に対応する往路用と復路用の走査角度変化パターンは、ＭＥＭＳミラー１４の機械的特性や設置方向などを考慮して、実験やシミュレーションにより作成しておけばよい。
【００７５】
再び図７の説明に戻ると、走査角度変化パターン選択部４０４は、時間間隔計測部３８から、計測された時間間隔（ｔＡ２−ｔＡ１）を受け取り、この時間間隔に対応する走査角度変化パターンを走査角度変化パターン記憶部４０２から選択する。例えば、走査角度変化パターン選択部４０４は、受け取った時間間隔が属する間隔範囲を特定し、その間隔範囲に対応する走査角度変化パターンを走査角度変化パターン記憶部４０２から選択する。選択された走査角度変化パターンは、走査角度出力部４０６に供給される。
【００７６】
走査角度出力部４０６には、図示しない位相信号生成回路から、レーザー駆動信号の位相（１走査周期内での時刻）を表す位相信号が入力される。位相信号生成回路は、例えば、同期制御回路３４から供給される基準タイミングを起点としてシステムクロックをカウントし、そのカウント値を位相信号として出力するものでよい。走査角度出力部４０６は、供給された位相信号が示す位相に対応する走査角度を、走査角度変化パターン選択部４０４から供給された走査角度変化パターンから特定し、特定した走査角度を変調パターン信号生成部４２に出力する。
【００７７】
投影パターン発生部４４は、投影パターンを発生して出力する。投影パターンは、図１０に示すように、例えば、ＭＥＭＳミラー１４により反射されたスリット光の走査角度ごとに、その走査角度に対応するレーザー発光強度レベルを示すパターンデータである。投影パターン発生部４４は、例えば、このような投影パターンを記憶していてもよい。または、パターン発生部４４は、このような投影パターンを生成するためのプログラム又は電子回路を有していてもよい。三次元計測のために異なる複数の投影パターンを用いる場合には、投影パターン発生部４４は、各投影パターンに対応する投影パターンをそれぞれ出力する。
【００７８】
変調パターン信号生成部４２は、投影パターン発生部４４が出力する投影パターンを用いることにより、走査角度判定部４０（の走査角度出力部４０６）から供給された走査角度に対応するレーザー発光強度レベルを求め、求めたレベル値を示す変調パターン信号をレーザー駆動回路３２に出力する。すなわち、変調パターン信号生成部４２が出力する変調パターン信号は、レーザー駆動信号の各位相に対応する発光強度レベルを示したものとなる。この各位相と発光強度レベルとの関係は、環境条件やＭＥＭＳミラー１４の個体差等の諸要因の違いに応じた走査角度変化パターンの違いを反映している。
【００７９】
レーザー駆動回路３２は、その変調パターン信号に従って時間的に変化するレーザー駆動信号を、レーザー１０に対して供給する。レーザー１０は、その駆動信号に従ってレーザー発光を行う。例えば、レーザー駆動回路３２は、変調パターン信号が示す発光強度レベルに対応するレベルの信号を駆動信号としてレーザー１０に提供し、レーザー１０はその駆動信号のレベルに応じた発光強度で発光するような構成を採用してもよい。また、１つの投影光パターンを複数回の走査で形成する場合には、次のような例も考えられる。すなわち、この例では、レーザー１０の発光強度は常に一定として走査角度ごとに発光をオンオフ制御することで、前記複数回の走査の中での発光回数を走査角度ごとに変え、これにより投影パターンにおける各走査角度に対応する発光強度レベルを実現する。
【００８０】
この例では、例えば、スリット光走査の１周期ごとに時間間隔（ｔＡ２−ｔＡ１）（図５参照）を計測し、その時間間隔に対応する走査角度変化パターンを用いて、時刻ｔＡ２からの１周期分のレーザー発光の制御を行えばよい。また、時間間隔（ｔＡ２−ｔＡ１）の計測をｎ（ｎは２以上の整数）周期ごとに実行し、計測した時間間隔に対応する走査角度変化パターンを用いて、計測後のｎ周期にわたってレーザー１０の制御を行うようにしてもよい。また、直近の所定数の周期における時間間隔（ｔＡ２−ｔＡ１）の計測値の平均に対応する走査角度変化パターンを求めるようにしてもよい。
【００８１】
また、以上の例では、実測した時間間隔（ｔＡ２−ｔＡ１）から１周期分の走査角度変化パターンを求めたが、これは一例に過ぎない。別の例として、走査１周期内でＡ端を通過する時間間隔（ｔＡ２−ｔＡ１）及びＢ端を通過する時間間隔（ｔＢ２−ｔＢ１）をそれぞれ計測し、前者の計測結果から当該周期における往路の走査角度変化パターンを、後者の計測結果から当該周期における復路の走査角度変化パターンを、それぞれ選択してもよい。
【００８２】
図６〜図８の例では、スリット光が同一走査角度を通過する２回の時点同士の時間間隔を実測し、その時間間隔から走査角度変化パターンを選択した。しかし、これは一例に過ぎない。この代わりに、上述した通り、スリット光が異なる２つの走査角度（例えば走査範囲のＡ端とＢ端）を通過する時点（位相）同士の間隔を実測し、その実測結果に応じて走査角度変化パターンを選択してもよい。
【００８３】
また、そのような走査角度の時間変化の軌道における２点の時間間隔は、それら２点の時刻（この時刻はレーザー駆動信号の位相に対応する）の組合せと等価である。したがって、２点の時間間隔をインデックスとして用いる代わりに、それら２点の位相の組合せをインデックスとして用いてももちろんよい。
【００８４】
また、走査角度の時間変化の１周期内の３点以上のタイミング（位相）を用いれば、上述のような２点のタイミング（位相）を用いる場合よりも、走査角度変化パターンをより精密に推定することができる。これには、例えば、ＭＥＭＳミラー１４の機械的な振動特性に応じた様々な走査角度変化パターンを、１走査周期内の３点以上の各点のスリット光通過タイミングの組合せ（又はその中の隣接する２点同士の時間間隔の組合せなど）に対応づけて走査角度変化パターン記憶部４０２に記憶しておけばよい。そして、走査範囲内に設置した２以上の光センサーによりそれら１走査周期内の３点以上の各点のタイミングを実測し、それら各点のタイミングの組合せ（又はその中の隣接する２点同士の時間間隔の組合せなど）に対応する走査角度変化パターンを走査角度変化パターン記憶部４０２から検索すればよい。
【００８５】
また、図７の例では、走査角度判定部４０は、時間間隔計測部３８が計測した時間間隔に対応する走査角度変化パターンを、あらかじめ走査角度変化パターン記憶部４０２に記憶した走査角度変化パターンの中から選択した。しかし、このような構成は一例に過ぎない。この代わりに、走査角度変化パターンを、例えば、時間間隔計測部３８が計測した時間間隔の関数などとして計算してもよい。この例を図１１に示す。この例では、走査角度変化パターン計算部４０８が、走査角度変化パターンを計算するためのプログラム又は電子回路を備えており、時間間隔計測部３８から時間間隔が入力されると、その時間間隔に対応する走査角度変化パターンを計算する。計算された走査角度変化パターンは、走査角度出力部４０６に供給される。なお、走査周期内の３点以上のタイミングの組合せから、その組合せに対応する走査角度変化パターンを求める場合も、図１１の例のように、それら３点以上の各点のタイミングを実測値の組合せからその組合せに対応する走査角度変化パターンを計算できる走査角度変化パターン計算部４０８を用いてもよい。
【００８６】
以上の例では、ミラー駆動回路３０がＭＥＭＳミラー１４に供給する駆動信号の周波数が一定である場合の例を説明した。この例では、ＭＥＭＳミラー１４の固有振動数等の物理特性が温度等の環境条件やＭＥＭＳミラー１４の個体差に応じて変化した場合、当該ミラーの振動の周波数が変化しない代わりに、その振動の振幅（ひいてはスリット光の走査範囲の幅）が変化した（図５参照）。
【００８７】
これに対する別の例として、温度が変化してもＭＥＭＳミラー１４の振動の振幅を一定に保つように、ミラー駆動回路３０がＭＥＭＳミラー１４に供給する駆動信号の周波数を温度に応じて変化させる方式も考えられる。図５の例との比較で考えると、この方式では、スリット光の走査角度変化パターンの振幅は変化しないが、そのパターンの周期が温度等の環境条件やＭＥＭＳミラー１４の個体差に応じて変化することになる。この場合も、上述の場合と同様、走査されるスリット光の検知タイミングの時間間隔に応じて走査角度変化パターンを選択することができる。
【００８８】
次に、図１２及び図１３を参照して、第１の変形例を説明する。図６〜図１１を用いて説明した例では、スリット光が走査範囲内の１以上の所定の走査角度を通過するタイミングの組合せから走査角度変化パターンを推定したのに対し、この変形例では、ＭＥＭＳミラー１４（又はその設置環境）の温度を温度センサーで測定し、測定した温度に応じて走査角度変化パターンを推定する。
【００８９】
図１２は、この変形例のパターン光投影ユニット１の構成の例を示す。図１２において、図６に示した構成要素と同一又は類似の構成要素には、同一符号を付して詳細な説明を省略する。図１２に示すように、この変形例のパターン光投影ユニット１は、ＭＥＭＳミラー１４又はその設置環境の温度を測定する温度センサー４６を備える。そして、走査角度判定部４０Ａは、温度センサー４６で測定された温度に応じて、各位相に対応する走査角度を判定する。この変形例では、光検出器３６Ａ及び３６Ｂは、基準タイミングの検出のみに用いる。
【００９０】
図１３に、第１の変形例における走査角度判定部４０Ａの構成の一例を示す。この例では、走査角度判定部４０Ａは、走査角度変化パターン記憶部４０２Ａと、走査角度変化パターン選択部４０４Ａと、走査角度出力部４０６とを含む。走査角度変化パターン記憶部４０２Ａは、ＭＥＭＳミラー１４（又はその設置環境）の温度の範囲ごとに、その温度に対応する走査角度変化パターンを記憶している。各々の温度範囲にどのような走査角度変化パターンが対応するかは、実験やシミュレーションにより求めておけばよい。走査角度変化パターン選択部４０４Ａは、温度センサー４６から入力される温度に対応する走査角度変化パターンを走査角度変化パターン記憶部４０２Ａから選択する。走査角度出力部４０６は、走査角度変化パターン選択部４０４Ａが選択した走査角度変化パターンを参照して、レーザー駆動信号の位相ごとに、その位相に対応する走査角度を出力する。
【００９１】
なお、図１３の例のように温度に対応する走査角度変化パターンを走査角度変化パターン記憶部４０２Ａから選択する代わりに、図１１の例と同様、入力された温度に対応する走査角度変化パターンを計算する走査角度変化パターン計算部を用いてもよい。
【００９２】
図１２及び図１３の変形例では、ＭＥＭＳミラー１４（又はその環境）の温度に基づいて走査角度変化パターンを求めたが、温度以外の環境条件、例えばＭＥＭＳミラー１４に対する重力の向き、ＭＥＭＳミラー１４の設置環境の振動の大きさや向き、電磁ノイズなどに応じて走査角度変化パターンを求めてもよい。
【００９３】
また、それら環境条件のうちの２以上の組合せに応じて走査角度変化パターンを求めてもよい。例えば、ＭＥＭＳミラー１４に対する重力の向きと温度との組合せごとに、対応する走査角度変化パターンを実験やシミュレーションで求めて走査角度変化パターン記憶部４０２に登録しておき、ＭＥＭＳミラー１４に対する重力の向きと温度とをセンサーで実測し、その重力の向きと温度との組合せに対応する走査角度変化パターンを走査角度変化パターン記憶部４０２から検索するようにしてもよい。重力の向きは、例えば３軸の加速度センサーなどを用いて測定すればよい。
【００９４】
次に、図１４〜図１９を参照して第２の変形例について説明する。以上に説明した実施形態及び変形例では、走査角度変化パターンが環境条件等の条件に応じて変化することに鑑み、実測データに応じて推定した走査角度変化パターンと固定的な投影パターンとを組み合わせることにより、レーザー駆動信号の各位相に対応するレーザー発光強度を求めた。走査角度変化パターンは、駆動信号の位相に対応するスリット光走査角度を表す情報であり、投影パターンは走査角度に対応するレーザー発光強度を表す情報であった。これに対して、この第２の変形例では、条件に応じて変化する走査角度変化パターンと固定的な投影パターンとを一つにまとめた変調パターンを用いる。この変調パターンは、駆動信号の位相に対応するレーザー発光強度を表す情報である。この第２の変形例の変調パターンは、環境条件等の条件に応じて変化する。
【００９５】
図１４に、第２の変形例のパターン光投影ユニット１の構成の例を示す。図１４において、図６に示した構成要素と同一又は類似の構成要素には、同一符号を付して詳細な説明を省略する。図１４の例は、図６の例の走査角度判定部４０、変調パターン信号生成部４２及び変調パターン発生部４４の代わりに、変調パターン信号生成部４２Ａを有する。この変調パターン信号生成部４２Ａが、時間間隔計測部３８が測定した走査周期内の２点間の時間間隔に基づき、レーザー駆動信号の各位相に対応するレーザー発光強度レベルを求め、求めたレベル値を示す変調パターン信号をレーザー駆動回路３２に出力する。
【００９６】
図１５に、変調パターン信号生成部４２Ａの構成の一例を示す。この例では、変調パターン信号生成部４２Ａは、変調パターン信号生成部４２Ａは、変調パターン記憶部４２２と、変調パターン選択部４２４と、変調パターン信号出力部４２６とを備えている。
【００９７】
変調パターン記憶部４２２は、走査周期内の所定の２点間の時間間隔の範囲ごとに、その範囲に対応する変調パターンを記憶している。変調パターン記憶部４２２に記憶されている個々の変調パターンは、図１６に示すように、走査周期内の時点（すなわちレーザー駆動信号の位相）ごとに、その時点に対応するレーザー発光強度を表す情報である。この変調パターンは、図８に例示した時間間隔の範囲ごとの走査角度変化パターンと、図１０に例示した固定的な投影パターンとを、走査角度を媒介として１つにまとめることで作成することができる。すなわち、例えば、環境条件等によって様々に異なる複数の走査角度変化パターンを実験やシミュレーションで求めておき、これら複数の走査角度変化パターンのそれぞれを、走査角度とレーザー発光強度との関係を示す固定的な投影パターンとまとめることで、図１６に例示したような第２の変形例の変調パターンを作成することができる。作成された各変調パターンは、上述の実施形態や第１の変形例と同様、スリット光が所定の１以上の走査角度を通過するタイミング同士の時間間隔や、環境条件等（例えば温度等）と対応づけることができる。図１５の例では、スリット光が走査範囲のＡ端を通過するタイミングの時間間隔の範囲ごとに、その範囲に対応する変調パターンを変調パターン記憶部４２２に登録している。
【００９８】
変調パターン選択部４２４は、時間間隔計測部３８から入力された時間間隔に対応する変調パターンを変調パターン記憶部４２２から読み出し、変調パターン信号出力部４２６に供給する。変調パターン信号出力部４２６には、この変調パターンの他に、図示しない位相信号生成回路からレーザー駆動信号の位相を示す位相信号が供給される。変調パターン信号出力部４２６は、供給される位相信号が示す位相に対応するレーザー発光強度レベルを、変調パターン選択部４２４から供給された変調パターンから特定し、特定したレーザー発光強度レベルを示す変調パターン信号をレーザー駆動回路３２に出力する。
【００９９】
なお、第２の変形例における変調パターン信号生成部４２Ａは、図１５に例示するようなものに限るものではなく、例えば図１７に例示するようなものであってもよい。図１７の例では、変調パターン計算部４２８が、入力される時間間隔に対応する変調パターンを計算するためのプログラム又は電子回路を備えている。時間間隔計測部３８から時間間隔が入力されると、変調パターン計算部４２８がその時間間隔に対応する変調パターンを計算し、変調パターン信号出力部４２６に供給する。
【０１００】
以上、パターン光投影ユニット１の例を説明した。次に、図１８を参照して、パターン光投影ユニット１を含む三次元形状計測システムの構成例を説明する。
【０１０１】
図１８の三次元形状計測システムは、パターン光投影ユニット１と撮像・解析ユニット２とを備える。
【０１０２】
パターン光投影ユニット１は、レーザー１０、投影光学系１０２及び投影制御回路１０４を備える。投影光学系１０２は、例えば図６におけるシリンドリカルレンズ１２及びＭＥＭＳパッケージ１６に該当する。例えば図６のパターン光投影装置との対比で説明するならば、投影制御回路１０４は、図６におけるミラー駆動回路３０，レーザー駆動回路３２，同期制御回路３４，光ファイバ２０Ａ及び２０Ｂ，光検出器３６Ａ及び３６Ｂ，時間間隔計測部３８，走査角度判定部４０，変調パターン信号生成部４２，及び投影パターン発生部４４を含む。
【０１０３】
撮像・解析ユニット２は、撮像光学系２０２，撮像素子２０４，露光制御回路２０６，システム制御部２０８，三次元位置演算回路２１０及び記憶装置２１２を備える。撮像光学系２０２は、外界から入射する光を撮像素子２０４に結像するためのレンズ等の光学系である。撮像素子２０４は、例えば、ＣＣＤ（電荷結合素子）又はＣＭＯＳ(Complementary Metal Oxide Semiconductor Image Sensor）などの構造を採用した二次元画像センサーである。露光制御回路２０６は、例えば３０フレーム毎秒又は６０フレーム毎秒などといったフレームレートに応じ、１フレームごとに撮像素子２０４に露光するための制御を行う。この１フレームの露光時間の間に、パターン光投影ユニット１ではスリット光を複数回走査する。例えばフレームレートが６０フレーム毎秒で、共振周波数が２ｋＨｚのＭＥＭＳミラー１４を用いる場合には、１フレームの間に約３３回の往復走査分の光パターンの像が撮像素子２０４に多重露光されることになる。システム制御部２０８は、投影制御回路１０４及び露光制御回路２０６に共通のシステムクロックを供給するなどの方法で、それら両者の同期をとる。
【０１０４】
三次元位置演算回路２１０は、撮像素子２０４が撮像した１フレームの画像に対し、空間コード化法又は位相シフト法などにおける公知の解析アルゴリズムを適用することで、その画像内の各点の三次元位置を計算する。撮像された画像、及びこの画像から計算された各点の三次元位置の情報からなる距離画像は、互いに対応づけて、フラッシュメモリなどの記憶装置２１２に記憶される。
【０１０５】
次に、図１９を参照して、パターン光投影ユニット１の光学系に関する変形例を説明する。
【０１０６】
図３，図６等に例示した光学系では、シリンドリカルレンズ１２とＭＥＭＳパッケージ１６の透明材質の正面壁１８とが離れている。このため、シリンドリカルレンズ１２から出たスリット光は、空気層を通ってその正面壁１８に達し、更にその正面壁１８を通ってＭＥＭＳミラー１４に到達する。ここで、スリット光の一部は正面壁１８の外表面で反射され、出力窓２６を通って外部に出てしまう。ＭＥＭＳミラー１４の反射光は走査されるのに対し、正面壁１８の反射光は常に一定の方向に向かうので、正面壁１８の反射光の像が高輝度になってしまい、光のパターンを用いた解析にとって大きなノイズとなってしまう。なお、正面壁１８は、例えばＭＥＭＳパッケージ１６内に埃（ほこり）が入るのをぼうしするなどの目的のために設けられており、仮にこれを取り除くと、ＭＥＭＳミラー１４や電子回路に埃が付着して不具合を招く可能性がある。
【０１０７】
この変形例では、このような問題を解決するために、図１９に例示するように、シリンドリカルレンズ１２ａをＭＥＭＳパッケージ１６の正面壁１８に密着させることで、正面壁１８の外表面をなくし、そのような不要反射が起こらないようにした。シリンドリカルレンズ１２ａは、円筒状のレンズを斜めに切断して形成したものであり、図中に矢印Ａで示す紙面内の方向に沿って見た端面の形状が円形、又は円形のうち弦の一方側を切り落とした形状となっている。また、図３等に例示したシリンドリカルレンズ１２と同じ形状のものを正面壁１８に密着させてもよい。
【０１０８】
好適には、シリンドリカルレンズ１２ａは正面壁１８と同じ屈折率の材質（最も簡単にはまったく同じ材質）のものとする。
【０１０９】
また、シリンドリカルレンズ１２ａと正面壁１８とは接着してもよい。この場合、接着剤としては、シリンドリカルレンズ１２ａ及び正面壁１８と屈折率の差が小さいものを用いる。また、ＭＥＭＳの製造プロセスにおいて、正面壁１８とシリンドリカルレンズ１２ａとを同じ材質で一体形成してもよい。
【符号の説明】
【０１１０】
１０  レーザー、１２  シリンドリカルレンズ、１４  ＭＥＭＳミラー、１６  ＭＥＭＳパッケージ、１８  正面壁、２０Ａ，２０Ｂ  光ファイバ、３０  ミラー駆動回路、３２  レーザー駆動回路３２、３４  同期制御回路、３６Ａ，３６Ｂ  光検出器、３８  時間間隔計測部、４０  走査角度判定部、４２  変調パターン信号生成部、４４  投影パターン発生部。
【図１】
2012202803.tif 000003
【図２】
2012202803.tif 000004
【図３】
2012202803.tif 000005
【図４】
2012202803.tif 000006
【図５】
2012202803.tif 000007
【図６】
2012202803.tif 000008
【図７】
2012202803.tif 000009
【図８】
2012202803.tif 000010
【図９】
2012202803.tif 000011
【図１０】
2012202803.tif 000012
【図１１】
2012202803.tif 000013
【図１２】
2012202803.tif 000014
【図１３】
2012202803.tif 000015
【図１４】
2012202803.tif 000016
【図１５】
2012202803.tif 000017
【図１６】
2012202803.tif 000018
【図１７】
2012202803.tif 000019
【図１８】
2012202803.tif 000020
【図１９】
2012202803.tif 000021