(57)【要約】      （修正有）【課題】ワークを収納する容器の形状を推定する情報処理装置、容器形状の推定方法、ワークピッキングシステム及びプログラムを提供する。【解決手段】ワークが収納された容器の形状を推定する情報処理装置は、容器を含む空間について、特定の位置から対象までの距離に関する距離値プロファイルを生成する。情報処理装置は、容器を含む画像から、容器に収納されているワークを認識し、容器に対応する距離値プロファイルと認識処理により認識されたワークの領域とに基づいて、容器の形状を推定する。ここで、推定においては、認識されたワークの領域が容器の形状から除外される。【選択図】図１
2016091053.tif 000002
【特許請求の範囲】
【請求項１】
ワークが収納された容器の形状を推定する情報処理装置であって、
前記容器を含む空間について、特定の位置から対象までの距離に関する距離値プロファイルを生成する生成手段と、
前記容器を含む画像から、前記容器に収納されているワークを認識する認識手段と、
前記距離値プロファイルと、前記認識手段により認識されたワークの領域とに基づいて、前記容器の形状を推定する推定手段と、を備え、
前記推定手段は、前記認識手段により認識されたワークの領域を前記容器の形状から除外することを特徴とする情報処理装置。
【請求項２】
前記推定手段は、前記認識手段により認識されたワークの領域が前記容器の形状の一部として推定されないように前記距離値プロファイルを更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記距離値プロファイルは、対象までの距離値を画素値とした距離値マップと、前記距離値マップの各画素について距離値の最大の勾配値と方向を示す距離値勾配を画素値とした距離値勾配マップとを含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記推定手段は、
前記容器を含む画像から前記容器の外部形状を判断し、
前記外部形状の内側の各画素の距離値および距離値勾配に基づいて、前記容器の内部形状を推定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記容器の内部形状は、距離値が一定となる前記容器の縁領域、および／または、勾配値が所定の範囲となる前記容器の内側の斜面形状、を含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記認識手段は、前記容器を含む空間を撮像することにより得られた画像から前記ワークの領域を認識することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記認識手段は、前記距離値プロファイルに含まれる、対象までの距離値を画素値とした距離値マップを用いて前記ワークの領域を認識することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記認識手段は、ワークを認識した際の信頼度スコアを、該ワークとして認識された領域の画素に累積して累積マップを生成し、
前記推定手段は、前記累積マップにおいて信頼度スコアの累積値が所定の閾値を超える画素により形成される領域を前記ワークの領域として用いることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記推定手段は、前記距離値勾配マップから、勾配値が所定値を超える領域の最も外側の輪郭を前記容器の外部形状と判断することを特徴とする請求項４に記載の情報処理装置。
【請求項１０】
前記推定手段は、前記空間において前記容器を含む状態で撮像を行って得られた画像と前記空間において前記容器を含まない状態で撮像を行って得られた画像との差分に基づいて前記容器の外部形状を判断することを特徴とする請求項４に記載の情報処理装置。
【請求項１１】
前記推定手段は、前記空間において前記容器を含む状態の距離値プロファイルと前記空間において前記容器を含まない状態の距離値プロファイルとの差分に基づいて前記容器の外部形状を判断することを特徴とする請求項４に記載の情報処理装置。
【請求項１２】
前記推定手段は、さらに前記容器の形状に関する情報に基づいて、前記容器の形状を推定することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記推定手段により推定された前記容器の内部形状と、前記認識されたワークとの位置関係に基づいて、ピック手段が前記ワークをピックする際に、前記容器の内部と前記ピック手段との機械的な干渉の発生を判定する判定手段と、
前記判定手段により干渉が発生しないと判定された場合に、前記ピック手段による前記ワークのピックを実行させる実行手段とをさらに備えることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
請求項１３に記載された情報処理装置と、
前記容器を含む画像と前記距離値プロファイルを得るための情報を取得する取得手段と、
前記ピック手段と、を有することを特徴とするワークピッキングシステム。
【請求項１５】
ワークが収納された容器の形状を推定するための推定方法であって、
前記容器を含む空間について、特定の位置から対象までの距離に関する距離値プロファイルを生成する生成工程と、
前記容器を含む画像から、前記容器に収納されているワークを認識する認識工程と、
前記距離値プロファイルと、前記認識工程で認識されたワークの領域とに基づいて、前記容器の形状を推定する推定工程と、を有し、
前記推定工程では、前記認識工程で認識されたワークの領域を前記容器の形状から除外することを特徴とする推定方法。
【請求項１６】
請求項１５に記載された方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークピッキングシステム及びそれを制御する情報処理装置および容器形状の推定方法に関する。
【背景技術】
【０００２】
部品などのワークが、ワーク供給箱内にバラ積み、もしくは山積みされた状態で供給され、そのワークの位置および姿勢を画像から認識し、ロボットによりピッキングするタスクおよびシステムが知られている。このタスクにおいては、ワークをピッキングする際に、ロボットアーム、およびエンドエフェクタと、ワーク供給箱との干渉を回避する必要がある。ワークはワーク供給箱内で位置および姿勢を限定されない状況で供給されるため、これらのワークをピッキングする際のロボットアーム、およびエンドエフェクタも、画像から認識したワークに対応して様々な位置および姿勢を取る。その際にはロボットアームおよびエンドエフェクタの損傷を防ぐためにも、ワーク供給箱と干渉しないようにロボットアームおよびエンドエフェクタを制御する必要がある。ここでワーク供給箱の干渉を回避するべくロボットアームおよびエンドエフェクタを制御するためには、ワーク供給箱の位置および形状の情報が必要となる。これに対して従来は、特許文献１にあるようにワーク供給箱の位置および形状を限定し、その情報をロボットアームおよびエンドエフェクタのコントローラに対して事前に与える手法が採られていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７８２６７９号公報
【特許文献２】特開昭６０−１５２９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述したようなピッキングシステムでは、そもそもワークの位置および姿勢を限定する必要が無いことをメリットとしている。したがって、ワーク供給箱の位置および姿勢を事前に限定する必要があるというのは、労力削減に関するシステムの導入メリットを相殺する結果となってしまう。また、工場などの実際の現場では、ワーク供給箱が複数種類存在し、その形状を限定することが不可能な場合も有り得る。
【０００５】
本発明は上記の課題に鑑み、ワークを収納する容器の形状を推定することを可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
ワークが収納された容器の形状を推定する情報処理装置であって、
前記容器を含む空間について、特定の位置から対象までの距離に関する距離値プロファイルを生成する生成手段と、
前記容器を含む画像から、前記容器に収納されているワークを認識する認識手段と、
前記距離値プロファイルと、前記認識手段により認識されたワークの領域とに基づいて、前記容器の形状を推定する推定手段と、を備え、
前記推定手段は、前記認識手段により認識されたワークの領域を前記容器の形状から除外する。
【発明の効果】
【０００７】
本発明によれば、ワークを収納する容器の形状を画像から推定することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における位置姿勢推定処理を示すフローチャート。
【図２】第１実施形態におけるピッキングシステムの構成例を示す図。
【図３】第１実施形態におけるワーク供給箱とワークの収容状態を示す図。
【図４】第１実施形態におけるワーク供給箱を示す図。
【図５Ａ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｂ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｃ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｄ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｅ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｆ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図５Ｇ】第１実施形態における、ワーク供給箱を含む画像例を示す図。
【図６】第２実施形態における位置姿勢推定処理を示すフローチャート。
【図７】第２実施形態における、ワーク供給箱を含む画像例を示す図。
【図８】第３実施形態によるワークエリアおよびワーク供給箱を含む画像例を示す図。
【図９】第４実施形態における、ワーク供給箱を含む画像例を示す図。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して本発明の好適な実施形態のいくつかを説明する。
【００１０】
＜第１実施形態＞
以下、図面を参照して本発明の第１実施形態を説明する。第１実施形態では、ロボットを用いてワークをピッキングするタスクにおいて、ワークが収納された容器の一例であるワーク供給箱の位置および形状を推定する位置姿勢推定方法の例を説明する。なお、ワーク供給箱に関しては、その位置および形状の少なくとも一部が不明であるとする。
【００１１】
ワーク供給箱の位置姿勢推定方法を具体的に説明するために、本実施形態のワーク供給箱の位置姿勢推定方法を適用し、ロボットを用いてワークをピッキングするタスクを実行するピッキングシステム１００を図２に示す。本実施形態におけるピッキングシステム１００は、ワークをピッキングするロボット１０１と、ワーク供給箱１２０を含む領域の画像を取得するカメラ１１１と、パターン光を投影するプロジェクタ１１２、情報処理装置としてのコントローラ１３０を有する。コントローラ１３０は、所定のプログラムを実行するコンピュータおよび／または専用の演算処理回路を実装した情報処理装置であり、ピッキングシステム１００を構成する各装置の制御や、ワーク供給箱の位置姿勢推定処理を実行する。コントローラ１３０において、ＣＰＵ１３１はメモリ１３２に格納されているプログラムを実行することで、図１のフローチャートに示されるような、ピッキングシステム１００の各種制御を実現する。メモリ１３２には、プログラムや各種データが格納される。インタフェース１３３は、ＣＰＵ１３１がロボット１０１との信号をやり取りしたり、カメラ１１１やプロジェクタ１１２を制御するための、インタフェースである。ディスプレイ１３４は、ＣＰＵ１３１の制御下で各種情報を表示する。入力部１３５はユーザによる操作指示を入力する。
【００１２】
ロボット１０１は、ロボットアーム１０２と、ワークをピッキングするためのエンドエフェクタ１０３を有している。また、本実施形態ではカメラ１１１は所定の位置に固定されているものとしているが、ワーク供給箱１２０を含む領域の画像を取得可能なものであれば、ロボットアーム１０２等の可動物に設置されていても良く、その設置状態は限定されない。また、本実施形態では、ワーク供給箱１２０を含む領域の距離情報を取得する方法として、空間コード化法を想定しているため、空間コードパターンを投影する構成として、プロジェクタ１１２を含んでいる。ただし、後述するように、距離情報を取得する方法はその他の手法であっても構わないため、プロジェクタ１１２を含む構成はあくまで一例である。
【００１３】
ワーク供給箱１２０にはワーク１２１さまざまな状態で収納されている。図３には、ピッキングシステムの作業対象となるワーク１２１が収納された容器の一例としてのワーク供給箱１２０が示されている。ワーク供給箱１２０にはワーク１２１がバラ積み状態で収納されており、例えば図３（ａ）では、ワーク１２１がワーク供給箱１２０の中央付近を頂点とする山積み状態で収納されている状態が示されている。また、図３（ｂ）に示すように、ワーク１２１がワーク供給箱１２０に密に収納され、ワーク供給箱１２０の縁部１２２とほぼ同様の高さに分布しているような場合も有り得る。図３（ａ）および図３（ｂ）ではワーク供給箱１２０を上面図と側面図で示している。
【００１４】
図４（ａ）、図４（ｂ）、図４（ｃ）は、ワーク供給箱の外部形状、縁領域、斜面形状の定義を説明する図である。前述したワーク供給箱の外部形状とは、図４（ａ）において太線４０１で示すように、ワーク供給箱１２０の外輪郭形状を意味している。またワーク供給箱１２０の縁領域とは、図４（ｂ）において斜線で示される領域４０２のように、ワーク供給箱１２０の外部形状と等しい高さを有する領域（すなわち縁領域）を意味している。またワーク供給箱１２０の斜面形状とは、図４（ｃ）において、ワーク供給箱１２０の内側面の下端輪郭（太線）と、斜線で示した領域（斜面４０３）の勾配値および勾配方向を意味している。
【００１５】
続いて、本実施形態におけるワーク供給箱１２０の位置姿勢推定方法に関して詳しく説明する。初期状態として、ピッキング対象となるワーク１２１は、図３（ｂ）に示すようにワーク供給箱１２０に収納されている（一部のワーク１２１がワーク供給箱１２０の縁部１２２に載っている）とする。また、ワーク供給箱１２０は、図２に示すようにロボット１０１によりワークのピッキングが可能な領域内に配置されているものとする。ここでワーク供給箱１２０の配置位置は、カメラ１１１の撮像可能領域内であれよく、特にその位置を限定する必要は無い。また、ワーク供給箱１２０の形状は事前に不明なものとする。
【００１６】
図１は、第１実施形態によるワーク供給箱の位置姿勢判定方法説明するフローチャートである。まずステップＳ１０において、コントローラ１３０は、カメラ１１１による撮影を実行し、ワーク供給箱１２０を含む領域の画像を取得する。本実施形態では、カメラ１１１は鉛直下向き方向に固定されおり、例えば図５Ａ（ａ）に示す画像が撮像されたとする。なお外側の太枠線は、画像枠である。
【００１７】
また、前述したように、本実施形態では、距離値プロファイルの生成処理（ステップＳ２０）において、空間コード化法を用いている。そのため、ステップＳ１０の撮像においては、前述した均一照明で撮像した図５Ａ（ａ）に示した画像とともに、プロジェクタ１１２により空間コード化パターンを投影して撮像した複数枚の画像を取得するようにしている。
【００１８】
ステップＳ２０において、コントローラ１３０は、ワーク供給箱１２０を含む空間について、特定の位置（たとえばカメラ）から対象までの距離に関する情報を画素値としたマップを含む距離値プロファイルの生成処理を実行する。本実施形態の距離値プロファイルの生成処理は、距離値マップの生成（ステップＳ２１）と、距離値勾配マップの生成（ステップＳ２２）を含む。まず、ステップＳ２１において、コントローラ１３０は、ステップＳ１０で、ワーク供給箱１２０を含む空間を、空間コード化パターンを投影して撮像することにより取得した複数枚の画像より、距離値マップ（図５Ａ（ｂ））を生成する。ここで距離値マップとは、画像中のワーク供給箱を含む領域に関して、各画素位置に対応する実物の点とカメラとの距離を各画素の値とし、画像としてマッピングしたものである。図５Ａ（ｂ）では、カメラとの距離が近い点が白色で示され、カメラとの距離が遠くなるほど黒色に示されている。
【００１９】
なお、空間コード化法による距離値マップの生成方法の詳細に関しては、本発明の主眼とするところでは無いため、特許文献２を参照するものとして説明を省略する。また、本実施形態では、画像から距離値マップを生成する方法として空間コード化法を使用しているが、その他の手法を用いても構わない。たとえば、カメラを単眼カメラに限る必要は無く、ステレオカメラを用いた方法を用いても構わない。さらに、距離値マップを得られるものであれば、必ずしも画像を用いた手法である必要も無い。これらのバリエーションに関しては、本発明の主眼とするところでは無いため、説明を省略する。
【００２０】
続いて、ステップＳ２２において、コントローラ１３０は、距離値勾配マップを生成する。距離値勾配マップの生成では、コントローラ１３０は、ステップＳ２１で生成された距離値マップを元に、各画素位置における距離値勾配を算出し、画像としてマッピングする。より具体的には、コントローラ１３０は、図５Ａ（ｂ）に示した距離値マップ上の各画素に関して、隣接８近傍画素の値との差分値（当該画素値−隣接画素値）を算出し、差分値の中でその絶対値が最大の値（最大勾配値）を有するものを当該画素の距離値勾配とする。これを全ての画素に対して実行し、再度画像としてマッピングする。また同時に、最大の勾配を有する隣接画素への方向（勾配方向）を各画素に割り当てて保持する。
【００２１】
図５Ａ（ｃ）に、距離値勾配マップの生成結果を示す。なお図５Ａ（ｃ）では、図の視認性を考慮し、勾配値の絶対値が大きいものを白色で示し、勾配値の絶対値が小さいものを黒色で示している。従って、勾配値が小さい値を持つ平らな面は黒色で示され、勾配値が大きい値を持つ斜面は白色で示される。また、勾配方向は、８近傍画素のうちの、最大勾配値を提供する画素の方向となり、Ｕ，ＲＵ，Ｒ，ＲＤ，Ｄ，ＬＤ，Ｌ，ＬＵのいずれかとなる
【００２２】
続いて、コントローラ１３０は、ステップＳ３０において距離値プロファイルを用いてワーク供給箱１２０の位置・形状の推定処理を実行する。本実施形態において、ワーク供給箱１２０の形状の推定、特に内部形状の推定においては、ステップＳ４０によるワークの領域の認識結果が反映される。すなわち、認識されたワークの領域がワーク供給箱１２０の形状から除外することにより、より正確にワーク供給箱１２０の形状が推定される。
【００２３】
まず、ステップＳ３１において、コントローラ１３０は、距離値マップおよび距離値勾配マップを元にして、ワーク供給箱１２０の外部形状の推定を行う。本実施形態においては、図４（ｂ）に示すように、ワーク供給箱１２０の外部形状がワーク供給箱１２０を設置したワークエリア面に対して高さを有するため、外部形状近傍の画素位置において距離値勾配が大きな値を示す。
そこでまず、コントローラ１３０は、図５Ａ（ｃ）に示す距離値勾配マップにおいて、事前に設定した閾値Ａ以上の値を有する画素を抽出する。その結果、図５Ｂ（ｄ）に示すような白線が得られたとする。そして、コントローラ１３０は、集合の最外輪郭線を外部形状の輪郭線とみなすことにより、ワーク供給箱１２０の仮外部形状を決定する（図５Ｂ（ｅ）における白線）。
【００２４】
ただし図５Ｂ（ｅ）に示した場合のように、ワーク供給箱の縁を超えてワークが外にはみ出している場合は、仮外部形状はワーク供給箱の真の外部形状には一致しない。これを判定するために、コントローラ１３０は、仮外部形状の線上の画素の距離値を抽出し、その中の最大値と最小値の差分値を算出する。この差分値が、ワークの短辺軸長以上の場合には、縁を超えてワークが外にはみ出しているものとみなし、そのまま仮外部形状として保持する。一方、この差分値がワークの短辺軸未満の場合には、縁を超えて外にはみ出しているワークは存在しないものとして、仮外部形状を確定外部形状として保持する。そして、コントローラ１３０は、仮外部形状または確定外部形状の２次元画像上での重心位置を算出する。なお、２次元画像としては、たとえば、距離値マップを用いることができる。また、ワークの短辺軸長とは、ワークの縦、横、奥行き方向の寸法のうち最小の寸法（ワークに外接する直方体の３辺のうちの最短の辺の長さ）をいうものとする。
【００２５】
なお図１に示すように、ステップＳ３１における外部形状の推定は全体フローにおいて繰り返し実行されるが、既に確定外部形状およびそれを元にした重心位置が決定されている場合には、外部形状の推定（ステップＳ３１）は省略される。繰り返しのフローに関しては、後述する。また、以上のようにして推定された外部形状の画像中の位置から、ワーク供給箱１２０の位置が推定され得る。
【００２６】
また、一般的に、ワーク供給箱１２０は、それが設置されるワークエリア面に対していくらかの高さを有している。したがって、ワーク供給箱１２０の外部形状の高さに関して全く情報が無い場合は、上述した閾値Ａを、ワーク供給箱１２０が設置されていない状態でのワークエリア面自体の距離値勾配マップの最大値に設定すれば良い。ワークエリア面自体の距離値勾配マップは、ワーク供給箱１２０が設置されていない状態でワークエリア面の距離値マップを生成し、それを元に算出することが可能である。ただし、この場合はワークエリア面の距離値勾配マップの最大値が、ワーク供給箱１２０の外部形状の高さよりも小さい値であることが必要である。
【００２７】
また仮に、ワークエリア面に対して全く高さを有しないワーク供給箱であったとしたら、これはワーク供給箱が平らな薄板状の物体であることを意味している。したがって、そもそも外部形状部とロボットアームおよびエンドエフェクタとの干渉は起こり得ず、外部形状の抽出は必要無いため、不都合は生じない。
【００２８】
次に、ステップＳ３２において、コントローラ１３０は、ワーク供給箱１２０において、その高さがほぼ一定な縁領域を推定する。縁領域の推定においては、前述したように決定した仮外部形状または確定外部形状の線上の画素の距離値を抽出する。仮外部形状の場合は、抽出した画素の距離値の中の最小値が縁高さとして用いられる。また、確定外部形状の場合は、抽出した画素の距離値の平均値が縁高さとして用いられる。なおここでは、仮外部形状の場合は縁上にワークが載っていることを考慮して縁高さを最小値で規定したが、ワークの高さ（短辺軸長）が低いことが分っている場合などは確定外部形状の場合と同様に平均値を縁高さとしても良い。
【００２９】
続いて、コントローラ１３０は、図５Ｂ（ｆ）に斜線領域で示すように、決定した縁高さに近い値を有する画素を距離値マップより抽出する。ここで、縁高さに近い値の範囲は、例えば「縁高さ±ワークの短辺軸長」として決めることができる。抽出した画素群は、縁高さに近い値を有することから、ワーク供給箱１２０の縁部である可能性があるため、縁領域として決定する。
【００３０】
ここで、縁領域とする画素群は、前記外部形状から８近傍画素を辿った場合に繋がっている画素群のみとし、図５Ｃ（ｇ）に黒色領域で示したように外部形状に繋がらない孤立画素群は含まない。すなわち、ステップＳ３２の処理は、ワーク供給箱１２０の縁部の領域を推定することを目的としている。そして、外部形状と繋がらない画素群はワークがたまたま縁高さと同様の高さに積み重なったものであると考えられるため、縁領域の推定対象から除外される。
【００３１】
続いて、ステップＳ３３において、コントローラ１３０は、ワーク供給箱１２０の斜面形状を推定する。本処理では、図４（ｃ）に示すようにワーク供給箱１２０の側面が傾斜を持っている場合に対応するために、ワーク群により隠れていない側面領域とワーク群との境界線と、距離値勾配マップ上での斜面勾配方向および勾配値が抽出される。
【００３２】
コントローラ１３０は、まず距離値勾配マップにおいて、仮外部形状または確定外部形状からワーク供給箱１２０の内部方向（重心方向）に勾配値を探索し、勾配値の絶対値が閾値Ｂよりも大きい値を有する画素を抽出する。閾値Ｂとしては、ワーク供給箱１２０について想定される斜面の最小の勾配値以下の値が用いられる。ここで、ワーク供給箱内部方向（重心方向）への勾配値の絶対値が閾値Ｂよりも大きい値を示しているということは、当該画素と隣接画素（最大勾配値を示す隣接画素）の間で、ワーク供給箱内部方向（重心方向）へ斜面が形成されていることを意味している。こうして、斜面を形成するとして得られた画素で形成される領域の最外形を抽出することにより、たとえば、図５Ｃ（ｈ）において白線で示すように画素が抽出される。このように抽出された画素をワーク供給箱１２０の縁から内側面に繋がる斜面開始点として定義する。なお、図５Ｃ（ｈ）において、外部形状は白色点線で示している。
【００３３】
続いて、コントローラ１３０は、斜面開始点からさらにワーク供給箱内部方向（重心方向）に距離値勾配マップ上の隣接画素を辿って行く。そして、図５Ｃ（ｉ）において白色領域で示したように、斜面開始点と同様の勾配方向および勾配値を有する画素点を斜面領域点群としてグルーピングしていく。グルーピングは、隣接画素中に斜面開始点と同様の勾配方向および勾配値を有する画素点が無くなった時点で終了する。従って、斜面途中にワークが存在した場合には、ワーク上に存在する画素点との勾配方向および勾配値が、斜面開始点の勾配方向および勾配値と一致しないため、グルーピングはワークと斜面の境界で終了する。なお、勾配方向が同様であるか否かの判断方法としては、たとえば、図５Ａ（ｃ）に示した８方向のうちの隣接する３方向のいずれかであることを条件とすることができる。たとえば、斜面開始点の勾配方向がＲであった場合に、ＲＵ，Ｒ，ＲＤの３方向については同様の勾配方向と判定される。また、同様の勾配値とは、斜面開始点の勾配値を中心とした所定の勾配値範囲である。
【００３４】
例えば図５Ｃ（ｉ）を図５Ａ（ａ）と比較すると分るように、斜面開始点と同様の勾配方向および勾配値を有する画素点群は、ワーク供給箱の斜面のうちで画像中に写っている領域に限られる。また実際のロボットによるピッキングタスク中には、バラ積みされたワークが上に積まれたものからピッキングされていき、また他のワークがピッキングされた影響で、斜面上に位置していたワークも下に滑り落ちてくる。そのため、推定される斜面形状は、縁部から徐々にワーク供給箱内部方向（重心方向）に広がって行く。例えば、ピッキングタスクが進み、ワーク供給箱が図５Ｄ（ｊ）に示すような状態になると、斜面領域点群のグルーピングは、図５Ｄ（ｋ）のようになる。そして、ワーク供給箱１２０の底面との境界まで達した時点で、斜面領域点群のグルーピングは完了し、図５Ｄ（ｌ）に示すように推定した斜面形状が、ワーク供給箱１２０の真の側面に一致することとなる。
【００３５】
続いて、ステップＳ４０に示されるワーク認識処理が実行される。ステップＳ４１において、コントローラ１３０は、ステップＳ１０で取得した均一照明による画像を元に、ワーク認識処理を実行する。これは、図５Ｅ（ｍ）に示すように、画像からワークの位置姿勢、および画像中のワーク領域を認識するものである。なお、図５Ｅ（ｍ）において、認識したワークは太線で示している。
【００３６】
例えば、コントローラ１３０は、事前にワーク１２１のあらゆる姿勢に対応したテンプレート画像を用意しておき、画像中の局所領域ごとにテンプレートマッチングを行うことにより、ワーク１２１の位置姿勢および画像中のワーク領域を認識することができる。認識結果としてワークが存在する場合、処理はステップＳ４２からステップＳ３４へ進み、コントローラ１３０は、ワークと箱の相対位置を判定する。一方、認識結果としてワークが存在しない場合は、既にワークが全てピッキングされているか、もしくは認識可能なワークが存在しないものとして、処理フローを終了する（ステップＳ４２でＮＯ）。
【００３７】
なおワークの認識手法としては、画像からワーク領域を認識できるものであればその他の方法を用いるものであっても構わない。また、ワークの認識手法として、上述した均一照明による画像を用いる方法では無く、距離値マップを用いる手法であっても構わない。この場合は、均一照明による画像を用いる場合と同様に、ワークに関する距離値マップのテンプレート画像を用意しておき、画像中の局所領域ごとにテンプレートマッチングを行う手法などが適用できる。なお、距離値マップによる認識手法を用いる場合には、ステップＳ１０の均一照明による撮像処理が省略される。また、ワークの位置姿勢および画像中のワーク領域をより正確に計測するために、ステップＳ４１におけるワークの認識において、さらにモデルフィッティングなどの手法を適用しても構わない。
【００３８】
ステップＳ３４において、コントローラ１３０は、ワークとワーク供給箱の相対位置を判定する。これは、前述したようにステップＳ３２で決定した縁領域と、ステップＳ４１で決定したワーク領域を元にして、画像上での縁領域とワーク領域の相対位置関係を判定するものである。より詳しく言えば、認識したワーク領域の全体が、縁領域以外の領域に存在するか、もしくはワーク領域の一部または全部が縁領域に存在するかを判定するものである。本処理は、縁領域に含まれる画素の座標と、認識されたワーク領域の画素の座標を比較することにより、容易に判定可能である。
【００３９】
例えば、図５Ｅ（ｎ）に示すような場合は、認識したワーク領域の全体が、縁領域以外の領域に存在すると判定される。また、図５Ｆ（ｏ）に示す場合は、認識したワーク領域の一部が縁領域に存在すると判定される。なお、図５Ｅ（ｎ）、図５Ｆ（ｏ）では、認識したワークを太線で示し、縁領域を斜線領域で示している。認識したワーク領域が縁領域以外の領域に存在すると判定された場合（ステップＳ３５：ＹＥＳ）は、ステップＳ４１へ進み、次のワークの認識を行う。なお、ステップＳ５０（干渉の判定）、およびステップＳ６０（ピッキング）は、全体が縁領域外にあるワークが検出された場合に、随時実行される。本処理フローに関しては、後ほど説明する。
【００４０】
一方、ステップＳ３４においてワーク領域の一部または全部が縁領域に存在すると判定された場合（ステップＳ３５：ＮＯ）は、処理はステップＳ３６へ進む。ステップＳ３６において、まずコントローラ１３０は、ステップＳ４１によるワークの認識結果を元に、距離値マップにおいて、認識したワークの領域の距離値を０に設定する。また同様に、ワークの認識結果を元にして、距離値勾配マップにおいて、認識したワークの領域の距離値勾配を０に設定する。なお、ステップＳ３６では、これまでに認識された全てのワーク領域に関して以上の処理を実行する。ワーク認識領域をマスク処理した後、処理はステップＳ３２へ戻り、縁領域の推定が実行され、縁領域の推定結果が更新される。
【００４１】
前述したように、縁領域の推定（ステップＳ３２）においては、距離値マップを元にして、内部形状が推定される。ここで距離値マップにおいては、ステップＳ３６のマスク処理により、認識したワーク領域の距離値が０に設定されている。そのため図５Ｆ（ｐ）に示すように、縁領域として、縁高さに近い値を有する画素を抽出する際に、距離値が０の領域５２３（黒線枠で囲まれた部分）は縁領域としての抽出対象から除外されることになる。そのため、実際には縁領域では無く単に縁高さと同様の高さにワークが積み重なっている領域を除外することができ、より真の縁領域に近いものを推定することが可能となる。
【００４２】
続いて、ステップＳ３３において、前述と同様に斜面形状の推定が実行される。ここで距離値勾配マップにおいては、ステップＳ３６のマスク処理により、認識されたワーク領域の勾配値が０に設定されている。従って、斜面開始点からワーク供給箱内部方向（重心方向）に距離値勾配マップ上の画素を辿って行く際に、ワークが認識された領域を回避することが可能となるため、より真の斜面形状に近いものを推定することが可能となる。このように、ステップＳ３６では、ステップＳ４０でワークとして認識された領域がワーク供給箱１２０の形状の一部（縁領域あるいは斜面形状）として推定されないように距離値プロファイルが更新される。
【００４３】
続いて、ステップＳ４１において、前述したワーク認識が実行される。なおワーク供給箱１２０のワークの状態に変化が無く、ワーク認識結果が全く変わらないことが自明の場合には、ステップＳ４１、Ｓ４２をスキップして、ステップＳ３４（ワークとワーク供給箱の相対位置の判定処理）に進んでも良い。
【００４４】
他方、ワークとワーク供給箱の相対位置の判定処理（ステップＳ３４）において、認識したワーク領域が縁領域以外の領域に存在すると判定された場合は、処理はステップＳ４１へ進み、別のワークの認識行う。そして、これらの処理が実行されている間に、ステップＳ３５で縁領域外にあると判定されたワークをピックする処理（ステップＳ５０、ステップＳ６０）が実行される。まず、ステップＳ５０において、コントローラ１３０は、ロボットアーム１０２およびエンドエフェクタ１０３とワーク供給箱１２０との機械的な干渉の発生を判定する（以下、干渉判定という）。干渉判定では、
・認識されたワークの位置姿勢、
・認識された位置姿勢で置かれているワークをピッキングする際のロボットアーム１０２およびエンドエフェクタ１０３の位置姿勢、および
・推定したワーク供給箱１２０の外部形状・縁領域・斜面形状、
に基づいて、ロボットアーム１０２およびエンドエフェクタ１０３とワーク供給箱１２０が干渉しないかどうかを判定する。
【００４５】
たとえば、コントローラ１３０は、推定したワーク供給箱１２０の外部形状、縁領域および斜面形状を元にして、認識されたワーク（ピッキング対象のワーク）の近傍におけるワーク供給箱１２０の存在領域を算出する。そして、コントローラ１３０は、さらにワークをピッキングする際にロボットアーム１０２およびエンドエフェクタ１０３が取る位置姿勢が、ワーク供給箱１２０の存在領域に重ならないかを計算する。コントローラ１３０は、その計算の結果、重なる場合は「干渉有り」、重ならない場合は「干渉無し」と判定する。
【００４６】
例えば図５Ｇ（ｑ）に示すケースでは、推定した縁領域（斜線領域）とエンドエフェクタ１０３が取る位置姿勢の範囲（点線枠内領域）が重なるため、「干渉有り」と判定される。また図５Ｇ（ｒ）に示すケースでは、推定した斜面領域点群（斜線領域）とエンドエフェクタ１０３が取る位置姿勢の範囲（点線枠内領域）が重なるため、「干渉有り」と判定される。さらに、図５Ｇ（ｓ）に示すケースでは、外部形状（黒線）、縁領域（斜線領域）および斜面形状（図中省略）のどれもロボットアーム１０２およびエンドエフェクタ１０３が取る位置姿勢の範囲（点線枠内領域）と重ならないため、「干渉無し」と判定される。なお、この際にエンドエフェクタ１０３の位置姿勢も考慮される。たとえば、エンドエフェクタ１０３がワークをピックする際の位置姿勢としてその範囲が、図５Ｇ（ｑ）の範囲５６１または範囲５６２に示すような範囲となる場合を想定する。この場合、エンドエフェクタ１０３が範囲５６２となるような位置姿勢を採用することにより、エンドエフェクタ１０３はワーク供給箱１２０と干渉することなくワークをピックすることが可能となる。したがって、エンドエフェクタ１０３が範囲５６２となるような位置姿勢を用いることを前提として「干渉無し」と判定される。
【００４７】
なおステップＳ５０における干渉判定においては、距離値マップ等のその他の情報を用いても良く、その判定手法は本実施形態で説明したもの以外でも構わない。続いて、干渉判定で干渉が無いと判定された場合は、コントローラ１３０は、ステップＳ６０においてロボットによるピッキング動作を実行する。ピッキング動作が実行された場合、対象ワークはワーク供給箱１２０から取り除かれる。ワーク供給箱１２０におけるワークの状態が変化するので、ピッキング動作を終えると処理はステップＳ１０へ戻り、再び撮像処理が実行される。他方、干渉判定で干渉ありと判定された場合、ステップＳ６０でピッキング動作は実行されず、次の、縁領域外にあるワークが検出されるのを待つ。
【００４８】
続いて、ステップＳ１０において、コントローラ１３０は、カメラ１１１とプロジェクタ１１２を用いて再び撮像処理を実行する。得られた画像には、当然のことながらピッキングタスクで取り除かれたワークが無い状態のワーク供給箱が写ることとなる。ステップＳ２０以降の処理は、上述したとおりである。
【００４９】
なお、図１には記載を省略したが、
・ステップＳ３０の位置・形状推定処理において、外部形状、縁領域および斜面形状に関する更新が無く、かつ、
・ワークとワーク供給箱の相対位置判定（ステップＳ３４）において、認識したワークで縁領域以外の領域に存在するものが全て無くなった時点で、処理を終了しても良い。また、上記では、ステップＳ４０において１つのワークを認識する毎にステップＳ３４以降の処理を実行するようにしたがこれに限られるものではない。複数のワーク（検出可能な全てのワークでもよい）を認識してからステップＳ３４に処理を進めるようにしてもよい。この場合、ステップＳ３５では、認識された複数のワークからその全体が縁領域外にあるワークの存在を検出すればよい。また、ステップＳ３６では、複数のワークの全てに関してマスク処理が行われるようにする。また、ステップＳ５０、ステップＳ６０では、全体が縁領域外にあると判定されたワークが複数あれば、それらのうちからワーク供給箱１２０と干渉せずにピックできるワークが順次に選択され、ピックが実行される。ワークのピックが行われると、ワーク供給箱１２０におけるワークの状態が変化するので、ステップＳ１０の撮像処理が実行される。なお、上述したように、２回目以降の撮像処理により得られた距離値プロファイルに基づく外部形状の推定（ステップＳ３１）は省略可能である。
【００５０】
以上説明したように、本実施形態におけるワーク供給箱位置姿勢推定方法により、ワーク供給箱の外部形状、縁領域、および斜面形状を推定することにより、ワーク供給箱の位置および形状を事前情報が無い状態でも推定することが可能となる。なお、ワーク供給箱位置姿勢推定方法に関しては、図１における干渉判定（ステップＳ５０）とピッキング動作（ステップＳ６０）は、必ずしも必須要件では無い。すなわち、ワーク供給箱１２０の推定結果を元に、ワークに対して何らかの処理を実行するものであれば、本実施形態におけるワーク供給箱位置姿勢推定方法は有効である。
【００５１】
＜第２実施形態＞
以下、図面を参照して本発明の第２実施形態によるワーク供給箱の位置姿勢推定方法を説明する。第２実施形態における位置姿勢推定方法は、図６に示すように、ワーク認識処理（ステップＳ４０）における認識結果の信頼度スコアをもとに認識結果の信頼度を判定するための信頼度スコア累積マップを生成する処理（ステップＳ７１）が追加されている。以下、第２実施形態では、主として第１実施形態における位置姿勢推定方法との相違点について説明を行う。なお、その他の部分に関しては第１実施形態と同様である。
【００５２】
第２実施形態におけるワーク認識処理（ステップＳ４０）において、コントローラ１３０は、第１実施形態と同様にワーク認識処理を実行する。コントローラ１３０は、その際に、認識した結果の信頼度を表す信頼度スコアを取得する。信頼度スコアはステップＳ７１で利用される。
【００５３】
ここで信頼度スコアは、例えば第１実施形態で説明したテンプレートマッチングにおいても一般的に算出されるものであり、閾値と比較することによりワークの認識結果を決定する。第１実施形態では、次のステップＳ３６（ワーク認識領域のマスク処理）に対して、ワークの認識結果としてその位置姿勢情報とともにワークの「有る・無し」の２値情報が渡されていた。これに対して第２実施形態においては、ワーク認識処理（ステップＳ４０）からステップＳ７１の信頼度スコア累積マップ生成処理に対して、ワークの認識結果としてその位置姿勢情報とともに信頼度スコアが渡される。信頼度スコア累積マップを生成するために、ステップＳ４２におけるワーク有無の判定では、比較的低い信頼度でもワークありと判定され、処理はステップＳ３４へ進む。
【００５４】
ステップＳ３４において、認識されたワークとワーク供給箱１２０との相対位置が判定され、ワークの少なくとも一部が縁領域内に存在する場合は、処理はステップＳ３５からステップＳ７１に進む。ステップＳ７１において、コントローラ１３０は、信頼度スコアを画像上のワーク認識領域に対応する画素に対して累積した、信頼度スコア累積マップを算出する。こうして、ワーク認識処理（ステップＳ４０）において実行される認識結果の信頼性は、信頼度スコアの累積値によって評価されることになる。ステップＳ３６では、信頼度スコア累積マップにおける信頼度スコアが所定値を超える画素の領域をワークの領域として、第１実施形態で説明したようなマスク処理を実行する。
【００５５】
ワークがバラ積みされたタスクにおいては、ワークがピッキングにより除外されると、その下に隠れていたワークが姿を現し、画像に写り出すため、２次元的な画像領域で複数のワークが重なって認識されることになる。そこでそれぞれのワークに対する認識結果の信頼度スコアを認識領域に対応して累積することにより、ワークが存在する領域をより精度良く評価することが可能となる。
【００５６】
例えば図７に示すように、円形領域７２５において信頼度スコアが０.６としてワークが認識され、また楕円領域７２６において信頼度スコアが０.５としてワークが認識されたとする。この場合、信頼度スコア累積マップにおいては、円形領域７２５と楕円領域７２６の双方に重なる領域７２７（斜線領域）においては、信頼度スコアが１.１としてマッピングされる。続いてステップＳ３６において、第１実施形態と同様に、距離値マップおよび距離値勾配マップにおいてワーク領域に対応する画素の値を０に設定するが、この際のワーク領域を信頼度スコア累積マップにおいて所定の閾値Ｃ以上の累積値を有する画素位置とする。
【００５７】
信頼度スコア累積マップ上で高い累積値を有する画素位置は、よりワークが存在する可能性が高い位置と考えられる。従って、ステップＳ３２における縁領域の推定やステップＳ３３における斜面形状の推定において、ワークの存在領域をより高い精度で推定することが可能となり、ひいてはワーク供給箱１２０の縁領域、斜面形状をより高い精度で推定することができるようになる。
【００５８】
例えば、図７において閾値Ｃを０.８とした場合、円形領域７２５と楕円領域７２６の双方に重なる領域７２７（斜線領域）が、ステップＳ３６において距離値マップおよび距離値勾配マップの画素の値を０に設定する対象領域となる。なお、第１実施形態で説明した干渉の判定（ステップＳ５０）とワークをピックする処理（ステップＳ６０）は、図示を省略している。また、ステップＳ５０，Ｓ６０の処理において、認識の信頼度がステップＳ４２で用いた閾値よりも高く設定された閾値を超えるワークであって、その全体がワーク供給箱１２０の縁領域外であるワークを処理対象とするようにしてもよい。或いは、ワークと認識された領域を構成する全画素の信頼度スコアの累積値が所定値を超えるワークが、ステップＳ５０、Ｓ６０の処理対象となるようにしてもよい。
【００５９】
以上説明したように、第２実施形態におけるワーク供給箱位置姿勢推定方法により、認識結果の信頼度スコアを用いてワーク供給箱の外部形状、縁領域、および斜面形状を推定することができる。このため、ロボットによるピッキング作業で必要となるワーク供給箱の位置および形状を事前情報が無い状態でも推定することが可能となる。
【００６０】
＜第３実施形態＞
次に第３実施形態について説明する。第３実施形態におけるワーク供給箱の位置姿勢推定方法は、図１のステップＳ３１における外部形状の推定方法が第１実施形態と異なっている。以下、主に第１実施形態におけるワーク供給箱位置姿勢推定方法との相違点について説明を行う。
【００６１】
第３実施形態におけるワーク供給箱位置姿勢推定方法では、ステップＳ１０において、均一照明による２種類の画像を撮像する。１つは、図８（ａ）に示すワーク供給箱１２０を含むワークエリアの画像であり、他の１つは図８（ｂ）に示すワーク供給箱が存在しない状態でのワークエリアの画像である。ここで、図８（ａ）および図８（ｂ）に示したように、ワークエリアには、ワーク供給箱１２０の高さに近い高さを有する物体８０１（例えばワーク取り置き台等）が置かれているものとする。
【００６２】
続いて、ステップＳ３１における外部形状の推定処理について説明する。外部形状の推定処理においては、ワーク供給箱１２０を含むワークエリアの画像（図８（ａ））と、ワーク供給箱が存在しない状態でのワークエリアの画像（図８（ｂ））との差分画像（図８（ｃ））を生成する。続いて図８（ｄ）に示すように、生成した差分画像の輪郭を抽出し、抽出した輪郭線をワーク供給箱１２０の仮外部形状とする。
【００６３】
なお、ワーク供給箱１２０の縁を超えてワークが外にはみ出している場合は、仮外部形状はワーク供給箱１２０の真の外部形状には一致しないことは第１実施形態と同様である。また仮外部形状決定後に、距離値マップを用いて、縁を超えてワークが外にはみ出しているどうかを判定することも第１実施形態と同様である。また、縁を超えて外にはみ出しているワークが存在しない場合に、仮外部形状を確定外部形状として保持することも第１実施形態と同様である。また、決定した仮外部形状または確定外部形状の２次元画像上での重心位置を算出する点と、既に確定外部形状およびそれを元にした重心位置を決定している場合には、処理フローにおける、以降の繰り返しは省略されることも第１実施形態と同様である。
【００６４】
また上記説明では、差分画像を輝度画像の差分を取ることで算出したが、それ以外にも距離値マップの差分を取ることによっても、同様に外部形状を算出することができる。
【００６５】
以上説明したように、第３実施形態におけるワーク供給箱位置姿勢推定方法では、背景差分画像を用いて外部形状が推定される。そのため、撮像領域にワーク供給箱以外にもワーク供給箱の高さに近い物体（たとえばワーク取り置き台など）が存在する場合でも、ワーク供給箱の外部形状をより確実に推定することが可能となる。結果として、第３実施形態によれば、ワーク供給箱の外部形状、縁領域、および斜面形状を推定することで、ロボットによるピッキング作業で必要となるワーク供給箱の位置および形状を事前情報が無い状態でも推定することが可能となる。
【００６６】
＜第４実施形態＞
第４実施形態におけるワーク供給箱位置姿勢推定方法は、第１実施形態〜第３実施形態において説明したワーク供給箱位置推定方法において、ワーク供給箱に関する何らかの事前情報が与えられた場合に関する処理の相違点に関して説明する。
【００６７】
まず、一例として、ワーク供給箱の形状に関して、例えば図４（ａ）に示すように、縁領域を除いたワーク供給箱内部の形状が外部形状の相似形であるという事前情報が与えられている場合について説明する。この場合は、ステップＳ３２（縁領域の推定）において、図９（ａ）に示すように、第１実施形態〜第３実施形態と同様に距離値マップより、縁高さに近い値を有する縁候補画素を抽出し（斜線領域）、縁候補画像としてマッピングする。
【００６８】
ここでさらに、図９（ａ）において黒色の長方形枠線９０１として示したように、縁候補画素領域上に外部形状の相似形状を当てはめて以下の４つの評価値をカウントする。
縁領域候補画素数：相似形状と、外部形状に挟まれた領域内の縁候補画素数
縁領域画素数：相似形状と、外部形状に挟まれた領域内の全画素数
縁境界候補画素数：相似形状（線）上の縁候補画素数
縁境界画素数：相似形状（線）上の全画素数
【００６９】
さらに以上の評価値を元に、以下の２つの評価値を算出する。
縁領域比率＝（縁領域候補画素数）／（縁領域画素数）  ・・・（１）
縁境界比率＝（縁境界候補画素数）／（縁境界画素数）  ・・・（２）
【００７０】
これらの評価値の両方が閾値を超える相似形状の中で、最も外部形状の重心に近い位置にあるものを縁境界線とし、縁境界線と外部形状に挟まれる領域を縁領域とする。例えば、図９（ｂ）に示した例では、黒色の長方形枠線で示した線を縁境界線９０２と決定している。ワーク認識結果に基づいて距離値マップをマスクし、上述した手法により縁領域を更新する点は、第１実施形態〜第３実施形態と同様である。
【００７１】
また別の例として、ワーク供給箱の高さが事前に分っている場合は、前述した外部形状推定工程において距離値勾配マップを用いて縁高さを推定した処理を省略することができる。また、ワーク供給箱の内側面形状がほぼ垂直で、かつ画像として取得されるワーク供給箱の縁領域と底面の形状がほぼ等しいとみなせる場合は、ステップＳ３３（斜面形状の推定）を省略することができる。
【００７２】
なお、第１実施形態〜第３実施形態では、ワーク供給箱に関する事前情報が無い場合でも、ロボットによるピッキング作業で必要となるワーク供給箱の位置および形状を推定することが可能となることを示したものである。これに対して、第４実施形態で例を挙げて説明したように、ワーク供給箱に関する何らかの事前情報が与えられる場合には、これを活用することにより、ワーク供給箱１２０の形状の推定精度の向上や推定処理の簡略化を実現することができる。
【００７３】
以上説明したように、第４実施形態によれば、縁領域を推定する際に縁領域の形状を限定することができるため、より真の縁領域に近い領域を推定することが可能となる。また、第４実施形態におけるワーク供給箱位置姿勢推定方法により、ワーク供給箱の位置および形状に関して少なくとも一部が不明である場合に、既知となっている情報を活用して、不明な情報を推定することが可能となる。
【００７４】
なお、上記各実施形態において、ステップＳ１０〜ステップＳ４０は、ワーク供給箱１２０の位置・形状の推定方法を示しており、この推定方法の観点からすればステップＳ５０〜ステップＳ６０はオプションである。また、ステップＳ１０〜ステップＳ６０を有することにより、実際の動作機構を有するワークピッキングシステムが実現される。
【００７５】
以上のような各実施形態の把持可能部品推定方法によれば、ロボットによるピッキング作業において、ワーク供給箱にバラ積みされたワークの中からピッキング可能なワークを判定することが可能となる。また、各実施形態のワークピッキングシステムにより、ワーク供給箱にバラ積みされたワークに対してロボットによるピッキング作業を実行することが可能となる。すなわち、各実施形態によれば、ワーク供給箱の位置および形状が事前に不明な場合においても、画像からワーク供給箱の位置および形状を推定することが可能となる。またさらに、その推定結果を用いることにより、ロボットアームおよびエンドエフェクタがワーク供給箱と干渉すること無くワークをピッキングすることが可能となる。
【００７６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１００：ピッキングシステム、１０１：ロボット、１０２：ロボットアーム、１０３：エンドエフェクタ、１１１：カメラ、１１２：プロジェクタ、１２０：ワーク供給箱、１２１：ワーク、１３０：コントローラ
【図１】
2016091053.tif 000003
【図３】
2016091053.tif 000004
【図４】
2016091053.tif 000005
【図６】
2016091053.tif 000006
【図７】
2016091053.tif 000007
【図２】
2016091053.tif 000008
【図５Ａ】
2016091053.tif 000009
【図５Ｂ】
2016091053.tif 000010
【図５Ｃ】
2016091053.tif 000011
【図５Ｄ】
2016091053.tif 000012
【図５Ｅ】
2016091053.tif 000013
【図５Ｆ】
2016091053.tif 000014
【図５Ｇ】
2016091053.tif 000015
【図８】
2016091053.tif 000016
【図９】
2016091053.tif 000017