JP2021013996A - Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system - Google Patents

Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system Download PDF

Info

Publication number
JP2021013996A
JP2021013996A JP2019130602A JP2019130602A JP2021013996A JP 2021013996 A JP2021013996 A JP 2021013996A JP 2019130602 A JP2019130602 A JP 2019130602A JP 2019130602 A JP2019130602 A JP 2019130602A JP 2021013996 A JP2021013996 A JP 2021013996A
Authority
JP
Japan
Prior art keywords
virtual
robot
priority
robot system
holding position
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.)
Pending
Application number
JP2019130602A
Other languages
Japanese (ja)
Other versions
JP2021013996A5 (en
Inventor
明裕 小田
Akihiro Oda
明裕 小田
英勝 杉山
Hidekatsu Sugiyama
英勝 杉山
敬史 山崎
Takashi Yamazaki
敬史 山崎
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/JP2021013996A/en
Publication of JP2021013996A publication Critical patent/JP2021013996A/en
Publication of JP2021013996A5 publication Critical patent/JP2021013996A5/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a control method of a robot system capable of enhancing, in a short time, a success rate of part take-out operations, reducing a number of retry operations, and preventing extension of cycle time in a part take-out device or the like.SOLUTION: A control method of a robot system comprises: generating a bulk state of a plurality of virtual objects where a virtual environment is used (101); generating a holding position where a virtual robot device holds each of the virtual objects (102); executing operations of taking out the virtual objects in the bulk state in the virtual robot device (104); generating a trained model capable of outputting a priority of multiple possible holding positions from a specific position and orientation of the object by machine learning resulted by operations of taking out the virtual objects that the virtual robot device is caused to execute (200); then, causing an actual robot manipulator to take out objects, using this trained model; and performing re-learning to update the priority of multiple holding positions of the trained model (203).SELECTED DRAWING: Figure 1

Description

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

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

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

しかしながら、現実のロボットマニピュレータでは、取り出しハンドが部品を保持する際に、保持するための外力が部品に加わる。そのために、取り出ししようとする部品の姿勢が崩れ、ロボットマニピュレータが保持に失敗してしまうことがある。この点に関しては、例えば、下記の特許文献2などに示されるように、実際に部品を操作する期間において、部品の取り出しに失敗した時の動作条件を学習する機能をロボットマニピュレータに実装しておくことが考えられる。 However, in a real robot manipulator, when the take-out hand holds the part, an external force for holding the part is applied to the part. As a result, the posture of the part to be taken out may be lost, and the robot manipulator may fail to hold it. Regarding this point, for example, as shown in Patent Document 2 below, a function for learning the operating conditions when the parts cannot be taken out during the period of actually operating the parts is implemented in the robot manipulator. Is possible.

特開平5−127722号公報Japanese Unexamined Patent Publication No. 5-127722 特開2017−64910号公報JP-A-2017-64910

しかしながら、上述の特許文献2では、対象物である部品の姿勢を崩さずに保持できる部品保持位置を全網羅的に探索するため、失敗してはリトライする動作を繰り返すことになる。これにより、部品操作、例えば一つの部品の取り出しに要する一連の処理時間(=サイクルタイム)が長くなる可能性がある。 However, in the above-mentioned Patent Document 2, in order to comprehensively search for a component holding position that can hold the target component without breaking its posture, if it fails, the retry operation is repeated. As a result, a series of processing time (= cycle time) required for component operation, for example, taking out one component may become long.

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

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

上記課題を解決するため、本発明のロボットシステムの制御方法においては、仮想環境中で複数の仮想対象物のバラ積み状態を生成する仮想バラ積み状態生成工程と、仮想ロボット装置が前記仮想対象物を保持する保持位置を生成する部品保持位置候補生成工程と、バラ積み状態の仮想対象物に対し、仮想環境中で仮想ロボット装置に仮想対象物を取り出す動作を実行させる仮想部品保持動作実行工程と、バラ積み状態の仮想対象物に対して、前記仮想部品保持動作実行工程で複数回、異なる保持位置で、仮想ロボット装置に仮想対象物を取り出す動作を実行させた結果の機械学習により対象物の特定の位置姿勢から、その位置姿勢に対してロボット装置が取り得る複数の保持位置の優先順位を出力可能な学習済みモデルを生成する優先順位学習工程と、実際のバラ積み状態の対象物の位置姿勢と、前記優先順位学習工程が生成した前記学習済みモデルと、を用いて決定した保持位置によって、実際のロボット装置に対象物を取り出す取り出し動作を実行させるロボット制御工程と、前記ロボット制御工程が前記ロボット装置に実行させた取り出し動作の結果の機械学習により前記学習済みモデルの複数の保持位置の優先順位を更新する再学習を行う優先順位更新工程と、を含む構成を採用した。 In order to solve the above problems, in the control method of the robot system of the present invention, a virtual bulk stacking state generation step of generating a bulk stacking state of a plurality of virtual objects in a virtual environment and a virtual robot device are used for the virtual target. A component holding position candidate generation process for generating a holding position for holding a robot, and a virtual component holding operation execution process for causing a virtual robot device to take out a virtual object in a virtual environment for a virtual object in a separately stacked state. , The virtual object in the loosely stacked state is subjected to the operation of taking out the virtual object by the virtual robot device at different holding positions multiple times in the virtual component holding operation execution step. A priority learning process that generates a trained model that can output the priority of multiple holding positions that the robot device can take for that position / orientation from a specific position / orientation, and the position of the object in the actual loose stacking state. The robot control step of causing the actual robot device to execute the take-out operation of taking out the object and the robot control step based on the holding position determined by using the posture and the learned model generated by the priority learning step. A configuration including a priority update step of re-learning to update the priority of a plurality of holding positions of the trained model by machine learning of the result of the retrieval operation executed by the robot device is adopted.

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

本発明を採用した部品取り出し装置の機能的な構成を示したブロック図である。It is a block diagram which showed the functional structure of the component taking-out apparatus which adopted this invention. 本発明を採用した部品取り出し装置の計算処理を示したフローチャート図である。It is a flowchart which showed the calculation process of the component taking-out apparatus which adopted this invention. (A)はバラ積み部品の一例を示した説明図、(B)はバラ積み部品の配置例の説明図、(C)は部品外形と分割方法の一例を示した説明図、(D)はN=3の時のバラ積み部品の配置を示した説明図、(E)は保持位置候補の設定を示した説明図である。(A) is an explanatory diagram showing an example of loosely stacked parts, (B) is an explanatory diagram of an arrangement example of loosely stacked parts, (C) is an explanatory diagram showing an example of the outer shape of parts and a division method, and (D) is an explanatory diagram. An explanatory diagram showing the arrangement of loosely stacked parts when N = 3, and (E) an explanatory diagram showing the setting of holding position candidates. (A)は仮想空間におけるバラ積み状態の一例の説明図、(B)は仮想空間における点群データの一例を示した説明図、(C)は画像データのトリミングの一例を示した説明図、(D)は仮想的な外力の付与の一例を示した説明図である。(A) is an explanatory diagram of an example of a loose stacking state in a virtual space, (B) is an explanatory diagram showing an example of point cloud data in the virtual space, and (C) is an explanatory diagram showing an example of trimming image data. (D) is an explanatory diagram showing an example of applying a virtual external force. (A)、(B)、(C)は吸着式、外径把持式、内径把持式における外力の付与態様を示した説明図である。(A), (B), and (C) are explanatory views showing the mode of applying an external force in the suction type, the outer diameter gripping type, and the inner diameter gripping type. (A)は1パターンの画像データに対する昇順ソート前後の保持位置候補のデータリストを示した説明図、(B)は全パターンの画像データに対する昇順ソート前後の保持位置候補のデータリストを示した説明図である。(A) is an explanatory diagram showing a data list of holding position candidates before and after ascending sort for one pattern of image data, and (B) is an explanatory diagram showing a data list of holding position candidates before and after ascending sorting for all patterns of image data. It is a figure. CNN(疊み込みニューラルネットワーク)の学習モデルの一例を示した説明図である。It is explanatory drawing which showed an example of the learning model of CNN (scratch neural network). (A)は画像データの取得処理を示したフローチャート図、(B)は取り出し対象部品の決定手法を示した説明図である。(A) is a flowchart showing an image data acquisition process, and (B) is an explanatory diagram showing a method of determining a part to be taken out. CNN(疊み込みニューラルネットワーク)の予測モデルの一例を示した説明図である。It is explanatory drawing which showed an example of the prediction model of CNN (scratch neural network). 1パターンの画像データに対する保持位置候補の優先順位の変更処理の一例を示した説明図である。It is explanatory drawing which showed an example of the change process of the priority order of the holding position candidate with respect to one pattern image data. 本発明を採用した異なる部品取り出し装置の機能的な構成を示したブロック図である。It is a block diagram which showed the functional structure of the different component taking-out apparatus which adopted this invention. 図11の構成における計算処理を示したフローチャート図である。It is a flowchart which showed the calculation process in the structure of FIG. (A)は図11の構成における判定値の計算方法を示した説明図、(B)は図11の構成における判定値を備えた画像データおよび保持位置候補のデータリストを示した説明図である。(A) is an explanatory diagram showing a calculation method of a determination value in the configuration of FIG. 11, and (B) is an explanatory diagram showing an image data having a determination value in the configuration of FIG. 11 and a data list of holding position candidates. .. (A)は図11の構成におけるCNN(疊み込みニューラルネットワーク)の学習モデルの一例を示した説明図、(B)は図11の構成におけるCNN(疊み込みニューラルネットワーク)の予測モデルの一例を示した説明図である。(A) is an explanatory diagram showing an example of a learning model of CNN (convolutional neural network) in the configuration of FIG. 11, and (B) is an example of a prediction model of CNN (convolutional neural network) in the configuration of FIG. It is explanatory drawing which showed. (A)は図11の構成における画像データの取得処理を示したフローチャート図、(B)は図11の構成における画像データのトリミングの一例を示した説明図である。(A) is a flowchart showing the image data acquisition process in the configuration of FIG. 11, and (B) is an explanatory diagram showing an example of trimming of the image data in the configuration of FIG. 図11の構成における判定値の更新方法の一例を示した説明図である。It is explanatory drawing which showed an example of the update method of the determination value in the configuration of FIG. 本発明を採用した部品取り出し装置を利用して物品を製造する生産ラインの構成を示した説明図である。It is explanatory drawing which showed the structure of the production line which manufactures an article by using the parts take-out apparatus which adopted this invention. 図1、あるいは図11の計算部、学習部などを構成する制御系の一例を示したブロック図である。It is a block diagram which showed an example of the control system which comprises the calculation part, the learning part, etc. of FIG. 1 or FIG.

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

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

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

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

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

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

ネットワークインターフェース1607は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。CPU1601は、ネットワークインターフェース1607を介して、他の装置1104とデータ通信することができる。この他の装置1104は、例えば、物品の製造に係るコントローラや統轄制御装置、あるいは他の管理サーバなどに相当する。図1のロボットマニピュレータ11や、生産ラインに配置された他の生産機器との通信も、ネットワークインターフェース1607を介して行うことができる。 The network interface 1607 can be configured using, for example, a wired communication standard such as IEEE 802.3 or a wireless communication standard such as IEEE 802.11, 802.11. The CPU 1601 can perform data communication with another device 1104 via the network interface 1607. The other device 1104 corresponds to, for example, a controller or a control control device for manufacturing an article, or another management server. Communication with the robot manipulator 11 shown 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は、後述の保持位置候補のユーザ指定や、各種ユーザ通知、あるいは処理の進行に関するユーザ指令の入力手段などとして用いることができる。 Further, the control device of FIG. 18 includes a user interface device 400 (UI device). As the user interface device 400, a GUI device including an LCD display, a keyboard, a pointing device (mouse, joystick, etc.) and the like may be arranged. Through such a user interface device 400, it is possible to notify the user of the progress of various arithmetic processes, or to set various parameters for controlling the processes described later. Further, the user interface device 400 can be used as a user designation of a holding position candidate described later, various user notifications, an input means of a user command regarding the progress of processing, and the like.

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

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

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

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

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

Figure 2021013996
Figure 2021013996

Figure 2021013996
Figure 2021013996

上記表現に基づき、移動部品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 component 131 is arranged as (Δx, Δy), (−Δx, Δy), (Δx, −Δy), (−Δx, −Δy), the total n × It is possible to obtain a loose stacking arrangement pattern of m patterns. Further, in each arrangement, when the moving component 131 is rotated on the xy plane shown in FIG. 3 (B) by Δθ obtained by dividing 360 degrees by k as shown in the following equation (4), a total of n × It is possible to obtain an m × k pattern of loose stacking arrangement pattern. For example, in the case of n = 10, m = 10, k = 12, a total of 1200 patterns of loose stacking arrangement patterns can be obtained.

Figure 2021013996
Figure 2021013996

以上のような演算処理によって、仮想バラ積み状態生成部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 arithmetic processing, the virtual bulk stacking state generation unit 101 can generate the bulk stacking state by the same method even when the number of parts is N = 3 or more. For example, when N = 3, the loose stacking arrangement state (pattern) is formed by further arranging the moving parts 132 on the moving parts 131 as shown in FIG. 3 (D). At this time, if the moving part 131 is regarded as a fixed part and the moving part 132 is moved by the same method as described above, n × m × k can be obtained and combined with the arrangement pattern of the fixed part 130 and the moving part 131. And, a total (n × m × k) of two patterns can be obtained. If the number of parts is N, the calculation is recursively repeated, so the number of arrangement patterns is the number of parts / patterns to the (N-1) power as shown by the following equation (5).

Figure 2021013996
Figure 2021013996

次に、図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 a holding position candidate when the hand 12 of the robot manipulator 11 (virtual robot) holds the component. As shown in FIG. 3 (E), the holding position candidates H1 to H4 are provided at a plurality of points on the surface of the component so that the contact surface between the hand 12 and the component has a certain area or more. For example, when a suction pad (suction head) is used for the hand 12, a surface where the suction pad and the surface of the component can be in close contact with each other is selected as a holding position candidate. In the holding by the suction pad (suction head), the position of the uneven surface or the through hole of the component is not preferable as a holding position candidate because a gap is formed between the suction pad and the component.

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

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

次に、図2のステップS103では、ステップS102で生成された保持位置候補の中から一つだけ保持位置を選択する。この選択処理は、後述するステップS107で全ての保持位置候補が選択完了するまで行われる。 Next, in step S103 of FIG. 2, only one holding position is selected from the holding position candidates generated in step S102. This selection process is performed until all the holding position candidates are 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)などの記憶装置に記録しておく。 Subsequently, in step S104, the virtual component state recognition unit 103 recognizes the parts in the loosely stacked state generated in step S101 on the virtual space. As shown in FIG. 4 (A), in the coordinate system on the virtual space, when the height information of the component surface is plotted on the xy plane along the illustrated Z axis, FIG. 4 (B) shows. The point cloud data as shown can be obtained. Such point group data is recorded in a storage device such as RAM 1603 (FIG. 18) using an image data format such as TIFF (Tagged Image File Form) format that can hold "pixel data + height information". Keep it.

さらに、この画像データは、後述する認識部10の画像データとの整合性のため、最上段の移動部品(図3(D)の例では移動部品132)の重心位置を中心に部品の外形が含まれるようにトリミング処理して記録する。トリミングの際には、図3(C)にWx、Wyで示すように、例えば部品外形の2倍のサイズが画面内に収まる画素数など固定値として設定し、縦横比も任意の定数を設定する。 Further, in order to make the image data consistent with the image data of the recognition unit 10 described later, the outer shape of the component is centered on the position of the center of gravity of the uppermost moving component (moving component 132 in the example of FIG. 3D). Trimming and recording so that it is included. At the time of trimming, as shown by Wx and Wy in FIG. 3C, for example, twice the size of the outer shape of the part is set as a fixed value such as the number of pixels that fits in the screen, and the aspect ratio is also set to an arbitrary constant. To do.

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

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

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

Figure 2021013996
Figure 2021013996

次に、図2のステップS107では、ステップS102で生成された全保持位置候補に対し、ステップS103〜ステップS106の試行が完了したかを確認する。もし、生成された全保持位置候補に対するステップS103〜ステップS106の試行が未完了であれば、ステップS107からS103に戻り、未試行の保持位置候補を選択し、ステップS103〜ステップS106の処理を繰り返す。もし、生成された全保持位置候補に対するステップS103〜ステップS106の試行が完了であれば、ステップS107からS108へ進む。 Next, in step S107 of FIG. 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 for all the generated holding position candidates are not completed, the process returns from steps S107 to S103, the untried holding position candidates are selected, and the processes of steps S103 to S106 are repeated. .. If the trials of steps S103 to S106 for all the generated holding position candidates are completed, the process proceeds from steps S107 to S108.

ステップS108では、全保持位置候補に対し、式(6)で計算されたΔに基づき、優先順位決定部106で優先順位の決定を行う。優先順位を決定する際には、図6(A)に図示されるように、例えばステップS101でされたバラ積み状態のパターン1に対し、保持位置候補をΔで昇順ソートを行い、Δが小さいほど優先順位が高いものと定義する。この時、Δが同値となる保持位置候補がある場合は、保持位置候補の番号が小さいほうを優先順位が高いものとする。このような優先順位決定は、部品を仮想的に保持した時に計算される移動量(Δ)が小さいほど安定的な保持、取り出しが行える、という推論に基づく。 In step S108, the priority order determination unit 106 determines the priority of all the holding position candidates based on the Δ calculated by the equation (6). When determining the priority order, as shown in FIG. 6A, for example, the holding position candidates are sorted in ascending order by Δ for the pattern 1 in the loosely stacked state in step S101, and Δ is small. It is defined as having a higher priority. At this time, if there are holding position candidates having the same value of Δ, the one with the smaller number of the holding position candidates has the higher priority. Such priority determination is based on the inference that the smaller the movement amount (Δ) calculated when the parts are virtually held, the more stable the holding and taking out 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 sort calculation result of the priority calculated in step S108 is recorded in a storage device such as RAM 1603 (FIG. 18). Next, in step S110, it is confirmed whether the trials of S101 to S109 have been completed for all the arrangement patterns generated in step S101. If it is not completed, the process returns to step S101, a pattern in an untried bulk stacking state is generated, and the processes of S102 to S109 are executed. If completed, the processing flow of the calculation unit 100 ends. At the end of this processing flow, as shown in FIG. 6B, a list in which the priority order of the holding position candidates is determined is output for the pattern in the all loose stacking state. This list is stored in a storage device (not shown) of the learning unit 200.

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

機械学習には、入出力データの関係が既知の訓練データから学習済みモデルを算出する「教師あり学習」と、出力すべきものが決まっていない状態で、入力データに共通する一定のルールをモデル化する「教師なし学習」と、がある。また、現在の入力データから次に出力すべき内容を決定する「強化学習」なども知られている。本実施形態で用いる機械学習は、入出力データが既知のデータセット(学習データ)からモデルを算出する「教師あり学習」である。 Machine learning includes "supervised learning," which calculates a trained model from training data whose input / output data relationships are known, and models certain rules that are common to input data when what should be output has not been decided. There is "unsupervised learning". In addition, "reinforcement learning" that determines the content to be output next 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 input / output data is 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 component state recognition unit 103 in step 104 is used as the input data as the teacher data, and the holding position candidate obtained in step 108 is used as the output data. (Fig. 6 (B)). When performing "supervised learning" using such image data as an input, for example, a neural network such as CNN (convolutional neural network) known as one of deep learning can be used. This CNN (Neural Network) constitutes a trained model that correlates a specific position / orientation of a virtual object with a plurality of holding positions that can be prioritized by a virtual robot device. By using such a trained model, it is possible to output the priority of a plurality of holding positions that the robot device can take with respect to the specific position and orientation of the object.

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

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

仮想環境を用いて学習済みモデルを生成した後は、実際のロボット制御による取り出し動作の試行を行うことができる(ロボット制御工程)。この実取り出し動作において、優先順位予測部202では、優先順位学習部201で計算された学習済みモデルを用いて、実際の装置でロボットマニピュレータ11が部品を取り出す際の保持位置の優先順位の予測を行う。この優先順位の予測では、入力データには、認識部10により取得される、実際の装置におけるバラ積み状態の部品の画像データを用いる。ここで用いる画像データとは、例えば仮想部品状態認識部103で得られるものと同等の3次元情報を含む点群データである。 After the trained model is generated using the virtual environment, it is possible to try the extraction operation by the actual robot control (robot control process). In this actual retrieval 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 extracts the parts in the actual device. Do. In this priority prediction, as the input data, the image data of the parts in the loosely stacked state in the actual device, which is acquired by the recognition unit 10, is used. The image data used here is, for example, point cloud data including three-dimensional information equivalent to that obtained by the virtual component state recognition unit 103.

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

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

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

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

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

以上のようにして、トリミングされた部品の画像データが優先順位予測部202に取り込まれ、優先順位学習部201で計算された学習済みモデル(図9のCNN)を用いて部品のどの位置を保持すべきか優先順位の予測を行う。図9のネットワークの初期状態は、図7のように優先順位学習部201で計算された学習済みモデルと同じである。この学習済みモデル(図9のCNN)を用いて、入力部の実際に撮像された部品の画像から、出力部の当該部品の保持位置候補の優先順位リストに到達することができる。そして、ロボット制御部は学習済みモデル(図9のCNN)を用いて得られた、優先順位の最上位の部品保持位置を保持するようにロボットマニピュレータ11を制御し、ロボットマニピュレータ11がその取り出し動作を実行する。 As described above, the image data of the trimmed part is taken into the priority prediction unit 202, and the position of the part is held by using the trained model (CNN in FIG. 9) calculated by the priority learning unit 201. Predict the priority of what to do. The initial state of the network in FIG. 9 is the same as the trained model calculated by the priority learning unit 201 as shown in FIG. Using this trained model (CNN in FIG. 9), it is possible to reach the priority list of the holding position candidates of the component in the output section from the image of the component actually captured in the input section. Then, the robot control unit controls the robot manipulator 11 so as to hold the component holding position having the highest priority obtained by using the learned model (CNN in FIG. 9), and the robot manipulator 11 takes out the robot manipulator 11. To execute.

取り出し動作を実行したロボットマニピュレータ11は、上記の優先順位予測部202の指示に従い部品の保持動作を行い、部品を保持したまま所定の位置まで部品の搬送を行う。そして搬送先の地点において、取り出し結果検出部15による取り出し結果の確認が行われる。取り出し結果検出部15は、例えば、搬送先の地点において、ロボットマニピュレータ11が部品を保持しているか否かを確認しており、例えば、部品を保持していたら取り出し成功、部品を保持していなければ取り出し失敗の二値信号を出力する。 The robot manipulator 11 that has executed the take-out operation performs the component holding operation according to the instruction of the priority order prediction unit 202 described above, and transfers the component to a predetermined position while holding the component. Then, at the destination point, the extraction result detection unit 15 confirms the extraction result. The take-out result detection unit 15 confirms whether or not the robot manipulator 11 holds the part at the transfer destination, for example. If the part is held, the take-out is successful and the part must be held. If so, a binary signal of extraction failure is output.

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

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

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

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

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

(取り出し成功率の高い部品、保持位置を選択する)
取り出し成功率の高い部品、保持位置を選択する制御を行うこともできる。以上では、認識部10で認識された一つの部品に対し、最も取り出し成功率の高い保持位置の選択を行う例を示したが、ここでは、複数の部品の中から最も取り出し成功率の高い部品を選択する。また、選択された部品の中でも最も取り出し成功率が高い保持位置を選択して部品の取り出しを行う。この制御につき、図11、図12を参照して説明する。図11は上記の図1に対応したシステムの構成を、図12は上記の図2に対応した制御手順を示している。図11では、保持成否判定部106b、保持成功率学習部201b、保持成功率予測部202b、および保持成功率更新部203bが設けられている点が図1と異なる。
(Select a part with a high success rate of removal and a holding position)
It is also possible to control the selection of parts and holding positions with a high take-out success rate. In the above, an example of selecting the holding position having the highest take-out success rate for one part recognized by the recognition unit 10 has been shown, but here, the part having the highest take-out success rate among a plurality of parts has been shown. Select. In addition, the parts are taken out by selecting the holding position having the highest take-out success rate among the selected parts. This control will be described with reference to FIGS. 11 and 12. FIG. 11 shows the configuration of the system corresponding to the above FIG. 1, and FIG. 12 shows the control procedure corresponding to the above FIG. FIG. 11 is different from FIG. 1 in that the retention success / failure determination unit 106b, the retention success rate learning unit 201b, the retention success rate prediction unit 202b, and the retention 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 of FIG. 11, the same processing as in FIG. 2 is performed until the virtual component movement amount calculation unit 105 calculates the movement amount of the parts in step S106. In the control of FIG. 12, after step S107 for determining whether or not all the holding position candidates have been processed, the holding success / failure determination unit 106b determines the holding success / failure in step S108b. As shown in FIG. 13A, for example, the retention success / failure determination unit 106b determines the retention success / failure based on the Δ calculated in (Equation 6) and an arbitrary threshold value Δth, as in the following equation (7). Is judged.

Figure 2021013996
Figure 2021013996

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

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

実際に部品取り出しを試行する際には、保持成功率予測部202bが、図14(A)のように前述の保持成否判定部106bで計算された学習済みモデルに基づき、実際の装置でロボットマニピュレータ11が取り出す部品と、保持すべき保持位置の予測を行う。 When actually trying to take out parts, the holding success rate prediction unit 202b is a robot manipulator with an actual device based on the learned model calculated by the holding success / failure judgment unit 106b as shown in FIG. 14 (A). The parts taken out by 11 and the holding position to be held are predicted.

予測を行うには、入力データには、上述と同様にしてステレオカメラなどにより実装された認識部10を用いて、取得される実際のバラ積み状態の部品の画像データを取得し、これを上記学習済みモデルの入力データとして用いる。 In order to make a prediction, as the input data, the recognition unit 10 mounted by a stereo camera or the like is used in the same manner as described above, and the image data of the parts in the actual loosely stacked state to be acquired is acquired, and this is used as described above. 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 image data acquisition process is shown in FIG. 15 (A). FIG. 15A is a process corresponding to FIG. 8A, and the difference from FIG. 8A is that step S204 in FIG. 8A is step S204b. In the above example, the target parts are narrowed down to one according to how the parts overlap (FIG. 8 (B)), whereas in step S204b of FIG. 15 (A), for example, a plurality of targets are used. Parts can be selected. When a plurality of target parts are determined, the three-dimensional data corresponding to the number of target parts is trimmed as shown by 136 and 137 in FIG. 15B, as in the case where the number of target parts is one. Record (steps S205, S206).

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

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

Figure 2021013996
Figure 2021013996

この新たに更新されたパターンを図16のリストに加え、保持成功率学習部201bでモデルの再学習を行う。以上に示したように、図11〜図16の構成によると、次回以降類似のバラ積み状態のパターンに対し、部品の取り出し成功率を考慮した上で、同じ失敗を繰り返さないように取り出しの成功/失敗を学習することができる。そのため、実際にロボットマニピュレータ11の取り出し動作を開始させた後、高速に取り出し成功率を高めることができ、リトライ動作によるサイクルタイムの延長を短縮することができる。 This newly updated pattern is added to the list of FIG. 16, and the retention success rate learning unit 201b retrains the model. As shown above, according to the configurations of FIGS. 11 to 16, the success of taking out the same failure is not repeated in consideration of the success rate of taking out the parts for the pattern in the similar piled state from the next time onward. / Can learn failure. Therefore, after actually starting the take-out operation of the robot manipulator 11, the take-out success rate can be increased at high speed, and the extension of the cycle time due to the retry operation can be shortened.

即ち、上記構成によれば、ロボットマニピュレータはバラ積み状態の部品の中から、最も取り出し成功率の高い部品とその保持位置を選択して部品の取り出しを行うことができる。そのため、上述の効果に加え、より高い取り出し成功率で対象物の部品の取り出しを行うことができる、という優れた効果がある。 That is, according to the above configuration, the robot manipulator can take out the parts having the highest take-out success rate and the holding position thereof from the parts in the loosely stacked state. Therefore, in addition to the above-mentioned effects, there is an excellent effect that the parts of the object can be taken out with a higher take-out 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 ... Parts retrieval device, 10 ... Recognition unit, 11 ... Robot manipulator, 12 ... Hand, 13, 130, 131 ... Parts, 14 ... Flat plate, 15 ... Extraction result detection unit, 100 ... Calculation unit, 101 ... Virtual bulk stacking state Generation unit, 102 ... Part holding position candidate generation unit, 103 ... Virtual part state recognition unit, 104 ... Virtual part retrieval operation execution unit, 105 ... Virtual part movement amount calculation unit, 106 ... Priority determination unit, 106b ... Holding success / failure judgment Department, 200 ... Learning unit, 201 ... Priority learning unit, 201b ... Retention success rate learning unit, 202 ... Priority prediction unit, 202b ... Retention success rate prediction unit, 203 ... Priority update unit, 203b ... Retention success rate update Department.

Claims (19)

仮想環境中で複数の仮想対象物のバラ積み状態を生成する仮想バラ積み状態生成工程と、
仮想ロボット装置が前記仮想対象物を保持する保持位置を生成する部品保持位置候補生成工程と、
バラ積み状態の仮想対象物に対し、仮想環境中で仮想ロボット装置に仮想対象物を取り出す動作を実行させる仮想部品保持動作実行工程と、
バラ積み状態の仮想対象物に対して、前記仮想部品保持動作実行工程で複数回、異なる保持位置で、仮想ロボット装置に仮想対象物を取り出す動作を実行させた結果の機械学習により対象物の特定の位置姿勢から、その位置姿勢に対してロボット装置が取り得る複数の保持位置の優先順位を出力可能な学習済みモデルを生成する優先順位学習工程と、
実際のバラ積み状態の対象物の位置姿勢と、前記優先順位学習工程が生成した前記学習済みモデルと、を用いて決定した保持位置によって、実際のロボット装置に対象物を取り出す取り出し動作を実行させるロボット制御工程と、
前記ロボット制御工程が前記ロボット装置に実行させた取り出し動作の結果の機械学習により前記学習済みモデルの複数の保持位置の優先順位を更新する再学習を行う優先順位更新工程と、を含むロボットシステムの制御方法。
A virtual bulking state generation process that generates a bulking state of multiple virtual objects in a virtual environment,
A component holding position candidate generation step of generating a holding position in which the virtual robot device holds the virtual object, and
A virtual component holding operation execution process that causes a virtual robot device to execute an operation of taking out a virtual object in a virtual environment for a virtual object in a separately stacked state.
Specifying an object by machine learning as a result of having a virtual robot device execute an operation of taking out a virtual object at different holding positions multiple times in the virtual component holding operation execution process for a virtual object in a loosely stacked state. A priority learning process that generates a trained model that can output the priority of multiple holding positions that the robot device can take with respect to the position and orientation of
The actual robot device is made to execute the taking-out operation of taking out the object according to the holding position determined by using the position and orientation of the objects in the actual loose stacking state and the learned model generated by the priority learning step. Robot control process and
A robot system including a priority update step of performing re-learning to update the priority of a plurality of holding positions of the learned model by machine learning as a result of a take-out operation executed by the robot control step. Control method.
請求項1に記載のロボットシステムの制御方法において、前記優先順位学習工程が、仮想対象物の取り出し動作の前後の仮想対象物の移動量を算出し、前記移動量の小さい順に対象物の保持位置の優先順位を決定する優先順位学習を行うロボットシステムの制御方法。 In the robot system control method according to claim 1, the priority learning step calculates the amount of movement of the virtual object before and after the operation of taking out the virtual object, and the holding position of the object in ascending order of the amount of movement. A control method for a robot system that performs priority learning to determine the priority of. 請求項1または2に記載のロボットシステムの制御方法において、前記優先順位更新工程は、前記ロボット装置に実行させた取り出し動作が失敗した際、前記学習済みモデルにおいて前記取り出し動作に失敗した保持位置の優先順位を下げる再学習を行うロボットシステムの制御方法。 In the control method of the robot system according to claim 1 or 2, in the priority update step, when the take-out operation executed by the robot device fails, the holding position of the holding position where the take-out operation fails in the learned model. A method of controlling a robot system that performs re-learning to lower the priority. 請求項1から3のいずれか1項に記載のロボットシステムの制御方法において、前記ロボット制御工程は、実際の対象物の位置姿勢を3次元測定手段により取得するロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 3, the robot control step is a robot system control method for acquiring an actual position and orientation of an object by a three-dimensional measuring means. 請求項4に記載のロボットシステムの制御方法において、前記3次元測定手段がステレオカメラにより構成されるロボットシステムの制御方法。 The method for controlling a robot system according to claim 4, wherein the three-dimensional measuring means is composed of a stereo camera. 請求項1から5のいずれか1項に記載のロボットシステムの制御方法において、前記部品保持位置候補生成工程が、実際の対象物の設計情報に基づき、前記学習済みモデルで優先順位を付与する前記対象物に対する複数の保持位置の候補を生成するロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 5, the component holding position candidate generation step gives priority in the trained model based on the design information of the actual object. A control method for a robot system that generates multiple holding position candidates for an object. 請求項1から5のいずれか1項に記載のロボットシステムの制御方法において、前記部品保持位置候補生成工程が、ユーザインターフェースを介してユーザが指定した保持位置に基づき、前記学習済みモデルで優先順位を付与する前記対象物に対する複数の保持位置の候補を生成するロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 5, the component holding position candidate generation step has a priority in the trained model based on a holding position specified by the user via the user interface. A method for controlling a robot system that generates candidates for a plurality of holding positions with respect to the object. 請求項7に記載のロボットシステムの制御方法において、前記部品保持位置候補生成工程が、実際の対象物の設計情報に基づき、ユーザインターフェースを介してユーザが指定した保持位置の利用可能性を判断し、ユーザが指定した保持位置を利用できない場合、その旨をユーザに報知するロボットシステムの制御方法。 In the robot system control method according to claim 7, the component holding position candidate generation step determines the availability of a holding position specified by the user via the user interface based on the design information of the actual object. , A method of controlling a robot system that notifies the user when the holding position specified by the user cannot be used. 請求項1から8のいずれか1項に記載のロボットシステムの制御方法において、前記部品保持位置候補生成工程が、実際の対象物の設計情報に基づき、当該の対象物の重心位置の周囲に、前記学習済みモデルで優先順位を付与する前記対象物に対する複数の保持位置の候補を配置するロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 8, the component holding position candidate generation step is performed around the center of gravity position of the object based on the design information of the actual object. A control method of a robot system for arranging a plurality of holding position candidates with respect to the object to be prioritized in the trained model. 請求項1から9のいずれか1項に記載のロボットシステムの制御方法において、前記優先順位学習工程が、仮想対象物の特定の位置姿勢と、仮想ロボット装置が取り得る複数の保持位置の優先順位と、を関係付ける前記学習済みモデルを生成する疊み込みニューラルネットワークで構成されているロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 9, the priority learning step is a priority of a specific position / orientation of a virtual object and a plurality of holding positions that the virtual robot device can take. A control method for a robot system composed of a squeeze neural network that generates the trained model. 請求項1から10のいずれか1項に記載のロボットシステムの制御方法において、前記優先順位学習工程が生成する前記学習済みモデルが、バラ積み状態の仮想対象物に対して、前記仮想部品保持動作実行工程で複数回、異なる保持位置で、仮想ロボット装置に実行させた仮想対象物を取り出す動作の成否の判定値をさらに含み、前記ロボット制御工程で実際のロボット装置に対象物を取り出す動作を実行させる際、前記学習済みモデルに含まれる前記判定値を用いて、取り出し成功率の高い対象物と、その保持位置を決定するロボットシステムの制御方法。 In the robot system control method according to any one of claims 1 to 10, the learned model generated by the priority learning step is a virtual component holding operation for a virtual object in a loosely stacked state. In the robot control process, the operation of extracting the object to the actual robot device is executed, further including the judgment value of the success or failure of the operation of extracting the virtual object executed by the virtual robot device at different holding positions multiple times in the execution process. A control method of a robot system for determining an object having a high extraction success rate and a holding position thereof by using the determination value included in the trained model. 請求項1から11のいずれか1項に記載のロボットシステムの制御方法において、前記優先順位学習工程が前記学習済みモデルを生成した後に、前記学習済みモデルの生成が終了した旨をユーザインターフェースを介してユーザに通知するロボットシステムの制御方法。 In the control method of the robot system according to any one of claims 1 to 11, after the priority learning step generates the trained model, the user interface indicates that the generation of the trained model is completed. How to control the robot system to notify the user. 請求項12に記載のロボットシステムの制御方法において、前記学習済みモデルの生成が終了した旨をユーザインターフェースを介してユーザに通知するとともに、前記ロボット制御工程による前記取り出し動作を実行可能である旨をユーザインターフェースを介してユーザに通知するロボットシステムの制御方法。 In the robot system control method according to claim 12, the user is notified via the user interface that the generation of the trained model has been completed, and the retrieval operation by the robot control step can be executed. A method of controlling a robot system that notifies a user via a user interface. 請求項13に記載のロボットシステムの制御方法において、ユーザインターフェースが、前記ロボット制御工程による前記取り出し動作を指令する入力手段を備えるロボットシステムの制御方法。 The method for controlling a robot system according to claim 13, wherein the user interface includes an input means for instructing the take-out operation by the robot control step. 請求項1から14のいずれか1項に記載のロボットシステムの制御方法により制御されるロボット装置により、対象物として取り出したワークを用いて物品を製造する物品の製造方法。 A method for manufacturing an article by using a work taken out as an object by a robot device controlled by the control method of the robot system according to any one of claims 1 to 14. 請求項1から14のいずれか1項に記載のロボットシステムの制御方法により制御されるロボット装置により、対象物として取り出したワークを用いて物品を製造する生産システム。 A production system for manufacturing an article using a work taken out as an object by a robot device controlled by the control method of the robot system according to any one of claims 1 to 14. 請求項1から14のいずれか1項に記載のロボットシステムの制御方法の各工程をコンピュータに実行させるための制御プログラム。 A control program for causing a computer to execute each step of the robot system control method according to any one of claims 1 to 14. 請求項17に記載の制御プログラムを格納したコンピュータで読み取り可能な記録媒体。 A computer-readable recording medium containing the control program according to claim 17. 仮想環境中で複数の仮想対象物のバラ積み状態を生成する仮想バラ積み状態生成部と、
仮想ロボット装置が前記仮想対象物を保持する保持位置を生成する部品保持位置候補生成部と、
バラ積み状態の仮想対象物に対し、仮想環境中で仮想ロボット装置に仮想対象物を取り出す動作を実行させる仮想部品取り出し動作実行部と、
バラ積み状態の仮想対象物に対して、前記仮想部品取り出し動作実行部で複数回、異なる保持位置で、仮想ロボット装置に仮想対象物を取り出す動作を実行させた結果の機械学習により対象物の特定の位置姿勢から、その位置姿勢に対してロボット装置が取り得る複数の保持位置の優先順位を出力可能な学習済みモデルを生成する優先順位学習部と、
実際のバラ積み状態の対象物の位置姿勢と、前記優先順位学習部が生成した前記学習済みモデルと、を用いて決定した保持位置によって、実際のロボット装置に対象物を取り出す動作を実行させるロボット制御部と、
前記ロボット制御部が前記ロボット装置に実行させた取り出し動作の機械学習により前記学習済みモデルの複数の保持位置の優先順位を更新する再学習を行う優先順位更新部と、を備えたロボットシステム。
A virtual bulking state generator that generates bulking states of multiple virtual objects in a virtual environment,
A component holding position candidate generation unit that generates a holding position in which the virtual robot device holds the virtual object,
A virtual component retrieval operation execution unit that causes a virtual robot device to perform an operation of extracting a virtual object in a virtual environment for a virtual object in a separately stacked state.
The virtual object in a loosely stacked state is identified by machine learning as a result of having the virtual robot device execute the operation of extracting the virtual object multiple times at different holding positions in the virtual component extraction operation execution unit. A priority learning unit that generates a trained model that can output the priority of multiple holding positions that the robot device can take with respect to the position and orientation of
A robot that causes an actual robot device to execute an operation of taking out an object according to a holding position determined by using the position and orientation of the objects in an actual loose stacking state and the learned model generated by the priority learning unit. Control unit and
A robot system including a priority update unit for re-learning to update the priority of a plurality of holding positions of the learned model by machine learning of a take-out operation executed by the robot control unit.
JP2019130602A 2019-07-12 2019-07-12 Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system Pending JP2021013996A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019130602A JP2021013996A (en) 2019-07-12 2019-07-12 Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019130602A JP2021013996A (en) 2019-07-12 2019-07-12 Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system

Publications (2)

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

Family

ID=74532064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019130602A Pending JP2021013996A (en) 2019-07-12 2019-07-12 Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system

Country Status (1)

Country Link
JP (1) JP2021013996A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2023127575A1 (en) * 2021-12-29 2023-07-06 川崎重工業株式会社 Object detection device, robot system, and object detection program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017064910A (en) * 2015-07-31 2017-04-06 ファナック株式会社 Machine learning device for learning taking-out operation of workpiece, robot system, and machine learning method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017064910A (en) * 2015-07-31 2017-04-06 ファナック株式会社 Machine learning device for learning taking-out operation of workpiece, robot system, and machine learning method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2023127575A1 (en) * 2021-12-29 2023-07-06 川崎重工業株式会社 Object detection device, robot system, and object detection program

Similar Documents

Publication Publication Date Title
US20230391016A1 (en) Systems, methods, and media for artificial intelligence process control in additive manufacturing
CN112118949B (en) Systems, methods, and media for artificial intelligence feedback control in additive manufacturing
JP6695843B2 (en) Device and robot system
US9811074B1 (en) Optimization of robot control programs in physics-based simulated environment
CN110268402B (en) Systems and methods for providing bead size variation during additive manufacturing to improve geometric accuracy of deposited layers
CN110168546B (en) System and method for adaptive domain reduction for thermo-structural simulation of additive manufacturing processes
CN113728285B (en) Systems, methods, and media for artificial intelligence process control in additive manufacturing
JP6487493B2 (en) Image processing system
TWI760916B (en) Manufacturing system for automatic production line in factory
CN108292325A (en) Based on heat/structural simulation of the component to being produced via 3D printer come the system and method in optimization tool path
JP2021013996A (en) Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system
JP7154823B2 (en) Information processing device, robot control device, information processing method and program
US11556110B2 (en) Method and device for generating tool paths
Yang et al. Automation of SME production with a Cobot system powered by learning-based vision
US20220297295A1 (en) System and method for feeding constraints in the execution of autonomous skills into design
TWI801820B (en) Systems and methods for manufacturing processes
JP2024007346A (en) Information processing method, information processing device, robot system, method for manufacturing article, program and recording medium
JP2024011847A (en) Information processing method, information processing device, robot system, method for manufacturing article, program and recording medium
WO2022091366A1 (en) Information processing system, information processing device, information processing method, and recording medium
TW202300304A (en) teaching device
CN117813184A (en) Robot holding form determination device, holding form determination method, and robot control system
JP2023530944A (en) Systems, methods and media for manufacturing processes
CN117355836A (en) Method for generating training data for machine learning model

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