(57)【要約】【課題】測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることを可能とする端末位置検出装置、プログラム、記録媒体、及び方法を提供する。【解決手段】演算部は、一方の端末検出範囲限界位置Ｌ1での複数の測定点の座標値群から断面円形の形状を近似し断面円形の中心位置Ｏ´を演算すると共に、コイル径方向上での複数の測定点から端末を演算して仮の端末位置ｅとし、端末の変形の影響を避けるために仮の端末位置ｅから設定オフセット離れた位置ｆで検出した複数の測定点の座標値群から断面円形の形状を近似して断面円形の中心位置Ｏを演算することに基づき端末位置を求めることを特徴とする。【選択図】図１５
2015203653.tif 000002
【特許請求の範囲】
【請求項１】
断面円形の線材で形成されたコイルばねの端末位置を検出する機能を有する端末位置検出装置であって、
前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外形形状の一側に沿った複数の測定点で検出するレーザー変位センサーと、
前記断面円形の中心位置の演算及び前記複数の測定点の座標値群から端末位置の演算をする演算部とを備え、
前記レーザー変位センサーは、回転方向で検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記複数の測定点の座標値群を検出すると共に、前記端末検出範囲限界位置に存在する断面円形の中心位置高さで回転方向での複数の測定点を検出し、且つ前記端末の変形の影響を避けるために該端末から設定オフセット離れた位置で前記外形形状の一側に沿った複数の測定点の座標値群を検出し、
前記演算部は、前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、前記回転方向での複数の測定点から前記端末を演算して仮の端末位置とし、この仮の端末位置から前記設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求める、
ことを特徴とする端末位置検出装置。
【請求項２】
請求項1記載の端末位置検出装置であって、
前記演算部は、前記各座標値での微分値を求め相互に比較して前記コイル軸方向で前記線材の外形形状の一側に沿った円弧に対応する座標値群の両端点を求め、この両端点間に連続する座標値から前記近似を行う、
ことを特徴とする端末位置検出装置。
【請求項３】
請求項２記載の端末位置検出装置であって、
前記円弧に対応する座標値群は、前記微分値が連続した座標値の連続である、
ことを特徴とする端末位置検出装置。
【請求項４】
請求項２又は３記載の端末位置検出装置であって、
前記演算部は、前記求められた一の端点に対し前記円弧に対応する座標値群の両端点を構成する相手の端点候補が存在しないとき前記一の端点を無視する、
ことを特徴とする端末位置検出装置。
【請求項５】
請求項２〜４の何れか１項記載の端末位置検出装置であって、
前記演算部は、前記円弧に対応する座標値群の両端点を前記微分値の最大値・最小値判定に基づき特定する、
ことを特徴とする端末位置検出装置。
【請求項６】
請求項２〜５の何れか１項記載の端末位置検出装置であって、
前記レーザー変位センサーは、前記コイル軸方向の各円弧での前記座標値を検出し、
前記演算部は、前記各円弧に対応する座標値群を閾値により前記各円弧に対応してグループ化したグループ毎に前記端点を求める、
ことを特徴とする形状測定装置。
【請求項７】
断面円形の線材で形成されたコイルばねの端末位置を検出する機能をコンピュータに実現させる端末位置検出プログラムであって、
前記機能は、前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外径形状の一側に沿う複数の測定点で検出し、前記断面円形の中心位置を演算する演算機能及び前記コイルばねのコイル回転方向で前記線材の外形形状の一側に沿う複数の測定点で検出した座標値群から前記端末位置を演算する演算機能を備え、
前記演算機能は、回転方向での検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、この中心位置高さで回転方向での複数の測定点から前記端末を仮の端末位置として演算し、前記端末の変形の影響を避けるために前記仮の端末位置から設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求める、
ことを特徴とする端末位置検出プログラム。
【請求項８】
断面円形の線材で形成されたコイルばねの端末位置を検出する機能をコンピュータに実現させる端末位置検出プログラムを記録したコンピュータ読み取り可能な端末位置検出プログラム記録媒体であって、
前記機能は、前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外径形状の一側に沿う複数の測定点で検出し、前記断面円形の中心位置を演算する演算機能及び前記コイルばねのコイル回転方向で前記線材の外形形状の一側に沿う複数の測定点で検出した座標値群から前記端末位置を演算する演算機能を備え、
前記演算機能は、回転方向での検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、この中心位置高さで回転方向での複数の測定点から前記端末を仮の端末位置として演算し、前記端末の変形の影響を避けるために前記仮の端末位置から設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求める、
ことを特徴とする端末位置検出プログラム記録媒体。
【請求項９】
断面円形の線材で形成されたコイルばねの端末位置を検出する端末位置検出方法であって、
レーザー変位センサーにより前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外形形状の一側に沿った複数の測定点で検出する検出工程と、
前記断面円形の中心位置の演算及び前記複数の測定点の座標値群から端末位置の演算をする演算工程とを備え、
前記検出工程は、回転方向で検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記複数の測定点の座標値群を検出すると共に、前記端末検出範囲限界位置に存在する断面円形の中心位置高さで回転方向での複数の測定点を検出し、且つ前記端末の変形の影響を避けるために該端末から設定オフセット離れた位置で前記外形形状の一側に沿った複数の測定点の座標値群を検出し、
前記演算工程は、前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、前記回転方向での複数の測定点から前記端末を演算して仮の端末位置とし、この仮の端末位置から前記設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求める、
ことを特徴とする端末位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コイルばねの端末を検出するばね端末検出装置、プログラム、記録媒体、及び方法に関する。
【背景技術】
【０００２】
従来、特許文献１にコイルばね形状測定装置及び形状測定方法が記載されている。この装置及び方法は、コイルばねの軸方向に広がるスリット光をコイルばねの表面に照射するレーザーと、コイルばねをその軸回りに回転させる回転ステージと、コイルばねの表面からの反射光を撮影するＣＭＯＳカメラと、コイルばねをその軸回りに回転させたときに複数の回転角のそれぞれについてＣＭＯＳカメラで撮影される撮影画像からコイルばねの線材の座標値を算出するコンピュータとを備えている。
【０００３】
この形状測定装置によると、コイルばねの撮影画像からコイルばねの位置を特定し、コイルばねの形状測定を行うことができる。そして、測定結果を連結した最初と最後をばね端末とすることができる。
【０００４】
しかし、高い精度で端末位置を得るためには多数の測定が必要となる。また、ばね端末は切断面であり通常変形しているため、円弧・楕円弧として検出しにくく、結果が安定しない。
【０００５】
しかも、この装置及び方法では、ＣＭＯＳカメラで撮影される撮影画像からコイルばねの線材の座標値を算出するため、画像処理や固定治具の反射像の消去等を必要とし、処理が煩雑になるという問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１０１６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、コイルばね等の形状測定によりばね端末計測を行うことはできるが、多数の測定が必要となり測定が煩雑であり、結果も安定せず、しかも画像処理等により処理が煩雑になっていた点である。
【課題を解決するための手段】
【０００８】
本発明の端末位置検出装置は、測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることを可能とするため、断面円形の線材で形成されたコイルばねの端末位置を検出する機能を有する端末位置検出装置であって、前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外形形状の一側に沿った複数の測定点で検出するレーザー変位センサーと、前記断面円形の中心位置の演算及び前記複数の測定点の座標値群から端末位置の演算をする演算部とを備え、前記レーザー変位センサーは、回転方向で検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し端末検出範囲限界位置の一方で前記複数の測定点の座標値群を検出すると共に、測定された断面円形のうち最下端もしくは最上端の中心位置高さで回転方向での複数の測定点を検出し、且つ前記端末の変形の影響を避けるために該端末から設定オフセット離れた位置で前記外形形状の一側に沿った複数の測定点の座標値群を検出し、前記演算部は、前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、前記回転方向での複数の測定点から前記端末を演算して仮の端末位置とし、この仮の端末位置から前記設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求めることを特徴とする。
【０００９】
本発明の端末位置検出プログラムは、断面円形の線材で形成されたコイルばねの端末位置を検出する機能をコンピュータに実現させる端末位置検出プログラムであって、前記機能は、前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外径形状の一側に沿う複数の測定点で検出し、前記断面円形の中心位置を演算する演算機能及び前記コイルばねのコイル回転方向で前記線材の外形形状の一側に沿う複数の測定点で検出した座標値群から前記端末位置を演算する演算機能を備え、前記演算機能は、回転方向での検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記断面円形のうち最下端もしくは最上端の中心位置を演算すると共に、この中心位置高さで回転方向での複数の測定点から前記端末を仮の端末位置として演算し、前記端末の変形の影響を避けるために前記仮の端末位置から設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求めることを特徴とする。
【００１０】
本発明の端末位置検出プログラム記録媒体は、断面円形の線材で形成されたコイルばねの端末位置を検出する機能をコンピュータに実現させる端末位置検出プログラムを記録したコンピュータ読み取り可能な端末位置検出プログラム記録媒体であって、前記機能は、前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外径形状の一側に沿う複数の測定点で検出し、前記断面円形の中心位置を演算する演算機能及び前記コイルばねのコイル回転方向で前記線材の外形形状の一側に沿う複数の測定点で検出した座標値群から前記端末位置を演算する演算機能を備え、前記演算機能は、回転方向での検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し前記端末検出範囲限界位置の一方で前記断面円形のうち最下端もしくは最上端の中心位置を演算すると共に、この中心位置高さで回転方向での複数の測定点から前記端末を仮の端末位置として演算し、前記端末の変形の影響を避けるために前記仮の端末位置から設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求めることを特徴とする。
【００１１】
本発明の端末位置検出方法は、断面円形の線材で形成されたコイルばねの端末位置を検出する端末位置検出方法であって、レーザー変位センサーにより前記コイルばねのコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばねのコイル軸方向及び回転方向で前記線材の外形形状の一側に沿った複数の測定点で検出する検出工程と、前記断面円形の中心位置の演算及び前記複数の測定点の座標値群から端末位置の演算をする演算工程とを備え、前記検出工程は、回転方向で検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばねの端末に対し一方の端末検出範囲限界位置で前記複数の測定点の座標値群を検出すると共に、前記端末検出範囲限界位置に存在する断面円形のうち最下端もしくは最上端の中心位置高さで回転方向での複数の測定点を検出し、且つ前記端末の変形の影響を避けるために該端末から設定オフセット離れた位置で前記外形形状の一側に沿った複数の測定点の座標値群を検出し、前記演算工程は、前記端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、前記回転方向での複数の測定点から前記端末を演算して仮の端末位置とし、この仮の端末位置から前記設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求めることを特徴とする。
【発明の効果】
【００１２】
本発明の端末位置検出装置は、上記構成であるから、端末検出範囲限界位置の一方で断面円形の中心位置を演算すると共に、回転方向での複数の測定点からコイルばねの端末を演算して仮の端末位置とし、この仮の端末位置から設定オフセット離れた位置で断面円形の中心位置を演算することに基づき端末位置を求めることができる。
【００１３】
このため、測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることができる。
【００１４】
本発明の端末検出プログラムは、上記構成であるから、上記機能をコンピュータに実現させ、測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることができる。
【００１５】
本発明の端末検出プログラム記録媒体は、上記構成であるから、上記機能をコンピュータに実現させ、測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることができる。
【００１６】
本発明の端末検出方法は、上記構成であるから、測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることができる。
【図面の簡単な説明】
【００１７】
【図１】形状測定装置の構成概略図である。（実施例１）
【図２】画像データの模式図である。（実施例１）
【図３】レーザー変位センサーの検出データの模式図である。（実施例１）
【図４】コイルばねの一例を示す正面図である。（実施例１）
【図５】隣接円弧の分離処理の概念を示す説明図である。（実施例１）
【図６】座標値群のデータを示す説明図である。（実施例１）
【図７】円回帰を示す説明図である。（実施例１）
【図８】コイルばねの密着巻部の測定例を示す説明図である。（実施例１）
【図９】円弧の始点・終点候補の抽出概念を示す説明図である。（実施例１）
【図１０】円弧の抽出概念を示す説明図である。（実施例１）
【図１１】形状測定における計算処理のフローチャートである。（実施例１）
【図１２】始点候補抽出のサブルーチンである。（実施例１）
【図１３】終点候補抽出のサブルーチンである。（実施例１）
【図１４】円弧候補抽出のサブルーチンである。（実施例１）
【図１５】端末検出範囲をコイルばねと共に示し、（Ａ）は、右巻きのコイルばね、（Ｂ）は、左巻きのコイルばねについての説明図である。（実施例１）
【図１６】右巻きばねの測定結果を示すグラフである。横軸は回転方向、縦軸はコイル径方向での高さを示す。（実施例１）
【図１７】端末位置の検出機能をコンピュータに実現させる端末位置検出プログラムに係るフローチャートである。（実施例１）
【発明を実施するための形態】
【００１８】
測定が簡単で、結果も安定し、画像処理を必要とせず処理を簡単にすることを可能にするという目的を、図１、図１５のように、断面円形の線材で形成されたコイルばね３の端末３ｄ位置を検出する機能を有する端末位置検出装置１であって、前記コイルばね３のコイル径方向の一側からレーザー光を照射し反射する測定点の座標値を前記コイルばね３のコイル軸方向及び回転方向で前記線材の外形形状の一側に沿った複数の測定点で検出するレーザー変位センサー７と、前記複数の測定点の座標値群から前記円形の形状を近似し前記断面円形の中心位置Ｏ´、Ｏの演算及び前記複数の測定点の座標値群から前記端末位置の演算をする演算部１３とを備えている。
【００１９】
前記レーザー変位センサー７は、回転方向で検出範囲として予め設定された上限位置Ｌ１、下限位置Ｌ２間に位置する前記コイルばね３の端末３ｄに対し端末検出範囲限界位置の一方、例えば右巻きばねは上限位置Ｌ１でコイル軸方向に前記複数の測定点の座標値群を検出すると共に、前記上限位置Ｌ１に存在する断面円形のうち最下端の中心位置Ｏ´の高さで回転方向での複数の測定点を検出し、且つ前記端末３ｄの変形の影響を避けるために該端末３ｄから設定オフセット離れた位置ｆでコイル軸方向に前記外形形状の一側に沿った複数の測定点の座標値群を検出する。
【００２０】
前記演算部１３は、前記端末検出範囲限界位置の一方、例えば右巻きばねは上限位置Ｌ１で最下端の前記断面円形の中心位置Ｏ´を演算すると共に、前記回転方向での複数の測定点から前記端末３ｄを演算して仮の端末位置ｅとし、この仮の端末位置ｅから前記設定オフセット離れた位置ｆで前記断面円形の中心位置Ｏを演算することに基づき端末位置Ｏを求める。
【００２１】
かかるレーザー変位センサー７及び演算部１３により実現した。
【実施例１】
【００２２】
［形状測定装置］
図１は、形状測定装置の構成概略図である。
【００２３】
図１のように、本発明実施例１の形状測定装置１は、断面外形形状に円弧を有する対象物として、例えばコイルばね３を形成する線材の断面円形を近似し、その中心位置を検出してコイルばね３のコイル形状測定を行うものである。この形状測定装置１は、後述する端末位置検出方法を実現し、端末位置検出プログラムを実行する端末位置検出装置としても機能する。
【００２４】
この形状測定装置１は、検出を行うコイルばね３を支持固定させる治具５と、レーザー変位センサー７を支持する可動部９と、制御部１１と、演算部１３とを備えている。演算部１３の演算結果は、表示部１５に出力され、演算結果のコイル形状等が表示される。
【００２５】
治具５は、下コーン５ａに固定された中心の芯金５ｂの上部に上コーン５ｃが嵌合され、コイルばね３は上下コーン５ｃ、５ａによって一定の姿勢に支持されている。この治具５は、回転しないステージ１７上に固定されている。
【００２６】
可動部９は、回転テーブル２３及び垂直駆動機構２５を備えている。
【００２７】
回転テーブル２３は、水平に配置され、テーブル回転モータ２７に結合されている。テーブル回転モータ２７は、固定テーブル２１に支持固定されている。
【００２８】
垂直駆動機構２５は、回転テーブル２３の外周部に取り付けられている。この垂直駆動機構２５の昇降部１９に、前記レーザー変位センサー７のレーザー光軸が回転テーブル２３の回転軸芯に向かうように支持され、昇降駆動されるようになっている。
【００２９】
また、回転テーブル２３の回転駆動により垂直駆動機構２５と共にレーザー変位センサー７が治具５（コイルばね３）の回りを旋回移動する。
【００３０】
レーザー変位センサー７は予め設定された時間間隔で測定を行う。測定された値は、制御部１１によって回転テーブル２３及び垂直駆動機構２５の位置情報と同期され、測定点の座標値として、演算部１３へ出力される。
【００３１】
制御部１１は、コンピュータで構成され、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備えている。
【００３２】
前記駆動により、レーザー変位センサー７は、コイルばね３の線材３ａの円形断面形状の一側に沿って垂直方向（図１の上下方向、コイル軸方向）の下方から上方へ直線的に相対移動する。
【００３３】
この相対移動により断面外径形状の一側であるコイル径方向一側から線材３ａの外表面にレーザー光を照射し反射する測定点の座標値を検出する。この座標値は演算部１３に入力される。
【００３４】
断面外形形状の一側に沿った複数の測定点の座標値群は、本実施例においてコイルばね３の線材３ａの円形断面のほぼ半円に対応する。レーザー変位センサー７による検出は、コイル軸方向の移動により、線材３ａの円形断面形状のほぼ半円に対応した座標値群をコイル軸方向で複数群得る。
【００３５】
また、テーブル回転モータ２７の駆動による回転テーブル２３の回転でレーザー変位センサー７がコイルばね３の周りを周回するように移動するから、ほぼ半円に対応した座標値群は、コイルばね３に対する３６０°の範囲でコイルばね３のコイル形状に沿って複数群検出され、演算部１３に入力される。
【００３６】
演算部１３は、コンピュータで構成され、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備えている。この演算部１３は、制御部１１と同一又は別々のコンピュータの何れでも構成することができる。演算部１３には、後述する形状測定プログラム及び端末検出プログラムがインストールされている。
【００３７】
形状測定プログラムは、断面外形形状に円弧を有する対象物の形状を測定する機能をコンピュータに実現させるものであり、端末検出プログラムは、断面円形の線材で形成されたコイルばねの端末位置を検出する機能をコンピュータに実現させるものである。
【００３８】
本実施例の形状測定プログラムは、後述のフローチャートのように、コイルばね３の線材３ａの断面外形である円弧としてほぼ半円を近似し、この半円から円形を近似してその中心位置を求め、コイル形状を演算する。
【００３９】
本実施例の端末検出プログラムは、後述のフローチャートのように、回転方向での検出範囲として予め設定された一対の端末検出範囲限界位置間に位置する前記コイルばね３の端末３ｄに対し端末検出範囲限界位置の一方で前記断面円形の中心位置を演算すると共に、このうち最下端もしくは最上端の中心位置高さで回転方向での複数の測定点から前記端末を仮の端末位置として演算し、前記端末の変形の影響を避けるために前記仮の端末位置から設定オフセット離れた位置で前記断面円形の中心位置を演算することに基づき端末位置を求める。詳細については、後述する。
【００４０】
また、端末検出プログラムにおいても、コイルばね３の線材の断面中心位置を検出する手法は、本実施例の形状測定プログラムを利用するため、これを参照する。但し、端末検出プログラムにおいて、他の手法でコイルばね３の線材の断面中心位置を検出し、端末検出に利用することも可能である。
【００４１】
なお、形状測定プログラムは、これを記録した形状測定プログラム記録媒体を用い、端末検出プログラムは、これを記録した端末検出プログラム記録媒体を用い、コンピュータで構成された演算部１３に読み取らせることで、前記機能を実現することもできる。
【００４２】
演算部１３は、複数の測定点の座標値群から後述のようにコイルばね３の線材３ａの円形の断面形状を近似する。この断面形状から断面中心位置を演算する。断面中心位置は、線材３ａのコイル形状全体に沿って演算する。この演算が座標値群毎に複数群で行われ、線材３ａに沿ったコイル形状が演算される。
【００４３】
表示部１５は、演算部１３の演算結果により、コイルばねの高さ、コイル巻数、及びコイル中心半径の関係が視覚的に出力表示され、或いはコイルばねの形状が断面中心の連続として視覚的に出力表示される。これらの結果を印刷出力する構成としても良い。
【００４４】
したがって、制御部１１の制御で回転テーブル２３の回転及び垂直駆動機構２５の駆動と共にレーザー変位センサー７を駆動させ、レーザーの照射によりコイルばね３の線材３ａの断面の一側に沿って断面外径形状に応じた複数の測定点のデータを取得する。
【００４５】
かかるデータから演算部１３により線材３ａの特定の断面におけるほぼ半円に対応した座標値群を検出する。この座標値群は、線材３ａのコイル形状に沿って複数群検出される。各座標値群において、後述のように円形の断面形状を近似し、線材３ａの円形断面の中心位置をコイル形状に沿って連続的に検出することができる。
［検出の特徴］
本実施例１のコイルばねの形状測定等に供する形状測定装置、プログラム、記録媒体、及び方法は、特許文献１のようにＣＭＯＳカメラで撮影される撮影画像をデータとするのではなく、レーザー変位センサーの検出データを用いている。
【００４６】
図２は、画像データの模式図、図３は、レーザー変位センサーの検出データの模式図である。
【００４７】
特許文献1での入力データは、図２のように反射光を撮影した画像データである。 この画像データでは、測定点が方眼状のピクセル単位であり、全ての格子が輝度で埋まっているので点の連続、不連続が明瞭で円弧の端点の検出が容易である反面、以下のような問題がある。
【００４８】
すなわち、一般的な光学系のカメラにより対象物の３次元座標を測定する場合、カメラ光学系の像距離、撮像面とレンズ光軸の交点位置、レーザー光源の光学系とカメラ光学系の正確な位置関係、レンズの歪曲収差をはじめとした歪量等の正確な値が必要である。
【００４９】
これらの値は全て直接的な測定は困難であるため、通常、一定ピッチのドット等が印字されたキャリブレーションボードを様々な距離、角度で撮影し、その像から計算により求めることとなる。このキャリブレーションが正確に行われなければ、正しい測定結果が得られない。
【００５０】
一般的にキャリブレーションボードの撮影の距離、角度は、作業者がランダムに決めることが多く、再現性に乏しく、適切にキャリブレーションすることが難しい。また、正確にキャリブレーションが行われたかを確認することも難しい。
【００５１】
さらに、全体を一度に撮影するため、一点ずつ測定を行うレーザー変位センサーと比較すると一般的に分解能が劣る。
【００５２】
一方、実施例１では、図３のようにレーザー変位センサーの検出データにて測定点を取るので分解能は高いが、得られる点は座標の分解能に対して離散的となるため、連続、不連続の明確な概念が無く、連続性の判断と端点自体の検出は必要となる反面、以下のような利点がある。
【００５３】
すなわち、レーザー変位センサー７による処理は、軸線上にレーザーを照射し撮影する画像処理ではなく 、スポット状のレーザーを利用 した変位計による測定であり、カメラのキヤリブレーシヨン等によらず、安定してより高い精度が期待できる。
【００５４】
また、実施例１の装置では測定がスポット状であるため、コイルばね３の軸方向だけでなく、回転方向に対しての測定も可能であり、後述のように高精度なばね端末の検出が可能となる。
【００５５】
図４は、コイルばねの一例を示す正面図である。コイルばね３は、両端に密着巻部３ｂ、３ｃを有し、この密着巻部３ｂ、３ｃの分離、抽出をも行う。
【００５６】
実施例１では、円弧の接線の傾きを利用して端点の検出と分離とを同時に行っている。座標が近く連続的でも端点として検出することができる。
【００５７】
図５は、隣接円弧の分離処理の概念を示す説明図である。
【００５８】
隣接円弧の分離処理に関し、特許文献1では、図５のように輪郭線の端点Ａ、Ｂと各点Ｐを結んだ角度によりｃｏｓ∠ＰＡＢ、ｃｏｓ∠ＰＢＡを使用している。一方、実施例１では、点Ｐでの接線の傾きを使用している。なお、Ｒはコイル径方向、Ｚはコイル高さ方向を示す。
【００５９】
このため、特許文献１では、円弧分離に関し、予め円弧の両端点Ａ、Ｂが得られている必要がある。また、処理するデータに線材を表す円弧以外のものを含まないことを前提とする。
【００６０】
したがって、特許文献１では、無関係の治具を示す部分を取り除くために治具の形状寸法をあらかじめ入力する必要がある。
【００６１】
これに対し実施例1では、点Ａ、Ｂが不明でも、点Ｐ近傍の点だけで求められる曲線の微分値、つまり接線の傾きを使用する。一連の傾きの最大値・最小値を見るので、治具のように直線形状で傾きが変化しないものが混ざっていてもそのまま処理が可能である。このため治具の形状寸法の入力は不要であり、複数の治具を使う場合でも段取り替えが不要となる。
［計算処理概要］
（概要）
図６は、座標値群のデータを示す説明図である。図６の横軸はコイル中心からの半径ｒ／ｍｍ、縦軸は垂直方向のコイル高さｚ／ｍｍである。
【００６２】
前記のようにして測定されたデータは、ある回転座標において、図６のように、ばね外周部の線材表面の半径方向の変位と高さとを含んだ点群となっている。図６では、見易くするために点を間引いて図示している。得られたデータは、線材部以外の治具部等のデータを多く含み、これらはデータとして区別されていない。各円弧部がばね線材表面を表しており、斜線部は、ばねを設置している上下コーン５ｃ、５ａ、垂直線部は、中心の芯金５ｂ（図１）を表している。
【００６３】
各円弧は、ある座標での線材断面の一部を表しており、この円弧の中心を求めることでｒ座標、z 座標が分かり線材断面中心の立体座標が求まる。なお、線材にはピッチがあり水平ではないため斜めに走査されており、厳密には楕円弧状である。勿論、楕円回帰を用いて線材断面中心座標を求めてもよいが、標準的なコイルばねのピッチでは円回帰は十分な近似であり、楕円近似と比較して回帰変数が少ないため、測定のばらつきの影響を受けにくく、より安定した回帰結果が得られ、精度が出やすい。このため実施例１では円近似を使用しているが、ピッチの大きなコイルばねの測定においては楕円近似を用いてもよい。
【００６４】
線材断面の中心座標は、不要なデータを取り除き、点群をそれぞれの円弧部のみを示すものに分離したうえで、円回帰することで求めることができる。この操作をコイル周方向の各θ座標で繰返し、次に各θ座標で得られた線材断面中心を巻数順に並べることで、ばねの各巻数における線材断面中心の立体座標が分かり、ばねの立体形状が得られる。
【００６５】
（前処理）
前記のように測定されたデータは、
・サンプリングが垂直座標に対して必ずしも等間隔ではない。
【００６６】
・サンプリングが同一垂直座標について行われる可能性があり重複が発生することがある。
【００６７】
・特に始点、終点においてサーボのオーバーシュート、ハンチングなどのため、垂直座標に対して必ずしも単調増加とは限らない。
といった特徴を持つ。
【００６８】
このため、そのままでは処理が行いにくいため、得られたデータについて以下を満たすように前処理を行う。
【００６９】
・垂直座標の重複がない。
【００７０】
・垂直座標に対して単調増加。
【００７１】
・線材位置中での異常点を含まない。
【００７２】
前処理の手順は以下のとおりである。
【００７３】
１. 異常値を取り除く。
【００７４】
２. 垂直座標についてデータのソートを行う。
【００７５】
３. 同一位置で変位データが複数存在する場合は平均値、最頻値、あるいは時間的に最初・最後等の代表値をその位置での変位とする。
【００７６】
（線材部分の抽出）
密着巻部の密着巻きの連続した円弧を分離するため、グラフの傾きに注目する。線材の外側の変位を計測するため、線材部では半円弧状に測定点が並ぶ。したがって、線材部での変位は最初に最大の増加方向の勾配があり、傾きは単調に減少し徐々に緩やかになる。頂点で０となり、その後減少に転じ最後に最大の減少方向の勾配となる。したがって、一連の傾きの変化の中で最大値が円弧の始点、最小値が同終点となる。
【００７７】
次に数値微分により測定点の傾きを求める。得られたデータは線材表面の荒れやノイズのために滑らかではないため、そのまま隣接点で数値微分をすると大きな乱れが生じる。滑らかな微分値を得るために事前に測定点の平滑化を行う。平滑化は例えば移動平均、関数の畳み込み等を用いる。なお、平滑化した値は数値微分にのみ利用し、後述の円回帰には利用しない。
【００７８】
次にこの微分値を利用して円弧部の始点の候補点を求める。円弧は始点で最も微分値が大きく、頂点まではグラフ縦軸方向に値が増加するため微分値が正であり、頂点で微分値が０となり、終点までは減少するため微分値が負であり終点で微分値が最も小さくなる。
【００７９】
連続した最大閾値以下の正の微分値の点群の中で、最大の微分値を持ち最小閾値以上である点を始点の候補点とする。頂点付近の微分値が小さな領域では、ばらつきにより微分値の正負の入れ替わりが生じるため、増減の判定には各点群が重なりを持つように余裕を設けている。
【００８０】
円弧部終点の候補点は、閾値の正負を逆転し同様の操作により行う。連続した最小閾値以上の負の微分値の点群の中で、最小の微分値を持ち最大閾値以下である点を終点の候補点とする。
【００８１】
始点候補、終点候補の中で隣り合う始点候補から終点候補までの点群を円弧候補とする。円弧候補点群の始点から終点までの垂直座標の差は大よそ弦の長さにあたり、これが既知の線径から期待される閾値以内にないときはこの候補を除外する。
（円回帰）
図７は、円回帰を示す説明図である。図７の横軸はコイル中心からの半径ｒ／ｍｍ、縦軸は垂直方向のコイル高さｚ／ｍｍである。
【００８２】
前項で得られた円弧を構成する点群から、円に回帰させ、中心座標を求める。実施例１では、最小二乗法による円回帰を用いている。円に回帰させることは中心座標と半径を求めることと同値である。
【００８３】
さらに、実施例１では、回帰結果に対する回帰誤差が閾値以上となる場合は円弧ではないとして除外することとしている。
【００８４】
実際の測定データを処理したものを図７に示す。太めのデータが円弧として抽出された点の連続（点群）であり、細めの円が点群から回帰された円を表している。正しく点が抽出され、処理された。
【００８５】
（コイル巻数）
求められた各円は線材の断面に相当する。各円が巻きばね上のどの巻数に対応するのかを求める。ある回転座標で検出された円弧について、回転座標を巻数の基準として、以降垂直座標が小さい順に３６０度ずつ大きな巻数の断面として扱う。左巻きばねでは巻き方向と回転座標が逆であるため、座標を反転させる。
【００８６】
この方法では途中ノイズ等で円弧が検出できないとそれ以降の円弧の巻数が３６０度ずれてしまう。検出できなかったものはデータなしとする。
【００８７】
以上で各巻数における線材中心の円筒座標が求まり、ばね形状が求められたことになる。
【００８８】
（結果）
図８は、コイルばねの密着巻部の測定例を示す説明図である。図８の横軸はコイル中心からの半径ｒ／ｍｍ、縦軸は垂直方向のコイル高さｚ／ｍｍである。図８において、黒点のデータが回帰に使用された点の集まり、細めの円が回帰結果である。
【００８９】
実施例１の傾きを利用したアルゴリズムにより、密着巻部の連続した円弧を正確に分離できた。すなわち、コイルばねに対して、レーザー変位センサーを用いた形状測定装置の適用が可能である。
【００９０】
また、円弧の始点、終点付近はレーザー光軸に対する傾斜が大きく、反射光量が低下し、精度が下がり易い。実施例１のアルゴリズムでは傾斜の大きな端部を効果的に除去することもでき、精度向上が期待できる。
［始点・終点候補の抽出概念］
図９は、円弧の始点・終点候補の抽出概念を示す説明図である。図９において横軸は、垂直方向のコイル高さｚ／ｍｍ、縦軸の左側は、コイル中心からの半径ｒ／ｍｍ、縦軸の右側は、円弧上の各点の傾きを示す微分値（differential）である。
【００９１】
図９において、上段の２個の円弧は、密着巻部の測定点の座標値群ＡＣ１、ＡＣ２、上段の傾斜した直線は、治具５の下コーン５ａでの測定点の座標値群Ｌである。同図、中段の点の集まりは、各測定点の微分値を示す。
【００９２】
実施例１のアルゴリズムでは、微分値がグループ化範囲ＧＲ内で連続した点を一つのグループとしてグループ化する。グループ化範囲の閾値を増減判定閾値から最大閾値、例えば−０．５〜４までに設定し、この閾値内で微分値が連続する点をグループとして認識する。図９では、微分値が連続してグループ化範囲ＧＲの閾値内にあるものがグループ化され、グループＧ１、Ｇ２、Ｇ３、Ｇ４、Ｇ５とされている。
【００９３】
各グループＧ１、Ｇ２、Ｇ３、Ｇ４、Ｇ５内において、最大の微分値をもつ点が円弧ＡＣ１、ＡＣ２の一方の端点である始点の候補（始点候補）ＩＰ１、ＩＰ２として認識される。ただし、グループの最大の微分値が最小閾値、例えば０．８に満たない場合は始点の候補としない。したがって、最小閾値から最大閾値までが端点採用範囲ＰＲとなり、始点候補ＩＰ１、ＩＰ２は、端点採用範囲ＰＲ内で最大値として認識する。
【００９４】
終点の抽出も同様の処理となる。但し、微分値の符号が負になるので、グループ化は負の方向に減少しているものをグループとし、終点候補は、最小値として認識する。
【００９５】
前記最大閾値及び最小閾値に関しては、理想的には抽出したい円弧の最大角度の範囲となるが、実際には
・レーザー変位計が測定可能な最大の傾斜角度に制限があること
・コーンと芯金の段差等の段差による円弧以外の大きな勾配を拾わないこと
・異常値・外れ点等による大きな勾配を拾わないこと
などを考慮して、閾値を選択する。
【００９６】
増減判定閾値に関しては、理想的には増加・減少の境である０となる。
【００９７】
実際には、０とすると円弧中心部付近、コーン・芯金等の直線部は小さなゼロ付近の値でばらつき、そこで小さなグループがたくさん生じるので、処理の安定性の観点から実際の測定値を考慮して、閾値には多少の余裕をもたせている。ゼロであっても小さなグループの値は端点採用範囲に入らないため、問題はない。
【００９８】
微分値は、実施例において２次ラグランジュ（Lagrange）補完による数値微分値を利用している。円弧は２次式で表現されるため採用しているが、どのような数値微分法でも利用できる。
［円弧の抽出概念］
図１０は、円弧の抽出概念を示す説明図である。図１０において横軸は、垂直方向のコイル高さｚ／ｍｍ、縦軸の左側は、コイル中心からの半径ｒ／ｍｍ、縦軸の右側は、円弧上の各点の傾きを示す微分値（differential）である。
【００９９】
図１０において、上段の２個の円弧は、座巻部の測定点の座標値群ＡＣ１、ＡＣ２、上段の傾斜した直線は、治具５の下コーン５ａでの測定点の座標値群Ｌである。同図中段の点の集まりは、各測定点の微分値を示す。
【０１００】
図９での説明のようにして図１０のように始点候補ＩＰ１、ＩＰ２、終点候補ＥＰ１、ＥＰ２が認識される。ＯＰ１、ＯＰ２は隣り合う終点候補が無いため処理から除外される。
【０１０１】
こうして認識された始点候補ＩＰ１、ＩＰ２、終点候補ＥＰ１、ＥＰ２により図１０のように円弧の座標値群ＡＣ１、ＡＣ２の両端点を特定し、両端点間に連続する座標値により円弧の座標値ＡＣ１、ＡＣ２をデータとして抽出する。
［形状測定プログラム及び方法］
（全体処理）
図１１は、形状測定における計算処理のフローチャートである。
【０１０２】
前記演算部１３でのデータの処理が開始されると、図１１の前処理、線材部分の抽出が順次実行され、回帰計算等を経て巻き形状データが出力される。
【０１０３】
ステップＳ１（以下、各ステップをＳにより略称する。）において、図６のような測定点の座標生データが読み込まれる。測定点生データは、前記のようにレーザー変位センサー７により測定された測定点の座標値群である。後述の端末位置検出をおこない、あらかじめ、端末位置が原点となるように座標変換されていてもよい。この処理の結果Ｓ１７に対して座標変換を行ってもよい。
【０１０４】
前処理では、Ｓ１を入力としてＳ２、Ｓ３、Ｓ４のステップで上記した機能が実行される。
【０１０５】
Ｓ２の「異常値の除去」の処理では、異常値が取り除かれる。
【０１０６】
Ｓ３の「垂直座標ソート」の処理では、垂直座標についてデータのソートを行う。
【０１０７】
Ｓ４の「垂直座標重複データの集約」の処理では、同一位置で変位データが複数存在する場合には平均値をその位置での変位とする。
【０１０８】
前処理が終了すると図６に示されるような、Ｓ５の「測定点データ」が出力され、Ｓ５を入力として線材部分の抽出処理に移行する。
【０１０９】
線材部分の抽出では、Ｓ６、Ｓ７、Ｓ８、Ｓ９のステップで上記した機能が実行される。
【０１１０】
Ｓ６の「平滑化」の処理では、上記のように測定点データの平滑化が行われる。
【０１１１】
Ｓ７の「数値微分計算」の処理では、上記のように数値微分により測定点の傾きを求める。
【０１１２】
Ｓ８の「始点・終点候補の抽出」の処理では、上記のように微分値をグループ化して始点候補、終点候補を抽出する。この処理の詳細は、図１２、図１３のサブルーチンにより後述する。
【０１１３】
Ｓ９の「円弧部の抽出」の処理では、Ｓ８で抽出された始点候補と終点候補が一対となるように最近接のもの同士を抽出し、その位置を円弧構成情報として出力する。この処理の詳細は、図１４のサブルーチンにより後述する。
【０１１４】
円弧構成情報の抽出により線材部分の抽出処理が終了し、線材の断面中心位置、コイル形状の演算処理に移行する。
【０１１５】
線材の断面中心位置、コイル形状の演算処理では、Ｓ１０、Ｓ１１、Ｓ１２、Ｓ１３、Ｓ１４、Ｓ１５、Ｓ１６のステップが実行される。
【０１１６】
Ｓ１０では、「円弧構成情報」の処理により、Ｓ９で抽出された円弧構成情報の読み込みが行われる。
【０１１７】
Ｓ１１の「円弧点群抽出」の処理では、Ｓ５で読み込まれた「測定点データ」とＳ１０で読み込まれた「円弧構成情報」とが入力され、測定点データの中から円弧構成情報を利用して各円弧を構成する点群が抽出される。
【０１１８】
Ｓ１２の「円弧構成点群」の処理では、Ｓ１１で抽出された円弧構成点群が読み込まれる。「円弧構成点群」は、各円弧を構成する点群を表す。
【０１１９】
Ｓ１３の「回帰計算」の処理では、Ｓ１２で読み込まれた円弧構成点群での上記円回帰により図７のように回帰された円、つまり中心座標及び半径を得る。
【０１２０】
Ｓ１４の「誤差の大きな円弧除去」の処理では、回帰された円の回帰誤差や公称線材径と比較するなどして誤差が大きければ除去する。
【０１２１】
Ｓ１５の「線断面位置データ」の処理では、Ｓ１４で除去された以外の各円の中心位置及び半径を得て、線断面位置データとする。
【０１２２】
Ｓ１６の「巻数でソート」の処理では、線断面位置データをコイルばね３の巻数に沿って並べる。
【０１２３】
Ｓ１７の「巻き形状データ」の処理では、測定結果となる巻数に沿って並べられた線断面位置データを巻き形状データとして出力する。巻き形状データは、線材の円形断面の中心位置がコイル形状に並んだものとして出力され、例えば表示部１５（図１）に表示される。
【０１２４】
（始点候補抽出処理）
図１２は、始点候補抽出のサブルーチンの実施例であり、Ｓ８の「始点・終点候補の抽出」の始点候補の処理を行う。ここで、サブルーチンへの入力は「微分値配列」にｚ軸座標昇順に並べられた配列として用意されている。「微分値配列長」はこの配列のデータ数を表す。「グループ内」は論理型の変数、「グループ内最大微分値」は実数型の変数、「グループ内最大微分値番号」及び「i」は整数型の変数を示し、処理の為の一時変数である。「：＝」は左辺の変数に右辺の式を評価した値を代入することを示す。
【０１２５】
Ｓ８０１Ａの「グループ内最大微分値：＝０、グループ内：＝フォールス（ｆａｌｓｅ）」の処理では、初期設定を行う。「グループ内」にグループ外であることを示す「ｆａｌｓｅ」を代入し、「グループ内最大微分値」を初期化する。
【０１２６】
Ｓ８０２Ａの「ｉ：＝１」の処理により最初の微分値を特定し、Ｓ８０３に移行する。
【０１２７】
Ｓ８０３Ａの比較処理では、処理するｉ番目の微分値が微分値配列長以下か否かの判断が行われる。ｉ番目の微分値が微分値配列長以下（ｉ＜＝微分値配列長）であればＳ８０４Ａに移行し、同微分値が微分値配列長を上回れば「エルス（ｅｌｓｅ）」としてＳ８１２Ａに移行する。Ｓ８０２Ａ、Ｓ８０３Ａ、Ｓ８１１Ａによりループが形成され、「微分値配列」の全ての値についてＳ８０４Ａ〜Ｓ８１０Ａが反復処理される。
【０１２８】
Ｓ８０４Ａの比較処理では、処理するｉ番目の微分値がグループ化範囲内であるか否かの判断が行われる。ｉ番目の微分値が最大閾値以下（最大閾値＞＝微分値配列（ｉ））且つ増減閾値を上回れば（微分値配列（ｉ）＞増減閾値）グループ化範囲内にあるとしてＳ８０５Ａに移行し、そうでなければ「ｅｌｓｅ」としてＳ８０８Ａに移行する。
【０１２９】
Ｓ８０５Ａの「グループ内：＝トゥルー（ｔｒｕｅ）」の処理では、Ｓ８０４Ａでのグループ化範囲内の条件を満たしたので処理したｉ番目の微分値につきグループ内であることを示す「ｔｒｕｅ」を代入し、Ｓ８０６Ａに移行する。
【０１３０】
Ｓ８０６Ａの比較処理では、ｉ番目の微分値が現在のグループ内でi番目までの最大微分値を上回るか否かの判断が行われる。ｉ番目の微分値が「グループ内最大微分値」を上回ればＳ８０７Ａに移行し、そうでなければＳ８１１Ａに移行する。
【０１３１】
Ｓ８０７Ａの「グループ内最大微分値：＝微分値配列（ｉ）」、グループ内最大微分値番号：＝ｉ」の処理により、処理したｉ番目の微分値をグループ内最大微分値として更新し、記憶する。
【０１３２】
Ｓ８１１Ａの「ｉ：＝ｉ＋１」の処理により次番目の微分値を特定し、Ｓ８０３Ａに移行する。
【０１３３】
Ｓ８０８Ａ〜Ｓ８１０Ａの処理は、ｉ番目の微分値がグループ外であるとされた場合である。
【０１３４】
Ｓ８０８Ａの比較処理では、一つ前の微分値がグループ内でかつグループ内最大微分値が最小閾値を上回るか否かが判断される。一つ前の微分値がグループ内でかつグループ内最大微分値が最小閾値を上回れば（グループ内最大微分値＞最小閾値）、Ｓ８０９Ａに移行し、そうでなければ「ｅｌｓｅ」としてＳ８１０Ａに移行する。
【０１３５】
Ｓ８０９Ａの「グループ内最大微分値番号を始点候補として出力」の処理では、始点候補を出力し、記憶させる。一つ前までの微分値群が一つのグループ、例えば図９のＧ１を成し、グループが決定され、このグループＧ１内での最大の微分値ＯＰ１が最小閾値を超えるため、その位置を示す番号を始点候補として出力し、記憶する。
【０１３６】
Ｓ８１０Ａの「グループ内：＝フォールス（ｆａｌｓｅ）、グループ内最大微分値：＝０」の処理では、「グループ内」に現在の微分値がグループ外であるため「ｆａｌｓｅ」を代入し、次のグループ検出のためにグループ内最大微分値を初期化しＳ８１１Ａに移行する。
【０１３７】
Ｓ８１２Ａ、Ｓ８１３Ａの処理は、最後のグループの処理に関するものである。
【０１３８】
Ｓ８１２Ａの比較処理では、最後の微分値がグループ内でかつグループ内最大微分値が最小閾値を上回れば（グループ内最大微分値＞最小閾値）、Ｓ８１３Ａに移行し、そうでなければ「ｅｌｓｅ」として始点候補抽出処理を終了する。
【０１３９】
Ｓ８１３Ａの「グループ内最大微分値番号を始点候補として出力」の処理では、始点候補を出力し、記憶させる。「微分値配列」の最後の点までの微分値群が一つのグループ、例えば図９のＧ５を成し、グループが決定され、このグループＧ５内での最大微分値が最小閾値を超えるため、その位置を示す番号を始点候補として出力して記憶し、始点候補抽出処理を終了する。
【０１４０】
（終点候補抽出処理）
図１３は、終点候補抽出のサブルーチンの実施例であり、Ｓ８の「始点・終点候補の抽出」の終点候補の処理を行う。
【０１４１】
図１３の各ステップは、図１２の始点候補抽出のサブルーチンに１：１で対応している。図１３では、図１２の各ステップ番号のＡをＢに代えて付し、対応を示した。
【０１４２】
終点候補の抽出では、微分値の符号が正負逆となるため、図１３では閾値に−を付し、図１２において「最大」としているのを図１３では「最小」とし、図１２の不等号の向きに対し図１３では不等号の向きを逆とした。
【０１４３】
したがって、図１３の終点候補抽出のサブルーチンにより図１２と同様にして終点候補を出力することができる。
【０１４４】
（円弧候補抽出処理）
図１４は、円弧候補抽出のサブルーチンの実施例であり、Ｓ９の「円弧部の抽出」の処理を行う。
【０１４５】
Ｓ９０１の「始点番号：＝０」により初期設定を行い、Ｓ９０２に移行する。
【０１４６】
Ｓ９０２の「ｉ：＝１」の処理により最初の微分値を特定し、Ｓ９０３に移行する。
【０１４７】
Ｓ９０３の比較処理では、処理するｉ番目の微分値が微分値配列長以下か否かの判断が行われる。ｉ番目の微分値が微分値配列長以下（ｉ＜＝微分値配列長）であればＳ９０４に移行し、同微分値が微分値配列長を上回れば微分値がなく「ｅｌｓｅ」として円弧候補抽出処理は終了する。Ｓ９０２、Ｓ９０３、Ｓ９１１によりループが形成され、「微分値配列」の位置を示す全てのｉについてＳ９０４〜Ｓ９１０が反復処理される。
【０１４８】
Ｓ９０４の比較処理では、ｉ番目が、記憶されたデータを基に始点候補であるか否かが判断される。ｉ番目が始点候補であればＳ９０５に移行し、始点候補でなければＳ９０６に移行する。
【０１４９】
Ｓ９０５の「始点番号：＝ｉ」の処理により、ｉ番目の微分値を始点候補の番号として記憶し、Ｓ９０６に移行する。
【０１５０】
Ｓ９０６の比較処理では、ｉ番目が、記憶されたデータを基に終点候補であるか否かが判断される。ｉ番目が終点候補であればＳ９０７に移行し、終点候補でなければＳ９１１に移行する。
【０１５１】
Ｓ９０７の「終点番号：＝ｉ」の処理により、ｉ番目の微分値を終点候補の番号として記憶し、Ｓ９０８に移行する。
【０１５２】
Ｓ９０８の比較処理では、始点番号が正、つまり０でない有効な番号であり、始点終点間の弦の長さが閾値内であるときは、対応する最近接の始点候補があるとしてＳ９０９に移行し、そうでないときは「ｅｌｓｅ」としてＳ９１１に移行する。
【０１５３】
Ｓ９０９の「始点番号〜終点番号を円弧候補として出力」の処理により、始点番号と終点番号を一対として、この番号を円弧候補として出力し、記憶する。
【０１５４】
Ｓ９１０の「始点番号：＝０」の処理では、次の円弧候補抽出のために始点番号を初期化し、Ｓ９１１に移行する。
【０１５５】
Ｓ９１１の「ｉ：＝ｉ＋１」の処理により次番目の微分値を特定し、Ｓ９０３に戻り、以下、Ｓ９０３〜Ｓ９１１の処理が繰り返される。
【０１５６】
以上のサブルーチンは一例であり、３回の別ループとして記述したが、まとめて１回のループ内で全てを処理することもできる。
【０１５７】
以上の処理により、図８のように、密着巻部の連続した円弧を正確に分離できる。
【０１５８】
しかも、画像処理を不要とし、処理を簡単且つ確実に行わせることができる。
【０１５９】
また、各座標値の微分値を用いるため、処理の基準として円弧の両端点が既知である必要が無く、処理が簡易であると共に、冶具のような直線形状の座標値群が検出されていてもそのまま処理が可能になる。
［端末位置検出方法］
前記方法による測定においては、得られる線材中心の位置座標のうち回転方向の座標は、上下方向座標、半径方向座標と異なり、上下方向での測定が行われた位置座標だけを取る。したがって、測定対象であるコイルばねのある特定の回転座標位置での値を得るためには、その位置で測定を行う必要があり、そのためコイルばねの回転座標原点と、装置の回転座標原点との位置を合わせておく必要がある。そこで、ばね端末（巻き始め、巻き終わり）位置を基準として、装置と測定対象の回転方向座標を合わせた上で測定を行う。
【０１６０】
簡単にはコーンに突起等を設けて、ばね端末をそれに押しつけることで装置と測定対象の位置を合わせることができる。しかし、線材が細いばねでは、弾性変形が生じやすく、位置合わせにおいて十分な再現性が得られない。また、突起の摩耗、変形などによる誤差も考えられる。
【０１６１】
また、特許文献１のように測定結果を連結した最初と最後を端末とすることもできる。しかし、高い精度で端末位置を得るためには多数の測定が必要となる。また、ばね端末は切断面であり通常変形しているため、円弧・楕円弧として検出しにくく、結果が安定しないことが考えられる。
【０１６２】
実施例１では、安定した高精度な端末位置検出方法として、前述の測定とは異なり、次に述べる回転方向にレーザー変位センサー７を動かして測定を行う方法にて、ばね端末位置の測定を行う。
【０１６３】
実施例１では治具５の下コーン５ａの端末３ｄを基準として使用し、測定を行う。但し、上コーン５ｃの端末を規準として使用することもできる。
【０１６４】
図１５は、端末検出範囲をコイルばねと共に示し、（Ａ）は、右巻きのコイルばね、（Ｂ）は、左巻きのコイルばねについての説明図である。
【０１６５】
図１５（Ａ）、（Ｂ）のように、測定対象のコイルばね３は、予め定められた装置の回転座標範囲内に端末３ｄが入るように設置される。ここで、この範囲を端末検出範囲とし、右巻き方向を回転方向座標正方向とする。なお、左巻き方向を回転方向座標正方向にすることもできる。
【０１６６】
この端末検出範囲の上限位置Ｌ１及び下限位置Ｌ２は、端末検出範囲限界位置となる。
【０１６７】
端末検出範囲の中心には目印のけがき線ｍが付けてあり、端末検出範囲は作業者がこの目印ｍに端末３ｄをおおよそ合わせた際に、確実に端末３ｄが入る範囲として定め、例えば±１０°とする。
【０１６８】
まず、端末３ｄの上下方向座標（高さ）を見積もる。前述のように設置されていれば、右巻きばねでは上限位置Ｌ１を、左巻きばねでは下限位置Ｌ２を下端末付近の線材３ｅが通り、それぞれその反対の位置には、１巻き目付近の線材３ｆが通る。したがって、回転座標位置として右巻きばねでは上限位置Ｌ１、左巻きばねでは下限位置Ｌ２にて、上下方向の測定を行うことで、その最下端の円弧中心として端末３ｄ付近の中心高さを得ることができる。
【０１６９】
図１５（Ａ）の右巻きばねを例にすると、端末３ｄ付近の上限位置Ｌ１での中心高さＯ´を得る。この中心高さＯ´としては、前述の図１１のフローチャートのステップＳ１５のようにして求めた線断面位置データを用いることができる。なお、位置Ｌ１、Ｌ２両方での測定を行い、その最下端の低い方をもって巻き方向を決定することもできる。得られた高さはコイルばね３のピッチの分、端末３ｄの中心高さと異なるため、中心高さＯ´を仮の下端末高さとする。
【０１７０】
次に、端末３ｄの回転方向座標を見積もる。仮の下端末高さ（中心高さＯ´）において下限位置Ｌ２から上限位置Ｌ１に向かって回転方向に測定を行う。回転方向とは、コーン５ａ、５ｃの軸心を中心としたレーザー変位センサー７の旋回方向を意味する。これにより下コーン５ａの径と測定対象のコイルばね３の端末３ｄ近傍の径が測定され、端末３ｄの回転方向座標位置は、右巻きばねでは立ち上がり、左巻きばねでは立ち下りとして測定される。
【０１７１】
図１６は、右巻きばねの測定結果を示すグラフである。横軸は回転方向、縦軸はコイル径方向での高さを示す。
【０１７２】
図１５（Ａ）、図１６のように、右巻きばねでは、下限位置Ｌ２から下コーン５ａの表面Ｓ１が検出され、途中で端末３ｄの立ち上がりＳ２が検出され、続いてコイルばね３の表面Ｓ３が検出される。
【０１７３】
したがって、立ち上がり、立ち下りを検出することで、端末３ｄの回転座標位置を測定できる。測定値を回転方向座標に対して微分することで、立ち上がりは正の値、立ち下りは負の値として検出することができる。微分値の計算は回転方向座標について図１１のフローチャートのステップＳ７まで垂直座標と同様に行うことができる。
【０１７４】
右巻きばねでは上限位置Ｌ１から下限位置Ｌ２へ向けて微分値を評価し最初に検出された正の閾値以上の点を仮の端末位置、左巻きばねでは下限位置Ｌ２から上限位置Ｌ１へ向けて微分値を評価し最初に検出された負の閾値以下の点を仮の端末位置とする。図１５（Ａ）に、右巻きばねの仮の端末位置ｅを示す。閾値は例えば、±１とし、立ち上がり、立ち下りが見つからなければ設置が正しくないとして一旦終了し、設置をやり直し再度測定を行う。
【０１７５】
前述のようにコイルばね３の端末３ｄは変形している可能性があるため、検出された仮の端末位置ｅからわずか、例えば１．５°オフセットされた位置を回転方向座標の基準位置とする。図１５（Ａ）に右巻きばねの基準位置ｆを示す。基準位置ｆを用いて、再び端末高さ（中心高さＯ）の測定から、前述方法での測定操作を繰り返す。
【０１７６】
測定された端末高さＯもしくは、端末の回転座標位置、もしくはその両方が前回の測定結果との差が閾値以下となり同等となったら、その位置を端末位置として採用する。同等でなければ、現在の高さ用いて同様の測定操作を同等となるまで繰り返し収束させる。一定回数以内で収束しない場合は異常として測定を終了する。
【０１７７】
また、同様の操作で上端末位置を測定することができる。
［端末位置検出プログラム］
図１７は、端末位置の検出機能をコンピュータに実現させる端末位置検出プログラムに係るフローチャートである。
【０１７８】
ばね端末検出処理が開始されると、Ｓ１００１の「初期設定」により、上限位置、下限位置、線材径、閾値、上下の測定範囲、右巻き、左巻きの各種初期設定が行われる。コイルばね３は、図１５のように端末検出範囲の中心のけがき線ｍに端末３ｄの回転方向座標の位置合わせが行われている。
【０１７９】
Ｓ１００２では、「右巻きか左巻きか？」の判断処理が行われ、治具５に装着されたコイルばね３に基づく初期設定の読み込みにより右巻きであればＳ１００３に移行し、左巻きであればＳ１００４に移行する。
【０１８０】
以下、右巻きばねとして説明を進める。但し、左巻きばねも同様の処理となる。
【０１８１】
Ｓ１００３では、「端末検出範囲上限へ移動」の処理により、レーザー変位センサー７の回転方向検出位置が上限位置Ｌ１に位置決められる。Ｓ１００４では、「端末検出範囲下限へ移動」の処理により、レーザー変位センサー７の回転方向検出位置が下限位置Ｌ２に位置決められる。
【０１８２】
Ｓ１００５では、「上下方向測定」により、垂直方向に測定が行われ、測定結果に対して図１１のフローチャートのように垂直座標ソートが行われＳ１５までと同様にＳ１００６の「線断面位置の計算」が行われる。
【０１８３】
Ｓ１００７では、「前回の端末高さとの差が閾値内か？」の判断処理が行われ、初回はＳ１００８に移行する。
【０１８４】
Ｓ１００８では、「最下の円弧中心高さへ移動」の処理により、レーザー変位センサー７の検出位置が図１７のＯ´に照合される。
【０１８５】
Ｓ１１０９では、「回転方向測定」により図１５（Ａ）の仮の下端末高さ（中心高さＯ´）において下限位置Ｌ２から上限位置Ｌ１に向かって回転方向に測定が行われる。
【０１８６】
Ｓ１０１０では、「端末位置の計算」の処理により、端末３ｄの回転方向座標位置が、前記のように右巻きばねでは立ち上がり（左巻きばねでは立ち下り）として得られる。
【０１８７】
Ｓ１０１１では、「端末が検出されたか？」の判断処理により、端末が検出されなければばね端末検出は終了し、端末が検出されればＳ１０１２に移行する。
【０１８８】
Ｓ１０１２では、「仮基準位置へ移動」の処理により、図１５（Ａ）のように検出された端末位置ｅからわずかにオフセットされた位置を回転方向座標の基準位置ｆとし、この位置ｆにレーザー変位センサー７の検出位置を合わせ、Ｓ１００５に戻る。
【０１８９】
Ｓ１００５、Ｓ１００６の再度の処理により、再び端末高さＯの検出が行われ、以下、Ｓ１００７〜Ｓ１０１２が繰り返される。
【０１９０】
Ｓ１００７において、検出された端末高さＯが前回の測定結果との差が閾値以下となり同等となったら、その位置を端末位置として採用し、検出が終了する。
【０１９１】
こうして、コイルばね３の端末３ｄをけがき線ｍにおおよそ合わせるだけであるため、線材が細いばねであっても弾性変形が生じ難く、位置合わせにおいて十分な再現性が得られる。突起などに突き当てて位置合わせする場合に比較して摩耗、変形などによる誤差がない。
【０１９２】
また、上限位置Ｌ１又は下限位置Ｌ２でのコイル軸方向に沿った測定と、下限位置Ｌ２から上限位置Ｌ１に向かった回転方向の測定と等による少ない測定により高い精度で端末位置を得ることができる。
【０１９３】
ばね端末は変形している可能性があるため、検出された仮の端末位置ｅからわずか、例えば１．５°オフセットされた位置を回転方向座標の基準位置ｆとし、この位置で検出された端末高さＯを端末位置として採用するため、ばね端末の変形に影響を受け難い。
［その他］
上記実施例１では、レーザー変位センサー７側を、固定したコイルばね３の周囲に回転移動させるようにしたが、レーザー変位センサー７を固定し、コイルばね３を自転する構成にすることもできる。
【符号の説明】
【０１９４】
１  形状測定装置（端末位置検出装置）
３  コイルばね
３ｄ  下端末
７  レーザー変位センサー
１１  制御部
１３  演算部
１５  表示部
Ｌ１  上限位置（端末検出範囲限界位置）
Ｌ２  下限位置（端末検出範囲限界位置）
ｅ  仮の端末位置
ｆ  基準位置
Ｏ´  仮の下端末高さ
Ｏ  端末高さ
【図１】
2015203653.tif 000003
【図２】
2015203653.tif 000004
【図３】
2015203653.tif 000005
【図４】
2015203653.tif 000006
【図５】
2015203653.tif 000007
【図６】
2015203653.tif 000008
【図７】
2015203653.tif 000009
【図８】
2015203653.tif 000010
【図９】
2015203653.tif 000011
【図１０】
2015203653.tif 000012
【図１１】
2015203653.tif 000013
【図１２】
2015203653.tif 000014
【図１３】
2015203653.tif 000015
【図１４】
2015203653.tif 000016
【図１５】
2015203653.tif 000017
【図１６】
2015203653.tif 000018
【図１７】
2015203653.tif 000019