(57)【要約】【課題】種々のシミュレーションが容易にかつ低コストで実行可能な付加価値の高い外乱加速度の推定方法、船体の自動制御方法及び外乱加速度の推定装置並びに外乱加速度の推定用コンピュータプログラムを提供する。【解決手段】船体に働く外乱に基づく加速度である外乱加速度の推定方法であって、船体に備えられたセンサーにて取得されたセンサー情報に基づいて得られた船体の実際の加速度を取得する、実加速度取得ステップと、船体の動力機への指令値に基づいて得られた指令加速度を取得する、指令加速度取得ステップと、船体における無外乱かつ無動力状態の挙動を予め学習した学習済モデルにより予測された予測加速度を取得する、予測加速度取得ステップと、を備え、実加速度、指令加速度及び予測加速度に基づいて外乱加速度を生成する。【選択図】図１４
2018125012.tif 000002
【特許請求の範囲】
【請求項１】
船体に働く外乱に基づく加速度である外乱加速度の推定方法であって、
前記船体に備えられたセンサーにて取得されたセンサー情報に基づいて得られた前記船体の実際の加速度を取得する、実加速度取得ステップと、
前記船体の動力機への指令値に基づいて得られた指令加速度を取得する、指令加速度取得ステップと、
前記船体における無外乱かつ無動力状態の挙動を予め学習した学習済モデルにより予測された予測加速度を取得する、予測加速度取得ステップと、
前記実加速度、前記指令加速度、及び前記予測加速度に基づいて外乱加速度を生成する、外乱加速度生成ステップと、
を含む、外乱加速度の推定方法。
【請求項２】
前記学習済モデルは、階層的に分割された状態空間にそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して、所定のデータ群を学習させることにより得られたものである、請求項１に記載の外乱加速度の推定方法。
【請求項３】
前記所定のデータ群は、無外乱かつ無動力の条件における前記船体の速度状態に関するデータと、無外乱かつ無動力の条件における対応する船体の加速度状態に関するデータと、を含むものである、請求項２に記載の外乱加速度の推定方法。
【請求項４】
前記センサーは、画像取得手段と角速度検出器と、を含み、
前記センサー情報は、前記画像取得手段により得られた画像情報と、前記角速度検出器から得られた角速度情報と、を含み、
前記実加速度は、前記画像情報の遷移に基づく前記船体の速度情報と、前記角速度情報とを微分することにより得られる、請求項１に記載の外乱加速度の推定方法。
【請求項５】
前記外乱加速度生成ステップにおいて、前記外乱加速度は、前記実加速度から前記予測加速度と前記指令加速度とを減算することにより生成される、請求項１に記載の外乱加速度の推定方法。
【請求項６】
請求項１〜５の何れかに記載の外乱加速度の推定方法により得られた前記外乱加速度を用いて前記動力機を制御する動力機制御ステップをさらに含む、船体の自動制御方法。
【請求項７】
前記動力機の制御は、前記船体を一定の位置に留まらせる制御である、請求項６に記載の船体の自動制御方法。
【請求項８】
船体に働く外乱に基づく加速度である外乱加速度の推定装置であって、
前記船体に備えられたセンサーにて取得されたセンサー情報に基づいて得られた前記船体の実際の加速度を取得する、実加速度取得部と、
前記船体の動力機への指令値に基づいて得られた指令加速度を取得する、指令加速度取得部と、
前記船体における無外乱かつ無動力状態の挙動を予め学習した学習済のモデルにより予測された予測加速度を取得する、予測加速度取得部と、
前記実加速度、前記指令加速度及び前記予測加速度に基づいて外乱加速度を生成する、外乱加速度生成部と、を含む外乱加速度の推定装置。
【請求項９】
船体に働く外乱に基づく加速度である外乱加速度の推定用コンピュータプログラムであって、
前記船体に備えられたセンサーにて取得されたセンサー情報に基づいて得られた前記船体の実際の加速度を取得する、実加速度取得ステップと、
前記船体の動力機への指令値に基づいて得られた指令加速度を取得する、指令加速度取得ステップと、
前記船体における無外乱かつ無動力状態の挙動を予め学習した学習済のモデルにより予測された予測加速度を取得する、予測加速度取得ステップと、
前記実加速度、前記指令加速度及び前記予測加速度に基づいて外乱加速度を生成する外乱加速度生成ステップと、
を含む、外乱加速度の推定用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外乱加速度の推定方法、船体の自動制御方法及び外乱加速度の推定装置並びに外乱加速度の推定用コンピュータプログラムに関するものである。
【背景技術】
【０００２】
従来から、対象システムの動作を近似計算するための情報処理装置が使用されており、シミュレータとも呼ばれている。対象システムとしては、力学系として構成される機械システム、回路システム及び電算機システム等が挙げられる。シミュレータにおいては、対象システムの動作を近似計算するため対象システムの挙動測定を行い、測定データに基づいてシミュレータを構成する。
【０００３】
シミュレータの構成としては、単一連続関数による手法、人工ニューラルネットワークを用いた手法（Artificial Neural  Network、ＮＮとも呼ぶ）やデータベースによる手法等が挙げられる。
【０００４】
単一連続関数による手法では、対象システムの全挙動を単一の連続関数により記述して解析を行う。この手法を用いるシミュレータには、運動方程式による機械システムの解析や回路方程式による電子回路の解析等が含まれる。例えば、制御システムの設計には、関数近似器が用いられている（特許文献１参照）。
【０００５】
人工ニューラルネットワークを用いた手法は、脳神経系の情報処理機構を模した数理モデルであり、与えられたデータに基づく学習により必要とされる情報処理を実現するものである。ロボット等の挙動を予測する予測モデルとして、リカレントニューラルネットワーク（Recurrent Neural Network、ＲＮＮとも呼ぶ）が用いられている（特許文献２参照）。
【０００６】
データベースによる手法では、階層性を伴わないデータベースの構成方法としてレイジーラーニングがあるが、レイジーラーニングでは、シミュレータ内で最近傍探索を用いてデータ処理を行う必要があるため、シミュレータの計算量が大きくなる。
【０００７】
ところで、岩手県のアワビとウニの漁獲高は、２０１１年３月１１日の東日本大震災以前は、それぞれ全国１位、２位であった。しかしながら、若年労働者不足もあり、被災後の漁業再開率は、８４．３％と低い。大船渡市の越喜来漁協におけるアワビやウニ漁においても身体的負担の大きさ、漁の難度から新規参入者が単独で漁を行うことが難しく、若年層の新規参入の妨げになっている。
【０００８】
図２２は、アワビやウニ漁を行う漁業従事者の作業の様子を示す光学写真像である。漁業従事者は、左手で操船し、右手で採集をし、かつ海底方向を見るためのゴーグルの把持を右手で行っている。このような作業は、熟練を要し、漁業従事者の身体的負担が大きい上に作業効率が低いものである。
【０００９】
波の影響をニューラルネットワークに学習させる報告（非特許文献１参照）はあるが、「水面上各位置において波の影響が一定」という仮定が必要であり、応用場面は限定的なものである。実際には、波や流れの影響を踏まえた操船の制御を行う必要があるが、このような水上ロボットの運動に対する波の影響は、オンライン計算が難しかった。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−４４１３５号公報
【特許文献２】特開２００９−２８８９３４号公報
【非特許文献】
【００１１】
【非特許文献１】F. R. Ramirez, D. S. Benitez, E. B. Portas and J. A. L. Orozco, “Coordinated sea rescue system based on unmanned air vehicles and surface vessels,” IEEE OCEANS, pp.1-10, 2011
【発明の概要】
【発明が解決しようとする課題】
【００１２】
単一連続関数による手法では、対象システム毎の単一連続関数をシミュレータの設計者が記述する必要があり、シミュレータの構成には対象システム毎の詳細かつ専門的な知識が要求される。このため、シミュレータ構成の自動化が困難である。
【００１３】
単一連続関数による手法では、数式内の定数項を逐次的に更新することが難しい。このため、測定データが順次得られる場合において、それぞれの測定データを逐次的に解析し、シミュレータを逐次的に改善することが困難である。
【００１４】
さらに、単一連続関数による手法では、関数形状の変更が容易ではない。このため、シミュレータが要求するメモリ容量と計算速度や精度のバランスを、シミュレータの使用環境に応じて速やかに調整することができない。
【００１５】
ＮＮによる手法では、シミュレータを構成する前に測定データをバッチ処理によって処理する必要があるため、した対象システムの挙動測定と同時にシミュレータを構成することができない。また、バッチ処理を行う前にメモリ容量と計算速度や精度のバランスを調整する必要があるため、メモリ容量と計算速度や精度のバランスを速やかに調整することが難しい。
【００１６】
さらに、ＮＮによる手法では、一般に単一連続関数による手法よりも複雑な計算を必要とするため、シミュレータに高い付加価値が望めない。
【００１７】
階層性を伴わないデータベースによる手法では、シミュレータ内で最近傍探索を用いてデータ処理を行う必要があるため計算量が大きくなることから、メモリ容量と計算速度や精度のバランスを速やかに調整することが難しくなり、シミュレータに高い付加価値が望めない。
【００１８】
このように、従来のシミュレータでは、以下の課題がある。
（１）シミュレータの構成プロセスの自動化ができない。
（２）測定データが順次得られる場合において、それぞれの測定データを逐次的に解析し、シミュレータを逐次的に改善することができない。
（３）計算量が多く、シミュレータに高い付加価値が望めない。
（４）シミュレータが要求するメモリ容量と計算速度及び精度のバランスを、シミュレータの使用環境に応じて速やかに調整できない。
【００１９】
従って、例えば、漁を行う際に小型船舶の制御、例えば位置制御を自動で、つまり自律的に行うシステムを開発するために十分なシミュレータが得られていない。
【００２０】
本発明は、上記課題に鑑み、実用的で優れた外乱加速度の推定方法、船体の自動制御方法及び外乱加速度の推定装置並びに外乱加速度の推定用コンピュータプログラムを提供することを目的としている。
【課題を解決するための手段】
【００２１】
本発明者等は、船体などの力学系システムの挙動は、状態及び状態遷移速度の関係性により特徴づけられており、力学系システムのシミュレーションを行うためには、この関係性を効果的に解析して記録するための手段があれば良いとの着想を得、これを実現するには、木構造のデータベースを用いた情報処理装置により、従来のシミュレータの課題が解決できるという知見を得て本発明に想到した。
【００２２】
上記の目的を達成するため、本発明の外乱加速度の推定方法は、船体に働く外乱に基づく加速度である外乱加速度の推定方法であって、
船体に備えられたセンサーにて取得されたセンサー情報に基づいて船体の実際の加速度を取得する、実加速度取得ステップと、
船体の動力機への指令値に基づいて指令加速度を取得する、指令加速度取得ステップと、
船体における無外乱かつ無動力状態の挙動を予め学習した学習済モデルにより予測された予測加速度を取得する、予測加速度取得ステップと、
実加速度、指令加速度及び予測加速度に基づいて外乱加速度を生成する、外乱加速度生成ステップと、
を含む、ことを特徴とする。
上記構成において、学習済モデルは、好ましくは、階層的に分割された状態空間にそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して、所定のデータ群を学習させることにより得られたものである。
所定のデータ群は、好ましくは、無外乱かつ無動力の条件における船体の速度状態に関するデータと、無外乱かつ無動力の条件における対応する船体の加速度状態に関するデータと、を含むものである。
センサーは、画像取得手段と角速度検出器と、を含み、センサー情報は、画像取得手段により得られた画像情報と、角速度検出器から得られた角速度情報と、を含み、実加速度は、画像情報の遷移に基づく船体の速度情報と、角速度情報とを微分することにより得られることが好ましい。
外乱加速度生成ステップにおいて、好ましくは、外乱加速度は、実加速度から予測加速度と指令加速度とを減算することにより生成される。
【００２３】
上記の目的を達成するため、本発明の船体の自動制御方法は、上記の何れかに記載の外乱加速度の推定方法により得られた外乱加速度を用いて動力機を制御する動力機制御ステップ、をさらに含むことを特徴とする。
上記構成において、動力機の制御は、好ましくは、船体を一定の位置に留まらせる制御である。
【００２４】
上記の目的を達成するため、本発明の外乱加速度の推定装置は、船体に働く外乱に基づく加速度である外乱加速度の推定装置であって、
船体に備えられたセンサーにて取得されたセンサー情報に基づいて船体の実際の加速度を取得する、実加速度取得部と、
船体の動力機への指令値に基づいて指令加速度を取得する、指令加速度取得部と、
船体における無外乱かつ無動力状態の挙動を予め学習した学習済のモデルにより予測された予測加速度を取得する、予測加速度取得部と、
実加速度、指令加速度及び予測加速度に基づいて外乱加速度を生成する、外乱加速度生成部と、
を含むことを特徴とする。
【００２５】
上記の目的を達成するため、本発明の外乱加速度の推定用コンピュータプログラムは、船体に働く外乱に基づく加速度である外乱加速度の推定用コンピュータプログラムであって、
船体に備えられたセンサーにて取得されたセンサー情報に基づいて船体の実際の加速度を取得する、実加速度取得ステップと、
船体の動力機への指令値に基づいて指令加速度を取得する、指令加速度取得ステップと、
船体における無外乱かつ無動力状態の挙動を予め学習した学習済のモデルにより予測された予測加速度を取得する、予測加速度取得ステップと、
実加速度、指令加速度及び予測加速度に基づいて外乱加速度を生成する外乱加速度生成ステップと、
を含むことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、単一連続関数による手法では困難であった関数近似において、関数中の定数項の変更や情報処理装置の逐次的な更新を逐次的に改善することができる外乱加速度の推定方法及び船体の自動制御方法を提供することができる。
本発明によれば、従来のニューラルネットワークやデータベース等による手法では困難であった、計算速度の改善や使用するメモリ容量の削減ができ、種々のシミュレーションが容易にかつ低コストで実行可能な付加価値の高い外乱加速度の推定装置を提供することができる。
本発明によれば、従来の単一連続関数による手法、ニューラルネットワークやデータベース等による手法では困難であった、メモリ容量と計算速度や精度のバランスを速やかに調整することができる外乱加速度の推定用コンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の情報処理装置及び情報処理方法を説明するブロック図である。
【図２】図１に示す情報処理装置の具体的構成を情報処理装置として示すブロック図である。
【図３】Ｎ階層２次元２分木の木構造管理手段を模式的に示し、（ａ）が木構造、（ｂ）が各階層時の状態空間を示す図である。
【図４】本発明の木構造の初期化のフロー図である。
【図５】木構造の初期化の具体的なフロー図である。
【図６】学習のフロー図である。
【図７】（ａ）〜（ｅ）は、木構造が２層２次元２分割である場合の学習を模式的に示す図である。
【図８】予測の基本フロー図である。
【図９】予測の具体的なフロー図である。
【図１０】２主階層２副階層２分割における状態空間の分割を示し、（ａ）は第１主階層、（ｂ）は第２主階層を示す図である。
【図１１】（ａ）〜（ｄ）は、予測を模式的に示す図であり、（ａ）は根、（ｂ）は第１階層、（ｃ）は第２階層、（ｄ）は第３階層である。
【図１２】単振動の学習、予測の結果を示し、（ａ）は１００回の学習とそれに基づく予測、（ｂ）は５０００回の学習とそれに基づく予測を示す図である。
【図１３】力学系の木構造を用いた小型船舶の外乱推定法を示すブロック図である。
【図１４】小型船舶の自動運転を行う情報処理装置のブロック図である。
【図１５】実施例に用いた波の影響がほぼない水槽の外観図である。
【図１６】図１４の水槽に浮かべた実験機の外観図である。
【図１７】実験機のブロック図である。
【図１８】実験機の模式的平面図である。
【図１９】実験機の向きをベクトルで示した図である。
【図２０】木構造に計測した速度状態の一つを与え、推定した無波無動力時加速度を積分し実験機の速度及び角速度を求めた結果であり、（ａ）は水槽上のｘ軸速度、（ｂ）は水槽上のｙ軸速度、（ｃ）は水槽上の角速度を示す図である。
【図２１】木構造で推定した無動力無外乱加速度a０を用いて、ｘ軸方向外乱加速度atを推定した結果であり、（ａ）は水槽上のｘ軸速度の予測結果、（ｂ）は水槽上のｘ軸の加速度の予測結果を示す図である。
【図２２】漁業従事者の作業の様子を示す光学写真像の図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
図１は、本発明の情報処理装置１を説明するブロック図である。
情報処理装置１は、対象システム２からの状態データ及び／又は状態遷移速度データを取得する状態データ取得手段３と、木構造管理手段５と、ノードデータ管理手段７とからなる木構造４と、を含んで構成されている。
なお、本発明では、情報処理装置１が、力学系の木構造４である場合には、木構造４を力学系の木構造４とも呼ぶ。
【００２９】
状態データ取得手段３は、対象システム２からの状態データ及び／又は状態遷移速度データを取得する後述するセンサーや画像データ処理装置等から構成することができる。センサーは、情報処理装置１に有線又は無線により接続される。
【００３０】
木構造管理手段５により、木構造データ６が管理され、木構造データ６がデータベースとしてメモリに保存される。ノードデータ管理手段７によりノードデータ８が管理され、ノードデータ８からなるデータベースとしてメモリに保存される。
【００３１】
情報処理装置１は、対象システム２から、状態及び／又は状態遷移速度に関するデータが入力され、木構造４において学習が行われ、状態遷移速度が予測され、予測値９が出力される。つまり、状態及び／又は状態遷移速度の関係性が、関数により近似されて、情報処理装置のメモリに記録される。
【００３２】
（情報処理装置の構成）
図２は、図１に示す情報処理装置１の具体的構成を情報処理装置２０として示すブロック図である。
図２に示すように、本発明の情報処理装置２０は、中央演算装置（ＣＰＵ）２１と、センサー２２と、インターフェース（Ｉ／Ｏ）２３、２４と、記憶装置２５と、読み出し専用メモリ（ＲＯＭ）２６と、ランダムアクセスメモリ（ＲＡＭ）２７と、を含んで構成されている。本発明の情報処理装置２０は、パーソナルコンピュータ（ＰＣ）を含んで構成してもよい。さらに小型化のために、ＣＰＵ２１の代わりにマイクロプロッセッサ（Ｍプ）やマイクロコントローラ（マイコン）等により構成してもよい。
【００３３】
センサー２２は、図１の情報処理装置１の状態データ取得手段３に対応する電子回路である。センサー２２は、例えば、速度や加速度を検出するＭＥＭＳセンサーや角度や角加速度を検出するジャイロセンサーを用いることができる。センサー２２の出力は、インターフェース（Ｉ／Ｏ）２３を介して、ＣＰＵ２１に入力される。
【００３４】
木構造管理手段５とノードデータ管理手段７を構築するためのプログラムは、情報処理装置２０にインストールされる。情報処理装置２０にインストールされるプログラムは、読み出し専用メモリ（ＲＯＭ）２６に書き込まれてもよい。プログラムは書き換えが可能なフラッシュメモリに記憶させてもよい。
【００３５】
ランダムアクセスメモリ２７は、木構造データ６及びノードデータ８からなるデータベースを記憶するメモリである。木構造データ６のデータベースは、階層型の格子構造を有している。
【００３６】
記憶装置２５は、ハードディスクや光ディスク装置であり、上記プログラムやデータベースを保存するために使用される。
【００３７】
情報処理装置２０は、必要に応じて外部と通信するためのネットワークインターフェース（Ｉ／Ｏ）２４を備えて構成されてもよい。必要に応じてキーボードのような入力装置２８やディスプレイ２９を備えてもよい。
【００３８】
（情報処理装置の制御方法）
図３は、Ｎ階層２次元２分木の木構造管理手段５を模式的に示し、（ａ）が木構造４、（ｂ）が各階層の状態空間を示す図である。
１階層目の葉ノードは右の状態空間の各領域に対応している。葉ノードは、後述する図７に示すように最外側のノード１２である。
木構造管理手段５は、木構造４を用いた階層型学習器であり、根（root）１１となるノードがｎ次元状態空間を表現していると考え、根１１から葉の方へｎ次元（副層）のｄ分木を形成している。これにより、葉のノードを、根１１の状態空間をｄｎ個に分割した各状態空間に一対一に対応させている。
【００３９】
木構造４は、さらにｎ次元ｄ分木の形成をＮ回行うことで形成されるＮ階層ｎ次元ｄ分木（ここで、Ｎ及びｎは１以上の整数、dは２以上の整数である）の構成を有している。
階層、次元、分木は、それぞれ主階層、副階層、軸とも呼ぶ。
【００４０】
（木構造管理手段のデータ形式）
木構造管理手段５で管理される木構造データ６のデータ形式の一例を表１に示す。
【表１】
2018125012.tif 000003
【００４１】
（ノードデータ管理手段７のデータ形式）
ノードデータ管理手段７で管理されるノードデータ８のデータ形式の一例を、表２に示す。
【表２】
2018125012.tif 000004
【００４２】
（学習）
図４は、本発明の木構造４の初期化のフロー図である。図４に示すように、ステップＳＴ１において、木構造４の初期化を行い、次のステップＳＴ２において、データの学習を行う。
【００４３】
図５は、木構造４の初期化の具体的なフロー図である。
ステップＳＴ１１において、木構造管理手段５の状態データと状態遷移速度データの次元数を初期化する。
ステップＳＴ１２において、木構造管理手段５が扱う状態と状態遷移ベクトルの要素毎の最大値と最小値を初期化する。
ステップＳＴ１３において、木構造管理手段５が扱う状態空間の各軸の分割数を初期化する。
ステップＳＴ１４において、根１１のノード（根ノードとも呼ぶ）を初期化し、そのアドレスを根ノード１１のアドレスに登録する。
上記ステップにより、木構造管理手段５の初期化が終了する。
【００４４】
図６は、学習のフロー図である。
ステップＳＴ２１において、状態とその状態における状態遷移ベクトルとを、木構造４に与える。具体的には、状態データ取得手段３により対象システム２の状態及び状態遷移速度データを取得する。
【００４５】
ステップＳＴ２２において、根ノード１１に移動する。
具体的には、木構造管理手段５により、木構造データ６内の根ノード１１のアドレスを特定し、ノードデータ管理手段７を用いて根ノード１１の情報を読み込む。処理中ノードを根ノード１１とする。
【００４６】
ステップＳＴ２３において、ノード１２に状態遷移速度ベクトルを加算し保持させる。具体的には、処理中のノード１２の状態遷移速度ベクトル数に１を加え、状態遷移速度ベクトル数の総加算値に、ステップＳＴ２１で取得した状態遷移速度データを加える。
【００４７】
ステップＳＴ２４において、ノード１２が、Ｎ階層ｎ次元のノードであるか否かを判定し、Ｎ階層ｎ次元のノード１２である場合（Ｙｅｓ）には、ステップＳＴ２５において学習を終了する。つまり、処理中のノード１２が対応する主階層と副階層が、木構造データ６に登録された最大値（Ｎ階層ｎ次元）に達していれば、学習の処理を終了する。
【００４８】
ステップＳＴ２４において、ノード１２が、Ｎ階層ｎ次元のノードでない場合（Ｎｏ）には、ステップＳＴ２６に進む。ステップＳＴ２６では、現在参照しているノード１２から、入力した状態に対応する状態空間のノード１２を１副層分探索する。
具体的には、処理中ノードの葉側ノード１２に、ステップＳＴ２１で取得した状態データを内包する分割領域を持つものがあるか否かを調べる。
【００４９】
ステップＳＴ２７において、対応するノード１２が既にあるか否かを判定する。対応するノード１２が既にある場合（Ｙｅｓ）には、ステップＳＴ２９に進み、探索されたノード１２に移動し、ステップＳＴ２３に戻る。具体的には、対応するノード１２が既にある場合（Ｙｅｓ）には、その葉側ノードを処理中ノードとする。
【００５０】
ステップＳＴ２７において、対応するノード１２がない場合（Ｎｏ）には、ステップＳＴ２８に進む。ステップＳＴ２８では、対応する状態空間のノード１２を作成し、ステップＳＴ２３に進む。
【００５１】
具体的には、対応するノード１２がない場合（Ｎｏ）には、ステップＳＴ２１で取得した状態データを内包する分割領域を持つノード１２を作成し、それを処理中ノードとする。
ステップＳＴ２８において、作成したノード１２に移動し、ステップＳＴ２３に戻る。
【００５２】
本発明の情報処理装置１（２０）によれば、木構造４の学習は状態データとその状態における遷移ベクトルを用いて行われる。状態及び／又は状態遷移速度の関係性が、木構造データ６及びノードデータ８の中で関数により近似されることで学習される。例えば、木構造４では、力学系の状態とその状態における状態遷移速度ベクトルの対応を学習させることで力学系の関数近似を行うことができる。
【００５３】
上記ステップＳＴ２１〜ステップＳＴ２４において、木構造４に学習データを入れると根１１のノードから順に状態データに対応したノード１２を末端ノード１２（Ｎ階層ｎ次元目のノード）まで順にノード１２を辿りながら作成する（図７参照）。
【００５４】
ステップＳＴ２５〜ステップＳＴ２６において、既に状態データに対応したノード１２が存在する場合（Ｙｅｓ）には、既存のノード１２を辿り、状態データに対応したノード１２の作成を末端ノードまで行う。つまり、ステップＳＴ２７、ステップＳＴ２８、ステップＳＴ２３〜ステップＳＴ２５の順に学習が行われる。
【００５５】
ステップＳＴ２４〜ステップＳＴ２６において、状態データに対応したノード１２が存在しない場合（Ｎｏ）には、辿るノード１２が存在しない時点から状態データに対応したノード１２の作成を末端ノード１２まで行う。つまり、ステップＳＴ２７、ステップＳＴ２９、ステップＳＴ２８、ステップＳＴ２３〜ステップＳＴ２５の順に学習が行われる。
【００５６】
学習においては、状態とその際の状態遷移速度ベクトルを木構造４に入力する。学習したい状態データに対応したノード１２の作成と検索（図７参照）を行う際に、辿った全ノード１２に各状態（データ）における状態遷移ベクトルを、加算により保持させることにより木構造４における学習が行われる。
【００５７】
本発明の情報処理装置１（２０）によれば、上記の学習により対象システム２の状態データと状態遷移速度ベクトルが木構造４に入力される。木構造４においては、根１１から入力に対応した葉までのノード１２が逐次探索されることにより作成される。
【００５８】
探索して作成された全ノード１２に状態遷移速度ベクトルの相加平均を保持させることにより、根１１寄りの荒い状態空間から葉寄りの細かい状態空間までのノード１２に対し、状態遷移速度ベクトルを対応づけることができる。
【００５９】
ノード１２に対応づけられた状態及び／又は状態遷移速度の範囲について、木構造４上の深さが浅い位置に対応づけられたノード１２の範囲に木構造４上の深さが深い位置に対応づけられたノード１２の範囲が内包されてもよい。
【００６０】
学習の際には、入力された状態及び／又は状態遷移速度を上記の範囲と照合し、入力された状態及び／又は状態遷移速度が上記範囲と一致するノード１２について、関数を更新することができる。
【００６１】
本発明の情報処理装置１（２０）によれば、対象システム２の木構造４の学習は相加平均により実行できるので、オンラインで情報処理装置１，２０の処理を行うことができる。
【００６２】
本発明の情報処理装置１又は２０によれば、対象システム２の木構造４のノード１２の作成、つまり、状態空間分割は、データ毎に逐次行うために、新規に得られた状態入力に対して対応する葉がどの階層にあるのかは入力毎に異なる。
【００６３】
図７（ａ）〜（ｅ）は、木構造４が２層２次元２分割である場合の学習を模式的に示す図である。図中の黒丸印（●）は学習する状態データ、矢印はその状態データにおける遷移ベクトルを表しており、上段が状態空間を、下段が木構造４を示している。葉ノードは、最外側のノードである。
図７（ａ）〜（ｅ）に示すように、図中の８つのノード１２（全ノード）は上述した通り、状態遷移ベクトルを保持しており、根１１のノードでは２つの状態データの状態遷移ベクトルの加算値を保持することになる。
【００６４】
（予測）
次に、本発明の情報処理装置１又は２０における予測について説明する。
予測とは、上記の学習により状態及び／又は状態遷移速度を予測することである。
図８は、予測の基本フロー図である。
ステップＳＴ３１において、状態データ取得手段３により対象システム２の状態及び状態遷移速度データを取得する。
ステップＳＴ３２において、状態遷移速度の予測をする。
ステップＳＴ３３において、状態遷移速度の予測値９（図１参照）を出力する。
【００６５】
図９は、予測の具体的なフロー図である。
予測を行う際には、状態及び状態遷移速度に関するデータが、木構造管理手段５及びノードデータ管理手段７に入力され、状態及び／又は状態遷移速度が木構造データ６及びノードデータ８により学習される。この学習により状態遷移速度が予測され、状態遷移速度の予測値９が出力される。予測を行う際には、対象システム２の状態の入力を受け取り、状態遷移速度を予測してもよい。
図９に示すように、ステップＳＴ４１において、状態遷移ベクトルを得たい状態を、木構造４に与える。具体的には、ステップＳＴ４１では、状態データを取得する。
【００６６】
ステップＳＴ４２において、根１１のノードに移動する。
具体的には、木構造管理手段５により、木構造データ６内の根１１のノードのアドレスを特定し、ノードデータ管理手段７を用いて根ノード１１の情報を読み込む。処理中のノードを根ノード１１とする。
【００６７】
ステップＳＴ４３において、葉ノードであるか否かを判定し、葉ノードである場合（Ｙｅｓ）には、ステップＳＴ４６に進む。ステップＳＴ４６において、現在のノード１２が保持する遷移ベクトルの相加平均を返す。具体的には、ノードデータ管理手段７を用いて処理中ノード１２のノードデータ８から、葉ノードであるか否かの判定値を特定し、それが葉ノードである場合（Ｙｅｓ）には、ステップＳＴ４６へ移動する。
【００６８】
ステップＳＴ４３において、葉ノードでない（Ｎｏ）には、ステップＳＴ４４に進む。
ステップＳＴ４４において、探索する状態に対応するノード１２を、１副階層分探索して、ステップＳＴ４５に進む。
【００６９】
ステップＳＴ４５において、対応するノード１２であるか否かを判定し、対応するノード１２がある場合（Ｙｅｓ）には、その葉側ノードを処理中ノードとしステップＳＴ４７に進む。ステップＳＴ４７において、対応ノードに移動し、ステップＳＴ４３に戻る。
【００７０】
具体的には、処理中ノードの葉側ノードに、ステップＳＴ４１で取得した状態データを内包する分割領域を持つものがあるか否かを調べる。有れば、その葉側ノードを処理中のノード１２とし、ステップＳＴ４７に進む。
【００７１】
ステップＳＴ４５において、対応するノード１２がない場合（Ｎｏ）には、ステップＳＴ４６に進む。ステップＳＴ４６において、現在のノード１２が保持する遷移ベクトルの相加平均を返す。
【００７２】
具体的には、処理中のノード１２の葉側ノードに、ステップＳＴ４１で取得した状態データを内包する分割領域を持つものがあるか否かを調べる。無ければステップＳＴ４６へ移動する。
【００７３】
具体的には、ステップＳＴ４６では、以下の処理を行う。
ノードデータ管理手段７を用いて処理中のノード１２のノードデータ８から、状態遷移速度ベクトル数と、状態遷移速度ベクトルの総加算値を読み込む。
次に、状態遷移速度ベクトルの総加算値を状態遷移速度ベクトル数で割ることにより、状態遷移速度の予測値９を作成して、予測値９を出力する。
【００７４】
図１０は、２主階層２副階層２分割における状態空間の分割を示し、（ａ）は第１主階層、（ｂ）は第２主階層を示す図である。図の横軸は、副階層第１軸（状態要素１）、図の縦軸は、副階層第２軸（状態要素２）である。主階層、副階層、軸は、それぞれＮ階層ｎ次元ｄ分木における階層、次元、分木に対応している。
図１０（ａ）に示すように、状態空間は木構造４の第１主階層に相当するノード１２の情報により４分割される。木構造４の各ノード１２は、これらの各領域と対応することになる。
【００７５】
図１０（ｂ）に示すように、また、第２主階層に相当するノード１２の情報が有る場合、各領域はさらに分割され、学習データが３対得られており、第２主階層の各格子に１つずつ割り当てられている。
ここで、Ａ点に相当する状態が入力され、これに対する状態遷移速度ベクトルの予測を行う場合、木構造４は、図１０（ｂ）の網掛けの領域に相当するノード１２が記憶した状態遷移速度ベクトルの平均を用いて予測を行う。
【００７６】
一方で、Ｂ点に相当する状態が入力された場合、第２主階層には対応する領域に学習データが無い。そこで、第１主階層の網掛けの領域に相当するノード１２が記憶した状態遷移速度ベクトルの平均を用いて予測を行う。
【００７７】
このとき，Ａ点の状態に対する状態遷移速度ベクトルの予測には、比較的近い状態の学習データ（Ａ点の下のデータ）が用いられたことになる。この状態を「狭い汎化」と呼ぶ。この場合、学習データとＡ点のデータが近いため、精度の良い予測が行える。
Ｂ点については近い学習データが無いが、第１主階層で同じ格子にある学習データ群の平均を用いることで、大凡、つまり粗い予測を得ることができる。この状態を「広い汎化」と呼ぶ。このように、データが得られていない状態に対し、学習データが得られている状態つまり、状態遷移ベクトルの対から、状態遷移ベクトルの予測を行うことを汎化と言う。
【００７８】
学習済みの木構造４に状態データを入力すると、根１１となるノードから順に状態に対応したノード１２を辿り、辿るノード１２が無くなった時点でのノード１２が保持する状態遷移ベクトルの相加平均を用いることでその状態における系の挙動を予測できる。この予測は末端に近いノードほど対応している状態空間が狭いため、より詳細にその状態における挙動を予測でき、根１１に近いノード１２では逆に大凡（粗い）予測となる。
【００７９】
図１１（ａ）〜（ｄ）は、予測を模式的に示す図であり、（ａ）は根１１、（ｂ）は第１階層、（ｃ）は第２階層、（ｄ）は第３階層である。図中の矢印は（→）は学習した状態遷移ベクトルの相加平均を表す。
図１１（ａ）〜（ｄ）の順に階層数が深くなっており、階層数が深くなるほど学習データ（状態遷移ベクトル）が存在しない部分が存在する。データがない領域（図中の網掛け領域）では１階層上の領域が保持する状態遷移ベクトルを用いて予測することを示している。
【００８０】
力学系の挙動を予測する際には、対象システム２の挙動をより詳細に予測するためには、図１１（ｄ）のように、なるべく深い階層のノード１２が保持している状態遷移速度ベクトルの平均値を用いる。これにより、学習データの粗密に応じて汎化の度合いを調節した予測を行うことができる。
【００８１】
また、データにノイズがある場合には、深い階層の状態遷移速度ベクトルを用いる代わりに学習数の多い浅い階層のもの（図１１（ｂ）参照）を用いることでノイズの除去を伴った予測ができる。
【００８２】
本発明の情報処理装置１又は２０及びその制御方法によれば、実測した対象システム２の状態と、その状態において実測した状態遷移速度の対のデータを、対象システム２の状態を入力として、状態遷移速度を出力として、アルゴリズムを用いて関数近似することができる。これにより、従来の単一連続関数による手法では、困難であった情報処理装置１又は２０、つまり、シミュレータの自動化を図ることができる。
【００８３】
関数をノードデータ８と対応づけてメモリに記録してもよい。予測の実行時には、状態及び／又は状態遷移速度の入力に応じて木構造４に登録されたノード１２を呼び出し、該ノード１２に対応付けられた関数を呼び出し、該関数に応じて予測値９を出力することができる。
【００８４】
ノード１２と対応づけられた関数を、ノード１２が登録された木構造４上の深さに応じて対象システム２の異なる状態及び／又は状態遷移速度の範囲と対応づけてメモリに記録してもよい。ノード１２に対応づけられた状態及び／又は状態遷移速度の範囲について、木構造４上の深さが浅い位置に対応づけられたノードの範囲に木構造４上の深さが深い位置に対応づけられたノード１２の範囲が内包されてもよい。
【００８５】
本発明の情報処理装置１又は２０及びその制御方法によれば、関数近似において、相加平均など逐次統計処理が可能な基底を用いることができる。基底とは、互いに線型独立なベクトルの集合体である。例えば二次元座標の場合に、Ｘ軸方向のベクトルやＹ軸方向のベクトルが基底の元となる。
【００８６】
本発明の情報処理装置１（２０）及びその制御方法によれば、関数をノードデータ８と対応づけて記録することができる。予測の実行時には、状態及び／又は状態遷移速度の入力に応じて木構造４に登録されたノード１２を呼出し、このノード１２に対応づけられた関数を呼び出し、関数に応じて予測値９を出力することができる。これにより、単一連続関数による手法では困難であった、関数中の定数項の変更や情報処理装置の逐次的な更新を、逐次的に改善することが可能となる。
【００８７】
本発明の情報処理装置１又は２０及びその制御方法によれば、基底を木構造４のノード１２と対応づけて記録し、情報処理装置１又は２０の実行時には、木構造４を用いて基底を選択することができる。これにより、従来のニューラルネットワークやデータベース等による手法では困難であった、計算速度の改善や使用するメモリ容量の削減ができ、種々のシミュレーションが容易にかつ低コストで実行可能な付加価値の高い情報処理装置１又は２０を提供することができる。
【００８８】
本発明の情報処理装置１（２０）及びその制御方法によれば、木構造４と対応づけられた基底を、木構造４の深さに応じて実測した対象システム２の状態と対応づけて記録し、使用環境に応じて基底を使用する木構造４の深さを調整することが可能となる。これにより、従来の単一連続関数による手法、ニューラルネットワークやデータベース等による手法では困難であった、メモリ容量と計算速度や精度のバランスを速やかに調整することが可能となる。
【００８９】
（単振動のシミュレーション例）
振り子の挙動である単振動の式よりランダムにデータを求め、６階層２次元３分割の力学系の木構造４で学習させた。単振動は単純振り子の動作を表したものであり、位置と速度の次元空間においてその挙動は円を描くものとなる。
振り子の挙動を学習済みの木構造４に初期状態（x, dx/dt）＝（０．１、０）を与えて推定した状態遷移速度ベクトルからの加速度を求め、加速度の積分により速度と、速度の積分により位置を求めた。
【００９０】
なお、シミュレーション上のステップ幅を、０．０１ｓとした。学習データ数、予測数、状態空間の幅、学習器の階層数、状態空間の次元数、状態空間の分割数を、表３に纏めて示す。
【表３】
2018125012.tif 000005
【００９１】
（データベースを用いたプログラムの結果）
プログラム情報を表４に示す。
【表４】
2018125012.tif 000006
【００９２】
計算時間を表５に示す。
【表５】
2018125012.tif 000007
【００９３】
図１２は、単振動の学習、予測の結果を示し、（ａ）は１００回の学習とそれに基づく予測、（ｂ）は５０００回の学習とそれに基づく予測を示す図である。図１２の横軸は位置ｘであり、縦軸は速度である。
図１２（ａ）から明らかなように、１００回の学習では学習数が少ないために、木構造４の上層データを用いるため予測が正確ではないことが分かる。
一方、図１２（ｂ）から明らかなように、５０００回の学習では、学習数の増加により単振動の動作予測をより正確に行うことができていることが分かる。これにより、図１２の結果から学習数の増加により単振動の挙動を関数近似できていると言える。
【００９４】
（情報処理装置の力学系学習への適用）
力学系学習による自動車や飛行機、船舶の制御への適用について説明する。
自動車や飛行機、船舶などの力学系に従ったシステムに働く加速度ａは、無動力無外乱加速度ａ０、制御入力による加速度ａｔ、波の影響を含めた外乱による加速度ａｗ の三つに分類でき、船舶の加速度ａは、下記（１）式で表せる。また、（１）式より外乱による加速度ａｗを求めるための（２）式が得られる。
【００９５】
ａ＝ａ０＋ａｔ＋ａｗ        （１）
ａｗ＝ａ-ａ０-ａｔ          （２）
ここで、ａは船舶の加速度、ａ０は無波無動力時加速度、ａｔは制御入力による加速度、ａｗは波の影響を含めた外乱による加速度である。
【００９６】
力学系に従ったシステムの制御では、システムの状態に応じたこれらの加速度を正確に知ることが重要となる。
（１）式より、システムの加速度ａ、制御入力による加速度ａｔ、無動力無外乱加速度ａ０を求められれば外乱による加速度ａｗ推定できることが分かる。
（２）式より、船舶の加速度ａ、制御入力による加速度ａｔ、無波無動力時加速度ａ０を求められれば外乱による加速度ａｗが推定できることが分かる。
【００９７】
ａは実際の加速度を測定することにより求まり、ａｔは動力機（スラスター）への指令値とａの計測値の対応から容易にモデル化することができるため、残りのa０を求めることが重要となるが、多くの力学系システムではa０を数式で表現することが困難である。
力学系システムが船舶の場合、a０は水面から船体に働く抗力による加速度を含み、船体形状によっても異なるため、その力学的挙動を数式で表現することは困難である。
【００９８】
本発明では、情報処理装置１（２０）を用いて、力学系木構造４を構成し、上記した関数近似により船舶等の制御を行うことができる。つまり、力学系の木構造４により、関数近似でａ０を予測し、（２）式から外乱による加速度ａｗの推定を行うことができる。この外乱による加速度ａｗの予測から、船舶の推進手段であるスラスターの制御を行うことにより、船舶の自動制御による運転を行うことができる。船舶の自動制御としては、例えば、アワビとウニ漁に使用される小型船舶を、一定の位置に留まるような水上ロボットの制御が挙げられる。
【００９９】
対象システム２が力学系システムである場合には、木構造管理手段５及びノードデータ管理手段７を用いて、力学系システムの軌道を学習し、予測することができる。この際、情報処理装置１（２０）は、力学系システムに対する制御入力を計算する制御入力計算手段を備えて構成してもよい。制御入力計算手段により計算した制御入力は、例えば、小型船舶を一定の位置に留まるような水上ロボットの推進装置（スラスター）の制御に使用することができる。
【０１００】
図１３は、力学系の木構造４を用いた小型船舶の外乱推定法を示すブロック図である。
図１３に示すように、情報処理装置においては、力学系の木構造４により、波の影響を考慮しない目標加速度ａ１と、波の影響による加速度の予測値ａ２が、加算器に入力され、目標加速度が、スラスター指令値変換手段により、スラスター指令値に変換されて、小型船舶のスラスター指令値を得る。
目標加速度ａ＊は、下記（３）式で与えられる。
ａ＊＝ａ１−ａ２          （３）
【０１０１】
目標加速度ａ＊ は、波の影響を考慮しない目標加速度ａ１、力学系の木構造４に小型船舶の位置と速度、角度、角加速度（x, y, θ, dx/dt, dy/dt, dθ/dt）を入力することにより計算される。ここで、加速度の予測をするために、ＰＩＤ制御や線形予測ベース均等状態サンプリング（Linear Prediction based Uniform State Sampling、ＬＰＵＳＳとも呼ぶ）を使用してもよい。
【０１０２】
スラスター指令値変換手段においては、目標加速度ａ＊は、情報処理装置中のデータベースＡによりスラスター指令値に変換される。データベースＡは、ＲＡＭに記憶されている。
【０１０３】
図１４は、小型船舶の自動運転を行う情報処理装置４０のブロック図である。
図１４に示すように、情報処理装置４０は、図示しない力学系の木構造４と、位置及び速度取得手段４１と、角速度検出器４２と、第１の微分器４３と、第２の微分器４４と、加速度予測器４５と、減算器４６と、図１３で説明したスラスター指令値変換手段４８と、スラスター指令値を用いて加速度に変換するデータベース５０等を含んで構成されている。
【０１０４】
ここで、力学系の木構造４の対象システム２は、図示しない船体である。船体の位置、速度、加速度を取得する位置及び速度取得手段４１と、角速度検出器４２と、第１の微分器４３と、第２の微分器４４等は電子回路からなる。力学系の木構造４、木構造管理手段５及びノードデータ管理手段７は、例えばＰＣに構成されたプログラムである。木構造データ６、ノードデータ８、データベースＡ及びデータベースＢはＰＣ上に備えたＲＡＭに記憶された情報である。
【０１０５】
位置及び速度取得手段４１は、例えば船舶の上部に設置された水底の画像を取得するカメラ等の画像取得手段である。画像取得手段により取得された画像は、画像処理により位置情報及び速度情報に変換される。位置情報及び速度情報は、第２の微分器４４により加速度に変換される
【０１０６】
角速度検出器４２は、例えば船舶に設置したジャイロスコープであり、角度と角速度が取得される。角速度は、第１の微分器４３により角加速度に変換される。
【０１０７】
情報処理装置４０の動作を説明する。
画像取得手段４１により取得された画像を処理して得られた加速度及びジャイロスコープ４２により取得された角速度を処理して得られた角加速度、つまり、ａ＝（ dx/ ｄt２, dｙ/ｄt２, dθ/ｄt２）が、減算器４６に入力される。
力学系の木構造４で予測された無波無動力時加速度ａ３が、減算器４６に入力される。
スラスター入力指令値が、データベースＢを介してスラスターによる加速度ａＴに変換され、減算器４６に入力される。
【０１０８】
上記減算器４６に入力される加速度ａと、無波無動力時加速度の予測値ａ３とスラスターによる加速度ａＴにより、波の影響による加速度ａｗの予測値が（４）式により得られる。
ａｗ＝ａ−ａ３−ａＴ        （４）
【０１０９】
本発明の情報処理装置４０によれば、（４）式の外乱による加速度ａｗを予測できるので、船舶の推進装置であるスラスターの制御を行うことにより、船舶の自動制御による運転を行うことができる。
【０１１０】
本発明の情報処理装置４０によれば、船体挙動に関する高速シミュレータを構成することができる。この高速シミュレータの挙動と実際の船体挙動を比較することで、実際の船体に働く外乱の値を推定することができる。
同様に、気球、ロボット、自動車といった力学系によって動作が記述できるシステム全般に対して高速シミュレータを構成し、システムに働く外乱を推定することができる。力学系の複雑さに応じて、測定データの量を増やす必要があり、船体挙動のシミュレータを構成する際には、約２時間分の実機データを測定した。
【０１１１】
（外乱による加速度の予測）
実験機を用いて無波無動力時加速度を測定し力学系の木構造４に学習させ、学習済みの力学系の木構造４を用いてａ０の推定を行う。また、木構造４より推定したａ０を適用した（２）式から外乱による加速度の推定を行う。
【０１１２】
図１５は、実施例に用いた波の影響がほぼない水槽の外観図であり、図１６は、図１４の水槽に浮かべた実験機６０の外観図であり、図１７は、実験機６０のブロック図である。
図１７に示すように、実験機６０は、図１４に示す構成要素を備えて構成されており、スラスター６２と、水底の画像を取得するカメラ等のセンサー４１と、ジャイロスコープ４２と第１の微分器４３と第２の微分器４４及び減算器４６等からなる電子回路と、マイコン６４等を備えて構成されている。スラスター６２は、モータとモータに接続されるスクリュー等から構成されている。マイコン６４と情報処理装置４０とは、図示しない通信線により接続されている。このスラスター６２を動かすことで様々な速度状態を作り、実験機６０の水槽上の位置データを収集した。位置データは、実験機６０の上に配設したモーションキャプチャ（株式会社ノビテック製、VENUS3D）を用いて収集した。
【０１１３】
図１８は、実験機６０の平面図である。
図１８に示すように、実験機６０の中心を、黒丸（●）で示し、実験機６０の向きは矢印（↑）で示す方向である。実験機６０の５点のマーカー位置（白丸印（○））を、モーションキャプチャを用いて３３Ｈｚで測定した。中心（ｘ，ｙ）の位置データを得、位置データを時間で微分して速度を求め、速度を時間で微分して加速度を求めた。
【０１１４】
図１９は、実験機６０の向きをベクトルで示した図である。
図１９に示すように、実験機６０の向きは、実験機の初期位置を０度とした角度を、船体中心軸ベクトルの内積と外積から求めた上で、角速度、角加速度も求めた。
【０１１５】
力学系の木構造４にスラスター６２の停止時の実験機６０の各速度状態 (vx、vy、vθ)における無動力無外乱加速度である加速度 ａ０＝ (ａ０ｘ、ａ０ｙ、ａ0θ) を学習させ、 ａ０を推定した結果と実際の動作を比較する。またスラスター６２による加速度を外乱として推定した（ａｔ＝ａ−ａ０,ａｗ＝０）。
【０１１６】
具体的には、１２階層３次元３分割の力学系の木構造４に、無動力無外乱の速度状態(vx、vy、vθ) とその際の加速度 (ａ0x、ａ0y、ａ0θ) の対応を学習させ、次に、学習済みの木構造４からａ0を推定した。
さらに、推定した ａ０を適用した（１）式からスラスター６２による加速度を外乱として推定した(at=a-a0, aｗ=0)。
【０１１７】
なお、力学系の木構造４の学習と予測は以下のＰＣを用いて行った。
ＣＰＵ：Core i5-3340M(2．7GHz×2)
オペレーティングシステム（ＯＳ）:Windows（登録商標） 8（64bit）
ランダムアクセスメモリ（ＲＡＭ）：４ＧＢ
【０１１８】
力学系の木構造４の学習と予測の各諸元を表６〜８に纏めて示す。
【表６】
2018125012.tif 000008
【０１１９】
【表７】
2018125012.tif 000009
【０１２０】
【表８】
2018125012.tif 000010
【０１２１】
図２０は、木構造４に計測した速度状態の一つを与え、推定した無波無動力時加速度を積分して実験機６０の速度及び角速度を求めた結果であり、（ａ）は水槽上のｘ軸速度、（ｂ）は水槽上のｙ軸速度、（ｃ）は水槽上の角速度を示す図である。図の横軸は時間（ｓ（秒））、（ａ）及び（ｂ）の縦軸は速度（ｍ／ｓ）であり、（ｃ）の縦軸は角速度（ rad／ｓ）である。図の実線は、実験機６０の速度、点線は実験機６０の速度又は角速度の予測を示している。
図２０から明らかなように、約８秒間迄は、実機の動作と予測とが一致していることが分かる。実際の制御においては学習データ数を３３Ｈｚからさらに１Ｈｚ毎の制御をすることにより、十分な予測ができると推定できる。
【０１２２】
図２１は、木構造４で推定した無動力無外乱加速度a０ を用いて、ｘ軸方向外乱加速度ａｔを推定した結果であり、（ａ）は水槽上のｘ軸速度の予測結果、（ｂ）は水槽上のｘ軸の加速度の予測結果を示す図である。図の横軸は時間（ｓ（秒））、（ａ）の縦軸は速度（ｍ／ｓ）であり、（ｂ）の縦軸は加速度（ｍ／ｓ２）である。図の実線は、実験機６０の速度又は加速度、点線は実験機６０の速度又は加速度の予測を示している。図中において、矢印で示す時間に外乱ａｔが付加されている。
図２１（ｂ）から明らかなように、外乱による水槽上のｘ軸の加速度ａｔが推定できていることが分かる。図２１では外乱付加時に、ｘ軸における外乱ａｔが推定できており、水槽上のｘ軸、回転の加速度（角加速度）においても同様の結果を得られていることから、外乱の推定が可能であることが分かった。
【０１２３】
実験により船体の力学系の挙動を学習させることで制御するのに十分な無波無動力時加速度a０を推定することができ、推定したa０を（２）式に適用することで外乱による加速度を推定できる精度が得られることが分かった。
【０１２４】
さらに、１秒間に約５７０万ステップの予測を行えることから、本発明の情報処理装置４０は、高速なシミュレータであることが判明した。これにより、本発明の情報処理装置４０は、力学系の木構造４の構造、学習法から汎化、ノイズ除去、そしてオンラインでの学習を行うこともできる。
【０１２５】
本発明は、上記実施例に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれることはいうまでもない。
【符号の説明】
【０１２６】
１，２０：情報処理装置
２：対象システム（船舶の力学系システム）
３：状態データ取得手段
４：木構造
５：木構造管理手段
６：木構造データ
７：ノードデータ管理手段
８：ノードデータ
９：予測値
１１：根
１２：ノード
２１：ＣＰＵ
２２：センサー
２３，２４：インターフェース
２５：記憶装置
２６：読み出し専用メモリ
２７：ランダムアクセスメモリ
２８：入力装置
２９：ディスプレイ
４０：情報処理装置
４１：位置及び速度取得手段
４２：角速度検出器
４３：第１の微分器
４４：第２の微分器
４５：加速度予測器
４６：減算器
４８：スラスター指令値変換手段
５０：スラスター指令値を用いて加速度に変換するデータベース
６０：実験機
６２：スラスター
６４：マイコン
【図１】
2018125012.tif 000011
【図２】
2018125012.tif 000012
【図３】
2018125012.tif 000013
【図４】
2018125012.tif 000014
【図５】
2018125012.tif 000015
【図６】
2018125012.tif 000016
【図７】
2018125012.tif 000017
【図８】
2018125012.tif 000018
【図９】
2018125012.tif 000019
【図１０】
2018125012.tif 000020
【図１１】
2018125012.tif 000021
【図１２】
2018125012.tif 000022
【図１３】
2018125012.tif 000023
【図１４】
2018125012.tif 000024
【図１５】
2018125012.tif 000025
【図１６】
2018125012.tif 000026
【図１７】
2018125012.tif 000027
【図１８】
2018125012.tif 000028
【図１９】
2018125012.tif 000029
【図２０】
2018125012.tif 000030
【図２１】
2018125012.tif 000031
【図２２】
2018125012.tif 000032