(57)【要約】【課題】コンテナ内の３次元点群の位置情報を部分的にしか取得できない３次元センサを装着していても、ロボットによる無駄な移動動作および３次元センサによる無駄な３次元点群の位置情報の取得を防止する。【解決手段】ロボット２と、ロボット２の手先部３に取り付けられワークＷを把持するハンド４と、手先部３に取り付けられ、コンテナＹ内の部分領域の３次元点群の位置情報を取得する３次元センサ５と、取得された第１部分領域の３次元点群の位置情報に基づいてワークＷの位置および姿勢を算出するワーク状態算出部８と、取得された第１部分領域の３次元点群の位置情報に基づき、次に位置情報を取得する第２部分領域のロボット位置を算出するデータ取得位置算出部９と、算出されたワークＷの位置および姿勢並びに算出された第２部分領域のロボット位置に基づいて、ロボット２およびハンド４を制御する制御部７とを備えるワーク取出しシステム１を提供する。【選択図】図１
2018192592.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
該ロボットの手先部に取り付けられワークを把持するハンドと、
前記ロボットの前記手先部に取り付けられ、コンテナ内の部分領域の３次元点群の位置情報を取得する３次元センサと、
該３次元センサにより取得された第１部分領域の前記３次元点群の位置情報に基づいて前記ワークの位置および姿勢を算出するワーク状態算出部と、
前記３次元センサにより取得された前記第１部分領域の前記３次元点群の位置情報に基づいて、次に位置情報を取得する第２部分領域のロボット位置を算出するデータ取得位置算出部と、
前記ワーク状態算出部により算出された前記ワークの位置および姿勢並びに前記データ取得位置算出部により算出された前記第２部分領域のロボット位置に基づいて、前記ロボットおよび前記ハンドを制御する制御部とを備えるワーク取出しシステム。
【請求項２】
前記データ取得位置算出部が、前記第１部分領域の前記３次元点群の中で最も高さの高い位置に配置される３次元点を基準として前記第２部分領域のロボット位置を算出する請求項１に記載のワーク取出しシステム。
【請求項３】
前記データ取得位置算出部が、前記第１部分領域の前記３次元点群の中で最も高さの高い３次元点の水平方向位置が前記第２部分領域の中心となり、垂直方向位置が所定高さになるように前記第２部分領域のロボット位置を算出する請求項２に記載のワーク取出しシステム。
【請求項４】
前記データ取得位置算出部が、前記第１部分領域の前記３次元点群により構成される平面領域の重心位置を基準として前記第２部分領域のロボット位置を算出する請求項１に記載のワーク取出しシステム。
【請求項５】
前記データ取得位置算出部が、前記重心位置の水平方向位置が前記第２部分領域の中心となり、垂直方向位置が所定高さになるように前記第２部分領域のロボット位置を算出する請求項４に記載のワーク取出しシステム。
【請求項６】
前記データ取得位置算出部が、前記平面領域内に存在する３次元点の数が所定の閾値以下である場合に、前記３次元センサの傾斜角度を変更して取得される前記第２部分領域のロボット位置を算出する請求項４または請求項５のいずれかに記載のワーク取出しシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワーク取出しシステムに関するものである。
【背景技術】
【０００２】
従来、コンテナ内にバラ積みされたワークをロボットによって取り出すワーク取出しシステムが知られている（例えば、特許文献１参照。）。
このワーク取出しシステムは、ロボットの手先部に、コンテナの上部開口全体を視野内に収めて撮影し、視野内のワークの３次元点群を取得可能な３次元センサを取り付けている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８８５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ワークの３次元点群を取得する３次元センサの視野範囲よりもコンテナの上部開口の大きさが大きい場合がある。このような場合に、コンテナ内の全てのワークの３次元点群の位置情報を取得するために、３次元センサを搭載するロボットを予め教示された複数の位置および姿勢に順次移動させながら、各位置においてコンテナ内の部分的な領域の３次元点群の位置情報を取得する方法を採用すると、移動した領域には既にワークが存在しなくても３次元点群の位置情報の取得処理が行われてしまうという不都合がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、コンテナ内の３次元点群の位置情報を部分的にしか取得できない３次元センサを装着していても、ロボットによる無駄な移動動作および３次元センサによる無駄な３次元点群の位置情報の取得を防止して効率的にワークを取り出すことができるワーク取出しシステムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ロボットと、該ロボットの手先部に取り付けられワークを把持するハンドと、前記ロボットの前記手先部に取り付けられ、コンテナ内の部分領域の３次元点群の位置情報を取得する３次元センサと、該３次元センサにより取得された第１部分領域の前記３次元点群の位置情報に基づいて前記ワークの位置および姿勢を算出するワーク状態算出部と、前記３次元センサにより取得された前記第１部分領域の前記３次元点群の位置情報に基づいて、次に位置情報を取得する第２部分領域のロボット位置を算出するデータ取得位置算出部と、前記ワーク状態算出部により算出された前記ワークの位置および姿勢並びに前記データ取得位置算出部により算出された前記第２部分領域のロボット位置に基づいて、前記ロボットおよび前記ハンドを制御する制御部とを備えるワーク取出しシステムを提供する。
【０００７】
本態様によれば、ロボットを作動させて手先部に取り付けた３次元センサをコンテナに対して位置決めし、コンテナ内の部分領域の３次元点群の位置情報を取得すると、取得された第１部分領域の３次元点群に含まれるワークの位置および姿勢がワーク状態算出部により算出される。これにより、算出されたワークの位置および姿勢に基づいて制御部がロボットおよびハンドを制御してワークをハンドリングしてコンテナ内から取り出すことができる。
【０００８】
この場合において、３次元センサにより取得された第１部分領域の３次元点群の位置情報からデータ取得位置算出部によって次にワークの位置情報を取得する第２部分領域のロボット位置が算出される。
すなわち、３次元センサによる次の３次元点群のデータ取得位置が、予め教示された位置によって決められるのではなく、３次元センサによって取得された３次元点群の位置情報に基づいて決められるので、コンテナ内の３次元点群を部分的にしか取得できない３次元センサを装着していても、ロボットによる無駄な移動動作および３次元センサによる無駄な３次元点群の取得を防止して効率的にワークを取り出すことができる。
【０００９】
上記態様においては、前記データ取得位置算出部が、前記第１部分領域の前記３次元点群の中で最も高さの高い位置に配置される３次元点を基準として前記第２部分領域のロボット位置を算出してもよい。
このようにすることで、コンテナ内にバラ積みされているワークは、最も高い高さ位置に配置されているものが最も取り出しやすいワークである可能性が高い。したがって、次に位置情報を取得する第２部分領域の位置として、先に取得された３次元点群内において最も高い高さ位置に配置されている３次元点を基準に算出することにより、少なくとも１つのワークを認識可能な第２部分領域の３次元点群を取得することができる。
【００１０】
また、上記態様においては、前記データ取得位置算出部が、前記第１部分領域の前記３次元点群の中で最も高さの高い３次元点の水平方向位置が前記第２部分領域の中心となり、垂直方向位置が所定高さになるように前記第２部分領域のロボット位置を算出してもよい。
このようにすることで、第１部分領域の３次元点群の中で最も高さの高い位置に配置される３次元点を中心とする範囲に一致する水平な第２部分領域のロボット位置を簡易に算出することができる。
【００１１】
また、上記態様においては、前記データ取得位置算出部が、前記第１部分領域の前記３次元点群により構成される平面領域の重心位置を基準として前記第２部分領域のロボット位置を算出してもよい。
このようにすることで、３次元点群において平面領域として認識できる部分はロボットでのワークの取り出し成功の可能性が高いので、平面領域の重心位置を基準とすることにより、少なくとも１つのワークを認識して取り出し可能な第２部分領域の３次元点群を取得することができる。
【００１２】
また、上記態様においては、前記データ取得位置算出部が、前記重心位置の水平方向位置が前記第２部分領域の中心となり、垂直方向位置が所定高さになるように前記第２部分領域のロボット位置を算出してもよい。
このようにすることで、第１部分領域の３次元点群の中で平面領域の重心位置を中心とする範囲に一致する水平な第２部分領域のロボット位置を簡易に算出することができる。
【００１３】
また、上記態様においては、前記データ取得位置算出部が、前記平面領域内に存在する３次元点の数が所定の閾値以下である場合に、前記３次元センサの傾斜角度を変更して取得される前記第２部分領域のロボット位置を算出してもよい。
このようにすることで、平面領域内に存在する３次元点の数が所定の閾値以下である場合に、３次元センサに対して平面領域が大きく傾斜している可能性があるので、３次元センサの傾斜角度を変更することで、３次元点群を正しく検出し得る第２部分領域のロボット位置を算出することができる。
【発明の効果】
【００１４】
本発明によれば、コンテナ内の３次元点群の位置情報を部分的にしか取得できない３次元センサを装着していても、ロボットによる無駄な移動動作および３次元センサによる無駄な３次元点群の位置情報の取得を防止して効率的にワークを取り出すことができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るワーク取出しシステムを示す全体構成図である。
【図２】図１のワーク取出しシステムによるワーク取出し方法を説明するフローチャートである。
【図３】図２のワーク取出し方法のステップＳ２により最初にデータ取得される部分領域を重畳して示す、ワークを収容したコンテナの平面図である。
【図４】図２のワーク取出し方法のステップＳ３により認識されたワークを重畳して示す、ワークを収容したコンテナの平面図である。
【図５】図２のワーク取出し方法のステップＳ８により算出された次にデータ取得されるロボット位置を重畳して示す、ワークを収容したコンテナの平面図である。
【図６】図２のワーク取出し方法のステップＳ２により次にデータ取得される部分領域を重畳して示す、ワークを収容したコンテナの平面図である。
【図７】図２のワーク取出し方法の変形例を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の一実施形態に係るワーク取出しシステム１について、図面を参照して以下に説明する。
本実施形態に係るワーク取出しシステム１は、図１に示されるように、複数のワークＷを収容し上方に開放されたコンテナＹの近傍に設置されたロボット２と、ロボット２の手先部３に取り付けられワークＷを把持するハンド４と、ロボット２の手先部３に取り付けられ、コンテナＹ内のワークＷの３次元情報を取得する３次元センサ５と、３次元センサ５により取得された３次元情報を処理する情報処理部６と、情報処理部６による処理結果に基づいてロボット２およびハンド４を制御する制御部７とを備えている。情報処理部６および制御部７は、情報を記憶する不図示のメモリおよび情報処理を行う不図示のプロセッサを備えている。
【００１７】
ロボット２は、図１に示す例では、直立多関節型ロボットを示しているが、任意の形態のロボットを採用することができる。
３次元センサ５は、図３に示されるように、コンテナＹの上部開口の大きさよりも小さいデータ取得範囲Ａを備え、コンテナＹ内にバラ積みされた複数のワークＷの表面の内、データ取得範囲Ａ内に配置される表面上の複数の点（３次元点群）の３次元位置の情報を上方から取得して情報処理部６に送るようになっている。図中、符号Ｂはデータ取得範囲Ａ内に存在する３次元点の内の１つを示している。
【００１８】
情報処理部６は、３次元センサ５から送られて来た３次元点群の位置情報に基づいて、データ取得範囲（第１部分領域）Ａ内に存在するワークＷを認識し、認識されたワークＷの位置および姿勢を算出するワーク状態算出部８と、次に３次元点群の位置情報を取得する領域（第２部分領域）の位置を算出するデータ取得位置算出部９とを備えている。
ワーク状態算出部８は、例えば、予め登録しておいた３次元モデルデータを用いてモデルマッチングを行うことにより、ワークＷを認識するようになっている。また、認識されたワークＷの、例えば重心位置により、ワークＷの位置座標を算出し、３次元モデルデータに対する変形の度合い、あるいは、認識されたワークＷの表面上の３次元点Ｂの位置情報によってワークＷの傾き角度および傾き方向等の姿勢を算出するようになっている。
【００１９】
データ取得位置算出部９は、図５および図６に示されるように、データ取得範囲Ａ内に存在する３次元点Ｂの内、例えば、高さが最も高い位置に配置されている３次元点Ｂ１を中心（基準）とする領域を次のデータ取得範囲Ａとして設定するようになっている。すなわち、データ取得範囲Ａ内に存在する３次元点Ｂの内、高さが最も高い位置に配置されている３次元点Ｂ１から所定距離だけ鉛直上方に離れた位置に３次元センサ５を配置して取得される（３次元点Ｂ１を視野の中心に配置した）視野範囲に、次のデータ取得範囲（第２部分領域）Ａを設定するようになっている。
【００２０】
このように構成された本実施形態に係るワーク取出しシステム１の作用について以下に説明する。
本実施形態に係るワーク取出しシステム１を用いて、コンテナＹ内にバラ積みされたワークＷを取り出すには、図２に示されるように、まず、予め設定された最初のデータ取得位置、例えば、コンテナＹの中央の所定領域をデータ取得範囲Ａとする位置に３次元センサ５を配置するようにロボット２を作動させる（ステップＳ１）。
【００２１】
この状態で、３次元センサ５を作動させコンテナＹ内に設定されたデータ取得範囲Ａのデータ取得を行ってコンテナＹ内に存在するワークＷの表面上の複数の３次元点Ｂの検出とその位置座標の取得を行う（ステップＳ２）。次いで、取得された３次元点群に基づいて３次元モデルデータを用いたモデルマッチングを行って、ワークＷの認識を行う（ステップＳ３）。
【００２２】
データ取得範囲Ａ内にワークＷが認識された場合には（ステップＳ４）、認識された全てのワークＷについて、位置および姿勢を算出する（ステップＳ５）。図４に示す例では、ワークＷはドーナツ形状を有しており、ワークＷの位置としては中心孔Ｗ１の中央の３次元点Ｂの３次元座標が算出され、姿勢としてはワークＷの傾き角度と傾き方向が算出される。
【００２３】
そして、位置および姿勢が算出された１以上のワークＷに対してロボット２を作動させ、手先部３に取り付けたハンド４によってワークＷを１つずつ取り出して搬送先に搬送する（ステップＳ６）。認識された全てのワークＷが取り出された場合には、コンテナＹ内の全てのワークＷが取り出されたか否かが判定され（ステップＳ７）、全てのワークＷが取り出された場合には処理を終了し、取り出しが終わっていない場合には、次のデータ取得位置の算出が行われる（ステップＳ８）。
【００２４】
すなわち、ステップＳ２において取得された３次元点群に基づいて、高さが最も高い３次元点Ｂ１を中心とするデータ取得範囲Ａを次のデータ取得位置として算出するようになっている。そして、次のデータ取得位置が算出された場合には、ステップＳ１からの工程が繰り返される。
ステップＳ４においてワークＷが認識されなかった場合にはステップＳ７からの工程が実施される。
【００２５】
このように、本実施形態に係るワーク取出しシステム１によれば、３次元センサ５による次の３次元点群の位置情報のデータ取得位置が、予め教示された位置によって決められるのではなく、３次元センサ５によって取得された３次元点群の位置情報に基づいて決められる。
これにより、コンテナＹ内の３次元点群を部分的にしか取得できない３次元センサ５を装着していても、ロボット２による無駄な移動動作および３次元センサ５による無駄な３次元点群の位置情報の取得を防止して効率的にワークＷを取り出すことができるという利点がある。
【００２６】
すなわち、コンテナＹ内の空間を複数の領域に分割して、各領域について順次、３次元センサ５によって３次元点群の位置情報の取得およびワークＷの認識を行う場合には、既にワークＷが取り出されて存在しない場合にも位置情報の取得およびワークＷの認識処理を行う必要があり、ロボット２による無駄な移動動作および３次元センサ５による無駄な３次元点群の取得等を行うことになる。これに対し、本実施形態に係るワーク取出しシステム１によれば、既に取得された３次元点群の位置情報を利用して次のデータ取得位置を決定するので、ロボット２による無駄な移動動作および３次元センサ５による無駄な３次元点群の位置情報の取得を防止することができる。
【００２７】
特に、取得された１つのデータ取得範囲Ａ内において３次元点群の高さが最も高い位置に配置されている３次元点Ｂ１を中心とした次のデータ取得範囲Ａを定めるので、ワークＷが存在している可能性が最も高い位置を中心として新たな３次元点群を取得することができ、より効率的にワークＷの取り出しを行うことができるという利点がある。
【００２８】
なお、本実施形態においては、データ取得位置算出部９により、ステップＳ２において位置情報が取得された３次元点群の内、最も高い位置に配置されている３次元点Ｂ１を中心とする領域にデータ取得範囲Ａを設定し、当該３次元点Ｂ１の鉛直上方の所定距離だけ離れた位置に３次元センサ５を配置するようにロボット２を動作させることとしたが、これに限定されるものではない。
例えば、最も高い位置に配置されている３次元点Ｂ１の鉛直上方であって、所定の高さ位置に３次元センサ５を配置するようにロボット２を動作させてもよい。
【００２９】
また、取得された３次元点群から同一平面上に配置される３次元点Ｂを抽出し、抽出された３次元点群により構成される平面領域の重心位置を中心とする範囲（第２部分領域）を次のデータ取得範囲Ａとして算出してもよい。同一平面上に配置される３次元点群は同一のワークＷの表面上に位置すると考えられるので、その重心を中心とした範囲の３次元点群の位置情報を取得することにより、ワークＷが存在している可能性が高い範囲の３次元点群を取得することができる。
【００３０】
同一平面上に配置される３次元点群が複数抽出された場合には、最も広い面積を有する平面部分の重心を次の３次元点群の位置情報を取得する範囲の中心として設定すればよい。ここで、平面部分の面積は、当該平面部分を構成する３次元点Ｂの数によって簡易に求めることができる。
【００３１】
また、同一平面上に配置されている３次元点群として抽出された３次元点Ｂの数が少ない場合には抽出された平面部分の面積が物理的に小さい場合の他、面積は大きいが、３次元センサ５による計測方向に対して平面部分が直交しておらず、大きく傾斜している場合がある。したがって、同一平面上に配置されている３次元点群として抽出された３次元点Ｂの数が所定の閾値以下の場合には、抽出された３次元点群により構成される平面部分の重心を通り、当該平面部分に沿って配置される水平線回りのいずれかの方向に３次元センサ５を回転させるようにロボット２を動作させ、３次元センサ５の傾斜角度を変更して３次元センサ５による３次元点群の位置情報を取得し直すことにしてもよい。
【００３２】
これにより、平面部分を構成する３次元点Ｂの数が所定の閾値より多くなった場合には、その位置で取得された３次元点群の位置情報を用いてワークＷの認識を行うことにすればよい。回転させることにより、平面部分を構成する３次元点Ｂの数が減少した場合には、逆方向に回転させればよい。
【００３３】
また、本実施形態においては、ステップＳ２において取得された３次元点群の位置情報を利用して次に３次元点群の位置情報を取得するデータ取得位置を決定することとしたが、これに代えて、図７に示されるように、ワークＷの取り出し後、コンテナＹ内の全てのワークＷの取り出しがまだ終わっていないと判定された場合には（ステップＳ７）、最初のデータ取得位置にロボット２を移動させて、再度ステップＳ２と同じ領域の３次元点群の位置情報の取得を行い（ステップＳ９）、新たに取得された３次元点群の位置情報に基づいて、次のデータ取得位置を算出する（ステップＳ８）ことにしてもよい。
【００３４】
すなわち、取り出されたワークＷの大きさが大きかったり、１つのワークＷを取り出した結果、他のワークＷの位置が変動したりした場合に、ステップＳ２において取得された３次元点群の位置情報が変化している場合がある。
そこで、ワークＷを取り出して、搬送先に移動する途中で、ステップＳ２におけるデータ取得位置にて再度３次元点群の位置情報を取得することにしてもよい。これにより、精度よくワークＷを認識可能な３次元点群を取得することができる。
【符号の説明】
【００３５】
１  ワーク取出しシステム
２  ロボット
３  手先部
４  ハンド
５  ３次元センサ
７  制御部
８  ワーク状態算出部
９  データ取得位置算出部
Ａ  データ取得範囲（第１部分領域、第２部分領域）
Ｂ，Ｂ１  ３次元点
Ｗ  ワーク
Ｙ  コンテナ
【図１】
2018192592.tif 000003
【図２】
2018192592.tif 000004
【図３】
2018192592.tif 000005
【図４】
2018192592.tif 000006
【図５】
2018192592.tif 000007
【図６】
2018192592.tif 000008
【図７】
2018192592.tif 000009