(57)【特許請求の範囲】
【請求項１】
イメージセンサを有し、周回走行する無端搬送体の搬送部位で支持され、前記イメージセンサの検出位置を通過する部品を検出して、搬送方向と交叉する方向の部品寸法を測定する部品寸法測定装置であって、
周回走行に伴い、前記検出位置において、搬送方向と交叉する方向に周期的に変位する前記搬送部位の位置に応じて、部品寸法の測定基準となるイメージセンサの基準画素を選択する基準画素選択手段と、
前記イメージセンサにおいて、前記部品の輪郭の一点を検出した検出画素と、当該検出が行なわれた際に前記基準画素選択手段が選択している基準画素とから前記部品寸法を割り出す寸法割出手段と、
を備えたことを特徴とする部品寸法測定装置。
【請求項２】
前記基準画素選択手段は、
前記搬送部位の、走行方向複数の領域に分割された各領域と各領域毎に定められた基準画素とを対応付けて記憶する記憶部と、
前記検出位置をどの領域が通過しているのかを特定する特定部と、
前記特定部が特定する領域が更新されると、前記記憶部から更新後の領域に対応する基準画素を読み出し、これを部品寸法の測定に用いる基準画素に選択する選択部と、
を有することを特徴とする請求項１記載の部品寸法測定装置。
【請求項３】
前記部品寸法測定装置は、前記搬送部位を搬送面とし、当該搬送面で部品を載置支持して部品を搬送する部品寸法測定装置であって、
前記基準画素選択手段は、さらに、
部品寸法の測定に先立ち、部品が載置されていない状態の前記搬送面を前記イメージセンサに前記各領域ごとに複数回検出させ、各領域において搬送面を検出した画素の内、最も低い位置を示す画素を基準画素として前記記憶部に記憶させる基準画素選定部を有することを特徴とする請求項２記載の部品寸法測定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、部品の寸法測定装置に関し、特に、周回走行する無端搬送体で搬送される部品の、搬送方向と交叉する方向の寸法を、イメージセンサを用いて測定する寸法測定装置に関する
【０００２】
【従来の技術】
例えば、ねじ等の大量生産される部品は、主要寸法が規格寸法に合致しているかどうかの検査を行うために、その主要寸法を効率良く測定する必要がある。
そこで、例えば、特公平４−１２８０３号公報には、ねじを搬送用ベルトで連続的に搬送し、搬送経路の途中に配置された一次元イメージセンサで、その検出位置を通過するねじの各部寸法を次々に測定する装置が開示されている。
【０００３】
図１１（ａ）は、そのような測定装置の概略構成を示す図である。当該測定装置は、ねじＳの径方向の寸法の他、ねじＳの軸方向の寸法、すなわち、全長Ｌ、頭部Ｓ１の高さｈ、首下部Ｓ２の長さｌをその測定対象としている。ここで、頭部高さｈは、頭部座面Ｓ３からねじＳの上端（頭頂部）までの長さであり、首下長さｌは、頭部座面Ｓ３からねじＳの下端までの長さである。
【０００４】
当該測定装置は、駆動側プーリ３５０と従動側プーリ３６０の間に２本の搬送用ベルト３１０ａ、３１０ｂを間隙をおいて平行に張架してなる搬送装置を備えている。ねじＳは、本図に示すように、首下部Ｓ２が前記間隙にはまり込み、頭部座面Ｓ３が両搬送用ベルト３１０ａ、３１０ｂの搬送面（外周面）に支持された状態（引っ掛けられた状態）で矢印の向きに搬送される。
【０００５】
搬送経路の途中には、ねじＳの軸方向各部を検知する一次元イメージセンサ（不図示）が設けられており、当該一次元イメージセンサは、その基準位置が搬送用ベルト３１０ａ、３１０ｂの位置Ｐ、すなわち搬送面の高さに合わせて配置されている。この状態で、一次元イメージセンサをスキャンさせると、図１１（ｂ）に示すように、ベルト位置Ｐ（基準位置）を境にして頭部Ｓ１の高さｈと首下長さｌ、および全長Ｌに対応するイメージセンサ出力信号が得られる。このイメージセンサ出力信号は、ねじが１本通過する間に百ないし数百回前後出力されるようになっており、ねじ１本分のデータの中で、ねじ頭頂部の位置でスキャンしたとみなされる最大値のデータがねじの上記各部のデータとして採用される。
【０００６】
これにより、連続して搬送されるねじの各部を次々に測定することが可能となり、効率良く測定することができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記測定装置では、搬送用ベルトの厚みがその長手方向（走行方向）に不均一であると、搬送面が上下に変位してしまう。その結果、一次元イメージセンサの前記基準位置と現実の搬送面の位置とがずれてしまい、基準位置に基づいて演算される頭部高さｈと首下長さｌとに誤差が生じてしまう。このため、上記測定装置では、全長Ｌはともかく、頭部高さｈと首下長さｌの測定精度が不安定になってしまうといった問題が生じるおそれがある。
【０００８】
本発明は、上記した課題に鑑み、無端搬送体で搬送される部品の、搬送方向と交叉する方向の寸法を安定した精度で測定することができる寸法測定装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係る部品寸法測定装置は、イメージセンサを有し、周回走行する無端搬送体の搬送部位で支持され、前記イメージセンサの検出位置を通過する部品を検出して、搬送方向と交叉する方向の部品寸法を測定する部品寸法測定装置であって、周回走行に伴い、前記検出位置において、搬送方向と交叉する方向に周期的に変位する前記搬送部位の位置に応じて、部品寸法の測定基準となるイメージセンサの基準画素を選択する基準画素選択手段と、前記イメージセンサにおいて、前記部品の輪郭の一点を検出した検出画素と、当該検出が行なわれた際に前記基準画素選択手段が選択している基準画素とから前記部品寸法を割り出す寸法割出手段とを備えたことを特徴とする。
【００１０】
また、前記基準画素選択手段は、前記搬送部位の、走行方向複数の領域に分割された各領域と各領域毎に定められた基準画素とを対応付けて記憶する記憶部と、前記検出位置をどの領域が通過しているのかを特定する特定部と、前記特定部が特定する領域が更新されると、前記記憶部から更新後の領域に対応する基準画素を読み出し、これを部品寸法の測定に用いる基準画素に選択する選択部とを有することを特徴とする。
【００１１】
さらに、前記部品寸法測定装置は、前記搬送部位を搬送面とし、当該搬送面で部品を載置支持して部品を搬送する部品寸法測定装置であって、前記基準画素選択手段は、さらに、部品寸法の測定に先立ち、部品が載置されていない状態の前記搬送面を前記イメージセンサに前記各領域ごとに複数回検出させ、各領域において搬送面を検出した画素の内、最も低い位置を示す画素を基準画素として前記記憶部に記憶させる基準画素選定部を有することを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明をねじ検査装置に適用した場合を例にとって説明する。
当該ねじ検査装置は、ねじの主要寸法を計測して、良品・不良品判定を行い、その選別を行う装置である。
ねじの測定対象となる箇所は、図１に示すように、軸方向の寸法として全長、頭厚および首下長さ、軸方向と直交する方向の寸法として頭径、ねじ外径および谷径である。なお、図１は、後述する搬送部で搬送されるねじを断面で表した図である。
【００１３】
図２は、実施の形態に係るねじ検査装置１の概略構成を示す斜視図である。
本図に示すように、当該ねじ検査装置１は、ねじを供給する供給部１０、供給されたねじを搬送する搬送部２０、搬送されるねじを検出する検出部３０、検出されたねじの良品・不良品判定を行うコントローラ４０、および、ねじを良品と不良品とに振り分ける選別部５０とから構成される。
【００１４】
供給部１０は、ホッパ内にばら積されたねじを整列しながら送り出す、振動式の第１パーツフィーダ１１と、第１パーツフィーダから送り出されたねじを、直線的に移送する、同じく振動式の第２パーツフィーダ１２とからなり、第２パーツフィーダ１２から送りだされるねじは、その頭部を下方に向けた倒立状態で、搬送部２０の後述するターンテーブル２１上に間隔をもって載置される。
【００１５】
搬送部２０は、ターンテーブル２１と当該ターンテーブル２１を図中の矢印Ａの向きに等速で回転駆動するモータ（以下、「搬送モータ」と言う。）２２とを有している。
ターンテーブル２１は、円盤の中央部分が同心円状にくり貫かれた形状をしており、リング状に残存する外周部（以下、「搬送リング」と言う。）２１ａの上面がねじの搬送面２１ｂとなる。ねじは、前記第２のパーツフィーダ１２によって、ターンテーブル２１の回転中心から距離Ｒ（本例では、Ｒ＝１３６mm）の位置に載置され、距離Ｒを半径とする円周上を搬送される。
【００１６】
そして、前記搬送モータ２２の出力軸とターンテーブル２１の回転軸とは、減速機（不図示）を介して連結されており、搬送モータ２２の出力軸には、その回転角度を検出するためのロータリエンコーダ２３が取付けられている。前記減速機の減速比は５０であり、ロータリエンコーダ２３の分解能は２０４８[パルス／回転]である。したがって、ターンテーブル２１の１回転当たり、ロータリエンコーダ２３からは１０２４００（＝２０４８×５０）個のパルス信号が出力されることとなる。
【００１７】
検出部３０は、前記搬送リング２１ａの内周側に設けられた光源３１と搬送リングの一部を挟んで当該光源と対向して設けられた１次元イメージセンサカメラ３２とを有している。当該１次元イメージセンサとしてＣＣＤラインセンサ（以下、単に「ＣＣＤセンサ」と言う。）３３が用いられており、当該ＣＣＤセンサ３３は、その感光画素の配列方向が、搬送リング２１ａの搬送面２１ｂと直交する方向、すなわち、搬送されるねじの軸の方向と平行となる姿勢で設けられている。また、ＣＣＤセンサ３３の画素数は２０４８であり、画素ピッチは０．０１４mmである。
【００１８】
ＣＣＤセンサ３３は、後述するタイミングで走査を繰り返し、当該ＣＣＤセンサ３３の検出位置を通過するねじを走査する。図３は、ＣＣＤセンサ３３における走査結果の一例を示す模式図であり、同図（ａ）は、図１に２点鎖線で示すＣの位置を走査したときの様子であり、同図（ｂ）は、図１に２点鎖線で示すＤの位置を走査したときの様子である。また、図３では、光源からの光を遮るものがなく十分受光した画素（白画素）を白丸で、ねじやターンテーブル２１（搬送リング２１ａ）の陰になって受光量の微少な画素（黒画素）を黒丸で表現している。なお、ＣＣＤセンサ３３における各画素位置は画素番号（アドレス）で識別され、最上位の画素３３１を１番として、最下位の画素３３２（２０４８番）まで連番が付されている。
【００１９】
検出部３０は、後述するように、所定番号の画素から昇順に所定番号の画素まで検査し、白画素から黒画素または黒画素から白画素に切り替わる位置（以下、「エッジ位置」と言う。）を抽出する回路（以下、「エッジ抽出回路」と言う。）３００（図５）を有している。エッジ位置は、画素位置（画素番号）で特定し、図３（ｃ）に示すように、例えば、白画素３３３から黒画素３３４に切り替わる場合には、当該黒画素３３４をエッジ画素とし、その画素位置をエッジ位置とする。一方、例えば、黒画素３３５から白画素３３６に切り替わる場合には、当該白画素３３６をエッジ画素とし、その画素位置をエッジ位置とする。すなわち、画素の状態が切り替わった場合に、切り替わり後の画素をエッジ画素とし、その位置（画素番号）をエッジ位置とするのである。以上の定義から明らかなように、エッジ画素は、ＣＣＤセンサ３３の走査ライン上に存するねじ（被検出体）の輪郭上の１点（輪郭点）を示すものである。
【００２０】
また、ねじの測定箇所に応じて、１番から２０４８番までの画素の内、１回の走査において利用する（検査する）画素の範囲を複数設定できるようになっている。この範囲を、ゲートと言い、図４に示すように、ねじの外径と谷径の測定にはゲート１が用いられ、頭厚と全長と首下長さの測定にはゲート２が用いられる。
【００２１】
なお、各ゲートは、2個の画素番号で定まり、画素番号の小さい方をゲート開始番号（GateStr）、画素番号の大きい方をゲート終了番号（GateEnd）とする。
ゲート１のゲート開始番号Gate1Strおよびゲート終了番号Gate1End並びにゲート２のゲート開始番号Gate2Strおよびゲート終了番号Gate2Endは、以下のように設定される。
【００２２】
Gate1Str＝TableData[m]−HeadThick−ScrLeg×２        …  （１）
Gate1End＝TableData[m]−HeadThick−HeadOffSet        …  （２）
Gate2Str＝Gate1Str                                   …  （３）
Gate2End＝TableData[m]−TableOffSet                  …  （４）
ここで、
TableData[m]：ターンテーブル２１のねじ搬送面２１ｂの高さの位置にある画素の番号。以下、この画素を「測定基準画素」と言う。
【００２３】
HeadThick：頭厚の規格値を画素の個数に換算した値（整数）。すなわち、頭厚を画素ピッチで除し、小数点以下を四捨五入した値。
ScrLeg：首下長さの規格値を画素の個数に換算した値（整数）。算出方法は、HeadThickの場合と同様。
【００２４】
HeadOffSet：不完全ねじ部長さの規格値を画素の個数に換算した値。算出方法は、HeadThickの場合と同様。
TableOffSet：ターンテーブル２１のねじ搬送面２１ｂからのオフセット値（整数）。ゲートが、ねじ頭部の一部（少なくとも最大径部分）を含み、かつ、テーブル（搬送リング）と被らないように設定される値。
【００２５】
である。すなわち、ゲート１は、ＣＣＤセンサ３３における走査結果の利用を、ねじの完全ねじ部の範囲に限定するものであり、ゲート２は、ターンテーブル２１を除外し、ねじのほぼ全長の範囲に限定するものである。なお、上記HeadThick、ScrLeg、HeadOffSet、TableOffSetは、ねじの種類やサイズによって異なるものであり、各値を求めるのに必要な各規格値などは、検査者によって、対応するねじ毎に、キーボード４４を介して入力されるようになっている。
【００２６】
また、上記TableData[m]は、ターンテーブル２１をその回転軸を中心に等角度で１００の領域（ｍ＝０〜９９）に分割した場合の各領域におけるねじ搬送面２１ｂに対応する画素（測定基準画素）の番号である。当該TableData[m]の求め方等については、後で詳述する。
図２に戻り、コントローラ４０は、ＣＣＤセンサ３３の検出結果とロータリエンコーダ２３からの出力結果をもとにねじ各部の寸法を割り出し、割り出した各寸法とＲＯＭ４２（図５）に予め格納されている各寸法毎の設定された公差範囲とを比較して良品・不良品判定を行う。なお、各部寸法の割り出し方法については後述する。
【００２７】
選別部５０は、ステッピングモータからなる選別モータ５１の回転軸の先端部分に、４枚の羽根５２ａ〜５２ｄが９０°の等間隔で設けられた構成の選別機を有している。当該選別モータ５１は前記コントローラ４０によって回転制御され、不良品と判定されたねじが、図２に示す状態で静止している羽根の位置に来るタイミングで９０°回転される。当該不良品は、当該羽根によって掃き出され、搬送リング２１ａ外周側に設けられたシュート５３を介して不良品箱（不図示）に収容される。良品と判定されたねじは、選別機を通過し、搬送方向下流側に設けられた衝立て５４によって塞き止められて、搬送リング２１ａの外周側に転げ落ち、シュートを介して良品箱（いずれも不図示）に収容される。
【００２８】
図５は、ねじ検査装置の制御ブロック図を示す。
本図に示すように、エッジ抽出回路３００がＣＰＵバス３０１を介してコントローラ４０のＣＰＵ４１と接続されており、当該ＣＰＵ４１はロータリエンコーダ２３と選別モータ５１に接続されている。
ＣＰＵ４１からＣＣＤセンサ３３に走査信号が出力されると、ＣＣＤセンサ３３は、１ライン分の画素データを保持する。保持された画素データは、不図示のクロック発生器から入力されるクロック信号にしたがって、1番の画素のものから順にシリアルに出力される。画素データは、クロック信号の１パルスに付き１個出力され、出力された画素データは、Ａ／Ｄ変換器３０２によって２５６（０〜２５５）階調の濃度データに変換された上で、比較器３０３に入力される。比較器３０３は、入力された濃度データと、基準濃度レジスタ３０４に格納されている基準濃度とを比較し、濃度データが基準濃度以上の場合は、「１」を、濃度データが基準濃度未満の場合は「０」を出力する。ここで、この「１」と「０」で現される情報を２値情報と言い、２値情報が「１」の画素を白画素、「０」の画素を黒画素とする。なお、基準濃度レジスタ３０４には、初期値として、ＲＯＭ４２に格納されている値がＣＰＵ４１によって書き込まれる。また、当該基準濃度レジスタ３０４内の基準濃度は、コントローラ４０のキーボード４４（図１）などを介して、変更することが可能である。
【００２９】
比較器３０３から出力される２値情報は、排他的論理和（以下、「Ex-OR」と言う。）素子３０５の一方の入力端子に入力される。Ex-OR素子３０５のもう一方の入力端子には、比較器３０３からの２値情報が、１Dot Delay回路３０６によって１画素分遅延されて入力される。その結果、比較器３０３から異なる状態を示す２値情報が連続して出力されたとき、すなわち、比較器３０３からエッジ画素の２値情報が出力されたときに、Ex-OR素子３０５から「１」（以下、「エッジ信号」と言う。）が出力されることとなる。したがって、Ex-OR素子３０５の出力を監視することによって、比較器３０３から出力される２値情報に対応する画素がエッジ画素か否かの判定を行うことができる。
【００３０】
さらに、比較器３０３から出力される２値情報は、そのまま、桁連結回路３０７を介して、エッジ位置・エッジ個数抽出回路３０８に入力され、Ex-OR素子３０５の出力結果は、スイッチ素子３０９を介して（当該スイッチ素子３０９がオンの間）、エッジ位置・エッジ個数抽出回路３０８に入力される。
また、前記クロック発生器から出力されるクロックパルスの数をカウントするドットカウンタ３１０が設けられている。ドットカウンタ３１０は、ＣＰＵ４１から走査信号が出力されると、ＣＣＤセンサ３３から画像データを出力するための前記クロック信号のパルス数を１から２０４８までカウントする。したがって、当該ドットカウンタ３１０のカウント値が、比較器３０３から出力される２値情報に対応する画素の画素番号となる。ドットカウンタ３１０のカウント値は、比較器３１１と前記桁連結器３０７に入力される。
【００３１】
比較器３１１は、入力されるカウント値（画素番号）と、ゲート開始レジスタ３１２に格納されているゲート開始番号（GateStr）およびゲート終了レジスタ３１３に格納されているゲート終了番号（GateEnd）とを比較し、入力カウント値（画素番号）が、ゲート開始番号からゲート終了番号までの範囲にある間、前記スイッチ素子３０９をオンし、それ以外の間は、スイッチ素子３０９をオフする。
【００３２】
桁連結器３０７は、ドットカウンタ３１０から入力されるカウント値（画素番号）と比較器３０３から入力される２値情報とを対応付けて、エッジ位置・エッジ個数抽出回路３０８に出力する。
エッジ位置・エッジ個数抽出回路３０８は、Ex-OR素子３０５から前記エッジ信号が出力されたときにドットカウンタ３１０から出力されるカウント値（画素番号）と、比較器３０３から出力される２値情報とをエッジ情報記憶ＲＡＭ３１４に書き込む。
【００３３】
図６（ａ）は、エッジ情報記憶ＲＡＭ３１４を示す図である。エッジ情報記憶ＲＡＭ３１４は、０〜６３のアドレスで識別される６４個の記憶領域を有しており、この内、０番の記憶領域はエッジ個数の記憶に、１〜６３番の記憶領域は画素番号（エッジ位置）と２値情報の記憶に用いられる。同図（ｂ）は、一つの記憶領域を示す。当該記憶領域は、３２ビットの記憶容量を有するが、本実施の形態では、下位１６ビットが使用される。下位１６ビットの最上位ビット、すなわち、最下位から第１６番目のビットＢ15に前記２値情報が記憶され、最下位から第１５番目までのビット列Ｂ0〜Ｂ14に画素番号が記憶される。なお、アドレス０番も同様な記憶領域であるが、前記したように、エッジの個数が記憶されるだけである。
【００３４】
エッジ位置・エッジ個数抽出回路３０８は、桁連結器を介して入力される画素番号と２値情報の内、上述したように、エッジ画素の画素番号と２値情報のみをアドレス１番の記憶領域から順に書き込んでいく。画素番号２０４８が入力されると、すなわち、１走査が終了すると、当該走査におけるエッジの個数をアドレス０番の記憶領域に書き込む。
【００３５】
なお、図５において、点線で囲まれた部分（以下、「ＲＡＭブロック」と言う。）は、本図に示す他５個、合計６個設けられており、ゲート別に使い分けられるが、本実施の形態では、ゲートは２つしか設定しないので、実際に使用するＲＡＭブロックは２個だけである。また、ゲート１に用いるＲＡＭブロックをＲＡＭブロック１、ゲート２に用いるＲＡＭブロックをＲＡＭブロック２とする。
【００３６】
以上のようにして、ＣＣＤセンサ３３の1回の走査において、各ゲート内で検出されたエッジ位置と2値情報およびエッジ個数が、各ゲート毎に割り当てられたＲＡＭブロックのエッジ情報記憶ＲＡＭ３１４に記憶されることとなる。
コントローラ４０のＣＰＵ４１は、ドットカウンタ３１０のカウント値から１走査が終了したのを検知すると、各エッジ情報記憶ＲＡＭ３１４から２値情報とエッジ位置とを読み出す。このとき、先頭番地（０番地）のエッジ個数を参照することによって、何番地まで読み出せばよいのかが分かるので、不必要な読み出し処理を行わなくて済む。その結果、全ての番地から読み出すのと比較して、読み出し時間の短縮が図られる。
【００３７】
ＣＰＵ４１は、２個のダウンカウンタを内蔵し（不図示）、ロータリエンコーダ２３から入力されるパルス信号の個数をカウントしている。１つは、ターンテーブルの回転を１回転以上連続して検出するもので、初期値が２１４７４８３６４７であり、ターンテーブルを毎分９回転させても、約３８時間（２１４７４８３６４７÷２０４８÷５０÷９÷６０）、桁あふれすることはないもので、ねじ検査時の搬送方向と交叉する方向の部品寸法を測定するのに使用する。これを第１ダウンカウンタとする。
【００３８】
もう一つは、主に、ターンテーブル２１を１００ブロックに分割するために使用するもので、一回転分カウント値−１（１０２３９９）を初期値としている。これを第２ダウンカウンタとする。
ＣＰＵ４１は、ロータリエンコーダ２３からパルス信号が入力される毎にＣＣＤセンサ３３に走査信号を出力し、得られたエッジ情報と第１ダウンカウンタのカウント値とから、以下のようにして、前記ねじ各部の寸法を割り出す。
▲１▼  頭径
ゲート２で、エッジ０個の状態（ねじがＣＣＤセンサ３３の検出位置にかかっていない状態）から一つでもエッジが検出されると（ＣＣＤセンサ３３が、ねじ頭部の搬送方向先端部を捉えると）、そのときの第１ダウンカウンタのカウント値ＨｓをＲＡＭ４３に記憶する。その後、再びエッジが０個になったとき（ねじ頭部の搬送方向後端部が、ＣＣＤセンサ３３の検出位置を通過した瞬間）の第１ダウンカウンタのカウント値ＨｅとＲＡＭ４３に記憶した前記カウント値Ｈｓとの差から頭径を割り出す。
▲２▼  ねじ外径
ゲート１で、エッジ０個の状態（ねじの完全ねじ部がＣＣＤセンサ３３の検出位置にかかっていない状態）から初めて2個以上エッジが検出されると（ＣＣＤセンサ３３が、搬送方向前方のねじ山頂部を捉えると）、そのときの第１ダウンカウンタのカウント値ＤｓをＲＡＭ４３に記憶する。その後、再びエッジが０個になったとき（搬送方向後方のねじ山頂部がＣＣＤセンサ３３の検出位置を通過した瞬間）の第１ダウンカウンタのカウント値ＤｅとＲＡＭ４３に記憶した前記カウント値Ｄｓとの差からねじ外径を割り出す。なお、１個ではなく、2個以上のエッジが検出されたことをもって、ＣＣＤセンサ３３がねじ山頂部を捉えたと判断するのは、誤検出を防止するためである。
▲３▼  ねじ谷径
ゲート１で、エッジ０個の状態（ねじの完全ねじ部がＣＣＤセンサ３３の検出位置にかかっていない状態）から、初めて２個以上のエッジが検出され（ＣＣＤセンサ３３が、搬送方向前方のねじ山頂部を捉え）、次に、エッジが１個になったとき（搬送方向前方のねじ谷底部がＣＣＤセンサ３３の検出位置を通過した瞬間）の第１ダウンカウンタのカウント値ｄｓをＲＡＭ４３に記憶する。その後、再び、２個以上のエッジが検出されると（ＣＣＤセンサ３３が、搬送方向後方のねじ谷底部を捉えると）、そのときの第１ダウンカウンタのカウント値ｄｅとＲＡＭ４３に記憶した前記カウント値ｄｓとの差からねじ谷径を割り出す。
▲４▼  頭厚
上記カウント値Ｈｓと上記カウント値Ｄｓとから、ねじ頭部の搬送方向先端部と搬送方向前方のねじ山頂部との間の中間地点を算出し、当該中間地点においてゲート２で検出したエッジ位置（画素番号）とターンテーブル２１のねじ搬送面２１ｂの位置（TableData[m]）との差から頭厚を割り出す。すなわち、頭厚を求めるに際しては、ゲート２における、ねじ頭部の搬送方向先端部から搬送方向前方のねじ山頂部に至る間の走査分を、全てＲＡＭ４３に格納しておき（エッジ位置と第１ダウンカウンタのカウント値とを対応付けて格納しておき）、その内の前記中間地点のデータが用いられる。
▲５▼  全長、首下長さ
ゲート２において検出されたエッジ位置の内、最も高いエッジ位置（一番若い画素番号）とねじ搬送面２１ｂの位置（TableData[m]）との差から、全長を割り出す。
【００３９】
また、首下長さは、割り出された全長から上記頭厚を差し引いて求める。
続いて、測定基準画素（TableData[m]）について説明する。
上述したように、ねじの測定箇所の内、頭厚や全長などのねじ軸心方向の寸法は、ターンテーブル２１の搬送面２１ｂを基準位置とし、そこからの高さとして測定される。具体的には、測定基準画素からエッジ画素までの高さとして測定される。
【００４０】
しかしながら、ターンテーブル２１の加工精度などに起因して、回転に伴って、ターンテーブル２１のねじ搬送面２１ｂの位置が上下方向に周期的に変動してしまう。したがって、測定基準画素を固定してしまったのでは、測定誤差が生じてしまう。
また、測定基準画素はゲート設定の基準位置にもなっている（特に前記式（４））。本例のねじの場合はともかく、テーブル搬送面２１ｂから僅かな高さしかないような測定箇所を有する部品の場合には、ゲート終了位置（画素）を、テーブル搬送面２１ｂすれすれに設定する必要がある。しかし、この場合、上記した搬送面２１ｂの上下変動によって、測定箇所が捉えられなかったり、ゲートがターンテーブル２１（搬送リング２１ａ）に被ってしまったりして、測定誤差が生じるばかりでなく、そもそも測定自体ができなくなってしまうおそれがある。
【００４１】
そこで、図７に示すように、ターンテーブル２１の搬送面２１ｂを回転軸を中心に等角度で１００の領域に分割して、予め各領域の搬送面２１ｂの高さ（上下方向の位置）を測定し、各領域ごとに測定基準画素を設定することとしている。以下、１００分割した各領域をブロックと言う。なお、各ブロックの測定基準画素の画素番号は、ＲＡＭ４３に設けられた基準画素テーブル４３０に格納される。図８は、基準画素テーブル４３０を示す。本図に示すように、ブロック番号ｍ（ｍ＝０〜９９）と測定基準画素の画素番号TableData[m]とが対応付けて格納されるようになっている。
【００４２】
図９は、ＣＰＵ４１による、測定基準画素テーブル４３０の決定処理を示すフローチャートである。なお、本フローチャートをその内容とするプログラムは、「測定基準画素決定」や「ねじ検査」などを項目とするメニュー画面がコントローラ４０の表示部に表示され、「測定基準画素決定」が選択されると起動される。その際、コントローラ４０のＣＰＵ４１は、搬送モータ５１を起動してターンテーブル２１を回転させ、前記エッジ抽出回路３００を動作可能な状態にする。
【００４３】
また、当該決定処理においては、ＲＡＭブロック１を用い、ゲートをターンテーブル２１の搬送面２１ｂの高さ（上下方向の位置）が検出できる適当な範囲に設定する。すなわち、ゲート終了番号をターンテーブル２１の搬送面２１ｂよりも十分低い位置にある画素の番号とし、ゲート開始番号をターンテーブル２１の搬送面２１ｂよりも十分高い位置にある画素の番号とするのである。
【００４４】
なお、本プログラムを起動する場合には（メニュー画面で「測定基準画素決定」項目を選択する場合には）、ターンテーブル２１の搬送面から、被検査対象であるねじを取り除いておく必要がある。
先ず、初期設定として基準画素テーブル４３０の全ての画素番号格納領域にゲート開始番号を格納する（ステップＳ１）。
【００４５】
ロータリエンコーダ２３からパルス信号が入力されて、第２ダウンカウンタのカウント値が１つ減少した時、その値を１ブロック分あたり検出されるパルス数１０２４で除算すれば、その商（少数点以下切り捨て）はブロック番号（変数「ｍ」）となっている（ステップＳ３）。そして、ＣＣＤセンサに走査信号を出力して（ステップＳ４）、走査が終了すると（ステップＳ５でＹｅｓ）、ＲＡＭブロック１のエッジ情報記憶ＲＡＭ３１４からエッジ情報を読みとる（ステップＳ６）。
【００４６】
読み取った結果、エッジが存在し（ステップＳ７でＹｅｓ）、２値情報から、最初のエッジ画素（エッジ情報記憶ＲＡＭ３１４のアドレス１番に格納されているもの）が黒画素であると判定した場合（ステップＳ８でＹｅｓ）には、当該黒画素の画素番号が、変数「ｍ」で特定される基準画素テーブル４３０の画素番号（TableData[m]）よりも大きいか否か、すなわち、そのとき走査したエッジ画素が基準画素テーブル４３０に格納されている画素番号の画素よりも低い位置の画素か否かを判定し（ステップS９）、低ければ、そのとき走査したエッジ画素の画素番号を、基準画素テーブル４３０に上書きし（ステップS１０）、そうでなければ（ステップS９でＮｏ）、そのとき走査したエッジ画素を無視して、ステップS２へリターンする。
【００４７】
なお、当該測定基準画素の決定処理の間、１回の走査においては、必ずエッジ画素が１個（１個のみ）検出され、そのエッジ画素は黒画素（2値情報が「１」）のはずであるので、上記ステップS７でエッジの有無を、ステップS８でエッジ画素の種類を確認しているのは、それぞれのステップでＮｏと判定された場合には、その走査は何らかの原因による誤走査であるとみなし、これを無視するためである。
【００４８】
以上、ステップＳ２〜ステップＳ１０をターンテーブルが１回転するまで（ステップＳ１１でＹｅｓ）繰り返す。
その結果、基準画素テーブル４３０には、各ブロック毎に、そのブロック内において検出されたエッジ画素の内、一番低い位置のエッジ画素の画素番号が格納されることとなり、当該画素番号がそのブロックにおけるTableData（測定基準画素の画素番号）となる。
【００４９】
ここで、一番低い位置エッジ画素を測定基準画素とするのは、ターンテーブル２１のねじ搬送面２１ｂに微少なごみ等が付着していた場合に、その影響を取り除くためである。すなわち、検出された複数のエッジ位置から平均のエッジ位置を求め、当該平均位置に対応する画素を測定基準画素とすることも考えられるが、そうすると、当該ブロック内にごみが付着していた場合には、当該ごみの高さが前記平均値に影響をおよぼしてしまい、ねじ搬送面の正確な位置（高さ）が得られなくなってしまうからである。一方、１００分割した内の一つのブロック内でのねじ搬送面の上下の変動量は僅かであり、ねじの寸法測定に悪影響を及ぼすものではないので、１点の検出値（測定値）をもって、そのブロックでのねじ搬送面の高さの代表値としても差し支えないからである。
【００５０】
また、電源ＯＦＦでテーブルの位置がわからなくなるので、基準画素テーブル４３０作成処理は、電源をＯＮした後、次の「ねじ検査」の前に、必ず１回は行う必要がある。
図１０は、主に、ねじ検査の際に起動されるプログラムのフローチャートを示す。当該プログラムは、コントローラ４０の表示部に表示されたメニュー画面において、「ねじ検査」の項目が選択されると起動される。その際、コントローラ４０のＣＰＵ４１は、搬送モータ５１を起動してターンテーブル２１を回転させ、前記エッジ抽出回路３００を動作可能な状態にする。なお、第１および第２のパーツフィーダ１１、１２は、個別に設けられたスイッチ（不図示）が作業者によってオンされると起動される。
【００５１】
本フローチャートにおいて、ロータリエンコーダ２３からパルス信号が入力されて、第２ダウンカウンタのカウント値が１つ減少した時、その値を１ブロック分あたり検出されるパルス数１０２４で除算すれば、その商はブロック番号となっている（ステップＳ２２）。そして、基準画素テーブル４３０からそのブロック番号に対応した測定基準画素の画素番号（寸法の割り出しに用いる基準画素の画素番号）を取り出し（ステップＳ２３）、前記（１）〜（４）式によって、ゲート開始番号とゲート終了番号とを算出して、各ＲＡＭブロック１，２内のゲート開始レジスタとゲート終了レジスタの更新を行う（ステップＳ２４）。
【００５２】
そして、ＣＣＤセンサに走査信号を出力して（ステップＳ２５）、走査が終了すると（ステップＳ２６でＹｅｓ）、ＲＡＭブロック１のエッジ情報記憶ＲＡＭ３１４からエッジ情報を読み取る（ステップＳ２７）。
そして、前記▲１▼〜▲５▼で説明したように、検出エッジ個数などのねじの検出状態に応じた、各寸法の割り出しに必要な処理を行って（ステップＳ２８）、ステップＳ２１にリターンする。
【００５３】
なお、ねじが２つのブロックにまたがったかたちで載置された場合には、当該ねじに限り、測定基準画素を切り替えないようにしてもよい。すなわち、ゲート２でねじ頭部の搬送方向先端部が捉えられてから、ねじ頭部の搬送方向後端部がＣＣＤセンサに検出位置を通過するまでの間にブロックの境界が来た場合には、ねじ頭部の搬送方向後端部がＣＣＤセンサに検出位置を通過するまでは、ねじ搬送方向前方のブロックの測定基準画素のままとし、ねじ頭部の搬送方向後端部がＣＣＤセンサに検出位置を通過したときに、測定基準画素を切り替えるのである。
【００５４】
以上説明したように、本実施の形態によれば、ＣＣＤセンサにおいて、ターンテーブルの搬送面からの距離として把握されるねじの軸心方向の寸法の測定基準となる画素が、ＣＣＤセンサの検出位置における搬送面の上下変位に応じて切り替えられるので、精度のよい測定結果が得られることとなる。
以上、本発明を実施の形態に基づいて説明してきたが、本発明は上記実施の形態に限らないことはもちろんであり、例えば、以下のような形態とすることもできる。
（１）上記実施の形態では、ターンテーブルを１００のブロックに等分割したが、分割数は１００に限らず、任意である。分割数は、ターンテーブルの単位走行距離当たりの搬送面の上下変動の度合い、および、被検査対象であるねじの大きさや要求される測定精度を考慮して決定されるものである。
【００５５】
すなわち、単位走行距離当たりの上下変動の度合いが大きいほど、ねじが小さいほど、あるいは、厳しい測定精度が要求されるほど、細かく分割し、分割数を多くするのである。
また、等分割ではなく不等分割としてもよい。例えば、搬送面の上下変位の激しい領域は細かく、緩やかな領域は大きく分割するのである。
（２）上記実施の形態では、被検査対象（被測定対象）にねじを例にとって説明したが、被測定対象はねじに限られないことはもちろんであり、本発明は、他の物品（部品）の測定に適用できることは言うまでもない。
（３）上記実施の形態では、被測定対象を搬送する無端搬送体として、ターンテーブルを用いたが、無端搬送体はターンテーブルに限らず、例えばベルトコンベアのコンベアベルトでもよい。
（４）上記実施の形態では、全長、頭厚、首下長さ、頭径、ねじ外径および谷径の全部を測定することとしたが、測定箇所は任意に選択できることは、言うまでもなく、同様の手法により測定可能な箇所については、追加することも可能である。
【００５６】
【発明の効果】
以上説明したように、本発明に係る部品寸法測定装置によれば、無端搬送体の搬送部位で支持された部品の、搬送方向と交叉する方向の部品寸法を測定する部品測定装置において、搬送方向と交叉する方向に周期的に変位する搬送部位の位置に応じて、部品寸法の測定基準となるイメージセンサの画素が選択され、当該イメージセンサにおいて、部品の一点を検出した検出画素と、当該検出が行なわれた際に選択されている基準画素とから前記部品寸法が割り出されるので、精度の良い測定結果を得ることが可能となる。
【図面の簡単な説明】
【図１】ねじの寸法測定箇所を示す図である。
【図２】ねじ検査装置の概略構成を示す図である。
【図３】ＣＣＤセンサにおける走査結果の一例を示す模式図である。
【図４】ＣＣＤセンサにおけるゲート位置を説明するための図である。
【図５】ねじ検査装置の制御ブロック図である。
【図６】エッジ情報記憶ＲＡＭを示す図である。
【図７】ターンテーブルの分割領域を説明するための図である。
【図８】基準画素テーブルを示す図である。
【図９】測定基準画素の決定処理を示すフローチャートである。
【図１０】ねじ検査の際に起動されるプログラムのフローチャートを示す図である。
【図１１】従来技術に係るねじ検査装置を示す図である。
【符号の説明】
１    ねじ検査装置
２１    ターンテーブル
２１ｂ  搬送面
２３    ロータリエンコーダ
３０    検出部
３３    ＣＣＤセンサ
４１    ＣＰＵ
４２    ＲＯＭ
４３    ＲＡＭ
３００    エッジ抽出回路
３１１    比較器
４３０    基準画素テーブル
【図１】
0003822789.tif 000002
【図２】
0003822789.tif 000003
【図３】
0003822789.tif 000004
【図４】
0003822789.tif 000005
【図５】
0003822789.tif 000006
【図６】
0003822789.tif 000007
【図７】
0003822789.tif 000008
【図８】
0003822789.tif 000009
【図９】
0003822789.tif 000010
【図１０】
0003822789.tif 000011
【図１１】
0003822789.tif 000012