(57)【要約】【課題】  符号列の選択の効率および正確さの点で有利なアブソリュートエンコーダの提供。【解決手段】  アブソリュートエンコーダは、マークが配列されてなるスケール（２）と、スケールの複数のマークに対応する信号を検出する検出部（１）と、上記信号に対応する絶対位置を求める処理部（３）とを含む。処理部は、絶対位置に対応する符号列の群のうちの一部の符号列を、上記信号に対応する符号列の候補群として選択し、上記信号に対応する符号列を候補群のうちから選択する。【選択図】  図５
2015203625.tif 000002
【特許請求の範囲】
【請求項１】
マークが配列されてなるスケールと、前記スケールの複数のマークに対応する信号を検出する検出部と、前記信号に対応する絶対位置を求める処理部とを含むアブソリュートエンコーダであって、
前記処理部は、
絶対位置に対応する符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とするアブソリュートエンコーダ。
【請求項２】
複数種類のマークを含む複数のマークが間隙および周期をもって配列されてなるスケールと、前記スケールの複数のマークに対応する信号を検出する検出部と、前記信号に対応する絶対位置を求める処理部とを含むアブソリュートエンコーダであって、
前記処理部は、
絶対位置に対応する符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とするアブソリュートエンコーダ。
【請求項３】
複数種類のマークを含む複数のマークが間隙および周期をもって配列されてなるスケールと、前記スケールのＸ個のマークに対応する信号を検出する検出部と、前記信号に基づいて前記Ｘ個のマークのうちのＮ個（Ｎ＜Ｘ）のマークに対応する絶対位置を求める処理部とを含むアブソリュートエンコーダであって、
前記処理部は、
絶対位置に対応するＮ個の符号からなる符号列を含むＸ個の符号からなる符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とするアブソリュートエンコーダ。
【請求項４】
前記処理部は、既に求められた絶対位置に基づいて前記信号に対応する絶対位置を推定し、該推定により得られた絶対位置に基づいて前記候補群を選択することを特徴とする請求項１ないし請求項３のうちいずれか１項に記載のアブソリュートエンコーダ。
【請求項５】
前記処理部は、前記信号に基づく符号列と前記候補群のうちの符号列との間の類似度に基づいて、前記信号に対応する符号列を前記候補群のうちから選択することを特徴とする請求項１または請求項２に記載のアブソリュートエンコーダ。
【請求項６】
前記処理部は、前記信号に基づくＸ個の符号からなる符号列と前記候補群のうちの符号列との間の類似度に基づいて、前記信号に対応する符号列を前記候補群のうちから選択することを特徴とする請求項３に記載のアブソリュートエンコーダ。
【請求項７】
前記処理部は、前記推定により得られた絶対位置を含む絶対位置の範囲に対応する前記候補群を選択することを特徴とする請求項４に記載のアブソリュートエンコーダ。
【請求項８】
前記処理部は、前記範囲として、前記検出部と前記スケールとの間の相対加速度および前記推定の誤差のうち少なくとも一方に基づく範囲を用いることを特徴とする請求項７に記載のアブソリュートエンコーダ。
【請求項９】
前記範囲の幅は予め設定されていることを特徴とする請求項７または請求項８に記載のアブソリュートエンコーダ。
【請求項１０】
前記処理部は、既に得られた前記推定の誤差に１より大きい係数を乗じて得られる値に基づいて前記範囲の幅を得ることを特徴とする請求項７または請求項８に記載のアブソリュートエンコーダ。
【請求項１１】
前記処理部は、前記類似度に係る許容条件を満たす前記候補群のうちの符号列を前記信号に対応する符号列として選択することを特徴とする請求項５または請求項６に記載のアブソリュートエンコーダ。
【請求項１２】
前記処理部は、前記候補群のうちに前記許容条件を満たす符号列がなければ、前記推定により得られた絶対位置に対応する符号列を選択することを特徴とする請求項１１に記載のアブソリュートエンコーダ。
【請求項１３】
前記許容条件は、
前記候補群のうち前記類似度としての距離が最小値を有する唯一の符号列であることと、
前記最小値が第１閾値より小さいことと、
前記最小値の次に小さい前記距離の値から前記最小値を減じた値が第２閾値より大きいことと
を含むことを特徴とする請求項１１または請求項１２に記載のアブソリュートエンコーダ。
【請求項１４】
前記処理部は、前記信号に基づくＸ個の符号からなる符号列と前記候補群のうちの符号列との間の類似度に係る許容条件を満たす前記候補群のうちの符号列を前記信号に対応する符号列として選択し、
前記許容条件は、
前記候補群のうち前記類似度としての距離が最小値を有する唯一の符号列であることと、
前記最小値が第１閾値より小さいことと、
前記最小値の次に小さい前記距離の値から前記最小値を減じた値が第２閾値より大きいことと
を含み、
前記符号を２値符号とし、前記候補群に選択されうる複数の符号列の間の前記距離の最小値をＨｄｘｍｉｎとし、前記第１閾値をＴＨＡとし、前記第２閾値をＴＨＲとして、
【数１】
2015203625.tif 000010
なる条件を満たすようにＸの値が設定されていることを特徴とする請求項３に記載のアブソリュートエンコーダ。
【請求項１５】
前記処理部は、前記類似度としてのハミング距離に基づいて、前記信号に対応する符号列を前記候補群のうちから選択することを特徴とする請求項５もしくは請求項６または請求項１１ないし請求項１４のうちいずれか１項に記載のアブソリュートエンコーダ。
【請求項１６】
マークが配列されてなるスケールの複数のマークに対応する信号に基づいて、前記複数のマークに対応する絶対位置を求める処理方法であって、
絶対位置に対応する符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とする処理方法。
【請求項１７】
複数種類のマークを含む複数のマークが間隙および周期をもって配列されてなるスケールの複数のマークに対応する信号に基づいて、前記複数のマークに対応する絶対位置を求める処理方法であって、
絶対位置に対応する符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とする処理方法。
【請求項１８】
複数種類のマークを含む複数のマークが間隙および周期をもって配列されてなるスケールのＸ個のマークに対応する信号に基づいて、前記Ｘ個のマークのうちのＮ個（Ｎ＜Ｘ）のマークに対応する絶対位置を求める処理方法であって、
絶対位置に対応するＮ個の符号からなる符号列を含むＸ個の符号からなる符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とする処理方法。
【請求項１９】
請求項１６ないし請求項１８のうちいずれか１項に記載の処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
可動部と、
前記可動部の運動に係る絶対位置を計測する請求項１ないし請求項１５のうちいずれか１項に記載のアブソリュートエンコーダと、
前記アブソリュートエンコーダの出力に基づいて前記可動部の運動に係る駆動を行う駆動部と、
を備えることを特徴とする駆動装置。
【請求項２１】
請求項２０に記載の駆動装置を備えることを特徴とする産業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アブソリュートエンコーダ、処理方法、プログラム、駆動装置、および産業機械に関する。
【背景技術】
【０００２】
従来、対象物の位置や角度を計測する目的で、インクリメンタルエンコーダやアブソリュートエンコーダが用いられている。そのうち、アブソリュートエンコーダは、グレイコードやＭ系列コード等の符号列に対応するマークを検出することにより、絶対位置を得ることができる。そのため、絶対位置を得るための原点検出機能が不要である。また、原点検出機能を有するインクリメンタルエンコーダの場合、許容範囲を超える高速移動等により絶対位置を正確に計測できなくなって原点検出を要するところ、アブソリュートエンコーダには、そのような必要がない。しかしながら、アブソリュートエンコーダは、スケールや検出部に付いた傷やごみ等により、誤った符号列を生じうる。そのような場合に対処するのに、特許文献１に記載の方法が知られている。当該方法は、マークの検出により得られた符号列を、予め用意したルックアップテーブル内の複数の符号列のそれぞれと比較し、該テーブル内の整合性の良い符号列を選択するというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００４−５２９３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の方法は、検出により得られた符号列とルックアップテーブル内のすべての符号列との比較を行うため、誤った符号列と整合性の良い符号列を選択した結果、誤った絶対位置を出力してしまう可能性がある。また、スケール長の増大またはマークピッチの縮小等によりルックアップテーブル内の符号列の総数が増加すると、比較に要する時間または負荷が増大しうる。
【０００５】
そこで、本発明は、符号列の選択の効率および正確さの点で有利なアブソリュートエンコーダを提供することを例示的目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面は、マークが配列されてなるスケールと、前記スケールの複数のマークに対応する信号を検出する検出部と、前記信号に対応する絶対位置を求める処理部とを含むアブソリュートエンコーダであって、
前記処理部は、
絶対位置に対応する符号列の群のうちの一部の符号列を、前記信号に対応する符号列の候補群として選択し、
前記信号に対応する符号列を前記候補群のうちから選択する
ことを特徴とするアブソリュートエンコーダである。
【発明の効果】
【０００７】
本発明によれば、例えば、符号列の選択の効率および正確さの点で有利なアブソリュートエンコーダを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るアブソリュートエンコーダの構成例を示す図
【図２】アブソリュートエンコーダの検出部の構成例を示す図
【図３】スケール、検出信号、符号列の関係を例示する図
【図４】絶対位置Ｐｎを求める処理の流れを示す図
【図５】絶対位置ＰＬｎを求める処理の流れを示す図
【図６】符号列を選択する処理の流れを示す図
【図７】符号列の選択の具体例（符号列の取得に誤りのない場合）を示す図
【図８】符号列の選択の具体例（符号列の取得に誤りのある場合）を示す図
【図９】符号列の選択の具体例（符号列の取得に誤り過多の場合）を示す図
【図１０】符号列の候補群を選択するための絶対位置の推定を例示する図
【図１１】符号列の候補群を選択する処理の流れを示す図
【図１２】取得される符号列のビット数ＸとＨｄｘｍｉｎとの関係を例示する図
【図１３】検出部の出力から符号列を取得する処理の流れを示す図
【図１４】符号列から得られる絶対位置を内挿する処理の流れを示す図
【図１５】アブソリュートエンコーダの応用例（用途）を示す図
【発明を実施するための形態】
【０００９】
〔実施形態１〕
以下、添付図面を参照して本発明の実施形態を説明する。なお、実施形態を説明するための全図を通して、原則として（断りのない限り）、同一の部材等には同一の符号を付し、その繰り返しの説明は省略する。
【００１０】
図１は、実施形態に係るアブソリュートエンコーダの構成例を示す図である。アブソリュートエンコーダは、マークが配列されてなるスケール２と、スケール２の複数のマークに対応する信号を検出する検出部１（読取ヘッド）と、当該信号に対応する絶対位置を求める処理部３（コントローラ）とを含んで構成されている。検出部１およびスケール２は、相対的に変位可能な第１物体および第２の物体（不図示）に設けられうる。
【００１１】
図２は、アブソリュートエンコーダの検出部１の構成例を示す図である。検出部１は、光源４、受光素子アレイ５（フォトダイオードアレイ等）、カバーガラス６を含んで構成されうる。光源４から放射された光は、カバーガラス６を透過してスケール２に照射される。スケール２で反射された光は、カバーガラス６を透過して受光素子アレイ５に照射される。検出部１およびスケール２は、図のＹ軸に沿った方向に相対的に移動可能とされている（検出部１およびスケール２のいずれか一方は通常固定されているが、それには限定されない）。受光素子アレイ５は、当該移動する方向とは直交した方向（図のＸ軸に沿った方向）に長手方向を有する各受光素子を含むラインセンサとしうる。受光素子アレイ５に拡大投影されたスケールのマークのピッチに比較して複数の受光素子のピッチが十分に小さいため、受光素子アレイ５で光電変換されて得られる信号は、正弦波形に近い周期的波形を有するものとなる。
【００１２】
スケール２は、本実施形態では、複数種類のマークを含む複数のマークが間隙および周期をもって配列されてなる。当該複数のマークは、検出部１およびスケール２の相対的な移動の方向に沿って配列され、絶対位置を表す符号列における各符号に対応する特性（例えば反射率）をそれぞれ有している。本実施形態では、当該符号列は、６ビットのバイナリデータ列（２値符号列）であり、２値の擬似乱数列から構成しうる。なお、本実施形態では、当該符号列を構成する符号として、２値符号を例示するが、Ｍ値符号（Ｍは２より大きい自然数）を採用してもよい。スケール２は、反射部と非反射部とを等ピッチで交互に配置し、反射部の反射率に２種類の値を採用している。このようにして、複数のマークに２値の符号列を対応付けることができる。ここでは、符号１に対応する反射率をＲ１とし、符号０に対応する反射率をＲ２としてスケールを構成している。ここで、図３は、スケール、検出信号、符号列の関係を例示する図である。図３の（ａ）にスケール２を、図３の（ｂ）に受光素子アレイ５で光電変換されて得られた信号Ｉを、図３の（ｃ）に信号Ｉに基づいて処理部３で得られた符号列を示す。図３の（ａ）に示されるように、スケールは、反射率Ｒ１のマークと反射率Ｒ２（＜Ｒ１）のマークと反射率≒０の非反射部とを含んで構成されている。よって、図３の（ｂ）に示されるように、信号Ｉは、反射率Ｒ１および反射率Ｒ２に対応する２種類の振幅を有している。閾値ＴＨｐｅａｋを用い、信号Ｉの大きい方の振幅を符号１とし、小さい方の振幅を符号０として信号Ｉ（の振幅）を２値化して得られた符号列が図３の（ｃ）に示したものである。この符号列「００１１０１１１０１１０１００１００１１１０００」のうち実線で囲まれた「１１０１００」が絶対位置に対応した符号列となっている。スケール上のマーク配列の１ピッチごとに絶対位置に対応する符号列が対応付けられているため、当該符号列から得られる絶対位置は、当該１ピッチの分解能を有していることになる。
【００１３】
図４は、処理部３により絶対位置Ｐｎを求める処理の流れを示す図である。処理部３は、信号Ｉに基づいて、マーク配列の１ピッチの分解能を有する絶対位置ＰＬと、当該分解能より小さい分解能を有する内挿位置ＰＳとを求め、これらを統合することによって当該ピッチより小さい分解能を有する絶対位置Ｐを求めている。ここで、信号Ｉの取得タイミングをＴｎとし、添え字ｎは、当該タイミングに対応していることを示すものとする。図４において、処理部３は、上位装置等からの要求等に基づいて処理を開始し、まず、信号Ｉｎを取得する（ステップＳ１０）。つぎに、信号Ｉｎから内挿位置ＰＳｎを求め（ステップＳ２０）、信号Ｉｎと候補群Ｃｎ（後述）とから絶対位置ＰＬｎを求める（ステップＳ３０）。つづいて、内挿位置ＰＳｎと絶対位置ＰＬｎとから絶対位置Ｐｎを生成する（ステップＳ４０）。絶対位置Ｐｎの生成は、絶対位置ＰＬｎおよび内挿位置ＰＳｎをそれぞれ上位ビットおよび下位ビットとして連結することにより行う。絶対位置Ｐｎの出力をもって処理が終了する。以上の処理の流れは、取得タイミングＴｎことに実行される。
【００１４】
図５は、絶対位置ＰＬｎを求める処理（ステップＳ３０）の流れの詳細を示す図である。処理部３は、まず、上述のような２値化により、信号Ｉｎに基づいて符号列を取得する（ステップＳ３００）。つづいて（場合によりステップＳ３００の前に）、求めるべき絶対位置ＰＬｎに対応する符号列の候補群Ｃｎを、当該求めるべき絶対位置ＰＬｎに対して推定された絶対位置（絶対位置ＰＬｎに対する推定値）に基づいて選択する（ステップＳ３００．５）。ここで、絶対位置ＰＬｎに対する推定値は、例えば、取得タイミングＴｎ−αに対応する絶対位置Ｐｎ−α（αは１以上の少なくとも１つの自然数）に基づいて求めうる。取得タイミングＴｎに対応する候補群Ｃｎは、取得タイミングＴｎで検出された信号Ｉから得られるべき符号列の候補の集合であり、絶対位置ＰＬｎに対する推定値から選択されうる。詳細は、図１１を参照して後述する。
【００１５】
次に、信号Ｉに基づく符号列（上記２値化により得られた符号列）と候補群Ｃｎのうちの複数の符号列それぞれとの間の距離に基づいて、候補群Ｃｎのうちから絶対位置ＰＬｎに対応する符号列を選択する（ステップＳ３０１）。つづいて、ルックアップテーブルの参照等により、ステップＳ３０１で選択された符号列に対応する絶対位置ＰＬｎを得る（ステップＳ３０２）。絶対位置ＰＬｎの出力をもって本処理の流れが終了する。
【００１６】
なお、ステップ３００で取得された符号列は、スケール２の傷、汚れ等により信号Ｉｎの波形（振幅等）が変化することから、エラー（誤った符号）を含んでいる可能性がある。例えば、スケール上に符号列「１１１１１１」に対応するようにマークが配列されているにもかかわらず、ごみが付着して部分的に信号Ｉｎの振幅が低下すると、符号列「１１０１１１」が取得されうる。この場合、「１１１１１１」と「１１０１１１」とでは全く異なる絶対位置に対応しているため、出力される絶対位置に誤りが生じることになる。
【００１７】
そこで、このような誤りを低減するため、候補群Ｃｎを選択し、候補群Ｃｎの中から符号列を選択する。この符号列の選択は、候補群Ｃｎに含まれる符号列ｉ（ｉは符号列の区別のための添え字）と取得された符号列とのハミング距離Ｈｄｉを求めることによる。その詳細は、図６を参照して後述する。ここで、ハミング距離Ｈｄｉは、等しい符号数（桁数）を有する２つの符号列に関して、対応する位置にある符号どうしが互いに異なる符号の組（桁）の個数である。なお、符号列の間の距離は、本実施形態ではハミング距離を用いるが、それには限定されず、２つの符号列の間の類似度に関する他の指標を採用してもよい。例えば、Ｊａｒｏ距離、Ｊａｒｏ‐Ｗｉｎｋｌｅｒ距離、Ｓｏｒｅｎｓｅｎ類似度、Ｃｚｅｋａｎｏｗｓｋｉ類似度、Ｂｒａｙ−Ｃｕｒｔｉｓ非類似度、Ｓｐｅａｒｍａｎ’ｓ順位相関係数、Ｋｅｎｄａｌｌ  ｔａｕ順位相関係数等の指標が知られている。但し、値が大きいほど類似度が低くなるハミング距離のような指標と、値が大きいほど類似度が高くなる指標とがあるので、候補群からの符号列の選択にあたっては、その点を考慮する必要がある。
【００１８】
以下、取得された符号列に基づいて候補群Ｃｎの中から符号列を選択する方法について説明する。まず、取得された符号列との間のハミング距離が候補群Ｃｎの中で最小である符号列ｉをｃｏｄｅ＿ｍｉｎとし、当該最小のハミング距離をＨｄ＿ｍｉｎとする。ｃｏｄｅ＿ｍｉｎは、取得された符号列とは最も近いコードであるといえるが、取得されるべき符号列であったかは分からない。そこで、ｃｏｄｅ＿ｍｉｎは、取得された符号列に対して一致度が絶対的に十分に高いか、また、候補群Ｃｎの中の他の符号列ｉと比較して一致度が相対的に十分に高いかを判断するのが好ましい。そのため、本実施形態では、絶対的な一致度に関する閾値ＴＨＡ（第１閾値）と、相対的な一致度に関する閾値ＴＨＲ（第２閾値）という２つの閾値を用いる。
【００１９】
まず、絶対的な一致度に関する閾値ＴＨＡは、取得された符号列にｃｏｄｅ＿ｍｉｎが十分一致しているかを判定するためのＨｄ＿ｍｉｎに対する閾値である。例えば、取得される符号列のビット数が１０で、Ｈｄ＿ｍｉｎが８であるとする。この場合、取得された符号列とｃｏｄｅ＿ｍｉｎとの間で一致している符号は２つのみのため、絶対的な一致度は低いといえる。そこで、絶対的な一致度に係る閾値ＴＨＡを設定し、Ｈｄ＿ｍｉｎ＜ＴＨＡを満たすか（否か）で絶対的な一致度の高さ（低さ）を判断する。一方、閾値ＴＨＲは、ｃｏｄｅ＿ｍｉｎが候補群の中の他の符号列ｉと比較して相対的に一致度が高いか否かを判断するための閾値である。ここで、取得された符号列との間のハミング距離が候補群Ｃｎの中で２番目に小さい符号列ｉをｃｏｄｅ＿ｍｉｎ２とし、当該２番目に小さいハミング距離をＨｄ＿ｍｉｎ２とする。すると、Ｈｄ＿ｍｉｎ２からＨｄ＿ｍｉｎを減じて得られる値は、ｃｏｄｅ＿ｍｉｎが他の符号列と比べて一致度が相対的にどれだけ高いかの指標となりうる。そこで、相対的な一致度に係る閾値ＴＨＲを設定し、Ｈｄ＿ｍｉｎ２−Ｈｄ＿ｍｉｎ＞ＴＨＲを満たすか（否か）でｃｏｄｅ＿ｍｉｎの他の符号列ｉに対する相対的な一致度の高さ（低さ）を判断する。
【００２０】
本実施形態では、上記の２つの閾値に係る判断条件（許容条件）を満たす場合、取得された符号列に対応する符号列（絶対位置に対応する符号列）としてｃｏｄｅ＿ｍｉｎを選択する。上記２つの条件のうちいずれか一方でも満たさない場合は、取得された符号列の信頼性が低いものとして、絶対位置ＰＬｎに対する上記の推定値に対応する符号列Ｅを選択する。
【００２１】
ここで、図６を参照して、図５のステップ３０１の処理の流れの詳細を説明する。図６は、符号列を選択する処理の流れを示す図である。まず、取得された符号列と候補群Ｃｎの中の複数の符号列それぞれとの間のハミング距離を演算する（ステップＳ３０１０）。次に、得られたハミング距離どうしを比較し、最小ハミング距離Ｈｄ＿ｍｉｎと、２番目に小さいハミング距離Ｈｄ＿ｍｉｎ２とを決定する（ステップＳ３０１１）。次に、Ｈｄ＿ｍｉｎを有する符号列が１つのみかを判断する（ステップＳ３０１２）。ここで、もし当該符号列が２つ以上存在する場合、後述する式（１）の条件から同じく後述するＨｄ＿ｍｉｎ＜ＴＨＡなる条件を満たさいため、符号列Ｅを選択する（ステップＳ３０１７）。Ｈｄ＿ｍｉｎを有する符号列が１つのみであった場合、当該符号列をｃｏｄｅ＿ｍｉｎとして、Ｈｄ＿ｍｉｎ＝０であるかを判断する（ステップＳ３０１３）。この判断がＹｅｓ（肯定的）であれば、取得された符号列とｃｏｄｅ＿ｍｉｎとが完全に一致しているため、取得にエラー（誤り）がなかった符号列に対応する符号列としてｃｏｄｅ＿ｍｉｎを選択する（ステップＳ３０１６）。Ｈｄ＿ｍｉｎ≠０の場合（符号列の取得にエラーがある場合）は、次に、Ｈｄ＿ｍｉｎが閾値ＴＨＡより小さいか判断（比較）する（ステップＳ３０１４）。Ｈｄ＿ｍｉｎ＜ＴＨＡを満たす場合、次に、Ｈｄ＿ｍｉｎ２−Ｈｄ＿ｍｉｎが閾値ＴＨＲより大きいか判断（比較）する（ステップＳ３０１５）。ステップＳ３０１４およびＳステップ３０１５の双方の条件を満たす場合、取得にエラーがあった符号列に対応する符号列としてｃｏｄｅ＿ｍｉｎを選択する（ステップＳ３０１６）。ステップＳ３０１３およびステップＳ３０１４のうちいずれかの条件を満たさない場合、取得にエラーがあって信頼性が低い符号列に対応する符号列として符号列Ｅを選択する（ステップＳ３０１７）。なお、ステップＳ３０１１においてＨｄ＿ｍｉｎ２を有する符号列が２つ以上存在した場合でも、それ以降の処理に変更の必要はない。
【００２２】
図７ないし図９は、符号列の選択の具体例（図７は符号列の取得に誤りのない場合、図８は符号列の取得に誤りのある場合、図９は符号列の取得に誤り過多の場合）を示す図である。それぞれの例において、候補群Ｃｎに含まれる符号列は１１個とした。また、各図において、添え字「ｉ」は、ｉの付された符号列が、符号列Ｅに対応するスケール上のマーク配列に対して「スケールピッチ×ｉ」の距離だけ離れたマーク配列に対応する符号列であることを示している。また、各図において、「ハミング距離」は、取得された符号列と候補群の中の各符号列との間のハミング距離を示し、「順位」は、小さい方からのハミング距離の順位を示す。図７ないし図９の例において、閾値ＴＨＡ＝３、閾値ＴＨＲ＝４としている。
【００２３】
図７の例は、符号列ｉ＝−１のハミング距離が唯一０（零）であり、符号列ｉ＝−１がｃｏｄｅ＿ｍｉｎとなる。よって、図６のステップＳ３０１３の判断により、符号列ｉ＝−１、すなわち符号列「００１１０１１１０１１０１００１００１１１０００」が選択される。次に、図８の例でも、符号列ｉ＝−１がハミング距離の唯一の最小値を示すため、符号列ｉ＝−１がｃｏｄｅ＿ｍｉｎとなる。ただし、そのハミング距離は０でなく２である。よって、ステップ３０１４における判断条件が「Ｈｄ＿ｍｉｎ＝２＜ＴＨＡ＝３」として満たされる。そして、符号列ｉ＝−４のハミング距離が２番目に小さく、Ｈｄ＿ｍｉｎ２＝８であるため、ステップ３０１５における判断条件が「Ｈｄ＿ｍｉｎ２−Ｈｄ＿ｍｉｎ＝６＞ＴＨＲ＝４」として満たされる。よって、ステップ３０１５における判断により、符号列ｉ＝−１が選択される。
【００２４】
つづいて、図９の例でも、符号列ｉ＝−１がハミング距離の唯一の最小値を示すため、符号列ｉ＝−１がｃｏｄｅ＿ｍｉｎとなる。しかし、そのハミング距離は４である。よって、ステップ３０１４における判断条件が「Ｈｄ＿ｍｉｎ＝４＞ＴＨＡ＝３」となって満たされない。よって、ステップ３０１４における判断により、取得された符号列の信頼性が低いことから、候補群Ｃｎの中から符号列Ｅが選択される。
【００２５】
以上説明したように、取得された符号列との距離を求める複数の符号列を候補群Ｃｎに限定することにより、絶対位置を求める処理（符号列を決定（確定）する処理）の効率化と、絶対位置の誤りの低減とに有利な効果が見込まれる。例えば、取得された符号列を絶対位置に対応する全符号列と照合する場合に比較して、処理時間は、（候補群に含まれる符号列数）／（全符号列数）程度に短縮しうる。また、誤りをもって取得された符号列が本来のものとは異なる符号列と一致して誤った絶対位置を出力しうるところ、そのような符号列が候補群に含まれていない限り誤った符号列が選択される可能性を低減できるため、絶対位置の誤りを低減することができる。
【００２６】
ここで、正しい絶対位置の出力を可能にするためには、候補群Ｃｎの中に正しい絶対位置に対応する符号列が必ず含まれていることと、候補群Ｃｎの中に類似した符号列が存在していないこととが要件となる。そこで、まず、候補群Ｃｎの中に正しい絶対位置に対応する符号列が必ず含まれていることを担保するための候補群を選択する処理（図５のステップＳ３００．５）の詳細を説明する。図１０は、符号列の候補群を選択するための絶対位置の推定を例示する図であり、図１１は、符号列の候補群を選択する処理の流れを示す図である。まず、図１０は、信号Ｉの取得タイミングＴｎと、既に求められた絶対位置（○）と、推定により得られる絶対位置（■）との関係を示している。また、タイミングＴｎで求められた絶対位置をＰｎ、推定により得られる絶対位置をＰｎ´、候補群に対応する絶対位置の範囲をＰｎ´´で示している。
【００２７】
図１１において、まず、既に求められた複数の絶対位置として、タイミングＴｎ−１での絶対位置Ｐｎ−１とタイミングＴｎでの絶対位置Ｐｎとを取得する（ステップＳ５００）。次に、（Ｐｎ−Ｐｎ−１）／（Ｔｎ−Ｔｎ−１）より検出部１とスケール２との間の相対速度を求め、当該相対速度と時間（Ｔｎ＋１−Ｔｎ）と絶対位置Ｐｎとに基づいてタイミングＴｎ＋１での絶対位置Ｐｎ＋１´を推定する（ステップＳ５０１）。つづいて、タイミングＴｎ＋１での候補群Ｃｎ＋１に係る絶対位置の範囲の幅Ｐｎ＋１´´を決定する（ステップＳ５０２）。ここで、当該幅は、固定値であってもよいし可変値であってもよい。当該幅は、例えば、検出部１とスケール２との間の相対加速度の最大値に基づいて決定しうる。または、絶対位置の推定誤差の実績値に基づく学習により当該幅の（初期）値を更新していくような方法で決定してもよい。次いで、推定した絶対位置Ｐｎ＋１´と決定した絶対位置の範囲の幅Ｐｎ＋１´´とに基づいて符号列の候補群Ｃｎ＋１が選択される（ステップＳ５０３）。なお、候補群Ｃｎ＋１の中で、推定した絶対位置Ｐｎ＋１´に対応する符号列を符号列Ｅとする。
【００２８】
なお、候補群Ｃｎ＋１に係る絶対位置の範囲の幅Ｐｎ＋１´´を上記のような相対加速度の最大値から決める場合、上記のように求めた相対速度の誤差を最大限に考慮できる。そのため、Ｔｎ＋１における正しい絶対位置に対応する符号列が候補群Ｃｎ＋１の中に必ず（例外的な異常がない限り）含まれることになる。また、上述の学習による場合、例えば、絶対位置の推定値Ｐｎ´とそれに対して実際に得られた絶対位置Ｐｎとの誤差に安全係数Ｋ（＞１）を掛け合わせる等の方法により候補群Ｃｎ＋１に係る絶対位置の範囲の幅Ｐｎ＋１´´決定してもよい。このようにすると、候補群に含まれる符号列の数を削減しうるため、符号列を選択する処理時間の短縮に有利となる。また、候補群Ｃｎ＋１に係る絶対位置の範囲の幅Ｐｎ＋１´´は、以上の方法に限らず、アブソリュートエンコーダの種々のアプリケーションに応じた種々の方法により決定しうる。
【００２９】
ここからは、候補群Ｃｎの中に類似した符号列が存在していないことを担保するための方法を説明する。当該担保は、図５のステップＳ３０１における符号列の選択の誤りを低減するのが目的である。よって、「類似した符号列」の指標には、上述したＴＨＡおよびＴＨＲを用いることができる。まず、絶対位置を表す符号列のビット数をＮ個（本実施形態ではＮ＝６）とし、検出部１を介して取得される符号列のビット数をＸ個（Ｘ≧Ｎ）とする。絶対位置の範囲に係る所定の幅を有する任意の候補群Ｃｎの中に含まれるＸビットの符号列どうしで得られるハミング距離の最小値をＨｄｘｍｉｎとする。このＨｄｘｍｉｎが次の関係式を満たせば、ステップＳ３０１において符号列の選択の誤りは生じない。
【００３０】
【数１】
2015203625.tif 000003
【００３１】
以下に、式（１）を満たせば符号列の選択の誤りが生じないことを説明する。候補群Ｃｎの中でＨｄｘｍｉｎとなる符号列の組み合わせは、最も類似した符号列の組合せであるため、図５のステップＳ３０１における選択が最も誤りやすい組合せといえる。そこで、そのような組合せのうちの一方の符号列を符号列１とし、他方の符号列を符号列２とする。また、符号列１に対応するマーク列を検出して取得された符号列を符号列３とする。ここで、符号列１と符号列２との間のハミング距離をＨｄ１２（＝Ｈｄｘｍｉｎ）とし，符号列１と符号列３との間のハミング距離をＨｄ１３とし、符号列２と符号列３との間のハミング距離をＨｄ２３とする。まず、符号列３の取得に誤りがない場合、Ｈｄ１３＝０、Ｈｄ２３＝Ｈｄｘｍｉｎとなる。次に、符号列３の取得に符号の誤りがＭ個存在する場合を考える。Ｍ個のうち、符号列１と符号列２とが互いに同じ値を有する符号に対する誤りがＭｅ個で、符号列１と符号列２とが互いに異なる値を有する符号に対する誤りがＭｕ個であるとする。この場合、Ｈｄ１３＝Ｍと、Ｈｄ２３＝Ｈｄｘｍｉｎ＋Ｍｅ−Ｍｕとが成り立つ。ここで、Ｈｄ２３が最小になるのは、符号列１と符号列２とが互いに異なる値を有する符号に対する誤りがＭ個である場合、すなわちＭ＝Ｍｕの場合である。その場合、Ｈｄ１３＝Ｍｕ、Ｈｄ２３＝Ｈｄｘｍｉｎ−Ｍｕが成り立つ。
【００３２】
ところで、候補群Ｃｎの中から符号列１が選択されるためには、
【００３３】
【数２】
2015203625.tif 000004
【００３４】
なる条件を満たす必要がある。Ｈｄ１３＝Ｍｕ、Ｈｄ２３＝Ｈｄｘｍｉｎ−Ｍｕを式（２）に代入すると次式（３）が得られる。
【００３５】
【数３】
2015203625.tif 000005
【００３６】
式（３）の第２式を変形すると、次式が得られる。
【００３７】
【数４】
2015203625.tif 000006
【００３８】
式（４）は、Ｍｕ＜ＴＨＡより、次式が満たされれば必ず満たされる。
【００３９】
【数５】
2015203625.tif 000007
【００４０】
よって、任意の候補群Ｃｎに関して式（１）が満たされるように、スケール上のマーク配列に対応する符号列を採用すれば、候補群Ｃｎから符号列を選択するのに誤りは生じないことになる。
【００４１】
ここで、採用する符号列について説明する。符号列としてＭ系列などの擬似乱数列を採用する場合、互いにハミング距離の小さい符号列どうしが近接して配置されやすい。その場合でも、スケールから取得する符号列のビット数Ｘを増やすことにより、式（１）を満たすようにできる。図１２は、取得される符号列のビット数ＸとＨｄｘｍｉｎとの関係を例示する図である。図１２から理解されるように、ビット数Ｘを増加させることにより、Ｈｄｘｍｉｎを増加させることができる。また、Ｈｄｘｍｉｎを増加させるために、絶対位置に対応する符号列の開始位置を示す符号列（スタートマーク）を含む符号列を採用してもよい。そのようにすれば、絶対位置に対応する符号列の順序を任意に決定できるため、式（１）を満たすように、互いのハミング距離の大きい符号列どうしを近傍に配置できる。
【００４２】
つづいて、図３および図１３を参照して、図５のステップＳ３００において検出部の出力から符号列を取得する処理の詳細を説明する。図１３は、当該処理の流れを示す図である。まず、検出部１により出力された信号Ｉ（図３（ｂ）参照）の周期ごとの極大値Ｐｅａｋｊ（振幅）を抽出する（ステップＳ３０００）。信号Ｉは、スケール上のマーク配列のピッチ（間隔）と特性（例えば光反射率）とにそれぞれ対応する周期と振幅とを有する。Ｐｅａｋｊの添え字ｊは、極大値が信号Ｉにおけるｊ番目の周期に対応することを示し、図３の例では、１、２、・・・２４のいずれかである。次に、Ｐｅａｋｊが閾値ＴＨｐｅａｋより大きいか否かを判断する（ステップＳ３００１）。Ｐｅａｋｊが閾値ＴＨｐｅａｋより大きい場合、Ｐｅａｋｊに符号１（反射率Ｒ１に相当）を対応づける（ステップＳ３００２）。また、Ｐｅａｋｊが閾値ＴＨｐｅａｋより大きくない場合、Ｐｅａｋｊに符号２（反射率Ｒ２に相当）を対応づける（ステップＳ３００３）（ステップ３００１〜３００２）。次いで、Ｐｅａｋｊ（ｊ＝１、２、・・・２４）に対応する符号を結合することにより符号列（図３（ｃ）参照）を取得し（ステップＳ３００４）、当該符号列を出力して本処理を終了する。図３の（ｃ）は、取得された２４ビットの符号列「００１１０１１１０１１０１００１００１１１０００」を例示し、そのうちの実線で囲まれた６ビットの符号列「１１０１００」は、絶対位置に対応する符号列である。
【００４３】
なお、符号の判断は、上記のような極大値と閾値との比較によるものに限らず、マークの種類（例えば、反射率Ｒ１およびＲ２）を識別できるような方法ならば、いかなる方法であってもよい。例えば、信号Ｉに対して１周期の幅で平均をとる移動平均を行い、信号Ｉの周期毎の極大値に対応する移動平均値を閾値と比較する方法によってもよい。この方法は、平均化によりＳ／Ｎ比が改善されるため、２値化の誤りの低減に有効である。また、閾値ＴＨｐｅａｋは、予め用意した固定値であってもよいし、信号Ｉに基づいて決定した可変値であってもよい。検出部もしくはスケールの特性またはそれらの相対位置関係等の経時変化等が想定される場合は、上記のような可変値を採用するのが２値化の誤りの低減には好ましい。また、閾値ＴＨｐｅａｋは、ｊに依らない値としてもよいし、検出部１で検出される信号の歪み（シェーディング等）を考慮してｊに依って異なる値としてもよい。
【００４４】
次に、図１４を参照して、符号列から得られる絶対位置を内挿する図４のステップＳ２０における処理の詳細を説明する。図１４は、当該処理の流れを示す図である。本処理は、信号Ｉｎに基づいて、マーク配列のピッチ（ｐ）より小さい分解能での内挿位置ＰＳｎを得る。まず、信号Ｉｎの周期とは同じ周期をもった正弦波（ｓｉｎθ）としての標準関数Ｓａおよびそれとは同じ周期をもった余弦波（ｃｏｓθ）としての標準関数Ｓｂのそれぞれと信号Ｉｎとの内積（積和）を次式のように演算する（ステップＳ２００およびＳ２０１）。
【００４５】
【数６】
2015203625.tif 000008
【００４６】
ここで、ａは信号Ｉｎの振幅によって決まる係数であり、φは信号Ｉｎと標準関数Ｓａ（Ｓｂ）との位相差であり、αｓ、αｃはいずれも信号Ｉｎにおける両端での２つの振幅の差および位相差φによって決まる値である。
【００４７】
次に、次式にしたがって内挿位置ＰＳｎを得（ステップＳ２０２）、それを出力して本処理を終了する。
【００４８】
【数７】
2015203625.tif 000009
【００４９】
なお、式（６）の内積は、ピッチｐより周期の短い高調波の成分が信号Ｉｎに含まれていても、その影響を低減することができる。それに限らず、種々の要因による信号Ｉｎの歪みに対して、内挿精度（内挿誤差の低減）の点で有効である。
【００５０】
本実施形態によれば、以上の説明から理解されるように、符号列の選択の効率および正確さの点で有利なアブソリュートエンコーダを提供することができる。
【００５１】
〔他の実施形態〕
図１および図２において、反射型スケールを例示したが、スケールは、透過型であってもよい。また、１トラック式スケールを例示したが、アブソリュート（絶対位置用）トラックおよびインクリメンタル（内挿位置用）トラックを有するマルチトラック式スケールであってもよい。また、マーク配列によって表される符号列を擬似乱数列としたが、それには限定されない。例えば、特許文献１に記載されているような各符号列（絶対位置に対応）の開始がスタートシンボルによって示されるような符号列であってもよい。そのような符号列は、擬似乱数列よりも、絶対位置に対応する符号列の配置に自由度があり、符号列の準備が容易となりうる。
【００５２】
また、リニア（直線型または直線移動型等）スケールを例示したが、ロータリー（例えば、円板型、円環型、円筒型または回転型）スケール等、非リニアスケールであってもよい。また、１次元の絶対位置を求めるアブソリュートエンコーダを例示したが、その限りではなく、２次元または３次元の絶対位置を求めるアブソリュートエンコーダであってもよい。
【００５３】
また、図２において光学系として発散光を用いる形態を例示したが、平行光や集束光を用いる形態であってもよい。また、スケールからの光信号の１周期を１２の受光素子で検出するように構成すると、受光素子アレイ上での光量分布が正弦波状にならない場合でも、３次以上の高調波成分を効果的に低減できる。そのため、高精度な内挿位置を求めることができる。但し、それには限定されず、要求される精度や部品（受光素子アレイ等）の入手の容易性等を勘案して、１周期あたりの受光素子の数は、３、４、６または８等であってもよい。また、受光素子アレイの各素子の感度バラツキや光学系に起因する光量ムラ等を考慮して、上記演算に用いた数式または値を変更してもよい。また、要求精度に応じた近似値を用いてもよい。また、処理部３は、直列または並列のアナログ処理回路ならびにＡ／Ｄ変換器およびデジタル処理回路のうち少なくともいずれかを含んで構成されうる。
【００５４】
また、絶対位置ＰＬｎおよび内挿位置ＰＳｎをそれぞれ上位ビットおよび下位ビットとして連結することにより絶対位置Ｐｎを生成する例を示したが、それには限定されない。例えば、アブソリュートエンコーダを含む装置の用途または動作モードに依り要求される分解能に応じて、常時または適時に絶対位置ＰＬｎのみを生成してもよい。この場合、内挿位置ＰＳｎを生成する機能は、省略または停止しうる。
【００５５】
また、検出部１は、受光素子アレイを含むものを例示したが、それには限定されず、スケール２に構成されるマークの特性に応じて種々の素子のアレイを含みうるものである。すなわち、当該素子は、複数種類のマークを区別する特性に対応するいかなる物理量を検出するものであってもよい。例えば、スケールに構成される複数種類のマークとして、発生する磁界の大きさが互いに異なる複数種類の（永久）磁石を有する場合、検出部１は、ホール素子等の磁気（磁界）検出素子のアレイを採用しうる。
【００５６】
さらに、以上の実施形態は、以下の処理を実行することによっても実現されうる。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）等がプログラムを読み出して実行する処理である。ここで、当該コンピュータ等は、処理部３としうる。
【００５７】
＜応用例＞
他の実施形態としてのアブソリュートエンコーダの応用例を説明する。アブソリュートエンコーダは、原点（基準位置）検出のための動作を必須としないため、種々の駆動装置や、それを含むロボットや運輸機械または装置、産業機械または装置（工作、加工、計測、製造に係る機械または装置を含む）等において有用である。当該駆動装置は、可動部と、該可動部の運動に係る絶対位置を計測するアブソリュートエンコーダと、該アブソリュートエンコーダの出力に基づいて該可動部の運動に係る駆動を行う駆動部（アクチュエータ）とを含みうる。ここでは、一例として、産業機械としてのリソグラフィ装置（露光装置等）に備えられるステージ（ＸＹステージ）装置への適用例を説明する。図１５は、本応用例におけるステージ装置１０００の構成例を示す図である。
【００５８】
なお、リソグラフィ装置は、パターンを基板に形成する装置であって、例えば、露光装置、描画装置、インプリント装置として具現化されうる。露光装置は、例えば、（極端）紫外光を用いて基板（上のレジスト）に（潜像）パターンを形成する。また、描画装置は、例えば、荷電粒子線（電子線等）を用いて基板（上のレジスト）に（潜像）パターンを形成する。また、インプリント装置は、基板上のインプリント材を成型して基板上にパターンを形成する。
【００５９】
ステージ１０００は、図１５に示すように、Ｙ軸方向へのステージ１００８（可動部）の移動に用いられるＹ軸モータ１００９（駆動部）と、Ｘ軸方向へのステージ１００８の移動に用いられるＸ軸モータ１０１２（駆動部）とを有する。ここで、例えば、各モータの固定子および可動子の一方にアブソリュートエンコーダのスケール２を、他方にアブソリュートエンコーダの検出部１を取り付けることにより、ステージ１００８の絶対位置を得ることができる。
【００６０】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００６１】
１  検出部
２  スケール
３  処理部
【図１】
2015203625.tif 000011
【図２】
2015203625.tif 000012
【図３】
2015203625.tif 000013
【図４】
2015203625.tif 000014
【図５】
2015203625.tif 000015
【図６】
2015203625.tif 000016
【図７】
2015203625.tif 000017
【図８】
2015203625.tif 000018
【図９】
2015203625.tif 000019
【図１０】
2015203625.tif 000020
【図１１】
2015203625.tif 000021
【図１２】
2015203625.tif 000022
【図１３】
2015203625.tif 000023
【図１４】
2015203625.tif 000024
【図１５】
2015203625.tif 000025