Advanced Automation†
2009.9.10 CACSD introduction†
- introduction of Matlab and Simulink
- review of clasical control theory
- transfer function
- state-space representation
- Bode diagram
- characteristics of 2nd-order system
- Nyquist stability criterion
- gain margin and phase margin
- characteristic polynomial
- poles and impulse response
2009.9.17 Intro. to Robust Control†
- robust stability
- performance improvement
- H infinity norm
2009.10.15 norm, vector space, normed linear space†
2009.10.22 eigenvalue, eigenvector, singular value decomposition†
2009.11.5 state space representation of connected system, state space representation of generalized plant for various control problem, mixed sensitivity problem†
2009.11.19†
... generalized plant is described by hand
... function sysic() is used to obtain generalized plant
simulink model
simulink model for noise problem
execution example for Matlab
rub2
size(Ap)
size(Ap,1)
size(Ap,2)
M = zeros(3,2)
size(M,1)
size(M,2)
gopt
simulink
simout
plot(t, y)
plot(t, y, 'r', t, r, 'b')
figure(3);
bodemag(S, 'r', gopt/WS, 'r--', T, 'b', gopt/WT, 'b--');
ctrlpref
bodemag(S, 'r', gopt/WS, 'r--', T, 'b', gopt/WT, 'b--');
grid on
ctrlpref
figure(6);
plot(t, y, 'r', t, r, 'b')
grid on
figure(7);
bodemag(P0, 'r', K, 'b')
grid on
rub2
grid on
gopt
plot(t, y, 'r', t, r, 'b')
grid on
simulink
plot(t, y, 'r', t, r, 'b')
plot(t, y, 'r', t, n, 'b')
plot(t, y*10, 'r', t, n, 'b')
plot(t, y, 'r', t, n, 'b')
bodemag(P0, 'r', K, 'b')
grid on
bode(P0, 'r', K, 'b')
grid on
bode(P0, 'r', K, 'b', P0*K, 'm')
grid on
bode(P0, 'r', K, 'b', -P0*K, 'm')
grid on
size(K.a)
size(WS.a)
size(WT.a)
size(P0.a)
2009.12.3†
2009.12.10 Speed control of two inertia system with servo motor (1/3)†
- Problem setup
- Modelling (frequency response experiment)
2009.12.17 Speed control of two inertia system with servo motor (2/3)†
- frequency response experiments are re-executed so that all data files have same frequency range. The format of data files are also changed. Use the following links instead those given in the previous lecture!:
- You can design controllers based on mixed sensitivity problem by executing the following m-files in the order:
- design your controller so that the system performance is improved compared with the given example
- Draw the following figures and explain the difference between two control systems:
- bode diagram of controllers
- gain characteristic of closed-loop systems
- time response of control experiment
- Why is the performance of your system improved(or unfortunately decreased)?
- due date:
28th(Mon) Dec 17:00 --> 8th(Fri) Jan 2010
- submit your report by e-mail to kobayasi@nagaokaut.ac.jp(pdf or doc files is OK)
- You can use Japanese
- maximum controller order is 20
- submit your cont.dat and cont_order.dat to kobayasi@nagaokaut.ac.jp
until 24th Dec --> 8th(Fri) Jan 2010
2009.12.22 announcement to design controller
Please use LMI based H infinity control method instead of Riccati based method (default). Specifically, please use hinfsyn function in cont.m as follows:
[K, clp, gopt] = hinfsyn(G, 1, 1, 'DISPLAY', 'on', 'METHOD', 'lmi')
There were some numerical problems in the execution of cont.m last week: the gain characteristics of sensitivity(and complementary sensitivity) function was not bounded by the weighting function in the resultant figure as following:
You can also check if the design result is OK or not as following:
>> cont
Test bounds: 0.0000 < gamma <= 0.9051
gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f
0.905 4.1e-03 -2.2e-08 1.5e-03 -1.9e-20 0.0674 p
0.453 4.1e-03# ******** 1.5e-03 -3.8e-05# ******** f
0.679 4.1e-03# ******** 1.5e-03 -1.5e-04# ******** f
0.792 4.1e-03 -2.2e-08 1.5e-03 -3.9e-04# 0.0031 f
0.849 4.1e-03 -2.2e-08 1.5e-03 -9.0e-04# 0.0064 f
0.877 4.1e-03 -2.2e-08 1.5e-03 -2.1e-03# 0.0138 f
0.891 4.1e-03 -2.2e-08 1.5e-03 -5.3e-03# 0.0343 f
0.898 4.1e-03 -2.2e-08 1.5e-03 -2.2e-02# 0.1384 f
Gamma value achieved: 0.9051
>> norm(clp, 'inf')
ans =
1.2593
In the above result, the closed-loop H infinity norm were 0.9051 and 1.2593 by hinfsyn() and norm() functions, respectively. This inconsistency implies that the design result might be incorrect since these two values of gamma should be the same.
2009.12.24 Speed control of two inertia system with servo motor (3/3)†
participant list
2009.12.25†
- program sources for frequency response experiment
- program sources for control experiment
- format of result.dat file
- 1st column: time [sec]
- 2nd column: motor speed [rad/sec] (measured output)
- 3rd column: load speed [rad/sec]
- 4th column: motor torque [Nm] (control input)
- 5th column: reference speed [rad/sec]
- configuration of control experiment
- reference signal is generated as described in hinf_module.c:
if((t > 5)&&(t < 15)){
r = 15.0;
}else{
r = 5;
}
- 30% of rated torque is loaded from 10 to 12 sec as specifying in hinf_module.c:
if((t > 10.)&&(t < 12.)){
daconv(0, bit16_conv(torq_volt_conv(RATED_TORQ*-0.3)));
}else{
daconv(0, bit16_conv(torq_volt_conv(0)));
}
- How to compare controllers
- How to obtain meaningful descritized controller
- Some design examples
- H infinity control design via mixed sensitivity problem
- mu synthesis
- sampled-data H infinity control design
related links†