(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-31
(45)【発行日】2025-04-08
(54)【発明の名称】ワーク取出し個数算出装置、ハンドシステム、及び表示装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20250401BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2023528898
(86)(22)【出願日】2021-06-17
(86)【国際出願番号】 JP2021023100
(87)【国際公開番号】W WO2022264381
(87)【国際公開日】2022-12-22
【審査請求日】2024-01-12
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】和田 潤
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2019-198950(JP,A)
【文献】特開2018-144156(JP,A)
【文献】特開2007-179301(JP,A)
【文献】特開2020-021212(JP,A)
【文献】特開2019-150904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
ワークが複数積載された対象空間の三次元情報を取得する三次元情報取得部と、
前記ワークの形状情報を取得するワーク形状情報取得部と、
ワーク取出し前後の前記対象空間の三次元情報と前記ワークの形状情報とに基づいて前記ワークの積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出するワーク取出し個数算出部と、
を備える、ワーク取出し個数算出装置。
【請求項2】
前記ワーク取出し個数算出部は、ワーク取出し後に前記積載領域から消滅した消滅領域に収容可能なワーク消滅個数の範囲に基づき、前記ワーク取出し個数の範囲を算出する、請求項1に記載のワーク取出し個数算出装置。
【請求項3】
前記ワーク取出し個数算出部は、ワーク取出し後に前記ワークの前記積載領域に新たに出現した荷崩れ領域に収容可能なワーク荷崩れ個数の範囲を加味し、前記ワーク取出し個数の範囲を算出する、請求項2に記載のワーク取出し個数算出装置。
【請求項4】
前記ワーク取出し個数算出部は、前記ワーク消滅個数の最大数から前記ワーク荷崩れ個数の最小数を減算して前記ワーク取出し個数の最大値を求め、前記ワーク消滅個数の最小数から前記ワーク荷崩れ個数の最大数を減算して前記ワーク取出し個数の最小値を求めることにより、前記ワーク取出し個数の範囲を算出する、請求項3に記載のワーク取出し個数算出装置。
【請求項5】
ワーク取出し後に前記ワークの積載領域から消滅した消滅領域に収容可能なワーク消滅個数の範囲と、
場合により、ワーク取出し後に前記ワークの積載領域に新たに出現した荷崩れ領域に収容可能なワーク荷崩れ個数の範囲と、
前記ワーク消滅個数の範囲と、場合により前記ワーク荷崩れ個数の範囲とに基づき算出されたワーク取出し個数の範囲と、
前記ワーク取出し個数の範囲の最大値と最小値が一致した場合にはワーク取出し個数と、
のうちの少なくとも一つを表示する表示部をさらに備える、請求項1から4のいずれか一項に記載のワーク取出し個数算出装置。
【請求項6】
前記表示部は、前記ワーク消滅個数の範囲と、場合により前記ワーク荷崩れ個数の範囲と、前記ワーク取出し個数の範囲と、のうちの少なくとも一つの算出根拠になった場所に、前記ワークの形状モデルを重ねた重畳画像を表示する、請求項5に記載のワーク取出し個数算出装置。
【請求項7】
前記ワーク取出し個数算出部は、ワーク取出し前後の前記対象空間の前記三次元情報を差分することにより、ワーク取出し後に前記積載領域で変化した変化領域を特定する、請求項1から6のいずれか一項に記載のワーク取出し個数算出装置。
【請求項8】
前記変化領域は、ワーク取出し後に前記対象空間の前記三次元情報から消滅した消滅領域と、ワーク取出し後に前記対象空間の前記三次元情報に新たに出現した荷崩れ領域と、の少なくとも一方を含む、請求項7に記載のワーク取出し個数算出装置。
【請求項9】
1個以上の前記ワークを取出したか否かを示す在籍情報を取得する在籍情報取得部をさらに備え、前記ワーク取出し個数算出部は、前記在籍情報に基づいて前記ワーク取出し個数の範囲の計算処理を実行するか否かを判定する、請求項1から8のいずれか一項に記載のワーク取出し個数算出装置。
【請求項10】
前記ワーク取出し個数の範囲に基づき、前記ワークの取出し及び払出しを行うハンドと、前記ハンドを用いて前記ワークを搬送する搬送装置と、の少なくとも一方の動作を制御する動作制御部をさらに備える、請求項1から9のいずれか一項に記載のワーク取出し個数算出装置。
【請求項11】
前記動作制御部は前記ワーク取出し個数の範囲が一つの値になり且つ所望の取出し個数になるまで前記ワークの取出し及び払出しを繰り返す動作を前記ハンドに対して指令する、請求項10に記載のワーク取出し個数算出装置。
【請求項12】
ワークの取出し及び払出しを行うハンドと、
前記ハンドを用いてワークを搬送する搬送装置と、
前記ハンド及び前記搬送装置の少なくとも一方の動作を制御する制御装置と、
前記ワークが複数積載された対象空間の三次元情報を出力する視覚センサと、
を備え、
前記制御装置は、
前記対象空間の三次元情報を前記視覚センサから取得する三次元情報取得部と、
前記ワークの形状情報を取得するワーク形状情報取得部と、
ワーク取出し前後の前記対象空間の三次元情報と前記ワークの形状情報とに基づいて前記ワークの積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出するワーク取出し個数算出部と、
前記ワーク取出し個数の範囲に基づき、前記ハンド及び前記搬送装置の少なくとも一方の動作を制御する動作制御部と、
を備える、ハンドシステム。
【請求項13】
1個以上のワークを取出したか否かを示す在籍情報を出力する在籍センサをさらに備え、前記ワーク取出し個数算出部は前記在籍情報に基づいて前記ワーク取出し個数の範囲の計算処理を実行するか否かを判定する、請求項12に記載のハンドシステム。
【請求項14】
複数積載されたワークの中から取出されたワークの取出し個数の算出過程を視覚的に表示する表示装置であって、ワーク取出し前後の対象空間の三次元情報の少なくとも一方に、ワーク取出し後にワークの積載領域で変化した変化領域を
識別可能に重ねて表示する重畳画像を表示する表示部を備える、表示装置。
【請求項15】
前記変化領域は、前記ワーク取出し後に前記積載領域から消滅した消滅領域と、場合により前記ワーク取出し後に前記積載領域に新たに出現した荷崩れ領域と、の少なくとも一方を含み、前記表示部は、前記変化領域、前記消滅領域、及び場合により前記荷崩れ領域の少なくとも一つを識別して表示する、請求項14に記載の表示装置。
【請求項16】
プロセッサを備え、
前記プロセッサは、複数積載されたワークの中から取出されたワークの取出し個数の算出過程を視覚的に表示するために、ワーク取出し前後の対象空間の三次元情報の少なくとも一方に、ワーク取出し後にワークの積載領域で変化した変化領域を識別可能に重ねて表示する重畳画像を表示装置に送出する、制御装置。
【請求項17】
複数積載されたワークの中から取出されたワークの取出し個数の算出過程を視覚的に表示するために、ワーク取出し前後の対象空間の三次元情報の少なくとも一方に、ワーク取出し後にワークの積載領域で変化した変化領域を識別可能に重ねて表示する重畳画像を表示装置に送出する動作をプロセッサに実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はハンド技術に関し、特にワーク取出し個数算出装置、ハンドシステム、及び表示装置に関する。
【背景技術】
【0002】
ピックアンドプレイス用ハンドとして、多指把持式、磁気吸着式、真空吸着式、ベルヌーイ式といった種々の方式のハンドが知られている。バラ積み又は積み重ねられた複数のワークの中から1個又は所望個数のワークを取出すアプリケーションでは、視覚センサを用いてワークの位置(及び必要に応じて姿勢)を検出する。視覚センサとしては、三角測量法、TOF(time of flight)法、焦点法等の種々の原理を用いた三次元視覚センサが利用されている。しかし、小型、薄板状、シート状、又は密着し易いワークの場合、ハンドが誤って複数のワークを一度に取出してしまうことがある。ワーク取出し個数の算出方法としては、ワークの取出し後に、力センサ、電磁誘導式センサ、圧力センサ、光電センサ等の追加のセンサを用いて算出する方法があるが、視覚センサとは別個のセンサで追加の計測を行うとサイクルタイムが伸びてしまう。また、視覚センサとは別個に追加のセンサが必要になるため、システムが複雑化しコスト高になる。
【0003】
一方、視覚センサを利用してワーク取出し個数を算出する場合、ワーク取出し前後の距離画像、三次元点群データ等の三次元情報の差分(つまり体積差)をワーク1個当たりの体積で除算することによりワーク取出し個数を算出する方法が知られている(後述の特許文献1参照)。しかし、複数のワークがバラ積み又は積み重ねられている場合、視覚センサから見えない領域にワークが存在するのか又は空洞が存在するのかが分からないため、ワーク取出し前後の三次元情報の差分が誤って複数のワークを一度に取出したことで生じた差分であるのか、又は空洞部分が露出したことで生じた差分であるのかが判別できない。従って、ワークの取出し前後の三次元情報の差分をワーク1個当たりの体積で除算して得られたワーク取出し個数は必ずしも正確な値になるとは限らない。本願に関連する先行技術としては、次の文献が開示されている。
【0004】
特許文献1には、ピッキングロボットで物品を移載する際に発生する物品の荷崩れを検出する方法及び装置において、三次元計測手段に基づいて生成された作業前の距離画像と作業後の距離画像から移載作業前後の物品群の体積差を推定し、推定した物品群の体積差を物品形状データから算出される物品一つ当たりの体積で除することにより、実際に移載された物品の個数と移載されるべき所望個数とを比較し、その一致度合いに基づいて、移載作業の全工程後の荷崩れの発生の有無を判定することが記載されている。
【0005】
特許文献2には、吸着グリッパを備えたロボットマニピュレータにおいて、環境に関する情報を検知する3Dセンサを用いてボックスを持上げ、動かすことが記載されている。
【0006】
特許文献3には、パレット内にバラ積みされた複数のワークをロボットアームの先端に所定個数ずつ保持してパレット外に取出す方法において、パレット底部にワーク不存在領域が発生するときのワーク残存個数はパレットの大きさに依存してほぼ一律に決まるため、その残存個数になるときの取出し個数を逆算にて予め算出することが記載されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2007-179301号公報
【文献】特表2017-520417号公報
【文献】特開2010-300878号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、従来の問題点に鑑み、ワーク取出し個数を正確に推定する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様は、ワークが複数積載された対象空間の三次元情報を取得する三次元情報取得部と、ワークの形状情報を取得するワーク形状情報取得部と、ワーク取出し前後の対象空間の三次元情報とワークの形状情報とに基づいてワークの積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出するワーク取出し個数算出部と、を備える、ワーク取出し個数算出装置を提供する。
本開示の他の態様は、ワークの取出し及び払出しを行うハンドと、ハンドを用いてワークを搬送する搬送装置と、ハンド及び搬送装置の少なくとも一方の動作を制御する制御装置と、ワークが複数積載された対象空間の三次元情報を出力する視覚センサと、を備え、制御装置は、対象空間の三次元情報を視覚センサから取得する三次元情報取得部と、ワークの形状情報を取得するワーク形状情報取得部と、ワーク取出し前後の対象空間の三次元情報とワークの形状情報とに基づいてワークの積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出するワーク取出し個数算出部と、ワーク取出し個数の範囲に基づき、搬送装置及びハンドの少なくとも一方の動作を制御する動作制御部と、を備える、ハンドシステムを提供する。
本開示の別の態様は、複数積載されたワークの中から取出されたワークの取出し個数の算出過程を視覚的に表示する表示装置であって、ワーク取出し前後の対象空間の三次元情報の少なくとも一方に、ワーク取出し後にワークの積載領域で変化した変化領域を重ねた重畳画像を表示する表示部を備える、表示装置を提供する。
【発明の効果】
【0010】
本開示の一態様によれば、ワーク積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出するため、ワーク取出し個数を正確に推定できる。
【図面の簡単な説明】
【0011】
【
図1】第一実施形態のハンドシステムの構成図である。
【
図2】第一実施形態のハンドシステムのブロック図である。
【
図3A】ワーク取出し前のワーク積載領域の一例を示すワーク積載領域の側面図である。
【
図3B】ワーク取出し後のワーク積載領域の一例を示すワーク積載領域の側面図である。
【
図4】第一実施形態のハンドシステムの動作を示すフローチャートである。
【
図5】第一実施形態のハンドシステムの動作を示すフローチャートである。
【
図6】第二実施形態のハンドシステムの動作を示すフローチャートである。
【
図7A】ワーク取出し前のワーク積載領域の一例を示す側面図である。
【
図7B】ワーク取出し後のワーク積載領域の一例を示す側面図である。
【
図8A】ワーク取出し前のワーク積載領域の他の例を示す側面図である。
【
図8B】ワーク取出し後のワーク積載領域の他の例を示す側面図である。
【
図9A】ワーク取出し前のワーク積載領域の別の例を示す側面図である。
【
図9B】ワーク取出し後のワーク積載領域の別の例を示す側面図である。
【
図10A】ワーク取出し前のワーク積載領域のさらに別の例を示す側面図である。
【
図10B】ワーク取出し後のワーク積載領域のさらに別の例を示す側面図である。
【
図11】第三実施形態のハンドシステムの構成図である。
【
図12】ワーク取出し後の三次元情報の一例を示す距離画像図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【0013】
以下、第一実施形態のハンドシステム1について説明する。
図1は第一実施形態のハンドシステム1の構成図である。ハンドシステム1は、ハンド2と、搬送装置3と、制御装置4と、視覚センサ5と、を備えている。ハンドシステム1は、在籍センサ6と、表示装置7と、をさらに備えていてもよい。本実施形態では、円柱形の複数のワークWが収容物内に積載(バラ積み又は積み重ね)されているが、他の実施形態では直方形、薄板状、シート状等の他の形態のワークWでもよく、また、ワークWは治具に積載されていてもよい。ハンドシステム1は視覚センサ5の三次元情報に基づいてワークWの位置(及び必要に応じて姿勢)を検出する。ハンドシステム1はワークWの位置(及び必要に応じて姿勢)に基づいて搬送装置3をワーク取出し位置へ移動させ、ハンド2を動作させてワークWを取出す制御を行う。ワークWを取出す際、ハンド2は誤って所望個数(本実施形態では1個)のワークWとは異なる個数のワークWを取出してしまうことがあるため、ハンドシステム1は視覚センサ5の三次元情報に基づいてワーク取出し個数の範囲を算出する。ハンドシステム1は、算出したワーク取出し個数の範囲に基づき、搬送装置3をワーク払出し位置へ移動させ、ハンド2を動作させてワークWを払出す制御を行う。
【0014】
ハンド2は、搬送装置3に取付けられる。ハンド2はワークWの取出し及び払出しを行う。ハンド2は、多指把持式、磁気吸着式、真空吸着式、ベルヌーイ式等のハンドを含む。ハンド2はワークWの材質、形状、サイズ等に応じて適宜選択するとよい。例えばワークWの摩擦係数が高い場合は多指把持式ハンドでよく、ワークが磁性体の場合は磁気吸着式ハンドでよく、ワークが大型又は薄板状の場合は真空吸着式ハンドでよく、ワークが軽量又はシート状の場合はベルヌーイ式ハンドでよい。本実施形態のハンド2は多指把持式ハンドであり、相対運動可能な複数の指を動作させてワークWの取出し及び払出しを行う。ハンド2は複数の指を動作させるモータ及びモータ駆動装置を備え、モータ駆動装置は有線又は無線を介して制御装置4に接続される。
【0015】
搬送装置3は、ハンド2を用いてワークWを搬送する。搬送装置3は、ロボット、コンベア、無人搬送車(AGV)等を含む。本実施形態の搬送装置3は垂直多関節型ロボットであるが、他の実施形態では、水平多関節型ロボット、直交ロボット、パラレルリンク型ロボット、ヒューマノイド等でもよい。本実施形態の搬送装置3は相対運動可能に連結された複数のリンクを備え、複数のリンクを動作させてワークWを搬送する。搬送装置3はリンクを動作させるモータ及びモータ駆動装置を備え、モータ駆動装置は有線又は無線を介して制御装置4に接続される。
【0016】
制御装置4は、ハンド2、搬送装置3、及び視覚センサ5の少なくとも一つの動作を制御する。本実施形態の制御装置4はハンド2、搬送装置3、及び視覚センサ5の全ての動作を制御するが、他の実施形態ではハンド2と搬送装置3の動作のみを制御し、有線又は無線を介して通信可能に制御装置4に接続する外部装置(図示せず)が視覚センサ5の動作を制御してもよい。制御装置4はプロセッサ、メモリ等を備えたコンピュータ装置である。本実施形態のプロセッサは、コンピュータプログラムを実行する、CPU(central processing unit)、MPU(micro processing unit)等の半導体集積回路を含むが、他の実施形態では、コンピュータプログラムを実行しない、FPGA(field programmable gate array)、ASIC(application specific integrated circuit)等の他の半導体集積回路でもよい。本実施形態のメモリは、種々のデータを記憶するRAM(random access memory)、ROM(read only memory)等の半導体集積回路である。
【0017】
視覚センサ5は、複数のワークWが積載(バラ積み又は積み重ね)されたワーク積載領域を含む対象空間の三次元情報を計測して出力する。視覚センサ5は、三角測量法、TOF法、焦点法等の種々の原理を用いた三次元視覚センサを含む。或いは、視覚センサ5は距離センサと二次元カメラを組み合わせた三次元視覚センサでもよい。本実施形態の視覚センサ5は距離画像を出力するTOFセンサである。視覚センサ5はハンド2又は搬送装置3に取付けられる。本実施形態の視覚センサ5はハンド2に取付けられているが、他の実施形態ではハンド2又は搬送装置3とは別場所の固定点に視覚センサ5を設置してもよい。
【0018】
在籍センサ6は、必須の構成要素ではないことに留意されたい。在籍センサ6は1個以上のワークWをハンド2で取出したか否かを示す在籍情報を出力する。在籍センサ6は、力センサ、電磁誘導式センサ、圧力センサ、光電センサ、カメラ、三次元センサ等を含む。また後述の実施形態で説明するように、視覚センサ5を在籍センサ6として兼用してもよい。本実施形態の在籍センサ6は力を検出する力センサである。在籍センサ6は力覚情報を在籍情報として出力する。在籍センサ6はハンド2又は搬送装置3に取付けられているが、他の実施形態ではハンド2又は搬送装置3とは別場所の固定点に在籍センサ6を設置してもよい。
【0019】
表示装置7は、必須の構成ではないことに留意されたい。表示装置7はワーク取出し個数の算出過程を視覚的に表示する。表示装置7は、液晶ディスプレイ、有機ELディスプレイ、又はこれらを用いたタッチパネルディスプレイ等で構成された表示部(図示せず)を備えている。本実施形態の表示装置7は通信可能に制御装置4に接続する教示装置であるが、これに限定されるものではない。例えば他の実施形態では、表示装置7は有線又は無線を介して通信可能に制御装置4に接続する外部装置に付随する表示装置等でもよい。
【0020】
図2は第一実施形態のハンドシステム1のブロック図である。本実施形態の制御装置4はワーク取出し個数算出装置40を備えているが、他の実施形態では、有線又は無線を介して通信可能に制御装置4に接続する外部装置(図示せず)がワーク取出し個数算出装置40を備えていてもよい。
【0021】
ワーク取出し個数算出装置40は、プロセッサ、メモリ等を備えたコンピュータ装置である。本実施形態のプロセッサは、コンピュータプログラムを実行する、CPU(central processing unit)、MPU(micro processing unit)等の半導体集積回路を含むが、他の実施形態では、コンピュータプログラムを実行しない、FPGA(field programmable gate array)、ASIC(application specific integrated circuit)等の他の半導体集積回路でもよい。本実施形態のメモリは、種々のデータを記憶する、RAM(random access memory)、ROM(read only memory)等の半導体記憶装置を含むが、他の実施形態では、メモリがHDD(hard disk drive)等の磁気記憶装置でもよい。
【0022】
ワーク取出し個数算出装置40は、三次元情報取得部41と、ワーク形状情報取得部42と、ワーク取出し個数算出部44と、を備えている。ワーク取出し個数算出装置40は在籍情報取得部43をさらに備えていてもよい。また、ワーク取出し個数算出装置40は動作制御部45をさらに備えていてもよい。本書における「~部」とはコンピュータプログラムの一部又は全部、或いはコンピュータプログラムを実行しない半導体集積回路の一部又は全部で構成される。ワーク取出し個数算出装置40は、ワーク取出し前後の対象空間の三次元情報とワーク形状情報とに基づき、ワークWの積載領域の中の空洞を考慮してワークWの取出し個数の範囲を算出する。
【0023】
三次元情報取得部41は、複数のワークWが積載(バラ積み又は積み重ね)された対象空間の三次元情報を視覚センサ5から取得する。三次元情報は、基準位置からの距離値を画素毎に含む距離画像や、三次元座標系の座標値を含む三次元点群データ等を含む。本実施形態の三次元情報はTOFセンサから出力された距離画像である。三次元情報取得部41は距離画像と三次元点群データ等の他のデータ形式との間で相互にデータ変換する機能を備えているとよい。三次元情報取得部41は対象空間の三次元情報をワーク取出し個数算出部44に送出する。
【0024】
ワーク形状情報取得部42は、ワーク形状情報を外部メモリ又は内部メモリから取得する。ワーク形状情報は、三次元形状モデル、距離画像、三次元点群データ等を含む。本実施形態のワーク形状情報は、三次元CAD(computer-aided design)データ等の三次元形状モデルである。ワーク形状情報取得部42は、三次元形状モデルと、距離画像、三次元点群データ等の他のデータ形式との間で相互にデータ変換する機能を備えているとよい。ワーク形状情報取得部42はワーク形状情報をワーク取出し個数算出部44に送出する。
【0025】
また、三次元情報取得部41とワーク形状情報取得部42の少なくとも一方は、後続処理のため、対象空間の三次元情報とワーク形状情報の一方のサイズ、スケール、座標系等のパラメータを、他方のサイズ、スケール、座標系等のパラメータに整合させる機能を備えているとよい。
【0026】
在籍情報取得部43は、必須の構成要素ではないことに留意されたい。在籍情報取得部43は、1個以上のワークWをハンド2で取出したか否かを示す在籍情報を在籍センサ6から取得する。本実施形態の在籍情報は力センサの力覚情報であり、在籍情報取得部43は力覚情報がワークW1個当たりの重力を上回る場合に1個以上のワークWを取出したことを示す在籍情報をワーク取出し個数算出部44に送出する。他の実施形態では力覚情報をワークW1個当たりの重力で除算して推定したワーク取出し個数を在籍情報としてワーク取出し個数算出部44に送出してもよい。
【0027】
ワーク取出し個数算出部44は、必須ではないが、在籍情報が1個以上のワークWを取出したことを示す場合に、ワーク取出し個数の範囲の計算処理を実行し、在籍情報がワークWを1個も取出していないことを示す場合は、ワーク取出し個数の範囲の計算処理を実行せず、ワーク取出し個数を0個として動作制御部45に送出する。これにより、ワーク取出し個数算出部44による不要な計算処理を防止できる。また、在籍情報がワーク取出し個数を含んでいる場合、ワーク取出し個数算出部44は、算出したワーク取出し個数の範囲が一つの値(最小値と最大値が同じ値)になり且つ所望の取出し個数(複数個の場合もある)になったときに、算出したワーク取出し個数を、在籍情報のワーク取出し個数に基づいて検算するとよい。
【0028】
ワーク取出し個数算出部44は、ワーク取出し前後の対象空間の三次元情報とワーク形状情報とに基づき、ワーク積載領域の中の空洞を考慮してワーク取出し個数の範囲を算出する。ここで
図3A及び
図3Bを参照し、第一実施形態のワーク取出し個数の計算処理について説明する。
図3A及び
図3Bはワーク取出し前後のワーク積載領域の一例を示す側面図である。
図3Aは短辺及び長辺を有する直方形のワークWを全て横に倒して縦方向に積み重ねたワーク取出し前のワーク積載領域を示している。
図3BはワークWを1個も取出せず、2個のワークWが荷崩れしたワーク取出し後のワーク積載領域を示している。視覚センサ5はワーク積載領域を上方から撮像してワーク取出し前の三次元情報51(破線で示す)とワーク取出し後の三次元情報52(破線で示す)とを出力する。
【0029】
ワーク積載領域の中の視覚センサ5から見えない不可視領域はワークWが存在するのか又は空洞が存在するのかが判別できない。従って、基本的な考え方として、ワーク取出し後にワーク積載領域から消滅した消滅領域A(太破線で示す)の中に空洞が存在することを踏まえてワーク取出し個数の範囲を算出することにより、ワーク取出し個数を正確に推定できるようになる。つまりワーク取出し個数算出部44は、消滅領域Aに収容可能なワーク消滅個数の範囲(
図3Aの例では1個~2個)をワーク取出し個数の範囲(1個~2個)として算出する。
【0030】
消滅領域Aはワーク取出し前後の対象空間の三次元情報51、52を差分した差分領域(正の領域又は負の領域)として取得される。また、消滅領域Aに収容可能なワーク消滅個数の最大数(
図3Aの例では2個)は、ワーク形状情報から得られるワークWを消滅領域Aから繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で消滅領域Aの体積を除算して求められる。消滅領域Aに収容可能なワーク消滅個数の最小数(
図3Aの例では1個)は、ワーク消滅個数の最大数が1個以上の場合は1個とし、ワーク消滅個数の最大数が0個の場合は0個として求められる。
【0031】
しかし、
図3Bに示すようにワークWの積載方法に起因してワーク取出し後にワークWが荷崩れする場合がある。また、ワーク積載領域の中の視覚センサ5から見えない不可視領域はワークが存在するのか又は空洞が存在するのかが判別できないため、ワーク取出し後にワーク積載領域に新たに出現した荷崩れ領域B(太破線で示す)の中の空洞も加味してワーク取出し個数の範囲を算出することにより、ワーク取出し個数をより正確に推定できるようになる。つまりワーク取出し個数算出部44は、ワーク取出し後にワーク積載領域に新たに出現した荷崩れ領域Bに収容可能なワーク荷崩れ個数の範囲(
図3Aの例では1個~2個)を加味し、ワーク取出し個数の範囲を算出するとよい。
【0032】
荷崩れ領域Bは、ワーク取出し前後の対象空間の三次元情報51、52を差分した差分領域(負の領域又は正の領域)として取得される。また、荷崩れ領域Bに収容可能なワーク荷崩れ個数の最大数(
図3Bの例では2個)は、ワーク形状情報から得られるワークWを荷崩れ領域Bから繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で荷崩れ領域Bの体積を除算して求められる。荷崩れ領域Bに収容可能なワーク荷崩れ個数の最小数(
図3Bの例では1個)は、ワーク荷崩れ個数の最大数が1個以上の場合は1個とし、ワーク荷崩れ個数の最大数が0個の場合は0個として求められる。
【0033】
次いでワーク取出し個数算出部44は、ワーク消滅個数の最大数(
図3Aの例では2個)からワーク荷崩れ個数の最小数(
図3Bの例では1個)を減算してワーク取出し個数の最大値(1個)を求め、ワーク消滅個数の最小数(
図3Aの例では1個)からワーク荷崩れ個数の最大数(
図3Bの例では2個)を減算してワーク取出し個数の最小値(-1個のワークWを取出すことはあり得ないため、負数の場合は0個)を求めることにより、ワーク取出し個数の範囲(0個~1個)を算出するとよい。従って、ワーク取出し個数の範囲Rの算出式は次のようになる。
【0034】
【0035】
式1において、J+Hはワーク消滅個数の最大数であり、Jはワーク消滅個数の最小数であり、K+Iはワーク荷崩れ個数の最大数であり、Kはワーク荷崩れ個数の最小数である。max(J-(K+I),0)はワーク取出し個数の最小値であり、max((J+H)-K,0)はワーク取出し個数の最大値である。なお、max(引数1,引数2)関数は引数1と引数2のうちの大きい値を返す関数である。つまりmax関数は、ワーク取出し個数の最大値又は最小値を算出したときに、負数になった場合に0個を返す。
【0036】
なお、ワークWが荷崩れする可能性がない積載方法を採用した場合は、荷崩れ領域Bを特定する必要はない。この場合、ワーク取出し個数算出部44は、ワーク荷崩れ個数の最小数Kを0個とし、ワーク荷崩れ個数の最大数K+Iを0個とし、消滅領域Aに収容可能なワーク消滅個数の範囲J~J+H(
図3Aの例では1個~2個)のみに基づいてワーク取出し個数の範囲(1個~2個)を算出すればよい。
【0037】
また、ワーク積載領域に空洞がない積載方法を採用した場合は、ワーク消滅個数の最小数Jをワーク消滅個数の最大数J+H(
図3Aの例では2個)とし、ワーク荷崩れ個数の最小数Kをワーク荷崩れ個数の最大数K+I(
図3Bの例では2個)とし、ワーク取出し個数の範囲(0個~0個)を算出すればよい。
【0038】
また、ワーク取出し個数算出部44は、在籍情報取得部43から取得した在籍情報に基づいてワーク取出し個数の範囲の計算処理を実行するか否かを判定する場合、ワーク取出し個数が必ず1個以上であることが既知であるため、ワーク取出し個数の最大値又は最小値を算出して0個以下になった場合に1個を返すようにmax関数を変更するとよい。この場合、ワーク取出し個数の範囲Rの算出式は次のようになる。
【0039】
【0040】
図2を再び参照すると、ワーク取出し個数算出部44は、必須ではないが、ワーク取出し前後の対象空間の三次元情報の少なくとも一方に、ワーク取出し後にワークWの積載領域で変化した変化領域Q(消滅領域Aと場合により荷崩れ領域Bとを含む)を重ねた重畳画像を表示装置7に送出し、表示装置7の表示部は、ワーク取出し個数算出部44から送出された重畳画像を表示するとよい。例えば重畳画像は
図3A及び
図3Bに示すようなワークの積載領域の側面図でもよい。表示部は、変化領域Q、消滅領域A、及び場合により荷崩れ領域Bを、例えば色分け、異なる種類の囲み線、又は表示切替え等によって識別して表示するとよい。これにより、ワーク取出し個数の算出過程が視覚化され、ワーク取出し個数の計算ミスの有無を確認できる。
【0041】
またワーク取出し個数算出部44は、必須ではないが、ワーク消滅個数の範囲J~J+Hと、場合によりワーク荷崩れ個数の範囲K~K+Iと、ワーク取出し個数の範囲Rと、ワーク取出し個数の範囲Rの最大値と最小値が一致した場合にはワーク取出し個数と、のうちの少なくとも一つを表示装置7に送出し、表示装置7の表示部は、ワーク取出し個数算出部44から送出された、ワーク消滅個数の範囲J~J+Hと、場合によりワーク荷崩れ個数の範囲K~K+Iと、ワーク取出し個数の範囲Rと、ワーク取出し個数の範囲Rの最大値と最小値が一致した場合にはワーク取出し個数と、のうちの少なくとも一つを表示するとよい。さらにワーク取出し個数算出部44は、必須ではないが、これら個数の範囲の算出根拠になった場所(J、H、K、Iで示す場所)にワークWの形状モデルを重ねた重畳画像を表示装置7に送出し、表示装置7の表示部は、ワーク取出し個数算出部44から送出された重畳画像を表示してもよい。これにより、ワーク取出し個数の算出過程が視覚化され、ワーク取出し個数の計算ミスの有無を確認できる。
【0042】
ワーク取出し個数算出部44は、算出したワーク取出し個数の範囲Rを動作制御部45に送出する。動作制御部45はハンド2と搬送装置3の少なくとも一方の動作プログラムに従ってハンド2と搬送装置3の少なくとも一方の動作を制御する。動作制御部45は、ワーク取出し個数の範囲Rに基づき、ハンド2と搬送装置3の少なくとも一方の動作を制御(補正)する。つまり動作制御部45は、ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)になり、且つ、所望の取出し個数になるまでワークWの取出し及び払出しを繰り返す動作をハンド2と搬送装置3に対して指令する。動作制御部45は、ワーク取出し個数の範囲Rが一つの値でなく又は所望の取出し個数にならない場合は、ワークWを元の場所又は仮置き台に払出してワークWを再度取出す動作をハンド2と搬送装置3に対して指令し、ワーク取出し個数の範囲Rが一つの値になり、且つ、所望の取出し個数になった場合は、ワークWを払出し位置へ搬送して払出す動作をハンド2と搬送装置3に対して指令する。
【0043】
図4及び
図5は第一実施形態のハンドシステム1の動作を示すフローチャートである。ステップS1では、前回のワーク取出し後の三次元情報がメモリにあるか否かを判定する。前回のワーク取出し後の三次元情報がメモリにない場合は(ステップS1のNO)、ステップS2においてワーク取出し前の対象空間の三次元情報51を視覚センサ5から取得する。前回のワーク取出し後の三次元情報がメモリにある場合は(ステップS1のYES)、ステップS3において前回のワーク取出し後の三次元情報をワーク取出し前の三次元情報51とする。
【0044】
ステップS4では、ワーク取出し前のワークWの位置(及び必要に応じて姿勢)がメモリにあるか否かを判定する。ワーク取出し前のワークWの位置(及び必要に応じて姿勢)がメモリにない場合は(ステップS4のNO)、ステップS5においてワーク取出し前の三次元情報51からワークWの位置(及び必要に応じて姿勢)を検出する。ワーク取出し前の三次元情報51におけるワークWの位置(及び必要に応じて姿勢)がメモリにある場合は(ステップS4のYES)、ステップS6に進む。
【0045】
ステップS6では、ワークWの位置(及び必要に応じて姿勢)に基づいて搬送装置3をワーク取出し位置へ移動させ、ハンド2を動作させてワークWを取出す。ステップS7では、在籍センサ6の在籍情報に基づいて1個以上のワークWを取出したか否かを判定する。但し、在籍情報に基づいてワーク取出し個数の範囲の計算処理を実行するか否かを判定するステップS7は必須のステップではないことに留意されたい。ワークWを1個も取出していない場合は(ステップS7のNO)、ステップS1に戻り、ワークWを再度取出す。1個以上のワークWを取出した場合は(ステップS7のYES)、ステップS8に進む。ステップS8では、ワーク取出し後の三次元情報52を視覚センサ5から取得する。
【0046】
ステップS9では、ワーク取出し前後の三次元情報51、52を差分することにより、ワーク取出し後のワーク積載領域で変化した変化領域Q(消滅領域Aと場合により荷崩れ領域Bとを含む)を特定する。変化領域Qは差分後の0でない領域である。ステップS9の後続処理を変化領域Qに制限することにより不要な計算処理を防止できる。変化領域Qは、変化領域Qに外接する、外接長方形、外接円等に置換してもよいし、又はワークWの形状に応じた外接長方形、外接円等に置換してもよい。また、変化領域Qは、ワーク取出し位置から所定半径の領域を用いて制限してもよい。
【0047】
ワーク取出し前後の三次元情報51、52を差分した後の正の領域が消滅領域Aである場合は、負の領域が荷崩れ領域Bになる。一方、ワーク取出し前後の三次元情報51、52を差分した後の負の領域が消滅領域Aである場合は、正の領域が荷崩れ領域Bになる。但し、ワークWが荷崩れする可能性がない積載方法を採用した場合、荷崩れ領域Bを特定する必要はない。なお、ステップS9で特定された変化領域Q、消滅領域A、及び場合により荷崩れ領域Bを、例えば色分け、異なる囲み線、又は表示切替え等によって識別して表示するとよい。これにより、ワーク取出し個数の算出過程が視覚化され、ワーク取出し個数の計算ミスの有無を確認できる。また、ステップS9の後続処理として、変化領域Qの中でワーク取出し後のワークWの位置(及び必要に応じて姿勢)を検出し、次回のワーク取出しのためにメモリに格納しておくとよい。
【0048】
ステップS10では、ワーク形状情報に基づき、消滅領域Aに収容可能なワーク消滅個数の範囲J~J+Hと、場合により荷崩れ領域Bに収容可能なワーク荷崩れ個数の範囲K~K+Iと、を算出する。ワーク消滅個数の最大数J+Hは、ワーク形状情報から得られるワークWを消滅領域Aから繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で消滅領域Aの体積を除算して求められる。ワーク消滅個数の最小数Jは、ワーク消滅個数の最大数J+Hが1個以上の場合は1個とし、ワーク消滅個数の最大数J+Hが0個の場合は0個として求められる。ワーク荷崩れ個数の最大数K+Iは、ワーク形状情報から得られるワークWを荷崩れ領域Bから繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で荷崩れ領域Bの体積を除算して求められる。ワーク荷崩れ個数の最小数Kは、ワーク荷崩れ個数の最大数K+Iが1個以上の場合は1個とし、ワーク荷崩れ個数の最大数が0個の場合は0個として求められる。なお、ステップS10では、算出したワーク消滅個数の範囲J~J+Hと、場合により算出したワーク荷崩れ個数の範囲K~K+Iと、を表示装置7に表示するとよい。また
図3A及び
図3Bに示すように、これら個数の範囲の算出根拠になった場所(J、H、K、Iで示す場所)にワークWの形状モデルを重ねた重畳画像を表示装置7に表示してもよい。これにより、ワーク取出し個数の算出過程が視覚化され、計算ミスの有無を確認できるようになる。
【0049】
ステップS11では、ワーク消滅個数の範囲と、場合によりワーク荷崩れ個数の範囲とに基づき、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))を算出する。つまりワーク消滅個数の最大数J+Hからワーク荷崩れ個数の最小数Kを減算してワーク取出し個数の最大値を求め、ワーク消滅個数の最小数Jからワーク荷崩れ個数の最大数K+Iを減算してワーク取出し個数の最小値を求めることにより、ワーク取出し個数の範囲Rを算出する。但し、ワークWが荷崩れする可能性がない積載方法を採用した場合は、ワーク荷崩れ個数の最小数Kを0個とし、ワーク荷崩れ個数の最大数K+Iを0個とし、ワーク消滅個数の範囲のみに基づいてワーク取出し個数の範囲を算出する。また、在籍情報に基づいて1個以上のワークWを取出したか否かを判定しない場合は(ステップS7の処理を行わない場合は)、式1のmax(J-(K+I),0)~max((J+H)-K,0))に基づき、0個以上のワーク取出し個数の範囲Rを算出する。なお、ステップS11では、算出したワーク取出し個数の範囲Rを表示装置7に表示してもよい。
【0050】
ステップS12では、ワーク取出し個数の範囲Rに基づき、ハンド2と搬送装置3の少なくとも一方の動作を制御する。ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)になり、且つ、所望の取出し個数になるまでワークWの取出しと払出しを繰り返す動作をハンド2と搬送装置3に対して指令する。つまりワーク取出し個数の範囲Rが一つの値にならず又は所望の取出し個数にならない場合は、ワークWを元の場所又は仮置き台に払出し、ステップS1に戻ってワークWを再度取出す(ステップS6)。ワーク取出し個数の範囲Rが一つの値になり、且つ、所望の取出し個数になった場合は、ワークWを払出し位置へ搬送してワークWを払出す。
【0051】
第一実施形態のハンドシステム1によれば、ワーク積載領域(消滅領域Aと場合により荷崩れ領域B)の中の空洞を考慮してワーク取出し個数の範囲を算出するため、ワーク取出し個数Rを正確に推定できる。
【0052】
第二実施形態のハンドシステム1について説明する。第二実施形態のハンドシステム1はワーク取出し個数をより精密に計算する点で、第一実施形態のハンドシステム1とは異なる。以下では、第一実施形態のハンドシステム1と同一の構成及び同一の動作については説明を省略することに留意されたい。
【0053】
ここで
図6、
図7A及び
図7Bを参照し、第二実施形態のワーク取出し個数の計算処理について説明する。
図6は第二実施形態のハンドシステム1の動作を示すフローチャートであり、
図7A及び
図7Bはワーク取出し前後のワーク積載領域の一例を示す側面図である。
図6のフローチャートは、
図4のステップS10の処理をより精密に算出するステップS20~S24を備えている。
図7A及び
図7Bは、
図3A及び
図3Bと同一のワーク積載領域を示す。
【0054】
ステップS20では、変化領域Q(消滅領域Aと場合により荷崩れ領域Bを含む)において、取出し前後の三次元情報51、52の視覚センサ5から見える可視領域から1個のワークWをそれぞれ取り除いた不可視三次元情報53、54(一点破線で示す)をそれぞれ生成する。
【0055】
ステップS21では、変化領域Qにおいて、取出し前の不可視三次元情報53から取出し後の三次元情報52を差分することにより、消滅領域Aの中の不可視領域(正の領域)を特定し、消滅領域Aの中の不可視領域に収容可能なワーク消滅不可視個数Hを算出する。ワーク消滅不可視個数Hは、ワーク形状情報から得られるワークWを消滅領域Aの中の不可視領域から繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で消滅領域Aの中の不可視領域の体積を除算して求められる。
【0056】
ステップS22では、変化領域Qにおいて、取出し後の不可視三次元情報54から取出し前の三次元情報51を差分することにより、荷崩れ領域Bの中の不可視領域(正の領域)を特定し、荷崩れ領域Bの中の不可視領域に収容可能なワーク荷崩れ不可視個数Iを算出する。ワーク荷崩れ不可視個数Iは、ワーク形状情報から得られるワークWを荷崩れ領域Bの中の不可視領域から繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で荷崩れ領域Bの中の不可視領域の体積を除算して求められる。但し、ワークWが荷崩れする可能性がない積載方法を採用した場合は、ステップS22は不要になる。
【0057】
ステップS23では、変化領域Qにおいて、取出し前の三次元情報51から取出し前の不可視三次元情報53を差分することにより、消滅領域Aの中の可視領域(正の領域)を特定し、消滅領域Aの中の可視領域に収容可能なワーク消滅可視個数Jを算出する。ワーク消滅可視個数Jは、ワーク形状情報から得られるワークWを消滅領域Aの中の可視領域から繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で消滅領域Aの中の可視領域の体積を除算して求められる。
【0058】
ステップS24では、変化領域Qにおいて、取出し後の三次元情報52から取出し前の不可視三次元情報53と取出し後の不可視三次元情報54を差分して荷崩れ領域Bの中の可視領域(正の領域)を特定し、荷崩れ領域Bの中の可視領域に収容可能なワーク荷崩れ可視個数Kを算出する。但し、ワークWが荷崩れする可能性がない積載方法を採用した場合は、ワーク荷崩れ可視個数Kを算出するステップS24が不要になる。ワーク荷崩れ可視個数Kは、ワーク形状情報から得られるワークWを荷崩れ領域Bの中の可視領域から繰り返し差分して求めるか、又はワーク形状情報から得られるワークW一個当たりの体積で荷崩れ領域Bの中の可視領域の体積を除算して求められる。
【0059】
ステップS11では、ワーク消滅個数の範囲(J~J+H)と、場合によりワーク荷崩れ個数の範囲(K~K+I)に基づき、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))を算出する。つまりワーク消滅個数の最大数J+Hからワーク荷崩れ個数の最小数Kを減算してワーク取出し個数の最大値を求め、ワーク消滅個数の最小数Jからワーク荷崩れ個数の最大数K+Iを減算してワーク取出し個数の最小値を求めることにより、ワーク取出し個数の範囲Rを算出する。但し、ワークWが荷崩れする可能性がない積載方法を採用した場合は、ワーク荷崩れ個数の最小数Kを0個とし、ワーク荷崩れ個数の最大数K+Iを0個とし、ワーク消滅個数の範囲のみに基づいてワーク取出し個数の範囲を算出する。また、在籍情報に基づいて1個以上のワークWを取出したか否かを判定しない場合は(ステップS7を行わない場合は)、式1のmax(J-(K+I),0)~max((J+H)-K,0))に基づき、0個以上のワーク取出し個数の範囲Rを算出する。
【0060】
第二実施形態のハンドシステム1によれば、消滅領域Aの中の不可視領域に収容可能なワーク消滅不可視個数Hと、場合により荷崩れ領域Bの中の不可視領域に収容可能なワーク荷崩れ不可視個数Iと、を算出することにより、ワーク積載領域(消滅領域Aと場合により荷崩れ領域B)の中の空洞を考慮してワーク取出し個数の範囲Rをより精密に算出するため、ワーク取出し個数Rをより正確に推定できる。
【0061】
以下、ワーク積載領域の他の例について説明する。
図8A及び
図8Bはワーク取出し前後のワーク積載領域の他の例を示す側面図である。
図8Aは短辺及び長辺を有する直方形の3個のワークWを縦方向に積み重ね、真ん中の1個のワークWを縦にし、残り2個のワークWを横に倒し、ワークW2個分の空洞を含んだワーク取出し前のワーク積載領域を示している。
図8Bは1個のワークWを取出し、ワークWが1個も荷崩れしていないワーク取出し後のワーク積載領域を示している。視覚センサ5はワーク積載領域を上方から撮像してワーク取出し前の三次元情報51(破線で示す)とワーク取出し後の三次元情報52(破線で示す)とを出力する。
【0062】
第一実施形態のワーク取出し個数の計算処理によれば(ステップS10を参照)、消滅領域Aに収容可能なワーク消滅個数の範囲J~J+Hが1個~3個になる。荷崩れ領域Bは存在しないため、ワーク荷崩れ個数の範囲K~K+Iは0個になる。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は1個~3個になる。ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)にならず又は所望の個数(本実施形態では1個であるが、複数個の場合もある)になっていないため、元の場所又は仮置き台にワークWを払出し、ワークWを再度取出すことになる。
【0063】
第二実施形態のワーク取出し個数の計算処理によれば(ステップS21~S24を参照)、消滅領域Aの中の不可視領域に収容可能なワーク消滅不可視個数Hが2個になる。荷崩れ領域Bは存在しないため、荷崩れ領域Bの中の不可視領域に収容可能なワーク荷崩れ不可視個数Iは0個になる。消滅領域Aの中の可視領域に収容可能なワーク消滅可視個数Jが1個になる。荷崩れ領域Bは存在しないため、荷崩れ領域Bの中の可視領域に収容可能なワーク荷崩れ可視個数Kは0個になる。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は1個~3個になる。ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)にならず又は所望の取出し個数(本実施形態では1個)になっていないため、元の場所又は仮置き台にワークWを払出し、ワークWを再度取出すことになる。
【0064】
ワーク積載領域の別の例について説明する。
図9A及び
図9Bはワーク取出し前後のワーク積載領域の別の例を示す側面図である。
図9Aは短辺及び長辺を有する直方形の3個のワークWを横方向にバラ積みされ、2個のワークWが横に倒され、最も左側の残り1個のワークWが真ん中のワークWに寄り掛かったワーク取出し前のワーク積載領域を示している。
図9Bは真ん中の1個のワークWを取出し、最も左側のワークWが荷崩れしたワーク取出し後のワーク積載領域を示している。視覚センサ5はワーク積載領域を上方から撮像してワーク取出し前の三次元情報51(破線で示す)とワーク取出し後の三次元情報52(破線で示す)とを出力する。
【0065】
第一実施形態のワーク取出し個数の計算処理によれば(ステップS10を参照)、消滅領域Aに収容可能なワーク消滅個数の範囲J~J+Hが2個~2個になる。荷崩れ領域Bに収容可能なワーク荷崩れ個数の範囲K~K+Iは1個~1個になる。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は1個~1個になる。ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)になり、且つ、所望の取出し個数(本実施形態では1個)になっているため、ワークWを払出し位置へ搬送することになる。
【0066】
第二実施形態のワーク取出し個数の計算処理によれば(ステップS21~S24を参照)、消滅領域Aの中に不可視領域が存在しないため、消滅領域Aの中の不可視領域に収容可能なワーク消滅不可視個数Hが0個になる。荷崩れ領域Bの中に不可視領域が存在しないため、荷崩れ領域Bの中の不可視領域に収容可能なワーク荷崩れ不可視個数Iは0個になる。消滅領域Aの中の可視領域に収容可能なワーク消滅可視個数Jは2個になる。荷崩れ領域Bの中の可視領域に収容可能なワーク荷崩れ可視個数Kは1個になる。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は1個~1個になる。ワーク取出し個数の範囲Rが一つの値(最小値と最大値が同じ値)になり、且つ、所望の取出し個数(本実施形態では1個)になっているため、ワークWを払出し位置へ搬送することになる。
【0067】
ワーク積載領域のさらに別の例について説明する。
図10A及び
図10Bはワーク取出し前後のワーク積載領域の別の例を示す側面図である。
図10Aは短辺及び長辺を有する直方形の2個のワークWが横に倒され、左側の1個のワークWが右側の1個のワークWに引っ掛かってワークW1個分浮いたワーク取出し前のワーク積載領域を示している。
図10Bは右側の1個のワークWを取出し、左側のワークWが地盤沈下のように落下したワーク取出し後のワーク積載領域を示している。視覚センサ5はワーク積載領域を上方から撮像してワーク取出し前の三次元情報51(破線で示す)とワーク取出し後の三次元情報52(破線で示す)とを出力する。
【0068】
第一実施形態のワーク取出し個数の計算処理では(ステップS10を参照)、消滅領域Aに収容可能なワーク消滅個数の範囲J~J+Hが2個~2個になる。一方、ワーク取出し前の三次元情報51とワーク取出し後の三次元情報52を差分しても荷崩れ領域B(負の領域又は正の領域)を特定できないため、実際には荷崩れ領域Bが存在していても、荷崩れ領域Bに収容可能なワーク荷崩れ個数の範囲K~K+Iは間違って0個~0個になってしまう(本来は1個~1個)。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は間違って2個~2個になり、一つの値(最小値と最大値が同じ値)になる。しかし、ワーク取出し個数(2個)が所望の取出し個数(本実施形態では1個)になっていないため、元の場所又は仮置き台にワークWを払出し、ワークWを再度取出すことになるため、ハンドシステム1の誤作動を防止できる。但し、所望の取出し個数が2個の場合は、間違って1個のワークWだけ払出し位置に搬送してしまう可能性がある。しかし、在籍情報がワーク取出し個数(1個)を含む場合は、算出したワーク取出し個数(2個)を、在籍情報のワーク取出し個数(1個)に基づき検算することにより、ハンドシステム1の誤作動を防止できる。
【0069】
第二実施形態のワーク取出し個数の計算処理では(ステップS21~S24を参照)、消滅領域Aの中に不可視領域が存在しないため、消滅領域Aの中の不可視領域に収容可能なワーク消滅不可視個数Hが0個になる。荷崩れ領域Bの中に不可視領域は存在しないため、荷崩れ領域Bの中の不可視領域に収容可能なワーク荷崩れ不可視個数Iは0個になる。消滅領域Aの中の可視領域に収容可能なワーク消滅可視個数Jは2個になる。しかし、取出し後の三次元情報52から取出し前の不可視三次元情報53と取出し後の不可視三次元情報54とを差分しても、荷崩れ領域Bの中の可視領域(正の領域)を特定できないため、実際には荷崩れ領域Bが存在していても、荷崩れ領域Bの中の可視領域に収容可能なワーク荷崩れ可視個数Kは間違って0個になる。従って、ワーク取出し個数の範囲R(max(J-(K+I),1)~max((J+H)-K,1))は間違って2個~2個になり、一つの値(最小値と最大値が同じ値)になる。しかし、ワーク取出し個数(2個)が所望の取出し個数(本実施形態では1個)になっていないため、元の場所又は仮置き台にワークWを払出し、ワークWを再度取出すことになるため、ハンドシステム1の誤作動を防止できる。但し、所望の取出し個数が2個の場合は、間違って1個のワークWだけ払出し位置に搬送してしまう可能性がある。しかし、在籍情報がワーク取出し個数(1個)を含む場合は、算出したワーク取出し個数(2個)を、在籍情報のワーク取出し個数(1個)に基づき検算することにより、ハンドシステム1の誤作動を防止できる。
【0070】
図10A及び
図10Bに示すように、ワークWが1個分だけ地盤沈下するように真下に落下する場合、ワークWが取出されて消滅領域Aが生成されたのか又はワークWが地盤沈下したのかが判別できない。従って、誤ったワーク取出し個数の範囲Rが算出される可能性がある。しかし、ワーク取出し個数の範囲Rが所望の取出し個数(本実施形態では1個)になっているか否かを判定したり、又は在籍情報に基づいてワーク取出し個数の範囲Rを検算したり、といった他の方法を組み合わせることにより、ハンドシステム1の誤作動を引き起こす可能性が低減すると考えられる。なお、ワークWが2個以上分落下した場合、ワーク取出し個数算出部44がエラーを出力するとよい。
【0071】
第三実施形態のハンドシステム1について説明する。第三実施形態のハンドシステム1は、視覚センサ5を在籍センサとして利用するため、在籍センサ6を備えていない点で、第一実施形態のハンドシステム1とは異なる。視覚センサ5は、複数のワークWが積載(バラ積み又は積み重ね)されたワーク積載領域と、ワークWを取出すハンド2と、を含む対象空間の三次元情報を計測して出力する。本実施形態では、視覚センサ5をハンド2や搬送装置3とは別場所の固定点に設置することにより、視覚センサ5がワークWを取出すハンド2を含む対象空間の三次元情報を出力する。他の実施形態では、視覚センサ5がハンド2を含む対象空間の三次元情報を出力する場合は、第一実施形態のように視覚センサ5をハンド2又は搬送装置3に取付けてもよい。以下では、第一実施形態のハンドシステム1と同一の構成及び同一の動作については説明を省略することに留意されたい。
【0072】
図2を再び参照すると、動作制御部45が搬送装置3をワーク取出し後の待機位置に移動させたとき、在籍情報取得部43はワーク取出し後の三次元情報52を視覚センサ5から取得する。在籍情報取得部43は、ワーク取出し後の三次元情報52に基づき、1個以上のワークWをハンド2で取出したか否かを示す在籍情報を生成し、生成した在籍情報をワーク取出し個数算出部44に送出する。
【0073】
図12はワーク取出し後の三次元情報52の一例を示す距離画像図である。本実施形態の在籍情報取得部43は、ワーク取出し後の三次元情報52の中でハンド2を含む在籍確認領域52aを予め設定しておく。在籍情報取得部43は、マッチング処理等の画像処理を用いて在籍確認領域52aからワークWを検出し、1個以上のワークWをハンド2で取出したか否かを示す在籍情報を生成する。在籍情報が1個以上のワークWを取出したことを示す場合、ワーク取出し個数算出部44がワーク取出し個数の範囲の計算処理を実行しする。在籍情報がワークWを1個も取出していないことを示す場合は、ワーク取出し個数算出部44がワーク取出し個数の範囲の計算処理を実行せず、ワーク取出し個数を0個として動作制御部45に送出する。これによりワーク取出し個数算出部44による不要な計算処理を防止できる。
【0074】
また、在籍情報取得部43は、画像処理を用いて在籍確認領域52aからワーク取出し個数を算出してもよい。ワーク取出し個数算出部44は、在籍情報がワーク取出し個数を含む場合は、算出したワーク取出し個数の範囲が一つの値(最小値と最大値が同じ値)になり且つ所望の取出し個数(本実施形態では1個)になったときに、算出したワーク取出し個数を、在籍情報のワーク取出し個数に基づき検算するとよい。
【0075】
第三実施形態のハンドシステム1によれば、視覚センサ5を在籍センサとして利用するため、視覚センサ5とは別個の在籍センサを用意する必要がなく、低コストのハンドシステム1を提供できる。また、ワーク取出し個数算出部44による不要な計算処理を防止できる。
【0076】
前述のコンピュータプログラムは、コンピュータ読取り可能な非一時的記録媒体、例えばCD-ROM等に記録して提供してもよいし、或いは有線又は無線を介してWAN(wide area network)又はLAN(local area network)上のサーバ装置から配信して提供してもよい。
【0077】
本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【0078】
1 ハンドシステム
2 ハンド
3 搬送装置
4 制御装置
5 視覚センサ
6 在籍センサ
7 表示装置
40 ワーク取出し個数算出装置
41 三次元情報取得部
42 ワーク形状情報取得部
43 在籍情報取得部
44 ワーク取出し個数算出部
45 動作制御部
51 ワーク取出し前の三次元情報
52 ワーク取出し後の三次元情報
52a 在籍確認領域
53 ワーク取出し前の不可視三次元情報
54 ワーク取出し後の不可視三次元情報
A 消滅領域
B 荷崩れ領域
H ワーク消滅不可視個数
I ワーク荷崩れ不可視個数
J ワーク消滅可視個数
K ワーク荷崩れ可視個数
Q 変化領域
W ワーク