Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7504566B2 - Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device - Google Patents
[go: Go Back, main page]

JP7504566B2 - Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device - Google Patents

Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device Download PDF

Info

Publication number
JP7504566B2
JP7504566B2 JP2019130602A JP2019130602A JP7504566B2 JP 7504566 B2 JP7504566 B2 JP 7504566B2 JP 2019130602 A JP2019130602 A JP 2019130602A JP 2019130602 A JP2019130602 A JP 2019130602A JP 7504566 B2 JP7504566 B2 JP 7504566B2
Authority
JP
Japan
Prior art keywords
information processing
processing method
robot
virtual
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019130602A
Other languages
Japanese (ja)
Other versions
JP2021013996A (en
JP2021013996A5 (en
Inventor
明裕 小田
英勝 杉山
敬史 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019130602A priority Critical patent/JP7504566B2/en
Publication of JP2021013996A publication Critical patent/JP2021013996A/en
Publication of JP2021013996A5 publication Critical patent/JP2021013996A5/en
Application granted granted Critical
Publication of JP7504566B2 publication Critical patent/JP7504566B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、バラ積み状態の対象物の取り出しを行うロボットシステムの制御方法、物品の製造方法、生産システム、制御プログラム、記録媒体、およびロボットシステムに関する。 The present invention relates to a control method for a robot system that picks up objects in a bulk pile, a method for manufacturing an article, a production system, a control program, a recording medium, and a robot system.

従来より、部品が位置決めされておらず、トレーや平板上に乱雑に置かれた状態から部品の取り出しを行う、いわゆるバラ積み部品の取り出しを行う装置が知られている(例えば下記の特許文献1)。この種の取り出し装置は、例えば図17に示すように、広範囲の画像を取得する画像入力装置と、部品を取り出し所定の置き位置まで搬送するロボットマニピュレータなどにより構成される。 Conventionally, there have been known devices that pick up parts from a so-called bulk pile, where the parts are not positioned and are randomly placed on a tray or flat plate (see, for example, Patent Document 1 below). As shown in FIG. 17, for example, this type of pick-up device is composed of an image input device that captures images of a wide range, and a robot manipulator that picks up the parts and transports them to a specified placement position.

この種の取り出し装置において、部品の取り出しを確実に成功させるには、例えば予めロボットマニピュレータの手先の取り出しハンドが、部品のどの部分を保持すべきか決定しておく必要がある。これは、ハンドが部品の保持動作を行う際に、部品の形状に応じた適切な位置を保持していなければ、部品がハンドから脱落したり、他の部品と干渉したりするためである。最適な部品の保持位置については、予め、仮想空間上でシミュレーションを行うことにより決定することが考えられる。 To ensure successful part removal in this type of removal device, it is necessary to determine in advance, for example, which part of the part the removal hand at the end of the robot manipulator should hold. This is because, if the hand does not hold the part in an appropriate position according to the part's shape when holding it, the part may fall off the hand or interfere with other parts. It is possible to determine the optimal part holding position in advance by performing a simulation in a virtual space.

しかしながら、現実のロボットマニピュレータでは、取り出しハンドが部品を保持する際に、保持するための外力が部品に加わる。そのために、取り出ししようとする部品の姿勢が崩れ、ロボットマニピュレータが保持に失敗してしまうことがある。この点に関しては、例えば、下記の特許文献2などに示されるように、実際に部品を操作する期間において、部品の取り出しに失敗した時の動作条件を学習する機能をロボットマニピュレータに実装しておくことが考えられる。 However, in an actual robot manipulator, when the picking hand holds a part, an external force is applied to the part to hold it. This can cause the posture of the part to be picked to become distorted, and the robot manipulator may fail to hold it. In regard to this, as shown in, for example, Patent Document 2 below, it is conceivable to equip the robot manipulator with a function for learning the operating conditions when it fails to pick up a part during the period in which it actually operates the part.

特開平5-127722号公報Japanese Patent Application Laid-Open No. 5-127722 特開2017-64910号公報JP 2017-64910 A

しかしながら、上述の特許文献2では、対象物である部品の姿勢を崩さずに保持できる部品保持位置を全網羅的に探索するため、失敗してはリトライする動作を繰り返すことになる。これにより、部品操作、例えば一つの部品の取り出しに要する一連の処理時間(=サイクルタイム)が長くなる可能性がある。 However, in the above-mentioned Patent Document 2, a comprehensive search is performed for a part holding position that can hold the target part without changing its posture, which results in repeated failures and retries. This can result in a longer series of processing times (= cycle time) required for part manipulation, for example, picking up one part.

これは、現実にロボットマニピュレータを動作させて行う方式の機械学習に特有の問題で、取り出しに失敗した際に、次回以降類似のバラ積み状態のパターンに対し失敗した保持位置を回避するような学習しか行われていないためである。特許文献2の制御は、単に失敗した位置をランダムに回避する学習に過ぎない。例えば、特許文献2の制御では、どの保持位置に回避すれば、外力に拘らず部品の姿勢を崩さずに保持できるか、といった情報は与えられていない。 This is a problem specific to machine learning methods that actually operate a robot manipulator, because when a removal attempt fails, the only thing that is learned is to avoid the failed holding position for similar bulk pile patterns from the next time onwards. The control in Patent Document 2 is merely learning to randomly avoid failed positions. For example, the control in Patent Document 2 does not provide information such as which holding position should be avoided to hold the part without losing its posture regardless of external forces.

そこで、本発明の課題は、部品取り出し装置などの生産機器において、実際の稼動後、短時間で取り出し成功率を高めてリトライ動作の発生頻度を減らし、サイクルタイムの延長を短縮することができるようにすることにある。 The objective of the present invention is to increase the success rate of parts removal in a short time after actual operation in production equipment such as a parts removal device, reduce the frequency of retry operations, and shorten the extension of cycle time.

本発明の一つの態様は、ロボットによって対象物を保持する場合に用いる学習済みモデルを取得する情報処理方法であって、前記対象物を保持するために前記ロボットを前記対象物に接触させた場合における、当該接触によって前記対象物が移動する移動量に関する情報を、仮想環境でのシミュレーションにより取得し、前記対象物のそれぞれ異なる位置で接触させた場合に対応して取得した複数の前記移動量に関する情報に基づき機械学習することで前記学習済みモデルを取得する、ことを特徴とする情報処理方法である。
本発明の別の一つの態様は、ロボットによって対象物を保持する場合に用いる学習済みモデルを取得する情報処理装置であって、処理部が、前記対象物を保持するために前記ロボットを前記対象物に接触させた場合における、当該接触によって前記対象物が移動する移動量に関する情報を、仮想環境でのシミュレーションにより取得し、前記対象物のそれぞれ異なる位置で接触させた場合に対応して取得した複数の前記移動量に関する情報に基づき機械学習することで、前記学習済みモデルを取得する、ことを特徴とする情報処理装置である。
One aspect of the present invention is an information processing method for acquiring a trained model to be used when an object is held by a robot , the information processing method comprising the steps of: acquiring information regarding the amount of movement of the object caused by contacting the object with the robot in order to hold the object, by simulation in a virtual environment; and acquiring the trained model by machine learning based on information regarding a plurality of the amounts of movement acquired corresponding to contact at different positions on the object .
Another aspect of the present invention is an information processing device that acquires a trained model to be used when an object is held by a robot , wherein a processing unit acquires information regarding the amount of movement of the object caused by contacting the object with the robot in order to hold the object by simulating in a virtual environment, and acquires the trained model by performing machine learning based on information regarding a plurality of the amounts of movement acquired corresponding to contact at different positions on the object .

上記構成によれば、実動作のみで機械学習を行うのではなく、仮想環境を用いて実際の取り出し動作の保持位置候補の決定に利用する学習済みモデルを生成する。また、この学習済みモデルは、実動作の部品取り出しの成否に応じて再学習される。そのため、上記構成によれば、部品取り出し装置などの生産機器において、実際の稼動後、短時間で取り出し成功率を高めてリトライ動作の発生頻度を減らし、サイクルタイムの延長を短縮することができる。 According to the above configuration, instead of performing machine learning only on actual operations, a trained model is generated using a virtual environment to be used to determine candidate holding positions for actual picking operations. In addition, this trained model is retrained depending on whether or not the actual part picking operation is successful. Therefore, according to the above configuration, in production equipment such as a part picking device, it is possible to increase the picking success rate in a short time after actual operation, reduce the frequency of retry operations, and shorten the extension of cycle time.

本発明を採用した部品取り出し装置の機能的な構成を示したブロック図である。1 is a block diagram showing a functional configuration of a component picking device according to the present invention; 本発明を採用した部品取り出し装置の計算処理を示したフローチャート図である。FIG. 11 is a flowchart showing a calculation process of the component picking device according to the present invention. (A)はバラ積み部品の一例を示した説明図、(B)はバラ積み部品の配置例の説明図、(C)は部品外形と分割方法の一例を示した説明図、(D)はN=3の時のバラ積み部品の配置を示した説明図、(E)は保持位置候補の設定を示した説明図である。(A) is an explanatory diagram showing an example of bulk parts, (B) is an explanatory diagram showing an example of the arrangement of bulk parts, (C) is an explanatory diagram showing an example of the part outer shape and division method, (D) is an explanatory diagram showing the arrangement of bulk parts when N = 3, and (E) is an explanatory diagram showing the setting of candidate holding positions. (A)は仮想空間におけるバラ積み状態の一例の説明図、(B)は仮想空間における点群データの一例を示した説明図、(C)は画像データのトリミングの一例を示した説明図、(D)は仮想的な外力の付与の一例を示した説明図である。(A) is an explanatory diagram of an example of a bulk pile state in a virtual space, (B) is an explanatory diagram showing an example of point cloud data in a virtual space, (C) is an explanatory diagram showing an example of cropping of image data, and (D) is an explanatory diagram showing an example of the application of a virtual external force. (A)、(B)、(C)は吸着式、外径把持式、内径把持式における外力の付与態様を示した説明図である。13A, 13B, and 13C are explanatory diagrams showing the manner in which an external force is applied in a suction type, an outer diameter gripping type, and an inner diameter gripping type. (A)は1パターンの画像データに対する昇順ソート前後の保持位置候補のデータリストを示した説明図、(B)は全パターンの画像データに対する昇順ソート前後の保持位置候補のデータリストを示した説明図である。1A is an explanatory diagram showing a data list of storage position candidates before and after ascending sorting for one pattern of image data, and FIG. 1B is an explanatory diagram showing a data list of storage position candidates before and after ascending sorting for all patterns of image data. CNN(疊み込みニューラルネットワーク)の学習モデルの一例を示した説明図である。FIG. 1 is an explanatory diagram showing an example of a learning model of a CNN (Convolutional Neural Network). (A)は画像データの取得処理を示したフローチャート図、(B)は取り出し対象部品の決定手法を示した説明図である。FIG. 4A is a flowchart showing a process for acquiring image data, and FIG. 4B is an explanatory diagram showing a method for determining a part to be removed. CNN(疊み込みニューラルネットワーク)の予測モデルの一例を示した説明図である。FIG. 1 is an explanatory diagram showing an example of a CNN (Convolutional Neural Network) prediction model. 1パターンの画像データに対する保持位置候補の優先順位の変更処理の一例を示した説明図である。13 is an explanatory diagram showing an example of a process for changing the priority order of storage position candidates for one pattern of image data; FIG. 本発明を採用した異なる部品取り出し装置の機能的な構成を示したブロック図である。FIG. 2 is a block diagram showing a functional configuration of a different component picking device according to the present invention; 図11の構成における計算処理を示したフローチャート図である。FIG. 12 is a flowchart showing a calculation process in the configuration of FIG. 11 . (A)は図11の構成における判定値の計算方法を示した説明図、(B)は図11の構成における判定値を備えた画像データおよび保持位置候補のデータリストを示した説明図である。12A is an explanatory diagram showing a method of calculating a judgment value in the configuration of FIG. 11, and FIG. 12B is an explanatory diagram showing a data list of image data and holding position candidates having judgment values in the configuration of FIG. (A)は図11の構成におけるCNN(疊み込みニューラルネットワーク)の学習モデルの一例を示した説明図、(B)は図11の構成におけるCNN(疊み込みニューラルネットワーク)の予測モデルの一例を示した説明図である。12A is an explanatory diagram showing an example of a learning model of a CNN (convoluted neural network) in the configuration of FIG. 11 , and FIG. 12B is an explanatory diagram showing an example of a prediction model of a CNN (convoluted neural network) in the configuration of FIG. 11 . (A)は図11の構成における画像データの取得処理を示したフローチャート図、(B)は図11の構成における画像データのトリミングの一例を示した説明図である。12A is a flow chart showing the process of acquiring image data in the configuration of FIG. 11, and FIG. 12B is an explanatory diagram showing an example of trimming of image data in the configuration of FIG. 図11の構成における判定値の更新方法の一例を示した説明図である。FIG. 12 is an explanatory diagram showing an example of a method for updating a judgment value in the configuration of FIG. 11 . 本発明を採用した部品取り出し装置を利用して物品を製造する生産ラインの構成を示した説明図である。1 is an explanatory diagram showing the configuration of a production line for manufacturing articles using a part picking device according to the present invention; 図1、あるいは図11の計算部、学習部などを構成する制御系の一例を示したブロック図である。FIG. 12 is a block diagram showing an example of a control system constituting a calculation unit, a learning unit, etc. in FIG. 1 or FIG. 11.

以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 Below, a description will be given of an embodiment of the present invention with reference to the attached drawings. Note that the configuration shown below is merely an example, and those skilled in the art can appropriately change the detailed configuration, for example, without departing from the spirit of the present invention. Also, the numerical values used in this embodiment are for reference only and do not limit the present invention.

図1は、本実施形態に係るロボットシステム、特に部品取り出し装置1として構成されたロボットシステムの一実施形態を示す概略図である。部品取り出し装置1は、計算部100と学習部200と、実際の装置で部品の取り出しを行うロボットマニピュレータ11と、ロボットマニピュレータ11の部品取り出し結果を検出する取り出し結果検出部15により構成されている。計算部100は、仮想空間上で仮想のバラ積み状態の部品に対し、保持位置候補の優先順位づけを決定する機能を有する。学習部200は、計算部100で複数回試行した計算結果を元に、実際のバラ積み状態の部品からロボットマニピュレータ11が部品を取り出す際の部品保持位置の優先順位を決定する機能を有する。 Figure 1 is a schematic diagram showing an embodiment of a robot system according to this embodiment, in particular a robot system configured as a part picking device 1. The part picking device 1 is composed of a calculation unit 100, a learning unit 200, a robot manipulator 11 that picks parts in an actual device, and a picking result detection unit 15 that detects the part picking results of the robot manipulator 11. The calculation unit 100 has a function of determining the prioritization of candidate holding positions for virtual parts piled up in a virtual space. The learning unit 200 has a function of determining the prioritization of part holding positions when the robot manipulator 11 picks parts from the actual parts piled up, based on the calculation results of multiple trials performed by the calculation unit 100.

図1のロボットシステムのロボットマニピュレータ11は、例えば図17に示すような形態で、物品を生産する生産ライン(生産システム)に配置することができる。図17のロボットマニピュレータ11は、他のコンベヤなどの搬送手段(不図示)によって配送される。そして、平板(例えば部品供給トレイ)14上にランダムにバラ積みで積載された部品13を1つずつ取り出して、ヤトイ150(治具)上に配置し、他の生産機器により実行される製造工程に引き渡す。 The robot manipulator 11 of the robot system in FIG. 1 can be arranged in a production line (production system) for producing items, for example, in a form as shown in FIG. 17. The robot manipulator 11 in FIG. 17 is delivered by another transport means (not shown) such as a conveyor. Then, the parts 13 randomly piled on a flat plate (e.g., a parts supply tray) 14 are picked up one by one, placed on a jig 150, and handed over to a manufacturing process carried out by other production equipment.

ここで、図18に図1の計算部100、学習部200などを構成する制御系の具体的なハードウェア構成の一例を示しておく。同図のような制御系は、例えばいわゆるPCフォームの実装形態で実現できる。 Figure 18 shows an example of a specific hardware configuration of a control system that constitutes the calculation unit 100, learning unit 200, etc. in Figure 1. The control system shown in the figure can be realized, for example, in a so-called PC form implementation.

図18の制御系は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備えたPCハードウェアなどによって構成することができる。ROM1602には、本実施形態の制御手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、その制御手順を実行する時にCPU1601のワークエリアなどとして使用される。また、図18の制御系には、外部記憶装置1606が接続されている。外部記憶装置1606は、本発明の実施には必ずしも必要ではないが、HDDやSSD、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。 The control system of FIG. 18 can be configured with a CPU 1601 as a main control means, a ROM 1602 as a storage device, and PC hardware equipped with a RAM 1603. The ROM 1602 can store the control program and constant information of the CPU 1601 for implementing the control procedure of this embodiment. The RAM 1603 is used as a work area for the CPU 1601 when executing the control procedure. An external storage device 1606 is also connected to the control system of FIG. 18. The external storage device 1606 is not necessarily required for implementing the present invention, but can be configured with an HDD, SSD, or an external storage device of another system mounted on a network.

本実施形態の演算処理、例えば計算部100や学習部200の処理を実現するためのCPU1601の制御プログラムは、上記の外部記憶装置1606やROM1602(例えばEEPROM領域)のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1607(NIF)を介して、上記の各記憶部に供給し、また、新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのドライブ装置などを経由して、上記の各記憶部に供給し、また、その内容を更新することができる。本実施形態の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。 The control program of the CPU 1601 for implementing the arithmetic processing of this embodiment, for example, the processing of the calculation unit 100 and the learning unit 200, is stored in a storage unit such as the external storage device 1606 or the ROM 1602 (for example, an EEPROM area). In this case, the control program of the CPU 1601 for implementing the control procedure of this embodiment can be supplied to each of the above storage units via the network interface 1607 (NIF) and updated to a new (different) program. Alternatively, the control program of the CPU 1601 for implementing the control procedure described below can be supplied to each of the above storage units via various storage means such as magnetic disks, optical disks, and flash memories and their drive devices, and the contents can be updated. Various storage means, storage units, or storage devices in a state in which the control program of the CPU 1601 for implementing the control procedure of this embodiment is stored constitute a computer-readable recording medium storing the control procedure of the present invention.

ネットワークインターフェース1607は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。CPU1601は、ネットワークインターフェース1607を介して、他の装置1104とデータ通信することができる。この他の装置1104は、例えば、物品の製造に係るコントローラや統轄制御装置、あるいは他の管理サーバなどに相当する。図1のロボットマニピュレータ11や、生産ラインに配置された他の生産機器との通信も、ネットワークインターフェース1607を介して行うことができる。 The network interface 1607 can be configured using a communication standard for wired communication such as IEEE 802.3, or wireless communication such as IEEE 802.11 and 802.15. The CPU 1601 can communicate data with other devices 1104 via the network interface 1607. These other devices 1104 correspond to, for example, controllers or overall control devices related to the manufacture of goods, or other management servers. Communication with the robot manipulator 11 in FIG. 1 and other production equipment arranged on the production line can also be performed via the network interface 1607.

また、図18の制御装置は、ユーザインターフェース装置400(UI装置)を備える。ユーザインターフェース装置400としては、LCDディスプレイ、キーボード、ポインティングデバイス(マウス、ジョイスティックなど)などから成るGUI装置を配置してもよい。このようなユーザインターフェース装置400を介して、各種演算処理の進行状況をユーザに報知する、あるいは、後述の処理を制御する各種パラメータの設定などを行うことができる。また、このユーザインターフェース装置400は、後述の保持位置候補のユーザ指定や、各種ユーザ通知、あるいは処理の進行に関するユーザ指令の入力手段などとして用いることができる。 The control device in FIG. 18 also includes a user interface device 400 (UI device). The user interface device 400 may be a GUI device consisting of an LCD display, a keyboard, a pointing device (mouse, joystick, etc.), etc. Through this user interface device 400, the progress of various arithmetic processes can be notified to the user, or various parameters that control the processes described below can be set. The user interface device 400 can also be used as a means for the user to specify holding position candidates described below, for various user notifications, or for inputting user commands related to the progress of processes.

(計算部)
図2に仮想空間(仮想環境)で、計算部100が実行する、特定のバラ積み形態と、それに対応する部品の保持位置の優先順位を決定する処理の流れを示す。図2の処理では、まずステップS101で、仮想バラ積み状態生成部101により、仮想空間上で部品(仮想対象物)のバラ積み状態を生成する(仮想バラ積み状態生成工程)。
(Calculation section)
2 shows a process flow for determining a specific bin pile form and the priority of the corresponding part holding positions in a virtual space (virtual environment) executed by the calculation unit 100. In the process in Fig. 2, first, in step S101, the virtual bin pile state generation unit 101 generates a bin pile state of parts (virtual objects) in the virtual space (virtual bin pile state generation process).

この仮想空間で仮想対象物として生成される部品は、当然ながら実際の生産ラインでロボットマニピュレータ11が取り扱う対象物の部品に対応する。例えば、仮想空間で生成される仮想対象物としての部品と、現実の部品とは、同じ形状、サイズ、重量を有する。この仮想部品は、実際の生産処理においてロボットマニピュレータ11が取り扱う部品の設計データから、例えばCAD(Computer Aided Design)などを用いて生成することができる。仮想バラ積み状態のために生成する部品の個数Nは自由に設定することができる。以下では説明を容易にするため、主にN=2、即ち2個の部品のバラ積み状態を例に説明する。 Naturally, the parts generated as virtual objects in this virtual space correspond to parts of the objects handled by the robot manipulator 11 on the actual production line. For example, parts as virtual objects generated in the virtual space and real parts have the same shape, size, and weight. These virtual parts can be generated from design data of the parts handled by the robot manipulator 11 in the actual production process, for example, using CAD (Computer Aided Design). The number N of parts generated for the virtual bulk state can be freely set. For ease of explanation, the following will mainly be explained using an example where N=2, i.e., a bulk state of two parts.

ステップS101のバラ積み状態の生成では、図3(A)に示すように、実際に取り出しを行う部品と同じ形状、重量、材質の部品を仮想空間上で生成し、それぞれ固定部品130、および移動部品131とする。移動部品131は固定部品130の、上部に重ねて置かれた状態である。 In generating the bulk pile state in step S101, as shown in FIG. 3(A), parts with the same shape, weight, and material as the parts to be actually removed are generated in virtual space, and designated as fixed part 130 and movable part 131, respectively. Movable part 131 is placed on top of fixed part 130.

図3(B)に固定部品130、および移動部品131の配置関係を示す。固定部品130の重心位置G0は仮想空間の原点Oに配置され、移動部品131の重心位置G1は、固定部品130の重心位置G0から、Δx、Δyずらした位置で配置されている。この時Δx、Δyに対する拘束条件を下式(1)に示す。 Figure 3 (B) shows the relative positions of the fixed part 130 and the moving part 131. The center of gravity G0 of the fixed part 130 is located at the origin O of the virtual space, and the center of gravity G1 of the moving part 131 is located at a position shifted by Δx and Δy from the center of gravity G0 of the fixed part 130. In this case, the constraint conditions for Δx and Δy are shown in the following formula (1).

Figure 0007504566000001
Δx、Δyについては図3(C)に示すように、部品の外形に対しn分割、m分割した幅に基づき、下式(2)、(3)のように決定する。
Figure 0007504566000001
As shown in FIG. 3C, Δx and Δy are determined based on the width of the outer shape of the part divided into n and m, as shown in the following formulas (2) and (3).

Figure 0007504566000002
Figure 0007504566000002

Figure 0007504566000003
Figure 0007504566000003

上記表現に基づき、移動部品131の重心位置G1を(Δx、Δy)、(-Δx、Δy)、(Δx、-Δy)、(-Δx、-Δy)のように配置すると、全部でn×mパターンのバラ積み配置パターンを得ることができる。さらに、それぞれの配置において、移動部品131を図3(B)に示されるx-y平面上で下式(4)のように360度をk分割したΔθ分だけ回転させると、全部でn×m×kパターンのバラ積み配置パターンを得ることができる。例えば、n=10,m=10,k=12の場合は、全部で1200パターンのバラ積み配置パターンを得ることができる。 Based on the above expression, if the center of gravity position G1 of the moving part 131 is arranged as (Δx, Δy), (-Δx, Δy), (Δx, -Δy), (-Δx, -Δy), a total of n×m random pile arrangement patterns can be obtained. Furthermore, in each arrangement, if the moving part 131 is rotated by an amount Δθ obtained by dividing 360 degrees by k on the x-y plane shown in Figure 3(B) as shown in the following formula (4), a total of n×m×k random pile arrangement patterns can be obtained. For example, when n=10, m=10, k=12, a total of 1200 random pile arrangement patterns can be obtained.

Figure 0007504566000004
Figure 0007504566000004

以上のような演算処理によって、仮想バラ積み状態生成部101は部品の個数がN=3以上に関しても、同様の手法でバラ積み状態を生成することができる。例えばN=3の場合、そのバラ積み配置状態(パターン)は、図3(D)に示すように、移動部品131の上に更に移動部品132を配置して成る。この時、移動部品131を固定部品と見立てて、移動部品132を上述と同様の手法で移動させると、n×m×kを得ることができ、固定部品130と移動部品131の配置パターンと組み合わせると、合計(n×m×k)パターンの配置を得ることができる。もし、部品の個数がNであれば、再帰的に計算を繰り返すことになるため、配置パターンの数は下式(5)で示すように部品・パターン数の(N-1)乗になる。 By the above-mentioned calculation process, the virtual random pile state generating unit 101 can generate random pile states in the same manner even when the number of parts is N=3 or more. For example, when N=3, the random pile arrangement state (pattern) is formed by arranging a movable part 132 on top of a movable part 131 as shown in FIG. 3(D). In this case, if the movable part 131 is regarded as a fixed part and the movable part 132 is moved in the same manner as described above, n×m×k can be obtained, and when combined with the arrangement pattern of the fixed part 130 and the movable part 131, a total of (n×m×k) 2 patterns of arrangement can be obtained. If the number of parts is N, the calculation is repeated recursively, so the number of arrangement patterns is the (N-1)th power of the number of parts and patterns, as shown in the following formula (5).

Figure 0007504566000005
Figure 0007504566000005

次に、図2のステップS102では、部品保持位置候補生成部102により、ロボットマニピュレータ11(仮想ロボット)のハンド12が部品を保持する時の保持位置候補を出力する。図3(E)に示されるように、保持位置候補H1~H4は、ハンド12と部品の接触面が一定の面積以上となるように部品の表面に複数点設けられる。例えば、ハンド12に吸着パッド(吸着ヘッド)を用いる場合、吸着パッドと部品の面が間隙なく密着できる面を保持位置候補とする。吸着パッド(吸着ヘッド)による保持では、部品の凹凸面や透孔の位置は、吸着パッドと部品に間隙ができるため、保持位置候補として好ましくない。 Next, in step S102 of FIG. 2, the component holding position candidate generation unit 102 outputs holding position candidates when the hand 12 of the robot manipulator 11 (virtual robot) holds the component. As shown in FIG. 3(E), holding position candidates H1 to H4 are provided at multiple points on the surface of the component so that the contact surface between the hand 12 and the component is equal to or larger than a certain area. For example, when a suction pad (suction head) is used for the hand 12, the surface where the suction pad and the surface of the component can be in close contact with each other without any gaps is set as the holding position candidate. When holding with a suction pad (suction head), uneven surfaces of the component and positions of holes are not preferable as holding position candidates because gaps are created between the suction pad and the component.

これらの保持位置候補は、例えばハンド12の設計を行う際に設計者により決定され、部品保持位置候補生成部102はそれに基づき、保持位置候補を順次出力する。部品保持位置候補生成部102は、例えば、実際の対象物である部品の設計情報に基づき、その重心位置の周囲に、その対象物に対する複数の保持位置の候補を配置する。この保持位置の候補の生成の細部の態様は、下記のように任意である。 These holding position candidates are determined, for example, by a designer when designing the hand 12, and the part holding position candidate generation unit 102 sequentially outputs the holding position candidates based on that. For example, based on the design information of a part that is an actual object, the part holding position candidate generation unit 102 arranges multiple holding position candidates for that object around its center of gravity. The detailed aspects of generating these holding position candidates are arbitrary, as described below.

なお、部品保持位置候補生成部102が実行する部品保持位置候補生成工程では、実際の部品の設計情報に基づき、学習済みモデルで優先順位を付与する対象物に対する複数の保持位置の候補を生成することができる。あるいは、ユーザインターフェース装置400を介してユーザが指定した保持位置に基づき、対象物に対する複数の保持位置の候補を生成するようにしてもよい。その場合、実際の対象物の設計情報に基づき、ユーザインターフェースを介してユーザが指定した保持位置の利用可能性を判断し、ユーザが指定した保持位置を利用できない場合、その旨をユーザに報知する構成を取ってもよい。例えば、吸着パッドを用いるケースでは、透孔や段差の位置など、エア漏れの起きそうな位置は、実際の対象物の設計情報と照合することができる。そして、そのような適切でない保持位置をユーザが指定していないかどうかをチェックすることができる。 In addition, in the part holding position candidate generation process executed by the part holding position candidate generation unit 102, multiple holding position candidates for the object to be prioritized in the learned model can be generated based on the design information of the actual part. Alternatively, multiple holding position candidates for the object may be generated based on the holding position specified by the user via the user interface device 400. In this case, the availability of the holding position specified by the user via the user interface may be determined based on the design information of the actual object, and if the holding position specified by the user is unavailable, the user may be notified of this. For example, in the case of using a suction pad, positions where air leakage is likely to occur, such as the positions of holes and steps, can be compared with the design information of the actual object. Then, it can be checked whether the user has specified such an inappropriate holding position.

次に、図2のステップS103では、ステップS102で生成された保持位置候補の中から一つだけ保持位置を選択する。この選択処理は、後述するステップS107で全ての保持位置候補が選択完了するまで行われる。 Next, in step S103 of FIG. 2, one storage location is selected from the storage location candidates generated in step S102. This selection process is repeated until all storage location candidates have been selected in step S107, which will be described later.

続いて、ステップS104では、仮想空間上においてステップS101で生成されたバラ積み状態の部品に対し、仮想部品状態認識部103による認識を行う。図4(A)に示される通り、仮想空間上の座標系において、図示するZ軸に沿って部品表面の高さ情報をx-y平面上にプロットしていくと、図4(B)に示すような点群データを得ることができる。このような点群データは、「画素データ+高さ情報」を保持できる、例えばTIFF(Tagged Image File Format)形式などの画像データフォーマットを用いて例えばRAM1603(図18)などの記憶装置に記録しておく。 Next, in step S104, the virtual part state recognition unit 103 recognizes the parts in the random pile state generated in step S101 in the virtual space. As shown in FIG. 4(A), by plotting the height information of the part surface on the x-y plane along the Z axis shown in the coordinate system in the virtual space, point cloud data as shown in FIG. 4(B) can be obtained. Such point cloud data is recorded in a storage device such as the RAM 1603 (FIG. 18) using an image data format such as TIFF (Tagged Image File Format) format that can hold "pixel data + height information".

さらに、この画像データは、後述する認識部10の画像データとの整合性のため、最上段の移動部品(図3(D)の例では移動部品132)の重心位置を中心に部品の外形が含まれるようにトリミング処理して記録する。トリミングの際には、図3(C)にWx、Wyで示すように、例えば部品外形の2倍のサイズが画面内に収まる画素数など固定値として設定し、縦横比も任意の定数を設定する。 Furthermore, for consistency with the image data of the recognition unit 10 described below, this image data is trimmed and recorded so that the center of gravity of the topmost moving part (moving part 132 in the example of FIG. 3(D)) is the center and the outline of the part is included. When trimming, as shown by Wx and Wy in FIG. 3(C), fixed values are set, such as the number of pixels that will fit on the screen at twice the size of the part outline, and the aspect ratio is also set to an arbitrary constant.

次に、ステップS105では、図1の仮想部品取り出し動作実行部104により、仮想環境中で実際のロボットマニピュレータ11を模擬する仮想ロボットにより部品の保持動作を実行させる(仮想部品保持動作実行工程)。ロボットマニピュレータ11をシミュレートする仮想ロボットはロボットマニピュレータ11の設計情報などを用いてモデル化することができる。この仮想ロボットによる仮想環境中での取り出し動作では、図4(D)に示すように、仮想上の部品の保持動作では、複数の保持候補中の一つに対し、実際にロボットマニピュレータ11が部品を保持する際に部品にかかると想定される外力を仮想的に付与する。この手順では、部品同士の摩擦力や垂直抗力、また部品と設置面の摩擦力や垂直抗力を考慮する必要があり、例えば、CAE(Computer Aided Engineering)などの計算機支援ツールを用いて計算を行うことができる。 Next, in step S105, the virtual part pick-up operation execution unit 104 in FIG. 1 causes a virtual robot simulating the actual robot manipulator 11 in the virtual environment to perform a part-holding operation (virtual part-holding operation execution process). The virtual robot simulating the robot manipulator 11 can be modeled using design information of the robot manipulator 11, etc. In the pick-up operation in the virtual environment by this virtual robot, as shown in FIG. 4(D), in the virtual part-holding operation, an external force that is assumed to be applied to the part when the robot manipulator 11 actually holds the part is virtually applied to one of multiple holding candidates. In this procedure, it is necessary to consider the frictional force and normal force between the parts, and the frictional force and normal force between the part and the installation surface, and the calculation can be performed using a computer-aided tool such as CAE (Computer Aided Engineering).

また、ロボットマニピュレータの先端に取り付けられたハンドが部品を保持する際にかかる力のかけ方については、図5(A)に示すように、ロボットマニピュレータ11の先端に取り付けられたハンド12の形状に応じて適宜設定する。例えば、ハンド12に吸着式の吸着パッドを採用する場合、ハンド12の力の方向と大きさは、ハンド12と部品が接触する接触面の法線方向から部品の押し付け方向の向きに最大5N、などと設定することができる。また、ハンド12が力を印加する面積はその吸着パッドの面積に等しく、押し付けストローク量は1mm、などと設定することができる。同様に、同図(B)、(C)に示すような吸着式以外の外形把持方式(121)や内径把持方式(122)のハンドの場合も、力をかける大きさと向き、面積、押し付けストローク量をそれぞれ設定する。 As shown in FIG. 5A, the way in which the hand attached to the tip of the robot manipulator applies force when holding a part is set appropriately according to the shape of the hand 12 attached to the tip of the robot manipulator 11. For example, if an adhesive suction pad is used for the hand 12, the direction and magnitude of the force of the hand 12 can be set to a maximum of 5 N from the normal direction of the contact surface where the hand 12 and the part come into contact to the direction in which the part is pressed. The area to which the hand 12 applies force can be set to be equal to the area of the suction pad, and the pressing stroke amount can be set to 1 mm. Similarly, in the case of hands using an external gripping method (121) or an internal gripping method (122) other than the adhesive method as shown in FIG. 5B and FIG. 5C, the magnitude and direction of the force, the area, and the pressing stroke amount are each set.

次に、図2のステップS106では、ステップS104と同様に、仮想部品状態認識部103により、ステップS105で仮想的な外力を付与した後の部品の位置を認識し、仮想部品移動量計算部105によって取り出し動作の前後の部品の移動量を計算する。仮想部品移動量計算部105は、ステップS104、ステップS106で認識した仮想空間上のx-y-z座標系の部品の位置情報から、それぞれ部品の重心位置を求め、重心位置のx方向、y方向、z方向の変移Δを例えば下式(6)のように計算し、記録しておく。 Next, in step S106 of FIG. 2, similar to step S104, the virtual part state recognition unit 103 recognizes the position of the part after the virtual external force is applied in step S105, and the virtual part movement amount calculation unit 105 calculates the movement amount of the part before and after the removal operation. The virtual part movement amount calculation unit 105 obtains the center of gravity position of each part from the position information of the part in the x-y-z coordinate system in the virtual space recognized in steps S104 and S106, and calculates and records the displacement Δ of the center of gravity position in the x-, y-, and z-directions, for example, as shown in the following formula (6).

Figure 0007504566000006
Figure 0007504566000006

次に、図2のステップS107では、ステップS102で生成された全保持位置候補に対し、ステップS103~ステップS106の試行が完了したかを確認する。もし、生成された全保持位置候補に対するステップS103~ステップS106の試行が未完了であれば、ステップS107からステップS103に戻り、未試行の保持位置候補を選択し、ステップS103~ステップS106の処理を繰り返す。もし、生成された全保持位置候補に対するステップS103~ステップS106の試行が完了であれば、ステップS107からステップS108へ進む。 2, it is confirmed whether the trials of steps S103 to S106 have been completed for all the holding position candidates generated in step S102. If the trials of steps S103 to S106 have not been completed for all the generated holding position candidates, the process returns from step S107 to step S103, an untried holding position candidate is selected, and the process of steps S103 to S106 is repeated. If the trials of steps S103 to S106 have been completed for all the generated holding position candidates, the process proceeds from step S107 to step S108.

ステップS108では、全保持位置候補に対し、式(6)で計算されたΔに基づき、優先順位決定部106で優先順位の決定を行う。優先順位を決定する際には、図6(A)に図示されるように、例えばステップS101でされたバラ積み状態のパターン1に対し、保持位置候補をΔで昇順ソートを行い、Δが小さいほど優先順位が高いものと定義する。この時、Δが同値となる保持位置候補がある場合は、保持位置候補の番号が小さいほうを優先順位が高いものとする。このような優先順位決定は、部品を仮想的に保持した時に計算される移動量(Δ)が小さいほど安定的な保持、取り出しが行える、という推論に基づく。 In step S108, the priority determination unit 106 determines the priority of all holding position candidates based on the Δ calculated by equation (6). When determining the priority, as shown in FIG. 6(A), for example, for pattern 1 of the bulk pile state determined in step S101, the holding position candidates are sorted in ascending order by Δ, and the smaller Δ is defined as the higher the priority. At this time, if there are holding position candidates with the same Δ, the holding position candidate with the smaller number is determined to have the higher priority. This priority determination is based on the inference that the smaller the movement amount (Δ) calculated when a part is virtually held, the more stable the holding and removal can be performed.

図2のステップS109では、ステップS108で計算した優先順位のソート計算結果を、RAM1603(図18)などの記憶装置に記録しておく。次に、ステップS110では、ステップS101で生成される全配置パターンに対し、ステップS101~ステップS109の試行が完了したか確認する。もし、未完了であれば、ステップS101に戻り、未試行のバラ積み状態のパターンを生成し、ステップS102~ステップS109の処理を実行する。もし、完了であれば計算部100の処理フローは終了となる。この処理フロー終了の時点で、図6(B)に示されるように、全バラ積み状態のパターンに対し、保持位置候補の優先順位を決定したリストが出力されることになる。このリストは、学習部200の図示しない記憶装置に保存される。 In step S109 of FIG. 2, the sorting calculation result of the priority order calculated in step S108 is recorded in a storage device such as the RAM 1603 (FIG. 18). Next, in step S110, it is confirmed whether the trials of steps S101 to S109 have been completed for all arrangement patterns generated in step S101. If not completed, the process returns to step S101, and an untried random pile pattern is generated, and the process of steps S102 to S109 is executed. If completed, the process flow of the calculation unit 100 ends. At the end of this process flow, as shown in FIG. 6B, a list in which the priority order of the holding position candidates is determined for all random pile patterns is output. This list is saved in a storage device (not shown) of the learning unit 200.

(学習部)
図1を参照して、対象部品の位置姿勢を記録した画像から、その対象部品の保持位置候補の優先順位リストを導出するのに用いる学習済みモデルを生成する学習部200の構成につき説明する。学習部200は、優先順位学習部201、優先順位予測部202、優先順位更新部203により構成されている。まず、優先順位学習部201は、膨大な入力データと出力データの組み合わせから両者の関係性を統計的に分析する。そして、一定のルールをモデル化して学習済みモデルを得る(優先順位学習工程)、いわゆる機械学習の機能を備えている。
(Learning Department)
1, the configuration of a learning unit 200 that generates a trained model used to derive a priority list of holding position candidates for a target part from an image recording the position and orientation of the target part will be described. The learning unit 200 is composed of a priority learning unit 201, a priority prediction unit 202, and a priority update unit 203. First, the priority learning unit 201 statistically analyzes the relationship between a huge amount of input data and output data based on the combination. Then, it has a function of modeling certain rules to obtain a trained model (priority learning process), which is so-called machine learning.

機械学習には、入出力データの関係が既知の訓練データから学習済みモデルを算出する「教師あり学習」と、出力すべきものが決まっていない状態で、入力データに共通する一定のルールをモデル化する「教師なし学習」と、がある。また、現在の入力データから次に出力すべき内容を決定する「強化学習」なども知られている。本実施形態で用いる機械学習は、入出力データが既知のデータセット(学習データ)からモデルを算出する「教師あり学習」である。 Machine learning includes "supervised learning," in which a learned model is calculated from training data in which the relationship between input and output data is known, and "unsupervised learning," in which certain rules common to input data are modeled when the output has not been determined. "Reinforcement learning," in which the next output content is determined from the current input data, is also known. The machine learning used in this embodiment is "supervised learning," in which a model is calculated from a data set (learning data) in which the input and output data are known.

優先順位学習部201の「教師あり学習」では、教師データとして、入力データにステップ104の仮想部品状態認識部103により得られた画像データを用い、出力データにステップ108で得られた保持位置候補の優先順位を用いる(図6(B))。このような画像データを入力とする「教師あり学習」を行う場合には、例えば、ディープラーニングの1つとして知られるCNN(疊み込みニューラルネットワーク)のようなニューラルネットワークを用いることができる。このCNN(疊み込みニューラルネットワーク)は、仮想対象物の特定の位置姿勢と、仮想ロボット装置が取り得る複数の保持位置の優先順位と、を関係付ける学習済みモデルを構成する。このような学習済みモデルを用いると、対象物の特定の位置姿勢から、その位置姿勢に対してロボット装置が取り得る複数の保持位置の優先順位を出力可能である。 In the "supervised learning" of the priority learning unit 201, the image data obtained by the virtual part state recognition unit 103 in step S104 is used as input data as the supervised data, and the priority of the holding position candidates obtained in step S108 is used as output data (FIG. 6B). When performing "supervised learning" using such image data as input, for example, a neural network such as CNN (convoluted neural network), which is known as one of deep learning, can be used. This CNN (convoluted neural network) configures a trained model that associates a specific position and posture of a virtual object with the priority of multiple holding positions that the virtual robot device can take. By using such a trained model, it is possible to output the priority of multiple holding positions that the robot device can take for a specific position and posture of the object from the specific position and posture of the object.

本実施形態では、例えば図7に示すようなCNN(コンボリューショナルニューラルネットワーク)を用いるが、他の形態のCNNを用いることも考えられる。図7のCNNは、学習済みモデルとして入力部の画像データから、出力部の保持位置候補の優先順位のリストへ到達できるようなネットワークを構成する。ネットワークは、入力部の画像データを処理する複数段の疊み込み層、プーリング層、ドロップアウト層によって構成される。このような優先順位学習部201を用いることで、画像データと保持位置候補の優先順位の関係性をモデル化することができる。 In this embodiment, for example, a convolutional neural network (CNN) as shown in FIG. 7 is used, but other forms of CNN may also be used. The CNN in FIG. 7 constitutes a network that can arrive at a list of priorities of storage position candidates in the output section from image data in the input section as a trained model. The network is composed of multiple stages of convolution layers, pooling layers, and dropout layers that process image data in the input section. By using such a priority learning unit 201, it is possible to model the relationship between image data and the priorities of storage position candidates.

図2の優先順位リスト生成と、上記の優先順位学習部201(学習部200)による仮想環境を用いた学習済みモデルの機械学習(優先順位学習工程)が終了すると、その旨をユーザインターフェース装置400を介してユーザに通知する。この通知は、文字表示や音声表示などによって行うことができる。仮想環境を用いて学習済みモデルを生成した後は、実際のロボット制御による取り出し動作の試行を行うことができる。そこで、さらにユーザインターフェース装置400を介してロボット制御部による取り出し動作を実行可能である旨をユーザに通知することができる。その場合、ユーザインターフェース装置400は、ロボット制御部による取り出し動作を指令するユーザ操作を入力するよう構成することもできる。この取り出し動作を指令するユーザ操作は、キーボード操作、ポインティングデバイスの操作、音声入力などによって行えるよう、ユーザインターフェース装置400を構成しておくことができる。 2 and the machine learning of the trained model using the virtual environment by the priority learning unit 201 (learning unit 200) (priority learning process) is completed, the user is notified of the completion via the user interface device 400. This notification can be performed by displaying text or audio. After the trained model is generated using the virtual environment, a trial of the removal operation by actual robot control can be performed. Therefore, the user can be notified that the removal operation can be performed by the robot control unit via the user interface device 400. In this case, the user interface device 400 can also be configured to input a user operation that commands the removal operation by the robot control unit. The user interface device 400 can be configured so that the user operation that commands the removal operation can be performed by keyboard operation, pointing device operation, audio input, etc.

仮想環境を用いて学習済みモデルを生成した後は、実際のロボット制御による取り出し動作の試行を行うことができる(ロボット制御工程)。この実取り出し動作において、優先順位予測部202では、優先順位学習部201で計算された学習済みモデルを用いて、実際の装置でロボットマニピュレータ11が部品を取り出す際の保持位置の優先順位の予測を行う。この優先順位の予測では、入力データには、認識部10により取得される、実際の装置におけるバラ積み状態の部品の画像データを用いる。ここで用いる画像データとは、例えば仮想部品状態認識部103で得られるものと同等の3次元情報を含む点群データである。 After generating the trained model using the virtual environment, a trial of the picking operation by actual robot control can be performed (robot control process). In this actual picking operation, the priority prediction unit 202 uses the trained model calculated by the priority learning unit 201 to predict the priority of the holding position when the robot manipulator 11 picks up a part in the actual device. In predicting this priority, image data of the parts in a random pile in the actual device, acquired by the recognition unit 10, is used as input data. The image data used here is, for example, point cloud data containing three-dimensional information equivalent to that obtained by the virtual part state recognition unit 103.

このため、認識部10(図1)は、部品の位置姿勢を反映した3次元情報を得られるよう構成する必要がある。例えば、認識部10は、上記のような3次元情報を含む点群データを得られる3次元測定手段として、ステレオカメラを用いて構成することができる。あるいは、認識部10には、ステレオカメラに換えて、単カメラとプロジェクタを組み合わせた3次元計測機を用いてもよい。 For this reason, the recognition unit 10 (Figure 1) needs to be configured to obtain three-dimensional information that reflects the position and orientation of the part. For example, the recognition unit 10 can be configured using a stereo camera as a three-dimensional measurement means that can obtain point cloud data that includes the above-mentioned three-dimensional information. Alternatively, instead of a stereo camera, the recognition unit 10 may use a three-dimensional measuring device that combines a single camera and a projector.

図8(A)は、実際のロボット制御に必要な、認識部10による画像データの取得処理の流れを示している。図8(A)の処理は、図7のように上記の学習済みとなっている学習済みモデルを用いて実際にロボット制御を行って部品を取り出す時に実行される。 Figure 8 (A) shows the flow of the image data acquisition process by the recognition unit 10, which is necessary for actual robot control. The process in Figure 8 (A) is executed when actually controlling the robot to pick up a part using the trained model that has been trained as described above, as shown in Figure 7.

図8(A)のステップS201では、認識部10を構成する例えばステレオカメラにより、撮像処理を行い、ステップS202で3次元測定の処理を実行し、図4(B)と同等の形式の3次元点群データを生成する。ステップS203では、生成された3次元点群データを用いて撮像されている部品を認識する。この部品認識には、3DCADモデルを用いたテンプレートマッチングや、濃淡値ベースの正規化相互相関マッチングなどの手法を用いることができる。これにより、取り出し対象の部品の位置姿勢を認識する。 In step S201 of FIG. 8(A), imaging processing is performed using, for example, a stereo camera constituting the recognition unit 10, and in step S202, 3D measurement processing is performed to generate 3D point cloud data in a format equivalent to that of FIG. 4(B). In step S203, the generated 3D point cloud data is used to recognize the imaged part. This part recognition can use a method such as template matching using a 3D CAD model or gray-value-based normalized cross-correlation matching. This allows the position and orientation of the part to be removed to be recognized.

ステップS204では、ステップS203で複数の部品が認識された際に取り出し対象の部品を決定する。図8(B)に示されるように、2つの対象部品134、135(の重なり)が取り出し対象として認識された場合、部品同士の重なりや干渉関係をチェックし、ロボットマニピュレータ11にとって最も取り出し易い部品が決定される。例えば、図8(B)の場合、部品同士の重なり面積が最も小さい部品を優先的に取り出すには、対象部品135よりも、対象部品134の方が部品同士の重なり面積が小さいため、対象部品134を選択する。その他の対象部品の選択の手法としては、3次元情報に含まれる高さ情報を利用して、ランダムに配置されたバラ積み状態の部品の最上部にある部品を優先したり、マッチングによる認識精度の高い順に選択する制御を行っても良い。 In step S204, when multiple parts are recognized in step S203, the part to be removed is determined. As shown in FIG. 8B, when two target parts 134 and 135 (overlapping) are recognized as the parts to be removed, the overlapping and interference between the parts are checked, and the part that is easiest for the robot manipulator 11 to remove is determined. For example, in the case of FIG. 8B, in order to preferentially remove the part with the smallest overlapping area between the parts, target part 134 is selected because the overlapping area between the parts is smaller than that of target part 135. As another method of selecting the target part, height information included in the three-dimensional information may be used to give priority to the part at the top of randomly arranged parts in a pile, or control may be performed to select parts in order of highest recognition accuracy by matching.

次に、ステップS205では、取り出し対象の部品の重心位置を中心に、3次元点群データのトリミングを行い、ステップS206では、所定の画像ファイルフォーマット、例えばTIFF形式に変換して記録する。トリミングを行う際には、好ましくは前記の仮想部品状態認識部103でトリミングした際と同じ画素数、縦横比を用いる。ただし、これらの同じ設定が適用できない場合には、トリミングした画像ファイルに対し、解像度のリサンプリングを行うプーリングや、画素間の補間や内挿処理を行うことで、同じ画素数、縦横比になるように調整することが望ましい。 Next, in step S205, the 3D point cloud data is trimmed around the center of gravity of the part to be extracted, and in step S206, it is converted to a specified image file format, for example TIFF format, and recorded. When trimming, it is preferable to use the same number of pixels and aspect ratio as when trimming was performed by the virtual part state recognition unit 103. However, if these same settings cannot be applied, it is desirable to adjust the trimmed image file to have the same number of pixels and aspect ratio by performing pooling, which resamples the resolution, or by performing interpolation or interpolation processing between pixels.

以上のようにして、トリミングされた部品の画像データが優先順位予測部202に取り込まれ、優先順位学習部201で計算された学習済みモデル(図9のCNN)を用いて部品のどの位置を保持すべきか優先順位の予測を行う。図9のネットワークの初期状態は、図7のように優先順位学習部201で計算された学習済みモデルと同じである。この学習済みモデル(図9のCNN)を用いて、入力部の実際に撮像された部品の画像から、出力部の当該部品の保持位置候補の優先順位リストに到達することができる。そして、ロボット制御部は学習済みモデル(図9のCNN)を用いて得られた、優先順位の最上位の部品保持位置を保持するようにロボットマニピュレータ11を制御し、ロボットマニピュレータ11がその取り出し動作を実行する。 In this manner, the image data of the trimmed part is input to the priority prediction unit 202, and the learned model (CNN in FIG. 9) calculated by the priority learning unit 201 is used to predict the priority of the part, i.e., which position the part should be held at. The initial state of the network in FIG. 9 is the same as the learned model calculated by the priority learning unit 201 as in FIG. 7. Using this learned model (CNN in FIG. 9), it is possible to arrive at a priority list of candidate holding positions for the part in the output unit from an image of the part actually captured in the input unit. Then, the robot control unit controls the robot manipulator 11 to hold the part holding position with the highest priority obtained using the learned model (CNN in FIG. 9), and the robot manipulator 11 executes the removal operation.

取り出し動作を実行したロボットマニピュレータ11は、上記の優先順位予測部202の指示に従い部品の保持動作を行い、部品を保持したまま所定の位置まで部品の搬送を行う。そして搬送先の地点において、取り出し結果検出部15による取り出し結果の確認が行われる。取り出し結果検出部15は、例えば、搬送先の地点において、ロボットマニピュレータ11が部品を保持しているか否かを確認しており、例えば、部品を保持していたら取り出し成功、部品を保持していなければ取り出し失敗の二値信号を出力する。 After executing the removal operation, the robot manipulator 11 performs the part holding operation in accordance with the instructions of the priority prediction unit 202, and transports the part to a specified position while still holding the part. At the destination, the removal result detection unit 15 checks the removal result. The removal result detection unit 15 checks, for example, whether the robot manipulator 11 is holding a part at the destination, and outputs a binary signal indicating removal success if the part is being held, or removal failure if the part is not being held.

これらの部品の有無を検出する部としては、例えば光電センサやレーザー式の物体センサ、特に、ハンド12が吸着式の場合は、吸着時の圧力値などを用いることができる。本実施形態では、取り出し結果検出部が取り出し失敗を検出した場合、この失敗の結果に応じて優先順位更新部203により、優先順位学習部201で作成されたモデルを更新する再学習処理を行う(優先順位更新工程)。 The part that detects the presence or absence of these parts can be, for example, a photoelectric sensor or a laser-type object sensor, or in particular, in the case where the hand 12 is of a suction type, the pressure value at the time of suction, etc. In this embodiment, if the removal result detection part detects a removal failure, the priority update part 203 performs a re-learning process to update the model created by the priority learning part 201 according to the result of this failure (priority update process).

例えば、優先順位予測部202により、図10に示される優先順位予測値(失敗時)が出力されていた場合、失敗した取り出しに用いた保持位置候補、即ち、優先順位リストの筆頭候補を最後尾に落とす(191->192)。そして、他の優先順位を一つずつ繰り上げた優先順位変更後のリストを生成する。このリストを図6(B)で示されるリストに追加し、優先順位学習部201で再学習を行い、学習済みモデルを更新する。 For example, if the priority prediction unit 202 has output the priority prediction value (upon failure) shown in FIG. 10, the storage position candidate used for the failed retrieval, i.e., the top candidate in the priority list, is dropped to the end (191->192). Then, a list after priority change is generated in which the other priorities are raised one by one. This list is added to the list shown in FIG. 6 (B), and re-learning is performed by the priority learning unit 201, updating the learned model.

以上のように、本実施形態によれば、仮想環境を用いて生成した学習済みモデルを、それを用いて実際に試行した取り出し動作の結果に応じて、次回以降類似の部品のバラ積みパターン(位置姿勢)に対し、再学習していく。そのため、同じ失敗を繰り返さないように実環境で試行した取り出し動作の結果に応じて、保持位置候補の優先順位に到達するための学習済みモデルを更新していくことができる。そのため、実際にロボットマニピュレータ11の取り出し動作を開始させた後、高速に取り出し成功率を高めることができ、リトライ動作によるサイクルタイムの延長を短縮することができる。 As described above, according to this embodiment, the trained model generated using the virtual environment is re-learned for similar part stacking patterns (positions and postures) from the next time onwards, depending on the results of the picking operation actually attempted using the trained model. Therefore, in order to avoid repeating the same failure, the trained model for reaching the priority order of the candidate holding positions can be updated depending on the results of the picking operation attempted in the real environment. Therefore, after the picking operation of the robot manipulator 11 is actually started, the picking success rate can be increased quickly, and the extension of the cycle time due to the retry operation can be shortened.

また、本実施形態の学習済みモデルを用いた部品取り出しでは、仮想環境を利用して、実際に取り出しハードウェアを稼働させることなく容易に原初の学習済みモデルを高速かつ容易に生成することができる。しかも、実際に取り出しハードウェアを稼働させた後、実際の部品取り出し結果に応じて、部品取り出しを制御する学習済みモデルを更新するよう、再学習が行われる。そのため、実環境における諸条件を反映して、部品取り出しを制御する学習済みモデルを高精度に部品取り出しを制御可能に成長させることができ、実環境で高い成功率で取り出し動作を行うことができる。 In addition, in part removal using the trained model of this embodiment, a virtual environment is utilized, making it possible to easily generate an original trained model quickly and easily without actually operating the removal hardware. Moreover, after actually operating the removal hardware, re-learning is performed to update the trained model that controls part removal according to the actual part removal results. Therefore, the trained model that controls part removal can be grown to be able to control part removal with high accuracy, reflecting various conditions in the real environment, and removal operations can be performed with a high success rate in the real environment.

即ち、上記構成によれば、予め仮想環境で部品取り出しにおける保持位置候補の優先順位を決定可能な学習済みモデルを生成することができる。このため、ロボットマニピュレータは、一つの取り出し対象の部品に対し、外力をかけても部品の姿勢を崩さない保持位置を予測する機能を備えることができる。従って、実環境での稼動開始後、短時間で部品の取出し成功率を高めることができる。さらに、特定のバラ積み状態のパターンに対して部品の取出しに失敗しても、次回以降類似のバラ積み状態のパターンに対し、部品の保持位置を、他の比較的取り出し成功率の高い保持位置候補に変更する。このような再学習を行うことにより、同じ取り出し失敗を繰り返さず、部品取り出しのリトライ動作の発生頻度を減らし、サイクルタイムの延長を短縮することができる、という優れた効果がある。 That is, according to the above configuration, a trained model capable of determining the priority order of candidate holding positions for part picking in a virtual environment can be generated in advance. Therefore, the robot manipulator can be equipped with a function for predicting a holding position for a single part to be picked that will not lose its posture even when an external force is applied. Therefore, the success rate of part picking can be increased in a short time after the start of operation in the real environment. Furthermore, even if a part fails to be picked for a specific pattern of random pile conditions, the part holding position is changed to another candidate holding position with a relatively high success rate for similar patterns of random pile conditions from the next time onwards. By performing such re-learning, it is possible to prevent the same picking failure from being repeated, reduce the frequency of part picking retry operations, and shorten the extension of the cycle time, which is an excellent effect.

(取り出し成功率の高い部品、保持位置を選択する)
取り出し成功率の高い部品、保持位置を選択する制御を行うこともできる。以上では、認識部10で認識された一つの部品に対し、最も取り出し成功率の高い保持位置の選択を行う例を示したが、ここでは、複数の部品の中から最も取り出し成功率の高い部品を選択する。また、選択された部品の中でも最も取り出し成功率が高い保持位置を選択して部品の取り出しを行う。この制御につき、図11、図12を参照して説明する。図11は上記の図1に対応したシステムの構成を、図12は上記の図2に対応した制御手順を示している。図11では、保持成否判定部106b、保持成功率学習部201b、保持成功率予測部202b、および保持成功率更新部203bが設けられている点が図1と異なる。
(Select parts and holding positions with high removal success rate)
It is also possible to control the selection of a component and a holding position with a high success rate of removal. In the above, an example was shown in which a holding position with the highest success rate of removal was selected for one component recognized by the recognition unit 10, but here, the component with the highest success rate of removal is selected from among a plurality of components. Furthermore, the holding position with the highest success rate of removal among the selected parts is selected and the component is removed. This control will be described with reference to Figs. 11 and 12. Fig. 11 shows the configuration of the system corresponding to Fig. 1 above, and Fig. 12 shows the control procedure corresponding to Fig. 2 above. Fig. 11 differs from Fig. 1 in that a holding success/failure determination unit 106b, a holding success rate learning unit 201b, a holding success rate prediction unit 202b, and a holding success rate update unit 203b are provided.

図11の計算部100において、ステップS106で仮想部品移動量計算部105により部品の移動量を計算するまでは、図2と同様の処理を行う。図12の制御では、全保持位置候補を処理したか否かを判定するステップS107の後、ステップS108bで保持成否判定部106bにより、保持成否の判定を行う。保持成否判定部106bは、例えば図13(A)に示すように、保持成否の判定を(式6)で計算されたΔと任意の閾値Δthに基づき、下式(7)のように保持成否の判定を行う。 In the calculation unit 100 in FIG. 11, the same processing as in FIG. 2 is performed until the virtual part movement amount calculation unit 105 calculates the part movement amount in step S106. In the control in FIG. 12, after step S107 for determining whether all holding position candidates have been processed, the holding success/failure determination unit 106b determines whether holding is successful in step S108b. For example, as shown in FIG. 13(A), the holding success/failure determination unit 106b determines whether holding is successful based on Δ calculated in (Equation 6) and an arbitrary threshold value Δth, as shown in the following equation (7).

Figure 0007504566000007
Figure 0007504566000007

そして、図12の計算処理フローが全て完了すると、図13(B)のような計算結果のリストが出力され、学習部200に保存される。 When the calculation process flow in FIG. 12 is completed, a list of calculation results like that in FIG. 13(B) is output and stored in the learning unit 200.

次に、学習部は、前述の計算結果のリストに基づき、保持成功率に関して、保持成功率学習部201bにより「教師あり学習」を行う。この時教師データとして、入力データにステップS104で認識された画像データを用い、出力データにパターン番号(図13(B)の左端の欄)を用いる。この学習処理により、両者の関係性は、図14(A)に示されるようなCNN、学習済みモデルにモデル化することができる。 Next, the learning unit performs "supervised learning" on the retention success rate using the retention success rate learning unit 201b based on the list of calculation results described above. At this time, as the teacher data, the image data recognized in step S104 is used as the input data, and the pattern number (the leftmost column in FIG. 13(B)) is used as the output data. Through this learning process, the relationship between the two can be modeled into a CNN, a learned model, as shown in FIG. 14(A).

実際に部品取り出しを試行する際には、保持成功率予測部202bが、図14(A)のように前述の保持成否判定部106bで計算された学習済みモデルに基づき、実際の装置でロボットマニピュレータ11が取り出す部品と、保持すべき保持位置の予測を行う。 When actually attempting to pick up a part, the holding success rate prediction unit 202b predicts the part that the robot manipulator 11 will pick up in the actual device and the holding position where it should be held, based on the learned model calculated by the holding success/failure determination unit 106b described above, as shown in Figure 14 (A).

予測を行うには、入力データには、上述と同様にしてステレオカメラなどにより実装された認識部10を用いて、取得される実際のバラ積み状態の部品の画像データを取得し、これを上記学習済みモデルの入力データとして用いる。 To make predictions, the input data is acquired using a recognition unit 10 implemented with a stereo camera or the like in the same manner as described above, and image data of the actual parts in a randomly stacked state is acquired, and this is used as input data for the trained model.

この画像データの取得処理は図15(A)に示す。図15(A)は図8(A)に相当する処理であり、図8(A)と異なるのは図8(A)のステップS204がステップS204bとなっている点である。上述の例では、部品の重なり方などに応じて対象部品を1つに絞っていた(図8(B))のに対して、この図15(A)のステップS204bでは、例えば複数個の対象部品を選択することができる。複数個の対象部品が決定された場合も対象部品の数が1個である場合と同様に、図15(B)に136、137で示すように対象部品数分の3次元データをトリミングし、記録する(ステップS205、S206)。 The process of acquiring this image data is shown in FIG. 15(A). FIG. 15(A) corresponds to the process of FIG. 8(A), and differs from FIG. 8(A) in that step S204 in FIG. 8(A) is replaced by step S204b. In the above example, the target part was narrowed down to one depending on the overlapping of the parts, etc. (FIG. 8(B)), but in step S204b in FIG. 15(A), for example, multiple target parts can be selected. When multiple target parts are determined, the 3D data for the number of target parts is trimmed and recorded (steps S205 and S206) as shown by 136 and 137 in FIG. 15(B), just as in the case where there is only one target part.

次に、保持成功率予測部202bは、図14(B)に示すように、保持成功率学習部201bで学習された学習済みモデルを用いて、入力された画像データに対し、どのパターンに最も近い画像であるか類推して最も近いパターンの番号を出力する。そして、出力されたパターンの番号に従い、図13(B)に示されるリストの判定値を照合し、取り出し成功率の判定値が最も大きい(最小値0、最大値1)の保持位置候補を保持するようロボットマニピュレータ11を制御する。この時、複数の画像データが入力されている場合は、全ての画像データに対しパターンの番号を類推し、全ての判定値の中で最も判定値が大きい保持位置を選択して、ロボットマニピュレータ11に部品の保持を試行させる。 Next, as shown in FIG. 14(B), the holding success rate prediction unit 202b uses the learned model learned by the holding success rate learning unit 201b to infer which pattern the image is closest to for the input image data, and outputs the number of the closest pattern. Then, according to the output pattern number, the judgment values in the list shown in FIG. 13(B) are compared, and the robot manipulator 11 is controlled to hold the holding position candidate with the largest judgment value for the removal success rate (minimum value 0, maximum value 1). At this time, if multiple image data are input, the pattern numbers are inferred for all image data, the holding position with the largest judgment value of all judgment values is selected, and the robot manipulator 11 is caused to attempt to hold the part.

ロボットマニピュレータ11は、保持成功率予測部202bにより指示された位置で部品の取り出し動作を実行し、上述の例と同様に、取り出し結果検出部15によって取り出し成功/失敗の検出を行う。そして、部品の取り出しに失敗した場合は、保持成功率更新部203bにより、保持成功率学習部201bで作成されたモデルを更新する再学習を行う。例えば、保持成功率予測部202bが入力データから図16に示されるパターンの番号の予測した場合、保持位置候補1が選択される。この指示に従いロボットマニピュレータ11が取り出し動作を行い、取り出し結果検出部15によって取り出し失敗が検知されると、図16のリストに示すように判定値を更新する再学習を行う(281->282)。判定値の更新は、例えば下式(8)のような演算により行うことができる。 The robot manipulator 11 performs the part pick-up operation at the position instructed by the holding success rate prediction unit 202b, and similarly to the above example, the pick-up result detection unit 15 detects whether the part was picked successfully or not. If the part pick-up operation fails, the holding success rate update unit 203b performs re-learning to update the model created by the holding success rate learning unit 201b. For example, if the holding success rate prediction unit 202b predicts the pattern number shown in FIG. 16 from the input data, holding position candidate 1 is selected. The robot manipulator 11 performs the part pick-up operation according to this instruction, and if the pick-up result detection unit 15 detects a pick-up failure, re-learning is performed to update the judgment value as shown in the list in FIG. 16 (281->282). The judgment value can be updated, for example, by a calculation such as the following formula (8).

Figure 0007504566000008
Figure 0007504566000008

この新たに更新されたパターンを図16のリストに加え、保持成功率学習部201bでモデルの再学習を行う。以上に示したように、図11~図16の構成によると、次回以降類似のバラ積み状態のパターンに対し、部品の取り出し成功率を考慮した上で、同じ失敗を繰り返さないように取り出しの成功/失敗を学習することができる。そのため、実際にロボットマニピュレータ11の取り出し動作を開始させた後、高速に取り出し成功率を高めることができ、リトライ動作によるサイクルタイムの延長を短縮することができる。 This newly updated pattern is added to the list in FIG. 16, and the model is re-learned in the holding success rate learning unit 201b. As described above, with the configurations in FIG. 11 to FIG. 16, it is possible to learn the success/failure of picking for similar random pile patterns from the next time onwards, taking into account the part picking success rate, so as not to repeat the same failure. Therefore, after the robot manipulator 11 actually starts the picking operation, it is possible to quickly increase the picking success rate, and shorten the extension of the cycle time due to the retry operation.

即ち、上記構成によれば、ロボットマニピュレータはバラ積み状態の部品の中から、最も取り出し成功率の高い部品とその保持位置を選択して部品の取り出しを行うことができる。そのため、上述の効果に加え、より高い取り出し成功率で対象物の部品の取り出しを行うことができる、という優れた効果がある。 In other words, with the above configuration, the robot manipulator can select the part with the highest success rate of removal and the holding position from among the parts in a random pile, and then remove the part. Therefore, in addition to the above-mentioned effects, there is the excellent effect that the target part can be removed with a higher success rate.

1…部品取り出し装置、10…認識部、11…ロボットマニピュレータ、12…ハンド、13、130、131…部品、14…平板、15…取り出し結果検出部、100…計算部、101…仮想バラ積み状態生成部、102…部品保持位置候補生成部、103…仮想部品状態認識部、104…仮想部品取り出し動作実行部、105…仮想部品移動量計算部、106…優先順位決定部、106b…保持成否判定部、200…学習部、201…優先順位学習部、201b…保持成功率学習部、202…優先順位予測部、202b…保持成功率予測部、203…優先順位更新部、203b…保持成功率更新部。 1...part picking device, 10...recognition unit, 11...robot manipulator, 12...hand, 13, 130, 131...part, 14...plate, 15...picking result detection unit, 100...calculation unit, 101...virtual bulk pile state generation unit, 102...part holding position candidate generation unit, 103...virtual part state recognition unit, 104...virtual part picking operation execution unit, 105...virtual part movement amount calculation unit, 106...priority determination unit, 106b...holding success/failure determination unit, 200...learning unit, 201...priority learning unit, 201b...holding success rate learning unit, 202...priority prediction unit, 202b...holding success rate prediction unit, 203...priority update unit, 203b...holding success rate update unit.

Claims (27)

ロボットによって対象物を保持する場合に用いる学習済みモデルを取得する情報処理方法であって、
前記対象物を保持するために前記ロボットを前記対象物に接触させた場合における、当該接触によって前記対象物が移動する移動量に関する情報を、仮想環境でのシミュレーションにより取得し、
前記対象物のそれぞれ異なる位置で接触させた場合に対応して取得した複数の前記移動量に関する情報に基づき機械学習することで前記学習済みモデルを取得する、
ことを特徴とする情報処理方法。
An information processing method for acquiring a trained model used when holding an object by a robot, comprising:
acquiring information on an amount of movement of the object caused by contact of the robot with the object in order to hold the object, by simulating the information in a virtual environment;
and acquiring the trained model by performing machine learning based on information about a plurality of the movement amounts acquired in response to contact at different positions of the object.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
ユーザにより、前記対象物を仮想的に示した仮想対象物に前記異なる位置を設定させる、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
a user sets the different position on a virtual object that virtually represents the object;
23. An information processing method comprising:
請求項2に記載の情報処理方法において、
前記ユーザにより設定された前記異なる位置において、前記ロボットを仮想的に示した仮想ロボットによって前記仮想対象物を保持できない位置が存在する場合、前記ユーザに通知する、
ことを特徴とする情報処理方法。
3. The information processing method according to claim 2,
If there is a position where the virtual robot virtually representing the robot cannot hold the virtual object among the different positions set by the user, the user is notified of this.
23. An information processing method comprising:
請求項1から3のいずれか1項に記載の情報処理方法において、
前記学習済みモデルは前記対象物を保持する場合の前記異なる位置の優先順位を出力し、前記優先順位に基づき前記ロボットが制御される、
ことを特徴とする情報処理方法。
4. The information processing method according to claim 1,
The trained model outputs a priority order for the different positions when holding the object, and the robot is controlled based on the priority order.
23. An information processing method comprising:
請求項4に記載の情報処理方法において、
前記学習済みモデルに基づき、前記ロボットを用いて前記対象物を保持させ、
前記ロボットによる前記対象物の保持の結果に基づき前記優先順位を更新する、
ことを特徴とする情報処理方法。
5. The information processing method according to claim 4 ,
Using the robot to hold the object based on the trained model;
updating the priority based on a result of holding the object by the robot;
23. An information processing method comprising:
請求項に記載の情報処理方法において、
前記優先順位の内、最も優先度の高い位置によって前記対象物を保持しようとした際に前記対象物を保持できなかった場合、最も優先度の高い位置の前記優先順位を落とし、他の前記優先順位を一つずつ繰り上げる、
ことを特徴とする情報処理方法。
6. The information processing method according to claim 5 ,
When an attempt is made to hold the object at the position with the highest priority among the priorities, and the object cannot be held, the priority of the position with the highest priority is lowered, and the other priorities are raised one by one.
23. An information processing method comprising:
請求項5または6に記載の情報処理方法において、
前記対象物の位置姿勢を撮像装置により取得し、前記学習済みモデルにより当該位置姿勢における前記異なる位置の候補と前記優先順位とを取得する、
ことを特徴とする情報処理方法。
7. The information processing method according to claim 5 ,
acquiring a position and orientation of the object using an imaging device, and acquiring the different position candidates and the priority order in the position and orientation using the trained model;
23. An information processing method comprising:
請求項に記載の情報処理方法において、
前記撮像装置は3次元測定可能であり、前記対象物は少なくとも2つ存在し、
前記対象物の内、前記対象物の間における干渉の面積が最も小さい前記対象物、または前記対象物の高さ情報が最も高い前記対象物、または前記撮像装置による認識率が最も高い前記対象物、を優先して保持する前記対象物として選択する、
ことを特徴とする情報処理方法。
8. The information processing method according to claim 7 ,
The imaging device is capable of three-dimensional measurement, and there are at least two objects;
Among the objects, an object having the smallest area of interference between the objects, an object having the highest height information, or an object having the highest recognition rate by the imaging device is selected as the object to be held preferentially.
23. An information processing method comprising:
請求項1からのいずれか1項に記載の情報処理方法において、
前記異なる位置は、前記対象物における少なくとも2つの異なる位置姿勢においてそれぞれ設定されている、
ことを特徴とする情報処理方法。
9. The information processing method according to claim 1,
the different positions are set in at least two different positions and orientations of the object,
23. An information processing method comprising:
請求項4に記載の情報処理方法において、
前記移動量の小さい順に前記優先順位を決定するように前記機械学習を行う、
ことを特徴とする情報処理方法。
5. The information processing method according to claim 4,
The machine learning is performed so as to determine the priority order in ascending order of the movement amount.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記異なる位置のそれぞれにおいて、前記対象物を仮想的に示した仮想対象物に仮想的な外力を、前記ロボットを仮想的に示した仮想ロボットによって作用させ前記移動量を取得する、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
a virtual external force is applied to a virtual object virtually representing the object by a virtual robot virtually representing the robot at each of the different positions to obtain the amount of movement.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記異なる位置によって前記対象物を仮想的に示した仮想対象物を保持したか否かを示す判定値を取得し、前記判定値に基づく前記機械学習により、保持成功率の高い前記対象物と、その位置を出力できる前記学習済みモデルを取得する、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
A judgment value indicating whether or not a virtual object virtually showing the object at the different positions is held is obtained, and the trained model capable of outputting the object with a high holding success rate and its position is obtained by the machine learning based on the judgment value.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記対象物の設計情報に基づき前記異なる位置を設定する、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
setting the different positions based on design information of the object;
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記対象物の重心位置の周囲に前記異なる位置を設定する、
ことを特徴とする情報処理方法。
The information processing method according to claim 13 ,
The different positions are set around the center of gravity of the object.
23. An information processing method comprising:
請求項1から1のいずれか1項に記載の情報処理方法において、
前記機械学習は、疊み込みニューラルネットワークを使用している、
ことを特徴とする情報処理方法。
The information processing method according to any one of claims 1 to 14 ,
The machine learning uses a convolutional neural network.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記仮想環境における、前記対象物を仮想的に示した仮想対象物に前記ロボットを仮想的に示した仮想ロボットを接触させる場合の前記仮想対象物の状態を画像で取得し、当該画像を前記機械学習に用いる、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
acquiring an image of a state of a virtual object when a virtual robot representing the robot is brought into contact with a virtual object representing the object in the virtual environment, and using the image for the machine learning;
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記画像の画素数、縦横比と同じ画像を、前記対象物の位置姿勢を撮像する撮像装置により取得する、
ことを特徴とする情報処理方法。
The information processing method according to claim 16 ,
An image having the same pixel count and aspect ratio as the image is acquired by an imaging device that captures the position and orientation of the object.
23. An information processing method comprising:
請求項1から17のいずれか1項に記載の情報処理方法において、
前記学習済みモデルの取得が終了したことをユーザに通知する、
ことを特徴とする情報処理方法。
18. The information processing method according to claim 1,
Notifying the user that acquisition of the trained model has been completed;
23. An information processing method comprising:
請求項18に記載の情報処理方法において、
前記学習済みモデルの取得が終了したことを前記ユーザに通知するとともに、前記ロボットによる前記対象物の保持を実行可能であることを前記ユーザに通知する、
ことを特徴とする情報処理方法。
20. The information processing method according to claim 18 ,
notifying the user that acquisition of the trained model has been completed and that holding of the object by the robot can be executed;
23. An information processing method comprising:
請求項1から19のいずれか1項に記載の情報処理方法において、
前記対象物はバラ積みされている、
ことを特徴とする情報処理方法。
20. The information processing method according to claim 1,
The object is bulk loaded.
23. An information processing method comprising:
請求項1から2のいずれか1項に記載の情報処理方法において、
前記移動量は、前記シミュレーションにおいて前記対象物に前記ロボットを接触させる前から変化した前記対象物の位置または姿勢に関する情報である、
ことを特徴とする情報処理方法。
The information processing method according to any one of claims 1 to 20 ,
The amount of movement is information about a position or a posture of the object that has changed from before the robot contacts the object in the simulation.
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
前記シミュレーションにおいて、前記対象物を仮想的に示した仮想対象物を、前記ロボットを仮想的に示した仮想ロボットにより第1位置で保持する場合と、前記仮想対象物を前記仮想ロボットにより前記第1位置とは異なる第2位置で保持する場合と、のそれぞれにおける前記移動量に関する情報を取得する、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
In the simulation, information is obtained regarding the amount of movement in each of a case where a virtual object virtually representing the object is held at a first position by a virtual robot virtually representing the robot, and a case where the virtual object is held at a second position different from the first position by the virtual robot.
23. An information processing method comprising:
請求項1から2のいずれか1項に記載の情報処理方法により取得された前記学習済みモデルを用いて制御される前記ロボットを備えるロボットシステム。 A robot system comprising the robot controlled using the trained model acquired by the information processing method according to claim 1 . 請求項2に記載のロボットシステムを用いて物品の製造を行うことを特徴とする物品の製造方法。 A method for manufacturing an article, comprising the steps of: manufacturing an article using the robot system according to claim 2 or 3 . 請求項1から2のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the information processing method according to any one of claims 1 to 22 . 請求項2に記載のプログラムを格納したコンピュータで読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 25 . ロボットによって対象物を保持する場合に用いる学習済みモデルを取得する情報処理装置であって、
処理部が、
前記対象物を保持するために前記ロボットを前記対象物に接触させた場合における、当該接触によって前記対象物が移動する移動量に関する情報を、仮想環境でのシミュレーションにより取得し、
前記対象物のそれぞれ異なる位置で接触させた場合に対応して取得した複数の前記移動量に関する情報に基づき機械学習することで、前記学習済みモデルを取得する、
ことを特徴とする情報処理装置。
An information processing device that acquires a trained model used when holding an object by a robot,
The processing unit:
acquiring information on an amount of movement of the object caused by contact of the robot with the object in order to hold the object, by simulating the information in a virtual environment;
and acquiring the trained model by performing machine learning based on information about a plurality of the movement amounts acquired in response to contact at different positions of the object.
23. An information processing apparatus comprising:
JP2019130602A 2019-07-12 2019-07-12 Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device Active JP7504566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019130602A JP7504566B2 (en) 2019-07-12 2019-07-12 Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019130602A JP7504566B2 (en) 2019-07-12 2019-07-12 Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device

Publications (3)

Publication Number Publication Date
JP2021013996A JP2021013996A (en) 2021-02-12
JP2021013996A5 JP2021013996A5 (en) 2022-07-15
JP7504566B2 true JP7504566B2 (en) 2024-06-24

Family

ID=74532064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019130602A Active JP7504566B2 (en) 2019-07-12 2019-07-12 Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device

Country Status (1)

Country Link
JP (1) JP7504566B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022160363A (en) * 2021-04-06 2022-10-19 キヤノン株式会社 Robot system, control method, image processing apparatus, image processing method, method of manufacturing products, program, and recording medium
WO2022264726A1 (en) * 2021-06-15 2022-12-22 三菱電機株式会社 Transport system, method executed by computer for controlling transport of articles, and program for causing computer to execute this method
JP7551583B2 (en) * 2021-09-10 2024-09-17 株式会社東芝 Control device, control method and program
JP7726730B2 (en) * 2021-10-14 2025-08-20 株式会社日立製作所 Computer system and model learning method
JP2023088670A (en) 2021-12-15 2023-06-27 コニカミノルタ株式会社 Picking device, picking method and program
JP2023098781A (en) * 2021-12-29 2023-07-11 川崎重工業株式会社 Object detection device, robot system and object detection program
EP4491353A4 (en) * 2022-03-08 2026-03-11 Kyocera Corp ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
JP7726845B2 (en) * 2022-06-10 2025-08-20 株式会社神戸製鋼所 Robot motion trajectory generation method, motion trajectory generation device, robot system, and program
JP7832919B2 (en) * 2023-12-21 2026-03-18 株式会社安川電機 Control support system, control support method, and control support program
JP2025185577A (en) * 2024-06-10 2025-12-22 オムロン株式会社 Control device, control method, control program, trained model generation device, trained model generation method, and trained model generation program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018144153A (en) 2017-03-03 2018-09-20 株式会社キーエンス Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6522488B2 (en) * 2015-07-31 2019-05-29 ファナック株式会社 Machine learning apparatus, robot system and machine learning method for learning work taking-out operation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018144153A (en) 2017-03-03 2018-09-20 株式会社キーエンス Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device

Also Published As

Publication number Publication date
JP2021013996A (en) 2021-02-12

Similar Documents

Publication Publication Date Title
JP7504566B2 (en) Information processing method, robot system, article manufacturing method, program, recording medium, and information processing device
JP6704157B1 (en) Robot system with dynamic packing mechanism
US20260042261A1 (en) Systems, methods, and media for artificial intelligence process control in additive manufacturing
JP7454148B2 (en) Robot system with packing mechanism
JP7255919B2 (en) Systems, methods and media for artificial intelligence process control in additive manufacturing
US11511415B2 (en) System and method for robotic bin picking
Cruciani et al. Benchmarking in-hand manipulation
JP6931457B2 (en) Motion generation method, motion generator, system and computer program
KR20200138076A (en) A robotic system with error detection and dynamic packing mechanism
JP6036662B2 (en) Robot simulation apparatus, program, recording medium and method
CN111683798B (en) Workpiece pickup device and workpiece pickup method
JP2020082322A (en) Machine learning device, machine learning system, data processing system and machine learning method
JP5544464B2 (en) 3D position / posture recognition apparatus and method for an object
US20210003992A1 (en) Method and device for generating tool paths
JP2016196077A (en) Information processor, information processing method, and program
CN116206170A (en) Training a robot to destack using synthetic data sets
JP7633423B2 (en) Training data generating device and training data generating method, and machine learning device and machine learning method using training data
US12304066B2 (en) Automatic gripper fingertip design to reduce leftover in random bin picking applications
CN121083378B (en) A method and system for feeding materials using an intelligent robot
JP2019153309A (en) Image processing device, bin picking system, image processing method, and image processing program
US20240017413A1 (en) Information processing method, information processing apparatus, robot system, manufacturing method of product, and storage medium
US12533809B2 (en) Robot posture determination device, method, and program
CN115114683A (en) System and method for feeding back constraints in autonomic skill execution into design
CN120697041B (en) Truss mechanical arm of loading and unloading vehicle and control method thereof
CN118456442B (en) Robot control method, device, electronic device, readable storage medium and program product

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240220

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240228

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: 20240514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240612