Next Article in Journal
Determining the Social, Economic, Political and Technical Factors Significant to the Success of Dynamic Wireless Charging Systems through a Process of Stakeholder Engagement
Next Article in Special Issue
A Comparative Study and Optimization of Switching Functions for Sliding-Mode Observer in Sensorless Control of PMSM
Previous Article in Journal
Enhancing Monitoring and Control of an HVAC System through IoT
Previous Article in Special Issue
Compensation of Torque-Producing Stator Current Error for Vector-Controlled Induction Motor Drives
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Finite-Time, Robust, and Adaptive Motion Control with State Constraints: Controller Derivation and Real Plant Experiments

by
Marcin Jastrzębski
,
Jacek Kabziński
and
Przemysław Mosiołek
*
Institute of Automatic Control, Lodz University of Technology, 90-537 Lodz, Poland
*
Author to whom correspondence should be addressed.
Energies 2022, 15(3), 934; https://doi.org/10.3390/en15030934
Submission received: 19 December 2021 / Revised: 20 January 2022 / Accepted: 21 January 2022 / Published: 27 January 2022
(This article belongs to the Special Issue Applications of Modern Methods to Control of Electric Drives)

Abstract

:
The paper refers to one of the most important problems in industrial automation and robotics—effective motion control in the presence of state variable constraints. A new, nonlinear, adaptive, robust, and practically applicable motion controller for a motor-driven servo is proposed. The developed controller guarantees that the transient of the motion is practically finished in a predefined time, and after this moment, the desired motion trajectory is tracked with specified accuracy, inviolable, time-variable constraints imposed on the position and the velocity are preserved, and all these features are robust against disturbances and violations of the system’s parameters. This approach, distinguished by the fact that the settling time and the quasi-steady-state tracking accuracy are explicitly available design parameters, has never been described before. The controller is based on a special type of time-varying barrier Lyapunov function (BLF), responsible for the finite-time tracking and for meeting the constraints. The derivation of the controller is based on Lyapunov stability theory. A mixture of robust adaptive, nonlinear control techniques is applied to prove the system’s stability. Numerous simulations and experiments with a real permanent-magnet motor- driven servo prove the practical applicability and usefulness of the presented approach.

1. Introduction

The main aim of this paper is to develop a new, nonlinear, adaptive, robust, and practically applicable controller for a motor-driven servo mechanism.
Servo drives are ubiquitous in numerous industrial applications, including CNC machines [1], robotic manipulators working in various industries including space applications [2], and all branches of industrial automation. Servo systems are commonly met in everyday life, starting from home and office automation to medical applications. There is no exaggeration in saying that the modern economy depends on the smooth running of the countless servo systems operating constantly around the world. A single, statistical servo consumes less energy than a single motor continuously propelling a manufacturing machine or a vehicle, but the great number of servos used means that the efficient control of each of them strongly influences global energy consumption and the energy efficiency of an industrial plant.
The main goal of each servo drive is to follow the assumed trajectory of motion (i.e., the desired position in time) with the prescribed accuracy. Practical implementation of the controlled servo usually requires that several additional conditions must be satisfied. State constraints must be preserved in any practically operating servo. In numerous applications, keeping the position and velocity inside hard constraints is a matter of safety. Moreover, the achievable control performance is limited by the specific features of the hardware. For instance, the finite encoder resolution limits the feasible tracking accuracy, and the highest possible propelling torque or force constrains the available acceleration. Therefore, all these practical conditions should be considered and included in the controller design procedure.
From a practical point of view, it is desirable that:
  • the transient of the motion can be considered finished in the given time, which may be determined in advance;
  • after this moment, the desired motion trajectory is tracked with a prescribed accuracy in the quasi-steady-state mode of the operation;
  • all the time, starting from the initial conditions, during the transient and in the quasi-steady-state, the inviolable, time-variable constraints imposed on the position and the velocity are preserved;
  • all these features are robust against violations of the system’s parameters and external disturbances.
The controller proposed in this paper guarantees that the above four conditions of the practical, finite-time servo control are met.
It is commonly accepted that a nonlinear load with unknown parameters, nonlinear friction, and the nonlinear characteristics of transmission devices are the main factors that affect the motion precision and may cause a risk of constraint violations. Therefore, it is commonly accepted that the nonlinear and adaptive control of servo systems outperforms the linear control techniques used in the previous century. The list of nonlinear control techniques applied for the servo control is almost endless. Some of them, recently used, include adaptive backstepping [3], numerous applications of neural networks [4], disturbances observers and compensation [5], sliding mode control [6], data-driven control [7], fractional controllers [8], learning control [9], model predictive control [10,11], and many others. Despite such vivid academic interest in the problem, new, improved, and practically applicable solutions are still needed. In particular, controllers guaranteeing practical finite-time control with full state constraints (in the sense defined by four postulates above) are still in demand.
State constraints may be achieved by a model predictive approach [12], but the two most prospective techniques are: (1) a nonlinear state transformation [13,14,15] and (2) the use of barrier Lyapunov functions (BLF) [16,17,18,19,20]. Constraints imposed on state variables may be constant [17] or changing in time [18,19,20]. A BLF approach usually requires some strict feasibility conditions.
The finite or fixed time control of nonlinear systems is based on the so-called semi-global practical finite-time stability conditions [21,22]. If the Lyapunov function V is applied, this condition requires that the Lyapunov function derivative V ˙ fulfills the inequality V ˙ α V p β V q + ρ where α > 0 ,   β > 0 ,   0 < q < 1 ,   p 1 . The unknown constant ρ > 0 represents system uncertainties or disturbances and, if ρ > 0 , although finite-time stability is guaranteed, the settling time and tracking accuracy depend on this unknown ρ . The Lyapunov function V applied to prove finite-time stability can be a BLF, so finite-time control with state constraints is also possible [23,24]. Some recent results are presented in [25,26], but still, the achieved tracking accuracy depends on unknown system parameters and unstructured disturbances are not allowed. The settling time is a complicated function of design parameters and initial conditions, and it is difficult to define it in advance before checking complicated feasibility conditions.
The so-called funnel control [27,28] is an alternative to the BLF approach. This high-gain control is able to stabilize all systems of a certain class by using adjustable proportional gain and keeping the tracking error inside an exponential envelope. The tracking error achieves the final accuracy exponentially, not in a finite time [29,30,31].
The controller proposed in this paper offers design possibilities and guarantees a servo operation not available from the approaches described previously:
  • a designer is able to impose a finite transient time and quasi-steady-state accuracy for the position tracking error as well as for the velocity tracking error;
  • inviolable constraints around the desired position and velocity trajectory are met during the whole operation of the servo;
  • the design is based on a simple servo model including nonlinearities with unknown parameters and unstructured disturbances with an unknown bound and the results are robust against these uncertainties.
Such features of the control system were achieved by using a specially designed BLF, responsible for the finite-time tracking and meeting the constraints at the same time. A similar BLF was used recently in [19] for the system output, and here it was applied for both state variables: position and velocity. Next, robust adaptive backstepping was applied to prove the system’s stability. The application of structured uncertainties in the plant model makes it possible to refer to the parameters corresponding exactly to the physical features of the real drive, such as inertia, viscous friction coefficient, etc. Corresponding adaptive parameters are therefore constrained in reasonable bounds—this was achieved by using robust adaptive laws with projection. The unstructured disturbance enabled the inclusion of all unmodelled phenomena. It was compensated by an adaptive control component, making the complete system robust.
All the features listed above contribute to the novelty of the proposed approach. Practical importance and applicability were proven by numerous experiments with the real plant reported in the paper.
In Section 2 the plant model selection is explained, and the control aims are formulated. The controller is developed in Section 3 and Section 4, and the system’s stability and parameter tuning are investigated in Section 5. Conclusions from the simulation experiments are presented in Section 6 and, finally, the experiments with a real servo are described, and the conclusions are given (Section 7).

2. Plant Model and Control Aims

The same universal model, based on the second principle of dynamics, can be used to describe a rotational or linear servo. Of course, the adequate meaning of signals and parameters must be observed. For instance, the term ‘position’ refers to an angular or a linear position, inertia denotes a moment of inertia or a mass, respectively, etc.
The first and the most important decision to be made while modelling the servo is to include or not include the motor dynamics in the model. Contemporary servo mechanisms are driven by rather fast motors, producing the desired torque or force almost instantly. In the case of electric propulsion, linear or rotational permanent magnet synchronous motors (PMSM) with pulse-with modulated (PWM) inverters are commonly used. In this case, torque or force is proportional to the motor current, and the current control loop time constant is usually at least 10 times smaller than the mechanical time constant. Therefore, it is reasonable to assume that the torque (force) is proportional to the control input of the drive. Of course, a gap exists between the demanded control and the real torque (force) developed by the motor. It may be caused by inevitable errors in the current control loop or by a cogging torque (force). However, this error may be included in the bounded, unstructured disturbance affecting the velocity dynamics, under the condition that the bound is finite, although not known. Although assuming that the torque (force) is proportional to a control input is obviously a relevant simplification, the real drive experiments presented in Section 7 prove that it allows satisfactory results to be obtained. An additional advantage of this assumption is that different types of drive (electric, pneumatic, hydraulic) can be considered within the same design approach.
Nonlinear friction strongly affects the performance of the servo. Usually, Coulomb and viscous-type friction dominate. Therefore, a dry plus viscous friction model with unknown parameters can be used, and the inevitable modelling inaccuracy can be included in the unstructured, bounded perturbation.
The main load, caused by the machine being moved by the servo, or by gravitation affecting the motion of a manipulator, or any other reasons, is modeled as a linear combination of known nonlinear functions of position and velocity, with unknown parameters. Such structured uncertainty enables an effective compensation of the forces acting against the motion.
As a result, a rotational or a linear servo is modeled by ordinary differential equations:
x ˙ 1 = x 2 , m ¯ x ˙ 2 = τ F ¯ L ¯ + d ¯
where x 1 denotes the linear or rotational position, x 2 stands for the linear or rotational speed, and m ¯ represents inertia (mass for linear motion, moment of inertia in case of rotational motion). The input τ signifies the propelling force or torque. The main part of the load is described by a linear combination of known functions S ( x 1 , x 2 ) = [ S 1 ( x 1 , x 2 ) S 2 ( x 1 , x 2 ) S p ( x 1 , x 2 ) ] T with p unknown parameters c ¯ = [ c ¯ 1 c ¯ p ] , while a friction force or torque is approximated by a dry plus viscous friction model:
L ¯ = c ¯ T S ( x 1 , x 2 ) ,         F ¯ = b ¯ x 2 + T ¯ s i g n ( x 2 ) .  
It is assumed that all model parameters m ¯ ,   c ¯ ,   b ¯ ,   T ¯ are unknown, although some inaccurate initial or nominal values m ¯ 0 , c ¯ 0 ,   b ¯ 0 , T ¯ 0 are available. As the used model parameters correspond to real, physical parameters of the drive, it is possible to propose reasonable constraints for the unknown values.
Any load modelling errors and the effects of imperfect realization of the control signal are represented by an unstructured disturbance d ¯ . It is assumed that this disturbance is bounded:
| d ¯ ( t ) | D ¯ M ,
although the constraint D ¯ M is unknown.
Usually, the input τ is not directly available, but it is proportional to a real control input I . For electric-driven servos, this input is a motor current (quadratic axis current for PMSMs) and for hydraulic or pneumatic servos it is a resultant pressure acting on the piston. Therefore,
τ = K τ I ,
where I is the control input. The coefficient of proportionality is not known exactly, although it is strictly positive, and some reasonable bounds can be guessed.
After plugging (4) into (1) and dividing by K τ the final model of the servo is obtained:
x ˙ 1 = x 2 , m x ˙ 2 = I F L + d , L = c T S ( x 1 , x 2 ) ,       F = b x 2 + T s i g n ( x 2 ) ,         | d ( t ) | D M ,
where [ m   c T   b   T   D M ] = 1 K τ [ m ¯   c ¯ T   b ¯     T ¯   D ¯ M ] and m 0 ,   c 0 ,   b 0 ,   T 0 are inaccurate initial or nominal values for m ,   c ,   b ,   T .
The servo is supposed to track a smooth desired position trajectory x 1 d with the predefined accuracy ε 1 and this control aim must be achieved in the prescribed time T 1 . So, the tracking error:
e 1 : = x 1 d x 1
has to fulfill
  t > T 1     | e 1 ( t ) | ε 1 .
It is assumed that the desired trajectory is bounded by time-varying constraints and the servo position must be kept inside the same hard constraints during the complete transient:
x 1 m ( t ) x 1 d ( t ) x 1 M ( t ) , x 1 m ( t ) x 1 ( t ) x 1 M ( t ) .
It follows from (8) that:
| e 1 ( t ) | x 1 M ( t ) x 1 m ( t ) .
The constraints and the control aims must be consistent and feasible, therefore it is assumed that:
  • the set of available initial positions is bounded, such that
    | e 1 ( 0 ) | R ,
  • there exists a smooth, positive function B 1 ( t ) , such that
      x 1 m ( t ) x 1 d ( t ) B 1 ( t ) < x 1 d ( t ) + B 1 ( t ) x 1 M ( t )
    and
    B 1 ( 0 ) R ,             t T 1     B 1 ( t ) ε 1 .
This function is supposed to constrain the tracking error. The tracking error ε 1 should be achieved after the time T 1 and ε 1 ,   T 1 are design parameters.
The specified control aims must be accomplished by a practically realizable control, so it is realistic to assume that the servo speed is limited. Of course, the desired motion velocity must remain inside these limits. The servo must be faster than the desired motion to achieve tracking, hence it is reasonable to demand that:
| x 2 | | x ˙ 1 d | + Δ .
The desired “speed advantage” Δ must be precisely defined during the controller design and be connected with the choice of controller parameters.

3. Time-Varying Barrier Function to Achieve Position Tracking

Let us consider any twice continuously differentiable function B 1 ( t ) , fulfilling conditions (11) and (12). According to (10), it follows from (12) that:
| e 1 ( 0 ) | B 1 ( 0 )
and the finite-time tracking will be achieved by making | e 1 ( t ) | B 1 ( t ) for any t . An example of a function fulfilling all above requirements is:
B 1 ( t ) = { r ( sin ( π 2 T 1 ( T 1 t ) ) ) 3 + ε 1 t T 1 ε 1 t > T 1
with
r = R ε 1 .
This is plotted in Figure 1a. A typical configuration of the desired trajectory and the constraints is presented in Figure 1b.
The first derivative of B 1 is continuous and given by:
B ˙ 1 ( t ) = { 3 π 2 T 1 r sin 2 ( π 2 T 1 ( T 1 t ) ) cos ( π 2 T 1 ( T 1 t ) ) t T 1 0 t > T 1
Note that B ˙ 1 ( 0 ) = B ˙ 1 ( T 1 ) = 0 ,   | B ˙ 1 ( t ) | 3 π 2 T 1 r 2 3 3 = π 3 T 1 r .
The boundedness of the tracking error is obtained with the use of the Lyapunov barrier function:
V 1 = 1 2 A 1 2 ,   A 1 = B 1 2 e 1 B 1 2 e 1 2 .
Because of (14), V 1 ( e 1 ( 0 ) ) is finite, V 1 ( e 1 ( t ) ) remains bounded if | e x ( t ) | < B x ( t ) and tends to the infinity if | e 1 ( t ) | B 1 ( t ) . Exemplary isolines of V 1 are plotted in Figure 2.
The satisfactory behavior of e 1 is assured by designing the adequate transient of the servo velocity. The desired speed trajectory is denoted by x 2 d and the speed tracking error is:
e 2 : = x 2 d x 2 .
Therefore, the position tracking error dynamics is described as:
e ˙ 1 = x ˙ 1 d x 2 = x ˙ 1 d x 2 d + e 2 .
The derivative of the Lyapunov function along the system trajectory is calculated as:
V ˙ 1 = A 1 A ˙ 1 = A 1 ( A 1 B 1 B ˙ 1 + A 1 e 1 e ˙ 1 ) .
After defining functions:
C 1 = A 1 B 1 B ˙ 1 = 2 B 1 e 1 3 ( B 1 2 e 1 2 ) 2 B ˙ 1 ,
D 1 = A 1 e 1 = B 1 2 ( B 1 2 + e 1 2 ) ( B 1 2 e 1 2 ) 2 ,
E 1 = C 1 D 1 = 2 e 1 3 B 1 ( B 1 2 + e 1 2 ) B ˙ 1 ,
(Note that D 1 > 0 for any e 1 ) and using (20), the expression (21) is transferred into:
V ˙ 1 = A 1 A ˙ 1 = A 1 ( C 1 + D 1 e ˙ 1 ) = A 1 ( C 1 + D 1 x ˙ 1 d D 1 x 2 ) = A 1 ( C 1 + D 1 x ˙ 1 d D 1 x 2 d + D 1 e 2 ) = A 1 D 1 ( C 1 D 1 + x ˙ 1 d x 2 d + e 2 ) = A 1 D 1 ( E 1 + x ˙ 1 d x 2 d + e 2 ) .
Hence, selecting the desired velocity as:
x 2 d = x ˙ 1 d + E 1 + k 1 D 1 A 1 = x ˙ 1 d + 2 e 1 3 B 1 ( B 1 2 + e 1 2 ) B ˙ 1 + k 1 e 1 ( B 1 2 e 1 2 ) B 1 2 + e 1 2 ,
where k 1 > 0 is the design parameter, results in:
V ˙ 1 = k 1 A 1 2 + A 1 D 1 e 2 .
Hence, if e 2 0 then V ˙ 1 becomes negative. The specific value of k 1 must be selected to assure that:
x 2 d ( 0 ) = x ˙ d ( 0 ) + k 1 e 1 ( 0 ) ( R 2 e 1 2 ( 0 ) ) R 2 + e 1 2 ( 0 )
satisfies
x 2 m x 2 d ( 0 ) x 2 M ,
where x 2 m ,   x 2 M denote predefined initial speed constraints. Obviously, the same constraints are accomplished by an initial speed value:
x 2 m x 2 ( 0 ) x 2 M .

4. Velocity Control Loop

According to (5), the velocity error dynamics are given by:
m e ˙ 2 = m x ˙ 2 d m x ˙ 2 = m x ˙ 2 d I + b x 2 + T s i g n ( x 2 ) + c T S ( x 1 , x 2 ) d ( t )
and because of (29) and (30) the initial value is bounded by:
| e 2 ( 0 ) | x 2 M x 2 m .
The velocity error should be constrained by a barrier function, similar to the one used in the position control loop. The velocity barrier function is selected as:
B 2 = { q sin 2 ( π 2 T 2 ( T 2 t ) ) + ε 2 t T 2 ε 2 t > T 2
with
q x 2 M x 2 m ε 2
and parameters ε 2 (defining the tracking accuracy) and T 2 (defining the settling time).
The unknown parameters m , b , T , c and D M must be substituted by adaptive parameters m ^ , b ^ , T ^ , c ^ and D ^ M and the adaptation errors are denoted by:
m ˜ = m m ^ ,
b ˜ = b b ^ ,
T ˜ = T T ^ ,
c ˜ = c c ^ .
D ˜ M = D M D ^ M .
The Lyapunov function for the complete closed-loop system should contain all dynamic variables. Therefore, it is selected as:
V 2 = V 1 + 1 2 m A 2 2 + 1 2 γ m m ˜ 2 + 1 2 γ b b ˜ 2 + 1 2 γ T T ˜ 2 + 1 2 c ˜ T γ c 1 c ˜ + 1 2 γ D D ˜ M 2
with
A 2 = B 2 2 e 2 B 2 2 e 2 2
and the design parameters: positive γ m ,   γ b ,   γ T ,     γ D positive definite matrix γ c .
Derivation of the Lyapunov function derivative V ˙ 2 requires the calculation of:
B ˙ 2 ( t ) = { π T 2 q sin ( π 2 T 2 ( T 2 t ) ) cos ( π 2 T 2 ( T 2 t ) ) t T 2 0 t > T 2
and
C 2 = A 2 B 2 B ˙ 2 = 2 B 2 e v 2 3 ( B 2 2 e 2 2 ) 2 B ˙ 2 ,
D 2 = A 2 e 2 = B 2 2 ( B 2 2 + e 2 2 ) ( B 2 2 e 2 2 ) 2 ,
E 2 = C 2 D 2 = 2 e 2 3 B 2 ( B 2 2 + e 2 2 ) B ˙ 2 ,
F 2 = e 2 A 2 D 2 = ( B 2 2 e 2 2 ) 3 B 2 4 ( B 2 2 + e 2 2 )
(Note that D 2 > 0   and A 2 e 2 > 0 ). Expressions (42)–(46) and (31) allow us to represent the Lyapunov function derivative as:
V ˙ 2 = V ˙ 1 + m A 2 A ˙ 2 + 1 γ m m ˜ m ˜ ˙ + 1 γ b b ˜ b ˜ + 1 γ T T ˜ T ˜ ˙ + c ˜ T γ c 1 c ˜ ˙ + 1 γ D D ˜ M D ˜ ˙ M = k 1 A 1 2 + A 1 D 1 e 2 + A 2 m C 2 + m D 2 e ˙ 2 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 C ^ ˙ 1 γ D D ˜ M D ^ ˙ M = k 1 A 1 2 + A 1 D 1 e 2 + A 2 m C 2 + D 2 m x ˙ 2 d I + b x 2 + T s i g n x 2 + c T S x 1 , x 2 d ( t ) 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 c ^ ˙ 1 γ D D ˜ M D ^ ˙ M = k 1 A 1 2 + A 1 D 1 e 2 + A 2 D 2 m E 2 + m x ˙ 2 d I + b x 2 + T s i g n x 2 + c T S x 1 , x 2 d ( t ) 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 c ^ ˙ 1 γ D D ˜ M D ^ ˙ M = k 1 A 1 2 + A 2 D 2 A 1 D 1 F 2 + m E 2 + m x ˙ 2 d I + b x 2 + T s i g n x 2 + c T S x 1 , x 2 d ( t ) 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 c ^ ˙ 1 γ D D ˜ M D ^ ˙ M = k 1 A 1 2 + A 2 D 2 A 1 D 1 F 2 + ( m ˜ + m ^ ) E 2 + x ˙ 2 d I + ( b ˜ + b ^ ) x 2 + ( T ˜ + T ^ ) s i g n x 2 + ( c ˜ + c ^ ) T S x 1 , x 2 d ( t ) 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 c ^ ˙ 1 γ D D ˜ M D ^ ˙ M .
Therefore, the control law:
I = D 1 A 1 F 2 + m ^ ( E 2 + x ˙ 2 d ) + b ^ x 2 + T ^ s i g n ( x 2 ) + c ^ T S ( x 1 , x 2 ) + k 2 D 2 A 2 D ^ M tanh ( D 2 A 2 κ )
reduces (47) into
V ˙ 2 = k 1 A 1 2 k 2 A 2 2 + A 2 D 2 { m ˜ ( E 2 + x ˙ 2 d ) + b ˜ x 2 + T ˜ s i g n ( x 2 ) + c ˜ T S ( x 1 , x 2 ) d ( t ) D ^ M tanh ( D 2 A 2 κ ) } 1 γ m m ˜ m ^ ˙ 1 γ b b ˜ b ^ ˙ 1 γ T T ˜ T ^ ˙ c ˜ T γ c 1 c ^ ˙ 1 γ D D ˜ M D ^ ˙ M .
The derivative of the desired velocity x ˙ 2 d , required in the control law (48), may be obtained by differentiating (26):
x ˙ 2 d = x ¨ 1 d 2 e 1 3 B 1 B 1 2 + e 1 2 B ¨ 1 + x 2 d B 1 B ˙ 1 + x 2 d e 1 e ˙ 1 = x ¨ 1 d 2 e 1 3 B 1 B 1 2 + e 1 2 B ¨ 1 + 2 e 1 3 3 B 1 2 + e 1 2 + 4 k 1 B 1 3 e 1 3 B 1 2 B 1 2 + e 1 2 2 B ˙ 1 2 B 1 e 1 2 3 B 1 2 + 2 e 1 2 + k 1 e 1 2 B 1 2 5 B 1 2 e 1 2 B 1 2 B 1 2 + e 1 2 2 e ˙ 1
Finally, adaptive laws must be selected. Implementation in the real, physical system requires that the so-called robust adaptive laws [32] must be applied. As the adaptive parameters m ^ ,   c ^ ,   b ^ ,   T ^ correspond to physical plant parameters m ,   c ,   b ,   T , it is reasonable to keep their values somewhere around the expected values. Although the identification or tracking of real parameters by their adaptive counterparts is not necessary for the stability of the closed-loop system and the realization of the control aims, it is well known that large deviations of adaptive parameters may cause higher control values. It is particularly important that negative values of the adaptive parameters are avoided, as the real parameters m ,   b ,   T ,   c are positive. Therefore, adaptive laws using a projection operator with pre-defined bounds are selected. The constraints for adaptive parameters are defined by the following set of inequalities:
m m m ^ m M ,
b m b ^ b M ,
T m T ^ T M ,
c i m c ^ i c i M ,       i = 1 , , p ,
where m M , m m , b M , b m , T M , T m , c i m , c i M are constant parameters, which may be deduced from the available inaccurate or nominal values m 0 , b 0 ,   T 0 ,   c 0 ,   and the expected range of changes of plant parameters. Of course, it is assumed that these nominal parameters and real parameters m ,   b ,   T ,   c fulfill the same constraints (51)–(54) as well.
Robust adaptive laws using the projection operator are defined by the differential equations:
m ^ ˙ = proj m m , m M ( γ m A 2 D 2 ( E 2 + x ˙ 2 d ) , m ^ ) ,
b ^ ˙ = proj b m , b M ( γ b A 2 D 2 x 2 , b ^ ) ,
T ^ ˙ = proj T m , T M ( γ T A 2 D 2 s i g n ( x 2 ) , T ^ ) ,
c ^ ˙ = proj c m , c M ( γ c A 2 D 2 S ( x 1 , x 2 ) , c ^ ) ,
where for scalar arguments α m , α M ,   β , p ^
proj α m , α M ( β , p ^ ) = { 0   if   p ^ α m   and   β < 0 0   if   p ^ α M   and   β > 0 β       in   any   other   case ,
and for vectors α m , α M ,   β , p ^ r
proj α m , α M ( β , p ^ ) = [ proj α 1 m , α 1 M ( β 1 , p ^ 1 ) proj α 2 m , α 2 M ( β 2 , p ^ 2 ) proj α r m , α r M ( β r , p ^ r ) ] T .
The last adaptive parameter D ^ M corresponds to the unknown, maximal norm of the unstructured disturbance D M introduced in (5). The adaptive law is defined as:
D ^ ˙ M = γ D ( A 2 D 2 tanh ( A 2 D 2 κ ) σ D A ( D ^ M D M 0 ) ) ,
where A = A 1 2 + A 2 2 , D M 0 is an initial guess or nominal value of unknown parameter, κ > 0 and σ D is a positive parameter making the adaptive law robust. It follows from this adaptive law that D ^ M ( t ) is a non-decreasing function of time.
Under adaptive laws (55)–(58) and (61), taking into account that:
  • D 2 > 0 ;
  • for any real ω and ρ > 0 , 0 | ω | ω tanh ω ρ 0.2785 ρ [19], so | A 2 | D 2 D M A 2 D 2 D M tanh ( A 2 D 2 κ ) = | A 2 | D 2 D M A 2 D 2 D M tanh ( A 2 D 2 D M κ D M ) 0.2785 κ D M ;
  • for any scalar γ > 0   proj α m , α M ( γ β , p ^ ) = γ proj α m , α M ( β , p ^ ) ;
  • for any α such that α m α α M , the inequality ( α p ^ ) ( β proj α m , α M ( β , p ^ ) ) 0 holds [33].
The Lyapunov function derivative is reduced:
V ˙ 2 = k 1 A 1 2 k 2 A 2 2 + m ˜ A 2 D 2 E 2 + x ˙ 2 d + b ˜ A 2 D 2 x 2 + T ˜ A 2 D 2 s i g n x 2 + c ˜ T A 2 D 2 S x 1 , x 2 A 2 D 2 d ( t ) A 2 D 2 D ^ M tanh D 2 A 2 κ 1 γ m m ˜ proj m m , m M γ m A 2 D 2 E 2 + x ˙ 2 d , m ^ 1 γ b b ˜ proj b m , b M γ b A 2 D 2 x 2 , b ^ 1 γ T T ˜ proj T m , T M γ T A 2 D 2 s i g n x 2 , T ^ c ˜ T γ c 1 Proj c m , c M γ c A 2 D 2 S x 1 , x 2 , c ^ D ˜ M A 2 D 2 tanh A 2 D 2 κ + σ D A D ˜ M D ^ M D M 0 k 1 A 1 2 k 2 A 2 2 + m ˜ A 2 D 2 E 2 + x ˙ 2 d + b ˜ A 2 D 2 x 2 + T ˜ A 2 D 2 s i g n x 2 + c ˜ T A 2 D 2 S x 1 , x 2 A 2 D 2 d ( t ) A 2 D 2 D ^ M tanh D 2 A 2 κ m ˜ proj m m , m M A 2 D 2 E 2 + x ˙ 2 d , m ^ b ˜ proj b m , b M A 2 D 2 x 2 , b ^ T ˜ proj T m , T M A 2 D 2 s i g n x 2 , T ^ c ˜ T Proj c m , c M A 2 D 2 S x 1 , x 2 , c ^ D ˜ M A 2 D 2 tanh A 2 D 2 κ + σ D A D ˜ M D ^ M D M 0 k 1 A 1 2 k 2 A 2 2 + T ˜ A 2 D 2 s i g n x 2 proj T m , T M A 2 D 2 s i g n x 2 , T ^ + c ˜ T A 2 D 2 S x 1 , x 2 Proj c m , c M A 2 D 2 S x 1 , x 2 , c ^ + A 2 D 2 D M A 2 D 2 D M tanh A 2 D 2 κ + σ D A D ˜ M D ˜ M + D M D M 0 k 1 A 1 2 k 2 A 2 2 σ D 2 A D ˜ M 2 + σ D 2 A D M D M 0 2 + 0.2785 D M κ .
The closed-loop controller consists of:
  • the desired velocity trajectory (26) and its derivative (50);
  • the control law (48);
  • the adaptive laws (55)–(58), (61).
The designer selects:
  • the parameters of the constraints: r ,   T 1 ,   ε 1 in (15) and q ,   T 2 ,   ε 2 in (33);
  • the controller gains: k 1 in (26), k 2 and κ in (48);
  • the adaptation gains γ m ,   γ b ,   γ T ,     γ D and γ c , and the ‘robustifying’ parameter σ D in (61);
  • the projection constraints m M , m m , b M , b m , T M , T m , c i m , c i M ;
  • the initial values of adaptive parameters.

5. System Stability

Let us denote:
k m = min ( k 1 , k 2 ) ,
R ¯ = σ D 2 ( D M D M 0 ) 2 + 0.2785 D M κ .
It follows from (62) that:
V ˙ 2 A { k m A + σ D 2 D ˜ M 2 R } .
Therefore, if A R ¯ k m i n then V ˙ 2 0 for any parameter error D ˜ M . On the other hand, V ˙ 2 0 if | D ˜ M | 2 R ¯ σ D for any error A .
The derivation of the controller may be summarized by the following theorem which follows from the Lyapunov theorem extensions [33]:
Theorem 1.
The proposed control assures that:
  • if the initial values of  A 1 ,   A 2 ,   m ˜ ,   b ˜ ,   T ˜ ,   c ˜ ,   D ˜ M  are bounded, A 1 ( t ) ,   A 2 ( t ) ,   m ˜ ( t ) ,   b ˜ ( t ) ,   T ˜ ( t ) ,   c ˜ ( t ) ,   D ˜ M ( t )  remain bounded for t > 0 ;
  • the adaptive parameters error  D ˜ M  is uniformly ultimately bounded (UUB) [33] to the compact set:
    Q = { D ˜ M :     | D ˜ M | < 2 R ¯ σ D } ;
  • the error norm  A  is uniformly ultimately bounded to the set:
    Z = { A :     A < R ¯ k m i n } .
It follows from (67) that the bound for A may be arbitrarily narrowed by increasing k m i n .
So, it follows from the Equations (18) and (41) that errors e 1 and e 2 are bounded for any t > 0 and fulfil the constraints | e 1 ( t ) | B 1 ( t ) and | e 2 ( t ) | B 2 ( t ) . As e 1 and x 1 d are bounded, x 1 is bounded also. The desired speed x 2 d is bounded as x ˙ 1 d , B ˙ 1 , B 1 and e 1 are bounded. Next, error e 2 and x 2 d are bounded; hence, the speed x 2 is bounded. The adaptive laws (55)–(58) and (61) generate the bounded adaptive parameters. Finally, it follows directly from equation (48) and the above reasoning that the control input I is bounded.
Taking into account that:
| x 2 d | = | x ˙ 1 d + E 1 + k 1 D 1 A 1 | | x ˙ 1 d | + | 2 e 1 3 B 1 ( B 1 2 + e 1 2 ) | | B ˙ 1 | + k 1 | e 1 | | ( B 1 2 e 1 2 ) B 1 2 + e 1 2 | , 0 | 2 e 1 3 B 1 ( B 1 2 + e 1 2 ) | < 2 B 1 3 B 1 ( B 1 2 + B 1 2 ) = 1 ,     0 < | ( B 1 2 e 1 2 ) B 1 2 + e 1 2 | 1 , | k 1 D 1 A 1 | k 1 | e 1 | k 1 B 1     | E 1 | = | 2 e 1 3 B 1 ( B 1 2 + e 1 2 ) B ˙ 1 | | B ˙ 1 ( t ) | ,     | B ˙ 1 ( t ) | { π 3 T 1 r t T 1 0 t > T 1
provides the required velocity constraint (13):
| x 2 | | x 2 d | + | e 2 | | x ˙ 1 d + E 1 + k 1 D 1 A 1 | + | e 2 | | x ˙ 1 d | + | E 1 | + | k 1 D 1 A 1 | + | e 2 | | x ˙ 1 d | + | B ˙ 1 ( t ) | + k 1 | e 1 | + | e 2 | | x ˙ 1 d | + | B ˙ 1 ( t ) | + k 1 B 1 + B 2 | x ˙ 1 d | + π 3 T 1 r + k 1 B 1 + B 2
For t > max { T 1 , T 2 } , when B ˙ 1 ( t ) = 0 ,   B 1 = ε 1 ,   B 2 = ε 2
| x 2 | | x ˙ 1 d | + k 1 ε 1 + ε 2
holds.

6. Numerical and Real Drive Experiments

6.1. Servo System

The simulation and real drive experiments were based on the plant presented in Figure 3. A permanent magnet synchronous motor AKM2G-41-PL, manufactured by Kollmorgen (#1), was equipped with a massive arm pointing to the ground (#2) and perpendicular to the motor axis. The arm was connected to the motor by a disc clutch. The control system was implemented using a PWM inverter Kolmorgen AKD Basic (#3) with the current controller on board. The power supply (#4) provided 24 V logic power, and (#5) powers up the motor. The complete control algorithm was implemented on dSPACE MicroLabBox (#6) programmed from Simulink (#8). Data acquisition was performed by ControlDesk (#9).
The plant was modelled by Equations (1)–(4) transformed to obtain (5). The angular position x 1 = 0 denotes the lower equilibrium of the arm and the positive direction means the clockwise movement. The load (2) is caused by the gravitation, hence:
L ¯ = c ¯ sin x 1 , c ¯ = M g l ,   S ( x 1 , x 2 ) = sin x 1 ,
where M = 0.84   kg —mass of the arm, l = 0.165   m —distance from the gravity center of the arm to the motor’s axis, and g = 9.81   m / s 2 is the gravitational acceleration.
The inertia m ¯ represents the moment of inertia of the arm and the rotor together. The friction was modelled by Equation (3). The nominal parameters m ¯ 0 , c ¯ 0 ,   b ¯ 0 , T ¯ 0 were guessed from the producer data and from a simple identification experiment and were:
m ¯ 0 = 0.0265   kgm 2 ,   c ¯ 0 = 1.36   Nm ,   b ¯ 0 = 5.9 · 10 3   Nms / rad 2 ,   T ¯ 0 = 0.029   Nm
The torque τ produced by the motor is proportional to the quadrature axis current of the motor I and the nominal torque constant of the motor is K τ = 0.147   Nm / A . The maximum current of the motor was 19.9 A and corresponded to the maximum torque 2.93 Nm.
The desired motion trajectory x 1 d ( t ) was constructed by connecting the segments presented in Figure 4.
From t 1 to t 2   the servo moved with a constant angular velocity. It stopped at the initial position for t 0 seconds and stopped again starting from t s at the final position x d . During the tests several similar segments were connected. The maximum velocity and acceleration were the same for all of them, while the final position x d changed for each segment.

6.2. Simulations

The drive was modelled with the nominal parameters (72). The simulations aimed to illustrate the influence of the design parameters and characteristic features of the closed-loop system.

6.2.1. CASE 1. All Plant Parameters Were Known, the Unstructured Disturbance Was Zero

In this case the adaptation was not necessary, so the adaptive laws were inactive. The controller used the accurate (rather than adaptive) parameters. The controller gains were selected: k 1 = 0.1 , k 2 = 0.1 . Initial conditions for the angular position and velocity were: x 1 ( 0 ) = 0.16   [ r a d ] , x 2 ( 0 ) = 0.8   [ r a d / s ] .
First, the system operation without any constraints is demonstrated in Figure 5 and Figure 6. It was achieved by taking T 1 = T 1 = I n f , r = q = 1000 .
Next, for the same desired position trajectory depicted in Figure 5, the case of constant constraints B 1 and B 2 was considered. As is presented in Figure 7, both errors remained inside the constraints.
Finally, time varying constraints B 1 ( t ) and B 2 ( t ) were investigated for several combinations of parameters T 1 and T 2 . The desired trajectory was the same as depicted in Figure 5. In any case the tracking errors were effectively bounded—see Figure 6, Figure 7, Figure 8, Figure 9, Figure 10 and Figure 11. As it is visible from Figure 10, when T 1 T 2 (fast position constraint in the presence of large velocity bound), the tracking errors oscillated between the constraints rapidly. Such chattering is definitely not recommended in a real system. The initial subinterval of the position and velocity time-history is presented against the background of x 1 d ( t ) and x ˙ 1 d ( t ) together with the constraints taken from the inequality (69).
As the main control aim was to follow a given position trajectory, some difference between x 2 and x ˙ 1 d has to be accepted. The drive should have some “overspeed” to react properly to disturbances and parameter changes (Figure 12).

6.2.2. CASE 2. Constant Parameters Were Unknown, the Unstructured Disturbance Was Absent

In this case the ‘robustifying’ term D ^ M tanh ( D 2 A 2 κ ) in the control (48) was not necessary, and neither was the adaptive law for D ^ M .   It was assumed that no estimates of the values of the system parameters were available; hence, all initial conditions for adaptive parameters were zeros. The selected controller parameters were: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1   T 1 = T 2 = 5   s ,   k 1 = k 2 = 1 , γ m = 1 , γ c = 10 , γ b = 1 , γ T = 10 , γ D = 0 , and only lower constraints, all equal to zero, were used in the adaptive laws. The desired trajectory was the same as the one depicted in Figure 4. As is demonstrated in Figure 13, all tracking errors remained inside the constraints; moreover, the errors approached zero for t . The adaptive parameters remained inside the constrained set, according to the projection operators in the adaptive laws. All adaptive parameters approached the real plant parameters. The changes in the adaptive parameters near the constraints were quite rapid, as is typical for adaptive laws using projection, but fortunately, the motor current (proportional to the torque) was far smoother and safely bounded (Figure 14).

6.2.3. CASE 3. Unstructured Disturbance

It was assumed that the real friction was described by the Stribeck curve [34]:
F ¯ = b ¯ x 2 + T ¯ s i g n ( x 2 ) + 0.03 e 10 | x 2 | s i g n ( x 2 )  
and the last component F S = 0.03 e 10 | x 2 | s i g n ( x 2 )   was neglected during the controller design. The influence of this component on the complete friction curve is explained in Figure 15. As a result, the unmodeled friction F S generated the unstructured, bounded disturbance d ¯ ( t ) = 0.03 e 10 | x 2 ( t ) | s i g n ( x 2 ( t ) ) .
If no remedial measures were taken, i.e., the controller was exactly the same as in CASE 2, the quasi-steady-state tracking error is evidently visible (Figure 16). If the adequate control component together with the adaptive law (61) is introduced with parameters κ = 1 / 100 , γ D = 10 , σ D = 1 , both tracking errors were substantially reduced (Figure 17).

6.2.4. CASE 4. System Reaction to an Unanticipated Change of Parameters

The controller was designed assuming that the plant parameters were unknown, but constant. It was demonstrated that the proper operation was achieved even if the adaptive parameters substituting the real ones started from zero initial conditions. Here, the system robustness was tested against the unexpected change of parameters during the motion. The regulator was exactly the same as used in CASE 3.
The mass of the arm was increased by 50% at the 20th second of motion, when the servo operated inside narrow constraints ε 1 , ε 2 . In effect, two model parameters, the moment of inertia m and the load parameter c , were changed. It was observed (Figure 18 and Figure 19) that the tracking errors increased, almost reaching the bound (without breaching it), and went back to standard values. Adaptive parameters corresponding to m and the load parameter c moved to the new values, adequate to the change of model parameters. The remaining adaptive parameters also reacted but returned to the previous values. Therefore, it can be concluded that the system is robust against the unexpected change of plant parameters.

6.2.5. CASE 5. Simulations Including the Hardware

Before implementing the control algorithm in the real system, a series of simulations were carried out in which it was assessed how the real hardware will affect the correct operation of the system. The controller used in CASE 3 and 4 was supplemented with blocs modeling:
  • the current control loop, including a fast PI controller, modelled by the transfer function G i ( s ) = I M ( s ) I d ( s ) = 1 10 4 s + 1 , where I M denotes the generated motor current and I d is the desired current: I d = sat 19.9   ( I ) , where I is the control command calculated from (48) and sat 19.9 means ± 19.9 saturation;
  • 50   μ s sampling of the whole system;
  • finite encoder resolution which equals 2 π 2 13 ~ 0.0008   rad ~ 0.045   deg ;
  • differential filter for velocity calculation (Savitzky-Golay Smoothing and Differentiation Filter using 130 samples) [35].
Examples of the effects of the simulations are presented in Figure 20, Figure 21 and Figure 22. The parameters defining the constraints were R 1 = 0.3 , ε 1 = 0.03 , R 2 = 2 , ε 2 = 0.5 and T 1 = 5   s , T 2 = 5   s .
The simulations were run many times with various:
  • constraints;
  • adaptation gains;
  • controller gains;
  • encoder resolutions;
  • sizes of the velocity measuring filter;
  • inertia of the current control loop.
Due to the limited volume of the paper, not all plots are shown, but the following conclusions may be reported:
  • The main factor limiting the system performance is the filter–encoder cooperation. The filter not only introduces a delay in the engine speed measurement path, but it also adds some noise. In the tested case, the noise amplitude was about 0.2   rad / s , which effectively limited the acceptable parameter ε 2 . A reasonable choice is ε 2 0.5   rad / s ;
  • For the investigated desired motion trajectories, the system was robust against the motor current saturation and the current control time-constant up to 100   μ s ;
  • It is recommended that T 2 T 1 ;
  • Too fast an adaptation (high adaptation gain) causes a chattering of the tracking errors inside the constraints;
  • The parameters of the hardware used strongly affect the performance of the system. For example, the speed constraint ε 2 = 0.5   rad / s is connected to the encoder resolution and noise. The higher resolution of the encoder enables the filtering window to be shortened and the ε 2 to be reduced several times.

6.3. Real Time, Real Plant Application

The results of the simulations and the numerical experiments were encouraging, so the controller was implemented in a real control hardware presented in Figure 3. Of course, it is impossible to obtain exactly the same results in a real plant as in a simulation. Many of the additional factors, such as the coupling elasticity, nonlinear current–torque characteristics, and unmodelled friction, affect a real plant. However, the results of real plant experiments were similar to the plots presented in Section 6.2.5, where some additional hardware was included into the simulation model.
Although some initial estimations are available, in order to test the worst-case situation, it was assumed that the initial values of all the adaptive parameters were zeros and all lower bounds in the projections were zeros. The controller gains were k 1 = 0.1 , k 2 = 1 ; κ = 1 / 300 .
The examples of plots, collected during three different runs of the servo are presented below.

6.3.1. RUN 1—Fast Motion

The maximum velocity of the desired motion was max x ˙ 1 d = 5   rad / s . The parameters of the constraints were r = 0.2 , ε 1 = 0.01 , q = 2 , ε 2 = 0.5 and T 1 = 5   s , T 2 = 5   s .
Both tracking errors were inside the constraints, although occasionally quite close to them (Figure 23). This resulted in the rapid changes of the adaptive parameters and may have caused higher control values (Figure 24). The servo angular position and the velocity related to the desired values are presented in Figure 25.

6.3.2. RUN 2—Moderate Motion

The maximum velocity of the desired motion was max x ˙ 1 d = 3   rad / s . The parameters of the constraints were r = 0.1 , ε 1 = 0.03 , q = 2 , ε 2 = 0.5 and T 1 = 10   s , T 2 = 5   s .
Compared with RUN 1, the motion was slower, and it started closer to the desired position trajectory. Tracking errors were kept far from the constraints, therefore the trajectories of the adaptive parameters were smoother, and the control values were lower (Figure 26 and Figure 27). The servo angular position and the velocity related to the desired values are presented in Figure 28. Obviously, the tracking errors never violated the constraints.

6.3.3. RUN 3—Slow Motion

The maximum velocity of the desired motion was max x ˙ 1 d = 0.5   rad / s . The parameters of the constraints were r = 0.1 , ε 1 = 0.03 , q = 2 , ε 2 = 0.5 and T 1 = 5   s , T 2 = 5   s .
The plots present the quasi-steady state operation. The angular tracking error was very small: | e 1 | 0.004   rad which is close to the resolution of the encoder (Figure 29). Some difficulties in the measurement of low velocity are visible (Figure 30).

7. Conclusions

The main advantage and the major novelty of the proposed design method are that a designer can impose a settling time and a tracking accuracy explicitly. Moreover, it is easy to impose inviolable constraints on both state variables—position and velocity. All the attractive features of the closed-loop system were robust against unknown parameters and unstructured perturbations, which may include any disturbances, modelling errors, or unrecognized dynamics.
Special, time-varying barrier Lyapunov functions of both tracking errors resulted in practical, finite-time tracking and the preservation of the strict position and velocity constraints. An adaptive backstepping controller with a robust component assured the stability of the system. Structured uncertainties and unstructured disturbances were used in the model and during the adaptive control design. This made it possible:
  • to refer to real, physical servo parameters and include any unmodelled factors at the same time;
  • to model the real drive sufficiently accurately;
  • to propose reasonable initial conditions of adaptive parameters and realistic constraints for projection operators used in adaptive laws;
  • to obtain a robust closed-loop system;
  • to minimize the control effort.
The presented derivation was based on a simple, second-order servo model. It may be considered a simplification, but the presented experiments have proven that it is quite justified. Additionally, the use of such a model made it possible to consider servos with different sources of propulsion. The proposed design technique can be generalized to include a specific, dynamic motor model. In this case, additional, subsequent backstepping loops require the application of linear filters to obtain derivatives of the stabilizing functions (virtual controls) [33]. This technique, also called dynamic surface control (DSC) [36] is used to avoid the explosion of complexity, which is typical for a standard adaptive backstepping [33].
The paper presents a complete engineering procedure, from the controller design, the proof of stability, the rules of the controller tuning, through numerous simulations, up to real drive experiments. It is, therefore, demonstrated that the proposed approach is practically applicable. The attractive features of the servo and the control quality are not diminished even if severe unmodelled factors, such as additional friction, cogging torque, current controller inertia, finite encoder resolution, coupling elasticity, imprecise velocity measurement, and inaccurate control input generation affect the actual system.
Apart from the experiments presented here, the proposed control design was compared with other methods taking state constraints into account, especially described in [13,14], applied for a few servos (rotational as well as linear). It must be stressed that the approach presented here is the only one that allows the imposition of a settling time and a tracking accuracy explicitly. Each approach requires proper tuning, and generally, it is possible to obtain satisfactory results using the procedures presented in [13,14] as well, but the simplicity and the directness of the approach described here is the obvious advantage. All the comparisons also demonstrated that the presented technique overcomes standard PI controllers where the state constraints are achieved by proper parameter tuning and control saturation.

Author Contributions

Main idea, J.K.; methodology, J.K. and P.M.; simulations, M.J.; validation, J.K. and P.M.; writing—original draft preparation, J.K., P.M. and M.J.; writing—review, J.K.; visualization, M.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Politechnika Łódzka (Lodz University of Technology) The APC was funded by Politechnika Łódzka.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hasan, M.d.M.; Khan, M.d.R.; Noman, A.T.; Rashid, H.; Ahmed, N.; Reza, S.M.T. Design and Implementation of a Microcontroller Based Low Cost Computer Numerical Control (CNC) Plotter using Motor Driver Controller. In Proceedings of the 2019 International Conference on Electrical, Computer and Communication Engineering (ECCE), Cox’sBazar, Bangladesh, 7–9 February 2019; pp. 1–5. [Google Scholar]
  2. Yang, X.; Ge, S.S.; He, W. Dynamic modelling and adaptive robust tracking control of a space robot with two-link flexible manipulators under unknown disturbances. Int. J. Control 2017, 91, 969–988. [Google Scholar] [CrossRef]
  3. Yang, X.; Zheng, X.; Chen, Y. Position Tracking Control Law for an Electro-Hydraulic Servo System Based on Backstepping and Extended Differentiator. IEEE/ASME Trans. Mechatron. 2017, 23, 132–140. [Google Scholar] [CrossRef]
  4. Wei, X.-L.; Wang, J.; Yang, Z.-X. Robust Smooth-Trajectory Control of Nonlinear Servo Systems Based on Neural Networks. IEEE Trans. Ind. Electron. 2007, 54, 208–217. [Google Scholar] [CrossRef]
  5. Wu, J.; Zhang, J.; Nie, B.; Liu, Y.; He, X. Adaptive Control of PMSM Servo System for Steering-by-Wire System With Disturbances Observation. In IEEE Transactions on Transportation Electrification; IEEE: Piscataway, NJ, USA, 2021; p. 1. [Google Scholar] [CrossRef]
  6. Fu, D.; Zhao, X.; Zhu, J. A Novel Robust Super-Twisting Nonsingular Terminal Sliding Mode Controller for Permanent Magnet Linear Synchronous Motors. IEEE Trans. Power Electron. 2021, 37, 2936–2945. [Google Scholar] [CrossRef]
  7. Wang, B.; Liu, C.; Chen, S.; Dong, S.; Hu, J. Data-Driven Digital Direct Position Servo Control by Neural Network With Implicit Optimal Control Law Learned From Discrete Optimal Position Tracking Data. IEEE Access 2019, 7, 126962–126972. [Google Scholar] [CrossRef]
  8. Ren, H.-P.; Fan, J.-T.; Kaynak, O. Optimal Design of a Fractional-Order Proportional-Integer-Differential Controller for a Pneumatic Position Servo System. IEEE Trans. Ind. Electron. 2018, 66, 6220–6229. [Google Scholar] [CrossRef]
  9. Chen, Q.; Yu, X.; Sun, M.; Wu, C.; Fu, Z. Adaptive Repetitive Learning Control of PMSM Servo Systems with Bounded Nonparametric Uncertainties: Theory and Experiments. IEEE Trans. Ind. Electron. 2020, 68, 8626–8635. [Google Scholar] [CrossRef]
  10. Liu, M.; Chan, K.W.; Hu, J.; Xu, W.; Rodriguez, J. Model Predictive Direct Speed Control With Torque Oscillation Reduction for PMSM Drives. IEEE Trans. Ind. Informat. 2019, 15, 4944–4956. [Google Scholar] [CrossRef]
  11. Liu, Z.; Zhao, Y. Robust Perturbation Observer-based Finite Control Set Model Predictive Current Control for SPMSM Considering Parameter Mismatch. Energies 2019, 12, 3711. [Google Scholar] [CrossRef] [Green Version]
  12. Tarczewski, T.; Skiwski, M.; Niewiara, L.J.; Grzesiak, L.M. High-performance PMSM servo-drive with constrained state feedback position controller. Bull. Pol. Acad. Sci. Tech. Sci. 2018, 66, 49–58. [Google Scholar]
  13. Kabziński, J.; Mosiołek, P. Adaptive, nonlinear state transformation-based control of motion in presence of hard constraints. Bull. Pol. Acad. Sci. Tech. Sci. 2020, 68, 963–971. [Google Scholar] [CrossRef]
  14. Kabziński, J.; Mosiołek, P. Motion Control with Hard Constraints—Adaptive Controller with Nonlinear Integration. In Advances in Intelligent Systems and Computing; Springer: Singapore, 2020; pp. 449–461. [Google Scholar]
  15. Doria-Cerezo, A.; Acosta, J.; Castano, A.; Fossas, E. Nonlinear state-constrained control. Application to the dynamic positioning of ships. In Proceedings of the 2014 IEEE Conference on Control Applications (CCA), Juan Les Antibes, France, 8–10 October 2014; pp. 911–916. [Google Scholar]
  16. Liu, N.; Shao, X.; Yang, W. Integral Barrier Lyapunov Function Based Saturated Dynamic Surface Control for Vision-Based Quadrotors via Back-Stepping. IEEE Access 2018, 6, 63292–63304. [Google Scholar] [CrossRef]
  17. Liu, Y.; Yu, J.; Yu, H.; Lin, C.; Zhao, L. Barrier Lyapunov Functions-Based Adaptive Neural Control for Permanent Magnet Synchronous Motors With Full-State Constraints. IEEE Access 2017, 5, 10382–10389. [Google Scholar] [CrossRef]
  18. Tang, L.; Chen, A.; Li, D. Time-Varying Tan-Type Barrier Lyapunov Function-Based Adaptive Fuzzy Control for Switched Systems With Unknown Dead Zone. IEEE Access 2019, 7, 110928–110935. [Google Scholar] [CrossRef]
  19. Yuan, X.; Chen, B.; Lin, C. Prescribed Finite-Time Adaptive Neural Tracking Control for Nonlinear State-Constrained Systems: Barrier Function Approach. In IEEE Transactions on Neural Networks and Learning Systems; IEEE: Piscataway, NJ, USA, June 2021; pp. 1–10. [Google Scholar] [CrossRef]
  20. Igarashi, M.; Tezuka, I.; Nakamura, H. Time-varying Control Barrier Function and Its Application to Environment-Adaptive Human Assist Control. IFAC-PapersOnLine 2019, 52, 735–740. [Google Scholar] [CrossRef]
  21. Wang, F.; Chen, B.; Liu, X.; Lin, C. Finite-Time Adaptive Fuzzy Tracking Control Design for Nonlinear Systems. IEEE Trans. Fuzzy Syst. 2018, 26, 1207–1216. [Google Scholar] [CrossRef]
  22. Wang, F.; Lai, G. Fixed-time control design for nonlinear uncertain systems via adaptive method. Syst. Control. Lett. 2020, 140, 104704. [Google Scholar] [CrossRef]
  23. Xia, J.; Zhang, J.; Sun, W.; Zhang, B.; Wang, Z. Finite-Time Adaptive Fuzzy Control for Nonlinear Systems With Full State Constraints. IEEE Trans. Syst. Man, Cybern. Syst. 2019, 49, 1541–1548. [Google Scholar] [CrossRef]
  24. Wang, C.; Wu, Y. Finite-time tracking control for strict-feedback nonlinear systems with full state constraints. Int. J. Control. 2019, 92, 1426–1433. [Google Scholar] [CrossRef]
  25. Yang, H.; Ye, D. Adaptive Fuzzy Nonsingular Fixed-Time Control for Nonstrict-Feedback Constrained Nonlinear Multiagent Systems With Input Saturation. IEEE Trans. Fuzzy Syst. 2021, 29, 3142–3153. [Google Scholar] [CrossRef]
  26. Sun, J.; Yi, J.; Pu, Z. Fixed-Time Adaptive Fuzzy Control for Uncertain Nonstrict-Feedback Systems with Time-Varying Constraints and Input Saturations. In IEEE Transactions on Fuzzy Systems; IEEE: Piscataway, NJ, USA, 18 January 2021; p. 1. [Google Scholar] [CrossRef]
  27. Ilchmann, A.; Schuster, H. PI-Funnel Control for Two Mass Systems. IEEE Trans. Autom. Control 2009, 54, 918–923. [Google Scholar] [CrossRef] [Green Version]
  28. Ilchmann, A.; Ryan, E.P.; Townsend, P. Tracking control with prescribed transient behaviour for systems of known relative degree. Syst. Control Lett. 2006, 55, 396–406. [Google Scholar] [CrossRef] [Green Version]
  29. Wang, S.; Yu, H.; Yu, J.; Gao, X. Adaptive Neural Funnel Control for Nonlinear Two-Inertia Servo Mechanisms With Backlash. IEEE Access 2019, 7, 33338–33345. [Google Scholar] [CrossRef]
  30. Berger, T.; Reis, T. Funnel Control Via Funnel Precompensator for Minimum Phase Systems With Relative Degree Two. IEEE Trans. Autom. Control 2018, 63, 2264–2271. [Google Scholar] [CrossRef]
  31. Cheng, Y.; Ren, X. Neural-Network-Based Adaptive Funnel Control for Strict-Feedback Systems with Tracking Error and State Constraints. In Proceedings of the 2021 IEEE 10th Data Driven Control and Learning Systems Conference (DDCLS), Suzhou, China, 14–16 May 2021; pp. 415–420. [Google Scholar]
  32. Ioannou, P.; Baldi, S. Robust Adaptive Control; Dover Publications: Mineola, NY, USA, 2010. [Google Scholar]
  33. Kabziński, J.; Mosiołek, P. Projektowanie Nieliniowych Układów Sterowania (Nonlinear Control Design), I; PWN SA: Warszawa, Poland, 2018. [Google Scholar]
  34. Pennestrì, E.; Rossi, V.; Salvini, P.; Valentini, P.P. Review and comparison of dry friction force models. Nonlinear Dyn. 2016, 83, 1785–1801. [Google Scholar] [CrossRef]
  35. Luo, J. Savitzky-Golay Smoothing and Differentiation Filter. In MATLAB Central File Exchange; 2021; Available online: https://www.mathworks.com/matlabcentral/fileexchange/4038-savitzky-golay-smoothing-and-differentiation-filter (accessed on 10 December 2021).
  36. Li, T.; Feng, G.; Zou, Z. DSC-backstepping based robust adaptive fuzzy control for a class of strict-feedback nonlinear systems. In Proceedings of the 2008 IEEE International Conference on Fuzzy Systems (IEEE World Congress on Computational Intelligence), Hong Kong, China, 1–6 June 2008; pp. 1274–1281. [Google Scholar]
Figure 1. Function (16) for different parameters T 1 ( ε 1 = 0.1 ,   r = 1 ) (a) and an example of a desired position trajectory inside the constraints ( T 1 = 1 ,   ε 1 = 0.1 ,   r = 1 ) (b).
Figure 1. Function (16) for different parameters T 1 ( ε 1 = 0.1 ,   r = 1 ) (a) and an example of a desired position trajectory inside the constraints ( T 1 = 1 ,   ε 1 = 0.1 ,   r = 1 ) (b).
Energies 15 00934 g001
Figure 2. Exemplary isolines of V 1 and the constraint ± B 1 ( t ) .
Figure 2. Exemplary isolines of V 1 and the constraint ± B 1 ( t ) .
Energies 15 00934 g002
Figure 3. The servo system.
Figure 3. The servo system.
Energies 15 00934 g003
Figure 4. The desired angular position trajectory (a segment) and its derivatives.
Figure 4. The desired angular position trajectory (a segment) and its derivatives.
Energies 15 00934 g004
Figure 5. Angular position and velocity compared with the desired values. The constraints are inactive.
Figure 5. Angular position and velocity compared with the desired values. The constraints are inactive.
Energies 15 00934 g005
Figure 6. Tracking errors. The constraints are inactive.
Figure 6. Tracking errors. The constraints are inactive.
Energies 15 00934 g006
Figure 7. Tracking errors under constant constraints.
Figure 7. Tracking errors under constant constraints.
Energies 15 00934 g007
Figure 8. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 10   s , T 2 = 10   s .
Figure 8. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 10   s , T 2 = 10   s .
Energies 15 00934 g008
Figure 9. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 10   s , T 2 = 2   s .
Figure 9. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 10   s , T 2 = 2   s .
Energies 15 00934 g009
Figure 10. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 2   s , T 2 = 10   s .
Figure 10. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 2   s , T 2 = 10   s .
Energies 15 00934 g010
Figure 11. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 2   s , T 2 = 2   s .
Figure 11. Tracking errors e 1 , e 2 together with the time-varying constraints B 1 i B 2 . Parameters: r = 0.2 , ε 1 = 0.02 , q = 1 , ε 2 = 0.1 , T 1 = 2   s , T 2 = 2   s .
Energies 15 00934 g011
Figure 12. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 , parameters as in the Figure 11.
Figure 12. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 , parameters as in the Figure 11.
Energies 15 00934 g012
Figure 13. Tracking errors e 1 , e 2 in CASE 2.
Figure 13. Tracking errors e 1 , e 2 in CASE 2.
Energies 15 00934 g013
Figure 14. The motor current I and the adaptive parameters related to real plant parameters—CASE 2.
Figure 14. The motor current I and the adaptive parameters related to real plant parameters—CASE 2.
Energies 15 00934 g014
Figure 15. Stribeck curve and its components.
Figure 15. Stribeck curve and its components.
Energies 15 00934 g015
Figure 16. Tracking errors e 1 , e 2 —the controller without unstructured disturbance compensation.
Figure 16. Tracking errors e 1 , e 2 —the controller without unstructured disturbance compensation.
Energies 15 00934 g016
Figure 17. Tracking errors e 1 , e 2 —the controller with unstructured disturbance compensation.
Figure 17. Tracking errors e 1 , e 2 —the controller with unstructured disturbance compensation.
Energies 15 00934 g017
Figure 18. Tracking errors e 1 , e 2 caused by 50% increase in manipulator mass at t = 20   s .
Figure 18. Tracking errors e 1 , e 2 caused by 50% increase in manipulator mass at t = 20   s .
Energies 15 00934 g018
Figure 19. Motor current and selected adaptive parameters changing after a 50% increase in the manipulator mass at t = 20   s .
Figure 19. Motor current and selected adaptive parameters changing after a 50% increase in the manipulator mass at t = 20   s .
Energies 15 00934 g019
Figure 20. Tracking errors e 1 , e 2 .
Figure 20. Tracking errors e 1 , e 2 .
Energies 15 00934 g020
Figure 21. Desired motor current and adaptive parameters.
Figure 21. Desired motor current and adaptive parameters.
Energies 15 00934 g021
Figure 22. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Figure 22. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Energies 15 00934 g022
Figure 23. Tracking errors e 1 , e 2 .
Figure 23. Tracking errors e 1 , e 2 .
Energies 15 00934 g023
Figure 24. Desired I d and generated I M motor current (left). Time-evolution of adaptive parameters (right).
Figure 24. Desired I d and generated I M motor current (left). Time-evolution of adaptive parameters (right).
Energies 15 00934 g024
Figure 25. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Figure 25. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Energies 15 00934 g025
Figure 26. Tracking errors e 1 , e 2 .
Figure 26. Tracking errors e 1 , e 2 .
Energies 15 00934 g026
Figure 27. Desired I d and generated I M motor current (left). Time-evolution of the adaptive parameters (right).
Figure 27. Desired I d and generated I M motor current (left). Time-evolution of the adaptive parameters (right).
Energies 15 00934 g027
Figure 28. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Figure 28. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Energies 15 00934 g028
Figure 29. Tracking errors e 1 , e 2
Figure 29. Tracking errors e 1 , e 2
Energies 15 00934 g029
Figure 30. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Figure 30. Angular position x 1 and velocity x 2 together with the desired values and the constraints Δ = | B ˙ 1 | + k 1 B 1 + B 2 .
Energies 15 00934 g030
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Jastrzębski, M.; Kabziński, J.; Mosiołek, P. Finite-Time, Robust, and Adaptive Motion Control with State Constraints: Controller Derivation and Real Plant Experiments. Energies 2022, 15, 934. https://doi.org/10.3390/en15030934

AMA Style

Jastrzębski M, Kabziński J, Mosiołek P. Finite-Time, Robust, and Adaptive Motion Control with State Constraints: Controller Derivation and Real Plant Experiments. Energies. 2022; 15(3):934. https://doi.org/10.3390/en15030934

Chicago/Turabian Style

Jastrzębski, Marcin, Jacek Kabziński, and Przemysław Mosiołek. 2022. "Finite-Time, Robust, and Adaptive Motion Control with State Constraints: Controller Derivation and Real Plant Experiments" Energies 15, no. 3: 934. https://doi.org/10.3390/en15030934

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop