Welcome to the World of Modelling and Simulation

What is Modelling?

This blog is all about system dynamics modelling and simulation applied in the engineering field, especially mechanical, electrical, and ...

Discussion on Actuator Saturation in Control System

This lab concerns a special non-linear effect in control system which happens when the control signal becomes larger than the actuator limit. In this situation, the feedback path is broken and the actuator runs independently. The control signal increases which further creates large transients in the system to get the error down to negative. If there is an integrator in the controller, then this would keep integrating the error to produce large control signal above the actuator saturation limit. So, the objectives of this lab are to study the effects of integrator “Windup” phenomenon and design an anti windup compensator to avoid this condition. The lab report is organized in three steps according to the lab manual instruction.

Step 1: Saturation Limit Validation

According to the lab procedure, the analog output is connected to the analog input by RCS cable on the data acquisition board. Then a SIMULINK model is developed for setting saturation limit which is shown in figure 1. A PID controller has been introduced where the values of Kp, Ki and Kd are set to 1, 1 and 0 respectively. For real time simulation, HIL read and write analog blocks are connected to the model. For these blocks, the analog input-output voltage is restricted to ±10 volt. Therefore, in the following SIMULINK model, the input signal limit is set to ±10 volt and output signal limit is set to ±5 volt. The input sine wave has amplitude of 15 Volt and frequency of 1 rad/sec. The input sine wave, saturated input signal, signal from the integrator and the output signal are highlighted in figure 2. For the simulation, the solver is chosen ODE1 (Euler) with fixed step size 0.002. This solver is used for each and every simulation in this work.

saturation limit










Figure 1: SIMULINK model for experimenting saturation limit.


Showing different signals from SIMULINK model











Figure 2: Showing different signals from the SIMULINK model shown in fig. 1.

Step 2: Software Configurations

In this section; the objectives are:
I) Development of the SIMULINK model for regular PID, PID with anti-windup compensation and actuator saturation compensation separately.
II) A SIMULINK model which considers all the above three scenarios at the same time.

Objective I

Regular PID Controller
There are three different forms of PID controllers [1].
  • The standard or non-interacting form
  • The series or interacting form
  • The parallel form

SIMULINK model of PID for controlling plant













Figure 3: SIMULINK model of the regular PID for controlling the plant.

Showing different signals from SIMULINK model











Figure 4: Showing different signals from the SIMULINK model shown in fig. 3.


In this study, the standard form of PID controller is implemented and the SIMULINK model is shown in figure 3. The PID gains are kp=2, ki=1, kd=0.4. The signal in the signal generator is selected as square wave and the frequency and amplitude are set to 0.2 cycle/second and 3 units respectively. The saturation limit is set to ±5V. In real life, the derivative controller is cascaded with a first order low pass filter as to avoid unexpected noise amplification [2] which is depicted in figure 3. So, the structure of the PID controller becomes

structure of the PID controller
(1)

Where, u(s) is the control signal and e(s) is the error signal. The proportional gain, integral and derivative time are denoted by Kp, Ti and Td respectively. N is the selection number which has significant effects on the controller performance for its different values. In this case, N is set to 20.
The plant model (DC motor) is simulated according to the instruction which is given by following transfer function.

transfer function of a plant





Figure 4 shows the different signals from the system. The color ‘green’ is the input signal, ‘blue’ is the output signal from the plant, ‘red’ is the PID controller signal and ‘light blue’ is the output from the integrator. These represent ordinary performance of the controller. The controller performance is 30.09 and integrated absolute error is 34.71 which resemble ordinary performance of the controller based on the lab manual parameter values. This could eventually be improved by taking some actions.

PID controller with anti-windup compensation
In this case, integrator windup is taken under consideration and an anti-windup compensator is designed according to the lab instruction. Following figure 5 shows the SIMULINK model of the system where anti-windup compensation is taken into account. The anti-windup feedback gain is set to 0.5. The rest of the parameters are same as the regular PID controller. Figure 6 highlights the effect of anti-windup compensation on the signals from plant, controller and integrator. These results show some improvements from the previous case. Figure 7 shows the controller performance and integrated absolute error which are 25.97 and 28.78 respectively. Although it has been stated that the performance is increased in this case, but the phenomenon “Integrator Windup” is still in the system.

SIMULINK model of PID controller












Figure 5: SIMULINK model of the PID controller having anti-windup compensation.

Showing different signals from SIMULINK model











Figure 6: Showing different signals from the SIMULINK model shown in fig. 5.


Showing IAE and IAC for PID controller











Figure 7: Showing IAE and IAC for the PID controller with anti-windup compensation.


Saturation Conditioned Controller
This is the last category where actuator saturation using Hanus conditioning method is explored. For this case, the controller may be implemented by following equations based on Hanus conditioning for actuator saturation.
         
Hanus conditioning for actuator saturation
                                                                                                                     
(2)                                                                                                                                                                                                        
         
(3)                                                                                                                                                                                                     

                                                                                                                                         
Here, v is the actual control signal which the plant will experience. The controller is then formed by state space model which is seen in figure 8. The parameters are kept same in the SIMULINK model for convenience and comparison. The A, B, C and D matrices of the controller are evaluated from equations (2) and (3). Figure 9 represents input signal (light blue), control signal (red), saturated control signal (green) and plant response (blue). The controller performance and integrated absolute error are 33.26 and 26.58 respectively which is shown by figure 10.

SIMULINK model of the saturation conditioned controller













Figure 8: SIMULINK model of the saturation conditioned controller implemented to control the plant.

Showing different signals from SIMULINK model











Figure 9: Showing different signals from the SIMULINK model shown in fig. 8.

Showing IAE and IAC for actuator saturation











Figure 10: Showing IAE and IAC for the actuator saturation control.


Objective II

A Combined Model Considering PID, PID with Anti-Windup and Actuator Saturation Compensation

Figure 11 represents the SIMULINK model which considers all the three controllers in a single model. Three subsystems are generated for forming three different controllers: regular PID, PID having anti windup compensation and actuator saturation compensation. The manual switches in the model connect the three controllers individually which basically depend on the requirement of the system.

A combined SIMULINK model












Figure 11: A combined SIMULINK model considers regular PID, PID with anti-windup compensation and actuator saturation compensation.


PID with anti-windup compensator has the ability to consider the following three controller models as per the instruction.
·         Anti-windup compensation with local feedback
·         Integrator input is set to zero when the control signal is saturated.
·         Local positive feedback of a first order system around a software saturation block

Figure 12 shows the desired PID with anti-windup compensator model. It is worth to be highlighted here separately as to emphasize the modeling steps of three controllers which compensate integrator windup.
The configuration of the anti-windup compensation via local feedback was developed earlier. The second configuration (zero integrator input while actuator saturates) is designed simply by adding a manual switch before the integrator. When the possibility of actuator saturation is observed, the switch can be turned off to make integrator contribution to the controller zero. The last configuration which is the addition of a first order system as positive feedback around a saturation block is modeled which is shown in figure 12. Here, a lag compensator is considered as controller which is obtained from the previous Hanus state-space model by simply converting to a transfer function. The following MATLAB commands show this step:

>> A=-0.5;
>> B=0.5;
>> C=1;
>> D=2;
>> [num, den] = ss2tf (A,B,C,D)
num =
    2.0000    1.5000
den =
    1.0000    0.5000
>> tf ( num, den )

Transfer function:
2 s + 1.5
---------
 s + 0.5

Figures 13, 14 and 15 show the results of the three control setups: anti-windup compensation via local feedback, zero integrator input while actuator saturates and addition of a first order system as positive feedback around a saturation block all in the PID controller with anti-windup compensation controller respectively.
Regarding performance evaluation, controller with anti-windup compensation by local feedback shows better results than other two controllers. The Integrated Absolute Error (IAE) and Integrated Absolute Control (IAC) are 28.78 and 25.97 respectively. The Integrated Absolute Error (IAE) and Integrated Absolute Control (IAC) of the controller which does the integrator input zero while actuator saturates are 34.71 and 61.37 respectively. And, finally Integrated Absolute Error (IAE) and Integrated Absolute Control (IAC) of the controller which adds a first order system as positive feedback around a saturation block are 31.98 and 38.78 respectively. So, from these comparisons, the second type of the controller configuration gives the worst performance among the three controllers.

A SIMULINK model shows PID with anti-windup compensation














Figure 12: A SIMULINK model shows PID with anti-windup compensation having three alternative controller models according to the lab instructions.


anti-windup compensation via local feedback











Figure 13: Showing responses when anti-windup compensation via local feedback of the difference between the saturated and unsaturated control signal is considered.


Showing output signals where the integrator input is set to zero











Figure 14: Showing output signals of the model where the integrator input is set to zero when the control signal gets saturated.


Showing output signals when local positive feedback of first order system is implemented











Figure 15: Showing output signals of the model when local positive feedback of a first order system around a software saturation block is implemented.


Step 3: Experimental Testing

In the previous sections, rigorous analysis on simulation results give good understanding of the ‘wind-up’ phenomenon and some controllers performance to skip that situation. In this section, experiment is carried out to further realize the ‘wind-up effects’ in depth and comparison between simulation and experiment results. For the experiment, a SIMULINK model is designed and modified further based on the original “SIMULINK Model of DC Motor Control” of the EEEL-155 lab which is shown in figure 16. Figure 17 shows the model of the three controller configurations: PID, PIDAW, and ASC. Manual switches are inserted to have the provision for the controller selection. The controllers’ parameters are kept same in the experiment to enlighten a fair comparison. Figures 18, 19, and 20 show the physical DC motor responses for each of the three controllers (PID, PIDAW, and ASC) implementation respectively. By observing these figures, ASC controller shows better performance than the other two controllers. Although in all the three cases, ‘wind-up’ phenomenon is still present, nevertheless the ASC controller (figure 20) implementation decreases the DC motor transients more than the other two controllers. It should be mentioned here, keeping the controllers’ parameters same as the lab manual instruction does not prevent the ‘wind-up’ effect completely which could be done by further tuning the controller parameters. At the end of this report, a table is provided which shows the comparison between the simulation and experiment results.

experimental validation of the controllers












Figure 16: A combined SIMULINK model linked with physical DC motor for experimental validation of the controllers developed in objective II.

Controller model considers regular PID, PID with anti-windup compensation














Figure 17: Controller model considers regular PID, PID with anti-windup compensation and actuator saturation compensation.


Showing action of regular PID controller on experimental DC motor











Figure 18: Showing the action of regular PID controller on the experimental DC motor.


Showing action of PID controller with anti-windup compensation











Figure 19: Showing the action of PID controller with anti-windup compensation on the experimental DC motor.

Showing action of saturation compensation











Figure 20: Showing the action of saturation compensation on the experimental DC motor.
  
Following table 1 gives the comparison of the results for implementing different controller configurations between simulation and experiment. This comparison is considered as qualitative as the actual DC motor is certainly non-linear whereas in simulation a simple transfer function is considered according to the lab manual. However, this comparison does not show huge deviation of the simulation results from the experiment. Moreover, both the simulation and experimental results are close comparing the three controllers’ performance indices.
In conclusion, this lab work gives the scope to observe and dig into the one special non-linear phenomenon of the system when there is the ‘wind-up’ and further furnishes the ability to design anti-windup compensators to avoid this consequence.


Table 1: Comparison between Simulation and Experiment Results


Controller Types


Performance Index

Simulation Results

Experimental Results


Regular PID




IAE


34.71


28.25


IAC

30.09

32.16


PID with Anti-Windup Compensation (PIDAW)



IAE


28.78


25.51


IAC

25.97

29.51

Actuator Saturation Compensation (ASC)


IAE


26.58


20.26


IAC

33.26

28.29


References

[1] Advanced PID control / Karl Johan Astrom and Tore Hagglund, ISA - Instrumentation, Systems, and Automation Society, 2006.

[2] Dingyü Xue, YangQuan Chen and Derek P. Atherton, Linear Feedback Control: Analysis and Design with MATLAB, the Society for Industrial and Applied Mathematics, 2007.

A Reciprocating Compressor Dynamics Modelling by Bond Graph and SOLIDWORKS

Suppression of Rubbing in a Rotating Machine by a Novel Lemon Shaped Bea...


This video shows an experiment on how to minimize rubbing between a rotor and a guide that typically happens in a high speed rotating machine with a newly developed lemon shaped bearing or guide. Although, it might not seem relevant to the context of this blog; but it is here for the visualization purpose of the interaction of real components in a typical rotating machine. We see here as the speed goes high, the system enters into its resonance frequency where it vibrates excessively. The lemon shaped bearing or guide helps prevent the excessive rubbing while the rotor-bearing assembly is in the natural frequency zone. It has been found from our research that lemon shaped guide minimizes rubbing better than the circular guide (https://doi.org/10.1115/1.4043817). It should be noted that experiment is the best way of visualization; although, it is sometimes difficult to conduct an experiment due to cost, lack of materials, facilities and so on. In this case, modelling-simulation is alternatively the better way for visualization.

Suppression of Rubbing in a Rotor-Stator Assembly by Circular Bearing/Guide


This video shows an experiment on how to minimize rubbing between a rotor and a guide that typically happens in a high speed rotating machine with a circular bearing or guide. Although, it might not seem relevant to the context of this blog; but it is here for the visualization purpose of the interaction of real components in a typical rotating machine. We see here as the speed goes high, the system enters into its resonance frequency where it vibrates excessively. The circular bearing or guide helps prevent the excessive rubbing while the rotor-bearing assembly is in the natural frequency zone. It should be noted that experiment is the best way of visualization; although, it is sometimes difficult to conduct an experiment due to cost, lack of materials, facilities and so on. In this case, modelling-simulation is alternatively the better way for visualization.

Discussion on Linear Quadratic Optimal Control

Linear quadratic optimal control is popular in industry and is simple, yet powerful tool to achieve the desired controller design. In this study, the model of the plant is the familiar DC motor. This report concerns systematic approach to develop the linear quadratic optimal controller. To do this, first the mathematical model of the DC motor is developed, then the development of the LQR controller is described and finally an experiment is conducted to gain in-depth knowledge in controller design.

1. DC Motor State-Space Model Development [1]
DC motor converts electrical energy (input voltage) to mechanical energy (shaft rotation). This electromechanical conversion involves Faraday’s law of induction and Ampere’s law for force generated on the conductor moving in a magnetic field. In ideal situation, the torque (T) developed on the motor shaft is proportional to the input current (I) and the induced electromotive force (EMF) (V) or back EMF is proportional to the speed (W) of the motor. This can be expressed as;

input current (I) and the induced electromotive force (EMF)

Where, K1 and K2 are the proportionality constant.
The electrical power (Pe) input to the motor is the product of the induced EMF and current.

The electrical power (Pe)




And the mechanical power output (Pm) is the product of the speed of the motor and torque.

mechanical power output (Pm)




Now, by comparing equation (3) and (4), the following relation is obtained.

mechanical power output (Pm)




From Ohm’s law, it is known that,

Ohm’s law




Where, E is the input voltage to the motor and R is the resistance of the motor armature.
Moreover, we also know that torque produced at the motor shaft is equal to the product of the inertia of the load (J) and rate of change of angular velocity or angular acceleration.

torque produced at the motor shaft

Now, from equations (1), (6) and (7), it is found that

torque produced at the motor shaft




Using equation (2) further, the following expression can be established.

torque produced at the motor shaft




The above equation refers to the first order linear differential equation model where ‘W’ represents the state of the system and ‘E’ is the external control input. This first order equation is good enough to predict the output speed of the motor. However, in terms of measuring the position’ it is necessary to add the following equation.

the state of the system


Where θ is the output position of the DC motor and refers to another state of the system. Therefore, the model has one control input and two state variables (position and velocity).
Now, from equations (9) and (10), the state space model can be formulated.

the state space model





Equation (11) is the model representation in state space form.
Figure (1) highlights the block diagram of the DC motor dynamic model.
From equation (9), after rearranging the terms

the state space model





The coefficients in the equation (12) may be assumed as the following two constants.

coefficients of the equation





Where ‘τ’ refers the time constant and ‘c’ is the DC gain.

dynamics of the DC motor










Figure 1: Block diagram of the system represents the dynamics of the DC motor driving inertial load.


So, equation (12) can be written in simplified form with time constant and DC gain.

simplified form with time constant and DC gain



The values of τ and c will be determined by the experiment. The SIMULINK “DC MOTOR MODEL” along with the physical setup in the EEEL 155 lab has been used. The time constant and DC gain of the motor are measured in response to a unit step input.
From the experiment, the open loop response of the DC motor is shown in figure 2. 
It is found that the time constant is 0.03s and c is 1.65 rad/s/volt.
Substitution of the c and τ values in equation (11) forms the matrices of the state space below.

the state space model

The calculation for the constants in the above matrices is shown below.

calculation for the constants




2. LQR Design Method
To design the controller, MATLAB is used rigorously. The first step in the designing process is to check the rank of the controllability matrix. And, this could easily be done by using MATLAB commands ‘ctrb’ and ‘rank’. 'ctrb' is used to generate the controllability matrix and then 'rank' gives the rank of the generated matrix [2].

Open loop response of the DC motor to the unit step input













Figure 2: Open loop response of the DC motor to the unit step input.


2.1 Rank of Controllability Matrix Checking:

>> A=[0 1; 0 -33.33];
>> B=[0; 55];
>> C=[1 0; 0 1];
>> D=[0];
>> M=ctrb(A,B);
>> N=rank(M)
N =
     2

As the state transition matrix is 2x2 and the rank of the controllability matrix shows 2, therefore our system is state controllable.

From the state space model, following A, B, C and D matrices are obtained below.

A, B, C and D matrices


Now, the linear quadratic optimal controller (LQR) development is shown in the following section. 

2.2 System Open loop Transfer Functions:
Equation (13) is shown here again to determine the open loop transfer function of the second order system.

open loop transfer function of the second order system


Taking Laplace transform on both sides of the above equation;

Laplace transform


And, by considering speed as the output, the open loop transfer function of the first order system is,

Laplace transform




Taking Laplace transformation,

Laplace transform







2.3 System Stability Checking:
To check the stability of the system, MATLAB commands ‘poly’ and ‘roots’ are implemented. ‘poly’ generates the coefficients of the characteristic equation and ‘roots’ then determines the eigenvalues of the A matrix [2].

>> poly(A)
ans =
    1.0000   33.3300         0
>> roots(poly(A))
ans =
         0
  -33.3300

As there is no pole on the right side of the s-plane, so the system is stable. Due to not considering the damping, a pole just lies at the origin in the s-plane which further reminds the marginally stable situation.

2.4 Model Validation by Experiment:
The mathematical model of the DC motor system developed before has to be validated. First the open loop system response to the unit step input will be observed by the model and then by experiment.

Open loop response of the DC motor

Figure 3: Open loop response of the DC motor model to the unit step input.

















From figure 3, it is clear that DC gain is 1.65 rad/s/v and time constant is measured 0.03s. And, these values are exactly same to the experimental values specified in figure 2. The MATLAB m-file program to represent the mathematical model along with output plots is shown below.


2.5 Coding to Generate the First Order DC Motor Model Response

close all;
clear all;
format long;
more off;

A=[0 1; 0 -33.33];

B=[0; 55];
C=[1 0; 0 1];
D=0;

states = {'x' 'x_dot'};

inputs = {'r'};
outputs = {'x'; 'x_dot'};

sys_ss = ss(A,B,C,D,'statename',states,'inputname',inputs,'outputname',outputs);


t=0:0.001:5;

r=ones(size(t));
[y,t]=lsim(sys_ss,r,t);

figure(1)

plot(t,y(:,1))
title('DC Motor Response To Unit Step')
xlabel('Time')
ylabel('Angular Displacement of DC Motor')

figure(2)

plot(t,y(:,2))
title('DC Motor Response To Unit Step')
xlabel('Time')
ylabel('Angular Velocity of DC Motor')



2.6 Designing the Controller:
Designing a controller predominantly depends on the demand or criteria for the specific case. A controller may be designed for a given purpose and the same controller may further be implemented in different way in another application. So, in this study, a very general and simple control problem is defined. The problem may be described as follows;
When LQR is implemented for system control, the system eventually becomes closed loop and a state feedback gain matrix ‘K’ is generated by the controller which determines the control strategy based on the weights on the states and control effort. For this DC motor problem, there are two states: position and velocity. Input is step which is generated by computer. A program is written in MATLAB m-file for designing the LQR controller. The cost function is the important thing which places relative importance between the states and input. When designing the controller, first the weights on the states are considered 1 unit and weight on actuation is taken 1 unit also. And, this creates a problem which is shown by the following figures. 

Close loop response of the DC motor

Figure 4: Close loop response of the DC motor model when LQR is implemented by MATLAB (a) Position and (b) Speed.
























From figure 4, the position and speed are not at all desirable as the position should increase linearly with the increase of time and the speed was found from experiment (fig. 2) and simulation (fig. 3) also contradicts the result. So, the objective here is to bring back the motor speed and position as before by tuning the LQR controller which is to optimize the relative importance between states and inputs. Figure 5 shows the results from the experiment which are quite conforming to the simulation results.

DC motor response when LQR is implemented

Figure 5: DC motor response when LQR is implemented in experiment (a) Position and (b) Speed.
























Therefore, this section may be divided into two sub-sections for the controller design aspects:
Designing LQR controller in MATLAB environment
Validating the simulation by experiment qualitatively


2.6.1 LQR Design in MATLAB:
A MATLAB function 'lqr ()' provided in the Control Systems Toolbox can be used to design an LQR for a given system with specified weighting matrices. The syntax of the function may be written as [K,P]=lqr(A,B,Q,R) , where (A,B) is the given state space model, and Q and R are the weighting matrices. Q weights on states and R weights on control. K is the state feedback gain matrix, and P is the solution matrix for the algebraic Riccati equation (ARE) [3].
A Program is written in MATLAB m-file to solve the ordinary problem as mentioned before. Controlling the states (position & velocity) is 1000000 times more important than the actuation. Considering this fact in cost function, the following program explains the steps of the LQR implementation and control achievement.

2.6.1.1. MATLAB Program for DC Motor Control by LQR:

close all;
clear all;
format long;
more off;
A=[0 1; 0 -33.33];                % Model of the DC Motor in State Space
B=[0; 55];
C=[1 0; 0 1];
D=[0; 0];
Q=[0.000001 0; 0 0.000001]'*[0.000001 0; 0 0.000001];
R=[0; 1]'*[0; 1];
K=lqr(A,B,Q,R);                   % Implementation of LQR Controller
Ac=(A-B*K);                       % New System Matrices by State Feedback Gain                     
Bc=B;
Cc=C;
Dc=D;
states={'x' 'x_dot'};
inputs={'r'};
outputs={'x'; 'x_dot'};
sys_cl = ss(Ac,Bc,Cc,Dc,'statename',states,'inputname',inputs,'outputname',outputs);
t=0:0.001:10;                     % Simulation Period
r=ones(size(t));
[y,t]=lsim(sys_cl,r,t);           % System Response to Step Input
figure(1)
plot(t,y(:,1))
title('Step Response with LQR Control')
xlabel('Time')
ylabel('Angular Displacement of DC Motor')
figure(2)
plot(t,y(:,2))
title('Step Response with LQR Control')
xlabel('Time')
ylabel('Angular Velocity of DC Motor')


Closed loop response of the DC motor
Figure 6: Closed loop response of the DC motor model when cost function of LQR is changed from before (fig.4) (a) Position and (b) Speed.























From figure 6, it is evident that the motor response shows its original response. And, this confirms the success of the controller design by simulation. In the next section, the simulation results will further be verified by the experiment.


2.6.2 Experiment:
A SIMULINK model is developed to see the effects of the weights on the states of the DC motor. Figure 7 shows the model. This model is a real time simulation which is eventually possible by QUARC toolbox in SIMULINK. From fig.7, there are two feedback paths for the motor speed and position which are measured by the sensors (tachometer & encoder). There is no dedicated SIMULINK block for the LQR application in the MATLAB version of EEEL 155 computers. So, two feedback gains are introduced in the model for the corresponding states. And, the weights on the states are kept same as before (m-file program) for understanding optimal control policy by LQR and validation of the predictions in simulations.

SIMULINK model for validation of weights increment of states

Figure 7: SIMULINK model to study the influence and validation of weights increment of the states.


Figure 8 is obtained from the experiment. The position and speed show the promising effects of relative weights on the states which are quite similar to the predictions in figure 6.

DC motor response when modified LQR is implemented

Figure 8: DC motor response when modified LQR is implemented in experiment (a) Position and (b) Speed.

























References
[1] Control system design : an introduction to state-space methods / Bernard Freidland.—Dover ed.
[2] Ogata, K., 2002, Modern Control Engineering, Prentice Hall, Upper Saddle River, NJ.
[3] Linear feedback control: analysis and design with MATLAB / Dingyü Xue, YangQuan Chen, Derek P. Atherton., the Society for Industrial and Applied Mathematics, 2007.



#Blog #Blogger #LQR #Matlab #Simulink #ControlSystemDesign #StateSpace