# Adaptive Predefined Performance Neural Control for Robotic Manipulators with Unknown Dead Zone

Authors: Shifen Shao; Kaisheng Zhang; Jun Li; Jirong Wang
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

This paper proposes an adaptive predefined performance neural control scheme for robotic manipulators in the presence of nonlinear dead zone. A neural network (NN) is utilized to estimate the model uncertainties and unknown dynamics. An improved funnel function is designed to guarantee the transient behavior of the tracking error. The proposed funnel function can release the assumption on the conventional funnel control. Then, an adaptive predefined performance neural controller is proposed for robotic manipulators, while the tracking errors fall within a prescribed funnel boundary. The closed-loop system stability is proved via Lyapunov function. Finally, the numerical simulation results based on a 2-DOF robotic manipulator illustrate the control effect of the presented approach.


---

## Body

## 1. Introduction

Robotic manipulators have been widely utilized in industrial applications such as manufacturing industry, aerospace, and military equipment [1–9]. Nevertheless, the nonlinear terms include the nonlinear friction, model uncertainties, and dead zone that can reduce the control accuracy. To address this problem, the conventional PID controller was designed for robotic manipulators, but PID cannot achieve the satisfactory control performance [9]. To improve the tracking performance of robotic manipulators, a variety of control strategies were proposed for robotic systems such as adaptive control [10, 11], nonlinear control [12], and back-stepping control [13–15].In fact, the difficulties in the control design for robotic systems mainly stem from nonlinear terms. To tackle these nonlinear terms, disturbance observer techniques were proposed to reject the unknown disturbance [1, 16, 17]. In [1], a new unknown dynamics estimator- (UDE-) based first-order filter is proposed for robotic manipulators, the UDE was incorporated into control design that can effectively reject the unknown dynamics. An unknown input observer (UIO) was developed by introducing the first-order filter to estimate the unknown dynamics of servomechanisms, where the UIO had only one tuned parameter [18]. A novel nonlinear disturbance observer (NDO) was proposed for robotic manipulators in [17]. A disturbance observer (DOB) was devised for robot manipulators, where the external disturbance can be rejected by using the DOB [19]. Although the aforementioned disturbance observer-based control strategies can improve the performance of the robotic manipulator, the transient behavior is not considered in control design.On the other hand, as neural networks (NNs) [1, 20–25] or fuzzy logic systems (FLS) [26–28] have been used to approximate the system uncertainties due to their approximation ability. In [25], an adaptive neural network control was proposed for robot manipulators, where the NN was utilized to approximate the unknown dead zone and system uncertainties. In [29], a contouring control method was proposed for robot manipulators and the NN was used to estimate the unknown dynamics. In [30], a NN-based terminal sliding mode control (TSMC) was designed for robot manipulators with actuator dynamics, where the NN was used to estimate the unknown actuator dynamics. A neural-fuzzy control was used to estimate the inverse dynamics; then, the approximation was incorporated into an adaptive neural-fuzzy controller to compensate the unknown dynamics of robot systems [31]. Although the aforementioned approaches can improve the control performance, the transient behavior and steady-state performance are not considered in controller design.Recently, it is well known that the prescribed performance control (PPC) method can be used to quantitatively analyse the transient behavior [32]. The main feature is that a prescribed function with maximum overshoot and convergence rate is used to transform the original tracking error into a new error. Then, the new error is used to design a controller in which the tracking error can be remained within a predefined boundary. This control method has been used to control some systems [33–38]. In [39], an adaptive prescribed performance control was proposed for servomechanisms to improve the control performance. In [40], a modified prescribed performance function was proposed and incorporated into control design to control piezo-actuated positioning systems. A PPC was developed to control a variable stiffness actuated robot in [34]. Moreover, a funnel control (FC) as a constraint control was also proposed to guarantee the transient response [41]. The concept of FC is to construct an adjustable proportional gain τ to control the dynamics systems. The funnel control has been used to control some practice systems such as two-mass systems [42], air-breathing hypersonic vehicles [43], and nonlinear dynamics systems [44]. In [45], a funnel control based on the adaptive fuzzy control was proposed to control stochastic nonlinear systems, where the fuzzy logic is utilized to approximate the unknown nonlinear dynamics. A neural network based on the adaptive control was developed for two-mass systems with backlash, where the neural network was employed to estimate the unknown backlash [46]. If a control system is with high relative degree r≥3, the funnel control may not suit this kind of systems. Thus, the application of funnel control is limited. Moreover, the application of funnel control in robotic manipulators cannot be found.This paper will propose a novel adaptive neural prescribed performance control method for robotic manipulators with unknown dead zone. A novel funnel variable is defined based on the tracking error. The modified funnel variable can release the assumption on the original funnel control. An echo state neural network (ESN) is adopted to estimate the unknown dynamics of robotic manipulators, and the approximation is used in control design to compensate the nonlinear dead zone. Then, an adaptive control scheme for a robotic manipulator is proposed to improve the control performance. Numerical simulation demonstrates the effectiveness of the proposed control approach.The special contributions of this paper are as follows:(i)
A novel funnel function is proposed based on the tracking error, and it can release the limitation on the original funnel function and is used in control design to improve the control performance(ii)
A neural network is utilized to estimate the nonlinear dead zone, and the approximation is to design a controller, where the dead zone is compensated(iii)
The effectiveness of the proposed control method is evaluated based on a robotic manipulator by using numerical simulationsThe remainder of this paper is organized as follows. Section2 presents system description, funnel control design, and echo state neural network structure. An adaptive neural funnel controller is shown in Section 3. Numerical simulation results are given in Section 4. Finally, the paper is concluded in Section 5.


## 2. Problem Formulation

### 2.1. System Description

This paper considers an-degree-of-freedom (DOF) robotic manipulator, which can be modeled as(1)Mqq¨+Cq,q˙q˙+Gq+dl=dτ,where q, q˙, and q¨ are the robot joint position, velocity, and acceleration, respectively; Mq denotes the inertia matrix, Cq,q˙ represents the Coriolis/centripetal torque, including the viscous friction and nonlinear damping, Gq is the gravity torque, τ is the control input, and dl is the unknown disturbance.For the matricesMq and Cq,q˙, the following properties hold.Property 1.
The matrixM˙q−2Cq,q˙ is a skew-symmetric matrix.Property 2.
The matrixMq is bounded such that 0<Ma≤Mq≤Mb, where Ma and Mb are positive constants.Figure 1
Nonlinear dead zone.Assumption 1.
The dead-zone nonlinearity (see Figure1) can be written as(2)dτ=drτ,ifτt≥br,0,ifbl<vt<br,dlτ,ifτt≤bl,where τt is the control torque, dlv and drv denote unknown smooth functions, and bl<0 and br>0 denote constants.
d
r
τ
t and dlτt can be written as(3)dlv=dlv−dlbldl′ξlv−bl,∀v∈−∞,blwithξl∈−∞,bl,(4)drv=drv−drbr=dr′ξrv−br,∀v∈br+∞withξl∈br,+∞,where di′=dDiξ/dξ|ξ=ξi,i=l,r, denotes the derivative of diξ,i=l,r.
Using (3) and (8), the dead zone is given as(5)dτt=χlt+χrtτt+ρt=dtτt+ρt,where dt=χlt+χrt with(6)χlt=dl′ξl′,ifτt≤br,0,ifτt>br,(7)χrt=dr′ξr′,ifτt≤bl,0,ifτt>bl.


### 2.2. Echo State Neural Network Approximation

The echo state neural network is a novel NN with superior capability to approximate the unknown dynamics. The basic architecture of the ESN is shown in Figure2. The ESN is composed of three parts: (1) K input neurons, N reservoir neurons, and L output layer. The ESN model can written as(8)X˙=C−aX+fWinu+WX+Wbacky,y=GW0TX,where X denotes the reservoir neuron state, C>0 is a time constant, and a represents the leaking decay rate. Win∈RN×K, W∈RN×N, and Wout∈RN×L denote the input weight matrix, the reservoir weight matrix, and the feedback weight matrix, respectively. The ESN can be used to approximate any continuous function fx over a compact domain Ω∈Rm.Figure 2
Basic architecture of the ESN.The functionfx can be expressed as(9)fx=WTΦx+ε,∀x∈Ω⊂Rm,where ε is the estimation error of the ESN, ε≤εm, and W denotes the weight.Therefore,(10)W∗=argminW∈RLsupx∈Ωfx−W∗TXx.


### 2.3. Funnel Control

Funnel control [41] is a novel control strategy. By the error transformation, the original tracking error can be transformed into a new error dynamics. Then, the new errors are used to design a control that can guarantee the control error remaining within a predefined boundary.The systemS has the following properties:(i)
Relative degreer=1 or 2(ii)
Minimum phase(iii)
Known high frequency gainThe controller is given as(11)ut=τFφt,ψt,et⋅et,where Fφt is the funnel function and ψt denotes the scaling factor. The distance dvt is defined as(12)dvt=Fφt−et,where et is the tracking error, which is defined as(13)et=xd−xt.Thus, the funnel itself is defined as the set(14)Fφ′≔t,e∈R×Rn|φt⋅et<1.The gainτ⋅ is(15)τFφt,ψt,et=ψtFφt−et.According to [41], the boundary (see Figure 3) is(16)Fφt=φ0⋅exp−at+φ∞,where φ0, φ∞, and a are design parameters and satisfy φ0≥φ∞>0 and e0<Fφ0=φ0+φ∞.Figure 3
Funnel control.A novel funnel variable can be given as(17)zt=etFφt−et.


## 2.1. System Description

This paper considers an-degree-of-freedom (DOF) robotic manipulator, which can be modeled as(1)Mqq¨+Cq,q˙q˙+Gq+dl=dτ,where q, q˙, and q¨ are the robot joint position, velocity, and acceleration, respectively; Mq denotes the inertia matrix, Cq,q˙ represents the Coriolis/centripetal torque, including the viscous friction and nonlinear damping, Gq is the gravity torque, τ is the control input, and dl is the unknown disturbance.For the matricesMq and Cq,q˙, the following properties hold.Property 1.
The matrixM˙q−2Cq,q˙ is a skew-symmetric matrix.Property 2.
The matrixMq is bounded such that 0<Ma≤Mq≤Mb, where Ma and Mb are positive constants.Figure 1
Nonlinear dead zone.Assumption 1.
The dead-zone nonlinearity (see Figure1) can be written as(2)dτ=drτ,ifτt≥br,0,ifbl<vt<br,dlτ,ifτt≤bl,where τt is the control torque, dlv and drv denote unknown smooth functions, and bl<0 and br>0 denote constants.
d
r
τ
t and dlτt can be written as(3)dlv=dlv−dlbldl′ξlv−bl,∀v∈−∞,blwithξl∈−∞,bl,(4)drv=drv−drbr=dr′ξrv−br,∀v∈br+∞withξl∈br,+∞,where di′=dDiξ/dξ|ξ=ξi,i=l,r, denotes the derivative of diξ,i=l,r.
Using (3) and (8), the dead zone is given as(5)dτt=χlt+χrtτt+ρt=dtτt+ρt,where dt=χlt+χrt with(6)χlt=dl′ξl′,ifτt≤br,0,ifτt>br,(7)χrt=dr′ξr′,ifτt≤bl,0,ifτt>bl.


## 2.2. Echo State Neural Network Approximation

The echo state neural network is a novel NN with superior capability to approximate the unknown dynamics. The basic architecture of the ESN is shown in Figure2. The ESN is composed of three parts: (1) K input neurons, N reservoir neurons, and L output layer. The ESN model can written as(8)X˙=C−aX+fWinu+WX+Wbacky,y=GW0TX,where X denotes the reservoir neuron state, C>0 is a time constant, and a represents the leaking decay rate. Win∈RN×K, W∈RN×N, and Wout∈RN×L denote the input weight matrix, the reservoir weight matrix, and the feedback weight matrix, respectively. The ESN can be used to approximate any continuous function fx over a compact domain Ω∈Rm.Figure 2
Basic architecture of the ESN.The functionfx can be expressed as(9)fx=WTΦx+ε,∀x∈Ω⊂Rm,where ε is the estimation error of the ESN, ε≤εm, and W denotes the weight.Therefore,(10)W∗=argminW∈RLsupx∈Ωfx−W∗TXx.


## 2.3. Funnel Control

Funnel control [41] is a novel control strategy. By the error transformation, the original tracking error can be transformed into a new error dynamics. Then, the new errors are used to design a control that can guarantee the control error remaining within a predefined boundary.The systemS has the following properties:(i)
Relative degreer=1 or 2(ii)
Minimum phase(iii)
Known high frequency gainThe controller is given as(11)ut=τFφt,ψt,et⋅et,where Fφt is the funnel function and ψt denotes the scaling factor. The distance dvt is defined as(12)dvt=Fφt−et,where et is the tracking error, which is defined as(13)et=xd−xt.Thus, the funnel itself is defined as the set(14)Fφ′≔t,e∈R×Rn|φt⋅et<1.The gainτ⋅ is(15)τFφt,ψt,et=ψtFφt−et.According to [41], the boundary (see Figure 3) is(16)Fφt=φ0⋅exp−at+φ∞,where φ0, φ∞, and a are design parameters and satisfy φ0≥φ∞>0 and e0<Fφ0=φ0+φ∞.Figure 3
Funnel control.A novel funnel variable can be given as(17)zt=etFφt−et.


## 3. Adaptive Control Design

### 3.1. Controller Design

In this section, we consider the full state information,x1 and x2, is measured, where x1=q1,q2,…,qnT and x2=q˙1,q˙2,…,q˙nT. (Figure 4) Then, the system model can be expressed as(18)x˙1=x2,x˙2=M−1Dτ−Cx1,x2x2−Gx−1−dl.Figure 4
Controller architecture.Step 1.
The tracking errore1 is defined as(19)e1=x1−xd,where xd is the desired trajectory. According to (15), the funnel error can be defined as(20)z1=e1Fφ1−e1.
The time derivative of (20) is(21)z˙1=1Fφ1−e12e˙1Fφ1−e1−e1F˙φ1−e˙1=1Fφ1−e1x2−F˙φ1−e˙1z1−x˙d.
The Lyapunov function is defined as(22)V1=12z12.
Its time derivative is(23)V˙1=z1z˙1=z1Fφ1−e1x2−F˙φ1−e˙1z1−x˙d.
The second error variable is defined as(24)e2=x2−α2.
Substituting (24) into (23), one has(25)V˙1=z1z˙1=z1Fφ1−e1α2+e2−F˙φ1−e˙1z1−x˙d=z1ζ1α2+e2−F˙φ1−e˙1z1−x˙d,where ζ1=1/Fφ1−e1.
An intermediate control signal is chosen as(26)α2=−k1z1ζ1+F˙φ1−e˙1z1+x˙d−e2,where k1 is a design parameter.Step 2.
The time derivative ofe2 is(27)e˙2=x˙2−α˙2.
According to (17), the second funnel error variable can be defined as(28)z2=e2Fφ2−e2.
The time derivative ofz2 is(29)z˙2=1Fφ1−e22e˙2Fφ2−e2−e2F˙φ2−e˙2=1Fφ2−e2x˙2−F˙φ2−e˙2z2−α˙2=ζ2z2M−1Dτ−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2,where ζ2=1/Fφ2−e2.
The Lyapunov function is defined as(30)V2=12z2TMx1z2.
The derivative of (30) is(31)V˙2=z2TMx1z˙2+z2T12M˙x1z2=ζ2z2Tdtvt+ρt−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2+12M˙x1z2=ζ2z2Tdtvt+Fx−α˙2.where Fx=ρt−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2+z21/2M˙x1z2 denotes the unknown term, which can be approximated by using the NN.
The actual controller can be designed as(32)τt=1dt−k2z2ζ2+W^ΦX+α˙2,where W^ denotes the estimation of W, which is defined as(33)W^˙=−Γζ2ΦXz2−σW^,where Γ and σ are design parameters.


### 3.2. Stability Analysis

In this section, we will employ the Lyapunov function to analyse the convergence of the closed-loop system.Theorem 1.
Consider the robotic manipulators (1) with the proposed controller (32), intermediate controller (26), and adaptive law (33), then all the signals of the closed-loop system are bounded, and the tracking error can converge to the prescribed zone.Proof.
A Lyapunov function is chosen as(34)V=V1+V2.
The time derivative of (34) is(35)V˙=V˙1+V˙2.
Substituting (23) and (31) into (35), one has(36)V˙=z1ζ1α2+e2−F˙φ1−e˙1z1−x˙d+ζ2z2M−1Dτ−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2.
Based on (27), (33), and adaptive law (34), one has(37)V˙=−k1ζ1z1−k2ζ2z2+σW˜W^.
Using Young’s inequality, one has(38)σW˜TW^≤−σ2W˜TW˜+σ2W2.
Substituting (38) into (37), we have(39)V˙≤−k1ζ1z1−k2ζ2z2−σ2W˜TW˜+σ2W2≤−ρV+δ,where ρ=min2k1ζ1,2k2ζ2,σ and δ=σ/2W2 are positive constants.
From (39), we know that V is bounded by δ/ρ. Therefore, all the signals of the closed-loop system are semiglobally uniformly and ultimately bounded.
The parameter tuning guidelines are given as follows:(1)
Select the funnel variablesφ0, φ∞, and a, and they should satisfy the initial conditions φ00>φ∞0>0.(2)
Choose the control gainsk1 and k2, and the adaptive law parameters are Γ and σ. In general, they can be set large for the ease of fast convergence. However, practical control systems do not allow using large gains because they may produce oscillations. Hence, they can be chosen based on a trial-and-error method.


## 3.1. Controller Design

In this section, we consider the full state information,x1 and x2, is measured, where x1=q1,q2,…,qnT and x2=q˙1,q˙2,…,q˙nT. (Figure 4) Then, the system model can be expressed as(18)x˙1=x2,x˙2=M−1Dτ−Cx1,x2x2−Gx−1−dl.Figure 4
Controller architecture.Step 1.
The tracking errore1 is defined as(19)e1=x1−xd,where xd is the desired trajectory. According to (15), the funnel error can be defined as(20)z1=e1Fφ1−e1.
The time derivative of (20) is(21)z˙1=1Fφ1−e12e˙1Fφ1−e1−e1F˙φ1−e˙1=1Fφ1−e1x2−F˙φ1−e˙1z1−x˙d.
The Lyapunov function is defined as(22)V1=12z12.
Its time derivative is(23)V˙1=z1z˙1=z1Fφ1−e1x2−F˙φ1−e˙1z1−x˙d.
The second error variable is defined as(24)e2=x2−α2.
Substituting (24) into (23), one has(25)V˙1=z1z˙1=z1Fφ1−e1α2+e2−F˙φ1−e˙1z1−x˙d=z1ζ1α2+e2−F˙φ1−e˙1z1−x˙d,where ζ1=1/Fφ1−e1.
An intermediate control signal is chosen as(26)α2=−k1z1ζ1+F˙φ1−e˙1z1+x˙d−e2,where k1 is a design parameter.Step 2.
The time derivative ofe2 is(27)e˙2=x˙2−α˙2.
According to (17), the second funnel error variable can be defined as(28)z2=e2Fφ2−e2.
The time derivative ofz2 is(29)z˙2=1Fφ1−e22e˙2Fφ2−e2−e2F˙φ2−e˙2=1Fφ2−e2x˙2−F˙φ2−e˙2z2−α˙2=ζ2z2M−1Dτ−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2,where ζ2=1/Fφ2−e2.
The Lyapunov function is defined as(30)V2=12z2TMx1z2.
The derivative of (30) is(31)V˙2=z2TMx1z˙2+z2T12M˙x1z2=ζ2z2Tdtvt+ρt−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2+12M˙x1z2=ζ2z2Tdtvt+Fx−α˙2.where Fx=ρt−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2+z21/2M˙x1z2 denotes the unknown term, which can be approximated by using the NN.
The actual controller can be designed as(32)τt=1dt−k2z2ζ2+W^ΦX+α˙2,where W^ denotes the estimation of W, which is defined as(33)W^˙=−Γζ2ΦXz2−σW^,where Γ and σ are design parameters.


## 3.2. Stability Analysis

In this section, we will employ the Lyapunov function to analyse the convergence of the closed-loop system.Theorem 1.
Consider the robotic manipulators (1) with the proposed controller (32), intermediate controller (26), and adaptive law (33), then all the signals of the closed-loop system are bounded, and the tracking error can converge to the prescribed zone.Proof.
A Lyapunov function is chosen as(34)V=V1+V2.
The time derivative of (34) is(35)V˙=V˙1+V˙2.
Substituting (23) and (31) into (35), one has(36)V˙=z1ζ1α2+e2−F˙φ1−e˙1z1−x˙d+ζ2z2M−1Dτ−Cx1,x2x2−Gx1−dl−F˙φ2−e˙2z2−α˙2.
Based on (27), (33), and adaptive law (34), one has(37)V˙=−k1ζ1z1−k2ζ2z2+σW˜W^.
Using Young’s inequality, one has(38)σW˜TW^≤−σ2W˜TW˜+σ2W2.
Substituting (38) into (37), we have(39)V˙≤−k1ζ1z1−k2ζ2z2−σ2W˜TW˜+σ2W2≤−ρV+δ,where ρ=min2k1ζ1,2k2ζ2,σ and δ=σ/2W2 are positive constants.
From (39), we know that V is bounded by δ/ρ. Therefore, all the signals of the closed-loop system are semiglobally uniformly and ultimately bounded.
The parameter tuning guidelines are given as follows:(1)
Select the funnel variablesφ0, φ∞, and a, and they should satisfy the initial conditions φ00>φ∞0>0.(2)
Choose the control gainsk1 and k2, and the adaptive law parameters are Γ and σ. In general, they can be set large for the ease of fast convergence. However, practical control systems do not allow using large gains because they may produce oscillations. Hence, they can be chosen based on a trial-and-error method.


## 4. Numerical Simulation

In this section, we will employ an example to illustrate the control performance of the developed control method. A diagram of the robotic manipulator system with 2-DOF is shown in Figure5. The robotic manipulator parameters are listed in Table 1.Figure 5
Diagram of the robotic manipulator.Table 1
Parameters for the robotic manipulator.
Parameters
Description
Value
Unit
l
1
Length of link 1
1
m
l
2
Length of link 2
0.8
m
m
1
Mass of link 1
1
kg
m
2
Mass of joint 2
1.5
kg
m
3
Mass of link 2
2
kg
m
3
Mass of actuator
1.5
kgThe system matricesMq, Cq,q˙, and Gq are defined as(40)Mq=αl12+βl22+2γl1l2c2βl22+γl1l2c2βl22+γl1l2c2βl22,Gq=0,(41)Cq=−2γl1l2q˙2s2−γl1l2q˙2s2γl1l2q˙2s20,where α=1/4m1+m2+m3+m4, β=1/4m3+m4, and γ=1/2m3+m4, respectively.The controller parameters are given ask1=5 and k2=10. The adaptive parameters are Γ=10I and σ=0.02. The initial weight W^=0. The initial position of robotic manipulator is chosen as q0=0,0 and q˙0=0,0. The friction term is Fq=15q˙1+6signq˙1;15q˙2+6signq˙2. The funnel function is Fφit=φ0i⋅exp−ait+φ∞i,i=1,2, with φ01=φ02=0.18, φ∞1=φ∞2=0.01, and a1=a2=2. The reference signals are given as q1d=0.3sint and q2d=0.3sint.Figures6–8 depict the simulation results, where the output tracking performance, control actions, and ESN estimation are given. From Figure 6, we can see that the developed control approach can achieve the satisfactory control performance. In addition, we can see that the nonlinear friction can be estimated by using the echo state neural network. From these results, we find that the proposed control method improves the tracking performance of the robotic manipulator.Figure 6
Output tracking.Figure 7
Friction compensation.Figure 8
Control signals.


## 5. Conclusion

In this paper, an adaptive predefined performance control for robotic manipulators in the presence of nonlinear dead zone was proposed. A novel funnel variable was designed based on the tracking error. The new error variable was utilized to design a controller that can guarantee the transient response. A neural network was adopted to estimate the unknown dynamics (parameter uncertainties and nonlinear dead zone), and the approximation was utilized in controller design to compensate the unknown dynamics. An adaptive controller based on funnel control was designed for the robotic manipulator. Both the transient response and steady-state performance of the tracking error are guaranteed.



---

*Source: 6490167-2020-05-12.xml*