プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で...

153
プロセス 1 2 7 10 1 大学 センター テキスト第 2 2 大学 システム エネルギー

Transcript of プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で...

Page 1: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

プロセス制御技術の基礎と応用1

松尾 孝美2

平成 7年 10月

1大分大学地域共同研究センター高度技術研修テキスト第 2版2大分大学工学部生産システム工学科エネルギー工学教室

Page 2: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 3: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

3

目 次

第 1章 はじめに 5

第 2章 動的システム序論 7

第 3章 制御工学序論 15

第 4章 連続制御系とディジタル制御系 19

第 5章 プロセス制御系の数学モデル 23

第 6章 プロセス制御系の性能評価のための手法—連続時間系 39

第 7章 プロセス制御系のモデリングとシステム同定 47

第 8章 アナログPID制御とディジタルPID制御 59

第 9章 PID制御の発展形 87

第 10章 モデル予測制御 97

第 11章 ファジィ制御 109

第 12章 プロセス制御系の実際 125

第 13章 産業界における実用例 137

第 14章 現代制御,ロバスト制御 139

第 15章 制御系設計ソフトウェア 147

Page 4: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 5: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5

第1章 はじめに

化学,製鉄,食品工業などの工業プラントでは,プロセス制御技術は不可欠のものとなっている.プロセス制御系は制御対象が複雑でなかなか数式で正確なモデルを作ることが困難であるという特長をもっている.このため極めて簡単なモデルで制御対象を近似し,構造の簡単なコントローラでシンプルな制御を行うことにより,この困難な状況を乗りきってきたように思われる.このため,メインとなってきたのが古典制御理論と PIDコントローラである.これに対して,モータ制御や制振制御のようなサーボ系は全く違った状況を呈してき

た.サーボ系の制御では状態空間法を用いた現代制御理論が適用され,最適制御のような精密な制御が可能となった.しかし,大規模構造物の制振制御では,いくらサーボ系と言っても,そのモデルは正確にはわからず,モデリング誤差というものを常に含んでしまう.このため,近似したモデルにいくら精密な制御を行うコントローラをつけても意味が薄れてしまうことが指摘された.この結果,1970年代終わり頃からロバスト制御と呼ばれる分野が登場してきた.ロバスト制御は構造はわかっているがパラメータの正確に測定できないシステムや構造はわからないが,システム周波数特性の範囲がわかっているようなシステムに対してある程度の制御性能を保証するようなコントローラを設計することを目的としている.制振制御の分野でのロバスト制御の活躍にはめざましいものがある.プロセス系とサーボ系の制御においてキーポイントとなるのが,システムのモデリン

グ技術である.システムのモデリングには 2つのタイプがある.1つは数式モデルによるものであり,もう 1つが経験則などを言葉にした規則によるものである.前者には,物理法則から導出される数式モデルと入出力関係のみから導出される信号処理モデルがある.これらのモデルには,それぞれ一長一短があり,対象システムに応じてこれらを使い分ける必要がある.より人間サイドに近いところは言葉による規則によりモデル化し,機械などのハードウェアに近いところは数式によりモデル化する必要があろう.しかしながら,この技術はまだまだ確立したとは言いがたいものがある.特に,制御を念頭においたモデリングやシステム同定の分野の研究は始まったばかりといっても過言ではない.プロセス系とサーボ系の両方に有効であるばかりか,FA一般における統一的なモデリングならびに制御系設計手法の確立が制御屋共通の夢であり,ある程度の全体像は見えてきたようである.ただ,この実現のために制御理論屋は様々な数学的道具立てを用意してきた.一般の

制御技術者からみると,あまりに抽象的すぎてとても使い物にはならない代物であった.しかし,最近のコンピュータの発達により,コントローラ自身がコンピュータのソフトウェアとして実現できるようになり,また,制御系設計用のCADの充実により実に容易

Page 6: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

6 第 1章 はじめに

に種々のコントローラの設計ができるようになった.制御理論の中身を知らなくても,問題設定さえすれば自動的に制御系設計が可能となってきた.10年前とはまさに隔世の感がある今日である.ただし,対象としているシステムの状況を深く考えず,そのままCAD

を使っても優れた制御系を構成することは難しい.設計とは仕様を変更しながら何度も繰り返し行うことであり,ここまでの自動化はまだ達成されていない.技術屋に求められているのは,システムを如何に把握し,センスのある仕様を見つけだすか (これが技術屋の腕のみせどころ)である.本コースでは,古典制御から最近のアドバンスト制御とよばれるもの全般まで,制御系

設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎である PID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的システムの記述方法とフィードバック制御構造について解説する.ついで,プロセス制御系のモデル化技術について述べ,プロセス制御系の古くからの制御法である PIDコントローラの原理と設計法について説明する.ついで,I-PD制御や 2自由度PIDコントローラなどPIDコントローラの発展の最近の発展までを紹介する.さらに,最近,化学プロセスで注目を浴びているモデル予測制御 (IMC,DMC,GPC)とファジィ制御について説明し,制御系設計ソフトウェアMATLABを用いた例題を紹介する.最後に,付録でMATLAB

の使い方の基礎についての紹介を行う.

Page 7: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7

第2章 動的システム序論

本章では制御対象の物理的意味とシステム論敵取り扱いについてなるべくわかりやすく説明する.

2.1 動的挙動この世界で見受けられるいろいろな現象 (物理現象から社会現象まで)は,時間的な様々

なパターンを持っている.大別すると次のようなパターンが考えられる.

1. 非周期パターン(a) 安定パターン(b) 不安定パターン

2. 周期パターン(a) 安定パターン(b) 不安定パターン

時間的に変動するようなパターンを動的挙動という.それそれのパターンを図示すると,図 2.1のようになる.

図 2.1: 動的挙動

Page 8: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8 第 2章 動的システム序論

2.2 動的モデル動的挙動は,物理現象のように連続的に時間変化するものと,社会現象のように今日.

明日,明後日というように離散的に時間変化するものがある.動的挙動を数学的に表現する方法は大別すると,次のようになる.

1. 前の時刻の状況とつぎの時刻の状況との偏差が与えられるもの.(a) 時間が連続値 (連続時間)

(b) 時間が離散値 (離散時間)

2. 過去から現在までの時刻での状況の和が与えられるもの.(a) 時間が連続値 (連続時間)

(b) 時間が離散値 (離散時間)

それぞれの場合の例題を考えてみよう.ただし,動的挙動を時間関数として表し,連続時間の場合には,x(t),−∞ < t < ∞,離散時間の場合には,x[k], k = · · · ,−1, 0, 1, · · ·と書くことにする.さらに,動的挙動を数学的に表現したものを動的モデルという.

• 例題 1)状態の微分値が与えられるものニュートンの運動方程式は巨視的な運動パターンを規程しており,運動量の時間変化が外から加えられる力に等しい.ロボットなどのメカトロ系の場合には必ず登場する式である.速度を x(t),外力を F (t),質量をM とすると,運動方程式は次式のようになる.

Mdx(t)

dt= F (t) (2.1)

F (t)が一定の場合と正弦波の場合の x(t)の動的挙動は図 2.2のようになる.

図 2.2: 状態の微分値が与えられる場合

Page 9: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

2.2. 動的モデル 9

• 例題 2)状態の差分値が与えられるもの毎年の人口の増加がその年の人口に比例する場合には,k年での人口を x[k]とすると,人口の増加は x[k + 1] − x[k]であるので,次式のようになる.

x[k + 1] − x[k] = Mx[k], M : 定数 (2.2)

M = 0.005とし,x[1990] = 120000000とした場合のその後のパターンは図 2.3のようになる.

図 2.3: 状態の差分値が与えられる場合

• 例題 3)状態の積分値が与えられるもの底面積 a[m2]のタンクに短時間当たり F (t)[m3/sec]の液体を流入させたときの T 秒後のタンクの水位 h[m]は,つぎのようになる.ただし,最初の水位は 0[m]とする.

h =1

a

∫ T

0F (t)dt (2.3)

a = 10, F (t) = 2のとき,h(t)を図示すると,図 2.4のようになる.

• 例題 4)状態の和分値が与えられるもの1月から 12月まで k月にF [k]円ずつ貯金していくと,N月までの貯蓄金額m[N ]円は次のようになる.

m[N ] = F [1] + F [2] + · · · + F [N ] =N∑

k=1

F [k] (2.4)

奇数月に 1万円,偶数月に 2万円ずつ貯金すると,各月の貯金総額は図 2.5のようになる.

Page 10: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10 第 2章 動的システム序論

図 2.4: 状態の積分値が与えられる場合

2.3 システム表現前節では,時間変化を伴う現象を動的モデルとして表現した.本節では,システムとは

何かについて説明する.一言で言うと,システムとは,外部から何かを入れたらそれが原因となって内部がある法則に従って変化し,その結果何かが外部へ出てくるような箱のようなものである.システム工学では,外部から入る原因のようなものを入力 (Input)と呼び,内部から外部へ出て行く結果のようなものを出力 (Output)と呼ぶ.人間サイドから考えると,内部の状況を外部から変化させることのできるものを入力,内部の状況の変化を外部から観察したものを出力と見なすことができる.また,内部の動的な状況の変化を表すものを状態 (State)と呼ぶ.さらに,内部の法則は数式やルールにより記述される.システムを図示したものが図 2.6である.たとえば,前述の例題 1で考えると,入力,出力,状態はつぎのようになると考えられる.

• 例題 1)の場合入力は外力F (t)になる.これが原因となって,物体の位置や速度が変化する.それでは出力は何であろうか?物体の運動の場合の出力とは,位置・速度・加速度の 3つが考えられる.どれが出力になるかは,それを観察している人間の持っている装置(センサ)に依存している.位置センサ,速度センサ,加速度センサでそれぞれ観測している場合には,出力はそれぞれ,位置,速度,加速度になる.また,位置と速度の両方を観測している場合には,出力は位置と速度の 2つになる.状態は,物体の動的パターンを表すものであるから,位置,速度,加速度であると考えられる.ただし,運動方程式においては独立変数は位置と速度で全運動を表すことができることに注意しよう.

Page 11: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

2.4. システムの相互作用 11

図 2.5: 状態の和分値が与えられる場合

内部(状態)入力出力

図 2.6: システム

2.4 システムの相互作用複数のシステムがあるとする.これらのシステムはそれぞれ入力と出力を持ち,互いに

協調あるいは抑制しあって 1つの大きなシステムを形成することができる.このようなシステムの連結のことを相互連結あるいはネットワークと呼ぶ.2つのシステムの相互連結にはつぎのようなパターンがある.

1. 直列結合2. 並列結合3. フィードバック結合

これを図で書いたものが,図 2.7である.多数のシステムのネットワークは,直列結合,並列結合,フィードバック結合のいろいろな組み合わせからなり,これも 1つのシステムとみなすことができる.

Page 12: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12 第 2章 動的システム序論

システム 1

システム 2

システム 1 システム 2

システム 1

システム 2

図 2.7: フィードフォワード型 (上),フィードバック型 (下)

2.5 制御システムの構造制御システムの基本的な構造は,制御対象という 1つのシステムとコントローラ (制御

器,補償器)というもう 1つのシステムを相互連結したものである.ただし,コントローラは制御対象の入力を調整するための機構であり,必ずコントローラの出力が制御対象の入力に結合されていなければならない.この制約のもとでは,制御構造はつぎの 2つのパターンが考えられる.

1. フィードフォワード型 (開ループ型)

2. フィードバック型 (閉ループ型)

これを図示したものが図 2.8である.

Page 13: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

2.5. 制御システムの構造 13

制御対象 コントローラ

制御対象

コントローラ

図 2.8: フィードフォワード型 (上),フィードバック型 (下)

Page 14: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 15: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

15

第3章 制御工学序論

本章では,制御工学の基本的な考え方について述べる.

3.1 制御工学とは制御工学とは,制御しようとする対象があって,その対象を人間の要請にできるだけ合

致するように制御(操作)するにはどうしたらよいのかを研究する学問である.対象,要請制御を制御工学の 3大要素という.例 1:車の運転 対象:車 要請:車を安全に運転して目的地に到達すること. 制御:ハンドルを切ったり,アクセルやブレーキを踏む.(手動制御)

例 2:空調システムによる温度調節 対象:室温 要請:室温を一定の値に保つ. 制御:エアコンのオンオフ (自動制御)

例 3:信号機による交通量調整 対象:車の流れ 要請:交通渋滞のなるべく少なくなるようにする. 制御:信号機の点滅時間を朝昼晩で計画的にかえる.

3.2 対象は?

対象を考える際には,次の点にいつも注意する必要がある.

1. 対象は何か?たとえば,車,列車,船舶,ロケット,航空機,ロボット,工作機械,化学プラント,原子炉,動物や植物,経済,社会など

2. 対象においてこちらから操作できるものは何か?この操作できる量のことを入力という.

3. 対象の中からえられる観測データは何か?この観測できる量のことを出力という.4. 対象を支配する法則は何か?物理系の場合は運動方程式が多い.制御理論を使う場合には,まず,この部分をいかに把握するかで,制御性能が大きく変わってくる.数式

Page 16: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

16 第 3章 制御工学序論

により対象のモデルをつくるか,数式によらないモデルをつくるか,むずかしい選択であるが,決まった物理法則に従うものは数式に基づいた方がよいが,経済,社会などの場合には,数式をたてることがむずかしいので,数式によらないモデルにせざるをえない.

3.3 要請は?

仕様として与えられているものはなにか.

1. 速応性:速く希望の状態にしたい.2. 定常特性:一定の状態に保ちたい.3. コスト最小4. 雑音除去特性:変な雑音が入っても,制御性能を維持したい.5. ロバスト性:システムのパラメータ変化やパラメータ測定誤差になるべく影響を受けなくしたい など

3.4 制御のやり方は?

対象を制御するためには 2種類の方式が考えられる.1つは,制御手順をあらかじめ時間的にプログラムし,結果を確認することなく制御を進行させる方法であり,これは開ループ制御 (あるいはフィードフォワード制御,シーケンス制御という)と呼ばれている.もう 1つは,結果を確認しながら希望の結果よりはずれていれば,それを修正するように制御を行う方法で,閉ループ制御 (あるいはフィードバック制御)と呼ばれているものである.� 開ループ制御の特徴始動入力が加えられると,第 1ステップの仕事が実行され,その終了確認をしたあと,第2ステップの仕事を実行する.以下,これを繰り返して行い,最終ステップの仕事の終了後最終出力を出す (図 3.1参照).例:電子計算機,自動販売機,エレベータなど.

� 閉ループ制御の特徴出力を見ながら,もし希望の値よりも小さいならば増やす方向に入力を加え,大きいならば減らす方向に入力を加える.対象の特性変動や雑音外乱の混入があってもある程度の制御性能を得ることができる (図 3.2参照).例:オートパイロット,モータ制御など

3.5 フィードバック制御系の基本構成は?

フィードバック制御系の基本的な構成図は図 3.3のようになる.� センサ (検出部)

制御対象から制御量の値を検出 (観測)する.センサで検出した値に誤差があると,制御

Page 17: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

3.5. フィードバック制御系の基本構成は? 17

図 3.1: 開ループ制御

図 3.2: 閉ループ制御

した結果はその分だけ狂ってしまう.センサとコントローラが離れている場合には,センサの出力は伝送につごうのよい信号に変換されて伝送される.� コントローラ (制御器)

 制御変数と設定値との偏差を求め,偏差をゼロにするための判断を行い,その判断結果を信号として出力する.狭い意味での制御工学とは,このコントローラをつくることである.� アクチュエータ (操作部)

 コントローラからの信号をパワーに変換し,そのパワーにより制御対象に働きかけ,制御対象の状態を操作する.� 外乱 制御対象あるいは制御系全体に悪影響をおよぼす外界の作用.� 指令 制御量の指示値.� 伝送信号 最近は,電気信号が多い.油圧や空気圧の場合もある.電気信号の場合には,アナログ信号を用いるものとディジタル信号を用いるものがある.

図 3.3: フィードバック制御系

Page 18: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

18 第 3章 制御工学序論

3.6 フィードバック制御系の要請は?

1. 制御量を一定値に保つ (定値制御,レギュレータ).2. 制御量を変化する目標値に対して追従させる (追従制御系,サーボ系).3. 外乱の影響の少ない制御系を構成する (ロバスト制御系).

3.7 フィードバック制御の演算方式要請を満たすコントローラの演算のやり方には次のようなものがある.うしろの番号は

参考文献番号である.

1. ON-OFF制御:制御量はハンチングを起こすので,精密な制御はむずかしい.2. PID制御 [4],[13],[14],[15]

3. 状態フィードバック制御:最適レギュレータ,極配置 [11],[30]

4. LQG制御系:状態推定および疑似状態フィードバック [11],[30]

5. H2制御系:LQG制御の一般形 [53],[56]

6. H∞制御系,µ解析/設計 [33],[53],[56]

7. L1制御系:時間応答のピーク値の改善8. モデル予測制御系 [26],[27]

9. スライディングモード制御系 [65]

10. 適応制御系 [68],[71]

11. ニューラルネット制御系12. ファジィ制御系 [22],[23],[24]

また,上のそれぞれの場合において,制御演算の際の信号がアナログかディジタルを用いるかで,連続制御およびディジタル制御になる.

Page 19: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

19

第4章 連続制御系とディジタル制御系

本章では,まずアナログ信号とディジタル信号の違いについて説明する.次に,これらの信号が制御系でどのように用いられるのか説明する.

4.1 アナログ信号とディジタル信号アナログとは英語の analogのことで,意味は類似物,相似物である.つまりアナログ量

とは,物理量を相似関係により表現したものである.また,ディジタルとは英語の digital

のことで,指の,指状のという意味である.つまりディジタル量とは,物理量を指折り数えて表現したものである.制御対象における物理量はアナログ量であることがほとんどである.アナログ量をもつ

制御対象を制御する場合には,制御演算をアナログでやるかディジタルでやるかにより,図 4.1のようなアナログ制御系とディジタル制御系が考えられる.

図 4.1: アナログ制御系とディジタル制御系

アナログコントローラはアナログ素子からなる電子回路により実現される.ディジタル制御では,アナログ信号とディジタル信号の変換を行う装置とディジタル計算機により制

Page 20: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

20 第 4章 連続制御系とディジタル制御系

御がおこなわれる.ディジタル制御系における各装置の機能について簡単に述べる.

� A/D変換:時間的に連続な信号を一定時間ごとに定義される離散信号に変換 (サンプリング)するとともに,そのアナログ量の値をディジタル量に符号化 (エンコード)する(図 4.2参照).A/D変換装置は,次の図のようにサンプル/ホールド装置,量子化機構およびエンコーダからなる.ここで注意してほしいのは,アナログ量のディジタル化には時間方向のディジタル化 (サンプリング)と振幅方向のディジタル化 (量子化)の 2段階がある,ということである.

図 4.2: A/D変換器

� D/A変換:一定時間間隔で与えられたディジタル信号の数値情報をアナログ信号に戻す変換 (デコード)するとともに,時間的に連続な信号に変換 (ホールド)する (図 4.3参照).D/A変換装置は,次の図のようにデコーダとサンプル/ホールド装置からなる.

図 4.3: D/A変換器

� サンプル/ホールド装置:サンプルとホールドはA/D,D/A変換の両方で用いられ,実際にはサンプルとホールドをひとまとめにした素子 (アンプ,アナログスイッチ,ホールドコンデンサで構成される)からなっているので,まとめてサンプル/ホールド装置と呼ばれている (図 4.4参照).ただし,ホールドについては,コンデンサによるもの以外に,

Page 21: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

4.1. アナログ信号とディジタル信号 21

ディジタル値をラッチしてホールドを実現するものがある.前者をアナログホールド,後者をディジタルホールドという.この装置の機能を図に書くと次のようになる.サンプリングは通常ある一定周期でおこなうが,これをサンプリング周期といい,サンプリング周期の逆数をサンプリング周波数という.

図 4.4: サンプル/ホールド装置

�量子化:サンプリングによりえられたサンプル値を有限ビット長からなるディジタル値に変換する.入力できる最大のアナログ値をフルスケール (FSと略す)といい,0から FS

までの入力範囲をもつものをユニポーラ,-FSから FSまでの入力範囲をもつものをバイポーラと呼ぶ.ユニポーラの場合 [0, FS]を nビットで量子化する最小単位は q = FS/2n

であり,この最小単位をビットサイズという.さらに,Vk = qk, k = 0, 1, . . . , 2n − 1なるアナログ値 Vkを中心とした± q

2の範囲を 1つの状態として,[0, FS]を 2nの状態に分類分

けし量子化をする.ただし,例外として k = 0のときには,[0, q2],また k = 2n − 1のと

きには [FS − 3q2, FS]となる.ただし,コントローラを設計する際には,量子化にともな

う誤差は十分小さいとして無視する.

� CPU:A/D変換されたディジタル値を用いて計算機のCPUの部分で,制御則をソフトウェアで計算し,その値を出力する.ディジタル制御においては,コントローラの主要部分はソフトウェアからなるわけである.なお,制御則の演算には,ある程度の時間が必要であるので,サンプリングと制御入力の計算には時間的ずれがあるので,CPUの性能によっては,あまりサンプリング周期を小さくしても意味がなくなることがある.また,複雑な制御則を計算する場合には演算時間が長くなるので,最近ではDSPが使われるようになってきている.

4.1.1 ディジタル制御のメリット

アナログ制御の場合にはコントローラはアナログ電子回路になり,いったんコントローラを設計してしまうと,あとはその回路の素子定数の変更によるチューニングしかできない.ところが,ディジタル制御の場合には,コントローラはソフトウェアによりつくられ

Page 22: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

22 第 4章 連続制御系とディジタル制御系

ているので,いろいろな制御方式をプログラムを変更するだけで取り替えることができる.とくに,複雑な行列計算を必要とする現代制御理論を適用する際には,うってつけのものである.次図にディジタル制御系のブロック線図をあげる.

図 4.5: ディジタルフィードバック制御系

4.2 サンプリング定理アナログ信号は周波数の異なった正弦波の和として表現される.とくに,実際の信号

は,ある周波数帯域をもった正弦波の集まりである.このような波をサンプリングして,ディジタル信号に変換すると,もしサンプリング周期が長いと,もとのアナログ信号の情報が失われることがある.高周波の波を長い周期でサンプリングしたときのサンプル値がまるで低周波の波をサンプリングしたかのごとく見える現象をエリアスという.ある正弦波波形の情報を失わないようにサンプリングするためには,その正弦波波形の周波数の少なくとも 2倍の周波数でサンプリングしなければならないことが証明されているが,これをサンプリング定理という.

Page 23: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

23

第5章 プロセス制御系の数学モデル

プロセス制御系の制御量は温度,圧力,流量,液面レベル,pH値などである.これらの量は物理量であり,時間に対して連続的に変化する.これらの挙動を数学的に表現するには次の 2つの方法がある.

1. 内部の動的挙動を物理法則にしたがって数式化する.2. 入力と出力が合致するように適当な数式でデータ補間を行う.

ここでは,前者を物理的数学モデルと呼ぶことにし,後者は入出力データによる同定モデルと呼ぶことにする.本章では,液面レベル制御系を例にとり,物理的数学モデルの構築方法について述べる.同定モデルについてはのちに扱う.

5.1 プロセス制御系の例題:水面レベル制御例えば,図のようなタンク (断面積 S[m2],出水口の断面積M [m2]) を考える.ただし,

水面レベルを l[m],パイプからの水の流入量をQi[m3/s],流出量をQo[m

3/s]とする (図5.1).

図 5.1: タンク

このタンクにおいて,入力(人間の操作できる量)はQi,出力(人間の観測できる量)は水面レベル l,制御量(制御しなければならない量)は水面レベル lとする.lを観測し

Page 24: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

24 第 5章 プロセス制御系の数学モデル

ながらQiを操作することにより,lを調整する水面レベル制御系をつくることが目的であるとする.制御系をつくるためには,制御対象の入出力データがどのように表されるのか数学モデルをたてる必要がある.

5.2 連続時間系における数学モデル制御対象の内部の動的挙動は連続時間系で表される.また,センサーやアクチュエータ

がアナログ機器の場合には入出力データも連続時間で表される.

5.2.1 微分と微分方程式

微分とは物理量の瞬間的な変化量を表している.例えば,位置の瞬間的な変化が速度になるわけである.t時刻での物理量 x(t)の微分 dx(t)

dtは次のように定義される.

dx(t)

dt:= lim

h→0

x(t + h) − x(t)

h= lim

h→0

x(t) − x(t − h)

h(5.1)

ここで,上式の 2番目の式は現在からちょっと先の未来までの変化量であり,3番目の式はちょっと前の過去から現在までの変化量であり,この両者が一致する場合にのみ微分が定義されることに注意しよう.物理量の動的挙動は質量やエネルギー保存則を用いてその物理量の変化量 (微分値)が何かの値に等しいという式で表されことが多い.一般には次のような微分方程式になる.

dx(t)

dt= f(t) (5.2)

5.2.2 積分

積分は,時間軸を横軸として物理量を縦軸としたときの物理量の過去から現在まで面積のようなものを与えるものである.ただし,物理量が負の値をとるときには積分の値は負になるところが面積と異なる点である.積分の定義については説明が煩雑になるのでここでは述べない.(図 5.2).物理量の動的挙動が過去のデータの集積で決まるような場合には,物理量は次のような

積分方程式で表される.

x(t) =∫ t

−∞f(t)dt (5.3)

また,この式は微分方程式を積分しても得ることができる.

Page 25: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.2. 連続時間系における数学モデル 25

図 5.2: タンク

5.2.3 水面レベル系の非線形モデルとその線形化モデル

水面レベル系の場合,gを重力加速度とすると,出水口からの流出水量Qo[m3/s]はベ

ルヌイの定理から次式のようになる.

Qo = M√

2gl (5.4)

水面レベルの瞬間的変化の割合は,その時刻での水の流入量から流出量を引いたものを断面積で割ったものに等しいことから,次式がえられる.

dl(t)

dt=

1

S(Qi(t) − Qo(t)) =

1

S(Qi(t) − M

√2gl(t)) (5.5)

l(t)が状態を表す変数であるが,上式の右辺は l(t)に関して非線形関数となっている.上式のようなものを非線形微分方程式という.したがって,この式において入力がQi,出力が l(t)として,所望の水面レベル l∗(t)をえるように,Qi(t)を調整するコントローラを作ればよいことになる.しかし,種々のコントローラ設計法は線形微分方程式で表されるシステムに関してのものが多く非線形システムのものは限られている.この理由として次のようなことが考えられる.

1. 非線形系を一般的に解析するのは難しく,ケースバイケースの解析になってしまう.2. 定常運転を行う制御系では,基準値周りの小さな変動のみを考えればよいことが多い.3. 外乱や雑音抑制のためのコントローラは微小変動を考えれば十分なことが多い.4. コントローラの構成が線形系の方が容易である.

そこで,ここでも定常状態からの微小変動モデルを考えることにより,非線形微分方程式を線形化しよう.一定の流入水量Qi∗に対する定常的な水面レベル l∗は (5.5)式の右辺をゼロにすることでえられる.なぜならば,定常状態では水面レベルの変動はゼロであるか

Page 26: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

26 第 5章 プロセス制御系の数学モデル

らである.したがって,定常状態では流入水量と流出水量は等しいことになり,これからl∗がつぎのように求められる.

Qi∗ = M√

2gl∗

l∗ =Qi∗

2gM2

つぎに,流入水量をQi∗からQi∗+u(t)に変えたときの,水面レベルが定常値 l∗から l∗+x(t)

に変動したとする.このとき,x(t)の動特性を導出してみよう.

Qi(t) = Qi∗ + u(t)

l(t) = l∗ + x(t)

この式を (5.5)式に代入し,平方根部分を√1 +

x(t)

l∗= 1 +

1

2l∗x(t) + d(t)

とテーラー展開すると,次式がえられる.

dx(t)

dt= −M

S

√g

2l∗x(t) +

1

S(u(t) + M

√2gl∗d(t)) (5.6)

ただし,d(t)は x(t)の2次以上 (x(t)2, x(t)3, · · ·)の項を表しているが,x(t)が l∗に較べ十分小さい場合には無視できるほど小さい.このときには,上式で d(t) = 0として,次式がえられる.

dx(t)

dt= −M

S

√g

2l∗x(t) +

1

Su(t) (5.7)

ここで,u(t)が入力で,x(t)が出力かつ制御量である.また,d(t)が無視できるほどではないがかなり小さい場合には,d(t)の項を入力側に入る外乱と見なして,次のように近似できる.

dx(t)

dt= −M

S

√g

2l∗x(t) +

1

S(u(t) + w(t)) (5.8)

ここで,w(t)は外乱とする.

5.2.4 1次遅れ系

1次遅れ系とは,前述の (5.7),(5.8)式のような 1次の線形微分方程式で入力と出力が表されるシステムをいう.

dy(t)

dt+ ay(t) = bu(t) (5.9)

ただし,a, bはシステムパラメータで定数とし,u(t)が入力で,y(t)が出力とする.例えば,システムパラメータを a = 1, b = 1とし,時刻ゼロで出力 y(0) = 0から制御を

始め,入力 u(t) = 1を加えたときの出力の応答波形はつぎのようになる (図 5.3).

Page 27: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.2. 連続時間系における数学モデル 27

図 5.3: 1次遅れのステップ応答

5.2.5 2次遅れ系

2次遅れ系とは,2次の線形微分方程式で入力と出力が表されるシステムをいう.

d2y(t)

dt2+ a1

dy(t)

dt+ a2y(t) = bu(t) (5.10)

ただし,a1, a2, bは定数とし,u(t)が入力で,y(t)が出力とする.たとえば,図のような2つのタンクをもつ水面レベル制御系は 2次遅れ系で近似することができる (図 5.4).

図 5.4: 2層タンク

例えば,システムパラメータを a1 = 3, a2 = 1, b = 1とし,時刻ゼロで出力 y(0) = 0から制御を始め,入力 u(t) = 1を加えたときの出力の応答波形はつぎのようになる (図 5.5).

Page 28: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

28 第 5章 プロセス制御系の数学モデル

図 5.5: 2次遅れのステップ応答

5.2.6 むだ時間系

むだ時間系とは入力に対して出力が純粋な時間遅れとして出てくるようなシステムであり,次式のようにあらわせる.

y(t) = u(t − L) (5.11)

ここでは,入力は L時間遅れて出力に現れることになる.具体的には,液体や固体のの入口流入量を入力として,出口流出量を出力としたパイプや,ベルトコンベヤーなどである.上記の水面レベル系において,入力がタンク蛇口まで出てくるのに L秒かかるような場合には,つぎのような式で近似できる.

dy(t)

dt+ ay(t) = bu(t − L) (5.12)

上式のようなシステムをむだ時間+1次遅れ系と呼び,一般のプロセス制御系はこの系でよく近似される.例えば,システムパラメータを a = 1, b = 1,むだ時間 L = 2とし,時刻ゼロで出力

y(0) = 0から制御を始め,入力 u(t) = 1を加えたときの出力の応答波形は図 5.6となる.

5.2.7 ラプラス変換

ラプラス変換は次のような時間関数や微分積分オペレータをオペレータ sの関数に置き換える変換である.時間軸全域−∞ < t < ∞で定義される時間関数 f(t)のラプラス変換L{f(t)}は

L{f(t)} =∫ ∞

−∞e−stf(t)dt

で定義されこれを特に両側ラプラス変換という.制御系の場合には初期時刻があってそこから動的挙動のスタートする場合がほとんどであるので,初期時刻を t = 0 とおき,そこ

Page 29: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.2. 連続時間系における数学モデル 29

図 5.6: むだ時間系のステップ応答

からはじまる時間関数を考える.これをラプラス変換する場合には,f(t)を t < 0ではゼロとみなすことによりラプラス変換は次のようになる

L{f(t)} =∫ ∞

0e−stf(t)dt

これを特に片側ラプラス変換という.L{f(t)}と書くのが煩雑なときは,これが sの関数であることからF (s)と書くことが多い.以後,ラプラス変換は片側ラプラス変換とする.いろいろな関数のラプラス変換は次のようになる.

u(t) ⇒ U(s) (5.13)∫u(t)dt ⇒ 1

sU(s) (5.14)

du(t)

dt⇒ sU(s) − u(0) (5.15)

u(t − L) ⇒ e−LsU(s) (5.16)

1(単位ステップ関数) ⇒ 1

s(5.17)

e−at ⇒ 1

s + a(5.18)

sinωt ⇒ ω

s2 + ω2(5.19)

cosωt ⇒ s

s2 + ω2(5.20)

5.2.8 伝達関数

伝達関数とは入力のラプラス変換を出力のラプラス変換に対応づける入出力関係である.具体例で説明する.

Page 30: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

30 第 5章 プロセス制御系の数学モデル

例1)1次遅れ系入力 u(t),出力 y(t)のラプラス変換をそれぞれ U(s), Y (s)とおき,(5.7)式をラプラス変換し,入出力関係を導出すると次のようになる.ただし,初期状態 x(0)はゼロとする.

sY (s) + aY (s) = bU(s)

(s + a)Y (s) = bU(s)

Y (s) =b

s + aU(s)

ここで

G(s) =b

s + a(5.21)

と書き,これを伝達関数といい,図示するとつぎのようになる (図 5.7).伝達関数G(s)に

図 5.7: Simulinkでの伝達関数表現

おいて,sにある値を代入すると発散する (無限大になる)ことがある.このときの sの値を伝達関数の極という.また,G(s)の値がゼロになるような sの値をゼロ点という.一次遅れ系の場合の極は,−aであり,ゼロ点は無限大の値で,これを特に無限ゼロ点という.伝達関数のすべての極の実部が負のとき,伝達関数は安定であるという.伝達関数が安定である場合,どのような有限値の入力を入れても出力も有限値にとどまり発散しないことが容易に証明できる.例 2)2次遅れ系

1次遅れ系と同様にすると,2次遅れ系 (5.10)の伝達関数は次のようになる.

G(s) =b

s2 + a1s + a2(5.22)

2次遅れ系の極は 2つあり,s2 + a1s + a2 = 0解であり,複素数になる場合と実数になる場合があることがわかる.

Page 31: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.3. 離散時間系における数学モデル 31

例 3)むだ時間+1次遅れ系(5.12)の伝達関数は次のようになる.

G(s) =be−Ls

s + a(5.23)

5.3 離散時間系における数学モデル制御対象は連続時間系であるが,センサ信号をAD変換器でディジタル化して取り込み,

ディジタル回路やディジタル計算機によるソフトウェアで制御信号を計算し,これをDA

変換器でアナログ化してアクチュエータ信号とする場合を考えよう.AD変換器をサンプリング周期 T 秒のサンプラで,DA変換器を同じサンプリング周期 T 秒のホールダ (ゼロ次ホールダ)で理想化し,ホールダに入る前のディジタル信号を入力,サンプラから出てくるディジタル信号を出力とみなした制御対象は離散時間系である.また,ディジタル回路やディジタル計算機によるソフトウェアにより実現されるコントローラも離散時間系である.

5.3.1 差分

ディジタル信号 x[k], k = 0, 1, 2, · · ·の k時刻での差分∆x[k]は 1サンプル時間当たりの変化量であり,次式で与えられる.

∆x[k] = x[k] − x[k − 1]

5.3.2 和分

ディジタル信号 x[k], k = 0, 1, 2, · · ·のゼロ時刻から L時刻までの和分は∑L

k=0 x[k] である.

5.3.3 1次遅れ系

前述の連続時間1次遅れ系の出力側にサンプリング周期 T のサンプラを,入力側にサンプリング周期 T のホールダを付けた場合の離散時間系表現は次のようにして得られる.いま,サンプリング周期 T ごとの入力と出力のディジタル信号を次式のように定義する.

y[k] := y(kT ), k = 0, · · ·u[k] := u(kT ), k = 0, · · ·

このとき,ホールダはつぎのような入力を生成する.

u(t) = u[kT ], kT ≤ t < (k + 1)T (5.24)

Page 32: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

32 第 5章 プロセス制御系の数学モデル

初期条件が y(t0) = y0のときの (5.7)式の解は,

y(t) = e−a(t−t0)y0 +∫ t

t0e−a(t−τ)bu(τ)dτ (5.25)

と表されることから,サンプリング時刻 kと k +1における出力は次のように与えられる.

y[k + 1] = e−aT y[k] +∫ T

0e−aτbdτu[k]

= e−aT y[k] +1 − e−aT

abu[k]

これより,1次遅れ系のディジタルモデルは次式となる.

y[k + 1] = Ady[k] + bdu[k] (5.26)

ただし,

Ad = e−aT , bd =1 − e−aT

a

5.3.4 2次遅れ系

2次遅れ系については,指数関数行列を用いなければならず記述が複雑になるので,省略する.

5.3.5 むだ時間+1次遅れ系

むだ時間Lがサンプリング周期T の整数倍でL = NT と書ける場合には次のようにディジタルモデルが書ける.

y[k + 1] = Ady[k] + bdu[k − NT ] (5.27)

5.3.6 z変換

信号列 {x[i]} = {x[0], x[1], · · · , x[i], · · ·}に対して次式を {x[i]}に対する z変換という.

X[z] = x[0] + x[1]z−1 + x[2]z−2 + · · · + x[i]z−i + · · · (5.28)

また,これを次のようにかく.Z{x[i]} = X[z] (5.29)

ここで,Z{•}は z変換をするオペレータであり,z−1は信号を 1サンプル遅らせるオペレータである.つまり,

Z{x[i − 1]} = z−1X[z] (5.30)

Page 33: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.3. 離散時間系における数学モデル 33

連続時間関数であるステップ関数と指数関数を周期 T でサンプリングした信号列とむだ時間の z変換は次のようになる.

1(単位ステップ関数) :1

s⇒ z

z − 1

e−at :1

s + a⇒ z

z − e−aT

むだ時間 : e−Ls ⇒ z−N

ただし,L = NT とする.

5.3.7 パルス伝達関数

さらに,上式を z変換することにより,パルス伝達関数が次のように求められる.

Y [z] = Gd[z]U [z] (5.31)

ただし,

Y [z] = Z{y[k]}U [z] = Z{u[k]}

Gd[z] =bd

z − Ad

パルス伝達関数の場合も連続時間系の伝達関数と同様に極とゼロ点が定義できる.パルス伝達関数のすべての極の絶対値が 1よりも小さいとき,パルス伝達関数は安定であるという.この場合には,どのような有限値の入力を入れても出力は有限値にとどまることを示すことができる.連続時間系の場合との違いに注意すること.例題として,つぎのような差分方程式のパルス伝達関数を求めよう.

y[k] + 2y[k − 1] + y[k − 2] + 3y[k − 3] = u[k − 2] + 5u[k − 3]

演算子 z−1は 1サンプル時間遅れを意味しているので,上式を z変換すると次式のようになる.

(1 + 2z−1 + z−2 + 3z−3)Y [z] = (z−2 + 5z−3)U [z]

これから,U [z]から Y [z]までのパルス伝達関数Gd[z]は次式となる.

Gd[z] =z−2(1 + 5z−1)

1 + 2z−1 + z−2 + 3z−3

=z + 5

z3 + 2z2 + z + 3

逆に,パルス伝達関数表現で書かれているシステム

Y [z] =z−2

1 + z−1 + 2z−2U [z]

Page 34: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

34 第 5章 プロセス制御系の数学モデル

は,つぎのようにして差分方程式に直すことができる.

(1 + z−1 + 2z−2)Y [z] = z−2U [z]

y[k] + y[k − 1] + 2y[k − 2] = u[k − 2]

Page 35: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.4. SIMULINKを使った代表的応答例 35

5.4 SIMULINKを使った代表的応答例

図 5.8: Simulinkによるステップ応答計算 (1次系)

Page 36: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

36 第 5章 プロセス制御系の数学モデル

図 5.9: Simulinkによるステップ応答計算 (2次系)

Page 37: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

5.4. SIMULINKを使った代表的応答例 37

図 5.10: Simulinkによるステップ応答計算 (ディジタル系)

Page 38: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 39: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

39

第6章 プロセス制御系の性能評価のための手法—連続時間系

通常,プロセス制御系設計の際には伝達関数を用いる.この理由は,微分方程式のままだと微積分の取り扱いが面倒になるが,伝達関数ではこれがなくなり,単純に sに関する代数計算で事足りるからである.

6.1 ブロック線図伝達関数を使ってシステムを記述し,その構造を図示したものがブロック線図と呼ばれ

る.これは前に述べたシステムのネットワークを伝達関数とラプラス変換した信号で表したものに等しい.ブロック線図には次の 3つの基本構成要素がある (図 6.1参照).

1. 伝達ブロック2. 加えあわせ点3. 引き出し点

図 6.1: ブロック線図の基本要素

Page 40: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

40 第 6章 プロセス制御系の性能評価のための手法—連続時間系

6.2 閉ループ伝達関数図 6.2のような単一フィードバック系を考えよう.ここで,Y (s):出力,R(s):目標値,

図 6.2: 単一フィードバック系

U(s):制御入力で,すべて時間関数をラプラス変換したものを表しているとする.また,G(s)は制御対象をモデル化した伝達関数,C(s)はコントローラ (前置補償器とも呼ばれる) の伝達関数である.制御系の目的は,出力 Y (s)が目標値R(s)に追従するようなコントローラを設計することであり,設計されたコントローラの性能は目標値から出力までの伝達関数 (閉ループ伝達関数という)によって決定される.

6.3 安定性の評価閉ループ系が暴走せずに安定しているためには,閉ループ伝達関数のすべての極の実

部が負でなければならない.したがって,これらの極が複素平面上の左半面にあることをチェックしなければならない.

6.4 過渡応答を評価するために閉ループ伝達関数G(s)の過渡応答を評価するための手段をいくつか紹介しよう.

6.4.1 ステップ応答波形による評価

閉ループ伝達関数G(s)に目標値として単位ステップ信号を加えたときの,代表的な応答は図 6.3のようになる.もちろん,出力の t = 0での初期状態はゼロとする.ステップ応答で着目する各量は次のとおりである.

Page 41: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

6.4. 過渡応答を評価するために 41

図 6.3: ステップ応答

1. 偏差:各時刻における目標値と出力との差2. 定常偏差:応答の最終的に落ち着く先と目標値との差3. オーバーシュート:出力が定常値を越えたものの最大値4. アンダーシュート:出力が定常値と逆方向,定常値が正の値の場合には負の方向へ逆応答したときの最大値

5. ピーク時間:オーバーシュートに達するまでの時間 TP

6. 立ち上がり時間:定常値の 10% から 90% まで変化する時間 Tr

7. 5% 整定時間:出力が定常値を中心として 5% の範囲内に収まるまでの時間 Ts

6.4.2 偏差の時間積分値による評価

各時刻における偏差 e(t)の大きさを時間積分してその値の小ささにより性能評価をする方法がある.大きさのとりかたには次のようなものがある.

1. IAE (integral of absolute value of error):偏差の絶対値の積分∫ ∞

0|e(t)|dt (6.1)

2. ISE (integral of squared error):偏差の 2乗の積分∫ ∞

0{e(t)}2dt (6.2)

3. ITAE (integral of time multiplied by absolute error):偏差の絶対値の積分∫ ∞

0t|e(t)|dt (6.3)

Page 42: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

42 第 6章 プロセス制御系の性能評価のための手法—連続時間系

6.4.3 極配置による評価

閉ループ系の極の配置を図に描き,指定された領域に入っているかどうかで判断する.極の実部は応答減衰の速さに関係し,虚部は振動の振幅に関係しているが,極相互の位置にも依存しており具体的な評価とは言い難い.

6.5 定常応答を評価するために周波数伝達関数とは入力としていろいろな周波数の正弦波・余弦波を加えたときの出力

の定常応答との入出力関係を表している.詳しく言うと,入力である正弦波・余弦波の振幅と位相が定常出力ではどのように変化するのかを複素数で表すものである.周波数応答は制御系の定常特性の評価のためによく用いられる.ボード線図はこれを図示したものである.

6.5.1 周波数応答

閉ループ伝達関数G(s)のシステムに目標値として次のような正弦波を入力する.

v(t) = Vm sin(ωt + φ) (6.4)

時間が十分経過したときの定常出力 ys(t)は同じ周波数の正弦波となり,次のようになる.

ys(t) = |G(jω)|Vm sin(ωt + φ + � G(jω)) (6.5)

ここで,j は純虚数√−1である.G(jω)は ωに依存する複素数であり,下図のように,

|G(jω)|はその大きさ,� G(jω)はその偏角を表している.制御工学では,|G(jω)|を伝達関数のゲインといい,� G(jω)をその位相という.上式は,定常応答の振幅が目標値入力を |G(jω)|倍したものになり,位相が目標値入力の位相から � G(jω)進むことを表している (図 6.4参照).

6.5.2 ボード線図

ωを横軸 (対数軸)に,|G(jω)|と � G(jω)を縦軸に描いたものをボード線図という.次図は伝達関数G(s) = 1

s+2のボード線図である (図 6.5参照).

6.6 フィードバック制御系の構造と目的—外乱の存在する場合

伝達関数 P (s)で表されるシステムを制御するために,つぎのようなフィードバック制御系を構成する (図 6.6参照).上図で,Y (s):出力,R(s):目標値,U(s):制御入力,V (s):

Page 43: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

6.6. フィードバック制御系の構造と目的—外乱の存在する場合 43

図 6.4: 周波数伝達関数のゲインと位相

フィードバック量,D(s):外乱,N(s):雑音で,すべて時間関数をラプラス変換したものを表しているとする.また,P (s)はプラント伝達関数で,C(s)は 前置補償器,H(s)はフィードバック補償器と呼ばれる.出力は次式のようになる.

Y (s) = T (s)R(s) + S(s)P (s)D(s) − (1 − S(s))N(s) (6.6)

ただし,

G(s) = H(s)P (s)C(s) : 開ループ伝達関数 (6.7)

S(s) =1

1 + G(s): 感度関数 (6.8)

T (s) =P (s)C(s)

1 + G(s): 閉ループ伝達関数 (6.9)

(6.6)式右辺第 1項が目標値信号R(s)の出力 Y (s)までの影響,第 2項が外乱信号D(s)の出力 Y (s)までの影響,第 3項が雑音信号N(s)の出力 Y (s)までの影響を表している.ここで,目標値と出力の差を偏差信号として次のように定義する.

E(s) = R(s) − Y (s) (6.10)

あるいは,時間領域でかくと,次式である.

e(t) = r(t) − y(t) (6.11)

(6.6)式より,E(s)は次のように表される.

E(s) = (1 − T (s))R(s) − S(s)P (s)D(s) + (1 − S(s))N(s) (6.12)

Page 44: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

44 第 6章 プロセス制御系の性能評価のための手法—連続時間系

図 6.5: ボード線図

制御系は偏差信号を限りなく小さくすることが望まれるので,制御系設計の目的は次のように言うことができる.

フィードバック制御系構成の目的は,外乱,雑音さらにプラントのモデリング誤差に影響されず,偏差 eをゼロに近づけるようなC(s)やH(s)を見つけることである.

ただし,同一の周波数域において,(6.12)式右辺の全部の項を小さくする(各伝達関数1− T (s), S(s)P (s), 1− S(s)のゲインを下げる)ことは難しい.なぜならば,これらの伝達関数にはある代数的関係が成立し,一方を小さくすると,もう一方が大きくなるといった性質があるからである.実際の制御系では,目標値や外乱は比較的低周波の信号から成り,雑音は高周波の信号からなることが多い.そこで,各周波数域において,各伝達関数のゲインを小さくすることにより,外乱抑制と制御性能の向上を同時に達成できることになる.

6.7 フィードバック制御系の構造と目的—モデリング誤差の存在する場合

伝達関数によるプラントの数式モデルは,非線形性による近似誤差や物理パラメータの測定誤差のために,実プラントとの間にモデリング誤差を生んでしまう.制御系においては,このようなモデリング誤差にどの程度有効であるかも重要な評価ポイントとなる.モデリング誤差に強い制御系をロバストな制御系というが,これには 2つの項目がある.

Page 45: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

6.7. フィードバック制御系の構造と目的—モデリング誤差の存在する場合 45

図 6.6: フィードバック制御系

• ロバスト安定性 :

設計モデルにより設計されたコントローラがモデリング誤差のあるプラントに適用されても,フィードバック系の安定性を損なわないこと.

• ロバスト性能 :

設計モデルにより設計されたコントローラがモデリング誤差のあるプラントに適用されても,設計仕様と大差のない性能を保持すること.

ロバスト安定性の初歩的な概念は古典制御における安定余裕 である.安定余裕にはゲイン余裕と位相余裕がある.ゲイン余裕とは,設計モデルを用いたフィードバック制御系において設計モデルのゲインを増加させたときにフィードバック系が安定性を保つギリギリの値をいい,位相余裕は同様に位相を変化させたときに安定性を保つギリギリの値をいう.この値はボード線図で見積ることができ,ゲイン余裕は位相が-180度のときのゲインの値から位相余裕はゲインが 0 [dB]のときの位相の値からわかる.一般的なロバスト制御理論は 1980年代にはいってから整備され,基本的には,開ルー

プ伝達関数,感度関数,相補感度関数の周波数応答をコントローラにより整形することにより達成される [33],[53],[56].たとえば,開ループ伝達関数においては,目標値信号のある低周波域でそのゲインを大きくし (制御性能を上げる),モデリング誤差の影響が大きい高周波域でゲインを下げる (ロバスト安定性を満足させる)ようにコントローラを設計する.もっと正確には,低周波域で感度関数のゲインを小さくし,高周波域で相補感度関数のゲインを下げるようにコントローラを設計すればよい.

Page 46: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 47: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

47

第7章 プロセス制御系のモデリングとシステム同定

7.1 モデリングとシステム同定とは?

モデリングとは,人間の知識の範囲内で現象を規則づけることであり,この規則がモデルである.規則づけする場合の方法としては次のようなものが考えられる.

1. 言葉などによる主に定性的な規則づけ—Rule-based-model, ファジィモデル,グラフモデル

2. 数式による主に定量的な規則づけ(a) 物理法則に基づく数式モデル—5章で述べた(b) 入出力データに基づく信号処理モデル

定性的な規則付けによるモデリングは本書の目的ではないので省略し,定量的な規則付けによるモデリングのみを述べよう.5章で述べた物理法則に基づく数式モデルは,ロボットなどのメカトロニクスの分野で特に有効である.化学工業や鉄鋼業のようなプロセス制御系では,その 1つ1つの要素は 5章のような数式モデル化が可能であるかもしれないが,通常はこれらの要素が多数組み合わせられて 1つのシステムが構成されていることが多い.このため,システム全体の数式モデルは複雑なものとなり,下手をすると 100次以上の非線形の高次システムになることさえある.たとえこのようなモデルが立てられたにせよ,このモデルに必要なすべての物理パラメータを測定することは不可能に近い.さらに,もともと数式になりにくいシステムも混在している場合には,なおさらである.このため,ある程度簡略化した物理モデルをたて,システムの入出力データに適合するようにそのパラメータを決定するか,あるいは物理モデルには立脚せずにシステムの入出力データの適合するような単なる数式モデルを立てざるを得ない.ニューラルネットワークも後者の 1手法である.文献 [21]によると,モデリングの手順は次のようになると述べられている.

1. モデルの使用目的を明確化させる.2. システムの構成要素を決定する.3. 構成要素間の関連を調べる.4. 先験的知識,自然科学法則を利用して,各構成要素のモデルを導く.5. モデルに含まれるパラメータを実験データから推定し,また同時にモデルの不確かさに関する評価を与える.

Page 48: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

48 第 7章 プロセス制御系のモデリングとシステム同定

6. シミュレーションによりモデルの検証を行う.7. モデルが不適当であれば,上記のステップの一部あるいはすべてを繰り返して,モデルの修正を行う.

手順 2,3を構造解析,4をシステム解析,5をパラメータ推定,誤差の評価,6をモデルの検証という.このようにして,システムのモデルが構築されるわけであるが,物理モデルに立脚する

ことが,より本物のシステムに近いかというと,なかなかそうはいかない.もともと物理モデルそのものが近似であり,その意味では我々は,本物を見いだすことは出来ないと言っても過言ではない.入出力データと手持ちの数式モデル (物理システムに立脚している必要はない) をもと

に,なるべく入出力データにフィットするように (通常は,誤差の 2乗値を最小にするなどの評価基準を入れる),手持ちの数式モデルの中からそのシステムに相応しいモデルを選定することを,システム同定という.とにかく,なるべくデータと制御目的に合うモデルをつくるというのが制御屋の立場であり,これは物理屋からすると理解できないことかもしれない.

7.2 出力データの前処理の重要性計測された出力データにはノイズがのっていたり,ディジタル計測して連続信号をディ

ジタル化した場合にはエリアシングの影響があるので,低域フィルタを用いて高周波成分を小さくしてやる必要がある.これについては,信号処理の解説書を参考されたい.

7.3 ステップ応答による簡易システム同定対象とするシステムに対する手持ちのモデルとして,つぎのどちらかを与える.

1. 定位プロセス

G(s) =K

1 + Tse−sL (7.1)

2. 無定位プロセス

G(s) =K

se−sL (7.2)

ただし,ステップ応答が一定値に収束するようなシステムでは定位プロセスのモデルを用い,ステップ応答が発散するようなシステムでは無定位プロセスのモデルを用いる.さらに,システムのステップ応答を連続時間で計測し,この出力波形にフィットするようにK, T, Lを決定することによりシステムの近似モデルを構築できる.これはプロセス制御系のPID制御を行う場合によく用いられる方法である.ここで,2次遅れ系は上式の定位プロセスで近似できることに注意しよう.高次遅れ系についても同様である.

Page 49: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7.4. 周波数応答によるシステム同定 49

例えば,T = 1, K = 1, L = 2のときの定位プロセスと無定位プロセスのステップ応答は次のようになる (図 7.1参照).

図 7.1: 定位位プロセスと無定位プロセス

7.4 周波数応答によるシステム同定システムに色々な周波数の正弦波を加え,その定常応答からボード線図をつくり,シス

テムの周波数特性を推定することができる.この手法は確実なやり方であるが,多くの時間を要することとシステムに正弦波という試験入力を加えることが出来なければならない.

7.5 統計的システム同定手法入出力データを測定する場合,様々なノイズが混入することが多い.例えば,次図のよ

うな入出力データがそれである.また,数式によりモデル化できない部分をノイズとしてとらえることもできる (図 7.2参照).ノイズは確率変数の時系列 (確率過程という)として考えることができる.確率変数とは,信号値がどの程度の割合で出現するかが確率分布関数と呼ばれる規則にしたがって規定されているような変数をいう.また時系列とは,動的パターンをもつ確率変数のことである.連続時間の確率過程を解析するための理論は数学的に高度な話になるので,通常は離散時間の確率過程解析をを用いることが多い.ここでも,離散時間の確率過程における諸々の統計量の定義について述べておこう.

Page 50: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

50 第 7章 プロセス制御系のモデリングとシステム同定

図 7.2: 定位位プロセスと無定位プロセス

7.5.1 平均,分散,パワースペクトル

本来,確率変数は確率分布関数を用いて,平均や分散などの統計量が定義されるが,同じ分布関数に従う確率変数が時系列データとして得られる場合 (定常確率過程という)は,分布関数を使うかわりに時間平均を使って統計量を定義する.定常確率過程の場合,無限個のデータの平均による統計量と分布関数による統計量は一致すると考えられる (エルゴード性という).しかしながら,実際のデータ観測では有限個のデータしか得られない.したがって,時間平均による統計量も有限個のデータに基づかざるを得ない.そこで,N

個の有限個のデータ {x(k)}, {y(k)}, k = 0, 1, · · · , N − 1に対しては,次のように統計量を定義する.

1. 平均値:x

x =1

N

N−1∑k=0

x(k) (7.3)

2. パワー:pow(x)

pow(x) =1

N

N−1∑k=0

x2(k) (7.4)

3. 分散:σx

σx =1

N

N−1∑k=0

(x(k) − x)2 (7.5)

4. 自己相関関数:φxx(m)

φxx(m) =1

N

N−1∑k=0

x(k)x(k + m) (7.6)

Page 51: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7.5. 統計的システム同定手法 51

5. 相互相関関数:φxy(m)

φxy(m) =1

N

N−1∑k=0

x(k)y(k + m) (7.7)

6. パワースペクトル:Φxx(k)(自己相関関数の離散フーリエ変換,FFTで計算できる)

Φxx(k) =1

N

N−1∑m=0

φxx(m)e−j2πkm/N (7.8)

7. クロススペクトル:Φxx(k)(相互相関関数の離散フーリエ変換)

Φxy(k) =1

N

N−1∑m=0

φxy(m)e−j2πkm/N (7.9)

分散は時系列データのばらつきの大きさ,自己相関関数は時系列データを一定時間ずらしたときの元のデータとの関連,パワースペクトルは時系列データの周波数成分の振幅の大きさを表している.

7.5.2 スペクトル推定による同定

前述の 2つの同定法は試験入力を自由にシステムに加えることができるという前提が必要である.ところが,操業中のプラントなどでは試験入力を加えづらいことが多い.このような場合には,操業中の入出力データからシステム同定しなければならない.スペクトル推定による同定は,入力データと出力データのクロススペクトルと入力のパワースペクトルの比が周波数伝達関数を与えることから同定を行うものである.詳細については他書に譲る.

7.5.3 確率時系列信号のモデル

まず,白色時系列を定義しよう.これは,異なった時点における時系列に相関がない,つまり,自己相関関数φxx(m)がm = 0のときのみ非ゼロであるような確率時系列を言う.これに対して有色時系列は,白色でない相関のあるような時系列をいう.通常ノイズと呼ばれているものは有色時系列である.白色時系列により生成することができる有色時系列として次のようなものがある.

1. 自己回帰 (AR)過程 (Auto-Regressive process)

y[t] = −a1y[t− 1] − a2y[t − 2] − · · · − any[t − n] + b0v(t) (7.10)

2. 移動平均 (MA)過程 (Moving Average process)

y[t] = b0v[t] + b1v[t − 1] + · · ·+ bnv[t − n] (7.11)

3. 自己回帰移動平均 (ARMA)過程

y[t] = −a1y[t−1]−a2y[t−2]−· · ·−any[t−n]+b0v[t]+b1v[t−1]+· · ·+bmv[t−m] (7.12)

ただし,v[t]は白色時系列である.

Page 52: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

52 第 7章 プロセス制御系のモデリングとシステム同定

7.5.4 統計的システムモデル

統計的システムモデルは次図のようなものである (図 7.3参照).ただし,u, y, eは各々

図 7.3: 統計的システムモデル

入力,出力,ノイズを表す確率時系列とする.また,G(z−1)はシステムを表すパルス伝達関数で,H(z−1)は出力に混入するノイズの性質を表すパルス伝達関数で,eは白色雑音とする.G(z−1), H(z−1)のモデルのとり方には次のようなものがある.

1. ARXモデル

A(z−1)y[t] = B(z−1)u[t − nd] + e[t]

A(z−1) = 1 + a1z−1 + · · · + anaz

−na

B(z−1) = 1 + b1z−1 + · · ·+ bnb

z−nb+1

2. ARMAXモデル

A(z−1)y[t] = B(z−1)u[t − nd] + C(z−1)e[t]

C(z−1) = 1 + c1z−1 + · · ·+ cncz

−nc

3. 出力誤差 (OE)モデル (Output Error model)

y[t] =B(z−1)

F (z−1)u[t − nk] + e[t]

F (z−1) = 1 + f1z−1 + · · ·+ fnf

z−nf

Page 53: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7.5. 統計的システム同定手法 53

4. Box-Jenkins(BJ)モデル

y[t] =B(z−1)

F (z−1)u[t − nk] +

C(z−1)

D(z−1)e[t]

D(z−1) = 1 + d1z−1 + · · · + dnd

z−nd

5. 一般のモデル

A(z−1)y[t] =B(z−1)

F (z−1)u[t − nk] +

C(z−1)

D(z−1)e[t]

7.5.5 狭義のシステム同定

狭義のシステム同定とは入出力データから,ある評価基準を用いて,z−1に関する多項式A(z−1),B(z−1), C(z−1),F (z−1) ,D(z−1)の係数を決定することである.狭義のシステム同定には次のような方法があるが,詳細については他書に譲る [21].

1. 最小 2乗法2. 最尤法3. 補助変数法4. 一般化最小 2乗法5. 拡大最小 2乗法6. 確率近似法7. H∞同定法

また,上記の手法をアルゴリズムで実現する場合に,まとめたデータから一度に同定する計算方法 (オフライン同定法)と得られるデータから逐次同定していく計算方法 (オンライン同定法)がある.

Page 54: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

54 第 7章 プロセス制御系のモデリングとシステム同定

7.5.6 MATLABによるシステム同定の例題

シミュレーション例

実際のプラントの離散時間表現がARMAXモデル

A(z−1)y[t] = B(z−1)u[t − nd] + C(z−1)e[t]

A(z−1) = 1 − 1.5z−1 + 0.7z−2

B(z−1) = z−1 + 0.5z−2

C(z−1) = 1 − z−1 + 0.2z−2

と想定して,入力信号と雑音信号を与えて,入出力データをテストデータとして求め,このデータから逆にA(z−1),B(z−1),C(z−1) のパラメータを同定することを考える [78].

MATLABでは,多項式A, B, Cはつぎのようなベクトルデータ (poly formatという)として与えることができる.

A = [1 − 1.5 0.7]; B = [0 1 0.5]; C = [1 − 1 0.2];

MATLABのSystem Identification Toolboxでは,ARXやARMAXなどのいろいろなシステムを統一した形式で表す theta formatというものを用いる.ARMAXモデルから theta

formatへの変換はつぎのような関数を用いる.

th f for ARMAX = poly2th(A, B, C);

また,入力と雑音をつぎのように与える.ただし,randn()は平均 0,分散 1の正規白色雑音で,sign()はそのデータの符号をとるものとする.

u = sign(randn(300, 1));

e = randn(300, 1);

そこで,入力と雑音に対するARMAXモデルの応答を,idsim()関数を用いて計算し,入出力信号を idplot()関数を用いてプロットする (図 7.4参照).

y = idsim([u, e], th f for ARMAX);

idplot([y, u], 1 : 300)

ついで,関数 spa()を用いて,この入出力データの周波数伝達関数 (ゲインと位相)を求め,関数 bodeplot()で表示する (図 7.5参照).

GSS = spa(z);

bodeplot(GSS);

Page 55: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7.5. 統計的システム同定手法 55

図 7.4: 入出力データ

さらに,データ zからARXモデルとARMAXモデルにより,システムパラメータを関数 arx(),armax()を用いて同定し,関数 present()を用いてパラメータを表示する.

estimated th f by ARX = arx(z, [221]);

present(estimated th f by ARX)

estimated th f by ARMAX = armax(z, [2221]);

present(estimated th f by ARMAX)

この結果,同定されたパラメータはARXモデルの場合,

A = [1.0000 − 1.2552 0.4744]

B = [0 1.0537 0.6582]

ARMAXモデルの場合,

A = [1.0000 − 1.5254 0.7213]

B = [0 1.0793 0.3950]

C = [1.0000 − 0.9805 0.1975]

となる.関数 th2ff()を用いて,周波数伝達関数を比較する (図 7.6参照).

G ARX = th2ff(estimated th f by ARX);

G ARMAX = th2ff(estimated th f by ARMAX);

bodeplot([GSSG ARXG ARMAX])

Page 56: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

56 第 7章 プロセス制御系のモデリングとシステム同定

図 7.5: ボード線図

実データを取り扱う上での注意

実データを取り扱う際にはつぎのような点に注意を払う必要がある.

1. トレンドの除去入出力データの平均値がゼロになるように,関数 dtrend()を用いて,トレンドを除去する.

2. 異常データの除去異常なノイズの影響を受けているデータがモデルにあまり影響を与えないようにする.

3. データのフィルタリング注目している周波数領域でのモデル構築のためには,関数 idfilt() を用いてその帯域を強調するようなフィルタによりデータをフィルタリングする.

4. むだ時間の正確な見積むだ時間を与えて,パラメータ同定を行うので,正確にこれを見積らないとあやまった同定結果を与えてしまう.

Page 57: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

7.5. 統計的システム同定手法 57

図 7.6: ボード線図

Page 58: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 59: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

59

第8章 アナログPID制御とディジタルPID制御

PID制御の歴史は古く,はるか 70年前までさかのぼる.有名な Ziegler & NicholsのPID

パラメータの調整法なども 50年も前のことである.このような古いものであるにもかかわらず,現在実用されているコントローラの 80%以上を占めている.なぜ,未だに PID

制御がすたれずに生き残っているかという理由は次の 2つであると思われる.

1. コントローラの構造が簡単で,直感で理解しやすい.2. システム構造の情報がおおまかなものでも,たいだいの性能は得られる.

本章では,フィードバック制御系の制御則である PID制御とはどういうものか簡単に説明し,この制御則をアナログとディジタルで実現した場合の違いについて説明する.また,プロセス制御系におけるPIDコントローラのパラメータ調整方法についても述べる.

8.1 アナログPID制御とその調整法連続時間で表現されるシステムを安定化し,かつ目標信号へ追従させるようなコント

ローラの一つとしてアナログ PIDコントローラがあり,特にプロセス制御系にはよく用いられているものである.アナログ PIDコントローラはオペアンプで実現することが出来る.

8.1.1 アナログPIDコントローラとは?

PID制御系のブロック線図を図 8.1に示す.ここで,コントローラは,設定値と出力の差,つまり偏差 e(t)を入力として,この値を比例倍したり (比例動作,P動作),積分したり (積分動作,I動作),微分したり (微分動作,D動作)して,制御対象の入力値を出力する.式でかくと次式のようになる.

u(t) = KP (e(t) +1

TI

∫e(t)dt + TD

de(t)

dt) (8.1)

伝達関数表現すると次のようになる.

U(s) = C(s)E(s) = KP (1 +1

sTI+ sTD)E(s) (8.2)

Page 60: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

60 第 8章 アナログ PID制御とディジタル PID制御

図 8.1: PID制御系

ただし,入力 u(t),出力 y(t),偏差 e(t)のラプラス変換を各々U(s), Y (s), E(s)とした.また,KP , TI , TDは可調節パラメータであり,この値を調整することにより,yを rに追従させたり,外乱や雑音に影響されない制御系をつくることができる.各々KP,1

sTI,sTDの

部分をそれぞれ比例(Proportinal),積分(Integral),微分(Derivative)制御という.さらに,C(s)をPID制御器といい,KP を比例ゲイン,TIを積分時間,TDを微分時間とよぶ.また,比例,微分要素が出力を直接フィードバックし,積分要素のみが偏差をフィードバックする次のようなコントローラも考えられており,これを I-PD制御と呼ぶが,これについては次章で述べる.なお,現実のプラントでは完全な意味での微分要素を実現することは不可能であるの

で,通常,次のような近似微分が用いられる.

KDs ≈ KDs

1 + γKDs(8.3)

ここで,1/γを微分ゲインといい,市販の調整器では 10前後に固定されているものが多い.一方,PIDコントローラの伝達関数を

C(s) =1

s(KPs + KI + s2KD)

のように書き直し,まず,入力の微分値を計算し,つぎにそれを積分演算して入力とする方式も考えられている.これを速度型のPID制御という.直接入力値を計算する (8.2)式を位置型の PID制御という.次図が,PIDコントローラの代表的な応答例を図 8.2に示す.コントローラが P動作のみの場合には,ふつうオフセット (定常偏差)が生じる.そこ

で I動作を付加することにより,オフセットを除去できる.さらに,応答のスピードアップのためにD動作をつけ加える.PIDコントローラはアナログ電子回路 (IC化されている)で実現できる.そのもっとも基本的な回路をつぎに示す.

Page 61: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.1. アナログ PID制御とその調整法 61

図 8.2: PID制御系の応答

� オペアンプ:(a)にオペアンプの回路記号を示す.2本の入力端子と 1本の出力端子をもつ増幅器で,正負の 2電源を必要とするがk回路記号では省略されることが多い.入力信号を+端子に加えると,入力と同相の出力が出力端子に現れ,-端子に加えると入力とは逆相の信号が出力される.� 比例器:ポテンショメータとオペアンプによるゲイン定数 0 ∼ 1の比例器の回路図を (b)

に示す.e+ = Kei, eo = Kei

� 符号反転器:オペアンプとインピーダンスZi, Zfを使った符号反転器を (c)に示す. ei

Zi+

eo

Zf= 0

�積分器:オペアンプ,抵抗とコンデンサを使った積分器を (d)に示す.eo = − 1T

∫eidt, T =

CR

� 微分器:オペアンプ,抵抗とコンデンサを使った積分器を (e)に示す.eo = −T dei

dt, T =

CR

8.1.2 アナログPIDコントローラによる定常特性改善のための指針

PID制御などのように,H(s) = 1とし,制御器を前置補償器のみとした制御系を単一フィードバック系 (Unity Feedback System)という.この場合には,制御器の入力は,偏差信号であり,閉ループ伝達関数 T (s)と感度関数 S(s)には次の関係が成り立つ.

S(s) + T (s) = 1 (8.4)

この場合,偏差は次のようにかける.

E(s) = S(s)R(s) − S(s)P (s)D(s) + T (s)N(s) (8.5)

この式は,単一フィードバック系において同じ周波数領域では,S(s)と T (s)を同時には小さくできないことを意味している((8.4)式の意味で,T (s)を相補感度関数という).し

Page 62: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

62 第 8章 アナログ PID制御とディジタル PID制御

図 8.3: オペアンプによる PID演算器

かし,前述したように目標値と外乱は低周波域に,雑音は高周波域にあることが通常である.そこで,低周波域で伝達関数 S(s)および S(s)P (s) のゲインを小さくし,高周波域で伝達関数 T (s)のゲインを小さくすることにより,外乱抑制と追従性能の両方が向上するような制御系を構成することが出来る.これは,開ループ伝達関数G(s)C(s)のゲインを低周波域で大きく,高周波域で小さくすることによっても達成できる.このようにして,PID制御器設計問題は,設計パラメータKP , TI , TDを用いて,いか

に開ループ伝達関数 P (s)C(s)の周波数特性を整形するか,という問題に帰着される.どのようにして設計パラメータをチューニングしていくのかが,一番問題となる.本資料では,プロセス制御系でよく用いられている古典的パラメータ調整法について述べる.一般のロバスト制御問題では,コントローラの一般形を用いて,伝達関数の周波数整形を行っているが,本資料ではそこまで立ち入らない.

8.1.3 アナログPIDコントローラの直感的パラメータ調整法

定常特性と過渡特性を改善するための直感的なパラメータ調整の目安をのべる.� オフセットを除くにはどうするか?

方法 1:P動作のゲインをおおきくする (ハイゲインの一番初等的なもの)

 ただし,制御対象によっては,入力の振幅制限や不安定性などのためにあまりゲインをおおきくできない場合がある.方法 2:I動作をいれる.  I動作には,マニュアルリセットとオートマチックリセットの 2つがある.マニュアルリセットとは,定常偏差が残ると,手動で偏差をゼロにするよう調整するようにしたものであるが,I動作素子を使えなかった時代の苦肉の策であった.I動作素子を使うものをオートマチックリセットという.

Page 63: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.1. アナログ PID制御とその調整法 63

� 行き過ぎ量を小さく抑えるにはどうするか?

  P動作ゲインをあまりおおきくしない.I,D動作の調整をおこなう.� はやく収束させるにはどうするか?

 D動作を大きくする.上に代表的な指針をあげたが,あくまでも目安であり,P,I,Dの動作の微妙なチューニングが必要である.チューニングのやり方としては,1)偏差の面積を積分したものを評価として,これを最小にするような PIDゲインを最適化計算により求める,2)振幅減衰比を 25パーセントにするのが適当であるといく経験的結果をもとに,制御対象を 1次おくれ要素とむだ時間に近似してPIDゲインを求める (限界感度法)がある.これを次に述べよう.

8.1.4 アナログPIDコントローラのパラメータチューニング法

PIDコントローラ

u(t) = KP{e(t) +1

TI

∫e(τ)dτ + TD

de(t)

dt}

のパラメータチューニング法はこれまで種々のものが提案されている.大別するとつぎのようになる.詳しくは,文献 [15]を参照されたい.

1. 閉ループの応答特性に基づく方法(限界感度法,1/4減衰法など)2. 制御対象のステップ応答に基づく方法(過渡応答法,高橋の方法,Cohen & Coonの方法など)

3. 制御対象のステップ応答のモーメントに基づく方法(北森の方法など)

なお,北森の方法は次章で述べる.

限界感度法

まず,PIDコントローラの比例制御のみを用いて,ゲインを増加させる.そうすると,出力の応答波形は振動的になり,ついには安定限界を越えて発信状態となる.そこで,発信状態になる一歩手前の安定限界 (持続振動)になったときの比例ゲインKcと周期Tcを求める.この値から,PIDコントローラのパラメータを次のように定める(Ziegler & Nochols

の調整法).

制御形態 比例ゲインKP 積分時間 TI 微分時間 TD

P 0.5Kc

PI 0.45Kc 0.833Tc

PID 0.6Kc 0.5Tc 0.125Tc

Page 64: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

64 第 8章 アナログ PID制御とディジタル PID制御

過渡応答法

システムが積分+むだ時間つまり,

G(s) =R

se−sL (8.6)

で近似できる無定位プロセスの場合に,Ziegler & Nocholsはつぎのような PIDパラメータの調整法を提案した.これを過渡応答法という.

制御形態 比例ゲインKP 積分時間 TI 微分時間 TD

P 1/RL

PI 0.9/RL L/0.3

PID 1.2/RL 2L 0.5L

高橋の方法

上と同じ無定位プロセスの場合に,高橋は外乱のステップ状変化に対する IAE(偏差の絶対積分)を最小にするPIDパラメータを数値計算により求めた.

制御形態 比例ゲインKP 積分時間KI 微分時間KD

P 0.9/RL

PD 1.1/RL 0.44L

PI 0.9/RL 3.3L

PID 1.3/RL 2.2L 0.45L

IAE,ISE,ITAEを最小にするパラメータ調整法

高橋の方法もその 1例であるように,この様な調整法は,数値計算により導出できる.主なものは,Lopez, Millerらの方法である.与えられるパラメータについては [15],[16]を参照されたい.

8.2 ディジタルPIDコントローラの実現方法

8.2.1 ディジタル信号の取扱い

アナログ PIDコントローラをディジタル化したものが,ディジタルPIDコントローラであるが,まえにも述べたように次の点に注意する.A/D変換器はサンプラ,D/A変換

Page 65: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.2. ディジタル PIDコントローラの実現方法 65

器はホールダとみなして,量子化については無視する.ここで,アナログ信号 f(t)を周期 θでサンプリングしたときのディジタル信号を f [k], k = 0, 1, · · ·とかくことにする.つまり,f [k] = f(kθ), k = 0, 1, · · ·である.このとき,アナログPID動作をディジタル化するとつぎのようになる.

8.2.2 P動作のディジタル化

アナログ P動作u(t) = Ke(t) (8.7)

は,そのままサンプリングにおきかえる.つまり,ディジタル P動作は,

u[k] = Ke[k] (8.8)

となる.

8.2.3 I動作のディジタル化

アナログ I動作

u(t) =1

TI

∫e(t)dt (8.9)

は,台形公式近似でおきかえる.つまり,ディジタル I動作は,

u[k] =θ

TI

k∑i=1

e[i − 1] + e[i]

2(8.10)

となる.

8.2.4 D動作のディジタル化

アナログD動作

u(t) = TDde(t)

dt(8.11)

は,差分近似で置き換える.つまり,

u[k] =TD

θ(e[k] − e[k − 1]) (8.12)

8.2.5 PID制御器のディジタル化

以上をまとめると,(1)式に対するディジタル PID動作は次式のようになる.

u[k] = K{e[k] +θ

TI

k∑i=1

e[i − 1] + e[i]

2+

TD

θ(e[k] − e[k − 1])} (8.13)

Page 66: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

66 第 8章 アナログ PID制御とディジタル PID制御

ここで,この値がホールドされて制御対象の入力となることに注意する.上の計算則をトータルアルゴリズム (位置アルゴリズム)という.一方,制御則を上式のサンプリングごとの偏差で計算し,あとで積分する計算則を速度

アルゴリズムという.速度アルゴリズムは次のようになる.まず,偏差 d[k]を次式のようにおく.

d[k] = u[k] − u[k − 1] (8.14)

また,設定値を r[k]をおくと,偏差は次式のようになる.

e[k] = r[k] − y[k] (8.15)

さらに,設定値に関して 3サンプリングに関して不変,つまり,

r[k − 2] = r[k − 1] = r[k] (8.16)

と仮定する.このとき,d[k]は次式のように変形できる.

d[k] = K{{y[k−1]− y[k]}+θ

TI

{r[k]− y[k − 1] + y[k]

2}+

TD

θ{2y[k−1]− y[k−2]− y[k]}}

(8.17)

さらに,

KP = K − KI

2(8.18)

KI = Kθ

TI

(8.19)

KD = KTD

θ(8.20)

とおくと,次式のようになる.

d[k] = KP{y[k − 1] − y[k]} + KI{r[k] − y[k]} + KD{2y[k − 1] − y[k − 2] − y[k]} (8.21)

ここで,上式のKP , KI , KDをディジタルPIDゲインという.ここで,設定値は I動作のみに含まれているので,KI をゼロにすることはできないことに注意する.いま,2つのアルゴリズムをあげたが実際には速度アルゴリズムが好まれる.それは次

の理由による.

1. 故障時の安全性:トータルアルゴリズムの場合,コントローラが故障すると操作量u[k]

が正常でなくなりゼロとなることが多いが,速度アルゴリズムの場合には,故障後,d[k]をゼロとなると,故障前の u[k]を保持できる.

2. set-point kickの除去:set-point kickとは設定値の突変にともなってP,D動作により操作量が飛躍する現象をいうが,速度アルゴリズムのほうが設定値の影響を P,D動作が受けないので,この現象の除去が可能になる.

3. 入力飽和の影響の軽減:操作量に上限に制限のある制御対象に対しては速度アルゴリズムの方が,上限内に入る本来の操作量をはやく算出できるので,行き過ぎ量などを小さくできる.

Page 67: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.3. 種々のディジタルコントローラ再設計法 67

ただし,最適レギュレータなどに代表される現代制御理論 (アドバンスト制御)においては,トータルアルゴリズムの方が適している.なぜならば,速度アルゴリズムの場合には操作量の絶対値がえられず,それを必要とするアドバンスト制御では使えないからである.

8.3 種々のディジタルコントローラ再設計法前節では,アナログ PIDコントローラとそのディジタル近似に基づくコントローラに

ついて説明したが,本節では PIDも含めたもっと一般のアナログコントローラに対するディジタルコントローラの設計法についてのべる.ディジタルコントローラを設計するには,通常 2つの方法がある.1つは,ホールダ+制御対象+サンプラを 1つの離散時間システムとみて,これに対してディジタルコントローラを設計する方法である.もう 1つは,まず制御対象に対するアナログコントローラを設計し,これをなんらかの手法でディジタルに近似するものである.後者の方法をディジタル再設計といい,つぎのような有用性をもっている.

1. すでにアナログコントローラのもとでうまく動作している制御系をディジタルコントローラで実現しやすい.

2. 離散時間システムはサンプリング周期に依存しているので,サンプリング周期がかわるたびにコントローラを設計しなおさなければならないが,ディジタル再設計では,1度アナログコントローラを設計しておけば,サンプリング周期をある程度短くすれば,このアナログコントローラをディジタル近似することによりディジタルコントローラをえることができる.

さらに,ディジタル再設計にも,コントローラの開ループ伝達特性に基づく方法と閉ループ系の時間応答に基づく方法の 2つがある.以下では,連続制御系設計法をメインと考え,それで設計されたコントローラをディジタル近似して用いるという立場にたち,前者のみについて説明する.

8.3.1 アナログコントローラのディジタル化

アナログコントローラの伝達関数をディジタルコントローラの伝達関数 (パルス伝達関数)で近似する方法には次のようなものがある.

1. インパルス不変変換2. 後退差分変換3. 双 1次変換4. 整合 z変換

Page 68: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

68 第 8章 アナログ PID制御とディジタル PID制御

8.3.2 インパルス不変変換

コントローラの伝達関数Cc(s)を z変換したものをディジタルコントローラの伝達関数Cd[z]とする変換をインパルス不変変換という.つまり,次式となる.

Cd[z] = Z{Cc(s)} (8.22)

たとえば,PIコントローラの場合には次のようになる.まず,アナログPIコントローラの伝達関数を次式のようにおく.

Cc(s) = KP +KI

s(8.23)

このとき,ディジタル PIコントローラは次のようになる.

Cd[z] = KP +KIz

z − 1(8.24)

8.3.3 後退差分変換

微分値を後退差分で近似する方法を後退差分変換という.前章でアナログD動作をディジタル近似したものを説明したが,これが後退差分である.さらに積分についてはこの逆をとる.つまり,次式となる.

Cd[z] = Cc(s)|s= z−1Tz

(8.25)

なぜならば,後退差分de(t)

dt≈ e[k] − e[k − 1]

T(8.26)

の左辺をラプラス変換し,右辺を z変換すると次のようになるからである.

sE(s) ≈ 1 − z−1

TE[z] (8.27)

たとえば,アナログ PIDコントローラを,

Cc(s) = KP +KI

s+ sKD (8.28)

とおくと,ディジタル PIDコントローラは

Cd[z] = KP +KITz

z − 1+

KD(z − 1)

Tz(8.29)

8.3.4 双1次変換

積分値を台形公式で近似する方法を双 1次変換 (Tustin変換,台形積分法ともいう)という.前章でアナログ I動作をディジタル近似したものを説明したが,これが台形公式である.さらに微分についてはこの逆をとる.つまり,次式となる.

Cd[z] = Cc(s)|s= 2(z−1)T (z+1)

(8.30)

Page 69: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 69

なぜならば,u[k]を e(t)の台形公式近似,

u[k] =T

2

∑(e[i − 1] + e[i]) (8.31)

とすると,次式が成立する.

u[k] − u[k − 1] =T

2(e[i − 1] + e[i]) (8.32)

これを z変換すると,

U [z] =T (z + 1)

2(z − 1)E[z] (8.33)

となるからである.たとえば,アナログPIDコントローラの双 1次変換は次のようになる.

Cd[z] = KP +KIT (z + 1)

2(z − 1)+

2KD(z − 1)

T (z + 1)(8.34)

それぞれの変換について,1長 1短があるが双 1次変換がいちばんよく用いられる.

8.4 MATLAB/SIMULINKを用いたPIDコントローラ設計例

7章で述べたステップ応答による簡易同定法を用いてシステムを同定し,PIDコントローラを設計し,その制御系評価をした例を示そう.

8.4.1 定位プロセスの場合

シミュレーションのための実プラントの伝達関数Gr(s)と同定モデルGn(s)をつぎのようにおく.

Gr(s) =44.45

(17.12s + 1)(0.1657s + 1)5

Gn(s) =44.45

17.12s + 1e−0.7854s

8.4.2 無定位プロセスの場合

シミュレーションのための実プラントの伝達関数Gr(s)と同定モデルGn(s)をつぎのようにおく.

Gr(s) =2.57

s(0.1657s + 1)5

Gn(s) =2.57

se−0.7854s

Page 70: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

70 第 8章 アナログ PID制御とディジタル PID制御

図 8.4: PID制御系

Page 71: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 71

図 8.5: PID制御系

Page 72: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

72 第 8章 アナログ PID制御とディジタル PID制御

図 8.6: PID制御系

Page 73: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 73

図 8.7: PID制御系

Page 74: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

74 第 8章 アナログ PID制御とディジタル PID制御

図 8.8: PID制御系

Page 75: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 75

図 8.9: PID制御系

Page 76: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

76 第 8章 アナログ PID制御とディジタル PID制御

図 8.10: PID制御系

Page 77: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 77

図 8.11: PID制御系

Page 78: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

78 第 8章 アナログ PID制御とディジタル PID制御

図 8.12: PID制御系

Page 79: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 79

図 8.13: PID制御系

Page 80: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

80 第 8章 アナログ PID制御とディジタル PID制御

図 8.14: PID制御系

Page 81: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 81

図 8.15: PID制御系

Page 82: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

82 第 8章 アナログ PID制御とディジタル PID制御

図 8.16: PID制御系

Page 83: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 83

図 8.17: PID制御系

Page 84: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

84 第 8章 アナログ PID制御とディジタル PID制御

図 8.18: PID制御系

Page 85: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

8.4. MATLAB/SIMULINKを用いた PIDコントローラ設計例 85

図 8.19: PID制御系

Page 86: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 87: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

87

第9章 PID制御の発展形

9.1 微分先行型PID制御—PI-D制御PID制御は偏差信号のすべてに比例,積分,微分の動作が行われる.この場合には,ス

テップ関数などの急激に変化する目標入力を加えると,これにもろに微分動作がかかってしまい,アクチュエータにはこのような急激な動作が行えず,不都合なことが多い.そこで,下図のように,微分動作のみは出力信号のみにかかるようにしたものが微分先行型PID制御である.これはPI動作が前置補償器として,D動作がフィードバック補償器として見なせることからPI-D制御ともいわれる (図 9.1参照).

図 9.1: PI-D制御系

制御則を式で書くと次のようになる.

u(t) = KP{(1 +1

sTI)e(t) − sTDy(t)} (9.1)

PID制御とPI-D制御では,外乱から制御量までの伝達関数は等しいが,目標入力から出力までの伝達関数は異なってくるので注意を要する.

9.2 比例・微分先行型PID—I-PD制御PI-Dと同様の理由で,さらにアクチュエータにステップ状の信号が加えづらい場合に

は,比例,微分動作の両方をフィードバック補償器とし,前置補償器は積分動作のみとし

Page 88: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

88 第 9章 PID制御の発展形

たものが比例・微分先行型PID(I-PD制御)である.制御則は次式のようになる.

u(t) = KP{ 1

sTIe(t) − (1 + sTD)y(t)} (9.2)

目標値入力は積分動作にしか含まれないので,これを除くことはできない.I-PD制御のブロック線図は次のようになる (図 9.2参照).I-PD制御は変形すると次のようなブロック

図 9.2: I-PD制御系

線図になるので,これは目標値を 2次遅れフィルタに通してから PID制御の目標値入力としたものに等しいことがわかる (図 9.3参照).I-PD制御では目標値には積分動作しか

図 9.3: I-PD制御系

効いてこないので,目標値の変化がすぐには出力に現れてこず,目標値への追従が遅くなる傾向にある.そこで,これを改善するためのパラメータ調整法として北森の方法 [15]がある.

Page 89: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

9.2. 比例・微分先行型PID—I-PD制御 89

9.2.1 北森の方法

北森の方法とは,閉ループ伝達関数Gc(s)を手本となる伝達関数M(s)に近くなるようにパラメータ調整しようというモデルマッチングの 1手法である.ただし,

M(s) =1

1 + τs + α2(τs)2 + · · · + αn−1(τs)n−1 + αn(τs)n(9.3)

であり,τの大きさは立ち上がり時間の目安となる.また,他の係数は,極の配置や ITAE

による評価を入れることにより計算することができる.モデルマッチングのやり方は, 1M(s)

が1

M(s)= 1 + τs + α2(τs)2 + · · · + αn−1(τs)n−1 + αn(τs)n (9.4)

と表されることから, 1Gc(s)

を sに関する無限級数として展開 (マクローリン展開)し,その係数比較を行い,低い次数の方から合わせていく,というものである.閉ループ伝達関数の逆は次のように計算される.

1

Gc(s)= K(s) +

s

KP TIG(s)(9.5)

ただし,K(s) = 1 + TIs + TITDs2

とする.さらに,制御対象の伝達関数 1G(s)のマクローリン展開を

1

G(s)= a0 + a1s + · · ·+ aks

k + · · ·

とおくと,次式が成り立つ.

1

Gc(s)= 1 + (TI +

a0

KP TI)s + (TITD +

a1

KP TI)s2 +

a2

KPTIs3 + · · · (9.6)

これから係数比較により次の関係が得られ,

TI +a0

KP TI= τ

TITD +a1

KP TI

= α2τ2

a2

KP TI

= α3τ3

これから,PIDパラメータがつぎのように計算できる.

TI = τ − a0

a2α3τ

3

KP =a2

α3τ 3TI

TD =1

TI(α2τ

2 − a1

KPTI)

Page 90: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

90 第 9章 PID制御の発展形

9.3 フィードフォワード併用PID制御フィードバック制御はシステムのモデル化誤差や直接測定できない外乱の影響を小さく

できるが,もしもこれらが既知の場合には直接入力として加えてその影響をキャンセルする方が速応性がよくなる.そこで,入力をフィードバック部分とフィードフォワード部分の両方を使った制御方法が考えられる.次のような制御系を考える.

Y (s) = PU(s)U(s) + PW (s)W (s) (9.7)

ただし,Y (s)は出力,U(s)は制御対象に対する入力,W (s)は測定可能な外乱とする.次のような制御則がフィードフォワード併用PID制御になる.

U(s) = UF (s) + UB(s)

UF (s) = CR(s)R(s) + CW (s)W (s)

UB(s) = CB(s)(R(s) − Y (s))

ただし,CB(s)は PIDコントローラであり,CR(s),CW (s)はフィードフォワードコントローラで希望の伝達関数を実現するように選ぶことになる.

9.3.1 条件付きフィードバック制御

フィードフォワード併用 PID制御において,もし R(s)と Y (s)が一致したとすると,フィードバック部分UB(s) はゼロになるので,理想状態では出力 Y∗(s)は次式のようになると考えられる.

Y∗(s) = PU(s)UF (s) + PW (s)W (s)

フィードバックコントローラにおいて,目標値の代わりに,この理想状態の出力を使って

UB(s) = CB(s)(Y∗(s) − Y (s))

と変形したものが Lang & Hamにより提案されている.

9.3.2 内部モデル制御 (IMC)

制御対象の出力は入力U(s)と外乱W (s)により計算することができる.

Y (s) = PU(s)U(s) + PW (s)W (s)

この計算した出力 Y (s)を出力の予測値という.条件付きフィードバック制御において理想状態の出力の代わりに,この値を用いたものを Internal Model Control (IMC)という.IMCは次章でのべるモデル予測制御の一般構造を的確に説明している.このブロック線図は次のようになる (図 9.4参照).

Page 91: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

9.4. 2自由度 PID制御 91

図 9.4: IMC制御系

9.4 2自由度PID制御PI-D制御や I-PD制御では,前置補償部分とフィードバック補償部分をもつコントロー

ラを考えた.この他にもいろいろなパターンが考えられるが,これらのように,前置補償部分やフィードバック補償部分やフィードフォワード補償部分に PID動作を用いるものを 2自由度PID制御という.これについては [15]を参照のこと.

9.5 可変パラメータPID制御プロセス制御系においては,PIDパラメータを偏差信号に応じて変更する可変パラメー

タ PID制御が用いられることがある.また,プロセスのパラメータが操業条件によって変化するとき,このパラメータの変動範囲にわたって PIDコントローラをチューニングし直すことがある.通常は比例ゲインのみをチューニングし,積分時間,微分時間は固定することが多く,これをゲインスケジューリングという.また,可変パラメータ PID制御は,適応制御 [68]の 1特殊形とみなすこともできる [69],[70].詳細については省略する.

9.6 PIDコントローラをベースにした一般のコントローラ現代制御理論の最先端であるロバスト制御理論 [56]は,すべてのコントローラの一般形

をもとに組み立てられている.これは一つの特殊なコントローラに自由に選べる伝達関数項を付け加えることにより一般の安定化補償器を与えるものであり,ベースとなる特殊なコントローラを PIDコントローラとしても選ぶことができる.これは,PIDコントローラに調整項を入れることによって一般のコントローラを得ることができることを表している [67].さらに,このコントローラは IMCの一般化となっている.

Page 92: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

92 第 9章 PID制御の発展形

9.7 最近の動向最近では,ロバスト制御の立場からの PIDコントローラの設計が行われるようになっ

ている [17],[19].また,計算能力の飛躍的進歩に伴い,多目的の設計仕様を同時に達成するコントローラを数値的最適化計算を用いて計算することも行われている [79],[82].さらに,遺伝アルゴリズムを用いた PIDコントローラ設計法も提案されている [18].詳しく,それぞれの文献を参照されたい.ここでは,MATLABの Nonlinear Control Toolboxをもちいて非線形最適化計算を行うことにより PIDコントローラを求める例題をあげる.

9.7.1 非線形最適化計算による多目的PIDコントローラの設計例

MATLABのNolinear Control Toolboxでは,制御系設計仕様を含む各種の制約条件を非線形不等式の形で与え,これをMATLABのOptimization Toolboxの中の逐次 2次計画法の関数 constr()を用いて計算する.

Nonlinear Control Design Toolboxによるコントローラの最適化計算の手順はつぎのようにして行われる.

1. SIMULINKを用いて制御系を記述する.目標値信号も設定する.2. 制約を設ける信号にNCD ブロック (SIMULINKの中の ncdblock)を追加する.3. MATLABのワークスペース上に,最適化計算してチューニングするべきパラメータの初期値を与える.

4. NCDブロックをオープンして,制約を設ける出力の制約条件をグラフィカルに設定する.

5. NCDブロックのOptimizationメニューの Parametersを選択して,最適化パラメータの指定を行う.

6. OptimizationメニューからUncertaintyを選択して,変動するパラメータの変動範囲の指定を行う.

7. Startメニューで実行を始める.

ここでは,[79]の例をとりあげる.対象とするプラントモデルは次式で与えられているとする.

G(s) =ω0

s2 + ω0ζs + ω20

e−Ls

ただし,ζ = 1, ω = 1, Kint = 1, L = 1とする.コントローラは飽和をもつ積分器とする.このシステムに対して目標値としてステップ信号を入力して,閉ループ系がつぎの仕様を満たすようにコントローラの積分ゲインKintをチューニングする.

• オーバーシュートは 10%以内

• 立ち上がり時間は 10秒以内

• 整定時間は 30秒以内

Page 93: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

9.7. 最近の動向 93

手順 1,2を実行するとつぎのように SIMULINKにより制御系が表せる (図 9.5参照).MATLABのコマンドモードでシステムパラメータとコントローラゲインの初期設定値を

図 9.5: Nonlinear Design Blockset.

つぎのように与えるとする.

zeta = 1;

w0 = 1;

Kint = 0.3

ついで,NCDブロックをクリックして開き,上記の応答波形の制約をグラフィカルに設定する.さらに,Optimizationメニューでチューニングパラメータを設定して,最適化計算を開始する.また,パラメータ変動がある場合にもそのパラメータの変動の範囲をOptimizaionメニューの Uncertaintyにより設定し,Constrain Monte Carlo simulations

により,その変動範囲のランダムなプラントに対して制約条件をみたすようなゲインをチューニングできる.

Page 94: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

94 第 9章 PID制御の発展形

図 9.6: Nonlinear Design Blockset.

Page 95: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

9.8. 製品としての PIDコントローラ 95

図 9.7: Nonlinear Design Blockset.

9.8 製品としてのPIDコントローラコントローラに対する産業界の要求としてはつぎのようなものが考えられるであろう.

1. 操業中の入出力データからシステムを自動的に同定し,かつ,自動的にコントローラのパラメータチューニングをやってほしい.

2. 安全な装置であって欲しい.3. なるべくシンプルで,わかりやすい装置にしてほしい.4. 製品価格やランニングコストが安価であって欲しい.

Page 96: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

96 第 9章 PID制御の発展形

1.に対する制御理論屋の努力は,適応制御 (モデル規範型適応制御,セルフチューニングレギュレータ)という形になって実現されつつある.しかし,この理論は結構複雑であり,とても 3.の要求を満たしているとは言えない.また,外乱などにも弱く,2.の要求にも結構苦しいところがある (最近,2.の要求を満たすべく,ロバスト適応制御が盛んに研究されている).4.については制御理論屋の責任を越えているので,なんともいえない.3.

や 4.の要求を満たすのが,PIDコントローラであろう.現在製品として売り出されているコントローラは主に PIDコントローラであるが,1.に対する要求に答えたものとしてオートチューニングコントローラがある.このコントローラのチューニング方式は大別して次の 2つである.

1. システム同定+ PIDパラメータ計算これについては前章で述べた.

2. エキスパート法熟練者のチューニング方法を計算機にのりやすい形に直したもの.ルールベース型,AI推論型,ファジィ推論など

具体的な各社の製品概要については,[15],[20]を参照されたい.また,エキスパート法については,[22],[25]を参照されたい.

Page 97: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

97

第10章 モデル予測制御

前章でモデル予測制御のさわりを述べた.ここでは,プロセス制御で脚光を浴びている制御方法である離散時間のモデル予測制御の基本的な考え方と PID制御との関連について述べる.[26],[27] モデル予測制御 (Model Predictive Control)は 1970年前半から 80年後半に次のような名前で提案されている.

1. MAC (Model Algorithmic Control) by Richalet (Adersa社 (仏))  1970年代前半2. DMC (Dynamic Matrix Control) by Cutler (Shell Oil Co.(米))  1970年代前半3. IMC (Internal Model Control) by Morari (Caltech(米))  1980年代前半4. GPC (Generalized Predictive Control) by Clarke(英)  1980年代後半

モデル予測制御が実用方面で脚光を浴びているのは次の理由による

1. 制御則が理解しやすい2. 多変数制御 (入出力が複数個ある場合)が可能である.3. 操作量の振幅制限などの制約条件を簡単に取り扱える.4. モデル化誤差をもつようなシステムに対してもある程度の制御性能が保証できる.

モデル予測制御は制御対象の入出力間の動的モデルを使い未来の時刻の出力を予測し,逆に出力の予測値が目標とする軌道 (参照軌道)にできるだけ近づくようにこれから加える入力を逆算するものである.また,安定なシステム (定位プロセス)を対象とし,無定位プロセスは出力の微分値をとることにより定位プロセスに変換する.このため,一般の不安定システムは制御対象として扱うことができない.

10.1 モデル予測制御の基本的設計方法

10.1.1 プロセスモデル

出力の予測に用いるプロセスの予測モデルは,1入力 1出力系の場合,普通次のようなものを用いる.以下のモデルでは,現時刻を t時刻とし,それより後の時刻の値,たとえば,yM [t + j]などが未来の出力値を表している.

1. インパルス応答モデルによる予測

yM [t + j] =N∑

k=1

hku[t + j − k], (hi = 0 for i < 0)

Page 98: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

98 第 10章 モデル予測制御

t + j時点の出力をそれより過去の入力 u[t + j − k]の線形結合で表したもの.離散時間系の場合には,各時刻における入力は各々1つのインパルス入力としてみなされる.

2. ステップ応答モデルによる予測

yM [t + j] =N∑

k=1

sk∆u[t + j − k] + sNu[t + j − N − 1]

∆u[t + j − i] = u[t + j − i] − u[t + j − i − 1] :入力増分

入力増分∆u[k]は各時刻において追加されるステップ状入力を表しており,この過去のステップ状入力の線形結合で出力を表したものがステップ応答モデルである.同じシステムをインパルス応答モデルとステップ応答モデルで表現したとすると,次の関係が成り立つ.

si =i∑

j=1

hj , i = 1, · · · , N

yM ,uがベクトル,hi,siを行列にすると,多入力多出力系に容易に拡張できる.また,上記のモデルの他に,ARMAモデルやファジィモデルによるものなどがある.

10.1.2 予測値の与え方

出力の将来値を予測する場合,モデル化誤差や外乱の影響を考える必要がある.モデルから計算した予測値を現時刻での推定誤差の項 y[t] − yM [t]で補正したものを予測値yP [t + j]として与えることが多い.

yP [t + j] = yM [t + j] + (y[t] − yM [t]) (10.1)

もっと一般にはKalman型の予測器が考えられる.

10.1.3 参照軌道の与え方

参照軌道は時間をかけて滑らかに設定値に到達させることを目的として導入されている.参照軌道 yR[k]は,たとえば,次のような形で与える.

yR[t + j] = αjy[t] + (1 − αj)r[t + j]

ただし,r[t + j]は t + j時刻の設定値である.参照軌道は実際の出力と設定値との中間を通るものである.

10.1.4 制御形態

制御形態は次のとおりである.y[t]を始点としてLステップ先の未来からP ステップに渡る出力の予測値 yP [t + L],· · ·,yP [t + L + P − 1]を用いて,その予測値ができるだけ参

Page 99: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10.2. Morariの手法 99

照軌道に近くなるように,始点からMステップ先までの入力 u[t],· · ·,u[t + M − 1]を計算する.計算した入力のうち u[t]のみをプロセスに加え,つぎのサンプル時刻において出力y[t + 1]を観測する.今度は,t + 1を始点として参照軌道を計算し直し,さらに t + 1から Lステップ先の P ステップ分の予測値から入力を計算する.これを繰り返す.Lを予測ホライズン,P を一致ホライズン,M を操作ホライズンという.P, Mは 1にとっても構わないことに注意する.P = L = M = 1とした予測制御系 (1段予測制御)はPIコントローラで達成できるが,これはモデル予測制御が PI制御をその特殊ケースとして含んでいることを表している.詳細については [26] を参照されたい.

10.1.5 入力の決定方法

Lステップ先の未来からPステップに渡る出力の予測値yP [t+L],· · ·,yP [t+L+P−1]ができるだけ参照軌道に近くなるように,始点からMステップ先までの入力u[t],· · ·,u[t+M−1]

を計算するには,次のような方法がある.

1. 最小 2乗法:つぎの評価関数 J を最小にするように入力を決める.

J =L+P−1∑

j=L

{yR[t + j] − yP [t + j]}2 +M−1∑j=0

{∆u[t + j]}2

2. 数値計算法:最小 2乗法では入力や出力の振幅制限などの制約条件を付加できないので,制約条件を不等式条件で与え,線形計画法や 2次計画法で入力を計算する.

10.1.6 代表的アルゴリズムの特徴

市販されているMACとDMCの特徴を述べよう [27].MAC(パッケージ名 IDCOM)はプロセスモデルとしてインパルス応答モデルを用い,参照軌道を 1次遅れ系で与え,各種制約条件を満たす操作量を決定する.これに対してDMC(パッケージ名DMC)はプロセスモデルとしてステップ応答モデルを用い,2次形式評価関数を用いて操作量を決定する.

10.2 Morariの手法前節で,一般的なモデル予測制御の考え方について述べたが,本節では,Morariの設計

について紹介し,なぜ,内部モデル制御と呼ばれるのかについて説明しよう.詳しくは,[27]を参照のこと.

Page 100: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

100 第 10章 モデル予測制御

10.2.1 インパルス応答モデルを用いたモデル予測制御

次式のようなむだ時間をもつインパルス応答で表現された単一入出力系をプラントとして考える.

y[k] =∞∑i=1

hiu[k − τ − i] + d[k]

ただし,d[k]は外乱で,τはむだ時間とする.これは z変換表現すると,つぎのようになる.

Y [z] = z−τ−1H [z]U [z] + D[z]

ただし,H [z]はつぎの z−1に関する多項式とする.

H [z] =∞∑i=1

hiz−(i−1)

プラントパラメータ hi, i = 1, · · ·は通常既知ではなく,入出力データから最小自乗法などを用いて,パラメータ同定を行う必要がある.ここでは,むだ時間 τ は既知とし,同定により得られたプラントモデルを次式で与える.

yM [k] =N∑

i=1

hiu[k − τ − i]

ただし,yM [k]は k時刻でのプラントモデルの出力である.上式を z変換すると,つぎのようになる.

YM [z] = z−τ−1H[z]U [z] + D[z]

ただし,H [z]はつぎの z−1に関する多項式とする.

H[z] =N∑

i=1

hiz−(i−1)

いま,むだ時間 τ を考慮して,つぎのような制御則を考える.現時点を k時刻とし,それより,P 時刻分未来までの出力の目標値を {ys[k + τ + l], l =

1, · · · , P},目標値に漸近する出力の希望値を {yd[k + τ + l], l = 1, · · · , P}とする.このとき,インパルス応答モデルによる出力の予測値 {y∗[k + τ + l|k], l = 1, · · · , P}ができるだけ出力の希望値 {yd[k + τ + l], l = 1, · · · , P}に近づくように,現時点の入力 u∗[k]と未来の入力 {u∗[k + l], l = 1, · · · , P − 1}を計算し,実際に採用する現時点の入力を u∗[k]とする.ただし,出力の予測値 y∗[k + τ + l|k]は k時刻までのデータを用いて k + τ + l時刻を予測することを意味し,具体的には次式で与える.

y∗[k + τ + l|k] = yM [k + τ + l] + d[k + τ + l|k], l = 1, · · · , P

ただし,d[k + τ + l|k]は外乱の推定値とする.ここで,出力の予測値を直接目標値に近付けるような入力を求めるのではなく,目標値に漸近するような出力の希望値に近付けるよ

Page 101: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10.2. Morariの手法 101

うにするのは,目標値と出力の隔たりがある場合になるべくスムーズに目標値への追従を行わせるためである.また,追従のための評価関数として次式を用いる.

J =P∑

l=1

[γ2l {yd[k + τ + l] − y∗[k + τ + l|k]}2 + β2

l {u[k + l − 1]}2]

この評価関数を最小にするような入力 {u[k + l], l = 1, · · · , P − 1}を {u∗[k + l], l =

1, · · · , P − 1} とする.さらに,現時点を K + 1にして同様の手順を繰り返す.

評価関数を最小にするような最適入力を計算するために,つぎのような仮定をおく.

• 現時刻での外乱が未来にわたって入り続ける.

d[k + τ + l|k] = d[k] = y[k] − yM [k], l = 1, · · · , P• M 時刻より未来の入力は同一であり,評価関数には含めない.

u[k + l − 1] = u[k + M − 1], M < l ≤ P

βl = 0, M < l ≤ P

ここで,Mを入力ホライズン (input hirizon),P を出力ホライズン (output horizon)という.この仮定のもとで,つぎのような形の解が得られる (求め方や具体的な値はここでは省略する).

u[k] +N−1∑j=1

δju[k − j] =P∑

l=1

νl{yd[k + τ + l] − {y[k − yM [k]}}

=P∑

l=1

νlyd[k + τ + l] − (ν1 + · · · + νP ){y[k − yM [k]}

これを z変換すると,次式のようになる.

(1+δ1z−1+· · ·+δN−1z

−N+1)U [z] = (ν1+ν2z+· · ·+νPzP−1)zτ+1Yd[z]−(ν1+· · ·+νP ){Y [z]−YM [z]}ここで,

Dc[z] = 1 + δ1z−1 + · · · + δN−1z

−N+1, Nc[z] = ν1 + ν2z + · · ·+ νP zP−1

とおくと,入力の z 変換はつぎのように与えられる.

U [z] =Nc[1]

Dc[z]

[Nc[z]

Nc[1]zτ+1Yd[z] − {Y [z] − YM [z]}

]

このコントローラはオフセット (定常偏差)をもつが,これを補償してつぎのようなコントローラを構成する.

U [z] =Dc[1]

H[1]Dc[z]

[Nc[z]

Nc[1]zτ+1Yd[z] − {Y [z] − YM [z]}

]

この制御系のブロック線図は図 10.1のようになる.

Page 102: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

102 第 10章 モデル予測制御

図 10.1: ブロック線図

10.2.2 一般的なモデル予測制御

連続時間系も含めた一般的なモデル予測制御系の構造はつぎのように与えられている.このような制御系の設計法については,[27],[28]を参照されたい (図 10.1参照).

10.3 MATLAB MPC Toolboxの使用法MorariによりつくられたMATLABのModel Predictive Control Toolboxによる IMC

設計法について紹介する [80].このToolboxはつぎの 2つから構成されてる.

1. ステップ応答を基にしたMPC

2. 状態空間モデルを基にしたMPC

インパルス応答モデルはステップ応答モデルに変換することができるので,ステップ応答を基にしたMPCは,インパルス応答を基にしたMPCを含んでいるといってよい.とくに,システム同定によりプラントモデルをつくる場合には,まずインパルス応答モデルからパラメータ推定を行い,これをステップ応答モデルに変換した後に,モデル予測制御系を構成する手順をとっている.状態空間モデルについてはこれまで述べてこなかったので,ここでは,ステップ応答を基にしたMPCのみについて説明する.

10.3.1 プラントの表現形式と相互変換

0状態から始まる定位プロセスと無定位プロセスにステップ関数信号入力を加えたときの応答を考える.ただし,離散時間モデルを用いるとする.定位プロセスでは,一定値に

Page 103: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10.3. MATLAB MPC Toolboxの使用法 103

図 10.2: ブロック線図

収束するので,その応答はつぎのように書くことができる.

{0, s1, s2, · · · , sn, sn, sn, · · ·}

無定位プロセスでは,出力の変化率が一定値に収束するので,変化率を siとしてとることにより,定位プロセスとみなされる.ここで,単一入出力系 (入力,出力とも1個のプラント)では,各 siはスカラー値であり,入力が p個,出力が q個の多変数系では,各 si

はつぎのような行列になる.

si =

s1,1,i s1,2,i · · · s1,p,i

s2,1,i s2,2,i · · · s2,p,i

......

......

sq,1,i sq,2,i · · · sq,p,i

MATLABでは,プラントを記述するのに,データフォーマットとよばれるいろいろなプラントデータの構造体を用いている.通常の制御系設計では,プラントを伝達関数の分母多項式と分子多項式で表現する poly formatや状態方程式の係数行列で表現する state

space format が用いられているが,これではむだ時間をもつ連続時間系を取り扱うことができない.そこで,Model Predictive Control Toolboxでは,この他のデータフォーマットを導入している.プラントのデータフォーマットにはつぎのようなものがある.

Page 104: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

104 第 10章 モデル予測制御

1. step format : ステップ応答データを基にしたシステム表現

plant =

s1

...

sn

no(1) 0 · · · 0...

......

no(q) 0 · · · 0

q 0 · · · 0

delt2 0 · · · 0

ただし,delt2はサンプリング周期,no(i)は値が 1の場合,定位プロセスを,値が 0

の場合,無定位プロセスを表す.2. poly format : 伝達関数の分母多項式と分子多項式を別々に表現したシステム表現これは,すべてのMATLAB Toolboxにおいて用いられている.ただし,むだ時間をもつ連続時間システムはパデ近似などを行う必要がある.むだ時間をもつ離散時間系は多項式により表現できる.システムの伝達関数が, s+2

s2+2s+3あるいは z+2

z2+2z+3ある

いは 1+2z−1

1+2z−1+3z−2 のとき,つぎのように表す.

num = [ 1 2 ]; den = [ 1 2 3 ];

3. tf format : 伝達関数の分母多項式,分子多項式の係数,サンプリング周期,むだ時間の値をまとめて表現したシステム表現ただし,連続時間系の場合,サンプリング周期は 0,むだ時間は実むだ時間,離散時間系の場合,サンプリング周期は実サンプリング時間,むだ時間はサンプリング周期の整数倍として与える.

4. varying format : いろいろな周波数での周波数応答データで表したシステム表現

5. mod format : 外乱を含んだ状態方程式モデルの行列係数と入力,出力,外乱の次元,サンプリング周期をまとめて表現したシステム表現

これらのデータフォーマットを相互変換するMATLAB関数として,つぎのようなものがある.

• poly2tfd() : poly format から tf format へ変換

• tfd2step() : tf format から step format へ変換

• tfd2mod() : tfd format から mod format へ変換

• mod2step() : mod format から step format へ変換

• th2mod() : theta format(System Identification Toolboxで使用) から mod format

へ変換

Page 105: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10.3. MATLAB MPC Toolboxの使用法 105

• mod2frsp() : mod format から varying format へ変換

また,与えられたシステムデータフォーマットがどの形式かわからないときには,関数mpcinfo()を用いると,そのシステムの形式,むだ時間,入出力数などの情報が得られる.むだ時間をもつ連続系を tf format や step format に変換する例をつぎに上げる.つぎ

の伝達関数をもつシステムを考える.

G(s) = e−0.1s 5.1

8s + 1

これは poly formatでは陽に書けない.むだ時間を無視すると,MALTABでは分子多項式と分母多項式はつぎのように表すことができる.

num = 5.1; den = [ 8 1 ];

むだ時間を含んだシステムを表現する tf formatはつぎのようにして得られる.

sample time = 0;

delay = 0.1;

num = 5.1; den = [ 8 1 ];

plant tfformat = poly2tfd(num, den, sample time, delay);

ここで,sample time = 0は連続時間系を表している.tf formatで表されたシステムをサンプリング周期 0.1の離散時間系に変換し,で,打切り時間 90でステップ応答モデル(step format)に変換するには,つぎのようにおこなう.

sample time = 0.1;

tfinal = 90;

nout = 1;

plant stepformat = tfd2step(tfinal, sample time, nout, plant tfformat);

ただし,nout = 1は定位系を意味している.さらに,関数 plotstep()を用いると,得られた step formatのシステムに対するステップ応答を得ることができる.

plotstep(plant stepformat)

10.3.2 コントローラの計算と閉ループ応答シミュレーション

ステップ応答モデルがMATLABの step formatとして plant stepformatで与えられたとき,関数mpccon()を用いることにより,つぎのようにしてコントローラが計算される[80].

ywt = 1; uwt = 0;

M = 5; P = 20;

Kmpc = mpccon(plant stepformat, ywt, uwt, M, P )

Page 106: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

106 第 10章 モデル予測制御

ただし,ywt,uwtはそれぞれ評価関数の出力と入力の重みであり,Kmpcがコントローラ行列を与える.さらに閉ループ系応答シミュレーションは関数mpcsim()を用いて,つぎのように行うことができる.

tend = 245;

yd = [ ]; usat = [ ]; tfilter = [ ];

dmodel = [ ]; dstep = 1;

[y, u] = mpcsim(real plant, plant stepformat,Kmpc, tend, yd, usat, tfilter, dplant, dmodel, dstep);

ただし,real plantは step formatで書かれた実際のプラント,tendはシミュレーション時間,ydは希望の出力軌道で,単一出力系の場合,つぎのようなベクトルとして与える.

yd =

yd[1]

yd[2]...

yd[N ]

yd = [ ]は希望の出力軌道としてゼロを与えることを意味している.また,dmodelは外乱伝達関数のステップ応答モデルを与え,dstepは dmodelに入る外乱入力信号を与える.dmodel = [ ]; dstep = 1;は出力にスッテプ状外乱が入ることを意味している.

10.3.3 入出力データからのモデル同定

実際のプラントでは,最初にプラントモデルが与えられることは少なく,入出力データからプラントモデルを構成する必要がある.そこで,入出力データが与えられたとき,このデータから最小自乗法を用いて,システムパラメータの同定を行う手順を説明する.用いるシステムモデルはつぎのようなインパルス応答モデルである.

y[k] =N∑

i=1

hiu[k − i]

このモデルを入力と出力の偏差

∆y[k] = y[k] − y[k − 1], ∆u[k] = u[k] − u[k − 1]

を用いて書き直すと,つぎのようになる.

∆y[k] =N∑

i=1

hi∆u[k − i]

定位系の場合これでよいが,無定位系の場合には出力の2階偏差∆2y[k] = ∆y[k]−∆y[k−1]

をとるように,上の式を変形する.システム同定においてインパルス応答モデルを用いる理由は,インパルス応答モデルが入出力の値をそのまま用いるのに対して,ステップ応答モデルは入力の差分を用いているため,ノイズに弱いといった欠点があるためである.システム同定の手順はつぎのように行う.

Page 107: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

10.3. MATLAB MPC Toolboxの使用法 107

• データのスケーリングを,MATLAB関数 autosc(), scal()を用いて行う.

• インパルス応答モデルに入出力データを代入したものを,関数 wrtreg()を用いて,次式のような線形回帰式変換する.

Y = ΘX, Y : output data matrix, X : input data matrix, Θ : unknown parameters

• 線形回帰式の未知パラメータを最小自乗法で求める関数mlr()あるいは plsr()を用いて Θ を推定する.

• 求められたパラメータ Θ を scal()を用いて,再スケーリングしてもとにもどす.

• ステップ応答モデルを求めたい場合には,関数 inp2step()を用いて変換する.

Page 108: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 109: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

109

第11章 ファジィ制御

ファジィ理論はあいまいさを取り扱うために,1965年代に Zadehにより提唱された.最初はファジィ集合を定義しその後,ファジィ推論を 1970年代前半までに提案した.このころ,菅野はファジィ測度,ファジィ積分の概念を提案し,異なった観点からあいまいさをとりあつかった.さらに,1970年代中頃に,Mamdaniにより初めてスチームエンジンの制御に適用され,1980年代にはいってからは,特に日本を中心に産業界への応用が進められている.このため,産業界の応用例が本来のファジィ制御であるかどうかは別として,一般社会にはファジィという言葉は広く浸透してきている.本章では,ファジィ制御の簡単な説明とMATLAB/SIMULINKを用いた例題について述べる.詳しくは,文献[22],[23],[24]を参照されたい.

11.1 クリスプ集合とファジィ集合

11.1.1 クリスプ集合

これまでのはっきりとした境界を持つ集合をクリスプ集合という.全体の集合をX とし,そこからある性質をもつものをあつめた集合をAとするとき,このAを定義する関数 (定義関数,特性関数という) χ は,全体集合Xの要素 x( x ∈ Xと記す)が集合Aに属する ( x ∈ A)とき,値が 1,そうでない場合がゼロ,つまり次式のように定義される.

χA(x) =

{1 if x ∈ A

0 otherwise

11.1.2 ファジィ集合とメンバーシップ関数

ファジィ集合は境界のはっきりしない集合である.ある要素がどれくらいそのファジィ集合に入っているのかの度合いを表すのがメンバーシップ関数である.メンバーシップ関数はクリスプ集合における定義関数を拡張したものである.クリスプ集合では 10割はいっているか,さもなくばゼロだったものを,ファジィ集合では 1割入っているとか 2割入っているとか定義することができる.ファジィ集合とメンバーシップ関数の一般的定義は次のように与えられる [24].

全体集合X上のファジィ集合Aとは

µA : X → [0, 1]

Page 110: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

110 第 11章 ファジィ制御

なるメンバーシップ関数µAによって特徴づけられた集合である.ただし,[0, 1]は 0から 1

までのすべての値を表している.µA(x)の値を x ∈ Xにおけるメンバーシップ値 (グレード値)といい,要素 xがファジィ集合Aに属している度合いを表している.ファジィ集合はクリスプ集合の拡張となっており,その集合はメンバーシップ関数によ

り特定される.全体集合が離散集合X = {x1, x2, · · · , xn}のとき,メンバーシップ関数 µA

のファジィ集合をA = µA(x1)/x1 + · · · + µA(xn)/xn

とかき,全体集合が連続集合Xのとき,メンバーシップ関数 µAのファジィ集合を

A =∫

XµA(x)/x

とかく.この記法は便宜的なものであって,本来の+や∫の意味はないことに注意しよう.

11.1.3 ブール代数 (論理代数)における演算子

論理代数の演算 (0,1の演算)および関係にはつぎのようなものがある.

  論理積 (AND) 論理和 (OR) 否定 (NOT) 代数積 代数和

英語 conjunction disjunction negation algebraic product algebraic sum

論理記号 ∧,∩ ∨,∪ ∼,¬ × +

意味 min(x, y) max(x, y) 1 − x x × y x + y − x × y

  含意 一致

英語 implication equivalent

論理記号 ⊂,→ ≡,↔

11.1.4 クリスプ集合の和,積,補集合

全体集合 X とし,定義関数がそれぞれ χA, χB で定義されるクリスプ集合 A, B を考える.定義関数は 0,1の 2値の論理代数をつくる.A,Bの積集合 A ∩ Bの定義関数はχA(x) ∧ χB(x)で与えられる.また,A,Bの和集合A ∪Bの定義関数はχA(x)∨ χB(x)で与えられる.ただし,χA(x)∧ χB(x)は値 χA(x) と χB(x) の最小値を,χA(x)∨ χB(x)は最大値をとることを意味する.さらに,Aの補集合 Aの定義関数は 1 − χA(x)で与えられる.

Page 111: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.1. クリスプ集合とファジィ集合 111

11.1.5 ファジィ集合の和,積,補集合

ファジィ集合の集合の和,積,補集合の定義のいちばん簡単なものは,クリスプ集合の演算と全く同じように定義するものである.ただ,定義関数の取りうる値がゼロから1までの連続値であることが違うのみである.和,積,補集合を用いた演算においては,クリスプ集合で成り立つ演算則のほとんどは成立するが,排中律 (A ∪ A = X)と矛盾律(A ∩ A = φ) の 2つが一般には成立しない.この他にも積と和にはいろいろな定義があるので,まとめておく.

積 論理積 代数積 限界積

論理記号 A ∧ B A × B A � B

意味 min(µA(x), µB(y)) µA(x) × µB(y) max(0, µA(x) + µB(y) − 1)

和 論理和 代数和 限界和

論理記号 A ∨ B A+B A ⊕ B

意味 max(µA(x), µB(y)) µA(x) + µB(y) − µA(x) × µB(y) min(1, µA(x) + µB(y))

11.1.6 ファジィ関係

ここでは 2項関係のみを説明する.2つの全体集合X, Y の間のあいまいな関係を与えるのがファジィ関係であるが,これは直積集合X × Y を全体集合とするファジィ集合とも考えられる.クリスプ関係の例は,”xは yに等しい”などである.これに対しファジィ関係の例は”xは yにだいたい等しい”などである.全体集合X, Y が離散集合の場合のファジィ関係は行列型のメンバーシップ関数として定義される.例えば,X = {x1, x2},Y = {y1, y2}の場合ファジィ関係Rは次式のように定義される.

R =

[µR(x1, y1) µR(x1, y2)

µR(x2, y1) µR(x2, y2)

]

全体集合X, Y が連続集合の場合のファジィ関係は 2変数関数であるメンバーシップ関数として,つぎのように定義される.

R =∫

X×YµR(x, y)/(x, y)

ファジィ関係同士の演算 (積,和,補)はつぎのように定義される.R, SをX ×Y 上のファジィ関係とする.ファジィ関係の積R ∩ S, 和 R ∪ S, 補 R は次式のメンバーシップ関数で定義される.

µR∩S(x, y) = µR(x, y) ∧ µS(x, y)

Page 112: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

112 第 11章 ファジィ制御

µR∪S(x, y) = µR(x, y) ∨ µS(x, y)

µR(x, y) = 1 − µR(x, y)

ファジィ関係の合成には 2つが考えられる.1つは,X×Y 上のファジィ関係Rが与えられているとき,X上のファジィ集合Aに対応するY 上のファジィ集合B,つまりB = A◦R

である.もう 1つはX × Y 上のファジィ関係Rと Y ×Z上のファジィ関係 Sとの合成であるR ◦Sである.前者の合成は Y 上のファジィ集合であるが,そのメンバーシップ関数をつぎのように定義する.

µA◦R(y) = maxx∈X

{µA(x) ∧ µR(x, y)}

これに対し,後者の合成はX × Z上のファジィ関係であり,そのメンバーシップ関数をつぎのように定義する.

µR◦S(x, z) = maxy∈Y

{µR(x, y) ∧ µS(y, z)}

この式の意味を離散集合X = {x1, x2},Y = {y1, y2},Z = {z1, z2}において,X × Y 上のファジィ関係Rと Y × Z上のファジィ関係 Sの合成R ◦ Sを例にとって考えよう.

R =

[µR(x1, y1) µR(x1, y2)

µR(x2, y1) µR(x2, y2)

], S =

[µS(y1, z1) µS(y1, z2)

µS(y2, z1) µS(y2, z2)

]

とすると,µR◦S(x, z)は次式のようになる.

µR◦S(x1, z1) = (µR(x1, y1) ∧ µS(y1, z1)) ∨ (µR(x1, y2) ∧ µS(y2, z1))

µR◦S(x1, z2) = (µR(x1, y1) ∧ µS(y1, z2)) ∨ (µR(x1, y2) ∧ µS(y2, z2))

µR◦S(x2, z1) = (µR(x2, y1) ∧ µS(y1, z1)) ∨ (µR(x2, y2) ∧ µS(y2, z1))

µR◦S(x2, z2) = (µR(x2, y1) ∧ µS(y1, z2)) ∨ (µR(x2, y2) ∧ µS(y2, z2))

これは,xから zまでの関係の積をとり,yについては何をとってもよいので和関係をとることを意味している.

11.2 ファジィ推論ファジィ推論は IF-THENルールで記述される.たとえば,つぎのようなものである.

if x1 is small and x2 is big then y is medium

if x1 is big and x2 is medium then y is big

ここで,ifの後から thenの前までを前件部,thenから後を後件部という.また,前件部で使われている変数 x1, x2を前件部変数,後件部で使われている変数を後件部変数といい,

Page 113: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.2. ファジィ推論 113

ラベル フルスペル 意味

NL(NB) Negative Large (Big) マイナスで大きいNM(NB) Negative Medium マイナスで中くらい

NS Negative Small マイナスで小さいZR(ZO) Approximately Zero ほぼゼロ

PS Positive Small プラスで小さいPM Positive Medium プラスで中くらい

PL(PB) Positive Large (Big) プラスで大きい

y x1

x2

  NM NS ZR PS

NM PM

NS PS

ZR ZR

PS NS

small,bigやmediumをファジィ変数という.ファジィ変数はメンバーシップ関数を与えることによりファジィ集合として表される.一般的には,ファジィ変数の名前 (ラベル)としてはNB,NM,ZR,PM,PBなどが用いられる.さらに IF-THENルールは表で書かれることが多い.ファジィコントローラは複数の IF-THENルールとファジィ推論部から構成される.コ

ントローラの立場からみると,前件部変数がコントローラの入力で,後件部変数が出力である.ファジィ推論部は,入力が与えられたとき,その入力のグレードを見てどの程度,ルールを適用させるかを求めるものである.ファジィ推論はファジィ論理に基づくものであるが,ファジィ制御ではファジィ論理を用いない簡単な計算法を用いることが多い.推論結果としてでてくる出力も最後はファジィ数ではなくふつうの値として導出される.代表的な推論法としては,以下のものがある [24].

1. Mamdaniの推論法2. 後件部に線形関数を用いた推論法 (菅野の推論法)

3. 後件部を簡略化した推論法

Page 114: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

114 第 11章 ファジィ制御

11.2.1 2値論理での推論法

modus pones

modus ponesは前提条件 (前提部)が与えられたとき,つぎのような推論 (結論部)を行うものである.

前提 1 : if x is A then y is B

前提 2 : x is A

——————————

結論 y is B

ただし,A, Bはクリスプ集合である.

modus tollens

modus tollesは前提条件 (前提部)が与えられたとき,つぎのような推論 (結論部)を行うものである.

前提 1 : if x is A then y is B

前提 2 : x is not A

——————————

結論 y is not B

11.2.2 一般のファジィ推論法

ファジィ推論はmodus ponesを一般化した以下のファジィmodus pones(一般化modus

ponesともいう)に基づいている.

前提 1 : if x is A then y is B

前提 2 : x is A

——————————

結論 y is B

ただし,A, B, A, Bはファジィ集合である.これらの手順をまとめると,一般的なファジィ推論の手順はつぎのようになる.

1. 与えられた入力に対する各ルールの前件部の適合度を求める.2. この適合度をもとに,各ルールの推論結果を求める.3. 各ルールの推論結果から最終的な推論結果を求める.

これらの手順の具体的な計算のやり方は,いろいろなものが提案されている.ここではmamdaniの方法を述べる.

Page 115: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.2. ファジィ推論 115

11.2.3 Mamdaniの推論法

つぎのようなルールが与えられていた場合の推論のやり方について述べる.

ルール 1 : if x is A1 and y is B1 then z is C1

ルール 2 : if x is A2 and y is B2 then z is C2

ただし,A1, B1, C1, A2, B2, C2はファジィ集合である.いま,推論部の入力が確定値として,(x0, y0)と与えられたとして,前節の一般的なファ

ジィ推論の手順をつぎのように実行するのがMamdaniの推論法である.

1. (x0, y0)に対する各ルールの前件部の適合度をつぎのように求める.

ルール 1の適合度 w1 = µA1(x0) ∧ µB1(y0)

ルール 2の適合度 w2 = µA2(x0) ∧ µB2(y0)

ここで,∧は他の演算で置き換えられることもある.2. 適合度w1, w2をもとに,各ルールの推論結果をつぎのように求める.

ルール 1の推論結果 µC1(z) = w1 ∧ µC1(z)

ルール 2の推論結果 µC2(z) = w2 ∧ µC2(z)

3. 各ルールの推論結果から最終的な推論結果をつぎのように求める.

最終的な推論結果 µC(z) = µC1(z) ∨ µC2

(z)

4. ファジィ集合から確定値 z0を出すために,推論結果のファジィ集合の非ファジィ化を行うが,つぎの 2つがある.

(a) メンバーシップ関数 µC(z)の重心を計算する.

z0 =

∫µC(z)zdz∫µC(z)dz

(b) 最大のメンバーシップ値をとる.

z0 = arg maxz

µC(z)

上の手順において,積,和計算を論理積 (∧,min)や論理和 (∨, max)の代わりに代数積や代数和などに置き換えることにより,いろいろな推論が可能となるが,その根拠は確かでない.MATLABの Fuzzy Logic Toolboxでは,積和計算の切り替えが用意であり,論理積,代数積,論理和,代数和は,それぞれ,min, prod, max, proborと呼ばれている.

Page 116: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

116 第 11章 ファジィ制御

11.2.4 ファジィ制御適用における注意

コントローラの入力と出力を縦軸および横軸にとってグラフ化すると,メンバーシップ関数に依存した制御関数を図示することができる.これは,ファジィ制御は非線形制御の一種と考えられることを示している.ただし,他の非線形制御と違うのは,ファジィ制御を単純に適用すると,システム全体の安定性が欠けてしまうことがあることである.このため,ファジィ制御を行う際には,確実に動作するポイントを何箇所か見つけておき,このポイントの間を補間するようにファジィ集合 (メンバーシップ関数) を決めることが重要である.制御性能の向上はメーバーシップ関数を微調整することにより達成される.この意味では,ファジィ制御は職人的なものになるのである.

Page 117: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.3. MATLAB/SIMULINKによる例題 117

11.3 MATLAB/SIMULINKによる例題5.1節でのべた水面レベル制御を例題として,MATLAB/SIMULINKをもちいたファ

ジィ制御のシミュレーションを紹介する [81].

11.3.1 システムの記述

液面制御系の全体構成を SIMULINKを用いて,図 11.1に示す.

図 11.1: 液面制御系の Simulink図

VALVEはバルブ開度を入力変数,流入流量を出力としており,全閉が 0で全開が 1で与えられ,全開時の流量が 0.5で与えられている.また,バルブの動特性を積分で近似し,バルブ開度の範囲が 0から 1までなので,リミッター付きの積分器を用いている.これを図 11.2に示す.またWATER TANKは 5章で述べたモデルを用いている.

11.3.2 ファジィコントローラの設計

コントローラの入力は,基準値 (0.5と 1.5を交互に繰り返すパルス信号)と液面レベルとの偏差 (範囲は−1 ∼ 1) および液面レベルのレベルの変化率 (レベルの微分値) をリミッターで制限したもの (範囲は−0.1 ∼ 0.1)であり,出力はバルブ開度である.偏差のファジィ集合として low, okay, high,メンバーシップ関数はガウス分布型関数 (MATLABの関数名gaussmf),変化率のファジィ集合として positive, none, negative,メンバーシップ関数はガウス分布型関数としている.バルブ開度のファジィ集合として,open fast, open slow,

no change, close slow, close fast,メンバーシップ関数は三角波 (MATLABの関数名 trimf)

Page 118: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

118 第 11章 ファジィ制御

図 11.2: リミッター付積分器

で与えている.Fuzzy Logic Toolbox で用意されているメンバーシップ関数は,つぎのようなものがある.dsigmf : 2つのシグモイドメンバーシップ関数の差gauss2mf : 両側ガウス曲線からなるメンバーシップ関数gaussmf : ガウス曲線メンバーシップ関数gbellmf : 一般的なベル型メンバーシップ関数pimf : Π 型メンバーシップ関数psigmf : 2つのシグモイドメンバーシップ関数の積smf : S型シグモイドメンバーシップ関数trapmf : 四辺形メンバーシップ関数trimf : 三角形メンバーシップ関数zmf : Z型メンバーシップ関数

11.3.3 制御応答

図 11.3にシミュレーション用の Simulink図を示す.

Page 119: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.3. MATLAB/SIMULINKによる例題 119

図 11.3: Simukink図

Page 120: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

120 第 11章 ファジィ制御

図 11.4: Simukink図

Page 121: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.3. MATLAB/SIMULINKによる例題 121

図 11.5: Simukink図

Page 122: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

122 第 11章 ファジィ制御

図 11.6: Simukink図

Page 123: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

11.3. MATLAB/SIMULINKによる例題 123

図 11.7: Simukink図

Page 124: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

124 第 11章 ファジィ制御

図 11.8: Simukink図

Page 125: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

125

第12章 プロセス制御系の実際

プラント制御においては,計装ということばがよく用いられるので,このことばの意味を述べておく.計装とは,プラントに制御装置とそれに関連する管理計器を装備すること,と定義されている.これは,すでに計測器の設置されているプラントにコントローラを装備するだけでなく,計器の選定や配置から制御までをトータルに行うことを意味している.

12.1 計器類文献 [72]をもとに,プロセス制御系の計器について説明する.詳しくは,文献 [72] を

参照のこと.

12.1.1 検出端

プロセス制御系における制御量を検出する装置 (センサー)としては以下のものがある.

1. 温度 : 熱電対,測温抵抗体,放射温度計2. 圧力,差圧 :

(a) 電子式 :

i. 構造形 · · · 静電容量式ii.物性形 · · · 半導体式 (ピエゾ抵抗効果)

(b) 空気式 : 機械式 · · · 力平衡式3. 流量 :

(a) 差圧式 · · · 絞り機構 (オリフィス,ノズル,ベンチュリ等) + 差圧伝送器(b) 電磁式 · · · 電磁流量計(c)容積式 · · · ルーツ式,オーバル式(d) 超音波式(e)タービン式(f) 渦式

4. 液面 :

(a) フロート式(b) 静電容量式(c)超音波式(d) 放射線式

Page 126: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

126 第 12章 プロセス制御系の実際

5. 成分 :

(a) 電気化学式 · · · pH計,酸素濃度計,COD計,残留塩素計等(b) 光分析式 · · · 赤外線分析計(c)電磁気分析式 · · · 磁気式酸素計,サルファ分析計,ダスト濃度計(d) クロマト式 · · · ガスクロマトグラフ,液体クロマトグラフ(e)熱分析式 · · · ガス濃度計(f) その他 · · · 各種ガス検知器,水素炎イオン化式分析計

12.1.2 伝送器

検出端で検出した信号 (微弱電圧,差圧など)は直接,遠くへ伝送するとノイズなどの影響でおおきな誤差をもつ.そこで,伝送器を用いて遠隔伝送に適した信号 (直流電流信号 (4 ∼ 20 mA), 空気圧信号 (0.2 ∼1.0 Kg))に変換してから伝送することが多い.

12.1.3 受信器

受信器はつぎのような役割をもっている.

1. 情報の伝達 · · · 指示計,警報器2. 情報の記憶 · · · 記録計,データロガ3. 情報の判断 · · · 調節器,コンピュータ4. 情報の加工 · · · 演算器,コンピュータ最近では,プラント運転システムはパネルレス化し,カラーCRTによる運転操作が導

入されるに至り,受信器の機能はディジタル制御システムの中に集約されてきている.

12.1.4 操作端

操作端 (アクチュエータ)としてはつぎのようなものがある.

1. 空気式操作端 :

(a) 空気式調節弁(b) 空気式駆動機構

2. 電気式操作端(a) 電動弁(b) 電磁弁(c)可変速電動機(d) 電力制御器等

3. その他の操作端(a) 油圧式調節弁

Page 127: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12.2. 各種プラントのプロセス制御 127

(b) 電油操作器等

12.2 各種プラントのプロセス制御文献 [72]をもとに,各種プロセス制御系について説明する.各種プラントでの制御量 (プ

ロセス制御量)は,流量,圧力,液面,温度,濃度などである.これらの制御量の実際の計装システムについて簡単に述べる.まず,プロセス制御系でよく用いる信号についての記号を

定義しておく.

SV (SetPointV ariable) : 設定値(目標値)PV (ProcessV ariable) : プロセス制御値(流量,圧力,液面,温度,濃度などMV (ManipulatedV ariable) : 操作量D (Disturbance) : 外乱e (= SV − PV ) : 制御偏差

この記号を用いてプロセス制御系の構造を書くと,図 12.1のようになる.

図 12.1: プロセス制御系のブロック線図

12.2.1 流量制御

圧力源がタンクのヘッドとポンプの場合の流量制御ループの構成は図 12.2のようになる.

Page 128: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

128 第 12章 プロセス制御系の実際

図 12.2: 流量制御系

検出端

流量センサーにはオリフィス,電磁流量計,容積流量計,超音波流量計,渦式流量計などを用いる.もっともよく用いるオリフィスなどの絞り機構の差圧検出による流量計では,検出された差圧の平方根をとることにより流量が求められる.これは,つぎのような原理による.オリフィス前の流量をQ,管路断面積をA,オリフィス断面積をB,オリフィス前後の流速を v1, v2,オリフィス前後の圧力をP1, P2,流体の体積重量を k,重力加速度を gとおく.このとき,ベルヌイの定理と流量保存則から次式が成り立つ.

P1

k+

v21

2g=

P2

k+

v22

2gQ = Av1 = Bv2

Page 129: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12.2. 各種プラントのプロセス制御 129

図 12.3: オリフィス

これから,次式が導かれる.

Q = m√

P2 − P1

m =

√√√√ 2gA2B2

k(A2 − B2)

また,液体は温度や外部圧力で体積が変化するので,正確な測定を行うためにはこれらの補正を加える必要がある.流量と液温との関係は,設計温度 (絶対温度)を TD,設計絶対圧力を PD,設計時の流量をQD,実際の液温を TM,実際の絶対圧力を PM,実際の流量をQM とすると,次式で表される.

QM =

√PMTD

PDTMQD

これらを加えた制御系の構成は図 12.4,12.5のようになる.

Page 130: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

130 第 12章 プロセス制御系の実際

図 12.4: 流量制御系

操作端

操作端 (アクチュエータ)として,ここでは,バルブを考える.流量制御の場合には,バルブが最も大きな時定数をもっているので,流量制御系の応答はバルブの特性で決まると言ってもよい.バルブには駆動方式の違いにより次のようなものがある.空気式 (空気式調節弁),電気式 (電動弁,電磁弁),油圧式 (油圧式調節弁)

バルブの開閉しか制御できないものもあるが,通常は,与える電気信号により開度を制御できるものを用いる.バルブの流量と開度には以下の関係がある.

Q = Cv

√∆P

γ

ただし,∆P はバルブ前後の差圧,γ は液体密度,Cv はバルブの Cv 値と呼ばれ,60F

の清水 ( γ = 1 )で,差圧を 1 psi ( 0.07kg/cm2 )に保ったときにバルブを流れる流量

Page 131: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12.2. 各種プラントのプロセス制御 131

図 12.5: 流量制御系

(gallon/min)である.Cvはバルブの流量特性を表し,バルブ開度が変わるとこの値が変化する.差圧を一定に保って,バルブ開度を変化させると,流量がバルブ開度に比例するようなものをリニア (線形)特性の弁といい,流量に比例するようなものをイコールパーセンテージ特性の弁という.制御系設計のためには,操作信号 (バルブ開度)に対して流量は線形に変化することが

のぞましい.なぜならば,ほとんどの制御系設計法が線形システムを対象としているからである.しかしながら,圧力源の圧力–流量特性,配管系の流量による圧力損失やバルブの流量特性 (イコールパーセンテージ特性の弁など)などにより,バルブ開度–流量特性は非線形性を示すことが多い.そこで,コントローラ側で補正を加えて線形化することが多い.

Page 132: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

132 第 12章 プロセス制御系の実際

コントローラ

コントローラを設計するためには,入出力関係からプラントを見直してみる必要がある.出力は流量,制御量も流量で,入力がバルブ開度である.バルブの差圧が一定の場合には,定常状態では入力 (バルブ開度)と出力 (流量)は比例関係にある.しかし,実際のプラントでは,バルブを急に開いても流量はだんだんと増加してしばらくたってから定常状態になる.これはちょうど前に述べた定位プロセスの応答になるわけである.そこで,バルブ開度をステップ信号として与え,その応答から,むだ時間 Lおよび時定数 T を計り,伝達関数ををつぎの式で求める.

G(s) =K

Ts + 1e−Ls

PIDコントローラのゲインは L, T から求められる.ここで,つぎの点に注意する.一般に流量制御は応答が速い.また,ポンプの吐出圧の脈動などにより流量ノイズが発生するため,微分動作は用いられない.このため,PI制御が用いられることが多い.

12.2.2 圧力制御

圧力は流体の位置および運動エネルギーによって決まることから,圧力を調整するにはつぎのような方法が考えられる.

1. 系内に流入する流体の量と流出する量の関係を変化させる.2. 配管内に絞りを設けて開口面積を変えて,抵抗による圧力損失を変化させ,絞り後の流体の圧力を変える.

3. ポンプ,ブロアなどの圧力源の回転数を変えるか,バイパス量を調節して送出量を変える.

圧力制御の場合,他のプロセス制御系と比較して,むだ時間 Lや時定数 T が小さいので,検出端,伝送器,操作端に遅れが生じないよう注意しなければならない.

検出端

応答が早く,高精度の半導体式か静電容量式圧力伝送器を用いる.

操作端

流体流量を絞って圧力を制御するバルブとポンプやブロアなどの圧力源の回転数制御がある.バルブを用いる場合は,流量を制御することにより間接的に圧力を制御することになる.つまり,圧力を低くするためにはバルブを閉め,流量を減らすことにより間接的に圧力を低くするわけである.

Page 133: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12.2. 各種プラントのプロセス制御 133

コントローラ

コントローラを設計するためには,入出力関係からプラントを見直してみる必要がある.出力は圧力,制御量も圧力で,入力が出口管路のバルブ開度である.このプラントは2つの部分に分けて考える必要がある.ひとつは入力であるバルブ開度から流量までの特性 (流量制御そのもの)ともうひとつは流量から圧力までの特性 (定常状態では圧力は流量の自乗に比例する)である.これも定位プロセスと考えられるので,バルブ開度をステップ信号として与え,その圧力応答をとることによりむだ時間Lおよび時定数T を計り,伝達関数ををつぎの式で求める.

G(s) =K

Ts + 1e−Ls

圧力制御では,PIコントローラが用いられることが多い.ただし,ボイラ蒸気圧は制御対象が積分特性をもっているので,P制御やPD制御が用いられる.外乱の影響を打ち消すために,フィードフォワード制御を用いることがある.

12.2.3 液面制御

液面制御はタンクの蓄積効果を利用して,液体の供給安定化,プロセス内滞留時間の調整や計量などの機能を果たす.図 12.6のようになる.タンクへの流体の流入量Fiと流出量Foとの差が液面の時間的変化に比例し,次のよう

な式が成り立つ.

AdH

dt= Fi − Fo

H =1

A

∫(Fi − Fo)dt

ただし,Aはタンクの断面積である.流出流量を調整することにより液面を制御する場合,プラントは積分特性を持つことになる (伝達関数が 1

sになる).

検出端

プロセス制御の場合の液面センサーは差圧式およびエアパージ式を用いることが多い.

1. 差圧式液面計密度 ρ の液体の液面からの深さ hでの液圧は P = ρhとなることから,底面での液圧を測定することにより液面高さを計ることができる.

2. エアパージ式液面計液中に設置したパイプに微小定流量の気体 (一般には空気)を流し,先端のノズルから小さな気泡を吹き出させて,ノズル背圧を測定するもの.

Page 134: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

134 第 12章 プロセス制御系の実際

図 12.6: 液面制御系

操作端

バルブで流体流量を制御することにより間接的に液面を制御する.つまり,液面を低くするためにはバルブを空け,流量を増やすことにより間接的に液面を低くするわけである.

コントローラ

コントローラを設計するためには,入出力関係からプラントを見直してみる必要がある.出力は液面,制御量も液面で,入力が出口管路のバルブ開度である.このプラントも2つの部分に分けて考える必要がある.ひとつは入力であるバルブ開度から流量までの伝達関数 (流量制御そのもの)である.液面が変化するとき差圧が変化が,この部分の非線形特性を無視すると,伝達関数は

G(s) =K1

T1s + 1e−L1s

Page 135: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

12.2. 各種プラントのプロセス制御 135

である.もうひとつは流量から液面までの特性 (積分特性をもつ)

G(s) =K2

s

である.この 2つを組み合わせるとつぎのような伝達関数が得られる.

G(s) =K1K2

s(T1s + 1)e−L1s

液面制御ではゲインの大きい P制御を用いることが多いが,ハンチング回避のために,PID制御がもちいられることがある.

12.2.4 温度制御

炉温制御系の基本的なものはつぎのようなものである.

図 12.7: 温度制御系

Page 136: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

136 第 12章 プロセス制御系の実際

検出端

温度センサーとしては,測温抵抗体や熱電対を用いることが多いが,最近では,放射温度計で非接触に測定する場合も多くなっている.

操作端

バルブで流量 (燃料流量調整,2つの温度の異なる流体の混合流量調整,加熱蒸気の流量調整など) を制御することにより間接的に温度を制御する.

コントローラ

PIDコントローラが用いられることが多い.外乱の影響を打ち消すために,フィードフォワード制御やカスケード制御を組み合わせて用いることがある.

Page 137: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

137

第13章 産業界における実用例

実システムへの適用例を [29]をもとに箇条書きしてみると次のようになる.ただし,ここではプロセス制御系のみをあげる.サーボ系については状態空間モデルに基づく現代制御理論やロバスト制御理論が使われているのに対し,モデル構築の難しいプロセス制御系では,状態空間に基づくコントローラの設計 [56]は,製鉄プラント,電力系統以外では,まだまだのようである.

1. 水運用制御における制御理論の適用 富士電機2. 加熱炉燃焼制御への知識工学の適用 川崎製鐵3. 原油蒸留装置最適化制御システムの開発と実用化 千代田化工建設4. 連続焼鈍処理設備における加熱炉板温の適応制御 新日本製鐵5. ホッパーレベル制御への状態予測制御の適用 小野田セメント6. 脂肪酸蒸留システムへのモデル予測制御の適用 花王7. ボイラプラントへの適応制御の適用 三菱重工8. セルフチューニングPIDコントローラ 横河電機,山武ハネウェル,富士電機,東芝9. モデル予測制御によるプログラマブルコントローラ 山武ハネウェル,横河電機

10. 触媒燃焼方式ガスタービンのロバスト制御システム 川崎重工11. セメントキルンのファジィ制御 富士ファコム制御12. 時系列解析によるコークル炉ガス発生量予測 三菱化成13. モデル予測制御による流動接触分解装置の制御 千代田化工建設14. ファジィ制御によるPIDコントローラ設計 日立製作所

Page 138: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 139: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

139

第14章 現代制御,ロバスト制御

PID制御の制御性能以上のものを出そうとすると,それ以上の制御方式が必要である.特に,制御量や操作量が複数個あるような制御系では,単純に,単一入力,単一出力プラントにおける PIDコントローラが使えるわけではない.このような制御系を多変数制御系と言う.多変数制御系における最初の考え方は,それぞれの操作量が 1つの制御量のみに影響し,他の制御量に干渉しないようにしてから (非干渉制御),PIDコントローラを使うと言うものであった.しかし,これだけでは扱えるシステムに限りがあることから,システムの内部状態と入出力の関係を陽に表現する状態方程式なるものが,Kalmanにより導入された.Kalmanは状態方程式にもとづく制御の基本理論 (可制御性,可観測性,正準構造,最適レギュレータ,カルマンフィルタなど)をほとんどひとりで構築した.この理論はWonham, Davison, Rosenbrock, Willemsなどにより拡張され,現代制御理論を花開かせた.現代制御理論では,システムパラメータの正確な情報をもとに,プラントの状態方程式を記述することを前提にしている.このため,ロボットなどメカニカルなシステムの制御には適しているが,外部環境の変化でシステムパラメータの変化するようなプラント,非線形性のつよい電力系統などのプラントやモデリングの難しい工業プラントでは,モデリングにより得られた状態方程式や伝達関数と実際のプラントにずれが生じ,うまく制御できないことが多々あった.そこで,従来の PID制御が非干渉制御と共に用いられてきたわけである.このような状況化で,登場したのが,ロバスト制御である.ロバスト制御では設計モデル (ノミナルプラントという)と実際のプラントの誤差を制御系設計に考慮に入れることができる.代表的な設計法は,H∞制御系設計法である.ロバスト制御の初期の貢献は Safonov, Steinであるが,もっともインパクトのあったものはロバスト安定化の概念とその解を求めた木村,H∞制御の基本概念を提案した Zamesそれに状態空間法によるH∞制御の解を導出したDoyleとGlover である.また,最近ではGahinetによりH∞制御の求解は線形行列不等式を用いた凸計画問題に帰着され,さまざまなプラントへの適用が期待されている.最近では制御系解析・設計のソフトウェアが充実してきたので,理論の詳細を知らなく

ても簡単に制御系解析・設計が行えるようになってきた.ここでは会話型制御系設計ソフトMATLAB,SIMULINKを用いたディジタルコントローラの導出手順について簡単に述べる.

Page 140: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

140 第 14章 現代制御,ロバスト制御

14.1 状態方程式の記述数式モデルに基づく現代制御理論では,つねに状態方程式が中心となる.したがって,

状態方程式とは何かがわかれば現代制御理論は使いこなせるわけである.状態方程式とは,次式のような形のベクトル型微分方程式をいう.

dx(t)

dt= Ax(t) + Bu(t) (14.1)

y(t) = Cx(t) + Du(t) (14.2)

ただし,

x(t) =

x1(t)...

xn(t)

(14.3)

u(t) =

u1(t)...

ur(t)

(14.4)

y(t) =

y1(t)...

ym(t)

(14.5)

(14.6)

であり,x(t)を状態変数,y(t)を出力変数,u(t)を入力変数という.このとき,y(t)の値を見ながら u(t)の値をきめてやることにより,x(t)や y(t)を希望の値にもっていくことができる.この y(t)から u(t)をきめる役割をするのが,フィードバックコントローラである.

14.2 現代制御理論によるコントローラ設計手順現代制御理論を制御対象に適用する際には,次のような手順をとる.

1. 制御対象にセンサとアクチュエータを取り付ける.これが制御系の性能を一番大きく左右する.制御屋は通常はこの次の事項からを守備範囲としているのが普通である.

2. 制御対象の物理モデルからその動特性をあらわす微分方程式を導出する.ただし,制御対象の操作量 (入力)と観測量 (出力)はなにかはっきりさせておく.とくに,メカトロ系の場合には,ニュートンの運動方程式が基礎となる.物理法則などから動特性方程式が導出できないような場合,たとえば制御対象が人や社会などの場合には,ファジィモデルなどの方が有効であるかもしれない.

3. 上で求めた微分方程式を変形して (14.1),(14.2)式の形にもってくる.ただし,微分方程式が非線形の場合には近似する.

Page 141: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

14.3. LQG制御系 141

4. 実験データから (14.1),(14.2)式中のパラメータA, B, C, Dを決定する.ただし,実測によりわかるパラメータと適当な入力を制御対象に入れてみて出力を確認することによりだいたいこれくらいとわかるパラメータの 2つがある.後者のように入出力データからパラメータを推定することをシステム同定という.どちらにしても,このパラメータにはある程度の誤差が含まれることになる.なお,システム同定はMATLAB

を用いれば,ある程度自動的にシステムパラメータが導出できる.5. 要請はなにか,つまり設計仕様を決め,状態方程式のことばで表現する.ここで,残念ながら相当の妥協を迫られる.

6. 設計仕様をいちばんよく満たす制御方式を選択する.ただし,MATLAB標準付属で設計できるのは,LQGおよびH∞制御系である.あとの制御方式については,自分である程度コントローラ設計のプログラムをつくる必要がある.

7. 選択された制御方式によりアナログコントローラを導出する.コントローラは,MAT-

LABを用いると,状態方程式と設計仕様が決まっていれば自動的に導出できる.8. 得られたアナログコントローラの性能を数値シミュレーションにより確認する.シミュレーションには,SIMULINKを用いる.SIMULINKはブロック線図をディスプレイ上に描くだけで制御系の応答を描画できる.

9. アナログコントローラを双 1次変換を用いてディジタル化する.双 1次変換はMAT-

LABを用いて自動的に導出できる.10. ディジタルコントローラをC言語で書き,リアルタイム制御のルーチンを組む.11. 実機に適用する.うまくいくとは限らない!!!!!.うまくいかないときには,設計仕様をかえたり,コントローラをかえたりの試行錯誤により,よりよいコントローラを探す.この作業がいちばんどろくさくてたいへんであるが,実務上は避けて通れないところである.

手順 2,3,4が制御対象のモデリングになり,5,6,7が制御系設計になる.

14.3 LQG制御系現代制御理論に基づくアナログコントローラの設計法の例として,LQG制御系を考え

る.LQG制御系では,システムや観測出力に確率的な雑音が付加されたときに,この雑音の影響を定常状態においてもっとも小さくすることを目的としている.状態方程式と出力方程式を次式とする.

dx(t)

dt= Ax(t) + Bu(t) + Dv(t) (14.7)

y = Cx(t) + w(t) (14.8)

ここで,v(t), w(t)はシステムおよび出力に混入する雑音で,つぎの統計的性質をもっているとする.

E [v(t)] = 0, (14.9)

Page 142: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

142 第 14章 現代制御,ロバスト制御

E[v(t)vT (s)

]= V δ(t − s), (14.10)

E [w(t)] = 0, (14.11)

E[w(t)wT (s)

]= Wδ(t − s), (14.12)

E[v(t)w(s)T

]= 0 (14.13)

V > 0, W > 0 (14.14)

ただし,E [•]は平均を,肩文字 T は転置 (行列やベクトルの行と列をいれかえる)を表している.コントローラを設計することは,出力情報 y(t)を用いて入力 u(t)を決定するような動

的機構 (微分方程式系)をつくることである.その動的機構の代表的なものが次式で表されるものであり,オブザーバとよばれる.

u(t) = Fz(t) (14.15)

dz(t)

dt= Az(t) + Bu(t) + G(y(t) − Cz(t)) (14.16)

= (A + BF − GC)z(t) + Gy(t) (14.17)

上式において z(t)は,出力 y(t)と入力 u(t)の情報を用いて算出した状態 x(t)の推定値という意味をもっている.上式の F, Gがこちらから設計するパラメータ行列である.このパラメータ行列の決め方として,LQG制御系では,次の評価関数

J = E[x(t)T CT QCx(t) + u(t)TRu(t)] (14.18)

を導入し,これを最小にするような F, Gを求める.この評価関数は,状態および入力をなるべく小さくする目的のために導入されたものである.このとき,F, Gは次のようになる.

G = SCT W−1 (14.19)

F = −R−1BT P (14.20)

ただし,S, P は次のRiccati方程式の正定解とする.

SAT + AS − SCT W−1CS + DV DT = 0 (14.21)

PA + AT P − PBR−1BT P + CT QC = 0 (14.22)

特に,(14.19)のように設計パラメータを決めた (14.16)をカルマンフィルタという.上式のG, F はMATLABを用いると,A, B, C, D, Q, R, W, V が与えられているとき,つぎのように簡単に計算できる.

[G, S] = lqe(A,D, C, V, W ) (14.23)

[F, P ] = lqr(A, B, C ′QC, R) (14.24)

Page 143: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

14.4. H∞制御系 143

ここで,lqr,lqeはRiccati方程式を計算するMATLAB CONTROL TOOLBOXの関数である.このようにして求められたアナログコントローラはつぎのようになる.

dz(t)

dt= (A + BF − GC)z(t) + Gy(t) (14.25)

u(t) = Fz(t) (14.26)

上式を双 1次変換するとディジタルコントローラが次のように求められる.

z [i + 1] = Adz [i] + Bdy [i] (14.27)

u [i] = Cdz [i] + Ddy [i] (14.28)

上式のAd, Bd, Cd, DdはMATLAB ROBUST CONTROL TOOLBOXの関数 bilinを用いて次のようにして計算できる.

[Ad, Bd, Cd, Dd] = bilin(A + BF − GC, G, F, 0, 1,′ Tustin′, 0.05) (14.29)

ただし,サンプリング周波数は 20Hzとする.

14.4 H∞制御系H∞ 制御は 1980年代初頭にその問題設定がなされ,1980年代後半にその解法アルゴリ

ズムが確立された新しい制御方法である.もともとの考え方の出発点となっているのは,システムモデルが不正確なものしかつくれず,このようなモデルからでもある程度の性能(安定性,定常特性)を保証するようなコントローラの導出することである.時間と紙面の都合上説明は割愛するが,これからの非常に有効な制御方法であるので,[33],[53],[56]

を参照されたい.理論的には難しいかも知れないが,それを知らなくてもMATLABなどの制御系設計ソフトウェアを用いると,簡単にコントローラが設計できる.とくに用いられるMATLABの Toolboxは,Robust Control Toolbox, Mu Analysis and Synthesis

Toolbox, Linear Matrix Inequality Toolboxである.

14.5 追記:LMI

現代制御理論といえば,状態方程式でシステム解析から設計まですべて行うというイメージがあるが,これは 1970年代までの動きであった.その中の代表的解析法が幾何学的手法であり,代表的設計法が最適レギュレータ,オブザーバ,カルマンフィルタである.ここでの中心的な設計仕様は時間的な応答をいかに望まれる波形にするかというものである.特に,出力と入力の 2条積分値を最小にするようなフィードバック則が最適レギュレータにより与えられている.また,制御系のロバスト性 (robustness)の面では,外乱の出力への影響をまったく除去する制御系がある条件のもとで構成されている.このような制御系設計法はいろいろな分野(航空機,自動車,ボイラ,タービン,ロボット,電力系

Page 144: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

144 第 14章 現代制御,ロバスト制御

統など)に応用され,それなりの成果をあげてきている.しかしながら,微分方程式による解析/設計は古くからのラプラス変換を中心とした古典制御理論の利点であった周波数という概念の欠落を招くことになった.つまり,古典制御では制御系設計をBode線図などで外部入力の周波数帯域ごとに視覚的に PIDコントローラの調整により行っているが(周波数整形という),状態方程式に基づく最適レギュレータとオブザーバからなるコントローラを用いると外部入力の影響をゼロにできないような制御系(非最小位相系)の場合には,外部入力の周波数特性に応じた制御性能を調整できない.ただし,状態方程式に基づくコントローラが全く周波数特性が指定できないかというとそうではなく,最適レギュレータによる状態フィードバックでは感度関数のゲインを 1以下にでき,ゲイン余裕は∞,位相余裕は 60°以上あることが指摘されているが,あくまでも状態がすべて観測できる場合のみに有効なものである.このような状況の中,1970年代終りから 1980年にかけてロバスト制御の基礎理論が構

築され,現代制御理論と古典制御理論の融合の試みが行われるようになった.ロバスト制御とは,不確かなモデル(状態方程式や伝達関数がある誤差をもってしか実際の対象をモデル化できないことを意味する)に対して,誤差がどの程度のものであれば,どれくらいの制御性能を確保できるかという設計指針を与えるものである.ここでの誤差の定量的取扱としては,実プラントとモデル化された伝達関数との誤差の周波数ごとのゲインや最大特異値である.たとえば,実プラントはよく 1次遅れ+むだ時間の形でよく表されるが,これをむだ時間を無視して 1次遅れのみで近似したときの誤差のゲインは 1次の有理関数のゲインにより抑えることができる.さらに設計仕様としては,外乱から制御量までの伝達関数のH∞ノルム(単一入出力系ではピークゲイン値のこと,多入出力系では周波数伝達関数の最大特異値のピーク値)を最小にするというものである.外乱から制御量までの伝達関数は外乱や制御量を特定することにより,特別な場合には感度関数あるいは相補感度関数にすることができる(後述する).感度関数のH∞ノルムを小さくすると目標値への追従特性を改善することができ(ノミナル性能,nominal performance),相補感度関数を小さくするとある大きさ以内の特性変動をもつ制御対象に対しても同じコントローラで閉ループ系の安定性を保持でき(ロバスト安定性,robust stability),感度関数と相補感度関数を組み合わせた混合感度問題では,ある大きさ以内の特性変動をもつ制御対象に対しても目標値の追従性能をある程度保障することができる(ロバスト性能,robust

performance).このようにしてロバスト制御の概念からある種の伝達関数のH∞ノルムを最小にするという設計仕様が生まれてきたわけで,これをH∞最適制御と呼ぶ.また,同じ枠組みの中で,これまでの最適制御も整理され,H2最適制御として一般化されている.当初,H∞最適制御の解法は関数解析手法や関数環の補間理論などを用いて行われてい

たため(もともとH∞は∞ノルムをもつハーディ空間のこと),難解であり,とでも現場で使えるまでには至らないだろうと思われていた.ところが,1980年代中ごろよりいろいろなH∞制御問題を,1つの標準問題として定式化したことと準最適化問題に簡単化したことにより,解法が非常に簡単化されることになった.標準問題は外部信号と制御信号を加えた形の 4端子型システムとして表される.また,H∞準最適制御(以後は簡単にH∞制御と呼ぶ)は外部信号から制御信号までの伝達関数のH∞ノルムを指定された値以下にするコントローラを求める問題である.指定された値を適当に大きな値からだんだ

Page 145: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

14.5. 追記:LMI 145

ん小さくしていき,もうそれ以上小さくするとコントローラが存在しないとき,H∞準最適コントローラはH∞最適コントローラとなる.このような定式化のものとで,H∞準最適コントローラは 2本のRiccati型の方程式を解くことにより求められることが 1988年に発表された.また,この解法は制御系設計ソフトウェアMATLABによりプログラム化され,標準問題として定式化さえすれば,コントローラを計算できるという便利なものまで現れた.しかし,この解法では,クリアすべき条件が多く,なかなか解を得るまでに,設計条件の調整が必要であった.一方,積極的に計算機を用いて,制御系設計問題を凸計画法により解くことが 1980年

代より始まった.特に 80年代後半には,安定化補償器のパラメトリゼーションを用いて,いろいろな設計仕様が自由パラメータに凸になることを用いた制御系設計法が提案された.しかし,この問題では探索するパラメータが伝達関数であることから,一般に無限次元の凸計画問題となり,計算効率の面で問題があった.ついで,1990年前後には,ある種の状態フィードバック制御問題が変数変換により線形行列不等式 (LMI,Linear Matrix

Inequality)に帰着できることが示された.これは探索パラメータが定数行列であるため,有限次元の凸計画問題になるものである.さらに,H∞制御問題も LMIを用いて解かれるようになった.凸計画問題は内点法 (interior-point method)などの代表的計算法が存在し,これはMATLABのLMI toolboxにより提供され,飛躍的に実系への適用を容易にして今日に至っている.

Page 146: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的
Page 147: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

147

第15章 制御系設計ソフトウェア

制御系解析/設計ソフトウェアとしてはMATRIXX with XMath,MATLAB with SIMULINK

が有名である.前者にはModule,後者にはToolboxとよばれる種々の制御系解析・設計のための関数群が装備されている.ここでは,筆者の使用しているMATLAB/SIMULINK

について簡単に述べ,付録でその基本的な使い方を説明する.くわしくは,参考文献[77],[83],[84],[85] を参照されたい.

15.1 MATLABとはMATLABはMatrix Laboratoryを略したもので,米国The Mathworks Inc.の行列計算

の会話型プログラム言語である.オリジナルは行列計算で定評のある LINPACK およびEISPACKで,ワークステーション用のものをPRO-MATLAB,MS-Windows用のものをWindows-MATLAB,マッキントッシュ用のものをMAC-MATLABと呼び,日本ではサイバネットシステム社から販売されている.構成は,基本MATLAB(行列計算,多項式計算,データ解析,周波数分解,基本数値計算関数,微分方程式計算,因子分解,論理演算,グラフィック表示,フィルター設計)およびそれらを組み合わせてプログラム化したM-ファイルとよばれるファイルから成っているツールボックスより構成されてる.ツールボックスは,制御系設計,信号処理,ニューラルネットワーク設計,最適化計算,システム同定など,各分野の第 1線の研究者との提携によって開発されたアプリケーションモジュールである.ツールボックスには次のようなものがある.

1. Control System Toolbox : 古典制御,現代制御理論に基づく制御系解析・設計を行うための機能を提供.

2. Robust Control Toolbox : ロバスト制御系の解析・設計を行うための機能を提供.3. µ-Analysis and Synthesis Toolbox : H∞ 制御やµ解析・設計を行うための機能を提供.4. Nonlinear Control Toolbox : 時間領域ベースでコントローラを設計するためのグラフィカルユーザーインターフェイスを提供.

5. System Identification Toolbox : システム同定を行うための機能を提供.6. Frequency Domain System Identification Toolbox : システム同定を行うための機能を提供.

7. Neural Network Toolbox : ニューラルネットワークの解析・設計を行うための機能を提供.

8. Model Predictive Control Toolbox : モデル予測制御系の解析・設計を行うための機

Page 148: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

148 第 15章 制御系設計ソフトウェア

能を提供.9. Optimization Toolbox : 線形計画および一般的な非線形関数の最適化を行うための機能を提供.

10. Signal Processing Toolbox : 周波数解析やディジタルフィルタの設計などの信号処理の機能を提供.

11. Hi-Spec Toolbox : ガウス分布を仮定しない信号処理を行うための機能を提供.12. Image Processing Toolbox : 画像処理,画像解析を行うための機能を提供.13. Statistics Toolbox : 統計解析を行うための機能を提供.14. Chemometrics Toolbox : 重回帰分析,主成分分析などの Chemometrics手法のための機能を提供.

15. Symbolic Math Toolbox : 数式処理システムMaple Vの計算機能を提供.16. Spline Toolbox : Spline関数のための機能を提供.17. Fuzzy Logic Toolbox : ファジィ制御を行うための機能を提供18. Linear Matrix Inequality Toolbox : 線形行列不等式の解法のための機能を提供.

また,最近のMATLABではGUI機能が充実され,MATLAB上でウィンドウの設計などを行うことができる.さらに,MATLABを用いてリアルタイム制御を行うことも可能であり,すでに教育用のキットがイギリスのメーカーから発売されている.

15.2 SIMULINKとはSIMULINKは動的システムのモデリングとシミュレーションをブロック線図により行

うことのできるシミュレータである.ブロック線図で表現した線形,非線形,連続時間系,離散時間系,ディジタル制御系などの広範なシステムをモデリングし,その応答をシミュレーションすることができる.また,MATLABのワークスペースとのデータのやり取りが可能である.計算速度の向上のために SIMULINK Acceleratorが用意されている.さらに,SIMULINK C Code Generatorはブロック線図で記述したリアルタイム信号処理系や制御系のアルゴリズムのC言語ソースコードを生成する.次ページに実際のMATLABとSIMULINKの画面表示を載せる.なお,本資料中の時間応答グラフはMATLABを,ブロック線図は SIMULINKを使用

している.

Page 149: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

149

関連図書

[1] 示村悦二郎:自動制御とは何か コロナ社  (1990)

[2] 高橋安人:コンピュータによるダイナミックシステム論 科学技術社  (1970)

[3] 小郷,美多:システム制御理論入門 実教出版  (1979)

[4] 片山 徹:フィードバック制御の基礎 朝倉書店  (1987)

[5] 須田信英:制御工学 コロナ社  (1987)

[6] 相良節夫:基礎自動制御 森北出版  (1978)

[7] 赤池,中川:ダイナミックシステムの統計的解析と制御 サイエンス社  (1972)

[8] 相良,和田,中野:ディジタル制御の基礎 コロナ社  (1992)

[9] 兼田,山本:ディジタル制御工学 共立出版  (1989)

[10] 南 茂夫:科学計測のための波形データ処理 CQ出版社  (1986)

[11] 木村英紀:ディジタル信号処理と制御 昭晃堂  (1982)

[12] 小畑,幹:CAIディジタル信号処理 コロナ社  (1991)

[13] 宮崎ら:パソコンで学ぶ自動制御の実用学 CQ出版社  (1991)

[14] 宮崎ら:パソコンで学ぶ自動制御の応用学 CQ出版社  (1992)

[15] 須田ら:PID制御 朝倉書店  (1992)

[16] M. Zhuang and D.P. Atherton : Automatic tuning of optimum PID controllers, IEE

proceeding-D, 140-3, 216-224 (1993)

[17] W.K. Ho, C.C. Hang and L.S. Cao : Tuning of PID Controllers Based on Gain and

Phase Margin Specifications, Automatica, 31-3, 497-502 (1995)

[18] B. Porter : Genetic Design of Control Systems, 計測と制御, 34-5, 393-402 (1995)

Page 150: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

150 第 15章 制御系設計ソフトウェア

[19] H.E. Musch and M. Steiner : Robust PID Control for an Industrial Distillation

Column, IEEE Control System Magazine, August, 46-55 (1995)

[20] 古田勝久編集:インテリジェントコントロール,コンピュートロール,No.22 (1988)

[21] 片山 徹:システム同定入門 朝倉書店  (1994)

[22] 菅野道夫:ファジィ制御 日刊工業新聞社  (1988)

[23] 安信誠二:ファジィ工学 昭晃堂  (1991)

[24] 田中一男:アドバンストファジィ工学 共立出版  (1994)

[25] R.I.Levineら著,越田ら訳:パーソナルコンピュータで学ぶAIとエキスパートシステム マグロウヒル  (1988)

[26] 橋本伊織:モデル予測制御,実システムにおける制御理論応用シンポジウム資料 計測自動制御学会  (1991)

[27] 西谷紘一:モデル予測制御の応用,計測と制御,28-11,996-1004 (1989)

[28] M.J. Grimble, S. De La Salle and D. Ho : RElationship Between Internal Model

Control and LQG Controller Structures, Automatica, 25-1, 41-53 (1989)

[29] 実システムにおける制御理論応用シンポジウム資料 計測自動制御学会  (1991)

[30] 嘉納ら:動的システムの解析と制御 コロナ社  (1991)

[31] 有本 卓:線形システム理論 産業図書 (1974)

[32] 木村英紀:動的システムの理論 産業図書 (1974)

[33] 伊藤,木村,細江:線形制御系の設計理論 計測自動制御学会  (1978)

[34] 木村:多変数制御系の理論と応用 I,システムと制御,vol.22,no.5,pp.293-301 (1978)

[35] H.Kwakernaak and R.Sivan : Linear Optimal Control Systems, Wiley(1972)

[36] M.Vidyasagar :Control System Synthesis,MIT Press(1985)

[37] 前田,杉江:アドバンスト制御のためのシステム制御理論 朝倉書店 (1990)

[38] K. Glover, ”All optimal Hankel-norm approximations of linear multivariable systems

and their L∞-error bounds, Int. J. Control, 43-3,pp.1115-1193 (1984).

[39] B.A.Francis :A Course in H∞ Control Theory, Springer(1987)

[40] J.Doyle, A.Packard and K.Zhou : Review of LFTs, LMIs, and µ (1991)

Page 151: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

15.2. SIMULINKとは 151

[41] S.P. Boyd and C.H. Barratt : Linear Controller Design, Limits of Perfomance,

Prentice-Hall,Inc. (1991).

[42] R.L.Dailey : Lecture Notes for the Workshop on H∞ and µ Methods for Robust

Control, 1990ACC, San Diego, CA (1990)

[43] 木村英紀:LQGからH∞へ,計測と制御, vol.29-2, pp.111-119 (1990)

[44] H.Kimura : Conjugation,interpolation and model-matching in H∞, Int.J of Control,

vol.49-1, pp.269-307 (1989)

[45] 木村英紀:J-Lossless Factorization にもとづくH∞, 第 41回システム制御情報講習会テキスト (1992)

[46] J.C.Doyle, K.Glover, P.P.Khargonekar and B.A.Francis : State-Space Solutions to

Standard H2 and H∞ Control Problems, IEEE Trans. on Automatic Control, vol.34-

8, pp.831-846 (1989)

[47] J.C.Doyle, K.Glover, P.P.Khargonekar and B.A.Francis : State-Space Solutions to

Standard H2 and H∞ Control Problems, 1988ACC, Atlanta, GA, June (1988)

[48] A.Feintuch, R.Saeks : System Theory – A Hilbert Space Approach, AP (1982)

[49] B.D.O. Anderson and J.B. Moore : Optimal Control – Linear Quadratic Control –

(1990).

[50] J.C.Doyle, B.A.Francis and A.R.Tannenbaum : Feedback Control Theory, Macmillan

(1992)(藤井監訳:フィードバック制御の理論,コロナ社)

[51] B.R. Barmish : New Tools for Robustness of Linear Systems, Macmillan,Inc. (1994).

[52] M.A.Rotea and P.P.Khargonekar : H2-optimal Control with an H∞-constraint : The

State Feedback Case, Automatica, vol.27-2, pp.307-316 (1991)

[53] 美多 勉:H∞制御,昭晃堂 (1994).

[54] 木村,藤井,森:ロバスト制御,コロナ社 (1994).

[55] 吉川,井村:現代制御論,昭晃堂 (1994).

[56] 細江,荒木監修:制御系設計 朝倉書店  (1994)

[57] 早勢 実:H∞制御入門,オーム社 (1996).

[58] S. Skogestad and I. Postlethwaite, Multivariable Feedback Control, John Wiley &

Sons, (1996).

Page 152: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

152 第 15章 制御系設計ソフトウェア

[59] 岩崎徹也:LMIと制御,昭晃堂 (1997).

[60] 細江:システムと制御,オーム社 (1997).

[61] F.W. Fairman, Linear Control THeory, The State Space Approach, John Wiley &

Sons, Inc. (1998).

[62] K. Zhou, J.C. Doyle, and K. Glover, Robust and Optimal Control, Prentice Hall,

Inc. (1996). 日本語訳,劉,羅訳,ロバスト最適制御,コロナ社 (1997).

[63] 木村英紀:H∞制御,コロナ社 (2000).

[64] 藤森 篤:ロバスト制御,コロナ社 (2001).

[65] 野波健蔵編著 : MATLABによる制御系設計,東京電機大学出版局 (1998).

[66] 梶原宏之 : LMI Control Toolboxによる制御系設計入門,MATLAB Produt News,

1996,no.3,no.4,no.5.

[67] Matsuo T. and K. Nakano,”Robust Stabilization of Closed-Loop Systems by PID+Q

Controller”, International Journal of Control, 70-4, 631-650 (1998).

[68] 新中新二:適応アルゴリズム 産業図書  (1990)

[69] K. Peter and R. Isermann : Parameter-Adaptive PID-Control Based on Continuous-

Time Process Models, Control-Theory and Advanced Technology, 9-1, 27-38 (1993)

[70] R. Yusof S. Omatsu and M. Khalid : Self-Tuning PID Control : a Multivariable

Derivation and Application, Automatica, 30-12, 1975-1981 (1994)

[71] 金井喜美雄:ロバスト適応制御 オーム社  (1989)

[72] 広井和男:ディジタル計装制御システムの基礎と応用 工業技術社  (1992)

[73] 野波健蔵:スライディングモード制御 コロナ社  (1994)

[74] 小国 力:MATLABと利用の実際 サイエンス社  (1995)

[75] 川越 靖:数値解析ソフトウェアMATLABの制御システムへの応用 インターフェイス, 1994年 9月号 CQ出版社

[76] 川越 靖:MATLABによる制御系シミュレーション インターフェイス, 1995年 5

月号 CQ出版社

[77] MATLAB User’s Guide, The MathWorks Inc.

[78] MATLAB System Identification Toolbox User’s Guide, The MathWorks Inc. (1992)

Page 153: プロセス制御技術の基礎と応用1...設計ソフトウェアMATLABを用いて幅広く説明する.特に,プロセス制御技術の基礎で あるPID制御技術の基礎およびその応用例について詳細に学ぶ.基礎としてまず,動的

15.2. SIMULINKとは 153

[79] MATLAB Nonlinear Control Design Toolbox User’s Guide, The MathWorks Inc.

(1994)

[80] MATLAB Model Predictive Control Toolbox User’s Guide, The MathWorks Inc.

(1994)

[81] MATLAB Fuzzy Logic Toolbox User’s Guide, The MathWorks Inc. (1995)

[82] MATLAB Linear Matrix Inequality Toolbox User’s Guide, The MathWorks Inc.

(1995)

[83] The Math Works Inc. : The Student Edition of MATLAB, Prentice Hall (1992)

[84] B. Shahian & M. Hassul : Control system Design Using MATLAB, Prentice Hall

(1993)

[85] B.C. Benjamin & D.C. Hanselman : Matlab Tools for Control System Analysis and

Design, Prentice Hall (1994)