You are on page 1of 6

WORKSHOP 3 –REPORT- GROUP 14

Control Design:

The workshop asks us to design a controller keeping certain specifications in mind. Those
specifications are:

1) The controller should be stable.


2) The angle error (difference between angle reference & wheel angle) should be less than 5%
3) Controlled motor voltage for a triangle wave wheel angle should not saturate (go more than
100%) at any time.

The tools used were LEGO robot, MATLAB & Simulink.

The main motive of designing a controller is to help plant output follow the input. Here as we can
see, this motive can also be achieved using open loop designing.

For an open loop designing, we simply need to invert the plant so that our output remains equal to
input. However, in this case, as we see, inverting the plant will lead our controller to be improper
and thus we will fail to achieve specification 1. Further, this problem can be overcome by adding a
sufficiently large time constant poles of higher power of numerator in denominator. Thus, we select
controller to be
𝑠(𝑇𝑚0 𝑠 + 1)
𝐶𝑜𝑙 (𝑠) =
𝐾𝑚0 (𝑇0 𝑠 + 1)2
Thus, the transfer function can be written as,

𝜃(𝑠) = 𝐺(𝑠)𝐶𝑜𝑙 (𝑠)𝜃𝑟𝑒𝑓 (𝑠)


𝑘𝑚 𝑠(𝑇𝑚0 𝑠 + 1)
𝜃(𝑠) = × × 𝜃𝑟𝑒𝑓 (𝑠), … … … (1)
𝑠(𝑡𝑚 + 1) 𝐾𝑚0 (𝑇0 𝑠 + 1)2
With the help of system modelling, we get, 𝑇𝑚0 = 0.044, 𝐾𝑚0 = 6.375 and 𝑇0 = 0.01. The
designed open-loop controller 𝐶𝑜𝑙 is stable.

We use these values and implement the designed controller along with plant in Simulink.

Following are the response of output and input to this designed controller.
Figure(1), open loop parameters = plant parameters

Figure(2),open loop parameters ≠ plant parameters

Figure 1 and 2 shows two response of open loop design. In figure 1, we can see that when plant
parameters(𝑘𝑚 𝑎𝑛𝑑 𝑡𝑚 ) and controller parameters(𝐾𝑚0 𝑎𝑛𝑑 𝑇𝑚0 ) are equal, we can meet our all
desired specification. In figure 1, the output of plant is not saturating at any given time and steady
state error is 0. Equation (1) is now reduced to
1
𝜃(𝑠) = × 𝜃𝑟𝑒𝑓 (𝑠)
(𝑇0 𝑠 + 1)2

However, as under certain unwanted conditions if our plant parameters changes, we fail to meet our
2nd specification and our steady state error significantly increases. This is because in open loop,
controller fails to adapt to plant parameter in uncertain conditions. Equation (1) is given as
1 𝑘𝑚 (𝑇𝑚0 𝑠 + 1)
𝜃(𝑠) = 2
× × 𝜃𝑟𝑒𝑓 (𝑠)
(𝑇0 𝑠 + 1) 𝐾𝑚0 (𝑡𝑚 𝑠 + 1)2
Thus we get added parameters in the equation.

We therefore take the approach of Closed loop, which uses feedback as its main element.

Closed Loop:

Here as our controller, we are using proportional controller with gain 𝐾𝑐 .

Following is the Simulink implementation of closed loop system

Representation of closed loop transfer function


𝜃(𝑠) Λ(s)
=
𝜃𝑟𝑒𝑓 (𝑠) 1 + Λ(s)
𝐾𝑐 × 𝑘𝑚
=
𝑠(𝑡𝑚 + 1) + 𝐾𝑐 × 𝑘𝑚
The difference between the reference signal, 𝜃𝑟𝑒𝑓 (𝑠), and output signal, 𝜃(𝑠), is the error signal
𝐸(𝑠). This 𝐸(𝑠) in its mathematical form is given as
1
𝐸(𝑠) = × 𝜃𝑟𝑒𝑓 (𝑠)
𝑘𝑚
1+
𝑠(𝑡𝑚 + 1)
Further solving, we get,
𝑠(𝑡𝑚 + 1)
𝐸(𝑠) = × 𝜃𝑟𝑒𝑓 (𝑠)
𝑠(𝑡𝑚 + 1) + 𝐾𝑐 × 𝑘𝑚
For ramp input and with the help of final value theorem we get

lim 𝑒(𝑡) = lim(𝑠𝐸(𝑠))


𝑡→∞ 𝑠→0

We get,
𝑠 × 𝑠(𝑡𝑚 + 1) 1
lim(𝑠𝐸(𝑠)) = × 2
𝑠→0 𝑠(𝑡𝑚 + 1) + 𝐾𝑐 × 𝑘𝑚 𝑠
1
=
𝐾𝑐 × 𝑘𝑚
To meet specification 2,
1
< 0.05
𝐾𝑐 × 𝑘𝑚
For 𝑘𝑚 = 6.375 we get 𝐾𝑐 > 3.1372.

The open loop transfer function is given by,

Λ(s) = 𝐶(𝑠) × 𝐺(𝑠)


𝑘𝑚
= 𝐾𝑐 ×
𝑠(𝑡𝑚 + 1)
Its bode plot is given below

The Sensitivity Transfer function is given as


1
𝑆(𝑠) =
1 + Λ(s)
Its bode plot is given by
For the above two figures we can see that our frequency of interest 0.026 rads/sec (1/6 Hz) falls
within the bandwidth and the sensitivity transfer function is having sufficiently large negative gain at
that frequency.

To introspect the value of Kc, we make use of root locus


This plot for root locus shows that the value of controller gain varies between 0 and ∞. However,
specification 2, restricts us to use higher value of Kc. For higher value of Kc, we will get peak in the
sensitivity transfer function as well as output of the controller saturates, leading to failing in
achieving the 3rd specification. Thus the higher value that Kc can take is 15. With the help of previous
steady state error and this observation, we can conclude that Kc varies between 3 and 15.

The reason for selecting Kc = 3 is it produces almost nil oscillation in the controller output.

The Simulink response to 𝑘𝑚 = 6.375, 𝑡𝑚 = 0.044 and 𝐾𝑐 = 3 is shown below.

Figure(3)

From figure (3), we get to know that we are meeting all the required specifications.

You might also like