#### Abstract

A sliding mode control for active disturbance rejection was utilized for uniaxial tracking control, and a cross-coupled contour error compensation controller based on nonlinear position domain (PD) was devised for enhanced contour machining precision and robustness of biaxial moving platform. For single-axis tracking control, the total disturbance of the system was initially considered to be the external disturbance plus internal unmodeled dynamics, and the overall disturbance was estimated and compensated in real time using a linear extended state observer. A sliding mode controller was built on this foundation to obtain satisfactory uniaxial control performance. Secondly, based on the estimated value of each axis component of contour error, a nonlinear PD contour error compensation controller was designed to coordinate the tracking motion between axes and further reduced the contour error. The proposed work is compared against state-of-the-art works from literature for various metrics such as tracking error curves, average comparison of tracking errors, and cross-coupled controller parameters. The simulation results showed that the proposed method can effectively improve the contour processing accuracy of the system.

#### 1. Introduction

In modern manufacturing technology, there are two kinds of errors in tracking motion of biaxial moving platform: contour error and tracking error. The contour error is the smallest distance between the actual and wanted contours, whereas the tracking error is the difference between the actual and desired positions. Contour error can better reflect the precision of contour processing, so the control of contour error attracts more attention [1, 2]. Methods to improve the tracking accuracy of single axes have been widely researched and adopted to improve the precision of contour control, such as PID control, neural network control [3], iterative learning control [4], and sliding mode control [5, 6]. However, due to the mismatch of dynamic synchronization performance among the axes, only considering the improvement of tracking precision of the single axis cannot efficiently decrease the contour error, so it is necessary to coordinate the motion between the two axes. Koren was the first to propose cross-coupled control (CCC) for contour error compensation control of each axis [7]. The basic indication of CCC is to use the feedback information of each coordinate axis to establish a contour error estimation model, seek contour error compensation control law, and send the compensation amount to each coordinate axis, so as to increase the precision of contour error [8]. In [9], a complementary sliding mode controller was utilized to recover the tracking precision and robustness of a single axis. The traditional dynamic compensation coefficient was used for compensation control, but the design of the sliding mode controller depends on the certainty of the model to some extent. In [10], the applied concept of the uniaxial controller’s active disturbance rejection to improve the disturbance rejection ability of the uniaxial controller was proposed, and its CCC was realized by applying nonlinear PID control. In [11], the authors adopted fuzzy PID control to achieve CCC based on the prediction of contour error. However, the above method cannot fully consider the influence of each axis component of contour error in the process of generating compensation components, which may lead to overcompensation and under-compensation.

Sliding mode control (SMC) has good robustness to unknown external disturbance, parameter changes, and model disturbance and is widely used in the design of single-axis drive controller. However, traditional SMC cannot effectively deal with the rapidly changing interference, and the design relies too much on the controlled objects of the mathematical model, which may cause chattering due to modeling errors and uncertainties [12]. A neural network-based PID controller was designed while the controller is operational in an online mode for high-performance magnet synchronous machine position control. Its aim was to increase the robustness and adaptable capabilities of traditional PID controllers [13].

Han presented an innovative control technique called ADRC (active disturbance rejection control), which aims to estimate and modify the whole disturbance in real time using the extended state observer (ESO) [14]. Gao introduced linear active disturbance rejection control (LADRC) [15], in which a PD controller and a linear extended state observer were used to implement ADRC (LESO). ADRC does not really require an explicit object model and offers excellent anti-interference and resilience. In [13], a single-axis sliding mode controller is created using an extended state observer to predict system disturbances and increase system resilience.

In this paper, ADRC, SMC, and nonlinear PD are combined to control the contour error of the biaxial motion platform. For uniaxial tracking control, a sliding mode controller for active disturbance rejection is developed to increase tracking performance and robustness. Each axis’ contour error components are directly estimated using a contour error estimation technique based on the closest reference point, and a cross-coupling compensation controller based on nonlinear PD control is devised to improve contour tracking performance. Finally, a biaxial moving platform model is used to evaluate the suggested technique.

The rest of this paper is organized as follows. Section 2 presents the controlled object model. Section 3 demonstrates an overall design of active disturbance rejection sliding mode. The design of the uniaxial active disturbance rejection sliding mode controller is explained in Section 4. In Section 5, estimation and compensation of contour error are discussed. Simulation verification and analysis of results are presented in section 6. Finally, we conclude our work in Section 7.

#### 2. Controlled Object Model

The biaxial motion platform is mainly composed of a motion controller, servo drivers, permanent magnet synchronous motors (PMSM), and an *X*-*Y* linear motion module. The servo drivers operate in speed mode, and the speed instructions of the motion controller are sent to the servo driver.

Servo drivers are used to implement PMSM’s current loop and speed loop. The position feedback is provided by the encoder on the motor. Taking *X*-axis as an example, the mathematical model of permanent magnet synchronous motor is established as follows:where *J*_{x} is the moment of inertia; *B*_{x} is the friction coefficient; *ω*_{x} is the angular velocity of the motor rotor; Tex is electromagnetic torque; *T*_{Lx} is load torque; *K*_{Tx} is torque coefficient; ix is the motor current; is the velocity of *X*-axis; *K*_{x} is proportional coefficient; *p*_{x} is the position of *X*-axis.

The current loop and speed loop of PMSM are realized by servo drivers. The speed loop controller adopts proportional control and ignored the delay in the current loop, and then, the structural block diagram of the *X*-axis speed loop is shown in Figure 1. In the figure, ux is the speed instruction sent by the motion controller to the servo drive, and *K*_{vx} is the proportional gain of the speed loop controller. The transfer function *G*_{x}(*s*) of the *X*-axis from *u*_{x} to *p*_{x} can be obtained as

*G*_{x}(*s*) is the transfer function including speed loop, current loop, and mechanical mechanism, which can be obtained through system identification. Select state *x*1 = *p*_{x}, *x*2 = to further obtain the state equation of the *X*-axis speed loop system:where is control gain, is the disturbance of the *X*-axis, and *d*_{x0} denotes unmodeled dynamics of the *X*-axis.

#### 3. Overall Design of Active Disturbance Rejection Sliding Mode

The motion controller’s reference points, as shown in Figure 2, are *r*_{x} and *r*_{y}, respectively. The X-axis and *Y*-axis’ real coordinates are px and py, respectively. The *X*-axis and *Y*-axis transfer functions are *G*_{x}(*s*) and *G*_{y}(*s*), respectively. *X*-axis and *Y*-axis disturbances are denoted by *d*_{x} and *d*_{y}, respectively.

The basic components of the A controller for active disturbance rejection created are LESO and SMC. The system’s external disturbances and the system’s components different from the series integrator form are regarded as total disturbances. The total disturbances are estimated using LESO, and the controlled object is simplified to the series integrator form using compensation. The sliding mode control law is then created for the series integrator model in order to lessen SMC’s reliance on the model. In Figure 2, *f*_{x} and *f*_{y} are the total disturbances on *X*-axis and *Y*-axis, *z*_{1x}, *z*_{2x}, and *z*_{3x} are the state estimates of px, , and *f*_{x}, respectively, *z*_{1y}, *z*_{2y}, and *z*_{3y} are the state estimates of *p*_{y}, , and *f*_{y}, respectively, *b*_{0x} and *b*_{0y} are the control gain estimates, *u*_{0x} and *u*_{0y} are the output of the sliding mode controller, and *u*_{x} and *u*_{y} are the control quantities sent by the motion controller to the servo drive.

The system uses the contour error estimation method based on the nearest reference point to estimate the contour error components of each axis, *ξ*_{x} and *ξ*_{y}. According to their contour error component, the compensating control quantities *u*_{cx} and *u*_{cy} of each axis are, respectively, generated by compensating controller and are compensated to each axis. The compensating controller adopts a nonlinear PD control algorithm.

#### 4. Sliding Mode Controller Design with Uniaxial Active Disturbance Rejection

##### 4.1. Extended Observer Design

The total disturbance of the system, as well as the total disturbance of the *X*-axis in the system, calculated by combining the external disturbance and the internal unmodeled dynamics of system (3), iswhere *b*_{0x} is the estimate of control gain, and the error amount (*b*_{x} － *b*_{0x})*u*_{x} caused by inaccurate bx estimation is also considered as part of the total disturbance *f*_{x}. Hence, the total disturbance of the system is calculated by combining the external disturbance and the internal unmolded dynamics of the system.

The extension state is introduced, assuming that is differentiable, and . Then, the expression of the augmented state space of system (3) iswhere the system output *y* is the axis position *x*_{1}. LESO is established according to (5).where *z*_{1}, *z*_{2}, and *z*_{3} are the observed values of *x*_{1}, *x*_{2}, and *x*_{3}, respectively, and the input variables of the observer are system control quantity ux and output quantity *y*. *l*_{1}, *l*_{2}, and *l*_{3} are observer gains. By choosing , , , the observer poles were placed at −*ω*_{0}, where *ω*_{0} is the observer bandwidth [16].

Let , put it into (5):

As the state observer working effectively, there are , , and . The dynamic characteristics of the controlled object are approximated as . This paper adopts the sliding mode control method to design *u*_{0}.

##### 4.2. Stability Analysis of LESO

Let the error of each observation state be , , and . According to (5) and (6), the dynamic process of the extended observer error is

Equation (8) can be arranged in matrix form:where ,

The solution of (9) is

The three characteristic roots of *A* are all located at −*ω*_{0}. It can be seen that each element of converges with the increase of time *t*, and the larger *ω*_{0} is, the faster the convergence rate is. So there must be some number *β* greater than 0, and for any time *t* > 0, satisfywhere is the norm of the , as *t* is large enough, *β* approaches 0 as *t* increases.

Assuming *h* is bounded, there exists a positive number *α*, such that . Based on (11), according to the compatibility between the norm of the matrix and the 2-norm of the vector [17], it can be obtained

From and , we know that and are bounded. Therefore, it can be known that is bounded; that is, the observation errors of each state are bounded.

As *t* tends to infinity, *β* tends to 0. (13) is simplified to .

The ultimate value of the observation error may be observed to be connected to the observer bandwidth *ω*_{0} as can be seen. The larger *ω*_{0} is, the less each state’s estimation error is. The larger *ω*_{0} is, however, the greater LESO’s noise amplification impacts, and the antinoise effectiveness falls.

##### 4.3. Design of Sliding Mode Controller

According to (7), after estimation and compensation by LESO, the dynamic model of the system is as follows:where is the estimation error of LESO for the total disturbance *f*_{x}. As stated in section 4.2, is bounded, let .

A sliding mode control law *u*_{0} is designed for the system (14). *r*_{d} is the given position of the servo axis. The outputs *z*_{1} and *z*_{2} of LESO are the observed values of the actual position and actual speed, respectively, so the tracking error of the servo axis and its derivative can be expressed as and , and the sliding mode function is defined as follows:where *λ* is a positive constant.

The approaching law used the exponential law shown in the equation to have the system to the sliding mode surface quickly.where *sgn*(*s*) is the sign function of *s*, and *η* and *k* are both greater than 0.

The sliding mode control law is then designed as follows:

Consider the Lyapunov function:

The derivative of *V* is

If , then . The stability of the uniaxial servo system is ensured.

The fixed boundary layer sliding mode control is used to prevent chattering, that’s why the sign function *sgn*(*s*) is substituted with the saturation function sat(*s*). sat(*s*) is the saturation function defined in (20), where Δ is the boundary layer width.

The uniaxial sliding mode control law is

It can be seen from the design process and (21) that the design of the active disturbance rejection sliding mode controller no longer depends on the specific mathematical model of each servo axis, and each axis can adopt the same structural parameters of the controller, and the algorithm has good universality.

#### 5. Estimation and Compensation of Contour Error

##### 5.1. Contour Error Estimation Based on Nearest Reference Point

The contour error of the biaxial moving platform during contour processing is shown in Figure 3. *R*_{i}(*i* = 1,2, …, *n*) is the motion reference point of the desired path after interpolation, *P* is the real motion position of the system, the coordinates of *P* are (*p*_{x}, *p*_{y}), Rn is the corresponding expected position of *P*, and *R* is the point neighboring to *P* on the chosen path. The system tracking error *E* is defined as the distance between the current actual position *P* and the chosen position Rn, and the system contour error *ξ* is the shortest distance PR between the current position *P* and the desired path.

This paper uses a contour error estimation technique based on the nearest point of reference to accurately predict the system contour error, and the specific estimation process is as follows:

*Step 1. *Search *R*_{m}, the nearest point of reference to the current position *P*. The specific steps are described in reference [18]. Starting from the current expectation point *R*_{n}, reference points before Rn are searched successively until the reference point *R*_{m}(*x*_{m},*y*_{m}) closest to *R*_{n} is found. The search length taken in this paper is 15.

*Step 2. *Take the tangent line *L* of the desired path through Rm, and the slope of *L* is determined by the vector *R*_{m} − 1*R*_{m} + 1. *R*_{m} − 1(*x*_{m} − 1, *y*_{m} − 1) and *R*_{m} + 1(*x*_{m} + 1, *y*_{m} + 1) are adjacent reference points of *R*_{m}. *R*_{m} − 1 is before *R*_{m}, and *Rm* + 1 is after *R*_{m}.

*Step 3. *Draw a vertical line of *L* across point *P*, let the vertical foot be *Q*, then vector PQ is the contour error vector. According to plane geometry, the contour error vector PQ iswhere *ξ*_{x} and *ξ*_{y} are the *X*- and *Y*-axis components of the contour error vector PQ, respectively, , , , .

Then, the estimated contour error *ξ*_{c} is

##### 5.2. Contour Error Compensation Based on Nonlinear PD Control

In general, CCC, according to the contour error *ξ*_{c}, the compensation is generated through a certain control algorithm, and then, the compensation is multiplied by the cross-coupling gain to generate the compensation component of each axis. But, in some cases, it may not work as expected. For example, if the *X*-axis contour error component is very small, the *X*-axis compensation control gain should be increased according to the engineering practice experience of “if small error then large gain.” However, the overall contour error may be larger due to the larger component of the *Y*-axis contour error, and the compensation control gain of the *X*-axis will not be increased according to the requirement of “if large error then small gain.”

Therefore, in this paper, contour compensation control is carried out directly according to the contour error components of each axis. The compensation controller is a nonlinear PD controller constructed by fal function [19, 20]. The contour error components *ξ*_{x} and *ξ*_{y} of each axis can be obtained from (22). The contour error compensation control algorithm of nonlinear PD is as follows:where *u*_{cx} and *u*_{cy} are the compensation components of the *X*-axis and *Y*-axis, respectively, *k*_{p} is the proportional control gain, *θ*_{p} and *δ*_{p} are the partial nonlinear parameters of proportional control, *k*_{d} is the differential control gain, *θ*_{d} and *δ*_{d} are the partial nonlinear parameters of differential control. The nonlinear function fal (*ξ*, *θ*, *δ*) contains the engineering experience of “if small error then large gain, if large error then small gain,” and its expression is as follows:where *ξ* is the variable of the fal function, *δ* is an arbitrarily small positive number, and 0<*θ* < 1.

After cross-coupling compensation control, the control law of each axis of the active disturbance rejection sliding mode control system of the biaxial moving platform is

#### 6. Simulation Verification and Result Analysis

The *X*-axis and *Y*-axis velocity loop transfer functions are produced after the system identification of the biaxial moving platform as follows:

The star curve is selected as the expected track for simulation. The expected inputs of the *X*-axis and *Y*-axis are and , respectively, and the unit is mm. The initial position values of the *X*-axis and *Y*-axis are, respectively, 100 mm and 0 mm. The maximum given speed for *x* and *Y* drives is set to 2000 mm/s. During the simulation, a sinusoidal signal with an amplitude of 5 and frequency of 2 rad/s is, respectively, applied to the *X*-axis and *Y*-axis as a disturbance. In practical engineering, it is difficult to avoid the measurement noise, so the white noise with an amplitude of 0.01 is added to the measuring port of each axis. The simulation sampling period was 1 ms.

##### 6.1. Uniaxial Control Performance Analysis

PID, LADRC, and active disturbance rejection sliding mode control (ADRC + SMC) are used to verify the performance of uniaxial tracking. The main parameters of each control algorithm are shown in Table 1. LADRC and ADRC + SMC have the same LESO parameters.

The tracking error curves of the *X*-axis and *Y*-axis under the operation of the three controllers are shown in Figures 4 and 5, respectively. Table 2 shows the average value of *X*-axis and *Y*-axis tracking errors in a period after a steady state.

The uniaxial tracking error of LADRC and ADRC + SMC algorithms is greatly reduced when compared to PID, as shown in Figures 4 and 5, and Table 2, suggesting that ADRC has superior disturbance rejection ability and control precision than PID. On the *X*-axis, the average tracking error of ADRC + SMC is 18.9% lower than that of the LADRC algorithm, and on the *Y*-axis, it is 23.5 percent lower, indicating also that sliding mode control for active disturbance rejection is actively proposed in this paper outperforms the LADRC algorithm in uniaxial tracking performance under the same LESO parameters.

##### 6.2. Comparison of Contour Error Control Effect

In the simulation experiment, the tracking impact of star trajectory is shown in Figure 6. It is clear that the contour control approach described in this study achieves superior contour tracking. To test the efficacy of the suggested nonlinear PD CCC algorithm further, neither CCC nor PID CCC is selected to compare with the proposed algorithm, and ADRC + SMC is used in all uniaxial control algorithms. The main parameters of PID CCC and nonlinear PD CCC are shown in Table 3.

In Table 4, the results show that the maximum value of contour error is 9.17 percent less than that of no CCC, and the cumulative error of PID CCC is 22.96 percent less than that of no CCC. The suggested nonlinear PD CCC approach has a cumulative error of 30.44 percent less than no CCC and a maximum contour error of 13.21 percent less than no CCC, demonstrating that the proposed method can successfully minimize the contour error.

#### 7. Conclusion

The biaxial moving platform plays an important role in the modern industry but there is a problem of contour tracking accuracy. To address this issue, a model is proposed in this paper. Initially, an adaptive sliding mode controller for the uniaxial servo control system is built to give the biaxial moving platform superior contour tracking accuracy. The LESO simplifies the design of the sliding mode controller, reduces the reliance on the system’s mathematical model, and improves the tracking performance of each axis as well as the system’s durability. In order to decrease the contour inaccuracy even further, the contour error components of each axis are computed in real-time using a contouring error estimation approach based on the closest reference point, and the nonlinear PD is used to compensate for cross couplings between the two axes. Finally, simulations are used to verify the efficacy of the suggested control technique. In proposed scheme, only ADRC, SMC, and nonlinear PD are combined to control the contour error of biaxial motion platform, by adding other combining other control methods, the contour error of biaxial motion can be controlled in a more systematic way in future.

#### Data Availability

The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.

#### Conflicts of Interest

The authors declare that they have no conflicts of interest regarding this work.

#### Acknowledgments

This article was supported by Key R & D Program in Shaanxi Province (2020GY-129); Key Scientific Research Project of Shaanxi Provincial Department of Education (21JS033); and Xi’an Science and Technology Planning Project (2020KJWL16).