## 4 Movement Control Algorithm Using Eccentricity
Therefore, the current component of \(i_{q}\) applied to each stator must have the component for rotation and movement control command, as shown in Equation (8). \[ \begin{array}{l}i_{qA}=I_{rotation}+I_{Xtrans}\\ i_{qB}=I_{rotation}+I_{Ytrans}\\ i_{qC}=I_{rotation}+I_{Xtrans}\\ i_{qD}=I_{rotation}+I_{Ytrans}\end{array}  \tag{8}\]  
For example, in order to include a rotation command that can be changed in real time and an X-axis movement control command in one \(i_{q}\) current command, the control command is distributed as shown in Equation (9) below. Since each part of the magley system must maintain the same rotational speed, the same rotational current, \(I_{rotation}ref*\), is the input to each \(i_{q}\) current of the magley system. \[ \begin{array}{l}i_{rotation}*=I_{rotation}ref*\\ i_{Xtranslation}*=\frac{I_{Xtrans}ref*}{2}+\frac{I_{Xtrans}ref*}{2}\end{array}  \tag{9}\]  
In the case of the movement control command of \(i_{Xtranslation}\), it must be distributed to \(i_{qA}\) and \(i_{qC}\) respectively so that the force generated by using the speed difference between Part A and Part C corresponding to the X-axis of the magley system can be used. Therefore, the rotation and movement control of the rotor can be simultaneously driven by the stator current command of the distributed A part and C part. \[i_{qA}=I_{rotation}ref*+\frac{I_{Xtrans}ref*}{2} \tag{10}\]  
\[i_{qC}=I_{rotation}ref*-\frac{I_{Xtrans}ref*}{2} \tag{11}\]  
\[i_{qA}+i_{qC}=2I_{rotation}ref*+\frac{I_{Xtrans}ref*}{2}-\frac{I_{Xtrans}ref*}{2} \tag{12}\]  
\[i_{qA}+i_{qC}=2I_{rotation}ref*=2i_{rotation}* \tag{13}\]  
\[i_{rotation}*=I_{rotation}ref* \tag{14}\]  
\[i_{Xtranslation}*=i_{qA}-i_{qC}=\frac{I_{Xtrans}ref*}{2}-\left(-\frac{I_{Xtrans} ref*}{2}\right) \tag{15}\]  
\[i_{Xtranslation}*=I_{Xtrans}ref* \tag{16}\]  
As shown in Equations (10) and (11), the \(i_{qA}\), \(i_{qC}\) current command of Part A and Part C is arranged by distributing rotation and movement control components. Looking at Equations (12) and (13), the average of the rotation control commands of Part A and Part C becomes \(i_{rotation}ref*\) as shown in Equation (14). Additionally, it can be confirmed that the X-axis movement control command \(I_{Xtrans}ref*\) is cleared. If you check the difference between Part A and Part C, as in Equation (15), it can be seen that the sum of the distributed movement control commands is the total movement control command as in Equation (16). If the \(i_{qB},\ i_{qD}\) command is distributed to Part B and Part D in this way, it can be expressed as a command formula for rotation and Y-axis movement control as shown in Equations (17) and (18) below. \[i_{qB}=I_{rotation}ref*+\frac{I_{Ytrans}ref*}{2} \tag{17}\]  
\[i_{qD}=I_{rotation}ref*-\frac{I_{Ytrans}ref*}{2} \tag{18}\]  
Finally, the rotational position signal uses the calculated \(\theta\) of the non-contact encoder sensor placed on each sensor base. In addition, the position signal for movement control is expressed as Equation (19) using Equation (2) using the difference of \(\theta\) generated when the two non-contact sensors rotate 180 degrees. \[C_{Xtrans}=2R_{scale}\sin\frac{\theta_{A}-\theta_{C}}{2},C_{Ytrans}=2R_{scale} \sin\frac{\theta_{B}-\theta_{D}}{2} \tag{19}\]  
These two \(i_{q}\) command components are composed of a system algorithm that can be controlled in real time using a PID double loop as shown in \[i_{qC}=I_{rotation}ref*-\frac{I_{Xtrans}ref*}{2} \tag{11}\]0