JP7179672B2 - Computer system and machine learning method - Google Patents
Computer system and machine learning method Download PDFInfo
- Publication number
- JP7179672B2 JP7179672B2 JP2019082488A JP2019082488A JP7179672B2 JP 7179672 B2 JP7179672 B2 JP 7179672B2 JP 2019082488 A JP2019082488 A JP 2019082488A JP 2019082488 A JP2019082488 A JP 2019082488A JP 7179672 B2 JP7179672 B2 JP 7179672B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- learning
- gripping
- probability
- object data
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、物体を把持する装置の制御モデルを生成するための機械学習の技術に関する。 The present invention relates to a machine learning technique for generating a control model of an object-grasping device.
機械学習の技術の高度化に伴って、自動車及びロボット等を制御するためのアルゴリズム(モデル)の開発が進展している。例えば、物体を把持する装置(把持装置)を制御するためのアルゴリズムを開発する技術として特許文献1に記載の技術が知られている。
With the sophistication of machine learning technology, the development of algorithms (models) for controlling automobiles, robots, and the like is progressing. For example, the technique described in
特許文献1には、「DB1の過去の取り出し成否の情報をもとに、計測特徴識別部52で、センサ2で計測したワークの一部の掴みやすさを推定し、把持動作演算部53、開閉動作演算部54において、掴みにくそうなものは優先して掴まないが、他に掴めそうなものがないときは、ハンドの開閉量・動作速度・把持力のうち少なくとも一つを調整し、より丁寧な取り出し動作をおこなう」装置が記載されている。また、特許文献1には、ニューラルネットワーク等の識別器を用いてワークのつかみやすさを推定することが記載されている。
In
従来技術では、既知の形状の物体に関する学習データを用いて識別器が生成される。そのため、既知の形状の物体については把持の可否を予測できるが、未知の形状の物体については把持の可否を予測できない。 In the prior art, classifiers are generated using training data on objects of known shape. Therefore, it is possible to predict whether an object with a known shape can be grasped, but it is not possible to predict whether an object with an unknown shape can be grasped.
識別器の精度を向上させるためには、様々な形状の物体に関する学習データを用いた学習が必要である。 In order to improve the accuracy of classifiers, learning using learning data on objects of various shapes is necessary.
本発明は、様々な形状の物体に関する学習データを自動的に生成し、当該学習データを用いて効率的に識別器の精度を向上させるための技術を提供する。 The present invention provides a technique for automatically generating learning data regarding objects of various shapes and efficiently improving the accuracy of classifiers using the learning data.
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、把持装置が物体を把持するための制御アルゴリズムを学習する計算機システムであって、前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機を備え、前記少なくとも一つの計算機は、前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理と、基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理と、を実行し、前記少なくとも一つの計算機は、前記第二学習処理において、前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成し、前記第一物体の把持点を決定し、前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力し、前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新する。 A representative example of the invention disclosed in the present application is as follows. That is, a computer system in which a gripping device learns a control algorithm for gripping an object, the computer system comprising at least one computer having an arithmetic device and a storage device connected to the arithmetic device, wherein the at least One computer uses object data including information about the shape of the object, gripping points that serve as reference positions for gripping the object, and learning data including information indicating success or failure of gripping the object. a first learning process for generating a first model that outputs a gripping success probability; a second learning process for generating a second model that outputs the object data of an object obtained by deforming the shape of a reference object; and the at least one computer generates, in the second learning process, the object data of a first object obtained by deforming the shape of the reference object based on the second model, and Determining gripping points, inputting multiple sets of object data of the first object and gripping points of the first object into the first model, and obtaining a successful gripping probability of the first object output from the first model. The second model is updated based on the difference between the maximum value of and the target probability.
本発明によれば、様々な形状の物体に関する学習データを識別器(第一モデル)の学習状態に合わせて自動的に生成し、当該学習データを用いた学習処理を実行することにより識別器の精度を効率的に向上させることができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the present invention, learning data about objects of various shapes are automatically generated in accordance with the learning state of a classifier (first model), and a learning process using the learning data is executed to improve the classifier. Accuracy can be efficiently improved. Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
まず、本発明の概要について説明する。本発明では、GAN(Generative Adversarial Networks)を応用して、把持装置の制御アルゴリズム(モデル)を学習する。GANでは、画像を生成するGeneratorと、Generatorによって生成された画像であるか否かを識別するDiscriminatorとがそれぞれ学習される。 First, the outline of the present invention will be explained. In the present invention, GAN (Generative Adversarial Networks) is applied to learn a control algorithm (model) of a grasping device. In the GAN, a generator that generates an image and a discriminator that discriminates whether or not the image is generated by the generator are learned.
本発明の計算機システムは、任意の把持点で任意の形状の物体を把持できる確率(把持成功確率)を算出する確率モデルと、任意の形状の物体の形状に関する情報を含む物体データを生成する物体データ生成モデルとをそれぞれ学習する。 The computer system of the present invention includes a probability model for calculating the probability of being able to grip an object of arbitrary shape at an arbitrary gripping point (grasping success probability), and an object data for generating object data including information on the shape of the object of arbitrary shape. Learn the data generation model and each.
確率モデルの学習では、物体データ生成モデルによって生成された物体データを用いて、任意の形状の物体の把持成功確率の最大値が閾値(目標確率)より大きくなるように確率モデルが学習される。これによって、様々な形状の物体を把持するための確率モデルを効率的に学習できる。 In probabilistic model learning, the probabilistic model is learned using object data generated by the object data generation model so that the maximum value of the gripping success probability of an object of arbitrary shape is greater than a threshold (target probability). This enables efficient learning of probabilistic models for gripping objects of various shapes.
物体データ生成モデルの学習では、目標確率及び把持成功確率の最大値の差が小さくなるように物体データ生成モデルが学習される。すなわち、確率モデルの学習の進捗状態に合わせるように物体データ生成モデルが更新される。これによって、把持成功確率が目標確率と近くなるような物体データを効率的に生成できる。したがって、より効率的な確率モデルの学習を実現できる。 In the learning of the object data generation model, the object data generation model is learned such that the difference between the target probability and the maximum value of the gripping success probability becomes small. That is, the object data generation model is updated so as to match the learning progress of the probability model. This makes it possible to efficiently generate object data in which the gripping success probability is close to the target probability. Therefore, more efficient probabilistic model learning can be realized.
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the contents of the examples described below. Those skilled in the art will easily understand that the specific configuration can be changed without departing from the idea or gist of the present invention.
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。 In the configurations of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and overlapping descriptions are omitted.
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。 The notations such as “first”, “second”, “third”, etc. in this specification and the like are attached to identify the constituent elements, and do not necessarily limit the number or order.
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。 The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, ranges, etc. disclosed in the drawings and the like.
図1は、実施例1の計算機システムの構成例を示す図である。図2は、実施例1の学習対象のモデルの一例を示す図である。図3は、実施例1の計算機100のハードウェア構成を示す図である。
FIG. 1 is a diagram showing a configuration example of a computer system according to the first embodiment. FIG. 2 is a diagram illustrating an example of a model to be learned according to the first embodiment. FIG. 3 is a diagram showing the hardware configuration of the
まず、図2を用いて、実施例1の計算機システムが学習するモデルについて説明する。 First, a model learned by the computer system of the first embodiment will be described with reference to FIG.
倉庫及び工場等の作業空間において、把持装置200が物体210の把持作業を行う。把持装置200は、制御装置201及びアーム202から構成される。なお、把持装置200は、カメラ等のセンサ、並びに、タイヤ及びモータ等の移動装置を有してもよい。
The
制御装置201は、把持装置200全体を制御する。制御装置201には、図示しないコントローラ及び駆動装置等が含まれる。アーム202は、制御装置201による制御に従って物体を把持する。アーム202は、力覚センサ及び触覚センサ等を有してもよい。なお、本発明は、アーム202の形態に限定されない。物体210を把持できる形態であればどのような形態でもよい。
The
ここで、把持装置200の把持作業における処理の概要について説明する。
Here, an overview of the processing in the gripping operation of the
制御装置201は、センサ等から物体210が存在する空間の画像を取得する。制御装置201は、確率モデルに基づいて、物体210の把持点220を選択する。ここで、把持点220は、例えば、アーム202が物体210を把持する位置の基準となる座標である。
The
制御装置201は、把持点220への軌道計画を生成する。ここで、軌道計画は、アーム202を把持点220まで移動させるためのアーム202及び把持装置200の移動軌道に関する情報である。
制御装置201は、軌道計画に基づいて、把持装置200の動作を制御するための制御情報を生成し、出力する。把持装置200は、制御情報に基づいて、アーム202が把持点220において物体210を把持するように動く。
The
実施例1の計算機システムは、把持装置200が物体を把持するための制御アルゴリズムである確率モデルを生成するための学習処理を実行する。図1の説明に戻る。
The computer system of the first embodiment executes learning processing for generating a probability model, which is a control algorithm for gripping an object by the
計算機システムは、複数の計算機100-1、100-2から構成される。各計算機100-1、100-2は、直接又はネットワークを介して互いに接続される。 The computer system comprises a plurality of computers 100-1 and 100-2. Computers 100-1 and 100-2 are connected to each other directly or via a network.
計算機100-1は、任意の把持点220で任意の形状の物体210を把持できる確率(把持成功確率)を算出する確率モデルを生成するための学習処理を実行する。
Computer 100-1 executes learning processing for generating a probability model for calculating the probability of being able to grip an
確率モデルは、物体210の形状に関する情報を含む物体データ及び把持点220を含む入力データから把持成功確率を算出するモデルである。なお、計算機100-1は、物体データそのものを確率モデルに入力してもよいし、VAE(Variational AutoEncoder)等を用いて抽出された物体データの特徴量を確率モデルに入力してもよい。
The probabilistic model is a model for calculating the gripping success probability from object data including information about the shape of the
計算機100-2は、学習用物体データ170を生成する物体データ生成モデルを生成するための学習処理を実行する。計算機100-2には、学習用物体データ170を生成するために用いる基準物体データ101が入力される。基準物体データ101は、基準となる物体に関するデータである。基準物体データ101及び学習用物体データ170は、例えば、ポリゴンメッシュをレンダリングすることによって生成された画像データである。
Computer 100-2 executes learning processing for generating an object data generation model for generating
物体データ生成モデルは、基準物体データ101を入力データとして受け付けて、学習用物体データ170を生成するモデルである。
The object data generation model is a model that receives the
ここで、図3を用いて計算機100-1、100-2のハードウェア構成について説明する。図3では、計算機100-1のハードウェア構成を説明する。なお、計算機100-2のハードウェア構成は計算機100-1と同一である。 Here, the hardware configuration of the computers 100-1 and 100-2 will be explained using FIG. FIG. 3 illustrates the hardware configuration of the computer 100-1. The hardware configuration of the computer 100-2 is the same as that of the computer 100-1.
計算機100-1は、プロセッサ300、主記憶装置301、副記憶装置302、ネットワークインタフェース303、及びIOインタフェース304を有する。各ハードウェアは内部バスを介して互いに接続される。
The computer 100 - 1 has a
なお、図2に示す計算機100-1のハードウェア構成は一例であってこれに限定されない。例えば、計算機100-1は、図示しないハードウェアを有してもよいし、副記憶装置302及びIOインタフェース304等の一部のハードウェアを有していなくてもよい。
Note that the hardware configuration of the computer 100-1 shown in FIG. 2 is an example and is not limited to this. For example, the computer 100-1 may have hardware not shown, or may not have some hardware such as the
プロセッサ300は、主記憶装置301に格納されるプログラムを実行する。プロセッサ300がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ300が当該モジュールを実現するプログラムを実行していることを示す。
The
主記憶装置301は、DRAM(Dynamic Random Access Memory)等の記憶装置であり、プロセッサ300が実行するプログラム及びプログラムが使用する情報を格納する。また、主記憶装置301は、プログラムが使用するワークエリアとしても用いられる。計算機100-1、100-2の主記憶装置301に格納されるプログラム及び情報については後述する。
The
なお、プログラム及び情報は副記憶装置302等、主記憶装置301以外のデバイス又は装置に格納されてもよい。この場合、プロセッサ300が、デバイス又は装置からプログラム及び情報を読み出し、主記憶装置301にロードする。
The programs and information may be stored in a device or apparatus other than the
副記憶装置302は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置であり、データを永続的に格納する。
The
ネットワークインタフェース303は、ネットワーク310を介して端末320等の外部装置と通信するためのインタフェースである。
A
IOインタフェース304は、入力装置330及び出力装置331等に接続するためのインタフェースである。なお、入力装置330は、キーボード、マウス、及びタッチパネル等であり、出力装置331は、ディスプレイ及びプリンタ等である。
The
図1の説明に戻る。次に、計算機100-1、100-2の主記憶装置301に格納されるプログラム及び情報について説明する。
Returning to the description of FIG. Next, programs and information stored in the
計算機100-1の主記憶装置301は、第一学習部110を実現するプログラム及び確率モデル管理情報130を格納する。
The
確率モデル管理情報130は、確率モデルを管理するための情報である。確率モデル管理情報130は、少なくとも確率モデルを定義するパラメタを含む。確率モデル管理情報130には、確率モデルの構造等に関する情報が含まれてもよい。例えば、確率モデルがニューラルネットワークである場合、確率モデル管理情報130には、階層の構造等に関する情報が含まれてよい。
The probabilistic
第一学習部110は、確率モデルを生成するための学習処理(第一学習処理)を実行する。第一学習部110は、把持確率算出部111、パラメタ更新部112、及びシミュレーション部113を含む。
The
把持確率算出部111は、把持点及び物体データの組と、確率モデル管理情報130によって定義される確率モデルとに基づいて、把持点における物体の把持成功確率を算出する。パラメタ更新部112は、確率モデルを定義するパラメタを更新する。すなわち、パラメタ更新部112は確率モデルを更新する。
The gripping
シミュレーション部113は、学習用物体データ170を用いたシミュレーションを実行することによって学習データ150及び確率データ160を生成する。シミュレーションは、例えば、物理シミュレーションが考えられる。ここで、学習データ150は、学習用物体データ170及び把持点(座標)を含む。確率データ160は、把持点及び把持成功確率を含む。
The
計算機100-2の主記憶装置301は、第二学習部120を実現するプログラム及び物体データ生成モデル管理情報140を格納する。
The
物体データ生成モデル管理情報140は、物体データ生成モデルを管理するための情報である。物体データ生成モデル管理情報140は、少なくとも物体データ生成モデルを定義するパラメタを含む。物体データ生成モデル管理情報140には、物体データ生成モデルの構造等に関する情報が含まれてもよい。例えば、物体データ生成モデルがニューラルネットワークである場合、物体データ生成モデル管理情報140には、階層の構造等に関する情報が含まれてよい。
The object data generation
第二学習部120は、物体データ生成モデルを生成するための学習処理(第二学習処理)を実行する。第二学習部120は、物体データ生成部121、パラメタ更新部122、及び把持点データ生成部123を含む。
The
物体データ生成部121は、基準物体データ101と、物体データ生成モデル管理情報140によって定義される物体データ生成モデルとに基づいて学習用物体データ170を生成する。物体データ生成部121は、内部で、自身の生成したデータも含めた繰り返し処理により学習用物体データ170を生成してもよい。パラメタ更新部122は、物体データ生成モデルを定義するパラメタを更新する。すなわち、パラメタ更新部122は物体データ生成モデルを更新する。
The object
把持点データ生成部123は、学習用物体データ170に対応する物体の把持点を決定し、学習用物体データ170及び把持点を含む評価用入力データ180を生成する。
The gripping
なお、計算機100-1、100-2が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。また、一つの計算機上で稼働する仮想計算機を用いて各機能部を実現してもよい。 It should be noted that, with respect to each functional unit possessed by the computers 100-1 and 100-2, a plurality of functional units may be combined into one functional unit, or one functional unit may be divided into multiple functional units for each function. good. Also, each functional unit may be implemented using a virtual computer running on one computer.
なお、第一学習部110の一部の機能部が第二学習部120に含まれてもよいし、第二学習部120の一部の機能部が第一学習部110に含まれてもよい。例えば、第二学習部120がシミュレーション部113を含んでもよい。
A part of the functional units of the
なお、図1の実線は、第一学習処理におけるデータの入出力を示し、図1の点線は、第二学習処理におけるデータの入出力を示す。本明細書では、第一学習処理及び第二学習処理が循環するように実行されることを敵対的学習と記載する。 The solid line in FIG. 1 indicates input/output of data in the first learning process, and the dotted line in FIG. 1 indicates input/output of data in the second learning process. In this specification, the cyclic execution of the first learning process and the second learning process is referred to as adversarial learning.
図4は、実施例1の計算機システムによって提示される設定画面400の一例を示す図である。
FIG. 4 is a diagram showing an example of a
設定画面400は、第一学習部110及び第二学習部120が実行する学習処理に必要な設定を行うための画面であり、端末320又は出力装置331に表示される。なお、設定画面400は、第一学習部110及び第二学習部120のどちらが提示してもよい。また、第一学習部110及び第二学習部120とは異なる機能部が設定画面400を提示してもよい。
The
設定画面400は、基準物体データ欄401、確率モデル欄402、物体データ生成モデル欄403、学習回数欄404、学習回数欄405、目標確率欄406、設定ボタン410、及び開始ボタン411を含む。
The
基準物体データ欄401は、第二学習部120に入力する基準物体データ101を設定する欄である。確率モデル欄402は、確率モデルを格納する確率モデル管理情報130を設定する欄である。物体データ生成モデル欄403は、物体データ生成モデルを格納する物体データ生成モデル管理情報140を設定する欄である。
A reference
基準物体データ欄401、確率モデル欄402、及び物体データ生成モデル欄403には、例えば、ファイルパス等が設定される。
For example, a file path or the like is set in the reference
学習回数欄404は、確率モデルの更新回数の上限値(学習回数の上限値)を設定する欄である。学習回数欄405は、物体データ生成モデルの更新回数の上限値(学習回数の上限値)を設定する欄である。目標確率欄406は、目標確率を設定する欄である。
The number of times of learning
設定ボタン410は、計算機100-1、100-2に、各欄に設定された値を設定するための操作ボタンである。ユーザが設定ボタン410を操作した場合、各欄に設定された値を含む設定指示が計算機システムに送信される。
The
このとき、第一学習部110は、初期の確率モデルを確率モデル管理情報130に登録し、学習回数欄404及び目標確率欄406に設定された値をワークエリアに格納する。また、第二学習部120は、初期の物体データ生成モデルを物体データ生成モデル管理情報140に登録し、基準物体データ101及び目標確率欄406に設定された値をワークエリアに格納する。
At this time, the
開始ボタン411は、計算機システムに学習開始指示を入力するための操作ボタンである。当該学習開始指示は、計算機100-1及び計算機100-2のいずれかに送信される。
A
図5は、実施例1の第一学習部110が実行する処理の一例を説明するフローチャートである。
FIG. 5 is a flowchart illustrating an example of processing executed by the
第一学習部110は、学習開始指示を受信した場合、以下で説明する処理を開始する。学習開始指示は、入力装置330、端末320、又は第二学習部120から送信される。なお、入力装置330及び端末320は、設定画面400を介して学習開始指示を送信する。
When the
まず、第一学習部110は、学習用物体データ170を取得する(ステップS101)。
First, the
具体的には、第一学習部110は、学習用物体データ170の生成指示を第二学習部120に送信する。第二学習部120の物体データ生成部121は、基準物体データ101及び物体データ生成モデル管理情報140に基づいて学習用物体データ170を生成し、第一学習部110に学習用物体データ170を送信する。
Specifically,
次に、第一学習部110は、取得した学習用物体データ170を用いて学習データ150及び確率データ160を生成する(ステップS102)。具体的には、以下のような処理が実行される。
Next, the
シミュレーション部113は、仮想的な空間に、学習用物体データ170に対応する物体を配置する。仮想的な空間における物体の位置及び向き等は任意に設定される。シミュレーション部113は、物体の把持点を決定し、当該把持点を基準に物体を把持できるか否かをシミュレーションする。なお、シミュレーション部113は、同一の把持点について複数回シミュレーションを実行してもよい。
The
シミュレーション部113は、学習用物体データ170及び把持点を含む学習データ150を生成し、把持確率算出部111に学習データ150を送信する。
The
シミュレーション部113は、シミュレーションの結果に基づいて、把持点毎の把持成功確率を算出する。以下の説明では、シミュレーション部113によって算出される把持成功確率を比較用確率とも記載する。
The
シミュレーション部113は、把持点及び比較用確率を含む確率データ160を生成し、パラメタ更新部112に確率データ160を送信する。以上がステップS102の処理の説明である。
The
次に、第一学習部110は、学習データ150及び確率データ160を用いて第一学習処理を実行する(ステップS103)。第一学習処理の詳細は図6を用いて後述する。
Next, the
次に、第一学習部110は、敵対的学習を終了するか否かを判定する(ステップS104)。
Next, the
例えば、第一学習部110は、第一学習処理の実行回数が閾値より大きい場合、敵対的学習を終了すると判定する。
For example, the
敵対的学習を継続すると判定された場合、第一学習部110は、第二学習部120に学習開始指示を送信し(ステップS105)、その後、処理を終了する。敵対的学習を終了すると判定された場合、第一学習部110は処理を終了する。
When it is determined to continue the hostile learning, the
なお、シミュレーション部113は、物体データ、把持点、及びシミュレーションの結果の組を学習データ150として生成し、把持確率算出部111及びパラメタ更新部112に出力してもよい。
The
図6は、実施例1の第一学習部110が実行する第一学習処理の一例を説明するフローチャートである。
FIG. 6 is a flowchart illustrating an example of first learning processing executed by the
把持確率算出部111は、学習データ150を確率モデルに入力することによって、任意の把持点における物体の把持成功確率を算出する(ステップS201)。把持確率算出部111は、各把持点の把持成功確率をパラメタ更新部112に送信する。
The gripping
次に、パラメタ更新部112は、各把持点の把持成功確率及び比較用確率に基づいて確率モデルを更新する(ステップS202)。
Next, the
例えば、パラメタ更新部112は、各把持点の把持成功確率及び比較用確率の差が小さくなるように確率モデルを定義するパラメタ(確率モデル管理情報130)を更新する。
For example, the
次に、パラメタ更新部112は、確率モデルの学習を終了するか否かを判定する(ステップS203)。
Next, the
例えば、確率モデルの更新回数が学習回数欄404の値より大きい場合、パラメタ更新部112は確率モデルの学習を終了すると判定する。また、パラメタ更新部112は、テスト用入力データを把持確率算出部111に入力し、把持確率算出部111より出力された把持成功確率の最大値が目標確率より大きい場合、確率モデルの学習を終了すると判定する。
For example, when the number of updates of the probability model is greater than the value in the number-of-
確率モデルの学習を継続すると判定された場合、第一学習部110は、ステップS201に戻り、同様の処理を実行する。確率モデルの学習を終了すると判定された場合、第一学習部110は第一学習処理を終了する。
When it is determined to continue learning the probabilistic model, the
図7は、実施例1の第二学習部120が実行する処理の一例を説明するフローチャートである。
FIG. 7 is a flowchart illustrating an example of processing executed by the
第二学習部120は、学習開始指示を受信した場合、以下で説明する処理を開始する。学習開始指示は、入力装置330、端末320、又は第一学習部110から送信される。
When the
まず、第二学習部120は、評価用入力データ180を生成する(ステップS301)。具体的には、以下のような処理が実行される。
First, the
物体データ生成部121は、基準物体データ101及び物体データ生成モデルに基づいて、任意の形状の物体のポリゴンメッシュを生成する。物体データ生成部121は、ポリゴンメッシュをレンダリングすることによって画像データを生成する。物体データ生成部121は、画像データを含む学習用物体データ170を生成し、把持点データ生成部123に送信する。
The
レンダリングの手法としては例えば非特許文献1に記載の手法を用いる。なお、本発明は、レンダリングの手法に限定されない。
As a rendering method, for example, the method described in
把持点データ生成部123は、学習用物体データ170に対応する物体の複数の把持点を決定し、学習用物体データ170及び把持点を含む評価用入力データ180を生成する。なお、学習用物体データ170及び一つの把持点の組に対して一つの評価用入力データ180が生成される。以上がステップS301の処理の説明である。
The gripping point
次に、第二学習部120は、評価用入力データ180を第一学習部110に送信し、参照用確率データ190を取得する(ステップS302)。
Next, the
第一学習部110の把持確率算出部111は、評価用入力データ180を受信した場合、各把持点における物体の把持成功確率を算出し、算出された把持成功確率を含む参照用確率データ190を第二学習部120に送信する。一つの評価用入力データ180に対して一つの参照用確率データ190が生成される。
When the evaluation input data 180 is received, the gripping
次に、第二学習部120は、第二学習処理を実行する(ステップS303)。第二学習処理の詳細は図8を用いて後述する。
Next, the
次に、第二学習部120は、敵対的学習を終了するか否かを判定する(ステップS304)。
Next, the
例えば、第二学習部120は、第二学習処理の実行回数が閾値より大きい場合、敵対的学習を終了すると判定する。
For example, the
敵対的学習を終了すると判定された場合、第二学習部120は処理を終了する。
If it is determined to end the adversarial learning, the
敵対的学習を継続すると判定された場合、第二学習部120は、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。
When it is determined to continue the hostile learning, the
図8は、実施例1の第二学習部120が実行する第二学習処理の一例を説明するフローチャートである。
FIG. 8 is a flowchart illustrating an example of the second learning process executed by the
パラメタ更新部122は、各把持点の把持成功確率及び目標確率に基づいて物体データ生成モデルを更新する(ステップS401)。
The
具体的には、パラメタ更新部122は、把持成功確率の最大値及び目標確率の差が小さくなるように物体データ生成モデルを定義するパラメタ(物体データ生成モデル管理情報140)を更新する。例えば、ランダムに物体データ生成モデルを定義するパラメタ(物体データ生成モデル管理情報140)を更新してもよいし、ユーザが手動でパラメタを更新してもよい。なお、前述した更新方法は一例であってこれに限定されない。このように物体データ生成モデルを更新することによって、確率モデルから出力される把持成功確率の最大値が目標確率と近くなるような物体データを効率的に生成することができる。
Specifically, the
次に、パラメタ更新部122は、確率モデルの学習を終了するか否かを判定する(ステップS402)。
Next, the
例えば、物体データ生成モデルの更新回数が学習回数欄405の値より大きい場合、パラメタ更新部122は物体データ生成モデルの学習を終了すると判定する。また、パラメタ更新部122は、テスト用入力データを把持確率算出部111に入力し、把持確率算出部111より出力された把持成功確率の最大値が目標確率より大きい場合、確率モデルの学習を終了すると判定する。
For example, when the number of updates of the object data generation model is greater than the value in the learning
物体データ生成モデルの学習を継続すると判定された場合、第二学習部120は、ステップS401に戻り、同様の処理を実行する。物体データ生成モデルの学習を終了すると判定された場合、第二学習部120は第二学習処理を終了する。
When it is determined to continue learning the object data generation model, the
次に、確率モデルに基づく把持装置200の制御の一例を説明する。図9は、実施例1の把持装置200の制御の一例を説明するフローチャートである。
Next, an example of control of the
制御装置201は、物体210が存在する空間(作業空間)の画像データを取得する(ステップS501)。
The
次に、制御装置201は、画像データ及び確率モデルを用いて、対象空間における把持成功確率の分布を算出する(ステップS502)。
Next, the
具体的には、制御装置201は、画像データ及び座標を確率モデルに入力し、各座標の把持成功確率を算出する。制御装置201は、公知の画像処理を用いて、画像データに含まれる物体を抽出する処理等を実行してもよい。
Specifically, the
次に、制御装置201は、作業空間における把持成功確率の分布に基づいて、物体210の把持点を決定し、決定された把持点の軌道計画を生成する(ステップS503)。
Next, the
次に、制御装置201は、軌道計画に基づいてアーム202を制御する(ステップS504)。これによって、把持装置200が物体210を把持する。
Next, the
以上で説明したように、実施例1によれば、第一学習処理において、物体データ生成モデルに基づいて生成された物体データを用いることによって様々な形状の物体を把持するための確率モデルを生成できる。また、把持成功確率の最大値及び目標確率の差に基づいて物体データ生成モデルを更新することによって、把持成功確率の最大値が目標確率と近くなるような物体データを効率的に生成できる。これによって、より効率的な確率モデルの学習を実現できる。 As described above, according to the first embodiment, in the first learning process, the object data generated based on the object data generation model is used to generate a probability model for gripping objects of various shapes. can. Also, by updating the object data generation model based on the difference between the maximum value of the gripping success probability and the target probability, it is possible to efficiently generate object data in which the maximum value of the gripping success probability is close to the target probability. This makes it possible to achieve more efficient probabilistic model learning.
実施例2では、第二学習部120が実行する処理が一部異なる。以下、実施例1との差異を中心に実施例2について説明する。
In Example 2, the processing executed by the
実施例2の計算機システムの構成は実施例1と同一である。計算機100のハードウェア構成は実施例1と同一である。実施例2の計算機100のソフトウェア構成は実施例1と同一である。
The configuration of the computer system of the second embodiment is the same as that of the first embodiment. The hardware configuration of the
ただし、実施例2の第二学習部120は進捗フラグを管理する。進捗フラグには、「0」、「1」、「2」のいずれかが設定される。進捗フラグの初期値は「0」に設定されているものとする。「1」は確率モデルの学習が停滞している状態を示し、「2」は確率モデルの学習が進捗している状態を示す。「0」は、前述のいずれにも該当しない状態を示す。
However, the
実施例2では、確率モデルの学習の進捗状況に応じて第二学習処理の学習を調整する。これによって、効率的な確率モデルの学習を実現できる。 In the second embodiment, learning in the second learning process is adjusted according to the progress of learning of the probability model. This makes it possible to implement efficient probabilistic model learning.
実施例2の第一学習部110が実行する処理は実施例1と同一である。実施例2では、第二学習部120が実行する処理が一部異なる。図10は、実施例2の第二学習部120が実行する処理の一例を説明するフローチャートである。
The processing executed by the
ステップS301、ステップS302の処理は実施例1と同一である。ステップS302の処理が実行された後、第二学習部120は、確率モデルの学習が停滞しているか否かを判定する(ステップS351)。判定方法としては以下のような方法が考えられる。
The processes of steps S301 and S302 are the same as those of the first embodiment. After the process of step S302 is executed, the
(判定方法1)第二学習部120は、各把持点の把持成功確率から把持成功確率の平均値を算出し、当該平均値が閾値より小さいか否かを判定する。把持成功確率の平均値が閾値より小さい場合、第二学習部120は確率モデルの学習が停滞していると判定する。なお、平均値以外の統計値を用いてもよい。
(Determination method 1) The
(判定方法2)第二学習部120は、把持成功確率の最大値を履歴として管理し、前回の最大値及び今回の最大値に基づいて変化率を算出する。第二学習部120は、把持成功確率の最大値及び目標確率の差が第一閾値より小さく、かつ、変化率が第二閾値より小さいか否かを判定する。前述の条件を満たす場合、第二学習部120は、確率モデルの学習が停滞していると判定する。
(Determination method 2) The
確率モデルの学習が停滞していると判定された場合、第二学習部120は、進捗フラグに「1」を設定し(ステップS352)、第二学習処理を実行する(ステップS303)。
When it is determined that the learning of the probabilistic model has stagnated, the
確率モデルの学習が停滞していないと判定された場合、第二学習部120は、第二学習処理を実行する(ステップS303)。
When it is determined that learning of the probability model has not stagnated, the
ステップS304において敵対的学習を終了しないと判定された場合、第二学習部120は、確率モデルの学習が進捗しているか否かを判定する(ステップS353)。
If it is determined in step S304 that the adversarial learning will not end, the
例えば、第二学習部120は、把持成功確率の最大値が目標確率より大きくなる回数が閾値より大きい場合、確率モデルの学習が進捗していると判定する。
For example, the
確率モデルの学習が進捗していないと判定された場合、第二学習部120は、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。
When it is determined that learning of the probability model is not progressing, the
確率モデルの学習が進捗していると判定された場合、第二学習部120は、進捗フラグに「2」を設定し(ステップS354)、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。
When it is determined that learning of the probability model is progressing, the
実施例2では第二学習処理も異なる。図11は、実施例2の第二学習部120が実行する第二学習処理の一例を説明するフローチャートである。
The second learning process is also different in the second embodiment. FIG. 11 is a flowchart illustrating an example of the second learning process executed by the
第二学習部120は、進捗フラグが「0」であるか否かを判定する(ステップS451)。
The
進捗フラグが「0」であると判定された場合、第二学習部120は、ステップS453に進む。
If the progress flag is determined to be "0", the
進捗フラグが「0」でないと判定された場合、第二学習部120は、目標範囲を更新する(ステップS452)。
When it is determined that the progress flag is not "0", the
具体的には、第二学習部120は変数α及び変数βを変更する。変数α及び変数βは、基準物体と、更新後の物体データ生成モデルに基づいて生成された物体との間の類似度の範囲を指定するための変数である。なお、第二学習部120は、変数α及び変数βの初期値を保持しているものとする。変数α及び変数βの初期値は設定画面400を介して設定されてもよい。
Specifically, the
第二学習部120は、把持成功確率の最大値及び目標確率の差に基づいて、変数α、βを更新する。具体的には以下のように設定される。
The
進捗フラグが「1」である場合、第二学習部120は、当該差に基づいて、前回の変数α、βより大きな値を設定する。これによって、更新前の物体データ生成モデルに基づいて生成された物体より、基準物体からの変化量が小さい物体の物体データが生成されるように物体データ生成モデルを更新できる。
When the progress flag is "1", the
進捗フラグが「2」である場合、第二学習部120は、当該差に基づいて、前回の変数α、βより小さい値を設定する。これによって、更新前の物体データ生成モデルに基づいて生成された物体より、基準物体からの変化量が大きい物体の物体データが生成されるように物体データ生成モデルを更新できる。
When the progress flag is "2", the
前述のような処理を実行することによって、把持成功確率の最大値及び目標確率の差を、物体データ生成モデルの更新に伝搬させることができる。以上がステップS452の処理の説明である。 By executing the processing as described above, the difference between the maximum value of the gripping success probability and the target probability can be propagated to update the object data generation model. The above is the description of the processing in step S452.
ステップS453では、第二学習部120は、目標範囲を設定する(ステップS453)。
In step S453, the
次に、パラメタ更新部122は、物体データ生成モデルを更新する(ステップS454)。物体データ生成モデルの更新方法は実施例1と同一である。
Next, the
次に、物体データ生成部121は、更新後の物体データ生成モデルに基づいて、学習用物体データ170を生成する(ステップS455)。
Next, the object
次に、パラメタ更新部122は、基準物体と学習用物体データ170に対応する物体との間の類似度を算出する(ステップS456)。
Next, the
次に、パラメタ更新部122は、物体データ生成モデルの学習を終了するか否かを判定する(ステップS457)。具体的には、以下のような処理が実行される。
Next, the
パラメタ更新部122は、類似度が目標範囲内であるか否かを判定する。具体的には、パラメタ更新部122は、類似度が変数α以上、かつ、変数β以下であるか否かを判定する。類似度が目標範囲内である場合、パラメタ更新部122は、物体データ生成モデルの学習を終了すると判定する。
The
類似度が目標範囲外であると判定された場合、パラメタ更新部122は、物体データ生成モデルの更新回数が学習回数欄405の値より大きいか否かを判定する。
When it is determined that the degree of similarity is outside the target range, the
物体データ生成モデルの更新回数が学習回数欄405の値より大きい場合、パラメタ更新部122は、物体データ生成モデルの学習を終了すると判定する。物体データ生成モデルの更新回数が学習回数欄405の値以下であると判定された場合、パラメタ更新部122は、物体データ生成モデルの学習を継続すると判定する。以上がステップS457の処理の説明である。
When the number of updates of the object data generation model is greater than the value in the number of times of learning
物体データ生成モデルの学習を継続すると判定された場合、第二学習部120は、ステップS454に戻り、同様の処理を実行する。
If it is determined to continue learning the object data generation model, the
物体データ生成モデルの学習を終了すると判定された場合、第二学習部120は、進捗フラグに「0」を設定し(ステップS458)、その後、第二学習処理を終了する。
When it is determined to end the learning of the object data generation model, the
変数αの値又は変数βを小さくした場合、基準物体からの変化量が大きい物体の物体データを生成する物体データ生成モデルに更新される。変数α又は変数βを大きくした場合、基準物体からの変化量が小さい物体の物体データを生成する物体データ生成モデルに更新される。 When the value of the variable α or the variable β is decreased, the object data generation model is updated to generate object data of an object with a large amount of change from the reference object. When the variable α or the variable β is increased, the object data generation model is updated to generate object data of an object with a small amount of change from the reference object.
変数βを調整は、物体の多様性を調整することに対応する。変数αを調整は、変化量が非常に大きい物体の生成を抑止することに対応する。目標範囲の幅の調整は、物体データ生成モデルの変化量の調整に対応する。 Adjusting the variable β corresponds to adjusting the diversity of objects. Adjusting the variable α corresponds to suppressing the generation of an object with a very large amount of change. Adjusting the width of the target range corresponds to adjusting the amount of change in the object data generation model.
複雑な形状の物体の物体データを学習データとして入力した場合、確率モデルの学習が停滞する可能性がある。そこで、実施例2の計算機システムは、確率モデルの学習が停滞している場合、簡易な形状の物体が生成されるように物体データ生成モデルを更新する。すなわち、基準物体からの形状の変化量が更新前の物体データ生成モデルから生成された物体より小さくなるように、物体データ生成モデルが更新される。簡易な形状の物体の物体データを入力することによって、確率モデルの学習の停滞を防止できる。 When object data of an object with a complicated shape is input as learning data, learning of the probability model may stagnate. Therefore, the computer system of the second embodiment updates the object data generation model so that an object with a simple shape is generated when learning of the probability model is stagnant. That is, the object data generation model is updated such that the amount of change in shape from the reference object is smaller than that of the object generated from the object data generation model before updating. By inputting object data of an object with a simple shape, it is possible to prevent stagnation in the learning of the probability model.
一方、確率モデルの学習が進捗している場合、第二学習部120は、より複雑な形状の物体が生成されるように物体データ生成モデルを更新する。すなわち、基準物体からの形状の変化量が更新前の物体データ生成モデルから生成された物体より大きくなるように、物体データ生成モデルが更新される。これによって、より複雑な形状の物体を把持するための確率モデルを効率的に生成することができる。
On the other hand, when learning of the probability model is progressing, the
実施例2によれば、確率モデルの学習の停滞を防止し、かつ、効率的な学習を実現できる。 According to the second embodiment, it is possible to prevent stagnation of learning of the probability model and realize efficient learning.
実施例3では、確率モデルの学習処理の停滞が検出された場合、第二学習部120の指示に基づいて、第一学習部110が確率モデルの再学習処理を実行する。以下、実施例1との差異を中心に実施例3について説明する。
In the third embodiment, when the stagnation of the learning process of the probability model is detected, the
図12は、実施例3の計算機システムの構成例を示す図である。 FIG. 12 is a diagram illustrating a configuration example of a computer system according to the third embodiment.
実施例3の計算機システムの構成は実施例1と同一である。計算機100のハードウェア構成は実施例1と同一である。実施例3の計算機100-2のソフトウェア構成は実施例1と同一である。
The configuration of the computer system of the third embodiment is the same as that of the first embodiment. The hardware configuration of the
実施例3では、計算機100-1の主記憶装置301に履歴管理情報1200が格納される。その他の構成は実施例1と同一である。
In Example 3, the
履歴管理情報1200は、確率モデル管理情報130の履歴を管理するための情報である。履歴管理情報1200では、確率モデル管理情報130及び更新日時が対応づけて管理される。
実施例3では、第一学習部110及び第二学習部120が実行する処理が一部異なる。
In Example 3, the processes executed by the
図13は、実施例3の第一学習部110が実行する処理の一例を説明するフローチャートである。
FIG. 13 is a flowchart illustrating an example of processing executed by the
第一学習部110は、受信した指示が再学習開始指示であるか否かを判定する(ステップS151)。
The
受信した指示が学習開始指示であると判定された場合、第一学習部110はステップS101に進む。
If the received instruction is determined to be a learning start instruction, the
受信した指示が再学習開始指示であると判定された場合、第一学習部110のパラメタ更新部112は、履歴管理情報1200に格納される履歴に基づいて確率モデルを更新する(ステップS152)。その後、第一学習部110はステップS101に進む。
If the received instruction is determined to be a re-learning start instruction, the
例えば、パラメタ更新部112は、更新日時が最も新しい確率モデルの履歴を読出し、確率モデルを更新する。なお、前述の更新方法は一例であって、これに限定されない。例えば、一定期間前の確率モデルの履歴に基づいて確率モデルが更新されてもよい。
For example, the
実施例3のステップS101からステップS105までの処理は実施例1と同一である。 The processing from step S101 to step S105 of the third embodiment is the same as that of the first embodiment.
図14は、実施例3の第二学習部120が実行する処理の一例を説明するフローチャートである。
FIG. 14 is a flowchart illustrating an example of processing executed by the
実施例1のステップS301からステップS302、ステップS303からステップS305の処理は実施例1の処理と同一である。ステップS351の処理は実施例2の処理と同一である。 The processes from step S301 to step S302 and from step S303 to step S305 of the first embodiment are the same as those of the first embodiment. The processing of step S351 is the same as the processing of the second embodiment.
ステップS351において、確率モデルの学習が停滞していないと判定された場合、第二学習部120はステップS303に進む。
If it is determined in step S351 that learning of the probability model has not stagnated, the
ステップS351において、確率モデルの学習が停滞していると判定された場合、第二学習部120は第一学習部110に再学習開始指示を出力する(ステップS361)。その後、第二学習部120は処理を終了する。
When it is determined in step S351 that learning of the probabilistic model has stagnated, the
実施例3によれば、確率モデルの学習が停滞している場合、第一学習部110は、過去の確率モデルに戻した上で学習処理を実行する。これによって、学習の停滞を回避することができる。
According to the third embodiment, when the learning of the probability model is stagnant, the
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 In addition, the present invention is not limited to the above-described embodiments, and includes various modifications. Further, for example, the above-described embodiments are detailed descriptions of the configurations for easy understanding of the present invention, and are not necessarily limited to those having all the described configurations. Moreover, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above configurations, functions, processing units, processing means, and the like may be realized by hardware, for example, by designing a part or all of them using an integrated circuit. The present invention can also be implemented by software program code that implements the functions of the embodiments. In this case, a computer is provided with a storage medium recording the program code, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A nonvolatile memory card, ROM, or the like is used.
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。 Also, the program code that implements the functions described in this embodiment can be implemented in a wide range of programs or scripting languages such as assembler, C/C++, perl, Shell, PHP, Python, and Java (registered trademark).
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the program code of the software that implements the functions of the embodiment via a network, it can be stored in storage means such as a hard disk or memory of a computer, or in a storage medium such as a CD-RW or CD-R. Alternatively, a processor provided in the computer may read and execute the program code stored in the storage means or the storage medium.
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines indicate those considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. All configurations may be interconnected.
100 計算機
101 基準物体データ
110 第一学習部
111 把持確率算出部
112、122 パラメタ更新部
113 シミュレーション部
120 第二学習部
121 物体データ生成部
123 把持点データ生成部
130 確率モデル管理情報
140 物体データ生成モデル管理情報
150 学習データ
160 確率データ
170 学習用物体データ
180 評価用入力データ
190 参照用確率データ
200 把持装置
201 制御装置
202 アーム
210 物体
220 把持点
300 プロセッサ
301 主記憶装置
302 副記憶装置
303 ネットワークインタフェース
304 IOインタフェース
310 ネットワーク
320 端末
330 入力装置
331 出力装置
400 設定画面
1200 履歴管理情報
100
Claims (8)
前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機を備え、
前記少なくとも一つの計算機は、
前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理と、
基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理と、を実行し、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成し、
前記第一物体の把持点を決定し、
前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力し、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新することを特徴とする計算機システム。 A computer system in which a gripping device learns a control algorithm for gripping an object,
The computer system comprises at least one computer having an arithmetic device and a storage device connected to the arithmetic device,
The at least one calculator comprises:
Using object data including information about the shape of the object, gripping points that serve as reference positions for gripping the object, and learning data including information indicating success or failure of gripping the object, outputting the gripping success probability of the object. a first learning process for generating a first model that
a second learning process for generating a second model that outputs the object data of an object obtained by deforming the shape of the reference object;
The at least one computer, in the second learning process,
generating the object data of the first object obtained by deforming the shape of the reference object based on the second model;
determining a gripping point of the first object;
inputting object data for the first object and multiple sets of grip points for the first object into the first model;
A computer system, wherein the second model is updated based on the difference between the maximum value of the gripping success probability of the first object output from the first model and the target probability.
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第一モデルの学習が停滞している場合、前記基準物体からの形状の変化量が前記第一物体より小さい物体の前記物体データが生成されるように前記第二モデルを更新し、
前記第一モデルの学習が進捗している場合、前記基準物体からの形状の変化量が前記第一物体より大きい物体の前記物体データが生成されるように前記第二モデルを更新することを特徴とする計算機システム。 A computer system according to claim 1,
The at least one computer, in the second learning process,
updating the second model so that the object data of an object whose shape change amount from the reference object is smaller than the first object is generated when the learning of the first model is stagnant;
When the learning of the first model is progressing, the second model is updated so that the object data of an object whose shape change amount from the reference object is larger than the first object is generated. computer system.
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第二モデルに基づいて生成された前記物体データに対応する物体の形状と前記基準物体の形状との間の類似度の目標範囲を設定し、
前記第一物体の把持成功確率の最大値及び前記目標確率の差が小さくなり、かつ、前記更新された第二モデルに基づいて生成された前記物体データに対応する第二物体の形状と前記基準物体の形状との間の類似度が前記目標範囲内になるように前記第二モデルを更新することを特徴とする計算機システム。 A computer system according to claim 2,
The at least one computer, in the second learning process,
setting a target range of similarity between the shape of the object corresponding to the object data generated based on the second model and the shape of the reference object;
The difference between the maximum value of the gripping success probability of the first object and the target probability becomes small, and the shape of the second object corresponding to the object data generated based on the updated second model and the reference A computer system, wherein the second model is updated so that the degree of similarity with the shape of the object is within the target range.
前記第一モデルの更新履歴を管理するための履歴管理情報を保持し、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値が目標確率以下である場合、前記第一物体の把持成功確率の統計値及び前記第一物体の把持成功確率の最大値の変化量のいずれかを評価値として算出し、
前記評価値に基づいて、前記第一モデルの学習が停滞しているか否かを判定し、
前記第一モデルの学習が停滞していると判定された場合、前記履歴管理情報を用いて、前記第一モデルを更新することを特徴とする計算機システム。 A computer system according to claim 1,
holding history management information for managing the update history of the first model;
The at least one computer, in the second learning process,
if the maximum value of the probability of success in gripping the first object output from the first model is less than or equal to the target probability, the statistical value of the probability of success in gripping the first object and the maximum value of the probability of success in gripping the first object; Calculate either the amount of change in as an evaluation value,
Based on the evaluation value, determine whether the learning of the first model is stagnant,
A computer system, comprising: updating the first model using the history management information when it is determined that the learning of the first model has stagnated.
前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機から構成され、
前記機械学習方法は、
前記少なくとも一つの計算機が、前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理を実行するステップと、
基準物体の前記物体データに基づいて、前記基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理を実行するステップと、を含み、
前記第二学習処理は、
前記少なくとも一つの計算機が、前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成する第1のステップと、
前記少なくとも一つの計算機が、前記第一物体の把持点を決定する第2のステップと、
前記少なくとも一つの計算機が、前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力する第3のステップと、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新する第4のステップと、を含むことを特徴とする機械学習方法。 A machine learning method executed by a computer system for learning a control algorithm for a gripping device to grip an object,
The computer system comprises at least one computer having an arithmetic device and a storage device connected to the arithmetic device,
The machine learning method comprises:
The at least one computer uses learning data including object data including information about the shape of the object, gripping points that serve as reference positions for gripping the object, and information indicating success or failure of gripping the object. executing a first learning process for generating a first model that outputs a probability of success in gripping an object;
performing a second learning process for generating a second model that outputs the object data of an object obtained by deforming the shape of the reference object, based on the object data of the reference object;
The second learning process includes
a first step in which the at least one calculator generates the object data of a first object obtained by deforming the shape of the reference object based on the second model;
a second step in which the at least one calculator determines a gripping point of the first object;
a third step in which the at least one calculator inputs object data for the first object and multiple sets of grip points for the first object into the first model;
and a fourth step of updating the second model based on the difference between the maximum value of the gripping success probability of the first object output from the first model and the target probability. Method.
前記第4のステップは、
前記第一モデルの学習が停滞している場合、前記少なくとも一つの計算機が、前記基準物体からの形状の変化量が前記第一物体より小さい物体の前記物体データが生成されるように前記第二モデルを更新するステップと、
前記第一モデルの学習が進捗している場合、前記少なくとも一つの計算機が、前記基準物体からの形状の変化量が前記第一物体より大きい物体の前記物体データが生成されるように前記第二モデルを更新するステップと、を含むことを特徴とする機械学習方法。 The machine learning method of claim 5,
The fourth step is
When the learning of the first model is stagnant, the at least one computer causes the second model to generate the object data of an object whose shape change amount from the reference object is smaller than the first object. updating the model;
When the learning of the first model is progressing, the at least one computer generates the object data of an object whose shape change amount from the reference object is larger than that of the first object. and updating a model.
前記第4のステップは、
前記少なくとも一つの計算機が、前記第二モデルに基づいて生成された前記物体データに対応する物体の形状と前記基準物体の形状との間の類似度の目標範囲を設定するステップと、
前記少なくとも一つの計算機が、前記第一物体の把持成功確率の最大値及び前記目標確率の差が小さくなり、かつ、前記更新された第二モデルに基づいて生成された前記物体データに対応する第二物体の形状と前記基準物体の形状との間の類似度が前記目標範囲内になるように前記第二モデルを更新するステップと、を含むことを特徴とする機械学習方法。 The machine learning method of claim 6,
The fourth step is
setting a target range of similarity between the shape of the object corresponding to the object data generated based on the second model and the shape of the reference object;
The at least one computer calculates the difference between the maximum value of the gripping success probability of the first object and the target probability becomes small, and the object data corresponding to the object data generated based on the updated second model. and updating the second model such that the similarity between two object shapes and the reference object shape is within the target range.
前記計算機システムは、前記第一モデルの更新履歴を管理するための履歴管理情報を保持し、
前記機械学習方法は、
前記少なくとも一つの計算機が、前記第一物体の把持成功確率の統計値及び前記第一物体の把持成功確率の最大値の変化量のいずれかを評価値として算出するステップと、
前記少なくとも一つの計算機が、前記評価値に基づいて、前記第一モデルの学習が停滞しているか否かを判定するステップと、
前記第一モデルの学習が停滞していると判定された場合、前記少なくとも一つの計算機が、前記履歴管理情報を用いて、前記第一モデルを更新するステップと、を含むことを特徴とする機械学習方法。 The machine learning method of claim 5,
the computer system holds history management information for managing the update history of the first model;
The machine learning method comprises:
calculating, by the at least one calculator, either the statistic value of the probability of successful gripping of the first object or the amount of change in the maximum value of the probability of successful gripping of the first object as an evaluation value;
a step in which the at least one computer determines whether learning of the first model has stagnated based on the evaluation value;
and, when it is determined that the learning of the first model has stagnated, the at least one computer updates the first model using the history management information. learning method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019082488A JP7179672B2 (en) | 2019-04-24 | 2019-04-24 | Computer system and machine learning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019082488A JP7179672B2 (en) | 2019-04-24 | 2019-04-24 | Computer system and machine learning method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020179438A JP2020179438A (en) | 2020-11-05 |
JP7179672B2 true JP7179672B2 (en) | 2022-11-29 |
Family
ID=73023036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019082488A Active JP7179672B2 (en) | 2019-04-24 | 2019-04-24 | Computer system and machine learning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7179672B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11148672B1 (en) * | 2017-04-12 | 2021-10-19 | Hrl Laboratories, Llc | Method for time series structure discovery |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160101519A1 (en) | 2013-05-21 | 2016-04-14 | The Universtiy Of Birmingham | Grasp modelling |
US9694494B1 (en) | 2015-12-11 | 2017-07-04 | Amazon Technologies, Inc. | Feature identification and extrapolation for robotic item grasping |
JP2017185578A (en) | 2016-04-05 | 2017-10-12 | 株式会社リコー | Object gripping device and gripping control program |
JP2018205929A (en) | 2017-05-31 | 2018-12-27 | 株式会社Preferred Networks | Learning device, learning method, learning model, detection device and gripping system |
JP2018202550A (en) | 2017-06-05 | 2018-12-27 | 株式会社日立製作所 | Machine learning device, machine learning method, and machine learning program |
US20190012611A1 (en) | 2017-07-04 | 2019-01-10 | Hitachi, Ltd. | Information processing system |
JP2019032782A (en) | 2017-08-09 | 2019-02-28 | 株式会社日立製作所 | Machine learning apparatus and method |
JP2019056966A (en) | 2017-09-19 | 2019-04-11 | 株式会社東芝 | Information processing device, image recognition method and image recognition program |
-
2019
- 2019-04-24 JP JP2019082488A patent/JP7179672B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160101519A1 (en) | 2013-05-21 | 2016-04-14 | The Universtiy Of Birmingham | Grasp modelling |
US9694494B1 (en) | 2015-12-11 | 2017-07-04 | Amazon Technologies, Inc. | Feature identification and extrapolation for robotic item grasping |
JP2017185578A (en) | 2016-04-05 | 2017-10-12 | 株式会社リコー | Object gripping device and gripping control program |
JP2018205929A (en) | 2017-05-31 | 2018-12-27 | 株式会社Preferred Networks | Learning device, learning method, learning model, detection device and gripping system |
JP2018202550A (en) | 2017-06-05 | 2018-12-27 | 株式会社日立製作所 | Machine learning device, machine learning method, and machine learning program |
US20190012611A1 (en) | 2017-07-04 | 2019-01-10 | Hitachi, Ltd. | Information processing system |
JP2019016025A (en) | 2017-07-04 | 2019-01-31 | 株式会社日立製作所 | Information processing system |
JP2019032782A (en) | 2017-08-09 | 2019-02-28 | 株式会社日立製作所 | Machine learning apparatus and method |
JP2019056966A (en) | 2017-09-19 | 2019-04-11 | 株式会社東芝 | Information processing device, image recognition method and image recognition program |
Also Published As
Publication number | Publication date |
---|---|
JP2020179438A (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963783B2 (en) | Technologies for optimized machine learning training | |
JP6513015B2 (en) | Method for controlling machine operation, and control system for repetitively controlling machine operation | |
JP5750657B2 (en) | Reinforcement learning device, control device, and reinforcement learning method | |
JP2021073623A (en) | Interactive 3d experience based on data | |
JP5768834B2 (en) | Plant model management apparatus and method | |
JP2019537132A (en) | Training Action Choice Neural Network | |
JPWO2016152053A1 (en) | Accuracy estimation model generation system and accuracy estimation system | |
CN107457780B (en) | Method and device for controlling mechanical arm movement, storage medium and terminal equipment | |
JP2011243088A (en) | Data processor, data processing method and program | |
JP6718500B2 (en) | Optimization of output efficiency in production system | |
JP7014181B2 (en) | Learning device and learning method | |
JP2014102578A (en) | Information processor, control method, program, and recording medium | |
US10635078B2 (en) | Simulation system, simulation method, and simulation program | |
JP2007265345A (en) | Information processor and method, learning device and method, and program | |
JP7179672B2 (en) | Computer system and machine learning method | |
JP2013206460A (en) | Optimization of system control based on solving multipoint boundary value problem | |
JP7196935B2 (en) | Arithmetic device, action determination method, and control program | |
JP2012212323A (en) | Information processing device, information processing method, and program | |
JP7036128B2 (en) | Controls, control methods and programs | |
US20230221713A1 (en) | System optimal control device, system optimal control method, and program | |
JP6659260B2 (en) | Control device and machine learning device with PLC program optimization function | |
JP7309069B2 (en) | Learning device and reasoning device for control of air conditioner | |
CN114397817A (en) | Network training method, robot control method, network training device, robot control device, equipment and storage medium | |
KR102261055B1 (en) | Method and system for optimizing design parameter of image to maximize click through rate | |
JP2021082014A (en) | Estimation device, training device, estimation method, training method, program, and non-transitory computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221026 |
|
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: 20221108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7179672 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |