以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
§1 適用例
図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る計測システム1aの適用場面を模式的に示す図である。計測システム1aは、複数の計測部分の各々を計測するために利用される。複数の計測部分は、一のワークに対して設定されていてもよく、また、複数のワークの集合からなる計測対象に対して設定されていてもよい。なお、図1に示す例では、一のワークが計測対象として設定されており、ワーク上に複数の計測部分が設定されている。
計測システム1aは、撮像部66aと、センサ68aと、ベース部62aと、調整機構64aと、変化機構8aと、位置決定手段14と、制御手段17とを備える。
撮像部66aおよびセンサ68aは、ベース部62aに設けられている。変化機構8aは、ベース部62aとワークWとの相対位置を変化させる。たとえば、変化機構8aは、図1に示すようなワークWを移動させるXYステージや、また、ベース部62aを動かすロボットなどを含む。
調整機構64aは、ベース部62aの進行方向に対する撮像部66aとセンサ68aとの間の位置関係を調整する。たとえば、調整機構64aは、ベース部62aを回転させる回転機構である。なお、調整機構64aは、ベース部62aの進行方向に対する撮像部66aとセンサ68aとの間の位置関係を調整できればよく、回転機構に限られない。
位置決定手段14は、撮像部66aが撮像した計測部分Pの画像に基づいて、計測位置pを決定する。たとえば、計測部分Pの位置に対応付けて計測位置pを予め設定しておくことで計測部分Pの画像から計測位置pを決定してもよく、また、計測条件を予め設定し、計測条件を満たす位置を特定することで計測位置pを決定してもよい。
制御手段17は、変化機構8aおよび調整機構64aを制御する。具体的には、制御手段17は、ベース部62aの進行方向に対して撮像部66aが前、センサ68aが後ろとなるように調整しながら複数の計測部分の各々が撮像部66aの撮像範囲を通過させるようにする。また、複数の計測部分の各々について、制御手段17は、位置決定手段14により決定された計測位置pがセンサ68aの計測範囲を通過するようにする。
すなわち、計測システム1aにおいては、ベース部62aの進行方向に対して前方に位置する撮像部66aによりセンサ68aの計測位置を決定し、ベース部62aの進行方向に対して後方に位置するセンサ68aの位置を決定した計測位置p上を通過するように変化機構8aおよび調整機構64aが制御される。ベース部62aの進行方向に対して撮像部66aが前方、センサ68aが後方となるように制御されるため、撮像部66aにより正確な計測位置を特定した上で、その特定された計測位置上をセンサ68aが通過するように位置を調整することができる。また、撮像部66aで計測部位を撮像した後、撮像部66aが撮像した計測部位上をセンサ68aが通過することとなるため、撮像部66aよりも先にセンサ68aが計測部位上を通過する場合に比べて、時間や移動量のロスを減らすことができる。
§2 具体例
以下、本発明のより具体的な応用例として、本実施の形態に係る計測システム1のより詳細な構成および処理について説明する。
<A.計測システムの全体構成>
図2は、本実施の形態に係る計測システム1の全体構成を示す模式図である。計測システム1は、たとえば、対象物であるワークW上の複数の計測部分の各々を計測するために利用可能である。ここで、「計測」は、検査を目的とする計測を含み、最終的な出力が計測値である計測と、最終的な出力がたとえば検査の合否だけである計測とを含む。
計測システム1は、計測装置6と、移動機構8と、計測装置6および移動機構8とを制御する制御装置として機能するPLC(Programmable Logic Controller)100と、コントローラ200と、サーボドライバ300と、画像処理装置400と、ドライバユニット500とを備える。
計測装置6は、コントローラ200、サーボドライバ300、および画像処理装置400の各々と電気的に接続されている。移動機構8は、ドライバユニット500と電気的に接続されている。PLC100は、コントローラ200、サーボドライバ300、画像処理装置400およびドライバユニット500のそれぞれとネットワークNWを介して接続されている。ネットワークNWは、たとえば、フィールドネットワークである。一例としては、ネットワークNWには、EtherCAT(登録商標)やEtherNet/IP(登録商標)などが採用される。
なお、本実施の形態において、計測システム1は、7つの装置から構成されるとしたが、6つ以下、あるいは、8つ以上で構成されてもよい。たとえば、電気的に接続されている2以上の装置は、1の装置として構成してもよい。また、ネットワークNWを介して接続されている2以上の装置は、互いに内部バスを介して接続させて1の装置として構成してもよい。
計測装置6は、回転体62、回転機構64、カメラ66、および変位センサ68を備える。回転体62は、本願発明のベース部の一例であって、カメラ66および変位センサ68が取り付けられている。
回転機構64は、回転体62を回転させることで、回転体62の進行方向に対するカメラ66および変位センサ68の位置関係を変化させる。回転機構64は、たとえば、回転式モータで構成されたサーボモータであって、Z軸に平行な軸を中心に回転体62を回転駆動する。なお、回転機構64は、本願発明の調整機構の一例である。調整機構は、回転体62の進行方向に対するカメラ66および変位センサ68の位置関係を変化させることができればよく、図2に示した回転機構64に限られない。
カメラ66は、ワークW上に設定された計測部分の各々を撮像する撮像部である。変位センサ68は、ワークW上に設定された計測部分の各々について、計測を行なうセンサである。
移動機構8は、本願発明の変化機構の一例であって、ワークWを移動させることで、ワークWと計測装置6との間の相対位置を変化させる。移動機構8は、たとえば、水平方向の並進移動をワークWに与えることができるXYステージである。なお、変化機構は、ワークWと回転体62との相対位置を変化させることができれば、図2に示した移動機構8に限られず、たとえば、回転体62をロボットなどにより移動させる機構や、回転体62およびワークWの各々を移動させる機構であってもよい。
移動機構8は、Xステージ82Xと、Yステージ82Yと、サーボモータ84X,84Yとを備える。サーボモータ84X,84Yの各々は、回転式モータで構成される。サーボモータ84Xは、Xステージ82XをX軸方向に沿って並進駆動する。サーボモータ84Yは、Yステージ82YをY軸方向に沿って並進駆動する。
PLC100は、コントローラ200、サーボドライバ300、画像処理装置400およびドライバユニット500を制御する。具体的には、PLC100は、ワークW上の複数の計測部分の各々をカメラ66に順次撮像させるとともに、カメラ66が撮像した画像に基づいて特定される計測位置を変位センサ68に計測させる。
コントローラ200は、PLC100から送られる計測命令に従って変位センサ68を制御することで、計測結果を出力する。出力先は、PLC100であってもよく、また、コントローラ200に接続されている表示部232(図9参照)であってもよい。
サーボドライバ300は、回転体62の回転量が、PLC100から送られる回転指令に近付くように、回転機構64に対してフィードバック制御を行なう。
画像処理装置400は、PLC100からの指令に応じて、カメラ66を制御し、カメラ66から送られる画像に基づいて、各種画像処理を行ない、処理結果をPLC100に送る。
ドライバユニット500は、PLC100からの指令に応じて移動機構8に対するフィードバック制御を行なう。ドライバユニット500は、サーボドライバ500X,500Yを含む。サーボドライバ500Xは、Yステージ82Xの移動量が移動指令に近付くように、サーボモータ84Xに対してフィードバック制御を行なう。サーボドライバ500Yは、Yステージ82Yの移動量が移動指令に近付くように、サーボモータ84Yに対してフィードバック制御を行なう。
PLC100は、回転体62の進行方向に対してカメラ66が前方、変位センサ68が後方となるようにサーボドライバ300およびドライバユニット500を制御し、ワークW上の計測部分の少なくとも一部がカメラ66の撮像視野に含まれたタイミングで撮像指示を出力するように画像処理装置400を制御する。画像処理装置400およびPLC100は、カメラ66が撮像した画像に基づいて、変位センサ68の計測位置を決定する。
PLC100は、変位センサ68の計測範囲内を決定した計測位置が通過するようにサーボドライバ300およびドライバユニット500を制御し、変位センサ68の計測範囲内に計測位置が含まれるタイミングで計測指示を出力するようにコントローラ200を制御する。
すなわち、計測システム1においては、回転体62の進行方向に対して前方に位置するカメラ66により変位センサ68の計測位置を決定し、回転体62の進行方向に対して後方に位置する変位センサ68の位置を決定した計測位置上を通過するように変位センサ68とワークWとの間の相対位置を調整する。
本実施の形態においては、回転体62の進行方向に対するカメラ66の位置を変位センサ68の前方に維持しつつ、ワークW上に設定された複数の計測部分を順次撮像するための基準経路が予め定められている。基準経路は、回転体62とワークWとの間の相対位置の変化および、相対位置の変化に対応付けられた回転体62の進行方向に対するカメラ66と変位センサ68との間の位置関係の変化を含む。より具体的には、基準経路は、移動機構8の移動量および移動機構8の移動量に対応付けられた回転機構64の変位量を含む。計測システム1においては、基準経路に沿ってカメラ66とワークWとの間の相対位置を変化させつつ、カメラ66により撮像された計測部分の画像に基づいて計測位置が特定される度に、変位センサ68の計測範囲を計測位置が通過するように適宜基準経路が修正される。なお、「計測部分」とは、前方に位置するカメラ66で、後方に位置する変位センサ68の計測位置を特定する部分であって、ワークW上に連続して設定されていてもよく、また、非連続に設定されていてもよい。
<B.基準経路>
図3は、基準経路を示す図である。なお、実際には、移動機構8によってワークWの位置が変化するものの、回転体62の位置が固定されていることから、説明を簡略化するため、回転体62がワークWの上方のXY平面上を動いているように表現している。図3において、実線は、基準経路に従って移動機構8が制御された場合の、回転体62の回転中心OとワークWとの相対位置の変化を示す経路L1である。破線は、基準経路に従って移動機構8および回転機構64が制御された場合の、変位センサ68とワークWとの相対位置の変化を示す経路L2である。なお、図3において、便宜上、経路L1および経路L2の重なりを解消させて表現している。また、図3において、便宜上、カメラ66は四角形で表され、変位センサ68は三角形で表されている。また、計測位置p,回転体62,カメラ66,および変位センサ68は、便宜上、一部符号を省略している。また、図3においては、計測部分Pとして、第1計測部分P1〜第6計測部分P6が設定されているものとする。
基準経路は、たとえば、ワークWの設計上の外観に基づいて生成される。基準経路が生成されることで、移動機構8および回転機構64が経時的にどのように動くが決まる。このとき、基準経路は、ワークWが予め定められた基準状態から計測が開始されるものとして生成される。ここで、基準状態は、ワークWと回転体62との間の相対位置および回転体62に対するワークWの姿勢を含む概念である。
実際の計測時においては、ワークWの計測が基準状態から開始するとは限らず、また、設計通りのワークWであるとは限らない。そのため、基準状態からのズレ、および、設置されたワークWとワークWの設計値とのズレによっては、図3に示すように、基準経路に従って移動機構8および回転機構64が制御されたとしても、計測部分Pの計測位置p上を変位センサ68の計測範囲が通過しない。なお、基準経路に従って移動機構8および回転機構64が制御されたとしても、カメラ66の撮像範囲を複数の計測部分Pの各々が通過するものとする。ここで、計測部分Pが撮像範囲を通過するとは、計測部分Pの位置を特定するための特徴部位をカメラ66が撮像可能であればよい。なお、カメラ66の撮像範囲は、変位センサ68の計測範囲に比べて広いものとする。
<C.基準経路の修正>
図3に示すように、基準経路に従って移動機構8および回転機構64が制御されたとしても、計測部分Pの計測位置p上を変位センサ68が通過しない。図4を参照して、基準経路の修正方法について説明する。図4は、基準経路の修正方法の概略を示す図である。
ここでは、第1計測部分P1上を回転体62が通過するときを例に説明する。図4においては、回転体62の動きと、回転中心O経路と、変位センサ68経路とを別々に示す。また、図4において、基準経路に従って移動機構8および回転機構64が制御された場合の経路は破線で示されており、修正後の経路は実線で示されている。
図4に示すように、回転体62の回転中心Oの経路を変えることなく、変位センサ68の経路を修正することで、基準経路が修正される。より具体的には、本実施の形態における計測システム1は、移動機構8の経時的な動きを設定時から変えることなく、回転機構64の経時的な動きを変えることで基準経路を修正する。
移動機構8は、ワークWと計測装置6との間の相対位置を変化させる機構であるのに対して、回転機構64は、回転体62の進行方向に対するカメラ66および変位センサ68の位置関係を変化させる機構である。すなわち、移動機構8の経時的な動きを変えることなく、回転機構64の経時的な動きを変えることで基準経路が修正されるとは、ワークWと計測装置6との間の相対位置の経路を変えることなく、回転体62の進行方向に対するカメラ66および変位センサ68の位置関係の変化を調整することで、基準経路が修正されることを意味する。
このように、ワークWと計測装置6との間の相対位置の経路を変えることなく、回転体62の進行方向に対するカメラ66および変位センサ68の位置関係の変化だけを調整することで基準経路が修正されるため、修正対象が少なく、処理を簡略化することができ、その結果、修正に要する処理負担を軽減することができる。より具体的には、修正に要する演算を簡略化することができる。特に、本実施の形態においては、回転体62を回転させる回転機構64の動きのみを調整することで基準経路が修正されるため、回転体62の回転量という1の変数のみを算出すればよく、修正に要する演算をより簡略化することができる。
<D.計測の流れ>
図5を参照して、本実施の形態の計測システム1の計測処理の流れの一例について説明する。図5は、計測システム1の計測処理の流れの一例を示すフローチャートである。
計測処理は、移動機構8上にワークWが設置されたことに基づいて開始される処理である。
ステップS1において、PLC100は、設定されている経路に従って移動機構8および回転機構64を制御する。設定されている経路は、基準経路が修正されている場合は、修正後の経路であり、基準経路が修正されていない場合は、基準経路である。
ステップS2において、PLC100は、カメラ66の撮像条件が成立したか否かを判定する。撮像条件は、たとえば、計測部分Pがカメラ66の撮像範囲に位置したことである。計測部分Pがカメラ66の撮像範囲に位置するときの移動機構8の移動量および回転機構64の回転量は、基準経路にしたがって予め定められている。すなわち、本実施の形態における撮像条件は、移動機構8の移動量が予め定められた目標量に達し、かつ、回転機構64の回転量が予め定められた目標量に達したことを以て成立する。
ステップS3において、カメラ66は、PLC100からの撮像指示に基づいて画像処理装置400から出力される撮像命令に従い、計測部分Pを撮像する。このとき、PLC100は、移動機構8および回転機構64を停止するための指示を出力するようにしてもよい。
ステップS4において、PLC100は、カメラ66が撮像した画像に基づいて計測位置pを特定する。計測位置pは、たとえば、計測部分Pの位置および姿勢に対応付けて予め定められている。画像処理装置400は、カメラ66が撮像した画像から、公知のパターンマッチングを利用して計測部分Pの位置および姿勢を特定し、PLC100に出力する。PLC100は、出力された計測部分Pの位置および姿勢から計測位置pを特定する。なお、計測部分Pの形状が上下左右対称の円のような形状である場合、姿勢を特定する必要はない。
ステップS5において、PLC100は、特定した計測位置pに基づいて、基準経路を修正する。具体的には、PLC100は、変位センサ68の計測範囲内を特定した計測位置pが通過するように基準経路を修正する。これにより、変位センサ68の計測範囲内に特定した計測位置pが位置するときの移動機構8の移動量と、回転機構64の回転量とが特定される。なお、ステップS5において、PLC100は、計測位置p上を変位センサ68の計測範囲が通過した後の経路については、修正しないようにしてもよい。すなわち、計測位置p上を変位センサ68の計測範囲が通過した後は、基準経路に従って移動機構8および回転機構64が制御される。
ステップS6において、PLC100は、計測条件が成立しているか否かを判定する。計測条件は、変位センサ68の計測範囲内に特定した計測位置pが位置していることである。より具体的には、ステップS5において、変位センサ68の計測範囲内に特定した計測位置pが位置するときの移動機構8の移動量と、回転機構64の回転量とが特定されるため、計測条件は、移動機構8の移動量と、回転機構64の回転量とがステップS5において特定された値に達したことで成立する。
ステップS7において、変位センサ68は、計測を行なう。コントローラ200は、変位センサ68からの信号を受け、計測結果を算出する。このとき、PLC100は、移動機構8および回転機構64を停止するための指示を出力するようにしてもよい。
ステップS8において、PLC100は、設定されている全ての計測部分の計測が完了したか否かを判定する。設定されている全ての計測部分の計測が完了したと判定されるまで、ステップS2〜ステップS8までの処理が繰り返され、設定されている全ての計測部分の計測が完了したと判定されると、計測処理は終了される。
<E.計測位置の特定>
PLC100および画像処理装置400は、カメラ66が撮像した画像に基づいて計測位置pを特定する。図6は、計測位置pの特定方法を説明するための図である。画像処理装置400は、まず、計測部分Pの位置および姿勢を公知のパターンマッチングを利用して特定する。より具体的には、計測部分Pごとに予め定められている画像特徴の位置および姿勢を特定することで、計測部分Pの位置および姿勢(「実測位置姿勢SPm」とする。)を特定することができる。図6においては、2本の線分が計測部分Pの画像特徴である。
次に、PLC100は、実測位置姿勢SPmから、計測部分の位置ずれ量を算出する。具体的には、実際に撮像した画像に基づいて計測された実測位置姿勢SPmと、基準経路の設定時の条件下で得られる計測部分P(「基準計測部分Pt」とする。)の位置および姿勢(「基準位置姿勢SPt」とする。)とを比較して、位置ずれ量を算出する。
より具体的には、PLC100は、実測位置姿勢SP
mを取得したときの移動機構8の移動量と回転機構64の回転量とを特定することができる。基準経路の設定時の条件下で、特定した移動量および回転量で移動機構8および回転機構64を制御した場合の計測部分の位置および姿勢が基準位置姿勢SP
tに相当する。PLC100は、基準位置姿勢SP
tを取得し、式(1)に従って、基準位置姿勢SP
tからの位置ずれ量ΔPを求める。なお、基準位置姿勢SP
tは、本願発明の基準経路に応じて定められる基準位置の一例である。
計測位置は、計測部分Pの位置に対応付けて予め定められている。図6に示す例では、1つの計測部分Pに対して、複数の計測位置pが設定されている。なお、基準計測部分Ptに対する計測位置を基準位置spt(xt,yt)とし、実際の計測部分Pに対する計測位置を実測位置spm(xm,ym)とする。
基準位置sp
tに位置ずれ量ΔPを反映することで、実測位置sp
mを算出することができる。具体的には、式(2)に基づいて算出される。
式(1)において、T( )は、並進移動に対応する変換式を示し、X座標の位置ずれ量ΔXおよびY座標の位置ずれ量ΔYに基づいて定められる。また、R( )は、回転移動に対応する変換式を示し、回転方向の位置ずれ量Δθに基づいて定められる。なお、T( )およびR( )は、式(3)から求めることができる。すなわち、基準位置姿勢SP
tおよび実測位置姿勢SP
mに基づいて、R( )およびT( )が算出される。
以上のように、PLC100および画像処理装置400は、カメラ66が撮像した画像に基づいて実測位置spmを特定する。なお、画像処理装置400が、カメラ66が撮像した画像に基づいて実測位置spmを特定するようにしてもよい。この場合、PLC100から、計測部分Pの実測位置姿勢SPmを取得したときの移動機構8の移動量と回転機構64の回転量に関する情報を画像処理装置400は受信する。
<F.基準経路の修正>
PLC100は、計測位置pが変位センサ68の計測範囲内を通過するように、基準経路を修正する。図7は、基準経路の修正方法を説明するための図である。
図7の中央を通る実線は、回転体62の回転中心Oが通過する経路L1を表す。前述のように、本実施の形態においては、回転体62の回転中心Oが通過する経路を修正することなく、回転体62を回転させることで、基準経路を修正して、計測位置pが変位センサ68の計測範囲内を通過するようにする。
具体的には、回転体62の回転中心Oが通過する経路は修正されないため、カメラ66座標内における経路L1は、カメラ座標の関数(y=f(x))で表すことができる。また、変位センサ68は、回転体62に固定されているため、回転中心Oを中心に回転する。PLC100は、変位センサ68と回転中心Oとの距離を半径Rとすると、半径Rを画像内のピクセル値に変換した距離r、経路L1、および特定された計測位置pに基づいて、計測位置p上を変位センサ68が通過するときの回転中心Oの位置C(xc,yc)と、回転角度θsとを求めることができる。
具体的には、PLC100は、計測位置pを中心とした半径rの円と、経路L1を表すy=f(x)の直線との交点を求め、回転体62の進行方向に対して、計測位置pよりも前方に位置するという制限を設けることで、位置C(xc,yc)が算出される。PLC100は、算出した位置C(xc,yc)と、実測位置spm(xm,ym)と、半径rとに基づいて、回転角度θsを算出する。
PLC100は、回転体62の回転中心Oが位置C(xc,yc)を通過するときまでに、回転体62の回転角度がθsとなるように回転機構64を制御する。また、PLC100は、回転体62の回転中心Oが位置C(xc,yc)を通過するときであって、回転体62の回転角度がθsとなったときに、計測条件が成立したものとして、コントローラ200に計測指令を出力する。計測指令には、位置C(xc,yc)の情報が含まれ、コントローラ200は、位置C(xc,yc)および位置Cにおける変位センサ68からの信号に基づいて、計測結果を算出し、出力する。
<G.ハードウェア構成>
次に、上記で説明した計測を実現するための、計測システム1を構成する各種装置のハードウェア構成について説明する。
(g1.画像処理装置のハードウェア構成)
図8は、画像処理装置400のハードウェア構成を示す模式図である。画像処理装置400は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ402と、RAM(Random Access Memory)404と、表示コントローラ406と、システムコントローラ408と、I/O(Input Output)コントローラ410と、ハードディスク412と、カメラインターフェイス414と、コントローラインターフェイス418と、通信インターフェイス420と、メモリカードインターフェイス422とを含む。これらの各部は、システムコントローラ408を中心として、互いにデータ通信可能に接続される。
プロセッサ402は、システムコントローラ408との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ408は、プロセッサ402、RAM404、表示コントローラ406およびI/Oコントローラ410とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置400全体の処理を司る。
RAM404は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク412から読み出されたプログラムや、カメラ66によって取得された画像(画像データ)、画像に対する処理結果およびワークデータなどを保持する。
表示コントローラ406は、表示部432と接続されており、システムコントローラ408からの内部コマンドに従って、各種の情報を表示するための信号を表示部432へ出力する。
I/Oコントローラ410は、画像処理装置400に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ410は、ハードディスク412と、カメラインターフェイス414と、入力インターフェイス416と、コントローラインターフェイス418と、通信インターフェイス420と、メモリカードインターフェイス422と接続される。
ハードディスク412は、記憶装置の一例であって、プロセッサ402で実行される画像処理プログラム440およびプロジェクトファイル442を含む。記憶装置は、ハードディスク412のような不揮発性の磁気記憶装置に限らず、フラッシュメモリなどの半導体記憶装置であってもよいし、DVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置であってもよい。
画像処理プログラム440は、PLC100からの撮像指令に従った画像を取得する処理や、パターンマッチングを行なうための処理を実行するためのプログラムである。より具体的には、画像処理プログラム440は、プロジェクトファイル442に格納された設定条件にしたがって、計測部分Pの位置および姿勢を特定するための処理を実行する。画像処理プログラム440は、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合、画像処理プログラム440自体は、他のプログラムと協働して予め定められた処理を実行する。すなわち、画像処理プログラム440としては、このような他のプログラムに組み込まれた形態であってもよい。また、代替的に、画像処理プログラム440の実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
カメラインターフェイス414は、ワークWを撮影することで生成された画像データを受け付ける入力部に相当し、カメラ66とプロセッサ402との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス414は、1つ以上のカメラ66と接続が可能であり、プロセッサ402からカメラインターフェイス414を介してカメラ66に撮影指示が出力される。これにより、カメラ66は、被写体を撮影し、生成した画像をカメラインターフェイス414を介してプロセッサ402に出力する。
入力インターフェイス416は、プロセッサ402とキーボード434、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
コントローラインターフェイス418は、PLC100とプロセッサ402との間のデータ伝送を仲介する。より具体的には、コントローラインターフェイス418は、PLC100によって制御される生産ラインの状態に係る情報やワークWに係る情報、撮像指令などをプロセッサ402へ伝送する。
通信インターフェイス420は、プロセッサ402と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス420は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
メモリカードインターフェイス422は、プロセッサ402と記録媒体であるメモリカード436との間のデータ伝送を仲介する。メモリカード436には、画像処理装置400で実行される画像処理プログラム440などが格納された状態で流通し、メモリカードインターフェイス422は、このメモリカード436からこれらのプログラムを読み出す。メモリカード436は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス420を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置400にインストールしてもよい。
(g2.コントローラ200のハードウェア構成)
図9を参照して、変位センサ68を制御するコントローラ200のハードウェア構成について説明する。図9は、コントローラ200のハードウェア構成の一例を示す模式図である。
コントローラ200は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ202と、RAM(Random Access Memory)204と、表示コントローラ206と、システムコントローラ208と、I/O(Input Output)コントローラ210と、ハードディスク212と、センサインターフェイス214と、コントローラインターフェイス218と、通信インターフェイス220と、メモリカードインターフェイス222とを含む。これらの各部は、システムコントローラ208を中心として、互いにデータ通信可能に接続される。
プロセッサ202は、システムコントローラ208との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ208は、プロセッサ202、RAM204、表示コントローラ206およびI/Oコントローラ210とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置400全体の処理を司る。
RAM204は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク212から読み出されたプログラムや、変位センサ68によって取得された画像(画像データ)、画像に対する処理結果およびワークデータなどを保持する。
表示コントローラ206は、表示部232と接続されており、システムコントローラ208からの内部コマンドに従って、各種の情報を表示するための信号を表示部232へ出力する。
I/Oコントローラ210は、コントローラ200に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ210は、ハードディスク212と、センサインターフェイス214と、入力インターフェイス216と、コントローラインターフェイス218と、通信インターフェイス220と、メモリカードインターフェイス222と接続される。
ハードディスク212は、記憶装置の一例であって、プロセッサ202で実行される計測プログラム240を含む。記憶装置は、ハードディスク212のような不揮発性の磁気記憶装置に限らず、フラッシュメモリなどの半導体記憶装置であってもよいし、DVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置であってもよい。
計測プログラム240は、PLC100からの計測指令に従った変位センサ68からの信号を取得する処理や、取得した信号に基づいて計測部分Pに対する計測結果を算出する処理や、算出した計測結果を出力する処理などを実行するためのプログラムである。計測プログラム240は、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合、計測プログラム240自体は、他のプログラムと協働して予め定められた処理を実行する。すなわち、計測プログラム240としては、このような他のプログラムに組み込まれた形態であってもよい。また、代替的に、計測プログラム240の実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
センサインターフェイス214は、変位センサ68からの信号を受け付ける入力部および、変位センサ68に計測指示を出力する出力部に相当し、変位センサ68とプロセッサ202との間のデータ伝送を仲介する。より具体的には、センサインターフェイス214は、1つ以上の変位センサ68と接続が可能であり、プロセッサ202からセンサインターフェイス214を介して変位センサ68に計測指示が出力される。これにより、変位センサ68の投光部61から計測位置pに向けて光が投光され、計測位置pに反射した光を受光した受光部63からの信号がセンサインターフェイス214を介してプロセッサ202に出力される。
入力インターフェイス216は、プロセッサ202とキーボード234、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
コントローラインターフェイス218は、PLC100とプロセッサ202との間のデータ伝送を仲介する。より具体的には、コントローラインターフェイス218は、PLC100によって制御される生産ラインの状態に係る情報やワークWに係る情報、撮像指令などをプロセッサ202へ伝送する。
通信インターフェイス220は、プロセッサ202と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス220は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
メモリカードインターフェイス222は、プロセッサ202と記録媒体であるメモリカード236との間のデータ伝送を仲介する。メモリカード236には、コントローラ200で実行される計測プログラム240などが格納された状態で流通し、メモリカードインターフェイス222は、このメモリカード236からこれらのプログラムを読み出す。メモリカード236は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス420を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置400にインストールしてもよい。
(g3.PLC100のハードウェア構成)
図10を参照して、PLC100のハードウェア構成について説明する。図10は、PLC100のハードウェア構成の一例を示す模式図である。
PLC100は、チップセット112と、プロセッサ114と、不揮発性メモリ116と、主メモリ118と、システムクロック120と、メモリカードインターフェイス122と、通信インターフェイス128と、内部バスコントローラ130と、フィールドバスコントローラ138とを含む。チップセット112と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ114およびチップセット112は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ114は、チップセット112から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット112は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ114に必要な命令コードを生成する。システムクロック120は、予め定められた周期のシステムクロックを発生してプロセッサ114に出力する。チップセット112は、プロセッサ114での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
PLC100は、記憶手段として、不揮発性メモリ116および主メモリ118を有する。不揮発性メモリ116は、OS、システムプログラム、ユーザプログラム140、ログ情報などを不揮発的に保持する。主メモリ118は、揮発性の記憶領域であり、プロセッサ114で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
ユーザプログラム140は、ユーザによって作成されるプログラムであって、通信インターフェイス128を介して接続される設定用の外部PCから送られたり、または、メモリカード124に格納された状態で流通したりする。
PLC100は、通信手段として、通信インターフェイス128と、内部バスコントローラ130と、フィールドバスコントローラ138とを有する。これらの通信回路は、データの送信および受信を行なう。
通信インターフェイス128は、コントローラ200や画像処理装置400との間でデータを遣り取りする。一例として、PLC100は、通信インターフェイス128を介して画像処理装置400に対して撮像指示を出力する。あるいは、PLC100は、通信インターフェイス128を介して画像処理装置400から計測部分Pの位置および姿勢に関する計測結果を受け付ける。また、PLC100は、通信インターフェイス128を介してコントローラ200に対して計測指示を出力する。
内部バスコントローラ130は、内部バス126を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ130は、DMA(Dynamic Memory Access)制御回路132と、内部バス制御回路134と、バッファメモリ136とを含む。
メモリカードインターフェイス122は、PLC100に対して着脱可能なメモリカード124とプロセッサ114とを接続する。
フィールドバスコントローラ138は、フィールドネットワークに接続するための通信インターフェイスである。PLC100は、フィールドバスコントローラ138を介してサーボドライバ300やドライバユニット500と接続される。
<H.機能構成>
図11および図12を参照して、本実施の形態の計測システム1の機能全体について説明する。図11は、経路の修正において機能する計測システム1の機能構成の一例を示す図である。図12は、計測時ならびに経路に沿って移動機構および回転機構を制御するときに機能する計測システム1の機能構成の一例を示す図である。なお、PLC100の各種機能は、ユーザプログラム140が実行されることで実現される。画像処理装置400の各種機能は画像処理プログラム440およびプロジェクトファイル442に従って処理が実行されることで実現される。
(h1.経路の修正)
画像処理装置400は、撮像制御部42、位置・姿勢計測部44、およびモデル画像データ46を備える。
モデル画像データ46は、プロジェクトファイル442に含まれるデータであって、基準経路を生成するための設定が行われることで生成される。モデル画像データ46は、計測部分Pごとに予め定められている画像特徴を示す画像データである。モデル画像データ46は、複数の計測部分Pの各々を識別するための計測番号と対応付けて記憶されている。
画像処理装置400は、PLC100から送られる、撮像指令と、撮像視野内に含まれる計測部分Pの計測番号とに基づいて計測部分Pの位置および姿勢を計測し、図6に示した実測位置姿勢SPmを得る。
具体的には、撮像制御部42は、PLC100からの撮像指令に従ってカメラ66に撮像を指示する。
位置・姿勢計測部44は、撮像制御部42からの撮像指示に従ってカメラ66が撮像することで得られる画像データと、PLC100から送られた計測番号に対応するモデル画像データ46とを比較することで、計測部分Pの位置および姿勢を計測し、実測位置姿勢SPmを得る。位置・姿勢計測部44が計測して得られる実測位置姿勢SPmをPLC100に送信する。
PLC100は、撮像条件判定部12と、撮像条件データ182と、位置・姿勢取得部142と、位置・姿勢データ184と、位置ずれ量算出部144と、計測位置算出部146と、計測位置データ186と、計測ポイント算出部162と、経路データ190と、回転角度算出部164と、移動量算出部166と、軌道修正部168と、計測条件修正部170と、計測条件データ196とを備える。
PLC100は、制御周期ごとに各サーボドライバ300,500X,500Yからエンコーダ値を取得する。移動機構8および回転機構64の各々は、サーボモータごとにエンコーダを備えている。エンコーダはサーボモータの移動量に応じたパルス信号を発生させ、移動量をエンコーダ値として計測する。すなわち、サーボドライバ300からのエンコーダ値は、回転体62の初期位置からの回転移動量に相当する。サーボドライバ500Xからのエンコーダ値は、Xステージ84Xの初期位置からの並進移動量に相当する。サーボドライバ500Yからのエンコーダ値は、Yステージ84Yの初期位置からの並進移動量に相当する。
撮像条件データ182は、撮像条件を示すデータであって、基準経路が生成されることで得られる情報であって、計測部分Pごとに記憶されている。撮像条件は、たとえば、カメラ66の撮像範囲に計測部分Pが位置するときの回転体62の回転移動量と、Xステージ84Xの並進移動量と、Yステージ84Yの並進移動量との組合せからなる。撮像条件データ182は、計測部分Pを識別するための計測番号と、計測番号が示す計測部分Pの撮像条件との組合せから構成される。
撮像条件判定部12は、制御周期ごとに取得するエンコーダ値および撮像条件データ182に基づいて、撮像条件が成立したか否かを判定する。撮像条件判定部12は、撮像条件が成立したと判定した場合、撮像制御部42に対して撮像指令を送るとともに、成立した撮像条件に対応する計測部分Pの計測番号を位置・姿勢計測部44に送る。
位置・姿勢取得部142は、カメラ66の撮像時におけるカメラ66と移動機構8との間の相対位置と、位置・姿勢データ184に基づいて、基準経路の設定時の条件下で得られる計測部分Pの位置および姿勢を取得する。具体的には、位置・姿勢取得部142は、図6に示した基準位置姿勢SPtを取得する。
カメラ66の撮像時におけるカメラ66と移動機構8との間の相対位置は、カメラ位置であり、カメラ66が計測部分Pを撮像したタイミングにおけるエンコーダ値に基づいて撮像条件判定部12が推定する。
位置・姿勢データ184は、カメラ位置と基準位置姿勢SPtとの関係を示すデータであて、基準経路の設定時に用いられるワークWの表面を示すデータと、設定時のワークWの設置位置に基づいて得られる。
位置・姿勢取得部142は、位置・姿勢データ184から、撮像条件判定部12が推定したカメラ位置に対応する基準位置姿勢SPtを取得する。
位置ずれ量算出部144は、上述した式(1)に従い、位置・姿勢計測部44から得られる実測位置姿勢SPmと、位置・姿勢取得部142が取得する基準位置姿勢SPtとに基づいて位置ずれ量ΔPを算出する。
計測位置算出部146は、上述した式(2)に従い、基準計測部分Ptに対する基準位置sptとの対応関係を示す計測位置データ186と、位置ずれ量ΔPとに基づいて、実測位置spmを算出する。計測位置データ186は、計測部分Pと、計測部分Pに対して設定されている計測位置pのカメラ座標値(spt)とが対応付けられたデータであって、計測番号と計測番号が示す計測部分に対応する基準位置sptとの組合せから構成され、計測条件を設定する際に生成されるデータである。計測位置算出部146は、計測対象としている計測部分Pの計測番号に基づいて、計測番号に対応する基準位置sptを計測位置データ186から取得し、取得した基準位置sptに対して、位置ずれ量ΔPを反映して、実測位置spmを算出する。
計測ポイント算出部162は、計測位置p上を変位センサ68が通過するときの回転中心Oの位置C(xc,yc)を算出する。計測ポイント算出部162は、計測位置算出部146が算出した実測位置spmと、回転体62の回転中心Oが通過する経路を示す並進移動データ192とに基づいて、カメラ座標系での位置C(xc,yc)を算出する。
経路データ190は、ワークWと回転体62との相対位置の変化および、ワークWと変位センサ68との相対位置の変化を含むデータである。具体的には、経路データ190は、移動機構8の経時的な動きを示す並進移動データ192と、回転機構64の経時的な動きを示す回転移動データ194とを含む。
並進移動データ192は、ワークWと回転体62との相対位置の変化を示すデータに相当し、言い換えると、ワークW上を回転体62の回転中心Oが移動する経路ともいえ、図7中の経路L1に相当する。
計測ポイント算出部162は、並進移動データ192に基づいて経路L1をカメラ座標系の関数(y=f(x))で表し、計測位置pを中心とした半径rの円と、経路L1との交点を求めることで位置Cを算出する。
回転角度算出部164は、計測ポイント算出部162が算出した位置Cと、並進移動データ192に基づいて表される経路L1のカメラ座標系の関数(y=f(x))と、実測位置spmとに基づいて、回転角度θsを算出する。
移動量算出部166は、カメラ座標系の位置C上に回転中心Oが位置するときの移動機構8の並進移動量(ΔX,ΔY)と、回転角度θsとなる回転機構64の回転移動量(Δθ)とを算出する。
軌道修正部168は、移動量算出部166が求めた並進移動量(ΔX,ΔY)に達するまでに回転移動量(Δθ)に達するように並進移動データ192に対応付けて回転移動データ194を修正する。
計測条件修正部170は、変位センサ68の計測条件を示す計測条件データ196を修正する。具体的には、計測条件修正部170は、移動量算出部166が求めた並進移動量(ΔX,ΔY)に達し、かつ、回転移動量(Δθ)に達したときを一の計測条件とする。
これにより、回転機構64の経時的な動きと、変位センサ68の計測条件とが修正される。
なお、PLC100は、判定部176をさらに備えてもよい。判定部176は、位置ずれ量算出部144が算出した位置ずれ量ΔPが予め定められた許容値を超えているか否かを判定する。ここで、予め定められた許容値とは、たとえば、回転体62を回転させて変位センサ68とワークWとの間の相対位置を調整するだけで対応することのできる範囲を示す値である。具体的には、位置ずれ量が、変位センサ68と回転体62の回転中心Oとの距離Rに相当する値以上である場合は、回転体62を回転させたとしても、変位センサ68の計測範囲内に計測位置pを位置させることができない。
判定部176は、位置ずれ量ΔPが、予め定められた許容値を超えている場合に、ユーザに判定結果を通知するため、通知部178に判定結果を出力する。通知部178は、表示による通知、ランプによる通知、音による通知、または停止信号を出力して処理を停止することによる通知など、種々の方法でユーザに対して通知が可能であって、どのような方法で通知してもよい。
なお、本実施の形態において、図11に示す、位置・姿勢計測部44、位置ずれ量算出部144および計測位置算出部146によって、本願発明の位置決定手段の機能が実現される。本実施の形態においては、位置決定手段の機能が、画像処理装置400とPLC100とによって実現されるものの、PLC100だけで実現されるものであってもよく、あるいは、画像処理装置400だけで実現されるものであってもよく、また、他の別の装置を合わせた3つ以上の装置によって実現されるものであってもよい。
(h2.移動機構および回転機構の制御)
図12を参照して、経路に沿って移動機構8および回転機構64を制御するときに機能する計測システム1の機能構成について説明する。PLC100は、目標移動量指定部174を備える。
目標移動量指定部174は、経路データ190に従って目標移動量を指定する。経路データ190は、カメラ66によって複数の計測部分Pの各々を順次撮像するとともに、変位センサ68の計測範囲内を計測位置pの各々が通過するようにするための情報であって、前述のように計測部分を撮像するたびに適宜修正される。
目標移動量指定部174は、サーボドライバ300,500X,500Yの各々から送られるエンコーダ値と、経路データ190とに基づいて、サーボドライバ300,500X,500Yの各々の目標移動量MVX,MVY,MVθを算出し、各サーボドライバ300,500X,500Yに移動命令を出す。
(h3.変位センサによる計測)
図12を参照して、変位センサ68により計測を行なうときに機能する計測システム1の機能構成について説明する。
PLC100は、計測条件判定部172を備える。計測条件判定部172は、制御周期ごとに取得するエンコーダ値および計測条件データ196に基づいて、計測条件が成立したか否かを判定する。計測条件データ196は、計測条件を示すデータであって、計測位置と、計測位置に変位センサ68の計測範囲内が位置するときの並進移動量(ΔX,ΔY)および回転移動量(Δθ)の組合せとから構成される。計測条件判定部172は、エンコーダ値から算出される移動量が、計測条件データ196が示す並進移動量(ΔX,ΔY)および回転移動量(Δθ)に達しているか否かを判定し、達していると判定した場合に、コントローラ200に計測指示を出す。
コントローラ200は、計測指示に従って変位センサ68を制御して、計測結果を得る。なお、計測指示には、計測位置pの位置情報が含まれる。コントローラ200は、複数の計測位置pを計測することで、複数の計測位置pにより指定される部位の形状が得られる。
<I.基準経路の設定>
計測システム1は、基準経路、撮像条件、および各計測部分に対応する計測位置を設定するための設定装置70をさらに備えてもよい。図13は、設定装置70の機能構成の一例を示す図である。
設定装置70は、表示部71と、記憶部72と、計測位置決定部73と、モデル画像生成部74と、経路生成部75と、移動量決定部76と、撮像条件決定部77と、位置・姿勢情報生成部78と、計測条件決定部79とを備える。表示部71は、たとえばタッチパネルである。記憶部72は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、計測位置決定部73と、モデル画像生成部74と、経路生成部75と、移動量決定部76と、撮像条件決定部77と、位置・姿勢情報生成部78と、計測条件決定部79とで実行される処理プログラム、指定経路の設定に関する情報を示すデータおよび、処理プログラムが実行されることで得られるデータ等を記憶する。
計測位置決定部73は、記憶部72に格納されたワークWの設計上の表面を示す3次元設計データ(たとえばCAD(Computer-Aided Design)データ)を読み込み、表示部71にワークWの設計上の外観を示す模式図を表示させる。計測位置決定部73は、ユーザ入力に従って、ワークW上の複数の計測部分および計測部分に対応する計測位置を決定し、計測部分と計測位置との対応関係を示す計測位置データ186を生成する。
モデル画像生成部74は、計測位置決定部73がユーザの入力に従って決定した計測部分を示すモデル画像を計測部分ごとに対応付けて記憶し、モデル画像データ46を生成する。
経路生成部75は、計測位置決定部73が決定した複数の計測位置の各々が変位センサ68の計測範囲内を通過するような経路を生成する。経路生成部75は、ユーザ自身で計測位置の各々を繋いだ線を入力し、その入力に従って経路を生成してもよく、また、予め定められた条件を満たす経路を自動で生成してもよい。予め定められた条件は、たとえば、経路の長さが最も短くなることなどを含む。
移動量決定部76は、経路生成部75が生成した経路に基づき、生成した経路を実現可能な並進移動量の変位と、並進移動量の変位に対応付けられた回転移動量の変位とを決定することで、経路データ190を生成する。
撮像条件決定部77は、移動量決定部76が決定した並進移動量の変位と、並進移動量の変位に対応付けられた回転移動量の変位と、計測部分の位置とに基づいて、計測部分がカメラ66の撮像範囲に位置するときの並進移動量と回転移動量との組合せを特定する。撮像条件決定部77は、特定した並進移動量と回転移動量との組合せを撮像条件に決定し、撮像条件データ182を生成する。
位置・姿勢情報生成部78は、撮像条件決定部77が決定した撮像条件下で計測部分を撮像したときの計測部分の位置および姿勢を特定し、位置・姿勢データ184を生成する。なお、並進移動量と回転移動量とに基づいてカメラ66とワークWとの相対位置が特定されることから、並進移動量と回転移動量とカメラ座標系における計測部分の位置および姿勢との関係を求めることができるため、その関係を位置・姿勢データ184としてもよい。
計測条件決定部79は、移動量決定部76が決定した並進移動量の変位と、並進移動量の変位に対応付けられた回転移動量の変位と、計測位置とから、計測位置ごとに、その計測位置が変位センサ68の計測範囲内に位置するときの並進移動量と回転移動量とを特定する。計測条件決定部79は、計測位置ごとに特定された並進移動量と回転移動量との関係を計測条件とし、計測条件データ196を生成する。
設定装置70が生成した各データ(計測位置データ186、モデル画像データ46、経路データ190、撮像条件データ182、位置・姿勢データ184、計測条件データ196)は、PLC100に送られる。PLC100は、モデル画像データ46を画像処理装置400に送る。
<J.作用・効果>
以上のように、本実施の形態の計測システム1においては、回転体62の進行方向に対して前方にカメラ66が位置するようにして複数の計測部分の各々を撮像し、撮像して得られた画像に基づいて変位センサ68で計測する計測位置を決定して、決定した計測位置上を変位センサ68の計測範囲が通過するように回転機構64および移動機構8を制御する。そのため、回転体62の進行方向に対してカメラ66が前方、変位センサ68が後方となるように制御されるため、カメラ66により正確な計測位置を特定した上で、その特定された計測位置上を変位センサ68が通過するように位置を調整することができる。また、カメラ66で計測部分を撮像した後、カメラ66が撮像した計測部分上を変位センサ68が通過することとなるため、カメラ66よりも先に変位センサ68が計測部分上を通過する場合に比べて、時間や移動量のロスを減らすことができる。
また、本実施の形態において、回転体62の進行方向に対するカメラ66と変位センサ68との位置関係を調整する調整機構として回転体62を回転させる回転機構64が用いられる。これにより、回転というシンプルな機構でカメラ66と変位センサ68との間の位置関係を調整することができるため、容易に調整することができる。
また、本実施の形態において、図6に示すように、一の計測部分に対して複数の計測位置が設定されており、一の計測部分の位置を特定することで、対応する複数の計測位置の各々が特定される。これにより、撮像回数を減らすことができ、その結果、全体の計測時間を短くすることができる。
また、本実施の形態においては、基準経路が予め定められており、計測位置を特定する度に修正される。そのため、基準経路が予め定められていない場合に比べて、計測システム全体の処理を簡略化することができ、その結果、計測システムにおける処理負担を軽減することができる。
また、本実施の形態においては、回転機構64の変位量(回転移動データ194)のみ修正される。そのため、修正対象が少なく、計測システム全体の処理を簡略化することができ、その結果、計測システムにおける処理負担を軽減することができる。
また、本実施の形態においては、位置ずれ量ΔPが、予め定められた許容値を超えているか否かを判定し、判定結果がユーザに通知される。そのため、基準位置に対する計測部分の位置ずれが大きく、基準経路の修正量が多くなるような場合にユーザに通知することができ、ユーザフレンドリーな計測システムを提供することができる。
<K.変位センサの計測範囲を通過させる方法の変形例>
本実施の形態においては、回転移動データ194と並進移動データ192とのうち、並進移動データ192のみを修正することで、計測位置上を変位センサ68の計測範囲が通過するようにした。なお、回転移動データ194と並進移動データ192とのうち、いずれのデータも修正するようにしてもよく、また、並進移動データ192のみを修正するようにしてもよい。
また、本実施の形態において、軌道修正部168は、移動量算出部166が求めた並進移動量(ΔX,ΔY)に達するまでに回転移動量(Δθ)に達するように回転移動データ194を修正するとした。なお、修正方法としては、並進移動量に達するまでの時間を調整するようにしてもよく、または、回転移動量に達するまでの時間を調整するようにしてもよい。
また、本実施の形態においては、予め基準経路を設定し、カメラ66により撮像した画像に基づいて計測位置を特定し、適宜基準経路を修正することで計測位置上を変位センサ68の計測範囲が通過するようにした。なお、基準経路を予め設定しなくともよい。具体的には、計測部分の特徴画像を設定し、特徴画像を探索するように移動機構8および回転機構64を制御し、特徴画像がカメラ66の撮像視野に位置する度に、計測位置を特定するとともに特定した計測位置上を変位センサ68の計測範囲が通過するような軌道を生成してもよい。
<L.計測システム1の変形例>
図14〜図17は、変形例に係る計測システムを示す図である。図14に示される計測システム1bは、図2に示す計測システム1と比較して、計測装置6とワークWとの間の相対位置がロボット52により変化される点で異なる。ロボット52はロボットコントローラ50により制御され、ロボットコントローラ50は、PLC100からの指示に従ってロボット52を制御する。
また、計測装置6とワークWとの間の相対位置をロボット52により変化させる方法としては、図14に示すようにワークWを固定して計測装置6をロボット52により動かす方法と、図15に示すように計測装置6を固定し、ワークWをロボット52により動かす方法とが挙げられる。
また、図16に示すように、計測装置6とワークWとの間の相対位置を変化させる方法としては、計測装置6をロボット52により動かすともに、ワークWを回転テーブル91の上に載置してもよい。すなわち、計測装置6とワークWとの双方を動かすことで計測装置6とワークWとの間の相対位置を変化させてもよい。回転テーブル91は、ロボットコントローラ50の指示に応じて回転する。これにより、ワークWと計測装置6との間の相対位置を容易に変更することができる。
なお、ロボット52は、垂直多関節ロボット以外のロボットであってもよい。たとえば、図17に示すように、直交ロボット52aであってもよい。また、水平多関節ロボットなど、他のロボットであってもよい。
<M.調整機構の変形例>
図18は、変形例に係る調整機構を説明するための図である。本実施の形態においては、計測装置6の進行方向に対する変位センサ68とカメラ66との位置関係を回転機構64により調整する例を示した。たとえば、図18に示すように、回転体62bの回転中心に変位センサ68bを設置し、変位センサ68bの周囲に複数のカメラ66bを配置し、進行方向に合わせて複数のカメラ66bのうちの一のカメラ66bで撮像することで、変位センサ68bよりも先に計測部分をカメラ66bで撮像することができるようにしてもよい。なお、カメラを回転体の中心に設置し、変位センサを複数設けるようにしてもよい。
また、複数の変位センサまたは複数のカメラから一の変位センサまたはカメラを選択して利用する方法として、機械的に切り替えだけでなく、光学的に切り替えるようにしてもよい。
<N.センサの変形例>
本実施の形態においては、センサとして指定された計測点を計測する変位センサ68を一例に挙げた。なお、センサは、指定されたライン上の任意の計測点を計測する変位センサであってもよく、また、計測位置を特定するための画像を撮像する撮像部よりも計測範囲の狭いものであれば、画像センサであってもよい。たとえば、画像センサは、撮像部に比べて狭視野高解像度の画像センサである。また、センサは、外観を検査するためのセンサに限らず、温度センサや、硬度計、あるいは超音波センサなどであってもよい。
<O.その他の利用例>
また、本実施の形態における計測システムは、一のワークが計測対象として設定されており、ワーク上に複数の計測部分が設定されており、設定された計測部分を順次撮像、計測するシステムである。なお、一のワークが計測対象とする例を挙げたが、複数のワークの集合を計測対象とし、複数のワークの集合からなる計測対象に対して複数の計測部分を設定してもよい。より具体的には、複数のワークの各々が予め定められた位置に配置された計測対象について、各ワークが配置される位置を計測部分として設定し、ワーク自体を特徴画像としてもよい。配置された各ワークの位置および姿勢は、各ワークで異なることがあるものの、撮像部でワークの位置および姿勢を特定し、特定した位置および姿勢に応じてセンサの位置を調整することができる。
また、本実施の形態における計測システムは、計測位置が予め定められているものとしたが、計測部分のみ予め定めておき、予め定められた計測条件を満たす位置を撮像部により撮像された画像に基づいて特定し、計測条件を満たす位置を計測位置に設定してもよい。たとえば、撮像部により撮像された画像に基づいて、低い精度で外観検査を行ない、外観検査によりピックアップされた位置を計測位置とし、センサにより高い精度で外観検査を行なうようにしてもよい。より具体的には、カメラにより傷や凹みなどを検出し、傷やや凹みの位置を特定した上で、特定した位置の傷や凹みの深さを変位センサにより検出して、検出した深さが検査基準を満たすか否かを判定するアプリケーションとして、計測システムが提供されてもよい。このような計測システムにおいては、正確に欠陥か否かの判定を行なうことができる。
§3 付記
以上のように、本実施の形態および変形例は以下のような技術思想を開示する。
<構成1>
複数の計測部分の各々を計測するための計測システム(1,1a,1b)であって、
撮像部(66,66a,66b)と、
センサ(68,68a,68b)と、
前記撮像部および前記センサが配置されるベース部(64,64a)と、
前記ベース部と計測対象との間の相対位置を変化させる変化機構(8,8a)と、
前記ベース部の進行方向に対する前記撮像部および前記センサの位置関係を調整する調整機構(64,64a)と、
前記撮像部により撮像された前記計測部分の画像に基づいて、前記センサにより計測する計測位置を決定する位置決定手段(14,44,144,146)と、
前記ベース部の進行方向に対する前記撮像部の位置が前記センサの前方となるようにしつつ前記複数の計測部分の各々を前記撮像部の撮像視野を通過させるとともに、前記複数の計測部分の各々について前記位置決定手段により決定された前記計測位置が前記センサの計測範囲を通過するように、前記変化機構および前記調整機構を制御する制御手段(174)とを備える、計測システム。
<構成2>
前記調整機構は、前記ベース部を回転させる回転機構(64)である、構成1に記載の計測システム。
<構成3>
前記複数の計測部分のうちの少なくとも一の計測部分について、前記計測部分を撮像して得られる画像特徴の位置に対して、複数の前記計測位置が予め定められており、
前記位置決定手段は、前記計測部分の画像に基づいて前記画像特徴の位置を特定することで、前記画像特徴の位置に対する複数の前記計測位置の各々を決定する、構成1または構成2に記載の計測システム。
<構成4>
前記センサは、変位センサ(68)である、構成1〜構成3のうちいずれか1項に記載の計測システム。
<構成5>
前記変化機構の変位、および当該変化機構の変位に対応付けられた前記調整機構の変位からなる基準経路が予め定められており、
前記制御手段は、前記基準経路に沿って前記変化機構および前記調整機構を制御することで前記複数の計測部分の各々が前記撮像部の撮像視野を通過させるようにするとともに、前記複数の計測部分の各々については、前記位置決定手段により決定された前記計測位置が前記センサの計測範囲を通過するように前記基準経路を修正する(168)、構成1〜構成4のうちいずれか1項に記載の計測システム。
<構成6>
前記制御手段は、前記複数の計測部分の各々については、前記基準経路のうちの前記変化機構の変位を修正することなく前記調整機構の変位を修正する、構成5に記載の計測システム。
<構成7>
前記位置決定手段は、前記計測部分の画像に基づいて、前記基準経路に応じて定められる基準位置に対する前記計測部分の位置ずれ値を取得する取得手段(144)をさらに含み、
前記取得手段により取得された前記位置ずれ値が、予め定められた許容値を超えているか否かを判定する判定手段(176)と、
前記判定手段の判定結果をユーザに通知する通知手段(178)とをさらに備える、構成5または構成6に記載の計測システム。
<構成8>
複数の計測部分の各々を計測するための計測方法であって、
撮像部(66,66a,66b)とセンサ(68,68a,68b)とがベース部(64,64a)に配置されているとともに、前記ベース部と計測対象との相対位置を変化可能であり、前記ベース部の進行方向に対する前記撮像部および前記センサの位置関係を調整可能に構成されており、
前記ベース部の進行方向に対する前記撮像部の位置が前記センサの前方となるようにしつつ前記計測部分が前記撮像部の撮像視野を通過する第1のステップ(S2)と、
前記第1のステップにおいて前記計測部分が前記撮像視野を通過するときに得られる前記計測部分の画像に基づいて、前記センサにより計測する計測位置を決定する第2のステップ(S4)と、
前記第2のステップにおいて決定された前記計測位置が前記センサの計測範囲を通過する第3のステップ(S6)とを備え、
前記複数の計測部分の各々に対して前記第1のステップから前記第3のステップまでのステップを行う、計測方法。
<構成9>
複数の計測部分の各々を計測するための計測プログラム(140)であって、
撮像部(66,66a,66b)とセンサ(68,68a,68b)とがベース部(64,64a)に配置されているとともに、前記ベース部と計測対象との相対位置を変化機構(8,8a)により変化可能であり、前記ベース部の進行方向に対する前記撮像部および前記センサの位置関係を調整機構(64,64a)により調整可能に構成されており、
前記計測プログラムは、コンピュータに、
前記ベース部の進行方向に対する前記撮像部の位置が前記センサの前方となるようにしつつ前記計測部分が前記撮像部の撮像視野を通過するように前記変化機構および前記調整機構を制御する第1のステップ(S1〜S3)と、
前記第1のステップにおいて前記撮像視野を前記計測部分が通過するときに得られる前記計測部分の画像に基づいて決定される前記センサにより計測する計測位置が前記センサの計測範囲を通過するように前記変化機構および前記調整機構を制御する第2ステップ(S1,S4〜S6)とを、前記複数の計測部分の各々に対して実行させる、計測プログラム。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。