(57)【要約】【課題】自動ピッキングを行う際に、ハンド及びピッキング対象部品の破損リスクを低くする自動ピッキング装置を提供する。【解決手段】部品６０の高さ情報を含む視覚情報を取得する計測装置２０と、部品２０どうしの高さの差が許容値以上になったか判断し、高さの差ｄが許容値以上である場合には、最上部品６０ａを移動させる最上部品移動命令を生成する許容差制御装置２１と、部品６０の位置情報及び姿勢情報を演算する部品位置姿勢情報演算装置２２と、最上部品６０ａ又は部品６０に対するロボット１０を制御するロボット制御信号を生成し、ロボット制御信号によりロボット１０を制御するロボット制御装置３０と、ロボット１０の先端に取り付けられたエンドエフェクタ１６を制御するエンドエフェクタ制御信号を生成し、エンドエフェクタ制御信号によりエンドエフェクタ１６を制御するエンドエフェクタ制御装置４０とを備える。【選択図】図１
2012135820.tif 000002
【特許請求の範囲】
【請求項１】
部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する計測装置と、
前記視覚情報に基づいて、前記部品どうしの高さの差が許容値以上になったか判断し、高さの差が前記許容値以上である場合には、前記部品の中で最も高い位置に存在している最上部品を認定し、前記最上部品を移動させる最上部品移動命令を生成する許容差制御装置と、
前記視覚情報に基づいて、前記部品の位置情報及び姿勢情報を演算する部品位置姿勢情報演算装置と、
前記最上部品移動命令、前記位置情報、及び前記姿勢情報に基づいて、作業対象となる前記最上部品又は前記部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成し、前記ロボット制御信号により前記ロボットの駆動を制御するロボット制御装置と、
前記最上部品移動命令、前記位置情報、前記姿勢情報、及び前記ロボット制御信号に基づいて、前記ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、前記エンドエフェクタ制御信号により前記エンドエフェクタの駆動を制御するエンドエフェクタ制御装置
とを備えることを特徴とする自動ピッキング装置。
【請求項２】
前記エンドエフェクタ制御装置は、前記最上部品移動命令を受信した場合に、前記最上部品を移動させるための前記エンドエフェクタである移動用ハンドに交換する制御を行うことを特徴とする請求項１に記載の自動ピッキング装置。
【請求項３】
前記許容差制御装置には、前記エンドエフェクタ及び前記部品の耐久性に依存して決定された前記許容値が記憶されていることを特徴とする請求項１又は２に記載の自動ピッキング装置。
【請求項４】
部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する工程と、
前記視覚情報に基づいて、前記部品どうしの高さの差が許容値以上になったか判断する工程と、
前記部品どうしの高さの差が前記許容値以上になったか判断する工程にて、前記許容値以上であると判断された場合には、前記部品の中で最も高い位置に存在している最上部品を認定する工程と、
前記最上部品を移動させる工程と、
前記部品どうしの高さの差が前記許容値以上になったか判断する工程にて、前記許容値以下であると判断された場合には、前記視覚情報に基づいて、前記部品の位置情報及び姿勢情報を演算する工程と、
前記位置情報及び前記姿勢情報に基づいて、作業対象となる前記部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成し、前記ロボット制御信号により前記ロボットの駆動を制御する工程と、
前記位置情報、前記姿勢情報、及び前記ロボット制御信号に基づいて、前記ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、前記エンドエフェクタ制御信号により前記エンドエフェクタの駆動を制御する工程
とを含むことを特徴とする自動ピッキング方法。
【請求項５】
部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する工程と、
前記視覚情報に基づいて、前記部品の位置情報及び姿勢情報を演算する工程と、
前記位置情報及び前記姿勢情報に基づいて、作業対象となる前記部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成する工程と、
前記位置情報、前記姿勢情報、及び前記ロボット制御信号に基づいて、前記部品どうしの高さの差が許容値以上になったか判断する工程と、
前記部品どうしの高さの差が前記許容値以上になったか判断する工程にて、前記許容値以上であると判断された場合には、前記部品の中で最も高い位置に存在している最上部品を認定する工程と、
前記最上部品を移動させる工程と、
前記部品どうしの高さの差が前記許容値以上になったか判断する工程にて、前記許容値以下であると判断された場合には、前記位置情報、前記姿勢情報、及び前記ロボット制御信号に基づいて、前記ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、前記エンドエフェクタ制御信号により前記エンドエフェクタの駆動を制御する工程
とを含むことを特徴とする自動ピッキング方法。
【請求項６】
前記最上部品を移動させる工程の前に、前記エンドエフェクタを前記最上部品を移動させるための移動用ハンドに交換する工程を更に含むことを特徴とする請求項４又は５に記載の自動ピッキング方法。
【請求項７】
前記最上部品を移動させる工程の前に、前記視覚情報に基づいて、前記最上部品の位置情報及び姿勢情報を演算する工程を更に含むことを特徴とする請求項４〜６のいずれか１項に記載の自動ピッキング方法。
【請求項８】
前記許容値以上になったか判断する工程の前に、前記エンドエフェクタ及び前記部品の耐久性に依存する前記許容値を決定する工程を更に含むことを特徴とする請求項４〜７のいずれか１項に記載の自動ピッキング方法。
【請求項９】
前記最上部品を移動させる工程の前に、前記最上部品の移動方向を決定する工程を更に含むことを特徴とする請求項４〜８のいずれか１項に記載の自動ピッキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットによる自動ピッキング装置に関し、特に、ピッキング動作時にハンド及びピッキング対象部品の破損リスクを低くする自動ピッキング装置及び自動ピッキング方法に関する。
【背景技術】
【０００２】
容器内に山積みされた部品の位置・姿勢を、３次元（３Ｄ）レーザ計測技術等を利用した物体認識システムによる視覚情報をもとに認識し、ロボットマニピュレータ（以下、単に「ロボット」と称す）の手先に取り付けられたハンドで部品を取り出す、自動ピッキング装置が採用されている。
【０００３】
従来の自動ピッキング装置では、部品へハンドをアプローチさせる際にどうしても容器及び部品等と干渉が発生する場合には自動ピッキングを一旦停止し、干渉を回避させるために人が介在する必要があった。人を介在させない自動化のための対策として、干渉が発生する可能性が高いと認識された場合に、容器内の部品をハンドで攪拌させる提案がされている（例えば、特許文献１参照。）。
【０００４】
また、従来の自動ピッキング装置では、何度もピッキングを失敗してしまうことがあった。この問題の対策として、ハンドが部品の把持に失敗した場合に、部品を容器の中央に引き寄せることでピッキングの失敗を減らす提案がされている（例えば、特許文献２参照。）。この問題の他の対策として、取り出し不能と判断された部品を移動させるための指示を出し、移動作業をすることでピッキングの失敗を減らす提案がされている（例えば、特許文献３参照。）。
【０００５】
しかしながら、特許文献１〜３の提案は、部品を攪拌したり移動させたりするときに、ハンドと部品との干渉、部品と部品との干渉によるハンドや部品の破損リスクに対処できていない。例えば、容器の中央部の部品ばかりがピッキングされた場合では、容器の壁の近傍に多くの部品が残ってしまい中央部との高さの差が顕著になってしまうことで部品が落下し、部品やハンドを破損させることがある。特に、部品が数kg以上あるような中重量物の自動ピッキングの際には、ハンド及び部品の破損リスクが高くなってしまう。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６３−１７４８９０号公報
【特許文献２】特開２００１−１７９６６９号公報
【特許文献３】特開平８−３０５４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記実情に鑑みてなされたものであって、自動ピッキングを行う際に、ハンド及びピッキング対象部品の破損リスクを低くする自動ピッキング装置及び自動ピッキング方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明の一態様によれば、部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する計測装置と、視覚情報に基づいて、部品どうしの高さの差が許容値以上になったか判断し、高さの差が許容値以上である場合には、部品の中で最も高い位置に存在している最上部品を認定し、最上部品を移動させる最上部品移動命令を生成する許容差制御装置と、視覚情報に基づいて、部品の位置情報及び姿勢情報を演算する部品位置姿勢情報演算装置と、最上部品移動命令、位置情報、及び姿勢情報に基づいて、作業対象となる最上部品又は部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成し、ロボット制御信号によりロボットの駆動を制御するロボット制御装置と、最上部品移動命令、位置情報、姿勢情報、及びロボット制御信号に基づいて、ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、エンドエフェクタ制御信号によりエンドエフェクタの駆動を制御するエンドエフェクタ制御装置とを備える自動ピッキング装置であることを要旨とする。
【０００９】
本願発明の他の態様によれば、部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する工程と、視覚情報に基づいて、部品どうしの高さの差が許容値以上になったか判断する工程と、部品どうしの高さの差が許容値以上になったか判断する工程にて、許容値以上であると判断された場合には、部品の中で最も高い位置に存在している最上部品を認定する工程と、最上部品を移動させる工程と、部品どうしの高さの差が許容値以上になったか判断する工程にて、許容値以下であると判断された場合には、視覚情報に基づいて、部品の位置情報及び姿勢情報を演算する工程と、位置情報及び姿勢情報に基づいて、作業対象となる部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成し、ロボット制御信号によりロボットの駆動を制御する工程と、位置情報、姿勢情報、及びロボット制御信号に基づいて、ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、エンドエフェクタ制御信号によりエンドエフェクタの駆動を制御する工程とを含む自動ピッキング方法であることを要旨とする。
【００１０】
本願発明の他の態様によれば、部品容器内に収容された複数の部品の高さ情報を含む視覚情報を取得する工程と、視覚情報に基づいて、部品の位置情報及び姿勢情報を演算する工程と、位置情報及び姿勢情報に基づいて、作業対象となる部品に対するロボットの姿勢及び動作を制御するロボット制御信号を生成する工程と、位置情報、姿勢情報、及びロボット制御信号に基づいて、部品どうしの高さの差が許容値以上になったか判断する工程と、部品どうしの高さの差が許容値以上になったか判断する工程にて、許容値以上であると判断された場合には、部品の中で最も高い位置に存在している最上部品を認定する工程と、最上部品を移動させる工程と、部品どうしの高さの差が許容値以上になったか判断する工程にて、許容値以下であると判断された場合には、位置情報、姿勢情報、及びロボット制御信号に基づいて、ロボットの先端に取り付けられたエンドエフェクタの姿勢及び動作を制御するエンドエフェクタ制御信号を生成し、エンドエフェクタ制御信号によりエンドエフェクタの駆動を制御する工程とを含む自動ピッキング方法。
【発明の効果】
【００１１】
本発明によれば、自動ピッキングを行う際に、ハンド及びピッキング対象部品の破損リスクを低くする自動ピッキング装置及び自動ピッキング方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る自動ピッキング装置の概略図である。
【図２】本発明の第１の実施の形態に係る自動ピッキング方法を示すフローチャートである。
【図３】図３（ａ）は、部品上面の平面図であり、図３（ｂ）は、部品側面の平面図である。
【図４】本発明の第１の実施の形態に係る自動ピッキング装置において、移動用ハンドを用いて最上部品を移動させる一例を示す図である。
【図５】本発明の第１の実施の形態に係る自動ピッキング装置において、移動用ハンドを用いずに把持用ハンドを用いて最上部品を移動させる一例を示す図である。
【図６】本発明の第１の実施の形態に係る自動ピッキング装置において、移動用ハンドを用いずに特殊な把持用ハンドを用いて最上部品を移動させる一例を示す図である。
【図７】本発明の第２の実施の形態に係る自動ピッキング方法を示すフローチャートである。
【図８】図３（ａ）は、部品容器内の部品の様子を示す側面図であり、図３（ｂ）は、図３（ａ）のＡ方向からみた部品の様子を示す側面図である。
【図９】部品容器内の部品の様子を示す上面図である。
【図１０】最上部品の移動判定をするために用いる部品の高さデータマップ（その１）である。
【図１１】最上部品の移動判定をするために用いる部品の高さデータマップ（その２）である。
【発明を実施するための形態】
【００１３】
以下に図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号で表している。但し、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なる。したがって、具体的な厚みや寸法は以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００１４】
（第１の実施の形態）
本発明の第１の実施の形態に係る自動ピッキング装置は、図１に示すように、ロボット１０と、計測装置２０と、許容差制御装置２１と、部品位置姿勢情報演算装置２２と、ロボット制御装置３０と、エンドエフェクタ制御装置４０とを備える。
【００１５】
計測装置２０は、図１に示すように、部品容器５０内に収容された複数の部品６０を測定することができる位置に設けられ、部品容器５０に収容された部品の高さ情報を含む視覚情報を取得するセンサである。部品容器５０には、１種類の部品６０が収容され、整列配置して部品６０が収容されていても良く、乱雑なバラ積みであっても良い。計測装置２０で視覚情報を取得する方法としては、レーザスキャナを使用する方法、及びステレオカメラを使用する方法等を採用することができる。
【００１６】
計測装置２０としてレーザスキャナを使用する方法では、まず、パルス状の赤外線レーザを測定対象（部品容器５０に収容された部品６０）に照射する。そして、測定対象等で反射したレーザ光をＣＣＤカメラ等で受光して位相を測定し、測定対象までの距離を算出する。更に、計測装置２０の照射方向を２次元的にスキャンさせながら距離を連続的に測定することで、測定対象までの距離と方位の３Ｄデータを取得することができる。測定対象までの距離算出としては、パルス状の赤外線レーザの位相測定の他に、三角測量および反射時間計測によっても距離を算出することができる。
【００１７】
計測装置２０としてステレオカメラを使用する方法では、まず、複数台のカメラで測定対象を同時に撮影する。そして、各カメラで得られたその物体の画像上での映る位置の違い（視差）から位置、距離、立体的な形状を測定することで、測定対象の３Ｄデータを取得することができる。
【００１８】
許容差制御装置２１は、計測装置２０及び部品位置姿勢情報演算装置２２に接続されている。許容差制御装置２１には、エンドエフェクタ１６及び部品６０の耐久性に依存して決定された許容値が記憶されている。許容差制御装置２１に許容値を記憶させる手段としては、キーボード、マウス、ボイスデバイス又はライトペン等の入力装置（図示せず）により許容値を入力して記憶させる手段や、エンドエフェクタ１６及び部品６０の耐久性に関する値を入力することにより許容値を算出することで記憶させる手段等がある。
【００１９】
許容差制御装置２１は、計測装置２０から視覚情報を受信し、視覚情報に基づいて、部品６０どうしの高さの差ｄが許容値以上になったか判断する。許容差制御装置２１は、部品６０どうしの高さの差ｄが許容値以上である場合には、部品６０の中で最も高い位置に存在している最上部品６０ａを認定し、最上部品６０ａを移動させる最上部品移動命令を生成する。高さの差ｄとは、計測装置２０によって得られる部品６０の視覚情報（表面データ）に基づいて算出される高さデータの差をいう。図１では、１箇所の部品６０どうしの高さの差ｄを示しているが、実際には複数箇所で高さの差ｄを測定し、許容値以上であるか判断する。
【００２０】
部品位置姿勢情報演算装置２２は、計測装置２０及びロボット制御装置３０に接続されている。部品位置姿勢情報演算装置２２は、視覚情報に基づいて、ロボット１０がピッキング等の作業対象となる部品６０の位置情報及び姿勢情報を演算する。
【００２１】
ロボット制御装置３０は、ロボット１０、許容差制御装置２１、部品位置姿勢情報演算装置２２、及びエンドエフェクタ制御装置４０に接続されている。ロボット制御装置３０は、許容差制御装置２１から最上部品移動命令を受信し、部品位置姿勢情報演算装置２２から部品６０の位置情報及び姿勢情報を受信する。ロボット制御装置３０は、最上部品移動命令、位置情報、及び姿勢情報に基づいて、作業対象となる最上部品６０ａ又は部品６０に対するロボット１０の姿勢及び動作を制御するロボット制御信号を生成する。ロボット制御装置３０は、ロボット制御信号によりロボット１０の駆動を制御する。
【００２２】
エンドエフェクタ制御装置４０は、ロボット１０及びロボット制御装置３０に接続されている。エンドエフェクタ制御装置４０は、最上部品移動命令、位置情報、姿勢情報、及びロボット制御信号に基づいて、ロボット１０の先端に取り付けられたエンドエフェクタ１６の姿勢及び動作を制御するエンドエフェクタ制御信号を生成する。エンドエフェクタ制御装置４０は、エンドエフェクタ制御信号によりエンドエフェクタ１６の駆動を制御する。
【００２３】
エンドエフェクタ制御装置４０は、最上部品移動命令を受信した場合に、最上部品６０ａを移動させるためのエンドエフェクタである移動用ハンドに交換する制御を行う。移動用ハンドは、移動させる最上部品６０ａの形状によって決定され、例えば、最上部品６０ａに凹部等があれば凹部に挿入可能な棒状とすることができる。移動用ハンドは、最上部品６０ａを移動させることが可能であれば、大きさや長さに特に制限はない。
【００２４】
ロボット制御信号及びエンドエフェクタ制御信号は、測定対象である部品を計測装置２０で認識し、例えば、把持する部品の箇所（例えば、ボルトの中心）のＸＹＺ座標位置と、把持する方向・姿勢（オイラー角やロール・ピッチ・ヨー角など、３角度Ａ、Ｂ、Ｃ角）の６次元情報である。
【００２５】
また、ロボット制御装置３０は、作業者等によって入力されたロボット１０がピッキング等の作業をする作業対象の部品６０についての部品形状情報部品情報を記憶することができ、エンドエフェクタ制御装置４０は、ロボット１０の先端に取り付けられたエンドエフェクタ１６のエンドエフェクタ形状情報を記憶することができる。部品形状情報部品情報及びエンドエフェクタ形状情報は、例えば、周知の磁気テープ、磁気ドラム、磁気ディスク、光ディスク、光磁気ディスク、あるいはＲＯＭ、ＲＡＭなどの半導体メモリ等の記憶装置に記憶される。
【００２６】
ロボット１０は、基台１１側から順に第１アーム部１２ａ、第２アーム部１２ｂ、第３アーム部１２ｃ、第４アーム部１２ｄを有している。基台１１と第１アーム部１２ａはＡ１軸１３ａで回転可能に連結されている。第１アーム部１２ａと第２アーム部１２ｂはＡ２軸１３ｂで回転可能に連結されている。第２アーム部１２ｂと第３アーム部１２ｃはＡ３軸１３ｃで回転可能に連結されている。第３アーム部１２ｃの先端側（第４アーム部１２ｄ側）はＡ４軸１３ｄにより、基端側（第２アーム部１２ｂ側）に対して回転可能とされている。第３アーム部１２ｃと第４アーム部１２ｄはＡ５軸１３ｅで回転可能に連結されている。第４アーム部１２ｄの先端には、Ａ６軸１３ｆを介してロボット側オートツールチェンジャ１４が回転可能に連結されている。このように構成された本実施形態のロボット１０においては、Ａ１軸１３ａ〜Ａ６軸１３ｆの各軸用のロータリアクチュエータに、ロボット制御装置３０から適切な制御値を与えることで、基台１１に対して第１〜第４アーム部１２ａ〜１２ｄを適切な姿勢とする。
【００２７】
ロボット１０のロボット側オートツールチェンジャ１４は、ハンド側オートツールチェンジャ１５と接続可能である。ハンド側オートツールチェンジャ１５には、エンドエフェクタ１６が回転可能に連結されている。但し、エンドエフェクタ１６は、ロボット１０の出荷段階ではロボット側オートツールチェンジャ１４に取り付けられていない。エンドエフェクタ１６は、ロボット１０の受け入れ先において、ロボット１０を使用するシステム上の作業に適したものが適宜取り付けられる。ロボット側オートツールチェンジャ１４に取り付けられたエンドエフェクタ１６は、ロボット側オートツールチェンジャ１４に対するエンドエフェクタ１６の立設方向と平行に延在する回転軸であるＡ６軸１３ｆの周りに、Ａ６軸１３ｆ用のロータリアクチュエータによって回転することができる。エンドエフェクタ１６としては、例えば、部品６０をピッキングするための２爪グリッパ及び吸着ハンド等を採用することができる。吸着ハンドの吸着手段としては、吸引、磁力、粘着材料等の種々の手段を用いることができる。
【００２８】
エンドエフェクタ１６は、エンドエフェクタ制御装置４０によって作成されたエンドエフェクタ制御信号に基づいて動作が制御される。本実施形態のエンドエフェクタ１６において、例えば、２爪グリッパを採用した場合は、２爪の把持部１７の開閉動作等がエンドエフェクタ制御信号によって制御される。
【００２９】
以下に、本発明の第１の実施の形態に係る自動ピッキング方法について、図２のフローチャートを参照しながら説明する。
【００３０】
ステップＳ１１において、計測装置２０を用いて部品容器５０内の部品６０を計測し、部品容器５０内に収容された複数の部品６０の高さ情報を含む視覚情報を取得する。計測装置２０は、取得した視覚情報を許容差制御装置２１及び部品位置姿勢情報演算装置２２へ送信する。
【００３１】
次に、ステップＳ１２において、許容差制御装置２１は、受信した視覚情報に基づいて、部品６０どうしの高さの差ｄが許容値以上になったか判断する。高さの差ｄとは、ステップＳ１１において、計測装置２０によって得られる部品６０の視覚情報（表面データ）に基づいて算出される部品６０どうしの高さデータの差をいう。部品６０どうしの高さの差ｄが許容値以上であると判断された場合は、ステップＳ１３へ移行する。部品６０どうしの高さの差ｄが許容値以上でないと判断された場合は、ステップＳ１５へ移行する。
【００３２】
許容値は、ステップＳ１２で判断される前に許容差制御装置２１に記憶されている。例えば、エンドエフェクタ１６及び部品６０の耐久性に関する値を許容差制御装置２１に入力することで、許容差制御装置２１がエンドエフェクタ１６及び部品６０の耐久性に依存する許容値を決定し、許容差制御装置２１に許容値を記憶する。あるいは、許容差制御装置２１に許容値を直接入力することで記憶させても構わない。
【００３３】
次に、ステップＳ１３において、許容差制御装置２１は、部品６０の中で最も高い位置に存在している最上部品６０ａを認定する。許容差制御装置２１は、認定した最上部品６０ａを移動させる最上部品移動命令を生成し、ロボット制御装置３０及びエンドエフェクタ制御装置４０へ送信する。
【００３４】
ここで、エンドエフェクタ制御装置４０は、最上部品移動命令を受信した場合に、最上部品を移動させるためのエンドエフェクタである移動用ハンドに交換する制御を行うことがある。例えば、部品６０（最上部品６０ａ）が図３に示すように、凹部（穴部）６１を有する場合、図４に示すような凹部６１に挿入可能な棒状の移動用ハンド１８に交換することで、最上部品６０ａを容易に移動させることができる。エンドエフェクタ１６を移動用ハンド１８に交換しなかった場合に、最上部品６０ａを動かそうとロボット１０を動作させると、図５に示すように、部品容器５０や他の部品６０と接触してしまうことがある。エンドエフェクタ１６を移動用ハンド１８に交換することで、部品容器５０や他の部品６０との接触を回避することができる。
【００３５】
次に、ステップＳ１４において、ロボット制御装置３０は、最上部品移動命令に基づいて、作業対象となる最上部品６０ａに対するロボット１０の位置姿勢情報を演算し、ロボット１０の姿勢及び動作を制御するロボット制御信号を生成する。ロボット制御装置３０は、ロボット制御信号により最上部品６０ａを移動させるための位置姿勢になるようにロボット１０の駆動を制御する。一方、エンドエフェクタ制御装置４０は、最上部品移動命令に基づいて、ロボット１０の先端に取り付けられたエンドエフェクタ１６の姿勢及び動作を制御するエンドエフェクタ制御信号を生成する。エンドエフェクタ制御装置４０は、エンドエフェクタ制御信号によりエンドエフェクタ１６の駆動を制御して、最上部品６０ａを移動させる。最上部品６０ａを移動させることで、部品６０どうしの高さの差ｄが許容値以下になる。この後、再びステップＳ１１へ移行する。
【００３６】
次に、ステップＳ１５において、部品位置姿勢情報演算装置２２は、視覚情報に基づいて、ロボット１０がピッキング等の作業対象となる部品６０の位置情報及び姿勢情報を演算する。そして、部品位置姿勢情報演算装置２２は、位置情報及び姿勢情報をロボット制御装置３０へ送信する。
【００３７】
次に、ステップＳ１６において、ロボット制御装置３０は、位置情報及び姿勢情報に基づいて、作業対象となる部品６０に対するロボット１０の位置姿勢情報を演算し、ロボット１０の姿勢及び動作を制御するロボット制御信号を生成する。そして、ステップＳ１７において、ロボット制御装置３０は、ロボット制御信号によりピッキング位置姿勢になるようにロボット１０の駆動を制御する。
【００３８】
次に、ステップＳ１８において、エンドエフェクタ制御装置４０は、位置情報、姿勢情報及びロボット制御信号に基づいて、ロボット１０の先端に取り付けられたエンドエフェクタ１６の姿勢及び動作を制御するエンドエフェクタ制御信号を生成する。エンドエフェクタ制御装置４０は、エンドエフェクタ制御信号によりエンドエフェクタ１６の駆動を制御して、作業対象となる部品６０を把持（ピッキング）する。
【００３９】
次に、ステップＳ１９において、把持された部品６０は、指示された箇所に搬送される。そして、ステップＳ２０において、搬送されるべき部品６０の数量等が所定の状態になっているか判断し、所定の状態になっている場合は作業を終了し、所定の状態になっていない場合は再度ステップＳ１１へ移行する。
【００４０】
以上の工程により、自動ピッキングが行われる。
【００４１】
第１の実施の形態に係る自動ピッキング装置及び自動ピッキング方法によれば、高さの差が許容値を超えてしまった場合に、最上部品６０ａを移動させるので、部品６０が落下して部品６０やエンドエフェクタ（ハンド）１６を破損させる程度の高さの差になることがない。したがって、部品６０が落下した場合でも、部品６０やエンドエフェクタ１６が破損してしまう破損リスクを低減させることができる。
【００４２】
また、第１の実施の形態に係る自動ピッキング装置及び自動ピッキング方法によれば、高さの差が許容値を超えてしまった場合に、最上部品６０ａを移動させるので、部品６０を攪拌させることにもなり、部品６０をピッキングしやすい状態になるので、ピッキングの失敗を減少させることができる。
【００４３】
（第２の実施の形態）
本発明の第２の実施の形態に係る自動ピッキング装置は、図１に示した自動ピッキング装置と実質的に同様であるので、重複する記載を省略する。
【００４４】
許容差制御装置２１は、エンドエフェクタ１６及び部品６０の耐久性に依存して決定された許容値が記憶されている。また、許容差制御装置２１は、部品６０の形状及び大きさ等に依存して決定された閾値Δｚが記憶されている。閾値Δｚとは、部品６０を動かすことが可能な段差についての高さの閾値をいう。許容差制御装置２１に許容値及び閾値Δｚを記憶させる手段としては、キーボード、マウス、ボイスデバイス又はライトペン等の入力装置（図示せず）により許容値及び閾値Δｚを入力して記憶させる手段や、エンドエフェクタ１６及び部品６０の耐久性、形状、及びサイズ等に関する値を入力することにより許容値及び閾値Δｚを算出することで記憶させる手段等がある。
【００４５】
許容差制御装置２１は、計測装置２０から視覚情報を受信し、視覚情報に基づいて、部品６０どうしの高さの差ｄが許容値以上になったか判断する。許容差制御装置２１は、部品６０どうしの高さの差ｄが許容値以上である場合には、部品６０の中で最も高い位置に存在している最上部品６０ａを認定し、最上部品６０ａを移動させる最上部品移動命令を生成する。高さの差ｄとは、部品位置姿勢情報演算装置２２によって得られる部品６０の位置情報、姿勢情報、及びロボット制御信号に基づいて算出される部品６０どうしの高さデータの差をいう。具体的には、高さの差ｄは、それぞれの部品６０の重心データ及び座標系原点からの距離を算出することで得られる。
【００４６】
以下に、本発明の第２の実施の形態に係る自動ピッキング方法について、図７のフローチャートを参照しながら説明する。
【００４７】
ステップＳ１１において、計測装置２０を用いて部品容器５０内の部品６０を計測し、部品容器５０内に収容された複数の部品６０の高さ情報を含む視覚情報を取得する。計測装置２０は、取得した視覚情報を許容差制御装置２１及び部品位置姿勢情報演算装置２２へ送信する。
【００４８】
次に、ステップＳ１５において、部品位置姿勢情報演算装置２２は、視覚情報に基づいて、ロボット１０がピッキング等の作業対象となる部品６０の位置情報及び姿勢情報を演算する。そして、部品位置姿勢情報演算装置２２は、位置情報及び姿勢情報をロボット制御装置３０へ送信する。
【００４９】
次に、ステップＳ１６において、ロボット制御装置３０は、位置情報及び姿勢情報に基づいて、作業対象となる部品６０に対するロボット１０の位置姿勢情報を演算し、ロボット１０の姿勢及び動作を制御するロボット制御信号を生成する。
【００５０】
次に、ステップＳ１２ａにおいて、許容差制御装置２１は、位置情報、姿勢情報、及びロボット制御信号に基づいて、部品６０どうしの高さの差ｄが許容値以上になったか判断する。ここで、高さの差ｄとは、ステップＳ１５において得られる部品６０の位置情報、姿勢情報、及び、ステップＳ１６において得られるロボット制御信号に基づいて算出される高さデータの差をいう。具体的には、高さの差ｄは、部品６０の重心データ及び座標系原点を算出することで得られる。部品６０どうしの高さの差ｄが許容値以上であると判断された場合は、ステップＳ１３へ移行する。部品６０どうしの高さの差ｄが許容値以上でないと判断された場合は、ステップＳ１５へ移行する。
【００５１】
許容値は、ステップＳ１２ａで判断される前に許容差制御装置２１に記憶されている。例えば、エンドエフェクタ１６及び部品６０の耐久性に関する値を許容差制御装置２１に入力することで、許容差制御装置２１がエンドエフェクタ１６及び部品６０の耐久性に依存する許容値を決定し、許容差制御装置２１に許容値を記憶する。あるいは、許容差制御装置２１に許容値を直接入力することで記憶させても構わない。
【００５２】
次に、ステップＳ２１において、許容差制御装置２１は、位置情報、姿勢情報、及び高さの差ｄに基づいて、作業対象となる（ピッキング可能な）部品６０が存在するか否かを判断する。作業対象となる部品６０が在る場合にはステップＳ１７に移行し、作業対象となる部品６０が無い場合にはステップＳ１３に移行する。
【００５３】
次に、ステップＳ１３において、許容差制御装置２１は、図８及び図９に示すように、部品６０の中で最も高い位置に存在している最上部品６０ａを認定する。そして、許容差制御装置２１は、図９に示すように、最上部品６０ａに在る最も高い点Ｐｈを中心とする半径ｒのエリア（一点鎖線の円エリア）において、角度θずつ計測データの高さマップを作成する。そして、作成した高さマップを基に、部品容器５０の範囲内である線分Ｒを中心とする幅Ｗのエリア内（網掛け部）であって、ベクトルＲ方向に低い点から高い点に閾値Δｚがない場合、ベクトルＲ方向に最上部品６０ａを距離Ｄだけ動かす。
【００５４】
そして、許容差制御装置２１は、作成した高さマップを基に、部品容器５０の範囲内である線分Ｒを中心とする幅Ｗのエリア内（網掛け部）であって、ベクトルＲ方向に低い点から高い点への差分を計測し、閾値Δｚと比較する。図１０に示すように、ベクトルＲ方向に低い点から高い点への高さの差が閾値Δｚ以上である場合は、最上部品６０ａを動かすことができないので、他の方向への移動可能性を再検討する。図１１に示すように、ベクトルＲ方向に低い点から高い点への高さの差が閾値Δｚ以下である場合は、ベクトルＲ方向を最上部品６０ａの移動方向に決定し、最上部品６０ａを距離Ｄだけ動かす。
【００５５】
閾値Δｚは、ステップＳ１３で判断される前に許容差制御装置２１に記憶されている。例えば、部品６０の形状及びサイズ等に関する値を許容差制御装置２１に入力することで、許容差制御装置２１が移動させる部品６０の閾値Δｚを決定し、許容差制御装置２１に許容値を記憶する。あるいは、許容差制御装置２１に閾値Δｚを直接入力することで記憶させても構わない。
【００５６】
許容差制御装置２１は、移動可能であると認定した最上部品６０ａを移動させる最上部品移動命令を生成し、ロボット制御装置３０及びエンドエフェクタ制御装置４０へ送信する。
【００５７】
次に、ステップＳ１４において、ロボット制御装置３０は、最上部品移動命令に基づいて、作業対象となる最上部品６０ａに対するロボット１０の位置姿勢情報を演算し、ロボット１０の姿勢及び動作を制御するロボット制御信号を生成する。ロボット制御装置３０は、ロボット制御信号により最上部品６０ａを移動させるための位置姿勢になるようにロボット１０の駆動を制御する。一方、エンドエフェクタ制御装置４０は、最上部品移動命令に基づいて、ロボット１０の先端に取り付けられたエンドエフェクタ１６の姿勢及び動作を制御するエンドエフェクタ制御信号を生成する。エンドエフェクタ制御装置４０は、エンドエフェクタ制御信号によりエンドエフェクタ１６の駆動を制御して、最上部品６０ａを移動させる。最上部品６０ａを移動させることで、部品６０どうしの高さの差ｄが許容値以下になる。この後、再びステップＳ１１へ移行する。
【００５８】
次に、ステップＳ１７において、ロボット制御装置３０は、ロボット制御信号によりピッキング位置姿勢になるようにロボット１０の駆動を制御する。
【００５９】
次に、ステップＳ１８において、エンドエフェクタ制御装置４０は、位置情報、姿勢情報及びロボット制御信号に基づいて、ロボット１０の先端に取り付けられたエンドエフェクタ１６の姿勢及び動作を制御するエンドエフェクタ制御信号を生成する。エンドエフェクタ制御装置４０は、エンドエフェクタ制御信号によりエンドエフェクタ１６の駆動を制御して、作業対象となる部品６０を把持（ピッキング）する。
【００６０】
次に、ステップＳ１９において、把持された部品６０は、指示された箇所に搬送される。そして、ステップＳ２０において、搬送されるべき部品６０の数量等が所定の状態になっているか判断し、所定の状態になっている場合は作業を終了し、所定の状態になっていない場合は再度ステップＳ１１へ移行する。
【００６１】
以上の工程により、自動ピッキングが行われる。
【００６２】
第２の実施の形態に係る自動ピッキング装置及び自動ピッキング方法でも、第１の実施の形態に係る自動ピッキング装置及び自動ピッキング方法と同様の効果を得ることができる。
【００６３】
また、第２の実施の形態に係る自動ピッキング装置及び自動ピッキング方法によれば、高さの差が許容値を超えてしまった場合に、最上部品６０ａを移動させる方向を選択して移動させるので、最上部品６０ａを移動させる際に他の部品６０等に引っかかることによる装置の停止を防ぐことができる。
【００６４】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす記述及び図面はこの発明を限定するものであると理解するべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかになるはずである。
【００６５】
実施の形態において、エンドエフェクタ１６を移動用ハンド１８に交換することで、部品容器５０や他の部品６０との接触を回避することができると記載したが、移動用ハンド１８に交換しなくても接触を回避できるエンドエフェクタ１６もある。例えば、図６に示すように、エンドエフェクタ１６には、把持部１７ａ、１７ｂがあり、一方の把持部１７ａが最上部品６０ａを移動させるために延伸する機能を有するときは交換しなくても、他の部品等と接触しないで最上部品６０ａを移動させることができる。
【００６６】
実施の形態の自動ピッキング方法において、最上部品６０ａを移動させる工程の前に、視覚情報に基づいて、最上部品６０ａの位置情報及び姿勢情報を演算すれば、最上部品６０ａの移動の精度が上がり、移動させるときの失敗を低減させることができる。
【００６７】
また、実施の形態において、ロボット１０は、図１に示したように、６自由度である軸数が６軸の多関節ロボットであると示したが、ロボット１０の軸数は、６軸に限られず、４軸、５軸であっても構わない。但し、ロボット１０は、軸数が多いほど汎用性が高くなるので、軸数が多い方が好ましい。
【００６８】
このように、本発明はここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【符号の説明】
【００６９】
１０…ロボット
１１…基台
１２ａ…第１アーム部
１２ｂ…第２アーム部
１２ｃ…第３アーム部
１２ｄ…第４アーム部
１３ａ…Ａ１軸
１３ｂ…Ａ２軸
１３ｃ…Ａ３軸
１３ｄ…Ａ４軸
１３ｅ…Ａ５軸
１３ｆ…Ａ６軸
１４…ロボット側オートツールチェンジャ
１５…ハンド側オートツールチェンジャ
１６…エンドエフェクタ
２０…計測装置
２１…許容差制御装置
２２…部品位置姿勢情報演算装置
３０…ロボット制御装置
４０…エンドエフェクタ制御装置
５０…部品容器
６０…部品
６０ａ…最上部品
【図１】
2012135820.tif 000003
【図２】
2012135820.tif 000004
【図３】
2012135820.tif 000005
【図４】
2012135820.tif 000006
【図５】
2012135820.tif 000007
【図６】
2012135820.tif 000008
【図７】
2012135820.tif 000009
【図８】
2012135820.tif 000010
【図９】
2012135820.tif 000011
【図１０】
2012135820.tif 000012
【図１１】
2012135820.tif 000013