(57)【要約】【課題】アブソリュート位置トラックの汚れに対してアブソリュート位置を正確に読取ることが可能であり、アブソリュート位置の誤検出を回避可能な小型かつ低コストなアブソリュート位置検出装置を提供する。【解決手段】アブソリュート位置センサ９が絶対位置を表現するｎ  ｂｉｔ長のコードよりも長い（ｎ＋ｍ）ｂｉｔ長のコードＢを出力し、マイクロプロセッサ１０がコード長とアブソリュート位置がコードＢと対応する不規則循環乱数コードＢ’を発生し、さらにコードＢとコードＢ’をｐ個に分割し、分割されたｐ個の分割要素コードをコード単位で評価比較し、その一致度に基づきアブソリュート位置誤検出の回避しつつ、アブソリュート位置の特定を行う。【選択図】        図１
2005024331.tif 000002
【特許請求の範囲】
【請求項１】
可動部の位置を不規則循環乱数コードとして出力するアブソリュート位置センサの出力信号に基づいて、アブソリュート位置を検出するアブソリュート位置検出装置であって、
前記不規則循環乱数コードは、最小ｎ  ｂｉｔ長のコードで前記可動部のアブソリュート位置を特定可能であり、
前記アブソリュート位置センサは、ｎ  ｂｉｔ長のコードＡよりもｍ  ｂｉｔ（ｍは自然数、ｎ＋ｍは素数以外の値）だけ長い（ｎ＋ｍ）ｂｉｔ長のコードＢを出力するものであり、
コード長とアブソリュート位置が前記コードＢと対応する不規則循環乱数コードＢ’を順番に順次出力する不規則循環乱数コード発生手段と、
前記コードＢと前記コードＢ’とを２ｂｉｔ以上のｐ個の分割要素コードに等分割するコード分割手段と、
前記コード分割手段により前記コードＢをｐ分割した第１の分割要素コードＢ１〜Ｂｐと、前記コード分割手段により前記コードＢ’をｐ分割した第２の分割要素コードＢ１’〜Ｂｐ’とを、それぞれ対応する分割要素コードごとに比較し、一致した要素数を出力するコード比較手段と、
前記コード比較手段が出力する一致した要素数によって、前記コードＢ’が前記コードＢに対応する不規則循環乱数コードであるかの真偽を判定するコード判定手段と、
前記コード判定手段が真と判定したときの前記コードＢ’の発生順番から、前記アブソリュート位置を特定し出力するアブソリュート位置出力手段と、
を具備することを特徴とするアブソリュート位置検出装置。
【請求項２】
可動部の位置をインクリメンタル信号として出力するインクリメンタル位置センサからの出力信号に基づき可動部の位置を検出したインクリメンタル位置情報に対して、可動部の位置を不規則循環乱数コードとして出力するアブソリュート位置センサ信号に基づき、位置情報の異常検出が可能なアブソリュート位置検出装置であって、
前記不規則循環乱数コードは、最小ｎ  ｂｉｔ長のコードで前記可動部のアブソリュート位置を特定可能であり、
前記アブソリュート位置センサはｎ  ｂｉｔ長のコードＡよりもｍ  ｂｉｔ（ｍは自然数、ｎ  ＋  ｍは素数以外の値）だけ長い（ｎ＋ｍ）ｂｉｔ長のコードＢを出力するものであり、
前記インクリメンタル位置信号に対応した不規則循環乱数コードＢ”を出力する不規則循環乱数コード変換手段と、
前記コードＢと前記コードＢ”とを２ｂｉｔ以上のｐ個の分割要素コードに等分割するコード分割手段と、
前記コード分割手段により前記コードＢをｐ分割した第１の分割要素コードＢ１〜Ｂｐと、前記コード分割手段により前記コードＢ”をｐ分割した第２の分割要素コードＢ１”〜Ｂｐ”とを、それぞれ対応する分割要素コードごとに比較し、一致した要素数を出力するコード比較手段と、
前記コード比較手段が出力する一致した要素数によって、前記コードＢ”が前記コードＢに対応する不規則循環乱数コードであるかの真偽を判定するコード判定手段と、
前記コード判定手段が真と判定したときの前記コードＢ”の発生順番から、前記アブソリュート位置を特定し出力するアブソリュート位置出力手段と、
を具備することを特徴とするアブソリュート位置検出装置。
【請求項３】
前記コード分割手段により得られる前記第１、第２の要素コードのｂｉｔ長が前記コード長ｎ  ｂｉｔ  よりも短いｂｉｔ長であることを特徴とする請求項１または請求項２記載のアブソリュート位置検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不規則循環乱数コードをアブソリュート位置として検出するアブソリュート位置検出装置に関する。
【０００２】
【従来の技術】
工作機械等で高精度の加工を行うためには、ワークピースあるいは工具のアブソリュート（絶対値）位置を正確に検出することが求められる。ストローク内のアブソリュート位置を検出する方法として、ストローク内の位置に対応したＭ系列等の不規則循環乱数コードを出力するアブソリュート位置センサの出力からアブソリュート位置を検出する方法が知られている。
【０００３】
しかし、不規則循環乱数コードが刻まれたスケールの汚れ、アブソリュート位置センサ部の汚れなどがある場合、正確なアブソリュート位置センサからの出力を得ることができず、アブソリュート位置を誤検出してしまう可能性がある。このような誤検出を回避するために、複数の位置にアブソリュート位置センサを配置することにより、複数のアブソリュート位置センサのうち、一部が誤ったアブソリュート位置を出力しても、アブソリュート位置誤検出を回避する方法などが知られている（例えば、特許文献１参照）。
【０００４】
図１０は、従来の不規則循環乱数コードを出力するアブソリュート位置センサからアブソリュート位置を求める方法の例を示す概略図である。図１１は、アブソリュート位置センサ１，２，３と不規則循環乱数コードが刻まれたアブソリュート位置トラック８を有するスケール７の概略図である。
【０００５】
図１０、図１１のアブソリュート位置センサ１，２，３はそれぞれ対応しており、位置の変化に対応して、アブソリュート位置トラック８に刻まれた不規則循環乱数コードである５ｂｉｔ長の５ｂｉｔ  Ｍ系列コードＭ５−５（１）、Ｍ５−５（２）、Ｍ５−５（３）を出力する。
【０００６】
５ｂｉｔ  Ｍ系列発生装置５は、５ｂｉｔのシフトレジスタの右から５ｂｉｔ目と２ｂｉｔ目の排他的論理和をとり１ｂｉｔ左へシフトする動作をし、排他的論理和演算結果を１ｂｉｔ目に入力する演算により、２５−１を１周期とするＭ系列コードを発生する。
【０００７】
アブソリュート位置センサ１，２，３から得られる５ｂｉｔ長の５ｂｉｔ  Ｍ系列コードＭ５−５（１）、Ｍ５−５（２）、Ｍ５−５（３）とＭ系列発生装置５から得られる５ｂｉｔ長の５ｂｉｔ  Ｍ系列コードＭ５−５’の値をマイクロプロセッサ６で比較し、比較結果が一致するまで数（１）のようにシフトレジスタのシフト数を示す数値ｉ（Ｎ）（ただしＮ＝１ｏｒ２ｏｒ３で、アブソリュート位置センサの番号を示す）を増加させ、シフトカウンタ４でカウントする。
【数１】
ｉ（Ｎ）＝ｉ（Ｎ）＋１    （Ｎ＝１ｏｒ２ｏｒ３）……（１）
【０００８】
そして、前記第１の繰り返し演算よりＭ５−５（Ｎ）＝Ｍ５−５’となる時の前記数値ｉ（Ｎ）を求め、Ｎ＝３とＮ  ＝２で求められた前記数値ｉ（Ｎ）を、図１１に示したセンサ１とセンサ２との位置のオフセットｅ１と、センサ１とセンサ３との位置のオフセットｅ２とを数（２）のように補正し、
【数２】
ｉ（２）’＝ｉ（２）−ｅ１
ｉ（３）’＝  ｉ（３）−ｅ２                                  ……（２）
補正した値ｉ（２）’，ｉ（３）’の関係が、数（３）の関係を満たすときの、ｉ（１），ｉ（２）’，ｉ（３）’の値がアブソリュート位置Ｘとなる。
【数３】
ｉ（１）＝ｉ（２）’＝ｉ（３）’ ｏｒ
ｉ（１）＝ｉ（２）’   ｏｒ
ｉ（１）＝ｉ（３）’   ｏｒ
ｉ（２）’＝ｉ（３）’ ……（３）
【０００９】
このような方法により、アブソリュート位置センサ１，２，３から検出されるＭ系列コードＭ５−５（１）、Ｍ５−５（２）、Ｍ５−５（３）から得られる数値ｉ（１），ｉ（２）’，ｉ（３）’のうち２つ以上の値が一致していれば、アブソリュート位置Ｘは正しく読取れたと判定される。
【００１０】
【特許文献１】
特開平９−２２９７１７号公報
【００１１】
【発明が解決しようとする課題】
しかし、上述したような方法では、アブソリュート位置センサが複数必要となり小型化が困難となり高コストとなってしまう。また、スケールの汚れパターンが、全てのアブソリュート位置センサにおいて１ｂｉｔずつ誤るようなパターンが生じた場合、正確なアブソリュート位置かどうかを判定することが不可能となってしまう。
【００１２】
本発明は上述のような事情から成されたものであり、本発明の目的は、不規則循環乱数コードを出力するアブソリュート位置センサから冗長なｂｉｔを含んだコードを読むことが可能であることを利用し、様々なパターンのアブソリュート位置トラックの汚れに対してアブソリュート位置を正確に読取ることが可能であり、複数のアブソリュート位置センサを必要とせず低コストで小型化されたアブソリュート位置センサにより、アブソリュート位置の誤検出を回避することのできるアブソリュート位置検出装置を提供することにある。
【００１３】
【課題を解決するための手段】
上述のような目的を達成するために、本発明は、可動部の位置を不規則循環乱数コードとして出力するアブソリュート位置センサの出力信号に基づいて、アブソリュート位置を検出するアブソリュート位置検出装置であって、前記不規則循環乱数コードは、最小ｎ  ｂｉｔ長のコードで前記可動部のアブソリュート位置を特定可能であり、前記アブソリュート位置センサはｎ  ｂｉｔ長のコードＡよりもｍ  ｂｉｔ（ｍは自然数、ｎ＋ｍは素数以外の値）だけ長い（ｎ＋ｍ）ｂｉｔ長のコードＢを出力するものであり、コード長とアブソリュート位置が前記コードＢと対応する不規則循環乱数コードＢ’を順番に順次出力する不規則循環乱数コード発生手段と、前記コードＢと前記コードＢ’とを２ｂｉｔ以上のｐ個の分割要素コードに等分割するコード分割手段と、前記コード分割手段により前記コードＢをｐ分割した第１の分割要素コードＢ１〜Ｂｐと、前記コード分割手段により前記コードＢ’をｐ分割した第２の分割要素コードＢ１’〜Ｂｐ’とを、それぞれ対応する分割要素コードごとに比較し、一致した要素数を出力するコード比較手段と、前記コード比較手段が出力する一致した要素数によって、前記コードＢ’が前記コードＢに対応する不規則循環乱数コードであるかの真偽を判定するコード判定手段と、前記コード判定手段が真と判定したときの前記コードＢ’の発生順番から、前記アブソリュート位置を特定し出力するアブソリュート位置出力手段を具備することを特徴とする。
【００１４】
また、可動部の位置をインクリメンタルな信号として出力するインクリメンタル位置センサからの出力信号に基づき可動部の位置を検出したインクリメンタル位置情報に対して、可動部の位置を不規則循環乱数コードとして出力するアブソリュート位置センサ信号に基づき、位置情報の異常検出が可能なアブソリュート位置検出装置であって、前記不規則循環乱数コードは、最小ｎ  ｂｉｔ長のコードで前記可動部のアブソリュート位置を特定可能であり、前記アブソリュート位置センサはｎ  ｂｉｔ長のコードＡよりもｍ  ｂｉｔ（ｍは自然数、ｎ＋ｍは素数以外の値）だけ長い（ｎ＋ｍ）ｂｉｔ長のコードＢを出力するものであり、前記インクリメンタル位置信号に対応した不規則循環乱数コードＢ”を出力する不規則循環乱数コード変換手段と、前記コードＢと前記コードＢ”それぞれを２ｂｉｔ以上のｐ個の分割要素コードに等分割するコード分割手段と、前記コード分割手段により前記コードＢをｐ分割した第１の分割要素コードＢ１〜Ｂｐと、前記コード分割手段により前記コードＢ”をｐ分割した第２の分割要素コードＢ１”〜Ｂｐ”とを、それぞれ対応する分割要素コードごとに比較し、一致した要素数を出力するコード比較手段と、前記コード比較手段が出力する一致した要素数によって、前記コードＢ”が前記コードＢに対応する不規則循環乱数コードであるかの真偽を判定するコード判定手段と、前記コード判定手段が真と判定したときの前記コードＢ”の発生順番から、前記アブソリュート位置を特定し出力するアブソリュート位置出力手段と、を具備することを特徴とする。
【００１５】
また、上記構成において、前記コード分割手段により得られる前記第１、第２の要素コードのｂｉｔ長が前記コード長ｎ  ｂｉｔ  よりも短いｂｉｔ長であることを特徴とする。
【００１６】
このような構成によれば、不規則循環乱数コードで表現されるストローク内のアブソリュート位置を、アブソリュート位置センサにより絶対位置を表現するｎ  ｂｉｔ長のコードよりも長い（ｎ＋ｍ）ｂｉｔ長のコードとして出力し、（ｎ＋ｍ）ｂｉｔのコードをｐ個に分割し、分割されたｐ個の｛（ｎ＋ｍ）／ｐ｝ｂｉｔ長のコード単位で評価することができる。言い換えれば、アブソリュート位置センサから出力されるコードを小さく分割し評価できることにより、アブソリュート位置トラックの様々な汚れパターンに対応して、アブソリュート位置誤検出の回避を実現し、比較的広い面積のスケール汚れに対してもアブソリュート位置を特定することができる。
【００１７】
また、可動部の位置をインクリメンタルな信号として出力するインクリメンタル位置センサからの出力信号に基づき可動部の位置を検出したインクリメンタル位置情報に対して、可動部の位置を不規則循環乱数コードとして出力するアブソリュート位置センサ信号に基づき異常検出を行うので、アブソリュート位置センサからの信号が、アブソリュート位置トラックの汚れなどにより乱れた場合でも、インクリメンタルな位置情報の異常検出チェックにより誤りを回避し、アブソリュート位置の特定を行うことができる。この場合も、アブソリュート位置センサから出力されるコードを小さく分割し評価できることにより、アブソリュート位置センサ出力からのコードの様々な誤りパターンに対して、アブソリュート位置誤検出の回避ができ、比較的広い面積のスケール汚れに対しても絶対位置検出ができる。
【００１８】
【発明の実施の形態】
以下、本発明の好適な実施の形態（以下、実施形態という）を図面に基づき説明する。
【００１９】
図１は、本実施形態のアブソリュート位置検出装置を示すブロック図である。図２は、アブソリュート位置センサ９と、不規則循環乱数コードが刻まれたアブソリュート位置トラック１４を有するスケール１３の概略図であり、図１と図２のアブソリュート位置センサ９は対応している。また、図６は図１のマイクロプロセッサ１０で行われるデータ処理を示すフローチャートである。図２で、スケール１３のアブソリュート位置トラック１４には循環周期（２５−１）×（２１３−１）の１８ｂｉｔ不規則循環乱数コードＧ１８  （ＧＯＬＤ系列コード）が刻まれており、アブソリュート位置センサ９（例えばリニアイメージセンサなど）はアブソリュート位置トラック１４に刻まれた不規則循環乱数コードから６４ｂｉｔ長の１８ｂｉｔ不規則循環乱数コードＧ１８−６４を位置に対応して出力する。図１の不規則循環乱数コード発生器１１（不規則循環乱数コード発生手段）で行われる１８ｂｉｔ不規則循環乱数コードＧ１８の生成方法を図５に示す。
【００２０】
図５では数（４）に示すように、５ｂｉｔ  Ｍ系列発生装置２３から得られる１８ｂｉｔ長の２５−１の周期で循環する５ｂｉｔ  Ｍ系列コードＭ５−１８と、１３ｂｉｔ  Ｍ系列発生装置２４から得られる１８ｂｉｔ長の２１３−１の周期で循環する１３ｂｉｔ  Ｍ系列コードＭ１３−１８との排他的論理和をとることにより、循環周期２５３９２１｛２５３９２１＝（２５−１）×（２１３−１）｝の１８ｂｉｔ長の不規則循環乱数コードＧ１８−１８を発生する。本実施形態での不規則循環乱数コード発生器１１は、１３ｂｉｔ  Ｍ系列発生装置２４が１回シフトするごとに、５ｂｉｔ  Ｍ系列発生装置２３が１回シフトする。１３ｂｉｔ  Ｍ系列発生装置２４のシフト数ｉＧをシフトカウンタ１２でカウントし、シフト数ｉＧがアブソリュート位置Ｘに対応する。ここで、循環周期２５−１＝３１と循環周期２１３−１＝８１９１は互いに素な関係となっている必要がある。
【数４】
2005024331.tif 000003
【００２１】
このように求められる不規則循環乱数コードＧ１８は、アブソリュートトラック１４にも予め刻まれておりアブソリュート位置センサ９で検出される。
【００２２】
図６のフローチャートに沿って本発明による位置検出の処理方法を説明する。
【００２３】
シフトカウンタ１２のシフト数ｉＧの初期値を０とする（ＳＴＥＰ１）。
【００２４】
アブソリュート位置センサ９によりアブソリュート位置トラック１４から読取った６４ｂｉｔ長の不規則循環乱数系列コードＧ１８−６４  をマイクロプロセッサ１０に入力する（ＳＴＥＰ２）。
【００２５】
不規則循環乱数コード発生器１１で６４ｂｉｔ長の不規則循環乱数系列コードＧ１８−６４（ｉＧ）を生成しマイクロプロセッサ１０に入力する（ＳＴＥＰ３）。
【００２６】
そして、コード分割手段を含むマイクロプロセッサ１０で、Ｇ１８−６４とＧ１８−６４（ｉＧ）とを例えば８つの領域に分割し、Ｇ１８−６４の分割コード要素Ｇ１８−８（１）〜Ｇ１８−８（８）とＧ１８−８（ｉＧ）（１）〜Ｇ１８−８（ｉＧ）（８）とを得る（ＳＴＥＰ４）。
【００２７】
ここで、本実施形態の不規則循環乱数コードの性質から、８ヶ所比較したうちの３ヶ所以上の分割コード要素が一致しているならば、Ｇ１８−６４（ｉＧ）はアブソリュート位置センサ９で検出されたＧ１８−６４の位置に対応した正しい不規則循環乱数コードであると言える。そのことを確認するための証明は後述する。そして、コード比較手段として機能するマイクロプロセッサ１０で、分割要素コードＧ１８−８（１）〜Ｇ１８−８（８）とＧ１８−８（ｉＧ）  （１）〜Ｇ１８−８（ｉＧ）  （８）とで、対応する要素コードを比較する（ＳＴＥＰ５）。
【００２８】
さらに、コード判定手段として機能するマイクロプロセッサ１０は、ＳＴＥＰ５の比較結果において、３つ以上一致したかどうかを確認する。もし一致していなければ、前記数値ｉＧが２５３９２１｛＝（２５−１）×（２１３−１）｝より小さいかどうかを判定し、２５３９２１より小さいならば数（５）のようにｉＧに１を加算し、ＳＴＥＰ３に戻る。もし前記数値ｉＧが２５３９２１以上ならばＧ１８−６４（ｉＧ）からはアブソリュート位置を求められない状態にある（ＳＴＥＰ６）。
【数５】
ｉＧ＝ｉＧ＋１                                                ……（５）
【００２９】
もしＳＴＥＰ５の比較結果が３つ以上一致しているならば、Ｇ１８−６４（ｉＧ）はＧ１８−６４の位置に対応した正しい不規則循環乱数コードであるので、アブソリュート位置特定手段として機能するマイクロプロセッサ１０は、不規則循環乱数コードの番地ｉＧはアブソリュート位置Ｘに対応するとして（ＳＴＥＰ７）、アブソリュート位置の特定を行う。
【００３０】
図３は他の実施形態を示すブロック図である。図４は、アブソリュート位置センサ１６、インクレメンタル位置センサ１５と、不規則循環乱数コードが刻まれたアブソリュート位置トラック２１と、アブソリュート位置検出トラック２１に平行して、一定周期のインクレメンタル位置トラック２２が刻まれたスケール２０との構成を示した概略図である。図３と図４のアブソリュート位置センサ１６とインクレメンタル位置センサ１５は対応している。
【００３１】
また、図７は図３のマイクロプロセッサ１７で行われるデータ処理を示すフローチャートである。図４で、アブソリュート位置検出トラック２１には循環周期（２５−１）×（２１３−１）の不規則循環乱数コードＧ１８（Ｇｏｌｄ系列コード）が刻まれており、アブソリュート位置センサ１６  （例えばリニアイメージセンサなど）はスケールに刻まれた不規則循環乱数コードから６４ｂｉｔ長の１８ｂｉｔ不規則循環乱数コードＧ１８−６４を位置に対応して出力する。また、本実施形態のスケールにはアブソリュート位置検出トラックに平行して、一定周期のインクレメンタル位置トラック２２が刻まれており、インクレメンタル位置センサ１５（例えばフォトダイオードなど）により位置を出力する。
【００３２】
図７のフローチャートに沿って本発明によるアブソリュート位置チェックの処理方法を説明する。アブソリュート位置センサ１６より６４ｂｉｔ長の１８ｂｉｔ不規則循環乱数コードＧ１８−６４を検出する（ＳＴＥＰ１）。
【００３３】
インクレメンタル位置センサ１５よりインクレメンタル位置Ｘｉを検出する（ＳＴＥＰ２）。
【００３４】
不規則循環乱数コード変換手段を含むマイクロプロセッサ１７は、ＳＴＥＰ２より求めたインクレメンタル位置Ｘｉより、不規則循環乱数コード変換器はテーブル等の参照により位置Ｘｉに対応する不規則循環乱数コードＧ１８−６４ｉを求める（ＳＴＥＰ３）。
【数６】
Ｘｉ＝ｉＧ                                                      ……（６）
【００３５】
続いて、コード分割手段を含むマイクロプロセッサ１７は、Ｇ１８−６４とＧ１８−６４ｉとを、それぞれ例えば８分割し分割要素コードＧ１８−６４（１）〜Ｇ１８−６４（８）とＧ１８−８ｉ（１）〜Ｇ１８−８ｉ（８）とを得る（ＳＴＥＰ４）。
【００３６】
次に、コード比較手段を含むマイクロプロセッサ１７は、Ｇ１８−８（１）〜Ｇ１８−８（８）とＧ１８−８ｉ  （１）〜Ｇ１８−８ｉ  （８）とで、対応する分割要素コードを比較する（ＳＴＥＰ５）。
【００３７】
本不規則循環乱数コードの性質から、コード判定手段を含むマイクロプロセッサ１７は、ＳＴＥＰ５の分割要素コードの比較結果が３つ以上一致したかどうかを判定する（ＳＴＥＰ６）。もし３つ以上一致していないならば、アブソリュート位置を確認できない状態にある（ＳＴＥＰ７）。
【００３８】
もし、分割要素コードの比較結果が３つ以上一致しているならば、インクレメント位置センサから検出された位置Ｘｉは正しいアブソリュート位置Ｘと一致しており、アブソリュート位置の特定を行う（ＳＴＥＰ８）。
【００３９】
このように、本実施形態によれば、アブソリュート位置の誤検出を回避しつつ、正しいアブソリュート位置の特定を行うことができる。
【００４０】
本実施形態の他に、アブソリュート位置トラックから、１８ｂｉｔ長のＧｏｌｄ系列を取出し、それを６４ｂｉｔ長のＧｏｌｄ系列に拡張したコードと、アブソリュート位置センサから検出された６４ｂｉｔ長Ｇｏｌｄ系列とを比較することにより、アブソリュート位置が正しいかどうかを判定する方法なども考えられる。
【００４１】
ここで、図１等に示す構成による方法例にして、本実施形態の不規則循環乱数コードの性質から、８ヶ所比較したうちの３ヶ所以上の分割コード要素が一致しているならば、Ｇ１８−６４（ｉＧ）はアブソリュート位置センサ９で検出されたＧ１８−６４の位置に対応した正しい不規則循環乱数コードである証明を記述する。本シミュレーションのフローチャートを図８に、結果を図９に示す。図８のフローチャートに沿って本シミュレーションの説明をする。分割要素コードの一致数を示す値Ｍａ、分割要素コードの最大一致数を示す値Ｉ、比較する６４ｂｉｔ長の不規則循環乱数系列コードの番地を示す値ＨおよびＫの値を、それぞれの初期値を、Ｍａ＝０、Ｉ＝０、Ｈ＝０、Ｋ＝１と設定する（ＳＴＥＰ１）。
【００４２】
０番地目の６４ｂｉｔ長の不規則循環乱数コードＧ１８−６４（０）を設定する（ＳＴＥＰ２）。
【００４３】
不規則循環乱数コード生成方法に従ってＨ番地目の６４ｂｉｔ長の不規則循環乱数コードＧ１８−６４（Ｈ）とＫ番地目の不規則循環乱数コードＧ１８−６４（Ｋ）を生成する（ＳＴＥＰ３）。
【００４４】
Ｇ１８−６４（Ｈ）とＧ１８−６４（Ｋ）とを８分割し、分割要素コードＧ１８−８（Ｈ）（１）〜Ｇ１８−８（Ｈ）（８）とＧ１８−８（Ｋ）（１）〜Ｇ１８−８（Ｋ）（８）を得る（ＳＴＥＰ４）。
【００４５】
対応する各分割要素コードどうしを比較し、一致した数を前記数値Ｍａに入力する（ＳＴＥＰ５）。
【００４６】
前記数値Ｍａと前記数値Ｉを比較し、もし数（７）の関係を満たしているならば、ＩにＭａを入力する（ＳＴＥＰ６）。
【数７】
Ｍａ＞Ｉ                                  ……（７）
【００４７】
前記数値Ｋが本シミュレーションの不規則循環乱数コードの循環周期２５３９２１と等しいかどうかを判定する。もし、等しくなければ数（８）のように前記数値Ｋに１を加算し、ＳＴＥＰ３に戻る（ＳＴＥＰ７）。
【数８】
Ｋ＝Ｋ＋１                                      ……（８）
【００４８】
前記数値Ｈが２５３９２０と等しいかどうかを判定し、もし等しくないならば、前記数値Ｋを数（９）のように演算し、前記数値Ｈを数（１０）のように加算し、ＳＴＥＰ３に戻る（ＳＴＥＰ８）。
【数９】
Ｋ＝Ｈ＋２                                      ……（９）
【数１０】
Ｈ＝Ｈ＋１                                      ……（１０）
【００４９】
ＳＴＥＰ８においてＨが２５３９２０と等しいならば、本シミュレーションにおける全ての不規則循環乱数コードにおいて総当りで、分割要素コードの比較を行ったことになる。
【００５０】
図９は本シミュレーション結果の２つ例を示す。Ｈ＝０、Ｋ＝９２のときの不規則循環乱数コードＧ１８−６４（０）とＧ１８−６４（９２）は０番地目の不規則循環乱数コードと９２番地目の不規則循環乱数コードを示しており、１６進数表現と２進数表現のコードを示し、２進数表現での対応する分割要素コードの比較結果を示している。比較結果より、この場合における分割要素の一致数は１（Ｉ＝１）である。もう１つのコード例では、Ｈ＝０、Ｋ＝９８３のときの不規則循環乱数コードＧ１８−６４（０）とＧ１８−６４（９８３）は０番地目の不規則循環乱数コードと９８３番地目の不規則循環乱数コードを示しており、１６進数表現と２進数表現のコードを示し、２進数表現での対応する分割要素コードの比較結果を示している。比較結果より、この場合における分割要素の一致数は２（Ｉ＝２）である。本シミュレーションにおいて不規則循環乱数コードを総当りで比較した結果、分割要素コードの最大一致数は２（Ｍａ＝２）であった。従って、読取った６４ｂｉｔ長Ｇ１８−６４  に誤りが無い場合は最低３つ以上の分割要素コードが一致していれば、Ｇ１８−６４（ｉＧ）はＧ１８−６４のアブソリュート位置に対応した正しい不規則循環乱数コードであるといえる。
【００５１】
本実施形態でのアブソリュート位置トラックに刻まれた不規則循環乱数コードは循環周期（２５−１）で循環する５ｂｉｔ  Ｍ系列と、循環周期（２１３−１）で循環する１３ｂｉｔ  Ｍ系列からなる１８ｂｉｔ  Ｇｏｌｄ系列とし、冗長ｂｉｔは４６ｂｉｔ長でアブソリュート位置センサから得られるコードが６４ｂｉｔ長であり、分割コード単位を８ｂｉｔの例を示したが、本実施形態と異なる不規則循環乱数コード、冗長ｂｉｔ長、コードの分割数においてもアブソリュート位置誤検出を回避することは可能である。また、分割要素コードの比較判定を３つよりも大きくすることで、スケール汚れ時のアブソリュート位置の信頼性を向上できる。
【００５２】
【発明の効果】
以上のように本発明のアブソリュート位置検出装置によれば従来のように複数のアブソリュート位置センサを必要としないので、省スペース、低コストなアブソリュート位置検出装置を実現することができる。また、アブソリュート位置センサから出力されるコードを小さく分割し評価できることにより、アブソリュート位置センサ出力からのコードの様々な誤りパターンに対して、アブソリュート位置誤検出の回避ができ、比較的広い面積のスケール汚れに対しても絶対位置検出ができる。また、インクレメンタルトラックからの位置情報が正しいかどうかを評価することが可能となる。さらに、アブソリュート位置センサからの出力コードの分割を汎用レジスタで処理しやすいように分割することにより汎用レジスタの処理が簡易になる。
【図面の簡単な説明】
【図１】本発明のアブソリュート位置検出装置の実施形態を示すブロック図である。
【図２】図１の例におけるスケールとアブソリュート位置トラックとアブソリュート位置センサの位置関係を示す概略図である。
【図３】本発明のアブソリュート位置検出装置の他の実施形態を示すブロック図である。
【図４】図３の例におけるスケールとアブソリュート位置トラックとインクレメント位置トラックと、アブソリュート位置センサとインクレメント位置センサの位置関係を示す概略図である。
【図５】５ｂｉｔ  Ｍ系列発生装置と、１３ｂｉｔ  Ｍ系列発生装置から構成される１８ｂｉｔ  Ｇｏｌｄ系列発生装置の例を示す概略図である。
【図６】図１のマイクロプロセッサで行われるアブソリュート位置検出装置の誤検出回避方法を示すフローチャートである。
【図７】図３のマイクロプロセッサで行われるアブソリュート位置誤検出回避方法を示すフローチャートである。
【図８】本実施形態における６４ｂｉｔ長の不規則循環乱数コードを不規則循環乱数コードを８ｂｉｔごとに分割し総当りで比較したシミュレーションのフローチャートである。
【図９】図８のシミュレーション結果を示す図である。
【図１０】従来のアブソリュート位置検出装置のブロック図である。
【図１１】従来例におけるアブソリュート位置センサとアブソリュート位置トラックが刻まれたスケールの位置関係を示す概略図である。
【符号の説明】
１，２，３，９，１６  アブソリュート位置センサ、４，１２，１９  シフトカウンタ、５，２３  ５ｂｉｔ  Ｍ系列発生器、６，１０，１７  マイクロプロセッサ、７，１３，２０  スケール、８，１４，２１  アブソリュート位置トラック、１１，１８  不規則循環乱数コード発生器（ＧＯＬＤ系列）、１５  インクレメント位置センサ、２２  インクレメント位置トラック。
【図１】
2005024331.tif 000004
【図２】
2005024331.tif 000005
【図３】
2005024331.tif 000006
【図４】
2005024331.tif 000007
【図５】
2005024331.tif 000008
【図６】
2005024331.tif 000009
【図７】
2005024331.tif 000010
【図８】
2005024331.tif 000011
【図９】
2005024331.tif 000012
【図１０】
2005024331.tif 000013
【図１１】
2005024331.tif 000014