1 Introduction

The performance of control algorithms and techniques is studied in academia in terms of their response to step inputs. The performance is analyzed in terms of the steady state error and the transient characteristics which include rise time, overshoot, oscillations and settling time. This is clearly seen in several survey and comparison papers which have been published at different times [13]. Novel control techniques are also evaluated and compared to existing ones using the same criteria of step response [46]. However a large number of control applications in practice do not operate with a fixed reference. Further, a large number of applications do not operate with step changes in the reference. The reference changes with time at different rates and the controller is expected to ensure that the system output tracks such a dynamically changing reference in an effective manner. Hence it is important that the performance of a controller be investigated for such applications.

DC motors are one of the most popular actuators in the industry and are used in several applications including plotters, robotic arms, wheeled robots and others which require trajectory tracking. The ability of the controller to track some known or calculated trajectory effectively is extremely important in all these applications. Over the years, several publications have also looked at the performance of control techniques for such trajectory tracking applications. While references [710] have looked at the performance of different control techniques when applied to the trajectory control of a DC motor, reference [11] specifically looks at the trajectory tracking performance in a Cartesian XY plotter. The tracking performance of existing control techniques for applications including robotic manipulators and wheeled robots which use DC motors has also been studied in [1214].

Experience mapping based prediction controller (EMPC) is a novel controller which has been developed and implemented on a DC motor position control system in [1518]. The concepts of EMPC are based on two important principles of human motor control (HMC) mechanism. First, in HMC, direct interaction with the system to be controlled is used for learning and the experiences developed through this direct interaction result in reorganization of cortical maps leading to experience mapping [1921]. Second, prediction mechanism is used in HMC where the developed experience maps are used to predict the input to be fed to the system for the required output and to predict the system output for the applied control input [22, 23]. HMC achieves accurate control and adaptation to system changes by combining both these concepts [21]. Ultimately in HMC, practicing tasks can lead to control with reduced effort and without conscious thought. This leads to reduced feedback and hence a quasi-open-loop control structure [21].

These concepts have been used to develop EMPC in [1518]. The main advantage of EMPC is its capability to control systems and adapt to parameter changes without the use of an accurate mathematical model of the plant. The performance of EMPC is studied in [15, 16] in terms of its step response characteristics and compared with the popular model reference adaptive controller (MRAC). A novel bipolar control action for EMPC is presented in [17] and its performance also assessed by analyzing the step response. The adaptation capabilities of EMPC has also been studied for changes to various system parameters in [1517] using step responses and the performance of EMPC in terms of transient and steady state error characteristics of the step response is found to be good. A novel correction technique presented in [18] is used to further enhance the adaptation capabilities of EMPC and is tested on highly non-linear position control systems. However, the performance analysis of EMPC for trajectory tracking applications is not present in literature. Although Saikumar et al. [15] provides the response of EMPC for sinusoidal and sawtooth reference waveforms, no analysis is carried out with respect to its performance. Further, a large number of trajectory control applications require smooth tracking and these control aspect studies of EMPC is not present in literature.

Hence the performance of EMPC for trajectory tracking applications is studied in Sect. 2 with respect to the deviation from the required pattern and the smoothness of tracking. Further, a new technique is proposed in Sect. 3 to improve the trajectory tracking of EMPC and its performance is compared with that of MRAC and linear quadratic Gaussian (LQG) controller. The discussed techniques are implemented on a XY plotter to analyze the performance of EMPC for path tracking applications and the results are discussed in Sect. 4.

2 Experience mapping based prediction controller (EMPC)

The two important principles of HMC used for the development of EMPC have been stated in the previous section. Experience mapping should be achieved through direct interaction with the system without the need for a detailed mathematical model of the plant. The knowledge base created using these experiences is termed experience mapped knowledge-base (EMK) [15, 16]. In HMC, experiences are developed with known patterns of inputs and bounded initial conditions. The same concept is used for the development of EMK in EMPC. Saikumar et al. [15, 16] propose that a rectangular-input of duration \(T_{on}\) with amplitude fixed to the maximum allowed value (say \(A_m\)) for the given plant be used. Further the system being at steady state is considered as the bounded initial conditions required before the application of the rectangular input [15, 16].

Now, consider any stable LTI Type 1 system H(s) with \((n + 1)\) poles (\(p_i\) where \(1\ge i\ge n\) and \(p_{n+1}=0\)) and m zeros (\(z_i\) where \(1\ge i\ge m\)) such that \(n \ge m\) given by Eq. (1),

$$\begin{aligned} H(s)= \frac{(s-z_1 )(s-z_2 ),\ldots ,(s-z_m)}{s(s-p_1 )(s-p_2 ),\ldots ,(s-p_n)} \end{aligned}$$
(1)

Assuming that the initial steady state system output \(y(t = 0) = 0\), the system output when the rectangular input is applied is given as

$$\begin{aligned} Y(s) = \frac{A_m \cdot \big (1-e^{(-sT_{on})}\big )}{s}\cdot H(s) \end{aligned}$$
(2)

The steady state system output can be obtained by applying final value theorem to get

$$\begin{aligned} y(\infty ) = Y_{ss} = K_{sa}\times T_{on} \end{aligned}$$
(3)

where \(K_{sa} = A_m \times \dfrac{b_0}{a_0}\), \(b_0 = \prod _{i=1}^{m}(-z_i)\), \(a_0 = \prod _{i=1}^{n}(-p_i)\) and \(A_m\) is the amplitude of the rectangular input. Equation (3) shows that a linear relationship exists between the steady state output \(Y_{ss}\) and the duration of the rectangular input \(T_{on}\).

Fig. 1
figure 1

Comparison of unipolar and bipolar control action. a Unipolar, b Bipolar

It must be noted that the application of the rectangular input results in a change in the steady state output \(\Delta Y_{ss}\) given by Eq. (3). However since we consider, \(y(t = 0) = 0\), we can consider \(\Delta Y_{ss} = Y_{ss}\) for the sake of simplicity. Also although Eq. (3) provides for a positive steady state output, a negative steady state value \(Y_{ss}\) can also be achieved by applying a negative amplitude rectangular input to the system while maintaining the magnitude of the input at \(A_m\) resulting in a negative value of \(K_{sa}\). Assuming that the system responds in a similar manner irrespective of the polarity of the input, the linear relationship between \(Y_{ss}\) and \(T_{on}\) can be ensured even in this case.

This linear relation seen in Eq. (3) can be used to predict the required duration \(T_{on}\) of the rectangular input that needs to be applied to the system to achieve any required system steady state output value as provided by the reference, if the value of \(K_{sa}\) is known. Hence, a single rectangular input of any heuristically determined duration can be applied initially to determine the value of \(K_{sa}\) and this can be used for the control of the Type 1 system.

The transfer function of an ideal PMDC motor actuated rotary positioning system is given in [24] as

$$\begin{aligned} \dfrac{\theta (s)}{V_i(s)} = \dfrac{K_t}{L_aJ_ms^3 + (R_aJ_m + B_mL_a)s^2 + (K_bK_t + R_aB_m)s}\nonumber \\ \end{aligned}$$
(4)

where \(V_i\) is the applied input voltage to the motor, \(\theta \) is the position as measured by the sensor, \(L_a\) and \(R_a\) are the armature inductance and resistance respectively, \(J_m\) and \(B_m\) are the total inertia and viscous friction coefficient as experienced by the motor respectively, \(K_t\) is the torque constant and \(K_b\) is the back emf constant.

The transfer function of the PMDC motor model given in Eq. (4) matches well with the general transfer function of H(s) provided in Eq. (1) and hence the rectangular input can be used for the control of the PMDC motor based position control system also. The steady state initial conditions required before the application of the rectangular input is that the motor shaft be at rest. This is when the velocity and acceleration of the motor are zero or have negligibly small values. The amplitude of the rectangular input \(A_m\) is fixed to the maximum allowed terminal voltage \(V_m\) of the motor. The application of the rectangular input results in the motor being turned with the \(V_m\) for duration \(T_{on}\). After this the motor is allowed to coast to a halt. The steady state output change for such a system is the total displacement of the motor achieved by the rectangular input, determined after it comes to rest and this is denoted as \(P_{total}\). Hence for an ideal position control system, there should exist a linear relation between \(T_{on}\) and \(P_{total}\). Since a negative voltage is not applied to the motor to brake it faster and instead the friction elements are used to slow the motor shaft gradually, this rectangular input action is also termed unipolar control action. This is shown in Fig. 1.

The linear relationship in Eq. (3) holds true only for ideal LTI systems. Although the transfer function given in Eq. (4) presents an ideal picture for the PMDC motor based position control systems, practical systems consist of non-ideal and non-linear components. The presence of friction in position control mechanisms results in several unnecessary non-linear effects irrespective of the actuator used. Static friction is a discontinuous component and Stribeck effect is non-linear and difficult to model. PMDC motors also suffer from torque ripples due to cogging. Practical applications involving PMDC motors also use current limiting for armature protection which introduces more non-linearities into the system. These non-ideal elements result in a non-linear relationship between the steady state output \(P_{total}\) and duration of the rectangular input \(T_{on}\) and the effects of these have been studied in [17].

Hence the method of initial learning is proposed in [15, 16] to counter these problems present in a practical position control system. To counter the nonlinearity of the \(T_{on}\) to \(P_{total}\) relationship, EMK is developed for this system by learning the values of \(T_{on}\) for ‘n’ different values of the steady state output \(P_{total}\). This is used to obtain a piece-wise linear relationship between \(P_{total}\) and \(T_{on}\). The displacement achieved by the motor till \(t = T_{on}\) when the motor voltage is made zero is termed \(P_{on}\) and this is also recorded against the respective values of \(T_{on}\). This is as shown in Fig. 1. The learned values of \(T_{on}\) and the corresponding values of \(P_{total}\) and \(P_{on}\) create the EMK.

However the initial learning method of [15, 16] uses a trial and error technique to learn the values of \(T_{on}\) for different values of \(P_{total}\) and this is time-consuming. Further it is also seen that the effects of static friction like presliding displacement and varying breakaway force are prominent initially in the stick-slip region and hence the relation between \(T_{on}\) and \(P_{total}\) is more non-linear for small values of \(T_{on}\) [17, 25, 26]. To counter both these problems a velocity based initial learning technique is proposed in [17]. This technique utilizes the velocity of the motor to determine the different values of \(T_{on}\) for which the corresponding values of \(P_{on}\) and \(P_{total}\) are recorded. Further, memory is specifically alloted for learning the values of \(P_{on}\) and \(P_{total}\) for smaller values of \(T_{on}\). This velocity based initial learning technique presented in [17] is less time-consuming and is also found to be more effective for precision position control.

The EMK developed using either of the initial learning techniques is used for position control using the iterative predictive action described in [15]. The EMK has been developed to obtain a piece-wise linearization of the non-linear relationship between \(T_{on}\) and \(P_{total}\). Hence, for any change in the reference value R, the error between the current steady state output of the system \(Y_{ss}\) and the required steady state value given by R can be considered as the new demand D.

$$\begin{aligned} D = R - Y_{ss} \end{aligned}$$
(5)

The duration \(T_{on}\) of the rectangular input to be applied to the position control system is predicted using the EMK using linear interpolation if necessary as shown in Eq. (6). The input is applied when the motor is at rest and the motor is then allowed to coast to a halt.

$$\begin{aligned} T_{on} = \frac{({T_{on}}_1 - {T_{on}}_2) \times (|D| - {P_{total}}_2)}{{P_{total}}_1 - {P_{total}}_2} + {T_{on}}_2 \end{aligned}$$
(6)

where D is current position error and acts as the demand for the iteration, \({T_{on}}_1\) and \({T_{on}}_2\) are the corresponding control values for \({P_{total}}_1\) and \({P_{total}}_2\) respectively such that \({P_{total}}_1> D\ge {P_{total}}_2\) and \({P_{total}}_1\) and \({P_{total}}_2\) being the closest values of \(P_{total}\) to D in the EMK.

Since position control is achieved by the accurate prediction of the duration \(T_{on}\) using the learned experience mapping of EMK, this is also termed time based control (TBC). Any errors due to noise, changes in system or prediction inaccuracies is considered as the new demand D after the motor comes to a halt and the value of \(T_{on}\) is predicted again using the EMK and a new rectangular input is applied to the system. This iterative predictive action approach is shown in Fig. 2, where Gaussian noise has been added to the control input. This results in errors which can be seen in the zoom-in of the vertical axis. It is clearly seen that EMPC uses multiples iterations to reduce such errors and to maintain the system output at the given reference value.

Fig. 2
figure 2

Simulated response of EMPC with Gaussian noise added to the control input of the system

Position based control (PBC) is also developed in [15] to TBC. Here \(P_{on}\) is predicted using Eq. (7) instead of \(T_{on}\) using linear interpolation.

$$\begin{aligned} P_{on} = \frac{({P_{on}}_1 - {P_{on}}_2) \times (|D| - {P_{total}}_2)}{{P_{total}}_1 - {P_{total}}_2} + {P_{on}}_2 \end{aligned}$$
(7)

The voltage \(V_m\) is applied to the terminals of the motor till the shaft is displaced by the predicted \(P_{on}\) value and this is used for control. PBC has the advantages of reducing errors due to sensor noise, system noise and minor variations in system parameters [15, 16]. However PBC suffers due to the quantized nature of the position feedback used in digital systems which is prominent for small values of D. TBC is found to be effective in such cases [15, 16]. Hence a combination of TBC and PBC is used in [1517] to achieve accurate position control where PBC is used for larger values of D to reduce errors due to noise, and TBC is used for smaller values of D to achieve zero steady state error. The boundary (\(TP_{bdy}\)) is also determined by using the EMK to ensure that PBC is only used for those values of D where the errors seen due to the quantized nature of position feedback are negligible [17].

The use of iterative predictive action ensures that small errors due to noise are removed. However, significant changes in system parameters can result in a deterioration of the performance and can even lead to instability. Hence, adaptation to system parameter changes is introduced into EMPC with on-job relearning (OJR) [1517]. It is ensured that even in this case, OJR is only used at the end of every iterative predictive action. Here, the value of the expected change in steady state which is D is compared with the measured change in the steady state value for adaptation. The ratio of expected to measured is calculated as the parameter correction coefficient (PCC), at the end of every iteration and is used to correct the prediction of the next iteration. In order to reduce the effects of noise on adaptation, a weighted technique is used in [1517] to calculate PCC as

$$\begin{aligned} \textit{PCC} = \dfrac{W\cdot \dfrac{\textit{Predicted}\ \textit{P}_{\textit{total}}}{{ Measured}\ P_{ total}} + PCC}{W + 1} \end{aligned}$$
(8)

where W is the weightage given to the latest iteration output. Two separate PCC variables are used for TBC and PBC to correct the appropriate prediction variable.

This technique of adaptation results in a quasi-open-loop control approach where the action that needs to be applied to the system to achieve the required output is predicted using past experiences and the resultant response is only monitored. Any deviation from the expected response is used as feedback and results in adaptation only after the system achieves steady state. The algorithm used for the iterative predictive action along with OJR is provided in Algorithm 1.

figure a

A new control action termed bipolar control action is proposed and studied in [17]. Here, the polarity of the voltage applied to the motor is reversed after \(t = T_{on}\) to actively brake the position control system. This reversed polarity voltage is applied till the velocity of the position control system becomes zero or is negligibly small. This reduces the displacement of the motor given by \(P_{total} - P_{on}\) in the \(2^{nd}\) phase as shown in Fig. 1. This is compensated by applying a rectangular input of larger duration \(T_{on}\) compared to the unipolar control action in order to achieve a larger \(P_{on}\) and hence achieve the same \(P_{total}\). This bipolar control action decreases the settling time of the system significantly and the use of maximum terminal voltage \(V_m\) ensures that this results in an optimal settling time for the position control system. Reference [17] proves that the use of bipolar control action introduces robustness into EMPC and reduces the errors seen in control due to changes in system parameters and also helps in achieving faster adaptation. The use of the bipolar control action results in a small modification to Algorithm 1 in lines 17 and 27 where the polarity of the voltage is reversed instead of applying zero voltage.

The performance of EMPC has been tested by studying the step responses in [15, 16]. Bipolar control action studied in [17] also analyzes the performance of the control action in terms of the step response characteristics. The performance of EMPC for dynamically changing reference r(t) is studied in this paper. In Fig. 1 it can be seen that the use of active braking in bipolar control action reduces the overall time required for the motor to be displaced by \(P_{total}\). This is a useful characteristic for tracking applications as this ensures that a fast changing reference can be tracked by the controller. Hence the bipolar control action is considered for trajectory tracking studies.

A simulation model is developed for the PMDC motor based position control system in MATLAB in SIMULINK using the motor specifications of [27]. The inertia and rotational friction blocks present in SimMechanics are used in the model. It must be noted that since EMPC does not rely on the accurate mathematical model of the plant for control, the choice of the friction model used in the friction block of MATLAB does not affect the performance of EMPC. An encoder block with an effective resolution of 8192 pulses per rotation is used for feedback. EMK is initially developed in this model for bipolar control action for inertia \(I = 3.0 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) and static friction torque \(F = 20\) mNm. The EMK is developed by recording 100 values of \(T_{on}\), \(P_{on}\) and \(P_{total}\). The performance of EMPC for various reference curves is analyzed in terms of the root mean square of the error \((E_{RMS})\). This is calculated using the formula given by Eq. (9).

$$\begin{aligned} E_{\textit{RMS}} = {\sqrt{\frac{1}{N}\sum _{i = 1}^{N}\left( (r_i - \theta _{(i+j)})^2\right) }} \end{aligned}$$
(9)

where r is the reference position waveform to be followed and \(\theta \) is the measured position waveform. j is the offset introduced to remove the errors seen due to the system time-constant and delays of measurement. The time-constant of the system results in a delayed response in any system and this can lead to an offset seen between r and \(\theta \) with respect to time. This is especially true in cases where the reference changes initially at a rate faster than the time constant of the system. This can result in a large value of \(E_{\textit{RMS}}\) if directly calculated even when the waveform is tracked perfectly. Similarly delays in measurement and data acquisition can be seen as errors if \(\theta \) is directly compared with r. Hence the value of j is chosen to obtain the minimum possible value of \(E_{\textit{RMS}}\). The performance of EMPC is tested with the developed EMK for bipolar control action with the same values of I and F as mentioned before. The tracking responses are obtained for sinusoidal and triangular references, and selected position and velocity plots are provided in Figs. 3, 4 and 5.

Fig. 3
figure 3

Simulation of EMPC for sinusoidally changing reference of freq \(f = 0.5\) Hz. \(E_{RMS} = 101.22\) pulses

Fig. 4
figure 4

Simulation of EMPC for triangular pattern of changing reference. \(E_{RMS} = 44.78\) pulses

Fig. 5
figure 5

Simulation of EMPC for sinusoidally changing reference of freq \(f = 2.0\) Hz. \(E_{RMS} = 1305.4\) pulses

The results show that EMPC is able to track the reference well in Figs. 3 and 4 with a low \(E_{\textit{RMS}}\). However, the performance deteriorates slightly in Fig. 5 where r(t) changes at a much faster rate. Although bipolar control action which reduces the time required to achieve the same displacement \(P_{total}\) compared to the unipolar control action has been used, the performance is poor for such fast changes of reference. The \(E_{\textit{RMS}}\) is significantly higher in this case. Since OJR can be used for adaptation to changes in system parameters, the tracking response of EMPC for the same sinusoidal reference used in Fig. 5 is obtained after increasing the inertia I to \(6.7\times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\). The results provided in Fig. 6 also shows a similar deterioration in performance. The increase in inertia further adds to the slow response of the system and it is seen that the system is unable to keep up with the changing reference in this case. It must be noted that the response of Fig. 6 is obtained by using the same EMK used in Fig. 5, even though the value of I was increased.

Fig. 6
figure 6

Simulation of EMPC for sinusoidally changing reference of freq \(f = 2.0\) Hz with inertia \(I = 6.7\times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\). \(E_{RMS} = 1858.3\) pulses

The increase in the value of \(E_{\textit{RMS}}\) seen with either an increase in inertia or an increase in the rate of change of r(t) can be explained by the quasi-open-loop control approach of EMPC. In this approach, it is important that the control input to achieve the required output is predicted based on past experiences. The prediction takes place initially when the system is at steady state. The predicted action is applied and the reference and the system response are sampled again only at the end of the iterative predictive action when the system has settled into steady state again as seen in Algorithm 1. This approach works well for step responses as noted in [1517]. However in the case of constantly changing r(t), this introduces a limitation on the performance of EMPC. Unlike conventional systems, the sampling of r(t) and subsequent error computation are not done continuously at a high frequency in EMPC. Instead these are done only at the end of each iteration and hence the rate at which these are sampled (sampling frequency) depends on the time taken by the system to reach steady state. With EMPC since maximum allowed amplitude is used with the rectangular input, the total time taken to settle is purely dependent on the time constant of the system. Hence with EMPC, if the sampling frequency which is dependent on the system is well within the Nyquist criterion for the given changing r(t), then the system response is good as seen in Figs. 3 and 4. However as the rate of r(t) change increases, the system response deteriorates as seen in Figs. 5 and 6.

Corrective action by reference sampling The effect of not taking corrective action for changes in r(t) till the system settles into steady state can be seen in Fig. 7a, b. Here, two iterations are required to achieve the reference value which changes when the rectangular input has been applied. The novel correction technique presented in [18] samples the system response and corrects the applied action to improve adaptation to system changes. A similar technique can be developed to improve the tracking performance of EMPC where r(t) is sampled at regular intervals and corrective action taken in response to these changes. Hence this technique is termed ‘corrective action by reference sampling’.

Fig. 7
figure 7

Sampling of reference and prediction correction based on change. a Without reference sampling, b without reference sampling, c with reference sampling, d with reference sampling, e with reference sampling, f with reference sampling

Similar to the iterative predictive action, the reference and system output are sampled to obtain the value of D and predict \(T_{on}\) or \(P_{on}\). However, with the new technique, the change in r(t) is sampled even during the 1st phase of the applied rectangular input. The value of D is recalculated using Eq. (5) for the new value of R. It must be noted that the value of \(Y_{ss}\) does not change since this is the steady state output of the system. Corrective action is taken by recalculating the value of \(T_{on}\) or \(P_{on}\) using Eqs. (6) or (7) for the new value of D and the duration of the 1st phase of the rectangular input which has already been applied is dynamically modified appropriately. The algorithm for this technique is provided in brief in Algorithm 2. The effect of this technique is seen in Fig. 7c, d for unipolar control action where the reference changes when the rectangular input is applied and the duration of the 1st phase is increased in Fig. 7c compared to Fig. 7a and decreased in 7d compared to Fig. 7b.

It is important to note that r(t) is not sampled and no corrective action is taken in the 2nd phase. Irrespective of whether the motor is allowed to coast to a halt using unipolar control action or whether active braking is used with bipolar control action, any changes in r(t) is ignored in this phase. This is as seen in Fig. 7e. This ensures that the prediction and application of the rectangular input takes place only from the steady state condition and hence the accuracy of prediction using the developed EMK is good.

It is also possible that the duration of the input to be applied for the new value of R is smaller than the current applied duration. In this case, the 1st phase is ended immediately and the control action switches to the 2nd phase. This is seen in Fig. 7f where the system overshoots due to this reason and the required position is achieved by the next iterative predictive action.

figure b

In Fig. 7, r(t) changes by a large step. However, even in cases where r(t) changes constantly and in small increments, the same concept can be applied. This is tested on the same position control system simulation model used before for tracking and the results are obtained. It is seen that for the references used in Figs. 3 and 4, \(E_{\textit{RMS}}\) reduces from 101.22 to 57.42 and 44.78 to 43.67 respectively. However since the performance of EMPC was good in these cases even without corrective action by reference sampling, the improvement is less noticeable visually and hence the response graphs are not provided. In the case of Figs. 5 and 6, EMPC is unable to track the reference well. The tracking performance of EMPC using corrective action is shown for the same references and load conditions in Figs. 8 and 9. The improvement in tracking is very clear. The value of \(E_{\textit{RMS}}\) reduces by nearly 40 % in Fig. 8 and by nearly 60 % in Fig. 9. It must be noted that the same EMK used to obtain the results of Figs. 3, 4, 5, and 6 is used even in Figs. 8 and 9.

Fig. 8
figure 8

Simulation of EMPC with reference sampling for sinusoidally changing reference of freq \(f = 2.0\) Hz. \(E_{RMS} = 785.69\) pulses

Fig. 9
figure 9

Simulation of EMPC with reference sampling for sinusoidally changing reference of freq \(f = 2.0\) Hz with inertia \(I = 6.7\times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\). \(E_{RMS} = 727.27\) pulses

The use of the corrective action by reference sampling method improves the performance of EMPC by increasing the sampling frequency of the system. Here the changes in r(t) are not only sampled at the end of the iterative predictive action when the system achieves steady state, but also in the 1st phase of the applied rectangular input. As a result, the sampling frequency is only partially dependent on the system time constant in the 2nd phase where r(t) is not sampled. The sampling frequency in the 1st phase is constrained by the hardware used for control. For the results provided above, r(t) is sampled in the 1st phase at 1 KHz and corrective action taken if necessary. The increase in the overall sampling frequency results in the Nyquist criterion being satisfied and hence results in the improved performance seen in Figs. 8 and 9. It must be noted that although the response in Fig. 9 is obtained with the increase in I, the use of OJR for adaptation ensures good tracking performance.

3 Smooth position tracking

Although the corrective action by reference sampling method improves the tracking performance of EMPC in terms of reduced \(E_{\textit{RMS}}\), the limitation of both the techniques is that the velocity plots seen in Figs. 3, 4, 5, 6, 8, and 9 shows that the tracking is not smooth. This is due to the nature of EMPC control where a rectangular input of maximum amplitude and predicted duration is applied to the motor. The amplitude of the applied rectangular input is not changed irrespective of the magnitude of D. Only the duration of the 1st phase is varied appropriately. Even in the case where the reference is sampled and corrective action taken, this rectangular characteristic of input action remains unchanged. The use of bipolar control introduces a further sharp and jagged nature into the velocity profile since active braking is used to quickly reduce the velocity of the motor.

Position tracking requires that a specific displacement be achieved in a specified interval of time. If this displacement is achieved at almost a constant rate in that interval, i.e., at a constant velocity, then the tracking is smooth. However with EMPC, EMK is developed during initial learning where the rectangular input is applied only when the motor is at rest. The motor accelerates from rest and then is either allowed to coast to a halt or actively braked depending on the control action used. Since the motor starts from rest in every iteration, the duration of the 1st phase is large and increases with increasing rate of change of r(t). However this duration can be reduced if the motor is not at rest and is already at some velocity aiding the rotation of the motor in the same direction.

In any time-interval \(T_s\), if the displacement required is some D, then the constant velocity required for smooth tracking is \(\upsilon = D/T_s\). Now if we assume that the motor velocity at the beginning of the time interval is already \(\upsilon \), then the input fed to the motor in this interval should be to maintain the velocity at this steady state value of \(\upsilon \). The input to the DC motor can be PWM with the appropriate duty-cycle. This partially converts the position tracking problem into a velocity control problem where the required velocity is the displacement to be covered in that time interval and we could apply the appropriate duty-cycle PWM and hence track the position.

Hence, we explore the possibility of using the current framework and developed experiences of EMK in EMPC for velocity control predictions and attempt to utilize this method to improve the smoothness of tracking. However prediction and control of velocity is not part of the current EMPC control strategy. For the position control system, the value of \(T_{on}\) or \(P_{on}\) is predicted based on past experiences stored in the EMK to achieve any required position reference provided. Similarly, in order to achieve the required velocity, the duty-cycle of the PWM input to the system should be predicted. However when we endeavor to achieve this, the core concepts which require the use of past experiences developed through direct interaction should not be discarded. At the same time, if a separate initial learning process needs to be developed for this purpose, then this will lead to a larger memory requirement to store the additional EMK and will also require more time for interaction and learning. Hence we propose a small modification to the initial learning used for position control using the unipolar control action to make the process more efficient.

In the initial learning technique with unipolar control action explained in [15, 16] or the velocity based initial learning technique explained in [17], \(T_{on}\), \(P_{on}\) and \(P_{total}\) are recorded as shown in Fig. 1 and explained in Sect. 2. We propose that during this process, an additional parameter, \(T_{total}\) also be recorded as part of EMK. \(T_{total}\) is the sum of \(T_{on}\) and the time taken by the motor to coast to a halt after \(T_{on}\) with the unipolar control action. This is seen in Fig. 1.

Since average velocity is total displacement divided by total time, we can calculate average velocity as,

$$\begin{aligned} \textit{Velocity} = \frac{P_{total}}{T_{total}}\ \ \ \hbox {pulses/s} \end{aligned}$$
(10)

Similarly, since duty-cycle of the voltage applied is the percentage of time for which the voltage is maintained at maximum value, with the unipolar control action we can calculate duty-cycle as

$$\begin{aligned} Dty = \frac{T_{on}}{T_{total}} \end{aligned}$$
(11)

Since the EMK is developed with ‘n’ different values of \(T_{on}\), \(P_{on}\) and \(P_{total}\), the above two formulas can be used to obtain approximate duty-cycle values for ‘n’ different average velocity values. This is clearly a simplification. However, for some required steady-state velocity, this can be used to obtain an estimate of the duty-cycle that should be applied to the DC motor system using linear interpolation if necessary as shown in Eq. (12).

$$\begin{aligned} \textit{Predicted}\ Dty= & {} \dfrac{(Dty_1 - Dty_2) \times (\upsilon - Velocity_2)}{Velocity_1 - Velocity_2}\nonumber \\&+\, Dty_2 \end{aligned}$$
(12)

where \(\upsilon = |D|/T_s\)

This method of predicting the required duty-cycle using the EMK developed for position control with unipolar control action is tested in the simulation model. Different EMKs are developed in the simulation model for static friction torque values \(F = 20, 30, 40\) and 50 mNm with the value of inertia \(I = 3.0 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) being constant in all the cases. The duty-cycle to be applied to the motor for different velocity \(\upsilon \) values is predicted using Eq. (12) and is applied to the system in each of the cases. Then the resulting steady state velocity is measured and tabulated. The required and measured velocity values of the motor are plotted against the predicted duty-cycle values in Fig. 10, for all the different values of F. It is clear from Fig. 10 that the expected velocity and the measured velocity values match well for a large range of the duty-cycle values with the error greater for low velocities. This is because static and stribeck friction and the resultant stick-slip motion are more dominant at lower velocities. However, the error is not very high and the plots show that the proposed method can be used to estimate the duty-cycle for any required steady state velocity of the system using the EMK developed for position control using the unipolar control action.

Fig. 10
figure 10

Plot of expected velocity which is predicted using EMK versus velocity measured in simulation for different values of static friction torque F with the value of F provided above the plot curves

This method of predicting the duty-cycle can be attempted for smooth position tracking by converting position tracking into velocity tracking for the same system. r(t) is sampled regularly with a fixed sampling interval \(T_s\) and the required velocity is calculated for every sample interval by considering the error that has to be corrected in the given sample time \(T_s\). So required velocity in the interval k is given by

$$\begin{aligned} \upsilon _k = \frac{r_k - \theta _k}{T_s} \end{aligned}$$
(13)

where r is the position reference used for tracking, \(\theta \) is the current position. The implementation of the duty-cycle prediction method involves two steps. The required velocity is calculated every \(T_s\) interval using Eq. (13) and then the duty-cycle is predicted using Eq. (12) and applied to the system. In our case this was done at 1 KHz resulting in \(T_s = 1\) ms. The PWM frequency of the control input to the motor was also fixed at 1 KHz.

The use of the rectangular input in the previous unipolar control strategy is similar to using a switch between 100 and 0 % duty-cycle. This is even more exaggerated with bipolar control action since active braking was used. On the other hand, with the duty-cycle prediction method, the required velocity as calculated using Eq. (13) changes at each interval \(T_s\) in relation to changes seen in both r(t) and \(\theta (t)\) and hence the predicted and applied PWM duty-cycle also changes. Hence this could result in a smooth position tracking. This method also completely removes the dependence of the sampling frequency on the system time constant which was the case before.

However even with this method only the current error between the reference and the measured position is considered and velocity feedback is not being used. Further, this technique does not consider the rate change of r(t) with time. It must be noted that the duty-cycle predicted is to maintain steady state velocity and does not consider the acceleration required. So we propose a small modification to the calculation of required velocity by introducing the differential component taking both change in the position which is current velocity of the motor and change in r(t) into consideration. So we can calculate required velocity using Eq. (14) instead of Eq. (13) as

$$\begin{aligned} \upsilon _k= \frac{(r_k - \theta _k) + (\Delta r - \Delta \theta )}{T_s} \end{aligned}$$
(14)

where \(\Delta r = (r_k - r_{k-1})\) and \(\Delta P = (\theta _k - \theta _{k-1})\).

The performance of EMPC using this technique of predicting the duty-cycle using Eq. (12), for the required velocity calculated in each interval using Eq. (14) is tested in simulation. The performance of EMPC for step changes in reference has been tested under various circumstances and compared to the performance of MRAC in [1517]. Hence, for a comparative analysis of the tracking performance, EMPC using the duty-cycle prediction method is compared with MRAC and LQG controllers in simulation.

MRAC is a popular adaptive controller in literature and has been well studied for various applications [28, 29]. MRAC has been tested on PMDC motor based position control systems [3032], and has been used as the reference controller for performance comparison with EMPC in [1517]. The transfer function of the reference model used with MRAC is the same used for the comparison of step responses of EMPC with MRAC in [1517] and is provided below. The value of \(\alpha \) which determines the adaptation rate is chosen to be 10.

$$\begin{aligned} H_m(s)= \dfrac{1225}{(s^2+70s+1225)} \end{aligned}$$

LQG is a linear optimal and robust controller present in literature. The linear quadratic regulator is used as part of the controller with the Kalman Filter (KF) used as an optimal estimator [33]. The design of the LQR and KF for the control of PMDC motors is also present in literature [34, 35]. Although, LQG with KF is capable of providing robust performance, the performance is dependent on the accuracy of the estimated system parameter values. Hence an extended Kalman filter (EKF) can be used to ensure optimal control [36, 37]. This design of the LQG with the EKF is used for performance comparison with EMPC. The EKF is designed with the states of the estimator given by

$$\begin{aligned} \phi = \begin{bmatrix} i_a&\omega&\theta&R_a&\dfrac{1}{J_m}&T_l \end{bmatrix}^T \end{aligned}$$

which include the system states x and the parameters \(\psi \) to be estimated where \(\psi = \begin{bmatrix} R_a&\dfrac{1}{J_m}&T_l \end{bmatrix}^T \) where \(i_a\) is the armature current, \(\omega \) is the angular velocity, \(\theta \) is the angular position, \(R_a\) is the armature resistance, \(J_m\) is the effective inertia as seen by the motor, \(T_l\) is the external active load torque as seen by the motor. The covariance matrices Q and R of the EKF are chosen based on the expected variation in the parameter values to obtain the best possible performance.

The same motor, inertia and rotational friction blocks of SimMechanics used in the simulation models developed for EMPC, are used for both MRAC and LQG. In both the cases, arbitrarily generated reference is fed to the controllers separately to allow for the tuning of the controller gains. The necessary trajectory tracking responses are obtained after this and used for comparison with EMPC. In the case of EMPC, the EMK which was developed earlier for unipolar control action for \(I = 3.0 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) and \(F = 20\,\hbox {mNm}\) and used to obtain one of the plots of Fig. 10 is used. The tracking results are obtained for all the three control techniques considered for the reference and system parameters used in Figs. 3, 4, and 5 and shown in Figs. 11, 12, and 13 respectively. It can be seen from the velocity plots that the position tracking is very smooth compared to the previous two EMPC techniques. Further, it is seen that \(E_{\textit{RMS}}\) is significantly reduced with the duty-cycle prediction method. The largest improvement is seen in Fig. 13 where r(t) is easily tracked compared to the performance of EMPC in Figs. 5 and 8. This is in addition to the smoother tracking which can be seen in the velocity plots. Also, the tracking performance of EMPC using the duty-cycle prediction method is seen to perform better than both MRAC and LQG techniques. EMPC provides tracking with the least value of \(E_{\textit{RMS}}\), with the smoothness of tracking also better than both controllers.

Fig. 11
figure 11

Simulated results of EMPC using the duty-cycle prediction method, MRAC using \(H_m(s)\) and LQG for sinusoidally changing r(t) of freq \(f = 0.5\) Hz. a EMPC using duty-cycle prediction. \(E_{RMS}=6.98\) pulses, b MRAC. \(E_{RMS}=91.83\) pulses, c LQG \(E_{RMS}=100.16\) pulses

Fig. 12
figure 12

Simulated results of EMPC using the duty-cycle prediction method, MRAC using \(H_m(s)\) and LQG for triangular pattern of changing r(t). a EMPC using duty-cycle prediction. \(E_{RMS}=24.35\) pulses, b MRAC. \(E_{RMS}=4272.4\) pulses, c LQG. \(E_{RMS}=122.93\) pulses

Fig. 13
figure 13

Simulated results of EMPC using the duty-cycle prediction method, MRAC using \(H_m(s)\) and LQG for sinusoidally changing r(t) of freq \(f = 2.0\) Hz. a EMPC using duty-cycle prediction. \(E_{RMS}=111.01\) pulses, b MRAC. \(E_{RMS}=662.92\) pulses, c LQG. \(E_{RMS}=361.78\) pulses

The performance of EMPC using the duty-cycle prediction method is also tested with the increase in inertia I which was used to obtain the responses given in Figs. 6 and 9. It must be noted that in these two figures, since the value of inertia I is increased, OJR is used for adaptation. The performance of the duty-cycle prediction method is shown for the same reference and system conditions in Fig. 14. It is seen that the proposed novel technique improves performance even in this case with the value of \(E_{\textit{RMS}}\) reducing significantly, even though no technique similar to OJR is used for adaptation. This robustness of the duty-cycle prediction method is discussed later in this section.

Fig. 14
figure 14

Simulation of EMPC for sinusoidally changing reference of freq \(f = 2.0\) Hz with inertia \(I = 6.7 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) using the duty-cycle prediction. \(E_{RMS} = 359.73\) pulses

Fig. 15
figure 15

Implementation of EMPC for sinusoidally changing reference of freq \(f = 2.0\) Hz with inertia \(I = 6.7 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\). a EMPC \(E_{RMS} = 1704.3\) pulses, b EMPC with sampling of reference \(E_{RMS} = 1230.3\) pulses, c EMPC with duty-cycle prediction \(E_{RMS} = 368.3\) pulses

All the techniques tested in simulation are implemented on a practical setup. A PMDC motor actuated position control setup is used in the laboratory. The air-core DC motor whose specifications were used for simulation is used in the practical setup [27]. A capacitve encoder with an effective resolution of 8192 pulses is used for feedback with an electric load brake used to change the frictional load of the system. EMK is developed for bipolar control action and unipolar control action separately using the velocity based initial learning technique for inertia \(I = 6.7 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) and static friction torque \(F = 20\) mNm. During position tracking, the reference is sent to the microcontroller on which EMPC is implemented from a MATLAB code through the standard UART line at \(f = 1\) KHz. The position and the velocity of the motor is also sampled at the same rate and sent from the \(\mu c\) back to MATLAB. This sampled position and velocity data is stored in a .mat file and used to plot the results. The results for sinusoidal reference change of frequency \(f = 2.0\) Hz for the system is shown in Fig. 15. The velocity plots provide information about the smoothness of position tracking. For an increased inertia \(I = 1.0 \times 10^{-4}\,\hbox {kg}\,\hbox {m}^2\), the response is checked for sinusoidal reference change of frequency \(f = 1.0\) Hz and the results are shown in Fig. 16. OJR is used for adaptation with the first two techniques in this case. The \(E_{\textit{RMS}}\) is also provided for all the cases. It is clear from the position plots and the values of \(E_{\textit{RMS}}\) that the use of corrective action by reference sampling significantly improves the tracking performance of EMPC compared to the first method of sampling r(t) only when the motor is at rest. It must be noted that both these methods use bipolar control action and the corresponding EMK. However, the technique of duty-cycle prediction which uses the EMK developed for the unipolar control action reduces the value of \(E_{\textit{RMS}}\) further while providing a smooth tracking performance as seen in the velocity plots.

Fig. 16
figure 16

Implementation of EMPC for sinusoidally changing reference of freq \(f = 1.0\) Hz with inertia \(I = 1 \times 10^{-4}\,\hbox {kg}\,\hbox {m}^2\). a EMPC \(E_{RMS} = 1160.2\) pulses, b EMPC with sampling of reference \(E_{RMS} = 820.7\) pulses, c EMPC with duty-cycle prediction \(E_{RMS} = 171.4\) pulses

The robustness of the proposed position tracking technique using duty-cycle prediction is also tested on the same experimental setup using an arbitrary position pattern. The EMK is developed for unipolar control action for inertia \(I = 2 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) and static friction torque \(F = 20\) mNm and the response along with the reference pattern is shown in Fig. 17. The system is again tested for increase in inertia of \(I = 6.7 \times 10^{-5}\,\hbox {kg}\,\hbox {m}^2\) and increase in static friction of \(F = 50\) mNm separately. It must be noted that in both these cases, new EMKs are not developed and the EMK developed prior is used for control. It is seen that with position tracking using the duty-cycle prediction technique, EMPC is robust to changes in system parameters and the performance is good. The tracking is also smooth and the velocity of the motor closely follows the reference velocity pattern. The deviations from the reference are very small. Hence the performance with parameter changes cannot be evaluated with visual inspection and we have used \(E_{\textit{RMS}}\) for comparison. Without any change of parameters, \(E_{\textit{RMS}}\) is 42.54 pulses. This increases to 47.99 pulses for increase in inertia and to 123.41 for increase in static friction. Although, the increase is large for the increased static friction system in percentage terms, the absolute value itself is quite low and acceptable in most cases.

Fig. 17
figure 17

Position tracking using the duty-cycle prediction method for arbitrary position pattern. Tracking tested for changes in I and F separately

As noted earlier with the simulation results, the two techniques which use iterative predictive action utilize OJR at the end of each iteration for adaptation. Although, no such adaptation technique is used along with duty-cycle prediction, the results show that this technique is robust to such parameter changes. Even the results of tracking seen in Figs. 14 and 16 utilize EMKs which were not developed under the same system conditions. However the robustness of the duty-cycle prediction technique ensures good tracking performance. The performance is better in terms of \(E_{\textit{RMS}}\) and smoothness of tracking than the previous two techniques which use OJR for adaptation .

The robustness of EMPC with the duty-cycle prediction method to changes in system parameters is due to the nature of Eq. (14). The first term of the equation uses position feedback to ensure accurate position tracking. This helps in compensating for any changes to the frictional components of the system which would result in a variation in the available torque. The position feedback ensures that the duty-cycle is appropriately increased or decreased to accommodate for these changes and does not allow for significant error accumulation. The second term of Eq. (14) uses velocity feedback to maintain smooth tracking. This helps in compensating for any changes in the time-constant of the system which might result in a change in the acceleration characteristics of the system. It must be noted that even in these cases the control strategy of EMPC does not directly operate on the error, but rather uses Eq. (14) to obtain an estimate of the velocity requirement with respect to the changing r(t). This velocity estimate is then used to determine the duty-cycle which itself is predicted using the experiences of EMK.

4 XY plotter

The concept of smooth position tracking is extremely important in applications such as a Cartesian XY plotter. The position control and tracking on applications like the XY plotter involves path tracking since it involves more than 1 dimension. A plotter has 2 movement axes and it is essential with path tracking that the position be maintained correctly in 2D space. This translates to tracking the position on both the axes correctly with respect to time and with respect to each other. \(E_{\textit{RMS}}\) has been used to evaluate the performance of EMPC in the previous sections. However, since the planned path is to be tracked on a 2D plane in a XY plotter, we modify Eq. (9) to obtain \(E_{\textit{RMS}}\) appropriately as given in Eq. (15) in terms of the cartesian distance. A common offset variable is used for both the X and Y co-ordinates.

$$\begin{aligned}&E_{RMS} \nonumber \\&\quad = {\sqrt{\frac{1}{N}\sum _{i = 1}^{N} \Big (((r_x)_i - (\theta _x)_{(i+j)})^2 + ((r_y)_i - (\theta _y)_{(i+j)})^2\Big )}}\nonumber \\ \end{aligned}$$
(15)

The techniques discussed in the previous sections are implemented on the practical XY plotter in the laboratory. The plotter has a moving base on which the paper is placed. The axis of movement of the base is considered to be X-axis. A separate platform moves perpendicular to the base and its axis of motion is considered as the Y-axis. Both the platforms are separately powered by their own PMDC motors through a lead screw mechanism. Since separate motors control the action of the bases, the axes are decoupled and one does not affect the other. The lead of both the lead screw mechanisms is 3 mm. Capactive encoders coupled to the shaft of both the motors are used for feedback. The effective resolution of the capacitive encoder after 4x decoding is 8192 pulses. This provides us with a resolution of \(0.366\,\upmu \)m (3000/8192) on the linear scale. EMKs are developed separately for both the axes for both the unipolar and bipolar control action. The EMK developed with the bipolar control action is used for plotting using the iterative predictive control method of Algorithm 1 and also the corrective action by reference sampling method of Algorithm 2. The EMK developed with the unipolar control action is used for plotting with the duty-cycle prediction method explained in Sect. 3. For path tracking, the position reference of both the axes are fed from the MATLAB at \(f = 1\) KHz as in the previous case and the position feedback data obtained for both the axes at the same rate.

The performance of the techniques is tested on this plotter for plotting ellipses and straight lines at the appropriate rate to ensure that the plot is completed in 30 s. Appropriate sinusoidal waveforms were used to provide the reference for both the axes in the case of the ellipses while ramp functions were used to provide the reference for the straight lines. Since, these are simple plots, only the value of \(E_{\textit{RMS}}\) as calculated using Eq. (15) are provided in Table 1. \(E_{\textit{RMS}}\) is given in \(\mu m\) instead of encoder pulses, to provide a clear understanding of performance of EMPC in terms of the value of \(E_{\textit{RMS}}\) that can be expected in real world applications. The first four rows provides the value of \(E_{\textit{RMS}}\) for plotting ellipses and lines at different speeds/rates.

However these plots were obtained without taking the maximum possible velocity of the motor and its acceleration profile characteristics into consideration. The effect of this is clearly seen in the difference in the \(E_{\textit{RMS}}\) values of Ellipse 1 and Ellipse 2 in Table 1 where although both the ellipses are plotted in the same total time, the difference in the size of the ellipses results in smaller value of \(E_{\textit{RMS}}\) for the smaller ellipse due to the smaller velocities and accelerations required. This is true irrespective of the technique used. Similar results are noticed with the results of straight lines ’a’ and ’b’ provided in the same table. The importance of generating a jerk limited trajectory to obtain good tracking performance is studied in [38]. Hence, a reference pattern is created by considering the velocity and acceleration characteristics of the motor to plot straight line ’a’ used to obtain the results of row 3 in Table 1. The results of plotting using the reference pattern created are provided in row 5 of the same table. The reference plot used for the X-axis and the resultant response on the X-axis are provided in Fig. 18. The results validate the findings of the simulation the implementation results obtained with a single DC motor position control system.

Table 1 \(E_{ RMS}\) in \(\upmu \)m for different plots and techniques
Fig. 18
figure 18

Tracking of a well created reference pattern

The technique of duty-cycle prediction is used to plot a complex figure. The reference along with the measured path is shown in Fig. 19. The \(E_{\textit{RMS}}\) obtained for plotting this figure is \(415.43\,\upmu \)m. The slight increase in \(E_{\textit{RMS}}\) compared to values in Table 1 is again due to the reference pattern which does not take the acceleration and maximum velocity capabilities of the system into consideration as stated earlier. The robustness of the the proposed technique is also tested by exchanging the EMKs of the 2 axes to plot the same figure. It must be noted that the inertia of the X-axis base is more than three times the inertia of the Y-axis base. The exchange of the EMKs results in a large change in the system conditions for each of the axes from the point of view of the EMKs used.However, it is seen that the value of \(E_{\textit{RMS}}\) increases only slightly to \(508.39\,\upmu \)m even though the values of inertia are changed significantly. It is clear from all the results obtained that the techniques discussed can be used for position tracking in practical applications like the XY plotter. These techniques can also be extended and used in similar path tracking applications like CNC machines, robot manipulators, end effectors and others.

Fig. 19
figure 19

Response obtained on a XY plotter

5 Summary

The paper studies the performance of the novel controller, EMPC for trajectory tracking on DC motor position control setups. The methods of position control using iterative prediction action as explained in [15, 16] using the bipolar control action as explained in [17] are tested. Although EMPC is able to track the reference well in most cases, its performance suffers as the rate of change of r(t) increases. This is due to the quasi open-loop control structure employed in EMPC which limits the sampling frequency.

This limitation is overcome by the use of the novel corrective action technique which reduces the dependency of the sampling frequency on the time constant of the system. This technique improves the performance significantly as seen in the results in terms of reduced \(E_{\textit{RMS}}\) values. However a limitation of both these techniques is in the use of the rectangular input applied from steady state resulting in a non-smooth tracking.

A novel technique of predicting duty-cycle for the required steady state velocity using the EMK previously developed for position control with unipolar control action is proposed. This technique is found to provide better tracking than the previous two techniques. This is seen in terms of a reduction in \(E_{\textit{RMS}}\) and also in the smoothness of the tracking which is seen in the velocity plots. The tracking performance of this technique is compared with that of MRAC and LQG control techniques and found to perform better than both the considered controllers in terms of both \(E_{\textit{RMS}}\) and smoothness of tracking. Further, the duty-cycle prediction method is seen to be more robust and adapting to changes in system parameters in tracking applications.

All the techniques discussed were implemented on a practical DC motor position control system. The results of implementation match the simulation results well in terms of the reduction of \(E_{\textit{RMS}}\) seen with the novel techniques introduced in this paper and also with respect to the smoothness of tracking seen with the duty-cycle prediction method. Further all the techniques were implemented for path tracking on a XY plotter. The results obtained further validate the observations made using the simulation results. The errors obtained in plotting are low and prove that the proposed techniques can be used in practice in the industry for various tracking applications using DC motors.