0% found this document useful (0 votes)
60 views

Control Tutorials For MATLAB and Simulink - Aircraft Pitch - PID Controller Design

This document describes the design of a PID controller for an aircraft pitch system using MATLAB. It begins with the design of a proportional controller using root locus analysis. Automated tuning is then used to select a proportional gain, but the requirements are not fully met. Next, a PI controller is designed using automated tuning to select the proportional and integral gains. The PI controller is able to meet more of the requirements than the P controller alone.

Uploaded by

MAAZ KHAN
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Control Tutorials For MATLAB and Simulink - Aircraft Pitch - PID Controller Design

This document describes the design of a PID controller for an aircraft pitch system using MATLAB. It begins with the design of a proportional controller using root locus analysis. Automated tuning is then used to select a proportional gain, but the requirements are not fully met. Next, a PI controller is designed using automated tuning to select the proportional and integral gains. The PI controller is able to meet more of the requirements than the P controller alone.

Uploaded by

MAAZ KHAN
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

s = tf('s');
P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s);

Proportional control

Let's begin by designing a proportional controller of the form . The


Control System Designer we will use for design can be opened by typing
controlSystemDesigner(P_pitch) at the command line. The Control
System Designer window will initially open with the root locus plot, open-loop

Bode plot, and closed-loop step response plot displayed for the provided plant
transfer function with controller , by default.

The Edit Architecture button in Control System Designer window displays the
architecture of the control system being designed as shown below. This default

agrees with the architecture we are employing.

Since our reference is a step function of 0.2 radians, we can set the
precompensator block equal to 0.2 to scale a unit step input to our system.
This can be accomplished from the Compensator Editor window, which can be
opened by right-clicking on the plot and then selecting Edit Compensator.

Specifically, choose F from the drop-down menu in the Compensator portion of


the window and set the compensator equal to 0.2 as shown in the figure below.

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 3/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

To begin with, let's see how the system performs with a proportional controller
set equal to 2. The compensator can be defined in the same manner

as the precompensator, just choose C from the drop-down menu in the


Compensator portion of the window instead of F. Then set the compensator

equal to 2. To see the performance of our system with this controller, move to
the IOTransfer_r2y:step tab. If you have accidentally closed this tab, you can

re-open it from the Control System Designer window by clicking on the New

Plot menu and selecting New Step. In response, a new window titled New Step
to plot will appear. From the Select Responses to Plot menu, then choose

IOTransfer_r2y and click the button Plot as shown below.

A window will then open with the following step response displayed.

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 4/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

Examination of the above shows that aside from steady-state error, the given

design requirements have not been met. The gain chosen for can be
adjusted in an attempt to modify the resulting performance through the

Compensator Editor window. Instead, we will use the Control System

Designer to automatically tune our proportional compensator. In order to use


this feature, go to the Tuning Methods menu of the MATLAB toolstrip and

choose PID Tuning under the Automated Tuning menu. Then select a
Controller type of P and Select Loop to Tune as LoopTransfer_C as shown

in the figure below (our architecture has only one loop).

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 5/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

There are two options that can be chosen from the Tuning method drop-down

menu, Robust response time or Classical design formulas. The Robust

response time algorithm automatically tunes the PID parameters to balance


speed of response and robustness. It can tune all parameters for any type of

PID controller. It can be used for design of plants that are stable, unstable, or
integrating. However, the Classical design formulas algorithm requires a

stable or integrating plant and cannot tune the derivative filter. If you select
Classical design formulas algorithm, then in the Formula drop-down menu

a range of options can be seen. These options range from heuristic techniques,

like Ziegler-Nichols, to numerical approaches that search over all possible


control gains to minimize some identified performance index. For our example,

choose the Robust response time algorithm. Then in the Design mode drop-
down menu, you can choose Time or Frequency. Since our design

requirements are expressed in the time-domain, we select the Design mode as


Time. Since, our rise time is expected to be less than 2 seconds, try specifying a

Response Time of 1.5 seconds.

Once all of the tuning settings have been chosen, then click the Update
Compensator button. The algorithm then chooses a proportional gain of =

1.1269. This controller meets the rise time requirement, but the settle time is
much too large. You can attempt requiring a faster response time (move the

slider to the right), however, this will result in an increase in overshoot and

oscillation. The proportional controller does not provide us a sufficient degree of


freedom in our tuning, we need to add integral and/or derivative terms to our
controller in order to meet the given requirements.

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 6/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

PI control

Recalling the information provided in the Introduction: PID Controller Design


tutorial, integral control is often helpful in reducing steady-state error. In our
case, the steady-state error requirement is already met. For purposes of
illustration, let's design a PI controller anyway. We will again use automated

tuning to choose our controller gains as we did above, only now we will select a
Controller type of PI. Everything else will be left unchanged. Clicking on the
Compensator Update button then produces the following controller.

(3)

This transfer function is a PI compensator with = 0.0263 and = 1.13. The


resulting closed-loop step response is shown below.

From inspection of the above, notice that the addition of integral control helped
reduce the average error in the signal more quickly (the error changes sign
around 20 seconds), but it didn't help reduce the oscillation. Let's try also adding
a derivative term to our controller.

PID Control

Again recalling the lessons we have learned in the Introduction: PID Controller
Design tutorial, increasing the derivative gain in a PID controller can often

help reduce overshoot. Therefore, by adding derivative control we may be able


to reduce the oscillation in the response a sufficient amount that we can then
increase the other gains to reduce the settling time. Let's test our hypothesis by

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 7/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

changing the Controller type to PID and again click the Update Compensator

button. The generated controller is shown below.

(4)

This transfer function is a PID compensator with = 0.5241, = 1.0482, and


= 0.5241. The resulting closed-loop step response is shown below.

This response meets all of the requirements except for the settle time which at
19.7 seconds is larger than the given requirement of 10 seconds. Reducing the
Response Time requirement (moving the slider to the right) will make the
response faster, while moving the Transient Behavior slider towards Robust

will help reduce the oscillation. The resulting PID controller for the shown
settings is given below.

(5)

https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 8/10
12/8/23, 9:53 PM Control Tutorials for MATLAB and Simulink - Aircraft Pitch: PID Controller Design

Here we can see that moving both sliders to the right made the response faster
and reduced the oscillation. However, the settling time is still greater than the

required 10 seconds. We again try increasing the required speed of response;


we have some room to spare on overshoot. The resulting PID controller for the
settings shown below is the following.

(6)

This response meets all of the given requirements as summarized below.

Overshoot = 7.5% < 10%

Rise time = 0.413 seconds < 2 seconds

Settling time = 9.25 seconds < 10 seconds

Steady-state error = 0% < 2%


https://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=ControlPID 9/10

You might also like