(57)【特許請求の範囲】
【請求項１】
第１および第２の多軸ロボットを双腕とし、鉛直向きと略平行な旋回軸まわりに旋回する胴部を有する双腕ロボットと、
前記第１の多軸ロボットの終端可動部に設けられ、把持爪の間隔を変更する機構および前記把持爪の先端向きを変更する機構を含むハンドと、
前記双腕ロボットから独立して固定され、前記第２の多軸ロボットによって把持された容器内にバラ積みされたワークの３次元形状を上方から計測する３次元計測部と、
前記３次元計測部によって計測された前記３次元形状に基づいて前記ワークの姿勢を算出する算出部と、
前記算出部によって算出された前記ワークの姿勢および前記終端可動部の回転軸の方向に基づいて前記把持爪の先端向きを決定する決定部と、
前記３次元計測部と前記容器との距離が前記第１の多軸ロボットの作業スペースを確保した距離よりも小さい状態で前記３次元計測部による計測が完了した場合に、前記双腕ロボットに対し、前記旋回軸まわりの旋回によって前記容器を前記第１の多軸ロボットの作業スペースが確保される位置へ位置付かせる動作を指示した後に、前記終端可動部の回転軸の向きおよび前記決定部によって決定された前記把持爪の先端向きを保持しつつ前記ワークを把持する動作を指示する指示部と
を備えることを特徴とするワークピッキングシステム。
【請求項２】
前記決定部は、
前記把持爪の支点間を結ぶ回転軸および前記把持爪の先端を含む面の法線方向が、前記ワークにおける基準軸と所定の角度をなすように前記把持爪の先端向きを決定することを特徴とする請求項１に記載のワークピッキングシステム。
【請求項３】
前記ワークは、
ボルトであり、
前記決定部は、
前記法線方向が前記ボルトにおける軸線方向と略並行となるように前記把持爪の先端向きを決定することを特徴とする請求項２に記載のワークピッキングシステム。
【請求項４】
前記指示部は、
前記算出部が前記ワークの姿勢の算出に失敗した場合に、前記容器を揺する動作を前記第２の多軸ロボットに対して指示することを特徴とする請求項１、２または３に記載のワークピッキングシステム。
【請求項５】
前記指示部は、
前記容器内のワークの残量が所定の閾値以下である場合に、前記３次元計測部によるあらたな計測を指示することなく、前記第１の多軸ロボットによる前記ワークのピック動作を指示することを特徴とする請求項１〜４のいずれか一つに記載のワークピッキングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークピッキングシステムに関する。
【背景技術】
【０００２】
従来、乱雑に重なり合って置かれたワークを、多軸ロボットの終端可動部に設けられたハンドによって把持して移動させる動作、すなわち、ピック動作を行うワークピッキングシステムが知られている。
【０００３】
かかるワークピッキングシステムでは、ワークのそれぞれの位置を２次元計測器や、３次元計測器を用いて計測することによって次に把持するワークを決定し、決定したワークを把持するように多軸ロボットへ指示する。そして、多軸ロボットは、把持したワークを所定の位置へ移載する（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２０１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来のワークピッキングシステムでは、ハンドによって把持されるワークの把持姿勢がばらつくという問題があった。このため、従来のワークピッキングシステムでは、ピック動作につづく動作を行いにくかった。
【０００６】
たとえば、ハンドによって把持されたワークの把持姿勢がバラバラである場合、ワークを所定の姿勢へ変更するためには、ハンド自体の姿勢を変更する必要があるので多軸ロボットの動作が複雑化してしまう。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、把持対象となるワークの姿勢に関わらず、ワークの把持姿勢を一定に保つことができるワークピッキングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示するワークピッキングシステムは、第１および第２の多軸ロボットを双腕とし、鉛直向きと略平行な旋回軸まわりに旋回する胴部を有する双腕ロボットと、前記第１の多軸ロボットの終端可動部に設けられ、把持爪の間隔を変更する機構および前記把持爪の先端向きを変更する機構を含むハンドと、前記双腕ロボットから独立して固定され、前記第２の多軸ロボットによって把持された容器内にバラ積みされたワークの３次元形状を上方から計測する３次元計測部と、前記３次元計測部によって計測された前記３次元形状に基づいて前記ワークの姿勢を算出する算出部と、前記算出部によって算出された前記ワークの姿勢および前記終端可動部の回転軸の方向に基づいて前記把持爪の先端向きを決定する決定部と、前記３次元計測部と前記容器との距離が前記第１の多軸ロボットの作業スペースを確保した距離よりも小さい状態で前記３次元計測部による計測が完了した場合に、前記双腕ロボットに対し、前記旋回軸まわりの旋回によって前記容器を前記第１の多軸ロボットの作業スペースが確保される位置へ位置付かせる動作を指示した後に、前記終端可動部の回転軸の向きおよび前記決定部によって決定された前記把持爪の先端向きを保持しつつ前記ワークを把持する動作を指示する指示部とを備える。
【発明の効果】
【０００９】
本願の開示するワークピッキングシステムの一つの態様によれば、把持対象となるワークの姿勢に関わらず、ワークの把持姿勢を一定に保ったピック動作を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るワークピッキング方法の説明図である。
【図２】図２は、実施例１に係るワークピッキングシステムのブロック図である。
【図３】図３は、実施例１に係るワークピッキングシステムの配置図である。
【図４】図４は、７軸ロボットにおける各軸の説明図である。
【図５】図５は、ハンドの模式構成を示す図である。
【図６】図６は、ハンドの構成例を示す図である。
【図７】図７は、ハンドによるピック動作の例を示す図である。
【図８】図８は、計測位置およびピック位置を示す図である。
【図９】図９は、実施例１に係るワークピッキングシステムが実行する処理手順を示すフローチャートである。
【図１０】図１０は、実施例２に係る３次元計測部の配置を示す図である。
【図１１】図１１は、実施例２に係るワークピッキングシステムが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本願の開示するワークピッキングシステムの実施例を詳細に説明する。なお、以下に示す各実施例における例示で本発明が限定されるものではない。
【００１２】
また、以下では、３次元計測器を多軸ロボットとは別に固定して設けた場合の実施例を実施例１として、３次元計測器を多軸ロボットに設けた場合の実施例を実施例２として、それぞれ説明する。
【実施例１】
【００１３】
まず、実施例１に係るワークピッキング方法について、図１を用いて説明する。図１は、実施例１に係るワークピッキング方法の説明図である。なお、以下では、把持対象となるワーク１００が「ボルト」である場合について説明するが、ワーク１００の種別はこれに限定されない。たとえば、ワーク１００は、ナットや電子部品であってもよい。
【００１４】
また、図１では、３次元計測器による計測方向が、鉛直下向き（以下、「鉛直方向」と記載する）である場合について示している。そして、図１では、説明をわかりやすくする観点から、直交座標系であるｘｙ座標系を水平面上に設け、ワーク１００の基準軸（ここでは、ボルトの軸心を結んだ軸）を水平面へ投影した線をｙ軸としている。
【００１５】
図１に示すように、実施例１に係るワークピッキング方法では、多軸ロボットの終端可動部（図１に示す「アーム」参照）に設けられた「ハンド」によってワーク１００を把持して移動させる動作（ピック動作）を行う。
【００１６】
ここで、「ハンド」は、先端向きを変更可能な１対の把持爪を備えており、ピッキングするワーク１００の姿勢に応じて把持爪の先端向きを適宜変更することによって、把持爪とワーク１００の相対姿勢を一定に保つ。
【００１７】
なお、１対の把持爪は、図１に示す軸ＡＸｐ（以下、「ピック軸ＡＸｐ」と記載する）まわりに回転することによって、把持爪の先端向きを任意の向きへ変更する。また、ハンドが取り付けられたアームは、図１に示す軸ＡＸｔまわりに回転するが、軸ＡＸｔは、鉛直方向と略平行な姿勢を保つように制御される。
【００１８】
すなわち、実施例１に係るワークピッキング方法では、多軸ロボットの終端可動部の回転軸を鉛直方向と略平行に保ちつつ、ハンドの把持爪の先端向きがワーク１００の基準軸となす角を一定（たとえば、９０度）にしたピック動作を行う。
【００１９】
したがって、実施例１に係るワークピッキング方法によれば、把持爪に対するワーク１００の姿勢を各ピック動作にわたって一定に保つことができるので、把持したワーク１００に関する次の作業（たとえば、ボルトの軸を穴に挿入する作業）が行いやすい。
【００２０】
また、実施例１に係るワークピッキング方法によれば、ハンドが設けられたアームの回転軸の向きを鉛直方向と略平行に保つことができるので、アームと障害物（たとえば、ワーク１００をバラ積みした容器）との接触が発生しにくい。
【００２１】
以下、実施例１に係るワークピッキング方法の手順について説明する。図１に示すように、実施例１に係るワークピッキング方法では、バラ積みされたワーク１００を３次元計測し、ピック対象となるワーク１００を決定するとともに、ワーク１００の位置および姿勢を取得する（図１の（ａ）参照）。ここで、ワーク１００の基準軸と水平面とのなす角度が、図１に示すように「θ」であるとする。
【００２２】
この場合、実施例１に係るワークピッキング方法では、ピック軸ＡＸｐが、図１に示すｘ軸と略平行になるように、アームを軸ＡＸｔまわりに回転させる（図１の（ｂ１）参照）。また、実施例に係るワークピッキング方法では、ワーク１００の姿勢に応じて把持爪をピック軸ＡＸｐまわりに回転させる（図１の（ｂ２）参照）。
【００２３】
ここで、図１に示すように、把持爪の先端向きとアームの回転軸である軸ＡＸｔとのなす角を上記した「θ」と等しくすれば、把持爪の先端向きとワーク１００の基準軸とを直交させることができる。
【００２４】
なお、図１では、把持爪の先端向きとワーク１００の基準軸とが直交するピック動作を例示したが、把持爪の先端向きとワーク１００の基準軸とが所定の角度αとなるようにピック動作を行うこととしてもよい。この場合、把持爪の先端向きと軸ＡＸｔとのなす角が「θ＋α」あるいは「θ−α」となるように、把持爪をピック軸ＡＸｐまわりに回転させることとすればよい。
【００２５】
ここで、図１に示した（ｂ１）および（ｂ２）の手順の実行順序に関しては、どちらの手順から実行してもよく、かかる２つの手順を並行して実行することとしてもよい。
【００２６】
このように、実施例１に係るワークピッキング方法では、把持爪の先端向きをワーク１００の姿勢に応じて適宜調整したうえで、１対の把持爪間の間隔を狭める把持動作によってワーク１００を把持する（図１の（ｃ）参照）。
【００２７】
次に、実施例１に係るワークピッキングシステム１について説明する。図２は、実施例１に係るワークピッキングシステム１のブロック図である。図２に示すように、ワークピッキングシステム１は、３次元計測部１０と、ハンド２０と、ロボット３０と制御装置４０とを備える。なお、ハンド２０は、図１に示した「ピック軸付きハンド」を指す。
【００２８】
また、制御装置４０は、制御部４１と、記憶部４２とを備えており、制御部４１は、３次元情報取得部４１ａと、ワーク姿勢算出部４１ｂと、把持爪向き決定部４１ｃと、指示部４１ｄとをさらに備える。そして、記憶部４２は、３次元情報４２ａと、ワーク情報４２ｂとを記憶する。
【００２９】
なお、図２では、ハンド２０とロボット３０とを独立した構成要素として記載したが、ロボット３０にハンド２０を含め、制御装置４０の指示部４１ｄがハンド２０に対する指示についてもロボット３０へ指示することとしてもよい。また、図２では、１つの制御装置４０を示したが、制御装置４０を複数の独立した装置としたうえで、各装置が相互に通信するように構成してもよい。
【００３０】
３次元計測部１０は、ワーク１００の３次元形状を計測するデバイス（３次元計測器）である。この３次元計測部１０としては、たとえば、レーザスリット光を用いたスキャン動作によって、物体の３次元形状の取得を行う計測ユニットを用いることができる。
【００３１】
ハンド２０は、図１に示したように、先端向きを適宜調整可能な１対の把持爪で把持動作を行うピック軸付きハンドである。なお、ハンドの具体的な構成例については、図６を用いて後述する。ロボット３０は、たとえば、７軸の多軸ロボットであり、終端可動部には、上記したハンド２０が設けられる。すなわち、ロボット３０は、ハンドなどのエンドエフェクタを交換可能な汎用ロボットである。
【００３２】
ここで、実施例１に係るワークピッキングシステム１の配置例について図３を、実施例１に係るロボット３０の各軸について図４を、それぞれ用いて説明しておく。図３は、実施例１に係るワークピッキングシステム１の配置図である。図３に示すように、３次元計測部１０は、鉛直方向（鉛直下向き）側が計測領域となるように、スタンド１１（支持部）を介して固定される。
【００３３】
また、図３に示すように、ロボット３０は、右アーム３０ａと、左アーム３０ｂとを双腕とする、いわゆる双腕ロボットである。ここで、右アーム３０ａおよび左アーム３０ｂは、それぞれが、多軸ロボット（図３では７軸ロボット）であり、左アーム３０ｂのエンドエフェクタとして、上記したハンド２０（ピック軸付きハンド）が設けられる。
【００３４】
なお、右アーム３０ａには、所定のエンドエフェクタが設けられ、ワーク１００がバラ積みされた容器２００を把持する。このように、ロボット３０は、右アーム３０ａで把持した容器２００から、左アーム３０ｂに設けられたハンド２０でワーク１００をつまみ出す動作を行う。
【００３５】
なお、ロボット３０は、右アーム３０ａおよび左アーム３０ｂが設けられた胴部３０ｃを、床面などに固定される支持部３０ｄに対して水平面に沿って旋回させる機構を有している。
【００３６】
図４は、７軸ロボットにおける各軸の説明図である。なお、図４に示す各関節の回転軸の向きは、円で示した関節については紙面と垂直であり、矩形で示した関節については紙面と平行である。なお、図４には、各関節の回転向きを両矢印で示している。また、図３に示した右アーム３０ａおよび左アーム３０ｂのそれぞれを、図４に示した７軸ロボットとすることができる。
【００３７】
図４に示すように、各関節の回転軸は、設置基準面から順に、軸ＡＸｓ、軸ＡＸｌ、軸ＡＸｅ、軸ＡＸｕ、軸ＡＸｒ、軸ＡＸｂおよび軸ＡＸｔである。そして、軸ＡＸｔは、７軸ロボットの終端可動部の回転軸に相当し、終端可動部にはエンドエフェクタが設けられる。なお、右アーム３０ａおよび左アーム３０ｂの軸構成は、図４に例示した構成に限られない。
【００３８】
ここで、実施例１に係るハンド２０（図３参照）が設けられた左アーム３０ｂ（図３参照）は、軸ＡＸｔを鉛直方向と略平行に保持した状態でハンド２０によるピック動作を実行する。
【００３９】
図２の説明に戻り、制御装置４０について説明する。制御部４１は、制御装置４０の全体制御を行う。３次元情報取得部４１ａは、３次元計測部１０から計測データを受け取り、受け取った計測データを、３次元情報４２ａとして記憶部４２へ記憶させる。ここで、３次元情報４２ａは、１つまたは複数のワーク１００の３次元形状を示す情報である。
【００４０】
ワーク姿勢算出部４１ｂは、３次元情報４２ａおよびワーク情報４２ｂに基づいてピック動作の対象となるワーク１００の姿勢を算出する処理を行う。ここで、ワーク情報４２ｂは、ワーク１００の３次元形状や被把持部位を定義した情報である。
【００４１】
なお、「被把持部位」としては、たとえば、ワーク１００がボルトである場合には、ボルトの頭部近傍の軸が定義される。このように、ボルトの頭部近傍の軸を被把持部位とするのは、ボルトをバラ積みした状態では、頭部近傍付近に空隙が生じやすいためである。
【００４２】
ワーク姿勢算出部４１ｂは、ワーク情報４２ｂを用いたマッチング処理を行うことによって、３次元情報４２ａからワーク１００を検出する。そして、ワーク姿勢算出部４１ｂは、検出したワーク１００の中から次にピッキングするワーク１００を決定し、決定したワーク１００の姿勢を算出する。なお、ワーク姿勢算出部４１ｂは、ワーク１００における被把持部位の位置も併せて算出する。
【００４３】
そして、把持爪向き決定部４１ｃは、ワーク姿勢算出部４１ｂによって算出されたワーク１００の姿勢に基づき、ハンド２０における把持爪の先端向きを決定する。また、把持爪向き決定部４１ｃは、決定した先端向きを、指示部４１ｄに対して通知する。
【００４４】
ここで、ハンド２０（ピック軸付きハンド）の模式構成について、図５を用いて説明しておく。図５は、ハンド２０の模式構成を示す図である。なお、図５の（Ａ）には、ハンド２０の模式構成を、図５の（Ｂ）には、把持爪の先端向きを変更した様子を、同じく（Ｃ）には、ワーク１００における基準軸１０１と把持爪の先端向きとの関係を、それぞれ示している。
【００４５】
図５の（Ａ）に示すように、ハンド２０は、スライダ軸２１に沿って移動可能なスライダ２１ａおよびスライダ２１ｂをそれぞれ含んだ１対の移動部２２を備える。そして、移動部２２には、関節２３経由で把持爪２４がそれぞれ取り付けられる。なお、把持爪２４の先端は、点２４ａである。
【００４６】
ここで、１対の移動部２２が、スライダ軸２１に沿ってお互いに接近する向きへ移動する動作によって、１対の把持爪２４がワーク１００を挟み込み、お互いに遠ざかる向きへ移動する動作によって、１対の把持爪２４で挟み込んだワーク１００を解放する。
【００４７】
また、図５の（Ａ）に示すように、把持爪２４は、関節２３を支点として、両矢印で示した向きに回転する。なお、２つの関節２３を結んだ線は、上記したピック軸ＡＸｐである。また、図５の（Ａ）には、移動部２２および把持爪２４が１つの直線上にある状態、すなわち、把持爪２４の基準姿勢を示している。
【００４８】
図５の（Ｂ）には、図５の（Ａ）に示した基準姿勢から、１対の把持爪２４をピック軸ＡＸｐまわりに所定角度だけ回転させた状態を例示している。ここで、ピック軸ＡＸｐと、２つの点２４ａ（把持爪２４の各先端）とを含んだ平面を平面５０とし、平面５０の法線を法線５１とする。
【００４９】
この場合、図５の（Ｃ）に示したように、ハンド２０がワーク１００を把持する際には、法線５１と、ワーク１００の基準軸１０１とが略平行となるように、把持爪２４の先端向きを調整する。このようにすることで、把持爪２４の向きが、ワーク１００の基準軸１０１と略直交した状態で、ワーク１００を把持することが可能となる。
【００５０】
なお、図５の（Ｃ）には、把持爪２４の向きと、ワーク１００の基準軸１０１とを略直交させる場合を示したが、把持爪２４の向きと、ワーク１００の基準軸１０１とのなす角については、任意の角度とすることができる。
【００５１】
図２の説明に戻り、制御装置４０の説明をつづける。指示部４１ｄは、把持爪向き決定部４１ｃによって決定された把持爪向きをハンド２０に対して指示する。また、指示部４１ｄは、ピック動作に伴うハンド２０の移動をロボット３０に対して指示する。
【００５２】
ここで、指示部４１ｄは、ハンド２０が取り付けられた終端可動部の回転軸（図１の軸ＡＸｔ参照）が、鉛直方向と略平行となる姿勢を保持するように、ロボット３０に対して指示する。また、指示部４１ｄは、３次元計測部１０に対する計測開始指示を適宜行うが、計測開始指示のタイミングについては、図８を用いて後述する。
【００５３】
記憶部４２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、３次元情報４２ａおよびワーク情報４２ｂを記憶する。なお、３次元情報４２ａおよびワーク情報４２ｂの内容については、既に説明したので、ここでの説明を省略する。
【００５４】
なお、図２では、制御装置４０を１つの装置として説明したが、制御装置４０を複数の独立した装置として構成することとしてもよい。たとえば、３次元計測部１０を制御する計測制御装置と、ハンド２０およびロボット３０を制御するロボット制御装置と、計測制御装置およびロボット制御装置を統括する統括制御装置とが相互に通信する構成をとってもよい。
【００５５】
次に、ハンド２０（ピック軸付きハンド）の構成例について図６を用いて説明する。図６は、ハンド２０の構成例を示す図である。なお、図６の（Ａ）には、左アーム３０ｂ（図３参照）に取り付けられた状態のハンド２０を、図６の（Ｂ）には、ハンド２０の構成例を、それぞれ示している。
【００５６】
図６の（Ａ）に示すように、左アーム３０ｂの終端可動部３１には、ハンド２０が取り付けられる。また、ハンド２０における上記したピック軸ＡＸｐは、終端可動部３１の回転軸である軸ＡＸｔと略直交する。
【００５７】
図６の（Ｂ）に示すように、ハンド２０は、把持爪２４の開閉に用いられる第１のサーボモータ６１ａと、把持爪２４の先端向きの変更に用いられる第２のサーボモータ６２ａとを備える。また、ハンド２０は、１対の移動部２２と、１対の把持爪２４とを備える。
【００５８】
第１のサーボモータ６１ａによる駆動力は、伝達機構６１ｂ経由で、左右ネジシャフト２１へ伝達される。ここで、左右ネジシャフト２１の一端側と他端側には、それぞれ逆向きのネジ（左右ネジ）が形成されている。
【００５９】
また、１対の移動部２２には、左右ネジシャフト２１を貫通させる穴に、それぞれ同方向のネジが形成されている。したがって、１対の移動部２２は、左右ネジシャフト２１の回転に伴い、左右ネジシャフト２１に沿ってそれぞれ逆方向へ移動する。
【００６０】
また、第２のサーボモータ６２ａによる駆動力は、伝達機構６２ｂ経由で、図示しないスプラインシャフトへ伝達される。そして、スプラインシャフトの回転に伴って作動するリンク機構６２ｄは、把持爪２４にピック軸ＡＸｐにて連結された円板２３を回転させる。これにより、把持爪２４は、ピック軸ＡＸｐまわりに回転し、把持爪２４の先端向きが変更される。
【００６１】
このように、１対の把持爪２４の間隔および先端向きは、それぞれ、サーボモータによって変更されるので、ワーク１００を適切な姿勢、かつ、適切な把持力で把持することができる。また、ワーク１００の被把持部位における厚み（たとえば、ボルトの軸径）を取得することができる。
【００６２】
次に、ハンド２０（ピック軸付きハンド）によるピック動作について図７を用いて説明する。図７は、ハンド２０によるピック動作の例を示す図である。なお、図７の（Ａ）には、ワーク１００を把持した把持爪２４の動作例を、図７の（Ｂ）には、容器２００と把持爪２４との位置関係を、それぞれ示している。
【００６３】
また、図７の（Ａ）および（Ｂ）では、説明を簡略化する観点から、ピック軸ＡＸｐが紙面と垂直となるように図示している。
【００６４】
図７の（Ａ）に示すように、終端可動部３１の回転軸である軸ＡＸｔを、鉛直方向と略平行としたうえで、把持爪２４は、ワーク１００の基準軸１０１と直交する姿勢でワーク１００を把持する。したがって、ワーク１００を把持した把持爪２４の先端向きを、軸ＡＸｔと略平行になるように変更すれば、ワーク１００の基準軸１０１は、軸ＡＸｔと略直交する。
【００６５】
このように、ハンド２０によれば、さまざまな姿勢でバラ積みされたワーク１００であっても、終端可動部３１の姿勢を保ったまま、ワーク１００を一定の把持姿勢で把持することができる。さらに、ハンド２０によれば、終端可動部３１の姿勢を保ったまま、把持後のワーク１００の姿勢を一定の姿勢（たとえば、水平状態）へ変更することができる。
【００６６】
また、図７の（Ｂ）に示すように、ハンド２０によれば、左アーム３０ｂ（図３参照）ならびにハンド２０を容器２００に接触させることなく、容器２００の壁面付近に位置するワーク１００をつまみ出すことが可能となる。
【００６７】
たとえば、図７の（Ｂ）における左側壁面近くのワーク１００を把持する場合には、位置７１にハンド２０を位置付けたうえで、把持爪２４の先端側が左側壁面に近づくように、把持爪２４の先端向きを変更する。また、図７の（Ｂ）における右側壁面近くのワーク１００を把持する場合には、位置７２にハンド２０を位置付けたうえで、把持爪２４の先端側が右側壁面に近づくように、把持爪２４の先端向きを変更する。
【００６８】
次に、制御装置４０の指示部４１ｄによって行われる指示の例について、図８を用いて説明する。図８は、計測位置およびピック位置を示す図である。なお、図８の（Ａ）には、計測位置およびピック位置を鉛直線上に配置する場合を、図８の（Ｂ）には、計測位置およびピック位置を水平線上に配置する場合を、それぞれ示している。また、図８には、３次元計測部１０による計測向き８１を示している。
【００６９】
図８の（Ａ）に示すように、指示部４１ｄは、容器２００を把持した右アーム３０ａに対し、３次元計測部１０の計測範囲に設けられた計測位置８２に、容器２００を位置付けるように指示する。
【００７０】
つづいて、指示部４１ｄは、３次元計測部１０に対して計測開始指示を行う。そして、３次元計測部１０による計測が完了したならば、指示部４１ｄは、右アーム３０ａに対し、容器２００を鉛直方向（鉛直下向き）へ移動させてピック位置８３へ位置付けるように指示する。
【００７１】
ここで、計測位置８２に対応する距離ｈｓ（３次元計測部１０から容器２００の基準位置までの距離）は、ピック位置８３に対応する距離ｈｐよりも小さい。これは、３次元計測部１０による計測精度が確保される距離で計測を行いつつ、ピック動作を行う左アーム３０ｂの作業スペースを確保するためである。
【００７２】
また、計測位置８２の鉛直方向（鉛直下向き）にピック位置８３を設けるのは、容器２００内のワーク１００の位置ずれを防止するためである。
【００７３】
また、図８の（Ｂ）に示すように、計測位置８２にて３次元計測部１０による計測が完了した容器２００を、水平向きに移動させてピック位置８４あるいはピック位置８５へ位置付けることとしてもよい。この場合、指示部４１ｄは、図３に示した胴部３０ｃを旋回させるようにロボット３０に対して指示する。
【００７４】
このように、水平向きに容器２００を移動させることによっても、ピック動作を行う左アーム３０ｂの作業スペースを確保することができる。
【００７５】
次に、実施例１に係るワークピッキングシステム１が実行する処理手順について図９を用いて説明する。図９は、実施例１に係るワークピッキングシステム１が実行する処理手順を示すフローチャートである。なお、図９における「右ハンド」は、図３における右アーム３０ａに設けられたハンドを、「左ハンド」は、図３における左アーム３０ｂに設けられたハンド２０（ピック軸付きハンド）を、それぞれ指す。
【００７６】
図９に示すように、指示部４１ｄは、右ハンドにて容器２００を測定位置へ位置付けるように指示する（ステップＳ１０１）。また、指示部４１ｄは、３次元計測部１０に対して３次元計測を実行するように指示する（ステップＳ１０２）。
【００７７】
つづいて、ワーク姿勢算出部４１ｂは、把持可能なワーク１００があるか否かを判定する（ステップＳ１０３）。そして、把持可能なワーク１００がある場合には（ステップＳ１０３，Ｙｅｓ）、把持爪向き決定部４１ｃは、ワーク姿勢に基づいてハンド２０における把持爪の先端向きを決定する（ステップＳ１０４）。
【００７８】
そして、指示部４１ｄは、右ハンドにて容器２００をピック位置へ位置付けるように指示し（ステップＳ１０５）、左ハンド（ハンド２０）にてワーク１００を把持するように指示する（ステップＳ１０６）。つづいて、指示部４１ｄは、左ハンドにてワーク１００を移載するように指示し（ステップＳ１０７）、所要ワークの移載が完了したか否かを判定する（ステップ１０８）。
【００７９】
そして、所要ワークの移載が完了した場合には（ステップＳ１０８，Ｙｅｓ）、処理を終了する。一方、所要ワークの移載が完了していない場合には（ステップＳ１０８，Ｎｏ）、ステップＳ１０１以降の処理を繰り返す。なお、「所要ワーク」とは、たとえば、移載すべきワーク１００の種別ごとの総数のことを指す。
【００８０】
ところで、ステップＳ１０３において把持可能なワーク１００がないと判定された場合には（ステップＳ１０３，Ｎｏ）、容器２００内の残ワーク（ワーク１００の個数や総重量）が、規定値未満であるか否かを判定する（ステップＳ１０９）。そして、残ワークが規定値未満である場合には（ステップＳ１０９，Ｙｅｓ）、エラー報知を行ったうえで（ステップＳ１１０）、処理を終了する。
【００８１】
一方、ステップＳ１０９の判定条件を満たさなかった場合には（ステップＳ１０９，Ｎｏ）、指示部４１ｄは、右ハンドにて容器２００を揺動させるように指示し（ステップＳ１１１）、ステップＳ１０２以降の処理を繰り返す。なお、容器２００を揺動させることで、容器２００内のワーク１００の位置がずれるため、把持可能なワーク１００を増やすことができる。
【００８２】
なお、図９に示した、左ハンドによるワーク１００の移載（ステップＳ１０７）と、右ハンドによる容器２００の測定位置への移動（ステップＳ１０１）とを並行して行うこととしてもよい。
【００８３】
上述したように、実施例１に係るワークピッキングシステムは、把持対象であるワークの３次元形状を計測する３次元計測部と、多軸ロボットの終端可動部に設けられ、把持爪の間隔を変更する機構および把持爪の先端向きを変更する機構を含むハンドとを備える。また、実施例１に係るワークピッキングシステムは、３次元計測部によって計測された３次元形状に基づいてワークの姿勢を算出する算出部と、算出部によって算出されたワークの姿勢および終端可動部の回転軸の方向に基づいて把持爪の先端向きを決定する決定部とを備える。さらに、実施例１に係るワークピッキングシステムは、終端可動部の回転軸の向きおよび決定部によって決定された把持爪の先端向きを保持しつつワークを把持する動作を指示する指示部を備える。
【００８４】
したがって、実施例１に係るワークピッキングシステムによれば、把持対象となるワークの姿勢に関わらず、ハンド自体の姿勢を変えることなくワークの把持姿勢を一定に保つことができる。
【００８５】
ところで、上述した実施例１では、３次元計測部を多軸ロボットとは別に固定して設けた場合について説明したが、３次元計測器を多軸ロボットに設けることとしてもよい。そこで、以下に示す実施例２では、３次元計測器を多軸ロボットに設けた場合について説明する。
【実施例２】
【００８６】
図１０は、実施例２に係る３次元計測部１０の配置を示す図である。なお、図１０は、図６の（Ａ）に対応しており、３次元計測部１０が左アーム３０ｂの終端可動部３１に設けられている点以外は、図６の（Ａ）と同様であるので、以下では、両者に共通する説明を省略する。
【００８７】
図１０に示すように、３次元計測部１０は、ハンド２０が取り付けられた終端可動部３１に設けられる。ここで、３次元計測部１０は、ハンド２０とともに軸ＡＸｔまわりに回転する部位に設けてもよいし、軸ＡＸｔまわりに回転しない部位に設けてもよい。
【００８８】
また、図１０に示すように、３次元計測部１０は、計測向き８１がハンド２０の先端側を向くように終端可動部３１に固定される。このように、ハンド２０を備えた多軸ロボットに３次元計測部１０を設けることで、ピック動作に関連するロボット３０の動作をさらに簡略化することができる。
【００８９】
また、３次元計測部１０の計測範囲が狭い場合であっても、ワーク１００を計測範囲に入れることが容易となる。
【００９０】
次に、実施例２に係るワークピッキングシステム１が実行する処理手順について図１１を用いて説明する。図１１は、実施例２に係るワークピッキングシステム１が実行する処理手順を示すフローチャートである。なお、図１１における「右ハンド」および「左ハンド」は、図９の説明と同様であるが、「左ハンド」には、図１０に示したように３次元計測部１０が設けられているものとする。
【００９１】
図１１に示すように、指示部４１ｄは、右ハンドにて容器２００をピック位置へ位置付けるように指示する（ステップＳ２０１）。また、指示部４１ｄは、左ハンドに設けられた３次元計測部１０に対して３次元計測を実行するように指示する（ステップＳ２０２）。
【００９２】
つづいて、ワーク姿勢算出部４１ｂは、把持可能なワーク１００があるか否かを判定する（ステップＳ２０３）。そして、把持可能なワーク１００がある場合には（ステップＳ２０３，Ｙｅｓ）、把持爪向き決定部４１ｃは、ワーク姿勢に基づいてハンド２０における把持爪の先端向きを決定する（ステップＳ２０４）。
【００９３】
そして、指示部４１ｄは、左ハンド（ハンド２０）にてワーク１００を把持するように指示する（ステップＳ２０５）。つづいて、指示部４１ｄは、左ハンドにてワーク１００を移載するように指示し（ステップＳ２０６）、所要ワークの移載が完了したか否かを判定する（ステップ２０７）。
【００９４】
そして、所要ワークの移載が完了した場合には（ステップＳ２０７，Ｙｅｓ）、処理を終了する。一方、所要ワークの移載が完了していない場合には（ステップＳ２０７，Ｎｏ）、ステップＳ２０１以降の処理を繰り返す。
【００９５】
ところで、ステップＳ２０３において把持可能なワークがないと判定された場合には（ステップＳ２０３，Ｎｏ）、容器２００内の残ワーク（ワーク１００の個数や総重量）が規定値未満であるか否かを判定する（ステップＳ２０８）。そして、残ワークが規定値未満である場合には（ステップＳ２０８，Ｙｅｓ）、エラー報知を行ったうえで（ステップＳ２０９）、処理を終了する。
【００９６】
一方、ステップＳ２０９の判定条件を満たさなかった場合には（ステップＳ２０９，Ｎｏ）、指示部４１ｄは、右ハンドにて容器２００を揺動させるように指示し（ステップＳ２１０）、ステップＳ２０２以降の処理を繰り返す。
【００９７】
このように、実施例２に係るワークピッキングシステムは、先端向きを変更可能な把持爪を有するハンドが取り付けられた多軸ロボットに対して３次元計測部を設けたので、多軸ロボットによるピック動作を簡略化することができる。また、３次元計測部の計測範囲の広狭に関わらず、ワークの姿勢を確実に計測することができる。
【００９８】
なお、上述した各実施例では、双腕ロボットの右腕で容器を把持し、容器内のワークを左腕でつまみ出す場合について説明したが、左腕で容器を把持して右腕でピック動作を行ってもよい。また、ピック軸を備えたハンドが取り付けられた片腕ロボットでピック動作を行うこととしてもよい。
【００９９】
また、上述した各実施例では、容器内の残ワークが規定値未満となった場合に、容器を揺動させる場合について説明したが、３次元計測部による計測を省略しつつピック動作を連続して行うこととしてもよい。また、容器内に把持可能なワークが複数ある場合に、３次元計測部による計測を省略しつつピック動作を連続して行うこととしてもよい。
【０１００】
また、上述した各実施例では、１対の把持爪を備えたハンドによるピック動作を例示したが、２対以上の把持爪を備えたハンド、すなわち、複数のピック軸を備えたハンドでピック動作を行うこととしてもよい。また、１つのピック軸について３つ以上の把持爪を設けたハンドでピック動作を行うこととしてもよい。
【０１０１】
なお、上記した制御装置は、たとえば、コンピュータで構成することができる。この場合、制御部は、ＣＰＵ（Central  Processing  Unit）であり、記憶部は、メモリである。また、制御部の各機能は、あらかじめ作成されたプログラムを制御部へロードして実行させることによって実現することができる。
【０１０２】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１０３】
１    ワークピッキングシステム
１０    ３次元計測部
２０    ハンド（ピック軸付きハンド）
３０    ロボット
４０    制御装置
４１    制御部
４１ａ  ３次元情報取得部
４１ｂ  ワーク姿勢算出部
４１ｃ  把持爪向き決定部
４１ｄ  指示部
４２    記憶部
４２ａ  ３次元情報
４２ｂ  ワーク情報
【図１】
0005533727.tif 000002
【図２】
0005533727.tif 000003
【図３】
0005533727.tif 000004
【図４】
0005533727.tif 000005
【図５】
0005533727.tif 000006
【図６】
0005533727.tif 000007
【図７】
0005533727.tif 000008
【図８】
0005533727.tif 000009
【図９】
0005533727.tif 000010
【図１０】
0005533727.tif 000011
【図１１】
0005533727.tif 000012