JP6955702B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6955702B2
JP6955702B2 JP2018040115A JP2018040115A JP6955702B2 JP 6955702 B2 JP6955702 B2 JP 6955702B2 JP 2018040115 A JP2018040115 A JP 2018040115A JP 2018040115 A JP2018040115 A JP 2018040115A JP 6955702 B2 JP6955702 B2 JP 6955702B2
Authority
JP
Japan
Prior art keywords
operating machine
virtual
parameter
control module
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018040115A
Other languages
English (en)
Other versions
JP2019153246A (ja
Inventor
洋平 大川
洋平 大川
義也 柴田
義也 柴田
千智 中島
千智 中島
剣之介 林
剣之介 林
裕 伴野
裕 伴野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018040115A priority Critical patent/JP6955702B2/ja
Priority to EP19763393.6A priority patent/EP3764290A4/en
Priority to PCT/JP2019/007994 priority patent/WO2019172101A1/ja
Priority to US16/978,707 priority patent/US11762679B2/en
Priority to CN201980017044.6A priority patent/CN111868758B/zh
Publication of JP2019153246A publication Critical patent/JP2019153246A/ja
Application granted granted Critical
Publication of JP6955702B2 publication Critical patent/JP6955702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25255Neural network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
近年、例えば産業ロボット等の動作機械による制御モジュールを、教師あり学習や強化学習等の機械学習によって自律獲得すること等が考えられている。しかしながら、動作機械の実機を用いて制御モジュールを獲得するには、実機を学習する回数分動かす必要があるため、非常に時間がかかる。
そこで、学習時間を短縮する方法として、動作機械や作業対象物、動作を観察するセンサ、及び動作環境などに対してそれぞれ等価な仮想モデルを仮想空間上に配置した上で、当該仮想モデルを用いたシミュレーションを元に仮想空間上で動作機械の制御モジュールを学習することも考えられる。しかしながら、実環境では、例えばロボットアームの各個体のばらつきや、センサの取付位置のばらつき等が生じるが、一般に仮想モデルではこのようなばらつきが生じないため、仮想モデルによるシミュレータでの学習により得られる制御モジュールは、実環境で適用した場合の頑健性が不十分である。
シミュレータでの学習により得られるロボットアームの制御モジュールを獲得する際に実環境の種々の状況に備える技術として、例えば非特許文献1には、ロボットや作業対象物の仮想モデルの色や、カメラや光源の位置、壁面やテーブルのテクスチャ等を無作為に選択して学習する方法が開示されている。
Stephen James 他2名、"Transferring End-to-End Visuomotor Control from Simulation to Real World for a Multi-Stage Task"、米国、1st Conference on Robot Learning (CoRL 2017)、2017年7月7日
しかしながら、非特許文献1記載の手法のように、無作為に仮想モデルを生成して学習すると、現実では起こり得ない仮想モデルをも学習することになるため、学習効率が悪くなる。また他方で、実際に起こる仮想モデルのみを学習すると、学習していない未知の状況に対しては、獲得した制御モジュールを適用することができない課題もある。
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、動作機械の制御モジュールを好適に獲得することを可能とする情報処理装置、情報処理方法、及びプログラムを提供することを目的の1つとする。
本発明の一態様に係る情報処理装置は、動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける第1入力部と、前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける第2入力部と、前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する仮想モデル生成部と、確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する判定部と、当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する学習部とを備える。
当該構成では、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータの入力を受け、当該第2パラメータに基づき、要素の特性にばらつきを持たせた仮想モデルを用いて、制御モジュールを学習する。これにより、実環境で発生するばらつきに対して頑健な制御モジュールを生成することが可能となる。
また、制御モジュールを仮想環境下で生成するため、計算時間のみで制御モジュールを獲得することができる。これにより、実環境で学習データを生成する場合よりも短時間で動作機械の制御モジュールを獲得することが可能である。
なお、「動作機械」とは、任意の制御モジュールに基づいて動作するロボット等の機械であり、例えば、多軸ロボットアーム等の産業ロボットを含む。特に、実世界で動作する機械のみならず、実世界での機械を仮想世界で動作する仮想モデルとしての機械も含め、動作機械という。
上記構成において、前記学習部は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の各々に対して、対応する前記制御モジュールを学習する、
ように構成されてもよい。
前記学習データ生成部は、選択可能な複数の前記動作機械の各々に対して前記学習データを生成し、前記学習部は、選択可能な複数の前記動作機械の各々に対して、対応する前記学習データを用いて学習することで、対応する前記制御モジュールを学習する、ように構成されてもよい。
当該構成では、各々の動作機械に対して、それぞれ好適な制御モジュールを生成することが可能である。
上記構成において、動作の成否判定結果と、その際に用いた前記動作機械の制御情報とに応じた学習データを生成する学習データ生成部を更に備え、前記学習部は、前記学習データを用いて、所定の動作を実現するための前記動作機械の前記制御モジュールを学習する、ように構成されてもよい。
当該構成では、教師あり学習により制御モジュールを学習することができる。
上記構成において、前記学習データ生成部は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の各々に対して前記学習データを生成し、前記学習部は、選択可能な複数の前記動作機械の各々に対して、対応する前記学習データを用いて学習することで、対応する前記制御モジュールを学習する、ように構成されてもよい。
当該構成では、各々の動作機械に対して、それぞれ好適な制御モジュールを教師あり学習により生成することができる。
上記構成において、対応する前記制御モジュールを適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数の前記動作機械と前記制御モジュールとの組合せのそれぞれに対して動作成功率を算出する第1算出部と、前記動作成功率に応じて、前記動作機械と前記制御モジュールとの組合せを選択する第1選択部とを更に備える、ように構成されてもよい。
当該構成では、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータに基づいて要素の特性にばらつきを持たせた仮想モデルが配置された仮想環境下でシミュレーションを行い、その結果に応じて、動作機械及び制御モジュールの組合せを選択する。これにより、実環境で発生するばらつきに対して頑健な動作機械及び制御モジュールの組合せを選択することができる。
上記構成において、前記学習データ生成部は、動作の正否判定結果と、その際に用いた前記動作機械の制御情報と、その際に用いた前記第1パラメータとを含む前記学習データを生成し、前記学習部は、異なる前記第1パラメータで指定される複数種別の前記動作機械による前記学習データを単一の前記制御モジュールとして学習することで、複数種別の前記動作機械に適用可能な前記制御モジュールを学習する、ように構成されてもよい。
当該構成では、複数種別の動作機械に対して適用可能な、汎用的な制御モジュールを生成することができる。これにより、当該制御モジュールは、たとえ学習の際に用いなかった動作機械であっても、適用することが可能と考えられる。
上記構成において、前記学習部は、前記制御モジュールを適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数種別の前記動作機械に対して、前記制御モジュールを適用させた場合の動作成功率を算出する第2算出部と、前記動作成功率に応じて、前記動作機械を選択する第2選択部とを更に備える、ように構成されてもよい。
当該構成では、仮想モデルを構成する要素の特性の確率分布を定める第2パラメータに基づいて要素の特性にばらつきを持たせた仮想モデルが配置された仮想環境下でシミュレーションを行い、その結果に応じて、動作機械及び制御モジュールの組合せを選択する。また、動作機械及び制御モジュールは学習の際に用いなかったものであっても適用可能であると考えられる。
上記構成において、前記第1パラメータは、前記動作機械のキネマティクス構造の種別、及び前記動作機械の形状の種別の少なくとも一方の情報を含む、ように構成されても良い。
また、上記構成において、前記第2パラメータは、前記動作機械の要素の寸法、設置位置、色、及びテクスチャの少なくともいずれかの特定を確率変数とする確率分布に関するものである、ように構成されてもよい。
当該構成では、特に制御モジュールの学習対象である動作機械について、実環境での特性のばらつきを考慮した、頑健な制御モジュールを生成することができる。
上記構成において、前記1以上の仮想モデルは、前記動作機械の周辺環境に影響を与える部材、前記動作機械とともに使用される部材、前記動作機械の動作を検出するセンサ、及び、前記動作機械の動作対象物、の少なくともいずれかを含み、前記第1パラメータは、前記動作機械の周辺環境に影響を与える部材の種別、前記動作機械と共に使用される部材の種別、前記動作機械の動作を検出するためのセンサ種別、及び、前記動作機械の作業対象物の種別、の少なくともいずれかの情報を含む、ように構成されてもよい。
また、上記構成において、前記第2パラメータは、前記動作機械の周辺環境に影響を与える部材、前記動作機械と共に使用される部材、前記動作機械の動作を検出するためのセンサ、及び、前記作業対象物の動作対象の少なくともいずれかの特性を確率変数とする確率分布に関するものである、ように構成されてもよい。
当該構成では、特に動作機械の動作環境や制御対象物、センサ等について、実環境での特性のばらつきを考慮した、頑健な動作機械の制御モジュールを生成することができる。
上記構成において、前記第2パラメータの確率分布は、連続値の分布関数の種別と関数形状を決定する値の組合せ、離散値の分布関数と関数形状を決定する値の組合せ、及び、値の分布のリスト、を含む、ように構成されても良い。
当該構成では、実環境で起こりうる様々な確率分布を反映させた仮想環境を生成して、制御モジュールの学習等を行うことが可能である。
本発明の一態様に係る情報処理方法では、動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する処理とを情報処理装置が行う。
当該構成では、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータの入力を受け、当該第2パラメータに基づき、要素の特性にばらつきを持たせた仮想モデルを用いて、制御モジュールを学習する。これにより、実環境で発生するばらつきに対して頑健な制御モジュールを生成することが可能となる。
また、制御モジュールを仮想環境下で生成するため、計算時間のみで制御モジュールを獲得することができる。これにより、実環境で学習データを生成する場合よりも短時間で制御モジュールを獲得することが可能である。
本発明の一態様に係るプログラムでは、動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する処理とを情報処理装置に実行させる。
当該構成では、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータの入力を受け、当該第2パラメータに基づき、要素の特性にばらつきを持たせた仮想モデルを用いて、制御モジュールを学習する。これにより、実環境で発生するばらつきに対して頑健な制御モジュールを生成することが可能となる。
また、制御モジュールを仮想環境下で生成するため、計算時間のみで制御モジュールを獲得することができる。これにより、実環境で学習データを生成する場合よりも短時間で制御モジュールを獲得することが可能である。
なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や「手段」、「装置」、「システム」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や「手段」、「装置」、「システム」の機能が1つの物理的手段や装置により実現されてもよい。また、本発明において「異なる動作機械の種別」および「異なる第1パラメータ」の記述は、動作機械の種別、作業の種別、および動作環境の種別の組み合わせのうち、いずれか一つ以上が異なっていることをいう。
実施形態に係るパラメータの一例を説明するための図である。 実施形態に係る情報処理装置の構成の一例を模式的に例示するための図である。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態に係る情報処理装置のハードウェア構成の一例を模式的に例示するための図である。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態に係る情報処理装置の処理手順の一例を例示するフローチャートである。
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
[1 適用例]
まず、図1を参照しながら、実施形態に係る全体の概要を説明する。本実施形態に係る情報処理装置は、例えば産業ロボット等である動作機械の制御モジュールを学習により獲得するためのものである。ここで、制御モジュールとは、ある入力が与えられた場合に、動作機械の制御に関する出力を生成するための関数を表現するソフトウェアの一単位もしくはソフトウェアの組合せ、当該ソフトウェアを搭載したハードウェア、または当該ソフトウェアの機能を実現するデバイス等である。制御モジュールは、動作機械が実行する作業についての学習能力を備えている。ここで学習能力とは、ある作業(タスク)の処理能力を、学習用データから得られる経験に基づいて向上させることのできる能力をいう。
この際、動作機械を実際に実環境で動作させ、当該動作に用いた制御内容と動作結果とを学習データとして学習させることも考えられるが、実環境で動作させるには相応の時間が必要であるため、十分な数の学習データを得るためには膨大な時間が必要となる。そこで本実施形態に係る情報処理装置では、仮想空間上に、動作機械や作業対象物、動作機械の動作を検出するためのセンサ等を配置した上で、当該仮想空間上で動作機械を仮想的に動作させ、その結果を学習データとする。これにより、動作機械を実際には動かさずに、仮想空間での動作を演算処理によりシミュレートするのみで学習データを得ることができるため、より短時間で大量の学習データを獲得し、それを用いて制御モジュールを生成することが可能となる。
ここで、実環境では、動作機械を構成する部材の寸法や、動作機械と共に用いられる光源の強さ、動作を検出するセンサの設置位置等にばらつきが生じる。このようなばらつきの存在を考慮せずに、部材寸法、光源強度、センサ設置位置等を固定値とした仮想空間上での動作結果を学習データとして制御モジュールを学習させ、それを実環境に適用したとしても、実環境のばらつきに対して頑健な動作を保証することができない。
そこで本実施形態に係る情報処理装置は、仮想空間上に配置される動作機械やセンサ、作業対象物、光源等(以下、仮想空間上に配置されるこれらのものを総称して「仮想モデル」という)の寸法や位置等の各種特性を確率的に設定する。このようにして確率的なばらつきをもたせた仮想モデルが配置された仮想環境で動作機械を動作させた動作結果を学習データとして制御モジュールを生成することで、実環境のばらつきに対して頑健な動作を行うことを可能とする。
以下の説明では、仮想環境に配置される仮想モデルの種別を規定するパラメータを第1パラメータ、仮想モデルを構成する構成要素の特性を確率変数とする確率分布を規定するパラメータを第2パラメータという。
例えば図1の例では、仮想環境に配置される動作機械の仮想モデルとして、「6軸アーム型」及び「7軸アーム型」の2種類が第1パラメータにより特定可能となっている。また、作業台の仮想モデルとしては、「丸テーブル」及び「立方体」の2種類が第1パラメータで特定可能である。
更に、第1パラメータで特定される仮想モデルに対して、当該仮想モデルを構成する要素の特性が第2パラメータにより指定されている。例えば「6軸アーム型」の動作機械であれば、要素「第1リンク」の特性「長さ」が、正規分布関数の確率分布により連続的に与えられること、正規分布関数の変数であるμ(平均)及びσ(標準偏差)が、それぞれ40cm及び2cmとして設定されることが、第2パラメータで指定されている。また同様に、例えば「7軸アーム型」であれば、要素「第1リンク」の特性「長さ」が、一様分布関数として与えられること、最小値(Min)及び最大値(Max)がそれぞれ20cm及び30cmとして設定されることが、第2パラメータで指定されている。また要素「第7リンク」の特性「長さ」は、リストにより離散値として与えられ、60cmである確率が60%、50cmである確率が40%であることが第2パラメータで指定されている。
本実施形態に係る情報処理装置では、このように仮想環境に配置される仮想モデルの種別が第1パラメータにより、仮想モデルの構成要素の特性の取りうる値の発生確率が第2パラメータにより、それぞれ事前に与えられる。これにより、情報処理装置は、第1パラメータにより特定される1以上の仮想モデルを、第2パラメータに応じたばらつきを持つ構成要素の特性で生成した上で、それらを仮想環境に配置し、当該仮想環境下で動作機械の仮想モデルを動作させるシミュレーションを行う。先述のとおり、動作機械も仮想モデルの一種であるため、動作機械の構成要素の特性(例えば、把持動作を行う動作機械である場合の、当該把持動作を行う動作機械の物理的特性等)等も、第2パラメータにより確率的なばらつきを有し得る。情報処理装置は、このように確率的なばらつきのある仮想モデルが配置された仮想環境下で動作機械の動作シミュレーションを繰り返し行い、その動作結果を学習データとして制御モジュールを学習する。特に、第2パラメータを、実環境のばらつきに応じて設定すれば、実環境のばらつきに対して頑健な制御モジュールを学習により獲得することが可能である。
[2 構成例1]
以下、図2乃至図5を参照しながら、本実施形態に係る情報処理装置100の構成例1を説明する。なお、構成例1では、選択可能な動作機械が複数ある場合に、各々動作機械に対してそれぞれ好適な制御モジュール133を学習する。
[2.1 動作構成]
まず、図2を参照しながら、構成例1にかかる情報処理装置100の動作構成例を説明する。情報処理装置100は、大きく、仮想モデル種別情報入力部101、確率情報入力部103、センシングデータ入力部105、シミュレーション部110、学習データ生成部121、制御モジュール生成部131、及び選択部141を含む。なお、これらの各構成は、プロセッサ上で動作するプログラムとして実現されてもよいし、或いは専用の1又は複数の半導体等のハードウェアとして実現されてもよい。各構成がプログラムとして実現される場合のハードウェア構成の例については、図5を参照しながら後述する。
仮想モデル種別情報入力部101は、仮想環境に配置される、動作機械を含む1以上の仮想モデルの各々の種別を特定するための情報、すなわち上述の第1パラメータの入力を受ける。なお、仮想モデル種別情報入力部101は、本発明の「第1入力部」の一例である。
第1パラメータでは、動作機械のキネマティクス構造の種別、ハンド部形状の種別の他、動作機械の周辺環境に影響を与える部材(例えば光源、床、壁面等)の種別、動作機械と共に使用される部材(例えば作業台やトレイ等)の種別、動作機械の動作を検出するためのセンサ(例えばカメラを含みうる)等の種別、動作機械が実行する作業の作業対象物の種別、等のうち少なくともいずれかを特定することができる。
確率情報入力部103は、仮想環境に配置される仮想モデルを構成する要素(例えば、図1を参照しながら説明した、仮想モデルである6軸アームを構成するリンク等)の特性(例えば寸法や重さ、設置位置、色、テクスチャ等)を確率変数とする確率分布に関する情報、すなわち上述の第2パラメータの入力を受ける。なお、確率情報入力部103は、本発明の「第2入力部」の一例である。
なお、第2パラメータは、動作機械のキネマティクス構造、ハンド部形状の他、動作機械の周辺環境に影響を与える部材(例えば光源、床、壁面等)、動作機械と共に使用される部材(例えば作業台やトレイ等)、動作機械の動作を検出するためのセンサ(例えばカメラを含みうる)、動作機械の作業対象物、等のうち、少なくともいずれかの特性を確率変数とする確率分布に関する情報を含む。より具体的には、例えば、動作機械の各部の寸法、動作機械の設置位置、動作機械の色、動作機械のテクスチャ、作業台/床/壁面の各部の寸法、設置位置、色、及びテクスチャ、センサの設置位置、カメラのフォーカス、カメラの視野角、作業対象物の各部の寸法、設置位置、移動速度、加速度、色等の特性を確率変数とする確率分布に関する情報を、第2パラメータは示す。
この時、第2パラメータは、連続値の分布関数の種別(例えば正規分布、一様分布等)と関数形状を決定する値(例えば正規分布の場合、μ及びσの値)の組合せ、離散値の分布関数と関数形状を決定する値の組合せ、値の分布のリスト(例えば第1値を○%、第2値を□%、第3値を△%…で取ることを示すリスト)等により、特性を確率変数とする確率分布を表現しうる。
センシングデータ入力部105は、動作機械や光源、センサ(例えばカメラを含みうる)等が実際に配置された実環境における、センサの検出結果の入力を受ける。後述の仮想センシングデータ生成部113は、仮想環境下におけるセンサの検出結果を、当該実環境におけるセンサの検出結果と組み合わせることで、より実環境に近づけた疑似センシングデータを生成して、当該疑似センシングデータを用いた学習データ123を生成することが可能となる。しかしながら、当該処理を行わずに、仮想環境下のセンサの検出結果のみを用いて学習データ123を生成する場合には、センシングデータ入力部105を省略することもできる。
シミュレーション部110は、動作機械を含む1以上の仮想モデルを生成した上で、生成した仮想モデルが配置された仮想環境下で動作機械を仮想的に動作させるシミュレーションを行う。この時、選択可能な動作機械(第1パラメータで指定可能な動作機械)が複数ある場合には、各々の動作機械に対してシミュレーションを行う。シミュレーション部110は、仮想モデル生成部111、仮想センシングデータ生成部113、動作成否判定部115、動作成功率算出部117を含む。
仮想モデル生成部111は、仮想環境に配置される1以上の仮想モデルを多数生成する。なお、仮想モデル生成部111は、本発明の「仮想モデル生成部」の一例である。仮想モデル生成部111により生成される仮想モデルの種別は、仮想モデル種別情報入力部101から入力される第1パラメータにより特定される。また、仮想モデルを構成する要素の特性は、確率情報入力部103から入力される第2パラメータに基づき、確率的に定められる。すなわち、仮想モデル生成部111が1つの種別の仮想モデルを100個生成する場合には、生成される各々の仮想モデルの要素の特性には、第2パラメータに応じたばらつきが生じる。特に第2パラメータの確率分布を実世界における確率分布に応じて設定しておくことで、情報処理装置100は、ばらつきを持つ実環境下で収集される学習データに近い学習データ123を仮想環境下で生成することが可能となる。
仮想センシングデータ生成部113は、仮想環境下で動作機械(仮想モデルである動作機械)を動作させる場合の動作機械の動作や周辺環境等を検出した結果である仮想センシングデータを生成する。この際、センシングデータ入力部105から、実環境下におけるセンサの検出結果の情報の入力を受けている場合には、仮想センシングデータ生成部113は、仮想センシングデータを当該実環境下でのセンサの検出結果と組み合わせることで、より実環境に近づけた疑似センシングデータを生成するようにしてもよい。
動作成否判定部115は、仮想環境下のセンサ(仮想モデルであるセンサ)で検出される結果を用いて、制御モジュール133の学習対象となる動作機械を任意の制御内容で動作させ、予め設定された動作結果が得られるかどうかを判定する。もし予め設定された動作結果が得られた場合には動作成功、得られなかった場合には動作失敗となる。なお、仮想環境下のセンサで検出される結果は、先述の仮想センシングデータに相当するものであり、仮想センシングデータの代わりに、疑似センシングデータを用いてもよい(なお、以降「仮想センシングデータ」との記載は、特に言及しない限り「疑似センシングデータ」することができる)。なお、動作成否判定部115は、本発明の「判定部」の一例である。
ここで、先述のとおり、十分な数の施行母数を得るために、仮想モデル生成部111は、1つの種別に対して多数の仮想モデルを生成する。動作成否判定部115は、仮想モデル生成部111が生成した各々の仮想モデルを用いて仮想環境下で動作機械を動作させ、それぞれの動作結果を判定する。動作成否判定部115により判定された動作成否判定結果は、動作機械の動作内容(制御情報)、及び仮想センシングデータ(疑似センシングデータであってもよい)と共に学習データ生成部121に出力される。
動作成功率算出部117は、同じ動作機械を用いて試行を行った場合の動作結果を集計することにより、仮想環境下で動作機械を動作させた場合に、予め定められた動作結果が得られる動作成功率を算出する。なお、動作成功率算出部117は、本発明の「第1算出部」の一例である。
ここで、動作成功率を算出するためにシミュレーション部110は仮想環境下でのシミュレーションを多数繰り返す必要があるが、その際に仮想環境に配置される仮想モデルには、仮想モデル生成部111により第2パラメータを用いて確率的に生成された仮想モデルが用いられる。すなわち、動作成功率は、ばらつきを持つ実環境と同様に、ばらつきを持つ仮想モデルに対して算出されるため、特に第2パラメータの確率分布を実世界における確率分布に応じて設定しておくことで、実環境に近い動作成功率を算出することができる。
学習データ生成部121は、シミュレーション部110によるシミュレーションの結果に応じて学習データ123を生成する。学習データ123には、動作機械の動作内容(制御内容)、仮想センシングデータ、及びそれらの動作内容及び仮想センシングデータを用いた場合の動作成否判定結果の情報を含むことができる。このとき、選択可能な動作機械が複数ある場合には、学習データ123は各々の動作機械に対して生成される。学習データ生成部121は、本発明の「学習データ生成部」の一例である。
制御モジュール生成部131は、学習データ123を用いた学習により制御モジュール133を生成する。この時、選択可能な動作機械が複数ある場合には、制御モジュール生成部131は、各々の動作機械に対して制御モジュール133を生成する。なお、制御モジュール生成部131は、本発明の「学習部」の一例である。
制御モジュール生成部131による制御モジュール133の形態は任意であるが、例えばニューラルネットワークを用いることができる。この場合、例えば、仮想センシングデータと、動作機械の単位動作とをニューラルネットワークの入力、当該仮想センシングデータと当該単位動作の組合せに対する動作成功率を出力とすることができる。制御モジュール生成部131は、学習により、当該ニューラルネットワークの出力結果が、仮想空間におけるシミュレーション結果の動作成功率に近似するように、各ノードの重みが調整されたニューラルネットワーク(すなわち制御モジュール133)を生成する。1つの仮想センシングデータに対し、単位動作候補となる複数の単位動作を組み合わせることにより、それぞれの単位動作の組合せに対する作業成功率が学習される。得られたニューラルネットワークは、制御モジュール133として制御モジュール生成部131から任意の記憶媒体へ出力される。
なお、制御モジュール133を用いて動作機械(仮想環境の動作機械か実環境の動作機械かは問わない)を動作させる場合には、例えば以下のような処理を行えばよい。センサで検出されたセンシングデータと、動作機械が取りうる任意の単位動作をニューラルネットワーク(制御モジュール133)に入力することで、当該単位動作を選択した場合の成功確率を得ることができる。よって、1つのセンシングデータに対して、動作候補となりうる複数の単位動作を組合せて、それぞれの組み合わせに対する動作成功率を算出した上で、最も動作成功率が高い単位動作を、直近の単位動作とすればよい。
制御モジュール生成部131により生成された制御モジュール133は、シミュレーション部110に出力される。シミュレーション部110の動作成功率算出部117は、当該制御モジュール133を適用して動作機械を動作させた場合の動作成功率を算出する。このとき、選択可能な動作機械が複数ある場合には、動作成功率算出部117は、動作機械と制御モジュール133との組合せの各々に対して、動作成功率を算出する。
選択部141は、選択可能な動作機械が複数ある場合に、実機として用いる動作機械と制御モジュール133の組合せを選択する。なお、選択部141は、本発明の「第1選択部」の一例である。より具体的には、例えば、各々の動作機械と制御モジュール133との組合せの中から、動作成功率算出部117が算出した動作成功率が最も高い動作機械と制御モジュール133の組合せを、実機として用いる動作機械及び制御モジュール133として選択部141は選択すればよい。
[2.2 処理の流れ]
以下、図3及び図4を参照しながら、構成例1に係る情報処理装置100の処理の流れを説明する。図3及び図4は、情報処理装置100の処理の流れを示すフローチャートである。
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加してもよい。更に、便宜上1つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを1ステップとして実行することもできる。この点、後述の図6乃至図9のフローチャートについても同様である。
[2.2.1 制御モジュール133の学習]
まず、図3を参照しながら、制御モジュール133を学習する処理の流れを説明する。
仮想モデル種別情報入力部101は、制御モジュール133の学習対象となる動作機械の種別の特定を含む、仮想環境に配置される1以上の仮想モデルに関する第1パラメータの入力を受ける(S301)。また、確率情報入力部103は、仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける(S303)。仮想モデル生成部111は、第1パラメータで指定された種別の1以上の仮想モデルを、第2パラメータにより確率的に設定された特性を持つ要素により生成する(S305)。シミュレーション部110は、生成された1以上の仮想モデルが配置された仮想環境下で、学習対象となる動作機械を動作させるシミュレーションを行う(S307)。このとき、仮想センシングデータ生成部113は、動作の適宜の時点において、仮想環境の状況を検出した結果である仮想センシングデータを生成する。動作成否判定部115は、このようにしてシミュレーションを行った結果、動作機械が予め設定された目的を達成したか否か、すなわち動作が成功したか否かを判定する(S309)。
学習データ生成部121は、当該判定結果を用いて学習データ123を生成する(S311)。先述のとおり、学習データ123には、動作機械の動作内容(制御情報)、仮想センシングデータ、及びそれらの動作内容(制御情報)及び仮想センシングデータを用いた場合の動作成否判定結果の情報を含むことができる。
学習データ123が生成されると、制御モジュール生成部131は、それらの学習データ123を用いて、対象の動作機械の制御モジュール133を学習する(S313)。制御モジュール133の学習方法の具体例については先述したため、ここでは説明を省略する。
シミュレーション部110、学習データ生成部121、および制御モジュール生成部131は、このような、仮想環境下での仮想モデルの生成から動作判定までの処理を、十分な母数が得られるまで所定の試行回数繰り返す(S315のNo)。また、選択可能な動作機械(学習対象となる動作機械)の種別が複数ある場合には、情報処理装置100は、S301乃至S315の処理を、各々の動作機械の数だけ繰り返す(S317のNo)。
[2.2.2 動作機械の選択]
次に、図4を参照しながら、選択可能な複数の動作機械の中から、実環境に適用するのに好適な動作機械を選択する処理の流れを説明する。
仮想モデル種別情報入力部101は、例えば実環境で実際に作業を行う際に選択可能な複数の動作機械の中から1つの候補に係る第1パラメータの入力を受ける(S401)。また、確率情報入力部103は、仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける(S403)。仮想モデル生成部111は、第1パラメータで指定された種別の1以上の仮想モデルを、第2パラメータにより確率的に設定された特性を持つ要素を用いて生成する(S405)。シミュレーション部110は、生成された1以上の仮想モデルが配置された仮想環境下で、選択候補である動作機械を動作させるシミュレーションを行う(S407)。この時、動作機械は、制御モジュール生成部131により生成された制御モジュール133に基づいて動作させる。また、仮想センシングデータ生成部113は、動作の適宜の時点において、仮想環境の状況を検出した結果である仮想センシングデータを生成する。動作成否判定部115は、このようにしてシミュレーションを行った結果、動作機械が予め設定された目的を達成したか否か、すなわち動作が成功したか否かを判定する(S409)。
シミュレーション部110は、このような、仮想環境下での仮想モデルの生成から動作判定までの処理を、動作成功率を集計するのに十分な母数が得られるまで所定の試行回数繰り返す(S411のNo)。動作成功率算出部117は、動作機械及び制御モジュール133の組合せによる動作成功率を算出する(S413)。
情報処理装置100は、S401乃至S413の処理を、選択可能な動作機械及び制御モジュール133の全ての組合せに対して行う(S415のNo)。選択可能な動作機械及び制御モジュール133の全ての組み合わせに対して動作成功率が算出されると(S415のYes)、選択部141は、当該動作成功率に基づいて、実際に用いる動作機械及び制御モジュール133の組合せを選択する(S417)。このとき選択部141は、例えば、動作成功率が最も高い動作機械及び制御モジュール133の組合せを選択すればよい。
[2.3 ハードウェア構成]
以下、図5を参照しながら、情報処理装置100を実現可能なハードウェア構成を説明する。図5は、本実施形態に係る情報処理装置100のハードウェア構成の一例を模式的に例示する。
図5の例に示す情報処理装置100は、制御部501、記憶部505、通信インタフェース(I/F)部511、入力部513、及び出力部515を含み、各部はバスライン517を介して相互に通信可能に選択され得る。
制御部501は、CPU(Central Processing Unit)、RAM(Random Access Memory)503、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。より具体的には、例えば、制御部501に含まれ得るCPUは、記憶部505から制御プログラム507をRAM503へ読込み、当該制御プログラム507を実行することで、図2に示した仮想モデル種別情報入力部101、確率情報入力部103、センシングデータ入力部105、シミュレーション部110、学習データ生成部121、制御モジュール生成部131、及び選択部141の各種処理を実行可能である。
記憶部505は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり制御部501で実行される制御プログラム507、及び、データベース(DB)509等を記憶する。DB509では、図2に示した学習データ123や制御モジュール133等を管理することができる。この他、仮想モデル生成部111により生成される仮想モデルや、仮想センシングデータ生成部113により生成される仮想センシングデータ等も、記憶部505に記憶され得る。
制御プログラム507は、図2乃至図4を参照しながら説明した情報処理装置100の処理を実行させるためのプログラムである。特に、図2に示した仮想モデル種別情報入力部101、確率情報入力部103、センシングデータ入力部105、シミュレーション部110、学習データ生成部121、制御モジュール生成部131、及び選択部141の各構成は、制御プログラム507として実現しうる。
通信インタフェース部511は、例えば、有線又は無線により他の装置と通信するための通信モジュールである。通信I/F部511が他の装置との通信に用いる通信方式は任意であるが、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられる。例えば、図示しない動作機械への制御モジュール133の出力等は、通信I/F部511を介して行うことが考えられる。
入力部513は、例えば、マウスやキーボード、タッチパネル等で実現しうる、ユーザからの各種入力操作等を受け付けるためのデバイスである。出力部515は、例えば、ディスプレイやスピーカ等、表示や音声等により、情報処理装置100を利用するユーザ等へ各種情報を報知するための装置である。例えば、選択部141により選択された動作機械の情報などを、出力部515が表示等することにより、ユーザに報知することが考えられる。
[2.4 構成例1の効果]
以上説明したように、構成例1に係る情報処理装置100では、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータの入力を受け、当該第2パラメータに基づき、要素の特性にばらつきを持たせた仮想モデルを生成した上で、当該仮想モデルが配置された仮想環境下で、動作機械の動作シミュレーションを行ってその動作結果を評価する。当該動作結果に基づく学習データ123を用いて当該動作機械の制御モジュール133を生成することにより、実環境で発生するばらつきに対して頑健な制御モジュール133を生成することができる。
また、選択可能な動作機械の全てに対して同様の処理を繰り返して制御モジュール133を生成した上で、更に、当該制御モジュール133が適用された動作機械に対して、同様に第2にパラメータに基づいて要素の特性にばらつきを持たせた仮想モデルが配置された仮想環境下でシミュレーションを行い、その結果を評価する。その中で、動作成功率が高い動作機械及び制御モジュール133の組合せを選択することにより、実環境で発生するばらつきに対して頑健な動作機械及び制御モジュール133の組合せを選択することができる。
[2.5 構成例1の変形例]
なお、上記で説明した構成例1は、本発明を教師あり学習による自動機械の制御モジュールの自立獲得技術に適用したものであるが、本発明は教師あり学習に限られるものではない。たとえば、強化学習による自動機械の制御モジュールの自立獲得技術にも適用可能である。以下、本発明を教科学習に適用する場合の構成および処理を、図6を参照しながら説明する。
上記S601乃至S605の処理は、図4を参照しながら説明した上記構成例1と同様であるため、説明を省略する。本発明を強化学習に適用する場合、動作成否判定部115は報酬算出部として動作し、自動機械の仮想モデルが行動する度に動作成否判定結果の代わりに報酬を算出する(S609)。学習データ生成部121は、算出された報酬を含む学習データ123を生成し(S611)、任意の記憶媒体に保存する。制御モジュール生成部131は、所定の行動回数の間隔で学習データ123を記憶媒体から読み込み、制御モジュール133を学習する(S613)。制御モジュール生成部131は、各行動後に学習してもよいし、複数回の行動間隔で学習してもよい。なお、行動を動作機械の単位動作とすると好適である(S615)。情報処理装置100は、これらの処理を全候補動作機械種別に対する学習が終了するまで繰り返す(S617)。
ここで、制御モジュール生成部131が直近の学習データ123のみを読み込むように実装されると、同一の仮想モデルでの学習データ123ばかりが使用されることになるため、頑健な制御モジュール133を学習することが困難である。そこで、記憶媒体からランダムに学習データ123を読み込むと、第2パラメータにより変動した異なる仮想モデルでの学習データ123を用いて学習することができるため、より頑健な制御モジュール133を獲得することができる。
あるいは、シミュレーション部110におけるシミュレーションを並列に実行し、また、各シミュレーションにおける仮想モデルが第2パラメータによりランダムに異なるようにした上で、それらの各シミュレーションによる学習データ123を集めて制御モジュール生成部131での学習を行えば、第2パラメータにより変動した異なる仮想モデルでの学習データ123を用いることが可能となる。この場合にも、制御モジュール生成部131は頑健な制御モジュール133を獲得することが可能である。
[3 構成例2]
以下、本実施形態に係る情報処理装置100の構成例2を説明する。なお、構成例2では、複数の作業機械に適用可能な汎用的な制御モジュール133を学習により獲得する。
[3.1 動作構成]
構成例2に係る情報処理装置100の大まかな動作構成は、構成例1と同様となる。また、構成例2に係る情報処理装置100は、構成例1に係る情報処理装置100と同様のハードウェア構成により実現可能であるため、ハードウェア構成に関する説明は省略する。
以下、図2を参照しながら、構成例1と動作が異なる部分を中心に説明する。以下の説明において、構成例1と同様とすることができる部分は記載を省略している。
仮想モデル種別情報入力部101は、仮想環境に配置される、動作機械を含む1以上の仮想モデルの各々の種別を特定するための情報、すなわち第1パラメータの入力を受ける。ここで、構成例2では、複数種別の仮想モデルを第1パラメータで指定可能である。第1パラメータにより指定可能な仮想モデルの種別については構成例1と同様である。すなわち、構成例2における第1パラメータでは、異なる種別の複数の動作機械種別、異なる種別の複数の環境種別、および異なる種別の複数の作業対象物種別等を指定可能である。
確率情報入力部103は、仮想環境に配置される仮想モデルを構成する要素の特性を確率変数とする確率分布に関する情報、すなわち第2パラメータの入力を受ける。先述のとおり、第1パラメータで複数種別の仮想モデルを指定可能であることから、それら複数種別の仮想モデルのそれぞれに対する要素の特性を確率変数とする確率分布に関する情報を第2パラメータに含む必要がある。
構成例2のセンシングデータ入力部105、及びそれを利用する仮想センシングデータ生成部113については、構成例1と同様とすることができる。
シミュレーション部110は、動作機械となる1以上の仮想モデルを生成した上で、生成した仮想モデルが配置された仮想環境下で動作機械を仮想的に動作させるシミュレーションを行う。このとき、第1パラメータで指定される動作機械の種別が複数ある場合には、シミュレーション部110は各々の種別の動作機械に対してシミュレーションを行う。
シミュレーション部110に含まれる仮想モデル生成部111は、仮想環境に配置される1以上の仮想モデルを多数生成する。この時、仮想モデル生成部111により生成される仮想モデルの種別は、第1パラメータで指定される複数種別とすることができ、それぞれに対して第2パラメータに基づいて、要素の特性にばらつきを持つ仮想モデルを生成する。
動作成否判定部115は、仮想環境下のセンサ(仮想モデルであるセンサ)で検出される結果を用いて、制御モジュール133の学習対象となる動作機械を任意の制御内容で動作させ、予め設定された動作結果が得られるかどうかを判定する。動作成否判定部115により判定された動作成否判定結果は、動作機械の動作内容(制御内容)、及び仮想センシングデータ(疑似センシングデータであってもよい)と共に学習データ生成部121へ出力される。
ここで、仮想モデル生成部111は、十分な数の試行母数を得るために、1つの種別に対して多数の仮想モデルを生成する。更に、構成例2の仮想モデル生成部111は、複数種別の仮想モデルも生成するため、動作成否判定部115は、複数種別に対してそれぞれ多数生成された仮想モデルのそれぞれを用いて仮想環境下で動作機械を動作させ、それらの動作結果を各々判定する。
動作成功率算出部117は、動作機械を用いて試行を行った場合の動作結果を集計することにより、仮想環境下で動作機械を動作させた場合に、予め定められた動作結果が得られる動作成功率を算出する。このとき、動作成功率は、単一の種別の仮想環境、すなわち第1パラメータの単一の組み合わせに対してそれぞれ算出される。なお、構成例2に係る動作成功率算出部117は、本発明の「第2算出部」の一例である。
学習データ生成部121は、シミュレーション部110によるシミュレーション結果に応じて学習データ123を生成する。学習データ123には、仮想モデルの生成に使用した第1パラメータ、動作機械の動作内容(制御内容)、仮想センシングデータ、及びそれらの動作内容及び仮想センシングデータを用いた場合の動作成否判定結果の情報を含むことができる。このとき、学習データ生成部121は、同様の機能を有する複数種別の動作機械に対して学習データ123を生成する。
制御モジュール生成部131は、学習データ123を用いた学習により制御モジュール133を生成する。ここで、先述のとおり、構成例2における制御モジュール生成部131により生成される制御モジュール133は、複数種別の動作機械に対してそれぞれ生成されるものではなく、制御する動作機械の種別に対応した第1パラメータを指定することで動作機械の種別に適した制御を行う、汎用的な単一のものとなる。
ここで、制御モジュール生成部131による制御モジュール133の形態は任意であるが、例えばニューラルネットワークを用いることができる。この場合、例えば、仮想モデルの生成に使用した第1パラメータ、仮想センシングデータと、動作機械の単位動作とをニューラルネットワークの入力、当該仮想センシングデータと当該単位動作の組合せに対する動作成功率を出力とすることができる。制御モジュール生成部131は、学習により、当該ニューラルネットワークの出力結果が、仮想空間におけるシミュレーション結果の動作成功率に近似するように、各ノードの重みが調整されたニューラルネットワーク(すなわち制御モジュール133)を生成する。仮想モデルの生成に使用した第1パラメータと仮想センシングデータの1つに対し、単位動作候補となる複数の単位動作を組み合わせることにより、それぞれの単位動作の組合せに対する作業成功率が学習される。得られたニューラルネットワークは、制御モジュール133として制御モジュール生成部131から任意の記憶媒体へ出力される。
制御モジュール生成部131により生成された汎用的な1つの制御モジュール133は、シミュレーション部110に出力される。シミュレーション部110の動作成功率算出部117は、当該制御モジュール133を用いて動作機械を動作させた場合の動作成功率を算出する。このとき、選択可能な動作機械の種別が複数ある場合には、動作成功率算出部117は、各々の種別の動作機械のそれぞれに対して、動作成功率を算出する。このために、制御モジュール133には動作機械の種別に対応した第1パラメータを入力する必要がある。
選択部141は、選択可能な動作機械の種別が複数ある場合に、実機として、汎用的な制御モジュール133と合わせて用いる動作機械の種別を選択する。なお、構成例2に係る選択部141は、本発明の「第2選択部」の一例である。
[3.2 処理の流れ]
以下、図7及び図8を参照しながら、構成例2に係る情報処理装置100の処理の流れを説明する。図7及び図8は、情報処理装置100の処理の流れを示すフローチャートである。
[3.2.1 制御モジュール133の学習]
まず、図7を参照しながら、汎用的な制御モジュール133を学習する処理の流れを説明する。
仮想モデル種別情報入力部101は、制御モジュール133の学習対象となる動作機械の種別の情報を含む、仮想環境に配置され得る1以上の仮想モデルに関する第1パラメータの入力を受ける(S701)。この際、第1パラメータには、同様の機能を有する1つの仮想モデル(例えば1つの動作機械)に対して、複数種別の情報を含むことができる。また、確率情報入力部103は、第1パラメータに含まれる複数種別の仮想モデルの各々を構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける(S703)。
シミュレーション部110は、今回の試行に用いる仮想環境を構成する1以上の仮想モデルからなる組合せを選定し(S705)、仮想モデル生成部111は、選定された組合せを構成する各々の仮想モデルを、第2パラメータにより確率的に設定された特定を持つ要素により生成する(S707)。シミュレーション部110は、生成された1以上の仮想モデルが配置された仮想環境下で、学習対象となる動作機械を動作させるシミュレーションを行う(S709)。このとき、仮想センシングデータ生成部113は、動作の適宜の時点において、仮想環境の状況を検出した結果である仮想センシングデータを生成する。動作成否判定部115は、このようにしてシミュレーションを行った結果、動作機械が予め設定された目的を達成したか否か、すなわち動作が成功したか否かを判定する(S711)。
学習データ生成部121は、当該結果を用いて学習データ123を生成する(S713)。学習データ123には、仮想モデルの生成に使用した第1パラメータ、動作機械の動作内容(制御情報)、仮想センシングデータ、及びこれらの動作内容及び仮想センシングデータを用いた場合の動作成否判定結果の情報を含むことができる。
学習データ123が生成されると、制御モジュール生成部131は、当該学習データ123を用いて、全ての動作機械に汎用的に用いることができる制御モジュール133を学習する(S715)。
シミュレーション部110、学習データ生成部121、および制御モジュール生成部131は、仮想環境を構成する1以上の仮想モデルの組合せに対して、S707乃至S715までの処理を十分な母数が得られるまで所定の試行回数繰り返す(S717のNo)。十分な試行回数だけシミュレーションを行うと(S717のYes)、シミュレーション部110は、異なる仮想モデルの組合せを選定して(S719のNo、S705)、再度S707乃至S715の処理を繰り返す。
[3.2.2 動作機械の選択]
次に、図8を参照しながら、選択可能な複数種別の動作機械の中から、実環境に適用するのに好適な動作機械の種別を選択する処理の流れを説明する。
仮想モデル種別情報入力部101は、例えば実環境で実際に作業を行う際に選択可能な複数種別の動作機械の中から1つの候補に係る第1パラメータの入力を受ける(S801)。また、確率情報入力部103は、仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける(S803)。仮想モデル生成部111は、第1パラメータで指定された種別の1以上の仮想モデルを、第2パラメータにより確率的に設定された特性を持つ要素を用いて生成する(S807)。シミュレーション部110は、生成された1以上の仮想モデルが配置された仮想環境下で、選択候補である動作機械を動作させるシミュレーションを行う(S809)。この時、動作機械は、制御モジュール生成部131により生成された制御モジュール133に基づいて動作させる。このとき、制御モジュール133に対し、仮想モデルの生成に使用した第1パラメータを指定する必要がある。また、仮想センシングデータ生成部113は、動作の適宜の時点において、仮想環境の状況を検出した結果である仮想センシングデータを生成する。動作成否判定部115は、このようにしてシミュレーションを行った結果、動作機械が予め設定された目的を達成したか否か、すなわち動作が成功したか否かを判定する(S811)。
シミュレーション部110は、候補として選択されている種別の動作機械に対して、S807乃至S811までの処理を、十分な母数が得られるまで所定の試行回数繰り返す(S813のNo)。1つの種別の動作機械に対して十分な試行回数だけシミュレーションを行うと(S813のYes)、動作成功率算出部117は、動作成功率を算出する(S815)。
その後、シミュレーション部110は、異なる動作機械を選定して(S817のNo、S805)、再度S807乃至S815の処理により、動作成功率を算出する。このようにして、動作機械の選択可能な全ての種別に対して動作成功率が算出されると(S817のYes)、選択部141は、当該動作成功率に基づいて、実際に用いる動作機械の種別を選択する(S819)。このとき選択部141は、例えば、動作成功率が最も高い動作機械を選択すればよい。
[3.3 構成例2の効果]
以上説明したように、構成例2に係る情報処理装置100では、構成例1と同様に、仮想モデルを構成する要素の特性を確率変数とする確率分布を定める第2パラメータの入力を受け、当該第2パラメータに基づき、要素の特性にばらつきを持たせた仮想モデルを生成した上で、当該仮想モデルが配置された仮想環境下で、動作機械の動作シミュレーションを行ってその動作結果を評価する。当該動作結果に基づく学習データ123を用いて当該動作機械の制御モジュール133を生成することにより、実環境で発生するばらつきに対して頑健な制御モジュール133を生成することができる。
また、制御対象である動作機械の種別を示す第1パラメータの入力を受けることで好適な動作を実行可能な、汎用的な制御モジュール133が生成される。生成される制御モジュール133が汎用的なものであるため、制御モジュール133を獲得するための学習の際に用いなかった種別の動作機械であったとしても、当該制御モジュール133を適用することが可能だと考えられる。
更に、当該制御モジュール133が適用された動作機械に対して、同様に第2パラメータに基づいて要素の特性にばらつきを持たせた仮想モデルが配置された仮想環境下でシミュレーションを行い、その結果を評価する。その中で、動作成功率が高い動作機械を選択することにより、実環境で発生するばらつきに対して頑健な動作機械を選択することができる。
[3.4 構成例2の変形例]
なお、上記で説明した構成例2は、本発明を教師あり学習による自動機械の制御モジュールの自立獲得技術に適用したものであるが、本発明は教師あり学習に限られるものではない。たとえば、適用例1と同様に、強化学習による自動機械の制御モジュールの自立獲得技術にも適用可能である。本発明を教科学習に適用する場合の構成および処理の流れは、図9に図示する。基本的には、図6を参照しながら説明した適用例1の制御モジュール133の学習の流れ、および、図7を参照しながら説明した適用例2の制御モジュールの学習の流れ、の少なくともいずれかに応じた処理の組合せにより実現しうるため、詳細な説明は省略する。
[4 付記]
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
(付記1)
動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける第1入力部(101)と、
前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける第2入力部(103)と、
前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する仮想モデル生成部(111)と、
確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する判定部(115)と、
当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュール(133)を学習する学習部(131)と
を備える情報処理装置(100)。
(付記2)
前記学習部(131)は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の各々に対して、対応する前記制御モジュール(133)を学習する、
付記1記載の情報処理装置(100)。
(付記3)
動作の成否判定結果と、その際に用いた前記動作機械の制御情報とに応じた学習データ(123)を生成する学習データ生成部(121)
を更に備え、
前記学習部(131)は、前記学習データ(123)を用いて、所定の動作を実現するための前記動作機械の前記制御モジュール(133)を学習する、
付記1又は付記2記載の情報処理装置(100)。
(付記4)
前記学習データ生成部(121)は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の各々に対して前記学習データ(123)を生成し、
前記学習部(131)は、選択可能な複数の前記動作機械の各々に対して、対応する前記学習データ(123)を用いて学習することで、対応する前記制御モジュール(133)を学習する、
付記3記載の情報処理装置(100)。
(付記5)
対応する前記制御モジュール(133)を適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数の前記動作機械と前記制御モジュール(133)との組合せのそれぞれに対して動作成功率を算出する第1算出部と、
前記動作成功率に応じて、前記動作機械と前記制御モジュール(133)との組合せを選択する第1選択部(141)と
を更に備える、付記2乃至付記4のいずれか1項記載の情報処理装置(100)。
(付記6)
前記学習データ生成部(121)は、動作の正否判定結果と、その際に用いた前記動作機械の制御情報と、その際に用いた前記第1パラメータとを含む前記学習データ(123)を生成し、
前記学習部(131)は、異なる前記第1パラメータで指定される複数種別の前記動作機械による前記学習データ(123)を単一の前記制御モジュール(133)として学習することで、複数種別の前記動作機械に適用可能な前記制御モジュール(133)を学習する、
付記3記載の情報処理装置(100)。
(付記7)
前記学習部(131)は、前記制御モジュール(133)を適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数種別の前記動作機械に対して、前記制御モジュール(133)を適用させた場合の動作成功率を算出する第2算出部(117)と、
前記動作成功率に応じて、前記動作機械を選択する第2選択部(141)と
を更に備える、付記6記載の情報処理装置(100)。
(付記8)
前記第1パラメータは、前記動作機械のキネマティクス構造の種別、及び前記動作機械の形状の種別の少なくとも一方の情報を含む、
付記1乃至付記7のいずれか1項記載の情報処理装置(100)。
(付記9)
前記第2パラメータは、前記動作機械の要素の寸法、設置位置、色、及びテクスチャの少なくともいずれかの特性を確率変数とする確率分布に関するものである、
付記1乃至付記8のいずれか1項記載の情報処理装置(100)。
(付記10)
前記1以上の仮想モデルは、前記動作機械の周辺環境に影響を与える部材、前記動作機械とともに使用される部材、前記動作機械の動作を検出するセンサ、及び、前記動作機械の動作対象物、の少なくともいずれかを含み、
前記第1パラメータは、前記動作機械の周辺環境に影響を与える部材の種別、前記動作機械と共に使用される部材の種別、前記動作機械の動作を検出するためのセンサ種別、及び、前記動作機械の作業対象物の種別、の少なくともいずれかの情報を含む、
付記1乃至付記9のいずれか1項記載の情報処理装置(100)。
(付記11)
前記第2パラメータは、前記動作機械の周辺環境に影響を与える部材、前記動作機械と共に使用される部材、前記動作機械の動作を検出するためのセンサ、及び、前記作業対象物の動作対象の少なくともいずれかの特性を確率変数とする確率分布に関するものである、
付記10記載の情報処理装置(100)。
(付記12)
前記第2パラメータの確率分布は、連続値の分布関数の種別と関数形状を決定する値の組合せ、離散値の分布関数と関数形状を決定する値の組合せ、及び、値の分布のリスト、を含む、
付記1乃至付記11のいずれか1項記載の情報処理装置(100)。
(付記13)
動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、
前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、
前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、
確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、
当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュール(133)を学習する処理と
を情報処理装置(100)が行う、情報処理方法。
(付記14)
動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、
前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、
前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、
確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、
当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュール(133)を学習する処理と
を情報処理装置(100)に実行させるためのプログラム。
100…情報処理装置、101…仮想モデル種別情報入力部、103…確率情報入力部、105…センシングデータ入力部、110…シミュレーション部、111…仮想モデル生成部、113…仮想センシングデータ生成部、115…動作成否判定部、117…動作成功率算出部、121…学習データ生成部、123…学習データ、131…制御モジュール生成部、133…制御モジュール、141…選択部、501…制御部、505…記憶部、507…制御プログラム、509…データベース(DB)、511…通信インタフェース部、513…入力部、515…出力部、517…バスライン

Claims (14)

  1. 動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける第1入力部と、
    前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける第2入力部と、
    前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する仮想モデル生成部と、
    確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する判定部と、
    当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する学習部と
    を備える情報処理装置。
  2. 前記学習部は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の仮想モデルの各々に対して、対応する前記制御モジュールを学習する、
    請求項1記載の情報処理装置。
  3. 動作の成否判定結果と、その際に用いた前記動作機械の制御情報とに応じた学習データを生成する学習データ生成部
    を更に備え、
    前記学習部は、前記学習データを用いて、所定の動作を実現するための前記動作機械の前記制御モジュールを学習する、
    請求項1又は請求項2記載の情報処理装置。
  4. 前記学習データ生成部は、前記第1パラメータで特定される種別に対応して生成される複数の前記動作機械の仮想モデルの各々に対して前記学習データを生成し、
    前記学習部は、選択可能な複数の前記動作機械の各々に対して、対応する前記学習データを用いて学習することで、対応する前記制御モジュールを学習する、
    請求項3記載の情報処理装置。
  5. 対応する前記制御モジュールを適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数の前記動作機械と前記制御モジュールとの組合せのそれぞれに対して動作成功率を算出する第1算出部と、
    前記動作成功率に応じて、前記動作機械と前記制御モジュールとの組合せを選択する第1選択部と
    を更に備える、請求項2乃至請求項4のいずれか1項記載の情報処理装置。
  6. 前記学習データ生成部は、動作の正否判定結果と、その際に用いた前記動作機械の制御情報と、その際に用いた前記第1パラメータとを含む前記学習データを生成し、
    前記学習部は、異なる前記第1パラメータで指定される複数種別の前記動作機械による前記学習データを単一の前記制御モジュールとして学習することで、複数種別の前記動作機械に適用可能な前記制御モジュールを学習する、
    請求項3記載の情報処理装置。
  7. 前記学習部は、前記制御モジュールを適用させた前記動作機械の仮想モデルを、少なくとも前記第2パラメータを用いて確率的に生成された前記1以上の仮想モデルを含む仮想空間上で動作させた場合の当該動作の正否判定に応じて、複数種別の前記動作機械に対して、前記制御モジュールを適用させた場合の動作成功率を算出する第2算出部と、
    前記動作成功率に応じて、前記動作機械を選択する第2選択部と
    を更に備える、請求項6記載の情報処理装置。
  8. 前記第1パラメータは、前記動作機械のキネマティクス構造の種別、及び前記動作機械の形状の種別の少なくとも一方の情報を含む、
    請求項1乃至請求項7のいずれか1項記載の情報処理装置。
  9. 前記第2パラメータは、前記動作機械の要素の寸法、設置位置、色、及びテクスチャの少なくともいずれかの特性を確率変数とする確率分布に関するものである、
    請求項1乃至請求項8のいずれか1項記載の情報処理装置。
  10. 前記1以上の仮想モデルは、前記動作機械の周辺環境に影響を与える部材、前記動作機械とともに使用される部材、前記動作機械の動作を検出するセンサ、及び、前記動作機械の動作対象物、の少なくともいずれかを含み、
    前記第1パラメータは、前記動作機械の周辺環境に影響を与える部材の種別、前記動作機械と共に使用される部材の種別、前記動作機械の動作を検出するためのセンサ種別、及び、前記動作機械の作業対象物の種別、の少なくともいずれかの情報を含む、
    請求項1乃至請求項9のいずれか1項記載の情報処理装置。
  11. 前記第2パラメータは、前記動作機械の周辺環境に影響を与える部材、前記動作機械と共に使用される部材、前記動作機械の動作を検出するためのセンサ、及び、前記作業対象物の動作対象の少なくともいずれかの特性を確率変数とする確率分布に関するものである、請求項10記載の情報処理装置。
  12. 前記第2パラメータの確率分布は、連続値の分布関数の種別と関数形状を決定する値の組合せ、離散値の分布関数と関数形状を決定する値の組合せ、及び、値の分布のリスト、を含む、
    請求項1乃至請求項11のいずれか1項記載の情報処理装置。
  13. 動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、
    前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、
    前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、
    確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、
    当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する処理と
    を情報処理装置が行う、情報処理方法。
  14. 動作機械の仮想モデルを含む1以上の仮想モデルについて、種別を特定するための第1パラメータの入力を受ける処理と、
    前記1以上の仮想モデルを構成する要素の特性を確率変数とする確率分布に関する第2パラメータの入力を受ける処理と、
    前記第1パラメータ及び前記第2パラメータを用いて、前記1以上の仮想モデルを確率的に生成する処理と、
    確率的に生成された前記1以上の仮想モデルを含む仮想空間上で前記動作機械の仮想モデルを動作させた場合の当該動作の正否を判定する処理と、
    当該動作の正否判定結果に応じて、所定の動作を実現するための前記動作機械の制御モジュールを学習する処理と
    を情報処理装置に実行させるためのプログラム。
JP2018040115A 2018-03-06 2018-03-06 情報処理装置、情報処理方法、及びプログラム Active JP6955702B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018040115A JP6955702B2 (ja) 2018-03-06 2018-03-06 情報処理装置、情報処理方法、及びプログラム
EP19763393.6A EP3764290A4 (en) 2018-03-06 2019-03-01 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
PCT/JP2019/007994 WO2019172101A1 (ja) 2018-03-06 2019-03-01 情報処理装置、情報処理方法、及びプログラム
US16/978,707 US11762679B2 (en) 2018-03-06 2019-03-01 Information processing device, information processing method, and non-transitory computer-readable storage medium
CN201980017044.6A CN111868758B (zh) 2018-03-06 2019-03-01 信息处理装置、信息处理方法以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018040115A JP6955702B2 (ja) 2018-03-06 2018-03-06 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019153246A JP2019153246A (ja) 2019-09-12
JP6955702B2 true JP6955702B2 (ja) 2021-10-27

Family

ID=67847397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018040115A Active JP6955702B2 (ja) 2018-03-06 2018-03-06 情報処理装置、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US11762679B2 (ja)
EP (1) EP3764290A4 (ja)
JP (1) JP6955702B2 (ja)
CN (1) CN111868758B (ja)
WO (1) WO2019172101A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021084587A1 (ja) * 2019-10-28 2021-05-06 株式会社安川電機 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法
WO2021161492A1 (ja) * 2020-02-14 2021-08-19 株式会社ロボマインド 汎用人工知能システムおよび汎用人工知能プログラム
CN115103741A (zh) * 2020-02-19 2022-09-23 发那科株式会社 学习用数据集生成装置以及学习用数据集生成方法
JP7351814B2 (ja) 2020-08-17 2023-09-27 トヨタ自動車株式会社 車両応答予測装置、学習装置、方法、及びプログラム
US20230298318A1 (en) * 2020-08-18 2023-09-21 Nippon Telegraph And Telephone Corporation Device control apparatus, device control program, environment classification apparatus, and actuator control apparatus
EP4300224A1 (en) * 2021-02-26 2024-01-03 NEC Corporation Learning device, learning method, and storage medium

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216981A (ja) * 2002-01-25 2003-07-31 Iwane Kenkyusho:Kk 自動作業システム
JP5633734B2 (ja) * 2009-11-11 2014-12-03 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
KR101941147B1 (ko) * 2014-12-25 2019-04-12 카와사키 주코교 카부시키 카이샤 암형 로봇의 장애물 자동 회피방법 및 제어장치
JP6620422B2 (ja) 2015-05-22 2019-12-18 富士通株式会社 設定方法、設定プログラム、及び設定装置
JP6240689B2 (ja) * 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
US20170124448A1 (en) * 2015-10-30 2017-05-04 Northrop Grumman Systems Corporation Concurrent uncertainty management system
JP6551184B2 (ja) * 2015-11-18 2019-07-31 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6604832B2 (ja) 2015-12-02 2019-11-13 池上通信機株式会社 機械学習支援装置
US10733532B2 (en) 2016-01-27 2020-08-04 Bonsai AI, Inc. Multiple user interfaces of an artificial intelligence system to accommodate different types of users solving different types of problems with artificial intelligence
JP6477551B2 (ja) * 2016-03-11 2019-03-06 トヨタ自動車株式会社 情報提供装置及び情報提供プログラム
JP6134411B1 (ja) * 2016-03-17 2017-05-24 ヤフー株式会社 情報処理装置、情報処理システム、情報処理方法、および、情報処理プログラム
WO2017163538A1 (ja) * 2016-03-25 2017-09-28 ソニー株式会社 情報処理装置
JP2017213644A (ja) * 2016-05-31 2017-12-07 キヤノン株式会社 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
JP6697159B2 (ja) * 2016-07-13 2020-05-20 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
JP6951659B2 (ja) * 2017-05-09 2021-10-20 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法

Also Published As

Publication number Publication date
EP3764290A1 (en) 2021-01-13
JP2019153246A (ja) 2019-09-12
CN111868758A (zh) 2020-10-30
EP3764290A4 (en) 2022-05-11
CN111868758B (zh) 2024-01-12
US11762679B2 (en) 2023-09-19
US20210049033A1 (en) 2021-02-18
WO2019172101A1 (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
JP6955702B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US9671777B1 (en) Training robots to execute actions in physics-based virtual environment
JP7009051B2 (ja) レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
JP5411057B2 (ja) 有限要素解析法におけるビーム−面接触をシミュレートする改善方法およびシステム
EP3544773B1 (en) System and method for determining grasping positions for two-handed grasps of industrial objects
EP3424650B1 (en) A method and apparatus for performing control of a movement of a robot arm
EP3798747A1 (en) Controlling a machine based on an online digital twin
Tahriri et al. Optimizing the robot arm movement time using virtual reality robotic teaching system
WO2021084587A1 (ja) 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法
JP7295421B2 (ja) 制御装置及び制御方法
US10875176B2 (en) Process control using deep learning training model
JP2021501433A (ja) ターゲットシステム用制御システムの生成
EP3862830A1 (en) Learning device, control device, learning method, and learning program
Yan et al. Parameter identification of robot manipulators: A heuristic particle swarm search approach
Ramasubramanian et al. Automatic simulation-based design and validation of robotic gripper fingers
US20190318292A1 (en) Method for Assembling a Team of Humans and Robots
Connolly et al. Realistic simulation of robotic grasping tasks: review and application
JP7378309B2 (ja) 作業装置
KR101858108B1 (ko) 로봇을 위한 동작 시뮬레이션 장치 및 방법
JP2020175471A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
García-Sedano et al. Stamping line optimization using genetic algorithms and virtual 3d line simulation
US20210122038A1 (en) Method and device for ascertaining control parameters in a computer-assisted manner for a favorable action of a technical system
Padois Control and design of robots with tasks and constraints in mind
JP2020179438A (ja) 計算機システム及び機械学習方法
Sun et al. Situated design optimization of haptic devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210916

R150 Certificate of patent or registration of utility model

Ref document number: 6955702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150