JP2019084601A - 情報処理装置、把持システムおよび情報処理方法 - Google Patents
情報処理装置、把持システムおよび情報処理方法 Download PDFInfo
- Publication number
- JP2019084601A JP2019084601A JP2017212900A JP2017212900A JP2019084601A JP 2019084601 A JP2019084601 A JP 2019084601A JP 2017212900 A JP2017212900 A JP 2017212900A JP 2017212900 A JP2017212900 A JP 2017212900A JP 2019084601 A JP2019084601 A JP 2019084601A
- Authority
- JP
- Japan
- Prior art keywords
- gripping
- unit
- information
- label
- state
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/06—Gripping heads and other end effectors with vacuum or magnetic holding means
- B25J15/0616—Gripping heads and other end effectors with vacuum or magnetic holding means with vacuum
- B25J15/0683—Details of suction cup structure, e.g. grooves or ridges
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39543—Recognize object and plan hand shapes in grasping movements
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
【課題】対象物の状態に応じて把持動作を実行できるようにすることを目的とする。【解決手段】本発明は、対象物を把持する把持部における把持動作を決定する情報処理装置であって、前記対象物を撮影した画像を取得する取得手段と、前記取得手段により取得された画像から前記対象物の状態を認識する認識手段と、前記認識手段により認識された前記対象物の状態と、把持動作を実行する条件とに基づいて、前記把持部に把持動作させるための情報を生成する生成手段と、を有することを特徴とする。【選択図】図1
Description
本発明は、情報処理装置、把持システム、情報処理方法およびプログラムに関する。
近年、ロボットアームとハンドを用いて、無作為に配置された部品等の対象物に対して、撮像装置によって撮影した画像からロボットハンドを制御するコマンドを生成し、対象物を適切に把持する装置が提案されている。
特許文献1では、強化学習と呼ばれる手法を用いて、把持手段が対象物を把持できる制御コマンドを出力するための学習を行っている。入力した撮影画像および三次元データを手掛かりにロボットに把持を行わせ、把持に成功したときの把持手段の制御値と、入力データとの対応を学習する。
しかしながら、特許文献1では、入力した撮影画像や三次元データに対して無条件に把持を行うため、対象物の状態に応じた把持動作をすることができなかった。
本発明は、上述した問題に鑑みてなされたものであり、対象物の状態に応じて把持動作を実行できるようにすることを目的とする。
本発明は、上述した問題に鑑みてなされたものであり、対象物の状態に応じて把持動作を実行できるようにすることを目的とする。
本発明は、対象物を把持する把持部における把持動作を決定する情報処理装置であって、前記対象物を撮影した画像を取得する取得手段と、前記取得手段により取得された画像から前記対象物の状態を認識する認識手段と、前記認識手段により認識された前記対象物の状態と、把持動作を実行する条件とに基づいて、前記把持部に把持動作させるための情報を生成する生成手段と、を有することを特徴とする。
本発明によれば、対象物の状態に応じて把持動作を実行することができる。
以下、本発明に係る実施形態について図面を参照して説明する。
(第1の実施形態)
第1の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した画像および奥行き画像を入力として、認識部が把持対象物の状態を検出し、同時に把持部を駆動するための制御パラメータを出力する。動作生成部は、検出された把持対象物の状態と、事前に定義された把持条件とを比較し、認識部が出力した制御パラメータに基づいて最適な把持動作を決定する。把持部は決定された把持動作を実行する。これにより、把持対象物の状態に応じて把持動作の内容を切り替え、最適な把持動作を実行することができる。本実施形態を含め、把持とは、把握(例えば複数のフィンガーで掴んだり挟持したりすること)や、保持(例えば真空吸着パッドや電磁力を利用して吸着すること)という概念を含む。
(第1の実施形態)
第1の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した画像および奥行き画像を入力として、認識部が把持対象物の状態を検出し、同時に把持部を駆動するための制御パラメータを出力する。動作生成部は、検出された把持対象物の状態と、事前に定義された把持条件とを比較し、認識部が出力した制御パラメータに基づいて最適な把持動作を決定する。把持部は決定された把持動作を実行する。これにより、把持対象物の状態に応じて把持動作の内容を切り替え、最適な把持動作を実行することができる。本実施形態を含め、把持とは、把握(例えば複数のフィンガーで掴んだり挟持したりすること)や、保持(例えば真空吸着パッドや電磁力を利用して吸着すること)という概念を含む。
図1は、本実施形態に係る把持システム(ロボット装置)の全体構成の一例を示す図である。
把持システムは、撮像部101、把持部102、情報処理装置200を備える。
撮像部101は、把持対象物(対象物)301が複数配置されたシーンとして、画像(以下、撮影画像という)と、奥行き画像とを撮影する。撮像部101は撮影した撮影画像および奥行き画像を情報処理装置200に送信する。なお、奥行き画像は、撮影画像の各画素に対して撮像部101からの距離の情報(深度情報)を含んだ画像である。
把持部102は、複数配置された把持対象物301の1つを把持し、異なる場所に移動させ、配置する。本実施形態では、把持部102として「吸着ハンド」と「ピンセットハンド」の2種を使用するものとして説明する。
把持システムは、撮像部101、把持部102、情報処理装置200を備える。
撮像部101は、把持対象物(対象物)301が複数配置されたシーンとして、画像(以下、撮影画像という)と、奥行き画像とを撮影する。撮像部101は撮影した撮影画像および奥行き画像を情報処理装置200に送信する。なお、奥行き画像は、撮影画像の各画素に対して撮像部101からの距離の情報(深度情報)を含んだ画像である。
把持部102は、複数配置された把持対象物301の1つを把持し、異なる場所に移動させ、配置する。本実施形態では、把持部102として「吸着ハンド」と「ピンセットハンド」の2種を使用するものとして説明する。
図2は、把持システムの概略の構成の一例を示す図である。
把持システムは、ロボットアーム302の先端に撮像部101および把持部102が取り付けられる。ここでは、複数の部品等の把持対象物301が山積みに任意の位置姿勢で供給トレイ303に配置されている。撮像部101は、複数の把持対象物301が配置されたシーンを撮影する。把持部102は、情報処理装置200からの制御に基づき、複数の把持対象物301から何れか1つを把持する。ロボットアーム302は把持対象物301を排出トレイ304内の所定の位置まで移動させた後、把持部102は把持対象物301を解放し、排出トレイ304内に配置する。
把持システムは、ロボットアーム302の先端に撮像部101および把持部102が取り付けられる。ここでは、複数の部品等の把持対象物301が山積みに任意の位置姿勢で供給トレイ303に配置されている。撮像部101は、複数の把持対象物301が配置されたシーンを撮影する。把持部102は、情報処理装置200からの制御に基づき、複数の把持対象物301から何れか1つを把持する。ロボットアーム302は把持対象物301を排出トレイ304内の所定の位置まで移動させた後、把持部102は把持対象物301を解放し、排出トレイ304内に配置する。
図1に戻り、情報処理装置200の機能構成について説明する。
情報処理装置200は、画像取得部201、把持条件設定部203、学習部204、認識部205、動作生成部206、把持手段識別部207、制御部208を有する。情報処理装置200の各部は、例えば、CPUが記憶装置等に記憶されたプログラムを実行することにより構成される。
情報処理装置200は、画像取得部201、把持条件設定部203、学習部204、認識部205、動作生成部206、把持手段識別部207、制御部208を有する。情報処理装置200の各部は、例えば、CPUが記憶装置等に記憶されたプログラムを実行することにより構成される。
画像取得部201は、撮像部101が撮影した撮影画像および奥行き画像を取得する。
把持条件設定部203は、把持対象物301の状態と、把持部102が把持を行うための条件とを対応付けたデータ構造である把持条件500を設定する。把持条件500には、把持対象物301の状態に応じた把持および把持に付随する動作等が記述される。
把持条件設定部203は、把持対象物301の状態と、把持部102が把持を行うための条件とを対応付けたデータ構造である把持条件500を設定する。把持条件500には、把持対象物301の状態に応じた把持および把持に付随する動作等が記述される。
図3は、把持条件500のデータ構成の一例を説明するための図である。
把持条件500は1以上の把持条件要素510の集合から構成される。個々の把持条件要素510は、それぞれ把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540、把持動作ラベル550、付随動作ラベル560、優先順位570から構成される。
把持対象物種別ラベル520は、把持対象物301の種別を示すラベルである。把持対象物301の種別とは、同一形状あるいは同一外観をなすグループの単位である。産業用の部品であれば、把持対象物301の種別は部品の種類と同一である。
把持条件500は1以上の把持条件要素510の集合から構成される。個々の把持条件要素510は、それぞれ把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540、把持動作ラベル550、付随動作ラベル560、優先順位570から構成される。
把持対象物種別ラベル520は、把持対象物301の種別を示すラベルである。把持対象物301の種別とは、同一形状あるいは同一外観をなすグループの単位である。産業用の部品であれば、把持対象物301の種別は部品の種類と同一である。
把持対象物状態ラベル530は、把持対象物301の状態を識別するためのラベルである。把持対象物状態ラベル530は、当該把持条件要素510を有効にするための条件が記述される。本実施形態では、三次元空間内において把持対象物301が取り得る姿勢を表面、裏面、側面の3つに分類し、これを把持対象物301の状態と定義する。例えば、各姿勢に対応する1から3までの値を把持対象物状態ラベル530に設定する。認識部205によって把持対象物301の状態が認識され、把持対象物301の状態が把持対象物状態ラベル530に記述されている状態と一致する場合、把持条件要素510が有効となる。この処理については後述する。
把持対象物状態ラベル530は単一の値だけでなく、複数の値を取り得る。本実施形態では、把持対象物301に対して表面の場合と裏面の場合とで同じ処理を行う場合、把持対象物状態ラベル530には例えば1と2の値を両方設定する。また、把持対象物状態ラベル530に値が設定されない場合には、他の把持条件要素510中の把持対象物状態ラベル530に記述されている条件が全て満たされなかった場合にのみ把持条件要素510が有効となる。すなわち、把持対象物状態ラベル530が空欄の場合には、「その他」の条件として扱われることになる。
把持手段種別ラベル540は、把持部102の種別を一意に識別するためのラベルである。本実施形態では、把持手段種別ラベル540には「吸着ハンド」または「ピンセットハンド」を識別するためのラベルを設定する。「吸着ハンド」または「ピンセットハンド」は把持手段の一例に対応する。
把持動作ラベル550は、当該把持対象物301の状態および把持手段種別において、把持部102が把持を行うか否かを記述するラベルである。本実施形態では、把持動作ラベル550には「把持する」または「把持しない」に対応するラベルを設定する。
把持動作ラベル550は、当該把持対象物301の状態および把持手段種別において、把持部102が把持を行うか否かを記述するラベルである。本実施形態では、把持動作ラベル550には「把持する」または「把持しない」に対応するラベルを設定する。
付随動作ラベル560は、把持動作に付随した動作を記述するラベルである。本実施形態では、付随動作として「排出トレイ304内の中央に置く」や「把持対象物301の姿勢を反転させる(裏返す)」に対応するラベルを設定する。把持部102が行う実際の付随動作コマンドの生成は、後述する動作生成部206および制御部208で行われる。したがって、付随動作ラベル560には、これらの付随動作を識別するラベルのみを記述する。
優先順位570は、複数の把持条件要素510において、把持部102が把持する優先順位を指定するものである。本実施形態では、当該把持条件要素510における把持成功率に基づき優先順位570が設定される。すなわち、当該把持条件要素510の把持成功率が高いほど優先順位570が高く設定される。
本実施形態では、把持条件500はユーザが不図示の入力装置や表示装置を用いて事前に作成しておく。
本実施形態では、把持条件500はユーザが不図示の入力装置や表示装置を用いて事前に作成しておく。
図4は、把持条件500の具体例を示す図である。
ここでは、複数の把持条件要素510A〜510Fの例を示している。把持条件設定部203が設定した複数の把持条件要素510は、記憶装置に予め記憶される。
ここでは、複数の把持条件要素510A〜510Fの例を示している。把持条件設定部203が設定した複数の把持条件要素510は、記憶装置に予め記憶される。
図1に戻り、情報処理装置200の機能構成について更に説明する。
学習部204は、認識部205が用いる認識データを生成する。具体的には、学習部204は、認識部205に撮影画像と奥行き画像とが入力されたときに、認識部205が最適な把持対象物種別ラベルと、把持対象物状態ラベルと、把持部102の制御パラメータと、を出力するための認識データを生成する。本実施形態では、CNN(Convolutional Neural Network)によって学習および認識を行う。本実施形態における認識データはCNNのモデル構造および各ノードの重みパラメータから構成される。また、把持部102の制御パラメータは、把持部102に把持動作を行わせる際にマニピュレータやアクチュエータに与える電流や電圧等の指定値およびそのタイミングからなる命令セットである。
学習部204は、認識部205が用いる認識データを生成する。具体的には、学習部204は、認識部205に撮影画像と奥行き画像とが入力されたときに、認識部205が最適な把持対象物種別ラベルと、把持対象物状態ラベルと、把持部102の制御パラメータと、を出力するための認識データを生成する。本実施形態では、CNN(Convolutional Neural Network)によって学習および認識を行う。本実施形態における認識データはCNNのモデル構造および各ノードの重みパラメータから構成される。また、把持部102の制御パラメータは、把持部102に把持動作を行わせる際にマニピュレータやアクチュエータに与える電流や電圧等の指定値およびそのタイミングからなる命令セットである。
認識部205は、入力された撮影画像と奥行き画像とに対して、認識データに基づきCNNによる認識処理を行い、最適な、把持対象物種別ラベルと、把持対象物状態ラベルと、把持部102の制御パラメータとを出力する。
動作生成部206は、認識部205が出力した、把持対象物種別ラベルと、把持対象物状態ラベルと、把持部102の制御パラメータとから、把持部102の把持動作を生成する。すなわち、動作生成部206は、把持部102に把持動作させるための情報を生成する。
動作生成部206は、認識部205が出力した、把持対象物種別ラベルと、把持対象物状態ラベルと、把持部102の制御パラメータとから、把持部102の把持動作を生成する。すなわち、動作生成部206は、把持部102に把持動作させるための情報を生成する。
把持手段識別部207は、把持部102の把持手段を識別する。把持手段識別部207は、把持部102から把持手段を識別するための信号を受け取り、把持手段種別ラベル540と同一の値に変換して動作生成部206に出力する。
制御部208は、動作生成部206が生成した把持動作に基づいて、把持部102を駆動する制御コマンドを生成し、把持部102の制御を行う。
制御部208は、動作生成部206が生成した把持動作に基づいて、把持部102を駆動する制御コマンドを生成し、把持部102の制御を行う。
次に、本実施形態の情報処理装置200の処理の一例について図5のフローチャートを参照して説明する。図5(a)は、全体処理を示すフローチャートであり、図5(b)はS100の事前準備に関する処理を示すフローチャートである。なお、図5のフローチャートは、例えば、情報処理装置200のCPUが記憶装置等に記憶されたプログラムに実行することにより実現する。
(ステップS100)
学習部204は事前準備を行う。具体的には、学習部204は予め複数の撮影画像および複数の奥行き画像と、把持対象物301の状態とを対応付けておく。そして、学習部204は、別の撮影画像および奥行き画像が入力された場合に、把持対象物301の適切な状態と、把持部102が把持対象物301を把持するための制御パラメータとが出力される認識データを生成する。一度、認識データが生成されれば、以後、本実施形態の処理を繰り返し行う場合でも、S100の処理は省略することができる。
学習部204は事前準備を行う。具体的には、学習部204は予め複数の撮影画像および複数の奥行き画像と、把持対象物301の状態とを対応付けておく。そして、学習部204は、別の撮影画像および奥行き画像が入力された場合に、把持対象物301の適切な状態と、把持部102が把持対象物301を把持するための制御パラメータとが出力される認識データを生成する。一度、認識データが生成されれば、以後、本実施形態の処理を繰り返し行う場合でも、S100の処理は省略することができる。
ここで、図5(b)を参照してS100の事前準備の処理について説明する。
(ステップS110)
学習部204は記憶装置から学習データを読み込む。学習データは、ユーザが入力装置や表示装置を用いて事前に作成しておく。
本実施形態における学習データは、撮影画像および奥行き画像と、撮影画像に映っている把持対象物301のうち把持可能な把持対象物301の種別ラベルおよび姿勢ラベルと、の組み合わせの集合から構成される。本実施形態における把持対象物301の種別ラベルとは、把持対象物301の種別を一意に識別するためのラベルであり、取り得る値は把持対象物種別ラベル520と同一である。また、本実施形態における姿勢ラベルとは、把持対象物301が取り得る三次元空間内における姿勢を「表面」「裏面」「側面」の3つに分類したときの識別番号である。姿勢ラベルは、把持対象物状態ラベル530と直接比較されるため、取り得る値は同一である。
(ステップS110)
学習部204は記憶装置から学習データを読み込む。学習データは、ユーザが入力装置や表示装置を用いて事前に作成しておく。
本実施形態における学習データは、撮影画像および奥行き画像と、撮影画像に映っている把持対象物301のうち把持可能な把持対象物301の種別ラベルおよび姿勢ラベルと、の組み合わせの集合から構成される。本実施形態における把持対象物301の種別ラベルとは、把持対象物301の種別を一意に識別するためのラベルであり、取り得る値は把持対象物種別ラベル520と同一である。また、本実施形態における姿勢ラベルとは、把持対象物301が取り得る三次元空間内における姿勢を「表面」「裏面」「側面」の3つに分類したときの識別番号である。姿勢ラベルは、把持対象物状態ラベル530と直接比較されるため、取り得る値は同一である。
(ステップS111)
学習部204はCNNの学習を行う。この学習はさらに二段階に分けられる。
最初の学習では、学習部204はS110において読み込んだ学習データに基づいて、撮影画像および奥行き画像に対して、把持対象物301の種別ラベルおよび姿勢ラベルを識別する認識データを生成する。
学習部204はCNNの学習を行う。この学習はさらに二段階に分けられる。
最初の学習では、学習部204はS110において読み込んだ学習データに基づいて、撮影画像および奥行き画像に対して、把持対象物301の種別ラベルおよび姿勢ラベルを識別する認識データを生成する。
次の学習では、学習部204はS110において読み込んだ学習データを用いずに、撮影画像および奥行き画像に対して、把持部102の制御パラメータを出力する認識データを生成する。この学習には把持学習と呼ばれる手法を適用できる。把持学習は、入力した撮影画像および奥行き画像に対して、把持部102によって実際の把持を行い、その結果に基づき学習を行う。把持に成功した場合には、認識時にその制御パラメータを出力するように学習を行う。十分な学習が行われた際には、認識部205に撮影画像および奥行き画像を入力することで、撮影画像中で把持の成功率が高いと判断される領域と、そのときに把持対象物301を把持するための制御パラメータが出力されるようになる。
このように、2種類の学習を行うことで、認識部205に撮影画像と奥行き画像を入力すると、認識部205は把持可能な把持対象物301の種別ラベルおよび姿勢ラベル、把持するための制御パラメータを出力できるようになる。本実施形態における認識データは、2回の学習によって生成される各認識データを合成したものになる。
図5(a)のフローチャートに戻り、S101以降の処理について説明する。
(ステップS101)
把持条件設定部203は記憶装置から把持条件500を読み込む。また、学習部204は、S100で生成した認識データを読み込み、CNNのモデル構造と各ノードの重みパラメータを設定する。
(ステップS101)
把持条件設定部203は記憶装置から把持条件500を読み込む。また、学習部204は、S100で生成した認識データを読み込み、CNNのモデル構造と各ノードの重みパラメータを設定する。
(ステップS102)
撮像部101は、把持対象物301を含むシーンの撮影画像および奥行き画像を撮影する。撮像部101は撮影画像および奥行き画像を画像取得部201に送信することで、画像取得部201が撮影画像および奥行き画像の画像データを取得する。
図6は、撮影画像の一例を示す図である。ここでは、複数の把持対象物301(301A〜301C)が山積みに配置されている。なお、把持対象物301の白い面を表面、黒い面を裏面とする。
撮像部101は、把持対象物301を含むシーンの撮影画像および奥行き画像を撮影する。撮像部101は撮影画像および奥行き画像を画像取得部201に送信することで、画像取得部201が撮影画像および奥行き画像の画像データを取得する。
図6は、撮影画像の一例を示す図である。ここでは、複数の把持対象物301(301A〜301C)が山積みに配置されている。なお、把持対象物301の白い面を表面、黒い面を裏面とする。
(ステップS103)
認識部205は、画像取得部201から撮影画像および奥行き画像を取得する。認識部205は、撮影画像および奥行き画像に対してCNNを適用し、撮影画像および奥行き画像に対応する把持対象物301の種別ラベルおよび姿勢ラベルを出力する。把持対象物301の種別ラベルは、S110において学習部204に入力した種別ラベルと同じである。把持対象物301の姿勢ラベルは、S110において学習部204に入力した姿勢ラベルの識別番号のいずれかである。
図6に示す例では、把持対象物301の種別ラベルは全て「円盤部品」である。また、把持対象物301Aの姿勢ラベルは50、把持対象物301Bの姿勢ラベルは170、把持対象物301Cの姿勢ラベルは300として認識されている。
認識部205は、画像取得部201から撮影画像および奥行き画像を取得する。認識部205は、撮影画像および奥行き画像に対してCNNを適用し、撮影画像および奥行き画像に対応する把持対象物301の種別ラベルおよび姿勢ラベルを出力する。把持対象物301の種別ラベルは、S110において学習部204に入力した種別ラベルと同じである。把持対象物301の姿勢ラベルは、S110において学習部204に入力した姿勢ラベルの識別番号のいずれかである。
図6に示す例では、把持対象物301の種別ラベルは全て「円盤部品」である。また、把持対象物301Aの姿勢ラベルは50、把持対象物301Bの姿勢ラベルは170、把持対象物301Cの姿勢ラベルは300として認識されている。
(ステップS104)
認識部205は全ての把持対象物301に対して把持動作が終了したか否かを判定する。ここでは、把持対象物301を1つも検出しなかった場合(すなわち、種別ラベルと姿勢ラベルが出力されない場合)には、全ての把持対象物301に対して処理が完了したと判断し、図5のフローチャートの処理を終了する。一方、少なくとも1つの把持対象物301が検出された場合にはS105に進む。
認識部205は全ての把持対象物301に対して把持動作が終了したか否かを判定する。ここでは、把持対象物301を1つも検出しなかった場合(すなわち、種別ラベルと姿勢ラベルが出力されない場合)には、全ての把持対象物301に対して処理が完了したと判断し、図5のフローチャートの処理を終了する。一方、少なくとも1つの把持対象物301が検出された場合にはS105に進む。
(ステップS105)
把持手段識別部207は、把持部102の種別を識別し、把持手段種別ラベルを動作生成部206に送信する。なお、本実施形態では、S102からS108までの処理を繰り返し実行することになるが、S105の処理に関しては、把持部102の種別が変更されない限り、1回のみ実行すればよい。すなわち、2回目以降はS105の処理を省略してもよい。
把持手段識別部207は、把持部102の種別を識別し、把持手段種別ラベルを動作生成部206に送信する。なお、本実施形態では、S102からS108までの処理を繰り返し実行することになるが、S105の処理に関しては、把持部102の種別が変更されない限り、1回のみ実行すればよい。すなわち、2回目以降はS105の処理を省略してもよい。
(ステップS106)
動作生成部206はS103で得られた把持対象物301の種別ラベルおよび姿勢ラベル、S105で得られた把持手段種別ラベルと、把持条件500に含まれる把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540とを比較する。すなわち、動作生成部206は把持対象物301の状態が把持動作を実行する条件を満たすか否かを判定する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520、当該把持手段種別ラベルと把持手段種別ラベル540とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
動作生成部206はS103で得られた把持対象物301の種別ラベルおよび姿勢ラベル、S105で得られた把持手段種別ラベルと、把持条件500に含まれる把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540とを比較する。すなわち、動作生成部206は把持対象物301の状態が把持動作を実行する条件を満たすか否かを判定する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520、当該把持手段種別ラベルと把持手段種別ラベル540とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
ここで、図4の把持条件要素および図6の把持対象物を例にすると、S105において「吸着ハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Aが抽出される。また、把持対象物301Bに対して把持条件要素510B、把持対象物301Cに対して把持条件要素510Cがそれぞれ抽出される。
一方、S105において「ピンセットハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Dが抽出される。また、把持対象物301Bに対して把持条件要素510E、把持対象物301Cに対して把持条件要素510Fがそれぞれ抽出される。
一方、S105において「ピンセットハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Dが抽出される。また、把持対象物301Bに対して把持条件要素510E、把持対象物301Cに対して把持条件要素510Fがそれぞれ抽出される。
(ステップS107)
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を決定する。すなわち、動作生成部206はS106において把持対象物の状態が把持動作を実行する条件を満たすか否かを判定した判定結果に基づいて、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。ここで、S105において「吸着ハンド」が識別された場合、図4の例において、把持条件要素510Aおよび510Bが抽出される。
次に、動作生成部206は、抽出された把持条件要素510から、優先順位が最も高いものを1つ選択する。図4の例においては、優先順位が最も高い把持条件要素510Aが選択される。
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を決定する。すなわち、動作生成部206はS106において把持対象物の状態が把持動作を実行する条件を満たすか否かを判定した判定結果に基づいて、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。ここで、S105において「吸着ハンド」が識別された場合、図4の例において、把持条件要素510Aおよび510Bが抽出される。
次に、動作生成部206は、抽出された把持条件要素510から、優先順位が最も高いものを1つ選択する。図4の例においては、優先順位が最も高い把持条件要素510Aが選択される。
次に、動作生成部206は、動作定義テーブル600を参照して、把持動作および付随動作の生成を行う。
図7は、動作定義テーブルの一例を示す図である。図7(a)に示すように、動作定義テーブル600は動作ラベルと、複数の動作種別と制御情報の組から構成される。図7(b)は把持動作に係る動作定義テーブル601の例を示す図である。動作生成部206は、図7(b)の動作定義テーブル601の最初の動作種別「把持手段移動」に対応する制御情報「対象物」の欄および次の動作種別「吸着動作開始」に対応する制御情報「吸着圧」の欄に、認識部205が出力した制御パラメータの値を書き込む。次に、動作生成部206は、3番目の「把持手段移動」に対応する制御情報「トレイ内」の欄に、トレイ内部を示す既定の位置姿勢の値を書き込む。動作生成部206は、このようにして生成した動作定義テーブル601を制御部208に出力する。
また、動作生成部206は、把持条件要素510中の付随動作ラベル560に値が設定されていた場合には、更に動作定義テーブル602を追加する。動作生成部206は、付随動作ラベル560の動作が「反転動作」を示していた場合、図7(c)に示す「反転動作」の動作定義テーブル602に必要な制御情報を書き込み、制御部208に出力する。
動作定義テーブル601は、把持部102に把持動作させるための情報の一例に対応する。また、動作定義テーブル602は、把持部102に付随動作させるための情報の一例に対応する。
図7は、動作定義テーブルの一例を示す図である。図7(a)に示すように、動作定義テーブル600は動作ラベルと、複数の動作種別と制御情報の組から構成される。図7(b)は把持動作に係る動作定義テーブル601の例を示す図である。動作生成部206は、図7(b)の動作定義テーブル601の最初の動作種別「把持手段移動」に対応する制御情報「対象物」の欄および次の動作種別「吸着動作開始」に対応する制御情報「吸着圧」の欄に、認識部205が出力した制御パラメータの値を書き込む。次に、動作生成部206は、3番目の「把持手段移動」に対応する制御情報「トレイ内」の欄に、トレイ内部を示す既定の位置姿勢の値を書き込む。動作生成部206は、このようにして生成した動作定義テーブル601を制御部208に出力する。
また、動作生成部206は、把持条件要素510中の付随動作ラベル560に値が設定されていた場合には、更に動作定義テーブル602を追加する。動作生成部206は、付随動作ラベル560の動作が「反転動作」を示していた場合、図7(c)に示す「反転動作」の動作定義テーブル602に必要な制御情報を書き込み、制御部208に出力する。
動作定義テーブル601は、把持部102に把持動作させるための情報の一例に対応する。また、動作定義テーブル602は、把持部102に付随動作させるための情報の一例に対応する。
(ステップS108)
制御部208は、動作生成部206から出力された動作定義テーブルから、把持部102に対して把持動作を実行するための制御コマンドを生成し、把持部102に出力する。具体的には、制御部208は動作定義テーブル601、602の各動作を読み込み、動作内容を実行するためのコマンド列に分解する。
図7(b)の「把持手段移動」に関しては、把持部102の現在の位置姿勢から、把持対象物301の位置姿勢への軌道を生成し、その軌道を定義する位置姿勢に移動するための制御コマンドを生成する。「吸着動作開始」に関しては、指定の吸着圧で吸着を行うための制御コマンドを生成する。制御部208は生成した制御コマンドを把持部102に送信する。
制御部208は、動作生成部206から出力された動作定義テーブルから、把持部102に対して把持動作を実行するための制御コマンドを生成し、把持部102に出力する。具体的には、制御部208は動作定義テーブル601、602の各動作を読み込み、動作内容を実行するためのコマンド列に分解する。
図7(b)の「把持手段移動」に関しては、把持部102の現在の位置姿勢から、把持対象物301の位置姿勢への軌道を生成し、その軌道を定義する位置姿勢に移動するための制御コマンドを生成する。「吸着動作開始」に関しては、指定の吸着圧で吸着を行うための制御コマンドを生成する。制御部208は生成した制御コマンドを把持部102に送信する。
把持部102は受け取った制御コマンドに基づいて把持動作を実行する。把持部102は所定の把持動作(および付随動作)の実行が完了すると、制御部208にコマンド実行終了の制御信号を返信する。制御部208が把持部102からコマンド実行終了の制御信号を受け取ると、一回の把持動作が完了となり、S102に戻り、全ての把持対象物301の把持動作が完了するまで処理を繰り返す。
第1の実施形態によれば、撮像部101が撮影した撮影画像および奥行き画像を入力として、認識部205が把持対象物301の状態を検出し、同時に把持部102を駆動するための制御パラメータを出力する。動作生成部206は、把持対象物301の状態と、把持動作を実行する条件である把持条件とに基づいて、把持部102に把持動作させるための情報としての動作定義テーブルを生成する。したがって、把持対象物301の状態ごとに把持動作を実行する条件を設定しておくことで、把持対象物301の状態に応じて把持動作を実行させることができる。一方、把持対象物301の状態によっては把持動作を実行させないようにすることができる。
また、動作生成部206は、把持対象物301の状態が、把持動作を実行する条件を満たすか否かを判定し、満たす旨の判定結果である場合に把持部102に把持動作させるための情報を生成する。したがって、把持動作を実行するのに適した把持対象物301の状態を、把持動作を実行する条件に設定しておくことで、把持対象物301を容易に把持させることができる。
また、動作生成部206は、把持対象物301の状態が、把持動作を実行する条件を満たすか否かを判定し、満たす旨の判定結果である場合に把持部102に把持動作の前後に実行される付随動作させるための情報を生成する。したがって、把持動作に関連した動作を把持部102に実行させることができる。
また、認識部205は把持対象物301の状態に応じた制御パラメータを出力し、動作生成部206は制御パラメータに基づいて最適な把持動作を決定する。したがって、把持対象物の状態に応じて把持動作の内容が切り替えられ、最適な把持動作を実行することができる。
また、動作生成部206は、把持対象物301の状態が、把持動作を実行する条件を満たすか否かを判定し、満たす旨の判定結果である場合に把持部102に把持動作の前後に実行される付随動作させるための情報を生成する。したがって、把持動作に関連した動作を把持部102に実行させることができる。
また、認識部205は把持対象物301の状態に応じた制御パラメータを出力し、動作生成部206は制御パラメータに基づいて最適な把持動作を決定する。したがって、把持対象物の状態に応じて把持動作の内容が切り替えられ、最適な把持動作を実行することができる。
なお、本実施形態では、S106において、動作生成部206が、把持対象物の種別ラベル、把持対象物の姿勢ラベル、把持手段種別ラベルの全てを比較したが、このうち把持対象物の種別ラベル、把持手段種別ラベルに関しては、一部の比較を省略してもよい。例えば、複数の把持対象物種別や把持手段で共通の把持対象物状態ラベル530を用いてもよい。
また、優先順位570は、順位を直接指定するだけでなく、本実施形態における把持成功率等、優先順位を決定するための間接的な情報や値であってもよい。また、把持成功率に限らず、把持に要する時間等、把持の優劣を比較できる他の尺度であってもよく、これらを複数組み合わせるようにしてもよい。
また、優先順位570は、順位を直接指定するだけでなく、本実施形態における把持成功率等、優先順位を決定するための間接的な情報や値であってもよい。また、把持成功率に限らず、把持に要する時間等、把持の優劣を比較できる他の尺度であってもよく、これらを複数組み合わせるようにしてもよい。
また、本実施形態では、把持対象物状態ラベル530は3通りの姿勢を区別するラベルを付与するものとして説明したが、姿勢の分類数は任意の数を設定することができる。把持対象物状態ラベル530の分類数は把持条件要素510の各条件を区別するに足りるだけの数があればよい。
また、本実施形態では、付随動作ラベル560は把持動作に付随する動作を定義するものであり、把持動作前に実行されるものであってもよく、把持動作後に実行されるものであってもよい。把持動作前の付随動作の例として、把持対象物301の位置を変更する(例えば山を崩す)動作が挙げられる。したがって、動作生成部206が生成する把持動作の成功率を高めることができる。また、把持動作後の付随動作の例としては、把持部102の姿勢を変更する上述した反転動作が挙げられる。
また、本実施形態では、付随動作ラベル560は把持動作に付随する動作を定義するものであり、把持動作前に実行されるものであってもよく、把持動作後に実行されるものであってもよい。把持動作前の付随動作の例として、把持対象物301の位置を変更する(例えば山を崩す)動作が挙げられる。したがって、動作生成部206が生成する把持動作の成功率を高めることができる。また、把持動作後の付随動作の例としては、把持部102の姿勢を変更する上述した反転動作が挙げられる。
[変形例1]
本実施形態では、学習部204および認識部205はCNNによって学習および認識を行う構成について説明したが、それ以外の手段で学習および認識を行ってもよい。学習部204および認識部205は、サポートベクトルマシン、ランダムフォレスト、テンプレートマッチング等、各種手法を用いるように構成することができる。
本実施形態では、学習部204および認識部205はCNNによって学習および認識を行う構成について説明したが、それ以外の手段で学習および認識を行ってもよい。学習部204および認識部205は、サポートベクトルマシン、ランダムフォレスト、テンプレートマッチング等、各種手法を用いるように構成することができる。
[変形例2]
学習部204および認識部205の入力は、撮影画像や奥行き画像に限られず、様々なものを用いることができる。例えば、撮像部101に撮影画像だけでなく、温度を計測可能なセンサを別途設け、把持対象物状態ラベル530の条件に温度を追加するようにしてもよい。この場合、動作生成部206は把持対象物301の温度に応じて把持動作の内容を制御できるようになる。
学習部204および認識部205の入力は、撮影画像や奥行き画像に限られず、様々なものを用いることができる。例えば、撮像部101に撮影画像だけでなく、温度を計測可能なセンサを別途設け、把持対象物状態ラベル530の条件に温度を追加するようにしてもよい。この場合、動作生成部206は把持対象物301の温度に応じて把持動作の内容を制御できるようになる。
[変形例3]
把持対象物状態ラベル530は、把持対象物301の姿勢に限られない。変形例2で説明したように、把持対象物301の特定の状態を計測するセンサを別途設け、特定の色、模様、形状の差異、素材が含まれているか否か等、様々な状態を把持対象物状態ラベル530に設定することができる。また、姿勢と色等、複数の状態を組み合わせて把持対象物状態ラベル530に設定してもよい。
把持対象物状態ラベル530は、把持対象物301の姿勢に限られない。変形例2で説明したように、把持対象物301の特定の状態を計測するセンサを別途設け、特定の色、模様、形状の差異、素材が含まれているか否か等、様々な状態を把持対象物状態ラベル530に設定することができる。また、姿勢と色等、複数の状態を組み合わせて把持対象物状態ラベル530に設定してもよい。
[変形例4]
学習部204は、S100において、事前準備として学習を行う構成に限られない。S100において認識データの初期値を生成した後、S103の認識処理を行う時点で、入力データを学習部204にも供給し、追加学習によって認識データの更新を行うようにしてもよい。
学習部204は、S100において、事前準備として学習を行う構成に限られない。S100において認識データの初期値を生成した後、S103の認識処理を行う時点で、入力データを学習部204にも供給し、追加学習によって認識データの更新を行うようにしてもよい。
(第2の実施形態)
第2の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持動作を決定する。把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持動作の内容を切り替え、最適な把持動作を実行することができる。
第2の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持動作を決定する。把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持動作の内容を切り替え、最適な把持動作を実行することができる。
図8は、本実施形態に係る把持システムの全体構成の一例を示す図である。
本実施形態の把持システムは、図1に示す第1の実施形態の把持システムの全体構成と比較すると、把持パラメータ設定部202が追加されている。以後、第1の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持パラメータ設定部202は、把持部102が把持対象物301を把持するために必要なパラメータ群を把持パラメータ400として設定する。ここで、パラメータは、把持情報の一例に対応する。
本実施形態の把持システムは、図1に示す第1の実施形態の把持システムの全体構成と比較すると、把持パラメータ設定部202が追加されている。以後、第1の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持パラメータ設定部202は、把持部102が把持対象物301を把持するために必要なパラメータ群を把持パラメータ400として設定する。ここで、パラメータは、把持情報の一例に対応する。
図9(a)は、把持パラメータ400のデータ構造の一例を説明するための図である。
把持パラメータ400は1以上の把持パラメータ要素410の集合から構成される。個々の把持パラメータ要素410は、それぞれ把持対象物種別ラベル420、把持手段種別ラベル430、目標位置姿勢440、把持手段設定値450、優先順位460から構成される。
把持パラメータ400は1以上の把持パラメータ要素410の集合から構成される。個々の把持パラメータ要素410は、それぞれ把持対象物種別ラベル420、把持手段種別ラベル430、目標位置姿勢440、把持手段設定値450、優先順位460から構成される。
把持対象物種別ラベル420は、把持対象物301の種別を一意に識別するためのラベルである。把持対象物301の種別とは、同一形状あるいは同一外観をなすグループの単位である。産業用の部品であれば、把持対象物301の種別は部品の種類と同一である。具体的には、把持対象物301の種別とは、把持部102が把持対象物301を把持するのに、同じパラメータ群を利用することができる最小単位である。すなわち、把持部102が把持対象物301を把持するのに必要な情報は、把持対象物301の種別ごとに異なる。そのため、把持対象物種別ラベル420は、把持対象物301の種別を区別するために用いられる。
把持手段種別ラベル430は、把持部102の種別を一意に識別するためのラベルである。本実施形態では、把持手段種別ラベル430には「吸着ハンド」または「ピンセットハンド」を識別するためのラベルを設定する。把持手段種別ラベル430に関して、把持対象物種別ラベル420が同一であっても、把持部102の種別が異なると、把持部102が把持するためのパラメータも異なる。そのため、把持手段種別ラベル430は把持部102の種別を区別するために用いられる。
目標位置姿勢440は、把持部102が把持対象物301を把持するために、ロボットアーム302が把持部102を移動させる先となる位置姿勢を表したものである。
図9(b)〜(e)は目標位置姿勢440の例を説明するための図である。
図9(b)および図9(c)は、当該把持パラメータ要素410中の把持手段種別ラベルが「吸着ハンド」の場合、把持部102によって把持対象物301を把持する例を示している。把持部102は、図9(b)のように把持対象物301の表面の1点を把持することができる。また、把持部102は把持対象物301の表面の1点だけでなく、側面や裏面を含む複数の個所に対して吸着を行うことができる。すなわち、把持部102を図9(c)の矢印の先端で示される位置および矢印の方向で示される姿勢に移動させ、吸着を行うことによって把持対象物301を把持することができる。
図9(b)〜(e)は目標位置姿勢440の例を説明するための図である。
図9(b)および図9(c)は、当該把持パラメータ要素410中の把持手段種別ラベルが「吸着ハンド」の場合、把持部102によって把持対象物301を把持する例を示している。把持部102は、図9(b)のように把持対象物301の表面の1点を把持することができる。また、把持部102は把持対象物301の表面の1点だけでなく、側面や裏面を含む複数の個所に対して吸着を行うことができる。すなわち、把持部102を図9(c)の矢印の先端で示される位置および矢印の方向で示される姿勢に移動させ、吸着を行うことによって把持対象物301を把持することができる。
図9(d)および図9(e)は、当該把持パラメータ要素410中の把持手段識別ラベルが「ピンセットハンド」の場合、把持部102によって把持対象物301を把持する例を示している。この場合も吸着ハンドと同様に、複数の位置姿勢において把持対象物301を把持することができる。
当該把持対象物301の種別、把持部102の種別において、複数の目標位置姿勢を設定することができる場合には、異なる位置姿勢ごとに複数の把持パラメータ要素410を設定する。本実施形態では、目標位置姿勢440は把持対象物301の座標系において三次元位置および姿勢を示す6自由度で記述される。
当該把持対象物301の種別、把持部102の種別において、複数の目標位置姿勢を設定することができる場合には、異なる位置姿勢ごとに複数の把持パラメータ要素410を設定する。本実施形態では、目標位置姿勢440は把持対象物301の座標系において三次元位置および姿勢を示す6自由度で記述される。
把持手段設定値450は、把持部102が目標位置姿勢440において把持対象物301を把持するために必要となるパラメータを表したものである。把持手段設定値450の内容は把持手段種別ラベル430の内容によって異なる。本実施形態において、把持手段種別ラベルが「吸着ハンド」を示す場合、把持手段設定値450には流量あるいは圧力が記述される。また、把持手段種別ラベルが「ピンセットハンド」を示す場合、ピンセットによって把持対象物301を把持するときの圧力およびピンセットの開き幅が記述される。
優先順位460は、複数の把持パラメータ要素410において、把持部102が把持する優先順位を指定するものである。本実施形態では、当該把持パラメータ要素410における把持成功率に基づき優先順位460が設定される。すなわち、当該把持パラメータ要素410の把持成功率が高いほど優先順位460が高く設定される。
なお、本実施形態における把持条件500には、第1実施形態とは異なり、優先順位570は設定しない。
なお、本実施形態における把持条件500には、第1実施形態とは異なり、優先順位570は設定しない。
本実施形態における把持対象物状態ラベル530は、把持対象物301が取り得る三次元空間内における姿勢を360に分類し、各姿勢に対応する1から360までの番号を把持対象物状態ラベル530に設定する。
把持対象物状態ラベル530は複数の値を取り得る。本実施形態において把持対象物301に対して表、裏、側面の3状態に対して処理を制御する場合を考慮して、把持対象物状態ラベル530には、把持対象物301が「表」の状態であると見なせる姿勢について、その姿勢ラベルが全て記述されることになる。
把持対象物状態ラベル530は複数の値を取り得る。本実施形態において把持対象物301に対して表、裏、側面の3状態に対して処理を制御する場合を考慮して、把持対象物状態ラベル530には、把持対象物301が「表」の状態であると見なせる姿勢について、その姿勢ラベルが全て記述されることになる。
図10は、把持パラメータ400および把持条件500の具体例を示す図である。
ここでは、複数の把持パラメータ要素410A〜410Dの例と、複数の把持条件要素510A〜510Fの例とを示している。以下、図10の値を例として説明する。
ここでは、複数の把持パラメータ要素410A〜410Dの例と、複数の把持条件要素510A〜510Fの例とを示している。以下、図10の値を例として説明する。
図8に戻り、情報処理装置200の機能構成について更に説明する。
学習部204は、認識部205が用いる認識データを生成する。具体的には、学習部204は、認識部205に撮影画像と奥行き画像とが入力されたときに、認識部205が最適な把持対象物種別ラベルと、把持対象物状態ラベルとを出力するための認識データを生成する。本実施形態では、CNNによって学習および認識を行う。本実施形態における認識データはCNNのモデル構造および各ノードの重みパラメータから構成される。本実施形態では、第1実施形態とは異なり、認識データに把持部102の制御パラメータは含まれない。
学習部204は、認識部205が用いる認識データを生成する。具体的には、学習部204は、認識部205に撮影画像と奥行き画像とが入力されたときに、認識部205が最適な把持対象物種別ラベルと、把持対象物状態ラベルとを出力するための認識データを生成する。本実施形態では、CNNによって学習および認識を行う。本実施形態における認識データはCNNのモデル構造および各ノードの重みパラメータから構成される。本実施形態では、第1実施形態とは異なり、認識データに把持部102の制御パラメータは含まれない。
認識部205は、入力された撮影画像と奥行き画像とに対して、認識データに基づきCNNによる認識処理を行い、最適な把持対象物状態ラベルを出力する。また、認識部205は、把持パラメータ設定部202からの把持パラメータ400を出力する。
動作生成部206は、認識部205が出力した把持パラメータ400および把持対象物状態ラベルから把持部102の把持動作を生成する。
動作生成部206は、認識部205が出力した把持パラメータ400および把持対象物状態ラベルから把持部102の把持動作を生成する。
次に、本実施形態の情報処理装置200の制御について図5のフローチャートを参照して説明する。図5のフローチャートは、第1の実施形態と同じである。ただし、各ステップにおける処理の内容に差異があるので、以下に説明する。
(ステップS100)
学習部204は事前準備を行う。具体的には、学習部204は予め複数の撮影画像および複数の奥行き画像と、把持対象物301の姿勢とを対応付けておく。そして、学習部204は、別の撮影画像および奥行き画像が入力された場合に、把持対象物301の適切な姿勢が出力される認識データを生成する。一度、認識データが生成されれば、以後、本実施形態の処理を繰り返し行う場合でも、S100の処理は省略することができる。
学習部204は事前準備を行う。具体的には、学習部204は予め複数の撮影画像および複数の奥行き画像と、把持対象物301の姿勢とを対応付けておく。そして、学習部204は、別の撮影画像および奥行き画像が入力された場合に、把持対象物301の適切な姿勢が出力される認識データを生成する。一度、認識データが生成されれば、以後、本実施形態の処理を繰り返し行う場合でも、S100の処理は省略することができる。
次に、図5(b)を参照してS100の事前準備の処理について説明する。
(ステップS110)
学習部204は記憶装置から学習データを読み込む。学習データは、ユーザが不図示の入力装置や表示装置を用いて事前に作成しておく。
本実施形態における学習データは、撮影画像および奥行き画像と、撮影画像に映っている把持対象物301のうち把持可能な把持対象物301の種別ラベルおよび姿勢ラベルの組み合わせの集合から構成される。実施形態における把持対象物301の種別ラベルとは、把持対象物301の種別を一意に識別するためのラベルであり、取り得る値は把持対象物種別ラベル420と同一である。また、本実施形態における姿勢ラベルとは、把持対象物301が取り得る三次元空間内における姿勢を360に分類したときの識別番号である。姿勢ラベルは、把持対象物状態ラベル530と比較が行われるため、両者が取り得る値は同一である。
(ステップS111)
学習部204は読み込んだ学習データに基づいて、CNNの学習を行い、認識データを生成する。本実施形態では、第1実施形態とは異なり、学習部204は把持学習を行わない。
(ステップS110)
学習部204は記憶装置から学習データを読み込む。学習データは、ユーザが不図示の入力装置や表示装置を用いて事前に作成しておく。
本実施形態における学習データは、撮影画像および奥行き画像と、撮影画像に映っている把持対象物301のうち把持可能な把持対象物301の種別ラベルおよび姿勢ラベルの組み合わせの集合から構成される。実施形態における把持対象物301の種別ラベルとは、把持対象物301の種別を一意に識別するためのラベルであり、取り得る値は把持対象物種別ラベル420と同一である。また、本実施形態における姿勢ラベルとは、把持対象物301が取り得る三次元空間内における姿勢を360に分類したときの識別番号である。姿勢ラベルは、把持対象物状態ラベル530と比較が行われるため、両者が取り得る値は同一である。
(ステップS111)
学習部204は読み込んだ学習データに基づいて、CNNの学習を行い、認識データを生成する。本実施形態では、第1実施形態とは異なり、学習部204は把持学習を行わない。
図5(a)のフローチャートに戻り、S101以降の処理について説明する。
(ステップS101)
把持パラメータ設定部202は記憶装置から把持パラメータ400を読み込む。また、把持条件設定部203は把持条件500を読み込む。学習部204は、S100で生成された認識データを読み込み、CNNのモデル構造と各ノードの重みパラメータを設定する。
(ステップS101)
把持パラメータ設定部202は記憶装置から把持パラメータ400を読み込む。また、把持条件設定部203は把持条件500を読み込む。学習部204は、S100で生成された認識データを読み込み、CNNのモデル構造と各ノードの重みパラメータを設定する。
(ステップS103)
認識部205は、画像取得部201から撮影画像および奥行き画像を取得する。認識部205は、撮影画像および奥行き画像に対してCNNを適用し、撮影画像および奥行き画像に対応する把持対象物301の種別ラベルおよび姿勢ラベルを出力する。把持対象物301の種別ラベルは、S110において学習部204に入力した種別ラベルと同じである。把持対象物301の姿勢ラベルは、ステップS110において学習部204に入力した姿勢ラベルの識別番号のいずれかである。
図6に示す例では、把持対象物301の種別ラベルは全て「円盤部品」であり、把持対象物301Aの姿勢ラベルは50、把持対象物301Bの姿勢ラベルは170、把持対象物301Cの姿勢ラベルは300として認識されている。
認識部205は、画像取得部201から撮影画像および奥行き画像を取得する。認識部205は、撮影画像および奥行き画像に対してCNNを適用し、撮影画像および奥行き画像に対応する把持対象物301の種別ラベルおよび姿勢ラベルを出力する。把持対象物301の種別ラベルは、S110において学習部204に入力した種別ラベルと同じである。把持対象物301の姿勢ラベルは、ステップS110において学習部204に入力した姿勢ラベルの識別番号のいずれかである。
図6に示す例では、把持対象物301の種別ラベルは全て「円盤部品」であり、把持対象物301Aの姿勢ラベルは50、把持対象物301Bの姿勢ラベルは170、把持対象物301Cの姿勢ラベルは300として認識されている。
(ステップS106)
動作生成部206はS103で得られた把持対象物301の種別ラベルおよび姿勢ラベル、S105で得られた把持手段種別ラベルと、把持条件500に含まれる把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540とを比較する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520、当該把持手段種別ラベルと把持手段種別ラベル540とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
動作生成部206はS103で得られた把持対象物301の種別ラベルおよび姿勢ラベル、S105で得られた把持手段種別ラベルと、把持条件500に含まれる把持対象物種別ラベル520、把持対象物状態ラベル530、把持手段種別ラベル540とを比較する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520、当該把持手段種別ラベルと把持手段種別ラベル540とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
ここで、図10の把持条件要素を例にすると、S105において「吸着ハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Aが抽出される。また、把持対象物301Bに対して把持条件要素510B、把持対象物301Cに対して把持条件要素510Cがそれぞれ抽出される。
一方、S105において「ピンセットハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Dが抽出される。また、把持対象物301Bに対して把持条件要素510E、把持対象物301Cに対して把持条件要素510Fがそれぞれ抽出される。
一方、S105において「ピンセットハンド」が識別された場合、把持対象物301Aに対して把持条件要素510Dが抽出される。また、把持対象物301Bに対して把持条件要素510E、把持対象物301Cに対して把持条件要素510Fがそれぞれ抽出される。
(ステップS107)
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。ここで、S105において「吸着ハンド」が識別された場合、図10の例において、把持条件要素510Aおよび510Bが抽出される。
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。ここで、S105において「吸着ハンド」が識別された場合、図10の例において、把持条件要素510Aおよび510Bが抽出される。
次に、動作生成部206は、把持パラメータ400を参照し、抽出された把持条件要素510中の把持対象物種別ラベル520と把持対象物種別ラベル420、把持手段種別ラベル540と把持手段種別ラベル430とを比較する。動作生成部206は、両者が一致する把持パラメータ要素410について複数抽出する。動作生成部206は、複数抽出された把持パラメータ要素410の中から、優先順位460を参照して、最も優先度の高いものを1つ選択する。図10の例においては、把持パラメータ要素410Aおよび410Bが抽出され、更に優先順位の高い把持パラメータ要素410Aが選択される。
次に、動作生成部206は、把持対象物301の姿勢ラベルと奥行き画像を用いて、把持対象物301の三次元空間内における位置姿勢を算出する。位置に関しては、把持対象物301が観測された撮影画像中における座標と、その座標に対応する奥行き画像の値から算出する。姿勢に関しては、把持対象物301の姿勢ラベルに対応する姿勢を不図示のルックアップテーブルから取得する。動作生成部206は、算出した位置姿勢を用いて、選択した把持パラメータ要素410に含まれる目標位置姿勢440の値を変換する。具体的には、目標位置姿勢440に記述されている位置姿勢は、把持対象物301の座標系における位置姿勢であるから、これを撮像部101の座標系における位置姿勢に変換する。図10の例においては、把持パラメータ要素410A中の目標位置姿勢440(すなわちX1、Y1、Z1、RX1、RY1、RZ1)が撮像部101の座標系における位置姿勢に変換される。
動作生成部206は、動作定義テーブル600を参照して、把持動作および付随動作の生成を行う。動作生成部206は、図7(b)の動作定義テーブル601の最初の動作種別「把持手段移動」に対応する制御情報「対象物」の欄に、変換した位置姿勢を書き込む。次に、動作生成部206は、2番目の「吸着動作開始」に対応する制御情報「吸着圧」の欄に、選択した把持パラメータ要素410中の把持手段設定値450の値を書き込む。次に、動作生成部206は、3番目の「把持手段移動」に対応する制御情報「トレイ内」の欄には、トレイ内部を示す既定の位置姿勢の値を書き込む。動作生成部206は、このようにして生成した動作定義テーブル601を制御部208に出力する。
また、動作生成部206は、把持条件要素510中の付随動作ラベル560に値が設定されていた場合には、更に動作定義テーブル602を追加する。動作生成部206は、付随動作ラベル560の動作が「反転動作」を示していた場合、図7(c)に示す「反転動作」の動作定義テーブル602に必要な制御情報を書き込み、制御部208に出力する。
また、動作生成部206は、把持条件要素510中の付随動作ラベル560に値が設定されていた場合には、更に動作定義テーブル602を追加する。動作生成部206は、付随動作ラベル560の動作が「反転動作」を示していた場合、図7(c)に示す「反転動作」の動作定義テーブル602に必要な制御情報を書き込み、制御部208に出力する。
第2の実施形態によれば、撮像部101が撮影した撮影画像および奥行き画像を入力として、認識部205が把持対象物301の少なくとも1つの姿勢を検出する。把持パラメータ設定部202は、把持対象物301の種別や把持部102の種別に応じて、把持部102が把持対象物301を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部206は、パラメータに基づいて把持部102に把持動作させるための動作定義テーブルを生成する。したがって、把持対象物の種別や把持部102の種別ごとにパラメータを設定しておくことで、把持対象物を容易に把持させることができる。
なお、本実施形態において、目標位置姿勢440は必ずしも6自由度の位置姿勢でなくてもよい。把持部102が把持対象物301を把持するのに十分な位置姿勢を設定できる限りにおいて、2自由度あるいは3自由度等のより低い次元の位置姿勢でもよい。また、把持部102の位置姿勢でなく、把持部102やロボットアーム302を構成する各関節の角度等でもよい。
また、目標位置姿勢440は、単一の位置姿勢に限られない。例えば、1≦X≦2等、各次元のパラメータが取り得る範囲として指定してもよい。
また、優先順位460は、順位を直接指定するだけでなく、本実施形態における把持成功率等、優先順位を決定するための間接的な情報や値であってもよい。また、把持成功率に限らず、把持に要する時間等、把持の優劣を比較できる他の尺度であってもよく、これらを複数組み合わせるようにしてもよい。
また、優先順位460は、順位を直接指定するだけでなく、本実施形態における把持成功率等、優先順位を決定するための間接的な情報や値であってもよい。また、把持成功率に限らず、把持に要する時間等、把持の優劣を比較できる他の尺度であってもよく、これらを複数組み合わせるようにしてもよい。
[変形例5]
把持システムは、撮像部101の内部あるいは外部に別途三次元計測装置を備えてもよい。三次元計測装置は、把持対象物301を含むシーンの奥行き画像に替えて三次元点群を取得する。この場合、学習部204および認識部205は奥行き画像に替えて三次元点群が入力される。
把持システムは、撮像部101の内部あるいは外部に別途三次元計測装置を備えてもよい。三次元計測装置は、把持対象物301を含むシーンの奥行き画像に替えて三次元点群を取得する。この場合、学習部204および認識部205は奥行き画像に替えて三次元点群が入力される。
(第3の実施形態)
第3の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の手段や内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持手段および把持動作を決定する。把持手段変更部は把持部が備える把持手段を変更し、把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
第3の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の手段や内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持手段および把持動作を決定する。把持手段変更部は把持部が備える把持手段を変更し、把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
図11は、本実施形態に係る把持システムの全体構成の一例を示す図である。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、把持手段変更部103が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持手段変更部103は、把持部102の把持手段を変更する機構を備える。把持手段変更部103は、例えばツールチェンジャー等を適用することができる。本実施形態は、制御部208からの指令に基づいて把持部102の把持手段を「吸着ハンド」あるいは「ピンセットハンド」に変更する。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、把持手段変更部103が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持手段変更部103は、把持部102の把持手段を変更する機構を備える。把持手段変更部103は、例えばツールチェンジャー等を適用することができる。本実施形態は、制御部208からの指令に基づいて把持部102の把持手段を「吸着ハンド」あるいは「ピンセットハンド」に変更する。
次に、本実施形態の情報処理装置200の制御について図5のフローチャートを参照して説明する。図5のフローチャートは、第2の実施形態と同じである。ただし、各ステップにおける処理の内容に差異があるので、以下に説明する。
(ステップS105)
把持手段識別部207は、把持部102の種別を識別し、把持手段種別ラベルを制御部208に出力する。
(ステップS105)
把持手段識別部207は、把持部102の種別を識別し、把持手段種別ラベルを制御部208に出力する。
(ステップS106)
動作生成部206は、S103で得られた把持対象物301の種別ラベルおよび姿勢ラベルと、把持条件500に含まれる把持対象物種別ラベル520および把持対象物状態ラベル530とを比較する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
動作生成部206は、S103で得られた把持対象物301の種別ラベルおよび姿勢ラベルと、把持条件500に含まれる把持対象物種別ラベル520および把持対象物状態ラベル530とを比較する。
動作生成部206は、当該種別ラベルと把持対象物種別ラベル520とが一致し、かつ、当該姿勢ラベルが把持対象物状態ラベル530に含まれている把持条件要素510を抽出する。また、動作生成部206は、何れの把持対象物状態ラベル530に含まれる姿勢ラベルが存在しない場合には、空欄の把持対象物状態ラベル530に対応する把持条件要素510を抽出する。
(ステップS107)
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。図10の例において、把持条件要素510A、510B、510D、510Fが抽出される。
動作生成部206は、S106において抽出した複数の把持条件要素510から、把持部102が実行する把持動作を生成する。以下、把持動作を生成する処理について説明する。
まず、動作生成部206は、抽出した複数の把持条件要素510中の把持動作ラベル550を参照し、「把持する」ラベルが付与された把持条件要素510を更に抽出する。図10の例において、把持条件要素510A、510B、510D、510Fが抽出される。
次に、動作生成部206は、把持パラメータ400を参照し、抽出された把持条件要素510中の把持対象物種別ラベル520と把持対象物種別ラベル420、把持手段種別ラベル540と把持手段種別ラベル430とを比較する。動作生成部206は、両者が一致する把持パラメータ要素410について複数抽出する。動作生成部206は、複数抽出された把持パラメータ要素410の中から、優先順位460を参照して、最も優先度の高いものを1つ選択する。図10の例においては、把持パラメータ要素410A、410B、410C、410Dが抽出され、更に優先順位の高い把持パラメータ要素410Aが選択される。
次に、動作生成部206は、把持対象物301の姿勢ラベルと奥行き画像を用いて、把持対象物301の三次元空間内における位置姿勢を算出する。位置に関しては、把持対象物301が観測された撮影画像中における座標と、その座標に対応する奥行き画像の値から算出する。姿勢に関しては、把持対象物301の姿勢ラベルに対応する姿勢を不図示のルックアップテーブルから取得する。動作生成部206は、算出した位置姿勢を用いて、選択した把持パラメータ要素410に含まれる目標位置姿勢440の値を変換する。具体的には、目標位置姿勢440に記述されている位置姿勢は、把持対象物301の座標系における位置姿勢であるから、これを撮像部101の座標系における位置姿勢に変換する。図10の例においては、把持パラメータ要素410A中の目標位置姿勢440(すなわちX1、Y1、Z1、RX1、RY1、RZ1)が撮像部101の座標系における位置姿勢に変換される。
動作生成部206は、動作定義テーブル600を参照して、把持動作および付随動作の生成を行う。動作生成部206は、図7(b)の動作定義テーブル601の最初の動作種別「把持手段移動」に対応する制御情報「対象物」の欄に、変換した位置姿勢を書き込む。次に、動作生成部206は、2番目の「吸着動作開始」に対応する制御情報「吸着圧」の欄に、選択した把持パラメータ要素410中の把持手段設定値450の値を書き込む。次に、動作生成部206は、3番目の「把持手段移動」に対応する制御情報「トレイ内」の欄には、トレイ内部を示す既定の位置姿勢の値を書き込む。動作生成部206は、このようにして生成した動作定義テーブル601および選択された把持パラメータ要素410に対応する把持手段種別ラベル430の値を制御部208に出力する。図10の例においては、把持手段種別ラベルとして「吸着ハンド」の情報が制御部208に出力される。
また、動作生成部206は、把持条件要素510中の付随動作ラベル560に値が設定されていた場合には、更に動作定義テーブル602を追加する。動作生成部206は、付随動作ラベル560の動作が「反転動作」を示していた場合、図7(c)に示す「反転動作」の動作定義テーブル602に必要な制御情報を書き込み、制御部208に出力する。
(ステップS108)
次に、制御部208は、S107において動作生成部206から出力された把持手段識別ラベルと、S105において把持手段識別部207から出力された把持手段識別ラベルとを比較する。両者が異なっていた場合には、制御部208は把持手段変更部103に対して把持手段を動作生成部206から出力された把持手段識別ラベルの把持手段に変更するための制御コマンドを生成する。制御部208は制御コマンドを把持手段変更部103に送信することで、把持手段変更部103は制御コマンドに基づいて把持部102の把持手段を変更する。
次に、制御部208は、S107において動作生成部206から出力された把持手段識別ラベルと、S105において把持手段識別部207から出力された把持手段識別ラベルとを比較する。両者が異なっていた場合には、制御部208は把持手段変更部103に対して把持手段を動作生成部206から出力された把持手段識別ラベルの把持手段に変更するための制御コマンドを生成する。制御部208は制御コマンドを把持手段変更部103に送信することで、把持手段変更部103は制御コマンドに基づいて把持部102の把持手段を変更する。
第3の実施形態によれば、撮像部101が撮影した撮影画像および奥行き画像を入力として、認識部205が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部202は、把持部の種別と優先順位とを対応付けられた情報である把持パラメータ400を設定する。動作生成部206は把持パラメータ400を参照して優先順位の高い把持部の種別の情報を制御部208に出力する。制御部208は、把持部の種別の情報に基づいて把持手段変更部103により把持部102の把持手段を変更する。これにより、把持部102の把持手段を切り替えることができるので最適な把持動作を実行することができる。
[変形例6]
把持部102が同時に複数の把持手段を利用できる場合には、把持手段変更部103を省略することができる。例えば、把持部102が吸着ハンドとピンセットハンドの両方の機能を備え、これらを同時に利用できる場合を想定する。この場合には、制御部208は把持手段変更部103への制御コマンドを生成する代わりに、何れの把持手段を利用するかを特定する制御コマンドを把持部102に直接、送信する。
把持部102が同時に複数の把持手段を利用できる場合には、把持手段変更部103を省略することができる。例えば、把持部102が吸着ハンドとピンセットハンドの両方の機能を備え、これらを同時に利用できる場合を想定する。この場合には、制御部208は把持手段変更部103への制御コマンドを生成する代わりに、何れの把持手段を利用するかを特定する制御コマンドを把持部102に直接、送信する。
(第4の実施形態)
第4の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の手段や内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、学習部が把持学習を行う過程で、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして登録する。撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持手段および把持動作を決定する。把持部は決定された把持動作を実行する。これにより、ユーザがパラメータを入力しなくとも、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
第4の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の手段や内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、学習部が把持学習を行う過程で、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして登録する。撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持手段および把持動作を決定する。把持部は決定された把持動作を実行する。これにより、ユーザがパラメータを入力しなくとも、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
図12は、本実施形態に係る把持システムの全体構成の一例を示す図である。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、学習部204から把持パラメータ設定部202への矢印が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、学習部204から把持パラメータ設定部202への矢印が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持パラメータ設定部202は、把持部102が把持対象物301を把持するために必要なパラメータ群を把持パラメータ400として設定する。
学習部204は、認識部205が用いる認識データを生成する。第2の実施形態とは異なり、本実施形態の学習部204は更に把持パラメータ400を生成する。
学習部204は、認識部205が用いる認識データを生成する。第2の実施形態とは異なり、本実施形態の学習部204は更に把持パラメータ400を生成する。
次に、本実施形態の情報処理装置200の制御について図5のフローチャートを参照して説明する。図5のフローチャートは、第2の実施形態と同じである。ただし、各ステップにおける処理の内容に差異があるので、以下に説明する。
(ステップS111)
学習部204はCNNの学習を行う。また、学習部204は把持パラメータ400を生成する。以下、具体的な処理について説明する。
まず、学習部204は第1の実施形態と同様に二段階でCNNの学習を行う。
最初の学習では、学習部204はS110において読み込んだ学習データに基づいて、撮影画像および奥行き画像に対して、把持対象物301の種別ラベルおよび姿勢ラベルを識別する認識データを生成する。
学習部204はCNNの学習を行う。また、学習部204は把持パラメータ400を生成する。以下、具体的な処理について説明する。
まず、学習部204は第1の実施形態と同様に二段階でCNNの学習を行う。
最初の学習では、学習部204はS110において読み込んだ学習データに基づいて、撮影画像および奥行き画像に対して、把持対象物301の種別ラベルおよび姿勢ラベルを識別する認識データを生成する。
次の学習では、学習部204はS110において読み込んだ学習データを用いずに、撮影画像および奥行き画像に対して、把持部102の制御パラメータを出力する認識データを生成する。この学習には把持学習と呼ばれる手法を適用できる。把持学習は、入力した撮影画像および奥行き画像に対して、把持部102によって実際の把持を行い、その結果に基づき学習を行う。把持に成功した場合には、認識時にその制御パラメータを出力するように学習を行う。十分な学習が行われた際には、認識部205に撮影画像および奥行き画像を入力することで、撮影画像中で把持の成功率が高いと判断される領域と、そのときに把持対象物301を把持するための制御パラメータが出力されるようになる。
学習部204は、把持学習を行う過程において、入力された撮影画像および奥行き画像に対して、実際に把持を行ったときの位置姿勢(以下、把持位置姿勢と呼ぶ)を記録する。認識部205は、把持に成功した場合には、当該撮影画像および奥行き画像に対して、把持対象物301の種別ラベルおよび姿勢ラベルを認識する。次に、学習部204は、把持対象物301の姿勢ラベルと奥行き画像を用いて、把持対象物301の三次元空間内における位置姿勢を算出する。位置に関しては、把持対象物301が観測された撮影画像中における座標と、その座標に対応する奥行き画像の値から算出する。姿勢に関しては、把持対象物301の姿勢ラベルに対応する姿勢を不図示のルックアップテーブルから取得する。
学習部204は、算出した把持対象物301の位置姿勢を用いて、把持位置姿勢を目標位置姿勢440の値へと変換する。具体的には、把持位置姿勢は撮像部101の座標系における位置姿勢であるから、これを把持対象物301の座標系における位置姿勢に変換する。
学習部204は、更に把持に成功した時の把持部102の把持強度を把持手段設定値450に、把持対象物301の種別を把持対象物種別ラベル420に、把持手段のラベルを把持手段種別ラベル430に書き込む。優先順位460には、把持に要した時間を書き込む。学習部204は、一回の把持成功に対して、1つの把持パラメータ要素410を生成する。したがって、ユーザがパラメータを入力しなくても、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
学習部204は、更に把持に成功した時の把持部102の把持強度を把持手段設定値450に、把持対象物301の種別を把持対象物種別ラベル420に、把持手段のラベルを把持手段種別ラベル430に書き込む。優先順位460には、把持に要した時間を書き込む。学習部204は、一回の把持成功に対して、1つの把持パラメータ要素410を生成する。したがって、ユーザがパラメータを入力しなくても、把持対象物の姿勢に応じて把持手段および把持動作の内容を切り替え、最適な把持動作を実行することができる。
第4の実施形態によれば、学習部204が把持学習を行う過程で、把持部102が把持対象物を把持するための位置姿勢および把持強度等のパラメータを生成して、把持パラメータ設定部202が設定する。したがって、ユーザがパラメータを入力しなくても、把持パラメータ設定部202がパラメータを設定することができる。
(第5の実施形態)
第5の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持動作を決定する。把持可能性判断部は、決定された把持動作に対して物理シミュレーションを適用し、当該把持が成功するか否かを判断する。把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持動作の内容を切り替え、確実性の高い把持動作を実行することができる。
第5の実施形態では、ロボットアーム等に取り付けられている把持部を用いて、任意の位置姿勢に配置された複数の部品等の対象物から、対象物の状態に応じて把持動作の内容を決定し、把持を行う場合に適用できる装置について説明する。
本実施形態では、撮像部が撮影した撮影画像および奥行き画像を入力として、認識部が把持対象物の少なくとも1つの姿勢を検出する。把持パラメータ設定部は、把持対象物や把持部の種別に応じて、把持部が把持対象物を把持するための位置姿勢および把持強度等をパラメータとして設定する。動作生成部は、検出された姿勢と、事前に定義された把持条件とを比較し、パラメータを参照して最適な把持動作を決定する。把持可能性判断部は、決定された把持動作に対して物理シミュレーションを適用し、当該把持が成功するか否かを判断する。把持部は決定された把持動作を実行する。これにより、把持対象物の姿勢に応じて把持動作の内容を切り替え、確実性の高い把持動作を実行することができる。
図13は、本実施形態に係る把持システムの全体構成の一例を示す図である。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、把持可能性判断部210が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持可能性判断部210は、動作生成部206が生成した把持動作に対して物理シミュレーションを適用し、当該把持動作が成功するか否かを判断する。
本実施形態の把持システムは、図8に示す第2の実施形態の把持システムの全体構成と比較すると、把持可能性判断部210が追加されている。以後、第2の実施形態との差異について説明し、同一の部分については適宜説明を省略する。
把持可能性判断部210は、動作生成部206が生成した把持動作に対して物理シミュレーションを適用し、当該把持動作が成功するか否かを判断する。
次に、本実施形態の情報処理装置200の制御について図5のフローチャートを参照して説明する。図5のフローチャートは、第2の実施形態と同じである。ただし、各ステップにおける処理の内容に差異があるので、以下に説明する。
(ステップS107)
動作生成部206は、生成した図7(b)に示す動作定義テーブル601を把持可能性判断部210に出力する。
把持可能性判断部210は、動作定義テーブル601と奥行き画像とを参照して、把持部102が当該把持動作の対象となっている把持対象物301を把持し、目的地点で解放するまでの動作軌道の確認を行う。すなわち、把持可能性判断部210は動作定義テーブル601により把持部102が把持対象物301を把持可能か否かを判断する。具体的には、把持可能性判断部210は、設定した動作軌道に関して、ロボットアーム302や把持部102が、他の把持対象物301や供給トレイ303、排出トレイ304等の障害物と接触することなく、把持動作を完遂できるか否かを判断する。また、把持可能性判断部210は、把持手段設定値450を用いて把持対象物301を把持した際に、安定的に保持できるか否かの判断も行う。把持可能性判断部210は、判断結果を動作生成部206に出力する。
動作生成部206は、生成した図7(b)に示す動作定義テーブル601を把持可能性判断部210に出力する。
把持可能性判断部210は、動作定義テーブル601と奥行き画像とを参照して、把持部102が当該把持動作の対象となっている把持対象物301を把持し、目的地点で解放するまでの動作軌道の確認を行う。すなわち、把持可能性判断部210は動作定義テーブル601により把持部102が把持対象物301を把持可能か否かを判断する。具体的には、把持可能性判断部210は、設定した動作軌道に関して、ロボットアーム302や把持部102が、他の把持対象物301や供給トレイ303、排出トレイ304等の障害物と接触することなく、把持動作を完遂できるか否かを判断する。また、把持可能性判断部210は、把持手段設定値450を用いて把持対象物301を把持した際に、安定的に保持できるか否かの判断も行う。把持可能性判断部210は、判断結果を動作生成部206に出力する。
動作生成部206は、把持可能性判断部210から「把持動作が成功しない(把持可能ではない)」旨の判断結果が出力された場合には、異なる把持動作を生成し、再度動作定義テーブル601を生成する。一方、把持可能性判断部210から「把持動作が成功する(把持可能である)」旨の判断結果が出力された場合には、動作定義テーブル601を制御部208に送信する。したがって、制御部208は、「把持動作が成功する」旨の判断結果が出力された動作定義テーブル601に基づいて、把持部102を駆動する。
第5の実施形態によれば、把持可能性判断部210は、決定された把持動作に対して物理シミュレーションを適用し、把持部102が把持対象物を把持可能であるか否かを判断する。制御部208は、把持可能性判断部210により把持可能であると判断された動作定義テーブル601に基づいて把持部102を駆動する。したがって、より確実性の高い把持動作を実行することができる。
<定義>
本発明における取得手段は、撮像部が撮影した画像を取得できるものであれば、いかなるものでもよい。また、入力する画像においても、RGBカラー画像、グレイスケール画像、白黒画像等、いかなる種類の画像でもよい。画像取得部201は、取得手段の一例に対応する。
本発明における取得手段は、撮像部が撮影した画像を取得できるものであれば、いかなるものでもよい。また、入力する画像においても、RGBカラー画像、グレイスケール画像、白黒画像等、いかなる種類の画像でもよい。画像取得部201は、取得手段の一例に対応する。
本発明における設定手段は、特定の把持対象物および把持手段に対して、検出される把持対象物の状態を条件として、把持動作の有無および付随動作の内容を定義し、設定するものである。把持条件設定部203は、設定手段の一例に対応する。第1〜第4の実施形態では、把持対象物の特定の姿勢を条件とする方法について説明した。変形例2および変形例3においては、色、形状、材質等、様々な条件を設定できることを説明した。
本発明における学習手段は、撮影画像、奥行き画像の入力に対して、把持対象物の状態を出力するための認識データを生成するものである。学習部204は、学習手段の一例に対応する。第1の実施形態および第4の実施形態では、把持対象物の状態に加えて、更に把持部が把持を行うための制御パラメータを出力することを説明した。
本発明における認識手段は、学習部が生成した認識データに基づき、撮影画像、奥行き画像の入力に対して把持対象物の状態を出力するものである。認識部205は、認識手段の一例に対応する。第1の実施形態および第4の実施形態では、更に把持部が把持を行うための制御パラメータを出力することを説明した。
本発明における生成手段は、認識部が出力した把持対象物の状態から、把持条件設定部が設定した把持条件に基づき、把持動作を生成するものである。動作生成部206は、生成手段の一例に対応する。第1の実施形態では、把持学習を用いて把持動作を生成する方法について説明した。第2の実施形態および第3の実施形態では、予めパラメータとして設定した、特定の把持対象物および把持手段における把持目標位置姿勢によって、把持動作を生成する方法について説明した。
本発明における制御手段は、動作生成部が生成した把持動作から、実際に把持部が把持動作を実行するための制御コマンドを生成して把持部を駆動するものである。制御部208は、制御手段の一例に対応する。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能であり、上述した実施形態を適時組み合わせてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能であり、上述した実施形態を適時組み合わせてもよい。
101:撮像部 102:把持部 103:把持手段変更部 200:情報処理装置
201:画像取得部 202:把持パラメータ設定部 203:把持条件設定部 204:学習部 205:認識部 206:動作生成部 207:把持手段識別部 208:制御部 210:把持可能性判断部
201:画像取得部 202:把持パラメータ設定部 203:把持条件設定部 204:学習部 205:認識部 206:動作生成部 207:把持手段識別部 208:制御部 210:把持可能性判断部
Claims (15)
- 対象物を把持する把持部における把持動作を決定する情報処理装置であって、
前記対象物を撮影した画像を取得する取得手段と、
前記取得手段により取得された画像から前記対象物の状態を認識する認識手段と、
前記認識手段により認識された前記対象物の状態と、把持動作を実行する条件とに基づいて、前記把持部に把持動作させるための情報を生成する生成手段と、を有することを特徴とする情報処理装置。 - 前記生成手段は、
前記認識手段により認識された前記対象物の状態が、前記把持動作を実行する条件を満たすか否かを判定し、判定結果に基づいて、前記把持部に把持動作させるための情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記生成手段は、
前記認識手段により認識された前記対象物の状態が、前記把持動作を実行する条件を満たすか否かを判定し、判定結果に基づいて、前記把持動作の前後で前記把持部に付随動作させるための情報を生成することを特徴とする請求項1または2に記載の情報処理装置。 - 前記付随動作は、前記対象物の位置を変更する動作、および、前記把持部の姿勢を変更する動作の少なくとも何れか一つの動作が含まれていることを特徴とする請求項3に記載の情報処理装置。
- 前記対象物の状態は、前記対象物の姿勢であって、
前記生成手段は、
前記認識手段により認識された前記対象物の姿勢が、前記対象物の把持動作を実行する条件に含まれる姿勢である場合に、前記把持部に把持動作させるための情報を生成することを特徴とする請求項1ないし4の何れか1項に記載の情報処理装置。 - 前記対象物の状態は、前記対象物の色、模様、形状および素材の少なくとも一つが含まれていることを特徴とする請求項1ないし5の何れか1項に記載の情報処理装置。
- 前記生成手段は、
前記認識手段により認識された前記対象物の状態に基づいて、前記把持部に把持動作させるための情報を生成することを特徴とする請求項1ないし6の何れか1項に記載の情報処理装置。 - 前記生成手段は、
前記認識手段により認識された前記対象物の状態に加えて、前記把持部の種別および前記対象物の種別の少なくとも一つが、前記把持動作を実行する条件を満たすか否かを判定し、判定結果に基づいて、前記把持部に把持動作させるための情報を生成することを特徴とする請求項1ないし7の何れか1項に記載の情報処理装置。 - 前記把持部が前記対象物を把持するための把持情報を設定する設定手段を有し、
前記生成手段は、
前記設定手段により設定された把持情報に基づいて、前記把持部に把持動作させるための情報を生成することを特徴とする請求項1ないし8の何れか1項に記載の情報処理装置。 - 前記把持部に把持動作させるための情報に基づいて、前記把持部を駆動する制御手段を有し、
前記制御手段は、
前記把持部の種別と優先順位とが対応付けられた情報に基づいて、前記把持部を優先順位が高い種別に変更するように制御することを特徴とする請求項1ないし9の何れか1項に記載の情報処理装置。 - 前記把持部に把持動作させるための情報に基づいて、前記把持部を駆動する制御手段と、
前記生成手段により生成された前記把持部に把持動作させるための情報に基づいて、前記把持部が把持可能か否かを判断する判断手段と、を有し、
前記制御手段は、前記判断手段により把持可能であると判断された前記把持部に把持動作させるための情報に基づいて、前記把持部を駆動することを特徴とする請求項1ないし10の何れか1項に記載の情報処理装置。 - 前記対象物を撮影した画像と、前記対象物の状態とを対応付ける学習手段を有し、
前記認識手段は、前記学習手段により対応付けられた情報に基づいて、前記取得手段により取得された画像から前記対象物の状態を認識することを特徴とする請求項1ないし11の何れか1項に記載の情報処理装置。 - 請求項1ないし12の何れか1項に記載の情報処理装置と、
前記対象物の画像を撮影する撮像部と、
前記把持部と、を備えていることを特徴とする把持システム。 - 対象物を把持する把持部における把持動作を決定する情報処理方法であって、
前記対象物を撮影した画像を取得する取得ステップと、
前記取得ステップにより取得された画像から前記対象物の状態を認識する認識ステップと、
前記認識ステップにより認識された前記対象物の状態と、把持動作を実行する条件とに基づいて、前記把持部に把持動作させるための情報を生成する生成ステップと、を有することを特徴とする情報処理方法。 - コンピュータを、請求項1ないし12の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017212900A JP2019084601A (ja) | 2017-11-02 | 2017-11-02 | 情報処理装置、把持システムおよび情報処理方法 |
US16/171,750 US11185977B2 (en) | 2017-11-02 | 2018-10-26 | Information processing apparatus, grasping system, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017212900A JP2019084601A (ja) | 2017-11-02 | 2017-11-02 | 情報処理装置、把持システムおよび情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019084601A true JP2019084601A (ja) | 2019-06-06 |
Family
ID=66245876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017212900A Pending JP2019084601A (ja) | 2017-11-02 | 2017-11-02 | 情報処理装置、把持システムおよび情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11185977B2 (ja) |
JP (1) | JP2019084601A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019093472A (ja) * | 2017-11-22 | 2019-06-20 | ファナック株式会社 | 制御装置及び機械学習装置 |
JP2021010970A (ja) * | 2019-07-05 | 2021-02-04 | 京セラドキュメントソリューションズ株式会社 | ロボットシステム及びロボット制御方法 |
WO2021181592A1 (ja) * | 2020-03-12 | 2021-09-16 | 株式会社Fuji | 識別装置、および部品保持システム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7047726B2 (ja) * | 2018-11-27 | 2022-04-05 | トヨタ自動車株式会社 | 把持ロボットおよび把持ロボットの制御プログラム |
JP7044047B2 (ja) * | 2018-12-14 | 2022-03-30 | トヨタ自動車株式会社 | ロボット |
US11185978B2 (en) * | 2019-01-08 | 2021-11-30 | Honda Motor Co., Ltd. | Depth perception modeling for grasping objects |
US11440183B2 (en) * | 2019-03-27 | 2022-09-13 | Abb Schweiz Ag | Hybrid machine learning-based systems and methods for training an object picking robot with real and simulated performance data |
JP7377627B2 (ja) * | 2019-06-04 | 2023-11-10 | グローリー株式会社 | 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム |
CN113059560B (zh) * | 2021-03-03 | 2023-01-20 | 广东智源机器人科技有限公司 | 机械臂控制方法、装置、电子设备以及烹饪系统 |
EP4249177A1 (en) * | 2022-03-22 | 2023-09-27 | Siemens Aktiengesellschaft | Grasp boundary detection based on color |
CN115049860B (zh) * | 2022-06-14 | 2023-02-28 | 广东天太机器人有限公司 | 一种基于特征点识别的系统及抓取方法 |
WO2024095120A1 (en) * | 2022-11-02 | 2024-05-10 | G.D S.P.A. | Process for the automated handling of products within a plant |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3751763T2 (de) | 1986-06-27 | 1996-11-14 | Canon Kk | Koordinateneingabegerät |
US4887245A (en) | 1987-04-06 | 1989-12-12 | Canon Kabushiki Kaisha | Coordinates input apparatus |
JPH0614310B2 (ja) | 1987-06-25 | 1994-02-23 | キヤノン株式会社 | 座標入力装置 |
JPH0746301B2 (ja) | 1987-10-28 | 1995-05-17 | キヤノン株式会社 | 座標入力装置 |
JP2502649B2 (ja) | 1988-01-28 | 1996-05-29 | キヤノン株式会社 | 座標入力装置 |
US5070325A (en) | 1988-03-18 | 1991-12-03 | Canon Kabushiki Kaisha | Coordinate input apparatus |
EP0364983B1 (en) | 1988-10-20 | 1996-01-17 | Canon Kabushiki Kaisha | Coordinate input apparatus |
JP2592972B2 (ja) | 1989-12-25 | 1997-03-19 | キヤノン株式会社 | 座標入力装置 |
JPH0475045A (ja) | 1990-07-17 | 1992-03-10 | Canon Inc | 座標入力装置 |
JP3109826B2 (ja) | 1990-10-19 | 2000-11-20 | キヤノン株式会社 | 座標入力装置および座標入力方法 |
JP3053262B2 (ja) | 1991-08-05 | 2000-06-19 | キヤノン株式会社 | 座標入力装置及び方法 |
DE69226241T2 (de) | 1991-11-27 | 1999-03-25 | Canon Kk | Koordinateneingabegerät |
US5565893A (en) | 1993-05-07 | 1996-10-15 | Canon Kabushiki Kaisha | Coordinate input apparatus and method using voltage measuring device |
JP3320138B2 (ja) | 1993-05-07 | 2002-09-03 | キヤノン株式会社 | 座標入力装置及び方法 |
JPH07141089A (ja) | 1993-11-12 | 1995-06-02 | Canon Inc | 座標入力装置 |
JP3630712B2 (ja) | 1994-02-03 | 2005-03-23 | キヤノン株式会社 | ジェスチャー入力方法及びその装置 |
JPH08147890A (ja) | 1994-11-21 | 1996-06-07 | Canon Inc | 記録再生装置 |
JPH08286817A (ja) | 1995-04-17 | 1996-11-01 | Canon Inc | 座標入力装置 |
JPH0929169A (ja) | 1995-07-19 | 1997-02-04 | Canon Inc | 振動伝達板及びその製造方法及び座標入力装置 |
EP0762315A3 (en) | 1995-09-06 | 2000-03-29 | Canon Kabushiki Kaisha | Coordinates input apparatus and its method |
JPH1165748A (ja) | 1997-08-22 | 1999-03-09 | Canon Inc | 座標入力装置及びセンサ装着構造及び方法 |
DE60033249D1 (de) | 1999-09-02 | 2007-03-22 | Canon Kk | Progressive Anzeige von Zielobjekten |
JP4708581B2 (ja) | 2000-04-07 | 2011-06-22 | キヤノン株式会社 | 座標入力装置、座標入力指示具及びコンピュータプログラム |
JP4590114B2 (ja) | 2001-02-08 | 2010-12-01 | キヤノン株式会社 | 座標入力装置及びその制御方法、記録媒体 |
JP2002251608A (ja) | 2001-02-23 | 2002-09-06 | Mixed Reality Systems Laboratory Inc | 撮像装置の制御装置及びその制御方法、画像処理装置及びその方法、並びにプログラムコード、記憶媒体 |
JP2002258740A (ja) | 2001-03-02 | 2002-09-11 | Mixed Reality Systems Laboratory Inc | 画像記録装置及び画像再生装置とそれらの方法 |
JP3952896B2 (ja) | 2002-07-30 | 2007-08-01 | キヤノン株式会社 | 座標入力装置及びその制御方法、プログラム |
JP2004208494A (ja) | 2002-12-11 | 2004-07-22 | Canon Inc | 信号発生器の制御方法 |
JP4217644B2 (ja) | 2004-03-23 | 2009-02-04 | キヤノン株式会社 | 発電システム、発電システムの管理装置及び管理方法 |
JP3930490B2 (ja) * | 2004-04-23 | 2007-06-13 | ファナック株式会社 | 物品取出し装置 |
JP4199264B2 (ja) * | 2006-05-29 | 2008-12-17 | ファナック株式会社 | ワーク取り出し装置及び方法 |
JP4958497B2 (ja) | 2006-08-07 | 2012-06-20 | キヤノン株式会社 | 位置姿勢測定装置及び位置姿勢測定方法、複合現実感提示システム、コンピュータプログラム及び記憶媒体 |
JP4226623B2 (ja) * | 2006-09-29 | 2009-02-18 | ファナック株式会社 | ワーク取り出し装置 |
JP4565023B2 (ja) * | 2008-07-04 | 2010-10-20 | ファナック株式会社 | 物品取り出し装置 |
JP5402697B2 (ja) * | 2009-10-26 | 2014-01-29 | 株式会社安川電機 | ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法 |
JP5460341B2 (ja) | 2010-01-06 | 2014-04-02 | キヤノン株式会社 | 3次元計測装置及びその制御方法 |
JP5229253B2 (ja) * | 2010-03-11 | 2013-07-03 | 株式会社安川電機 | ロボットシステム及びロボット装置並びにワーク取り出し方法 |
JP5382621B2 (ja) * | 2010-06-03 | 2014-01-08 | 株式会社安川電機 | 移載装置 |
JP5975685B2 (ja) * | 2012-03-09 | 2016-08-23 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP5977544B2 (ja) * | 2012-03-09 | 2016-08-24 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP6004809B2 (ja) * | 2012-03-13 | 2016-10-12 | キヤノン株式会社 | 位置姿勢推定装置、情報処理装置、情報処理方法 |
US9434072B2 (en) * | 2012-06-21 | 2016-09-06 | Rethink Robotics, Inc. | Vision-guided robots and methods of training them |
JP5614553B2 (ja) * | 2012-09-14 | 2014-10-29 | 株式会社安川電機 | ロボット装置 |
JP5786896B2 (ja) * | 2013-06-07 | 2015-09-30 | 株式会社安川電機 | ワーク検出装置、ロボットシステム、被加工物の製造方法及びワーク検出方法 |
JP6522488B2 (ja) | 2015-07-31 | 2019-05-29 | ファナック株式会社 | ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP6487495B2 (ja) * | 2017-05-19 | 2019-03-20 | ファナック株式会社 | ワーク取出しシステム |
-
2017
- 2017-11-02 JP JP2017212900A patent/JP2019084601A/ja active Pending
-
2018
- 2018-10-26 US US16/171,750 patent/US11185977B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019093472A (ja) * | 2017-11-22 | 2019-06-20 | ファナック株式会社 | 制御装置及び機械学習装置 |
US10864630B2 (en) | 2017-11-22 | 2020-12-15 | Fanuc Corporation | Control device and machine learning device |
JP2021010970A (ja) * | 2019-07-05 | 2021-02-04 | 京セラドキュメントソリューションズ株式会社 | ロボットシステム及びロボット制御方法 |
WO2021181592A1 (ja) * | 2020-03-12 | 2021-09-16 | 株式会社Fuji | 識別装置、および部品保持システム |
JPWO2021181592A1 (ja) * | 2020-03-12 | 2021-09-16 |
Also Published As
Publication number | Publication date |
---|---|
US20190126471A1 (en) | 2019-05-02 |
US11185977B2 (en) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019084601A (ja) | 情報処理装置、把持システムおよび情報処理方法 | |
CN111055279B (zh) | 基于触觉与视觉结合的多模态物体抓取方法与系统 | |
Wang et al. | Controlling object hand-over in human–robot collaboration via natural wearable sensing | |
Calandra et al. | The feeling of success: Does touch sensing help predict grasp outcomes? | |
EP3869464B1 (en) | Learning apparatus and learning method | |
JP6983524B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN110785268B (zh) | 用于语义机器人抓取的机器学习方法和装置 | |
JP2019508273A (ja) | ロボットの把持のための深層機械学習方法および装置 | |
JP6771744B2 (ja) | ハンドリングシステム及びコントローラ | |
WO2011065035A1 (ja) | ロボットの教示データを作成する方法およびロボット教示システム | |
WO2011065034A1 (ja) | ロボットの動作を制御する方法およびロボットシステム | |
CN106256512B (zh) | 包括机器视觉的机器人装置 | |
JP2013193202A (ja) | 人間援助型タスクデモンストレーションを使用してロボットを訓練するための方法およびシステム | |
JP2016047591A (ja) | ロボット教示装置、方法、およびロボットシステム | |
Liarokapis et al. | Deriving dexterous, in-hand manipulation primitives for adaptive robot hands | |
Ottenhaus et al. | Visuo-haptic grasping of unknown objects based on gaussian process implicit surfaces and deep learning | |
JP2018153873A (ja) | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム | |
Huang et al. | Grasping novel objects with a dexterous robotic hand through neuroevolution | |
Seita et al. | Robot bed-making: Deep transfer learning using depth sensing of deformable fabric | |
Devine et al. | Real time robotic arm control using hand gestures with multiple end effectors | |
JP6456557B1 (ja) | 把持位置姿勢教示装置、把持位置姿勢教示方法及びロボットシステム | |
Mohammed et al. | Color matching based approach for robotic grasping | |
Romero et al. | Modeling and evaluation of human-to-robot mapping of grasps | |
JP2021061014A (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
WO2022239477A1 (ja) | 情報処理装置、システム、方法及びプログラム |