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

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

▶ 住友重機械工業株式会社の特許一覧

特許7561590情報処理装置、ピッキング装置及びプログラム
<>
  • 特許-情報処理装置、ピッキング装置及びプログラム 図1
  • 特許-情報処理装置、ピッキング装置及びプログラム 図2
  • 特許-情報処理装置、ピッキング装置及びプログラム 図3
  • 特許-情報処理装置、ピッキング装置及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】情報処理装置、ピッキング装置及びプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240927BHJP
【FI】
B25J13/08 Z
【請求項の数】 5
(21)【出願番号】P 2020198602
(22)【出願日】2020-11-30
(65)【公開番号】P2022086536
(43)【公開日】2022-06-09
【審査請求日】2023-06-12
(73)【特許権者】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】宮澤 宣嗣
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2015-71207(JP,A)
【文献】特開2012-55999(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
物体の姿勢を推定する情報処理装置であって、
前記物体の形状及び大きさを示す物体情報を記憶する記憶部と、
接触により接触点の検出情報を取得する力覚センサと、
前記力覚センサを移動させる移動制御部と、
前記力覚センサによる前記物体への複数回の接触で得られた前記検出情報と前記物体情報とに基づいて前記物体の姿勢を推定する推定部と、
を備え、
前記推定部は、前記複数回の接触が遂行される前に前記物体の姿勢について複数の候補を推定し、
前記移動制御部は、前記複数回の接触において、前記力覚センサが前記物体の異なる面に接触するように、更に、前記複数の候補に含まれる面の位置の不確かさの度合いが、前記複数の候補に含まれる他の面よりも高い面に接触するように、前記力覚センサを移動させる、
情報処理装置。
【請求項2】
前記検出情報は、前記接触点の位置及び前記接触点を含む面の法線の情報を含み、
前記移動制御部は、前記複数回の接触のうち第n回目の接触の際に、前記第n回目より前に接触された接触点を含む面の法線と交差する方向に前記力覚センサを移動させる、
請求項1記載の情報処理装置。
【請求項3】
物体の映像を取得する撮影部を備え、
前記推定部は、前記映像に基づいて前記物体に接触可能な位置を推定する、
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
請求項1から請求項のいずれか一項に記載の情報処理装置と、
前記推定部の推定結果を用いて前記物体を取り出す取出し機構と、
を備えたピッキング装置。
【請求項5】
物体の形状及び大きさを示す物体情報を記憶する記憶部を備えた情報処理装置に、
力覚センサを移動させる手段と、
前記力覚センサから接触により接触点の検出情報を取得する手段と、
前記力覚センサによる前記物体への複数回の接触で得られた前記検出情報と前記物体情報とに基づいて前記物体の姿勢を推定する手段と、
を実行させるためのプログラムであって、
前記推定する手段は、前記複数回の接触が遂行される前に前記物体の姿勢について複数の候補を推定し、
前記移動させる手段は、前記複数回の接触において、前記力覚センサが前記物体の異なる面に接触するように、更に、前記複数の候補に含まれる面の位置の不確かさの度合いが、前記複数の候補に含まれる他の面よりも高い面に接触するように、前記力覚センサを移動させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置ピッキング装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、物体の映像と、物体への接触位置の計測情報とから、物体の姿勢を認識するシステムが示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-136677号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
透明及び黒色の物体、表面が鏡面である物体、あるいは、布などで覆われている物体は、映像のみから物体の姿勢を認識することが困難である。特許文献1のシステムでは、物体への接触による計測情報を併用することで、ビニール袋や緩衝材に包まれた物体の位置の認識を可能としている。しかしながら、接触によって物体の姿勢を推定する装置において、効率的な推定を行うには、物体への接触の仕方に改善の余地がある。
【0005】
本発明は、接触により得られる検出情報を利用して効率的に物体の姿勢を推定できる情報処理装置及びピッキング装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、
物体の姿勢を推定する情報処理装置であって、
前記物体の形状及び大きさを示す物体情報を記憶する記憶部と、
接触により接触点の検出情報を取得する力覚センサと、
前記力覚センサを移動させる移動制御部と、
前記力覚センサによる前記物体への複数回の接触で得られた前記検出情報と前記物体情報とに基づいて前記物体の姿勢を推定する推定部と、
を備え、
前記推定部は、前記複数回の接触が遂行される前に前記物体の姿勢について複数の候補を推定し、
前記移動制御部は、前記複数回の接触において、前記力覚センサが前記物体の異なる面に接触するように、更に、前記複数の候補に含まれる面の位置の不確かさの度合いが、前記複数の候補に含まれる他の面よりも高い面に接触するように、前記力覚センサを移動させる。
本発明に係るプログラムは、
物体の形状及び大きさを示す物体情報を記憶する記憶部を備えた情報処理装置に、
力覚センサを移動させる手段と、
前記力覚センサから接触により接触点の検出情報を取得する手段と、
前記力覚センサによる前記物体への複数回の接触で得られた前記検出情報と前記物体情報とに基づいて前記物体の姿勢を推定する手段と、
を実行させるためのプログラムであって、
前記推定する手段は、前記複数回の接触が遂行される前に前記物体の姿勢について複数の候補を推定し、
前記移動させる手段は、前記複数回の接触において、前記力覚センサが前記物体の異なる面に接触するように、更に、前記複数の候補に含まれる面の位置の不確かさの度合いが、前記複数の候補に含まれる他の面よりも高い面に接触するように、前記力覚センサを移動させる。
【0007】
本発明に係るピッキング装置は、
上記の情報処理装置と、
前記推定部の推定結果を用いて前記物体を取り出す取出し機構と、
を備える。
【発明の効果】
【0008】
本発明によれば、接触を利用して効率的に物体の姿勢を推定できる情報処理装置ピッキング装置及びプログラムを提供できる。
【図面の簡単な説明】
【0009】
図1】本発明の実施形態に係るピッキング装置を示すブロック図である。
図2】制御部が実行するピッキング処理の手順の一例を示すフローチャートである。
図3】物体の姿勢を推定する処理の第1例を説明する第1工程(A)~第4工程(D)、(E)の説明図である。
図4】物体の姿勢を推定する処理の第2例を説明する第1工程(A)~第6工程(F)の説明図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明の実施形態に係るピッキング装置を示すブロック図である。本実施形態に係るピッキング装置1は、形状及び大きさが既知の物体の姿勢を推定し、当該物体を把持等により収容箇所から取り出す装置である。ピッキング装置1は、物体の映像を取得する撮影部21と、物体に接触することにより接触点の検出情報を取得可能な力覚センサ22と、力覚センサ22を動かす駆動装置23と、物体を把持及び搬送する取出し機構としてのロボットアーム24と、これらを制御する制御部10とを備える。ピッキング装置1は、本発明に係る情報処理装置の一例に相当する。
【0011】
撮影部21は、撮像素子及び結像レンズを有し、デジタル信号の映像を取得する。撮影部21は、物体の大まかな位置を把握できる映像を取得できればよい。その他、撮影部21は、二次元の映像に加えて映像上の各点の奥行の情報が得られるデプスセンサであってもよい。
【0012】
力覚センサ22は、接触子が任意の面に接触したときに、接触点の検出情報を取得する。検出情報には、接触点の位置の情報と、接触点から接触子に加わる反力の向きを示す情報すなわち接触点を含む面の向き(面の法線)の情報とが含まれる。力覚センサ22は、非常に小さな反力を受けた段階で停止することで、接触する物体を動かすことなく、接触点の検出情報を取得することができる。
【0013】
駆動装置23は、任意の経路で力覚センサ22(具体的にはその接触子)を動かすことが可能な三次元駆動装置である。力覚センサ22を動かす駆動装置23と、ロボットアーム24の駆動部とが兼用されていてもよい。
【0014】
制御部10は、CPU(Central Processing Unit)と、CPUがデータを展開するRAM(Random access memory)と、CPUが実行する制御プログラムを格納した記憶装置と、撮影部21、力覚センサ22、駆動装置23及びロボットアーム24と信号をやり取りするインタフェース16と、を備えたコンピュータである。制御部10では、CPUが制御プログラムを実行することで複数の機能モジュールが実現される。複数の機能モジュールには、撮影部21を制御する撮影制御部12と、物体の形状及び大きさを示す物体情報が記憶された物体情報記憶部11と、駆動装置23を制御して力覚センサ22を移動させる移動制御部13と、物体の姿勢を推定する推定部14と、ロボットアーム24の駆動制御を行うロボット制御部15とが含まれる。
【0015】
物体情報は、例えば、物体の表面に一様に分布する複数の点の位置データ(相対的な位置データ)を含む。物体情報は、各点の位置データに加えて、各点の法線データが含まれていてもよい。法線データは、各点が含まれる面に垂直で、当該点を通る法線の方向を示す。なお、各点の法線データは、予め与えられず、上記の複数の点の位置データから制御部10が計算により求めてもよい。
【0016】
推定部14は、撮影部21が取得した映像から物体のおおまかな位置を推定する。映像に基づく推定は、物体のいずれかの箇所に力覚センサ22を接触できる程度の比較的に精度の低い推定であってよい。具体的な手法は限定されないが、例えば、推定部14は、映像から画像認識処理を行うことで、大きな許容誤差で物体の中央点又は物体が位置する点を推定することができる。
【0017】
推定部14は、さらに、1回又は複数回の力覚センサ22による物体への接触によって得られた接触点の検出情報に基づき、当該物体の姿勢を推定する。ここで、物体の姿勢とは、物体の位置及び向きを含む概念であるが、本発明に係る姿勢の推定とは向きのみの推定であってもよい。力覚センサ22による接触回数が少なく、物体の姿勢を1つに絞ることができない段階では、接触点の検出情報に基づき、推定部14は、複数の姿勢の候補を推定する。そして、力覚センサ22の接触回数が増えるごとに、姿勢の候補が絞られることで、推定部14は、最終的に1つの姿勢を推定することができる。
【0018】
移動制御部13は、推定部14が効率的に物体の姿勢を推定できるように、力覚センサ22が物体に接触する際の接触経路を決定し、決定された接触経路で力覚センサ22を移動させる。接触経路の決定方法については、後に詳述する。
【0019】
ロボット制御部15は、推定部14が推定した物体の姿勢の情報に基づいて、当該姿勢の物体をロボットアーム24が把持及び搬送するように、ロボットアーム24を駆動する。
【0020】
<姿勢の推定方法>
続いて、推定部14による物体の姿勢の推定方法の具体的な一例を説明する。なお、推定部14による物体の姿勢の推定方法は、下記の例に限定されるものではない。ここでは、式(1)のコスト関数G(r,t)を用いて、推定部14が物体の姿勢、あるいは、複数の姿勢の候補を推定する方法を説明する。
【0021】
【数1】
【0022】
上記のロボット座標系とは、ロボットアーム24の基部を基準とした座標系であり、ロボットアーム24の基部が移動しない場合において座標系の原点及び三軸方向が固定される座標系を意味する。物体座標系とは、物体を基準とした座標系であり、物体の位置及び向きが変わればこれらに応じて座標の原点及び三軸方向が基準座標系(例えば地球の座標系)に対して回転及び並進する座標系を意味する。回転r及び並進tは、ロボット座標系において物体の位置及び向きを表わす量であり、例えば、ロボット座標系の原点と物体座標系の原点との差が並進tで表わされ、ロボット座標系の三軸と物体座標系の三軸との回転方向における差が回転rで表わされてもよい。
【0023】
上記の調整係数は、式(1)の右辺鉤括弧内の第1項目と第2項目とがコスト関数に影響する度合いを調整する係数である。当該第1項は、物体の表面を示す点群Mの中に接触点に近い点mが含まれればコスト関数を小さくし、点群Mの中の接触点に最も近い点mと接触点との距離が大きいほどコスト関数を大きくする要素である。上記の第2項は、点群Mの中に接触点の面の向きと同じ法線方向の点mがあればコスト関数を小さくし、接触点の面の向きに最も近い法線を有する点mにおける当該法線が接触点の面の向きと異なるほどコスト関数を大きくする要素である。絶対値記号はベクトルの長さを表わし、“〈a,b〉”はベクトルaとベクトルbの内積を表わす。“min[]”は各点mにおける鉤括弧内の値のうちの最小値を示す。よって、総和記号Σ内の値は、点群Mに、接触点に近い点が含まれ、当該点の法線方向が接触点の面の向きに近い場合にゼロに近づき、このような点が含まれていなければ、ゼロから正の方へ離れる値となる。
【0024】
推定部14は、コスト関数G(r,t)の値がゼロ近傍の小さい値となる引数(並進r、回転t)を探索することで、探索された回転及び並進{r,t}を、物体の姿勢又は物体の姿勢の候補として推定する。
【0025】
<推定手順>
推定部14は、まず、撮影部21から得られた映像と、物体の大きさ及び形状が示された物体情報とに基づいて、物体の姿勢を探索する初期領域を設定する。初期領域は、物体が当該領域からはみ出す可能性がほぼゼロとなるように余裕を持った大きさに設定される。例えば、推定部14は、映像の画像認識により得られた物体の中央点と、物体情報とに基づいて、当該中央点に中心が位置する物体の外接球を求め、画像認識の推定精度に対応する誤差分、外接球の径を大きくし、当該外接球の内側を初期領域とする。
【0026】
次に、推定部14は、初期領域に含まれる物体の位置及び向きとしてあり得る全姿勢を、初期の姿勢の候補とする。各姿勢は回転rと並進tとの組合せで表わされる。したがって、姿勢の初期の候補は、回転及び並進の組合せ{r,t}の集合となる。ただし、並進又は回転の非常に小さな差異を、別の姿勢と見なすと、初期の姿勢の候補が非常に多くなる。したがって、推定部14は、並進の最小差異Δtと回転の最小差異Δrとを適宜設定し、並進又は回転の差異が最小差異Δt、Δr以上となる姿勢を異なる姿勢として、初期の姿勢の複数の候補を表わす集合I={(r,t),i=1、2・・・}を作成する。
【0027】
なお、物体が載置されるテーブルなど、物体の姿勢が規制される要素が存在する場合、推定部14は、複数の姿勢の初期の候補(集合I)から、上記規制により生じえない姿勢の候補を除外する処理を行ってもよい。この処理により候補が減ることで、その後の推定処理の計算負荷を減らし、より少ない接触で、候補を1通りに絞ることが可能となる。下記では、この除外を行わない例を示す。
【0028】
1回目の力覚センサ22の接触が行われると、接触点の位置と反力の方向(接触点が含まれる面の向き)を示す検出情報が、推定部14に送られる。推定部14は、これらの情報を当てはめて、集合I={(r、t),i=1、2・・・}の全ての要素について、コスト関数G(r,t)を計算する。そして、コスト関数G(r,t)がゼロに近い閾値以下となる集合Iの要素を、姿勢の候補として抽出する。そして、姿勢の候補が、上記閾値に対応する一定の幅に収まる一連の要素のみを含んでいれば、これらの一連の要素の中からコスト関数Gを最小にする要素を、物体の姿勢の最終的な推定結果として抽出する。一連の要素とは、並進の最小差異Δt又は回転の最小差異Δrで連続している複数の要素を意味する。一方、姿勢の候補が一連の要素のみでなけば、複数の姿勢の候補が残っていることを意味するので、推定部14は、推定処理を継続し、次の力覚センサ22の接触を待つ。
【0029】
次の力覚センサ22の接触が行われると、推定部14は、1回目の接触のときと同様の処理(初期の候補を、初回の接触で絞られた姿勢の候補に置き換えた同様の処理)を行って、物体の姿勢の候補をより絞っていく。そして、このような処理を繰り返すことで、推定部14は、一つに絞られた物体の姿勢を、最終的な推定結果として得ることができる。
【0030】
<接触経路の条件>
移動制御部13は、上記の推定部14による推定処理の途中、力覚センサ22を物体に接触させる前に、いずれの位置にいずれの向きから力覚センサ22(具体的にはその接触子)を移動させて物体へ接触させるか、その経路を接触経路として計算する。接触経路は、次の第1~第3の接触条件に基づき決定される。
【0031】
第1の接触条件は、複数回目の接触の場合に、以前に接触した面と、異なる面に接触するという条件である。物体における異なる面とは、物体に含まれる峰部又はV溝部を境界として分けられる各面を意味する。曲面を有さない物体であれば、各平面が異なる面となる。第1接触条件に応じた接触経路は、以前の接触で検出された接触点の法線と交差(例えば直交)する方向に進む経路として決定されてもよい。
【0032】
あるいは、第1の接触条件に応じた接触経路は、推定部14によって現段階で推定されている物体の姿勢の候補に基づき、以前に接触していない面が位置する可能性が高い箇所に向かって、当該面に交差する方向から進む経路として決定されてもよい。
【0033】
第2の接触条件は、物体に非対称な箇所がある場合に、非対称な箇所に高い確率で接触するという条件である。物体の非対称な箇所とは、例えば、物体の中心点、中心軸あるいは中心面を基準とした点対称、軸対象又は面対称の度合いが低い箇所を意味する。例えば、ボルトであれば頭部側縁部と軸端部とが非対称な箇所に相当する。また、長手方向の中央を除く所定箇所の径が小さくされたピン部材であれば、上記所定箇所が非対称な箇所に相当する。このような非対称な箇所は、移動制御部13が、前述した物体情報から計算により求めてもよいし、物体情報に予め含まれていてもよい。
【0034】
第2の接触条件に応じた接触経路は、物体へ接触が未だ行われていない段階では、撮影部21の撮影で得られた映像に基づき推定部14が推定した姿勢と、上記の非対称な面の情報とから求めることができる。
【0035】
第2の接触条件に応じた接触経路は、1回又は複数回の接触が行われている段階では、現段階で推定されている複数の姿勢の候補に基づいて、非対称な箇所が位置する可能性の高い箇所を計算し、当該箇所へ向かう経路として求めることができる。
【0036】
第3の接触条件は、1回又は複数回の接触が行われている段階において、推定部14の推定により得られた複数の姿勢の候補の間で、物体の面の位置の不確かさの度合いが高い面に接触するという条件である。
【0037】
位置の不確かさの度合いが高い面は、特に限定されないが、例えば次のように求められてもよい。すなわち、まず、移動制御部13が、映像から推定された物体の中心点と、複数の姿勢の候補の点群Mに含まれる各点との距離を計算し、当該距離が長くかつ分散されたn個の代表点を選択する。そして、移動制御部13は、選択されたn個の代表点の各々の法線を中心軸とした同一形状及び同一体積の円柱を局所領域として設定する。さらに、移動制御部13が、複数の姿勢の候補に含まれる全ての点群Mの中から、各局所領域に含まれる全ての点を抽出し、これらの点の軸方向(円柱の中心軸に沿った方向)における位置の平均値及び分散値を計算する。そして、移動制御部13が、n個の局所領域から分散値が大きい局所領域を、面の位置の不確かさの度合いが高い箇所として求め、当該局所領域に含まれる面を位置の不確かさの度合いが高い面として求める。
【0038】
なお、上記の例では、n個の局所領域を、映像から推定された物体の中心点からの距離が大きいn個の代表点に基づき設定しているが、n個の局所領域の設定方法は、上記の例に限定されない。例えばランダムに選択されたn個の代表点、等方に分散されたn個の代表点などから、n個の局所領域が設定されてもよい。また、上記の例では、局所領域として円柱領域を設定し、局所領域に含まれる各点の軸方向の位置の分散を計算しているが、局所領域は球領域などどのような形状としてもよいし、また、分散は軸方向の位置の分散に限られず、例えば局所領域に含まれる複数の点の中央位置からの分散であってもよいなど、分散の方向は限定されない。また、上記の例では、各局所領域に含まれる点の分散値を求めたが、各局所領域において軸方向に最も離れた2点間距離を計算し、当該2点間距離が大きい領域を不確かさの度合いの高い面を含む領域として求めても良いなど、不確かさの度合いを求める方法としては、様々な方法を採用できる。また、上記の例では、複数の局所領域を設定し、当該局所領域の間で不確かさを示す値を比較して、不確かさの度合いの高い面を含む領域を求めたが、局所領域を設定せずに、複数の姿勢の候補の全ての点群Mの散らばり度合いの高いところを不確かさの度合いの高い面を含む箇所として求めるなど、不確かさの度合いの高い面を含む箇所が求められれば、どのような方法が採用されてもよい。
【0039】
第3の接触条件に応じた接触経路の方向は、上記のように求められた不確かさの度合いが高い面を含む箇所に向かって、当該箇所に含まれる面と交差する方向へ進む経路として計算されればよい。当該方向は、不確かさの度合いが高い局所領域に含まれる代表点の法線方向としても良いし、当該局所領域に含まれる全ての点の法線方向から計算される方向(平均の方向など)としても良い。
【0040】
<接触経路の決定方法>
上記の第1~第3の接触条件を全て満たす接触経路は、幾通りにも求められることがある。あるいは、第1~第3の接触条件のうち、いずれか1つ又は2つの接触条件に応じたが、他の接触条件に応じない接触経路が求められることもある。したがって、移動制御部13は、第1~第3の接触条件に基づき求められた接触経路から、適宜1つの接触経路を選択し、選択された接触経路を、次に力覚センサ22を移動させる接触経路として決定する。
【0041】
1つの接触経路を選択する方法は、例えば、各接触経路に優先度を付与し、優先度の高い接触経路が選択される方法としてもよい。優先度は、第1~第3の接触条件に応じて異なる値としてもよいし、この値に各接触条件に合致する可能性(確率)を乗算して得られた値としてもよい。あるいは、1つの接触経路を選択する方法は、ランダムな選択であってもよいなど、どのような方法であってもよい。
【0042】
なお、上記の例では、移動制御部13が、第1~第3の接触条件の全てに基づき接触経路を決定したが、移動制御部13は、1つ又は2つの接触条件を省き、残りの2つ又は1つの接触条件から接触経路を決定してもよい。
【0043】
<ピッキング処理>
図2は、制御部10が実行するピッキング処理の手順の一例を示すフローチャートである。ピッキングとは物体を取り出すことを意味する。図2のピッキング処理は、撮影部21の画角内にピッキング対象の物体が含まれた状態で開始される。
【0044】
ピッキング処理が開始されると、まず、撮影制御部12が、撮影部21を介して映像を取得し、得られた映像を推定部14へ送る(ステップS1)。推定部14は、映像から画像認識処理を行って物体の中心位置を推定し、中心位置と物体情報とから物体が余裕を持って包含される前述した初期領域R0(図3(A)を参照)を設定する(ステップS2)。
【0045】
初期領域R0が設定されたら、制御部10は、物体に接触することで物体の姿勢の候補を絞り込むループ処理(ステップS3~S13)へ処理を進める。すなわち、移動制御部13は、初回目の接触であるか否かを判別し(ステップS3)、初回目であれば第2の接触条件(非対称部位に接触する可能性の高い接触)に合致する接触経路を計算し、当該接触経路に優先度を付す処理を行う(ステップS6)。当該接触経路は、その時点で推定されている物体の姿勢の候補と、物体情報から計算された物体の非対称性を有する箇所の計算結果とから、当該箇所に位置する面に、当該面に交差する方向から進む経路として計算される。計算された接触経路に付される優先度は、第1~第3の接触条件の優先度を区別するために第2の接触条件に予め設定された値であってもよい。あるいは、優先度は、第2の接触条件に予め設定された値と、当該接触経路が接触条件に合致する可能性を示す値(例えば確率)とを乗算して得られる値であってもよい。
【0046】
一方、ステップS3の判別処理で、2回目以降の接触であると判別されたら、移動制御部13は、その時点で推定されている物体の姿勢の候補に基づいて、第1の接触条件(前回以前に接触した面と異なる面への接触)に合致する接触経路を計算する(ステップS4)。加えて、移動制御部13は、当該接触経路に優先度を付す処理を行う(ステップS4)。当該接触経路は、仮にj個の姿勢の候補があるのであれば、各候補において前回以前の接触で、未だ接触されていないと推定される面を抽出し、当該面内の1点又は複数の点に向かって、当該点に対応づけられた法線方向に進む経路として計算される。接触経路の方向は、前回以前に接触した面の法線に交差する方向として計算されてもよい。当該接触経路に付される優先度は、第1~第3の接触条件の有線度を区別するために第1の接触条件用に予め設定された値であってもよい。あるいは、優先度は、第1の接触条件に予め設定された値と、当該接触経路が接触条件に合致する可能性を示す値(例えば確率)とを乗算して得られる値であってもよい。
【0047】
続いて、移動制御部13は、その時点で推定されている物体の姿勢の候補に基づいて、第3の接触条件(位置の不確かさの度合いが高い面への接触)に合致する接触経路を計算し、さらに、接触経路に優先度を付す処理を行う(ステップS5)。当該接触経路の求め方は、前述した通りである。優先度は、第1~第3の接触条件の優先度を区別するために第3の接触条件に予め設定された値であってもよい。あるいは、優先度は、第3の接触条件に予め設定された値と、当該経路が接触条件に合致する可能性を示す値(例えば確率)とを乗算して得られる値であってもよい。ステップS5の計算が終了したら、移動制御部13は、前述したステップS6の接触経路の計算及び優先度を付加する処理を行う。
【0048】
そして、移動制御部13は、接触経路が求められたか否かを判別し(ステップS7)、YESであれば、計算された接触経路のうち優先度が高いものを抽出する(ステップS8)。当該抽出の際、移動制御部13は、計算された複数の接触経路が、複数の接触条件を同時に満たす経路として集約可能であるか判別し、集約できる場合には、当該複数の接触経路の優先度を合算して、合算結果の優先度が付加された1つの接触経路として扱うようにしてもよい。
【0049】
一方、ステップS7の判別結果がNOであれば、移動制御部13は、物体に接触可能な任意の接触経路を計算する(ステップS9)。例えば、移動制御部13は、初期領域R0(図3(A))の球面上の任意な点から中心に向かう接触経路を計算する。
【0050】
接触経路が決まったら、移動制御部13は、当該接触経路で力覚センサ22を移動させて、力覚センサ22(その接触子)を物体に接触させる(ステップS10)。当該接触は、物体を動かすことのない弱い接触である。そして、推定部14は力覚センサ22から接触点の位置及び面の向きの情報を取得し(ステップS11)、物体の姿勢の推定処理を実行する(ステップS12)。推定処理は、上述した通りにコスト関数G(r,t)を用いて行われる。
【0051】
そして、物体の姿勢の推定結果が得られたら、推定部14は、姿勢が1つに絞り込まれたか否かを判別し(ステップS13)、NOであれば、処理をステップS3に戻す。一方、姿勢が1つに絞り込まれたら、制御部10は、姿勢を推定するループ処理(ステップS3~S13)から抜けて、処理を次に進める。
【0052】
ループ処理を抜けると、ロボット制御部15は、推定された物体の姿勢(回転及び並進を示すパラメータ{r,t})に基づき、物体の位置及び向き、並びに、ロボットアーム24で物体をつかむ動作手順を計算する(ステップS14)。そして、ロボット制御部15は、ロボットアーム24を計算した手順動作で駆動し、物体を取り出す(ステップS15)。そして、1回のピッキング処理が終了する。
【0053】
<姿勢の推定処理の第1例>
続いて、上記のピッキング処理中に実行される物体の姿勢の推定処理の具体的な一例を説明する。図3は、当該推定処理の第1例を説明する第1工程(A)~第4工程(D)、(E)の説明図である。第1例では、姿勢を推定する物体Q1がナットでありテーブル上に載置されている。
【0054】
図3(A)は、力覚センサ22による物体Q1への接触が1回も行われていない初期段階を示す。この段階では、ステップS2において、映像に基づき推定部14が初期領域R0を設定し、また、ステップS6において、移動制御部13が、物体Q1情報に基づき物体Q1の外面のうち非対称性を有する箇所の面を求め、接触経路h1が計算されている。ナットの場合、ネジ穴の中心軸を中心とする回転対称の度合いが閾値以下となり、ナットの外周面が非対称性を有する箇所の面と計算される。一方、第1例では、映像による姿勢の推定精度が低いことで、非対称性を有する面へ接触する経路が計算できずに、移動制御部13はステップS9で任意な接触経路h1を計算している。任意に選択される接触経路h1は、球状の初期領域R0の外周面内の一点から初期領域R0の中心に向かう経路であってもよい。
【0055】
図3(B)は、ステップS10~S12において、接触経路h1に沿って力覚センサ22が移動した後、1回目の接触に基づき物体Q1の姿勢の推定が行われた段階を示す。当該接触により、接触点p1の位置と、接触点p1を含む面s1の向き(法線k1)とが検出され、推定部14により、これらの検出情報からコスト関数G(r,t)をゼロ近傍とする並進t及び回転rの候補が絞られている。図3(B)において、絞られた姿勢の候補を含む範囲を二点鎖線により示している。二点鎖線の範囲には、接触点p1が物体Q1のいずれかの面の点に相当し、当該点を含む面が法線k1に対して垂直である全ての姿勢が含まれる。推定部14は、当該範囲を占める多数の姿勢を候補として求めている。なお、初期領域R0から物体Q1がはみ出ている候補は、物体Q1の姿勢の候補から除外されてもよいが、図3では、除外されない例を示す。
【0056】
図3(C)は、ステップS4~S8において、2回目の接触の接触経路h2が計算された段階を示す。当該段階では、移動制御部13は、前回の接触により得られた物体Q1の姿勢の候補(二点鎖線で示す)に基づき、第1の接触条件に応じた接触経路と、第2の接触条件に応じた接触経路と、第3の接触条件に応じた接触経路とを計算し、その中で、優先度が高い接触経路h2を抽出している。接触経路h2は、1回目の接触面s1の法線に交差する方向に進む経路であるため、1回目の接触面s1と異なる面に接触する可能性が高く、さらに、接触する面が非対称性を有するナットの外周面である可能性が、例えば別の接触経路c1よりも高い。さらに、物体Q1の姿勢の候補において、接触経路h2に交差する可能性のある面は広い範囲X1に分散する一方、別の接触経路c1に交差する可能性のある面は狭い範囲X2に分散する。したがって、接触経路h2は位置の不確かさの度合いが高い面に接触する可能性が高い経路として計算される。
【0057】
図3(D)、(E)は、ステップS10~S12において、接触経路h2に沿って力覚センサ22が移動した後、2回目の接触に基づき物体Q1の姿勢の推定が行われた段階を示す。2回目の接触により、接触点p2の位置と、接触点p2を含む面s2の向き(法線k2)とが検出され、推定部14が、1回目及び2回目の接触で得られた検出情報からコスト関数G(r,t)をゼロ近傍とする並進t及び回転rの候補を絞っている。図3(E)の平面図に2点鎖線で示すように、2回目の接触により、接触点p1、p2が物体Q1の2つの面s1、s2に含まれ、かつ、2つの面s1、s2に共に平行な方向へナットがずれる複数の姿勢の候補(図3(E)に二点鎖線で示す)が絞られている。
【0058】
このように接触回数が増すごとに、物体Q1の姿勢の候補が絞られ、推定部14は、最終的に物体Q1の姿勢を一つに推定できる。
【0059】
<姿勢の推定処理の第2例>
図4は、物体の姿勢の推定処理の第2例を説明する第1工程(A)~第6工程(F)の説明図である。第2例では、姿勢を推定する物体Q2がボルトである例を示す。
【0060】
図4(A)では、力覚センサ22による物体Q2への接触が1回も行われていない初期段階において、推定部14が、映像に基づき初期領域R0を設定し(ステップS2)、また、移動制御部13が、物体Q2情報に基づき物体Q2の外面のうち非対称性を有する面を求め、第2の接触条件に応じるように接触経路h11が計算されている(ステップS6)。ボルトの場合、軸方向においてボルトを2つに分割する中心面を基準とした面対称の対称性の度合が閾値以下となり、ボルト頭部の側面s21とボルト軸端部の側面s11aとが非対称性を有する箇所の面として求められる。一方、図4(A)の例では、映像に基づく物体Q2の姿勢の初期の推定精度が低いことで、非対称性を有する面から外れた軸部中央の側面に向かう接触経路h11が計算されている。
【0061】
図4(B)では、接触経路h11に沿って力覚センサ22が移動し(ステップS10)、1回目の接触による検出と(ステップS11)と、当該検出に基づく物体Q2の姿勢の推定が行われている(ステップS12)。当該接触により、接触点p11及び接触点p11を含む面s11の向き(法線k11)が検出され、推定部14が、これらの検出情報からコスト関数G(r,t)を計算して、物体Q2の複数の姿勢の候補を探索している。ここで、絞られた姿勢の候補には、図4(B)の二点鎖線に示すように、面s11及び接触点p11が、ボルトの頭部側面、頭部上面、軸部端面又は軸部側面、並びに、その中のいずれかの点となる全ての姿勢が含まれる。なお、初期領域R0から物体Q2がはみ出ている候補は、物体Q2の姿勢の候補から除外されてもよいが、図4では、除外されていない例を示している。
【0062】
図4(C)では、移動制御部13が、第1の接触条件~第3の接触条件に基づき優先度の高い接触経路h12を計算している(ステップS4~S8)。接触経路h12は、1回目の接触が行われた面s11と異なる面への接触を実現し、かつ、位置の不確かさの度合いが高い面への接触を実現する経路である。例えば、物体Q2の姿勢の候補(二点鎖線に示す)のうち、接触経路h12と交差する可能性のある面は、ボルトの軸部の長さ以上に分散している一方、別の接触経路c12と交差する可能性のある面は、ボルトの頭部の幅の分だけ分散しており、前者の方が分散値が大きく、不確かさの度合いが高い。
【0063】
そして、図4(D)のように、2回目の接触が行われることで(ステップS10)、接触点p12及び接触点p12を含む面s12の向き(法線k12)が検出され(ステップS11)、これらの検出結果に基づき、推定部14により、物体Q2の姿勢の候補がより絞られている(ステップS12)。図4(D)の二点鎖線に示すように、2回目の接触により、ボルトの頭部と軸端部とが逆転される2つの姿勢に候補に絞られている。なお、一回目の接触が、非対称性を有するボルトの頭部側面s21又は軸端部側面s11aに行われていれば、推定部14は、2回目の接触の段階で物体Q2の姿勢を1つに絞ることができている。
【0064】
図4(E)では、移動制御部13は、第1~第3の接触条件を実現する可能性が高い接触経路h13を計算している(ステップS4~S8)。この時点の姿勢の候補では、ボルトの頭部側面s21又は軸端部側面s11aが、位置の不確かさの度合いが高い面であり、かつ、ボルトの頭部側面s21及び軸端部側面s11aが非対称性を有する箇所の面である。したがって、接触経路h13は、第2の接触条件及び第3の接触条件に応じた経路となっている。さらに、接触経路h13は、1回目で接触した面s11、並びに、2回目で接触した面s12と異なる面(ボルト頭部側面s21)へ接触する可能性がある経路となっており、第1の接触条件に応じた経路にもなっている。接触経路h13は、実際には、1回目に接触した面s11と同一面である軸端部側面s11aに接触するが、この段階で推定されている姿勢の候補に対しては、ボルト頭部側面s21へ接触する可能性を50%程度有する。
【0065】
そして、図4(F)のように、3回目の接触が行われることで(ステップS10)、接触点p13及び接触点p13を含む面s11aの向きが検出され(ステップS11)、これらの検出結果から物体Q2の姿勢の候補が1つに絞られている(ステップS12)。
【0066】
以上のように、本実施形態のピッキング装置1によれば、力覚センサ22による物体への複数回の接触で得られた検出情報と物体情報とに基づいて推定部14が物体の姿勢を推定する。したがって、布等に覆われた物体、透明や黒色の物体、鏡面を有する物体など、映像だけでは姿勢を推定し難いものであっても、物体の姿勢を推定することができる。
【0067】
さらに、本実施形態のピッキング装置1によれば、移動制御部13が、物体への力覚センサ22の複数回の接触が、物体の異なる面に行われるように、力覚センサ22の接触経路を計算する。したがって、推定部14は、少ない接触の検出情報を用いて物体の姿勢の候補をより少ない候補に絞ることができ、高効率な姿勢の推定を実現できる。
【0068】
さらに、本実施形態のピッキング装置1によれば、力覚センサ22の接触により接触点の位置の情報と接触点を含む面の向きの情報とを、検出情報として取得する。加えて、移動制御部13は、n回目の接触の際に、n回目より前に接触された接触点の面の法線と交差する方向に力覚センサ22を移動させる接触経路を計算する。このような接触経路の進む方向の決定方法により、移動制御部13は、物体への力覚センサ22の複数回の接触が、物体の異なる面に行われるように、力覚センサ22の接触経路を計算することができる。
【0069】
さらに、本実施形態のピッキング装置1によれば、移動制御部13は、その時点で絞られている物体の姿勢の複数の候補の中から、位置の不確かさの度合いが高い面に接触する可能性が高い接触経路(第3の接触条件に応じた接触経路)を計算する。したがって、当該接触経路に沿った力覚センサ22の移動で得られる検出情報に基づいて、推定部14は、物体の姿勢の候補をより少ない候補に絞ることができる。したがって、推定部14は、少ない接触の検出情報を用いて物体の姿勢を一つに絞ることができ、高効率な姿勢の推定を実現できる。
【0070】
さらに、本実施形態のピッキング装置1によれば、移動制御部13は、物体の非対称な箇所の面に接触するように接触経路(第2の接触条件に応じた接触経路)を計算する。したがって、当該接触経路に沿った力覚センサ22の移動で得られる、物体の非対称な面の検出情報に基づいて、物体の向きを効率的に特定できる。したがって、推定部14は、少ない接触の検出情報を用いて物体の姿勢を一つに絞ることができ、高効率な姿勢の推定を実現できる。
【0071】
さらに、本実施形態のピッキング装置1によれば、物体の映像を取得する撮影部21を備え、推定部14は、撮影部21により取得された映像に基づいて物体の大まかな位置を推定し、一回目の接触を可能とする。すなわち、推定部14は、映像に基づいて物体に接触可能な位置を推定する。したがって、物体の位置が広い範囲で不明な状態からでも、映像から物体に接触する位置を推定でき、接触することで物体の姿勢を推定することが可能となる。よって、物体の位置が広い範囲で不明な状態からでも、物体の取出しが可能となる。
【0072】
以上、本発明の実施形態について説明した。しかし、本発明は上記の実施形態に限られない。例えば、上記実施形態では、物体の外面に一様に分布された点群Mの情報と、コスト関数G(r,t)とを用いて物体の姿勢を推定する方法を説明したが、上記の方法に限られず、接触により検出された情報から物体の姿勢を推定できれば、どのような方法が採用されてもよい。また、前述したように、上記実施形態では、物体が載置されるテーブルなど、物体の姿勢が規制させる要素の存在を考慮せずに、姿勢の推定処理を行う例を示したが、物体の姿勢が規制される要素がある場合には、例えば、当該要素と相いれない姿勢の候補を除外するなどの処理が追加されてもよい。
【0073】
また、上記実施形態では、物体情報記憶部11(物体の形状及び大きさを示す物体情報を記憶する記憶部)が装置内に位置する例を示した。しかし、物体情報記憶部11は、通信ネットワークを介して接続されたサーバコンピュータに設けられ、通信を介して装置に物体情報が送られる構成であってもよい。また、上記実施形態では、物体を棚等から取り出すピッキング装置1に本発明を適用した例を示したが、本発明の情報処理装置は、物体を取り出す制御及び動作を伴わなくてもよく、物体の姿勢を推定する様々な装置に適用可能である。その他、実施の形態で示した細部は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【0074】
1 ピッキング装置(情報処理装置)
10 制御部
11 物体情報記憶部
12 撮影制御部
13 移動制御部
14 推定部
15 ロボット制御部
16 インタフェース
21 撮影部
22 力覚センサ
23 駆動装置
24 ロボットアーム(取出し機構)
Q1、Q2 物体
R0 初期領域
h1、h2、h11~h13 接触経路
p1、p2、p11~p13 接触点
s11a、s21 非対称性を有する箇所の面
図1
図2
図3
図4