JP2021061014A - Learning device, learning method, learning model, detector, and gripping system - Google Patents
Learning device, learning method, learning model, detector, and gripping system Download PDFInfo
- Publication number
- JP2021061014A JP2021061014A JP2020206993A JP2020206993A JP2021061014A JP 2021061014 A JP2021061014 A JP 2021061014A JP 2020206993 A JP2020206993 A JP 2020206993A JP 2020206993 A JP2020206993 A JP 2020206993A JP 2021061014 A JP2021061014 A JP 2021061014A
- Authority
- JP
- Japan
- Prior art keywords
- information
- gripping
- posture
- gripper
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000003062 neural network model Methods 0.000 claims abstract description 11
- 238000005516 engineering process Methods 0.000 claims abstract description 6
- 230000003190 augmentative effect Effects 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 230000036544 posture Effects 0.000 description 77
- 230000006870 function Effects 0.000 description 28
- 210000000078 claw Anatomy 0.000 description 14
- 239000003550 marker Substances 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Abstract
Description
本発明は、学習装置、学習方法、学習モデル、検出装置及び把持システムに関する。 The present invention relates to a learning device, a learning method, a learning model, a detection device and a gripping system.
現在、様々な用途についてロボットを用いた自動化がされており、それぞれの用途に応じて広く研究開発が行われている。ロボットに付属したアームを用いて物体を把持する研究も広く行われている。ロボットのグリッパ部分で物体を把持するためには、ロボットのグリッパの位置及び向きを、物体の検知装置、例えば、RGB−Dカメラを用いて検知された物体の位置から決定する必要がある。このグリッパの位置及び向きを推定する手法として、他分野でも広く用いられているニューラルネットワークやディープラーニングを利用する手法が開発されている。 Currently, automation is being carried out using robots for various uses, and research and development is being widely carried out according to each use. Research on gripping an object using an arm attached to a robot has also been widely conducted. In order to grip an object with the gripper portion of the robot, it is necessary to determine the position and orientation of the gripper of the robot from the position of the object detected by using an object detection device, for example, an RGB-D camera. As a method for estimating the position and orientation of the gripper, a method using a neural network or deep learning widely used in other fields has been developed.
しかしながら、従来の手法では、高次元の把持姿勢を求めること、特に、コンピュータ上の画像においてアノテーションすることが難しい情報を予測することが困難である。CADを用いて3次元物体を認識する手法もあるが、CADモデルが必要となる上、物体を認識した後に把持姿勢を決定しなければならず、経済的及び時間的コストが高い。さらに、従来の手法においては、グリッパが直上から物体を把持する以外の把持方法を学習している例が見受けられない。 However, with conventional methods, it is difficult to obtain a high-dimensional gripping posture, and in particular, to predict information that is difficult to annotate in an image on a computer. There is also a method of recognizing a three-dimensional object using CAD, but a CAD model is required, and the gripping posture must be determined after recognizing the object, which is economically and time-consuming. Further, in the conventional method, there is no example in which the gripper learns a gripping method other than gripping an object from directly above.
そこで、本発明は、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置を提供する。 Therefore, the present invention provides a learning device that performs learning for appropriately determining a position and a posture for gripping an object from an image on a computer.
物体の存在する位置と、当該物体を把持している教示ツールの情報を検知する、検知手段と、
前記検知手段により検知された前記教示ツールの情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成する、教師データ生成手段と
複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢のデータを出力する学習モデルを、前記教師データを用いて学習する、学習部と、
を備える学習装置。
A detection means that detects the position where the object exists and the information of the teaching tool that holds the object.
The information of the teaching tool detected by the detection means is converted into the position and orientation information of the teaching tool, and the position information of the object and the position and orientation of the teaching tool holding the object It is a learning model represented by a neural network model having a teacher data generation means and a plurality of layers that generates teacher data which is data associated with information, and is a position where a target object exists via the detection means. Is input, a learning unit that learns a learning model that outputs data on the position and posture of the gripping means capable of gripping the target object using the teacher data, and a learning unit.
A learning device equipped with.
本発明に係る学習装置によれば、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行うことが可能となる。 According to the learning device according to the present invention, it is possible to perform learning for appropriately determining a position and a posture for gripping an object from an image on a computer.
以下、図面を参照して、本発明の実施形態についてより詳しく説明する。本実施形態は、本発明を限定するものではない。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一の構成要素の詳しい説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings. The present embodiment is not limited to the present invention. In each figure, components having the same function are designated by the same reference numerals, and detailed description of the same components will not be repeated.
本実施形態に係る学習装置は、例えば、ロボットに付属された又はロボットの構成要素であるグリッパによりターゲットとなる物体(以下、ターゲット物体と記載する)を把持する場合において、ターゲット物体をキャプチャするように備えられたカメラにより撮影された画像を利用し、物体を把持することが可能なグリッパの位置及び向きの情報を出力するモデルを学習しようとするものである。 The learning device according to the present embodiment captures a target object, for example, when the target object (hereinafter referred to as a target object) is grasped by a gripper attached to the robot or a component of the robot. This is an attempt to learn a model that outputs information on the position and orientation of a gripper capable of grasping an object by using an image taken by a camera provided in the robot.
図1は、本実施形態に係る学習装置により学習された学習モデルを用いたロボットによる物体の把持システムである。この図1に示すように、把持システム1は、コンピュータ10と、コントローラ12と、ロボット14と、グリッパ16と、カメラ18と、を備える。
FIG. 1 is an object grasping system by a robot using a learning model learned by the learning device according to the present embodiment. As shown in FIG. 1, the
コンピュータ10は、コントローラ12、グリッパ16及びカメラ18に接続され、把持システム1全体の制御を行うコンピュータであり、例えば、CPU(Central Processing Unit)、各種メモリ及びユーザインターフェースを有する。このコンピュータ10内に、学習装置により学習された学習モデルが格納されている。学習装置は、コンピュータ10内に搭載されていてもよい。また、学習をするため及び学習モデルに実測値を当てはめるための演算を行うGPU(Graphical Processing Unit)等のアクセラレータを搭載していてもよい。
The
コントローラ12は、コンピュータ10からの信号を受信し、ロボット14を制御するための信号をロボット14へと送信する制御装置である。コンピュータ10から受信した信号をコントローラ12は、ロボット14を制御するための信号へと変換し、ロボット14に動作をさせるための信号を送信する。
The
なお、このコントローラ12は、コンピュータ10内で信号の変換等を行う場合には省略可能である。さらには、コンピュータ10及びコントローラ12がロボット14に搭載されているものとしてもよい。すなわち、コンピュータ10、コントローラ12及びロボット14をまとめて一体のロボットとして構成してもよい。資源やコスト等その他の要因に基づいて、これらの構成は可変である。
The
ロボット14は、物体を把持するグリッパ16を支持する筐体である。本実施形態の説明においては、ロボット14を主にグリッパ16の支持筐体として説明するが、これには限られず、他の機能を有し、他の用途に用いるものであってもよい。
The
グリッパ16は、コンピュータ10からの把持可能な位置及び姿勢の情報を受信し、ターゲット物体を把持するための装置(把持手段)であり、例えば、3本の可動な爪部を備える把持装置である。爪部は、例えば、1又は複数の関節を有し、それぞれの関節ごとに操作できるように制御可能となっている。グリッパ16は、コンピュータ10、コントローラ12又はロボット14により制御される。すなわち、グリッパ16は、制御部により制御される。ターゲット物体を把持する場合には、コンピュータ10から受信した位置及び姿勢の情報に基づいて制御される。
The
なお、グリッパ16の構成としては爪タイプだけではなく、スライドタイプやレバータイプであってもよいし、爪の本数も3本には限られず、2本又は4本以上であってもよい。このグリッパ16は、例えば、アーム(図示しない)を介してロボット14と物理的又は電気的に接続されていてもよい。
The
また、グリッパ16は、コンピュータ10と接続されていなくてもよい。この場合、グリッパ16は、コントローラ12及びロボット14を介してターゲット物体を把持するための位置及び姿勢(3次元的な方向)の情報を取得するようにしてもよい。
Further, the
以下の説明において、グリッパ16の位置とは、グリッパ16の基準点に対する位置であるとする。グリッパ16の基準点とは、グリッパ16に位置情報を与えた場合に、把持システム1内においてグリッパ16の位置を一意的に決定できるようにするための点である。例えば、3本の爪を有するグリッパである場合、これらの爪の初期位置(例えば、最も伸びている状態の位置)における爪の先の中心点(重心でもよい)をグリッパ16の基準点としてもよいし、これらの爪が設置されている点をグリッパ16の基準点としてもよい。または、ロボット14のアームとグリッパ16とが接続されている点をグリッパ16の基準点としてもよいし、これらには限られない。
In the following description, the position of the
さらに、グリッパ16の位置を調整するには、ロボット14のアームの動作により調整する場合があるが、以下の説明においては、グリッパ16の位置及び姿勢の制御は、グリッパ16の位置又は姿勢の制御及びロボット14のアームの動作の制御を含む概念であるとする。
Further, the position of the
カメラ18は、コンピュータ10と接続され、物体の画像を所定の位置及び方向から捕捉するためのキャプチャ装置である。このカメラ18は、例えば、物体を鉛直方向から撮影するRGB−Dカメラであり、所定の点を基準(以下、カメラ18の基準点と記載する)としたカメラ18の撮像面に対して水平な位置(x,y)における物体のRGB値と、物体の各位置(x,y)におけるカメラ18の撮像面に対して垂直な位置z(深度)とを捕捉する。
The
カメラ18は、このように、物体が存在する位置(x,y,z)が捕捉可能な装置であれば、RGB−Dカメラには限られず、他の物体の3次元の位置を検知できるような検知装置であってもよい。例えば、2方向又は3方向から物体を捕捉するように複数のカメラを備え、物体の3次元の位置を捕捉できるような装置であってもよい。また、可視光を撮影するためのカメラではなく、物体を3次元で計測できるその他の検知装置であってもよい。
The
なお、図1においてカメラ18は、コンピュータ10とのみ接続されているものであるが、これには限られない。例えば、コンピュータ10に搭載されているものであってもよいし、ロボット14等に設置又は搭載されているものであってもよい。この場合、カメラ18は、直接コンピュータ10と接続されていてもよいし、ロボット14等を介してコンピュータ10と接続されていてもよい。
In FIG. 1, the
カメラ18の基準点は、例えば、カメラ18の位置又はグリッパ16の初期位置とすることもできる。これには限られず、計測された物体において一意的に位置(x,y,z)を決定できる点をカメラ18の基準点としてもよい。この場合、原則的に、カメラ18は、把持システム1内において固定された位置にある。すなわち、教師データを撮影するシステムと、ターゲット物体を撮影するシステムは、同じシステムであることが望ましい。
The reference point of the
または、カメラ18は、例えば、ロボット14のアームにグリッパ16とともに接続されていたり、グリッパ16に取り付けられていたりしてもよい。併せて、カメラ18の基準点を、グリッパ16の基準点と同じとすることもできるし、別途把持システム1において一意的にカメラ18で撮影した物体の各点の位置が決定できる座標系となるように基準点を設定してもよい。この場合、例えば、把持システム1内における物体の存在する位置は、カメラ18の基準点に対するカメラ18の位置と、カメラ18により撮影された画像中における物体の各位置の座標に基づき算出されるものとしてもよい。
Alternatively, the
なお、グリッパ16の基準点と、カメラ18の基準点は同じ点であるとしてもよく、この場合、把持システム1内における3次元座標を同じ座標系において扱うことが可能となる。また、グリッパ16等の姿勢は、これらの3次元座標系において、例えば、x−y平面上でx軸と平行である姿勢を基準であるとしてもよい。このように、グリッパ16等の位置及び姿勢は、把持システム1内で一意的に決定できるものであればどのようなものであってもよい。
The reference point of the
教師データを生成する画像を撮影するシステムと、ターゲット物体を把持するシステムは異なっていてもよいが、ターゲット物体を把持するシステムにおいて、例えば、カメラ18と物体までの距離、及び、カメラ18の基準点とグリッパ16の基準点との相対的な位置関係が、教師データを生成する画像を撮影するシステムと同等であることが望ましい。それ以外の場合であっても、入力されたターゲット物体の画像における座標及び出力するグリッパ16の位置及び姿勢情報の補正を行うことにより本実施形態を適用することは可能である。
The system that captures the image that generates the teacher data and the system that grips the target object may be different, but in the system that grips the target object, for example, the distance between the
カメラ18が把持システム1内において固定されている場合、一例として、カメラ18は、物体が設置される面の70cm×50cmの広さの平面が撮影されるように当該平面から鉛直方向に75cm離れた位置に設置される。これは一例であり、他の設置方法を除外するものではない。
When the
図2は、コンピュータ10の機能を示すブロック図の一例である。この図2に示すように、コンピュータ10は、例えば、入力部100と、教師データ生成部102と、学習部104と、推定部106と、出力部108とを備える。さらに、教師データを格納する教師データ格納部110と、教師データに基づいて学習した学習モデルを格納する学習モデル格納部112とを備える。CPU等の構成については、図示しない。図中の実線は学習フェーズにおけるデータの流れを示し、破線は把持情報の推定フェーズにおけるデータの流れを示す。
FIG. 2 is an example of a block diagram showing the functions of the
入力部100を介して、コンピュータ10へデータ等が入力される。入力されるデータは、学習フェーズであれば、教師データとなるカメラ18において撮影された物体を把持する図3に示される教示ツール2の画像である。推定フェーズであれば、把持する目的となるターゲット物体の画像である。また、図示しないユーザインターフェースを介して、学習する旨のリクエストや把持情報の推定をするためのリクエストが入力される。
Data or the like is input to the
教師データ生成部102は、入力部100を介してコンピュータ10に教示ツール2の画像が入力された場合に、入力された画像データを変換し教師データを生成する。入力された画像から教師データに備えられる3次元位置及び3次元姿勢への変換の詳細については、後述する。
When the image of the
学習部104は、教師データ格納部110に格納されている教師データを用いて把持情報の推定のための学習モデルを生成する。学習部104は、ユーザからのリクエストに基づいてこの教師データ格納部110に格納されているデータに基づいて学習モデルを生成し、生成された学習モデルを学習モデル格納部112へと格納する。なお、学習部104は、学習中であるステータス状態や、学習が終了したという情報を出力部108に出力するようにしてもよい。
The
推定部106は、ターゲット物体を把持するための位置及び姿勢の情報を学習モデルに基づいて推定する。例えば、入力部100を介して把持情報を推定するようなリクエストを受信すると、推定部106は、学習モデル格納部112に格納されている学習モデルに基づいて、入力されたターゲット物体の画像についてグリッパ16が当該ターゲット物体を把持することが可能である位置(3次元位置)及び姿勢(3次元方向)の情報を推定する。推定された情報は、例えば、出力部108に表示するようにしてもよいし、出力部108を介してロボット14あるいはグリッパ16へと送信されてもよい。
The
なお、推定部106が推定した情報を新たな教師データとしてフィードバックすることもできる。一点鎖線で示された矢印のように、推定部106において推定された情報と、実際にグリッパ16がターゲット物体を把持できたか否かの情報又はユーザが情報を確認してターゲット物体が把持可能であるかどうかを予測した結果を教師データとして、教師データ格納部110へと出力してもよい。
The information estimated by the
図2においては、学習部104と推定部106が同じコンピュータ10内にあるとして説明したが、これには限られない。すなわち、共通した学習モデル格納部112に基づいて、別々のコンピュータ内に学習部104と推定部106が備えられていてもよい。さらに、教師データ格納部110及び学習モデル格納部112は、コンピュータ10内に備えられていなくてもよく、例えば、ネットワークを介したデータベースサーバ等を備え当該データベースサーバ内に備えられていてもよい。
In FIG. 2, it has been described that the
図2に示すような構成である場合、コンピュータ10は、グリッパ16がターゲット物体を把持可能な位置及び姿勢情報を取得するための学習モデルを最適化する学習装置であるとともに、当該学習モデルに基づいてグリッパ16がターゲット物体を把持可能な位置及び姿勢情報を推定する推定装置でもある。
In the case of the configuration as shown in FIG. 2, the
図3は、本実施形態に係る学習モデルを作成するために用いる教示ツール2の例を示す図である。教示ツール2は、教示ツール本体20と、マーカ22とを備える。
FIG. 3 is a diagram showing an example of a
教示ツール本体20は、教師データを作成する際に人間が操作するツールであり、この教示ツール本体20により物体を把持することにより、物体を把持することが可能な教示ツール2の位置及び姿勢を教師データとして蓄積することが可能となる。
The teaching tool
マーカ22は、教示ツール本体20に固定されているマーカである。カメラ18により撮影された教示ツール2の位置は、教示ツール本体20の位置を抽出することにより求めることが可能であるが、教示ツール2の姿勢は教示ツール本体20の画像を取得するだけでは抽出することが困難であることが多い。
The
そこで、マーカ22を教示ツール本体20へと固定することにより、画像からマーカ22を検出し、マーカ22の3次元空間における位置(x,y,z)又は姿勢(R,P,Y)を推定することにより、教示ツール2の姿勢を推定することが可能となる。なお、図3においてマーカ22は、3つの異なるものから構成されているが、これには限られず、読み取りの精度を確保できるものであれば1つ又は2つのマーカにより構成されるものであってもよい。精度を高めるために、教示ツール本体20の長手方向及び短手方向の2本のベクトルを基底とした方向を検出するようにしてもよい。
Therefore, by fixing the
また、マーカ22を用いることには限られず、例えば、3軸センサ、6軸センサ、光、電波、音波等を用いて教示ツール2の位置又は姿勢を抽出するようにしてもよい。さらに、上記では教師データとして把持可能なデータを取得するものとしたが、これには限られず、教示ツール2を用いて把持できないデータをも収集するようにしてもよい。このようにすることにより、ポジティブデータのみならずネガティブデータを用いた学習を行うことも可能となる。
Further, the
教示ツール基準点24は、教示ツール2の位置及び姿勢の基準となる点である。教示ツール2の3次元の位置(x,y,z)は、この教示ツール基準点24の位置を基準として計測される。例えば、教示ツール2の位置は、教師データ生成部102がマーカ22の位置に基づいて、教示ツール基準点24の位置を求めることにより決定される。より単純には、教示ツール2の2つの端点の中心の位置を教示ツール2の位置(x,y)としてもよい。位置zについては、カメラ18がRGB−Dカメラである場合には、その計測結果から求めるものとしてもよい。
The teaching
なお、教示ツール2の位置は、把持システム1内で一意的に決定できるように表現されるものであればよい。例えば、上述したグリッパ16の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよいし、カメラ18の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよい。
The position of the
教示ツール2の姿勢は、マーカ22を読み取ることにより検出される。すなわち、教示ツール基準点24を中心に教示ツール本体20の長手方向を基準として、ロール角R、ピッチ角P及びヨー角Yとして姿勢(R,P,Y)が検出される。例えば、教示ツール本体20の長手方向に対して短手方向がどれだけ傾いているか(R)、長手方向が水平方向からどれだけ傾いているか(P)、長手方向と短手方向が水平面状でどれだけ回転しているか(Y)により検出される。この際、教師データ生成部102により、例えば、水平面上の所定の姿勢で設置された状態の教示ツール2の3次元方向を基準とし、透視変換行列を求めることによりマーカ22の各方向への傾きを算出することにより、カメラ18が撮影した教示ツール2の画像の情報が姿勢情報へと変換される。
The posture of the
次に、各フェーズにおける動作について説明する。まず、グリッパ16がターゲット物体を把持できる位置及び姿勢の情報を推定するための学習モデルについて説明する。
Next, the operation in each phase will be described. First, a learning model for estimating information on the position and posture at which the
図4は、本実施形態における学習モデルの一例を示す図である。この図4に示すように、学習モデルは、FCN(Fully Convolutional Network)により構成される。FCNとは、畳み込みネットワーク(以下CNN:Convolutional Neural Networkと記載する)の一種であり、全ての層間の演算が畳み込み演算で行われる学習のことを言う。すなわち、プーリング層及び全結合となる層間が存在しないネットワークである。FCNを利用することにより、構成が複雑でなく、計算コストが低いネットワークを構成することが可能となる。なお、学習モデルは、FCNに限られず、他のネットワークを利用してもよい。 FIG. 4 is a diagram showing an example of a learning model in the present embodiment. As shown in FIG. 4, the learning model is composed of FCN (Fully Convolutional Network). FCN is a kind of convolutional network (hereinafter referred to as CNN: Convolutional Neural Network), and refers to learning in which operations between all layers are performed by convolutional operations. That is, it is a network in which there is no pooling layer and no layers that are fully connected. By using FCN, it is possible to configure a network whose configuration is not complicated and whose calculation cost is low. The learning model is not limited to FCN, and other networks may be used.
この学習モデルは、入力画像として、200×200ピクセルのRGBの3枚の画像と、デプスマップの1枚の画像が入力されると、把持可能であると予測された位置マップ(PLM:Predicted Location Map)と、姿勢・深度マップ(PCM:Predicted Configuration Map)が出力される。PLM及びPCMは、カメラ18で撮影されたピクセルごとに把持可能か否かを示す情報である。
In this learning model, when three images of RGB of 200 × 200 pixels and one image of the depth map are input as input images, the position map (PLM: Predicted Location) predicted to be graspable is obtained. Map) and posture / depth map (PCM: Predicted Configuration Map) are output. The PLM and the PCM are information indicating whether or not each pixel photographed by the
より具体的には、PLMは、2次元位置(x,y)にグリッパ16が存在する場合にターゲット物体を把持できる可能性があるか否かを示すマップである。例えば、PLMの各ピクセルは、そのピクセルに対応する位置(x,y)にグリッパ16が存在すればターゲット物体が把持可能である場合には1に近い値、そうでない場合には0.5に近い値又は0.5以下の値であるようなマップである。後述するように、出力されるPLM及びPCMのデータは、シグモイド関数を介して(0,1)の領域になるためである。
More specifically, the PLM is a map showing whether or not there is a possibility that the target object can be grasped when the
PCMは、深度及び姿勢(z,R,P,Y)にグリッパ16を操作すればターゲット物体を把持できる可能性があるという深度及び姿勢の4次元の情報を2次元位置(x,y)にマッピングしたものである。このPCMは、具体的には、以下のように生成される。mず、カメラ18において検知されたデータのうち、実際に把持可能な当該4次元の情報を、例えば、300通りにクラスタリングし、教師データとして準備する。PCMは、推定されたグリッパ16の深度及び姿勢の4次元の情報をこのクラスタリングされた教師データを参照することにより、教師データ毎、すなわちクラスタリングされた各々の深度及び姿勢で実際に把持できる可能性がある2次元位置(x,y)をマッピングしたものである。
The PCM transfers the four-dimensional information of the depth and the attitude that the target object may be grasped by operating the
ターゲット物体に対してグリッパ16が当該ターゲット物体を把持できる可能性のある当該4次元の情報は、ほぼ無限通りあるため、これらを緩和するために深度及び姿勢の組合せを上記の300通りにクラスタリングした結果を用いる。このクラスタリングには、一例として、k−means法が用いられるが、他の一般的なクラスタリング手法を用いてもよい。なお、本実施形態においては、物体を把持できない場合の教師データを含めて、301通りの教師データを使用することによりPCMを生成する。
Since there is almost infinite number of four-dimensional information that the
図4における各層についての説明をする。各層の上方に記載しているS1又はS2は、当該層への畳み込み時におけるストライドを表す。S1であれば、ストライドが1であることを示し、S2であれば、ストライドが2であることを示す。ここでは、一例として、S1で表される層には、3×3のコンボリューションカーネルを用い、S2で表される層には、4×4のコンボリューションカーネルを用いる。各層の下方に記載している16、32、64、302の数字は、各層のチャネル数を示す。
Each layer in FIG. 4 will be described. S1 or S2 described above each layer represents a stride at the time of folding into the layer. If it is S1, it indicates that the stride is 1, and if it is S2, it indicates that the stride is 2. Here, as an example, a 3 × 3 convolution kernel is used for the layer represented by S1, and a 4 × 4 convolution kernel is used for the layer represented by S2. The
一番左の層は、入力層であり、200×200(ピクセル)×4(チャネル)の物体が撮影されたデータが入力される。次の層(以下、入力層及び出力層を除き、左から順に、第1層、第2層、・・・とする。)は、この入力層に入力された4チャネルのデータと3×3サイズのカーネルとを畳み込み演算し、16チャネルの同じサイズのデータを生成する。すなわち、第1層は、200×200×16の層となる。畳み込み時のパディングは、1とする。Chainer(登録商標)の擬似コードで表すと、
layer1 = chainer.functions.Convolution2d(4, 16, 3, stride=1, pad=1)(input)
としたものである。
The leftmost layer is an input layer, and data obtained by photographing a 200 × 200 (pixel) × 4 (channel) object is input. The next layer (hereinafter, excluding the input layer and the output layer, referred to as the first layer, the second layer, ... In order from the left) is the data of 4 channels input to this input layer and 3 × 3. It convolves with a kernel of size and performs an operation to generate data of the same size on 16 channels. That is, the first layer is a 200 × 200 × 16 layer. The padding at the time of folding is 1. Expressed in Chainer (registered trademark) pseudo code,
layer1 = chainer.functions.Convolution2d (4, 16, 3, stride = 1, pad = 1) (input)
It was.
より具体的には、入力画像の各チャネルに対して16通りの3×3サイズのカーネルを用いて畳み込み演算を行い16チャネルの第1層のデータを生成する。すなわち、1つのカーネルのセットとしてR(Red)、G(Green)、B(Blue)、D(Depth)画像用のカーネルが存在し、入力画像の各チャネルに対してそれぞれのチャネルに対応するカーネルを畳み込み積分する。そして、畳み込み積分した結果を1つの画像として合成する。 More specifically, 16 channels of first layer data are generated by performing a convolution operation using 16 different 3 × 3 size kernels for each channel of the input image. That is, there are kernels for R (Red), G (Green), B (Blue), and D (Depth) images as one set of kernels, and kernels corresponding to each channel for each channel of the input image. Is convolved and integrated. Then, the result of convolution integration is combined as one image.
合成は、例えば、所定の重み付けにより各チャネルの画像を荷重加算することにより実行される。重み付けの係数を各カーネルに含むこともでき、この場合、各チャネルを対応するカーネルで畳み込んだ後に、各チャネルの出力を加算することにより出力のチャネルが生成される。16通りのこのようなカーネルのセットを入力画像に適用することにより、4チャネルから16チャネルへの変換が行われる。 The composition is performed, for example, by adding a load to the images of each channel with a predetermined weighting. Weighting factors can also be included in each kernel, in which case the output channels are generated by convolving each channel with the corresponding kernel and then adding the outputs of each channel. By applying 16 such sets of kernels to the input image, the conversion from 4 channels to 16 channels is performed.
さらに、最終層(第11層)を除く全ての層において、畳み込み演算後に、バッチ正規化を行い、活性化関数としてReLU(Rectified Linear Unit)を適用する。ここで、バッチ正規化とは、各チャネルの平均が0、分散が1となるように正規化をする処理を示す。ReLUとは、データ中の負値を0とする変換を示す。擬似コードで表すと、
layer1 = chainer.functions.relu(chainer.functions.BatchNormalization(layer1))としたものである。
Further, in all layers except the final layer (11th layer), batch normalization is performed after the convolution operation, and ReLU (Rectified Linear Unit) is applied as an activation function. Here, the batch normalization refers to a process of normalizing so that the average of each channel is 0 and the variance is 1. ReLU indicates a conversion in which a negative value in the data is set to 0. Expressed in pseudo code,
layer1 = chainer.functions.relu (chainer.functions.BatchNormalization (layer1)).
第2層は、第1層と4×4サイズのカーネルとを畳み込み演算し、チャネル数を32とした、100×100×32のデータの層である。同様に擬似コードで表すと、
layer2 = chainer.functions.Convolution2d(16, 32, 4, stride=2, pad=1)(layer1)
としたものである。ダウンサンプリングは、25×25×64の第6層まで、3×3サイズのカーネルによるストライド1の畳み込み(サイズ変更なし)と、4×4サイズのカーネルによるストライド2の畳み込み(ダウンサンプリング)とを交互に行うことにより実行される。さらに、上記と同様に、
layer2 = chainer.functions.relu(chainer.functions.BatchNormalization(layer2))として正規化及び活性化を行う。
The second layer is a 100 × 100 × 32 data layer in which the first layer and a 4 × 4 size kernel are convolved and calculated, and the number of channels is 32. Similarly, expressed in pseudo code,
layer2 = chainer.functions.Convolution2d (16, 32, 4, stride = 2, pad = 1) (layer1)
It was. For downsampling, up to the 6th layer of 25x25x64,
Normalize and activate as layer2 = chainer.functions.relu (chainer.functions.BatchNormalization (layer2)).
その後、アップサンプリングの過程に移行する。アップサンプリングは、ダウンサンプリングの逆の操作を行うことにより実行される。例えば、第7層は、
layer7 = chainer.functions.Deconvolution2d(64, 64, 4, stride=2, pad=1)(layer6)と表される。そして、200×200×16のサイズである第11層まで、ダウンサンプリングと逆の操作を行うことにより、アップサンプリングが実行される。アップサンプリングの過程においても同様に正規化及び活性化が実行され、例えば、
layer7 = chainer.functions.relu(chainer.functions.BatchNormalization(layer7))と表される。
After that, the process shifts to the upsampling process. Upsampling is performed by performing the reverse operation of downsampling. For example, the 7th layer
It is expressed as layer7 = chainer.functions.Deconvolution2d (64, 64, 4, stride = 2, pad = 1) (layer6). Then, upsampling is executed by performing the reverse operation of downsampling up to the eleventh layer having a size of 200 × 200 × 16. In the process of upsampling, normalization and activation are also performed, for example.
layer7 = chainer.functions.relu (chainer.functions.BatchNormalization (layer7)).
最終層では、上記の活性化の代わりに、シグモイド関数を用いて活性化を行う。そして、ターゲット物体が把持可能である位置及び姿勢の情報をクラスタリングした結果を教師データとして入力しておくことにより、最終層において得られた結果をターゲット物体が把持可能な6次元の位置及び姿勢情報(x,y,z,R,P,Y)をネットワークが推定し、出力層へと出力する。例えば、PLMとして200×200×1の(x,y)データが出力され、PCMとして把持可能な200×200×300のデータ及び把持不可能な200×200×1のデータとを合わせた計200×200×301の(z,R,P,Y)データが出力される。 In the final layer, instead of the above activation, activation is performed using a sigmoid function. Then, by inputting the result of clustering the position and posture information that the target object can grasp as teacher data, the six-dimensional position and posture information that the target object can grasp the result obtained in the final layer is input. The network estimates (x, y, z, R, P, Y) and outputs it to the output layer. For example, 200 × 200 × 1 (x, y) data is output as PLM, and a total of 200 is a combination of 200 × 200 × 300 data that can be grasped as PCM and 200 × 200 × 1 data that cannot be grasped. (Z, R, P, Y) data of × 200 × 301 is output.
最終層においてPCMは、例えば、図4の最下段に示されるような画像として出力される。この画像は、クラスタリングされた各教師データに対して、当該教師データが示す深度及び姿勢において、ターゲット物体が把持可能である2次元位置(x,y)を示すマッピングデータである。各教師データに対するマッピングデータに対して、例えば、それぞれ別の色により彩色したものを1枚のPCMを示す画像として合成して出力してもよい。これらの画像を1枚の画像に合成する場合、各位置(x,y)に対して、最も高い出力値を有するクラスタを示す色で彩色してもよい。一方、PLMは、1チャネルの出力であるので、例えば、最終層から出力された値をグレースケールや他の彩色によるスケール方法により画像に変換して出力してもよい。 In the final layer, the PCM is output, for example, as an image as shown at the bottom of FIG. This image is mapping data indicating a two-dimensional position (x, y) at which the target object can be grasped at the depth and posture indicated by the teacher data for each clustered teacher data. For the mapping data for each teacher data, for example, those colored with different colors may be combined and output as an image showing one PCM. When these images are combined into one image, each position (x, y) may be colored with a color indicating the cluster having the highest output value. On the other hand, since PLM is a one-channel output, for example, the value output from the final layer may be converted into an image by a gray scale or another coloring method and output.
なお、上記の学習モデルは、一例として示したものであり、他のネットワークによる学習及び最適化を行ってもよい。例えば、一般的なCNNのように、プーリング層や全結合層を含むネットワークによる学習を行ってもよい。 The above learning model is shown as an example, and learning and optimization may be performed by another network. For example, like a general CNN, learning may be performed by a network including a pooling layer and a fully connected layer.
次に、当該学習モデルを生成する学習フェーズについて説明する。図5は、本実施形態における学習処理を示すフローチャートである。 Next, the learning phase for generating the learning model will be described. FIG. 5 is a flowchart showing the learning process in the present embodiment.
まず、カメラ18により撮影された物体及び教示ツール2の画像データを収集する(ステップS10)。この画像データは、カメラ18を介し、教示ツール2を用いて複数の物体のそれぞれいついて、把持可能な複数の位置及び姿勢を入力することにより取得する。教師データへの変換用の画像データとして、複数の物体のそれぞれについて、複数の把持位置及び把持姿勢を入力する。取得された教師データは、入力部100を介して教師データ生成部102へと入力される。
First, the object captured by the
一例として、物体の数が7である場合、各物体を12の任意の位置及び任意の姿勢に配置し、各配置に対して100の把持可能な位置及び姿勢を設定すると、各物体に対して12×100=1200通りの画像データが収集され、全体としてとして、7×12×100=8400通りの画像データが収集される。 As an example, when the number of objects is 7, each object is arranged at 12 arbitrary positions and arbitrary postures, and 100 grippable positions and attitudes are set for each arrangement. 12 × 100 = 1200 types of image data are collected, and as a whole, 7 × 12 × 100 = 8400 types of image data are collected.
次に、取得された各画像データについて、教師データへの変換処理を行う(ステップS11)。教師データ生成部102は、入力された画像データを変換し、教師データを生成する。生成された教師データは、教師データ格納部110へと格納される。また、例えば、上記のように大量のデータを取得した場合、出力されるターゲット物体を把持可能な位置及び姿勢の情報は、ほぼ無限通りとなってしまう。そこで、教師データ生成部102は、教示ツール2が物体を把持可能な位置(z)及び姿勢(R,P,Y)の4次元の情報をk−means等のクラスタリング手法を用いて、例えば、300通りの把持可能な位置及び姿勢の情報へと分類する。これらのクラスタリングの結果も、教師データ格納部110に格納されてもよい。
Next, each acquired image data is converted into teacher data (step S11). The teacher
1セットの教師データは、4次元(例えば、R,G,B,D)の物体の画像と、6次元(例えば、x,y,z,R,P,Y)の当該物体を把持可能な位置及び姿勢の情報と、が紐付けられたデータを備えるデータである。すなわち、複数の物体に対して、それぞれ複数セットの上記の教師データを備えるデータが教師データ格納部110に格納される。
One set of teacher data can grasp an image of a four-dimensional (for example, R, G, B, D) object and a six-dimensional (for example, x, y, z, R, P, Y) object. It is data including position and posture information and data associated with. That is, for a plurality of objects, data including a plurality of sets of the above-mentioned teacher data is stored in the teacher
次に、学習を行う(ステップS12)。学習の最適化には、例えば、Adam(Adaptive Moment Estimation)を用いる。Adamを用いる場合の学習パラメータとして、α=0.0004、バッチサイズを80等としてもよい。なお、学習の最適化手法は、Adamには限られず、NAG、Adagrad、RMSprop、Adadelta等、他の最適化手法を用いてもよい。また、学習する際の初期値を求めるために事前学習をしてもよい。事前学習は、例えば、VGG16モデルを用いて実行されてもよい。 Next, learning is performed (step S12). For the optimization of learning, for example, Adam (Adaptive Moment Estimation) is used. As learning parameters when Adam is used, α = 0.0004 and batch size may be 80 or the like. The learning optimization method is not limited to Adam, and other optimization methods such as NAG, Adagrad, RMSprop, and Adamelta may be used. In addition, pre-learning may be performed in order to obtain the initial value at the time of learning. Pre-learning may be performed using, for example, the VGG16 model.
また、オーバーフィッティングを抑制するために、Label-preserving transformationの手法により、人工的にデータを生成してもよい。この手法は、例えば、把持可能であるとラベリングされたデータに対して、局所的に変更を加えた人工的なデータを作成し、当該データも把持可能な位置及び姿勢の情報であると仮定する手法である。 Further, in order to suppress overfitting, data may be artificially generated by the method of Label-preserving transformation. This method, for example, creates artificial data with locally modified data labeled as grippable, and assumes that the data is also grippable position and posture information. It is a method.
例えば、グリッパ16の位置及び姿勢が近い2つの教師データがある場合、これらのデータの中間にある位置及び姿勢の情報は、把持可能である位置及び姿勢の情報であると仮定して、新たな教師データを生成する。このようにすることにより、例えば、上述した8400通りのデータを3倍ほどに増強してもよい。このようにサンプルを補強することにより、例えば、ある位置及び姿勢の情報において把持可能であるが、当該位置及び姿勢の情報からロール角のみを微少にずらした場合に把持不可能であるように判定されるようなオーバーフィッティングを起こす可能性を抑制することが可能となる。
For example, when there are two teacher data in which the positions and postures of the
学習においては、例えば、以下の評価関数を用いて学習モデルの最適化を行う。具体的には、下記の評価関数を用いて教師あり学習を行い、例えば、各層間において畳み込みに使用されるカーネルの最適化を行う。なお、下記において、出力される画像は上述したようにシグモイド関数の出力となるので、出力画像の画素値が0及び1になることはない。 In learning, for example, the learning model is optimized using the following evaluation function. Specifically, supervised learning is performed using the following evaluation function, and for example, the kernel used for convolution is optimized between each layer. In the following, since the output image is the output of the sigmoid function as described above, the pixel values of the output image do not become 0 and 1.
PLMの評価関数として
PCMの評価関数として
学習は、PCMの評価関数とPLMの評価関数とで表される評価関数L=LPLM+λLPCMを用いてバックプロパゲーションにより学習モデルを最適化することにより実行される。ここで、λは、例えば、200である。このような学習を行うことにより、例えば、畳み込みを行う各カーネルを最適化する。なお、評価関数は、PLM及びPCMを評価可能な関数であればよく、上記のものには限られない。また、学習フェーズにおいて、教師データを2グループに分け、クロスバリデーションを行ってもよい。学習された学習モデルは、学習モデル格納部112へと格納される。
The training is executed by optimizing the learning model by backpropagation using the evaluation function L = L PLM + λL PCM represented by the evaluation function of PCM and the evaluation function of PLM. Here, λ is, for example, 200. By performing such learning, for example, each kernel that performs convolution is optimized. The evaluation function may be any function that can evaluate PLM and PCM, and is not limited to the above. Further, in the learning phase, the teacher data may be divided into two groups and cross-validated. The learned learning model is stored in the learning
上記のような学習を行うことにより、図4に示す学習モデルが生成される。次に、ターゲット物体の画像が撮影された場合における把持可能位置及び姿勢の情報の推定フェーズについて説明する。図6は、本実施形態における推定処理を示すフローチャートである。 By performing the above learning, the learning model shown in FIG. 4 is generated. Next, the estimation phase of the grippable position and posture information when the image of the target object is taken will be described. FIG. 6 is a flowchart showing the estimation process in the present embodiment.
まず、推定部106は、入力部100を介してカメラ18により撮影されたターゲット物体の画像を取得する(ステップS20)。この画像は、カメラ18がRGB−Dカメラである場合、平面上に示されたR、G、Bの各色の成分の画像と、撮影された画像中におけるそれぞれの深度を示す画像とが取得される。
First, the
次に、推定部106は、学習モデル格納部112に格納されている学習モデルにステップS20で取得された画像を入力画像として入力し、当該ターゲット物体を把持することが可能なグリッパ16の位置及び姿勢を示すPLM及びPCMを取得する(ステップS21)。カメラ18により取得されたターゲット物体の画像は、図4に示す一番左の入力層に入力される。画像が入力された畳み込みネットワークを備える学習モデルにより、当該ターゲット物体に対するPCMとPLMが出力される。
Next, the
なお、PCMとPLMの出力は、図4に示すように画像として出力部108を介して出力するようにしてもよい。PLMの画像は、グリッパ16がターゲット物体を把持できる可能性が高いグリッパ16の位置を点の集合として出力する。PCMは、各点におけるグリッパの深度(カメラ18からの鉛直方向の距離)及び姿勢の4次元データ(z,R,P,Y)を300通りにクラスタリングした結果と照合し、画像として出力される。例えば、上述したように、画像上において、それぞれのクラスが異なる色として出力される。
The outputs of the PCM and the PLM may be output as an image via the
次に、推定部106は、学習モデルにより出力された把持可能なグリッパ16の深度及び姿勢のデータからスコアの高い情報を選択し、出力部108を介して当該情報を出力する(ステップS22)。スコアとして、例えば、出力されたPLM及びPCMのマップ自体を参照する。
Next, the
次に、出力部108を介してコンピュータ10から把持可能な位置及び姿勢の情報を受信したグリッパ16を操作することにより、ロボット14は、グリッパ16を用いてターゲット物体を把持することができる(ステップS23)。
Next, by operating the
図7(a)は、ターゲット物体の一例である。この図7(a)に示すように、ターゲット物体は、例えば、ボトルである。図7(b)及び図7(c)は、上述した学習モデルにより推定されたターゲット物体の把持位置及び姿勢を示す図である。これらの図においては、7種類の教師データ用の物体を用いて学習モデルを最適化し、教師データ用の物体として用いられなかったターゲット物体を当該学習モデルに適用した例である。 FIG. 7A is an example of a target object. As shown in FIG. 7A, the target object is, for example, a bottle. 7 (b) and 7 (c) are diagrams showing the gripping position and posture of the target object estimated by the learning model described above. In these figures, the learning model is optimized by using seven kinds of objects for teacher data, and the target object that is not used as the object for teacher data is applied to the learning model.
図7(b)は、ターゲット物体を把持する位置及び姿勢を上面から示したものであり、図7(c)は、図7(b)のA−A’断面図である。これら図7(b)及び図7(c)において、実線は、最もスコアが高い把持可能な位置及び姿勢の情報に基づいて、グリッパ16の位置及び姿勢を示すものであり、続いて、破線、一点鎖線の順でスコアが高いものを示す。
FIG. 7 (b) shows the position and posture of gripping the target object from the upper surface, and FIG. 7 (c) is a cross-sectional view taken along the line AA'of FIG. 7 (b). In these FIGS. 7 (b) and 7 (c), the solid line indicates the position and posture of the
最もスコアの高い把持可能な位置及び姿勢の情報に基づいた位置及び姿勢であるとき、グリッパ16は、ターゲット物体を把持することが可能であることがこれらの図から読み取ることができる。すなわち、図7(b)に示す水平方向及び図7(c)に示す鉛直方向の位置にグリッパ16が位置しており、それぞれの図において、ターゲット物体を挟むようにグリッパ16の姿勢が設定されていることを読み取ることができる。破線、一点鎖線についても同様に、ターゲット物体が把持可能であることを読み取ることができる。
It can be read from these figures that the
なお、図7(b)及び図7(c)に示される例においては、スコアとして、まず、PLMの出力値が最も高い点(x,y)を抽出し、当該点(x,y)におけるPCMのスコアが高い順に3つの把持可能な位置及び姿勢の情報を図示している。把持可能な位置及び姿勢の抽出は、これには限られず、PLMとPCMの出力値とを所定の評価関数により評価することにより抽出するようにしてもよい。例えば、単純にPLM及びPCMの出力値の積が最も高い位置及び姿勢を出力するようにしてもよいし、所定の重み付けによるPLM及びPCMの加重平均の値が最も高い位置及び姿勢を出力するようにしてもよい。 In the examples shown in FIGS. 7 (b) and 7 (c), first, the point (x, y) having the highest PLM output value is extracted as the score, and the point (x, y) is used. Information on three grippable positions and postures is shown in descending order of PCM score. The extraction of the grippable position and posture is not limited to this, and may be extracted by evaluating the output values of PLM and PCM by a predetermined evaluation function. For example, the position and posture in which the product of the output values of PLM and PCM is the highest may be simply output, or the position and posture in which the weighted average value of PLM and PCM by a predetermined weighting is the highest is output. It may be.
以上のように、本実施形態によれば、多次元、例えば、6次元の教師データに基づき最適化した学習モデルを用いることにより、自由度の高い、言い換えると、多次元の自由度に適応した把持可能な位置及び姿勢の情報を推定することが可能となる。上述した実施形態においては、6次元であるとしたが、例えば、グリッパ16の爪の関節における曲がり具合や、爪同士の距離等、他のパラメータに基づいた教師データを用いることにより、より高次元の自由度に対しても把持可能な状態を示す情報を推定可能である。このように自由度を高次元とすることにより、様々な形状の把持手段を利用する場合においても、本実施形態に係る学習方法を採用することが可能となる。
As described above, according to the present embodiment, by using a learning model optimized based on multidimensional, for example, 6-dimensional teacher data, it is adapted to a high degree of freedom, in other words, a multidimensional degree of freedom. It is possible to estimate information on the grippable position and posture. In the above-described embodiment, it is assumed to be six-dimensional, but it is higher-dimensional by using teacher data based on other parameters such as the degree of bending of the
例えば、グリッパ16の関節の動きを学習し、把持可能な情報として出力させる場合、教示ツールをグリッパ16の形状に合わせて変形してもよい。例えば、教示ツールの爪部分において1又は複数の関節を有するようにし、関節の動きをもカメラ18により撮影し、教師データとすることも可能である。別の例として、グリッパ16の爪同士の距離を限定したい場合、教示ツールの爪同士の距離をグリッパ16の爪同士の距離と同等にするようにしてもよい。また、グリッパ16の姿勢の自由度が、例えば、2であるような場合、これらの爪同士の距離や、爪の長さ等の別の自由度を追加し6次元以上の自由度として学習し、把持可能データを出力するようにしてもよい。このように、本実施形態における学習装置は、6次元以上の自由度の学習を行い、データの推定をすることを可能とする。
For example, when learning the movement of the joint of the
教師データの作成手法としては、上述した実施形態のようにグリッパ16とは異なる形状の教示ツール2を用いてもよいし、別の例として、グリッパ16と同じ形状の教示ツールを用いることもできる。この場合、教示ツール2とグリッパ16との形状の誤差を無くす、又は、小さくすることが可能となり、教師データにおいて教示ツール2では把持できるが、実際のグリッパ16では把持できないといった問題を回避することが可能となる。このようなグリッパ16と同形状の教示ツールを用いる場合、人間がロボット14を実際にロボット14の操作系統を用いて操作することにより教師データを収集するようにしてもよい。
As a method for creating teacher data, a
さらには、協働ロボットのように、人間が外部から物理的な力を与えることにより変形可能なロボットを用いて、教示ツールとしてのグリッパ16を実際に物体が把持できる位置及び姿勢まで動かし、当該位置及び姿勢の状態を教師データとするようにしてもよい。この場合、教示ツールであるグリッパ16の位置及び姿勢は、上述した実施形態と同様に、カメラ18で撮影されたものに基づいて取得するようにしてもよい。また、ロボット14を介してグリッパ16の位置及び姿勢の情報が取得できる場合には、カメラ18でグリッパ16の撮影をすることのみならず、カメラ18は物体の撮影を行い、把持可能な位置及び姿勢の情報は、ロボット14を介して取得し、当該物体の画像情報と把持可能な位置及び姿勢の情報とを紐付けて教師データとするようにしてもよい。
Furthermore, using a robot that can be deformed by a human being applying a physical force from the outside, such as a collaborative robot, the
さらにまた、教師データを取得する場合に、実際の物体を把持するのではなく、物体の情報をカメラ18で取り込み、VR(Virtual Reality)技術やAR(Augmented Reality)技術を用いて物体を仮想的又は拡張的に定義し、人間が教示ツール2又はグリッパ16を操作し、当該仮想的物体又は当該拡張的な物体を把持できる位置及び姿勢の情報を取得するようにしてもよい。このようにすることにより、教師データを取得するための教示用の慣用構築のコストの削減を可能とするとともに、同一の物体の状況に複数人が教示を行うことを容易にすることから、主観による教示の偏りを抑制することができる。
Furthermore, when acquiring teacher data, instead of grasping the actual object, the information of the object is captured by the
さらに、本実施形態においては、学習モデルにより推定された位置及び姿勢の情報を画像として出力することにより、カメラ18により撮影されたターゲット物体について自動的に把持可能な位置及び姿勢の情報を推定した後に、ユーザが出力された候補から容易に把持可能である位置及び姿勢の情報を選択することが可能となる。
Further, in the present embodiment, by outputting the position and posture information estimated by the learning model as an image, the position and posture information that can be automatically grasped for the target object photographed by the
また、本実施形態においては、FCNに基づいた学習モデルであるので、高速に演算を行うことが可能であり、特に学習フェーズにおいての時間的なコストを削減することが可能となる。これは、例えば、推定された位置及び姿勢の情報に対して実際に把持可能であったか否かを新たな教師データとする場合などにおいても有効である。 Further, in the present embodiment, since the learning model is based on FCN, it is possible to perform calculations at high speed, and it is possible to reduce the time cost especially in the learning phase. This is also effective when, for example, whether or not the estimated position and posture information can be actually grasped is used as new teacher data.
本実施形態に係る把持システム1は、例えば、物流倉庫における商品のピッキングや、工場におけるピッキング等、大量及びまたは多品種の物体をピッキングする際に用いられてもよい。また、例えば、クリーンルーム内における物体のピッキング等、ユーザが物体に近づくことが困難な場合又はユーザが物体に近づくことが望まれない場合において、遠隔操作をする際に用いられてもよい。さらに、ロボット14が道具を使用して作業をする場合において、当該道具を把持するために応用されてもよい。
The
なお、上述した実施形態の説明において、垂直、水平、鉛直等の方向を示す単語を用いたが、これらは把持システム1内において相対的に決定できる方向であればどのように定義してもよい。例えば、カメラ18を把持システム1内において重力に対して水平な方向を撮影するようにしてもよく、この場合、一例として、x軸をカメラ18の撮影面に平行であり且つ重力方向に対して水平な軸と定義し、y軸を撮影面に平行であり且つx軸と垂直な軸と定義し、z軸をカメラ18の撮影面と垂直な軸と定義してもよい。さらには、把持システム1内における3次元の位置が一意的に決定できる一次独立な軸であれば、各軸は、厳密な意味で直交している必要も無い。
In the description of the above-described embodiment, words indicating directions such as vertical, horizontal, and vertical are used, but these may be defined in any direction as long as they can be relatively determined in the
座標系についても、実装するシチュエーションに合わせて直交座標系に限られず、他の座標系、例えば、円柱座標系等を用いることもできる。姿勢についても同様であり、把持システム1内において一意的に決定できるものであれば、上述したR,P,Yには限られず、例えば、オイラー角、又は、偏角や方向余弦を用いて表されるものであってもよい。このように、3次元位置及び3次元姿勢により一意的に教示ツール2及びグリッパ16の位置及び姿勢が決定できるものであればどのようなものでもよく、システムの設計において使用しやすいものを選択することが可能である。
The coordinate system is not limited to the Cartesian coordinate system according to the situation to be implemented, and other coordinate systems such as a cylindrical coordinate system can also be used. The same applies to the posture, as long as it can be uniquely determined within the gripping
上記の全ての記載において、把持システム1の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、把持システム1及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA(Field-Programmable Gate Array)等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
In all the above descriptions, at least a part of the
また、本実施形態に係る学習モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータ10のCPUが学習モデル格納部112に格納されているモデルに基づいて、畳み込みネットワークの入力層に入力されたカメラ18により撮影された画像データに対して演算を行い、当該畳み込みネットワークの出力層から結果を出力するように動作する。
Further, the learning model according to the present embodiment can be used as a program module which is a part of artificial intelligence software. That is, the CPU of the
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。 Based on all the above descriptions, those skilled in the art may be able to conceive of additions, effects or various modifications of the present invention, but aspects of the present invention are not limited to the individual embodiments described above. Absent. Various additions, changes and partial deletions are possible without departing from the conceptual idea and purpose of the present invention derived from the contents defined in the claims and their equivalents.
1:把持システム
10:コンピュータ
102:教師データ生成部
104:学習部
106:推定部
14:ロボット
16:グリッパ
18:カメラ
2:教示ツール
1: Gripping system 10: Computer 102: Teacher data generation unit 104: Learning unit 106: Estimating unit 14: Robot 16: Gripper 18: Camera 2: Teaching tool
Claims (11)
前記物体を把持する把持手段と、
ニューラルネットワークモデルに前記物体の情報を入力し、前記把持手段の位置及び姿勢に関する情報を推定する少なくとも1つのプロセッサと、を備え、
前記把持手段は、推定された前記位置及び姿勢に関する情報に基づいて前記物体を把持し、
前記ニューラルネットワークモデルは、少なくともVR(Virtual Reality)技術及びAR(Augmented Reality)技術のいずれかを用いて生成された物体の把持情報に基づいて学習されたものである、
把持システム。 A detection device that acquires object information,
A gripping means for gripping the object and
It comprises at least one processor that inputs information about the object into a neural network model and estimates information about the position and orientation of the gripping means.
The gripping means grips the object based on the estimated information about the position and posture.
The neural network model is learned based on the gripping information of an object generated by using at least one of VR (Virtual Reality) technology and AR (Augmented Reality) technology.
Gripping system.
請求項1に記載の把持システム。 A controller that controls the gripping means based on the estimated information about the position and the posture is further provided.
The gripping system according to claim 1.
請求項1又は請求項2に記載の把持システム。 The detection device is installed in the gripping means,
The gripping system according to claim 1 or 2.
請求項1乃至請求項3のいずれかに記載の把持システム。 The detection device is a camera capable of acquiring distance information.
The gripping system according to any one of claims 1 to 3.
請求項1乃至請求項3のいずれかに記載の把持システム。 The detection device is one or more cameras.
The gripping system according to any one of claims 1 to 3.
請求項1乃至請求項5のいずれかに記載の把持システム。 The estimated information about the posture includes information capable of expressing rotation angles around a plurality of axes.
The gripping system according to any one of claims 1 to 5.
請求項1乃至請求項6のいずれかに記載の把持システム。 The output of each layer of the neural network model contains information other than the position, orientation and area of the object.
The gripping system according to any one of claims 1 to 6.
前記ニューラルネットワークモデルは、少なくともVR技術及びAR技術のいずれかを用いて生成された物体の把持情報に基づいて学習される、
モデル生成装置。 A model generator that generates a neural network model that outputs information about the position and orientation of the gripping means when information about an object is input.
The neural network model is learned based on the gripping information of the object generated by using at least one of the VR technique and the AR technique.
Model generator.
物体に関する情報が入力されると、把持手段の位置及び姿勢に関する情報を出力するニューラルネットワークモデルを生成する、モデル生成方法であって、
前記ニューラルネットワークモデルは、少なくともVR技術及びAR技術のいずれかを用いて生成された物体の把持情報に基づいて学習される、
モデル生成方法。 By at least one processor
It is a model generation method that generates a neural network model that outputs information about the position and posture of the gripping means when information about an object is input.
The neural network model is learned based on the gripping information of the object generated by using at least one of the VR technique and the AR technique.
Model generation method.
請求項9に記載のモデル生成方法。 The information regarding the posture output by the neural network includes information capable of expressing rotation angles around a plurality of axes.
The model generation method according to claim 9.
請求項9又は10に記載のモデル生成方法。 The output of each layer of the neural network model contains information other than the position, orientation and area of the object.
The model generation method according to claim 9 or 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020206993A JP7349423B2 (en) | 2019-06-19 | 2020-12-14 | Learning device, learning method, learning model, detection device and grasping system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019113637A JP7051751B2 (en) | 2019-06-19 | 2019-06-19 | Learning device, learning method, learning model, detection device and gripping system |
JP2020206993A JP7349423B2 (en) | 2019-06-19 | 2020-12-14 | Learning device, learning method, learning model, detection device and grasping system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019113637A Division JP7051751B2 (en) | 2019-06-19 | 2019-06-19 | Learning device, learning method, learning model, detection device and gripping system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021061014A true JP2021061014A (en) | 2021-04-15 |
JP2021061014A5 JP2021061014A5 (en) | 2021-07-29 |
JP7349423B2 JP7349423B2 (en) | 2023-09-22 |
Family
ID=88021853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020206993A Active JP7349423B2 (en) | 2019-06-19 | 2020-12-14 | Learning device, learning method, learning model, detection device and grasping system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7349423B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024058616A1 (en) * | 2022-09-15 | 2024-03-21 | Samsung Electronics Co., Ltd. | Synergies between pick and place: task-aware grasp estimation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6445964B1 (en) * | 1997-08-04 | 2002-09-03 | Harris Corporation | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine |
JP2009083095A (en) * | 2007-09-29 | 2009-04-23 | Ihi Corp | Control method of robot device, and the robot device |
JP2017030135A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning workpiece take-out motion |
JP2017068325A (en) * | 2015-09-28 | 2017-04-06 | ファナック株式会社 | Machine tool for generating optimal acceleration and deceleration |
-
2020
- 2020-12-14 JP JP2020206993A patent/JP7349423B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6445964B1 (en) * | 1997-08-04 | 2002-09-03 | Harris Corporation | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine |
JP2009083095A (en) * | 2007-09-29 | 2009-04-23 | Ihi Corp | Control method of robot device, and the robot device |
JP2017030135A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning workpiece take-out motion |
JP2017064910A (en) * | 2015-07-31 | 2017-04-06 | ファナック株式会社 | Machine learning device for learning taking-out operation of workpiece, robot system, and machine learning method |
JP2017068325A (en) * | 2015-09-28 | 2017-04-06 | ファナック株式会社 | Machine tool for generating optimal acceleration and deceleration |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024058616A1 (en) * | 2022-09-15 | 2024-03-21 | Samsung Electronics Co., Ltd. | Synergies between pick and place: task-aware grasp estimation |
Also Published As
Publication number | Publication date |
---|---|
JP7349423B2 (en) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6546618B2 (en) | Learning apparatus, learning method, learning model, detection apparatus and gripping system | |
JP6921151B2 (en) | Deep machine learning methods and equipment for robot grip | |
WO2023056670A1 (en) | Mechanical arm autonomous mobile grabbing method under complex illumination conditions based on visual-tactile fusion | |
CN111695562B (en) | Autonomous robot grabbing method based on convolutional neural network | |
US7664571B2 (en) | Controlling a robot using pose | |
JP7051751B2 (en) | Learning device, learning method, learning model, detection device and gripping system | |
JP2023542055A (en) | Interactive tactile perception method for object instance classification and recognition | |
CN114851201A (en) | Mechanical arm six-degree-of-freedom vision closed-loop grabbing method based on TSDF three-dimensional reconstruction | |
CN112947458B (en) | Robot accurate grabbing method based on multi-mode information and computer readable medium | |
JP2021061014A (en) | Learning device, learning method, learning model, detector, and gripping system | |
KR102332314B1 (en) | A coordinate value calibration device between robot and camera and a calibration method thereof | |
CN117103277A (en) | Mechanical arm sensing method based on multi-mode data fusion | |
US11964400B2 (en) | Device and method for controlling a robot to pick up an object in various positions | |
CN114882113A (en) | Five-finger mechanical dexterous hand grabbing and transferring method based on shape correspondence of similar objects | |
KR102452315B1 (en) | Apparatus and method of robot control through vision recognition using deep learning and marker | |
Liang et al. | Visual reconstruction and localization-based robust robotic 6-DoF grasping in the wild | |
TWI788253B (en) | Adaptive mobile manipulation apparatus and method | |
JP2023148859A (en) | Control method, control system and holding control program | |
Rungta | Using Novel Visuo-Tactile Sensors to Recognize Contact in Robotic Manipulation | |
Zeller et al. | Vision-based robot motion planning using a topology representing neural network | |
Cheng et al. | An ArUco-based Grasping Point Detection System | |
Joshi | Antipodal Robotic Grasping using Deep Learning | |
JP2024001876A (en) | Method for controlling robot for manipulating, in particular receiving, object | |
CN116079723A (en) | Robot grabbing and assembling skill deep reinforcement learning method based on vision | |
JP2024031308A (en) | Information processing device, information processing method, program, and robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220328 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221115 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20221115 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20221129 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20221202 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20230127 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20230131 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20230303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7349423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |