(57)【要約】【課題】積載されたワークを確実に持ち上げ、移載することのできるハンドリングシステム等を提供する。【解決手段】制御装置５０は、第１センサ３０のセンサ出力に基づいて、積載された状態のワーク１０の表面の３次元座標を取得し、取得したワーク１０の表面の３次元座標に基づいて、ワーク１０の表面のうち鉛直方向における最上点を検出し、最上点から滑らかに連続する所定の大きさ以上の領域であって、ロボットハンド２０の把持部２１が把持するためのハンドリング領域を検出し、検出したハンドリング領域内のワーク１０の表面に対向するように、把持部２１を移動させて、ワーク１０を把持し、移載場所に移動させてから解放するようにロボットハンド２０の動作を制御する制御信号をロボットハンド２０に出力する。【選択図】図１
2014050936.tif 000002
【特許請求の範囲】
【請求項１】
ワークを移載するロボットハンドを備えるハンドリングシステムであって、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第１の３次元座標計測部と、
前記第１の３次元座標計測部が計測した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出部と、
前記最上点検出部が検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出部と、
前記ハンドリング領域検出部が検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御部と、
を有することを特徴とするハンドリングシステム。
【請求項２】
前記ハンドリング領域検出部が、前記所定の大きさ以上のハンドリング領域を検出できなかった時には、前記最上点検出部は、前記ハンドリング領域を検出できなかった時の前記最上点を含む前記所定の大きさ未満の領域以外の領域で、略鉛直方向における最上点を再検出し、前記ハンドリング領域検出部は、再検出した前記最上点から滑らかに連続する領域を再検出し、所定の大きさ以上のハンドリング領域を検出できるまで、前記最上点検出部の前記最上点の検出と、前記ハンドリング領域検出部の前記ハンドリング領域の検出を繰り返す、
ことを特徴とする請求項１に記載のハンドリングシステム。
【請求項３】
前記ロボットハンドが前記ワークを把持し持ち上げた状態の、前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第２の３次元座標計測部と、
前記第２の３次元座標計測部が計測した、前記表面の３次元座標に基づいて、前記ワークの姿勢が正常か否かを判定するワーク姿勢判定部と、を更に有し、
前記ワーク姿勢判定部が、前記ワークの姿勢が正常でないと判定した場合には、前記ロボットハンド制御部が、前記ワークを略平坦なスペースに下ろして解放するように制御し、前記第１の３次元座標計測部が、前記スペースの上部における前記表面の３次元座標を再計測し、前記最上点検出部は、前記スペースの上部において前記最上点を再検出し、前記ハンドリング領域検出部が、前記スペースの上部において前記ハンドリング領域を再検出し、前記ロボットハンド制御部が、再検出したハンドリング領域内の前記表面に対向するように前記把持部を移動させて、前記把持部で前記ワークを把持し、移載場所に移動させてから解放するように制御する、
ことを特徴とする請求項１又は２に記載のハンドリングシステム。
【請求項４】
前記ワーク姿勢判定部は、前記把持部の下方で且つ積載された前記ワークを含まない位置に想定した、上下２つの互いに接する検出空間のうち上方の検出空間に存する、前記ワーク、又は、前記ワークの内容物の表面の面積が、所定の値以上であるときに、姿勢が正常であると判定する、
ことを特徴とする請求項３に記載のハンドリングシステム。
【請求項５】
前記ワーク姿勢判定部は、前記把持部の下方で且つ積載された前記ワークを含まない位置に想定した、上下２つの互いに接する検出空間のうち、下方の検出空間に含まれる、前記ワーク、又は、前記ワークの内容物の表面を示す３次元座標の計測数に対する、上方の検出空間に含まれる、前記ワーク、又は、前記ワークの内容物の表面を示す３次元座標の計測数の比が、所定の値以上であるときに、姿勢が正常であると判定する、
ことを特徴とする請求項３に記載のハンドリングシステム。
【請求項６】
前記第２の３次元座標計測部は、前記第１の３次元座標計測部とは異なる方向から前記表面の３次元座標を計測する、
ことを特徴とする請求項３乃至５のいずれか１項に記載のハンドリングシステム。
【請求項７】
前記第１の３次元座標計測部又は前記第２の３次元座標計測部による前記表面の３次元座標の計測の結果から、前記ワークを置くことが可能な広さを有する略平坦面を、前記スペースとして検出するスペース検出部を更に有する、
ことを特徴とする請求項３乃至６のいずれか１項に記載のハンドリングシステム。
【請求項８】
前記ハンドリング領域検出部が検出するハンドリング領域の大きさは、前記把持部の大きさに基づいて定められた大きさである、
ことを特徴とする請求項１乃至７のいずれか１項に記載のハンドリングシステム。
【請求項９】
前記把持部が複数の吸気口を含み、前記複数の吸気口を前記ワークにあてた状態で、前記吸気口から吸気することにより前記ワークを把持する吸着ハンドである、
ことを特徴とする請求項８に記載のハンドリングシステム。
【請求項１０】
前記把持部が、複数の指状体を含み、前記複数の指状体が互いに異なる方向から前記ワークを支持することにより前記ワークを把持する指状ハンドである、
ことを特徴とする請求項８に記載のハンドリングシステム。
【請求項１１】
前記ロボットハンドが前記ワークを持ち上げた後に、前記ワークを下方から撮影する撮影部と、
前記撮影部が撮影した画像に基づいて、前記ワークの水平面上での前記ワークの方向と重心位置を検出する方向・重心位置検出部と、を更に有し、
前記ロボットハンド制御部は、前記方向・重心位置検出部の検出結果に基づいて、前記ワークの重心位置が前記移載場所における所定の位置にあり、前記ワークの方向が前記移載場所における所定の方向を向いている状態で、前記ワークを解放するように、前記ロボットハンドを制御する、
ことを特徴とする請求項１乃至１０のいずれか１項に記載のハンドリングシステム。
【請求項１２】
ワークを把持して持ち上げ移載場所に移動させた後に解放するロボットハンドにより前記ワークを移載させるハンドリング方法であって、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第１の３次元座標計測ステップと、
計測した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出ステップと、
検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出ステップと、
検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御ステップと、
を有することを特徴とするハンドリング方法。
【請求項１３】
ワークを把持して持ち上げ移載場所に移動させた後に解放するロボットハンドを制御するコンピュータに、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を取得する第１の３次元座標取得手順と、
取得した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出手順と、
検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出手順と、
検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを移載するハンドリングシステム、ハンドリング方法及びプログラムに関する。
【背景技術】
【０００２】
積載されたワークをロボットハンドが移載するシステムにおいて、ワークを把持するロボットハンドの位置、向きを決定するために、積載物の上方から撮影した画像や距離センサの出力に基づいてワークの形状、位置を取得する方法が知られている（例えば、特許文献１、２）。
【０００３】
特許文献１に記載のワーク位置認識装置は、同一平面上に並んだ複数のワークを撮影した画像から輪郭データを取得し、輪郭データから各ワークの位置、姿勢を検出し、画像中のワーク部分の画像をマスタ画像として登録しておき、対象となるワークの画像とマスク画像のパターンマッチングを行い、マッチングが成功したときに対象となるワークの位置及び姿勢を出力するとしている。
【０００４】
また、特許文献２に記載の袋状ワーク認識方法は、レーザレーダやステレオカメラのような距離センサで袋状ワークの３次元形状を取得し、その３次元形状の法線ベクトルの角度から、その不連続部分を袋状ワークの境界と見なして、袋状ワークの位置と姿勢を認識するとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−３２２５８号公報
【特許文献２】特開２０１０−２５６２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
積載されたワークが袋物であり、内容物が袋の中で流動する場合、ワークの表面が平坦でなく、表面の一部に凹凸が生じていることがある。その場合、特許文献１に記載のワーク位置認識装置では、ワーク表面のパターンが正確に判別できないという問題が生じる。
【０００７】
また、ワークが複数段で積み重なっている状態に置いて、段差がある部分にワークが積まれ、上段のワークが水平に置かれない場合がある。その場合、特許文献２のように、境界位置から袋上ワークの外形、姿勢を認識しても、水平方向の姿勢は正確に認識できても、鉛直方向の姿勢が正確に認識できず、ワークを把持するのに最適な箇所を検出することができないという問題が生じる。
【０００８】
本発明は、上記実情に鑑みてなされたものであり、積載されたワークを確実に持ち上げ、移載することのできる、ハンドリングシステム等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係るハンドリングシステムは、
ワークを移載するロボットハンドを備えるハンドリングシステムであって、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第１の３次元座標計測部と、
前記第１の３次元座標計測部が計測した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出部と、
前記最上点検出部が検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出部と、
前記ハンドリング領域検出部が検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御部と、
を有することを特徴とする。
【００１０】
前記ハンドリング領域検出部が、前記所定の大きさ以上のハンドリング領域を検出できなかった時には、前記最上点検出部は、前記ハンドリング領域を検出できなかった時の前記最上点を含む前記所定の大きさ未満の領域以外の領域で、略鉛直方向における最上点を再検出し、前記ハンドリング領域検出部は、再検出した前記最上点から滑らかに連続する領域を再検出し、所定の大きさ以上のハンドリング領域を検出できるまで、前記最上点検出部の前記最上点の検出と、前記ハンドリング領域検出部の前記ハンドリング領域の検出を繰り返すようにしてもよい。
【００１１】
前記ロボットハンドが前記ワークを把持し持ち上げた状態の、前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第２の３次元座標計測部と、
前記第２の３次元座標計測部が計測した、前記表面の３次元座標に基づいて、前記ワークの姿勢が正常か否かを判定するワーク姿勢判定部と、を更に有し、
前記ワーク姿勢判定部が、前記ワークの姿勢が正常でないと判定した場合には、前記ロボットハンド制御部が、前記ワークを略平坦なスペースに下ろして解放するように制御し、前記第１の３次元座標計測部が、前記スペースの上部における前記表面の３次元座標を再計測し、前記最上点検出部は、前記スペースの上部において前記最上点を再検出し、前記ハンドリング領域検出部が、前記スペースの上部において前記ハンドリング領域を再検出し、前記ロボットハンド制御部が、再検出したハンドリング領域内の前記表面に対向するように前記把持部を移動させて、前記把持部で前記ワークを把持し、移載場所に移動させてから解放するように制御するようにしてもよい。
【００１２】
前記ワーク姿勢判定部は、前記把持部の下方で且つ積載された前記ワークを含まない位置に想定した、上下２つの互いに接する検出空間のうち上方の検出空間に存する、前記ワーク、又は、前記ワークの内容物の表面の面積が、所定の値以上であるときに、姿勢が正常であると判定するようにしてもよい。
【００１３】
前記ワーク姿勢判定部は、前記把持部の下方で且つ積載された前記ワークを含まない位置に想定した、上下２つの互いに接する検出空間のうち、下方の検出空間に含まれる、前記ワーク、又は、前記ワークの内容物の表面を示す３次元座標の計測数に対する、上方の検出空間に含まれる、前記ワーク、又は、前記ワークの内容物の表面を示す３次元座標の計測数の比が、所定の値以上であるときに、姿勢が正常であると判定するようにしてもよい。
【００１４】
前記第２の３次元座標計測部は、前記第１の３次元座標計測部とは異なる方向から前記表面の３次元座標を計測するようにしてもよい。
【００１５】
前記第１の３次元座標計測部又は前記第２の３次元座標計測部による前記表面の３次元座標の計測の結果から、前記ワークを置くことが可能な広さを有する略平坦面を、前記スペースとして検出するスペース検出部を更に有するようにしてもよい。
【００１６】
前記ハンドリング領域検出部が検出するハンドリング領域の大きさは、前記把持部の大きさに基づいて定められた大きさであってもよい。
【００１７】
前記把持部が複数の吸気口を含み、前記複数の吸気口を前記ワークにあてた状態で、前記吸気口から吸気することにより前記ワークを把持する吸着ハンドであってもよい。
【００１８】
前記把持部が、複数の指状体を含み、前記複数の指状体が互いに異なる方向から前記ワークを支持することにより前記ワークを把持する指状ハンドであってもよい。
【００１９】
前記ロボットハンドが前記ワークを持ち上げた後に、前記ワークを下方から撮影する撮影部と、
前記撮影部が撮影した画像に基づいて、前記ワークの水平面上での前記ワークの方向と重心位置を検出する方向・重心位置検出部と、を更に有し、
前記ロボットハンド制御部は、前記方向・重心位置検出部の検出結果に基づいて、前記ワークの重心位置が前記移載場所における所定の位置にあり、前記ワークの方向が前記移載場所における所定の方向を向いている状態で、前記ワークを解放するように、前記ロボットハンドを制御するようにしてもよい。
【００２０】
また、本発明の第２の観点に係るハンドリング方法は、
ワークを把持して持ち上げ移載場所に移動させた後に解放するロボットハンドにより前記ワークを移載させるハンドリング方法であって、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を計測する第１の３次元座標計測ステップと、
計測した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出ステップと、
検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出ステップと、
検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御ステップと、
を有することを特徴とする。
【００２１】
また、本発明の第３の観点に係るプログラムは、
ワークを把持して持ち上げ移載場所に移動させた後に解放するロボットハンドを制御するコンピュータに、
積載された状態の１以上の前記ワーク、又は、前記ワークの内容物の表面の３次元座標を取得する第１の３次元座標取得手順と、
取得した前記表面の３次元座標に基づいて、前記表面のうち略鉛直方向における最上点を検出する最上点検出手順と、
検出した前記最上点から滑らかに連続する所定の大きさ以上の領域であって、前記ロボットハンドが把持するためのハンドリング領域を検出するハンドリング領域検出手順と、
検出した前記ハンドリング領域内の前記表面に対向するように、前記ロボットハンドに備えられた前記ワークを把持する把持部を移動させて、前記把持部で前記ワークを把持し移載場所に移動させてから解放するように、前記ロボットハンドの動作を制御するロボットハンド制御手順と、
を実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、積載されたワークを確実に持ち上げ、移載することが可能になる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態に係るハンドリングシステムを側方から見た図である。
【図２】実施の形態に係るハンドリングシステムを上方から見た図である。
【図３】吸着ハンドからなる把持部を示した図である。（ａ）は把持部を側面から見た図である。（ｂ）は把持部を（ａ）のＡ方向から見た図である。
【図４】（ａ）ロボットハンドがワークを把持して持ち上げた状態を示す図である。（ｂ）ロボットハンドがワークをケース上部に移動させた状態を示す図である。（ｃ）ロボットハンドがワークをケース内部に格納した状態を示す図である。
【図５】ロボットハンドと制御装置の機能を説明するためのブロック図である。
【図６】最上点とハンドリング領域を検出する処理を説明するための図である。（ａ）はワークを把持する前の状態を側面から見た図である。（ｂ）はワークを上方から見た図である。（ｃ）はワークを把持した時の状態を側面から見た図である。
【図７】姿勢判定の処理を説明するための図である。（ａ）は、ワークの姿勢が正常である状態を示した図である。（ｂ）はワークの姿勢が正常でない状態を示した図である。
【図８】ワーク移載処理を示すフローチャートである。
【図９】リトライ処理を示すフローチャートである。
【図１０】指状体からなる把持部を示した図である。（ａ）は把持部を側面から見た図である。（ｂ）は把持部を（ａ）のＡ方向から見た図である。
【図１１】多数の吸着部からなる把持部を示した図である。（ａ）は把持部を側面から見た図である。（ｂ）は把持部を（ａ）のＡ方向から見た図である。
【発明を実施するための形態】
【００２４】
（実施の形態）
本発明の実施の形態について図面を参照して詳細に説明する。
【００２５】
本実施の形態に係るハンドリングシステム１は、略水平な積載面を有する積載台１１上に積載された複数のワーク１０をロボットハンド２０で把持し、持ち上げ、別の場所に移載させるシステムである。ハンドリングシステム１は、図１、図２に示すように、ロボットハンド２０と、第１センサ３０と、第２センサ４０と、制御装置５０と、通信線６０と、移載先のケース７０と、カメラ８０を有する。ロボットハンド２０、第１センサ３０、第２センサ４０、カメラ８０は、通信線６０を介して制御装置５０に接続されており、制御装置５０からの制御信号に基づいて駆動する。
【００２６】
ワーク１０は任意の形状、大きさを有するものであり、例えば、粒状、ゲル状で、柔軟性、流動性を有する物質を詰めた袋状のものや、柔軟性を有し積載状態により形状が変化するものでもよい。この場合、袋は、例えば、透明体、反射体でもよい。ワーク１０は、積載台１１の上に任意の方向に多段に積まれている。
【００２７】
ロボットハンド２０は、ワーク１０を把持する把持部２１と、把持部２１の位置、向きを変更するために伸縮、回転等の動作を行うアーム２２を備える。本実施の形態では把持部２１は、アーム２２の先端近傍に備えられている。
【００２８】
把持部２１は、任意の方法でワーク１０を把持する機能を有するものである。本実施の形態における把持部２１は、複数の吸気口２１１を有し、吸気口２１１をワーク１０の表面に充てた状態で吸気口から吸気することにより、ワーク１０を把持する吸着ハンドである。
【００２９】
吸着ハンドから構成される把持部２１は、図３（ａ）、（ｂ）に示すように、台座２１２の中央に位置する主吸気部２１３と、主吸気部２１３の周囲に位置する複数の補助吸気部２１４を有する。主吸気部２１３と、複数の補助吸気部２１４とはそれぞれ別の吸気系統に接続されており、互いに独立に吸気される。主吸気部２１３、補助吸気部２１４の先端に吸気口２１１が開口しており、吸気口２１１の台座２１２側にバネ等が備え付けられており、吸気方向に伸縮可能な構造になっている。これは、ワーク１０の表面が平坦でない場合、ワーク１０の表面に各吸気口２１１が密着できるようにするためである。
【００３０】
ロボットハンド２０は、制御装置５０からの制御信号に基づいて駆動する。ロボットハンド２０の駆動内容の概要を図４に示す。まず、図４（ａ）に示すように、ワーク１０を把持部２１で把持して持ち上げる。その後、図４（ｂ）のように、移載先のケース７０の上部までワーク１０を移動させ、図４（ｃ）に示すように、ケース７０の内部にワーク１０を下ろした後にワーク１０を解放する。ワーク１０の移載先はこのようなケースの内部に限られず任意の場所でよいが、本実施の形態では、図４に示すような持ち運び可能な樹脂ケースとする。
【００３１】
ロボットハンド２０は、図５に示すようにＣＰＵ（Central Processing Unit：中央処理装置）２０１、通信部２０２を更に備える。通信部２０２は、制御装置５０から制御信号を受信する。また、ロボットハンド２０の駆動状況を制御装置５０に送信してもよい。ＣＰＵ２０１は、通信部２０２が受信した制御信号に基づいて、把持制御部２０１１が把持部２１の把持、解放を制御し、アーム制御部２０１２がアーム２２の回転、伸縮等を制御する。
【００３２】
第１センサ３０と第２センサ４０は、対象物の３次元座標を計測するための情報を出力するセンサであり、例えば、対象物にパターン光を照射する光照射部とカメラから構成される。第１センサ３０又は第２センサ４０と、これらのセンサ出力データに基づいて三角測量の原理により３次元座標を算出する、制御装置５０内の３次元座標算出部５０１２と、が３次元座標計測部を構成する。
【００３３】
第１センサ３０は積載されたワーク１０の表面の３次元座標を計測するもので、第１センサ３０の出力は、ロボットハンド２０の把持部２１が把持するワーク１０の表面上の位置を決定するために用いられる。一方、第２センサ４０は、ロボットハンド２０がワーク１０を把持して持ち上げた時のワーク１０の表面の３次元座標を計測するもので、第２センサ４０の出力は、ロボットハンド２０が持ち上げたときのワーク１０の姿勢が正常か否かを判定するために用いられる。
【００３４】
第１センサ３０と第２センサ４０の設置位置、計測方向は任意の位置、方向で良いが、互いに異なる方向で設置されることが望ましい。本実施の形態では、第１センサ３０は、積載台１１の積載面の上方に位置し、ほぼ鉛直方向の下向き、つまり積載面にほぼ垂直な方向に向けて設置される。また、第２センサ４０は、図１の紙面手前から見てワーク１０の積載位置の後方に位置し、ロボットハンド２０の把持部２１を斜め下方から見上げるような方向に設置される。
【００３５】
ここで、第１センサ３０と第２センサ４０から出力するセンサ出力データは、ワーク１０の表面に対応するものであるが、ワーク１０が袋状であり、その袋が透明な場合等には、袋の内容物の表面に対応するデータが出力される場合もある。
【００３６】
カメラ８０は、対象物の２次元画像を撮影する撮影装置である。カメラ８０は、図１、図２に示すように、鉛直方向の下方から上方に向かって、ロボットハンド２０が把持しているワーク１０を撮影する。カメラ８０は、水平面におけるワーク１０の姿勢を示す画像データを制御装置５０に送信し、制御装置５０はその画像データに基づいて、ワーク１０の回転と移動を調整して、移載先のケース７０内におけるワーク１０の方向と位置が、一定の方向と位置になるようにロボットハンド２０を制御する制御信号をロボットハンド２０に送信する。
【００３７】
制御装置５０は、第１センサ３０、第２センサ４０から受信したセンサ出力データや、カメラ８０から受信した画像データに基づいて制御信号を生成し、ロボットハンド２０に生成した制御信号を送信する情報処理装置であり、パーソナルコンピュータ等から構成される。
【００３８】
制御装置５０は、図５に示すように、ＣＰＵ（Central Processing Unit：中央処理装置）５０１、通信部５０２、ＲＡＭ（Random Access Memory）５０３、記憶部５０４と、を備える。
【００３９】
ＣＰＵ５０１は、制御装置５０の各構成部の制御を行うとともに、記憶部５０４に保存されているプログラムを実行することにより、ワーク移載処理等の各処理を実行する。
【００４０】
通信部５０２は、ロボットハンド２０、第１センサ３０、第２センサ４０、カメラ８０と通信線６０を介して信号を送受信する機能を有する。通信部５０２は、第１センサ３０、第２センサ４０が出力したセンサ出力データや、カメラ８０が出力した画像データを受信してＣＰＵ５０１に出力し、また、ＣＰＵ５０１から出力されたロボットハンド２０への制御信号を送信する。
【００４１】
ＲＡＭ５０３は、高速にデータの読み書きが可能なメモリであり、通信部５０２が受信したセンサ出力データや画像データ、記憶部５０４から読み出した画像データ等をデータ処理のために一時保存する。
【００４２】
記憶部５０４は、ハードディスク、メモリカード、フラッシュメモリ等の大容量の記憶装置からなり、通信部５０２が受信したセンサ出力データや画像データ、受信したデータ信号に対して計算処理を施して得たデータ、移載場所等の位置情報データ、ワーク移載処理等を実行するためのプログラム等の各種データを記憶する。
【００４３】
制御装置５０のＣＰＵ５０１は、ワーク移載処理を実行するために、図５に示すように、データ取得部５０１１、３次元座標算出部５０１２、最上点検出部５０１３、ハンドリング領域検出部、姿勢判定部５０１５、方向・重心位置検出部５０１６、ロボットハンド制御信号生成部５０１７の各機能部を有する。
【００４４】
データ取得部５０１１は、通信部５０２が第１センサ３０、第２センサ４０、カメラ８０から受信し、又は、記憶部５０４から読み出して、ＲＡＭ５０３に一時保存しているセンサ出力データ、画像データ等のうち、処理に必要なデータを特定し取得する。
【００４５】
３次元座標取得部５０１２は、第１センサ３０、第２センサ４０が出力したセンサ出力データをデータ取得部５０１１から取得し、これに基づいてワーク１０の表面の３次元座標を算出して出力する。
【００４６】
例えば、第１センサ３０と第２センサ４０が、対象物にパターン光を照射する光照射部とカメラから構成される場合には、各センサの光照射部が出力するパターンの特徴点と、そのセンサのカメラから出力される画像データが示す特徴点をそれぞれ対応付けて、三角測量の原理により各特徴点の３次元座標を算出することができる。このとき、光照射部が照射する光のパターンの情報は、記憶部５０４に予め記憶しておき、必要なときに記憶部５０４から取得しても良い。
【００４７】
３次元座標取得部５０１２は、第１センサ３０からのセンサ出力データを取得した場合には、３次元座標のデータを最上点検出部５０１３に出力する。また、３次元座標取得部５０１２は、第２センサ４０からのセンサ出力データを取得した場合には、３次元座標のデータを姿勢判定部５０１５に出力する。
【００４８】
最上点検出部５０１３は、３次元座標取得部５０１２から入力された３次元座標のデータに基づいて、積載されたワーク１０の最上点を検出する。例えば、図６（ａ）のようにワーク１０が袋状であって内容物が袋の中で流動するものであり、最上段のワーク１０が段差のある部分に積まれたために、ワーク表面が湾曲する場合があるが、この場合、鉛直方向Ｇにおいて最上点である点Ｐを検出する。最上点検出部５０１３は、その最上点Ｐの位置データをハンドリング領域検出部５０１４に出力する。また、ワーク１０の表面の３次元座標のデータもハンドリング領域検出部５０１４に出力する。
【００４９】
ハンドリング領域検出部５０１４は、最上点検出部５０１３から出力された最上点Ｐの位置データと、ワーク１０の表面の３次元座標のデータに基づいて、最上点Ｐから滑らかに連続する領域で、且つ、ロボットハンドの把持部２１が把持するのに十分な予め定めておいた大きさの領域をハンドリング領域として検出して出力する。ここで、「滑らかに」連続するとは、例えば、所定値以下の変化率で連続することを意味する。
【００５０】
例えば、図６の例では、領域Ｑをハンドリング領域として検出する。ここで、ロボットハンドの把持部２１が把持するのに十分な大きさとは、把持部２１の大きさに基づいて定められた大きさである。例えば、把持部２１が図３に示す吸着ハンドである場合には、主吸気部２１３と補助吸気部２１４の吸気口全てを塞ぐことのできる大きさ、あるいはその大きさを一定の割合で拡大した大きさである。
【００５１】
姿勢判定部５０１５は、３次元座標取得部５０１２から出力された３次元座標のデータに基づいて、ロボットハンド２０に持ち上げられたワーク１０の姿勢が正常か否か、つまりハンドリングに適しているか否かを判定する。
【００５２】
姿勢判定について図７を用いて説明する。第２センサ４０で計測できる空間を図７に示すＸＹＺ座標で表す。Ｚ軸は鉛直方向であり、ＸＹ面が水平面である。図中、破線で示すように、ロボットハンド２０の把持部２１より低く、且つ、積載されたワーク１０を含まない高さに、上下２つの互いに接した検出空間、Ａ空間とＢ空間を設定する。
【００５３】
Ａ空間は、ワーク１０がロボットハンド２０によって正常にハンドリングされているときの、起こりうる姿勢のワーク１０全体が入るのに必要十分な大きさの空間である。Ｂ空間は、Ｘ座標、Ｙ座標の範囲がＡ空間と同じ範囲であり、Ｚ座標の範囲がＡ空間の下でかつ積載されたワーク１０を含まない高さの範囲である。
【００５４】
３次元座標取得部５０１２から出力されたワーク１０の表面の３次元座標のうち、Ａ空間に含まれるＸ座標、Ｙ座標の最大値と最小値から占有面積を求め、占有面積が予め設定した第１閾値より小さい場合は、姿勢が正常でないと判断する。また、占有面積が第１閾値以上の場合であっても、Ｂ空間に含まれる３次元座標の計測数に対する、Ａ空間に含まれる３次元座標の計測数の比が、予め設定した第２閾値より小さいときには、姿勢が正常でないと判定する。
【００５５】
それ以外の、Ａ空間における占有面積が第１閾値以上で、且つ、Ｂ空間の３次元座標の計測数が０である場合又はＡ空間とＢ空間の３次元座標の計測数の比が第２閾値以上の場合は正常であると判定する。
【００５６】
図７の例においては、（ａ）に示すように、ワーク１０の全ての３次元座標がＡ空間に含まれている場合には、ワーク１０の姿勢が正常と判断される。一方、（ｂ）に示すように、３次元座標の多くがＢ空間に含まれ、Ａ空間に含まれるＸ座標、Ｙ座標の最大値と最小値から求めた占有面積が予め設定した第１閾値より小さい、あるいは、占有面積が第１閾値以上であるが、Ｂ空間に含まれる３次元座標の計測数に対する、Ａ空間に含まれる３次元座標の計測数の比が、第２閾値より小さかった場合には、ワーク１０の姿勢は正常でないと判断される。
【００５７】
姿勢判定部５０１５は上記のような判定基準により正常か否かを判定し、その判定結果をロボットハンド制御信号生成部５０１７に出力する。
【００５８】
方向・重心位置検出部５０１６は、ロボットハンド２０によって持ち上げられ、カメラ８０の上方の所定場所に移動されてきたワーク１０を、カメラ８０で撮影した画像データがデータ取得部５０１１から入力されると、その画像データに基づいて、ワーク１０の方向、重心位置を検出する。そして、ワーク１０の方向と重心位置がケース７０内における予め定めた方向と位置になるよう回転量と移動量を微調整する調整値を含む信号をロボットハンド制御信号生成部５０１７に出力する。
【００５９】
ロボットハンド制御信号生成部５０１７は、ハンドリング領域検出部５０１４からハンドリング領域の位置情報が入力されたときには、入力された位置情報が示すハンドリング領域内のワーク１０の表面に対向するように、把持部２１を移動させ、把持部２１がワーク１０を把持し、持ち上げるようにロボットハンド２０を制御する制御信号を生成し出力する。ここで、ロボットハンド２０に送信する制御信号は、ロボットハンド２０の駆動の基準となるロボット座標系における値を含むものである。
【００６０】
また、ロボットハンド制御信号生成部５０１７は、姿勢判定部５０１５からワーク１０の持ち上げられたときの姿勢が正常であることを示す信号が入力された場合には、カメラ８０の上部の所定の場所にワーク１０を移動させるようにロボットハンド２０を制御する制御信号を生成し出力する。ここで所定の場所は、ワーク１０の方向と重心位置を検出するための場所である。
【００６１】
一方、姿勢判定部５０１５からワーク１０の持ち上げられたときの姿勢が正常でないことを示す信号が入力された場合には、リトライをするためのリトライ平面１２にワーク１０を移動させ、ワーク１０を解放するようにロボットハンド２０を制御する制御信号を生成し出力する。ここで、リトライ平面１２は、図２の破線で示したように、第１センサ３０又は第２センサ４０の出力に基づいて検出した、平坦で且つワーク１０を置くのに十分な広さの平面である。
【００６２】
また、ロボットハンド制御信号生成部５０１７は、方向・重心位置検出部５０１６から出力された、ワーク１０の回転量と移動量を微調整する調整値を含む信号に基づいて、ワーク１０をケース７０内における予め定めた位置、方向に移動、回転するようにロボットハンド２０を制御する制御信号を生成し出力する。
【００６３】
ロボットハンド制御信号生成部５０１７が出力した制御信号は、通信部５０２を介して、ロボットハンド２０へ送信される。
【００６４】
以上のように構成されたハンドリングシステム１におけるワーク１０を移載する動作について、図８、９のフローチャートに沿って説明する。図８、９のフローチャートは、制御装置５０のＣＰＵ５０１が実行するワーク移載処理を示したものである。
【００６５】
ＣＰＵ５０１は、まず、第１センサ３０を用いて、積載されたワーク１０の表面の３次元計測を行う（ステップＳ１０１）。具体的には、データ取得部５０１１が、第１センサ３０のセンサ出力データを取得し、３次元座標算出部５０１２が、ワーク１０の表面の３次元座標を算出する。
【００６６】
次に最上点検出部５０１３が、３次元座標のうち鉛直方向において最上の位置に在る最上点を検出する（ステップＳ１０２）。ハンドリング領域検出部５０１４は、最上点検出部５０１３が検出した最上点から滑らかに連続する領域を検出する（ステップＳ１０３）。
【００６７】
最上点から滑らかに連続する領域であって、一定の大きさ以上であるハンドリング領域を検出できたか否かを判定する（ステップＳ１０４）。ハンドリング領域を検出できた場合には（ステップＳ１０４：Ｙｅｓ）、ステップＳ１０６に進む。一方、ハンドリング領域が検出できなかった場合には（ステップＳ１０４：Ｎｏ）、ハンドリング領域検出部５０１４が一度検出した、最上点から滑らかに連続し且つ一定の大きさ未満の領域を探索領域から除外して（ステップＳ１０５）、最上点と最上点から滑らかに連続する領域を再検出し、ハンドリング領域が検出できるまで、ステップＳ１０２からステップＳ１０５までの処理を繰り返す。
【００６８】
ステップＳ１０６では、ロボットハンド制御信号生成部５０１７が、検出されたハンドリング領域の位置情報が示す領域内のワーク１０の表面に対向するように、把持部２１を移動させ、把持部２１にワーク１０を把持させ、持ち上げるようにロボットハンド２０を制御する制御信号を生成し出力する（ステップＳ１０６）。
【００６９】
その後、第２センサを用いて、積載されたワーク１０の表面の３次元計測を行う（ステップＳ１０７）。具体的には、データ取得部５０１１が、第２センサのセンサ出力データを取得し、３次元座標算出部５０１２が、ワーク１０の表面の３次元座標を算出する。
【００７０】
次に姿勢判定部５０１５が、第２センサを用いて得たワーク１０の表面の３次元座標に基づいて、ワーク１０の姿勢が正常か否かを判定する（ステップＳ１０８）。判定した結果、ワーク姿勢が正常であると判定された場合には（ステップＳ１０９：Ｙｅｓ）、ステップＳ１１１に進む。ワーク姿勢が正常でないと判定された場合には（ステップＳ１０９：Ｎｏ）、図９に示すリトライ処理を実行する（ステップＳ１１０）。
【００７１】
リトライ処理では、まず、第１センサ３０又は第２センサ４０を用いた３次元計測を行い（ステップＳ２０１）、一定の大きさ以上の平坦な面であるリトライ平面１２を検出する（ステップＳ２０２）。
【００７２】
そして、ロボットハンド制御信号生成部５０１７は、ワーク１０を把持した把持部２１をリトライ平面１２の上部に移動させるようにロボットハンド２０を制御する制御信号を生成し出力する（ステップＳ２０３）。その後、把持部２１がワーク１０を解放するように制御する制御信号を生成し出力する（ステップＳ２０４）。
【００７３】
次に、第１センサ３０を用いて、リトライ平面上のワーク１０の表面の３次元計測を行い（ステップＳ２０５）、最上点検出部５０１３が、計測した３次元座標のうち鉛直方向において最上の位置に在る最上点を検出する（ステップＳ２０６）。ハンドリング領域検出部５０１４は、最上点検出部５０１３が検出した最上点から滑らかに連続するハンドリング領域を検出する（ステップＳ２０７）。
【００７４】
ステップＳ２０７で検出したハンドリング領域に把持部２１を移動させ、把持部２１にリトライ平面１２の上のリトライ対象のワーク１０を把持させ、持ち上げるようにロボットハンド２０を制御する制御信号を出力して（ステップＳ２０８）、リトライ処理を終了する。
【００７５】
リトライ後は、ステップＳ１０７に戻り、ワーク１０の姿勢が正常か否かを再度判定する。
【００７６】
ワーク１０の姿勢が正常であると判定された場合には（ステップＳ１０９）、ロボットハンド制御信号生成部５０１７は、カメラ８０の上部の方向・重心位置検出場所にワーク１０を移動させるようにロボットハンド２０を制御する制御信号を生成し出力する（ステップＳ１１１）。
【００７７】
カメラ８０は、ワーク１０を下方から撮影し、データ取得部５０１１は、カメラ８０が撮影した画像データを取得する（ステップＳ１１２）。
【００７８】
カメラ８０が撮影した画像データに基づいて、方向・重心位置検出部５０１６は、ワーク１０の方向、重心位置を検出する。そして、ワーク１０の方向と重心位置がケース７０内における予め定めた方向と位置になるよう回転量と移動量を微調整する調整値を含む信号をロボットハンド制御信号生成部５０１７に出力する（ステップＳ１１３）。
【００７９】
ロボットハンド制御信号生成部５０１７は、方向・重心位置検出部５０１６から出力された、ワーク１０の回転量と移動量を微調整する調整値を含む信号と、記憶部５０４に記憶していたケース７０の場所を示す情報に基づいて、ワーク１０をケース７０内における予め定めた位置、方向に移動、回転するようにロボットハンド２０を制御する制御信号を生成し出力する。（ステップＳ１１４）。
【００８０】
その後、把持部２１がケース７０内でワーク１０を解放するように、ロボットハンド２０を制御する制御信号を生成し出力して（ステップＳ１１５）、処理を終了する。
【００８１】
このようにして、ワーク１０を積載台１１の上から移載先のケース７０内部まで移載させることができる。
【００８２】
以上説明したように、本実施の形態においては、第１センサ３０を用いて計測したワーク１０の表面の３次元座標に基づいて、ロボットハンド２０の把持部２１が把持するのに適したハンドリング領域を検出し、その領域を把持部２１が把持して持ち上げてワーク１０を移動させることとした。これにより、ワーク１０の内容物、形状によらず、また、ワーク１０の積載状態によらず、確実にワーク１０を把持することができる。
【００８３】
また、ロボットハンド２０がワーク１０を把持して持ち上げた状態を、第２センサ４０を用いて３次元計測し、得られたワーク１０の表面の３次元座標に基づいて、ワーク１０の姿勢が正常か否か判定し、正常でなかった場合には、リトライ平面１２上でワーク１０を一旦解放して、その後再度ワーク１０を把持して持ち上げることとした。これにより、ワーク１０を正常に持ち上げられず、移動途中で落ちるような危険性がある場合にも、ワーク１０を確実に把持しなおすことができる。
【００８４】
また、ロボットハンド２０がワーク１０を把持して持ち上げた状態を、下方からカメラ８０で撮影して、得られた画像に基づいて、ワーク１０の重心位置と方向が予め定めた位置と方向になるように移動、回転させることとした。これにより、把持時のワーク１０の位置や方向によらず、移載先のケース７０内に位置と方向をそろえて収めることができる。
【００８５】
このように本発明は、積載された状態の１以上のワークの表面の３次元座標を計測した結果に基づいてワークの表面のうち鉛直方向における最上点の位置を検出し、最上点から滑らかに連続する所定の大きさ以上の領域であって、ロボットハンドが把持するためのハンドリング領域を検出し、ハンドリング領域内のワークの表面に対向するように、ロボットハンドの把持部を移動させて、ワークを把持し、移載させることとしたため、積載されたワークを確実に持ち上げ、移載することが可能になる。
【００８６】
なお、本発明は、上記実施の形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変更は勿論可能である。
【００８７】
例えば、第１センサ３０、第２センサ４０の例として、パターン光照射部とカメラからなる構成について説明したが、これに限られず、ステレオカメラやレーザレーダ等、任意の３次元計測用のセンサでよい。
【００８８】
また、ロボットハンド２０の把持部２１の例として吸着タイプの構成について説明したが、これに限られず、把持機能を持つ任意の構成でよい。例えば、把持部２１は、図１０に示すような、吸着部２１５と複数の指状体２１６からなり、互いに異なる方向から複数の指状体２１６がワーク１０を支持する構成の指状ハンドでもよい。この場合、指状体２１６に代わり、針状体でワークを刺して把持する構成でも良い。
【００８９】
また、把持部２１は、図１１に示すような、多数の吸着部２１７が配列され吸着部２１７の先端部がワークに密着できるような首振り機構２１８を設けるとともに、吸着部２１７が台座２１９に対して位置を変動させることができ、適切な位置で位置保持する機構を有する位置保持型吸着ハンドでよい。
【００９０】
また、最上点検出部５０１３で検出する最上点は鉛直方向において最上の点としたが、鉛直方向に対して一定の角度ずれた方向に対して最上の点を検出するようにしてもよい。
【００９１】
また、方向・重心位置検出部５０１６が、ワーク１０の回転量と移動量を微調整する調整値を算出して、ロボットハンド制御信号生成部５０１７が、その調整値に基づいてワーク１０の移動、回転をするようにロボットハンド２０を制御する制御信号を生成し出力するとしたが、カメラ８０の上部で、ワーク１０を回転、移動させた後にカメラ８０で再度撮影し、その撮影データに基づいて、再度方向と重心位置を検出し、回転量、移動量を再調整してもよい。また、所定の方向と重心位置となるまで、上記のワーク１０の撮影からワーク１０の回転、移動までの処理を繰り返してもよい。
【００９２】
また、カメラ８０が撮影した画像データに基づいて、ワーク１０の大きさを検出し、大きさ毎に分類して、複数のケースに振り分けて移載するようにしてもよい。
【００９３】
また、制御装置５０のＣＰＵが実行したワーク移載処理等のプログラムを、既存のコンピュータ等の情報端末で実行させることにより、当該情報端末を本発明に係る制御装置５０として機能させることも可能である。
【００９４】
このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
【符号の説明】
【００９５】
１…ハンドリングシステム
１０…ワーク
１１…積載台
２０…ロボットハンド
２０１…ＣＰＵ
２０１１…把持制御部
２０１２…アーム制御部
２０２…通信部
２１…把持部
２１１…吸気口
２１２…台座
２１３…主吸気部
２１４…補助吸気部
２１５…吸着部
２１６…指状体
２１７…吸着部
２１８…首振り機構
２１９…台座
２２…アーム
３０…第１センサ
４０…第２センサ
５０…制御装置
５０１…ＣＰＵ
５０１１…データ取得部
５０１２…３次元座標算出部
５０１３…最上点検出部
５０１４…ハンドリング領域検出部
５０１５…姿勢判定部
５０１６…方向・重心位置検出部
５０１７…ロボットハンド制御信号生成部
５０２…通信部
５０３…ＲＡＭ
５０４…記憶部
６０…通信線
７０…ケース
８０…カメラ
【図１】
2014050936.tif 000003
【図２】
2014050936.tif 000004
【図３】
2014050936.tif 000005
【図４】
2014050936.tif 000006
【図５】
2014050936.tif 000007
【図６】
2014050936.tif 000008
【図７】
2014050936.tif 000009
【図８】
2014050936.tif 000010
【図９】
2014050936.tif 000011
【図１０】
2014050936.tif 000012
【図１１】
2014050936.tif 000013