(57)【要約】【課題】容器と干渉すること無くワークをピッキング可能か否かをロボットアームの動作前に事前に判断するとともに、そのようなピッキング可能か否かの判断を演算処理時間が少ない簡便な方法により実現するピッキング装置を提供する。【解決手段】容器の内部にばら積みされたワーク群を３次元撮像する撮像装置と、ワークを把持可能なロボットアームと、ロボットアームの動作を制御する制御装置と、を備え、制御装置は、撮像装置の撮像結果に基づいてワークの位置および姿勢を認識し、当該ワークの把持位置を通りアプローチベクトルに沿って延びる直線と容器の開口部を含む平面との交点を算出し、当該交点と前記開口部との位置関係に基づいて、当該ワークをピッキング可能か否か判断するようになっている。【選択図】図４
2015213973.tif 000002
【特許請求の範囲】
【請求項１】
容器の内部にばら積みされたワーク群を３次元撮像する３次元撮像装置と、
ワークを把持可能なハンドを有するロボットアームと、
前記ロボットアームの動作を制御する制御装置と、
を備え、
前記制御装置は、前記３次元撮像装置の撮像結果に基づいて対象とするワークの位置および姿勢を認識し、認識された位置および姿勢の情報に基づいて当該ワークの把持位置およびアプローチベクトルを求め、当該把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出し、当該交点と前記開口部との位置関係に基づいて、当該ワークをピッキング可能か否か判断するようになっている
ことを特徴とするピッキング装置。
【請求項２】
前記制御装置は、前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせないようになっている
ことを特徴とする請求項１に記載のピッキング装置。
【請求項３】
前記所定値は、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である
ことを特徴とする請求項１または２に記載のピッキング装置。
【請求項４】
前記制御装置は、前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求めるようになっている
ことを特徴とする請求項１乃至３のいずれかに記載のピッキング装置。
【請求項５】
前記開口部の周囲に設けられた位置表示用マーカーの位置を検出するセンサを更に備え、
前記制御装置は、前記センサの検出結果に基づいて前記開口部を規定する縁部の位置を求めるようになっている
ことを特徴とする請求項１乃至３のいずれかに記載のピッキング装置。
【請求項６】
容器の内部にばら積みされたワーク群を３次元撮像する工程と、
ワークを把持可能なハンドを有するロボットアームの動作を制御する工程と、
を備え、
前記ロボットアームの動作を制御する工程は、
前記３次元撮像する工程の撮像結果に基づいて対象とするワークの位置および姿勢を認識する工程と、
認識された位置および姿勢の情報に基づいて前記ワークの把持位置およびアプローチベクトルを求める工程と、
前記把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出する工程と、
算出された交点と前記開口部との位置関係に基づいて、前記ワークをピッキング可能か否か判断する工程と、
を有する
ことを特徴とするピッキング方法。
【請求項７】
前記ワークをピッキング可能か否か判断する工程は、
前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせない、という工程を有する
ことを特徴とする請求項６に記載のピッキング方法。
【請求項８】
前記所定値は、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である
ことを特徴とする請求項６または７に記載のピッキング方法
【請求項９】
前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求める工程
を更に備えたことを特徴とする請求項６乃至８のいずれかに記載のピッキング方法。
【請求項１０】
前記開口部の周囲に設けられた位置表示用マーカーの位置を検出し、検出結果に基づいて前記開口部を規定する縁部の位置を求める工程
を更に備えたことを特徴とする請求項６乃至８のいずれかに記載のピッキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、容器の内部にばら積みされたワーク群からワークをピッキングするピッキング装置およびピッキング方法に関する。
【背景技術】
【０００２】
現在、３次元画像認識装置を用いて、箱の中にばら積みされたワーク群の中から対象とするワークを検出し、当該ワークの位置および姿勢を認識した後、ロボットアームのコントローラに通信手段を介して位置および姿勢の情報を送信し、当該位置および姿勢の情報に基づいてロボットアームの動作を制御して当該ワークをピッキングする、という装置が知られている。
【０００３】
ここで、対象とするワークの位置および姿勢によっては、ピッキング時にロボットアームのハンドと箱とが干渉し、ハンドまたは箱が破損する危険性ある。ハンドまたは箱が破損すると作業効率が低下する。
【０００４】
このような問題点を解決するために、特開２０１２−２２３８４５号（特許文献１）には、ロボットアームのハンドの形状および箱の形状を３次元ポリゴンデータ化して、ポリゴンデータ同士の干渉をリアルタイムにチェックする装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２２３８４５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の装置では、以下のような不都合がある。すなわち、この装置では、ロボットアームの動作中にリアルタイムで干渉を判定する必要がある。また、動作前に複数の評価位置を使ってシミュレーションを行うため、高精度ではあるが、簡便ではなく、相当な演算能力が必要である。さらに、ハンドの形状や箱の形状が変更されるたびにモデルの再定義が必要となり、汎用性が低い。
【０００７】
本発明は、以上のような点を考慮してなされたものである。本発明の目的は、容器と干渉すること無くワークをピッキング可能か否かをロボットアームの動作前に事前に判断するともに、そのようなピッキング可能か否かの判断を演算処理時間が少ない簡便な方法により実現するピッキング装置およびピッキング方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、容器の内部にばら積みされたワーク群を３次元撮像する３次元撮像装置と、ワークを把持可能なハンドを有するロボットアームと、前記ロボットアームの動作を制御する制御装置と、を備え、前記制御装置は、前記３次元撮像装置の撮像結果に基づいて対象とするワークの位置および姿勢を認識し、認識された位置および姿勢の情報に基づいて当該ワークの把持位置およびアプローチベクトルを求め、当該把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出し、当該交点と前記開口部との位置関係に基づいて、当該ワークをピッキング可能か否か判断するようになっていることを特徴とするピッキング装置である。
【０００９】
本発明によれば、制御装置によって、ハンドまたはハンドに把持されたワークと容器とが互いに干渉すること無くワークをピッキング可能か否かがロボットアームの動作前に事前に判断されるとともに、そのようなピッキング可能か否かの判断が演算処理時間が少ない簡便な方法により実現される。これにより、ハンドや容器を破損させることなく安全に効率よくワークをピッキングすることができる。
【００１０】
具体的には、例えば、前記制御装置は、前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせないようになっている。
【００１１】
好ましくは、前記所定値は、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である。このような態様によれば、ピッキング時にアプローチベクトルに沿って直線移動するハンドまたはハンドに把持されたワークが容器と干渉することを確実に防止できる。
【００１２】
また、好ましくは、前記制御装置は、前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求めるようになっている。このような態様によれば、開口部を規定する縁部の位置を容易に求めることができる。
【００１３】
あるいは、前記制御装置は、前記開口部の周囲に設けられた位置表示用マーカーの位置を検出するセンサを更に備え、前記制御装置は、前記センサの検出結果に基づいて前記開口部を規定する縁部の位置を求めるようになっていてもよい。このような態様によっても、開口部を規定する縁部の位置を容易に求めることができる。
【００１４】
また、本発明は、容器の内部にばら積みされたワーク群を３次元撮像する工程と、ワークを把持可能なハンドを有するロボットアームの動作を制御する工程と、を備え、前記ロボットアームの動作を制御する工程は、前記３次元撮像する工程の撮像結果に基づいて対象とするワークの位置および姿勢を認識する工程と、認識された位置および姿勢の情報に基づいて前記ワークの把持位置およびアプローチベクトルを求める工程と、前記把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出する工程と、算出された交点と前記開口部との位置関係に基づいて、前記ワークをピッキング可能か否か判断する工程と、を有することを特徴とするピッキング方法である。
【００１５】
本発明によれば、ハンドまたはハンドに把持されたワークと容器とが互いに干渉すること無くワークをピッキング可能か否かがロボットアームの動作前に事前に判断されるとともに、そのようなピッキング可能か否かの有無の判断が演算処理時間が少ない簡便な方法により実現される。これにより、ハンドや容器を破損させることなく安全に効率よくワークをピッキングすることができる。
【００１６】
具体的には、例えば、前記ワークをピッキング可能か否か判断する工程は、前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせない、という工程を有する。
【００１７】
好ましくは、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である。このような態様によれば、ピッキング時にアプローチベクトルに沿って直線移動するハンドまたはハンドに把持されたワークが容器と干渉することを確実に防止できる。
【００１８】
また、好ましくは、前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求める工程を更に備える。このような態様によれば、開口部を規定する縁部の位置を容易に求めることができる。
【００１９】
あるいは、前記開口部の周囲に設けられた位置表示用マーカーの位置を検出し、検出結果に基づいて前記開口部を規定する縁部の位置を求める工程を更に備えてもよい。このような態様によっても、開口部を規定する縁部の位置を容易に求めることができる。
【発明の効果】
【００２０】
本発明のピッキング装置によれば、制御装置によって、ハンドまたはハンドに把持されたワークと容器とが互いに干渉すること無くワークをピッキング可能か否かがロボットアームの動作前に事前に判断されるとともに、そのようなピッキング可能か否かの判断が演算処理時間が少ない簡便な方法により実現される。これにより、ハンドや容器を破損させることなく安全に効率よくワークをピッキングすることができる。
【００２１】
また、本発明のピッキング方法によれば、ピッキング時におけるハンドまたはハンドに把持されたワークと容器とが互いに干渉すること無くワークをピッキング可能か否かがロボットアームの動作前に事前に判断されるとともに、そのようなピッキング可能か否かの有無の判断が演算処理時間が少ない簡便な方法により実現される。これにより、ハンドや容器を破損させることなく安全に効率よくワークをピッキングすることができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明の一実施の形態によるピッキング装置を示す概略構成図である。
【図２】図２は、容器の開口部を拡大して示す模式図である。
【図３】図３は、容器の開口部を含む平面の方程式を求める方法を説明するための模式図である。
【図４】図４は、ワークの把持位置を通りアプローチベクトルに平行な直線と容器の開口部を含む平面との交点を求める工程を説明するための模式図である。
【図５】図５は、交点が開口の内側にあるとともに交点と開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断する工程する模式図である。
【図６】図６は、交点が開口部の内側にある場合を示す模式図である。
【図７】図７は、交点が開口部の外側にある場合を示す模式図である。
【図８】図８は、交点と開口部を規定する縁部との間の距離を説明するための模式図である。
【図９】図９は、アプローチベクトルに対して直角な平面によるハンドおよびワークの一例の断面図である。
【図１０】図１０は、アプローチベクトルに対して直角な平面によるハンドおよびワークの別例の断面図である。
【図１１】図１１は、本発明の一実施の形態によるピッキング方法を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下に、添付の図面を参照して、本発明の実施の形態を詳細に説明する。
【００２４】
図１は、本発明の一実施の形態によるピッキング装置を示す概略構成図である。図１に示すように、本実施の形態によるピッキング装置１０は、容器２０の内部にばら積みされたワーク群を３次元撮像する３次元撮像装置１１と、ワーク２１を把持可能なハンド１３を有するロボットアーム１２と、ロボットアーム１２の動作を制御する制御装置１４と、を備えている。
【００２５】
このうち３次元撮像装置１１は、ステレオビジョン、光切断法、縞投光法等の手法により対象物の３次元情報を取得可能な、それ自体は公知の撮像装置である。３次元撮像装置１１は、容器２０の開口部２２と向かい合うように配置されており、開口部２２を通して容器２０の内部にばら積みされたワーク群を３次元撮像できるようになっている。
【００２６】
図２は、容器の開口部２２を拡大して示す模式図である。図示された例では、容器２０の開口部２２は、４つの頂点Ｂ１、Ｂ２、Ｂ３、Ｂ４を有する四角形状を有しており、開口部２２を規定する縁部２３は、４つの稜線から構成されている。ここで、各頂点Ｂ１、Ｂ２、Ｂ３、Ｂ４は、ピッキング装置１０の基準座標系であるワールド座標系上に存在し、ワールド座標系のＺ軸周り（右ねじ）に、Ｂ１→Ｂ２→Ｂ３→Ｂ４の順番に定義されている。
【００２７】
図１に示すように、本実施の形態の制御装置１４は、画像認識部１５と、ロボットコントローラ１６と、ロボットコントローラ１６と画像認識部１５と３次元撮像装置１１とを互いに通信接続するネットワークハブ１７と、を有している。通信接続の規格としては、例えばイーサネット（登録商標）規格が好適に採用され得る。
【００２８】
画像認識部１５は、３次元撮像装置１１によって撮像された３次元画像データをネットワークハブ１７を介して読み出して記憶部に記憶するようになっている。画像認識部１５は、市販の３次元画像認識プログラム等を記憶した記憶部を含むコンピュータシステムによって構成されている。記憶部に記憶された３次元画像認識プログラムは、３次元撮像装置１１から読み出された３次元画像データに基づいて、容器２０の内部にばら積みされたワーク群を解析し、その中から予め記憶されたモデルワーク形状と一致する画像データを有する部位（すなわち、対象とするワーク）を検索し、検出した部位の位置および姿勢を認識するようになっている。
【００２９】
ロボットコントローラ１６は、画像認識部１５により認識された位置および姿勢の情報をネットワークハブ１７を介して読み出すようになっている。また、ロボットコントローラ１６は、画像認識部１５から読み出された位置および姿勢の情報に基づいて、対象とするワーク２１のワールド座標系における把持位置およびアプローチベクトルを求めるようになっている。ここで、アプローチベクトルとは、ピッキング時にロボットアーム１２のハンド１３がワーク２１の把持位置に向かって直線的にアプローチする方向をいう。ロボットコントローラ１６は、対象とするワーク２１の把持位置およびアプローチベクトルの情報に基づいて、ロボットアーム１２の動作を制御するようになっている。
【００３０】
ロボットアーム１２としては、例えば、それ自体は公知の垂直多関節ロボットが用いられる。図示された例では、ロボットアーム１２の関節の数は６つ（６軸）であり、ロボットコントローラ１６からの制御出力により各関節に設けられた駆動源（例えば、サーボモータ）がそれぞれ所望量だけ駆動されることで、ロボットアーム１２の先端が所望の位置および姿勢をとるように移動および／または回転されるようになっている。
【００３１】
ロボットアーム１２の先端には、ワーク２１を把持可能なハンド１３が設けられている。ここで、把持とは、挟み動作等の掴み動作の他に、磁力や負圧等による吸着動作であってもよい。
【００３２】
図示された例では、ハンド１３は、一対の細長可動部材を有している。一対の細長可動部材は、互いに平行に対向して配置され、互いに対して例えば空圧によって相対移動可能である。当該一対の細長可動部材が互いに接近される時、当該一対の細長可動部材間に位置決めされたワーク２１が当該一対の細長可動部材に挟まれて把持されるようになっている。一方、当該一対の細長可動部材が互いに離間される時、当該一対の細長可動部材間に把持されていたワーク２１が開放されるようになっている。
【００３３】
ピッキング時におけるロボットアーム１２の動作を説明すると、ロボットアーム１２の先端に設けられたハンド１３は、まず、容器２０の外側において所定の待機位置からアプローチ位置へと移動される。ここで、アプローチ位置とは、容器２０の外側であって対象とするワーク２１の把持位置を通りアプローチベクトルに沿って延びる直線Ｌ上の所定の位置（例えば、ワーク２１の把持位置から１００ｍｍ離れた位置）である。アプローチ位置において、ハンド１３の一対の細長可動部材は、アプローチベクトルに沿って延びる向きに向けられる。次いで、ハンド１３は、アプローチ位置からワーク把持位置までアプローチベクトルに沿って直線移動され、対象とするワーク２１は一対の細長可動部材間に位置決めされる。ワーク把持位置において、対象とするワーク２１はハンド１３によって把持される。次いで、ワーク２１を把持するハンド１３は、ワーク把持位置からアプローチベクトルに沿って直線移動されてアプローチ位置まで戻される。次いで、ハンド１３は、アプローチ位置から待機位置または所定のワーク開放位置へと移動される。
【００３４】
本実施の形態では、ロボットコントローラ１６は、ロボットアーム１２を動作させてハンド１３を容器２０の開口部２２を規定する縁部２３に当接させることで、ワールド座標系における当該縁部２３の位置を求めるようになっている。より詳しくは、ロボットコントローラ１６は、ロボットアーム１２を動作させてハンド１３を容器２０の縁部２３に接近させ、接触時に生じる接触圧力を検知することでハンド１３が縁部２３に当接したか否かを判定する。そして、当接したと判定される場合、その時点におけるハンド１３の位置座標値から開口部２２を規定する縁部２３の位置座標値を求めるようになっている。
【００３５】
また、本実施の形態では、ロボットコントローラ１６は、対象とするワーク２１の把持位置を通りアプローチベクトルに沿って延びる直線Ｌと開口部２２を含む平面Ｆとの交点Ｍを算出するようになっている。
【００３６】
ここで、交点Ｍを算出する手法の一例を説明する。まず、図３に示すように、開口部２２を規定する縁部２３の位置から、開口部２２を含む平面Ｆの方程式を求める。具体的には、例えば、平面Ｆの法線ベクトルＮ＝（ｎｘ、ｎｙ、ｎｚ）は、開口部２２の頂点Ｂ１から頂点Ｂ２へと向かうベクトルと、頂点Ｂ１から頂点Ｂ４へと向かうベクトルとの外積であり、下式（１）により示される。
【数１】
2015213973.tif 000003
【００３７】
開口部２２の頂点Ｂ１のワールド座標系における座標値Ｂ１：（ｘ１、ｙ１、ｚ１）を用いて、当該頂点Ｂ１を通り法線ベクトルＮに対して垂直な平面Ｆの方程式は、下式（２）により示される。
【数２】
2015213973.tif 000004
【００３８】
次に、図４に示すように、ワーク２１の把持位置を通りアプローチベクトルに沿って延びる直線Ｌの方程式を求める。具体的には、例えば、画像認識部１５により認識されたワーク２１の位置および姿勢Ｐｗｋ：（ｘｗｋ、ｙｗｋ、ｚｗｋ、ａｗｋ、ｂｗｋ、ｃｗｋ）から、ワーク２１の姿勢行列Ｒａｂｃを求める。ここで、（ｘｗｋ、ｙｗｋ、ｚｗｋ）は、ワールド座標系におけるワーク２１の位置（原点位置）を示す。また、（ａｗｋ、ｂｗｋ、ｃｗｋ）は、ワールド座標系におけるワーク２１の姿勢を示し、すなわち、
ａｗｋ：ワールド座標系のＸ軸周りの回転
ｂｗｋ：ワールド座標系のＹ軸周りの回転
ｚｗｋ：ワールド座標系のＺ軸周りの回転
を示す。
【００３９】
より詳しくは、例えば、ロボットの先端姿勢表現として「Ｚ，Ｙ，Ｘオイラー角表現」を採用し、基準座標系（ワールド座標系）「Σｉ」を、以下の順番で回転する。すなわち、（ｉ）基準座標系「Σｉ」を、Ｚ軸周りにｃｗｋ回転する。（ｉｉ）次に、回転後の座標系「Σ’」を、Ｙ軸周りにｂｗｋ回転する。（ｉｉｉ）次に、回転後の座標系「Σ’’」を、Ｘ軸周りにａｗｋ回転する。
【００４０】
前記（ｉ）〜（ｉｉｉ）のそれぞれの回転行列は、下式（３）により示される。
【数３】
2015213973.tif 000005
ここで、ｓａ＝ｓｉｎ（ａｗｋ）、ｓｂ＝ｓｉｎ（ｂｗｋ）、ｓｃ＝ｓｉｎ（ｃｗｋ）、ｃａ＝ｃｏｓ（ａｗｋ）、ｃｂ＝ｃｏｓ（ｂｗｋ）、ｃｃ＝ｃｏｓ（ｃｗｋ）を示す。
【００４１】
オイラー各表現では、回転する座標系の変換行列が右から順番に掛け合わされるので、ワーク２１の姿勢行列Ｒａｂｃは、下式（４）により示される。
【数４】
2015213973.tif 000006
【００４２】
ワーク２１のアプローチベクトルは、ワーク２１の姿勢を表す座標系のＺ軸ベクトルであり、ｖｚ＝（ｒ１３、ｒ２３、ｒ３３）で与えられる。ワーク２１のアプローチベクトルは直線Ｌの方向ベクトルと等価であるから、ワーク２１の把持位置が原点位置と一致する場合、直線Ｌの方程式は、媒介変数ｔを用いて下式（５）、下式（６）および下式（７）により示される。
【数５】
2015213973.tif 000007
【数６】
2015213973.tif 000008
【数７】
2015213973.tif 000009
【００４３】
平面Ｆと直線Ｌとの交点Ｍを求めるために、上式（５）、上式（６）および上式（７）を上式（２）に代入して、媒介変数ｔについて解くと、下式（８）が得られる。
【数８】
2015213973.tif 000010
【００４４】
上式（８）を上式（５）、上式（６）および上式（７）にそれぞれ代入することにより、平面Ｆと直線Ｌとの交点座標Ｍ：（ｘＭ、ｙＭ、ｚＭ）が求められる。
【００４５】
また、本実施の形態では、図４に示すように、ロボットコントローラ１６は、算出された交点Ｍと開口部２２との位置関係に基づいて、ワーク２１をピッキング可能か否か判断するようになっている。
【００４６】
具体的には、例えば、図５に示すように、ロボットコントローラ１６は、交点Ｍが開口部２２の内側に位置するとともに当該交点Ｍと開口部２２を規定する縁部２３との間の最短距離ΔＬ１、ΔＬ２、ΔＬ３、ΔＬ４が所定値Δｒより大きいという条件（以下、非干渉条件ともいう）を満たすか否かを判断し、当該条件を満たす場合には、ロボットアーム１２に当該ワーク２１をピッキングさせ、当該条件を満たさない場合には、ロボットアーム１２に当該ワーク２１をピッキングさせないようになっている。
【００４７】
ここで「所定値Δｒ」は、図９に示すように、アプローチベクトルに対して直角な方向において、把持位置Ｃとワーク２１の輪郭との間の距離の最大値Δｒｗが、把持位置Ｃとハンド１３の輪郭との間の距離の最大値Δｒｈより大きい場合（Δｒｗ＞Δｒｈ）、把持位置Ｃとワーク２１の輪郭との間の距離の最大値Δｒｗの１倍〜１．１倍である（Δｒ＝１×Δｒｗ〜１．１×Δｒｗ）ことが好ましい。一方、図１０に示すように、アプローチベクトルに対して直角な方向において、把持位置Ｃとワーク２１の輪郭との間の距離の最大値Δｒｗが、把持位置Ｃとハンド１３の輪郭との間の距離の最大値Δｒｈより小さい場合（Δｒｗ＜Δｒｈ）、把持位置Ｃとハンド１３の輪郭との間の距離の最大値Δｒｈの１倍〜１．１倍である（Δｒ＝１×Δｒｈ〜１．１×Δｒｈ）ことが好ましい。１倍より小さいと、ピッキング時にハンド１３またはハンド１３に把持されたワーク２１が容器２０と干渉する可能性がある。また、１．１倍より大きいと、容器２０の側壁側においてピッキングされないワーク２１の割合が大きくなり、作業効率が低下する。
【００４８】
次に、非干渉条件を満たすか否かを判断する手法の一例を説明する。まず、図６に示すように、交点Ｍが開口部２２の内側に位置するという条件（第１条件）を満たすか否かを判断する。具体的には、例えば、開口部２２を規定する縁部２３のうち頂点Ｂ１から頂点Ｂ２までの稜線ベクトルと、頂点Ｂ１から交点Ｍまでのベクトルと、の外積ベクトルが、下式（９）により求められる。
【数９】
2015213973.tif 000011
【００４９】
次いで、上式（９）により求められる外積ベクトルのＺ軸値を評価する。このＺ軸値がゼロ以上である場合、すなわち下式（１０）を満たす場合、
【数１０】
2015213973.tif 000012
右ねじの法則により、図６に示すように、交点Ｍは頂点Ｂ１から頂点Ｂ２までの稜線ベクトルに対して開口部２２側に位置する。
【００５０】
一方、外積ベクトルのＺ軸値がゼロより小さい場合、すなわち下式（１１）を満たす場合、
【数１１】
2015213973.tif 000013
右ねじの法則により、図７に示すように、交点Ｍは頂点Ｂ１から頂点Ｂ２までの稜線ベクトルに対して開口部２２とは反対側に位置する。
【００５１】
開口部２２を規定する縁部２３の他の稜線ベクトルについても同様な評価を行う。すなわち、下式（１２）、下式（１３）および下式（１４）を求める。
【数１２】
2015213973.tif 000014
【数１３】
2015213973.tif 000015
【数１４】
2015213973.tif 000016
【００５２】
次いで、下式（１５）を満たすか否かを判断する。
【数１５】
2015213973.tif 000017
【００５３】
上式（１５）を満たす場合、交点Ｍは開口部２２の内側に位置する。一方、上式（１５）を満たさない場合、交点Ｍは開口部２２の外側に位置する。
【００５４】
次に、交点Ｍと開口部２２を規定する縁部２３との間の最短距離が所定値より大きいという条件（第２条件）を満たすか否かを判断する。具体的には、例えば、開口部２２を規定する縁部２３のうち頂点Ｂ１から頂点Ｂ２までの稜線ベクトルと、頂点Ｂ１から交点Ｍまでのベクトルと、が成す角度θ１は、下式（１６）により求められる。
【数１６】
2015213973.tif 000018
【００５５】
上式（１６）より、頂点Ｂ１から頂点Ｂ２までの稜線ベクトルと交点Ｍとの間の最短距離ΔＬ１は、下式（１７）により求められる。
【数１７】
2015213973.tif 000019
【００５６】
開口部２２を規定する縁部２３の他の稜線ベクトルについても同様な評価を行う。すなわち、下式（１８）、下式（１９）および下式（２０）を求める。
【数１８】
2015213973.tif 000020
【数１９】
2015213973.tif 000021
【数２０】
2015213973.tif 000022
【００５７】
次いで、開口部２２を規定する縁部２３の他の稜線ベクトルと交点Ｍとの間の最短距離ΔＬ２、ΔＬ３およびΔＬ４を、下式（２１）、下式（２２）および下式（２３）により求める。
【数２１】
2015213973.tif 000023
【数２２】
2015213973.tif 000024
【数２３】
2015213973.tif 000025
【００５８】
縁部２３の各稜線ベクトルと交点Ｍとの間の最短距離ΔＬ１、ΔＬ２、ΔＬ３、ΔＬ４の各々が所定値Δｒより大きいか否かを判断する。最短距離ΔＬ１、ΔＬ２、ΔＬ３、ΔＬ４のうち少なくとも１つが所定値Δｒより小さい場合、ハンド１３またはハンド１３に把持されたワーク２１が容器２０と干渉する可能性がある。
【００５９】
したがって、前述の第１条件および第２条件の両方を満たす場合、ロボットコントローラ１６は、ハンド１３またはハンド１３に把持されたワーク２１と容器２０とが干渉しないと判断して、ロボットアーム１２にワーク２１をピッキングさせるようになっている。一方、第１条件および第２条件のいずれか一方または両方を満たさない場合、ロボットコントローラ１６は、ハンド１３またはハンド１３に把持されたワーク２１と容器２０とが干渉する可能性があると判断して、ロボットアーム１２にワーク２１をピッキングさせないようになっている。
【００６０】
なお、本実施の形態では、画像認識部１５により認識された位置および姿勢の情報に基づいて、ロボットコントローラ１６が対象とするワークの把持位置およびアプローチベクトルを求めるようになっていたが、これに限定されず、画像認識部１５が対象とするワークの把持位置およびアプローチベクトルを求め、ロボットコントローラ１６は画像認識部１５により求められたワークの把持位置およびアプローチベクトルの情報をネットワークハブ１７を介して読み出すようになっていてもよい。また、画像認識１５が、対象とするワーク２１の把持位置を通りアプローチベクトルに沿って延びる直線Ｌと開口部２２を含む平面Ｆとの交点Ｍを算出し、当該交点Ｍが開口部２２の内側に位置するとともに当該交点Ｍと開口部２２を規定する縁部２３との間の最短距離が所定値Δｒより大きいか否かを判断するようになっており、ロボットコントローラ１６は画像認識部１５により判断された結果をネットワークハブ１７を介して読み出すようになっていてもよい。
【００６１】
次に、図１１を参照し、以上のような本実施の形態の作用（本発明の一実施の形態によるピッキング方法）について説明する。
【００６２】
まず、ばら積みされたワーク群を収容する容器２０の開口部２２が、ピッキング装置１０の３次元撮像装置１１と向かい合うように位置決めされる。
【００６３】
次に、ロボットコントローラ１６によりロボットアーム１２の動作が制御され、ロボットアーム１２のハンド１３が容器２０の開口部２２を規定する縁部２３に当接されることで、ワールド座標系における縁部２３の位置座標値が求められる。
【００６４】
次に、３次元撮像装置１１により、容器２０の開口部２２を介して内部が３次元撮像される（ステップＳ１）。３次元撮像装置１１の撮像結果は、ネットワークハブ１７を介して画像認識部１５により読み出される。
【００６５】
画像認識部１５は、３次元撮像装置１１の撮像結果に基づいて、対象とするワークの位置および姿勢を認識する（ステップＳ２）。より詳しくは、画像認識部１５の記憶部に記憶された３次元画像認識プログラムにより、３次元撮像装置１１から読み出された３次元画像データに基づいて、容器２０の内部にばら積みされたワーク群が解析され、その中から予め記憶されたモデルワーク形状と一致する画像データを有する部位（すなわち、対象とするワーク）が検索され、検出された部位の位置および姿勢が認識される。画像認識部１５により認識された位置および姿勢の情報は、ネットワークハブ１７を介してロボットコントローラ１６により読み出される。
【００６６】
ロボットコントローラ１６は、画像認識部１５により認識された位置および姿勢の情報に基づいて、例えば前述した手法により、対象とするワーク２１のワールド座標系における把持位置およびアプローチベクトルを求める（ステップＳ３）。
【００６７】
次に、ロボットコントローラ１６は、例えば前述した手法により、対象とするワーク２１の把持位置を通りアプローチベクトルに沿って延びる直線Ｌと開口部２２を含む平面Ｆとの交点Ｍを算出する（ステップＳ４）。
【００６８】
次に、ロボットコントローラ１６は、算出された交点Ｍと開口部２２との位置関係に基づいて、対象とするワーク２１をピッキング可能か否か判断する（ステップＳ５）。具体的には、例えば、ロボットコントローラ１６は、前述した手法により、交点Ｍが開口部２２の内側に位置するとともに当該交点Ｍと開口部２２を規定する縁部２３との間の最短距離が所定値より大きいという条件（非干渉条件）を満たすか否かを判断する。
【００６９】
非干渉条件を満たすと判断された場合、ロボットコントローラ１６は、ロボットアーム１２にワーク２１をピッキングさせる（ステップＳ６）。より詳しくは、ロボットコントローラ１６は、ロボットアーム１２の各関節の駆動部の動作を制御して、ロボットアーム１２のハンド１３を、待機位置からアプローチ位置へと移動させ、次いで、アプローチ位置からワーク把持位置までアプローチベクトルに沿って直線移動させる。この時、ハンド１３は開口部２２の内側であって開口部２２を規定する縁部２３から所定値Δｒより大きく、離れた位置を通過する。これにより、ハンド１３と容器２０との干渉が防止される。次いで、ハンド１３はワーク把持位置においてワーク２１を把持した後、ワーク把持位置からアプローチ位置までアプローチベクトルに沿って直線移動される。この時も、ハンド１３は開口部２２の内側であって開口部２２を規定する縁部２３から所定値Δｒより大きく、離れた位置を通過することで、ハンド１３またはハンド１３に把持されたワーク２１と容器２０との干渉が防止される。次いで、ワーク２１を把持するハンド１３は、アプローチ位置から待機位置または所定のワーク開放位置へと移動される。
【００７０】
一方、条件を満たさないと判断された場合、ロボットコントローラ１６は、ロボットアーム１２にワーク２１をピッキングさせない。この場合、別のワーク２１を把持対象として前記した各ステップＳ１〜Ｓ５を順番に繰り返す。
【００７１】
以上のような本実施の形態によれば、制御装置１４によって、ハンド１３またはハンド１３に把持されたワーク２１と容器２０とが互いに干渉すること無くワーク２１をピッキング可能か否かがロボットアーム１２の動作前に事前に判断されるとともに、そのようなピッキング可能か否かの判断が演算処理時間が少ない簡便な方法により実現される。これにより、ハンド１３や容器２０を破損させることなく安全に効率よくワーク２１をピッキングすることができる。
【００７２】
また、本実施の形態によれば、所定値Δｒが、アプローチベクトルに対して直角な方向における把持位置Ｃとワーク２１の輪郭との間の距離の最大値Δｒｗ、および、アプローチベクトルに対して直角な方向における把持位置Ｃとハンド１３の輪郭との間の距離の最大値Δｒｈ、のうちいずれか大きい方の値の１倍〜１．１倍であることで、ピッキング時にアプローチベクトルに沿って直線移動するハンド１３またはハンド１３に把持されたワーク２１が容器２０と干渉することを確実に防止できる。
【００７３】
なお、本実施の形態では、制御装置１４は、算出された交点Ｍが開口部２２の内側に位置するとともに当該交点Ｍと開口部２２を規定する縁部２３との間の最短距離が所定値Δｒより大きいという条件を満たすか否かに基づいてワーク２１をピッキング可能か否か判断するようになっていたが、これに限定されず、例えば、制御装置１４は、算出された交点Ｍが開口部２２の外側に位置する場合であっても、ワーク２１の把持位置を変更する等の補助的処理を適宜行うことでワーク２１をピッキング可能であると判断するようになっていてもよい。
【００７４】
また、本実施の形態では、開口部２２を規定する縁部２３の位置を求めるにあたり、ロボットアーム１２を動作させてハンド１３を開口部２２を規定する縁部２３に当接させることで、当該縁部２３の位置を求めたが、これに限定されず、例えば、開口部２２の周囲に設けられた位置表示用マーカーの位置を検出するセンサ（不図示）を更に備え、制御装置１４は、センサの検出結果に基づいて開口部２２を規定する縁部２３の位置を求めるようになっていてもよい。この場合、センサとしては、特に限定されないが、例えば、光学的、電気的、または磁気的センサが用いられる。あるいは、センサとして３次元撮像装置１１を利用してもよい。
【符号の説明】
【００７５】
１０    ピッキング装置
１１    ３次元撮像装置
１２    ロボットアーム
１３    ハンド
１４    制御装置
１５    画像認識部
１６    ロボットコントローラ
１７    ネットワークハブ
２０    容器
２１    ワーク
２２    開口部
２３    縁部
【図１】
2015213973.tif 000026
【図２】
2015213973.tif 000027
【図３】
2015213973.tif 000028
【図４】
2015213973.tif 000029
【図５】
2015213973.tif 000030
【図６】
2015213973.tif 000031
【図７】
2015213973.tif 000032
【図８】
2015213973.tif 000033
【図９】
2015213973.tif 000034
【図１０】
2015213973.tif 000035
【図１１】
2015213973.tif 000036
【手続補正書】
【提出日】平成27年3月26日(2015.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
容器の内部にばら積みされたワーク群を３次元撮像する３次元撮像装置と、
ワークを把持可能なハンドを有するロボットアームと、
前記ロボットアームの動作を制御する制御装置と、
を備え、
前記制御装置は、前記３次元撮像装置の撮像結果に基づいて対象とするワークの位置および姿勢を認識し、認識された位置および姿勢の情報に基づいて当該ワークの把持位置およびアプローチベクトルを求め、当該把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出し、当該交点と前記開口部との位置関係に基づいて、当該ワークをピッキング可能か否か判断するようになっている
ことを特徴とするピッキング装置。
【請求項２】
前記制御装置は、前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせないようになっている
ことを特徴とする請求項１に記載のピッキング装置。
【請求項３】
前記所定値は、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である
ことを特徴とする請求項２に記載のピッキング装置。
【請求項４】
前記制御装置は、前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求めるようになっている
ことを特徴とする請求項１乃至３のいずれかに記載のピッキング装置。
【請求項５】
前記開口部の周囲に設けられた位置表示用マーカーの位置を検出するセンサを更に備え、
前記制御装置は、前記センサの検出結果に基づいて前記開口部を規定する縁部の位置を求めるようになっている
ことを特徴とする請求項１乃至３のいずれかに記載のピッキング装置。
【請求項６】
容器の内部にばら積みされたワーク群を３次元撮像する工程と、
ワークを把持可能なハンドを有するロボットアームの動作を制御する工程と、
を備え、
前記ロボットアームの動作を制御する工程は、
前記３次元撮像する工程の撮像結果に基づいて対象とするワークの位置および姿勢を認識する工程と、
認識された位置および姿勢の情報に基づいて前記ワークの把持位置およびアプローチベクトルを求める工程と、
前記把持位置を通りアプローチベクトルに沿って延びる直線と前記容器の開口部を含む平面との交点を算出する工程と、
算出された交点と前記開口部との位置関係に基づいて、前記ワークをピッキング可能か否か判断する工程と、
を有する
ことを特徴とするピッキング方法。
【請求項７】
前記ワークをピッキング可能か否か判断する工程は、
前記交点が前記開口部の内側に位置するとともに当該交点と前記開口部を規定する縁部との間の最短距離が所定値より大きいという条件を満たすか否かを判断し、当該条件を満たす場合には、前記ロボットアームに当該ワークをピッキングさせ、当該条件を満たさない場合には、前記ロボットアームに当該ワークをピッキングさせない、という工程を有する
ことを特徴とする請求項６に記載のピッキング方法。
【請求項８】
前記所定値は、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ワークの輪郭との間の距離の最大値、および、前記アプローチベクトルに対して直角な方向における前記把持位置と前記ハンドの輪郭との間の距離の最大値、のうちいずれか大きい方の値の１倍〜１．１倍である
ことを特徴とする請求項７に記載のピッキング方法
【請求項９】
前記ロボットアームを動作させて前記ハンドを前記開口部を規定する縁部に当接させることで、当該縁部の位置を求める工程
を更に備えたことを特徴とする請求項６乃至８のいずれかに記載のピッキング方法。
【請求項１０】
前記開口部の周囲に設けられた位置表示用マーカーの位置を検出し、検出結果に基づいて前記開口部を規定する縁部の位置を求める工程
を更に備えたことを特徴とする請求項６乃至８のいずれかに記載のピッキング方法。