(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-14
(45)【発行日】2022-06-22
(54)【発明の名称】指令生成装置および指令生成方法
(51)【国際特許分類】
G05B 11/36 20060101AFI20220615BHJP
【FI】
G05B11/36 505Z
(21)【出願番号】P 2017237913
(22)【出願日】2017-12-12
【審査請求日】2020-11-20
(73)【特許権者】
【識別番号】000000929
【氏名又は名称】KYB株式会社
(74)【代理人】
【識別番号】100122323
【氏名又は名称】石川 憲
(74)【代理人】
【識別番号】100067367
【氏名又は名称】天野 泉
(72)【発明者】
【氏名】中村 悠太
(72)【発明者】
【氏名】窪田 友夫
【審査官】山村 秀政
(56)【参考文献】
【文献】特開2009-192363(JP,A)
【文献】特開2017-053768(JP,A)
【文献】特開平01-109401(JP,A)
【文献】特開2006-079670(JP,A)
【文献】特開昭60-254211(JP,A)
【文献】特開2017-058273(JP,A)
【文献】特開2014-127083(JP,A)
【文献】特開2015-076024(JP,A)
【文献】特開平08-022307(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/36
(57)【特許請求の範囲】
【請求項1】
所定時間単位
で目標波形を離散化して得られた前記所定時間単位毎の目標出力
をプラントに出力させるのに適する最適指令を前記目標出力毎に求め
て、前記目標出力毎の最適指令に基づいて
前記プラントに目標波形を出力させる前記入力指令を生成する
指令生成装置であって、
前記目標出力毎に前記プラントに第一のサンプル指令および前記第一のサンプル指令とは値が異なる第二のサンプル指令を与えて、前記目標出力毎に、前記第一のサンプル指令と、前記第二のサンプル指令と、前記第一のサンプル指令と前記第二のサンプル指令との入力に対する前記プラントの出力と、前記目標出力とに基づいて、前記目標出力に対応する最適指令を求める最適指令探査部を備え、
前記最適指令探査部によって求められた最適指令に基づいて前記入力指令を生成する
ことを特徴とする指令生成装置。
【請求項2】
前記最適指令探査部は、
前記プラントの出力と前記目標出力とをパラメータとして、前記プラントの出力と前記目標出力との偏差が小さくなると値が0に近づく評価関数を用い、
前記第一のサンプル指令と、前記第二のサンプル指令と、前記第一のサンプル指令と前記第二のサンプル指令の入力に対する前記プラントの出力を入力した評価関数の値とに基づいて候補指令を求め、
前記候補指令の入力に対する前記プラントの出力を入力した評価関数の値が閾値未満となると、前記候補指令を最適指令とする
ことを特徴とする請求項
1に記載の指令生成装置。
【請求項3】
前記評価関数は、前記プラントに対する指令の入力から出力までの無駄時間を考慮した関数とされる
ことを特徴とする請求項
2に記載の指令生成装置。
【請求項4】
前記評価関数は、前記無駄時間の経過後において前記プラントに対する指令が前記プラントの出力に対する影響を考慮した関数とされる
ことを特徴とする請求項
3に記載の指令生成装置。
【請求項5】
前記最適指令探査部は、前記目標出力に対する前記第一のサンプル指令、前記第二のサンプル指令或いは前記候補指令を入力する際に、それまでに採用された最適指令が有る場合、採用済みの最適指令を入力した後に、前記第一のサンプル指令、前記第二のサンプル指令或いは前記候補指令を入力する
ことを特徴とする請求項
2から
4のいずれか一項に記載の指令生成装置。
【請求項6】
前記最適指令探査部は、前記第一のサンプル指令、前記第二のサンプル指令および前記候補指令に基づいて、前記最適指令が前記第一のサンプル指令と前記第二のサンプル指令との間の探索範囲に存在するか否かを判定し、存在しない場合には探索範囲を変更する処理を行う
ことを特徴とする請求項
2から
5のいずれか一項に記載の指令生成装置。
【請求項7】
前記最適指令探査部は、
前記第一のサンプル指令の入力に対する前記プラントの出力を入力した評価関数の値と、前記候補指令の入力に対する前記プラントの出力を入力した評価関数の値との比較結果と、前記第二のサンプル指令の入力に対する前記プラントの出力を入力した評価関数の値と、前記候補指令の入力に対する前記プラントの出力を入力した評価関数の値との比較結果とに基づいて、前記最適指令が前記第一のサンプル指令と前記第二のサンプル指令との間の探索範囲に存在するか否かを判定する
ことを特徴とする請求項6に記載の指令生成装置。
【請求項8】
前記第一のサンプル指令をX
1
、前記第二のサンプル指令をX
2
、前記第一のサンプル指令の入力に対する前記プラントの出力を入力した評価関数の値をQ(X
1
)、前記第二のサンプル指令の入力に対する前記プラントの出力を入力した評価関数の値をQ(X
2
)とすると、
前記最適指令探査部は、
前記探索範囲を変更する処理において
X軸に指令を採り、Y軸に評価関数を採ったグラフ上の座標(X
1
,Q(X
1
))と座標(X
2
,Q(X
2
))とを通る直線と前記X軸との交点の値を探索範囲指示値として、前記探索範囲指示値に基づいて新たな第一のサンプル指令と第二のサンプル指令を求める
ことを特徴とする請求項6に記載の指令生成装置。
【請求項9】
前記最適指令探査部は、
前記探索範囲を変更する処理ができない場合、前記プラントに与えることが可能な指令のうち最小値から最大値まで値の指令を段階的に変化させた指令を順番に前記プラントへ与え、前記プラントの出力が目標出力に一番近い値となる指令を最適指令として採用する
ことを特徴とする請求項
6に記載の指令生成装置。
【請求項10】
プラントに目標波形を出力させる入力指令を生成する指令生成方法であって、
所定時間単位で前記目標波形を離散化して前記所定時間単位毎の目標出力を得る離散化ステップと、
前記プラントに前記目標出力を出力させるのに適する最適指令を前記目標出力毎に求める最適指令探査ステップと、
前記目標出力毎の最適指令に基づいて前記入力指令を生成する入力指令生成ステップとを備え
、
前記最適指令探査ステップでは、前記目標出力毎に前記プラントに第一のサンプル指令および前記第一のサンプル指令とは値が異なる第二のサンプル指令を与え、前記目標出力毎に、前記第一のサンプル指令と、前記第二のサンプル指令と、前記第一のサンプル指令と前記第二のサンプル指令との入力に対する前記プラントの出力と、前記目標出力とに基づいて、前記目標出力に対応する最適指令を採用する
ことを特徴とする指令生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指令生成装置および指令生成方法に関する。
【背景技術】
【0002】
一般に、プラントに対して指令を入力して、プラントの出力を目標波形通りに制御するシステムとしては、プラントの出力を検知して、この出力をフィードバックして目標波形が指示する指示値との偏差を求め、PI補償やPID補償を行ってプラントへ与える指令を求めるものがある。このように、フィードバック制御を行うシステムとしては、たとえば、機械、機械部品や構造物といった試験体の疲労耐久性をテストするために用いられる振動試験機に利用される油圧アクチュエータを制御するシステムがある。
【0003】
このような振動試験機では、たとえば、試験体に対して油圧アクチュエータで正弦波振動を与える等して振動試験が行われる。油圧アクチュエータは、内部にピストンで区画される伸側室と圧側室とを有するシリンダと、ピストンに連結されてシリンダ内に挿入されてシリンダに対して軸方向に移動可能なロッドと、伸側室と圧側室を油圧源とタンクとに連通可能なサーボ弁とを備えている。このような、油圧アクチュエータをプラントとして制御する制御装置は、油圧アクチュエータの変位、速度或いは加速度をフィードバックするフィードバック制御を行って、サーボ弁を駆動して油圧アクチュエータのストロークと推力を制御する(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のシステムでは、フィードバック制御を行っているので、ある程度はプラントの出力が目標波形が指示する指示値に近づくが、プラントの応答遅れやプラントの非線形な特性によって、プラント出力が目標波形通りにならず、プラントに理想的な動作をさせ得ない。
【0006】
そこで、本発明の目的は、プラントの出力を目標波形に精度よく一致させてプラントを理想的に動作させ得る入力指令を生成できる指令生成装置および指令生成方法の提供である。
【課題を解決するための手段】
【0007】
上記した目的を達成するため、本発明の指令生成装置は、所定時間単位でプラントに出力させたい目標波形を離散化して得られた所定時間単位毎の目標出力をプラントに出力させるのに適する最適指令を目標出力毎に求め、目標出力毎の最適指令に基づいて入力指令を生成する。このように構成された指令生成装置では、プラントに応答遅れや非線形な特性があっても、目標波形を離散化して得られた目標出力毎にプラントが目標出力を出力するのに最適な最適指令を求める。
【0008】
また、指令生成装置は、目標出力毎にプラントに第一のサンプル指令および第一のサンプル指令とは値が異なる第二のサンプル指令を与えて、目標出力毎に、第一のサンプル指令と、第二のサンプル指令と、第一のサンプル指令と第二のサンプル指令との入力に対するプラントの出力と、目標出力とに基づいて、目標出力に対応する最適指令を求める最適指令探査部を備え、最適指令探査部が求めた最適指令に基づいて入力指令を生成してもよい。このように構成された指令生成装置では、第一のサンプル指令および第二のサンプル指令をプラントに与えて最適指令を求めるので、プラントの特性によらず最適指令を迅速に求め得る。
【0009】
さらに、指令生成装置は、プラントの出力と、目標出力とをパラメータとして、プラントの出力と目標出力との偏差が小さくなると値が0に近づく評価関数を用い、記第一のサンプル指令と、第二のサンプル指令と、第一サンプル指令と第二のサンプル指令の入力に対するプラントの出力を入力した評価関数の値に基づいて候補指令を求め、候補指令の入力に対するプラントの出力を入力した評価関数の値が閾値未満となると候補指令を最適指令としてもよい。このように構成された指令生成装置は、プラント特性によらずより一層迅速に最適指令を求めうる。
【0010】
また、評価関数がプラントに対する指令の入力から出力までの無駄時間を考慮した関数として定義されていてもよい。このように構成された指令生成装置は、プラントの出力を目標波形に高精度に一致させてプラントを理想的に動作させ得る入力指令を生成できる。
【0011】
さらに、評価関数が無駄時間経過後においてプラントに対する指令がプラントの出力に対する影響を考慮した関数として定義されてもよい。このように構成された指令生成装置は、プラントの出力を目標波形に高精度に一致させてプラントを理想的に動作させ得る入力指令を生成できる。
【0012】
また、指令生成装置は、目標出力に対する第一のサンプル指令、第二のサンプル指令或いは候補指令を入力する際に、それまでに採用された最適指令が有る場合、採用済みの最適指令を入力した後に、第一のサンプル指令、第二のサンプル指令或いは候補指令を入力してもよい。このように構成された指令生成装置は、或る目標出力に対する最適指令を求める際に、それまでに採用済みの最適指令が入力されるので、プラントの動的な特性の考慮した最適指令を求め得る。よって、指令生成装置は、プラントの出力を目標波形に高精度に一致させてプラントを理想的に動作させ得る入力指令を生成できる。
【0013】
そして、指令生成装置は、第一のサンプル指令、第二のサンプル指令および候補指令に基づいて、最適指令が第一のサンプル指令と第二のサンプル指令との間の探索範囲に存在するか否かを判定し、存在しない場合には探索範囲を変更する処理を行うようになっていてもよい。このように構成された指令生成装置は、最適指令が存在しうる探索範囲をいち早く探し当てて、最適指令を迅速に求め得る。また、指令生成装置は、第一のサンプル指令の入力に対するプラントの出力を入力した評価関数の値と、候補指令の入力に対するプラントの出力を入力した評価関数の値との比較結果と、第二のサンプル指令の入力に対するプラントの出力を入力した評価関数の値と、候補指令の入力に対するプラントの出力を入力した評価関数の値との比較結果とに基づいて、最適指令が第一のサンプル指令と第二のサンプル指令との間の探索範囲に存在するか否かを判定してもよい。さらに、第一のサンプル指令をX
1
、第二のサンプル指令をX
2
、第一のサンプル指令の入力に対するプラントの出力を入力した評価関数の値をQ(X
1
)、第二のサンプル指令の入力に対するプラントの出力を入力した評価関数の値をQ(X
2
)とすると、指令生成装置は、探索範囲を変更する処理において、X軸に指令を採り、Y軸に評価関数を採ったグラフ上の座標(X
1
,Q(X
1
))と座標(X
2
,Q(X
2
))とを通る直線と前記X軸との交点の値を探索範囲指示値として、探索範囲指示値に基づいて新たな第一のサンプル指令と第二のサンプル指令を求めてもよい。
【0014】
また、指令生成装置は、探索範囲を変更する処理ができない場合、プラントに与えることが可能な指令のうち最小値から最大値まで値の指令を段階的に変化させた指令を順番にプラントへ与え、プラントの出力が目標出力に一番近い値となる指令を最適指令として採用してもよい。このように構成された指令生成装置では、プラントに入力可能な指令のうちプラントに目標出力を出力させるのに最適な指令が得られる。
【0015】
さらに、本発明の指令生成方法は、所定時間単位で目標波形を離散化して所定時間単位毎の目標出力を得る離散化ステップと、プラントに目標出力を出力させるのに適する最適指令を目標出力毎に求める最適指令探査ステップと、目標出力毎の最適指令に基づいて入力指令を生成する入力指令生成ステップとを備えている。このように構成された指令生成方法では、プラントに応答遅れや非線形な特性があっても、目標波形を離散化して得られた目標出力毎にプラントが目標出力を出力するのに最適な最適指令を求める。
【0016】
また、指令生成方法は、最適指令探査ステップにおいて、目標出力毎にプラントに第一のサンプル指令および第一のサンプル指令とは値が異なる第二のサンプル指令を与え、目標出力毎に、第一のサンプル指令と、第二のサンプル指令と、第一のサンプル指令と第二のサンプル指令との入力に対するプラントの出力と、目標出力とに基づいて、目標出力に対応する最適指令を採用してもよい。このように構成された指令生成方法は、第一のサンプル指令および第二のサンプル指令をプラントに与えて最適指令を求めるので、プラントの特性によらず最適指令を迅速に求め得る。
【発明の効果】
【0018】
本発明の指令生成装置によれば、プラントの出力を目標波形に精度よく一致させてプラントを理想的に動作させ得る入力指令を生成できる。
【図面の簡単な説明】
【0019】
【
図1】一実施の形態における指令生成装置のシステム構成図である。
【
図3】目標波形を離散化した目標出力のグラフである。
【
図5】評価関数と候補指令との関係を説明する図である。
【
図6】最適指令と探索範囲との関係を説明する図である。
【
図7】一実施の形態における指令生成装置の処理手順の一例を示したフローチャートである。
【発明を実施するための形態】
【0020】
以下、図に示した実施の形態に基づき、本発明を説明する。
図1に示すように、一実施の形態における指令生成装置1の説明に当たり、プラントを振動試験機における流体圧アクチュエータAとして、流体圧アクチュエータAに目標となる波形(目標波形)を出力させるための入力指令を生成する場合を例に指令生成装置1について説明する。
【0021】
本実施の形態の指令生成装置1は、所定の時間単位で目標波形を離散化して得られた所定時間単位毎の目標出力を流体圧アクチュエータAに出力させるのに適する最適指令を目標出力毎に求め、目標出力毎の最適指令に基づいて入力指令を生成するようになっている。
【0022】
より具体的には、本実施の形態の指令生成装置1は、目標出力毎に流体圧アクチュエータAに第一のサンプル指令、第二のサンプル指令および候補指令を与え最適指令を選択する最適指令探査部2と、第一および第二のサンプル指令および候補指令の入力に対する流体圧アクチュエータAの出力であるストローク変位を検知する検知部としてのストロークセンサ3と、目標出力毎に選択された最適指令に基づいて入力指令を生成する入力指令生成部4とを備えて構成されている。また、本実施の形態の指令生成装置1は、流体圧アクチュエータAを制御する制御装置としても機能する。
【0023】
他方、指令生成装置1によって制御される流体圧アクチュエータAは、
図1に示すように、シリンダ11と、シリンダ11内に移動自在に挿入されるとともにシリンダ11内を伸側室R1と圧側室R2とに区画するピストン12と、シリンダ11内に移動自在に挿入されるとともにピストン12に連結されるピストンロッド13と、ポンプ14と、タンク15と、伸側室R1と圧側室R2をポンプ14とタンク15に連通して伸側室R1と圧側室R2の差圧を制御するサーボ弁16とを備えている。また、本実施の形態では、伸側室R1と圧側室R2およびタンク15には、本例では、作動流体として作動油が充填されている。よって、流体圧アクチュエータAは、本実施の形態では、直動型の油圧シリンダとして構成されている。
【0024】
サーボ弁16は、伸側室R1をポンプ14へ連通するとともに圧側室R2をタンク15へ連通する伸側供給ポジションと、伸側室R1をタンク15へ連通するとともに圧側室R2をポンプ14へ連通する圧側供給ポジションと、伸側室R1と圧側室R2をポンプ14とタンク15の双方へ連通する中立ポジションとを備えソレノイドで切換駆動する電磁弁とされている。そして、サーボ弁16は、指令生成装置1から入力される第一および第二のサンプル指令、候補指令或いは入力指令に応じて前述の各ポジションに切換わる。
【0025】
ポンプ14は、本例では、指令生成装置1によって、一定回転数で駆動されており、サーボ弁16による伸側室R1と圧側室R2のポンプ14とタンク15への連通状態が指令生成装置1によって制御され、伸側室R1と圧側室R2の差圧が制御される。このように指令生成装置1は、本実施の形態では、サーボ弁16のソレノイドに供給する電流量を調節して流体圧アクチュエータAのストローク量を制御する。なお、指令生成装置1は、本実施の形態では、ポンプ14を一定回転数で駆動する制御を行うため、前述の構成の他に、ポンプ制御部5を備えている。
【0026】
つづいて、検知部としてのストロークセンサ3は、本実施の形態では流体圧アクチュエータAに内蔵されている。なお、ストロークセンサ3には、磁歪式等、種々のストロークセンサを利用できる。ストロークセンサ3は、検知した流体圧アクチュエータAのストローク変位Yを最適指令探査部2へ入力する。
【0027】
最適指令探査部2は、所定時間単位で目標波形を離散化して得られた所定時間単位毎の目標出力を流体圧アクチュエータAに出力させるのに適する最適指令を得るために、前記目標出力毎に流体圧アクチュエータAへ第一および第二のサンプル指令、候補指令を入力する。最適指令探査部2
が流体圧アクチュエータAに入力する第一および第二のサンプル指令、候補指令は、流体圧アクチュエータAにある変位ストロークをするように指示する指令である。ここで、振動試験機で試験体に周波数1Hzの正弦波振動を負荷するケースを考えると、指令生成装置1は、流体圧アクチュエータAに正弦波の波形の変位ストロークを出力させる必要がある。よって、この場合、目標波形は、
図2に示すように、正弦波の波形となる。この目標波形を任意の所定時間単位で離散化すると、
図3に示すように、周波数が1Hzであるため1秒間の目標波形が所定時間単位で分割され、所定時間単位毎の目標波形が指示する指示値でなる不連続な指令群が得られる。この所定時間単位毎に得られた各指示値は、所定時間単位毎の流体圧アクチュエータAが出力すべき目標出力を示している。よって、目標波形を離散化して目標出力を得るには、所定時間間隔で目標波形が指示する値を収集する処理(離散化ステップ)を行えばよい。所定時間単位は、本例では、0.05秒としており、1秒間分の指示値の集合である目標波形は所定時間単位で離散化されて20個の目標出力に分割される。なお、所定時間単位は、たとえば、流体圧アクチュエータAの制御周期に一致するようにすればよいが、これに限られず、制御に適するように設定されればよい。
【0028】
そして、最適指令探査部2は、所定時間単位で目標波形を時間的に離散化して得られた所定時間単位毎の目標出力が指示する変位ストロークをプラントである流体圧アクチュエータAが出力できる指令を探索するために、第一および第二のサンプル指令をプラントに入力する。
【0029】
このように、目標波形を時間的に離散化して目標出力を得てインパルス信号でなる第一および第二のサンプル指令を流体圧アクチュエータAに入力し、流体圧アクチュエータAの出力が目標出力となるような指令を求めれば、その指令が流体圧アクチュエータAが目標出力を出力するのに最適な最適指令となる。
【0030】
そこで、最適指令探査部2は、流体圧アクチュエータAに第一および第二のサンプル指令を入力した際の流体圧アクチュエータAの出力である変位ストロークYを監視し、候補指令を求めて、候補指令が流体圧アクチュエータAが目標出力を出力するのに適していればこの候補指令を最適指令として採用する。最適指令探査部2は、具体的には、たとえば、前述のように1秒間の目標波形を離散化して20個の目標出力が得られる場合、1番目の目標出力に対応した最適指令を得るため、1番目の目標出力の最適指令を探索するための第一および第二のサンプル指令を入力する。最適指令探査部2は、1番目の目標出力の最適指令を探索するために流体圧アクチュエータAに入力した第一および第二のサンプル指令から候補指令を求める。最適指令探査部2は、2番目の目標出力の最適指令を探索するための候補指令を入力する場合、既に1番目の目標出力に対する最適指令が得られているので、まず、最適指令を入力し、つづいて前記所定時間の経過後につづいて2番目の目標出力の最適指令を探索するための候補指令を入力する。そして、最適指令探査部2は、流体圧アクチュエータAに候補指令を入力して候補指令が流体圧アクチュエータAが目標出力を出力するのに適しているか判定して、適していれば、この候補指令を最適指令として採用する。
【0031】
最適指令探査部2は、1番目の目標出力を出力するのに適する最適指令を採用すると、2番目の目標出力に対応した最適指令を得るため、2番目の目標出力の最適指令を探索するための第一および第二のサンプル指令を入力する。最適指令探査部2は、2番目の目標出力の最適指令を探索するための第一および第二のサンプル指令を入力する場合、既に1番目の目標出力に対する最適指令が得られているので、まず、最適指令を入力し、つづいて前記所定時間の経過後につづいて2番目の目標出力の最適指令を探索するための第一および第二のサンプル指令を入力する。
【0032】
最適指令探査部2は、2番目の目標出力の最適指令を探索するために流体圧アクチュエータAに入力した第一および第二のサンプル指令から流体圧アクチュエータAが2番目の目標出力を出力するのに適する候補指令を求める。最適指令探査部2は、2番目の目標出力の最適指令を探索するための候補指令を入力する場合、既に1番目の目標出力に対する最適指令が得られているので、まず、最適指令を入力し、つづいて前記所定時間の経過後につづいて2番目の目標出力の最適指令を探索するための候補指令を入力する。そして、最適指令探査部2は、候補指令が流体圧アクチュエータAが目標出力を出力するのに適するかどうか判断し、候補指令が流体圧アクチュエータAが目標出力を出力するのに適していれば、この候補指令を2番目の目標出力の最適指令として採用する。
【0033】
なお、最適指令探査部2は、n番目(nは2以上の正の整数)の目標出力に対応した最適指令を得るため第一および第二のサンプル指令或いは候補指令を入力する場合、n-1番目までの目標出力の最適指令を順番に所定時間毎に入力して、この入力が済んで所定時間の経過後に第一および第二のサンプル指令或いは候補指令を入力する。つまり、最適指令探査部2が第一および第二のサンプル指令或いは候補指令を流体圧アクチュエータAに入力する際、最適指令探査部2がそれまでに採用済みの最適指令が有る場合、最適指令を入力した後に第一および第二のサンプル指令或いは候補指令を流体圧アクチュエータAに入力する。以降、前記手順を繰り返して、順次、第一および第二のサンプル指令或いは候補指令の入力と最適指令の採用を繰り返し、離散化して得られた目標出力の個数分の最適指令が得られると、入力指令生成部4は、これらの最適指令の値を得られた順番に並べて得た一纏めのデータセットを入力指令とする。
【0034】
このように、最適指令探査部2が採用済みの最適指令が有る場合、最適指令を入力した後に第一および第二のサンプル指令或いは候補指令を流体圧アクチュエータAに入力すると、第一および第二のサンプル指令或いは候補指令の入力前までに入力された最適指令の影響をも加味して最適指令を求め得る。
【0035】
つづいて、より詳細に最適指令探査部2について説明する。最適指令探査部2は、最適指令を求めるにあたって第一および第二のサンプル指令を最適化する処理である指令最適化処理を実行して、自身が流体圧アクチュエータAに入力する第一および第二のサンプル指令或いは候補指令に基づいて採用すべき最適指令が含まれる範囲を探索する。つまり、最適指令探査部2は、第一および第二のサンプル指令或いは候補指令を入力して、第一および第二のサンプル指令或いは候補指令が最適指令の採用に最適となるように最適化する処理を行う。
【0036】
最適指令探査部2は、一の目標出力に対応する最適指令を得るために、最初に、値が異なる二つの第一および第二のサンプル指令X1,X2(ただし、X2>X1)を求める。第一のサンプル指令X1は、目標出力が指示する値よりも小さな値の出力を流体圧アクチュエータAが出力すると考えられる値の指令とされる。第二のサンプル指令X2は、目標出力が指示する値よりも大きな値の出力を流体圧アクチュエータAが出力すると考えられる値の指令とされる。予め、最適指令探査部2に指令の値と流体圧アクチュエータAの出力との関係を把握させておけば、最適指令探査部2は、目標出力に対して大小二つの第一および第二のサンプル指令X1,X2を容易に求められる。
【0037】
最適指令探査部2は、最初に入力した二つの値の異なる第一および第二のサンプル指令X1,X2に対して流体圧アクチュエータAが駆動した際の出力である変位ストロークY1,Y2に基づいて、第一のサンプル指令X1と第二のサンプル指令X2の間の範囲に最適指令が存在するか否かを判定する。
【0038】
最適指令探査部2は、目標出力をUとして、前記判定に際してサンプル指令Xの入力に対する出力(変位ストローク)Yと目標出力Uとをパラメータとした評価関数Q(X)を用いる。評価関数Q(X)は、指令Xを流体圧アクチュエータAに入力した際の、流体圧アクチュエータAの出力Yと目標出力Uとの一致度を評価する関数である。評価関数Q(X)は、流体圧アクチュエータAの出力Yと目標出力Uとの一致度が高くなる程、0に近づく値を採る関数としている。よって、評価関数Q(X)は、或る値のサンプル指令に対して最小値を採る。他方、サンプル指令の値が最小値を採るサンプル指令の値から遠ざかれば遠ざかるほど、評価関数Q(X)は、大きな値を採るようになる。なお、出力(変位ストローク)Yは、サンプル指令Xの入力に対する流体圧アクチュエータAの出力であるので、サンプル指令Xから出力Yまでの伝達関数で表現できるから評価関数Q(X)はサンプル指令Xをパラメータとした関数で表現できる。よって、評価関数Q(X)をサンプル指令Xの入力から流体圧アクチュエータAの出力Yまでの伝達関数を組み込んで表現して、出力Yの代わりに入力Xを評価関数Q(X)のパラメータとしてもよい。しかし、実際のプラントである流体圧アクチュエータAが非線形な特性を有しているので、伝達関数を条件に合わせていくつも用意して、都度、どの伝達関数を利用するかを判断しなくてはならない。そこで、本実施の形態では、検知部としてのストロークセンサ3で出力(変位ストローク)Yを検知して評価関数Q(X)に入力しており、複数の伝達関数を利用せずとも簡易な演算で評価関数Q(X)の演算を実行できるようになっている。
【0039】
最適指令探査部2は、第一および第二のサンプル指令X1,X2に対応する評価関数Q(X)の値Q(X1),Q(X2)を求めて、第一および第二のサンプル指令X1,X2間の範囲に出力Yと目標出力Uとの一致度が高い未知の指令が存在するかを判定する。なお、値Q(X1),Q(X2)は、第一および第二のサンプル指令X1,X2対応する評価関数Q(X)の値であることを示しており、以下も同様に扱う。
【0040】
評価関数Q(X)は、基本的には、
図4に示すように、サンプル指令Xの入力に対する流体圧アクチュエータAの出力Yと目標出力Uとの偏差が小さくなると値が0に近づく評価関数となっている。よって、最適指令探査部2は、前記評価関数の値が閾値以下となるサンプル指令を最適指令として採用する。そこで、評価関数Q(X)が或る指令X
atで最小値を取り、指令X
atが最適指令である場合を考える。第一のサンプル指令X
1が指令X
atより小さく、第二のサンプル指令X
2が指令X
atより大きい場合、
図4に示すように、第一および第二のサンプル指令X
1,X
2間に最適指令が存在する。よって、第一および第二のサンプル指令X
1,X
2間の範囲で最適指令を探せばよい。
【0041】
他方、第一のサンプル指令X
1および第二のサンプル指令X
2より指令X
atが小さい場合には、最適指令は、第一のサンプル指令X
1および第二のサンプル指令X
2の間の範囲よりも
図4において左側へずれた範囲に存在する筈である。また、第一のサンプル指令X
1および第二のサンプル指令X
2より指令X
atが大きい場合には、最適指令は、第一のサンプル指令X
1および第二のサンプル指令X
2の間の範囲よりも
図4において右側にずれた範囲に存在する筈である。よって、このような場合には、最適指令が存在すると思しき範囲を設定しなおして、その範囲で再度最適指令を探せばよい。このように、本実施の形態の指令生成装置1は、最適指令を求めるための探索範囲の上限と下限を画する値として第一および第二のサンプル指令X
1,X
2を利用して最適指令を求める。
【0042】
具体的には、最適指令探査部2は、第一および第二のサンプル指令X
1,X
2の値と値Q(X
1),Q(X
2)とに基づいて、第一および第二のサンプル指令X
1,X
2間の範囲内の或る値の候補指令X
3を求め、この候補指令X
3を流体圧アクチュエータAへ入力して、値Q(X
3)を得る。そして、最適指令探査部2は、この値Q(X
3)と閾値δとを比較する。具体的には、最適指令探査部2は、X
3をX
3=Q(X
1)/{Q(X
1)+Q(X
2)}×(X
2-X
1)+X
1を演算して求める。このように、X
3を求めると、
図5に示すように、評価関数Q(X)がサンプル指令X
1,X
2間の探索範囲内で下に凸の放物線を描くと仮定すると、候補指令X
3は、第一および第二のサンプル指令X
1,X
2間であって(X
1<X
3<X
2)、評価関数Q(X)の値を最小値或いは最小値近傍の値とする指令であると予想される。
【0043】
そして、最適指令探査部2は、この比較の結果、候補指令X3における評価関数の値Q(X3)が閾値δより小さい場合、つまり、Q(X3)<δの場合、候補指令X3の入力に対する流体圧アクチュエータAの出力Y3と目標出力Uと偏差が十分に小さくなる。なお、閾値δは、任意に設定できるが、前記比較において、候補指令X3の入力に対する流体圧アクチュエータAの出力Y3と目標出力Uと偏差が十分に小さくなると判断できる数値に設定される。
【0044】
このように、第一および第二のサンプル指令X1,X2で画定された探索範囲で評価関数Q(X3)が非常に小さい値となると、候補指令X3の入力に対する流体圧アクチュエータAの出力Y3と目標出力Uと偏差が十分に小さくなることから、候補指令X3は、最適指令として採用するに足る候補指令である。よって、この場合、最適指令探査部2は、候補指令X3を最適指令として採用する。
【0045】
他方、この候補指令X3における評価関数の値Q(X3)が閾値δ以上の場合、つまり、Q(X3)≧δの場合、候補指令X3の入力に対する流体圧アクチュエータAの出力Y3と目標出力Uと偏差が大きく、候補指令X3は最適指令として適さない。よって、この場合、最適指令探査部2は、候補指令X3を最適指令として採用せず、最適指令探査部2は、第一および第二のサンプル指令X1,X2の値と値Q(X1),Q(X2)とに基づいて、最適指令となる指令Xatが存在すると思しき探索範囲を以下のように設定する。
【0046】
まず、Q(X1)≧Q(X3)、且つ、Q(X2)≧Q(X3)の場合(ケース1)、第一および第二のサンプル指令X1,X2で画定した探索範囲内において評価関数Q(X)が最小値を採るので、この探索範囲内に最適指令となる指令Xatが存在する。よって、この場合、探索範囲内に最適指令となる指令Xatが存在するが、前回求めた候補指令X3は、最適指令でなかったケースである。
【0047】
このケース1では、以下の三つの場合に分けて、新たに値の異なる二つのサンプル指令X1’,X2’(ただし、X2’>X1’)を求めて探索範囲を再設定して、再度、評価関数Q(X)の値が最小値或いは最小値近傍の値となると予想される候補指令X3’を求める。
【0048】
ケース1であって、Q(X1)=Q(X2)である場合、第一および第二のサンプル指令X1’,X2’を、それぞれ、X1’=X3-η×(X3-X1)、X2’=X3+η×(X2-X3)を演算して求める。ただし、ηは、0<η<1を満たす任意の値である。よって、ケース1であって、Q(X1)=Q(X2)である場合、X1’>X1、X2>X2’を満たすように第一および第二のサンプル指令X1’,X2’が決定されるので、第一および第二のサンプル指令X1,X2で画定される探索範囲をより狭めた探索範囲で最適指令となる指令Xatを探索する。最適指令探査部2は、このように、第一および第二のサンプル指令X1’,X2’を求めると、第一および第二のサンプル指令X1’,X2’間の探索範囲内で候補指令X3’を求める。具体的には、最適指令探査部2は、X3’をX3’=Q(X1’)/{Q(X1’)+Q(X2’)}×(X2’-X1’)+X1’を演算して求める。このように、X3’を求めると、評価関数Q(X)が第一および第二のサンプル指令X1’,X2’間の探索範囲内で下に凸の放物線を描くと仮定すると、候補指令X3’は、第一および第二のサンプル指令X1’,X2’間であって、評価関数Q(X)の値を最小値或いは最小値近傍の値とすると予想される。次に、最適指令探査部2は、候補指令X3’を流体圧アクチュエータAへ入力して、値Q(X3’)を得る。そして、最適指令探査部2は、この値Q(X3’)と閾値δとを比較する。最適指令探査部2は、この比較の結果、Q(X3’)<δである場合、候補指令X3’を最適指令として採用する。
【0049】
ケース1であって、Q(X1)>Q(X2)である場合、最適指令となる指令Xatは、第一および第二のサンプル指令X1,X2で画定される探索範囲の中央よりも第二のサンプル指令X2側に偏った範囲に存在すると予想される。そこで、この場合、最適指令探査部2は、第一および第二のサンプル指令X1’,X2’を、それぞれ、X1’=X3-η×(X2-X3)、X2’=X3+η×(X2-X3)を演算して求める。ただし、ηは、0<η<1を満たす任意の値である。よって、ケース1であって、Q(X1)>Q(X2)である場合、最適指令探査部2は、X3を中心として両側にそれぞれη×(X2-X3)の幅を持つ探索範囲で最適指令となる指令Xatを探索する。最適指令探査部2は、このように、第一および第二のサンプル指令X1’,X2’を求めると、第一および第二のサンプル指令X1’,X2’間の探索範囲内で候補指令X3’を求める。具体的には、最適指令探査部2は、X3’をX3’=Q(X1’)/{Q(X1’)+Q(X2’)}×(X2’-X1’)+X1’を演算して求める。このように、X3’を求めると、X3’は、評価関数Q(X)が第一および第二のサンプル指令X1’,X2’間の探索範囲内で下に凸の放物線を描くと仮定すると、第一および第二のサンプル指令X1’,X2’間であって、評価関数Q(X)の値を最小値或いは最小値近傍の値とすると予想される。次に、最適指令探査部2は、候補指令X3’を流体圧アクチュエータAへ入力して、値Q(X3’)を得る。そして、最適指令探査部2は、この値Q(X3’)と閾値δとを比較する。最適指令探査部2は、この比較の結果、Q(X3’)<δである場合、候補指令X3’を最適指令として採用する。
【0050】
ケース1であって、Q(X1)<Q(X2)である場合、最適指令となる指令Xatは、サンプル指令X1,X2で画定される探索範囲の中央よりも第一のサンプル指令X1側に偏った範囲に存在すると予想される。そこで、この場合、最適指令探査部2は、サンプル指令X1’,X2’を、それぞれ、X1’=X3-η×(X3-X1)、X2’=X3+η×(X3-X1)を演算して求める。ただし、ηは、0<η<1を満たす任意の値である。よって、ケース1であって、Q(X1)<Q(X2)である場合、最適指令探査部2は、X3を中心として両側にそれぞれη×(X3-X1)の幅を持つ探索範囲で最適指令となる指令Xatを探索する。最適指令探査部2は、このように、第一および第二のサンプル指令X1’,X2’を求めると、第一および第二のサンプル指令X1’,X2’間の探索範囲内で候補指令X3’を求める。具体的には、最適指令探査部2は、X3’をX3’=Q(X1’)/{Q(X1’)+Q(X2’)}×(X2’-X1’)+X1’を演算して求める。このように、X3’を求めると、評価関数Q(X)が第一および第二のサンプル指令X1’,X2’間の探索範囲内で下に凸の放物線を描くと仮定すると、候補指令X3’は、第一および第二のサンプル指令X1’,X2’間であって、評価関数Q(X)の値を最小値或いは最小基近傍の値とすると予想される。次に、最適指令探査部2は、候補指令X3’を流体圧アクチュエータAへ入力して、値Q(X3’)を得る。そして、最適指令探査部2は、この値Q(X3’)と閾値δとを比較する。最適指令探査部2は、この比較の結果、Q(X3’)<δである場合、候補指令X3’を最適指令として採用する。
【0051】
他方、前記ケース1における前記三つの場合のいずれにおいても、Q(X3’)≧δである場合、最適指令探査部2は、候補指令X3’が最適指令として適さないと判定する。よって、この場合、最適指令探査部2は、候補指令X3’を最適指令として採用せず、最適指令探査部2は、Q(X1’)≧Q(X3’)、且つ、Q(X2’)≧Q(X3’)を満たすかどうか判定する。つまり、第一および第二のサンプル指令X1’,X2’および候補指令X3’に対する評価関数Q(X)の値Q(X1’),Q(X2’),Q(X3’)が前述のケース1の条件に合致しているかどうか判断する。その結果、前述の値Q(X1’),Q(X2’),Q(X3’)がケース1の条件に合致している場合、前述のケース1における三つの場合分けに従い、第一および第二のサンプル指令X1’,X2’および候補指令X3’に基づいて前述の演算により再度探索範囲を画定する第一および第二のサンプル指令X1”,X2”を設定する。そして、最適指令探査部2は、求めた第一および第二のサンプル指令X1”,X2”から候補指令X3”を求め、閾値δと比較して値Q(X3”)が閾値δ未満となるか判断する。
【0052】
このように、最適指令探査部2が同様の処理を繰り返しても評価関数Q(X)の値が閾値δ未満にならず、前回求めた値Q(X3)と今回求めたQ(X3)の差が閾値δ未満である場合には、最適指令探査部2は、最後に求めた候補指令X3を最適指令として採用する。このように、本実施の形態では、最適指令探査部2は、前回求めた値Q(X3)と今回求めたQ(X3)の差が閾値δ未満であるという条件が成就すると、ケース1の処理を終了して最適指令を採用するようにしている。これに代えて、最適指令探査部2は、ケース1の処理を所定回数繰り返して実行しても評価関数Q(X)の値が閾値δ未満にならない場合、それまで求めた候補指令X3のうち最小値を最適指令として採用するようにしてもよい。所定回数は、任意に設定できる。
【0053】
つづいて、候補指令X3における評価関数の値Q(X3)が閾値δ以上の場合、つまり、Q(X3)≧δの場合であって、Q(X1)<Q(X3)であるか、または、Q(X2)<Q(X3)である場合(ケース2)、第一および第二のサンプル指令X1,X2で画定した探索範囲内において評価関数Q(X)が最小値を採る指令が存在しない。
【0054】
このケース2では、Xat<X1となるか、Xat>X2となると考えら得るので、新たに値の異なる第一および第二のサンプル指令X1’,X2’(ただし、X2’>X1’)を求めて探索範囲を再設定して、再度、評価関数Q(X)の値が最小値或いは最小値近傍の値となると予想される候補指令X3’を求める。
【0055】
具体的には、最適指令が存在する探索範囲を特定するために、探索範囲指示値X
REFを求める。探索範囲指示値X
REFは、X軸に指令を採り、Y軸に評価関数Q(X)を採ると、評価関数Q(X)上の座標(X
1,Q(X
1))と、座標(X
2,Q(X
2))を結ぶ直線とX軸の交点のX座標とする。最適指令となる指令X
atが前回の探索範囲よりも左側に存在する場合、前述のように探索範囲指示値X
REFを求めると、この探索範囲指示値の周辺に最適指令が存在する可能性が高い。
図6に示すように、たとえば、Q(X
1)<Q(X
3)<Q(X
2)である場合、前述の直線(
図6中)とX軸の交点を探索範囲指示値X
REFとすると、評価関数Q(X)が最小値となるのは探索範囲指示値X
REFの周辺である可能性が高い。
【0056】
そこで、最適指令探査部2は、ケース2では、まず、XREF={Q(X2)×X1-Q(X1)×X2}/{Q(X1)-Q(X2)+α}の演算を行って、探索範囲指示値XREFを求める。なお、αは、α≪1を満たす非常に小さな値であり、探索範囲指示値XREFの演算に当たって、Q(X1)-Q(X2)が0となっても割算を実行できるようにしているが、不要であればαの項は廃止してもよい。
【0057】
そして、最適指令探査部2は、このようにして求めた探索範囲指示値XREFを用いて、以下の三つの場合に分けて新たな第一および第二のサンプル指令X1’,X2’を求める。まず、XREF>X2の場合、最適指令探査部2は、X1’をX3とし、X2’=2×XREF-X3を演算して、それぞれ、第一および第二のサンプル指令X1’,X2’を求める。この場合、サンプル指令をX軸に採り評価関数をY軸に採る場合、元の第一および第二のサンプル指令X1,X2の探索範囲からX軸上で値を大きくする方向へシフトした範囲に最適指令が存在すると考えられる。よって、前記演算によって求められた新たな第一および第二のサンプル指令X1’,X2’の探索範囲は、元の第一および第二のサンプル指令X1,X2の探索範囲に対してX軸上で右側へシフトされる。そして、新たな第一および第二のサンプル指令X1’,X2’が求められると、第一および第二のサンプル指令X1’,X2’間の探索範囲内で候補指令X3’を求める。具体的には、最適指令探査部2は、X3’をX3’=Q(X1’)/{Q(X1’)+Q(X2’)}×(X2’-X1’)+X1’を演算して求める。このように、X3’を求めると、X3’は、評価関数Q(X)が第一および第二のサンプル指令X1’,X2’間の探索範囲内で下に凸の放物線を描くと仮定すると、第一および第二のサンプル指令X1’,X2’間であって、評価関数Q(X)の値を最小値或いは最小値近傍の値とすると予想される。次に、最適指令探査部2は、候補指令X3’を流体圧アクチュエータAへ入力して、値Q(X3’)を得る。そして、最適指令探査部2は、この値Q(X3’)と閾値δとを比較する。最適指令探査部2は、この比較の結果、Q(X3’)<δである場合、候補指令X3’を最適指令として採用する。
【0058】
次に、XREF<X1の場合、最適指令探査部2は、X1’=2×XREF-X3を演算し、X2’をX3として、それぞれ、サンプル指令X1’,X2’を求める。この場合、指令をX軸に採り評価関数をY軸に採る場合、元の第一および第二のサンプル指令X1,X2の探索範囲からX軸上で値を小さくする方向へシフトした範囲に最適指令が存在すると考えられる。よって、前記演算によって求められた新たな第一および第二のサンプル指令X1’,X2’の探索範囲は、元の第一および第二のサンプル指令X1,X2の探索範囲に対してX軸上で左側へシフトされる。そして、新たな第一および第二のサンプル指令X1’,X2’が求められると、第一および第二のサンプル指令X1’,X2’間の探索範囲内で候補指令X3’を求める。具体的には、最適指令探査部2は、X3’をX3’=Q(X1’)/{Q(X1’)+Q(X2’)}×(X2’-X1’)+X1’を演算して求める。このように、X3’を求めると、X3’は、評価関数Q(X)が第一および第二のサンプル指令X1’,X2’間の探索範囲内で下に凸の放物線を描くと仮定すると、第一および第二のサンプル指令X1’,X2’間であって、評価関数Q(X)の値を最小値或いは最小値近傍の値とすると予想される。次に、最適指令探査部2は、候補指令X3’を流体圧アクチュエータAへ入力して、値Q(X3’)を得る。そして、最適指令探査部2は、この値Q(X3’)と閾値δとを比較する。最適指令探査部2は、この比較の結果、Q(X3’)<δである場合、候補指令X3’を最適指令として採用する。なお、探索範囲指示値XREFを求めた際に、探索範囲指示値XREFが閾値δ未満である場合には、探索範囲指示値XREFを最適指令として採用して、新たな第一および第二のサンプル指令X1’,X2’を求める処理の省略も可能である。
【0059】
これに対して、ケース2において、探索範囲指示値XREFがX1≦XREF≦X2となる場合、何らかの原因で適切な探索範囲指示値XREFを求められない状況となっている。このような場合には、最適指令探査部2は、最適指令抽出処理を行う。最適指令抽出処理は、最適指令探査部2が流体圧アクチュエータAに値の異なる指令を順に流体圧アクチュエータAに与えていって、流体圧アクチュエータAの出力Yが目標出力Uに一番近い値となる指令を最適指令として採用する処理である。具体的には、最適指令探査部2は、最適指令抽出処理を実行すると、流体圧アクチュエータAに与えることが可能な最小値から最大値まで値の指令を段階的に変化させた指令を順番に流体圧アクチュエータAへ与える。よって、たとえば、指令の最小値が-1000で最大値が1000であって、1ずつ値を変化させる場合、最適指令探査部2は、最小値の-1000から順に値を1ずつ変化させて最大値の1000まで2001個の指令を入力する。最適指令探査部2は、最適指令抽出処理の前までに最適指令が既に採用されている場合には、採用済みの最適指令の入力に続いて、最適指令を求めるための指令を入力する。そして、最適指令探査部2は、一つの指令の入力に対する流体圧アクチュエータAの出力Yの監視し、出力Yと目標出力Uの偏差が最小となる指令を最適指令として採用する。つまり、最適指令探査部2は、採用済みの最適指令と最適指令を求めるための指令を入力して出力Yと目標出力Uとの差を求める処理を、2001回行って、得られた2001個の差のうち最小の差が得られた指令を最適指令とする。
【0060】
他方、前記ケース2において最適指令抽出処理を行う場合を除き、いずれにおいても、Q(X3’)≧δである場合、最適指令探査部2は、候補指令X3’が最適指令として適さないと判定する。よって、この場合、最適指令探査部2は、候補指令X3’を最適指令として採用せず、最適指令探査部2は、Q(X1’)≧Q(X3’)、且つ、Q(X2’)≧Q(X3’)を満たすかどうか判定する。つまり、最適指令探査部2は、第一および第二のサンプル指令X1’,X2’および候補指令X3’に対する評価関数Q(X)の値Q(X1’),Q(X2’),Q(X3’)が前述のケース1,2のうちいずれの条件に合致しているかを判断する。その結果、前述の値Q(X1’),Q(X2’),Q(X3’)がケース1の条件に合致している場合には、最適指令探査部2は、前述のケース1の場合における処理を行う。他方、その結果、前述の値Q(X1’),Q(X2’),Q(X3’)がケース2の条件に合致している場合には、最適指令探査部2は、前述のケース2の場合における処理を行う。
【0061】
このようにして、最適指令探査部2は、前述した処理(最適指令探査ステップ)を行って、所定時間単位で目標波形を離散化して得られた所定時間単位毎の目標出力の一つ一つに対して最適な指令となる最適指令を採用し、全ての目標出力に対して最適指令が採用されると処理を終了する。
【0062】
このようにして最適指令探査部2が採用した最適指令は、入力指令生成部4に入力され、離散化して得られた目標出力の個数分の最適指令が得られると、入力指令生成部4は、これらの最適指令の値を得られた順番に並べて得た一纏めのデータセットを入力指令とする(入力指令生成ステップ)。このようにして入力指令が得られると、流体圧アクチュエータAの出力Yは目標出力Uを出力するのに最適な指令となる最適指令の集合である。よって、入力指令を流体圧アクチュエータAに入力すると、流体圧アクチュエータAの出力Yは、目標出力Uに精度よく一致するので、流体圧アクチュエータAの変位を目標波形の変位となるように制御できる。
【0063】
なお、評価関数Q(X)は、一例として、以下の数式で定義されるものを使用すればよい。Y(T+b)をサンプル信号X3の入力後の所定時間bだけ経過した時点における流体圧アクチュエータAの出力とし、Y(T+b+1)をサンプル信号X3の入力後の所定時間(b+1)だけ経過した時点における流体圧アクチュエータAの出力とし、U(T+b)を出力Y(T+b)に対応する目標出力とし、U(T+b+1)を出力Y(T+b+1)に対応する目標出力とすると、本実施の形態では評価関数Q(X)は、Q(X)=|a1×{Y(T+b)-U(T+b)}+a2×{Y(T+b+1)-U(T+b+1)}|で定義されている。bは、任意に定める正の整数であり、a1,a2は、任意に定める係数であり、a1,a2のいずれか一方を0として評価関数Q(X)で無駄時間経過後の1つの応答のみを考慮するようにしてもよい。
【0064】
一般に、指令の入力に対してシステムが出力するまでには無駄時間があり、応答するまでに時間がかかり、また、システムには遅れがあって、指令が入力されるとその指令は、出力にしばらくの間影響を及ぼす。このように、流体圧アクチュエータAでは、最適指令探査部2の指令の入力に対して出力するまでに時間がかかり、また、指令は流体圧アクチュエータAのその後の出力に影響を与える。よって、本実施の形態では、指令の入力の影響が出力に現れるまでの無駄時間と、指令が出力に影響を与える時間とを考慮して、評価関数Q(X)を前述したように定義している。したがって、bは、無駄時間を設定するための値であり、評価関数Q(X)に無駄時間経過後の次の出力Yと目標出力Uとを加味しているのでは入力が出力に与える影響も評価するためである。よって、係数a1,a2は、流体圧アクチュエータAの時定数等を参考に決めればよいが、指令の入力に対する出力に与える影響度合いを設定する値であることが理解できよう。なお、流体圧アクチュエータAの時定数が大きい場合、前記評価関数Q(X)の定義式において、前述の定義式よりもより長い時間の影響を考慮するようにしてもよい。つまり、a2×{Y(T+b+1)-U(T+b+1)}の項に次に、考慮する時間の長さでan×{Y(T+b+n)-U(T+b+n)}(ただし、n=3,4,5・・・)を加算するようにしてもよい。
【0065】
評価関数Q(X)を前述の式で定義すれば、流体圧アクチュエータAの指令の入力から出力までの無駄時間と指令が出力に対して影響をも考慮でき、この評価関数Q(X)を利用して採用された最適指令は、実際のシステムの特性にマッチした指令となる。以上より、この評価関数Q(X)を用いて得られた最適指令は、システムである流体圧アクチュエータAの出力を高精度で目標出力に一致させ得る。なお、評価関数Q(X)は、前記した数式以外で定義されてもよく、単に、指令に入力に対する流体圧アクチュエータAの出力Yと目標出力Uとの偏差の絶対値を求めて、これを評価関数Q(X)としてもよい。
【0066】
以上までの指令生成装置1の処理を
図7に示したフローチャートに即して説明する。最適指令探査部2は、まず、目標波形を時間的に離散化して所定時間毎の目標出力を得る(ステップS1)。つづいて、最適指令探査部2は、目標出力から二つの値の異なる第一および第二のサンプル指令X
1,X
2を求める(ステップS2)。さらに、求めた第一および第二のサンプル指令X
1,X
2から候補指令X
3を求める(ステップS3)。
【0067】
つづいて、最適指令探査部2は、候補指令X3が閾値δ未満であるか否かを判断する(ステップS4)。その結果、候補指令X3が閾値δ未満である場合には、最適指令探査部2は、候補指令X3が最適指令として適しているので、候補指令X3を最適指令として採用する(ステップS18)。他方、候補指令X3が閾値δ以上である場合には、最適指令探査部2は、候補指令X3が最適指令として適していない。この場合、最適指令探査部2は、本ルーチンで二回以上候補指令X3を求めている場合、前回の候補指令X3に対するQ(X3)と今回求めた候補指令X3に対するQ(X3)との偏差εが閾値δ未満であるかいなかを判断する(ステップS5)。その結果、前回の候補指令X3に対するQ(X3)と今回求めた候補指令X3に対するQ(X3)との偏差が閾値δ未満である場合、最適指令探査部2は、今回求めた候補指令X3を最適指令とする(ステップS18)。
【0068】
他方、前回の候補指令X3に対するQ(X3)と今回求めた候補指令X3に対するQ(X3)との偏差が閾値δ以上である場合、候補指令X3が最適指令として適していない。よって、最適指令探査部2は、Q(X1)、Q(X2)およびQ(X3)が前記ケース1に該当するのか前記ケース2に該当するのかを以下の手順で判断する。
【0069】
最適指令探査部2は、Q(X1)≧Q(X3)且つQ(X2)≧Q(X3)である場合、第一および第二のサンプル指令X1,X2間に最適指令が存在するケース1に該当すると判断する(ステップS6)。Q(X1)、Q(X2)およびQ(X3)がケース1の条件に合致している場合、三つの場合に分けて探索範囲を変更する。そのため、最適指令探査部2は、この三つの場合のいずれの状況となっているかを判断する処理を行う。最初に、最適指令探査部2は、Q(X1)=Q(X3)であるかを判断し(ステップS7)、Q(X1)=Q(X3)である場合には、新たな第一および第二のサンプル指令X1,X2を再設定する(ステップS8)。この場合、最適指令探査部2は、X1=X3-η×(X3-X1)、X2=X3+η×(X2-X3)を演算して第一および第二のサンプル指令X1,X2をそれぞれ更新する。このようにしてサンプル指令が再設定されると、最適指令探査部2は、ステップS3の処理へ移行して、再設定された第一および第二のサンプル指令X1,X2を用いて候補指令X3を求める。
【0070】
Q(X1)=Q(X3)でない場合には、Q(X1)>Q(X2)であるか否かを判断する(ステップS9)。Q(X1)>Q(X2)である場合には、新たな第一および第二のサンプル指令X1,X2を再設定する(ステップS10)。この場合、最適指令探査部2は、X1=X3-η×(X2-X3)、X2=X3+η×(X2-X3)を演算して第一および第二のサンプル指令X1,X2をそれぞれ更新する。このようにしてサンプル指令が再設定されると、最適指令探査部2は、ステップS3の処理へ移行して、再設定された第一および第二のサンプル指令X1,X2を用いて候補指令X3を求める。
【0071】
Q(X1)=Q(X3)でなく、Q(X1)>Q(X2)でない場合、Q(X1)<Q(X2)であるので、新たな第一および第二のサンプル指令X1,X2を再設定する(ステップS11)。この場合、最適指令探査部2は、X1=X3-η×(X3-X1)、X2=X3+η×(X3-X1)を演算して第一および第二のサンプル指令X1,X2をそれぞれ更新する。このようにしてサンプル指令が再設定されると、最適指令探査部2は、ステップS3の処理へ移行して、再設定されたサンプル指令X1,X2を用いて候補指令X3を求める。
【0072】
また、ステップS6の判断で、Q(X1)≧Q(X3)且つQ(X2)≧Q(X3)でない場合、第一および第二のサンプル指令X1,X2で確定された探索範囲とはずれた範囲に最適指令が存在するケース2に該当する。よって、最適指令探査部2は、最適指令が存在する探索範囲を特定するための探索範囲指示値XREFを求める(ステップS12)。
【0073】
そして、最適指令探査部2は、探索範囲指示値XREFによって、三つに場合分けして処理を行う。そのため、最適指令探査部2は、XREF>X2であるか否かを判断する(ステップS13)。この判断の結果、XREF>X2である場合、元の第一および第二のサンプル指令X1,X2の探索範囲から大きな値の方向にシフトした範囲に最適指令が存在すると考えられるので、最適指令探査部2は、新たな第一および第二のサンプル指令X1,X2を再設定する(ステップS14)。この場合、最適指令探査部2は、X1=X3、X2=2×XREF-X3を演算して第一および第二のサンプル指令X1,X2を更新する。このようにして第一および第二のサンプル指令X1,X2が再設定されると、最適指令探査部2は、ステップS3の処理へ移行して、再設定されたサンプル指令X1,X2を用いて候補指令X3を求める。
【0074】
他方、ステップS13の判断結果がXREF>X2でなかった場合、最適指令探査部2は、XREF<X1であるか否かを判断する(ステップS15)。この判断の結果、XREF<X1である場合、元の第一および第二のサンプル指令X1,X2の探索範囲から小さな値の方向にシフトした範囲に最適指令が存在すると考えられるので、最適指令探査部2は、新たな第一および第二のサンプル指令X1,X2を再設定する(ステップS16)。この場合、最適指令探査部2は、X1=2×XREF-X3、X2=X3を演算して第一および第二のサンプル指令X1,X2を更新する。このようにして第一および第二のサンプル指令X1,X2が再設定されると、最適指令探査部2は、ステップS3の処理へ移行して、再設定されたサンプル指令X1,X2を用いて候補指令X3を求める。
【0075】
また、ステップS13,S15の判断で、XREF>X2でも、XREF<X1でもないと、X1≦XREF≦X2となる。この場合、何らかの原因で適切な探索範囲指示値XREFを求められない状況となっている。よって、この場合、最適指令探査部2は、前述した最適指令抽出処理を行って最適指令を求める(ステップS17)。
【0076】
以上の一連の処理によって、目標出力に対して最適指令が採用される。そして、指令生成装置1は、この処理を繰り返して実行し、全ての目標出力に対して最適指令が求まると、最適指令を求めた順番に並べて得た一纏めのデータセットを入力指令とする。このように指令生成装置1は、前述の処理を行えば、最適指令を順次求めて入力指令を生成できる。
【0077】
なお、指令生成装置1における最適指令探査部2および入力指令生成部4については、CPU(Central Processing Unit)等の演算処理装置が前述処理を実行するためのプログラムを実行することで実現すればよい。
【0078】
このように本発明の指令生成装置1は、所定時間単位で流体圧アクチュエータ(プラント)Aに出力させたい目標波形を離散化して得られた所定時間単位毎の目標出力を流体圧アクチュエータ(プラント)Aに出力させるのに適する最適指令を目標出力毎に求め、目標出力毎の最適指令に基づいて入力指令を生成する。このように構成された指令生成装置1では、流体圧アクチュエータ(プラント)Aに応答遅れや非線形な特性があっても、目標波形を離散化して得られた目標出力毎に流体圧アクチュエータ(プラント)Aが目標出力を出力するのに最適な最適指令を求める。よって、入力指令を流体圧アクチュエータ(プラント)Aに入力すれば、流体圧アクチュエータ(プラント)Aの出力は、目標波形に精度よく追従する。したがって、本発明の指令生成装置1によれば、流体圧アクチュエータ(プラント)Aに応答遅れや非線形な特性があっても流体圧アクチュエータ(プラント)Aの出力を目標波形に精度よく一致させて流体圧アクチュエータ(プラント)Aを理想的に動作させ得る入力指令を生成できる。
【0079】
また、本実施の形態の指令生成装置1は、目標出力毎に流体圧アクチュエータ(プラント)Aに第一のサンプル指令X1および第二のサンプル指令X2を与えて、目標出力毎に、第一のサンプル指令X1と、第二のサンプル指令X2と、第一のサンプル指令X1と第二のサンプル指令X2との入力に対する流体圧アクチュエータ(プラント)Aの出力と、目標出力とに基づいて、目標出力に対応する最適指令を求める最適指令探査部2を備え、目標出力毎に最適指令探査部2が求めた最適指令に基づいて入力指令を生成する。このように構成された指令生成装置1では、第一のサンプル指令X1および第二のサンプル指令X2を流体圧アクチュエータ(プラント)Aに与えて最適指令を求めるので、流体圧アクチュエータ(プラント)Aの特性によらず最適指令を迅速に求め得る。つまり、最適指令を求める方法としては、最適指令抽出処理のように、指令生成装置1がプラントに入力し得る全ての値の指令を全部流体圧アクチュエータ(プラント)Aに入力して、入力した指令のうちから流体圧アクチュエータ(プラント)Aの出力が離散化して得られた目標出力に最も近い指令を最適指令とする方法も採りうるが、時間がかかる。これに対して、第一のサンプル指令X1および第二のサンプル指令X2を流体圧アクチュエータ(プラント)Aに与えて、流体圧アクチュエータ(プラント)Aの出力と、第一のサンプル指令X1および第二のサンプル指令X2と目標出力とに基づいて最適指令を求める場合、最適指令となりそうな指令に当たりを付け得るので、迅速に最適指令を求めうる。また、第一のサンプル指令X1および第二のサンプル指令X2を流体圧アクチュエータ(プラント)Aに与えた際の出力を考慮するので、プラント特性によらず最適指令を求めうるのである。
【0080】
さらに、本実施の形態の指令生成装置1は、流体圧アクチュエータ(プラント)Aの出力と、目標出力とをパラメータとして、流体圧アクチュエータ(プラント)Aの出力と目標出力との偏差が小さくなると値が0に近づく評価関数を用い、記第一のサンプル指令X1と、第二のサンプル指令X2と、第一サンプル指令X1と第二のサンプル指令X2の入力に対する流体圧アクチュエータ(プラント)Aの出力を入力した評価関数の値に基づいて候補指令X3を求め、候補指令X3の入力に対する流体圧アクチュエータ(プラント)Aの出力を入力した評価関数の値が閾値未満となると候補指令X3を最適指令とする。このように構成された指令生成装置1は、第一のサンプル指令X1と、第二のサンプル指令X2と、第一サンプル指令X1と第二のサンプル指令X2の入力に対する流体圧アクチュエータ(プラント)Aの出力を入力した評価関数の値に基づいて候補指令X3を求めるので、最適指令として採用される可能性が高い候補指令X3を得られる。よって、本実施の形態の指令生成装置1では、プラント特性によらずより一層迅速に最適指令を求めうる。
【0081】
また、本実施の形態の指令生成装置1では、評価関数を流体圧アクチュエータ(プラント)Aに対する指令の入力から出力までの無駄時間を考慮した関数として定義されているので、実際の流体圧アクチュエータ(プラント)Aに思想的な最適指令が得られる。よって、本実施の形態の指令生成装置1では、流体圧アクチュエータ(プラント)Aの出力を目標波形に高精度に一致させて流体圧アクチュエータ(プラント)Aを理想的に動作させ得る入力指令を生成できる。
【0082】
さらに、本実施の形態の指令生成装置1では、評価関数を無駄時間経過後において流体圧アクチュエータ(プラント)Aに対する指令が流体圧アクチュエータ(プラント)Aの出力に対する影響を考慮した関数として定義されているので、実際の流体圧アクチュエータ(プラント)Aに思想的な最適指令が得られる。よって、本実施の形態の指令生成装置1では、流体圧アクチュエータ(プラント)Aの出力を目標波形に高精度に一致させて流体圧アクチュエータ(プラント)Aを理想的に動作させ得る入力指令を生成できる。
【0083】
また、本実施の形態の指令生成装置1では、目標出力に対する第一のサンプル指令X1、第二のサンプル指令X2或いは候補指令X3を入力する際に、それまでに採用された最適指令が有る場合、採用済みの最適指令を入力した後に、第一のサンプル指令X1、第二のサンプル指令X2或いは候補指令X3を入力する。このように構成された指令生成装置1では、或る目標出力に対する最適指令を求める際に、それまでに採用済みの最適指令が入力されるので、流体圧アクチュエータ(プラント)Aの動的な特性の考慮した最適指令を求め得る。よって、実施の形態の指令生成装置1では、流体圧アクチュエータ(プラント)Aの出力を目標波形に高精度に一致させて流体圧アクチュエータ(プラント)Aを理想的に動作させ得る入力指令を生成できる。
【0084】
そして、本実施の形態の指令生成装置1では、第一のサンプル指令X1、第二のサンプル指令X2および候補指令X3に基づいて、最適指令が第一のサンプル指令X1と第二のサンプル指令X2との間の探索範囲に存在するか否かを判定し、存在しない場合には探索範囲を変更する処理を行うようになっている。よって、本実施の形態の指令生成装置1では、最適指令が存在しうる探索範囲をいち早く探し当てて、最適指令を迅速に求め得る。
【0085】
また、本実施の形態の指令生成装置1では、最適指令探査部2が流体圧アクチュエータ(プラント)Aに与えることが可能な指令のうち最小値から最大値まで値の指令を段階的に変化させた指令を順番に流体圧アクチュエータ(プラント)Aへ与え、流体圧アクチュエータ(プラント)Aの出力が目標出力に一番近い値となる指令を最適指令として採用するようにしてもよい。このように構成された指令生成装置1では、流体圧アクチュエータ(プラント)Aに入力可能な指令のうち流体圧アクチュエータ(プラント)Aに目標出力を出力させるのに最適な指令が得られる。
【0086】
さらに、本発明の指令生成方法は、所定時間単位で目標波形を離散化して所定時間単位毎の目標出力を得る離散化ステップと、流体圧アクチュエータ(プラント)Aに目標出力を出力させるのに適する最適指令を目標出力毎に求める最適指令探査ステップと、目標出力毎の最適指令に基づいて入力指令を生成する入力指令生成ステップとを備えている。このように構成された指令生成方法では、流体圧アクチュエータ(プラント)Aに応答遅れや非線形な特性があっても、目標波形を離散化して得られた目標出力毎に流体圧アクチュエータ(プラント)Aが目標出力を出力するのに最適な最適指令を求める。よって、入力指令を流体圧アクチュエータ(プラント)Aに入力すれば、流体圧アクチュエータ(プラント)Aの出力は、目標波形に精度よく追従する。したがって、本発明の指令生成装置1によれば、流体圧アクチュエータ(プラント)Aに応答遅れや非線形な特性があっても流体圧アクチュエータ(プラント)Aの出力を目標波形に精度よく一致させて流体圧アクチュエータ(プラント)Aを理想的に動作させ得る入力指令を生成できる。
【0087】
また、本実施の形態の指令生成方法では、最適指令探査ステップにおいて、目標出力毎に流体圧アクチュエータ(プラント)Aに第一のサンプル指令X1および第二のサンプル指令X2を与え、目標出力毎に、第一のサンプル指令X1と、第二のサンプル指令X2と、第一のサンプル指令X1と第二のサンプル指令X2との入力に対する流体圧アクチュエータ(プラント)Aの出力と、目標出力とに基づいて、目標出力に対応する最適指令を採用する。このように構成された指令生成方法では、第一のサンプル指令X1および第二のサンプル指令X2を流体圧アクチュエータ(プラント)Aに与えて最適指令を求めるので、流体圧アクチュエータ(プラント)Aの特性によらず最適指令を迅速に求め得る。
【0088】
さらに、本実施の形態の指令生成方法では、最適指令探査部ステップにおいて、が流体圧アクチュエータ(プラント)Aに与えることが可能な指令のうち最小値から最大値まで値の指令を段階的に変化させた指令を順番に流体圧アクチュエータ(プラント)Aへ与え、流体圧アクチュエータ(プラント)Aの出力が目標出力に一番近い値となる指令を最適指令として採用するようにしてもよい。このように構成された指令生成方法では、流体圧アクチュエータ(プラント)Aに入力可能な指令のうち流体圧アクチュエータ(プラント)Aに目標出力を出力させるのに最適な指令が得られる。
【0089】
なお、プラントは流体圧アクチュエータAに限られず、種々のプラントに指令生成装置1を利用できる。また、指令生成装置1は、プラントを制御する制御装置に組み込まれていてもよい。
【0090】
以上で、本発明の実施の形態についての説明を終えるが、本発明の範囲は図示されまたは説明された詳細そのものには限定されない。
【符号の説明】
【0091】
1・・・指令生成装置、2・・・最適指令探査部、A・・・流体圧アクチュエータ(プラント)