(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023031898
(43)【公開日】2023-03-09
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G05B 11/32 20060101AFI20230302BHJP
【FI】
G05B11/32 F
【審査請求】有
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2021137665
(22)【出願日】2021-08-26
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り ▲1▼刊行物 北海道大学令和2年卒業論文 ▲2▼発行日 令和3年2月1日 ▲3▼発行所 国立大学法人北海道大学 ▲4▼該当ページ 第3章(節3.2~3.4及び3.6) ▲5▼公開者 坂井達成、梶原逸朗 ▲6▼公開のタイトル データ駆動制御手法を用いた二自由度制御系の適応パラメータチューニング
(71)【出願人】
【識別番号】000000170
【氏名又は名称】いすゞ自動車株式会社
(71)【出願人】
【識別番号】504173471
【氏名又は名称】国立大学法人北海道大学
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】矢作 修一
(72)【発明者】
【氏名】梶原 逸朗
(72)【発明者】
【氏名】坂井 達成
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA30
5H004KB32
5H004KC02
(57)【要約】
【課題】二自由度制御系において、フィードフォワード制御器とフィードバック制御器の最適化のための実験回数を削減できる情報処理装置を提供すること。
【解決手段】情報処理装置は、参照信号がゼロでなく、かつ、外乱がゼロであるときの制御入力および制御対象の出力を、第1の入出力データとして取得するデータ取得部と、第1の入出力データに基づいて、参照信号がゼロであり、かつ、外乱がゼロではないときに取得されるべき制御入力および制御対象の出力を、第2の入出力データとして予測するデータ予測部と、第1の入出力データに基づいてフィードフォワード制御器を最適化し、第2の入出力データに基づいてフィードバック制御器を最適化する制御器調整部と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
制御対象と、
参照信号から前記制御対象の出力までの目標応答伝達関数と、
前記参照信号に基づく第1操作量を出力するフィードフォワード制御器と、
前記目標応答伝達関数の出力と前記制御対象の出力との偏差に基づく第2操作量を出力するフィードバック制御器と、を含み、前記第1操作量、前記第2操作量、および外乱を含む制御入力が前記制御対象に入力される制御システムと電気的に接続される情報処理装置であって、
前記参照信号がゼロでなく、かつ、前記外乱がゼロであるときの前記制御入力および前記制御対象の出力を、第1の入出力データとして取得するデータ取得部と、
前記第1の入出力データに基づいて、前記参照信号がゼロであり、かつ、前記外乱がゼロではないときに取得されるべき前記制御入力および前記制御対象の出力を、第2の入出力データとして予測するデータ予測部と、
前記第1の入出力データに基づいて第1の評価関数を最小化させる最適な制御パラメータを算出して前記フィードフォワード制御器を最適化するとともに、前記第2の入出力データに基づいて第2の評価関数を最小化させる最適な制御パラメータを算出して前記フィードバック制御器を最適化する制御器調整部と、
を備える、
情報処理装置。
【請求項2】
前記フィードフォワード制御器には、FIR(Finite Impulse Response)フィルタが適用され、
前記制御器調整部では、最小二乗法により前記最適な制御パラメータが算出される、
請求項1に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、二自由度制御系に対して用いられる情報処理装置に関する。
【背景技術】
【0002】
従来、目標応答特性と外乱応答特性のそれぞれを向上させることができる制御システムとして、フィードフォワード制御器およびフィードバック制御器を備えた二自由度制御系が知られている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】金子修・中村岳男・池崎太一著,「二自由度制御系におけるフィードフォワード制御器更新の新しいアプローチ -Estimated Response Iterative Tuning (ERIT)の提案-」計測自動制御学会論文集Vol.54,No.12,p857~864,2018年
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の二自由度制御系では、フィードフォワード制御器とフィードバック制御器のそれぞれ(具体的には、制御パラメータ)を最適化するために、二回の実験を行わなければならなかった。
【0005】
本開示の一態様の目的は、二自由度制御系において、フィードフォワード制御器とフィードバック制御器のそれぞれを最適化するための実験回数を削減することができる情報処理装置を提供することである。
【課題を解決するための手段】
【0006】
本開示の一態様に係る情報処理装置は、制御対象と、参照信号から前記制御対象の出力までの目標応答伝達関数と、前記参照信号に基づく第1操作量を出力するフィードフォワード制御器と、前記目標応答伝達関数の出力と前記制御対象の出力との偏差に基づく第2操作量を出力するフィードバック制御器と、を含み、前記第1操作量、前記第2操作量、および外乱を含む制御入力が前記制御対象に入力される制御システムと電気的に接続される情報処理装置であって、前記参照信号がゼロでなく、かつ、前記外乱がゼロであるときの前記制御入力および前記制御対象の出力を、第1の入出力データとして取得するデータ取得部と、前記第1の入出力データに基づいて、前記参照信号がゼロであり、かつ、前記外乱がゼロではないときに取得されるべき前記制御入力および前記制御対象の出力を、第2の入出力データとして予測するデータ予測部と、前記第1の入出力データに基づいて第1の評価関数を最小化させる最適な制御パラメータを算出して前記フィードフォワード制御器を最適化するとともに、前記第2の入出力データに基づいて第2の評価関数を最小化させる最適な制御パラメータを算出して前記フィードバック制御器を最適化する制御器調整部と、を備える。
【発明の効果】
【0007】
本開示によれば、二自由度制御系において、フィードフォワード制御器とフィードバック制御器のそれぞれを最適化するための実験回数を削減することができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施の形態にかかる二自由度制御系を示す模式図
【
図2】二回目の実験で実際に取得された入力データと、本開示の実施の形態にかかる情報処理装置により予測された入力データとを示すグラフ
【
図3】二回目の実験で実際に取得された出力データと、本開示の実施の形態にかかる情報処理装置により予測された出力データとを示すグラフ
【
図4】本開示の実施の形態にかかる情報処理装置の構成を示すブロック図
【
図5】本開示の実施の形態にかかる情報処理装置の動作を示すフローチャート
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態について、図面を参照しながら説明する。
【0010】
[二自由度制御系の構成]
図1を用いて、本開示の実施の形態にかかる制御システムとしてのモデルマッチング二自由度制御系(以下、単に二自由度制御系という)について説明する。
図1は、本実施の形態の二自由度制御系1を示す模式図である。なお、
図1では図示を省略しているが、二自由度制御系1は、
図4に示す情報処理装置100と電気的に接続される。この情報処理装置100については後述する。
【0011】
図1において、C
r(z,ρベクトル)はフィードフォワード制御器を示し、C
e(z,ρベクトル)はフィードバック制御器を示す。また、G(z)は制御対象(プラント)を示し、ρベクトルは制御器の持つ制御パラメータを示す。また、rは参照信号(参照入力または目標値ともいう)を示し、vは既知の外乱入力(単に外乱ともいう)を示す。また、u(ρベクトル)は制御入力(操作量ともいう)を示し、y(ρベクトル)は制御対象G(z)の出力(応答または制御量ともいう)を示す。また、T
d(z)は、参照信号rから出力y(ρベクトル)までの目標応答伝達関数を示す。制御対象G(z)は線形時不変であり、その動特性は未知であるとする。
【0012】
フィードフォワード制御器Cr(z,ρベクトル)は、参照信号rに基づく第1操作量を出力する。フィードバック制御器Ce(z,ρベクトル)は、目標応答伝達関数Td(z)の出力(目標応答)と制御対象G(z)の出力y(ρベクトル)との偏差eに基づく第2操作量を出力する。制御対象G(z)に入力される制御入力u(ρベクトル)には、第1操作量、第2操作量、および既知の外乱入力vが含まれる。なお、以下では、制御入力u(ρベクトル)と制御対象G(z)の出力y(ρベクトル)とをまとめて「入出力データ」と表記する。
【0013】
図1に示す二自由度制御系1において、感度関数規範モデルS
d(z)に対してフィードバック制御器C
e(z,ρベクトル)が独立に設計でき、目標応答伝達関数T
d(z)に対してフィードフォワード制御器C
r(z,ρベクトル)が独立に設計できることを、以下に示す。
【0014】
制御パラメータρベクトルにおいて、参照入力rから出力y(ρベクトル)までの伝達関数T(z,ρベクトル)と、既知の外乱入力vから制御入力u(ρベクトル)までの伝達関数(感度関数)S(z,ρベクトル)とは、それぞれ、次式(1)、(2)のように表される。
【数1】
【数2】
【0015】
伝達関数T(z,ρベクトル)と伝達関数S(z,ρベクトル)とを、それぞれ、目標応答伝達関数T
d(z)、感度関数規範モデルS
d(z)とするには、フィードフォワード制御器C
r(z,ρベクトル)とフィードバック制御器C
e(z,ρベクトル)とが、それぞれ、次式(3)、(4)のようになればよい。
【数3】
【数4】
【0016】
式(3)と式(4)により、フィードフォワード制御器Cr(z,ρベクトル)とフィードバック制御器Ce(z,ρベクトル)とは互いに依存せず、目標応答伝達関数Td(z)に対してフィードフォワード制御器Cr(z,ρベクトル)が独立に設計でき、感度関数規範モデルSd(z)に対してフィードバック制御器Ce(z,ρベクトル)が独立に設計できることが分かる。
【0017】
次に、フィードフォワード制御器C
r(z,ρベクトル)の最適化を考える。ここで、v=0とし、Nステップ分の入出力データu(k)、y(k)を取得したとする。このとき、次式(5)に示す評価関数J
Td(ρベクトル)を最小化する最適な制御パラメータρベクトルアスタリスクを求めることがFRIT(Fictitious Reference Iterative Tuning)の目的である。これは、パラメータρベクトルを変えることにより伝達関数T(z,ρベクトル)を目標応答伝達関数T
d(z)に一致させるモデルマッチング設計法である。
【数5】
【0018】
閉ループ系が安定となるように制御パラメータρ
iniベクトルを定め、r=r
1≠0、v=v
1=0のもと、Nステップ分の入出力データu
ini、y
iniを取得する。この初期の入出力データu
ini、y
iniを用いて、次式(6)に示す擬似参照信号rチルダ(k,ρベクトル)を計算する。
【数6】
【0019】
擬似参照信号rチルダ(k,ρベクトル)は、ρベクトルの関数である。ここで、擬似参照信号rチルダ(k,ρベクトル)に対する誤差信号eチルダ(k,ρベクトル)を導入する。この誤差信号eチルダ(k,ρベクトル)を用いた評価関数J
Tdチルダ(ρベクトル)を次式(7)のように与える。
【数7】
【0020】
この評価関数JTdチルダ(ρベクトル)を最小化させる制御パラメータρベクトルが、最適パラメータρベクトルアスタリスクとなる。誤差信号eチルダ(k,ρベクトル)の計算に必要なyini(k)、Td(z)が既知の情報であり、rチルダ(k,ρベクトル)はオフラインで計算可能である。
【0021】
次に、フィードバック制御器C
e(z,ρベクトル)の最適化を考える。ここで、r=0とし、Nステップ分のデータv(k)、u(k)を取得したとする。このとき、次式(8)に示す評価関数J
Sd(ρベクトル)を最小化する最適な制御パラメータρベクトルアスタリスクを求めることがFRITの目的である。これは、パラメータρベクトルを変えることにより伝達関数S(z,ρベクトル)を感度関数規範モデルS
d(z)に一致させるモデルマッチング設計法である。
【数8】
【0022】
上述した初期の制御パラメータρ
iniベクトルにおいて、r=r
2=0、v=v
2≠0のもと、Nステップ分の入出力データu
v_ini、y
v_iniを取得する。この初期の入出力データu
v_ini、y
v_iniを用いて、次式(9)に示す擬似外乱信号vチルダ(k,ρベクトル)を計算する。また、既知である付加信号vは、低周波数帯域の外乱を想定して、低周波帯域に強調された信号とする。つまり、付加信号vに低周波帯域に強調された信号として、ステップ信号を利用すれば、調整可能である。
【数9】
【0023】
擬似外乱信号vチルダ(k,ρベクトル)は、ρベクトルの関数である。ここで、擬似外乱信号vチルダ(k,ρベクトル)に対する誤差信号e
Sチルダ(k,ρベクトル)を導入する。この誤差信号e
Sチルダ(k,ρベクトル)を用いた評価関数J
Sdチルダ(ρベクトル)を次式(10)のように与える。
【数10】
【0024】
この評価関数JSdチルダ(ρベクトル)を最小化させる制御パラメータρベクトルが、最適パラメータρベクトルアスタリスクとなる。誤差信号eSチルダ(k,ρベクトル)の計算に必要なuv_ini(k)、Sd(z)が既知の情報であり、vチルダ(k,ρベクトル)はオフラインで計算可能である。
【0025】
また、上記式(7)、式(10)にそれぞれ示した評価関数JTdチルダ(ρベクトル)、評価関数JSdチルダ(ρベクトル)を最小化させることは、上記式(5)、式(8)にそれぞれ示した本来最小化したい評価関数JTdチルダ(ρベクトル)、評価関数JSdチルダ(ρベクトル)を最小化することと漸近的に等価となる。これは、先行文献(例えば、坂田智則・金子修・藤井隆雄著,“FRITを用いた閉ループ特性と目標応答特性の向上のための二自由度制御器のパラメータ調整”,システム制御情報学会論文誌,Vol.20,No.11,p419~429,2007年)に開示されている。
【0026】
上記先行文献では、評価関数をJチルダ(ρベクトル)=JTdチルダ(ρベクトル)+JSdチルダ(ρベクトル)とし、フィードフォワード制御器Crとフィードバック制御器Ceを同時に最適化している。
【0027】
これに対し、本実施の形態では、
図1に示したモデルマッチング二自由度制御系を用いるため、上記式(3)、式(4)により、フィードフォワード制御器C
rとフィードバック制御器C
eのそれぞれを独立に設計可能である。つまり、評価関数J
Sdチルダ(ρベクトル)に対してフィードバック制御器C
e、評価関数J
Tdチルダ(ρベクトル)に対してフィードフォワード制御器C
rのように別々に設計しても、最適な制御パラメータを得ることができる。
【0028】
以下に、従来一般的な、FRITに基づく二自由度制御系の最適化のフローをまとめる。
ステップ1:目標応答伝達関数Td、感度関数規範モデルSdを決定する。
ステップ2:閉ループ系が安定となるように制御パラメータρiniベクトルを定める。
ステップ3:r=r1≠0、v=v1=0のもと、入出力データuini、yiniを取得する(一回目の実験)。
ステップ4:r=r2=0、v=v2≠0のもと、入出力データuv_ini、yv_iniを取得する(二回目の実験)。
ステップ5:評価関数JSdチルダ(ρベクトル)を最小化させる最適パラメータρベクトルアスタリスクを求め、それに基づいて最適なフィードバック制御器Ce(ρベクトルアスタリスク)に調整する。なお、本ステップでは、非線形最適化アルゴリズムを使用する。
ステップ6:評価関数JTdチルダ(ρベクトル)を最小化させる最適パラメータρベクトルアスタリスクを求め、それに基づいて最適なフィードフォワード制御器Cr(ρベクトルアスタリスク)に調整する。なお、本ステップでは、非線形最適化アルゴリズムを使用する。
【0029】
[FIRフィルタの導入と最小二乗法による求解]
本実施の形態では、
図1に示したフィードフォワード制御器C
rに、有限時間のインパルス応答を持つデジタルフィルタ、すなわちFIR(Finite Impulse Response)フィルタを適用することを考える。FIRフィルタを用いる理由としては、必ず安定であること、線形位相を持たせることができること、構造が分かりやすいこと、などが挙げられる。しかしながら、一般にFIRフィルタでは次数を高くする必要があるため、非線形最適化アルゴリズムを用いると、計算量が多くなり、時間とコストがかかるという問題がある。よって、FIRフィルタとPID(Proportional-Integral-Differential)制御器がパラメータに対して線形であることから、最小二乗法により求解できることが理想である。
【0030】
従来、フィードバック制御系、または、二自由度制御系のフィードフォワード制御器の最適化におけるFRITで最小二乗法を導入することが知られている。そこで、本実施の形態では、
図1に示した二自由度制御系1におけるフィードバック制御器C
eに対しても、最小二乗法を用いて最適化する。すなわち、本実施の形態では、上述したステップ5、6において、非線形最適化アルゴリズムの代わりに、最小二乗法を用いる。
【0031】
まず、フィードフォワード制御器C
rの最適化を考える。上記式(6)を上記式(7)へ代入し、次式(11)に示すように、誤差信号e
Mチルダ(k,ρベクトル)を定義する。
【数11】
【0032】
プレフィルタFにより、r=r
1≠0、v=v
1=0のもとに取得される入出力データu
ini、y
iniを整形し、次式(12)に示す評価関数J
TdFチルダ(ρベクトル)を考える。
【数12】
【0033】
そして、上記式(5)を、次式(13)のように書き換える。
【数13】
【0034】
また、上記式(12)を、次式(14)のように書き換える。
【数14】
【0035】
上記式(13)と上記式(14)は、次式(15)を満たすとき、等価となる。
【数15】
【0036】
フィードフォワード制御器C
rとフィードバック制御器C
eのそれぞれを別々に最適化するため、C
e(z,ρベクトル)=C
e(z,ρ
iniベクトル)と固定させる。上記式(15)を満たすプレフィルタFは、次式(16)となる。
【数16】
【0037】
フィードフォワード制御器C
r(z,ρベクトル)が、次式(17)に示すように、パラメータρベクトルに対して線形であるとする。
【数17】
【0038】
このとき、上記式(12)は、次式(18)のようになる。
【数18】
【0039】
最適パラメータρベクトルアスタリスクは、最小二乗法により、次式(19)のように求解される。
【数19】
【0040】
次に、フィードバック制御器C
eの最適化を考える。上記式(9)を上記式(10)へ代入し、次式(20)に示すように、誤差信号e
MSチルダ(k,ρベクトル)を定義する。
【数20】
【0041】
誤差信号e
MSチルダ(k,ρベクトル)に対して、新たに次式(21)に示す評価関数J
SdFチルダ(ρベクトル)を考える。
【数21】
【0042】
フィードバック制御器C
e(z,ρベクトル)が、次式(22)に示すように、パラメータρベクトルに対して線形であるとする。
【数22】
【0043】
このとき、上記式(21)は、次式(23)のようになる。
【数23】
【0044】
最適パラメータρベクトルアスタリスクは、最小二乗法により、次式(24)のように求解される。
【数24】
【0045】
また、フィードフォワード制御器C
rをFIRフィルタとする場合、上記式(17)は、次式(25)のようにすればよい。
【数25】
【0046】
[一組の入出力データによる制御器の最適化方法]
フィードフォワード制御器Crとフィードバック制御器CeのそれぞれをFRITにより最適化する際、上記式(10)、式(7)に示した評価関数を最小化するパラメータを計算する。最小二乗法を用いる場合、上記式(25)、式(19)により計算を行い、最適パラメータを求める。いずれにしても、上述したステップ3、ステップ4のように、二回の実験が必要となる。
【0047】
上記ステップ3により得られる入出力データuini、yiniは、フィードフォワード制御器Crの最適化に必要である。上記ステップ4により得られる入出力データuv_ini、yv_iniは、フィードバック制御器Ceの最適化に必要である。
【0048】
ここで、上記ステップ3は、各制御器の稼働中に実行可能であるが、上記ステップ4は、各制御器を停止させ、
図1に示した既知の外乱信号vを意図的に印加させなければならない。そのため、手間がかかる上、稼働の目的とは異なる状況が想定される。また、時間やコストの面からも、実験の回数は少ないことが望ましい。
【0049】
そこで、本実施の形態では、上記ステップ3で得られる入出力データuini、yiniのみを用いて、フィードフォワード制御器Crとフィードバック制御器Ceのそれぞれを調整する方法を提案する。
【0050】
その方法は、ERIT(Estimated Response Iterative Tuning)という応答予測手法を参考にしたものである。ERITは、二自由度制御系において、データ駆動予測というコンセプトのもと、既知であるパラメータ更新前の入出力データにより、フィードフォワード制御器を更新した際の応答予測をすることができ、実装前に、安定性や応答性を評価できるという方法である。
【0051】
このERITの考え方を基にして、本実施の形態では、r=r1≠0、v=v1=0のときに得られる入出力データuini、yiniに基づいて、r=r2=0、v=v2≠0のときに取得されるべき入出力データuv_ini、yv_iniを予測する。
【0052】
まず、r=r
2=0、v=v
2≠0のときに取得されるべき入出力データu
v_ini、y
v_iniは、それぞれ、以下の式(26)、式(27)のように表される。
【数26】
【数27】
【0053】
また、r=r
1≠0、v=v
1=0のときに得られる入出力データu
ini、y
iniは、それぞれ、以下の式(28)、式(29)のように表される。
【数28】
【数29】
【0054】
上記式(26)~式(29)までをz変換の形にし、未知である制御対象G(z)を消去すると、以下の式(30)、式(31)を得られる。
【数30】
【数31】
【0055】
このとき、一回目の実験に用いる参照信号r=r
1≠0を定値とし、さらに、二回目の実験に用いるはずの、低周波数に強調された擬似的に印加する外乱v=v
2≠0を定値とした場合、上記式(30)、式(31)は、それぞれ、以下の式(32)、式(33)となる。
【数32】
【数33】
【0056】
特に、r
1=1、v
2=1と設定すれば、上記式(16)に示したプレフィルタF(z,ρ
iniベクトル)と同じ形であるため、F(z,ρ
iniベクトル)として表すと、以下の式(34)、式(35)となる。
【数34】
【数35】
【0057】
以上のことから、上述したステップ3における一回目の実験で得られる一組の入出力データuini、yiniを用いて、オフラインにより、上述したステップ4における二回目の実験で得られる一組の入出力データuv_ini、yv_iniを計算することができる。よって、上述したステップS4における二回目の実験を省略することができる。
【0058】
すなわち、本実施の形態では、r=r1≠0、v=v1=0のときに得られる入出力データuini、yiniを基に、上記式(30)、式(31)(特に、r1=1、v2=1とする場合では、上記式(34)、式(35))を用いて、r=r2=0、v=v2≠0のときに得られる入出力データuv_ini、yv_iniを計算することができる。よって、実質的に、一回目の実験により得られる一組の入出力データuini、yiniを用いるだけで、フィードフォワード制御器Crとフィードバック制御器Ceの両方を最適に調整することができる。
【0059】
[有効性の検証]
上述した本実施の形態の方法の有効性について検証する。
【0060】
図1に示した二自由度制御系1において、r=r
1=1.0、v=v
1=0.0とした一回目の実験と、r=r
2=0.0、v=v
2=1.0とした二回目の実験とを行う。そして、実際に二回目の実験で得られた入出力データu
v_ini、y
v_iniと、実際に一回目の実験で得られた入出力データu
ini、y
iniに基づいて、上記式(34)、式(35)により算出(予測)された入出力データu
v_ini、y
v_iniと、を比較する。
【0061】
なお、制御対象G(s)は、データ駆動制御手法の検討にベンチマーク問題として扱われることの多い実プロセスシステムであり、以下の式(36)のように表されるとする。式(36)において、sはラプラス演算子を示す。
【数36】
【0062】
また、相補感度関数の規範モデルT
d(s)は、二次の二項係数標準形とし、以下の式(37)のように表されるとする。
【数37】
【0063】
また、フィードバック制御器C
e(s,ρベクトル)は、不完全微分を使用し、フィルタ時定数τ
fを0.1としたPID制御器であり、以下の式(38)のように表されるとする。
【数38】
【0064】
フィードバック制御器Cr(z,ρベクトル)は、上記式(25)に示したFIRフィルタとし、次数nを40とする。
【0065】
サンプリング時間ts=0.05[sec]として、離散系で設計する。離散化は、MathWorks社製の数値解析ソフトウェア(MATLAB:登録商標)のc2dコマンドによりゼロ次ホールドで行う。
【0066】
入出力データは、0.0~49.5[sec]まで、合計1000個の時系列データとして取得する。初期パラメータは、KP=KI=KD=1.0、ρi=(ts/n2)・(n-i)2=0.00003125(40-i)2とした。
【0067】
図2は、実際に二回目の実験で得られた入力データu
v_ini(実線A)と、実際に一回目の実験で得られた入力データu
iniに基づいて上記式(34)により算出された入力データu
v_ini(点線B)と、を示すグラフである。
図2に示すように、実線Aと点線Bとは一致している。
【0068】
図3は、実際に二回目の実験で得られた出力データy
v_ini(実線C)と、実際に一回目の実験で得られた出力データy
iniに基づいて上記式(35)により算出された出力データy
v_ini(点線D)と、を示すグラフである。
図3に示すように、実線Cと点線Dとは一致している。
【0069】
すなわち、r=r2=0.0、v=v2=1.0とした二回目の実験で実際に得られた入出力データuv_ini、yv_iniと、一回目の実験で得られた入出力データuini、yiniに基づいて上記式(34)、式(35)により算出(予測)された入出力データuv_ini、yv_iniと、は一致する、という結果を得ることができた。したがって、実験の回数を二回から一回に減らすことができる。具体的には、上述したステップ3、4のうち、ステップ4を実行する必要がなくなる。
【0070】
r
1=1.0、v
2=1.0と設定した場合、上記式(23)に示す評価関数は、次式(39)のようになる。また、r
1=1.0、v
2=1.0以外の場合(例えば、r
1=3.0、v
2=2.0と設定した場合)、定数であれば、因数(例えば、v
2/r
1=2/3)としてくくりだせるので、次式(39)をそのまま用いても漸近的に等価となる。
【数39】
【0071】
[情報処理装置の構成および動作]
本実施の形態の情報処理装置100の構成について、
図4を用いて説明する。
図4は、情報処理装置100の構成を示すブロック図である。
【0072】
図4に示す情報処理装置100は、
図1に示した二自由度制御系1と電気的に接続され、フィードフォワード制御器C
rとフィードバック制御器C
eのそれぞれを最適化する装置である。特に、情報処理装置100は、上述した[一組の入出力データによる制御器の最適化方法]を実行することを特徴とする。
【0073】
なお、
図4において、矢印は主なデータの流れを示しており、
図4に示していないデータの流れがあってもよい。また、
図4において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図4に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0074】
図4に示すように、情報処理装置100は、制御部10および記憶部20を有する。
【0075】
制御部10は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサである。制御部10は、記憶部20に記憶されたプログラムを実行することによって、後述するデータ取得部11、データ予測部12、制御器調整部13として機能する。
【0076】
記憶部20は、例えば、情報処理装置100を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)と、情報処理装置100の作業領域として用いられるRAM(Random Access Memory)と、OS(Operating System)、アプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報等を格納する大容量記憶装置と、を含む。大容量記憶装置としては、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等が挙げられる。
【0077】
なお、
図4は、情報処理装置100が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置100は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部10を構成する各部は、複数の異なるプロセッサのうちの少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0078】
データ取得部11は、一回目の実験において、
図1に示した二自由度制御系1から、r=r
1≠0、v=v
1=0のときの入出力データu
ini、y
ini(以下、第1の入出力データという)を取得する。
【0079】
すなわち、データ取得部11は、上記ステップ3を実行する。
【0080】
データ予測部12は、データ取得部11により取得された第1の入出力データに基づいて、r=r2=0、v=v2≠0のときに取得されるべき入出力データuv_ini、yv_ini(以下、第2の入出力データという)を予測する。
【0081】
すなわち、データ予測部12は、上記ステップ4で取得されるべき第2の入出力データを、第1の入出力データに基づいて予測する。なお、第2の入出力データの予測方法については、上述した[一組の入出力データによる制御器の最適化方法]で説明したとおりである。
【0082】
制御器調整部13は、データ予測部12により予測された第2の入出力データに基づいて、評価関数J
Sdチルダ(ρベクトル)(以下、第2の評価関数という)を最小化させる最適パラメータρベクトルアスタリスク(以下、第2の最適パラメータという)を算出する。そして、制御器調整部13は、第2の最適パラメータを、記憶部20に記憶させるとともに、
図1に示したフィードバック制御器C
eに出力する。これにより、フィードバック制御器C
eは、最適なフィードバック制御器C
e(ρベクトルアスタリスク)に調整される。
【0083】
また、制御器調整部13は、データ取得部11により取得された第1の入出力データに基づいて、評価関数J
Tdチルダ(ρベクトル)(以下、第1の評価関数という)を最小化させる最適パラメータρベクトルアスタリスク(以下、第1の最適パラメータという)を算出する。そして、制御器調整部13は、第1の最適パラメータを、記憶部20に記憶させるとともに、
図1に示したフィードフォワード制御器C
rに出力する。これにより、フィードフォワード制御器C
rは、最適なフィードフォワード制御器C
r(ρベクトルアスタリスク)に調整される。
【0084】
すなわち、制御器調整部13は、上記ステップ5およびステップ6を実行する。ただし、非線形最適化アルゴリズムの代わりに、最小二乗法が用いられる。なお、最小二乗法による最適化方法については、上述した[FIRフィルタの導入と最小二乗法による求解]で説明したとおりである。
【0085】
また、情報処理装置100は、上述したステップ1およびステップ2を行う。例えば、上記ステップ1、ステップ2は、制御器調整部13により行われてもよい。
【0086】
次に、情報処理装置100の動作について、
図5を用いて説明する。
図5は、情報処理装置100の動作を示すフローチャートである。
【0087】
なお、
図5のフローでは、上記ステップ1、ステップ2の図示を省略している。上記ステップ1、ステップ2は、
図5のステップS11の前に実行される。
【0088】
まず、データ取得部11は、第1の入出力データを取得する(ステップS11)。
【0089】
次に、データ予測部12は、第1の入出力データに基づいて、第2の入出力データを予測する(ステップS12)。
【0090】
次に、制御器調整部13は、第2の入出力データに基づいて、第2の評価関数を最小化させる第2の最適パラメータを算出し、フィードバック制御器を最適化する(ステップS13)。
【0091】
次に、制御器調整部13は、第1の入出力データに基づいて、第1の評価関数を最小化させる第1の最適パラメータを算出し、フィードフォワード制御器を最適化する(ステップS14)。
【0092】
以上説明したように、本実施の形態の情報処理装置100は、制御対象G(z)と、参照信号rから制御対象G(z)の出力y(ρベクトル)までの目標応答伝達関数Td(z)と、参照信号rに基づく第1操作量を出力するフィードフォワード制御器Cr(z,ρベクトル)と、目標応答伝達関数Td(z)の出力と制御対象G(z)の出力との偏差eに基づく第2操作量を出力するフィードバック制御器Ce(z,ρベクトル)と、を含み、第1操作量、第2操作量、および外乱vを含む制御入力u(ρベクトル)が制御対象G(z)に入力される制御システム(二自由度制御系1)と電気的に接続される情報処理装置である。
【0093】
そして、情報処理装置100は、参照信号rがゼロでなく、かつ、外乱vがゼロであるときの制御入力u(ρベクトル)および制御対象G(z)の出力y(ρベクトル)を、第1の入出力データuini、yiniとして取得するデータ取得部11と、第1の入出力データuini、yiniに基づいて、参照信号rがゼロであり、かつ、外乱vがゼロではないときに取得されるべき制御入力u(ρベクトル)および制御対象G(z)の出力y(ρベクトル)を、第2の入出力データuv_ini、yv_iniとして予測するデータ予測部12と、第1の入出力データuini、yiniに基づいて第1の評価関数JSdチルダ(ρベクトル)を最小化させる最適な制御パラメータρベクトルアスタリスクを算出してフィードバック制御器Ce(ρベクトルアスタリスク)を最適化するとともに、第2の入出力データuv_ini、yv_iniに基づいて第2の評価関数JTdチルダ(ρベクトル)を最小化させる最適な制御パラメータρベクトルアスタリスクを算出してフィードフォワード制御器Cr(ρベクトルアスタリスク)を最適化する制御器調整部13と、を備えることを特徴とする。
【0094】
これにより、上述したステップ3、4のうち、ステップ4を省略することができる。すなわち、本実施の形態の情報処理装置100は、二自由度制御系において、フィードフォワード制御器およびフィードバック制御器それぞれを最適化するための実験回数を削減することができる。
【0095】
なお、本開示は、上記実施の形態の説明に限定されず、その趣旨を逸脱しない範囲において種々の変形が可能である。
【0096】
例えば、実施の形態では、FRITおよびFIRを用いた場合を例に挙げて説明したが、これらに限定されない。
【産業上の利用可能性】
【0097】
本開示の情報処理装置は、二自由度制御系におけるフィードフォワード制御器およびフィードバック制御器の最適化に有用である。
【符号の説明】
【0098】
1 二自由度制御系
10 制御部
11 データ取得部
12 データ予測部
13 制御器調整部
20 記憶部
100 情報処理装置