JP7169950B2 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP7169950B2 JP7169950B2 JP2019162674A JP2019162674A JP7169950B2 JP 7169950 B2 JP7169950 B2 JP 7169950B2 JP 2019162674 A JP2019162674 A JP 2019162674A JP 2019162674 A JP2019162674 A JP 2019162674A JP 7169950 B2 JP7169950 B2 JP 7169950B2
- Authority
- JP
- Japan
- Prior art keywords
- controlled object
- value
- pid
- output value
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D45/00—Electrical control not provided for in groups F02D41/00 - F02D43/00
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Feedback Control In General (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
本発明は、制御装置に関し、特に、制御装置のパラメータを調節する技術に関する。
本技術の背景技術として、特開2018-112858(特許文献1)がある。この特許文献1には、PID値を算出するPID算出部と、前記PID値、制御対象の目標値、および、前記制御対象の実測値を用いて、PID制御を実行し、前記制御対象に対する操作量を算出するPID制御部と、前記目標値と前記実測値との組合せ、および、前記PID値の少なくとも一方を用いて、前記PID値の算出の停止を判定する判定部と、を備える、制御装置が記載されている(請求項1参照)。
しかしながら、前述の先行技術(特許文献1)は、算出したPID値を制御対象に実際に適用した結果(制御対象からの出力の実測値)を用いて、PID値の算出の停止を判定するものであって、算出したPID値を制御対象に実際に適用する前に、制御対象からの出力を予測し、予測結果を用いて、PID値の算出の停止を判定するものではない。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、
制御対象の所望の出力値y_dを演算する演算部と、前記所望の出力値y_dと制御対象の出力値y_0との差が小さくなるように、PID制御器のPIDゲイン値(Kp_1,Ki_1,Kd_1)を調整する調整部と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する予測部と、前記予測された制御対象の出力値y_1が所定の条件を満たしていない場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止する判定部とを備えることを特徴とする。
制御対象の所望の出力値y_dを演算する演算部と、前記所望の出力値y_dと制御対象の出力値y_0との差が小さくなるように、PID制御器のPIDゲイン値(Kp_1,Ki_1,Kd_1)を調整する調整部と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する予測部と、前記予測された制御対象の出力値y_1が所定の条件を満たしていない場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止する判定部とを備えることを特徴とする。
本発明によれば、PIDゲイン値の適用前の検証によって、制御システムへの悪影響を回避できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
<実施例1>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0と、前記制御対象の出力値y_0を得たときのPIDゲイン値(Kp_0,Ki_0,Kd_0)から推定される制御目標r_0とを用いて、前記制御対象の伝達特性Gを演算し、任意の制御目標r_a(例えば、前記制御対象の出力値y_0を得たときの制御目標r_0と)を用いて調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。なお、本明細書に開示される各実施例において、任意の制御目標はどのような形式(例えば、ステップ関数、ランプ関数で表されるもの)でもよい。同じ伝達関数で表される制御対象であれば、いずれの形式の制御目標で調整されたPIDゲイン値でも、他の形式の制御目標にも対応できる。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図である。
制御装置1において、所望の出力値演算部2は、制御対象の出力の所望のプロフィールを演算する。PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値とPIDゲイン値の調整に用いた制御対象出力とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。PIDゲイン値適用判定部5は、制御対象出力予測部4が演算した制御対象出力予測値が所定条件を満たしているか否かを判定し、満たしていないときは、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。
図2は、制御装置1のシステム図である。
制御装置1は、ハードウェアとして、記憶装置11、CPU12、ROM13、RAM14、データバス15、入力回路16、入出力ポート17及び出力回路18を有する。入力回路16は、外部から入力された信号を処理する。外部から入力される信号は、例えば、制御装置1に設置又は接続されているセンサから出力されるセンサ出力信号などである。外部から入力される信号は、入力回路16を経て、入力信号となり入出力ポート17へ送られる。入出力ポート17に送られた各入力情報は、データバス15を経て、RAM14又は記憶装置11に格納される。ROM13及び記憶装置11の少なくとも一方は、後述する処理を実行するためのプログラムを格納しており、該プログラムはCPU12で実行される。その際、RAM14及び記憶装置11の少なくとも一方に格納された値を、適宜、使用して演算を行う。演算結果のうち外部へ送り出す情報(値)は、データバス15を経て入出力ポート17に送られ、出力信号として出力回路18に送られる。出力回路18は、出力信号を外部に出力する。外部へ出力される出力信号は、制御対象を所望の動きをさせるために制御対象に備わるアクチュエータへ送信されるアクチュエータ駆動信号などである。
なお、CPU12がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGA(Field Programable Gate Array)やASIC(Application Specific Integrated Circuit)などのハードウェア)で実行してもよい。
図3は、制御装置1と制御装置1によって制御されるプラント7を示す図である。
本実施例のPID制御器6は、プラント7の温度を制御するための操作量(例えば、蒸気温度を調節するための目標バルブ開度)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1と、PIDゲイン値1の調整に用いた制御対象出力と、制御対象出力を得たときのPIDゲイン値0とを用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力(プラント7の温度)を予測する。ここで、PIDゲイン値0は、PIDゲイン値1の一つ前に調整されたPIDゲイン値であり、RAM14及び記憶装置11の少なくとも一方に記憶される。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、制御目標である目標プラント温度Tg_Tdegに対して、例えば伝達関数などを用いて、所望のプラント温度プロフィールDe_Tdegを演算する。制御目標は、例えばステップ信号、ランプ信号などが考えられる。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、制御目標である目標プラント温度Tg_Tdegに対して、例えば伝達関数などを用いて、所望のプラント温度プロフィールDe_Tdegを演算する。制御目標は、例えばステップ信号、ランプ信号などが考えられる。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、プラント温度Tdegのプロフィールと所望のプラント温度De_Tdegのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_new,Ki_new,Kd_newとする。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、プラント温度Tdegのプロフィールと所望のプラント温度De_Tdegのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_new,Ki_new,Kd_newとする。
プラント温度Tdegのプロフィールと所望のプラント温度De_Tdegのプロフィールとの差を評価する評価関数は、例えば、J2=||Tdeg-De_Tdeg||であるL2ノルム、又は、J1=|Tdeg-De_Tdeg|であるL1ノルムなどがある。J1やJ2を最小化するPIDゲイン値は、例えば、IFT(Iterative Feedback Tuning)、FRIT(Fictitious Reference Iterative Tuning)などで決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本調整処理は、オフライン、オンラインのどちらで行ってもよい。IFTでは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITでは、最適化の過程はオフラインで処理可能である。
<制御対象出力予測部(図6)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)とプラント温度Tdeg_0プロフィールを得たときのPIDゲイン値0(Kp_0,Ki_0,Kd_0)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図6に示す処理を実行する。
・Kp_0,Ki_0,Kd_0(PIDゲイン値0)とTdeg_0(プラント温度)プロフィールから、制御対象への入力信号であるTg_VO_0_est(目標バルブ開度推定値)を推定する。調整前PIDゲイン値(PIDゲイン値0)とPID制御器6の入力値である、制御目標と制御対象からの出力T_deg0との差を演算し、PID制御器6の出力値(制御対象への入力信号)であるTg_VO_estを演算する。
・Tg_VO_est(制御対象への入力信号)プロフィールとTdeg_0(制御対象からの出力)プロフィールとを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・同定された制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)とプラント温度Tdeg_0プロフィールを得たときのPIDゲイン値0(Kp_0,Ki_0,Kd_0)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図6に示す処理を実行する。
・Kp_0,Ki_0,Kd_0(PIDゲイン値0)とTdeg_0(プラント温度)プロフィールから、制御対象への入力信号であるTg_VO_0_est(目標バルブ開度推定値)を推定する。調整前PIDゲイン値(PIDゲイン値0)とPID制御器6の入力値である、制御目標と制御対象からの出力T_deg0との差を演算し、PID制御器6の出力値(制御対象への入力信号)であるTg_VO_estを演算する。
・Tg_VO_est(制御対象への入力信号)プロフィールとTdeg_0(制御対象からの出力)プロフィールとを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・同定された制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
PID制御器6と制御対象とは直列に接続され、制御対象からの出力はPID制御器6にフィードバックする閉ループ系を構成しているので、PID制御器6の式と制御対象の式があれば、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)が演算できる。
<PIDゲイン値適用判定部(図7)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示す処理を実行する。
・Tdeg_1_estの制御目標に対するオーバーシュート量OS_Tdeg_1及びアンダーシュート量US_Tdeg_1を求める。
・OS_Tdeg_1≧K_OS_Tdeg_1又はUS_Tdeg_1≧K_US_Tdeg_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示す処理を実行する。
・Tdeg_1_estの制御目標に対するオーバーシュート量OS_Tdeg_1及びアンダーシュート量US_Tdeg_1を求める。
・OS_Tdeg_1≧K_OS_Tdeg_1又はUS_Tdeg_1≧K_US_Tdeg_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値を、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値を、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値を、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値を、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とからなる。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0と、前記制御対象の出力値y_0を得たときのPIDゲイン値(Kp_0,Ki_0,Kd_0)から推定される制御目標r_0とを用いて、前記制御対象の伝達特性Gを演算し、任意の制御目標r_a(例えば、前記制御対象の出力値y_0を得たときの制御目標r_0と)を用いて調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4は、PIDゲイン値1の調整に用いた制御対象出力(プラント温度)及び制御対象出力を得たときのPIDゲイン値0とを用いて制御対象(プラント7)の伝達特性Gを同定する。さらに、制御対象出力予測部4は、調整されたPIDゲイン値1と制御対象の伝達特性Gとを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT(Iterative Feedback Tuning)、FRIT(Fictitious Reference Iterative Tuning)などの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上か否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力が目標値から想定以上にずれることを防止できる。
以上、本実施例によれば、算出したPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測でき、当該予測結果を用いて、PIDゲイン値の妥当性を事前に検証できる。検証の結果、PIDゲイン値に妥当性がない場合、当該PIDゲイン値を実際に適用することを禁止できる。さらに、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例2>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0と、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0とに基づいて、前記制御対象の伝達特性Gを演算し、任意の制御目標r_a(例えば、前記制御対象の出力値y_0を得たときの制御目標r_0)を用いて調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図9は、制御装置1と制御装置1によって制御されるプラント7を示す図である。本実施例のPID制御器6は、プラント7の温度を制御するための操作量(例えば、蒸気温度を調節するための目標バルブ開度)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1と、PIDゲイン値1の調整に用いた制御対象出力と、操作量(目標バルブ開度)とを用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測する。ここで、PIDゲイン値0は、PIDゲイン値1の一つ前に調整されたPIDゲイン値であり、RAM14及び記憶装置11の少なくとも一方に記憶される。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図10)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図10に示す処理を実行する。
・Tg_VO(目標バルブ開度)プロフィールとTdeg_0(プラント温度)プロフィールを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・同定された制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図10に示す処理を実行する。
・Tg_VO(目標バルブ開度)プロフィールとTdeg_0(プラント温度)プロフィールを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・同定された制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
PID制御器6と制御対象とは直列に接続され、制御対象からの出力はPID制御器6にフィードバックする閉ループ系を構成しているので、PID制御器6の式と制御対象の式があれば、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)が演算できる。
<PIDゲイン値適用判定部(図7)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0と、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0とに基づいて、前記制御対象の伝達特性Gを演算し、任意の制御目標r_a(例えば、前記制御対象の出力値y_0を得たときの制御目標r_0)を用いて調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4は、PIDゲイン値1の調整に用いた制御対象出力(プラント温度)及び操作量(目標バルブ開度)とを用いて制御対象(プラント7)の伝達特性Gを同定する。さらに、制御対象出力予測部4は、調整されたPIDゲイン値1と制御対象の伝達特性Gを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上か否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力が目標値から想定以上にずれることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例3>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象を伝達特性Gを表す物理モデルと、前記PIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、任意の制御目標r_aのときの調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図11は、制御装置1と制御装置1によって制御されるプラント7を示す図である。本実施例のPID制御器6は、プラント7の温度を制御するための操作量(例えば、蒸気温度を調節するための目標バルブ開度)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1を用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測する。ここで、PIDゲイン値0は、PIDゲイン値1の一つ前に調整されたPIDゲイン値であり、RAM14及び記憶装置11の少なくとも一方に記憶される。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図12)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)と物理モデルベースの制御対象の伝達関数Gとを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図12に示す処理を実行する。
・Tg_VO(目標バルブ開度)プロフィールとTdeg_0(プラント温度)プロフィールを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・物理モデルベースの制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)と物理モデルベースの制御対象の伝達関数Gとを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図12に示す処理を実行する。
・Tg_VO(目標バルブ開度)プロフィールとTdeg_0(プラント温度)プロフィールを用いて、制御対象の伝達関数Gを同定する。制御対象の入出力信号から制御対象の伝達関数を同定する方法については、多くの文献があるので、ここでは詳述しない。
・物理モデルベースの制御対象の伝達関数GとKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
伝達関数Gは、例えば、熱収支を表す物理モデルベースとする。熱収支を表す物理式は、一般的に知られているので、ここでは詳述しない。
PID制御器6と制御対象は、直列に接続され、制御対象からの出力はPID制御器6にフィードバックする閉ループ系を構成しているので、PID制御器6の式と制御対象の式があれば、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)が演算できる。
<PIDゲイン値適用判定部(図7)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象を伝達特性Gを表す物理モデルと、前記PIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、任意の制御目標r_aのときの調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4では、調整されたPIDゲイン値1と制御対象の物理モデルベースの伝達特性Gを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上か否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力が目標値から想定以上にずれることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例4>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図9は、制御装置1と制御装置1によって制御されるプラント7を示す図であり、実施例2と同じであるので、詳述しない。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図13)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図13に示す処理を実行する。
・Tg_VO(目標バルブ開度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・Tdeg_0(プラント温度)にe_1(PID制御器6の入力値)を加算して、Tg_Tdeg_1(目標プラント温度)を求める。
・Tg_Tdeg_1(目標プラント温度)に所望の出力値演算部2で用いた伝達関数を適用し、Tdeg_1_tilde(プラント温度暫定値)を求める。
・Tdeg_0(プラント温度)とTdeg_1_tilde(プラント温度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_Tdeg_a(目標プラント温度)に所望の出力値演算部2で用いた伝達関数を適用し、De_Tdeg_a(所望のプラント温度)を求める。
・De_Tdeg_a(所望のプラント温度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図13に示す処理を実行する。
・Tg_VO(目標バルブ開度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・Tdeg_0(プラント温度)にe_1(PID制御器6の入力値)を加算して、Tg_Tdeg_1(目標プラント温度)を求める。
・Tg_Tdeg_1(目標プラント温度)に所望の出力値演算部2で用いた伝達関数を適用し、Tdeg_1_tilde(プラント温度暫定値)を求める。
・Tdeg_0(プラント温度)とTdeg_1_tilde(プラント温度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_Tdeg_a(目標プラント温度)に所望の出力値演算部2で用いた伝達関数を適用し、De_Tdeg_a(所望のプラント温度)を求める。
・De_Tdeg_a(所望のプラント温度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるTdeg_1_est(プラント温度予測値)を演算する。
<PIDゲイン値適用判定部(図7)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図7に示すように、実施例1と同じであるので、詳述しない。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4では、PIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(プラント温度)と操作量(目標バルブ開度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上か否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力が目標値から想定以上にずれることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例5>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1が所定値に達するまでの応答時間が所定範囲にない場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図9は、制御装置1と制御装置1によって制御されるプラント7を示しているが、実施例2と同じであるので、詳述しない。
図9は、制御装置1と制御装置1によって制御されるプラント7を示しているが、実施例2と同じであるので、詳述しない。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図13)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図13に示すように、実施例4と同じなので、詳述しない。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図13に示すように、実施例4と同じなので、詳述しない。
<PIDゲイン値適用判定部(図14)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図14に示す処理を実行する。
・Tdeg_1_estが、所定値K1_Tdeg_1_estに達するまでの応答時間が所定範囲ない場合、f_Kpid_NG=1とする。
・それ以外の場合、 f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図14に示す処理を実行する。
・Tdeg_1_estが、所定値K1_Tdeg_1_estに達するまでの応答時間が所定範囲ない場合、f_Kpid_NG=1とする。
・それ以外の場合、 f_Kpid_NG=0とする。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1が所定値に達するまでの応答時間が所定範囲にないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4では、PIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(プラント温度)と操作量(目標バルブ開度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力が所定値に達するまでの応答時間が所定範囲にあるか否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力の応答性が想定よりずれることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例6>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0と前記制御対象の出力値y_0とを得たときの制御目標r_0と、前記制御対象の出力値y_0を得たときのPIDゲイン値(Kp_0,Ki_0,Kd_0)とに基づいて、前記制御対象の伝達特性Gを演算し、任意の制御目標r_aと(前記制御対象の出力値y_0を得たときの制御目標r_0と)前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1を求めた時の制御目標r_bを用いて、前記制御対象の所望の出力値yd_bを演算し、前記予測された制御対象の出力値y_1と前記制御対象の所望の出力値yd_bとの誤差d_2を演算し、前記誤差d_2の最大値又は前記誤差d_2の積算値又は前記誤差の二乗和が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図15は、制御装置1と制御装置1によって制御されるプラント7を示す図である。本実施例のPIDゲイン値適用判定部5は、制御対象出力予測値に加えて、出力予測に用いた制御目標も用いて、制御対象出力予測値が所定条件を満たしているか否かを判定し、制御対象出力予測値が所定条件を満たしていない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。それ以外は、実施例1と同じなので、詳述しない。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図16)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールを得たときのPIDゲイン値0(Kp_0,Ki_0,Kd_0)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図16に示され、Tg_Tdeg_b(出力予測に用いた制御目標)も出力する処理以外は、実施例1と同じなので詳述しない。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)及びプラント温度Tdeg_0プロフィールを得たときのPIDゲイン値0(Kp_0,Ki_0,Kd_0)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図16に示され、Tg_Tdeg_b(出力予測に用いた制御目標)も出力する処理以外は、実施例1と同じなので詳述しない。
<PIDゲイン値適用判定部(図17)>
PIDゲイン値適用判定部5は、制御対象からの出力予測値を求めた時の制御目標を用いて、所望の出力を演算し、当該値と制御対象からの出力予測値との誤差が所定条件を満たさない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図17に示す処理を実行する。
・Tg_Tdeg_b(出力予測に用いた制御目標)に、所望の出力値演算部2で用いた伝達関数を適用し、De_Tdeg_b(所望のプラント温度)を求める。
・Tdeg_1_est(プラント温度予測値)とDe_Tdeg_b(所望のプラント温度)との差をd_2(誤差)とする。
・|d_2|≧K_d_2のとき、f_Kpid_NG=1とする。
・それ以外のとき、f_Kpid_NG=0とする。
又は、d_2の二乗和が所定値以上のとき、f_Kpid_NG=1としてもよい。
PIDゲイン値適用判定部5は、制御対象からの出力予測値を求めた時の制御目標を用いて、所望の出力を演算し、当該値と制御対象からの出力予測値との誤差が所定条件を満たさない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図17に示す処理を実行する。
・Tg_Tdeg_b(出力予測に用いた制御目標)に、所望の出力値演算部2で用いた伝達関数を適用し、De_Tdeg_b(所望のプラント温度)を求める。
・Tdeg_1_est(プラント温度予測値)とDe_Tdeg_b(所望のプラント温度)との差をd_2(誤差)とする。
・|d_2|≧K_d_2のとき、f_Kpid_NG=1とする。
・それ以外のとき、f_Kpid_NG=0とする。
又は、d_2の二乗和が所定値以上のとき、f_Kpid_NG=1としてもよい。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1を求めた時の制御目標r_bで、前記制御対象の所望の出力値yd_bを演算し、前記予測された制御対象の出力値y_1と前記制御対象の所望の出力値yd_bとの誤差d_2を演算し、前記誤差d_2の最大値又は前記誤差d_2の積算値又は誤差の二乗和が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
このため、制御対象出力予測部4では、PIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(プラント温度)及び操作量(目標バルブ開度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力と所望の出力との誤差に基づいて、PIDゲイン値1の妥当性を判定するので、制御領域全体に渡って、制御誤差が想定より大きくなることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例7>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記差d_1が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、プラント7を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図18は、制御装置1と制御装置1によって制御されるプラント7を示す図である。本実施例のPIDゲイン値適用判定部5は、制御対象出力予測値及び予測誤差も用いて、制御対象出力予測値が所定条件を満たしているか否かを判定し、制御対象出力予測値が所定条件を満たしていない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。それ以外は、実施例4と同じなので、詳述しない。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図4)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(プラント7の温度)の所望のプロフィールを演算する。具体的には図4に示すように、実施例1と同じであるので、詳述しない。
<PID制御器ゲイン値調整部(図5)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図5に示すように、実施例1と同じであるので、詳述しない。
<制御対象出力予測部(図19)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)とプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図19に示されるが、誤差d_1を出力する処理以外は、実施例4と同じなので詳述しない。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(プラント温度Tdeg_0プロフィール)とプラント温度Tdeg_0プロフィールに対応する操作量(目標バルブ開度TgVOプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図19に示されるが、誤差d_1を出力する処理以外は、実施例4と同じなので詳述しない。
<PIDゲイン値適用判定部(図20)>
PIDゲイン値適用判定部5は、誤差d_1が所定条件を満たさない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図20に示す処理を実行する。
・|d_1|≧K_d_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、 f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、誤差d_1が所定条件を満たさない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図20に示す処理を実行する。
・|d_1|≧K_d_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、 f_Kpid_NG=0とする。
また、PIDゲイン値適用判定部5は、d_1の二乗和が所定値以上の場合、f_Kpid_NG=1としてもよい。
<PID制御器(図8)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図8に示すように、実施例1と同じであるので、詳述しない。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記差d_1が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、プラント7を制御する装置である。
制御対象出力予測部4では、PIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(プラント温度)と操作量(目標バルブ開度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力と所望の出力との誤差に基づいて、PIDゲイン値1の妥当性を判定するので、制御領域全体に渡って、制御誤差が想定より大きくなることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、プラント7の効率的な運用と安全な運用を両立できる。
<実施例8>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、自動運転車8を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図21は、制御装置1と制御装置1によって制御される自動運転車8を示す図である。本実施例のPID制御器6は、自動運転車8の速度を制御するための操作量(例えば、目標スロットル開度、目標舵角など)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1と、PIDゲイン値1の調整に用いた制御対象出力(速度)と、操作量(目標スロットル開度)とを用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測する。ここで、PIDゲイン値0は、PIDゲイン値1の一つ前に調整されたPIDゲイン値であり、RAM14及び記憶装置11の少なくとも一方に記憶される。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図22)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(自動運転車8の速度)の所望のプロフィールを演算する。具体的には図22に示すように、制御目標である目標速度Tg_VSPに対して、例えば伝達関数などを用いて、所望の速度プロフィールDe_VSPを演算する。制御目標は、例えばステップ信号、ランプ信号などが考えられる。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(自動運転車8の速度)の所望のプロフィールを演算する。具体的には図22に示すように、制御目標である目標速度Tg_VSPに対して、例えば伝達関数などを用いて、所望の速度プロフィールDe_VSPを演算する。制御目標は、例えばステップ信号、ランプ信号などが考えられる。
<PID制御器ゲイン値調整部(図23)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図23に示すように、速度VSP_0プロフィールと所望の速度De_VSPプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図23に示すように、速度VSP_0プロフィールと所望の速度De_VSPプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
速度VSP_0プロフィールと所望の速度De_VSPプロフィールの差を評価する評価関数は、例えば、J2=||VSP_0-De_Tdeg||であるL2ノルム、又は、J1=|VSP_0-De_Tdeg|であるL1ノルムなどがある。
前述したように、J1、J2を最小化するPIDゲイン値は、例えば、IFT、FRITなどで決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本調整処理は、オフライン、オンラインのどちらで行ってもよい。IFTでは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITでは、最適化の過程はオフラインで処理可能である。
<制御対象出力予測部(図24)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(速度VSP_0プロフィール)と速度VSP_0プロフィールに対応する操作量(目標速度TgVSPプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図24に示す処理を実行する。
・Tg_VO(目標スロットル開度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)とを用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・VSP_0(速度)にe_1(PID制御器6の入力値)を加算して、Tg_VSP_1(目標速度)を求める。
・Tg_VSP_1(目標速度)に、所望の出力値演算部2で用いた伝達関数を適用し、VSP_1_tilde(速度暫定値)を求める。
・VSP_0(速度)とVSP_1_tilde(速度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_VSP_a(目標速度)に、所望の出力値演算部2で用いた伝達関数を適用し、De_VSP_a(所望の速度)を求める。
・De_VSP_a(所望の速度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるVSP_1_est(速度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(速度VSP_0プロフィール)と速度VSP_0プロフィールに対応する操作量(目標速度TgVSPプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図24に示す処理を実行する。
・Tg_VO(目標スロットル開度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)とを用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・VSP_0(速度)にe_1(PID制御器6の入力値)を加算して、Tg_VSP_1(目標速度)を求める。
・Tg_VSP_1(目標速度)に、所望の出力値演算部2で用いた伝達関数を適用し、VSP_1_tilde(速度暫定値)を求める。
・VSP_0(速度)とVSP_1_tilde(速度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_VSP_a(目標速度)に、所望の出力値演算部2で用いた伝達関数を適用し、De_VSP_a(所望の速度)を求める。
・De_VSP_a(所望の速度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるVSP_1_est(速度予測値)を演算する。
<PIDゲイン値適用判定部(図25)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図25に示す処理を実行する。
・VSP_1_estの制御目標に対するオーバーシュート量OS_VSP_1及びアンダーシュート量US_VSP_1を求める。
・OS_VSP_1≧K_OS_VSP_1又はUS_VSP_1≧K_US_VSP_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図25に示す処理を実行する。
・VSP_1_estの制御目標に対するオーバーシュート量OS_VSP_1及びアンダーシュート量US_VSP_1を求める。
・OS_VSP_1≧K_OS_VSP_1又はUS_VSP_1≧K_US_VSP_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
<PID制御器(図26)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図26に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値は、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図26に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値は、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、自動運転車8を制御する装置である。
このため、制御対象出力予測部4は、調整されたPIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(速度)と操作量(目標スロットル開度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
また、予測した制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上か否かで、PIDゲイン値1の妥当性を判定するので、制御対象からの出力が目標値から想定以上にずれることを防止できる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、自動運転車8の効率的な制御と安全な制御を両立できる。
<実施例9>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、ロボット9を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図27は、制御装置1と制御装置1によって制御されるロボット9を示す図である。本実施例のPID制御器6は、ロボット9の位置を制御するための操作量(例えば、目標モーター電流量など)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1と、PIDゲイン値1の調整に用いた制御対象出力(位置)と、操作量(目標モーター電流量)とを用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測する。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図28)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(ロボット9の位置)の所望のプロフィールを演算する。具体的には図28に示すように、制御目標である目標位置Tg_POSに対して、例えば伝達関数などを用いて、所望の位置プロフィールDe_POSを演算する。制御目標は例えばステップ信号、ランプ信号などが考えられる。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(ロボット9の位置)の所望のプロフィールを演算する。具体的には図28に示すように、制御目標である目標位置Tg_POSに対して、例えば伝達関数などを用いて、所望の位置プロフィールDe_POSを演算する。制御目標は例えばステップ信号、ランプ信号などが考えられる。
<PID制御器ゲイン値調整部(図29)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図29に示すように、位置POS_0プロフィールと所望の位置De_POSプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図29に示すように、位置POS_0プロフィールと所望の位置De_POSプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
位置POS_0プロフィールと所望の位置De_POSプロフィールの差を評価する評価関数は、例えば、J2=||POS_0-De_POS||であるL2ノルム、又は、J1=|POS_0-De_POS|であるL1ノルムなどがある。
前述したように、J1、J2を最小化するPIDゲイン値は、例えば、IFT、FRITなどで決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本調整処理は、オフライン、オンラインのどちらで行ってもよい。IFTでは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITでは、最適化の過程はオフラインで処理可能である。
<制御対象出力予測部(図30)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(位置POS_0プロフィール)及び位置POS_0プロフィールに対応する操作量(目標モーター電流量Tg_Icプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図30に示す処理を実行する。
・Tg_Ic(目標モーター電流量)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・POS_0(位置)にe_1(PID制御器6の入力値)を加算して、Tg_POS_1(目標位置)を求める。
・Tg_POS_1(目標位置)に、所望の出力値演算部2で用いた伝達関数を適用し、POS_1_tilde(位置暫定値)を求める。
・POS_0(位置)とPOS_1_tilde(位置暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_POS_a(目標位置)に、所望の出力値演算部2で用いた伝達関数を適用し、De_POS_a(所望の位置)を求める。
・De_POS_a(所望の位置)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるPOS_1_est(位置予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(位置POS_0プロフィール)及び位置POS_0プロフィールに対応する操作量(目標モーター電流量Tg_Icプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図30に示す処理を実行する。
・Tg_Ic(目標モーター電流量)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・POS_0(位置)にe_1(PID制御器6の入力値)を加算して、Tg_POS_1(目標位置)を求める。
・Tg_POS_1(目標位置)に、所望の出力値演算部2で用いた伝達関数を適用し、POS_1_tilde(位置暫定値)を求める。
・POS_0(位置)とPOS_1_tilde(位置暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_POS_a(目標位置)に、所望の出力値演算部2で用いた伝達関数を適用し、De_POS_a(所望の位置)を求める。
・De_POS_a(所望の位置)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるPOS_1_est(位置予測値)を演算する。
<PIDゲイン値適用判定部(図31)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図31に示す処理を実行する。
・POS_1_estの制御目標に対するオーバーシュート量OS_POS_1及びアンダーシュート量US_POS_1を求める。
・OS_POS_1≧K_OS_POS_1又はUS_POS_1≧K_US_POS_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図31に示す処理を実行する。
・POS_1_estの制御目標に対するオーバーシュート量OS_POS_1及びアンダーシュート量US_POS_1を求める。
・OS_POS_1≧K_OS_POS_1又はUS_POS_1≧K_US_POS_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
<PID制御器(図32)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図32に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図32に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値は、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、ロボット9を制御する装置である。
このため、制御対象出力予測部4では、調整されたPIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(位置)及び操作量(目標モーター電流量)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、ロボット9の効率的な運用と安全な運用を両立できる。
<実施例10>
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
本実施例においては、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する制御装置1について示す。
また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。
また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。
また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。
また、制御装置1は、ドローン10を制御する装置である。
図1は、制御装置1の中心機能を示す図であり、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム図であり、実施例1と同じであるので、詳述しない。
図33は、制御装置1と制御装置1によって制御されるドローン10を示す図である。本実施例のPID制御器6は、ドローン10の位置を制御するための操作量(例えば、各ローターの回転速度など)を演算する。
また、制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1と、PIDゲイン値1の調整に用いた制御対象出力(位置)と、操作量(各ローターの回転速度)とを用いて、調整されたPIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測する。
以下、各処理の詳細を説明する。
<所望の出力値演算部(図34)>
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(ドローン10の飛行速度)の所望のプロフィールを演算する。具体的には図34に示すように、制御目標である目標飛行速度Tg_FSPに対して、例えば伝達関数などを用いて、所望の飛行速度プロフィールDe_FSPを演算する。制御目標は例えばステップ信号、ランプ信号などが考えられる。
所望の出力値演算部2は、制御目標に基づいて、制御対象の出力(ドローン10の飛行速度)の所望のプロフィールを演算する。具体的には図34に示すように、制御目標である目標飛行速度Tg_FSPに対して、例えば伝達関数などを用いて、所望の飛行速度プロフィールDe_FSPを演算する。制御目標は例えばステップ信号、ランプ信号などが考えられる。
<PID制御器ゲイン値調整部(図35)>
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図35に示すように、飛行速度FSP_0プロフィールと所望の位置De_FSPプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
PID制御器ゲイン値調整部3は、PID制御器6のゲイン値を調整する。具体的には図35に示すように、飛行速度FSP_0プロフィールと所望の位置De_FSPプロフィールの差異が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器6のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_1,Ki_1,Kd_1とする。
飛行速度FSP_0プロフィールと所望の位置De_FSPプロフィールの差を評価する評価関数は、例えば、J2=||FSP_0-De_FSP||であるL2ノルム、又は、J1=|FSP_0-De_FSP|であるL1ノルムなどがある。
前述したように、J1、J2を最小化するPIDゲイン値は、例えば、IFT、FRITなどで決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本調整処理は、オフライン、オンラインのどちらで行ってもよい。IFTでは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITでは、最適化の過程はオフラインで処理可能である。
<制御対象出力予測部(図36)>
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(飛行速度FSP_0プロフィール)及び飛行速度FSP_0プロフィールに対応する操作量(目標ローター回転速度Tg_RPMプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図36に示す処理を実行する。
・Tg_RPM(目標ローター回転速度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・FSP_0(飛行速度)にe_1(PID制御器6の入力値)を加算して、Tg_FSP_1(目標飛行速度)を求める。
・Tg_FSP_1(目標飛行速度)に、所望の出力値演算部2で用いた伝達関数を適用し、FSP_1_tilde(速度暫定値)を求める。
・FSP_0(飛行速度)とFSP_1_tilde(飛行速度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_FSP_a(目標飛行速度)に、所望の出力値演算部2で用いた伝達関数を適用し、De_FSP_a(所望の飛行速度)を求める。
・De_FSP_a(所望の飛行速度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるFSP_1_est(飛行速度予測値)を演算する。
制御対象出力予測部4は、PID制御器ゲイン値調整部3で調整されたPIDゲイン値1(Kp_1,Ki_1,Kd_1)とPIDゲイン値1の調整に用いた制御対象出力(飛行速度FSP_0プロフィール)及び飛行速度FSP_0プロフィールに対応する操作量(目標ローター回転速度Tg_RPMプロフィール)とを用いて、調整されたPIDゲイン値を制御対象に実際に適用する前に、制御対象からの出力を予測する。具体的には図36に示す処理を実行する。
・Tg_RPM(目標ローター回転速度)とKp_1,Ki_1,Kd_1(PIDゲイン値1)を用いて、PID制御器逆関数から、e_1(PID制御器6の入力値)を求める。
・FSP_0(飛行速度)にe_1(PID制御器6の入力値)を加算して、Tg_FSP_1(目標飛行速度)を求める。
・Tg_FSP_1(目標飛行速度)に、所望の出力値演算部2で用いた伝達関数を適用し、FSP_1_tilde(速度暫定値)を求める。
・FSP_0(飛行速度)とFSP_1_tilde(飛行速度暫定値)の差であるd_1(予測誤差)を求める。
・任意又は所定の制御目標であるTg_FSP_a(目標飛行速度)に、所望の出力値演算部2で用いた伝達関数を適用し、De_FSP_a(所望の飛行速度)を求める。
・De_FSP_a(所望の飛行速度)にd_1(予測誤差)を加算して、任意又は所定の制御目標のときの制御対象からの出力予測値であるFSP_1_est(飛行速度予測値)を演算する。
<PIDゲイン値適用判定部(図37)>
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図37に示す処理を実行する。
・FSP_1_estの制御目標に対するオーバーシュート量OS_FSP_1及びアンダーシュート量US_FSP_1を求める。
・OS_FSP_1≧K_OS_FSP_1又はUS_FSP_1≧K_US_FSP_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
PIDゲイン値適用判定部5は、制御対象出力予測部4で演算された制御対象出力予測値のオーバーシュート量及びアンダーシュート量が所定範囲にあるか否かを判定し、オーバーシュート量及びアンダーシュート量の少なくとも一方が所定範囲にない場合、調整されたPIDゲイン値を実際に適用することを禁止し、現行のPIDゲイン値を引き続き使用する。具体的には図37に示す処理を実行する。
・FSP_1_estの制御目標に対するオーバーシュート量OS_FSP_1及びアンダーシュート量US_FSP_1を求める。
・OS_FSP_1≧K_OS_FSP_1又はUS_FSP_1≧K_US_FSP_1の場合、f_Kpid_NG=1とする。
・それ以外の場合、f_Kpid_NG=0とする。
<PID制御器(図38)>
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図38に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値は、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
PID制御器6は、PID制御の処理を実行する。また、PIDゲイン値適用判定部5による判定結果に応じて、PIDゲイン値を決定する。具体的には図38に示す処理を実行する。
・f_Kpid_NG=0の場合、
PIDゲイン値は、Kp_1,Ki_1,Kd_1(PIDゲイン値1)とする。
・f_Kpid_NG=1の場合、
PIDゲイン値は、Kp_0,Ki_0,Kd_0(PIDゲイン値0)とする。
本実施例の制御装置1は、制御対象の所望の出力値ydを演算する所望の出力値演算部2と、前記所望の出力値ydと制御対象の出力値y_0との差が小さくなるように、PID制御器6のゲイン値を調整するPID制御器ゲイン値調整部3と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する制御対象出力予測部4と、前記予測された制御対象の出力値y_1が所定条件を満たしていないとき、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止するPIDゲイン値適用判定部5とを有する。また、前記制御対象の出力値y_0を記憶する記憶部を有する。制御対象出力予測部4は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する。また、制御対象出力予測部4は、前記制御対象の出力値y_0を得たときのPID制御器6の出力値u_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とから、前記PID制御器6の入力値e_1を求め、前記制御対象の出力値y_0と前記PID制御器6の入力値e_1の和である制御目標r_1を所望の出力値演算部2の制御目標としたときの、前記制御対象の所望の出力値yd_1を演算し、前記制御対象の出力値y_0と前記所望の出力値yd_1との差d_1を演算し、任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とする。また、PIDゲイン値適用判定部5は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を(実際の制御に)適用することを禁止する。また、制御装置1は、ドローン10を制御する装置である。
このため、制御対象出力予測部4では、PIDゲイン値1とPIDゲイン値1の調整に用いた制御対象出力(速度)及び操作量(目標速度)とを用いて、PIDゲイン値1を制御対象に実際に適用する前に、制御対象からの出力を予測できる。
前述したように、PIDゲイン値1の決定には、例えば、IFT、FRITなどの方法を用いることができ、これらの方法は、最適化問題に帰着するが、IFTは、最適化の過程において、その都度、制御対象にPIDゲイン値を適用する必要があるが、FRITは、最適化の過程はオフラインで処理が可能である。特に、オフラインでPIDゲイン値1の最適化が可能なFRITの場合は、本実施例によって、最適化したPIDゲイン値1を適用した結果(性能)もオフラインで予測可能となる。
以上、本実施例によれば、制御対象出力の観点で、PIDゲイン値の妥当性を当該ゲイン値適用前に検証することによって、制御システムへの悪影響を回避でき、さらに制御システムの性能を安定させることができ、当該システムの信頼性を高められる。より具体的には、ドローン10などの飛行体の効率的な運用と安全な運用を両立できる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD、BD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1 制御装置
2 所望の出力値演算部
3 PID制御器ゲイン値調整部
4 制御対象出力予測部
5 PIDゲイン値適用判定部
6 PID制御器
7 発電プラント
8 自動運転車
9 ロボット
10 ドローン
11 制御装置の記憶装置
12 制御装置のCPU
13 制御装置のROM
14 制御装置のRAM
15 制御装置のデータバス
16 制御装置の入力回路
17 制御装置の入出力ポート
18 制御装置の出力回路
2 所望の出力値演算部
3 PID制御器ゲイン値調整部
4 制御対象出力予測部
5 PIDゲイン値適用判定部
6 PID制御器
7 発電プラント
8 自動運転車
9 ロボット
10 ドローン
11 制御装置の記憶装置
12 制御装置のCPU
13 制御装置のROM
14 制御装置のRAM
15 制御装置のデータバス
16 制御装置の入力回路
17 制御装置の入出力ポート
18 制御装置の出力回路
Claims (11)
- 制御対象の所望の出力値y_dを演算する演算部と、
前記所望の出力値y_dと制御対象の出力値y_0との差が小さくなるように、PID制御器のPIDゲイン値(Kp_1,Ki_1,Kd_1)を調整する調整部と、
前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測する予測部と、
前記予測された制御対象の出力値y_1が所定の条件を満たしていない場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止する判定部とを備えることを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記制御対象の出力値y_0を記憶する記憶部を備え、
前記予測部は、少なくとも、前記記憶された出力値y_0と前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記予測部は、
前記制御対象の出力値y_0と、当該出力値y_0を得たときのPIDゲイン値から推定される制御目標r_0とを用いて、前記制御対象の伝達特性Gを演算し、
任意の制御目標r_aを用いて調整されたPIDゲイン値と前記演算された伝達特性Gとに基づいて、前記制御目標r_aのときの調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記予測部は、
前記制御対象の出力値y_0と、当該出力値y_0を得たときのPID制御器の出力値u_0とを用いて、前記制御対象の伝達特性Gを演算し、
任意の制御目標r_aを用いて調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)と前記制御対象の伝達特性Gとに基づいて、前記制御目標r_aのときの調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記予測部は、前記制御対象の伝達特性を表す物理モデルと、前記PIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、任意の制御目標のときの調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)を用いた場合の前記制御対象の出力値y_1を予測することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記予測部は、
前記制御対象の出力値y_0を得たときのPID制御器の出力値u_0と、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)とを用いて、前記PID制御器の入力値e_1を求め、
当該出力値y_0と前記PID制御器の入力値e_1との和である制御目標r_1を前記制御対象の所望の出力値y_dを前記演算部の制御目標としたときの、前記制御対象の所望の出力値y_d1を演算し、
当該出力値y_0と前記所望の出力値yd_1との差d_1を演算し、
任意の制御目標r_aのときの前記制御対象の所望の出力値yd_aに前記演算された差d_1を足した値を、前記任意の制御目標r_aのときの前記制御対象の出力値y_1とすることを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記判定部は、前記予測された制御対象の出力値y_1のオーバーシュート量及びアンダーシュート量の少なくとも一方が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
前記判定部は、前記予測された制御対象の出力値y_1が所定値に達するまでの応答時間が所定範囲にない場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止することを特徴とする制御装置。 - 請求項3から5のいずれか一つに記載の制御装置であって、
前記判定部は、
前記予測された制御対象の出力値y_1を求めた時の制御目標r_bを用いて、前記制御対象の所望の出力値yd_bを演算し、
前記予測された制御対象の出力値と前記制御対象の所望の出力値yd_bとの誤差d_2を演算し、
前記誤差d_2の最大値、前記誤差d_2の積算値、又は前記誤差d_2の二乗和が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止することを特徴とする制御装置。 - 請求項6に記載の制御装置であって、
前記判定部は、前記差が所定値以上の場合、前記調整されたPIDゲイン値(Kp_1,Ki_1,Kd_1)の前記制御対象への適用を禁止することを特徴とする制御装置。 - 請求項1に記載の制御装置であって、
少なくとも、プラントの温度を制御する装置、自動運転車を制御する装置、ロボットを制御する装置、及び飛行体を制御する装置のいずれかであることを特徴とする制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019162674A JP7169950B2 (ja) | 2019-09-06 | 2019-09-06 | 制御装置 |
PCT/JP2020/030842 WO2021044830A1 (ja) | 2019-09-06 | 2020-08-14 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019162674A JP7169950B2 (ja) | 2019-09-06 | 2019-09-06 | 制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021042671A JP2021042671A (ja) | 2021-03-18 |
JP7169950B2 true JP7169950B2 (ja) | 2022-11-11 |
Family
ID=74852463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019162674A Active JP7169950B2 (ja) | 2019-09-06 | 2019-09-06 | 制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7169950B2 (ja) |
WO (1) | WO2021044830A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030225465A1 (en) | 2002-05-31 | 2003-12-04 | Oettinger Eric G. | Residual feedback to improve estimator prediction |
US20180025288A1 (en) | 2016-07-25 | 2018-01-25 | General Electric Company | System modeling, control and optimization |
JP6348305B2 (ja) | 2014-03-19 | 2018-06-27 | 株式会社東光高岳 | ガス絶縁開閉装置 |
JP2018112858A (ja) | 2017-01-11 | 2018-07-19 | オムロン株式会社 | 制御装置、制御方法、制御プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348305A (ja) * | 1993-06-02 | 1994-12-22 | Mitsubishi Heavy Ind Ltd | Pid調節器のパラメータ調整装置 |
-
2019
- 2019-09-06 JP JP2019162674A patent/JP7169950B2/ja active Active
-
2020
- 2020-08-14 WO PCT/JP2020/030842 patent/WO2021044830A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030225465A1 (en) | 2002-05-31 | 2003-12-04 | Oettinger Eric G. | Residual feedback to improve estimator prediction |
JP6348305B2 (ja) | 2014-03-19 | 2018-06-27 | 株式会社東光高岳 | ガス絶縁開閉装置 |
US20180025288A1 (en) | 2016-07-25 | 2018-01-25 | General Electric Company | System modeling, control and optimization |
JP2018112858A (ja) | 2017-01-11 | 2018-07-19 | オムロン株式会社 | 制御装置、制御方法、制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2021044830A1 (ja) | 2021-03-11 |
JP2021042671A (ja) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7638965B2 (en) | Motor control apparatus | |
CN108809166B (zh) | 永磁直流电机的扰动观测器 | |
US10948899B2 (en) | Motor controller that uses an acceleration/deceleration time constant of the motor | |
JP2020035182A (ja) | 制御装置及び制御方法 | |
KR20210052504A (ko) | 진동 억제 장치, 진동 억제 방법 및 프로그램 | |
WO2022044191A1 (ja) | 調整システム、調整方法および調整プログラム | |
JP7169950B2 (ja) | 制御装置 | |
Hadi et al. | A new estimation/decoupling approach for robust observer-based fault reconstruction in nonlinear systems affected by simultaneous time varying actuator and sensor faults | |
US9541908B2 (en) | Servo motor controller and control method therefor | |
KR101485003B1 (ko) | 로봇의 위치 및 자세 제어 장치 및 방법 | |
JP5208610B2 (ja) | 慣性共振系を制御対象とする特性同定方法及びモータ制御装置 | |
JP7095834B2 (ja) | 制御パラメータ計算方法、制御パラメータ計算プログラム、及び制御パラメータ計算装置 | |
JP6469320B1 (ja) | サーボ制御装置 | |
JP7493338B2 (ja) | 制御装置 | |
JP7294832B2 (ja) | 制御装置 | |
JP4488876B2 (ja) | 制御装置 | |
JP7142725B2 (ja) | コントローラ、システムを制御する方法、及びストレージ媒体 | |
JP7257194B2 (ja) | 制御装置 | |
JP7288772B2 (ja) | 制御装置 | |
JP7339851B2 (ja) | 制御装置 | |
CN115422698A (zh) | 一种伺服驱动变周期在线惯量辨识方法 | |
JP7288771B2 (ja) | 制御装置 | |
WO2020059276A1 (ja) | 制御装置 | |
KR102324035B1 (ko) | 모멘텀 교환장치의 각속도 역전현상 방지 및 토크분배성능 최적화를 위한 제어 방법과 그 제어 장치 | |
JP6607097B2 (ja) | 制御装置、制御方法、情報処理プログラム、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7169950 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |