IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧

特許7066467パラメータ同定装置及びその方法並びにプログラム
<>
  • 特許-パラメータ同定装置及びその方法並びにプログラム 図1
  • 特許-パラメータ同定装置及びその方法並びにプログラム 図2
  • 特許-パラメータ同定装置及びその方法並びにプログラム 図3
  • 特許-パラメータ同定装置及びその方法並びにプログラム 図4
  • 特許-パラメータ同定装置及びその方法並びにプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-02
(45)【発行日】2022-05-13
(54)【発明の名称】パラメータ同定装置及びその方法並びにプログラム
(51)【国際特許分類】
   G05B 13/04 20060101AFI20220506BHJP
【FI】
G05B13/04
【請求項の数】 6
(21)【出願番号】P 2018054255
(22)【出願日】2018-03-22
(65)【公開番号】P2019168776
(43)【公開日】2019-10-03
【審査請求日】2021-02-26
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100112737
【弁理士】
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100140914
【弁理士】
【氏名又は名称】三苫 貴織
(74)【代理人】
【識別番号】100136168
【弁理士】
【氏名又は名称】川上 美紀
(72)【発明者】
【氏名】粟屋 伊智郎
(72)【発明者】
【氏名】安達 丈泰
(72)【発明者】
【氏名】中田 昌宏
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2009-003824(JP,A)
【文献】特開昭63-141640(JP,A)
【文献】特開2002-163005(JP,A)
【文献】米国特許出願公開第2005/0027494(US,A1)
【文献】特開2013-246560(JP,A)
【文献】特開2014-174993(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション部と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出部と、
応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出部によって演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値算出部と、
前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差分がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定部と、
前記パラメータ誤差推定部によって推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正部と
を具備するパラメータ同定装置。
【請求項2】
各前記第2評価関数は、各前記パラメータ誤差を微小とし、前記対象物モデルのパラメータ群周りの微小変化をテイラー展開した関数として表され、
前記シミュレーション部は、前記対象物モデルの各前記パラメータを一つずつ微小変化させた複数のパラメータ変更モデルに対して、前記所定の入力信号をそれぞれ与えたときの応答信号をそれぞれ演算し、
前記応答誤差算出部は、各前記パラメータ変更モデルの前記応答信号と前記実機応答信号とから各前記パラメータ変更モデルに対応する応答誤差を算出し、
評価値算出部は、各前記パラメータ変更モデルの前記応答誤差を用いて、前記パラメータ変更モデル毎に各前記第1評価関数の出力値を演算し、
前記パラメータ誤差推定部は、前記パラメータ変更モデル毎の前記第1評価関数の出力値と、前記対象物モデルの前記第1評価関数の出力値とを用いて、前記テイラー展開された各前記第2評価関数に含まれる各パラメータに対応する微係数を算出し、各前記パラメータ誤差を推定する請求項1に記載のパラメータ同定装置。
【請求項3】
各前記第2評価関数は、以下の(1)式で表され、
【数1】
上記(1)式において、J1~Jrは複数の前記第2評価関数、δP1~δPnは各前記パラメータ誤差、行列ΔMは微係数行列であり、各要素は上記(2)式で表される請求項2に記載のパラメータ同定装置。
【請求項4】
前記パラメータ補正部によって補正された各前記パラメータを用いることにより前記対象物モデルを更新するモデル更新部と、
更新後の前記対象物モデルに前記所定の入力信号を与えたときの応答信号を得、前記応答信号と前記実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する判定部と、
前記判定部によって前記評価値が前記許容範囲内でないと判定された場合に、更新後の対象物モデルを用いた前記パラメータ誤差の算出を再度行う請求項1から3のいずれかに記載のパラメータ同定装置。
【請求項5】
コンピュータが、
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション工程と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出工程と、
応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出工程において演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値演算工程と、
前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差分がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定工程と、
前記パラメータ誤差推定工程において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正工程と
を実行するパラメータ同定方法。
【請求項6】
対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション処理と、
前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出処理と、
応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出処理によって演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値演算処理と、
前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定処理と、
前記パラメータ誤差推定処理において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正処理と
をコンピュータに実行させるためのパラメータ同定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パラメータ同定装置及びその方法並びにプログラムに関するものである。
【背景技術】
【0002】
例えば、フィードフォワード制御では、実際の制御対象を摸した数理モデルを予め作成し、この数理モデルを利用することによって制御系への入力指令を決定する。フィードフォワード制御の精度を向上させるためには、数理モデルの応答を実際の制御対象の応答にできるだけ近づけることが重要である。そこで、実際の制御対象の応答に基づいて数理モデルのパラメータを決定するパラメータ同定が提案されている(例えば、特許文献1、2参照)。
【0003】
例えば、特許文献1には、線形モデルを対象とし、最小二乗法を用いてモデルパラメータを同定する方法が開示されている。
特許文献2には、離散時間状態空間モデルのシステムにおいて、多入力多出力系の線形モデルを対象とし、マルコフパラメータを用いて離散時間状態空間モデルのモデルパラメータを同定する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平2-61778号公報
【文献】特開2008-287344号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
数理モデルの中に非線形要素が含まれている場合、非線形モデルを線形化し、線形化したモデルを用いてパラメータを同定する手法が用いられる。これは、非線形モデルのままパラメータ同定を行うと、収束に長い時間を要する上、所望の精度を得ることが難しいからである。
【0006】
本発明は、このような事情に鑑みてなされたものであって、非線形モデルを線形化することなくパラメータの同定を行うことができるとともに、同定精度を向上させることのできるパラメータ同定装置及びその方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第一態様は、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション部と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出部と、応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出部によって演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値算出部と、前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差がゼロになるような各前記パラメータ誤差の値を推定するパラメータ誤差推定部と、前記パラメータ誤差推定部によって推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正部とを具備するパラメータ同定装置である。
【0008】
上記パラメータ同定装置によれば、シミュレーション部によって対象物モデルの応答信号が得られ、応答誤差算出部によって実機の応答信号に対する対象物モデルの応答信号の誤差である応答誤差が算出される。ここで、実機と対象物モデルとの応答誤差は、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であるとみなすことができる。したがって、応答誤差の関数は、対象物モデルに含まれるパラメータ誤差の関数としても表すことができる。このような点に着目し、本発明の第一態様では、応答誤差の関数として表した第1評価関数と、第1評価関数をパラメータ誤差の関数として表した第2評価関数とを用意し、第1評価関数の出力値と第2評価関数の出力値との差がゼロとなるようなパラメータ誤差を推定することとした。そして、このパラメータ誤差を用いて対象物モデルのパラメータを補正することで、対象物モデルの各パラメータを真値に近づけることが可能となる。これにより、実機に近い応答特性を持つ対象物モデルを得ることが可能となる。
上記「前記第1評価関数の出力値と前記第2評価関数の出力値との差がゼロになるような各前記パラメータ誤差の値」とは、前記差がゼロになる場合だけでなく、前記差がゼロに近づくような値、例えば、最小二乗法等を用いて差がゼロになるような各パラメータ誤差の値を推定することも含む。
【0009】
上記パラメータ同定装置において、各前記第2評価関数は、各前記パラメータ誤差を微小とし、前記対象物モデルのパラメータ群周りの微小変化をテイラー展開した関数として表され、前記シミュレーション部は、前記対象物モデルの各前記パラメータを一つずつ微小変化させた複数のパラメータ変更モデルに対して、前記所定の入力信号をそれぞれ与えたときの応答信号をそれぞれ演算し、前記応答誤差算出部は、各前記パラメータ変更モデルの前記応答信号と前記実機応答信号とから各前記パラメータ変更モデルに対応する応答誤差を算出し、評価値算出部は、各前記パラメータ変更モデルの前記応答誤差を用いて、前記パラメータ変更モデル毎に各前記第1評価関数の出力値を演算し、前記パラメータ誤差推定部は、前記パラメータ変更モデル毎の前記第1評価関数の出力値と、前記対象物モデルの前記第1評価関数の出力値とを用いて、前記テイラー展開された各前記第2評価関数に含まれる各パラメータに対応する微係数を算出し、各前記パラメータ誤差を推定することとしてもよい。
【0010】
上記パラメータ同定装置によれば、対象物モデルに含まれる複数のパラメータを一つずつ微小変化させたときの対象物モデルである複数のパラメータ変更モデルを生成し、各パラメータ変更モデルに対して入力信号を与えたときの応答信号を取得し、各応答信号と実機応答信号との応答誤差を得る。このようにすることで、各パラメータが応答信号に生じさせる応答誤差の影響を個別に捉えることが可能となる。そして、このようにして得た応答誤差を用いて、第1評価関数の出力値と第2評価関数の出力値との差がゼロとなるような各パラメータ誤差を推定する。
【0011】
上記パラメータ同定装置において、各前記第2評価関数は、例えば、以下の式で表される。以下の式において、J1~Jrは複数の前記第2評価関数、δP1~δPnは各前記パラメータ誤差、行列ΔMは微係数行列である。
【0012】
【数1】
【0013】
また、上記式において、行列ΔMの各要素は以下の式で表されてもよい。
【0014】
【数2】
【0015】
上記パラメータ同定装置は、前記パラメータ補正部によって補正された各前記パラメータを用いることにより前記対象物モデルを更新するモデル更新部と、更新後の前記対象物モデルに前記所定の入力信号を与えたときの応答信号を得、前記応答信号と前記実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する判定部とを更に備えていても良く、前記判定部によって前記評価値が前記許容範囲内でないと判定された場合に、更新後の対象物モデルを用いた前記パラメータ誤差の算出を再度行うこととしてもよい。
【0016】
上記パラメータ同定装置によれば、実機応答信号に対する対象物モデルの応答信号の応答誤差に基づく評価値が所定の許容範囲内となるまで、パラメータ誤差の推定を繰り返し行うので、対象物モデルの応答を実機の応答により近づけることが可能となる。
【0017】
本発明の第二態様は、コンピュータが、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション工程と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出工程と、応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出工程において演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値演算工程と、前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定工程と、前記パラメータ誤差推定工程において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正工程とを実行するパラメータ同定方法である。
【0018】
本発明の第三態様は、対象物をモデル化した対象物モデルに所定の入力信号を入力したときの応答信号をシミュレーションするシミュレーション処理と、前記対象物に前記所定の入力信号を入力したときの実機応答信号に対する前記応答信号の応答誤差を算出する応答誤差算出処理と、応答誤差の関数として表された複数の異なる第1評価関数に対して、前記応答誤差算出処理において演算された前記応答誤差を与えることにより、各前記第1評価関数の出力値を演算する評価値演算処理と、前記第1評価関数を前記対象物モデルに含まれる各パラメータ誤差の関数として表した第2評価関数を用いて、前記第1評価関数の出力値と前記第2評価関数の出力値との差がゼロとなるような各前記パラメータ誤差の値を推定するパラメータ誤差推定処理と、前記パラメータ誤差推定処理において推定された各前記パラメータ誤差の値を用いて、前記対象物モデルに含まれる各パラメータの値を補正するパラメータ補正処理とをコンピュータに実行させるためのパラメータ同定プログラムである。
【発明の効果】
【0019】
本発明によれば、非線形モデルを線形化することなくパラメータの同定を行うことができるとともに、同定精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0020】
図1】対象物の実機の応答信号と対象物モデルの応答信号とから応答誤差を得る構成を概略的に示した図である。
図2】本発明の一実施形態に係るパラメータ同定装置のハードウェア構成の一例を示した概略構成図である。
図3】本発明の一実施形態に係るパラメータ同定装置が有する機能の一例を示した機能ブロック図である。
図4】本発明の一実施形態に係るパラメータ同定装置の処理手順の一例を示したフローチャートである。
図5】本発明の一実施形態に係るパラメータ同定装置の処理手順の一例を示したフローチャートである。
【発明を実施するための形態】
【0021】
以下に、本発明に係るパラメータ同定装置及びその方法並びにプログラムの一実施形態について、図面を参照して説明する。
【0022】
まず、本発明の一実施形態に関するパラメータ同定の考え方について図を参照して説明する。
まず、パラメータの同定を行いたい対象物の数理モデル(以下「対象物モデル」という。)を作成する。対象物モデルは、非線形要素を含むモデルであってもよいし、非線形要素を含まない線形要素のみのモデルであってもよい。また、対象物モデルは、例えば、制御の対象とされる制御対象のみをモデル化したものであってもよいし、制御系までも含めたモデルとされていてもよい。対象物の一例として、ロボット等の機械系や、水中航走体等の移動体が挙げられるが、本発明の適用先はこのようなものに限定されず、パラメータ同定が必要となる構造物に広く適用することが可能である。
【0023】
まず、図1に示すように、便宜上、対象物10の実機の特性を(1)式で示す。
【0024】
dX/dt=f(X, P, U) (1)
【0025】
(1)式において、fは対象物10の関数、Xは対象物10の状態ベクトル(次元k)、Pは対象物10のパラメータ群(次元n)、Uは入力(次元q)を示している。
【0026】
対象物10の数理モデル(対象物モデル)は、以下の(2)式で表される。
【0027】
dXm/dt=fm(Xm, Pm, Um) (2)
【0028】
(2)式において、fmはモデルの関数、Xmはモデルの状態ベクトル、Pmはモデルのパラメータ群、Umはモデルの入力を示している。
ここで、対象物モデルは、式の構造は同じで、パラメータにのみ誤差があると仮定する。すなわち、本実施形態では、この条件下においてパラメータを同定する。
【0029】
まず、対象物モデルが対象物10に対してパラメータ誤差を持つ場合、対象物10の実機に入力信号Uを与えたときの実機応答信号Xと、対象物モデルに入力信号Uを与えたときの応答信号Xmとは異なるため、その応答誤差をΔX、パラメータ誤差をΔPとすると以下(3)、(4)式のように表される。
【0030】
ΔX=X-Xm (3)
ΔP=P-Pm (4)
【0031】
次に、応答誤差に関する第1評価関数Jを定義する。応答誤差の関数として表される第1評価関数Jは、以下の(5)式で表される。
【0032】
【数3】
【0033】
(5)式において、T1、T2は応答誤差を積分で評価する時間区間であり、任意に設定できる。また、gは第1評価関数の関数である。第1評価関数Jは、上述したパラメータ誤差がない状態ではゼロとなる。上記第1評価関数Jは、異なる関数のものを複数用意し、その数をrとする(J1、J2、J3、・・・Jr)。
【0034】
一方、対象物10の実機と対象物モデルとの応答誤差ΔXは、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であると捉えることができる。そうすると、応答誤差の関数として表された第1評価関数Jは、対象物モデルのパラメータ誤差の関数としても表現することができ、以下の(6)式のように表すことができる。
【0035】
【数4】
【0036】
例えば、第1評価関数J1、J2、J3、・・・Jrに上記応答誤差ΔXを代入したときの出力値は、各パラメータ誤差δP1~δPnによって生じる運動の和として表すことができる。そして、各パラメータ誤差δPi(i=1~n)を微小とし、上述した対象物モデルのパラメータ群Pm周りの微小変化をテイラー展開して1次までの式とすると、第1評価関数J1~Jrは、以下の(7)式で表すことができる。本実施形態では、以下の(7)式で示される評価関数を便宜上「第2評価関数」という。
この第2評価関数は、第1評価関数をパラメータ誤差の観点から捉えて表現したものであり、対象物モデルに含まれる各パラメータ誤差の関数として表される。
第1評価関数と、第2評価関数とは同じものを違う観点から表現したものなので、第1評価関数の出力値と第2評価関数の出力値とは等価であるとおくことができる。すなわち、第1評価関数の出力値と第2評価関数の出力値との差がゼロとなるような各パラメータ誤差の値を推定すればよい。
【0037】
【数5】
【0038】
(7)式において、微係数∂J/Piは、関数が未知であるからこのままでは解けないため、∂J/PiをΔJ/ΔPiに近似すると、上記(7)式は以下の(8)式に示す行列式で表すことができる。
【0039】
【数6】
【0040】
上記(8)式において、行列ΔMの各要素、換言すると、テイラー展開における各微係数(ΔJ1/ΔP1~ΔJr/ΔPn)は、対象物モデルのパラメータPj(j=1~n)を一つずつ微小変化(Pj+ΔPj)させたときの対象物モデルの応答信号の変化から数値的に求めることができる。
例えば、対象物モデルのパラメータを一つずつ個別に微小変化させたときの対象物モデル(以下「パラメータ変更モデル」という。)を生成し、そのパラメータ変更モデルに入力信号Uを与えたときの応答信号をそれぞれシミュレーションによって得る。そして、各パラメータ変更モデルの各応答信号と実機応答信号とから各パラメータ変更モデルに対応する応答誤差を算出し、算出した応答誤差を用いてパラメータ変更モデル毎に各第1評価関数の出力値を演算し、これらパラメータ変更モデル毎の第1評価関数の出力値と、対象物モデルの第1評価関数の出力値とを用いて、上記第2評価関数に含まれる各パラメータに対応する微係数(ΔJ1/ΔP1~ΔJr/ΔPn)を算出する。
例えば、上記(8)式における微係数は、以下の(9)式で表される。
【0041】
【数7】
【0042】
このようにして、(8)式における各パラメータの微係数、換言すると、行列ΔMの各要素が算出されると、(8)式において未知のパラメータは、パラメータ誤差δP1~δPnのみとなる。したがって、例えば、未知のパラメータ誤差δP1~δPnは、以下の(10)式で与えられる評価関数を用いた最小二乗法によって得ることができる。
【0043】
δPV=(ΔMTΔM)-1JV (10)
δPV=(δP1,δP2,・・・δPn)T
JV=(J1,J2,・・・Jr)T
【0044】
また、パラメータPmの次元nと、評価関数の数rとが同じ場合(n=r)には、正方行列となるので、最小二乗法を用いることなく、(11)式に示すように、逆行列ΔM-1を用いて未知のパラメータ誤差δP1~δPnを演算することが可能である。
【0045】
δPV=ΔM-1・JV (11)
【0046】
このようにして、各パラメータについてのパラメータ誤差δP1~δPnが推定されると、推定したこれらパラメータ誤差を用いて対象物モデルに用いられている各パラメータを補正し、各パラメータを更新する。例えば、補正後のパラメータは、対象物モデルに設定されていた各パラメータの初期値から各パラメータ誤差の値を減算した値となる。なお、このとき収束性を考えて、パラメータ誤差に調整係数k(k<1)を乗じた値を各パラメータの初期値から減算することにより、各パラメータの値を更新することとしてもよい。
【0047】
次に、上述した本実施形態に係るパラメータ同定を実現するための具体的な装置構成について説明する。
【0048】
図2は、本発明の一実施形態に係るパラメータ同定装置1のハードウェア構成の一例を示した概略構成図である。パラメータ同定装置1は、図1に示すように、コンピュータ(計算機システム)を有し、例えば、CPU11、CPU11が実行するプログラム及びこのプログラムにより参照されるデータ等を記憶するための補助記憶装置12、各プログラム実行時のワーク領域として機能する主記憶装置13、ネットワークに接続するための通信インターフェース14、キーボードやマウス等からなる入力部15、及びデータを表示する液晶表示装置等からなる表示部16等を備えている。これら各部は、例えば、バス18を介して接続されている。補助記憶装置12は、例えば、磁気ディスク、光磁気ディスク、半導体メモリ等が一例として挙げられる。
【0049】
後述する各種機能を実現するための一連の処理は、一例として、プログラム(例えば、設計支援プログラム)の形式で補助記憶装置12に記憶されており、このプログラムをCPU11が主記憶装置13に読み出して、情報の加工・演算処理を実行することにより、各種機能が実現される。なお、プログラムは、補助記憶装置12に予めインストールされている形態や、他のコンピュータで読み取り可能な記憶媒体に記憶された状態で提供される形態、有線又は無線による通信手段を介して配信される形態等が適用されてもよい。コンピュータ読み取り可能な記憶媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0050】
図3は、本実施形態に係るパラメータ同定装置1が有する機能の一例を示した機能ブロック図である。図3に示すように、パラメータ同定装置1は、記憶部20と、シミュレーション部21と、応答誤差算出部22と、評価値算出部23と、パラメータ誤差推定部24と、パラメータ補正部25と、モデル更新部26と、判定部27とを主な構成として備えている。
【0051】
記憶部20には、パラメータ同定を行うのに必要となる各種演算式やデータ等が格納されている。例えば、記憶部20には、対象物をモデル化した対象物モデル、対象物モデルに含まれる各パラメータの初期値、上述した各種演算式、例えば、複数の評価関数、パラメータ誤差を推定するための各種演算式(例えば、上記(3)、(5)、(6)、(8)~(11)式等)、また、これら演算式を用いてパラメータ同定を行うために必要とされる各種データ等が格納されている。また、記憶部20は、パラメータ同定処理を実行するに当たり、処理の中で発生したデータを一時的に格納する記憶領域としても用いられる。
【0052】
シミュレーション部21は、対象物10をモデル化した対象物モデルに所定の入力信号Uを入力したときの応答信号Xmをシミュレーションにより求める。また、シミュレーション部21は、対象物モデルの各パラメータの値を一つずつ微小変化させた複数のパラメータ変更モデルに対して、所定の入力信号Uをそれぞれ与えたときの応答信号を演算する。
【0053】
応答誤差算出部22は、対象物10の実機に所定の入力信号Uを入力したときの応答信号である実機応答信号Xに対する対象物モデルの応答信号Xmの応答誤差ΔXを算出する。また、応答誤差算出部22は、各パラメータ変更モデルの応答信号と実機応答信号Xとから各パラメータ変更モデルに対応する応答誤差を算出する。
【0054】
評価値算出部23は、記憶部20に格納されている複数の異なる第1評価関数J1~Jrに応答誤差算出部22によって算出された応答誤差ΔXを代入することにより、各第1評価関数J1~Jrの出力値を得る。また、評価値算出部23は、第1評価関数J1~Jrに対して、応答誤差算出部22によって算出された各パラメータ変更モデルの応答誤差を代入することにより、パラメータ変更モデル毎に各第1評価関数J1~Jrの出力値を演算する。
【0055】
ここで第1評価関数は上述したように応答誤差の関数として与えられている。第1評価関数の一例として、以下の(12)、(13)式が挙げられる。第1評価関数は、例えば、(12)式に示されるように、応答誤差を所定の時間区間で積分する関数として与えられる。また、第1評価関数は、例えば、(13)式に示されるように、応答誤差の二乗を所定の時間区間で積分する関数として与えられる。(12)式を用いることで、パラメータ誤差を収束させる過程で、応答誤差が増えているのか減っているのかという増減方向を把握することができ、(13)式を用いることで、応答誤差の絶対値の変動を把握することができる。
【0056】
【数8】
【0057】
パラメータ誤差推定部24は、記憶部20から第2評価関数を取得し、第2評価関数の出力値と第1評価関数の出力値との差がゼロとなるような各パラメータ誤差の値を推定する。具体的には、第2評価関数にパラメータ変更モデル毎の第1評価関数の出力値と、対象物モデルの第1評価関数の出力値とを用いて、各第2評価関数に含まれる各パラメータに対応する微係数を算出し、各パラメータ誤差を推定する。
【0058】
パラメータ補正部25は、パラメータ誤差推定部24によって推定された各パラメータ誤差の値を用いて、対象物モデルに含まれる各パラメータの値を補正する。
モデル更新部26は、パラメータ補正部25によって補正された新たな各パラメータを用いることにより、対象物モデルを更新する。
判定部27は、更新後の対象物モデルに所定の入力信号を与えたときの応答信号を得、応答信号と対象物10の実機の応答である実機応答信号との応答誤差に基づく評価値が予め設定されている許容範囲内であるか否かを判定する。例えば、更新後の対象物モデルの応答信号と実機応答信号との応答誤差を用いて算出した各第1評価関数J1~Jrの出力値がそれぞれ評価関数毎に設定された所定の許容範囲内にあるか否かを判定する。
この結果、例えば、評価関数の出力値が許容範囲内にない評価関数が一つでも存在した場合には、現在のパラメータに含まれているパラメータ誤差が大きいと判断し、パラメータ同定装置1は、更新後の対象モデルを用いて再度パラメータの同定を行う。なお、この判定基準は、対象物モデルに求められる精度に応じて適宜設定することが可能である。
【0059】
次に、本実施形態に係るパラメータ同定装置1によって実現されるパラメータ同定方法について図4図5を参照して説明する。図4及び図5は、本実施形態に係るパラメータ同定方法の手順の一例を示したフローチャートである。後述するパラメータ同定方法は、例えば、補助記憶装置12に格納されているパラメータ同定プログラムをCPU11が主記憶装置13に読み出して、情報の加工・演算処理を実行することにより実現される。
【0060】
なお、以下の説明では、説明の便宜上、対象物モデルのパラメータ群に、同定したいパラメータが2つ含まれている場合を具体例として挙げ、これら2つのパラメータPm=(P1m、P2m)を同定する場合について説明する。また、用いられる第1評価関数も上述した(13)式、(14)式で表された2つの第1評価関数J1、J2を用いるものとする。また、対象物モデルには、パラメータPmの初期値としてP1m(0)、P2m(0)が設定されているものとする。
なお、図4図5に示したパラメータ同定方法の手順は一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。また、複数の処理を平行して行うこととしてもよい。
【0061】
まず、対象物モデルに対して所定の入力信号Uを与えることにより応答信号Xm_0(t)を得る(SA1)。
次に、対象物の実機に入力信号Uを与えたときの応答信号X_0(t)と、応答信号Xm_0(t)との差分である応答誤差ΔX_0(t)を算出する(SA2)。
続いて、応答誤差ΔX_0(t)を各第1評価関数J1、J2に与えた時の出力値J1_0、J2_0を演算する(SA3)。
上記応答誤差ΔX_0(t)、出力値J1_0、J2_0は一時的に記憶部20に格納される。
【0062】
続いて、対象モデルのパラメータP1m(0)のみを微小変化ΔP1させた対象物モデルであるパラメータ変更モデルを作成し、このパラメータ変更モデルに対して所定の入力信号Uを与えた時の応答信号Xm_1(t)をシミュレーションにより得る(SA4)。
【0063】
続いて、応答信号Xm_1(t)と実機応答信号Xとの応答誤差ΔX_1(t)を算出し(SA5)、更に、算出した応答誤差ΔX_1(t)を用いて各第1評価関数J1、J2の出力値J1_1、J2_1を算出する(SA6)。
上記応答誤差ΔX_1(t)、出力値J1_1、J2_1は一時的に記憶部20に格納される。
【0064】
次に、対象モデルのパラメータP2m(0)のみを微小変化ΔP2させたパラメータ変更モデルを作成し、このパラメータ変更モデルに対して所定の入力信号Uを与えた時の応答信号Xm_2(t)をシミュレーションにより得る(SA7)。
【0065】
続いて、応答信号Xm_2(t)と実機応答信号Xとの応答誤差ΔX_2(t)を算出し(SA8)、更に、算出した応答誤差ΔX_2(t)を用いて各第1評価関数J1、J2の出力値J1_2、J2_2を算出する(SA9)。
上記応答誤差ΔX_2(t)、出力値J1_2、J2_2は一時的に記憶部20に格納される。
【0066】
続いて、記憶部20に格納された上記演算結果ΔX_0(t)、ΔX_1(t)、ΔX_2(t)、J1_0、J2_0、J1_1、J2_1、J1_2、J2_2及び微小変化量ΔP1、ΔP2を用いて、パラメータ誤差の推定を行う(SA10)。
【0067】
具体的には、上述した(8)式の行列ΔMの各要素を算出し、その逆行列ΔM-1を用いてパラメータ誤差δP1、δP2を推定する。
ここで、行列ΔMの各要素は、以下の式によって算出される。
【0068】
Δ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
【0069】
そして、上記行列ΔMの逆行列を用いて、以下の式から、未知のパラメータであるパラメータ誤差δP1、δP2を演算する。
【0070】
δPV=ΔM-1・JV
ここで、δPV=(δP1,δP2)T、JV=[J1_0, J2_0]である。
【0071】
このようにして、パラメータ誤差δP1、δP2が算出されると、このパラメータ誤差δP1、δP2を用いて各パラメータの初期値P1m(0)、P2m(0)を補正する(図5のSA11)。補正後の各パラメータの値P1e、P2eは、以下の式で表される。ここで、kは収束性を考慮した調整係数である。
【0072】
P1e=P1m(0)-k・δP1
P2e=P2m(0)-k・δP2
【0073】
続いて、補正後の各パラメータP1e、P2eを用いた対象物モデルを生成し、対象物モデルを更新する(SA12)。続いて、更新後の対象物モデルに所定の入力信号Uを与えたときの応答信号をシミュレーションによって取得する(SA13)。そして、この応答信号と実機応答信号との応答誤差を演算し(SA14)、演算した応答誤差を用いた評価関数の出力値を演算する(SA15)。
続いて、出力値が所定の許容範囲内であるか否かを判定し(SA16)、所定の許容範囲内であれば(SA16:YES)、現在の対象物モデルに用いられている各パラメータの値を確定し(SA17)、本処理を終了する。
【0074】
一方、出力値が所定の許容範囲外である場合には(SA16:NO)、更新後の対象モデル、すなわち、パラメータP1e、P2eを初期値として(SA18)、ステップSA1に戻り、更新後の対象モデルを用いてステップSA1以降の処理を行う。そして、ステップSA16において、出力値が所定の許容範囲内であると判定されるまで、上記処理が繰り返し行われることとなる。
【0075】
なお、複数回にわたってステップSA1~SA18の処理を繰り返すと、対象物モデルの応答信号に感度の高いパラメータと、感度の低いパラメータとを判別することができる。例えば、感度の低いパラメータは、そのパラメータの値を微小変化させても応答信号にあまり影響がでない。このようなパラメータについては、パラメータ誤差が含まれていても、そのパラメータ誤差が応答信号に与える影響は非常に小さいものとみなせるため、そのような感度の低いパラメータ誤差をゼロとみなすこととしてもよい。このように、感度の低いパラメータを判別したときには、そのパラメータ誤差をゼロとおくことにより、未知数の数を少なくすることができる。これにより、行列のランクを少なくすることができる。この結果、パラメータ同定の演算処理負担を軽減でき、時間も短縮することが可能となる。
【0076】
以上説明したように、本実施形態に係るパラメータ同定装置1及びその方法並びにプログラムによれば、実機と対象物モデルとの応答誤差は、対象物モデルに含まれるパラメータ誤差に起因する運動によって生じた誤差であるとみなし、応答誤差の関数を対象物モデルに含まれるパラメータ誤差の関数として表現して、パラメータ誤差を推定する。そして、推定したパラメータ誤差を用いて対象物モデルのパラメータを補正することで、対象物モデルの各パラメータを真値に近づけることが可能となる。これにより、実機に近い応答特性を持つ対象物モデルを得ることが可能となる。また、本実施形態によれば、非線形モデルは非線形モデルのまま用いてパラメータ同定を行うことができる。
【0077】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。また、上記実施形態を適宜組み合わせてもよい。
【符号の説明】
【0078】
1 :パラメータ同定装置
10 :対象物
20 :記憶部
21 :シミュレーション部
22 :応答誤差算出部
23 :評価値算出部
24 :パラメータ誤差推定部
25 :パラメータ補正部
26 :モデル更新部
27 :判定部
図1
図2
図3
図4
図5