Transcript
8/3/2019 Space Engineering Lab Manual M
1/43
Solution manual for
Space Engineering
LaboratoryDepartment of Instrumentation and Control Engineering
Manikandan M
M.Tech Scholar, Astronomy and Space Engineering
Registration No: 100944015
8/3/2019 Space Engineering Lab Manual M
2/43
Manipal -576104
Certificate
This is to certify that the Laboratory Manual and Journal for the lab titled SPACE
ENGINEERING LABORATORY submitted by __________________ bearing
Registration no: ___________of second semester of M.Tech Astronomy and Space
Engineering/Control Systems for the academic year 2010-2011 has been
submitted as per the laboratory course requirements, which has been evaluated
and duly certified.
Place: Manipal
Date: 04th May, 2011
Lab-in-Charge
Department of Instrumentation and Control Engineering
Manipal Institute of Technology-576104
Manipal Institute of TechnologyA Constituent Institute of Manipal University
MANIKANDAN M
100944015
8/3/2019 Space Engineering Lab Manual M
3/43
Contents
S.No Experiment Name Page No Remarks
1
One degree of freedom pitch rotor control
2 One degree of freedom yaw rotor control
3
Real time two degree of freedom control
4
Real time PD control of ball position
5
WMV ball position real time control
6
To control the position of ball on the beam
using PID controller
7
To control the position of the ball on the
beam using root locus technique
8
Design a robust controller for ball position
9
Plot the response of helicopter system using
a PID controller to control the system for
constant pitch position, travel rate and roll
angle(assume suitable values)
10
Plot the response of helicopter system using
a PID controller to control the system forvarying pitch position at constant travel rate
and roll angle(assume suitable values)
11
Plot the response of helicopter system using
a PID controller to control the system for
constant pitch position, varying travel rate
and constant roll angle(assume suitable
values)
12
Astrograv Experiments.Design and analysis
using DSpace real-time control platform
8/3/2019 Space Engineering Lab Manual M
4/43
The description of the TRMS setup in this experiment refers to the mechanical part and the control aspect. Fordetails on the mechanical and electrical connection, the interface and an explanation of how the signals aremeasured and transferred to the PC, we will consider the following experiments. As shown in Figure , the TRMSmechanical unit consists of two rotors placed on a beam together with a counterbalance. The whole unit isattached to the tower allowing for safe helicopter control experiments.
Apart from the mechanical units, the electrical unit (placed under the tower) plays an important role for TRMScontrol. It allows for measured signals transfer to the PC and control signal application via an I/O card. Themechanical and electrical units provide a complete control system setup presented in second Figure below.
In order to design any control algorithms one must first understand the physical background behind the processand carry out identification experiments. The next section explains the modelling process of the TRMS. Everycontrol project starts with plant modelling, so as much information as possible is given about the process itself.The mechanical-electrical model of the TRMS is presented in next Figure below.
Experiment No: 1 TWIN ROTOR MIMO SYSTEM
8/3/2019 Space Engineering Lab Manual M
5/43
Usually, phenomenological models are nonlinear, that means at least one of the states ( rotor current, position) is an argument of a nonlinear function. In order to present such a model as a transfer function (a formof linear plant dynamics representation used in control engineering), it has to be linearised. According to theelectrical-mechanical diagram presented in above Figure the non-linear model equations can be derived.
Figure: Actual Real Time Model in space Engineering lab at MIT
At the end after model values are calculated we will have as the cross reaction momentum approximated by: ()
Again the DC motor with the electrical circuit is approximated by:
The motor and the electrical control circuit is approximated by a first order transfer function thus in Laplacedomain the motor momentum is described by:
8/3/2019 Space Engineering Lab Manual M
6/43
The Simulink diagram for the above said program is given as:
The pitch control PID values for one DOF twin rotor system are observed as;
The step response for these values is observed as:
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
1.4
TIME
RESPONSE
Experiment No: 1A One DOF Pitch Rotor Control
8/3/2019 Space Engineering Lab Manual M
7/43
The Simulink diagram for the above said program is given as:
The Yaw control PID values for one DOF twin rotor system are observed as;
The step response for these values is observed as:
0 10 20 30 40 50 60 70 80 90 1000
0.5
1
1.5
RESPONSE
TIME
Experiment No: 1B One DOF Yaw Rotor Control
8/3/2019 Space Engineering Lab Manual M
8/43
The Simulink diagram for the above said program is given as:
The tail control PID values for one DOF twin rotor system are observed as;
The step response for these values is observed as:
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
TIME
RESPONSE
Experiment No: 1C One DOF Tail Rotor Control
8/3/2019 Space Engineering Lab Manual M
9/43
The Simulink diagram for the above said program is given as:
The main control PID values for one DOF twin rotor system are observed as;
The step response for these values is observed as:
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
1.4
TIME
RESPON
SE
Experiment No: 1D One DOF Main Rotor Control
8/3/2019 Space Engineering Lab Manual M
10/43
The description of the Maglev setup in this section refers to the mechanical-electrical part and the control aspect.For details on how the signals are measured and transferred to the PC, refer to the experiments in details. Asshown in Figure below, the Maglev unit consists of a Connection-Interface Panel with a Mechanical Unit onwhich a coil is mounted. An infra-red sensor is attached to the Mechanical Unit. Two steel spheres are includedin the package.
Apart from the mechanical units electrical units play an important role in Maglev control. They allow measuredsignals to be transferred to the PC via an I/O card. The Analogue Control Interface is used to transfer controlsignals from the PC to Maglev and back. The mechanical and electrical units provide a complete control systemsetup presented in Figure below.
In order to design any control algorithms one must first understand the physical background behind the processand carry out identification experiments. The next thing to explain is the modelling process of the MagneticLevitation. Every control project starts with plant modelling, so as much information as possible is given aboutthe process itself. The mechanical-electrical model of Maglev is presented in Figure below. Usually,phenomenological models are nonlinear, that means at least one of the states ( i current, x ball position) is anargument of a nonlinear function. In order to present such a model as a transfer function (a form of linear plantdynamics representation used in control engineering), it has to be linearised. According to the electrical-mechanical diagram presented in Figure below the nonlinear model equations can be derived.
The simplest nonlinear model of the magnetic levitation system relating the ball position and the coil current iis
the following:
Experiment No: 2 Magnetic Levitation System
8/3/2019 Space Engineering Lab Manual M
11/43
where kis a constant depending on the coil (electromagnet) parameters. To present the full phenomenologicalmodel a relation between the control voltage uand the coil current would have to be introduced analysing thewhole Maglev circuitry. However Maglev is equipped with an inner control loop providing a current proportionalto the control voltage that is generated for control purpose:
Equations above will constitute a nonlinear model, which has been assembled in Simulink.
Real time Magnetic Levitation system in Space Engineering Lab of MIT
8/3/2019 Space Engineering Lab Manual M
12/43
The Simulink diagram for the above said program is given as:
The main control PID values for MAGLEV system are observed as;
The step response for the above said program is given by:
0 10 20 30 40 50 60 70 80 90 100-0.2
0
0.2
0.4
0.6
0.8
1
1.2
TIME
AMPLITUDE
Experiment No: 2 Magnetic Levitation System
8/3/2019 Space Engineering Lab Manual M
13/43
The ball & beam control system is a kind of education and experiment equipment, specially designed for courses in automatic
control principle, modern control engineering, and electrical motor control. The control system designed with this experiment
equipment is able to control the position of a stainless steel ball on the track by adjusting the rotating angle of a beam. The Ball &
Beam control system consists of two parts, namely the Ball & Beam body and the control system. The Ball & Beam body consists
of a v-grooved steel bar and a free rolling ball. The linear sensor measures the position of the ball on the track by measuring the
output voltage from the stainless steel bar. A DC motor is connected to a reducer, which controls the angle of beam; accordingly
realize the position control of the ball.
The digital control system consists of an intelligent control module, which is a high precision, fully digital servo drive, withembedded intelligence and built-in 100W power amplifier. The drive is used for brushless motors with sinusoidal or trapezoidal
commutation, or DC brush motors. Programmable with the high-level Motion Language, the intelligent control module embeds on
one board advanced motion control and PLC-specific functionality. Combined with a high-level Motion Language, a graphical
platform for quick configuration, tuning and motion programming, the Intelligent Control module represents a flexible and easy
way to implement solution for a wide range of applications. A user-friendly graphical control interface can visually shows the
results of the controller and all of the operating data. Real-Time control interface are provided in MATLAB Simulink andLabVIEW, making it convenient to implement basic experiments and arithmetic studied.
Suggested Experiments:
1. System modeling;
2. Design of feedback controller;
3. P ,PD and PID control system design;
4. Design controllers using root locus methods.
5. Design controllers using frequency response methods.
6. Design controllers using user define arithmetic.
Real time model of Ball and Beam system in Space Engineering lab of MIT
Experiment No: 3 Ball and Beam Systems
8/3/2019 Space Engineering Lab Manual M
14/43
M mass of the ball 0.11 kg
R radius of the ball 0.015 m
d lever arm offset 0.03 m
g gravitational acceleration 9.8 m/s2
L length of the beam 1.0 mJ ball's moment of inertia 9.99e-6 kgm
2
r ball position coordinate
alpha beam angle coordinate
theta servo gear angle
The design criteria for this problem are:
Settling time less than 3 seconds Overshoot less than 5%
System Equations
The Lagrangian equation of motion for the ball is given by the following:
Linearization of this equation about the beam angle, alpha = 0, gives us the following linear approximation
of the system:
The equation which relates the beam angle to the angle of the gear can be approximated as linear by the
equation below:
Substituting this into the previous equation, we get:
1. Transfer Function
Taking the Laplace transform of the equation above, the following equation is found:
NOTE: When taking the Laplace transform to find the transfer function initial conditions are assumed to be
zero.
Experiment No: 3A Ball and Beam Systems Control Problems(P,PI,PID)
8/3/2019 Space Engineering Lab Manual M
15/43
Rearranging we find the transfer function from the gear angle (theta(s)) to the ball position (R(s)).
It should be noted that the above plant transfer function is a double integrator. As such it is marginally stable
and will provide a challenging control problem.
2. State-Space
The linearized system equations can also be represented in state-space form. This can be done by selecting
the ball's position (r) and velocity (rdot) as the state variables and the gear angle (theta) as the input. The
state-space representation is shown below:
*+ *
+ *+
However, for our state-space example we will be using a slightly different model. The same equation for the
ball still applies but instead of controlling the position through the gear angle, theta, we will control alpha-
double dot. This is essentially controlling the torque of the beam. Below is the representation of this system:
[ ]
Note: For this system the gear and lever arm would not be used, instead a motor at the center of thebeam will apply torque to the beam, to control the ball's position.
8/3/2019 Space Engineering Lab Manual M
16/43
Matlab Representation and Open-Loop Response
1. Transfer Function
The transfer function found from the Laplace transform can be implemented in Matlab by inputting the
numerator and denominator as vectors. To do this we must create anm-fileand copy the following text into
it:
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies input
num = [-K];
den = [1 0 0];
printsys(num,den)
Our output should be:
num/den =
0.21----------
s^2
Now, we would like to observe the ball's response to a step input of 0.25 m. To do this you will need to add
the following line to your m-file:
step(0.25*num,den)
NOTE: Matlab commands from the control system toolbox are highlighted in red.
You should see the following plot showing the balls position as a function of time:
From this plot it is clear that the system is unstable in open-loop causing the ball to roll right off the end of
the beam. Therefore, some method of controlling the ball's position in this system is required. Three
examples of controller design are listed below for the transfer function problem. You may select from PID,
Root Locus, and Frequency Response.
http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html8/3/2019 Space Engineering Lab Manual M
17/43
2. State-Space
The state-space equations can be represented in Matlab with the following commands (these equations are
for the torque control model).
m = 0.111;
R = 0.015;
g = -9.8;
J = 9.99e-6;H = -m*g/(J/(R^2)+m);
A=[0 1 0 0 0 0 H 0 0 0 0 1 0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
The step response to a 0.25m desired position can be viewed by running the command below:
step(A,B*.25,C,D)
Your output should look like the following:
Like the plot for the transfer function this plot shows that the system is unstable and the ball will roll right
off the end of the beam. Therefore, we will require some method of controlling the ball's position in this
system. The State-Space example below shows how to implement a controller for this type of system.
PID Controlling
Closed-loop Representation
The block diagram for this example with a controller and unity feedback of the ball's position is shown
below:
8/3/2019 Space Engineering Lab Manual M
18/43
Recall, that the transfer function for a PID controller is:
Proportional Control
The closed-loop transfer function for proportional control with a proportional gain (kp) equal to 100, can bemodeled by copying the following lines of Matlab code into an m-file (or a '.m' file located in the same
directory as Matlab)
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies input
num = [-K];
den = [1 0 0];
kp = 1;
numP = kp*num;
[numc, denc] = cloop(numP, den)
NOTE: Matlab commands from the control system toolbox are highlighted in red.
We have numerator and denominator as:
numc =
0 0 0.2100
denc =
1.0000 0 0.2100
Now, we can model the system's response to a step input of 0.25 m. Add the following line of code to your
m-file and run it:
step(0.25*numc,denc)
We should get the following output:
http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/step.htmlhttp://www.engin.umich.edu/group/ctm/extras/step.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html8/3/2019 Space Engineering Lab Manual M
19/43
As, we can see the addition of proportional gain does not make the system stable. Try changing the value of
kp and note that the system remains unstable.
Proportional-Derivative Control
Now, we will add a derivative term to the controller. Copy the following lines of code to an m-file and run it
to view the system's response to this control method.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies input
num = [-K];
den = [1 0 0];
kp = 10;
kd = 10;
numPD = [kd kp];
numh = conv(num, numPD);[numc, denc] = cloop(numh, den);t=0:0.01:5;
step(0.25*numc,denc,t)
Our plot should be similar to the following:
Now the system is stable but the overshoot is much too high and the settling time needs to go down a bit.
From the PID tuning , we see that by increasing kd we can lower overshoot and decrease the settling time
slightly. Therefore, make kd = 20 in your m-file and run it again. Our output should be:
8/3/2019 Space Engineering Lab Manual M
20/43
The overshoot criterion is met but the settling time needs to come down a bit. To decrease the settling time
we may try increasing the kp slightly to increase the rise time. The derivative gain (kd) can also be increased
to take off some of the overshoot that increasing kp will cause. After playing with the gains a bit, the
following step response plot can be achieved with kp = 15 and kd = 40:
As you can see from the above plot all the control objectives have been met without the use of an integral
controller (settling time for this example is considered achieved when the response is less than 2% of it's
final value). Remember, that for a control problem there is more than one solution for the problem.
8/3/2019 Space Engineering Lab Manual M
21/43
Root locus Technique
The open-loop transfer function of the plant for the ball and beam experiment is given below:
The design criteria for this problem are:
Settling time less than 3 seconds
Overshoot less than 5%
To see the derivation of the equations for this problem refer to the ball and beam modeling page. A
schematic of the closed loop system with a controller is given below:
Open-loop Root Locus
The main idea of the root locus design is to estimate the closed-loop response from the open-loop root locus
plot. By adding zeroes and/or poles to the original system (adding a compensator), the root locus and thus
the closed-loop response will be modified. Let us first view the root locus for the plant in open loop. Create
anm-filewith the following Matlab code in order to model the plant and plot the root locus.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies inputnum = [-K];
den = [1 0 0];
rlocus(num,den)
NOTE: Matlab commands from the control system toolbox are highlighted in red.
Now, run the m-file and you should see the following root locus plot:
Experiment No: 3B Ball and Beam Systems Control Problems(Root Locus)
http://www.engin.umich.edu/group/ctm/examples/ball/ball.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/examples/ball/ball.html8/3/2019 Space Engineering Lab Manual M
22/43
As we can see the system has two poles at the origin which go off to infinity along the imaginary axes.
The design criteria can also be plotted onto the root locus using the sgrid command. This commandgenerates a grid of constant damping ratio and natural frequency. The damping ratio and natural frequency
were found using the following equation, which relates the them to our percent overshoot (PO) and settling
time (Ts) requirements:
Note, that the equation with Ts is found by assuming settled is when the response remains within 2% of it's
final value. From these equation damping ratio and natural frequency were found to be 0.7 and 1.9
respectively.
sgrid(0.70, 1.9)axis([-5 5 -2 2])
8/3/2019 Space Engineering Lab Manual M
23/43
The area between the two dotted diagnol lines represents locations where the percent overshoot is less than
5%. The area outside the curved line represents locations where the setttling time is less than 3 seconds.
Note that no region of the plot falls within the design criteria shown be these lines. To remedy this and bring
the root locus into the left-hand plane for stability we will try adding a lead-compensator to the system.
Lead Controller
A first order lead compensator tends to shift the root locus into the left-hand plane. A lead compensator hasthe form given below:
where, the magnitude of zo is less than the magnitude of po.
Now, let us add the controller to the plant and view the root locus. We will position the zero near the origin
to cancel out one of the poles. The pole of our compensator will be placed to the left of the origin to pull theroot locus further into the left-hand plane. Add the following lines of Matlab code to your m-file.
zo = 0.01;
po = 5;
numlead = [1 zo];
denlead = [1 po];
numl = conv(num,numlead);
denl = conv(den,denlead);
rlocus(numl,denl)
sgrid(0.70, 1.9)
Run your m-file in the Matlab command window and you should see the following:
Now, the branches of the root locus are within our design criteria.
8/3/2019 Space Engineering Lab Manual M
24/43
Selecting a Gain
Now that we have moved the root locus into the left-hand plane, we may select a gain that will satisfy our
design requirements. We can use the rlocfind command to help us do this. Add the following onto the end of
your m-file.
[kc,poles]=rlocfind(numl,denl)
Go to the plot and select a point near those indicated by the cross mark on the plot below:
We should see in the Matlab command window something similar to the following (your numbers will beslightly different):
selected_point =
-2.4988+ 1.2493i
kc =
37.3131
poles =
-2.4950+ 1.2493i-2.4950- 1.2493i-0.0101
Now, we can plot the response with this gain.
Plotting the Closed-loop Response
This value of kc can be put into the system and the closed-loop response to a step input of 0.25 m can beobtained. Add the following lines to your m-file to perform this analysis.
numl2 = kc*numl;
[numcl,dencl] = cloop(numl2,denl);
8/3/2019 Space Engineering Lab Manual M
25/43
t=0:0.01:5;
figure
step(0.25*numcl,dencl,t)
Run the m-file and we select a point on the root locus similar to the selected point above. The step response
should look like the following:
From this plot we see that when a 0.25m step input is given to the system both the settling time and percentovershoot design criteria are met.
Note: A design problem does not necessarily have a unique answer. Using this method (or any other) may
result in many different compensators. Try running your m-file several more times selecting a different point
each time and study the effect this has on the step response. For practice you may also want to go back to the
original open-loop root locus and try to find other ways to add zeros and poles to get a better response.
8/3/2019 Space Engineering Lab Manual M
26/43
Frequency response
The open-loop transfer function of the plant for the ball and beam experiment is given below:
The design criteria for this problem are:
Settling time less than 3 seconds Overshoot less than 5%
A schematic of the closed loop system with a controller is given below:
Open-loop Bode Plot
The main idea of frequency based design is to use the Bode plot of the open-loop transfer function to
estimate the closed-loop response. Adding a controller to the system changes the open-loop Bode plot,
therefore changing the closed-loop response. Let's first draw the bode plot for the original open-loop transfer
function. Create anm-filewith the following code and then run it in the Matlab command window:
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies input
num = [-K];
den = [1 0 0];
bode(num,den)
NOTE: Matlab commands from the control system toolbox are highlighted in red.
All the transfer function for the ball and Beam system for each controller comes from the modelling of the
system which is described earlier.
Weshould get the following Bode plot given on the next page as:
Experiment No: 3C Ball and Beam Systems Control Problem (Frequency Response)
http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html8/3/2019 Space Engineering Lab Manual M
27/43
From this plot we see that the phase margin is zero. Since the phase margin is defined as the change in open-
loop phase shift necessary to make a closed-loop system stable this means that our zero phase margin
indicates our system is unstable. We want to increase the phase margin and we can use a lead compensator
controller to do this.
Phase-Lead Controller
A first order phase-lead compensator has the form given below:
The phase-lead compensator will add positive phase to our system over the frequency range 1/aT and 1/T,which are called the corner frequencies. The maximum added phase for one lead compensator is 90 degrees.
For our controller design we need a percent overshoot of 5, which corresponds to a zeta of 0.7. Generally
zeta * 100 will give you the minimum phase margin needed to obtain your desired overshoot. Therefore we
require a phase margin greater than 70 degrees.
To obtain "T" and "a", the following steps can be used.
1. Determine the positive phase needed:
We need at least 70 degrees from our controller.
2. Determine the frequency where the phase should be added (center frequency):
In our case this is difficult to determine because the phase vs. frequency graph in the bode plot is a flat line.
However, we have a relation between bandwidth frequency (wbw) and settling time which tells us that wbw
is approximately 1.92 rad/s. Therefore we want a center frequency just before this. For now we will choose
1.
3. Determine the constant "a" from the equation below, this determines the equired space between the
zero and the pole for the maximum phase added.
http://www.engin.umich.edu/group/ctm/extras/lead.lag.htmlhttp://www.engin.umich.edu/group/ctm/extras/lead.lag.html8/3/2019 Space Engineering Lab Manual M
28/43
where phi refers to the desired phase margin. For 70 degrees, a = 0.0311.
4. Determine "T" and "aT" from the following equations:
For 70 degrees and center frequency (w) = 1, aT = 0.176 and T = 5.67
Now, we can add our lead controller to the system and view the bode plot. Remove the bode command fromyour m-file and add the following:
k=1;
numlead = k*[5.67 1];
denlead = [0.176 1];
numl = conv(num,numlead);
denl = conv(den,denlead);
bode(numl,denl)
We should get the following bode plot:
We can see that our phase margin is now 70 degrees. Let's check the closed-loop response to a step input of
0.25m. Add the following to your m-file:
[numcl,dencl] = cloop(numl,denl);
t=0:0.01:5;step(0.25*numcl,dencl,t)
We should get the following plot:
8/3/2019 Space Engineering Lab Manual M
29/43
Although the system is now stable and the overshoot is only slightly over 5%, the settling time is not
satisfactory. Increasing the gain will increase the crossover frequency and make the response faster. Make k
= 5, your response should look like:
8/3/2019 Space Engineering Lab Manual M
30/43
The response is faster, however, the overshoot is much too high. Increasing the gain further will just make
the overshoot worse.
Adding More Phase
We can increase our phase-lead compensator to decrease the overshoot. In order to make the iterative
process easier use the following program. Create an m-file and copy the function from your web-browser
into it (make sure the function command starts in the first column of the m-file).
function[ ] = phaseball()
%define TF
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies input
num = [-K];
den = [1 0 0];
%ask user for controller informationpm = input('Phase Margin?.......');
w = input('Center Frequency?...');
k = input('Gain?...............');
%view compensated system bode plot
pmr = pm*pi/180;
a = (1 - sin(pmr))/(1+sin(pmr));
T = sqrt(a)/w;
aT = 1/(w*sqrt(a));
numlead = k*[aT 1];
denlead = [T 1];
numl=conv(num,numlead);
denl=conv(den,denlead);
figurebode(numl,denl)
%view step response
[numcl,dencl]=cloop(numl,denl);
t=0:0.01:5;
figure
step(0.25*numcl,dencl,t)
With this m-file you can choose the phase margin, center frequency, and gain. Run our m-file with the
following values and we should see the plots below on your screen.
Phase Margin?.......80Center Frequency?...1Gain?...............1
8/3/2019 Space Engineering Lab Manual M
31/43
The overshoot is fine but the settling time is just a bit long. We try different numbers and see what happens.
Using the following values the design criteria was met.
Phase Margin?.......85Center Frequency?...1.9Gain?...............2
8/3/2019 Space Engineering Lab Manual M
32/43
Note: A design problem does not necessarily have a unique answer. Using this method (or any other) may
result in many different compensators. For practice you may want to go back and change the added phase,
gain, or center frequency.
8/3/2019 Space Engineering Lab Manual M
33/43
State space:
The state-space representation of the ball and beam example is given below:
[ ]
Remember, unlike the previous examples where we controlled the gear's angle to control the beam and ball,
here we are controlling alpha-double dot. By doing this we are essentially controlling a torque applied at the
centre of the beam by a motor. Therefore, we do not need a gear and lever system.
The design criteria for this problem are:
Settling time less than 3 seconds Overshoot less than 5%
Full-State Feedback Controller
We will design a controller for this physical system that utilizes full-state feedback control. A schematic of
this type of system is shown below:
Recall, that the characteristic polynomial for this closed-loop system is the determinant of (sI-(A-BK)),
where s is the Laplace variable. For our system the A and B*K matrices are both 4x4. Hence, there should
be four poles for our system. In designing our full-state feedback controller we can move these poles
anywhere we want.
For our design we desire an overshoot of less than 5% which corresponds to a zeta of 0.7 (please refer to
your textbook for the relationship between overshoot and damping ratio). On a root locus this criterion is
represented as a 45 degree line emanating from the origin and extending out into the left-half plane. We
want to place our poles on or beneath this line. Our next criterion is a settling time less than 3 seconds,
which corresponds to a sigma = 4.6/Ts = 4.6/3 = 1.53, represented by a vertical line at -1.53 on the root
locus. Anything beyond this line in the left-half plane is a suitable place for our poles. Therefore we will
place our poles at -2+2i and -2-2i. We will place the other poles far to the left for now, so that they will not
affect the response too much. To start with place them at -20 and -80. Now that we have our poles we can
use Matlab to find the controller (K matrix) by using the place command. Copy the following code to anm-
fileto model the system and find the K matrix:
NOTE: Matlab commands from the control system toolbox are highlighted in red.
Experiment No: 3D Ball and Beam Systems Control Problem (State Space and digital PID)
http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html8/3/2019 Space Engineering Lab Manual M
34/43
m = 0.111;
R = 0.015;
g = -9.8;
J = 9.99e-6;
H = -m*g/(J/(R^2)+m);
A=[0 1 0 0
0 0 H 0
0 0 0 1
0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
p1=-2+2i;
p2=-2-2i;
p3=-20;
p4=-80;
K=place(A,B,[p1,p2,p3,p4])
Running our m-file and we should get the following output for the K matrix:
place: ndigits= 15
K =
1.0e+03 *
1.8286 1.0286 2.0080 0.1040
After adding the K matrix, the state space equations now become:
We can now simulate the closed-loop response to a 0.25m step input by using thelsimcommand. Add the
following to your m-file:
T = 0:0.01:5;
U = 0.25*ones(size(T));
[Y,X]=lsim(A-B*K,B,C,D,U,T);plot(T,Y)
Running our m-file and we should get the following plot:
http://www.engin.umich.edu/group/ctm/extras/lsim.htmlhttp://www.engin.umich.edu/group/ctm/extras/lsim.htmlhttp://www.engin.umich.edu/group/ctm/extras/lsim.htmlhttp://www.engin.umich.edu/group/ctm/extras/lsim.html8/3/2019 Space Engineering Lab Manual M
35/43
From this plot we see that there is a large steady state error for which we will need to add reference input
(explained in next section). However, the overshoot and settling time criteria are met. If we wanted to reduce
the overshoot further than we would make the imaginary part of the pole smaller than the real part. Also, if
we wanted a faster settling time we would move the poles further in the left-half plane.
Reference Input
Now we want to get rid of the steady-state error. In contrast to the other design methods, where we feedbackthe output and compare it to the reference input to compute an error, with a full-state feedback controller we
are feeding back both states. We need to compute what the steady-state value of the states should be,
multiply that by the chosen gain K, and use a new value as our reference for computing the input. This can
be done by adding a constant gain Nbar after the reference. The schematic below shows this relationship:
Nbar can be found using the user-defined function rscale (copy it to the directory that our m-file is in). Copy
the following to our m-file and run it to view the step response with Nbar added.
Nbar=rscale(A,B,C,D,K)
T = 0:0.01:5;U = 0.25*ones(size(T));
[Y,X]=lsim(A-B*K,B*Nbar,C,D,U,T);plot(T,Y)
Note: Non-standard Matlab commands used in this example are highlighted in green.
Our output should be:
place: ndigits= 15
Nbar =
1.8286e+03
http://www.engin.umich.edu/group/ctm/extras/rscale.htmlhttp://www.engin.umich.edu/group/ctm/extras/rscale.html8/3/2019 Space Engineering Lab Manual M
36/43
Now the steady-state error is gone and all the design criteria are satisfied.
Note: A design problem does not necessarily have a unique answer. Using this method (or any other) may
result in many different compensators.
Digital control:
In this digital control version of the ball and beam experiment, we are going to use the PID control methodto design the digital controller. The open-loop transfer function was derived as
m mass of the ball 0.11 kg
g gravitational acceleration 9.8 m/s2
d lever arm offset 0.03 m
L length of the beam 1.0 m
R radius of the ball 0.015 m
J ball's moment of inertia 9.99e-6 kgm2
R(s) ball position coordinate (m)
theta(s) servo gear angle 0.25 rad
The design criteria for this problem are:
Settling time less than 3 seconds Overshoot less than 5%
Digital PID controller
If we refer to any of the PID control problem for continuous systems, the PID transfer function was
expressed as
As we noticed the above transfer function was written in terms of s. For the digital PID control, we use thefollowing transfer function in terms of z.
Discrete transfer function
The first thing to do here is to convert the above continuous system transfer function to discrete transfer
function. To do this, we are going to use the Matlab function called c2dm. To use this c2dm, we need to
specify four arguments: numerator and denominator matrices, sampling time (Ts), and the 'method'. Youshould already be familiar with how to enter numerator and denominator matrices. The sampling time
should be smaller than 1/(30*BW) sec, where BW is the closed-loop bandwidth frequency. The method we
will use is the zero-order hold ('zoh'). Assuming that the closed-loop bandwidth frequency is around 1
http://www.engin.umich.edu/group/ctm/digital/digital.html#convhttp://www.engin.umich.edu/group/ctm/digital/digital.html#zohhttp://www.engin.umich.edu/group/ctm/digital/digital.html#zohhttp://www.engin.umich.edu/group/ctm/digital/digital.html#conv8/3/2019 Space Engineering Lab Manual M
37/43
rad/sec, let the sampling time be 1/50 sec/sample. Now we are ready to use c2dm. Enter the following
commands to an m-file.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifies inputnum = [-K];
den = [1 0 0];
Ts = 1/50;
[numDz,denDz]= c2dm (num,den,Ts,'zoh')
Running this m-file in the Matlab command window gives us the following matrices.
numDz =
1.0e-0.4 *
0 0.4200 0.4200
denDz =
1 -2 1
From these matrices, the discrete transfer function can be written as
Open-loop response
Now we will observe the ball's response to a step input of 0.25 m. To do this, enter the following commands
to an new m-file and run it in the command window. You should see the following response.
numDz = 0.0001*[0.42 0.42];
denDz = [1 -2 1];
[x] =dstep (0.25*numDz,denDz,251);
t=0:0.02:5;stairs(t,x)
http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html8/3/2019 Space Engineering Lab Manual M
38/43
From this plot, it is clear that the open-loop system is unstable causing the ball to roll off from the end of the
beam.
Proportianal Control
Now we will add the proportional control (Kp) to the system and obtain the closed-loop system response.
For now let Kp equal to 100 and see what happens to the response. Enter the following commands to an new
m-file and run it in the command window.
numDz = 0.0001*[0.42 0.42];
denDz = [1 -2 1];
Kp=100;
[numDzC,denDzC]=cloop (Kp*numDz,denDz);
[x] =dstep (0.25*numDzC,denDzC,251);
t=0:0.02:5;
stairs(t,x)
As you can see, the addition of proportional control does not make the system stable. You may try to
increase the proportional gain (Kp) and confirm that the system remains unstable.
Proportional-Derivative control
Now we will add a derivative term to the controller. Keep the proportional gain (Kp) equal to 100, and let
the derivative gain (Kd) equal to 10. Copy the following code to an new m-file and run it to view the system
response.
numDz = 0.0001*[0.42 0.42];
denDz = [1 -2 1];
Kp=100;
Kd=10;
numpd = [Kp+Kd -(Kp+2*Kd) Kd];
denpd = [1 1 0];
numDnew = conv(numDz,numpd);
denDnew = conv(denDz,denpd);
[numDnewC,denDnewC] = cloop(numDnew,denDnew);
[x] =dstep (0.25*numDnewC,denDnewC,251);
t=0:0.02:5;
stairs(t,x)
http://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.htmlhttp://www.engin.umich.edu/group/ctm/extras/dstep.html8/3/2019 Space Engineering Lab Manual M
39/43
Now the system is stable, but the rise time is too long. We see that the increasing the proportional gain (Kp)
will decrease the rise time. Let's increase the proportional gain (Kp) to 1000 and see what happens. Change
Kp in the above m-file from 100 to 1000 and rerun it in the command window. We should see the following
step response.
As we can see, all of the design requirements are satisfied. For this particular problem, no implementation of
an integral control was needed. But remember there is more than one solution for a control problem. For
practice, you may try different P, I and D combinations to obtain a satisfactory response.
8/3/2019 Space Engineering Lab Manual M
40/43
The 3DOF helicopter simulator consists of a pedestal upon which a long arm is mounted. The arm carries the
"helicopter body" on one end and a counterweight on the other. The arm can also tilt about an "elevation" axis as well
as swivel about a vertical (travel) axis. Optical encoders mounted on these axes allow for measuring the elevation and
travel of the arm. The helicopter body mounted at the end of the arm is free to pitch around the "pitch" axis. The pitch
angle is measured via a third encoder. Two motors with propellers mounted on the helicopter body can generate a
force proportional to the voltage applied to the motors. The force generated by the propellers causes the helicopter
body to lift off the ground. The counterweight can reduce the power requirements on the motors; it is adjusted so thatthe effective mass of the body is proper. All electrical signals to and from the arm are transmitted via a slip-ring in
order to eliminate the possibility of tangled wires and reduce the amount of friction.
The 3DOF helicopter simulator consists of a pedestal upon which a long arm is mounted. The arm carries the
"helicopter body" on one end and a counterweight on the other. The arm can also tilt about an "elevation" axis as well
as swivel about a vertical (travel) axis. Optical encoders mounted on these axes enable the measuring of the elevation
and travel of the arm. The helicopter body mounted at the end of the arm is free to pitch around the "pitch" axis. The
pitch angle is measured via a third encoder. Two motors with propellers mounted on the helicopter body can generate
a force proportional to the voltage applied to the motors. The force generated by the propellers causes the helicopter
body to lift off the ground. The counterweight can reduce the power requirements on the motors; it is adjusted so that
the effective mass of the body is proper. All electrical signals to and from the arm are transmitted via a slip-ring inorder to eliminate the possibility of tangled wires and reduce the amount of friction.
Hardware platform based on PC and DSP-based motion controller. Experimental entity platform provided for the major of aviation. Comprehensive experiment kit, covering the dynamic modeling, classic control experiment, modern control
experiment, optimized control experiment and intelligent control experiments.
Users can select relevant algorithm for the experiment and teaching needs of various courses.
Experiment No: 4 3 DOF Helicopter System
8/3/2019 Space Engineering Lab Manual M
41/43
The simulink diagram for the above said experiment is given below:
PID pitch control values for the above said experiment is given as:
The step response for the above said values is given as:
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
1.4
TIME
RESPONSE
Experiment No: 4A 3 DOF Helicopter System (Pitch Control)
8/3/2019 Space Engineering Lab Manual M
42/43
The simulink diagram for the above said experiment is given as:
PID roll control values for the above experiment is given as:
The step response for the above given values is:
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
1.4
RESPONSE
TIME
Experiment No: 4B 3 DOF Helicopter System(Roll Control)
8/3/2019 Space Engineering Lab Manual M
43/43
The simulink diagram for the above given experiment is:
PID travel control values for the above said experiment is:
The step response for the above given values is:
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
1.4
RESPONSE
TIME
Experiment No: 4C 3 DOF Helicopter System(Travel Control)
top related