(57)【要約】【課題】部品ピックアップ方法及び部品供給装置に関し、部品のピックアップ効率を向上させる。【解決手段】可動トレイ１１上に置かれた複数の部品４０を撮影した画像を用いて、部品４０の一つをロボットハンド１６にピックアップさせる手法に関する。画像中における個々の部品４０に対し、部品４０の外形に相当する第一領域３１とロボットハンド１６の掴み代に相当する第二領域３２とを含む近接領域３３を設定する。近接領域３３が他部品の第一領域３１から離隔している孤立部品４１がある場合に、孤立部品４１をロボットハンド１６でピックアップする。孤立部品４１がない場合は、近接領域３３が単一の他部品の第一領域３１と重なる候補部品４２を抽出する。また、候補部品４２と他部品との重なりが解消される候補部品４２の移動距離及び移動方向を算出し、その移動距離，移動方向に基づいて可動トレイ１１の動作を制御する。【選択図】図１
2018008343.tif 000002
【特許請求の範囲】
【請求項１】
可動トレイ上に置かれた複数の部品を撮影した画像を用いて、前記部品の一つをロボットハンドにピックアップさせる部品ピックアップ方法において、
前記画像中における個々の前記部品に対し、前記部品の外形に相当する第一領域と前記ロボットハンドの掴み代に相当する第二領域とを含む近接領域を設定し、
前記近接領域が他部品の前記第一領域から離隔している孤立部品がある場合に、前記孤立部品を前記ロボットハンドにピックアップさせ、
前記孤立部品がない場合に、前記近接領域が単一の他部品の前記第一領域と重なる候補部品を抽出し、
前記候補部品と他部品との重なりが解消される前記候補部品の移動距離及び移動方向を算出し、
前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する
ことを特徴とする、部品ピックアップ方法。
【請求項２】
前記移動距離及び前記移動方向を算出する際に、前記候補部品と他部品との重なり形状を多角形で近似し、前記多角形の各辺を基準とした法線方向の幅を算出し、前記幅の最小値を前記移動距離とし、前記最小値を与える前記法線方向を前記移動方向とする
ことを特徴とする、請求項１記載の部品ピックアップ方法。
【請求項３】
前記可動トレイの動作を制御する際に、前記可動トレイを重力加速度よりも大きな加速度で前記移動方向に傾斜させてから元に戻す動作を、前記移動距離に応じた回数で繰り返す
ことを特徴とする、請求項１または２記載の部品ピックアップ方法。
【請求項４】
複数の前記候補部品が存在する場合に、前記移動距離が最小となる前記候補部品の前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する
ことを特徴とする、請求項１〜３のいずれか１項に記載の部品ピックアップ方法。
【請求項５】
前記移動距離及び前記移動方向を算出する際に、前記移動方向を基準とした前記可動トレイの周壁部と前記候補部品との離隔距離が前記移動距離以上であることを確認する
ことを特徴とする、請求項１〜４のいずれか１項に記載の部品ピックアップ方法。
【請求項６】
可動トレイ上に置かれた複数の部品を撮影した画像を用いて、前記部品の一つをロボットハンドにピックアップさせる部品供給装置において、
前記画像中における個々の前記部品に対し、前記部品の外形に相当する第一領域と前記ロボットハンドの掴み代に相当する第二領域とを含む近接領域を設定する設定部と、
前記近接領域が他部品の前記第一領域から離隔している孤立部品がある場合に、前記孤立部品を前記ロボットハンドにピックアップさせるピックアップ部と、
前記孤立部品がない場合に、前記近接領域が単一の他部品の前記第一領域と重なる候補部品を抽出する抽出部と、
前記候補部品と他部品との重なりが解消される前記候補部品の移動距離及び移動方向を算出する算出部と、
前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する制御部と、
を備えたことを特徴とする、部品供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可動トレイ上に載置された複数個の部品の撮影画像を用いて、個々の部品をロボットハンドでピックアップする方法及び装置に関する。
【背景技術】
【０００２】
従来、トレイ上にバラ積みされた部品をロボットハンドで個別にピックアップする部品供給装置が知られている。すなわち、位置や向きが整理されていない複数の部品の中から一つの部品を自動的に取り出し、その部品の組み付けや整列配置，検査，次工程への受け渡しなどを実施するものである。トレイの上方には画像処理装置に接続されたカメラが設けられ、撮影画像に基づいて各部品の位置や他部品との重なり状態が把握される。
【０００３】
ロボットハンドによるピックアップ対象の部品としては、トレイ上で他部品と接触していない部品（あるいは、ほとんど接触していない部品）を挙げることができる。しかし、部品のバラ積み状態によっては、ピックアップ対象に適した部品が存在しない場合がある。そこで、部品が載置されたトレイを振動させることによってバラ積み状態をほぐし、ピックアップ対象にしたい部品を孤立させる技術が提案されている。また、エアシリンダや電動シリンダを用いてトレイの底面から突起を出没させることにより、部品のバラ積み状態を変化させる技術も提案されている（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平11-300670号公報
【特許文献２】特開2012-183616号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では部品のバラ積み状態がどのようにほぐれるのかを予想することができず、部品を短時間で孤立させることが困難である。すなわち、トレイに与えられる振動や衝撃は、積み重ねられた部品の乱雑さの度合い（ばらけ具合）を増大させるように作用するものの、部品の形状，配置によっては一つの重なり状態を解消すると同時に新たな重なり状態を生成しうる。そのため、ピックアップ対象に適した部品を素早く確実に出現させることが難しく、ピックアップ効率を向上させにくいという課題がある。
【０００６】
一つの側面では、部品のピックアップ効率を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、部品ピックアップ方法は、可動トレイ上に置かれた複数の部品を撮影した画像を用いて、前記部品の一つをロボットハンドにピックアップさせる部品ピックアップ方法である。まず、前記画像中における個々の前記部品に対し、前記部品の外形に相当する第一領域と前記ロボットハンドの掴み代に相当する第二領域とを含む近接領域を設定する。前記近接領域が他部品の前記第一領域から離隔している孤立部品がある場合には、前記孤立部品を前記ロボットハンドにピックアップさせる。一方、前記孤立部品がない場合には、前記近接領域が単一の他部品の前記第一領域と重なる候補部品を抽出する。また、前記候補部品と他部品との重なりが解消される前記候補部品の移動距離及び移動方向を算出し、前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する。
【発明の効果】
【０００８】
部品のピックアップ効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】部品供給装置が含まれるシステムを例示する図である。
【図２】部品供給装置（制御装置）のハードウェア構成を例示する図である。
【図３】部品供給装置（制御装置）のソフトウェア構成を例示する図である。
【図４】（Ａ）は第一領域，第二領域，近接領域を説明するための模式図、（Ｂ）はロボットハンドの爪を例示する斜視図である。
【図５】（Ａ）〜（Ｄ）は部品の配置状態の分析手法を説明するための模式図である。
【図６】（Ａ）〜（Ｄ）は部品の重なりが解消される移動距離，移動方向の算出手法を説明するための模式図である。
【図７】可動トレイの傾斜と部品の移動量との関係を説明するための模式図である。
【図８】可動トレイ上における部品の移動量を説明するための模式図である。
【図９】アクチュエータの作動状態を説明するためのグラフである。
【図１０】部品ピックアップ手法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
図面を参照して、実施形態としての部品ピックアップ方法，部品供給装置について説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態をその趣旨を逸脱しない範囲で種々変形して（例えば、実施形態や変形例を組み合わせて）実施することができる。
【００１１】
［１．システムの概要］
図１に示すように、本実施形態の部品ピックアップ方法，部品供給装置は、可動トレイ１１上に置かれた複数の部品４０（ワーク）をカメラ１５で撮影し、その撮影画像を用いて部品４０の一つをロボットハンド１６にピックアップさせる部品供給システム１０に適用される。可動トレイ１１は、部品４０がバラ積みされる載置面１２と、載置面１２の傾斜角度を変更するためのアクチュエータ１３とを有するワーク供給台であり、載置面１２の傾斜角度はアクチュエータ１３で自在に変更可能である。また、部品４０の滑落を防止するための周壁部１４が載置面１２の外縁に沿って立設される。
【００１２】
カメラ１５で撮影された画像の情報は部品供給装置としての制御装置２０に伝達され、公知の画像解析処理によって個々の部品４０の輪郭形状や位置，重なり状態などが把握される。また、アクチュエータ１３及びロボットハンド１６の作動状態も、制御装置２０で統括的に制御，管理される。部品４０の具体的な形状や重量は任意であるが、本実施形態では扁平な形状（高さ方向及び幅方向と比較して厚み方向の寸法が小さい立体形状）の部品４０を例に挙げて説明する。
【００１３】
アクチュエータ１３は、地面や床面に対して可動トレイ１１を傾動自在に支持するものであり、例えば伸縮自在の電磁式シリンダ（ソレノイドアクチュエータ）である。アクチュエータ１３の数は少なくとも二個以上（例えば、可動トレイ１１が二本の電磁式シリンダと一個のピン接合点とで支持される構造）であり、好ましくは、三個又は四個（例えば、可動トレイ１１が三本又は四本の電磁式シリンダで支持される構造）である。載置面１２の形状が上面視で四角形状である場合には、載置面１２の四隅近傍、あるいは、四辺の中央部近傍にユニバーサルジョイントを介してアクチュエータ１３を接続すればよい。アクチュエータ１３の伸縮方向は、少なくとも鉛直成分が含まれる方向（水平でない方向）である。各アクチュエータ１３の伸縮量を同時に調節することで、載置面１２の傾斜角度や高さを任意に設定可能である。なお、載置面１２の下方に制振バネやゲル状防振ゴムなどを配置し、アクチュエータ１３の伸縮動作に伴って発生しうる意図しない振動を抑制，緩和してもよい。
【００１４】
アクチュエータ１３で傾斜角度を変動させる際における可動トレイ１１の加速度は、載置面１２上の部品４０が瞬間的に空中に浮く程度の加速度（重力加速度以上の加速度）とする。ただし、すべての部品４０を空中に浮かせるような過大な加速度は不要であり、少なくとも所望の部品４０（例えば、後述する候補部品４２）を浮かせることができる程度の加速度を与えればよい。部品４０がバラ積みされている状態の載置面１２を水平状態から急激に傾斜させることで、載置面１２上の部品４０が一時的に浮遊し、その後に傾斜した載置面１２に向かって自然落下する。自然落下の前後における部品４０の変位量（移動量）は、載置面１２の傾動軸からの距離に比例して増大する。
【００１５】
自然落下による部品４０の変位方向は、上面視で載置面１２の傾動軸に対して垂直な方向であり、これは載置面１２の傾斜方向（傾斜した載置面１２上に静かに置かれたボールが移動する方向）に一致する。つまり、載置面１２上の部品４０は、自然落下の過程で相対的に傾斜方向へと移動し、その変位量は傾動軸から離れた位置ほど増大する。したがって、各部品４０は載置面１２の傾斜方向に向かって互いに離散するように移動することになり、各部品４０同士の傾斜方向の距離（例えば、各部品４０間の隙間寸法）が増大する。
【００１６】
可動トレイ１１を傾斜させたときの加速度の値は、傾動軸に近い位置ほど小さくなり、傾動軸から遠い位置ほど大きくなる。したがって、可動トレイ１１の全体を重力加速度以上の加速度で移動させたい場合には、傾動軸が上面視で載置面１２よりも外側に位置するように、すべてのアクチュエータ１３を作動させてもよい。また、載置面１２を鉛直下方に向かって平行移動させた場合には、可動トレイ１１の全体で加速度の値が均一となる。したがって、可動トレイ１１全体を下方に向かって急激に平行移動させた後に載置面１２を傾斜させるような制御を実施してもよい。
【００１７】
カメラ１５は、公知の画像センサを内蔵した撮影手段であり、例えばCCD（Charge-Coupled Device）カメラやCMOS（Complementary Metal Oxide Semiconductor）カメラである。ここでは、バラ積みされた部品４０の全体的な配置状態が画像，映像のデータとして取得される。カメラ１５の視角は、載置面１２のほぼ全体が包含されるように設定される。なお、カメラ１５の個数は少なくとも一個以上あればよいが、複数のカメラ１５（例えば、ステレオカメラ）を用いてもよい。この場合、部品４０の三次元位置を高精度に把握することが可能となる。
【００１８】
ロボットハンド１６は、部品４０をピックアップする機能を持つ多指ハンド型の産業用ロボットである。ここでいう「ピックアップ」とは、ロボットハンド１６で部品４０を取り上げる動作を意味する。例えば、ロボットハンド１６に設けられた爪１７の間に部品４０を挟みこんだまま掴み上げる動作がこれに含まれる。本実施形態のロボットハンド１６は、ピックアップ効率の高い順序で部品４０をピックアップするためのプログラムに基づいて動作が制御される。以下、このプログラムのことを「部品ピックアッププログラム」と呼び、符号１を付して説明する。
【００１９】
本実施形態の部品ピックアッププログラム１において、ピックアップ対象となる部品４０は、他部品と重なっておらず、かつ、ロボットハンド１６の爪１７が他部品と干渉しない部品４０である。すなわち、ロボットハンド１６の掴み代が確保されている部品４０のみが、ピックアップ対象とされる。ただし、ピックアップ時にロボットハンド１６の動作に支障を生じさせない限り、あるいは、部品４０の品質に影響を与えない限りにおいて、他部品との軽微な重なりは、多少は容認されうるものとする。
【００２０】
本明細書では、載置面１２に載置された複数の部品４０のうち、他部品と干渉しておらず、直ちにロボットハンド１６でピックアップ可能であるものを「孤立部品４１」と呼ぶ。ロボットハンド１６によるピックアップの対象は、孤立部品４１である。また、孤立部品４１でない部品４０のうち、単一の他部品（二個以上ではなく一個の他部品）に重なっているものを「候補部品４２」と呼ぶ。候補部品４２は、それに重なっている他部品との干渉を解消すれば孤立部品４１になりうる部品４０である。部品ピックアッププログラム１は、孤立部品４１を優先的にピックアップしつつ、孤立部品４１がない場合に候補部品４２を孤立部品４１にするための制御を実施することで、部品４０のピックアップ効率を向上させる機能を持つ。なお、二個以上の他部品に重なっている部品４０をピックアップするためには、少なくともそれらの他部品を移動させなければならず、効率的でないため、ピックアップ対象としての優先順序は低くする。
【００２１】
すなわち、カメラ１５で撮影された画像の解析処理を通じて、孤立部品４１が見つかった場合には、その孤立部品４１をピックアップ対象とする。複数の孤立部品４１が存在する場合には、ロボットハンド１６の移動距離ができるだけ短くなる順序で、複数の孤立部品４１を順番にピックアップする。一方、孤立部品４１が存在しない場合には、部品４０の重なり状態に基づいて候補部品４２が抽出されるとともに、その重なり状態を解消するための候補部品４２の移動距離，移動方向が算出される。候補部品４２が一個である場合には、その候補部品４２を移動させるためにアクチュエータ１３が駆動される。また、複数の候補部品４２が存在する場合には、最も移動距離が小さな候補部品４２がどれなのかが検討され、その候補部品４２を移動させるためにアクチュエータ１３が駆動される。このとき、その候補部品４２が移動可能な距離（周壁部１４からの距離）も考慮される。
【００２２】
可動トレイ１１の傾斜方向は、その候補部品４２の移動方向に一致するように制御される。また、一時的に浮遊した載置面１２上の候補部品４２が傾斜した載置面１２に自由落下した後、アクチュエータ１３は載置面１２が再び水平状態となるように制御される。傾斜状態から水平状態への移行速度は、その過程で載置面１２上の各部品４０が散乱しない程度の速度であればよい。このような可動トレイ１１の動作は、候補部品４２の移動距離が確保されるまで（例えば、その候補部品４２がピックアップ対象となるまで）繰り返される。なお、アクチュエータ１３を駆動した結果、その候補部品４２とは異なる部品４０が新たな孤立部品４１になった場合には、その孤立部品４１を優先してピックアップしてもよい。あるいは、実際にその候補部品４２が孤立部品４１になったか否かに関わらず、その候補部品４２の移動距離に相当するアクチュエータ１３の作動回数が達成されるまでは可動トレイ１１を繰り返し動作させてもよい。
【００２３】
部品同士の重なり形状は、各部品４０の輪郭形状を多角形に近似して取り扱うものとする。他部品との干渉を解消するための移動距離は、多角形同士の重なり形状における各辺を基準とした、法線方向の幅の最小値として表すことができる。また、移動方向は、その最小値を与える法線方向となる。例えば、二部品の重なり形状が三角形である場合、その三角形の各辺に対して垂直な方向は三方向となる。本実施形態では、これらの三方向のそれぞれに二部品を離隔させたときに、最も小さな移動距離で二部品が重ならなくなる方向及び距離が算出される。
【００２４】
ここで、部品４０同士の重なり状態の判定に関して、「第一領域３１，第二領域３２，近接領域３３」を定義する。第一領域３１とは、画像中における個々の部品４０に対して設定される領域であり、部品４０の外形（近似外形）に相当する領域である。第二領域３２とは、個々の部品４０においてロボットハンド１６の掴み代に相当する領域である。また、近接領域３３とは、第一領域３１と第二領域３２とを含む領域である。上記の孤立部品４１，候補部品４２の判定は、他部品の第一領域３１と自部品の近接領域３３との重畳状態に応じて決定される。例えば、二つの部品Ａ，Ｂが存在するものとして、部品Ａの近接領域３３が部品Ｂの第一領域３１に重ならない場合に「部品Ａは部品Ｂから離隔している」と表現する。また、部品Ａがすべての他部品の第一領域３１に重ならない場合に「部品Ａは孤立部品４１である」と表現する。一方、部品Ａの近接領域３３が部品Ｂのみの第一領域３１に重なっており、他部品の第一領域３１に重ならない場合には「部品Ａは候補部品４２である」と表現する。
【００２５】
［２．ハードウェア］
図２は、制御装置２０のハードウェア構成を例示する図である。制御装置２０は、カメラ１５で撮影された画像に基づいてロボットハンド１６に部品４０のピックアップ作業を実施させる機能と、ピックアップするのに適した部品４０がない場合にアクチュエータ１３を駆動する機能とを併せ持つコンピュータ（電子制御装置）である。制御装置２０には、プロセッサ２１（CPU，中央処理装置），メモリ２２（メインメモリ，主記憶装置），補助記憶装置２３，インタフェース装置２４，記録媒体ドライブ２５などが内蔵され、内部バス２６を介して互いに通信可能に接続される。
【００２６】
プロセッサ２１は、制御ユニット（制御回路）や演算ユニット（演算回路），キャッシュメモリ（レジスタ群）などを内蔵する中央処理装置である。また、メモリ２２は、プログラムや作業中のデータが格納される記憶装置であり、例えばROM（Read Only Memory），RAM（Random Access Memory）がこれに含まれる。一方、補助記憶装置２３は、メモリ２２よりも長期的に保持されるデータやファームウェアが格納されるメモリ装置であり、例えばフラッシュメモリやEEPROM（Electrically Erasable Programmable Read-Only Memory）などの不揮発性メモリがこれに含まれる。インタフェース装置２４は、制御装置２０と外部との間の入出力（I/O，Input and Output）を司るものである。
【００２７】
記録媒体ドライブ２５は、光ディスクや半導体メモリなどの記録媒体２７（リムーバブルメディア）に記録，保存された情報を読み取る読取装置である。制御装置２０で実行されるプログラム（例えば、部品ピックアッププログラム１）は、メモリ２２内に記録，保存されることとしてもよいし、補助記憶装置２３の内部に記録，保存されることとしてもよい。あるいは、記録媒体２７上に部品ピックアッププログラム１が記録，保存されることとしてもよい。この場合、記録媒体２７に書き込まれている部品ピックアッププログラム１が、記録媒体ドライブ２５を介して制御装置２０に読み込まれる。
【００２８】
また、制御装置２０には可動トレイ１１のアクチュエータ１３，カメラ１５，ロボットハンド１６が接続される。制御装置２０にディスプレイやプリンターなどの出力装置が接続されている場合には、これらの出力装置に撮影画像を表示させてもよい。あるいは、外形が多角形に近似された部品４０のCG（Computer Graphics）画像をこれらの出力装置に表示させて、部品４０の重なり状態や孤立部品４１，候補部品４２などの配置状態をユーザが目視で確認できるようにしてもよい。
【００２９】
［３．ソフトウェア］
図３は、部品ピックアッププログラム１の処理内容を説明するためのブロック図である。部品ピックアッププログラム１には、設定部２，ピックアップ部３，抽出部４，算出部５，制御部６が設けられる。これらは、部品ピックアッププログラム１の機能を便宜的に分類して示したものであり、個々の要素を独立したプログラムとして記述してもよいし、これらの機能を兼ね備えた複合プログラムとして記述してもよい。
【００３０】
設定部２は、画像中における個々の部品４０に対し、他部品との重なり状態や位置を把握するための画像処理の一つとして、近接領域３３を設定するものである。この近接領域３３には、第一領域３１と第二領域３２とが含まれる。
本実施形態の第一領域３１は、部品４０の外形とほぼ同一形状の四角形とされ、第二領域３２は第一領域３１の両長辺に連設された四角形とされる。図４（Ａ）に示すように、第二領域３２の縦寸法を第一領域３１の縦寸法と同一のW1とおき、第二領域３２の横寸法をW2とおく。近接領域３３は、他部品との干渉の有無が判定される領域であり、第一領域３１の幅寸法を2W2分だけ大きくした四角形とされる。
【００３１】
第二領域３２の縦寸法W1，横寸法W2のそれぞれは、ロボットハンド１６の爪１７の大きさに応じて設定される。例えば、図４（Ｂ）に示すように、爪１７の縦寸法がW3であって横寸法がW4であるとき、W1≧W3，W2≧W4となるように、W1，W2のそれぞれが設定される。このような設定により、ピックアップ時におけるロボットハンド１６と他部品との干渉が防止される。
【００３２】
設定部２では、画像中に含まれる各部品４０の位置が識別されて識別番号が割り当てられる〔図５（Ａ）参照〕。また、それぞれの部品４０の輪郭形状が抽出される〔図５（Ｂ）参照〕とともに、それぞれの部品４０に第一領域３１，第二領域３２，近接領域３３が設定される〔図５（Ｃ）参照〕。孤立部品４１は、これらの第一領域３１，第二領域３２，近接領域３３に基づいて認識される。識別番号は部品４０を区別するための便宜的なものであって、公知の割り当て手法を用いることができる。孤立部品４１の認識手法も同様であり、公知の認識手法を用いることができる。例えば、近接領域３３が他部品の第一領域３１に重なっていない部品４０が孤立部品４１として抽出，認識される。
【００３３】
ピックアップ部３は、画像中に孤立部品４１が存在する場合に、その孤立部品４１をロボットハンド１６にピックアップさせるものである。図５（Ｄ）に示すように、孤立部品４１が一個である場合には、その孤立部品４１をロボットハンド１６にピックアップさせる指令が発せられる。また、孤立部品４１が二個以上である場合には、ロボットハンド１６の手先からの距離が最も近いものがピックアップ対象に設定され、そのピックアップ動作が終了すると引き続き、ロボットハンド１６の移動距離ができるだけ短くなる順序で、複数の孤立部品４１が順番にピックアップされる。なお、公知の手法を用いて優先順序を決定してもよい。
【００３４】
抽出部４は、画像中に孤立部品４１が存在しない場合に、候補部品４２を抽出するものである。ここでは、近接領域３３が他部品の第一領域３１に重なっており、かつ、重なっている他部品の数が一個である部品４０が候補部品４２として抽出，認識される。例えば、図５（Ｄ）中の１番，２番，５番は、候補部品４２となる。一方、３番は二つの他部品の第一領域３１と重なっているため候補部品４２から除外される。なお、図５（Ｄ）中の１番〜５番の部品４０に関する重なり状態は、以下の通りである。
【表１】
2018008343.tif 000003
【００３５】
算出部５は、候補部品４２と他部品との重なりを解消するために、その候補部品４２をどの方向にどの程度移動させればよいのかを算出するものである。すなわち、算出部５は、候補部品４２とそれに重なっている他部品との位置関係において、重なり状態を解消させうる最小の移動距離と移動方向とを算出する。また、算出部５は、移動方向を基準とした可動トレイ１１の周壁部１４と候補部品４２との離隔距離を算出する。
【００３６】
候補部品４２と他部品との重なり状態は、多角形で近似される。また、移動距離は、多角形の各辺を基準とした法線方向の幅の最小値とし、その最小値を与える法線方向を移動方向とする。例えば、重なり形状が三角形の場合には、三辺を基準とした三つの幅を算出し、それらのうち最小のものを移動方向とする。同様に、重なり形状が四角形であれば、四つの幅のうちの最小値を移動方向とし、重なり形状が五角形であれば、五つの幅のうちの最小値を移動方向とする。また、その移動方向を与える法線の方向を移動方向とする。
【００３７】
これらの移動距離，移動方向は、候補部品４２ごとに算出される。つまり、候補部品４２が複数存在する場合には、それぞれの候補部品４２についての移動距離と移動方向とが算出される。これらの移動距離の最小値が、重なり状態を解消するために最も効率的な移動距離及び移動方向となる。また、各候補部品４２についての移動方向が決定されると、その移動方向について、候補部品４２が周壁部１４からどの程度離れているのか（どの程度移動すれば周壁部１４に衝突するのか）が算出される。周壁部１４からの離隔距離は、候補部品４２の形状と周壁部１４の位置とに基づいて算出される。
【００３８】
ここで、図６（Ａ）に示すように、候補部品４２である２番と１番との重なり状態を例として説明する。算出部５は、２番の近接領域３３と１番の第一領域３１との重なり部分３４の形状を算出する。近接領域３３，第一領域３１がともに四角形であることから、重なり部分３４の形状（重なり形状）は多角形となる。算出部５は、重なり状態が解消される候補部品４２の移動距離と移動方向とを算出する。
【００３９】
重なり形状が三角形である場合、それぞれの辺について、その辺に対向する頂点までの垂線（法線）の長さを算出する。垂線長さは、その辺を基準とした重なり形状の幅（法線方向の幅）に相当する。各辺についての垂線長さを算出した後、それらの最小値が移動距離となり、その最小値を与える垂線の延在方向が候補部品４２の移動方向となる。厳密には、垂線の両端点の一方が候補部品４２に属し、かつ、他方が他部品に属する場合に、一方から他方へ向かう方向が候補部品４２の移動方向となる。
【００４０】
図６（Ｂ）に示す例は、重なり形状が頂点a，b，cで囲まれる三角形の場合である。
辺acは候補部品４２の近接領域３３の輪郭線であり、辺ab及び辺bcは他部品の第一領域３１の輪郭線である。また、頂点bにおける内角は直角であるものとする。辺abから頂点cまでの垂線長さは辺bcの長さに等しく、辺bcから頂点aまでの垂線長さは辺abの長さに等しい。また、辺acから頂点bまでの垂線長さは、頂点bからの垂線の足を点dとおけば線分bdの長さである。これらのうち最小値をとるのは線分bdであるから、線分bdの長さが候補部品４２の移動距離となる。また、移動方向は線分bdの延在方向（点dから頂点bへ向かう方向）となる。
【００４１】
図６（Ｃ）に示す例は、重なり形状が頂点a〜dで囲まれる四角形の場合である。
辺bc，辺cdは候補部品４２の近接領域３３の輪郭線であり、辺ab，辺adは他部品の第一領域３１の輪郭線である。また、頂点a，頂点cにおける内角は直角であるものとする。辺bcを基準とした法線方向の幅は辺cdの長さとなり、辺cdを基準とした法線方向の幅は線分aeの長さとなる（点eは頂点aから辺cdへの垂線の足）。同様に、辺abを基準とした法線方向の幅は辺adの長さとなり、辺adを基準とした法線方向の幅は線分cfの長さとなる（点fは頂点cから辺adへの垂線の足）。これらのうちの最小値〔図６（Ｃ）では線分cf〕が候補部品４２の移動距離となり、その方向（点cから点fへ向かう方向）が移動方向となる。
【００４２】
図６（Ｄ）に示す例は、重なり形状が頂点a〜eで囲まれる五角形の場合である。
辺bc，辺cdは候補部品４２の近接領域３３の輪郭線であり、辺ab，辺ae，辺deは他部品の第一領域３１の輪郭線である。また、頂点a，頂点c，頂点eの内角は直角であるものとする。辺bcを基準とした法線方向の幅は線分efの長さとなり（点fは頂点eから辺bcへの垂線の足）、辺cdを基準とした法線方向の幅は線分agの長さとなる（点gは頂点aから辺cdへの垂線の足）。また、辺abを基準とした法線方向の幅は辺aeの長さとなり、辺deを基準とした法線方向の幅も辺aeの長さとなる。さらに、辺aeを基準とした法線方向の幅は線分chの長さとなる（点hは頂点cから辺aeへの垂線の足）。これらのうちの最小値〔図６（Ｄ）では線分ch〕が候補部品４２の移動距離となり、その方向〔点cから点hへ向かう方向〕が移動方向となる。
【００４３】
制御部６は、算出部５で算出された候補部品４２の移動距離，移動方向，離隔距離に基づき、その候補部品４２を移動させるために可動トレイ１１の動作を制御するものである。例えば、候補部品４２が一つのみ存在する場合、その移動方向に候補部品４２を移動させるにはどのアクチュエータ１３をどのような割合で、どの程度の作動量で縮小動作させればよいのかが判断される。また、アクチュエータ１３を一回作動させただけでは十分な移動量を稼ぐことができない場合には、アクチュエータ１３の作動回数も判断される。このとき、候補部品４２の移動距離が周壁部１４からの離隔距離以下であることを確認した上で、アクチュエータ１３を作動させることが好ましい。一方、候補部品４２が複数個存在する場合には、移動距離が最小である候補部品４２が移動対象として選択される。このとき、離隔距離が移動距離以上であることを条件として、移動対象を決定してもよい。
【００４４】
候補部品４２の移動距離とアクチュエータ１３の作動量との関係について説明する。ここでは図７に示すように、載置面１２の四隅にアクチュエータ１３Ａ〜１３Ｄが設けられているものとする。アクチュエータ１３Ａ〜１３Ｄの作動割合（例えば、シリンダーの縮小量の割合）は、傾斜方向に応じて一意に定まる。傾斜方向が図８中の左方向であるとき、二つのアクチュエータ１３Ａ，１３Ｂを同一作動量で縮小させればよい。また、傾斜方向が図８中の上方向であるときには、二つのアクチュエータ１３Ａ，１３Ｃを同一作動量で縮小させればよい。
【００４５】
ここで、可動トレイ１１の載置面１２を水平状態から急激に傾斜させたときの傾斜角をθとすれば、部品４０の自然落下による移動量δ（載置面１２に対する移動量）は傾斜軸からの距離に応じて増大する（図８参照）。傾斜軸からの距離がLの位置での移動量δ1は以下の式１で与えられる。同様に、傾斜軸からの距離がL+Dの位置での移動量δ2は以下の式２で与えられる。このように、候補部品４２の傾斜軸からの距離と傾斜角度とに基づいて、その候補部品４２の移動量を算出可能である。同様に、候補部品４２に重なっている他部品の傾斜軸からの距離と傾斜角度とに基づいて、他部品の移動量を算出可能である。前者と後者との差が移動距離に達すると、候補部品４２と他部品との重なり状態が解消される。
【００４６】
【数１】
2018008343.tif 000004
なお、式１中のLを0に限りなく近づけた場合の極限値が0であるのに対し、式２中のLを0に限りなく近づけた場合の極限値は正の値〔(D/cosθ)-D〕をとる。したがって、可動トレイ１１の駆動を繰り返すことで、それぞれの部品４０が互いの隙間を増大させるように移動し、候補部品４２とこれに重なる他部品との距離が増大する。
【００４７】
図９は、アクチュエータ１３の作動状態を説明するためのグラフである。縦軸はアクチュエータ１３の高さ方向の位置を表す。アクチュエータ１３は、可動トレイ１１の載置面１２を水平状態から高速で傾斜させた後に元に戻す動作を繰り返すように制御される。グラフ中の時刻t1〜t2はアクチュエータ１３を急速に縮小動作させている期間であり、部品４０が一時的に浮遊するとともに自然落下する期間である。時刻t2〜t3はアクチュエータ１３の縮小状態を維持する期間であり、自然落下している部品４０の待ち受け期間である。時刻t3〜t4はアクチュエータ１３をゆっくりと伸張動作させている期間であり、載置面１２を再び水平状態に戻している期間である。アクチュエータ１３の位置の変化勾配は、時刻t1〜t2間よりも時刻t3〜t4間の方が小さくなるように設定される。
【００４８】
このような動作は、候補部品４２の移動距離が確保されるまで継続される。つまり、制御部６は、可動トレイ１１を重力加速度よりも大きな加速度で移動方向に傾斜させてから元に戻す動作を制御するとともに、この制御を移動距離に応じた回数で繰り返す機能を持つ。なお、一サイクルあたりの部品４０の移動量は、アクチュエータ１３の一回の伸縮量が大きいほど増大する。したがって、アクチュエータ１３の一回の伸縮量は最大作動量近傍に設定することが好ましい。
【００４９】
［４．フローチャート］
図１０は、部品ピックアッププログラム１の制御手順を説明するためのフローチャートである。まず、可動トレイ１１上に置かれた複数の部品４０が、カメラ１５で撮影される（ステップＡ１）。画像中における各部品４０の配置状態は、制御装置２０で認識され（ステップＡ２）、画像中に部品４０が存在するか否かが判定される（ステップＡ３）。ここで部品４０が存在しない場合（例えば、すべての部品４０がピックアップされた状態である場合）には、本フローを終了する。
【００５０】
画像中に部品４０が存在する場合には、個々の部品４０に対して第一領域３１，第二領域３２，近接領域３３が設定される（ステップＡ４）。また、近接領域３３が他部品の第一領域３１と重なっていない孤立部品４１（ピックアップ対象）の有無が判断される（ステップＡ５）。ここで、画像中に孤立部品４１が存在する場合には、その孤立部品４１をロボットハンド１６にピックアップさせる制御が実施される（ステップＡ６）。孤立部品４１が複数存在する場合には、ロボットハンド１６の手先からの距離が最も近いものがピックアップ対象に設定され、すべての孤立部品４１に対するピックアップ制御が繰り返される。
【００５１】
一方、孤立部品４１が存在しない場合（例えば、すべての孤立部品４１がピックアップされた場合）には、一つの他部品のみと重なっている候補部品４２が画像中から抽出され（ステップＡ７）、個々の候補部品４２についての重なり状態を解消するための移動距離，移動方向が算出される（ステップＡ８）。また、個々の候補部品４２と周壁部１４との離隔距離が算出され（ステップＡ９）、候補部品４２の移動距離と比較して周壁部１４からの離隔距離が十分にあり、かつ、移動距離が最も小さい候補部品４２が移動対象として選択される（ステップＡ１０）。
【００５２】
移動対象となる候補部品４２が決定すると、その候補部品４２の移動距離，移動方向，離隔距離に基づいて、アクチュエータ１３の目標作動状態（例えば、位置，作動量，作動回数など）が算出される（ステップＡ１１）。候補部品４２の移動方向は、駆動するアクチュエータ１３の位置や個数，個々の作動量の比率などに影響を与える。また、候補部品４２の移動距離は、それぞれのアクチュエータ１３の作動量に影響を与える。その後、アクチュエータ１３が水平状態から傾斜状態へと急激に変化するように制御され（ステップＡ１２）、移動距離に応じた回数で周期的に繰り返される（ステップＡ１３）。なお、候補部品４２が孤立部品４１になった場合には、次回の制御周期でピックアップされる。
【００５３】
［５．効果］
（１）本実施形態では、可動トレイ１１上に置かれた個々の部品４０に対し、第一領域３１，第二領域３２，近接領域３３が設定される。また、これらの領域に基づいて孤立部品４１の有無が判断され、孤立部品４１がある場合にはそれがピックアップ対象とされる。一方、孤立部品４１がない場合には、近接領域３３が単一の他部品の第一領域３１と重なる候補部品４２が抽出され、その候補部品４２と他部品との重なりが解消される移動距離，移動方向が算出される。これらの移動距離，移動方向に基づいて可動トレイ１１を制御することで、候補部品４２と他部品との重なり状態を効率よく解消することができ、部品４０のピックアップ効率を向上させることができる。
【００５４】
（２）本実施形態では、候補部品４２と他部品との重なり形状が多角形で近似される。また、多角形の各辺を基準とした法線方向の幅の最小値が移動距離として算出され、その最小値を与える法線方向が移動方向として算出される。これにより、候補部品４２を孤立部品４１にするための移動量を最小化することができ、重なり状態を解消するのにかかる時間を短縮することができる。したがって、部品４０のピックアップ効率を向上させることができる。
【００５５】
（３）本実施形態では、可動トレイ１１を重力加速度よりも大きな加速度で移動方向に傾斜させてから元に戻す動作が繰り返される。このような制御により、候補部品４２を移動方向に向かって確実かつ容易に移動させることができる。また、このような可動トレイ１１の動作による候補部品４２の移動量を精度よく予測，算出することができる。これにより、重なり状態の制御性を向上させることができ、候補部品４２を短時間で効率的に孤立部品４１にすることができる。したがって、部品４０のピックアップ効率を向上させることができる。
【００５６】
（４）本実施形態では、複数の候補部品４２が存在する場合に、最小の移動距離を持つ候補部品４２が移動対象として選択される。これにより、効率的な順序で移動対象を設定することができ、部品４０のピックアップ効率を向上させることができる。
（５）本実施形態では、移動方向を基準とした可動トレイ１１の周壁部１４と候補部品４２との離隔距離が算出される。また、移動対象の設定に際し、候補部品４２の移動距離が離隔距離以下であることを条件としている。これにより、移動対象が周壁部１４に衝突して孤立部品４１にならないような事態を回避することができる。したがって、候補部品４２の重なり状態をより確実に解消することができ、部品４０のピックアップ効率を向上させることができる。
【００５７】
［６．付記］
上記の変形例を含む実施形態に関し、以下の付記を開示する。
（付記１）
可動トレイ上に置かれた複数の部品を撮影した画像を用いて、前記部品の一つをロボットハンドにピックアップさせる部品ピックアップ方法において、
前記画像中における個々の前記部品に対し、前記部品の外形に相当する第一領域と前記ロボットハンドの掴み代に相当する第二領域とを含む近接領域を設定し、
前記近接領域が他部品の前記第一領域から離隔している孤立部品がある場合に、前記孤立部品を前記ロボットハンドにピックアップさせ、
前記孤立部品がない場合に、前記近接領域が単一の他部品の前記第一領域と重なる候補部品を抽出し、
前記候補部品と他部品との重なりが解消される前記候補部品の移動距離及び移動方向を算出し、
前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する
ことを特徴とする、部品ピックアップ方法。
【００５８】
（付記２）
前記移動距離及び前記移動方向を算出する際に、前記候補部品と他部品との重なり形状を多角形で近似し、前記多角形の各辺を基準とした法線方向の幅を算出し、前記幅の最小値を前記移動距離とし、前記最小値を与える前記法線方向を前記移動方向とする
ことを特徴とする、付記１記載の部品ピックアップ方法。
（付記３）
前記可動トレイの動作を制御する際に、前記可動トレイを重力加速度よりも大きな加速度で前記移動方向に傾斜させてから元に戻す動作を、前記移動距離に応じた回数で繰り返す
ことを特徴とする、付記１または２記載の部品ピックアップ方法。
（付記４）
複数の前記候補部品が存在する場合に、前記移動距離が最小となる前記候補部品の前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する
ことを特徴とする、付記１〜３のいずれか１項に記載の部品ピックアップ方法。
（付記５）
前記移動距離及び前記移動方向を算出する際に、前記移動方向を基準とした前記可動トレイの周壁部と前記候補部品との離隔距離が前記移動距離以上であることを確認する
ことを特徴とする、付記１〜４のいずれか１項に記載の部品ピックアップ方法。
【００５９】
（付記６）
可動トレイ上に置かれた複数の部品を撮影した画像を用いて、前記部品の一つをロボットハンドにピックアップさせる部品供給装置において、
前記画像中における個々の前記部品に対し、前記部品の外形に相当する第一領域と前記ロボットハンドの掴み代に相当する第二領域とを含む近接領域を設定する設定部と、
前記近接領域が他部品の前記第一領域から離隔している孤立部品がある場合に、前記孤立部品を前記ロボットハンドにピックアップさせるピックアップ部と、
前記孤立部品がない場合に、前記近接領域が単一の他部品の前記第一領域と重なる候補部品を抽出する抽出部と、
前記候補部品と他部品との重なりが解消される前記候補部品の移動距離及び移動方向を算出する算出部と、
前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する制御部と、
を備えたことを特徴とする、部品供給装置。
【００６０】
（付記７）
前記算出部が、前記候補部品と他部品との重なり形状を多角形で近似し、前記多角形の各辺を基準とした法線方向の幅を算出し、前記幅の最小値を前記移動距離とし、前記最小値を与える前記法線方向を前記移動方向とする
ことを特徴とする、付記６記載の部品供給装置。
（付記８）
前記制御部が、前記可動トレイを重力加速度よりも大きな加速度で前記移動方向に傾斜させてから元に戻す動作を、前記移動距離に応じた回数で繰り返す
ことを特徴とする、付記６または７記載の部品供給装置。
（付記９）
前記制御部が、複数の前記候補部品が存在する場合に、前記移動距離が最小となる前記候補部品の前記移動距離及び前記移動方向に基づき、前記可動トレイの動作を制御する
ことを特徴とする、付記６〜８のいずれか１項に記載の部品供給装置。
（付記１０）
前記算出部が、前記移動方向を基準とした前記可動トレイの周壁部と前記候補部品との離隔距離が前記移動距離以上であることを確認する
ことを特徴とする、付記６〜９のいずれか１項に記載の部品供給装置。
（補足）
前記部品供給装置が、前記可動トレイの傾斜角度を変更するアクチュエータを有し、前記制御部が、前記移動距離及び前記移動方向に基づいて前記アクチュエータの作動量を制御することが好ましい。あるいは、前記制御部が、前記移動距離及び前記移動方向に基づいて前記傾斜角度を制御することが好ましい。
【００６１】
［７．変形例］
上述の実施形態では、爪１７の間に部品４０を挟みこんだまま掴み上げるロボットハンド１６を例示したが、ロボットハンド１６によるピックアップ動作はこれに限定されない。例えば、爪１７の代わりに真空式の吸引カップを備えたロボットハンド１６を用いて、部品４０を吸い上げる装置構成としてもよい。この場合、吸引カップのサイズに応じた第二領域３２，近接領域３３を設定することで、上述の実施形態と同様の制御を実施することができ、同様の作用，効果を奏するものとなる。
【００６２】
また、上述の実施形態では、可動トレイ１１の載置面１２を水平状態から傾斜させているが、載置面１２を厳密な水平にする必要はない。少なくとも載置面１２の傾斜を増大させることで、各部材４０をその傾斜方向に移動させることができ、上述の実施形態と同様の効果を奏するものとなる。
【符号の説明】
【００６３】
１  部品ピックアッププログラム
２  設定部
３  ピックアップ部
４  抽出部
５  算出部
６  制御部
１０  部品供給システム
１１  可動トレイ
１２  載置面
１３  アクチュエータ
１４  周壁部
１５  カメラ
１６  ロボットハンド
１７  爪
２０  制御装置（部品供給装置）
２１  プロセッサ
２２  メモリ
２３  補助記憶装置
２４  インタフェース装置
２５  記録媒体ドライブ
２６  内部バス
２７  記録媒体
３１  第一領域
３２  第二領域
３３  近接領域
３４  重なり部分
４０  部品
４１  孤立部品
４２  候補部品
【図１】
2018008343.tif 000005
【図２】
2018008343.tif 000006
【図３】
2018008343.tif 000007
【図４】
2018008343.tif 000008
【図５】
2018008343.tif 000009
【図６】
2018008343.tif 000010
【図７】
2018008343.tif 000011
【図８】
2018008343.tif 000012
【図９】
2018008343.tif 000013
【図１０】
2018008343.tif 000014