(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-18
(45)【発行日】2024-10-28
(54)【発明の名称】流量制御方法及び流量制御装置
(51)【国際特許分類】
G05B 13/02 20060101AFI20241021BHJP
G05D 7/00 20060101ALI20241021BHJP
【FI】
G05B13/02 A
G05D7/00 B
(21)【出願番号】P 2021013901
(22)【出願日】2021-01-29
【審査請求日】2023-11-10
(73)【特許権者】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(73)【特許権者】
【識別番号】000001812
【氏名又は名称】株式会社サタケ
(74)【代理人】
【識別番号】100196380
【氏名又は名称】森 匡輝
(72)【発明者】
【氏名】木下 拓矢
(72)【発明者】
【氏名】山本 透
(72)【発明者】
【氏名】土井 貴広
(72)【発明者】
【氏名】原 正純
【審査官】大古 健一
(56)【参考文献】
【文献】特開2007-141247(JP,A)
【文献】特表2009-543377(JP,A)
【文献】特表2007-521466(JP,A)
【文献】特開2016-104086(JP,A)
【文献】特開2018-197977(JP,A)
【文献】特開2020-149176(JP,A)
【文献】金子修,”閉ループデータに基づく制御系の直接的設計法”,計測と制御,日本,公益社団法人計測自動制御学会,2013年10月10日,第52巻,第10号,p.841-846
【文献】金子修,”二自由度制御系におけるフィードフォワード制御器更新の新しいアプローチ”,計測自動制御学会論文集,日本,公益社団法人計測自動制御学会,第54巻,第12号,p.857-864
(58)【調査した分野】(Int.Cl.,DB名)
G05B 1/00 - 7/04
G05B 11/00 -13/04
G05B 17/00 -17/02
G05B 21/00 -21/02
G05D 7/00 - 7/06
(57)【特許請求の範囲】
【請求項1】
流動体の流量を制御する制御システムの操業データであるステップ応答データを取得して、フィルタリング処理により平滑化する初期データ取得工程と、
前記初期データ取得工程で平滑化されたステップ応答データに基づいて
、ERITを用いたデータ予測によって生成された、前記制御システムの状態を表すシステムパラメータと、制御器の特性を表す制御パラメータとを含む複数の情報ベクトルを格納するデータベースを作成するデータベース作成工程と、
前記データベースに格納された情報ベクトルと、前記制御システムの現在の状態を表す要求点との類似度に基づいて、制御パラメータを更新するデータベース駆動型制御によって前記流量を制御する制御工程と、を含む、
ことを特徴とする流量制御方法。
【請求項2】
前記フィルタリング処理は、
線形回帰と、複数の重み付き線形回帰とによって前記ステップ応答データを平滑化する、
ことを特徴とする請求項
1に記載の流量制御方法。
【請求項3】
前記フィルタリング処理は、
IIRフィルタと、ゼロ位相フィルタとによって前記ステップ応答データを平滑化する、
ことを特徴とする請求項1
又は2に記載の流量制御方法。
【請求項4】
前記制御工程では、
計測された前記流量を、線形回帰と、複数の重み付き線形回帰とによってフィルタリングして前記要求点を算出する、
ことを特徴とする請求項1から
3のいずれか一項に記載の流量制御方法。
【請求項5】
前記データベース作成工程のERITでは、
前記制御パラメータは、Adamを用いて最適化される、
ことを特徴とする請求項
1から
4のいずれか一項に記載の流量制御方法。
【請求項6】
前記データベース作成工程では、
生成された前記複数の情報ベクトルの相互の類似度が所定の閾値以下となるようにいずれかの前記情報ベクトルを削除して、前記データベースを軽量化する、
ことを特徴とする請求項1から
5のいずれか一項に記載の流量制御方法。
【請求項7】
前記初期データ取得工程では、
前記ステップ応答データは、前記流量を制御するゲート開度に対応する、立ち上がり時の流量と立ち下がり時の流量とを平均するフィルタリング処理によって平滑化され、
前記データベース作成工程では、
前記ゲート開度と平均された流量とに基づいて前記制御パラメータを算出し、前記複数の情報ベクトルを生成する、
ことを特徴とする請求項1に記載の流量制御方法。
【請求項8】
流動体の流量を制御する制御システムの状態を表すシステムパラメータと制御器の特性を表す制御パラメータとを含む複数の情報ベクトルを格納するデータベースと、
前記データベースに格納された情報ベクトルと、前記制御システムの現在の状態を表す要求点との類似度に基づいて、制御パラメータを更新し、前記流量を制御するデータベース駆動型制御を行う制御部と、を備え、
前記データベースに格納された情報ベクトルは、操業データであるステップ応答データをフィルタリングして平滑化されたデータに基づいて
、ERITを用いたデータ予測によって作成された情報ベクトルを含む、
ことを特徴とする流量制御装置。
【請求項9】
前記ステップ応答データは、線形回帰と、複数の重み付き線形回帰とによって平滑化され
る、
ことを特徴とする請求項
8に記載の流量制御装置。
【請求項10】
前記ステップ応答データは、IIRフィルタと、ゼロ位相フィルタとによって平滑化され
る、
ことを特徴とする請求項
8又は9に記載の流量制御装置。
【請求項11】
前記ステップ応答データは、前記流量を制御するゲート開度に対応する、立ち上がり時の流量と立ち下がり時の流量とを平均するフィルタリングによって平滑化され、
前記複数の情報ベクトルは、前記ゲート開度と平均された流量とに基づいて、前記制御パラメータを算出して生成されている、
ことを特徴とする請求項
8に記載の流量制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、流量制御方法及び流量制御装置に関する。
【背景技術】
【0002】
従来、制御システムの状態を表すシステムパラメータとシステムパラメータに対応する制御パラメータとを含む複数のデータセット(情報ベクトル)を格納したデータベースを用いて、制御を行うデータベース駆動型制御が開発されている(例えば、非特許文献1)。
【0003】
また、データベースに格納する情報ベクトルを生成する際、実験によって多くの操業データを取得することなく、一組の入出力データを用いて様々な制御パラメータに対する入出力データを予測する方法としてERIT(Estimated Response Iterative Tuning)が提案されている(非特許文献2)。
【先行技術文献】
【非特許文献】
【0004】
【文献】高尾健司,山本透,雛元孝夫、「Memory-Based型PIDコントローラの設計」、計測自動制御学会論文集、Vol.40,No.9,p.898-905、2004年
【文献】中村岳男,金子修、「1自由度制御系データを用いた2自由度制御系に対するフィードフォワード部のEstimated Response Iterative Tuning」、第60回自動制御連合講演会、2017年
【発明の概要】
【発明が解決しようとする課題】
【0005】
ERITを用いて予測された入出力データからデータベースを作成する場合、予測の基礎となる一組の入出力データの精度が、ERITによる予測の精度に影響を与える。すなわち、予測の基礎となる一組の入出力データである操業データの精度が低い場合、予測される入出力データの精度が低下し、データベース駆動型制御の制御性能が低下する。ERITを用いる場合に限らず、操業データに基づいて情報ベクトルを生成する場合、操業データの精度が情報ベクトルの精度に影響を与えるので、ノイズの多い操業データを用いてデータベースを作成すると制御性能が低下する。
【0006】
例えば、上記のデータベース駆動型制御を用いて、粒状物である穀物、粉体である小麦粉、粘度の高い流体等を流量に基づいて計量する場合、計量機内部で流動体が崩れる時に生じるなだれ現象、ブリッジ崩壊、ロードセルの共振による振動等により、流量を制御するためのセンサの出力に大きなノイズが発生する場合がある。このようなノイズを多く含む操業データを基礎として生成された情報ベクトルを用いてデータベースを作成すると、ノイズの影響を受けたパラメータに基づいて制御を行うこととなるため、制御性能が低下するおそれがある。
【0007】
本発明は、上述の事情に鑑みてなされたものであり、操業データである初期データからノイズの影響を低減して作成されたデータベースを用いた制御性能の高い流量制御方法及び流量制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、この発明の第1の観点に係る流量制御方法は、
流動体の流量を制御する制御システムの操業データであるステップ応答データを取得して、フィルタリング処理により平滑化する初期データ取得工程と、
前記初期データ取得工程で平滑化されたステップ応答データに基づいて、ERITを用いたデータ予測によって生成された、前記制御システムの状態を表すシステムパラメータと、制御器の特性を表す制御パラメータとを含む複数の情報ベクトルを格納するデータベースを作成するデータベース作成工程と、
前記データベースに格納された情報ベクトルと、前記制御システムの現在の状態を表す要求点との類似度に基づいて、制御パラメータを更新するデータベース駆動型制御によって前記流量を制御する制御工程と、を含む。
【0010】
また、前記フィルタリング処理は、
線形回帰と、複数の重み付き線形回帰とによって前記ステップ応答データを平滑化する、
こととしてもよい。
【0011】
また、前記フィルタリング処理は、
IIRフィルタと、ゼロ位相フィルタとによって前記ステップ応答データを平滑化する、
こととしてもよい。
【0012】
また、前記制御工程では、
計測された前記流量を、線形回帰と、複数の重み付き線形回帰とによってフィルタリングして前記要求点を算出する、
こととしてもよい。
【0013】
また、前記データベース作成工程のERITでは、
前記制御パラメータは、Adamを用いて最適化される、
こととしてもよい。
【0014】
また、前記データベース作成工程では、
生成された前記複数の情報ベクトルの相互の類似度が所定の閾値以下となるようにいずれかの前記情報ベクトルを削除して、前記データベースを軽量化する、
こととしてもよい。
【0015】
また、前記初期データ取得工程では、
前記ステップ応答データは、前記流量を制御するゲート開度に対応する、立ち上がり時の流量と立ち下がり時の流量とを平均するフィルタリング処理によって平滑化され、
前記データベース作成工程では、
前記ゲート開度と平均された流量とに基づいて前記制御パラメータを算出し、前記複数の情報ベクトルを生成する、
こととしてもよい。
【0016】
この発明の第2の観点に係る流量制御装置は、
流動体の流量を制御する制御システムの状態を表すシステムパラメータと制御器の特性を表す制御パラメータとを含む複数の情報ベクトルを格納するデータベースと、
前記データベースに格納された情報ベクトルと、前記制御システムの現在の状態を表す要求点との類似度に基づいて、制御パラメータを更新し、前記流量を制御するデータベース駆動型制御を行う制御部と、を備え、
前記データベースに格納された情報ベクトルは、操業データであるステップ応答データをフィルタリングして平滑化されたデータに基づいて、ERITを用いたデータ予測によって作成された情報ベクトルを含む。
【0017】
また、前記ステップ応答データは、線形回帰と、複数の重み付き線形回帰とによって平滑化される、
こととしてもよい。
【0018】
また、前記ステップ応答データは、IIRフィルタと、ゼロ位相フィルタとによって平滑化される、
こととしてもよい。
【0019】
また、前記ステップ応答データは、前記流量を制御するゲート開度に対応する、立ち上がり時の流量と立ち下がり時の流量とを平均するフィルタリングによって平滑化され、
前記複数の情報ベクトルは、前記ゲート開度と平均された流量とに基づいて、前記制御パラメータを算出して生成されている、
こととしてもよい。
【発明の効果】
【0020】
本発明の流量制御方法及び流量制御装置によれば、操業データであるステップ応答データをフィルタリングしたデータに基づいてデータベースを生成するので、操業データのノイズの影響を低減し、制御性能を向上させることが可能である。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施の形態1に係る流量制御装置の構成を示す図である。
【
図2】実施の形態1に係る制御ユニットのブロック図である。
【
図3】実施の形態1に係る流量制御の流れを示すフローチャートである。
【
図4】実施の形態1に係るフィルタリング処理の流れを示すフローチャートである。
【
図5】計量槽内の米の重量の時間変化を表す操業データのグラフであり、(A)は測定重量と移動平均とを示すグラフ、(B)は測定重量と線形回帰によるフィルタリング後のデータとを示すグラフである。
【
図6】IIRフィルタ適用前、IIRフィルタ適用後及びゼロ位相フィルタ適用後の流量の時間変化の例を示すグラフである。
【
図7】最大流量を目標流量とするステップ応答データの例を示すグラフである。
【
図8】固定PIDによる米の流量制御の例を示すグラフであり、(A)は目標流量を2t/hとした場合、(B)は目標流量を5t/hとした場合、(C)は目標流量を10t/hとした場合のグラフである。
【
図9】1自由度I-PD制御系のブロック線図である。
【
図10】2自由度I-PD制御系のブロック線図である。
【
図11】参照モデルを有する2自由度I-PD制御系のブロック線図である。
【
図12】Adamを用いた最適化の例を示す学習曲線である。
【
図13】最適化された入出力を示すグラフであり、(A)は制御入力である開度の時間変化のグラフ、(B)は出力である流量の時間変化のグラフである。
【
図14】PIDゲインの最適化に係る1自由度制御系のブロック線図である。
【
図15】PIDゲインの最適化に係るグラフであり、(A)は誤差関数J
2の学習曲線を示すグラフ、(B)は開度の時間変化を示すグラフである。
【
図16】実施の形態1に係る米の流量制御の例を示すグラフであり、(A)は目標流量を2t/hとした場合、(B)は目標流量を5t/hとした場合、(C)は目標流量を10t/hとした場合のグラフである。
【
図17】実施の形態2に係る流量制御の流れを示すフローチャートである。
【
図18】実施の形態2に係る開度別流量の算出方法を示す概念図である。
【
図19】実施の形態2に係るデータベースの例である。
【
図20】実施の形態2に係る米の流量制御の例を示すグラフであり、(A)は目標流量を2t/hとした場合、(B)は目標流量を5t/hとした場合、(C)は目標流量を10t/hとした場合、(D)は目標流量を16t/hとした場合のグラフである。
【発明を実施するための形態】
【0022】
以下、図を参照しつつ、本発明の実施の形態に係る流量制御方法及び流量制御装置について説明する。
【0023】
(実施の形態1)
本実施の形態に係る流量制御装置1は、
図1に示すように、流動体である米を収容し、流出する米を計量する計量機本体10と、計量機本体10の排出ゲート15の開度を調整することにより流出させる米の流量を制御する制御ユニット20とを備える。流量制御装置1の制御システムは、制御ユニット20内に構成される制御器、データベースDBを備え、データベースDBには、制御システムの状態を表すシステムパラメータと、システムパラメータに対応する制御パラメータとの組(情報ベクトル)が複数格納されている。制御システムは、制御システムの現在の状態とデータベースDBの情報ベクトルとに基づいて、制御パラメータを調整して米の流量を制御するデータベース駆動型制御システムである。
【0024】
本実施の形態では、ERIT(Estimated Response Iterative Tuning)を用いて、操業データに基づいて複数の情報ベクトルを生成して作成されたデータベースを用いる制御システムを例として説明する。
【0025】
計量機本体10は、
図1に示すように、計量される米を計量機本体10へ供給する供給ゲート11、米を貯留する計量槽12、計量槽12の重量を計測するロードセル13、ロードセル13の出力信号を増幅して制御ユニット20へ送信する計量アンプ14、計量槽12から米を流出させる排出ゲート15、排出ゲート15を開閉動作させるモータユニット16を備える。
【0026】
供給ゲート11は、米を計量機本体10の計量槽12へ供給する供給口である。供給ゲート11は、自動であっても手動であってもよい。供給ゲート11から適宜米を供給することにより、計量機本体10内部の米の量が適量に保たれる。なお、本実施の形態では、流量制御の対象となる流動体は米であることとしているが、これに限られず、穀物等の粒状物、小麦粉等の粉体、水等の液体であってもよい。
【0027】
計量槽12は、計量機本体10の筐体内部に設置され、米を貯留する槽である。計量槽12の下部には、排出ゲート15が設けられており、排出ゲート15を介して、米が流出される。
【0028】
計量槽12は、ロードセル13を介して計量機本体10の筐体に取り付けられている。また、ロードセル13は、計量アンプ14を介して制御ユニット20に接続されている。ロードセル13の出力信号は、計量アンプ14で増幅されて、制御ユニット20へ送信される。これにより、計量槽12内の米の重量を計測することができる。流量制御装置1は、ロードセル13を用いて計測される米の重量の時間変化に基づいて、米の流量を計測し、流量制御を行う。
【0029】
排出ゲート15は図示しない開閉弁を備えている。開閉弁には、モータユニット16が接続されており、モータユニット16の回転動作によって、開閉弁が開閉する。これにより、米の流量、すなわち米の排出量が変化する。以下、開閉弁の開閉を、排出ゲート15の開閉ともいう。また、開閉弁の開閉動作に係る角度を、排出ゲート15の開度ともいう。排出ゲート15の開度は、本実施の形態に係る制御システムの操作量である。モータユニット16のモータの種類等は特に限定されず、米などの流動体の圧力を受けつつ、開閉動作できるものであればよい。
【0030】
制御ユニット20は、例えばコンピュータ装置であり、
図2のブロック図に示すように、制御部21、記憶部22、表示部23、入力部24を備える。
【0031】
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、水晶発振器等から構成されており、流量制御装置1の動作を制御する。また、制御部21は、計量機本体10の現在の状態を表すパラメータである排出ゲート15の開度及び流量を含むデータ(要求点)と、予め記憶部22に記憶されている情報ベクトルとに基づいて、制御パラメータを決定し、米の流量制御を行う。制御部21は、制御部21のROM、記憶部22等に記憶されている各種動作プログラム及びデータをRAMに読み込んでCPUを動作させることにより、
図2に示す制御部21の各機能を実現させる。これにより、制御部21は、流量情報取得部211、演算部212、排出ゲート制御部213として動作する。
【0032】
流量情報取得部211は、計量アンプ14で増幅されたロードセル13の出力信号を取得する。これにより、流量情報取得部211は、計量槽12に収容されている米の量(重量)を計測する。また、流量情報取得部211は、ロードセル13から取得した情報に基づいて、米の流量、すなわち単位時間当たりの米の重量の変化を算出する。
【0033】
演算部212は、記憶部22のデータベースDBに格納されている情報ベクトルと、流量情報取得部211で算出された現在の米の流量等に基づいて、開閉弁を操作するための制御パラメータを算出する。
【0034】
排出ゲート制御部213は、演算部212で算出された制御パラメータを用いて、排出ゲート15の開度を制御する。より具体的には、算出された制御パラメータで、制御器のPIDゲインを修正して操作量を算出し、排出ゲート15の開閉弁を駆動させるモータユニット16の動作を制御する。これにより、排出ゲート15が適切な開度に調整されて、米の流量が制御される。
【0035】
記憶部22は、ハードディスク、フラッシュメモリ等の不揮発性メモリであり、流量情報取得部211で算出された米の流量、制御パラメータの決定アルゴリズム等を記憶する。また、記憶部22は、制御パラメータを決定するための複数の情報ベクトルを格納するデータベースDBを備える。本実施の形態に係る情報ベクトルは、制御システムの状態を表す米の流量、排出ゲート15の開度等のシステムパラメータ、制御器の特性を表すPIDゲイン等の制御パラメータを含む。
【0036】
表示部23は、現在の米の流量、目標値となる流量、制御パラメータ、計量槽12に収容されている米の残量等の情報を表示する表示デバイスであり、例えば、計量機本体10の筐体に取り付けられた液晶パネルである。
【0037】
入力部24は、流量制御の開始、終了指示、データベースDBに格納される各情報ベクトルのデータ等を入力するキーボード、マウス等の入力デバイスである。本実施の形態に係る入力部24は、表示部23上に配置されたタッチパネルである。
【0038】
続いて、流量制御装置1を用いた流動体の流量制御方法について、
図3のフローチャートを参照しつつ、具体的に説明する。
【0039】
図3に示すように、初期データ取得工程として、制御システムの操業データである初期データを取得する。より具体的には、まず手動操作でゲート開度を調整しつつ、流量が最大目標流量となるゲート開度を確認する(ステップS1)。最大目標流量は、予め設定された目標流量の範囲のうち最大となる目標流量である。例えば、本実施の形態に係る流量制御装置1において、最大目標流量を10t/hと設定した場合のゲート開度は61度である。
【0040】
ステップS1で確認したゲート開度に基づいて、最大目標流量を目標値とするステップ応答データを取得する(ステップS2)。
【0041】
ステップS2で取得したステップ応答データをフィルタリング処理によって平滑化する(ステップS3)。
図4は、ステップS3のフィルタリング処理の詳細を示すフローチャートである。
図4に示すように、ステップS3に係るフィルタリング処理は、第1のフィルタリング処理と第2のフィルタリング処理とを含む。以下、フィルタリング処理について詳細に説明する。
【0042】
本実施の形態に係るフィルタリング処理では、まず第1のフィルタリング処理としてステップS2で取得したステップ応答データに対して以下に示す線形回帰を適用する(ステップS21)。具体的には、以下の式に示す誤差2乗和J
1(t)が最小となるα
1(t)、β
1(t)を求める。
【数1】
ただし、y
1(t)は予測重量、f
1(t)は流量であり、1秒ごとの区間で上記線形回帰を適用する。
【0043】
また、上記線形回帰による予測重量y
1と取得データy
0との予測誤差e
1を用いて重みw
1を算出する。
【数2】
ただし、thresh
1は定数であり、ユーザが任意に設定することができる。
【0044】
さらに、算出した重みw
1を用いて、以下に示す重み付き線形回帰を適用する(ステップS22)。具体的には、重みw
1を用いて以下の式に示す誤差2乗和J
2(t)が最小となるα
2(t)、β
2(t)を求める。
【数3】
ただし、y
2(t)は予測重量、f
2(t)は流量であり、1秒ごとの区間で上記重み付き線形回帰を適用する。
【0045】
また、上記重み付き線形回帰による予測重量y
2と取得データy
0との予測誤差e
2を用いて重みw
2を算出する。
【数4】
ただし、thresh
2は定数であり、ユーザが任意に設定することができる。
【0046】
さらに、算出した重みw
2と予測重量y
2とを用いて、以下に示す重み付き線形回帰を適用する(ステップS23)。具体的には、重みw
2を用いて以下の式に示す誤差2乗和J
3(t)が最小となるα
3(t)、β
3(t)を求める。
【数5】
ただし、y
3(t)は予測重量、f
3(t)は流量であり、重み付き線形回帰を適用する区間はT(t)秒ごとである。T(t)は、例えば以下に示される流量計測時間であり、時刻に基づいて決定される。
【0047】
【数6】
上式より、流量変化の大きい初期の段階では1秒、流量変化が小さい後期の段階では3秒として、上記重み付き線形回帰が適用される。
これにより、線形回帰による平滑化の効果を維持しつつ、演算量を減少させることができる。
【0048】
図5(A)、(B)は、流量の時間変化の例を表すグラフである。
図5(A)に示すように、測定重量には大きなノイズが含まれており、単純な移動平均によっては、ノイズの影響を十分に排除できていないことがわかる。これに対し、
図5(B)に示す上記第1のフィルタリング処理後のデータでは、測定データのノイズの影響が低減され、大きな平滑化の効果を得られていることがわかる。
【0049】
本実施の形態では、上記の線形回帰に係る第1のフィルタリング処理(ステップS21~S23)で平滑化された初期データを、さらに第2のフィルタリング処理で平滑化してノイズの影響を低減する。具体的には、IIR(Infinite Impulse Response)フィルタ(ステップS24)とゼロ位相フィルタ(ステップS25)とを組み合わせてフィルタリングを行う。
【0050】
ゼロ次ホールドの伝達関数は、H(s)=(1-e
-sTs)/sで表される。IIRフィルタの伝達関数は、F(s)=1/(1+T
fs)で表される。そして、離散化されたIIRフィルタは、以下の式で表される。
【数7】
【0051】
例えば、取得データy
0(t)に上記IIRフィルタをかけたy
f(t)は、以下のように表される。
【数8】
【0052】
上式の通り、時系列の応答データにIIRフィルタをかけると位相遅れが生じる。この位相遅れは、情報ベクトルを生成するための予測応答作成、PIDゲイン学習等に影響を与える。そこで、IIRフィルタ適用後のデータにゼロ位相フィルタを適用し、位相遅れの影響を低減する。IIRフィルタを適用したデータy1(t)は、y1(t)=F(z-1)y0(t)と表される。
【0053】
続いて、以下の式に示すように、y1(t)を時刻について反転させる。
y2(t)=y1(N-t)
ここで、Nはデータ数である。
【0054】
時刻について反転されたデータy2(t)において、時刻0のデータが0となるように入力データの定常値分、データをマイナス側にシフトする。
y3(t)=y2(t)-y0stabled
ただし、y0stabledはy0(t)の定常値平均である。
【0055】
以下の式に示すように、y3(t)について、さらにIIRフィルタを適用する。
y4(t)=F(z-1)y3(t)
【0056】
IIRフィルタ適用後のデータy4(t)を、時刻について反転してy5(t)を算出する。そして、y5(t)の時刻0のデータが0になるように入力データの定常値分、プラス側にシフトする。
y5(t)=y4(N-t)
yf(t)=y5(t)+y0stabled
【0057】
以上のアルゴリズムにより、位相遅れのないフィルタ適用波形y
f(t)を得ることができる。
図6はフィルタリング処理の前後の流量を示すグラフであり、IIRフィルタ適用前のデータ、IIRフィルタ適用後のデータ、ゼロ位相フィルタ適用後のデータの例を表している。
図6に示すように、IIRフィルタとゼロ位相フィルタとを適用することにより、位相遅れのない、高周波成分がカットされ平滑化されたデータを得られていることがわかる。
【0058】
続いて、
図3のフローチャートに戻り、フィルタリング処理されたステップ応答データを用いて、固定PID制御器を作成するための制御パラメータを算出する(ステップS4)。具体的には、フィルタリング処理されたステップ応答データからシステムゲインK、むだ時間Lを算出する。
【0059】
図7は、ステップ応答データの例を示すグラフである。
図7から、定常時流量の63.2%±20%における流量の接線を求め、その接線が流量0から流量63.2%になるまでの時間を時定数Tとする。また、システムゲインKは、定常流量Yを定常開度Uで割ったものである。また、むだ時間Lは、開閉弁を動作させて排出ゲート15を開け始めた時刻から、流量の接線が流量0と交差する時刻までの時間である。
【0060】
算出された時定数T、システムゲインK、むだ時間Lから、以下の式に示すCHR法を用いてPIDゲインを算出する。本実施の形態では、CHR法のオーバーシュートを20%としている。
Kc=0.6T/KL,Ti=T,Kp=Kc,Ki=Kc/Ti・Ts,Kd=0
【0061】
また、本実施の形態では、制御性能の比較のため、中流量ymid、小流量yminを算出し、それぞれ固定PIDのPIDゲインを算出する。中流量ymidは、最大流量ymaxの場合の時定数をTmaxとしたとき、時定数TmidがTmid=Tmax×0.632となる流量である。また、小流量yminは、時定数TminがTmin=Tmax×0.6322となる流量である。
【0062】
ステップS5として、ステップS4で算出された制御パラメータの固定PID制御器によるステップ応答データ(初期データ)を取得する(
図8(A)~(C))。
【0063】
ステップS5で取得されたステップ応答データである初期データは、
図5(A)の測定重量のグラフに示すように、様々なノイズを含むデータとなっている。例えば、本実施の形態に係る流動体の流量制御装置1では、流動体である米が排出される際に生じるなだれ現象、ブリッジ崩壊等の衝撃が、ロードセル13の出力信号に、大きなノイズとして影響を与える。
【0064】
初期データに基づいて情報ベクトルを生成する場合、ノイズが情報ベクトルに影響を与えることにより、制御性能が低下するおそれがある。そこで、本実施の形態では、取得された操業データである初期データにフィルタリング処理を適用することにより、データの平滑化を行う(ステップS6)。
【0065】
ステップS6のフィルタリング処理は、ステップS3のフィルタリング処理(
図4のステップS21~S25)と同様であり、線形回帰による第1のフィルタリング処理と、IIRフィルタ及びゼロ位相フィルタによる第2のフィルタリング処理とを含む。このフィルタリング処理により、初期データを平滑化し、ノイズの影響を低減することができる。
【0066】
続いてデータベース作成工程に移り、ステップS6のフィルタリング処理で平滑化されたデータに基づいて、情報ベクトルを生成する(ステップS7)。本実施の形態では、ERITを用いて応答を予測することにより、一組の入出力データであるフィルタリングされた初期データから、システムパラメータと制御パラメータとを含む複数の情報ベクトルを生成する。以下、ERITを用いた情報ベクトルの生成方法について説明する。
【0067】
本実施の形態では、制御部21で実現される制御器を、比例動作先行PI制御則を用いる制御器(I-PD制御器)とする。本制御系は、初期データの操作量(排出ゲート15の開度)u
0、出力(米の流量)y
0を用いて、
図9のブロック線図及び以下の式の1自由度制御系として表される。
【数9】
【0068】
そして、フィルタを適用したy
0fとu
0fは、以下の式で表される。
【数10】
【0069】
また、フィードフォワードC
rとフィルタF
z(z
-1)とを含む2自由度I-PD制御系のブロック線図は
図10のように表され、その操作量u、出力yは以下の式で表される。
【数11】
【0070】
また、フィルタを適用したy
f、u
fは、以下のように表される。
【数12】
【0071】
【0072】
よって、ERITによる予測出力y
f
*(t)、予測入力u
1f
*(t)は、以下のように表される。
【数14】
【0073】
ここで、所望の応答を実現するモデルをG
m、むだ時間をdとすると、所望の応答y
rは以下の式で表される。
【数15】
【0074】
また、所望の応答を2自由度制御系に適用し、2自由度制御系の閉ループ伝達関数と参照モデルG
mとから推定される制御対象のモデルをG^とすると、ブロック線図は
図11で表され、以下の式が成り立つ。
【数16】
【0075】
さらに、所望の応答y
r(t)、参照モデルG
mより、以下の所望の操作量u
2
*(t)を導くことができる。
【数17】
【0076】
また、フィルタを適用した入力u
2
*
f(t)、出力y
rf(t)は、以下の式で表される。
【数18】
【0077】
上記の制御系の出力と所望の出力との誤差を最小化することにより、C
r
*(t)を最適化することができる。C
r
*(t)の更新式及び誤差関数J
1は、以下の式で表される。
【数19】
【0078】
本実施の形態では、最適化アルゴリズムとしてAdamを用い、誤差関数J
1が最小となるようにC
r(t)を逐次更新し、最適化を行う。具体的には、最適化アルゴリズムは以下の更新式で表される。
【数20】
【0079】
パラメータα、ε、β1、β2の値は、特に限定されない。本実施の形態では、α=0.001、ε=1-10、β1=0.9、β2=0.999としている。
【0080】
Adamを用いることにより、学習率ηを固定値とする場合に比べて、J
1の値を適当な刻みで速やかに収束させることができる(
図12)。
【0081】
図13(A)は、学習によって最適化された制御入力u
1
*
f(t)、u
2
*
f(t)の例を示すグラフ、
図13(B)は参照軌道学習y
rf(t)、最適化されたy
f
*(t)の例を示すグラフである。
【0082】
以上のように、ERITを用いて所望の応答に対するC
rを算出し、一組の初期データから複数の入出力応答を導出することができる。導出された入出力を含むシステムパラメータφ
-(j)と、これに対応する制御パラメータK(j)とから、以下の情報ベクトルφ(j)が生成される。
【数21】
ただし、j=1,2,・・・,Nであり、Nはデータ数を示す。
【0083】
続いて、制御部21は、生成された情報ベクトルの制御パラメータであるPIDゲインを最適化する(ステップS8)。入出力応答u
2
*
f(t)、y
rf(t)を用いて、C
r=0とする1自由度制御系を構築すると、
図14のブロック線図のように表される。この場合の操作量u
PID(t)は、次式で表される。
【数22】
【0084】
上式のu
PID(t)とu
2
*
f(t)との誤差関数J
2=f(u
2
*
f,u
PID)を最小化することにより、PIDゲインK
P
*(t)、K
I
*(t)、K
D
*(t)を最適化することができる。PIDゲインK
P
*(t)、K
I
*(t)、K
D
*(t)の更新式は、以下の通りである。
【数23】
【0085】
本実施の形態では、最適化アルゴリズムとしてAdamを用い、誤差関数J2が最小となるようにKP
*(t)、KI
*(t)、KD
*(t)を逐次更新し、最適化を行う。Adamを用いることにより、学習率η(ηP、ηI、ηD)を固定値とする場合に比べて、誤差関数J2の値を適当な刻みで速やかに収束させることができる。
【0086】
図15(A)は、誤差関数J
2の学習曲線の例を示すグラフ、
図15(B)は、学習後のu
PID(t)の例を示すグラフである。
図15(A)、(B)より、適切に誤差関数J
2が収束し、u
2
*
f(t)とほぼ一致するu
PID(t)が算出されていることがわかる。以上の方法により、PIDゲインK
P
*(t),K
I
*(t),K
D
*(t)を最適化することができる。
【0087】
続いて、PIDゲインの学習で得られた制御パラメータであるK
P
*(t)、K
I
*(t)、K
D
*(t)を、システムパラメータである目標値(流量)r(t)、入力(開度)u
2
*
f(t)、参照軌道y
rf(t)とともに更新された情報ベクトルφ
DB(t)としてデータベースDBに格納し、データベースDBを作成する(ステップS9)。情報ベクトルφ
DB(t)は、システムパラメータφ
-(t)、制御パラメータK(t)を用いて、以下のように表される。
【数24】
【0088】
また、本実施の形態では、上記で作成されたデータベースDBの軽量化を行う(ステップS10)。具体的には、データベースDBに格納された情報ベクトル同士で類似度を計算し、類似度の高いものは、データベースDBから削除する。例えば、データベースDBに格納されているj番目の情報ベクトルφ
DB(j)とj+1番目の情報ベクトルφ
DB(j+1)との類似度Sは、以下の式で定義される。
【数25】
なお、h
iはバンド幅であり、φ(j,i)は第j番目の情報ベクトルの第i番目の要素を表す。また、n
y,n
uはそれぞれ出力と入力の次数である。
【0089】
類似度Sが高い場合、すなわち類似度Sが予め定められた閾値以上である場合、いずれかの情報ベクトル(φ(j)又はφ(j+1))を削除する。言い換えると、情報ベクトルの相互の類似度が所定の閾値以下となるように、情報ベクトルを削除して、データベースDBを軽量化する。これにより、流量制御を行う際に影響の小さい情報ベクトルを削除することができるので、制御性能の低下を抑制しつつ、制御時の演算量を減少させることができる。
【0090】
続いて、
図3のフローチャートに示す制御工程として、作成されたデータベースDBを用いて、流量制御を行う。計量槽12に計量される米が収容され、入力部24から目標値rとなる目標流量等のパラメータが入力された後、制御開始の指示が入力されると、流量制御装置1の制御が開始される(ステップS11)。制御部21は、ロードセル13、排出ゲート15の開度センサから取得された測定データに基づいて、現在の制御システムの状態を表す要求点(クエリ)φ
-(t)を生成する。
【0091】
より詳細には、各センサから取得された測定データにフィルタリング処理を適用する(ステップS12)。ステップS12に係るフィルタリング処理は、ステップS3における第1のフィルタリング処理、すなわち線形回帰による平滑化と同様の処理である。これにより、少ない演算量で、ノイズの影響を低減することができる。そして、ステップS12でフィルタリング処理されたデータに基づいて、要求点φ-(t)を算出する(ステップS13)。
【0092】
演算部212は、データベースDBに格納されている情報ベクトルφDBと要求点φ-(t)との類似度S、より詳細には情報ベクトルφDBのシステムパラメータφDB
-と要求点φ-(t)との類似度Sを算出する(ステップS14)。要求点φ-(t)とデータベースDBに格納されている第j番目の情報ベクトルφDB(j)のシステムパラメータφDB
-(j)との類似度S(φ-(t),φDB
-(j))は、上述のデータベースDBの軽量化で用いた類似度Sと同様であり、以下の式で表される。
【0093】
【数26】
なお,h
iはバンド幅であり、φ
DB
-(j,i)は、データベースDBに記憶されている第j番目の情報ベクトルにおけるシステムパラメータの第i番目の要素を表す。
【0094】
ここで、バンド幅h
iの決定方法には様々な手法があるが、本実施の形態では、以下に示すプラグ・イン法(Plug-In Method)を用いる。
【数27】
【0095】
上式の標準偏差σ
iはデータ数Nを用いて以下のように定義される。
【数28】
ここで、μ
iはφ
-
iの平均値である。
【0096】
類似度Sが最も高くなるのは、現在のシステムの状態を表す要求点φ
-(t)と全く同じシステムパラメータφ
DB
-(j)を有する情報ベクトルφ
DB(j)が存在する場合であり、この場合の類似度Sは以下の式となる。
【数29】
【0097】
また、要求点φ
-(t)と、情報ベクトルφ
DB(j)のシステムパラメータφ
DB
-(j)とが類似していない場合、類似度S(φ
-(t),φ
DB
-(j))は0に近づく。したがって、本実施の形態に係る演算部212は、以下の類似度Sに基づく条件式を満足する情報ベクトルφ
DB(j)のシステムパラメータφ
DB
-(j)を近傍データとして選択する(ステップS15)。
【数30】
ここで、T
thは閾値であり、0≦T
th≦1の範囲で設定される。
【0098】
続いて、ステップS15で選択された近傍データである情報ベクトルφ
DB(j)の制御パラメータK(j)を用いて、以下で示される重み付き局所線形平均法(Linearly Weighted Average:LWA)により局所コントローラを構成するPIDゲインを算出する(ステップS16)。
【数31】
ここで、n
kはステップS15で選択された近傍データの数であり、上記の式から自動的に決定される。
【0099】
また、w
iは近傍データとして選択されたi番目の情報ベクトルφ
DB(i)に含まれるPIDゲインK(i)に対する重みであり、以下の式で与えられる。
【数32】
【0100】
以上の手順により、類似度Sに基づいて、各時刻におけるPIDゲインを算出することができる。
【0101】
排出ゲート制御部213は、ステップS16で算出された制御パラメータを用いて、排出ゲート15の制御を行う(ステップS17)。なお、データベースDBに格納されている情報ベクトルφDB(j)のシステムパラメータφDB
-(j)中に、要求点φ-(t)に類似するデータが存在しない場合、すなわちnk=0の場合、K(t)を算出できないので、この場合本実施の形態では、類似度Sが最も高い情報ベクトルφDB(j)のPIDゲインを採用することとする。
【0102】
以下、制御が終了するまで、各時刻ステップにおいてステップS12~S17の処理を繰り返す(ステップS18のNO)。予め定められた時刻ステップの終了、操作者による終了指示等の終了条件を充たせば(ステップS18のYES)、制御は終了する。
【0103】
以上説明したように、本実施の形態に係る流量制御方法及び流量制御装置によれば、初期データを線形回帰及び重み付き線形回帰によってフィルタリングして情報ベクトルを生成し、データベースDBを作成するので、ノイズの影響を低減し、制御性能を向上させることが可能である。また、本実施の形態では、初期データにIIRフィルタ及びゼロ位相フィルタを適用してフィルタリングするので、時間的遅れを生じることなく、ノイズの影響をさらに低減し、制御性能を向上させることができる。
【0104】
また、本実施の形態では、固定PID制御器に係る制御パラメータを算出するための最大目標流量でのステップ応答データを線形回帰及び重み付き線形回帰によってフィルタリングして固定PID制御器に係る制御パラメータを算出するので、ノイズの影響を低減し、制御性能を向上させることが可能である。また、最大目標流量でのステップ応答データにIIRフィルタ及びゼロ位相フィルタを適用してフィルタリングするので、時間的遅れを生じることなく、ノイズの影響をさらに低減し、制御性能を向上させることができる。
【0105】
また、本実施の形態では、制御工程における流量データを線形回帰及び重み付き線形回帰によってフィルタリングして要求点φ-(t)を算出するので、ノイズの影響をより低減し、制御性能を向上させることが可能である。
【0106】
また、本実施の形態では、ERITによる情報ベクトルφの生成において、Adamを用いてフィードフォワードCr、PIDゲインを学習させることとしている。これにより、フィルタ、むだ時間等を考慮して学習係数を自動的に決定し、より効率的にパラメータの最適化を行うことができる。
【0107】
また、本実施の形態では、類似度Sを用いて類似する情報ベクトルを削除し、データベースDBを軽量化しているので、制御性能の低下を抑制しつつ効率的にデータベースDBを軽量化し、制御時の演算量を減少させることができる。
【0108】
本実施の形態では、線形回帰及び重み付き線形回帰を適用した初期データに、IIRフィルタ及びゼロ位相フィルタを適用することとしたが、これに限られず、初期データにIIRフィルタ及びゼロ位相フィルタを適用することとしてもよい。これにより、フィルタリング工程の演算を簡素化しつつ、ノイズの影響を低減し、制御性能を向上させることが可能である。
【0109】
また、本実施の形態では、重み付き線形回帰を2回行うこととしたが、これに限られず、重み付き線形回帰を1回又は3回以上行うこととしてもよい。
【0110】
(数値例)
図16(A)~(C)は、本実施の形態に係る流量制御装置1による米の流量制御の例であり、
図16(A)は目標流量を2t/h(トン毎時)の小流量とした場合のグラフ、
図16(B)は目標流量を5t/hの中流量とした場合のグラフ、
図16(C)は目標流量を10t/hの大流量とした場合のグラフである。
【0111】
図16(A)~(C)に示すように、本実施の形態に係る流量制御方法により、各流量において、10~15秒程度で目標流量に到達できていることがわかる。
図8(A)~(C)の固定PIDによる制御では、目標流量に到達するまでの時間は、小流量で約60秒、中流量で約45秒、大流量で約40秒であるが、これに比べて本実施の形態に係る流量制御によって早く目標流量に到達しており、制御性能を向上できていることがわかる。
【0112】
(実施の形態2)
実施の形態1では、フィルタリング処理として、線形回帰、重み付き線形回帰、IIRフィルタ及びゼロ位相フィルタを用いて初期測定データ等のフィルタリングを行っていたが、フィルタリング処理における操業データの平滑化は、様々なフィルタによって実現することができる。本実施の形態では、フィルタリング処理としてステップ応答における立ち上がり時のデータと立ち下がり時のデータとの平均化処理を行う場合について説明する。
【0113】
本実施の形態に係る流量制御装置1の構成は実施の形態1と同様であるので、同じ符号を付して、詳細な説明は省略する。
【0114】
以下、本実施の形態に係る流量制御方法について
図17のフローチャートを参照しつつ説明する。
図17に示すように、初期データ取得工程として、流量制御装置1の操業データである初期データを取得する。初期データは、排出ゲート15の開度を最大とした場合のステップ応答データであり、立ち上がり時のデータと立ち下がり時のデータを含む。すなわち、排出ゲート15の開閉弁を最大開度に開け、流量が安定した後、開閉弁を閉じて流量が0となるまでのデータを、初期データとして取得する(ステップS31)。
【0115】
続いてフィルタリング処理として、ステップS31で取得された初期データを平滑化して、開度別流量を推定する(ステップS32)。本実施の形態に係る流量制御装置1では、モータユニット16で駆動されるフラップ式の開閉弁を用いている。このような開閉弁を用いる場合のステップ応答データでは、立ち上がり時におけるある開度の流量は、一般的に、同じ開度の定常流量に比べて少ない流量となる。また、立ち下がり時におけるある開度の流量は、同じ開度の定常流量に比べて多い流量となる。
【0116】
そこで、本実施の形態では、所定の間隔で開度ごとに立ち上がり時の流量と立ち下がり時の流量との平均値を求めて平滑化し、開度別流量を推定する(
図18)。
【0117】
続いてデータベース作成工程として、ステップS32で算出した開度別流量に基づいてシステムゲイン及び制御パラメータを算出する(ステップS33)。システムゲインSGは、以下の式で求められる。
システムゲインSG=流量y/開度u
【0118】
上記のシステムゲインSGを用いて、制御パラメータを算出する。本実施の形態では、制御パラメータとして比例ゲインK
p、積分ゲインK
iを設定する。比例ゲインK
p及び積分ゲインK
iは、システムゲインSGを用いて、以下の式で算出される。
【数33】
ただし、Ratioは定数であり、T
sはサンプリング時間である。
【0119】
続いて、算出された制御パラメータに基づいて、情報ベクトルφ
DBを生成し、データベースDBを作成する(ステップS34)。
図19は、データベースDBに格納される情報ベクトルφ
DBの例の一部である。
図19に示すように、本例では、定数Ratioを0.3と設定し、情報ベクトルφ
DBは、システムパラメータφ
DB
-である流量及び開度、制御パラメータKである比例ゲインK
p及び積分ゲインK
iを含む。
【0120】
続いて、制御工程として、流量制御装置1による米の流量制御を行う。制御工程における流量制御方法は、実施の形態1のステップS11~S18と同様である。すなわち、制御が開始されると(ステップS35)、制御部21はゲート開度、流量等を計測して要求点φ-(t)を生成する。
【0121】
より詳細には、各センサから取得された測定データにフィルタリング処理を適用した後(ステップS36)、要求点φ-(t)を算出する(ステップS37)。ステップS36に係るフィルタリング処理は、実施の形態1のステップS3における第1のフィルタリング処理、すなわち線形回帰による平滑化と同様の処理である。これにより、少ない演算量で、ノイズの影響を低減することができる。
【0122】
そして、制御部21は、データベースDBに格納された情報ベクトルφDB(j)のシステムパラメータφDB
-(j)と要求点φ-(t)との類似度Sを計算する(ステップS38)。そして、予め定められた閾値以上の類似度Sとなる情報ベクトルφDB(j)(近傍データ)を抽出し(ステップS39)、類似度Sに基づく重みを用いて、制御パラメータを算出する(ステップS40)。そして、算出された制御パラメータを用いてゲート開度を制御して、米の流量制御を行い(ステップS41)、終了条件を満たすまで上記制御動作を繰り返す(ステップS42)。
【0123】
以上説明したように、本実施の形態に係る流量制御方法では、初期データであるステップ応答データの立ち上がり時と立ち下がり時のデータを平均するフィルタリング処理を行って情報ベクトルφDBを生成し、データベースDBを作成している。したがって、より簡易な手法で、初期データを平滑化してノイズの影響の小さいデータベース駆動型制御系を構築することができる。
【0124】
(数値例)
図20(A)~(C)は、本実施の形態に係る流量制御装置1による米の流量制御の例であり、
図20(A)は目標流量を2t/hの小流量とした場合のグラフ、
図20(B)は目標流量を5t/hの中流量とした場合のグラフ、
図20(C)は目標流量を10t/hの大流量とした場合のグラフである。また、
図20(D)は目標流量を16t/hとした、より大流量の場合のグラフである。
【0125】
図20(A)~(D)に示すように、本実施の形態に係る流量制御方法により、各流量において、10~15秒程度で目標流量に到達できていることがわかる。
図8(A)~(C)の固定PIDによる制御に比べて本実施の形態に係る流量制御によって早く目標流量に到達しており、制御性能を向上できていることがわかる。さらに、目標流量を16t/hとした、より大流量の場合でも、流量が速やかに目標値に収束しており適切に流量制御が行われていることがわかる。
【産業上の利用可能性】
【0126】
本発明は、入力(開度)の変化に対してシステムゲインが大きく変化する流量制御システムに好適である。特に、操業データの取得の際、流動体の特性によるノイズの影響が大きい流量制御システムに好適である。
【符号の説明】
【0127】
1 流量制御装置、10 計量機本体、11 供給ゲート、12 計量槽、13 ロードセル、14 計量アンプ、15 排出ゲート、16 モータユニット、20 制御ユニット、21 制御部、211 流量情報取得部、212 演算部、213 排出ゲート制御部、22 記憶部、23 表示部、24 入力部、DB データベース