(58)【調査した分野】(Int.Cl.,DB名)
線形パラメータ変動モデルによってモデル化する対象システムが動作する際の条件の取り得る値の範囲を示す動作領域の情報と、前記動作領域の各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データと、前記線形パラメータ変動モデルの予測性能評価に用いる前記対象システムの入力データおよび出力データとが入力される入力手段と、
前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データに基づいて、前記対象システムの線形パラメータ変動モデルを推定する線形パラメータ変動モデル推定手段と、
前記線形パラメータ変動モデルと、前記予測性能評価に用いる前記対象システムの入力データおよび出力データとを用いて、前記各端点から離れた点に該当する条件の下で、出力データの予測値を求め、前記予測値と出力データの真値のRMSE(Root Mean Squared Error )を算出し、前記RMSEの値が閾値以下であるならば、前記線形パラメータ変動モデルによる出力データの予測性能が良好であると判定し、前記RMSEの値が前記閾値を超えているならば、前記予測性能が良好でないと判定し、前記予測性能が良好であると判定した場合、前記線形パラメータ変動モデルを前記対象システムの線形パラメータ変動モデルとして定める良否判定手段と、
前記予測性能が良好でないと判定された場合、動作領域内の点に対応する条件下で収集された前記対象システムの入力データおよび出力データの追加を指示するメッセージを出力するデータ追加指示手段とを備え、
前記線形パラメータ変動モデル推定手段は、
前記メッセージに応じて前記入力手段に前記対象システムの入力データおよび出力データが追加で入力された場合、当該入力データおよび出力データと、前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データとに基づいて、前記対象システムの線形パラメータ変動モデルを推定する
ことを特徴とする線形パラメータ変動モデル推定システム。
線形パラメータ変動モデルによってモデル化する対象システムが動作する際の条件の取り得る値の範囲を示す動作領域の情報と、前記動作領域の各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データと、前記線形パラメータ変動モデルの予測性能評価に用いる前記対象システムの入力データおよび出力データとの入力を受け付け、
前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データに基づいて、前記対象システムの線形パラメータ変動モデルを推定し、
前記線形パラメータ変動モデルと、前記予測性能評価に用いる前記対象システムの入力データおよび出力データとを用いて、前記各端点から離れた点に該当する条件の下で、出力データの予測値を求め、前記予測値と出力データの真値のRMSE(Root Mean Squared Error )を算出し、前記RMSEの値が閾値以下であるならば、前記線形パラメータ変動モデルによる出力データの予測性能が良好であると判定し、前記RMSEの値が前記閾値を超えているならば、前記予測性能が良好でないと判定し、前記予測性能が良好であると判定した場合、前記線形パラメータ変動モデルを前記対象システムの線形パラメータ変動モデルとして定め、
前記予測性能が良好でないと判定した場合、動作領域内の点に対応する条件下で収集された前記対象システムの入力データおよび出力データの追加を指示するメッセージを出力し、
前記メッセージに応じて前記対象システムの入力データおよび出力データが追加で入力された場合、当該入力データおよび出力データと、前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データとに基づいて、前記対象システムの線形パラメータ変動モデルを推定する
ことを特徴とする線形パラメータ変動モデル推定方法。
線形パラメータ変動モデル内で、スケジューリングパラメータを、説明変数を用いたスケジューリングパラメータの関数であるスケジューリングパラメータ予測モデルで表現する
請求項4に記載の線形パラメータ変動モデル推定方法。
線形パラメータ変動モデルによってモデル化する対象システムが動作する際の条件の取り得る値の範囲を示す動作領域の情報と、前記動作領域の各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データと、前記線形パラメータ変動モデルの予測性能評価に用いる前記対象システムの入力データおよび出力データとが入力される入力手段を備えたコンピュータに搭載される線形パラメータ変動モデル推定プログラムであって、
前記コンピュータに、
前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データに基づいて、前記対象システムの線形パラメータ変動モデルを推定する線形パラメータ変動モデル推定処理、
前記線形パラメータ変動モデルと、前記予測性能評価に用いる前記対象システムの入力データおよび出力データとを用いて、前記各端点から離れた点に該当する条件の下で、出力データの予測値を求め、前記予測値と出力データの真値のRMSE(Root Mean Squared Error )を算出し、前記RMSEの値が閾値以下であるならば、前記線形パラメータ変動モデルによる出力データの予測性能が良好であると判定し、前記RMSEの値が前記閾値を超えているならば、前記予測性能が良好でないと判定し、前記予測性能が良好であると判定した場合、前記線形パラメータ変動モデルを前記対象システムの線形パラメータ変動モデルとして定める良否判定処理、および、
前記予測性能が良好でないと判定された場合、動作領域内の点に対応する条件下で収集された前記対象システムの入力データおよび出力データの追加を指示するメッセージを出力するデータ追加指示処理を実行させ、
前記メッセージに応じて前記入力手段に前記対象システムの入力データおよび出力データが追加で入力された場合、前記線形パラメータ変動モデル推定処理で、当該入力データおよび出力データと、前記各端点の周辺の条件下で収集された前記対象システムの入力データおよび出力データとに基づいて、前記対象システムの線形パラメータ変動モデルを推定させる
ための線形パラメータ変動モデル推定プログラム。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態を図面を参照して説明する。
【0022】
既に説明したように、対象システムが動作する際の条件の取り得る値の範囲を動作領域と記す。また、動作領域の頂点は、各条件の上限値や下限値の組み合わせに該当する。この動作領域の頂点を端点と記す。
図1は、動作領域および端点の例を示す説明図である。本実施形態では、対象システムがドローンである場合を例にして説明する。
図1では、
図10と同様に、ドローンが動作する際の条件として、「風速」および「荷物の重さ」を例示し、風速の範囲が0〜5(m/s)であり、荷物の重さの範囲が0〜5kgである場合を例示している。条件は、風速および荷物の重さに限定されず、ドローンの運用者が重要だと考える条件に着目して、動作領域を定めることができる。
【0023】
各端点61は、「風速」および「荷物の重さ(ドローンに載せる荷物の重さ)」という2つの条件の上限値や下限値の組み合わせに該当している。
【0024】
また、個々の条件の上限値および下限値は、例えば、対象システム(本実施形態では、ドローン)の仕様で定められた上限値および下限値を用いればよい。例えば、ドローンの仕様において、ドローンを運用可能な風速の上限値および下限値がそれぞれ“5m/s”,“0m/s”と定められていれば、風速の上限値および下限値がそれぞれ“5m/s”,“0m/s”となるように、動作領域60を定めればよい。荷物の重さの上限値、下限値についても同様である。この場合、端点61は、対象システムの仕様に基づいて定まると言うことができる。
【0025】
なお、本実施形態では、説明を簡単にするために、条件が2つであり、動作領域が2次元で表される場合を例にして説明する。ただし、3つ以上の条件によって、動作領域を定めてもよい。また、1つの条件によって、動作領域を定めてもよい。1つの条件によって動作領域を定める場合、動作領域は線分で表される。
【0026】
本発明の線形パラメータ変動モデル推定システム(以下、LPVモデル推定システムと記す。)は、まず、各端点61の周辺の条件下で収集された対象システムの入力データおよび出力データに基づいて、LPVモデルを推定する。そして、各端点61は、各ローカルモデルに対応している。
【0027】
また、端点61の周辺の条件とは、より具体的には、端点61の周辺であって、かつ、動作領域60に含まれる範囲内の任意の条件である。例えば、
図1に示す例において、斜線で示す範囲内の任意の条件が、端点61の周辺の条件に該当する。
【0028】
また、本発明のLPVモデル推定システムが推定するLPVモデルにおいて、スケジューリングパラメータは、説明変数を用いた関数で表される。説明変数を用いてスケジューリングパラメータを表した関数をスケジューリングパラメータ予測モデルと記す。
【0029】
また、時間経過とともに、各ローカルモデルのスケジューリングパラメータの値は変化し得るものとする。時刻kにおける説明変数をφ
kと表すこととする。また、i番目のローカルモデルにおける時刻kでのスケジューリングパラメータをμ
k(i)と表すこととする。さらに、i番目のローカルモデルにおける時刻kでのスケジューリングパラメータ予測モデルを以下に示す式(2)のように表すこととする。
【0031】
本発明では、LPVモデルは、以下に示す式(3)のように表される。
【0033】
式(3)は、前述の式(1)内のスケジューリングパラメータμ
k(i)を、スケジューリングパラメータ予測モデルg
i(φ
k)で表したものであり、式(3)におけるその他の各変数の意味は、式(1)における各変数の意味と同様である。
【0034】
また、一般に、対象システムの入力データ、出力データおよびスケジューリングパラメータの値が得られていれば、対象システムのLPVモデルを推定することができる。本発明のLPVモデル推定システムでは、スケジューリングパラメータの値が得られていなくても、LPVモデルの推定を可能としている。
【0035】
前述のように、本発明のLPVモデル推定システムは、まず、各端点61の周辺の条件下で収集された対象システムの入力データおよび出力データに基づいて、LPVモデルを推定する。そのLPVモデルは、式(3)のように表される。式(3)における説明変数の値を調整することで、動作領域60内の任意の点に対応する条件の下での、出力データを予測することができる。説明変数の値を定めれば各ローカルモデルのスケジューリングパラメータの値が定まり、その結果、動作領域60内の1点が定まる。そして、その点に対応する条件の下での出力データを予測することができる。従って、所望の条件を表す動作領域60内の1点に合わせて、スケジューリングパラメータ予測モデルの説明変数の値を調整することによって、所望の条件の下での出力データを予測することができる。
【0036】
そして、LPVモデルの予測性能が良好でないと判定した場合に、LPVモデル推定システムに、対象システムの入力データおよび出力データが追加で入力され、LPVモデル推定システムは、その入力データおよび出力データも用いて、LPVモデルを推定し直す。
【0037】
図2は、本発明のLPVモデル推定システムの構成例を示すブロック図である。本発明のLPVモデル推定システム1は、入力部2と、LPVモデル推定部3と、良否判定部4と、データ追加指示部5と、LPVモデル出力部6とを備える。
【0038】
入力部2は、入力データ11を入力するための入力装置である。入力データ11は、LPVモデル推定システム1が対象システム(モデル化の対象システム)のLPVモデルを推定する際等に用いるデータである。入力部2は、例えば、光学ディスク等のデータ記録媒体に記憶された入力データ11を読み込むデータ読み込み装置であるが、入力部2はこのようなデータ読み込み装置に限定されない。入力部2は、LPVモデル推定システム1のユーザが入力データ11を入力するための入力デバイスであってもよい。
【0039】
以下、入力データ11に含まれる情報について説明する。
【0040】
入力データ11は、動作領域60の情報を含む。例えば、入力データ11は、動作領域60を規定する情報として、各端点61の座標を含む。
【0041】
また、入力データ11は、ドローン(対象システム)の運用者が各端点61の周辺の条件下で収集した対象システムの入力データおよび出力データを含む。なお、本発明のLPVモデル推定システム1に入力される入力データには符号11を付し、対象システムに入力された入力データには符号を付さないことによって、両者を区別する。また、既に説明したように、端点61の周辺の条件とは、より具体的には、端点61の周辺であって、かつ、動作領域60に含まれる範囲内の任意の条件である。
【0042】
ここで、時刻をkで表す。ドローンの運用者は、それぞれの端点61の周辺の条件のもとで、時刻k=1,2,・・・,Nにおけるドローンへの入力データの値および出力データの値を収集する。Nは、例えば、1000であるが、1000に限定されない。これらの各条件の下での各時刻での入力データの値および出力データの値が、入力データ11に含まれる。なお、早い方の時刻から順に、1,2,3,・・・,Nと表している。
【0043】
また、入力データ11は、LPVモデルの予測性能評価に用いるドローンの入力データおよび出力データを含む。ドローンの運用者は、各端点61から離れた点62〜65(
図1参照)に該当する条件の下で、例えば、時刻k=1,2,・・・,Mにおけるドローンへの入力データの値および出力データの値を収集する。Mは、例えば、100であるが、100に限定されない。このようにして収集された入力データおよび出力データが、予測性能評価に用いるデータとして、入力データ11に含まれる。ここでは、予測性能評価に用いるデータ収集時の条件として、点62〜65(
図1参照)に該当する条件を例示したが、予測性能評価に用いるデータ収集時の条件は、点62〜65に該当する条件でなくてもよい。例えば、予測性能評価に用いるデータ収集時の条件に対応する点の数は4つでなくてもよい。また、例えば、予測性能評価に用いるデータ収集時の条件は、1つの点に該当する条件であってもよい。
【0044】
なお、ドローンの運用者が入力データおよび出力データを収集する際、風速等の条件が厳密に一定に保たれていなくてもよい。
【0045】
また、ドローンの運用者は、風速等の条件を所望の値に設定できる設備を利用して、ドローンの入力データおよび出力データを収集してもよい。
【0046】
また、ドローンの運用者が時刻k=1,2,・・・におけるドローンの入力データの値および出力データの値を収集すると説明した。運用者は、異なる条件下で複数のドローンを同時に飛行させて、各時刻における各ドローンの入力データの値および出力データの値を収集してもよい。
【0047】
あるいは、運用者は、ある条件下で1つのドローンを飛行させ、連続する複数の時刻における入力データの値および出力データの値を収集し、次に、他の条件でそのドローンを飛行させ、連続する複数の時刻における入力データの値および出力データの値を収集するようにして、種々の条件下での入力データおよび出力データを収集してもよい。この場合、条件毎にデータの収集時刻が異なるが、種々の条件下でデータを収集した際の連続する時刻として、便宜的にk=1,2,・・・という時刻を割り当ててもよい。
【0048】
なお、ドローンの入力データの例として、ドローンのロータの回転速度が挙げられる。また、ドローンの出力データの例として、ドローンの姿勢および位置が挙げられる。
【0049】
また、入力データ11は、ローカルモデルの数も含む。以下、このローカルモデルの数をm個とする。各端点61が各ローカルモデルに対応するので、端点61の数(
図1に示す例では4)をローカルモデルの数として用いればよい。
【0050】
また、入力データ11は、部分空間同定法でのウィンドウパラメータの値を含む。以下、このウィンドウパラメータの値をpとする。部分空間同定法では、時刻順に連続して並ぶデータのまとまり(時系列データ)を、サンプルデータとして扱う。以下、このサンプルデータを時系列サンプルと記す。1つの時系列サンプルは、p個のデータを時刻順に並べたベクトルとなる。また、p<Nであるものとする。また、時刻kのデータを1番目のデータとして順番にp個のデータを並べた時系列サンプルを、時刻kの時系列サンプルと呼ぶこととする。時系列サンプルは、データの時間的な変化を表しているということができる。N個のデータが与えられた場合、そのN個のデータから、N−p+1個の時系列サンプルが得られる。部分空間同定法では、時系列サンプルの写像関係を扱う。
【0051】
また、入力データ11は、m個のローカルモデルそれぞれに対して定められたスケジューリングパラメータ予測モデルの形式を示す情報も含む。例えば、1番目および2番目のローカルモデルのスケジューリングパラメータをμ
(1),μ
(2)とした場合、それらのローカルモデルのスケジューリングパラメータが、μ
(1)=a×φ+b,μ
(2)=c×φ
2+d×φ等の形式で表されることを示す情報が入力データ11に含まれている。上記の例において、φは説明変数であり、a,c,dは係数であり、bは定数項である。この情報は、関数の形式を表すだけであり、例示したa,c,d等の係数の値や、定数項bの値までは定めていない。上記の例では、2つのローカルモデルの関数の形式を示したが、m個のローカルモデルそれぞれに対して関数の形式が定められている。また、上記の2つの関数の形式は例示であり、関数の形式は上記の例に限定されるわけではない。この各関数(スケジューリングパラメータ予測モデル)は、後述するように、回帰モデルとして導出される。
【0052】
また、入力データ11は、時刻1〜Nにおける説明変数φの値も含む。
【0053】
LPVモデル推定部3は、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データに基づいて、ドローンのLPVモデルを推定する。
【0054】
また、LPVモデル推定部3がLPVモデルを推定した後、ドローンの運用者が、動作領域60内の点に対応する条件下でドローンの入力データおよび出力データを収集し、その入力データおよび出力データが、入力部2に追加で入力される場合がある。この場合、LPVモデル推定部3は、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データと、新たに運用者によって収集され、入力部2に追加で入力されたドローンの入力データおよび出力データとに基づいて、ドローンのLPVモデルを推定し直す。
【0055】
LPVモデル推定部3は、式(3)のように表されるLPVモデルを推定する。すなわち、LPVモデル推定部3は、スケジューリングパラメータをスケジューリングパラメータ予測モデルで表現したLPVモデルを推定する。換言すれば、LPVモデル推定部3は、LPVモデル内で、スケジューリングパラメータをスケジューリングパラメータ予測モデルで表現する。
【0056】
LPVモデル推定部3の構成例の詳細や、LPVモデル推定部3がLPVモデルを推定する処理経過の詳細については、後述する。
【0057】
良否判定部4は、LPVモデル推定部3によって推定されたLPVモデルと、LPVモデルの予測性能評価に用いるドローンの入力データおよび出力データとに基づいて、推定されたLPVモデルによるドローンの出力データの予測性能が良好であるか否かを判定する。良否判定部4は、予測性能評価に用いるドローンの入力データおよび出力データと、推定されたLPVモデルとを用いて、各時刻の次の時刻におけるドローンの出力データの予測値を算出し、その予測値と、実際の出力データの値との差に基づいて、推定されたLPVモデルによる出力データの予測性能が良好であるか否かを判定すればよい。
【0058】
良否判定部4は、推定されたLPVモデルによる出力データの予測性能が良好であると判定した場合、そのLPVモデルをドローンのLPVモデルとして定める(換言すれば、確定する)。
【0059】
LPVモデル出力部6は、ドローンのLPVモデルとして確定されたLPVモデルを出力する。例えば、LPVモデル出力部6は、LPVモデル推定システム1が備えるディスプレイ装置(
図2において図示略)に、LPVモデルを表示させてもよい。ただし、LPVモデル出力部6が確定されたLPVモデルを出力する態様は特に限定されない。
【0060】
データ追加指示部5は、LPVモデルによる出力データの予測性能が良好でないと良否判定部4によって判定された場合、動作領域60内の点に対応する条件下で収集されたドローンの入力データおよび出力データの追加を指示するメッセージを出力する。データ追加指示部5は、例えば、LPVモデル推定システム1が備えるディスプレイ装置(
図2において図示略)にこのメッセージを表示させてもよい。メッセージの出力態様は、特に限定されない。
【0061】
上記のメッセージが出力された場合、ドローンの運用者は、そのメッセージに応じて、動作領域60内の点に対応する条件下でドローンの入力データおよび出力データを収集する。その入力データおよび出力データが入力部2に追加で入力されると、既に説明したように、LPVモデル推定部3は、その入力データおよび出力データも用いて、LPVモデルを推定し直す。
【0062】
次に、本発明の処理経過について説明する。
図3は、本発明のLPVモデル推定システム1の処理経過の例を示すフローチャートである。
【0063】
まず、入力部2に、入力データ11が入力される(ステップS1)。
【0064】
次に、LPVモデル推定部3は、式(3)のように表されるドローンのLPVモデルを推定する(ステップS2)。ステップS1からステップS2に移行した場合、LPVモデル推定部3は、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データに基づいて、LPVモデルを推定する。
【0065】
ステップS2におけるLPVモデル推定部3の処理経過の詳細については、後述する。
【0066】
ステップS2の後、良否判定部4は、ステップS2で推定されたLPVモデルと、LPVモデルの予測性能評価に用いるドローンの入力データおよび出力データとに基づいて、推定されたLPVモデルによるドローンの出力データの予測性能が良好であるか否かを判定する(ステップS3)。
【0067】
例えば、予測性能評価に用いるデータ収集時の条件として、動作領域60内において、各端点61から離れている点62〜65(
図1参照)に該当する条件が選ばれていたとする。そして、ドローンの運用者が、点62〜65に該当するそれぞれの条件の下で、時刻k=1,2,・・・,Mにおけるドローンへの入力データの値および出力データの値を収集し、その各時刻における入力データの値および出力データの値がステップS1で入力部2に入力されたとする。
【0068】
良否判定部4は、点62に該当する条件の下で収集された時刻k=1,2,・・・,M−1の入力データの値および出力データの値と、LPVモデルとを用いて、時刻k=2,3,・・・,Mにおけるドローンの出力データの値を予測する。このとき、良否判定部4は、点62に該当する条件の下でのドローンの予測値を求めるために、式(3)におけるスケジューリングパラメータ予測モデルの説明変数φ
kの値を適切な値に調整する。
【0069】
また、点62に該当する条件の下で収集された時刻k=2,3,・・・,Mにおける出力データは、真値である。良否判定部4は、例えば、予測値と真値のRMSE(Root Mean Squared Error )を算出する。そして、良否判定部4は、そのRMSEの値が閾値以下であるか否かを判定する。
【0070】
ここでは、点62に該当する条件の下で収集されたデータを例に説明したが、良否判定部4は、点63、点64、点65に該当する条件の下で収集されたデータに関してもそれぞれ同様の処理を行う。
【0071】
良否判定部4は、例えば、点62〜65のいずれにおいても、RMSEの値が閾値以下であるならば、ステップS2で推定されたLPVモデルによるドローンの出力データの予測性能が良好であると判定する。また、良否判定部4は、点62〜65のいずれかにおいて、RMSEの値が閾値を超えていたならば、ステップS2で推定されたLPVモデルによるドローンの出力データの予測性能が良好でないと判定する。
【0072】
予測性能が良好であるか否かの判定基準は、上記の例に限定されない。例えば、予測性能評価に用いるデータ収集時の条件は、1つの点に該当する条件であってもよい。その場合、良否判定部4は、その1つの点におけるRMSEの値が閾値以下であるか否かによって、予測性能が良好であるか否かを判定すればよい。
【0073】
LPVモデルの予測性能が良好でないと判定された場合(ステップS3のNo)、データ追加指示部5は、動作領域60内の点に対応する条件下で収集されたドローンの入力データおよび出力データの追加を指示するメッセージを出力する(ステップS4)。この動作領域60内の点の定め方は任意でよい。例えば、データ追加指示部5は、動作領域60内の任意の点を定めてもよい。あるいは、データ追加指示部5は、予測性能評価に用いるデータ収集時の条件に対応する点62〜65のいずれかの周辺の任意の点を定めてもよい。データ追加指示部5は、その点に対応する条件下で収集されたドローンの入力データおよび出力データの追加を指示するメッセージを出力する。例えば、データ追加指示部5が、座標(2.5,2.5)の点を定めたとする。この場合、データ追加指示部5は、風速2.5m/s、荷物の重さ2.5kgという条件の下で収集されたドローンの入力データおよび出力データの追加を指示するメッセージを出力する。
【0074】
LPVモデル推定システム1のユーザは、ドローンの運用者にメッセージの内容を伝える。ドローンの運用者は、メッセージに応じて、新たに、ドローンの入力データおよび出力データを収集する。例えば、上記の例のメッセージの内容が伝えられた場合、ドローンの運用者は、風速2.5m/s、荷物の重さ2.5kgという条件の下で、連続する複数の時刻における入力データの値および出力データの値を収集する。このとき、その連続する複数の時刻として、k=1,2,・・・,Nという時刻を割り当てればよい。ドローンの運用者は、新たに収集した、時刻k=1,2,・・・,Nのドローンの入力データの値および出力データの値を、LPVモデル推定システム1のユーザに渡せばよい。
【0075】
次に、新たに収集された時刻k=1,2,・・・,Nのドローンの入力データの値および出力データの値が、LPVモデル推定システム1のユーザによって、入力部2に追加で入力される(ステップS5)。
【0076】
なお、上記の例では、追加入力されるデータを人間(ドローンの運用者)が収集する場合を示した。追加入力されるデータは、人間以外の何らかのシステムによって収集されてもよい。
【0077】
ステップS5の後、LPVモデル推定部3は、式(3)のように表されるドローンのLPVモデルを推定する(ステップS2)。ステップS5からステップS2に移行した場合、LPVモデル推定部3は、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データだけでなく、ステップS5で追加で入力されたドローンの入力データおよび出力データも用いて、LPVモデルを推定する。従って、ステップS5からステップS2に移行した場合、LPVモデル推定部3は、LPVモデルを推定し直すことになる。
【0078】
ステップS2の後、LPVモデル推定システム1は、ステップS3以降の処理を繰り返す。ステップS2,S3,S4,S5の処理が繰り返される毎に、ステップS2では、LPVモデルの推定に用いるドローンの入力データおよび出力データの量は増える。従って、LPVモデルによるドローンの出力データの予測性能は向上していく。
【0079】
LPVモデルの予測性能が良好であると判定した場合(ステップS3のYes)、良否判定部4は、直近のステップS2で判定されたLPVモデルをドローンのLPVモデルとして確定する(ステップS6)。
【0080】
次に、LPVモデル出力部6は、ドローンのLPVモデルとして確定されたLPVモデルを出力する(ステップS7)。
【0081】
次に、LPVモデル推定部3の構成や処理経過(ステップS2の処理経過)の詳細について説明する。
【0082】
図4は、LPVモデル推定部3の構成例を示すブロック図である。LPVモデル推定部3は、初期化部102と、状態変数計算部103と、回帰係数最適化部104と、スケジューリングパラメータ予測モデル最適化部105と、最適性判定部106と、システム行列最適化部107とを含む。
【0083】
初期化部102は、時刻k=p,p+1,・・・,Nそれぞれにおける各ローカルモデルのスケジューリングパラメータμ
k(i)の初期値を定める。初期化部102は、iとkの組み合わせ毎にスケジューリングパラメータの初期値を定める。既に説明したように、個々のスケジューリングパラメータの値は0以上である。また、任意の時刻において、各ローカルモデルのスケジューリングパラメータの値の総和は1である。従って、個々のスケジューリングパラメータの初期値が0以上であり、同一時刻におけるm個のローカルモデルのスケジューリングパラメータの初期値の総和は1であるという条件を満たしていれば、初期化部102は、各時刻における各ローカルモデルのスケジューリングパラメータの初期値を任意の方法で決定してよい。
【0084】
状態変数計算部103は、入力部2(
図2参照)に入力された対象システムへの入力データの値および対象システムからの出力データの値や、各ローカルモデルのスケジューリングパラメータの値に基づいて、過去の時刻における状態変数x
kの値を計算する。
【0085】
状態変数計算部103は、状態変数x
kの値を計算する際、LPVモデルに対する部分空間同定法を実行する。このとき、状態変数計算部103は、時刻k=1,2,・・・,Nにおける入力データおよび出力データ、ローカルモデル数、ウィンドウパラメータを用いることによって、拡大可観測行列を求め、その拡大可観測行列に基づいて、状態変数x
kの値を計算する。より具体的には、状態変数計算部103は、時系列サンプルを作成する。そして、対象システムが安定であるという仮定に基づいて、状態変数計算部103は、時刻kの時系列サンプルと時刻k+pの時系列サンプルの対応関係を線形回帰モデルで近似する。このとき、状態変数計算部103は、ローカルモデル数mを使用する。状態変数計算部103は、その線形回帰モデルにおける回帰係数を最小二乗法によって求める。状態変数計算部103は、その回帰係数を用いて、拡大可観測行列と拡大可到達行列の積を求め、その積に特異値分解を適用することによって、過去の時刻における状態変数x
kの値を計算する。
【0086】
なお、N個の時刻のうち、最初のk=1,・・・,p−1の時刻のデータは、時系列サンプルを構成できない。そのため、状態変数計算部103は、N個の時刻からk=1,・・・,p−1の時刻を除いたk=p,p+1,・・・,Nの各時刻における状態変数x
kの値が得られる。
【0087】
また、後述するように、スケジューリングパラメータ予測モデル最適化部105は、スケジューリングパラメータ予測モデルを導出し、そのスケジューリングパラメータ予測モデルに基づいて各ローカルモデルのスケジューリングパラメータの値を計算する。状態変数計算部103は、最初に状態変数x
kの値を計算する時には、初期化部102によって定められたスケジューリングパラメータの初期値を用いる。状態変数計算部103は、状態変数x
kの値を計算する2回目以降の処理では、スケジューリングパラメータ予測モデル最適化部105がスケジューリングパラメータ予測モデルに基づいて計算したスケジューリングパラメータの値を用いる。
【0088】
回帰係数最適化部104は、計算されているスケジューリングパラメータの値および状態変数の値を用いて、LPVモデルにおける回帰係数W
(i)を最適化する。LPVモデルにおける回帰係数W
(i)は、式(3)におけるA
(i),B
(i),Cの組み合わせである。具体的には、W
(i)は、W
(i):=[CA
(i),CB
(i)]と計算される係数である。後述するように、A
(i),B
(i),K
(i),C,D(式(3)を参照)をシステム行列と呼ぶ。従って、回帰係数W
(i)は、システム行列のうちの、所定のシステム行列A
(i),B
(i),Cによって表される係数であると言うことができる。なお、回帰係数最適化部104は、式(3)におけるDをゼロ行列と仮定する。また、式(3)におけるK
(i)は、回帰誤差に関するものであるので、回帰係数W
(i)の構成要素ではない。
【0089】
回帰係数最適化部104は、計算されているスケジューリングパラメータの値および状態変数の値を固定値として、LPVシステム同定の評価関数の値が最小となるときの回帰係数W
(i)の値を計算する。この値が、回帰係数W
(i)の最適値である。
【0090】
上記の評価関数は、以下に示す式(4)のように表される。
【0092】
すなわち、回帰係数最適化部104は、計算されているスケジューリングパラメータの値および状態変数の値を固定値として、以下に示す式(5)の計算を行えばよい。
【0094】
計算されているスケジューリングパラメータの値および状態変数の値を固定値することで、目的関数は、以下に示す式(6)のように変形することができる。
【0096】
式(6)に示すWは、W
(1),W
(2),・・・,W
(m)を意味する。回帰係数最適化部104は、式変形後の式(6)に示すノルム内の第2項において、Wを回帰係数とし、W以外を説明変数として、最小二乗法によってWを算出する。
【0097】
スケジューリングパラメータ予測モデル最適化部105は、計算されている状態変数の値および回帰係数W
(i)の値を用いて、各ローカルモデルのスケジューリングパラメータ予測モデルを最適化する。
【0098】
スケジューリングパラメータ予測モデル最適化部105は、計算されている状態変数の値および回帰係数W
(i)の値を固定値として、LPVシステム同定の評価関数(式(4)を参照)の値が最小となるときのスケジューリングパラメータの値を計算する。ただし、スケジューリングパラメータ予測モデル最適化部105は、時刻k=p,p+1,・・・,Nそれぞれにおける各ローカルモデルのスケジューリングパラメータμ
k(i)の値を求める。
【0099】
計算されている状態変数の値および回帰係数W
(i)の値を固定値とした場合、式(5)は、以下に示す式(7)に変形することができる。
【0102】
なお、以下に示す式(8)を満たしているものとする。
【0104】
また、λ
k(i),Λ
k,1
m,0
mはそれぞれ、以下に示す式で表される。
【0109】
また、
【数13】
は、m次元ベクトルを意味する。
【0110】
スケジューリングパラメータ予測モデル最適化部105は、式(7)における二次計画問題を解くことによって、式(4)に示す評価関数の値が最小となるときのスケジューリングパラメータの値を計算する。この値が、スケジューリングパラメータの最適値である。この結果、ローカルモデル毎のスケジューリングパラメータの値が得られる。
【0111】
スケジューリングパラメータ予測モデル最適化部105は、上記のように計算したスケジューリングパラメータの値、各ローカルモデルに対して定められたスケジューリングパラメータ予測モデルの形式、および説明変数φの値に基づいて、ローカルモデル毎にスケジューリングパラメータ予測モデルを導出する。スケジューリングパラメータ予測モデル最適化部105は、機械学習によって、スケジューリングパラメータ予測モデルを導出すればよい。この機械学習は、主に教師あり学習である。機械学習として、例えば、カーネル線形回帰やサポートベクターマシンを採用してもよい。なお、各ローカルモデルに対して定められたスケジューリングパラメータ予測モデルの形式、および説明変数φの値は、入力部2(
図2参照)を介して入力されている。
【0112】
さらに、スケジューリングパラメータ予測モデル最適化部105は、導出したスケジューリングパラメータ予測モデルに基づいて、スケジューリングパラメータの値を計算する。スケジューリングパラメータ予測モデル最適化部105は、導出したスケジューリングパラメータ予測モデルに説明変数φの値を代入することによって、スケジューリングパラメータの値を計算すればよい。
【0113】
スケジューリングパラメータは、凸結合係数に該当するための条件を満たしている必要がある。すなわち、個々のスケジューリングパラメータの値が0以上であり、同一時刻におけるm個のローカルモデルのスケジューリングパラメータの値の総和は1であるという条件を満たしている必要がある。スケジューリングパラメータ予測モデル最適化部105は、このような条件を満たすために、スケジューリングパラメータ予測モデル最適化部105は、以下に示す処理を行うことで、スケジューリングパラメータの値を調整する。
【0114】
スケジューリングパラメータ予測モデル最適化部105は、以下に示す式(9)における二次計画問題を解くことによって、スケジューリングパラメータの値を調整する。
【0116】
なお、以下に示す式(10)を満たしているものとする。
【0118】
ここで、チルダを付したμは、以下に示す式で表される。
【0120】
また、キャレットを付したμは、
スケジューリングパラメータ予測モデルに基づいて計算されたスケジューリングパラメータである。
【0121】
最適性判定部106は、式(4)に示す評価関数の値が収束したか否かを判定する。
【0122】
状態変数計算部103、回帰係数最適化部104およびスケジューリングパラメータ予測モデル最適化部105は、評価関数の値が収束したと判定されるまで、順次、前述の処理を繰り返す。
【0123】
システム行列最適化部107は、評価関数の値が収束したと判定された場合、その時点で得られている状態変数の値(状態変数の最適値)、および、スケジューリングパラメータ予測モデルに基づいて計算されたスケジューリングパラメータの値を用いて回帰計算を行うことによって、LPVモデルの各システム行列を最適化する。ここで、各システム行列とは、各ローカルモデルにおけるA
(i),B
(i),K
(i),C,D(式(3)を参照)である。すなわち、A
(i),B
(i),K
(i),C,Dは、それぞれシステム行列に該当する。
【0124】
システム行列最適化部107は、各時刻におけるy
k,u
k,x
kを用いて、最小二乗法によって各システム行列A
(i),B
(i),K
(i),C,Dを計算すればよい。この結果得られた各システム行列は、最適化されたシステム行列である。
【0125】
システム行列最適化部107は、計算した各システム行列A
(i),B
(i),K
(i),C,Dと、評価関数の値が収束したと判定された時点で得られているスケジューリングパラメータ予測モデルg
i(φ
k)によって表したLPVモデルを定める。このLPVモデルは、対象システムのLPVモデルの推定結果である。すなわち、システム行列最適化部107は、対象システムのLPVモデルを推定しているということができる。また、システム行列最適化部107は、LPVモデル内で、スケジューリングパラメータをスケジューリングパラメータ予測モデルg
i(φ
k)によって表しているということができる。
【0126】
次に、LPVモデル推定部3の処理経過(すなわち、ステップS2の処理経過)について説明する。
図5は、LPVモデル推定部3が実行するステップS2の処理経過の例を示すフローチャートである。LPVモデル推定部3の構成要素の動作の詳細については、既に説明しているので、以下の説明では、詳細な動作の説明を省略する。
【0127】
初期化部102は、各ローカルモデルのスケジューリングパラメータμ
k(i)の初期値を定める(ステップS11)。ローカルモデルの数mは、入力データ11に含まれている。ステップS11において、初期化部102は、個々のスケジューリングパラメータの初期値が0以上であり、かつ、同一時刻におけるm個のローカルモデルのスケジューリングパラメータの初期値の総和は1であるという条件を満たすように、各ローカルモデルのスケジューリングパラメータμ
k(i)の初期値を定める。上記の条件を満たしていれば、初期化部102は、ランダムに、スケジューリングパラメータμ
k(i)の初期値を順次定めてもよい。
【0128】
次に、状態変数計算部103は、入力部2(
図2参照)に入力された対象システムへの入力データの値および対象システムからの出力データの値や、各ローカルモデルのスケジューリングパラメータの値に基づいて、過去の時刻における状態変数x
kの値を計算する(ステップS12)。最初にステップS12に移行した場合、状態変数計算部103は、ステップS11で定められたスケジューリングパラメータの初期値を用いる。
【0129】
次に、回帰係数最適化部104は、計算されているスケジューリングパラメータの値および状態変数の値を用いて、LPVモデルにおける回帰係数W
(i)の最適値を計算する(ステップS13)。最初にステップS13に移行した場合、回帰係数最適化部104は、ステップS11で定められたスケジューリングパラメータの初期値を用いる。ステップS13において、回帰係数最適化部104は、計算されているスケジューリングパラメータの値および状態変数の値を固定値として、式(4)に示す評価関数の値が最小となるときの回帰係数W
(i)の値を計算する。
【0130】
次に、スケジューリングパラメータ予測モデル最適化部105は、計算されている状態変数の値および回帰係数W
(i)の値を用いて、各ローカルモデルの最適なスケジューリングパラメータ予測モデルを導出する(ステップS14)。ステップS14において、スケジューリングパラメータ予測モデル最適化部105は、計算されている状態変数の値および回帰係数W
(i)の値を固定値として、式(4)に示す評価関数の値が最小となるときのスケジューリングパラメータの値を計算する。さらに、スケジューリングパラメータ予測モデル最適化部105は、スケジューリングパラメータの値、各ローカルモデルに対して定められたスケジューリングパラメータ予測モデルの形式、および説明変数φの値に基づいて、機械学習により、各ローカルモデルのスケジューリングパラメータ予測モデルを導出する。
【0131】
次に、スケジューリングパラメータ予測モデル最適化部105は、導出したスケジューリングパラメータ予測モデルに基づいて、スケジューリングパラメータの値を計算する(ステップS15)。ステップS15では、スケジューリングパラメータ予測モデル最適化部105は、スケジューリングパラメータの値の計算後に、個々のスケジューリングパラメータの値が0以上であり、かつ、同一時刻におけるm個のローカルモデルのスケジューリングパラメータの値の総和は1であるという条件を満たすように、計算したスケジューリングパラメータの値を調整する。
【0132】
次に、最適性判定部106は、式(4)に示す評価関数の値が収束したか否かを判定する(ステップS16)。前述のように、ステップS14において、スケジューリングパラメータ予測モデル最適化部105は、計算されている状態変数の値および回帰係数W
(i)の値を固定値として、式(4)に示す評価関数の値が最小となるときのスケジューリングパラメータの値を計算する。例えば、最適性判定部106は、直近のステップS14における評価関数の値の最小値と、前回のステップS14における評価関数の値の最小値との差の絶対値が、所定の閾値以下であれば、評価関数の値が収束したと判定し、差の絶対値が所定の閾値を超えていれば、評価関数の値が収束していないと判定してもよい。
【0133】
あるいは、最適性判定部106は、直近のステップS13で計算した回帰係数W
(i)と、前回のステップS13で計算した回帰係数W
(i)との差のフロベニウスノルムを計算し、そのフロベニウスノルムが所定の閾値以下であれば、評価関数の値が収束したと判定し、そのフロベニウスノルムが所定の閾値を超えていれば、評価関数の値が収束していないと判定してもよい。なお、回帰係数W
(i)同士の差のフロベニウスノルムは、回帰係数W
(i)同士の近さを表していると言える。
【0134】
評価関数の値が収束していないと判定された場合(ステップS16のNo)、LPVモデル推定システム1は、ステップS12以降の処理を繰り返す。2回目以降のステップS12の処理では、状態変数計算部103は、直近のステップS15で計算されたスケジューリングパラメータの値を用いる。同様に、2回目以降のステップS13の処理では、回帰係数最適化部104は、直近のステップS15で計算されたスケジューリングパラメータの値を用いる。
【0135】
評価関数の値が収束したと判定された場合(ステップS16のYes)、システム行列最適化部107は、直近のステップS12で得られた状態変数の値、および、直近のステップS15で得られたスケジューリングパラメータの値(前述の条件を満たすように調整された値)を用いて、LPVモデルの各システム行列(式(3)に示すA
(i),B
(i),K
(i),C,D)を最適化する。システム行列最適化部107は、それらのシステム行列A
(i),B
(i),K
(i),C,Dと、直近のステップS14で得られたスケジューリングパラメータ予測モデルを用いて表したLPVモデルを定める(ステップS17)。このLPVモデルは、対象システムのLPVモデルの推定結果である。
【0136】
LPVモデル推定部3(初期化部102と、状態変数計算部103と、回帰係数最適化部104と、スケジューリングパラメータ予測モデル最適化部105と、最適性判定部106と、システム行列最適化部107とを含むLPVモデル推定部3)、良否判定部4、データ追加指示部5およびLPVモデル出力部6は、例えば、線形パラメータ変動モデル推定プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(
図2において図示略)等のプログラム記録媒体から線形パラメータ変動モデル推定プログラムを読み込み、そのプログラムに従って、LPVモデル推定部3、良否判定部4、データ追加指示部5およびLPVモデル出力部6として動作すればよい。また、LPVモデル推定部3、良否判定部4、データ追加指示部5およびLPVモデル出力部6が別々のハードウェアによって実現されていてもよい。さらに、LPVモデル推定部3において、初期化部102、状態変数計算部103、回帰係数最適化部104、スケジューリングパラメータ予測モデル最適化部105、最適性判定部106およびシステム行列最適化部107が、別々のハードウェアによって実現されていてもよい。
【0137】
また、LPVモデル推定システム1は、2つ以上の物理的に分離した装置が有線または無線で接続される構成であってもよい。
【0138】
本実施形態によれば、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データが入力部2に入力され、LPVモデル推定部3は、その入力データおよび出力データに基づいて、ドローンのLPVモデルを推定する(ステップS2、
図3参照)。そして、良否判定部4がLPVモデルによるドローンの出力データの予測性能が良好であるか否かを判定する(ステップS3、
図3参照)。良否判定部4が、予測性能が良好でないと判定した場合に、データ追加指示部5は、動作領域60内の点に対応する条件下で収集されたドローンの入力データおよび出力データの追加を指示するメッセージを出力する(ステップS4、
図3参照)。このメッセージに応じて、新たに収集されたドローンの入力データおよび出力データが追加で入力されると(ステップS5、
図3参照)、LPVモデル推定部3は、追加で入力された入力データおよび出力データと、各端点61の周辺の条件下で収集されたドローンの入力データおよび出力データとに基づいて、LPVモデルを再度、推定する。予測性能が良好であると判定されるまで、LPVモデル推定システム1は、ステップS2,S3,S4,S5の処理を繰り返す。良否判定部4は、予測性能が良好であると判定すると、直近に推定されたLPVモデルをドローンのLPVモデルとして定める。
【0139】
従って、予測性能が良好であると判定されるのに必要な入力データおよび出力データを収集すればよい。よって、本発明によれば、LPVモデルを推定するためのデータ収集量を少なく抑えて、良好な予測性能が得られるLPVモデルを推定することができる。
【0140】
また、上記の説明では、対象システムの仕様に基づいて定まる複数の端点61と、その端点61を有する動作領域60を例にして説明した。このように仕様から定まる動作領域60は、最も広く設定された動作領域であると言える。ここで、動作領域の広さと、LPVモデルの予測性能との間には、以下の関係があると言える。すなわち、動作領域が広いほど、複数のローカルモデルによる凸包も広くなるので、多様な条件の下での対象システムの出力データをLPVモデルから予測することができる。一方、LPVモデルによる出力データの予測性能は、動作領域が狭い場合に比べ、相対的に低い。また、動作領域が狭いほど、複数のローカルモデルによる凸包も狭くなり、出力データをLPVモデルから予測することができる条件の範囲は狭くなる。例えば、動作領域外の点が示す条件の下での出力データの予測を行うことはできない。一方、動作領域内の条件の下では、LPVモデルによる出力データの予測性能は、動作領域が広い場合に比べ、相対的に高い。
【0141】
従って、一旦、上記の実施形態のLPVモデル推定システム1がステップS7でドローンのLPVモデルを出力した後に、より狭い範囲の動作領域を定めることが適切であることが分かったとする。この場合、その動作領域に基づいて、LPVモデル推定システム1が上記と同様の動作を実行することで、より予測性能が高いLPVモデルを得ることができる。
【0142】
例えば、一旦、LPVモデル推定システム1がステップS7でドローンのLPVモデルを出力したとする。その後、ドローンの運用者がドローン
を運用していくうちに、仕様で規定されている上限値付近の条件の下でドローンを使用することはないことが明らかになったとする。例えば、風速3m/s以上の環境下でドローンを使用することはなく、また、2.5kg以上の荷物を載せてドローンを使用することもないことが明らかになったとする。この場合、
図6に示すように、仕様から定まる動作領域60よりも狭い動作領域70およびその端点71を新たに規定することができる。
【0143】
この場合、ドローンの運用者は、新たな各端点71の周辺の条件下でドローンの入力データおよび出力データを収集するとともに、新たな動作領域70にあわせて、予測性能評価に用いるドローンの入力データおよび出力データを収集すればよい。LPVモデル推定システム1は、それらのデータを含む新たな入力データ11が入力されると、その入力データ11を用いて、上記の実施形態で説明した動作と同様の動作を行う。この結果、新たに、動作領域70に基づいたLPVモデルが得られる。
【0144】
動作領域70に基づいたLPVモデルでは、ドローンの出力データを予測できる条件の範囲は、動作領域60に基づいたLPVモデルよりも狭くなる。例えば、動作領域70に基づいたLPVモデルでは、風速“4m/s”、荷物の重さ“4.5kg”という条件下でのドローンの出力データを予測することはできない。しかし、ドローンの出力データを予測可能な条件の範囲内では、より高い予測性能を実現することができる。また、新たな端点71は、実際にドローンを使用する際の上限値や下限値に基づいて定められるので、動作領域70の範囲外の点に該当する条件下での出力データを予測する必要はそもそもないと言える。
【0145】
このように、ドローンを実際に使用して明らかになった条件の上限値および下限値に基づいて、より狭い動作領域およびその端点を規定することによって、より予測性能が高いLPVモデルを得ることができる。
【0146】
上記の実施形態では、対象システムがドローンである場合を例に説明したが、対象システムはドローンに限定されない。
【0147】
例えば、自動車を対象システムとして、本発明に適用してもよい。この場合、例えば、「路面温度」および「自動車に乗せる荷物の重さ」を条件として、動作領域を定めてもよい。また、自動車の入力データの例として、自動車のステアリング角および各ホイールの回転速度が挙げられる。また、自動車の出力データの例として、自動車の姿勢および位置が挙げられる。
【0148】
また、例えば、ロボットアームを対象システムとして、本発明に適用してもよい。この場合、「ロボットアームに保持させる荷物の重さ」を条件として、動作領域を定めてもよい。条件の項目が「ロボットアームに保持させる荷物の重さ」という1項目である場合、動作領域は線分で表される。また、ロボットアームの入力データの例として、ロボットアームのロータの回転角が挙げられる。また、ロボットアームの出力データの例として、ロボットアームの向きが挙げられる。
【0149】
また、対象システムは物理システムに限定されない。例えば、商品を販売する店舗を対象システムとして、本発明に適用してもよい。この場合、「店舗内の明るさ」および「店舗内の室温」を条件として、動作領域を定めてもよい。また、この場合における入力データの例として、商品の陳列数が挙げられる。また、この場合における出力データの例として、販売された商品の個数が挙げられる。この場合、本発明によって得られたLPVモデルによって、商品の廃棄数を制御することができる。
【0150】
図7は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
図7に示す例では、入力デバイス1006が入力部2(
図2参照)に相当する。ただし、コンピュータ1000は、データ11の入力態様に応じた入力部2を備えていればよい。
【0151】
本発明の実施形態のLPVモデル推定システム1は、コンピュータ1000に実装される。LPVモデル推定システム1の動作は、プログラム(線形パラメータ変動モデル推定プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って上記の処理を実行する。
【0152】
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
【0153】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【0154】
また、各装置の各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0155】
各装置の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0156】
次に、本発明の概要について説明する。
図8は、本発明の線形パラメータ変動モデル推定システムの概要を示すブロック図である。線形パラメータ変動モデル推定システム81は、入力手段82と、線形パラメータ変動モデル推定手段83と、良否判定手段84と、データ追加指示手段85とを備える。
【0157】
入力手段82(例えば、入力部2)には、線形パラメータ変動モデルによってモデル化する対象システムが動作する際の条件の取り得る値の範囲を示す動作領域の情報と、動作領域の各端点の周辺の条件下で収集された対象システムの入力データおよび出力データと、線形パラメータ変動モデルの予測性能評価に用いる対象システムの入力データおよび出力データとが入力される。
【0158】
線形パラメータ変動モデル推定手段83(例えば、LPVモデル推定部3)は、各端点の周辺の条件下で収集された対象システムの入力データおよび出力データに基づいて、対象システムの線形パラメータ変動モデルを推定する。
【0159】
良否判定手段84(例えば、良否判定部4)は、その線形パラメータ変動モデルと、予測性能評価に用いる対象システムの入力データおよび出力データとに基づいて、線形パラメータ変動モデルによる出力データの予測性能が良好であるか否かを判定し、予測性能が良好であると判定した場合、その線形パラメータ変動モデルを対象システムの線形パラメータ変動モデルとして定める。
【0160】
データ追加指示手段85(例えば、データ追加指示部5)は、予測性能が良好でないと判定された場合、動作領域内の点に対応する条件下で収集された対象システムの入力データおよび出力データの追加を指示するメッセージを出力する。
【0161】
線形パラメータ変動モデル推定手段83は、メッセージに応じて入力手段82に対象システムの入力データおよび出力データが追加で入力された場合、当該入力データおよび出力データと、各端点の周辺の条件下で収集された対象システムの入力データおよび出力データとに基づいて、対象システムの線形パラメータ変動モデルを推定する。
【0162】
そのような構成により、線形パラメータ変動モデルを推定するためのデータ収集量を少なくしつつ、良好な予測性能が得られる線形パラメータ変動モデルを推定することができる。
【0163】
また、線形パラメータ変動モデル推定手段83が、線形パラメータ変動モデル内で、スケジューリングパラメータを、説明変数を用いたスケジューリングパラメータの関数であるスケジューリングパラメータ予測モデルで表現することが好ましい。
【0164】
また、線形パラメータ変動モデル推定手段83が、
対象システムのスケジューリングパラメータの初期値を定める初期値決定手段(例えば、初期化部102)と、
対象システムの入力データ、出力データおよびスケジューリングパラメータの値に基づいて、状態変数の値を計算する状態変数計算手段(例えば、状態変数計算部103)と、
スケジューリングパラメータの値および状態変数の値を固定値として、所定の評価関数(例えば、式(4)に示す評価関数)の値が最小となるときの回帰係数の値を計算する回帰係数計算手段(例えば、回帰係数最適化部104)と、
状態変数の値および回帰係数の値を固定値として、所定の評価関数の値が最小となるときのスケジューリングパラメータの値を計算し、スケジューリングパラメータの値と、予め与えられた説明変数の値とに基づいて、説明変数を用いたスケジューリングパラメータの関数であるスケジューリングパラメータ予測モデルを導出し、当該スケジューリングパラメータ予測モデルに基づいてスケジューリングパラメータの値を計算するスケジューリングパラメータ予測モデル導出手段(例えば、スケジューリングパラメータ予測モデル最適化部105)と、
評価関数の値が収束したか否かを判定する収束判定手段(例えば、最適性判定部106)とを含み、
状態変数計算手段、回帰係数計算手段およびスケジューリングパラメータ予測モデル導出手段が、評価関数の値が収束したと判定されるまで、状態変数計算手段が状態変数の値を計算し、回帰係数計算手段が回帰係数の値を計算し、スケジューリングパラメータ予測モデル導出手段がスケジューリングパラメータ予測モデルを導出し、当該スケジューリングパラメータ予測モデルに基づいてスケジューリングパラメータの値を計算することを繰り返し、
評価関数の値が収束したと判定された時点の状態変数の値、およびスケジューリングパラメータの値に基づいて、対象システムの線形パラメータ変動モデルを推定するモデル推定手段(例えば、システム行列最適化部107)を含み、
モデル推定手段が、線形パラメータ変動モデル内で、スケジューリングパラメータをスケジューリングパラメータ予測モデルで表現する
構成であってもよい。
【0165】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0166】
この出願は、2016年7月7日に出願された日本特許出願2016−135115を基礎とする優先権を主張し、その開示の全てをここに取り込む。