(57)【特許請求の範囲】
【請求項１】
絶対値符号パターンを有するスケールと、
前記スケールに光を照射するための発光素子と、
前記スケールからの光を受光するためのイメージセンサと、
前記イメージセンサからの出力をデジタル出力に変換するためのＡ／Ｄ変換器と、
絶対位置演算部であって、
前記Ａ／Ｄ変換器からの信号強度から、予め設定された閾値レベルに基づいて、前記イメージセンサ上での前記絶対値符号パターンのエッジ位置であるエッジ画素位置及び、前記絶対値符号パターンの前記エッジ画素位置でのエッジの方向を検出するエッジ検出部と、
前記エッジ検出部で求めた前記エッジ画素位置に対して、前記エッジの方向が立上りエッジか立下りエッジかに応じてそれぞれ異なる補正を行うエッジ位置補正部と、
を含み、補正したエッジ画素位置を元に、前記スケールの絶対位置を求めるものと、
を備えたアブソリュートエンコーダ。
【請求項２】
前記Ａ／Ｄ変換器から出力された信号における不均一な光量分布を均一な光量分布となるように予め計測しておいた光量補正値に基づいて補正する光量補正部を備え、
前記エッジ検出部は、前記光量補正部で補正された信号に基づいて前記エッジ画素位置及び前記エッジの方向を検出する、請求項１に記載のアブソリュートエンコーダ。
【請求項３】
前記エッジ検出部で求めた、エッジ画素位置と、エッジの方向から、
立上りエッジと立下りエッジの間をＨｉｇｈビット、
立下りエッジと立上りエッジの間をＬｏｗビットとし、
前記Ｈｉｇｈビットの幅と、前記Ｌｏｗビットの幅の差から、
前記エッジ位置補正部で補正するエッジ画素位置のエッジ補正量を求める、請求項１または２に記載のアブソリュートエンコーダ。
【請求項４】
前記Ｈｉｇｈビット及び前記Ｌｏｗビットの幅は、
前記スケール上の前記絶対値符号パターンを構成する最小線幅１個分に相当する基本周期幅であって、
前記エッジ検出部で求めたエッジ画素位置に隣接する、Ｈｉｇｈビット及びＬｏｗビットの基本周期幅をそれぞれｆｈ、ｆｌとして、
エッジ画素位置のエッジ補正量δを
δ＝(ｆｌ−ｆｈ)／４
の式で求める、請求項３に記載のアブソリュートエンコーダ。
【請求項５】
前記エッジ検出部で求めたエッジ画素位置をｘ、
立上りエッジに対する補正後のエッジ画素位置をＸＲ、
立下りエッジに対する補正後のエッジ画素位置をＸＦ、
として、前記エッジ検出部で求めたエッジ画素位置ｘに隣接するＨｉｇｈビットとＬｏｗビットの基本周期幅の差から求めた補正量δを用いて、立上りエッジ及び立下りエッジに応じて、
ＸＲ＝ｘ−δ
ＸＦ＝ｘ＋δ
の式でエッジ画素位置を補正する、請求項４に記載のアブソリュートエンコーダ。
【請求項６】
前記エッジ検出部で求めた、画素位置と、立上りエッジ及び立下りエッジと、前記絶対値符号パターンの理想的な基本周期幅とから、
Ｈｉｇｈビット及びＬｏｗビットの前記スケール上の前記絶対値符号パターンを構成する最小線幅１個分に相当する基本周期幅を求め、
前記イメージセンサの異なる複数の画素位置での、Ｈｉｇｈビット及びＬｏｗビットの基本周期幅データから、前記イメージセンサの画素位置ｘの関数として近似関数を解析し、
Ｈｉｇｈビットの基本周期幅データの近似関数をｆｈ(ｘ)、
Ｌｏｗビットの基本周期幅データの近似関数をｆｌ(ｘ)
として、画素位置ｘに対するエッジ補正量δ(ｘ)を
δ(ｘ)＝(ｆｌ(ｘ)−ｆｈ(ｘ))／４
の式で求める、請求項３に記載のアブソリュートエンコーダ。
【請求項７】
前記エッジ検出部で求めた前記エッジ画素位置をｘ、
立上りエッジに対する補正後のエッジ画素位置をＸＲ、
立下りエッジに対する補正後のエッジ画素位置をＸＦ、
として、前記イメージセンサの画素位置の関数として求めた補正量δ(ｘ)を用いて、立上りエッジ及び立下りエッジに応じて
ＸＲ(ｘ)＝ｘ−δ(ｘ)
ＸＦ(ｘ)＝ｘ＋δ(ｘ)
の式でエッジ画素位置を補正する、請求項６に記載のアブソリュートエンコーダ。
【請求項８】
前記エッジ位置補正部で補正するエッジ補正量は、前記エッジ位置補正部で求める、請求項１または２に記載のアブソリュートエンコーダ。
【請求項９】
前記絶対位置演算部に、エッジ補正データメモリを設け、
前記エッジ補正データメモリには、予め計測しておいた、前記エッジ位置補正部で補正するエッジ補正量の情報を格納し、
前記エッジ位置補正部では、前記エッジ補正データメモリ内のエッジ補正量の情報を用いて、エッジ画素位置を補正する、請求項１または２に記載のアブソリュートエンコーダ。
【請求項１０】
前記絶対位置演算部が、
前記エッジ検出部で検出した、立上りエッジ及び立下りエッジの情報と、前記エッジ位置補正部で補正したエッジ画素位置から、ＨｉｇｈビットとＬｏｗビットを１／０のビット列に変換するためのデコード部と、
前記デコード部で検出した１／０のビット列から、前記スケールの粗い絶対位置を検出するための粗検出部と、
前記エッジ位置補正部で補正したエッジ画素位置から、前記イメージセンサの基準画素位置に対する位相ずれ量を検出するための位相検出部と、
前記粗検出部で検出した粗い絶対位置と、前記位相検出部で検出した位相ずれ量から高精度な絶対位置を検出するための高精度検出部と、
含む、請求項１または２に記載のアブソリュートエンコーダ。
【請求項１１】
前記スケールには、前記絶対値符号パターンで構成されるトラックが１本だけ設けられている、請求項１または２に記載のアブソリュートエンコーダ。
【請求項１２】
絶対値符号パターンを有するスケールと、
前記スケールに光を照射するための発光素子と、
前記スケールからの光を受光するためのイメージセンサと、
前記イメージセンサからの出力をデジタル出力に変換するためのＡ／Ｄ変換器と、
絶対位置演算部であって、
前記Ａ／Ｄ変換器からの信号強度から、予め設定された閾値レベルに基づいて、前記イメージセンサ上での前記絶対値符号パターンのエッジ位置であるエッジ画素位置及び、前記絶対値符号パターンの前記エッジ画素位置でのエッジの方向を検出するエッジ検出部と、
前記エッジ検出部で求めた前記エッジ画素位置を、エッジの方向として検出した立上りエッジ及び立下りエッジに応じて補正するエッジ位置補正部と、
を含み、補正したエッジ画素位置を元に、前記スケールの絶対位置を求めるものと、
を備え、
前記絶対位置演算部に、エッジ補正データメモリを設け、
前記エッジ補正データメモリには、予め計測しておいた、前記エッジ位置補正部で補正するエッジ補正量の情報を格納し、
前記エッジ位置補正部では、前記エッジ補正データメモリ内のエッジ補正量の情報を用いて、エッジ画素位置を補正し、
前記絶対位置演算部に、前記エッジ補正データメモリと、補正データ再計算部を設け、
前記エッジ検出部で求めた、エッジ画素位置と、立上りエッジ及び立下りエッジの情報を、前記補正データ再計算部へ送り、
前記補正データ再計算部で、Ｈｉｇｈビット及びＬｏｗビットの前記スケール上の前記絶対値符号パターンを構成する最小線幅１個分に相当する基本周期幅を解析し、
前記イメージセンサの異なる複数の画素位置での、Ｈｉｇｈビット及びＬｏｗビットの基本周期幅データから、
前記イメージセンサの画素位置ｘの関数として近似関数を解析し、
Ｈｉｇｈビットの基本周期幅データの近似関数と、
Ｌｏｗビットの基本周期幅データの近似関数から、
画素位置ｘに対するエッジ補正量δ(ｘ)を求め、求めたエッジ補正量δ(ｘ)の情報で、前記エッジ補正データメモリ内のデータを更新する、
アブソリュートエンコーダ。
【請求項１３】
絶対値符号パターンを有するスケールと、
前記スケールに光を照射するための発光素子と、
前記スケールからの光を受光するためのイメージセンサと、
前記イメージセンサからの出力をデジタル出力に変換するためのＡ／Ｄ変換器と、
絶対位置演算部であって、
前記Ａ／Ｄ変換器からの信号強度から、予め設定された閾値レベルに基づいて、前記イメージセンサ上での前記絶対値符号パターンのエッジ位置であるエッジ画素位置及び、前記絶対値符号パターンの前記エッジ画素位置でのエッジの方向を検出するエッジ検出部と、
前記エッジ検出部で求めた前記エッジ画素位置を、エッジの方向として検出した立上りエッジ及び立下りエッジに応じて補正するエッジ位置補正部と、
を含み、補正したエッジ画素位置を元に、前記スケールの絶対位置を求めるものと、
を備え、
前記絶対位置演算部が、
前記エッジ検出部で検出した、立上りエッジ及び立下りエッジの情報と、前記エッジ位置補正部で補正したエッジ画素位置から、ＨｉｇｈビットとＬｏｗビットを１／０のビット列に変換するためのデコード部と、
前記デコード部で検出した１／０のビット列から、前記スケールの粗い絶対位置を検出するための粗検出部と、
前記エッジ位置補正部で補正したエッジ画素位置から、前記イメージセンサの基準画素位置に対する位相ずれ量を検出するための位相検出部と、
前記粗検出部で検出した粗い絶対位置と、前記位相検出部で検出した位相ずれ量から高精度な絶対位置を検出するための高精度検出部と、
含み、
前記スケールの前記絶対値符号パターンは、疑似ランダム符号をマンチェスター符号化したパターンで構成され、
前記絶対位置演算部がＡＢＳパターン補正データメモリを含み、
前記位相検出部では、前記エッジ位置補正部で補正したエッジ画素位置の情報を元に、最小二乗法でフィッティングした結果から位相ずれ量を求め、
最小二乗法でフィッティングした結果と、前記エッジ位置補正部で補正したエッジ画素位置との残差を求め、
求めた残差の結果を、それぞれのエッジ画素位置に対して、
前記絶対値符号パターンを構成する最小線幅を１ビットとして、
前記粗検出部で求めた粗い絶対位置に相当するビット列を元に、
エッジ画素位置を跨ぐ前後２ビットのパターンを検出し、
００１１、００１０、１０１１、１０１０、１１００、１１０１、０１００、０１０１
の計８つのグループに分け、８つのグループそれぞれに対して、残差の結果から近似関数を解析し、
前記ＡＢＳパターン補正データメモリは、予め求めた８つのグループ毎の近似関数の情報を格納し、
前記位相検出部では、前記ＡＢＳパターン補正データメモリ内の８つのグループ毎の近似関数を元に、エッジ画素位置を補正し、補正したエッジ画素位置から、前記イメージセンサの基準画素位置に対する位相ずれ量を検出する、
アブソリュートエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、測定対象物の絶対位置を検出するアブソリュートエンコーダに関するものである。
【背景技術】
【０００２】
工作機械やロボット等の分野では、高精度な位置決め制御を実現するために、アブソリュートエンコーダが用いられている。アブソリュートエンコーダは、例えば、明暗の光学パターンを有するスケールと、スケール上に光を照射するための発光素子と、スケールの透過光、又は反射光を検出するための受光素子と、受光素子の後段に配置された演算装置とを備え、モータ等の回転軸に連結されたスケールの絶対角度を検出する。
【０００３】
この種のアブソリュートエンコーダは一般に、粗い絶対角度を検出するための角度固有のパターンを有するアブソリュートパターンと、分解能を高めるための等間隔で配置されたインクリメンタルパターンをスケール上に有している。このような構成により、分解能の高い絶対角度を検出することが可能となる。
【０００４】
しかしながら分解能向上に伴い、従来考慮されてこなかった誤差が無視できなくなってきており、より高精度な検出方法が重要となる。
【０００５】
従来、高精度検出を実現する手法として特許文献１及び特許文献２に示すような手法が提案されている。
【０００６】
例えば特許文献１では、例えばアブソリュート・ロータリー・エンコーダが、円筒面に複数のマークが一定周期で周方向に沿って配列された回転する円筒体と、円筒面に光を出射する光源と、マークの周期よりも小さいピッチで配置された複数の光電変換素子によってマークを検出する検出器と、検出器の出力に基づいて絶対角度を算出する算出部とを備え、算出部では、補正データを用いて円筒面と検出器との幾何学的配置に起因する歪誤差を補正するように構成されている。
また、特許文献２では、変位検出装置が、インクリメンタル成分を含んだスケールパターンを有するスケールと、スケールパターンを光によって結像させる光学系と、結像されたスケールパターンを検出するための受光素子アレイと、受光素子アレイの信号に基づいてスケールの位置を解析する演算回路とを備え、光学系の歪情報から得られた歪テーブルに基づいて受光素子の位置を仮想的に配置変更し光学系の歪を除去するように構成されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第８，７５９，７４７号(ＦＩＧ．３)
【特許文献２】特開２０１３−９６７５７号公報(図５)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した特許文献１及び特許文献２の課題として以下の点が挙げられる。
特許文献１におけるABSOLUTE ROTARY ENCODER(アブソリュート・ロータリー・エンコーダ)においては、検出器の位置毎に円筒面の影響を補正しているため円筒面の影響を除去することが可能である。しかしながら、高分解能化するために、マークの周期を狭くしていくと光の回折現象により、受光した信号の明部と暗部で構成されたマークの明部の幅と、暗部の幅が異なるため、検出器の位置毎の補正だけでは高精度化ができないという問題があった。
【０００９】
一方、特許文献２における変位検出装置、変位検出方法及び変位検出プログラムにおいては、検出器の位置毎に光学系の歪を補正するようにしているため、結像レンズの歪による精度悪化を抑制することが可能であるが、特許文献１と同様に、高分解能化するために、マークの周期を狭くしていくと光の回折現象により、明部と暗部で構成されたマークの明部の幅と、暗部の幅が異なるため、検出器の位置毎の補正だけでは高精度化ができないという問題があった。
【００１０】
本発明は、上記のような問題点を解決するためになされたものであり、高分解能で且つ、高精度に絶対角度を検出することを可能とした、アブソリュートエンコーダを提供することを目的としている。
【課題を解決するための手段】
【００１１】
この発明におけるアブソリュートエンコーダは、絶対値符号パターンを有するスケールと、前記スケールに光を照射するための発光素子と、前記スケールからの光を受光するためのイメージセンサと、前記イメージセンサからの出力をデジタル出力に変換するためのＡ／Ｄ変換器と、絶対位置演算部であって、前記Ａ／Ｄ変換器からの信号強度から、予め設定された閾値レベルに基づいて、前記イメージセンサ上での前記絶対値符号パターンのエッジ位置であるエッジ画素位置及び、前記絶対値符号パターンの前記エッジ画素位置でのエッジの方向を検出するエッジ検出部と、前記エッジ検出部で求めた前記エッジ画素位置に対して、前記エッジの方向が立上りエッジか立下りエッジかに応じてそれぞれ異なる補正を行うエッジ位置補正部と、を含み、補正したエッジ画素位置を元に、前記スケールの絶対位置を求めるものと、を備えるものである。
【発明の効果】
【００１２】
この発明におけるアブソリュートエンコーダでは、高分解能化するためにスケールの絶対値符号パターンの最小線幅を狭くした場合であっても、光の回折の影響を受けることなく、高精度に絶対位置を検出することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１によるアブソリュートエンコーダの構成を示す図である。
【図２】本発明の実施の形態１によるアブソリュートエンコーダのイメージセンサ上に投影される光量分布の一例を示す図である。
【図３】本発明の実施の形態１によるアブソリュートエンコーダの光量補正部での補正後波形の一例を示す図である。
【図４】本発明の実施の形態１によるアブソリュートエンコーダの平滑化処理部での処理後波形の一例を示す図である。
【図５】本発明の実施の形態１によるアブソリュートエンコーダのエッジ検出部の動作を説明する図である。
【図６】本発明の実施の形態１によるアブソリュートエンコーダのエッジ検出部の動作を説明する図である。
【図７】本発明の実施の形態１によるアブソリュートエンコーダのエッジ補正量の求め方を説明する図である。
【図８】本発明の実施の形態１によるアブソリュートエンコーダのエッジ位置補正部の動作を説明する図である。
【図９】本発明の実施の形態１によるアブソリュートエンコーダのデコード部の動作を説明する図である。
【図１０】本発明の実施の形態１によるアブソリュートエンコーダの位相検出部の動作を説明する図である。
【図１１】本発明の実施の形態２によるアブソリュートエンコーダの構成を示す図である。
【図１２】回折の影響によりＨｉｇｈビットとＬｏｗビットの幅が変化することを説明するための図である。
【図１３】本発明の実施の形態２によるアブソリュートエンコーダのエッジ補正量の求め方を説明する図である。
【図１４】本発明の実施の形態２によるアブソリュートエンコーダのＨｉｇｈビット及びＬｏｗビットの基本周期幅データを計測した一例を示す図である。
【図１５】本発明の実施の形態３によるアブソリュートエンコーダの構成を示す図である。
【図１６】本発明の実施の形態３によるアブソリュートエンコーダのＨｉｇｈビット及びＬｏｗビットの基本周期幅データを計測した一例を示す図である。
【図１７】本発明の実施の形態４によるアブソリュートエンコーダの構成を示す図である。
【図１８】本発明の実施の形態４によるアブソリュートエンコーダのエッジグループを説明するための図である。
【図１９】本発明の実施の形態４によるアブソリュートエンコーダのエッジ位置残差を計測した一例を示す図である。
【図２０】本発明の実施の形態４によるアブソリュートエンコーダの補正方法を説明するための図である。
【図２１】本発明の実施の形態４によるアブソリュートエンコーダの補正方法を説明するための図である。
【図２２】本発明によるアブソリュートエンコーダの各実施の形態における絶対位置演算部のハードウェア構成の一例を示す概略構成図である。
【発明を実施するための形態】
【００１４】
以下、この発明によるアブソリュートエンコーダを各実施の形態に従って図面を用いて説明する。なお、各実施の形態において、同一もしくは相当部分は同一符号で示し、重複する説明は省略する。
【００１５】
実施の形態１．
本実施の形態１によるアブソリュートエンコーダ１の構成を図１に示す。アブソリュートエンコーダ１はその基本構成として、発光素子２と、イメージセンサ３と、スケール２００と、Ａ／Ｄ変換器４と、絶対位置演算部５とを備える。以下にアブソリュートエンコーダ１の構成部分について順次説明する。
発光素子２は、スケール２００に光を照射するための照明部であり、例えば点光源ＬＥＤ等が用いられる。
イメージセンサ３は、スケール２００からの光を受光するための光検出部であり、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等の撮像デバイスが用いられる。本実施の形態では、イメージセンサ３は１次元の場合について説明するが、２次元であっても構わない。
【００１６】
スケール２００は、モータ等の回転シャフト６に連結され、円周方向に沿って複数の反射部３０１と非反射部３０２が配置された絶対値符号パターン３００を有するトラックが１本だけ設けられている。ここで、反射部３０１とは、発光素子２からの光を反射する部分であり、また、非反射部３０２とは、発光素子２からの光を吸収、或いは透過、或いは反射部３０１の反射率よりも低い反射率で反射する部分であり、イメージセンサ３上に投影される光強度分布を変調するように機能する。
絶対値符号パターン３００は、スケール２００の角度位置を特徴づけるように反射部３０１及び非反射部３０２で構成され、例えば、Ｍ系列等の疑似ランダム符号をマンチェスター符号化した符号列が使用される。
【００１７】
本実施の形態では、発光素子２とイメージセンサ３が共にスケール２００の片側に配置された反射型エンコーダを例示するが、本発明は、スケール２００を挟んで互いに対向する位置に発光素子２とイメージセンサ３を配置した透過型エンコーダにも同様に適用可能である。透過型エンコーダの場合には、絶対値符号パターン３００は透過部と、非透過部で構成すればよい。反射型および透過型のいずれの場合であっても、イメージセンサ３上に投影される光強度分布を変調するように構成されていれば、絶対値符号パターン３００の構成は特に限定されない。
【００１８】
スケール２００は、例えば、ガラス基板上にクロム等の金属を蒸着し、フォトリソグラフィーを用いて金属膜をパターン加工することによって反射部３０１及び非反射部３０２が形成される。反射型エンコーダであれば反射部と非反射部が、透過型エンコーダであれば透過部と非透過部が形成できる構成であれば、スケール２００の材料や作成方法は特に限定されない。
【００１９】
Ａ／Ｄ変換器４はイメージセンサ３からのアナログ信号をデジタル信号に変換するための信号変換部である。
【００２０】
絶対位置演算部５は、Ａ／Ｄ変換器４からの出力に基づいて、スケール２００の絶対位置を演算するための演算部であり、光量補正部１００，平滑化処理部１０１，エッジ検出部１０２，エッジ位置補正部１０３、デコード部１０４，粗検出部１０５，位相検出部１０６，高精度検出部１０７で構成されている。
【００２１】
ここで、絶対位置演算部５の動作について説明する。
まず、イメージセンサ３で取得した画像は、Ａ／Ｄ変換器４でデジタル信号に変換され、光量補正部１００に入力される。光量補正部１００に入力される信号は、横軸を画素位置，縦軸を信号強度とすると例えば図２に示すような光量分布７０となる。図２におけるＨｉｇｈビット８は、スケール２００の反射部３０１でのパターンを表し、Ｌｏｗビット９は、スケール２００の非反射部３０２でのパターンを表す。図２に示すように、イメージセンサ３上に投影されるスケール２００の絶対値符号パターン３００は、発光素子２自体の光量分布や、イメージセンサ３の各画素のゲインバラつきなどの影響により、Ｈｉｇｈビット８及びＬｏｗビット９は不均一な光量分布になる。そこで、光量補正部１００では、不均一な光量分布を均一な光量分布となるように予め計測しておいた光量補正値に基づいて画素毎に補正を行い、例えば図３に示すような光量補正後の光量分布７１を得る。
【００２２】
次に、光量補正部１００で補正された光量補正後の光量分布７１は、平滑化処理部１０１へと送られ、光量補正後の光量分布７１に対して平滑化処理が行われる。平滑化処理部１０１では、例えば、移動平均フィルターが使用され、例えば図４に示すような平滑処理後の光量分布７２を得る。本実施の形態では、移動平均フィルターの例を示したが、ガウスフィルター等の処理を施しても良く、信号を滑らかにする方法であれば特に限定されない。また、本実施の形態では、光量補正後に平滑化処理を適用しているが、平滑化処理後に光量補正を適用しても構わない。また、平滑化処理を実施しない場合であっても、本発明は適用可能である。
【００２３】
平滑化処理後の光量分布７２は、エッジ検出部１０２へと送られ、エッジ検出部１０２では、予め設定しておいた閾値レベル１０に一致するイメージセンサ３上でのエッジ位置(以下エッジ画素位置１１)を求める。
【００２４】
図５は、図４の破線の枠で囲ったエッジ画素位置付近の拡大図である。
まず、図５のように、隣り合うｉ番目の画素とｉ＋１番目の画素の信号強度から、ｉ番目の画素の信号強度が閾値レベル１０よりも小さく、且つｉ＋１番目の画素の信号強度が閾値レベル１０よりも大きい、又は、ｉ番目の画素の信号強度が閾値レベル１０よりも大きく、且つｉ＋１番目の画素の信号強度が閾値レベル１０よりも小さければ、エッジ有りと判定する。
次に、エッジ有りと判定されたｉ番目の画素とｉ＋１番目の画素に対して、エッジ検出部１０２では、閾値レベル１０を跨ぐｉ番目の画素とｉ＋１番目の画素を線形補間することで、閾値レベル１０に一致するエッジ画素位置１１をサブピクセル処理によって求める。
【００２５】
本実施の形態では、閾値レベル１０を跨ぐ２点の画素から線形補間で閾値レベル１０と一致するエッジ画素位置１１を求めるようにしたが、閾値レベル１０を跨ぐ２点以上の画素からエッジ画素位置１１を求めるようにしてもよい。さらに、線形補間ではなく、２次関数や３次関数等の高次関数で補間してもよい。
また、エッジ検出部１０２では、エッジ画素位置１１を求めると共に、閾値レベル１０を跨ぐｉ番目の画素と、ｉ＋１番目の画素の信号強度から、ｉ番目の画素の信号強度がｉ＋１番目の画素の信号強度よりも小さければ立上りエッジ５１、ｉ番目の画素の信号強度がｉ＋１番目の画素の信号強度よりも大きければ立下りエッジ５２として、例えば図６のようにエッジの方向５０を検出する。
【００２６】
エッジ検出部１０２で検出したエッジ画素位置１１とエッジの方向５０は、エッジ位置補正部１０３へと送られ、エッジ位置補正部１０３で、エッジ検出部１０２で検出したエッジ画素位置１１とエッジの方向５０から、エッジ補正量を求め、エッジの方向５０に基づいてエッジ画素位置１１の画素位置を補正する。
【００２７】
ここで、エッジ位置補正部１０３でのエッジ画素位置１１の補正方法について、図７を用いて説明する。
【００２８】
なお以下では、Ｈｉｇｈビットが狭くなる場合について説明するが、Ｈｉｇｈビットが狭くなるか、広くなるかはイメージセンサ３とスケール２００との距離に依存する。単スリットの場合には、回折によって光が広がるのでＨｉｇｈビットは広くなるが、エンコーダのようにスリットが複数ある場合には、各スリット毎の回折パターンが干渉して像を形成する(回折干渉)。そのため、距離によってはＨｉｇｈビットが広くなる場合もある。
【００２９】
図７に示すように、イメージセンサ３上に投影されるＨｉｇｈビット８の基本周期幅ｆｈとＬｏｗビット９の基本周期幅ｆｌは、光の回折の影響により等しくならない。ここで、基本周期幅とは、反射部３０１及び非反射部３０２で構成される絶対値符号パターン３００の最小線幅のことを示す。
【００３０】
今、
ｉ−１番目のエッジ画素位置をＺＣ(ｉ−１)，
ｉ番目のエッジ画素位置をＺＣ(ｉ)，
ｉ＋１番目のエッジ画素位置をＺＣ(ｉ＋１)として、
ｉ番目のエッジ画素位置のエッジ補正量を次のようにして求める。
まず、エッジ位置補正部１０３では、立上りエッジ５１と立下りエッジ５２の間をＨｉｇｈビット、立下りエッジ５２と立上りエッジ５１の間をＬｏｗビットと判定し、ｉ番目のエッジ画素位置に隣接するＨｉｇｈビット８及びＬｏｗビット９から、Ｈｉｇｈビット８のエッジ画素位置間の距離Ｌｈと、Ｌｏｗビット９のエッジ画素位置間の距離Ｌｌを以下の式(１)(２)で求める。
【００３１】
ここでＨｉｇｈビット８の幅、すなわちＨｉｇｈビット８の両側のエッジ画素位置間の距離がＬｈとなる。また、Ｌｏｗビット９の幅、すなわちＬｏｗビット９の両側のエッジ画素位置間の距離がＬｌとなる。
図７のように、基本周期幅のＨｉｇｈビット８、Ｌｏｗビット９では、Ｌｈ＝ｆｈ、Ｌｌ＝ｆｌとなる。
【００３２】
Ｌｈ＝ＺＣ(ｉ)−ＺＣ(ｉ−１)          (１)
Ｌｌ＝ＺＣ(ｉ＋１)−ＺＣ(ｉ)          (２)
【００３３】
次に、Ｌｈ及びＬｌを絶対値符号パターン３００の理想的な基本周期幅Ｆで割り算し、小数点以下を四捨五入することで理想的な基本周期幅Ｆに対する整数倍Ｎ(Ｎは１以上)を求める。Ｈｉｇｈビット８の基本周期幅ｆｈと、Ｌｏｗビット９の基本周期幅ｆｌはそれぞれ整数倍Ｎを用いて
【００３４】
ｆｈ＝Ｌｈ／Ｎ          (３)
ｆｌ＝Ｌｌ／Ｎ          (４)
【００３５】
とすることができる。
【００３６】
より詳細には、ＮはＬｈ，Ｌｌに対して個々に求められるため(Ｎｈ≒Ｌｈ／Ｆ：Ｈｉｇｈビット８のＮ、Ｎｌ≒Ｌｌ／Ｆ：Ｌｏｗビット９のＮ、Ｎｈ，Ｎｌは共に１以上)、
ｆｈ＝Ｌｈ／Ｎｈ          (３ａ)、
ｆｌ＝Ｌｌ／Ｎｌ          (４ａ)
となる。
【００３７】
Ｎ(Ｎｈ、Ｎｌ)は連続するビット数(整数)を表している。すなわち、Ｈｉｇｈビットがいくつ連続しているか、Ｌｏｗビットがいくつ連続しているか、を表す。
例えば、
絶対値符号パターン３００の理想的な基本周期幅Ｆを１０画素として、
図７におけるエッジ位置を
ＺＣ(ｉ−１)＝６，
ＺＣ(ｉ)＝１４，
ＺＣ(ｉ＋１)＝２６
と仮定すると、
Ｌｈ＝８，
Ｌｌ＝１２
となる。
一方、Ｎｈ、Ｎｌは、Ｌｈ、ＬｌをＦで割って整数に丸めたもの(四捨五入)なので、
Ｎｈ＝Ｌｈ／Ｆ≒１
Ｎｌ＝Ｌｌ／Ｆ≒１
となり、結局、
ｆｈ＝８，
ｆｌ＝１２
となる。
ここで、
ＺＣ(ｉ＋２)＝４４
とすると、
Ｌｈ＝４４−２６＝１８
となり、
Ｎｈ＝Ｌｈ／Ｆ≒２
となるので、
ｆｈ＝１８／２＝９
となる。
【００３８】
さらに、
目標とするエッジ補正量をδ、
補正後のＨｉｇｈビット８の基本周期幅をｆｈ’、
補正後のＬｏｗビット９の基本周期幅をｆｌ’
とすると、ｆｈ’及びｆｌ’は下記の式(５)(６)で表わすことができる。
【００３９】
ｆｈ’＝ＺＣ(ｉ)−ＺＣ(ｉ−１)＋２δ＝ｆｈ＋２δ          (５)
ｆｌ’＝ＺＣ(ｉ＋１)−ＺＣ(ｉ)−２δ＝ｆｌ−２δ          (６)
【００４０】
補正後のＨｉｇｈビット８の基本周期幅ｆｈ’と、補正後のＬｏｗビット９の基本周期幅ｆｌ’は等しいので、(５)式、(６)式より、ｉ番目のエッジ画素位置に対するエッジ補正量δは下記の式(７)で表わすことができる。
【００４１】
δ＝(ｆｌ−ｆｈ)／４          (７)
【００４２】
つまり、ｉ番目のエッジ画素位置のエッジ補正量δは、ｉ番目のエッジ画素位置に隣接する補正前のＨｉｇｈビット８の基本周期幅ｆｈと、ｉ番目のエッジ画素位置に隣接する補正前のＬｏｗビット９の基本周期幅ｆｌとの差分の１／４で求めることができる。よって、エッジ画素位置１１をｘ(＝ＺＣ(ｉ))、立上りエッジ５１の補正後のエッジ画素位置１１をＸＲ、立ち下りエッジ５２の補正後のエッジ画素位置１１をＸＦとすると、エッジ位置補正部１０３では、各エッジ画素位置に対してエッジ補正量δを求め、立上りエッジ５１と立下りエッジ５２のエッジの方向５０に応じて下記の式(８)(９)で補正を行う。エッジ位置補正処理後のエッジ画素位置１１は、例えば図８のようになる。
【００４３】
ＸＲ＝ｘ−δ          (８)
ＸＦ＝ｘ＋δ          (９)
【００４４】
次に、デコード部１０４では、エッジの方向５０とエッジ画素位置１１から、Ｈｉｇｈビット８とＬｏｗビット９を１／０のビット列１２に変換する。例えば、立上りエッジ５１から立下りエッジ５２の間はビット値１、立下りエッジ５２から立上りエッジ５１の間はビット値０となるようにビット列を生成する。つまり、Ｈｉｇｈビット８がビット値１を、Ｌｏｗビット９がビット値０として表現される。デコード部１０４でもエッジ位置補正部１０３と同様に、理想的な基本周期幅Ｆとエッジ画素位置間の距離から整数Ｎ(Ｎｈ，Ｎｌ)を求め、ビット値１又はビット値０をＮ個連続で配置するようにする。本実施の形態では、Ｍ系列等の疑似ランダム符号をマンチェスター符号化しているため、理想的には、例えば図９のように、ビット値１或いはビット値０は最大でも２個連続となる。
【００４５】
本実施の形態では、エッジの方向５０とエッジ画素位置１１から１／０のビット列に変換するようにしたが、従来技術のように２値化処理によって１／０のビット列に変換するように構成してもよく、１／０のビット列に変換できる方法であればその方法は特に限定されない。
【００４６】
次に、粗検出部１０５では、デコード部１０４で検出した図９のビット列１２から粗い絶対位置を検出する。粗検出部１０５では例えば、スケール２００の絶対値符号パターン３００を構成するビット列を予めルックアップテーブル(Look Up Table)内に格納しておき、デコード部１０４で検出したビット列１２とルックアップテーブル内のビット列とを比較して粗い絶対位置を特定する。
【００４７】
次に、位相検出部１０６では、図１０に示すように、イメージセンサ３の基準画素位置１３に対する位相ずれ量θを求める。
ここで、位相検出部１０６で位相ずれ量θを求める方法について説明する。
今、エッジ検出部１０２でＭ個のエッジを検出したとする。検出されたＭ個のエッジは、エッジ位置補正部１０３でエッジ画素位置を補正し、補正されたエッジ画素位置をＺＣ(１)，ＺＣ(２)，…ＺＣ(ｉ)，…ＺＣ(Ｍ)とする。基準画素位置１３の中心位置をＰ，Ｐに一番近いエッジ画素位置をＺＣ(ｉ)とすると、ＺＣ(ｉ)は基準画素位置１３からの位相ずれ量θを用いて以下の式(１０)で表わすことができる。
【００４８】
ＺＣ(ｉ)＝Ｐ＋θ          (１０)
【００４９】
但し、θは、基準画素位置１３よりも左にあれば−、右にあれば＋の符号となる。
次に、基準画素中心位置Ｐに一番近いエッジ画素位置ＺＣ(ｉ)以外のエッジに対して、エッジ画素位置ＺＣ(ｉ)に対する基本周期Ｆの整数倍Ｎ(ｉ)を求める。例えば、
【００５０】
Ｎ(ｉ−１)＝(ＺＣ(ｉ−１)−ＺＣ(ｉ))／Ｆ
Ｎ(ｉ＋１)＝(ＺＣ(ｉ＋１)−ＺＣ(ｉ))／Ｆ
【００５１】
として求めることができる。また、Ｎ(ｉ)＝(ＺＣ(ｉ)‐ＺＣ(ｉ))／Ｆ＝０である。図１０の例では、Ｎ(ｉ−１)＝２、Ｎ(ｉ＋１)＝２、Ｎ(ｉ＋２)＝１である。基本周期幅Ｆの整数倍Ｎを用いるとエッジ画素位置ＺＣ(ｉ−１)、ＺＣ(ｉ＋１)は以下の式(１１)(１２)で表わすことができる。
【００５２】
ＺＣ(ｉ−１)＝Ｐ＋θ＋Ｆ×Ｎ(ｉ−１)＋αＮ(ｉ−１)２＋βＮ(ｉ−１)３    (１１)
ＺＣ(ｉ＋１)＝Ｐ＋θ＋Ｆ×Ｎ(ｉ＋１)＋αＮ(ｉ＋１)２＋βＮ(ｉ＋１)３    (１２)
【００５３】
ここでα，βは２次及び３次のパラメータを表す。以上よりエッジ画素位置は、整数倍Ｎと，基準画素中心位置Ｐ，位相ずれ量θ，高次のパラメータα及びβを用いて以下の式(１３)で表わすことができる。
【００５４】
【数１】
0006355827.tif 000002
【００５５】
式(１３)の方程式を解くことで位相ずれ量θを最小二乗法の形で求めることができる。
尚、基準画素位置１３は、イメージセンサ３の中心画素でも、左端或いは右端でも良く、特に限定されない。また、本実施の形態では、位相ずれ量θを求めるのに、全てのエッジ画素位置を使用し、最小二乗法の形で求めるようにしたが、基準画素位置１３の中心位置と、基準画素位置１３に一番近いエッジ画素位置ＺＣ(ｉ−１)との差分から直接位相ずれ量θを求めるようにしてもよい。
【００５６】
最後に、高精度検出部１０７で、粗検出部１０５で求めた粗い絶対位置と、位相検出部１０６で求めた位相ずれ量θを足し合わせることでスケール２００の絶対位置を得ることができる。
【００５７】
以上のような構成によれば、絶対位置演算部５に、エッジ検出部１０２と、エッジ位置補正部１０３を設け、エッジ検出部１０２では、予め設定しておいた閾値レベル１０を横切るエッジ画素位置１１と、エッジの方向５０を検出し、エッジ位置補正部１０３では、イメージセンサ３上に投影された絶対値符号パターン３００の反射部３０１を表すＨｉｇｈビット８の幅と、イメージセンサ３上に投影された絶対値符号パターン３００の非反射部３０２を表すＬｏｗビット９の幅を求め、Ｈｉｇｈビット８の幅と、Ｌｏｗビット９の幅からエッジ画素位置１１のエッジ補正量δを求め、立上りエッジ５１と、立下りエッジ５２に応じてエッジ補正量δからエッジ画素位置１１を補正し、補正したエッジ画素位置から絶対位置演算部５でスケール２００の絶対位置を検出するように構成したので、高分解能化のために、絶対値符号パターン３００の最小線幅を狭くしたとしても高精度に絶対位置を検出することが可能である。
【００５８】
さらに、絶対位置演算部５に、エッジ検出部１０２で求めたエッジの方向と、エッジ位置補正部１０３で補正したエッジ画素位置の情報を元に、Ｈｉｇｈビット８とＬｏｗビット９を１／０のビット列１２に変換するためのデコード部１０４と、デコード部１０４で求めたビット列１２から粗い絶対位置を特定するための粗検出部１０５と、補正したエッジ画素位置の情報を元に、イメージセンサ３の基準画素位置１３に対する位相ずれ量を求めるための位相検出部１０６と、粗検出部１０５で求めた粗い絶対位置と、位相検出部１０６で求めた位相ずれ量の情報から高精度な絶対位置を求めるための高精度検出部１０７を設けたので、絶対値符号パターン３００のみから高精度に絶対位置を検出することができる。これにより、従来技術のように、絶対位置を検出するのに、スケール上にアブソリュートパターンと、インクリメンタルパターンの２つのトラックを設ける必要が無くなるため、デバイスサイズを小型化することができ、且つ、高分解能、高精度に絶対位置を検出することが可能となる。
【００５９】
また、エッジ画素位置１１に隣接するＨｉｇｈビット８とＬｏｗビット９の幅からエッジ補正量を求めるようにしたので、イメージセンサ３の画素位置によってＨｉｇｈビット８とＬｏｗビット９の幅が変化した場合であっても、エッジ画素位置１１に隣接するＨｉｇｈビット８とＬｏｗビット９の幅を均等にすることができるため、発光素子２からの光をコリメートするためのレンズ等が不要となり、デバイスサイズを薄型化することが可能となる。
【００６０】
実施の形態２．
実施の形態１では、エッジ画素位置１１のエッジ補正量を、エッジ位置補正部１０３で求めるように構成していたが、ここでは、図１１のように、エッジ補正データメモリ１１３を設け、エッジ補正量をイメージセンサ３の画素位置の関数として求め、予め求めたエッジ補正量の情報をエッジ補正データメモリ１１３に格納し、エッジ位置補正部１０３では、エッジ補正データメモリ１１３内の情報を使ってエッジ画素位置１１の補正を行う手法について述べる。
【００６１】
実施の形態２のアブソリュートエンコーダ１は、実施の形態１のアブソリュートエンコーダ１と基本的構成は同じだが、エッジ補正データメモリ１１３を追加し、エッジ位置補正部１０３での演算方法のみが異なる。その他の構成部分については、実施の形態１と同様のため同じ符号を付加してその説明は省略する。
【００６２】
図１２のように結像レンズ等を使用しない場合、発光素子２からイメージセンサ３までの距離は、イメージセンサ３の外周部に行くに従い遠くなるため回折の影響もイメージセンサ３の中心部と外周部とでは異なる。そのため、Ｈｉｇｈビット８の幅とＬｏｗビット９の幅の差もイメージセンサ３の外周部に行く程大きくなる。そこで本実施の形態２のアブソリュートエンコーダ１では、エッジ補正量をイメージセンサ３の画素位置関数として求める。
【００６３】
ここで、Ｈｉｇｈビット８及びＬｏｗビット９の基本周期幅のデータから、イメージセンサ３の画素位置に対するエッジ補正量を算出する方法について説明する。
まず、アブソリュートエンコーダ１をモータに組み付けた状態で、適当な角度位置でイメージセンサ３で画像を取得し、エッジ検出部１０２まで演算を行い、エッジ画素位置１１とエッジの方向５０を取得する。今、図１３に示すように、ｉ番目のエッジ画素位置をＺＣ(ｉ)とし、ｉ＋１番目のエッジ画素位置をＺＣ(ｉ＋１)としたときに、ＺＣ(ｉ)が立上りエッジ５１であればＨｉｇｈビット８と判定し、Ｈｉｇｈビット８の中心画素ｘｈと、Ｈｉｇｈビット８のエッジ画素位置間の距離ＬｈからＨｉｇｈビット８の基本周期幅ｆｈ(ｘｈ)を下記の式(１４)(１５)(１６)で求める。
【００６４】
Ｌｈ＝ＺＣ(ｉ＋１)−ＺＣ(ｉ)                (１４)
ｘｈ＝(ＺＣ(ｉ＋１)＋ＺＣ(ｉ))／２          (１５)
ｆｈ＝Ｌｈ／Ｎ                              (１６)
【００６５】
ここでＮは１以上の整数であり、実施の形態１と同様に、理想的な基本周期幅の整数倍を表す。
Ｌｏｗビット９のビット中心画素ｘｌとＬｏｗビット９の基本周期幅ｆｌ(ｘｌ)も同様に求めることができる。尚、Ｌｏｗビット９の場合には、ＺＣ(ｉ)が立下りエッジ５２であればＬｏｗビット９と判定すればよい。
なお、Ｎはより詳細には、実施の形態１と同様、Ｎｈ＝Ｌｈ／Ｆ、Ｎｌ＝Ｌｌ／Ｆである。
【００６６】
スケール２００の角度位置を変えることで異なる画素位置でのＨｉｇｈビット８及びＬｏｗビット９のビット中心画素と基本周期幅のデータを取得することができ、例えば角度ピッチ０．２度で１８００回計測し、Ｈｉｇｈビット８とＬｏｗビット９の中心画素と基本周期幅のデータをプロットすると図１４のようになる。Ｈ１４ａはＨｉｇｈビット８の計測データ、Ｈ１４ｂはＨｉｇｈビット８の近似曲線、Ｌ１４ａはＬｏｗビット９の計測データ、Ｌ１４ｂはＬｏｗビット９の近似曲線を示す。図１４に示すように、Ｈｉｇｈビット８と、Ｌｏｗビット９の画素位置に対する基本周期幅の特性は異なり、また、イメージセンサ３の外周部に行く程、Ｈｉｇｈビット８の基本周期幅と、Ｌｏｗビット９の基本周期幅の差が大きくなる。
【００６７】
次に、
Ｈｉｇｈビット８の画素位置に対する基本周期幅のデータに対する近似関数ｆｈ(ｘ)及び、
Ｌｏｗビット９の画素位置に対する基本周期幅のデータに対する近似関数ｆｌ(ｘ)を
２次の最小二乗法によって求める。求めた２次関数は、画素位置をｘ、関数のパラメータをそれぞれｆｈｏ、αｈ、βｈ、ｆｌｏ、αｌ、βｌとして以下の式(１７)(１８)で表わすことができる。
【００６８】
ｆｈ(ｘ)＝ｆｈｏ＋αｈ×ｘ＋βｈ×ｘ２          (１７)
ｆｌ(ｘ)＝ｆｌｏ＋αｌ×ｘ＋βｌ×ｘ２          (１８)
【００６９】
エッジ補正量は実施の形態１と同様の考え方、つまり、Ｈｉｇｈビット８の基本周期幅と、Ｌｏｗビット９の基本周期幅の差の１／４として求めることができ、イメージセンサ３の画素位置ｘに対するエッジ補正量δ(ｘ)は下記の式(１９)で得られる。
【００７０】
δ(ｘ)＝(ｆｌ(ｘ)−ｆｈ(ｘ))／４
＝(ｆｌｏ−ｆｈｏ)／４＋{(αｌ−αｈ)／４}×ｘ＋{(βｌ−βｈ)／４}×ｘ２
(１９)
【００７１】
上述のエッジ補正量δ(ｘ)は、例えばエンコーダ出荷前などに通常の検査と合わせて行われ、エッジ補正データメモリ１１３内には、求めたエッジ補正量δ(ｘ)の関数のパラメータを保存しておけばよい。
【００７２】
次に、エッジ位置補正部１０３でのエッジ位置補正方法について説明する。
エッジ検出部１０２でエッジ画素位置１１とエッジの方向５０を算出した後に、エッジ補正データメモリ１１３からエッジ補正量δ(ｘ)のパラメータを取得し、エッジ画素位置をｘ、立上りエッジ５１の補正後のエッジ画素位置をＸＲ(ｘ)、立下りエッジ５２の補正後のエッジ画素位置をＸＦ(ｘ)とすると、エッジ位置補正部１０３では、立上りエッジ５１と立下りエッジ５２に応じて下記の式(２０)(２１)で補正を行う。
【００７３】
ＸＲ(ｘ)＝ｘ−δ(ｘ)          (２０)
ＸＦ(ｘ)＝ｘ＋δ(ｘ)          (２１)
【００７４】
以上のような構成によれば、イメージセンサ３の画素位置に対するＨｉｇｈビット８及びＬｏｗビット９の基本周期幅のデータを予め計測し、計測したデータからエッジ補正量δをイメージセンサ３の画素位置の関数として求めるようにしたので、より正確にエッジ画素位置１１を補正することが可能となる。
【００７５】
また、計測したＨｉｇｈビット８及びＬｏｗビット９の基本周期幅のデータから近似関数を解析し、解析した近似関数からエッジ補正量δを求めるようにしたので、異物等によって一部のエッジ画素位置に誤差が発生した場合であっても、他のエッジに対する影響を軽減できるため、異物等の誤差要因があった場合でも高精度に絶対位置を検出することが可能となる。
【００７６】
さらに、発光素子２とイメージセンサ３のスケール２００に対する組付け位置によって、Ｈｉｇｈビット８及びＬｏｗビット９の基本周期幅の特性は異なるが、組み付けた状態でＨｉｇｈビット８及びＬｏｗビット９の基本周期幅の特性を求めてからエッジ補正量δを算出するので、発光素子２及びイメージセンサ３の組み付け公差をゆるめることが可能となる。
【００７７】
また、エッジ補正データメモリ１１３を設け、エッジ補正データメモリ１１３内のデータを用いて、エッジ位置補正部１０３でエッジ画素位置１１を補正するようにしたので、その都度エッジ補正量δを計算する必要がないため、計算不可を軽減することが可能となる。
【００７８】
本実施の形態２では、Ｈｉｇｈビット８及びＬｏｗビット９の基本周期幅のデータを２次関数でフィッティングするようにしたが、より高次のフィッティング関数であってもよい。また、領域を区切って線形補間しても良く、Ｈｉｇｈビット８及びＬｏｗビット９の基本周期幅特性を表す関数であれば特に限定されない。
【００７９】
また、エッジ補正データメモリ１１３内には予め求めたエッジ補正量δ(ｘ)の関数の各パラメータを保存するようにしたが、イメージセンサ３の画素毎にエッジ補正量の値を保存するようにしてもよい。その場合エッジ位置補正部１０３でエッジを補正する際には、例えば、線形補間等により画素間を補間してエッジ補正量δを求めるようにすればよい。エッジ補正データメモリ１１３内に保存されるデータは、画素位置ｘに対する補正量δ(ｘ)を求めるのに必要な情報であれば特に限定されない。
【００８０】
また、本実施の形態では、Ｈｉｇｈビット８及びＬｏｗビット９の基本周期幅のデータを求めるのに、０．２度ピッチで１８００回計測するようにしたが、最低１か所の角度でのデータがあれば本発明は適用可能である。
【００８１】
また、本実施の形態では、イメージセンサ３の画素位置の関数として求めたエッジ補正量の情報を予め計測し、エッジ補正データメモリ１１３内に格納するように構成したが、エッジ補正データメモリ１１３を設けずに、実施の形態１と同様に、エッジ位置補正部１０３で、イメージセンサ３の画素位置の関数としてエッジ補正量を求め、求めたエッジ補正量を用いて、エッジ画素位置１１を補正するようにしてもよい。
【００８２】
実施の形態３．
実施の形態２では、予め求めておいたエッジ補正データメモリ１１３内のエッジ補正量の情報を用いて、エッジ位置補正部１０３でエッジ画素位置１１を補正するように構成したが、図１５のように、補正データ再計算部１２３を設け、エッジ補正データメモリ１１３内のデータを一定周期で更新するようにしてもよい。
【００８３】
実施の形態３のアブソリュートエンコーダ１は、実施の形態２のアブソリュートエンコーダ１と基本的構成は同じだが、補正データ再計算部１２３を追加した点のみ異なる。その他の構成部分については、実施の形態１及び実施の形態２と同様のため同じ符号を付加してその説明は省略する。
【００８４】
環境温度が変化した場合には、発光素子２及びイメージセンサ３のスケール２００に対する位置関係が変化する。例えば、スケール２００と発光素子２及びイメージセンサ３とのギャップが変化した場合、Ｈｉｇｈビット８とＬｏｗビット９の基本周期幅特性も変化し、初期の組み付け位置に対するＨｉｇｈビット８とＬｏｗビット９の基本周期幅特性が図１４であったとすると、ギャップが遠ざかった場合のＨｉｇｈビット８とＬｏｗビット９の基本周期幅特性は例えば図１６のようになる。Ｈ１６ａはＨｉｇｈビット８の計測データ、Ｈ１６ｂはＨｉｇｈビット８の近似曲線、Ｌ１６ａはＬｏｗビット９の計測データ、Ｌ１６ｂはＬｏｗビット９の近似曲線を示す。
【００８５】
このように、Ｈｉｇｈビット８とＬｏｗビット９の基本周期特性が変化した場合、誤ったエッジ補正量δ(ｘ)で補正してしまうため、発光素子２やイメージセンサ３の位置がスケール２００に対して変位すると絶対位置検出精度が悪化してしまう。そこで、本実施の形態３では、補正データ再計算部１２３で、イメージセンサ３の画素位置の関数として求めたエッジ補正量δ(ｘ)を更新するように構成する。
【００８６】
ここで、補正データ再計算部１２３の動作について説明する。
エッジ検出部１０２で算出したエッジ画素位置１１とエッジの方向５０の情報は、エッジ位置補正部１０３に送られると同時に、補正データ再計算部１２３にも送られる。補正データ再計算部１２３では、エッジの方向５０から立上りエッジ５１であれば、Ｈｉｇｈビット８と判定し、Ｈｉｇｈビット８の中心画素ｘｈと基本周期幅ｆｈ(ｘｈ)を実施の形態２のエッジ補正データ作成の時と同様に算出し、エッジ補正データメモリ１１３内のＨｉｇｈビット８用に確保したメモリ領域内(図示せず)にデータを格納する。同様に、立下りエッジ５２であれば、Ｌｏｗビット９と判定し、Ｌｏｗビット９の中心画素ｘｌと基本周期幅ｆｌ(ｘｌ)を実施の形態２のエッジ補正データ作成の時と同様に算出し、エッジ補正データメモリ１１３内のＬｏｗビット９用に確保したメモリ領域内(図示せず)にデータを格納する。
【００８７】
補正データ再計算部１２３では、エッジ画素位置１１及びエッジの方向５０の情報を収集し続け、データ収集開始からＴ秒経過したら、Ｈｉｇｈビット８用に確保したメモリ領域内のデータを用いて、上記式(１７)のパラメータを２次の最小二乗法によって求める。同様に、Ｌｏｗビット９用に確保したメモリ領域内のデータを用いて、上記式(１８)のパラメータを２次の最小二乗法によって求める。得られた各パラメータから上記式(１９)に従い、エッジ補正量δ(ｘ)のパラメータを求め、エッジ補正データメモリ１１３内のデータを書き換える。Ｈｉｇｈビット８用に確保したメモリ領域内のデータ及び、Ｌｏｗビット９用に確保したメモリ領域内のデータはクリアされ、再度データ取集を開始する。
【００８８】
本実施の形態３では、データ収集開始からＴ秒経過したら、エッジ補正データメモリ１１３のデータを更新するようにしたが、イメージセンサ３の画素位置情報を元にデータ更新タイミングを決定するようにしてもよい。例えば、イメージセンサ３の画素範囲をＭ個の領域に区切り、Ｍ個の領域全てにビットの中心画素ｘｈ及びｘｌが入ったら、Ｈｉｇｈビット８用に確保したメモリ領域内のデータと、Ｌｏｗビット９用に確保したメモリ領域内のデータからエッジ補正量δ(ｘ)のパラメータを求めて、エッジ補正データメモリ１１３内のデータを更新するようにしてもよい。このように、エッジ補正データメモリ１１３のデータを更新するタイミングは、様々な形態が考えられる。もちろん、イメージセンサ３で取得した１枚の画像データから補正データ再計算部１２３で補正量δ(ｘ)のパラメータを計算し、随時、エッジ補正データメモリ１１３内のデータを更新するようにしてもよい。
【００８９】
このような構成によれば、補正データ再計算部１２３を設け、エッジ補正データメモリ１１３内のデータを更新するようにしたので、温度変化等に伴う部品変位による精度悪化を抑制することができるため、高精度検出を維持することが可能となる。
【００９０】
また、補正データ再計算部１２３で算出したエッジ補正量δ(ｘ)の情報と、エッジ補正データメモリ１１３内の更新前のエッジ補正量δ(ｘ)の情報とを比較し、更新前後の情報が、予め設定した範囲を超える変化であればエンコーダ異常と判定し、アラーム(警報)等を発生することができるようになり、信頼性を向上させることも可能となる。
【００９１】
実施の形態４．
実施の形態１〜３では、エッジ位置補正部１０３でエッジの方向５０に応じてエッジ画素位置１１を補正するように構成していたが、ここでは、図１７のように、ＡＢＳ(Absolute)パターン補正データメモリ１３３を設け、絶対値符号パターン３００に応じてエッジ画素位置１１を補正し、補正したエッジ画素位置１１を用いて位相検出部１０６で位相ずれ量θを算出するする方法について説明する。
【００９２】
実施の形態４のアブソリュートエンコーダ１は、実施の形態３のアブソリュートエンコーダ１と基本的構成は同じだが、ＡＢＳパターン補正データメモリ１３３を追加した点及び、位相検出部１０６での処理が異なる。その他の構成部分については、実施の形態１〜３と同様のため同じ符号を付加してその説明は省略する。
【００９３】
本実施の形態４のスケール２００の符号パターン３００は、Ｍ系列等の疑似ランダム符号をマンチェスター符号化したパターンが採用される。マンチェスター符号は、例えば、
１のビットを１０、
０のビットを０１
となるように、１つのビットを２つのビットに変換する。例えば、Ｍ系列のパターンを１０１１１０とすると、マンチェスター符号化されたパターンは、１００１１０１０１００１となる。つまり、マンチェスター符号化されたビット列は、連続する１及び０ビットは最大２つとなる。
【００９４】
こうして得られるマンチェスター符号化されたビット列は、立上りエッジ５１と立下りエッジ５２に分けると、図１８に示すようにグループ４０１−４０８からなる計８つのグループに分類することができる。
これまで説明したように、１つの反射部３０１に注目すると、反射部３０１で反射した光は、光の回折現象によって、立上りエッジ５１と立下りエッジ５２のエッジ画素位置１１が変化し、Ｈｉｇｈビット８とＬｏｗビット９の幅が異なる。しかしながら、他の反射部３０１からの干渉によっても立上りエッジ５１と立下りエッジ５２のエッジ画素位置１１は変化する。そこで、本実施の形態４では、立上りエッジ５１と立下りエッジ５２の計８つのグループに分けて補正を行うようにする。
【００９５】
次に、ＡＢＳパターン補正データメモリ１３３の補正値作成方法について説明する。
まず、アブソリュートエンコーダ１をモータに組み付けた状態で、適当な角度位置でイメージセンサ３で画像を取得し、位相検出部１０６まで演算を行い、位相検出部１０６で最小二乗法によってイメージセンサ３の基準画素位置１３に対する位相ずれ量θを算出すると共に、最小二乗法のフィッティング結果から各エッジ位置の残差を算出し、残差保存用メモリ(図示せず)にエッジ位置残差と粗検出部１０５で求めた粗い絶対位置に一致するビット列を保存する。
【００９６】
同様の演算を、スケール２００の角度位置を変えて行い、例えば角度ピッチ０．２度で１８００回計測し、画素位置に対するエッジ位置残差をプロットすると図１９のようになる。Ｒ１９は立上りエッジ、Ｆ１９は立下りエッジを示す。残差保存用メモリ内のビット列から、画素位置に対するエッジ位置残差の結果を、図１８に示した計８つのグループに分けると図２０及び図２１のようになる。図２０及び図２１に示したように、イメージセンサ３の画素位置に対するエッジ位置残差の特性は、立上りエッジ５１及び立下りエッジ５２で異なり、さらに、同じ立上りエッジ５１または立下りエッジ５２の中でも４つ特性は僅かに異なる。そこで、立上りエッジ５１と立下りエッジ５２の計８つのグループに対して、エッジ位置残差のデータから近似関数を解析する。例えば、画素位置を１６領域に分割して直線で近似し、各領域の直線のパラメータをＡＢＳパターン補正データメモリ１３３に保存する。
【００９７】
本実施の形態４では、画素位置を１６領域に分割して直線で近似するようにしたが、１６よりも小さくても、大きくても構わない。もちろん、分割数は多い程、高精度に補正が可能である。また、領域を分けずに、最小二乗法によって、２次関数や３次関数等の高次の関数でフィッティングしてもよい。
上述のＡＢＳパターン補正データの作成、保存は、例えばエンコーダ出荷前などに通常の検査と合わせて行われる。
【００９８】
次に、位相検出部１０６での処理について説明する。
イメージセンサ３で取得した画像は、実施の形態１〜３で説明した方法により、粗検出部１０５まで演算が行われ、エッジ画素位置１１と、エッジの方向５０と、粗い絶対位置に相当する、ルックアップテーブル(Look Up Table)内のビット列が位相検出部１０６へと送られる。位相検出部１０６では、各エッジ画素位置１１に対して、エッジの方向５０と、粗い絶対位置に相当するビット列からエッジ画素位置１１に隣接する前後２つのビットによって図１８のどのグループに属するかを判定する。
【００９９】
次に、判定したグループに基づいて、ＡＢＳパターン補正データメモリ１３３内の補正パラメータを取得し、エッジ画素位置１１でのエッジ補正量を、取得した補正パラメータから算出する。算出した補正量をδ２(ｘ)とすると、補正は、立上りエッジ５１と立下りエッジ５２共に、エッジ画素位置１１にδ２(ｘ)を足して、エッジ画素位置１１を補正する。こうして得られた補正後のエッジ画素位置１１を用いて、位相ずれ量θを求め、高精度な絶対位置を算出する。
【０１００】
このような構成によれば、ＡＢＳパターン補正データメモリ１３３を設け、立上りエッジ５１と立下りエッジ５２の計８つのグループに分けて、各グループで予め求めておいたエッジ補正量からエッジ画素位置１１を補正するようにしたので、回折の影響による誤差を排除することができ、高精度に絶対位置を検出することが可能となる。
また、本実施の形態４では、ＡＢＳパターン補正データメモリ１３３のデータは、予め求めておくように構成したが、実施の形態３と同様に、破線で示すＡＢＳパターン補正データ再計算部１３３ａを設け、ＡＢＳパターン補正データメモリ１３３を更新するように構成してもよい。
【０１０１】
なお、図２２には本発明によるアブソリュートエンコーダの各実施の形態における絶対位置演算部５のハードウェア構成の一例を示す概略構成を示す。図２２において、Ａ／Ｄ変換器４等からの信号を受けるインタフェース(Ｉ／Ｆ)５５１、プロセッサ５５２、プロセッサ５５２で実行される処理のプログラム、処理に係る各種データを格納したメモリ５５３、さらには、例えばエンコーダ異常のアラーム(警報)等を発生するアラーム装置５５４が、バスラインＢＬにバス接続されている。
図１，１１，１５，１７の光量補正部１００，平滑化処理部１０１，エッジ検出部１０２，エッジ位置補正部１０３、デコード部１０４，粗検出部１０５，位相検出部１０６，高精度検出部１０７，補正データ再計算部１２３、ＡＢＳパターン補正データ再計算部１３３ａ等の機能は、例えばメモリ５５３にプログラムとして格納されており、プロセッサ５５２で実行される。また、図１１，１５，１７のエッジ補正データメモリ１１３、図１７のＡＢＳパターン補正データメモリ１３３はメモリ５５３に相当する。
また、実施の形態１で説明されている予め計測しておいた光量補正値、絶対値符号パターン３００の構成するビット列のためのルックアップテーブル、実施の形態４で説明されている算出されたエッジ位置残差と粗検出部１０５で求めた粗い絶対位置に一致するビット列等も、メモリ５５３に格納する。残差保存用メモリはメモリ５５３で構成される。
さらに、光量補正部１００，平滑化処理部１０１，エッジ検出部１０２，エッジ位置補正部１０３、デコード部１０４，粗検出部１０５，位相検出部１０６，高精度検出部１０７，補正データ再計算部１２３、ＡＢＳパターン補正データ再計算部１３３ａ等の機能、および各部で使用するメモリに記載されたデータを生成する部分は、上述のプロセッサの代わりに、それぞれの機能を実行するデジタル回路で構成してもよい。
【０１０２】
本発明の実施の形態１〜４は、組み合わせて使用することも可能であり、また単独であっても使用可能である。
また、本発明の実施の形態１〜４では、反射光学系について説明したが、透過光学系にも適用可能である。また、回転角度を検出するロータリーエンコーダについて説明したが、直線上の位置を計測するリニアエンコーダにも適用可能である。
また、本発明の実施の形態１〜４では、スケール２００上に符号パターン３００を有するトラックを１つだけ設けた場合について説明したが、複数トラックを有するエンコーダに対しても適用可能である。
【産業上の利用可能性】
【０１０３】
この発明によるアブソリュートエンコーダは多くの分野のエンコーダに適用可能である。
【図１】
0006355827.tif 000003
【図２】
0006355827.tif 000004
【図３】
0006355827.tif 000005
【図４】
0006355827.tif 000006
【図５】
0006355827.tif 000007
【図６】
0006355827.tif 000008
【図７】
0006355827.tif 000009
【図８】
0006355827.tif 000010
【図９】
0006355827.tif 000011
【図１０】
0006355827.tif 000012
【図１１】
0006355827.tif 000013
【図１２】
0006355827.tif 000014
【図１３】
0006355827.tif 000015
【図１４】
0006355827.tif 000016
【図１５】
0006355827.tif 000017
【図１６】
0006355827.tif 000018
【図１７】
0006355827.tif 000019
【図１８】
0006355827.tif 000020
【図１９】
0006355827.tif 000021
【図２０】
0006355827.tif 000022
【図２１】
0006355827.tif 000023
【図２２】
0006355827.tif 000024