(57)【要約】      （修正有）【課題】より高精度なシミュレーション装置、方法を提供する。【解決手段】シミュレーションシステム１００は、ロボット１１０と、シミュレーション装置１２０とを有する。ロボット１１０は、センサ装置１１１と、駆動装置１１２と、制御装置１１３とを含む。制御装置１１３は、観測及び制御部１１４として機能し、センサ装置１１１からの出力に基づいて現実世界を観測し、仮想世界の状態を生成する。観測及び制御部１１４は、シミュレーション装置１２０からロボット制御方法を受信し、駆動装置１１２を制御する。シミュレーション部１２１は、現実世界を再現するための微分可能な物理シミュレータを有し、仮想世界の状態を受信した際、ロボット制御方法を出力する。【選択図】図１
2020140641.tif 000002
【特許請求の範囲】
【請求項１】
現実世界の観測結果から算出された仮想世界の状態を、所定の環境変数のもとで取得し、変化後の仮想世界の状態について、微分可能なシミュレーションを実行する実行部と、
前記実行部によるシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記所定の環境変数を更新する更新部と
を有する情報処理装置。
【請求項２】
前記更新部は、前記実行部によるシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、前記変化後の仮想世界の状態に近づくように、誤差逆伝播を行うことで、前記所定の環境変数を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記現実世界の観測結果から算出された仮想世界の状態を、前記更新部により更新された環境変数のもとで取得し、前記実行部が、前記微分可能なシミュレーションを実行することでシミュレーション結果を出力した場合において、該出力されたシミュレーション結果を修正し、修正後のシミュレーション結果を出力する第１の訓練部を更に有し、
前記第１の訓練部は、前記修正後のシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記出力されたシミュレーション結果と、前記修正後のシミュレーション結果との対応関係を訓練する、請求項２に記載の情報処理装置。
【請求項４】
現実世界の観測結果から算出された仮想世界の状態と、前記現実世界に作用する要素を制御する際の第１の制御方法とを、所定の環境変数のもとで取得することで、変化後の仮想世界の状態について、微分可能なシミュレーションを実行する実行部と、
前記実行部によるシミュレーション結果が、前記現実世界に作用する要素を前記第１の制御方法のもとで制御した後の前記現実世界の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記所定の環境変数を更新する更新部と
を有する情報処理装置。
【請求項５】
前記更新部は、前記実行部によるシミュレーション結果が、前記現実世界に作用する要素を前記第１の制御方法のもとで制御した後の前記現実世界の観測結果から算出された、前記変化後の仮想世界の状態に近づくように、誤差逆伝播を行うことで、前記所定の環境変数を更新する、請求項４に記載の情報処理装置。
【請求項６】
前記現実世界の観測結果から算出された仮想世界の状態と、前記現実世界に作用する要素を制御する際の第２の制御方法とを、前記更新部により更新された環境変数のもとで取得し、前記実行部が、前記微分可能なシミュレーションを実行することでシミュレーション結果を出力した場合において、該出力されたシミュレーション結果を修正し、修正後のシミュレーション結果を出力する第１の訓練部を更に有し、
前記第１の訓練部は、前記修正後のシミュレーション結果が、前記現実世界に作用する要素を前記第２の制御方法のもとで制御した後の前記現実世界の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記出力されたシミュレーション結果と、前記修正後のシミュレーション結果との対応関係を訓練する、請求項５に記載の情報処理装置。
【請求項７】
訓練済みの前記第１の訓練部により出力された修正後の第１のシミュレーション結果を、前記更新部により更新された環境変数のもとで取得し、第３の制御方法を出力する第２の訓練部と、
前記第２の訓練部により出力された前記第３の制御方法と、訓練済みの前記第１の訓練部により出力された修正後の第１のシミュレーション結果とを、前記更新部により更新された環境変数のもとで取得し、前記実行部が、前記微分可能なシミュレーションを実行することでシミュレーション結果を出力した場合において、該出力されたシミュレーション結果を、訓練済みの前記第１の訓練部が修正することで出力された修正後の第２のシミュレーション結果に基づいて、報酬を算出する算出部と、を有し、
前記第２の訓練部は、前記報酬に基づいて、前記修正後の第１のシミュレーション結果と、前記第３の制御方法との対応関係を訓練する、請求項６に記載の情報処理装置。
【請求項８】
現実世界の観測結果から算出された仮想世界の状態を、所定の環境変数のもとで取得し、変化後の仮想世界の状態についてのシミュレーションが実行された場合のシミュレーション結果を修正し、修正後のシミュレーション結果を出力する訓練部を有し、
前記訓練部は、前記修正後のシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記シミュレーション結果と、前記修正後のシミュレーション結果との対応関係を訓練する、情報処理装置。
【請求項９】
仮想世界の状態を、所定の環境変数のもとで取得し、現実世界に作用する要素を制御する際の制御方法を出力する訓練部と、
前記訓練部により出力された制御方法と、前記仮想世界の状態とを、前記所定の環境変数のもとで取得することで、変化後の仮想世界の状態についてのシミュレーションが実行された場合において、シミュレーション結果に基づいて報酬を算出する算出部と、を有し、
前記訓練部は、前記報酬に基づいて、前記仮想世界の状態と、前記制御方法との対応関係を訓練する、情報処理装置。
【請求項１０】
現実世界の観測結果から算出された仮想世界の状態を、所定の環境変数のもとで取得し、変化後の仮想世界の状態について、微分可能なシミュレーションを実行する実行工程と、
前記実行工程におけるシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記所定の環境変数を更新する更新工程と
を有する情報処理方法。
【請求項１１】
現実世界の観測結果から算出された仮想世界の状態を、所定の環境変数のもとで取得し、変化後の仮想世界の状態についてのシミュレーションが実行された場合のシミュレーション結果を修正し、修正後のシミュレーション結果を出力する訓練工程を有し、
前記訓練工程は、前記修正後のシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記シミュレーション結果と、前記修正後のシミュレーション結果との対応関係を訓練する、情報処理方法。
【請求項１２】
仮想世界の状態を、所定の環境変数のもとで取得し、現実世界に作用する要素を制御する際の制御方法を出力する訓練工程と、
前記訓練工程において出力された制御方法と、前記仮想世界の状態とを、前記所定の環境変数のもとで取得することで、変化後の仮想世界の状態についてのシミュレーションが実行された場合において、シミュレーション結果に基づいて報酬を算出する算出工程と、を有し、
前記訓練工程は、前記報酬に基づいて、前記仮想世界の状態と、前記制御方法との対応関係を訓練する、情報処理方法。
【請求項１３】
仮想世界の状態とロボットの第１の制御方法とを、所定の環境変数のもとで取得し、変化後の前記仮想世界の状態について、微分可能なシミュレーションを実行する第１の実行部と、
前記第１の実行部によるシミュレーション結果を取得し、修正後のシミュレーション結果を出力する第２の実行部と、
前記修正後のシミュレーション結果と前記所定の環境変数とを取得し、前記ロボットの第２の制御方法を計算する第３の実行部と
を有する情報処理装置。
【請求項１４】
仮想世界の状態とロボットの第１の制御方法とを、所定の環境変数のもとで取得し、変化後の前記仮想世界の状態について、微分可能なシミュレーションを実行する第１の実行工程と、
前記第１の実行工程におけるシミュレーション結果を取得し、修正後のシミュレーション結果を出力する第２の実行工程と、
前記修正後のシミュレーション結果と前記所定の環境変数とを取得し、前記ロボットの第２の制御方法を計算する第３の実行工程と
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来より、現実世界を再現した仮想的なモデルを用いてシミュレーションを行うシミュレーション装置として、物理シミュレータが知られている。一般に、物理シミュレータは、順方向への計算を実行するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９１５７０号公報
【特許文献２】特開２０１４−１３０４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のようなシミュレーション装置では、高精度なシミュレーションを実現することが難しい。
【課題を解決するための手段】
【０００５】
本開示の一態様による情報処理装置は、例えば、以下のような構成を有する。即ち、
現実世界の観測結果から算出された仮想世界の状態を、所定の環境変数のもとで取得し、変化後の仮想世界の状態について、微分可能なシミュレーションを実行する実行部と、
前記実行部によるシミュレーション結果が、前記現実世界が変化した後の観測結果から算出された、変化後の仮想世界の状態に近づくように、前記所定の環境変数を更新する更新部とを有する。
【図面の簡単な説明】
【０００６】
【図１】シミュレーションシステムの全体構成の一例を示す図である。
【図２】シミュレーション装置のハードウェア構成の一例を示す図である。
【図３】ロボットの機能構成の一例を示す図である。
【図４】シミュレーション装置の機能構成の一例を示す図である。
【図５】環境変数決定処理の流れを示すフローチャートである。
【図６】環境変数決定処理に関わるシミュレーション装置の各部の動作を説明するための図である。
【図７】差異低減変数決定処理の流れを示すフローチャートである。
【図８】差異低減変数決定処理に関わるシミュレーション装置の各部の動作を説明するための図である。
【図９】ロボット制御変数決定処理の流れを示すフローチャートである。
【図１０】ロボット制御変数決定処理に関わるシミュレーション装置の各部の動作を説明するための図である。
【発明を実施するための形態】
【０００７】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【０００８】
［第１の実施形態］
＜シミュレーションシステムの全体構成＞
はじめに、第１の実施形態に係る情報処理装置を含むシミュレーションシステム全体の構成について説明する。図１は、シミュレーションシステムの全体構成の一例を示す図である。
【０００９】
図１に示すように、本実施形態のシミュレーションシステム１００は、ロボット１１０と、情報処理装置の一例であるシミュレーション装置１２０とを有する。ロボット１１０とシミュレーション装置１２０とは、通信可能に接続される。
【００１０】
ロボット１１０は、センサ装置１１１と、駆動装置１１２と、制御装置１１３とを含む。センサ装置１１１は、現実世界を観測する装置であり、例えば、カメラ、センサ等を含む。なお、現実世界とは、シミュレーション装置１２０がシミュレーションを行う対象を指す。また、現実世界は、例えば、観測する対象が室内の場合にあっては、室内の内壁や室内に置かれた物体等（家具、家電製品、他のロボット等）のうちの少なくともいずれかを含む。駆動装置１１２は、現実世界に作用する要素であり、例えば、アームやエンドエフェクタ等のロボット１１０の各パーツを動作させるアクチュエータ、モータ等を含む。
【００１１】
制御装置１１３には、観測及び制御プログラムがインストールされており、当該プログラムが実行されることで、制御装置１１３は、観測及び制御部１１４として機能する。
【００１２】
観測及び制御部１１４は、センサ装置１１１からの出力に基づいて現実世界を観測し、現実世界の観測結果に基づいて仮想世界の状態（シミュレーション装置１２０で処理可能な形式のデータ）を生成する。観測及び制御部１１４は、生成した仮想世界の状態を、シミュレーション装置１２０に送信する。
【００１３】
また、観測及び制御部１１４は、生成した仮想世界の状態をシミュレーション装置１２０に送信したことに応じて、シミュレーション装置１２０からロボット制御方法を受信し、駆動装置１１２を制御する。ロボット制御方法には、例えば、駆動装置１１２の種類に応じた制御項目（角度、位置、速度等）と、対応する制御量（角度値、座標、速度値等）が含まれる。
【００１４】
シミュレーション装置１２０には、シミュレーションプログラムがインストールされており、当該プログラムが実行されることで、シミュレーション装置１２０は、シミュレーション部１２１として機能する。
【００１５】
シミュレーション部１２１は、現実世界を再現するための微分可能な物理シミュレータを有する。また、シミュレーション部１２１は、微分可能な物理シミュレータを用いてシミュレーションを実行した場合のシミュレーション結果を修正する、"現実化のためのＮＮ（Neural Network・ニューラルネットワーク）"のモデルを有する。更に、シミュレーション部１２１は、仮想世界の状態を受信した際、ロボット制御方法を出力する、"行動のためのＮＮ"のモデルを有する。
【００１６】
具体的には、シミュレーション部１２１は、微分可能な物理シミュレータがシミュレーションを行うことでシミュレーション結果を出力する。また、シミュレーション部１２１において、シミュレーション結果を、現実化のためのＮＮが修正する。また、シミュレーション部１２１は、修正後のシミュレーション結果が、観測及び制御部１１４から受信した仮想世界の状態に一致するように、微分可能な物理シミュレータの入力変数、及び／又は、現実化のためのＮＮの入力変数を更新する。これにより、シミュレーション部１２１では、高精度なシミュレーションを実現することができる。
【００１７】
また、シミュレーション部１２１は、行動のためのＮＮにより出力されたロボット制御方法に基づいてロボット１１０を制御した場合の報酬に基づいて、例えば、報酬が最大となるように、行動のためのＮＮの入力変数を更新する。これにより、シミュレーション部１２１では、仮想世界の状態を受信した際、最適なロボット制御方法を出力することができる。
【００１８】
なお、ＮＮ（現実化のためのＮＮ、行動のためのＮＮ）は微分可能に処理を行うため、出力結果について誤差逆伝播を行うことで、入力変数を更新することができる。
【００１９】
＜シミュレーション装置のハードウェア構成＞
次に、シミュレーション装置１２０のハードウェア構成について説明する。図２は、シミュレーション装置のハードウェア構成の一例を示す図である。
【００２０】
図２に示すように、本実施形態のシミュレーション装置１２０は、ＣＰＵ（Central Processing Unit）２０１、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３を有する。また、シミュレーション装置１２０は、ＧＰＵ（Graphics Processing Unit）２０４を有する。なお、ＣＰＵ２０１、ＧＰＵ２０４などのプロセッサ（処理回路、Processing Circuit、Processing Circuitry）と、ＲＯＭ２０２、ＲＡＭ２０３などのメモリは、いわゆるコンピュータを形成する。
【００２１】
更に、シミュレーション装置１２０は、補助記憶装置２０５、操作装置２０６、表示装置２０７、Ｉ／Ｆ（Interface）装置２０８、ドライブ装置２０９を有する。なお、シミュレーション装置１２０の各ハードウェアは、バス２１０を介して相互に接続される。
【００２２】
ＣＰＵ２０１は、補助記憶装置２０５にインストールされた各種プログラム（例えば、シミュレーションプログラム等）を実行する演算デバイスである。
【００２３】
ＲＯＭ２０２は、不揮発性メモリであり、主記憶装置として機能する。ＲＯＭ２０２は、補助記憶装置２０５にインストールされた各種プログラムをＣＰＵ２０１が実行するために必要な各種プログラム、データ等を格納する。具体的には、ＲＯＭ２０２はＢＩＯＳ（Basic Input/Output System）やＥＦＩ（Extensible Firmware Interface）等のブートプログラム等を格納する。
【００２４】
ＲＡＭ２０３は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリであり、主記憶装置として機能する。ＲＡＭ２０３は、補助記憶装置２０５にインストールされた各種プログラムがＣＰＵ２０１によって実行される際に展開される、作業領域を提供する。
【００２５】
ＧＰＵ２０４は、画像処理用の演算デバイスであり、ＣＰＵ２０１によりシミュレーションプログラムが実行される際に、各種画像データについて、並列処理による高速演算を行う。なお、ＧＰＵ２０４は、内部メモリ（ＧＰＵメモリ）を搭載しており、各種画像データについて並列処理を行う際に必要な情報を一時的に保持する。
【００２６】
補助記憶装置２０５は、各種プログラムや、各種プログラムがＣＰＵ２０１によって実行される際に用いられる各種データ等を格納する。
【００２７】
操作装置２０６は、シミュレーション装置１２０の管理者がシミュレーション装置１２０に対して各種指示を入力する際に用いる入力デバイスである。表示装置２０７は、シミュレーション装置１２０の内部状態を表示する表示デバイスである。Ｉ／Ｆ装置２０８は、他の装置（本実施形態では、ロボット１１０）と接続し、通信を行うための接続デバイスである。
【００２８】
ドライブ装置２０９は記録媒体２２０をセットするためのデバイスである。ここでいう記録媒体２２０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体２２０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【００２９】
なお、補助記憶装置２０５にインストールされる各種プログラムは、例えば、配布された記録媒体２２０がドライブ装置２０９にセットされ、該記録媒体２２０に記録された各種プログラムがドライブ装置２０９により読み出されることでインストールされる。あるいは、補助記憶装置２０５にインストールされる各種プログラムは、不図示のネットワークを介してダウンロードされることで、インストールされてもよい。
【００３０】
＜ロボットの機能構成＞
次に、本実施形態のロボット１１０の機能構成について説明する。図３は、ロボットの機能構成の一例を示す図である。図３に示すように、センサ装置１１１は、例えば、カメラ３０１とセンサ３０２とを有する。
【００３１】
カメラ３０１は、現実世界を撮影することで、各時間（図３の例では、時間ｔｎ−２〜ｔｎ＋１）のフレーム画像を生成し、動画像データとして制御装置１１３に通知する。また、センサ３０２は、現実世界を計測することで、各時間（図３の例では、時間ｔｎ−２〜ｔｎ＋１）のセンサデータを生成し、制御装置１１３に通知する。
【００３２】
駆動装置１１２は、アクチュエータ３２１とモータ３２２とを有する。アクチュエータ３２１及びモータ３２２は、例えば、制御装置１１３による制御のもとで、ロボット１１０の各パーツを動作させることで現実世界に作用し、現実世界を変化させる。
【００３３】
制御装置１１３の観測及び制御部１１４は、現実環境観測部３１１と、ロボット制御部３１２とを有する。現実環境観測部３１１は、センサ装置１１１より動画像データ及びセンサデータを取得し、各時間（図３の例では、時間ｔｎ−２〜ｔｎ＋１）の現実世界を定量化する。一例として、ロボット１１０が物体をつかんで所定の位置に移動させるタスクを実行する場合について説明する。この場合、現実環境観測部３１１は、例えば、ロボット１１０が物体をつかんでいる状態を撮影した動画像データを取得し、各フレーム画像における物体の位置、角度、物体をつかんでいるロボット１１０のエンドエフェクタの位置、角度等を算出する。これにより、現実環境観測部３１１は、例えば、ロボット１１０が物体を正しくつかむことができたか否かを定量的に把握することができる。
【００３４】
また、現実環境観測部３１１は、例えば、ロボット１１０が物体をつかんでいる状態においてセンサ３０２により検出された、ロボット１１０のアームの位置、角度等を取得し、正規化する。これにより、現実環境観測部３１１は、例えば、ロボット１１０が物体をつかむためにどのような動作を行ったかを定量的に把握することができる。
【００３５】
このように、現実世界を定量化することで、現実環境観測部３１１は、仮想世界の各時間の状態を示すデータを生成する。このデータは後に利用されるシミュレーション装置１２０で処理可能な形式のデータであることが好ましい。なお、本実施形態において、仮想世界の各時間の状態は、例えば、状態（ｔｎ−２）〜状態（ｔｎ＋１）と表現する。また、以下では、"状態を示すデータ"を、単に、"状態"と記載する。現実環境観測部３１１は、仮想世界の各時間の状態を、シミュレーション装置１２０に送信する。
【００３６】
なお、現実環境観測部３１１は、カメラ３０１で撮影された動画像データや、センサ３０２で計測されたセンサデータそのものを、仮想世界の各時間の状態として、シミュレーション装置１２０に送信するように構成してもよい。
【００３７】
ロボット制御部３１２は、シミュレーション装置１２０よりロボット制御方法を受信し、駆動装置１１２を制御する。上述したとおり、ロボット制御方法には、例えば、制御項目として、角度、速度、位置等が含まれる。ロボット制御部３１２は当該ロボット制御方法に応じた制御量に基づき、アクチュエータ３２１及びモータ３２２等を制御する。
【００３８】
＜シミュレーション装置の機能構成＞
次に、シミュレーション装置の機能構成について説明する。図４は、シミュレーション装置の機能構成の一例を示す図である。図４に示すように、本実施形態のシミュレーション部１２１は、例えば、仮想世界記憶部４１０、ロボット制御処理計算部４２０、報酬算出部４３０、微分可能物理シミュレーション計算部４４０、差異低減処理計算部４５０、差分部４６０を有する。
【００３９】
仮想世界記憶部４１０は、現実環境観測部３１１より送信された、仮想世界の各時間の状態を取得し、記憶する。
【００４０】
ロボット制御処理計算部４２０は、行動のためのＮＮのモデルを有する。ロボット制御処理計算部４２０は、例えば、処理対象の時間（例えば、時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、環境変数（現実世界における物体の特性等を表す物理量（重さ、大きさ等））とを入力とし、ロボット制御方法を出力する。なお、本実施形態において、ロボット制御処理計算部４２０に入力される環境変数は、後述する微分可能物理シミュレーション計算部４４０に入力される環境変数と同じである。
【００４１】
なお、ロボット制御処理計算部４２０は第２の訓練部として機能してもよい。具体的には、ロボット制御処理計算部４２０は、ロボット制御方法を出力したことに応じて、仮想世界の状態が変化した場合の、変化後の状態（例えば、状態（ｔｎ＋１））の報酬に基づいて、例えば、報酬が最大となるように、誤差逆伝播を行う。これにより、ロボット制御処理計算部４２０は、ロボット制御変数（行動のためのＮＮの入力変数の１つ）を更新する。このようにして、ロボット制御処理計算部４２０が訓練され、訓練済みの第２の訓練部が生成される。
【００４２】
報酬算出部４３０は算出部の一例であり、変化後の仮想世界の状態に基づいて報酬を算出する。報酬算出部４３０により算出される報酬は、ロボット制御処理計算部４２０により出力されたロボット制御方法によるロボット１１０の制御の良し悪しを数値化したものである。
【００４３】
微分可能物理シミュレーション計算部４４０は、各計算が微分可能な物理シミュレータであり（言い換えると、物理シミュレータを、微分可能なフレームワークにおいて構築したものであり）、実行部として機能する。
【００４４】
具体的には、例えば、微分可能物理シミュレーション計算部４４０は、ロボット制御方法をロボット制御処理計算部４２０より取得する。また、微分可能物理シミュレーション計算部４４０は、例えば、処理対象の時間（例えば、時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、取得したロボット制御方法と、環境変数とを入力とし、シミュレーションを実行する。更に、微分可能物理シミュレーション計算部４４０は、例えば、処理対象の次の時間（例えば、時間ｔｎ＋１）における仮想世界の状態（状態（ｔｎ＋１））を、シミュレーション結果として出力する。
【００４５】
なお、微分可能物理シミュレーション計算部４４０は更新部としても機能してもよい。具体的には、例えば、微分可能物理シミュレーション計算部４４０は、仮想世界のそれぞれの時間における状態と、それぞれの時間における状態に基づいて出力されたロボット制御方法とを入力とすることで得られるシミュレーション結果について、誤差逆伝播を行う。これにより、微分可能物理シミュレーション計算部４４０は、入力変数の１つである環境変数を更新する。
【００４６】
このとき、微分可能物理シミュレーション計算部４４０では、シミュレーション結果が、観測及び制御部１１４から受信した、変化後の仮想世界の状態に一致するように、環境変数を更新する。なお、微分可能物理シミュレーション計算部４４０に入力される環境変数が更新されると、ロボット制御処理計算部４２０に入力される環境変数もそれに対応して更新されることが好ましい。例えば、微分可能物理シミュレーション計算部４４０に入力される環境変数と同じ値に更新されることが好ましい。これにより、ロボット制御処理計算部４２０では、最新の環境変数に基づいて、ロボット制御方法を出力することができる。
【００４７】
差異低減処理計算部４５０は、現実化のためのＮＮのモデルを有する。差異低減処理計算部４５０は、微分可能物理シミュレーション計算部４４０のシミュレーション結果を入力とし、修正後のシミュレーション結果を出力する。
【００４８】
また、差異低減処理計算部４５０は第１の訓練部として機能することができる。具体的には、差異低減処理計算部４５０は、様々なシミュレーション結果を入力とすることで得られる修正後のシミュレーション結果について、誤差逆伝播を行うことで、現実化のためのＮＮの入力変数の１つである差異低減変数を更新することができる。このようにして、差異低減処理計算部４５０が訓練され、訓練済みの第１の訓練部が生成される。
【００４９】
つまり、差異低減処理計算部４５０は、シミュレーション結果が、観測及び制御部１１４から受信した、変化後の仮想世界の状態に一致するように差異低減変数を更新することで、シミュレーション結果を現実世界に近似させる、好ましくは一致させる役割を果たす。
【００５０】
これは、微分可能物理シミュレーション計算部４４０において、現実世界の物体の特性を、環境変数として予め完全に規定しておくことは困難であり、通常、シミュレーション結果は、変化後の仮想世界の状態と一致しないからである。換言すると、差異低減処理計算部４５０は、環境変数として規定されていないこと、例えば物体の未知の特性等に起因するシミュレーション結果の誤差を低減させる役割を果たす。
【００５１】
差分部４６０は、修正後のシミュレーション結果と、観測及び制御部１１４から受信した、変化後の仮想世界の状態（状態（ｔｎ＋１））とを対比し、対比の結果が、所定の条件を満たすか否かを判定する。なお、修正後のシミュレーション結果は、例えば、観測及び制御部１１４から受信した、変化後の仮想世界の状態と対比可能な形式に変換されたうえで、差分部４６０にて対比されることができる。
【００５２】
例えば、変化後の仮想世界の状態（状態（ｔｎ＋１）として、仮想世界記憶部４１０に、動画像データのフレーム画像が記憶されていたとする。この場合、差分部４６０は、例えば、修正後のシミュレーション結果を、画像の形式に変換したうえで対比する。
【００５３】
また、変化後の仮想世界の状態（状態（ｔｎ＋１）として、仮想世界記憶部４１０に、正規化されたロボット１１０のアームの位置、角度が記憶されていたとする。この場合、差分部４６０は、例えば、修正後のシミュレーション結果を、正規化した位置、角度の形式に変換したうえで対比する。
【００５４】
なお、上述した環境変数の更新及び差異低減変数の更新は、差分部４６０による対比の結果が所定の条件を満たす（例えば、差分がゼロ、あるいは所定の閾値以下）と判定されるまで行われる。
【００５５】
＜シミュレーションシステムにおける処理の流れ＞
次に、シミュレーションシステム１００における処理の流れについて説明する。上記説明から明らかなように、シミュレーションシステム１００において実行される処理は、以下の３つの処理（３種類の入力変数を更新し、決定する処理）に大別することができる。
・環境変数を更新し、決定する環境変数決定処理
・差異低減変数を更新し、決定する差異低減変数決定処理
・ロボット制御変数を更新し、決定するロボット制御変数決定処理
以下、これらの処理について、対応する各部の動作（図４で示した機能構成の各部のうち、これらの処理に関わる各部の動作）を参照しながら説明する。
【００５６】
（１）環境変数決定処理
はじめに、環境変数決定処理について、図５及び図６を用いて説明する。図５は、環境変数決定処理の流れの一例を示すフローチャートである。また、図６は、環境変数決定処理に関わるシミュレーション装置の各部の動作の一例を説明するための図である。以下、図６を参照しながら、図５のフローチャートについて説明する。なお、環境変数決定処理を行うにあたり、ロボット制御処理計算部４２０のロボット制御変数、及び、差異低減処理計算部４５０の差異低減変数は、所定の値に固定されているものとする。また、以下では、具体例として、ロボット１１０が物体をつかんで所定の位置に移動させるタスクを実行するケースを挙げ、当該ケースに沿って説明する。
【００５７】
ステップＳ５０１において、ロボット制御処理計算部４２０及び微分可能物理シミュレーション計算部４４０は、環境変数（初期値）を取得する（図６の矢印６０１、６０２参照）。
【００５８】
ステップＳ５０２において、センサ装置１１１は現実世界を撮影または計測する。例えば、センサ装置１１１は、ロボット１１０が物体をつかんだ状態を撮影または計測する。
【００５９】
ステップＳ５０３において、観測及び制御部１１４は、仮想世界の状態を算出し、シミュレーション装置１２０に送信する（図６の矢印６０３参照）。これにより、図６に示すように、仮想世界記憶部４１０には、処理対象の時間（ここでは、時間ｔｎとする）と対応付けて、仮想世界の状態（状態（ｔｎ））が記憶される。
【００６０】
ステップＳ５０４において、ロボット制御処理計算部４２０は、処理対象の時間（時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、環境変数（ここでは、初期値）とを入力とし（図６の矢印６０１、６０４参照）、ロボット制御方法を出力する。なお、ロボット制御処理計算部４２０は、ロボット制御方法を、ロボット１１０の制御装置１１３及び微分可能物理シミュレーション計算部４４０に出力する（図６の矢印６０６、６０７参照）。ここでは、ロボット制御処理計算部４２０は、例えば、ロボット１１０が、つかんだ物体を持ち上げるためのロボット制御方法を出力する。
【００６１】
ステップＳ５１１において、ロボット１１０の制御装置１１３は、ロボット制御方法に基づいて駆動装置１１２を制御する。これにより、ロボット１１０は、つかんだ物体を持ち上げる。このとき、ロボット１１０が物体をつかむ力が、物体の重さに対して小さく、ロボット１１０が物体を持ち上げた際に、物体がずれたとする。
【００６２】
ステップＳ５１２において、センサ装置１１１は、駆動装置１１２が制御されることで変化した現実世界を撮影または計測する。具体的には、ロボット１１０によって、物体がずれて持ち上げられた状態を撮影または計測する。
【００６３】
ステップＳ５１３において、観測及び制御部１１４は、例えば、変化後の現実世界を撮影または計測したことに応じて変化後の仮想世界の状態を算出し、シミュレーション装置１２０に送信する（図６の矢印６０８参照）。これにより、仮想世界記憶部４１０には、仮想世界の時間ｔｎ＋１における状態である、状態（ｔｎ＋１）が記憶される。
【００６４】
一方、ステップＳ５２１において、微分可能物理シミュレーション計算部４４０には、処理対象の時間（時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、ロボット制御方法と、環境変数（ここでは、初期値）とが入力される。（図６の矢印６０２、６０５、６０７参照）。具体的には、微分可能物理シミュレーション計算部４４０には、ロボット１１０が、つかんだ物体を持ち上げるためのロボット制御方法が入力される。また、微分可能物理シミュレーション計算部４４０には、環境変数として、例えば、物体の重さ（ここでは、初期値）が入力される。
【００６５】
これにより、微分可能物理シミュレーション計算部４４０は、シミュレーション結果を出力する（図６の矢印６０９参照）。
【００６６】
ステップＳ５２２において、差異低減処理計算部４５０は、微分可能物理シミュレーション計算部４４０のシミュレーション結果を入力とし、修正後のシミュレーション結果を出力する（図６の矢印６１０参照）。ここでは、差異低減処理計算部４５０が、修正後のシミュレーション結果として、例えば、ロボット１１０が、つかんだ物体をずれることなく持ち上げた状態を出力したとする。
【００６７】
ステップＳ５３１において、差分部４６０は、修正後のシミュレーション結果と、変化後の仮想世界の状態（状態（ｔｎ＋１））とを対比する（図６の矢印６１０、６１１参照）。
【００６８】
ステップＳ５３２において、差分部４６０は、対比の結果が、更新終了の第１の条件を満たすか否かを判定する。ステップＳ５３２において、更新終了の第１の条件を満たさないと判定した場合には（ステップＳ５３２においてＮｏの場合には）、ステップＳ５３３に進む。
【００６９】
上述したとおり、ステップＳ５１２では、ロボット１１０によって、物体がずれて持ち上げられた状態が撮影または計測されており、ステップＳ５１３において、当該状態が、変化後の仮想世界の状態（状態（ｔｎ＋１））として記憶されている。一方で、ステップＳ５２２では、修正後のシミュレーション結果として、ロボット１１０が、つかんだ物体をずれることなく持ち上げた状態が出力されている。このため、差分部４６０では、更新終了の第１の条件を満たさないと判定する。
【００７０】
ステップＳ５３３において、差異低減処理計算部４５０及び微分可能物理シミュレーション計算部４４０は、対比の結果に応じて誤差逆伝播を行い、環境変数を更新する（図６の矢印６１２参照）。具体的には、微分可能物理シミュレーション計算部４４０は、環境変数として、物体の重さを更新する。なお、ここでは、差異低減処理計算部４５０が誤差逆伝播を行う際、差異低減変数は更新されないものとする。また、微分可能物理シミュレーション計算部４４０のモデルパラメータ自体も更新されないものとする。
【００７１】
ステップＳ５３３において微分可能物理シミュレーション計算部４４０により、環境変数が更新されると、ステップＳ５０２に戻る。
【００７２】
一方、ステップＳ５３２において、更新終了の第１の条件を満たすと判定した場合には（ステップＳ５３２においてＹｅｓの場合には）、ステップＳ５３４に進み、現在の環境変数を、現実世界の環境を表す物理量として決定し、環境変数決定処理を終了する。
【００７３】
（２）差異低減変数決定処理
次に、差異低減変数決定処理について、図７及び図８を用いて説明する。図７は、差異低減変数決定処理の流れの一例を示すフローチャートである。また、図８は、差異低減変数決定処理に関わるシミュレーション装置の各部の動作の一例を説明するための図である。以下、図８を参照しながら、図７のフローチャートについて説明する。なお、差異低減変数決定処理を行うにあたり、ロボット制御処理計算部４２０のロボット制御変数は、所定の値に固定されているものとする。また、環境変数は、図５の環境変数決定処理により決定された環境変数が用いられるものとする。
【００７４】
ステップＳ７０１において、ロボット制御処理計算部４２０及び微分可能物理シミュレーション計算部４４０は、決定された環境変数を取得する（図８の矢印８０１、８０２参照）。具体的には、ロボット制御処理計算部４２０及び微分可能物理シミュレーション計算部４４０は、決定された環境変数として、決定された物体の重さを取得する。
【００７５】
ステップＳ５０２からステップＳ５３１は、図５のステップＳ５０２からステップＳ５３１と同様であるため、ここでは、説明を省略する。
【００７６】
ただし、ステップＳ５０４において、ロボット制御処理計算部４２０は、決定された物体の重さに基づいて、つかんだ物体を持ち上げるためのロボット制御方法を出力する。これにより、ロボット１１０によって物体が持ち上げられた際のずれ量が、物体の重さが決定される前と比較して、小さくなる。つまり、ステップＳ５１２では、ロボット１１０によって、物体がややずれて持ち上げられた状態が撮影または計測され、ステップＳ５１３では、当該状態が変化後の仮想世界の状態として記憶される。
【００７７】
一方で、ステップＳ５２２において、差異低減処理計算部４５０は、修正後のシミュレーション結果として、例えば、ロボット１１０が、つかんだ物体をずれることなく持ち上げた状態を出力する。
【００７８】
ステップＳ７０２において、差分部４６０は、対比の結果が、更新終了の第２の条件を満たすか否かを判定する。ステップＳ７０２において、更新終了の第２の条件を満たさないと判定した場合には（ステップＳ７０２においてＮｏの場合には）、ステップＳ７０３に進む。
【００７９】
上述したとおり、ステップＳ５１３では、物体がややずれて持ち上げられた状態が、変化後の仮想世界の状態として記憶される。一方、ステップＳ５２２では、修正後のシミュレーション結果として、ロボット１１０が、つかんだ物体をずれることなく持ち上げた状態が出力される。このため、差分部４６０では、更新終了の第２の条件を満たさないと判定する。このように、更新終了の第２の条件を満たさないのは、環境変数として規定されていない物体の未知の特性（ここでは、物体表面の摩擦係数）が、シミュレーション結果に反映されていないためである。
【００８０】
ステップＳ７０３において、差異低減処理計算部４５０は、対比の結果に応じて誤差逆伝播を行い、差異低減変数を更新する（図８の矢印８０３参照）。これにより、差異低減処理計算部４５０では、シミュレーション結果の誤差（環境変数として規定されていない、物体表面の摩擦係数に起因する誤差）を修正する。
【００８１】
一方、ステップＳ７０２において、更新終了の第２の条件を満たすと判定した場合には（ステップＳ７０２においてＹｅｓの場合には）、ステップＳ７０４に進む。
【００８２】
ステップＳ７０４において、差異低減処理計算部４５０は、現在の差異低減変数を、差異低減処理計算部４５０の差異低減変数として決定し、差異低減変数決定処理を終了する。
【００８３】
（３）ロボット制御変数決定処理
次に、ロボット制御変数決定処理について、図９及び図１０を用いて説明する。図９は、ロボット制御変数決定処理の流れを示すフローチャートである。また、図１０は、ロボット制御変数決定処理に関わるシミュレーション装置の各部の動作を説明するための図である。以下、図１０を参照しながら、図９のフローチャートについて説明する。なお、ロボット制御変数決定処理を行うにあたり、環境変数は、図５の環境変数決定処理により決定された環境変数が用いられるものとする。また、差異低減変数は、図７の差異低減変数決定処理により決定された差異低減変数が用いられるものとする。なお、ロボット制御変数決定処理を開始するにあたり、仮想世界記憶部４１０には、予め初期状態が記憶されているものとする。
【００８４】
ステップＳ９０１において、ロボット制御処理計算部４２０及び微分可能物理シミュレーション計算部４４０は、決定された環境変数を取得する（図１０の矢印８０１、８０２参照）。
【００８５】
ステップＳ９０２において、ロボット制御処理計算部４２０には、処理対象の時間（例えば、時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、環境変数とが入力される（図１０の矢印８０１、１００１参照）。これにより、ロボット制御処理計算部４２０は、ロボット制御方法を、微分可能物理シミュレーション計算部４４０に出力する（図１０の矢印１００３参照）。
【００８６】
ステップＳ９０３において、微分可能物理シミュレーション計算部４４０には、処理対象の時間（時間ｔｎ）における仮想世界の状態（状態（ｔｎ））と、ロボット制御方法と、環境変数とが入力される（図１０の矢印８０２、１００２、１００３参照）。これにより、微分可能物理シミュレーション計算部４４０は、シミュレーション結果を出力する（図１０の矢印１００４参照）。
【００８７】
ステップＳ９０４において、差異低減処理計算部４５０は、微分可能物理シミュレーション計算部４４０のシミュレーション結果を入力とし、修正後のシミュレーション結果を出力する（図１０の矢印１００５参照）。なお、修正後のシミュレーション結果（例えば、時間ｔｎ＋１における仮想世界の状態（状態（ｔｎ＋１）））は、仮想世界記憶部４１０に記憶されるとともに、報酬算出部４３０に入力される。
【００８８】
ステップＳ９０５において、報酬算出部４３０は、修正後のシミュレーション結果に基づいて、報酬を算出する。具体的には、修正後のシミュレーション結果として、ロボット１１０が、つかんだ物体をずれることなく持ち上げた状態を出力した場合に、点数が上がるように規定したパラメータを、報酬として算出する。また、ずれることなく持ち上げた物体から、所定の位置までの距離が近いほど、点数が上がるように規定したパラメータを、報酬として算出する。
【００８９】
ステップＳ９０６において、報酬算出部４３０は、算出した報酬が所定の条件を満たすか否か（算出した報酬が最大か否か）を判定する。ステップＳ９０６において算出した報酬が所定の条件を満たさない場合には（ステップＳ９０６においてＮｏの場合には）、ステップＳ９０７に進む。
【００９０】
ステップＳ９０７において、差異低減処理計算部４５０、微分可能物理シミュレーション計算部４４０及びロボット制御処理計算部４２０は、算出された報酬に基づいて誤差逆伝播を行い、ロボット制御変数を更新する（図１０の矢印１００６参照）。具体的には、算出された報酬が最大となるように誤差逆伝播を行い、ロボット制御変数を更新する。その後、ロボット制御処理計算部４２０は、ステップＳ９０２に戻る。
【００９１】
一方、ステップＳ９０６において算出した報酬が所定の条件を満たす場合には（ステップＳ９０７においてＹｅｓの場合には）、ステップＳ９０８に進む。
【００９２】
ステップＳ９０８において、ロボット制御処理計算部４２０は、現在のロボット制御変数を、ロボット制御処理計算部４２０のロボット制御変数として決定し、ロボット制御処理決定処理を終了する。
【００９３】
このように、シミュレーション部１２１によれば、実際にロボット１１０を動作させることなく、ロボット制御変数決定処理を実行することができる。
【００９４】
また、ロボット制御変数決定処理を実行し、ロボット制御変数を最適化することで、ロボット制御処理計算部４２０では、以降、変化後の仮想世界の状態を受信するごとに、最適なロボット制御方法をロボット１１０に送信することができる。
【００９５】
＜まとめ＞
以上の説明から明らかなように、第１の実施形態に係る情報処理装置の一例であるシミュレーション装置１２０は、
・現実世界の観測結果に基づいて算出された仮想世界の状態を取得する。
・現実世界に作用するロボットを制御する際のロボット制御方法を取得する。
・所定の環境変数のもとで、仮想世界の状態とロボット制御方法とを入力とし、変化後の仮想世界の状態について、微分可能なシミュレーションを実行することでシミュレーション結果を出力する。
・出力されたシミュレーション結果が、当該ロボット制御方法のもとでロボットを制御し現実世界が変化することで観測結果から算出された、変化後の仮想世界の状態に近づくように環境変数を更新する。
【００９６】
これにより、シミュレーション装置１２０によれば、現実世界における物体の特性を環境変数として再現することが可能となり、物理シミュレータ（微分可能物理シミュレーション計算部４４０）を、より現実世界に近づけることが可能となる。この結果、高精度なシミュレーションを実現することができる。
【００９７】
また、第１の実施形態に係る情報処理装置の一例であるシミュレーション装置１２０は、
・更新した環境変数のもとで、仮想世界の状態とロボット制御方法とを入力とし、微分可能なシミュレーションを実行することでシミュレーション結果を出力する。
・出力されたシミュレーション結果を修正し、修正後のシミュレーション結果を出力する。
・出力された修正後のシミュレーション結果が、当該ロボット制御方法のもとでロボットを制御し現実世界が変化することで観測結果から算出された、変化後の仮想世界の状態に近づくように、差異低減変数を更新する。つまり、出力されたシミュレーション結果と、修正後のシミュレーション結果との対応関係を訓練する。
【００９８】
これにより、シミュレーション装置１２０によれば、物理シミュレータ（微分可能物理シミュレーション計算部４４０）より出力されるシミュレーション結果を修正し、修正後のシミュレーション結果を、より現実世界に近づけることが可能となる。この結果、より高精度なシミュレーションを実現することができる。
【００９９】
更に、第１の実施形態に係る情報処理装置の一例であるシミュレーション装置１２０は、
・更新した環境変数のもとで、仮想世界の状態を入力とし、ロボット制御方法を出力する。
・更新した環境変数のもとで、仮想世界の状態と、出力されたロボット制御方法とを入力とし、微分可能なシミュレーションを実行することで、シミュレーション結果を出力する。また、出力されたシミュレーション結果を、更新された差異低減変数のもとで修正したうえで、報酬を算出する。
・算出された報酬に基づいて、仮想世界の状態とロボット制御方法との対応関係を訓練する。
【０１００】
これにより、シミュレーション装置１２０によれば、ロボットを実際に動作させることなく、仮想世界の状態とロボット制御方法との対応関係を訓練し、ロボット制御変数を最適化することができる。また、仮想世界の状態に基づいて最適なロボット制御方法を出力することができる。
【０１０１】
［第２の実施形態］
上記第１の実施形態では、シミュレーションシステム１００が、環境変数決定処理、差異低減変数決定処理、ロボット制御変数決定処理の順序で、各処理を実行する場合について説明した。しかしながら、シミュレーションシステム１００が各処理を実行する際の実行順序はこれに限定されない。例えば、環境変数決定処理、差異低減変数決定処理、ロボット制御変数決定処理の順序で、各処理を実行した後に、再度、環境変数決定処理や、差異低減変数決定処理を実行してもよい。
【０１０２】
また、上記第１の実施形態では、現実環境観測部３１１をロボット１１０の制御装置１１３内に配するものとして説明した。しかしながら、現実環境観測部３１１は、シミュレーション装置１２０のシミュレーション部１２１内に配されてもよい。
【０１０３】
また、上記第１の実施形態において、シミュレーション装置１２０は、１台のコンピュータで実現されるものとして説明したが、シミュレーション装置１２０は、１または複数台のコンピュータで実現されてもよい。また、複数台のコンピュータで実現される場合にあっては、当該複数台のコンピュータは、複数箇所に離れて設置されていてもよい。
【０１０４】
また、上記第１の実施形態において、シミュレーション装置１２０は、汎用のコンピュータに各種プログラムを実行させることでシミュレーション部１２１を実現するものとして説明したが、シミュレーション部１２１の実現方法はこれに限定されない。
【０１０５】
例えば、プロセッサ、メモリなどを実装しているＩＣ（Integrated Circuit）などの専用の電子回路（すなわちハードウェア）により実現されてもよい。このとき、複数の構成要素が一つの電子回路で実現されてもよいし、一つの構成要素が複数の電子回路で実現されてもよいし、構成要素と電子回路が一対一で実現されてもよい。
【０１０６】
［その他の実施形態］
上記第１及び第２の実施形態では、ロボット１１０が物体をつかんで所定の位置に移動させるタスクを実行する例について説明したが、ロボット１１０が実行するタスクはこれに限定されない。例えば、物体を移動させること、掃除機のように物体を吸引すること、あるいは、ロボット１１０自体が移動すること、等のタスクを実行してもよい。
【０１０７】
上記第１及び第２の実施形態では、ロボット制御処理計算部４２０より出力されたロボット制御方法に基づいて、ロボット１１０を動作させることで、現実世界を変化させる場合について説明した。
【０１０８】
しかしながら、上記シミュレーション装置１２０は、ロボット１１０を動作させることなく、現実世界が変化するような場合に対しても、適用することができる。ただし、このような場合に対して適用する際には、ロボット制御処理計算部４２０及び報酬算出部４３０は不要となる。つまり、シミュレーション部１２１は、仮想世界記憶部４１０、微分可能物理シミュレーション計算部４４０、差異低減処理計算部４５０により構成されてもよい。
【０１０９】
ここで、ロボット１１０を動作させることなく、現実世界が変化する場合とは、例えば、微分可能物理シミュレーション計算部４４０を用いて、気象シミュレーションを行う場合等が挙げられる。具体的には、現在の気象の状態を入力とすることで得られるシミュレーション結果が、次の気象の状態に基づいて、好ましくは一致するように、差異低減処理計算部４５０を訓練させることで、高精度なシミュレーションを実現することが可能になる。
【０１１０】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。例えば、情報処理装置内にその他のモデルが含まれてもよい。また、例えば、取得、入力、出力等として、その他の情報を含んでもよい。また、例えば、取得、入力、出力等される情報は、その情報を処理して得られた情報であってもよく、例えば、ベクトルや中間表現等であってもよい。
【符号の説明】
【０１１１】
１００                  ：シミュレーションシステム
１１０                  ：ロボット
１１１                  ：センサ装置
１１２                  ：駆動装置
１１３                  ：制御装置
１１４                  ：観測及び制御部
１２０                  ：シミュレーション装置
１２１                  ：シミュレーション部
３１１                  ：現実環境観測部
３１２                  ：ロボット制御部
４１０                  ：仮想世界記憶部
４２０                  ：ロボット制御処理計算部
４３０                  ：報酬算出部
４４０                  ：微分可能物理シミュレーション計算部
４５０                  ：差異低減処理計算部
４６０                  ：差分部
【図１】
2020140641.tif 000003
【図２】
2020140641.tif 000004
【図３】
2020140641.tif 000005
【図４】
2020140641.tif 000006
【図５】
2020140641.tif 000007
【図６】
2020140641.tif 000008
【図７】
2020140641.tif 000009
【図８】
2020140641.tif 000010
【図９】
2020140641.tif 000011
【図１０】
2020140641.tif 000012