Analysis of the Subdivision Errors of Photoelectric Angle Encoders and Improvement of the Tracking Precision of a Telescope Control System

Photoelectric angle encoders, working as position sensors, have a great influence on the accuracy and stability of telescope control systems (TCS). In order to improve the tracking precision of TCS, a method based on subdivision error compensation for photoelectric angle encoders is proposed. First, a mathematical analysis of six types of subdivision errors (DC error, phase error, amplitude error, harmonic error, noise error, and quantization error) is presented, which is different from the previously used analysis based on the Lissajous figure method. In fact, we believe that a mathematical method is more efficient than the figure method for the expression of subdivision errors. Then, the distribution law and period length of each subdivision error are analyzed. Finally, an error compensation algorithm is presented. In a real TCS, the elevation jittering phenomenon occurs, which indicates that compensating for the amplitude error is necessary. A feed-forward loop is then introduced into the TCS, which is position loop- and velocity loop-closed, leading to a decrease of the tracking error by nearly 54.6%, from 2.31” to 1.05”, with a leading speed of 0.25°/s, and by 40.5%, from 3.01” to 1.79”, with a leading speed of 1°/s. This method can realize real-time compensation and improve the ability of TCS without any change of the hardware. In addition, independently of the environment and the kind of control strategy used, this method can also improve the tracking precision presumably because it compensates the measuring error inside the photoelectric angle encoder.


Introduction
With the development of free space optical communication, a higher tracking precision of telescope control systems (TCS), which usually display arc second-scale accuracy [1,2], is a necessity. The photoelectric angle encoder is a kind of angular sensor, which achieves high resolution by the subdivision of two-way orthogonal moire pattern (sine and cosine) signals from a fine code disk [3]. Obviously, high-precision angle encoders contribute to the high accuracy of TCS. However, the real photoelectric parameters are not well matched with the processing circuit, and the normal subdivision methods are based on standard sine and cosine signals, which causes subdivision errors [4].
Scientists are working to manufacture high-precision and high-resolution photoelectric angle encoders. St. Petersburg State Electrotechnical University developed an encoder error detection system with an accuracy of 0.1" at the speed of up to 10 Round Per Second (RPS), which can realize dynamic error detection [5]. Wan et al. from Changchun Institute of Optics, Fine Mechanical, and Physics, Chinese Academy of Sciences, designed a high-precision photoelectric angle encoder with a dual-reading system, which satisfies the technique requirements of spaceborne equipment [6]. However, all these high-resolution angle measurements depend on large code disks. It is a challenge for scientists to achieve high resolution with small code disks [7].
To compensate the subdivision error of the photoelectric angle encoders, whose code disks are small, Wang et al. proposed an error compensation method based on an improved Back Propagation (BP) neural network, which brought a 15% improvement in accuracy [8]. An experimental-theoretical method was proposed by E. V. Kaplya to identify and compensate static errors in the phase coordinates of the elements of an optical encoder and decreased the error of the encoder by 10.8% [9]. Yu's team designed a 23-bit angle reference encoder by structure and circuit devising, whose subdivision error was then compensated by a Radical Basis Function (RBF) neural network. The resolution of the angle encoder was 0.15", and, after compensating, the error of the encoder decreased from 1.3" to 0.6" [10]. An automatic compensation method for sine deviation, proposed by Gao and his cooperators, used particle swam optimization to identify the seven undefined parameters of the signal model and could reduce the subdivision error from 0.923" to 0.316" [11]. A method based on moire triangle subdivision error compensation, which was proposed by Sun, decreased the original error by 1/3 [12].
However, all the studies mentioned above have their shortcomings. For those based on neural or improved neural networks, their training sets are too big and need a long processing time before they can be implemented. Besides, when working in real systems, neural network-based methods need a considerable time to match the data input with the training sets. This is not practical for spaceborne equipment. For some other methods, the compensating strategies are difficult to adapt to changing working sites.
To improve the precision of photoelectric encoders, we designed a compensation method without changing the parameters of the hardware. First, we defined the position error of the encoder and identified the type of subdivision error corresponding to the main error. Then, we compensated the main error through the properties of the angle encoder. Finally, we improved the structure of the control system to further increase its precision. This compensation method required a short time and significantly increased the precision of the system. Most importantly, this method works in real time and can satisfy the requirements of spaceborne equipment.

Mathematical Analysis on Subdivision Errors
Ideal grating fringe photoelectric signals are sine and cosine signals with equal amplitude, which can be expressed as follow [11]: where A is the amplitude of the signal, and θ is the theoretic rotary angle of the signal; the angle θ can be deduced from: However, some factors influence the precision of subdivision, for example, the precision of the code disk, the precision of the axis, the quality of the photoelectric signals, the performance of the processing circuit, and so on. The real outputs are obtained by the moire fringe technique, which can be expressed as: are the sum of higher harmonics, which cause the harmonic subdivision error.
δ a and δ b are the electric noise, which causes the electric noise subdivision error. In addition, the analog-to-digital conversion (A/D) causes the quantization subdivision error. Also, the difference between the phases ϕ 1 and ϕ 2 causes the phase subdivision error [8].
Here, we define ∆θ as the subdivision error, θ r as the real rotary angle, and θ d as the measured rotary angle. We have, then, the following equation:

DC Subdivision Error Analysis
If there is only the DC subdivision error, we can introduce the DC components a, b into the expression of the subdivision error ∆θ and then simplify it as shown: so : tan ∆θ = tan(θ r − arctan sin θ r + a r cos θ r + b r ), We can simplify the equation above: Here, we define: We can use zero shift of the angle (initial angle α) to calculate ϕ: Then: Finally, we can get: According to the equation above, we can use the measured rotary angle θ d and α to get the DC subdivision error ∆θ and compensate it.
Then, we can determine the change of ∆θ when θ r ranges from 0 to 2π and obtain the distribution law and period length of the DC subdivision error in Figure 1.
According to the equation above, we can use the measured rotary angle d θ and α to get the DC subdivision error θ Δ and compensate it. Then, we can determine the change of θ Δ when r θ ranges from 0 to 2π and obtain the distribution law and period length of the DC subdivision error in Figure 1.
Here, we consider as an example the DC components Each type of error has a special distribution law, which can help us to identify the main error. Here, we can see that, in one period of r θ , θ Δ is a single period.

Magnitude Subdivision Error Analysis
If there is only the magnitude subdivision error, we can introduce the magnitude components dr into the expression of the subdivision error θ Δ and then simplify it as follows:  Here, we consider as an example the DC components a = 0.2r, b = 0.2r. Each type of error has a special distribution law, which can help us to identify the main error. Here, we can see that, in one period of θ r , ∆θ is a single period.

Magnitude Subdivision Error Analysis
If there is only the magnitude subdivision error, we can introduce the magnitude components dr into the expression of the subdivision error ∆θ and then simplify it as follows: so : tan ∆θ = tan θ r − (r−dr) sin θ r r cos θ r We can finally simplify it: According to the equation above, we can use the measured rotary angle θ d and dr r to obtain the magnitude subdivision error ∆θ and compensate it.
Then, we can determine the change of ∆θ when θ r ranges from 0 to 2π and obtain the distribution law and the period length of the magnitude subdivision error in Figure 2. We can see that, in one period of r θ , θ Δ is a dual period.  Here, we consider the magnitude component dr = 0.2r. We can see that, in one period of θ r , ∆θ is a dual period.

Phase Subdivision Error Analysis
If there is only the phase subdivision error, we can introduce the phase component ϕ 3 into the expression of the subdivision error ∆θ and then simplify it as follows: next : arctan According to the equation above, we can use the measured rotary angle θ d and ϕ 3 to get the phase subdivision error ∆θ and compensate it.
Then, we can determine the change of ∆θ when θ r ranges from 0 to 2π and obtain the distribution law and period length of the phase subdivision error in Figure 3.  We can see that, in one period of r θ , θ Δ is a dual period.

Harmonic Subdivision Error Analysis
If only the harmonic subdivision error is present, we can introduce the harmonic component   Here, we consider the phase components ϕ 3 = 10 • . We can see that, in one period of θ r , ∆θ is a dual period.

Harmonic Subdivision Error Analysis
If only the harmonic subdivision error is present, we can introduce the harmonic component Nθ r into the expression of the subdivision error ∆θ and then simplify it as follows: next : tan ∆θ = tan θ r − According to Equation (21) above, we can see that the harmonic subdivision error consists of different harmonic components, so it is not as simple as the subdivision errors discussed above.

Noise Subdivision Error Analysis
If only the harmonic subdivision error is present, we can introduce the noise components δ a , δ b into the expression of the subdivision error ∆θ and then simplify it as follows: Especially when δ a = δ b = δ, According to the equation above, we can use the measured rotary angle θ d and δ a , δ b to get the subdivision error ∆θ and compensate it.
Then, we can determine the change of ∆θ when θ r ranges from 0 to 2π and obtain the distribution law and period length of the noise subdivision error in Figure 4. θ δ θ θ δ θ θ δ θ θ δ Especially when , According to the equation above, we can use the measured rotary angle d θ and b a δ δ , to get the subdivision error θ Δ and compensate it.
Then, we can determine the change of θ Δ when r θ ranges from 0 to 2π and obtain the distribution law and period length of the noise subdivision error in Figure 4.
Here, we consider the noise components  We can see that, in one period of r θ , θ Δ is a single period. In almost all spaceborne equipment, the noise should be a minimal component, which can be neglected.

Quantization Subdivision Error Analysis
As we know, the digital code X of a photoelectric angle encoder is uniformly distributed, which means the probability density function of X is as follow [8]: Here, we consider the noise components δ a = 0.05r, δ b = 0.08r. We can see that, in one period of θ r , ∆θ is a single period. In almost all spaceborne equipment, the noise should be a minimal component, which can be neglected.

Quantization Subdivision Error Analysis
As we know, the digital code X of a photoelectric angle encoder is uniformly distributed, which means the probability density function of X is as follow [8]: We can obtain the mathematical expectation and variance: When the resolution of the angle code is Q, the quantization subdivision error can be expressed as [8]: Here, the quantization subdivision error is the root-mean-square (RMS) error [8], which can be neglected in a standard electric system.
After obtaining the main subdivision error and its expression, we should think of how to compensate it.
All the subdivision errors are listed in the following Table 1: Table 1. Definition of the subdivision errors.

DC error arctan
Magnitude error arctan Quantization error ×

Simulations
Once completed the above analysis, we set up a simulation. We assumed three kinds of subdivision error in the system to determine the tracking error before and after compensation. In Figure 5, we considered a sine input x = 0.5 * sin(0.05 * t) − 10 at the center of minus 10 and added three kinds of subdivision error (amplitude error: dr = 0.3r, DC error: a = 0.2, b = 0, and phase error: ϕ = 10 • ) in the output to evaluate the tracking error. The transfer function G(s) = 17.5 7.842 −5 s 2 +0.02143s+1 and the controller C PI (s) = 0.1943 * s+62.98 s were from reference [13]. We determined that the tracking error was 11.15". Then, we compensated for the amplitude subdivision error, which is the main error, and obtained a tracking error of 6.83". This means that, after compensating for the main subdivision error, the tracking error decreased of 38.7%. We were not concern about the type of control strategy, because the tracking error would decrease as a result of the measuring error being compensated. In other words, regardless of the type of control strategy, this method can also improve the tracking precision presumably because it compensates the measuring error inside the photoelectric angle encoder. subdivision error, which is the main error, and obtained a tracking error of 6.83". This means that, after compensating for the main subdivision error, the tracking error decreased of 38.7%. We were not concern about the type of control strategy, because the tracking error would decrease as a result of the measuring error being compensated. In other words, regardless of the type of control strategy, this method can also improve the tracking precision presumably because it compensates the measuring error inside the photoelectric angle encoder.

Compensation Algorithm
The experimental telescope platform and photoelectric angle encoder we used are shown in Figures 6 and 7.

Compensation Algorithm
The experimental telescope platform and photoelectric angle encoder we used are shown in Figures 6 and 7. subdivision error, which is the main error, and obtained a tracking error of 6.83". This means that, after compensating for the main subdivision error, the tracking error decreased of 38.7%. We were not concern about the type of control strategy, because the tracking error would decrease as a result of the measuring error being compensated. In other words, regardless of the type of control strategy, this method can also improve the tracking precision presumably because it compensates the measuring error inside the photoelectric angle encoder.

Compensation Algorithm
The experimental telescope platform and photoelectric angle encoder we used are shown in Figures 6 and 7.   To compensate the subdivision error, we should know the structure of the angle encoder and the algorithm to calculate the angle. In Figure 7, we see the code disk of the absolute photoelectric angle encoder, on which there are two coarse-reading heads and two fine-reading heads (indicated in Figure 7 with green and blue lines, respectively). We could read the coarse code and fine code through these reading heads. We removed the processing circuit chip lying on the code disk in order to examine the details of the code disk. The fine code is generated by electronic subdivision, which is processed in the DSP (Digital Signal Processor). The coarse code represents the completed period To compensate the subdivision error, we should know the structure of the angle encoder and the algorithm to calculate the angle. In Figure 7, we see the code disk of the absolute photoelectric angle encoder, on which there are two coarse-reading heads and two fine-reading heads (indicated in Figure 7 with green and blue lines, respectively). We could read the coarse code and fine code through these reading heads. We removed the processing circuit chip lying on the code disk in order to examine the details of the code disk. The fine code is generated by electronic subdivision, which is processed in the DSP (Digital Signal Processor). The coarse code represents the completed period numbers of subdivision signals A and B the shaft has rotated. The subdivision of A and B is described by the fine code, which includes the subdivision errors [14].
The movement of the telescope shaft is transformed to optical signals through the code disk, on which we could obtain the coarse signals and fine signals (electric signals) by the reading heads. In Figure 8, the processing details are discussed. The coarse signals and fine signals were sent into amplifiers and filters to ensure their purity. Afterwards, the analog signals were converted into digital signals by A/D sampling and were then sent into the DSP. After a series of processes, we could determine the measuring angle. However, subdivision errors were present in the angle we obtained. Therefore, a compensation algorithm was required. To compensate the subdivision error, we should know the structure of the angle encoder and the algorithm to calculate the angle. In Figure 7, we see the code disk of the absolute photoelectric angle encoder, on which there are two coarse-reading heads and two fine-reading heads (indicated in Figure 7 with green and blue lines, respectively). We could read the coarse code and fine code through these reading heads. We removed the processing circuit chip lying on the code disk in order to examine the details of the code disk. The fine code is generated by electronic subdivision, which is processed in the DSP (Digital Signal Processor). The coarse code represents the completed period numbers of subdivision signals A and B the shaft has rotated. The subdivision of A and B is described by the fine code, which includes the subdivision errors [14].
The movement of the telescope shaft is transformed to optical signals through the code disk, on which we could obtain the coarse signals and fine signals (electric signals) by the reading heads. In Figure 8, the processing details are discussed. The coarse signals and fine signals were sent into amplifiers and filters to ensure their purity. Afterwards, the analog signals were converted into digital signals by A/D sampling and were then sent into the DSP. After a series of processes, we could determine the measuring angle. However, subdivision errors were present in the angle we obtained. Therefore, a compensation algorithm was required. In Figure 9, we see the compensation algorithm. First, according to Section 2, we identified the main kind of subdivision error and calculated the compensation angle. In the following Equations, Q is the resolution of the angle encoder, C Q is the resolution represented by the coarse code, F Q is the resolution represented by the fine code. The total bits of the angle encoder are the combination of the coarse code bits and the fine code bits [14]. These parameters are expressed as follows:  In Figure 9, we see the compensation algorithm. First, according to Section 2, we identified the main kind of subdivision error and calculated the compensation angle. In the following Equations, Q is the resolution of the angle encoder, Q C is the resolution represented by the coarse code, Q F is the resolution represented by the fine code. The total bits of the angle encoder are the combination of the coarse code bits and the fine code bits [14]. These parameters are expressed as follows:

( )°=
Total Bits = Coarse Bits + Fine Bits, The processing steps can be described as follows: Step 1 Obtain the data of coarse code and fine code.
Step 2 According to the analysis of the subdivision errors, identify the main kind of subdivision error and calculate ∆θ.
Step 3 Calculate the fine code corrected according to Equation (35).
Here, we can see that, if we only determined and calculated the subdivision error ∆θ, the real rotary angle θ r is easily obtained. However, it is not obvious how to identify the main kind of subdivision error and calculate it.
The processing steps can be described as follows: Step 1 Obtain the data of coarse code and fine code.
Step 2 According to the analysis of the subdivision errors, identify the main kind of subdivision error and calculate θ Δ .
Here, we can see that, if we only determined and calculated the subdivision error θ Δ , the real rotary angle r θ is easily obtained. However, it is not obvious how to identify the main kind of subdivision error and calculate it.

Experiment Set Up
In a real telescope system, the elevation jittering cannot be neglected. Compared with the elevation error, the azimuth error was low, i.e., below the expected value (2"). Therefore, we only consider the elevation as the control target. We used a system with the classical double-loop structure (position loop and velocity loop) [15], as shown in Figure 10.

Experiment Set Up
In a real telescope system, the elevation jittering cannot be neglected. Compared with the elevation error, the azimuth error was low, i.e., below the expected value (2"). Therefore, we only consider the elevation as the control target. We used a system with the classical double-loop structure (position loop and velocity loop) [15], as shown in Figure 10.
The processing steps can be described as follows: Step 1 Obtain the data of coarse code and fine code.
Step 2 According to the analysis of the subdivision errors, identify the main kind of subdivision error and calculate θ Δ .
Here, we can see that, if we only determined and calculated the subdivision error θ Δ , the real rotary angle r θ is easily obtained. However, it is not obvious how to identify the main kind of subdivision error and calculate it.

Experiment Set Up
In a real telescope system, the elevation jittering cannot be neglected. Compared with the elevation error, the azimuth error was low, i.e., below the expected value (2"). Therefore, we only consider the elevation as the control target. We used a system with the classical double-loop structure (position loop and velocity loop) [15], as shown in Figure 10.

Results before Adding the Compensation Algorithm
The elevation position error, before we applied our compensation algorithm, is shown in Figure 11a

Results after Applying the Compensation Algorithm
From the analysis in Section 2, we know there are six kinds of subdivision errors that decrease the precision of the angle encoder. However, there must be a main subdivision error out of the six kinds of subdivision errors. To ensure real-time compensation, our algorithm has to compensate only for the main subdivision error on the basis of our analysis above.
The angle encoder we used was 23-bit. More precisely, there were 13 bits for the coarse code and 10 bits for the fine code. According to the expression (31), we determined the resolution of the coarse code,  . We could calculate the Error of the two kinds of speed: Error v=0.25 = 2.31 , Error v=1 = 3.01 . Obviously, the elevation error did not satisfy our expectation. Thus, error compensation was necessary.

Results after Applying the Compensation Algorithm
From the analysis in Section 2, we know there are six kinds of subdivision errors that decrease the precision of the angle encoder. However, there must be a main subdivision error out of the six kinds of subdivision errors. To ensure real-time compensation, our algorithm has to compensate only for the main subdivision error on the basis of our analysis above.
The angle encoder we used was 23-bit. More precisely, there were 13 bits for the coarse code and 10 bits for the fine code. According to the expression (31), we determined the resolution of the coarse code, Q C = 360 • /2 13 = 0.0439 • = 158.04 . Together with the leading speed v, we determined the coarse period time T C = Q C /v. Then, we recorded the coarse cycles according to the coarse period time T C , and the subdivision error cycles according to Figure 11a,b in one second.
For v = 0.25 • /s, T C = (0.0439/0.25) s = 0.176 s. From Figure 11a, we could count the periods. We found that, in one second, there were 1/0.176 = 5.68 periods for the coarse code and 12 periods for the subdivision error. This means that there were approximately 2.1 periods for the subdivision error in one period of the coarse code.
For v = 1 • /s, T C = (0.0439/1) s = 0.0439 s. From Figure 11b, we could count the periods. We found that, in one second, there were 1/0.0439 = 22.78 periods for the coarse code and 46 periods for the subdivision error. This means that there were approximately 2.0 periods for the subdivision error in one period of the coarse code.
We observed that the magnitude subdivision error and phase subdivision error are dual periods that are close to the values we calculated. We also found that the distribution of the error was symmetrical with respect to the center of zero, which suggested that the magnitude subdivision error was the main error.
As we reported, the magnitude subdivision error is: ∆θ = θ r − arctan (r − dr) sin θ r r cos θ r , so : ∆θ = arctan( sin 2θ r cos 2θ r + 2r We defined dr r and introduced all the required parameters into the TCS, using the compensation algorithm described in Figure 9. We considered v = 0.25 • /s and v = 1 • /s after compensation, as indicated below.
As shown in Figure 12a,b, the position errors were clearly smaller after compensation. The RMS of the position error after compensation were Error v=0.25 = 1.15 and Error v=1 = 1.92 . This means that the errors decreased, respectively, of 50.2% and 36.2%. Therefore, the compensation algorithm considerably increased the precision.

+2
We defined dr r and introduced all the required parameters into the TCS, using the compensation algorithm described in Figure 9. We considered v = 0.25°/s and v = 1°/s after compensation, as indicated below. As shown in Figure 12a . This means that the errors decreased, respectively, of 50.2% and 36.2%. Therefore, the compensation algorithm considerably increased the precision.

Results after Introducing the Feed-Forward Loop into the TCS
In order to further increase the tracking precision, we added a feed-forward loop into the system (see Figure 13). A feed-forward loop can introduce the object properties into the loop and reduce the error.

Results after Introducing the Feed-Forward Loop into the TCS
In order to further increase the tracking precision, we added a feed-forward loop into the system (see Figure 13). A feed-forward loop can introduce the object properties into the loop and reduce the error.

+2
We defined dr r and introduced all the required parameters into the TCS, using the compensation algorithm described in Figure 9. We considered v = 0.25°/s and v = 1°/s after compensation, as indicated below. As shown in Figure 12a . This means that the errors decreased, respectively, of 50.2% and 36.2%. Therefore, the compensation algorithm considerably increased the precision.

Results after Introducing the Feed-Forward Loop into the TCS
In order to further increase the tracking precision, we added a feed-forward loop into the system (see Figure 13). A feed-forward loop can introduce the object properties into the loop and reduce the error.  Figure 13. Adding a feed-forward loop into the control system. Figure 13. Adding a feed-forward loop into the control system.
After adding the feed-forward loop, the RMS of the position errors were Error v=0.25 = 1.05 and Error v=1 = 1.79 . The feed-forward loop further decreased the previously compensated errors of about 9.5% and 6.8%. Because of the characteristics of the feed-forward loop, if the frequency of the error was lower, the error decrease would be greater [16]. The distribution of the error after adding the feed-forward loop was as follows (Figure 14a Error . The feed-forward loop further decreased the previously compensated errors of about 9.5% and 6.8%. Because of the characteristics of the feed-forward loop, if the frequency of the error was lower, the error decrease would be greater [16]. The distribution of the error after adding the feed-forward loop was as follows (Figure 14a,b).

Conclusions
In a real TCS, the elevation jittering phenomenon occurs. We considered the elevation as the control target. After analyzing the period of the position error, we found that magnitude subdivision exists, using the analysis in Section 2. After compensation, the tracking error was decreased by nearly 50.2%, from 2.31" to 1.15" with the leading speed of 0.25°/s, and by 36.2%, from 3.01" to 1.92", with the leading speed of 1°/s. We observed that, when the speed increased, the tracking error increased, which suggested that when the system worked at a lower speed, the compensation algorithm worked better. We then found that adding a feed-forward loop into the system could further decrease the tracking error, even if only by a few percent points (9.5% and 6.8%). The reason of the small decrease was that the frequency of the error was so high that the feed forward-loop could not run perfectly. Therefore, in the future, we will try to improve the functioning of the feed-forward loop.
The compensation algorithm described above is suitable for complex devices and can provide a real-time compensation without any change of the hardware. It is also adaptable to changing environments, regardless of the control strategy used, and can also improve the tracking precision presumably because it compensate the measuring error inside of the photoelectric angle encoder. Moreover, the compensation method described only requires the position of the shaft that can be easily determined by the photoelectric angle encoder; therefore, its cost is limited, which means it works efficiently.
However, the compensation algorithm has its shortcomings, since it cannot compensate all subdivision errors in the same time. In fact, we observed that other subdivision errors were still present after compensation, and that we only compensated the main error. Therefore, although the compensation algorithm worked well, it still requires improvements. We will work on these improvements in the future to enhance the system's efficiency.

Conclusions
In a real TCS, the elevation jittering phenomenon occurs. We considered the elevation as the control target. After analyzing the period of the position error, we found that magnitude subdivision exists, using the analysis in Section 2. After compensation, the tracking error was decreased by nearly 50.2%, from 2.31" to 1.15" with the leading speed of 0.25 • /s, and by 36.2%, from 3.01" to 1.92", with the leading speed of 1 • /s. We observed that, when the speed increased, the tracking error increased, which suggested that when the system worked at a lower speed, the compensation algorithm worked better. We then found that adding a feed-forward loop into the system could further decrease the tracking error, even if only by a few percent points (9.5% and 6.8%). The reason of the small decrease was that the frequency of the error was so high that the feed forward-loop could not run perfectly. Therefore, in the future, we will try to improve the functioning of the feed-forward loop.
The compensation algorithm described above is suitable for complex devices and can provide a real-time compensation without any change of the hardware. It is also adaptable to changing environments, regardless of the control strategy used, and can also improve the tracking precision presumably because it compensate the measuring error inside of the photoelectric angle encoder. Moreover, the compensation method described only requires the position of the shaft that can be easily determined by the photoelectric angle encoder; therefore, its cost is limited, which means it works efficiently.
However, the compensation algorithm has its shortcomings, since it cannot compensate all subdivision errors in the same time. In fact, we observed that other subdivision errors were still present after compensation, and that we only compensated the main error. Therefore, although the compensation algorithm worked well, it still requires improvements. We will work on these improvements in the future to enhance the system's efficiency.