(58)【調査した分野】(Int.Cl.,DB名)
対称軸まわりに回転対称な形状で凸部と凹部とが周期的に繰り返して設けられた外周部を有するワークを回転させる、回転部に対する前記ワークの芯ズレを検出する芯ズレ検出装置であって、
前記回転部により回転される前記ワークの外周部の角度φ(=90゜)分のワーク部分画像を撮像する撮像部と、
前記ワーク部分画像に含まれる前記ワークの外周部の形状を示すエッジ波形を求めるエッジ波形導出部と、
前記エッジ波形導出部により導出された前記エッジ波形から、前記凸部の位置を示す位置情報または前記凹部の位置を示す位置情報を取得し、前記位置情報に基づいて前記回転部に対する前記ワークの芯ズレを求める芯ズレ演算部と、
を備えることを特徴とする芯ズレ検出装置。
【発明を実施するための形態】
【0012】
図1は、本発明に係る芯ズレ検出装置の第1実施形態を装備する検査装置の全体構成を示す図である。また、
図2は、
図1に示す検査装置の電気的構成を示すブロック図である。この検査装置100は、歯車や羽根車などのように対称軸まわりに回転対称な形状で凸部と凹部とが周期的に繰り返して設けられた外周部を有するワークWの外観を検査する装置であり、ローディングユニット1、ワーク保持ユニット2、撮像ユニット3、アンローディングユニット4および制御ユニット5を有している。なお、ここでは、ワークWは
図1に示すように軸部Waの上部に歯車Wbを設けた機械部品であり、例えば鍛造や鋳造処理によって形成される。そして、部品製造後に当該ワークWは外部搬送ロボットあるいはオペレータによってローディングユニット1に搬送される。
【0013】
ローディングユニット1には、テーブルやストッカーなどのワーク収容部(図示省略)が設けられている。そして、外部搬送ロボットなどによりワークWがワーク収容部に一時的に収容されると、ワーク収容部に設けられたワーク検出センサ11(
図2)がワークWを検出し、その旨の信号を装置全体を制御する制御ユニット5に送信する。また、ローディングユニット1には、ローダ12(
図2)が設けられており、制御ユニット5からの動作指令に応じてワーク収容部に収容されている未検査のワークWを受け取り、ワーク保持ユニット2に搬送する。
【0014】
図3はワーク保持ユニットの構成を示す斜視図である。ワーク保持ユニット2は、ローダ12により搬送されてきたワークWを保持する保持テーブル21A、21Bを装備している。これらの保持テーブル21A、21Bはともに同一構成を有し、歯車Wbが水平状態となる姿勢でワークWの軸部Waの一部を把持して保持可能となっている。以下、
図3を参照しつつ保持テーブル21Aの構成について説明する一方、保持テーブル21Bは保持テーブル21Aと同一構成であるため、保持テーブル21Bについては同一符号を付して説明を省略する。
【0015】
保持テーブル21Aでは、
図3に示すように、チャック機構22、水平位置決め機構23、回転機構24および鉛直位置決め機構25が鉛直方向に積層配置されている。チャック機構22は、側面視で略L字状の可動部材221〜223と、制御ユニット5からの移動指令に応じて可動部材221〜223を放射状に連動して移動させる移動部224とを有している。各可動部材221〜223の上端面には突起部材225が突設されており、上端面と突起部材225とで軸部Waの段差部位と係合可能となっている。このため、制御ユニット5からの把持指令に応じて移動部224が可動部材221〜223を互いに近接移動させることでチャック機構22の中心軸(
図5中の符号AX2)と軸部Waの軸芯とを一致させながらワークWを保持することができる。一方、制御ユニット5からの解放指令に応じて移動部224が可動部材221〜223を互いに離間移動させることで、ローディングユニット1による未検査ワークWのローディングやアンローディングユニット4による検査済ワークWのアンローディングを行うことが可能となる。
【0016】
このように構成されたチャック機構22は水平位置決め機構23に支持されている。水平位置決め機構23は水平方向において互いに直交する方向に移動させる、いわゆるXYテーブルを有している。このため、制御ユニット5からの移動指令に応じてXYテーブルが駆動されてチャック機構22を水平面で高精度に位置決めすることが可能となっている。なお、XYテーブルとしては、モータとボールネジ機構とを組み合わせたものや、水平方向において互いに直交する2つのリニアモータを組み合わせたものなどを用いることができる。
【0017】
回転機構24はモータ241を有している。モータ241の回転シャフト(
図5中の符号242)が鉛直上方に延設されており、その上端部に水平位置決め機構23が連結されている。このため、制御ユニット5から回転指令が与えられると、モータ241が作動してモータ241の回転軸(
図5中の符号AX3)まわりに水平位置決め機構23、チャック機構22、ならびにチャック機構22により把持されたワークWを一体的に回転させる。
【0018】
ここで、本実施形態では、チャック機構22と回転機構24との間に水平位置決め機構23を設けているが、その技術的意義はチャック機構22の中心軸、チャック機構22に把持されたワークWの歯車Wbの対称軸(
図5中の符号AX4)およびモータ241の回転軸の相対的な位置関係を水平位置決め機構23によって調整可能とする点にある。すなわち、チャック機構22の中心軸とモータ241の回転軸とを一致させておくことで、チャック機構22で把持したワークWを軸部Waまわりに回転させることができる。しかしながら、歯車Wbの対称軸が軸部Waから外れている場合には、モータ241に対して芯ズレが発生しており、歯車Wbは偏心して回転してしまう。そこで、水平位置決め機構23を設け、ズレ量とズレ方向を補正するように駆動させることで歯車Wbの対称軸とモータ241の回転軸とを一致させることが可能となる。これによって、撮像ユニット3による歯車Wbの画像を高精度に撮像することが可能となり、ワークWの検査精度を向上させることができる。
【0019】
鉛直位置決め機構25は、モータ241を保持する保持プレート251と、モータ241の下方位置に配置されたベースプレート252と、保持プレート251およびベースプレート252を連結する4本の連結ピン253と、ベースプレート252を鉛直方向に昇降させる昇降部254とを有している。昇降部254は制御ユニット5からの昇降指令に応じてベースプレート252を昇降させることで鉛直方向において回転機構24、水平位置決め機構23およびチャック機構22を一体的に移動させ、次に説明するプリアライメント位置PAおよび検査位置PIにおいてワークWの高さ位置を適正化することができる。
【0020】
このように構成された保持テーブル21A、21Bは、
図3に示すように、支持プレート261上に一定距離だけ離間して固定されている。また、保持テーブル21A、21Bの中間位置で支持プレート261が旋回駆動部262に支持されている。この旋回駆動部262は制御ユニット5からの旋回指令に応じて鉛直方向に延びる旋回軸AX1まわりに支持プレート261を180゜旋回可能となっており、
図3に示すように保持テーブル21A、21Bがそれぞれプリアライメント位置PAおよび検査位置PIに位置する第1ポジションと、保持テーブル21A、21Bがそれぞれ検査位置PIおよびプリアライメント位置PAに位置する第2ポジションとの間で切替可能となっている。例えばプリアライメント位置PAに位置する保持テーブル21Aに保持されたワークWに対してプリアライメント処理を施すのと並行して、旋回駆動部262によって第1ポジションから第2ポジションに切り替えることで保持テーブル21Aがプリアライメント位置PAから検査位置PIにシフトし、プリアライメント処理済のワークWを検査位置PIに位置決めすることができる。また、当該ワークWの検査を終了した後、逆方向に旋回することで保持テーブル21Aが検査位置PIからプリアライメント位置PAにシフトし、検査処理済のワークWをプリアライメント位置PAに位置決めすることができる。このように本実施形態では、支持プレート261および旋回駆動部262によりワークWの位置を切り替えるポジション切替機構26が構成されている。
【0021】
プリアライメント位置PAは上記したようにプリアライメント処理を行う位置であり、プリアライメント位置PAに位置決めされた保持テーブル21A(または21B)の上方にアライメントカメラ27が配置されている。このアライメントカメラ27は
図3に示すようにワークWに対してモータ241の反対側、つまりワークWの上方側に配置されており、ワークWの対称軸AX4に対して径方向外側に延設されたラインセンサ271を有している。このため、ワークWを回転させながら当該ラインセンサ271によりワークWの上面を撮像可能となっており、ワークWを少なくとも1周回転させることで歯車Wbの外周部に形成される凸部(歯末)および凹部(歯元)の全てを含む画像が得られる。
【0022】
また、
図3への図示を省略しているが、当該保持テーブル21A(または21B)に保持されたワークWを照明してアライメント処理を良好に行うためのアライメント照明部28(
図2)が設けられている。このため、回転機構24によりワークWを回転させるとともに、アライメント照明部28によりワークWを照明しながらアライメントカメラ27によりワークWを撮像することができる。そして、ワークWの画像データが制御ユニット5に送られ、芯ズレを補正して歯車Wbの対称軸とモータ241の回転軸とを一致させる、つまりプリアライメント処理が実行される。
【0023】
一方、検査位置PIは検査処理を行う位置であり、検査位置PIに位置決めされた保持テーブル21A(または21B)の上方に撮像ユニット3が配置されている。この検査位置PIでは、歯車Wbの対称軸とモータ241の回転軸とが一致した状態でワークWを回転させながらワークWを撮像ユニット3によって撮像することができる。そして、ワークWの画像データが制御ユニット5に送られ、歯車Wbにおける傷や欠陥などの有無を検査する検査処理が実行される。
【0024】
この撮像ユニット3は、
図2に示すように、複数の検査カメラ31と複数の検査照明部32とを有している。この撮像ユニット3では、検査位置PIに位置決めされた保持テーブル21A(または21B)に保持されるワークWを種々の方向から照明するように複数の検査照明部32が配置されている。そして、回転機構24によりワークWを回転させるとともに、検査照明部32によりワークWを照明しながら複数の検査カメラ31によりワークWを種々の方向から撮像することが可能となっている。これら複数の画像データが制御ユニット5に送られ、制御ユニット5によりワークWの検査が実行される。
【0025】
こうして検査されたワークWを保持する保持テーブル21A(または21B)は上記したようにポジション切替機構26により検査位置PIからプリアライメント位置PAにシフトされる。そして、アンローディングユニット4により保持テーブル21A(または21B)から検査済のワークWが搬出される。なお、アンローディングユニット4は基本的にローディングユニット1と同一である。つまり、アンローディングユニット4は、検査済のワークWを一時的に収容するワーク収容部(図示省略)、ワーク検出センサ41(
図2)およびアンローダ42(
図2)を有しており、制御ユニット5からの動作指令に応じて検査済のワークWを保持テーブル21A(または21B)からワーク収容部に搬送する。
【0026】
制御ユニット5は、
図2に示すように、論理演算を実行する周知のCPU(Central Processing Unit)、初期設定等を記憶しているROM(Read Only Memory)、装置動作中の様々なデータを一時的に記憶するRAM(Random Access Memory)等から構成されている。制御ユニット5は、機能的には、演算処理部51、メモリ52、駆動制御部53、外部入出力部54、画像処理部55および照明制御部56を備えている。
【0027】
上記駆動制御部53は、装置各部に設けられた駆動機構、例えばローダ12、チャック機構22などの駆動を制御する。外部入出力部54は、装置各部に装備されている各種センサ類からの信号を入力する一方、装置各部に装備されている各種アクチュエータ等に対して信号を出力する。画像処理部55は、アライメントカメラ27および検査カメラ31から画像データを取り込み、2値化等の画像処理を行う。照明制御部56はアライメント照明部28および検査照明部32の点灯および消灯等を制御する。
【0028】
上記演算処理部51は、演算機能を有するものであり、上記メモリ52に記憶されているプログラムに従って駆動制御部53、画像処理部55、照明制御部56などを制御することで次に説明する一連の処理を実行する。
【0029】
なお、
図2中の符号6はオペレータとのインターフェースとして機能する表示ユニットであり、制御ユニット5と接続され、検査装置100の動作状態を表示する機能のほか、タッチパネルで構成されてオペレータからの入力を受け付ける入力端末としての機能も有する。また、この構成に限定されるものではなく、動作状態を表示するための表示装置と、キーボードやマウス等の入力端末を採用しても良い。
【0030】
図4は
図1に示す検査装置によるワークの検査動作を示すフローチャートである。また、
図5は検査動作を模式的に示す図である。なお、
図5においては、保持テーブル21A、21Bの動作を明確に区別するために、保持テーブル21Bおよび当該保持テーブル21Bにより保持されるワークWに対してドットを付している。
【0031】
この検査装置100では、制御ユニット5のメモリ52に予め記憶された検査プログラムにしたがって演算処理部51が装置各部を制御して以下の動作を実行する。ここでは、1つのワークWに着目して当該ワークWに対して実行される各種動作について
図4および
図5を参照しつつ説明する。制御ユニット5は、
図5の(a)欄に示すようにプリアライメント位置PAに位置している保持テーブル21AにワークWが存在せず、しかもワーク検出センサ11により未検査のワークWがローディングユニット1のワーク収容部に収容されていることを確認すると、保持テーブル21AへのワークWのローディングを開始する(ステップS1)。このローディング工程では、ローダ12がワーク収容部の未検査ワークWを把持し、ローディングユニット1から保持テーブル21Aに搬送する。なお、本実施形態では、ローディング工程および後の芯ズレの検出工程を円滑に行うために、保持テーブル21AへのワークWの搬送前に、
図5の(a)欄に示すように水平位置決め機構23によりチャック機構22の中心軸AX2とモータ241の回転軸AX3とを一致させるとともに、3本の可動部材221〜223を互いに離間させてワークWの受け入れ準備を行っている。
【0032】
ローダ12によりワークWが保持テーブル21Aに搬送されてくると、チャック機構22が上記したように3本の可動部材221〜223を互いに近接移動させてワークWの軸部Waの一部を挟み込んでワークWを把持する。より詳しくは、ローディング動作中に、可動部材221〜223は互いに近接移動し、可動部材221〜223の各上端面と突起部材225とが軸部Waの段差部位に係合してチャック機構22の中心軸AX2と軸部Waの軸芯とを一致させながらワークWを保持する(
図5の(b)欄参照)。こうして、ローディング工程が完了し、この完了時点では、モータ241の回転軸AX3、チャック機構22の中心軸AX2および軸部Waの軸芯は一致している。しかしながら、鍛造や鋳造処理によって製造されたワークWでは、例えば
図5の(b)欄に示すように歯車Wbの対称軸AX4が軸部Waの軸芯から外れ、モータ241に対するワークWの芯ズレが発生していることがある。
【0033】
そこで、本実施形態では、アライメント照明部28(
図2)により未検査ワークWを照明するとともに、保持テーブル21Aのモータ241により未検査ワークWを回転させながらアライメントカメラ27により歯車Wbを撮像し、その画像データをメモリ52に記憶する(ステップS2)。
【0034】
この撮像完了後に、旋回駆動部262により第1ポジションから第2ポジションへの切替を行う。すなわち、旋回駆動部262が支持プレート261を旋回軸AX1まわりに180゜旋回させ、これによって
図5の(c)欄に示すように未検査のワークWを保持する保持テーブル21Aがプリアライメント位置PAから検査位置PIに移動するとともに昇降部254によってワークWを撮像ユニット3により撮像可能な高さ位置に移動させる(ステップS3)。
【0035】
また、本実施形態では、上記移動と並行して、メモリ52からワークWの画像データを読み出し、回転機構24(モータ241)に対するワークWの芯ズレ(本実施形態では、ズレ量Δとズレ方向とを含む情報に相当)を検出し(ステップS4)、それに続いて保持テーブル21Aにおける芯ズレ補正を行う(ステップS5)。なお、当該芯ズレの検出工程(ステップS4)については後で詳述する。この芯ズレ補正は上記ステップS4で検出された芯ズレを解消するように水平位置決め機構23によりチャック機構22を移動させる。これによって、
図5の(c)欄に示すように、保持テーブル21Aが検査位置PIに到達した時点あるいは到達前後で歯車Wbの対称軸とモータ241の回転軸とが一致し、直ちにワーク撮像工程(ステップS6)を開始することができる。
【0036】
このステップS6では、検査位置PIに位置決めされた保持テーブル21Aの回転機構24が作動し、ワーク回転を開始する。このとき、保持テーブル21Aに保持されたワークWは上記芯ズレ補正を受けた、いわゆる芯出し状態であり、対称軸AX4まわりに回転する。また、その回転に対応して複数の検査照明部32が点灯して回転中のワークWを複数の方向から照明する。なお、ここではワーク回転後に検査照明部32を点灯させているが、点灯タイミングはこれに限定されるものではなく、回転開始と同時、あるいは回転開始前に検査照明部32の点灯を開始してもよい。
【0037】
こうしてワークWの回転と照明とを行っている間に、複数の検査カメラ31がワークWを種々の方向から撮像し、複数方向からのワークWの画像(以下「ワーク画像」という)の画像データを制御ユニット5に送信する。一方、制御ユニット5では上記画像データをメモリ52に記憶し、以下のタイミングで当該画像データに基づいてワークWの検査を行う。
【0038】
こうした画像取得後、保持テーブル21Aではワーク回転が停止され、撮像ユニット3では検査照明部32が消灯される。また、旋回駆動部262が支持プレート261を旋回軸AX1まわりに180゜反転旋回させ、これによって保持テーブル21Aが検査済のワークWを保持したまま検査位置PIからプリアライメント位置PAに移動するとともに昇降部254によってワークWが元の高さ位置に移動する(ステップS7)。このワークWの移動と並行して、制御ユニット5はメモリ52から画像データを読み出し、ワーク画像に基づいて歯車Wbに傷や欠陥などが存在しているか否かを判定して保持テーブル21Aに保持されたワークWについてワーク検査を行う(ステップS8)。
【0039】
プリアライメント位置PAに戻ってきたワークWはアンローダ42によって把持された後、可動部材221〜223による把持の解除により保持テーブル21Aからアンローダ42に受け渡される。それに続いて、アンローダ42がワークWをアンローディングユニット4に搬送し、ワーク収容部(図示省略)に搬送する(ステップS9)。上記した一連の工程(ステップS1〜S9)が保持テーブル21A、21Bにより交互に繰り返される。
【0040】
次に、本実施形態において本発明に係る芯ズレ検出方法の一態様として実行される芯ズレの検出工程(ステップS4)について説明するが、本発明の内容を正確に理解してもらうために、まず上記した検査装置100においてワークWを1周回転させて芯ズレを検出する比較例について
図6および
図7を参照しつつ説明する。
【0041】
図6は本発明に係る芯ズレ検出方法に対する比較例を示すフローチャートであり、
図7は
図6に示す芯ズレの検出方法で取得される各種波形の一例を示す図である。芯ズレの検出工程は、制御ユニット5のメモリ52に予め記憶された芯ズレ検出プログラムにしたがって演算処理部51が以下のように動作することで実行される。
【0042】
本比較例では、芯ズレの検出工程を実行するのに先立って、水平位置決め機構23によりチャック機構22の中心軸AX2とモータ241の回転軸AX3とを一致させており、チャック機構22により保持されたワークWの軸部Waはモータ241の回転軸AX3と一致している。しかしながら、鍛造などにより成形されたワークWでは、歯車Wbの対称軸AX4が軸部Waの軸芯からずれ、モータ241に対して芯ズレが発生していることがある。そこで、本比較例では、以下に詳述する手順によって保持テーブル21AにローディングされたワークWの芯ズレを検出している。なお、保持テーブル21Bに保持されたワークWについても全く同様にして芯ズレが検出されるため、当該ワークWの芯ズレ検出に関する説明については省略する。
【0043】
保持テーブル21Aへの未検査ワークWのローディングが完了すると、アライメント照明部28によりワークWを照明した状態で当該ワークWを回転させながらアライメントカメラ27により歯車Wbを上方より撮像する。これによって、歯車Wbの1周分のワーク画像I1が取得され、ワーク画像I1の画像データは画像処理部55に送られる(ステップS401)。画像処理部55では、ワーク画像I1を3つ繋げた、ワーク3周分の連続画像I3を作成する(ステップS402)。また、平滑化フィルタ処理によってノイズ成分を除去して平滑化画像Isを作成する(ステップS403)。さらに大津の手法などの二値化処理により平滑化画像Isを二値画像に変換するとともに、ワークWの歯車Wbに相当する領域(以下「エッジ領域」という)の二値画像データをエッジ画像データとして抽出する(ステップS404)。
【0044】
次に、演算処理部51が以下の一連の処理(ステップS405〜S412)を実行することで、エッジ画像データからワークWの芯ズレを求める。すなわち、エッジ領域を示すエッジ画像データをランレングスデータに変換することで、例えば
図7の(a)欄に示すように、3周分のエッジ領域の形状を示すエッジ波形Fを導出する(ステップS405)。なお、
図7の(a)欄および(b)欄に示す各グラフにおける横軸Xは平滑化画像Isの画素位置(ワークWの回転角および歯車Wbの周方向における位置に相当)を示し、縦軸Yはラインセンサ271の長手方向(歯車Wbの径方向)におけるエッジ位置を示している。なお、エッジ波形Fの導出手法は、上記したエッジ画像データのランレングスデータへの変換に限定されるものではなく、その他の手法によりエッジ波形Fを導出してもよい。この点については後で説明する実施形態においても同様である。
【0045】
また、このエッジ波形Fに対して移動平均処理を施し、同図の(b)欄に示す移動平均波形Fsを導出する(ステップS406)。ここで、ワークWの歯車Wb(本発明の「ワークの外周部」の一例に相当)においては凸部と凹部とが繰り返して設けられ、周期的な位相が存在することから本比較例では1位相の画素数(回転角の範囲)をL1とすれば、移動平均フィルタのフィルタサイズを(L1/2)に設定している。こうして得られた移動平均波形Fs中の各位相には、極大値および極小値がそれぞれ1点ずつ存在し、そのうちの一方が歯車Wbの歯先位置に相当し、他方が歯底位置に相当する。
【0046】
本比較例では、移動平均波形Fsに含まれる各位相の極大値を抽出し、それらの離散点からワークWの回転に伴う歯先位置(または歯底位置)の変化を示す関数Fnを導出する(ステップS407)。なお、
図7の(c)欄に示すグラフが当該関数Fnの一例であり、同グラフの左端部分が急峻となっているのは関数を導出する際のデータ処理上の問題であり、当該部分のデータは歯先位置(歯底位置)を示すものではない。そこで、本比較例では、当該左端部分の急峻データを除いて、関数Fnの平均値AVを導出する(ステップS408)。ここで、
図7の(c)欄から明らかなように、芯ズレが発生していない場合には、歯先位置(歯底位置)はワークWの回転角を問わず平均値AVのライン(図中の破線)上に位置する。一方、芯ズレが発生する場合には、図中の実線で示すようにワークWの回転周期で変動し、平均値AVからの変動量の最大値がズレ量Δ(
図5参照)に相当し、最大値を示す回転角がズレ方向に相当する。
【0047】
そこで、本比較例では、
図7の(d)欄に示すようにワークWの1周分について平均値AVからの相対変動量を示す関数Fzを取り出し(ステップS409)、その関数Fzに基づいてズレ方向を導出する(ステップS410)とともにズレ量Δを導出する(ステップS411)。より具体的には、関数Fzが極大を示す画素位置Xmaxと、ワークWの1周分に相当する画素数Lとに基づきズレ方向を次式
ズレ方向=Xmax/L×360°
により求めている。もちろん、画素位置Xmaxの代わりに関数Fzが極小を示す画素位置Xminを用いてもよい。また、関数Fzの極大値Ymaxと極小値Yminから振幅Aを次式
A=(Ymax−Ymin)/2
にしたがってを求め、その振幅Aにラインセンサ271の分解能を掛けて求めた値をズレ量Δとしている。
【0048】
以上のように、本比較例では、ワークWを回転させながら撮像して得られたワーク画像I1に基づいて作成された平滑化画像Isからエッジ画像データ(歯車Wbの外周部の画像データ)を抽出するとともに、当該エッジ画像データをランレングスデータに変換してエッジ波形Fを求めている。このエッジ波形Fは歯車Wbの外周部の形状を正確に示しており、当該エッジ波形Fに基づいてモータ241の回転軸AX3に対するワークWの芯ズレを高精度に算出することができる。そして、このようにして導出した芯ズレ(=ズレ方向+ズレ量Δ)を解消するように水平位置決め機構23を駆動することで芯ズレを良好に補正することができる。さらに、芯ズレを補正した後でワークWを回転させながらワークWを撮像してワークWを検査しているので、ワーク検査を高精度に行うことができる。
【0049】
また、本比較例では、歯車Wbの1周分のワーク画像I1を3つ繋げて連続画像I3を作成し、当該連続画像I3に基づいて芯ズレを検出しているため、次のような作用効果が得られる。例えばプリアライメント位置PAでワークWを3回転させながら連続画像I3を取得してもよいが、芯ズレ検出のために要するワークWの回転量が多く、芯ズレの検出時間が長くなる。これに対し、本比較例ではワークWの回転量を1周とすることができ、芯ズレの検出に要する時間を短縮することができる。ただし、この比較例においてもワークWを1周回転させる必要があり、さらなら時間短縮が望まれる。
【0050】
そこで、本実施形態では、
図8および
図9に示す芯ズレの検出工程(ステップS4)を実行する。
図8は本発明に係る芯ズレ検出方法の第1実施形態である芯ズレの検出工程を示すフローチャートであり、
図9は
図8に示す芯ズレの検出方法で取得される各種波形の一例および芯ズレの導出手法を模式的に示す図である。芯ズレの検出工程は、制御ユニット5のメモリ52に予め記憶された芯ズレ検出プログラムにしたがって演算処理部51が以下のように動作することで実行される。なお、以下においては、上記比較例の説明と同様に、保持テーブル21AにローディングされたワークWの芯ズレ検出について説明し、保持テーブル21Bに保持されたワークWの芯ズレ検出に関する説明については省略する。この点については、後で説明する第2実施形態や第3実施形態についても同様である。
【0051】
本実施形態では、芯出しされた状態のワークWについて移動平均波形Fs0(
図9の(c)欄中の点線)を種々のワークについて求め、メモリ52に記憶している。そして、保持テーブル21AにローディングされたワークWの種類に対応する移動平均波形Fs0をメモリ52から読み出す(ステップS421)。なお、同一種類のワークWについて芯ズレの検出を繰り返して行う場合には、最初の1回目のみ移動平均波形Fs0の取得(ステップS421)を行い、その後についてはステップS421を省略してもよい。この点についても後で説明する第2実施形態や第3実施形態についても同様である。
【0052】
保持テーブル21Aへの未検査ワークWのローディングが完了した時点では、上記比較例と同様に、チャック機構22の中心軸AX2とモータ241の回転軸AX3と軸部Waの軸芯とは一致している。そして、アライメント照明部28によりワークWを照明した状態で当該ワークWを回転させながらアライメントカメラ27により歯車Wbを上方より撮像する。本実施形態では、検出時間の短縮を図るために、ワークWをワーク回転角度θだけ回転させて歯車Wbの角度φ分のワーク部分画像I11を取得する(ステップS422)。この実施形態では、φ=90゜分のワーク部分画像I11を得るために、回転角度θ=90゜に設定している。ここで、φ=90゜に設定した理由は次のとおりである。
【0053】
比較例で詳述したようにワークWの外周部の1周分の画像I1からエッジ波形F11を求めると、そのエッジ波形F11の1周分には
図7に示すように4つの特徴部位(つまり、変曲点b1、極値a1、変曲点b2および極値a2)が90゜間隔で順番に出現する。各特徴部位は芯ズレに対応するものであり、当該特徴部位に対応するエッジ波形(または移動平均波形)を予め芯出しされた状態でのエッジ波形(または移動平均波形)と比較することで芯ズレを導出することができる。このことは90゜分のワーク部分画像I11には芯ズレを検出するに十分な情報が含まれることを意味し、本実施形態ではこれを利用して芯ズレを検出している。なお、本実施形態では、ノイズ影響を排除して検出精度を高めるために、エッジ波形と同質の移動平均波形を用いている。
【0054】
こうして歯車Wbのφ(=90゜)分のワーク部分画像I11が取得され、ワーク部分画像I11の画像データは画像処理部55に送られる。画像処理部55では、平滑化フィルタ処理によってノイズ成分を除去して平滑化画像Is1を作成する(ステップS423)。さらに大津の手法などの二値化処理により平滑化画像Is1を二値画像に変換するとともに、ワークWのエッジ領域の二値画像データをエッジ画像データとして抽出する(ステップS424)。
【0055】
次に、演算処理部51が以下の一連の処理(ステップS425〜S431)を実行することで、特徴部位に基づいてワークWの芯ズレを求める。すなわち、エッジ領域を示すエッジ画像データをランレングスデータに変換することで、例えば
図9の(a)欄に示すように、90゜分のエッジ領域の形状を示すエッジ波形F11を導出する(ステップS425)。なお、上記したように特徴部位は極値a1、a2と、変曲点b1、b2との2種類に分けることができ、種類ごとに芯ズレの検出原理が異なるために、
図9では「極値に基づく芯ズレの導出」と「変曲点に基づく芯ズレの導出」とに分けて図示している。また、
図9に示す各グラフにおける横軸Xは画像の画素位置(ワークWの回転角および歯車Wbの周方向における位置に相当)を示し、縦軸Yはラインセンサ271の長手方向(歯車Wbの径方向)におけるエッジ位置を示している。
【0056】
エッジ波形F11に対して移動平均処理を施し、同図の(b)欄に示す移動平均波形Fs1を導出する(ステップS426)。ここでは、ワークWの歯車Wbの外周部に凸部と凹部とが繰り返して設けられ、周期的な位相が存在することから比較例と同様に移動平均フィルタのフィルタサイズを(L1/2)に設定している。こうして得られた移動平均波形Fs1中の各位相には、極大値および極小値がそれぞれ1点ずつ存在し、そのうちの一方が歯車Wbの歯先位置(凸部の位置)に相当し、他方が歯底位置(凹部の位置)に相当する。
【0057】
次に、
図9の(b)および(c)欄に示すように、移動平均波形Fs1に含まれる各位相の極値点を抽出する(ステップS427)。そして、これらのうち極大値を示す連続する3つの極値点E1〜E3間の相対関係に基づいてワーク部分画像I11に含まれる特徴部位が極値a1、a2であるのか変曲点b1、b2であるのかを選択する。より具体的には、
図9に示すように極値点E1〜E3のY座標値、つまりエッジ位置Y1〜Y3が次の関係、
Y2>Y1 and Y2>Y3
あるいは、
Y2<Y1 and Y2<Y3
の場合には、芯ズレの導出方式として、「極値に基づく芯ズレの導出」を用いる極値タイプであると判定する。一方、極値点E1〜E3のエッジ位置Y1〜Y3が次の関係、
Y1<Y2<Y3
あるいは、
Y1>Y2>Y3
の場合には、芯ズレの導出方式として、「変曲点に基づく芯ズレの導出」を用いる変曲点タイプであると判定する(ステップS428)。そして、ステップS428で極値タイプであると判定した際にはステップS429に進んで極値に基づく芯ズレの導出を行う一方、変曲点タイプであると判定した際にはステップS430に進んで変曲点に基づく芯ズレの導出を行う。
【0058】
ステップS429(極値に基づく芯ズレの導出)では、極値点E2のX座標値(ラインセンサ271での画素位置X2)およびY座標値(エッジ位置Y2)をそれぞれ求める。そして、ズレ方向を次式
ズレ方向=X2/L×360°
ただし、LはワークWの1周分に相当する画素数
により求める。また、ズレ量を次式
ズレ量Δ=Y2−Yav
ただし、Yavは芯出しされた状態のワークWの移動平均波形Fs0に含まれる各位相の極大値の平均値
により求める。なお、極大値の代わりに極小値を用いてもよい。
【0059】
一方、ステップS430(変曲点に基づく芯ズレ)では、
図9の(c)欄に示すように芯出しされた状態のワークWの移動平均波形Fs0において極大値を結んだ線(直線あるいは曲線)LN0と、検査対象となるワークWの移動平均波形Fs1において極大値を結んだ線(直線あるいは曲線)LN1とを求める。
図9では、極値点E1、E2を結んだ直線を線LN1としている。そして、両線LN0、LN1の交点CPの座標(Xc、Yc)を求めた後、交点CPにおける線LN1の傾きTを次式
T=(Y1−Y2)/(X1−X2)
にしたがって求める。さらに、ズレ量Δを次式
Δ=T/ω
ただし、ω=2π/L
にしたがって導出する。ここで、上記式でズレ量Δを求めることができる理由について説明する。上記のように隣り合う極値点E1、E2を結んでできた曲線がsin波であると仮定すると、芯ズレを表す関数Fzは
Fz=A・sin(ωX+k)
ただし、Aは振幅(ズレ量に相当)、kはズレ方向、
と定義できる。そして、関数Fzの微分値Fz’は
Fz'=A・ω・cos(ωX+k)
となる。この波形の傾きは変曲点ではcos(ωX+k)=1となるため、
Fz'=T=A・ω
となる。よって、上記式によりズレ量Δを求めることができる。また、ワークWの1周分の画素数はLであるため、ズレ方向kは
k=X2/L×2π+π/2
となる。
【0060】
以上のように第1実施形態では、ワークWを90゜回転させてワークWの外周部の角度φ(=90゜)分のワーク部分画像を撮像するとともに当該ワーク部分画像に基づいてワークWの外周部の形状を部分的に示すエッジ波形Fを求め、当該エッジ波形Fに基づいて回転機構24に対するワークWの芯ズレを算出している。このため、ワークWの芯ズレを短時間で高精度に検出することができる。
【0061】
ところで、第1実施形態では、90゜分のワーク部分画像を取得しているが、90゜を超える角度(ただし、360゜未満の角度)分のワーク部分画像を取得しても同様の作用効果が得られる。ただし、角度φが広がるにしたがってワークWを回転させる角度θも増えるため、芯ズレ検出時間の短縮効果を図るためには、角度φを90゜に近い値に設定するのが望ましい。また、同じ角度φでありながらも、次に説明するように撮像領域を増やすことで角度θを半分にし、芯ズレ検出時間をさらに短縮することができる(第2実施形態、第3実施形態)。
【0062】
図10は本発明に係る芯ズレ検出装置の第2実施形態を装備するワーク保持ユニットの構成を示す図である。また、
図11は
図10に示すワーク保持ユニットにおけるラインセンサとワークとの位置関係を模式的に示す平面図である。第2実施形態に係る検査装置100が第1実施形態と相違する点は、ラインセンサ271の配置と、芯ズレ検出工程での処理内容とであり、その他の構成は基本的に第1実施形態と同一である。したがって、以下においては相違点を中心に説明し、同一構成については同一符号を付して説明を省略する。
【0063】
第2実施形態ではラインセンサ271がモータ241の回転軸AX3に対して所定距離d1だけオフセットして配置されている。そのオフセット距離d1は、次式
オフセット距離d1=R・sin(φ/4)
ただし、RはワークWの歯車Wbの半径(対称軸AX4から歯車の外周面までの距離)、
で表すことができ、第1実施形態と同様に角度φを90゜に設定した第2実施形態では、ラインセンサ271は
オフセット距離d1=R・sin(90゜/4)
だけモータ241の回転軸AX3から離間して配置されている。このため、ラインセンサ271の受光素子(図示省略)の配列方向が回転軸AX3の径方向に対して直交し、当該直交方向において一定距離だけ離間しながら直線状に設けられた2つの撮像領域AR1、AR2でワークWの外周部を局部的に撮像可能となっている。したがって、芯ズレした状態のワークWを1周させる間に第1撮像領域AR1で撮像されるワーク画像に基づいて第1実施形態と同様の手法によって求められるワークWの芯ズレ状態を示す関数Fz1は
図12の上段に示すグラフとなる。また同様にして第2撮像領域AR2で撮像されるワーク画像に基づいて求められるワークWの芯ズレ状態を示す関数Fz2は
図12の下段に示すグラフとなる。
【0064】
両グラフから明らかなように、上記のように構成された検査装置100では、ワークWの回転角度θを角度φの半分に設定した場合であっても、第1撮像領域AR1によって角度(φ/2)分のワーク局部画像(以下「第1ワーク局部画像」という)が撮像されると同時に第2撮像領域AR2によって角度(φ/2)分のワーク局部画像(以下「第2ワーク局部画像」という)が撮像される。しかも、ラインセンサ271がモータ241の回転軸AX3に対してオフセット距離d1だけオフセットされているため、合計で角度φ(本実施形態では90゜)分のワーク部分画像(=第1ワーク局部画像+第2ワーク局部画像)が得られ、しかも第1ワーク局部画像および第2ワーク局部画像のいずれか一方から求められるエッジ波形や移動平均波形に特徴部位が必ず含まれる(後で説明する
図14参照)。例えば
図12に示す例では、破線により挟まれた範囲(φ/2の角度範囲)において第2撮像領域AR2で撮像される第2ワーク局部画像に極値a2が出現している。そこで、第2ワーク局部画像に基づいて作成したエッジ波形や移動平均波形に含まれる連続する3つの極値点に基づいて芯ズレを求めることができる。
【0065】
このように第2実施形態では、ワークWの回転角度θを角度φの半分に設定しながらもワークWの芯ズレを検出することができる。具体的には、検査装置100は、
図13に示すフローチャートにしたがって芯ズレを検出した後で、第1実施形態と同様にステップS3〜S7を実行してワークWの検査を行う。
【0066】
図13は本発明に係る芯ズレ検出方法の第2実施形態である芯ズレの検出工程を示すフローチャートであり、
図14は特徴部位の出現態様と芯ズレ導出方式との組み合わせを示す図である。この芯ズレの検出工程は、制御ユニット5のメモリ52に予め記憶された芯ズレ検出プログラムにしたがって演算処理部51が以下のように動作することで実行される。
【0067】
第2実施形態においても、第1実施形態と同様に、芯出しされた状態のワークWについて移動平均波形Fs0をワークの種類毎に求め、メモリ52に記憶している。そして、保持テーブル21AにローディングされたワークWの種類に対応してメモリ52から移動平均波形Fs0を読み出す(ステップS441)。
【0068】
保持テーブル21Aへの未検査ワークWのローディングが完了した時点では、上記比較例と同様に、チャック機構22の中心軸AX2とモータ241の回転軸AX3とは一致している。そして、アライメント照明部28によりワークWを照明した状態で当該ワークWを回転させながらアライメントカメラ27により歯車Wbを上方より撮像する。本実施形態では、検出時間のさらなる短縮を図るために、ワーク回転角度θを角度(φ/2)に設定し、撮像領域AR1、AR2ごとに回転中に歯車Wbの角度(φ/2)分のワーク局部画像を取得する(ステップS442)。この実施形態では、φ=90゜分のワーク部分画像を得るために、回転角度θ=45゜に設定しており、第1撮像領域AR1により角度(φ/2)分の第1ワーク局部画像と、第2撮像領域AR2により角度(φ/2)分の第2ワーク局部画像とが取得され、それらの画像データが画像処理部55に送られる。画像処理部55では、ワーク局部画像ごとに平滑化フィルタ処理によってノイズ成分を除去して平滑化画像を作成する(ステップS443)。さらに、平滑化画像ごとに大津の手法などの二値化処理により平滑化画像を二値画像に変換するとともに、ワークWのエッジ領域の二値画像データをエッジ画像データとして抽出する(ステップS444)。
【0069】
次に、演算処理部51が以下の一連の処理(ステップS445〜S451)を実行することで、特徴部位に基づいてワークWの芯ズレを求める。すなわち、エッジ領域ごとにエッジ画像データをランレングスデータに変換することで45゜分のエッジ領域の形状を示すエッジ波形を導出する(ステップS445)。また、エッジ波形ごとに、移動平均処理を施して移動平均波形を導出する(ステップS446)。
【0070】
次に、移動平均波形ごとに各位相の極値点を抽出する(ステップS447)。そして、第1ワーク局部画像に対応する極値点のうち極大値を示す連続する3つの極値点間の相対関係に基づいて第1ワーク局部画像に特徴部位が含まれているか否かを決定する。また、特徴部位が含まれている場合には、それが極値a1、a2であるのか変曲点b1、b2であるのかを決定する。当該決定は第2ワーク局部画像についても実行する。ここで、特徴部位の決定については第1実施形態で説明した方法を用いることができる。一方、特徴部位が存在しないという決定については、極値点E1〜E3と、芯出しされた状態のワークWの移動平均波形Fs0に含まれる各位相の極大値の平均値Yavとに基づいて行うことができる。つまり、極値点E1〜E3が単調増加または単調減少であり、しかも極値点E1〜E3のY座標値がいずれもが平均値Yavよりも大きいあるいは小さいことが確認されたとき、特徴部位が存在していないと決定することができる。
【0071】
このように、本実施形態では第1ワーク局部画像および第2ワーク局部画像のいずれか一方では特徴部位が存在しないが、他方では特徴部位が出現し、特徴部位の出現パターンは
図14に示す8パターンである。そこで、本実施形態では、特徴部位の出現パターンに応じて芯ズレ導出方式を選択する。つまり、第1ワーク局部画像および第2ワーク局部画像のいずれか一方に、極値a1(またはa2)が出現した場合には芯ズレ導出方式として既述の「極値に基づく芯ズレの導出」を選択する一方、変曲点b1(またはb2)が出現した場合には芯ズレ導出方式として既述の「変曲点に基づく芯ズレの導出」を選択し、ステップS449に進んで極値に基づく芯ズレの導出を行う一方、変曲点タイプであると判定した際にはステップS450に進んで変曲点に基づく芯ズレの導出を行う。なお、これらの導出方法については第1実施形態と同一であるため、重複説明は省略する。
【0072】
以上のように、第2実施形態は、第1実施形態と同様にワーク部分画像を撮像するとともに当該ワーク部分画像に基づいてワークWの外周部の形状を部分的に示すエッジ波形を求め、当該エッジ波形に基づいて回転機構24に対するワークWの芯ズレを算出している。このため、ワークWの芯ズレを高精度に検出することができる。しかも、ワークWの回転角度θを第1実施形態の半分で行っており、ワークWの芯ズレ検出に要する時間をさらに短縮することができる。
【0073】
なお、上記第2実施形態では、ラインセンサ271のオフセット距離を距離d1に設定しているが、
図15に示すように、オフセット距離を
オフセット距離d2=R・cos(φ/4)
で表すように設定してもよい(第3実施形態)。
【0074】
この第3実施形態においては、芯ズレした状態のワークWを1周させる間に第1撮像領域AR1で撮像される第1ワーク局部画像に基づいて第1実施形態と同様の手法によって求められるワークWの芯ズレ状態を示す関数Fz1は
図16の上段に示すグラフとなる。また同様にして第2撮像領域AR2で撮像される第2ワーク局部画像に基づいて求められるワークWの芯ズレ状態を示す関数Fz2は
図16の下段に示すグラフとなる。
【0075】
両グラフから明らかなように、上記のように構成された検査装置100では、ワークWの回転角度θを角度φの半分に設定した場合であっても、第1ワーク局部画像が撮像されると同時に第2ワーク局部画像が撮像される。しかも、ラインセンサ271がモータ241の回転軸AX3に対してオフセット距離d2だけオフセットされているため、合計で角度φ(本実施形態では90゜)分のワーク部分画像が得られ、しかも第1ワーク局部画像および第2ワーク局部画像のいずれか一方から求められるエッジ波形や移動平均波形に少なくとも1つの特徴部位が必ず含まれる。例えば
図16に示す例では、破線により挟まれた範囲(φ/2)の角度範囲において第2撮像領域AR2で撮像される第2ワーク局部画像に変曲点b1が出現している。そこで、第2ワーク局部画像に基づいて作成したエッジ波形や移動平均波形に含まれる連続する3つの極値点に基づいて芯ズレを求めることができる。
【0076】
このように第3実施形態においても第2実施形態と同様の作用効果、第1実施形態よりも短時間でワークWの芯ズレを高精度に検出することができる。このように第2実施形態と第3実施形態とはオフセット距離を除き同一構成および同一動作を実行する。また、上記第2実施形態および第3実施形態では角度φを90゜に設定しているが、角度φについては90゜以上360゜未満の範囲で任意である。ただし、角度φの値によってオフセット距離d1、d2は相違する。例えば角度φ=90゜ではオフセット距離d1がオフセット距離d2よりも短く、ワーク局部画像の歪を低減するという技術意義から第2実施形態が有利である。角度φが大きくなりオフセット距離d2がオフセット距離d1よりも短くなった場合には、第3実施形態の方が有利となる。したがって、装置設定を行うにあたっては、オフセット距離d1、d2を考慮し、短い方の実施形態を採用するのが望ましい。
【0077】
上記実施形態における回転機構24が本発明の「回転部」の一例に相当し、アライメントカメラ27が本発明の「撮像部」の一例に相当している。また、演算処理部51が本発明の「エッジ波形導出部」および「芯ズレ演算部」として機能している。また、極値点E1〜E3の座標値が本発明の「位置情報」の一例に相当している。そして、回転機構24、アライメントカメラ27、演算処理部51および画像処理部55により本発明の「芯ズレ検出装置」が構成されている。また、保持テーブル21A、21Bが本発明の「ワーク保持部」の一例に相当している。また、移動平均波形が本発明の「エッジ波形」の一例に相当している。
【0078】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば上記実施形態では、特徴部位の決定および芯ズレの導出にあたって極大値を示す極値点E1〜E3を用いているが、極小値を示す極値点E1〜E3を用いてもよい。
【0079】
また、上記実施形態では歯車Wbを有するワークWを検出対象物としているが、本発明を用いることで対称軸まわりに回転対称な形状で凸部と凹部とが周期的に繰り返して設けられた外周部を有するワーク全般について芯ズレを高精度に検出することができる。
【0080】
また、上記実施形態では、2つの保持テーブル21A、21Bを交互にプリアライメント位置PAに位置させて芯ズレを検出する検査装置100に本発明に係る芯ズレ検出装置を適用しているが、単一あるいは3つ以上の保持テーブルを有する検査装置に対しても本発明を適用することができる。また、上記実施形態では、プリアライメント位置PAを検査位置PIから離間させた検査装置100に本発明を適用しているが、プリアライメント位置PAを検査位置PIと一致させる、つまり検査位置で芯ズレ検出および芯ズレ補正を行った後で検査処理を行う検査装置にも本発明を適用することができる。また、このように構成された検査装置では、検査カメラ31の一部をアライメントカメラ27としても機能させてもよい。
【0081】
また、上記実施形態では、芯ズレ検出のために4つの特徴部位のうちの一つを少ない情報で特定しているが、その特定された特徴部位に関する情報に基づいて芯ズレに伴うsin波(
図7の(d)欄、
図12、
図16参照)を補完することができる。すなわち、ワークWを1回転させることなく、関数Fzを導出することができる。