Upload
lynhu
View
228
Download
0
Embed Size (px)
Citation preview
2007 年度
制御系 CAD 演習
SCILAB/MATLAB 入門(Ver. 3.9:2007 年 12 月 03 日)
堀 洋一 [email protected] 古関隆章 [email protected]: 鈴木武海 [email protected]
このテキストは逐次更新します。
最新版情報を http://www.takafumikoseki.blogspot.com でご覧ください。
2007年12月03日版 1/44
EA-3 MATLAB, Simulink を用いた制御系 CAD 演習(2007 年度)
担当: 堀洋一, 古関隆章
1. はじめに
制御工学は電気系のみならずあらゆる工学分野で用いられている基礎的な技術であり、この演習の受講者の多
くはすでに夏学期の「制御工学 I」を履修していることであろう。また、駒場4学期でも制御工学と非常に関連の深い
ラプラス変換を用いた微分方程式の取扱を必修科目として学んでいるはずである。しかし、そこでは、例題があくま
でも紙の上の計算で扱える範囲の比較的単純なものに限定されざるを得ず、面白さと言う点でも、現実的なより複
雑な問題を解決するためのトレーニングを行うという点でも物足りなさを感じたに違いない。
堀や古関の学生時代は、現在のように能力のすぐれた計算機・便利なソフトウェアが簡単に使える環境ではなく、
時間応答のディジタルシミュレーションを行うことは、それ自体で数日を要する作業であった。たとえば、分母多項式
を導出し、ニュートンラフソン法で多項式の解を求めるプログラムを作成し、留数の定理などを用いて各時間におけ
るラプラス逆変換を数値的に求め、さらに、それをグラフで表現するためのプログラムを作成するという作業を経て
ようやく一つの応答波形を可視化することができるという具合であった。さらに制御工学 I の授業で習ったような、い
わゆる「古典制御理論」が盛んに研究された頃は、解析式の導出し、それを電気信号としてシミュレーションするた
めにアナログ・アンプを組み合わせて積分器や近似的な微分器の回路をつくり、その出力波形を観測しながら研究
が進められていたと聞く。(これをアナログコンピュータと呼んでいた。)
今日では、幸いにして、高速の計算機と、プログラムやモデル作成の容易なグラフィック・インターフェース機能も
含むソフトウェアが比較的簡単に手に入るようになっている。その代表的なものがこの演習で用いる MATLAB で、
もともとは行列の演算を扱う数値ライブラリ(サブルーチン集)を使いよくするために、変数をわたす部分のインター
フェースを良くするツールとして生まれた。その後、それをベースにグラフィクスの機能などが強化され、商用の技術
計算用言語として頒布されるようになった。さらに、フィルタ設計や最適化問題あるいは制御のシミュレーションなど
に便利な、Toolbox と呼ばれるアプリケーションごとのルーチン集が別売りされるようになって、CADツールとして研
究機関や産業界で広く用いられるようになった。MATLAB本体はあくまでもキャラクタ ベースでコマンドをスクリプト
として記述しプログラムを行う形態のツールであるが、制御の分野で MATLAB が広く用いられる様になったのは、
ブロック線図をカットアンドペーストでグラフィカルに作成することで非常に簡単に過渡応答の計算ができてしまう
Simulink というツールが MATLAB 上で動くようになってからであろう。
本演習でも MATLAB の基本機能と、Simulink を必要に応じて使い分けながら作業を進めて行くが、その便利な
機能を堪能すると同時に、安直にその便利さに溺れることなく、問題のもつ物理的本質やディジタルシミュレーショ
ンに伴う問題点に注意しながら、頭を使って計算の仮定や結果を考察するようにしよう。
与えられた問題の他に、自分自身で発展例題を作成しあるいは参考書を参照して興味のある問題を探してそれ
を解いてみることは大いに推奨される。ただし、この演習で用いている MATLAB/Simulink は Student Edition であ
るため複雑な問題を考えると、変数の数やブロックの上限が問題となる可能性があることに注意してほしい。(詳し
いことはソフトウェアのマニュアルを参照。)
MATLAB/Simulink の使い方に関しては、演習の現場でも指導を行うが、現場で閲覧できる Student Edition のマニュアル(英語版)のほか、生協にもいくつかの成書が売られているし、web 上のボランティア的な解説も多くなって
いると思うので、それらを各自で選択して参照するとよい。たとえばこの演習の内容に近いものとしては
西村, 野波:「MATLAB による制御理論の基礎」東京電気大学出版局 1998 年
などが出版されている。また MATLAB の概要を知りいくつかのデモをみたければ、このソフトを日本で販売してい
るサイバネット社のホームページを覗いてみると良いであろう。
MATLAB の大学で用意したバージョンではオンラインヘルプもマニュアルもすべて英語で書かれているが、少し
慣れれば難しいことはない。このようなマニュアルは、翻訳されたものよりも原文を読んだほうがずっとわかりやすい
ことを実際の作業の中でしばしば経験する。また、プログラム中のコメントやグラフの軸などもすべて英語で書かね
ばならない。技術的な英語を用いることにアレルギーを起こさず、良い訓練の機会と思って積極的に活用し、必要な
technical terms を覚えてしまうと良い。
2007年12月03日版 2/44
2. 日程と学習内容
本演習は、週 1 回のペースで 6週で完結する。その概要を以下の表に示す。主として制御工学 I の内容に準
拠している。制御工学 I の教科書の該当箇所を読んで、準備をすることが可能である。具体的な演習問題説明
などは、演習現場で与える配布プリントの中で与えている。制御工学 II の内容として演習の課題となりうるもの
としては
2.1. ディジタル制御:Z 変換
微分と疑似微分:Bode線図と波形の応答/Tustin 変換と厳密な Z 変換の応答の比較
MatLab を用いたディジタルフィルタの設計
2.2. 状態方程式と伝達関数:相互の書き換え
極配置に基づく状態フィードバック
時不変線形システムの最適レギュレータ問題と結果として与えられる極配置の関係
2.3. 状態観測器の設計
2.4. 定常カルマンフィルタ
などが挙げられる。これらを本演習の基礎編で本格的に扱うことは時間の制約上残念ながらできないが、本年度は、
制御工学第一の範囲で状態空間法入門を扱っているので、その演習も原理的に可能である。4 回までの演習で
MATLAB を用いた作業に習熟したら、その後の選択課題の中で、これら冬学期の講義内容にも関係する課題に
積極的に挑戦し、授業で習った内容の理解に役立て欲しい。
• 第 1 回: MATLAB/Simulink 入門、微分方程式とラプラス変換
• 第 2 回: システムの応答, システムの周波数特性とボーデ線図, 安定性の解析: ラウスの判定法, フル
ビッツの判定法, ナイキストの判定法
• 第 3 回: 二次系の性質と極の位置, フィードバック制御の特性, フィードバック制御の設計
• 第 4 回: PI(D)制御と I-P(D)制御と分子多項式の影響/二自由度制御, フィードバックとフィードフォワー
ド, 状態空間法入門
• 選択課題: 第 5, 6 回 発展課題:磁気浮上, 電気自動車の制御, カオス現象の解析と制御など
3 . 参考書
なお、演習に役立つであろう制御理論に関する参考書としては、講義で指定している堀の教科書「制御工学の基
礎」の他、
[1] 茅陽一:「制御工学第一」
[2] 細江繁幸:「システムと制御」オーム社
[3] 伊藤正美:「制御理論演習」 昭晃堂
[4] 平井一正, 羽根田博正, 北村新三:「システム制御工学」森北出版
などがあるので適宜自分の気に入ったものを参照して欲しい。(上記は比較的古い参考書なので、より新しいもの
で自分に合うものを探してみよ。)
4. 有用なフリーソフトに関して このガイダンスの文書は、Sun Microsystems が本学の情報基盤センターを通じて学内関係者にフリーで使用権を
認めてくれている StarSuite というソフトを用いて作成している。本演習ではレポート用のワープロ、作図、数式エディ
タを用いてレポートをまとめたいという履修者の希望に対応するため、フリーソフトである OpenOffice.org を 2002 年
度から導入した。その後、2003 年度から、本来商用ソフトである StarSuite が東大関係者には自由に使えるようになっ
たうえ、情報理工系のノート PC を各自が貸与されている現状では、そこに必要なソフトを自分でインストールして、
StarSuite あるいは LaTex を使用してレポーティングを行うことが推奨される。=> 2007 年 8 月以降、Google と SUN
2007年12月03日版 3/44
Micro Systems の契約により、StarSuite8 は GooglePacs のオフィスソフトとして一般利用者が Google のページか
らダウンロードし、フリーで使用できるようになった。
情報理工学系から貸与されている PC で学内 LAN から情報基盤センターに接続し、ダウンロードして PC にインストー
ルするとよい。(もちろん、一般向けに公開されているフリーソフト OpenOffice も StarSuite とほぼ同等の機能を有し
ているので、そちらを使用することは「フリー」である。)
------------------------------------------------アップデート用のソフトもあるので SUN のページ http://jp.sun.com/starsuite/ も参照するとよい。
また、本演習で用いている MATLAB は、比較的高価な商用ソフトであり、貸与ノート PCへのインストールを意図
し自宅学習用に配布することはできない。(ただし、演習で用いているソフトは、機能限定のついた 1990 年代前半
の学生バージョンである。)GUI はあまり充実していないが、基本機能としては十分な内容が備わっている。一方、
(この MATLAB に対して俗称MATLABクローンと呼ばれる)数値計算用の優秀なフリーのソフトウェアが存在する。
自習用にはフリーソフト SciLab を http://www-rocq.inria.fr/scilab/からダウンロードして、自分の PC にインストールし
使用してみることも奨める。これらフリーソフトに関しては
早稲田大学の大石先生による数値計算の基礎教育のページ
http://www.oishi.info.waseda.ac.jp/~oishi/sir/index.html
メディアラボのホームページにあるフリーの科学技術計算用のプログラムの紹介
http://www.mlb.co.jp/linux/science/
特に、シミュリンク相当のツールもあるプログラム SciLab SciCOS の紹介
http://www.geocities.jp/rui_hirokawa/scilab/
などのページが参考になろう。このほかにもインターネットのキーワード検索で「Matlabクローン」などの用語で検索
すると、様々な関連プログラムの情報が得られる。なお、これらのフリーソフトウェアに関する情報は、古関の個人
HP (http://www.geocities.jp/takafumikoseki/)にも掲載している。
2007年12月03日版 4/44
2007. 10. 15 & 11. 26制御系 CAD 演習第 1 回目
SciLab/MATLAB & SciCos/Simulink 入門:微分方程式とラプラス変換
堀洋一・古関隆章 (TA 鈴木)
初回は、この演習で主要なツールとして用いる MATLAB と Control Toolbox を使ってみて、ブロック線図を描くこと
により、過渡現象のシミュレーションを容易に行うことのできる MATLAB 上のツール Simulink の基本操作について
学ぶ。本演習の課題は 1999 年度の電気/電子/情報工学専攻修士 1 年 小西良明氏、本多正明氏および 北島博晃
氏の協力により作成された。本テキスト本文は概ねMATLAB を用いることを前提とした記述になっているが、CADツールとしてフリーソフト SciLab を使いたい場合には、電子マニュアルを参照して例題で要求している操作を、試し
てみると良い。
演習課題としては:
[1] 西村秀和、野波健蔵「MATLAB による制御理論の基礎」、東京電機大学出版局、1998 年
[2] 茅陽一、「制御工学第一」
[3] 細江繁幸、「システムと制御」、オーム社、1997 年
などの制御工学の参考書の問題から制御工学のポイントがわかり、MATLAB で扱うような問題を取り上げた。まず
制御工学の基礎並びに MATLAB になれるために最初にラプラス変換を説明する。ここでは主に制御工学で重要
なポイントとなる極・零点を MATLAB ではどのように扱うかに慣れることに主体を置く。
[演習 1] Scilab あるいは MATLAB および SciCOS あるいは Simulink の使用法について、TA の持つ MATLAB
Student Edition のマニュアル、各 PC 用に配布するオンラインマニュアル、コマンドラインから打ち込む help などに
より学べ。次に、付録 1 のプリントに従い、SciCOS あるいは Simulink を用いた基本操作に慣れよ。なお、ラプラス
変換に関してはすでに 2 年の 4 学期で習熟しているはずだが、忘れているものは以下の記述を参照せよ。
0. 伝達関数とブロック図本節は、復習および準備なので計算機を用いない。すでに数学演習などで十分に理解しているものは読み飛ばし
ても良い。
0.1. ラプラス変換
時間関数 f(t)に対し
F s =L[ f t ]=∫0∞f t e−st dt
で定義される関数 F(s)を f(t)のラプラス変換という。一部の特別なものを除き制御工学で扱う関数はほとんどラプラ
ス変換可能である。また、ラプラス変換 F(s)からもとの時間関数 f(t)への変換は次のような複素積分で与えられる。
f t=L−1[F s ]= 12 j
∫C−∞
C∞F s est ds
ラプラス変換表を用いて、F(s)からもとの f(t)を求めることができる。特に F(s)が有理関数で表されるときは部分分数
分解で簡単なラプラス関数の和として表すことにより容易に f(t)を求めることができる。
2007年12月03日版 5/44
(a)重根の無い場合
たとえば L−1[ 1s−a]= ..........(制御の本などを参照し埋めよ!)
(b)重根を持つ場合
たとえば L−1[ 1s−a2]= .........(制御の本などを参照し埋めよ!)
ここで部分分数分解される有理関数を二つのタイプに分類し重根のない場合と重根を持つ場合で解が変わることを
述べる。
SciLab, MATLAB はコマンド形式で解を求めていくの制御系の CAD である。MATLAB では多項式
an snan−1 s
n−1...a0 を[ anan−1 ...a0 ]と表す。例えば左記の多項式
an snan−1 s
n−1...a1 sa0=0 の根を求めるには次のように打てばよい。
>> roots ([ anan−1 ...a1a0 ])
SciLab, MATLAB を用いるとを複雑な分数を簡単に展開することができる。
N s D s
=an s
nan−1 sn−1...a1 sa0
bm smbm−1 s
m−1...b1 sb0を
N s Ds
=r 1
s−p1
r 2s−p2
...r n
s−pncm s
mcm−1 sm−1...c1 sc0 という形に部分分数分解するに
は次のように入力すればよい。
>> num=[ anan−1 ...a1a0 ]; den=[ bmbm−1 ...b1b0 ];
[r, p, k]= residue(num, den)
これにより、r= [ r1 , r2 , ... , rn ], p=[ p1 , p2 ,... , pn ], k=[ cm , cm−1 ,... , c0 ]. となる。これを利用するとラ
プラス逆変換の計算が容易に行える。
[演習 2] 以下の関数を CADツールを用いて、部分分数分解し、ラプラス逆変換せよ。
(1) 8s45 s3−3 s5
6 s5s42 s3−3 s5
(2) 6 s5s42 s3−3 s58 s44 s3−3 s5
制御系が線形不変系の場合には入力信号 x t と出力信号 y t の関係は一般に次のような常微分方程
式で表される。
dn ydtn
a1dn−1 y
dt n−1...an y=b0
dm xdtm
b1dm−1 xdtm−1
...bm x
2007年12月03日版 6/44
この式の初期条件を全て 0 として、ラプラス変換して出力 Y s と入力 X t の比をとれば、次のような形に
なる。
G s= Y sX s
=b0 s
mb1 sm−1...bm
sna1 sn−1...an
このような G s を伝達関数という。制御系を構成する各要素は伝達要素と呼ばれる。伝達要素は伝達関数で
表される。例えば電気回路においては抵抗 R は RI s =V s 、コンデンサ C は V s= I s /Cs 、
更にインダクタンス L は V s=sLI s となる。
(a) 抵 抗 (b) キャパシタ (c) コイル
[演習 3] 以下の電気回路を伝達関数の形に直し、それぞれに指定する伝達計算を求めよ。また回路の定数を適
宜与え、計算機ツールを援用して、入力に単位ステップを与えたときなどの V t を計算せよ。(例題の具体的
な設定は任意に行って良い。)
(a) V i nV ou t (b) V i nV ou t
制御系は一般に複数の伝達要素から構成される。これをわかりやすく表現するためにブロック線図が用いられる。
ブロック線図は次のような構成要素からなる。
1. 伝達関数
2. 加合わせ点
3. 引出し点
また、制御系のブロック線図は伝達関数の組み合わせで表されるが、伝達関数の結合方式としては次のような 3つの方式がある。さらにこれらの結合方式には結合法則があり、伝達関数を簡単にすることができる。
1. 直列結合
2. 並列結合
3. フィードバック結合
MATLAB ではそれぞれの結合を次のようなコマンドで表せる。
>>num1=[1 1];den1=[2 1];num2=[1 2];den2=[3 1]; 例としての多項式をあたえている!
>>[num,den]=series(num1,den1,num2,den2) 直列結合の例
>>[num,den]=parallel(num1,den1,num2,den2) 並列結合の例
>>[num,den]=feedback(num1,den1,num2,den2) フィードバック結合の例
2007年12月03日版 7/44
R1
R2
C2
C1V i nt
R1 R2
L CV i nt
V
C
V
R
V
L
この部分の記述は MATLAB ver.4 に基づいている。新しい version では伝達関数を表現するマンド tf を用いて、より
効率的に少ないコマンド数での記述が可能である。詳細はオンラインヘルプを参照せよ。
1. システムの応答
典型的な伝達関数の応答と Simulink の使い方を覚える。伝達関数では特に 2 次系を取り上げてどのように応答
の様子が変わるのかを見る。
制御系でよく用いられる伝達関数として次のようなものが挙げられる。
比例要素 G s=K微分要素 G s=T D s
積分要素 G s= 1T I s
1 次遅れ要素 G s= 11Ts
2 次遅れ要素 G s=K n
2
s22n sn2
MATLAB に付属する Simulink を用いると簡単にシステムの応答を見ることができる。Simulink はビジュアル的に
制御系を設計することができるツールである。まず
>>simulink
と打ち込んむ。すると"untitled"とかかれたウィンドウと"Library"ウィンドウが開かれる。ここで"Library"の中の"source"をダブルクリックすると"source"ボックスが現れる。その中から"Step"を選択し"untitled"ウィンドウにドロッ
プする。さらに"Library"の中から"Sinks"・"Linear"をダブルクリックし、"Scope"・"Transfer Fcn"コンポーネント
を"untitled"ウィンドウにドロップする。いま伝達関数"Transfer Fcn"は初期設定のまま 1/1s としておく。それ
ぞれのコンポーネントから出ている矢印はドラッグしてその他のコンポーネントへの入力にすることができる。
"Step"→"Transfer Fcn"→"Scope"とつないでみよう。そして右クリックでメニューから"start"ボタンを押すとシミュレー
ションを開始する。そして"Scope"コンポーネントをダブルクリックすると、伝達関数 1/1s のステップ応答の時
間波形が出てくる。
[演習 4] 次に挙げる代表的な伝達関数の関数を MATLAB を用い、ステップ応答を表示させよ。
(1) 位相遅れ要素 s23s1
(2) 2 次遅れ要素 3
s22s2
(3) 3 次遅れ要素 2
s3s26 s4 このように Simulink を用いると難しい伝達関数の応答も簡単に表示することができる。
[演習 5] 1
s22s2 という伝達関数がある。MATLAB を用いてこの 2 次系の極を 1)実数部を増加させた場
合、2)虚数部を増加させた場合 3)実数部、虚数部共に増加させた場合についてのステップ応答を表示させ、考察
せよ。
2007年12月03日版 8/44
[演習 6] 以下の 2 次系の応答で ,n を変化させた場合、ステップ応答がどのように変わるか、Simulink を
用いて調べ考察せよ。(<== この感覚を良くつかんでおくことが非常に重要!! )
G s=K n
2
s22n sn2
[演習 7] 次の 4 つの伝達関数のステップ応答を比べて、3 次系の 2 次系への近似について考察せよ。
(1) G1S =24
s24 s24
(2) G2 s=245
s10 s24 s24
(3) G3 s =49
s2S 24 s24
(4) G4 s =12
s0.5s24 s24
[演習 8] 次の伝達関数のステップ応答を書いて零点の性質を考察せよ。
(1) G1S =1
s5s3
(2) G2 s=S2
2 s5s3
(3) G3 s =s4
4 s5s3
(4) G4 s =s50
50s5 s3分母の定数部分が何を意味しているか?ラプラス変換の最終値の定理に留意して考えてみよ。
2. システムの周波数特性
伝達関数 G s の s に j を代入した G j を周波数伝達関数という。
は G j の実部、 は虚部であり、 これを用いて G j は次のように与えられる。
G j= j 上記のように、実部・虚部に分解することは、複素数を学び始めた者にはわかりやすい方法だが、制御における
周波数特性の解析などでは、この表現は殆ど役に立たない。むしろ、電気回路の準定常解析などでもおなじみの絶
対値および偏角の形に分解することが、指数、および三角関数との対応の中でより有用であろう。
伝達関数 G s の意味はシステムに角周波数 の正弦波 x t =cos t を入力した時、充分に時間
がたった定常状態の出力が同じ角周波数 の正弦波 y t となり、
y t =∣G j∣cos [ targ G j]
入力と出力の振幅比と位相差は周波数伝達関数 G j のゲイン ∣G j∣ と位相 arg G j に
2007年12月03日版 9/44
表 1 低次のシステムの伝達関数と典型的な周波数特性
伝達関数 G s 周波数伝達関数
G jゲイン ∣G j∣ 位相 arg G j
比例要素 K K K 0
積分要素 1s
1j
1 −
2
一次遅れ要素1
1T s1
1 jT1
1T 2 −arctan T 二次系
n2
s22n sn2
11−2 j 2
1
1−222−arctan
21−2
2.1 ナイキスト線図
周波数伝達関数 G j のグラフ表現のひとつにナイキスト線図がある。 を負の無限大から正の無限
大に変化させた時の G j を複素平面上にプロットしたものをナイキスト線図という。 MATLAB で伝達関数
のナイキスト線図を表示させるにはコマンド"nyquist"を用いる。
例えば伝達関数 s1/2s1 のナイキスト線図を表示させるには
>>nyquist([1 1],[2 1]) と打ち込めば良い。
[演習 9]
(1) 1 次系、2 次系のナイキスト線図を MATLAB を用いていろいろとパラメータを変えて描画し、考察せよ。
(2) 次に挙げる伝達関数のナイキスト線図を予想し、実際に K=1, T 1=2, T 2=3 として CADツールを
用いて書いたものと比較せよ。
G s= Ks21T 1 s 1T 2 s
2.2 ボーデ線図
ボーデ線図は周波数伝達関数に対するの正の各周波数 に対するゲインと位相を、角周波数対ゲインならび
に角周波数対位相の二つのグラフで表したものである。MATLAB でボーデ線図を書かせるためにはコマン
ド"bode"を用いる。これも前のナイキスト線図のときと同様に
>>bode([1 1],[2 1])
とすることで簡単にボーデ線図を書くことができる。
[演習 10]
次の伝達関数のボーデ線図の概形を予想し、更に実際に CADツールを用いて書いてみよ。
(1)210.2s
10.3s10.5s
(2)51s
s 10.1s
2007年12月03日版 11/44
2006. 10. 22 & 12. 03制御系 CAD 演習第 2 回目
制御系 CAD 入門:システムの応答と安定性
堀洋一・古関隆章 (TA 鈴木)
本演習の課題は 1999 年度電気/電子/情報工学専攻修士 1 年 小西良明氏、小林亮治氏の協力により作成され、
2006 年に古関が改訂/再編集した。
1. 安定性解析 ある閉ループ伝達関数 W s が次のように表されるとする。
W s =b0 s
mb1 sm−1...bm−1 sbm
sna1 sn−1...an−1 san
W s が重根を持たない時のみ考えると、そのステップ応答は
At =As∑i=1
n
Ai esi t
と表される(重根がある時は Ai ti esi t の項が現れる)。共役複素根の場合 sa , sb=i± j i の時には二つ
合わせて応答が Ai esi tAi1 e
si1 t=K iei t sini t となる。
このことから伝達関数の安定性は次のように言える。
(1) 安定: 特性根の実数部が、全て負の数であることである。
(2) 不安定: 特性根の実数部が正である根がひとつでもある。
(3) 安定限界: 定数部が 0 の特性根があり、他の根の実数部が全て負である。
ある伝達関数を持つ系が安定であるかどうかは、たとえば古典的手法としてのラウス・フルビッツの安定判別法を
用いると判定できる。しかし制御系 CADツールを用いると特性方程式の根を簡単に求めることができるので上記の
安定の条件をより直接確認できる。
[演習 1] 次の特性方程式を持つシステムが安定かどうかを Scilab/MATLAB を用いて調べよ。(このうち一つくら
いは、古典的手法も同時に試してみると良い!)
(1) 5 s36 s26 s2=0(2) 3.78 s48.56 s35.78s24.78 s2.65=0(3) 0.29 s52.59 s46.86 s39.45 s210.28 s4.64=0
2. ナイキストの安定判別法 ナイキストの安定判別法は安定度を定量的に計れるものである。その安定判別法は次の通りである。
(1) 開ループ伝達関数 G s で s= j とおき、 を −∞ から ∞ まで変化させ、S平面の右
半平面を囲むようにしたときの写像を G平面に書く。
(2) この軌跡が(-1+j0)点の周りに反時計周りに R 回回転したとする。
(3) G s の極のうち、実数部が正なるものの数を P とする。
2007年12月03日版 14/44
(4) この時 R=P の時のみ閉ループ系は安定である。
ナイキスト線図
また、 argG0 j= [rad] となる cpを位相交叉周波数、 ∣G 0 j∣=1 となる cg
をゲイン交叉
周波数という。MATLAB では margin というコマンドを使って求められる。
>>[Gm, Pm, Wcg, Wcp]=margin(num, den)
ゲイン余裕、位相余裕は安定な系が安定限界になるまでゲイン、位相としてどの程度余裕があるかを示す尺度でこ
れが大きければ、制御系のパラメータが多少変動しても制御系の安定性は保証され、安定性がいいと言える。
3. ボーデ線図を用いた安定判別法
制御器を直列に入れたフィードバック制御
上図のようなフィードバック制御系では伝達関数は
W s =G s H s1G s H s
となる。ここで 1G s H s を特性方程式といい、この根を特性根という。また G sH s を開ループ伝
達関数(一巡伝達関数)という。開ループ伝達関数 G s が右半平面に極を持たない時は、ボーデ線図でも容
2007年12月03日版 15/44
− j
j
1−1Re
Im
G平面
−
G s H s
制御対象制御器
易に安定・不安定を判別できる。すなわち次図に示すように
フィードバック制御系が安定な場合 フィードバック制御系が不安定な場合
フィードバック制御系は、 0 , gmb0 ならば安定、 0 , gmb0 なら不安定である。
開ループ伝達特性のボーデ線図における、位相余裕・ゲイン余裕
[演習 2] 次のような開ループ伝達関数 G(s)を持つ単純フィードバックの系が安定かどうか判別せよ。
(1) G S = s12
s3
(2) G s= 1−ss 1s2
(3) G s=5 2s10.5s12s 1s
(4) G s= 1−2s10.5s 1s1−s
<注意> 「開ループ伝達関数 G s が右半平面に極を持たない」という条件が満たされないときには、G(s) の
ボーデ線図だけでは、閉ループ系の安定性の判別はできない。上の(1)-(4)の G s に対し、単純フィードバック
系の伝達関数(すなわち、上の図で H s =1 なる場合)を計算し、閉ループ伝達関数の局の位置から閉ループ
系の安定性を判別せよ。その後 G(s)のボーデ線図からいわゆる「ゲイン余裕」「位相余裕」を読み取り、(3)以外では、
上記のように議論が単純でないことを確かめよ。
4. フィードバック制御系の特性
4.1 定常特性
系が安定である場合、過渡応答を過ぎると、応答は定常状態になり,一定の値に収束する。この時、目標値と制御
量は一致せずに制御偏差が残ることがある。これを、定常偏差という。
この定常偏差はその系の一巡伝達関数の s=0 の極に大きく支配される。一巡伝達関数が
G s=K 1b1 s ..bn s
nsla0a1 sa2 s
2...am sm
となるとき、分母にある、s の次数の数 l により、その系を区別し、l=0,1,2 をそれぞれ 0型、1型、2型の制御系という。
また入力がステップ入力の時は定常位置偏差、ランプ入力の時は定常速度偏差、加速度のときは定常加速度偏差
という。以下に制御系の型と入力による定常偏差と偏差定数の関係を示す。
2007年12月03日版 16/44
位相
ゲイン
-180°
0 dB
位相
ゲイン
-180°
0 dB
gmbgmb
gmb
定常偏差に関するまとめ
系の型 K P K v K a定常位置偏差 定常速度偏差 定常加速度偏
差
0 K 0 01
1K ∞ ∞
1 ∞ K 0 01K
∞
2 ∞ ∞ K 0 02K
4.2 過渡特性 周波数領域での速応性の尺度としては、開ループでの交差周波数と閉ループでの帯域幅およびピーク周波数が
あり、これらの周波数が大きければ速応性がよい。
(1) 交差周波数: 交差周波数は開ループゲインが 0dB になる周波数。
(2) 帯域幅 : 閉ループ周波数特性のゲインが低周波ゲインの22倍になる周波数。dB 表示では、低周波
ゲインより 3dB低下する角周波数.(3) ピーク周波数:閉ループゲイン特性が共振ピークを持つ場合、共振ピークを与える周波数。
(4) 位相余裕・ゲイン余裕: ゲイン余裕と位相余裕は経験則から次のように選べばよいとされている。
サーボ系: 位相余裕 : 40 から 60° (モータを用いた運動制御など)
ゲイン余裕: 10~20[dB]プロセス系: 位相余裕 20°以上 (熱・化学プラントなどの制御)
ゲイン余裕 3~10[dB]
また、オーバーシュートと位相余裕の関係は次のようになる。
二次系の減衰定数 と、位相余裕・オーバシュートの関係
オーバシュート指定(%) 減衰定数 位相余裕
2 0.78以下 69°以下
4 0.72以下 66°以下
5 0.69以下 65°以下
6 0.67以下 65°以下
8 0.63以下 61°以下
10 0.59以下 59°以下
20 0.46以 4下 48°以下
上記の減衰定数は、二次系の特性方程式から導かれる重要なパラメータである。 が 0 に近くなるほど、系の
応答は振動的になる。 s22n sn2=0 という特性方程式の根は s=n −± j 1−2 原点
と根を結ぶ線分が実軸の負の部分となす角を として、 tan=1−2
2007年12月03日版 17/44
5. 制御系の設計
フィードバック制御系の応答特性を評価する指標を与えたが、実際に系をよく制御するためにはコントローラ(補償
器)を挿入してやる必要がある。その際、フィードバック制御系の 1.安定性 2.速応性 3.減衰性 4.定常特性が十分に
最初に決めた仕様を満たすようにしなければならない。
フィードバック制御系は大きくサーボ系とプロセス系に分けられる。各々次のような特徴を持つ
1. サーボ系 :すばやく目標値に制御量を追従する(産業機械 etc)。
2. プロセス系 :外乱を抑制し、制御量を一定に保つ(石油精製、薬品 etc)。
5.1.周波数応答法
レポート課題:以下の演習 3-9 をレポートにまとめ、
演習第4日目の授業開始時に TA 鈴木まで提出せよ!
[演習 3] ゲイン調整
開ループ伝達関数が
G s= Ks 10.5 s 10.2s
で与えられる閉ループ系を考える。この制御系の位相余裕を 30°にするゲイン
定数 K を求めよ。
[演習 4] 位相遅れ補償
(1) G s=1sT1sT
, 1 のボーデ線図を描け。
2007年12月03日版 18/44
- 1 - 0 . 8 - 0 . 6 - 0 . 4 - 0 . 2 0
- 1
- 0 . 5
0
0 . 5
1
R e a l A x i s
Imag
Axi
s
P o l e - z e r o m a p
n
二次系の極配置と自然周波数・偏角との関係
(2) G s= 10s 10.5s 10.2s
で与えられる閉ループ系を考える。この制御系を位相遅れ補償するこ
とにより、以下の設計仕様を満足する制御系を設計せよ。
位相余裕 40° 定常速度偏差 0.1以下 (定常速度偏差については、堀教科書:「制御工学の基礎」 P88 を参照せよ。)
[演習 5] 位相進み補償
(1) G s=1sT1sT
, 1 のボーデ線図を描け。
(2) 開ループ伝達関数が G s= Ks 10.5 s10.2 s
で与えられる閉ループ系を考える。この制御系
を位相進み補償することにより、以下の設計仕様を満足させよ。
位相余裕 40°以上、ゲイン交差周波数 cg=4.4 rad/sec.
[演習 6] 位相進み遅れ補償
GP s=2
s 10.5 s 10.1 sなるプラント GP に GC s =
1015 s1s150 s10.2 s
なる制御器で直列
補償を行った際の、ボーデ線図を描き、この制御の減衰性、速応性、定常偏差に対する影響について考察せよ。
[演習 7] 根軌跡(1)
開ループ伝達関数が G s= Ks s1
で与えられる閉ループ系の根軌跡を求めよ。また、得られた根軌跡を用
いてこの制御系の安定性・減衰性・速応性について考察せよ。
[演習 8] 根軌跡(2)
開ループ伝達関数が G s= Ks s1s2
で与えられる閉ループ系に PD補償 GC s =s1.51 s
を行っ
た場合の根軌跡を求め、考察せよ。(ただし、ここで分母は、制御器を因果律 Causality に反しないように構成するた
めに入れた LPF:低域濾波器である。この τ として 0.67秒に比べて十分小さな時定数を選ぶことができれば、この
「位相進み器」の伝達特性は、実用的に PD補償器として機能する。先の前提のもとに、この演習の根軌跡の検討
においては、補償器の分母多項式の影響はとりあえず無視して良い。)
[演習 9] Nicholsチャートを用いた進み補償器の設計
制御対象の伝達関数が P s = 4 s1 s2
である時、位相余裕 45°以上、定常位置偏差 p が 0.05以
内の仕様を満たす位相進み器を設計せよ。
<ヒント>
与えられたプラントは 0型であるから、定常位置偏差が存在する。定常位置偏差を 0.05以下にするためにはゲイ
ンを 10 にすればよい。このゲインを持つ開ループ伝達関数のボーデ線図を描いてみよ。
位相余裕が約 27°であり、設定が 45°以上であるから位相進み補償で 18°不足する位相余裕を補償する。この後
2007年12月03日版 19/44
は,堀教科書の p118 を参照しながら進み補償器の設計を行え。
最後に、位相進み補償前後のステップ応答を図示せよ。参考のために古関が作業した際の m-file のリストを以下
に示す。
% LEAD3.M: Script of leading phase compensator in EX5 19. 10. 1999
num1=[4]; den1=[1 3 2];% Plant transfer function
K=10; % Amplifier gain
%Calculation of the original phase margin
figure(1); margin(K*num1,den1)
[Gm,Pm,Wcg,Wcp]=margin(K*num1,den1)
a=1/tan((45-23)*pi/180) ;Tm= 1/a/Wcp; % determined by Hori text P118
% Leading compensator
num2=[a*Tm 1]; den2=[Tm 1]; %Transfer function of the compensator
figure(2); bode(num2, den2)
Kd=1;% Compensation gain
[num3 den3]=series(K*Kd*num1,den1, num2, den2); %series connection
% 伝達関数の定義法などは MATLABの新 versionでは簡潔な記述法があるがこのままで一応動く!
figure(3); margin(num3, den3); % Margin of compensated plant
[num4 den4]=cloop(num3, den3) %closed loop function
[num1c den1c]=cloop(K*num1, den1)
figure(4); step(num1c, den1c); grid on
figure(5); step(num4, den4); grid on
[mag1, pha1, w1]=nichols(K*num1, den1);
[mag2, pha2, w2]=nichols(num2, den2);
[mag3, pha3, w3]=nichols(num3, den3);
figure(6);
plot(pha1, 20*log(mag1),'r*', pha2+360, 20*log(mag2),'g*', pha3, 20*log(mag3),'b*')
grid on
これにより、下のようなニコルズ線図やスッテプ応答などの計算結果が得られるはずである。(図の貼り付けの際
にソフトの相性の問題で、フォーマットが一部崩れてしまっている点はご容赦いただきたい。)このように、計算機を
使って自動的にチャートを描いてしまうと、このチャートの実用的意味がわからないと思うが、図の上で、赤で描か
れたプラントの伝達特性に、緑の制御器の特性を単純に「足し合わせる」ことで、青い補償後の開ループ特性が得
られるので、ここから位相余裕や、ゲイン余裕が複雑な計算なしに視覚的に判断できる点に注目してほしい。対数
で表示したゲイン特性も、位相特性も、直列補償に関しては、(伝達関数のかけ算となるために)ボーデ線図やニコ
ルズ線図上では、<足し算=制御器とプラントの周波数特性の重ね合わせ>として表現できる点に、その特長が
ある。このように、古典制御理論は、便利な計算機が無かった時代に「紙と鉛筆だけで」高度な設計を行うことを意
図した理論であることに注意せよ。
2007年12月03日版 20/44
ニコルズ線図を用いた設計の例(例題 9)
電気機器学における円線図同様、この様な古典的手法は、決して時代遅れではなく、設計に当たって物理的/
数学的本質を直感的に理解しながら仕事を進める上で、計算機の発達した現在でも、重要な意味を持っている。
2007年12月03日版 21/44
2007 年 10 月 29 日/12 月 10 日
制御系 CAD 演習第 3 回目
制御系 CAD 入門:二次系の性質とフィードバック補償
堀洋一・古関隆章 (TA 鈴木)
第 3 回目は、二次系の性質とゼロ点や極の位置の関係、およびフィードバック制御の基礎を学ぶ。
1. 二次系の性質
[演習 1] 本演習の目的は、ダンピングのある二次系において、極の位置が応答特性にどのような影響を及ぼすのかを調
べるとともに、ステップ応答とボーデ線図の関係を学ぶことにある。ダンピングのある二次系の標準形は
G s=n2
s22n sn2=
d22
s22 sd2 2
と書ける。ただし、極は s=−± jd にあり、 =n , d=n1−2 , =cos ( は原
点と極を結ぶ線分と、実軸の負部がなす角度)である。
以下に、状態空間法を用いておもりの質量 m , ばね定数 k , ダンパの係数 C としたときの、ばね系のシ
ミュレーションを行う例を示す。その式の展開は、ソースを見ながら考えてみよ。ただし、状態変数としておもりの変
位と速度、すなわち、 [ x , v ]T を取っており、自然周波数 n= km , ダンピング係数 = C2km となる事
に注意せよ。また、以下の例ではおもりの質量は 1kg であり、入力としてはおもりに作用する力 F t 、出力とし
てはおもりの変位 x t を取っている。
以下に、制御工学第二で学習しつつある状態空間法に基づく計算の練習をすることも兼ねて、二次系のシミュレー
ションを MATLAB を用いて行う方法の例を示す。Scilab/MATLAB などの制御系 CADツールにおいては、一般的
に、これまで慣れ親しんできたラプラス変換に基づく伝達関数表示ではなくこの状態空間法の方が本質的に自然な
表現であることに注意してほしい。
[注意] 下記の例は、
(1) 物理と直結した最初の例題として一番わかりやすいばねの問題を自分でトレースするための参考例を掲げる目的と、
(2) 次回以降に本格的に出てくる状態空間法の表現に慣れ、伝達関数表現との往来を容易にするための参考例として
ソースを示した。
(2ページ目以降の二次系の標準形の検討で、「ブラックボックスとしてそのまま使うこと」は当然意図していないので注意!)
一般論としての二次系の議論のためには、最初の書いた「標準形」にみられるよう最終値が 1 になるように、分母・分子の定
数項の値が同じになるように入・出力間のゲインを規格化することが必要である。しかし、上述のような個々の例題の中で具体
例を書き下してみると、標準形とは微妙な違い出てくることにも注意して欲しい。
2ページ目以降の検討のために、上記の例同様に標準形を表現しようとすると、上記のソースのどの部分を書き換えれば良
いのか具体的に考えてみるとよい。
2007年12月03日版 22/44
状態空間法を用いて二次系のシミュレーションを行う例
----
% ocsn.m: Exercise on second order oscillation
% Simulation of a fundamental second order oscillatory dynamic system
%Definition of constants
m=1.0; % Mass in kg
wn=input('Natural angular frequency in rad/s? ')
zeta=input('Damping factor 0<zeta<1? ')
A=[0, 1; -wn^2, -2*zeta*wn]; % System matrix
B=[0; 1/m];% Input matrix <--入力としてはばねに下がるおもりに働く力 F t を考える。
C=[1, 0]; %Output matrix 出力としてはばねの変位 x t を考えている。
D=[0];% Output matrix-2
sys1=ss(A,B,C,D) % definition of the dynamics
sys2=tf(sys1)% representation of the model in transfer function form
figure(1); pzmap(sys1); sgrid
figure(2); bode(sys1); grid
figure(3); step(sys1); grid
理論的な予備検討
二次系の式を用いて、 , d , n , の変化がステップ応答の性質、すなわちオーバシュート、立ち上がり
時間 T r , 最初の極大値が現れるまでの時間 T p , 整定時間 T s , およびボーデ線図のパラメータ、すなわ
ちバンド幅 BW および最大ゲイン M r に与える影響を定性的に考察せよ。各パラメータの定義については、
付録のプリントを参照せよ。3 つのパラメータを固定し、他の 1 つを可変として論ぜよ。教科書およびここまでの解説
を参照してまとめれば良い。(たとえば、 n を固定し を変化させる。このとき ,d は自動的に決
まってしまう。)
Scilab/MATLAB を用いた問題
[1] d=1 とし、 =0.5 および 1.5 のときのステップ応答およびボーデ線図を描け。
[2] =1 , d=0.5,1.5 として[1]と同様の計算をしてみよ。
[3] =1/2 , n=2/2,2 ,52 として[1]と同様の計算をしてみよ。
[4] n=2 = 30, 45, 60deg.として[1]と同様の計算をしてみよ。
[5] 以上のデータとプロットから、予備的検討で論じた 6 つの応答パラメータを計算し、それを一覧表にまとめて、各
入力パラメータとの関係を箇条書きにしてコメントせよ。
[6] M r と行きすぎ量の間にはどのような関係があるか?
[7] T r とバンド幅の間にはどのような関係があるか?
[8] n とバンド幅の間にはどのような関係があるか?特に、 n を用いてバンド幅を近似的に表すことがで
きるか?
2007年12月03日版 23/44
[演習 2] 本演習の目的は、右半平面にあるゼロ点の影響について調べることにある。右半平面にゼロ点を持つ
系は、非最小位相システムと呼ばれる。まず以下のシステムを考えてみよう。
G s= n ss20.5s1.5
Scilab/MATLAB を用いた問題
[1] まず、 n s =1.5 とし、二次系の式を用いてステップ応答の行き過ぎ量、最初の極大値までの時間、整定時
間を求めよ。実際にステップ応答を描いてこの結果を検証せよ。
[2] 次に n s =1.5 −s
とし、 =1,3,6 のときのステップ応答を描いて行き過ぎ量、最初の極大値ま
での時間、整定時間を求めよ。
[3] さらに n s =1.5 s
とし、 =1,3, 6 のときのステップ応答を描いて行き過ぎ量、最初の極大値ま
での時間、整定時間を求めよ。
ただし、[2], [3]の計算は、常に[1]の結果と同じグラフの中で重ねて表示し、比較できるように示せ。
[4] 上記のデータに基づき、ゼロ点が右半平面にある場合と、左半平面にある場合の応答の相違についてまとめよ。
2. フィードバック制御の基礎
[演習 3] 次に、第 2 回目の演習に引き続いて遅れ補償と進み補償の、不安定系に対する影響を見てみよう。次
の二重積分系 G s = 1s2
を、以下の補償器で直列補償することを考える。
(i) 比例補償器 K s=K c
(ii) 進み補償器 K s=K cs2s5
(iii) 遅れ補償器 K s=K cs5s2
理論的な予備検討[1] まずは、MATLAB に頼らず、極配置を計算し、ボーデ線図の概形をグラフ用紙上に手で書け。(片対数のグラ
フ用紙を生協などで購入して用意するか、あるいは MATLAB の plot コマンドをうまく活用して作成してプリント
アウトしても良い。)
Scilab/MATLAB を用いた問題
[2] (i)の場合、システムは安定化できるか? K c を大きくすると応答はどのように変化するか?
[3] (ii)の場合、システムは安定化できるか? K c を大きくすると応答はどのように変化するか?
[4] (iii)の場合、システムは安定化できるか? K c を大きくすると応答はどのように変化するか?
2007年12月03日版 24/44
[演習 4] 前問の進み補償は(実現の容易な)不完全な PD 制御、一方、遅れ補償は不完全な PI 制御に相当して
いる。そこで、ここでは、次の段階として PID 制御器を導入し、簡単な試行錯誤で制御器を設計することを経験しよ
う。なお、よりシステマティックなアプローチについては次週以降学ぶこととする。
G s = 1 s−12
制御の仕様は(1) 閉ループ特性が安定、(2)定常誤差が 0 の 2 つである。
理論的な予備検討[1] ラウス‐フルヴィッツの判定法と根軌跡に関する一般的知見を用いて、PID 制御器が(1)(2)の条件を満たしうるこ
とを示せ。まずは、閉ループ形の安定性より議論をはじめよ。
Scilab/MATLAB を用いた問題
[2] 試行錯誤によって、PID 制御器の定数を定めてみよ。ステップ応答を計算し、その結果をグラフに示せ。PID 制
御により、新たに 2 つのゼロ点を生じることに注意せよ。これらのゼロ点は複素数にも実数にもなるので、両者
の場合について計算をしてみると良い。
[3] さらに、閉ループ系のすべての極が s=-1 となる場合を考えよ。そのような条件を満たす PID 制御器の定数を定
めよ。この閉ループ系のゼロ点-極配置とステップ応答を示せ。
[演習 5]右半平面にゼロ点を持つシステムでは時としてボーデ線図に基づく補償器の設計が意図とは異なる結果となること
もある。この演習では、そのような場合を体験してみよう。
(i) K⋅G1 s=10K −1ss 110s K=−0.05
(ii) K⋅G2 s=K s−1s 2s1 K=−0.5,−1,1
(iii) K⋅G3 s =K 4s−1
10s−12s1 s1 K=−1.5,−1,1
(iv) K⋅G4s =7K
s−1s2 s4K=2
とする。
演習 5 における比例制御器と制御対象の関係
理論的な予備検討
[1] ラウス‐フルヴィッツの判定法と根軌跡に関する一般的知見を用いて、フィードバック系が安定となる K の範
囲を求めよ。この情報に基づき、問題中で指定されたゲインに対する、ゲイン余裕を求めよ。
2007年12月03日版 25/44
−
K Gn
制御対象制御器
Scilab/MATLAB を用いた問題
[2] ナイキスト軌跡を描いて、ナイキストの判別法に基づき[1]の結果を検証せよ。
[3] 上記の系に対して、ボーデ線図を描き margin コマンドを用いてボーデ線図に基づくゲイン余裕および位相余裕
を計算せよ。その結果を[1] [2]と比較せよ。この結果に基づき、右半面にゼロを持つ系に対するボーデ線図を用
いた安定性判別法の有効性につき論ぜよ。
2007年12月03日版 26/44
(source: Bahram Shahian and Michael Hassul: “Control System Design Using MATLAB”, Prentice Hall, Chapter 1: Review of Classical Control)
2007年12月03日版 27/44
2007 年 11 月 5 日/12 月 17 日
制御系 CAD 演習第 4 回目
制御系 CAD 入門:フィードバック制御系の設計堀洋一・古関隆章(TA 鈴木)
1. Ziegler-Nichols の設計法
プロセス制御に適しているといわれている方法。
(1) まず、微分器および積分器のゲインをゼロ、すなわち、 K d=K i=0 と置く。そして比例ゲイン K p のみを発
散する限界まで大きくし、この限界の比例ゲインを K m とする。そして、この時に現れる振動の角周波数を測
定して m とする。
(2) PID 制御器のゲインを、(1)の予備的な調査の結果に基づき、 K p=0.6K m , K d=K p
4m
, K i=K pm
と
設定する。
[演習 1] プラント G s = 400s s230 s200 に対し Ziegler-Nichols の設計法を適用し、PID-制御器を用いた
フィードバック制御をし、制御前および制御後の伝達関数の極配置、ボーデ線図、ステップ応答、(開ループ伝達関
数の)ゲイン余裕、位相余裕を比較して示せ。( K m および m を求める時には、 rlocus および rlocfind コマン
ドを活用するとよい。)
[演習 2] 演習 1 の結果は、オーバシュートに関して必ずしも満足出来る特性になっていない。これは PID 制御
器を入れたことで新たに生じてしまった分子多項式の影響である。(すなわち、閉ループ系にはプラントがもっていな
かった新たなゼロ点が生じている:ゼロ点の系に対する影響については第 3 回の演習 5 を参照。)この影響を除く方
法を考え、シミュレーションによってその効果を示せ。以下では,演習 1 のフィードバック系について考えてみよう。
(1)指令値と制御系の入力の間に適切な低域通過形のフィルタを挿入してはどうか?
(2) 演習 1 で定めたのと同じ定数で、図のようなブロックを組んだ際のステップ応答を計算せよ。閉ループ系の伝達
関数を計算し、演習 1 および(1)で導いた閉ループ系の伝達関数と比較してみよう。
[註] この様な制御法を、制御器を 1 つしか用いない PID 制御器と区別して I-PD 制御器と呼ぶことがある。
2. Kessler あるいは真鍋多項式による設計法
[演習 3] 添付の資料および堀教科書の「真鍋多項式」の記述、あるいは下記のヒントを学び、Kessler標準形、
真鍋標準形の考え方を上記の問題に適用して、これまでに登場したプラントの伝達関数に適用し、制御器の定数
や、閉ループ系の極配置、ステップ応答を演習 2 までの方法によるものと比較して論ぜよ。
2007年12月03日版 29/44
< Kessler 標準形、真鍋標準形 適用方法の具体的解説>
演習 1 のプラントの伝達関数に演習 2(2)に示した I-PD 制御を施したときの、閉ループ系の伝達関数は、
400 K i
s430 s3200400K d s2400 K p s400K i
となる。これを Kessler標準形に当てはめる。ま
ず分母多項式の隣接する係数同士の比をとって、「等価的な時定数」の計算をする。
T 1=400K p
400 K i, T 2=
200400 K d
400 K p,T 3=
30200400 Kd
,T 4=130
次にこれらの時定数どうしが、2 を比とする等比数列となるように定める。すなわち、
T 1
T 2=T 2
T 3=T 3
T 4=2.0 となるように K d ,K p ,K i を定める。
これにより、等価時定数 T 1 ステップ応答のオーバシュート約 5%の応答が得られることになる。なお、整定時間
がやや長くなるもののオーバシュートがほとんど無いという特長を有する真鍋標準形に合わせようとすれば上の式
の最初の時定数比のみをやや大きく設定して、T 1
T 2=2.5,
T 2T 3=T 3
T 4=2.0 とすれば良い。
3.状態空間法における極配置を用いた設計法(やや発展課題)
[演習 4]
(1) プラントY sU s
= s1s3 s2−7 s−9
を状態空間法で表現し、開ループシステムの極配置を求めよ。
(2) 極配置法により状態フィードバック制御器を設計し、制御器の定数や、初期値応答を示せ。(ただし、初期値は
制御器の特徴がよく示されるように自分で適用に設定してみよ。)状態フィードバックのフィードバックゲイン
F=[ f 1 , f 2 , f 3] の設計には place コマンドを用いてみよ。フィードバック後の極は、第 3 回目の演習で学ん
だ二次系の応答、具体的には、二次系の応答の自然周波数とダンピング係数から得られる応答の知識を用い
て設計者が任意に与えればよい。統一的な設計を行う1つの可能性としては、演習 3 で行った Kessler あるいは
真鍋の標準形が与える極配置をそのまま用いてみるとうまくいくであろう。
(3) (2)で行ったレギュレータ形の状態フィードバックでは入力のステップ状の指令値に対して出力が最終的な誤差
無しに追従することは保証されていない。そこで次頁に示す図のように積分を用いたフィードバックを加えること
によって、演習 3 の I-P(D)制御相当の積分のフィードバックを行うことを考えてみよう。
この問題は、状態変数としてもともとあった x に xadd=∫ yerror t dt=∫ yref t − yrealt dt を新たに加えた
拡大系ddt[xaddx ]=[0 −C
0 A ][xaddx ][ 0B]u t [10]yref t に対して状態フィードバックを行うと考えて
も良い。
このように考えると、制御入力が積分制御器のゲイン K I ともともとのシステムの安定化のための状態フィー
ドバック制御ゲイン F を用いて u t =K I xadd t −F x t となるため、状態フィードバックおよび積分器を介
した出力フィードバックを行った系のシステム行列は [ 0 −CBK I A−BF] となることが容易にわかる。
この制御行った場合の、フィードバックゲイン設計の考え方を自分なりにまとめて、入力へのステップ指令への応答、入出力間の周波数特性(ボーデ線図)など、自分が設計した制御系の特長を示す情報を示し、コメントを加えよ。
(4) (制御工学第一の講義では扱っていないが、余裕が有れば堀「応用制御工学」1.8節に記されている最適制御
の記述を読んで、最適レギュレータの設計も試みても良い。最適制御系の設計は lqr, lqg などのコマンドを用い
て容易に行うことが出来る。)
2007年12月03日版 30/44
[ 演習 3] についてレポートを第 6 回目の演習 開始 時に提出せよ。 以上の知識をもとに、第
5,6 回の古関課題の磁気浮上のプリント、あるいは堀課題のプリントに進め。その際、上
記の[演習 4]の内容はこれらの発展課題を効率良く進めるために重要なので、必ずしもレ
ポート提出課題 の義務は課さないが 、良く読 み 、その筋を理解 して計算を行ってみよ。
2007年12月03日版 31/44
2007 年 11 月 12 日/2008 年 1 月 21 日以降
制御系 CAD 演習第 5/6 回目
制御系 CAD 入門:Kessler/真鍋の方法と磁気浮上系
古関隆章・(TA 鈴木武海)
[演習 2]の(1)および[演習 3]の出来たところまでを指定日に最終レポートとして提出せよ。
[演習 2]の(2)は難易度が高いため自由課題とするが、レポートに含められれば歓迎する。
1. Kessler標準形と真鍋標準形
前回既に学んではいると思うが、堀教科書に記載されている真鍋法、およびその原型となっている Kessler 法は、
いずれも、経験的に望ましい性質が知られている分母多項式の形になるべく近くなるように制御システム(=プラン
ト+制御器)の伝達関数を当てはめらるべく、制御器の定数を設定する方法で、部分モデルマッチング法として捉え
ることができる。これは、ナイキスト線図やニコルズ線図あるいはボーデ線図などの図をもちいて周波数軸上での設
計を行う古典的手法と、微分方程式を完全な形で記述して理論的にフィードバックゲインを決めていく状態空間法
の中間的存在として、その実用性が高い。
図1 3種類の規範モデルのステップ応答
これは規範モデルを
G s = 1a0a1 sa2 s
2a3 s3a4 s
4...an sn
ただし、 a0=1.0 (1)
として、制御器の定数を調節して、閉ループ伝達関数の分母多項式の係数を、表 1 の係数に当てはめれば良い。
ただし、一番右側に記されているのは、北森標準形と呼ばれる、主としてプロセス制御向けに提唱されている規範
モデルで、Kessler標準形、真鍋標準形と比べると図 1 の例にあるように若干振動的な応答を与える。
代表的な3つの規範モデルの分子多項式を第 5 次まで表1に示す。Kessler標準形、真鍋標準形においては、分
母多項式の最高次数を n とし、各々 T 1==a1/a0 ,(システムの応答の等価的な時定数) T 2=a2/a1 ,
...., T n=an/an−1 と置く。主として、高次の分母多項式の係数は、制御器ではなくプラントそのものの性質によ
り決まる。そこで、 T n をシステム固有の時定数 T sys とし、 T n/T n−1=1/2 , T n−1/T n−2=1/2 ,...,
2007年12月03日版 32/44
T 3/T 2=1/2 , T 2/T 1=1 /2 となるように定めたのが、Kessler の標準形であり、この場合ステップ応答は
図1に示されているように、オーバシュート 5-8%、時定数 =2n−1⋅T sys の一次遅れ系で近似できることが次数
20 次くらいまでの範囲ですでに確認されている。
なお、真鍋標準形は、一連の T n /T n−1=1/2,T n−1/T n−2=1 /2,. .. ,T 3/T 2=1/2, なる計算のうち最後の項
のみ T 2/T 1=1 /2.5 とすることによって、オーバシュートを完全に無くしたものであり、 この場合、ステップ応答
は図1に示されているように、オーバシュート無し、時定数は Kessler 法に比べるとやや長くなり
=2.5⋅2n−2⋅T sys の一次遅れ系で近似できる事がわかる。 いずれの場合も の 2-3倍の時間で、ステッ
プ応答は整定する。
[演習 1] 規範モデルの次数が 1 から 4 までについて、 T sys=1 sec として、表 1 を参照しながら Kessler標
準形、真鍋標準形(表を完成させよ!)、北森標準形の 3 つの場合のステップ応答を図 1 にならって計算し、図示し
て比較せよ。ただし、北森標準形に関しては、等価時定数 t を Kessler標準形と同一の値を用いて計算せよ。
また、それぞれの場合についての極配置を計算して、比較せよ。
(考察:2 次系の場合には、減衰定数をいくらに設定したことに相当しているか?)
表 1 多項式法の代表的な 3 つの標準形とその分母多項式の係数
[演習 2] 添付のプリントを参照しながら、一次元の磁気浮上システムの制御系を設計し、その応答を、Scicos/
Simulink を用いて
(1) 平衡点周りの線形近似プラントモデル
2007年12月03日版 33/44
(2) 電磁石のギャップに対する非線形特性を考慮したモデル(時間がなければとばしても良い。)についてシミュレーションせよ。制御系の設計に関しては、添付のプリントに記したように、電流制御系、ギャップ制
御系の順でカスケード制御系を構成し、各々について、表 1 の任意の標準形を適用してみよ。閉ループシステ
ムの極配置なども計算してみよ。
(注意: 補足プリントの説明は Kessler標準形に基づいているが、これにとらわれる必要は必ずしも無い。また、制
御系設計およびシミュレーションに際しては、「純粋な微分器」が実現不可能なことに注意し、ノイズの影響を考え、
微分器に対して適切なローパスフィルターを組み合わせ、制御信号の周波数帯域を制限せよ。)
[演習 3] 演習 2 で用いた一次元の磁気浮上システムに関して、
(1) 補足プリントの第 7節にあるように、状態空間表現をして、4日目の演習の演習 4 の方法で、状態フィードバック
を用いた制御設計を行ってみよ。(ここではすべての状態変数が直接計測可能であると仮定して良いが、その
物理的意味については慎重に考えてみること!)
(ヒント:演習 2 では、ギャップの定常偏差を 0 にするために I-PD 制御器を用いているが、状態フィード
バックでこれと等価なことを行うためには、補足プリント 7.3節にあるように、前回の[演習 4]同様、状態
変数にギャップ長の積分を新たに加えて拡大系を作り、これに対してレギュレータ設計手法を適用する
と良い。)
(2) 余裕が有れば、状態空間法に基づく磁気浮上安定化制御器の設計、さらにはオブザーバを用いた状態フィード
バックや、LQR の適用など自分で発展課題を設定して挑戦してみよ。
例題 2, 3 のための数値例の一例
(ただし、安定化制御の難しい定数設定になっているので、自分でよりやりやすい例題を作成した方が良い!)
電気回路の定数: L=2.35×10−2 [H], R=1.1 [Ω] 電圧源の遅れの等価時定数 1 [msec]
真空の透磁率 4×10−7
ノミナルギャプ長 x0=8 mm
電磁石が支えている質量 m=6 kg
電磁石の歯の断面積 S=1.6×10−3m2
巻線巻数 w=200 Turns
2007年12月03日版 34/44
----------補足プリント----------
一次元の磁気浮上系
1. 発生力と運動方程式
図 2 プラントモデル
起磁力 N i ...(1)
磁気抵抗 R= 2 x0 S
N i=R --> = N iR=0S N i2 x
....(2)
磁束 Bgap=S
Fmag=B2
20⋅2 S=
0N2i2
4 x2S ......................(3)
2. 磁石の運動方程式
M x=M g−F magFd (外乱力)
ゆえに M x0N
2 i2S4 x2
=M gFd ..........(4)
2007年12月03日版 35/44
図 3 浮上体の動きに関するプラントモデル
3. 磁石の電圧方程式
巻線の鎖交磁束は N =0S N
2 i2 x
=L x ⋅i ......(5)
これよりインダクタンスは L x =0S N
2
2 x ......(6)
(ただし、 x の関数となっている上に、モデルに考慮されていない漏れ磁束の影響などがあり、この士気から求
められる値は、実験値とはなかなか合わないと考えるべきである。)
巻線抵抗を r とすると、 e t =r i ddt{L x ⋅i t }={rL0
ddt}i t −
i0⋅x⋅0 S N2
2 x02 ......(7)
ただし、この右辺第 2 項は、速度起電力項であり、図 4 のブロックにおいては電圧外乱とみなす。(状態空間表示す
る場合には、この速度起電力項を外乱としてではなく、プラントモデルの中に明示的に含めることが容易である。こ
こでは電流制御器の設計を簡便に行うために、磁石の上下の動きの速度が大きくないことを前提に、この項の影響
はとりあえずモデルから無視するが、興味があればシミュレーションモデルにこの項の影響を入れてみて、挙動の
相違を比較してみても良い。)
なお、ここで、 i0 , x0 は各々定格動作点での i と x を表している。
図 4 電気回路のプラントモデル
2007年12月03日版 36/44
i x
x 0
i0Nonlinear model of an electromagnet
0N3 i2 S
4 x 2
−
M g
F d
Gravity
External load force
1M
1s
1s
x x xAcceleration Velocity Position
Nominal position
Nominal current
Current deviation
Position deviation
i t I s
1s L0r
Transfer function ofa winding
i t I s
0 S N2
2 x 0
i0
x
Nominal current
Velocity
Induced voltage= Disturbance voltage
Input voltage
Magnet current
4. プラントモデルの線形近似
ギャップ長、電流の変化量が十分に小さいという仮定のもと、平衡点 x0 , i0 のまわりで、以下の近似を導
入する。
Fmag x0 , i0=M g (8)
Fmag x , i =0 N
2S 2
4 x2=F x0 ,i 0
∂ Fmag
∂ x x
∂ Fmag
∂ ii (9)
(8) より、
∂F mag
∂ x=−0 N
2S i02
4 x2=−2M g
x0,
∂F mag
∂ i=0 N
2S i 02 x0
2 =2M gi 0
ゆえに、 Fmag x , i =M g – 2M gx0
x 2M gi 0
i
M x – 2M gx0
x=−2M gi0
iF d (10)
外乱を考えない時
X sI s
=−2gi0
⋅ 1
s2−2gx 0
(11)
図4では速度起電力項を外乱として扱っているが、状態空間表現をする場合には速度起電力項を外乱ではなくプラ
ントモデルの中に明示的に含めることが容易にできる。ここでは制御器の設計を簡便にするために、この項の影響
はとりあえず無視しているが、興味があればシミュレーションモデルにこの項の影響を入れてみても良い。
5. 電流制御系(電流マイナーフィードバック制御系)
電気回路の時定数を W=L0r
とする。
また、電圧源(電圧アンプ)の時定数が V であるとし、電圧源の特性が一次遅れで表現できるものとすると、I-P
制御器 K Pi およびK Ii
sを用いて、閉ループ伝達関数
K Ii
r
V W s3VW s
2K Pi
r1 s
K Ii
r
.... (12)
の分母多項式、すなわち、閉ループ系の特性多項式を a3 s3a2 s
2a1 sa0 とすると、
a3=v⋅W , a2=vW , a1=K Pi
r1 , a0=
K Ii
r .......(13)
等価時定数 e=a1a0
.........(14)
Kessler 標準形: a12
a0⋅a2=
a22
a1⋅a3=2.0 より制御器のゲインを決めると、 K Pi=? ...(15) K Ii=? ....(16) と
2007年12月03日版 37/44
定められ、これより、(14)とあわせて、等価時定数 e=? .....(17) が導かれる。
図 5 電流の閉ループ制御系
制御器そのものは、電流指令から電圧指令への伝達特性になっているので、比例ゲイン K Pi が(15)で抵抗の
次元を持っているのは物理的にも正しい。
(13)-(17)を<紙と鉛筆の計算で>自分で導いてみよ!(ただし、この部分は以下の解説で述べるように、与え
たような電圧源の遅れが小さい数値例の場合には実際のシミュレーションでは用いない可能性が高い!したがっ
て、ここでは数式を導いて流れを理解した後、すぐ二以下の解説を読み、実際のシミュレーションは、電圧アンプお
よび巻線の電圧/電流特性の遅れを 1 つの時定数で代表したモデルについて、電流制御器の設計を行った方
が良いであろう。)
上記では、一般的に、電圧アンプが持つ遅れの時定数 v と 巻線の自己インダクタンス/巻線抵抗から決ま
る電圧に対する電流の遅れの時定数 w がほぼ同等な大きさとなる場合を想定して、被制御対象を二次系とし
て IP-制御を行うことにしている。しかし、上記のように電源の遅れが小さく w≫v となる場合には、このよう
な設計はうまくいかない。むしろ、その場合には、 'w=wv とし、2 つの直列の一次遅れを 1 つにまとめ、
I sE*S
=1r
11 ' ws
として扱う方がうまくいく。(理由を考えよ。) すると、電流制御系は I-制御となり、閉ルー
プ伝達関数の分母多項式は 'w s2s
K Ii
rとなるので Kessler標準形に当てはめると、 K Ii=
r2 'w
と制
御器の定数が決定され、電流制御系の等価時定数は e=2 'w となる。電流制御系の応答をこれよりも速く設
計したい場合には、この部分を I-制御ではなく、IP-制御として、より短い e を得るようにゲイン設計を行えばよ
い。I-制御は、IP-制御における K P=0 という特別な場合と考えることができ、一般的に、 K P0 ならば、比
例ゲインが 0 である I-制御よりも速い応答を期待できる。
以上により、フィードバック後の電流制御系は、式(17)で与えられる等価時定数 e の一次遅れ系で近似できる
ようになる。(<==電流制御系のステップ応答を実際に計算し、この事実を確かめよ!)
2007年12月03日版 38/44
K Pi
I *s
Ed
Speed EMF
1r1W s
−
Integral controller
Proportionalcontroller
Power amplifier
Winding
I *s I s1
1V sK Ii
s
図 6 電流の閉ループ制御を、カスケード制御で外側にあるギャップ長制御系から見たときの等価ブロック
2007年12月03日版 39/44
11e s
I * s I s Equivalent first order delay
Current control system
6. ギャップ長制御系
図 7 ギャップ長制御系
閉ループ伝達関数が
−2 gi0
⋅K Ix
s s2 – 2 gx01e s−
2 gi0K Dx s
2K Px sK Ix ......(18)
となるので、この分母多項式、すなわち、ギャップ長制御系の特性多項式を a4 s4a3 s
3a2 s2a1 s
1a0とすると、
前のページと同様に、Kessler標準形に当てはめて、微分制御器、比例制御器、積分制御器のゲインを定める。そ
の結果のギャップ長制御系の等価時定数 T e=a1a0=8e .....(20):システムの等価時定数を求めよ。
微分制御器の FBゲイン K Dx= ?
比例制御器の FBゲイン K Px= ?
積分制御器の FBゲイン K Ix= ?
以上により、フィードバック後のギャップ長制御系は、式(20)で与えられる等価時定数T e の一次遅れ系
図 8 ギャップ長の閉ループ制御の等価ブロック
で近似できるようになる。
しかし、最も外側の制御ループである、ギャップ長制御の設計の際、このテキストの指示通り厳密に標準形の設
計定数を適用すると、外部ループからの内部電流制御系の応答に対する要求が厳しすぎて、ギャップ長制御の応
答が振動的あるいは不安定になってしまうことがある。その場合には、ギャップ長制御系設計の際の外から見た見
2007年12月03日版 40/44
かけの電流制御器の応答の時定数 ei を少し大きめに見積もることで、外部からの要求速さを小さくする方向で
調整を試みると良い。この時、外部の比例フィードバック項のゲインはやや小さめになる方向に、微分フィードバック
項のゲインは大きめになる方向に動くであろう。一般に、より良い安定性を得るためには、全体の応答を少しゆっく
り目にしながらダンピングを大きく利かせる方が良いので、比例フィードバック項のゲインは小さめに、微分フィード
バック項のゲインは大きめにすることになる。フィードバック制御系の速さのより詳細な調整についての注意は、以
下の記述を参照せよ。
電流センサが無い場合にはマイナー電流フィードバックなしで直接ギャップ長の制御器を設計することもできる。こ
の場合、図 7 の 1
1e s のブロックの代わりに
1r
11W ' s
を用いる。すると、閉ループ系の伝達関数は
X sX s*
=
−1r2gi0⋅K IX
a4 s4a3 s
3a2 s2a1 sa0
となる。
ただし、 a4=W ' , a3=1 , a2=−2g W 'x0
K Dx
r i0 , a1=−2g
1x0K Px
r i 0 ,
a0=−2 g⋅K Ix
r i 0。 ここで、係数同士の関係を
a12
a0⋅a2=
a22
a1⋅a3=
a32
a2⋅a4= となるように K Ix , K Px ,
K Dx を決める。 =2.0 の場合が Kessler標準形だが、 をこれよりも大きくすると、制御系の等価時定
数 W '=4−1 ⋅W '=
3⋅W ' である。したがって、 大ならば、応答はその3乗で遅くなる。)
電流フィードバックのない系ではプランとモデルの不確かさがより大きいので、実際には安定化が難しいと考える
べきである。そこで、制御系の設計、ゲイン調整もより慎重に行う必要があり、たとえば =2.5 より大きめの値
を選び、よりダンピングの大きな方向に調整をすると安全である。(ちなみに、 =2.5 程度に選ぶと、
2.53=15.6 となり、電流マイナーフィードバックをかけた場合の T e=16⋅W ' 同等の速さになる。)
7. 状態空間表現と状態フィードバックを用いた安定化制御
ここまでは、主として夏学期の制御工学第一の講義の内容に準拠し、古典制御、とくに IP, IPD 制御器をマイナー
ループ、メジャーループと複数段にわたって設計しながら、フィードバック制御を行うカスケード制御の考え方を用い
て、浮上システムの安定化制御を学んできた。次に、この冬学期の制御工学第二で学習している状態空間表現をし、
その中でも基礎的な極配置法に基づいて浮上安定化制御のためのレギュレータを設計してみよう。
7.1 プラントのモデリング:機械系、電気系の線形近似した微分方程式と、状態空間
表現 (7)式から電気回路の式を次のように変形する。ただし、ここで、磁石の自重と磁気吸引力がつりあう状態におけ
る電流値を i0 、 i t =i 0 i t とすると、
2007年12月03日版 41/44
it =− rL0 i t
0S N2 i0
2 x02 L0
x 1L0e t
=− rL0 i t
0S N2i 0
2 x 02L0
x 1L0et – r i0
=− rL0 i t
0 S N2i 0
2 x02L0
x 1L0e t
................(21)
ただし、ここでは e0=r i 0 , e t =e t – e0 とした。
ここで、 x1= x , x2= x , x 3= i とすると
x1= x2(10)式より
x2=2gx0
x1–2gi 0
x 31M
Fd .......(22)
x 3= x2 –rL0
x31L0e t .......(23)
これをまとめて、
ddt[x1x 2x 3]=[ 0 1 0
2gx0
0 −2gi0
00S N
2 i02 x0
2 L0− rL0][ x1x2x3][ 001L0]u t [ 01M0 ]Fd .............(24)
という状態方程式が導かれる。ただし、ここでの入力は、 u t =e t としている。また、ギャップ長のみが測
定できる場合の出力行列は C=[100] ........(25) となる。初期条件は適宜与えるものとする。
2007年12月03日版 42/44
[頑張る人のための発展課題] 以下は、基本的に力と興味のある学生が挑戦するとよい。
7.2 極配置法による状態フィードバック(1): PD 制御に相当する安定化制御
ここで、状態フィードバック u t =−F x t ..........(26)により、ギャップ長の指定値からのずれ x1 , ギャッ
プ長変化時の速度 x2 , つりあいの位置における電流からの巻線電流の変化分 x 3 のすべてをゼロに抑え
て、電磁石の安定浮上を実現するための状態フィードバック制御系を考えることにする。このように、状態変数のす
べてをゼロに保つ制御系をレギュレータと呼ぶ。
状態フィードバックにより、フィードバック制御後の極配置を指定して、フィードバックゲイン行列 F をもとめ、そ
のときの系の振舞いをシミュレーションして示せ。なお、極配置は安定であれば任意に指定してよいが、古典制御の
中で見てきた Kessler標準形に合わせると、応答特性も良くまた、前の議論との比較検討がしやすいであろう。ギャッ
プ長制御の等価時定数を T e として、極が3次の特性方程式 1T es12T e
2 s218T e3 s3=0 の根となる
ように行列 F を決めてみよ。 T e を様々に変化させ、ゲイン、フィードバック信号の大きさ、制御入力やギャッ
プ長の応答が T e の設定でどのように変化するかを考察せよ。
この制御では、負荷として外から新たな力 Fd が加わるとギャップ長が変化し、必ずしも x1=0 という目的
を完全に達成することはできない。このことを確かめよ。たとえば、外乱力としてあるステップ上の力の変化があると
き、ギャップ長および巻線の電流はどのようなこの様な振るまいを示すか?このように持続的に外乱力のがあると
浮上制御はその影響をうけてギャップ長に定常偏差が残る。これは、古典制御における PD 制御を行っているのと
似た振る舞いになる。
なお、極配置によるフィードバックゲインは、MATLAB を用いる場合には place コマンドを利用して求めることがで
きる。(余裕があれば、発展例題: lqr コマンドを用いて、最適制御系を設計することも試してみよ。)
7.3 極配置法による状態フィードバック(2): 状態変数に積分項を付加して、定常偏
差をゼロにする手法: I-PD 制御に相当する安定化制御
上記のように持続的外乱力があっても、ギャップ長を思う位置に一定に保つためには、ギャップの誤差 x1 の
積分量 x 4t =∫ x1t dt を新たな状態変数として加え、この 4 次の拡張系に対して状態フィードバック系を設
計すればよい。前節同じように Kessler標準形に当てはめてみるとして、等価時定数 T e をもつ Kessler の4次
の特性方程式 1T es12T e
2 s218T e3 s3 1
64T e4 s4=0 の根と、フィードバック系の極が一致するようにフィー
ドバックゲインを設計せよ。このとき、ステップ状の外乱が加わると、ギャップ長 x1 および電流 x 3= i t はどのように変化するか?また、このときのギャップ長や電流の変化を観察し、7.2 と何が違うのか考察せよ。
(余裕があれば発展課題---電流形ゼロパワー制御と電流形ゼロパワー制御: 新たに加える積分に基づく状態変
数として x 4t =∫ x1t dt ではなく、電流誤差の積分 x 4t =∫ x3t dt として設計した制御系はどのよう
な振る舞いをするか?外乱力が)ステップ状に加えられた場合の、ギャップ長、電流などの過渡現象を観察し、7.2,
7.3(の本文)で設計した制御系との性質の差を比較して論ぜよ。さらに、 x 4t =∫e t dt として拡張系を作っ
2007年12月03日版 43/44
た際の、状態フィードバックによるレギュレータはどのような性質を持つか? なお、バイアス分の電流分 i0 あ
るいはそれを電圧換算したバイアス電圧 e0 分の起磁力を、永久磁石を用いて与え、平均的な電源の電力消費
を小さく抑えるこのような制御方式を、電磁石のゼロパワー制御と呼ぶ。
7.4状態推定とオブザーバ:なぜ状態推定が必要か?
7.2, 7.3 を通じて、状態フィードバックによるレギュレータを設計しその応答を観察して、古典制御による結果と比
較できた人は、状態フィードバックにより
a) 系統的に制御器の設計ができること
b) 7.3 で議論したとおり、拡大系として異なる状態変数を適宜追加して選んでレギュレータの設計を行うことに
より、様々な異なる性質を持つ制御システムの設計が可能になること
c) 一般に、古典的な出力フィードバック制御よりは、良い制御性能が得やすいこと
を体験できたと思う。しかし、これまでの議論には少し「いんちき」なところがある。7.1 で与えた出力行列では、われ
われはギャップ長の変化 x1 のみを直接図ることができるという仮定をおいているので、状態フィードバックに必
要な x2 x 3 および x 4 の情報は、得られないのである。この問題を解決し、入力信号、出力信号およ
び状態方程式に含まれたモデルのダイナミクス関する物理的な知識を用いて直接得ることのできないシステム内部
の変数=状態変数を推定しようというのが「状態推定」の考え方であり、それを実際に行うソフトウェアが「オブザー
バ(状態観測器)」と呼ばれるものである。興味があれば、オブザーバについてその基礎理論を自分で勉強し上記
の例題について、オブザーバの設計を試みよ。そしてオブザーバが推定した状態変数の推定値 xn t
n=2, 3 を計算して、実際の値の変化 xn t n=2, 3 との比較をせよ。また、フィードバック制御のた
めの信号として xn t ではなく。 xn t を用いた場合、制御の外乱力に対する応答、制御性能はどのように
変化するかを論じよ。(この例題は、進んだ話題なので、難しければ全く無視しても良い。しかし、能力に余裕があり、
興味があれば是非挑戦してみて良いレポートを書いて欲しい。)
2007年12月03日版 44/44