Position Control of DC Servo-System using PID Controller with Kalman filter

Download Full-Text PDF Cite this Publication

Text Only Version

Position Control of DC Servo-System using PID Controller with Kalman filter

Sidhharth Ubnare1, Siddharth Shukla2 , Brijesh Roshan Sahu3

TIT& S Bhopal

Abstract – In this paper, we propose a servo control system with a Kalman filter which can predict one step ahead states as well as disturbance. It is well known that Kalman filter is an effective way to estimate state of dynamic system with random noisy environment. The measurement error may be occurred due to low resolution encoder in observer design.There are a lot of disturbances in DC servomotor control system due the filter can estimate the disturbances using an system dynamic equation to unexpected loads, parameter changes and other reasons.The PID controller works by calculating the error signal between an output measured value and a reference value, the controller works to minimize the error signal or the difference between the output signal and the reference signal to a minimum value; such that the output measured value will be as close as possible to the input reference signal Simulation results are carried out to show that the proposed algorithm is able to estimate the speed and position stable and accurately using PID controller with Kalman filter.

Index termsPID controller, Kalman Filter, DC servomotor system.


    The servo control system is utilized as prime movement in much industrial machinery. The accuracy of the machinery is mainly depending on the accuracy of servo control system. It is possible to apply advanced control theory due to development of semiconductor technology. Encoder is widely used for digital servo drives because of its simple detection circuits. However, when we determine speed using encoder, we can obtain the average speed information instead of accurate one due to the digital characteristic of encoder. The position accuracy would be determined by the resolution of encoder. It is important to have accurate position and speed information for precision servo control [1]. The PID control is widely used in servo systems as it has simple structure, safety and reliability. However, it has certain problems in a complex system, resulting in imperfect action in the presence of uncertain parameters [2].

    [3]. Kalman filter is a set of mathematical equations that provides to estimate the state of the process. Kalman filter is widely used and implemented in digital signal processing such as in telecommunication systems and control systems for signal filtering. Kalman filter is a state variable estimation of dynamic systems which can be operated when the dynamic system is disturbed by noise [4].Kalman filter can be applied to a dynamic system that involves random perturbations, and gives a linear, unbiased, and minimum error variance recursive algorithm to estimate the unknown states optimally. In this paper, we propose on Kalman filter algorithm to estimate one step ahead states and disturbance. Therefore, we can improve the performance of estimation for position and speed. Also, compensate disturbance, which improve the characteristics of servo control system [5].


    1. The Discrete Kalman Filter Algorithm

      The Kalman filter estimates a process by using a form of feedback control. The filter estimates the process state at some time and then obtains feedback in the form of measurements. The equations for the Kalman filter can be divided into two groups: time update equations and measurement update equations. The time update equations are responsible for the feedback – i.e. for incorporating a new measurement into the a priori estimate to obtain an improved a posteriori estimate. The time update equations can also be thought of as predictor equations [8], while the measurement update equations can be thought of as corrector equations. Indeed the final estimation algorithm resembles that of a predictor-corrector algorithm for solving numerical problems as shown below in Fig. 1. [4] The specific equations for the time and measurement updates are presented in Eq. (1) and Eq. (2)

      x(k+1) = A(k)x(k) + (k)u(k) (1)

      p (k+1) = A(K)P(k)AT(k) + Q(k) (2)

      The time update equations in (1), (2) project the state

      Non-linear parameters affect the servomotor operation in different ways. Saturation the system may lead to an unstable system. Dead zone occurs due to static friction which limits the input from the original useful level to a lower level, making the system hard to reach the maximum output value. Backlash may exist whenever gear connections do not match in the motors mechanical system. For example, when gears do not mesh exactly

      Time update ( predict

      Measurment Update ( Correct

      leaving some spaces between the teeth this causes a loose contact and, hence, a bad effect on the system performance

      Fig. 1 The ongoing discrete Kalman filter cycle

      and covariance estimates forward from time step n -1 to step n. The discrete Kalman filter measurement updates equations. The first task during the measurement update is to compute the Kalman gain, Kn .The next step is to actually measure the process to obtain the input Zn, and then to generate a posteriori state estimate by incorporating the measurement as in Eq. (4). The final step is to obtain a posteriori error covariance estimate via Eq. (5).

      K(k) = p(k)HT(k)(H(k)P(k)HT(k) + R(K))-1 (3)

      x (k) + k (k) (z (k)-H (k) x (k)) (4)

      P (k) =(1-k(k)H(k)p(k) (5)

      After each time and measurement update pair, the process is repeated with the previous a posteriori estimates used to project or predict the new a priori estimates[8].

      Fig. 2 Complete operations of Kalman Filter Algorithms

      This recursive nature is one of the very appealing features of the Kalman filter. The Kalman filter instead recursively conditions the current estimate on all of the past measurements. Fig. 2 offers a complete picture of the operation of the filter, combining the high-level diagram of Fig. 1 with the Eq. (1) Eq. (5).

    2. PID Controller

    Fig. 3 shows a PID controller of a plant. If the mathematical model of a plant can be derived, then it is possible to apply various design techniques for determining parameters of the controller that will meet the transient and

    Fig. 3 PID control of a plant

    Where U (t) is the controller output signal, e (t) is the error signal [7].


    Even though the real mechanical servo system has complex nonlinear characteristics, it can be approximated to an inertia model. The servo-system second order control system to step, ramp, impulse, and sinusoidal input work on ac and dc supply. The servomotor has two main components, the first is the electrical component; which consists of resistance (R), inductance (L).The second component of the servomotor is the mechanical part, from which we get the useful mechanical rotational movement at the shaft. The mechanical parts are the motors shaft (kt), inertia of the motor and load inertia (J) and damping (b)

    .Refers to the angular position () of the output shaft which can be used later to find the angular speed of the shaft (W).Another important non-linear behavior in servomotors is the saturation effect for output speed. Other non- linear effect is the dead zone; in which the motor will not start to rotate until the input voltage reaches a specific minimum value, which makes the response of the system slower and requires more controllability. A mathematical type of non- linear effect found in the servomotors is the backlash in the motor gears [3].We will improve the characteristics of closed lop system as generating compensation signal for external disturbance. If we assume that the disturbance has low value.






    steady state specification of the close loop of the system. However, if the plant is so complicated that its



    Ls + R

    K t Js + B


    Dead Zone

    Dead Zone





    mathematical model cannot be easily obtained, then analytical approach to the design of a PID controller is not possible. Then we must resort to experimental approaches to the tuning of PID controller [6]. In presenting the various tuning techniques we shall assume the basic control configuration of fig. 3, where in the controller in put in the error between the desired output (command, set point and input) and the actual output. The error is manipulated by the controller (PID) to produce a command signal for the plant according to the relationship [7].

    U(s) = kp(1 + 1/i + ds) (6) Or in time domain

    U (t) = k [e (t) + (1/ )t edt + de/dt)] (7)

    Electrical Mechanical

    Back EMF


    Fig. 4 DC servo system model.

  4. SERVO CONTROL SYSTEM DESIGN Frequency characteristics, the disturbance observer is represented as

    (k) = (H3)-1[z (k+1)-H( (k)-3u(k))] (8)

    (k) can be used as future disturbance for its low frequency characteristics. Here H: p× n matrix, : n × l matrix , n × n matrix, z(k) output

    p i d

    Where kp = proportional gain

    i = integral time constant

    d = derivative time constant

    v (k) measurement noise, u(k) input determined,

    Fig. 4 shows the position, speed controller block diagram incorporating the proposed PID controller with Kalman filter. In this paper, the position, speed controller based on the PID control is designed for the DC servo system. The

    conventional PID controller has often been used as the position, speed controller.

    VI. SIMULATION RESULTS Simulation results, they show that the position and speed

    ref +

    Kalman Filter

    Kalman Filter

    + _





    PID Controller


    DC Servomotor System

    DC Servomotor System








    curve is very near to the real than the curve measured by encoder when position reference signal is step and sinusoidal respectively. Figure shows that compensated position curve is changed slowly than uncompensated one



    Fig. 5 Position diagram of DC servomotor system with PID controller and kalman filter

    The proposed disturbance observer uses the control structure, it improves the characteristics of the disturbance suppressing without changing the response of the closed loop system.

    in the vicinity of the steady state. And also, shows that uncompensated position curve is delayed than the compensated position curve.

    (s) = Kt


    v(s) s[(ls+R)(Js+b)+ KtKe]+ KnKt

    It can be discretized to following as

    x(k+1) = x(k) + 1u(k) + 2w(k (10)

    z(k) = Hx(k) + v(k) (11)

    where, x(k) = [(k)(k)]T, z(k) = (k),



    (k) = unoise(k), v(k) = noise(k)

    Fig. 6 Velocity control (with step input) of DC servomotor system with noise controlled using PID controller.



    = eAh = 1 + Ah + (Ah) +, = eAsBds,

    2! 1 0

    = h eAsEds = (. B = E),

    2 0 1





    = h eAsFds, H = [0 0 1 0], H = C, h = sampling period.

    As we apply equation (10) and (11) to discrete Kalman filter algorithm,

    As we also apply equation (11) to discrete Kalman filter algorithm. The filter used in the system plays an important role for the external disturbance suppression, the measurement noise rejection and the compensation of servo system uncertainties. The system and measurement noises are assumed to be white sequences with zero mean Gaussian distributions [5]. Refer are the following parameter value[3]




Moment of inertia J

0.0062 N.m.s2/rad

Damping coefficient b

0.001 N.m.s/rad

Torque constant Kt

0.06 N.m/A

Electromotive force constant Ke

0.06 V.s/rad

Electrical resistance R

2.2 ohms

Electrical inductance L

0.5 Henry

Table 1 Fixed value of DC servomotor system [3] (B)

Variable Value





Dead zone

-0.5 to 0.5

Encoder Kn

0.086 k*u(u*k)


27.5 to -27.5

Band limit white noise

100 Hz(rad/sec)



Proportional constant Kp



12 V

Integrator constant Ki


Current(no load)

1 Amp

Derivative constant Kd



11.5 (rad/s)

Estimated error covariance



12 (rad)

Process noise covariance





12 watt

Table 2 Variable parameter used in DC servomotor system

Fig. 7 Velocity control (with step input) of DC servomotor system with noise controlled using PID controller with Kalman Filter.

Fig. 8 Position control (with step input) in noise of DC servomotor system with noise controlled using PID controller.

Fig.9 Position control (with step input) of DC servomotor system with noise controlled using PID controller with Kalman Filter.

Fig. 10 Velocity control (with sinusoidal input) of DC servomotor system with noise controlled using PID controller.


Leave a Reply

Your email address will not be published. Required fields are marked *