(57)【要約】【課題】  光切断法により対象物体の３次元情報を計測する作業システムにおいて、高い計測精度を実現する。【解決手段】  ロボットアーム１１１と、前記ロボットアーム１１１先端部に配置されたハンド位置検出部１１４と、スリット光を照射するスリットレーザ投光器１１３と、ロボットアーム１１１とは独立した位置に固定され、対象物体１６０を撮像するカメラ１２０と、カメラ１２０による撮像により得られた対象物体１６０の画像データに含まれるハンド位置検出部１１４上に形成された光切断線に基づいて、スリット光の光切断面を算出し、該算出した光切断面と対象物体１６０上に形成された光切断線とに基づいて、対象物体１６０の位置及び姿勢を算出する計算機１４０とを備える。【選択図】  図１
2010127719.tif 000002
【特許請求の範囲】
【請求項１】
作業領域に載置された処理対象の物体に対して、予め定められた作業を行うために、位置及び姿勢を変更可能なアーム機構と、
前記アーム機構の先端部に配置された部材と、
前記部材に対する相対的な位置が一定となるように前記アーム機構において配置され、前記部材及び前記処理対象の物体に対してパターン光を照射することにより、前記部材の上及び前記処理対象の物体の上に投光パターンを形成する照射手段と、
前記アーム機構から独立した位置に固定され、前記処理対象の物体を撮像する撮像手段と、
前記撮像手段による撮像により得られた前記処理対象の物体の画像データに含まれる前記部材の上に形成された投光パターンに基づいて、前記アーム機構の先端部の位置及び姿勢、ならびに前記パターン光の照射平面を算出する第１の算出手段と、
前記算出された照射平面と、前記撮像手段が撮像することにより得られた前記処理対象の物体の画像データに含まれる前記処理対象の物体の上に形成された投光パターンとに基づいて、前記処理対象の物体の位置及び姿勢を算出する第２の算出手段と
を備えることを特徴とする作業システム。
【請求項２】
前記第１の算出手段により算出された前記アーム機構の先端部の位置及び姿勢と、前記第２の算出手段により算出された前記処理対象の物体の位置及び姿勢とに基づいて、前記アーム機構の動作を制御する制御手段を更に備えることを特徴とする請求項１に記載の作業システム。
【請求項３】
前記照射手段は、前記部材および前記処理対象の物体に対してパターン光としてスリット光を照射し、前記部材の上及び前記処理対象の物体の上に投光パターンとして光切断線を形成する、スリット光投光器であることを特徴とする請求項１に記載の作業システム。
【請求項４】
前記部材は、前記照射手段により照射されたスリット光により該部材の上に形成される光切断線が、２以上の直線からなる光切断線となるような形状を有していることを特徴とする請求項３に記載の作業システム。
【請求項５】
前記照射手段は、前記部材に対する照射角度を変更可能に構成されていることを特徴とする請求項３に記載の作業システム。
【請求項６】
前記部材は、前記照射手段により照射されたスリット光により該部材の上に形成される光切断線が、１つ以上の直線からなる光切断線となるような形状を有していることを特徴とする請求項５に記載の作業システム。
【請求項７】
前記第１の算出手段は、前記部材に対する照射角度を変更することで形成される、複数の光切断線に基づいて、前記アーム機構の先端部の位置及び姿勢、ならびに前記スリット光の光切断面を算出することを特徴とする請求項６に記載の作業システム。
【請求項８】
前記第２の算出手段は、前記アーム機構が予め定められた位置及び姿勢にあった場合に前記照射手段が既知の寸法の物体に対してパターン光を照射することにより該既知の寸法の物体の上に形成された投光パターンに基づいて算出された、該アーム機構の位置及び姿勢と該パターン光の照射平面との関係に基づいて、前記処理対象の物体の位置及び姿勢を算出することを特徴とする請求項１に記載の作業システム。
【請求項９】
前記照射手段は、前記部材および前記処理対象の物体に対して時系列に変化するパターン光を照射し、前記部材の上及び前記処理対象の物体の上に時系列に投光パターンを形成する、パターン投光器であることを特徴とする請求項１に記載の作業システム。
【請求項１０】
作業領域に載置された処理対象の物体に対して、予め定められた作業を行うために、位置及び姿勢を変更可能なアーム機構と、
前記アーム機構の先端部に配置された部材と、
前記部材に対する相対的な位置が一定となるように前記アーム機構において配置され、前記部材及び前記処理対象の物体に対してパターン光を照射することにより、前記部材の上及び前記処理対象の物体の上に投光パターンを形成する照射手段と、
前記アーム機構から独立した位置に固定され、前記処理対象の物体を撮像する撮像手段と、を備える作業システムにおける情報処理方法であって、
前記撮像手段による撮像により得られた前記処理対象の物体の画像データに含まれる前記部材の上に形成された投光パターンに基づいて、前記アーム機構の先端部の位置及び姿勢、ならびに前記パターン光の照射平面を算出する第１の算出工程と、
前記算出された照射平面と、前記撮像手段が撮像することにより得られた前記処理対象の物体の画像データに含まれる前記処理対象の物体の上に形成された投光パターンとに基づいて、前記処理対象の物体の位置及び姿勢を算出する第２の算出工程と
を備えることを特徴とする作業システムにおける情報処理方法。
【請求項１１】
請求項１０に記載の情報処理方法をコンピュータによって実行させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体に対して所定の作業を行うアーム機構を備える作業システム及び該作業システムにおける情報処理方法に関するものである。
【背景技術】
【０００２】
位置及び姿勢が変化する対象物体に対して所定の作業を行うアーム機構を備える作業システムでは、作業の実行に際して、対象物体の位置及び姿勢（３次元情報）を計測しておく必要があり、その計測手法として、光切断法が知られている。
【０００３】
光切断法は、カメラとスリット光投光器とを組み合わせて三角測量を行うことで、対象物体の３次元情報を得る手法であり、当該手法については、従来より、作業システムへの適用に関して、種々の提案がなされている。
【０００４】
例えば、下記特許文献１では、ロボットアームに３次元スキャナ（撮像装置及びスリット光投光器）を搭載したときの原点の位置校正方法が提案されている。また、下記特許文献２では、ロボットアームに３次元センサ（撮像装置及びスリット光投光器）を搭載した場合において照射されるビーム光の焦点を対象物体上に合わせる方法が提案されている。
【特許文献１】特開２００５−２７１１０３号公報
【特許文献２】特開２００５−１６３３４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献に開示された作業システムは、いずれも、撮像装置とスリット光投光器とが一体化された構成を前提としている。このため、仮に撮像装置をグローバルな位置（ロボットアーム上ではない固定された位置）に配置した場合には、スリット光投光器もグローバルな位置に配置されることとなる。また、撮像装置をロボットアーム上に配置した場合には、スリット光投光器もロボットアーム上に固定されることとなる。
【０００６】
しかしながら、撮像装置とスリット光投光器とをグローバルな位置に配置すると、対象物体の位置または姿勢によっては、対象物体自身もしくはロボットアームによって、スリット光投光器より照射されるスリット光のオクルージョンを回避することができない。また、照射されるスリット光の焦点深度によっては、精度よく計測できる範囲が限定されてしまうという問題もある。これらの問題は、いずれも、高い計測精度を実現するうえで妨げとなる。
【０００７】
一方で、撮像装置とスリット光投光器とをロボットアーム上に配置した場合には、撮像装置とスリット光投光器との間を離して設置することができないという問題がある。光切断法は、三角測量の原理で計測を行うため、撮像装置とスリット光投光器との間の距離が短く、撮像装置の光軸とスリット光投光器の光軸とのなす角度（光軸間角度）が小さい場合、奥行き方向の計測精度が低下するという問題がある。
【０００８】
また、ロボットアームが小型の場合には、解像度が高く重量の大きい撮像装置を設置すること自体が困難であり、この場合には、高い計測精度は望めない。
【０００９】
本発明は上記課題に鑑みてなされたものであり、位置及び姿勢が変化する対象物体に対して光切断法により該対象物体の３次元情報を計測しながら、所定の作業を行うアーム機構を備える作業システムにおいて、高い計測精度を実現することを第１の目的とする。
【００１０】
更に、当該作業システムに適用される、光切断法による３次元情報の計測方法及び校正方法を提供することを第２の目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために本発明に係る作業システムは以下のような構成を備える。即ち、
作業領域に載置された処理対象の物体に対して、予め定められた作業を行うために、位置及び姿勢を変更可能なアーム機構と、
前記アーム機構の先端部に配置された部材と、
前記部材に対する相対的な位置が一定となるように前記アーム機構において配置され、前記部材及び前記処理対象の物体に対してスリット光を照射することにより、前記部材の上及び前記処理対象の物体の上に光切断線を形成する照射手段と、
前記アーム機構から独立した位置に固定され、前記処理対象の物体を撮像する撮像手段と、
前記撮像手段による撮像により得られた前記処理対象の物体の画像データに含まれる前記部材の上に形成された光切断線に基づいて、前記アーム機構の先端部の位置及び姿勢、ならびに前記スリット光の光切断面を算出する第１の算出手段と、
前記算出された光切断面と、前記撮像手段が撮像することにより得られた前記処理対象の物体の画像データに含まれる前記処理対象の物体の上に形成された光切断線とに基づいて、前記処理対象の物体の位置及び姿勢を算出する第２の算出手段とを備える。
【発明の効果】
【００１２】
本発明によれば、位置及び姿勢が変化する対象物体に対して光切断法により該対象物体の３次元情報を計測しながら、所定の作業を行うアーム機構を備える作業システムにおいて、高い計測精度を実現することが可能となる。
【００１３】
更に、当該作業システムにおいて適用される、光切断法による３次元情報の計測方法及び校正方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明の好適な実施の形態について説明する。
【００１５】
［第１の実施形態］
１．作業システムの外観構成
図１は、本発明の第１の実施形態に係る作業システム１００の外観構成を示す図である。図１において、１１０は作業部であり、処理対象の物体（対象物体）に対して所定の作業を行うアーム機構を備える。１１１はロボットアームであり、先端部には対象物体に接触し所定の作業を行う部位（エンドエフェクタ）であるロボットハンド１１２が取り付けられている。なお、ロボットアーム１１１とロボットハンド１１２とをまとめて、以下、アーム機構と称す。
【００１６】
１１３は投光部としての機能するスリットレーザ投光器（スリット光投光器）であり、ロボットアーム１１１の先端部に取り付けられ、パターン光としてレーザによるスリット光を発光する。
【００１７】
１１４は検出部材として機能するハンド位置検出部である。ハンド位置検出部１１４は、ロボットハンド１１２に平行に、スリットレーザ投光器１１３に対する相対的な位置が変化しないように（一定となるように）取り付けられている。
【００１８】
ロボットアーム１１１、ロボットハンド１１２、スリットレーザ投光器１１３、ハンド位置検出部１１４は、作業部１１０を構成する。
【００１９】
１２０は撮像部として機能するカメラであり、ロボットアーム１１１の上空において、所定の作業が行われる作業領域内を撮像することができるようにロボットアーム１１１に対して独立して配置されている。
【００２０】
１３０は作業制御部として機能するロボットコントローラである。ロボットアーム１１１は、ロボットコントローラ１３０に接続されており、ロボットアーム１１１及びロボットハンド１１２は、ロボットコントローラ１３０によって制御される。
【００２１】
１４０は計算部として機能する計算機であり、ロボットコントローラ１３０を介して、ロボットアーム１１１及びロボットハンド１１２を制御するための情報処理を行う。また、カメラ１２０において撮像された画像データに基づいて、対象物体の位置及び姿勢（３次元情報）を算出する。１５０は作業領域であり、作業部１１０により作業される対象物体１６０が載置される。
【００２２】
このように、本実施形態における作業システム１００では、カメラ１２０と、スリットレーザ投光器１１３及びハンド位置検出部１１４とを一体化せず、撮像部１２０は、ロボットアーム１１１とは独立した位置に配置する構成とした。また、スリットレーザ投光器１１３及びハンド位置検出部１１４は、ロボットアーム１１１上に配置する構成とした。
【００２３】
これにより、オクルージョンの問題ならびにビーム光の焦点深度の問題を回避することが可能となる。また、光軸間角度を大きくすることができるため、奥行き方向においても高い計測精度を実現することができるとともに、ロボットアームの大小に関わらず、解像度の高い（すなわち、重量の大きい）カメラを配置することが可能となる。
【００２４】
２．作業部の外観構成
次に作業部の外観構成について説明する。図２は、作業部１１０の外観構成を示す図である。
【００２５】
図２において、２００はスリットレーザ投光器１１３より発光されたスリット光により形成される光切断面２００である。光切断面２００と交差する位置に物体があれば、その物体と光切断面とが交差する位置には、光切断線が発生する。
【００２６】
２０１は、スリットレーザ投光器１１３より発光されたスリット光の光切断面２００が、ハンド位置検出部１１４と交差することによって発生した光切断線である。
【００２７】
なお、スリットレーザ投光器１１３は、発光されたスリット光の光切断面２００が、ハンド位置検出部１１４上に光切断線２０１を発生させるような位置及び角度に設置されているものとする。
【００２８】
また、ハンド位置検出部１１４は、光切断線２０１に基づいて、その位置と姿勢が一意に定まるような形状をしているものとする。具体的には、光切断線２０１が途中で折れ曲がるように（すなわち、２以上の直線からなるように）、断面が三角形状を有しているものとする。
【００２９】
３．作業システムの機能構成
次に作業システムの機能構成について説明する。図３は、作業システム１００の機能構成を示す図である。
【００３０】
図３において、作業部１１０、撮像部（カメラ）１２０、作業制御部（ロボットコントローラ）１３０については、図１、図２を用いて説明済みであるため、ここでは詳細な説明は省略する。
【００３１】
計算部（計算機）１４０は、不図示のＣＰＵ、ＲＡＭ、ＲＯＭならびに記憶装置から構成されており、ＲＡＭ内に読み込まれたプログラムがＣＰＵにおいて実行されることで各種機能を実行する。具体的には、計算部１４０は、計測制御部３０１、計測値算出部３０２、画像データ保持部３０３、校正値算出部３０４、校正値保持部３０５として機能する。なお、各機能の詳細は後述する。
【００３２】
４．光切断法により３次元情報を計測するための校正方法
次に、光切断法により３次元情報を計測するための校正方法について説明する。
【００３３】
４．１  校正冶具の説明
はじめに、作業システム１００の校正に用いられる校正冶具（既知の位置及び姿勢の対象物体）について説明する。図４は、作業システム１００の校正に用いられる校正冶具を説明するための図である。
【００３４】
図４において、４０１は校正台であり、校正の際、作業領域１５０上に対象物体の代わりに載置される。
【００３５】
なお、校正台４０１の高さは対象物体の高さとおおよそ一致しているものとするが、厳密に一致している必要はない。
【００３６】
４０２は校正冶具であり、校正台４０１の上に載置される。校正冶具４０２は、少なくとも６つの既知寸法の頂点を持ち、複数の平面で構成されているものとする。また、各頂点の相対的な位置関係は高精度に既知であるとする。
【００３７】
なお、図４の例では、校正冶具４０２として正六角錘の物体を用意しているが、当該形状に限定されるものではなく、それ以外の形状、例えば五角錘、八角錘などであってもよい。以下では校正冶具４０２が正六角錘の形状を有している場合について説明する。
【００３８】
４．２  校正処理の概要
次に作業システムにおける校正処理の流れについて説明する。図５は、作業システム１００における校正処理の流れを示すフローチャートである。
【００３９】
ステップＳ５０１（冶具座標系設定工程）では、校正値算出部３０４が計測制御部３０１に対して撮像する旨の指示を送り、計測制御部３０１では、撮像部１２０に撮像のための制御信号を送る。
【００４０】
撮像部１２０では、計測制御部３０１からの制御信号により撮像を行い、取得した画像データを画像データ保持部３０３を介して格納する。
【００４１】
校正値算出部３０４では、画像データ保持部３０３を介して格納された画像データから冶具座標系を設定するとともに、冶具座標系から画像座標系への変換を行う。
【００４２】
ステップＳ５０２（校正移動工程）では、校正値算出部３０４が作業制御部１３０に対して所定の位置へ移動する旨の指示を送り、作業制御部１３０では、当該指示に基づく制御信号を作業部１１０に送る。作業部１１０では、当該制御信号に基づいて、所定の位置へ移動する。
【００４３】
ステップＳ５０３（校正データ取得工程）では、校正値算出部３０４が計測制御部３０１に対して撮像を開始する旨の指示及びスリット光の照射を開始する旨の指示を送り、計測制御部３０１では、撮像部１２０及び投光部１１３に制御信号を送る。計測制御部３０１からの制御信号により、撮像部１２０では撮像を開始し、投光部１１３ではスリット光の発光を開始する。
【００４４】
ステップＳ５０４（スリット光状態算出工程）では、校正値算出部３０４が画像データ保持部３０３を介して格納された画像データを用いて画像データ中における校正冶具４０２上の光切断線を検出する。更に、検出された光切断線の位置に対して所定の計算を行うことで冶具座標系におけるスリット光の状態を推定し、作業部１１０の状態とスリット光の状態との対応付けを行う。
【００４５】
ステップＳ５０５（作業部状態算出工程）では、校正値算出部３０４が画像データ保持部３０３を介して格納された画像データを用いて画像データ中における検出部材１１４上の光切断線を検出する。更に、検出された光切断線の位置に対してスリット光状態算出工程（ステップＳ５０４）において得られたスリット光の状態に基づき、冶具座標系における作業部１１０の状態を推定し、作業部１１０の冶具座標系と作業部１１０への作業指示との対応付けを行う。
【００４６】
ステップＳ５０６では、所定回数の撮像が終わったか否かを判定し、所定回数の撮像が終わっていないと判定された場合には、ステップＳ５０２（校正移動工程）に戻る。一方、所定回数の撮像が終わったと判定された場合には、ステップＳ５０７（校正値算出工程）に進む。
【００４７】
ステップＳ５０７（校正値算出工程）では、スリット光状態算出工程（ステップＳ５０４）および作業部状態算出工程（ステップＳ５０５）で得られた対応値から、作業部１１０の任意の状態に対するスリット光の状態を算出する対応関数を生成する。また、任意の冶具座標系に対する作業部１１０の状態から、ロボット座標系における作業部１１０の状態を算出する対応関数を生成する。更に、生成された対応関数を構成するパラメータを、校正パラメータとして校正値保持部３０５を介して格納する。
【００４８】
４．３  校正処理の詳細
次に、図５の校正処理の詳細について説明する。
【００４９】
ステップＳ５０１（冶具座標系設定工程）では、最初にカメラ１２０により校正冶具４０２を撮影した画像データを取得する（図６）。そして、取得した画像データにおける校正冶具４０２の各頂点を所定の画像処理により検出する。
【００５０】
例えば、各辺のエッジ抽出結果からハフ変換などで直線式を求め、六直線の交点を上頂点６００とし、三直線の交点を周辺頂点とする。校正冶具４０２は正六角錘であるため、例えば任意の周辺頂点を頂点６０１と指定して、半時計回りに頂点番号を振ってもよい。頂点を検出した結果、各頂点６００〜６０６の画像座標系における検出位置がｕJ0〜ｕJ6であったとする。ここで、校正台４０１の上頂点６００の冶具座標系における位置を冶具座標系原点ＸJ0＝［０,０,０］Tと設定する。
【００５１】
原点を中心とした冶具軸の方向は任意に定義し、頂点６０１〜６０６の冶具座標系における位置は上頂点６００からの物理的な相対位置に基づいてＸJ0から算出し、位置ベクトルＸJ1〜ＸJ6として設定する。
【００５２】
ここで、各座標系の関係を明記しておく。
【００５３】
冶具座標系における任意の点Ｘ＝［Ｘ，Ｙ，Ｚ］Tが射影行列Ａによる座標変換で正規化画像座標系上の点ｘ＝［ｘ、ｙ、ｚ］Tへと変換されたとする。このとき、画像座標系におけるＸの対応点ｕ＝［ｕ，ｖ］Tは下記のようにして表される。
＜数式１＞
2010127719.tif 000003
ここでｕ’およびＸ’はｕおよびＸのスケールファクタを１とした同次座標であり、それぞれｕ’＝［ｕ，ｖ，１］T、Ｘ’＝［Ｘ，Ｙ，Ｚ，１］Tと表される。射影行列Ａは３×４行列であり、各行を４次元列ベクトルの転置で表し、以下のように表記することとする。
＜数式２＞
2010127719.tif 000004
校正冶具４０２の頂点検出結果におけるｉ番目の頂点に関する画像座標ｕJi＝［ｕJi，ｖJi］に関する同次座標ｕ’k＝［ｕk，ｖk，１］は、数式１より次のように表される。
＜数式３＞
2010127719.tif 000005
ここでｚJiはｉ番目の頂点の正規化画像座標系におけるｚ座標、Ｘ’Jiはｉ番目の頂点の冶具座標系における座標値ＸJi＝［ＸJi，ＹJi，ＺJi］の同次座標でＸ’Ji＝［ＸJi，ＹJi，ＺJi，１］である。
【００５４】
ｕ’Jiは同次座標であるため、ｚJiを無視して全体をスケールファクタａ3・Ｘ’Jiで除しても同値である。したがって、ｕJiの各要素は以下のように書くことができる。
＜数式４＞
2010127719.tif 000006
これを式変形すると
＜数式５＞
2010127719.tif 000007
となるため、行列で次のような形式で記述することができる。
＜数式６＞
2010127719.tif 000008
ここで０＝［０，０，０］Tとする。ここで
＜数式７＞
2010127719.tif 000009
とおき、すべての冶具頂点に対して
＜数式８＞
2010127719.tif 000010
と置くと、
＜数式９＞
2010127719.tif 000011
という拘束条件式が得られる。ここでは校正冶具４０２の頂点数が７であるため、最小二乗法により｜Ｐａ｜2を最小化することでａの最適近似解を得ることができ、ａはＰTＰの最小固有値に対応する固有ベクトルとして求めることができる。この結果により、射影行列Ａが推定される。
【００５５】
次に、ステップＳ５０２（校正移動工程）では、計算機１４０からロボットコントローラ１３０へロボットアーム１１１を所定位置へ移動させるためのロボット座標系命令Θ＝［ＸR，ＹR，ＺR，θRX，θRY，θRZ］を与える。
【００５６】
ここでＸR、ＹRおよびＺRはロボットアーム１１１のロボット座標系における位置であり、θRX、θRYおよびθRZはロボット座標系における回転角である。
【００５７】
ロボットコントローラ１３０は、計算機１４０から受け取った命令をロボットアーム１１１へ送信し、ロボットアーム１１１は所定位置へと移動する。
【００５８】
ステップＳ５０３（校正データ取得工程）では、ロボットアーム１１１の移動後、計算機１４０からスリットレーザ投光器１１３にスリット光の発光命令を送るとともに、カメラ１２０へ撮影命令を送る。これによりスリット光を校正冶具４０２およびハンド位置検出部１１４に照射した状態での画像データを取得する（図７）。
【００５９】
ステップＳ５０４（スリット光状態算出工程）では、校正冶具４０２上に照射されたスリット光によって生じる光切断線７０１から、光切断面２００の冶具座標系における平面式を算出する。
【００６０】
画像データ上から光切断線の輝点を検出し、輝点の集合から最小二乗法などによって画像座標系における直線式を得ることができる。校正冶具４０２の各頂点に関する画像座標値ｕJ0〜ｕJ6は既知であるため、校正冶具４０２上の頂点の組から成る辺と光切断線７０１の交点を算出することは容易である。
【００６１】
校正冶具４０２の二つの頂点ｉおよびｊから成る辺と光切断線７０１の交点が画像座標系でｕLと得られたとする。頂点ｉおよびｊの画像座標系における座標ｕJiおよびｕJjに対して、ｕLはそれら二点の内分点である。
【００６２】
これらの点の正規化画像座標系における対応点をｕ’Ji、ｕ’Jjおよびｕ’L、冶具座標系における対応点ＸJi、ＸJjおよびＸLの同次座標表現をＸ’Ji、Ｘ’JjおよびＸ’Lとする。Ｘ’LがＸ’JiおよびＸ’Jjをｔ：ｔ−１に内分する点であったとすると、射影変換の結果より
＜数式１０＞
2010127719.tif 000012
となる。
【００６３】
ここで正規化画像座標系における各点をｕ’L＝［ｘL、ｙL、ｚL］、ｕ’Ji＝［ｘJi、ｙJi、ｚJi］、およびｕ’Jj＝［ｘJj、ｙJj、ｚJjと表記すると、数式１０は要素ごとに以下のように書くことができる。
＜数式１１＞
2010127719.tif 000013
ｕL＝［ｕL，ｖL］Tの画像座標に関して、同次座標のスケールファクタで除することを考えると、
＜数式１２＞
2010127719.tif 000014
となる。
【００６４】
これからｚLを消去してｔに関して解くと、
＜数式１３＞
2010127719.tif 000015
となる。これにより、ｕLの冶具座標系における対応点ＸLが求まる。
【００６５】
このようにして得られた光切断線７０１と校正冶具４０２のエッジとの交点を、最低３点得ることができれば、光切断面２００の冶具座標系における平面式を得ることができる。なお、図７のように交点が４点以上得られた場合には、最小二乗法などで近似平面式を推定すればよい。
【００６６】
このようにして得られた平面式の法線ベクトルがｎで与えられたとすると、平面上の任意の点、例えば先に計測されたＸLを用いて、平面のベクトル方程式は下記のように表現される。
＜数式１４＞
2010127719.tif 000016
ここで、点Ｘの同次座標をＸ’＝［Ｘ，Ｙ，Ｚ，１］とすれば、ｎ’＝［ｎT，−ｎTＸL］と置いて以下のように書き直すこともできる。
＜数式１５＞
2010127719.tif 000017
ｎ’は平面式のプリュッカー座標表現であるが、これはスケール不変であるため以下のように正規化してもよい。
＜数式１６＞
2010127719.tif 000018
これにより、正規化された光切断面２００の平面式が以下のように得られる。
＜数式１７＞
2010127719.tif 000019
この平面上にある点Ｘの同次座標Ｘ’をＡで射影変換した結果得られる正規化画像座標系上の点ｘ＝［ｘ，ｙ，ｚ］が、画像上で得られた光切断線上の観測点ｕ＝［ｕ，ｖ］の同次座標に対応する。そこで、ｚをスケールファクタｗと書き換えてｘ＝［ｗｕ，ｗｖ，ｗ］と表現できる。このとき、射影変換式
＜数式１８＞
2010127719.tif 000020
に関して
2010127719.tif 000021
と置くことで下記のように書くことができる。
＜数式１９＞
2010127719.tif 000022
よって、数式１７および数式１９より、Ｘおよびｗに関する四元連立方程式が得られるため、画像データ上における光切断線７０１上の観測位置ｕに対応する冶具座標系における座標Ｘが得られることになる。
【００６７】
ステップＳ５０５（作業部状態算出工程）では、ハンド位置検出部１１４に照射された光切断線２０１から、ロボットアーム１１１の冶具座標系における状態を算出する。ハンド位置検出部１１４とスリットレーザ投光器１１３は相対的な位置が変化しないように設置されているため、ハンド位置検出部１１４上に生成される光切断線２０１は常にハンド位置検出部１１４上の同じ位置に生じる。
【００６８】
ここではハンド位置検出部１１４は三角形断面形状となっているため、画像上で検出されたハンド位置検出部１１４上の光切断線２０１は、数式１７および数式１９により冶具座標系における三角形の二辺として得ることができる。
【００６９】
ここで、例えば、得られた三角形を含む平面の法線ベクトルをｎR、重心位置をＸRとすれば、ロボットアーム１１１の位置および姿勢の観測値Ω＝［ｎR，ＸR］に対するロボット座標系における命令Θが一対一に決まることになる。
【００７０】
ステップＳ５０７（校正値算出工程）では、複数位置において取得されたロボット座標系における命令、光切断面、ロボットアーム１１１の観測位置姿勢に関する対応関係から、それぞれの変換関数を生成する。
【００７１】
まず、ロボット座標系における命令に対する光切断面を推定する関数の生成に関して説明する。ｉ番目の校正データを得るために与えたロボット座標系命令がΘiで、そのとき得られた光切断面のプリュッカー座標が
2010127719.tif 000023
であったとき、任意のΘを入力としたときに得られる光切断面のプリュッカー座標
2010127719.tif 000024
を推定する平面式推定関数
2010127719.tif 000025
を生成する。データ集合
2010127719.tif 000026
および
2010127719.tif 000027
をサンプルの組として、これらの変換関数は、例えば、多項式回帰による非線形関数モデルを最小二乗法によって平面式推定関数ｆの近似解を得るようにしてもよい。
【００７２】
ロボットアーム１１１の作業範囲が広く、多項式回帰によるモデルの設定を低次にできない場合には、多層パーセプトロンを用いたバックプロパゲーション学習などによって平面式推定関数ｆの近似解を得るようにしてもよい。
【００７３】
次にロボットアーム１１１の観測値に対するロボット座標系の値を推定する関数の生成に関して説明する。ｉ番目の校正データを得るために与えたロボット座標系命令がΘiで、そのとき得られたロボットアーム１１１の観測値がΩiであったとする。このとき、任意のΩを入力としたときに得られるロボット座標系命令Θを推定するロボット座標推定関数ｇ（Ω）＝Θを生成する。
【００７４】
データ集合
2010127719.tif 000028
および
2010127719.tif 000029
をサンプルの組として、校正値算出工程（ステップＳ５０７）における平面式推定関数ｆを生成するときと同様の要領でロボット座標推定関数ｇの近似解を得る。
【００７５】
以上の処理により求められた関数ｆおよびｇの校正パラメータを、校正値保持部３０５を介して計算機１４０が持つ記憶装置に格納することで、校正処理を終了する。
【００７６】
５．作業システムにおける作業処理
次に、上記校正方法により算出された校正パラメータを用いて、対象物体の３次元情報を計測し、所定の作業を行う作業処理の流れを説明する。
【００７７】
５．１  作業処理の概要
はじめに作業システムにおける作業処理の概要について説明する。図８は、作業システム１００における作業処理の流れを示すフローチャートである。
【００７８】
ステップＳ８０１（測定移動工程）では、計測値算出部３０２が作業制御部１３０へ移動する旨の指示を送り、作業制御部１３０では、当該指示に基づいた制御信号を作業部１１０に送る。これにより、作業部１１０は、対象物体にスリット光を照射する位置へと移動する。
【００７９】
ステップＳ８０２（測定データ取得工程）では、計測値算出部３０２が計測制御部３０１へ撮像を開始する旨の指示を送り、計測制御部３０１では、撮像部１２０及び投光部１１３に制御信号を送る。撮像部１２０では、計測制御部３０１からの制御信号に基づいて撮像を開始し、投光部１１３では、計測制御部３０１からの制御信号によりスリット光の発光を開始する。なお、撮像部１２０により取得された画像データは、画像データ保持部３０３を介して格納される。
【００８０】
ステップＳ８０３（スリット光状態推定工程）では、校正値保持部３０５を介して格納された校正パラメータから得られる対応関数を用いて、作業制御部１３０に送った指示に対応するスリット光の状態を推定する（第１の算出手段）。
【００８１】
ステップＳ８０４（対象物体計測値算出工程）では、計測値算出部３０２が、画像データ保持部３０３を介して格納された画像データを用いて、画像データ中の対象物体上の光切断線を検出する。そして、ステップＳ８０３において得られたスリット光の状態に基づき、冶具座標系における対象物体の計測値を算出する（第２の算出手段）。
【００８２】
ステップＳ８０５（作業目標状態算出工程）では、ステップＳ８０４で得られた対象物体計測値に基づき、所望の作業内容における作業部１１０の冶具座標系における状態を算出する。
【００８３】
ステップＳ８０６（作業部命令算出工程）では、校正値保持部３０５を介して格納された校正パラメータから得られる対応関数を用いて算出された作業部１１０の冶具座標系における状態に基づいて作業制御部１３０に送る指示を生成する。
【００８４】
ステップＳ８０７では、ステップＳ８０６で得られた指示を作業制御部１３０へ送信し、作業制御部１３０では、当該指示に基づく制御信号を作業部１１０に送る。作業部１１０では、制御信号に基づいて動作することで、所望の作業を行う。
【００８５】
５．２  作業処理の詳細
次に、図８の作業処理の詳細について説明する。
【００８６】
ステップＳ８０１（測定移動工程）では、ロボットアーム１１１を所定位置へと移動させる。ステップＳ８０２（測定データ取得工程）では、スリットレーザ投光器１１３からスリット光を発光させ、カメラ１２０が画像データを取得する。
【００８７】
ステップＳ８０３（スリット光状態推定工程）では、ステップＳ８０２にてロボットアーム１１１に与えた命令Θに対して得られるべき光切断面のプリュッカー座標
2010127719.tif 000030
を、校正時に得られた平面式推定関数ｆを用いて推定する。
【００８８】
ステップＳ８０４（対象物体計測値算出工程）では、対象物体１６０上の光切断線を検出し、数式１７および数式１９にステップＳ８０３（スリット光状態推定工程）で得られた
2010127719.tif 000031
を代入することにより、光切断線上の輝点位置それぞれに対する冶具座標系における座標値を算出する。
【００８９】
ステップＳ８０５（作業目標状態算出工程）では、ステップＳ８０４（対象物体計測値算出工程）で得られた対象物体１６０の測定結果に基づき、所望の作業を行うために必要なロボットアーム１１１の冶具座標系における位置および姿勢を算出する。
【００９０】
まず、ハンド位置検出部１１４上の光切断線を検出することにより、ステップＳ８０４（対象物体計測値算出工程）と同様の手順にてハンド位置検出部１１４上に生じる光切断線上の輝点に関する冶具座標系における位置を算出する。
【００９１】
算出結果に基づき、ステップＳ５０５（作業部状態算出工程）と同様の手順にてハンド位置検出部１１４の光切断線で構成される三角形の法線ベクトルと重心の冶具座標系における値Ω＝［ｎR，ＸR］を算出する。
【００９２】
必要とされる目標状態は作業内容に依存するものである。ここでは、対象物体の把持を行う場合について説明する。対象物体１６０の計測結果とハンド位置検出部１１４の測定結果の相対的な位置関係から、ロボットアーム１１１を冶具座標系にて△Ω＝［△ｎR，△ＸR］移動させる必要があったとすれば、目標状態は
2010127719.tif 000032
として得ることができる。
【００９３】
ステップＳ８０６（作業部命令算出工程）では、ステップＳ８０５（作業目標状態算出工程）にて算出された目標状態
2010127719.tif 000033
をロボットアーム１１１に与える命令としてロボット座標系へと変換する。校正時に得られた座標推定関数ｇに
2010127719.tif 000034
を入力値として与えることで、対応するロボット座標系の座標値
2010127719.tif 000035
を得ることができる。
【００９４】
ステップＳ８０７（作業工程）では、ステップＳ８０６（作業部命令算出工程）で得られたロボットアーム１１１への命令
2010127719.tif 000036
をロボットコントローラ１３０に送信し、ロボットアーム１１１を移動させることで、所望の作業を行う。
【００９５】
以上の説明から明らかなように、本実施形態における作業システム１００では、カメラ１２０と、スリットレーザ投光器１１３及びハンド位置検出部１１４とを一体化せず、カメラ１２０は、ロボットアーム１１１とは独立した位置に配置する構成とした。また、スリットレーザ投光器１１３及びハンド位置検出部１１４は、ロボットアーム１１１上に配置する構成とした。
【００９６】
これにより、オクルージョンの問題ならびにビーム光の焦点深度の問題を回避することが可能となった。また、光軸間角度を大きくすることができるため、奥行き方向において高い計測精度を実現できるとともに、ロボットアームの大小に関わらず、解像度の高いカメラを配置することが可能となった。
【００９７】
更に、当該作業システムに適用される、３次元情報の計測方法及び校正方法を明示することで、当該作業システムにおける３次元情報の計測が実現可能であることを示した。
【００９８】
［第２の実施形態］
上記第１の実施形態における作業処理は、ステップＳ８０７（作業工程）において作業を行うのに充分な３次元情報が、ステップＳ８０４において算出されることを前提としていた。
【００９９】
しかしながら、ステップＳ８０４における算出結果として、例えば、対象物体１６０の位置及び姿勢を一意に推定するのに必要な３次元情報が得られない場合も考えられる。そこで、本実施形態では、ステップＳ８０４における算出結果として、ステップＳ８０７（作業工程）において作業を行うのに充分な３次元情報が得られないことがあることを前提とした場合の作業処理について説明する。
【０１００】
なお、本実施形態に係る作業システムの外観構成、機能構成ならび校正処理は、基本的に上記第１の実施形態に係る作業システムと同様であるため、ここでは説明を省略する。
【０１０１】
図９は、本実施形態に係る作業システムにおける作業処理の流れを示すフローチャートである。
【０１０２】
ステップＳ９０１（測定移動工程）〜ステップＳ９０４（対象物体計測値算出工程）では、上記第１の実施形態に係る作業システムの作業処理におけるステップＳ８０１（測定移動工程）〜ステップＳ８０４（対象物体計測値算出工程）と同様の処理を行う。
【０１０３】
ステップＳ９０５では、ステップＳ９０４における測定結果として、対象物体に対して作業を行うのに充分な３次元情報が得られたか否かを判定する。
【０１０４】
ステップＳ９０５において充分な３次元情報が得られていないと判定された場合には、ステップＳ９０１（測定移動工程）に戻る。そして、現在位置とは別の位置へと作業部１１０を移動させ、別の位置からスリット光を照射することにより、追加の３次元情報を取得する。
【０１０５】
一方、ステップＳ９０５において充分な３次元情報が得られていると判定された場合には、ステップＳ９０６に進む。ステップＳ９０６（作業目標状態算出工程）〜ステップＳ９０８（作業工程）では、上記第１の実施形態に係る作業システムの作業処理におけるステップＳ８０５（作業目標状態算出工程）〜ステップＳ８０７（作業工程）と同様の処理を行う。
【０１０６】
以上の説明から明らかなように、本実施形態によれば、上記第１の実施形態より得られる効果を享受しつつ、更に、作業工程において作業を行うのに充分な３次元情報が得られなかった場合にも対応することが可能となった。
【０１０７】
［第３の実施形態］
上記第１の実施形態では、発光されるスリット光の照射角度を固定し、撮像された光切断線２０１に基づいて、ロボットアーム１１１の位置及び姿勢が一意に定まるように、ハンド位置検出部の形状を構成することとした。
【０１０８】
しかしながら、本発明はこれに限定されず、ロボットアーム１１１の位置及び姿勢が一意に定まるように、スリットレーザ投光器１１３より発光されるスリット光の照射角度を可変とする構成としてもよい。以下、本実施形態の詳細について説明する。
【０１０９】
１．作業部の外観構成
図１０は、本実施形態に係る作業システムの作業部の外観構成を示す図である。図１０において、１００３は光走査部として機能する、可動式のガルバノミラーもしくはポリゴンミラーである。図１０に示すように、光走査部１００３は、スリットレーザ投光器１１３の前部に配置されており、計測制御部３０１からの指示に基づいて、スリット光の光切断面１０００の照射角度が変更できるように構成されている。
【０１１０】
なお、光走査部１００３によれば、一回の走査により、Ｋ本の光切断線が発生するものとする。このうち、ｋ本目の光切断線を発生させるための光走査部１００３の原点位置からのスリット光照射角度をαkとする。Ｋおよびα1〜αKはあらかじめ定義しておく固定値であり、校正処理時と作業処理時には同じ値を用いることとする。
【０１１１】
１００４はハンド位置検出部である。なお、ハンド位置検出部１００４には一回の走査により、Ｋ本の光切断線が発生するため、ハンド位置検出部１００４は、第１の実施形態のように複雑な形状である必要はなく、例えば図１０に示したように平らな板であってもよい。ハンド位置検出部１００４が平板形状を有する場合、光切断線１００１は１直線となる。
【０１１２】
２．作業システムにおける対象物体の計測原理
次に、光切断法により３次元情報を計測するための校正方法について説明する。
【０１１３】
２．１  校正冶具の説明
本実施形態に係る作業システムの校正に用いられる校正冶具は、上記第１の実施形態に係る作業システムの校正に用いられる校正冶具と同様であるため、説明は省略する。
【０１１４】
２．２  校正処理の詳細
次に、本実施形態に係る作業システムにおける校正処理の流れについて説明する。図１１は、作業システムにおける校正処理の流れを示すフローチャートである。
【０１１５】
ステップＳ１１０１（冶具座標系設計工程）、ステップＳ１１０２（校正移動工程）では、第１の実施形態において説明したステップＳ５０１（冶具座標系設計工程）、ステップＳ５０２（校正移動工程）と同様の処理を行う。
【０１１６】
なお、ステップＳ１１０２では、スリット光照射角度の変更回数をカウントするカウンタ値ｋを１に初期化したうえで、ステップＳ１１０３（照射角度変更工程）に進む。
【０１１７】
ステップＳ１１０３（照射角度変更工程）では、光走査部１００３におけるスリット光照射角度をαkに設定する。
【０１１８】
ステップＳ１１０４（校正データ取得工程）、ステップＳ１１０５（スリット光状態算出工程）では、第１の実施形態において説明したステップＳ５０３（校正データ取得工程）、ステップＳ５０４（スリット光状態算出工程）と同様の処理を行う。これにより、冶具座標系における光切断面１０００の平面式を得る。
【０１１９】
ステップＳ１１０６（作業部計測工程）では、数式１７および数式１９より、ハンド位置検出部１００４上にスリット光照射角度αkで得られる光切断線に関する冶具座標系の座標値を算出する。
【０１２０】
ステップＳ１１０７では、カウンタ値ｋ＝Ｋであるか否かを判定する。ステップＳ１１０７において、カウンタ値ｋ＜Ｋであると判定された場合には、カウンタ値ｋをインクリメントした後、ステップＳ１１０３に戻る。
【０１２１】
一方、ステップＳ１１０７において、カウンタ値ｋ＝Ｋであると判定された場合には、ステップＳ１１０８に進む。
【０１２２】
ステップＳ１１０８（作業部状態算出工程）では、スリット光照射角度α1〜αKそれぞれで得られたハンド位置検出部１００４上の光切断線に関する冶具座標系の座標値から、冶具座標系におけるロボットアーム１１１の位置および姿勢を算出する。
【０１２３】
ここで例えばハンド位置検出部１００４が図１０のように平らな板であれば、スリット光照射角度α1〜αKそれぞれで得られるハンド位置検出部１００４の光切断線は図１２のようになる。
【０１２４】
すなわち、冶具座標系において同一平面上にあるＫ本の線分となり、最小二乗法などでその法線方向ｎRを得ることができる。また、ハンド位置検出部１００４のエッジ１２０１および１２０２と両端となる光切断線１２０３および１２０４で囲まれる領域の重心位置をＸRとして求める。これにより、ロボットアーム１１１の位置および姿勢の観測値Ω＝［ｎR，ＸR］に対するロボット座標系における命令Θが一対一に決まることになる。
【０１２５】
ステップＳ１１０９では、データ取得回数が所定回数に到達したか否かを判定する。ステップＳ１１０９において、データ取得回数が所定回数に到達していないと判定された場合には、ステップＳ１１０２に戻り、ロボットアーム１１１を別の位置に移動させて、校正データの収集を継続する。
【０１２６】
一方、ステップＳ１１０９において、データ取得回数が所定回数に到達したと判定された場合には、ステップＳ１１１０に進む。
【０１２７】
ステップＳ１１１０（校正値算出工程）では、複数位置、複数スリット光照射角度において取得されたロボット座標系における命令、光切断面、ロボットアーム１１１の観測位置姿勢に関する対応関係から、それぞれの変換関数を生成する。
【０１２８】
まず、ｉ番目の校正位置における校正データを得るために与えたロボット座標系命令がΘiで、そのときスリット光照射角度α1〜αKに対してそれぞれ得られた光切断面のプリュッカー座標が
2010127719.tif 000037
であったとする。そのとき、任意のΘ、αを入力としたときに得られる光切断面のプリュッカー座標
2010127719.tif 000038
を推定する平面式推定関数
2010127719.tif 000039
を生成する。
【０１２９】
データ集合
2010127719.tif 000040
および
2010127719.tif 000041
をサンプルの組として、これらの変換関数は、例えば、多項式回帰による非線形関数モデルを最小二乗法によって平面式推定関数ｆの近似解を得てもよい。ロボットアーム１１１の作業範囲が広く、多項式回帰によるモデルの設定を低次にできない場合には、多層パーセプトロンを用いたバックプロパゲーション学習などによって平面式推定関数ｆの近似解を得てもよい。
【０１３０】
次に、ｉ番目の校正データを得るために与えたロボット座標系命令がΘiで、そのときスリット光照射角度α1〜αKを当てることによって得られたロボットアーム１１１の観測値がΩiであったする。そのとき、任意のΩを入力としたときに得られるロボット座標系命令Θを推定するロボット座標推定関数ｇ（Ω）＝Θを生成する。
【０１３１】
データ集合
2010127719.tif 000042
および
2010127719.tif 000043
をサンプルの組として、ステップＳ１１１０（校正値算出工程）における平面式推定関数ｆを生成するときと同様の要領でロボット座標推定関数ｇの近似解を得る。
【０１３２】
以上の処理により求められた関数ｆおよびｇの校正パラメータを、校正値保持部３０５を介して計算機１４０が持つ記憶装置に格納する。
【０１３３】
３．作業処理の詳細
次に、本実施形態に係る作業システムにおける作業処理の詳細について説明する。図１３は、本実施形態に係る作業システムにおける作業処理の流れを示すフローチャートである。
【０１３４】
ステップＳ１３０１（測定移動工程）では、第１の実施形態におけるステップＳ８０１（測定移動工程）と同様の処理が行われ、ロボットアーム１１１が移動する。なお、ステップＳ１３０１では、スリット光照射角度の変更回数をカウントするカウンタ値ｋを１に初期化したうえで、ステップＳ１３０２（照射角度変更工程）に進む。
【０１３５】
ステップＳ１３０２（照射角度変更工程）では、ガルバノミラー１００３におけるスリット光照射角度をαkに設定する。
【０１３６】
ステップＳ１３０３（測定データ取得工程）〜ステップＳ１３０５（対象物体計測値算出工程）では、第１の実施形態と同様の処理を行い、対象物体１６０上にある光切断線の冶具座標系における座標値を求める。
【０１３７】
ステップＳ１３０６では、カウンタ値ｋ＝Ｋであるか否かを判定する。ステップＳ１３０６において、カウンタ値ｋ＜Ｋであると判定された場合には、カウンタ値ｋをインクリメントした後、ステップＳ１３０２に戻る。
【０１３８】
一方、ステップＳ１３０６において、カウンタ値ｋ＝Ｋであると判定された場合には、ステップＳ１３０７に進む。
【０１３９】
ステップＳ１３０７では、測定結果として、対象物体に対して作業を行うのに充分な３次元情報が得られているか否かを判定する。例えば、対象物体１６０の位置および姿勢を一意に推定するのに必要な３次元情報が得られていないと判定された場合には、充分な３次元情報が得られていないと判定し、ステップＳ１３０１に戻る。そして、現在位置とは別の位置へとロボットアーム１１１を移動させ、別の位置からスリット光を照射することにより、追加の３次元情報を取得する。
【０１４０】
一方、ステップＳ１３０７において、測定結果として、対象物体に対して作業を行うのに充分な３次元情報が得られていると判定した場合には、ステップＳ１３０８に進む。
【０１４１】
ステップＳ１３０８（作業目標状態算出工程）では、校正時における作業部状態算出工程（ステップＳ１１０８）と同様の処理を行うことにより、ロボットアーム１１１の位置および姿勢を求める。
【０１４２】
ステップＳ１３０９（作業部命令算出工程）およびステップＳ１３１０（作業工程）では、第１の実施形態と同様の処理を行う。
【０１４３】
以上の説明から明らかなように、本実施形態では、スリットレーザ投光器１１３より発光されるスリット光の照射角度を変更可能な構成とした。これにより、ハンド位置検出部の形状に関わらず、ロボットアーム１１１の位置及び姿勢を一意に求めることが可能となった。
【０１４４】
［第４の実施形態］
上記第１、第２および第３の実施形態では、投光部１１３よりスリット光を投光する構成とした。
【０１４５】
しかしながら、本発明はこれに限定されず、例えば、投光部１１３として、空間コード化を行うためのパターン光投光器を用いる構成としてもよい。
【０１４６】
なお、空間コード化とは、投光器から明暗による２値パターン光の組み合わせを、カメラと同期を取って変化させながら照射および撮影することで空間をコード化し、そこから対応付けられた投光位置との３角測量により距離情報を得る方法である。以下、本実施形態の詳細について説明する。
【０１４７】
図１４は、本実施形態に係る作業システムの作業部の外観構成を示す図である。図１４において、１０１１は計測制御部３０１からの指示に基づいてカメラ１２０と同期してパターンを切り替えながらパターン光を投光するパターン投光器である。
【０１４８】
一回のパターン投光器１０１１による２値パターン光による撮影画像における任意の位置には、図１５に示すように１バイトの情報量が含まれる。ここでは、例えば、図１６のように縦方向に周期性のあるパターンの周波数を倍にしていくような変化によるパターン光をＮ種類与えてそれぞれの投光パターンを撮影する。これにより、画像上の任意の位置における輝度値変化を２値化して時系列に並べることで、Ｎバイトの２値コード情報が与えられることとなる。
【０１４９】
このとき、同一の２値コードを持つ画像上の点群は同一のパターン光変化を受けている部分であるため、図１５の例に示すように、パターン投光器１０１１からの同一照射平面上にあると言える。そのため、上記のようなパターン変化を利用した場合は、２N枚の平面に載る点を画像上で区別することができることになる。
【０１５０】
これら２Nの平面をＫ枚の光切断面と置き換えて考えれば、第３の実施形態と同値の問題となり、第３の実施形態と同様の手法により校正データの取得および作業時における対象物体の３次元情報取得を行うことが可能となる。
【０１５１】
以上の説明から明らかなように、本実施形態では、投光部１１３として、パターン光を投光するパターン投光器を用いる構成とした。
【０１５２】
この結果、パターン光による空間コード化においても、第３の実施形態と同様の方法で３次元情報の計測および校正が可能となった。
【０１５３】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１５４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読取可能な記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１５６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【０１５８】
【図１】本発明の第１の実施形態に係る作業システムの外観構成を示す図である。
【図２】作業部の外観構成を示す図である。
【図３】作業システムの機能構成を示す図である。
【図４】作業システムの校正に用いられる校正冶具を説明するための図である。
【図５】作業システムにおける校正処理の流れを示すフローチャートである。
【図６】校正冶具を撮影した画像データの一例を示す図である。
【図７】校正冶具を撮影した画像データの一例を示す図である。
【図８】作業システムにおける作業処理の流れを示すフローチャートである。
【図９】本発明の第２の実施形態に係る作業システムにおける作業処理の流れを示すフローチャートである。
【図１０】本発明の第３の実施形態に係る作業システムの作業部の外観構成を示す図である。
【図１１】作業システムにおける校正処理の流れを示すフローチャートである。
【図１２】光切断線の一例を示す図である。
【図１３】作業システムにおける作業処理の流れを示すフローチャートである。
【図１４】本発明の第４の実施形態に係る作業システムの作業部の外観構成を示す図である。
【図１５】パターン投光器による２値パターン光による撮影画像の一例を示す図である。
【図１６】パターン投光器による投光パターンの一例を示す図である。
【図１】
2010127719.tif 000044
【図２】
2010127719.tif 000045
【図３】
2010127719.tif 000046
【図４】
2010127719.tif 000047
【図５】
2010127719.tif 000048
【図６】
2010127719.tif 000049
【図７】
2010127719.tif 000050
【図８】
2010127719.tif 000051
【図９】
2010127719.tif 000052
【図１０】
2010127719.tif 000053
【図１１】
2010127719.tif 000054
【図１２】
2010127719.tif 000055
【図１３】
2010127719.tif 000056
【図１４】
2010127719.tif 000057
【図１５】
2010127719.tif 000058
【図１６】
2010127719.tif 000059