授業
Advanced Automation†
[] 2014.9.4 cancelled†
[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)†
- 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
- How to define open-loop system
- TF
s = tf('s');
T1 = 1 / (s+1);
T2 = 1 / (s^2 + 0.1*s + 1);
- 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;
- open-loop stability can be checked by
- poles of TF
roots(T2.den{:})
- eigenvalues of A-matrix in SSR
eig(S3.a)
- also by simulation
- 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
- graphical test by Nyquist stability criterion and Bode plot with GM(gain margin) and PM(phase margin)
nyquist(L)
bode(L)
- numerical test by closed-loop system
clp_den = L.den{:} + L.num{:};
roots(clp_den)
- 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)†
- LQR problem
- controllability
- cost function J >= 0
- (semi)-positive definiteness
- solution of LQR problem
- ARE and quadratic equation
- closed loop stability ... Lyapunov criterion
- Jmin
proof4.pdf (from B
43「動的システムの解析と制御」)
- 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†
- review map_v1.0_intro1.pdf
- advantage and disadvantage of the modern control theory
- explicit consideration of plant uncertainty ---> robust control theory
- Typical design problems of H infinity control theory
- robust stabilization
- performance optimization
- robust performance problem (robust stability and performance optimization are simultaneously considered)
- H infinity norm
- H infinity control problem
- 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†
- Typical design problems
- robust stabilization
- performance optimization
- robust performance problem (robust stability and performance optimization are simultaneously considered)
- connection between [H infinity control problem] and [robust stabilization problem]
- small gain theorem
- normalized uncertainty \Delta
- sketch proof ... Nyquist stability criterion
- 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)†
- 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
- a sufficient condition for (1) and (2) ... (*) property of maximum singular value
- definition of singular value
- 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.
- meaning of singular value ... singular value decomposition (SVD)
- proof of (*)
- 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)†
- return of mini report #1
- review of the limitation of mixed sensitivity problem
- 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
- 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)
- equivalent R.P. problem with structured uncertainty Delta_hat
- 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
- Delta_tilde is larger set than Delta_hat ... conservativeness
- 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
- to reduce the tracking error of the driving motor against disturbance torque
- robust stabilization against plant variation due to aging degradation
- frequency response experiment and physical model of speed control system
- determination of nominal plant
- determination of weighting function
%-- 12/11/2014 1:24 PM --%
ex1211_1
frdata
frdata(:,1)
P1_jw
P1_g
ex1211_1
#ref(): File not found: "2014.12.17-1.jpg" at page "授業/制御工学特論2014"
- Q: What is the inertia moment of the load disk ?
- A:
- Q: 周波数応答実験について、定常応答になるのにどのくらい待っているか?音が大きくなるのはゲインが高いから?周波数変化のきざみは?
- A:
!!! the remaining page is under construction (the contents below are from 2013) !!!
#ref(): File not found: "2013.12.5-1.jpg" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.5-2.jpg" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.5-3.jpg" at page "授業/制御工学特論2014"
[lecture #13] 2013.12.12 Robust control design for a practical system : Active vibration control of a pendulum using linear motor (2/3)†
- control objective
- design example 1 : proportional control
- negative feedback always stabilizes the closed loop theoretically
#ref(): File not found: "check_pcont.m" at page "授業/制御工学特論2014"
- control experiment
#ref(): File not found: "cont_P.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_P_order.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "result_P.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "result_openloop.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "openloop.mp4" at page "授業/制御工学特論2014"
#ref(): File not found: "ex1.mp4" at page "授業/制御工学特論2014"
- design example 2 : H infinity control (nominal performance, physical model is used as nominal plant)
- m-files
#ref(): File not found: "weight_ex2.m" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex2.m" at page "授業/制御工学特論2014"
>> weight_ex2
>> cont_ex2
- control experiment
#ref(): File not found: "cont_ex2.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex2_order.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex2.mat" at page "授業/制御工学特論2014"
#ref(): File not found: "result_ex2.dat" at page "授業/制御工学特論2014"
- design example 3 : H infinity control (nominal performance, nominal plant is derived from freq. resp. exp.)
- m-files
#ref(): File not found: "nominal_ex3.m" at page "授業/制御工学特論2014"
... n4sid is not available IPC! (19 Dec.)
#ref(): File not found: "weight_ex3.m" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex3.m" at page "授業/制御工学特論2014"
>> nominal_ex3
>> weight_ex3
>> cont_ex3
- control experiment
#ref(): File not found: "cont_ex3.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex3_order.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex3.mat" at page "授業/制御工学特論2014"
#ref(): File not found: "result_ex3.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "ex3.mp4" at page "授業/制御工学特論2014"
- design example 4 : H infinity control (robust performance)
- m-files
#ref(): File not found: "weight_ex4.m" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex4.m" at page "授業/制御工学特論2014"
>> weight_ex4
>> cont_ex4
- control experiment
#ref(): File not found: "cont_ex4.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex4_order.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "cont_ex4.mat" at page "授業/制御工学特論2014"
#ref(): File not found: "result_ex4.dat" at page "授業/制御工学特論2014"
#ref(): File not found: "ex4.mp4" at page "授業/制御工学特論2014"
- design your controller(s) so that the system performance is improved compared with the design
example 3 (ex3) example 2 (ex2)
- Draw the following figures and explain the difference between two control systems (your controller and
ex3 ex2):
- 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: 31th(Tue) Dec 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(Thu) Dec
- program sources for frequency response experiment
- format of frdata.dat file
- 1st column: frequency (Hz)
- 2nd column: gain
- 3rd column: phase (deg)
- program sources for control experiment
- format of result.dat file
- 1st column: time (s)
- 2nd column: potentio meter's output (V)
- 3rd column: theta (rad)
- 4th column: x (m)
- 5th column: reference position for linear motor (number of pulse)
- program sources for generating linear motor's pulse
#ref(): File not found: "pulse.h" at page "授業/制御工学特論2014"
#ref(): File not found: "pulse_module.c" at page "授業/制御工学特論2014"
- common header
#ref(): File not found: "common.h" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.12-1.jpg" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.12-2.jpg" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.12-3.jpg" at page "授業/制御工学特論2014"
[lecture #14] 2013.12.19 Robust control design for a practical system : Active vibration control of a pendulum using linear motor (3/3)†
- review of the design examples
[IMPORTANT] Due to unavailability of n4sid in IPC which is used in cont_ex3.m, please compare your controller and example 2 (not 3) in your report. The explanation of the report has been modified due to this change. See above.
- preparation of your own controller(s)
participant list2013
freqresp_fixed
frdata
check_pcont
weight_ex2
freqresp_fixed
weight_ex2
cont_ex2
nominal_ex3
weight_ex4
cont_ex4
compare
#ref(): File not found: "2013.12.19-1.jpg" at page "授業/制御工学特論2014"
#ref(): File not found: "2013.12.19-2.jpg" at page "授業/制御工学特論2014"
[lecture #15] 2013.12.26 Robust control design for a practical system : Active vibration control of a pendulum using linear motor (cont.)†
- preparation of your own controller(s)