### [lecture #1] 2014.9.11 outline of the lecture, review of classical and modern control theory (1/3) †

• outline of this lecture
• syllabus
• evaluation
• mini report #1 ... 10%
• mini exam #1 ... 10%
• mini report #2 ... 10%
• mini exam #2 ... 10%
• final report ... 60%
• map
• review
• equation of motion
• transfer function
• state space representation
• eigenvalue and pole

### [lecture #2] 2014.9.18 CACSD introduction with review of classical and modern control theory (2/3) †

1. introduction of Matlab and Simulink text_fixed.pdf Basic usage of MATLAB and Simulink used for 情報処理演習及び考究II/Consideration and Practice of Information Processing II: Advanced Course of MATLAB
2. How to define open-loop system
1. TF
s = tf('s');
T1 = 1 / (s+1);
T2 = 1 / (s^2 + 0.1*s + 1);
2. SSR
A = [-0.3, -1; 1, 0];
B = [1; 0];
C = [0, 1];
D = 0;
S3 = ss(A, B, C, D);
• Bode plot
bode(T1, 'b-', T2, 'g', S3, 'r--');
grid on;
3. open-loop stability can be checked by
1. poles of TF
roots(T2.den{:})
2. eigenvalues of A-matrix in SSR
eig(S3.a)
3. also by simulation
4. closed-loop stability
L = 1/(s^3+1.5*s^2+1.5*s+1); % example of open-loop system
roots(L.den{:}) % confirm the open-loop system is stable 
1. graphical test by Nyquist stability criterion and Bode plot with GM(gain margin) and PM(phase margin)
nyquist(L)
bode(L)
2. numerical test by closed-loop system
clp_den = L.den{:} + L.num{:};
roots(clp_den)
3. simulation
%-- 9/18/2014 1:06 PM --%
t = [1 2 3]
u = [1;2;3]
V = [1 2 3; 4 5 6; 7 8 9]
t'
t'*t
who
k=0:0.1:10:
k=0:0.1:10;
y = sin(k);
whos
plot(x,y)
plot(k,y)
foo
print -djpeg sin.jpg
s = tf('s');
T1 = 1/(s+1)
T2 = 1/(s^2+0.1*s+1);
A = [-0.3, -1; 1, 0];
B = [1; 0];
C = [0, 1];
D = 0;
S3 = ss(A, B, C, D);
A
B
S3
bode(T1, 'b-', T2, 'g', S3, 'r--');
grid on;
T2
T3 = tf(S3);
T3
T2
T2.num
T2.num{:}
T2.den{:}
roots(T2.den{:})
S3
S3.a
eig(S3.a)
mod0918_1
bode(T1, 'b-', T2, 'g', S3, 'r--');
grid on;
roots(L.den{:})
L
L = 1/(s^3+1.5*s^2+1.5*s+1);
L
roots(L.den{:})
nyquist(L)
bode(L)
grid on
nyquist(L)
L
clp_den = L.den{:} + L.num{:};
clp_den
roots(clp_den)
mod0918_2

### [lecture #3] 2014.9.25 CACSD introduction with review of classical and modern control theory (3/3) †

1. LQR problem
• controllability
• cost function J >= 0
• (semi)-positive definiteness
2. solution of LQR problem
• closed loop stability ... Lyapunov criterion
• Jmin proof4.pdf (from B43「動的システムの解析と制御」)
3. example mod0925.mdl
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
Uc = ctrb(A,B);
det(Uc) % should be nonzero
C = eye(2); % dummy
D = zeros(2,1); % dummy
F = [0, 0]; % without control
x0 = [1; 1]; % initial state
Q = eye(2);
R = 1;
P = are(A, B/R*B', Q);
P-P' % should be zero
eig(P) % should be positive
F = R\B'*P;
%-- 9/25/2014 2:17 PM --%
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
Uc = ctrb(A,B);
Uc
det(Uc)]
det(Uc)
C = eye(2); % dummy
D = zeros(2,1); % dummy
F = [0, 0]; % without control
x0 = [1; 1]; % initial state
mod0925
Q = eye(2);
R = 1;
P = are(A, B/R*B', Q);
P-P' % should be zero
eig(P) % should be positive
F = R\B'*P;
F
J
x0
x0'*P*x0

whiteboard #1 ... sorry for the mistake in Uc ! The correct one is $U_c := \left[\begin{array}{ccccc} B & AB & A^2 B & \cdots & A^{n-1} B \end{array}\right]$

### [lecture #4] 2014.10.2 Intro. to robust control theory (H infinity control theory) 1/3 †

1. review map_v1.0_intro1.pdf
2. explicit consideration of plant uncertainty ---> robust control theory
2. Typical design problems of H infinity control theory
1. robust stabilization
2. performance optimization
3. robust performance problem (robust stability and performance optimization are simultaneously considered)
3. H infinity norm
• definition
• example
4. H infinity control problem
• definition
5. performance optimization example : reference tracking problem
• relation to the sensitivity function S(s) (S(s) -> 0 is desired but impossible)
• given control system ex1002_1.m
• controller design with H infinity control theory ex1002_2.m
%-- 10/2/2014 12:57 PM --%
ex1002_1
ex1002_2
s = tf('s')
T1 = 1/(s+1)
norm(T1,inf)
T2 = s/(s+1)
norm(T2,inf)
bode(T1)
T3 = 10/(s+2)
bode(T3)
ex1002_1
ex1002_2
K
K_hinf
ex1002_2
eig(K_hinf.a)

### [lecture #5] 2014.10.09 Intro. to Robust Control Theory (H infinity control theory) 2/3 †

1. Typical design problems
1. robust stabilization
2. performance optimization
3. robust performance problem (robust stability and performance optimization are simultaneously considered)
2. connection between [H infinity control problem] and [robust stabilization problem]
• small gain theorem
• normalized uncertainty \Delta
• sketch proof ... Nyquist stability criterion
3. How to design robust stabilizing controller with H infinity control problem ?
• practical example : unstable plant with perturbation
• how to use uncertainty model (multiplicative uncertainty model)
• how to set generalized plant G ?
• simulation
%-- 10/9/2014 1:01 PM --%
ex1009_1
ex1009_2
ex1009_3
mod1009
c

### [lecture #6] 2014.10.16 Intro. to robust control theory (H infinity control theory) (3/3) †

1. review
• robust stabilization ... (1) ||WT T||_inf < 1 (for multiplicative uncertainty)
• performance optimization ... (2) ||WS S||_inf < gamma -> min
• mixed sensitivity problem ... simultaneous consideration of stability and performance
2. a sufficient condition for (1) and (2) ... (*) property of maximum singular value
3. definition of singular value
4. mini report #1
• write by hand
• submit at the beginning of next lecture on 23 Oct.
• check if your answer is correct or not before submission by using Matlab
• You will have a mini exam #1 related to this report on 30 Oct.
5. meaning of singular value ... singular value decomposition (SVD)
6. proof of (*)
7. example
%-- 10/16/2014 1:00 PM --%
M = [j, 0; -j, 1]
M
svd(M)
sqrt((3+sqrt(5))/2)
M'
M'*M
ex1016

### [lecture #7] 2014.10.23 review of SVD, robust performance problem 1/3 (motivation of robust performance) †

• submission of mini report #1
• review of SVD : graphical image and rotation matrix for 2-by-2 real matrix case
• motivation of robust performance : nominal performance to robust performance
%-- 10/23/2014 12:58 PM --%
ex1023_1
A
S
V
V'*V
V'*V(:,1)
ex1009_1
ex1009_2
ex1023_2
ex1023_3
• Q1: Is H infinity control theory available for discrete-time system ?
• A1: The answer is yes. You can use the same tool hinfsyn in Matlab to design discrete-time controller. If the question is to ask how to implement digital (discrete-time) controller for given continuous-time plant, there are 3 ways to do this: (i) continuous-time H infinity control based design (continuous-time controller is designed, then it is discretized); (ii) discretized H infinity control design (continuous-time plant is discretized first, then discrete-time controller is designed); (iii) sampled-data H infinity control design (discrete-time controller is directly designed for continuous-time plant)

### [lecture #8] 2014.10.30 Robust performance problem (2/3) †

1. return of mini report #1
2. review of the limitation of mixed sensitivity problem
3. diffinition of robust performance (R.P.) problem (cf. nominal performance problem on white board #6 in photo #4 of lecture #4) ... S is changed to S
4. review of robust stability (R.S.) problem on white board #5 in photo #5 of lecture #3 ... robust stability against Delta <=> closed-loop system without Delta has less-than-or-equal-to-one H infinity norm (by small gain theorem)
5. equivalent R.P. problem with structured uncertainty Delta_hat
6. a conservative problem to R.P. with 2-by-2 unstructured uncertainty Delta_tilde
• example based on the one given in the last lecture
• a check of the conservativeness
7. Delta_tilde is larger set than Delta_hat ... conservativeness
8. mini exam #1 exam1.pdf
%-- 10/30/2014 1:10 PM --%
ex1023_2
ex1023_3
gam_opt
ex1030_1
gam_opt

### [lecture #9] 2014.11.13 Robust performance problem (3/3) †

• return of mini exam #1
• review
• inclusion relation of two uncertain set (structured and non-structured)
• scaled H infinity control problem
• effect of scaling matrix
• how to determine structure of scaling matrix
• example
• mini report #2
%-- 11/13/2014 12:58 PM --%
ex1023_2
gam_opt
ex1023_3
ex1030_1
gam_opt
ex1113
ex1113_1
gam_opt
ex1113_2

### [lecture #10] 2014.11.20 Robust performance problem (1/3) (cont.) †

• review - effect of scaling
• mini report #2
• write by hand
• submit at the beginning of next lecture on 27 Nov.
• check if your answer is correct or not before submission by using Matlab
• You will have a mini exam #2 related to this report on 4 Dec.
• how to obtain generalized plant by hand
• example: H infinity controller design by hand
%-- 11/20/2014 1:11 PM --%
ex1023_2
ex1023_3
ex1030_1
ex1030_2
k
ex1113_1
ex1113_2
k
Delta_hat

### [lecture #11] 2014.11.27 relation between H infinity control and modern control theory †

• mini report #2 submit
• outline
• state-feedback H infinity control and LQR
• output-feedback H infinity control and LQG
• simple example
• find controller by hand <---> ans. by hinfsyn ex1127.m
• relation to LQR
• H infinity norm = L2 induced norm
• how to construct the worst case input ? mod1127.mdl
• general case J_hinf.pdf
%-- 11/27/2014 1:51 PM --%
ex1127
1/sqrt(2)
ex1127
2*(sqrt(2)-1)
mod1127
x0 = 0
h = 1
f = 1
zz
ww
• Q: $\dot x, z$ の導出過程（ホワイトボード◯2）がわからなかった
• A: $\left[ \begin{array}{c} w \\ u \end{array} \right], \left[ \begin{array}{c} z \\ y \end{array} \right]$ をそれぞれ入力、出力とする一般化プラント $G = \left[ \begin{array}{c|c} A & B \\ \hline C & D \end{array} \right]$ に対して、次式が成り立ちます。 $\dot x = A x + B \left[ \begin{array}{c} w \\ u \end{array} \right]$ $\left[ \begin{array}{c} z \\ y \end{array} \right] = C x + D \left[ \begin{array}{c} w \\ u \end{array} \right]$ ただし、x は G の状態で、 $A = a = -1, \quad B = \left[ \begin{array}{cc} 1 & b \end{array} \right] = \left[ \begin{array}{cc} 1 & 1 \end{array} \right], \quad C = \left[ \begin{array}{c} \sqrt{q} \\ 0 \\ 1 \end{array} \right] = \left[ \begin{array}{c} 1 \\ 0 \\ 1 \end{array} \right], \quad D = \left[ \begin{array}{cc} 0 & 0 \\ 0 & \sqrt{r} \\ 0 & 0 \end{array} \right] = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 1 \\ 0 & 0 \end{array} \right]$ です。状態空間表現の表記によります。これと、u = -f x より、導出されます。

### [lecture #12] 2014.12.4 relation between H infinity control and modern control theory (cont.); Speed control of two inertia system with servo motor (1/4)†

• return of mini report #2
• contents for the last lecture
• speed control of two inertia system with servo motor
setup.pdf
• frequency response experiment and physical model of speed control system
ex1204_1.m
ex1204_2.dat
• mini exam #2
%-- 12/4/2014 1:28 PM --%
ex1127
mod1127
x0 = 0
h = 1
f = 1
ww
zz
h = 10
ww
zz
h = 50
zz
h
zz

### [lecture #13] 2014.12.11 Robust control design for a practical system : Speed control of two inertia system with servo motor (1/3) †

• return of mini exam #2
• introduction of experimental setup
• objective of control system
1. to reduce the tracking error of the driving motor against disturbance torque
2. robust stabilization against plant variation due to aging degradation
• frequency response experiment and physical model of speed control system
• determination of nominal plant
ex1211_5.m
• determination of weighting function
ex1211_6.m
%-- 12/11/2014 1:24 PM --%
ex1211_1
frdata
frdata(:,1)
P1_jw
P1_g
ex1211_1
• Q: What is the inertia moment of the load disk ?
• A: It is about 0.0002 (kg m^2) (60mm in diameter, 16mm in inner diameter, 20mm in thick, made by SS400)
• Q: 周波数応答実験について、定常応答になるのにどのくらい待っているか？音が大きくなるのはゲインが高いから？周波数変化のきざみは？
• A: 待ち時間は3秒です。音の発生源はよくわかりませんし、騒音計などで計測したこともありませんが、大きな音が聞こえるのは共振周波数付近です。周波数変化の刻みは常用対数で0.01です。以下に掲載するプログラムソースの freqresp.h 中で指定しています。

### [lecture #14] 2014.12.18 Robust control design for a practical system : Speed control of two inertia system with servo motor (2/3) †

1. design your controller(s) so that the system performance is improved compared with the design example above
2. Draw the following figures and explain the difference between two control systems (your controller and the example above):
1. bode diagram of controllers
2. gain characteristic of sensitivity function
3. time response of control experiment
3. Why is the performance of your system improved(or unfortunately deteriorated)?
• due date: 9th(Fri) Jan 17:00
• submit your report(pdf or doc) by e-mail to kobayasi@nagaokaut.ac.jp
• You can use Japanese
• maximum controller order is 20
• submit your cont.dat, cont_order.dat, and cont.mat to kobayasi@nagaokaut.ac.jp not later than 26th(Fri) Dec
• program sources for frequency response experiment
• format of datafile
• 1st column ... frequency (Hz)
• 2nd column ... gain from T_M to omega_M
• 3rd column ... phase from T_M to omega_M
• 4th column ... gain from T_M to omega_L
• 5th column ... phase from T_M to omega_L
• program sources for control experiment
• format of result.dat file
• 1st column: time (s)
• 3rd column: T_M (Nm)
• 4th column: reference speed (rad/s)
• 5th column: T_L (Nm)
• configuration of control experiment
• reference signal is generated as described in hinf_module.c:
if((t > 1)&&(t < 4)){
r = 20.0;
}else{
r = 10;
}
• disturbance torque is specified as described in hinf_module.c:
 if((t > 2)&&(t < 3)){
d = -0.1;
}else{
d = 0;
}
• calculation of rotational speed The rotational speed is approximately calculated by using difference for one sampling period in hinf_module.c and freqresp_module.c like:
theta_rad = (double)read_theta(0) / (double)Pn212 * 2 * M_PI;
theta_rad_before = theta_rad
where the sampling period is given as 0.25 ms.

participant list2014

%-- 12/18/2014 1:01 PM --%
freqresp
nominal
help fitfrd
weight
cont
help c2d
perf

### [lecture #15] 2014.12.25 Robust control design for a practical system : Speed control of two inertia system with servo motor (3/3) †

• preparation of your own controller(s)
%-- 12/25/2014 12:58 PM --%
who
K_opt
who
Kd
who
Ghat
plot(result(:,1), result(:,2))
plot(result(:,1), result(:,3))
who
bode(K_opt)
bode(Kd)
Kd1 = Kd
K_opt1 = K_opt
bode(K_opt1, 'b', K_opt, 'r')
bode(Kd1, 'b', Kd, 'r')
Kd_tmp = c2d(K_opt1, 0.000001);
bode(Kd1, 'b', Kd, 'r', Kd_tmp, 'm')
clear all
bode(K_example, 'b', K_opt, 'r')