ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
Contents lists available at ScienceDirect
ISA Transactions journal homepage: www.elsevier.com/locate/isatrans
Research article
Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system$ A. David Rosas a,n, V. Karla Velazquez a, F. Luz Olivares a, T. Adrian Camacho a, Ivan Williams b a b
Engineering Faculty, Autonomous University of Baja California, Blvd Benito Juarez S/N, Mexicali, Mexico Mexicali Research and Technology Center, Honeywell, Del Oro 1755, Mexicali, Mexico
art ic l e i nf o
a b s t r a c t
Article history: Received 10 August 2016 Received in revised form 14 May 2017 Accepted 21 May 2017
A methodology to assess the quality of estimation of disturbances in mechanical systems, by state observers, in the control structure with active compensation of disturbances (ADRC) is presented. Evaluation is carried out by four performance indices that depend on the steady-state error between reference signals and output of the plant. These indices are related with the accuracy and precision of the closed loop system in the sense of norms L2 and L∞, for a set of reference signals representing the typical operating conditions of the mechanism. The effectiveness of the methodology is illustrated with the quality assessment of the estimated disturbance of five state observers to control of a simple pendulum and validated on a SCARA robot arm. & 2017 ISA. Published by Elsevier Ltd. All rights reserved.
Keywords: Methodology Compensation of disturbances State observers
1. Introduction Design control strategies for mechanical systems with parameter uncertainty and external disturbances have been one of the main control problems in last decades. There are many control algorithms that solve regulation and tracking control objectives without taking into account these practical issues, also a common assumption is the availability of the complete state vector, see for example [1–3]. To cope with parameter uncertainty and external disturbances several robust control techniques have been developed, for example H ∞ control [4], model reference robust control [5], and sliding modes control [6,,8]. The controllers based on sliding modes, like standard sliding modes controllers [7], integral sliding modes controllers [8], terminal sliding modes controllers [9] and high order sliding modes controllers [10], between others, form a family of robust controllers for mechanical systems with bounded disturbances. However, in different practical situations, as mechanical systems, this control technique is not applicable because of the chattering phenomena which generates heat in actuators and premature wear for the mechanisms. Also, the high frequency components in the control input can excite unmodeled hidden dynamics, that may produce instability in the closed loop system [8,11,12]. To reduce or eliminate the effect of disturbances in the closed ☆ This research was supported in part by CONACyT, Mexico, Incentive Program Innovation 2016, under grant 230667. n Corresponding author. E-mail address:
[email protected] (A.D. Rosas).
loop systems, avoiding the chattering problem, have been proposed different strategies based on passive and active compensation of disturbances. In systems with passive compensation of disturbances the bandwidth is low, which does not allow to identify the perturbations in a precise form, in this way a part of the perturbations are introduced in the system and they degrade its performance. On the other hand, in systems with active compensation of disturbances the bandwidth is greater, which allows to estimate more accurately the perturbations and of this way to avoid that they produce a negative effect in the closed loop system [13–16]. The active disturbances rejection control structure (ADRC), shown in Fig. 1, is a typical scheme of a controller with active compensation of disturbances. This control structure includes a robust observer to estimate the velocity vector and perturbations generated by parametric uncertainties; the estimated perturbations are included in the controller to eliminate actual perturbation in plant. Ideally, if the estimation is precise the control structure guarantees, in steady state, a zero error in the control objective using a well known continuous controller for a plant without disturbances; so we obtain the sliding mode controller performance avoiding the chattering problem. However, due to no idealities in implementation of the observer, as finite sample time in hardware and, for some observers, the need of a low-pass filter to estimate perturbations, there occur estimation errors. Therefore, in practice, the error in closed-loop system does not converge to zero and its magnitude is directly related with quality of estimated perturbations. The theoretical framework, stability proofs and some applications of this control structure can be found in [16–23]. A recent
http://dx.doi.org/10.1016/j.isatra.2017.05.013 0019-0578/& 2017 ISA. Published by Elsevier Ltd. All rights reserved.
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
2
sample time.
similar in numerical simulations and experiments? This paper presents a methodology, based on design of experiments, that allows perform a quantitative study the quality of the estimation of disturbances in mechanical systems, made by state observers, in the control structure with active disturbance rejection ADRC. The methodology is based on performance indices that depend on the error between the reference signals and the outputs of the closed loop system; to have a good quality estimation of disturbances these indices should tend to zero. When we apply the methodology to different state observers we obtain sufficient evidence to choose the observer, and its conditions of implementation, to obtain the best quality of estimated disturbances, and as a consequence, the best performance of the ADRC control structure. The objective of factorial design is to study the effect of several factors on one or more responses, when you have the same interest on all factors. For example, one of the most important objectives of factorial designs is to determine a combination of levels in factors, which the performance of process is better. Factors can be qualitative such as machines, types of material and operator, or quantitative such as temperature, humidity, speed and pressure. With full factorial design run randomly all possible combinations can be, realize with all factors levels [29]. The effectiveness of the methodology is illustrated through the evaluation, numerical and experimental, of five state observers for control of a simple pendulum. In order to make a fair comparison we selected observers based on sliding modes that guarantee zero error in asymptotic form or in finite time, although we can select continuous observers. To validate the results, the ADRC control structure, with the five evaluated state observers, is experimentally applied to three links of a SCARA robot, obtaining the same qualitative results than with the simple pendulum. The document is organized as follow. Second section established problem to resolve and describes control structure with active perturbation rejection. Third section shows the methodology to evaluate the estimation perturbation quality in mechanical systems. In the fourth section the application of the methodology is presented by evaluating the quality of the estimation of disturbances in five state observers for the control of a simple pendulum. Fifth section presents the application of ADRC control structure in a SCARA robot in order to validate the proposed methodology. Finally, in sixth section global conclusions of the work are presented.
have to be implemented in a real time control platform, and the sample time affects the performance.
2. Problem statement and preliminary definitions
Fig. 1. Control structure with active disturbances compensation.
ADRC application is presented in [24], where a continuous state observer is used to estimate contact force and failures in an ear surgical device. In this case, the observer does not guarantee zero error if the disturbances are time variant, therefore the estimate disturbance have errors with respect to the actual disturbance. However, the experimental results show adequate performance. In ADRC control structure we can use any observer able to estimate disturbances, for example continuous or discontinuous extended state observers (ESO) [15], high order sliding mode observers [18,25–27], and nonlinear disturbance observers based on tracking differentiator [28]. There are many state observers to estimate disturbances; however, their experimental illustration is limited because, in many cases, it is done with one reference signal, one sample time, and a cutoff frequency of low-pass filter that produce the best results for the observer, this not allow to know its performance in different implementation conditions. There are papers that analyze, from a theoretical or numerical terms, the factors affecting the performance of the ADRC control structure. One of these works is [21], which states that the performance of the control structure depends mainly on the performance of state observer and main factors that affect the quality of the estimation of disturbances are:
The observer structure. Which includes knowledge of the plant model and characteristics of disturbances.
Observer tuning. Which mainly influences the transient response.
Filter design. Order, type and cutoff frequency depending on the Working conditions. The observer and the full control structure
Another important paper is [15] which presents a validation of three extended state observers (ESO) through analysis and experimentation. For simulations they compare the actual disturbance with the estimated disturbance but in experiments they analyze the ESO performance through the tracking error of the control system, because the actual disturbance is not available. The analysis was made for a case of a reference signal for the control system and the conditions on the sample time and solver in simulations and experiments are not specified. Considering the above, the following questions are open: Which is the methodology to follow, in a practical case, to decide which observer will resolve in the best way a control problem in the ADRC control structure? What are the best operating conditions, sampling time and cutoff frequency of the low-pass filter, if needed, maximizing the quality of the estimation of disturbances? If you have hardware with limited resources. What is the observer who offers the best results under these conditions? Is the performance of the control structure, for different operating conditions,
Consider a mechanical system of n degrees of freedom (nDOF) which model is based on Lagrange equations
M ( q)q + C ( q, q)̇ q ̇ + g ( q) + γ ( q, q,̇ q¨ ) = τ , n
n
(1)
n
where q ∈ R , q ̇ ∈ R and q¨ ∈ R are generalized positions, velocities and accelerations vectors, respectively. M ( q) is the inertia matrix, C ( q , q)̇ is centrifugal and Coriolis matrix, g ( q) is gravitational forces vector and τ ∈ Rn is generalized input forces vector, all matrices and vectors have appropriate dimensions. Finally, γ ( q , q ̇, q¨ ) is a perturbation vector generated by parametric uncertainties on the system (1), this term is bounded, γ ( q , q ,̇ q¨ ) < δ, if q , q ̇ and q¨ are bounded [30]. One of the robust control structure had been widely studied and applied on industrial control systems for mechanical systems is the control structure with active compensation of disturbances shown in Fig. 1, see for example [17,19,20] and [21]. In this structure the controller τ0 can be any algorithm that guarantee
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
accomplishment of the control objective considering a nominal model of mechanism, γ( ·) = 0, and a bounded behavior on vectors q , q ̇ and q¨ considering the worst case for γ( ·). The observer, besides .
to estimate vector velocities q^ , estimates the vector of perturbations on the plant for compensate them. Therefore, performance of closed-loop system depends on the identification quality of vector perturbations. This paper develops a methodology, based on design of experiments and statistical tools as average and standard deviation, that allows quantitatively study the quality of the estimation of disturbances in mechanical systems by state observers in the control structure with active disturbance rejection.
e = y − qr ( t ), enough time to analyze performance. 9. Delivering performance indices. Get performance indices proposed in [31,32] and [33] for all experiments in each DOE matrix ETs, ωc . (a) Average error in finite time in the sense of L2
2.
3.
4.
5.
6.
7.
8.
∑
e2, (3)
t0
max t0 ≤ t ≤ t0 + T f
{ e }.
(4)
for i = 1, … , k , used as index tracking accuracy. Define the vectors L2( e ) and L∞ e for each DOE matrix ETs, ωc
L 2( e) = L∞ e =
1. Define a nominal plant model. For an available mechanical system, apply Lagrange equations to get the mathematical model (1) and make a state space representation of it
x2̇ = M −1( x1)( −C ( x1, x2)x2 − g ( x1) − γ ( ·) + τ ), y = x1,
t0 + T f
for i = 1, … , k . (b) Maximum error in finite time in the sense of L∞
3. Methodology to evaluate quality of estimate perturbations
(a)
x1̇ = x2 ,
1 Tf
l2( e)i =
l∞i =
This section describes the proposal methodology to evaluate quality of estimated perturbations on mechanical systems by state observers.
3
{ l2( e)1, l2( e)2, …, l2( e)k},
{l
∞1, l∞2,
}
…, l∞k ,
now we define four indices to assess quality of estimated disturbances for each DOE matrix ETs, ωc
L 2( e) =
1 k
k
∑ L2( e)i , i=1
(5)
(2)
where x1 = q ∈ Rn and x2 = q ̇ ∈ Rn. Use some identification system method to get nominal values for parameters of model (2). Establish reference signals qr ( t ) for experiments. Reference signals to analyze the quality in the estimation of disturbances will be of the form qr ( t ) = Asin( wrt ) ∈ Rn. Based on the final tasks to be performed by the mechanical system, propose different values for the amplitude A and frequency wr, such that they cover the operating range. wr = 0 stands for the reference signal is a constant with amplitude A. Design nominal controllerτ0. Based on mathematical model of mechanism with perturbations (2), design a controller for trajectory tracking ensuring bounded behavior on vectors q , q ̇ and q¨ for the worst case of γ( ·). Select, design and simulate one or several observers to estimate perturbations.Based on model (2) select and design observers to estimate perturbations in the plant. It is recommended that, before the implementation, you make numerical simulations to check the correct observers operation. Establish sample timesTs. Depending on the hardware is done ADRC control structure, establish sample times Ts where you need to test observer performance. In case observer needs a low-pass filter to estimate perturbations, design the filter and, based on criteria established in the literature, propose different cutoff frequencies ωc to analyze its performance. DOE. For each Ts and ωc , if it is needed, do a factorial design of experiments with three levels (low, medium and high) for each factor of the reference signals A and wr, for each observer. This will provide an individual matrix design of experiments ETs, ωc , with k elements, to perform with all factors values combinations were proposed. Implement experiments. On hardware implement active disturbances rejection control structure, showed in Fig. 1, for each observer. Tune the controller and each observer with reference signal that represents greatest challenge to the controller, for example the greatest instantaneous velocity. Conducting experiments. Do every experiment defined in each DOE matrix ETs, ωc and store the steady state error
which it is a measure of the average error for the k reference signals in a matrix of experiments and gives a measure of the accuracy of the estimated disturbances in the sense of L2 norm. (b)
σ L2 = σ ( L 2( e)),
(6)
which it is the standard deviation of the vector L2( e ) indicating dispersion of average error, and it is a measure related with the precision of the estimation in the sense of L2 norm. (c)
L∞ =
1 k
k
∑ L ∞i, i=1
(7)
which it is a measure of the average error for the k reference signals in a matrix of experiments and gives a measure of the accuracy of the estimated disturbances in the sense of L∞ norm. (d)
σ L∞ = σ ( L∞ e ),
(8)
which it is the standard deviation of the vector L∞ e indicating dispersion of average error, and it is a measure related with the precision of the estimation in the sense of L∞ norm. 10. Results. Plot the indices (5), (6), (7) and (8) of each experiment matrix ETs, ωc in such a way as to be comparable. From these graphs you can select the observer, sampling time Ts and, if necessary, the cutoff frequency ωc of low-pass filter that best suits the desired performance criteria in a closed system based on one or more of the quality indices established before. 4. Methodology application This section presents the application of the methodology for assessing the quality of the estimation of disturbances by the state
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
4
observers proposed in [25–28] and [34], both numerical and experimental form, through the control of a simple pendulum shown in Fig. 2,
4.4. Select, design and simulate one or several observers to estimate perturbations
Based on the Lagrange equations for mechanical systems and the System Identification Toolbox of Matlab we obtain the nominal model of the simple pendulum in state variables
We select five robust state observers to estimate disturbances, two of them need a low-pass filter to recover the disturbances and the remaining three do not. All observers were designed according to the literature and were simulated to verify proper operation on the model (9) considering γ( ·) = 0. In the following subsections each observer, as was implemented for experiments, is presented.
x1̇ = x2 , x2̇ = −76.34 sin( x1) − 2.5x2 + 101.3τ + γ ( ·), y = x1.
4.4.1. First state observer The first state observer is the proposed in [25]. For system (9) this observer takes the form
4.1. The nominal model
(9)
where x1 is the angular position and x2 is the angular velocity. It is considered that the perturbation term is bounded, γ ( ·) < δ, where δ is a positive constant whose value depends on the maximum values that can take the position, velocity and angular acceleration of the mechanism. 4.2. Establish reference signals qr(t) for experiments The simple pendulum may be considered as a link of a robot arm, in this example, the operating range for the angle is 0 to ±3π /4 radians and is expected to operate at a maximum speed of 700 degrees per second, so we propose the set of amplitudes A = { π /4, π /2, 3π /4} and the set of frequencies wr ( rad/sec) = { 0, 3, 6} to form all reference signals using design of experiments. 4.3. Design nominal controller
τ0
The nominal controller τ0 is a PID controller with gravity forces compensation
τ0 =
1 76.34 sin( x1) + 2.5qṙ ( t ) − 300e1 − 10e2 , 101.6
(
)
where e1 = x1 − qr ( t ) and e2 = x^2 − qṙ ( t ), and x^2 is the velocity estimated by an observer. This nominal controller τ0 guarantees, experimentally, bounded behavior for all reference signals qr ( t ). The full control signal τ is given by
τ = τ0 −
γ^( ·) . 101.6
1 . x^1 = x^2 + α2 x1 − x^1 2 sign x1 − x^1 , . x^2 = −76.34sin( x1) − 2.5x^2 + 101.6τ + α1sign x1 − x^1 ,
(
)
(
)
y^ = x^1,
(10)
where α1 = 45 and α2 = 70. This is a robust observer convergence in finite time, it needs a low-pass filter to estimate the disturbances from the equivalent control; will use the filter proposed in [19], whose transfer function is
F ( s) = where
ωc2 2
s + 1.4142ωc s + ωc2
,
(11)
ωc is the cutoff frequency to be proposed later.
4.4.2. Second state observer The second state observer is the proposed in [25]. For system (9) this observer takes the form 1 . x^1 = x^2 + α2 x1 − x^1 2 sign x1 − x^1 , . x^2 = −76.34 sin( x1) − 2.5x^2 + 101.6τ + α1 sign x1 − x^1 ,
(
)
(
y^ = x^1,
)
(12)
where α1 = 45 and α2 = 70. This is a robust observer convergence in finite time, it needs a low-pass filter to estimate the disturbances from the equivalent control. We also use the filter (11) proposed in [19]. 4.4.3. Third state observer The third state observer is the proposed in [27]. For system (9) this observer takes the form . x^1 = x^2 + h1, . x^2 = −76.34 sin( x1) − 2.5x^2 + 101.6τ + h2 + z^, . . z^ = α0 sign x^1 − x^2 ,
(
)
y^ = x^1,
(13)
where 2
(
)
(
)
h1 = α2 x1 − x^1 3 sign x1 − x^1 + k1 x1 − x^1 , . . h2 = α1 x^1 − x^2 sign x^1 − x^2 + k2 x1 − x^1 , 1 2
(
)
(
)
and k1 = 1, k2 = 50, α0 = 41, α1 = 117, α2 = 0.5. This is an asymptotic observer and the disturbances are estimated through z^
lim z^ = γ ( ·),
t →∞
Fig. 2. A simple pendulum.
so you do not need an additional filter.
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
4.4.4. Fourth state observer The fourth state observer is the proposed in [28]. For system (9) this observer takes the form 1 . x^1 = c1 x1 − x^1 2 sign x1 − x^1 + z1,
(
(
)
)
)
(14)
where
h1 = c3 z1 − x^2
1 2
(
Ts( sec)
ωc ( rad/sec)
0.001
{ 6.2832, 62.832, 628. 32} { 62.832, 628.32, 628 3.2} { 628.32, 6283.2, 62832}
0.00001
z ̇ 2 = c4 sign z1 − x^2 , y^ = x^1,
Table 1 Cutoff frequencies for each sample time.
0.0001
z1̇ = c2 sign x1 − x^1 , . x^2 = −76.34 sin( x1) − 2.5x^2 + 101.6τ + h1 + z2,
(
5
)
sign z1 − x^2 ,
Table 2 Reference signals for experiments. i
qr ( t )
1
π/4
2
π/2
i
with constants c1 = 55, c2 = 70, c3 = 55 and c4 = 70. This is a observer with convergence in finite time and the disturbances are estimated through z2, so you do not need an additional filter.
3
π3/4
4
π /4 sin ( 3t )
5
π /2 sin ( 3t )
6
π 3/4 sin ( 3t )
4.4.5. Fifth state observer The fifth state observer is the proposed in [34]. For system (9) this observer takes the form . x^1 = c11 x1 − x^1 + w1,
7
π /4 sin ( 6t )
8
π /2 sin ( 6t )
9
π 3/4 sin ( 6t )
( ) ẇ = c ( x − x^ ) + c
(
)
^ 1 21 1 1 31 sign x1 − x1 , . x^2 = −76.34 sin( x1) − 2.5x^2 + 101.6τ + h1,
w
2
(
)
(
Table 3 General matrix of experiments for all analyzed observers.
)
= c22 w1 − x^2 + c32 sign w1 − x^2 ,
y^1 = x^1, y^2 = x^2 ,
(15)
where
(
)
h1 = c12 w1 − x^2 + w2, with the constants c11 = 50, c21 = 300, c31 = 400 , c12 = 50, c22 = 300, and c32 = 400. This is an asymptotic observer and the disturbances are estimated through w2, so you do not need an additional filter. 4.5. Establish sample times Ts The simulations were made on Simulink, Matlab, using fix-step Euler solver and the experiments were made on a real time control platform dSPACE 1103. We selected sample times Ts of 0.001, 0.0001 and 0.00001 seconds. Therefore, the cutoff frequencies for the filter (11) for each Ts were selected according the criterion given in [8] and [11], which establish that the filter constant time τf must satisfy the condition
Ts ≪ τf ≪ 1,
No. ETs, ωc
Observer
Ts(sec)
ωc (rad/sec)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
[26] [26] [26] [26] [26] [26] [26] [26] [26] [25] [25] [25] [25] [25] [25] [25] [25] [25] [27] [27] [27] [28] [28] [28] [34] [34] [34]
0.001 0.001 0.001 0.0001 0.0001 0.0001 0.00001 0.00001 0.00001 0.001 0.001 0.001 0.0001 0.0001 0.0001 0.00001 0.00001 0.00001 0.001 0.0001 0.00001 0.001 0.0001 0.00001 0.001 0.0001 0.00001
6.2832 62.832 628. 32 62.832 628.32 628 3.2 628.32 6283.2 62832 6.2832 62.832 628. 32 62.832 628.32 628 3.2 628.32 6283.2 62832 – – – – – – – – –
where Ts is the sample time. Taking this into account the cutoff frequencies for each sample time are shown in Table 1. 4.7. Implement and conduct experiments 4.6. Design of experiments We have two factors for the reference signals, the amplitude A and the frequency wr , with three levels each one, therefore each matrix of experiments define 9 cases for the reference signal qr ( t ), i
for i = 1, … , 9, as we can see in Table 2. Considering all observers, sample times Ts, cutoff frequencies ωc we define 27 experiment matrices ETs, ωc shown in Table 3.
For experiments, the active disturbance rejection control structure, for each observer, was implemented in a 1103 dSPACE real time control platform and the controller and observer were tuned with the reference signal qr ( t ) = ( 3π /4)sin( 6t ) with a sample time of Ts = 0.001sec . For each experiment we recorded 20 seconds of the error e = q − qr ( t ) in steady state and for each ETs, ωc we calculated the indices (5)–(8).
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
6
Table 4 Numerical results for the performance indices. No. ETs, ωc
Observer
L2( e )
σL2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
[26] [26] [26] [26] [26] [26] [26] [26] [26] [25] [25] [25] [25] [25] [25] [25] [25] [25] [27] [27] [27] [28] [28] [28] [34] [34] [34]
0.01944 0.0033 0.0017 0.0025 0.0004 0.0001 0.0002 5.16E − 05 1.84E − 05 0.0214 0.0062 0.0048 0.0027 0.0006 0.0004 0.0002 6.38E − 05 4.95E − 05 0.0192 0.0118 0.0094 0.0401 0.0174 0.0146 0.0122 0.0086 0.0045
0.0152 0.0025 0.0007 0.0024 0.0002 7.27E − 05 0.0002 2.59E − 05 7.33E − 06 0.0146 0.0026 0.0010 0.0024 0.0002 0.0001 0.0002 2.63E − 05 1.06E − 05 0.0135 0.0105 0.0103 0.0243 0.0342 0.0352 0.0090 0.0074 0.0040
Table 5 Experimental results for the performance indices.
L∞ 0.0336 0.0063 0.0035 0.0045 0.0009 0.0003 0.0004 0.0001 3.49E − 05 0.0377 0.0121 0.0081 0.0051 0.0011 0.0008 0.0005 0.0001 7.95E − 05 0.0347 0.0218 0.0182 0.0685 0.0339 0.0291 0.0247 0.0155 0.00793
σL∞
No. ETs, ωc
Observer
L2( e )
σL2
0.0278 0.0055 0.0019 0.0044 0.0006 0.0001 0.0004 6.26E − 05 1.80E − 05 0.0285 0.0072 0.0032 0.0045 0.0006 0.0003 0.0004 6.94E − 05 3.22E − 05 0.0263 0.0207 0.0204 0.0516 0.0694 0.0715 0.0516 0.0137 0.0073
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
[26] [26] [26] [26] [26] [26] [26] [26] [26] [25] [25] [25] [25] [25] [25] [25] [25] [25] [27] [27] [27] [28] [28] [28] [34] [34] [34]
0.0298 0.0088 0.0048 0.0109 0.0054 0.00702 0.0060 0.0057 0.0047 0.0505 0.0391 0.03366 0.0197 0.0183 0.0381 0.0200 0.0321 0.0175 0.0221 0.0211 0.0190 0.0395 0.0273 0.0269 0.0217 0.0190 0.0109
0.0262 0.0058 0.0036 0.0082 0.0051 0.0033 0.0054 0.0037 0.0037 0.0191 0.0090 0.0129 0.0111 0.0059 0.0163 0.0087 0.0188 0.0065 0.0208 0.0202 0.0188 0.0375 0.0386 0.0395 0.0167 0.0157 0.0078
L∞ 0.0657 0.024 0.0179 0.0259 0.0196 0.0220 0.0216 0.0171 0.0178 0.0881 0.0720 0.0659 0.0423 0.0372 0.0702 0.0418 0.0605 0.0406 0.0499 0.0482 0.0401 0.0811 0.0508 0.0551 0.0516 0.0478 0.0355
σL∞ 0.0589 0.0179 0.0179 0.0200 0.0225 0.0151 0.0241 0.0125 0.0185 0.0466 0.028 0.0289 0.0219 0.0108 0.0312 0.0160 0.033 0.0125 0.0512 0.0463 0.0390 0.0832 0.0677 0.0809 0.0388 0.0381 0.0266
4.8. Results We define the following color code for all figures with results. For experiments: green for observer [26], yellow for observer [25], blue for observer [27], magenta for observer [28] and cyan for observer [34]. For simulations: blue for observer [26], magenta for observer [25], white for observer [27], green for observer [28] and black for observer [34]. Simulation and experimental results for all performance indices are presented in Tables 4 and 5, and in Figs. 3–6 where wide bars correspond to experimental results and narrow bars correspond to simulation results. From these figures we can conclude that we obtain a better performance in simulations than in experiments for all estate observers. Also, in simulation the indices L2( e ) and L∞ decrease if the sample time decrease too, but for the observers [25,,26], that use a filter to estimate disturbances, these indices do not decrease; however, the observers that do not use a filter, [27,28,34], have the same behavior than simulations. An interesting observation is the observers that use a filter may present better results than the observers that do not use a filter, and an asymptotic observer may have a better performance than an observer with finite time convergence. Based on the experimental results we conclude that for a best accuracy in control objective, in the sense of index (5), we can use the observer proposed in [26], with a sample time of Ts = 0.0001sec and a cutoff frequency ωc = 6283.2 rad/sec, which corresponds to the experiment matrix number 6, see Fig. 3. If we want the best repeatability in the sense of index (6) the observer proposed in [26], with a sample time Ts = 0.00001sec and a cutoff frequency ωc = 62832 rad/sec, is the best option, which corresponds to the experiment matrix number 9, see Fig. 4. On the other hand, if we want to analyze the quality of the identified perturbations in terms of the norm L∞ we use the indices (7) and (8). The best accuracy in the sense of index (7) is obtained with the observer proposed by [25] with sample time Ts = 0.0001sec and cutoff frequency ωc = 6.22832 rad/sec, which
Fig. 3. Performance index L2( e )
for all experiment matrices.
Fig. 4. Performance index σL2 for all experiment matrices.
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
7
Fig. 5. Performance index L∞ for all experiment matrices.
Fig. 7. SCARA robot used to validate the proposed methodology.
Consider the SCARA robot shown in Fig. 7, whose model for the first three joints, two rotational and one translational, is
x1̇ = x2
(16)
( (
x2̇ = M ( x1)−1 −C x1,x2 x2 − Dx2 − Γ ( ·) + KU where
Fig. 6. Performance index σL∞ for all experiment matrices.
corresponds to the experiment matrix number 14, see Fig. 5. If we want the best repeatability in the sense of index (8) the observer proposed in [26], with Ts = 0.00001 and ωc = 6283.2 rad/sec, is the best option, which corresponds to the experiment matrix number 8, see Fig. 6. Finally, consider a situation where the control structure only can be implemented in a hardware with a sample time of Ts = 0.001sec. Which observer produce the best estimation of disturbances with respect to index (5)? The answer is in Fig. 3, where we can see that the observer proposed in [26], with a cutoff frequency of ωc = 628.32, which corresponds to experiment matrix 3, is the best option.
5. Validation of the methodology in a SCARA robot To apply the proposed methodology it is not necessary to make all experiments for an specific mechanical system because, if the tuning process is adequate and the disturbances satisfy certain conditions, the observers performance do not depend on the number of joints or the others mechanical characteristics of the plant. In order to validate the above, this section shows the results of applying the control structure to three joints of an industrial SCARA robot arm using the five observers evaluated in previous section.
)
)
x1 = [x11, x12, x13]T is the generalized positions vector,
x2 = [x21, x22, x23]T is the generalized velocities vector, M ( x1) is the inertia matrix, C ( x1, x2) is the centrifuge and Coriolis matrix, D is a viscous friction coefficients matrix and K is a gain matrix due to the power drivers, motors and transmissions gear, all these matrices are given by ⎡ m11 m2lc22 + I2 + m2l1lc 2cos(x12) 0 ⎤⎥ ⎢ ⎢ ⎥ M ( x1) = m2lc2 + I2 + m2l1lc cos(x12) m2lc22 + I2 0 ⎥, ⎢ 2 2 ⎢⎣ m3⎥⎦ 0 0 m11 = m1lc21 + m2l12 + m2lc22 + I1 + I2 + 2m2l1lc 2cos(x12), ⎡ −m l l 2sin( x )x −m l l sin( x )x 0⎤ 2 1 c2 12 22 2 1 c2 12 22 ⎢ ⎥ C ( x1, x2) = ⎢ −m2l1lc sin( x12)x22 0 0⎥, 2 ⎢ ⎥ ⎣ 0 0 0⎦ ⎡ δ1 0 0 ⎤ ⎢ ⎥ D = ⎢ 0 δ2 0 ⎥ , ⎢ ⎥ ⎣ 0 0 δ3⎦ ⎡k 0 0⎤ ⎢ 1 ⎥ K = ⎢ 0 k2 0 ⎥. ⎢ ⎥ ⎣ 0 0 k3⎦
The nominal parameter values are
m1 = 4(kg ),
m2 = 3.5(kg ),
m3 = 2.5(kg ), I1 = 0.5(kgm2), I2 = 0.5(kgm2), l1 = 0.5(m), l2 = 0.4(m), lc1 = 0.4(m), lc2 = 0.3(m), δ1 = 30(Nmseg /rad ), δ2 = 10(Nmseg /rad ), δ3 = 40(Nseg /m), k1 = 7(Nm /V ) , k2 = 3(Nm /V ) and k3 = 0.2(N /V ). The controller U is given by [30]
u = K −1(Kpe + Kve ̇ + M ( xd )x¨ d + C ( xd , ẋd )ẋd + Dẋd − Γ˜ ( ·)); where xd ∈ R 3, xḋ ∈ R 3 and x¨ d ∈ R 3 are the reference vector and its derivatives, Kp and Kv are the matrices
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
8
2
Kp = diag{ 60, 70, 40}, Kv = diag{ 1, 0.5, 1}, and Γ˜ ( ·) ∈ R 3 are the estimated disturbances. Now we present each observer for system (16) were the observer state vector and the function sign x − x^ are defined as
(
1
)
1
. h2 = α1 x^1 − x^2
(17)
T x^2 = ⎡⎣ x^21, x^22 , x^23⎤⎦ ,
(18)
(
)
)
(
)
)
(
)
2 2 2 2⎫ ⎧ x1 − x^1 3 = diag ⎨ x11 − x^11 3 , x12 − x^12 3 , x13 − x^13 3 ⎬ , ⎩ ⎭ . . . . ⎡ ⎤T sign x^1 − x^2 = ⎢ sign x^11 − x^21 , sign x^12 − x^22 , sign x^13 − x^23 ⎥ , ⎣ ⎦
(
(
⎪
⎪
⎪
⎪
)
1 2
⎡ ⎤T sign x1 − x^1 = ⎣ sign x11 − x^11 , sign x12 − x^12 , sign x13 − x^13 ⎦ . (19)
(
(
k1 = diag{ 1, 1, 1}, k2 = diag{ 50, 50, 50}, α0 = diag{ 41, 41, 41},
. x^1 − x^2
)
)
. sign x^1 − x^2 + k2 x1 − x^1 ,
1 2
α1 = diag{ 117, 117, 117} , α2 = diag{ 0.5, 0.5, 0.5} and
T x^1 = ⎡⎣ x^11, x^12 , x^13⎤⎦ ,
(
(
h1 = α2 x1 − x^1 3 sign x1 − x^1 + k1 x1 − x^1 ,
)
(
) (
) (
)
1 1 1⎫ ⎧ . . ⎪ . 2 2 2⎪ = diag ⎨ x^11 − x^21 , x^12 − x^22 , x^13 − x^23 ⎬ . ⎪ ⎪ ⎩ ⎭
The state observer proposed in [28] takes the form The observer proposed in [26] takes the form 1 . x^1 = C1 x1 − x^1 2 sign x1 − x^1 + z1,
. x^1 = x^2 + h1, . x^2 = M −1( x1)( − C x1, x^2 x^2 − Dx^2 + Ku) + h2 ,
(
(
(
)
y^ = x^1,
(20)
)
(
( ) = C ( x − x^ ) + C
)
y^ = x^1,
h1 = C1 x1 − x^1 , 2
) (
z ̇ 2 = C4sign z1 − x^2 ,
where
h2
)
z1̇ = C2sign x1 − x^1 , . x^2 = M −1( x1)( − C x1, x^2 x^2 − Dx^2 + Ku) + h1 + z2,
1
1
3
(
)
sign x1 − x^1 ,
(23)
where z1 ∈ R 3, z2 ∈ R 3 and 1
C1 = diag{ 50, 50, 50}, C3 = diag{ 18, 30, 10}, for each joint we use the filter given in 11 to estimate disturbances. The state observer proposed in [25] takes the form 1 . x^1 = x^2 + α2 x1 − x^1 2 sign x1 − x^1 , . x^2 = M −1( x1) − C x1, x^2 x^2 − Dx^2 + Ku
(
(
)
)
) (21)
where α1 = diag{ 45, 45, 0.5}, α2 = diag{ 70, 70, 1.5} and ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
( ) ^ ẇ = C ( x − x ) + C sign ( x − x^ ), . x^ = M ( x )( − C( x , x^ )x^ − Dx^ + Ku) + h , w = C ( w − x^ ) + C sign ( w − x^ ), 1
21
−1
2
22
1
1
31
1
1
1
1
2
2
2
1
2
32
1
1
2
y^1 = x^1, y^2 = x^2 ,
we also use the filter given in 11 to estimate disturbances. The observer proposed in [27] takes the form
(24)
where w1 ∈ R 3, w2 ∈ R 3 and
. x^1 = x^2 + h1, . x^2 = M −1( x1)( − C x1, x^2 x^2 − Dx^2 + Ku) + h2 + z^, . . z^ = α0 sign x^1 − x^2 ,
T z^ = ⎡⎣ z^1, z^2, z^3⎤⎦ ,
1⎫ 1 1 1 ⎧ z1 − x^2 2 = diag ⎨ z11 − x^21 2 , z12 − x^22 2 , z13 − x^23 2 ⎬ ⎩ ⎭
2
1⎫ 1 1 1 ⎧ x1 − x^1 2 = diag ⎨ x11 − x^11 2 , x12 − x^12 2 , x13 − x^13 2 ⎬ , ⎩ ⎭
where
⎪
. x^1 = C11 x1 − x^1 + w1,
y^ = x^1,
y^ = x^1,
⎪
⎪
with constants matrices C1 = diag{ 55, 55, 0.5}, C2 = diag{ 70, 70,
)
(
⎪
1.5}, C3 = diag{ 55, 55, 0.5} and C4 = diag{ 70, 70, 1.5}. The state observer proposed in [34] takes the form
+ α1sign x1 − x^1 ,
(
)
1⎫ 1 1 1 ⎧ x1 − x^1 2 = diag ⎨ x11 − x^11 2 , x12 − x^12 2 , x13 − x^13 2 ⎬ , ⎩ ⎭
C2 = diag{ 80, 80, 80},
( (
(
h1 = C3 z1 − x^2 2 sign z1 − x^2 ,
(
)
h1 = C12 w1 − x^2 + w2,
)
(
sign w1 − x^2
)
(22)
)
⎡ ⎤T = ⎣ sign w11 − x^21 , sign w12 − x^22 , sign w13 − x^23 ⎦
(
)
(
)
(
)
with the constant matrices C11 = diag{ 50, 50, 50}, C21 = diag{ 80,
80, 80}, C31 = diag{ 20, 20, 20},
C12 = diag{ 50, 50, 50}, C22 = diag
and C32 = diag{ 80, 80, 80}. Experiments were made on the 1103 dSPACE control platform with reference signals
{ 300, 300, 300},
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
9
Fig. 8. Performance indices for the SCARA robot for each observer evaluated.
⎤ ⎡ ⎡ xd1⎤ ⎢ 0.5 sin ( t )(Rad)⎥ ⎢x ⎥ ⎢ xd = ⎢ d2 ⎥ = 0.5 sin ( t )(Rad)⎥, ⎥ ⎢ ⎣ xd3 ⎦ ⎢ 0.05 sin t (m) ⎥ () ⎦ ⎣ sample time was Ts = 0.0001seg and the cutoff frequencies wc for low-pass filters in observers [25] and [26] were wc = 628.32. The results are shown in Fig. 8; as we only made an experiment for each observer we obtained indices l2( e ) , left column, and l∞, right column, defined in (3) and (4) respectively. As we can see, the qualitative index behavior is the same that the results presented in Figs. 3 and 5 the best results are obtained with state observer proposed in [26].
6. Conclusions Proposed methodology to evaluate quality of estimated perturbations in mechanical systems, through state observers, allows analyze several factors as sample time Ts, cutoff frequency filter ωc, as well as amplitude and frequency of reference signals, but is not limited to these factors, it is possible to add other factor, just need to define the values to analyze and added to the DOE, also can be remove some of the factors presented in this work, therefore the methodology is flexible in this point. Applying this methodology to several observers will have enough experimental elements to decide which observer is the best option to resolve a control problem defined in ADRC control structure. Main limitation of methodology is the number of experiments ne in an experiment matrix, which depends on the number of factors p and on the number of levels mi , for each factor, in the following form i
ne =
∏ mi ,
(25)
for i = 1, … , p, meaning a possible long time to choose the observer to use in a mechanical system with many degrees of freedom. With respect to the experimental analysis of the performance of the five observers in a particular system, it can be said that observers with convergence in finite time do not present
advantages over the observers with asymptotic convergence. Similarly not all observers that do not require low-pass filter perform better than those that require a low-pass filter; the right combination of sampling time and the cutoff frequency of the lowpass filter can produce a better quality of estimating disturbances in those observers who do not need filter. Moreover, the sampling time is an important factor affecting the quality of the estimate disturbances, but in some cases performance may deteriorate with lowest sampling time. Finally we can say that, in practice, the performance of observers that have been presented in the literature may differ considerably from the theoretical results and even numerical simulations, this is mainly due to the characteristics of disturbances in the plant and the conditions that they must satisfy in each observer, as its boundedness in amplitude and derivative. So when implementing control structure with active compensation of disturbances we recommend use the proposed methodology for choosing the observer. An interesting future work is to compare the quality of perturbations estimated by continuous and discontinuous observers. In theory, discontinuous observers guarantee convergence to zero, but in practice this is not so, it is possible that some continuous observers perform similarly to discontinuous ones in practice, such results would offer a broader picture for making decisions about the choice of the observer in the control structure ADRC.
References [1] Paden B, Panja R. Globally asymptotically stable ‘PD þ’controller for robot manipulators. Int J Control 1988;47(6):1697–712. [2] Arimoto S, Takegaki M. A new feedback method for dynamic control of manipulators. J Dyn Syst Meas Control 1981;102:119–25. [3] Wen JT, Bayard DS. New class of control laws for robotic manipulators Part 1. Non-adaptive case. Int J Control 1988;47(5):1361–85. [4] Wang X, Yaz EE, Schneider SC, Yaz YI. H2- H∞ control of continuous-time nonlinear systems using the state-dependent Riccati equation approach. Syst Sci Control Eng 2017;5(1):224–31. [5] Tanyer I, Tatlicioglu E, Zergeroglu E. Model reference tracking control of an aircraft: a robust adaptive approach. Int J Syst Sci 2017;48(7):1428–37. [6] Chen Q, Tao L, Nan Y, Ren X. Adaptive nonlinear sliding mode control of mechanical servo system with LuGre friction compensation. J Dyn Syst Meas Control 2016;138(2):021003. [7] Utkin VI. Sliding modes and their application in variable structure systems. Mir publishers; 1978.
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i
10
A.D. Rosas et al. / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
[8] Utkin V, Guldner J, Shi J. Sliding mode control in electro-mechanical systems. CRC Press, New York; 2009. [9] Rao J, He F, Shang F. Global fast terminal sliding mode controller design for low speed servo system with friction. In: Information Engineering and Computer Science, ICIECS, International Conference on, IEEE. December 2009. p. 1–4. [10] Perruquetti W, Barbot JP. Sliding mode control in engineering. CRC Press, New York; 2002. [11] Shtessel Y, Edwards C, Fridman L, Levant A. In sliding mode control and observation. Observation and Identification via HOSM Observers.New York: Springer; 2014. p. 251–90. [12] Utkin V & Lee H. Chattering problem in sliding mode control systems. In: Variable structure systems, VSS'06, International Workshop on, IEEE. 2006, June. p. 346–50. [13] Woodacre JK, Bauer RJ, Irani RA. A review of vertical motion heave compensation systems. Ocean Eng 2015;104:140–54. [14] Ma J, Chen SL, Teo CS, Kong CJ, Tay A, Lin W, Al Mamun A. A constrained linear quadratic optimization algorithm toward jerk-decoupling cartridge design. J Frankl Inst 2017;354(1):479–500. [15] Zheng Q, Gao LQ, Gao Z. On validation of extended state observer through analysis and experimentation. J Dyn Syst Meas Control 2012;134(2):024505. [16] Gao Z. On the centrality of disturbance rejection in automatic control. ISA Trans 2014;53(4):850–7. [17] Han J. From PID to active disturbance rejection control. IEEE Trans Ind Electron 2009;56(3):900–6. [18] Ferreira A, Bejarano FJ, Fridman LM. Robust control with exact uncertainties compensation: with or without chattering? Control Syst Technol, IEEE Trans 2011;19(5):969–75. [19] Almeida DIR, Alvarez J, Peña J. Control structure with disturbance identification for Lagrangian systems. Int J Non-Linear Mech 2011;46(3):486–95. [20] Huang Y, Xue W. Active disturbance rejection control: methodology and theoretical analysis. ISA Trans 2014;53(4):963–76. [21] Madoński R, Herman P. Survey on methods of increasing the efficiency of
extended state disturbance observers. ISA Trans 2015;56:18–27. [22] Wang L, Su J. Disturbance rejection control for non-minimum phase systems with optimal disturbance observer. ISA Trans 2015;57:1–9. [23] Ramos GA, Cortés-Romero J, Coral-Enriquez H. Spatial observer-based repetitive controller: an active disturbance rejection approach. Control Eng Pract 2015;42:1–11. [24] Liang W, Huang S, Chen S, Tan KK. Force estimation and failure detection based on disturbance observer for an ear surgical device. ISA Trans 2016. [25] Davila J, Fridman L, Poznyak A. Observation and identification of mechanical systems via second order sliding modes. Int J Control 2006;79(10):1251–62. [26] Rosas Almeida DI, Alvarez J, Fridman L. Robust observation and identification of nDOF Lagrangian systems. Int J Robust Nonlinear Control 2007;17(9):842–61. [27] Van M, Kang HJ, Suh YS, Shin KS. Output feedback tracking control of uncertain robot manipulators via higher-order sliding-mode observer and fuzzy compensator. J Mech Sci Technol 2013;27(8):2487–96. [28] Bu XW, Wu XY, Chen YX, Bai RY. Design of a class of new nonlinear disturbance observers based on tracking differentiators for uncertain dynamic systems. Int J Control, Autom Syst 2015;13(3):595–602. [29] Montgomery D, Runger G. Applied statistics and probability for engineers. New York: John Wiley & Sons, Inc; 2003. [30] Kelly R, Davila VS, Perez JAL. Control of robot manipulators in joint space. Springer Science & Business Media, London; 2006. [31] Zhang Y, Yan P, Zhang Z. A disturbance observer-based adaptive control approach for flexure beam nano manipulators. ISA Trans 2015. [32] Xu L, Yao B. Adaptive robust precision motion control of linear motors with negligible electrical dynamics: theory and experiments. Mechatron IEEE/ ASME Trans 2001;6(4):444–52. [33] Wang L, Chai T, Zha L. Neural-network-based terminal sliding-mode control of robotic manipulators including actuator dynamics. Ind Electron IEEE Trans 2009;56(9):3296–304. [34] Rosas D, Alvarez J, Rosas P, Rascon R. Robust observer for a class of nonlinear SISO dynamical systems. Math Probl Eng 2016:2016.
Please cite this article as: Rosas AD, et al. Methodology to assess quality of estimated disturbances in active disturbance rejection control structure for mechanical system. ISA Transactions (2017), http://dx.doi.org/10.1016/j.isatra.2017.05.013i