home..

Active Disturbance Rejection Control of a 2DOF manipulator with significant modeling uncertainty

August 03, 2025

[!info]

  • Link: PDF
  • Abstract: This paper presents a practical verification of an Active Disturbance Rejection Control (ADRC) method in governing a multidimensional system. The experiments were conducted on a two degrees of a freedom planar manipulator with only partial knowledge about the mathematical model of the plant. This multi input multi output system was controlled with a set of two, independent, single input single output ADRC controllers, each regulating one of the manipulator degree of freedom. Modeling uncertainty (nonlinearities, cross-coupling effects, etc.) and external disturbances were assumed to be a part of the disturbance, to be estimated with an observer and cancelled on-line in the control loop. The ADRC robustness was experimentally compared with the results obtained from using two decentralized, classic PID controllers. Both control methods were tested under various conditions, e.g. changing the inertial parameters of the plant. Significantly better results, in terms of parametric robustness, have been reported for the ADRC approach.

Annotations

%% begin annotations %%

Imported on 2025-08-02 8:43 pm

Interesting but not relevant

[!quote|#ffd400] Highlight the quality of such model-based control systems rely directly on the accuracy of the assumed analytical description which

Page

[!quote|#ffd400] Highlight The ADRC is based on an extension of the system model with an additional and fictitious state variables, representing those elements of the system dynamics that the user does not include in the mathematical description of the plant

Page

[!quote|#ffd400] Highlight we focus on the implementation of the decentalized version of ADRC algorithm for a two degrees of freedom (2DOF) laboratory manipulator2 [15], with its mathematical model limited only to the knowledge of the system relative order

Page 2

[!quote|#ffd400] Highlight In ADRC, the necessary system information is obtained only through the input-output data of the considered plant

Page 2

[!quote|#ffd400] Highlight Two main loops can be distinguished in the original ADRC concept: inner control loop (where the estimated disturbance is incorporated in the control signal) and outer control loop (where the reconstructed states are used in the output feedback controller)

Page 2

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-2-x332-y721.png

Page 2

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-2-x390-y558.png

Page 2

[!quote|#ffd400] Highlight Assuming that f is m-times differentiable

Page 2

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-2-x380-y382.png

Page 2

[!quote|#ffd400] Highlight choosing higher order of m allows user to reconstruct more complex disturbances, since the observer can track (m− 1)-th order polynomial functions. On the other hand, high order ESO makes it more sensitive to noise and more difficult to tune

Page 2

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-2-x366-y116.png

Page 2

[!quote|#ffd400] Highlight β1, β2, . . ., βn, βn+1, βn+2, . . . , βn+m are the observer gains, ǫ := y − ̂x1 stands for the estimation error of state x1, and ̂b is an estimation of parameter b from equation (1), usually chosen explicitly by the user

Page 3

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-3-x125-y632.png

Page 3

[!quote|#ffd400] Highlight u is the output signal from a feedback controller. The type of controller in ADRC is optional, but should be related to a given task and the desired closed-loop behavior of the system

Page 3

[!quote|#ffd400] Highlight Assuming the proper estimation of b (i.e. ̂b ≈ b) and total disturbance (i.e. ̂xn+1 ≈ f ) we can idealistically assume that:

Page 3

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-3-x74-y499.png

Page 3

[!quote|#ffd400] Highlight the observer gains have to be chosen large (in practice however, a compromise has to be made between estimation quality and noise filtering)

Page 3

[!quote|#ffd400] Highlight Thanks to the separation principle, observer and controller tuning can take place independently

Page 3

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-3-x305-y587.png

Page 3

[!quote|#ffd400] Highlight the system describing the estimation error in ESO is asymptotically stable

Page 3

[!quote|#ffd400] Highlight the ESO can estimate the unmodeled dynamics and disturbances

Page 3

[!quote|#ffd400] Highlight In general, the model of PM2R can be written as two scalar equations concerning each of the manipulator’s links: Ij q ̈mj + fj = τmj + τzj − τcj, for j = {1, 2}, (10) where Ij [kg m2] denotes the inertia part of the model, fj [Nm] presents the friction model, τmj [Nm], τzj [Nm], and τcj [Nm] are the driving torques, disturbance torques and cross-coupling torques respectively

Page 4

[!quote|#ffd400] Highlight one independent controller for each degree of freedom (i.e. each DC motor driving the link) was designed

Page 4

[!quote|#ffd400] Highlight The first derivative of total disturbance equals zero (i.e. m = 1

Page 5

[!quote|#ffd400] Highlight a backward Euler discretization method was used

Page 5

[!quote|#ffd400] Highlight A simple PD controller (denoted as u1) was chosen for each ADRC control loop

Page 5

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-5-x391-y617.png

Page 5

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-5-x351-y534.png

Page 5

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-5-x322-y464.png

Page 5

[!quote|#ffd400] Highlight where x ̈d11 is the feed-forward signal6, usf1 is the feedback part (we considered it as a PD controller), kp1 is the proportional gain, kd1 is the derivative gain, error and its derivative are defined as e = qmd1 − qm1 and e ̇ = q ̇md1 − ̂x21, respectively. Signal qm1 is available by the use of an encoder, placed on the motor shaft

Page 5

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-5-x375-y347.png

Page 5

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-6-x321-y154.png

Page 6

[!quote|#ffd400] Highlight To plan a trajectory in the Cartesian space, obtaining the desired state-space signals is necessary, hence the inverse kinematics needs to be implemented. In general, this task is not trivial because of ambiguous solutions obtained by calculations. That is, most of the end effector positions can be achieved with more than one state configuration.

Page 7

[!quote|#ffd400] Highlight Direct kinematics is described with the following equations: x = L1 sin(q1) + L2 sin(q1 + q2), y = −L1 cos(q1) − L2 cos(q1 + q2).

Page 7

[!quote|#ffd400] Highlight The analytical Jacobian matrix for considered system is presented below

Page 7

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-7-x356-y711.png

Page 7

[!quote|#ffd400] Highlight where s1, c1, s12 and c12 are abridged notations of sin(q1), cos(q1), sin(q1 + q2) and cos(q1 + q2) respectively

Page 7

[!quote|#ffd400] Highlight Inversion of this matrix leads to equation:

Page 7

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-7-x401-y616.png

Page 7

[!quote|#ffd400] Highlight In some cases, the JA matrix appears to be singular, so then the inversion procedure is impossible. The phenomenon appears only for short time periods. That is why, it is important to implement a security rule in which the angular velocities stay constant until Jacobie matrix leaves singularity region.

Page 7

[!quote|#ffd400] Highlight Finally, the Jacobian inverse kinematics method is described with:

Page 7

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-7-x366-y492.png

Page 7

[!quote|#ffd400] Highlight where the α parameter is an additional error gain, and was set to 5 Hz

Page 7

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-7-x307-y344.png

Page 7

[!quote|#ffd400] Highlight The ESO can be easily tuned in the considered setup by manualy moving each joint in the both motors idle modes. Once the ESO is estimating all the needed signals with satisfying quality and without unacceptable measurement noises in the higher state variables, then the tunning process of the PD feedback controller can begin

Page 8

[!quote|#ffd400] Highlight We choose the pole to be the central point, i.e. (Ox, Oy). The error is described with following equations: eρ = ρd − ρ, eφ = φd − φ, (28) where ρd [m] and ρ [m] describe the desired and the actual trajectory modulus respectively, while φd [rad] and φ [rad] represent the desired and the actual trajectory phase, respectively. They are obtained with the equations seen below: ρ = √(x − Ox)2 + (y − Oy)2, φ = atan2c (y − Oy, x − Ox) , (29) where atan2c(·) : R2 → R is a two argument, continuous version of arcus tangent function.

Page 8

[!quote|#ffd400] Highlight To depict the quality of path following in means of shape projection, a Curvature Projection Error (CPE) is introduced. The CPE is calculated for each point of the end effector achieved path. All points of the path are subscribed to one of four groups of points, each representing one side of the designed path rectangle. The CPE denotes the distance between the point of the achieved path and the closest point in designed path, with an assumption that both points ought to be located in the same group.

Page 8

[!quote|#ffd400] Highlight Assume that an exemplary point on the path performed by the end effector is given by the following Cartesian coordinates P = (Px, Py). Point on the reference path, which is the nearest to the point P and is a part of equivalent group, is given by: Pref = (Pxref , Pyref ). The CPE graph shows the minimal distances between points P and Pref for all samples of the actual path:

Page 8

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-8-x336-y285.png

Page 8

[!quote|#ffd400] Highlight On the basis of CPE graph, a simple root mean square (RMS) is calculated to measure the magnitude of a varying quantity of the CPE:

Page 8

[!quote|#ffd400] Image Imported_Notes/przybylaActiveDisturbanceRejection2012/image-8-x366-y198.png

Page 8

[!quote|#ffd400] Highlight negative value gives information that the trajectory passes the designed one, which is more frequent for ADRC than PID. In particular cases, this phenomenon might be strongly undesired.

Page 9

[!quote|#ffd400] Highlight The whole idea of using a disturbance observer to perform our “feedback linearization” is to estimate the uncertainties in real time. In theory, the smallest possible sampling time is thus desirable. However, we noticed two drawbacks of decreasing that time in practice. First is the presence of peaking phenomenon in which the initial estimator error is unacceptably large. This effect was analyzed minutely in [22]. Second drawback is the computation power limitation we encountered while working on the DSP board.

Page 11

[!quote|#ffd400] Highlight The MIMO system used in the experiments was treated as two independent plants and for each degree-of-freedom a particular controller was designed. The influence of cross-coupling effect was assumed to be unknown and it was considered as an external disturbance acting on both manipulator links.

Page 11

Interesting but not relevant

[!quote|#e56eee] Highlight These techniques include Disturbance Observer [3], Unknown Input Observer [4], and Perturbation Observer [5]

Page

[!quote|#e56eee] Highlight Model Estimator [2] technique

Page

[!quote|#e56eee] Highlight Time Delay Control [6]

Page

Interesting but not relevant

[!quote|#aaaaaa] Highlight the frequency domain stability analysis for linear plants was presented in [20]

Page 3

[!quote|#aaaaaa] Highlight nonholonomic constraints

Page 4

%% end annotations %%

/* Yellow */ .literature-note .callout[data-callout-metadata=”#ffff7f”] { –callout-color: 255, 204, 0; }

/* Red */ .literature-note .callout[data-callout-metadata=”#ff7f7f”] { –callout-color: 255, 59, 48; }

/* Orange */ .literature-note .callout[data-callout-metadata=”#ffbf7f”] { –callout-color: 255, 149, 0; }

/* Green */ .literature-note .callout[data-callout-metadata=”#7fff7f”] { –callout-color: 40, 205, 65; }

/* Blue */ .literature-note .callout[data-callout-metadata=”#7fffff”] { –callout-color: 0, 122, 255; }

/* Pink */ .literature-note .callout[data-callout-metadata=”#ff7fff”] { –callout-color: 255, 87, 255; }

/* Purple */ .literature-note .callout[data-callout-metadata=”#bf7fbf”] { –callout-color: 125, 84, 222; }

%% Import Date: 2025-08-02T20:43:49.323+03:30 %%

© 2025 Mohammadreza Gilak