Active Disturbance Rejection Control of Multi-Joint Industrial Robots Based on Dynamic Feedforward

Xin Cheng 1,2 , Xiao Tu 3 , Yunfei Zhou 3 and Rougang Zhou 4,* 1 School of Mechanical & Electronic Engineering, Wuhan University of Technology, Wuhan 430070, China; chengx@whut.edu.cn 2 Hubei Maglev Engineering Technology Research Center, Wuhan University of Technology, Wuhan 430070, China 3 School of Mechanical Science & Engineering, Huazhong University of Science & Technology, Wuhan 430070, China; tuxiao90321@hust.edu.cn (X.T.); yfzhou@hust.edu.cn (Y.Z.) 4 School of Mechanical Engineering, Hangzhou Dianzi University, Hangzhou 310002, China * Correspondence: zhourg@hdu.edu.cn


Introduction
Industrial robot systems are featured with nonlinearity, strong coupling and multivariate time-variability [1]. High-quality motion control refers to high-speed and high-precision motion control, that is the robot in the high-speed motion process, can have fast dynamics response, high tracking accuracy, smooth start and stop stage. Although the robot ontology parameters are fixed, the changing load and uncertain disturbances can affect the robustness of the control, and even significant mechanical vibration. Moreover, the control systems during high-speed motion are largely challenged by the severe multi-joint torque coupling, large inertia change and significant nonlinear effect. The attitude variation stable refers to the robot maintaining a smooth, non-jitter throughout the movement. The stability index needs to be determined by the actual requirements, such as in the air blade grinding process the trajectory error is required to be less than 0.05 mm. To keep the position and attitude variation stable and achieve high-quality motion control, researchers have to first solve the nonlinear time-variability due to the characteristics of robots. Namely, the control system should provide real-time control characteristics that match with the dynamics of robots and the multi-source disturbance characteristics, thereby achieving multi-joint nonlinear decoupling control. of robots through feedback compensation, and reduces the power consumption in regulation, due to external feedback loop errors, improving the dynamic response and following the performance of controllers. However, it faces three difficulties. (1) No precise model parameters can be acquired, due to the load variation and sampling/computation errors. (2) This control structure raises the requirement for computation timeliness and has to overcome the time restraint of the torque loop control algorithm. (3) The real-time information of joint acceleration is needed, but in fact, the highorder differential signals are low-qualified, due to the magnifying effect of differential noise. Thus, model-based dynamic compensation control strategies are difficult to implement in practice. Different from the first structure, the dynamic feedforward model inputs the expected joint movement order and offers the far-higher-quality signals than the sampled values. Moreover, despite the complexity of dynamic computation, the problem of dynamic feedforward timeliness can be solved through pre-storing or setting background programs, which are favorable for the implementation of control algorithms. Its ideas are to rapidly compensate the system characteristics through a precise dynamic model and thus to precisely control the movement. In fact, however, due to the diversity of model parameters and the severe effects of external loading and interference, the model parameters are hard to acquire precisely, which reduce the feedforward control performance. For this reason, an observer is usually used to pre-estimate and compensate for the uncertain disturbance, which would improve the robustness of feedforward controllers. The model uncertain disturbance observer is usually based on the construction of a system model, but a complicated robot system involves the computation of robot forward dynamics, which interfere with the timeliness of motion control. For this reason and regarding the simple structure, strong robustness and no constraint from the control model of ADRC, we put forward an ADRC strategy based on dynamic feedforward. Different from the first structure, the dynamic feedforward model inputs the expected joint movement order and offers the far-higher-quality signals than the sampled values. Moreover, despite the complexity of dynamic computation, the problem of dynamic feedforward timeliness can be solved through pre-storing or setting background programs, which are favorable for the implementation of control algorithms. Its ideas are to rapidly compensate the system characteristics through a precise dynamic model and thus to precisely control the movement. In fact, however, due to the diversity of model parameters and the severe effects of external loading and interference, the model parameters are hard to acquire precisely, which reduce the feedforward control performance. For this reason, an observer is usually used to pre-estimate and compensate for the uncertain disturbance, which would improve the robustness of feedforward controllers. The model uncertain disturbance observer is usually based on the construction of a system model, but a complicated robot system involves the computation of robot forward dynamics, which interfere with the timeliness of motion control. For this reason and regarding the simple structure, strong robustness and no constraint from the control model of ADRC, we put forward an ADRC strategy based on dynamic feedforward.
As for the nonlinearity and strong coupling time-variability of robots, we use dynamic feedforward compensation and uncertainty disturbance compensation into multi-joint control decoupling, or namely to regard the joints as independent control units. To reduce the order of disturbance observation and improve the observation precision, we study the ADRC cascade control structure and algorithm based on dynamic feedforward. We analyze the system dynamic linearization compensation and the anti-disturbance ability of ESO, and the stability of closed-loop systems. On this basis, the robot ADRC based on dynamic feedforward has been realized.

Analysis of System Disturbance Compensation
The basic ways of multi-joint decoupling control are to use dynamic feedforward compensation and uncertainty disturbance compensation. To solve disturbance via ADRC, we had to clarify the input, output, relative order number and disturbance compensation of the controlled system. According to the dynamic feedforward control structure, the current instruction is the input and the motor rolling angle is the output of the system. For the motor, the robot dynamic characteristics can be regarded as a result of the motor output torque τ m overcoming friction torque τ m f and inertia torque (in Figure 2): where is the rotary inertia of the motor shaft; .. q m is the angular acceleration of the motor shaft; τ ml is the loaded torque vector of the motor to overcome the joint dynamic characteristics, including joint inertia torque, friction torque, gravity torque and joint loading. To build the relation between motor input current I q and output position q m , firstly, we had the machinery transmission relation η i to express the gear kinematic relations at both ends: where q, q express the kinestate of robot joints, τ is the output torque vector at the joint end: . q + G(q) + F(q, where M(q) is the inertia matrix of Joints; V(q, . q) is the centrifugal force and Coriolis force vectors; G(q), F(q, . q) and τ load are the gravitational torque, friction torque, joint loading torque vectors, respectively. Combining with the electromagnetic torque equation: where K m = diag(k m1 , k m2 , · · · k mn ) is the torque constant matrix, I q = [i q1 , i q2 , · · · , i qn ] T is the current order vector, we can determine the motor shaft motion equation: ..
During ADRC construction, usually f(q, . q, t) is regarded as the comprehensive acceleration disturbance of the system, including the dynamic characteristic disturbance of the robot and other uncertain disturbances. In the high-speed large-inertia changing the movement of robots, the real q, t) is very large, and the large-amplitude disturbance variation may induce the slow convergence or even instability of ESO, thereby leading to large following errors or even system vibration. Thus, it needs to solve the problems to decrease the observed values of acceleration and increase the robustness of ESO.

Analysis of System Disturbance Compensation
The basic ways of multi-joint decoupling control are to use dynamic feedforward compensation and uncertainty disturbance compensation. To solve disturbance via ADRC, we had to clarify the input, output, relative order number and disturbance compensation of the controlled system. According to the dynamic feedforward control structure, the current instruction is the input and the motor rolling angle is the output of the system. For the motor, the robot dynamic characteristics can be regarded as a result of the motor output torque m τ overcoming friction torque mf τ and inertia torque (in Figure 2): is the rotary inertia of the motor shaft; m  q is the angular acceleration of the motor shaft; ml τ is the loaded torque vector of the motor to overcome the joint dynamic characteristics, including joint inertia torque, friction torque, gravity torque and joint loading. To build the relation between motor input current q I and output position m q , firstly, we had the machinery transmission relation i η to express the gear kinematic relations at both ends: where , ,   q q q express the kinestate of robot joints, τ is the output torque vector at the joint end: where ( ) M q is the inertia matrix of Joints; ( , )  V q q is the centrifugal force and Coriolis force vectors; ( ) G q , ( , )  F q q and load τ are the gravitational torque, friction torque, joint loading torque vectors, respectively. Combining with the electromagnetic torque equation: The analysis showed there were two ways: (1) Designing stable ESO ensured it could effectively predict all the dynamic disturbance; (2) fully utilizing the known theoretical dynamic models and conducting uncertainty compensation would ensure ESO only observed the relatively small error part except the model. The real output torque τ consists of the model-estimated torque τ pre and torque errors ∆τ.
Based on this idea, starting from the motor end to the joint end, the real output torque τ can be regarded as the disturbance of the output shaft from the motor, where τ pre can be compensated by the identification model, and the uncertainty except the model ∆τ can be observed by the ESO. We have: where B 0 is the system gain, and F 1 is the theoretical disturbance related to a known dynamic model and can be used into feedforward compensation; F 2 is the uncertain acceleration disturbance except for the model and can be observed via the ESO. Noticeably, F 2 includes the joint torque errors, which may contain minor time-variable acceleration component .. q m that cannot be observed by ESO, and, theoretically, the corresponding control current should be compensated. F can be considered as the total disturbance of the motor system. Admittedly, the robot system is a second order multiple-input multiple-output (MIMO) system, u is the real input of the controlled object or namely the current control quantity of the motor driven system. Let Λτ pre be the theoretical output torque at the motor end, and I pre be the corresponding drive current, then: Let Thereby the motor output state equation can be expressed as: where U can be seen as the virtual control quantity of the system; Y is the output from the system. The real inertia demand can be met by modifying the system gain B 0 : where ζ is the diagonal matrix of the correction coefficient, ζ i ≥ 1. Many simulation studies show during ADRC control, the estimation demand of B 0 is not high, and the relative error is within 30%, and when it is higher, it does not affect the closed-loop control quality. Thus, ζ is usually considered as constant in practical applications [19].

Robot System Decoupling
The decoupling of multi-joints could ease the difficulty of controlling. In the ADRC system, the model part except the system-controlled quantity F is called the 'dynamic coupling part' and U is called the 'static coupling part'. In the MIMO system, the input and output relation of channel i is: It is assumed U i is the 'virtual control quantity' of channel i, then it and the output y i form a single-input -single-output relation, or namely the controlled output y i and the controlled quantity U i of channel i can be completely decoupled: F i is considered as the total disturbance of channel i, including the acceleration disturbance of robot dynamics, and the uncertain disturbance except for the model. Thereby, n ADRC controllers implemented in parallel between the control quantity U and the output vector Y can control the multivariate system structure. The decoupling process is shown below ( Figure 3): where U can be seen as the virtual control quantity of the system; Y is the output from the system. The real inertia demand can be met by modifying the system gain 0 B : (13) where ζ is the diagonal matrix of the correction coefficient, 1 i ζ ≥ . Many simulation studies show during ADRC control, the estimation demand of 0 B is not high, and the relative error is within 30%, and when it is higher, it does not affect the closed-loop control quality. Thus, ζ is usually considered as constant in practical applications [19].

Robot System Decoupling
The decoupling of multi-joints could ease the difficulty of controlling. In the ADRC system, the model part except the system-controlled quantity F is called the 'dynamic coupling part' and U is called the 'static coupling part'. In the MIMO system, the input and output relation of channel i is: It is assumed i U is the 'virtual control quantity' of channel i, then it and the output i y form a single-input -single-output relation, or namely the controlled output i y and the controlled quantity i U of channel i can be completely decoupled: i F is considered as the total disturbance of channel i, including the acceleration disturbance of robot dynamics, and the uncertain disturbance except for the model. Thereby, n ADRC controllers implemented in parallel between the control quantity U and the output vector Y can control the multivariate system structure. The decoupling process is shown below ( Figure 3): The conversion relation between the real control quantity u and the virtual control quantity U is shown as: The conversion relation between the real control quantity u and the virtual control quantity U is shown as: Admittedly, B 0 is reversible, time-variable and bounded, and in ADRC control, its required estimation precision is not high. It should be noted the dynamic coupling part F during decoupling can be considered as the total disturbance to be estimated and compensated, and its estimation precision decides the control performance of ADRC. Due to the very large inertia change during robot movement, the corresponding change of acceleration disturbance is also large, so it will intensify the burden on the ESO if it is all observed by ESO. According to the torque feedforward compensated total disturbance, only the unknown small amount is undertaken by ESO, which thereby largely reduces the burden on ESO and enhanced the system robustness. Then based on the principles of ADRC, we study the structure and algorithm of independent motion controllers.

Design of Controller
The decoupled robot system is transformed into sive independent single-input single-output (SISO) systems, degrees of freedom of which formed independent control channels. A computed torque feedforward control strategy has been adopted to improve the control performance and stability of ADRC. It should be noted the controlled object here is no longer the robot joint position, but is the institution ontology and servo drivers under the torque mode (current mode).
The robot system is second order and usually has two choices in the ADRC structure: A second order system structure ( Figure 4) and a cascade system structure ( Figure 5). In the second order system, the control variable u (current) directly drives the output of displacement x 1 , without any transitional loop, and the corresponding uniaxial servo feedforward control structure is shown in Figure 4. This structure consists of two loops-a position loop and a current loop. The position loop directly offers a current command to the current loop implemented in a motor driver. The current feedforward path, as the main path, can offer the motor servo system with real-time theoretical current corresponding to the movement command, while the real-time current errors have been observed by ESO and regulated and compensated by the PID. movement, the corresponding change of acceleration disturbance is also large, so it will intensify the burden on the ESO if it is all observed by ESO. According to the torque feedforward compensated total disturbance, only the unknown small amount is undertaken by ESO, which thereby largely reduces the burden on ESO and enhanced the system robustness. Then based on the principles of ADRC, we study the structure and algorithm of independent motion controllers.

Design of Controller
The decoupled robot system is transformed into sive independent single-input single-output (SISO) systems, degrees of freedom of which formed independent control channels. A computed torque feedforward control strategy has been adopted to improve the control performance and stability of ADRC. It should be noted the controlled object here is no longer the robot joint position, but is the institution ontology and servo drivers under the torque mode (current mode).
The robot system is second order and usually has two choices in the ADRC structure: A second order system structure ( Figure 4) and a cascade system structure ( Figure 5). In the second order system, the control variable u (current) directly drives the output of displacement 1 x , without any transitional loop, and the corresponding uniaxial servo feedforward control structure is shown in Figure 4. This structure consists of two loops-a position loop and a current loop. The position loop directly offers a current command to the current loop implemented in a motor driver. The current feedforward path, as the main path, can offer the motor servo system with real-time theoretical current corresponding to the movement command, while the real-time current errors have been observed by ESO and regulated and compensated by the PID.
Since the current loop bandwidth is large and the current order from the position loop should be rapidly updated, the position order should be more refine and kept continuous, otherwise, the control variable u would be discontinuous, thereby inducing systematic vibration.  x In the structure of the ADRC cascade system, the control variable u (current) first drives the intermediate variable 2 x (velocity) and then 2 x drives position 1 x , so as to control the target ( Figure 6). In real servo control, this structure is the most common. Its idea is similar to the backstepping method of modern control theories: The complex nonlinear system is decomposed into a number of subsystems (not larger than the system order); the difference is that back-stepping selects an appropriate Lyapunov function for each subsystem, and builds an assistant virtual control variable, so as to compensate the effects of uncertain factors and thereby loop-wise reverse back to the system control input. On the contrary, through a first-order ADRC method, each loop of ADRC compensates uncertain disturbance and regulates errors, avoiding the construction of Lyapunov function and being relatively simple. Based on the ideas of ADRC cascade structure, we design an Since the current loop bandwidth is large and the current order from the position loop should be rapidly updated, the position order should be more refine and kept continuous, otherwise, the control variable u would be discontinuous, thereby inducing systematic vibration.
In the structure of the ADRC cascade system, the control variable u (current) first drives the intermediate variable x 2 (velocity) and then x 2 drives position x 1 , so as to control the target ( Figure 6). In real servo control, this structure is the most common. Its idea is similar to the back-stepping method of modern control theories: The complex nonlinear system is decomposed into a number of subsystems (not larger than the system order); the difference is that back-stepping selects an appropriate Lyapunov function for each subsystem, and builds an assistant virtual control variable, so as to compensate the effects of uncertain factors and thereby loop-wise reverse back to the system control input. On the contrary, through a first-order ADRC method, each loop of ADRC compensates uncertain disturbance and regulates errors, avoiding the construction of Lyapunov function and being relatively simple. Based on the ideas of ADRC cascade structure, we design an ADRC cascade controller based on inertia feedforward ( Figure 6). In the structure of the ADRC cascade system, the control variable u (current) first drives the intermediate variable 2 x (velocity) and then 2 x drives position 1 x , so as to control the target ( Figure 6). In real servo control, this structure is the most common. Its idea is similar to the backstepping method of modern control theories: The complex nonlinear system is decomposed into a number of subsystems (not larger than the system order); the difference is that back-stepping selects an appropriate Lyapunov function for each subsystem, and builds an assistant virtual control variable, so as to compensate the effects of uncertain factors and thereby loop-wise reverse back to the system control input. On the contrary, through a first-order ADRC method, each loop of ADRC compensates uncertain disturbance and regulates errors, avoiding the construction of Lyapunov function and being relatively simple. Based on the ideas of ADRC cascade structure, we design an ADRC cascade controller based on inertia feedforward ( Figure 6). bandwidth can be also improved to some extent by the velocity feedforward method, which ensures the rapid response to the velocity order. As for the feedback, TD has been used to acquire information about robot position and velocity, and its estimation precision modestly affects the controller performance.
It should be noted in a cascade system, the movement change of the velocity loop is faster than the position loop, which is decided by the physical properties of the controlled system. Thus, during This ADRC feedforward controller is composed of a position loop and a velocity loop, and each loop is based on the ADRC feedforward control technology. The interior velocity loop mainly produced comprehensive current command u, which is u f f mainly supplied by the current feedforward path. Then the acceleration corresponding to the uncertain errors is partially observed and compensated by the ESO2 and partially regulated by the velocity error feedback control law. The ESO disturbance observation and current feedforward can effectively reduce the power consumption, due to error control, improving the system robustness and response speed. Similarly, the exterior position loop mainly provides velocity order u 1 , which mainly consists of the position error feedback control law output u v and the ESO1 velocity disturbance z 12 . Moreover, the loop bandwidth can be also improved to some extent by the velocity feedforward method, which ensures the rapid response to the velocity order. As for the feedback, TD has been used to acquire information about robot position and velocity, and its estimation precision modestly affects the controller performance.
It should be noted in a cascade system, the movement change of the velocity loop is faster than the position loop, which is decided by the physical properties of the controlled system. Thus, during digital computation, the velocity loop and position loop are set at different sampling step sizes (sampling period), so as to prevent the system from high-frequency vibration. Usually, the sampling period of the position loop is set as an integral multiple of that of the velocity loop and is at the millisecond level. Such setting of order density avoids the restraint of current bandwidth as faced by second order systems. Moreover, to avoid overshoot and excessive noise in each loop control order, the amplitude limiting, and low-pass filtering can be used, respectively. By combining the analyses of two control structures, we can find that each stage of the cascade controller can be considered as a first order system. Its preliminary design of control algorithm is shown below: • ADRC is divided into three parts. The first part is about arranging the transition process, which is implemented in tracking differentiator, as in Equations (17) and (18), used to produce smooth instruction curves and differential curves. The second part is the design of ESO, as the first three equations in Equations (19) and (20), which are used to observe the disturbance in the corresponding loop.

•
Position loop control using first order ESO1 • Velocity loop control using first order ESO2 where h 0 , h 1 , h 2 are the sampling step sizes of TD, position loop and velocity loop, respectively; z 11 , z 12 are the values of position and velocity disturbance observed by first-order ESO1, respectively; z 11 , z 12 are the values of velocity and acceleration 'unknown disturbance' observed by first-order ESO2, respectively. The third part of ADRC is the feedback controller. The control laws u v in Equation (19) and u i in Equation (20) adopt the simple P control laws combing basic function fal(). When the controller structure has been determined, appropriate ESO and PID control laws could be designed/selected according to real situations, so as to improve the system robustness. More details can be found in [11,12,15,19].

System Stability Analysis
The closed-loop stability is very significant for the application of ADRC. However, the nonlinear structure of ADRC is very complex, and its stability verification is very complicated, which become the concerns in ADRC theoretical research. Guo strictly verified the convergence of high-gain ESO in nonlinear SISO systems mathematically and explored the convergence of nonlinear ESO in uncertain MIMO systems [20]. He used the absolute theory to analyze the stability of the simplified first-order ADRC closed-loop systems [21]. Zhao defined the convergence of ADRC controllers in SISO nonlinear systems and built and verified the convergence conditions of ADRC [22]. For simplification, we will analyze the necessary influence factors on system stability on the basis of system transformation, so as to characterize system stability.

System Dynamic Compensation Linearization
The shafts in the decoupled robot system are mutually independent. A mono-joint system can be described as a nonlinear system: where f (x, . x, t) is the acceleration function corresponding to the theoretical model; ω(x, t) is the comprehensive acceleration disturbance except for the model; b was the system gain; u(t) is the control variable. The closed-loop controller is expected to have the following dynamic properties: ..
When the theoretical model f (x, . x, t) has been known, the acceleration order could be compensated by the feedforward way, and the disturbance part is compensated by the observation of ESO, or namely z(t) ≈ ω(t). Then the system control quantity is: At this moment, the closed-loop system became an integrator series system: ..
Admittedly, the system disturbance is compensated by the real-time estimation, which would forcefully transform the original nonlinear system into a classic linear system. Then an efficient error feedback control law u 0 (e.g., nonlinear PID control law) could be used to regulate the closed-loop performance and stabilize the system. However, the premise is that the feedback from the closed-loop control system could well estimate the uncertain disturbance and could promptly pre-estimate and compensate for the acceleration disturbance to the system. Thus, ESO is a core component of ADRC, and its convergence and anti-disturbance abilities directly affect the closed-loop performance and stability of ADRC [23]. Here we further analyzed the anti-disturbance ability of ESO.

Anti-disturbance Ability of ESO
Lemma 1 [21]. For a first-order controlled object, where x is a state variable; u is the controlled amount; w(x, t) is the bounded disturbance of the system, and w(x, t) ≤ ω 0 . When this system is treated with nonlinear state feedback: The system state x under disturbance could rapidly converge to a small range of steady-state errors, then the solution domain of the closed-loop system meets: For an nth order nonlinear SISO system: where f (·) is an unknown function; w(t) is the unknown disturbance; b 0 is the system gain; u(t) is the system input; y is the system output.
For a bounded variation c(t), we can select an appropriate nonlinear function g i (·) to make system Σ 3 always stabilize at the origin and thereby make the state observation variable follow the system status. When the controlled amount coefficient b is inaccurate, its estimated value b 0 could be used, and the estimation errors (b − b 0 u) is included in z n+1 (t). Expression of g i (·) decides the anti-disturbance performance of ESO and is unrelated to the system, but is only related to the changing rate c(t) of the comprehensive acceleration a(t) and changing range. Thus, g i (·) could be built by using different forms of nonlinear function. Usually the following function has been selected: g(ε) = β 0i f al(ε, α i , δ i ) (i = 1, 2, · · · , n + 1), where β 0i is the gain factor, and α i designed here meets 0 < α i ≤ 1, δ i = δ ≥ 0. From the above equation, it is the function f al(·) consisted of a small-range linear interval and a large-range |x| α sign(x). For convenience of analysis, we set: g(δx 1 ) = β 0i |δx 1 | α sign(δx 1 ).
(33) Then the error system Σ 3 becomes: Let the changing function of the comprehensive acceleration c(t) be bounded and satisfy c(t) ≤ ω 0 ; according to the prerequisite of ESO convergence, when t → ∞ , then δ .
x i → 0 , and according to Lemma 1, the range of system steady-state error is: The right size of the above inequality presented the limits of steady-state errors in a closed-loop system. Clearly, the anti-disturbance ability of ESO is decided by the parameter setting.
Let σ = β 0i (ω 0 /β 0(n+1) ) α i α n+1 , when β 0(n+1) is large enough, the system steady-state error is very small, but easily leads to vibration of ESO system. When 0 < α i < α i+1 < · · · α n+1 < 1, we have σ < β 0i (ω 0 /β 0(n+1) ), indicating compared with linear feedback, the nonlinear feedback showed smaller steady-state error and stronger following ability and anti-disturbance ability. Moreover, the high-order system usually adopts a high-order ESO, but the amplitude ω 0 of highest-order changing rate is very large, leading to larger β 0(n+1) , which not only complicates the parameter adjustment, but also easily makes the ESO unable to converge, or even the ADRC system unstable. Thus, ADRC systems at 3rd order or above are usually decomposed by the time scale into cascade systems, while the ESO adopts the low-order series form. Thereby, it is indicated a low-order cascade system contributes to improving the anti-disturbance ability of ESO and thereby improves the stability of ADRC systems.

Experimental Results and Analysis
To validate the effectiveness of the new control method, space arc trajectory follow-up experiments were conducted in a six-degree-of-freedom robot platform, in which the 6R industrial robots HSR-JR605-C (its parameters are in Table 1) were used. Cartesian space arc trajectory was selected. The robot load was 3.6 kg, the initial attitude was q = [0, −π/2, 0, 0, π/2, 0] T ; the space arc trajectory was determined from the three space coordinates of the end-point P  to larger 0( 1) n β + , which not only complicates the parameter adjustment, but also easily makes the ESO unable to converge, or even the ADRC system unstable. Thus, ADRC systems at 3rd order or above are usually decomposed by the time scale into cascade systems, while the ESO adopts the low-order series form. Thereby, it is indicated a low-order cascade system contributes to improving the antidisturbance ability of ESO and thereby improves the stability of ADRC systems.

Experimental Results and Analysis
To validate the effectiveness of the new control method, space arc trajectory follow-up experiments were conducted in a six-degree-of-freedom robot platform, in which the 6R industrial robots HSR-JR605-C (its parameters are in Table 1) were used. Cartesian space arc trajectory was selected. The robot load was 3.6 kg, the initial attitude was  Point P is accelerated and clockwise along an arc from point A to point C, and then returns clockwise along from point C to point A. With the Cartesian space circular interpolation algorithm and the inverse kinematics computation, we could determine the joint motion status order. The input of this order is to convert the transmission ratio into motor end motion. It should be noted the on-line computation of the inverse dynamic model is much time-consuming, which may affect the timeliness of the controlled loops. Thus, here it is set as 'background program', and the computation memory is pre-stored and extracted in real-time. To validate the superiority of the new control algorithm in Figure 8, we select the commonly-used PI control algorithm as a comparison: Point P is accelerated and clockwise along an arc from point A to point C, and then returns clockwise along from point C to point A. With the Cartesian space circular interpolation algorithm and the inverse kinematics computation, we could determine the joint motion status order. The input of this order is to convert the transmission ratio into motor end motion. It should be noted the online computation of the inverse dynamic model is much time-consuming, which may affect the timeliness of the controlled loops. Thus, here it is set as 'background program', and the computation memory is pre-stored and extracted in real-time. To validate the superiority of the new control algorithm in Figure 8, we select the commonly-used PI control algorithm as a comparison:  Its control algorithm consists of: • Position loop control algorithm As for the indices of response speed and trajectory following precision, we investigate the following trajectories of different joints in the joint coordinate system and the following trajectory of the end-point position in the Cartesian coordinate system. To reasonably evaluate the controller performance, we have to acquire accurate real-time robot joint position and attitude states and the Cartesian coordinates of the end-point ends, and when the joint flexibility has been ignored and for simplification, we recognize that the coder positional information directly reflected the joint positional information. The end-point Cartesian coordinates were acquired from robot forward kinematics, without any external measuring tool. Based on the semi-closed-loop control structure, we regulate the parameters of the two controllers to optimize the following performance. The parameters of the two controllers in Equations (15)(16)(17)(18)(19)(20) and (36-38) are listed in Table 2.  The above figures show the PI controller and the ADRC controller based on dynamic feedforward (or ADRC controller for short) both could stably follow the trajectory, but the following precision and response speeds both differed. In the joint coordinate system, for the large-inertia joint 2, the trajectory following error of the PI controller was very large (about 0.005 rad) (Figure 9b), which was higher than that of the ADRC controller ( Figure 9d). As for the response speed, the new controller also outperformed the PI controller (Figure 9a,c). Clearly, the ADRC controller outperformed the PI controller in both control precision and response speed, but the joint end-point following trajectory was more precise in the Cartesian coordinate system ( Figure 10). As for planar projection, the ADRC feedforward showed control precision over the robot end-point end up to 0.015 mm (Figure 10 c,d), which was far higher than the PI controller (0.3 mm, Figure 11c,d). As for error distributions, the endpoint following error of the robot was very large upon the start-up, which was largely induced by the joint friction. Firstly, the joint static friction after the start of movement was very large, which could not be rapidly adjusted by a pure PI controller; secondly, due to the errors of the friction model, the static friction at the time of mutation was hard to be monitored or compensated promptly. Admittedly, relative to the PI controller, our new ADRC controller could well inhibit the friction uncertain disturbance, and generally, was outstanding in terms of control precision and response speed. Moreover, at different speeds, especially high speed (8 rad/s), the ADRC controller showed both high-quality trajectory follow-up and robustness ( Figure 12).
To verify the position repeatability of robot, we set the start/stop point A (376.5, 0, 331), and control the robot end-point to perform a periodic circular motion to stop at point A for 20 times (w = 2 rad/s). The end-point Cartesian coordinates ( x , y and z in Table 3) were acquired from robot forward kinematics based on the sampled information of encoders. The above figures show the PI controller and the ADRC controller based on dynamic feedforward (or ADRC controller for short) both could stably follow the trajectory, but the following precision and response speeds both differed. In the joint coordinate system, for the large-inertia joint 2, the trajectory following error of the PI controller was very large (about 0.005 rad) (Figure 9b), which was higher than that of the ADRC controller ( Figure 9d). As for the response speed, the new controller also outperformed the PI controller (Figure 9a,c). Clearly, the ADRC controller outperformed the PI controller in both control precision and response speed, but the joint end-point following trajectory was more precise in the Cartesian coordinate system ( Figure 10). As for planar projection, the ADRC feedforward showed control precision over the robot end-point end up to 0.015 mm (Figure 10c,d), which was far higher than the PI controller (0.3 mm, Figure 11c,d). As for error distributions, the end-point following error of the robot was very large upon the start-up, which was largely induced by the joint friction. Firstly, the joint static friction after the start of movement was very large, which could not be rapidly adjusted by a pure PI controller; secondly, due to the errors of the friction model, the static friction at the time of mutation was hard to be monitored or compensated promptly. Admittedly, relative to the PI controller, our new ADRC controller could well inhibit the friction uncertain disturbance, and generally, was outstanding in terms of control precision and response speed. Moreover, at different speeds, especially high speed (8 rad/s), the ADRC controller showed both high-quality trajectory follow-up and robustness ( Figure 12).
To verify the position repeatability of robot, we set the start/stop point A (376.5, 0, 331), and control the robot end-point to perform a periodic circular motion to stop at point A for 20 times (w = 2 rad/s).
The end-point Cartesian coordinates (x,ȳ andz in Table 3) were acquired from robot forward kinematics based on the sampled information of encoders.
The t i and δ are expressed in Equations (39) and (40), respectively.
where t = 1 n n i=1 t i , n = 20.
It can be seen that the repetitive position accuracy is slightly higher than the trajectory following accuracy. However, it should be noted that the actual repetitive position accuracy will be slightly worse because we acquire the end-point Cartesian coordinates from the encoders and theoretical calculation based on robot forward kinematics.

Conclusions
To improve the robustness of the dynamic feedforward control system, we put forward an ADRC strategy based on dynamic feedforward starting from the control perspective and combining the simple structure, strong anti-interference ability and no restraint from the control model of ADRC.
(1) Together with the dynamic characteristics of robots, we analyze the system disturbance compensation methods, and by regarding robots as motor output load, achieve multi-joint control decoupling through dynamic characteristic compensation and uncertain disturbance compensation.
(2) As for the uniaxial independent systems after decoupling, we study the ADRC series control structure and algorithm based on dynamic feedforward, and investigate the closed-loop stability by analyzing the dynamic linearization compensation and ESO anti-disturbance ability.
(3) Space arc trajectory following experiments have been conducted to comprehensively evaluate the 6-joint motion performances of robots. The ADRC controller based on dynamic feedforward outperforms traditional PI controllers in terms of trajectory following precision and response speed, and shows high values of practical engineering. It should be noted ADRC controllers are structurally diverse, and this study just proves the high efficiency of the P control law. To further improve the controller performance, other more advanced PD control law and ESO combination may be used, which is not elaborated here.