(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024000992
(43)【公開日】2024-01-09
(54)【発明の名称】制御装置、制御方法及びプログラム
(51)【国際特許分類】
G05B 13/02 20060101AFI20231226BHJP
【FI】
G05B13/02 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023100585
(22)【出願日】2023-06-20
(31)【優先権主張番号】P 2022099457
(32)【優先日】2022-06-21
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 刊行物1 令和5年2月1日ウェブサイト掲載 電気学会研究会研究資料 https://workshop.iee.or.jp/sbtk/cgi-bin/sbtk-showprogram.cgi?workshopid=SBW000083A3 刊行物2 令和5年2月5日愛媛大学教育学部大講義室及びWEB開催 電気学会研究会C部門制御研究会
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(74)【代理人】
【識別番号】100196380
【弁理士】
【氏名又は名称】森 匡輝
(72)【発明者】
【氏名】脇谷 伸
(72)【発明者】
【氏名】山本 透
(72)【発明者】
【氏名】槇野 泰大
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA15
5H004GA30
5H004GB12
5H004HB01
5H004KC01
5H004KC31
5H004LA12
5H004MA12
5H004MA13
5H004MA15
(57)【要約】
【課題】極値の探索に要する時間を短縮することができる制御装置、制御方法及びプログラムを提供する。
【解決手段】制御装置1は、制御対象であるシステム21の出力yに基づいて、システム21の評価指標νの極値を演算して、システム21の入力変数θを調整する制御部12と、出力y、システム21の状態を表す状態変数x及び評価指標νに影響を与える環境変数zのうち少なくとも環境変数zを含む情報ベクトルφと、評価指標νの勾配情報ξと、入力変数θとを含む複数のデータセットΦを格納するデータベース14と、勾配情報ξに基づいてシステム21の特性が変動したか否かを判定する特性変動判定部13と、入力変数θの演算条件を修正する更新パラメータを演算する更新パラメータ演算部15と、を備える。システム21の特性が変動した場合、制御部12は、データベース14に基づいて演算された更新パラメータに基づいて入力変数θを調整する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御対象であるシステムの出力に基づいて、前記システムの特性を表す評価指標の極値を演算して、前記システムの入力変数を調整する制御部と、
前記出力、前記システムの状態を表す状態変数及び前記評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記評価指標の勾配情報と、前記入力変数とを含む複数のデータセットを格納するデータベースと、
前記勾配情報に基づいて、前記システムの特性が変動したか否かを判定する特性変動判定部と、
前記入力変数の演算条件を修正する更新パラメータを演算する更新パラメータ演算部と、を備え、
前記特性変動判定部において前記システムの特性が変動したと判定された場合、
前記更新パラメータ演算部は、前記データベースに基づいて前記更新パラメータを演算し、
前記制御部は、前記更新パラメータに基づいて前記入力変数を調整する、
ことを特徴とする制御装置。
【請求項2】
前記制御部は、
前記更新パラメータに基づいて、前時刻ステップの前記入力変数を更新し、更新された前記前時刻ステップの前記入力変数に基づいて現在時刻ステップの前記入力変数を演算する、
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記更新パラメータ演算部は、
前記データベースに格納されている前記データセットの前記情報ベクトルと、現在時刻ステップの前記情報ベクトルとの距離に基づいて近傍データセットを選択し、前記近傍データセットに基づいて前記更新パラメータを演算する、
ことを特徴とする請求項1又は2に記載の制御装置。
【請求項4】
前記更新パラメータ演算部は、
前記データベースに記憶されている前記データセットを、前記勾配情報が小さい順にソートして、
前記近傍データセットを選択する、
ことを特徴とする請求項3に記載の制御装置。
【請求項5】
前記制御部は、
前記勾配情報が所定の閾値以上であった場合、現在時刻ステップの前記データセットを前記データベースに格納する、
ことを特徴とする請求項1に記載の制御装置。
【請求項6】
前記制御部は、前記入力変数に入力される摂動信号の振幅を調整する振幅調整手段を備え、
前記振幅調整手段は、前記勾配情報の大きさと正の相関を有するように、前記摂動信号の振幅の大きさを調整する、
ことを特徴とする請求項1に記載の制御装置。
【請求項7】
制御対象であるシステムの出力に基づいて、前記システムの特性を表す評価指標の極値を演算して、前記システムの入力変数を調整する制御方法において、
前記評価指標の勾配情報に基づいて、前記システムの特性が変動したか否かを判定し、
前記システムの特性が変動したと判定された場合、前記出力、前記システムの状態を表す状態変数及び前記評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記勾配情報と、前記入力変数とを含む複数のデータセットを格納するデータベースに基づいて、前記入力変数の演算条件を修正する更新パラメータを演算し、演算された前記更新パラメータに基づいて前記入力変数を演算する、
ことを特徴とする制御方法。
【請求項8】
コンピュータを、
制御対象であるシステムの出力、前記システムの状態を表す状態変数及び前記システムの特性を表す評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記評価指標の勾配情報と、前記システムの入力変数とを含む複数のデータセットを格納するデータベース、
前記出力に基づいて前記評価指標の極値を演算して、前記入力変数を調整する制御部、
前記制御部で演算された前記評価指標の勾配情報に基づいて、前記システムの特性が変動したか否かを判定する特性変動判定部、
前記特性変動判定部において前記システムの特性が変動したと判定された場合、前記データベースに基づいて、前記制御部における前記入力変数の演算条件を修正する更新パラメータを演算する更新パラメータ演算部、
として動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースを用いた極値探索制御法による制御装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、極値制御を用いた制御装置、制御方法が種々開発されている。極値制御は、制御対象のモデルを用いることなく、制御対象とするシステムの評価関数の値を最大又は最小に維持することにより制御を行うため、システムが未知のパラメータを含む場合であっても制御を行うことが可能である。
【0003】
また、制御対象となるシステムの多くは非線形性や時変性を有しており、最適点が時間や動作条件によって変動する可能性がある。このようなシステムに対して評価関数を最大化するような目標値を探索する手法として、摂動法による極値探索制御法がある。摂動法では、評価関数の導関数を直接的に用いる必要がなく、システムへの入力信号に摂動信号を加えることで極値探索を行う。したがって、導関数を求めることが困難な非線形システムに対しても適用できる。例えば、特許文献1では、極値制御を用いた最大電力追従制御装置が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
極値制御では、一般的に勾配法によって逐次的に評価関数の極値探索が行われており、極値探索の精度、効率等が制御性能に大きな影響を与える。特許文献1では、評価関数の傾きに基づいて摂動信号を切り替えることにより、極値探索の精度を高めることとしている。
【0006】
しかしながら、勾配法による逐次的な極値探索では、極値の探索に時間がかかり、探索中の非最適運転による損失が大きくなってしまう。
【0007】
本発明は、上述の事情に鑑みてなされたものであり、極値の探索に要する時間を短縮することができる制御装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、この発明の第1の観点に係る制御装置は、
制御対象であるシステムの出力に基づいて、前記システムの特性を表す評価指標の極値を演算して、前記システムの入力変数を調整する制御部と、
前記出力、前記システムの状態を表す状態変数及び前記評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記評価指標の勾配情報と、前記入力変数とを含む複数のデータセットを格納するデータベースと、
前記勾配情報に基づいて、前記システムの特性が変動したか否かを判定する特性変動判定部と、
前記入力変数の演算条件を修正する更新パラメータを演算する更新パラメータ演算部と、を備え、
前記特性変動判定部において前記システムの特性が変動したと判定された場合、
前記更新パラメータ演算部は、前記データベースに基づいて前記更新パラメータを演算し、
前記制御部は、前記更新パラメータに基づいて前記入力変数を調整する。
【0009】
また、前記制御部は、
前記更新パラメータに基づいて、前時刻ステップの前記入力変数を更新し、更新された前記前時刻ステップの前記入力変数に基づいて現在時刻ステップの前記入力変数を演算する、
こととしてもよい。
【0010】
また、前記更新パラメータ演算部は、
前記データベースに格納されている前記データセットの前記情報ベクトルと、現在時刻ステップの前記情報ベクトルとの距離に基づいて近傍データセットを選択し、前記近傍データセットに基づいて前記更新パラメータを演算する、
こととしてもよい。
【0011】
また、前記更新パラメータ演算部は、
前記データベースに記憶されている前記データセットを、前記勾配情報が小さい順にソートして、
前記近傍データセットを選択する、
こととしてもよい。
【0012】
また、前記制御部は、
前記勾配情報が所定の閾値以上であった場合、現在時刻ステップの前記データセットを前記データベースに格納する、
こととしてもよい。
【0013】
また、前記制御部は、前記入力変数に入力される摂動信号の振幅を調整する振幅調整手段を備え、
前記振幅調整手段は、前記勾配情報の大きさと正の相関を有するように、前記摂動信号の振幅の大きさを調整する、
こととしてもよい。
【0014】
この発明の第2の観点に係る制御方法では、
制御対象であるシステムの出力に基づいて、前記システムの特性を表す評価指標の極値を演算して、前記システムの入力変数を調整する制御方法において、
前記評価指標の勾配情報に基づいて、前記システムの特性が変動したか否かを判定し、
前記システムの特性が変動したと判定された場合、前記出力、前記システムの状態を表す状態変数及び前記評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記勾配情報と、前記入力変数とを含む複数のデータセットを格納するデータベースに基づいて、前記入力変数の演算条件を修正する更新パラメータを演算し、演算された前記更新パラメータに基づいて前記入力変数を演算する。
【0015】
この発明の第3の観点に係るプログラムは、
コンピュータを、
制御対象であるシステムの出力、前記システムの状態を表す状態変数及び前記システムの特性を表す評価指標に影響を与える環境変数のうち少なくとも前記環境変数を含む情報ベクトルと、前記評価指標の勾配情報と、前記システムの入力変数とを含む複数のデータセットを格納するデータベース、
前記出力に基づいて前記評価指標の極値を演算して、前記入力変数を調整する制御部、
前記制御部で演算された前記評価指標の勾配情報に基づいて、前記システムの特性が変動したか否かを判定する特性変動判定部、
前記特性変動判定部において前記システムの特性が変動したと判定された場合、前記データベースに基づいて、前記制御部における前記入力変数の演算条件を修正する更新パラメータを演算する更新パラメータ演算部、
として動作させる。
【発明の効果】
【0016】
本発明の制御装置、制御方法及びプログラムによれば、システムの特性が変動した場合に、データベースに格納されたデータセットに基づいて極値探索を行うので、極値の探索に要する時間を短縮することが可能である。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施の形態1に係る制御装置のブロック線図である。
【
図2】実施の形態1に係る制御装置のハードウエア構成を示すブロック図である。
【
図3】実施の形態1に係る制御処理の流れを示すフローチャートである。
【
図4】実施の形態1に係る勾配情報演算の流れを示すフローチャートである。
【
図5】ノッチフィルタによる信号処理の例を示すグラフであり、(A)は勾配情報のグラフ、(B)は周波数成分を除去した勾配情報のグラフ、(C)は勾配の大きさと閾値との関係を示すグラフである。
【
図6】実施の形態1に係る更新パラメータの演算の流れを示すフローチャートである。
【
図7】(A)は実施の形態1に係る制御処理の数値例における摩擦力とスリップ率との関係を表すグラフであり、(B)は環境変数ごとの摩擦力とスリップ率との関係を表すグラフである。
【
図8】数値例1におけるシステム及び制御装置の構成を示すブロック線図である。
【
図9】数値例1における従来の極値探索制御の場合のシミュレーション結果を表すグラフである。
【
図10】数値例1における実施の形態1に係る極値探索制御の場合のシミュレーション結果を表すグラフである。
【
図11】数値例2におけるシステム及び制御装置の構成を示すブロック線図である。
【
図12】数値例2における従来の極値探索制御の場合のシミュレーション結果を表すグラフである。
【
図13】数値例2における実施の形態1に係る極値探索制御の場合のシミュレーション結果を表すグラフである。
【
図14】実施の形態2に係る制御装置のブロック線図である。
【
図15】数値例3における従来の極値探索制御の場合のシステム及び制御装置の構成を示すブロック線図である。
【
図16】数値例3における実施の形態2に係る極値探索制御の場合のシステム及び制御装置の構成を示すブロック線図である。
【
図17】数値例3における従来の極値探索制御の場合のシミュレーション結果を表すグラフである。
【
図18】数値例3における実施の形態2に係る極値探索制御の場合のシミュレーション結果を表すグラフである。
【発明を実施するための形態】
【0018】
以下、図を参照しつつ、本発明の実施の形態に係る制御装置及び制御方法について説明する。
【0019】
(実施の形態1)
本実施の形態に係る制御装置1は、制御対象を含む開ループ系又は閉ループ系のシステム21について所定の評価指標を最大化することによって制御を行う極値探索制御システムである。
【0020】
システム21は、以下の式のように表される。
【数1】
ただし、xは状態変数、uは操作量、zは環境変数、νは評価指標、Jは評価関数である。また、f,g,Jは連続な関数とする。
【0021】
また、システム21は、以下の仮定1~3を満たすこととする。
(仮定1)
【数2】
【0022】
(仮定2)
入力変数θについて、システム21の平衡状態x=l(θ)は局所的に指数的安定である。
【0023】
(仮定3)
以下の式を満たすθ
*が存在する。
【数3】
【0024】
上記の条件の下、システム21の具体的な構成は特に限定されず、システム21は、システムの状態変数x、制御特性の評価を行うための出力y等を計測可能なものであればよい。また、システム21の制御特性は、環境変数zによって変動し、これにより出力yが変動する。制御特性に影響を与える環境変数zは、観測可能な変数であり、例えばシステム21に含まれるプラントで生産される製品の材料、プラント操業に係る気温、湿度等である。
【0025】
制御装置1は、
図1のブロック線図に示すように、評価部11、制御部12、特性変動判定部13、データベース14、更新パラメータ演算部15を備える。
【0026】
評価部11は、システム21の出力y及び予め設定された評価関数Jに基づいて制御特性の評価指標νを演算し、出力する。
図1に示すように、評価関数Jは環境変数zを含み、環境変数zによって変動する。
【0027】
制御部12は、極値探索制御法を用いてシステム21を制御するコントローラである。具体的には、評価部11で演算される評価指標νに基づいて、評価指標νを極値に維持させるためにシステム21に入力される入力変数θを調整する。入力変数θは、評価関数Jに基づく評価指標νを極値に維持させるための信号であり、例えば、システム21に入力される目標値r、操作量u等である。制御部12は、
図1に示すように、ハイパスフィルタ121、摂動信号発生器122、乗算器123、ローパスフィルタ124、増幅器125、積分器126、加算器127を備える。
【0028】
これらの制御部12の各要素の基本的な構成は、公知の摂動法による極値探索制御機構に基づいており、システム21の特性変動があった場合の極値探索方法が従来の極値探索制御と異なる。制御部12の各要素の具体的な動作については、後述する。
【0029】
特性変動判定部13は、制御部12において演算される勾配情報ξに基づいて、システム21の特性が変動したか否かを判定する。特性が変動したか否かは、例えば予め定められた所定の閾値に基づいて判定される。閾値は、特性変動によって極値探索に要する時間を考慮して適宜選択すればよい。特性変動判定部13は、システム21の特性が変動したと判定した場合、更新パラメータ演算部15へ更新指令を出力する。
【0030】
データベース14は、システム21の評価指標νの勾配情報ξ、入力変数θ及び情報ベクトルφを含む複数のデータセットΦを格納する。情報ベクトルφは、システム21の出力y、状態変数x及び環境変数zのうち少なくとも環境変数zを含む一群のデータである。情報ベクトルφに含まれるパラメータとしては、データベース14に格納されたデータセットΦ中の情報ベクトルφと、現在時刻ステップの情報ベクトルφとの距離を演算するために適切なパラメータを適宜選択することとすればよい。
【0031】
更新パラメータ演算部15は、特性変動判定部13から更新指令を受信した場合、データベース14に含まれるデータセットΦと、現在のシステム21の状態を表すクエリ(要求点)としての情報ベクトルφとに基づいて、現在のシステム21の状態に近い状態を表すデータセットΦiを近傍データセットΦiとして選択する。更新パラメータ演算部15は、選択された近傍データセットΦiに基づいて、更新パラメータθ^oldを演算し、制御部12へ出力する。
【0032】
更新パラメータθ^oldは、勾配法によって演算される入力変数θを修正するためのパラメータである。本実施の形態では、データベース14に格納されているデータセットΦに基づいて演算される更新パラメータθ^oldを用いて入力変数θを演算する。したがって、システム21の特性が変動した場合に、データベース14内のデータセットΦに基づいて極値探索の初期値を再設定することができる。これにより、極値探索に要する時間を短くすることができる。
【0033】
制御部12は、更新パラメータ演算部15から更新パラメータθ^oldを受信した場合、受信した更新パラメータθ^old、演算した勾配情報ξ及び摂動信号発生器122で発生される摂動信号に基づいて、入力変数θを演算する。そして、制御部12は、演算された入力変数θをシステム21に入力して制御を行う。
【0034】
制御装置1は、例えば、
図2に示すハードウエア構成を有する。具体的には、制御装置1は、装置全体の動作を司るCPU(Central Processing Unit)51と、CPU51の作業領域等として動作する主記憶部52と、CPU51の動作プログラム、データベース14等を記憶する外部記憶部53と、システムの状態変数x、出力y等の情報を出力する表示部54と、各種設定値等に係るユーザからの入力を受け付ける入力部55と、これらを接続するバス56から構成される。
【0035】
主記憶部52は、RAM(Random Access Memory)等から構成されている。主記憶部52には、外部記憶部53に記憶されておりCPU51を制御部12、特性変動判定部13、更新パラメータ演算部15等として動作させるための動作プログラム及びデータ等がロードされる。また、主記憶部52は、CPU51の作業領域(データの一時記憶領域)としても用いられる。
【0036】
外部記憶部53は、フラッシュメモリ、ハードディスク等の不揮発性メモリから構成される。外部記憶部53には、CPU51に実行させるための動作プログラム及びデータが予め記憶されている。また、外部記憶部53は、データベース14を記憶する。
【0037】
表示部54は、ユーザにシステムの状態変数x、出力y、環境変数z等の情報を提示する液晶パネル、有機EL(Electro-Luminescence)等の表示用デバイスである。
【0038】
入力部55は、ユーザが制御部12の設定値等を入力する、マウス、キーボード、タッチパネル等の入力デバイスである。
【0039】
続いて、制御装置1を用いた制御方法について、
図3のフローチャートを参照しつつ、具体的に説明する。
【0040】
準備として、初期データベースを作成する。初期データベースとしてのデータベース14に格納するデータセットΦの形式は、以下の式(1)に示すように、情報ベクトルφ、勾配情報ξ、入力変数θ^を含む。
【数4】
ここで、θ^は、
図1に示すように、制御部12で演算される入力変数θの更新値である。
【0041】
また、情報ベクトルφは、以下の式(2)に示すように、出力y、状態変数x、環境変数zを含む。より詳細には、状態変数xはp次元のベクトル(状態変数ベクトル)であり、環境変数zはq次元のベクトル(環境変数ベクトル)である。
【数5】
ここで、n
y、n
xi、n
ziは各信号の次数を表す。
【0042】
上記のように表される様々な時刻tにおけるデータセットΦが、データベース14に格納される。データベース14に格納されたデータセットΦには、Φ
1,Φ
2,・・・,Φ
N(Nはデータセット数)としてインデックスが付与されており、以下インデックスが付与されたデータセットΦを以下の式(3)のように表す。
【数6】
【0043】
初期データベースとしてデータベース14に格納されるデータセットΦは、過去の操業データ、コンピュータシミュレーションのデータ等に基づいて作成される。初期データベースに格納すべきデータは、評価指標νの極値付近を探索しているときのデータのみであるので、予め設定された所定の閾値th1よりも勾配情報ξが小さい場合のデータをデータベース14に格納することとする。なお閾値th1の大きさ(th1∈R)は適宜調整すればよい。
【0044】
初期データベースの作成が完了した後、システム21の操業とともに、制御装置1による制御が開始される。制御が開始されると、制御装置1は、システム21の出力yを取得する(ステップS11)。
【0045】
評価部11は、取得した出力y及び予め設定されている評価関数Jに基づいて、評価指標νを演算する(ステップS12)。評価関数Jは、出力yの関数であり、入力変数θ、環境変数z等によって変動する。
【0046】
制御部12は、ステップS12で演算された評価指標νに基づいて、勾配情報ξを演算する(ステップS13)。
図4は、ステップS13の勾配情報ξの演算の詳細な流れを示すフローチャートである。
図1及び
図4に示すように、制御部12は、取得した評価指標νをハイパスフィルタ121に入力して、低周波成分(直流成分)を除去する(ステップS31)。ハイパスフィルタ121の特性は、以下に示す通りである。
【数7】
ここで、ω
hはカットオフ周波数である。
【0047】
ハイパスフィルタ121で低周波成分を除去された信号ν-ηは、乗算器123へ入力される。
【0048】
また、摂動信号発生器122は、摂動信号を発生させ、乗算器123へ入力する。摂動信号は、評価指標νを極値に保つための信号として摂動法を用いた極値探索制御で用いられるものであり、特に限定されない。本実施の形態では、
図1に示すように、乗算器123へ入力する摂動信号としてβsinωtを用いる。周波数ωは、システム21の特性を考慮して十分遅いもの、振幅βは、システム21の特性を考慮して十分小さいものを適宜選択すればよい。
【0049】
乗算器123は、ステップS31で生成された信号ν-ηと、摂動信号βsinωtとを乗算し、ξ’を生成する(ステップS32)。制御部12は、ステップS32で演算したξ’をローパスフィルタ124に入力して高周波成分を除去し、勾配情報ξを演算する(ステップS33)。これにより、制御部12は、直接的に評価関数Jの導関数を用いることなく勾配情報ξを取得することができる。ローパスフィルタ124の特性は、以下に示す通りである。
【数8】
ここで、ω
lはカットオフ周波数である。
【0050】
図3に戻り、制御部12は、ステップS13で演算した勾配情報ξを特性変動判定部13及び増幅器125へ入力する。特性変動判定部13は、勾配情報ξに基づいて、システム21に特性変動が生じているか否か判定する。具体的には、特性変動判定部13は、下記の特性を有するノッチフィルタを用いて、勾配情報ξから摂動信号の周波数成分(摂動信号周波数ω
n)を除去してξ~を演算する(ステップS14)。
【数9】
ただし、d,ζはノッチフィルタの設計パラメータである。
【0051】
特性変動判定部13は、演算されたξ~を時間微分して、勾配の変化の大きさを表すγを演算する(ステップS15)。これにより、
図5(A)、(B)の例に示すように、勾配情報ξから周波数成分を除いたγを演算することができる。特性変動判定部13は、演算されたγと予め設定された閾値ε
1とを用いて、システム21の特性が変動しているか否かを判定する(ステップS16)。
【0052】
図5(C)の例に示すように、勾配の変化を表すγ
2が閾値ε
1よりも大きく、システム21の特性が変化していると判定される場合(ステップS16のYES)、更新パラメータ演算部15は、更新パラメータθ^
oldの演算を行う(ステップS17)。
図6は、ステップS17の更新パラメータθ^
oldの演算の詳細な流れを示すフローチャートである。
【0053】
図6に示すように、更新パラメータ演算部15は、データベース14に格納されたデータセットΦをソートする(ステップS41)。具体的には、更新パラメータ演算部15は、勾配情報ξ
iの小さなものからデータセットΦを昇順にソート、すなわちデータセットΦ
iのインデックスを変更する。
【0054】
更新パラメータ演算部15は、クエリ(要求点)を取得する(ステップS42)。以下の式(4)で表されるクエリは、過去及び現在の時刻ステップで取得され、制御装置1を構成する主記憶部52等に記憶されているシステム21の出力y、状態変数x、環境変数z等に基づいて生成される。
【数10】
【0055】
更新パラメータ演算部15は、ステップS42で取得したクエリq(t)と、データベース14内の第i番目のデータセットΦ
iに含まれる情報ベクトルφ
iとの距離d
i(q(t),φ
i)を演算する(ステップS43)。距離d
i(q(t),φ
i)は、例えば、以下の式(5)に示す重み付きL1ノルムとする。
【数11】
ここで、φ
lは情報ベクトルφのl番目の要素、max(φ
il(m))はデータベース14内に格納されている全ての情報ベクトルφのl番目の要素の中で最大の要素を示す。また、min(φ
il(m))はデータベース14内に格納されている全ての情報ベクトルφのl番目の要素の中で最小の要素を示す。
【0056】
更新パラメータ演算部15は、ステップS43で演算した距離di(q(t),φi)の中で小さいものから上位n個のデータセットΦiを近傍データセットΦiとして選択する(ステップS44)。近傍データセットΦiであるか否かは、例えば、予め設定された閾値εdを用いて、インデックスi=1から順に演算された距離di(q(t),φi)がdi(q(t),φi)<εdを充足するか否かによって判定し、近傍データセットΦiの数がn個に達するまで距離計算が行われる。データベース14内のデータセットΦiは、ステップS41で勾配情報ξiの小さい順にソートされているので、極値に近いと考えられるΦiから順に近傍データセットΦiを選択することができる。
【0057】
近傍データセット数nは、予めユーザが決定することとしてもよいし、自動的に決定されることとしてもよい。自動的に近傍データセット数nを決定する場合、更新パラメータ演算部15は、例えば、勾配の変動の大きさを表す変数γの大きさに基づいて決定することとすればよい。
【0058】
ステップS44によって選択された近傍データセットΦiが存在しない場合(ステップS45のNO)、更新パラメータ演算部15は、更新パラメータθ^oldの演算を終了する。
【0059】
ステップS44によって選択された近傍データセットΦ
iが存在する場合(ステップS45のYES)、距離d
i(q(t),φ
i)に基づいて、以下の式(6)を満たすように、近傍データセットΦ
iごとの重みを演算する(ステップS46)。
【数12】
【0060】
近傍データセットΦ
iに対応する重みw
iは、例えば、以下の式(7)によって演算される。
【数13】
【0061】
更新パラメータ演算部15は、近傍データセットΦ
iに含まれる入力変数θ
iと、ステップS46で演算された重みw
iとに基づいて、以下の式(8)から、入力変数θを決定するための更新パラメータθ^
oldを演算する(ステップS47)。
【数14】
【0062】
更新パラメータ演算部15は、ステップS47で演算された更新パラメータθ^oldを制御部12へ送信し、制御部12は主記憶部52等に記憶されている前時刻ステップの入力変数θ(t-1)を更新パラメータθ^oldに更新する(ステップS48)。これにより、入力変数θの演算条件が修正される。
【0063】
図3に戻り、制御部12は、入力変数の更新値θ^を演算する(ステップS18)。具体的には、制御部12の積分器126は、以下の式(9)で表される数値積分を行う。
【数15】
ここで、kはゲイン、hはk及びξの関数である。
【0064】
上述したように、環境変数zの変化等によってシステム21の特性が所定の閾値より大きく変動した場合、更新パラメータ演算部15で演算された更新パラメータθ^oldによって前時刻ステップの入力変数θ^(t-1)が更新されている。これにより、データベース14に格納されたデータセットΦに基づいて、現在時刻ステップ以降の極値探索における初期値を、より最適値に近い値とすることが可能となる。すなわち、過去の最適化結果を利用して、特性変動後の極値探索を行うことができる。したがって、極値の探索に要する時間を短縮し、探索中の非最適運転による損失を抑制することが可能となる。
【0065】
ステップS16に戻り、γ2が閾値ε1以下であり、システム21の特性変化が生じていないと判定される場合(ステップS16のNO)、式(9)に示すように、前時刻ステップの入力変数θ(t-1)、ステップS13で演算された勾配情報ξに基づいて、増幅器125及び積分器126によって、現在時刻ステップの入力変数の更新値θ^が演算される(ステップS19)。
【0066】
また、勾配情報ξが予め定められた閾値ε2より小さい(ξ2<ε2)場合(ステップS20のYES)、制御部12は、その時点のデータセットΦを作成してデータベース14に格納する(ステップS21)。これにより、極値に近い状態のデータセットΦをデータベース14に追加して、環境変数zの変動等による特性変化に対応可能な範囲を拡大させ、極値探索時の時間短縮効果を高めることができる。
【0067】
また、勾配情報ξが予め定められた閾値ε2以上(ξ2≧ε2)の場合(ステップS20のNO)、制御部12は、データセットΦを追加せず次のステップに進む。
【0068】
制御部12は、ステップS18又はステップS19で演算された入力変数の更新値θ^を加算器127に入力する。
【0069】
また、摂動信号発生器122は、摂動信号を発生させ、加算器127へ入力する。本実施の形態では、
図1に示すように、加算器127へ入力する摂動信号としてαsinωtを用いる。振幅αは乗算器123に入力される摂動信号の振幅βと同様にシステム21の特性を考慮して適宜選択すればよい。
【0070】
加算器127は、入力変数の更新値θ^と、摂動信号αsinωtとを加算して入力変数θを演算する(ステップS22)。制御部12は、演算した入力変数θをシステム21へ入力することにより(ステップS23)、極値制御を行う。
【0071】
以下、制御動作が終了するまで、制御装置1は、ステップS11~S23の処理を繰り返して、システム21の制御を行う。
【0072】
以上説明したように、本実施の形態に係る制御装置1は、摂動法を用いて極値探索制御を行う制御部12と、システム21の状態変数x、環境変数z、入力変数θ等を含むデータセットΦが格納されたデータベース14とを備える。そして、システムの特性が変動している場合、データベース14を用いて入力変数θを調整することにより、極値探索に係る初期値を、極値に近い値に再設定する。したがって、極値探索に要する時間を短縮することができるので、探索中の非最適運転による損失を低減することができる。
【0073】
また、近傍データセットΦiの探索において、更新パラメータ演算部15は、データベース14に格納されているデータセットΦを、評価指標νの勾配の大きさを表す勾配情報ξiが小さい順にソートする。そして、更新パラメータ演算部15は、ソートされたデータセットΦiの情報ベクトルφiとクエリq(t)との距離を順次演算して、近傍データセットΦiを選択することとしている。したがって、より極値に近い条件のデータセットΦを近傍データセットΦiとして選択できるので、極値探索にかかる時間短縮の効果をより高めることができる。
【0074】
本実施の形態に係る制御装置1では、制御対象としてのシステム21に入力される目標値r、操作量u等を入力変数θとして想定したが、これに限られない。例えば、入力変数θは、システム21に内包されるPIDコントローラ等の制御パラメータであることとしてもよい。
【0075】
(数値例1)
以下、本実施の形態に係る極値探索制御の数値例について、自動車のアンチロックブレーキシステムにおける極値探索制御を例として説明する。具体的には、タイヤと路面との間の摩擦力μを最大化することにより、ブレーキ作動時の制動距離を短くすることを目標とする。
図7(A)は、以下の式に示す自動車のスリップ率λと摩擦力μとの関係を示すグラフである。
【数16】
ただし、wsはタイヤの回転速度、vsは車速である。
【0076】
図7(A)に示すように、例えば、ブレーキによる制動力を制御することにより、スリップ率λを調整し、摩擦力μを最大値に維持することができる。しかしながら、路面の状況、タイヤの状況等の環境変数zによって、摩擦力μとスリップ率λとの関係は変化するので、最大摩擦力となるスリップ率(最適点)λ
*を把握することは困難である。
【0077】
本例では、
図7(B)に示す環境変数z=1及びz=2の場合の摩擦力μとスリップ率λとの関係を表すデータセットΦが予めデータベース14に格納されていることとし、環境変数z=3とした場合の制動距離について、本実施の形態に係る制御装置1の場合と、データベース14を用いない従来の極値探索制御に係る制御装置の場合とをコンピュータシミュレーションによって比較した。
【0078】
図8は、本数値例に係るシステム21及び制御装置1の構成を示すブロック線図である。
図8に示すように、本例では、タイヤの回転速度ws、車速vsから演算されるスリップ率λを出力yとする。そして、制御部12は、摩擦力μの極値を探索して、入力変数θであるスリップ率λを演算し、システム21に入力する。また、本例に係る情報ベクトルφは、環境変数zのみを含む。
【0079】
図9は、従来の極値探索制御によるシミュレーション結果を示すグラフである。また、
図10は、本実施の形態に係る制御装置1によるシミュレーション結果を示すグラフである。
図9及び
図10に示すように、本実施の形態に係るデータベース14を用いた極値探索制御により、未知の環境を表す環境変数z=3の場合において、制動距離を短くすることができている。これは、本実施の形態に係る制御装置1を用いることによって、データベース14に格納されているデータセットΦに基づいて、未知の環境による極値探索の初期値を、より極値に近い位置に設定することができているためである。
【0080】
(数値例2)
本実施の形態に係る極値探索制御の別の数値例について説明する。
図11に示すように、本例では、以下の式に示すコントローラ及び制御対象を含むシステム21を、極値探索制御によって制御する。
【数17】
【0081】
システム21は、以下の式の通りである。評価関数Jは環境変数zを含む。環境変数zは、600sごとにz=2,4,6,3と切り替わる。また、zには、平均0、分散0.01のガウス性白色雑音が重畳される。
【数18】
【0082】
図12は、従来の極値探索制御によるシミュレーション結果を示すグラフである。また、
図13は、本実施の形態に係る制御装置1によるシミュレーション結果を示すグラフである。
図12及び
図13に示すように、本実施の形態に係るデータベース14を用いた極値探索制御により、環境変数z=3となった場合において、効率よく極値探索を行えていることがわかる。これは、過去に探索された極値付近のデータセットΦを活用することにより、環境変数zが変動した場合の極値探索における初期値が、極値に近い値に設定できているためである。
【0083】
以上、数値例を用いて説明したように、データベース14を用いて極値探索制御を行うことにより、システムの特性が変動した場合の極値探索に要する時間を短縮し、制御性能を向上させることができる。
【0084】
(実施の形態2)
上記実施の形態1に係る制御装置1では、摂動信号を用いて極値探索制御を行うこととしている。この場合、入力変数θに入力される摂動信号の影響によって、評価指標νの最適値付近において、出力yに振動が生じる場合がある。この摂動信号による振動の発生を抑制するため、制御装置1に摂動信号の振幅調整手段を付加することもできる。本実施の形態では、摂動信号の振幅調整を行う制御装置2について説明する。
【0085】
本実施の形態に係る制御装置2は、摂動信号の振幅を調整する振幅調整手段16を備える点が実施の形態1に係る制御装置1と異なり、その他の構成等については実施の形態1と同様であるので、同じ符号を付して説明を省略する。
【0086】
具体的には、制御装置2は、
図14に示すように、ローパスフィルタ124の出力信号に基づいて、摂動信号発生器122で生成された摂動信号の振幅を調整する振幅調整手段16を備える。具体的には、振幅調整手段16は、ローパスフィルタ124の出力信号である勾配情報ξの大きさが大きい場合には摂動信号の振幅を大きくし、勾配情報ξが小さい場合には摂動信号の振幅を小さくする。すなわち、振幅調整手段16は、勾配情報ξの大きさと正の相関を有するように、摂動信号の振幅の大きさを調整する。これにより、極値探索の最適値付近において、摂動信号の振幅が小さくなるので、定常的な振動の発生を抑制することができる。
【0087】
振幅調整手段16による摂動信号の振幅の算出条件は特に限定されず、上述のように極値探索に係る変動の大きさを示す勾配情報ξの大きさと正の相関を有するように増減するものであればよい。本実施の形態に係る振幅調整手段16は、勾配情報ξを用いて以下の式で表される振幅α(ξ)を演算する。
【数19】
ただし、k
aは正の定数である。
【0088】
これにより、勾配情報ξの大きさに伴って、摂動信号の振幅の大きさを増減することができるので、速やかに極値探索を行うことができるとともに、最適値付近における振動を抑制することができる。
【0089】
(数値例3)
以下、実施の形態2に係る振幅調整手段16の効果を確認するための比較シミュレーションの例について説明する。本例では、
図15のブロック線図に示す従来の極値探索制御を行う極値探索制御システムESと、
図16のブロック線図に示す実施の形態2に係る振幅調整手段16を備えるデータベース駆動極値探索制御システムDDESとを同様の条件で動作させて比較シミュレーションを行った。また、
図16に係るデータベース駆動極値探索制御システムDDESでは、
図15に係る極値探索制御システムESによる探索結果をデータベース14に格納して用いることとしている。
【0090】
コントローラと制御対象とを含むシステム21の閉ループ系の伝達関数は以下のように表される。
【数20】
【0091】
制御対象G(s)は、以下のように設定した。
【数21】
また、コントローラC(s)は、以下のように設定した。
【数22】
【0092】
以下に示すように評価関数Jは3つの環境変数z
1~z
3を含む。
【数23】
【0093】
また、環境変数z
1~z
3は以下のように600sごとに切り替わることとした。
【表1】
【0094】
図17に示す極値探索制御システムESの制御結果と比較して、
図18に示すデータベース駆動極値探索制御システムDDESの制御結果では、速やかに極値探索が行われ、高い制御性能が得られていることがわかる。また、
図18の出力yのグラフ中に拡大して示すように、最適値付近において、摂動信号による振動の振幅が減衰しており、より安定的な制御を行えていることがわかる。
【0095】
上記実施の形態に係る制御方法は、通常のコンピュータシステムを用いて実現可能である。例えば、上記実施の形態に係る極値探索制御を実行するためのコンピュータプログラムを、インターネット等のネットワークを介して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、コンピュータ装置を上記の極値探索制御を実行する制御装置として機能させることができる。
【産業上の利用可能性】
【0096】
本発明は、勾配法を用いて極値探索制御を行う制御装置に好適である。特に、環境変数の変動によって特性が変動するシステムの制御に好適である。
【符号の説明】
【0097】
1,2 制御装置、11 評価部、12 制御部、121 ハイパスフィルタ、122 摂動信号発生器、123 乗算器、124 ローパスフィルタ、125 増幅器、126 積分器、127 加算器、13 特性変動判定部、14 データベース、15 更新パラメータ演算部、16 振幅調整手段、21 システム、51 CPU、52 主記憶部、53 外部記憶部、54 表示部、55 入力部、56 バス