Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7805852B2 - Calibration device, calibration method, and calibration program - Google Patents
[go: Go Back, main page]

JP7805852B2 - Calibration device, calibration method, and calibration program - Google Patents

Calibration device, calibration method, and calibration program

Info

Publication number
JP7805852B2
JP7805852B2 JP2022068806A JP2022068806A JP7805852B2 JP 7805852 B2 JP7805852 B2 JP 7805852B2 JP 2022068806 A JP2022068806 A JP 2022068806A JP 2022068806 A JP2022068806 A JP 2022068806A JP 7805852 B2 JP7805852 B2 JP 7805852B2
Authority
JP
Japan
Prior art keywords
slit
position signal
detection
detected
correction value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022068806A
Other languages
Japanese (ja)
Other versions
JP2023007397A (en
Inventor
翔太 金野
貴登 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei EMD Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Asahi Kasei EMD Corp filed Critical Asahi Kasei EMD Corp
Priority to US17/844,761 priority Critical patent/US12366470B2/en
Priority to CN202210747172.XA priority patent/CN115597650B/en
Publication of JP2023007397A publication Critical patent/JP2023007397A/en
Priority to US19/263,506 priority patent/US20250334431A1/en
Priority to JP2026004453A priority patent/JP2026063143A/en
Application granted granted Critical
Publication of JP7805852B2 publication Critical patent/JP7805852B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Optical Transform (AREA)

Description

本発明は、較正装置、較正方法、および較正プログラムに関する。 The present invention relates to a calibration device, a calibration method, and a calibration program.

特許文献1には、「移動体に設けられた所定の周期の目盛を有する第1のトラックから検出された第1の信号と、前記移動体に設けられた第2のトラックであって前記所定の周期よりも少ない周期の目盛を有する前記第2のトラックから検出された第2の信号の波形を補正する波形補正部と、補正された前記第1の信号及び前記第2の信号に基づいて前記移動体の位置を算出する位置算出部と、を備える、位置検出装置」が記載されている(請求項1)。また、特許文献1には、「内挿角補正部700は、補正テーブル510から得られる内挿角の誤差情報に基づいて、内挿角演算部250、内挿角演算部260が演算した補正前の内挿角を補正する。この際、内挿角補正部700は、角度演算部310から送られた絶対角度θrefに対応するスリット番号を求め、そのスリット番号に対応する内挿角を、補正テーブル510に記録された差分を用いて補正する。補正された内挿角は角度演算部620に送られる。角度演算部(第2の位置算出部)620は、補正された内挿角に基づいて絶対角度を演算する。より具体的には、角度演算部620は、補正された内挿角と、角度演算部310から送られた絶対角度θrefに対応するスリット番号とに基づいて絶対角度を演算する。」と記載されている(段落0041)。
[先行技術文献]
[特許文献]
[特許文献1] 国際公開第2018/190019号
Patent Document 1 describes a position detection device comprising: "a waveform correction unit that corrects the waveforms of a first signal detected from a first track provided on a moving body and having a scale with a predetermined period, and a second signal detected from a second track provided on the moving body and having a scale with a period shorter than the predetermined period; and a position calculation unit that calculates the position of the moving body based on the corrected first signal and the corrected second signal" (Claim 1). Furthermore, Patent Document 1 states that "the interpolation angle correction unit 700 corrects the pre-correction interpolation angle calculated by the interpolation angle calculation unit 250 and the interpolation angle calculation unit 260 based on error information of the interpolation angle obtained from the correction table 510. At this time, the interpolation angle correction unit 700 obtains the slit number corresponding to the absolute angle θref sent from the angle calculation unit 310, and corrects the interpolation angle corresponding to the slit number using the difference recorded in the correction table 510. The corrected interpolation angle is sent to the angle calculation unit 620. The angle calculation unit (second position calculation unit) 620 calculates the absolute angle based on the corrected interpolation angle. More specifically, the angle calculation unit 620 calculates the absolute angle based on the corrected interpolation angle and the slit number corresponding to the absolute angle θref sent from the angle calculation unit 310" (paragraph 0041).
[Prior art documents]
[Patent Documents]
[Patent Document 1] International Publication No. 2018/190019

特許文献1に記載の位置検出装置においては、絶対角度θrefに対応するスリット番号を求め、そのスリット番号に対応する内挿角を、補正テーブル510に記録された差分を用いて補正する。このため、絶対角度θrefの誤差が大きい場合には、スリット番号を誤ってしまい、誤った差分値を補正テーブルから読み出す可能性がある。 The position detection device described in Patent Document 1 determines the slit number corresponding to the absolute angle θref, and corrects the interpolation angle corresponding to that slit number using the difference recorded in the correction table 510. Therefore, if the error in the absolute angle θref is large, the slit number may be incorrect, and an incorrect difference value may be read from the correction table.

本発明の第1の態様においては、較正装置を提供する。較正装置は、移動体の実位置毎に、移動体の検出位置を取得する取得部と、移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と移動体の実位置に応じた理想のスリット番号との誤差を算出する算出部と、予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する判定部と、2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において、スリット位置信号に対して2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成する生成部を備える。 A first aspect of the present invention provides a calibration device. The calibration device includes an acquisition unit that acquires the detected position of a moving body for each real position of the moving body; a calculation unit that calculates, for each detected position of the moving body, the error between a slit position signal that detects the slit position and an ideal slit number corresponding to the real position of the moving body; a determination unit that determines whether two or more real positions having at least some different slit numbers in units of a first slit of a predetermined size correspond to the same detected position; and a generation unit that, in response to two or more real positions corresponding to the same detected position, generates a correction value that corrects the magnitude of the error between the two or more real positions for the slit position signal at the detected position in accordance with the correspondence between the two or more real positions.

生成部は、1つの実位置のみがある検出位置に対応することに応じて、スリット位置信号に対して、その検出位置において1つの実位置における誤差の補正を行なう補正値を生成してよい。 The generation unit may generate a correction value for the slit position signal in response to the fact that only one real position corresponds to a certain detected position, to correct for an error in the one real position at that detected position.

上記のいずれかの較正装置において、生成部は、取得部が取得した検出位置の区間毎に補正値を生成してよい。 In any of the above calibration devices, the generation unit may generate a correction value for each section of the detection position acquired by the acquisition unit.

上記のいずれかの較正装置において、生成部は、取得部が取得した検出位置の区間毎に、検出位置に応じた補正値を表す補正関数のパラメータを算出してよい。 In any of the above calibration devices, the generation unit may calculate parameters of a correction function that represents a correction value corresponding to the detection position for each section of the detection position acquired by the acquisition unit.

上記のいずれかの較正装置において、生成部は、取得部が取得した検出位置の区間毎に、検出位置に応じた補正値の集合をフーリエ級数展開することにより、補正関数のパラメータを算出してよい。 In any of the above calibration devices, the generation unit may calculate the parameters of the correction function for each section of the detection position acquired by the acquisition unit by performing a Fourier series expansion on a set of correction values corresponding to the detection position.

上記のいずれかの較正装置において、生成部は、2以上の実位置が同一の検出位置に対応することに応じて、スリット位置信号に対して、2以上の実位置のそれぞれにおける誤差を平均した大きさの補正を行なう補正値を生成してよい。 In any of the above calibration devices, the generation unit may generate a correction value that corrects the slit position signal by an average magnitude of the errors at each of the two or more actual positions, in response to two or more actual positions corresponding to the same detection position.

上記のいずれかの較正装置において、生成部は、実位置および検出位置の対応関係を、第1スリットの境界にマージンを持たせて判断してよい。上記のいずれかの較正装置において、生成部は、スリット位置信号に対して第1スリットの境界に予め定められたマージンの加算または減算の少なくとも1つを行なうことにより得られる検出位置と実位置との対応を含む、当該検出位置に対応する少なくとも1つの実位置を用いて補正値を生成してよい。 In any of the above calibration devices, the generation unit may determine the correspondence between the actual position and the detected position by providing a margin at the boundary of the first slit. In any of the above calibration devices, the generation unit may generate a correction value using at least one actual position corresponding to the detected position, including a correspondence between the detected position and the actual position obtained by adding or subtracting a predetermined margin to or from the boundary of the first slit from the slit position signal.

上記のいずれかの較正装置は、スリット位置信号に補正値を加えた値を四捨五入して第1スリットを単位とするスリット番号を算出するエンコーダに対して補正値を出力する出力部を更に備えてよい。 Any of the above calibration devices may further include an output unit that outputs the correction value to an encoder that calculates the slit number in units of the first slit by rounding off the value obtained by adding the correction value to the slit position signal.

上記のいずれかの較正装置において、エンコーダは、スリット位置信号に補正値を加えた値が整数となるように四捨五入したスリット番号を算出してよい。 In any of the above calibration devices, the encoder may calculate the slit number by rounding the slit position signal plus the correction value to an integer.

上記のいずれかの較正装置において、出力部は、エンコーダが有する補正テーブルに補正値を書き込んでよい。 In any of the above calibration devices, the output unit may write the correction value into a correction table provided by the encoder.

上記のいずれかの較正装置は、生成部が生成した補正値により補正したスリット位置信号を用いて算出したスリット番号に誤りが生じるか否かを検査する検査部を更に備えてよい。 Any of the above calibration devices may further include an inspection unit that inspects whether an error occurs in the slit number calculated using the slit position signal corrected by the correction value generated by the generation unit.

上記のいずれかの較正装置において、移動体は回転体でり、回転体は、回転体の1周を予め定められた第1の数で分割した第1周期毎の第1スリットを含む第1トラックと、回転体の1周を第1の数より小さい第2の数で分割した第2周期毎の第2スリットを含む第2トラックとを有し、較正対象となるエンコーダは、移動体の検出位置を、第1トラックから検出した第1検出値および第2トラックから検出した第2検出値に基づいて算出してよい。 In any of the above calibration devices, the moving body is a rotating body, and the rotating body has a first track including first slits for each first period obtained by dividing one revolution of the rotating body by a predetermined first number, and a second track including second slits for each second period obtained by dividing one revolution of the rotating body by a second number smaller than the first number, and the encoder to be calibrated may calculate the detected position of the moving body based on a first detection value detected from the first track and a second detection value detected from the second track.

回転体は、回転体の1周を第1の数および第2の数とは異なる第3の数で分割した第3周期毎の第3スリットを含む第3トラックを有し、エンコーダは、移動体の検出位置を、第3トラックから検出した第3検出値に更に基づいて算出してよい。 The rotating body has a third track including third slits for each third period obtained by dividing one revolution of the rotating body by a third number different from the first number and the second number, and the encoder may further calculate the detected position of the moving body based on a third detection value detected from the third track.

本発明の第2の態様においては、較正方法を提供する。較正方法は、較正装置が、移動体の実位置毎に、移動体の検出位置を取得することと、較正装置が、移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と移動体の実位置に応じた理想のスリット番号との誤差を算出することと、較正装置が、予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定することと、2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において、スリット位置信号に対して2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成することを備える。 A second aspect of the present invention provides a calibration method. The calibration method includes a calibration device acquiring the detected position of the moving body for each real position of the moving body, the calibration device calculating the error between a slit position signal that detects the slit position and an ideal slit number corresponding to the real position of the moving body for each detected position of the moving body, the calibration device determining whether two or more real positions having at least some different slit numbers in units of a first slit of a predetermined size correspond to the same detected position, and, if two or more real positions correspond to the same detected position, generating a correction value at the detected position that corrects the magnitude of the error between the slit position signal and the two or more real positions in accordance with the correspondence between the two or more real positions.

本発明の第3の態様においては、コンピュータにより実行される較正プログラムを提供する。較正プログラムは、コンピュータを、移動体の実位置毎に、移動体の検出位置を取得する取得部と、移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と移動体の実位置に応じた理想のスリット番号との誤差を算出する算出部と、予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する判定部と、2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において、スリット位置信号に対して2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成する生成部として機能させる。 A third aspect of the present invention provides a calibration program executed by a computer. The calibration program causes the computer to function as an acquisition unit that acquires the detected position of a moving body for each real position of the moving body; a calculation unit that calculates, for each detected position of the moving body, the error between a slit position signal that detects the slit position and an ideal slit number corresponding to the real position of the moving body; a determination unit that determines whether two or more real positions having at least some different slit numbers in units of a predetermined size first slit correspond to the same detected position; and a generation unit that, in response to two or more real positions corresponding to the same detected position, generates a correction value that corrects the magnitude of the error between the two or more real positions for the slit position signal at the detected position in accordance with the correspondence between the two or more real positions.

なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。 Note that the above summary of the invention does not list all of the features of the present invention. Subcombinations of these features may also constitute inventions.

本実施形態に係る位置検出装置10の構成を示す。1 shows the configuration of a position detection device 10 according to the present embodiment. 理想機械角および電気内挿角の関係の一例を示す。An example of the relationship between the ideal mechanical angle and the electrical interpolation angle is shown below. 理想機械角およびスリット番号の関係の一例を示す。An example of the relationship between the ideal mechanical angle and the slit number is shown below. 理想機械角毎のスリット位置信号エラーの一例を示す。10 shows an example of a slit position signal error for each ideal mechanical angle. 理想機械角毎のスリット位置信号エラーの一例を、スリット番号20に着目して示す。An example of the slit position signal error for each ideal mechanical angle is shown focusing on slit number 20. 機械角の測定値毎のスリット位置信号エラーの一例を、補正後にスリット番号20に対応すべきエラー値に着目して示す。An example of a slit position signal error for each measured mechanical angle is shown, focusing on the error value that should correspond to slit number 20 after correction. 本実施形態に係る較正装置700の構成を示す。7 shows the configuration of a calibration device 700 according to this embodiment. 本実施形態に係る較正装置700の動作フローを示す。7 shows an operation flow of the calibration device 700 according to this embodiment. 較正装置700が生成する補正値の一例を示す。7 shows an example of correction values generated by the calibration device 700. 補正後のスリット位置信号エラーの一例を示す。10 shows an example of a slit position signal error after correction. 補正値に隙間が生じる例を示す。An example in which gaps occur in the correction values is shown below. 本実施形態に係る、補正値の隙間を補間する方法の一例を示す。An example of a method for interpolating gaps in correction values according to this embodiment will be described below. 本実施形態の変形例に係る位置検出装置1300の構成を示す。13 shows the configuration of a position detection device 1300 according to a modified example of this embodiment. 本実施形態の変形例に係る第1のスリット位置信号SMSBの理想値の一例を示す。10 shows an example of ideal values of the first slit position signal S MSB according to a modified example of this embodiment. 本実施形態の変形例に係る第2のスリット位置信号SLSBの理想値の一例を示す。10 shows an example of an ideal value of the second slit position signal S LSB according to a modified example of the present embodiment. 本実施形態の変形例に係るスリット番号の理想値の一例を示す。10 shows an example of ideal values of the slit number according to a modified example of the present embodiment. 本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。22 illustrates an example computer 2200 in which aspects of the present invention may be embodied, in whole or in part.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

図1は、本実施形態に係る位置検出装置10の構成を示す。位置検出装置10は、移動体100およびエンコーダ110を備える。移動体100は、エンコーダ110による位置検出の対象となる被測定物である。本実施形態において、移動体100は、一例として、回転軸に対して垂直に配置された円盤状の回転体である。これに代えて、移動体100は、直線に沿って、エンコーダ110に対して相対的に移動する移動体であってもよい。 Figure 1 shows the configuration of a position detection device 10 according to this embodiment. The position detection device 10 includes a moving body 100 and an encoder 110. The moving body 100 is a measured object whose position is to be detected by the encoder 110. In this embodiment, the moving body 100 is, as an example, a disk-shaped rotating body arranged perpendicular to its rotation axis. Alternatively, the moving body 100 may be a moving body that moves along a straight line relative to the encoder 110.

移動体100は、複数のトラック105a~b(「トラック105」とも示す。)を備える。各トラック105は、移動体100の移動方向に沿って予め定められた間隔毎に設けられた複数のスリットを含む。本実施形態においては、各トラック105は、回転体である移動体100において、回転軸を中心とする円周方向に等間隔に設けられた複数のスリットを含む。各スリットは、磁気、光、または電気等を用いてエンコーダ110により検出可能な構造体である。例えば、各スリットは、移動体100の円周方向に等間隔に設けられた開口もしくは突起、移動体100の外周に形成された歯車の個々の歯、または、移動体100の円周方向に等間隔に着磁された着磁体等である。 The moving body 100 has multiple tracks 105a-b (also referred to as "tracks 105"). Each track 105 includes multiple slits provided at predetermined intervals along the direction of movement of the moving body 100. In this embodiment, each track 105 includes multiple slits provided at equal intervals in the circumferential direction of the moving body 100, which is a rotating body, around the rotation axis. Each slit is a structure that can be detected by the encoder 110 using magnetism, light, electricity, or the like. For example, each slit is an opening or protrusion provided at equal intervals in the circumferential direction of the moving body 100, individual teeth of a gear formed on the outer periphery of the moving body 100, or a magnetized body magnetized at equal intervals in the circumferential direction of the moving body 100.

複数のトラック105のそれぞれは、移動体100の面において、回転軸を中心として、回転軸からの距離(すなわち半径)が互いに異なる位置に設けられてよい。本実施形態においては、トラック105aは、移動体100の外周近傍において円周方向に設けられ、トラック105bは、トラック105aの内周側においてトラック105aに隣接して円周方向に設けられる。 The multiple tracks 105 may be provided on the surface of the movable body 100 at positions with different distances (i.e., radii) from the rotation axis as the center. In this embodiment, track 105a is provided in the circumferential direction near the outer periphery of the movable body 100, and track 105b is provided in the circumferential direction adjacent to track 105a on the inner periphery of track 105a.

ここで、複数のトラック105は、互いに異なる周期でスリットを有する。本実施形態において、トラック105aは、第1トラックの一例であり、移動体100の1周を予め定められた第1の数Nで分割した第1周期毎の第1スリットを含む。また、トラック105bは、第2トラックの一例であり、移動体100の1周を第1の数より小さい第2の数Nで分割した第2周期毎の第2スリットを含む。ここで、移動体100が有するトラック105が2つである場合には、トラック105aにおける1周あたりのスリットの数(第1の数N)と、トラック105bにおける1周あたりのスリットの数(第2の数N)とは、互いに素であってよい。第1の数Nおよび第2の数Nは、差が1となるように決定されてもよい。例えば、第1の数Nおよび第2の数Nの組は、(8,7)、(40,39)、または(128,127)等であってよい。 Here, the multiple tracks 105 have slits at different periods. In this embodiment, track 105a is an example of a first track and includes first slits at each first period obtained by dividing one circumference of movable body 100 by a predetermined first number N -M . Track 105b is an example of a second track and includes second slits at each second period obtained by dividing one circumference of movable body 100 by a second number N -N, which is smaller than the first number. Here, if movable body 100 has two tracks 105, the number of slits per circumference of track 105a (first number N -M ) and the number of slits per circumference of track 105b (second number N -N ) may be coprime. The first number N -M and the second number N -N may be determined so that the difference between them is 1. For example, the pair of first number N 1 M and second number N 1 N may be (8,7), (40,39), or (128,127), etc.

エンコーダ110は、移動体100の複数のトラック105から検出した複数の検出値に基づいて、移動体100の検出位置を算出する。エンコーダ110は、複数の検出部120a~b(「検出部120」とも示す。)と、スリット位置信号算出部130と、スリット番号算出部140と、補正テーブル150と、スリット番号補正部160と、位置算出部170とを備える。 The encoder 110 calculates the detected position of the moving body 100 based on multiple detection values detected from multiple tracks 105 of the moving body 100. The encoder 110 includes multiple detection units 120a-b (also referred to as "detection units 120"), a slit position signal calculation unit 130, a slit number calculation unit 140, a correction table 150, a slit number correction unit 160, and a position calculation unit 170.

複数の検出部120のそれぞれは、複数のトラック105のそれぞれに対応して設けられ、対応するトラック105から検出した検出値を出力する。本実施形態において、検出部120aは、第1検出部として機能し、第1トラックの一例であるトラック105aから第1検出値を検出して出力する。検出部120bは、第2検出部として機能し、第2トラックの一例であるトラック105bから第2検出値を検出して出力する。ここで、検出部120aおよび検出部120bは、対応するトラック105における隣接するスリット間を1周期(=360度)とする(電気)内挿角θおよびθをそれぞれ出力する。 Each of the multiple detectors 120 is provided corresponding to a corresponding one of the multiple tracks 105 and outputs a detection value detected from the corresponding track 105. In this embodiment, the detector 120a functions as a first detector and detects and outputs a first detection value from the track 105a, which is an example of a first track. The detector 120b functions as a second detector and detects and outputs a second detection value from the track 105b, which is an example of a second track. Here, the detectors 120a and 120b output (electrical) insertion angles θM and θN , respectively, where the distance between adjacent slits in the corresponding tracks 105 is one period (=360 degrees).

スリット位置信号算出部130は、複数の検出部120に接続される。スリット位置信号算出部130は、複数の検出部120からの複数の検出値を用いて、スリット位置信号SSを出力する。スリット位置信号は、エンコーダ110により検出された移動体100の位置を示す値として、検出部120a~bにより検出された第1スリットのスリット番号を示す。 The slit position signal calculation unit 130 is connected to multiple detection units 120. The slit position signal calculation unit 130 outputs a slit position signal SS using multiple detection values from the multiple detection units 120. The slit position signal indicates the slit number of the first slit detected by the detection units 120a-b as a value indicating the position of the moving body 100 detected by the encoder 110.

スリット番号算出部140は、スリット位置信号算出部130に接続される。スリット番号算出部140は、スリット位置信号算出部130が出力するスリット位置信号SSを用いて、予め定められた大きさの第1スリットを単位とするスリット番号S(すなわち移動体100が位置するスリットのスリット番号)を算出する。ここで、スリット番号補正部160によるスリット番号の補正前における移動体100の検出位置は、スリット番号Sと、内挿角θとの組で表される。本実施形態において、検出位置の一例としての機械角θは、以下の式(1)で表される。
The slit number calculation unit 140 is connected to the slit position signal calculation unit 130. The slit number calculation unit 140 calculates a slit number S M (i.e., the slit number of the slit where the moving body 100 is located) in units of first slits of a predetermined size, using the slit position signal SS output by the slit position signal calculation unit 130. Here, the detected position of the moving body 100 before the slit number correction unit 160 corrects the slit number is expressed as a pair of the slit number S M and the interpolation angle θ M. In this embodiment, the mechanical angle θ d , which is an example of the detected position, is expressed by the following equation (1).

補正テーブル150は、検出部120aおよびスリット番号算出部140に接続される。補正テーブル150は、スリット番号毎に、第1トラックから検出された第1検出信号(内挿角θ)に応じた補正値のセットを格納する。補正テーブル150は、スリット番号算出部140から受け取ったスリット番号Sに対応付けられた補正値のセットのうち、第1検出信号により指定される内挿角θに対応付けられた補正値Scalを出力する。 The correction table 150 is connected to the detection unit 120a and the slit number calculation unit 140. The correction table 150 stores, for each slit number, a set of correction values corresponding to the first detection signal (interpolation angle θ M ) detected from the first track. The correction table 150 outputs the correction value S cal associated with the interpolation angle θ M specified by the first detection signal from the set of correction values associated with the slit number S M received from the slit number calculation unit 140.

スリット番号補正部160は、スリット位置信号算出部130および補正テーブル150に接続される。スリット番号補正部160は、スリット位置信号算出部130から受け取るスリット位置信号SSを補正テーブル150から受け取る補正値Scalにより補正する。そして、スリット番号補正部160は、補正後のスリット位置信号に基づいて、補正後のスリット番号S'を算出する。ここで、スリット番号補正部160は、スリット位置信号算出部130からのスリット位置信号SSに補正値を加えた値を四捨五入して第1スリットを単位とするスリット番号を算出する。スリット位置信号SSの小数点が、スリット位置信号SSの整数部をスリット番号に対応させる位置にある場合には、スリット番号補正部160は、スリット位置信号SSに補正値を加えた値が整数となるように四捨五入したスリット番号を算出する。 The slit number correction unit 160 is connected to the slit position signal calculation unit 130 and the correction table 150. The slit number correction unit 160 corrects the slit position signal SS received from the slit position signal calculation unit 130 using the correction value S cal received from the correction table 150. The slit number correction unit 160 then calculates a corrected slit number S'M based on the corrected slit position signal. Here, the slit number correction unit 160 calculates a slit number in units of the first slit by rounding off the value obtained by adding the correction value to the slit position signal SS from the slit position signal calculation unit 130. When the decimal point of the slit position signal SS is located at a position where the integer part of the slit position signal SS corresponds to the slit number, the slit number correction unit 160 calculates a slit number by rounding off the value obtained by adding the correction value to the slit position signal SS to an integer.

位置算出部170は、検出部120aおよびスリット番号補正部160に接続される。位置算出部170は、スリット番号補正部160から受け取るスリット番号S'と、検出部120aから受け取る第1検出信号とを用いて、移動体100の位置(補正後の位置)を算出する。本実施形態において、位置算出部170は、移動体100の位置を示す値として、移動体100の1回転を1周期とする機械角θを出力する。 The position calculation unit 170 is connected to the detection unit 120a and the slit number correction unit 160. The position calculation unit 170 calculates the position (corrected position) of the moving body 100 using the slit number S'M received from the slit number correction unit 160 and the first detection signal received from the detection unit 120a. In this embodiment, the position calculation unit 170 outputs a mechanical angle θ, with one rotation of the moving body 100 being one period, as a value indicating the position of the moving body 100.

図2は、理想機械角および電気内挿角の関係の一例を示す。ここで、「理想機械角」とは、誤差を考慮しない場合の機械角を意味し、移動体100の実際の位置(実位置)に対応する。複数の検出部120のそれぞれは、対応するトラック105における隣接するスリット同士の間を1周期とする電気内挿角を出力する。一例として、各検出部120はトラック105のスリットを検出する2つのセンサを有し、2つのセンサの間にはスリット同士の間の1/4周期(90度)の位相差が与えられる。これにより、2つのセンサは、センス対象となるスリットからの電気内挿角に応じたsin電圧およびcos電圧を検出することができる。 Figure 2 shows an example of the relationship between the ideal mechanical angle and the electrical interpolation angle. Here, "ideal mechanical angle" refers to the mechanical angle when error is not taken into account, and corresponds to the actual position (real position) of the moving body 100. Each of the multiple detection units 120 outputs an electrical interpolation angle, with the distance between adjacent slits in the corresponding track 105 being one period. As an example, each detection unit 120 has two sensors that detect the slits in the track 105, and a phase difference of 1/4 period (90 degrees) between the slits is provided between the two sensors. This allows the two sensors to detect sine and cosine voltages corresponding to the electrical interpolation angle from the slit being sensed.

各検出部120は、2つのセンサから出力されるsin電圧およびcos電圧の波形を補正してもよい。具体的には、各検出部120は、sin電圧およびcos電圧のオフセット、ゲイン、位相、またはひずみの少なくとも1つを補正してもよい。 Each detection unit 120 may correct the waveforms of the sine voltage and cosine voltage output from the two sensors. Specifically, each detection unit 120 may correct at least one of the offset, gain, phase, or distortion of the sine voltage and cosine voltage.

次に各検出部120は、sin電圧およびcos電圧を用いて逆正接(arctan-1)を算出することにより、内挿角を算出する。各検出部120は、sin電圧およびcos電圧の振幅の歪み等を用いて、内挿角を補正してもよい。 Next, each detection unit 120 calculates the arctangent (arctan −1 ) using the sine voltage and the cosine voltage to calculate the interpolation angle. Each detection unit 120 may correct the interpolation angle using distortion in the amplitude of the sine voltage and the cosine voltage, or the like.

本図の例においては、トラック105aは、移動体100の1周あたり8スリットを有し、トラック105bは、移動体100の1周あたり7スリットを有する。移動体100を1周(0度から360度)回転させると、検出部120aが出力する内挿角θは0度から360度までを8周期繰り返し、検出部120bが出力する内挿角θは0度から360度までを7周期繰り返す。したがって、これらの内挿角の差θ-θは、図2に示したとおり移動体100が1周すると0度から360度まで変化するものであり、式(1)に示した機械角θに相当する。 In the example shown in the figure, track 105a has eight slits per revolution of movable body 100, and track 105b has seven slits per revolution of movable body 100. When movable body 100 rotates once (from 0 degrees to 360 degrees), the interpolation angle θ M output by detection unit 120a repeats eight periods from 0 degrees to 360 degrees, and the interpolation angle θ N output by detection unit 120b repeats seven periods from 0 degrees to 360 degrees. Therefore, the difference between these interpolation angles θ M - θ N changes from 0 degrees to 360 degrees as movable body 100 makes one revolution, as shown in FIG. 2 , and corresponds to the mechanical angle θ d shown in equation (1).

スリット位置信号算出部130は、内挿角θおよびθを用いて、検出位置に応じたスリット番号を示すスリット位置信号SSを算出する。ここで、スリット位置信号SSは、理想的にはスリット番号算出部140が出力するスリット番号Sと一致すべきものである。したがって、式(1)のスリット番号Sをスリット位置信号SSに置換し、式(1)の機械角θdに内挿角の差θ-θを代入して変形すると、スリット位置信号SSは、以下の式(2)で表される。なお、式(2)は、N=N-1である場合について示す。
式(2)に示されるように、スリット位置信号算出部130は、内挿角の差θ-θをN倍し、内挿角θを減じることによってトラック105aのスリット1周期内における内挿角θの変化に伴うスリット位置信号SSの変化を相殺する。スリット位置信号算出部130は、これを1周期分の角度(360度)で割ることにより、理想的には移動体100が1周するとトラック105aのスリット番号に応じた0からN-1までの整数値をとるスリット位置信号SSを算出することができる。
The slit position signal calculation unit 130 calculates a slit position signal SS indicating a slit number corresponding to the detection position using the interpolation angles θ M and θ N. Ideally, the slit position signal SS should match the slit number S M output by the slit number calculation unit 140. Therefore, by replacing the slit number S M in equation (1) with the slit position signal SS and substituting the difference in interpolation angles θ M - θ N for the mechanical angle θd in equation (1) and rearranging it, the slit position signal SS is expressed by the following equation (2). Note that equation (2) shows the case where N N = N M - 1.
As shown in equation (2), the slit position signal calculation unit 130 cancels out the change in the slit position signal SS that accompanies the change in the interpolation angle θ M within one slit period of the track 105 a by multiplying the difference in interpolation angles θ M - θ N by N M and subtracting the interpolation angle θ M. By dividing this by the angle of one period (360 degrees), the slit position signal calculation unit 130 can calculate the slit position signal SS that ideally takes an integer value from 0 to N M -1 according to the slit number on the track 105 a when the moving body 100 makes one revolution.

なお、他の実施形態においては、スリット位置信号算出部130は、スリット位置信号SSを補正するための補正値を算出するプリ補正関数を用いてスリット位置信号SSを補整してから出力してもよい。このようなプリ補正関数は、例えば、検出部120aおよび検出部120bが出力する内挿角θおよびθに基づいてよく、検出部120aおよび検出部120bの検出値の振幅RおよびRに基づいてよい。プリ補正関数は、例えば検出部120aおよび検出部120bが出力する内挿角の差θ-θの正弦波(sin)を、目標とする補正量に応じて大きさおよび位相を調整したものであってよい。 In another embodiment, the slit position signal calculation unit 130 may adjust the slit position signal SS using a pre-correction function that calculates a correction value for correcting the slit position signal SS before outputting it. Such a pre-correction function may be based on, for example, the interpolation angles θ M and θ N output by the detection units 120 a and 120 b, or on the amplitudes R M and R N of the detection values of the detection units 120 a and 120 b. The pre-correction function may be, for example, a sine wave (sin) of the difference θ M - θ N between the interpolation angles output by the detection units 120 a and 120 b, with its magnitude and phase adjusted according to the target correction amount.

図3は、理想機械角およびスリット番号の関係の一例を示す。本図のグラフは、誤差が無い場合における、機械角に応じたスリット位置信号SSの値を示す。誤差がない場合、スリット位置信号算出部130が出力するスリット位置信号SSは、移動体100がトラック105aの1周期目に対応する機械角に位置する場合には0、移動体100がトラック105aの2周期目に対応する機械角に位置する場合には1、…というように、移動体100の機械角に応じたスリット番号を示す。 Figure 3 shows an example of the relationship between the ideal mechanical angle and the slit number. The graph in this figure shows the value of the slit position signal SS according to the mechanical angle when there is no error. When there is no error, the slit position signal SS output by the slit position signal calculation unit 130 indicates the slit number according to the mechanical angle of the moving body 100, such as 0 when the moving body 100 is located at a mechanical angle corresponding to the first cycle of the track 105a, 1 when the moving body 100 is located at a mechanical angle corresponding to the second cycle of the track 105a, and so on.

スリット番号算出部140は、以下の式(3)に示すように、スリット位置信号を四捨五入して、移動体100の検出位置(機械角)に応じたスリット番号Sを算出してよい。この場合、スリット位置信号SSは、誤差に対して-0.5以上+0.5未満の範囲でマージンを有する。したがって、スリット番号算出部140は、スリット位置信号が-0.5以上+0.5未満の範囲の誤差を有していた場合でも、正しいスリット番号Sを算出することができる。
The slit number calculation unit 140 may calculate the slit number S M according to the detected position (mechanical angle) of the moving body 100 by rounding off the slit position signal as shown in the following equation (3). In this case, the slit position signal SS has a margin for error in the range of -0.5 or more and less than +0.5. Therefore, the slit number calculation unit 140 can calculate the correct slit number S M even if the slit position signal has an error in the range of -0.5 or more and less than +0.5.

図4は、理想機械角毎のスリット位置信号エラーの一例を示す。本図においては、移動体100が、第1の数N=40および第2の数N=39であるトラック105aおよびトラック105bを有する場合について例示する。この場合、トラック105aは、1スリット周期が機械角9度に相当する(360÷40=9)。 4 shows an example of the slit position signal error for each ideal mechanical angle. This figure illustrates an example in which the moving body 100 has tracks 105a and 105b with a first number N M = 40 and a second number N N = 39. In this case, one slit period of the track 105a corresponds to a mechanical angle of 9 degrees (360÷40=9).

本図のスリット位置信号エラーは、移動体100の位置が理想機械角である場合にスリット位置信号算出部130が実際に出力するスリット位置信号SSから、その理想機械角におけるスリット位置信号SSの理想値Sidealを減じた値(誤差)である。このようなスリット位置信号エラーは、一例として、位置検出装置10を較正するために、移動体100を回転させながら、理想のエンコーダ(例えばエンコーダ110の較正の基準として用いるエンコーダ)で理想のスリット番号Sidealを含む理想機械角を測定すると共に、スリット位置信号算出部130が出力するスリット位置信号SSを取得することによって測定できる。本図の例においては、理想機械角によっては、スリット位置信号エラーが±0.5の範囲を超えている。 The slit position signal error in this figure is a value (error) obtained by subtracting the ideal value S ideal of the slit position signal SS at the ideal mechanical angle from the slit position signal SS actually output by the slit position signal calculation unit 130 when the position of the movable body 100 is at that ideal mechanical angle. For example, to calibrate the position detection device 10, such a slit position signal error can be measured by measuring the ideal mechanical angle including the ideal slit number S ideal with an ideal encoder (e.g., an encoder used as a calibration reference for the encoder 110) while rotating the movable body 100, and acquiring the slit position signal SS output by the slit position signal calculation unit 130. In the example shown in this figure, the slit position signal error exceeds the range of ±0.5 depending on the ideal mechanical angle.

図5は、理想機械角毎のスリット位置信号エラーの一例を、スリット番号20に着目して示す。本図のスリット位置信号エラーは、図4と同様である。スリット番号20は、機械角180~189度に対応する。エラー500a(スリット位置信号エラー500a)は、スリット位置信号SSが示すスリット番号が、理想機械角に対応するスリット番号20よりも2小さいことを示す。すなわち、スリット位置信号SSの値は、スリット番号18に対応する範囲内(例えば17.5以上18.5未満)であることを示す。 Figure 5 shows an example of a slit position signal error for each ideal mechanical angle, focusing on slit number 20. The slit position signal error in this figure is the same as in Figure 4. Slit number 20 corresponds to a mechanical angle of 180 to 189 degrees. Error 500a (slit position signal error 500a) indicates that the slit number indicated by the slit position signal SS is 2 less than slit number 20, which corresponds to the ideal mechanical angle. In other words, this indicates that the value of the slit position signal SS is within the range corresponding to slit number 18 (for example, greater than or equal to 17.5 and less than 18.5).

同様に、エラー500bは、スリット位置信号SSが示すスリット番号が、理想機械角に対応するスリット番号20よりも1小さくスリット番号19に対応する範囲内であることを示し、エラー500cは、スリット位置信号SSが示すスリット番号が、理想機械角に対応するスリット番号20と同じであることを示し、エラー500dは、スリット位置信号SSが示すスリット番号が、理想機械角に対応するスリット番号20よりも1大きくスリット番号21に対応する範囲内であることを示し、エラー500eは、スリット位置信号SSが示すスリット番号が、理想機械角に対応するスリット番号20よりも2大きくスリット番号22に対応する範囲内であることを示す。このように、スリット位置信号エラーが±0.5の範囲を超える場合には、スリット位置信号SSが示すスリット番号が、理想的なスリット番号と異なってしまう。 Similarly, error 500b indicates that the slit number indicated by the slit position signal SS is within a range corresponding to slit number 19, which is one less than slit number 20 corresponding to the ideal mechanical angle; error 500c indicates that the slit number indicated by the slit position signal SS is the same as slit number 20 corresponding to the ideal mechanical angle; error 500d indicates that the slit number indicated by the slit position signal SS is within a range corresponding to slit number 21, which is one more than slit number 20 corresponding to the ideal mechanical angle; and error 500e indicates that the slit number indicated by the slit position signal SS is within a range corresponding to slit number 22, which is two more than slit number 20 corresponding to the ideal mechanical angle. Thus, when the slit position signal error exceeds the range of ±0.5, the slit number indicated by the slit position signal SS differs from the ideal slit number.

図6は、機械角の測定値毎のスリット位置信号エラーの一例を、補正後にスリット番号20に対応すべきエラー値に着目して示す。図4および図5は、位置検出装置10の較正において移動体100の実位置毎に取得されるスリット位置信号エラーを示すのに対し、本図は、較正後の位置検出装置10が、移動体100の検出位置毎に、スリット番号を示すスリット位置信号SSに対してどのような補正値Scalを用いるべきかを示す。具体的には、位置検出装置10の実使用時において、スリット番号補正部160が、スリット位置信号SSを、どのような補正値Scalを用いて補正すべきかを示す。 6 shows an example of the slit position signal error for each measured value of the mechanical angle, focusing on the error value that should correspond to slit number 20 after correction. While FIGS. 4 and 5 show the slit position signal error acquired for each actual position of the mobile body 100 during calibration of the position detection device 10, this figure shows what correction value S cal should be used by the position detection device 10 after calibration for the slit position signal SS indicating the slit number for each detected position of the mobile body 100. Specifically, it shows what correction value S cal should be used by the slit number correction unit 160 to correct the slit position signal SS when the position detection device 10 is actually used.

本図の横軸は、スリット番号算出部140からの補正前のスリット番号Sに、検出部120からの内挿角θを加えた補正前の機械角(すなわち検出位置)に対応する値である。ここで、検出部120からの内挿角θは、1/N倍することにより0~9度の範囲に正規化されている。 The horizontal axis of this diagram represents a value corresponding to the pre-correction mechanical angle (i.e., detected position) obtained by adding the interpolation angle θ M from the detection unit 120 to the pre-correction slit number S M from the slit number calculation unit 140. Here, the interpolation angle θ M from the detection unit 120 is normalized to the range of 0 to 9 degrees by multiplying it by 1/N M.

なお、スリット番号補正部160は、スリット位置信号算出部130からのスリット位置信号SSに、補正値Scalを加えて四捨五入することにより、補正後のスリット番号S'(すなわちスリット位置信号の理想値Sideal)を算出する。このため、スリット位置信号エラーはスリット位置信号SS-理想値Sidealであるのに対し、補正値Scalは、理想値Sideal-スリット位置信号SSである。したがって、補正値Scalは、スリット位置信号エラーの正負を逆にした値となる。 The slit number correction unit 160 calculates the corrected slit number S' M (i.e., the ideal value S ideal of the slit position signal) by adding the correction value S cal to the slit position signal SS from the slit position signal calculation unit 130 and rounding off the result. Therefore, the slit position signal error is the slit position signal SS - the ideal value S ideal , whereas the correction value S cal is the ideal value S ideal - the slit position signal SS. Therefore, the correction value S cal is a value obtained by reversing the sign of the slit position signal error.

図5のエラー500aは、スリット位置信号SSに応じたスリット番号が18に対応するものである。したがって、機械角の測定値を横軸とするように変換すると、図5のエラー500aは、スリット番号18にシフトされ、元々スリット番号18に存在したエラー610と重なるエラー600aとなる。同様に、図5のエラー500bは、スリット番号19にシフトされ、元々スリット番号19に存在したスリット位置信号エラーと重なるエラー600bとなり、図5のエラー500dは、スリット番号21にシフトされ、元々スリット番号21に存在したスリット位置信号エラーと重なるエラー600dとなり、図5のエラー500eは、図5のエラー500bは、スリット番号22にシフトされ、元々スリット番号22に存在したスリット位置信号エラーと重なるエラー600eとなる。 Error 500a in Figure 5 corresponds to slit number 18 according to the slit position signal SS. Therefore, when converted so that the measured mechanical angle is the horizontal axis, error 500a in Figure 5 is shifted to slit number 18, becoming error 600a, which overlaps with error 610 that originally existed at slit number 18. Similarly, error 500b in Figure 5 is shifted to slit number 19, becoming error 600b, which overlaps with the slit position signal error that originally existed at slit number 19; error 500d in Figure 5 is shifted to slit number 21, becoming error 600d, which overlaps with the slit position signal error that originally existed at slit number 21; and error 500e in Figure 5 is shifted to slit number 22, becoming error 600e, which overlaps with the slit position signal error that originally existed at slit number 22.

このように、移動体100の実位置(理想機械角)毎にスリット位置信号SSを測定して実位置毎のスリット位置信号エラーを算出すると、スリット位置信号エラーは、実位置毎に1点に定まる(図5)。しかし、スリット位置信号エラーが±0.5の範囲を超え、スリット位置信号SSが示すスリット番号が移動体100の実位置に対応するスリット番号と異なる場合には、移動体100の検出位置(スリット番号S+内挿角θ/N)毎のスリット位置信号エラーに変換すると、同じ検出位置に対して2以上の実位置が対応する結果、2以上のスリット位置信号エラーが対応しうる。 In this way, when the slit position signal SS is measured for each real position (ideal mechanical angle) of the movable body 100 and the slit position signal error for each real position is calculated, the slit position signal error is determined to be one point for each real position ( FIG. 5 ). However, if the slit position signal error exceeds the range of ±0.5 and the slit number indicated by the slit position signal SS differs from the slit number corresponding to the real position of the movable body 100, when the slit position signal error is converted into a slit position signal error for each detected position of the movable body 100 (slit number S M + interpolation angle θ M /N M ), two or more actual positions may correspond to the same detected position, and as a result, two or more slit position signal errors may correspond.

したがって、スリット位置信号エラーが大きく、測定されたスリット番号が理想のスリット番号と異なる位置検出装置10については、同じ検出位置に対して2以上の補正値(スリット位置信号エラーの正負を逆にした値)が出現する。このような場合において、位置検出装置10の較正装置が、エンコーダ110内の補正テーブル150がどのような補正値を出力するように較正するべきかが問題となる。 Therefore, for a position detection device 10 in which the slit position signal error is large and the measured slit number differs from the ideal slit number, two or more correction values (values with the slit position signal error reversed) will appear for the same detection position. In such cases, the question arises as to what correction value the calibration device of the position detection device 10 should calibrate so that the correction table 150 in the encoder 110 outputs.

図7は、本実施形態に係る較正装置700の構成を示す。較正装置700は、PC(パーソナルコンピュータ)、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、較正装置700は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、較正装置700は、エンコーダ110の較正用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。較正装置700がコンピュータにより実現される場合、較正装置700は、較正プログラムを実行することにより、本図に示す各構成要素として機能してよい。 Figure 7 shows the configuration of a calibration device 700 according to this embodiment. The calibration device 700 may be a computer such as a PC (personal computer), workstation, server computer, or general-purpose computer, or may be a computer system in which multiple computers are connected. Such computer systems are also considered to be computers in a broad sense. The calibration device 700 may also be implemented using one or more virtual computer environments executable within the computer. Alternatively, the calibration device 700 may be a dedicated computer designed for calibrating the encoder 110, or may be dedicated hardware realized using dedicated circuitry. When the calibration device 700 is implemented by a computer, the calibration device 700 may function as each of the components shown in this figure by executing a calibration program.

較正装置700は、例えば位置検出装置10を製造した後出荷する前に、または位置検出装置10の検査または診断時にエンコーダ110に接続されて、エンコーダ110を較正する。この較正において、較正装置700は、移動体100の同一の検出位置に対して2以上の補正値が出現する場合に、適切な補正値をエンコーダ110に設定する。較正装置700は、取得部710と、算出部714と、判定部716と、生成部720と、検査部730と、出力部740とを備える。 The calibration device 700 is connected to the encoder 110 to calibrate the encoder 110, for example, after manufacturing the position detection device 10 and before shipping it, or during inspection or diagnosis of the position detection device 10. During this calibration, if two or more correction values appear for the same detected position of the moving body 100, the calibration device 700 sets an appropriate correction value in the encoder 110. The calibration device 700 includes an acquisition unit 710, a calculation unit 714, a determination unit 716, a generation unit 720, an inspection unit 730, and an output unit 740.

取得部710は、移動体100の実位置毎に、移動体100の検出位置を取得する。ここで、取得部710は、移動体100の実位置として、スリット位置信号SSの理想値であって実位置のスリット番号を示すSidealと、実位置の内挿角を示すθMidealとを、較正作業のために移動体100に取り付けられた、較正の基準として用いる基準エンコーダから取得する。また、取得部710は、移動体100の検出位置として、スリット位置信号算出部130が出力する、検出位置のスリット位置を検出したスリット位置信号SSと、検出位置を検出部120aにより検出した内挿角θとをエンコーダ110から取得する。 The acquisition unit 710 acquires the detected position of the mobile body 100 for each actual position of the mobile body 100. Here, the acquisition unit 710 acquires, as the actual position of the mobile body 100, S ideal , which is an ideal value of the slit position signal SS and indicates the slit number of the actual position, and θ mideal , which indicates the interpolation angle of the actual position, from a reference encoder attached to the mobile body 100 for calibration work and used as a calibration reference. The acquisition unit 710 also acquires, as the detected position of the mobile body 100, a slit position signal SS that detects the slit position of the detection position and is output by the slit position signal calculation unit 130, and an interpolation angle θ M , which is detected by the detection unit 120a for the detection position, from the encoder 110.

なお、取得部710は、エンコーダ110からスリット位置信号SSを取得するのに代えて、移動体100の検出位置として、エンコーダ110内の検出部120a~bが出力する内挿角θおよびθを取得してもよい。また、取得部710は、移動体100の検出位置として、検出部120a~bのそれぞれにより検出されたsin電圧を示すsinn値およびcos電圧を示すcos値を取得してもよい。この場合、取得部710は、検出部120a~bおよびスリット位置信号算出部130と同様にして、スリット位置信号SSを算出してもよい。 Note that, instead of acquiring the slit position signal SS from the encoder 110, the acquiring unit 710 may acquire the interpolation angles θ M and θ N output by the detecting units 120 a-b in the encoder 110 as the detected position of the moving body 100. Furthermore, the acquiring unit 710 may acquire a sinn value indicating a sine voltage and a cos value indicating a cosine voltage detected by each of the detecting units 120 a-b as the detected position of the moving body 100. In this case, the acquiring unit 710 may calculate the slit position signal SS in the same manner as the detecting units 120 a-b and the slit position signal calculating unit 130.

算出部714は、取得部710に接続される。算出部714は、移動体100の実位置毎の検出位置について、スリット位置信号SSを用いて実位置に応じた理想のスリット番号Sidealとスリット位置信号SSとの誤差を算出する。判定部716は、算出部714に接続される。判定部716は、第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する。生成部720は、判定部716に接続される。生成部720は、算出された誤差を用いて、移動体100の検出位置毎にスリット位置信号SSの補正値Scalを生成する。ここで、生成部720は、第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応することに応じて、その検出位置においてスリット位置信号SSに対して2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値Scalを生成する。 The calculation unit 714 is connected to the acquisition unit 710. The calculation unit 714 uses the slit position signal SS to calculate an error between the slit position signal SS and an ideal slit number S ideal corresponding to the actual position for each detected position of the moving body 100. The determination unit 716 is connected to the calculation unit 714. The determination unit 716 determines whether two or more actual positions having at least some different slit numbers in units of the first slit correspond to the same detected position. The generation unit 720 is connected to the determination unit 716. The generation unit 720 uses the calculated error to generate a correction value S cal of the slit position signal SS for each detected position of the moving body 100. Here, in response to the fact that two or more actual positions having at least some different slit numbers in units of the first slit correspond to the same detected position, the generation unit 720 generates a correction value S cal that corrects the magnitude of the difference between the errors at the two or more actual positions for the slit position signal SS at that detected position.

検査部730は、生成部720に接続される。検査部730は、生成部720が生成した補正値Scalにより補正したスリット位置信号を用いて算出したスリット番号に誤りが生じるか否かを検査する。検査部730は、生成部720が生成した補正値Scalにより補正したスリット位置信号と、実位置に応じたスリット番号Sidealとの差が予め定められた基準範囲内である場合に、スリット番号に誤りが生じないと判断してよい。この基準範囲は、例えばスリット番号1つ分の幅の±50%の範囲であってよく、これよりも小さい範囲であってもよい。検査部730は、スリット番号に誤りが生じると判断したことに応じて、アラートを発生する。なお、較正装置700は、検査部730を有さず、補正値Scalの検査機能を有しなくてもよい。 The inspection unit 730 is connected to the generation unit 720. The inspection unit 730 inspects whether an error occurs in the slit number calculated using the slit position signal corrected by the correction value S cal generated by the generation unit 720. The inspection unit 730 may determine that no error occurs in the slit number when the difference between the slit position signal corrected by the correction value S cal generated by the generation unit 720 and the slit number S ideal corresponding to the actual position is within a predetermined reference range. This reference range may be, for example, a range of ±50% of the width of one slit number, or may be a smaller range. The inspection unit 730 issues an alert when it determines that an error occurs in the slit number. Note that the calibration device 700 does not have the inspection unit 730 and does not need to have a function for inspecting the correction value S cal .

出力部740は、生成部720が生成した、検査位置毎の補正値Scalを出力する。出力部740は、検査位置毎の補正値Scalをエンコーダ110に対して出力してよい。例えば、出力部740は、検査位置毎の補正値Scalを、エンコーダ110が有する補正テーブル150に書き込んでよい。また例えば、出力部740は、検査位置毎の補正値Scalを、例えばメモリまたはハードディスクドライブ等の記憶装置に格納してもよい。 The output unit 740 outputs the correction value S cal for each inspection position generated by the generation unit 720. The output unit 740 may output the correction value S cal for each inspection position to the encoder 110. For example, the output unit 740 may write the correction value S cal for each inspection position to the correction table 150 included in the encoder 110. Furthermore, for example, the output unit 740 may store the correction value S cal for each inspection position in a storage device such as a memory or a hard disk drive.

図8は、本実施形態に係る較正装置700の動作フローを示す。ステップ800(S800)において、取得部710は、移動体100の実位置毎に、移動体100の検出位置を取得する。生成部720は、移動体100の実位置毎に検出位置が対応付けられたデータのデータ形式を変換して、移動体100の検出位置毎に1または2以上の実位置が対応付けられたデータを得る。 Figure 8 shows the operational flow of the calibration device 700 according to this embodiment. In step 800 (S800), the acquisition unit 710 acquires the detected position of the mobile body 100 for each real position of the mobile body 100. The generation unit 720 converts the data format of the data in which the detected position is associated with each real position of the mobile body 100, and obtains data in which one or more real positions are associated with each detected position of the mobile body 100.

生成部720は、移動体100の検出位置毎に、S810からS860までの処理を繰り返す。S820において、判定部716は、第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する。また、算出部714は、S820において、対象の検出位置について、スリット位置信号SSを用いて実位置に応じた理想のスリット番号Sidealとスリット位置信号SSとの誤差を算出してよい。生成部720は、1つの実位置のみが対象の検出位置に対応すること(S830において「N」)に応じて、S840において、対象の検出位置においてスリット位置信号SSに対して1つの実位置における誤差の補正を行なう補正値Scalを生成する。これにより、生成部720は、スリット位置信号エラーが±0.5の範囲内にあり、かつ、理想機械角において他のスリット番号にあったスリット位置信号エラーが重ならないような検出位置については、1つのスリット位置信号エラーをキャンセルする補正値Scal(例えば、スリット位置信号エラーの正負を逆にした補正値)を生成することができる。なお、生成部720は、補正値Scalの生成において、1つの実位置における誤差を完全にキャンセルするような補正値Scalを生成してもよく、1つの実位置における誤差を低減するような補正値Scalを生成してもよい。例えば、後述するようにスリット位置信号SSの検出位置毎の補正値を補正関数によって近似する場合には、各検出位置についての補正量は、その検出位置についての1つの実位置における誤差量に近似するが必ずしも一致するとは限らない。 The generation unit 720 repeats the processes from S810 to S860 for each detection position of the moving body 100. In S820, the determination unit 716 determines whether two or more real positions, at least some of which have different slit numbers in units of the first slit, correspond to the same detection position. Furthermore, in S820, the calculation unit 714 may use the slit position signal SS to calculate an error between the ideal slit number S ideal corresponding to the real position and the slit position signal SS for the target detection position. If only one real position corresponds to the target detection position ("N" in S830), the generation unit 720 generates a correction value S cal for correcting the error at the one real position for the slit position signal SS at the target detection position in S840. As a result, for a detection position where the slit position signal error is within a range of ±0.5 and where slit position signal errors for other slit numbers at the ideal mechanical angle do not overlap, the generation unit 720 can generate a correction value S cal (e.g., a correction value with the positive and negative signs of the slit position signal error) that cancels out one slit position signal error. Note that, in generating the correction value S cal , the generation unit 720 may generate a correction value S cal that completely cancels the error at one actual position, or may generate a correction value S cal that reduces the error at one actual position. For example, when the correction value for each detection position of the slit position signal SS is approximated by a correction function as described below, the correction amount for each detection position approximates but does not necessarily match the error amount at one actual position for that detection position.

生成部720は、スリット番号が少なくとも一部異なる2以上の実位置が対象の検出位置に対応すること(S830において「Y」)に応じて、その検出位置においてスリット位置信号SSに対して2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値Scalを生成する。これにより、生成部720は、同じ検出位置に対して2以上の誤差(例えばスリット位置信号エラー)が存在する場合には、これらの誤差を一元化して適切な補正値Scalを生成することができる。 When two or more real positions having at least some different slit numbers correspond to the target detection position ("Y" in S830), the generation unit 720 generates a correction value S cal that corrects the magnitude of the difference between the errors at the two or more real positions for the slit position signal SS at that detection position. As a result, when there are two or more errors (e.g., slit position signal errors) for the same detection position, the generation unit 720 can unify these errors and generate an appropriate correction value S cal .

S870において、検出位置毎の補正値Scalが生成されると、検査部730は、生成部720が生成した補正値Scalにより補正したスリット位置信号を用いて算出したスリット番号に誤りが生じるか否かを検査する。ここで、検査部730は、検出位置毎に、その検出位置におけるスリット位置信号SSをその検出位置に対応する補正値Scalで補正した場合に、その検出位置に対応する1または2以上の実位置のいずれにおいても理想のスリット番号Sidealとの差が基準範囲内であるか否かを検査する。検査部730は、いずれかの検出位置において、少なくとも1つの実位置のスリット番号と、補正後のスリット位置信号が示すスリット番号との差が基準範囲外となったことに応じて、アラートを出力する。 In S870, when the correction value S cal for each detection position is generated, the inspection unit 730 inspects whether an error occurs in the slit number calculated using the slit position signal corrected with the correction value S cal generated by the generation unit 720. Here, the inspection unit 730 inspects, for each detection position, whether the difference between the ideal slit number S ideal and the slit number at one or more actual positions corresponding to the detection position when the slit position signal SS at that detection position is corrected with the correction value S cal corresponding to that detection position is within a reference range. The inspection unit 730 outputs an alert when the difference between the slit number at at least one actual position and the slit number indicated by the corrected slit position signal at any detection position is outside the reference range.

S880において、出力部740は、生成部720が生成した検査位置毎の補正値Scalを出力する。ここで、出力部740は、S870においてアラートが出力された場合には、補正値Scalの出力を行なわずに較正処理を中断してもよい。 In S880, the output unit 740 outputs the correction value S cal for each inspection position generated by the generation unit 720. Here, if an alert is output in S870, the output unit 740 may interrupt the calibration process without outputting the correction value S cal .

図9は、較正装置700が生成する補正値Scalの一例を示す。図9においては、横軸に機械角の測定値(検出位置)をとり、縦軸に生成部720が生成する補正値Scal(スリット補正値)をとる。図9は、図4~6に示したスリット位置信号エラーに対応する補正値Scalを示すものである。なお、エンコーダ110内のスリット番号補正部160が、スリット位置信号SSに補正値Scalを加える場合には、補正値Scalは、スリット位置信号エラーの正負を反転した値となる。しかし、本図においては、図4~6と見比べやすくするために、スリット位置信号エラーの正負を反転していない状態で補正値Scalとして示す。 FIG. 9 shows an example of the correction value S cal generated by the calibration device 700. In FIG. 9, the horizontal axis represents the measured mechanical angle (detected position), and the vertical axis represents the correction value S cal (slit correction value) generated by the generation unit 720. FIG. 9 shows the correction value S cal corresponding to the slit position signal error shown in FIGS. 4 to 6. Note that when the slit number correction unit 160 in the encoder 110 adds the correction value S cal to the slit position signal SS, the correction value S cal becomes a value obtained by inverting the sign of the slit position signal error. However, in this figure, for ease of comparison with FIGS. 4 to 6, the correction value S cal is shown without inverting the sign of the slit position signal error.

機械角の測定値(検出位置)が155.25度から157.50度となる区間に着目すると、この区間において、各検出位置に、スリット番号が異なる2つの実位置が対応する。したがって、この区間の各検出位置において、2つの実位置のそれぞれに対応する誤差(スリット位置信号エラー)が存在する。この場合、生成部720は、2つの実位置のそれぞれに対応する誤差の間の大きさの誤差分を補正する補正値Scalを生成する。ここで、「2つの誤差の間の大きさ」とは、2つの誤差の両端を除く間の大きさを示し、2つの誤差のうちいずれか一方のみを採用せず、これら2つの誤差の間をとった大きさであることを意味する。 Focusing on the interval where the measured mechanical angle (detected position) is from 155.25 degrees to 157.50 degrees, two real positions with different slit numbers correspond to each detected position in this interval. Therefore, at each detected position in this interval, there is an error (slit position signal error) corresponding to each of the two real positions. In this case, the generation unit 720 generates a correction value S cal that corrects the error between the errors corresponding to each of the two real positions. Here, the "magnitude between two errors" refers to the magnitude between the two errors excluding both ends, meaning that the magnitude is the middle between these two errors, rather than adopting only one of the two errors.

例えば、生成部720は、2以上の実位置が同一の検出位置に対応することに応じて、スリット位置信号SSに対して、2以上の実位置のそれぞれにおける誤差を平均した大きさの補正を行なう補正値Scalを生成する。また、生成部720は、2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値Scalであって、補正されたスリット位置信号と2以上の実位置のそれぞれのスリット番号との誤差が基準範囲内となるように補正値Scalを調整してもよい。 For example, in response to two or more real positions corresponding to the same detection position, the generation unit 720 generates a correction value S cal that corrects the slit position signal SS by an average magnitude of errors at the two or more real positions. Furthermore, the generation unit 720 may adjust the correction value S cal that corrects the magnitude between the errors at the two or more real positions so that the errors between the corrected slit position signal and the slit numbers of the two or more real positions fall within a reference range.

なお、機械角の測定値(検出位置)が153度から162度以外の範囲においても、1つの検出位置にスリット番号が異なる2つの実位置が対応する箇所が存在する。図9においては、説明の便宜上153度から162度以外の範囲については図示を省略している。 Note that even when the measured mechanical angle (detection position) is in a range outside of 153 degrees to 162 degrees, there are locations where two actual positions with different slit numbers correspond to one detection position. For ease of explanation, Figure 9 omits the illustration of the range outside of 153 degrees to 162 degrees.

図10は、補正後のスリット位置信号エラーの一例を示す。図10においては、横軸に機械角の測定値(検出位置)をとり、縦軸にはスリット位置信号SSと、各検出位置に対応する1または2以上の実位置のそれぞれのスリット番号Sidealとの間のスリット位置信号エラー(誤差)を示す。ここで、破線は、補正前のスリット位置信号エラーを示し、実線は、2以上の実位置のそれぞれにおける誤差を平均した大きさの補正を行なった後のスリット位置信号エラーを示す。 Fig. 10 shows an example of the slit position signal error after correction. In Fig. 10, the horizontal axis represents the measured mechanical angle (detected position), and the vertical axis represents the slit position signal error (error) between the slit position signal SS and each of the slit numbers S ideal for one or more actual positions corresponding to each detected position. Here, the dashed line represents the slit position signal error before correction, and the solid line represents the slit position signal error after correction with a magnitude equal to the average of the errors at each of the two or more actual positions.

本図において実線で示したように、較正装置700は、各検出位置において2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値Scalを生成することにより、図4~6に示したスリット位置信号エラーを、各実位置におけるスリット番号に対する誤差が±0.5の範囲内となるように補正することが可能な補正値Scalを出力することができる。 As shown by the solid line in this figure, the calibration device 700 generates a correction value S cal that corrects the magnitude of the difference between errors at two or more actual positions at each detection position, and can output a correction value S cal that can correct the slit position signal errors shown in Figures 4 to 6 so that the error for the slit number at each actual position is within a range of ±0.5.

なお、以上に示した生成部720は、検出位置毎に補正値Scalを生成する。これに代えて、生成部720は、取得部710が取得した検出位置の区間毎に補正値を生成してもよい。例えば、生成部720は、第1スリットの1周期を分割した区間毎(例えば内挿角の15°毎等)に、補正値Scalを生成してもよい。この場合、生成部720は、当該区間内において算出した各検出位置毎の補正値を平均等することにより、当該区間における補正値Scalを算出してもよい。 The generating unit 720 described above generates the correction value S cal for each detection position. Alternatively, the generating unit 720 may generate a correction value for each section of the detection positions acquired by the acquiring unit 710. For example, the generating unit 720 may generate a correction value S cal for each section into which one period of the first slit is divided (for example, for each 15° of the interpolation angle). In this case, the generating unit 720 may calculate the correction value S cal for the section by, for example, averaging the correction values calculated for each detection position within the section.

また、生成部720は、取得部710が取得した検出位置の区間毎に、補正値Scalを表す補正関数のパラメータを算出してもよい。例えば、生成部720は、第1スリットのスリット周期毎に、そのスリット周期における内挿角0°~360°の範囲の補正値Scalを、フーリエ級数展開等の予め定められた補正関数によって近似してもよい。フーリエ級数展開を用いる場合、生成部720は、内挿角θにおける補正値Scalを、補正値=Σ×sin(kθM+δ)で近似する補正関数の補正係数(パラメータ)Aおよびδを算出してよい。 Furthermore, the generating unit 720 may calculate parameters of a correction function that expresses the correction value S cal for each section of the detection position acquired by the acquiring unit 710. For example, the generating unit 720 may approximate the correction value S cal for the range of interpolation angles 0° to 360° in each slit period of the first slit by a predetermined correction function such as Fourier series expansion. When using Fourier series expansion, the generating unit 720 may calculate correction coefficients (parameters) A k and δ k of the correction function that approximates the correction value S cal at the interpolation angle θ M by correction value = Σ k A k × sin(kθ M + δ k ).

生成部720は、例えば予め定められた角度ずつの内挿角に対応する補正値Scalを代表点として算出し、代表点の集合に対してフーリエ級数展開をすることにより、上記の補正係数を算出してよい。出力部740は、生成部720によって算出された補正係数を補正テーブル150に書き込む。スリット番号補正部160は、実使用時において、スリット番号算出部140からスリット番号Sを受け取ると、スリット番号Sに対応付けて補正テーブル150に格納された補正係数を読み出して、その補正係数を用いた補正関数により補正値Scalを算出してよい。 The generation unit 720 may calculate the correction coefficient by, for example, calculating correction values S cal corresponding to interpolation angles at predetermined intervals as representative points and performing Fourier series expansion on a set of representative points. The output unit 740 writes the correction coefficients calculated by the generation unit 720 into the correction table 150. When the slit number correction unit 160 receives the slit number S M from the slit number calculation unit 140 during actual use, it may read out the correction coefficient stored in the correction table 150 in association with the slit number S M and calculate the correction value S cal using a correction function that uses the correction coefficient.

図11は、補正値に隙間が生じる例を示す。図5~6に示したように、実位置毎のスリット位置信号エラーを検出位置毎のスリット位置信号エラーに変換すると、例えば実位置がスリット番号20であるエラー500aが検出位置がスリット番号18であるエラー600aへと変換されることとなる。この結果、検出位置によっては2以上の実位置に対応し、2以上のスリット位置信号エラーが存在しうる。 Figure 11 shows an example in which a gap occurs in the correction value. As shown in Figures 5 and 6, if the slit position signal error for each actual position is converted into the slit position signal error for each detection position, for example, error 500a where the actual position is slit number 20 will be converted into error 600a where the detection position is slit number 18. As a result, depending on the detection position, it is possible for two or more slit position signal errors to exist, corresponding to two or more actual positions.

逆に、検出位置によってはスリット位置信号エラーが他のスリット番号へと割り振られる結果、対応する実位置が存在しなくなる可能性がある。図11の例においては、移動体100の1周あたりに第1スリットが8周期存在する場合(N=8)において、0.5以上のスリット位置信号エラーが機械角(検出位置)で+45°シフトし、-0.5未満のスリット位置信号エラーが機械角で-45°シフトした結果、破線で囲った箇所において検出位置に対応する実位置が存在しなくなってしまう。 Conversely, depending on the detection position, the slit position signal error may be assigned to a different slit number, and as a result, no corresponding actual position may exist. In the example of Figure 11, when there are eight periods of the first slit per revolution of the moving body 100 (N M = 8), a slit position signal error of 0.5 or more is shifted by +45° in mechanical angle (detection position), and a slit position signal error of less than -0.5 is shifted by -45° in mechanical angle, resulting in no actual position corresponding to the detection position in the area surrounded by the dashed line.

ここで、対応する実位置が存在しない検出位置は、較正処理において移動体100の実位置を可動範囲全体の中で変化させても観測されなかった位置であるから、較正処理時とは異なる誤差等が生じない限り実使用においても発生しない。しかし、位置検出装置10は、一時的な誤差または変動等によりそのような検出位置を検出することもありうる。 Here, detected positions for which no corresponding real position exists are positions that were not observed even when the real position of the mobile body 100 was changed within the entire movable range during the calibration process, and therefore will not occur in actual use unless an error or the like different from that during the calibration process occurs. However, the position detection device 10 may detect such detected positions due to temporary errors or fluctuations, etc.

図12は、本実施形態に係る、補正値の隙間を補間する方法の一例を示す。補正値の隙間を補間する場合には、判定部716は、実位置および検出位置の対応関係を、第1スリットの境界にマージンを持たせて判断してよい。ここで、生成部720は、スリット位置信号に対して第1スリットの境界に予め定められたマージンの加算または減算の少なくとも1つを行なうことにより得られる検出位置と実位置との対応を含む、ある検出位置に対応する少なくとも1つの実位置を用いて、その検出位置における補正値を生成してよい。本実施形態において、生成部720は、スリット位置信号SSからスリット番号Sを特定したもの(すなわちS=round(SS)としたもの)に加えて、スリット位置信号SSに予め定められたマージンεを加算または減算してスリット番号を特定したもの(すなわちS=round(SS±ε)としたもの)を追加し、これらを含めて補正値を生成する。ここで、マージンεは、スリット番号特定に用いるマージン(0.5)よりも小さい値である。 FIG. 12 shows an example of a method for interpolating gaps in correction values according to this embodiment. When interpolating gaps in correction values, the determination unit 716 may determine the correspondence between the actual position and the detected position by providing a margin at the boundary of the first slit. Here, the generation unit 720 may generate a correction value at a certain detected position using at least one actual position corresponding to the detected position, including a correspondence between the detected position and the actual position obtained by adding or subtracting a predetermined margin to or from the boundary of the first slit for the slit position signal. In this embodiment, the generation unit 720 adds a slit number S M determined from the slit position signal SS (i.e., S M =round(SS)) to a slit number determined by adding or subtracting a predetermined margin ε to or from the slit position signal SS (i.e., S M =round(SS±ε)), and generates a correction value including these. Here, the margin ε is a value smaller than the margin (0.5) used to determine the slit number.

スリット位置信号SSからマージンεを減じると、スリット位置信号エラーが正である場合には、スリット位置信号エラーがスリット番号の境界(+0.5等)よりも+ε大きくなるまではスリット位置信号エラーが他のスリット番号へと移動しない。これに対し、スリット位置信号エラーが負である場合には、スリット位置信号エラーがスリット番号の境界(-0.5等)よりもε大きい点を境界としてスリット位置信号エラーが他のスリット番号へと移動する。 When the margin ε is subtracted from the slit position signal SS, if the slit position signal error is positive, the slit position signal error will not move to another slit number until the slit position signal error becomes +ε greater than the slit number boundary (e.g., +0.5). In contrast, if the slit position signal error is negative, the point at which the slit position signal error becomes ε greater than the slit number boundary (e.g., -0.5) becomes the boundary at which the slit position signal error moves to another slit number.

また、スリット位置信号SSからマージンεを加えると、スリット位置信号エラーが正である場合には、スリット位置信号エラーがスリット番号の境界(+0.5等)よりもε小さい点を境界としてスリット位置信号エラーが他のスリット番号へと移動する。これに対し、スリット位置信号エラーが負である場合には、スリット位置信号エラーがスリット番号の境界(-0.5等)よりもε分さらに小さくなるまではスリット位置信号エラーが他のスリット番号へと移動しない。 Furthermore, when a margin ε is added to the slit position signal SS, if the slit position signal error is positive, the slit position signal error moves to another slit number at the point where the slit position signal error is ε smaller than the slit number boundary (e.g., +0.5). In contrast, if the slit position signal error is negative, the slit position signal error does not move to another slit number until the slit position signal error becomes even smaller by ε than the slit number boundary (e.g., -0.5).

このようにして、スリット位置信号SSにマージンεを加算または減算してスリット番号を特定したものを追加すると、図12に例示したように、対応する実位置が存在しない検出位置に対しても、スリット位置信号エラーを割り当てることができる。そして、生成部720は、これらのスリット位置信号エラーも含めて補正値を生成することにより、検出位置毎の補正値の隙間を埋めることができる。 In this way, by adding or subtracting the margin ε to the slit position signal SS and adding a signal that identifies the slit number, it is possible to assign a slit position signal error to a detection position that does not have a corresponding actual position, as shown in the example in Figure 12. The generation unit 720 can then fill in the gaps in the correction values for each detection position by generating correction values that include these slit position signal errors.

また、較正装置700の実使用時に検出される検出位置が、較正時に検出された検出位置から変動し、その結果スリット位置信号が変動しうる場合においても、較正装置700は、スリット位置信号にマージンεを加減することによって、このような変動を予め模擬したスリット位置信号エラーを用いて生成した補正値を準備しておくことができる。これにより、位置検出装置10は、例えば実使用中における環境温度の変化等に伴って各検出部120内のセンサの出力が変動した場合等においても、ロバストな補正値を使用することが可能となる。 Furthermore, even if the detection position detected during actual use of the calibration device 700 varies from the detection position detected during calibration, resulting in fluctuations in the slit position signal, the calibration device 700 can prepare a correction value generated using a slit position signal error that simulates such fluctuations in advance by adding or subtracting a margin ε to the slit position signal. This enables the position detection device 10 to use robust correction values even when the output of the sensors in each detection unit 120 fluctuates due to, for example, changes in environmental temperature during actual use.

図13は、本実施形態の変形例に係る位置検出装置1300の構成を示す。位置検出装置1300は、位置検出装置10の変形例であるため、以下相違点を除き説明を省略する。位置検出装置1300は、移動体1301と、エンコーダ1310とを備える。移動体1301は、エンコーダ1310による位置検出の対象となる被測定物である。移動体1301は、移動体100と同様に、移動体1301の1周あたりのスリット数が第1の数Nである第1トラックと、移動体1301の1周あたりのスリット数が第2の数Nである第2トラックとを有する。そして、本変形例における移動体1301は、移動体1301の1周を第1の数および第2の数とは異なる第3の数Nで分割した第3周期毎の第3スリットを含む第3トラックを更に有する。 FIG. 13 shows the configuration of a position detection device 1300 according to a modified example of this embodiment. Because the position detection device 1300 is a modified example of the position detection device 10, a description thereof will be omitted hereinafter, except for the differences. The position detection device 1300 includes a moving body 1301 and an encoder 1310. The moving body 1301 is a measurement object whose position is detected by the encoder 1310. Similar to the moving body 100, the moving body 1301 has a first track having a first number N = M of slits per revolution of the moving body 1301, and a second track having a second number N = N of slits per revolution of the moving body 1301. Furthermore, the moving body 1301 according to this modified example further includes a third track including third slits at a third period obtained by dividing one revolution of the moving body 1301 by a third number N = S , which is different from the first and second numbers.

エンコーダ1310は、移動体1301の3つのトラックから検出した3つの検出値に基づいて、移動体1301の検出位置を算出する。エンコーダ1310は、複数の検出部1320a~c(「検出部1320」とも示す。)と、複数のスリット位置信号算出部1330a~b(「スリット位置信号算出部1330」とも示す。)と、スリット番号算出部1340と、補正テーブル1350と、スリット番号補正部1360と、位置算出部1370とを備える。 Encoder 1310 calculates the detected position of moving body 1301 based on three detection values detected from the three tracks of moving body 1301. Encoder 1310 includes multiple detection units 1320a-c (also referred to as "detection units 1320"), multiple slit position signal calculation units 1330a-b (also referred to as "slit position signal calculation units 1330"), a slit number calculation unit 1340, a correction table 1350, a slit number correction unit 1360, and a position calculation unit 1370.

検出部1320a~cのそれぞれは、第1~第3トラックのそれぞれに対応して設けられ、対応するトラックから検出した検出値を出力する。本実施形態において、検出部1320aは、第1検出部として機能し、第1トラックから第1検出値を検出して出力する。検出部1320bは、第2検出部として機能し、第2トラックから第2検出値を検出して出力する。検出部1320cは、第3検出部として機能し、第3トラックから第3検出値を検出して出力する。ここで、検出部1320a~cは、検出値として、対応するトラックにおける隣接するスリット間を1周期(=360度)とする(電気)内挿角θ、θ、およびθをそれぞれ出力する。各検出部1320は、その他の点において検出部120と同様である。 The detectors 1320a-c are provided corresponding to the first to third tracks, respectively, and output detection values detected from the corresponding tracks. In this embodiment, the detector 1320a functions as a first detector, detecting and outputting a first detection value from the first track. The detector 1320b functions as a second detector, detecting and outputting a second detection value from the second track. The detector 1320c functions as a third detector, detecting and outputting a third detection value from the third track. Here, the detectors 1320a-c output as detection values (electrical) interpolation angles θ M , θ N , and θ S , where the distance between adjacent slits in the corresponding tracks is one period (=360 degrees). Each detector 1320 is similar to the detector 120 in other respects.

スリット位置信号算出部1330a~bのそれぞれは、複数の検出部1320に接続される。スリット位置信号算出部1330aは、複数の検出部1320からの複数の検出値を用いて、第1のスリット位置信号SMSBを出力する。本実施形態において、第1のスリット位置信号SMSBは、第1トラックのスリット番号のうち、上位側のビットに関する。スリット位置信号算出部1330bは、複数の検出部1320からの複数の検出値を用いて、第2のスリット位置信号SLSBを出力する。本実施形態において、第2のスリット位置信号SLSBは、第1トラックのスリット番号のうち、下位側のビットに関する。 Each of the slit position signal calculation units 1330a-b is connected to a plurality of detection units 1320. The slit position signal calculation unit 1330a outputs a first slit position signal S MSB using a plurality of detection values from the plurality of detection units 1320. In this embodiment, the first slit position signal S MSB relates to the most significant bits of the slit number of the first track. The slit position signal calculation unit 1330b outputs a second slit position signal S LSB using a plurality of detection values from the plurality of detection units 1320. In this embodiment, the second slit position signal S LSB relates to the least significant bits of the slit number of the first track.

最終的に第1トラックのスリット番号Sを算出可能な任意の第1の数N、第2の数N、および第3の数Nの組合せについて、第1のスリット位置信号SMSBおよび第2のスリット位置信号SLSBは、以下の式(4)および式(5)に一般化することができる。
For any combination of the first number N M , the second number N N , and the third number N S that can ultimately calculate the slit number S M of the first track, the first slit position signal S MSB and the second slit position signal S LSB can be generalized to the following equations (4) and (5).

ここで、p、p、p、q、q、およびqは、最終的に第1トラックのスリット番号Sが算出できるように定められた整数値である。例えば、第1の数N=16、第2の数N=15、および第3の数N=12の場合、(p,p,p)=(3,-4,1)、(q,q,q)=(3,0,-4)としてよい。このようにして、各スリット位置信号算出部1330は、複数の検出部1320からの複数の検出値を、予め定められた整数により重み付けして総和をとることにより、各スリット位置信号を算出することができる。 Here, pM , pN , pS , qM , qN , and qS are integer values determined so that the slit number S M of the first track can finally be calculated. For example, if the first number N M =16, the second number N N =15, and the third number N S =12, then ( pM , pN , pS ) = (3, -4, 1) and ( qM , qN , qS ) = (3, 0, -4) may be set. In this way, each slit position signal calculation unit 1330 can calculate each slit position signal by weighting the multiple detection values from the multiple detection units 1320 by predetermined integers and taking the sum.

スリット番号算出部1340は、複数のスリット位置信号算出部1330に接続される。スリット番号算出部1340は、複数のスリット位置信号算出部1330が出力するスリット位置信号SMSBおよびSLSBを用いて、予め定められた大きさの第1スリットを単位とするスリット番号S(すなわち移動体1301が位置するスリットのスリット番号)を算出する。本実施形態において、スリット番号算出部1340は、スリット番号Sを、以下の式(6)により算出する。
The slit number calculation unit 1340 is connected to the plurality of slit position signal calculation units 1330. The slit number calculation unit 1340 calculates a slit number S M (i.e., the slit number of the slit where the moving object 1301 is located) in units of first slits of a predetermined size, using the slit position signals S MSB and S LSB output by the plurality of slit position signal calculation units 1330. In this embodiment, the slit number calculation unit 1340 calculates the slit number S M using the following equation (6):

ここで、kは、MSBの重みを示す正の整数値である。スリット番号算出部1340は、第1のスリット位置信号SMSBを上位桁のスリット番号単位に四捨五入してMSBの重みkを乗じた値に、第2のスリット位置信号SLSBをスリット番号単位に四捨五入した値を加えることにより、第1スリット単位のスリット番号を算出することができる。スリット番号算出部1340は、このスリット番号を0~N-1までの値に正規化することで、スリット番号Sを算出することができる。 Here, k is a positive integer value indicating the weight of the MSB. The slit number calculation unit 1340 can calculate the slit number in first slit units by adding a value obtained by rounding off the MSB of the first slit position signal S to the value obtained by multiplying the result by the MSB weight k . The slit number calculation unit 1340 can calculate the slit number in first slit units by normalizing this slit number to a value from 0 to N M -1.

なお、kは、スリット番号Sを算出できるように、pおよびqの値に応じて一意に決定することができる。例えば、(p,p,p)=(3,-4,1)において、(q,q,q)=(0,4,-5)とした場合には、k=5としてよい。k、p、およびqの組は、(p,p,p)=(3,-4,1)、(q,q,q)=(3,0,-4)-(k-4)×(p,p,p)の関係を満たすように定めてよい。ここで、qの絶対値(qベクトルの大きさ)が小さいほどスリットの特定誤差に対してロバストとなるから、この観点でk=4を採用してもよい。 Note that k can be uniquely determined according to the values of p and q so that the slit number S M can be calculated. For example, when (p M , p N , p S ) = (3, -4, 1) and (q M , q N , q S ) = (0, 4, -5), k = 5 may be used. The set of k, p, and q may be determined to satisfy the relationships (p M , p N , p S ) = (3, -4, 1) and (q M , q N , q S ) = (3, 0, -4) - (k - 4) x (p M , p N , p S ). Here, the smaller the absolute value of q (the magnitude of the q vector), the more robust it is against slit identification errors, so from this perspective, k = 4 may be used.

スリット番号の補正前における移動体1301の検出位置は、スリット番号Sと、内挿角θとの組で表される。本変形例における、検出位置の一例としての機械角θは、エンコーダ110と同様に、前述の式(1)で表される。 The detected position of the moving body 1301 before the slit number is corrected is expressed as a pair of the slit number S M and the interpolation angle θ M. In this modification, the mechanical angle θ d , which is an example of the detected position, is expressed by the above-described formula (1), similar to the encoder 110.

補正テーブル1350は、検出部1320aおよびスリット番号算出部1340に接続される。補正テーブル1350は、スリット番号毎に、第1トラックから検出された第1検出信号(内挿角θ)に応じた、第1のスリット位置信号SMSBの補正値SMcalと、第2のスリット位置信号SLSBの補正値SLcalとのセットを格納する。補正テーブル1350は、スリット番号算出部1340から受け取ったスリット番号Sに対応付けられた補正値のセットのうち、第1検出信号に対応する補正値SMcalおよびSLcalを出力する。 The correction table 1350 is connected to the detection unit 1320a and the slit number calculation unit 1340. The correction table 1350 stores, for each slit number, a set of a correction value S Mcal for the first slit position signal S MSB and a correction value S Lcal for the second slit position signal S LSB according to the first detection signal (interpolation angle θ M ) detected from the first track. The correction table 1350 outputs the correction values S Mcal and S Lcal corresponding to the first detection signal from the set of correction values associated with the slit number S M received from the slit number calculation unit 1340.

スリット番号補正部1360は、複数のスリット位置信号算出部1330および補正テーブル1350に接続される。スリット番号補正部1360は、スリット位置信号算出部1330から受け取る複数のスリット位置信号SMSBおよびSLSBを、補正テーブル150から受け取る補正値SMcalおよびSLcalにより補正する。そして、スリット番号補正部160は、補正後の複数のスリット位置信号に基づいて、補正後のスリット番号S'を算出する。本変形例において、スリット番号補正部1360は、以下の式(7)により補正後のスリット番号S'を算出する。
The slit number correction unit 1360 is connected to the plurality of slit position signal calculation units 1330 and the correction table 1350. The slit number correction unit 1360 corrects the plurality of slit position signals S MSB and S LSB received from the slit position signal calculation unit 1330 using the correction values S Mcal and S Lcal received from the correction table 150. Then, the slit number correction unit 160 calculates the corrected slit number S' M based on the plurality of corrected slit position signals. In this modification, the slit number correction unit 1360 calculates the corrected slit number S' M using the following equation (7):

なお、式(7)は、式(6)におけるスリット位置信号SMSBおよびSLSBを、補正後のスリット位置信号SMSB+SMcalおよびSLSB+SLcalにそれぞれ置き換えたものである。 Note that equation (7) is obtained by replacing the slit position signals S MSB and S LSB in equation (6) with corrected slit position signals S MSB +S Mcal and S LSB +S Lcal , respectively.

位置算出部1370は、検出部1320aおよびスリット番号補正部1360に接続される。位置算出部1370は、図1の位置算出部170と同様にして、移動体1301の位置(補正後の位置)を算出する。本変形例において、位置算出部1370は、移動体1301の位置を示す値として、移動体1301の1回転を1周期とする機械角θを出力する。 The position calculation unit 1370 is connected to the detection unit 1320a and the slit number correction unit 1360. The position calculation unit 1370 calculates the position (corrected position) of the moving body 1301 in the same manner as the position calculation unit 170 in FIG. 1. In this modified example, the position calculation unit 1370 outputs the mechanical angle θ, with one rotation of the moving body 1301 being one period, as a value indicating the position of the moving body 1301.

図14は、本実施形態の変形例に係る第1のスリット位置信号SMSBの理想値の一例を示す。本図は、第1の数N=16、第2の数N=15、および第3の数N=12とし、(p,p,p)=(3,-4,1)の場合について式(4)に示した第1のスリット位置信号SMSBをプロットしたものである。第1のスリット位置信号SMSBは、係数p、p、およびpの値により変化しうるが、本変形例においては図14に示したとおりスリット番号の上位桁に概ね対応して変化する。 14 shows an example of ideal values of the first slit position signal S MSB according to a modification of this embodiment. This figure plots the first slit position signal S MSB shown in equation (4) for the cases where the first number N M =16, the second number N N =15, and the third number N S =12, and (p M , p N , p S )=(3, −4, 1). The first slit position signal S MSB can change depending on the values of the coefficients p M , p N , and p S , but in this modification, it changes roughly corresponding to the most significant digit of the slit number , as shown in FIG.

図15は、本実施形態の変形例に係る第2のスリット位置信号SLSBの理想値の一例を示す。本図は、第1の数N=16、第2の数N=15、および第3の数N=12とし、(q,q,q)=(3,0,-4)の場合について式(5)に示した第2のスリット位置信号SLSBをプロットしたものである。第2のスリット位置信号SLSBは、係数q、q、およびqの値により変化しうるが、本変形例においては図15に示したとおりスリット番号の下位桁に概ね対応して変化する。 15 shows an example of ideal values of the second slit position signal S LSB according to a modification of this embodiment. This figure plots the second slit position signal S LSB shown in equation (5) for the cases where the first number N M =16, the second number N N =15, and the third number N S =12, and (q M , q N , q S )=(3, 0, -4). The second slit position signal S LSB can vary depending on the values of the coefficients q M , q N , and q S , but in this modification, it varies roughly corresponding to the lower digits of the slit number , as shown in FIG.

図16は、本実施形態の変形例に係るスリット番号の理想値の一例を示す。本図は、図14に示した第1のスリット位置信号SMSB、および図15に示した第2のスリット位置信号SLSBを用いて、式(6)に示したスリット番号Sをプロットしたものである。本変形例においては、図14に示した第1のスリット位置信号SMSB、および図15に示した第2のスリット位置信号SLSBを用いることで、移動体1301の理想機械角が0°から360°まで22.5°(すなわち360°/N)ずつ変化する毎に、スリット番号が0から15(すなわちN-1)まで1ずつ増加するスリット番号が得られる。 Fig. 16 shows an example of ideal values of slit numbers according to a modification of this embodiment. This figure plots the slit number S M shown in equation (6) using the first slit position signal S MSB shown in Fig. 14 and the second slit position signal S LSB shown in Fig. 15. In this modification, by using the first slit position signal S MSB shown in Fig. 14 and the second slit position signal S LSB shown in Fig. 15, the slit number is obtained such that the slit number increases by 1 from 0 to 15 (i.e., N M -1) every time the ideal mechanical angle of the moving body 1301 changes by 22.5° (i.e., 360°/N M ) from 0° to 360°.

次に、図13から16に示した位置検出装置1300の較正について示す。本変形例において、較正装置700は、図7および図8に示したようにスリット位置信号SSの補正値Scalを生成するのと同様にして、第1のスリット位置信号SMSBの補正値SMcalおよび第2のスリット位置信号SLSBの補正値SLcalのそれぞれを生成してよい。より具体的には、取得部710は、図8のS800と同様に、移動体1301の実位置毎に、移動体1301の検出位置を取得する。 Next, calibration of the position detection device 1300 shown in Figures 13 to 16 will be described. In this modification, the calibration device 700 may generate a correction value S Mcal of the first slit position signal S MSB and a correction value S Lcal of the second slit position signal S LSB in the same manner as generating the correction value S cal of the slit position signal SS as shown in Figures 7 and 8. More specifically, the acquisition unit 710 acquires the detected position of the moving body 1301 for each actual position of the moving body 1301, similar to S800 in Figure 8.

ここで、取得部710は、移動体1301の実位置を示す値として、第1のスリット位置信号SMSBの理想値であって実位置のスリット番号の上位桁に応じた値を示すSMSBidealと、第2のスリット位置信号SLSBの理想値であって実位置のスリット番号の下位桁に応じた値を示すSLSBidealと、実位置の内挿角を示すθMidealとを、較正の基準として用いるエンコーダから取得する。また、取得部710は、移動体1301の検出位置として、第1のスリット位置信号SMSBと、第2のスリット位置信号SLSBと、内挿角θとをエンコーダ1310から取得する。生成部720は、移動体1301の実位置毎に検出位置が対応付けられたデータのデータ形式を変換して、移動体1301の検出位置毎に1または2以上の実位置が対応付けられたデータを得る。 Here, the acquiring unit 710 acquires, from the encoder used as a calibration reference, S MSB ideal, which indicates an ideal value of the first slit position signal S MSB and which corresponds to the most significant digit of the slit number of the actual position; S LSB ideal, which indicates an ideal value of the second slit position signal S LSB and which corresponds to the least significant digit of the slit number of the actual position; and θ Mideal , which indicates an interpolation angle of the actual position, as values indicating the actual position of the moving object 1301. The acquiring unit 710 also acquires, from the encoder 1310, the first slit position signal S MSB , the second slit position signal S LSB , and the interpolation angle θ M as the detected position of the moving object 1301. The generating unit 720 converts the data format of the data in which the detected position is associated with each actual position of the moving object 1301, to obtain data in which one or more actual positions are associated with each detected position of the moving object 1301.

算出部714、判定部716、および生成部720は、図8と同様に、移動体1301の検出位置毎に、第1のスリット位置信号SMSBおよび第2のスリット位置信号SLSBのそれぞれについて、S810からS860までの処理を繰り返す。 As in FIG. 8, the calculation unit 714, the determination unit 716, and the generation unit 720 repeat the processes from S810 to S860 for each of the first slit position signal S MSB and the second slit position signal S LSB for each detected position of the moving object 1301.

第1のスリット位置信号SMSBに関し、判定部716は、図8のS820と同様に、第1のスリット位置信号SMSBの単位となる上位桁のスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する。1つの実位置のみが対象の検出位置に対応すること(S830において「N」)に応じて、生成部720は、S840と同様に、第1のスリット位置信号SMSBに対して、その検出位置において1つの実位置における誤差(すなわちSMSB-SMSBideal)分の補正を行なう補正値SMcalを生成する。スリット番号が少なくとも一部異なる2以上の実位置が対象の検出位置に対応すること(S830において「Y」)に応じて、生成部720は、S850と同様に、その検出位置において2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値SMcalを生成する。第2のスリット位置信号SLSBに関しても、生成部720は、上記と同様にして、対象の検出位置における補正値SLcalを生成する。 Regarding the first slit position signal S MSB , the determination unit 716 determines whether two or more real positions, which have at least a partial difference in the slit number in the most significant digit, which is the unit of the first slit position signal S MSB , correspond to the same detection position, as in S820 of FIG. 8. If only one real position corresponds to the target detection position ("N" in S830), the generation unit 720 generates a correction value S Mcal for the first slit position signal S MSB , which corrects for the error at that one real position (i.e., S MSB - S MSB ideal ) at that detection position, as in S840. If two or more real positions, which have at least a partial difference in the slit number, correspond to the target detection position ("Y" in S830), the generation unit 720 generates a correction value S Mcal for correcting the magnitude of the difference between the errors at the two or more real positions at that detection position, as in S850. For the second slit position signal S LSB as well, the generation section 720 generates a correction value S Lcal at the target detection position in the same manner as above.

検出位置毎の補正値が生成されると、検査部730は、図8のS870と同様に、第1のスリット位置信号SMSBに関し、生成部720が生成した補正値SMcalにより補正したスリット位置信号を用いて算出した上位側のスリット番号に誤りが生じるか否かを検査する。また、検査部730は、第2のスリット位置信号SLSBに関し、生成部720が生成した補正値SLcalにより補正したスリット位置信号を用いて算出した下位側のスリット番号に誤りが生じるか否かを検査する。 8, the inspection unit 730 inspects whether or not an error occurs in the upper slit number calculated using the slit position signal corrected by the correction value S Mcal generated by the generation unit 720 for the first slit position signal S MSB . Also, the inspection unit 730 inspects whether or not an error occurs in the lower slit number calculated using the slit position signal corrected by the correction value S Lcal generated by the generation unit 720 for the second slit position signal S LSB .

出力部740は、図8のS880と同様に、生成部720が生成した検査位置毎かつ第1および第2のスリット位置信号毎の補正値を出力する。 Similar to S880 in Figure 8, the output unit 740 outputs the correction values for each inspection position and each of the first and second slit position signals generated by the generation unit 720.

本変形例に係る較正装置700によれば、3つのトラックを有する移動体1301を用いて移動体1301の位置を検出するエンコーダ1310においてトラック番号を適切に補正する補正値を生成することができる。同様にして、較正装置700は、4以上のトラックを有する移動体の位置を検出するエンコーダについても、複数のトラックから検出した複数の検出値の重み付け和によって計算される1または複数のスリット位置信号のそれぞれを補正する補正値を出力することができる。 The calibration device 700 according to this modified example can generate correction values that appropriately correct the track number in the encoder 1310 that detects the position of a moving body 1301 using a moving body 1301 with three tracks. Similarly, the calibration device 700 can also output correction values for an encoder that detects the position of a moving body with four or more tracks, that correct each of one or more slit position signals calculated by the weighted sum of multiple detection values detected from multiple tracks.

本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。 Various embodiments of the present invention may be described with reference to flowcharts and block diagrams, where the blocks may represent (1) stages of a process in which operations are performed or (2) sections of apparatus responsible for performing the operations. Particular stages and sections may be implemented by dedicated circuitry, programmable circuitry supplied with computer-readable instructions stored on a computer-readable medium, and/or a processor supplied with computer-readable instructions stored on a computer-readable medium. Dedicated circuitry may include digital and/or analog hardware circuitry and may include integrated circuits (ICs) and/or discrete circuits. Programmable circuitry may include reconfigurable hardware circuitry including logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logical operations, flip-flops, registers, memory elements such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc.

コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。 A computer-readable medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that the computer-readable medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowchart or block diagram. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.

コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJAVA(登録商標)、C++、Smalltalk(登録商標)等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。 The computer-readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as JAVA (registered trademark), C++, Smalltalk (registered trademark), etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.

コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のコンピュータ等のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 The computer-readable instructions may be provided to a processor or programmable circuitry of a programmable data processing apparatus, such as a general-purpose computer, special-purpose computer, or other computer, either locally or over a wide-area network (WAN) such as a local area network (LAN), the Internet, etc., which executes the computer-readable instructions to create means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.

図17は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。 Figure 17 shows an example of a computer 2200 in which aspects of the present invention may be embodied, in whole or in part. Programs installed on the computer 2200 may cause the computer 2200 to function as or perform operations associated with an apparatus or one or more sections of the apparatus according to embodiments of the present invention, and/or to perform a process or steps of a process according to embodiments of the present invention. Such programs may be executed by the CPU 2212 to cause the computer 2200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。 The computer 2200 according to this embodiment includes a CPU 2212, RAM 2214, a graphics controller 2216, and a display device 2218, which are interconnected by a host controller 2210. The computer 2200 also includes input/output units such as a communications interface 2222, a hard disk drive 2224, a DVD-ROM drive 2226, and an IC card drive, which are connected to the host controller 2210 via an input/output controller 2220. The computer also includes legacy input/output units such as a ROM 2230 and a keyboard 2242, which are connected to the input/output controller 2220 via an input/output chip 2240.

CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。 The CPU 2212 operates according to programs stored in the ROM 2230 and RAM 2214, thereby controlling each unit. The graphics controller 2216 retrieves image data generated by the CPU 2212 into a frame buffer or the like provided in the RAM 2214 or into the graphics controller itself, and causes the image data to be displayed on the display device 2218.

通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。 The communications interface 2222 communicates with other electronic devices via a network. The hard disk drive 2224 stores programs and data used by the CPU 2212 in the computer 2200. The DVD-ROM drive 2226 reads programs or data from the DVD-ROM 2201 and provides the programs or data to the hard disk drive 2224 via the RAM 2214. The IC card drive reads programs and data from an IC card and/or writes programs and data to an IC card.

ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。 ROM 2230 stores therein boot programs and the like that are executed by computer 2200 upon activation, and/or programs that depend on the hardware of computer 2200. I/O chip 2240 may also connect various I/O units to I/O controller 2220 via parallel ports, serial ports, keyboard ports, mouse ports, etc.

プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。 The programs are provided on a computer-readable medium such as a DVD-ROM 2201 or an IC card. The programs are read from the computer-readable medium, installed on the hard disk drive 2224, RAM 2214, or ROM 2230, which are also examples of computer-readable media, and executed by the CPU 2212. The information processing described in these programs is read by the computer 2200, resulting in cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing information manipulation or processing in accordance with the use of the computer 2200.

例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。 For example, when communication is performed between computer 2200 and an external device, CPU 2212 may execute a communication program loaded into RAM 2214 and instruct communication interface 2222 to perform communication processing based on the processing described in the communication program. Under the control of CPU 2212, communication interface 2222 reads transmission data stored in a transmission buffer processing area provided in RAM 2214, hard disk drive 2224, DVD-ROM 2201, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes received data received from the network to a reception buffer processing area, etc., provided on the recording medium.

また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。 The CPU 2212 may also cause all or necessary portions of a file or database stored on an external recording medium such as the hard disk drive 2224, DVD-ROM drive 2226 (DVD-ROM 2201), IC card, etc. to be read into the RAM 2214, and perform various types of processing on the data on the RAM 2214. The CPU 2212 then writes the processed data back to the external recording medium.

様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。 Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. CPU 2212 may perform various types of processing on data read from RAM 2214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search/replacement, etc., as described throughout this disclosure and specified by the program's instruction sequence, and write the results back to RAM 2214. CPU 2212 may also search for information in files, databases, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, CPU 2212 may search for an entry that matches a condition specified by the attribute value of the first attribute from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。 The programs or software modules described above may be stored on computer-readable media on or near computer 2200. Recording media such as a hard disk or RAM provided within a server system connected to a dedicated communications network or the Internet can also be used as computer-readable media, thereby providing the programs to computer 2200 via the network.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 The present invention has been described above using embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.

特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。 The order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," or the like, and it should be noted that processes can be performed in any order, unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that it is necessary to perform the processes in that order.

10 位置検出装置
100 移動体
105a~b トラック
110 エンコーダ
120a~b 検出部
130 スリット位置信号算出部
140 スリット番号算出部
150 補正テーブル
160 スリット番号補正部
170 位置算出部
500a~e エラー
600a~e エラー
610 エラー
700 較正装置
710 取得部
714 算出部
716 判定部
720 生成部
730 検査部
740 出力部
1300 位置検出装置
1301 移動体
1310 エンコーダ
1320a~b 検出部
1330 スリット位置信号算出部
1340 スリット番号算出部
1350 補正テーブル
1360 スリット番号補正部
1370 位置算出部
2200 コンピュータ
2201 DVD-ROM
2210 ホストコントローラ
2212 CPU
2214 RAM
2216 グラフィックコントローラ
2218 ディスプレイデバイス
2220 入/出力コントローラ
2222 通信インターフェイス
2224 ハードディスクドライブ
2226 DVD-ROMドライブ
2230 ROM
2240 入/出力チップ
2242 キーボード
10 Position detection device 100 Moving body 105a-b Track 110 Encoder 120a-b Detection unit 130 Slit position signal calculation unit 140 Slit number calculation unit 150 Correction table 160 Slit number correction unit 170 Position calculation unit 500a-e Error 600a-e Error 610 Error 700 Calibration device 710 Acquisition unit 714 Calculation unit 716 Determination unit 720 Generation unit 730 Inspection unit 740 Output unit 1300 Position detection device 1301 Moving body 1310 Encoder 1320a-b Detection unit 1330 Slit position signal calculation unit 1340 Slit number calculation unit 1350 Correction table 1360 Slit number correction unit 1370 Position calculation unit 2200 Computer 2201 DVD-ROM
2210 host controller 2212 CPU
2214 RAM
2216 Graphics controller 2218 Display device 2220 Input/output controller 2222 Communication interface 2224 Hard disk drive 2226 DVD-ROM drive 2230 ROM
2240 Input/Output Chip 2242 Keyboard

Claims (16)

移動体の実位置毎に、前記移動体の検出位置を取得する取得部と、
前記移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と前記移動体の実位置に応じた理想のスリット番号との誤差を算出する算出部と、
予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する判定部と、
前記2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において前記スリット位置信号に対して前記2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成する生成部と
を備える較正装置。
an acquisition unit that acquires a detected position of a moving object for each actual position of the moving object;
a calculation unit that calculates an error between a slit position signal that detects a slit position and an ideal slit number that corresponds to the actual position of the moving body, for a detected position for each actual position of the moving body;
a determination unit that determines whether or not two or more actual positions having at least some different slit numbers, each of which is based on a first slit of a predetermined size, correspond to the same detected position;
a generation unit that generates a correction value at the detection position to correct a magnitude of a difference between errors at the two or more actual positions for the slit position signal in response to the two or more actual positions corresponding to the same detection position.
前記生成部は、1つの実位置のみがある検出位置に対応することに応じて、前記スリット位置信号に対して、その検出位置において前記1つの実位置における誤差の補正を行なう補正値を生成する請求項1に記載の較正装置。 The calibration device described in claim 1, wherein the generation unit generates a correction value for the slit position signal in response to the fact that only one real position corresponds to a certain detection position, thereby correcting an error in the one real position at that detection position. 前記生成部は、前記取得部が取得した検出位置の区間毎に補正値を生成する請求項1に記載の較正装置。 The calibration device described in claim 1, wherein the generation unit generates a correction value for each section of the detection position acquired by the acquisition unit. 前記生成部は、前記取得部が取得した検出位置の区間毎に、検出位置に応じた補正値を表す補正関数のパラメータを算出する請求項1に記載の較正装置。 The calibration device described in claim 1, wherein the generation unit calculates parameters of a correction function that represents a correction value corresponding to the detection position for each section of the detection position acquired by the acquisition unit. 前記生成部は、前記取得部が取得した検出位置の区間毎に、検出位置に応じた補正値の集合をフーリエ級数展開することにより、前記補正関数のパラメータを算出する請求項4に記載の較正装置。 The calibration device described in claim 4, wherein the generation unit calculates the parameters of the correction function by performing a Fourier series expansion on a set of correction values corresponding to each detection position acquired by the acquisition unit for each section of the detection position. 前記生成部は、前記2以上の実位置が同一の検出位置に対応することに応じて、前記スリット位置信号に対して前記2以上の実位置のそれぞれにおける誤差を平均した大きさの補正を行なう補正値を生成する請求項1に記載の較正装置。 The calibration device described in claim 1, wherein the generation unit generates a correction value that corrects the slit position signal by an average magnitude of errors at each of the two or more actual positions, in response to the two or more actual positions corresponding to the same detection position. 前記判定部は、実位置および検出位置の対応関係を、前記第1スリットの境界にマージンを持たせて判断する請求項1に記載の較正装置。 The calibration device described in claim 1, wherein the determination unit determines the correspondence between the actual position and the detected position by providing a margin at the boundary of the first slit. 前記生成部は、前記スリット位置信号に対して前記第1スリットの境界に予め定められたマージンの加算または減算の少なくとも1つを行なうことにより得られる検出位置と実位置との対応を含む、当該検出位置に対応する少なくとも1つの実位置を用いて補正値を生成する請求項7に記載の較正装置。 The calibration device described in claim 7, wherein the generation unit generates a correction value using at least one actual position corresponding to the detected position, the actual position being obtained by adding or subtracting a predetermined margin to the boundary of the first slit from the slit position signal. 前記スリット位置信号に補正値を加えた値を四捨五入して前記第1スリットを単位とするスリット番号を算出するエンコーダに対して補正値を出力する出力部を更に備える請求項1に記載の較正装置。 The calibration device of claim 1 further comprises an output unit that outputs a correction value to an encoder that calculates a slit number in units of the first slit by adding a correction value to the slit position signal and rounding off the result. 前記エンコーダは、前記スリット位置信号に補正値を加えた値が整数となるように四捨五入したスリット番号を算出する請求項9に記載の較正装置。 The calibration device described in claim 9, wherein the encoder calculates the slit number by rounding off the value obtained by adding a correction value to the slit position signal to an integer. 前記出力部は、前記エンコーダが有する補正テーブルに補正値を書き込む請求項9に記載の較正装置。 The calibration device described in claim 9, wherein the output unit writes the correction value into a correction table provided in the encoder. 前記生成部が生成した補正値により補正したスリット位置信号を用いて算出したスリット番号に誤りが生じるか否かを検査する検査部を更に備える請求項9に記載の較正装置。 The calibration device of claim 9, further comprising an inspection unit that inspects whether an error occurs in the slit number calculated using the slit position signal corrected by the correction value generated by the generation unit. 前記移動体は回転体であり、
前記回転体は、
前記回転体の1周を予め定められた第1の数で分割した第1周期毎の前記第1スリットを含む第1トラックと、
前記回転体の1周を前記第1の数より小さい第2の数で分割した第2周期毎の第2スリットを含む第2トラックと
を有し、
較正対象となるエンコーダは、前記移動体の検出位置を、前記第1トラックから検出した第1検出値および前記第2トラックから検出した第2検出値に基づいて算出する
請求項1から12のいずれか一項に記載の較正装置。
the moving body is a rotating body,
The rotating body is
a first track including the first slits for each first period obtained by dividing one revolution of the rotating body by a predetermined first number;
a second track including second slits at second intervals obtained by dividing one revolution of the rotating body by a second number smaller than the first number,
13. The calibration device according to claim 1, wherein the encoder to be calibrated calculates the detected position of the moving object based on a first detection value detected from the first track and a second detection value detected from the second track.
前記回転体は、前記回転体の1周を前記第1の数および前記第2の数とは異なる第3の数で分割した第3周期毎の第3スリットを含む第3トラックを更に有し、
前記エンコーダは、前記移動体の検出位置を、前記第3トラックから検出した第3検出値に更に基づいて算出する
請求項13に記載の較正装置。
the rotating body further includes a third track including third slits for each third period obtained by dividing one revolution of the rotating body by a third number different from the first number and the second number,
The calibration device according to claim 13 , wherein the encoder calculates the detected position of the moving object further based on a third detected value detected from the third track.
較正装置が、移動体の実位置毎に、前記移動体の検出位置を取得することと、
前記較正装置が、前記移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と前記移動体の実位置に応じた理想のスリット番号との誤差を算出することと、
前記較正装置が、予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定することと、
前記2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において、前記スリット位置信号に対して前記2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成することと
を備える較正方法。
a calibration device acquiring a detected position of the moving object for each actual position of the moving object;
the calibration device calculates an error between a slit position signal that detects a slit position and an ideal slit number that corresponds to the actual position of the moving body, for a detected position for each actual position of the moving body;
the calibration device determines whether or not two or more actual positions having at least some different slit numbers, each of which is based on a first slit of a predetermined size, correspond to the same detected position;
and generating, in response to the two or more actual positions corresponding to the same detection position, a correction value at the detection position that corrects the slit position signal for a magnitude difference between errors at the two or more actual positions.
コンピュータにより実行され、前記コンピュータを、
移動体の実位置毎に、前記移動体の検出位置を取得する取得部と、
前記移動体の実位置毎の検出位置について、スリット位置を検出するスリット位置信号と前記移動体の実位置に応じた理想のスリット番号との誤差を算出する算出部と、
予め定められた大きさの第1スリットを単位とするスリット番号が少なくとも一部異なる2以上の実位置が同一の検出位置に対応するか否かを判定する判定部と、
前記2以上の実位置が同一の検出位置に対応することに応じて、当該検出位置において、前記スリット位置信号に対して前記2以上の実位置のそれぞれにおける誤差の間の大きさの補正を行なう補正値を生成する生成部と
して機能させる較正プログラム。
The method is executed by a computer, causing the computer to:
an acquisition unit that acquires a detected position of a moving object for each actual position of the moving object;
a calculation unit that calculates an error between a slit position signal that detects a slit position and an ideal slit number that corresponds to the actual position of the moving body, for a detected position for each actual position of the moving body;
a determination unit that determines whether two or more actual positions having at least some different slit numbers, each of which is based on a first slit of a predetermined size, correspond to the same detected position;
a calibration program that causes the program to function as a generation unit that generates, in response to the two or more actual positions corresponding to the same detection position, a correction value that corrects the magnitude of the difference between errors at the two or more actual positions for the slit position signal at the detection position.
JP2022068806A 2021-06-28 2022-04-19 Calibration device, calibration method, and calibration program Active JP7805852B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/844,761 US12366470B2 (en) 2021-06-28 2022-06-21 Calibration apparatus, calibration method, and non-transitory computer readable medium having recorded thereon calibration program
CN202210747172.XA CN115597650B (en) 2021-06-28 2022-06-28 Calibration apparatus, calibration methods and calibration procedures
US19/263,506 US20250334431A1 (en) 2021-06-28 2025-07-09 Calibration apparatus, calibration method, and non-transitory computer readable medium having recorded thereon calibration program
JP2026004453A JP2026063143A (en) 2021-06-28 2026-01-14 Position detection device, position detection method, and position detection program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021107088 2021-06-28
JP2021107088 2021-06-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2026004453A Division JP2026063143A (en) 2021-06-28 2026-01-14 Position detection device, position detection method, and position detection program

Publications (2)

Publication Number Publication Date
JP2023007397A JP2023007397A (en) 2023-01-18
JP7805852B2 true JP7805852B2 (en) 2026-01-26

Family

ID=85107835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022068806A Active JP7805852B2 (en) 2021-06-28 2022-04-19 Calibration device, calibration method, and calibration program

Country Status (1)

Country Link
JP (1) JP7805852B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024103196A (en) 2023-01-20 2024-08-01 キオクシア株式会社 Information Processing System
CN119649605B (en) * 2024-12-19 2026-04-24 北京百度网讯科技有限公司 Object position determining method, device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003121200A (en) 2001-10-11 2003-04-23 Yaskawa Electric Corp Magnetic encoder
US20150171999A1 (en) 2012-05-18 2015-06-18 Rs Automation Co., Ltd. Digital opto-electric pulse application method for correcting bit error of vernier-type optical encoder
WO2018190018A1 (en) 2017-04-13 2018-10-18 ソニー株式会社 Position detection device and position detection method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0599693A (en) * 1991-03-27 1993-04-23 Yokogawa Electric Corp Encoder
JP6917858B2 (en) * 2017-10-16 2021-08-11 旭化成エレクトロニクス株式会社 Angle detector, angle detection method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003121200A (en) 2001-10-11 2003-04-23 Yaskawa Electric Corp Magnetic encoder
US20150171999A1 (en) 2012-05-18 2015-06-18 Rs Automation Co., Ltd. Digital opto-electric pulse application method for correcting bit error of vernier-type optical encoder
WO2018190018A1 (en) 2017-04-13 2018-10-18 ソニー株式会社 Position detection device and position detection method

Also Published As

Publication number Publication date
JP2023007397A (en) 2023-01-18

Similar Documents

Publication Publication Date Title
JP2026063143A (en) Position detection device, position detection method, and position detection program
JP7805852B2 (en) Calibration device, calibration method, and calibration program
US9007057B2 (en) High resolution absolute encoder
US9354085B2 (en) Angle detecting device with complex self-calibration function
CN105229424B (en) Method for self-calibrating a rotary encoder
US20130179117A1 (en) Position sensor
CN114659443B (en) Position sensor system and method
AU2006336718B2 (en) Rotary encoder
JP4824635B2 (en) Angle correction method for rotary encoder
CN110793430A (en) Absolute electrical angle detection method, system and computer readable storage medium
JP5695410B2 (en) Angle detection device and eccentricity estimation method thereof
US20130253870A1 (en) Self-Calibrating Single Track Absolute Rotary Encoder
WO2011013773A1 (en) Optical type displacement detecting device
JP2021001879A (en) Rotation angle sensor, and method and program for calculating angle signal
JP5893360B2 (en) Monitoring unit and method for monitoring a position signal of an incremental position measuring mechanism
US20170138761A1 (en) Ring magnetic encoder, manufacturing device for ring magnetic encoder, rotary shaft offset detecting method, and human-machine interface device thereof
JP7381707B2 (en) Detection device, method, system, calculation device, and calculation method
CN115406335B (en) Magnetic position sensor systems, methods, and apparatus with error detection
JP2013024757A (en) Graduation error calculating device, graduation error calibration device, and graduation error calculating method
JP4858837B2 (en) Rotation angle detector
CN111256735B (en) A kind of photoelectric encoder data processing method, device and photoelectric encoder
US20210072016A1 (en) Apparatus and method for ascertaining a rotation angle
JP6719684B1 (en) Numerical control device
US20130018619A1 (en) Physical quantity detection apparatus and inspection method of physical quantity detection apparatus
JP2007064771A (en) Error correction device for encoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260114

R150 Certificate of patent or registration of utility model

Ref document number: 7805852

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150