JP2007101197A - 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法 - Google Patents

物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法 Download PDF

Info

Publication number
JP2007101197A
JP2007101197A JP2005287421A JP2005287421A JP2007101197A JP 2007101197 A JP2007101197 A JP 2007101197A JP 2005287421 A JP2005287421 A JP 2005287421A JP 2005287421 A JP2005287421 A JP 2005287421A JP 2007101197 A JP2007101197 A JP 2007101197A
Authority
JP
Japan
Prior art keywords
point
search
data
master data
imaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005287421A
Other languages
English (en)
Inventor
Akira Kunisaki
晃 国崎
Masayuki Nakaya
正幸 中屋
Katsutoshi Ono
克俊 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nachi Fujikoshi Corp
Original Assignee
Nachi Fujikoshi Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nachi Fujikoshi Corp filed Critical Nachi Fujikoshi Corp
Priority to JP2005287421A priority Critical patent/JP2007101197A/ja
Priority to US11/529,492 priority patent/US20070076946A1/en
Publication of JP2007101197A publication Critical patent/JP2007101197A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/042Calibration or calibration artifacts

Abstract

【課題】無作為に積まれた探索対象物を個々に探索可能する。
【解決手段】撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段20と、撮像範囲内のレーザ光の走査を行う照射手段30と、レーザ光走査により得られる画像データから撮像範囲を細分化した点群の位置座標を示す三次元データを算出する三次元解析手段(41)と、撮像範囲内で探索すべき探索対象物を複数方向に向けた状態での各々の三次元データをマスターデータとして記憶するマスターデータ記憶手段45と、各方向のマスターデータについて共通する一点を、三次元解析手段により得られる三次元データの各点に位置合わせしたときに、いずれかの方向の前記マスターデータの各点の位置座標と三次元データの各点の位置座標とが近似するか否かを判定して、その判定結果により探索対象物の探索を行う判定手段(41)とを備えている。
【選択図】図1

Description

本発明は、撮像手段を用いた物体探索装置,物体探索方法,及び物体探索装置を備えるロボットシステムに関する。
物体探索装置は、例えば、産業用ロボットのシステムに搭載され、ロボットの作業対象物であるワークを探索するために使用される。
かかる従来の物体探索装置は、ワークが用意されたパレット上の領域に対してスリット光やスポット光の走査を行い、これをカメラを用いた視覚センサで撮像し、カメラ視線と光の照射方向とから光の照射位置を算出し、撮像領域内の三次元データを求めて、これによりワークの位置を求めていた(例えば、特許文献1参照)。
国際公開第97/024206号パンフレット
しかしながら、上記従来の物体探索装置にあっては、パレット上でワークが一定の向きに置かれていれば、容易にワーク位置の検出が可能であるが、ワークの向きが一定の向きから外れていると検出が困難となるという不都合があった。
さらに、上記従来の撮像装置は、パレット上においてワークが疎らな状態、つまり、一つ一つのワークが離れて置かれた状態であれば、周囲の平坦面に対してワークの形状が浮き彫りとなって検出されるためにワーク検出が可能である。
しかしながら、パレット上において、複数のワークが密に或いは乱雑に積まれた状態では、検出される三次元データは複雑な形状を示し、その中から個々のワークの位置と向きとを検出することは困難であるという不都合があった。
本発明は、所定方向に並べることなく置かれた、或いは無作為に積まれた探索対象物を個々に探索可能とすることをその目的とする。
請求項1記載の発明は、撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段と、撮像範囲内のレーザ光の走査を行う照射手段と、レーザ光走査により得られる画像データから撮像範囲を細分化した点群の位置座標を示す三次元データを算出する三次元解析手段と、撮像範囲内で探索すべき探索対象物を複数方向に向けた状態での各々の三次元データをマスターデータとして記憶するマスターデータ記憶手段と、各方向のマスターデータについて共通する一点を、三次元解析手段により得られる三次元データの各点に位置合わせしたときに、いずれかの方向のマスターデータの各点の位置座標と三次元データの各点の位置座標とが近似するか否かを判定して、その判定結果により探索対象物の探索を行う判定手段とを備える、という構成を採っている。
請求項2記載の発明は、請求項1記載の発明と同様の構成を備えると共に、探索対象物に対して、照射手段によりレーザ光の走査を行いつつ撮像手段による撮像を行うことで一定方向の探索対象物のマスターデータを算出すると共に、マスターデータに対してその向きを変える座標変換を行い複数方向についてマスターデータを算出するマスターデータ取得手段を備える、という構成を採っている。
請求項3記載の発明は、請求項1又は2記載の発明と同様の構成を備えると共に、判定手段は、三次元解析手段により得られる三次元データの点群の中から所定間隔ごととなる一部の点に対して判定を行った結果、近似度が高い点の周囲のみについてより密な間隔となる点に対してさらに判定を行う、という構成を採っている。
請求項4記載の発明は、請求項1,2又は3記載の物体探索装置を用いたロボットシステムにおいて、探索対象物に対する作業を行うツールを保持するロボットと、探索により求まる探索対象物の位置に基づいてツールを移動位置決めするようにロボットを制御するロボット制御装置とを備える、という構成を採っている。
請求項5記載の発明は、請求項4記載の発明と同様の構成を備えると共に、ツールは探索対象物を保持するハンドであり、ロボット制御装置は、探索により求まる探索対象物の位置及び方向に基づいて、ハンドにより探索対象物を保持運搬するようにロボットを制御する、という構成を採っている。
請求項6記載の発明は、撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段と、撮像範囲内のレーザ光の走査を行う照射手段と、レーザ光走査により得られる画像データから撮像範囲を細分化した点群の位置座標を示す三次元データを算出する三次元解析手段と、撮像範囲内で探索すべき探索対象物を複数方向に向けた状態での各々の三次元データをマスターデータとして記憶するマスターデータ記憶手段とを備える物体探索装置を用いた物体探索方法であって、各方向のマスターデータについて共通する一点を、三次元解析手段により得られる三次元データの各点に位置合わせする工程と、いずれかの方向のマスターデータの各点の位置座標と三次元データの各点の位置座標とが近似するか否かを判定する工程と、その判定結果により探索対象物の向きと位置とを特定する工程とを備える、という構成を採っている。
請求項7記載の発明は、請求項6記載の発明と同様の構成を備えると共に、探索対象物に対して、照射手段によりレーザ光の走査を行いつつ撮像手段による撮像を行うことで一定方向の探索対象物のマスターデータを算出する工程と、マスターデータに対してその向きを変える座標変換を行い複数方向についてマスターデータを算出する工程とを備える、という構成を採っている。
請求項8記載の発明は、請求項6又は7記載の発明と同様の構成を備えると共に、位置合わせする工程と判定を行う工程とは、三次元解析手段により得られる三次元データの点群の中から所定間隔ごととなる一部の点に対して位置合わせ及び判定を行った結果、近似度が高い点の周囲のみについてより密な間隔となる点に対してさらに位置合わせ及び判定を行う、という構成を採っている。
請求項1又は6記載の発明では、照射手段が撮像範囲内をレーザ光の走査を行う一方で、撮像手段が撮像を行うことで、走査により撮像範囲の各位置で照射されたレーザ光を撮像した画像データを取得する。
そして、撮像範囲内でのレーザ光の照射位置と当該レーザ光の照射方向と撮像手段の視点の方向とから撮像範囲内の照射位置の三次元座標を算出する。そして、走査により撮像範囲全体の各点(点群)について照射されたレーザ光の三次元座標を求め、撮像領域の三次元データを生成する。
一方、マスターデータ記憶手段には、探索対象物の表面上の複数点(点群)についての三次元位置座標を示す三次元データが、探索対象物を各方向に向けた状態について個別に記憶されている。
そして、撮像領域の三次元データの一点の位置に、マスターデータの一点を位置合わせした場合の当該マスターデータの点群の位置座標と撮像領域の三次元データの周囲の点群の位置座標とが近似するか否かの判定が行われる。かかる判定は、各方向のマスターデータごとに、同じ位置となる一点を撮像領域の三次元データの一点に位置合わせして行う。
上記判定を撮像領域の三次元データの点群について順番に行う。そして、撮像領域の三次元データの点群の中のある点といずれかの方向を向いた探索対象物のマスターデータとについて各点の位置座標が近似する場合には、その方向を向いた探索対象物がその一点を三次元データの一点に位置合わせした状態で存在するという探索結果を得ることができる。
上述のように、マスターデータの一点を撮像領域の一点とに位置合わせさせた結果、他の各点について位置座標が近似するか否かにより探索対象物の位置を探索するので、例え、複数の探索対象物が乱雑に積み重ねられた状態であって、撮像により得られる三次元データが複雑な態様を示したとしても、その一部の近似から一つの探索対象物を探索することが可能となる。
さらに、複数方向を向いた探索対象物の各マスターデータとの類似を判定するので、探索対象物がまちまちの方向を向いている状態であっても探索可能であると共に、いずれの方向のマスターデータと類似するかにより、探索された探索対象物がいずれの方向を向いた状態であるかを特定することも可能となる。
なお、近似判定は、撮像領域の三次元データの全ての点群について行わなくとも良い。例えば、請求項3記載の発明のように、所定間隔で間引かれた一部の点に対して判定を行っても良いし、撮像領域の三次元データの点群の中で探索対象物が載置された載置平面であることが事前に識別可能であるような点については判定の対象から除外するようにしても良い。
請求項2又は7記載の発明では、探索対象物のマスターデータが以下の手順で取得される。即ち、撮像範囲内に置かれた探索対象物に対して、照射手段がレーザ光の走査を行う一方で、撮像手段が撮像を行うことで、走査により探索対象物の各位置で照射されたレーザ光を撮像した画像データを取得する。
そして、撮像範囲内でのレーザ光の照射位置と当該レーザ光の照射方向と撮像手段の視点の方向とから探索対象物の表面の各点(点群)について三次元座標を算出し、撮像の際に向けられた方向で探索対象物の三次元データをマスターデータとして生成する。
さらに、上記一定の方向のマスターデータに対して方向を変える座標変換を図る演算が行われ、各方向を向いた探索対象物のマスターデータが算出されて、マスターデータ記憶手段に記憶される。
このように、請求項2又は7記載の発明では、撮像手段と照射手段を駆使してマスターデータを取得するので、探索対象物のマスターデータが既知なものではなくとも探索を行うことが可能となる。
また、探索対象物のマスターデータを取得する場合と探索を行う撮像範囲の三次元データを取得する場合とで、走査条件や撮像条件を等しくすることで、近似判定の際に一致度の高いマスターデータを用意することが可能となり、探索精度を向上させることが可能となる。
請求項3又は8記載の発明では、マスターデータの一点の位置合わせと近似の判定とを行う場合において、まず、三次元解析手段により得られる三次元データの全ての点に対して位置合わせ及び判定を行わず、一定間隔ごととなる一部の点についてのみ位置合わせ及び判定を行う。
その結果、近似度が高い点については、その周囲のより密のとなる点、或いはその周囲の全ての点に対して位置合わせ及び判定を行い、より近似度が高くなる点の絞り込みを行う。
これにより、三次元解析手段により得られる三次元データの全ての点に対する位置合わせ及び判定を不要として、処理負担の軽減と処理の迅速化を図ることが可能となる。
なお、近似度が高いか否かの判断は、例えば、近似度が予め設定された値よりも高いか否かにより判断しても良いし、各点について近似度の順位を求めて所定の順位内となるか否かにより判断しても良い。
請求項4記載の発明では、撮像範囲内に置かれた探索対象物が物体探索装置により位置が求められる。そして、ロボット制御装置は、求められた探索対象物の位置に基づいてロボットのツールを位置決めして探索対象物に対する所定の作業が行われる。
これにより、例えば、複数の探索対象物が乱雑に積み重ねられた状態であっても、その中から一つの探索対象物に対してツールの種類に応じた作業を行うことが可能となり、ロボットの作業を行うために探索対象物を事前に並べておく作業を不要とし、作業負担の軽減を図ることが可能となる。
請求項5記載の発明では、物体探索装置で求められた探索対象物の位置及び向きに基づいてロボットのハンドを位置決めして探索対象物の保持運搬が行われる。
これにより、例えば、複数の探索対象物が乱雑に積み重ねられた状態であっても、その中から一つの探索対象物に対して保持運搬を行うことが可能となり、作業負担の軽減を図ると共に、乱雑に積まれた探索対象物を並べ直す等、従来困難であった作業を行うことが可能となる。
(発明の実施形態の全体構成)
図1は本発明の実施形態たるロボットシステム100の全体構成図である。
上記ロボットシステム100は、パレット11上に探索対象物としてのワークWが乱雑に積まれた状態において、物体探索により個々のワークWの位置及び向きを認識し、これを保持して目的位置に運搬するためのシステムである。
かかるロボットシステム100は、撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段としての撮像装置20と撮像範囲内のレーザ光の走査を行う照射手段としてのレーザ照射装置30とレーザ光走査の撮像により得られる画像データを解析する画像解析装置40とを備える物体探索装置10と、ワークWに対する保持及び運搬作業を行うツールとしてのハンド114を保有するロボット110と、探索により求まるワークWの位置に基づいてロボット110の保持運搬動作の動作制御を行うロボット制御装置120とを備えている。
以下、各部について個別に詳細に説明することとする。
(物体探索装置のレーザ照射装置)
物体探索装置10のレーザ照射装置30は、スタンド31と、レーザ光を出射するレーザ発振器32と、スタンド31の上部においてレーザ発振器32を直交する二軸回りに回転駆動可能に支持する走査機構33とを備えている。
上記レーザ発振器32は所定の単一波長光をレーザ光として出射する。このレーザ発振器32には、レーザ光をスリット光化してパレット11側に出射させる光学系が併設されている。
上記走査機構33は、レーザ発振器32を直交する二つの軸回りにそれぞれ回動駆動を行うための駆動モータとしてのサーボモータ34(図2参照)を備えており、その一方のサーボモータ34による回動方向はスリット光の照射位置が当該スリット光に直交する方向に移動する方向となるように設定されている(図1矢印F方向)。これにより、照射されたスリット光はその照射位置から当該スリット光を並行に維持したまま移動を行い、その照射面全体をスリット光で走査することができる。
また、もう一方のサーボモータは、スリット光の照射位置が当該スリット光と並行となる方向に移動するようにレーザ発振器32を回動させるが、これはレーザ光による走査を行う際の走査位置の位置決めに使用される。
(物体探索装置の撮像装置)
撮像装置20は、撮像を行うためのCCDカメラ21と、レーザ照射装置30のスタンド31の上方においてCCDカメラ21がパレット11の上面を撮像するように保持するカメラスタンド22とを備えている。
そして、CCDカメラ21は、撮像画像を検出するCCD撮像素子23と、CCD撮像素子23の検出面に撮像画像を結像させる光学系(図示略)とを備えている。
上記光学系は、パレット11の上面全体が撮像範囲となるようにCCD撮像素子23の検出面のほぼ全体に像形成を行う。
CCD撮像素子23は、その検出面(結像が行われる面)に縦横共に等しい間隔に並んで設けられた無数の微細な光検出画素(フォトダイオード)を備えており、各画素は受光する光の輝度に応じた電圧をその並び順で出力する。画像解析装置40は、CCD撮像素子23からの出力を受けて、各画素からの信号出力の順番から撮像範囲内(撮像して画像取り込みが行われる撮像対象となる範囲)の画像に応じた画像データを生成する。
即ち、CCD撮像素子23には縦方向(Y方向とする)と横方向(X方向とする)とにそれぞれ既知数の画素が並んで設けられており、これらは決まった順番で出力を行うことから、各画素の出力を順番により特定することができる。このため、CCD撮像素子23の撮像範囲内に一部だけ輝度が異なる部分が存在する場合、異なる輝度値の出力を行う画素を特定することで、撮像範囲内においていずれの位置で特有の輝度となる部分が存在するかを識別することが可能となっている。
(物体探索装置の画像解析装置)
図2は物体探索装置10の制御系を示すブロック図である。
画像解析装置40は、後述する各種の処理を行うCPU41と、CPU41が実行する処理プログラムが格納されたROM42と、レーザ照射装置30に対する動作制御を行うためのレーザインターフェイス43と、CCDカメラ21からの画像信号を受信するためのカメラインターフェイス44と、CPU41が実行する各種の処理における各種のデータを記憶するメモリ45と、解析結果をロボット制御装置120に出力するための通信インターフェイス46と、CPU41による各種処理における所定の表示を行う表示モニタ47との接続を行うモニタインターフェイス48と、CPU41による各種処理における所定の入力を行う入力手段49との接続を行う入力インターフェイス50とを備えている。
(画像解析装置によるキャリブレーション実行手段としての処理)
上記構成により、画像解析装置40は、キャリブレーション実行手段としての処理を実行する。具体的には、CPU41が、撮像処理部20のCCD撮像素子23の一画素の間隔が撮像範囲内においてどの程度の大きさとなるかを特定するための画素間隔実測プログラムと、CCDカメラ21の光学系の結像レンズから撮像範囲(パレット11の上面)までの距離を算出するカメラ距離算出プログラムと、撮像範囲をレーザスリット光が一定間隔ごとに走査を行う際の各走査位置でのレーザ発振器32から出射されるレーザ光を含む各々の平面を示す式を算出するレーザ角度算出プログラムとにより各種の処理を実行する。
(キャリブレーション実行手段:画素間隔実測処理)
まず、画素間隔実測プログラムの実行に際し、図3に示す間隔測定用の治具200が使用される。
この治具200は、図3(A)に示すように、撮像範囲となる平面(本実施形態ではパレット11の上面)に載置される平板201と、平板201から垂直に立設されたCCDカメラ20の位置合わせ用の棒状体202とを備えている。
平板201は、その上面には正方形となる配置で四つのドット状のマーキング203が付されている。そして、隣接するマーキング203同士間の距離Kの実測値は予めメモリ45内に登録される。
また、平板201はその平板面に対して垂直に高さ調節を行う図示しない高さ調節手段を備えており、最低位置では治具200が置かれる平面(パレット11の上面)とほぼ等しい高さに調節することができ、この画素間隔実測プログラムに基づく処理の際には、当該最低高さにして使用される。
棒状体202は、平板201に対して垂直に立設されており、図3(B)に示すように、その上端部をCCDカメラ21に当接させることで四つのマーキング203の中心位置からほぼ垂直上方にCCDカメラ21を位置合わせすることができる。
これにより、垂直下方を向いて支持されているCCDカメラ21には、四つのマーキング203の中心位置が撮像範囲のほぼ中心となるように撮像させることができる。
図3(C)は治具200を上述のように位置決めしたときのCCDカメラ21による撮像画像を示す。図のX軸とY軸はCCDカメラ21の座標系であり、前述したCCD撮像素子23の各画素の縦横の並び方向に一致する。
図4に画素間隔実測プログラムによるCPU41の行う処理のフローチャートを示す。
画素間隔実測プログラムの実行により、CPU41は、CCDカメラ21により治具200の各マーキング203の撮像を行う(ステップS11)。
これにより、四つのマーキング203のカメラ座標系の位置座標(x1,y1),(x2,y2),(x3,y3),(x4,y4)を撮像による画像データから求める。なお、撮像画像内の各マーキング203の抽出は、撮像時における周囲の輝度との差から行われる。
なお、このカメラ座標系の位置座標はCCD撮像素子23の各方向について並ぶ画素数で表される。
そして、このうち隣接する二つの位置座標(x1,y1),(x2,y2)から距離y12(=y1−y2)と角度θ12(=tan-1((x1−x2)/(y1−y2)))とが算出される(ステップS12)。カメラ座標系での二つのマーキング203の間の距離はy12/cosθ12により求まり、その実際の距離Kは事前に登録されているので、K=y12/cosθ12とすると、CCDカメラ21がパレッ1ト1の上面を撮像した場合の一画素あたりの現実の距離(カメラ座標系の単位距離に対する実際上の距離との比率)はK・cosθ12/y12と算出される(ステップS13)。
また、CPU41は、隣接する他のマーキング203同士についても同様の処理を行い、一画素あたりの現実の距離を算出し、それぞれの値を比較する(ステップS14)。これにより、許容値異常の差が生じた場合には、CCDカメラ21の視線に対して治具200の平板201が垂直ではなく傾きを生じていると判断し、表示モニタによりエラー表示を行うと共に撮像のやり直しを要求する(ステップS15)。
また、CPU41は、各値の差が許容値内であれば、その平均値を求め(ステップS16)、一画素あたりの現実の距離の値としてメモリ45内に登録する(ステップS17)。
(キャリブレーション実行手段:カメラ距離算出処理)
次に、カメラ距離算出プログラムによるCPU41の処理について図5及び図6に基づいて説明する。図5はカメラ距離算出処理の原理説明図であり、図6はカメラ距離算出プログラムによるCPU41が行う処理のフローチャートを示す。ここで、以下の説明において、前述したX方向及びY方向に直交する方向をZ方向とし、CCDカメラ21のZ座標をz0とする。
まず、カメラ距離算出プログラムの実行に際し、前述した治具200がまた使用される。治具200の平板201をZ方向に高さ調節を行い、パレット11の上面高さに等しい低位置z1と高位置z2とにそれぞれ高さ調節した状態で各マーキング203の撮像を行う。このとき、マーキング203のX座標値は、低位置z1ではポイントマーク203がCCDカメラ21から遠いので図5に示すように、x2となり、高位置z2ではx1(>x2)となる。
このとき、三角形Δ1とΔ2とは互いに相似形なので、次式(1)が成り立つ。
(x1−x2)/(z2−z1)=x2/(z0−z2) …(1)
一方、求めるべきCCDカメラ21の高さは、z0−z1で求めることができ、上式(1)は次式(2)に展開することができる。
z0−z1=x1(z2−z1)/(x1−x2) …(2)
z2−z1の値は、治具200の調節高さ(低位置と高位置の差)なので予めメモリ45に登録しておくことができ、x1,x2の値は撮像により求まるので、CCDカメラ21の高さとなるz0−z1を算出することが可能である。
CPU41のカメラ距離算出プログラムによる処理を説明する。
カメラ距離算出プログラムの実行により、CPU41は、CCDカメラ21により低位置と高位置とで治具200の撮像を行う(ステップS21)。
これにより、四つのマーキング203のカメラ座標系の位置座標(x1,y1),(x2,y2),(x3,y3),(x4,y4)を撮像による画像データから求める。なお、低位置での撮像は画素間隔実測プログラムの処理で得られた画像データを使用しても良い。その場合、高位置での撮像のみを行うようにしても良い。
そして、CPU41は、高さ調節の前後での撮像画像におけるX座標の変化量と治具200の高さ調節量とから、CCDカメラ21の高さとなるz0−z1の値を算出する(ステップS22)。
また、CPU41は、全てのマーキング203についても同様の処理を行い、各々から求まるCCDカメラ21の高さの値を比較する(ステップS23)。これにより、許容値異常の差が生じた場合には、CCDカメラ21の視線に対して治具200の平板201の高さ調節が垂直ではなく傾きを生じて行われたものと判断し、表示モニタによりエラー表示を行うと共に撮像のやり直しを要求する(ステップS24)。
また、CPU41は、各値の差が許容値内であれば、その平均値を求め(ステップS25)、CCDカメラ21の高さとしてメモリ45内に登録する(ステップS26)。
(キャリブレーション実行手段:レーザ角度算出処理)
次に、レーザ角度算出プログラムによるCPU41の処理について図7及び図8に基づいて説明する。図7はレーザ角度算出処理の原理説明図であり、図8はレーザ角度算出プログラムによるCPU41が行う処理のフローチャートを示す。
レーザ照射装置30は、撮像範囲となるパレット11の上面の範囲内についてCCD撮像素子23の画素数とスリット光の走査密度に応じた点群ごとに高さデータを求めるために、一定の間隔でスリット光の照射位置をスリット光に直交する方向にずらしながら照射を行い、その都度、CCDカメラ21による撮像が行われる。
そして、スリット光を撮像した各画素ごとに高さデータを算出するために、そのスリット光を含む平面の数式を求める必要性があり、このために、レーザ角度算出処理が行われる。
なお、撮像範囲を走査する際のスリット光の一定間隔の送り量は、レーザ照射装置30の走査機構33のサーボモータ34の回転角度により決定され、走査時の個々の回転角度は全て事前にメモリ45内に登録されている。また、サーボモータ34の回転角度範囲は撮像範囲に応じて開始角度から終了角度までの範囲が登録される。これにより、CPU41は、スリット光の走査本数を算出する。
そして、このレーザ角度算出処理では、個々の回転角度における全てのスリット光を含む平面の数式の算出が行われる。
レーザ角度算出プログラムの実行に際し、前述した治具200がまた使用される。まず、所定の走査位置となる角度で固定して照射されているスリット光に対して、治具200の平板201をZ方向に高さ調節を行い、パレット11の上面高さに等しい低位置z1と高位置z2とにそれぞれ高さ調節した状態でスリット光の撮像を行う。
低位置と高位置とでそれぞれ撮像されたスリット光のX切片をx1,x2、Y切片をy1,y2とすると、図示の各点は、X1=(x1,0,z1),Y1=(0,y1,),X2=(x2,0,z2),Y2=(0,y2,z2)となる。
点X1から点Y1へ向かうベクトルは(−x1,y1,0)となり、その大きさは(x12+y12)1/2となる。
また、点X1から点Y2へ向かうベクトルは(−x1,y2,z2−z1)となり、その大きさは、(x12+y22+(z2−z1)2)1/2となる。
また、一方のベクトルの方向余弦は、(x12+y12)-1/2・(−x1,y1,0)となる。ここでこれを(l1,m1,n1)と置き換える。
また、他方のベクトルの方向余弦は、(x12+y22+(z2−z1)2)-1/2・(−x1,y2,z2−z1)となる。ここでこれを(l2,m2,n2)と置き換える。
これらの方向余弦を含み、点X1を通過する平面は次式(3)で求められる。
m1・n2・(x−x1)−l2・n1・y−l1・m2・(z−z1)=0 …(3)
ところで、z1,z2の値は撮像時の治具200の高さを予め登録しておけばよく、x1,y1の値はCCDカメラ21の検出により求まるが、x2,y2の値は、治具200を高位置としたときの位置なので直接は求まらない。
即ち、図7に示すように、CCDカメラ21は、x2,y2の値の代わりに、x2’,y2’の値を検出してしまう。
但し、x2’=x2・(z0−z1)/(z0−z2)、y2’=y2・(z0−z1)/(z0−z2)となるので、検出値x2’,y2’からx2,y2の値を算出することができる。
従って、CPU41は、スリット光の撮像によりレーザスリット光を含む平面の数式を算出することができる。
そして、全ての照射角度のレーザスリット光について、平面の式を算出し、メモリ45に登録を行う。
CPU41のレーザ角度算出プログラムによる処理を説明する。
まず、レーザ角度算出プログラムの実行により、CPU41はスリット光の走査本数のカウント値K=1に設定する(ステップS31)。
そして、レーザ照射装置30のサーボモータ34の回転角度をメモリ45から読み出すと共に現在の走査本数の照射角度に合わせるように駆動させる(ステップS32)。
CPU41は、CCDカメラ21により低位置と高位置とで治具200に投影されるスリット光の撮像を行う(ステップS33)。
これにより、四点X1,X2,Y1,Y2の位置座標を算出し、さらに、登録された治具200の高さの値から、スリット光を含む平面の数式を算出する(ステップS34)。
そして、このとき、四点X1,X2,Y1,Y2の中から三点の組み合わせを作り、それぞれから平面の数式を算出する(ステップS35)。
そして、数式の各係数の平均化或いは最小二乗法により一つの平面の式を求め、これをメモリ45内に登録する(ステップS36)。
次いで、CPU41は、走査本数のカウント値を1加算し(ステップS37)、走査本数が予定される全ての本数に到達したかを判定し(ステップS38)、到達していなければ処理をステップS32に戻して次の照射角度での平面算出を行い、到達していれば、処理を終了させる。
(画像解析装置によるマスターデータ取得手段としての処理)
さらに、画像解析装置40は、そのCPU41が、ROM42内のマスターデータ取得プログラムを実行することにより、ワークWに対して、レーザ照射装置30によりレーザスリット光の走査を行いつつ撮像装置20による撮像を行うことで一定方向のワークWのマスターデータを算出すると共に、マスターデータに対して方向を変える座標変換により複数方向についてマスターデータを算出するマスターデータ取得手段としての処理を実行する。
ここで、レーザスリット光の撮像とこれによる三次元データの生成の手法について図9により説明する。図9(A)は撮像範囲内に置かれたワークWに対してある照射角度でレーザスリット光を照射した場合の状態説明図であり、図9(B)はその撮像画像を示す。
平面から突出した部位に斜め方向からレーザスリット光が照射されると、高さがある部分についてはその形状に応じてスリットの直線部位から変形しズレを生じた状態が撮像される。
図9(A)に示すワークW上のある点Pは、その三次元の座標が実際には(x,y,z)である場合でも、CCD撮像素子23は平面センサであるため、カメラ視線に沿って点Pからパレット11の上面におろした点P’(x',y',z1)として検出される。なお、実際上は、x',y'のみがCCD撮像素子23の撮像画像から求まる位置座標であり、z1は前述したパレット11の上面のZ座標値である。
そして、CCDカメラ21の高さzeはキャリブレーションで求められているので、カメラ位置(0,0,ze)と検出される点P’(x',y',z1)とを結ぶ直線とレーザスリット光を含む平面(キャリブレーションで求められた前述の数式(3))との交点をそれぞれの数式から算出することでワークWの点Pの三次元座標(x,y,z)を求めることができる。
上述のようにして一回の撮像について、撮像されるスリット光画像の全長に渡る各点について三次元座標を算出する。さらに、撮像範囲全体についてレーザスリット光の走査を行い、各照射角度ごとに三次元座標を算出する。
そして、得られた各照射角度ごとの三次元データの中で、ワークW以外の部分、即ち、パレット11の上面を示す位置座標(z=z1)となるデータは全て除去した上で各走査で得られた座標値を合成することで、パレット11上に置かれた方向を向いた状態でのワークWの三次元データを得ることができる。この三次元データは、ワークWの表面におけるレーザスリット光の走査密度とCCD撮像素子23の画素密度に応じた点群としてのデータとなる。
そして、後述する撮像範囲の撮像画像に基づく三次元データとの比較によりワークWを探索する際の処理の都合上、上記ワークWの三次元データの点群の一の点を基準点と定め(任意でよい)、この基準点から他の全ての点に向かうベクトルとしてのデータに変換する。つまり、基準点を(0,0,0)とし、他の点は(算出された三次元データの位置座標−もとの基準点の位置座標)により求められ、これがマスターデータとして登録される。
また、物体探索装置10では、パレット11上に乱雑に積まれた複数のワークWの中から一つのワークを発見することを目的とするので、探索すべきワークWは、X、Y、Z軸を中心としていずれの方向に傾いた状態であるかは定かでなく、このため、ワークWについて各方向を向いた状態でのマスターデータが必要となる。
従って、上記手法で得られた一定方向のマスターデータを、X、Y、Zの各軸回りで座標値の角度変換を行い各方向を向いたワークWのマスターデータも登録が行われる。例えば、X、Y、Zの各軸回りに0〜180°の範囲で5°ずつ角度変換を行う場合、これらを組み合わせたものも用意されるので、36×36×36=46656個のマスターデータが算出され登録される。
なお、おかれる向きによって全く異なる形態となるワークWの場合には各方向について上記複数のマスターデータを求め登録することが望ましい。例えば、ワークWの表と裏の形態が全く異なるような場合には、表面と裏面のそれぞれで撮像して各々のマスターデータを生成し、さらに、それぞれを回転させたマスターデータを生成し、メモリ45に登録することが望ましい。
CPU41のマスターデータ取得プログラムによる処理を説明する。図10はマスターデータ取得プログラムによるCPU41が行う処理のフローチャートを示す。
まず、マスターデータ取得プログラムの実行により、CPU41はスリット光の走査本数のカウント値K=1に設定する(ステップS41)。
そして、レーザ照射装置30のサーボモータ34の回転角度をメモリ45から読み出すと共に現在の走査本数の照射角度に合わせるように駆動させる(ステップS42)。
CPU41は、CCDカメラ21により撮像範囲内のスリット光の撮像を行う(ステップS43)。
このとき、撮像による画像データについて予め設定された閾値以上の輝度となる画素のデータのみを抽出する二値化処理を行い撮像画像からスリット光画像のデータのみを抽出する。スリット光の画像データから三次元データを算出する(ステップS44)。
次いで、CPU41は、走査本数のカウント値を1加算し(ステップS45)、走査本数が予定される全ての本数に到達したかを判定し(ステップS46)、到達していなければ処理をステップS42に戻して次の照射角度での三次元データの算出を行う。
一方、全ての走査が完了していれば、得られた三次元データからパレット11の上面のデータを除去すると共に合成する(ステップS47)。
さらに、CPU41は、合成された三次元データから任意で基準点を決め、各点について基準点からの位置ベクトルとするベクトル化を図ることでマスターデータを生成する(ステップS48)。
そして、この一方向のマスターデータを各軸回りで角度変換する(ステップS49)。
そして、各方向を向いたワークWのマスターデータを全てメモリ45内に登録する(ステップS50)。
なお、このときのメモリ45は、複数方向を向いたワークWの各マスターデータを記憶するマスターデータ記憶手段に相当する。
(画像解析装置による三次元解析手段としての処理)
さらに、画像解析装置40は、そのCPU41が、ROM42内の三次元解析プログラムを実行することにより、パレット11上に乱雑に複数のワークWが積まれた状態において、レーザスリット光の走査をしつつ撮像を行い、これにより得られる画像データから撮像範囲をCCD撮像素子の画素密度とレーザスリット光の走査密度に応じて細分化した点群の位置座標を示す撮像範囲三次元データを算出する三次元解析手段としての処理を実行する。
レーザスリット光の撮像とこれによる撮像範囲三次元データの生成の原理については、前述したマスターデータ生成と同じであるため説明を省略し、異なる点についてのみ説明を行うこととする。
つまり、撮像範囲三次元データの生成にあっては、まず、各レーザスリット光の撮像によって得られた三次元データを合成し、パレット11の上面にあたるデータを除去した後に、ベクトル化は行われることなく撮像範囲三次元データとしてメモリ45に記録される。
CPU41の三次元解析プログラムによる処理を説明する。図11は三次元解析プログラムによるCPU41が行う処理のフローチャートを示す。
まず、三次元解析プログラムの実行により、CPU41はスリット光の走査本数のカウント値K=1に設定する(ステップS61)。
そして、レーザ照射装置30のサーボモータ34の回転角度をメモリ45から読み出すと共に現在の走査本数の照射角度に合わせるように駆動させる(ステップS62)。
CPU41は、CCDカメラ21により撮像範囲内のスリット光の撮像を行う(ステップS63)。
次いで、スリット光の二値化画像データから三次元データを算出する(ステップS64)。
次いで、CPU41は、走査本数のカウント値を1加算し(ステップS65)、走査本数が予定される全ての本数に到達したかを判定し(ステップS66)、到達していなければ処理をステップS62に戻して次の照射角度での三次元データの算出を行う。
一方、全ての走査が完了していれば、得られた三次元データからパレット11の上面のデータを除去すると共に合成する(ステップS67)。
そして、合成された撮像範囲三次元データはメモリ45内に記録される(ステップS68)。
(画像解析装置による判定手段としての処理)
さらに、画像解析装置40は、そのCPU41が、ROM42内の判定プログラムを実行することにより、各方向のマスターデータの基準点を、三次元解析処理で得られた撮像範囲三次元データの各点に位置合わせしたときに、いずれかの方向のマスターデータの各点の位置座標と三次元データの各点の位置座標とが近似するか否かを判定する。
また、かかる判定プログラムにより判定処理においては、CPU41は、撮像範囲三次元データの点群の中から所定間隔ごととなる一部の点に対して第一の判定を行った結果、近似度が高い点の周囲のみについてより密な間隔となる点に対してさらに第二の判定を行う。
上記判定プログラムにより行われる判定処理について詳細に説明する。図12は判定処理における原理説明図である。
即ち、画像形成装置40には、マスターデータ取得処理と三次元データ解析処理により、メモリ45内には、各方向のマスターデータと撮像範囲三次元データとが格納されている。これらは、いずれも、CCD撮像素子の画素密度と走査密度に応じて面状に並んで存在する点群の集合と考えることができる。
ここで、いずれかのマスターデータの任意の一点を基準点とし、その基準点を撮像範囲三次元データのいずれかの一点に対して位置決めした場合、撮像範囲三次元データ内におけるワークの基準点に相当する点に位置決めされなければ、図12(A)のように、マスターデータの各点群Mと撮像範囲三次元データ内のワーク表面を構成する点群Hとは各点同士の位置は殆どが一致も近似もしない。
また、向きの異なるマスターデータが選択されて、その基準点を撮像範囲三次元データのいずれかの一点に対して位置決めした場合も、図12(B)のように、マスターデータの各点群Mと撮像範囲三次元データ内のワーク表面を構成する点群Hとは各点同士の位置は殆どが一致も近似もしない。
しかしながら、正しい向きのマスターデータが選択されると共に、当該マスターデータの基準点が撮像範囲内の三次元データの点群の中のワークを構成する点群の基準点に相当する一点に位置決めされて当てはめられると、図12(C)のように、当該マスターデータのマスターデータの各点群Mと撮像範囲三次元データ内のワーク表面を構成する点群Hとは各点同士の位置が一致或いは近似することとなる。
撮像範囲三次元データを構成する点群の一点の位置座標となるようにマスターデータの基準点の位置座標を変換し、且つ当該マスターデータの他の点群について同じ方向に同じ位置変化量だけ変換を加えると、マスターデータ全体を撮像範囲内に位置決めすることができる。つまり、マスターデータの基準点を含む全ての座標値に対して、撮像範囲三次元データの中から選択された一点の位置座標値を加えると、マスターデータの当てはめを行うことができる。
そして、
(1)位置変換されたマスターデータの各点を撮像範囲三次元データの各点と比較し、マスターデータの各点ごとに近接距離に基づく評価点をつけて全体を合計する。
(2)位置変換されたマスターデータの各点について撮像範囲三次元データに所定距離内となる近接点が存在するか判定して存在する点の個数を評価点とする。
その他、周知の近接評価を行い、その評価点が規定値を超える場合に一致判定を行う。
また、上記判定処理にあっては、撮像範囲三次元データの全ての点についてマスターデータの当てはめ及び判定等を実行すると、CPU41の処理負担が大きくなり、処理速度も低下するので、粗く全体的に行われる一次判定と精密に行われる二次判定とに段階的に分けて判定が行われる。
つまり、撮像範囲三次元データの全ての点群がPM1〜PMkまである場合、点群の中から一定の並び間隔で間引きを行い、点数をPS1〜PSnまでに低減させた間引き撮像範囲三次元データを用意する(但し、m>n)。
そして、この間引き撮像範囲三次元データの各点に対して各マスターデータの基準点の当てはめを行い、近接評価を行う。
このとき、密な撮像範囲三次元データに対する評価基準である第二の一致条件に比べて、間引き撮像範囲三次元データに対する評価基準である第一の一致条件を緩やかに設定する。例えば、一致判定とする評価点を低く設定する、或いは、近接点と判断するための判断距離を大きく設定する等である。
これにより、一次判定をパスした場合、マスターデータ或いは撮像範囲三次元データの点群の中で、他方の点群の中に近似する点が存在すると判断された点を集めると共に、その中からX方向とY方向のそれぞれについて、最小となる座標値と最大となる座標値を算出する。
そして、密となる撮像範囲三次元データの点群PM1〜PMmの中から、X軸方向の最小値から最大値の範囲とY軸方向の最小値から最大値の領域内となる一部の点群(PMj〜PMkとする)のみを抽出し、二次判定を実行する。
これにより、ワークWの存在可能性が低い領域については精密な判定の対象から外し、ワークWの存在可能性が高い領域についてのみ精密な判定を行うことができる。
CPU41の判定プログラムによる処理を説明する。図13は判定プログラムによるCPU41が行う処理のフローチャートを示す。
まず、一次判定が行われる。即ち、CPU41は、間引き撮像範囲三次元データをメモリ45内から読み出し、その中から最初の点PS1を選択する(ステップS81)。
次いで、当てはめを行うマスターデータM1を選択する(ステップS82)。
そして、マスターデータM1の基準点が選択点PS1の位置となるようにマスターデータM1の点群を位置変換する(ステップS83)。
そして、位置変換されたマスターデータM1の各点と間引き撮像範囲三次元データの各点との近似判定を行い、条件がゆるい第一の一致条件で一致評価を行う(ステップS84)。
これにより、一致する評価が得られない場合には(ステップS85)、次のマスターデータを選択し(ステップS86)、全てのマスターデータを選択したか判定が行われる(ステップS87)。
これにより、全てのマスターデータの当てはめが行われていない場合には、ステップS83に処理が戻されて、次のマスターデータについて当てはめと一致評価が行われる。
また、まだ全てのマスターデータの当てはめが行われた場合には、間引き撮像範囲三次元データの次の点が選択され(ステップS88)、全ての点を選択したか判定が行われる(ステップS89)。
その結果、間引き撮像範囲三次元データの全ての点が選択されていた場合には、処理を終了する。
また、間引き撮像範囲三次元データの全ての点が選択されていない場合には、処理をステップS82に戻し、次の点について各マスターデータの当てはめが行われる。
一方、ステップS85の判定で一致する評価が得られると、一致評価が得られた点PSiの順番が記憶され(ステップS90)、二次判定に移行する。
即ち、CPU41は、密な撮像範囲三次元データをメモリ45内から読み出し、その中から前述した手法で一部の範囲の点PMj〜PMkを抽出する(ステップS91)。
そして、その中から最初の点PMjを選択する(ステップS92)。
次いで、当てはめを行うマスターデータM1を選択する(ステップS93)。
そして、マスターデータM1の基準点が選択点PMjの位置となるようにマスターデータM1の点群を位置変換する(ステップS94)。
そして、位置変換されたマスターデータM1の各点と密なる撮像範囲三次元データの各点との近似判定を行い、条件が厳しい第二の一致条件で一致評価を行う(ステップS95)。
これにより、一致する評価が得られない場合には(ステップS96)、次のマスターデータを選択し(ステップS97)、全てのマスターデータを選択したか判定が行われる(ステップS98)。
これにより、全てのマスターデータの当てはめが行われていない場合には、ステップS94に処理が戻されて、次のマスターデータについて当てはめと一致評価が行われる。
また、まだ全てのマスターデータの当てはめが行われた場合には、密なる撮像範囲三次元データの次の点が選択され(ステップS99)、全ての点を選択したか判定が行われる(ステップS100)。
その結果、密なる撮像範囲三次元データの全ての点が選択されていた場合には、処理を終了する。
また、密なる撮像範囲三次元データの全ての点が選択されていない場合には、処理をステップS93に戻し、次の点について各マスターデータの当てはめが行われる。
一方、ステップS96の判定で一致する評価が得られると、一致評価が得られた点PMiに基準点を当てはめまるように位置変換されたマスターデータの三次元データが通信インターフェイス46と通信ハーネスを介してロボット制御装置120に出力される(ステップS101)。
一方、二次判定による一致評価は、マスターデータに対して近似点が存在すると認められた点については、密となる撮像範囲三次元データの点群の中から削除される。継続される次の判定の際には不要となるからである。
同様に間引き撮像範囲三次元データの点群の中からも二次判定でマスターデータに対して近似点が存在すると認められた点に相当する点が削除される。
つまり、メモリ45内において、一部削除された新たな間引き撮像範囲三次元データと密となる撮像範囲三次元データに更新が行われる。
ついで、ステップS90の処理で記憶された一次判定を中断した点PSiが読み出され、処理がステップS82に戻されて、間引き撮像範囲三次元データについて次の点に対する一次判定が再開される(ステップS102)。
(ロボット)
次に、ロボットシステム100のロボット110について図1に基づいて説明する。
ロボット110は、土台となるベース111と、関節113で連結された複数のアーム112と、各関節113ごとに設けられた駆動源としてのサーボモータ(図示略)と、各サーボモータの軸角度をそれぞれ検出するエンコーダ(図示略)と、連結されたアーム112の最先端部にはワークWを挟んで保持するツールとしてのハンド114を備えている。
上記各関節113は、アーム112の一端部を揺動可能として他端部を軸支する揺動関節と、アーム112自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット110はいわゆる多関節型ロボットに相当する。
また、ロボット110は、六つの関節113を具備しており(一部図示略)、その先端部ハンド114を任意の位置に位置決めし任意の姿勢を取らせることが可能となっている。
また、ハンド114は、駆動源としてサーボモータを備えており、これにより離接可能な二つの挟持爪を備えている。このハンド114の一対の挟持爪は一つのサーボモータにより常に互いのちょうど中間位置に向かって移動するため、当該中間位置を基準にハンド114の位置決めを行うようになっている。
(ロボット制御装置)
図14はロボット制御装置120のブロック図である。
このロボット制御装置120は、当該ロボット制御装置120全体を制御するシステムプログラムとロボット110の動作制御を行う制御プログラムと各種の初期設定データが格納されたROM122と、ROM122に格納された各種のプログラムを実行するCPU121と、CPU121の処理により各種データを格納するワークエリアとなるRAM123と、CPU121の実行する制御プログラムに従って決定されるロボット110の各関節113のサーボモータのトルク値に応じたサーボモータ駆動電流を通電するサーボ制御回路124と、各関節113のエンコーダ出力をカウントするカウンタ125と、前述の制御プログラムの処理により求められるロボット110の制御に関する各種のデータが格納される記憶手段としてのメモリ126と、ロボット110の教示点、その他の各種の設定を入力するための例えばキーボード及びそのインターフェイスからなる入力手段127と、画像解析装置40からの解析結果を受信するための通信インターフェイス128と、通信インターフェイス上記各構成の信号の送受可能に接続するバス129とを備えている。
なお、上記カウンタ125及びサーボ制御回路124は、ロボット110の各関節113のサーボモータごとに個別に設けられているが図14では図示を省略している。
上記ロボット制御装置120は、画像解析装置40が取り扱うCCDカメラ21による座標系とは異なるロボット座標系に従ってロボット110の動作制御を行う。
従って、通信インターフェイス128から画像解析装置40の座標系に基づくワークWの位置及び向きを示す三次元データを受信した場合には、そのままロボット座標系に取り込むことはできない。
従って、ロボット制御装置120と画像解析装置40とについて周知の手法によりキャリブレーションを行っても良いし、入力手段127を用いてロボット110を動作させながら、画像解析装置の座標系の基準となる位置(例えば、原点、X軸、Y軸、Z軸上の点等)を教示を行い、CPU121の演算により、画像解析装置40の座標系データをロボット座標系のデータに変換する変換式(変換行列)を算出するように変換プログラムをROM122内に用意しても良い。
また、同様にして、パレット11の配置、CCDカメラ21の配置、光軸、レーザ発振器32の配置などをデータ入力しても良い。
このようにして、CPU121は、画像解析装置40から受信したワークWの位置及び向きを示す三次元データをロボット座標系のデータに変換すると、ハンド114によるワークWの挟持を行うための特徴点などを演算して求め、ロボット110のアーム先端位置を決定すると共に当該位置に位置決めする動作制御を実行する。
さらに、CPU121は、ハンド114の動作制御によりワークWを挟持させ、予め定められた運搬位置にロボット110のアーム先端を移動させ、所定の向きにワークWを向けてハンド114から解放する動作制御を実行する。
(ロボットシステムの効果)
上述のように、ロボットシステム100の物体探索装置10では、マスターデータの基準点を撮像範囲三次元データの一点とに位置合わせさせた結果、他の各点について位置座標が近似するか否かによりワークWの位置を探索するので、例え、複数のワークWが乱雑に積み重ねられた状態であって、撮像により得られる撮像範囲三次元データが複雑な態様を示したとしても、その一部の近似から一つのワークWを探索することが可能である。
さらに、あらゆる方向のマスターデータを用意し、各々の類似を判定するので、ワークWがまちまちの方向を向いている状態であっても探索可能であると共に、当該ワークWの向きを特定することも可能となる。
しかも、上記物体探索装置10の探索結果を利用するので、ロボット制御装置120は、複数のワークWを乱雑に積み重ねた状態であっても、その中から一つのワークWに対してハンド114により保持運搬を行うことが可能となり、ロボット110の作業を行うためにワークWを事前に決まったルールで並べておいたり、その並び方を事前に入力する必要がなくなり、これらの作業負担の軽減を図ることが可能となる。
また、物体探索装置10は、撮像装置20とレーザ照射装置30を駆使してマスターデータを取得するので、ワークWのマスターデータを数値計算で求めたり、データを入力したり、事前にデータを用意することなく探索を行うことが可能となる。
同様に、ロボット制御装置120も扱うべきワークの初期データの作成や入力を不要とし、例え未知のワークであっても作業を行うことが可能となる。
また、画像解析装置40がワークWのマスターデータを取得する場合、走査条件や撮像条件を等しくすることで、近似判定の際に一致度の高いマスターデータを用意することが可能となり、探索精度を向上させることが可能となる。
さらに、物体探索装置10は、マスターデータの一点の位置合わせと近似の判定とを行う場合において、一次判定と二次判定とに段階的に行うので、密となる撮像範囲三次元データの点群の全てに対してマスターデータの位置合わせ及び二次判定を行わずにすませることができる。
その結果、判定の精度を極力低減して、処理負担の軽減と処理の迅速化を図ることが可能となる。
(その他)
上述したレーザ光照射装置はスリット光を照射するものであったが、これに限らず、例えば、スポット光するレーザ光照射装置を使用しても良い。その場合、スポット光を副走査方向(例えばスリット光の線上と同じ方向)に走査しつつ主走査方向(副走査方向と直交する方向)に走査して、撮像範囲全体の走査が行われる。
また、レーザ照射装置30は、レーザ発振器を直接回動させてレーザスリット光の走査を行っていたが、特にこれに限定されるものではなく、一般に知られる他の光走査技術を用いても良い。例えば、レーザ発振器を固定とし、出射されるレーザ光を反射させるミラーの反射面を回動又は回転させる方式としても良い。
なお、判定手段の処理において、疎なる撮像範囲三次元データでの一致判定の際には、、マスターデータについても、より大きな均一角度ごとに変化する一部のマスターデータのみを使用しても良い。例えば、本実施形態では5°ずつ姿勢変化させたマスターデータを使用するが、例えばより疎に15°間隔となる一部のマスターデータのみを疎なる撮像範囲三次元データでの一致判定に使用する処理を行っても良い。
本発明の実施形態たるロボットシステムの全体構成図である。 図1に開示した物体探索装置の制御系を示すブロック図である。 画素間隔実測処理に用いる間隔測定用の治具であり、図3(A)はその斜視図、図3(B)はその平面図、図3(C)は治具を使用したときの撮像画像を示す。 画素間隔実測プログラムによるCPUの行う処理のフローチャートを示す。 カメラ距離算出処理の原理説明図である。 カメラ距離算出プログラムによるCPUが行う処理のフローチャートを示す。 レーザ角度算出処理の原理説明図である。 レーザ角度算出プログラムによるCPUが行う処理のフローチャートを示す。 図9(A)は撮像範囲内に置かれたワークに対してある照射角度でレーザスリット光を照射した場合の状態説明図であり、図9(B)はその撮像画像を示す。 マスターデータ取得プログラムによるCPUが行う処理のフローチャートを示す。 三次元解析プログラムによるCPUが行う処理のフローチャートを示す。 判定処理における原理説明図であり、図12(A)は位置の不一致状態を示し、図12(B)は向きの不一致状態を示し、図12(C)は位置と向き共に一致した状態を示す。 判定プログラムによるCPUが行う処理のフローチャートを示す。 図1に開示されたロボット制御装置のブロック図である。
符号の説明
1 パレット
10 物体探索装置
20 撮像装置(撮像手段)
21 CCDカメラ
23 CCD撮像素子
30 レーザ照射装置(照射手段)
32 レーザ発振器
33 走査機構
34 サーボモータ
40 画像解析装置
41 CPU
42 ROM
45 メモリ(マスターデータ記憶手段)
100 ロボットシステム
110 ロボット
120 ロボット制御装置

Claims (8)

  1. 撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段と、
    前記撮像範囲内のレーザ光の走査を行う照射手段と、
    前記レーザ光走査により得られる画像データから前記撮像範囲を細分化した点群の位置座標を示す三次元データを算出する三次元解析手段と、
    前記撮像範囲内で探索すべき探索対象物を複数方向に向けた状態での各々の三次元データをマスターデータとして記憶するマスターデータ記憶手段と、
    前記各方向のマスターデータについて共通する一点を、前記三次元解析手段により得られる三次元データの各点に位置合わせしたときに、いずれかの方向の前記マスターデータの各点の位置座標と前記三次元データの各点の位置座標とが近似するか否かを判定して、その判定結果により前記探索対象物の探索を行う判定手段とを備えることを特徴とする物体探索装置。
  2. 前記探索対象物に対して、前記照射手段によりレーザ光の走査を行いつつ前記撮像手段による撮像を行うことで一定方向の探索対象物のマスターデータを算出すると共に、前記マスターデータに対してその向きを変える座標変換を行い複数方向についてマスターデータを算出するマスターデータ取得手段を備えることを特徴とする請求項1記載の物体探索装置。
  3. 前記判定手段は、前記三次元解析手段により得られる三次元データの点群の中から所定間隔ごととなる一部の点に対して前記判定を行った結果、近似度が高い点の周囲のみについてより密な間隔となる点に対してさらに前記判定を行うことを特徴とする請求項1又は2記載の物体探索装置。
  4. 請求項1,2又は3記載の物体探索装置を用いたロボットシステムにおいて、
    前記探索対象物に対する作業を行うツールを保持するロボットと、
    前記探索により求まる前記探索対象物の位置に基づいて前記ツールを移動位置決めするように前記ロボットを制御するロボット制御装置とを備えることを特徴とするロボットシステム。
  5. 前記ツールは前記探索対象物を保持するハンドであり、
    前記ロボット制御装置は、前記探索により求まる前記探索対象物の位置及び方向に基づいて、前記ハンドにより前記探索対象物を保持運搬するように前記ロボットを制御することを特徴とする請求項4記載のロボットシステム。
  6. 撮像により撮像範囲内を細分化した点群についての画像データを取得する撮像手段と、前記撮像範囲内のレーザ光の走査を行う照射手段と、前記レーザ光走査により得られる画像データから前記撮像範囲を細分化した点群の位置座標を示す三次元データを算出する三次元解析手段と、前記撮像範囲内で探索すべき探索対象物を複数方向に向けた状態での各々の三次元データをマスターデータとして記憶するマスターデータ記憶手段とを備える物体探索装置を用いた物体探索方法であって、
    前記各方向のマスターデータについて共通する一点を、前記三次元解析手段により得られる三次元データの各点に位置合わせする工程と、
    いずれかの方向の前記マスターデータの各点の位置座標と前記三次元データの各点の位置座標とが近似するか否かを判定する工程と、
    その判定結果により前記探索対象物の向きと位置とを特定する工程とを備えることを特徴とする物体探索方法。
  7. 前記探索対象物に対して、前記照射手段によりレーザ光の走査を行いつつ前記撮像手段による撮像を行うことで一定方向の探索対象物のマスターデータを算出する工程と、
    前記マスターデータに対してその向きを変える座標変換を行い複数方向についてマスターデータを算出する工程とを備えることを特徴とする請求項6記載の物体探索方法。
  8. 前記位置合わせする工程と前記判定を行う工程とは、
    前記三次元解析手段により得られる三次元データの点群の中から所定間隔ごととなる一部の点に対して前記位置合わせ及び判定を行った結果、近似度が高い点の周囲のみについてより密な間隔となる点に対してさらに前記位置合わせ及び判定を行うことを特徴とする請求項6又は7記載の物体探索方法。
JP2005287421A 2005-09-30 2005-09-30 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法 Withdrawn JP2007101197A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005287421A JP2007101197A (ja) 2005-09-30 2005-09-30 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法
US11/529,492 US20070076946A1 (en) 2005-09-30 2006-09-29 Object search apparatus, robot system equipped with object search apparatus, and object search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005287421A JP2007101197A (ja) 2005-09-30 2005-09-30 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法

Publications (1)

Publication Number Publication Date
JP2007101197A true JP2007101197A (ja) 2007-04-19

Family

ID=37901998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005287421A Withdrawn JP2007101197A (ja) 2005-09-30 2005-09-30 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法

Country Status (2)

Country Link
US (1) US20070076946A1 (ja)
JP (1) JP2007101197A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011163822A (ja) * 2010-02-05 2011-08-25 Aisin Seiki Co Ltd 物体形状評価装置
JP2020109626A (ja) * 2018-12-28 2020-07-16 パロ アルト リサーチ センター インコーポレイテッド 複数の3dポイントクラウドを使用して物理的オブジェクトの関節運動可能な部分を識別するための装置及び方法
CN111745639A (zh) * 2019-03-28 2020-10-09 精工爱普生株式会社 信息处理方法及装置、物体检测装置以及机器人系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG175299A1 (en) * 2009-04-30 2011-11-28 Azimuth Intellectual Products Pte Ltd Apparatus and method for acquiring an image of a pallet load
JP5333344B2 (ja) * 2009-06-19 2013-11-06 株式会社安川電機 形状検出装置及びロボットシステム
GB2477347A (en) * 2010-02-01 2011-08-03 Cambridge Entpr Ltd A Hand Operated Controller
JP5798823B2 (ja) * 2011-07-22 2015-10-21 株式会社ミツトヨ レーザ干渉測定装置の横座標校正治具および横座標校正方法
JP5494597B2 (ja) * 2011-09-16 2014-05-14 株式会社安川電機 ロボットシステム
GB2516282B (en) * 2013-07-17 2017-07-26 Vision Rt Ltd Method of calibration of a stereoscopic camera system for use with a radio therapy treatment apparatus
CN105333819A (zh) * 2014-08-15 2016-02-17 苏州北硕检测技术有限公司 基于面激光传感器的机器人工件装配及形位公差检测系统及其检测方法
CN104786226A (zh) * 2015-03-26 2015-07-22 华南理工大学 抓取在线工件的机器人位姿及运动轨迹定位系统与方法
JP6291532B2 (ja) * 2016-07-13 2018-03-14 本田技研工業株式会社 ロボットによる係合確認方法
CN107684669B (zh) * 2017-08-21 2020-04-17 上海联影医疗科技有限公司 用于校正对准设备的系统和方法
JP7130976B2 (ja) * 2018-02-07 2022-09-06 富士フイルムビジネスイノベーション株式会社 表示情報作成装置、撮影システムおよびプログラム
CN109911598B (zh) * 2019-02-18 2020-06-26 珠海格力智能装备有限公司 读码装置及具有其的料仓
CN114078152B (zh) * 2020-08-20 2023-05-02 北京瓦特曼科技有限公司 一种基于三维重建的机器人碳块清理方法
CN111924460B (zh) * 2020-09-21 2021-02-19 佛山隆深机器人有限公司 一种码垛控制方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987591A (en) * 1995-12-27 1999-11-16 Fanuc Limited Multiple-sensor robot system for obtaining two-dimensional image and three-dimensional position information
JP3842233B2 (ja) * 2003-03-25 2006-11-08 ファナック株式会社 画像処理装置及びロボットシステム
EP1524622A1 (en) * 2003-10-17 2005-04-20 Koninklijke Philips Electronics N.V. Method and image processing device for analyzing an object contour image, method and image processing device for detecting an object, industrial vision apparatus, smart camera, image display, security system, and computer program product

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011163822A (ja) * 2010-02-05 2011-08-25 Aisin Seiki Co Ltd 物体形状評価装置
JP2020109626A (ja) * 2018-12-28 2020-07-16 パロ アルト リサーチ センター インコーポレイテッド 複数の3dポイントクラウドを使用して物理的オブジェクトの関節運動可能な部分を識別するための装置及び方法
JP7312685B2 (ja) 2018-12-28 2023-07-21 パロ アルト リサーチ センター インコーポレイテッド 複数の3dポイントクラウドを使用して物理的オブジェクトの関節運動可能な部分を識別するための装置及び方法
CN111745639A (zh) * 2019-03-28 2020-10-09 精工爱普生株式会社 信息处理方法及装置、物体检测装置以及机器人系统

Also Published As

Publication number Publication date
US20070076946A1 (en) 2007-04-05

Similar Documents

Publication Publication Date Title
JP2007101197A (ja) 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法
US9672630B2 (en) Contour line measurement apparatus and robot system
CN102735166B (zh) 三维扫描仪和机器人系统
JP3556589B2 (ja) 位置姿勢認識装置
CN108965690B (zh) 图像处理系统、图像处理装置及计算机可读存储介质
US7502504B2 (en) Three-dimensional visual sensor
Zhang et al. A two-step method for extrinsic calibration between a sparse 3d lidar and a thermal camera
JP5001521B2 (ja) 工具形状測定装置
JP2017033429A (ja) 3次元物体検査装置
JP6621351B2 (ja) レーザー加工用の画像処理装置及び画像処理方法
JP5383853B2 (ja) 工具形状測定装置、及び工具形状測定方法
JP7353757B2 (ja) アーチファクトを測定するための方法
KR100502560B1 (ko) 광학식 마커를 이용한 3차원 측정 데이터 자동 정렬장치및 그 방법
JP2007093412A (ja) 3次元形状測定装置
JP2008014882A (ja) 三次元計測装置
JP2015072197A (ja) 形状測定装置、構造物製造システム、形状測定方法、構造物製造方法、及び形状測定プログラム
JPS6332306A (ja) 無接触三次元自動寸法測定方法
JP4191295B2 (ja) 半導体パッケージの検査装置
JP2003285249A (ja) 工作機械の精度解析装置
JP6565367B2 (ja) 位置補正システム
JP2010048629A (ja) 3次元形状測定装置および3次元形状測定方法
JP2018066767A (ja) 形状測定装置、構造物製造システム、及び形状測定方法
JPS6129709A (ja) 形状測定方法
TWI652558B (zh) Workpiece measurement and positioning method
JP2010236998A (ja) 形状測定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080820

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101012