(57)【要約】【課題】非線形モデルを線形化することなくパラメータの同定を行うことができるとともに、同定精度を向上させることを目的とする。【解決手段】パラメータ同定装置１は、対象物モデルに所定の入力信号を入力したときの応答信号を得るシミュレーション部２１、実機応答信号に対する対象物モデルの応答誤差を算出する応答誤差算出部２２、応答誤差の関数として表された複数の異なる第１評価関数に応答誤差算出部２２によって算出された応答誤差を与えて各第１評価関数の出力値を演算する評価値算出部２３、第１評価関数を対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、第１評価関数の出力値と第２評価関数の出力値との差がゼロになるような各パラメータ誤差の値を推定するパラメータ誤差推定部２４、及び各パラメータ誤差の値を用いて、対象物モデルに含まれる各パラメータの値を補正するパラメータ補正部２５を具備する。【選択図】図３
2019168776.tif 000002
【特許請求の範囲】
【請求項１】
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション部と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出部と、
応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出部によって演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値算出部と、
前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差分がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定部と、
前記パラメータ誤差推定部によって推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正部と
を具備するパラメータ同定装置。
【請求項２】
各前記第２評価関数は、各前記パラメータ誤差を微小とし、前記対象物モデルのパラメータ群周りの微小変化をテイラー展開した関数として表され、
前記シミュレーション部は、前記対象物モデルの各前記パラメータを一つずつ微小変化させた複数のパラメータ変更モデルに対して、前記所定の入力信号をそれぞれ与えたときの応答信号をそれぞれ演算し、
前記応答誤差算出部は、各前記パラメータ変更モデルの前記応答信号と前記実機応答信号とから各前記パラメータ変更モデルに対応する応答誤差を算出し、
評価値算出部は、各前記パラメータ変更モデルの前記応答誤差を用いて、前記パラメータ変更モデル毎に各前記第１評価関数の出力値を演算し、
前記パラメータ誤差推定部は、前記パラメータ変更モデル毎の前記第１評価関数の出力値と、前記対象物モデルの前記第１評価関数の出力値とを用いて、前記テイラー展開された各前記第２評価関数に含まれる各パラメータに対応する微係数を算出し、各前記パラメータ誤差を推定する請求項１に記載のパラメータ同定装置。
【請求項３】
各前記第２評価関数は、以下の（１）式で表され、
【数１】
2019168776.tif 000011
上記（１）式において、Ｊ１〜Ｊｒは複数の前記第２評価関数、δＰ１〜ΔＰｎは各前記パラメータ誤差、行列ΔＭは微係数行列であり、各要素は上記（２）式で表される請求項２に記載のパラメータ同定装置。
【請求項４】
前記パラメータ補正部によって補正された各前記パラメータを用いることにより前記対象物モデルを更新するモデル更新部と、
更新後の前記対象物モデルに前記所定の入力信号を与えたときの応答信号を得、前記応答信号と前記実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する判定部と、
前記判定部によって前記評価値が前記許容範囲内でないと判定された場合に、更新後の対象物モデルを用いた前記パラメータ誤差の算出を再度行う請求項１から３のいずれかに記載のパラメータ同定装置。
【請求項５】
コンピュータが、
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション工程と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出工程と、
応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出工程において演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値演算工程と、
前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差分がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定工程と、
前記パラメータ誤差推定工程において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正工程と
を実行するパラメータ同定方法。
【請求項６】
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション処理と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出処理と、
応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出処理によって演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値演算処理と、
前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定処理と、
前記パラメータ誤差推定処理において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正処理と
をコンピュータに実行させるためのパラメータ同定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ同定装置及びその方法並びにプログラムに関するものである。
【背景技術】
【０００２】
例えば、フィードフォワード制御では、実際の制御対象を摸した数理モデルを予め作成し、この数理モデルを利用することによって制御系への入力指令を決定する。フィードフォワード制御の精度を向上させるためには、数理モデルの応答を実際の制御対象の応答にできるだけ近づけることが重要である。そこで、実際の制御対象の応答に基づいて数理モデルのパラメータを決定するパラメータ同定が提案されている（例えば、特許文献１、２参照）。
【０００３】
例えば、特許文献１には、線形モデルを対象とし、最小二乗法を用いてモデルパラメータを同定する方法が開示されている。
特許文献２には、離散時間状態空間モデルのシステムにおいて、多入力多出力系の線形モデルを対象とし、マルコフパラメータを用いて離散時間状態空間モデルのモデルパラメータを同定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−６１７７８号公報
【特許文献２】特開２００８−２８７３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
数理モデルの中に非線形要素が含まれている場合、非線形モデルを線形化し、線形化したモデルを用いてパラメータを同定する手法が用いられる。これは、非線形モデルのままパラメータ同定を行うと、収束に長い時間を要する上、所望の精度を得ることが難しいからである。
【０００６】
本発明は、このような事情に鑑みてなされたものであって、非線形モデルを線形化することなくパラメータの同定を行うことができるとともに、同定精度を向上させることのできるパラメータ同定装置及びその方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第一態様は、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション部と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出部と、応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出部によって演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値算出部と、前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差がゼロになるような各前記パラメータ誤差の値を推定するパラメータ誤差推定部と、前記パラメータ誤差推定部によって推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正部とを具備するパラメータ同定装置である。
【０００８】
上記パラメータ同定装置によれば、シミュレーション部によって対象物モデルの応答信号が得られ、応答誤差算出部によって実機の応答信号に対する対象物モデルの応答信号の誤差である応答誤差が算出される。ここで、実機と対象物モデルとの応答誤差は、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であるとみなすことができる。したがって、応答誤差の関数は、対象物モデルに含まれるパラメータ誤差の関数としても表すことができる。このような点に着目し、本発明の第一態様では、応答誤差の関数として表した第１評価関数と、第１評価関数をパラメータ誤差の関数として表した第２評価関数とを用意し、第１評価関数の出力値と第２評価関数の出力値との差がゼロとなるようなパラメータ誤差を推定することとした。そして、このパラメータ誤差を用いて対象物モデルのパラメータを補正することで、対象物モデルの各パラメータを真値に近づけることが可能となる。これにより、実機に近い応答特性を持つ対象物モデルを得ることが可能となる。
上記「前記第１評価関数の出力値と前記第２評価関数の出力値との差がゼロになるような各前記パラメータ誤差の値」とは、前記差がゼロになる場合だけでなく、前記差がゼロに近づくような値、例えば、最小二乗法等を用いて差がゼロになるような各パラメータ誤差の値を推定することも含む。
【０００９】
上記パラメータ同定装置において、各前記第２評価関数は、各前記パラメータ誤差を微小とし、前記対象物モデルのパラメータ群周りの微小変化をテイラー展開した関数として表され、前記シミュレーション部は、前記対象物モデルの各前記パラメータを一つずつ微小変化させた複数のパラメータ変更モデルに対して、前記所定の入力信号をそれぞれ与えたときの応答信号をそれぞれ演算し、前記応答誤差算出部は、各前記パラメータ変更モデルの前記応答信号と前記実機応答信号とから各前記パラメータ変更モデルに対応する応答誤差を算出し、評価値算出部は、各前記パラメータ変更モデルの前記応答誤差を用いて、前記パラメータ変更モデル毎に各前記第１評価関数の出力値を演算し、前記パラメータ誤差推定部は、前記パラメータ変更モデル毎の前記第１評価関数の出力値と、前記対象物モデルの前記第１評価関数の出力値とを用いて、前記テイラー展開された各前記第２評価関数に含まれる各パラメータに対応する微係数を算出し、各前記パラメータ誤差を推定することとしてもよい。
【００１０】
上記パラメータ同定装置によれば、対象物モデルに含まれる複数のパラメータを一つずつ微小変化させたときの対象物モデルである複数のパラメータ変更モデルを生成し、各パラメータ変更モデルに対して入力信号を与えたときの応答信号を取得し、各応答信号と実機応答信号との応答誤差を得る。このようにすることで、各パラメータが応答信号に生じさせる応答誤差の影響を個別に捉えることが可能となる。そして、このようにして得た応答誤差を用いて、第１評価関数の出力値と第２評価関数の出力値との差がゼロとなるような各パラメータ誤差を推定する。
【００１１】
上記パラメータ同定装置において、各前記第２評価関数は、例えば、以下の式で表される。以下の式において、Ｊ１〜Ｊｒは複数の前記第２評価関数、δＰ１〜ΔＰｎは各前記パラメータ誤差、行列ΔＭは微係数行列である。
【００１２】
【数１】
2019168776.tif 000003
【００１３】
また、上記式において、行列ΔＭの各要素は以下の式で表されてもよい。
【００１４】
【数２】
2019168776.tif 000004
【００１５】
上記パラメータ同定装置は、前記パラメータ補正部によって補正された各前記パラメータを用いることにより前記対象物モデルを更新するモデル更新部と、更新後の前記対象物モデルに前記所定の入力信号を与えたときの応答信号を得、前記応答信号と前記実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する判定部とを更に備えていても良く、前記判定部によって前記評価値が前記許容範囲内でないと判定された場合に、更新後の対象物モデルを用いた前記パラメータ誤差の算出を再度行うこととしてもよい。
【００１６】
上記パラメータ同定装置によれば、実機応答信号に対する対象物モデルの応答信号の応答誤差に基づく評価値が所定の許容範囲内となるまで、パラメータ誤差の推定を繰り返し行うので、対象物モデルの応答を実機の応答により近づけることが可能となる。
【００１７】
本発明の第二態様は、コンピュータが、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション工程と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出工程と、応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出工程において演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値演算工程と、前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定工程と、前記パラメータ誤差推定工程において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正工程とを実行するパラメータ同定方法である。
【００１８】
本発明の第三態様は、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション処理と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出処理と、応答誤差の関数として表された複数の異なる第１評価関数に対して、前記応答誤差算出処理において演算された前記応答誤差を与えることにより、各前記第１評価関数の出力値を演算する評価値演算処理と、前記第１評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第２評価関数を用いて、前記第１評価関数の出力値と前記第２評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定処理と、前記パラメータ誤差推定処理において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正処理とをコンピュータに実行させるためのパラメータ同定プログラムである。
【発明の効果】
【００１９】
本発明によれば、非線形モデルを線形化することなくパラメータの同定を行うことができるとともに、同定精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】対象物の実機の応答信号と対象物モデルの応答信号とから応答誤差を得る構成を概略的に示した図である。
【図２】本発明の一実施形態に係るパラメータ同定装置のハードウェア構成の一例を示した概略構成図である。
【図３】本発明の一実施形態に係るパラメータ同定装置が有する機能の一例を示した機能ブロック図である。
【図４】本発明の一実施形態に係るパラメータ同定装置の処理手順の一例を示したフローチャートである。
【図５】本発明の一実施形態に係るパラメータ同定装置の処理手順の一例を示したフローチャートである。
【発明を実施するための形態】
【００２１】
以下に、本発明に係るパラメータ同定装置及びその方法並びにプログラムの一実施形態について、図面を参照して説明する。
【００２２】
まず、本発明の一実施形態に関するパラメータ同定の考え方について図を参照して説明する。
まず、パラメータの同定を行いたい対象物の数理モデル（以下「対象物モデル」という。）を作成する。対象物モデルは、非線形要素を含むモデルであってもよいし、非線形要素を含まない線形要素のみのモデルであってもよい。また、対象物モデルは、例えば、制御の対象とされる制御対象のみをモデル化したものであってもよいし、制御系までも含めたモデルとされていてもよい。対象物の一例として、ロボット等の機械系や、水中航走体等の移動体が挙げられるが、本発明の適用先はこのようなものに限定されず、パラメータ同定が必要となる構造物に広く適用することが可能である。
【００２３】
まず、図１に示すように、便宜上、対象物１０の実機の特性を（１）式で示す。
【００２４】
dX/dt=f(X, P, U)      (1)
【００２５】
（１）式において、ｆは対象物１０の関数、Ｘは対象物１０の状態ベクトル（次元ｋ）、Ｐは対象物１０のパラメータ群（次元ｎ）、Ｕは入力（次元ｑ）を示している。
【００２６】
対象物１０の数理モデル（対象物モデル）は、以下の（２）式で表される。
【００２７】
dXm/dt=fm(Xm,  Pm,  Um)      (2)
【００２８】
（２）式において、ｆｍはモデルの関数、Ｘｍはモデルの状態ベクトル、Ｐｍはモデルのパラメータ群、Ｕｍはモデルの入力を示している。
ここで、対象物モデルは、式の構造は同じで、パラメータにのみ誤差があると仮定する。すなわち、本実施形態では、この条件下においてパラメータを同定する。
【００２９】
まず、対象物モデルが対象物１０に対してパラメータ誤差を持つ場合、対象物１０の実機に入力信号Ｕを与えたときの実機応答信号Ｘと、対象物モデルに入力信号Ｕを与えたときの応答信号Ｘｍとは異なるため、その応答誤差をΔＸ、パラメータ誤差をΔＰとすると以下（３）、（４）式のように表される。
【００３０】
ΔX＝X−Xm      (3)
ΔP=P−Pm      (4)
【００３１】
次に、応答誤差に関する第１評価関数Ｊを定義する。応答誤差の関数として表される第１評価関数Ｊは、以下の（５）式で表される。
【００３２】
【数３】
2019168776.tif 000005
【００３３】
（５）式において、Ｔ１、Ｔ２は応答誤差を積分で評価する時間区間であり、任意に設定できる。また、ｇは第１評価関数の関数である。第１評価関数Ｊは、上述したパラメータ誤差がない状態ではゼロとなる。上記第１評価関数Ｊは、異なる関数のものを複数用意し、その数をｒとする（Ｊ１、Ｊ２、Ｊ３、・・・Ｊｒ）。
【００３４】
一方、対象物１０の実機と対象物モデルとの応答誤差ΔＸは、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であると捉えることができる。そうすると、応答誤差の関数として表された第１評価関数Ｊは、対象物モデルのパラメータ誤差の関数としても表現することができ、以下の（６）式のように表すことができる。
【００３５】
【数４】
2019168776.tif 000006
【００３６】
例えば、第１評価関数Ｊ１、Ｊ２、Ｊ３、・・・Ｊｒに上記応答誤差ΔＸを代入したときの出力値は、各パラメータ誤差δＰ１〜δＰｎによって生じる運動の和として表すことができる。そして、各パラメータ誤差δＰｉ（ｉ＝１〜ｎ）を微小とし、上述した対象物モデルのパラメータ群Ｐｍ周りの微小変化をテイラー展開して１次までの式とすると、第１評価関数Ｊ１〜Ｊｒは、以下の（７）式で表すことができる。本実施形態では、以下の（７）式で示される評価関数を便宜上「第２評価関数」という。
この第２評価関数は、第１評価関数をパラメータ誤差の観点から捉えて表現したものであり、対象物モデルに含まれる各パラメータ誤差の関数として表される。
第１評価関数と、第２評価関数とは同じものを違う観点から表現したものなので、第１評価関数の出力値と第２評価関数の出力値とは等価であるとおくことができる。すなわち、第１評価関数の出力値と第２評価関数の出力値との差がゼロとなるような各パラメータ誤差の値を推定すればよい。
【００３７】
【数５】
2019168776.tif 000007
【００３８】
（７）式において、微係数∂J/Piは、関数が未知であるからこのままでは解けないため、∂J/PiをΔJ/ΔPiに近似すると、上記（７）式は以下の（８）式に示す行列式で表すことができる。
【００３９】
【数６】
2019168776.tif 000008
【００４０】
上記（８）式において、行列ΔＭの各要素、換言すると、テイラー展開における各微係数（ΔJ1/ΔP1〜ΔJr/ΔPn）は、対象物モデルのパラメータＰｊ（ｊ＝１〜ｎ）を一つずつ微小変化（Ｐｊ＋ΔＰｊ）させたときの対象物モデルの応答信号の変化から数値的に求めることができる。
例えば、対象物モデルのパラメータを一つずつ個別に微小変化させたときの対象物モデル（以下「パラメータ変更モデル」という。）を生成し、そのパラメータ変更モデルに入力信号Ｕを与えたときの応答信号をそれぞれシミュレーションによって得る。そして、各パラメータ変更モデルの各応答信号と実機応答信号とから各パラメータ変更モデルに対応する応答誤差を算出し、算出した応答誤差を用いてパラメータ変更モデル毎に各第１評価関数の出力値を演算し、これらパラメータ変更モデル毎の第１評価関数の出力値と、対象物モデルの第１評価関数の出力値とを用いて、上記第２評価関数に含まれる各パラメータに対応する微係数（ΔJ1/ΔP1〜ΔJr/ΔPn）を算出する。
例えば、上記（８）式における微係数は、以下の（９）式で表される。
【００４１】
【数７】
2019168776.tif 000009
【００４２】
このようにして、（８）式における各パラメータの微係数、換言すると、行列ΔＭの各要素が算出されると、（８）式において未知のパラメータは、パラメータ誤差δＰ１〜δＰｎのみとなる。したがって、例えば、未知のパラメータ誤差δＰ１〜δＰｎは、以下の（１０）式で与えられる評価関数を用いた最小二乗法によって得ることができる。
【００４３】
δPV＝(ΔMTΔM)-1JV      (10)
δPV＝（δP1，δP2，・・・δPn）T
JV＝（J1，J2，・・・Jr）T
【００４４】
また、パラメータＰｍの次元ｎと、評価関数の数ｒとが同じ場合（ｎ＝ｒ）には、正方行列となるので、最小二乗法を用いることなく、（１１）式に示すように、逆行列ΔＭ−１を用いて未知のパラメータ誤差δＰ１〜δＰｎを演算することが可能である。
【００４５】
δPV＝ΔM-1・JV      (11)
【００４６】
このようにして、各パラメータについてのパラメータ誤差δＰ１〜δＰｎが推定されると、推定したこれらパラメータ誤差を用いて対象物モデルに用いられている各パラメータを補正し、各パラメータを更新する。例えば、補正後のパラメータは、対象物モデルに設定されていた各パラメータの初期値から各パラメータ誤差の値を減算した値となる。なお、このとき収束性を考えて、パラメータ誤差に調整係数ｋ（ｋ＜１）を乗じた値を各パラメータの初期値から減算することにより、各パラメータの値を更新することとしてもよい。
【００４７】
次に、上述した本実施形態に係るパラメータ同定を実現するための具体的な装置構成について説明する。
【００４８】
図２は、本発明の一実施形態に係るパラメータ同定装置１のハードウェア構成の一例を示した概略構成図である。パラメータ同定装置１は、図１に示すように、コンピュータ（計算機システム）を有し、例えば、ＣＰＵ１１、ＣＰＵ１１が実行するプログラム及びこのプログラムにより参照されるデータ等を記憶するための補助記憶装置１２、各プログラム実行時のワーク領域として機能する主記憶装置１３、ネットワークに接続するための通信インターフェース１４、キーボードやマウス等からなる入力部１５、及びデータを表示する液晶表示装置等からなる表示部１６等を備えている。これら各部は、例えば、バス１８を介して接続されている。補助記憶装置１２は、例えば、磁気ディスク、光磁気ディスク、半導体メモリ等が一例として挙げられる。
【００４９】
後述する各種機能を実現するための一連の処理は、一例として、プログラム（例えば、設計支援プログラム）の形式で補助記憶装置１２に記憶されており、このプログラムをＣＰＵ１１が主記憶装置１３に読み出して、情報の加工・演算処理を実行することにより、各種機能が実現される。なお、プログラムは、補助記憶装置１２に予めインストールされている形態や、他のコンピュータで読み取り可能な記憶媒体に記憶された状態で提供される形態、有線又は無線による通信手段を介して配信される形態等が適用されてもよい。コンピュータ読み取り可能な記憶媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等である。
【００５０】
図３は、本実施形態に係るパラメータ同定装置１が有する機能の一例を示した機能ブロック図である。図３に示すように、パラメータ同定装置１は、記憶部２０と、シミュレーション部２１と、応答誤差算出部２２と、評価値算出部２３と、パラメータ誤差推定部２４と、パラメータ補正部２５と、モデル更新部２６と、判定部２７とを主な構成として備えている。
【００５１】
記憶部２０には、パラメータ同定を行うのに必要となる各種演算式やデータ等が格納されている。例えば、記憶部２０には、対象物をモデル化した対象物モデル、対象物モデルに含まれる各パラメータの初期値、上述した各種演算式、例えば、複数の評価関数、パラメータ誤差を推定するための各種演算式（例えば、上記（３）、（５）、（６）、（８）〜（１１）式等）、また、これら演算式を用いてパラメータ同定を行うために必要とされる各種データ等が格納されている。また、記憶部２０は、パラメータ同定処理を実行するに当たり、処理の中で発生したデータを一時的に格納する記憶領域としても用いられる。
【００５２】
シミュレーション部２１は、対象物１０をモデル化した対象物モデルに所定の入力信号Ｕを入力したときの応答信号Ｘｍをシミュレーションにより求める。また、シミュレーション部２１は、対象物モデルの各パラメータの値を一つずつ微小変化させた複数のパラメータ変更モデルに対して、所定の入力信号Ｕをそれぞれ与えたときの応答信号を演算する。
【００５３】
応答誤差算出部２２は、対象物１０の実機に所定の入力信号Ｕを入力したときの応答信号である実機応答信号Ｘに対する対象物モデルの応答信号Ｘｍの応答誤差ΔＸを算出する。また、応答誤差算出部２２は、各パラメータ変更モデルの応答信号と実機応答信号Ｘとから各パラメータ変更モデルに対応する応答誤差を算出する。
【００５４】
評価値算出部２３は、記憶部２０に格納されている複数の異なる第１評価関数Ｊ１〜Ｊｒに応答誤差算出部２２によって算出された応答誤差ΔＸを代入することにより、各第１評価関数Ｊ１〜Ｊｒの出力値を得る。また、評価値算出部２３は、第１評価関数Ｊ１〜Ｊｒに対して、応答誤差算出部２２によって算出された各パラメータ変更モデルの応答誤差を代入することにより、パラメータ変更モデル毎に各第１評価関数Ｊ１〜Ｊｒの出力値を演算する。
【００５５】
ここで第１評価関数は上述したように応答誤差の関数として与えられている。第１評価関数の一例として、以下の（１２）、（１３）式が挙げられる。第１評価関数は、例えば、（１２）式に示されるように、応答誤差を所定の時間区間で積分する関数として与えられる。また、第１評価関数は、例えば、（１３）式に示されるように、応答誤差の二乗を所定の時間区間で積分する関数として与えられる。（１２）式を用いることで、パラメータ誤差を収束させる過程で、応答誤差が増えているのか減っているのかという増減方向を把握することができ、（１３）式を用いることで、応答誤差の絶対値の変動を把握することができる。
【００５６】
【数８】
2019168776.tif 000010
【００５７】
パラメータ誤差推定部２４は、記憶部２０から第２評価関数を取得し、第２評価関数の出力値と第１評価関数の出力値との差がゼロとなるような各パラメータ誤差の値を推定する。具体的には、第２評価関数にパラメータ変更モデル毎の第１評価関数の出力値と、対象物モデルの第１評価関数の出力値とを用いて、各第２評価関数に含まれる各パラメータに対応する微係数を算出し、各パラメータ誤差を推定する。
【００５８】
パラメータ補正部２５は、パラメータ誤差推定部２４によって推定された各パラメータ誤差の値を用いて、対象物モデルに含まれる各パラメータの値を補正する。
モデル更新部２６は、パラメータ補正部２５によって補正された新たな各パラメータを用いることにより、対象物モデルを更新する。
判定部２７は、更新後の対象物モデルに所定の入力信号を与えたときの応答信号を得、応答信号と対象物１０の実機の応答である実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する。例えば、更新後の対象物モデルの応答信号と実機応答信号との応答誤差を用いて算出した各第１評価関数Ｊ１〜Ｊｒの出力値がそれぞれ評価関数毎に設定された所定の許容範囲内にあるか否かを判定する。
この結果、例えば、評価関数の出力値が許容範囲内にない評価関数が一つでも存在した場合には、現在のパラメータに含まれているパラメータ誤差が大きいと判断し、パラメータ同定装置１は、更新後の対象モデルを用いて再度パラメータの同定を行う。なお、この判定基準は、対象物モデルに求められる精度に応じて適宜設定することが可能である。
【００５９】
次に、本実施形態に係るパラメータ同定装置１によって実現されるパラメータ同定方法について図４〜図５を参照して説明する。図４及び図５は、本実施形態に係るパラメータ同定方法の手順の一例を示したフローチャートである。後述するパラメータ同定方法は、例えば、補助記憶装置１２に格納されているパラメータ同定プログラムをＣＰＵ１１が主記憶装置１３に読み出して、情報の加工・演算処理を実行することにより実現される。
【００６０】
なお、以下の説明では、説明の便宜上、対象物モデルのパラメータ群に、同定したいパラメータが２つ含まれている場合を具体例として挙げ、これら２つのパラメータＰｍ＝（Ｐ１ｍ、Ｐ２ｍ）を同定する場合について説明する。また、用いられる第１評価関数も上述した（１３）式、（１４）式で表された２つの第１評価関数Ｊ１、Ｊ２を用いるものとする。また、対象物モデルには、パラメータＰｍの初期値としてＰ１ｍ（０）、Ｐ２ｍ（０）が設定されているものとする。
なお、図４、図５に示したパラメータ同定方法の手順は一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。また、複数の処理を平行して行うこととしてもよい。
【００６１】
まず、対象物モデルに対して所定の入力信号Ｕを与えることにより応答信号Ｘｍ＿０（ｔ）を得る（ＳＡ１）。
次に、対象物の実機に入力信号Ｕを与えたときの応答信号Ｘ＿０（ｔ）と、応答信号Ｘｍ＿０（ｔ）との差分である応答誤差ΔＸ＿０（ｔ）を算出する（ＳＡ２）。
続いて、応答誤差ΔＸ＿０（ｔ）を各第１評価関数Ｊ１、Ｊ２に与えた時の出力値Ｊ１＿０、Ｊ２＿０を演算する（ＳＡ３）。
上記応答誤差ΔＸ＿０（ｔ）、出力値Ｊ１＿０、Ｊ２＿０は一時的に記憶部２０に格納される。
【００６２】
続いて、対象モデルのパラメータＰ１ｍ（０）のみを微小変化ΔＰ１させた対象物モデルであるパラメータ変更モデルを作成し、このパラメータ変更モデルに対して所定の入力信号Ｕを与えた時の応答信号Ｘｍ＿１（ｔ）をシミュレーションにより得る（ＳＡ４）。
【００６３】
続いて、応答信号Ｘｍ＿１（ｔ）と実機応答信号Ｘとの応答誤差ΔＸ＿１（ｔ）を算出し（ＳＡ５）、更に、算出した応答誤差ΔＸ＿１（ｔ）を用いて各第１評価関数Ｊ１、Ｊ２の出力値Ｊ１＿１、Ｊ２＿１を算出する（ＳＡ６）。
上記応答誤差ΔＸ＿１（ｔ）、出力値Ｊ１＿１、Ｊ２＿１は一時的に記憶部２０に格納される。
【００６４】
次に、対象モデルのパラメータＰ２ｍ（０）のみを微小変化ΔＰ２させたパラメータ変更モデルを作成し、このパラメータ変更モデルに対して所定の入力信号Ｕを与えた時の応答信号Ｘｍ＿２（ｔ）をシミュレーションにより得る（ＳＡ７）。
【００６５】
続いて、応答信号Ｘｍ＿２（ｔ）と実機応答信号Ｘとの応答誤差ΔＸ＿２（ｔ）を算出し（ＳＡ８）、更に、算出した応答誤差ΔＸ＿２（ｔ）を用いて各第１評価関数Ｊ１、Ｊ２の出力値Ｊ１＿２、Ｊ２＿２を算出する（ＳＡ９）。
上記応答誤差ΔＸ＿２（ｔ）、出力値Ｊ１＿２、Ｊ２＿２は一時的に記憶部２０に格納される。
【００６６】
続いて、記憶部２０に格納された上記演算結果ΔＸ＿０（ｔ）、ΔＸ＿１（ｔ）、ΔＸ＿２（ｔ）、Ｊ１＿０、Ｊ２＿０、Ｊ１＿１、Ｊ２＿１、Ｊ１＿２、Ｊ２＿２及び微小変化量ΔＰ１、ΔＰ２を用いて、パラメータ誤差の推定を行う（ＳＡ１０）。
【００６７】
具体的には、上述した（８）式の行列ΔＭの各要素を算出し、その逆行列ΔＭ−１を用いてパラメータ誤差δＰ１、δＰ２を推定する。
ここで、行列ΔＭの各要素は、以下の式によって算出される。
【００６８】
ΔM[1,1]＝ΔJ1/ΔP1＝[J1_1-J1_0]/ΔP1
ΔM[1,2]＝ΔJ1/ΔP2＝[J1_2-J1_0]/ΔP2
ΔM[2,1]＝ΔJ2/ΔP1＝[J2_1-J2_0]/ΔP1
ΔM[2,2]＝ΔJ2/ΔP2＝[J2_2-J2_0]/ΔP2
【００６９】
そして、上記行列ΔＭの逆行列を用いて、以下の式から、未知のパラメータであるパラメータ誤差δＰ１、δＰ２を演算する。
【００７０】
δPV＝ΔM-1・JV
ここで、δPV＝（δP1，δP2）T、JV＝[J1_0, J2_0]である。
【００７１】
このようにして、パラメータ誤差δＰ１、δＰ２が算出されると、このパラメータ誤差δＰ１、δＰ２を用いて各パラメータの初期値Ｐ１ｍ（０）、Ｐ２ｍ（０）を補正する（図５のＳＡ１１）。補正後の各パラメータの値Ｐ１ｅ、Ｐ２ｅは、以下の式で表される。ここで、kは収束性を考慮した調整係数である。
【００７２】
P1e＝P1m(0)-k・δP1
P2e＝P2m(0)-k・δP2
【００７３】
続いて、補正後の各パラメータＰ１ｅ、Ｐ２ｅを用いた対象物モデルを生成し、対象物モデルを更新する（ＳＡ１２）。続いて、更新後の対象物モデルに所定の入力信号Ｕを与えたときの応答信号をシミュレーションによって取得する（ＳＡ１３）。そして、この応答信号と実機応答信号との応答誤差を演算し（ＳＡ１４）、演算した応答誤差を用いた評価関数の出力値を演算する（ＳＡ１５）。
続いて、出力値が所定の許容範囲内であるか否かを判定し（ＳＡ１６）、所定の許容範囲内であれば（ＳＡ１６：ＹＥＳ）、現在の対象物モデルに用いられている各パラメータの値を確定し（ＳＡ１７）、本処理を終了する。
【００７４】
一方、出力値が所定の許容範囲外である場合には（ＳＡ１６：ＮＯ）、更新後の対象モデル、すなわち、パラメータＰ１ｅ、Ｐ２ｅを初期値として（ＳＡ１８）、ステップＳＡ１に戻り、更新後の対象モデルを用いてステップＳＡ１以降の処理を行う。そして、ステップＳＡ１６において、出力値が所定の許容範囲内であると判定されるまで、上記処理が繰り返し行われることとなる。
【００７５】
なお、複数回にわたってステップＳＡ１〜ＳＡ１８の処理を繰り返すと、対象物モデルの応答信号に感度の高いパラメータと、感度の低いパラメータとを判別することができる。例えば、感度の低いパラメータは、そのパラメータの値を微小変化させても応答信号にあまり影響がでない。このようなパラメータについては、パラメータ誤差が含まれていても、そのパラメータ誤差が応答信号に与える影響は非常に小さいものとみなせるため、そのような感度の低いパラメータ誤差をゼロとみなすこととしてもよい。このように、感度の低いパラメータを判別したときには、そのパラメータ誤差をゼロとおくことにより、未知数の数を少なくすることができる。これにより、行列のランクを少なくすることができる。この結果、パラメータ同定の演算処理負担を軽減でき、時間も短縮することが可能となる。
【００７６】
以上説明したように、本実施形態に係るパラメータ同定装置１及びその方法並びにプログラムによれば、実機と対象物モデルとの応答誤差は、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であるとみなし、応答誤差の関数を対象物モデルに含まれるパラメータ誤差の関数として表現して、パラメータ誤差を推定する。そして、推定したパラメータ誤差を用いて対象物モデルのパラメータを補正することで、対象物モデルの各パラメータを真値に近づけることが可能となる。これにより、実機に近い応答特性を持つ対象物モデルを得ることが可能となる。また、本実施形態によれば、非線形モデルは非線形モデルのまま用いてパラメータ同定を行うことができる。
【００７７】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。また、上記実施形態を適宜組み合わせてもよい。
【符号の説明】
【００７８】
１        ：パラメータ同定装置
１０      ：対象物
２０      ：記憶部
２１      ：シミュレーション部
２２      ：応答誤差算出部
２３      ：評価値算出部
２４      ：パラメータ誤差推定部
２５      ：パラメータ補正部
２６      ：モデル更新部
２７      ：判定部
【図１】
2019168776.tif 000012
【図２】
2019168776.tif 000013
【図３】
2019168776.tif 000014
【図４】
2019168776.tif 000015
【図５】
2019168776.tif 000016