IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Preferred Networksの特許一覧

特許7349423学習装置、学習方法、学習モデル、検出装置及び把持システム
<>
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図1
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図2
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図3
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図4
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図5
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図6
  • 特許-学習装置、学習方法、学習モデル、検出装置及び把持システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-13
(45)【発行日】2023-09-22
(54)【発明の名称】学習装置、学習方法、学習モデル、検出装置及び把持システム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230914BHJP
   B25J 9/22 20060101ALI20230914BHJP
   B25J 13/00 20060101ALI20230914BHJP
   G05B 19/4155 20060101ALI20230914BHJP
   G05B 19/42 20060101ALI20230914BHJP
【FI】
G06T7/00 350C
B25J9/22 A
B25J13/00 Z
G05B19/4155 V
G05B19/42 J
【請求項の数】 16
(21)【出願番号】P 2020206993
(22)【出願日】2020-12-14
(62)【分割の表示】P 2019113637の分割
【原出願日】2017-05-31
(65)【公開番号】P2021061014
(43)【公開日】2021-04-15
【審査請求日】2020-12-14
【審判番号】
【審判請求日】2022-11-15
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】草野 仁志
(72)【発明者】
【氏名】久米 絢佳
(72)【発明者】
【氏名】松元 叡一
【合議体】
【審判長】五十嵐 努
【審判官】千葉 輝久
【審判官】木方 庸輔
(56)【参考文献】
【文献】特開2017-064910(JP,A)
【文献】米国特許第06445964(US,B1)
【文献】特開2009-083095(JP,A)
【文献】特開2017-68325(JP,A)
【文献】特開2017-30135(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T7/00-7/90
(57)【特許請求の範囲】
【請求項1】
物体を操作する操作手段と、
ニューラルネットワークモデルに前記物体の情報を入力し、前記操作手段で前記物体を操作するための少なくとも位置及び姿勢のいずれかに関する情報を推定する、少なくとも1つのプロセッサと、を備え、
前記操作手段は、推定された前記少なくとも位置及び姿勢のいずれかに関する情報に基づいて前記物体を操作し、
前記ニューラルネットワークモデルは、少なくとも仮想的物体及び拡張的物体のいずれかを用いて生成されたデータを用いて学習されたものであ
前記少なくとも仮想的物体及び拡張的物体のいずれかは、検知装置によって取得された現実世界の物体の情報に基づいて生成されたものである、
操作システム。
【請求項2】
前記現実世界の物体の情報を取得する検知装置は、少なくとも1台以上のカメラ、距離情報を取得可能なカメラ及び3次元計測器のいずれかである、
請求項に記載の操作システム。
【請求項3】
前記データは、前記少なくとも仮想的物体及び拡張的物体のいずれかを操作する操作手段を用いて前記少なくとも仮想的物体及び拡張的物体のいずれかを操作するための少なくとも位置及び姿勢のいずれかに関する情報を含む、
請求項1又は請求項2に記載の操作システム。
【請求項4】
前記データは、少なくともVR(Virtual Reality)技術及びAR(Augmented Reality)技術のいずれかを用いて生成されたものである、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項5】
推定された前記少なくとも位置及び姿勢のいずれかに関する情報に基づいて、前記操作手段を制御するコントローラ、を更に備える、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項6】
前記ニューラルネットワークモデルに入力する前記物体の情報を取得する検知装置が前記操作手段に設置されている、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項7】
前記ニューラルネットワークモデルに入力する前記物体の情報を取得する検知装置は、少なくとも1台のカメラ、距離情報を取得可能なカメラ及び3次元計測器のいずれかである、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項8】
推定された前記姿勢に関する情報は、複数の軸周りの回転角度を表現可能な情報を含む、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項9】
少なくとも1つのプロセッサは、前記ニューラルネットワークモデルに前記物体の情報を入力し、前記操作手段で前記物体を操作するための少なくとも複数の位置及び複数の姿勢のいずれかに関する情報を推定する、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項10】
前記操作手段は、推定された前記少なくとも位置及び姿勢のいずれかに関する情報に基づいて前記物体を把持する、
請求項1乃至請求項のいずれかに記載の操作システム。
【請求項11】
少なくとも1つのプロセッサにより、
物体に関する情報が入力されると、操作手段で前記物体を操作するための少なくとも位置及び姿勢のいずれかに関する情報を出力するニューラルネットワークモデルを生成する、モデル生成方法であって、
少なくとも仮想的物体及び拡張的物体のいずれかを用いて生成されたデータを用いて前記ニューラルネットワークモデルを学習
前記少なくとも仮想的物体及び拡張的物体のいずれかは、検知装置によって取得された現実世界の物体の情報に基づいて生成されたものである、
モデル生成方法。
【請求項12】
前記現実世界の物体の情報を取得する検知装置は、少なくとも1台以上のカメラ、距離情報を取得可能なカメラ及び3次元計測器のいずれかである、
請求項11に記載のモデル生成方法。
【請求項13】
前記データは、前記少なくとも仮想的物体及び拡張的物体のいずれかを操作する操作手段を用いて前記少なくとも仮想的物体及び拡張的物体のいずれかを操作するための少なくとも位置及び姿勢のいずれかに関する情報を含む、
請求項11又は請求項12に記載のモデル生成方法。
【請求項14】
前記データは、少なくともVR(Virtual Reality)技術及びAR(Augmented Reality)技術のいずれかを用いて生成されたものである、
請求項11乃至請求項13のいずれかに記載のモデル生成方法。
【請求項15】
前記ニューラルネットワークモデルが出力する前記姿勢に関する情報は、複数の軸周りの回転角度を表現可能な情報を含む、
請求項11乃至請求項14のいずれかに記載のモデル生成方法。
【請求項16】
少なくとも1つのプロセッサにより、
少なくとも仮想的物体及び拡張的物体のいずれかを用いて生成されたデータを用いて学習されたニューラルネットワークモデルに、物体の情報を入力し、
操作手段で前記物体を操作するための少なくとも位置及び姿勢のいずれかに関する情報を推定し、
推定された前記少なくとも位置及び姿勢のいずれかに関する情報に基づいて、前記操作手段で前記物体を操作する、
操作方法であって、
前記少なくとも仮想的物体及び拡張的物体のいずれかは、検知装置によって取得された現実世界の物体の情報に基づいて生成されたものである、
操作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、学習モデル、検出装置及び把持システムに関する。
【背景技術】
【0002】
現在、様々な用途についてロボットを用いた自動化がされており、それぞれの用途に応じて広く研究開発が行われている。ロボットに付属したアームを用いて物体を把持する研究も広く行われている。ロボットのグリッパ部分で物体を把持するためには、ロボットのグリッパの位置及び向きを、物体の検知装置、例えば、RGB-Dカメラを用いて検知された物体の位置から決定する必要がある。このグリッパの位置及び向きを推定する手法として、他分野でも広く用いられているニューラルネットワークやディープラーニングを利用する手法が開発されている。
【0003】
しかしながら、従来の手法では、高次元の把持姿勢を求めること、特に、コンピュータ上の画像においてアノテーションすることが難しい情報を予測することが困難である。CADを用いて3次元物体を認識する手法もあるが、CADモデルが必要となる上、物体を認識した後に把持姿勢を決定しなければならず、経済的及び時間的コストが高い。さらに、従来の手法においては、グリッパが直上から物体を把持する以外の把持方法を学習している例が見受けられない。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016―132086号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本発明は、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置を提供する。
【課題を解決するための手段】
【0006】
物体の存在する位置と、当該物体を把持している教示ツールの情報を検知する、検知手段と、
前記検知手段により検知された前記教示ツールの情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成する、教師データ生成手段と
複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢のデータを出力する学習モデルを、前記教師データを用いて学習する、学習部と、
を備える学習装置。
【発明の効果】
【0007】
本発明に係る学習装置によれば、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行うことが可能となる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係る把持システムの概略を示す図。
図2】一実施形態に係るコンピュータの機能を示すブロック図。
図3】一実施形態に係る教師データ取得のための教示ツールを模式的に示す図。
図4】一実施形態に係る学習モデルの層を示す図。
図5】一実施形態に係る学習フェーズの処理を示すフローチャート。
図6】一実施形態に係る推定フェーズの処理を示すフローチャート。
図7】一実施形態に係るターゲット物体並びに推定された把持位置及び姿勢の例を示す図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施形態についてより詳しく説明する。本実施形態は、本発明を限定するものではない。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一の構成要素の詳しい説明は繰り返さない。
【0010】
本実施形態に係る学習装置は、例えば、ロボットに付属された又はロボットの構成要素であるグリッパによりターゲットとなる物体(以下、ターゲット物体と記載する)を把持する場合において、ターゲット物体をキャプチャするように備えられたカメラにより撮影された画像を利用し、物体を把持することが可能なグリッパの位置及び向きの情報を出力するモデルを学習しようとするものである。
【0011】
図1は、本実施形態に係る学習装置により学習された学習モデルを用いたロボットによる物体の把持システムである。この図1に示すように、把持システム1は、コンピュータ10と、コントローラ12と、ロボット14と、グリッパ16と、カメラ18と、を備える。
【0012】
コンピュータ10は、コントローラ12、グリッパ16及びカメラ18に接続され、把持システム1全体の制御を行うコンピュータであり、例えば、CPU(Central Processing Unit)、各種メモリ及びユーザインターフェースを有する。このコンピュータ10内に、学習装置により学習された学習モデルが格納されている。学習装置は、コンピュータ10内に搭載されていてもよい。また、学習をするため及び学習モデルに実測値を当てはめるための演算を行うGPU(Graphical Processing Unit)等のアクセラレータを搭載していてもよい。
【0013】
コントローラ12は、コンピュータ10からの信号を受信し、ロボット14を制御するための信号をロボット14へと送信する制御装置である。コンピュータ10から受信した信号をコントローラ12は、ロボット14を制御するための信号へと変換し、ロボット14に動作をさせるための信号を送信する。
【0014】
なお、このコントローラ12は、コンピュータ10内で信号の変換等を行う場合には省略可能である。さらには、コンピュータ10及びコントローラ12がロボット14に搭載されているものとしてもよい。すなわち、コンピュータ10、コントローラ12及びロボット14をまとめて一体のロボットとして構成してもよい。資源やコスト等その他の要因に基づいて、これらの構成は可変である。
【0015】
ロボット14は、物体を把持するグリッパ16を支持する筐体である。本実施形態の説明においては、ロボット14を主にグリッパ16の支持筐体として説明するが、これには限られず、他の機能を有し、他の用途に用いるものであってもよい。
【0016】
グリッパ16は、コンピュータ10からの把持可能な位置及び姿勢の情報を受信し、ターゲット物体を把持するための装置(把持手段)であり、例えば、3本の可動な爪部を備える把持装置である。爪部は、例えば、1又は複数の関節を有し、それぞれの関節ごとに操作できるように制御可能となっている。グリッパ16は、コンピュータ10、コントローラ12又はロボット14により制御される。すなわち、グリッパ16は、制御部により制御される。ターゲット物体を把持する場合には、コンピュータ10から受信した位置及び姿勢の情報に基づいて制御される。
【0017】
なお、グリッパ16の構成としては爪タイプだけではなく、スライドタイプやレバータイプであってもよいし、爪の本数も3本には限られず、2本又は4本以上であってもよい。このグリッパ16は、例えば、アーム(図示しない)を介してロボット14と物理的又は電気的に接続されていてもよい。
【0018】
また、グリッパ16は、コンピュータ10と接続されていなくてもよい。この場合、グリッパ16は、コントローラ12及びロボット14を介してターゲット物体を把持するための位置及び姿勢(3次元的な方向)の情報を取得するようにしてもよい。
【0019】
以下の説明において、グリッパ16の位置とは、グリッパ16の基準点に対する位置であるとする。グリッパ16の基準点とは、グリッパ16に位置情報を与えた場合に、把持システム1内においてグリッパ16の位置を一意的に決定できるようにするための点である。例えば、3本の爪を有するグリッパである場合、これらの爪の初期位置(例えば、最も伸びている状態の位置)における爪の先の中心点(重心でもよい)をグリッパ16の基準点としてもよいし、これらの爪が設置されている点をグリッパ16の基準点としてもよい。または、ロボット14のアームとグリッパ16とが接続されている点をグリッパ16の基準点としてもよいし、これらには限られない。
【0020】
さらに、グリッパ16の位置を調整するには、ロボット14のアームの動作により調整する場合があるが、以下の説明においては、グリッパ16の位置及び姿勢の制御は、グリッパ16の位置又は姿勢の制御及びロボット14のアームの動作の制御を含む概念であるとする。
【0021】
カメラ18は、コンピュータ10と接続され、物体の画像を所定の位置及び方向から捕捉するためのキャプチャ装置である。このカメラ18は、例えば、物体を鉛直方向から撮影するRGB-Dカメラであり、所定の点を基準(以下、カメラ18の基準点と記載する)としたカメラ18の撮像面に対して水平な位置(x,y)における物体のRGB値と、物体の各位置(x,y)におけるカメラ18の撮像面に対して垂直な位置z(深度)とを捕捉する。
【0022】
カメラ18は、このように、物体が存在する位置(x,y,z)が捕捉可能な装置であれば、RGB-Dカメラには限られず、他の物体の3次元の位置を検知できるような検知装置であってもよい。例えば、2方向又は3方向から物体を捕捉するように複数のカメラを備え、物体の3次元の位置を捕捉できるような装置であってもよい。また、可視光を撮影するためのカメラではなく、物体を3次元で計測できるその他の検知装置であってもよい。
【0023】
なお、図1においてカメラ18は、コンピュータ10とのみ接続されているものであるが、これには限られない。例えば、コンピュータ10に搭載されているものであってもよいし、ロボット14等に設置又は搭載されているものであってもよい。この場合、カメラ18は、直接コンピュータ10と接続されていてもよいし、ロボット14等を介してコンピュータ10と接続されていてもよい。
【0024】
カメラ18の基準点は、例えば、カメラ18の位置又はグリッパ16の初期位置とすることもできる。これには限られず、計測された物体において一意的に位置(x,y,z)を決定できる点をカメラ18の基準点としてもよい。この場合、原則的に、カメラ18は、把持システム1内において固定された位置にある。すなわち、教師データを撮影するシステムと、ターゲット物体を撮影するシステムは、同じシステムであることが望ましい。
【0025】
または、カメラ18は、例えば、ロボット14のアームにグリッパ16とともに接続されていたり、グリッパ16に取り付けられていたりしてもよい。併せて、カメラ18の基準点を、グリッパ16の基準点と同じとすることもできるし、別途把持システム1において一意的にカメラ18で撮影した物体の各点の位置が決定できる座標系となるように基準点を設定してもよい。この場合、例えば、把持システム1内における物体の存在する位置は、カメラ18の基準点に対するカメラ18の位置と、カメラ18により撮影された画像中における物体の各位置の座標に基づき算出されるものとしてもよい。
【0026】
なお、グリッパ16の基準点と、カメラ18の基準点は同じ点であるとしてもよく、この場合、把持システム1内における3次元座標を同じ座標系において扱うことが可能となる。また、グリッパ16等の姿勢は、これらの3次元座標系において、例えば、x-y平面上でx軸と平行である姿勢を基準であるとしてもよい。このように、グリッパ16等の位置及び姿勢は、把持システム1内で一意的に決定できるものであればどのようなものであってもよい。
【0027】
教師データを生成する画像を撮影するシステムと、ターゲット物体を把持するシステムは異なっていてもよいが、ターゲット物体を把持するシステムにおいて、例えば、カメラ18と物体までの距離、及び、カメラ18の基準点とグリッパ16の基準点との相対的な位置関係が、教師データを生成する画像を撮影するシステムと同等であることが望ましい。それ以外の場合であっても、入力されたターゲット物体の画像における座標及び出力するグリッパ16の位置及び姿勢情報の補正を行うことにより本実施形態を適用することは可能である。
【0028】
カメラ18が把持システム1内において固定されている場合、一例として、カメラ18は、物体が設置される面の70cm×50cmの広さの平面が撮影されるように当該平面から鉛直方向に75cm離れた位置に設置される。これは一例であり、他の設置方法を除外するものではない。
【0029】
図2は、コンピュータ10の機能を示すブロック図の一例である。この図2に示すように、コンピュータ10は、例えば、入力部100と、教師データ生成部102と、学習部104と、推定部106と、出力部108とを備える。さらに、教師データを格納する教師データ格納部110と、教師データに基づいて学習した学習モデルを格納する学習モデル格納部112とを備える。CPU等の構成については、図示しない。図中の実線は学習フェーズにおけるデータの流れを示し、破線は把持情報の推定フェーズにおけるデータの流れを示す。
【0030】
入力部100を介して、コンピュータ10へデータ等が入力される。入力されるデータは、学習フェーズであれば、教師データとなるカメラ18において撮影された物体を把持する図3に示される教示ツール2の画像である。推定フェーズであれば、把持する目的となるターゲット物体の画像である。また、図示しないユーザインターフェースを介して、学習する旨のリクエストや把持情報の推定をするためのリクエストが入力される。
【0031】
教師データ生成部102は、入力部100を介してコンピュータ10に教示ツール2の画像が入力された場合に、入力された画像データを変換し教師データを生成する。入力された画像から教師データに備えられる3次元位置及び3次元姿勢への変換の詳細については、後述する。
【0032】
学習部104は、教師データ格納部110に格納されている教師データを用いて把持情報の推定のための学習モデルを生成する。学習部104は、ユーザからのリクエストに基づいてこの教師データ格納部110に格納されているデータに基づいて学習モデルを生成し、生成された学習モデルを学習モデル格納部112へと格納する。なお、学習部104は、学習中であるステータス状態や、学習が終了したという情報を出力部108に出力するようにしてもよい。
【0033】
推定部106は、ターゲット物体を把持するための位置及び姿勢の情報を学習モデルに基づいて推定する。例えば、入力部100を介して把持情報を推定するようなリクエストを受信すると、推定部106は、学習モデル格納部112に格納されている学習モデルに基づいて、入力されたターゲット物体の画像についてグリッパ16が当該ターゲット物体を把持することが可能である位置(3次元位置)及び姿勢(3次元方向)の情報を推定する。推定された情報は、例えば、出力部108に表示するようにしてもよいし、出力部108を介してロボット14あるいはグリッパ16へと送信されてもよい。
【0034】
なお、推定部106が推定した情報を新たな教師データとしてフィードバックすることもできる。一点鎖線で示された矢印のように、推定部106において推定された情報と、実際にグリッパ16がターゲット物体を把持できたか否かの情報又はユーザが情報を確認してターゲット物体が把持可能であるかどうかを予測した結果を教師データとして、教師データ格納部110へと出力してもよい。
【0035】
図2においては、学習部104と推定部106が同じコンピュータ10内にあるとして説明したが、これには限られない。すなわち、共通した学習モデル格納部112に基づいて、別々のコンピュータ内に学習部104と推定部106が備えられていてもよい。さらに、教師データ格納部110及び学習モデル格納部112は、コンピュータ10内に備えられていなくてもよく、例えば、ネットワークを介したデータベースサーバ等を備え当該データベースサーバ内に備えられていてもよい。
【0036】
図2に示すような構成である場合、コンピュータ10は、グリッパ16がターゲット物体を把持可能な位置及び姿勢情報を取得するための学習モデルを最適化する学習装置であるとともに、当該学習モデルに基づいてグリッパ16がターゲット物体を把持可能な位置及び姿勢情報を推定する推定装置でもある。
【0037】
図3は、本実施形態に係る学習モデルを作成するために用いる教示ツール2の例を示す図である。教示ツール2は、教示ツール本体20と、マーカ22とを備える。
【0038】
教示ツール本体20は、教師データを作成する際に人間が操作するツールであり、この教示ツール本体20により物体を把持することにより、物体を把持することが可能な教示ツール2の位置及び姿勢を教師データとして蓄積することが可能となる。
【0039】
マーカ22は、教示ツール本体20に固定されているマーカである。カメラ18により撮影された教示ツール2の位置は、教示ツール本体20の位置を抽出することにより求めることが可能であるが、教示ツール2の姿勢は教示ツール本体20の画像を取得するだけでは抽出することが困難であることが多い。
【0040】
そこで、マーカ22を教示ツール本体20へと固定することにより、画像からマーカ22を検出し、マーカ22の3次元空間における位置(x,y,z)又は姿勢(R,P,Y)を推定することにより、教示ツール2の姿勢を推定することが可能となる。なお、図3においてマーカ22は、3つの異なるものから構成されているが、これには限られず、読み取りの精度を確保できるものであれば1つ又は2つのマーカにより構成されるものであってもよい。精度を高めるために、教示ツール本体20の長手方向及び短手方向の2本のベクトルを基底とした方向を検出するようにしてもよい。
【0041】
また、マーカ22を用いることには限られず、例えば、3軸センサ、6軸センサ、光、電波、音波等を用いて教示ツール2の位置又は姿勢を抽出するようにしてもよい。さらに、上記では教師データとして把持可能なデータを取得するものとしたが、これには限られず、教示ツール2を用いて把持できないデータをも収集するようにしてもよい。このようにすることにより、ポジティブデータのみならずネガティブデータを用いた学習を行うことも可能となる。
【0042】
教示ツール基準点24は、教示ツール2の位置及び姿勢の基準となる点である。教示ツール2の3次元の位置(x,y,z)は、この教示ツール基準点24の位置を基準として計測される。例えば、教示ツール2の位置は、教師データ生成部102がマーカ22の位置に基づいて、教示ツール基準点24の位置を求めることにより決定される。より単純には、教示ツール2の2つの端点の中心の位置を教示ツール2の位置(x,y)としてもよい。位置zについては、カメラ18がRGB-Dカメラである場合には、その計測結果から求めるものとしてもよい。
【0043】
なお、教示ツール2の位置は、把持システム1内で一意的に決定できるように表現されるものであればよい。例えば、上述したグリッパ16の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよいし、カメラ18の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよい。
【0044】
教示ツール2の姿勢は、マーカ22を読み取ることにより検出される。すなわち、教示ツール基準点24を中心に教示ツール本体20の長手方向を基準として、ロール角R、ピッチ角P及びヨー角Yとして姿勢(R,P,Y)が検出される。例えば、教示ツール本体20の長手方向に対して短手方向がどれだけ傾いているか(R)、長手方向が水平方向からどれだけ傾いているか(P)、長手方向と短手方向が水平面状でどれだけ回転しているか(Y)により検出される。この際、教師データ生成部102により、例えば、水平面上の所定の姿勢で設置された状態の教示ツール2の3次元方向を基準とし、透視変換行列を求めることによりマーカ22の各方向への傾きを算出することにより、カメラ18が撮影した教示ツール2の画像の情報が姿勢情報へと変換される。
【0045】
次に、各フェーズにおける動作について説明する。まず、グリッパ16がターゲット物体を把持できる位置及び姿勢の情報を推定するための学習モデルについて説明する。
【0046】
図4は、本実施形態における学習モデルの一例を示す図である。この図4に示すように、学習モデルは、FCN(Fully Convolutional Network)により構成される。FCNとは、畳み込みネットワーク(以下CNN:Convolutional Neural Networkと記載する)の一種であり、全ての層間の演算が畳み込み演算で行われる学習のことを言う。すなわち、プーリング層及び全結合となる層間が存在しないネットワークである。FCNを利用することにより、構成が複雑でなく、計算コストが低いネットワークを構成することが可能となる。なお、学習モデルは、FCNに限られず、他のネットワークを利用してもよい。
【0047】
この学習モデルは、入力画像として、200×200ピクセルのRGBの3枚の画像と、デプスマップの1枚の画像が入力されると、把持可能であると予測された位置マップ(PLM:Predicted Location Map)と、姿勢・深度マップ(PCM:Predicted Configuration Map)が出力される。PLM及びPCMは、カメラ18で撮影されたピクセルごとに把持可能か否かを示す情報である。
【0048】
より具体的には、PLMは、2次元位置(x,y)にグリッパ16が存在する場合にターゲット物体を把持できる可能性があるか否かを示すマップである。例えば、PLMの各ピクセルは、そのピクセルに対応する位置(x,y)にグリッパ16が存在すればターゲット物体が把持可能である場合には1に近い値、そうでない場合には0.5に近い値又は0.5以下の値であるようなマップである。後述するように、出力されるPLM及びPCMのデータは、シグモイド関数を介して(0,1)の領域になるためである。
【0049】
PCMは、深度及び姿勢(z,R,P,Y)にグリッパ16を操作すればターゲット物体を把持できる可能性があるという深度及び姿勢の4次元の情報を2次元位置(x,y)にマッピングしたものである。このPCMは、具体的には、以下のように生成される。mず、カメラ18において検知されたデータのうち、実際に把持可能な当該4次元の情報を、例えば、300通りにクラスタリングし、教師データとして準備する。PCMは、推定されたグリッパ16の深度及び姿勢の4次元の情報をこのクラスタリングされた教師データを参照することにより、教師データ毎、すなわちクラスタリングされた各々の深度及び姿勢で実際に把持できる可能性がある2次元位置(x,y)をマッピングしたものである。
【0050】
ターゲット物体に対してグリッパ16が当該ターゲット物体を把持できる可能性のある当該4次元の情報は、ほぼ無限通りあるため、これらを緩和するために深度及び姿勢の組合せを上記の300通りにクラスタリングした結果を用いる。このクラスタリングには、一例として、k-means法が用いられるが、他の一般的なクラスタリング手法を用いてもよい。なお、本実施形態においては、物体を把持できない場合の教師データを含めて、301通りの教師データを使用することによりPCMを生成する。
【0051】
図4における各層についての説明をする。各層の上方に記載しているS1又はS2は、当該層への畳み込み時におけるストライドを表す。S1であれば、ストライドが1であることを示し、S2であれば、ストライドが2であることを示す。ここでは、一例として、S1で表される層には、3×3のコンボリューションカーネルを用い、S2で表される層には、4×4のコンボリューションカーネルを用いる。各層の下方に記載している16、32、64、302の数字は、各層のチャネル数を示す。
【0052】
一番左の層は、入力層であり、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)
としたものである。
【0053】
より具体的には、入力画像の各チャネルに対して16通りの3×3サイズのカーネルを用いて畳み込み演算を行い16チャネルの第1層のデータを生成する。すなわち、1つのカーネルのセットとしてR(Red)、G(Green)、B(Blue)、D(Depth)画像用のカーネルが存在し、入力画像の各チャネルに対してそれぞれのチャネルに対応するカーネルを畳み込み積分する。そして、畳み込み積分した結果を1つの画像として合成する。
【0054】
合成は、例えば、所定の重み付けにより各チャネルの画像を荷重加算することにより実行される。重み付けの係数を各カーネルに含むこともでき、この場合、各チャネルを対応するカーネルで畳み込んだ後に、各チャネルの出力を加算することにより出力のチャネルが生成される。16通りのこのようなカーネルのセットを入力画像に適用することにより、4チャネルから16チャネルへの変換が行われる。
【0055】
さらに、最終層(第11層)を除く全ての層において、畳み込み演算後に、バッチ正規化を行い、活性化関数としてReLU(Rectified Linear Unit)を適用する。ここで、バッチ正規化とは、各チャネルの平均が0、分散が1となるように正規化をする処理を示す。ReLUとは、データ中の負値を0とする変換を示す。擬似コードで表すと、
layer1 = chainer.functions.relu(chainer.functions.BatchNormalization(layer1))としたものである。
【0056】
第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))として正規化及び活性化を行う。
【0057】
その後、アップサンプリングの過程に移行する。アップサンプリングは、ダウンサンプリングの逆の操作を行うことにより実行される。例えば、第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))と表される。
【0058】
最終層では、上記の活性化の代わりに、シグモイド関数を用いて活性化を行う。そして、ターゲット物体が把持可能である位置及び姿勢の情報をクラスタリングした結果を教師データとして入力しておくことにより、最終層において得られた結果をターゲット物体が把持可能な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)データが出力される。
【0059】
最終層においてPCMは、例えば、図4の最下段に示されるような画像として出力される。この画像は、クラスタリングされた各教師データに対して、当該教師データが示す深度及び姿勢において、ターゲット物体が把持可能である2次元位置(x,y)を示すマッピングデータである。各教師データに対するマッピングデータに対して、例えば、それぞれ別の色により彩色したものを1枚のPCMを示す画像として合成して出力してもよい。これらの画像を1枚の画像に合成する場合、各位置(x,y)に対して、最も高い出力値を有するクラスタを示す色で彩色してもよい。一方、PLMは、1チャネルの出力であるので、例えば、最終層から出力された値をグレースケールや他の彩色によるスケール方法により画像に変換して出力してもよい。
【0060】
なお、上記の学習モデルは、一例として示したものであり、他のネットワークによる学習及び最適化を行ってもよい。例えば、一般的なCNNのように、プーリング層や全結合層を含むネットワークによる学習を行ってもよい。
【0061】
次に、当該学習モデルを生成する学習フェーズについて説明する。図5は、本実施形態における学習処理を示すフローチャートである。
【0062】
まず、カメラ18により撮影された物体及び教示ツール2の画像データを収集する(ステップS10)。この画像データは、カメラ18を介し、教示ツール2を用いて複数の物体のそれぞれいついて、把持可能な複数の位置及び姿勢を入力することにより取得する。教師データへの変換用の画像データとして、複数の物体のそれぞれについて、複数の把持位置及び把持姿勢を入力する。取得された教師データは、入力部100を介して教師データ生成部102へと入力される。
【0063】
一例として、物体の数が7である場合、各物体を12の任意の位置及び任意の姿勢に配置し、各配置に対して100の把持可能な位置及び姿勢を設定すると、各物体に対して12×100=1200通りの画像データが収集され、全体としてとして、7×12×100=8400通りの画像データが収集される。
【0064】
次に、取得された各画像データについて、教師データへの変換処理を行う(ステップS11)。教師データ生成部102は、入力された画像データを変換し、教師データを生成する。生成された教師データは、教師データ格納部110へと格納される。また、例えば、上記のように大量のデータを取得した場合、出力されるターゲット物体を把持可能な位置及び姿勢の情報は、ほぼ無限通りとなってしまう。そこで、教師データ生成部102は、教示ツール2が物体を把持可能な位置(z)及び姿勢(R,P,Y)の4次元の情報をk-means等のクラスタリング手法を用いて、例えば、300通りの把持可能な位置及び姿勢の情報へと分類する。これらのクラスタリングの結果も、教師データ格納部110に格納されてもよい。
【0065】
1セットの教師データは、4次元(例えば、R,G,B,D)の物体の画像と、6次元(例えば、x,y,z,R,P,Y)の当該物体を把持可能な位置及び姿勢の情報と、が紐付けられたデータを備えるデータである。すなわち、複数の物体に対して、それぞれ複数セットの上記の教師データを備えるデータが教師データ格納部110に格納される。
【0066】
次に、学習を行う(ステップS12)。学習の最適化には、例えば、Adam(Adaptive Moment Estimation)を用いる。Adamを用いる場合の学習パラメータとして、α=0.0004、バッチサイズを80等としてもよい。なお、学習の最適化手法は、Adamには限られず、NAG、Adagrad、RMSprop、Adadelta等、他の最適化手法を用いてもよい。また、学習する際の初期値を求めるために事前学習をしてもよい。事前学習は、例えば、VGG16モデルを用いて実行されてもよい。
【0067】
また、オーバーフィッティングを抑制するために、Label-preserving transformationの手法により、人工的にデータを生成してもよい。この手法は、例えば、把持可能であるとラベリングされたデータに対して、局所的に変更を加えた人工的なデータを作成し、当該データも把持可能な位置及び姿勢の情報であると仮定する手法である。
【0068】
例えば、グリッパ16の位置及び姿勢が近い2つの教師データがある場合、これらのデータの中間にある位置及び姿勢の情報は、把持可能である位置及び姿勢の情報であると仮定して、新たな教師データを生成する。このようにすることにより、例えば、上述した8400通りのデータを3倍ほどに増強してもよい。このようにサンプルを補強することにより、例えば、ある位置及び姿勢の情報において把持可能であるが、当該位置及び姿勢の情報からロール角のみを微少にずらした場合に把持不可能であるように判定されるようなオーバーフィッティングを起こす可能性を抑制することが可能となる。
【0069】
学習においては、例えば、以下の評価関数を用いて学習モデルの最適化を行う。具体的には、下記の評価関数を用いて教師あり学習を行い、例えば、各層間において畳み込みに使用されるカーネルの最適化を行う。なお、下記において、出力される画像は上述したようにシグモイド関数の出力となるので、出力画像の画素値が0及び1になることはない。
【0070】
PLMの評価関数として
【数1】
ここで、aは、倍率、nは、学習データの総数、W/Hは、それぞれ学習に用いる画像の幅/高さ、tは、ターゲットとなるPLM、yは、出力を示す。倍率aは、例えば、200である。
【0071】
PCMの評価関数として
【数2】
ここで、Cは、クラス数、Sは、t (i,j)=1となるピクセルの総数、uは、ターゲットとなるPCM、yは、出力を示す。
【0072】
学習は、PCMの評価関数とPLMの評価関数とで表される評価関数L=LPLM+λLPCMを用いてバックプロパゲーションにより学習モデルを最適化することにより実行される。ここで、λは、例えば、200である。このような学習を行うことにより、例えば、畳み込みを行う各カーネルを最適化する。なお、評価関数は、PLM及びPCMを評価可能な関数であればよく、上記のものには限られない。また、学習フェーズにおいて、教師データを2グループに分け、クロスバリデーションを行ってもよい。学習された学習モデルは、学習モデル格納部112へと格納される。
【0073】
上記のような学習を行うことにより、図4に示す学習モデルが生成される。次に、ターゲット物体の画像が撮影された場合における把持可能位置及び姿勢の情報の推定フェーズについて説明する。図6は、本実施形態における推定処理を示すフローチャートである。
【0074】
まず、推定部106は、入力部100を介してカメラ18により撮影されたターゲット物体の画像を取得する(ステップS20)。この画像は、カメラ18がRGB-Dカメラである場合、平面上に示されたR、G、Bの各色の成分の画像と、撮影された画像中におけるそれぞれの深度を示す画像とが取得される。
【0075】
次に、推定部106は、学習モデル格納部112に格納されている学習モデルにステップS20で取得された画像を入力画像として入力し、当該ターゲット物体を把持することが可能なグリッパ16の位置及び姿勢を示すPLM及びPCMを取得する(ステップS21)。カメラ18により取得されたターゲット物体の画像は、図4に示す一番左の入力層に入力される。画像が入力された畳み込みネットワークを備える学習モデルにより、当該ターゲット物体に対するPCMとPLMが出力される。
【0076】
なお、PCMとPLMの出力は、図4に示すように画像として出力部108を介して出力するようにしてもよい。PLMの画像は、グリッパ16がターゲット物体を把持できる可能性が高いグリッパ16の位置を点の集合として出力する。PCMは、各点におけるグリッパの深度(カメラ18からの鉛直方向の距離)及び姿勢の4次元データ(z,R,P,Y)を300通りにクラスタリングした結果と照合し、画像として出力される。例えば、上述したように、画像上において、それぞれのクラスが異なる色として出力される。
【0077】
次に、推定部106は、学習モデルにより出力された把持可能なグリッパ16の深度及び姿勢のデータからスコアの高い情報を選択し、出力部108を介して当該情報を出力する(ステップS22)。スコアとして、例えば、出力されたPLM及びPCMのマップ自体を参照する。
【0078】
次に、出力部108を介してコンピュータ10から把持可能な位置及び姿勢の情報を受信したグリッパ16を操作することにより、ロボット14は、グリッパ16を用いてターゲット物体を把持することができる(ステップS23)。
【0079】
図7(a)は、ターゲット物体の一例である。この図7(a)に示すように、ターゲット物体は、例えば、ボトルである。図7(b)及び図7(c)は、上述した学習モデルにより推定されたターゲット物体の把持位置及び姿勢を示す図である。これらの図においては、7種類の教師データ用の物体を用いて学習モデルを最適化し、教師データ用の物体として用いられなかったターゲット物体を当該学習モデルに適用した例である。
【0080】
図7(b)は、ターゲット物体を把持する位置及び姿勢を上面から示したものであり、図7(c)は、図7(b)のA-A’断面図である。これら図7(b)及び図7(c)において、実線は、最もスコアが高い把持可能な位置及び姿勢の情報に基づいて、グリッパ16の位置及び姿勢を示すものであり、続いて、破線、一点鎖線の順でスコアが高いものを示す。
【0081】
最もスコアの高い把持可能な位置及び姿勢の情報に基づいた位置及び姿勢であるとき、グリッパ16は、ターゲット物体を把持することが可能であることがこれらの図から読み取ることができる。すなわち、図7(b)に示す水平方向及び図7(c)に示す鉛直方向の位置にグリッパ16が位置しており、それぞれの図において、ターゲット物体を挟むようにグリッパ16の姿勢が設定されていることを読み取ることができる。破線、一点鎖線についても同様に、ターゲット物体が把持可能であることを読み取ることができる。
【0082】
なお、図7(b)及び図7(c)に示される例においては、スコアとして、まず、PLMの出力値が最も高い点(x,y)を抽出し、当該点(x,y)におけるPCMのスコアが高い順に3つの把持可能な位置及び姿勢の情報を図示している。把持可能な位置及び姿勢の抽出は、これには限られず、PLMとPCMの出力値とを所定の評価関数により評価することにより抽出するようにしてもよい。例えば、単純にPLM及びPCMの出力値の積が最も高い位置及び姿勢を出力するようにしてもよいし、所定の重み付けによるPLM及びPCMの加重平均の値が最も高い位置及び姿勢を出力するようにしてもよい。
【0083】
以上のように、本実施形態によれば、多次元、例えば、6次元の教師データに基づき最適化した学習モデルを用いることにより、自由度の高い、言い換えると、多次元の自由度に適応した把持可能な位置及び姿勢の情報を推定することが可能となる。上述した実施形態においては、6次元であるとしたが、例えば、グリッパ16の爪の関節における曲がり具合や、爪同士の距離等、他のパラメータに基づいた教師データを用いることにより、より高次元の自由度に対しても把持可能な状態を示す情報を推定可能である。このように自由度を高次元とすることにより、様々な形状の把持手段を利用する場合においても、本実施形態に係る学習方法を採用することが可能となる。
【0084】
例えば、グリッパ16の関節の動きを学習し、把持可能な情報として出力させる場合、教示ツールをグリッパ16の形状に合わせて変形してもよい。例えば、教示ツールの爪部分において1又は複数の関節を有するようにし、関節の動きをもカメラ18により撮影し、教師データとすることも可能である。別の例として、グリッパ16の爪同士の距離を限定したい場合、教示ツールの爪同士の距離をグリッパ16の爪同士の距離と同等にするようにしてもよい。また、グリッパ16の姿勢の自由度が、例えば、2であるような場合、これらの爪同士の距離や、爪の長さ等の別の自由度を追加し6次元以上の自由度として学習し、把持可能データを出力するようにしてもよい。このように、本実施形態における学習装置は、6次元以上の自由度の学習を行い、データの推定をすることを可能とする。
【0085】
教師データの作成手法としては、上述した実施形態のようにグリッパ16とは異なる形状の教示ツール2を用いてもよいし、別の例として、グリッパ16と同じ形状の教示ツールを用いることもできる。この場合、教示ツール2とグリッパ16との形状の誤差を無くす、又は、小さくすることが可能となり、教師データにおいて教示ツール2では把持できるが、実際のグリッパ16では把持できないといった問題を回避することが可能となる。このようなグリッパ16と同形状の教示ツールを用いる場合、人間がロボット14を実際にロボット14の操作系統を用いて操作することにより教師データを収集するようにしてもよい。
【0086】
さらには、協働ロボットのように、人間が外部から物理的な力を与えることにより変形可能なロボットを用いて、教示ツールとしてのグリッパ16を実際に物体が把持できる位置及び姿勢まで動かし、当該位置及び姿勢の状態を教師データとするようにしてもよい。この場合、教示ツールであるグリッパ16の位置及び姿勢は、上述した実施形態と同様に、カメラ18で撮影されたものに基づいて取得するようにしてもよい。また、ロボット14を介してグリッパ16の位置及び姿勢の情報が取得できる場合には、カメラ18でグリッパ16の撮影をすることのみならず、カメラ18は物体の撮影を行い、把持可能な位置及び姿勢の情報は、ロボット14を介して取得し、当該物体の画像情報と把持可能な位置及び姿勢の情報とを紐付けて教師データとするようにしてもよい。
【0087】
さらにまた、教師データを取得する場合に、実際の物体を把持するのではなく、物体の情報をカメラ18で取り込み、VR(Virtual Reality)技術やAR(Augmented Reality)技術を用いて物体を仮想的又は拡張的に定義し、人間が教示ツール2又はグリッパ16を操作し、当該仮想的物体又は当該拡張的な物体を把持できる位置及び姿勢の情報を取得するようにしてもよい。このようにすることにより、教師データを取得するための教示用の慣用構築のコストの削減を可能とするとともに、同一の物体の状況に複数人が教示を行うことを容易にすることから、主観による教示の偏りを抑制することができる。
【0088】
さらに、本実施形態においては、学習モデルにより推定された位置及び姿勢の情報を画像として出力することにより、カメラ18により撮影されたターゲット物体について自動的に把持可能な位置及び姿勢の情報を推定した後に、ユーザが出力された候補から容易に把持可能である位置及び姿勢の情報を選択することが可能となる。
【0089】
また、本実施形態においては、FCNに基づいた学習モデルであるので、高速に演算を行うことが可能であり、特に学習フェーズにおいての時間的なコストを削減することが可能となる。これは、例えば、推定された位置及び姿勢の情報に対して実際に把持可能であったか否かを新たな教師データとする場合などにおいても有効である。
【0090】
本実施形態に係る把持システム1は、例えば、物流倉庫における商品のピッキングや、工場におけるピッキング等、大量及びまたは多品種の物体をピッキングする際に用いられてもよい。また、例えば、クリーンルーム内における物体のピッキング等、ユーザが物体に近づくことが困難な場合又はユーザが物体に近づくことが望まれない場合において、遠隔操作をする際に用いられてもよい。さらに、ロボット14が道具を使用して作業をする場合において、当該道具を把持するために応用されてもよい。
【0091】
なお、上述した実施形態の説明において、垂直、水平、鉛直等の方向を示す単語を用いたが、これらは把持システム1内において相対的に決定できる方向であればどのように定義してもよい。例えば、カメラ18を把持システム1内において重力に対して水平な方向を撮影するようにしてもよく、この場合、一例として、x軸をカメラ18の撮影面に平行であり且つ重力方向に対して水平な軸と定義し、y軸を撮影面に平行であり且つx軸と垂直な軸と定義し、z軸をカメラ18の撮影面と垂直な軸と定義してもよい。さらには、把持システム1内における3次元の位置が一意的に決定できる一次独立な軸であれば、各軸は、厳密な意味で直交している必要も無い。
【0092】
座標系についても、実装するシチュエーションに合わせて直交座標系に限られず、他の座標系、例えば、円柱座標系等を用いることもできる。姿勢についても同様であり、把持システム1内において一意的に決定できるものであれば、上述したR,P,Yには限られず、例えば、オイラー角、又は、偏角や方向余弦を用いて表されるものであってもよい。このように、3次元位置及び3次元姿勢により一意的に教示ツール2及びグリッパ16の位置及び姿勢が決定できるものであればどのようなものでもよく、システムの設計において使用しやすいものを選択することが可能である。
【0093】
上記の全ての記載において、把持システム1の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、把持システム1及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA(Field-Programmable Gate Array)等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
【0094】
また、本実施形態に係る学習モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータ10のCPUが学習モデル格納部112に格納されているモデルに基づいて、畳み込みネットワークの入力層に入力されたカメラ18により撮影された画像データに対して演算を行い、当該畳み込みネットワークの出力層から結果を出力するように動作する。
【0095】
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【0096】
1:把持システム
10:コンピュータ
102:教師データ生成部
104:学習部
106:推定部
14:ロボット
16:グリッパ
18:カメラ
2:教示ツール
図1
図2
図3
図4
図5
図6
図7