3 - Control Strategies For Servo Drives - Rev 30-03-2021
3 - Control Strategies For Servo Drives - Rev 30-03-2021
3 - Control Strategies For Servo Drives - Rev 30-03-2021
Sergio Junco
Departamento de Control, Escuela de Ingeniería Electrónica.
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Universidad Nacional de Rosario
[email protected]
For a given system, the (open-loop) trajectory planning problem (TPP) consists in forcing its output y(t) being
identical to a (sufficiently smooth) reference trajectory y*(t). Suppose that u(t) = S (y(t)) is the inverse
−1
model of the dynamic I-O relationship y(t) = S(u(t)). Then, TPP is simply solved specifying the control input
to be u ≡ u* = S −1
(y*), provided that the system is at rest and that no disturbance enters it (this will be
Considering the PM-DCM, the inverse model u = S − 1(y) is given by Eq. (1), where the notation is as follows:
uc = Ua is the control input; y = ω is the output variable; and up = τc is the disturbance input; 𝐾𝐾𝑁𝑁 is the
Remark 1. The inverse model(1) u = S − 1(y) is nothing but the re-ordered differential equation governing the
motor speed dynamics, which is given in Eq. (2) and has been normalized in Eq. (3). Eq. (4) reflects the
correspondences among the mathematical and the physical parameters. Note the presence of the load torque, i.e.,
𝑅𝑅 𝑏𝑏 𝑅𝑅𝑎𝑎 𝑏𝑏 + 𝐾𝐾𝑁𝑁 2 𝐾𝐾 𝑅𝑅 1
𝑦𝑦̈ + � 𝐿𝐿𝑎𝑎 + 𝐽𝐽 � 𝑦𝑦̇ + 𝐿𝐿𝑎𝑎 𝐽𝐽
𝑦𝑦 = 𝐿𝐿 𝑁𝑁𝐽𝐽 𝑢𝑢𝑐𝑐 − 𝐿𝐿 𝑎𝑎𝐽𝐽 𝑢𝑢𝑝𝑝 − 𝐽𝐽 𝑢𝑢̇ 𝑝𝑝 (2)
𝑎𝑎 𝑎𝑎 𝑎𝑎
𝑦𝑦̈ (𝑡𝑡) + 𝑎𝑎1 𝑦𝑦̇ (𝑡𝑡) + 𝑎𝑎2 𝑦𝑦(𝑡𝑡) = 𝑏𝑏0𝑢𝑢𝑐𝑐 (𝑡𝑡) − 𝑐𝑐𝑜𝑜 𝑢𝑢𝑝𝑝 (𝑡𝑡) − 𝑐𝑐1 𝑢𝑢̇ 𝑝𝑝 (𝑡𝑡) (3)
Now, computing the input as specified in Eq. (5), the planned trajectory y*(t) will be impressed to the system
(1)
This means that the above-mentioned I-O relationship y = S(u) is an integral model, for
instance the usual DCM block-diagram in integral causality.
𝐿𝐿𝑎𝑎 𝐽𝐽 𝑅𝑅𝑎𝑎 𝐽𝐽 + 𝐿𝐿𝑎𝑎 𝑏𝑏 𝑅𝑅𝑎𝑎 𝑏𝑏 + 𝐾𝐾𝑁𝑁 2
𝑢𝑢𝑐𝑐 (𝑡𝑡) = 𝑢𝑢𝑐𝑐∗ (𝑡𝑡) = 𝐾𝐾𝑁𝑁
𝑦𝑦̈ ∗ (𝑡𝑡) + 𝐾𝐾𝑁𝑁
𝑦𝑦̇ ∗ (𝑡𝑡) + 𝑦𝑦 ∗ (𝑡𝑡) (5)
𝐾𝐾𝑁𝑁
Remark 2. Note that the first two derivatives of the reference signal are needed. This is not a problem, since the
reference can be built as a sufficiently smooth time-function (for instance, using polynomials). Another
(approximate) solution is reached via injecting the reference to an arbitrarily fast PT2–system. It will yield its
output and its first two derivatives arbitrarily close to the reference, thus allowing using them instead of the
original signals.
Remark 3. In order to ensure y (t ) ≡ y * (t ) even in the presence of a disturbance torque, the open-loop control
law of Eq. (5) should be modified as indicated in Eq. (6).This implies the knowledge of the torque and its first
derivative. As this is usually not the case, a feedback loop is needed to reject the disturbance. Only an asymptotic
rejection can be reached. For instance, as it is well known, implementing an integral feedback-loop would allow
to reject a constant disturbance. This will be explicited when solving the next problem (ATP) in these notes.
Other solutions would require estimating the disturbance signal.
Remark 4. Non-zero initial conditions will yield an error signal e(t) = y (t ) − y * (t ) , which will asymptotically
vanish with the open-loop dynamics of the machine.
N.B.: The above mentioned asymptotic vanishing of the error is not a general property, it only holds for stable,
minimum phase (MPh) (control) input-output relationship y(t) = S(u(t)) (this is the case in this motor model).
It does not hold if the plant model is either unstable or non-minimum phase (NMPh) or both. In the first case
the source of instability is the unstable dynamics of the plant (the unstable poles in a LTI system), in the second
case the instability is due to the plant right-half plane zeros, which appear as poles between the reference and
the control input when inverting the model.
Summarizing, with this open-loop control technique the output can be forced to follow a planned trajectory
only if the disturbances are measured and exactly cancelled and the plant is MPh and stable. But even in this
case the error dynamics cannot be chosen, it remains equal to the open-loop system dynamics. To be able to cope
with these problems feedback control is necessary.
2. Asymptotic Tracking
2.1 ATP − Asymptotic Tracking Problem. Given the output signal y(t) and the n−differentiable
reference signal y*(t), solving the problem of asymptotic tracking consists in finding an input signal
uc(t) such that the tracking error signal e(t) = y(t) − y*(t) asymptotically tends to zero when time goes
to infinity. For y(t) satisfying Eq. (3), where n = 2, forcing the error dynamics to satisfy Eq. (7) –with
As it can be easily verified, the problem can be solved in the following three steps:
AT1. Exact disturbance compensation. This can be achieved through the following control action uc1(t) (a
𝑦𝑦̈ (𝑡𝑡) + 𝑎𝑎1 𝑦𝑦̇ (𝑡𝑡) + 𝑎𝑎2 𝑦𝑦(𝑡𝑡) = 𝑏𝑏0 𝑢𝑢𝑐𝑐2 (𝑡𝑡) + 𝑏𝑏𝑜𝑜 𝑢𝑢𝑐𝑐3(𝑡𝑡) (11)
Remark 5. Now only the control input acts on the plant. Noticing that the transfer function is of PT2-type it
can immediately be concluded that the system is not able to asymptotically follow arbitrarily variable inputs
(just think of sinusoidal inputs and the Bode amplitude and phase diagrams of the transfer function).
AT2. Forcing the free output dynamics being equal to the error dynamics. This will yield the output
𝑦𝑦̈ (𝑡𝑡) + 𝑘𝑘1 𝑦𝑦̇ (𝑡𝑡) + 𝑘𝑘2 𝑦𝑦(𝑡𝑡) = 𝑏𝑏𝑜𝑜 𝑢𝑢𝑐𝑐3(𝑡𝑡) (12)
AT3. Feedforwarding the reference signal. This will yield Eq. (7), the desired dynamics for the error signal
e(t).
1
𝑢𝑢𝑐𝑐3 (𝑡𝑡) = 𝑏𝑏0
[𝑦𝑦̈ ∗ (𝑡𝑡) + 𝑘𝑘1 𝑦𝑦̇ ∗ (𝑡𝑡) + 𝑘𝑘2 𝑦𝑦 ∗ (𝑡𝑡)] (15)
Remark 6. The previous three-step procedure can be generalized to many n-order dynamic models. For
nonlinear systems this could involve the exact compensation of nonlinearities, and checking the stability of
Remark 7. In order to implement step AT1, the instantaneous knowledge (measurement/exact prediction) of
the disturbance signal and its first (in general, its n − rp) derivative is unavoidable. If this is not the case, then
this solution cannot be implemented: the error dynamics will be driven by a disturbance term, as shown in Eq.
(16). The well-known solution to the complementary task of asymptotically rejecting a constant disturbance
𝑅𝑅 1
𝑒𝑒̈ (𝑡𝑡) + 𝑘𝑘1 𝑒𝑒̇ + 𝑘𝑘2 𝑒𝑒 = − 𝐿𝐿 𝑎𝑎𝐽𝐽 𝜏𝜏𝑐𝑐 (𝑡𝑡) − 𝐽𝐽 𝜏𝜏̇𝑐𝑐 (𝑡𝑡) (16)
𝑎𝑎
Figure 1: Graphic representation of the speed tracking control law under ideal conditions.
As can be seen in Figure 1 above, the step AT3 is equivalent to connect in cascade the inverse model of the
plant without disturbances and the open-loop dynamics modified by the feedback loops according to uc2(t).
2.2 ATP_DR − Asymptotic Tracking Problem with Disturbance Rejection. A constant disturbance
can be asymptotically rejected via the substitution (into the previous solution of ATP) of the integral
output-feedback loop given by Eq. (18) below in place of the term uc1(t), which will render the control
law of Eq. (17). The coefficient should be chosen in order to ensure asymptotic stability with a
where
u DR (t ) = k I ∫ [ y * (t ) − y (t )] dt (18)
To implement any of the previous control laws the knowledge of all the machine parameters and of some
Even if this requirement is generally satisfied, it should be noticed that this knowledge is only an
approximated one. Indeed, there is always a parameter variation, usually fast due to operating conditions
(variation of electric resistance due to thermal effects, for instance), and rather slow due –for instance– to
component aging. This means that rated (nominal) or estimated values of the parameters are entered in the
control laws, which will degrade the asymptotic property of the tracking error. This can be investigated by (i)
replacing in the control law the value of any true parameter, say 𝑃𝑃, by its estimated valued 𝑃𝑃� (be it the rated
value 𝑃𝑃𝑅𝑅 , i.e., 𝑃𝑃� = 𝑃𝑃𝑅𝑅 , or any adjustable one obtained by an online estimation algorithm), then (ii) writing 𝑃𝑃�
in terms of the estimation error 𝑒𝑒𝑃𝑃 ≔ 𝑃𝑃 − 𝑃𝑃�, i.e., writing 𝑃𝑃� ≔ 𝑃𝑃 − 𝑒𝑒𝑃𝑃 and, finally (iii) obtaining and
analyzing the new error dynamics, which will no longer satisfy the homogeneous equation (7) but will be
To implement the full-knowledge controller (8), further specified in (10), (14) and (15), the evolution of the
following variables are needed: (i) the load torque 𝜏𝜏𝑐𝑐 , (ii) the machine rotational speed
𝑦𝑦 = 𝜔𝜔 and acceleration 𝑦𝑦̇ = 𝛼𝛼, respectively, and, (iii) the speed reference 𝑦𝑦 ∗ = 𝜔𝜔∗ and its time derivatives.
The solution to the latter requirement has already been suggested in Remark 2.
The load torque 𝜏𝜏𝑐𝑐 is usually not measured. If it is known to be approximately (piece-wise) constant, then the
The speed is usually measured (notice that there are so-called speed-sensorless controllers, which use
estimates of this variable!) but the acceleration is not. This requires reconstructing or estimating the
acceleration.
Notice that instead of the acceleration the armature current 𝐼𝐼𝑎𝑎 is measured in this case, which is easy to
perform and also necessary in order to add a current limitation capability to the controller (see § “Limitación
• If neither 𝜏𝜏𝑐𝑐 nor an estimation 𝜏𝜏�𝑐𝑐 are known, the first attempt to obtain the acceleration would be to
implement the time derivative of the measured rotational speed, as 𝛼𝛼(𝑡𝑡) = 𝜔𝜔̇ (𝑡𝑡). But this is not a
good idea as it would possibly bring unacceptable numerical errors in the case of a digital
implementation and is not physically realizable in an analog context (because of the negative relative
degree of the relationship between 𝜔𝜔 and 𝛼𝛼). The solution in this line of thinking is to implement an
implementation. All of this can be verified in the following block diagram realization of the DT1–
transfer function.
yields
1�
𝑠𝑠 1 𝛵𝛵1
Figure 3: Block diagram of a DT1 = − (22)
1+𝛵𝛵1 𝛵𝛵1 1+𝛵𝛵1 𝑠𝑠
The choice of the time constant 𝛵𝛵1 results from a trade-off between capturing the expected range of
speed variations (1/𝛵𝛵1 as high as necessary) and suppressing the (usually high-frequency) noise
signals contained in the speed measurement (1/𝛵𝛵1 as low as necessary). Draw the Bode diagram of
It is easy to verify by inspection of the block diagram of Figure 2 or equation (20) that, once the acceleration
estimated, the load torque can be obtained as given in (23). This implies that only the speed and the armature
�
𝜏𝜏𝑐𝑐 = 𝐾𝐾𝑁𝑁 𝐼𝐼𝑎𝑎 − 𝑏𝑏𝑏𝑏 − 𝐽𝐽𝛼𝛼� (23)
Figure 4 shows an implementation of this case, where DT1–transfer functions are used to approximate the time
derivatives of speed and load torque. Further, the derivatives of the reference signal are obtained by injecting
it into a fast PT2-system, as suggested in Remark 2. The PT2-system parameters 𝛽𝛽1 and 𝛽𝛽2 have to be chosen
Suppose a first order system driven by a control input and a perturbation, for instance as given in Eq. (24).
Further, suppose closing the control loop –Eq. (25)– with the PI-regulator of Eq. (26), which is tuned as to
𝑇𝑇1 𝑦𝑦̇ (𝑡𝑡) + 𝑦𝑦(𝑡𝑡) = 𝑏𝑏0 𝑢𝑢𝑐𝑐 (𝑡𝑡) − 𝑐𝑐0 𝑢𝑢𝑝𝑝 (𝑡𝑡) (24)
U C ( s ) = GPI ( s ) [Y ∗ ( s ) − Y ( s )] (25)
1 + TI s
GPI ( s ) = K PI (26)
TI s
Then, the closed-loop transfer function from the reference input to the output (the “complementary sensitivity
function”)(2) will be a PT1 , whose step response –having no overshoot– can be made arbitrarily fast choosing
arbitrarily high the coefficient KPI. (this is only mathematically valid, as the faster the response the higher the
values of the control input, a situation that have actuator limitations in real systems). The particular tuning TI
= T1 of the PI-regulator eliminates the dynamics of the plant from the control-I/O relationship, BUT NOT
from the disturbance-I/O relationship. This means that the disturbance rejection of the closed-loop will be
determined not by the tuning of KPI but from the (in comparison slow) denominator of the plant dynamics
(1 + 𝑇𝑇1 𝑠𝑠).
Draw a block diagram of the closed-loop explicitly showing the plant and the PI-regulator. Look at the
position of the latter with respect to both, the control and the disturbance inputs.
4.1 Exercises
Compute the resulting transfer function from the disturbance input to the output.
Compare both transfer functions and discuss the consequences of the differences, for instance in
For different values of T1, perform the following simulation experiment: injection of a step reference
followed by a step disturbance, the latter being injected once the reference has been reached by the
output.
(2)
For the definition of this and other functions in feedback configurations, see for instance
“Seron, M; J. Braslavsky; and G. Goodwin, Fundamental Limitations in Filtering and Control,
Springer Verlag, London, 1997”.
4.2 Application to DC-Motor
4.2.1 Use the DCM-model with La = 0, whose transfer function is a PT1. Repeat the previous simulation
experiments. Always look at the values of the armature voltage and current. Set the gain KPI equal
to the highest value admitted by the armature current or voltage limitations. Use different values of
the mechanical time constant TM.
4.2.2 For the case where the dynamics of the disturbance rejection is not admissible (high TM), redesign
the PI-regulator. For instance, choose the gains KPI and TI as to “arbitrarily” allocate the closed-loop
transfer functions poles at will (observe the structural difference among the new and the old transfer
functions!). “Arbitrarily” is in fact restricted by the current or voltage limitations!