画像情報生成装置及び画像情報生成方法。
【課題】安価に構成することができ、使用することができる状況の制約が少なく、2次元画像情報及び3次元情報の両方を高速に生成することができる画像情報生成装置を提供する。
【解決手段】処理選択部260は、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・を投影可否判定部270に処理させ、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。3次元情報生成部262は、半導体ウエハWに関する3次元情報を画像データD2,D4,D6,・・・から生成する。
【解決手段】処理選択部260は、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・を投影可否判定部270に処理させ、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。3次元情報生成部262は、半導体ウエハWに関する3次元情報を画像データD2,D4,D6,・・・から生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成装置及び画像情報生成方法に関する。
【背景技術】
【0002】
産業用ロボットその他のロボットを知能化するためには、視覚情報を生成する視覚システムをロボットに導入することが重要である。特に、平面的な2次元画像情報だけでなく対象物までの距離等の立体的な3次元情報も生成することができる視覚システムをロボットに導入すれば、ロボットの自律性を大きく向上することができる。このことは、対象物を把持するという基本的な動作であっても、対象物までの距離等の3次元情報が必須となることからも明らかである。
【0003】
2次元画像情報だけでなく3次元情報も生成する視覚システムは、一般的には、間隔を置いて設置した2台のカメラの各々が生成した2個の2次元画像情報から視差を特定し、当該視差から3次元情報を導出する。しかし、このような視覚システムは、2台のカメラを必要とするために高価であり、ロボットへの導入は進んでいない。
【0004】
そこで、1台のカメラで2次元画像情報及び3次元情報の両方を生成することができる視覚システムが求められている。
【0005】
特許文献1は、そのような視覚システムの一例であって、自動車の前方に向けて1台のカメラを下方に傾けて設置し、対象物までの距離によって対象物が映っている位置が上下方向に移動することを利用して対象物までの距離の情報を生成する視覚システムを開示している。
【0006】
一方、特許文献2も、そのような視覚システムの一例であって、ズーミングをすることができる1台のカメラを設置し、対象物までの距離によってカメラをズーミングしたときの対象物が映っている位置の移動量が変化することを利用して対象物までの距離の情報を生成する視覚システムを開示している。
【0007】
【特許文献1】特開2006−31313号公報
【特許文献2】特開2004−239791号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に開示されている視覚システムは、平坦な路面を走行する自動車と自動車との車間距離を検知する場合のような限られた状況では役に立つが、使用するロボットの知能化が期待されるような複雑な作業において対象物までの距離の情報を生成する場合等のような複雑な状況ではあまり役に立たない。特に、カメラの仰角を固定しなければならないことは、使用することができる状況を制約してしまう。
【0009】
また、特許文献2に開示されている視覚システムは、ズーミングのための光学系の駆動に時間がかかるので、対象物までの距離の情報を高速に生成することは困難である。
【0010】
本発明は、これらの問題を解決するためになされたもので、安価に構成することができ、使用することができる状況の制約が少なく、2次元画像情報及び3次元情報の両方を高速に生成することができる視覚システム等の画像情報生成装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため、請求項1の発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成装置であって、撮像を行い2次元画像情報を生成する撮像部と、平行光を照射し幾何パターンを投影する投影用光源と、前記撮像部が生成した2次元画像情報のうちの前記投影用光源が投影した幾何パターンに関する部分から3次元情報を生成する3次元情報生成部と、前記投影用光源の点灯及び前記撮像部の撮像のタイミングを制御する制御部と、前記撮像部が生成した2次元画像情報に対する処理を選択する処理選択部と、を備え、前記制御部は、前記投影用光源を点灯させていないときに前記撮像部に第1の撮像を行わせて第1の2次元画像情報を生成させ、前記投影用光源を点灯させているときに前記撮像部に第2の撮像を行わせて第2の2次元画像情報を生成させ、前記処理選択部は、第2の2次元画像情報を前記3次元情報生成部に処理させる。
【0012】
請求項2の発明は、請求項1に記載の画像情報生成装置において、前記撮像部の撮像範囲を照明する照明光を照射する照明用光源、をさらに備え、前記制御部は、前記照明用光源の点灯を制御し、前記撮像部に第1の撮像を行わせるときに前記照明用光源を点灯させる。
【0013】
請求項3の発明は、請求項1又は請求項2に記載の画像情報生成装置において、前記投影用光源は、発光ダイオードと、前記発光ダイオードが発光した拡散光を平行光に変換する光学系と、を備える。
【0014】
請求項4の発明は、請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、前記3次元情報生成部は、第2の2次元画像情報に係る2次元画像に映っている幾何パターンの基準箇所の間の長さに基づいて前記撮像部から幾何パターンの被投影物までの距離の情報を生成する。
【0015】
請求項5の発明は、請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、前記3次元情報生成部は、第2の2次元画像情報に係る2次元画像に映っている幾何パターンの形状のひずみに基づいて幾何パターンの被投影物の姿勢の情報を生成する。
【0016】
請求項6の発明は、請求項1ないし請求項5のいずれかに記載の画像情報生成装置において、第1の2次元画像情報のうちの特定の形状を有する対象物が映っている部分を特定し、特定した部分に映っている対象物に前記投影用光源が幾何パターンを投影することができるか否かを判定する投影可否判定部と、をさらに備え、前記処理選択部は、第1の2次元画像情報を前記投影可否判定部に処理させ、特定の形状を有する対象物に幾何パターンを投影することができると前記投影可否判定部が判定した場合に、第2の2次元画像情報を前記3次元情報生成部に処理させる。
【0017】
請求項7の発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成方法であって、(a)第1の撮像を行い第1の2次元画像情報を生成する工程と、(b)前記工程(a)において撮像を行っていないときに平行光を照射し幾何パターンを投影する工程と、(c)前記工程(b)において幾何パターンを投影しているときに第2の撮像を行い第2の2次元画像情報を生成する工程と、(d)前記工程(c)において生成された第2の2次元画像情報のうちの前記工程(b)において投影された幾何パターンが映っている部分から3次元情報を生成する工程と、を備える。
【発明の効果】
【0018】
請求項1ないし請求項7の発明によれば、2次元画像情報を生成する撮像部が1台あれば2次元画像情報及び3次元情報の両方を生成することができるので、2次元画像情報及び3次元情報の両方を出力する画像情報生成装置を安価に構成することができる。また、請求項1の発明によれば、幾何パターンを投影することができれば2次元画像情報及び3次元情報の両方を生成することができるので、使用することができる状況の制約を少なくすることができる。さらに、請求項1の発明によれば、光学系の駆動が不要であるので、2次元画像情報及び3次元情報の両方を高速に生成することができる。
【0019】
請求項2の発明によれば、第1の撮像を行うときに照明光が照射されるので、第1の2次元画像情報が環境光の影響を受けにくくなる。
【0020】
請求項3の発明によれば、発光ダイオードの応答が高速であるので、投影用光源の点灯と消灯とを高速で切り替えることができ、2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができる。また、発光ダイオードは理想的な点光源に近いので、簡単な光学系で拡散光を平行光に変換することができる。
【0021】
請求項4の発明によれば、撮像部から被投影物までの距離を簡単な計算で算出することができるので、撮像部から被投影物までの距離を高速に導出することができる。
【0022】
請求項5の発明によれば、被投影物の姿勢を簡単な計算で算出することができるので、被投影物の姿勢を高速に導出することができる。
【0023】
請求項6の発明によれば、対象物に幾何パターンを投影することができない場合には3次元情報を生成する処理を行わないので、不要な3次元情報を生成することを防ぐことができる。
【発明を実施するための最良の形態】
【0024】
<1 産業用ロボット1の構成>
図1は、本発明の望ましい実施形態に係る産業用ロボット1の模式図である。産業用ロボット1は、前工程から半導体ウエハWを受け取ってキャリアにロードするとともに、キャリアから半導体ウエハWをアンロードして後工程に受け渡す。ただし、このことは、本発明に係る画像情報生成装置及び画像情報生成方法の導入先が産業用ロボット1に制限されることを意味しない。したがって、他の種類の産業用ロボットや産業用ロボット以外のロボットに本発明に係る画像情報生成装置及び画像情報生成方法を導入しても良いし、ロボットの範疇に含まれない装置に本発明に係る画像情報生成装置及び画像情報生成方法を導入しても良い。
【0025】
図1に示すように、産業用ロボット1は、処理の対象となる半導体ウエハWを把持するロボットハンド102と、ロボットハンド102の位置及び姿勢を変化させるロボットアーム116と、ロボットハンド102及びロボットアーム116を制御するロボット制御装置132と、ロボットハンド102の前方に関する2次元画像情報及び3次元情報を生成する画像情報生成装置となる視覚システム202とを備える。
【0026】
{ロボットハンド102}
ロボットハンド102は、関節106を軸としてアーム122に対して回転するフィンガ104と、関節108を軸としてアーム122に対して回転するフィンガ110と、フィンガ104,110を回転させるモータ112とを備える。ロボットハンド102は、ロボット制御装置132から与えられた制御信号に応じてモータ112にフィンガ104,110を回転させることにより、フィンガ104,110を開閉し、フィンガ104,110の間にある半導体ウエハWを把持又は解放する。もちろん、ロボットハンド102は、制御信号に応じて半導体ウエハWを把持又は解放することができれば、どのような形式のものであってもよい。
【0027】
{ロボットアーム116}
ロボットアーム116は、関節120を軸としてベース130に対して回転するアーム118と、関節124を軸としてアーム118に対して回転するアーム122と、アーム118を回転させるモータ126と、アーム122を回転させるモータ128とを備える。ロボットアーム116は、ロボット制御装置132から与えられた制御信号に応じてモータ126にアーム118を回転させ、モータ128にアーム122を回転させることにより、ロボットハンド102の位置及び姿勢を変化させる。もちろん、ロボットアーム116は、制御信号に応じてロボットハンド102の位置及び姿勢を変化させることができれば、どのような形式のものであってもよい。
【0028】
{ロボット制御装置132}
図2は、ロボット制御装置132ののハードウエアの構成を示すブロック図である。
【0029】
図2に示すように、ロボット制御装置132は、CPU134とメモリ136とハードディスクドライブ138とを備えるコンピュータである。ロボット制御装置132は、ハードディスクドライブ138からメモリ136にロードされたロボット制御プログラム146にしたがってモータ112,126,128に制御信号を出力し、ロボットハンド102及びロボットアーム116を制御する。これにより、産業用ロボット1は、作業空間WSにおいて半導体ウエハWを把持し搬送する。また、ロボット制御装置132は、画像処理装置232から転送されてきた2次元画像情報及び3次元情報から半導体ウエハWを把持するために必要なフィンガ104,110及びアーム118,120の回転量を算出し、当該回転量を得るために必要な制御信号をモータ112,126,128に出力する。ロボット制御装置132からモータ112,126,128への制御信号の出力は、入出力インターフェース140を介して行われ、画像処理装置232からロボット制御装置132への2次元画像情報及び3次元情報の転送は、通信インターフェース142を介して行われる。CPU134、メモリ136、ハードディスクドライブ138、入出力インターフェース140及び通信インターフェース142は、内部バス144に接続され、相互にデータのやり取りをすることができる。
【0030】
{視覚システム202}
視覚システム202は、ロボットハンド102の前方を撮像して2次元画像情報を生成する。加えて、視覚システム202は、ロボットハンド102の前方にある半導体ウエハWに幾何パターンGPを投影し、幾何パターンGPの撮像結果から半導体ウエハWの位置及び姿勢に関する3次元画像情報を生成する。以下では、この視覚システム202について詳細に説明する。
【0031】
<2 視覚システム202の構成>
図1に示すように、視覚システム202は、幾何パターンGPを投影する投影用光源204と、作業空間WSを照明する照明用光源214と、投影用光源204及び照明用光源214の各々が備える後述するLED(発光ダイオード)206,216に発光用の電力を供給するLEDドライバ220とを備える。また、視覚システム202は、ロボットハンド102の前方を撮像して2次元画像情報を含む画像信号を生成するカメラ224と、カメラ224が生成した画像信号を処理する画像処理装置232とを備える。
【0032】
{投影用光源204}
図3は、投影用光源204の模式図である。図3は、投影用光源204の断面図となっている。
【0033】
投影用光源204は、LED206と、LED206が発光した拡散光を平行光に変換する光学系208と、投影すべき幾何パターンGPの明部を照らす光束が通過する部分が透過部となっており残余の部分が遮蔽部となっているマスク210とを備える。これにより、投影用光源204は、平行光を照射し、被投影物までの距離にかかわらず大きさが一定の幾何パターンGPを半導体ウエハWに投影する。なお、投影用光源204の発光源にLED206を使用することは必須ではなく、白熱電球、蛍光灯等も使用することができる。ただし、発光源にLED206を使用することには、LED206の応答が高速であるので、投影用光源204の点灯と消灯とを高速で切り替えることができ、後述する2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができるという利点がある。また、LED206は理想的な点光源に近いので、簡単な光学系で拡散光を平行光に変換することができるという利点もある。
【0034】
「平行光」は、投影用光源204からの距離による幾何パターンGPの大きさの変化が視覚システム202により生成される3次元情報の精度に実質的な影響を与えない程度の平行性を有していれば足りる。このことの意義は、ロボットハンド102の位置決め及び姿勢決めの精度以上の精度を3次元情報に求めることは無意味であることを考慮すれば明らかである。
【0035】
幾何パターンGPは、幾何パターンGPが映っている2次元画像において長さを測定すべき場所を特定する少なくとも2個の基準箇所を含むことが必要である。「少なくとも2個の基準箇所」には、例えば、点と点、点と線、線と線等がある。「点」は、線と線との交点を含み、「線」は、暗部と明部との境界線も含むと解すべきである。
【0036】
さらに、幾何パターンGPは、画像処理装置232により認識することが容易であることが望ましい。そのような幾何パターンGPには、例えば、図4(a)に示すような、帯形状の明部BR1と同一の帯形状の暗部DA1とを1方向に交互に配置したストライプ(縞模様)ST、図4(b)に示すような、正方形形状の明部BR2と同一の正方形形状の暗部DA2とを直行する2方向に交互に配置したチェック(市松模様)CH等がある。なお、以下では、幾何パターンGPがストライプSTであり、暗部BR1と明部DA1との境界線BDL3を「基準箇所」として用いるものとして説明を進める。
【0037】
投影用光源204は、アーム122の先端に固定され、ロボットハンド102の前方に向かって平行光を照射する。これにより、投影用光源204は、カメラ224の撮像範囲の中央部に向かって平行光を照射し、カメラ224の撮像範囲の中央部に存在する半導体ウエハWにストライプSTを投影する。
【0038】
ロボットアーム116が半導体ウエハWを把持するときには、アーム122の前方に半導体ウエハWが存在するので、投影用光源204が照射する平行光の光束は細くても足りる。したがって、アーム122の先端に内蔵することができる程度に投影用光源204を小型化することができる。
【0039】
{照明用光源214}
照明用光源214は、拡散光を発光するLED216を備える。なお、照明用光源214の発光源にLED216を使用することは必須ではなく、白熱電球、蛍光灯等も使用することができる。ただし、発光源にLED216を使用することには、LED216の応答が高速であるので、照明用光源214の点灯と消灯とを高速で切り替えることができ、2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができるという利点がある。
【0040】
照明用光源214は、ロボットハンド102及びロボットアーム116から分離して固定され、作業空間WSに向かって拡散光を発光する。これにより、照明用光源214は、カメラ224の撮像範囲に向かって略均一な照明光を照射する。
【0041】
「略均一な照明光」は、カメラ224の撮像範囲の全体が明瞭に映された2次元画像を得ることができる程度の均一性を有していれば足りる。これにより、後述する第1の撮像を行うときにカメラ224の撮像範囲に照明光が照射されるので、視覚システム202が生成する2次元画像情報が環境光の影響を受けにくくなる。ただし、カメラ224の撮像範囲の全体が明瞭に映された2次元画像を環境光だけで得ることができるならば、照明用光源214を省略することもできる。
【0042】
{LEDドライバ220}
図5は、投影用光源204及び照明用光源214の点灯並びにカメラ224の撮像のタイミングを説明するタイムチャートである。
【0043】
LEDドライバ220は、カメラ224から入力された同期信号に同期してLED206,216に発光用の電力を交互に供給し、投影用光源204及び照明用光源214を交互に点灯させる。これにより、LEDドライバ220は、図5(a)に示すように、一定の周期で繰り返されるフレームFL1,FL2,FL3,FL4,FL5,FL6,・・・のうちの偶数番目のフレームFL2,FL4,FL6,・・・に投影用光源204を点灯させ、奇数番目のフレームFL1,FL3,FL5,・・・に投影用光源204を消灯させる。一方、LEDドライバ220は、図5(b)に示すように、奇数番目のフレームFL1,FL3,FL5,・・・に照明用光源214を点灯させ、偶数番目のフレームFL2,FL4,FL6,・・・に照明用光源214を消灯させる。フレームFL1,FL2,FL3,FL4,FL5,FL6,・・・の長さは、典型的には1/30秒程度であるが、発光源として応答の速いLED206,216を使用しているならば、1/60秒や1/200秒に高速化することもできる。
【0044】
なお、図5(a)及び図5(b)に示すように投影用光源204の点灯時間と照明用光源212の点灯時間とを同じにすることは必須ではなく、投影用光源204の点灯時間と照明用光源212の点灯時間とを異ならせてもよい。例えば、図6(a)及び図6(b)に示すように、nを自然数として、3n番目のフレームFL3,FL6,・・・に投影用光源204を点灯させ、3n−2番目及び3n−1番目のフレームFL1,FL2,FL4,FL5,・・・に照明用光源214を点灯させるようにしてもよい。
【0045】
また、投影用光源204が照射する光を照明用光源214が照射する光よりも強くし、照明用光源214が半導体ウエハWに照明光を照射している状態で投影用光源204が半導体ウエハWに幾何パターンGPを投影しても幾何パターンGPをカメラ224が明瞭に映すことができるようにすれば、図7(a)及び図7(b)に示すように、照明用光源214を常時点灯したまま、投影用光源204を偶数番目のフレームFL2,FL4,FL6,・・・に点灯させ、奇数番目のフレームFL1,FL3,FL5,・・・に消灯させるようにしてもよい。
【0046】
{カメラ224}
図8は、カメラ224のブロック図である。図8に示すように、カメラ224は、撮像のタイミングを制御する同期信号を発生する同期信号発生器226と、同期信号発生器226から入力された同期信号に同期して撮像を行い画像信号を出力する撮像センサ228とを備える。これにより、カメラ224は、図5(c)、図6(c)及び図7(c)に示すように、フレームFL1,FL2,FL3,FL4,FL5、FL6,・・・に撮像を行い、図5(d)、図6(d)及び図7(d)に示すように、撮像より1フレーム遅れたFL2,FL3,FL4,FL5、FL6,・・・に撮像により得られた画像信号を出力する。
【0047】
{画像処理装置232}
図9は、画像処理装置232のハードウエアの構成を示すブロック図である。図9に示すように、画像処理装置232は、CPU234とメモリ236とハードディスクドライブ238とを備えるコンピュータである。画像処理装置232は、ハードディスクドライブ238からメモリ236にロードされた画像処理プログラム258にしたがってカメラ224から入力された画像信号を処理する。なお、ロボット制御装置132と画像処理装置232とを別々のコンピュータとすることは必須ではなく、1台のコンピュータにロボット制御装置132及び画像処理装置232の両方の機能を持たせてもよい。また、画像処理装置232の全部又は一部の機能を専用のハードウエアによって実現してもよい。
【0048】
また、画像処理装置232は、カメラ224から入力されたアナログの画像信号をデジタルの画像データに変換するA/Dコンバータ240と、画像データを記憶するフレームメモリ242とを備える。
【0049】
さらに、画像処理装置232は、ユーザインターフェースとして、操作者の操作を受け付けるキーボード246及びマウス248並びに情報を表示するモニタ250を備える。キーボード246及びマウス248はCPU2234に接続される。CPU234は、キーボード246及びマウス248に対して行われた操作に応じた処理を行う。また、モニタ250は、ビデオボード252に接続されており、CPU234から与えられた描画命令にしたがって、2次元画像情報や3次元情報その他の情報を表示する。画像処理装置232からロボット制御装置132への2次元画像情報及び3次元情報の転送は、通信インターフェース254を介して行われる。CPU234、メモリ236、ハードディスクドライブ238、A/Dコンバータ240、フレームメモリ242、ビデオボード252及び通信インターフェース254は、内部バス256に接続され、相互にデータのやり取りをすることができる。
【0050】
{画像処理装置232における画像処理}
図10は、画像処理装置232が画像処理プログラム258を実行することにより実現される機能を示すブロック図である。
【0051】
図10に示すように、画像処理装置232は、機能的にいって、2次元画像情報を含む画像データに対する処理を選択する処理選択部260と、対象物である半導体ウエハWに関する3次元情報を生成する3次元情報生成部262と、半導体ウエハWに投影用光源204がストライプSTを投影することができるか否かを判定する投影可否判定部270とを備える。
【0052】
{処理選択部260}
LEDドライバ220及び同期信号発生器22が図5に示すタイミングの制御を行う場合、A/Dコンバータ240を介してカメラ224から取り込んだ画像データは、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・と、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・との2種類に分類される。もちろん、図6に示すタイミングの制御を行う場合、画像データは、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL2,FL4,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D2,D4,D5・・・と、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL3,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD3,D6,・・・との2種類に分類される。また、図7に示すタイミングの制御を行う場合、画像データは、投影用光源204を消灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・と、投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・との2種類に分類される。
【0053】
以下では、これらのタイミングの制御のうち、図5に示すタイミングの制御を行う場合を例として画像処理装置232における画像処理について説明するが、図6又は図7に示すタイミングの制御を行う場合も第1の画像データ及び第2の画像データを同様に処理することができる。
【0054】
処理選択部260は、画像データD1,D2,D3,D4,D5,D6,・・・のうち、第1の画像データD1,D3,D5,・・・を投影可否判定部270に処理させ、第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。これにより、視覚システム202は、2次元画像情報を生成するカメラ224が1台あれば2次元画像情報及び3次元情報の両方を生成することができる。このことは、2次元画像情報及び3次元情報の両方を生成する視覚システム202を安価に構成することに寄与する。
【0055】
ただし、処理選択部260は、半導体ウエハWに投影用光源204がストライプSTを投影することができると判定した旨の情報(以下では、「投影可能情報」という)が投影可否判定部270から入力された場合にのみ、第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。これにより、視覚システム202は、半導体ウエハWにストライプSTを投影することができない場合には3次元情報を生成する処理を行わないので、不要な3次元情報を生成することを防ぐことができる。
【0056】
{3次元情報生成部262}
3次元情報生成部262は、第2の画像データD2,D4,D6,・・・に係る2次元画像からエッジを抽出するエッジ抽出部264と、エッジ抽出部264が抽出したエッジからストライプSTの明部BR1と暗部DA1との境界線BDL3を検出する境界線検出部266と、複数の境界線BDL3の幾何学的な関係から半導体ウエハWに関する3次元情報を演算する3次元情報演算部268とを備える。
【0057】
エッジ抽出部264は、微分フィルタを用いる方法等によりエッジを抽出する。
【0058】
境界線検出部266は、テンプレートマッチングやハフ変換を用いる方法等により境界線を検出する。
【0059】
3次元情報演算部268は、半導体ウエハWに関する3次元情報として、半導体ウエハWの位置をあらわす距離D及び半導体ウエハWの姿勢をあらわすパン角θを導出する。距離Dは、カメラ224から半導体ウエハWまでの距離をあらわしているが、産業用ロボット1では、ロボットハンド102及びカメラ224の両方がアーム122に固定されているので、カメラ224から半導体ウエハWまでの距離Dがわかればロボットハンド102から半導体ウエハWまでの距離も算出することができる。また、パン角θは、図11(a)に示すように、光軸OAに対するストライプSTの配列方向STAへの半導体ウエハWの傾き、すなわち、光軸OAと半導体ウエハWの主面とが垂直な状態からの半導体ウエハWの配列方向STAへの傾きをあらわしている。
【0060】
なお、以下では、カメラ102の光軸と投影用光源204の光軸とのずれは無視できるほど小さいものとするとして、距離D及びパン角θの算出例について説明する。
【0061】
図12は、ストライプSTが投影された半導体ウエハWが映っている2次元画像IMG1,IMG2を示す図である。図12(a)に示すように、2次元画像IMG1において境界線BDL1が平行となっており、隣接する境界線BDL1の間隔が一定である場合は、3次元情報演算部268は、半導体ウエアWが光軸OAに対して傾いていない、すなわち、θ=0であると判断して、式(1)にしたがって、ストライプ幅Xbに基づいて距離Dを算出する。
【0062】
【数1】
【0063】
ここで、2次元画像IMG1におけるストライプ幅Xa,Xbは、図12(a)に示すように、2次元画像IMG1に映っているストライプSTの一の境界線BDL11とその2つ隣りの他の境界線BDL12との間の長さを画素数であらわたものであって、ストライプ幅Xaはキャリブレーション時に取得され、ストライプ幅Xbは測定時に取得される。また、距離Lは、キャリブレーション時に取得されたカメラ224からストライプSTの被投影物までの距離である。なお、2つ隣りの境界線との間隔をストライプ幅Xa,Xbとすることは必須ではなく、隣接する境界線又は3つ以上隣の境界線との間隔をストライプ幅Xa,Xbとしてもよい。
【0064】
このように、2次元画像IMG1におけるストライプ幅Xbに基づいて距離Dを簡単な計算で算出することができるのは、ストライプSTが平行光によって投影されるため、距離Dにかかわらず半導体ウエハWに投影されるストライプSTの大きさが変化せず、距離Dが離れるほど2次元画像IMG1におけるストライプ幅Xbが小さくなることを利用している。言うまでもなく、このような簡単な計算による距離Dの算出は、距離Dを高速に導出することに寄与する。
【0065】
また、図12(b)に示すように、2次元画像IMG2において境界線BDL2が平行となっているが、隣接する境界線BDL1の間隔が一定でない場合は、3次元情報演算部268は、半導体ウエアWが光軸OAに対して傾いている、すなわち、θ≠0であると判断して、式(2)にしたがって、ストライプ幅Xb1,Xb2に基づいて距離Dを算出し、式(3)にしたがって、ストライプSTの形状のひずみに基づいてパン角θを算出する。ここで、「形状のひずみ」とは、投影用光源204の光軸と垂直な被投影面に投影されたストライプSTと相似な形状からのずれを意味する。
【0066】
【数2】
【0067】
ここで、2次元画像IMG2におけるストライプ幅Xb1,Xb2は、図12(b)に示すように、2次元画像IMG2に映っているストライプSTの境界線BDL21とその2つ隣りの他の境界線BDL22,BDL23との間の長さを画素数であらわたものであって、測定時に取得される。また、ストライプ幅STWは、図4(a)に示すように、投影用光源204の光軸と垂直な被投影面に投影されたストライプSTにおける境界線BDL31とその2つ隣りの他の境界線BDL32との間隔である。このストライプ幅STWは、マスク210の透過部の幅によって決まる。
【0068】
なお、ここでは、半導体ウエハWの姿勢としてパン角θのみを算出する例を示したが、幾何パターンGPとしてチェックCHを使用したり、ストライプSTの向きを一時的に90°回転したりすれば、同様の方法によりチルト角φも算出することができる。ここでいうチルト角φは、図11(b)に示すように、光軸OAに対するストライプSTの配列方向STAと垂直な方向への半導体ウエハWの傾きをあらわしている。
【0069】
{投影可否判定部270}
投影可否判定部270は、2次元画像情報のうちの半導体ウエハWが映っている部分を特定し、特定した部分に映っている半導体ウエハWに投影用光源204がストライプSTを投影することができるか否かを判定する。さらに、投影可否判定部270は、半導体ウエハWに投影用光源204がストライプSTを投影することができると判定した場合に、その旨を示す投影可能情報を処理選択部260に出力する。
【0070】
半導体ウエハWに関する部分を特定する方法は制限されないが、以下では、半導体ウエハWが特定の形状を有していることを利用してテンプレートマッチングを用いて特定する方法を説明する。
【0071】
図10に示すように、投影可否判定部270は、第1の画像データD1,D3,D5,・・・に係る2次元画像からエッジを抽出するエッジ抽出部272と、エッジ抽出部272が抽出したエッジから半導体ウエハWの輪郭を検出する半導体ウエハ検出部274と、半導体ウエハ検出部274が検出した半導体ウエハWの位置が基準範囲内に含まれているか否かを判定する位置判定部276とを備える。
【0072】
エッジ抽出部272は、微分フィルタを用いる方法等によりエッジを抽出する。これにより、例えば、例えば、図13(a)に示すような円板形状の物体及び矩形板形状の物体OB3が映っている2次元画像IMG3からエッジを抽出をすると、図13(b)に示すような円形及び矩形のエッジED4が抽出された2次元画像IMG4が得られる。
【0073】
半導体ウエハ検出部274は、エッジ抽出部272が抽出したエッジからあらかじめ登録されているテンプレートと類似した形状を有するエッジを検出する。したがって、半導体ウエハWの輪郭形状をテンプレートとして登録しておけば、半導体ウエハ検出部274は、半導体ウエハWを検出し、2次元画像において半導体ウエハWが映っている位置を特定することができる。例えば、半導体ウエハWが円板であれば、円をテンプレートとして登録しておけばよい。もちろん、検出能力を向上するため、テンプレートをアフィン変換して変形する等の周知の画像処理技術を採用してもよい。
【0074】
位置判定部276は、半導体ウエハ検出部274が特定した2次元画像において半導体ウエハWが映っている位置に基づいて、投影用光源204が半導体ウエハWにストライプSTを投影することができるか否かを判定する。より具体的には、位置判定部276は、2次元画像の中央部に半導体ウエハWが映っていれば、投影用光源204が半導体ウエハWにストライプSTを投影することができると判定する。もちろん、2次元画像の中央部を基準とする判定は、カメラ224の光軸OAと投影用光源204の光軸とのずれを無視できる場合にのみ採用することができるものであるので、ずれを無視することができない場合は、ずれを考慮して基準を設定する。
【0075】
{知覚システム202の利点}
このような知覚システム202によれば、ストライプSTを投影することができれば2次元画像情報及び3次元情報の両方を生成することができるので、使用することができる状況の制約を少なくすることができる。特に、知覚システム202は、大きさが異なる複数の半導体ウエハWが混在する場合でも2次元画像情報及び3次元情報の両方を高速に生成することができる。また、このような知覚システム202によれば、光学系の駆動が不要であるので、2次元画像情報及び3次元情報の両方を高速に生成することができる。
【0076】
<3 視覚システム202のキャリブレーション>
視覚システム202に精度の高い3次元情報を生成させ、産業用ロボット1を正確に動作させるためには、事前に視覚システム202のキャリブレーションを行い、距離L及びストライプ間隔Xaを視覚システム202に登録する必要がある。
【0077】
視覚システム202のキャリブレーションにあたっては、まず、ロボットハンド102の前方にストライプSTの被投影物をカメラ224の光軸OAと被投影面とが垂直になるように設置し、カメラ224から当該被投影面までの距離Lを計る。次に、カメラ224に撮像を行わせ、カメラ224から取り込んだ画像データに係る2次元画像をモニタ250に表示させて、2次元画像におけるストライプ間隔Xaを数える。
【0078】
そして、このようにして得た距離L及びストライプ間隔Xaをキーボード246から画像処理装置232に入力しメモリ236に記憶させることにより、視覚システム202は精度の高い3次元情報を生成することができるようになる。
【0079】
<4 産業用ロボット1の動作>
図14は、視覚システム202が2次元情報及び3次元情報を生成するときの産業用ロボット1の単位測定動作を説明するフローチャートであり、図17は、当該単位測定動作を繰り返すことによる実現される、半導体ウエハWの把持のための産業用ロボット1の動体予測動作を説明するフローチャートである。また、図15は、投影用光源204及びカメラ224と半導体ウエハWとの位置関係を示す模式図であり、図16は、画像処理装置232が取り込んだ画像データに係る2次元画像IMG5,IMG6を示す図である。
【0080】
{産業用ロボット1の単位測定動作}
図14に示すように、産業用ロボット1が単位測定動作を開始すると、まず、奇数番目のフレームFLpに照明用光源214が点灯するとともに(ステップS101)、カメラ224が第1の撮像を行いストライプSTが映っていない第1の2次元画像情報を含む画像信号を生成する(ステップS102)。
【0081】
続いて、処理選択部260がステップS101において第1の撮像を行うことにより画像処理装置232に取り込まれた第1の画像データDpを投影可否判定部270に処理させ、投影可否判定部270が半導体ウエハWにストライプSTを投影することができるか否かを判定する(ステップS103)。このとき、図15(a)に示すように、半導体ウエハWがカメラ224の前方正面になく、図16(a)に示すように2次元画像IMG5の周辺部に半導体ウエハWが映っている場合は、投影可否判定部270は、半導体ウエハWにストライプSTを投影することができないと判定して(ステップS103で"NO")、ロボット制御装置132にロボットアーム116を動作させて投影用光源204のストライプの投影先及びカメラ224の撮像範囲をずらす(ステップS104)。そして、視覚システム202は、ステップS104の終了後に再びステップS101を実行する。このようなステップS101〜S104のループ処理によれば、半導体ウエハWにストライプSTを投影することができるようになるまでロボットアーム116が動作するので、投影用光源204及びカメラ224と半導体ウエハWとの当初の位置関係にかかわらず、半導体ウエハWにストライプSTを投影することができるようになる。
【0082】
一方,図15(b)に示すように、半導体ウエハWがカメラ224の前方正面にあり、図16(b)に示すように2次元画像IMG5の中央部に半導体ウエハWが映っている場合は、投影可否判定部270は、半導体ウエハWにストライプSTを投影することができると判定して(ステップS103で"YES")、投影可能情報を処理選択部260に与える(ステップS105)。
【0083】
続いて、奇数番目のフレームFLqに投影用光源204が点灯するとともに(ステップS106)、カメラ224が第2の撮像を行いストライプSTが映っている第2の2次元画像情報を含む画像信号を生成する(ステップS107)。このステップS106〜S107を実行するフレームFLqは、ステップS101〜S102を実行したフレームFLpの後のフレームであることは当然であるが、必ずしもフレームFLpの次のフレームである必要はない。したがって、フレームFLpとフレームFLqとの間に処理が行われない空フレームが挿入されることがありうる。なお、この空フレームにおいて投影用光源204や照明用光源206の点灯を一時的に中止して、視覚システム202の消費電力を抑制するようにしてもよい。
【0084】
次に、投影可能情報を与えられた処理選択部260がステップS107において第2の撮像を行うことにより画像処理装置232に取り込まれた第2の画像データDqを3次元情報生成部270に処理させ、3次元情報生成部270が半導体ウエハWに関する3次元情報を生成する(ステップS108)。
【0085】
このように視覚システム202がステップS102において生成した2次元画像情報及びステップS108において生成した3次元情報は、産業用ロボット202の制御に使用される。なお、これらの2次元画像情報及び3次元情報をモニタ250に表示するようにしてもよい。
【0086】
{産業用ロボット1の動体予測動作}
図17に示すように、産業用ロボット1は、動体予測動作を行う場合、まず、第1の単位測定動作(ステップS111)及び第2の単位測定動作(ステップS112)を順次実行する。このとき、第1の単位測定動作が終了した後に第2の単位測定動作を開始してもよいが、第1の単位測定動作が終了する前に第2の単位測定動作を開始してもよい。
【0087】
第1の単位測定動作及び第2の単位測定動作が終了した後、ロボット制御装置132は、第1の単位測定動作及び第2の単位測定動作により得られた3次元情報から半導体ウエハWの位置及び姿勢を予測する(ステップS113)。すなわち、ロボット制御装置132は、式(4)に従って時刻tにおける距離D(t)を算出し、式(5)に従って時刻tにおけるパン角θを算出する。
【0088】
【数3】
【0089】
ここで、距離D1及びパン角θ1は、第1の単位測定動作により得られた距離及びパン角であり、時刻t1は、第1の単位測定動作においてカメラ224が撮像を行った時刻である。同様に、距離D2及びパン角θ2は、第2の単位測定動作により得られた距離及びパン角であり、時刻t2は、第2の単位測定動作においてカメラ224が撮像を行った時刻である。
【0090】
なお、式(4)及び式(5)のような1次の外挿ではなく2次以上の高次の外挿を行ってもよい。また、3個以上の距離及びパン角を外挿して時刻tにおける距離D(t)及びパン角θ(t)を算出してもよい。
【0091】
時刻tにおける距離D(t)及びパン角θ(t)の予測が終了すると、ロボット制御装置1は、当該予測の結果に基づいて制御信号をモータ112,126,128に出力し、半導体ウエハWを把持する(ステップS114)。
【0092】
これにより、産業用ロボットWは、半導体ウエハWの動きを予測して把持することになる。
【0093】
この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【図面の簡単な説明】
【0094】
【図1】望ましい実施形態に係る産業用ロボットの模式図である。
【図2】ロボット制御装置のハードウエアの構成を示すブロック図である。
【図3】投影用光源の模式図である。
【図4】幾何パターンを示す図である。
【図5】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図6】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図7】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図8】カメラのブロック図である。
【図9】画像処理装置のハードウエアの構成を示すブロック図である。
【図10】画像処理装置の機能を示すブロック図である。
【図11】半導体ウエハの姿勢をあらわすパン角θ及びチルト角φを説明する模式図である。
【図12】ストライプが投影された半導体ウエハが映っている2次元画像を示す図である。
【図13】エッジを抽出する前後の2次元画像を示す図である。
【図14】産業用ロボットの単位測定動作を説明するフローチャートである。
【図15】投影用光源及びカメラと半導体ウエハとの位置関係を示す模式図である。
【図16】画像処理装置232が取り込んだ画像データに係る2次元画像を示す図である。
【図17】産業用ロボットの動体予測動作を説明するフローチャートである。
【符号の説明】
【0095】
1 産業用ロボット
202 視覚システム
204 投影用光源
206 発光ダイオード
208 光学系
214 照明用光源
220 LEDドライバ
224 カメラ
226 同期信号発生器
232 画像処理装置
260 処理選択部
262 3次元情報生成部
270 投影可否判定部
W 半導体ウエハ
GP 幾何パターン
ST ストライプ
【技術分野】
【0001】
本発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成装置及び画像情報生成方法に関する。
【背景技術】
【0002】
産業用ロボットその他のロボットを知能化するためには、視覚情報を生成する視覚システムをロボットに導入することが重要である。特に、平面的な2次元画像情報だけでなく対象物までの距離等の立体的な3次元情報も生成することができる視覚システムをロボットに導入すれば、ロボットの自律性を大きく向上することができる。このことは、対象物を把持するという基本的な動作であっても、対象物までの距離等の3次元情報が必須となることからも明らかである。
【0003】
2次元画像情報だけでなく3次元情報も生成する視覚システムは、一般的には、間隔を置いて設置した2台のカメラの各々が生成した2個の2次元画像情報から視差を特定し、当該視差から3次元情報を導出する。しかし、このような視覚システムは、2台のカメラを必要とするために高価であり、ロボットへの導入は進んでいない。
【0004】
そこで、1台のカメラで2次元画像情報及び3次元情報の両方を生成することができる視覚システムが求められている。
【0005】
特許文献1は、そのような視覚システムの一例であって、自動車の前方に向けて1台のカメラを下方に傾けて設置し、対象物までの距離によって対象物が映っている位置が上下方向に移動することを利用して対象物までの距離の情報を生成する視覚システムを開示している。
【0006】
一方、特許文献2も、そのような視覚システムの一例であって、ズーミングをすることができる1台のカメラを設置し、対象物までの距離によってカメラをズーミングしたときの対象物が映っている位置の移動量が変化することを利用して対象物までの距離の情報を生成する視覚システムを開示している。
【0007】
【特許文献1】特開2006−31313号公報
【特許文献2】特開2004−239791号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に開示されている視覚システムは、平坦な路面を走行する自動車と自動車との車間距離を検知する場合のような限られた状況では役に立つが、使用するロボットの知能化が期待されるような複雑な作業において対象物までの距離の情報を生成する場合等のような複雑な状況ではあまり役に立たない。特に、カメラの仰角を固定しなければならないことは、使用することができる状況を制約してしまう。
【0009】
また、特許文献2に開示されている視覚システムは、ズーミングのための光学系の駆動に時間がかかるので、対象物までの距離の情報を高速に生成することは困難である。
【0010】
本発明は、これらの問題を解決するためになされたもので、安価に構成することができ、使用することができる状況の制約が少なく、2次元画像情報及び3次元情報の両方を高速に生成することができる視覚システム等の画像情報生成装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため、請求項1の発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成装置であって、撮像を行い2次元画像情報を生成する撮像部と、平行光を照射し幾何パターンを投影する投影用光源と、前記撮像部が生成した2次元画像情報のうちの前記投影用光源が投影した幾何パターンに関する部分から3次元情報を生成する3次元情報生成部と、前記投影用光源の点灯及び前記撮像部の撮像のタイミングを制御する制御部と、前記撮像部が生成した2次元画像情報に対する処理を選択する処理選択部と、を備え、前記制御部は、前記投影用光源を点灯させていないときに前記撮像部に第1の撮像を行わせて第1の2次元画像情報を生成させ、前記投影用光源を点灯させているときに前記撮像部に第2の撮像を行わせて第2の2次元画像情報を生成させ、前記処理選択部は、第2の2次元画像情報を前記3次元情報生成部に処理させる。
【0012】
請求項2の発明は、請求項1に記載の画像情報生成装置において、前記撮像部の撮像範囲を照明する照明光を照射する照明用光源、をさらに備え、前記制御部は、前記照明用光源の点灯を制御し、前記撮像部に第1の撮像を行わせるときに前記照明用光源を点灯させる。
【0013】
請求項3の発明は、請求項1又は請求項2に記載の画像情報生成装置において、前記投影用光源は、発光ダイオードと、前記発光ダイオードが発光した拡散光を平行光に変換する光学系と、を備える。
【0014】
請求項4の発明は、請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、前記3次元情報生成部は、第2の2次元画像情報に係る2次元画像に映っている幾何パターンの基準箇所の間の長さに基づいて前記撮像部から幾何パターンの被投影物までの距離の情報を生成する。
【0015】
請求項5の発明は、請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、前記3次元情報生成部は、第2の2次元画像情報に係る2次元画像に映っている幾何パターンの形状のひずみに基づいて幾何パターンの被投影物の姿勢の情報を生成する。
【0016】
請求項6の発明は、請求項1ないし請求項5のいずれかに記載の画像情報生成装置において、第1の2次元画像情報のうちの特定の形状を有する対象物が映っている部分を特定し、特定した部分に映っている対象物に前記投影用光源が幾何パターンを投影することができるか否かを判定する投影可否判定部と、をさらに備え、前記処理選択部は、第1の2次元画像情報を前記投影可否判定部に処理させ、特定の形状を有する対象物に幾何パターンを投影することができると前記投影可否判定部が判定した場合に、第2の2次元画像情報を前記3次元情報生成部に処理させる。
【0017】
請求項7の発明は、2次元画像情報及び3次元情報の両方を生成する画像情報生成方法であって、(a)第1の撮像を行い第1の2次元画像情報を生成する工程と、(b)前記工程(a)において撮像を行っていないときに平行光を照射し幾何パターンを投影する工程と、(c)前記工程(b)において幾何パターンを投影しているときに第2の撮像を行い第2の2次元画像情報を生成する工程と、(d)前記工程(c)において生成された第2の2次元画像情報のうちの前記工程(b)において投影された幾何パターンが映っている部分から3次元情報を生成する工程と、を備える。
【発明の効果】
【0018】
請求項1ないし請求項7の発明によれば、2次元画像情報を生成する撮像部が1台あれば2次元画像情報及び3次元情報の両方を生成することができるので、2次元画像情報及び3次元情報の両方を出力する画像情報生成装置を安価に構成することができる。また、請求項1の発明によれば、幾何パターンを投影することができれば2次元画像情報及び3次元情報の両方を生成することができるので、使用することができる状況の制約を少なくすることができる。さらに、請求項1の発明によれば、光学系の駆動が不要であるので、2次元画像情報及び3次元情報の両方を高速に生成することができる。
【0019】
請求項2の発明によれば、第1の撮像を行うときに照明光が照射されるので、第1の2次元画像情報が環境光の影響を受けにくくなる。
【0020】
請求項3の発明によれば、発光ダイオードの応答が高速であるので、投影用光源の点灯と消灯とを高速で切り替えることができ、2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができる。また、発光ダイオードは理想的な点光源に近いので、簡単な光学系で拡散光を平行光に変換することができる。
【0021】
請求項4の発明によれば、撮像部から被投影物までの距離を簡単な計算で算出することができるので、撮像部から被投影物までの距離を高速に導出することができる。
【0022】
請求項5の発明によれば、被投影物の姿勢を簡単な計算で算出することができるので、被投影物の姿勢を高速に導出することができる。
【0023】
請求項6の発明によれば、対象物に幾何パターンを投影することができない場合には3次元情報を生成する処理を行わないので、不要な3次元情報を生成することを防ぐことができる。
【発明を実施するための最良の形態】
【0024】
<1 産業用ロボット1の構成>
図1は、本発明の望ましい実施形態に係る産業用ロボット1の模式図である。産業用ロボット1は、前工程から半導体ウエハWを受け取ってキャリアにロードするとともに、キャリアから半導体ウエハWをアンロードして後工程に受け渡す。ただし、このことは、本発明に係る画像情報生成装置及び画像情報生成方法の導入先が産業用ロボット1に制限されることを意味しない。したがって、他の種類の産業用ロボットや産業用ロボット以外のロボットに本発明に係る画像情報生成装置及び画像情報生成方法を導入しても良いし、ロボットの範疇に含まれない装置に本発明に係る画像情報生成装置及び画像情報生成方法を導入しても良い。
【0025】
図1に示すように、産業用ロボット1は、処理の対象となる半導体ウエハWを把持するロボットハンド102と、ロボットハンド102の位置及び姿勢を変化させるロボットアーム116と、ロボットハンド102及びロボットアーム116を制御するロボット制御装置132と、ロボットハンド102の前方に関する2次元画像情報及び3次元情報を生成する画像情報生成装置となる視覚システム202とを備える。
【0026】
{ロボットハンド102}
ロボットハンド102は、関節106を軸としてアーム122に対して回転するフィンガ104と、関節108を軸としてアーム122に対して回転するフィンガ110と、フィンガ104,110を回転させるモータ112とを備える。ロボットハンド102は、ロボット制御装置132から与えられた制御信号に応じてモータ112にフィンガ104,110を回転させることにより、フィンガ104,110を開閉し、フィンガ104,110の間にある半導体ウエハWを把持又は解放する。もちろん、ロボットハンド102は、制御信号に応じて半導体ウエハWを把持又は解放することができれば、どのような形式のものであってもよい。
【0027】
{ロボットアーム116}
ロボットアーム116は、関節120を軸としてベース130に対して回転するアーム118と、関節124を軸としてアーム118に対して回転するアーム122と、アーム118を回転させるモータ126と、アーム122を回転させるモータ128とを備える。ロボットアーム116は、ロボット制御装置132から与えられた制御信号に応じてモータ126にアーム118を回転させ、モータ128にアーム122を回転させることにより、ロボットハンド102の位置及び姿勢を変化させる。もちろん、ロボットアーム116は、制御信号に応じてロボットハンド102の位置及び姿勢を変化させることができれば、どのような形式のものであってもよい。
【0028】
{ロボット制御装置132}
図2は、ロボット制御装置132ののハードウエアの構成を示すブロック図である。
【0029】
図2に示すように、ロボット制御装置132は、CPU134とメモリ136とハードディスクドライブ138とを備えるコンピュータである。ロボット制御装置132は、ハードディスクドライブ138からメモリ136にロードされたロボット制御プログラム146にしたがってモータ112,126,128に制御信号を出力し、ロボットハンド102及びロボットアーム116を制御する。これにより、産業用ロボット1は、作業空間WSにおいて半導体ウエハWを把持し搬送する。また、ロボット制御装置132は、画像処理装置232から転送されてきた2次元画像情報及び3次元情報から半導体ウエハWを把持するために必要なフィンガ104,110及びアーム118,120の回転量を算出し、当該回転量を得るために必要な制御信号をモータ112,126,128に出力する。ロボット制御装置132からモータ112,126,128への制御信号の出力は、入出力インターフェース140を介して行われ、画像処理装置232からロボット制御装置132への2次元画像情報及び3次元情報の転送は、通信インターフェース142を介して行われる。CPU134、メモリ136、ハードディスクドライブ138、入出力インターフェース140及び通信インターフェース142は、内部バス144に接続され、相互にデータのやり取りをすることができる。
【0030】
{視覚システム202}
視覚システム202は、ロボットハンド102の前方を撮像して2次元画像情報を生成する。加えて、視覚システム202は、ロボットハンド102の前方にある半導体ウエハWに幾何パターンGPを投影し、幾何パターンGPの撮像結果から半導体ウエハWの位置及び姿勢に関する3次元画像情報を生成する。以下では、この視覚システム202について詳細に説明する。
【0031】
<2 視覚システム202の構成>
図1に示すように、視覚システム202は、幾何パターンGPを投影する投影用光源204と、作業空間WSを照明する照明用光源214と、投影用光源204及び照明用光源214の各々が備える後述するLED(発光ダイオード)206,216に発光用の電力を供給するLEDドライバ220とを備える。また、視覚システム202は、ロボットハンド102の前方を撮像して2次元画像情報を含む画像信号を生成するカメラ224と、カメラ224が生成した画像信号を処理する画像処理装置232とを備える。
【0032】
{投影用光源204}
図3は、投影用光源204の模式図である。図3は、投影用光源204の断面図となっている。
【0033】
投影用光源204は、LED206と、LED206が発光した拡散光を平行光に変換する光学系208と、投影すべき幾何パターンGPの明部を照らす光束が通過する部分が透過部となっており残余の部分が遮蔽部となっているマスク210とを備える。これにより、投影用光源204は、平行光を照射し、被投影物までの距離にかかわらず大きさが一定の幾何パターンGPを半導体ウエハWに投影する。なお、投影用光源204の発光源にLED206を使用することは必須ではなく、白熱電球、蛍光灯等も使用することができる。ただし、発光源にLED206を使用することには、LED206の応答が高速であるので、投影用光源204の点灯と消灯とを高速で切り替えることができ、後述する2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができるという利点がある。また、LED206は理想的な点光源に近いので、簡単な光学系で拡散光を平行光に変換することができるという利点もある。
【0034】
「平行光」は、投影用光源204からの距離による幾何パターンGPの大きさの変化が視覚システム202により生成される3次元情報の精度に実質的な影響を与えない程度の平行性を有していれば足りる。このことの意義は、ロボットハンド102の位置決め及び姿勢決めの精度以上の精度を3次元情報に求めることは無意味であることを考慮すれば明らかである。
【0035】
幾何パターンGPは、幾何パターンGPが映っている2次元画像において長さを測定すべき場所を特定する少なくとも2個の基準箇所を含むことが必要である。「少なくとも2個の基準箇所」には、例えば、点と点、点と線、線と線等がある。「点」は、線と線との交点を含み、「線」は、暗部と明部との境界線も含むと解すべきである。
【0036】
さらに、幾何パターンGPは、画像処理装置232により認識することが容易であることが望ましい。そのような幾何パターンGPには、例えば、図4(a)に示すような、帯形状の明部BR1と同一の帯形状の暗部DA1とを1方向に交互に配置したストライプ(縞模様)ST、図4(b)に示すような、正方形形状の明部BR2と同一の正方形形状の暗部DA2とを直行する2方向に交互に配置したチェック(市松模様)CH等がある。なお、以下では、幾何パターンGPがストライプSTであり、暗部BR1と明部DA1との境界線BDL3を「基準箇所」として用いるものとして説明を進める。
【0037】
投影用光源204は、アーム122の先端に固定され、ロボットハンド102の前方に向かって平行光を照射する。これにより、投影用光源204は、カメラ224の撮像範囲の中央部に向かって平行光を照射し、カメラ224の撮像範囲の中央部に存在する半導体ウエハWにストライプSTを投影する。
【0038】
ロボットアーム116が半導体ウエハWを把持するときには、アーム122の前方に半導体ウエハWが存在するので、投影用光源204が照射する平行光の光束は細くても足りる。したがって、アーム122の先端に内蔵することができる程度に投影用光源204を小型化することができる。
【0039】
{照明用光源214}
照明用光源214は、拡散光を発光するLED216を備える。なお、照明用光源214の発光源にLED216を使用することは必須ではなく、白熱電球、蛍光灯等も使用することができる。ただし、発光源にLED216を使用することには、LED216の応答が高速であるので、照明用光源214の点灯と消灯とを高速で切り替えることができ、2次元画像情報の生成と3次元情報の生成とを高速に切り替えることができるという利点がある。
【0040】
照明用光源214は、ロボットハンド102及びロボットアーム116から分離して固定され、作業空間WSに向かって拡散光を発光する。これにより、照明用光源214は、カメラ224の撮像範囲に向かって略均一な照明光を照射する。
【0041】
「略均一な照明光」は、カメラ224の撮像範囲の全体が明瞭に映された2次元画像を得ることができる程度の均一性を有していれば足りる。これにより、後述する第1の撮像を行うときにカメラ224の撮像範囲に照明光が照射されるので、視覚システム202が生成する2次元画像情報が環境光の影響を受けにくくなる。ただし、カメラ224の撮像範囲の全体が明瞭に映された2次元画像を環境光だけで得ることができるならば、照明用光源214を省略することもできる。
【0042】
{LEDドライバ220}
図5は、投影用光源204及び照明用光源214の点灯並びにカメラ224の撮像のタイミングを説明するタイムチャートである。
【0043】
LEDドライバ220は、カメラ224から入力された同期信号に同期してLED206,216に発光用の電力を交互に供給し、投影用光源204及び照明用光源214を交互に点灯させる。これにより、LEDドライバ220は、図5(a)に示すように、一定の周期で繰り返されるフレームFL1,FL2,FL3,FL4,FL5,FL6,・・・のうちの偶数番目のフレームFL2,FL4,FL6,・・・に投影用光源204を点灯させ、奇数番目のフレームFL1,FL3,FL5,・・・に投影用光源204を消灯させる。一方、LEDドライバ220は、図5(b)に示すように、奇数番目のフレームFL1,FL3,FL5,・・・に照明用光源214を点灯させ、偶数番目のフレームFL2,FL4,FL6,・・・に照明用光源214を消灯させる。フレームFL1,FL2,FL3,FL4,FL5,FL6,・・・の長さは、典型的には1/30秒程度であるが、発光源として応答の速いLED206,216を使用しているならば、1/60秒や1/200秒に高速化することもできる。
【0044】
なお、図5(a)及び図5(b)に示すように投影用光源204の点灯時間と照明用光源212の点灯時間とを同じにすることは必須ではなく、投影用光源204の点灯時間と照明用光源212の点灯時間とを異ならせてもよい。例えば、図6(a)及び図6(b)に示すように、nを自然数として、3n番目のフレームFL3,FL6,・・・に投影用光源204を点灯させ、3n−2番目及び3n−1番目のフレームFL1,FL2,FL4,FL5,・・・に照明用光源214を点灯させるようにしてもよい。
【0045】
また、投影用光源204が照射する光を照明用光源214が照射する光よりも強くし、照明用光源214が半導体ウエハWに照明光を照射している状態で投影用光源204が半導体ウエハWに幾何パターンGPを投影しても幾何パターンGPをカメラ224が明瞭に映すことができるようにすれば、図7(a)及び図7(b)に示すように、照明用光源214を常時点灯したまま、投影用光源204を偶数番目のフレームFL2,FL4,FL6,・・・に点灯させ、奇数番目のフレームFL1,FL3,FL5,・・・に消灯させるようにしてもよい。
【0046】
{カメラ224}
図8は、カメラ224のブロック図である。図8に示すように、カメラ224は、撮像のタイミングを制御する同期信号を発生する同期信号発生器226と、同期信号発生器226から入力された同期信号に同期して撮像を行い画像信号を出力する撮像センサ228とを備える。これにより、カメラ224は、図5(c)、図6(c)及び図7(c)に示すように、フレームFL1,FL2,FL3,FL4,FL5、FL6,・・・に撮像を行い、図5(d)、図6(d)及び図7(d)に示すように、撮像より1フレーム遅れたFL2,FL3,FL4,FL5、FL6,・・・に撮像により得られた画像信号を出力する。
【0047】
{画像処理装置232}
図9は、画像処理装置232のハードウエアの構成を示すブロック図である。図9に示すように、画像処理装置232は、CPU234とメモリ236とハードディスクドライブ238とを備えるコンピュータである。画像処理装置232は、ハードディスクドライブ238からメモリ236にロードされた画像処理プログラム258にしたがってカメラ224から入力された画像信号を処理する。なお、ロボット制御装置132と画像処理装置232とを別々のコンピュータとすることは必須ではなく、1台のコンピュータにロボット制御装置132及び画像処理装置232の両方の機能を持たせてもよい。また、画像処理装置232の全部又は一部の機能を専用のハードウエアによって実現してもよい。
【0048】
また、画像処理装置232は、カメラ224から入力されたアナログの画像信号をデジタルの画像データに変換するA/Dコンバータ240と、画像データを記憶するフレームメモリ242とを備える。
【0049】
さらに、画像処理装置232は、ユーザインターフェースとして、操作者の操作を受け付けるキーボード246及びマウス248並びに情報を表示するモニタ250を備える。キーボード246及びマウス248はCPU2234に接続される。CPU234は、キーボード246及びマウス248に対して行われた操作に応じた処理を行う。また、モニタ250は、ビデオボード252に接続されており、CPU234から与えられた描画命令にしたがって、2次元画像情報や3次元情報その他の情報を表示する。画像処理装置232からロボット制御装置132への2次元画像情報及び3次元情報の転送は、通信インターフェース254を介して行われる。CPU234、メモリ236、ハードディスクドライブ238、A/Dコンバータ240、フレームメモリ242、ビデオボード252及び通信インターフェース254は、内部バス256に接続され、相互にデータのやり取りをすることができる。
【0050】
{画像処理装置232における画像処理}
図10は、画像処理装置232が画像処理プログラム258を実行することにより実現される機能を示すブロック図である。
【0051】
図10に示すように、画像処理装置232は、機能的にいって、2次元画像情報を含む画像データに対する処理を選択する処理選択部260と、対象物である半導体ウエハWに関する3次元情報を生成する3次元情報生成部262と、半導体ウエハWに投影用光源204がストライプSTを投影することができるか否かを判定する投影可否判定部270とを備える。
【0052】
{処理選択部260}
LEDドライバ220及び同期信号発生器22が図5に示すタイミングの制御を行う場合、A/Dコンバータ240を介してカメラ224から取り込んだ画像データは、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・と、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・との2種類に分類される。もちろん、図6に示すタイミングの制御を行う場合、画像データは、投影用光源204を消灯させ照明用光源214を点灯させているフレームFL1,FL2,FL4,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D2,D4,D5・・・と、照明用光源214を消灯させ投影用光源204を点灯させているフレームFL3,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD3,D6,・・・との2種類に分類される。また、図7に示すタイミングの制御を行う場合、画像データは、投影用光源204を消灯させているフレームFL1,FL3,FL5,・・・にカメラ224に第1の撮像を行わせ生成させた画像信号をデジタル化した第1の画像データD1,D3,D5,・・・と、投影用光源204を点灯させているフレームFL2,FL4,FL6,・・・にカメラ224に第2の撮像を行わせ生成させた画像信号をデジタル化した第2の画像データD2,D4,D6,・・・との2種類に分類される。
【0053】
以下では、これらのタイミングの制御のうち、図5に示すタイミングの制御を行う場合を例として画像処理装置232における画像処理について説明するが、図6又は図7に示すタイミングの制御を行う場合も第1の画像データ及び第2の画像データを同様に処理することができる。
【0054】
処理選択部260は、画像データD1,D2,D3,D4,D5,D6,・・・のうち、第1の画像データD1,D3,D5,・・・を投影可否判定部270に処理させ、第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。これにより、視覚システム202は、2次元画像情報を生成するカメラ224が1台あれば2次元画像情報及び3次元情報の両方を生成することができる。このことは、2次元画像情報及び3次元情報の両方を生成する視覚システム202を安価に構成することに寄与する。
【0055】
ただし、処理選択部260は、半導体ウエハWに投影用光源204がストライプSTを投影することができると判定した旨の情報(以下では、「投影可能情報」という)が投影可否判定部270から入力された場合にのみ、第2の画像データD2,D4,D6,・・・を3次元情報生成部262に処理させる。これにより、視覚システム202は、半導体ウエハWにストライプSTを投影することができない場合には3次元情報を生成する処理を行わないので、不要な3次元情報を生成することを防ぐことができる。
【0056】
{3次元情報生成部262}
3次元情報生成部262は、第2の画像データD2,D4,D6,・・・に係る2次元画像からエッジを抽出するエッジ抽出部264と、エッジ抽出部264が抽出したエッジからストライプSTの明部BR1と暗部DA1との境界線BDL3を検出する境界線検出部266と、複数の境界線BDL3の幾何学的な関係から半導体ウエハWに関する3次元情報を演算する3次元情報演算部268とを備える。
【0057】
エッジ抽出部264は、微分フィルタを用いる方法等によりエッジを抽出する。
【0058】
境界線検出部266は、テンプレートマッチングやハフ変換を用いる方法等により境界線を検出する。
【0059】
3次元情報演算部268は、半導体ウエハWに関する3次元情報として、半導体ウエハWの位置をあらわす距離D及び半導体ウエハWの姿勢をあらわすパン角θを導出する。距離Dは、カメラ224から半導体ウエハWまでの距離をあらわしているが、産業用ロボット1では、ロボットハンド102及びカメラ224の両方がアーム122に固定されているので、カメラ224から半導体ウエハWまでの距離Dがわかればロボットハンド102から半導体ウエハWまでの距離も算出することができる。また、パン角θは、図11(a)に示すように、光軸OAに対するストライプSTの配列方向STAへの半導体ウエハWの傾き、すなわち、光軸OAと半導体ウエハWの主面とが垂直な状態からの半導体ウエハWの配列方向STAへの傾きをあらわしている。
【0060】
なお、以下では、カメラ102の光軸と投影用光源204の光軸とのずれは無視できるほど小さいものとするとして、距離D及びパン角θの算出例について説明する。
【0061】
図12は、ストライプSTが投影された半導体ウエハWが映っている2次元画像IMG1,IMG2を示す図である。図12(a)に示すように、2次元画像IMG1において境界線BDL1が平行となっており、隣接する境界線BDL1の間隔が一定である場合は、3次元情報演算部268は、半導体ウエアWが光軸OAに対して傾いていない、すなわち、θ=0であると判断して、式(1)にしたがって、ストライプ幅Xbに基づいて距離Dを算出する。
【0062】
【数1】
【0063】
ここで、2次元画像IMG1におけるストライプ幅Xa,Xbは、図12(a)に示すように、2次元画像IMG1に映っているストライプSTの一の境界線BDL11とその2つ隣りの他の境界線BDL12との間の長さを画素数であらわたものであって、ストライプ幅Xaはキャリブレーション時に取得され、ストライプ幅Xbは測定時に取得される。また、距離Lは、キャリブレーション時に取得されたカメラ224からストライプSTの被投影物までの距離である。なお、2つ隣りの境界線との間隔をストライプ幅Xa,Xbとすることは必須ではなく、隣接する境界線又は3つ以上隣の境界線との間隔をストライプ幅Xa,Xbとしてもよい。
【0064】
このように、2次元画像IMG1におけるストライプ幅Xbに基づいて距離Dを簡単な計算で算出することができるのは、ストライプSTが平行光によって投影されるため、距離Dにかかわらず半導体ウエハWに投影されるストライプSTの大きさが変化せず、距離Dが離れるほど2次元画像IMG1におけるストライプ幅Xbが小さくなることを利用している。言うまでもなく、このような簡単な計算による距離Dの算出は、距離Dを高速に導出することに寄与する。
【0065】
また、図12(b)に示すように、2次元画像IMG2において境界線BDL2が平行となっているが、隣接する境界線BDL1の間隔が一定でない場合は、3次元情報演算部268は、半導体ウエアWが光軸OAに対して傾いている、すなわち、θ≠0であると判断して、式(2)にしたがって、ストライプ幅Xb1,Xb2に基づいて距離Dを算出し、式(3)にしたがって、ストライプSTの形状のひずみに基づいてパン角θを算出する。ここで、「形状のひずみ」とは、投影用光源204の光軸と垂直な被投影面に投影されたストライプSTと相似な形状からのずれを意味する。
【0066】
【数2】
【0067】
ここで、2次元画像IMG2におけるストライプ幅Xb1,Xb2は、図12(b)に示すように、2次元画像IMG2に映っているストライプSTの境界線BDL21とその2つ隣りの他の境界線BDL22,BDL23との間の長さを画素数であらわたものであって、測定時に取得される。また、ストライプ幅STWは、図4(a)に示すように、投影用光源204の光軸と垂直な被投影面に投影されたストライプSTにおける境界線BDL31とその2つ隣りの他の境界線BDL32との間隔である。このストライプ幅STWは、マスク210の透過部の幅によって決まる。
【0068】
なお、ここでは、半導体ウエハWの姿勢としてパン角θのみを算出する例を示したが、幾何パターンGPとしてチェックCHを使用したり、ストライプSTの向きを一時的に90°回転したりすれば、同様の方法によりチルト角φも算出することができる。ここでいうチルト角φは、図11(b)に示すように、光軸OAに対するストライプSTの配列方向STAと垂直な方向への半導体ウエハWの傾きをあらわしている。
【0069】
{投影可否判定部270}
投影可否判定部270は、2次元画像情報のうちの半導体ウエハWが映っている部分を特定し、特定した部分に映っている半導体ウエハWに投影用光源204がストライプSTを投影することができるか否かを判定する。さらに、投影可否判定部270は、半導体ウエハWに投影用光源204がストライプSTを投影することができると判定した場合に、その旨を示す投影可能情報を処理選択部260に出力する。
【0070】
半導体ウエハWに関する部分を特定する方法は制限されないが、以下では、半導体ウエハWが特定の形状を有していることを利用してテンプレートマッチングを用いて特定する方法を説明する。
【0071】
図10に示すように、投影可否判定部270は、第1の画像データD1,D3,D5,・・・に係る2次元画像からエッジを抽出するエッジ抽出部272と、エッジ抽出部272が抽出したエッジから半導体ウエハWの輪郭を検出する半導体ウエハ検出部274と、半導体ウエハ検出部274が検出した半導体ウエハWの位置が基準範囲内に含まれているか否かを判定する位置判定部276とを備える。
【0072】
エッジ抽出部272は、微分フィルタを用いる方法等によりエッジを抽出する。これにより、例えば、例えば、図13(a)に示すような円板形状の物体及び矩形板形状の物体OB3が映っている2次元画像IMG3からエッジを抽出をすると、図13(b)に示すような円形及び矩形のエッジED4が抽出された2次元画像IMG4が得られる。
【0073】
半導体ウエハ検出部274は、エッジ抽出部272が抽出したエッジからあらかじめ登録されているテンプレートと類似した形状を有するエッジを検出する。したがって、半導体ウエハWの輪郭形状をテンプレートとして登録しておけば、半導体ウエハ検出部274は、半導体ウエハWを検出し、2次元画像において半導体ウエハWが映っている位置を特定することができる。例えば、半導体ウエハWが円板であれば、円をテンプレートとして登録しておけばよい。もちろん、検出能力を向上するため、テンプレートをアフィン変換して変形する等の周知の画像処理技術を採用してもよい。
【0074】
位置判定部276は、半導体ウエハ検出部274が特定した2次元画像において半導体ウエハWが映っている位置に基づいて、投影用光源204が半導体ウエハWにストライプSTを投影することができるか否かを判定する。より具体的には、位置判定部276は、2次元画像の中央部に半導体ウエハWが映っていれば、投影用光源204が半導体ウエハWにストライプSTを投影することができると判定する。もちろん、2次元画像の中央部を基準とする判定は、カメラ224の光軸OAと投影用光源204の光軸とのずれを無視できる場合にのみ採用することができるものであるので、ずれを無視することができない場合は、ずれを考慮して基準を設定する。
【0075】
{知覚システム202の利点}
このような知覚システム202によれば、ストライプSTを投影することができれば2次元画像情報及び3次元情報の両方を生成することができるので、使用することができる状況の制約を少なくすることができる。特に、知覚システム202は、大きさが異なる複数の半導体ウエハWが混在する場合でも2次元画像情報及び3次元情報の両方を高速に生成することができる。また、このような知覚システム202によれば、光学系の駆動が不要であるので、2次元画像情報及び3次元情報の両方を高速に生成することができる。
【0076】
<3 視覚システム202のキャリブレーション>
視覚システム202に精度の高い3次元情報を生成させ、産業用ロボット1を正確に動作させるためには、事前に視覚システム202のキャリブレーションを行い、距離L及びストライプ間隔Xaを視覚システム202に登録する必要がある。
【0077】
視覚システム202のキャリブレーションにあたっては、まず、ロボットハンド102の前方にストライプSTの被投影物をカメラ224の光軸OAと被投影面とが垂直になるように設置し、カメラ224から当該被投影面までの距離Lを計る。次に、カメラ224に撮像を行わせ、カメラ224から取り込んだ画像データに係る2次元画像をモニタ250に表示させて、2次元画像におけるストライプ間隔Xaを数える。
【0078】
そして、このようにして得た距離L及びストライプ間隔Xaをキーボード246から画像処理装置232に入力しメモリ236に記憶させることにより、視覚システム202は精度の高い3次元情報を生成することができるようになる。
【0079】
<4 産業用ロボット1の動作>
図14は、視覚システム202が2次元情報及び3次元情報を生成するときの産業用ロボット1の単位測定動作を説明するフローチャートであり、図17は、当該単位測定動作を繰り返すことによる実現される、半導体ウエハWの把持のための産業用ロボット1の動体予測動作を説明するフローチャートである。また、図15は、投影用光源204及びカメラ224と半導体ウエハWとの位置関係を示す模式図であり、図16は、画像処理装置232が取り込んだ画像データに係る2次元画像IMG5,IMG6を示す図である。
【0080】
{産業用ロボット1の単位測定動作}
図14に示すように、産業用ロボット1が単位測定動作を開始すると、まず、奇数番目のフレームFLpに照明用光源214が点灯するとともに(ステップS101)、カメラ224が第1の撮像を行いストライプSTが映っていない第1の2次元画像情報を含む画像信号を生成する(ステップS102)。
【0081】
続いて、処理選択部260がステップS101において第1の撮像を行うことにより画像処理装置232に取り込まれた第1の画像データDpを投影可否判定部270に処理させ、投影可否判定部270が半導体ウエハWにストライプSTを投影することができるか否かを判定する(ステップS103)。このとき、図15(a)に示すように、半導体ウエハWがカメラ224の前方正面になく、図16(a)に示すように2次元画像IMG5の周辺部に半導体ウエハWが映っている場合は、投影可否判定部270は、半導体ウエハWにストライプSTを投影することができないと判定して(ステップS103で"NO")、ロボット制御装置132にロボットアーム116を動作させて投影用光源204のストライプの投影先及びカメラ224の撮像範囲をずらす(ステップS104)。そして、視覚システム202は、ステップS104の終了後に再びステップS101を実行する。このようなステップS101〜S104のループ処理によれば、半導体ウエハWにストライプSTを投影することができるようになるまでロボットアーム116が動作するので、投影用光源204及びカメラ224と半導体ウエハWとの当初の位置関係にかかわらず、半導体ウエハWにストライプSTを投影することができるようになる。
【0082】
一方,図15(b)に示すように、半導体ウエハWがカメラ224の前方正面にあり、図16(b)に示すように2次元画像IMG5の中央部に半導体ウエハWが映っている場合は、投影可否判定部270は、半導体ウエハWにストライプSTを投影することができると判定して(ステップS103で"YES")、投影可能情報を処理選択部260に与える(ステップS105)。
【0083】
続いて、奇数番目のフレームFLqに投影用光源204が点灯するとともに(ステップS106)、カメラ224が第2の撮像を行いストライプSTが映っている第2の2次元画像情報を含む画像信号を生成する(ステップS107)。このステップS106〜S107を実行するフレームFLqは、ステップS101〜S102を実行したフレームFLpの後のフレームであることは当然であるが、必ずしもフレームFLpの次のフレームである必要はない。したがって、フレームFLpとフレームFLqとの間に処理が行われない空フレームが挿入されることがありうる。なお、この空フレームにおいて投影用光源204や照明用光源206の点灯を一時的に中止して、視覚システム202の消費電力を抑制するようにしてもよい。
【0084】
次に、投影可能情報を与えられた処理選択部260がステップS107において第2の撮像を行うことにより画像処理装置232に取り込まれた第2の画像データDqを3次元情報生成部270に処理させ、3次元情報生成部270が半導体ウエハWに関する3次元情報を生成する(ステップS108)。
【0085】
このように視覚システム202がステップS102において生成した2次元画像情報及びステップS108において生成した3次元情報は、産業用ロボット202の制御に使用される。なお、これらの2次元画像情報及び3次元情報をモニタ250に表示するようにしてもよい。
【0086】
{産業用ロボット1の動体予測動作}
図17に示すように、産業用ロボット1は、動体予測動作を行う場合、まず、第1の単位測定動作(ステップS111)及び第2の単位測定動作(ステップS112)を順次実行する。このとき、第1の単位測定動作が終了した後に第2の単位測定動作を開始してもよいが、第1の単位測定動作が終了する前に第2の単位測定動作を開始してもよい。
【0087】
第1の単位測定動作及び第2の単位測定動作が終了した後、ロボット制御装置132は、第1の単位測定動作及び第2の単位測定動作により得られた3次元情報から半導体ウエハWの位置及び姿勢を予測する(ステップS113)。すなわち、ロボット制御装置132は、式(4)に従って時刻tにおける距離D(t)を算出し、式(5)に従って時刻tにおけるパン角θを算出する。
【0088】
【数3】
【0089】
ここで、距離D1及びパン角θ1は、第1の単位測定動作により得られた距離及びパン角であり、時刻t1は、第1の単位測定動作においてカメラ224が撮像を行った時刻である。同様に、距離D2及びパン角θ2は、第2の単位測定動作により得られた距離及びパン角であり、時刻t2は、第2の単位測定動作においてカメラ224が撮像を行った時刻である。
【0090】
なお、式(4)及び式(5)のような1次の外挿ではなく2次以上の高次の外挿を行ってもよい。また、3個以上の距離及びパン角を外挿して時刻tにおける距離D(t)及びパン角θ(t)を算出してもよい。
【0091】
時刻tにおける距離D(t)及びパン角θ(t)の予測が終了すると、ロボット制御装置1は、当該予測の結果に基づいて制御信号をモータ112,126,128に出力し、半導体ウエハWを把持する(ステップS114)。
【0092】
これにより、産業用ロボットWは、半導体ウエハWの動きを予測して把持することになる。
【0093】
この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【図面の簡単な説明】
【0094】
【図1】望ましい実施形態に係る産業用ロボットの模式図である。
【図2】ロボット制御装置のハードウエアの構成を示すブロック図である。
【図3】投影用光源の模式図である。
【図4】幾何パターンを示す図である。
【図5】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図6】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図7】カメラの撮像並びに投影用光源及び照明用光源の点灯のタイミングを説明するタイムチャートである。
【図8】カメラのブロック図である。
【図9】画像処理装置のハードウエアの構成を示すブロック図である。
【図10】画像処理装置の機能を示すブロック図である。
【図11】半導体ウエハの姿勢をあらわすパン角θ及びチルト角φを説明する模式図である。
【図12】ストライプが投影された半導体ウエハが映っている2次元画像を示す図である。
【図13】エッジを抽出する前後の2次元画像を示す図である。
【図14】産業用ロボットの単位測定動作を説明するフローチャートである。
【図15】投影用光源及びカメラと半導体ウエハとの位置関係を示す模式図である。
【図16】画像処理装置232が取り込んだ画像データに係る2次元画像を示す図である。
【図17】産業用ロボットの動体予測動作を説明するフローチャートである。
【符号の説明】
【0095】
1 産業用ロボット
202 視覚システム
204 投影用光源
206 発光ダイオード
208 光学系
214 照明用光源
220 LEDドライバ
224 カメラ
226 同期信号発生器
232 画像処理装置
260 処理選択部
262 3次元情報生成部
270 投影可否判定部
W 半導体ウエハ
GP 幾何パターン
ST ストライプ
【特許請求の範囲】
【請求項1】
2次元画像情報及び3次元情報の両方を生成する画像情報生成装置であって、
撮像を行い2次元画像情報を生成する撮像部と、
平行光を照射し幾何パターンを投影する投影用光源と、
前記撮像部が生成した2次元画像情報のうちの前記投影用光源が投影した幾何パターンに関する部分から3次元情報を生成する3次元情報生成部と、
前記投影用光源の点灯及び前記撮像部の撮像のタイミングを制御する制御部と、
前記撮像部が生成した2次元画像情報に対する処理を選択する処理選択部と、
を備え、
前記制御部は、
前記投影用光源を点灯させていないときに前記撮像部に第1の撮像を行わせて第1の2次元画像情報を生成させ、前記投影用光源を点灯させているときに前記撮像部に第2の撮像を行わせて第2の2次元画像情報を生成させ、
前記処理選択部は、
第2の2次元画像情報を前記3次元情報生成部に処理させる、
画像情報生成装置。
【請求項2】
請求項1に記載の画像情報生成装置において、
前記撮像部の撮像範囲を照明する照明光を照射する照明用光源、
をさらに備え、
前記制御部は、
前記照明用光源の点灯を制御し、
前記撮像部に第1の撮像を行わせるときに前記照明用光源を点灯させる、
画像情報生成装置。
【請求項3】
請求項1又は請求項2に記載の画像情報生成装置において、
前記投影用光源は、
発光ダイオードと、
前記発光ダイオードが発光した拡散光を平行光に変換する光学系と、
を備える画像情報生成装置。
【請求項4】
請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、
前記3次元情報生成部は、
第2の2次元画像情報に係る2次元画像に映っている幾何パターンの基準箇所の間の長さに基づいて前記撮像部から幾何パターンの被投影物までの距離の情報を生成する、
画像情報生成装置。
【請求項5】
請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、
前記3次元情報生成部は、
第2の2次元画像情報に係る2次元画像に映っている幾何パターンの形状のひずみに基づいて幾何パターンの被投影物の姿勢の情報を生成する、
画像情報生成装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の画像情報生成装置において、
第1の2次元画像情報のうちの特定の形状を有する対象物が映っている部分を特定し、特定した部分に映っている対象物に前記投影用光源が幾何パターンを投影することができるか否かを判定する投影可否判定部と、
をさらに備え、
前記処理選択部は、
第1の2次元画像情報を前記投影可否判定部に処理させ、
特定の形状を有する対象物に幾何パターンを投影することができると前記投影可否判定部が判定した場合に、第2の2次元画像情報を前記3次元情報生成部に処理させる、
画像情報生成装置。
【請求項7】
2次元画像情報及び3次元情報の両方を生成する画像情報生成方法であって、
(a) 第1の撮像を行い第1の2次元画像情報を生成する工程と、
(b) 前記工程(a)において撮像を行っていないときに平行光を照射し幾何パターンを投影する工程と、
(c) 前記工程(b)において幾何パターンを投影しているときに第2の撮像を行い第2の2次元画像情報を生成する工程と、
(d) 前記工程(c)において生成された第2の2次元画像情報のうちの前記工程(b)において投影された幾何パターンが映っている部分から3次元情報を生成する工程と、
を備える画像情報生成方法。
【請求項1】
2次元画像情報及び3次元情報の両方を生成する画像情報生成装置であって、
撮像を行い2次元画像情報を生成する撮像部と、
平行光を照射し幾何パターンを投影する投影用光源と、
前記撮像部が生成した2次元画像情報のうちの前記投影用光源が投影した幾何パターンに関する部分から3次元情報を生成する3次元情報生成部と、
前記投影用光源の点灯及び前記撮像部の撮像のタイミングを制御する制御部と、
前記撮像部が生成した2次元画像情報に対する処理を選択する処理選択部と、
を備え、
前記制御部は、
前記投影用光源を点灯させていないときに前記撮像部に第1の撮像を行わせて第1の2次元画像情報を生成させ、前記投影用光源を点灯させているときに前記撮像部に第2の撮像を行わせて第2の2次元画像情報を生成させ、
前記処理選択部は、
第2の2次元画像情報を前記3次元情報生成部に処理させる、
画像情報生成装置。
【請求項2】
請求項1に記載の画像情報生成装置において、
前記撮像部の撮像範囲を照明する照明光を照射する照明用光源、
をさらに備え、
前記制御部は、
前記照明用光源の点灯を制御し、
前記撮像部に第1の撮像を行わせるときに前記照明用光源を点灯させる、
画像情報生成装置。
【請求項3】
請求項1又は請求項2に記載の画像情報生成装置において、
前記投影用光源は、
発光ダイオードと、
前記発光ダイオードが発光した拡散光を平行光に変換する光学系と、
を備える画像情報生成装置。
【請求項4】
請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、
前記3次元情報生成部は、
第2の2次元画像情報に係る2次元画像に映っている幾何パターンの基準箇所の間の長さに基づいて前記撮像部から幾何パターンの被投影物までの距離の情報を生成する、
画像情報生成装置。
【請求項5】
請求項1ないし請求項3のいずれかに記載の画像情報生成装置において、
前記3次元情報生成部は、
第2の2次元画像情報に係る2次元画像に映っている幾何パターンの形状のひずみに基づいて幾何パターンの被投影物の姿勢の情報を生成する、
画像情報生成装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の画像情報生成装置において、
第1の2次元画像情報のうちの特定の形状を有する対象物が映っている部分を特定し、特定した部分に映っている対象物に前記投影用光源が幾何パターンを投影することができるか否かを判定する投影可否判定部と、
をさらに備え、
前記処理選択部は、
第1の2次元画像情報を前記投影可否判定部に処理させ、
特定の形状を有する対象物に幾何パターンを投影することができると前記投影可否判定部が判定した場合に、第2の2次元画像情報を前記3次元情報生成部に処理させる、
画像情報生成装置。
【請求項7】
2次元画像情報及び3次元情報の両方を生成する画像情報生成方法であって、
(a) 第1の撮像を行い第1の2次元画像情報を生成する工程と、
(b) 前記工程(a)において撮像を行っていないときに平行光を照射し幾何パターンを投影する工程と、
(c) 前記工程(b)において幾何パターンを投影しているときに第2の撮像を行い第2の2次元画像情報を生成する工程と、
(d) 前記工程(c)において生成された第2の2次元画像情報のうちの前記工程(b)において投影された幾何パターンが映っている部分から3次元情報を生成する工程と、
を備える画像情報生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−186404(P2009−186404A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−28689(P2008−28689)
【出願日】平成20年2月8日(2008.2.8)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願日】平成20年2月8日(2008.2.8)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】
[ Back to top ]