(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024115480
(43)【公開日】2024-08-26
(54)【発明の名称】モデル作成装置、モデル作成方法及びモデル作成プログラム
(51)【国際特許分類】
G05B 13/04 20060101AFI20240819BHJP
【FI】
G05B13/04
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023021208
(22)【出願日】2023-02-14
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】598121341
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】金井 関利
(72)【発明者】
【氏名】高野 靖也
(72)【発明者】
【氏名】足立 修一
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA01
5H004GB01
5H004HA14
5H004HB14
5H004KC35
5H004KD61
5H004KD62
(57)【要約】
【課題】線形システムのモデルのパラメータを高い精度で求めること。
【解決手段】モデル作成装置10は、生成部151、計算部152及び更新部153を有する。生成部151は、ルジャンドル多項式を基に入力信号を生成する。計算部152は、線形システムのモデルに入力信号を入力して出力信号を計算する。更新部153は、入力信号と出力信号との関係を基に、モデルのパラメータを更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ルジャンドル多項式を基に入力信号を生成する生成部と、
線形システムのモデルに前記入力信号を入力して出力信号を計算する計算部と、
前記入力信号と出力信号との関係を基に、前記モデルのパラメータを更新する更新部と、
を有することを特徴とするモデル作成装置。
【請求項2】
前記計算部は、線形システムである1次又は2次以上の遅れ系のモデルに前記入力信号を入力して出力信号を計算することを特徴とする請求項1に記載のモデル作成装置。
【請求項3】
前記更新部は、前記生成部による前記入力信号の生成に用いられた前記ルジャンドル多項式の整数倍の無限個の和で表される連続な関数の係数と、前記出力信号に含まれる係数と、から得られる連立方程式の解を前記モデルのパラメータとして求めることを特徴とする請求項1に記載のモデル作成装置。
【請求項4】
前記生成部は、1以上の次数のルジャンドル多項式を基に前記入力信号を生成し、
前記更新部は、前記次数に1を加えた数の方程式を含む前記連立方程式の解を前記モデルのパラメータとして求めることを特徴とする請求項3に記載のモデル作成装置。
【請求項5】
モデル作成装置によって実行されるモデル作成方法であって、
ルジャンドル多項式を基に入力信号を生成する生成工程と、
線形システムのモデルに前記入力信号を入力して出力信号を計算する計算工程と、
前記入力信号と出力信号との関係を基に、前記モデルのパラメータを更新する更新工程と、
を含むことを特徴とするモデル作成方法。
【請求項6】
ルジャンドル多項式を基に入力信号を生成する生成ステップと、
線形システムのモデルに前記入力信号を入力して出力信号を計算する計算ステップと、
前記入力信号と出力信号との関係を基に、前記モデルのパラメータを更新する更新ステップと、
をコンピュータに実行させることを特徴とするモデル作成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル作成装置、モデル作成方法及びモデル作成プログラムに関する。
【背景技術】
【0002】
モータ等の制御を行う際には、制御の対象が従う線形システムのモデルが事前に作成される。また、モデルの作成においては、モデルのパラメータを求めるシステム同定が行われる(例えば、非特許文献1を参照)。
【0003】
例えば、線形システムの1つである1次遅れ系は、モータ等に広く存在している。また、1次遅れ系のパラメータを求めることで、多くの制御が可能となる。
【0004】
システム同定には、入力信号の設計とパラメータを求めるアルゴリズムが必要である。一方、深層学習のモデルへの入力の展開に適したルジャンドル多項式として、shifted and scaledルジャンドル多項式が提案されている(例えば、非特許文献2を参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Lennart, Ljung. "System identification: theory for the user." Second edition, PTR Prentice Hall, Upper Saddle River (1999), p. 1
【非特許文献2】Gu, Albert, et al. "Hippo: Recurrent memory with optimal polynomial projections." Advances in Neural Information Processing Systems 33 (2020): 1474-1487.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術には、線形システムのモデルのパラメータを高い精度で求めることができない場合があるという問題がある。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、モデル作成装置は、ルジャンドル多項式を基に入力信号を生成する生成部と、線形システムのモデルに前記入力信号を入力して出力信号を計算する計算部と、前記入力信号と出力信号との関係を基に、前記モデルのパラメータを更新する更新部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、線形システムのモデルのパラメータを高い精度で求めることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、第1の実施形態のモデル作成装置の構成例を示す図である。
【
図2】
図2は、1次遅れ系の応答の例を示す図である。
【
図3】
図3は、1次遅れ系の応答の例を示す図である。
【
図4】
図4は、モデル作成装置の処理の流れを示すフローチャートである。
【
図5】
図5は、プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係るモデル作成装置、モデル作成方法及びモデル作成プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0011】
[第1の実施形態の構成]
図1を用いて、第1の実施形態に係るモデル作成装置の構成について説明する。
図1は、第1の実施形態に係るモデル作成装置の構成例を示す図である。モデル作成装置10は、線形システムのモデルを作成する。また、モデル作成装置10は、モデルの学習を行うことから、学習装置と言い換えられてもよい。
【0012】
モデル作成装置10は、あらかじめ与えられた初期状態のモデルに特定の信号を入力することにより出力を得る。そして、入力と出力の関係を基に、モデルのパラメータを求める処理、すなわちシステム同定を行う。また、モデル作成装置10は、求めたパラメータを、作成済みのモデルを構築するためのパラメータとして出力することができる。
【0013】
図1に示すように、モデル作成装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
【0014】
通信部11は、ネットワークを介して他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。
【0015】
入力部12は、データの入力を受け付ける。例えば、入力部12は、例えばマウス及びキーボード等の入力装置と接続されるインタフェースである。
【0016】
出力部13は、データを出力する。出力部13は、例えばディスプレイ及びスピーカ等の出力装置と接続されるインタフェースである。
【0017】
記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、モデル作成装置10で実行されるOS(Operating System)及び各種プログラムを記憶する。
【0018】
記憶部14は、モデル情報141を記憶する。モデル情報141は、モデルを構築するためのパラメータである。例えば、モデル情報141は、システム同定が実行される前は、初期状態のモデルのパラメータ(初期値)である。システム同定において、モデル情報141は更新される。
【0019】
制御部15は、モデル作成装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
【0020】
また、制御部15は、各種の処理手順を規定したプログラム及び制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、生成部151、計算部152及び更新部153として機能する。
【0021】
生成部151は、モデルに入力される入力信号を生成する。計算部152は、入力信号をモデルに入力し、モデルによって出力される出力信号を得る。更新部153は、入力信号と出力信号の関係を基に、モデルのパラメータを更新する。
【0022】
以下、生成部151、計算部152及び更新部153によって行われるシステム同定を詳細に説明する。なお、以下の数式及び図面の表記において、大文字の太字は行列を表し、小文字の太字は列ベクトルを表し、行ベクトルは転置を使って表現するものとする。
【0023】
(ルジャンドル多項式)
まず、入力信号の生成に用いられるルジャンドル多項式について説明する。n次のルジャンドル多項式は、(1)式で表される。
【0024】
【0025】
(1)式に示すルジャンドル多項式は、(2)式のように区間[-1,1]で直行する。
【0026】
【0027】
(2)式に対し変数変換を行い、[0,T]で直交するようにした多項式を、shifted and scaled Legendre(ルジャンドル)多項式と呼ぶ。(3)式はshifted and scaled ルジャンドル多項式である。
【0028】
【0029】
(3)式は、具体的には(4)式及び(5)式のように計算される。なお、n、k、rは整数である。
【0030】
【0031】
【0032】
ただし、αn,k、βk,r及びγn,kは、二項係数を用いて、それぞれ(6)式、(7)式及び(8)式のように表される。
【0033】
【0034】
【0035】
【0036】
ここで、連続な関数f(t)は、(9)式のようにルジャンドル多項式の係数倍の無限この和に展開可能である。
【0037】
【0038】
(9)式の係数xnは、(10)式により求められる。
【0039】
【0040】
(線形システム)
本実施形態では、1入力1出力の連続時間線形システムについてシステム同定が行われる。このような線形システムは、時刻をtとし、入力信号u(t)、出力信号y(t)、インパルス応答g(t)を用いて、(11)式で表される。
【0041】
【0042】
(ルジャンドル多項式からなる入力を使った1次遅れ系のシステム同定)
本実施形態のシステム同定では、前述のルジャンドル多項式が用いられる。まず、線形システムが(12)式のような1次遅れ系である場合を考える。ただし、本発明によるシステム同定の対象は、1次遅れ系に限定されない。
【0043】
【0044】
このとき、(11)式は、(13)式になる。すなわち、(13)式は1次遅れ系を表す。
【0045】
【0046】
(13)式の右辺を(14)式で置くと、(15)式及び(16)式に示す漸化式が得られる。
【0047】
【0048】
【0049】
【0050】
ここで、(17)式より、(18)式及び(19)式が得られる。
【0051】
【0052】
【0053】
【0054】
入力信号u(t)が(5)式で表されるn次のshifted and scaled ルジャンドル多項式であるとき、システムの線形性から、出力信号y(t)は(20)式及び(21)式である。
【0055】
【0056】
【0057】
ただし、η及びζは、それぞれ(22)式及び(23)式と置かれる。
【0058】
【0059】
【0060】
このとき、(21)式の右辺の多項式の部分をshifted and scaledルジャンドル多項式で展開すると、(24)式で表現される。
【0061】
【0062】
ただし、(24)式の係数ξn,r(a,p)は、(25)式の通りである。なお、a及びpは、システム同定の対象であるモデルのパラメータである。
【0063】
【0064】
例として、0次から2次までの単一のshifted and scaledルジャンドル多項式を入力した際の1次遅れ系の応答を
図2に示す。
図2は、1次遅れ系の応答の例を示す図である。
【0065】
本実施形態では、(26)式に示すように、入力信号u(t)を、shifted and scaledルジャンドル多項式のN次までの係数cnを掛けた線形和とする。
【0066】
【0067】
また、(24)式より、システムの出力信号y(t)は、(27)式及び(28)式の通りである。
【0068】
【0069】
【0070】
さらに、tが十分大きいとし(t→∞)、e-pt=0とすると、(29)式のように出力信号y(t)が得られる。
【0071】
【0072】
例として、0次から2次までの単一のshifted and scaledルジャンドル多項式を入力して十分に時間tが経過したときの1次遅れ系の応答を
図3に示す。
図3は、1次遅れ系の応答の例を示す図である。
【0073】
図4を用いて、1次遅れ系のシステム同定の処理の流れを説明する。
図4は、モデル作成装置の処理の流れを示すフローチャートである。
【0074】
まず、
図4に示すように、生成部151は、shifted and scaledルジャンドル多項式の和から入力信号u(t)を生成する(ステップS101)。このとき、生成部151は、(26)式のC
nに適当な値を設定することで、入力信号u(t)を生成することができる。このように、生成部151は、ルジャンドル多項式を基に入力信号を生成する。
【0075】
次に、計算部152は、システムにu(t)を入力し、(29)式のように出力信号y(t)を得る(ステップS102)。このように、計算部152は、線形システムのモデルに入力信号を入力して出力信号を計算する。
【0076】
続いて、更新部153は、(10)式により、出力信号y(t)の各ルジャンドル多項式~Pn(t)(Pの直上に~)の係数xnを求める(ステップS103)。
【0077】
ここで、更新部153は、各ルジャンドル多項式の係数xnと、システムのパラメータ((29)式のかっこ内の係数)の関係から連立方程式を得る(ステップS104)。更新部153は、生成部151による入力信号の生成に用いられたルジャンドル多項式の整数倍の無限個の和で表される連続な関数の係数((10)式)と、出力信号に含まれる係数((29)式の係数)と、から得られる連立方程式の解をモデルのパラメータとして求めることができる。
【0078】
これにより、モデル作成装置10は、入力信号に用いられたルジャンドル多項式の係数と出力信号の係数とを用いて、連立方程式を解くことによりシステム同定を実現できる。
【0079】
そして、更新部153は、連立方程式を解き、システムのパラメータ(a,p)を計算する(ステップS105)。更新部153は、計算したパラメータ(a,p)によりモデル情報141を更新してもよいし、計算したパラメータ(a,p)を出力してもよい。更新部153は、入力信号と出力信号との関係を基に、モデルのパラメータを更新することができる。
【0080】
なお、更新部153は、連立方程式の解法としてニュートン法を用いることができる。また、更新部153は、ニュートン法以外の方法により連立方程式を解いてもよい。
【0081】
(ルジャンドル多項式からなる入力を使ったm次系の同定)
より一般に、インパルス応答が(30)式で表現されるシステムを考える。
【0082】
【0083】
このシステムは、(31)式の伝達関数で表されるm次系である。ただし、p1,…,pmは、全て正の実数であるとする。また、mは2以上の整数である。
【0084】
【0085】
このシステムに(26)式の入力が印可されたときの出力は、1次遅れ系と同様にして、(32)式の通りである。
【0086】
【0087】
さらに、tが十分大きいとし(t→∞)、e-pt=0とすると、(33)式のように出力信号y(t)が得られる。
【0088】
【0089】
この(30)式のインパルス応答で表現されるシステムの同定を考える。いま、計算部152が、生成部151によって生成された(26)式の入力信号をシステムに印加し、入出力データD={u(0),y(0),u(Ts),y(Ts),…,u((Nd-1)Ts),y((Nd-1),Ts)}が得られたとする。ただし、Tsはサンプリング周期であり、Ndはデータである。また、(34)式が成り立つ。
【0090】
【0091】
更新部153は、入出力データDから、システムのパラメータa1,p1,…,am,pmを推定する。
【0092】
(33)式の出力信号y(t)をshifted and scaledルジャンドル多項式で展開した~PN(t),…,~P0(t)の係数が、それぞれxN,…,x0で与えられたとする。このとき、更新部153は、係数xN,…,x0を(33)式の各係数と比較して、(35)式の連立方程式を得る。
【0093】
【0094】
(35)式の連立方程式の未知数(ai,pi)の総数は2mであり、方程式の数はNである。そこで、(36)式が成り立つように入力信号u(t)が設計されていれば、更新部153は、(35)式を解いてパラメータa1,p1,…,am,pmを得る(推定する)ことができる。
【0095】
【0096】
(36)式が成り立つように入力信号u(t)が設計されることは、生成部151が(36)式を満たすように入力信号u(t)を生成することであってもよい。
【0097】
(2次までのshifted and scaledルジャンドル多項式を使った1次遅れ系の同定)
さらなる例として、生成部151は、(37)式及び(38)式に示すように、0次から2次までのshifted and scaledルジャンドル多項式の和を、入力信号u(t)として生成する。
【0098】
【0099】
【0100】
計算部152は、(37)式及び(38)式に示す入力信号u(t)を1次遅れ系に入力した応答である出力信号y(t)を(28)式のように計算する。
【0101】
例として、計算部152は、式(38)でcn=1、∀nとした際の入力u(t)=~P2(t)+~P1(t)+~P0(t)をシステムに印加し、出力信号y(t)を得る。
【0102】
更新部153は、得られた出力信号y(t)に対して、式(10)を用いてshifted scaledルジャンドル多項式の係数xnを求める。
【0103】
各ルジャンドル多項式~P
2(t),~P
1(t),~P
0(t)の係数をx
2,x
1,x
0とすると、更新部153は、
図3にある1次遅れ系のパラメータと各ルジャンドル多項式の係数との関係より、(39)式の連立方程式を得る。
【0104】
【0105】
(39)式に示すように、2変数(a,p)に対して3つの方程式が存在しているため、更新部153は、(39)式の連立方程式を解いてパラメータ(a,p)を計算することができる。
【0106】
なお、更新部153は、連立方程式の解法としてニュートン法を用いることができる。また、更新部153は、ニュートン法以外の方法により連立方程式を解いてもよい。
【0107】
このように、計算部152は、線形システムである1次又は2次以上(m次)の遅れ系のモデルに入力信号を入力して出力信号を計算することができる。そして、生成部151は、1以上の次数のルジャンドル多項式を基に入力信号を生成する。このとき、計算部152は、次数に1を加えた数(m+1)の方程式を含む連立方程式の解をモデルのパラメータとして求める。
【0108】
このように、モデル作成装置10は、連立方程式を解くことにより、1次又は2次以上の遅れ系のシステム同定を実現できる。
【0109】
[第1の実施形態の効果]
これまで説明してきたように、生成部151は、ルジャンドル多項式を基に入力信号を生成する。計算部152は、線形システムのモデルに入力信号を入力して出力信号を計算する。更新部153は、入力信号と出力信号との関係を基に、モデルのパラメータを更新する。これにより、モデル作成装置10は、ルジャンドル多項式から入力信号を生成することを利用して、線形システムのモデルのパラメータを高い精度で求めることができる。
【0110】
例えば、線形システムにおける入力信号及び出力信号は、それぞれモータに印可される電流、及びモータのトルク又は回転数である。この場合、モデルによってモータの電流に対する特性を表現することができる。
【0111】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0112】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0113】
[プログラム]
一実施形態として、モデル作成装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習処理を実行するプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置をモデル作成装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0114】
また、モデル作成装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、サーバ装置は、更新前のモデルのパラメータ及び入力信号を入力とし、更新後のモデルのパラメータを出力とするサービスを提供するサーバ装置として実装される。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0115】
図5は、プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0116】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0117】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、モデル作成装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、モデル作成装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0118】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0119】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0120】
10 モデル作成装置
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
141 モデル情報
151 生成部
152 計算部
153 更新部