1. Introduction
Systems that transform electrical energy into mechanical energy are the basis of modern technology. Electric drives of different types consume about 50% of electric energy production (according to an official website of the European Union Electric motors and variable speed drives (europa.eu)) [
1]. Precise and energy-efficient control of motion plays a fundamental role in all fields of technology, and their effective operation determines the completion of important tasks in production, transport, mining, medicine, bioengineering, etc. A standard assumption underlying typical models of motion transmission systems is that all components consist only of rigid bodies and ideal couplings. Under this assumption, the position and velocity of the load are the same as the position and velocity of the motoring shaft. Unfortunately, this is an idealized situation that may be considered valid only in the case of slow motion and small interacting forces/torques. In general, mechanical flexibility is present in most motion transmission systems. This introduces static and dynamic deflections between the position of the driving actuators and the position of the manipulated part. Such a drive system can be modeled as a so-called two-mass system. The motoring part (the first mass) is connected by a flexible joint with the manipulated part (the second mass). Numerous applications are based on the two-mass model, and some of them are rolling mill drives [
2], conveyer belt drives [
3], cage-hoist drives [
4,
5], drilling rigs used in oil and gas explorations [
6,
7], some special drives used in textile [
8] and paper machines [
9,
10], space antennas [
11,
12] and space manipulators [
13,
14], CNC drives [
15], wind turbines [
16], microelectromechanical systems (MEMS) [
17], robotic manipulators with flexible joints [
18], electric drives using harmonic reducers [
19] and planetary gear powertrains [
20,
21]. Among the above-mentioned applications, manipulators with flexible joints are of particular interest. First, the two-mass model well reflects the behavior of a single manipulator segment. Second, potential implementations are wide and include not only industrial robots but also medical, rehabilitation, space and human-cooperating manipulators.
The mechanical flexibility of robotic manipulators is introduced by two main factors: the use of compliant transmission elements and the flexibility of links. In some applications (for instance, space manipulators), a reduction in the mass of the links is so important that the flexibility of the link caused by a slender construction or the application of lightweight materials is accepted. Normally, the flexibility of industrial manipulators results from the use of flexible joints. Numerous examples of robots with flexible joints are reported in [
22]. Mechanical flexibility is common, when motion reduction is performed by belts, long shafts, cables, harmonic drives and cycloidal gears. Recently, flexible transmission elements have also been deliberately included in the construction of direct-drive robotic joints using fast, permanent magnet motors. Some of them are used to reduce rotation axis misalignment, improving reliability and extending the lifetime, whereas others are aimed at improving the safety of robot–human cooperation and modifying the movement of the robot arm. There are multiple constructions of such elements, and different materials are used. For instance,
Figure 1a presents a simple coupling with a polymer insert. Refs. [
23,
24] describe the construction of a Variable Stiffness Actuator (VSA), and ref. [
25] presents a concept of serial elastic actuation that utilizes one or more series elastic elements to intentionally improve the dynamic and control properties of the system.
For all these constructions (and numerous others modeled as a two-mass system), it is common that the torque transmitted by a flexible joint cannot be modeled as proportional to the torsion angle. It is rather represented by a ‘stiffness curve’, which is a significantly nonlinear although monotonically increasing convex or concave curve. This observation is also confirmed by the experiments reported in this paper.
Other phenomena that strongly affect position control are any torques affecting both sides of the joint. Their main source is friction, and in this case, they oppose movement. However, they can also come from gravitational forces and other interactions related to the specific task performed by the two-mass system. These highly nonlinear torques, together with the flexibility of the joint, are the reason for the most important problem: torsional oscillations that impair the precision of position control and may cause breakdowns and damages.
Therefore, the main challenge for the position controller for a two-mass system presented here is to assure sufficiently precise position tracking, despite the following:
Unknown or changing parameters of the motor, the load and the joint;
Unknown nonlinear torques acting on both sides of the flexible joint;
An unknown nonlinear “stiffness curve” describing the transmitted torque as a function of the torsion angle.
We consider a two-mass model to demonstrate the derivation and the features of the obtained controller, but the proposed derivation can be generalized to a multi-degree-of-freedom case. Finally, an appropriate real plant (an arm moved by a flexible shaft connecting it with a permanent magnet synchronous motor) is used to demonstrate the practical applicability of the proposed approach.
Almost all existing solutions for the position control of a two-mass drive with a flexible shaft assume that the stiffness coefficient is constant and the transmitted torque is proportional to the torsion angle. Early works come from the 20th century and are mostly based on linear control theory: PD control, PD with gravity compensation and full-state feedback. The development of the nonlinear control theory resulted in the application of its achievements. The feedback linearization approach and passivity-based approach were the first to be applied to position control but were based on the exact model of the plant. An extensive bibliography of the subject is discussed in [
22]. Some more recent approaches to the design of controllers for two-mass systems include the linear quadric regulator (LQR), root locus, etc. [
26]; artificial intelligence-based methods—artificial neural networks [
27], linear model predictive control [
28] and fuzzy controllers [
29]; and nonlinear control techniques—nonlinear neural networks [
30,
31], adaptive nonlinear control [
32,
33,
34] and the wave-based disturbance observer approach [
35]. The control of a robotic arm with a flexible joint is still a challenging topic, and new publications keep popping up. Among very recent papers, in [
36], a kind of external linearization is used that requires an arm-mounted accelerometer. Ref. [
37] considers the impact of measurement errors on the nonlinear control of a flexible-joint robot. Ref. [
38] is among a few studying nonlinear friction. In [
39], position tracking in a two-mass system is solved with a concept founded on a robust observer design based on a linear matrix inequality (LMI) solution. The observer cooperates with the original nonlinear controller.
None of these papers take into account the nonlinear nature of stiffness. A recent paper [
40] refers to nonlinear stiffness but is devoted to the development of a desired velocity-tracking controller. Therefore, here, we present a novel controller that
Solves a position tracking problem for a two-mass drive with a flexible joint;
Takes into account a nonlinear ‘stiffness curve’ of the joint and takes advantage by using it for control purposes;
Operates correctly in the presence of unknown nonlinear torques acting on both sides of the joint;
Operates correctly even if all plant parameters are unknown.
The derivation of the controller is based on nonlinear adaptive control theory, and a proof of the uniform ultimate boundedness of tracking errors is presented. The simplicity of the obtained controller was an important aim of the proposed approach. It was obtained by eliminating some loops in a backstepping-like design. The dynamic surface approach (command control filtering) was used to calculate the derivatives of virtual controls with linear filters, instead of analytically. This prevents ‘the explosion of complexity’ in the resulting expressions describing the controller. The second-order filters proposed here enable smoother control. Thanks to a well-thought-out derivation, we obtained a control algorithm that can be implemented in a DSP processor.
The derived controller was implemented with a DSP in a real control plant. The constructed laboratory stand imitates a joint with nonlinear stiffness characteristics. The impact of important factors omitted during the design, such as the sampling time, unmodeled dynamics, quantization, etc., was investigated and discussed. It was demonstrated that the implemented controller is able to operate correctly even if the characteristic of the joint is changed. All conducted experiments are an important part of the presented novel result, prove the value of the derived control algorithm and testify to the possibilities of its practical use.
Finally, we compare the proposed approach with one of the recent solutions presented in [
41,
42] and demonstrate that we are able to obtain smaller tracking errors.
2. Plant Model and Problem Statement
Modeling a two-mass system can be achieved using several approaches. If the shaft is long, axial, torsional and lateral vibrations occur, and distributed parameter models are recommended [
43,
44]. If delays connected with the oscillatory waves traveling through the shaft are significant, neutral-type time-delay models [
45,
46] can be applied. But in numerous applications such as robotic manipulators (and many others), when the flexible joint is very compact, lumped parameter models obtained from Euler–Lagrange equations are fully adequate.
Direct-drive permanent magnet motors commonly used in advanced two-mass drives are very fast. Therefore, it is possible to assume that the torque/current control loop operates approximately as a proportional element and that the desired current is an actual control input of the plant. Of course, robustness against the unmodeled current control loop dynamics should be investigated.
The assumption that both the motor and arm positions are measured is a little restrictive, but it is possible in numerous applications. For instance, more and more commercially available complete robotic joints offer this opportunity (see TECHSOFT ROBOTS, Sierramotion, Celera, etc.).
Friction is modeled as a nonlinear algebraic function of velocity, for instance, the Stribeck curve, which is commonly acceptable [
38].
The damping of the joint is assumed to be negligible. Finally, nonlinear stiffness is modeled, according to the literature and our own experiments, as a nonlinear monotonically increasing convex or concave curve with unknown parameters.
All these remarks justify the selected model of the two-mass drive presented below.
A load (for instance, a robotic arm) is modeled as a rigid body, according to Newton’s dynamic principle:
where
denotes the angular position of the load,
denotes the angular velocity and
is the unknown inertia of the load. The remaining components in Equation (1) represent the torques influencing the load. Thus,
represent the friction affecting the motion of the load. Parameters
are unknown. Function
is used to model the nonlinear part of friction, for instance, to introduce the Stribeck curve effect. Component
where the coefficient
is unknown, characterizes the torque caused by any external forces, like gravitation, etc. For instance, if the load is an arm situated as in
Figure 1b and works against gravity, we have
. Of course, it is possible to use more than one unknown parameter to parameterize each of the torques affecting the motion, but one parameter for each component representing the torque of a different physical nature is enough because, finally, all components form a scalar function in Equation (1).
The propelling torque in Equation (1), transmitted by a flexible joint, is represented by
, where
stands for the torsion angle caused by a flexible joint or shaft; it is the angular displacement between the motor shaft position
and the load position.
This torque is modeled as a linear combination of a linear and nonlinear component:
with unknown coefficients
, where the derivative
is bounded. It is assumed that the damping in the flexible joint is negligible, so no torque proportional to
appears in Equation (1).
Finally, the motoring part of the drive is described by
where
is the motor angular velocity,
is the motor inertia,
represents the motor friction analogously as in Equation (1) and
is the propelling torque, proportional to the reference motor current
. This assumption is valid for permanent magnet synchronous motors (PMSMs) with surface-mounted permanent magnets (where q- and d-axis inductances are equal) or for interior permanent magnet construction if the d-axis current reference is zero. Parameters
and
are unknown. The proposed model is a nonlinear two-mass system with unknown parameters. It includes a nonlinear stiffness characteristic and nonlinear friction acting on both sides of a flexible joint. All parameters are unknown, but of course, some estimations that can be used as the starting values of adaptive parameters could be useful. The reference current
is the input signal to the current control loop, including a fast PI controller, so we can assume that the actual current
equals the desired value
and that the electromagnetic torque is proportional to the desired current.
The control’s aim is to follow a desired smooth position trajectory with the actual load position , despite the unknown parameters.
3. Adaptive Controller
Let us define the tracking error as
and the augmented tracking error as
The tracking error
is the response of the inertial filter with the transfer function
to the input
, so the filter time constant
is the first design parameter. The controller is derived in a recursive way, leading to successive control loops.
It follows directly from Equations (1) and (6) that
After introducing notation
and assuming that the unknown parameter
is substituted by the adaptive parameter
, where
represents the adaptation error, Equation (7) is transformed into
and finally into the abbreviated form
where
is the vector of the unknown parameters and
is formed by known functions. The unknown parameters
are substituted by the adaptive parameters
, and the error of adaptation is denoted by
. The signal
(a virtual control in Equation (9)), is shaped to follow the desired trajectory
(a stabilizing function) to stabilize Equation (9). The gap between
and
is denoted by
Therefore, Equation (9) is considered in the form
The stabilizing function is selected as
where
is the design parameter responsible for the final dynamics of the signal
Component
in (14) is supposed to cancel
in (13), and
is used to stabilize
After plugging in the stabilizing Function (14) into Equation (13), we obtain
Next, the dynamics of the error
must be considered. Instead of deriving an analytical form of
(necessary to find
), to avoid an ‘explosion of complexity’, we introduce a second-order linear filter, the first of two we plan to use, described by
To make the design clearer, parameters
are selected so that the filter characteristic polynomial
possesses a double real negative pole
. In this case,
represents the filter time constant, and the characteristic polynomial becomes
. In Equation (16), we have
,
,
. As the transient of the filter vanishes,
tends to
, so
tends to
. We introduce the following new variables:
The dynamic of the variables in (17) can be described by
Equation (18) can be rewritten in the following form:
where
and
.
After multiplying both sides by
, we have
and
is a continuous function of variables
as well as of some other variables,
and
, which are defined during the derivation of the controller. On any compact set, the function
is bounded. In addition, since
decreases with decreasing
, for sufficiently small
(
), we have
, and
does not depend on the filter parameter
.
Instead of investigating the error
, we define the filtered error as
which, because of (12) and (17), differs from
by component
:
The substitution of (22) into (15) provides
Next, using Equations (1), (2), (4) and (22), the behavior of
can be described by
We try to shape
(virtual control) to stabilize
. The desired trajectory for
is denoted by
, and the tracking error is denoted by
. Therefore,
The stabilizing function
is supposed to stabilize the system described by Equations (23) and (25); hence, it is selected as
where
is the next design parameter responsible for the dynamics of
The subsequent components in (26) are supposed to cancel unnecessary components in (25) or stabilize systems (23) and (25), as becomes clear during the final Lyapunov function investigation. The factor
should be kept as far from zero as possible to avoid singularity and high values of
, and this is assured by the proper adaptation of parameter
. Under the stabilizing function
defined in (26), the dynamics of
given by Equation (25) are reduced to
so both components,
and
, work for the stabilization of
At the final stage of the design procedure, an investigation of
is necessary, requiring the derivative of
Again, analogous to the previous stage, to avoid an ‘explosion of complexity’, the derivative is calculated with another filter defined by
Parameters
are selected so that the filter characteristic polynomial
possesses a double real negative pole
. In this case,
represents the filter time constant, and the characteristic polynomial becomes
. In Equation (28), we have
,
,
. As the transient of the filter vanishes,
tends to
, so
tends to
. We introduce the following new variables:
The dynamic of the variables in (29) can be described by
Equation (30) can be rewritten in the following form:
where
and
.
After multiplying both sides of (31) by
, we have
and
is a continuous function of variables
,
. On any compact set, the function
is bounded. In addition, since
decreases with decreasing
, for sufficiently small
(
), we have
, and
does not depend on the filter parameter
.
Instead of investigating the error
, we define the filtered error as
which differs from
by a constrained component:
The substitution of (34) into (27) provides
The transient of
, which evidently affects
, is described by the following derivation using Equation (4):
and can be abbreviated to
where
The vector of unknown parameters
is substituted by adaptive parameters
, and the error of adaptation is denoted by
The motor current, generating the propelling torque, must stabilize the complete system described by Equations (23), (35) and (37). Therefore, the control signal
is selected as
where
is a design parameter, and using Equation (40), (31) transforms into
We introduce the notation
. The closed-loop system is described by differential Equations (20), (23), (32), (35) and (41). We must also design adaptive laws describing the behavior of adaptive parameters
and
, as well as the dynamics of adaptation errors
. The state variables of the closed-loop system are
. Therefore, final conclusions regarding the stability of the closed-loop system are derived from the analysis of the Lyapunov function, which, taking into account the right sides of Equations (23) and (41), is selected as
The Lyapunov function is parameterized by
and positive definite matrices
and
. Parameters
are design parameters and are used to tune adaptive laws, but matrices
are not used in the controller equations and can be defined arbitrarily. This is shown in
Appendix A, proving the main theorem. Parameters
and
, which appear in the Lyapunov Function (42) (corresponding with the form of Equations (23) and (41)), are unknown but positive, and this is sufficient to prove the stability, as shown in
Appendix A.
Finally, the selection of adaptive laws describing the behavior of the adaptive parameters completes the derivation of the controller. We use robust adaptive control laws for
and
:
with small positive ‘leakage parameters’
.
Special care is required for the adaptation of
because it appears in the denominator of the stabilizing Function (26). Therefore, we use a projection operator:
with parameters
and
. This adaptive law guarantees that
and that
Parameters
must be selected carefully to assure that, for a certain
,
The following theorem formulates conclusions regarding the stability of the closed system and authorizes the use of the derived adaptive control.
Theorem 1. The controller defined by stabilizing functions (14) and (26), filters (18) and (30) and the control (40), together with adaptive laws (43) and (44), ensures that the load position tracks any sufficiently smooth desired trajectory and that the tracking error is SGUUB (semiglobally uniformly ultimately bounded [47]), despite the parameters of the model (1)–(4) being unknown. All closed-loop signals are bounded. The proper choice of design parameters allows narrowing the set of attraction for uniformly ultimately bounded trajectories. 4. Experimental Verification
4.1. Laboratory Stand
The laboratory stand used to verify the proposed controller is presented in
Figure 2a.
The robotic arm (#1) is propelled by a permanent magnet synchronous motor AKM2G-41-P (#2) manufactured by Kollmorgen (Marengo, IA, USA). The flexible joint is completed by a polyurethane short shaft (#3) (length 45 mm, diameter 18 mm) and two elastic couplings. The arm position is measured by an encoder LIKA C80 (#4) (by Lika Electronic, Carrè, Italy). The motor position is measured by the built-in motor encoder. The resolution of both encoders is . The motor is controlled by a PWM inverter controller AKD-T02406 (Kollmorgen, Radford, VA, USA) using only the current control loop, with the desired current as the plant input. It is initially assumed that the current control loop works perfectly, so The feedback signals are encoder outputs. The motor and arm angular velocities are calculated from the encoder data by inertial differentiating filters with time constants of (for the motor) and (for the arm). The complete adaptive algorithm is implemented with MicroLabBox DS1202 (dSPACE GmbH, Paderborn, Germany).
4.2. Plant Modeling
The model (1)–(4) of the plant was compared with the measurement results. The final model parameters were tuned after performing several step response experiments and curve fitting via genetic optimization. This was performed using the Simulink and Optimization and Global Optimization toolboxes from Matlab ver. 2020a. But first, the structure of the model and the initial values of the parameters must be selected.
One can expect that the friction affecting the motor and the arm is quite a complicated nonlinear phenomenon, especially for small velocity values. Unfortunately, the identification of a complete Stribeck curve, which definitely comes out in real bearings, requires tedious experiments with precise velocity measurements. Therefore, for design purposes, the friction model is simplified to the form for the motor and, analogously, for the arm.
The current control loop is simplified to a proportional block , and the torque constant in Equation (4) is known from the motor data: . This can be a good initial guess for the unknown . Although no adaptive parameter represents explicitly, appears in the set of parameters , which are substituted by adaptive parameters .
Because of the position of the drive, the action of gravity is modeled by .
The transmitted torque model (3) is slightly modified to include the damping:
The step responses of the drive were determined for the constant desired currents
, corresponding to steady-state torques from
to
. For each experiment, the steady state values of positions
were recorded, and the corresponding transmitted torque was calculated. The obtained data points are presented in
Figure 2b. The linear mean square approximation of the obtained data by
provides
for the medium shaft,
for the hard shaft and
for the soft shaft. The obtained stiffness characteristics
are plotted in
Figure 2b. The stiffness curve was identified several times for a new shaft and after several periods of exploitation of the drive. The shape of the curve remained unchanged, and the identified parameters agreed with the limits of numerical precision. The external temperature may have had some influence on the stiffness curve parameters, but the adaptive control algorithm derived here was able to compensate for such changes.
The stiffness of the shaft has a decisive influence on the behavior of the drive, which is shown in
Figure 3, presenting the angle of the shaft torsion during the step response for different couplings.
The initial values of parameters
,
,
,
,
,
and
were obtained from the motor data and geometry of the arm. The final values of parameters were calculated from the step responses of the open-loop drive via curve fitting with genetic optimization. The initial and the final values of parameters are presented in
Table 1. The medium flexible shaft was used during those experiments.
The obtained model of the drive was compared with the data obtained from the open-loop experimental system. In
Figure 4, the measured position of the motor and the shaft is compared with those calculated by the model.
Figure 5 demonstrates the model and the plant response for a variable frequency signal
; the frequency is changed logarithmically from 0.1 Hz to 100 Hz.
The presented experiments can be summarized by stating that the accuracy of the obtained model is sufficient but not perfect.
4.3. Numerical Experiments
Before implementing the derived adaptive controller for the real drive, several simulation experiments were conducted to tune the parameters initially and to test the main features of the controller. The simulations were performed using Simulink ver. 10.1. This software allows the generation of code executable by an dSPACE DS1102 DSP board (dSPACE GmbH, Paderborn, Germany). The controller parameters are collected and described in
Table 2.
During the first simulation, the plant was modeled by Equations (1)–(4) with the parameters obtained in
Section 4.2. The arm was supposed to track the desired position trajectory
. This demonstrates the typical operation of a robotic servo. The initial values of the adaptive parameters were selected as zero, thereby modeling the complete ignorance of the real parameters. The remaining controller parameters were taken from
Table 2. As demonstrated in
Figure 6, the system operates properly—all errors approach zero (actually, ~
for t > 1000 s because of a rather large filter time constant).
The history of the adaptive parameters referred to the exact values, i.e.,
(./ stands for element-wise division) is presented in
Figure 7. The adaptive parameters, as demonstrated in
Figure 7, approach the exact values if the leakage parameters
are zero, which proves that the controller is properly derived. This is a typical feature of non-robust adaptive laws in the presence of persistent excitation. But in this case, the adaptation is performed by a pure integrator, and this may result in the uncontrolled drift of the adaptive parameter in a real system. Therefore, small positive leakage parameters
are used, which stabilize the adaptive laws (43)–(44), but in the case of very small tracking errors, the adaptive parameters approach zero. This is demonstrated in
Figure 8. In a real system, the convergence of adaptive parameters to exact values is not as important as robustness. It is critical that the adaptive parameters remain bounded during the whole transient, as demonstrated in
Figure 7 and
Figure 8. The current also remains inside the constraints imposed by a real motor.
The controller was derived for a plant without damping in the shaft:
. The same controller was applied for the plant with damping (
It is visible in
Figure 9 that the closed-loop system is robust in the presence of such unmodeled damping; the resulting quasi-steady-state error (oscillating slowly) is smaller than four times the encoder resolution. In a real system, we can expect more disruptive factors like discretization, on-line differentiation, unmodeled friction, etc.
The subsequent experiments investigated the robustness against possible errors in the stiffness modeling. The selection of the approximating function used in the control algorithm is always an arbitrary decision, and one can wonder how much it influences the closed-loop system’s performance. Therefore, we consider three cases: when the stiffness characteristics of the plant is linear (), convex () and concave (. For each of these three cases, the following models were used in turn in the control algorithm:
, which means that the controller does not attempt to compensate for the stiffness nonlinearity;
, which means that the controller is able to compensate for the stiffness nonlinearity exactly, if the adaptive parameters are tuned properly;
, which means that the controller uses the wrong nonlinear model to compensate for the stiffness nonlinearity of the plant.
The RMSE for the tracking error
calculated for an interval of 20 s during a quasi-steady-state for all nine combinations is presented in
Table 3. The initial value of the adaptive parameters was zero for all cases. The plots corresponding to the values presented in
Table 3 are given in
Figure 10.
If the plant stiffness characteristics are linear, it is not necessary to include a nonlinear model in the controller, so it is not surprising that all three controllers perform similarly. Simply, adaptive parameters corresponding to are kept close to zero.
If the plant stiffness characteristics are nonlinear, it is smart to include any nonlinear model with similar characteristics. If the model is properly guessed (, the RMSE is the smallest. If the model is inaccurate (), the RMSE is twice as big, but the error waveform is similar. If the model neglects the stiffness nonlinearity (), the RMSE and the amplitude of the error are 10 times bigger.
4.4. Real Experiments
After carrying out the numerical experiments, the proposed controller was implemented in a real controller with a real plant. Of course, it is impossible to obtain exactly the same results in a real plant like in a simulation. Many additional factors, such as the coupling elasticity, nonlinear current–torque characteristics and unmodeled friction, affect a real plant. The parameters of the controller were the same as those during the simulation (
Table 2) except
. Real experiments were carried out for three shafts differing in stiffness (
Figure 11). It is assumed that the initial values of the adaptive parameters
are zero. The initial values of the adaptive parameters concerning the motor were taken from the documentation. The initial values of the parameters of the elastic shaft were also equal to zero, so
and
.
Examples of plots collected during the run of the robotic arm are presented below.
Figure 12,
Figure 13 and
Figure 14 demonstrate the tracking error
for different shafts. After the initial part of the transient, the error
reaches a quasi-steady state. In the steady state, the error does not exceed 0.1 [rad] for the soft shaft and 0.05 [rad] for the hard and medium shafts. The adaptive parameters remain bounded, as demonstrated by the plots of
. A comparison of angles
and
indicates that the torsion angle of the shaft reaches up to 3 [rad], so the shaft works in the nonlinear part of the characteristic, as shown in
Figure 2b. The upper figures demonstrate the complete tracking history: the transient, the period of fast-changing adaptive parameters and the quasi-steady state with almost constant adaptive parameters. The lower figures present the initial period of the position and current time history. After 15–30 s, the plots of the desired and actual values overlap.
4.5. Comparison with Previous Results
The controller derived in this paper (denoted by AB) was compared with the other one (denoted as PP):
Controller PP is derived from a linear model of the drive. Gains
were selected to place the closed-loop poles at [−20, −30, −40, −50]. This control concept was presented in [
42] and modified in [
41]. Our modification relies on using pole placement to calculate the gains. The original approach, based on the inertia of the load, provides a very slow response for the drive. The selection of the poles’ positions was motivated by obtaining a fast a-periodical transient with gains that are acceptable in a real plant, as was achieved using the AB controller. Both controllers, PP and AB, use the same measured outputs of the drive. Controller PP is not an adaptive one, and its operation without accurate drive parameters is impossible.
The operation of the controllers was compared using reference signals, as presented in
Figure 15. First, simulations for the medium shaft (
) were performed for different stiffness characteristics: linear (
) and nonlinear (
). The results are presented in
Table 4.
As follows from the data presented in
Table 3, if the stiffness characteristics are linear, the operation of both controllers is similar. In the case of nonlinear stiffness, the controller derived here (AB) outperforms PP, achieving an RMSE that is three times smaller. Next, both controllers were tested with a real drive. As demonstrated in
Figure 15, the controller derived here provides an amplitude for the quasi-steady-state tracking error that is twice as small. Moreover, the tracking accuracy is continuously improved when the adaptation goes on.
The tracking accuracy of the PP controller deteriorates if the nonlinear stiffness appears (despite all other parameters being known exactly), and the adaptive controller AB keeps the tracking error low.
Also, for the real plant, when many parameters are not known precisely and many other factors deteriorate the performance of both controllers, the AB controller outperforms the PP controller, offering a better tracking quality with the same measurements and motor current constrains.
It was checked whether the operation of each controller could be improved by better selection of the parameters. For the same reference as in
Figure 15, and taking into account encoder quantization, each controller was optimized using the Matlab Global Optimization toolbox from Matlab ver. 2020a (procedure gamultiobj). For the PP controllers, the decision parameters were the poles’ positions (each inside the interval [−200, −10]), and for the AB controller, the parameters were
,
,
,
(within [0.01, 200]). The objectives were the tracking RMSE (as in
Table 4) and
, where
is the time required to perform a revolution of
. Multicriterial genetic optimization was performed with the parameters of PopulationSize = 100 and MaxGenerations = 50. The obtained Pareto fronts are presented in
Figure 16.
It is visible that, if the PP controller is used, decreasing the tracking error requires much higher energy consumption. In addition, smaller values of the tracking RMSE are unavailable because of current constraints, and the AB controller achieves a smaller tracking RMSE with practically the same current. Also, the comparison of the current plots corresponding to the same tracking RMSE proves the superiority of the AB controller over the PP one.
5. Conclusions
A new, adaptive, position-tracking controller for a two-mass drive with a flexible joint possessing a nonlinear stiffness characteristic is presented. The control was derived in a strictly mathematical manner and tested via implementation in a DSP system controlling a real drive.
The derived nonlinear adaptive controller ensures accurate tracking of the desired position despite the unknown parameters of the motor and the load. It operates correctly, even if the applied joint is very flexible, allowing for high torsion angle values. It is shown that taking into account the nonlinear stiffness characteristics allows for a several-fold reduction in the tracking error, compared to the results obtained assuming that the stiffness coefficient is constant and that the transmitted torque is proportional to the torsion angle.
The application of several smart design techniques, such as using an augmented tracking error, virtual control command filtering and robust adaptive laws, allowed for the simplification of the controller and enabled its implementation in a real plant using a DSP processor. It was demonstrated that the implemented controller is robust against discretization and modeling errors, concerning friction, shaft damping, current–loop dynamics, etc. Second-order differentiator filters used to compute virtual control derivatives enabled smoother control, although this approach complicated the derivation compared to the first-order filter technique. The experiment proved that the adaptive mechanism is strong enough to cope with changing the flexible joint to another with different characteristics.
Of course, some decisions, like the type of adaptive laws used, tuning techniques, etc., are arbitrary, and further research can be conducted on their impact on the overall system performance.