JP6572687B2 - 把持可否判定方法 - Google Patents

把持可否判定方法 Download PDF

Info

Publication number
JP6572687B2
JP6572687B2 JP2015172824A JP2015172824A JP6572687B2 JP 6572687 B2 JP6572687 B2 JP 6572687B2 JP 2015172824 A JP2015172824 A JP 2015172824A JP 2015172824 A JP2015172824 A JP 2015172824A JP 6572687 B2 JP6572687 B2 JP 6572687B2
Authority
JP
Japan
Prior art keywords
gripping
hand
point
control device
posture
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.)
Expired - Fee Related
Application number
JP2015172824A
Other languages
English (en)
Other versions
JP2017047505A (ja
Inventor
宏平 菊地
宏平 菊地
原田 研介
研介 原田
偉偉 万
偉偉 万
徳生 辻
徳生 辻
弘 音田
弘 音田
和之 永田
和之 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2015172824A priority Critical patent/JP6572687B2/ja
Publication of JP2017047505A publication Critical patent/JP2017047505A/ja
Application granted granted Critical
Publication of JP6572687B2 publication Critical patent/JP6572687B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、箱の中にバラ積みされた複数の把持対象物をロボットアームのハンドによって把持する際に、把持対象物がハンドにより把持可能か否かを判定する把持可否判定方法に関するものである。
バラ積みされた把持対象物をロボットアームのハンドによって把持する際に、ロボットアームが他の物体と干渉する場合、当該ロボットアームの動作を停止させ、あるいは、その物体を回避する装置が知られている(特許文献1参照)。
特開2002−331480号公報
上記装置においては、ロボットアームが他の物体と干渉する場合、当該ロボットアームの動作停止などさせるため、把持可能な部品数が少なくなる虞がある。一方で、仮に、その他の物体を無視して把持を実行すれば、把持可能と判断する部品数は多くなるが、例えば、他の物体と強く衝突し把持成功率が低下する虞がある。
本発明は、このような問題点に鑑みてなされたものであり、把持可能な部品数を増加させつつ、把持成功率は高めることができる把持可否判定方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、バラ積みされた複数の把持対象物をロボットアームのハンドによって把持する際に、前記ハンドが前記把持対象物を把持可能か否かを判定する把持可否判定方法であって、前記把持対象物から所定距離離れたアプローチ点から該把持対象物を前記ハンドにより把持する把持点まで前記ハンドを移動させ、該把持点で前記把持対象物を前記ハンドにより把持するまでに、前記ハンドが通過する領域をハンド通過領域とし、該ハンド通過領域内に含まれる3次元点群データと、前記ハンドによる前記把持対象物の把持の成否と、を対応付けた複数のサンプルデータを取得するステップと、前記ハンド通過領域内に含まる3次元点群のi番目の点をp(i=1、2、・・・n)とし、前記点pをアプローチ方向に伸ばした直線が前記ハンド通過領域の境界と交わる点の内、前記点pから最も遠い点との距離をh(p)とし、前記点pから前記ハンドの把持方向に伸ばした直線が前記ハンド通過領域の境界と交わる点の内、前記点pから最も近い点との距離をd(p)とし、前記h(p)、d(p)及びnの値が小さい方が把持成功率が高いと仮定し、前記サンプルデータと前記距離h(p)及びd(p)とに基づき算出した特徴ベクトルから、前記把持対象物の把持可否を判定するための識別器を生成するステップと、前記生成した識別器を用いて前記ハンドによる前記把持対象物の把持可否を判定するステップと、を含む、ことを特徴とする把持可否判定方法である。
この一態様によれば、ハンド通過領域に障害物が存在する場合でも、直ちに、その把持対象物を把持不可能と判断するのではなく、識別器を用いて把持可否の判定を行う。このため、把持可能な部品数を増加させることができる。この把持可否の判定を行う際に、ハンドと障害物との強干渉点が少なく、把持成功率が高いハンドの把持パターンを学習した識別器を用いることで、把持成功率は高めることができる。すなわち、把持可能な部品数を増加させつつ、把持成功率は高めることができる。
この一態様において、前記識別器はランダムフォレストで構成されており、前記特徴ベクトルは、下記式を用いて算出してもよい。この一態様によれば、ランダムフォレストで構成された識別器を用いて、把持可能な部品数を増加させつつ、把持成功率は高めることができる。
この一態様において、前記識別器は、線形SVM(support vector machine)で構成されており、前記特徴ベクトルfは、下記式を用いて算出してもよい。この一態様によれば、線形SVMで構成された識別器を用いて、把持可能な部品数を増加させつつ、把持成功率は高めることができる。
本発明によれば、把持可能な部品数を増加させつつ、把持成功率は高めることができる把持可否判定方法を提供することができる。
本発明の一実施形態に係る搬送ロボットの概略的なシステム構成を示すブロック図である。 ロボットアームのハンドのピッキング動作を示す図である。 ハンド通過領域を示す図である。 距離h(p)およびd(p)を示す図である。 学習フェーズ及び実行フェーズを示す図である。 学習フェーズにおける把持動作軌道の生成方法のフローを示すフローチャートである。 実行フェーズにおける把持動作軌道の生成方法のフローを示すフローチャートである。
以下、図面を参照して本発明の実施の形態について説明する。
本実施の形態の搬送ロボットは、複数の箱内に収容されたピッキング対象物(把持対象物)である部品を当該箱から夫々ピッキング(把持)して搬送する。
図1は、本発明の一実施形態に係る搬送ロボットの概略的なシステム構成を示すブロック図である。本実施形態に係る搬送ロボット1は、ロボットアーム2と移動台車3と、ロボットアーム2及び移動台車3を制御する制御装置4と、周辺の環境情報を検出する検出部5と、を備えている。
ロボットアーム2は、移動台車3に固定されている。ロボットアーム2は、例えば、手首関節、肘関節、肩関節などの複数の関節部を有する多関節型アームとして構成されている。ロボットアーム2の先端部には、一対の指部(グリッパ)を有するハンド(以下、単にハンドと称す)が設けられている。各関節部に各関節部を駆動するモータなどのアクチュエータが設けられている。各関節部には各関節部の回転角を検出するエンコーダ、ポテンショメータ、レゾルバーなどの回転センサが設けられている。制御装置4は、各関節部のアクチュエータに制御信号を送信することで各関節部のアクチュエータを制御する。また、制御装置4は、一対の指部のアクチュエータを制御することで、指部の開閉動作を制御する。これにより、ハンドの指部は部品を把持する。なお、上記ロボットアーム2の構成は一例であり、これに限定されず、任意の構成が適用可能である。
移動台車3は、例えば、左右の駆動輪、駆動輪を駆動するモータ、減速機及びエンコーダなどを備えている。また、移動台車3は、部品を載置する通箱が設けられている。搬送ロボット1は、ロボットアーム2により把持した部品を通箱に載置し、搬送を行う。エンコーダは、検出したモータの回転情報を制御装置4に出力する。制御装置4は、エンコーダから出力される回転情報に基づいて、各モータに制御信号を送信することで移動台車3の駆動輪を制御する。
制御装置4は、検出部5から出力される周辺の環境情報(以下、周辺環境情報)に基づいて、ロボットアーム2及び移動台車3の駆動を制御する。
制御装置4は、例えば、制御演算、演算処理等を行うCPU(Central Processing Unit)4a、CPU4aによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)やRAM(Random Access Memory)からなるメモリ4b、外部と信号の入出力を行う複数のインターフェイス部(I/F)4cなどからなるマイクロコンピュータを中心にして、ハードウェア構成されている。CPU4a、メモリ4b及びインターフェイス部4cは、データバスなどを介して相互に接続されている。
検出部5は、搬送ロボット1の周辺の環境情報を検出する。検出部5は視覚センサ51を有している。視覚センサ51としては、例えば、Kinect(登録商標)センサなどを用いることができる。但し、検出部5は、搬送ロボット1の周辺の環境情報を検出することができるセンサであれば、特に限定されない。検出部5は、検出した周辺の環境情報を制御装置4に出力する。
搬送ロボット1は、例えば、ロボットアーム2を用いて複数の箱内に収容された把持対象物の部品を当該箱から夫々把持し、移動台車3の通箱に載置して搬送を行う。ここで、特定の箱の中にバラ積みされた複数の部品をロボットアーム2のハンドによって把持する際に、その部品がハンドにより把持可能(ピッキング可能)か否かを判定する必要がある。
図2は、ロボットアームのハンドのピッキング動作を示す図である。ロボットアーム2が各部品を把持する際に、まず、制御装置4はロボットアーム2の各関節部のアクチュエータを制御して、ハンド21を部品から一定距離離れたアプローチ点に移動させる(a)。その後、制御装置4は、ロボットアーム2の各関節部のアクチュエータを制御して、ハンド21を、そのアプローチ点から把持点に移動させる(b)。そして、制御装置4は、その把持点でハンド21の指部22が部品を把持するように、ハンド21のアクチュエータを制御する(c)。
ところで、上述したハンドがアプローチ点から把持点まで移動する際にハンドが通過する第1通過領域、および、ハンドが把持点で把持を完了するまでに通過する第2通過領域(第1及び第2通過領域をSweeping Volumeとし、以下、ハンド通過領域(斜線部分)Sと称す)内に障害物が存在することがある(図3)。
このようにハンド通過領域Sに障害物が存在する場合(ハンド21が障害物と干渉する場合)、単に、その部品を把持不可能と判断すれば、実際に把持を実行した際の把持成功率は高まるが把持可能な部品数は少なくなる虞がある。
一方で、そのハンド通過領域Sの障害物を無視して把持を実行すれば、把持可能と判断する部品数は多くなる。しかし、例えば、ハンド21が障害物と強く衝突し、実際に把持を実行した際の把持成功率が低下する虞がある。
これに対し、本実施形態に係る把持可否判定方法においては、ハンド通過領域Sのどの位置に障害物があると、ハンド21による部品の把持が失敗(あるいは成功)するかを学習した識別器を生成し、この識別器を用いて、ハンド21による部品の把持可否を判定する。これにより、ハンド通過領域Sに障害物が存在する場合でも、直ちに、その部品を把持不可能と判断するのではなく、識別器を用いて把持可否の判定を行う。このため、把持可能な部品数を増加させることができる。この把持可否の判定を行う際に、ハンド通過領域Sのどの位置に障害物があると、ハンド21による部品の把持が失敗(あるいは成功)するかを学習した識別器を用いる。このため、たとえハンド通過領域S内に障害物がある場合でも、その把持成功率を高めることができる。すなわち、把持可能な部品数を増加させつつ、把持成功率は高めることができる。
例えば、ハンド21がバラ積みされた他の部品に掠るあるいは軽く押す程度に接触するのであれば(このような場合は把持成功率が高いと推定される)、その部品を押しのけて把持対象の部品を把持できる場合がある。したがって、このような、従来、ハンド21が他の部品と干渉し把持不可能と判断されていた部品が把持可能となる。
本実施形態に係る把持可否判定方法は、上述の如く、ロボットアーム2によるバラ積みされた部品の把持作業において、ハンド21と、把持対象部品と隣接する部品と、の接触を適度に許容することで、把持可能な部品数を増加させつつ、把持成功率は高めるものである。
本実施形態に係る把持可否判定方法においては、ハンド通過領域S内に障害物がある場合の把持成功条件(ハンド通過領域Sのどの位置に障害物があると、ハンド21による部品の把持が成功かの条件)を、以下の学習によって導出した識別器を生成する。すなわち、把持成功率の高い把持パターンを学習した識別器を生成する。
制御装置4は、過去のハンドの把持動作におけるハンド通過領域S内に含まれる障害物を表すポイントクラウド(3次元点群データ)と、ハンド21による把持対象の部品の把持成否と、を対応付けたサンプルデータを学習データとして取得する。そして、制御装置4は、取得した学習データを用いて、把持成否を判定するための識別器を生成する。なお、上記ポイントクラウドは、把持対象の部品付近の点を除いたものである。
本実施形態において、障害物(ポイントクラウド)がハンド21からどれ位離れているか、換言すると、障害物がハンド21にどれ位干渉するかを、特徴ベクトルで表現した識別器を生成する。 ここで、ハンド通過領域内に含まれるi番目の点をp(i=1、2、・・・、n)とし、下記変数を定義する(図4)。
h(p):点pからアプローチ点方向に伸ばした直線がハンド通過領域境界と交わる点の内、pから最も遠い点との距離。その点pをアプローチ方向に押しのける距離。
d(p):点pから指部の開閉方向(把持方向)に伸ばした直線がハンド通過領域境界と交わる点の内、pから最も近い点との距離。その点pがハンド通過領域の内側(指部22の閉方向)に入り込んだ距離。
上記h(p)及びd(p)が大きい場合、障害物がハンド21に強干渉することを示している。
ここで、ハンド21と障害物との強干渉する点を少なくすると、ハンド21による部品把持の成功率が高まると仮定する。すなわち、h(p)、d(p)及びnの全ての値が小さい方が把持成功率が高いと仮定する。そして、この仮定の基で把持成功率が高いときに生成された特徴ベクトルを用いて識別器を生成している。
以上のように、本実施形態においては、上述したように、点piの距離h(p)および距離d(p)を定義し、h(p)、d(p)及びnの値が小さい方が把持成功率が高いと仮定し、サンプルデータおよび距離をh(p)およびd(p)に基づいて算出した特徴ベクトルから、把持可能か否かを判定するための識別器を生成する。この識別器を用いることで、ハンド通過領域Sに障害物が存在する場合(ハンド21が障害物と接触する場合)でも、ハンド21と障害物との強干渉点が少なく、把持成功率が高いハンド21の把持パターンを選択できるため、把持成功率は高めることができる。
識別器は、例えば、線形SVM(support vector machine)又はランダムフォレスト(Random Forest)で構成されている。なお、識別器は、上記一例に限定されず、任意の学習アルゴリズムで構成できる。
まず、上記ランダムフォレストの特徴ベクトルの定義方法について説明する。
特徴ベクトルとして、ハンド通過領域内のポイント分布を用いる。このため、h(p)、d(p)を用いた2次元ヒストグラムを下記のように定義する。なお、下記定義において、binwidthはbin幅であり、bin_h及びbin_dは各軸のbin上限値(無条件で把持失敗と判定する閾値)である。
特徴ベクトル=(底面からの距離:min((h(pi)/binwidth),bin_h),
側面からの距離:min((d(pi)/binwidth),bin_d))
目的変数を列挙型(把持成功、把持失敗)する。制御装置4は、サンプルデータから各葉ノード到達時の把持成功率を算出することで、任意の特徴ベクトルに対して把持成功率を算出する。なお、識別器が、ランダムフォレストで構成されている場合、上記サンプルデータは領域の偏りのないランダムなデータを用いるのが好ましい。制御装置4は、状況に応じて、把持成功率の閾値を設定することで、把持可否判定を行ってもよい。把持成功率を高めたい場合は、この閾値を大きく設定する。
続いて線形SVMの特徴ベクトルの定義方法について説明する。
特徴ベクトルを、下記2次元ベクトルfとして定義する。
Figure 0006572687
制御装置4は、サンプルデータに基づいて各領域での把持成功率を算出する。制御装置4は、任意の特徴ベクトルに対して属する領域の識別を行うことで、把持成功率を算出する。また、制御装置4は、状況に応じて、閾値を設定することで、把持可否判定を行う。把持成功率を高めたい場合は、この閾値を大きく設定する。
本実施形態に係る制御装置4は、図5に示す如く、上述した識別器を生成する学習フェーズと、学習フェーズで生成した識別器を用いて、実際の把持動作を行う実行フェーズと、を実行する。
学習フェーズにおいて、制御装置4は、部品情報、搬送ロボット1の幾何情報などの前提条件の取得を行う(1)。次に、制御装置4は、部品毎の把持可能位置・姿勢を導出して、把持位置姿勢データベースの構築を行う(2)。その後、検出部5は部品の位置・姿勢を検出する(3)。さらに、制御装置4は、把持位置姿勢データベースおよび検出された部品の位置・姿勢に基づいて、実際に部品をピッキングするようにロボットアーム2を制御する(4)。このとき、制御装置4は、上述したように、ハンド通過領域内に含まれるポイントクラウドと、ハンド21による把持対象の部品の把持成否と、を対応付けたサンプリングデータを学習データとして、把持成否を学習し識別器を生成する(5)。
続いて、実行フェーズにおいて、検出部5は部品の位置・姿勢を検出する(1)。次に、制御装置4は、上記識別器を用いて把持成功率の高い把持位置姿勢を選択し、検出した部品の位置・姿勢に基づいて、部品をピッキングするようにロボットアーム2を制御する(2)。以下、上述した学習フェーズ及び実行フェーズについて、詳細に説明する。
<<学習フェーズ>>
(1)前提条件の取得
まず、上述した学習フェーズの前提条件について説明する。
(前提1)ロボットアーム2が把持する部品、ロボットアーム2自体の幾何モデル、ならびに、部品の重量は予め与えられているものとする。
(前提2)各箱の中に入っている部品の種類は既知であるが、部品の箱中での位置及び部品の数は未知とする。
例えば、メモリ4bには、上述した、ロボットアーム2が把持する部品の幾何モデル、ロボットアーム2自体の幾何モデル、部品の重量、各箱の中に入っている部品の種類、などの情報が予め記憶されている。
(2)把持位置姿勢のデータベースの構築
続いて、ロボットアーム2が把持動作を開始する前に、ハンド21が各部品を把持可能な位置及び姿勢(以下、把持位置姿勢)のデータベースを構築する。制御装置4は、部品毎の把持位置姿勢のデータベースを、例えば、下記<フェーズ1〜6>に従って構築する。
<フェーズ1>
先ず、制御装置4は、部品の形状(幾何モデル)に対して最適な分割数を決めるための評価指標を導き出す。詳細には、制御装置4は、領域分割数決定方法によって、以下の条件1を満たすまでクラスタをマージする。
<条件1>
誤差(error)>0.01、且つ、クラスタの重なり度<0.2であって、クラスタの重なり度は、下記式により導き出す。
Figure 0006572687
但し、volmaxは最大クラスタ領域のバウンディングボックスの体積、overlapvoliは最大クラスタ領域とクラスタiのバウンディングボックスが重なった領域の体積である。
<フェーズ2>
制御装置4は、<フェーズ1>で導き出した評価指標を最小化するように、部品の幾何モデルを一般的な方法(例えば、非特許文献:辻、原田、山野辺、永田、中村、長谷川、”一般物体把持のための把持姿勢変換”、ロボティクスシンポジア講演稿集、pp.219-224、2013)に基づいて分割(クラスタリング)する。これにより、部品の幾何モデルに複数の2次曲面が割り当てられる。
<フェーズ3>
制御装置4は、2次曲面として楕円や円が割り当てられたものに対しては、これらのバウンディングボックスを導き出す。なお、バウンディングボックスの3辺長が部品全体のバウンディングボックスの3辺長の0.15倍(但し、倍数は適宜変更することができる。)より小さいクラスタ領域は、把持点探索の対象外とする。
<フェーズ4>
制御装置4は、<フェーズ3>で導き出したバウンディングボックスを、例えば、非特許文献:原田、辻、金子、金広、丸山、”直方体モデルに基づく多指ハンドの把握計画”、日本機械学会誌(C編)、vol.76、no.762、pp.331-339、2010で定義したGRC(Grasping Rectangular Convex)とみなし、GRCの曲面に離散化した点を仮定し、この点にアプローチするように仮想的にハンド21を動かす。
<フェーズ5>
制御装置4は、<フェーズ4>におけるハンド21の姿勢から当該ハンド21の指部22が部品と接触するまで仮想的に当該指部22を閉じる。
<フェーズ6>
制御装置4は、仮想的に全ての指部22が部品と接触した時点で、例えば、非特許文献:原田、辻、宇都、山野辺、永田、”ソフトフィンガ型把持の安定性解析”、計測自動制御学会システムインテグレーション部門講演会予稿集、2013に開示された手法で把持安定性をチェックする。制御装置4は、各把持位置姿勢のチェックを行って、把持安定性の条件を満たさないと判断した把持位置姿勢を対象外とする。
制御装置4は、上述の離散化した点に対して<フェーズ5>及び<フェーズ6>を繰り返すことで、各部品に対して把持位置姿勢のデータベースを構築することができる。なお、把持位置姿勢のデータベースにおける各データは、部品の座標系からみたロボットアーム2の手首関節の位置データ、部品の座標系からみたロボットアーム2の手首関節の姿勢行列データ、及びハンド21の指部22の関節の関節角度ベクトルデータを含む。
制御装置4は、上述の<フェーズ1>〜<フェーズ6>を部品とハンド21との全てのペアに対して行って、部品とハンド21との全てのペアに対して当該ハンド21の把持位置姿勢のデータベースを構築し、当該データベースをメモリ4bに格納する。なお、ハンド21の把持位置姿勢のデータベースは、予めメモリ4bに格納されていてもよい。
(3)部品の位置姿勢の計測
把持対象物である箱内の部品の位置及び姿勢(以下、位置姿勢)の計測を行う。
搬送ロボット1が動作を開始し、制御装置4は、モータを制御して上記構築したデータベースの把持位置姿勢に含まれるロボットアーム2の位置に移動台車3を移動させる。そして、検出部5は、その位置で、視覚センサ51を用いて、部品の位置姿勢を計測する。
なお、箱中には複数の部品が入っているが、このうちの1つの部品の位置姿勢を計測するものとする。検出部5は、例えば、PCL(Point Cloud Library)のアルゴリズムを用いて部品の位置姿勢を取得する。なお、PCLのアルゴリズムは、例えば、非特許文献:A.Aldoma,F.Tombari,R.B.Rusu,and M.Vincze,”OUR-CVFH-Oriented, Unique and Repeatable Clustered Viewpoint Feature Histogram for Object Recognition and 6DOF Pose Estimation”,A.Pinz et al.(Eds.):DAGM/OAGM 2012, LNCS,pp.113-122,2012に詳細に記載されておりこれを援用できるものとする。
検出部5は、視覚センサ51を用いて、箱中の部品のポイントクラウド(3次元点群データ)を検出する。検出部5は、PCLのアルゴリズを用いて、検出したポイントクラウドに対して部品の幾何モデルをマッチングさせることで、ポイントクラウドの中から部品の位置姿勢を検出する。なお、箱内の部品の位置姿勢は、予めメモリ4bに記憶されていてもよい。
(4)把持動作(ピッキング動作)
制御装置4は、実際にロボットアーム2を動作させ、そのときのロボットアーム2の把持動作軌道を、下記のように生成する。
上記の如く、視覚センサ51は、箱に入っている部品の位置姿勢を計測する。このとき、絶対座標系から見た部品の位置を示す3次元位置ベクトルをPoとし、部品の位置姿勢を示す3×3の回転行列をRoとし、認識された部品のうち第i把持対象物を夫々Po、Roと定義する。
なお、上述の如く、部品毎のハンド21の把持位置姿勢のデータベースがメモリ4bに格納されている。認識された部品のうち、第i把持対象物の、第j番目の把持位置姿勢データに含まれる対象物座標系から見た手首関節の位置をoPwij、姿勢を表す行列をoRwijとする。このとき、絶対座標系から見た手首関節の目標位置姿勢は以下の式により定義できる。
Pwij=Po+Ro*oPwij
Rwij=Ro*oRwij
制御装置4は、上記式に示す手首関節の位置姿勢に対して逆運動学演算を行うことにより、ロボットアーム2の把持姿勢における目標関節角度を算出する。制御装置4は、上述した逆運動学演算を、ハンド21の把持位置姿勢のデータベースの各部品に対して順次行い、各部品に対する目標関節角度を算出する。
制御装置4は、算出した各部品に対する目標関節角度に基づいて、各部品に対する初期姿勢から把持位置姿勢、さらに把持位置姿勢から各部品を通箱に置く姿勢までのハンド21が障害物を回避しながら移動する把持動作軌道を生成する。なお、この軌道の生成方法は、例えば、非特許文献:G. Sanchez and J.-C. Latombe,”A Single-Query Bi-Directional Probabilistic Roadmap Planner with Lazy Collision Checking”, Robotics Research, Springer Tracts in Advanced Robotics, vol.6,pp.403-417,2003に詳細に開示されており、これにを援用できる。
図6は、学習フェーズにおける、上記把持動作軌道の生成方法のフローを示すフローチャートである。
制御装置4は、検出部5から、把持対象の部品の位置Po、及び姿勢Roを取得する(ステップS101)。
制御装置4は、部品のポイントクラウドをセグメント化し、各セグメントのバウンディングボックスを計算する。制御装置4は、計算したバウンディングボックスの形状が把持対象の部品のバウンディングボックスの形状に近いものに対し部品の位置姿勢を当てはめる。
制御装置4は、パラメータi=1、j=1、k=1と設定し初期化を行う(ステップS102)。
制御装置4は、検出部5により検出された部品の位置姿勢に対して、把持位置姿勢のデータベースを用いることで、把持対象の部品の目標位置姿勢の候補Pwij、Rwijを算出する(ステップS103)。
制御装置4は、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有するか否かを判定する(ステップS104)。
制御装置4は、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有すると判定すると(ステップS104のYES)、その目標把持位置姿勢の候補において、ロボットアーム2が障害物に干渉していないか否かを判定する(ステップS105)。一方、制御装置4は、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有しないと判定すると(ステップS104のNO)、後述の(ステップS110)の処理に移行する。
制御装置4は、その目標位置姿勢の候補において、ロボットアーム2が障害物に干渉していないと判定すると(ステップS105のYES)、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できるか否かを判定する(ステップS106)。一方、制御装置4は、その目標位置姿勢の候補において、ロボットアーム2が障害物に干渉していると判定すると(ステップS105のNO)、後述の(ステップS110)の処理に移行する。
制御装置4は、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できると判定すると(ステップS106のYES)、第k把持動作軌道としてメモリ4bに記憶し(ステップS107)、後述の(ステップS110)の処理に移行する。一方、制御装置4は、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できないと判定すると(ステップS106のNO)、後述の(ステップS110)の処理に移行する。
制御装置4は、全把持対象、全把持位置姿勢の判定が完了したか(i、jが最大値か)否かを判定する(ステップS108)。
制御装置は、全把持対象、全把持位置姿勢の判定が完了したと判定すると(ステップS 108のYES)、本処理を終了する。一方、制御装置は、全把持対象、全把持位置姿勢の判定が完了していないと判定すると(ステップS108のNO)、kをインクリメントし(k=k+1(但し、第i把持対象物のデータベースの数を超えると、i=i+1、j=1とする))(ステップS109)、後述の(ステップS110)の処理に移行する。
制御装置は、パラメータjをインクリメントし(但し、第i把持対象物のデータベースの数を超えると、i=i+1、j=1とする)(ステップS110)、上記(ステップS 103)処理に戻る。
制御装置4は、上記生成した把持動作軌道を用いて、下記(5)で識別器を生成する。
(5)識別器の生成
上記説明した通りであり、説明が重複するので省略する。
<<実行フェーズ>>
(1)部品の位置姿勢の計測
上記学習フェーズの部品の位置姿勢の計測と同一であるため、説明を省略する。
(2)把持動作(ピッキング動作)
図7は、実行フェーズにおける把持動作軌道の生成方法のフローを示すフローチャートである。
制御装置4は、検出部5から把持対象の部品の位置Po、及び姿勢Roを取得する(ステップS201)。
制御装置4は、部品のポイントクラウドをセグメント化し、各セグメントのバウンディングボックスを計算する。制御装置4は、計算したバウンディングボックスの形状が把持対象の部品のバウンディングボックスの形状に近いものに対し部品の位置姿勢を当てはめる。
制御装置4は、パラメータi=1、j=1、k=1と設定し初期化を行う(ステップS202)。
制御装置4は、検出部5により検出された部品の位置姿勢に対して、把持位置姿勢のデータベースを用いることで、把持対象の部品の目標位置姿勢の候補Pwij、Rwijを算出する(ステップS203)。
制御装置4は、目標位置姿勢の候補Pwij、Rwijに対して識別器を用いて把持可能か否かを判定する(ステップS204)。
制御装置4は、目標位置姿勢の候補Pwij、Rwijに対して識別器を用いて把持可能と判定したとき(ステップS204のYES)、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有するか否かを判定する(ステップS205)。一方、制御装置4は、目標位置姿勢の候補Pwij、Rwijに対して識別器を用いて把持可能でない判定したとき(ステップS204のNO)、後述の(ステップS211)の処理に移行する。
制御装置4は、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有すると判定すると(ステップS205のYSE)、その目標把持位置姿勢の候補において、ロボットアーム2が障害物に干渉していないか否かを判定する(ステップS206)。一方、制御装置4は、算出した把持対象の部品の目標位置姿勢の候補Pwij、Rwijの逆運動学問題が解を有しないと判定すると(ステップS205のNO)、後述の(ステップS211)の処理に移行する。
制御装置4は、その目標位置姿勢の候補において、ロボットアーム2が障害物に干渉していないと判定すると(ステップS206のYES)、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できるか否かを判定する(ステップS207)。一方、制御装置4は、その目標位置姿勢の候補において、ロボットアーム2が障害物に干渉していると判定すると(ステップS206のNO)、後述の(ステップS211)の処理に移行する。
制御装置4は、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できると判定すると(ステップS207のYES)、第k把持動作軌道としてメモリ4bに記憶し(ステップS208)、後述の(ステップS211)の処理に移行する。一方、制御装置4は、各部品に対する初期姿勢から把持位置姿勢、および把持位置姿勢から各部品を通箱に置く姿勢までの軌道を生成できないと判定すると(ステップS207のNO)、後述の(ステップS211)の処理に移行する。
制御装置4は、全把持対象、全把持位置姿勢の判定が完了したか(i、jが最大値か)否かを判定する(ステップS209)。
制御装置4は、全把持対象、全把持位置姿勢の判定が完了したと判定すると(ステップS209のYES)、後述の(ステップS211)の処理に移行する。一方、制御装置4は、全把持対象、全把持位置姿勢の判定が完了していないと判定すると(ステップS209のNO)、kをインクリメントし(k=k+1(但し、第i把持対象物のデータベースの数を超えると、i=i+1、j=1とする))(ステップS210)、後述の(ステップS211)の処理に移行する。
制御装置4は、パラメータjをインクリメントし(但し、第i把持対象物のデータベースの数を超えると、i=i+1、j=1とする)(ステップS211)、上記(ステップS 203)処理に戻る。
制御装置4は、複数の把持動作軌道が得られた場合に、各把持動作軌道の評価指標Iを算出する。上述の如く、ハンド21の把持動作軌道と障害物との強干渉する点を少なくすると、ハンド21による部品把持の成功率が高まると仮定する。すなわち、h(p)、d(p)及びnの全ての値が小さい方が把持成功率が高いと仮定する。
制御装置4は、下記式を用いて、把持動作軌道の評価指標Iを算出する。下記式において、α、β、γは正値をとる重み係数であり、Iは与えられた把持位置姿勢に対する把持安定性の指標値である。なお、この把持安定性の指標値Iは、例えば、非特許文献:原田、辻、宇都、山野辺、永田、“ソフトフィンガ型把持の安定性解析”、計測自動制御学会システムインテグレーション部門講演会予稿集、2013.に開示されており、これを援用できるものとする。
Figure 0006572687
制御装置4は、得られた複数の把持動作軌道のうち、評価指標Iが最小となる把持動作軌道を選択する(ステップS212)。上述の如く、把持動作軌道のハンド通過領域内に障害物が存在する場合に、ハンド21が障害物に衝突、あるいは僅かに掠る程度の接触など様々な状況が存在する。したがって、複数の把持動作軌道が得られた場合に、最終的に、障害物が把持動作軌道にどれ位干渉するかを示す評価指標が最小(干渉が最小)の把持動作軌道を選択することで、把持成功率をさらに高めることができる。
以上、本実施形態に係る把持可否判定方法おいて、ハンド通過領域内に含まれる3次元点群データと、ハンド21による把持対象物の把持の成否と、を対応付けた複数のサンプルデータを取得し、距離h(p)、距離d(p)及びnの値が小さい方が把持成功率が高いと仮定し、サンプルデータおよび距離h(p)およびd(p)に基づいて算出した特徴ベクトルから、把持対象物の把持可否を判定するための識別器を生成し、生成した識別器を用いてハンドによる把持対象物の把持可否を判定する。
これにより、ハンド通過領域Sに障害物が存在する場合でも、直ちに、その部品を把持不可能と判断するのではなく、識別器を用いて把持可否の判定を行う。このため、把持可能な部品数を増加させることができる。この把持可否の判定を行う際に、ハンド21と障害物との強干渉点が少なく、把持成功率が高いハンド21の把持パターンを学習した識別器を用いることで、把持成功率は高めることができる。すなわち、把持可能な部品数を増加させつつ、把持成功率は高めることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
また、本発明は、例えば、図6及び図7に示す処理を、CPU4aにコンピュータプログラムを実行させることにより実現することも可能である。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 搬送ロボット、2 ロボットアーム、3 移動台車、4 制御装置、5 検出部、21 ハンド、22 指部、51 視覚センサ

Claims (3)

  1. バラ積みされた複数の把持対象物をロボットアームのハンドによって把持する際に、前記ハンドが前記把持対象物を把持可能か否かを判定する把持可否判定方法であって、
    前記把持対象物から所定距離離れたアプローチ点から該把持対象物を前記ハンドにより把持する把持点まで前記ハンドを移動させ、該把持点で前記把持対象物を前記ハンドにより把持するまでに、前記ハンドが通過する領域をハンド通過領域とし、該ハンド通過領域内に含まれる3次元点群データと、前記ハンドによる前記把持対象物の把持の成否と、を対応付けた複数のサンプルデータを取得するステップと、
    前記ハンド通過領域内に含まる3次元点群のi番目の点をp(i=1、2、・・・n)とし、前記点pをアプローチ方向に伸ばした直線が前記ハンド通過領域の境界と交わる点の内、前記点pから最も遠い点との距離をh(p)とし、前記点pから前記ハンドの把持方向に伸ばした直線が前記ハンド通過領域の境界と交わる点の内、前記点pから最も近い点との距離をd(p)とし、前記h(p)、d(p)及びnの値が小さい方が把持成功率が高いと仮定し、前記サンプルデータと前記距離h(p)及びd(p)とに基づき算出した特徴ベクトルから、前記把持対象物の把持可否を判定するための識別器を生成するステップと、
    前記生成した識別器を用いて前記ハンドによる前記把持対象物の把持可否を判定するステップと、
    を含む、ことを特徴とする把持可否判定方法。
  2. 請求項1記載の把持可否判定方法であって、
    前記識別器はランダムフォレストで構成されており、
    前記特徴ベクトルは、下記式を用いて算出する、ことを特徴とする把持可否判定方法。
    前記特徴ベクトル=(min((h(pi)/binwidth),bin_h),
    min((d(pi)/binwidth),bin_d))
    但し、上記式、binwidthはbin幅であり、bin_h及びbin_dは各軸のbin上限値である。
  3. 請求項1記載の把持可否判定方法であって、
    前記識別器は、線形SVM(support vector machine)で構成されており、
    前記特徴ベクトルfは、下記式を用いて算出する、ことを特徴とする把持可否判定方法。
    Figure 0006572687
JP2015172824A 2015-09-02 2015-09-02 把持可否判定方法 Expired - Fee Related JP6572687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015172824A JP6572687B2 (ja) 2015-09-02 2015-09-02 把持可否判定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015172824A JP6572687B2 (ja) 2015-09-02 2015-09-02 把持可否判定方法

Publications (2)

Publication Number Publication Date
JP2017047505A JP2017047505A (ja) 2017-03-09
JP6572687B2 true JP6572687B2 (ja) 2019-09-11

Family

ID=58278493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015172824A Expired - Fee Related JP6572687B2 (ja) 2015-09-02 2015-09-02 把持可否判定方法

Country Status (1)

Country Link
JP (1) JP6572687B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983524B2 (ja) * 2017-03-24 2021-12-17 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP6695843B2 (ja) 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
WO2019098074A1 (ja) * 2017-11-16 2019-05-23 倉敷紡績株式会社 線状物把持方法および制御装置
SG11202011865WA (en) * 2018-06-26 2021-01-28 Teradyne Inc System and method for robotic bin picking
JP7275759B2 (ja) * 2019-03-28 2023-05-18 セイコーエプソン株式会社 物体検出方法、物体検出装置およびロボットシステム
WO2022162769A1 (ja) * 2021-01-27 2022-08-04 川崎重工業株式会社 ロボットシステム、移動経路生成装置および移動経路生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5430796B2 (ja) * 2011-04-14 2014-03-05 三菱電機株式会社 ロボット制御装置
JP2014161965A (ja) * 2013-02-26 2014-09-08 Toyota Industries Corp 物品取り出し装置

Also Published As

Publication number Publication date
JP2017047505A (ja) 2017-03-09

Similar Documents

Publication Publication Date Title
JP6572687B2 (ja) 把持可否判定方法
Xu et al. Compare contact model-based control and contact model-free learning: A survey of robotic peg-in-hole assembly strategies
JP7116901B2 (ja) ロボット制御装置、ロボット制御方法及びロボット制御プログラム
US11945114B2 (en) Method and system for grasping an object
CN111684474B (zh) 运算装置、运算方法及记录介质
JP5724919B2 (ja) 軌道生成装置、移動体、軌道生成方法及びプログラム
US9149932B2 (en) Robot picking system, control device, and method of manufacturing a workpiece
WO2012035707A1 (ja) 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
CN104238562A (zh) 用于经由可穿戴传感器控制机器人装置的方法和设备
CN114147708B (zh) 基于改进的天牛须搜索算法的机械臂避障路径规划方法
Vonásek et al. RRT-path–a guided rapidly exploring random tree
JP2016110576A (ja) 自己位置推定装置及び自己位置推定装置を備えた移動体
JP7275759B2 (ja) 物体検出方法、物体検出装置およびロボットシステム
Farag et al. Real-time robotic grasping and localization using deep learning-based object detection technique
Harada et al. Initial experiments on learning-based randomized bin-picking allowing finger contact with neighboring objects
Mishani et al. Real-time non-visual shape estimation and robotic dual-arm manipulation control of an elastic wire
Militaru et al. Object handling in cluttered indoor environment with a mobile manipulator
US10933526B2 (en) Method and robotic system for manipulating instruments
JP5983506B2 (ja) 把持対象物の把持パターン検出方法およびロボット
Hyttinen et al. Estimating tactile data for adaptive grasping of novel objects
Meng et al. Spring-IMU fusion-based proprioception for feedback control of soft manipulators
JP7034971B2 (ja) 作動システム、制御装置、およびプログラム
JP6641804B2 (ja) 搬送車の移動経路設定方法
Kim et al. Improvement of Door Recognition Algorithm using Lidar and RGB-D camera for Mobile Manipulator
CN114080304A (zh) 控制装置、控制方法及控制程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190729

R151 Written notification of patent or utility model registration

Ref document number: 6572687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees