From the main problem, the open-loop transfer function for the aircraft pitch dynamics is
(1)
where the input is elevator deflection angle and the output is the aircraft pitch angle .
For the original problem setup and the derivation of the above transfer function please refer to the Aircraft Pitch: System Modeling page.
For a step reference of 0.2 radians, the design criteria are the following.
Recall from the Introduction: Root Locus Controller Design page. a root locus plot shows all possible closed-loop pole locations as a parameter (usually a proportional gain K) is varied from 0 to infinity. We will employ the root locus to design our controller to place our system's closed-loop poles in locations that will result in behavior that satisfies our given requirements. Recall from the Aircraft Pitch: System Analysis page. how pole locations directly affect the character of the system's response to a step reference.
We will specifically use MATLAB's Control System Designer to modify the system's root locus to design a compensator to place the system's closed-loop poles to achieve the given design requirements. More specifically, we will use the root locus to design for the requirements on transient response. We will assume the following unity-feedback architecture.
We will begin by examining the system's root locus under simple proportional control C(s) = K. First, enter the following code at the command line to define the model of our plant P(s). Refer to the Aircraft Pitch: System Modeling page for the details of getting these commands.
s = tf('s');
P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s);
Then, type controlSystemDesigner('rlocus', P_pitch) in the command window. One window named Control System Designer will initially open, with the root locus and closed-loop step response of the plant with controller C(s) = K as shown below.
The Edit Architecture button (as shown above) in the 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 F(s) 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 root locus 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. Since the addition of this precompensator doesn't affect the closed-loop pole locations, the displayed root locus will remain unchanged.
Recalling that pole locations relate to transient performance, we can identify regions of the complex plane that correspond to pole locations that meet our requirements. These regions assume a canonical second-order system which we do not have even under proportional control, however, the regions serve as a good starting point for our design.
To add the design requirements to the root-locus plot, right-click on the plot and select Design Requirements > New from the resulting menu. You can add many design requirements including Settling time, Percent overshoot, Damping ratio, Natural frequency, and generic Region constraint. Our settling time and percent overshoot requirements can be added directly employing these choices. Rise time is not explicitly included as one of the drop-down choices, however, we can use the following approximate relationship that relates rise time to natural frequency.
(2)
Therefore, our requirement that rise time be less than 2 seconds corresponds approximately to a natural frequency of greater than 0.9 rad/sec for a canonical underdamped second-order system. Adding this requirement to the root locus plot in addition to the settle time and overshoot requirements generates the following figure.
The resulting desired region for the closed-loop poles is shown by the unshaded region of the above figure. More specifically, the two rays centered at the origin represent the overshoot requirement; the smaller the angle these rays make with the negative real-axis, the less overshoot is allowed. The vertical line at s = -0.4 represents the settling time requirement, where the farther to left the closed-loop poles are located, the smaller the settling time is. The rise time (natural frequency) requirement corresponds to the circle centered at the origin, where the radius corresponds to a natural frequency of 0.9.
Examination of the above figure shows that none of the three branches of the root locus enter the unshaded region, therefore, we cannot place the system's closed-loop poles in the desired region by varying the proportional gain K. We must attempt a dynamic compensator with poles and/or zeros in order to reshape the root locus.
We specifically need to shift the root locus more to the left in the complex plane to get it inside our desired region. One way to do this is to employ a lead compensator, refer to the Lead and Lag Compensators page for details.
The transfer function of a typical lead compensator is the following, where the zero has smaller magnitude than the pole, that is, it is closer to the imaginary axis in the complex plane.
(3)
Before we begin designing the lead compensator, we need to configure the Control System Designer to have a compensator parameterization corresponding to the one shown above. This can be accomplished by clicking on the Preferences menu at the top of the Control System Designer window. Then from the Options tab of the resulting Control System Designer Preferences window, select a Zero/pole/gain parameterization as shown below.
We will choose to place the zero of our lead compensator on the real axis on the semicircle defined by our rise time requirement, z = -0.9. This will ensure that as the gain K is increased, the branch of the root locus that approaches that open-loop zero won't exit the desired region. Furthermore, we will place the pole farther to the left than the zero, as required by the definition of a lead compensator. To begin with, let p = -3.
Within the Control System Designer you can add the lead compensator from under the Compensator Editor window that can be opened by right-clicking on the root locus and then selecting Edit Compensator. Specifically, right-click in the Dynamics section of the window and select Add Pole/Zero > Lead. Then enter the Real Zero and Real Pole locations as shown in the following figure.
In order to see the effect of moving the pole of the lead compensator, you can enter different numerical values under the Compensator Editor window. Any changes in the compensator here will be reflected in the root locus plot. Alternatively, you can tune the compensator graphically directly from the root locus plot. Specifically, if you click on the open-loop pole at -3 (marked by a red x) you can then slide the pole along the real axis and observe how the root locus plot changes. Specifically, you should see that as you move the pole to the left, the root locus gets pulled farther to the left (and further into our desired region). Placing the pole at -30 will generate the figure shown below.
Right-clicking on the root locus plot and choosing Properties from the resulting menu, we can change the limits of the graph in order to zoom in on the region of the root locus nearer to the origin as shown below.
From examination of the two above plots, three of the branches of the root locus clearly pass through the desired region. The fourth branch on the real axis closer to the origin is not in the desired region. Even though the closed-loop pole associated with that branch is slower than the other closed-loop poles, its effect will be canceled somewhat by the closed-loop zero at -0.1541. The larger the value of the loop gain K employed, the closer this closed-loop pole will be to the closed-loop zero and the less effect it will have. The locations of the closed-loop poles for the current value of the loop gain (in the above figures K = 33.3) are indicated by the pink boxes on the root locus. The closed-loop pole located farthest to the left will have minimal effect on the transient response of the system since it is significantly faster than the other closed-loop poles.
In order to see the explicit effect of the zeroes and higher-order poles, we will need to examine the closed-loop step response. We can check the closed-loop step response for the system with this new gain by moving 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. The response of the output y of the closed-loop system for a step reference r will then appear in the Control System Designer window.
You can also identify some characteristics of the step response. Specifically, right-click on the figure and under Characteristics choose Settling Time. Then repeat for Rise Time. Your figure will appear as shown below.
From the above, we can see that for the current value of gain K the settling time and rise time are both too large. Let's attempt to modify the loop gain graphically by clicking on one of the pink boxes on the root locus and dragging the box along the locus in the direction of increasing K. As you do this, the step response plot will automatically update. The effect of increasing K to a value of 200 will be that the two slowest closed-loop poles will approach closed-loop zeros thereby making their effect minimal. The next slowest pole moves to the left in the complex plane with increasing K which has the effect of reducing both the settle time (increased ) and the rise time (increased ). A loop gain of K = 200 keeps all of the poles on the real-axis, leading to no overshoot and the presence of the integrator in the plant guarantees zero steady-state error. Therefore, this controller meets all of the given requirements as shown in the figure below.
Matlabsolutions.com provides guaranteed satisfaction with a
commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain
experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support
to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been
empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab
assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services
include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work
done at the best price in industry.
Desktop Basics - MATLAB & Simulink
Array Indexing - MATLAB & Simulink
Workspace Variables - MATLAB & Simulink
Text and Characters - MATLAB & Simulink
Calling Functions - MATLAB & Simulink
2-D and 3-D Plots - MATLAB & Simulink
Programming and Scripts - MATLAB & Simulink
Help and Documentation - MATLAB & Simulink
Creating, Concatenating, and Expanding Matrices - MATLAB & Simulink
Removing Rows or Columns from a Matrix
Reshaping and Rearranging Arrays
Add Title and Axis Labels to Chart
Change Color Scheme Using a Colormap
How Surface Plot Data Relates to a Colormap
How Image Data Relates to a Colormap
Time-Domain Response Data and Plots
Time-Domain Responses of Discrete-Time Model
Time-Domain Responses of MIMO Model
Time-Domain Responses of Multiple Models
Introduction: PID Controller Design
Introduction: Root Locus Controller Design
Introduction: Frequency Domain Methods for Controller Design
DC Motor Speed: PID Controller Design
DC Motor Position: PID Controller Design
Cruise Control: PID Controller Design
Suspension: Root Locus Controller Design
Aircraft Pitch: Root Locus Controller Design
Inverted Pendulum: Root Locus Controller Design
Get Started with Deep Network Designer
Create Simple Image Classification Network Using Deep Network Designer
Build Networks with Deep Network Designer
Classify Image Using GoogLeNet
Classify Webcam Images Using Deep Learning
Transfer Learning with Deep Network Designer
Train Deep Learning Network to Classify New Images
Deep Learning Processor Customization and IP Generation
Prototype Deep Learning Networks on FPGA
Deep Learning Processor Architecture
Deep Learning INT8 Quantization
Quantization of Deep Neural Networks
Custom Processor Configuration Workflow
Estimate Performance of Deep Learning Network by Using Custom Processor Configuration
Preprocess Images for Deep Learning
Preprocess Volumes for Deep Learning
Transfer Learning Using AlexNet
Time Series Forecasting Using Deep Learning
Create Simple Sequence Classification Network Using Deep Network Designer
Classify Image Using Pretrained Network
Train Classification Models in Classification Learner App
Train Regression Models in Regression Learner App
Explore the Random Number Generation UI
Logistic regression create generalized linear regression model - MATLAB fitglm 2
Support Vector Machines for Binary Classification
Support Vector Machines for Binary Classification 2
Support Vector Machines for Binary Classification 3
Support Vector Machines for Binary Classification 4
Support Vector Machines for Binary Classification 5
Assess Neural Network Classifier Performance
Discriminant Analysis Classification
Train Generalized Additive Model for Binary Classification
Train Generalized Additive Model for Binary Classification 2
Classification Using Nearest Neighbors
Classification Using Nearest Neighbors 2
Classification Using Nearest Neighbors 3
Classification Using Nearest Neighbors 4
Classification Using Nearest Neighbors 5
Gaussian Process Regression Models
Gaussian Process Regression Models 2
Understanding Support Vector Machine Regression
Extract Voices from Music Signal
Align Signals with Different Start Times
Find a Signal in a Measurement
Extract Features of a Clock Signal
Filtering Data With Signal Processing Toolbox Software
Find Periodicity Using Frequency Analysis
Find and Track Ridges Using Reassigned Spectrogram
Classify ECG Signals Using Long Short-Term Memory Networks
Waveform Segmentation Using Deep Learning
Label Signal Attributes, Regions of Interest, and Points
Introduction to Streaming Signal Processing in MATLAB
Filter Frames of a Noisy Sine Wave Signal in MATLAB
Filter Frames of a Noisy Sine Wave Signal in Simulink
Lowpass Filter Design in MATLAB
Tunable Lowpass Filtering of Noisy Input in Simulink
Signal Processing Acceleration Through Code Generation
Signal Visualization and Measurements in MATLAB
Estimate the Power Spectrum in MATLAB
Design of Decimators and Interpolators
Multirate Filtering in MATLAB and Simulink