説明

ワーク位置検出システム

【課題】透明体であるワークの安定的な位置を検出することができるワーク位置検出システムを提供する。
【解決手段】透明体であるワークの端面が発光するように光を照射する少なくとも一つの投光部(21a〜21c)と、光によってワークの端面に生じた発光箇所を撮像する撮像部(22a、22b)と、撮像部による撮像結果に基づいてワークの位置を検出する検出部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワーク位置検出システムに関する。
【背景技術】
【0002】
ワークの位置を検出することは、ロボットおよびクレーンなどの機器にワークを正確に操作させるために重要である。一般的に、ロボットなどの機器により位置決めされていないワークを支持する場合、ワークの位置を検出するための撮像装置が用いられている。また、照明をワークに当て、ワークを画像として認識しやすくし、ワークの位置を安定的に検出することができる仕組みが付加されていることも多々ある。しかし、自動車ウィンドウガラスなどの透明体であるワークは、検出する対象そのものが透明であるため撮像しにくく、照明を当てても光が透過し、検出が困難であるという問題点がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】実開平6−35905号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、上記問題点を解決し、透明体であるワークの端面が発光するように光を照射することで、透明体であるワークの位置を正確に検出をすることができるワーク位置検出システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の上記目的は、下記の手段によって達成される。
【0006】
本発明のワーク位置検出システムは、透明体であるワークの端面が発光するように光を照射する少なくとも一つの投光部と、前記光によって前記ワークの端面に生じた互いに異なる複数の発光箇所を撮像する撮像部と、前記撮像部による撮像結果に基づいて前記ワークの位置を検出する検出部と、を有し、前記投光部は、前記ワークの端面に交差するようにスリット光を前記ワークの端面に対して斜めに照射し、前記撮像部は、前記スリット光によって前記ワークの端面の複数個所で生じた複数の輝点を撮像することを特徴とする。
【0007】
本発明のワーク位置検出システムは、透明体であるワークの端面が発光するように光を照射する複数の投光部と、前記光によって前記ワークの端面に生じた互いに異なる複数の発光箇所を撮像する複数の撮像部と、前記撮像部による撮像結果に基づいて前記ワークの位置を検出する検出部と、を有し、前記投光部は、前記ワークの端面に交差するようにスリット光を前記ワークの端面に対して斜めに照射し、前記検出部は、前記複数の撮像部による複数方向からの撮像結果に基づいて前記ワークの三次元姿勢を検出することを特徴とする。
【発明の効果】
【0008】
以上のように構成された本発明にかかるワーク位置検出システムによれば、透明体であるワークの端面が発光するように光を照射し、光によってワークの端面に生じた発光箇所を撮像し、その撮像結果に基づいてワークの位置を検出するので、透明体であるワークの位置を正確に検出することができるようになる。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態のワーク位置検出システムが具体的に用いられる車両用窓ガラス移し替えシステムの構成図である。
【図2】図1に示す取付け台の構成図である。
【図3】図1のワーク位置検出システムのシステム構成図である。
【図4】図4aは、照明光用投光部から照射される照明光の一部がガラス板2の内部で反射し、ガラス板2内部で案内される様子を示す図であり、図4bは、空気およびガラスの屈折率がそれぞれn1およびn2のとき、入射角θ1と、屈折角および反射角θ2との関係、すなわちスネルの法則(n1sinθ1=n2sinθ2)を示す図である。
【図5】スリット光用投光部から照射されるスリット光とガラス板の端面とが交差する状態を示す模式図である。
【図6】スリット光用投光部は、スリット光をガラス板の端面に対して斜めに照射することを示すも模式図である。
【図7】図7aは、特定の波長帯を有する照明光の波長と照度の関係をあらわす図であり、図7bは、バンドパスフィルタを用いた波長と遮光率の関係をあらわす図である。
【図8】図8aは、照明光用撮像部によるバンドパスフィルタを設けない場合の撮像結果を示す図であり、図8bは、照明光用撮像部によるバンドパスフィルタを設けた場合の撮像結果を示す図である。
【図9】図9aは、照明光用撮像部の撮像結果を示す図であり、図9bは、スリット光用撮像部22bの撮像結果を示す図である。
【図10】図1に示すワーク位置検出システムの処理内容を示すフローチャートである。
【図11】図1に示すワーク位置検出システムの処理内容を示すフローチャートである。
【図12】第2の実施形態を示すシステム構成図である。
【図13】図2に示す照明光用撮像部の撮像結果を示す図である。
【図14】第2の実施形態のワーク位置検出システムが具体的に用いられる車両用窓ガラス移し替えシステムの構成図である。
【図15】第3の実施形態を示すシステム構成図である。
【図16】スリット光用投光部から照射されるスリット光とガラス板の端面とが交差する状態を示す模式図である。
【図17】図17aは、超音波測定部24からガラス板2に放射線を照射する様子をあらわす図であり、図17bは、超音波測定部24からガラス板2に放射線を照射する様子をあらわす図である。
【図18】図18aは、パレット内でのガラス位置を検出するためのパレットとガラスの位置関係をあらわす概念図であり、図18bは、パレット内でのガラス位置を検出するためのパレットとガラスの位置関係をあらわす概念図である。
【図19】図15に示す具体的な手順を示すフローチャートである。
【図20】第4の実施形態を示すシステム構成図である。
【図21】第5の実施形態を示すシステム構成図である。
【図22a】図21に示すワーク位置検出システムの処理内容を示すフローチャートである。
【図22b】図22aに後続するワーク位置検出システムの処理内容を示すフローチャートである。
【図23】図21に示すワーク位置検出システムの変形例の処理内容を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しつつ、本発明の好適な実施形態のワーク位置検出システムを説明する。
【0011】
<第1の実施形態>
本発明の第1の実施形態では、車両用窓ガラス板移し替えシステムにワーク位置検出システムを適用した場合を例にとって説明する。すなわち、本実施形態では、透明体であるワーク(以下、「透明体ワーク」と称する)として車両用窓ガラス板を採用する。
【0012】
図1は、本実施形態のワーク位置検出システムが適用されている車両用窓ガラス移し替えシステム(以下、「移し替えシステム」と称する)の一例を示している。
【0013】
図1に示されるとおり、移し替えシステム(ワーク移載システム)1は、透明体ワークである車両用窓ガラス板(以下、「ガラス板」と称する)を支持するためのロボット(搬送部)10a,10bと、ロボット10aがガラス板を支持した状態で、ガラス板の位置を検出するワーク位置検出システム20とを含む。
【0014】
ここで、ガラス板2a〜2h(以下、「ガラス板2」と総称する)は、第1パレット3a〜3h(以下、「第1パレット3」と総称する)に収納された状態で供給される。好ましくは、第1パレット(第1収納部)3は、ガラス板2の輸送に用いられる輸送用パレットである。複数のガラス板2は、それぞれ所定の間隔を隔てて積層状態で第1パレット3に収納されている。第1パレット3a〜3hそれぞれには、パレット毎に異なる車種・仕様に対応したガラス板2が収納されており、1つのパレットには同一種類のガラス板が収納されている。第1パレット3a〜3dに収容されているガラス板2a〜2dは、ロボット10aによって第2パレット4a〜4c(以下、「第2パレット4」と総称する)に車の生産順序通りに移し替えられて次の車両組立工程へ移送される。また、第1パレット3e〜3hに収容されているガラス板2e〜2hは、ロボット10bによって仮置き場5に移し替えられる。次いで、仮置き場5に移し替えられたガラス板2e〜2hはロボット10aによって支持され、第2パレット(第2収納部)4に車の生産順序通りに移し替えられて次の工程へ移送される。なお、複数のガラス板2は、第1パレット3による支持によって、ある程度、位置および姿勢が定まるものの、許容度の範囲内で位置および姿勢がばらつく。また、第1パレット3自身の寸法のばらつきや、第1パレット3を設置する際の位置のばらつきなどが存在する。よって、ロボット10aがガラス板2を支持するごとにガラス板2の位置および姿勢が異なりうるため、ロボット10aがガラス板2を第2パレット4に移し替える際には、ロボット10aがガラス板2を支持した状態で、ガラス板2の位置および姿勢を検出するワーク位置検出システム20を用いて検出して、ロボット10aの動きを補正する必要がある。
【0015】
ガラス板2を移し替えるロボット10a,10bは、たとえば、図1に示すように、作業フロア上に仮置き場5を間に置いて、ロボット10aはガラス板2a〜2dを支持できるように、ロボット10bはガラス板2e〜2hを支持できるように配置されている。ロボット10a,10bは、コントローラ11(図示せず)からの制御信号を受けて動作するように構成されている。具体的には、コントローラ11は、移し替える対象となるガラス板が第1パレット3の何れに収容されているかによって、ロボット10aおよび/またはロボット10bに制御信号を送信し、ロボット10aおよび/またはロボット10bは、この制御信号に基づいて第1パレット3a〜3h毎に定められたアプローチ位置からガラス板を支持する。ここで、ガラス板を支持する際には、ロボット10a,10bはガラス板を把持してもよく、吸着してもよい。
【0016】
次に、ガラス板2の位置を検出するワーク位置検出システム20について説明する。ワーク位置検出システム20は、図1に示されるように、ロボット10aに支持された状態のガラス板2の位置を検出可能に構成されている。
【0017】
ワーク位置検出システム20は、複数の投光部21a,21b,21cおよび撮像部22a,22bと、位置検出に関する各種の演算および制御を行うコントローラ11とを含む。ここで、本実施の形態では、コントローラ11は、上述したとおり、ロボット10a,10bを制御するためのロボットコントローラであるとともに、ワーク位置検出システム20の一部の役割を担っている。なお、複数の投光部21b,21cおよび撮像部22a,22bは、たとえば、図2に示すように、第2のパレット4の近傍に設けられた取付け台6を用いて設けられる。また、投光部21aは、たとえば、ロボット10aのガラスを支持するロボットハンドに設けられているが、後述の条件を満たすのであれば取付け台6などの他の箇所に設けても構わない。
【0018】
図3は、図1に示されるワーク位置検出システム20を示す構成図である。以下、図3に基づいて、ワーク位置検出システム20を構成する投光部21a,21b,21c、撮像部22a,22b、およびコントローラ11について、順番に説明する。
【0019】
<投光部>
投光部21aは、透明体ワークであるガラス板2の表面に照明光を斜めから照射する発光器である。ここで、照明光とは、通常、像を撮像するために、被測定部を照明する光であって、像を撮像可能であれば如何なるものでもよい。ここで、図4を参照して、照明光を照射する投光部(以下、「照明光用投光部」と称する)21aとガラス板2の表面との関係について説明する。図4(a)は、照明光用投光部21aから照射される照明光100aの一部がガラス板2の内部で反射し、ガラス板2内部で案内される様子を示す図である。図4(b)は、空気およびガラスの屈折率がそれぞれn1およびn2のとき、入射角θ1と、屈折角および反射角θ2との関係、すなわちスネルの法則(n1sinθ1=n2sinθ2)を示す図である。ここで、たとえば、空気およびガラスの屈折率はそれぞれn1=1およびn2=1.5である。
【0020】
図4(a)に示されるように、照明光用投光部21aは、ガラス板2の表面に照明光100aを斜めから照射し、ガラス板2内部で案内された照明光100aの少なくとも一部をガラス板2の端面から放射させることで、ガラス板2の端面に光を集中させ発光させる。望ましくは、ガラス板2の表面に反射角θ2が全反射臨界角θより大きくなるような入射角度θ1で照明光を照射する。ここで、全反射臨界角θとは、光が屈折率の高い物質から屈折率の低い物質に照射する場合、すなわち、光がガラス内部から外部(空気)に照射する場合、ガラス板2内部で全反射が起きるときの最小の角度である。θは、sinθ=n1/n2で求めることができる。なお、本実施形態のように、ガラス板2が湾曲形状を有している場合、臨界角は反射するごとに変化し得るが、ガラス板2内部を照明光の少なくとも一部が全反射し、ガラス板2の端面が強く発光すれば本発明の目的を果たすことができる。
【0021】
投光部21b,21cは、透明体ワークであるガラス板2の端面201に交差するようにスリット光を照射する発光器である。したがって、一般的な位置検出システムにおける投光部と異なり、透明体ワークであるガラス板2の端面201の側からスリット光を照射する。ここで、スリット光とは、直線状に延びた照射領域を持つ光である。たとえば、投光部21b,21cは、スリット状のレーザ光を照射する投光部(以下、「スリット光用投光部」と称する)である。スリット光用投光部21b,21cは、たとえば、半導体レーザ素子およびその他の光学系によって構成可能であり、その構成自体は、一般的なスリット光の発光器と同様であるので、詳しい説明を省略する。
【0022】
次に、図5を参照して、スリット光用投光部21b,21cから照射されるスリット光とガラス板2の端面201との関係について説明する。図5は、スリット光用投光部21b,21cから照射されるスリット光とガラス板2の端面とが交差する状態を示す模式図である。
【0023】
スリット光用投光部21b,21cは、図5に示されるように、スリット光100b,100cを照射するものである。この結果、ガラス板2の端面に輝点P1,P2が生じる。ここで、スリット光用投光部21b,21cは、ガラス板2の上方からガラス板2に対して、スリット光100b,100cを垂直に照射するとガラス板2の端面201以外で輝点が生じえて、後述する位置検出をする際に障害となるおそれがある。すなわち、ガラス板2に対して、スリット光用投光部21b,21cを垂直に照射するとガラス板2の上側の端面だけでなく下側の端面でも輝点が生じえて、上側と下側とで生じた輝点が重なる。したがって、ガラス板2の上方に配置された撮像部22bで撮像した結果、上側の端面で生じた輝点を判断できない可能性があるからである。したがって、図6に示すように、スリット光用投光部21b,21cは、スリット光100b,100cをガラス板2の端面201に対して斜めに照射することが望ましい。この結果、撮像部の撮像結果において、最も内側の輝点をガラス板2の端面で生じた輝点P1,P2とみなし、位置検出をする際に誤認識を防止することができる。
【0024】
なお、照明光用投光部21aは、図7(a)に示すような特定の波長帯を有する照明光100aを照射することで、下記で説明する撮像部22aにおいて、バンドパスフィルタ220を設け、図7(b)に示すようにガラス板2の端面201で発光する光以外の外乱光をカットして、ガラス板2の認識を容易にすることができる。たとえば、スリット光100bおよび照明光100aが重なる部分を撮像部22aが撮像するとき、バンドパスフィルタ220を設けない場合の撮像結果は図8(a)のようになり、バンドパスフィルタ220を設ける場合の撮像結果は図8(b)のようになる。
【0025】
<撮像部>
次に、図3に戻り、撮像部22a,22bについて説明する。撮像部22aは、照明光100aによってガラス板2の端面201に生じた光の集中箇所(放射箇所)Q1、すなわち強く発光する箇所を撮像する撮像部(以下、「照明光用撮像部」と称する)である。撮像部22bは、スリット光100b,100cによってガラス板2の端面201の複数箇所で生じた複数の輝点P1,P2を撮像する撮像部(以下、「スリット光用撮像部」と称する)である。具体的には、照明光用撮像部22aおよびスリット光用撮像部22bは、CCD素子などの撮像素子とその他の光学系によって構成可能であり、その構成自体は、一般的な撮像部と同様であるので、詳しい説明を省略する。照明光用撮像部22aは、上記の投光部での説明のとおりバンドパスフィルタ220を設けることが望ましい。さらに、図4(a)に示すように、照明光100aが直接照明光用撮像部22aに当たらないように、投光部21aと撮像部22aとを配置することが望ましい。
【0026】
<コントローラ>
コントローラ11は、上述したように、ロボット10a,10bを制御するためのロボットコントローラであるとともに、ワーク位置検出システム20の一部の役割を担っている。
【0027】
コントローラ11は、マイクロプロセッサからなる中央演算処理装置(CPU)、CPUにバス結合されたROMメモリ、RAMメモリ、不揮発性メモリ、教示操作盤、および通信インターフェイスなどの構成要素を備えている。ROMメモリには、たとえばロボットを制御するシステムプログラムなどのプログラムが格納される。RAMメモリは、CPUが実行する処理のためのデータの一時記憶などに使用される。不揮発性メモリには、たとえば動作プログラムのデータ、ロボットの教示データ、およびロボットなどの動作に必要な各種設定値が格納される。教示操作盤は、たとえばロボット10a,10bの教示データを入力する場合に用いられる。また、通信インターフェイスは、ロボット10a,10b、照明光用投光部21a、スリット光用投光部21b,21c、照明光用撮像部22a、およびスリット光用投光部22bとコントローラ11とを通信可能に接続する。
【0028】
コントローラ11は、照明光の照射を指示するための信号(以下、「照明光照射信号」と称する)を照明光用投光部21aに送信し、スリット光の照射を指示するための信号(以下、「スリット光照射信号」と称する)をスリット光用投光部21b,21cに送信し、照明光の撮像を指示するための信号(以下、「照明光撮像信号」と称する)を照明光用撮像部22aに送信し、スリット光の撮像を指示するための信号(以下、「スリット光用撮像信号」と称する)をスリット光用撮像部22b,22cに送信する。
【0029】
また、コントローラ11は、以下のような検出部として機能する。
【0030】
検出部は、照明光用撮像部22aおよびスリット光用撮像部22bからの撮像結果のデータ信号を受信して、その撮像結果のデータ信号に基づいて透明体ワークであるガラス板2の位置を検出するものである。以下に、コントローラ11の検出部で処理される透明体ワークであるガラス板2の位置を検出する方法を、図9を参照しつつ、詳細に説明する。図9(a)は、照明光用撮像部22aの撮像結果を示す図であり、図9(b)は、スリット光用撮像部22bの撮像結果を示す図である。
【0031】
まず、基準形状をコントローラ11に設定する。基準形状とは、たとえば、ロボット10aがガラス板2を支持する基準となる箇所(以下、「基準箇所」と称する)を決め、その基準箇所で支持した状態で撮像空間300に移動したとき、照明光用撮像部22a、スリット光用撮像部22bが撮像する形状である。すなわち、基準形状は、たとえば、図9(a)および図9(b)のように設定される。基準箇所とは、予めコントローラ11に設定した教示データで、ロボット10aがガラス板2を正確に第2のパレット4に収納することができるとき、ロボット10aがガラス板2を支持する箇所である。したがって、基準箇所以外で、ロボット10aがガラス板2を支持したとき、照明光用撮像部22a、およびスリット光用撮像部22bが撮像する形状が基準形状と差異を生じ、この差異によってロボット10aがガラス板2のどの位置を支持しているか算出することができる。算出後、ロボット10aの教示データを補正し、第2のパレット4に正確にガラス板2を収納することができる。撮像空間300は、図3に示すような、照明光用撮像部22a、およびスリット光用撮像部22bがガラス板2撮像をすることができる所定の空間である。以下に、コントローラ11の検出部で処理される透明体ワークであるガラス板2の位置を検出する方法を、詳細に説明する。
【0032】
まず、ガラス板2を支持したロボット10aは、ワーク位置を検出することができるように、取付け台6前の撮像空間300にロボット10aのロボットハンドを移動する。撮像空間300を、x、y、z軸を定めた座標系で表現する。本実施形態では、照明光用撮像部22aは、xz平面を撮像できるように配置し、スリット光用撮像部22bはxy平面を撮像できるように配置する。したがって、コントローラ11の基準形状は、照明光用撮像部22aはxz平面を撮像したものであり、スリット光用撮像部22bはyz平面を撮像したものである。ここで、本実施形態では、ガラス板2は、z軸まわりにθz回転移動し、x軸方向にα平行移動し、y軸方向にβ平行移動し、およびz軸方向にγ平行移動しているものとして、この各種パラメータ(θz、α、β、γ)を検出部の検出結果によって求めることができる。よって、図9に示すように、照明光用撮像部22aではパラメータ(α、γ)、スリット光用撮像部22bではパラメータ(θz、β)を求めることできる。すなわち、照明光用撮像部22aおよびスリット光用撮像部22bによって撮像された形状と、基準形状とを比較することによって、ロボット10aがガラス板2を支持した基準箇所からの移動量である各種パラメータ(θz、α、β、γ)をコントローラ11が算出することにより求めることができる。
【0033】
以上のように構成される本実施形態のワーク位置検出システム20は、以下のように処理が実行される。
【0034】
図10は、本実施形態のワーク位置検出システム20の処理内容を示すフローチャートである。
【0035】
まず、コントローラ11は、第1のパレット3a〜3hのうち何れか一つのパレットからガラス板の取り出しを指示する(ステップS1)。次に、コントローラ11は、取り出し指示されたガラス板の収容パレットが、ロボット10aが処理する第1のパレット3a〜3d、またはロボット10bが処理する第1のパレット3e〜3hであるのかを判断する(ステップS2)。
【0036】
コントローラ11は、ガラス板を取り出すパレットに該当する第1のパレット3a〜3h内のガラス残数がゼロか否かを判断する(ステップS3a,3b)。パレット内のガラス残数がゼロか否かは、たとえば、パレットに設けたカウンタを用いて、そのカウンタの出力をコントローラ11が受信することにより判断することができる。
【0037】
ガラス板を取り出すパレットのガラス板の残り枚数がゼロであれば、第1のパレットが空であること(パレット空出力)をコントローラ11は表示する(ステップS4a,4b)。
【0038】
コントローラ11は、第1のパレット3e〜3hからガラス板2を取り出すことを指示した場合には、まずロボット10bにガラスを支持させ、取り出すように指示する(ステップS5)。そして、コントローラ11は、ロボット10bに支持したガラス板2を仮置き台5に置くように指示する(ステップS6)。
【0039】
コントローラ11は、ロボット10bがガラス板2を仮置き台5に置いたあと、取り出し完了の信号をロボット10bに送信して、ロボット10bは元の位置に戻る(ステップS7)。コントローラ11は、第2のパレット4のガラス板2を収納する空きがあるか否かを判断する(ステップS8)。第2のパレット4のガラス板2を収納する空きがあるか否かは、たとえば、パレットに設けたカウンタを用いて、そのカウンタの出力をコントローラ11が受信することにより判断することができる。第2のパレット4のガラス板2を収納する空きがない場合は、ガラス板2を収納すべき第2のパレット4が空きのパレットに入れ替わるまで、すなわち、空の第2のパレットが収納箇所に移動するまで待機状態となる。
【0040】
次に、コントローラ11は、ロボット10aに、第1パレット3a〜3dであれば、それぞれの各パレットから、第1パレット3e〜3hであれば、仮置き台5からそれぞれガラス板2を取り出す指示をする(ステップS9)。
【0041】
コントローラ11は、ロボット10aがガラス板2を支持した状態で、ワーク位置を検出する撮像箇所へロボットハンドを移動させる(ステップS10)。そして、コントローラ11は、ワーク位置を検出する(ステップS11)。ワーク位置の検出処理は、図11のフローチャートを用いて説明する。
【0042】
そして、コントローラ11は、ワーク位置を検出したあと、その検出結果を基にロボット10aに第2のパレット4に整列させる(ステップS12)。
【0043】
以下、ワーク位置検出を図11のフローチャートを用いて詳細に説明する。
【0044】
コントローラ11は、まずスリット光の照射をスリット光用投光部21b,21cに指示する(ステップS21)。
【0045】
次に、コントローラ11は、スリット光用撮像部22bに、スリット光用投光部21b,21cからスリット光によって照射されたガラス板2の端面201の輝点P1,P2の撮像を指示する(ステップS22)。
【0046】
コントローラ11は、スリット光用撮像部22bによって撮像された輝点P1,P2の撮像結果の取り込みを実行する(ステップS23)。
【0047】
コントローラ11は、上述した通り予め設定された教示データ(教示形状)と撮像結果の輝点P1,P2の形状を比較することで、パラメータ(β、θz)を算出する(ステップS24)。
【0048】
コントローラ11は、パラメータ(β、θz)を算出後、スリット光用投光部21b,21cにスリット光の照射のOFFを指示する(ステップS25)。
【0049】
コントローラ11は、照明光の照射を照明光用投光部21aに指示する(ステップS26)。
【0050】
次に、コントローラ11は、照明光用撮像部22aに、照明光用投光部21aから照明光によって照射されたガラス板2の端面に生じた発光箇所(放射箇所)Q1の撮像を指示する(ステップS27)。
【0051】
コントローラ11は、照明光用撮像部22aによって撮像された発光箇所Q1の撮像結果を取り込む(ステップS28)。
【0052】
コントローラ11は、上述した通り予め設定された教示データ(教示形状)と撮像結果の発光箇所(放射箇所)Q1の形状を比較することで、パラメータ(α、γ)を算出する(ステップS29)。
【0053】
コントローラ11は、パラメータ(α、γ)を算出後、スリット光用投光部21b,21cにスリット光の照射のOFFを指示する(ステップS30)。
【0054】
なお、パラメータ(β、θz)の位置検出処理であるステップS21〜ステップS25と、パラメータ(α、γ)の位置検出処理であるステップS26〜ステップS30とは、逆に順序を入れ替えてもよいし、同時に処理を実行することも可能である。
【0055】
以上より、各種パラメータ(θz、α、β、γ)の結果よりガラスの位置計算をすることができる(ステップS31)。
【0056】
以上の処理において、ステップS21以下の処理は、スリット光用投光部の処理に対応する。ステップS26以下の処理は、照明光用投光部の処理に対応する。
【0057】
また、ステップS22〜ステップS23の処理は、スリット光用撮像部の処理に対応する。ステップS27〜ステップS28の処理は、照明光用撮像部の処理に対応する。
【0058】
さらに、ステップS24およびステップS29の処理は、検出部の処理に対応する。
【0059】
以上のように、本実施形態のワーク位置検出システム20によれば、以下のような(A)〜(K)の効果を奏する。
【0060】
(A)透明体であるガラス板の端面が発光するように光を照射する少なくとも一つの投光部と、光によってガラス板の端面に生じた発光箇所を撮像する撮像部と、撮像部による撮像結果に基づいてガラス板の位置を検出する検出部とを有するので、ガラス板の端面が発光するように光を照射することで、撮像する対象が透明体であっても、透明体であるガラス板の位置を正確に検出することができるようになる。
【0061】
(B)投光部が複数設けられていることで、ワーク位置検出に用いるためのワークの端面に複数の発光箇所を生じさせ、その複数の発光箇所に基づいて透明体であるガラス板の位置を検出することで、ガラス板の位置を詳細に検出することができる。
【0062】
(C)照明光を照射し、ガラス板内部で案内された照明光の少なくとも一部をガラス板の端面に集中させることによって、ガラス板の端面を強く発光させることができるので、強く発光した部分の撮像が容易となる。
【0063】
(D)ガラス板の表面に照射光を斜めから照射し、照射光の少なくとも一部をガラス板内部で全反射させることで、照明光が全てガラス板を透過することなく、ガラス板の端面を強く発光させることができる。
【0064】
(E)投光部は、ガラス板の表面に全反射臨界角より大きな入射角度で照明光を照射することで、照明光がガラス板内部で全反射をして端部を強く発光させることができる。
【0065】
(F)投光部は、特定の波長帯の照明光を照射し、撮像部は、特定の波長帯の照明光を選択的に透過するフィルタを備えることで、照明光によりガラス板の端面で発光する以外の光をカットし、撮像部による安定した撮像ができる。
【0066】
(G)ガラス板は、ロボットに支持され、検出部は、ロボットに支持された状態のまま撮像部によって撮像された撮像結果に基づいてガラス板の位置を検出することで、ロボットがガラス板2を完全に正確に指示しなくても、その検出部の検出結果により、第2のパレットに正確に収納することができる。
【0067】
(H)投光部は、ガラス板の端面に交差するようにスリット光を照射し、撮像部は、スリット光によってガラス板の端面の複数個所で生じた複数の輝点を撮像することで、撮像の対象が透明体であっても、透明体であるガラス板の位置を正確に検出することができるようになる。
【0068】
(I)投光部は、スリット光をガラス板の端面に対して斜めに照射することで、撮像部がガラス板2を撮像したときに、位置検出に用いる輝点のみを安定して検出することができる。
【0069】
(J)投光部が複数設けられ、検出部は、複数の投光部から照射されたそれぞれのスリット光によってガラス板の端面の複数箇所で生じた複数の輝点の撮像結果に基づいてガラス板の位置を検出することで、ガラス板の位置を詳細に検出することができる。
【0070】
(K)投光部は、ガラス板の表面に照明光を照射し、ガラス板内部で案内された照明光の少なくとも一部をガラス板の端面から放出させる照明光用投光部と、ガラス板の端面に交差するようにスリット光を照射するスリット光用投光部とを含み、撮像部は、照明光によってガラス板の端面に生じる放射箇所を撮像する照明光用撮像部と、スリット光によってガラス板の端面に生じた輝点を撮像するスリット光用撮像部とを含み、検出部は、照明光用撮像部およびスリット光用撮像部による撮像結果に基づいてガラス板の位置を検出することで、ガラス板の位置を詳細に検出することができる。
【0071】
<第2の実施形態>
次に、本発明の第2の実施形態について詳細に説明する。
【0072】
第2の実施形態のワーク位置検出システム20は、図12に示すように、第1の実施形態の構成機器であるスリット光用投光部21b,21c、およびスリット光用撮像部22bに代えて、照明光用投光部21d、および照明光用撮像部22cを用いて、複数方向からの照明光用撮像部のみの撮像結果に基づいて透明体であるガラス板の位置を検出することができるシステムである。また、第2の実施形態のワーク位置検出システムは、第1の実施形態と同様に、ガラス板2は、z軸まわりにθz回転移動し、x軸方向にα平行移動し、y軸方向にβ平行移動し、およびz軸方向にγ平行移動しているものとして、この各種パラメータ(θz、α、β、γ)を検出部の検出結果によって求めることができる。
【0073】
第2の実施形態のワーク位置検出システム20は、複数の照明光用投光部21a,21dおよび照明光用撮像部22a,22dと、位置検出に関する各種の演算および制御を実行するコントローラ11とを含む。また、照明光用撮像部22a,22dは、たとえば、図2のような取付け台6を用いて設けられる。また、照明光用投光部21dは、照明光用投光部21aと同様に、たとえば、ロボット10aのガラス板を支持するロボットハンドに設けられている。以下、第2の実施形態と第1の実施形態と同一の構成要素は説明を省略する。
【0074】
照明光用投光部21dは、照明光用投光部21aと同様に、透明体ワークであるガラス板2の表面に照明光を斜めから照射する発光器である。照明光用投光部21aは、撮像空間300のxz平面を撮像するためのものであり、照明光用投光部21dは、撮像空間300のxy平面を撮像するためのものである。
【0075】
コントローラ11は、照明光照射信号を照明光用投光部21a,21dに送信し、照明光撮像信号を照明光用撮像部22a,22cに送信する。以下に、コントローラ11の検出部で処理される透明体ワークであるガラス板2の位置を検出する方法を、図13を参照しつつ、詳細に説明する。図13は、照明光用撮像部22cの撮像結果を示す図である。なお、照明光用撮像部22aは第1の実施形態と同様なので、説明を省略する。
【0076】
まず、基準形状を第1の実施形態と同様にコントローラ11に設定する。基準形状は、たとえば、図13に示すような形状で設定される。予め設定された基準形状と、照明光用撮像部22cで撮像された形状とを比較することで、ワーク位置の検出をすることができ、パラメータ(β、θz)を算出することができる。また、第1の実施形態と同様に、照明光用撮像部22aでパラメータ(α、γ)を算出することができるので、ロボット10aがガラス板2を支持した基準箇所からの移動量である各種パラメータ(θz、α、β、γ)を、コントローラ11によって求めることができる。
【0077】
ここで、照明光用投光部21aは、特定の波長帯(以下、「第1波長帯」と称する)の照明光を照射する投光部(以下、「第1波長帯用投光部」と称する)、照明光用投光部21dは、第1波長帯とは異なる特定の波長帯(以下、「第2波長帯」と称する)の照明光を照射する投光部(以下、「第2波長帯用投光部」と称する)にすることが望ましい。照明光用撮像部22a,22cにそれぞれ第1波長帯、第2波長帯を選択的に透過するバンドパスフィルタ220,221を設けることで、ガラス板2の端面201で発光する光以外の外乱光をカットして、かつ、お互いの照明光に干渉されず、ガラス板2の認識を容易にすることができる。
【0078】
なお、照明光100aが直接照明光用撮像部22aに当たらないように、照明光100dが直接照明光用撮像部22cに当たらないように、照明光用投光部21a,21dと照明光用撮像部22a,22cを配置することが望ましい。
【0079】
以上のように、第2の実施形態のワーク位置検出システム20によれば、第1の実施形態の(A)〜(G)の効果に加え、以下の(L)、(M)効果を奏する。
【0080】
(L)スリット光用投光部を用いると、ガラス板の端面以外で輝点が生じ得て、撮像結果をもとに、ガラス板の位置検出をする処理が複雑となる。しかし、照明光用投光部のみでワーク位置の検出処理をすれば、ガラス板の端面が発光するだけであり、外乱光はバンドパスフィルタによりカットできるので、安定したガラス板の位置検出が可能である。
【0081】
(M)投光部は、第1波長帯の照明光を照射する第1波長帯用投光部と、第2波長帯の照明光を照射する第2波長帯用投光部とを含み、撮像部は、第1波長帯の照明光を選択的に透過するフィルタを備える第1波長帯用撮像部と、第2波長帯の照明光を選択的に透過するフィルタを備える第2波長帯用撮像部とを含むことで、ガラス板2の端面201で発光する光以外の外乱光をカットして、かつ、お互いの照明光に干渉されず、ガラス板2の認識を容易にすることができる。
【0082】
<第3の実施形態>
次に、本発明の第3の実施形態について詳細に説明する。
【0083】
第3の実施形態のワーク位置検出システム20は、図14に示されるように、ガラス板2が第1パレット3に収容された状態のままでも、ガラス板2の位置を検出可能に構成されている。すなわち、第1の実施形態および第2の実施形態と異なり、ロボットがガラス板2を支持してからワーク位置検出するのではなく、支持する前にワーク位置検出をすることで、ロボットにガラス板2を基準箇所で支持させるものである。
【0084】
ワーク位置検出システム20は、図15に示されるように、第1のパレット3の上方に設けられた複数の投光部21e,21fおよび撮像部22dと、少なくとも一部の投光部21eを移動する移動部23と、超音波測定器24と、位置検出に関する各種の演算および制御を実行するコントローラ11とを含む。ここで、第3の実施形態では、コントローラ11は、第1の実施形態と同様に、ロボット10a,10bを制御するためのロボットコントローラであるとともに、ワーク位置検出システム20の一部の役割を担っている。なお、図14では、第1のパレット3Aの上方の投光部21e,21fおよび撮像部22eのみを示したが、他の第1のパレット(3b〜3h)の上方にも同様の投光部および撮像部が設けられてもよい。
【0085】
<投光部>
投光部21e,21fは、透明体ワークであるガラス板2の端面201に交差するようにスリット光を照射する発光器である。投光部自体は、第1の実施形態で用いる投光部21b,21cと同様である。
【0086】
投光部21e,21fは、移動部23によって移動される第1投光部21eと、固定された第2投光部21fとを含む。ここで、図16を参照して、第1投光部21eおよび第2投光部21fから照射されるスリット光とガラス板2の端面201との関係について説明する。図16は、第1投光部21eおよび第2投光部21fから照射されるスリット光とガラス板2の端面とが交差する状態を示す模式図である。
【0087】
図16に示されるように、本実施の形態における透明体ワーク、すなわちガラス板2は、複数の投光部21e,21fのうちの一つの投光部である第1投光部21eから照射された一つのスリット光100eに対して複数の交点を形成可能な湾曲した端面201を有している。具体的には、第1投光部21eは、二つの交点でガラス板2の端面201と交差する一つのスリット光100eを照射するものである。この結果、二つの交点で輝点P3,P4が生じる。なお、本実施の形態では、一つのスリット光100eがガラス板2の端面201と複数の箇所で交差するように第1投光部21eが移動部23を移動する。
【0088】
一方、第2投光部21fは、第1投光部21eからのスリット光100eによる二つの交点(輝点P3、P4)以外の他の箇所でガラス板2の端面201と交差する他のスリット光100fを照射するものである。この結果、一の交点で輝点P5が生じる。なお、望ましくは、第2投光部21fは、上記の二つの交点に挟まれる一の箇所でガラス板2の端面201と交差するスリット光100fを照射する。
【0089】
<撮像部>
次に、図15に戻り、撮像部22dについて説明する。撮像部22dは、スリット光100eおよびスリット光100fによってガラス板2の端面201の複数箇所で生じた複数の輝点P3,P4,P5を撮像するものである。撮像部自体は、第1の実施形態で用いる撮像部と同様である。
【0090】
<移動部>
移動部23は、上述したように、少なくとも一つの投光部を移動させるものであり、具体的には第1投光部21eを移動させるものである。すなわち、移動部23は、第1投光部21eの位置または向きの少なくとも一つを変化させる。したがって、第1投光部21eからのスリット光100eによって透明体ワークであるガラス板2の照射される箇所を変化させることができる。たとえば、移動部23は、リニアアクチュエータであり、その構成自体は、一般的な移動部と同様であるので、詳しい説明を省略する。
【0091】
また、本実施形態と異なり、移動部23を用いずに第1投光部21e自体の構造によってスリット光100eの照射角度を変化させてもよい。
【0092】
<超音波測定部>
超音波測定部は、超音波を用いて超音波測定部からガラス板までの距離を測定するものである。具体的には、超音波をガラス板2の表面202に発信し、反射波を受信するまでの時間によって距離を算出することができる。超音波測定部は、たとえば、図17(a)に示すように、ロボット10a,10bのガラス板2を支持する部分であるロボットハンドに取付けることで、ロボットハンドと超音波測定部24との距離を測定することができる。
【0093】
なお、超音波測定部24は、図17(b)のように、ロボットハンドに3つ設けることもでき、この場合は、各測定部の距離算出結果より、ガラスまでの距離、パレット内でのガラス板のパレットに対する角度、ガラス板の長手方向の位置を検出することも可能である。
【0094】
<コントローラ>
コントローラ11は、第1の実施形態と同様に、ロボット20を制御するためのロボットコントローラであるとともに、ワーク位置検出システム10の一部の役割を担っている。
【0095】
コントローラ11は、スリット光の照射を指示するための信号(以下、「照射信号」と称する)を第1投光部21eおよび第2投光部21fに送信し、撮像を指示するための信号(以下、「撮像信号」と称する)を撮像部22dに送信する。コントローラ11の通信インターフェイスは、ロボット10a,10b、第1投光部21e、第2投光部21f、および撮像部22dとコントローラ11とを通信可能に接続する。
【0096】
また、コントローラ11は、以下のような判断部、補正部、比較部、および検出部として機能する。
【0097】
判断部は、スリット光100eがガラス板2の端面と二つの交点で交差するか否かを判断するものである。すなわち、判断部は、以下に示すように検出部によって求められる撮像部22dからの撮像結果のデータ信号に基づいて、スリット光100eがガラス板2の端面201と二つの交点で交差するか否かを判断し、その判断結果によってスリット光100eがガラス板2の端面201と二つの交点で交差する状態になるように第1投光部21eを移動部23によって移動させる。
【0098】
補正部は、透明体ワークであるガラス板2を支持するためのロボット10a,10bの教示データを補正するものである。すなわち、補正部は、以下に示すように検出部によって求められる第1のパレット3とガラス板2との位置関係に基づいてロボット10a,10bの教示データを補正し、ロボット10a,10bに制御信号を送信する。
【0099】
比較部は、超音波測定部24の距離測定結果と、下記で説明する検出部において、ガラス板2の位置検出の結果とを比較するものである。具体的には、本実施形態では、ワーク位置検出結果に基づいて、ロボット10a,10bはガラス板2を支持するが、比較部はこの検出結果に誤りがないかの確認をしている。
【0100】
検出部は、撮像部22dからの撮像結果のデータ信号を受信して、その撮像結果のデータ信号に基づいて透明体ワークであるガラス板2の位置を検出するものである。以下に、コントローラ11の検出部で処理される透明体ワークであるガラス板2の位置を検出する方法を、図を参照しつつ、詳細に説明する。
【0101】
検出部は、第1のパレット3における座標系を基準座標系とし、この基準座標系と透明体ワークであるガラス板2の座標系との相対的な位置関係を複数の輝点によって求めるものである。基準座標系とは、たとえば、図18(a)に示すように、第1のパレット3においてx、y、z軸を定めた座標系である。基準座標系のy軸は、第1のパレット3内においてガラス板2が積層状態で配置される際の積層方向であり、基準座標系のz軸は、第1のパレット3の底面に対して垂直方向であり、基準座標系のx軸は、y軸およびz軸に対して垂直である。なお、各軸の座標の原点は、たとえば、第1のパレット3の中心点に置くことができる。
【0102】
本実施形態における基準座標系と各ガラス板2の座標系とのそれぞれの相対的な位置関係は、座標変換処理によって求めることができる。すなわち、図18(b)に示すように、基準座標系に対して各ガラス板2の座標系は、x軸まわりにθx回転移動し、z軸まわりにθz回転移動し、x軸方向にα平行移動し、およびy軸方向にβ平行移動しているものとして、この各種パラメータ(θx、θz、α、β)を座標変換処理によって求めることで、第1のパレット3と各ガラス板2との相対的な位置関係を求めることができる。
【0103】
なお、本実施形態では、z軸中心の回転移動θzは考慮するが、x軸中心の回転移動θxはパレット3により規制され、影響は無視(θxは常に一定)できるものとし、不知のパラメータ(θz、α、β)を座標変換処理によって求めて、第1のパレット3の基準座標系とガラス板2の座標系との相対的な位置関係を求める。また、z軸方向にγ平行移動は、ガラス板2がパレットに支持されていることから影響は無視できるものとする。
【0104】
本実施形態で用いる座標変換処理は、ある座標系を4×4行列で表現する方法としての同次変換と呼ぶベクトル表現を用いて行うこととする。ここで、本実施形態では、ガラス板2の端面201の長手方向の形状を簡易的に2次式(y=f(x)=Ax+Bx)で近似できるものとし、数式(1)で表現することができる。
【0105】
【数1】

【0106】
ただし、xm3、ym3、zm3は、ガラス板2の座標系におけるx座標、y座標、z座標である。
【0107】
また、基準座標系に対してz軸まわりにθz回転移動し、x軸方向にα平行移動、y軸方向にβ平行移動して作成した新たな座標系の関係は数式(2)にて表現されることが公知である。
【0108】
【数2】

【0109】
したがって、本実施形態では、撮像部22dの撮像結果である3点の輝点P3,P4,P5に基づいて、基準座標系からガラス板の座標系への同次変換行列Tのパラメータ(θz、α、β)を数式(1)および数式(2)より決定し、基準座標系と透明体ワークであるガラス板2座標系との相対的な位置関係を求めることができる。
【0110】
すなわち、撮像部22dの撮像結果により輝点P3の基準座標系での座標P3(xw3、yw3、zw3)を得ることで、その座標P3(xw3、yw3、zw3)から数式(1)および数式(2)を適用すると、以下の数式(3)が得られる。
【0111】
【数3】

【0112】
また、輝点P4およびP5の基準座標系での座標P4(xw4、yw4、zw4)および輝点P5(xw4、yw5、zw5)についても輝点P3と同様にして数式(3)の関係から得られる。次いで、それぞれ数式(3)を展開すると以下の数式(4)の連立方程式が得られる。
【0113】
【数4】

【0114】
これらの連立方程式を解くことにより、同次変換行列のパラメータ(θz、α、β)とガラス板2の座標系での輝点P3,P4,P5のそれぞれのx座標(xm3、xm4、xm5)とを求めることができる。したがって、基準座標系と透明体ワークであるガラス板2の座標系との相対的な位置関係を求めることで、透明体ワークであるガラス板2の第1のパレット3内における基準位置からのズレ(移動量)を求めることができる。ここで、基準位置とは、たとえば、ロボット22の教示データを予め設定する際に仮定された第1のパレット3内(基準座標系)におけるガラス板2の位置である。なお、基準位置にガラス板が存在していると仮定して予め設定された教示データは、上記の基準位置からのズレ(移動量)の算出結果に基づいて実際のガラス板2の位置(以下、「実位置」と称する)に適合するように補正されることとなる。したがって、基準位置は、実際にガラス板2が第1のパレット3内で配置された位置である必要はなく、第1のパレット3内において適宜に決めることができる仮の位置である。たとえば、第1のパレット3の中心点に置かれた基準座標系の原点など第1のパレット3内の固定点を基準位置とすることができる。この場合、基準位置からのガラス板2の移動量は、複数のガラス板2が所定の間隔を隔てて積層状態で配置されることに伴うオフセット量のみならず、個々のガラス板ごとの位置および姿勢によるバラつきを含んでいる。なお、本実施の形態と異なり、積層状態で配置された複数のガラス板2ごとに教示データを設定する場合には、第1のパレット3内の固定点を基準位置とする代わりに、各ガラス板2のそれぞれについて基準位置を設定してもよい。
【0115】
なお、本実施の形態のように、ガラス板2がz軸方向に移動せず、また、x軸まわりのθx回転移動が無視できる場合には、式(4)に示されるように、基本座標系のz座標(zw3、zw4、zw5)とガラス板2の座標系のz座標(zm3、zm4、zm5)は等しくなる。このため、z座標(xw3、xw4、xw5)は、パラメータ(θz、α、β)を求めるためには不要であり、したがって、撮像結果により輝点P3,P4,P5の座標を求める際にも、z座標(zm3、zm4、zm5)については求める必要はない。
【0116】
上述したように、第1のパレット3に対する透明体ワークであるガラス板2の位置を検出した後、ロボット10a,10bの教示データが補正される。すなわち、ロボット10a,10bの教示データはガラス板2が第1のパレット3内の基準位置にある場合を前提として設定されているので、透明体ワークであるガラス板2の第1のパレット3における基準位置からのズレに基づき、ロボット10a,10bの教示データを補正することができる。
【0117】
なお、ガラス板2の端面201の長手方向の形状を簡易的に数式(1)のように近似したが、数式(1)に限定されるものではなく、ガラス板2の端面201の形状にあった数式、またはガラス板2の端面201上で表現される座標相互の対応関係を示すテーブルを用いることもできる。
【0118】
また、同次変換行列Tは数式(2)に限定されるものではなく、基準座標系と透明体ワークであるガラス板の座標系との相対的な位置関係によって変形できることは周知である。
【0119】
以上のように構成される本実施形態のワーク位置検出システム20は以下のように処理を行う。
【0120】
図19は、本実施形態のワーク位置検出システム20の処理内容を示すフローチャートである。
【0121】
コントローラ11は、図15に示すように、x軸と並行にスリット光100eを照射するようにセットされた第1投光部21e、およびy軸と並行に照射するようにセットされた第2投光部21fに照射信号を送信することで、第1投光部21eおよび第2投光部21fにスリット光100eおよびスリット光100fを照射するよう指示する(ステップS31)。
【0122】
次に、コントローラ11は、第1投光部21eおよび第2投光部21fにスリット光100eおよびスリット光100fを照射させている間に、xy平面を撮像するように第1のパレット3上方にセットされた撮像部22dに撮像信号を送信することで、撮像部22dに、透明体ワークであるガラス板2の画像、すなわち、複数の輝点を撮像するように指示する(ステップS32)。そして、コントローラ11は、撮像部22dからの撮像結果のデータ信号を取り込む(ステップS33)。
【0123】
次に、コントローラ11は、取り込んだ撮像結果から位置の検出対象であるガラス板2の端面201の箇所で生じる3点の輝点P3,P4,P5が確認されるか否かを判断する(ステップS34)。具体的には、図2に示すとおり、第2投光部21fは、y軸方向と並行に、すなわち、スリット光100fをガラス板2の端面201と一つの交点で交差するように照射しているので、ガラス板2の端面201に輝点P5は常に生じていることになる。したがって、コントローラ11は、第1投光部21eからのスリット光100eがガラス板2の端面201と二つの交点で交差し、輝点P3およびP4が生じているか否かを判断することになる。
【0124】
ここで、輝点P3,P4,P5は、たとえば、撮像結果のデータ信号(撮像画像)中から、所定値以上の画素値(輝度)を持つ画素を選択することにより抽出される。なお、ワークであるガラス板2の端面が幅を有することに起因して、それぞれの輝点P3,P4,P5は、図16に示すとおり、ある程度の広がりを有する場合がある。この場合、それぞれの輝点P3,P4,P5が占める各領域において、予め定められた代表点を抽出し、これら代表点の座標をそれぞれの輝点P3,P4,P5の座標とすることができる。たとえば、輝点P3が占める領域中で中心に位置する画素を輝点P3の代表点としてもよく、輝点P3が占める領域中で最端縁に位置する画素を輝点P3の代表点としてもよい。
【0125】
なお、図2に示されるように、第1のパレット3内に複数のガラス板2が収容されている。したがって、第2投光部21fがスリット光100fをガラス板2の積層方向(図4に示されるy軸方向)へ照射すると、スリット光100fが複数のガラス板2と交差して、それぞれのガラス板2の端面で輝点が生じ得る。この結果、現在、支持するために位置検出対象となっているガラス板2で生じた輝点と、それ以外のガラス板2で生じた輝点とが存在する場合がある。したがって、積層方向に沿う座標(y座標)によって、位置検出対象となっているガラス板2で生じている輝点のみを判別し、この輝点をスリット光100fによる輝点P5として抽出してもよい。また、位置検出対象となっていないガラス板2で生じた輝点を検出しないように、画像処理などによって、位置検出対象のガラス板2の近傍に撮像領域の範囲および検出領域などの範囲を限定してもよい。
【0126】
位置の検出対象であるガラス板2の端面201で3点の輝点P3、P4、P5が確認されない場合(ステップS34:No)、移動部23を用いて、第1投光部21eの定寸移動を指示する(ステップS35)。したがって、第1投光部からのスリット光100eの照射位置を変えて、撮像部22dの撮像結果のデータ信号を新たに取り込み、位置検出対象であるガラス板2の端面201で輝点が3点確認されるまでステップS33〜ステップS35の処理を繰り返す。
【0127】
なお、移動部23によって第1投光部21eを移動させ、位置の検出対象であるガラス2の端面201で3点の輝点P3、P4、P5が確認された場合に、さらに付加的に同一方向に第1投光部21eを移動させるように設計することもできる。この場合、輝点P3、P4、P5間の間隔距離が大きくとることでき、ワークの位置検出精度を向上させることができる。
【0128】
一方、位置検出対象であるガラス板2の端面201で3点の輝点P3、P4、P5が確認できた場合(ステップS34:Yes)、コントローラ11は、座標変換処理(同次変換)を行うルーチンを読み出す(ステップS36)。すなわち、本実施形態では、基準座標系に対してガラス板2の座標系は、z軸まわりにθz回転移動し、x軸方向にα平行移動し、y軸方向にβ平行移動する前提であるので、本実施形態の条件に適する同次変換行列T(数式(2)参照)を読み出す。
【0129】
コントローラ11は、輝点P3,P4,P5の第1のパレット3の基準座標系における基準座標の値(以下、「基準座標系値」と称する)を取り込む(ステップS37〜ステップS39)。
【0130】
コントローラ11は、上述したとおり、基準座標系値と、同次変換行列Tと、ガラス板の端面の形状を表現した式とを用いた連立方程式を解くことで、各パラメータ(θz、α、β)の値を算出することができる(ステップS40〜S42)。
【0131】
コントローラ11は、各パラメータ(θz、α、β)の値を算出した後、ロボット10a,10bが実位置でのガラス板2を支持することができるように、各パラメータ(θz、α、β)の値を基にロボット10a,10bの座標系の座標(以下、「ロボット座標」と称する)に変換する(ステップS43)。すなわち、各パラメータ(θz、α、β)は基準座標系からガラス板2の座標系への相対的な位置関係をあらわしているので、各パラメータ(θz、α、β)によって、基準座標系で表現される基準位置とガラス板2の座標系で表現される実位置との移動量を求めることができる。次いで、各パラメータ(θz、α、β)を基にした基準位置から実位置への移動量をロボット座標系の座標に変換する。一例をあげると、ガラス板2が基準座標系の原点の基準位置および所定の姿勢にあるとき、たとえば、基準座標系の座標軸とガラス板2の座標系の座標軸が一致するとき、各パラメータ(θz、α、β)の値は、基準位置から実位置への移動量そのものであり、このパラメータの値をロボット座標系の座標に変換することができる。
【0132】
コントローラ11は、ロボット座標に基づいて、ロボット10a,10bが実位置でのガラス板2を支持するために、教示データの補正量(以下、「ロボット支持補正量」と称する)を算出する(ステップS44)。たとえば、教示データは上述した基準位置に基づいて設定されている。したがって、第1のパレット3内でガラス板2が基準位置にはなく実位置にあることによって、ロボット10a,10bがガラス板2を支持する箇所も変化する。そこで、コントローラ11は、ロボット10a,10bが実位置でのガラス板2を正確に支持することができるように、ロボット座標に基づいて教示データの補正量を算出する。
【0133】
コントローラ11は、ロボット10a,10bの教示データをロボット支持補正量に基づいて補正して、ロボット10a,10bにガラス板2を支持させる(ステップS45)。
【0134】
以上の処理において、ステップS34の処理は、スリット光100eが透明体ワークであるガラス板2の端面201と二つの交点で交差するか否かを判断する判断部の処理に対応する。また、ステップS35〜ステップS42の処理は、撮像部22dによる撮像結果に基づいて透明体ワークであるガラス板2の位置を検出する検出部の処理に対応する。また、ステップS43〜ステップS44の処理は、透明体ワークであるガラス板2を支持するためのロボット10a,10bの教示データを第1のパレット3における基準座標系とワークの座標系との相対的な位置関係に基づいて補正する補正部の処理に対応する。
【0135】
以上のように、第3の実施形態のワーク位置検出システム20によれば、第1の実施形態の(A)、(B)、(H)〜(J)の効果に加え、以下の(N)〜(Y)効果を奏する。
【0136】
(N)透明体であるガラス板の端面に交差するようにスリット光を照射少なくとも一つの投光部と、スリット光によってガラス板の端面の複数箇所で生じた複数の輝点を撮像する撮像部と、撮像部による撮像結果に基づいてガラス板の位置を検出する検出部とを有するので、透明体であるガラス板の位置を正確に検出することができるようになる。
【0137】
(O)投光部が複数設けられていることで、ワーク位置検出に用いるためのワークの端面に複数の輝点を生じさせ、その複数の輝点に基づき透明体であるガラス板の位置を詳細に検出することができる。
【0138】
(P)複数の投光部から照射されたそれぞれのスリット光によってガラス板の端面の複数箇所で生じた複数の輝点の撮像結果に基づいてガラス板の位置を検出するので、ガラス板の位置をより詳細に検出することができるようになる。
【0139】
(Q)ガラス板は、一つの投光部から照射された一つのスリット光に対して複数の交点を形成可能な湾曲した端面を有しており、検出部は、複数の交点で生じた輝点を少なくとも含む複数の輝点の撮像結果に基づいてガラス板の位置を検出するので、ガラス板が湾曲を有している場合でも、そのガラス板の位置を検出することができる。
【0140】
(R)ガラス板は、所定の間隔を隔てて積層状態でパレットに収納されており、検出部は、パレットに収納された状態のまま撮像部によって撮像された撮像結果に基づいてガラス板の位置を検出するので、パレットの複数のガラス板を順次に検出することができるようになる。
【0141】
(S)パレットは、ガラス板の輸送に用いられる輸送用パレットである場合でも、従来では、ガラスのようなワークをロボットに支持させる際に、輸送時のパレットからガラス板を取り出すなどの作業者工程を必要としていたが、輸送時のパレットのままでも、ロボットにガラス板を正確に支持させることが可能となるため、ガラス板の落下を防止することができるようになる。
【0142】
(T)検出部は、パレットにおける座標系を基準座標系とし、当該基準座標系とガラス板の座標系との相対的な位置関係を複数の輝点によって求めるので、パレットにおけるガラス板の相対的な位置関係が、従来技術の同次変換を行うことによって、容易に求めることができるようになる。
【0143】
(U)ガラス板を支持するためのロボットの教示データを位置関係に基づいて補正する補正部を有するので、ロボットの教示データを補正し、ガラス板の位置を正確に支持することができるようになる。
【0144】
(V)二つの交点でガラス板の端面と交差する一のスリット光を照射する第1投光部と、ワークの端面の他の箇所で前記ワークの端面と交差する他のスリット光を照射する第2投光部とを含み、検出部は、一のスリット光とガラス板の端面とが交わる二つの交点で生じた輝点と、当該二つの交点で生じた輝点と他の箇所で他のスリット光によって生じた輝点とを含む複数の輝点の撮像結果に基づいてガラス板の位置を検出するので、輝点の数に対して投光部の数を減らしてガラス板の位置を検出することができるようになる。
【0145】
(W)第1投光部は、二つの交点に挟まれる一の箇所でガラス板の端面と交差するスリット光を照射するので、ガラス板の端面で生じる3点の輝点を所定の距離を有することができるようになる。
【0146】
(X)さらに、一つのスリット光がガラス板の端面と複数の箇所で交差するように少なくとも一つの投光部を移動させる移動部を有することで、位置検出対象であるガラス板はパレット内で不動の状態でも、ガラス板を検出することができるようになる。
【0147】
(Y)一のスリット光がガラス板の端面と二つの交点で交差するか否かを判断する判断部と、判断部の判断結果に基づいて一のスリット光がワークの端面と二つの交点で交差する状態になるように第1投光部を移動する移動部とを有するので、ガラス板は不動で、かつ、2つの投光部で3点の輝点を得ることができるようになる。
【0148】
<第4の実施形態>
さらに、本発明の第4の実施形態について詳細に説明する。
【0149】
第4の実施形態のワーク位置検出システム20は、図20に示すように、第3の実施形態の構成機器に加え、第3投光部21g、第4投光部21h、および撮像部22eを用いることで、複数方向からの撮像結果に基づいて透明体であるワークの3次元姿勢を検出することができるシステムである。
【0150】
第1投光部21eおよび第2投光部21fはxy平面を交差するように照射し、第3投光部21gおよび第4投光部21hはyz平面を交差するように照射する。
【0151】
第4の実施形態のワーク位置検出システム20によれば、それぞれの投光部からのスリット光とワークとの交差する箇所で生じた輝点をもとに、上述した方法を応用することで、容易にワークの3次元姿勢を求めることができる。
【0152】
以上のように、第4の実施形態のワーク位置検出システム20によれば、本実施形態1の(A)、(B)、(H)〜(J)、第3の実施形態の(N)〜(Y)の効果に加え、以下の(Z)効果を奏する。
【0153】
(Z)投光部と撮像部とを複数組有し、検出部は、複数の撮像部による複数方向からの撮像結果に基づいてワークの三次元姿勢を検出することで、ワークの位置を3次元姿勢で検出することができるようになる。
【0154】
<第5の実施形態>
次に、本発明の第5の実施形態について詳細に説明する。
【0155】
上述した本発明の第1の実施形態および第2の実施形態では、照明光用投光部が照射する照明光によって発光するワークの端面を、撮像部で撮像し、その撮像結果からワークを認識できることが前提である。
【0156】
しかしながら、本発明のワーク位置検出システムを用いるとき、たとえば、実際の工場内では、外光、すなわち太陽光などの光であって、投光部が照射する光以外の光を完全に制御することは不可能であり、外光によって周囲の明るさは変化する。周囲の明るさが変化すると、撮像部によって撮像された画像のコントラスト値および明度も変化し、その結果、ワークが認識しづらくなる可能性がある。たとえば、投光部が照射する光による発光箇所の明るさと周囲の明るさの差が小さくなることによって画像のコントラスト値が小さくなれば、撮像部によって撮像された画像からワークを認識しづらくなり、もしくは、周囲の明るさが明るすぎて画像全体の明度が高くなれば、ハレーションを起こし、撮像部によって撮像された画像からワークを認識しづらくなる。
【0157】
また、外光の影響に限らず、投光部自体が経年劣化することによって投光部が照射する光量が低下して、撮像部によって撮像された画像からワークを認識しづらくなることもある。
【0158】
一方で、たとえば、ワークを認識するのに余剰な画像のコントラスト値が得られている場合には、投光部によって照射される光量を低下させて投光部の寿命を延ばすことが望ましい。
【0159】
本発明の第5の実施形態のワーク位置検出システムは、上記の問題を解決するものである。本実施形態のワーク位置検出システムは、投光部の照射する光量を調節する照射光量調節部と、撮像部の取り込む光量を調節する取り込み光量調節部とを有するものであって、たとえば、第1の実施形態および第2の実施形態で用いた投光部および撮像部を調節することができる。照射光量調節部は、投光部の照射する光量を変化させて、ワークが認識しづらくなる状態を防ぎ、取り込み光量調節部は、撮像部の取り込む光量を変化させて、ワークが認識しづらくなる状態を防ぐものである。
【0160】
以下、第5の実施形態のワーク位置検出システム20を具体的に説明する。
【0161】
第5の実施形態のワーク位置検出システム20は、図21に示すように、投光部21と、撮像部22と、照射光量調節部31と、取り込み光量調節部32と、コントローラ11とを含んでいる。なお、本実施の形態では、照射光量の調整処理および撮像部の取り込み光量の調整処理を実行する構成を除いて、第1の実施形態および第2の実施形態で用いた構成と同様である。したがって、図21では、ガラス板を収容するためのロボット10aやパレット4などの構成については繰り返しの説明を省略し、照射光量の調整処理および撮像部の取り込み光量の調整処理に関係する構成のみを図示している。
【0162】
以下、図21に基づいて、第5の実施形態のワーク位置検出システム20を構成する投光部21、照射光量調節部31、撮像部22、取り込み光量調節部32、およびコントローラ11について、順番に説明する。
【0163】
<投光部>
投光部21は、照明光を照射する照明光用投光部であって、投光部自体は、第1の実施形態で用いる照明光用投光部21aと同様である。投光部21が照射する光量は、照射光量調節部31によって調節される。
【0164】
投光部21は、図21に示されるように、また、第1の実施形態と同様に、ガラス板2の表面に照明光を斜めから照射し、ガラス板2の端面に光を集中させ発光させる。
<照射光量調節部>
照射光量調節部31は、投光部21が照射する光量を調整するものであり、ライトコントローラとも呼ばれる。照射光量を調整する構成自体は、従来と同様であるので、詳しい説明を省略するが、たとえば、トライアックを位相制御することにより照明負荷への供給電力を制御する回路構成などを有している。たとえば、照射光量調整部31は、最小レベルから最大レベルまで複数段階の光量レベルに調整することができる。
【0165】
本実施形態の照射光量調整部31は、コントローラ11と協働することによって、前回までに撮像部22によって撮像された画像の明暗データに基づいて、投光部21が照射する光量を調節する構成である。ここで、明暗データには、撮像された画像全体での明暗の差に対応するコントラスト値、画像全体の明るさである画面全体の平均明度(以下、「画面明度」と称する)、画像中の発光箇所、すなわちガラス板2の端面に生じた光の集中箇所の明るさである認識部全体の平均明度(以下、「認識部明度」と称する)が含まれる。
【0166】
具体的には、照射光量調整部31は、投光部21が照射する光量を増減するか否かの指示信号をコントローラ11から受信して、その指示信号によって投光部21が照射する光量を調節する。なお、照射光量調節部31は、前回までに撮像部によって撮像された複数回分の画像の明暗データの平均値に基づいて、光量を調節することが望ましい。このような照射光量調整部31は、投光部21に内蔵されていてもよい。
【0167】
<撮像部>
撮像部22は、ガラス板2の端面に生じた光の集中箇所を撮像する撮像部であって、たとえば、カメラである。撮像部自体は、第1の実施形態で用いる撮像部22aと同様である。撮像部22は、図示していないアクチュエータを搭載しており、アクチュエータを制御することによってシャッタースピードや絞りを適宜に調整することができる。撮像部22が取り込む光量は、取り込み光量調節部32によって調節される。
【0168】
撮像部22は、図21に示されるように、また、第1の実施形態と同様に、投光部21がガラス板2に照射することによりガラス板2の端面に生じた光の集中箇所Q1を撮像する。
【0169】
<取り込み光量調節部>
取り込み光量調節部32は、上記の撮像部22とともに、ビジョンシステム(視覚システム)を構成するものである。
【0170】
取り込み光量調整部32は、大別して、撮像された画像から明暗データを算出するための明暗データ算出部と、取り込み光量を制御するための取り込み光量制御部とを有する。
【0171】
明暗データ算出部としての取り込み光量調整部32は、撮像部22によって撮像された画像を受けて、当該画像から、上述したコントラスト値、画面明度、および認識部明度などの明暗データを算出するものである。なお、これらコントラスト値、画面明度、および認識部明度の算出自体は、一般的な画像処理技術と同様であるので、詳しい説明を省略する。算出されたコントラスト値、画面明度、および認識部明度などの明暗データ自体は、ビジョン計測結果として、コントローラ11に送られる。送られた明暗データは、履歴データとしてコントローラ11内に記憶される。
【0172】
また、光量制御部としての取り込み光量調整部32は、コントローラ11と協働することによって、前回までに撮像部22によって撮像された画像の明暗データに基づいて撮像部22が取り込む光量を調節する構成である。具体的には、取り込み光量調節部32は、撮像部21に取り込まれる光量を増減するか否かの指示信号をコントローラ11から受信して、その指示信号によって撮像部22が取り込む光量を調節するように前記撮像部のシャッタースピードおよび絞りの開度を制御する。
【0173】
具体的には、取り込み光量調節部32は、撮像部22のシャッタースピードおよび/または絞りを制御して、光量を調節する。撮像部22のシャッタースピードを遅くしてシャッターが開放されている時間を長くすれば、光が当たる時間が長くなって、光を多く取り込むことができ、また、撮像部22のシャッタースピードを速くしてシャッターが開放されている時間を短くすれば、光が当たる時間が短くなって、光を取り込む量が少なくなる。また、絞りに関してみれば、撮像部22のレンズの絞りの開度を増加すれば、光を取り込む量は多く入る一方、また、レンズの絞りの開度を減少すれば光を取り込む量は少なくなる。
【0174】
たとえば、照射光量調整部31は、最遅レベルから最速レベルまで複数段階のシャッタースピードに調整することができ、最小開度レベルから最大開度レベルまで複数段階のレンズの絞りの開度に調整することができる。
【0175】
なお、取り込み光量調節部32は、前回までに撮像部によって撮像された複数回分の画像の明暗データの平均値に基づいて、光を取り込む量を調節することが望ましい。
【0176】
このような照射光量調整部31は、撮像部22に内蔵されていてもよい。
【0177】
<コントローラ>
コントローラ11は、第5の実施形態のワーク位置検出システム20では、さらに、演算部110として機能し、コントローラ11のCPUがその役割を担う。また、コントローラ11は、パラメータ記憶部111、過去データ記憶部112としての機能も有し、これらはメモリ(RAMメモリ、不揮発性メモリ)がその役割を担う。
【0178】
パラメータ記憶部111は、投光部21の光量の初期値、および画像のコントラスト値および明度の所望の範囲の下限および上限の設定値を記憶する。画像のコントラスト値および明度の所定の範囲は、たとえば、撮像部によって撮像された画像によって、ワークの端面で発光する輝点をコントローラ11が認識することができる範囲である。
【0179】
過去データ記憶部112は、前回までに撮像部22によって撮像された画像のコントラスト値および明度を過去データとして記憶する。前回までの画像のコントラスト値および明度は、たとえば、演算部110(CPU)で算出される。
【0180】
演算部110は、パラメータ記憶部111で記憶された各種の設定値および投光部の光量の初期値、および過去データ記憶部112で記憶された前回までの過去データに基づいて、その過去データが所望の範囲のコントラスト値および所望の範囲の明度であるかを演算し、その演算結果により照射光量調節部31および取り込み光量調節部32に処理内容を指示する。ここで、演算部110は、前回までの複数回分の過去データのコントラスト値および明度の平均値を算出し、その平均値が所望の範囲のコントラスト値および明度であるかを演算することが望ましい。
【0181】
また、演算部110は、取り込み光量調節部32によって送信された画像のデータからコントラスト値および明度の値を算出する役割も果たす。
【0182】
以上のように構成される第5の実施形態のワーク位置検出システム20は以下のように処理を行う。
【0183】
図22aおよび図22bは、本実施形態のワーク位置検出システム20の処理内容を示すフローチャートである。なお、以下の処理内容は、前回までに撮像部によって撮像された複数回分の画像の明暗データの平均値に基づいて投光部が照射する光量を調節する処理であって、ワーク位置を検出すること自体の処理は、上述した実施形態と同様にできるので、その処理内容の説明は省略する。
【0184】
まず、ステップS51〜ステップS55では、撮像部によって撮像された画像のデータを取得するまでの処理が実行される。
【0185】
コントローラ11は、投光部21の光量の初期値、およびコントラスト値および明度の所望の範囲の下限の設定値(以下、「下限設定値」と称する)および上限の設定値(以下、「上限設定値」と称する)を初期設定する(ステップS51)。ここで、コントラスト値の下限設定値をP1、コントラスト値の上限設定値をP2、明度の下限設定値をP3、および明度上限の設定値をP4とする。コントラスト値の所望の範囲として、コントラスト値が0〜100に設定できるものであれば、たとえば、所望の範囲を30〜70とし、下限設定値P1が30、上限設定値P2が70となる。明度の所望の範囲も、コントラスト値の所望の範囲の設定と同様である。
【0186】
次いで、照明光の照射を投光部21に指示するとともに(ステップS52)、撮像部22に、投光部21から照明光によって照射されたガラス板2の端面の輝点の撮像を指示する(ステップS53)
次いで、撮像部22によって撮像された画像のデータ、たとえば、画像のコントラスト値および明度を取り込み、履歴として保存する(ステップS54)。そして、保存されたn回前迄の複数回分のコントラスト値の平均値A、明度の平均値Bを算出する(ステップS55)。
【0187】
以上のように、撮像部によって撮像された画像のデータの取得までの処理が完了すると、次に、ステップS56〜ステップS69に示されるとおり、取り込み光量調節部や照射光量調節部の処理が実行される。すなわち、前回までに撮像部22によって撮像された画像の明暗データに基づいて、投光部21が照射する光量、または撮像部22が取り込む光量を調整する処理が実行される。
【0188】
本実施の形態では、現在の投光部21の照射する光量の設定値が最大設定値のとき、複数回分のコントラスト値の平均値Aが下限値P1以下、または明度の平均値Bが下限値P3以下であるならば、取り込み光量を増加させるべく、シャッタースピードを1段階下げる処理がなされる。
【0189】
一方、現在の投光部21の照射する光量の設定値は、最小設定値P5のとき、複数回分のコントラスト値の平均値Aが上限値P2以上、または明度の平均値Bが上限値P4以上であるならば、取り込み光量を減少させるべく、シャッタースピードを1段階上げる処理がなされる。
【0190】
また、現在の投光部21の照射する光量の設定値が最大設定値でもなく最小設定値でもない場合、すなわち、最小設定値<光量の設定値<最大設定値である場合には、照射光量の調整が可能であるので、複数回分のコントラスト値の平均値Aが下限値P1以下であれば、光量を一定量増加させる処理がなされ、複数回分のコントラスト値の平均値Aが上限値P2以上であれば、光量を一定量減少させる処理がなされる。
【0191】
なお、ここで、光量の最小設定値P5は、撮像部22が撮像した画像からワークを認識できる程度に投光部21が照射する光量の最小値である。具体例として、取り込み光量調節部32は、たとえば、投光部21が消灯するときを除き、明るさの強弱が1段階から10段階まで可変であり、3段階以上がワークを認識できる程度の明るさとすれば、10段階のときが光量の最大設定値であって、3段階のときが光量の最小の最小設定値P5である。
【0192】
まず、図22のステップS56において、現在の投光部21の照射する光量の設定値が最大かどうかを判断する。現在の投光部21の照射する光量の設定値が最大である場合には(ステップS56:Yes)、ステップS57の処理に進み、照射する光量の設定値が最大でない場合には(ステップS56:No)、ステップS61に進む。
[現在の投光部21の照射する光量の設定値が最大である場合の処理]
現在の投光部21の照射する光量の設定値が最大である場合の処理を説明する。現在の投光部21の現在の投光部21の照射する光量の設定値が最大のときは(ステップS56:Yes)、読み込み光量調整部の処理が実行され、具体的には、前回までに撮像された撮像n回分の画像のコントラスト値の平均値Aおよび撮像n回分の明度の平均値Bに基づいて、シャッタースピードを1段階下げて、撮像部22によって取り込まれる光量を増加させる処理が実行される。
【0193】
まず、前回までに撮像された撮像n回分の画像のコントラスト値の平均値Aと所望のコントラスト値の下限として設定された下限設定値P1とを比較する処理を実行する(ステップS57)。比較した結果、撮像n回分の画像のコントラスト値の平均値Aが所望のコントラスト値の下限設定値P1を上回っている場合は(ステップS57:No)、さらに、前回までに撮像された撮像n回分の画像の明度の平均値Bと所望の明度の下限の設定値である下限設定値P3とを比較する処理を実行する(ステップS58)。なお、ステップS57とステップS58の処理順序を入れ替えることができることはもちろんである。
【0194】
ステップS57およびステップS58における比較処理の結果、撮像n回分の画像のコントラスト値の平均値Aが所望のコントラスト値の下限設定値P1以下であるとき(ステップS57:Yes)、もしくは、撮像n回分の画像の明度の平均値Bが所望の明度の下限設定値P3以下であるときには(ステップS58:Yes)、既に現在の光量の設定値が最大であり、これ以上光量を増加できない状態であるにも拘わらず、コントラスト値の平均値Aや明度の平均値Bが許容しうる下限設定値以下である状態に相当する。したがって、取り込み光量を増大させる必要があると判断されるので、取り込み光量調節部32にシャッタースピードを1段下げる指示をする(ステップS59)。
【0195】
また、このシャッタースピードの変化に伴って、そのシャッタースピードに合わせた設定値に光量を変更することもできる(ステップS60)。このようにシャッタースピードに合わせた設定値に光量を変更するのは、シャッタースピードを下げることにより取り込み光量が増大するので、その増大する分とコントラスト値の下限設定値P1および明度の下限設定値P3を考慮し、投光部21が照射する光量を下げることが可能となったり、光量を下げる必要が生じたりするからである。
【0196】
具体的には、使用する系によっても異なるが、たとえば、シャッタースピードと光の取り込み量(あるいは光の取り込み量に応じたコントラスト値および明度)との関係、光量とコントラスト値および明度との関係、および、コントラスト値や明度の平均値A、Bと下限設定値P1、P3との差から、光量の変更量を決定することもでき、また、簡易的な方法として、シャッタースピードを1段下げた場合には、予め定められた光量分を下げるようにしてもよい。なお、このステップS60の処理は省略することもできる。
【0197】
以上のように、撮像n回分の画像のコントラスト値の平均値および明度の平均値に基づいて、取り込み光量の調整の処理など(ステップS57〜ステップS60)が完了すると、ステップS70へ進む。
【0198】
なお、撮像n回分の画像のコントラスト値の平均値Aが下限設定値P1よりも大きく(ステップS57:No)、かつ撮像n回分の画像の明度値の平均値Bが下限設定値P2よりも大きい場合には(ステップS58:No)、十分なコントラストおよび明度が得られていると判断されるので、そのままステップS70へ進む。
【0199】
一方、現在の投光部21の光量の設定値が最大でない場合には(ステップS56:No)、次に、現在の投光部21の光量の設定値が最小設定値P5まで下げられているどうかを判断する(ステップS61)。ここで、光量の最小設定値P5は、上述したように、撮像部22が撮像した画像からワークを認識できる程度に投光部21が照射する光量の最小値である。
【0200】
そして、この判断の結果、現在の投光部21の照射する光量の設定値がすでに最小設定値P5まで下げられている場合には(ステップS61:Yes)、ステップS62の処理に進み、現在の投光部21の照射する光量の設定値が最小設定値P5でない場合には(ステップS61:No)、ステップS66の処理に進む。
【0201】
[現在の投光部21の照射する光量の設定値が最小設定値P5である場合の処理]
現在の投光部21の照射する光量の設定値が、すでに最小設定値P5であるとき(ステップS61:Yes)、ステップS62〜ステップS65の処理が実行される。
【0202】
まず、前回までに撮像された撮像n回分の画像のコントラスト値の平均値Aと所望のコントラスト値の上限として設定された上限設定値P2との比較する処理を実行する(ステップS62)。比較した結果、撮像n回分の画像のコントラスト値の平均値Aが所望のコントラスト値の上限設定値P2を下回っている場合は(ステップS62:No)、さらに、前回までに撮像された撮像n回分の画像の明度の平均値Bと所望の明度の上限の設定値である上限設定値P4とを比較する処理を実行する(ステップS63)。なお、ステップS62とステップS63の処理順序を入れ替えることができることはもちろんである。
【0203】
ステップS62およびステップS63における比較処理の結果、撮像n回分の画像のコントラスト値の平均値Aが所望のコントラスト値の上限設定値P2以上であるとき(ステップS62:Yes)、もしくは、撮像n回分の画像の明度の平均値Bが所望の明度の上限設定値P4以上であるときには(ステップS63:Yes)、既に現在の光量の設定値が最小であり、これ以上光量を減少できない状態であるにも拘わらず、コントラスト値の平均値Aや明度の平均値Bが許容しうる上限設定値以上である状態に相当する。したがって、取り込み光量を減少させる必要があると判断されるので、取り込み光量調節部32にシャッタースピードを1段上げる指示をする(ステップS64)。また、このシャッタースピードの変化に伴って、そのシャッタースピードに合わせた設置値に光量を変更することもできる(ステップS65)。このようにシャッタースピードに合わせた設置値に光量を変更するのは、シャッタースピードを上げることにより取り込み光量が減少するので、その減少する分とコントラスト値の上限の設定値P2および明度の上限の設定値P4を考慮し、投光部21が照射する光量を上げる必要が生じうるからである。なお、具体的な詳細は、ステップS60での説明と共通するので、詳しい説明を省略する。なお、このステップS65の処理は省略することもできる。
【0204】
以上の「現在の投光部21の照射する光量の設定値が最大である場合の処理」(ステップS57〜ステップS60)、および「現在の投光部21の照射する光量の設定値が最小である場合の処理(ステップS62〜ステップS65)の処理は、取り込み光量調整部32の処理、すなわち、前回までに撮像部22によって撮像された画像の明暗データに基づいて、撮像部22が取り込む光量を調整する処理(すなわち、)の一例に対応する。
【0205】
[現在の投光部21の照射する光量の設定値が、最小設定値<設定値<最大設定値の場合の処理]
次に、現在の投光部21の照射する光量の設定値が最大設定値でもなく最小設定値でもない場合、すなわち、最小設定値<光量の設定値<最大設定値である場合の処理を説明する。
【0206】
図22aおよび図22bのフローチャートにおいて、現在の投光部21の光量の設定値が最大設定値でなく、かつ最小設定値でもないときは(ステップS56:No、およびステップS61:No)、コントラスト値の平均値Aと、所望のコントラスト値の下限設定値P1とを比較する(ステップS66)。比較した結果、コントラスト値の平均値Aが所望のコントラスト値の下限設定値P1以下であれば(ステップS66:Yes)、光量を一定量増加させる(次のステップS67)。ここで、光量の増加を一定量とすることで、緩やかな外光の変化に対応できるとともに、安定した撮像を可能とする。また、光量の増加を一定量の変化とすることで、コントローラ11の処理が複雑とならず、処理速度が速くなるメリットもある。しかしながら、本実施形態と異なり、光量の増加を一定量としないようにも構成することができる。たとえば、光量とコントラスト値とが対応するパラメータ表を用いて光量を制御することも可能であり、多様な方法を用いた光量の調節が可能である。ステップS67の処理後、ステップS70の処理に移る。
【0207】
コントラスト値の平均値Aが下限設定値P1以下でないとき(ステップS66:No)、次に、コントラスト値の平均値Aと、所望のコントラスト値の上限設定値P2とを比較する(ステップS68)。比較した結果、コントラスト値の平均値Aが上限設定値P2以上であれば(ステップS68:Yes)、光量を一定量減少させる(ステップS69)。光量の減少も上記の光量を増加させる場合と同様、一定量に限られず、多様な方法を用いて光量の調節が可能である。ステップS69の処理後、ステップS70の処理に移る。
【0208】
一方、コントラスト値の平均値Aが、下限設定値P1以下でなく、かつ上限設定値P2以上でない場合(ステップS66:No、かつステップS68:No)、すなわち、下限設定値P1<コントラスト値の平均値A<上限設定値P2である場合には、コントラスト値が良好であると判断されるので、そのままステップS70に進む。
【0209】
なお、以上の「現在の投光部21の照射する光量の設定値が、最小設定値<設定値<最大設定値の場合の処理」(ステップS66〜ステップS69)は、照射光量調整部の処理、すなわち、前回までに撮像部22によって撮像された画像の明暗データに基づいて、投光部が照射する光量を調節する処理の一例に対応する。
【0210】
最後に、ステップS70では、測定終了かどうかを判断し、測定終了でなければ(ステップS70:No)、ステップS52の処理に戻り、測定終了であれば(ステップS67:Yes)、処理を終了する。
【0211】
なお、第5の実施形態では、照射光量調節部と取り込み光量調節部とを組み合わせた形態を示しているが、組み合わせたものに限られず、照射光量調節部または取り込み光量調節部を単体で用いることも可能である。たとえば、その照射光量調節部のみを用いた一例を図23に示す。図23に示す処理であるステップS81〜ステップS90は、上述のステップS51〜ステップS55,ステップS66〜ステップS70と同様であるので、詳細な説明は省略する。
【0212】
また、第5の実施形態の変形例として、取り込み光量調節部の処理で、取り込み光量を増大させるために、撮像部22のシャッタースピードを変化させる処理(ステップS59、ステップS60)の代わりに、撮像部22の絞りを変化させる処理を用いることもできるし、シャッタースピードおよび絞りの両方を変化させる処理を用いることもできる。
【0213】
さらに、第5の実施形態において、照射光量調節部は、コントラスト値で調節しているが、コントラスト値のみに限らず、明度を比較して光量を調節し、また、コントラスト値および明度両方を用いて光量を調節することも可能である。
【0214】
さらに、第5の実施形態は、投光部21が照射する光は照射光であることを前提に説明しているが、取り込み光量調節部においては、取り込む光量の調節をすることを想定としているので、照射光のみに限られず、スリット光などの光でも適用できる。
【0215】
以上のように、本実施形態のワーク位置検出システム20によれば、以下のような(a)〜(c)の効果を奏する。
【0216】
(a)外光によって、周囲の明るさが変化し、ワークを認識しづらくなっている場合は投光部の光量を増加させることにより、ワークを認識しやすくさせ、逆に、ワークを十分認識できるレベル以上にある場合、投光部の光量を落とすことにより、ハレーションによるワークの認識しづらさを防止すると共に、照明の寿命を延ばすことが可能となる。また、この処理は、前回値、及びそれ以前の値を処理したものを用いるため、計測の差異に取り直しなど、余分な時間が掛からないというメリットもある。
【0217】
(b)投光部が照射する光量の調節および/または撮像部が取り込む光量の調節を、前回までの複数回分の撮像結果の平均値に基づいて行なうことで、突発的な光の変化が生じた場合の撮像結果により光量が調節されることを防ぐことができる。
【0218】
(c)投光部自体が経年劣化しても、撮像部の取り込む光量を調節することにより、ワークの認識しづらさを防ぐことができる。
【0219】
以上、第1〜第5の実施形態では、車両用窓ガラスを例にとり、ワーク位置検出システムを例示したが、車両用窓ガラス板に限定されるものではなく、プラスチックおよびガラスなどの透明体にも同様に適用し得る。また、第1〜第5の実施形態は、ガラス板の表面が湾曲面を有していなくても適用し得る。
【0220】
なお、第1〜第5の実施形態では、ワーク位置の検出と、ロボットの制御とを同一のコントローラで実施しているが、これに限定されることはない。たとえば、ワーク位置の検出を別のコントローラで実施し、その結果をロボットの制御をするコントローラに位置検出結果のデータを送信し本発明を実現することも可能である。
【0221】
さらに、第3の実施形態および第4の実施形態のように、複数のガラスが所定の間隔を隔てて積層状態でパレットに収納されている場合、複数のガラスに同時に輝点が生じるようにスリット光を照射し、その複数の輝点の撮像結果により複数のガラスの位置を同時に検出することも可能である。
【0222】
以上、本発明を用いることによって、透明体であるワークの端面が発光するように光を照射し、光によってワークの端面に生じた発光箇所を撮像し、その撮像結果に基づいてワークの位置を検出するので、透明体であるワークの位置を正確に検出することができるようになる。また、従来では、ガラスのようなワークをロボットにハンドリングさせる際に、輸送時のパレットからガラスを取り出すなどの作業者工程を必要としていた。しかし、本発明を用いることにより、輸送時のパレットのままでも、ロボットに正確にハンドリングさせることが可能となる。したがって、複数車種に対応することから安価な設備で構築することが可能となり人員コストの削減が可能となる。ロボットとガラスの相対位置がわかることから、パレットに置くだけではなく、車体の取付けにも応用がきく。
【符号の説明】
【0223】
2 ガラス板、
10a ロボット、
11 コントローラ、
21a〜21c 投光部、
22a,22b 撮像部、
100a 照明光、
100b,100c スリット光、
300 撮像空間。

【特許請求の範囲】
【請求項1】
透明体であるワークの端面が発光するように光を照射する少なくとも一つの投光部と、
前記光によって前記ワークの端面に生じた互いに異なる複数の発光箇所を撮像する撮像部と、
前記撮像部による撮像結果に基づいて前記ワークの位置を検出する検出部と、を有し、
前記投光部は、スリット光を前記ワークの端面に交差するように前記ワークの端面に対して斜めに照射し、
前記撮像部は、前記スリット光によって前記ワークの端面の複数個所で生じた複数の輝点を撮像することを特徴とするワーク位置検出システム。
【請求項2】
前記投光部が複数設けられ、
前記検出部は、前記複数の投光部から照射されたそれぞれのスリット光によって前記ワークの端面の複数箇所で生じた複数の輝点の撮像結果に基づいて前記ワークの位置を検出することを特徴とする請求項1に記載のワーク位置検出システム。
【請求項3】
前記ワークは、一つの投光部から照射された一つのスリット光に対して複数の交点を形成可能な湾曲した端面を有しており、
前記検出部は、前記複数の交点で生じた輝点を少なくとも含む複数の輝点の撮像結果に基づいて前記ワークの位置を検出することを特徴とする請求項1または2に記載のワーク位置検出システム。
【請求項4】
前記投光部は、二つの交点で前記ワークの端面と交差する一のスリット光を照射する第1投光部と、前記ワークの端面の他の箇所で前記ワークの端面と交差する他のスリット光を照射する第2投光部と、を含み、
前記検出部は、前記一のスリット光と前記ワークの端面とが交わる二つの交点で生じた輝点と、当該二つの交点で生じた輝点と前記他の箇所で前記他のスリット光によって生じた輝点とを含む複数の輝点の撮像結果に基づいて前記ワークの位置を検出することを特徴とする請求項3に記載のワーク位置検出システム。
【請求項5】
前記第2投光部は、前記二つの交点に挟まれる一の箇所で前記ワークの端面と交差するスリット光を照射することを特徴とする請求項4に記載のワーク位置検出システム。
【請求項6】
さらに、一つのスリット光が前記ワークの端面と複数の箇所で交差するように少なくとも一つの投光部を移動させる移動部を有することを特徴とする請求項3に記載のワーク位置検出システム。
【請求項7】
さらに、前記一のスリット光が前記ワークの端面と二つの交点で交差するか否かを判断する判断部と、
前記判断部の判断結果に基づいて前記一のスリット光が前記ワークの端面と二つの交点で交差する状態になるように前記第1投光部を移動する移動部と、を有することを特徴とする請求項4に記載のワーク位置検出システム。
【請求項8】
さらに、超音波を用いて前記ワークまでの距離を測定する超音波測定部を有し、
前記検出部で検出されたワーク位置と、前記超音波測定部によって測定された距離とを比較する比較部と、を有することを特徴とする請求項1〜7のいずれか1項に記載のワーク位置検出システム。
【請求項9】
前記ワークは、所定の間隔を隔てて積層状態でパレットに収納されており、
前記検出部は、前記パレットに収納された状態のまま前記撮像部によって撮像された撮像結果に基づいて前記ワークの位置を検出することを特徴とする請求項1〜8のいずれか1項に記載のワーク位置検出システム。
【請求項10】
前記パレットは、ワークの輸送に用いられる輸送用パレットであることを特徴とする請求項9に記載のワーク位置検出システム。
【請求項11】
前記検出部は、前記パレットにおける座標系を基準座標系とし、当該基準座標系とワークの座標系との相対的な位置関係を前記複数の輝点によって求めることを特徴とする請求項10に記載のワーク位置検出システム。
【請求項12】
さらに、前記ワークを支持するためのロボットの教示データを前記位置関係に基づいて補正する補正部を有することを特徴とする請求項11に記載のワーク位置検出システム。
【請求項13】
透明体であるワークの端面が発光するように光を照射する複数の投光部と、
前記光によって前記ワークの端面に生じた互いに異なる複数の発光箇所を撮像する複数の撮像部と、
前記撮像部による撮像結果に基づいて前記ワークの位置を検出する検出部と、を有し、
前記投光部は、スリット光を前記ワークの端面に交差するように前記ワークの端面に対して斜めに照射し、
前記検出部は、前記複数の撮像部による複数方向からの撮像結果に基づいて前記ワークの三次元姿勢を検出することを特徴とするワーク位置検出システム。
【請求項14】
前記ワークは、ガラスであること特徴とする請求項1〜13のいずれか1項に記載のワーク位置検出システム。
【請求項15】
前記ワークは、車両用窓ガラスであることを特徴とする請求項14に記載のワーク位置検出システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22a】
image rotate

【図22b】
image rotate

【図23】
image rotate


【公開番号】特開2013−50468(P2013−50468A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2012−272816(P2012−272816)
【出願日】平成24年12月13日(2012.12.13)
【分割の表示】特願2007−77682(P2007−77682)の分割
【原出願日】平成19年3月23日(2007.3.23)
【出願人】(000003997)日産自動車株式会社 (16,386)
【Fターム(参考)】