授業/制御工学特論2023
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[授業]]
*Advanced Automation 2023 [#b4ea11e2]
[[latest lecture>#uedd99b9]]
** &color(green){[lecture #1]}; 2023.9.7 outline of the l...
- outline of this lecture
-- syllabus([https://vos-lc-web01.nagaokaut.ac.jp/])
-- evaluation
--- mini report #1 ... 10%
--- mini exam #1 ... 10%
--- mini report #2 ... 10%
--- mini exam #2 ... 10%
--- final report ... 60%
-- [[schedule2023]] (tentative)
//-- map &ref(授業/制御工学特論2017/map_v1.1.pdf); for re...
-- map &ref(授業/制御工学特論2017/map_v1.1_review.pdf);
- review : stabilization of SISO unstable plant by classi...
-- transfer functions / differential equations
-- poles / eigenvalues
-- impulse response / initial value response
-- ...
%-- 2023/09/07 13:21 --%
s = tf('s')
P = 1/(s-1)
pole(P)
impulse(P)
pole(P)
K = 2
help step
Tyr = K/(s-1+K)
step(Tyr)
#ref(2023.09.07-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.07-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.07-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #2]}; 2023.9.14 review of class...
+ introduction of Matlab and Simulink
&ref(授業/制御工学特論2015/text_fixed.pdf); Basic usage o...
-- interactive system (no compilation, no variable defini...
-- m file
//-- example: stabilization of inverted pendulum (sorry i...
//--- [[derivation of equation of motion>http://c.nagaoka...
//--- [[stabilization of 1-link pendulum>http://c.nagaoka...
//--- [[stabilization of 2-link pendulum>http://c.nagaoka...
//
//
+ system representation: Transfer Function(TF) / State-Sp...
//
-- example: mass-spring-damper system
-- definition of SSR
-- from SSR to TF
-- from TF to SSR: controllable canonical form
+ open-loop characteristic
-- open-loop stability: poles and eigenvalues
-- Bode plot and frequency response &ref(ex0914_1.m); &re...
--- cut off frequency; DC gain; -40dB/dec; variation of c
--- relation between P(jw) and steady-state response
+ closed-loop stability
-- Nyquist stability criterion (for L(s):stable)
-- Nyquist plot &ref(ex0914_2.m); &ref(mod0914_2.mdl);
--- Gain Margin(GM); Phase Margin(PM)
%-- 2023/09/14 13:06 --%
a = 1
u=[1;2;3]
ex0914_1.m
ex0914_1
sqrt(k/m)
sqrt(k/m)/(2*pi)
#ref(2023.09.14-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.14-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.14-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #3]}; 2023.9.21 review of class...
+ LQR problem
-- controllability
-- cost function J >= 0
-- positive (semi-)definite matrices
-- solution of LQR problem
-- example &ref(ex0921_1.m); &ref(mod0921_1.mdl);
+ ARE and quadratic equation
-- scalar case (solve by hand)
//-- closed loop stability ... Lyapunov criterion
//-- Jmin
-- matrix case &ref(授業/制御工学特論2015/lqr.pdf); ≒ &re...
%-- 2023/09/21 13:42 --%
ex0921_1
A
eig(A)
Uc
B
A*B
ex0921_1
help are
P
eig(P)
G
F
F = [0, 0]
J
ex0921_1
F
J
J(end)
Jmin
#ref(2023.09.21-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.21-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.21-3.jpg,left,noimg,whiteboard #3);
#ref(2023.09.21-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #4]}; 2023.9.28 relation betwee...
- GOAL: to learn difference in concepts between LQR probl...
//- review of LQR problem and the simple example
+ a simple example relating LQR and H infinity control pr...
-- For given plant G
\[
G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{...
= \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \le...
\]
with zero initial state value x(0) = 0,
find a state-feedback controller
\[ u = -f x \]
such that
\begin{eqnarray}
(i) &&\quad \mbox{closed loop is stable} \\
(ii) &&\quad \mbox{minimize}
\left\{\begin{array}{l} \| z \|_2 \mbox{ for } w(t) = \de...
\| T_{zw} \|_\infty \mbox{($H_\infty$ control problem)}\e...
\end{eqnarray}
-- comparison of norms in (ii) (for a = -1, b = 1, q = 1,...
\[
\begin{array}{|c||c|c|}\hline
& \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\q...
J=\|z\|_2^2 & & \\ \hline
\|T_{zw}\|_\infty & & \\ \hline
\end{array}
\]
+ an alternative description to LQR problem
++ J = (L2 norm of z)^2
++ impulse resp. with zero initial value = initial value ...
+ definition of H infinity norm (SISO)
s = tf('s');
G1 = 1/(s+1);
bode(G1);
norm(G1, 'inf')
G2 = 1/(s^2 + 0.1*s + 1);
bode(G2);
norm(G2, 'inf')
+ definition of H infinity norm (SIMO)
+ solve the problem by hand
+ solve the problem by tool(hinfsyn)
&ref(ex0928_1.m);
%-- 2023/09/28 13:41 --%
s = tf('s');
G1 = 1/(s+1);
bode(G1);
norm(G1, 'inf')
format e
format long e
norm(G1, 'inf')
G3 = s/(s+1);
bode(G3);
norm(G3, 'inf')
G2 = 1/(s^2 + 0.1*s + 1);
bode(G2);
norm(G2, 'inf')
grid
ctrlpref
bode(G2);
grid
#ref(2023.09.28-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.28-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.28-3.jpg,left,noimg,whiteboard #3);
#ref(2023.09.28-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #5]}; 2023.10.05 relation betwe...
+ cont.
-- solve the problem by hand
-- solve the problem by tool(hinfsyn) &ref(ex0928_1.m);
+ complete the table in simple example
+ confirm the cost function J for both controllers by sim...
-- block diagram in the simulink model
-- how to approximate impulse disturbance with a step fun...
-- (unit) impulse disturbance resp. with zero initial con...
+ confirm the closed-loop H infinity norm for both contro...
-- H infinity norm = L2 induced norm
-- review: steady-state response for sinusoidal input sig...
-- the worst-case disturbance w(t) for the simple example...
+ general state-feedback case: &ref(授業/制御工学特論2015...
-- includes the simple example as a special case
-- LQR &ref(授業/制御工学特論2015/lqr.pdf); is included a...
%-- 2023/10/05 13:06 --%
ex0928_1
K
help sigma
clp0
norm(clp, 'inf')
norm(clp0, 'inf')
sqrt(2-sqrt(2))
mod1005
f = -1+sqrt(2)
h = 0.01
x0 = 0
plot(t, x)
zz
zz(end)
x0
x0 = 1
zz
f
f = 1
zz
x0 = 0
zz
h
x0
h = 100
f
zz
sqrt(zz(end)/ww(end))
f = -1+sqrt(2)
sqrt(zz(end)/ww(end))
#ref(2023.10.05-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.05-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #6]}; 2023.10.12 Mixed sensitiv...
+ outline: &ref(授業/制御工学特論2017/map_v1.1_mixedsens1...
-- sensitivity function S and complementary sensitivity f...
+ H infinity control problem (general case)
-- with generalized plant G
-- including the state-feedback case
+ reference tracking problem
-- how to translate the condition (ii) into one with H in...
-- corresponding generalized plant G ?
-- introduction of weighting function for sensitivity fun...
+ design example &ref(ex1012_1.m); &ref(ex1012_2.m);
+ the small gain theorem
-- proof: Nyquist stability criterion
//+ from performance optimization to robust stabilization
%-- 2023/10/12 13:43 --%
ex1012_1
P
eig(P)
ctrlpref
ex1012_1
ex1012_2
K_hinf
eig(K_hinf)
#ref(2023.10.12-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.12-2.jpg,left,noimg,whiteboard #2);
#ref(2023.10.12-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #7]}; 2023.10.19 Mixed sensitiv...
+ outline: from point to set &ref(授業/制御工学特論2017/m...
+ the small gain theorem ... robust stability = H infinit...
+ normalized uncertainty Delta
+ uncertainty model
+ simple example of plant set
-- given plant P tilde
--- frequency response of plant with perturbation &ref(ex...
-- how to determine P0 and WT ?
--- frequency response based procedure for P0 and WT &ref...
+ robust stabilization problem and equivalent problem
-- design example and simulation &ref(ex1019_3.m); &ref(m...
%-- 2023/10/19 13:26 --%
ex1019_1
ex1019_3
ex1019_2
ex1019_3
mod1019
c
c = 0.8
c = 2
c = 1.5
#ref(2023.10.19-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.19-2.jpg,left,noimg,whiteboard #2);
#ref(2023.10.19-3.jpg,left,noimg,whiteboard #3);
#ref(2023.10.19-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #8]}; 2023.10.26 Mixed sensitiv...
//- schedule (no lecture will be given on Nov.31)
- review: &ref(授業/制御工学特論2017/map_v1.1_mixedsens2....
- outline:
++ how to design controllers considering both conditions ...
++ gap between NP(nominal performance) and RP(robust perf...
+ mixed sensitivity problem => (1) and (2) : proof
+ generalized plant for mixed senstivity problem
+ design example &ref(ex1026_1.m); minimize gamma by hand
+ gamma iteration by bisection method &ref(ex1026_2.m); t...
+ intro. to RP: weak point of mixed sensitivity problem(p...
%-- 2023/10/26 13:36 --%
pwd
ex1026_1
K
ex1026_1
ex1026_2
gam
ex1026_2
gam
ex1026_2
gam
ex1026_2
gam
ex1026_3
ex1026_2
ex1026_3
#ref(2023.10.26-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.26-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #9]}; 2023.11.2 robust performa...
-- [[schedule2023]]
+ review
-- mixed sensitivity problem : N.P. but not R.P.
//-- robust performance problem (R.P.) c.f. the last whit...
//-- the small gain theorem
+ robust performance problem (R.P.), but can not be solve...
+ an equivalent robust stability (R.S.) problem to R.P.
-- (i) introduction of a fictitious uncertainty Delta_p (...
-- (ii) for 2-by-2 uncertainty block Delta hat which incl...
+ definition of H infinity norm for general case (MIMO)
-- definition of singular values and the maximum singular...
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
M'
eig(M'*M)
svd(M)
-- mini report #1 &ref(report1.pdf); ... You will have a ...
+ proof of ||Delta hat||_inf <= 1
+ design example: &ref(ex1102_1.m);
-- robust performance is achieved but large gap
-- non structured uncertainty is considered ... the desig...
%-- 2023/11/02 13:54 --%
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
M'
eig(M'*M)
svd(M)
pwd
ex1102_1
#ref(2023.11.02-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.02-2.jpg,left,noimg,whiteboard #2);
#ref(2023.11.02-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #10]}; 2023.11.9 Robust perform...
+ return of mini report #1
//+ review
//-- robust performance but too conservative
// ex1108_1
//-- robust stability problem for Delta hat and its equiv...
//-- structured unertainty Delta hat and unstructured unc...
+ SVD: singular value decomposition
-- definition
-- meaning of the largest singular value (a property and ...
-- 2 norm of vectors (Euclidean norm)
-- SVD for 2-by-2 real matrix &ref(ex1109_1.m);
%-- 2023/11/09 13:26 --%
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
[U, S, V] = svd(M)
U'*U
format long e
U'*U
U*U'
V'*V
U*S*V'
U*S*V'- M
format short
U*S*V'- M
ex1109_1
rand(1,1)
rand(1,3)
#ref(2023.11.09-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.09-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #11]}; 2023.11.16 Robust perfor...
+ review : R.S. problems for structured and unstructured ...
+ scaled H infinity control problem
+ relation between three problems
+ how to determine structure of scaling matrix
+ design example &ref(ex1116_1.m);
ex1102_1
gam2 = gam_opt
ex1116_1
gam_opt
+ mini exam #1 (10 min.)
%-- 2023/11/16 13:03 --%
ex1102_1
gam_opt
format long
gam_opt
gam2 = gam_opt
ex1116_1
gam_opt
gam2
opts = hinfsynOptions
opts.AutoScale = 'off'
ex1116_1
#ref(2023.11.16-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.16-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #12]}; 2023.11.23 Robust perfor...
+ return of mini exam #1
+ review of scaling &ref(ex1123_1.m);
+ mini report #2 &ref(report2.pdf);
+ introduction of a practical system: Speed control of tw...
-- experimental setup &br;
&ref(授業/制御工学特論2019/setup_fixed.pdf); &br;
&ref(授業/制御工学特論2019/photo.jpg,left,noimg);
-- objective of control system = reference speed tracking...
-- frequency response experiment and physical model of sp...
#ref(ex1123_2.m);
&ref(servo1.dat); &ref(servo2.dat);
-- room 374 @ Dept. Mech. Bldg. 2
%-- 2023/11/23 13:09 --%
ex1123_1
format long
eig(clp2.a)
ex1123_2
#ref(2023.11.23-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.23-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #13]}; 2023.11.30 &color(red){&...
&color(red){&size(25){Due to a hardware problem in our ex...
&size(25){Please check the modified schedule at [[schedul...
** &color(green){[lecture #13]}; 2023.12.7 Control system...
+ return of mini report #2; ... You will have a mini exa...
-- [[schedule2023]]
+ review of the experimental system
//-- closed-loop system of 2-by-2 plant G and controller K
//-- closed-loop gain is desired to be minimized for cons...
-- the same robust performance problem setup given in lec...
+ design example
-- frequency response experiment data&br;
[[servo1.dat>/:~exp/seigyokougakutokuron_2023/exp/freqres...
-- determination of plant model(nominal plant and multipl...
&ref(nominal.m);&br;
&ref(weight.m);&br;
&ref(weight_2.m); ... loose weight was further used to pr...
-- configuration of generalized plant and controller desi...
&ref(cont.m);&br;
&ref(cont_2.m); ... for loose weight design
//-- comparison of closed-loop gain characteristics with ...
//&ref(compare.m);
-- result of control experiment and evaluation&br;
[[result.dat>/:~exp/seigyokougakutokuron_2023/exp/design_...
[[result_2.dat>/:~exp/seigyokougakutokuron_2023/exp/desig...
&ref(perf.m);
+ final report and remote experimental system
++design your controller(s) so that the system performanc...
++Draw the following figures and explain the difference b...
+++bode diagram of controllers
//+++gain characteristic of closed-loop system from w to z
+++gain characteristic of sensitivity function
+++time response of control experiment
++Why is the performance of your system improved(or unfor...
--&size(30){&color(red){due date: 4th(Thu) Jan 17:00};};
--submit your report(pdf file) by e-mail to kobayasi@naga...
--You can use Japanese
--maximum controller order is 20
--submit your &size(25){&color(red){controller.dat, contr...
--the system will be started until next lecture
--You can send up to 10 controllers
--&size(30){&color(black){[[control experimental results ...
--freqresp ... frequency response will be measured and up...
+ how to improve the performance ?
-- performance and sensitivity gain
-- accuracy of the nominal(physical) model, weighting for...
-- caution: measurement noise in high frequency range due...
//+ detailed explanation of m-files in the previous lecture
+ specifications of the experimental system
++ program sources for frequency response experiment
--- [[freqresp.h>/:~exp/seigyokougakutokuron_2023/freqres...
--- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2023/...
--- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2023/fre...
--- format of servo1.dat
1st column ... frequency (Hz)
2nd column ... gain from T_M(Nm) to Omega_M(rad/s)
3rd column ... phase (deg) from T_M to Omega_M
4th column ... gain from T_M to Omega_L
5th column ... phase (deg) from T_M to Omega_L
++ program sources for control experiment
--- [[hinf.h>/:~exp/seigyokougakutokuron_2023/hinf.h]]
--- [[hinf_module.c>/:~exp/seigyokougakutokuron_2023/hinf...
--- [[hinf_app.c>/:~exp/seigyokougakutokuron_2023/hinf_ap...
--- format of result.dat
1st column: time (s)
2nd column: y (Omega_M (rad/s))
3rd column: Omega_L (rad/s)
4th column: u (T_M (Nm))
5th column: r (rad/s)
++ configuration of control experiment
--- reference signal r is specified as described in hinf....
r = (double)COM_ROT_SPEED;;
if(t > 2){
t1 = t - 2;
t1 -= ((int)(t1 / REF_PERIOD))*REF_PERIOD;
t1 /= 0.2;
if(t1 < 1){
r += REF_AMP * t1;
}else if(t1 < 4){
r += REF_AMP;
}else if(t1 < 6){
r += REF_AMP * (5 - t1);
}else if(t1 < 9){
r -= REF_AMP;
}else if(t1 < 10){
r -= REF_AMP * (10 - t1);
}
}
--- control signal u is limited as specified in hinf.h an...
#define U_MAX (RATED_TORQ / 3.0)
if(u > U_MAX) u = U_MAX;
if(u < -U_MAX) u = -U_MAX;
u is generated by PI control for t < 1(s). Your designed ...
++ calculation of rotational speed
--- The rotational speed is approximately calculated by u...
theta_rad[0] = (double)read_theta(0) / (double)Pn212 * 2...
theta_rad[1] = (double)read_theta(1) / (double)Pn212 * 2...
y = (theta_rad[0] - theta_rad_before[0]) / msg->sampling...
z = (theta_rad[1] - theta_rad_before[1]) / msg->sampling...
theta_rad_before[0] = theta_rad[0];
theta_rad_before[1] = theta_rad[1];
where the sampling period is given as 0.25 ms.
%-- 2023/12/07 13:33 --%
pwd
cd ..
nominal
weight
cont
perf
axis([9.9, 10, -10, 50])
axis([9.99, 10, -10, 50])
weight_2
pwd
weight_2
cont_2
perf
cd ..
perf
** &color(green){[lecture #14]}; 2023.12.14 Control syste...
- web based remote experiment system
//-- your password were sent by e-mail
-- usage; how to upload controller's
-- powered by prof. Takebe, National Institute of Technol...
//--- now you can login after registration
- supplemental explanations
-- room temperature is displayed and stored in temp.txt (...
//-- generating wav file [[filter.c>/:~exp/seigyokougakut...
-- c2d() is used to discretize the resultant continuous-t...
-- You can send up to 10 controllers (don't fall into tri...
-- no strict control objective is given ( there is a free...
- preparation of your own controller(s) by using the remo...
- mini exam #2
%-- 2023/12/14 13:50 --%
load result.dat
plot(result(:,1), result(:,2))
axis([9, 10, 10, 25])
load result2.dat
plot(result(:,1), result(:,2))
plot(result2(:,1), result2(:,2))
axis([9, 10, -10, 50])
axis([9.9, 10, -10, 50])
plot(result2(:,1), result2(:,2), '.-')
axis([9.9, 10, -10, 50])
nominal
weight
weight2
weight_2
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//&color(black,red){&size(20){!!! the remaining page is u...
** &color(green){[lecture #15]}; 2023.12.21 Control syste...
- %%return of mini exam #2%%
//- [[schedule2022]] no lecture will be given next week
//--- the system will be unavailable from %%21(Fri)%% &co...
- preparation of your own controller(s) by using the remo...
//**related links [#g1a68a2b]
//-東ティモール工学部復興支援/support of rehabilitation f...
//--[[How to control objects>/:~kobayasi/easttimor/2009/i...
//--[[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~...
終了行:
[[授業]]
*Advanced Automation 2023 [#b4ea11e2]
[[latest lecture>#uedd99b9]]
** &color(green){[lecture #1]}; 2023.9.7 outline of the l...
- outline of this lecture
-- syllabus([https://vos-lc-web01.nagaokaut.ac.jp/])
-- evaluation
--- mini report #1 ... 10%
--- mini exam #1 ... 10%
--- mini report #2 ... 10%
--- mini exam #2 ... 10%
--- final report ... 60%
-- [[schedule2023]] (tentative)
//-- map &ref(授業/制御工学特論2017/map_v1.1.pdf); for re...
-- map &ref(授業/制御工学特論2017/map_v1.1_review.pdf);
- review : stabilization of SISO unstable plant by classi...
-- transfer functions / differential equations
-- poles / eigenvalues
-- impulse response / initial value response
-- ...
%-- 2023/09/07 13:21 --%
s = tf('s')
P = 1/(s-1)
pole(P)
impulse(P)
pole(P)
K = 2
help step
Tyr = K/(s-1+K)
step(Tyr)
#ref(2023.09.07-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.07-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.07-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #2]}; 2023.9.14 review of class...
+ introduction of Matlab and Simulink
&ref(授業/制御工学特論2015/text_fixed.pdf); Basic usage o...
-- interactive system (no compilation, no variable defini...
-- m file
//-- example: stabilization of inverted pendulum (sorry i...
//--- [[derivation of equation of motion>http://c.nagaoka...
//--- [[stabilization of 1-link pendulum>http://c.nagaoka...
//--- [[stabilization of 2-link pendulum>http://c.nagaoka...
//
//
+ system representation: Transfer Function(TF) / State-Sp...
//
-- example: mass-spring-damper system
-- definition of SSR
-- from SSR to TF
-- from TF to SSR: controllable canonical form
+ open-loop characteristic
-- open-loop stability: poles and eigenvalues
-- Bode plot and frequency response &ref(ex0914_1.m); &re...
--- cut off frequency; DC gain; -40dB/dec; variation of c
--- relation between P(jw) and steady-state response
+ closed-loop stability
-- Nyquist stability criterion (for L(s):stable)
-- Nyquist plot &ref(ex0914_2.m); &ref(mod0914_2.mdl);
--- Gain Margin(GM); Phase Margin(PM)
%-- 2023/09/14 13:06 --%
a = 1
u=[1;2;3]
ex0914_1.m
ex0914_1
sqrt(k/m)
sqrt(k/m)/(2*pi)
#ref(2023.09.14-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.14-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.14-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #3]}; 2023.9.21 review of class...
+ LQR problem
-- controllability
-- cost function J >= 0
-- positive (semi-)definite matrices
-- solution of LQR problem
-- example &ref(ex0921_1.m); &ref(mod0921_1.mdl);
+ ARE and quadratic equation
-- scalar case (solve by hand)
//-- closed loop stability ... Lyapunov criterion
//-- Jmin
-- matrix case &ref(授業/制御工学特論2015/lqr.pdf); ≒ &re...
%-- 2023/09/21 13:42 --%
ex0921_1
A
eig(A)
Uc
B
A*B
ex0921_1
help are
P
eig(P)
G
F
F = [0, 0]
J
ex0921_1
F
J
J(end)
Jmin
#ref(2023.09.21-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.21-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.21-3.jpg,left,noimg,whiteboard #3);
#ref(2023.09.21-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #4]}; 2023.9.28 relation betwee...
- GOAL: to learn difference in concepts between LQR probl...
//- review of LQR problem and the simple example
+ a simple example relating LQR and H infinity control pr...
-- For given plant G
\[
G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{...
= \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \le...
\]
with zero initial state value x(0) = 0,
find a state-feedback controller
\[ u = -f x \]
such that
\begin{eqnarray}
(i) &&\quad \mbox{closed loop is stable} \\
(ii) &&\quad \mbox{minimize}
\left\{\begin{array}{l} \| z \|_2 \mbox{ for } w(t) = \de...
\| T_{zw} \|_\infty \mbox{($H_\infty$ control problem)}\e...
\end{eqnarray}
-- comparison of norms in (ii) (for a = -1, b = 1, q = 1,...
\[
\begin{array}{|c||c|c|}\hline
& \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\q...
J=\|z\|_2^2 & & \\ \hline
\|T_{zw}\|_\infty & & \\ \hline
\end{array}
\]
+ an alternative description to LQR problem
++ J = (L2 norm of z)^2
++ impulse resp. with zero initial value = initial value ...
+ definition of H infinity norm (SISO)
s = tf('s');
G1 = 1/(s+1);
bode(G1);
norm(G1, 'inf')
G2 = 1/(s^2 + 0.1*s + 1);
bode(G2);
norm(G2, 'inf')
+ definition of H infinity norm (SIMO)
+ solve the problem by hand
+ solve the problem by tool(hinfsyn)
&ref(ex0928_1.m);
%-- 2023/09/28 13:41 --%
s = tf('s');
G1 = 1/(s+1);
bode(G1);
norm(G1, 'inf')
format e
format long e
norm(G1, 'inf')
G3 = s/(s+1);
bode(G3);
norm(G3, 'inf')
G2 = 1/(s^2 + 0.1*s + 1);
bode(G2);
norm(G2, 'inf')
grid
ctrlpref
bode(G2);
grid
#ref(2023.09.28-1.jpg,left,noimg,whiteboard #1);
#ref(2023.09.28-2.jpg,left,noimg,whiteboard #2);
#ref(2023.09.28-3.jpg,left,noimg,whiteboard #3);
#ref(2023.09.28-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #5]}; 2023.10.05 relation betwe...
+ cont.
-- solve the problem by hand
-- solve the problem by tool(hinfsyn) &ref(ex0928_1.m);
+ complete the table in simple example
+ confirm the cost function J for both controllers by sim...
-- block diagram in the simulink model
-- how to approximate impulse disturbance with a step fun...
-- (unit) impulse disturbance resp. with zero initial con...
+ confirm the closed-loop H infinity norm for both contro...
-- H infinity norm = L2 induced norm
-- review: steady-state response for sinusoidal input sig...
-- the worst-case disturbance w(t) for the simple example...
+ general state-feedback case: &ref(授業/制御工学特論2015...
-- includes the simple example as a special case
-- LQR &ref(授業/制御工学特論2015/lqr.pdf); is included a...
%-- 2023/10/05 13:06 --%
ex0928_1
K
help sigma
clp0
norm(clp, 'inf')
norm(clp0, 'inf')
sqrt(2-sqrt(2))
mod1005
f = -1+sqrt(2)
h = 0.01
x0 = 0
plot(t, x)
zz
zz(end)
x0
x0 = 1
zz
f
f = 1
zz
x0 = 0
zz
h
x0
h = 100
f
zz
sqrt(zz(end)/ww(end))
f = -1+sqrt(2)
sqrt(zz(end)/ww(end))
#ref(2023.10.05-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.05-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #6]}; 2023.10.12 Mixed sensitiv...
+ outline: &ref(授業/制御工学特論2017/map_v1.1_mixedsens1...
-- sensitivity function S and complementary sensitivity f...
+ H infinity control problem (general case)
-- with generalized plant G
-- including the state-feedback case
+ reference tracking problem
-- how to translate the condition (ii) into one with H in...
-- corresponding generalized plant G ?
-- introduction of weighting function for sensitivity fun...
+ design example &ref(ex1012_1.m); &ref(ex1012_2.m);
+ the small gain theorem
-- proof: Nyquist stability criterion
//+ from performance optimization to robust stabilization
%-- 2023/10/12 13:43 --%
ex1012_1
P
eig(P)
ctrlpref
ex1012_1
ex1012_2
K_hinf
eig(K_hinf)
#ref(2023.10.12-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.12-2.jpg,left,noimg,whiteboard #2);
#ref(2023.10.12-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #7]}; 2023.10.19 Mixed sensitiv...
+ outline: from point to set &ref(授業/制御工学特論2017/m...
+ the small gain theorem ... robust stability = H infinit...
+ normalized uncertainty Delta
+ uncertainty model
+ simple example of plant set
-- given plant P tilde
--- frequency response of plant with perturbation &ref(ex...
-- how to determine P0 and WT ?
--- frequency response based procedure for P0 and WT &ref...
+ robust stabilization problem and equivalent problem
-- design example and simulation &ref(ex1019_3.m); &ref(m...
%-- 2023/10/19 13:26 --%
ex1019_1
ex1019_3
ex1019_2
ex1019_3
mod1019
c
c = 0.8
c = 2
c = 1.5
#ref(2023.10.19-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.19-2.jpg,left,noimg,whiteboard #2);
#ref(2023.10.19-3.jpg,left,noimg,whiteboard #3);
#ref(2023.10.19-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #8]}; 2023.10.26 Mixed sensitiv...
//- schedule (no lecture will be given on Nov.31)
- review: &ref(授業/制御工学特論2017/map_v1.1_mixedsens2....
- outline:
++ how to design controllers considering both conditions ...
++ gap between NP(nominal performance) and RP(robust perf...
+ mixed sensitivity problem => (1) and (2) : proof
+ generalized plant for mixed senstivity problem
+ design example &ref(ex1026_1.m); minimize gamma by hand
+ gamma iteration by bisection method &ref(ex1026_2.m); t...
+ intro. to RP: weak point of mixed sensitivity problem(p...
%-- 2023/10/26 13:36 --%
pwd
ex1026_1
K
ex1026_1
ex1026_2
gam
ex1026_2
gam
ex1026_2
gam
ex1026_2
gam
ex1026_3
ex1026_2
ex1026_3
#ref(2023.10.26-1.jpg,left,noimg,whiteboard #1);
#ref(2023.10.26-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #9]}; 2023.11.2 robust performa...
-- [[schedule2023]]
+ review
-- mixed sensitivity problem : N.P. but not R.P.
//-- robust performance problem (R.P.) c.f. the last whit...
//-- the small gain theorem
+ robust performance problem (R.P.), but can not be solve...
+ an equivalent robust stability (R.S.) problem to R.P.
-- (i) introduction of a fictitious uncertainty Delta_p (...
-- (ii) for 2-by-2 uncertainty block Delta hat which incl...
+ definition of H infinity norm for general case (MIMO)
-- definition of singular values and the maximum singular...
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
M'
eig(M'*M)
svd(M)
-- mini report #1 &ref(report1.pdf); ... You will have a ...
+ proof of ||Delta hat||_inf <= 1
+ design example: &ref(ex1102_1.m);
-- robust performance is achieved but large gap
-- non structured uncertainty is considered ... the desig...
%-- 2023/11/02 13:54 --%
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
M'
eig(M'*M)
svd(M)
pwd
ex1102_1
#ref(2023.11.02-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.02-2.jpg,left,noimg,whiteboard #2);
#ref(2023.11.02-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #10]}; 2023.11.9 Robust perform...
+ return of mini report #1
//+ review
//-- robust performance but too conservative
// ex1108_1
//-- robust stability problem for Delta hat and its equiv...
//-- structured unertainty Delta hat and unstructured unc...
+ SVD: singular value decomposition
-- definition
-- meaning of the largest singular value (a property and ...
-- 2 norm of vectors (Euclidean norm)
-- SVD for 2-by-2 real matrix &ref(ex1109_1.m);
%-- 2023/11/09 13:26 --%
M = [1, 1; 1i/sqrt(2), -1i/sqrt(2)]
[U, S, V] = svd(M)
U'*U
format long e
U'*U
U*U'
V'*V
U*S*V'
U*S*V'- M
format short
U*S*V'- M
ex1109_1
rand(1,1)
rand(1,3)
#ref(2023.11.09-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.09-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #11]}; 2023.11.16 Robust perfor...
+ review : R.S. problems for structured and unstructured ...
+ scaled H infinity control problem
+ relation between three problems
+ how to determine structure of scaling matrix
+ design example &ref(ex1116_1.m);
ex1102_1
gam2 = gam_opt
ex1116_1
gam_opt
+ mini exam #1 (10 min.)
%-- 2023/11/16 13:03 --%
ex1102_1
gam_opt
format long
gam_opt
gam2 = gam_opt
ex1116_1
gam_opt
gam2
opts = hinfsynOptions
opts.AutoScale = 'off'
ex1116_1
#ref(2023.11.16-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.16-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #12]}; 2023.11.23 Robust perfor...
+ return of mini exam #1
+ review of scaling &ref(ex1123_1.m);
+ mini report #2 &ref(report2.pdf);
+ introduction of a practical system: Speed control of tw...
-- experimental setup &br;
&ref(授業/制御工学特論2019/setup_fixed.pdf); &br;
&ref(授業/制御工学特論2019/photo.jpg,left,noimg);
-- objective of control system = reference speed tracking...
-- frequency response experiment and physical model of sp...
#ref(ex1123_2.m);
&ref(servo1.dat); &ref(servo2.dat);
-- room 374 @ Dept. Mech. Bldg. 2
%-- 2023/11/23 13:09 --%
ex1123_1
format long
eig(clp2.a)
ex1123_2
#ref(2023.11.23-1.jpg,left,noimg,whiteboard #1);
#ref(2023.11.23-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #13]}; 2023.11.30 &color(red){&...
&color(red){&size(25){Due to a hardware problem in our ex...
&size(25){Please check the modified schedule at [[schedul...
** &color(green){[lecture #13]}; 2023.12.7 Control system...
+ return of mini report #2; ... You will have a mini exa...
-- [[schedule2023]]
+ review of the experimental system
//-- closed-loop system of 2-by-2 plant G and controller K
//-- closed-loop gain is desired to be minimized for cons...
-- the same robust performance problem setup given in lec...
+ design example
-- frequency response experiment data&br;
[[servo1.dat>/:~exp/seigyokougakutokuron_2023/exp/freqres...
-- determination of plant model(nominal plant and multipl...
&ref(nominal.m);&br;
&ref(weight.m);&br;
&ref(weight_2.m); ... loose weight was further used to pr...
-- configuration of generalized plant and controller desi...
&ref(cont.m);&br;
&ref(cont_2.m); ... for loose weight design
//-- comparison of closed-loop gain characteristics with ...
//&ref(compare.m);
-- result of control experiment and evaluation&br;
[[result.dat>/:~exp/seigyokougakutokuron_2023/exp/design_...
[[result_2.dat>/:~exp/seigyokougakutokuron_2023/exp/desig...
&ref(perf.m);
+ final report and remote experimental system
++design your controller(s) so that the system performanc...
++Draw the following figures and explain the difference b...
+++bode diagram of controllers
//+++gain characteristic of closed-loop system from w to z
+++gain characteristic of sensitivity function
+++time response of control experiment
++Why is the performance of your system improved(or unfor...
--&size(30){&color(red){due date: 4th(Thu) Jan 17:00};};
--submit your report(pdf file) by e-mail to kobayasi@naga...
--You can use Japanese
--maximum controller order is 20
--submit your &size(25){&color(red){controller.dat, contr...
--the system will be started until next lecture
--You can send up to 10 controllers
--&size(30){&color(black){[[control experimental results ...
--freqresp ... frequency response will be measured and up...
+ how to improve the performance ?
-- performance and sensitivity gain
-- accuracy of the nominal(physical) model, weighting for...
-- caution: measurement noise in high frequency range due...
//+ detailed explanation of m-files in the previous lecture
+ specifications of the experimental system
++ program sources for frequency response experiment
--- [[freqresp.h>/:~exp/seigyokougakutokuron_2023/freqres...
--- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2023/...
--- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2023/fre...
--- format of servo1.dat
1st column ... frequency (Hz)
2nd column ... gain from T_M(Nm) to Omega_M(rad/s)
3rd column ... phase (deg) from T_M to Omega_M
4th column ... gain from T_M to Omega_L
5th column ... phase (deg) from T_M to Omega_L
++ program sources for control experiment
--- [[hinf.h>/:~exp/seigyokougakutokuron_2023/hinf.h]]
--- [[hinf_module.c>/:~exp/seigyokougakutokuron_2023/hinf...
--- [[hinf_app.c>/:~exp/seigyokougakutokuron_2023/hinf_ap...
--- format of result.dat
1st column: time (s)
2nd column: y (Omega_M (rad/s))
3rd column: Omega_L (rad/s)
4th column: u (T_M (Nm))
5th column: r (rad/s)
++ configuration of control experiment
--- reference signal r is specified as described in hinf....
r = (double)COM_ROT_SPEED;;
if(t > 2){
t1 = t - 2;
t1 -= ((int)(t1 / REF_PERIOD))*REF_PERIOD;
t1 /= 0.2;
if(t1 < 1){
r += REF_AMP * t1;
}else if(t1 < 4){
r += REF_AMP;
}else if(t1 < 6){
r += REF_AMP * (5 - t1);
}else if(t1 < 9){
r -= REF_AMP;
}else if(t1 < 10){
r -= REF_AMP * (10 - t1);
}
}
--- control signal u is limited as specified in hinf.h an...
#define U_MAX (RATED_TORQ / 3.0)
if(u > U_MAX) u = U_MAX;
if(u < -U_MAX) u = -U_MAX;
u is generated by PI control for t < 1(s). Your designed ...
++ calculation of rotational speed
--- The rotational speed is approximately calculated by u...
theta_rad[0] = (double)read_theta(0) / (double)Pn212 * 2...
theta_rad[1] = (double)read_theta(1) / (double)Pn212 * 2...
y = (theta_rad[0] - theta_rad_before[0]) / msg->sampling...
z = (theta_rad[1] - theta_rad_before[1]) / msg->sampling...
theta_rad_before[0] = theta_rad[0];
theta_rad_before[1] = theta_rad[1];
where the sampling period is given as 0.25 ms.
%-- 2023/12/07 13:33 --%
pwd
cd ..
nominal
weight
cont
perf
axis([9.9, 10, -10, 50])
axis([9.99, 10, -10, 50])
weight_2
pwd
weight_2
cont_2
perf
cd ..
perf
** &color(green){[lecture #14]}; 2023.12.14 Control syste...
- web based remote experiment system
//-- your password were sent by e-mail
-- usage; how to upload controller's
-- powered by prof. Takebe, National Institute of Technol...
//--- now you can login after registration
- supplemental explanations
-- room temperature is displayed and stored in temp.txt (...
//-- generating wav file [[filter.c>/:~exp/seigyokougakut...
-- c2d() is used to discretize the resultant continuous-t...
-- You can send up to 10 controllers (don't fall into tri...
-- no strict control objective is given ( there is a free...
- preparation of your own controller(s) by using the remo...
- mini exam #2
%-- 2023/12/14 13:50 --%
load result.dat
plot(result(:,1), result(:,2))
axis([9, 10, 10, 25])
load result2.dat
plot(result(:,1), result(:,2))
plot(result2(:,1), result2(:,2))
axis([9, 10, -10, 50])
axis([9.9, 10, -10, 50])
plot(result2(:,1), result2(:,2), '.-')
axis([9.9, 10, -10, 50])
nominal
weight
weight2
weight_2
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//&color(black,red){&size(20){!!! the remaining page is u...
** &color(green){[lecture #15]}; 2023.12.21 Control syste...
- %%return of mini exam #2%%
//- [[schedule2022]] no lecture will be given next week
//--- the system will be unavailable from %%21(Fri)%% &co...
- preparation of your own controller(s) by using the remo...
//**related links [#g1a68a2b]
//-東ティモール工学部復興支援/support of rehabilitation f...
//--[[How to control objects>/:~kobayasi/easttimor/2009/i...
//--[[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~...
ページ名: