授業

Advanced Automation

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

  • review : stabilization of SISO unstable plant by classical and modern control theory
    • transfer functions / differential equations
    • poles / eigenvalues
    • impulse response / initial value response
    • ...
%-- 2017/09/07 13:29 --%
s = tf('s')
P = 1/(s-1)
pole(P)
impulse(P)
Tyr = feedback(P*k, 1)
k = 2
Tyr = feedback(P*k, 1)
P
Tyr = feedback(P*k, 1)
step(Tyr)
k = 0.5
Tyr = feedback(P*k, 1)
step(Tyr)
k = 10
Tyr = feedback(P*k, 1)
step(Tyr)
  • Q: I don't know how to use the MATLAB.
  • Q: マトラボの使い方が分かりません。
  • A: A brief explanation of MATLAB and Simulink will be given in the next lecture by using simple examples.
  • A: 次週、MATLAB(とSimulink)の使い方について説明します。
  • Q: 個人的には倒立振子のようなモデルから制御系の説明が最初にあると制御工学のイメージがつきやすい
  • A: 確かに、不安定=倒れる、という分かり易さは魅力なのですが、1次系で表すことができません。今回は数式の取扱いの容易さから1次系を選びました。 倒立振子については、次回、別の演習で用いていたシミュレーションモデルを紹介したいと思います。
  • Q: when you conduct please speak slowly.
  • A: Thank you for the sugestion. I will improve my speaking.

[lecture #2] 2017.9.14 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink

  1. introduction of Matlab and Simulink filetext_fixed.pdf Basic usage of MATLAB and Simulink used for 情報処理演習及び考究II/Consideration and Practice of Information Processing II: Advanced Course of MATLAB
  1. system representation: Transfer Function(TF) / State-Space Representation (SSR)
    • example: mass-spring-damper system
    • difinition of SSR
    • from SSR to TF
    • from TF to SSR: controllable canonical form
  2. open-loop characteristic
    • open-loop stability: poles and eigenvalues
    • Bode plot and frequency response fileex0914_1.m filemod0914_1.mdl
      • cut off frequency; DC gain; -40dB/dec; variation of c
      • relation between P(jw) and steady-state response
  3. closed-loop stability
    • Nyquist stability criterion (for L(s):stable)
    • Nyquist plot fileex0914_2.m filemod0914_2.mdl
      • Gain Margin(GM); Phase Margin(PM)
%-- 2017/09/14 13:05 --%
a = 1
who
a + 2
demo
lookfor demo
demo toolbox
demo toolbox]
demo toolbox
t = [1, 2, 3]
t = [1 2 3]
u = [1; 2; 3]
t
t'
penddemo
help penddemo
penddemo
ls
ex0914_1
who
P
  • Q: ○7について、 \[ \frac{b_1 s + b_0}{s^2 + a_1 s + a_0} + d \] とした時、対応するSSRは、 \[ \left[\begin{array}{cc|c} 0 & 1 & 0 \\ -a_0 & -a_1 & 1 \\ \hline b_0 & b_1 & 0 \end{array}\right] \] となるという理解で良いでしょうか。(ホワイトボードの説明では、 \[ \left[\begin{array}{cc|c} 0 & 1 & 0 \\ -a_1 & -a_2 & 1 \\ \hline b_1 & b_2 & 0 \end{array}\right] \] に見える為)
  • A: その理解で正しいです。赤枠で囲んだ際に添え字が一つずれていることに気付いていませんでした。申し訳ありません。
  • Q: I didn't understand the usefulness of SSR.
  • A: LQR problem is formulated and solved by using SSR, which will be explain in the next lecture.
  • Q: TF から SSR への変換の過程がよくわからなかった。
  • A: 与えられた TF に対応する SSR は、状態ベクトルの取り方によって一意に決まらない(無限に存在する)ため、代表的な SSR の型を利用します。 今日扱ったのは controllable canonical form (可制御正準形)で、伝達関数の分母・分子多項式及び直達項をA,C,D行列の特定の場所に当てはめることで、TFからSSRの変換を行ったことになります。この双対の可観測正準形も同様です。他に、今日は紹介しませんでしたが、共振モード毎のブロック対角構造がA行列に表れる型などもあり、目的に応じて使い分けられます。

[lecture #3] 2017.9.21 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
    • ARE and quadratic equation
    • closed loop stability ... Lyapunov criterion
    • Jmin filelqr.pdffileproof4.pdf (from B3「動的システムの解析と制御」)
  3. example fileex0921_1.m filemod0921_1.mdl
%-- 2017/09/21 13:17 --%
ex0921_1
B
A
A*B
P
eig(P)
F
J
x0
x0'*P*x0
  • Q: MATLABの使い方が所々わからない。
  • A: 今日のように時間の余ったときにでも聞いてください。
  • Q: QとRの値は何で決まるのですか?
  • A: 設計者が決めます。大雑把に言うと、Qを大きく(Rを小さく)すると、状態xの収束性が上がるが大きな制御入力が必要となり、Qを小さく(Rを大きく)すると、状態xの収束性が犠牲になるが小さな制御入力で済む、というトレードオフがあるので、それを考慮して決めます。
  • Q: f = b/r P と出来る理由が分からなくなってしまった
  • Q: ホワイトボード○5のfとPの関係がどこから出てきたのか分からなかった
  • A: LQR問題の解において、状態フィードバックゲインFは代数リカッチ方程式の解Pを用いて与えられます。この関係式(スカラの例題の場合は f = b/r p)を使うと、(リカッチ方程式とは無関係に導出した)f に関する二次方程式が、Pに関する代数リカッチ方程式と同一であることが示されます。わからなければまた聞いてください。
  • Q: In m-file, line 13 F = R\B'"P what is this (Yen mark) operator? the same process this? inv(R)\B'
  • A: Yen mark means `\'. X\Y and Y/X respectively mean \[ X^{-1} Y, \quad Y X^{-1}. \]
  • Q: LQR:L→ 非線形は扱えない?その影響は偏差?時間?パラメータ変動になる?
  • A: 先週紹介した状態空間実現は、状態ベクトルに関する一階の線形微分方程式です。よって、非線形特性を直接表現することはできず、平衡点回りで線形化するのが典型的な対処法です。一方、安定となるよう設計された制御系は通常、余裕を持ち、若干の非線形特性は許容されます。この意味で大きな安定余裕を持つように制御系を設計すれば、間接的に非線形特性を考慮できる場合もあります。
  • Q: If it is possible, I want to practice more during the lecture, may I get more additional example materials to try on Matlab, for the each topics.
  • A: I think this is because a lack of detailed explanation on examples: The mass-spring-damper system given in the today's lecture was unstable one choosing the damping coefficient as a negative value. Please try to change those values; I completely forgot to explain physical meaning of Q and R and how to choose them. As in the Q&A above (sorry in Japanese), matrices Q and R are given by designer considering trade-off between performance and cost e.g. energy consumption. Please try with other values of Q and R, to confirm the trade-off; Therefore, I would like to recommend you to change numerical values in examples for better understandings. If this answer is not sufficient for you, please ask again.
  • Q: 少しスピードを落としてほしい
  • A: 日本語の説明を少なくしたせいと思います。やはり同じ説明を日本語でもするようにします。

!!! the remaining page is under construction (the contents below are from 2016) !!!

%-- 2016/09/15 14:18 --%
mod0915
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);
eig(P) % should be positive
F = R\B'*P;
x0'*P*x0
x0
J
x0'*P*x0
plot(t, J)
  • Q: 各行列の意味がよくわからなかった。
  • A: Matlab で入力した行列のことと仮定して回答します(そうでない場合はまた聞いてください)。
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];

は、制御対象の例として与えました。何でも良いですが、ここでは不安定な方が分かり易いかと思い、不安定な制御対象としました。

Uc = ctrb(A,B);
det(Uc) % should be nonzero

は、可制御性を確認している部分です。(A,B)の可制御性行列を Uc として作り、det で行列式を表示しています。

C = eye(2); % dummy
D = zeros(2,1); % dummy

おそらくこの部分を全く説明しなかったので混乱していると思います(すみません)が、 この C と D を y = Cx + Du に代入すると、y = x となります。つまり、出力に状態をそのまま取り出すための設定です。これで、Simulink の制御対象のブロックの出力が、状態ベクトル x となります。

F = [0, 0]; % without control

フィードバック制御無しの設定です。ここまで入力して一度、シミュレーションスタートするべきでした(不安定な、信号が発散する様子が確認できます)。が、時間なくスキップしたと思います。すみません。

x0 = [1; 1]; % initial state

初期値ベクトルを適当に与えています。

Q = eye(2);
R = 1;

評価関数の重み行列(という呼び方で説明しなかったと思いますが、そう呼ばれます)の設定です。制御系の設計者が与えるものです。

P = are(A, B/R*B', Q);

リカッチ方程式の正定解Pを計算します。この結果を実際にリカッチ方程式に代入すると0となるところも見せるべきでした。やってみてください。

eig(P) % should be positive

全て正の実数となることから、実際に正定となっていることを確認します。

F = R\B'*P;

状態フィードバックゲインFを計算しています。

x0'*P*x0

評価関数Jの最小値を表示します。スカラの簡単な場合について、求めた最適解fをJの式に代入しても、この同じ式になる、ということも確認できるのですが、時間なくスキップしました。やってみてください。

[lecture #4] 2016.9.29 relation between LQR and H infinity control problem (1/2)

  • GOAL: to learn difference in concepts between LQR problem and H infinity control problem
  1. a simple example relating LQR and H infinity control problems
    • For given plant G \[ G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{q} & 0 & 0 \\ 0 & 0 & \sqrt{r} \\ \hdashline 1 & 0 & 0 \end{array} \right] = \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \left[ \begin{array}{c} \sqrt{q} x \\ \sqrt{r} u \end{array}\right] \\ x = x \end{array}\right. \] with zero initial condition x(0) = 0, find a state-feedback controller \[ u = -f x \] such that \begin{eqnarray} (i) &&\quad \mbox{closed loop is stable} \\ (ii) &&\quad \left\{\begin{array}{l} \| z \|_2 \rightarrow \mbox{min for } w(t) = \delta(t) \quad \mbox{(LQR)} \\ \| T_{zw} \|_\infty \rightarrow \mbox{min} \quad \mbox{($H_\infty$ control problem)}\end{array}\right. \end{eqnarray}
    • comparison of norms in (ii) (for a = -1, b = 1, q = 1, r = 1) \[ \begin{array}{|c||c|c|}\hline & \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\quad\quad \\ \hline\hline J=\|z\|_2^2 & & \\ \hline \|T_{zw}\|_\infty & & \\ \hline \end{array} \]
  2. an alternative description to LQR problem
    1. J and L2 norm of z
    2. impulse disturbance resp. with zero initial condition and initial condition resp. with zero disturbance
  3. definition of H infinity norm (SISO)
    s = tf('s');
    P1 = 1/(s+1);
    bode(P1);
    norm(P1, 'inf')
    P2 = 1/(s^2 + 0.1*s + 1);
    bode(P2);
    norm(P2, 'inf')
  4. definition of H infinity norm (SIMO)
  5. solve the problem by hand
  6. solve the problem by tool(hinfsyn) &ref(): File not found: "ex0929.m" at page "授業/制御工学特論2017";
%-- 2016/09/29 13:46 --%
s = tf('s');
P1 = 1/(s+1);
bode(P1);
norm(P1, 'inf')
P2 = 1/(s^2 + 0.1*s + 1);
bode(P2);
norm(P2, 'inf')
format long e
norm(P2, 'inf')
grid on
ex0929

#ref(): File not found: "2016.09.29-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.09.29-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.09.29-3.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.09.29-4.jpg" at page "授業/制御工学特論2017"

  • Q: H∞ノルムが何を表しているのか
  • A: 簡単に言うと安定なシステムの最大ゲインです。

[lecture #5] 2016.10.6 relation between LQR and H infinity control problem (2/2)

  1. complete the table in simple example
  2. confirm the cost function J for both controllers by simulation &ref(): File not found: "mod1006.mdl" at page "授業/制御工学特論2017";
    • block diagram in the simulink model
    • how to approximate impulse disturbance
    • impulse disturbance resp. with zero initial condition = initial condition resp. with zero disturbance
  3. confirm the closed-loop H infinity norm for both controllers by simulation (common mdl file is available)
    • review: steady-state response (see whiteboard#4 @ lec. #2)
    • H infinity norm = L2 induced norm
    • how to construct the worst-case disturbance w(t) which maximizes L2 norm of z(t) ?
    • what is the worst-case disturbance in the simple example ?
  4. general case: filehinf.pdf includes the simple example as a special case
    • LQR filelqr.pdf is included as a special case in which gamma -> infinity, w(t) = 0, B2 -> B, and non-zero x(0) are considered
%-- 2016/10/06 13:09 --%
1/sqrt(2)
sqrt(2+sqrt(2))
sqrt(2-sqrt(2))
mod1006
ex0929
A
B
C
D
h
h = 0.01
x0 = 0
f
f = -1+sqrt(2)
zz
zz(end)
h = 0.0001
zz(end)
x0
x0 = 1
zz(end)
f
f = 1
x0
x0 = 0
zz(end)
x0
h
h = 10
zz(end)/ww(end)
sqrt(zz(end)/ww(end))
f
h = 100
sqrt(zz(end)/ww(end))
f
f = -1+sqrt(2)
sqrt(zz(end)/ww(end))

&ref(): File not found: "2016.10.06-1.jpg" at page "授業/制御工学特論2017"; ... sorry for the missing picture in which A, B1, B2, C1, and D12 were additionally written in red color.

#ref(): File not found: "2016.10.06-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.06-3.jpg" at page "授業/制御工学特論2017"

  • Q: Some things can not be described clearly.
  • A: Can you ask me in detail ?

[lecture #6] 2016.10.13 Mixed sensitivity problem 1/3

  1. review: LQR and H infinity
  2. outline: filemap_v1.0_intro1.pdf ; schedule2016
  3. H infinity control problem (general case)
  4. reference tracking problem
  5. weighting function for sensitivity function
  6. design example &ref(): File not found: "ex1013_1.m" at page "授業/制御工学特論2017"; &ref(): File not found: "ex1013_2.m" at page "授業/制御工学特論2017";
  7. the small gain theorem
    • proof: Nyquist stability criterion
  8. from performance optimization to robust stabilization
%-- 2016/10/13 13:58 --%
ex1013_1
P
pole(P)
ex1013_2
K
K_hinf
eig(K_hinf.a)

#ref(): File not found: "2016.10.13-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.13-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.13-3.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.13-4.jpg" at page "授業/制御工学特論2017"

[lecture #7] 2016.10.20 Mixed sensitivity problem 2/3

  1. review filemap_v1.0_intro2.pdf and outline
  2. an equivalent problem of robust stabilization for reference tracking problem
  3. uncertainty model and normalized uncertainty Delta
  4. how to determine P0 and WT
    • example: frequency response of plant with perturbation &ref(): File not found: "ex1020_1.m" at page "授業/制御工学特論2017";
    • frequency response based procedure for P0 and WT &ref(): File not found: "ex1020_2.m" at page "授業/制御工学特論2017";
  5. robust stabilization problem and equivalent problem
    • design example and simulation &ref(): File not found: "ex1020_3.m" at page "授業/制御工学特論2017"; &ref(): File not found: "mod1020.mdl" at page "授業/制御工学特論2017";
%-- 2016/10/20 13:36 --%
ex1020_1
ex1020_2
ex1020_3
mod1020
c

#ref(): File not found: "2016.10.20-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.20-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.20-3.jpg" at page "授業/制御工学特論2017"

  • Q: Δは、何を表しているのか忘れてしまったので、もう一度説明お願いします。
  • A: 安定で、H∞ノルムが1以下の1入出力系です(最大ゲインが1以下の安定な伝達関数、でも良いです)。

[lecture #8] 2016.10.27 Mixed sensitivity problem 3/3

  • review: filemap_v1.0_intro2.pdf (1)robust stabilization and (2)performance optimization
  • outline:
    1. how to design controllers considering both conditions in (1) and (2)
    2. gap between nominal performance and robust performance
  1. mixed sensitivity problem ---> (1) and (2) : proof
  2. generalized plant for mixed senstivity problem
  3. design example &ref(): File not found: "ex1027_1.m" at page "授業/制御工学特論2017"; minimize gamma by hand
  4. gamma iteration by bisection method &ref(): File not found: "ex1027_2.m" at page "授業/制御工学特論2017";
  5. nominal performance and robust performance &ref(): File not found: "ex1027_3.m" at page "授業/制御工学特論2017";
  6. introduction of robust performance problem
%-- 2016/10/27 13:46 --%
ex1027_1
K
ex1027_2
ex1027_3

#ref(): File not found: "2016.10.27-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.10.27-2.jpg" at page "授業/制御工学特論2017"

... sorry for the mistake in the left-upper inequality, please correct it as pointed out by a student as below

#ref(): File not found: "2016.10.27-3.jpg" at page "授業/制御工学特論2017"

  • Q: \[\left[\begin{array}{cc} \overline{m_1(j\omega)} & \overline{m_2(j\omega)} \end{array} \right] \left[\begin{array}{c} m_1(j\omega) \\ m_2(j\omega) \end{array} \right] = |m_1(j\omega)|^2 + |m_2(j\omega)|^2 \] とならないでしょうか?
  • A: ごめんなさい、その通りです。できれば授業中に訂正してもらえると助かります。

[] 2016.11.10 canceled

[lecture #9] 2016.11.17 robust performance problem 1/3

  1. review
    • mixed sensitivity problem
      ex1027_1
      ex1027_2
      ex1027_3
    • robust performance problem c.f. the last whiteboard
  2. an equivalent robust stability problem
  3. definition of H infinity norm for general case (MIMO)
    • definition of singular values and the maximum singular value
      M = [1/sqrt(2), 1/sqrt(2); j, -j]
      M'
      eig(M'*M)
      svd(M)
    • mini report #1 &ref(): File not found: "report1.pdf" at page "授業/制御工学特論2017"; ... You will have a mini exam #1 related to this report
  4. proof of ||Delta hat||_inf <= 1
  5. design example: &ref(): File not found: "ex1117_1.m" at page "授業/制御工学特論2017";
    • robust performance is achieved but large gap
    • non structured uncertainty is considered ... the design problem is too conservative
%-- 2016/11/17 13:05 --%
ex1027_1
ex1027_2
ex1027_3
M = [1/sqrt(2), 1/sqrt(2); j, -j]
M'
eig(M'*M)
svd(M)
ex1117_1

#ref(): File not found: "2016.11.17-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.17-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.17-3.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.17-4.jpg" at page "授業/制御工学特論2017"

  • Q: 特異値は何を意味しているのか?
  • Q: 特異点(値:小林註)は何を表していますか?(最大特異点(値)\[ \bar \sigma \] も)
  • A: 次回、特異値分解(singular value decomposition)と共に説明します。

[lecture #10] 2016.11.24 Robust performance problem (2/3)

  1. return of mini report #1
  2. review
    • robust performance but too conservative
      ex1027_2
      ex1117_1
    • structured unertainty Delta hat and unstructured uncertainty Delta tilde
    • robust stability problem for Delta hat and its equivalent problem(?) with Delta tilde
  3. SVD: singular value decomposition
    • definition
    • meaning off the largest singular value
    • 2-norm of vectors
    • SVD for 2-by-2 real matrix &ref(): File not found: "ex1124_1.m" at page "授業/制御工学特論2017";
%-- 2016/11/24 13:04 --%
ex1027_2
ex1117_1
M = [1/sqrt(2), 0; 1/sqrt(2), 0]
svd(M)
M
[U, S, V] = svd(M)
[U, S, V] = svd(M);
U
V
U*S*V'
U*S*V' - M
S
U'*'
U'*U
V'*V
help norm
ex1124_1

#ref(): File not found: "2016.11.24-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.24-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.24-3.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.11.24-4.jpg" at page "授業/制御工学特論2017"

  • Q: ホワイトボード◯6の a=v1 の v1 が V* の成分だった理由が分かりませんでした。
  • A: 説明が悪かったと思いますが、m×m行列 V の第一列を列ベクトル v1 と決めた、というだけです。この結果、V* の第一行は行ベクトル v1* となります。わからなければまた聞いてください。

[lecture #11] 2016.12.1 Robust performance problem (3/3)

  1. review: conservative design with Delta tilde
  2. scaled H infinity control problem
  3. how to determine structure of scaling matrix
  4. design example &ref(): File not found: "ex1201_1.m" at page "授業/制御工学特論2017";
    ex1027_2
    ex1117_1
    gam_opt0 = gam_opt
    K_opt0 = K_opt;
    ex1201_1
    gam_opt
  5. mini exam #1

#ref(): File not found: "2016.12.01-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.12.01-2.jpg" at page "授業/制御工学特論2017"

%-- 2016/12/01 13:59 --%
ex1027_2
ex1117_1
gam_opt
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
gam_opt0
d_opt

[lecture #12] 2016.12.8 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3)

  1. return of mini exam #1;
  2. review of the scaled H infinity control problem
  3. effect of scaling &ref(): File not found: "ex1208_1.m" at page "授業/制御工学特論2017";
    ex1027_2
    ex1117_1
    gam_opt0 = gam_opt
    K_opt0 = K_opt;
    ex1201_1
    gam_opt
    ex1208_1
  4. mini report #2 &ref(): File not found: "report2.pdf" at page "授業/制御工学特論2017"; please use modified file &ref(): File not found: "report2_fixed.pdf" at page "授業/制御工学特論2017"; ... You will have a mini exam #2 related to this report
  5. introduction of a practical system: active noise control in duct
    • experimental setup
    • objective of control system: to drive control loudspeaker by generating proper driving signal u using reference microphone output y such that the error microphone's output z is attenuated against the disturbance input w
    • frequency response experiment

      #ref(): File not found: "ex1208_2.m" at page "授業/制御工学特論2017"

      #ref(): File not found: "spk1.dat" at page "授業/制御工学特論2017"

      #ref(): File not found: "spk2.dat" at page "授業/制御工学特論2017"

%-- 2016/12/08 13:25 --%
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
ex1208_1
ex1208_1
format long
ex1208_1
M = [0, 0.5; sqrt(2), 0]
W = mdiag(1/sqrt(3), 0)
W = mdiag(1/sqrt(3), 1)
svd(M)
Mhat = inv(W)*M*W
Mhat = W\M*W
svd(Mhat)
ex1208_2

#ref(): File not found: "2016.12.08-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.12.08-2.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.12.08-3.jpg" at page "授業/制御工学特論2017"

[lecture #13] 2016.12.15 Control system design for practical system (2/3)

  1. return of mini report #2
  2. 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
    • how to handle modeling error of G ?
  3. design example
    • determination of plant model(nominal plant and additive uncertainty weight)
      &ref(): File not found: "nominal.m" at page "授業/制御工学特論2017";
      &ref(): File not found: "subspace.m" at page "授業/制御工学特論2017"; ... replacement of n4sid in System Identification Toolbox (not provided in IPC)
      &ref(): File not found: "weight.m" at page "授業/制御工学特論2017";
    • configuration of generalized plant and controller design by scaled H infinity control problem using one-dimensional search on the scaling d
      &ref(): File not found: "cont.m" at page "授業/制御工学特論2017";
    • comparison of closed-loop gain characteristics with and without control
      &ref(): File not found: "compare.m" at page "授業/制御工学特論2017";
    • result of control experiment
      &ref(): File not found: "result.dat" at page "授業/制御工学特論2017";
      &ref(): File not found: "compare_result.m" at page "授業/制御工学特論2017";
  4. room 157 @ Dept. Mech. Bldg.2
  5. final report and remote experimental system
    1. design your controller(s) so that the system performance is improved compared with the design example
    2. Draw the following figures and explain the difference between two control systems (your controller and the design example):
      1. bode diagram of controllers
      2. gain characteristic of closed-loop system from w to z
      3. time response and frequency spectrum (PSD) of control experiment
    3. Why is the performance of your system improved(or unfortunately deteriorated)?
    • due date: 6th(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 35
    • submit your controller.dat, controller_order.dat, and controller.mat at this page:participant list2016(download is also possible) not later than 28th(Wed) Dec
    • Your login password will be e-mailed on Dec 16.
    • You can send up to 5 controllers
    • control experimental results will be uploaded here
    • freqresp ... frequency response will be measured and uploaded everyday
  6. how to improve the performance ?
    • order of the nominal plant
    • weighting for robust stability
  7. specifications of the experimental system
    1. experimental equipments
    • loudspeakers: AURA SOUND NSW2-326-8A (2inch, 15W)
    • pressure sensors: NAGANO KEIKI KP15
    • A/D, D/A converters: CONTEC AD12-16(PCI), DA12-4(PCI)
    • PC: Dell Dimension 1100
    • OS: Linux kernel 2.4.22 / Real Time Linux 3.2-pre3
    1. program sources for frequency response experiment
    • freqresp.h
    • freqresp_module.c
    • freqresp_app.c
    • format of spk1.dat (u is used instead of w for spk2.dat)
      • 1st column ... frequency (Hz)
      • 2nd column ... gain from w(V) to y(V) (signal's unit is voltage (V))
      • 3rd column ... phase from w to y
      • 4th column ... gain from w to z
      • 5th column ... phase from w to z
    1. program sources for control experiment
    • hinf.h
    • hinf_module.c
    • hinf_app.c
    • format of result.dat
      • 1st column: time (s)
      • 2nd column: z (V)
      • 3rd column: y (V)
      • 4th column: u (V)
      • 5th column: w (V)
    1. configuration of control experiment
    • disturbance signal w is specified as described in hinf.h and hinf_module.c:
      #define AMP 3.0 // amplitude for disturbance
      #define DIST_INTERVAL 5 // interval step for updating w
      
      count_dist++;
      if(count_dist >= DIST_INTERVAL){
        w = AMP * (2. * rand() / (RAND_MAX + 1.) - 1.); // uniform random number in [-AMP, AMP]
        count_dist = 0;
      }
      
      da_conv(V_OFFSET + w, 0); // D/A output to noise source
      w is updated with 1ms period (sampling period 0.2ms times DIST_INTERVAL 5)
    • control signal u is limited to [-4, 4] as specified in hinf.h and hinf_module.c:
      #define U_MAX 4.00
      
      if(u > U_MAX) u = U_MAX;
      if(u < -U_MAX) u = -U_MAX;
      u is set to 0 for t < 10(s). (controller is operated for 10 <= t < 15.)
    • a high pass filter with cut-off frequency are used to cut DC components in z and y as described in hinf.h and hinf_module.c
      // HPF(1 rad/s) to cut DC in z and y
      #define AF 9.9980001999866674e-01  
      #define BF 1.9998000133326669e-04
      #define CF -1.0000000000000000e+00
      #define DF 1.0000000000000000e+00
      
      ad_conv(&yz); // A/D input
      
      // HPFs
      yf = CF*xf_y + DF*yz[0];
      xf_y = AF*xf_y + BF*yz[0];
      zf = CF*xf_z + DF*yz[1];
      xf_z = AF*xf_z + BF*yz[1];
%-- 2016/12/15 13:18 --%
ls
nominal
ls data
nominal
ctrlpre
ctrlpref
nominal
345/3.6
who
G0
size(G0.a)
weight
help n4sid
eig(A)
max(real(eig(A)))
weight
cont
compare
compare_result

#ref(): File not found: "2016.12.15-1.jpg" at page "授業/制御工学特論2017"

#ref(): File not found: "2016.12.15-2.jpg" at page "授業/制御工学特論2017"

[lecture #14] 2016.12.20 Control system design for practical system (3/3)

  • preparation of your own controller(s) by using the remote experiment system but no explanation will be given (Kobayashi will not be in Nagaoka. I'm sorry)

[lecture #15] 2016.12.22 Control system design for practical system (cont.)

  • preparation of your own controller(s)
  • mini exam #2
  • questionnaires
    • to university
    • for web-based experimental environment
%-- 2016/12/22 13:09 --%
weight
load result.dat
pwd
load data/result.dat;
plot(result(:,1),result(:,4),'-');
compare

#ref(): File not found: "2016.12.22-1.jpg" at page "授業/制御工学特論2017"

  • Q:ミニ試験2の返却は行いますか?
  • A:部屋まで来てもらえれば週明けに返します。

添付ファイル: file2017.09.21-1.jpg 3件 [詳細] file2017.09.21-2.jpg 2件 [詳細] file2017.09.21-3.jpg 2件 [詳細] filemod0921_1.mdl 31件 [詳細] fileex0921_1.m 40件 [詳細] file2017.09.14-1.jpg 12件 [詳細] file2017.09.14-2.jpg 10件 [詳細] file2017.09.14-3.jpg 10件 [詳細] file2017.09.14-4.jpg 12件 [詳細] file2017.09.14-5.jpg 12件 [詳細] filemod0914_1.mdl 37件 [詳細] filemod0914_2.mdl 15件 [詳細] fileex0914_1.m 47件 [詳細] fileex0914_2.m 19件 [詳細] file2017.09.07-1.jpg 18件 [詳細] file2017.09.07-2.jpg 14件 [詳細] file2017.09.07-3.jpg 13件 [詳細] file2017.09.07-4.jpg 12件 [詳細] filemap_v1.1.pdf 38件 [詳細] filemap_v1.1_review.pdf 53件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-21 (木) 18:50:18 (1d)