(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】把持情報生成装置、方法、及びプログラム
(51)【国際特許分類】
B25J 9/22 20060101AFI20241112BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2021098120
(22)【出願日】2021-06-11
【審査請求日】2024-03-18
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】紡望 創真
(72)【発明者】
【氏名】高西 完治
(72)【発明者】
【氏名】長谷川 友紀
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開2013-111696(JP,A)
【文献】特開2016-93879(JP,A)
【文献】特開2021-079464(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得する取得部と、
前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出する抽出部と、
前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する生成部と、
を含む把持情報生成装置。
【請求項2】
前記対象物情報は、多角形の平面を複数結合したメッシュ構造の情報である請求項1に記載の把持情報生成装置。
【請求項3】
前記抽出部は、前記2つの点の各々が属する前記平面同士のなす角度、前記把持部の開度、及び前記把持部により前記対象物を把持した際の安定性の各々を表す指標が、それぞれ設定された値の範囲内であることを前記条件として、前記把持点を抽出する請求項2に記載の把持情報生成装置。
【請求項4】
前記取得部により取得された前記対象物情報に対して、前記平面の数を削減する簡略化処理、ノイズを除去する平滑化処理、前記平面のサイズのばらつきを閾値以下とする最適化処理、及び単一の回転軸を有する平面の集合を検出する対称性検出処理の少なくとも1つの事前処理を実行する事前処理部を含み、
前記抽出部は、前記事前処理部による事前処理後の前記対象物情報に基づいて、前記把持点を抽出する
請求項2又は請求項3に記載の把持情報生成装置。
【請求項5】
前記事前処理部は、前記取得部により取得された前記対象物情報における前記平面の数、ノイズの有無、及び前記平面のサイズのばらつきを評価し、評価結果に基づいて、前記事前処理を実行する請求項4に記載の把持情報生成装置。
【請求項6】
前記抽出部は、前記ペアのうち、類似するペアの一方を除去したうえで、前記クラスタリングを行う請求項1~請求項5のいずれか1項に記載の把持情報生成装置。
【請求項7】
前記抽出部は、前記クラスタの中心に最も近いペアを、前記クラスタの代表となるペアとして抽出する請求項1~請求項6のいずれか1項に記載の把持情報生成装置。
【請求項8】
前記生成部は、前記把持部により前記対象物を前記把持点で把持した状態で、前記把持点を通る直線を軸として前記対象物に対して前記把持部を相対的に所定角度ずつ回転させた各状態における前記対象物及び前記把持部の位置及び姿勢に基づいて、前記把持情報を生成する請求項1~請求項7のいずれか1項に記載の把持情報生成装置。
【請求項9】
前記生成部は、前記対象物と前記把持部とが干渉する前記把持情報を除去する請求項1~請求項8のいずれか1項に記載の把持情報生成装置。
【請求項10】
前記生成部は、前記把持情報の各々に、把持状態の安定性を示す指標を付与する請求項1~請求項9のいずれか1項に記載の把持情報生成装置。
【請求項11】
取得部が、把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得し、
抽出部が、前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出し、
生成部が、前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する
把持情報生成方法。
【請求項12】
コンピュータを、
把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得する取得部、
前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出する抽出部、及び
前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する生成部
として機能させるための把持情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持情報生成装置、把持情報生成方法、及び把持情報生成プログラムに関する。
【背景技術】
【0002】
ロボットハンドによるワークのピックアンドスロー、ピックアンドプレース、ピックアンドアセンブリ等のロボット操作を成功させるためには、ロボットハンドにより適切にワークを把持することが必要である。このようなロボットハンドによるワークの把持の動作情報を生成するために、ロボットハンドとワークとの相対的な位置関係である把持情報を予め用意しておくことが行われている。
【0003】
把持情報の生成に関する技術として、例えば、グリッパーや吸盤等の産業用エンドエフェクターについて、対象物のコンピュータ支援設計(CAD)モデルを用いて把持情報を生成する技術が提案されている(非特許文献1参照)。この技術は、対象物のモデルであるメッシュモデルを重ね合わせた平面に分離することにより、メッシュモデルを前処理する。そして、この技術は、分離した平面を使用して、一般的な産業用エンドエフェクターの接点を特定し、把握姿勢を合成する。
【先行技術文献】
【非特許文献】
【0004】
【文献】Weiwei Wan, Kensuke Harada, Fumio Kanehiro, "Planning Grasps with Suction Cups and Parallel Grippers Using Superimposed Segmentation of Object Meshes", IEEE Transactions on Robotics, Volume 37, Issue 1, 2021.02.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の技術は、パラメトリックベースの分析アプローチを採用しているため、一貫性の欠如という課題が存在する。すなわち、非特許文献1に記載の技術では、多くのパラメータを調整する必要がある。そのため、最終的に生成される把持情報は、これらのパラメータとして選択された値に大きく依存し、パラメータの選択が、生成される把持情報の品質に影響を与える。また、多くのパラメータを調整する場合、パラメータの調整方法に関する専門知識が必要であり、そのような専門知識のないユーザにとって、信頼できる一貫性のある把握情報を生成することは困難である。さらに、非特許文献1に記載の技術では、上記のような多くのパラメータの調整、メッシュモデルを生成するためのメッシュセグメンテーション等の計算量が膨大であること、非干渉な把持情報を生成するための衝突検出を2回行っていること等のために、把持情報の生成に要する計算時間が長くなるという課題もある。また、非特許文献1に記載の技術では、パラメトリックベースの分析アプローチであることから、実用的ではない把持姿勢についての把持情報等、冗長な把持情報も生成される場合がある。さらに、非特許文献1に記載の技術では、対象物を外側から挟み込んで把持する外部把持のみが考慮されており、例えばリング状の対象物の内側から押し広げるように把持する内部把持には適用することができない。
【0006】
本発明は、上記の点に鑑みてなされたものであり、計算時間を抑制しつつ、一貫性のある把持情報を生成することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明に係る把持情報生成装置は、把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得する取得部と、前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出する抽出部と、前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する生成部と、を含んで構成される。
【0008】
また、前記対象物情報は、多角形の平面を複数結合したメッシュ構造の情報としてもよい。
【0009】
また、前記抽出部は、前記2つの点の各々が属する前記平面同士のなす角度、前記把持部の開度、及び前記把持部により前記対象物を把持した際の安定性の各々を表す指標が、それぞれ設定された値の範囲内であることを前記条件として、前記把持点を抽出してもよい。
【0010】
また、前記取得部により取得された前記対象物情報に対して、前記平面の数を削減する簡略化処理、ノイズを除去する平滑化処理、前記平面のサイズのばらつきを閾値以下とする最適化処理、及び単一の回転軸を有する平面の集合を検出する対称性検出処理の少なくとも1つの事前処理を実行する事前処理部を含み、前記抽出部は、前記事前処理部による事前処理後の前記対象物情報に基づいて、前記把持点を抽出してもよい。
【0011】
また、前記事前処理部は、前記取得部により取得された前記対象物情報における前記平面の数、ノイズの有無、及び前記平面のサイズのばらつきを評価し、評価結果に基づいて、前記事前処理を実行してもよい。
【0012】
また、前記抽出部は、前記ペアのうち、類似するペアの一方を除去したうえで、前記クラスタリングを行ってもよい。
【0013】
また、前記抽出部は、前記クラスタの中心に最も近いペアを、前記クラスタの代表となるペアとして抽出してもよい。
【0014】
また、前記生成部は、前記把持部により前記対象物を前記把持点で把持した状態で、前記把持点を通る直線を軸として前記対象物に対して前記把持部を相対的に所定角度ずつ回転させた各状態における前記対象物及び前記把持部の位置及び姿勢に基づいて、前記把持情報を生成してもよい。
【0015】
また、前記生成部は、前記対象物と前記把持部とが干渉する前記把持情報を除去してもよい。
【0016】
また、前記生成部は、前記把持情報の各々に、把持状態の安定性を示す指標を付与してもよい。
【0017】
また、本発明に係る把持情報生成方法は、取得部が、把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得し、抽出部が、前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出し、生成部が、前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する方法である。
【0018】
また、本発明に係る把持情報生成プログラムは、コンピュータを、把持部により把持される対象物の三次元形状を示す対象物情報と、前記把持部の形状に関する把持部情報とを取得する取得部、前記対象物上の2つの点のペアであって、前記取得部により取得された前記対象物情報及び前記把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出する抽出部、及び前記抽出部により抽出された把持点に基づいて、前記対象物を前記把持部により把持する場合における前記対象物と前記把持部との相対位置関係を示す把持情報を生成する生成部として機能させるためのプログラムである。
【発明の効果】
【0019】
本発明に係る把持情報生成装置、方法、及びプログラムによれば、計算時間を抑制しつつ、一貫性のある把持情報を生成することができる。
【図面の簡単な説明】
【0020】
【
図3】把持情報生成装置のハードウェア構成を示すブロック図である。
【
図4】把持情報生成装置の機能構成の例を示すブロック図である。
【
図5】簡略化処理が実行された対象物情報の一例を示す図である。
【
図6】平滑化処理が実行された対象物情報の一例を示す図である。
【
図7】最適化処理が実行された対象物情報の一例を示す図である。
【
図8】2平面の法線ベクトルのなす角θを説明するための図である。
【
図9】2平面の法線ベクトルのなす角θを説明するための図である。
【
図10】N
distance及びH
distanceの算出を説明するための図である。
【
図11】把持時の安定性に関する条件を説明するための図である。
【
図12】各条件に関する指標の算出を説明するための図である。
【
図13】各条件に関する指標の算出を説明するための図である。
【
図14】条件に基づくペアの抽出を説明するための図である。
【
図15】類似するペアの除去を説明するための図である。
【
図16】ペアに基づく把持点を説明するための図である。
【
図17】ペアのクラスタリングを説明するための図である。
【
図18】把持点を軸に回転させた各状態のアレイの一例を示す図である。
【
図19】干渉する状態の除去を説明するための図である。
【
図20】把持情報のランキングを説明するための図である。
【
図21】把持情報生成処理の流れを示すフローチャートである。
【
図22】3本指のロボットハンドの適用例を説明するための図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0022】
本実施形態に係る把持情報生成装置は、把持部と、把持部により把持される対象物との相対位置関係の複数の候補を示す情報である把持情報を生成する。
図1を参照して、把持部がロボットハンドであり、対象物がワークの場合を例に、把持情報について説明する。なお、本実施形態では、把持部が、
図1に示すように、ロボットアームの先端に取り付けられた、対向する平行な2本の指を有するロボットハンドである場合を例に説明する。
【0023】
把持情報は、例えば
図1に示すように、ロボットハンドでワークを把持した際の、ロボットハンドの基準位置のワークに対する相対座標(x,y,z)及び相対姿勢(roll,pitch,yaw)(以下、「把持姿勢」という)の情報である。把持情報は、複数の把持姿勢についての把持情報がリスト化されたものである。
図1の例では、3つの把持姿勢(把持姿勢1、2、3)を示しているが、リストにはより多くの把持姿勢(例えば数百パターン)の把持情報が含まれる。なお、
図1では、ワーク(対象物)をロボットハンド(把持部)で外側から挟み込んで把持する外部把持の例を示している。本実施形態では、
図2に示すように、例えばリング状のワークの内側にロボットハンドを挿入し、ロボットハンドを内側から押し広げるようにしてワークを把持する内部把持も対象とする。
【0024】
図3は、本実施形態に係る把持情報生成装置10として機能するコンピュータのハードウェア構成を示すブロック図である。
図3に示すように、把持情報生成装置10は、CPU(Central Processing Unit)12、メモリ14、記憶装置16、入力装置18、出力装置20、記憶媒体読取装置22、及び通信I/F(Interface)24を有する。各構成は、バス26を介して相互に通信可能に接続されている。
【0025】
記憶装置16には、後述する把持情報生成処理を実行するための把持情報生成プログラムが格納されている。CPU12は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU12は、記憶装置16からプログラムを読み出し、メモリ14を作業領域としてプログラムを実行する。CPU12は、記憶装置16に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0026】
メモリ14は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置16は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0027】
入力装置18は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置20は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置20として、タッチパネルディスプレイを採用することにより、入力装置18として機能させてもよい。
【0028】
記憶媒体読取装置22は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。通信I/F24は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0029】
次に、本実施形態に係る把持情報生成装置10の機能構成について説明する。
図4は、把持情報生成装置10の機能構成の例を示すブロック図である。
図4に示すように、把持情報生成装置10は、機能構成として、取得部30と、事前処理部40と、抽出部50と、生成部60とを含む。各機能構成は、CPU12が記憶装置16に記憶された把持情報生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。
【0030】
取得部30は、把持部により把持される対象物の三次元形状を示す対象物情報と、把持部の形状に関する把持部情報とを取得する。対象物情報は、多角形(例えば、三角形)の平面を複数結合したメッシュ構造の情報である。対象物情報は、例えば、対象物のローカル座標系における各平面の頂点及び中心の各々の座標情報を含む。把持部情報は、把持部の形状、可動範囲等の情報を含む。取得部30は、取得した対象物情報を事前処理部40へ受け渡し、把持部情報を抽出部50へ受け渡す。
【0031】
事前処理部40は、取得部30から受け渡された対象物情報に対して事前処理を実行する。より詳細には、事前処理部40は、評価部41と、簡略化部42と、平滑化部43と、最適化部44と、対称性検出部45とを含む。
【0032】
評価部41は、対象物情報を構成する平面の数、対象物情報におけるノイズの有無、及び対象物情報を構成する平面のサイズのばらつきを評価する。例えば、把持情報生成装置10に入力される対象物情報が、三次元プリンタ等を用いた対象物の製造目的に用意された情報である場合など、把持情報の生成のために必要な程度を超えた詳細な情報である場合がある。このような場合、対象物情報であるメッシュ構造の情報も詳細なものとなっており、対象物情報を構成する平面の数が膨大である場合がある。このように、対象物情報を構成する平面の数が、把持情報の生成に必要な数以上か否かを評価するために、例えば、評価部41は、対象物のサイズに対する平面の数の割合が閾値以内か否かを評価する。
【0033】
また、例えば、評価部41は、対象物情報の生成方法に関する情報に基づいて、対象物情報におけるノイズの有無を判定する。より具体的には、評価部41は、対象物情報が、CAD(Computer-Aided Design)等のコンピュータグラフィックスにより生成された情報の場合には、対象物情報はノイズを含まないと判定してよい。また、評価部41は、対象物情報が、対象物を三次元スキャナー等の計測装置で計測した三次元点群データに基づいて生成された情報の場合には、対象物情報はノイズを含むと判定してよい。なお、三次元点群データであっても、後述する平滑化の処理が不要な程度にノイズレベルが低い場合もある。したがって、評価部41は、例えば、エントロピーベースのアプローチ又はガウスベースのアプローチ等の手法により、対象物情報のノイズレベルを評価するようにしてもよい。評価部41は、評価結果に基づいて、簡略化部42、平滑化部43、及び最適化部44の各々に事前処理を実行させる。
【0034】
簡略化部42は、評価部41により、対象物情報を構成する平面の数が必要以上であると評価された場合、対象物情報を構成する平面の数を削減する簡略化処理を実行する。具体的には、簡略化部42は、対象物情報からエッジ、すなわち平面の辺を削除した場合に、削除前後での対象物の形状の変化が閾値以内となるエッジを削除することにより、平面の数を削減する。
図5に、簡略化処理により平面数が削減された対象物情報の一例を示す。
【0035】
平滑化部43は、評価部41により、対象物情報がノイズを含むと評価された場合、又は、ノイズレベルが所定の閾値以上であると評価された場合、対象物情報からノイズを除去する平滑化処理を実行する。具体的には、平滑化部43は、ノイズ除去アプローチを採用して、ノイズにより生成されている微小な平面を隣接する平面にマージする。
図6に、平滑化処理により、対象物の外形形状の凹凸が平滑化された例を示す。
【0036】
最適化部44は、評価部41により評価された、対象物情報を構成する複数の平面の各々のサイズのばらつきを閾値以下とする最適化処理を実行する。理論的に最適化されたメッシュ構造は、固定のサイズかつ固定の形状の平面の結合により構成される。対象物情報が、このように最適化されたメッシュ構造の場合、後述する把持情報の生成において、把持部により対象物を把持するという作業全体をカバーする均等に分散された把握情報を生成することができる。そこで、最適化部44は、具体的には、複数の平面の各々のサイズのばらつきが閾値以下となるように、平面のマージ又は分割を行う。
図7に、最適化処理が実行された対象物情報の一例を示す。
【0037】
対称性検出部45は、対象物情報を構成する複数の平面について、単一の回転軸を有する平面の集合(以下、「対称面」という)を検出する対称性検出処理を実行する。単一の対称面に関連する全ての把持点(詳細は後述)に基づいて生成される把持情報は、同一の把持姿勢を表すことになる。そのため、例えば、ある把持点に基づいて生成された把持情報において、対象物と把持部とが干渉する場合や、アプローチ角度が困難な場合などには、同一の対称面の他の把持点を選択して、容易に干渉やアプローチ角度の困難性を回避することができる。したがって、対称性検出部45は、後段の処理の簡略化を目的として、対称面を検出するものである。なお、アプローチ角度の困難性とは、その把持情報が示す把持姿勢を実現するためのロボットの姿勢が、ロボットの物理的制限、すなわちロボットの関節の自由度の制限のために困難であることを表す。
【0038】
事前処理部40は、事前処理後の対象物情報を抽出部50に受け渡す。
【0039】
抽出部50は、事前処理部40による事前処理後の対象物情報に基づいて、対象物上の2つの点に関する2平面のペアであって、対象物情報及び把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアに基づく把持点を抽出する。より詳細には、抽出部50は、分析部51と、類似除去部52と、学習部53とを含む。
【0040】
分析部51は、2平面のなす角度、把持部の開度、及び把持時の安定性を表す指標が所定範囲内であることを条件として、条件を満たす2つの平面のペアを抽出する。以下、各条件について具体的に説明する。以下では、k番目の平面を「Fk」、平面Fkの中心を「ck」とする。なお、kは、k=1、2、・・・、maxであり、maxは、対象物情報を構成する平面の数である。
【0041】
まず、2平面のなす角度に関する条件について説明する。分析部51は、下記(1)式により、ciを通る平面Fiの法線ベクトルNi
→(図及び数式内では、Niの上に「→」、ベクトルの表記について以下同様)と、cjを通る平面Fjの法線ベクトルNj
→とのなす角θi,jを求める。法線ベクトルNi
→及びNj
→は、平面の内側に向かう方向及び外側に向かう方向のそれぞれを対象とする。
【0042】
【0043】
分析部51は、θ
i,jが所定の範囲内の場合に、平面F
iと平面F
jとのペアが、2平面のなす角度に関する条件を満たすと判定する。例えば、分析部51は、
図8に示すように、θ
i,jが178°~180°の場合に、平面F
iと平面F
jとのペアは、2平面のなす角度に関する条件を満たすと判定する。なお、
図8の左図は、内部把持が可能な2平面を表しており、右図は、外部把持が可能な2平面を表している。
図9に示すように、θ
i,jが0°に近い場合や、178°より小さい場合には、把持部による把持が不可能であり、分析部51は、その平面F
iと平面F
jとのペアについて、2平面のなす角度に関する条件を満たさないと判定する。なお、上記の178°というθ
i,jの角度は一例であり、この角度は、把持部の物理的特性に依存する値である。
【0044】
次に、把持部の開度に関する条件について説明する。分析部51は、
図10及び下記(2)式に示すように、平面F
iの中心c
iから平面F
jの中心c
jに向かうベクトルD
ij
→を求める。また、分析部51は、c
iから平面F
jに向かうベクトルであって、平面F
iの法線ベクトルN
i
→と平行なベクトルN
ij
→を求める。ベクトルN
ij
→と平面F
jとの交点、すなわち平面F
jに対するc
iの垂直投影点をc
i
*とする。分析部51は、(3)式に示すN
ij
→の大きさを、点c
iとc
i
*との距離N
distanceとして算出する。以下では、平面F
iと平面F
jとのN
distanceを「N
i,j」と表記する。なお、
図8右図又は
図10に示すような外部把持の場合、N
i,j<0であり、
図8左図に示すような内部把持の場合、N
i,j>0である。
【0045】
【0046】
分析部51は、Ni,jの大きさが、把持部の開度の範囲内の場合、平面Fiと平面Fjとのペアついて、把持部の開度に関する条件を満たすと判定する。なお、把持部の開度とは、本実施形態では、ロボットハンドである2本の指の開き幅である。把持部の開度の最大値Grippermaxが例えば50mmの場合、分析部51は、下記(4)式を、把持部の開度に関する条件とする。
1<|Ni,j|<Grippermax=50mm (4)
なお、上記(4)式では、一例として、Grippermax=50mmとしているが、Grippermaxの値は、把持部の物理的特性に依存する値である。
【0047】
次に、把持時の安定性に関する条件について説明する。分析部51は、
図10及び下記(5)式に示すように、c
jとc
i
*との距離H
distanceを、把持時の安定性を表す指標として算出する。H
distanceが大きいほど、2本指のロボットハンドで対象物を把持した場合に、モーメンタムが生じる度合いが大きくなる。したがって、H
distanceにより、把持時の安定性を表すことができる。
【0048】
【0049】
例えば、2平面がなす角が180°までの範囲を、安定して把持可能な範囲とする場合、この角度に応じたHdistanceの閾値Hmaxを定めておく。閾値Hmaxが例えば3mmの場合、分析部51は、下記(6)式を、把持時の安定性に関する条件とする。なお、以下では、平面Fiと平面FjとのHdistanceを「Hi,j」と表記する。
0≦Hi,j<Hmax=3mm (6)
なお、上記(6)式では、一例として、Hmax=3mmとしているが、Hmaxの値は、把持部の物理的特性に依存する値である。
【0050】
また、分析部51は、上記(6)式の条件を満たさない場合でも、点c
i
*が平面F
jに含まれる場合には、把持時の安定性の条件を満たすと判定してよい。分析部51は、点c
i
*が平面F
jに含まれるか否かを、例えば、
図11に示すように、c
i
*と、F
jの頂点の各々とを結んだ線により形成される3つの三角形の面積の和(S
1+S
2+S
3)が、F
jの面積と等しいか否かにより判定してよい。
【0051】
分析部51は、
図12及び
図13に示すように、2平面の全てのペアについて、上記のθ
i,j、N
i,j、及びH
i,jを算出し、全ての条件を満たすペア
ijを抽出する。上記各条件を満たす2平面のペアを抽出することで、
図14に示すように、2平面の全てのペアの数から削減された数のペアを抽出することができる。なお、
図14では、実線の矢印が抽出されたペア、点線の矢印が抽出されなかったペア、すなわち削除されたペアを表している。後述する
図15においても同様である。分析部51は、抽出したペアを類似除去部52に受け渡す。
【0052】
類似除去部52は、分析部51から受け渡されたペアのうち、類似するペア同士の一方を除去する。具体的には、類似除去部52は、平面F
iに関するペア
ijのうち、一意のN
distance毎にH
distanceが最小となるペアを残し、残りのペアを除去してよい。例えば、ペア
1,2及びペア
1,4について、N
1,2=N
1,4、かつH
1,2>H
1,4であるとする。この場合、
図15に示すように、類似除去部52は、ペア
1,4を残し、ペア
1,2を除去する。同様に、ペア
1,7及びペア
1,maxについて、N
1,7=N
1,max、かつH
1,7>H
1,maxであるとする。この場合、
図15に示すように、類似除去部52は、ペア
1,maxを残し、ペア
1,7を除去する。類似除去部52は、この処理を各平面F
iについて行う。類似除去部52は、除去することなく残ったペアを学習部53に受け渡す。
【0053】
学習部53は、類似除去部52から受け渡されたペアに対してクラスタリングを行う。具体的には、学習部53は、ペア
ijを示す特徴ベクトルV
ij=(x
i,y
i,z
i,x
j,y
j,z
j,N
i,j)を生成する。(x
i,y
i,z
i)は、c
iの座標、(x
j,y
j,z
j)は、c
jの座標である。学習部53は、特徴ベクトル空間上における各特徴ベクトルV
ijの位置に基づいて、ペア
ijを、MeanShift法等の手法を用いてクラスタリングする。学習部53は、各クラスタから代表点となる特徴ベクトルを選択する。例えば、学習部53は、各クラスタの中心を求め、中心に最も近い特徴ベクトルを代表点として選択してよい。学習部53は、選択した特徴ベクトルV
ijに対応するペア
ijに基づいて、把持点を抽出する。例えば、
図16に示すように、選択した特徴ベクトルV
ijに対応するペア
ijのc
i
*が平面F
j上に存在する場合、学習部53は、ペア(c
i、c
i
*)を把持点として抽出する。一方、選択した特徴ベクトルV
ikに対応するペア
ikのc
i
*が平面F
k上に存在しない場合、学習部53は、ペア(c
i、c
k)を把持点として抽出する。
【0054】
図17に、特徴ベクトルV
ijのクラスタリングの様子を概略的に示す。なお、
図17では、説明を簡単にするため、特徴ベクトル空間を2次元で表している。
図17において、各丸印が各特徴ベクトルV
ij、破線の楕円が各クラスタ、×印がクラスタの中心を表している。また、丸印のうち、網掛の丸印が、各クラスタから代表点として選択された特徴ベクトルV
ijを表している。抽出部50は、学習部53により抽出した把持点を生成部60へ受け渡す。
【0055】
生成部60は、抽出部50から受け渡された把持点に基づいて、把持情報を生成する。より詳細には、生成部60は、アレイ生成部61と、干渉除去部62と、ランキング部63とを含む。
【0056】
アレイ生成部61は、把持部により対象物を把持点で把持した状態で、把持点である2点を通る直線を軸として対象物に対して把持部を相対的に所定角度ずつ回転させた状態のアレイ(配列)を生成する。アレイは、アレイが示す各状態における対象物及び把持部の位置及び姿勢の情報を含む。
図18に、アレイの一例を示す。
図18に示すように、把持点である2点を通る直線をy軸とした場合、回転軸としては、x軸及びz軸も想定される。しかし、これらは、対称性検出部45の検出結果に基づいて、アレイ間で同一の把持姿勢となり、重複した把持情報を生成することになるため、本実施形態ではy軸を回転軸とするものである。アレイ生成部61は、生成したアレイを干渉除去部62へ受け渡す。
【0057】
干渉除去部62は、アレイ生成部61から受け渡されたアレイが示す各状態のうち、対象物と把持部とが干渉する状態をアレイから除去する。具体的には、干渉除去部62は、
図19に示すように、アレイの各状態において、対象物情報が示す対象物の形状と、把持部情報が示す把持部の形状とに重複領域が存在する状態を除去する。
図19では、点線で示す状態がアレイから除去される例を示している。干渉除去部62は、対象物と把持部とが干渉する状態を除去したアレイの各状態について、対象物及び把持部の位置及び姿勢の情報から把持情報を生成し、ランキング部63に受け渡す。
【0058】
ランキング部63は、把持情報の各々に、把持状態の安定性を示す指標を付与する。具体的には、ランキング部63は、対象物情報が示す対象物の形状と、把持部情報が示す把持部の形状と、把持情報とに基づいて、把持状態における対象物と把持部との接触面積を算出する。そして、ランキング部63は、接触面積が大きいほど安定性が高いことを示す指標を付与する。したがって、安定性が高いことを示す指標が付与されている把持情報ほど、ランキングが高いことを表す。例えば、
図20の(A)~(F)の例では、(A)~(F)の順でランキングが高い。また、
図20の(G)及び(H)の例では、(H)より(G)の方がランキング高い。この指標が付与されていることにより、把持情報を用いてロボット姿勢を算出する際に、ランキングの高い把持姿勢を選択するなど、複数の把持情報の候補から効率的に安定性の高い把持情報を選択することができる。なお、把持状態の安定性を示す指標は、上記の接触面積の例に限定されない。例えば、接触面積に替えて、又は接触面積と共に、対象物の重心と、把持状態における対象物と把持部との接触領域の重心との距離を用いてもよい。
【0059】
生成部60は、指標が付与された把持情報を出力し、把持情報DB(database)70に記憶する。
【0060】
次に、本実施形態に係る把持情報生成装置10の作用について説明する。
図21は、把持情報生成装置10のCPU12により実行される把持情報生成処理の流れを示すフローチャートである。把持情報生成処理は、本発明に係る把持情報生成方法の一例である。CPU12が記憶装置16から把持情報生成プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が把持情報生成装置10の各機能構成として機能し、
図21に示す把持情報生成処理が実行される。
【0061】
ステップS10で、取得部30が、対象物情報及び把持部情報を取得し、取得した対象物情報を事前処理部40へ受け渡し、把持部情報を抽出部50へ受け渡す。
【0062】
次に、ステップS12で、事前処理部40の評価部41が、対象物情報を評価し、評価結果に基づいて、簡略化部42、平滑化部43、及び最適化部44に事前処理を実行させる。また、対称性検出部45が対称性検出処理を実行する。事前処理部40は、事前処理後の対象物情報を抽出部50へ受け渡す。
【0063】
次に、ステップS14で、抽出部50の分析部51が、事前処理後の対象物情報を構成する平面の全ての組み合わせについて、θi,j、Ni,j、及びHi,jを算出する。
【0064】
次に、ステップS16で、分析部51が、θi,jを用いた2平面のなす角度に関する条件、Ni,jを用いた把持部の開度に関する条件、Hi,jを用いた把持時の判定性に関する条件を満たす2平面のペアijを抽出する。次に、ステップS18で、抽出部50の類似除去部52が、平面Fiに関するペアijのうち、一意のNdistance毎にHdistanceが最小となるペアを残し、残りのペアを除去することで、類似するペアを除去する。
【0065】
次に、ステップS20で、抽出部50の学習部53が、上記ステップS18の処理で残ったペアijを示す特徴ベクトルVij=(xi,yi,zi,xj,yj,zj,Ni,j)を生成する。学習部53は、特徴ベクトル空間上におけるVijの位置に基づいて、ペアijをクラスタリングする。そして、学習部53は、各クラスタの中心を求め、中心に最も近い特徴ベクトルVijを代表点として選択し、選択した特徴ベクトルVijに対応するペアijに基づいて、把持点を抽出する。
【0066】
次に、ステップS22で、生成部60のアレイ生成部61が、把持点に基づいてアレイを生成する。そして、生成部60の干渉除去部62が、アレイに含まれる各状態のうち、対象物と把持部とが干渉する状態をアレイから除去、残りのアレイの各状態について、対象物及び把持部の位置及び姿勢の情報から把持情報を生成する。さらに、生成部60のランキング部63が、把持情報の各々に、把持状態の安定性を示す指標を付与する。そして、生成部60が、指標が付与された把持情報を出力し、把持情報DB70に記憶し、把持情報生成処理は終了する。
【0067】
以上説明したように、本実施形態に係る把持情報生成装置は、把持部により把持される対象物の三次元形状を示す対象物情報と、把持部の形状に関する把持部情報を取得する。そして、把持情報生成装置は、対象物上の2つの点のペアであって、取得された対象物情報及び把持部情報に基づく条件を満たすペアをクラスタリングし、各クラスタの代表となるペアを把持点として抽出する。さらに、把持情報生成装置は、抽出された把持点に基づいて、対象物を把持部により把持する場合における対象物と把持部との相対位置関係を示す把持情報を生成する。このように、対象物上の2つの点のペアのクラスタリング、すなわちノンパラメトリックな学習手法により把持点を抽出することにより、計算時間を抑制しつつ、一貫性のある把持情報を生成することができる。
【0068】
例えば、非特許文献1に記載の技術では、8つのパラメータを調整する必要がある。一方、本実施形態に係る把持情報生成装置では、調整が必要なパラメータは、クラスタリングの際の平均シフト半径、把持時の安定性に関する条件を規定する閾値Hmax、及びアレイ生成時の回転角度の3つである。なお、平均シフト半径は、生成される把持情報の数を調整するためのパラメータである。
【0069】
また、本実施形態に係る把持情報生成装置は、2平面のペアをクラスタリングする前に、対象物情報及び把持部情報に基づく条件によるペアの絞り込みを行う。さらに、把持情報生成装置は、類似するペアを削除する。これらにより、重複する把持情報や、実用的ではない把持情報の生成を抑制することができ、かつ計算時間を抑制することができる。
【0070】
また、本実施形態に係る把持情報生成装置は、多角形の平面を複数結合したメッシュ構造の対象物情報を用い、この対象物情報に対して、簡略化処理、平滑化処理、最適化処理、対称性検出処理等の事前処理を実行する。これにより、把持情報の生成に要する時間をより削減することができる。例えば、対象物情報に含まれる平面の数が約9000面の場合において、本実施形態に係る把持情報生成装置は、非特許文献1に記載の技術に比べ、10倍の速さで把持情報を生成することができた。
【0071】
本実施形態に係る把持情報生成装置により自動で把持情報を生成することで、ピックアンドスロー、ピックアンドプレース、ピックアンドアセンブリ等のロボットの経路計画における事前設定に要する時間を短縮することができる。
【0072】
開示の技術は、CADファイルの自動把持情報登録を提供するオンラインサービス、既存の把持情報登録ソフトウェアへの追加機能、三次元シミュレーションベースの把持計画システムへの追加機能等として適用可能である。
【0073】
ロボットの把持計画の技術は、物流で利用されるロボット、病院、オフィス、レストラン等のサービスで利用されるロボット、バルクピッキングや組み立てロボット等の産業ロボットなど、幅広いロボットアプリケーションにとって重要な技術である。本実施形態のように、計算時間を抑制しつつ、一貫性のある把持情報を生成することができる技術は、上記のような様々な対象物に対応するアプリケーションにとって極めて有用である。
【0074】
なお、上記実施形態では、2本指のロボットハンドを例に説明したが、開示の技術は、3本以上の指を有するロボットハンドにも適用可能である。この場合、複数の指の各々と対象物の接触点において作用する力の中心点を、上記実施形態の一方の指が対象物に接触する点とみなせばよい。例えば、
図21に示すように、2本の指と、1本の指とが平行に対向した構成の3本指のロボットハンドの場合において、片側の2本の指の各々の力が対象物に作用する作用点をc
i1及びc
i2とし、それぞれの作用点に作用する力をP
ci1及びP
ci2とする。この場合、P
ci1とP
ci2との比率に応じた作用点の中心c
i
repにP
ci
repの力が作用するものとして扱えばよい。なお、他方側の1本の指については、1本の指の力が対象物に作用する作用点c
jに作用する力がP
cjの場合、c
jをそのまま作用点の中心c
j
repとし、c
j
repにP
cj
rep(=P
cj)の力が作用するものとして扱えばよい。
【0075】
また、本実施形態に係る把持情報生成装置は、
図1に示すような外部把持の把持情報の生成にも、
図2に示すような内部把持の把持情報の生成にも適用することができる。
【0076】
また、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した把持情報生成処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、把持情報生成処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0077】
また、上記実施形態では、把持情報生成プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0078】
10 把持情報生成装置
12 CPU
14 メモリ
16 記憶装置
18 入力装置
20 出力装置
22 記憶媒体読取装置
24 通信I/F
26 バス
30 取得部
40 事前処理部
41 評価部
42 簡略化部
43 平滑化部
44 最適化部
45 対称性検出部
50 抽出部
51 分析部
52 類似除去部
53 学習部
60 生成部
61 アレイ生成部
62 干渉除去部
63 ランキング部
70 把持情報DB