(57)【特許請求の範囲】
【請求項１】
読取対象物が載置される載置面及び前記載置面に対する動力源を備え、前記載置面が、前記動力源からの動力に基づき前記載置面に平行な面上で二次元移動及び回転するように構成されたテーブルと、
前記テーブルに載置された前記読取対象物の側面に光を照射する照射ユニットと、
前記照射ユニットからの照射光が前記読取対象物を反射して生成される反射光を受光する受光ユニットと、
制御ユニットと、
を備え、
前記制御ユニットは、
前記読取対象物を前記載置面に平行な境界面を有する複数区画に分割する分割処理と、
前記区画毎に、前記読取対象物の前記区画の形状を読み取るためのスキャン処理であって、前記動力源を制御して前記載置面を移動及び回転させ、更には前記照射ユニットに前記光を照射させて前記反射光の受光データを前記受光ユニットから取得し、前記取得した前記受光データに基づき前記読取対象物の前記区画の形状を表す形状データを生成するスキャン処理を実行する読取制御処理と、
前記区画毎の前記形状データを結合して、前記読取対象物の形状を表す形状データを生成する結合処理と、
ユーザから指定された読取解像度に関する情報を取得する取得処理と、
を実行するように構成され、
前記分割処理は、前記取得処理により取得された前記読取解像度に関する情報に基づき、前記読取対象物を前記ユーザから指定された前記読取解像度に対応するサイズの区画に分割する処理であること
を特徴とする立体物読取システム。
【請求項２】
読取対象物が載置される載置面及び前記載置面に対する動力源を備え、前記載置面が、前記動力源からの動力に基づき前記載置面に平行な面上で二次元移動及び回転するように構成されたテーブルと、
前記テーブルに載置された前記読取対象物の側面に光を照射する照射ユニットと、
前記照射ユニットからの照射光が前記読取対象物を反射して生成される反射光を受光する受光ユニットと、
制御ユニットと、
を備え、
前記制御ユニットは、
前記読取対象物を前記載置面に平行な境界面を有する複数区画に分割する分割処理と、
前記区画毎に、前記読取対象物の前記区画の形状を読み取るためのスキャン処理であって、前記動力源を制御して前記載置面を移動及び回転させ、更には前記照射ユニットに前記光を照射させて前記反射光の受光データを前記受光ユニットから取得し、前記取得した前記受光データに基づき前記読取対象物の前記区画の形状を表す形状データを生成するスキャン処理を実行する読取制御処理と、
前記区画毎の前記形状データを結合して、前記読取対象物の形状を表す形状データを生成する結合処理と、
を実行するように構成され、
前記区画毎の前記スキャン処理は、
前記読取対象物の対応する前記区画内の側面に、前記載置面に垂直な方向に沿って所定基準以上の段差があるか否かを判定する判定処理と、
前記所定基準以上の段差があると判定された場合には、対応する前記区画を、前記段差が存在する地点において前記載置面に平行な境界面を有する複数の小区画に分割する再分割処理と、
前記所定基準以上の段差があると判定された場合には、前記小区画毎に、前記読取対象物の前記小区画の形状を読み取るための小区画スキャン処理であって、前記動力源を制御して前記載置面を移動及び回転させ、更には前記照射ユニットに前記光を照射させて前記反射光の受光データを前記受光ユニットから取得し、前記取得した前記受光データに基づき前記読取対象物の前記小区画の形状を表す形状データを生成する小区画スキャン処理を実行する分割読取制御処理と、
を含むこと
を特徴とする立体物読取システム。
【請求項３】
前記制御ユニットは、ユーザから指定された読取解像度に関する情報を取得する取得処理を実行するように構成され、
前記分割処理は、前記取得処理により取得された前記読取解像度に関する情報に基づき、前記読取対象物を前記ユーザから指定された前記読取解像度に対応するサイズの区画に分割する処理であること
を特徴とする請求項２記載の立体物読取システム。
【請求項４】
前記区画毎の前記スキャン処理は、前記載置面を移動及び回転させることにより、前記読取対象物の側面に対する前記照射ユニットからの光の入射角であって前記載置面に平行な面上での入射角を一定角度に調整しながら、前記読取対象物において前記光が照射される地点であるスキャンポイントを前記側面の周方向に移動させて、前記読取対象物の前記区画の形状を表す形状データを生成する処理であること
特徴する請求項１〜請求項３のいずれか一項記載の立体物読取システム。
【請求項５】
前記スキャン処理は、前記入射角を前記一定角度としての４５度に調整する処理を含むこと
を特徴とする請求項４記載の立体物読取システム。
【請求項６】
前記照射ユニット及び前記受光ユニットは、前記載置面に平行な面上で前記照射ユニットからの光の照射軸と前記受光ユニットによる受光軸とが直交するように配置され、
前記スキャン処理は、前記入射角を一定角度に調整しながら前記載置面を前記受光軸に沿う方向に移動させるように、前記載置面を移動及び回転させることにより、前記スキャンポイントを前記側面の周方向に移動させて、前記読取対象物の前記区画の形状を表す形状データを生成する処理であること
を特徴とする請求項４又は請求項５記載の立体物読取システム。
【請求項７】
前記スキャン処理は、前記スキャンポイントからの前記反射光が前記受光ユニットの視界から消失した場合には、前記反射光が前記視界に出現する前記載置面の位置を、前記載置面の移動及び回転の少なくとも一方により探索し、前記探索により検出された前記反射光が前記視界に出現する前記載置面の位置を基準に、前記入射角を一定角度に調整しながら前記載置面を移動させて、前記形状データを生成する処理であること
を特徴とする請求項６記載の立体物読取システム。
【請求項８】
前記スキャン処理は、前記スキャンポイントからの前記反射光が前記受光ユニットの視界から消失した場合には、前記載置面を前記照射軸に沿って移動させることにより、前記反射光が前記視界に出現する前記載置面の位置を探索する処理を含むこと
を特徴とする請求項７記載の立体物読取システム。
【請求項９】
前記スキャン処理は、前記スキャンポイントからの前記反射光が前記受光ユニットの視界から消失した場合には、前記載置面を前記受光軸に沿う方向に移動させることにより、前記反射光が前記視界に出現する前記載置面の位置を探索し、所定量の前記移動によっても前記反射光が前記視界に出現しない場合には、前記載置面を回転させることにより、前記反射光が前記視界に出現する前記載置面の位置を探索する処理を含むこと
を特徴とする請求項７又は請求項８記載の立体物読取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、立体物の形状を読み取る読取システムに関する。
【背景技術】
【０００２】
従来、読取対象物に光を照射し、その反射光を受光することにより、読取対象物の三次元形状を読み取り、読取対象物の形状データを生成する読取システムが知られている（例えば、特許文献１参照）。読取対象物を載置するための台を備え、台とは別に固定配置された発光部及び受光部に対する読取対象物の向きを、台の回転により変化させて、読取対象物の形状を読み取るシステムも知られている。また、水平方向に二次元移動可能な台を備えるシステムもまた知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３２３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
台の回転及び移動によって読取対象物の向き及び位置を変化させながら読取対象物を読み取るシステムでは、読取対象物の形状に依らず一律に台を動かして読取対象物を読み取ると、読取対象物の形状に起因して解像度が変化する。均一な解像度を得るためには、読取対象物の側面に沿って、スキャンポイントが一様に移動するように、台が回転及び移動するのが好ましい。スキャンポイントは、読取対象物の側面において照射光が当たる地点に対応し、側面形状の読取地点に対応する。
【０００５】
本開示の一側面では、読取対象物の形状に対応して、適切に台を回転及び移動させて、均一な解像度で良好に読取対象物を読取可能であることが望ましい。
【課題を解決するための手段】
【０００６】
本開示の一側面に係る立体物読取システムは、テーブルと、照射ユニットと、受光ユニットと、制御ユニットとを備える。テーブルは、読取対象物が載置される載置面及び載置面に対する動力源を備える。テーブルは、動力源からの動力に基づき載置面に平行な面上で載置面が二次元移動及び回転するように構成される。
【０００７】
照射ユニットは、テーブルに載置された読取対象物の側面に光を照射するように構成される。受光ユニットは、照射ユニットからの照射光が読取対象物を反射して生成される反射光を受光するように構成される。
【０００８】
制御ユニットは、分割処理と、読取制御処理と、結合処理とを実行する。分割処理は、読取対象物を載置面に平行な境界面を有する複数区画に分割する処理である。読取制御処理は、この区画毎に、読取対象物の当該区画の形状を読み取るためのスキャン処理を実行する手順を含む。スキャン処理は、動力源を制御して載置面を移動及び回転させ、更には照射ユニットに光を照射させて反射光の受光データを受光ユニットから取得し、取得した受光データに基づき読取対象物の区画の形状を表す形状データを生成する手順を含む。結合処理は、区画毎の形状データを結合して、読取対象物の形状を表す形状データを生成する処理である。
【０００９】
この立体物読取システムによれば、読取対象物を載置面に対する高さの異なる区画毎に読取可能である。即ち、高さの異なる区画毎に、その高さにおける読取対象物の形状に合わせて適切に載置面を動かし、読取対象物を読取可能である。従って、本開示の一側面によれば、読取対象物の高さ方向の形状変化の影響を抑えて、均一な解像度で良好に読取対象物を読取可能である。
【００１０】
本開示の一側面において、制御ユニットは、ユーザから指定された読取解像度に関する情報を取得する取得処理を実行するように構成されてもよい。分割処理は、この取得処理により取得された読取解像度に関する情報に基づき、読取対象物をユーザから指定された読取解像度に対応するサイズの区画に分割する処理であってもよい。
【００１１】
本開示の一側面において、区画毎のスキャン処理は、該当区画に関する判定処理と、再分割処理と、分割読取制御処理と、を含む。判定処理は、読取対象物の該当区画内の側面に、載置面に垂直な方向に沿って所定基準以上の段差があるか否かを判定する処理である。再分割処理は、所定基準以上の段差があると判定された場合には、該当区画を複数の小区画に再分割する処理である。上記再分割処理では、例えば、該当区画を、載置面に平行な境界面を有する複数の小区画に分割することができる。
【００１２】
分割読取制御処理は、所定基準以上の段差があると判定された場合には、上記小区画毎に、読取対象物の小区画の形状を読み取るための小区画スキャン処理を実行する処理である。小区画スキャン処理は、動力源を制御して載置面を移動及び回転させ、更には照射ユニットに光を照射させて反射光の受光データを受光ユニットから取得し、取得した受光データに基づき読取対象物の小区画の形状を表す形状データを生成する処理である。
【００１３】
この立体物読取システムによれば、区画内に大きな段差がある場合に、その区画を更に複数区画に分けて読取対象物を読み取ることができる。従って、高さ方向に歪な形状を有する読取対象物であっても、その読取対象物の形状に合わせて適切に載置面を動かし、均一な解像度で良好に読取対象物を読み取ることができる。
【００１４】
本開示の一側面において、区画毎のスキャン処理は、載置面を移動及び回転させることにより、読取対象物の側面に対する照射ユニットからの光の入射角であって載置面に平行な面上での入射角を一定角度に調整しながら、読取対象物において光が照射される地点であるスキャンポイントを側面の周方向に移動させて、読取対象物の該当区画の形状を表す形状データを生成する処理として構成され得る。
【００１５】
入射角を一定角度に調整することは、照射ユニットに対する側面の向きを一定に調整することに対応する。このように向きを揃えながら、読取対象物の側面を読み取ることによっては、読取対象物が有する複数の面を、互いに同様の条件で読み取ることができ、各面を、均一な解像度で読み取ることができる。
【００１６】
特に、入射角を４５度に調整することによっては、読取対象物の側面に沿ってスキャンポイントを移動させるとき、スキャンポイントが、載置面に平行な二方向（ＸＹ方向）に同量動くことになる。従って、読取対象物の側面を、載置面に平行な二方向（ＸＹ方向）において均一な解像度で読み取ることができる。
【００１７】
本開示の一側面において、照射ユニット及び受光ユニットは、載置面に平行な面上で照射ユニットからの光の照射軸と受光ユニットによる受光軸とが直交するように配置されてもよい。この場合、スキャン処理は、入射角を一定角度に調整しながら載置面を受光軸に沿う方向に移動させるように、載置面を移動及び回転させることにより、スキャンポイントを側面の周方向に移動させて、読取対象物の該当区画の形状を表す形状データを生成する処理であってもよい。
【００１８】
更に、スキャン処理は、スキャンポイントからの反射光が受光ユニットの視界から消失した場合には、反射光が視界に出現する載置面の位置を、載置面の移動及び回転の少なくとも一方により探索し、探索により検出された反射光が視界に出現する載置面の位置を基準に、入射角を一定角度に調整しながら載置面を移動させて、形状データを生成する処理であってもよい。
【００１９】
スキャン処理は、スキャンポイントからの反射光が受光ユニットの視界から消失した場合には、載置面を照射軸に沿って移動させることにより、反射光が視界に出現する載置面の位置を探索する処理を含むものであってもよい。
【００２０】
スキャン処理は、スキャンポイントからの反射光が受光ユニットの視界から消失した場合には、載置面を受光軸に沿う方向に移動させることにより、反射光が視界に出現する載置面の位置を探索し、所定量の移動によっても反射光が視界に出現しない場合には、載置面を回転させることにより、反射光が視界に出現する載置面の位置を探索する処理を含むものであってもよい。
【００２１】
こうしたスキャン処理によれば、読取対象物の形状に対応して、適切に載置面を回転及び移動させて、良好に読取対象物を読み取ることが可能である。
【図面の簡単な説明】
【００２２】
【図１】テーブルの構成、並びに、テーブルに対する照射装置及びカメラの配置を表す読取システムの上面図である。
【図２】図２Ａは、テーブルに載置された読取対象物の読取に関する説明図であり、図２Ｂは、読取対象物に対する光の照射態様を表す読取システムの側面図である。
【図３】読取システムの電気的構成を表すブロック図である。
【図４】制御装置が実行するメイン処理を表すフローチャートである。
【図５】図５Ａは、読取対象物の区画を例示する図であり、図５Ｂは、段差判定処理で半径を算出する領域を表す図であり、図５Ｃは、再区画化に関する説明図である。
【図６】制御装置が実行する段差判定処理を表すフローチャートである。
【図７】制御装置が実行する特殊処理を表すフローチャートである。
【図８】図８Ａ−８Ｄは、第一の読取態様を時系列で説明した図である。
【図９】図９Ａ−９Ｄは、第二の読取態様を時系列で説明した図である。
【図１０】図１０Ａ−１０Ｅは、第三の読取態様を時系列で説明した図である。
【図１１】図１１Ａ−１１Ｄは、第四の読取態様を時系列で説明した図であり、図１１Ｅは、第五の読取態様を説明した図である。
【発明を実施するための形態】
【００２３】
以下に本開示の例示的実施形態を、図面と共に説明する。
本実施例の読取システム１は、図１及び図２Ａに示すように、載置板１１に載置された読取対象物１００の三次元形状を、照射装置２０からレーザ光を照射し、この照射光Ｌ０に対する反射光Ｌ１をカメラ３０で撮影することにより読み取るシステムである。
【００２４】
図面では、読取対象物１００に対し、数字「１００」に形状に応じたサフィックスを追加した符号を割り当てている。図２Ａ及び図２Ｂに示される読取対象物１００Ａ、図５Ａに示される読取対象物１００Ｂ、図８Ａ−８Ｄに示される読取対象物１００Ｃ、図９Ａ−９Ｄに示される読取対象物１００Ｄ、図１０Ａ−１０Ｅに示される読取対象物１００Ｅ、図１１Ａ−１１Ｄに示される読取対象物１００Ｆ、及び、図１１Ｅに示される読取対象物１００Ｇは、ここで記述される読取対象物１００の例示である。
【００２５】
図１では、読取対象物１００を図示せず、テーブル１０が有する載置板１１の下方の構成を破線により透過して表す。図２Ａには、載置板１１に読取対象物１００Ａが載置された状態における照射光Ｌ０及び反射光Ｌ１の軌跡例を示す。読取対象物１００の三次元形状は、カメラ３０が生成する撮影画像データに基づき、照射光Ｌ０の反射点の撮影画像における位置を特定することにより読み取られる。テーブル１０、照射装置２０及びカメラ３０は、図２Ｂに示す支持体５上に固定配置される。
【００２６】
テーブル１０は、図１に示すように円盤状の載置板１１を備え、載置板１１の下方に回転駆動装置１３を備える。載置板１１は、回転駆動装置１３からの動力を受けて、載置板１１の表面に垂直な回転軸Ｃ（図２Ｂ参照）を中心に回転する。回転駆動装置１３は、制御装置４０（図３参照）によって制御される。回転軸Ｃは、載置板１１の中心Ｏを通る。載置板１１の表面は、読取対象物１００の載置面として機能する。
【００２７】
回転駆動装置１３は、主に電動モータで構成される。この回転駆動装置１３は、ＸＹ駆動装置１５が有する搬送プレート１５７上に固定配置される。載置板１１は、この搬送プレート１５７上で回転する。
【００２８】
ＸＹ駆動装置１５は、搬送プレート１５７と共に、Ｙ方向駆動装置１５１及びＸ方向駆動装置１５５を備える。ＸＹ駆動装置１５は、載置板１１と支持体５との間に配置される。ＸＹ駆動装置１５は、制御装置４０に制御されて、搬送プレート１５７を載置板１１の表面に平行なＸＹ平面上で、ＸＹ方向に搬送するように構成される。搬送プレート１５７のＸＹ方向への移動により、載置板１１はＸＹ方向に移動する。図１、図２Ａ、及び図２Ｂには、Ｘ，Ｙ及びＺ方向が図示される。Ｚ方向は、高さ方向であり、図１及び図２Ａの紙面法線方向に対応する。
【００２９】
Ｙ方向駆動装置１５１は、Ｘ方向駆動装置１５５をＸＹ平面のＹ方向に沿って正逆搬送可能に構成される。Ｘ方向駆動装置１５５は、搬送プレート１５７を、Ｘ方向に沿って正逆搬送可能に構成される。Ｙ方向駆動装置１５１及びＸ方向駆動装置１５５は、例えばリニアモータを含んだ構成にされる。
【００３０】
照射装置２０は、載置板１１上に載置される読取対象物１００の側面にレーザ光を照射するように構成される。レーザ光は、例えば、赤色光である。照射光Ｌ０は、高さ方向（Ｚ方向）に広がりを持った光として、照射装置２０から−Ｘ方向に照射される。図２Ｂにおいて読取対象物１００Ａの側面に描かれる太線は、照射装置２０からの照射光Ｌ０が側面の高さ方向全体に照射されることを示す。
【００３１】
カメラ３０は、受光軸がレーザ光の照射軸に直交するような位置関係で、テーブル１０及び照射装置２０に対して位置決め配置される。本実施例の読取システム１は、読取対象物１００の側面に対するレーザ光の入射角であって載置面に平行なＸＹ平面上での入射角を、図２Ａに示すように４５度に調整しながら、読取対象物１００の側面を読み取る。カメラ３０は、４５度に調整される側面からの反射光Ｌ１を受光可能に配置される。
【００３２】
このカメラ３０は、レンズを含む光学部品と、受光部である縦及び横に所定画素数を有する画像センサとを備える。受光により画像センサで生成される撮影画像データは、制御装置４０に入力される。カメラ３０は、受光軸を中心とする所定の画角を有する。撮影画像データには、この画角に対応するカメラ視野に写る画像が含まれる。
【００３３】
上述したテーブル１０、照射装置２０及びカメラ３０を備える読取システム１は、図３に示すように、図１、図２Ａ、及び図２Ｂでは省略された制御装置４０、ディスプレイ６０、及び、入力装置７０を更に備える。
【００３４】
制御装置４０は、周知のコンピュータと同様のハードウェア構成を有する。具体的には、制御装置４０は、ＣＰＵ４１と、主記憶装置４３と、補助記憶装置４５とを備える。主記憶装置４３は、ＲＡＭを含む。制御装置４０は、補助記憶装置４５として、ハードディスク装置又はフラッシュメモリを備える。補助記憶装置４５は、各種プログラム及びデータを記憶する。
【００３５】
ＣＰＵ４１は、補助記憶装置４５が記憶するプログラムに従う処理を実行する。例えば、ＣＰＵ４１は、テーブル１０及び照射装置２０を制御することにより、読取対象物１００の向き及び位置を変えながら読取対象物１００の側面形状を読み取り、読取対象物１００の形状データを生成する処理を実行する。以下では、説明を簡単にするために、ＣＰＵ４１が実行する処理を、制御装置４０が実行する処理として説明する。制御装置４０が回転駆動装置１３及びＸＹ駆動装置１５を制御することによって実現される載置板１１の回転及び移動制御を、テーブル１０の制御とも表現する。
【００３６】
上記処理により生成された形状データは、補助記憶装置４５に記憶される。補助記憶装置４５に記憶された形状データは、例えば外部装置に提供される。制御装置４０は、外部装置とのデータ通信機能を有した構成にされ得る。外部装置は、例えば、３Ｄプリンタである。
【００３７】
ディスプレイ６０は、制御装置４０に制御されて、ユーザに伝達すべき情報を表示する。ディスプレイ６０は、例えば液晶ディスプレイにより構成される。入力装置７０は、ユーザからの操作信号を制御装置４０に入力するように構成される。周知の入力装置としては、キーボード、ポインティングデバイス及びタッチパネル等が知られている。入力装置７０は、周知の入力装置の一つ又は複数により構成され得る。
【００３８】
続いて、入力装置７０を通じてユーザから読取指令が入力されると、制御装置４０が実行するメイン処理の詳細を、図４を用いて説明する。メイン処理を開始すると、制御装置４０は、入力装置７０を通じて読取指令と共にユーザから入力される指定読取解像度の情報を取得する（Ｓ１００）。指定読取解像度は、ユーザが指定する読取解像度を表す。その後、制御装置４０は、初期読取処理を実行する（Ｓ１１０）。
【００３９】
メイン処理の開始時には、読取対象物１００の形状や向き等が全く不明である。そこで、制御装置４０は、初期読取処理として、読取対象物１００の向きや位置の調整を伴わない読取処理を行う。即ち、制御装置４０は、照射装置２０を制御して、照射装置２０にレーザ光を照射させ、カメラ３０を制御して、反射光Ｌ１の受光に基づく撮影画像データをカメラ３０から取得する。
【００４０】
Ｓ１１０において、制御装置４０は、この撮影画像データに基づき、読取対象物１００の高さＨを特定する。更に、読取対象物１００におけるレーザ光が照射された側面（スキャンポイントＰｓ）の位置座標を特定する。
【００４１】
位置座標は、例えば、載置板１１が移動可能な領域に対して静的に定められたＸＹＺ座標系で表される載置板１１の中心位置座標（Ｘｃ，Ｙｃ，０）と、載置板１１の中心Ｏを原点とする載置板１１上の直交座標系又は円筒座標系との組み合わせよって表され得る。本実施例で言うスキャンポイントは、読取対象物１００の側面において照射光Ｌ０が当たる地点に対応し、側面の形状（位置座標）の読取地点に対応する。ここでは、スキャンポイントを、読取対象物１００の側面を基準にした照射光Ｌ０の照射位置を表す用語として用いる。
【００４２】
Ｓ１１０での初期読取処理実行後、制御装置４０は、Ｓ１２０に移行し、読取対象物１００を、高さ方向に垂直な面で分割する。即ち、図５Ａに示すように、読取対象物１００を載置面に平行な境界面を有する複数区画（第１区画から第Ｇ区画）に分割する。Ｓ１２０において、制御装置４０は、Ｓ１００で取得した指定読取解像度の情報に基づき、各区画の高さがユーザから指定された読取解像度に応じた高さとなるように、読取対象物１００を複数区画に分割する。
【００４３】
例えば、制御装置４０は、ユーザから高解像度での読取指令が入力された場合には、ユーザから標準解像度又は低解像度での読取指令が入力された場合よりも、区画の高さが小さくなるように、読取対象物１００を分割することができる。
【００４４】
読取システム１の補助記憶装置４５には、ユーザが指定可能な読取解像度のレベル毎に、設定すべき区画の高さを表す設定データを記憶させておくことができる。この場合、分割により定義される読取対象物１００の区画数Ｇは、読取対象物１００の高さＨに応じて変化する。Ｓ１２０においては、読取対象物１００を複数区画に分割し、その区画数Ｇを記憶保持する。
【００４５】
その後、制御装置４０は、変数ｇを値ゼロに初期化して（Ｓ１３０）、Ｓ１４０以降の処理を実行する。Ｓ１４０において、制御装置４０は、変数ｇを１加算した値に更新して、読取対象物１００の第ｇ区画を読取対象区画に設定する。区画番号は、図５Ａに示すように読取対象物１００の最下部の区画を第１区画として、ここから上方に向けて順に各区画に割り当てられてもよいし、逆の順序で各区画に割り当てられてもよい。
【００４６】
続くＳ１５０において、制御装置４０は、読取対象物１００の読取対象区画の側面に対する接線Ｌｔ（図２Ａ参照）であって、次のスキャンポイントにおける接線Ｌｔを推定する。基本的に、次のスキャンポイントは、読取対象物１００の側面に沿って、現在のスキャンポイントＰｓから、Ｙ方向に予め設定されたΔＹだけ移動した地点に対応する。
【００４７】
接線Ｌｔは、読取対象区画の側面を、ＸＹ平面上で評価して推定することができる。具体的には、既に行った読取処理で得られた上記次のスキャンポイント直近のニ地点における読取対象区画の側面の位置座標に基づき、これらニ地点を結ぶ直線を接線Ｌｔと推定することができる。
【００４８】
既に得られている上記次のスキャンポイント周辺地点の位置座標が一つ以下である場合には、既に位置座標が得られている地点とは別の地点の位置座標を計測するために、載置板１１を微小回転させるようにテーブル１０を制御し、レーザ光の照射及び受光により微小回転後の地点の位置座標を計測することにより、上記ニ地点の位置座標を収集することができる。
【００４９】
接線Ｌｔの推定が完了すると、制御装置４０は、この接線ＬｔがＸ方向とＹ方向との間の４５度の位置に配置されるように、テーブル１０を制御して載置板１１を回転させる（Ｓ１６０）。但し、接線Ｌｔが既に４５度の位置に配置されている場合には、Ｓ１６０での回転は不要である。
【００５０】
Ｓ１６０に続くＳ１７０において、制御装置４０は、スキャンポイントＰｓがＳ１６０での回転によって、その回転前から側面に対し相対移動したことを加味して、スキャンポイントＰｓが回転前からＹ方向にΔＹだけ相対移動するように、載置板１１をＸＹ方向に移動させる。この際、載置板１１を回転させないことにより、接線Ｌｔの角度を４５度に保持した状態で、読取対象物１００を、回転前の位置からΔＹだけ平行移動させる。
【００５１】
スキャンポイントＰｓの回転前の位置が（Ｘ１，Ｙ１）＝（Ｘｃ０＋ｒ・ｃｏｓθ，Ｙｃ０＋ｒ・ｓｉｎθ）であったと仮定すると、Ｓ１６０による回転後の位置（Ｘ２，Ｙ２）は、（Ｘ２，Ｙ２）＝（Ｘｃ０＋ｒ・ｃｏｓ（θ＋δ），Ｙｃ０＋ｒ・ｓｉｎ（θ＋δ））である。δは、Ｓ１６０での載置板１１の回転量に対応する。座標（Ｘｃ０，Ｙｃ０）は、Ｓ１６０における載置板１１回転前後における載置板１１の中心Ｏの位置座標（Ｘｃ，Ｙｃ）に対応する。
【００５２】
Ｓ１７０では、この載置板１１の中心Ｏが位置（Ｘｃ０，Ｙｃ０）から位置（Ｘｃ０＋（Ｘ１−Ｘ２），Ｙｃ０＋（Ｙ１−Ｙ２）＋ΔＹ）に移動するように、テーブル１０を制御する。
【００５３】
制御装置４０は、このようにしてＳ１６０，Ｓ１７０で載置板１１を回転及び移動させることにより、読取対象物１００の側面において、スキャンポイントＰｓを、そこからＹ方向にΔＹ離れた次のスキャンポイントに移動させる。
【００５４】
Ｓ１７０での処理実行後、制御装置４０は、読取対象区画内の反射点に関し特殊状況が発生したか否かを判断する（Ｓ１８０）。読取対象物１００の形状によっては、Ｓ１６０，Ｓ１７０での回転及び移動によって、目的のスキャンポイントまでのレーザ光の照射経路に、読取対象物１００の他の部分が配置されることにより、レーザ光の反射点が突然、＋Ｘ方向に不連続に飛ぶ可能性がある（図８Ｃ参照）。別のケースでは、レーザ光の反射点がカメラ３０から見えなくなる可能性がある（図９Ｃ及び図１０Ｂ参照）。更に別のケースでは、レーザ光の反射点が発生しない位置に読取対象物１００が配置される可能性がある（図１１Ｃ参照）。
【００５５】
このように、反射点がカメラ視野から突然消失したり、不連続に＋Ｘ方向に飛んだりするような特殊状況が発生した場合には、目的のスキャンポイントにおける側面の位置座標を正常に特定し記憶することができない。そのため、制御装置４０は、上記特殊状況の発生を判断する。
【００５６】
制御装置４０は、特殊状況が発生していないと判断した場合（Ｓ１８０でＮｏ）、Ｓ２００に移行し、特殊状況が発生したと判断した場合には（Ｓ１８０Ｙｅｓ）、Ｓ１９０に移行する。付言すると、制御装置４０は、Ｓ１６０及びＳ１７０の処理を実行しながら、上記特殊状況が発生したか否かを逐次判断することができる（Ｓ１８０）。例えば、制御装置４０は、Ｓ１７０及びＳ１８０の実行期間中、照射装置２０にレーザ光を照射させ、カメラ３０からの撮影画像データに基づき、反射点を観測することにより、特殊状況の発生を判断することができる。この場合、制御装置４０は、特殊状況が発生した場合に実行中の処理（Ｓ１７０又はＳ１８０）を中断して、Ｓ１９０に移行することができる。
【００５７】
Ｓ１９０において、制御装置４０は、図７に示す特殊処理を実行する。この特殊処理において、制御装置４０は、接線Ｌｔを４５度に調整することを条件から外して、載置板１１の回転及び移動制御を行う。これにより、読取対象物１００（読取対象区画）の照射装置２０に対する向き及び位置を調整する。特殊処理の詳細については、後述する。特殊処理の実行後、制御装置４０は、Ｓ２００に移行する。
【００５８】
Ｓ２００において、制御装置４０は、読取処理を実行し、Ｓ１６０−Ｓ１９０の処理により移動した新たなスキャンポイントにおける側面の位置座標を特定する。具体的に、制御装置４０は、照射装置２０を制御して、照射装置２０にレーザ光を照射させ、その反射光Ｌ１の受光に基づく撮影画像データをカメラ３０から取得する。そして、この撮影画像データに基づき、上記新たなスキャンポイントにおける読取対象物１００の側面の位置座標を特定し、この位置座標を主記憶装置４３に一時記憶する。
【００５９】
Ｓ２００では、高さ方向に広がりを持つスキャンポイントの内、読取対象区画に該当する地点の位置座標が特定されれば十分である。但し、制御装置４０は、読取対象区画外の地点の位置座標も特定し、これを参考データとして主記憶装置４３に一時記憶してもよい。
【００６０】
Ｓ２００での処理を終えると、制御装置４０は、読取対象区画が１周分以上回転し、読取対象区画の側面の位置座標特定が一通り完了したか否かを判断する（Ｓ２１０）。読取対象区画における位置座標の特定が完了していないと判断した場合（Ｓ２１０でＮｏ）、制御装置４０は、Ｓ１５０に移行する。
【００６１】
Ｓ１５０において、制御装置４０は、次のスキャンポイントにおける接線Ｌｔを推定する。制御装置４０は、この接線Ｌｔを、直前の読取処理（Ｓ２００）で特定した側面の位置座標、それより一つ前の読取処理で特定した側面の位置座標に基づき、これら二つの位置座標に対応する二地点を通る直線に推定することができる。
【００６２】
その後、制御装置４０は、この接線Ｌｔを４５度に調整する載置板１１の回転制御を実行し（Ｓ１６０）、読取対象物１００の側面が新たなスキャンポイントに対応する位置まで移動するように、載置板１１を平行移動させる制御を行う（Ｓ１７０）。更に、Ｓ１８０の判断処理を経て、場合によりＳ１９０の特殊処理を経て、読取処理を実行し（Ｓ２００）、新たなスキャンポイントにおける側面の位置座標を特定する。
【００６３】
制御装置４０は、このようにして読取対象区画の側面の位置座標特定が一通り完了するまで、載置板１１の回転及び移動により側面を原則４５度に調整しながら、スキャンポイントをΔＹずつ移動させて、読取処理を繰返し実行する（Ｓ１５０−Ｓ２００）。そして、読取対象区画の側面の位置座標特定が一通り完了したと判断すると（Ｓ２１０でＹｅｓ）、Ｓ２２０に移行する。
【００６４】
Ｓ２２０において、制御装置４０は、図６に示す段差判定処理を行う。これにより、図５Ｃに示すように、読取対象区画内に、大きな段差が存在する場合には、この読取対象区画を更に分割して読取対象物１００を再区画化する。制御装置４０は、再区画化を行った場合には、再区画化前の読取対象区画に対応する再区画化後の複数区画に対して、読取処理を再度実行するために、読取対象区画の選択に用いられる上記変数ｇを１小さい値に変更する（Ｓ４１０）。段差判定処理の詳細については後述する。
【００６５】
段差判定処理の実行後、制御装置４０は、Ｓ２３０に移行し、段差判定処理において再区画化が行われたか否かを判断する。再区画化が行われていないと判断すると（Ｓ２３０でＮｏ）、制御装置４０は、全区画に対する読取処理が完了したか否かを判断する（Ｓ２４０）。具体的には、変数ｇが区画数Ｇに一致するか否かを判断する。
【００６６】
全区画に対する読取処理が完了していないと判断すると（Ｓ２４０でＮｏ）、制御装置４０は、それまでに特定された読取対象区画の側面の位置座標群に基づき、この区画の読取対象物１００の側面についての三次元形状を表す形状データを生成して、この形状データを主記憶装置４３に記憶する（Ｓ２５０）。形状データには、載置板１１の中心Ｏを原点とする載置板１１の位置座標系で、読取対象物１００の側面における各点の位置座標を記述することにより、側面の形状を表す形状データを生成することができる。
【００６７】
Ｓ２５０の処理実行後、制御装置４０は、Ｓ１４０に移行し、変数ｇを更新して読取対象区画を次の区画に変更する。制御装置４０は、変更後の読取対象区画に関して、Ｓ１５０−Ｓ２１０の処理を繰返し実行することにより、この読取対象区画に対する読取処理を、側面の一周分実行する。区画変更後の最初のＳ１５０では、例えば、一つ前の読取対象区画に対する読取処理で得られた前の読取対象区画の位置座標又は上記参照データとして記憶した今回の読取対象区画の位置座標から接線Ｌｔを推定することができる。
【００６８】
制御装置４０は、読取対象区画に対する読取処理を一通り実行すると（Ｓ２１０でＹｅｓ）、Ｓ２２０において再度段差判定処理を実行する。制御装置４０は、段差判定処理において再区画化が行われたと判断すると（Ｓ２３０でＹｅｓ）、Ｓ１４０に移行し、再区画化前の読取対象区画に対応する再区画後の複数区画の内、最も若い区画番号の区画を読取対象区画に設定して（図５Ｃ参照）、Ｓ１５０−Ｓ２１０を繰返し実行する。これにより、制御装置４０は、再区画化された区画からの読取処理を、区画番号順に実行する。そして、各区画の読取処理が完了する度に（Ｓ２１０でＹｅｓ）、段差判定処理（Ｓ２２０）を実行し、必要に応じて更なる再区画化を行う。
【００６９】
このように、制御装置４０は、読取対象物１００の形状に応じて再区画化を行いながら、区画毎に、その区画に適した載置板１１の移動及び回転により読取対象物１００の当該区画の側面形状を周方向に読み取り、区画毎の形状データを生成及び記憶する（Ｓ２５０）。そして、全区画に対する読取処理が完了したと判断すると（Ｓ２４０でＹｅｓ）、各区画における形状データを結合することにより、読取対象物１００の全区画の側面形状を表す形状データを生成し、これを補助記憶装置４５に記憶する（Ｓ２６０）。
【００７０】
続いて、制御装置４０が実行する段差判定処理（Ｓ２２０）の詳細を図５Ｂ、図５Ｃ及び図６を用いて説明する。図５Ｂに示すように、段差判定処理では、読取対象区画をメッシュ状に区分する。具体的には、読取対象区画を、高さ方向に第１層から第Ｎ層までの複数層に区分する。更には、各層を、読取対象物１００の軸線を中心に角度方向に第１部から第Ｍ部までの複数部分に区分する。このようにして定義される各部分に対応する読取対象物１００の側面の軸線からの距離Ｒを、Ｓ２００で特定された位置座標から算出して段差の有無を判定する。
【００７１】
軸線には、読取対象区画の側面上の各点を、載置板１１の表面に平行な投影面にＺ方向に沿って平衡投影して配置される当該投影面上の点を全て包囲する最小の円の中心を通るＺ方向に平行な直線を用いることができる。各部分に対応する側面の軸線からの距離Ｒは、例えば、その部分に属する側面の各点の軸線からの距離の平均値、中央値、最大値、及び最小値のいずれかとして定義することができる。
【００７２】
段差判定処理を開始すると、制御装置４０は、上述したように、読取対象区画をメッシュ状に区分する（Ｓ３１０）。Ｓ３１０での処理を終えると、制御装置４０は、第１層から第Ｎ層までの複数層から二つの層を、ペアとして選択する（Ｓ３２０）。その後、制御装置４０は、選択した二つの層の第１部分から第Ｍ部分までの各部分の層間における距離Ｒの差の合計を、段差合計Ｑとして算出する（Ｓ３３０）。
【００７３】
選択した二つの層が、第ｉ層と第ｋ層であるとすると、段差合計Ｑ＝Ｑ［ｉ，ｋ］は次式で表される。
【００７４】
【数１】
0006657654.tif 000002
【００７５】
ここで、距離Ｒ［ｉ，ｊ］は、第ｉ層における第ｊ部分の軸線からの距離Ｒを表し、距離Ｒ［ｋ，ｊ］は、第ｋ層における第ｊ部分の軸線からの距離Ｒを表す。
Ｓ３３０で段差合計Ｑ＝Ｑ［ｉ，ｋ］を算出すると、制御装置４０は、この段差合計Ｑ＝Ｑ［ｉ，ｋ］が所定閾値Ｑ０より大きいか否かを判断する（Ｓ３４０）。大きいと判断すると（Ｓ３４０でＹｅｓ）、制御装置４０は、段差を有するペア数を表す変数Ｐを１カウントアップする。更には、段差合計Ｑが閾値Ｑ０より大きい値を示したペアの情報を、段差を有するペアの情報として主記憶装置４３に一時記憶させる（Ｓ３５０）。その後、Ｓ３６０に移行する。変数Ｐは、段差判定処理の開始時に初期値ゼロにリセットされる。制御装置４０は、段差合計Ｑ＝Ｑ［ｉ，ｋ］が閾値Ｑ０以下であると判断すると（Ｓ３４０でＮｏ）、変数Ｐを更新せずに、Ｓ３６０に移行する。
【００７６】
Ｓ３６０において、制御装置４０は、選択し得る全てのペアをＳ３２０において選択したか否かを判断する。Ｓ３６０で否定判断すると、制御装置４０は、Ｓ３２０に移行し、第１層から第Ｎ層までの複数層から未選択のペアを選択し、選択したペア（二つの層）に関してＳ３３０以降の処理を実行する。
【００７７】
制御装置４０は、全てのペアをＳ３２０において選択したと判断すると（Ｓ３６０でＹｅｓ）、Ｓ３７０に移行し、段差を有するペア数を表す変数Ｐが１以上であるか否かを判断する。変数Ｐがゼロであると判断すると（Ｓ３７０でＮｏ）、制御装置４０は、読取対象区画の再区画化が不要であると判定する（Ｓ３８０）。変数Ｐがゼロであるということは、読取対象区画の任意の層間で大きな段差がないことを示す。その後、当該段差判定処理を終了する。
【００７８】
制御装置４０は、変数Ｐが１以上であると判断すると（Ｓ３７０でＹｅｓ）、読取対象区画の再区画化が必要であると判定し（Ｓ３９０）、Ｓ４００に移行する。Ｓ４００において、制御装置４０は、Ｓ３５０で一時記憶した段差を有するペアの情報に基づき、段差を有するペアではない隣接層のペアを同じ区画に分類するようにして、読取対象区画を複数に分割して再区画化する。換言すれば、段差を有する隣接層のペアに関しては、このペアに該当する２つの層の間に、区画の境界を設定するようにして、読取対象区画を複数の小区画に再区画化する。
【００７９】
図５Ｃに示す例によれば、第１層及び第２層のペアは、段差を有するペアに該当しない隣接層のペアであるが、第２層及び第３層のペアは、段差を有するペアに該当する隣接層のペアである。第３層及び第４層のペアは、段差を有するペアに該当しない隣接層のペアであるが、第４層及び第５層のペアは、段差を有するペアに該当する隣接層のペアである。従って、図５Ｃに示す例によれば、第１層から第６層からなる読取対象区画を、第１層及び第２層からなる区画、第３層及び第４層からなる区画、第５層及び第６層からなる区画に分割するように再区画化する。
【００８０】
再区画化前の読取対象区画が、第ｇ区画であり、再区画化によって読取対象区画がＦ個の区画に再区画化される場合には、読取対象区画に対応する再区画化後のＦ個の区画を夫々順に、第ｇ区画、第｛ｇ＋１｝区画、…、第｛ｇ＋（Ｆ−１）｝区画として再定義する。そして、再区画化前の第（ｇ＋１）区画を、第（ｇ＋Ｆ）区画として再定義する。即ち、読取対象区画以降の区画番号を再番する。
【００８１】
Ｓ４００での処理を終えると、制御装置４０は、Ｓ４１０に移行し、区画数Ｇを、再区画化後の区画数｛Ｇ＋（Ｆ−１）｝に更新する。更に、読取対象区画に対応する再区画化後の複数区画に対する読取処理を実行するために、上記変数ｇを、上述したように１小さい値に変更する。その後、当該段差判定処理を終了する。
【００８２】
続いて、制御装置４０が実行する特殊処理の詳細を、図７−１０を用いて説明する。制御装置４０は、Ｓ１９０において特殊処理を開始すると、発生した特殊状況に応じて処理を切り替えて、状況に応じた適切な載置板１１の回転及び移動制御を行う。具体的に、制御装置４０は、Ｓ５１０において、現状況がレーザ光の反射点がカメラ視野から消失した状況であるか否かを判断する。制御装置４０は、反射点がカメラ視野から消失した状況であると判断すると（Ｓ５１０でＹｅｓ）、Ｓ５４０に移行する。一方、反射点が＋Ｘ方向に不連続に飛んだ状況であると判断すると（Ｓ５１０でＮｏ）、Ｓ５２０に移行する。
【００８３】
Ｓ５２０に移行すると、制御装置４０は、載置板１１を直前に実行されたＳ１６０，Ｓ１７０の当該実行前の状態（位置及び向き）まで戻すように、テーブル１０の制御を行う。その後、制御装置４０は、Ｓ５３０において、載置板１１をΔＹだけ＋Ｙ方向に進ませるように、テーブル１０の制御を行う。
【００８４】
別例として、Ｓ５２０，Ｓ５３０において、制御装置４０は、照射装置２０にレーザ光を照射し、その反射光Ｌ１の受光結果を確認しながら、反射点の飛びがなくなる位置まで、直前のＳ１６０で行った回転方向とは逆方向に載置板１１を回転させるテーブル１０の制御を行ってもよい。同時に、上記反射点の飛びがなくなる位置でのスキャンポイントが、前回のスキャンポイントからΔＹだけ進んだ位置となるように、載置板１１をＸＹ移動させるテーブル１０の制御を行ってもよい。
【００８５】
Ｓ５３０の処理を終えると、制御装置４０は、当該特殊処理を終了して、Ｓ２００で読取処理を実行する。この場合には、スキャンポイントにおいて読取対象物１００の側面（接線Ｌｔ）が４５度に調整されていない状態で、読取対象物１００に対する読取処理が実行されることになる。
【００８６】
側面を４５度に調整することによっては、読取対象物１００の側面に沿ってスキャンポイントを移動させるとき、スキャンポイントがＸＹ方向に同量動くことになる。載置板１１をΔＹだけ＋Ｙ方向に動かしたとき、スキャンポイントは、−Ｙ方向及び−Ｘ方向に同量動くことになる。従って、読取対象物１００の側面を、載置面に平行な二方向（ＸＹ方向）において均一な読取解像度で読み取ることができる。換言すれば、側面を４５度に調整するのは、読取対象物１００の形状をＸＹ方向に等間隔に読み取るためである。従って、側面を４５度に調整することによる解像度の均一性の保持よりも、側面の形状を読み取ることが優先されるべきである。
【００８７】
そのため、Ｓ５１０で否定判断するケースでは、特殊処理において、側面を４５度に調整する条件を外して、前回のスキャンポイントに続く位置で読取対象物１００の側面を読み取るための載置板１１の回転及び移動制御を行う。
【００８８】
例えば、図８Ａに示す読取対象物１００Ｃに関して、太実線で示す側面の部分を破線矢印方向への載置板１１の移動により、側面を４５度の位置に保持して読み取る場合を考える。この場合には、ΔＹずつの載置板１１の＋Ｙ方向への移動により、スキャンポイントが読取対象物１００Ｃに対して徐々に変化する。
【００８９】
読取対象物１００Ｃは、図８Ａに示すように側面が折れ曲がった形状を有する。即ち、側面は、折れ曲がった地点を境界に異なる接線方向を有する。このことから、図８Ｂに示すように側面が折れ曲がった地点までスキャンポイントが移動すると、この地点で図８Ｃに示すように、側面を４５度に調整する回転（Ｓ１６０）が行われる。但し、この回転によっては、読取対象物１００Ｃの一部が、目的とするスキャンポイントまでのレーザ光の照射経路を塞ぐ位置まで回転し、反射点が右側に飛ぶことになる。
【００９０】
このとき、制御装置４０は、Ｓ５２０，Ｓ５３０の処理を実行し、図８Ｄに示すようにＳ１６０で回転させた載置板１１を逆方向に回転させて、反射点が右側に飛ばないように読取対象物１００Ｃを配置した後、読取処理（Ｓ２００）を行い、図８Ｄに示す太線に沿って側面を読み取る。
【００９１】
図８Ｄに示す太線に沿って側面を読み取る過程において、制御装置４０は、側面を４５度に調整しようとＳ１６０，Ｓ１７０の処理を繰返し実行する。しかしながら、この処理の実行毎に特殊状況が発生するので、制御装置４０は、特殊処理（Ｓ１９０）を実行した後に、読取処理（Ｓ２００）を実行することになる。その結果、読取対象物１００Ｃの側面は、図８Ｄに示す太線に沿って４５度に調整されない状態で読み取られることになる。
【００９２】
制御装置４０は、Ｓ５１０で肯定判断し、Ｓ５４０に移行すると、載置板１１を、−Ｘ方向にΔＸだけ移動させるように、テーブル１０を制御する。反射点がカメラ視野から消失するケースとしては、図１０Ａに示す読取対象物１００Ｅのように、読取対象物１００がカメラ３０側に突出した部位を有するケースを一例に挙げることができる。
【００９３】
例えば、図１０Ａに示す読取対象物１００Ｅに関して、太実線で示す側面の部分を破線矢印方向への載置板１１の移動により、側面を４５度の位置に保持して読み取る場合を考える。この場合には、載置板１１の＋Ｙ方向への移動により、スキャンポイントが読取対象物１００Ｅの下辺部に向けて徐々に変化する。
【００９４】
そして、図１０Ｂに示すように、スキャンポイントが下辺部に近づくと、読取対象物１００Ｅに対するカメラ３０の相対位置及び画角によっては、読取対象物１００Ｅの下辺部が、カメラ３０と反射点とを結ぶカメラ視界の間に入り込み、カメラ３０から反射点が見えなくなる。この場合、読取対象物１００Ｅを−Ｘ方向に移動させると、カメラ３０の前方において、図１０Ｃに示すように、反射点を見えなくする下辺部が−Ｘ方向にずれることにより、下辺部がカメラ３０の視野から外側にずれて、反射点が見えるようになる。このような理由から、Ｓ５４０では、載置板１１を、−Ｘ方向にΔＸだけ移動させるようにしている。
【００９５】
載置板１１を−Ｘ方向にΔＸだけ移動させることによって、反射点が見える場合、制御装置４０は、Ｓ５５０において反射点が出現したと判定し（Ｓ５５０でＹｅｓ）、当該特殊処理を終了して、Ｓ２００で読取処理を実行する。
【００９６】
図１０Ａ−１０Ｄのケースでは、載置板１１を−Ｘ方向にΔＸだけ移動させても、Ｓ１５０−Ｓ２１０の繰返しの実行過程で、載置板１１が＋Ｙ方向に移動するにつれて、反射点が再度カメラ３０から見えなくなる同様の特殊状況が発生する。従って、図１０Ｃ−１０Ｄに示されるように、太実線で示される側面に対する読取処理（Ｓ２００）は、特殊状況の発生の度に実行される特殊処理（Ｓ１９０）により、載置板１１を−Ｘ方向に少しずつ移動する動作を伴いながら繰返し実行される。
【００９７】
読取対象物１００Ｅによれば、図１０Ｄに示す位置までスキャンポイントが移動すると、載置板１１をΔＸだけ−Ｘ方向に動かしても、もはやカメラ視野内に反射点が出現しない状況が発生する。
【００９８】
制御装置４０は、Ｓ５４０の処理によってもカメラ視野内に反射点が出現しない場合には、Ｓ５５０において否定判断して、Ｓ５４０で動かした載置板１１を元の位置に戻すように、載置板１１を＋Ｘ方向にΔＸだけ移動させる（Ｓ５６０）。その後、制御装置４０は、載置板１１を＋Ｙ方向にΔＹだけ移動させるように、テーブル１０を制御する（Ｓ５７０）。
【００９９】
Ｓ５７０での処理を終えると、制御装置４０は、カメラ視野内に反射点が出現したか否かを判断する（Ｓ６１０）。図９Ａ−９Ｄに示す読取対象物１００Ｄによれば、側面が折れ曲がった地点までスキャンポイントが移動するまでは、図８Ａ，８Ｂ及び図９Ａ，９Ｂに示すように、読取対象物１００Ｃと同様に読み取られる。図９Ｂに示すように側面が折れ曲がった地点までスキャンポイントが移動すると、この地点で側面を４５度に調整する回転（Ｓ１６０）が行われる。但し、この回転途中には、読取対象物１００Ｄの一部が、図９Ｃに示すように、目的とするスキャンポイントまでのレーザ光の照射経路を塞ぐ位置まで回転し、反射点がカメラ３０側を向かない面で発生することで、反射点がカメラ視野から消失した状況が発生する。この場合にはＳ５４０でΔＸだけ−Ｘ方向に載置板１１を動かしても反射点がカメラ視野に現れない状況が発生し得る。
【０１００】
但し、Ｓ５７０の処理を実行すると、図９Ｄに示すように、反射点がカメラ視野内に入る。図９Ｄに示す例によれば、反射点が目的とするスキャンポイント近傍に現れる。こうしたケースにおいて、制御装置４０は、Ｓ６１０で肯定判断し、当該特殊処理を終了する。その後、制御装置４０は、読取処理（Ｓ２００）を行い、反射点が現れた位置から読取対象物１００の側面を読み取るように動作する。
【０１０１】
一方、図１０Ｄに示される状況では、Ｓ５７０の実行により載置板１１をΔＹだけ＋Ｙ方向に動かしても、カメラ視野内に反射点は出現しない。このような場合、制御装置４０は、Ｓ６１０で否定判断し、Ｓ６２０に移行する。
【０１０２】
Ｓ６１０で否定判断される状況は、図１１Ｃに示すように読取対象物１００Ｅが配置されている状況下においても生じる。図１１Ａ−１１Ｃは、太実線で示される読取対象物１００Ｅの側面を４５度の状態に保持して、載置板１１をＹ方向に移動させることにより、側面が徐々に読み取られる過程を示している。図１１Ｃは、側面の端が、Ｓ１７０で実行される載置板１１の移動に伴い、レーザ光の照射軸を越えてＹ方向に移動することにより、反射点が消失した状況を表す。このような状況では、Ｓ５４０において、載置板１１をΔＸだけ−Ｘ方向に動かしても、Ｓ５７０において載置板１１をΔＹだけ＋Ｙ方向に動かしても、反射点がカメラ視野内に現れることはない。従って、制御装置４０は、Ｓ６１０で否定判断し、Ｓ６２０に移行する。
【０１０３】
Ｓ６２０に移行すると、制御装置４０は、テーブル１０を制御して、図１０Ｅ及び図１１Ｄに示すように、載置板１１を９０度回転させることにより、読取対象物１００を９０度回転させる。この回転によれば、読取対象物１００が側面に９０度で折れ曲がる角を有している場合、回転前後で、レーザ光が当たる読取対象物１００の面が切り替わっても、切替後にレーザ光が当たる面の接線Ｌｔが４５度に調整される。
【０１０４】
Ｓ６２０の処理実行後、制御装置４０は、反射点がカメラ視野内に出現したか否かを判断し（Ｓ６３０）、反射点がカメラ視野内に出現したと判断すると（Ｓ６３０でＹｅｓ）、特殊処理を終えて、Ｓ２００で読取処理を実行する。これによって、図１０Ｅ及び図１１Ｄに示される例によれば、太実線で示される読取対象物１００Ｅ及び読取対象物１００Ｆの側面の読取が開始されることになる。
【０１０５】
この他、制御装置４０は、Ｓ６３０において反射点がカメラ視野内に出現していないと判断すると、Ｓ６４０に移行し、更に載置板１１を６７．５度回転させる。Ｓ６２０の回転によっても反射点がカメラ視野内に出現しない場合には、レーザ光の照射軸をＹ方向に通過した読取対象物１００の角が図１１Ｅに示すように０度から４５度の角度βを有する可能性が高い。角度βが仮に０度から４５度の中間である２２．５度である場合、Ｓ６４０で載置板１１を６７．５度回転させると、図１１Ｅに示すように、カメラ視野内において反射点が出現するとき、その反射点に対応する読取対象物１００の側面が４５度に配置される。
【０１０６】
このような理由から、本実施例では、Ｓ６４０において載置板１１を６７．５度回転させる。Ｓ６４０での処理を終えると、制御装置４０は、特殊処理を終了して、Ｓ２００で読取処理を実行する。これによって、図１１Ｅに示される例によれば、太実線で示される読取対象物１００Ｇの側面の読取が開始される。
【０１０７】
本実施例の読取システム１によれば、上述したように制御装置４０が、メイン処理を実行すると、読取対象物１００を、載置面（載置板１１の表面）に平行な境界面を有する複数区画に分割する（Ｓ１２０）。具体的に、制御装置４０は、各区画がユーザから指定された読取解像度に応じた高さ（サイズ）となるように、読取対象物１００を複数区画に分割する。
【０１０８】
その後、制御装置４０は、区画毎に、読取対象物１００の当該区画の形状を読み取るためのスキャン処理（Ｓ１５０−Ｓ２１０，Ｓ２５０）を実行する。このスキャン処理は、回転駆動装置１３及びＸＹ駆動装置１５を制御して、載置板１１を回転及び移動させ、更には照射装置２０に光を照射させて反射光Ｌ１の受光に基づく撮影画像データをカメラ３０から取得し、取得した撮影画像データに基づき読取対象物１００の区画の形状を表す形状データを生成する手順を含む。制御装置４０は、このように生成される区画毎の形状データを結合して、読取対象物１００の形状を表す形状データを生成する（Ｓ２６０）。
【０１０９】
特に本実施例では、制御装置４０が、各区画の読取に際して、その区画における読取対象物の形状に合わせて載置板１１を動かすようにテーブル１０を制御し、なるべくスキャンポイントにおける読取対象物１００の側面の接線Ｌｔが一定角度（４５度）となるようにして読取対象物１００の形状を読み取る。更には、読取対象物１００の形状に起因して特殊な状況が生じる場合には、その状況に適合した載置板１１の回転及び移動制御を行って、読取対象物１００の側面を読み取る。
【０１１０】
更に本実施例によれば、制御装置４０が、読取対象物１００の各区画の読取に際して、その区画の読取結果に基づき、区画内に、所定基準（閾値Ｑ０）以上の段差が載置面に垂直なＺ方向にあるか否かを判定する（Ｓ３１０−Ｓ３７０）。そして、所定基準以上の段差があると判定すると（Ｓ３７０でＹｅｓ）、制御装置４０は、段差を有する区画を、載置面に平行な境界面を有する複数の小区画に再分割して再区画化する（Ｓ４００）。具体的には、段差を有する区画を段差の境界で複数区画に分割するように再区画化する。そして、制御装置４０は、再区画化後の小区画毎に読取に係る処理を行う（Ｓ４１０，Ｓ１５０−Ｓ２１０，Ｓ２５０）。
【０１１１】
従って、本実施例によれば、読取対象物１００の高さ方向（Ｚ方向）に関しては、形状変化の影響を抑えて、ＸＹ方向に関しては、均一な解像度で、高精度に読取対象物１００を読取可能である。即ち、高さ方向に歪な形状を有する読取対象物１００であっても、その読取対象物の形状に合わせて適切に載置面を動かし、読取対象物１００を読み取ることができ、均一な解像度で良好な読取対象物１００の形状データを生成可能である。
【０１１２】
付言すれば、本実施例では読取対象区画の反射光Ｌ１がカメラ視界から消失した場合（Ｓ５１０でＹｅｓ）、制御装置４０が、反射光Ｌ１がカメラ視界に出現する状態を、載置板１１の移動及び回転の少なくとも一方により探索する（Ｓ５４０−Ｓ６４０）。そして、制御装置４０は、探索により検出された反射光Ｌ１が視界に出現する載置板１１の位置を基準に、その後接線Ｌｔ（レーザ光の入射角）を一定角度に調整しながら、載置板１１をＹ方向に移動させて（Ｓ１６０−Ｓ１７０）、形状データを生成する（Ｓ２５０）。
【０１１３】
例えば、制御装置４０は、反射光Ｌ１がカメラ視界から消失した場合には、載置板１１を照射軸に対応する−Ｘ方向に沿って移動させることにより、反射光Ｌ１が視界に出現する載置面の位置を探索する（Ｓ５４０）。この探索によっても反射光Ｌ１が出現しない場合には、載置板１１を、受光軸に対応する＋Ｙ方向に沿って移動させることにより、反射光Ｌ１がカメラ視界に出現する位置を探索する（Ｓ５７０）。この探索によっても反射光Ｌ１が出現しない場合には、載置板１１を回転させることにより、反射光Ｌ１がカメラ視界に出現する位置を探索する（Ｓ６１０−Ｓ６４０）。従って、本実施例によれば、読取対象物１００の形状に対応して、適切に載置板１１を回転及び移動させて、良好に読取対象物１００を読み取ることが可能である。
【０１１４】
以上には、本開示の実施例について説明したが、本開示は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
上記実施例では、読取対象物１００の側面を４５度に調整するようにテーブル１０を制御したが、側面は４５度以外の一定角度に調整されてもよいし、一定角度に調整されなくてもよい。また、上記実施例では、載置板１１の回転と移動とを分けて行ったが、載置板１１が回転しながら移動するように、テーブル１０は制御されてもよい。
【０１１５】
この他、上記実施例における１つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、１つの構成要素に統合されてもよい。上記実施例の構成の一部は、省略されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【０１１６】
最後に、用語間の対応関係について説明する。照射装置２０は、照射ユニットの一例に対応し、カメラ３０は、受光ユニットの一例に対応し、制御装置４０は、制御ユニットの一例に対応する。
【符号の説明】
【０１１７】
１…読取システム、１０…テーブル、１１…載置板、１３…回転駆動装置、１５…ＸＹ駆動装置、２０…照射装置、３０…カメラ、４０…制御装置、４１…ＣＰＵ、４３…主記憶装置、４５…補助記憶装置、７０…入力装置、１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ，１００Ｆ，１００Ｇ…読取対象物、Ｌ０…照射光、Ｌ１…反射光。
【図１】
0006657654.tif 000003
【図２】
0006657654.tif 000004
【図３】
0006657654.tif 000005
【図４】
0006657654.tif 000006
【図５】
0006657654.tif 000007
【図６】
0006657654.tif 000008
【図７】
0006657654.tif 000009
【図８】
0006657654.tif 000010
【図９】
0006657654.tif 000011
【図１０】
0006657654.tif 000012
【図１１】
0006657654.tif 000013