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

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

▶ 住友重機械工業株式会社の特許一覧 ▶ 国立大学法人静岡大学の特許一覧

特開2023-86109ピッキング装置、情報処理装置及びプログラム
<>
  • 特開-ピッキング装置、情報処理装置及びプログラム 図1
  • 特開-ピッキング装置、情報処理装置及びプログラム 図2
  • 特開-ピッキング装置、情報処理装置及びプログラム 図3
  • 特開-ピッキング装置、情報処理装置及びプログラム 図4
  • 特開-ピッキング装置、情報処理装置及びプログラム 図5
  • 特開-ピッキング装置、情報処理装置及びプログラム 図6
  • 特開-ピッキング装置、情報処理装置及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023086109
(43)【公開日】2023-06-21
(54)【発明の名称】ピッキング装置、情報処理装置及びプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20230614BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022192881
(22)【出願日】2022-12-01
(31)【優先権主張番号】P 2021199767
(32)【優先日】2021-12-09
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(71)【出願人】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】宮澤 宣嗣
(72)【発明者】
【氏名】小林 祐一
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707AS06
3C707KS03
3C707KS04
3C707KS31
3C707KS34
3C707KT03
3C707KT06
3C707KX07
3C707LS15
3C707LS20
3C707LT06
3C707LT12
3C707NS10
3C707NS24
(57)【要約】
【課題】接触により物体の姿勢又は状態を推定できるピッキング装置、情報処理装置及びプログラムを提供する。
【解決手段】物体への接触情報を取得する接触情報取得手段と、ピッキング手段とを備え、物体に対して複数回の接触動作を実行し、接触動作で取得された接触情報に基づき物体の姿勢又は状態を推定し、推定結果に基づいてピッキング手段がピッキング動作を行う。
【選択図】図2
【特許請求の範囲】
【請求項1】
物体への接触情報を取得する接触情報取得手段と、
ピッキング手段とを備え、
前記物体に対して複数回の接触動作を実行し、前記接触動作で取得された接触情報に基づき前記物体の姿勢又は状態を推定し、推定結果に基づいて前記ピッキング手段がピッキング動作を行う
ピッキング装置。
【請求項2】
前記接触情報は、接触した前記物体からの反力の情報である、
請求項1記載のピッキング装置。
【請求項3】
前記複数回の接触動作は、前記物体の面をなぞる動作を含む、
請求項1記載のピッキング装置。
【請求項4】
なぞる面を変えて複数回、前記物体の面を当該面の縁部までなぞる動作を実行し、その後、前記物体の姿勢の推定結果を用いて前記ピッキング手段が前記物体の取り出しを行う、
請求項3記載のピッキング装置。
【請求項5】
前記複数回の前記物体の面を当該面の縁部までなぞる動作のうち、第n(nは1以上の整数)回目になぞる面と、前記第n回目に連続する第(n+1)回目になぞる面とは、前記第n回目のなぞる動作で到達した縁部を挟んで隣り合い、
前記第n回目のなぞる動作の軌跡と、前記第(n+1)回目のなぞる動作の軌跡とが連続する、
請求項4記載のピッキング装置。
【請求項6】
前記物体に接触するリーチ動作を一回と、前記物体の面を当該面の縁部までなぞる動作を1回又は複数回実行し、その後、前記物体の姿勢の推定結果を用いて前記ピッキング手段が前記物体の取り出しを行う、
請求項3記載のピッキング装置。
【請求項7】
仮の複数の軌跡でそれぞれ前記物体の面を当該面の縁部までなぞる動作を実行した場合に、前記仮の複数の軌跡のうち前記物体の姿勢の候補をより絞ることのできる仮の軌跡を選択し、
選択された前記軌跡に沿って前記物体の面を当該面の縁部までなぞる動作を実行し、その後、前記物体の姿勢の推定結果を用いて前記ピッキング手段が前記物体の取り出しを行う、
請求項3記載のピッキング装置。
【請求項8】
前記物体は不定形部分を有し、
前記接触情報に基づいて前記不定形部分の状態、あるいは、前記不定形部分に含まれる目標位置を推定する、
請求項1記載のピッキング装置。
【請求項9】
前記接触情報と前記物体の状態とを対応づける学習情報が予め与えられ、
前記接触情報と前記学習情報とに基づいて前記不定形部分を有する前記物体の状態又は前記目標位置を推定する、
請求項8記載のピッキング装置。
【請求項10】
仮の複数の軌道で動くことによって前記接触情報を得た場合に、前記仮の複数の軌道のうち前記物体の状態の候補をより絞ることのできる仮の軌道を判別し、
判別された前記軌道で前記接触情報取得手段を動かすことで前記接触情報を取得する、
請求項8記載のピッキング装置。
【請求項11】
前記物体は封筒物であり、前記不定形部分は封の折り返し部、或いは、開口部である、
請求項8記載のピッキング装置。
【請求項12】
接触情報取得手段を介して物体への接触情報を取得する情報処理装置であって、
前記物体に対して複数回の接触動作でそれぞれ取得された複数回分の前記接触動作に基づいて前記物体の姿勢又は状態を推定する情報処理装置。
【請求項13】
接触情報取得手段を介して物体への接触情報を取得する情報処理装置を、
前記物体に対して複数回の接触動作でそれぞれ取得された複数回分の前記接触動作に基づいて前記物体の姿勢又は状態を推定する手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピッキング装置、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、物体の映像と、物体へ接触した際の計測情報とから、物体の姿勢を推定するシステムが示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-136677号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のシステムでは、物体へ接触した際の計測情報を用いることで、物体の姿勢を推定可能としている。しかしながら、接触によって物体の姿勢を効率的に推定するには、物体への接触の仕方に改善の余地がある。また、形状が一意に定まっていない物体が対象となることもある。
【0005】
本発明は、接触により物体の姿勢又は状態を推定できるピッキング装置、情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るピッキング装置は、
物体への接触情報を取得する接触情報取得手段と、
ピッキング手段とを備え、
前記物体に対して複数回の接触動作を実行し、前記接触動作で取得された接触情報に基づき前記物体の姿勢又は状態を推定し、推定結果に基づいて前記ピッキング手段がピッキング動作を行う。
【0007】
本発明に係る情報処理装置は、
接触情報取得手段を介して物体への接触情報を取得する情報処理装置であって、
前記物体に対して複数回の接触動作でそれぞれ取得された複数回分の前記接触動作に基づいて前記物体の姿勢又は状態を推定する。
【0008】
本発明に係るプログラムは、
接触情報取得手段を介して物体への接触情報を取得する情報処理装置を、
前記物体に対して複数回の接触動作でそれぞれ取得された複数回分の前記接触動作に基づいて前記物体の姿勢又は状態を推定する手段として機能させる。
【発明の効果】
【0009】
本発明によれば、接触によって物体の姿勢又は状態を推定できるピッキング装置、情報処理装置及びプログラムを提供できる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態に係るピッキング装置を示すブロック図である。
図2】実施形態1において物体の面を当該面の縁部までなぞる動作の例を示す図であり、(A)は物体としてボルトが適用された場合の一例、(B-1)、(B-2)は物体としてナットが適用された場合の一例を示す。
図3】実施形態1の制御部により実行されるピッキング処理の一例を示すフローチャートである。
図4】実施形態2におけるピッキング動作を説明する図である。
図5】実施形態2のピッキング装置を示す図である。
図6】実施形態2の制御部により実行されるピッキング処理の一例を示すフローチャートである。
図7図6のステップS23~S25の処理を示す説明図である。
【発明を実施するための形態】
【0011】
(実施形態1)
以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明の実施形態に係るピッキング装置を示すブロック図である。本実施形態に係るピッキング装置1は、物体の姿勢を推定し、当該物体を把持等により収容箇所から取り出す装置である。ピッキング装置1は、物体の映像を取得する撮影部21と、物体に接触した際の接触情報を取得可能な力覚センサ22と、接触情報取得手段としての力覚センサ22を動かす駆動装置23と、物体を把持及び搬送するピッキング手段としてのロボットアーム24と、これらを制御する情報処理装置としての制御部10とを備える。
【0012】
撮影部21は、撮像素子及び結像レンズを有し、デジタル信号の映像を取得する。撮影部21は、物体の大まかな位置を把握できる映像を取得できればよい。撮影部21は、二次元の映像に加えて映像上の各点の奥行の情報が得られるデプスセンサであってもよい。
【0013】
力覚センサ22は、物体に接触可能な接触子22aを有し、物体に接触中の接触情報(接触子22aによる物体への接触に関する情報)を取得する。接触情報には、接触点の位置の情報と、接触点から接触子22aに加わる反力の向きを示す情報すなわち接触面の向き(面の法線)の情報とが含まれる。力覚センサ22は、非常に小さな反力を受けた段階で停止することで、接触する物体を動かすことなく、接触情報を取得することができる。
【0014】
駆動装置23は、任意の経路で力覚センサ22(具体的にはその接触子22a)を動かすことが可能な三次元駆動装置である。力覚センサ22を動かす駆動装置23は、ロボットアーム24を動かす駆動装置と兼用されていてもよい。
【0015】
制御部10は、CPU(Central Processing Unit)11と、CPU11がデータを展
開するRAM(Random access memory)12と、CPU11が実行する制御プログラム並びにCPU11が使用する制御データが格納された記憶装置13と、撮影部21、力覚センサ22、駆動装置23及びロボットアーム24と信号をやり取りするインタフェース14と、を備えたコンピュータである。制御部10は、力覚センサ22の駆動制御、ロボットアーム24の駆動制御、並びに、物体の姿勢を推定する処理を行う。
【0016】
実施形態1において、記憶装置13には、後述するピッキング処理のプログラム13aが格納されている。さらに、記憶装置13には、物体の形状及び大きさを示す外面情報13bが記憶されている。
【0017】
外面情報13bは、例えば、物体の表面に一様に分布する複数の点の位置データ(相対的な位置データ)を含む。外面情報13bは、各点の位置データに加えて、各点の法線データが含まれていてもよい。法線データは、各点が含まれる面に垂直で、当該点を通る法線の方向を示す。なお、各点の法線データは、予め与えられず、上記の複数の点の位置データから制御部10が計算により求めてもよい。
【0018】
制御部10は、撮影部21が取得した映像から物体のおおまかな位置を推定する。映像に基づく推定は、物体のいずれかの箇所に接触子22aを接触させることができる程度のおおまかな推定であってよい。具体的な手法は限定されないが、例えば、制御部10は、映像から画像認識処理を行うことで、大きな許容誤差で物体の中央点又は物体が位置する点を推定することができる。
【0019】
制御部10は、力覚センサ22を制御して、接触子22aを物体から離間した位置から物体に接触するまで移動させるリーチ動作を行わせることができる。具体的には、制御部10は、物体が存在すると推定される方向に、接触子22aを移動させつつ、接触子22aに加わる反力の有無を判別することでリーチ動作を実現できる。接触子22aが物体に接触すると接触子22aに加わった反力が検出されるので、当該検出に基づき制御部10が接触子22aを停止させることでリーチ動作が完了する。
【0020】
さらに、制御部10は、力覚センサ22を制御して、接触子22aを物体の面に接触させたまま当該面に沿って移動させるなぞり動作を行わせることが可能である。具体的には、制御部10は、接触子22aが物体に接触した状態において、接触子22aが受ける反力から接触した面の向きの情報を得る。当該得られた接触面の向きの情報に基づき、制御部10は、接触面に対して接触子22aが斜め方向(例えば30度)に力を加えるように力覚センサ22を駆動制御する。ここで、接触子22aが物体を押す力は、物体が動かない大きさに留める。すると、接触子22aに生じる力のうち、接触面に垂直な向きの力は物体からの反力により相殺され、接触面に平行な成分の力が残る。そして、当該平行な成分の力により、接触子22aが面に沿って進むことになり、接触子22aのなぞり動作が実現される。
【0021】
<物体の姿勢の推定>
制御部10は、接触子22aのリーチ動作と、接触子22aが物体の1つの面を当該面の縁部に到達するまでなぞる動作(以下、当該動作を「特定動作」とも呼ぶ)とによって得られる接触情報(接触位置及び接触位置における面の向きの情報)に基づいて物体の姿勢を推定する。
【0022】
ここで、物体の1つの面とは、1つの平面、あるいは、折り曲がりなく連続する1つの曲面を意味するが、接触子22aが検知できない細かい凹凸又は細かい折曲がりであれば、当該凹凸又は折曲がりが含まれる面を1つの面と見なしてもよい。例えば、接触子22aの大きさがボルトのネジ溝よりも大きいような場合には、ネジ溝を有するボルトの軸部の外周面は1つの面と見なしてもよい。また、上記の縁部とは、面の縁に向かって接触子22aが移動したときに接触子22aが到達可能な面の最縁端を意味する。例えば、物体の第1の面が外に凸の角部を挟んで別の第2の面と隣り合っていれば、当該角部が上記第1の面の縁部の一つに相当する。一方、物体の第1の面が内に凹んだ隅部を挟んで第2の面と隣り合っており、接触子22aが当該隅部の奥まで進入できない場合には、接触子22aが隅部に向かって移動したときに接触子22aが到達可能な第1の面の最縁端を縁部と見なせばよい。
【0023】
上記のように、接触子22aの特定動作によって得られた接触情報を用いて物体の姿勢を推定することで、制御部10は、速やかに推定結果を得ることができる。すなわち、接触子22aを物体に接触するまで移動させるリーチ動作では、接触子22aの移動中に物体の姿勢に関する情報を得ることはできず、接触した際に接触面の一点の位置と接触面の向きの情報が得られるのみである。したがって、リーチ動作では、接触子22aの移動時間に対して得られる接触情報が非常に少ない。一方、特定動作であれば、接触子22aの移動中、制御部10は移動軌跡に沿った接触面の位置及び形状の情報が得られ、さらに、特定動作の最後では面の縁の位置情報が得られる。すなわち、特定動作では、接触子22aの移動時間に対して得られる接触情報が多い。したがって、特定動作から得られる多くの接触情報を用いることで、制御部10は物体の姿勢を速やかに推定することができる。
【0024】
図2は、物体の面を当該面の縁部までなぞる動作(特定動作)の例を示す図である。図2(A)はボルトを物体T1として、接触子22aがリーチ動作を行い、接触子22aが軸部t1の点P1に接触した後、接触子22aが軌跡C1に沿って特定動作を行った例を示している。制御部10は、特定動作の軌跡C1の初期段階で当該軌跡C1の曲率及び位置と、予め保持している物体T1の外面情報13bとに基づいて、軸部t1に接触していること、並びに、軸部t1の中心軸A1の位置を特定できる。さらに、制御部10は、軌跡C1の最後で接触子22aが軸部t1の先端に到達したことに基づいて、軸部t1の先
端位置を特定できる。そして、これらから制御部10は物体T1の姿勢を推定できる。図2(A)は、1回のリーチ動作と1回の特定動作により物体T1の姿勢が特定できた例を示す。
【0025】
制御部10は、接触子22aがなぞる面を変えて複数回の特定動作を行うように力覚センサ22を制御し、当該複数回の特定動作で得られる接触情報に基づき、物体の姿勢を推定してもよい。複数回の特定動作により、異なる複数の面の位置及び向き、並びに、これらの面の縁の位置を特定できるので、これらの情報に基づいて、制御部10は、物体の姿勢を容易に特定できる。
【0026】
図2(B-1)、(B-2)はナットを物体T2として、接触子22aが複数回の特定動作を行った例を示している。当該図において、接触子22aは、まず、リーチ動作により第1面t21の点P2に接触し、その後、軌跡C2に沿って第1面t21の特定動作と、第2面t22の特定動作と、第3面t23のなぞり動作を行っている。制御部10は、第2面t22における特定動作の初期段階において、第1面t21、第2面t22、並びに、これらに挟まれる角部の位置及び角度(90度)を特定できる。さらに、制御部10は、第2面t22の特定動作と、第3面t23のなぞり動作とにより、第2面t22、第3面t23、並びに、これらに挟まれる角部の位置及び角度(120度)を特定できる。そして、これらの特定された情報と、予め保持している物体T2の外面情報13bとに基づいて、制御部10は、物体T2の姿勢を推定できる。図2(B-1)及び図2(B-2)は、1回のリーチ動作と、2回の特定動作と、その後のなぞり動作とによって、物体T2の姿勢が特定できた例を示す。
【0027】
図2(B-1)、(B-2)に示したように、接触子22aがなぞる面を変えて複数回の特定動作を行うことで、制御部10は、より多くの物体の姿勢に関する情報を取得でき、速やかに物体の姿勢を推定することが容易になる。
【0028】
ここで、制御部10は、図2(B-1)、(B-2)に示したように、複数回の特定動作のうち、第n(nは1以上の整数)回目の特定動作でなぞる面と、第n回目に連続する第(n+1)回目の特定動作でなぞる面とが、縁部を挟んで隣り合う面であってもよい。そして、第n回目の特定動作で接触子22aが移動する軌跡C2と、第(n+1)回目の特定動作で接触子22aが移動する軌跡C2とが連続してもよい。このような軌跡C2が採用されることで、制御部10は、接触子22aを物体の面に接触させたまま、複数の特定動作を連続的に行わせることができるので、物体の姿勢の推定に寄与する多くの接触情報を速やかに取得することができる。
【0029】
仮に、接触子22aが、複数回の特定動作を行う過程で、物体の面から離間した場合、制御部10は、再度、リーチ動作により接触子22aを物体の面に接触させる制御を行う必要がある。リーチ動作は、接触子22aが物体の表面に接触した際に過度な力が物体に及ぼされないよう、接触子22aを緩やかに動かすという制約が生じる。したがって、リーチ動作の回数が少ない方が、単位時間当たりに取得できる接触情報が多くなる。したがって、上記のような複数の面にわたって連続する軌跡C2が採用されることで、制御部10は、速やかに多くの接触情報を取得し、速やかに物体の姿勢を推定することができる。
【0030】
ここで、制御部10は、接触子22aがリーチ動作を1回のみ行い、続く1回又は複数回の特定動作が連続的に行われるように、接触子22aの軌跡を設定してもよい。このような軌跡の設定により、速やかに物体の姿勢を推定することができる。図2(A)、並びに、図2(B-1)及び図2(B-2)は、上記のように接触子22aの軌跡が設定された例を示す。
【0031】
なお、制御部10は、物体の姿勢を推定する際に、リーチ動作を1回のみ実行することに限られない。例えば、特定動作の際に、隣り合う面との間の角部が鋭角であり、接触子22aが物体の面から離間した場合には、再び、リーチ動作から開始してもよい。また、特定動作で面の縁部に接触子22aが到達したときに、制御部10が、一担、接触子22aを物体から離間させ、再び、リーチ動作から特定動作に遷移するように接触子22aを動かすようにしてもよい。このような制御であっても、1回又は複数回の特定動作により、速やかに多くの接触情報を取得できるので、制御部10は、速やかに物体の姿勢を推定することができる。
【0032】
制御部10は、接触子22aに特定動作を行わせる際、いずれの方向に接触子22aを移動させるか軌跡の選択処理を行ってもよい。選択処理において、制御部10は、接触子22aが複数の仮の軌跡でそれぞれ特定動作を行った場合に、いずれの軌跡が物体の姿勢の候補数をより絞ることのできるのか求め、求められた軌跡を選択して接触子22aに特定動作を行わせればよい。このような軌跡の選択処理を行うことで、より速やかに物体の姿勢を特定できる特定動作の軌跡が選択されるので、物体の姿勢の推定をより速やかに達成することができる。
【0033】
続いて、特定動作の軌跡の選択処理を含んだ物体の姿勢推定処理の詳細な一例について説明する。図3は、制御部により実行されるピッキング処理の一例を示すフローチャートである。
【0034】
物体の姿勢推定処理が開始されると、先ず、制御部10は、撮影部21から映像を取得して物体の大まかな位置を特定する(ステップS1)。そして、制御部10は、力覚センサ22を制御してリーチ動作により接触子22aを移動させ、物体の面に接触させる(ステップS2)。接触子22aが面に接触することで、力覚センサ22から接触情報(接触点の位置及び接触面の向き)が送られ、制御部10は接触情報を取得する。
【0035】
続いて、制御部10は、予め保持している物体の外面情報13bと上記の接触情報とに基づき、上記の接触情報に合致する物体の姿勢の複数の候補を計算する(ステップS3)。ここで、制御部10は、物体の姿勢を、所定の基準位置からの並進量(並進ベクトルr)と基準の向きからの回転量(回転ベクトルθ)とで表わすことができる。以下では、物体の1つの姿勢に対応する1組のパラメータ(r,θ)を、パーティクルと呼ぶ。初期の段階において、物体の姿勢の全候補に対応するパーティクルは無数あり、物体の姿勢の候補は、パラメータ(r、θ)で張られる空間内での無数のパーティクルの分布として与えられる。分布密度が高いパーティクルの値が、真である確率の高いパーティクル(物体の姿勢)に相当する。無数のパーティクルの分布は、パーティクルのパラメータ(r、θ)に幅(r~r+Δr、θ~θ+Δθ)を持たせることで、有限個のパーティクルの集合として扱うことができる。さらに、各パーティクルに分布密度を付随させることで、有限個のパーティクルによりパーティクルの分布を表わすことができる。以下では、単に、「パーティクルの集合」と言ったときには、個々のパーティクルに分布密度の値が付随された有限個のパーティクルの集合を意味するものとする。ステップS3において、制御部10は、物体の姿勢の候補を表わすパーティクルの集合を計算する。
【0036】
次に、制御部10は、接触子22aのなぞり動作を試行するために仮の複数の軌跡を作成する(ステップS4)。ここで、制御部10は、接触子22aと物体との接触点を中心として接触面に沿って放射状に延びる複数の軌跡を作成すればよい。複数の軌跡の放射状に延びる各方向は、例えば360度を等間隔に分けた複数の角度の方向とすればよい。さらに、軌跡の長さは、予め所定の長さとしてもよいし、あるいは、長さを決めずに面の縁に達する長さとしてもよい。軌跡は、接触面が平面であっても曲面であっても接触面から離れないよう、接触面の法線方向に自由度を持ったものとして作成される。
【0037】
次に、制御部10は、その時点の物体の姿勢の候補として計算されているパーティクルの集合の各々に対して、仮の軌跡で接触子22aになぞり動作を行わせた場合を試行する。そして、当該試行において得られる接触情報から、パーティクルの集合(パーティクルの分布)がどのように絞られるのか(すなわち物体の姿勢がどのように絞られるのか)を計算する(ステップS5)。仮に、ステップS4で作成された複数の軌跡が第1軌跡~第36軌跡を含むとすれば、ステップS5の計算によって、第1軌跡の試行により絞られたパーティクルの集合、第2軌跡の試行により絞られたパーティクルの集合、・・・、第36軌跡の試行により絞られたパーティクルの集合が求められる。試行により絞られたパーティクルの集合を計算する方法としては、下記文献[1]の“MANIFOLD PARTICLE FILTER”を用いた計算手法を適用できる。
文献[1]:Michael C. Koval. Mehmet R. Dogar, Nancy S. Pollard, Siddhartha S. Srinivasa, “Pose Estimation for Contact Manipulation with Manifold Particle Filters” Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013.
【0038】
続いて、制御部10は、ステップS5の結果から、いずれの軌跡が最も物体の姿勢の候補数を絞ることができるのか判別する(ステップS6)。当該判別の処理において、制御部10は、まず、ステップS5で各軌跡に対応して求められたパーティクルの集合に対して、パーティクルの集合の情報エントロピーを計算する。すなわち、仮に、ステップS4で作成された複数の軌跡が第1軌跡~第36軌跡を含むとすれば、ステップS6の計算により、第1軌跡の試行により絞られたパーティクルの集合の情報エントロピー、第2軌跡の試行により絞られたパーティクルの集合の情報エントロピー、・・・、第36軌跡の試行により絞られたパーティクルの集合の情報エントロピーが求められる。情報エントロピーは低いほど、パーティクルの分布がより絞られていること、すなわち、物体の姿勢の候補数がより絞られていることを表わす。パーティクルの集合の情報エントロピーを計算する方法としては、下記文献[2]の“Entropy approximation”の方法が用いられてもよ
い。
文献[2]:Yvo Boers, Hans Driessen, Arunabha Bagchi and Pranab Mandal, “Particle filter based entropy”, Information Fusion 13th Conference on, pp.1-8, IEEE,
2010.
【0039】
なお、ステップS6の計算過程で、物体の姿勢の候補数を絞ることのできる度合いが同一(上記の情報エントロピーの減少量が同一)である複数の軌跡があり、軌跡が一つに決定されない場合には、制御部10は、前回の軌跡と同一方向の軌跡を判別結果としてもよい。あるいは、前回の軌跡がなければ、制御部10は、任意の軌跡を判別結果としてもよい。
【0040】
ステップS6の計算により、最も物体の姿勢の候補数を絞ることのできる軌跡を判別したら、制御部10は、当該軌跡で接触子22aがなぞり動作を行うように力覚センサ22を駆動する(ステップS7)。ここで、制御部10は、接触子22aが物体から離間しないよう、軌跡に沿った接触面に平行な力と、物体が動かない程度に接触面を垂直に押す力とを合成した力を接触子22aに加えながら、接触子22aを動かす。当該合成した力は、物体が動かない程度に接触面を斜め(例えば30度)に加圧する力に相当する。当該なぞり動作により、力覚センサ22から接触情報(軌跡上の各点の位置、軌跡上の各点における接触面の向き、なぞり動作の途中に接触面の縁が有ったか否か、縁があれば軌跡上のどの点が縁であったか)が送られ、当該接触情報を制御部10が取得する。ステップS4~S9のループ処理において、ステップS7のなぞり動作が繰り返し行われることで接触子22aが接触面の縁に達し、特定動作が実現される。
【0041】
さらに、制御部10は、ステップS7のなぞり動作が行われる前の時点で、物体の姿勢の候補であったパーティクルの集合から、ステップS7のなぞり動作で得られた接触情報に合致するパーティクルを抽出することで、パーティクルの集合を更新する(ステップS8)。当該パーティクルの集合の抽出についても、上記文献[1]の“MANIFOLD PARTICLE FILTER”を用いた計算手法を適用できる。
【0042】
そして、制御部10は、ステップS9で抽出されたパーティクルの集合(すなわちパーティクルの分布)を、その時点における物体の姿勢の候補とし、当該候補が、物体を把持可能な程度に絞られているか判別する(ステップS9)。その結果、NOであれば、処理をステップS4に戻して、再び、ステップS4~S9の処理を繰り返す。当該繰り返の処理により、次第に物体の姿勢の候補数が絞られ、最終的にほぼ一つの姿勢に絞られる。
【0043】
そして、ステップS9の判別結果がYESとなれば、直前のステップS8で抽出されたパーティクルにより、物体の姿勢の推定結果が表わされることになる。したがって、ステップS9の判別結果がYESとなれば、制御部10は、接触子22aを物体から離間させる(ステップS10)。そして、制御部10は、上記の物体の姿勢の推定結果に基づきロボットアーム24を駆動制御して、物体をピッキング(把持及び搬送)する(ステップS11)。
【0044】
図3のピッキング処理によれば、ステップS4~S6において、制御部10は、仮の複数の軌跡でなぞり動作を試行した場合に、いずれの軌跡が選択された場合に、物体の姿勢の候補数をより絞ることができるのか計算する。そして、計算により求められた軌跡でなぞり動作を実行させることで、物体の姿勢をより速やかに推定することができる。
【0045】
上述したピッキング処理のプログラム13aは、制御部10の記憶装置13など、非一過性の記憶媒体(non transitory computer readable medium)に記憶されている。制御部10は、可搬型の非一過性の記録媒体に記憶されたプログラムを読み込み、当該プログラムを実行するように構成されてもよい。上記の可搬型の非一過性の記憶媒体は、上述したピッキング処理のプログラム13aを記憶していてもよい。
【0046】
以上、本発明に係る実施形態1について説明した。しかし、本発明は、上記の実施形態1に限られるものではない。例えば、上記実施形態1では、複数の仮の軌跡でなぞり動作を試行した場合に、物体の姿勢の候補数がより絞られる軌跡を制御部10が選択し、当該軌跡で接触子22aになぞり動作を行わせる例を示した。しかし、制御部10は、接触子22aにランダムな方向に特定動作を行わせてもよく、この場合でも、特定動作により多くの接触情報が得られることで、制御部10は、速やかに物体の姿勢を推定することができる。その他、実施の形態で示した細部は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0047】
(実施形態2)
図4は、実施形態2におけるピッキング動作を説明する図である。図4(A)は、状態を推定する対象の物体T1を側方から眺めた図である。図4(B)は、対象の物体T1を上方から眺めた図である。図4(C)~(F)は、一連の接触動作及びピッキング動作の一例を示す図である。
【0048】
実施形態2のピッキング装置1は、不定形部分を有する物体T3に対して力覚センサ22の接触により状態を推定し、ロボットアーム24により物体T3のピッキング、あるいは、物体T3に付随した別の物体のピッキングを行う装置である。
【0049】
具体例として、物体T3は、封の折り返し部分などの不定形部分q1を有する封筒物である。不定形部分q1は、折り返し長さL1、折り返し角度θ1にバラツキがあるなど、不定形である。実施形態2において、制御部10は、不定形部分(折り返し部分)q1の幅方向における中央部をピッキングを行うための目標位置d1として推定する。そして、ロボットアーム24は、推定結果に基づいて、目標位置(折り返し部分の中央部)d1を把持することで物体T3をピッキングする。
【0050】
なお、不定形部分を有する物体としては、上記の例に限られず、様々な物体を対象とすることができる。例えば、物体は、開口を不定形部分とする封筒物であってもよい。この場合、不定形部分(開口)は、開口高さ及び開口幅にバラツキがあるなど不定形である。制御部10は、不定形部分(開口)の中央部を、ピッキング用の通路となる目標位置として推定してもよい。そして、ロボットアーム24は、推定結果に基づいて、アーム先端を目標位置を介して封筒物の内部へ挿入し、封筒物に入っている付随物をピッキングすることができる。
【0051】
図5は、実施形態2のピッキング装置の構成を示す図である。実施形態2のピッキング装置1は、制御部10の処理及びデータ構成が異なる他は、実施形態1と同様である。
【0052】
制御部10は、不定形部分を有する物体T3の状態を推定するために必要な学習情報13dが予め与えられている。物体T3の1つの状態は、物体T3の位置、姿勢、不定形部分q1の状態(折り返し長さL1、折り返し角度θ1)により定められる。学習情報13dは、物体T3への接触情報と、物体T3の状態とを対応づける情報である。対応づける情報とは、接触情報Aがあったときに、物体T3が状態aである確率がxa%、物体T3が状態bである確率がxb%、・・・物体T3が状態nである確率がxn%など、確率を伴って一つの接触情報と複数の状態とを対応づける情報である。
【0053】
学習情報13dを使用した一例は、次の通りである。制御部10は、例えば接触子22aを、物体T3の折り返し部分q1が位置する高さで、水平に移動させることで、接触子22aに物体T3に接触し、その反力の情報(反力の有無、大きさ及び方向のうちの一つ又は複数)である接触情報を得る。そして、学習情報13dから接触情報に対応する物体T3の状態情報を抽出する。抽出された状態情報には、上記の接触情報を受けた場合に、あり得る1つ又は複数の物体T3(不定形部分q1を含む)の状態とその確率とが含まれる。学習情報13dは、予め、シミュレーション或いは試験を行うことで作成され、外部から制御部10へ入力される。あるいは、ピッキング装置1に学習処理を行わせることで、制御部10が、内部で学習情報13dを生成し、保持していてもよい。
【0054】
<ピッキング処理>
図6は、実施形態2の制御部により実行されるピッキング処理の一例を示すフローチャートである。図6のピッキング処理のプログラム13cは、制御部10の記憶装置13など、非一過性の記憶媒体(non transitory computer readable medium)に記憶されている。制御部10は、可搬型の非一過性の記録媒体に記憶されたプログラムを読み込み、当該プログラムを実行するように構成されてもよい。上記の可搬型の非一過性の記憶媒体は、上述したピッキング処理のプログラム13cを記憶していてもよい。
【0055】
ピッキング処理が開始されると、先ず、制御部10は、撮影部21から映像を取得して物体の大まかな位置を推定する(ステップS21)。そして、制御部10は、力覚センサ22を制御して接触子22aを物体T1に接触させる(ステップS22)。接触子22aが接触することで、力覚センサ22から接触情報(反力の有無、大きさ及び方向のうちの一つ又は複数)が送られ、制御部10は接触情報を取得する。
【0056】
続いて、制御部10は、接触情報に合致する物体T3の状態の候補を計算する(ステップS23)。状態の候補は、後述するパーティクルフィルタ111がパーティクルの集合として計算する。
【0057】
次に、制御部10は、次の接触を行うために複数の仮の軌道を作成する(ステップS24)。そして、制御部10は、仮の各軌道に接触子22aを動かしたときをシミュレーションすることで、物体T3の状態の候補をどれだけ絞ることができるか計算し、より候補が絞れる軌道を判別する(ステップS25)。
【0058】
続いて、制御部10は、ステップS25で判別された軌道で接触子22aを動かすことで物体T3に接触し、新たな接触情報を取得する(ステップS26)。新たな接触情報が取得されたら、制御部10は、現在計算されている物体T3の状態の候補(パーティクルの集合)の中から、新たな接触情報に合致する状態の候補を抽出し、新たな物体T3の状態の候補とする(パーティクルの集合の更新)(ステップS27)。
【0059】
そして、制御部10は、ステップS27で計算された物体T3の状態の候補により、目標位置(折り返し部分の中央部)d1が特定されたか判別する(ステップS28)。その結果、NOであれば、制御部10は、ステップS24からの処理を繰り返す。一方、YESであれば、制御部10は、接触子22aを物体から離し(ステップS29)、ロボットアーム24を駆動制御して、推定された目標位置d1を把持して物体T3をピッキングする(ステップS30)。
【0060】
<物体T3の状態の推定処理の詳細>
【0061】
図7は、図6のステップS23~S25の処理を示す説明図である。パーティクルフィルタ111、動作軌道生成部112、シミュレータ113-1~113-k、軌道評価及び選択部114は、制御部10がプログラムを実行することで構成される機能モジュール(ソフトウェア)である。
【0062】
パーティクルフィルタ111は、図6のステップS23及びS27の処理を実行する。パーティクルフィルタ111は、接触情報に合致する物体T3の状態の候補として、パーティクルの集合を計算する。1つのパーティクルは、物体T3の1つの状態を表わし、パーティクルがN個有るということは、物体T3の状態がN通りあることを意味する。1つのパーティクルは、物体T3の位置、姿勢、不定形部分q1の状態(封の折り返し部分の長さL1、角度θ1等)を1つに特定する1組のパラメータに相当する。上記の各パラメータが取りえる値は連続量であるので、上記のパーティクルは無限個存在し、パーティクルの集合はパーティクルの分布を表わす。
【0063】
パーティクルフィルタ111は、シミュレーションでパーティクルの集合を扱うために、パーティクルの集合の中から複数のパーティクルx~xを抽出する。パーティクルフィルタ111は、連続量であるパーティクルの分布の中から偏りが少なくなるようにN個のパーティクルx~xを抽出し、かつ、各パーティクルxの分布度数を表わす重みwを抽出する。パーティクルの集合はN個のパーティクルx~xと各重みw~wとで近似的に表わすことができる。
【0064】
動作軌道生成部112は、ステップS24の処理を実行し、複数の軌道a~aを作成する。動作軌道生成部112は、物体T3に対して様々な位置で接触可能な複数の軌道を生成すればよい。細かい間隔で多数の軌道を生成すれば、より良い軌道を判別して、目標位置d1を速やかに特定することが可能となるが、その分、計算負荷が増す。粗い間隔で少ない軌道しか生成しなくても、ステップS24~S28のループ処理を繰り返すことで、目標位置d1を特定することができる。動作軌道生成部112は、計算負荷と全体の処理時間との兼ね合いにより、適度な数の軌道を生成すればよい。
【0065】
シミュレータ113-1~113-k及び軌道評価及び選択部114は、ステップS25の処理を実行する。
【0066】
第1番目のシミュレータ113-1は、パーティクルフィルタ111が抽出したN個のパーティクルx~xの各々と、動作軌道生成部112が生成した1つの軌道aとで、N通りのシミュレーションを行う。すなわち、N通りの物体T3の状態のうち、1つの状態の物体T3に、軌道aで接触子22aが接触した場合をシミュレーションし、このようなシミュレーションをN通りの状態の各々について行う。そして、当該シミュレーションで得られた接触情報と、現状のパーティクルの集合pとから、情報エントロピーH(p)の減少量の総和f(a)を計算する。情報エントロピーH(p)とは、パーティクルの集合pのバラツキ度合を示す量であり、情報エントロピーH(p)が低いほど、パーティクルの集合pの分布がより絞られていること、すなわち、物体T3の状態の候補がより絞られていることを表わす。
【0067】
第2番目から第k番目のシミュレータ113-2~113-kは、それぞれの軌道a~aについて、同様のシミュレーションを行って、各軌道a~aで接触を試みたときの情報エントロピーH(p)の減少量の総和f(a)~f(a)をそれぞれ求める。
【0068】
軌道評価及び選択部114は、シミュレータ113-1~113-kがそれぞれ計算した減少量の総和f(a)~f(a)を比較して、最も大きい減少量が得られる軌道a(軌道a~aの何れか)を、物体T3の状態の候補をより絞ることのできる軌道として判別する。
【0069】
次式(1)、(3)は、シミュレータ113-1~113-kが計算する情報エントロピーH(p)と、情報エントロピーH(p)の減少量の総和f(a)との一例を示す。
【0070】
次式(1)において、pはパーティクルの集合であり、パーティクルの集合pの分布からN個のパーティクルx~xが抽出され、各パーティクルxの分布度数が重みwで表わされている。xはステップS27の前に抽出されたパーティクル、xはステップS27の後に抽出されたパーティクルを表わす。Pは、式(2)に示すように、パーティクルの分布を表わす確率分布である。
【0071】
【数1】
【0072】
次式(3)において、f(a)は、軌道aで接触を試みた場合の情報エントロピーH(p)の減少量の総和を示す。Mは、計算を行う対象のパーティクルの総数を示し、gは計算対象のパーティクルの各々を表わす添え字である。シミュレーションでは、離散的な複数の接触情報の各々が或る確率で得られるというように接触情報を確率分布で表わす。Lは、当該表記を行った場合の複数の接触情報の総数を示し、hは当該離散的な複数の接触情報の各々を表わす添え字である。Hak()は、軌道aに沿って移動した後のパーティクルの集合の情報エントロピーを示す。x は、仮想的なセンサ値を取得するために真値と仮定したパーティクルを表わし、skg は、x が真値と仮定したときに軌道aの動作により得られる接触情報を表わし、前述した学習情報から得られる。
【0073】
【数2】
【0074】
図6のステップS24~S28のループ処理において、上記のパーティクルフィルタ111、動作軌道生成部112、シミュレータ113-1~113-k、軌道評価及び選択部114による処理が繰り返されることで、物体T3の状態の候補(パーティクルの集合の分布)が絞られていき、物体T3の状態、並びに、目標位置d1が特定される。そして、上述したピッキングが実現される。
【0075】
以上、実施形態2のピッキング装置1によれば、制御部10が、物体T3に対して複数回の接触動作を実行させ、接触動作で取得された接触情報に基づいて物体T3の状態を推定する。そして、当該状態の推定結果に基づいてロボットアーム24がピッキング動作を行う。したがって、映像により物体T3の状態を認識しにくい環境においても、接触により物体T3の状態を特定し、指定のピッキングを行うことができる。映像により物体T3の状態を認識し難い環境としては、例えば物体T3が透明素材(エアークッション素材など)である場合や、暗闇の環境などがある。
【0076】
さらに、実施形態2のピッキング装置1によれば、接触情報は、接触子22aが物体T3に接触した際に生じる物体からの反力の情報(反力の有無、大きさ及び方向のうちの一つ又は複数)である。したがって、物体T3が撓む構成であっても、物体T3を大きく変形させることなく、適宜な接触情報を得ることができる。
【0077】
さらに、実施形態2においてピッキング装置1が状態を推定する物体T3は、不定形部分q1を有し、接触情報に基づいて物体T3の状態(不定形部分q1の状態を含む)、あるいは、不定形部分q1に含まれる目標位置d1を推定する。したがって、形状が一つに定まらない物体T3に対しても、所定のピッキング動作が可能となる。
【0078】
さらに、実施形態2のピッキング装置1によれば、接触情報と物体T3の状態とを対応づける学習情報13dが予め与えられ、制御部10は、接触情報と学習情報13dとに基づいて不定形部分q1を有する物体T3の状態又は目標位置を推定する。したがって、物体T3の不定形の度合が大きい場合でも、学習情報13dにより、接触情報から物体T3の状態の候補を効率的に絞っていくことができる。
【0079】
さらに、実施形態2のピッキング装置1によれば、制御部10は、仮に、複数の軌道a~aで動くことによって接触情報を得た場合をシミュレーションし、何れの軌道a~aを用いた場合に、物体T3の状態の候補をより絞ることのできるか判別し、判別された軌道aで接触子22aを動かすことで接触情報を取得する。このような処理により、制御部10は、効率的かつ速やかに物体T3の状態を特定することができる。
【0080】
そして、実施形態2のピッキング装置1によれば、不定形部分q1として封の折り返し部、或いは、開口部を有するような封筒物を、対象の物体T3として、封筒物の特定位置のピッキング、あるいは、封筒物に収納された物体のピッキングを行うことができる。
【0081】
以上、本発明に係る実施形態2について説明した。しかし、本発明は、上記の実施形態2に限られるものではない。例えば、上記実施形態2では、複数の仮の軌道で接触子22aを動かした場合に、物体の状態の候補がより絞られる軌道を制御部10が判別し、当該軌道で接触子22aを動かす例を示した。しかし、制御部10は、接触子22aをランダムな方向、あるいは、所定の複数の方向に移動させて複数の接触情報を取得することで、物体の状態を推定してもよい。このような構成においても、多くの接触を行うことで、制御部10は物体の状態を推定することができる。その他、実施の形態で示した細部は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【0082】
1 ピッキング装置
10 制御部(情報処理装置)
13a ピッキング処理プログラム
13b 物体の外面情報
21 撮影部
22 力覚センサ(接触情報取得手段)
22a 接触子
23 駆動装置
24 ロボットアーム(ピッキング手段)
T1、T2 物体
P1、P2 リーチ動作で接触した点
C1、C2 なぞり動作の軌跡
t21 第1面
t22 第2面
t23 第3面
13c ピッキング処理プログラム
13d 学習情報
T3 物体
q1 不定形部分
d1 目標位置
図1
図2
図3
図4
図5
図6
図7