JP2020179438A - Computing system and machine learning method - Google Patents

Computing system and machine learning method Download PDF

Info

Publication number
JP2020179438A
JP2020179438A JP2019082488A JP2019082488A JP2020179438A JP 2020179438 A JP2020179438 A JP 2020179438A JP 2019082488 A JP2019082488 A JP 2019082488A JP 2019082488 A JP2019082488 A JP 2019082488A JP 2020179438 A JP2020179438 A JP 2020179438A
Authority
JP
Japan
Prior art keywords
model
learning
gripping
computer
probability
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.)
Granted
Application number
JP2019082488A
Other languages
Japanese (ja)
Other versions
JP7179672B2 (en
Inventor
崇弘 三木
Takahiro Miki
崇弘 三木
亮 坂井
Akira Sakai
亮 坂井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019082488A priority Critical patent/JP7179672B2/en
Publication of JP2020179438A publication Critical patent/JP2020179438A/en
Application granted granted Critical
Publication of JP7179672B2 publication Critical patent/JP7179672B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

To generate a model for holding an object of various shapes.SOLUTION: A computing system learns a control algorism by which a holding device holds an object, and executes first learning processing which generates a first model for outputting an object hold success probability, and second learning processing which generates a second model for outputting object data of the object which is deformed from a shape of a reference object. In the second learning processing, object data of the first object, which is deformed from the shape of the reference object, is generated on the basis of the second model, a holding point of the first object is determined, a plurality of sets of the object data of the first object and the holding point of the first object are input in the first model, and the second model is updated on the basis of a comparison result of a maximum value of the holding success probability of the first object output from the first model, and a target probability.SELECTED DRAWING: Figure 1

Description

本発明は、物体を把持する装置の制御モデルを生成するための機械学習の技術に関する。 The present invention relates to a machine learning technique for generating a control model of a device that grips an object.

機械学習の技術の高度化に伴って、自動車及びロボット等を制御するためのアルゴリズム(モデル)の開発が進展している。例えば、物体を把持する装置(把持装置)を制御するためのアルゴリズムを開発する技術として特許文献1に記載の技術が知られている。 With the sophistication of machine learning technology, the development of algorithms (models) for controlling automobiles, robots, etc. is progressing. For example, the technique described in Patent Document 1 is known as a technique for developing an algorithm for controlling a device for gripping an object (grasping device).

特許文献1には、「DB1の過去の取り出し成否の情報をもとに、計測特徴識別部52で、センサ2で計測したワークの一部の掴みやすさを推定し、把持動作演算部53、開閉動作演算部54において、掴みにくそうなものは優先して掴まないが、他に掴めそうなものがないときは、ハンドの開閉量・動作速度・把持力のうち少なくとも一つを調整し、より丁寧な取り出し動作をおこなう」装置が記載されている。また、特許文献1には、ニューラルネットワーク等の識別器を用いてワークのつかみやすさを推定することが記載されている。 In Patent Document 1, "The measurement feature identification unit 52 estimates the ease of grasping a part of the work measured by the sensor 2 based on the past extraction success / failure information of the DB 1, and the gripping operation calculation unit 53, The opening / closing operation calculation unit 54 preferentially does not grasp an object that is difficult to grasp, but when there is no other object that is likely to be grasped, adjust at least one of the opening / closing amount, the operating speed, and the gripping force of the hand. , Perform a more polite take-out operation ”is described. Further, Patent Document 1 describes that the ease of grasping a work is estimated by using a classifier such as a neural network.

従来技術では、既知の形状の物体に関する学習データを用いて識別器が生成される。そのため、既知の形状の物体については把持の可否を予測できるが、未知の形状の物体については把持の可否を予測できない。 In the prior art, a classifier is generated using learning data about an object of a known shape. Therefore, it is possible to predict whether or not an object having a known shape can be gripped, but it is not possible to predict whether or not an object having an unknown shape can be gripped.

特開2013−52490号公報Japanese Unexamined Patent Publication No. 2013-52490

Hiroharu Kato, Yoshitaka Ushiku, Tatsuya Harada、"Neural 3D Mesh Renderer"、[online]、2017年11月20日、[2019年3月25日検索]、インターネット<https://arxiv.org/abs/1711.07566>Hiroharu Kato, Yoshitaka Ushiku, Tatsuya Harada, "Neural 3D Mesh Renderer", [online], November 20, 2017, [Search March 25, 2019], Internet <https://arxiv.org/abs/1711.07566 >

識別器の精度を向上させるためには、様々な形状の物体に関する学習データを用いた学習が必要である。 In order to improve the accuracy of the classifier, it is necessary to learn using learning data on objects of various shapes.

本発明は、様々な形状の物体に関する学習データを自動的に生成し、当該学習データを用いて効率的に識別器の精度を向上させるための技術を提供する。 The present invention provides a technique for automatically generating learning data for objects having various shapes and efficiently improving the accuracy of the classifier using the learning data.

本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、把持装置が物体を把持するための制御アルゴリズムを学習する計算機システムであって、前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機を備え、前記少なくとも一つの計算機は、前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理と、基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理と、を実行し、前記少なくとも一つの計算機は、前記第二学習処理において、前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成し、前記第一物体の把持点を決定し、前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力し、前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新する。 A typical example of the invention disclosed in the present application is as follows. That is, it is a computer system in which a gripping device learns a control algorithm for gripping an object, and the computer system includes at least one computer having a calculation device and a storage device connected to the calculation device, and at least the above. One computer uses object data including information on the shape of the object, a gripping point as a reference of a position for gripping the object, and learning data including information indicating the success or failure of gripping the object. The first learning process for generating the first model that outputs the gripping success probability, the second learning process for generating the second model that outputs the object data of the object whose shape of the reference object is deformed, and the second learning process. Is executed, and in the second learning process, the at least one computer generates the object data of the first object in which the shape of the reference object is deformed based on the second model, and the first object of the first object. The gripping point is determined, the object data of the first object and a plurality of sets of gripping points of the first object are input to the first model, and the gripping success probability of the first object output from the first model. The second model is updated based on the difference between the maximum value and the target probability of.

本発明によれば、様々な形状の物体に関する学習データを識別器(第一モデル)の学習状態に合わせて自動的に生成し、当該学習データを用いた学習処理を実行することにより識別器の精度を効率的に向上させることができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the present invention, learning data related to objects having various shapes is automatically generated according to the learning state of the classifier (first model), and the learning process using the learning data is executed to obtain the classifier. The accuracy can be improved efficiently. Issues, configurations and effects other than those mentioned above will be clarified by the description of the following examples.

実施例1の計算機システムの構成例を示す図である。It is a figure which shows the configuration example of the computer system of Example 1. FIG. 実施例1の学習対象のモデルの一例を示す図である。It is a figure which shows an example of the model of the learning target of Example 1. FIG. 実施例1の計算機のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of the computer of Example 1. FIG. 実施例1の計算機システムによって提示される設定画面の一例を示す図である。It is a figure which shows an example of the setting screen presented by the computer system of Example 1. FIG. 実施例1の第一学習部が実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process executed by the 1st learning part of Example 1. FIG. 実施例1の第一学習部が実行する第一学習処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the 1st learning process executed by the 1st learning part of Example 1. FIG. 実施例1の第二学習部が実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process executed by the 2nd learning part of Example 1. FIG. 実施例1の第二学習部が実行する第二学習処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the 2nd learning process executed by the 2nd learning part of Example 1. FIG. 実施例1の把持装置の制御の一例を説明するフローチャートである。It is a flowchart explaining an example of control of the gripping apparatus of Example 1. FIG. 実施例2の第二学習部が実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process executed by the 2nd learning part of Example 2. 実施例2の第二学習部が実行する第二学習処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the 2nd learning process executed by the 2nd learning part of Example 2. FIG. 実施例3の計算機システムの構成例を示す図である。It is a figure which shows the configuration example of the computer system of Example 3. 実施例3の第一学習部が実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process executed by the 1st learning part of Example 3. FIG. 実施例3の第二学習部が実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process executed by the 2nd learning part of Example 3. FIG.

まず、本発明の概要について説明する。本発明では、GAN(Generative Adversarial Networks)を応用して、把持装置の制御アルゴリズム(モデル)を学習する。GANでは、画像を生成するGeneratorと、Generatorによって生成された画像であるか否かを識別するDiscriminatorとがそれぞれ学習される。 First, the outline of the present invention will be described. In the present invention, a control algorithm (model) of a gripping device is learned by applying GAN (Generative Adversarial Networks). In GAN, a Generator that generates an image and a Discriminator that identifies whether or not the image is generated by the Generator are learned.

本発明の計算機システムは、任意の把持点で任意の形状の物体を把持できる確率(把持成功確率)を算出する確率モデルと、任意の形状の物体の形状に関する情報を含む物体データを生成する物体データ生成モデルとをそれぞれ学習する。 The computer system of the present invention is an object that generates object data including information on the shape of an object of an arbitrary shape and a probability model that calculates the probability of gripping an object of an arbitrary shape at an arbitrary gripping point (grasping success probability). Learn each with a data generation model.

確率モデルの学習では、物体データ生成モデルによって生成された物体データを用いて、任意の形状の物体の把持成功確率の最大値が閾値(目標確率)より大きくなるように確率モデルが学習される。これによって、様々な形状の物体を把持するための確率モデルを効率的に学習できる。 In the learning of the probability model, the probability model is trained so that the maximum value of the gripping success probability of an object of an arbitrary shape becomes larger than the threshold value (target probability) by using the object data generated by the object data generation model. This makes it possible to efficiently learn a probabilistic model for grasping objects having various shapes.

物体データ生成モデルの学習では、目標確率及び把持成功確率の最大値の差が小さくなるように物体データ生成モデルが学習される。すなわち、確率モデルの学習の進捗状態に合わせるように物体データ生成モデルが更新される。これによって、把持成功確率が目標確率と近くなるような物体データを効率的に生成できる。したがって、より効率的な確率モデルの学習を実現できる。 In the learning of the object data generation model, the object data generation model is learned so that the difference between the maximum values of the target probability and the gripping success probability becomes small. That is, the object data generation model is updated so as to match the progress of learning of the probability model. As a result, it is possible to efficiently generate object data such that the gripping success probability is close to the target probability. Therefore, more efficient learning of the probabilistic model can be realized.

以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 Hereinafter, examples of the present invention will be described with reference to the drawings. However, the present invention is not construed as being limited to the contents of the examples shown below. It is easily understood by those skilled in the art that a specific configuration thereof can be changed without departing from the idea or purpose of the present invention.

以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。 In the configurations of the invention described below, the same or similar configurations or functions are designated by the same reference numerals, and duplicate description will be omitted.

本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。 The notations such as "first", "second", and "third" in the present specification and the like are attached to identify the components, and do not necessarily limit the number or order.

図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。 The position, size, shape, range, etc. of each configuration shown in the drawings and the like 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 position, size, shape, range, 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 the computer system of the first embodiment. FIG. 2 is a diagram showing an example of a model to be learned according to the first embodiment. FIG. 3 is a diagram showing a hardware configuration of the computer 100 of the first embodiment.

まず、図2を用いて、実施例1の計算機システムが学習するモデルについて説明する。 First, the model learned by the computer system of the first embodiment will be described with reference to FIG.

倉庫及び工場等の作業空間において、把持装置200が物体210の把持作業を行う。把持装置200は、制御装置201及びアーム202から構成される。なお、把持装置200は、カメラ等のセンサ、並びに、タイヤ及びモータ等の移動装置を有してもよい。 The gripping device 200 grips the object 210 in a work space such as a warehouse or a factory. The gripping device 200 includes a control device 201 and an arm 202. The gripping device 200 may include a sensor such as a camera and a moving device such as a tire and a motor.

制御装置201は、把持装置200全体を制御する。制御装置201には、図示しないコントローラ及び駆動装置等が含まれる。アーム202は、制御装置201による制御に従って物体を把持する。アーム202は、力覚センサ及び触覚センサ等を有してもよい。なお、本発明は、アーム202の形態に限定されない。物体210を把持できる形態であればどのような形態でもよい。 The control device 201 controls the entire gripping device 200. The control device 201 includes a controller, a drive device, and the like (not shown). The arm 202 grips the object according to the control by the control device 201. The arm 202 may have a force sensor, a tactile sensor, and the like. The present invention is not limited to the form of the arm 202. Any form may be used as long as the object 210 can be gripped.

ここで、把持装置200の把持作業における処理の概要について説明する。 Here, the outline of the processing in the gripping work of the gripping device 200 will be described.

制御装置201は、センサ等から物体210が存在する空間の画像を取得する。制御装置201は、確率モデルに基づいて、物体210の把持点220を選択する。ここで、把持点220は、例えば、アーム202が物体210を把持する位置の基準となる座標である。 The control device 201 acquires an image of the space in which the object 210 exists from a sensor or the like. The control device 201 selects the gripping point 220 of the object 210 based on the stochastic model. Here, the gripping point 220 is, for example, the coordinates that serve as a reference for the position where the arm 202 grips the object 210.

制御装置201は、把持点220への軌道計画を生成する。ここで、軌道計画は、アーム202を把持点220まで移動させるためのアーム202及び把持装置200の移動軌道に関する情報である。 The control device 201 generates a trajectory plan to the grip point 220. Here, the trajectory plan is information on the moving trajectory of the arm 202 and the gripping device 200 for moving the arm 202 to the gripping point 220.

制御装置201は、軌道計画に基づいて、把持装置200の動作を制御するための制御情報を生成し、出力する。把持装置200は、制御情報に基づいて、アーム202が把持点220において物体210を把持するように動く。 The control device 201 generates and outputs control information for controlling the operation of the gripping device 200 based on the trajectory plan. The gripping device 200 moves so that the arm 202 grips the object 210 at the gripping point 220 based on the control information.

実施例1の計算機システムは、把持装置200が物体を把持するための制御アルゴリズムである確率モデルを生成するための学習処理を実行する。図1の説明に戻る。 The computer system of the first embodiment executes a learning process for generating a probabilistic model, which is a control algorithm for the gripping device 200 to grip an object. Returning to the description of FIG.

計算機システムは、複数の計算機100−1、100−2から構成される。各計算機100−1、100−2は、直接又はネットワークを介して互いに接続される。 The computer system is composed of a plurality of computers 100-1 and 100-2. The computers 100-1 and 100-2 are connected to each other either directly or via a network.

計算機100−1は、任意の把持点220で任意の形状の物体210を把持できる確率(把持成功確率)を算出する確率モデルを生成するための学習処理を実行する。 The computer 100-1 executes a learning process for generating a probability model for calculating the probability that an object 210 having an arbitrary shape can be gripped at an arbitrary gripping point 220 (grasping success probability).

確率モデルは、物体210の形状に関する情報を含む物体データ及び把持点220を含む入力データから把持成功確率を算出するモデルである。なお、計算機100−1は、物体データそのものを確率モデルに入力してもよいし、VAE(Variational AutoEncoder)等を用いて抽出された物体データの特徴量を確率モデルに入力してもよい。 The probability model is a model for calculating the gripping success probability from the object data including the information about the shape of the object 210 and the input data including the gripping point 220. The computer 100-1 may input the object data itself into the probability model, or may input the feature amount of the object data extracted by using VAE (Variational AutoEncoder) or the like into the probability model.

計算機100−2は、学習用物体データ170を生成する物体データ生成モデルを生成するための学習処理を実行する。計算機100−2には、学習用物体データ170を生成するために用いる基準物体データ101が入力される。基準物体データ101は、基準となる物体に関するデータである。基準物体データ101及び学習用物体データ170は、例えば、ポリゴンメッシュをレンダリングすることによって生成された画像データである。 The computer 100-2 executes a learning process for generating an object data generation model that generates the object data 170 for learning. Reference object data 101 used for generating learning object data 170 is input to the computer 100-2. The reference object data 101 is data relating to a reference object. The reference object data 101 and the learning object data 170 are, for example, image data generated by rendering a polygon mesh.

物体データ生成モデルは、基準物体データ101を入力データとして受け付けて、学習用物体データ170を生成するモデルである。 The object data generation model is a model that accepts the reference object data 101 as input data and generates the learning object data 170.

ここで、図3を用いて計算機100−1、100−2のハードウェア構成について説明する。図3では、計算機100−1のハードウェア構成を説明する。なお、計算機100−2のハードウェア構成は計算機100−1と同一である。 Here, the hardware configurations of the computers 100-1 and 100-2 will be described with reference to FIG. FIG. 3 describes the hardware configuration of the computer 100-1. The hardware configuration of computer 100-2 is the same as that of computer 100-1.

計算機100−1は、プロセッサ300、主記憶装置301、副記憶装置302、ネットワークインタフェース303、及びIOインタフェース304を有する。各ハードウェアは内部バスを介して互いに接続される。 The computer 100-1 has a processor 300, a main storage device 301, a sub storage device 302, a network interface 303, and an IO interface 304. Each piece of hardware is connected to each other via an internal bus.

なお、図2に示す計算機100−1のハードウェア構成は一例であってこれに限定されない。例えば、計算機100−1は、図示しないハードウェアを有してもよいし、副記憶装置302及びIOインタフェース304等の一部のハードウェアを有していなくてもよい。 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 sub storage device 302 and the IO interface 304.

プロセッサ300は、主記憶装置301に格納されるプログラムを実行する。プロセッサ300がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ300が当該モジュールを実現するプログラムを実行していることを示す。 The processor 300 executes a program stored in the main storage device 301. When the processor 300 executes processing according to a program, it operates as a functional unit (module) that realizes a specific function. In the following description, when the process is described with the functional unit as the subject, it is shown that the processor 300 is executing the program that realizes the module.

主記憶装置301は、DRAM(Dynamic Random Access Memory)等の記憶装置であり、プロセッサ300が実行するプログラム及びプログラムが使用する情報を格納する。また、主記憶装置301は、プログラムが使用するワークエリアとしても用いられる。計算機100−1、100−2の主記憶装置301に格納されるプログラム及び情報については後述する。 The main storage device 301 is a storage device such as a DRAM (Dynamic Random Access Memory), and stores a program executed by the processor 300 and information used by the program. The main storage device 301 is also used as a work area used by the program. The programs and information stored in the main storage devices 301 of the computers 100-1 and 100-2 will be described later.

なお、プログラム及び情報は副記憶装置302等、主記憶装置301以外のデバイス又は装置に格納されてもよい。この場合、プロセッサ300が、デバイス又は装置からプログラム及び情報を読み出し、主記憶装置301にロードする。 The program and information may be stored in a device or device other than the main storage device 301, such as the sub storage device 302. In this case, the processor 300 reads the program and information from the device or device and loads it into the main storage device 301.

副記憶装置302は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置であり、データを永続的に格納する。 The sub-storage device 302 is a storage device such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), and permanently stores data.

ネットワークインタフェース303は、ネットワーク310を介して端末320等の外部装置と通信するためのインタフェースである。 The network interface 303 is an interface for communicating with an external device such as a terminal 320 via the network 310.

IOインタフェース304は、入力装置330及び出力装置331等に接続するためのインタフェースである。なお、入力装置330は、キーボード、マウス、及びタッチパネル等であり、出力装置331は、ディスプレイ及びプリンタ等である。 The IO interface 304 is an interface for connecting to the input device 330, the output device 331, and the like. The input device 330 is a keyboard, a mouse, a touch panel, and the like, and the output device 331 is a display, a printer, and the like.

図1の説明に戻る。次に、計算機100−1、100−2の主記憶装置301に格納されるプログラム及び情報について説明する。 Returning to the description of FIG. Next, the programs and information stored in the main storage devices 301 of the computers 100-1 and 100-2 will be described.

計算機100−1の主記憶装置301は、第一学習部110を実現するプログラム及び確率モデル管理情報130を格納する。 The main storage device 301 of the computer 100-1 stores the program that realizes the first learning unit 110 and the probability model management information 130.

確率モデル管理情報130は、確率モデルを管理するための情報である。確率モデル管理情報130は、少なくとも確率モデルを定義するパラメタを含む。確率モデル管理情報130には、確率モデルの構造等に関する情報が含まれてもよい。例えば、確率モデルがニューラルネットワークである場合、確率モデル管理情報130には、階層の構造等に関する情報が含まれてよい。 The probability model management information 130 is information for managing the probability model. The probabilistic model management information 130 includes at least parameters that define the probabilistic model. The probability model management information 130 may include information regarding the structure of the probability model and the like. For example, when the probability model is a neural network, the probability model management information 130 may include information regarding the structure of the hierarchy and the like.

第一学習部110は、確率モデルを生成するための学習処理(第一学習処理)を実行する。第一学習部110は、把持確率算出部111、パラメタ更新部112、及びシミュレーション部113を含む。 The first learning unit 110 executes a learning process (first learning process) for generating a probability model. The first learning unit 110 includes a gripping probability calculation unit 111, a parameter update unit 112, and a simulation unit 113.

把持確率算出部111は、把持点及び物体データの組と、確率モデル管理情報130によって定義される確率モデルとに基づいて、把持点における物体の把持成功確率を算出する。パラメタ更新部112は、確率モデルを定義するパラメタを更新する。すなわち、パラメタ更新部112は確率モデルを更新する。 The gripping probability calculation unit 111 calculates the gripping success probability of the object at the gripping point based on the set of the gripping point and the object data and the probability model defined by the probability model management information 130. The parameter update unit 112 updates the parameters that define the probability model. That is, the parameter update unit 112 updates the probability model.

シミュレーション部113は、学習用物体データ170を用いたシミュレーションを実行することによって学習データ150及び確率データ160を生成する。シミュレーションは、例えば、物理シミュレーションが考えられる。ここで、学習データ150は、学習用物体データ170及び把持点(座標)を含む。確率データ160は、把持点及び把持成功確率を含む。 The simulation unit 113 generates the learning data 150 and the probability data 160 by executing the simulation using the learning object data 170. As the simulation, for example, a physical simulation can be considered. Here, the learning data 150 includes the learning object data 170 and the gripping points (coordinates). The probability data 160 includes a gripping point and a gripping success probability.

計算機100−2の主記憶装置301は、第二学習部120を実現するプログラム及び物体データ生成モデル管理情報140を格納する。 The main storage device 301 of the computer 100-2 stores the program for realizing the second learning unit 120 and the object data generation model management information 140.

物体データ生成モデル管理情報140は、物体データ生成モデルを管理するための情報である。物体データ生成モデル管理情報140は、少なくとも物体データ生成モデルを定義するパラメタを含む。物体データ生成モデル管理情報140には、物体データ生成モデルの構造等に関する情報が含まれてもよい。例えば、物体データ生成モデルがニューラルネットワークである場合、物体データ生成モデル管理情報140には、階層の構造等に関する情報が含まれてよい。 The object data generation model management information 140 is information for managing the object data generation model. The object data generation model management information 140 includes at least parameters that define the object data generation model. The object data generation model management information 140 may include information regarding the structure of the object data generation model and the like. For example, when the object data generation model is a neural network, the object data generation model management information 140 may include information regarding the structure of the hierarchy and the like.

第二学習部120は、物体データ生成モデルを生成するための学習処理(第二学習処理)を実行する。第二学習部120は、物体データ生成部121、パラメタ更新部122、及び把持点データ生成部123を含む。 The second learning unit 120 executes a learning process (second learning process) for generating an object data generation model. The second learning unit 120 includes an object data generation unit 121, a parameter update unit 122, and a grip point data generation unit 123.

物体データ生成部121は、基準物体データ101と、物体データ生成モデル管理情報140によって定義される物体データ生成モデルとに基づいて学習用物体データ170を生成する。物体データ生成部121は、内部で、自身の生成したデータも含めた繰り返し処理により学習用物体データ170を生成してもよい。パラメタ更新部122は、物体データ生成モデルを定義するパラメタを更新する。すなわち、パラメタ更新部122は物体データ生成モデルを更新する。 The object data generation unit 121 generates learning object data 170 based on the reference object data 101 and the object data generation model defined by the object data generation model management information 140. The object data generation unit 121 may internally generate the learning object data 170 by iterative processing including the data generated by itself. The parameter update unit 122 updates the parameters that define the object data generation model. That is, the parameter update unit 122 updates the object data generation model.

把持点データ生成部123は、学習用物体データ170に対応する物体の把持点を決定し、学習用物体データ170及び把持点を含む評価用入力データ180を生成する。 The gripping point data generation unit 123 determines the gripping point of the object corresponding to the learning object data 170, and generates the learning object data 170 and the evaluation input data 180 including the gripping point.

なお、計算機100−1、100−2が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。また、一つの計算機上で稼働する仮想計算機を用いて各機能部を実現してもよい。 Regarding each of the functional units of 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 a plurality of functional units for each function. Good. Further, each functional unit may be realized by using a virtual computer running on one computer.

なお、第一学習部110の一部の機能部が第二学習部120に含まれてもよいし、第二学習部120の一部の機能部が第一学習部110に含まれてもよい。例えば、第二学習部120がシミュレーション部113を含んでもよい。 A part of the functional units of the first learning unit 110 may be included in the second learning unit 120, or a part of the functional units of the second learning unit 120 may be included in the first learning unit 110. .. For example, the second learning unit 120 may include the simulation unit 113.

なお、図1の実線は、第一学習処理におけるデータの入出力を示し、図1の点線は、第二学習処理におけるデータの入出力を示す。本明細書では、第一学習処理及び第二学習処理が循環するように実行されることを敵対的学習と記載する。 The solid line in FIG. 1 indicates the input / output of data in the first learning process, and the dotted line in FIG. 1 indicates the input / output of data in the second learning process. In this specification, it is described as hostile learning that the first learning process and the second learning process are executed in a circular manner.

図4は、実施例1の計算機システムによって提示される設定画面400の一例を示す図である。 FIG. 4 is a diagram showing an example of the setting screen 400 presented by the computer system of the first embodiment.

設定画面400は、第一学習部110及び第二学習部120が実行する学習処理に必要な設定を行うための画面であり、端末320又は出力装置331に表示される。なお、設定画面400は、第一学習部110及び第二学習部120のどちらが提示してもよい。また、第一学習部110及び第二学習部120とは異なる機能部が設定画面400を提示してもよい。 The setting screen 400 is a screen for making settings necessary for the learning process executed by the first learning unit 110 and the second learning unit 120, and is displayed on the terminal 320 or the output device 331. The setting screen 400 may be presented by either the first learning unit 110 or the second learning unit 120. Further, a functional unit different from the first learning unit 110 and the second learning unit 120 may present the setting screen 400.

設定画面400は、基準物体データ欄401、確率モデル欄402、物体データ生成モデル欄403、学習回数欄404、学習回数欄405、目標確率欄406、設定ボタン410、及び開始ボタン411を含む。 The setting screen 400 includes a reference object data column 401, a probability model column 402, an object data generation model column 403, a learning count column 404, a learning count column 405, a target probability column 406, a setting button 410, and a start button 411.

基準物体データ欄401は、第二学習部120に入力する基準物体データ101を設定する欄である。確率モデル欄402は、確率モデルを格納する確率モデル管理情報130を設定する欄である。物体データ生成モデル欄403は、物体データ生成モデルを格納する物体データ生成モデル管理情報140を設定する欄である。 The reference object data field 401 is a field for setting the reference object data 101 to be input to the second learning unit 120. The probability model column 402 is a column for setting the probability model management information 130 for storing the probability model. The object data generation model column 403 is a column for setting the object data generation model management information 140 for storing the object data generation model.

基準物体データ欄401、確率モデル欄402、及び物体データ生成モデル欄403には、例えば、ファイルパス等が設定される。 For example, a file path or the like is set in the reference object data column 401, the probability model column 402, and the object data generation model column 403.

学習回数欄404は、確率モデルの更新回数の上限値(学習回数の上限値)を設定する欄である。学習回数欄405は、物体データ生成モデルの更新回数の上限値(学習回数の上限値)を設定する欄である。目標確率欄406は、目標確率を設定する欄である。 The learning number column 404 is a column for setting an upper limit value (upper limit value of the learning number) of the update number of the probability model. The learning number column 405 is a column for setting an upper limit value (upper limit value of the learning number) of the update number of the object data generation model. The target probability column 406 is a column for setting the target probability.

設定ボタン410は、計算機100−1、100−2に、各欄に設定された値を設定するための操作ボタンである。ユーザが設定ボタン410を操作した場合、各欄に設定された値を含む設定指示が計算機システムに送信される。 The setting button 410 is an operation button for setting the values set in each column on the computers 100-1 and 100-2. When the user operates the setting button 410, a setting instruction including the values set in each field is transmitted to the computer system.

このとき、第一学習部110は、初期の確率モデルを確率モデル管理情報130に登録し、学習回数欄404及び目標確率欄406に設定された値をワークエリアに格納する。また、第二学習部120は、初期の物体データ生成モデルを物体データ生成モデル管理情報140に登録し、基準物体データ101及び目標確率欄406に設定された値をワークエリアに格納する。 At this time, the first learning unit 110 registers the initial probability model in the probability model management information 130, and stores the values set in the learning number of times column 404 and the target probability column 406 in the work area. Further, the second learning unit 120 registers the initial object data generation model in the object data generation model management information 140, and stores the values set in the reference object data 101 and the target probability column 406 in the work area.

開始ボタン411は、計算機システムに学習開始指示を入力するための操作ボタンである。当該学習開始指示は、計算機100−1及び計算機100−2のいずれかに送信される。 The start button 411 is an operation button for inputting a learning start instruction to the computer system. The learning start instruction is transmitted to either computer 100-1 or computer 100-2.

図5は、実施例1の第一学習部110が実行する処理の一例を説明するフローチャートである。 FIG. 5 is a flowchart illustrating an example of processing executed by the first learning unit 110 of the first embodiment.

第一学習部110は、学習開始指示を受信した場合、以下で説明する処理を開始する。学習開始指示は、入力装置330、端末320、又は第二学習部120から送信される。なお、入力装置330及び端末320は、設定画面400を介して学習開始指示を送信する。 When the first learning unit 110 receives the learning start instruction, the first learning unit 110 starts the process described below. The learning start instruction is transmitted from the input device 330, the terminal 320, or the second learning unit 120. The input device 330 and the terminal 320 transmit a learning start instruction via the setting screen 400.

まず、第一学習部110は、学習用物体データ170を取得する(ステップS101)。 First, the first learning unit 110 acquires the learning object data 170 (step S101).

具体的には、第一学習部110は、学習用物体データ170の生成指示を第二学習部120に送信する。第二学習部120の物体データ生成部121は、基準物体データ101及び物体データ生成モデル管理情報140に基づいて学習用物体データ170を生成し、第一学習部110に学習用物体データ170を送信する。 Specifically, the first learning unit 110 transmits an instruction to generate the learning object data 170 to the second learning unit 120. The object data generation unit 121 of the second learning unit 120 generates the learning object data 170 based on the reference object data 101 and the object data generation model management information 140, and transmits the learning object data 170 to the first learning unit 110. To do.

次に、第一学習部110は、取得した学習用物体データ170を用いて学習データ150及び確率データ160を生成する(ステップS102)。具体的には、以下のような処理が実行される。 Next, the first learning unit 110 generates learning data 150 and probability data 160 using the acquired learning object data 170 (step S102). Specifically, the following processing is executed.

シミュレーション部113は、仮想的な空間に、学習用物体データ170に対応する物体を配置する。仮想的な空間における物体の位置及び向き等は任意に設定される。シミュレーション部113は、物体の把持点を決定し、当該把持点を基準に物体を把持できるか否かをシミュレーションする。なお、シミュレーション部113は、同一の把持点について複数回シミュレーションを実行してもよい。 The simulation unit 113 arranges an object corresponding to the learning object data 170 in the virtual space. The position and orientation of the object in the virtual space can be set arbitrarily. The simulation unit 113 determines a gripping point of the object, and simulates whether or not the object can be gripped based on the gripping point. The simulation unit 113 may execute the simulation a plurality of times for the same gripping point.

シミュレーション部113は、学習用物体データ170及び把持点を含む学習データ150を生成し、把持確率算出部111に学習データ150を送信する。 The simulation unit 113 generates learning data 150 including the learning object data 170 and the gripping point, and transmits the learning data 150 to the gripping probability calculation unit 111.

シミュレーション部113は、シミュレーションの結果に基づいて、把持点毎の把持成功確率を算出する。以下の説明では、シミュレーション部113によって算出される把持成功確率を比較用確率とも記載する。 The simulation unit 113 calculates the gripping success probability for each gripping point based on the simulation result. In the following description, the gripping success probability calculated by the simulation unit 113 is also described as a comparison probability.

シミュレーション部113は、把持点及び比較用確率を含む確率データ160を生成し、パラメタ更新部112に確率データ160を送信する。以上がステップS102の処理の説明である。 The simulation unit 113 generates probability data 160 including a gripping point and a probability for comparison, and transmits the probability data 160 to the parameter update unit 112. The above is the description of the process of step S102.

次に、第一学習部110は、学習データ150及び確率データ160を用いて第一学習処理を実行する(ステップS103)。第一学習処理の詳細は図6を用いて後述する。 Next, the first learning unit 110 executes the first learning process using the learning data 150 and the probability data 160 (step S103). The details of the first learning process will be described later with reference to FIG.

次に、第一学習部110は、敵対的学習を終了するか否かを判定する(ステップS104)。 Next, the first learning unit 110 determines whether or not to end the hostile learning (step S104).

例えば、第一学習部110は、第一学習処理の実行回数が閾値より大きい場合、敵対的学習を終了すると判定する。 For example, the first learning unit 110 determines that the hostile learning ends when the number of executions of the first learning process is larger than the threshold value.

敵対的学習を継続すると判定された場合、第一学習部110は、第二学習部120に学習開始指示を送信し(ステップS105)、その後、処理を終了する。敵対的学習を終了すると判定された場合、第一学習部110は処理を終了する。 When it is determined that the hostile learning is to be continued, the first learning unit 110 transmits a learning start instruction to the second learning unit 120 (step S105), and then ends the process. When it is determined that the hostile learning is finished, the first learning unit 110 ends the process.

なお、シミュレーション部113は、物体データ、把持点、及びシミュレーションの結果の組を学習データ150として生成し、把持確率算出部111及びパラメタ更新部112に出力してもよい。 The simulation unit 113 may generate a set of object data, grip points, and simulation results as learning data 150 and output them to the grip probability calculation unit 111 and the parameter update unit 112.

図6は、実施例1の第一学習部110が実行する第一学習処理の一例を説明するフローチャートである。 FIG. 6 is a flowchart illustrating an example of the first learning process executed by the first learning unit 110 of the first embodiment.

把持確率算出部111は、学習データ150を確率モデルに入力することによって、任意の把持点における物体の把持成功確率を算出する(ステップS201)。把持確率算出部111は、各把持点の把持成功確率をパラメタ更新部112に送信する。 The gripping probability calculation unit 111 calculates the gripping success probability of the object at an arbitrary gripping point by inputting the learning data 150 into the probability model (step S201). The gripping probability calculation unit 111 transmits the gripping success probability of each gripping point to the parameter updating unit 112.

次に、パラメタ更新部112は、各把持点の把持成功確率及び比較用確率に基づいて確率モデルを更新する(ステップS202)。 Next, the parameter update unit 112 updates the probability model based on the gripping success probability and the comparison probability of each gripping point (step S202).

例えば、パラメタ更新部112は、各把持点の把持成功確率及び比較用確率の差が小さくなるように確率モデルを定義するパラメタ(確率モデル管理情報130)を更新する。 For example, the parameter updating unit 112 updates the parameter (probability model management information 130) that defines the probability model so that the difference between the gripping success probability and the comparison probability of each gripping point becomes small.

次に、パラメタ更新部112は、確率モデルの学習を終了するか否かを判定する(ステップS203)。 Next, the parameter update unit 112 determines whether or not to end the learning of the probability model (step S203).

例えば、確率モデルの更新回数が学習回数欄404の値より大きい場合、パラメタ更新部112は確率モデルの学習を終了すると判定する。また、パラメタ更新部112は、テスト用入力データを把持確率算出部111に入力し、把持確率算出部111より出力された把持成功確率の最大値が目標確率より大きい場合、確率モデルの学習を終了すると判定する。 For example, when the update count of the probability model is larger than the value in the learning count column 404, the parameter update unit 112 determines that the learning of the probability model is completed. Further, the parameter update unit 112 inputs the test input data to the grip probability calculation unit 111, and ends the learning of the probability model when the maximum value of the grip success probability output from the grip probability calculation unit 111 is larger than the target probability. Then it is determined.

確率モデルの学習を継続すると判定された場合、第一学習部110は、ステップS201に戻り、同様の処理を実行する。確率モデルの学習を終了すると判定された場合、第一学習部110は第一学習処理を終了する。 If it is determined that the learning of the probabilistic model is to be continued, the first learning unit 110 returns to step S201 and executes the same process. When it is determined that the learning of the probabilistic model is finished, the first learning unit 110 ends the first learning process.

図7は、実施例1の第二学習部120が実行する処理の一例を説明するフローチャートである。 FIG. 7 is a flowchart illustrating an example of processing executed by the second learning unit 120 of the first embodiment.

第二学習部120は、学習開始指示を受信した場合、以下で説明する処理を開始する。学習開始指示は、入力装置330、端末320、又は第一学習部110から送信される。 When the second learning unit 120 receives the learning start instruction, the second learning unit 120 starts the process described below. The learning start instruction is transmitted from the input device 330, the terminal 320, or the first learning unit 110.

まず、第二学習部120は、評価用入力データ180を生成する(ステップS301)。具体的には、以下のような処理が実行される。 First, the second learning unit 120 generates the evaluation input data 180 (step S301). Specifically, the following processing is executed.

物体データ生成部121は、基準物体データ101及び物体データ生成モデルに基づいて、任意の形状の物体のポリゴンメッシュを生成する。物体データ生成部121は、ポリゴンメッシュをレンダリングすることによって画像データを生成する。物体データ生成部121は、画像データを含む学習用物体データ170を生成し、把持点データ生成部123に送信する。 The object data generation unit 121 generates a polygon mesh of an object having an arbitrary shape based on the reference object data 101 and the object data generation model. The object data generation unit 121 generates image data by rendering a polygon mesh. The object data generation unit 121 generates learning object data 170 including image data and transmits it to the gripping point data generation unit 123.

レンダリングの手法としては例えば非特許文献1に記載の手法を用いる。なお、本発明は、レンダリングの手法に限定されない。 As a rendering method, for example, the method described in Non-Patent Document 1 is used. The present invention is not limited to the rendering method.

把持点データ生成部123は、学習用物体データ170に対応する物体の複数の把持点を決定し、学習用物体データ170及び把持点を含む評価用入力データ180を生成する。なお、学習用物体データ170及び一つの把持点の組に対して一つの評価用入力データ180が生成される。以上がステップS301の処理の説明である。 The gripping point data generation unit 123 determines a plurality of gripping points of the object corresponding to the learning object data 170, and generates the learning object data 170 and the evaluation input data 180 including the gripping points. In addition, one evaluation input data 180 is generated for a set of learning object data 170 and one gripping point. The above is the description of the process of step S301.

次に、第二学習部120は、評価用入力データ180を第一学習部110に送信し、参照用確率データ190を取得する(ステップS302)。 Next, the second learning unit 120 transmits the evaluation input data 180 to the first learning unit 110, and acquires the reference probability data 190 (step S302).

第一学習部110の把持確率算出部111は、評価用入力データ180を受信した場合、各把持点における物体の把持成功確率を算出し、算出された把持成功確率を含む参照用確率データ190を第二学習部120に送信する。一つの評価用入力データ180に対して一つの参照用確率データ190が生成される。 When the gripping probability calculation unit 111 of the first learning unit 110 receives the evaluation input data 180, it calculates the gripping success probability of the object at each gripping point, and obtains the reference probability data 190 including the calculated gripping success probability. It is transmitted to the second learning unit 120. One reference probability data 190 is generated for one evaluation input data 180.

次に、第二学習部120は、第二学習処理を実行する(ステップS303)。第二学習処理の詳細は図8を用いて後述する。 Next, the second learning unit 120 executes the second learning process (step S303). The details of the second learning process will be described later with reference to FIG.

次に、第二学習部120は、敵対的学習を終了するか否かを判定する(ステップS304)。 Next, the second learning unit 120 determines whether or not to end the hostile learning (step S304).

例えば、第二学習部120は、第二学習処理の実行回数が閾値より大きい場合、敵対的学習を終了すると判定する。 For example, the second learning unit 120 determines that the hostile learning ends when the number of executions of the second learning process is larger than the threshold value.

敵対的学習を終了すると判定された場合、第二学習部120は処理を終了する。 When it is determined that the hostile learning is finished, the second learning unit 120 ends the process.

敵対的学習を継続すると判定された場合、第二学習部120は、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。 When it is determined that the hostile learning is continued, the second learning unit 120 transmits a learning start instruction to the first learning unit 110 (step S305). After that, the second learning unit 120 ends the process.

図8は、実施例1の第二学習部120が実行する第二学習処理の一例を説明するフローチャートである。 FIG. 8 is a flowchart illustrating an example of the second learning process executed by the second learning unit 120 of the first embodiment.

パラメタ更新部122は、各把持点の把持成功確率及び目標確率に基づいて物体データ生成モデルを更新する(ステップS401)。 The parameter update unit 122 updates the object data generation model based on the gripping success probability and the target probability of each gripping point (step S401).

具体的には、パラメタ更新部122は、把持成功確率の最大値及び目標確率の差が小さくなるように物体データ生成モデルを定義するパラメタ(物体データ生成モデル管理情報140)を更新する。例えば、ランダムに物体データ生成モデルを定義するパラメタ(物体データ生成モデル管理情報140)を更新してもよいし、ユーザが手動でパラメタを更新してもよい。なお、前述した更新方法は一例であってこれに限定されない。このように物体データ生成モデルを更新することによって、確率モデルから出力される把持成功確率の最大値が目標確率と近くなるような物体データを効率的に生成することができる。 Specifically, the parameter updating unit 122 updates the parameter (object data generation model management information 140) that defines the object data generation model so that the difference between the maximum value of the gripping success probability and the target probability becomes small. For example, the parameter that defines the object data generation model at random (object data generation model management information 140) may be updated, or the user may manually update the parameter. The above-mentioned update method is an example and is not limited to this. By updating the object data generation model in this way, it is possible to efficiently generate object data such that the maximum value of the gripping success probability output from the probability model is close to the target probability.

次に、パラメタ更新部122は、確率モデルの学習を終了するか否かを判定する(ステップS402)。 Next, the parameter update unit 122 determines whether or not to end the learning of the probabilistic model (step S402).

例えば、物体データ生成モデルの更新回数が学習回数欄405の値より大きい場合、パラメタ更新部122は物体データ生成モデルの学習を終了すると判定する。また、パラメタ更新部122は、テスト用入力データを把持確率算出部111に入力し、把持確率算出部111より出力された把持成功確率の最大値が目標確率より大きい場合、確率モデルの学習を終了すると判定する。 For example, when the update count of the object data generation model is larger than the value in the learning count column 405, the parameter update unit 122 determines that the learning of the object data generation model is completed. Further, the parameter update unit 122 inputs the test input data to the gripping probability calculation unit 111, and ends the learning of the probability model when the maximum value of the gripping success probability output from the gripping probability calculation unit 111 is larger than the target probability. Then it is determined.

物体データ生成モデルの学習を継続すると判定された場合、第二学習部120は、ステップS401に戻り、同様の処理を実行する。物体データ生成モデルの学習を終了すると判定された場合、第二学習部120は第二学習処理を終了する。 When it is determined that the learning of the object data generation model is continued, the second learning unit 120 returns to step S401 and executes the same process. When it is determined that the learning of the object data generation model is finished, the second learning unit 120 ends the second learning process.

次に、確率モデルに基づく把持装置200の制御の一例を説明する。図9は、実施例1の把持装置200の制御の一例を説明するフローチャートである。 Next, an example of control of the gripping device 200 based on the probability model will be described. FIG. 9 is a flowchart illustrating an example of control of the gripping device 200 of the first embodiment.

制御装置201は、物体210が存在する空間(作業空間)の画像データを取得する(ステップS501)。 The control device 201 acquires image data of the space (working space) in which the object 210 exists (step S501).

次に、制御装置201は、画像データ及び確率モデルを用いて、対象空間における把持成功確率の分布を算出する(ステップS502)。 Next, the control device 201 calculates the distribution of the gripping success probability in the target space by using the image data and the probability model (step S502).

具体的には、制御装置201は、画像データ及び座標を確率モデルに入力し、各座標の把持成功確率を算出する。制御装置201は、公知の画像処理を用いて、画像データに含まれる物体を抽出する処理等を実行してもよい。 Specifically, the control device 201 inputs the image data and the coordinates into the probability model, and calculates the gripping success probability of each coordinate. The control device 201 may execute a process of extracting an object included in the image data or the like by using a known image process.

次に、制御装置201は、作業空間における把持成功確率の分布に基づいて、物体210の把持点を決定し、決定された把持点の軌道計画を生成する(ステップS503)。 Next, the control device 201 determines the gripping point of the object 210 based on the distribution of the gripping success probability in the work space, and generates a trajectory plan of the determined gripping point (step S503).

次に、制御装置201は、軌道計画に基づいてアーム202を制御する(ステップS504)。これによって、把持装置200が物体210を把持する。 Next, the control device 201 controls the arm 202 based on the trajectory plan (step S504). As a result, the gripping device 200 grips the object 210.

以上で説明したように、実施例1によれば、第一学習処理において、物体データ生成モデルに基づいて生成された物体データを用いることによって様々な形状の物体を把持するための確率モデルを生成できる。また、把持成功確率の最大値及び目標確率の差に基づいて物体データ生成モデルを更新することによって、把持成功確率の最大値が目標確率と近くなるような物体データを効率的に生成できる。これによって、より効率的な確率モデルの学習を実現できる。 As described above, according to the first embodiment, in the first learning process, a stochastic model for grasping an object having various shapes is generated by using the object data generated based on the object data generation model. it can. Further, 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 the object data so that the maximum value of the gripping success probability is close to the target probability. As a result, more efficient learning of the probabilistic model can be realized.

実施例2では、第二学習部120が実行する処理が一部異なる。以下、実施例1との差異を中心に実施例2について説明する。 In the second embodiment, the processing executed by the second learning unit 120 is partially different. Hereinafter, Example 2 will be described with a focus on the differences from Example 1.

実施例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 computer 100 is the same as that of the first embodiment. The software configuration of the computer 100 of the second embodiment is the same as that of the first embodiment.

ただし、実施例2の第二学習部120は進捗フラグを管理する。進捗フラグには、「0」、「1」、「2」のいずれかが設定される。進捗フラグの初期値は「0」に設定されているものとする。「1」は確率モデルの学習が停滞している状態を示し、「2」は確率モデルの学習が進捗している状態を示す。「0」は、前述のいずれにも該当しない状態を示す。 However, the second learning unit 120 of the second embodiment manages the progress flag. One of "0", "1", and "2" is set in the progress flag. It is assumed that the initial value of the progress flag is set to "0". “1” indicates a state in which the learning of the probabilistic model is stagnant, and “2” indicates a state in which the learning of the probabilistic model is in progress. “0” indicates a state that does not correspond to any of the above.

実施例2では、確率モデルの学習の進捗状況に応じて第二学習処理の学習を調整する。これによって、効率的な確率モデルの学習を実現できる。 In the second embodiment, the learning of the second learning process is adjusted according to the progress of the learning of the probabilistic model. As a result, efficient learning of the probabilistic model can be realized.

実施例2の第一学習部110が実行する処理は実施例1と同一である。実施例2では、第二学習部120が実行する処理が一部異なる。図10は、実施例2の第二学習部120が実行する処理の一例を説明するフローチャートである。 The process executed by the first learning unit 110 of the second embodiment is the same as that of the first embodiment. In the second embodiment, the processing executed by the second learning unit 120 is partially different. FIG. 10 is a flowchart illustrating an example of processing executed by the second learning unit 120 of the second embodiment.

ステップS301、ステップS302の処理は実施例1と同一である。ステップS302の処理が実行された後、第二学習部120は、確率モデルの学習が停滞しているか否かを判定する(ステップS351)。判定方法としては以下のような方法が考えられる。 The processing of steps S301 and S302 is the same as that of the first embodiment. After the process of step S302 is executed, the second learning unit 120 determines whether or not the learning of the probabilistic model is stagnant (step S351). The following methods can be considered as the determination method.

(判定方法1)第二学習部120は、各把持点の把持成功確率から把持成功確率の平均値を算出し、当該平均値が閾値より小さいか否かを判定する。把持成功確率の平均値が閾値より小さい場合、第二学習部120は確率モデルの学習が停滞していると判定する。なお、平均値以外の統計値を用いてもよい。 (Determination Method 1) The second learning unit 120 calculates the average value of the gripping success probability from the gripping success probability of each gripping point, and determines whether or not the average value is smaller than the threshold value. When the average value of the gripping success probability is smaller than the threshold value, the second learning unit 120 determines that the learning of the probability model is stagnant. Note that statistical values other than the average value may be used.

(判定方法2)第二学習部120は、把持成功確率の最大値を履歴として管理し、前回の最大値及び今回の最大値に基づいて変化率を算出する。第二学習部120は、把持成功確率の最大値及び目標確率の差が第一閾値より小さく、かつ、変化率が第二閾値より小さいか否かを判定する。前述の条件を満たす場合、第二学習部120は、確率モデルの学習が停滞していると判定する。 (Determination method 2) The second learning unit 120 manages the maximum value of the gripping success probability as a history, and calculates the rate of change based on the previous maximum value and the current maximum value. The second learning unit 120 determines whether or not the difference between the maximum value of the gripping success probability and the target probability is smaller than the first threshold value and the rate of change is smaller than the second threshold value. When the above conditions are satisfied, the second learning unit 120 determines that the learning of the probabilistic model is stagnant.

確率モデルの学習が停滞していると判定された場合、第二学習部120は、進捗フラグに「1」を設定し(ステップS352)、第二学習処理を実行する(ステップS303)。 When it is determined that the learning of the probabilistic model is stagnant, the second learning unit 120 sets the progress flag to "1" (step S352) and executes the second learning process (step S303).

確率モデルの学習が停滞していないと判定された場合、第二学習部120は、第二学習処理を実行する(ステップS303)。 When it is determined that the learning of the probabilistic model is not stagnant, the second learning unit 120 executes the second learning process (step S303).

ステップS304において敵対的学習を終了しないと判定された場合、第二学習部120は、確率モデルの学習が進捗しているか否かを判定する(ステップS353)。 When it is determined in step S304 that the hostile learning is not completed, the second learning unit 120 determines whether or not the learning of the probabilistic model is progressing (step S353).

例えば、第二学習部120は、把持成功確率の最大値が目標確率より大きくなる回数が閾値より大きい場合、確率モデルの学習が進捗していると判定する。 For example, the second learning unit 120 determines that the learning of the probability model is progressing when the number of times that the maximum value of the gripping success probability becomes larger than the target probability is larger than the threshold value.

確率モデルの学習が進捗していないと判定された場合、第二学習部120は、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。 When it is determined that the learning of the probabilistic model is not progressing, the second learning unit 120 transmits a learning start instruction to the first learning unit 110 (step S305). After that, the second learning unit 120 ends the process.

確率モデルの学習が進捗していると判定された場合、第二学習部120は、進捗フラグに「2」を設定し(ステップS354)、第一学習部110に学習開始指示を送信する(ステップS305)。その後、第二学習部120は処理を終了する。 When it is determined that the learning of the probabilistic model is progressing, the second learning unit 120 sets the progress flag to "2" (step S354) and transmits a learning start instruction to the first learning unit 110 (step). S305). After that, the second learning unit 120 ends the process.

実施例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 second learning unit 120 of the second embodiment.

第二学習部120は、進捗フラグが「0」であるか否かを判定する(ステップS451)。 The second learning unit 120 determines whether or not the progress flag is “0” (step S451).

進捗フラグが「0」であると判定された場合、第二学習部120は、ステップS453に進む。 If it is determined that the progress flag is "0", the second learning unit 120 proceeds to step S453.

進捗フラグが「0」でないと判定された場合、第二学習部120は、目標範囲を更新する(ステップS452)。 When it is determined that the progress flag is not "0", the second learning unit 120 updates the target range (step S452).

具体的には、第二学習部120は変数α及び変数βを変更する。変数α及び変数βは、基準物体と、更新後の物体データ生成モデルに基づいて生成された物体との間の類似度の範囲を指定するための変数である。なお、第二学習部120は、変数α及び変数βの初期値を保持しているものとする。変数α及び変数βの初期値は設定画面400を介して設定されてもよい。 Specifically, the second learning unit 120 changes the variable α and the variable β. The variable α and the variable β are variables for designating the range of similarity between the reference object and the object generated based on the updated object data generation model. It is assumed that the second learning unit 120 holds the initial values of the variable α and the variable β. The initial values of the variable α and the variable β may be set via the setting screen 400.

第二学習部120は、把持成功確率の最大値及び目標確率の差に基づいて、変数α、βを更新する。具体的には以下のように設定される。 The second learning unit 120 updates the variables α and β based on the difference between the maximum value of the gripping success probability and the target probability. Specifically, it is set as follows.

進捗フラグが「1」である場合、第二学習部120は、当該差に基づいて、前回の変数α、βより大きな値を設定する。これによって、更新前の物体データ生成モデルに基づいて生成された物体より、基準物体からの変化量が小さい物体の物体データが生成されるように物体データ生成モデルを更新できる。 When the progress flag is "1", the second learning unit 120 sets a value larger than the previous variables α and β based on the difference. As a result, the object data generation model can be updated so that the object data of the object whose change amount from the reference object is smaller than that of the object generated based on the object data generation model before the update is generated.

進捗フラグが「2」である場合、第二学習部120は、当該差に基づいて、前回の変数α、βより小さい値を設定する。これによって、更新前の物体データ生成モデルに基づいて生成された物体より、基準物体からの変化量が大きい物体の物体データが生成されるように物体データ生成モデルを更新できる。 When the progress flag is "2", the second learning unit 120 sets values smaller than the previous variables α and β based on the difference. As a result, the object data generation model can be updated so that the object data of the object whose amount of change from the reference object is larger than that of the object generated based on the object data generation model before the update is generated.

前述のような処理を実行することによって、把持成功確率の最大値及び目標確率の差を、物体データ生成モデルの更新に伝搬させることができる。以上がステップS452の処理の説明である。 By executing the above-mentioned processing, the difference between the maximum value of the gripping success probability and the target probability can be propagated to the update of the object data generation model. The above is the description of the process of step S452.

ステップS453では、第二学習部120は、目標範囲を設定する(ステップS453)。 In step S453, the second learning unit 120 sets the target range (step S453).

次に、パラメタ更新部122は、物体データ生成モデルを更新する(ステップS454)。物体データ生成モデルの更新方法は実施例1と同一である。 Next, the parameter update unit 122 updates the object data generation model (step S454). The method of updating the object data generation model is the same as that of the first embodiment.

次に、物体データ生成部121は、更新後の物体データ生成モデルに基づいて、学習用物体データ170を生成する(ステップS455)。 Next, the object data generation unit 121 generates the learning object data 170 based on the updated object data generation model (step S455).

次に、パラメタ更新部122は、基準物体と学習用物体データ170に対応する物体との間の類似度を算出する(ステップS456)。 Next, the parameter update unit 122 calculates the degree of similarity between the reference object and the object corresponding to the learning object data 170 (step S456).

次に、パラメタ更新部122は、物体データ生成モデルの学習を終了するか否かを判定する(ステップS457)。具体的には、以下のような処理が実行される。 Next, the parameter update unit 122 determines whether or not to end the learning of the object data generation model (step S457). Specifically, the following processing is executed.

パラメタ更新部122は、類似度が目標範囲内であるか否かを判定する。具体的には、パラメタ更新部122は、類似度が変数α以上、かつ、変数β以下であるか否かを判定する。類似度が目標範囲内である場合、パラメタ更新部122は、物体データ生成モデルの学習を終了すると判定する。 The parameter update unit 122 determines whether or not the similarity is within the target range. Specifically, the parameter update unit 122 determines whether or not the similarity is equal to or greater than the variable α and equal to or less than the variable β. When the similarity is within the target range, the parameter update unit 122 determines that the learning of the object data generation model is completed.

類似度が目標範囲外であると判定された場合、パラメタ更新部122は、物体データ生成モデルの更新回数が学習回数欄405の値より大きいか否かを判定する。 When it is determined that the similarity is out of the target range, the parameter update unit 122 determines whether or not the update count of the object data generation model is larger than the value in the learning count column 405.

物体データ生成モデルの更新回数が学習回数欄405の値より大きい場合、パラメタ更新部122は、物体データ生成モデルの学習を終了すると判定する。物体データ生成モデルの更新回数が学習回数欄405の値以下であると判定された場合、パラメタ更新部122は、物体データ生成モデルの学習を継続すると判定する。以上がステップS457の処理の説明である。 When the update count of the object data generation model is larger than the value in the learning count column 405, the parameter update unit 122 determines that the learning of the object data generation model is completed. When it is determined that the update count of the object data generation model is equal to or less than the value in the learning count column 405, the parameter update unit 122 determines that the learning of the object data generation model is continued. The above is the description of the process of step S457.

物体データ生成モデルの学習を継続すると判定された場合、第二学習部120は、ステップS454に戻り、同様の処理を実行する。 When it is determined that the learning of the object data generation model is continued, the second learning unit 120 returns to step S454 and executes the same process.

物体データ生成モデルの学習を終了すると判定された場合、第二学習部120は、進捗フラグに「0」を設定し(ステップS458)、その後、第二学習処理を終了する。 When it is determined that the learning of the object data generation model is finished, the second learning unit 120 sets the progress flag to "0" (step S458), and then ends the second learning process.

変数αの値又は変数βを小さくした場合、基準物体からの変化量が大きい物体の物体データを生成する物体データ生成モデルに更新される。変数α又は変数βを大きくした場合、基準物体からの変化量が小さい物体の物体データを生成する物体データ生成モデルに更新される。 When the value of the variable α or the variable β is reduced, the object data generation model is updated to generate the object data of the object having 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 the object data of the object whose change amount from the reference object is small.

変数βを調整は、物体の多様性を調整することに対応する。変数αを調整は、変化量が非常に大きい物体の生成を抑止することに対応する。目標範囲の幅の調整は、物体データ生成モデルの変化量の調整に対応する。 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. The adjustment of the width of the target range corresponds to the adjustment of the amount of change in the object data generation model.

複雑な形状の物体の物体データを学習データとして入力した場合、確率モデルの学習が停滞する可能性がある。そこで、実施例2の計算機システムは、確率モデルの学習が停滞している場合、簡易な形状の物体が生成されるように物体データ生成モデルを更新する。すなわち、基準物体からの形状の変化量が更新前の物体データ生成モデルから生成された物体より小さくなるように、物体データ生成モデルが更新される。簡易な形状の物体の物体データを入力することによって、確率モデルの学習の停滞を防止できる。 When the object data of an object having a complicated shape is input as the learning data, the learning of the probabilistic model may be stagnant. Therefore, the computer system of the second embodiment updates the object data generation model so that an object having a simple shape is generated when the learning of the probability model is stagnant. That is, the object data generation model is updated so that the amount of change in shape from the reference object is smaller than the object generated from the object data generation model before the update. By inputting the object data of an object having a simple shape, it is possible to prevent the learning of the probabilistic model from stagnation.

一方、確率モデルの学習が進捗している場合、第二学習部120は、より複雑な形状の物体が生成されるように物体データ生成モデルを更新する。すなわち、基準物体からの形状の変化量が更新前の物体データ生成モデルから生成された物体より大きくなるように、物体データ生成モデルが更新される。これによって、より複雑な形状の物体を把持するための確率モデルを効率的に生成することができる。 On the other hand, when the learning of the probabilistic model is progressing, the second learning unit 120 updates the object data generation model so that an object having a more complicated shape is generated. That is, the object data generation model is updated so that the amount of change in shape from the reference object is larger than that of the object generated from the object data generation model before the update. This makes it possible to efficiently generate a probabilistic model for grasping an object having a more complicated shape.

実施例2によれば、確率モデルの学習の停滞を防止し、かつ、効率的な学習を実現できる。 According to the second embodiment, it is possible to prevent the learning of the probabilistic model from stagnation 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 first learning unit 110 executes the re-learning process of the probability model based on the instruction of the second learning unit 120. Hereinafter, the third embodiment will be described with a focus on the differences from the first embodiment.

図12は、実施例3の計算機システムの構成例を示す図である。 FIG. 12 is a diagram showing a configuration example of the computer system of 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 computer 100 is the same as that of the first embodiment. The software configuration of the computer 100-2 of the third embodiment is the same as that of the first embodiment.

実施例3では、計算機100−1の主記憶装置301に履歴管理情報1200が格納される。その他の構成は実施例1と同一である。 In the third embodiment, the history management information 1200 is stored in the main storage device 301 of the computer 100-1. Other configurations are the same as in the first embodiment.

履歴管理情報1200は、確率モデル管理情報130の履歴を管理するための情報である。履歴管理情報1200では、確率モデル管理情報130及び更新日時が対応づけて管理される。 The history management information 1200 is information for managing the history of the probability model management information 130. In the history management information 1200, the probability model management information 130 and the update date and time are managed in association with each other.

実施例3では、第一学習部110及び第二学習部120が実行する処理が一部異なる。 In the third embodiment, the processes executed by the first learning unit 110 and the second learning unit 120 are partially different.

図13は、実施例3の第一学習部110が実行する処理の一例を説明するフローチャートである。 FIG. 13 is a flowchart illustrating an example of processing executed by the first learning unit 110 of the third embodiment.

第一学習部110は、受信した指示が再学習開始指示であるか否かを判定する(ステップS151)。 The first learning unit 110 determines whether or not the received instruction is a re-learning start instruction (step S151).

受信した指示が学習開始指示であると判定された場合、第一学習部110はステップS101に進む。 If it is determined that the received instruction is a learning start instruction, the first learning unit 110 proceeds to step S101.

受信した指示が再学習開始指示であると判定された場合、第一学習部110のパラメタ更新部112は、履歴管理情報1200に格納される履歴に基づいて確率モデルを更新する(ステップS152)。その後、第一学習部110はステップS101に進む。 When it is determined that the received instruction is the re-learning start instruction, the parameter update unit 112 of the first learning unit 110 updates the probability model based on the history stored in the history management information 1200 (step S152). After that, the first learning unit 110 proceeds to step S101.

例えば、パラメタ更新部112は、更新日時が最も新しい確率モデルの履歴を読出し、確率モデルを更新する。なお、前述の更新方法は一例であって、これに限定されない。例えば、一定期間前の確率モデルの履歴に基づいて確率モデルが更新されてもよい。 For example, the parameter update unit 112 reads the history of the probability model having the latest update date and time, and updates the probability model. The above-mentioned update method is an example, and is not limited to this. For example, the probability model may be updated based on the history of the probability model before a certain period.

実施例3のステップS101からステップS105までの処理は実施例1と同一である。 The processing from step S101 to step S105 of Example 3 is the same as that of Example 1.

図14は、実施例3の第二学習部120が実行する処理の一例を説明するフローチャートである。 FIG. 14 is a flowchart illustrating an example of processing executed by the second learning unit 120 of the third embodiment.

実施例1のステップS301からステップS302、ステップS303からステップS305の処理は実施例1の処理と同一である。ステップS351の処理は実施例2の処理と同一である。 The processes of steps S301 to S302 and steps S303 to S305 of the first embodiment are the same as the processes of the first embodiment. The process of step S351 is the same as the process of the second embodiment.

ステップS351において、確率モデルの学習が停滞していないと判定された場合、第二学習部120はステップS303に進む。 If it is determined in step S351 that the learning of the probability model is not stagnant, the second learning unit 120 proceeds to step S303.

ステップS351において、確率モデルの学習が停滞していると判定された場合、第二学習部120は第一学習部110に再学習開始指示を出力する(ステップS361)。その後、第二学習部120は処理を終了する。 When it is determined in step S351 that the learning of the stochastic model is stagnant, the second learning unit 120 outputs a re-learning start instruction to the first learning unit 110 (step S361). After that, the second learning unit 120 ends the process.

実施例3によれば、確率モデルの学習が停滞している場合、第一学習部110は、過去の確率モデルに戻した上で学習処理を実行する。これによって、学習の停滞を回避することができる。 According to the third embodiment, when the learning of the probabilistic model is stagnant, the first learning unit 110 returns to the past probabilistic model and executes the learning process. As a result, learning stagnation can be avoided.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 The present invention is not limited to the above-mentioned examples, and includes various modifications. Further, for example, the above-described embodiment describes the configuration in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. Further, it is possible to add, delete, or replace a part of the configuration of each embodiment with other configurations.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、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 by designing a part or all of them by, for example, an integrated circuit. The present invention can also be realized by a program code of software that realizes the functions of the examples. In this case, a storage medium in which the program code is recorded is provided to the computer, and the 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 realizes the functions of the above-described embodiment, and the program code itself and the storage medium storing the program code itself constitute the present invention. Examples of the storage medium for supplying such a program code include a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, and a magnetic tape. Non-volatile memory cards, ROMs, etc. are used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。 In addition, the program code that realizes the functions described in this embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Python, and Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Further, by distributing the program code of the software that realizes the functions of the examples via the network, it is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or a CD-R. , The 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 embodiment, the control lines and information lines show what is considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in 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 Computer 101 Reference object data 110 First learning unit 111 Gripping probability calculation unit 112, 122 Parameter updating unit 113 Simulation unit 120 Second learning unit 121 Object data generation unit 123 Gripping point data generation unit 130 Probability model management information 140 Object data generation Model management information 150 Learning data 160 Probability data 170 Learning object data 180 Evaluation input data 190 Reference probability data 200 Gripping device 201 Control device 202 Arm 210 Object 220 Gripping point 300 Processor 301 Main storage device 302 Sub storage device 303 Network interface 304 IO interface 310 Network 320 Terminal 330 Input device 331 Output device 400 Setting screen 1200 History management information

Claims (8)

把持装置が物体を把持するための制御アルゴリズムを学習する計算機システムであって、
前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機を備え、
前記少なくとも一つの計算機は、
前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理と、
基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理と、を実行し、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成し、
前記第一物体の把持点を決定し、
前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力し、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新することを特徴とする計算機システム。
A computer system in which a gripping device learns a control algorithm for gripping an object.
The computer system includes an arithmetic unit and at least one computer having a storage device connected to the arithmetic unit.
The at least one computer
Output the gripping success probability of the object by using the object data including the information about the shape of the object, the gripping point which is the reference of the gripping position of the object, and the learning data including the information indicating the success or failure of gripping the object. First learning process to generate the first model to be
The second learning process for generating the second model that outputs the object data of the object whose shape of the reference object is deformed is executed.
The at least one computer is used in the second learning process.
Based on the second model, the object data of the first object obtained by deforming the shape of the reference object is generated.
The gripping point of the first object is determined,
The object data of the first object and a plurality of sets of grip points of the first object are input to the first model.
A computer system characterized in that the second model is updated based on the difference between the maximum value of the gripping success probability of the first object and the target probability output from the first model.
請求項1に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第一モデルの学習が停滞している場合、前記基準物体からの形状の変化量が前記第一物体より小さい物体の前記物体データが生成されるように前記第二モデルを更新し、
前記第一モデルの学習が進捗している場合、前記基準物体からの形状の変化量が前記第一物体より大きい物体の前記物体データが生成されるように前記第二モデルを更新することを特徴とする計算機システム。
The computer system according to claim 1.
The at least one computer is used in the second learning process.
When the learning of the first model is stagnant, the second model is updated so that the object data of the object whose shape change amount from the reference object is smaller than that of the first object is generated.
When the learning of the first model is progressing, the second model is updated so that the object data of the object whose shape change from the reference object is larger than that of the first object is generated. Computer system.
請求項2に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第二モデルに基づいて生成された前記物体データに対応する物体の形状と前記基準物体の形状との間の類似度の目標範囲を設定し、
前記第一物体の把持成功確率の最大値及び前記目標確率の差が小さくなり、かつ、前記更新された第二モデルに基づいて生成された前記物体データに対応する第二物体の形状と前記基準物体の形状との間の類似度が前記目標範囲内になるように前記第二モデルを更新することを特徴とする計算機システム。
The computer system according to claim 2.
The at least one computer is used in the second learning process.
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 is set.
The difference between the maximum value of the gripping success probability of the first object and the target probability becomes small, and the shape and reference of the second object corresponding to the object data generated based on the updated second model. A computer system characterized in that the second model is updated so that the degree of similarity with the shape of an object is within the target range.
請求項1に記載の計算機システムであって、
前記第一モデルの更新履歴を管理するための履歴管理情報を保持し、
前記少なくとも一つの計算機は、前記第二学習処理において、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値が目標確率以下である場合、前記第一物体の把持成功確率の統計値及び前記第一物体の把持成功確率の最大値の変化量のいずれかを評価値として算出し、
前記評価値に基づいて、前記第一モデルの学習が停滞しているか否かを判定し、
前記第一モデルの学習が停滞していると判定された場合、前記履歴管理情報を用いて、前記第一モデルを更新することを特徴とする計算機システム。
The computer system according to claim 1.
Holds history management information for managing the update history of the first model,
The at least one computer is used in the second learning process.
When the maximum value of the gripping success probability of the first object output from the first model is equal to or less than the target probability, the statistical value of the gripping success probability of the first object and the maximum value of the gripping success probability of the first object. Calculate one of the changes in the value as an evaluation value,
Based on the evaluation value, it is determined whether or not the learning of the first model is stagnant.
A computer system characterized in that when it is determined that learning of the first model is stagnant, the first model is updated using the history management information.
把持装置が物体を把持するための制御アルゴリズムを学習する計算機システムが実行する機械学習方法であって、
前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機から構成され、
前記機械学習方法は、
前記少なくとも一つの計算機が、前記物体の形状に関する情報を含む物体データ、当該物体を把持する位置の基準となる把持点、及び前記物体の把持の成否を示す情報を含む学習データを用いて、当該物体の把持成功確率を出力する第一モデルを生成するための第一学習処理を実行するステップと、
基準物体の前記物体データに基づいて、前記基準物体の形状を変形させた物体の前記物体データを出力する第二モデルを生成するための第二学習処理を実行するステップと、を含み、
前記第二学習処理は、
前記少なくとも一つの計算機が、前記第二モデルに基づいて、前記基準物体の形状を変形した第一物体の前記物体データを生成する第1のステップと、
前記少なくとも一つの計算機が、前記第一物体の把持点を決定する第2のステップと、
前記少なくとも一つの計算機が、前記第一物体の物体データ及び前記第一物体の把持点の複数の組を前記第一モデルに入力する第3のステップと、
前記第一モデルより出力された前記第一物体の把持成功確率の最大値及び目標確率の差に基づいて、前記第二モデルを更新する第4のステップと、を含むことを特徴とする機械学習方法。
A machine learning method performed by a computer system that learns a control algorithm for a gripping device to grip an object.
The computer system is composed of an arithmetic unit and at least one computer having a storage device connected to the arithmetic unit.
The machine learning method is
The at least one computer uses object data including information on the shape of the object, a gripping point as a reference of a position for gripping the object, and learning data including information indicating success or failure of gripping the object. The step of executing the first learning process for generating the first model that outputs the gripping success probability of the object,
A step of executing a second learning process for generating a second model for outputting the object data of an object whose shape of the reference object is deformed based on the object data of the reference object is included.
The second learning process is
A first step in which the at least one computer generates the object data of the 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 computer determines the gripping point of the first object,
A third step in which the at least one computer inputs the object data of the first object and a plurality of sets of grip points of the first object into the first model.
Machine learning comprising 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 and the target probability output from the first model. Method.
請求項5に記載の機械学習方法であって、
前記第4のステップは、
前記第一モデルの学習が停滞している場合、前記少なくとも一つの計算機が、前記基準物体からの形状の変化量が前記第一物体より小さい物体の前記物体データが生成されるように前記第二モデルを更新するステップと、
前記第一モデルの学習が進捗している場合、前記少なくとも一つの計算機が、前記基準物体からの形状の変化量が前記第一物体より大きい物体の前記物体データが生成されるように前記第二モデルを更新するステップと、を含むことを特徴とする機械学習方法。
The machine learning method according to claim 5.
The fourth step is
When the learning of the first model is stagnant, the second is such that at least one computer generates the object data of an object whose shape change amount from the reference object is smaller than that of the first object. Steps to update the model and
When the learning of the first model is in progress, the second is such that at least one computer generates the object data of an object whose shape change from the reference object is larger than that of the first object. A machine learning method characterized by including steps to update the model.
請求項6に記載の機械学習方法であって、
前記第4のステップは、
前記少なくとも一つの計算機が、前記第二モデルに基づいて生成された前記物体データに対応する物体の形状と前記基準物体の形状との間の類似度の目標範囲を設定するステップと、
前記少なくとも一つの計算機が、前記第一物体の把持成功確率の最大値及び前記目標確率の差が小さくなり、かつ、前記更新された第二モデルに基づいて生成された前記物体データに対応する第二物体の形状と前記基準物体の形状との間の類似度が前記目標範囲内になるように前記第二モデルを更新するステップと、を含むことを特徴とする機械学習方法。
The machine learning method according to claim 6.
The fourth step is
A step in which the at least one computer sets a target range of similarity between the shape of an object corresponding to the object data generated based on the second model and the shape of the reference object.
The at least one computer makes a difference between the maximum value of the gripping success probability of the first object and the target probability small, and corresponds to the object data generated based on the updated second model. (Ii) A machine learning method comprising a step of updating the second model so that the similarity between the shape of the object and the shape of the reference object is within the target range.
請求項5に記載の機械学習方法であって、
前記計算機システムは、前記第一モデルの更新履歴を管理するための履歴管理情報を保持し、
前記機械学習方法は、
前記少なくとも一つの計算機が、前記第一物体の把持成功確率の統計値及び前記第一物体の把持成功確率の最大値の変化量のいずれかを評価値として算出するステップと、
前記少なくとも一つの計算機が、前記評価値に基づいて、前記第一モデルの学習が停滞しているか否かを判定するステップと、
前記第一モデルの学習が停滞していると判定された場合、前記少なくとも一つの計算機が、前記履歴管理情報を用いて、前記第一モデルを更新するステップと、を含むことを特徴とする機械学習方法。
The machine learning method according to claim 5.
The computer system holds history management information for managing the update history of the first model.
The machine learning method is
A step in which the at least one computer calculates either a statistical value of the gripping success probability of the first object or a change amount of the maximum value of the gripping success probability of the first object as an evaluation value.
A step in which the at least one computer determines whether or not the learning of the first model is stagnant based on the evaluation value.
A machine characterized in that, when it is determined that the learning of the first model is stagnant, the at least one computer includes a step of updating the first model using the history management information. Learning method.
JP2019082488A 2019-04-24 2019-04-24 Computer system and machine learning method Active JP7179672B2 (en)

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 true JP2020179438A (en) 2020-11-05
JP7179672B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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
US11801847B1 (en) * 2017-04-12 2023-10-31 Hrl Laboratories, Llc Method for time series structure discovery

Also Published As

Publication number Publication date
JP7179672B2 (en) 2022-11-29

Similar Documents

Publication Publication Date Title
US11568327B2 (en) Method for generating universal learned model
JP2021073623A (en) Interactive 3d experience based on data
JP5768834B2 (en) Plant model management apparatus and method
JP2016100009A (en) Method for controlling operation of machine and control system for iteratively controlling operation of machine
JP6892424B2 (en) Hyperparameter tuning methods, devices and programs
CN107457780B (en) Method and device for controlling mechanical arm movement, storage medium and terminal equipment
JP6718500B2 (en) Optimization of output efficiency in production system
US10635078B2 (en) Simulation system, simulation method, and simulation program
US20190244133A1 (en) Learning apparatus and learning method
JP7058202B2 (en) Information processing method and information processing system
EP3656513A1 (en) Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations
WO2022103680A1 (en) Binocular pose prediction
WO2022103678A1 (en) Disambiguation of poses
JP7179672B2 (en) Computer system and machine learning method
JP7264845B2 (en) Control system and control method
WO2021186500A1 (en) Learning device, learning method, and recording medium
JP7382633B2 (en) Learning model construction device, learning model construction method, and computer program
JP6947029B2 (en) Control devices, information processing devices that use them, control methods, and computer programs
JP7196935B2 (en) Arithmetic device, action determination method, and control program
JPWO2019142728A1 (en) Controls, control methods and programs
CN114397817A (en) Network training method, robot control method, network training device, robot control device, equipment and storage medium
US11940787B2 (en) Control device, method, program, and system using machine learning technology
JP6659260B2 (en) Control device and machine learning device with PLC program optimization function
JP2021082014A (en) Estimation device, training device, estimation method, training method, program, and non-transitory computer readable medium
JP2020198135A (en) Hyper parameter tuning method, device and program

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