(57)【要約】      （修正有）【課題】必ずしも真の値に収束しているとは限らない推定値を用いて、制御対象の制御を適切に行う。【解決手段】本制御方法は、制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、制御対象の内部状態の推定に用いられるゲイン行列を生成し、生成されたゲイン行列を用いるオブザーバにより生成された、制御対象の内部状態の推定結果に基づき、制御対象を制御する処理を含む。【選択図】図１２
2018163395.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成し、
生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する、
処理を実行させる制御プログラム。
【請求項２】
前記方程式は、前記ゲイン行列と、前記制御対象の内部状態を表す変数が満たす等式制約の係数行列に対する特異値分解の結果に含まれる直交行列とを含む、
請求項１記載の制御プログラム。
【請求項３】
前記ゲイン行列を生成する処理において、
入力されたデータに基づくＬＭＩ（Linear Matrix Inequality）可解問題の解が存在するか判定し、
前記ＬＭＩ可解問題の解が存在する場合、前記ＬＭＩ可解問題の解と前記方程式とを用いて前記ゲイン行列を生成する、
請求項１又は２記載の制御プログラム。
【請求項４】
コンピュータが、
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成し、
生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する、
処理を実行する制御方法。
【請求項５】
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成する生成部と、
前記生成部により生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する制御部と、
を有する制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィードバック制御技術に関する。
【背景技術】
【０００２】
動的システムとは、出力が現在の入力だけでなく過去の入力にも依存するシステムのことである。特に以下のような、離散時間の線形状態方程式（Liner State Equation）（１）および線形出力方程式（Linear Output Equation）（２）で表される動的システムは、離散時間線形時不変システムと呼ばれる。
【０００３】
【数１】
2018163395.tif 000003
【０００４】
【数２】
2018163395.tif 000004
【０００５】
図１に、上記の離散時間線形時不変システムのブロック線図を示す。Ａｘ[ｋ]とＢｕ[ｋ]との加算によりｘ[ｋ＋１]が求められる。また、ｙ［ｋ］がＣｘ[ｋ]として求められる。ｑ-1はｘ[ｋ]のｋを１減らす作用素である。
【０００６】
但し、動的システムの状態を必ずしも直接観測できるとは限らず、直接観測できない場合には観測可能な出力から状態が推定される。例えばフィードバック制御においては、観測可能な出力に基づき観測或いは制御の対象（以下、制御対象と呼ぶ）の内部状態が推定され、推定された内部状態に応じて入力が決定される。
【０００７】
可検出である線形システムについて、時間の経過とともに収束する状態の値を計算する装置はオブザーバと呼ばれる。オブザーバによる推定値は、十分に時間が経過すれば真の値に収束することが保証されている。従来の技術においては、推定値が真の値に収束したと見做すことができる十分な時間が経過した後の推定値が制御に利用されている。
【０００８】
しかし、制御対象が安定ではない場合、推定値が真の値に収束することを待っていると、内部状態が変化し制御が間に合わないことがある。図２及び図３に、時間と状態との関係を示す。図２において、縦軸は状態ｘ1の値を表し、横軸は時間を表す。図３において、縦軸は状態ｘ2の値を表し、横軸は時間を表す。真の値は実線でプロットされており、推定値は破線でプロットされている。図２及び図３のいずれにおいても、推定値が真の値に収束するまでに状態が変化しているので、収束後の推定値に基づく制御を実行する前に適切ではない状態が発生する可能性がある。一方で、推定値が真の値に収束する前においては、真の状態が満たす制約（たとえば、線形の等式関係）が満たされていないために、推定値に基づく制御を行うことができない場合がある。
【０００９】
また、例えば射影操作により推定値を真の状態と同じ制約を満たすように変換して制御に利用する場合、推定値が得られる度に変換を行う必要があるため、演算時間の増加を招く。従って、安定ではない状況（例えば、制御に利用するための値を生成するための時間的な余裕が無い状況）においては、不正確な値に基づく制御を行うことになり、結果として不安定な制御につながる可能性がある。図４に、演算時間が増加した場合における状態ｘ1の値と時間との関係を示し、図５に、演算時間が増加した場合における状態ｘ2の値と時間との関係を示す。図４及び図５のいずれにおいても、真の値が振動的に変動しており、制御が不安定になっている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−５４２７９号公報
【非特許文献】
【００１１】
【非特許文献１】R.F.Stengel, "Optimal Control and Estimation", Dover edition, Dover Publications, 1994.
【非特許文献２】Gene F. Franklin, J. David Powell and Michael Workman, "Digital Control of Dynamic Systems", third edition, Ellis-Kagle Press, 1998.
【非特許文献３】Mustapha Ait Rami, Fernand Tadeo and Uwe Helmke, "Positive observers for linear positive systems, and their implications", International Journal of Control, vol.84, no.4, pp.716-725, 2011.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、１つの側面では、必ずしも真の値に収束しているとは限らない推定値を用いて、制御対象の制御を適切に行う技術を提供することである。
【課題を解決するための手段】
【００１３】
一態様に係る制御方法は、制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、制御対象の内部状態の推定に用いられるゲイン行列を生成し、生成されたゲイン行列を用いるオブザーバにより生成された、制御対象の内部状態の推定結果に基づき、制御対象を制御する処理を含む。
【発明の効果】
【００１４】
１つの側面では、必ずしも真の値に収束しているとは限らない推定値を用いて、制御対象の制御を適切に行えるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、離散時間線形時不変システムのブロック線図である。
【図２】図２は、時間と状態との関係を示す図である。
【図３】図３は、時間と状態との関係を示す図である。
【図４】図４は、時間と状態との関係を示す図である。
【図５】図５は、時間と状態との関係を示す図である。
【図６】図６は、状態空間における平面と値とを示す図である。
【図７】図７は、オブザーバのブロック線図である。
【図８】図８は、状態空間における平面と値とを示す図である。
【図９】図９は、第１の実施の形態の動的システムの概要を示す図である。
【図１０】図１０は、制御装置の機能ブロック図である。
【図１１】図１１は、制御対象装置の機能ブロック図である。
【図１２】図１２は、設計部が実行する処理の処理フローを示す図である。
【図１３】図１３は、状態推定部が実行する処理の処理フローを示す図である。
【図１４】図１４は、通信部が実行する処理の処理フローを示す図である。
【図１５】図１５は、通信部が実行する処理の処理フローを示す図である。
【図１６】図１６は、第２の実施の形態の動的システムの概要を示す図である。
【図１７】図１７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
［実施の形態１］
本実施の形態においては、可検出であり且つ状態が以下のような線形等式（３）を満たす離散時間線形時不変システムを制御対象とする。
【００１７】
【数３】
2018163395.tif 000005
【００１８】
【数４】
2018163395.tif 000006
【００１９】
線形状態方程式（Liner State Equation）（１）および線形出力方程式（Linear Output Equation）（２）は上に示したとおりであり、Ａ、Ｂ、Ｃ、Ｗおよびυは既知であるとする。線形等式（３）は、図６に示すように、状態の値が状態空間内の平面上に有る（すなわち、保存則が成立している）ことを意味する。
【００２０】
一般に、オブザーバによる推定値^ｘ[ｋ＋１]は以下のように表される。
【００２１】
【数５】
2018163395.tif 000007
【００２２】
オブザーバのブロック線図は図７に示すとおりである。
【００２３】
行列Ｌはゲイン行列（オブザーバゲインとも呼ばれる）である。ゲイン行列は、例えばＬＭＩ（Linear Matrix Inequality）可解問題を解くことで求められる。ＬＭＩ可解問題は効率的な数値計算手法が知られた問題であり、ソルバ（例えばＳＤＰ（SemiDefinite Program）ソルバ）も存在するので、存在判定法及び構成法として適切である。
【００２４】
まず、入力されたＡ、Ｂ及びＣに基づき以下のＬＭＩ可解問題を解くことで、行列Ｘ及び行列Ｙが求められる。
【００２５】
【数６】
2018163395.tif 000008
【００２６】
この式は、左辺の行列が正定であることを表す。そして、ゲイン行列はＬ＝Ｘ-1Ｙとして計算される。これにより推定値^ｘ[ｋ＋１]を求めることができる。
【００２７】
但し、背景技術の欄で述べたように、このような方法で求めた推定値は等式制約を満たさないことがある。このことは、図８に示すように、推定値が状態空間内の平面上に無い場合があることを意味する。また、推定値が状態空間内の平面上に存在するように変換を行うと、演算時間が長くなり制御が不安定になることがある。
【００２８】
そこで以下では、通常のオブザーバと比較して計算量を増加させることなく（条件Ａ−１）、真の値と同じ線形等式を満たしつつ（条件Ａ−２）且つ時間の経過とともに真の値に収束する推定値を計算するオブザーバが存在する（条件Ａ−３）か判定する方法を検討する。そして、そのようなオブザーバが存在する場合にはそのようなオブザーバを具体的に実現する（条件Ｂ）ことが可能であり且つ効率的な数値計算手法に基づいた（条件Ｃ）方法を検討する。
【００２９】
条件Ａ−１に関して、通常のオブザーバと比較して計算量が増加しないための必要十分条件は、計算式が通常のオブザーバと同じ形式であることである。すなわち、本実施の形態の計算式が式（５）の形式であることである。
【００３０】
条件Ａ−２に関して、推定値が真の値と同じ線形等式を満たすための必要十分条件は、Ｗ^ｘ[０]＝υかつＷＬ＝０である。証明は以下のとおりである。まず、以下が成立する。
【００３１】
【数７】
2018163395.tif 000009
【００３２】
（十分性）
ＷＬ＝０であるとき、以下が成立する。
【００３３】
【数８】
2018163395.tif 000010
【００３４】
つまり、Ｗ^ｘ[ｋ]はＷｘ[ｋ]と同じ初期値を有し且つＷｘ[ｋ]と同じ漸化式に従うので、以下が成立する。
【００３５】
【数９】
2018163395.tif 000011
【００３６】
（必要性）
逆にＷＬ≠０であるときは、以下の式が成立しない場合が存在する。
【００３７】
【数１０】
2018163395.tif 000012
【００３８】
従って、Ｗ^ｘ[ｋ]はＷｘ[ｋ]と異なる漸化式に従うので、式（９）が成立しない。以上で条件Ａ−２についての必要十分条件の証明を終了する。
【００３９】
条件Ａ−３に関して、以下を誤差系と呼ぶ。
【００４０】
【数１１】
2018163395.tif 000013
【００４１】
時間の経過とともに推定値が真の値に収束することを「誤差系が安定である」という。誤差系を安定にするような推定値の計算方法が存在する（すなわち、そのようなゲイン行列が存在する）ための必要十分条件（すなわち、条件Ａ−３の必要十分条件）は、式（６）のＬＭＩ可解問題の解が存在することである。
【００４２】
条件Ｂに関して、誤差系を安定にするオブザーバを実現するためには、式（５）のゲイン行列をＬ＝Ｘ-1Ｙとして求めればよい。
【００４３】
以上から、条件Ａ−３の必要十分条件である式（６）と条件Ａ−２の必要十分条件であるＷＬ＝０とを連立させ、さらにＬ＝Ｘ-1Ｙを代入した以下の問題を解くことができれば、条件Ａ−１、条件Ａ−２、条件Ａ−３および条件Ｂが満たされる。
【００４４】
【数１２】
2018163395.tif 000014
【００４５】
しかし、式（１２）は行列を変数とする非線形問題であるので、効率的な数値計算手法を適用することができず、条件Ｃが満たされない。
【００４６】
そこで本実施の形態においては、推定値が線形等式を満たすための必要条件をゲイン行列に関する等式で表し、この等式を用いて条件Ａ−１、条件Ａ−２、条件Ａ−３及び条件ＢをＬＭＩ可解問題に帰着させる。
【００４７】
まず、線形等式の係数行列Ｗを以下のように特異値分解（Singular Value Decomposition）する。Ｕ及びＶは直交行列である。なお、一般の等式（ｆ（ｘ[ｋ]）＝０）ではなく線形等式に限定しているため特異値分解を実行することができる。
【００４８】
【数１３】
2018163395.tif 000015
【００４９】
以下の条件（ａ）及び条件（ｂ）を満たすゲイン行列Ｌが存在するか判定し、存在した場合にはゲイン行列Ｌを計算する。
【００５０】
条件（ａ）は、ゲイン行列ＬがΛ∈Ｒ(n-r)×pと直交行列Ｖとを用いて以下のように表されることである。
【００５１】
【数１４】
2018163395.tif 000016
【００５２】
なお、条件（ａ）はＷＬ＝０であるための必要十分条件である。この証明については付録を参照されたい。このように、条件（Ａ−２）の必要十分条件を式（１４）の形で表現することで、ＬＭＩ可解問題に帰着させることが可能になる。
【００５３】
条件（ｂ）は、Ａ−ＬＣの全ての固有値複素平面における原点を中心とする半径１の円の内部に存在することである。
【００５４】
条件（ａ）及び条件（ｂ）を満たすゲイン行列Ｌが存在する場合には、ゲイン行列Ｌを計算し、計算したゲイン行列Ｌに基づく式（５）に従った状態推定を行うようにオブザーバを設定する。以下では、このように設定されたオブザーバを線形等式保存オブザーバと呼ぶ。
【００５５】
条件（ａ）及び条件（ｂ）を満たすゲイン行列Ｌが存在するか判定し且つゲイン行列Ｌが存在する場合にゲイン行列Ｌを計算する手順は、以下のとおりである。
【００５６】
まず、以下のＬＭＩ可解問題を解く。
【００５７】
【数１５】
2018163395.tif 000017
【００５８】
式（１５）が可解である場合（すなわち、解Ｘ及びＹが存在する場合）、条件（ａ）及び条件（ｂ）を満たすゲイン行列Ｌが存在すると判定される。式（１５）が可解ではない場合、条件（ａ）及び条件（ｂ）を満たすゲイン行列Ｌが存在しないと判定される。式（１５）が可解である場合、以下の式に基づきゲイン行列Ｌが計算される。
【００５９】
【数１６】
2018163395.tif 000018
【００６０】
式（１５）によってゲイン行列Ｌの存在を判定できること及び式（１６）によってゲイン行列を計算できることの証明を以下に示す。
【００６１】
式（１１）で表された誤差系が安定である（ｎ→∞，ｘ[ｋ]−^ｘ[ｋ]→０）ための必要十分条件は、Ａ−ＬＣの全ての固有値が複素平面の原点を中心とする半径１の円内に存在することであり、それは以下の行列不等式（すなわち、離散時間線形時不変システムに対するリアプノフ不等式）を満たす行列Ｐおよびゲイン行列Ｌが存在することと等価である。この点については、「蛯原義雄，「ＬＭＩによるシステム制御」，森北出版，２０１２」を参照されたい。
【００６２】
【数１７】
2018163395.tif 000019
【００６３】
ＷＬ＝０と等価な条件である式（１４）をこの行列不等式に代入すると、以下のようになる。
【００６４】
【数１８】
2018163395.tif 000020
【００６５】
この行列不等式を満たす行列Ｐ及び行列Λが存在することは、誤差系を安定とする式（１４）の形式のゲイン行列Ｌが存在するための必要十分条件である。第１式にＶＶT＝Ｉを挿入して整理し且つ第２式の両辺左からＶTをかけ右からＶをかけると、以下のようになる。
【００６６】
【数１９】
2018163395.tif 000021
【００６７】
この式を満たす行列Ｐ及び行列Λが存在することは、誤差系を安定とする式（１４）の形式のゲイン行列Ｌが存在するための必要十分条件である。
【００６８】
ここでＸ：＝ＶTＰＶとおくと、以下のようになる。
【００６９】
【数２０】
2018163395.tif 000022
【００７０】
この式を満たす行列Ｘ及び行列Λが存在することは、誤差系を安定とする式（１４）の形式のゲイン行列Ｌが存在するための必要十分条件である。
【００７１】
この式も離散時間線形時不変システムに対するリアプノフ不等式であり、以下の式と等価である。この点については、「小原敦美，「行列不等式アプローチによる制御系設計」，コロナ社，２０１６」を参照されたい。
【００７２】
【数２１】
2018163395.tif 000023
【００７３】
よって、この式を満たす行列Ｘ及び行列Λが存在することは、誤差系を安定とする式（１４）の形式のゲイン行列Ｌが存在するための必要十分条件である。
【００７４】
さらにＹ：＝ＸΛとおくと以下の線形行列不等式を得ることができる。
【００７５】
【数２２】
2018163395.tif 000024
【００７６】
よって、この線形行列不等式が解Ｘ＞０及び解Ｙを持つときに限り誤差系を安定とする式（１４）の形式のゲイン行列Ｌが存在する。そして、具体的なゲイン行列ＬはＹの定義から式（１６）のように求められる。
【００７７】
以下では、以上の議論に基づく本実施の形態の具体的な態様を説明する。
【００７８】
図９に、第１の実施の形態の動的システムの概要を示す。制御装置１及び制御装置１により制御される制御対象装置３は、例えばＬＡＮ（Local Area Network）又はインターネット等のネットワーク２に接続される。
【００７９】
制御装置１は、例えば、パーソナルコンピュータ、サーバ、或いはマイクロコントローラである。図１０に、制御装置１の機能ブロック図を示す。制御装置１は、設計部１０１と、オブザーバとしての処理を実行する状態推定部１０３と、通信部１０５と、出力データ格納部１１１と、推定値格納部１１３と、ワークデータ格納部１１５とを含む。
【００８０】
設計部１０１、状態推定部１０３及び通信部１０５は、プログラムが図１７におけるメモリ２５０１にロードされＣＰＵ（Central Processing Unit）２５０３により実行されることで実現される。出力データ格納部１１１、推定値格納部１１３及びワークデータ格納部１１５は、図１７におけるメモリ２５０１又はＨＤＤ（Hard Disk Drive）２５０５上に設けられる。
【００８１】
設計部１０１は、ワークデータ格納部１１５に格納されているパラメータに基づきゲイン行列Ｌを計算し、計算したゲイン行列をワークデータ格納部１１５に格納する。状態推定部１０３は、ワークデータ格納部１１５に格納されているデータ及び出力データ格納部１１１に格納されているデータに基づき制御対象装置３の状態の推定値を計算し、計算した推定値を推定値格納部１１３に格納する。通信部１０５は、制御対象装置３の出力を制御対象装置３から受信し、受信した出力を出力データ格納部１１１に格納する。また、通信部１０５は、制御対象装置３への入力を制御対象装置３へ送信する。
【００８２】
図１１に、制御対象装置３の機能ブロック図を示す。制御対象装置３は、物理センサであるセンサ３０１と、被制御部３０２と、通信部３０３とを含む。
【００８３】
センサ３０１は、観測可能な出力ｙを計測する。被制御部３０２は、制御装置１から受信した入力ｕに従って動作が制御される。通信部３０３は、制御装置１から入力ｕを受信する。また、通信部３０３は、センサ３０１により計測された出力ｙを制御装置１へ送信する。
【００８４】
例えば制御対象装置３が車両である場合、被制御部３０２は例えばモータであり、入力ｕはモータの回転数であり、出力ｙは例えば制御対象装置３の位置情報であり、状態ｘは例えば位置情報と制御対象装置３の速度情報との組合せである。また、例えば制御対象装置３が複数の貯水タンクである場合、被制御部３０２は例えば複数の貯水タンクの水量を調節するポンプであり、入力ｕは複数の貯水タンク間での水の輸送量であり、出力ｙは例えば複数の貯水タンクのうちいずれかの貯水タンクの水量であり、状態ｘは例えば複数の貯水タンクそれぞれの水量である。但し、実施形態はこのような例に限られるわけではない。例えば、電気回路、化学プラント、溶鉱炉、空調機、ロボット、サーバ、サーバルームおよびデータセンタ等の動的システムを対象としてもよい。
【００８５】
図１２を用いて、制御装置１の設計部１０１が実行する処理を説明する。
【００８６】
設計部１０１は、パラメータ（ここでは、式（１５）の行列Ａ、Ｂ、Ｃ及びＷ）の入力を受け付け（図１２：ステップＳ１）、ワークデータ格納部１１５に格納する。なお、ステップＳ１においては、記憶領域に予め格納されたパラメータを設計部１０１が読み出すようにしてもよい。
【００８７】
設計部１０１は、ステップＳ１においてワークデータ格納部１１５に格納されたパラメータを用いて、式（１５）で表されるＬＭＩ可解問題の解Ｘ及びＹを求める処理を実行する（ステップＳ３）。
【００８８】
設計部１０１は、ステップＳ３において解が存在するか判定する（ステップＳ５）。解が存在しない場合（ステップＳ５：Ｎｏルート）、設計部１０１は、以下の処理を実行する。具体的には、設計部１０１は、通常の方法で状態推定部１０３が推定値を計算するように設定を行う（ステップＳ７）。そして処理は終了する。通常の方法とは、例えば、通常のオブザーバで推定値を求めた後、等式制約を満たすように推定値を変換する処理である。ステップＳ７の処理は本実施の形態の主要な処理ではないので、詳細な説明を省略する。
【００８９】
一方、解が存在する場合（ステップＳ５：Ｙｅｓルート）、設計部１０１は、以下の処理を実行する。具体的には、設計部１０１は、求められた解Ｘ及びＹを用いて、式（１６）でゲイン行列Ｌを計算する（ステップＳ９）。
【００９０】
設計部１０１は、ステップＳ９において計算されたゲイン行列Ｌを、ワークデータ格納部１１５における、状態推定部１０３を設定するための領域に格納する（ステップＳ１１）。そして処理は終了する。
【００９１】
以上のような処理を実行すれば、等式制約を満たす推定値を算出することが可能なゲイン行列Ｌを、状態推定部１０３に使用させることができるようになる。
【００９２】
図１３を用いて、制御装置１の状態推定部１０３が実行する処理を説明する。
【００９３】
状態推定部１０３は、ステップＳ１において入力され且つワークデータ格納部１１５に格納されたパラメータ及びステップＳ１１においてワークデータ格納部１１５に格納されたゲイン行列Ｌを読み出す（図１３：ステップＳ１３）。
【００９４】
状態推定部１０３は、推定値^ｘを初期化する（ステップＳ１５）。
【００９５】
状態推定部１０３は、前時刻の出力ｙを出力データ格納部１１１から取得し且つ前時刻の入力ｕを取得する（ステップＳ１７）。
【００９６】
状態推定部１０３は、ステップＳ１３において読み出されたパラメータ及びゲイン行列と、ステップＳ１７において取得された入力ｕ及び出力ｙと、算出又は初期化された推定値^ｘとを用いて、^ｘ←Ａ^ｘ＋Ｂｕ＋Ｌ（ｙ−Ｃ^ｘ）により推定値^ｘを更新する（ステップＳ１９）。状態推定部１０３は、更新後の推定値^ｘを推定値格納部１１３に格納する。
【００９７】
状態推定部１０３は、処理を終了するか判定する（ステップＳ２１）。例えば処理の終了指示を受け付けた場合（ステップＳ２１：Ｙｅｓルート）には処理は終了し、処理の終了指示を受け付けていない場合（ステップＳ２１：Ｎｏルート）には処理はステップＳ１７に戻る。
【００９８】
以上のように、本実施の形態の線形等式保存オブザーバであれば、推定値が等式制約を満たすことが保証されるので、必ずしも真の値に収束していない推定値を用いて制御対象を制御することができるようになる。
【００９９】
図１４及び図１５を用いて、制御装置１の通信部１０５が実行する処理を説明する。
【０１００】
まず、通信部１０５が入力ｕを送信する処理を説明する。通信部１０５は、入力ｕを取得する（図１４：ステップＳ３１）。入力ｕは、推定値^ｘが既に算出された場合には推定値^ｘに基づき設計部１０１により算出される。推定値^ｘが算出されていない場合には、入力ｕとして初期値が設定される。
【０１０１】
通信部１０５は、ステップＳ３１にて取得された入力ｕを制御対象装置３に送信する（ステップＳ３３）。そして処理は終了する。
【０１０２】
次に、通信部１０５が出力ｙを受信する処理を説明する。通信部１０５は、出力ｙを制御対象装置３から受信する（図１５：ステップＳ４１）。
【０１０３】
通信部１０５は、ステップＳ４１にて受信した出力ｙを出力データ格納部１１１に格納する（ステップＳ４３）。そして処理は終了する。
【０１０４】
以上のような処理を実行すれば、制御対象装置３の制御を適切に行うことができるようになる。
【０１０５】
［実施の形態２］
第１の実施の形態においては制御装置１がゲイン行列Ｌを求める処理および推定値を求める処理の両方を実行するが、第２の実施の形態においては両処理が別々の装置において実行される。具体的には、図１６に示すように、ネットワーク２に接続された設計装置４がゲイン行列Ｌを求める処理を実行し、ネットワーク２に接続された状態推定装置５が推定値を算出する処理を実行する。このようなシステム形態であっても、制御対象装置３を適切に制御することができる。
【０１０６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した制御装置１及び制御対象装置３の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１０７】
また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１０８】
また、制御装置１、設計装置４及び状態推定装置５はネットワーク２に有線で接続されてもよい。
【０１０９】
［付録］
本付録では、条件（ａ）がＷＬ＝０であるための必要十分条件であることの証明を示す。
【０１１０】
以下が成立する。
【０１１１】
【数２３】
2018163395.tif 000025
【０１１２】
よって、以下が成立する。
【０１１３】
【数２４】
2018163395.tif 000026
【０１１４】
Ｕは直交行列であるので、この式はさらに以下の式と等価である。
【０１１５】
【数２５】
2018163395.tif 000027
【０１１６】
式（２５）の下線部分とＶTＬとの積が０となるのは、ＶTＬがΛ∈Ｒ(n-r)×pを用いて以下のように表されるときに限られる。
【０１１７】
【数２６】
2018163395.tif 000028
【０１１８】
Ｖは直交行列であるので、これは式（１４）と等価である。
【０１１９】
以上で付録を終了する。
【０１２０】
なお、上で述べた制御装置１、設計装置４及び状態推定装置５は、コンピュータ装置であって、図１７に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１２１】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１２２】
本実施の形態の第１の態様に係る制御方法は、（Ａ）制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、制御対象の内部状態の推定に用いられるゲイン行列を生成し、（Ｂ）生成されたゲイン行列を用いるオブザーバにより生成された、制御対象の内部状態の推定結果に基づき、制御対象を制御する処理を含む。
【０１２３】
上記方程式に基づくゲイン行列を用いれば推定結果が条件を満たすので、必ずしも真の値に収束しているとは限らない推定結果を用いて、制御対象の制御を適切に行えるようになる。
【０１２４】
また、上記方程式は、ゲイン行列と、制御対象の内部状態を表す変数が満たす等式制約の係数行列に対する特異値分解の結果に含まれる直交行列とを含んでもよい。このような方程式を利用すれば、ＬＭＩ可解問題を適用できるようになる。
【０１２５】
また、ゲイン行列を生成する処理において、（ａ１）入力されたデータに基づくＬＭＩ（Linear Matrix Inequality）可解問題の解が存在するか判定し、（ａ２）ＬＭＩ可解問題の解が存在する場合、ＬＭＩ可解問題の解と方程式とを用いてゲイン行列を生成してもよい。
【０１２６】
本実施の形態の第２の態様に係る制御装置は、（Ｃ）制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、制御対象の内部状態の推定に用いられるゲイン行列を生成する生成部（実施の形態における設計部１０１は生成部の一例である）と、（Ｄ）生成部により生成されたゲイン行列を用いるオブザーバ（実施の形態における状態推定部１０３はオブザーバの一例である）により生成された、制御対象の内部状態の推定結果に基づき、制御対象を制御する制御部（実施の形態における通信部１０５は制御部の一例である）とを有する。
【０１２７】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１２８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２９】
（付記１）
コンピュータに、
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成し、
生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する、
処理を実行させる制御プログラム。
【０１３０】
（付記２）
前記方程式は、前記ゲイン行列と、前記制御対象の内部状態を表す変数が満たす等式制約の係数行列に対する特異値分解の結果に含まれる直交行列とを含む、
付記１記載の制御プログラム。
【０１３１】
（付記３）
前記ゲイン行列を生成する処理において、
入力されたデータに基づくＬＭＩ（Linear Matrix Inequality）可解問題の解が存在するか判定し、
前記ＬＭＩ可解問題の解が存在する場合、前記ＬＭＩ可解問題の解と前記方程式とを用いて前記ゲイン行列を生成する、
付記１又は２記載の制御プログラム。
【０１３２】
（付記４）
コンピュータが、
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成し、
生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する、
処理を実行する制御方法。
【０１３３】
（付記５）
制御対象の内部状態を表す変数が満たす条件に対応する方程式に基づき、前記制御対象の内部状態の推定に用いられるゲイン行列を生成する生成部と、
前記生成部により生成された前記ゲイン行列を用いるオブザーバにより生成された、前記制御対象の内部状態の推定結果に基づき、前記制御対象を制御する制御部と、
を有する制御装置。
【符号の説明】
【０１３４】
１  制御装置    ２  ネットワーク
３  制御対象装置    ４  設計装置
５  状態推定装置
１０１  設計部    １０３  状態推定部
１０５  通信部    １１１  出力データ格納部
１１３  推定値格納部    １１５  ワークデータ格納部
３０１  センサ    ３０２  被制御部
３０３  通信部
【図１】
2018163395.tif 000029
【図２】
2018163395.tif 000030
【図３】
2018163395.tif 000031
【図４】
2018163395.tif 000032
【図５】
2018163395.tif 000033
【図６】
2018163395.tif 000034
【図７】
2018163395.tif 000035
【図８】
2018163395.tif 000036
【図９】
2018163395.tif 000037
【図１０】
2018163395.tif 000038
【図１１】
2018163395.tif 000039
【図１２】
2018163395.tif 000040
【図１３】
2018163395.tif 000041
【図１４】
2018163395.tif 000042
【図１５】
2018163395.tif 000043
【図１６】
2018163395.tif 000044
【図１７】
2018163395.tif 000045