以下、本発明の実施例を図面を用いて説明する。
[実施例1]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の無駄時間を変更する。
また、前記制御対象正常判定部は、前記伝達関数の無駄時間が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、プラントを制御する装置である。
図1は、制御装置1の全体の構成を示す図である。
制御装置1において、PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。パラメータ変更部6は、制御対象からの出力のオーバーシュート量及びアンダーシュート量の少なくとも一つが所定範囲にあるか否か、PID制御器ゲイン値調整部2によって新たに演算されたゲイン値が所定範囲にあるか否か、前記ゲイン値が所定値に達したか否か、及び、制御対象への入力値が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。さらに、パラメータの変更が許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。所望の出力値演算部4は、制御目標に基づいて、制御対象の出力の所望のプロフィールを演算する。PID制御器5は、制御対象を制御するための操作量が演算される。制御対象異常判定部3は、パラメータ変更部6によって演算された変更パラメータに基づいて、制御対象の異常を検知する。
図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制御器5は、プラント7の温度を制御するための操作量(例えば、蒸気温度を調節するための目標バルブ開度)を演算する。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図4)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図4に示すように、プラント温度Tdegのプロフィールと所望のプラント温度De_Tdegのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器5の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ゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本調整処理は、オフライン、オンラインのどちらで行ってもよい。
<パラメータ変更部(図5〜図8)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図5〜図7に示す三つの判定処理によってパラメータ変更許可フラグfp_refを計算し、計算されたパラメータ変更許可フラグfp_ref=1の場合、図8に示す演算処理によって所望の出力値演算部4のパラメータの演算する。なお、図5〜図7に示す三つの判定処理は、少なくとも一つ実装すればよい。
例えば、図5に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)が成立する場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Tdegのオーバーシュート量がK_Tdeg_O1以上、又は、
Tdegのアンダーシュート量がK_Tdeg_U1以上
また、図6に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)が成立する場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Tg_VO≧K_Tg_VO_H
なお、PID制御器5の出力であるTg_VO(目標バルブ開度)ではなく、PID制御器5で演算されるP分、I分、D分それぞれが所定範囲にあるか否かで判定してもよい。また、制御対象への入力は、PID制御器5の出力である目標バルブ開度だけでなく、目標燃料流量、実バルブ開度、燃料流量などの制御対象への入力情報でもよい。
また、図7に示す処理を実行してfp_refを演算してもよい。
・下記の条件a)が成立する場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Kp_new≧K_Kp_new_H、又は、
Ki_new ≧K_Ki_new_H、又は、
Kd_new ≧K_Kd_new_H
さらに、パラメータ変更許可フラグfp_refに従って、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。実施例1において、伝達関数のパラメータであるb1は伝達関数の無駄時間であり、具体的には、図8で示す処理を実行する。
・fp_ref=1の場合、所望の出力値演算部パラメータb1を下記のように補正する。
b1=b1+k1_b1
・fp_ref=0の場合、所望の出力値演算部パラメータb1は、現在の値を維持する。
<所望の出力値演算部(図9)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えばプラント7の温度)の所望のプロフィールを演算する。具体的には、図9に示すように、制御目標である目標プラント温度Tg_Tdegに対して、例えば伝達関数などを用いて、所望のプラント温度De_Tdegのプロフィールを演算する。制御目標は、例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つであるb1は、可変とし、パラメータ変更部6で演算された値を用いるとよい。パラメータb1は、伝達関数の無駄時間の項の無駄時間を示しており、b1の値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図10)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図10に示すように、下記の条件が成立する場合、制御対象異常フラグf_ano_plant=1を出力し、下記の条件が成立しない場合、制御対象異常フラグf_ano_plant=0を出力する。
条件 b1≧K_b1_H
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の無駄時間を変更する。また、制御対象異常判定部3は、前記伝達関数の無駄時間が所定値以上の場合、前記制御対象が異常であると判定する。また、制御装置1は、プラント7を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の無駄時間相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の無駄時間相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の無駄時間相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで当該伝達関数の応答性を遅らせるべく、当該伝達関数の無駄時間相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の無駄時間相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の無駄時間相当の値を大きくする。
PID制御器5のゲイン値を調整する制御装置1では、前記所望の出力値(時系列信号など)と制御対象の出力値(時系列信号など)との差が小さくなるように、前記制御対象の特性に基づいて、前記制御対象への入力情報又は前記制御対象からの出力情報又はPID制御器5のゲイン値が決まる。さらに、制御対象への入力情報又は前記制御対象からの出力情報又はPID制御器5のゲイン値に基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、プラント制御システムの信頼性及び精度を向上できる。
[実施例2]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の時定数を変更する。
また、前記制御対象異常判定部は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、プラントを制御する装置である。
図1は、実施例2の制御装置1の全体の構成を示しており、実施例1と同じであるので、詳述しない。図2は、実施例2の制御装置1のシステム構成を示しており、実施例1と同じであるので詳述しない。図3は、実施例2の制御装置1と、制御装置1に制御されるプラント7を示しており、実施例1と同じであるので、詳述しない。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図4)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図4に示す実施例1と同じであるので、詳述しない。
<パラメータ変更部(図5〜図8)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図5〜図7に示す実施例1と同じであるので、詳述しない。
さらに、変更許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。実施例2において、伝達関数のパラメータであるb1は伝達関数の時定数であり、具体的な計算方法は、図8で示す実施例1と同じであるので、詳述しない。
<所望の出力値演算部(図11)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えばプラント7の温度)の所望のプロフィールを演算する。具体的には、図11に示すように、制御目標である目標プラント温度Tg_Tdegに対して、例えば伝達関数などを用いて、所望のプラント温度De_Tdegのプロフィールを演算する。制御目標は、例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つであるb1は、可変とし、パラメータ変更部6で演算された値を用いる。パラメータb1は、伝達関数の分母多項式の係数の一つであり、b1の値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図10)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図10に示す実施例1と同じであるので、詳述しない。
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の時定数を変更する。また、制御対象異常判定部3は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。また、前記制御装置は、プラント7を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるようにPID制御器5のゲイン値を調整する構成においては、前記制御対象の特性に基づいて、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つが決まる。さらに、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、プラント制御システムの信頼性及び精度を向上できる。
[実施例3]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の次数を変更する。
また、前記制御対象異常判定部は、前記伝達関数の次数が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、プラントを制御する装置である。
図1は、実施例3の制御装置1の全体の構成を示しており、実施例1と同じであるので、詳述しない。図2は、実施例3の制御装置1のシステム構成を示しており、実施例1と同じであるので、詳述しない。図3は、実施例3の制御装置1と制御装置1に制御されるプラント7を示しており、実施例1と同じであるので、詳述しない。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図4)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図4に示す実施例1と同じであるので、詳述しない。
<パラメータ変更部(図5〜図7、図12)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図5〜図7に示す実施例1と同じであるので、詳述しない。
さらに、変更許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。具体的には、図12で示す処理を実行する。
・fp_ref=1の場合、所望の出力値演算部パラメータn(伝達関数の分母次数)を下記のように補正する。
n=n+1
・fp_ref=0の場合、所望の出力値演算部パラメータn(伝達関数の分母次数)は、現在の値を維持する。
<所望の出力値演算部(図13)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えばプラント7の温度)の所望のプロフィールを演算する。具体的には、図13に示すように、制御目標である目標プラント温度Tg_Tdegに対して、例えば伝達関数などを用いて、所望のプラント温度De_Tdegのプロフィールを演算する。制御目標は例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つである伝達関数の分母次数nは、可変とし、パラメータ変更部6で演算された値を用いるとよい。パラメータnは、伝達関数の分母多項式の次数の一つであり、nの値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図14)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図14に示すように、下記の条件が成立する場合、制御対象異常フラグf_ano_plant=1を出力し、下記の条件が成立しない場合、制御対象異常フラグf_ano_plant=0を出力する。
条件 n≧K_n_H
実施例1〜3において、パラメータ変更部6で演算され、かつ制御対象異常判定部3における異常検知に用いられる所望の出力値演算部4(伝達関数)のパラメータが伝達関数の無駄時間、時定数、分母次数である例を説明したが、これらの実施例の二つ又は三つを組み合わせて実装してもよい。複数のパラメータで異常を検知することによって、より的確に制御対象の異常を検知できる。
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の次数を変更する。また、制御対象異常判定部3は、前記伝達関数の次数が所定値以上の場合、前記制御対象が異常であると判定する。また、前記制御装置は、プラント7を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における次数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における次数相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における次数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における次数相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における次数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における次数相当の値を大きくする。
前記所望の出力値(時系列信号など)と制御対象の出力値(時系列信号など)との差が小さくなるようにPID制御器5のゲイン値を調整する構成においては、前記制御対象の特性に基づいて、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つが決まる。さらに、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、プラント制御システムの信頼性及び精度を向上できる。
[実施例4]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の時定数を変更する。
また、前記制御対象異常判定部は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、自動運転車を制御する装置である。
図1は、制御装置1の全体の構成を示しており、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム構成を示しており、実施例1と同じであるので、詳述しない。
図15は、制御装置1と、制御装置1に制御される自動運転車8を示す図である。PID制御器5は、自動運転車8の運動を制御するための操作量(例えば、目標速度、目標回転角速度)を演算する。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図16)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図16に示すように、速度VSPのプロフィールと所望の速度De_VSPのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器5のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_new,Ki_new_tmp,Kd_newとする。
速度VSPのプロフィールと所望の速度De_VSPのプロフィールとの差を評価する評価関数は、例えば、J2=||VSP−De_VSP||であるL2ノルム、又は、J1=|VSP−De_VSP|であるL1ノルムなどがある。J1やJ2を最小化するPIDゲイン値は、例えば、IFT(Iterative Feedback Tuning)、FRIT(Fictitious Reference Iterative Tuning)などのデータ駆動制御で決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本最適化処理は、オフライン、オンラインのどちらで行ってもよい。
<パラメータ変更部(図17、図18、図7、図8)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図17、図18、図7に示す三つの判定処理によってパラメータ変更許可フラグfp_refを計算し、計算されたパラメータ変更許可フラグfp_ref=1の場合、図8に示す演算処理によって所望の出力値演算部4のパラメータの演算する。なお、図17、図18、図7に示す三つの判定処理は、少なくとも一つ実装すればよい。
例えば、図17に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
VSPのオーバーシュート量がK_VSP_O1以上、又は、
VSPのアンダーシュート量がK_VSP_U1以上
また、図18に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Tg_VSP≧K_Tg_VSP_H
なお、PID制御器5の出力であるTg_VSP(目標車速)ではなく、PID制御器5で演算されるP分、I分、D分それぞれが所定範囲にあるか否かで判定してもよい。また、制御対象への入力は、PID制御器5の出力である目標車速だけでなく、目標燃料量、目標スロットル開度、目標トルクなどの制御対象への入力情報でもよい。
また、図7に示す処理でfp_refを演算する。具体的には、実施例1と同じであるので、詳述しない。
さらに、変更許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。具体的には、図8で示す実施例1と同じであるので、詳述しない。
<所望の出力値演算部(図19)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えば自動運転車8の速度)の所望のプロフィールを演算する。具体的には、図19に示すように、制御目標である目標速度Tg_VSPに対して、例えば伝達関数などを用いて、所望の速度De_VSPのプロフィールを演算する。制御目標は、例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つであるb1は、可変とし、パラメータ変更部6で演算された値を用いるとよい。パラメータb1は、伝達関数の分母多項式の係数の一つであり、b1の値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図10)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図10に示す実施例1と同じであるので、詳述しない。
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の時定数を変更する。また、制御対象異常判定部3は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。また、前記制御装置は、自動運転車8を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるようにPID制御器5のゲイン値を調整する構成においては、前記制御対象の特性に基づいて、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つが決まる。さらに、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、自動運転車制御システムの信頼性及び精度を向上できる。
[実施例5]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の時定数を変更する。
また、前記制御対象異常判定部は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、ロボットを制御する装置である。
図1は、制御装置1の全体の構成を示しており、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム構成を示しており、実施例1と同じであるので、詳述しない。
図20は、制御装置1と、制御装置1に制御されるロボット9を示す図である。PID制御器5は、ロボット9の運動を制御するための操作量(例えば、角度、速度、トルク)を演算する。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図21)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図21に示される。
位置POSのプロフィールと所望の位置De_POSのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器5のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_new,Ki_new,Kd_newとする。
位置POSのプロフィールと所望の位置De_POSのプロフィールとの差を評価する評価関数は、例えば、J2=||POS−De_POS||であるL2ノルム、又は、J1=|POS−De_POS|であるL1ノルムなどがある。J1やJ2を最小化するPIDゲイン値は、例えば、IFT(Iterative Feedback Tuning)、FRIT(Fictitious Reference Iterative Tuning)などのデータ駆動制御で決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本最適化処理は、オフライン、オンラインのどちらで行ってもよい。
<パラメータ変更部(図22、図23、図7、図8)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図22、図23、図7示す三つの判定処理によってパラメータ変更許可フラグfp_refを計算し、計算されたパラメータ変更許可フラグfp_ref=1の場合、図8に示す演算処理によって所望の出力値演算部4のパラメータの演算する。なお、図22、図23、図7に示す三つの判定処理は、少なくとも一つ実装すればよい。
例えば、図22に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
POSのオーバーシュート量がK_POS_O1以上、又は、
POSのアンダーシュート量がK_POS_U1以上
また、図23に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Tg_POS≧K_Tg_POS_H
なお、PID制御器5の出力であるTg_POS(目標位置)ではなく、PID制御器5で演算されるP分、I分、D分それぞれが所定範囲にあるか否かで判定してもよい。また、制御対象への入力は、PID制御器5の出力である目標位置だけでなく、目標トルク、目標モーター電流などの制御対象への入力情報でもよい。
また、図7に示す処理でfp_refを演算する。具体的には、実施例1と同じであるので、詳述しない。
さらに、変更許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。具体的には、図8で示す実施例1と同じであるので、詳述しない。
<所望の出力値演算部(図24)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えばロボット9の位置)の所望のプロフィールを演算する。具体的には、図24に示すように、制御目標である目標位置Tg_POSに対して、例えば伝達関数などを用いて、所望の位置De_POSを演算する。制御目標は、例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つであるb1は、可変とし、パラメータ変更部6で演算された値を用いるとよい。パラメータb1は、伝達関数の分母多項式の係数の一つであり、b1の値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図10)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図10に示す実施例1と同じであるので、詳述しない。
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の時定数を変更する。また、制御対象異常判定部3は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。また、前記制御装置は、ロボット9を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるようにPID制御器5のゲイン値を調整する構成においては、前記制御対象の特性に基づいて、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つが決まる。さらに、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、ロボット制御システムの信頼性及び精度を向上できる。
[実施例6]
本実施例においては、制御対象の所望の出力値を演算する所望の出力値演算部と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器のゲイン値を調整するPID制御器ゲイン値調整部と、前記制御対象への入力情報、前記制御対象からの出力情報、及び前記PID制御器のゲイン値の少なくとも一つに基づいて前記所望の出力値演算部のパラメータ値を変更するパラメータ変更部と、前記所望の出力値演算部のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部とを備える制御装置について示す。
また、前記所望の出力値演算部は、伝達関数で表される。
また、前記パラメータ変更部は、前記伝達関数の時定数を変更する。
また、前記制御対象異常判定部は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。
また、前記制御装置は、ドローンなどの飛行体を制御する装置である。
図1は、制御装置1の全体の構成を示しており、実施例1と同じであるので、詳述しない。図2は、制御装置1のシステム構成を示しており、実施例1と同じであるので、詳述しない。
図25は、制御装置1と、制御装置1に制御されるドローン10を示す図である。PID制御器5は、ドローン10の運動を制御するための操作量(例えば、各ロータの回転速度)を演算する。
以下、各処理の詳細を説明する。
<PID制御器ゲイン値調整部(図26)>
PID制御器ゲイン値調整部2は、PID制御器5のゲイン値を調整する。具体的には、図26に示される。
飛行速度FSPのプロフィールと所望の飛行速度De_FSPのプロフィールとの差が最も小さくなるように、調整後PIDゲイン暫定値を決める。得られたPID制御器5のPゲイン値、Iゲイン値、Dゲイン値の暫定値をそれぞれKp_new,Ki_new,Kd_newとする。
位置POSのプロフィールと所望の位置De_POSのプロフィールとの差を評価する評価関数は、例えば、J2=||FSP−De_FSP||であるL2ノルム、又は、J1=|FSP−De_FSP|であるL1ノルムなどがある。J1やJ2を最小化するPIDゲイン値は、例えば、IFT(Iterative Feedback Tuning)、FRIT(Fictitious Reference Iterative Tuning)などのデータ駆動制御で決定すればよく、PIDゲイン値の決定は、最適化問題に帰着する。最適化のための解法は、ニュートン法、ガウス=ニュートン法などの様々な方法があり、多くの参考文献があるので、ここでは詳述しない。
なお、本最適化処理は、オフライン、オンラインのどちらで行ってもよい。
<パラメータ変更部(図27、図28、図7、図8)>
パラメータ変更部6は、制御対象からの出力のオーバーシュート量が所定範囲にあるか否か及びアンダーシュート量が所定範囲にあるか否かの少なくとも一つを判定し、判定結果に応じて、所望の出力値演算部4のパラメータの変更を許可する。具体的には、図27、図28、図7示す三つの判定処理によってパラメータ変更許可フラグfp_refを計算し、計算されたパラメータ変更許可フラグfp_ref=1の場合、図8に示す演算処理によって所望の出力値演算部4のパラメータの演算する。なお、図27、図28、図7に示す三つの判定処理は、少なくとも一つ実装すればよい。
例えば、図27に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
FSPのオーバーシュート量がK_FSP_O1以上、又は、
FSPのアンダーシュート量がK_FSP_U1以上
また、図28に示す処理を実行して、パラメータ変更許可フラグfp_refを演算する。
・下記の条件a)を満たす場合、パラメータ変更許可フラグfp_ref=1を出力する。一方、条件a)が成立しない場合、パラメータ変更許可フラグfp_ref=0を出力する。
条件a)
Tg_FSP≧K_Tg_FSP_H
なお、PID制御器5の出力であるTg_FSP(目標飛行速度)ではなく、PID制御器5で演算されるP分、I分、D分それぞれが所定範囲にあるか否かで判定してもよい。また、制御対象への入力は、PID制御器5の出力である目標飛行速度だけでなく、目標ローター回転速度、目標モーター電流などの制御対象への入力情報でもよい。
また、図7に示す処理でfp_refを演算する。具体的には、実施例1と同じであるので、詳述しない。
さらに、変更許可された場合、所望の出力値演算部4の変更パラメータ(パラメータの値)を演算する。具体的には、図8で示す実施例1と同じであるので、詳述しない。
<所望の出力値演算部(図29)>
所望の出力値演算部4は、制御目標に基づいて、制御対象の出力(例えばドローン10の飛行速度)の所望のプロフィールを演算する。具体的には、図29に示すように、制御目標である目標飛行速度Tg_FSPに対して、例えば伝達関数などを用いて、所望の位置De_FSPを演算する。制御目標は例えばステップ信号、ランプ信号などがある。
また、伝達関数のパラメータの一つであるb1は、可変とし、パラメータ変更部6で演算された値を用いるとよい。パラメータb1は、伝達関数の分母多項式の係数の一つであり、b1の値が大きいほど、当該伝達関数の応答性は遅い性質がある。
<制御対象異常判定部(図10)>
制御対象異常判定部3は、パラメータ変更部6で演算された変更パラメータに基づいて、制御対象の異常を検知する。具体的には、図10に示す実施例1と同じであるので、詳述しない。
本実施例によれば、PID制御器5のゲイン値を調整する制御装置1は、制御対象の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるように、PID制御器5のゲイン値を調整するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とからなる。また、所望の出力値演算部4は、伝達関数で表される。また、パラメータ変更部6は、前記伝達関数の時定数を変更する。また、制御対象異常判定部3は、前記伝達関数の時定数が所定値以上の場合、前記制御対象が異常であると判定する。また、前記制御装置は、ドローン10などの飛行体を制御する装置である。
前記制御対象の出力の計測値及び推定値のオーバーシュート及びアンダーシュートの少なくとも一つが発生している場合(所定範囲にない場合)は、所望の出力値演算部4の出力値が、理論的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、オーバーシュート及びアンダーシュートを抑制するために、制御対象の所望の出力値(プロフィール)を理論的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、オーバーシュート量及びアンダーシュート量の少なくとも一つが相当程度小さくなるまで当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、前記制御対象への入力値が所定範囲にない場合、又は、前記制御対象への入力値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、操作量などの前記制御対象への入力値が実現不可能な出力値(プロフィール)となっている可能性がある。この場合、前記制御対象への入力値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
また、PID制御器ゲイン値調整部2において新たに演算されたゲイン値が所定範囲にない場合、又は、前記新たに演算されたゲイン値が所定値に達した場合、所望の出力値演算部4の出力値が、制御システムの仕様上、現実的に実現できない出力値(プロフィール)となっている可能性がある。すなわち、PID制御器5のゲイン値の補正では実現できない出力値(プロフィール)となっている可能性がある。この場合、新たに演算されたゲイン値を適正化するために、前記制御対象の所望の出力値(プロフィール)を現実的に実現可能なものに補正する必要がある。所望の出力値演算部4が伝達関数で表される場合、当該伝達関数の分母多項式における時定数相当の値が大きくなるほど、当該伝達関数の応答性が遅くなる。従って、ゲイン値が適正化する(例えば所定範囲になる)まで、当該伝達関数の応答性を遅らせるべく、当該伝達関数の分母多項式における時定数相当の値を大きくする。
前記所望の出力値(時系列信号など)と前記制御対象の出力値(時系列信号など)との差が小さくなるようにPID制御器5のゲイン値を調整する構成においては、前記制御対象の特性に基づいて、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つが決まる。さらに、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値が更新されるので、所望の出力値演算部4のパラメータ値に制御対象の特性が反映されることになる。
従って、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。
以上に説明したように、本実施例によれば、前記制御対象の特性変化に応じて、所望の出力特性となるようにPIDゲイン値を自動的に調整できると共に、前記制御対象の正常又は異常を検知できるので、ドローン制御システムの信頼性及び精度を向上できる。
以上に説明したように、本発明の実施例によると、PID制御器5のゲイン値を調整する制御装置1は、制御対象(プラント7、自動運転車8、ロボット9、ドローン10など)の所望の出力値を演算する所望の出力値演算部4と、前記所望の出力値と前記制御対象の出力値との差が小さくなるように、PID制御器5のゲイン値を演算するPID制御器ゲイン値調整部2と、前記制御対象への入力情報、前記制御対象からの出力情報、及びPID制御器5のゲイン値の少なくとも一つに基づいて、所望の出力値演算部4のパラメータ値を変更するパラメータ変更部6と、所望の出力値演算部4のパラメータ値に基づいて、前記制御対象が正常であるか否かを判定する制御対象異常判定部3とを備えるので、所望の出力値演算部4のパラメータ値に基づいて前記制御対象の特性を検知でき、当該パラメータ値を評価することによって、前記制御対象の特性が正常か又は異常かを判定できる。このため、プラント制御システムの信頼性及び精度を向上できる。
また、所望の出力値演算部4は伝達関数で表されるので、制御対象に出力されるべき所望の出力値を簡単に演算できる。また、伝達関数のパラメータ値によって、所望の出力値演算部4のパラメータ値を容易に変更できる。
また、パラメータ変更部6は、所望の出力値演算部4のパラメータ値として、前記伝達関数の無駄時間を変更するので、制御対象の特性が立ち上がるまでの時間によってシステムの特性を制御できる。
また、制御対象異常判定部3は、前記伝達関数の無駄時間が所定値以上である場合、前記制御対象が異常であると判定するので、制御対象の特性が立ち上がるまでの時間によってシステムの異常を判定できる。
また、パラメータ変更部6は、所望の出力値演算部4のパラメータ値として、前記伝達関数の時定数を変更するので、制御対象の特性が立ち上がり時間によってシステムの特性を制御できる。
また、制御対象異常判定部3は、前記伝達関数の時定数が所定値以上である場合、前記制御対象が異常であると判定するので、制御対象の特性が立ち上がり時間によってシステムの異常を判定できる。
また、パラメータ変更部6は、所望の出力値演算部4のパラメータ値として、前記伝達関数の次数を変更するので、制御対象の動作の複雑さを制御することによってシステムの特性を制御できる。
また、制御対象異常判定部3は、前記伝達関数の次数が所定値以上である場合、前記制御対象が異常であると判定するので、制御対象の動作の複雑さを制御することによってシステムの異常を判定できる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。