CT-ERRATA

頁・式
p.3 おきたい思う おきたい思う
p.31 (a=\theta-\piだから)、\sin\theta\simeq \theta-\pi (a=\piだから)、\sin\theta\simeq -(\theta-\pi)
p.83 -x0) [-L 1]*x0)
(Program 52を修正・更新しています)
(8.4) =ke_v(t) =k_ve_v(t)
p.136 (8.15)が成り立つ (8.17)が成り立つ

●本書では、m行n列の行列のサイズを「m  \times n」と表記しています。たとえば(n-p)行n列の行列のサイズは「n-p\times n」となります。ここで、\timesは掛け算(の演算子)ではなく、行数と列数の区切りであることに注意してください。

CTA2 HILSアプローチ

仮想制御実験のためには、厳密な実時間計算ではありませんが、Simulink Desktop Real-Timeが有用です。

コントローラの実装には、Simulink Real-Time, MATLAB Coder, Simulink Coderが有用です。

CT83 1次系のLQI制御

Home Work 8.3

[M] 偏差系の安定化をLQ制御方式で行っているけど、偏差系が3種類も出てくるね。 

[C] 評価関数の重みを与えるとき、偏差系E3が便利だからだよ。

[P] 多変数系の場合、定常状態で非干渉化が行われるみたいだけど、物理的にどうなっているのか説明できるのだろうか?

Flipped Classroom 8.3
[1][2] 試行錯誤で偏差系の安定化を行う場合に比べて、設計が少しは楽になると思われます。

CT82 定値外乱下の位置制御

Home Work 8.2

[C] ここでも、定常偏差を生じさせる定値外乱の除去に焦点を当てているようだ。

[P] 位置を目標値(定値)に合わせるときは、速度は0にしか合わせられないということだね。

[M] 3次の行列の逆行列の計算が、こんなところで出てきたね。

Flipped Classroom 8.2
[1] (8.15)ではなく、(8.17)からx_I\frac{w^*}{k_I}=\frac{1}{1}=1に漸近するはず。図8.6の下段のシミュレーションはプログラムからx_Iではなく-k_Ix_I=-x_Iだから、その値は-1に漸近しており、x_Iは1に漸近することが確かめられます。(下段のシミュレーションがx_Iとなるように、プログラムを変更する予定です。)

[2] 偏差系の安定化を、閉ループ系の固有値を指定して求めています。

CT81 定値外乱下の速度制御

Home Work 8.1

[C] 積分器は目標値(定値)との定常偏差をなくすために必要となると思っていたけど、ここでの説明はちょっと違うね。定常偏差を生じさせる定値外乱の除去に焦点を当てているようだ。

[P] 積分器が未知の外乱を推定するとは、不思議な気がするね。

[M] でも数学的には、確かに標値との定常偏差をなくすことと、積分器が未知の外乱を推定することが証明されているよ。

Flipped Classroom 8.1
[1] (8.10)からx_I\frac{w^*}{k_I}=\frac{1}{1}=1に漸近するはず。図8.3の下段のシミュレーションはプログラムからx_Iではなく-k_Ix_I=-x_Iだから、その値は-1に漸近しており、x_Iは1に漸近することが確かめられます。(下段のシミュレーションがx_Iとなるように、プログラムを変更する予定です。)

[2] 多い風の場合は、w^s=-1とします。

CT73 補遺7

[C] LQ制御の要点をまとめると、次のようになるかな。 

【LQ制御】 可制御な制御対象

\displaystyle{(1)\quad %\left\{\begin{array}{ll} \dot{x}(t)=Ax(t)+Bu(t)\quad (x(t)\in{\bf R}^n,u(t)\in{\bf R}^m)\\ %z(t)=Cx(t)&(z(t)\in{\bf R}^q) %\end{array}\right. }

を安定化する状態フィードバック

\displaystyle{(2)\quad u(t)=-Fx(t) }

の決定法を考えます。一つの方法は,閉ループ系

\displaystyle{(3)\quad %\left\{\begin{array}{l} \dot{x}(t)=(A-BF)x(t)  \\ %z(t)=Cx(t) %\end{array}\right. }

の時間応答に関する評価規範として,2次形式評価関数

(4)\quad \boxed{\begin{array}{l} \displaystyle{J=\int_0^\infty (z^T(t)Qz(t)+u^T(t)Ru(t))\,dt\quad (Q>0,R>0)}\\ \displaystyle{z(t)=Cx(t)\quad (z(t)\in{\bf R}^q)} \end{array}}

を設定し,これを最小化する問題を解くことです。ただし、(A,C)は可観測対とします。これによる状態フィードバックのゲイン行列Fは,リッカチ方程式

\displaystyle{(5)\quad {\boxed{\Pi A+A^T\Pi-\Pi BR^{-1}B^T\Pi+C^TQC=0}} }

の解\Pi>0を用いて,次式で与えられます。

\displaystyle{(6)\quad {\boxed{F=R^{-1}B^T\Pi}} }

[P] LQ制御は、運動の自由度の連成を解きほぐすという意味の多変数制御を保証するわけではなさそうだ。やはり、運動の自由度の対応するアクチュエーションを工夫して、状態空間モデルを得ることが大切ということかな?

[M] LQ制御に関する証明については、次を参照するらしいよ。

まず閉ループ系の安定性を表す制約条件について

リャプノフ方程式

そして、一般の状態フィードバックについて

LQ制御

さらには、オブザーバベースコントローラについて

LQG制御

(詳しい説明は、あとで行う予定です。)