IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-デパレタイズシステム 図1
  • 特開-デパレタイズシステム 図2
  • 特開-デパレタイズシステム 図3
  • 特開-デパレタイズシステム 図4
  • 特開-デパレタイズシステム 図5
  • 特開-デパレタイズシステム 図6
  • 特開-デパレタイズシステム 図7
  • 特開-デパレタイズシステム 図8
  • 特開-デパレタイズシステム 図9
  • 特開-デパレタイズシステム 図10
  • 特開-デパレタイズシステム 図11
  • 特開-デパレタイズシステム 図12
  • 特開-デパレタイズシステム 図13
  • 特開-デパレタイズシステム 図14
  • 特開-デパレタイズシステム 図15
  • 特開-デパレタイズシステム 図16
  • 特開-デパレタイズシステム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023164091
(43)【公開日】2023-11-10
(54)【発明の名称】デパレタイズシステム
(51)【国際特許分類】
   B25J 19/06 20060101AFI20231102BHJP
   B25J 13/08 20060101ALI20231102BHJP
   B65G 59/10 20060101ALI20231102BHJP
【FI】
B25J19/06
B25J13/08 A
B65G59/10
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022075423
(22)【出願日】2022-04-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】石郷岡 祐
(72)【発明者】
【氏名】西垣戸 貴臣
(72)【発明者】
【氏名】阿部 大輝
【テーマコード(参考)】
3C707
3F030
【Fターム(参考)】
3C707AS02
3C707BS09
3C707DS02
3C707FS01
3C707KS03
3C707KS09
3C707KT02
3C707KT06
3C707MS08
3C707NS02
3C707NS06
3F030AA04
3F030AB04
3F030BA02
(57)【要約】
【課題】デパレタイズシステム100において、適切にワーク15を取り扱えるようにする。
【解決手段】搬送対象となり得る複数のワーク15の集合であるワーク群15Gから一つの前記ワーク15を把持するハンド140と、把持された前記ワーク15を前記ハンド140とともにプレイス位置171に移動させるアームロボット110と、複数の前記ワーク15のうち、上面に他の前記ワーク15が接していないものを候補ワークとして選択するワーク選択部と、前記候補ワークに対して前記ハンド140が取り得る姿勢の候補である複数のハンド姿勢候補の各々について、前記ハンド140と、前記候補ワーク以外の前記ワーク15との間に干渉が生じるか否かを判定するハンド干渉判定部と、をデパレタイズシステム100に備えた。
【選択図】図1
【特許請求の範囲】
【請求項1】
搬送対象となり得る複数のワークの集合であるワーク群から一つの前記ワークを把持するハンドと、
把持された前記ワークを前記ハンドとともにプレイス位置に移動させるアームロボットと、
複数の前記ワークのうち、上面に他の前記ワークが接していないものを候補ワークとして選択するワーク選択部と、
前記候補ワークに対して前記ハンドが取り得る姿勢の候補である複数のハンド姿勢候補の各々について、前記ハンドと、前記候補ワーク以外の前記ワークとの間に干渉が生じるか否かを判定するハンド干渉判定部と、
前記ハンド干渉判定部において、干渉が生じない前記ハンド姿勢候補が存在する前記候補ワークを搬送対象ワークとして選択し、前記搬送対象ワークを前記プレイス位置に搬送させるワーク搬送部と、を備える
ことを特徴とするデパレタイズシステム。
【請求項2】
前記ハンドは、前記ワークの上面および側面から前記ワークを把持するものであり、
前記ワーク搬送部は、
前記搬送対象ワークと前記プレイス位置との間に位置し、所定の条件を満たす他の前記ワークを搬送時障害物として判定する機能と、
前記搬送時障害物が存在する場合には、前記搬送時障害物の上面よりも前記搬送対象ワークの下面が高くなるように前記搬送対象ワークを持ち上げる機能と、
前記搬送時障害物が存在しない場合には、前記搬送対象ワークを所定の高さまで持ち上げる機能と、を備える
ことを特徴とする請求項1記載のデパレタイズシステム。
【請求項3】
前記ハンド干渉判定部は、前記ハンドと、前記候補ワーク以外の前記ワークとの間に干渉が生じるか否かを、前記ハンドを前記候補ワークに接触させることなく判定する機能を備える
ことを特徴とする請求項2記載のデパレタイズシステム。
【請求項4】
上方から前記ワーク群を撮影した第1の画像データから得られた情報と、側方から前記ワーク群を撮影した第2の画像データから得られた情報と、を統合して、各々の前記ワークの寸法を認識するワーク認識部をさらに備える
ことを特徴とする請求項3記載のデパレタイズシステム。
【請求項5】
一の前記ワークである判定対象ワークに対して、上方に、少なくとも一部が重なっている他の前記ワークが存在しないことを必要条件として、前記判定対象ワークに対して障害物が存在しないと判定する死角補完部をさらに備える
ことを特徴とする請求項4記載のデパレタイズシステム。
【請求項6】
前記死角補完部は、前記判定対象ワークに対して、上方に、少なくとも一部が重なっている他の前記ワークが存在する場合には、前記判定対象ワークに対して障害物が存在すると判定する
ことを特徴とする請求項5記載のデパレタイズシステム。
【請求項7】
前記ワーク群はパレットに載置されるものであり、
前記死角補完部は、前記判定対象ワークの高さが不明である場合には、前記パレットから前記判定対象ワークの上面までの距離であるパレット基準高さ、または前記ワークに許容される最大高さを、前記判定対象ワークの高さであるとみなす機能を備える
ことを特徴とする請求項6記載のデパレタイズシステム。
【請求項8】
前記ハンド干渉判定部は、
前記ハンドが取り得ない姿勢を前記ハンド姿勢候補から除外する機能と、
前記候補ワークの長辺の幅と短辺の奥行きとが所定の関係を満たす場合に、前記ハンドが前記短辺に対向する姿勢を前記ハンド姿勢候補から除外する機能と、
前記ハンドが前記パレットに干渉する姿勢を前記ハンド姿勢候補から除外する機能と、を備え、
前記ワーク選択部は、一または複数の前記ワークが前記パレットに残存している場合においても、前記ハンドによって何れの前記ワークも把持できない場合は、搬送処理を終了する旨の通知を出力する
ことを特徴とする請求項7記載のデパレタイズシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デパレタイズシステムに関する。
【背景技術】
【0002】
Eコマースなどの発展に伴い、物流の重要が増加しており、物流システムの更なる効率化が求められている。一方、物流量の増加に対応した労働力の安定確保が困難になってきており、アームロボットを利用したデパレタイズシステムが求められている。デパレタイズシステムは、パレットの上に置かれたワーク(例えば段ボール箱)の群から目的のワークを把持し(「ピックする」という)、指定の場所まで運び、ワークを載置する(「プレイスする」という)システムである。デパレタイズシステムにおいては、これらのワークに損傷を与えることなく短時間でデパレタイズすることが要望されている。この種の技術の一例は、例えば下記特許文献1に記載されている。特許文献1の記述は本願明細書の一部として包含される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-218166号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述した技術において、一層適切にワークを取り扱いたいという要望がある。
この発明は上述した事情に鑑みてなされたものであり、適切にワークを取り扱えるデパレタイズシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため本発明のデパレタイズシステムは、搬送対象となり得る複数のワークの集合であるワーク群から一つの前記ワークを把持するハンドと、把持された前記ワークを前記ハンドとともにプレイス位置に移動させるアームロボットと、を備えるデパレタイズシステムにおいて、複数の前記ワークのうち、上面に他の前記ワークが接していないものを候補ワークとして選択するワーク選択部と、前記候補ワークに対して前記ハンドが取り得る姿勢の候補である複数のハンド姿勢候補の各々について、前記ハンドと、前記候補ワーク以外の前記ワークとの間に干渉が生じるか否かを判定するハンド干渉判定部と、前記ハンド干渉判定部において、干渉が生じない前記ハンド姿勢候補が存在する前記候補ワークを搬送対象ワークとして選択し、前記搬送対象ワークを前記プレイス位置に搬送させるワーク搬送部と、を備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、適切にワークを取り扱える。
【図面の簡単な説明】
【0007】
図1】第1実施形態によるデパレタイズシステムの模式的な斜視図である。
図2】ロボットコントローラの機能ブロック図である。
図3】管理テーブルの例を示す図である。
図4】ワーク認識ルーチンのフローチャートである。
図5】ロボットコントローラにおける認識結果の一例を示す模式図である。
図6】死角補完処理ルーチンのフローチャートである。
図7】死角補完部の動作説明図である。
図8】ワーク選択ルーチンのフローチャートである。
図9】ハンド干渉判定ルーチンのフローチャートである。
図10】ハンド姿勢候補の例を示す図である。
図11】ハンドおよびワークの各種配置関係の例を示す図である。
図12】ハンドおよびワークの各種配置関係の他の例を示す図である。
図13】ワーク搬送ルーチンのフローチャートである。
図14】第2実施形態によるデパレタイズシステムの模式的な斜視図である。
図15】第2実施形態におけるワーク認識ルーチンのフローチャートである。
図16】第2実施形態における動作説明図である。
図17】コンピュータのブロック図である。
【発明を実施するための形態】
【0008】
[実施形態の概要]
デパレタイズシステムにおいて搬送されるワーク(例えば段ボール箱)の中には、単数あるいは複数の物品が梱包されている。その中には、十個を超える飲料物が梱包されている重いワークもある。このような重いワークを取り扱う場合には、特許文献1に示されている技術を応用して、天面と側面の両方でワークを把持することが好ましいと考えられる。特許文献1の技術を応用すると、プレイス方向に近く、上面に位置するもの順番に運搬するワークを選択できると考えられ、これによって速く安定した搬送を実現できると考えられる。しかし、複数種類のワークが混在するデパレタイズでは、ワークのサイズが不確定であるため、ワーク上空からのカメラなどを利用したワーク認識方法では、ワークの高さを確定できない場合が生じる。
【0009】
このような場合、ワークの高さを、考え得る最高値、例えばパレット上面からワーク上面までの距離とみなすことが必要となる場合がある。すると、相当の高さにまでワークを持ち上げることが必要となり、装置の巨大化や、運搬効率の低下を及ぼすという問題が生じる。後述する実施形態は、上述のような課題を解決するために、複数のカメラを用いて各ワークの寸法情報とワーク上の障害物有無を判定するようにした。また、プレイス場所に近く、ワーク上の障害物がなく、ハンド(エンドエフェクタ)で把持する際に他に衝突しないワークを優先的に選択するようにした。そして、ワークを持ち上げる高さを、進行方向に対して、他のワーク等に衝突しない高さとすることで、安定して高速にワークをデパレタイズ(パレットから荷物を降ろすこと)ができるようにした。
【0010】
[第1実施形態]
〈第1実施形態の構成〉
図1は、第1実施形態によるデパレタイズシステム100の模式的な斜視図である。デパレタイズシステム100は、アームロボット110と、カメラ120,130と、ハンド140と、ロボットコントローラ180と、を備えている。また、図1において、デパレタイズシステム100の近傍には略平板状のパレット16と、コンベア17と、が設けられている。
【0011】
パレット16の上面には、略直方体箱状の複数のワーク15-1,15-2,…が載置されている。これらパレット16の上面に載置されている一または複数のワークの集合をワーク群15Gと称することがある。なお、以下の説明において、同一または同様の機能、意義を有する複数の構成要素や情報等を、例えば「ワーク15-1,15-2」のように、同一の符号に「-」と英数字を付して、表記する場合がある。但し、これら複数の構成要素等を区別する必要がない場合には、例えば「ワーク15」のように、「-」と英数字を省略して表記する場合がある。
【0012】
デパレタイズシステム100は、これらワーク15をコンベア17の所定のプレイス位置171に移動させるシステムである。カメラ120はワーク群15Gの上方に固定されワーク群15Gを上方から撮影し、撮影結果を画像データVH(第1の画像データ)としてロボットコントローラ180に供給する。また、カメラ130はワーク群15Gの側方に固定され、ワーク群15Gを側方から撮影し、撮影結果を画像データVV(第2の画像データ)としてロボットコントローラ180に供給する。これにより、ロボットコントローラ180は、各ワーク15の位置や寸法等を判定する。ロボットコントローラ180はアームロボット110およびハンド140を制御して対象のワーク15をピックし、ピックしたワーク15をコンベア17のプレイス位置171に載置する。
【0013】
ハンド140は、それぞれ略直方体ブロック状に形成された上面吸着部142と、側面吸着部144と、両者を結合する結合部146と、を備えている。上面吸着部142は搬送するワーク15の上面に吸着し、側面吸着部144は該ワーク15の一側面に吸着する。結合部146は、上面吸着部142および側面吸着部144が全体として略L字状になるように双方の各一辺を結合する。なお、ハンド140として、上述の特許文献1に記載されているものを適用してもよい。アームロボット110およびパレット16は平面上に設置される。この平面上の任意の向きをx軸とし、x軸に直交する該平面上の向きをy軸とする。また、高さの向きをz軸とする。
【0014】
図17は、コンピュータ980のブロック図である。
図1に示したロボットコントローラ180は、図17に示すコンピュータ980を、1台または複数台備えている。
図17において、コンピュータ980は、CPU981と、記憶部982と、通信I/F(インタフェース)983と、入出力I/F984と、メディアI/F985と、を備える。
【0015】
ここで、記憶部982は、RAM982aと、ROM982bと、HDD982cと、を備える。通信I/F983は、通信回路986に接続される。入出力I/F984は、入出力装置987に接続される。メディアI/F985は、記録媒体988からデータを読み書きする。ROM982bには、CPUによって実行されるIPL(Initial Program Loader)等が格納されている。HDD982cには、制御プログラムや各種データ等が記憶されている。CPU981は、HDD982cからRAM982aに読み込んだ制御プログラム等を実行することにより、各種機能を実現する。
【0016】
図2は、ロボットコントローラ180の機能ブロック図である。なお、図中の各ブロックは、制御プログラム等によって実現される機能を示している。すなわち、ロボットコントローラ180は、ワーク認識部181と、死角補完部182と、ワーク選択部183と、ハンド干渉判定部184と、ワーク搬送部185と、を備えている。
【0017】
ワーク認識部181は、カメラ120,130からの画像データVH,VVに基づいて、各ワーク15の位置や寸法等を認識する。このような各ワーク15に関する情報をワーク情報と呼ぶ。死角補完部182は、ワーク認識部181の認識結果に基づいて、ワーク情報を補完する。ワーク選択部183は、認識された何れかのワーク15を、ピックして搬送する対象となるワーク(「搬送対象ワーク」と呼ぶ)の候補を選択する。ここで選択された候補を「候補ワーク」と呼ぶ。
【0018】
ハンド干渉判定部184は、ハンド140によって候補ワークを把持しようとした場合に、ハンド140が他のワーク15やパレット16等と干渉するか否かを判定する。そして、ハンド干渉判定部184は、「干渉しない」と判定された候補ワークを、搬送対象ワークとして選択する。ワーク搬送部185はアームロボット110およびハンド140を制御することにより、搬送対象ワークをピックして運搬する。
【0019】
図3は、本実施形態における管理テーブルDTの例を示す。なお、管理テーブルDTは、ワーク情報を管理するためのテーブルである。
ワーク認識部181(図2参照)は、存在が認識されたワーク15毎に、管理テーブルDTのレコード(行)を形成させる。そして、ワーク認識部181は、各ワーク15に対して、一意の識別子となるワークIDを付与し、これを各レコードに記憶させる。なお、図示の例において、ワークIDは、「1」,「2」,「3」,…等の昇順の数値である。
【0020】
さらに、ワーク認識部181は、各レコードにおいて、中心座標Cn(但し、nはワークIDである。以下同)と、幅Wnと、奥行きDnと、高さHnと、回転角θnと、障害物フラグBnと、を記憶させる。
【0021】
ここで中心座標Cnは、当該レコードに係るワーク15-nの上面における中心点の座標である。また、幅Wnは、略直方体であるワーク15-nの上面を成す長方形の長辺の長さであり、奥行きDnは同短辺の長さである。高さHnはワーク15-nの高さである。回転角θnは、ワーク15-nの幅Wnの方向と、x軸(図1参照)とが成す角度である。障害物フラグBnは、ワーク15-nの上面に載置されている他のワーク15が存在する場合に“1”、存在しない場合に“0”となるフラグである。
【0022】
〈第1実施形態の動作〉
次に、第1実施形態の動作を説明する。
図4は、ワーク認識ルーチンのフローチャートである。本ルーチンは、ユーザが所定の操作を行うことにより、ロボットコントローラ180において実行される。
図4において処理がステップS2に進むと、ワーク認識部181は、作成可能な範囲でワーク情報の管理テーブルDT(図3参照)を作成する。より具体的には、ワーク認識部181は、上方からの画像データVHに基づいて、取得可能な範囲内で各ワーク15の上面の寸法情報を取得する。
【0023】
図5は、ロボットコントローラ180における認識結果の一例を示す模式図である。
図5における認識結果DC12は、上述したステップS2における認識結果の一例である。すなわち、ワーク認識部181は、上方からの画像データVHに基づいて、ワーク15-nの幅Wn、奥行きDn、中心座標Cn、および回転角θnを計測し、ワークID=nとともにワーク情報の管理テーブルDT(図3参照)に記憶させる。さらに、ワーク認識部181は、ワーク15-nの上面において、側方のカメラ130(図1参照)に対向する頂点Pn1,Pn2の座標も取得する。
【0024】
次に、図4において処理がステップS4に進むと、ワーク認識部181は、側方からの画像データVVに基づいて、取得可能な範囲内で各ワーク15の側面の寸法情報を取得する。
図5における認識結果DC14は、上述したステップS4における認識結果の一例である。すなわち、ワーク認識部181は、側方からの画像データVVに基づいて、ワーク15-mの高さHmと、奥行きDmと、側面の上側の頂点Pm1,Pm2の座標も取得する。
【0025】
次に、図4において処理がステップS6に進むと、ワーク認識部181は、ステップS2において取得した各頂点(Pn1,Pn2等)の座標と、ステップS4において取得した各頂点(Pm1,Pm2等)の座標と、のマッチングを行い、「同一の頂点」と判断できるものを検索する。その結果、例えば認識結果DC12における頂点Pn1,Pn2は、それぞれ認識結果DC14における頂点Pm1,Pm2と同一の頂点であると判定されることがある。このような場合、ワーク認識部181は、ワーク15-mの高さHmを、ワーク15-nの高さHnとして、ワーク情報の管理テーブルDTに記憶させる。
【0026】
ステップS6における認識結果は、例えば図5における認識結果DC16のようになる。図示の例では、ワーク15-nについて、幅Wn、奥行きDn、高さHnおよび回転角θnが全て求まり、ワーク情報の管理テーブルDTに格納されることになる。次に、処理がステップS8に進むと、ロボットコントローラ180は、死角補完処理ルーチン(図6)を実行する。これは、管理テーブルDTのうち、画像データVH,VVのみによっては得られなかったデータを補完するためである。
【0027】
図6は、死角補完処理ルーチンのフローチャートである。
本ルーチンは、上述したように、ワーク認識ルーチン(図4)のステップS8において呼び出される。図6において処理がステップS81に進むと、死角補完部182は、管理テーブルDTの中から、処理対象として一つのワークを選択する。選択されたワークのワークIDをnとし、当該ワークをワーク15-nと呼ぶ。
【0028】
次に、処理がステップS82に進むと、死角補完部182は、当該ワーク15-nの高さHnが不明であるか否かを判定する。ここで「Yes」(高さHnは不明)と判定されると、処理はステップS83に進み、死角補完部182は、管理テーブルDTに対して、高さHnとしてワーク15-nの高さの推定値を記憶させる。
【0029】
ここで、ワーク15-nの高さの推定方法を述べる。まず、パレット16(図1参照)の上面のz座標から当該ワーク15-nの上面のz座標までの距離をパレット基準高さHpt(図示せず)と呼ぶ。ここで、全てのワーク15について、許容される最大高さHmax(図示せず)が予め決定されており、Hmax<Hptである場合には、最大高さHmaxが高さHnの推定値になる。一方、Hmax≧Hptである場合、あるいは最大高さHmaxが未定である場合には、パレット基準高さHptが高さHnの推定値になる。
【0030】
次に、処理がステップS85に進むと、死角補完部182は、障害物判定処理を行う。すなわち、死角補完部182は、ワーク15-nのz座標よりも上方(正の方向)に、他のワークが存在する場合には、管理テーブルDT(図3参照)の障害物フラグBnに“1”(障害物あり)を登録する。一方、死角補完部182は、ワーク15-nのz座標よりも上方(正の方向)に、他のワークが存在しない場合には、管理テーブルDT(図3参照)の障害物フラグBnに“0”(障害物なし)を登録する。
【0031】
一方、ステップS82において「No」(高さHnは既知)と判定されると、処理はステップS84に進む。ここでは、死角補完部182は障害物判定処理を行う。すなわち、死角補完部182は、ワーク15-nの四隅のz座標よりも上方(正の方向)に、他のワークが存在する場合には、管理テーブルDT(図3参照)の障害物フラグBnに“1”(障害物あり)を登録する。一方、死角補完部182は、ワーク15-nの四隅のz座標よりも上方(正の方向)に、他のワークが存在しない場合には、管理テーブルDT(図3参照)の障害物フラグBnに“0”(障害物なし)を登録する。
【0032】
ステップS84またはS85が終了すると、処理はステップS86に進み、死角補完部182は、次の処理対象となる他のワーク15の選択を試行する。次に、処理がステップS87に進むと、ステップS86においてワーク15の選択が成功したか否かが判定される。ここで「Yes」と判定されると、処理はステップS82に戻り、新たに選択されたワーク15-nに対して、ステップS82~S86の処理が繰り返される。一方、ステップS87において「No」と判定されると、本ルーチンが終了する。
【0033】
図7は、死角補完部182の動作説明図である。
図7におけるワーク群15G-Aには、4個のワーク15-1~15-4が含まれている。上述したように、ロボットコントローラ180(図1参照)は、このワーク群15G-Aをカメラ120,130で撮影した画像データVH,VVに基づいて、管理テーブルDTを生成する。図7に示すイメージIM-Aは、ワーク群15G-Aに対して作成された管理テーブルDTの内容を視覚的なイメージとして示したものである。イメージIM-Aには、ワーク群15G-Aにおける各ワーク15-1~15-4の高さが正確に反映されている。
【0034】
また、図7におけるワーク群15G-Bには、4個のワーク15-6~15-9が含まれている。図7に示すイメージIM-Bは、このワーク群15G-Bに対して作成された管理テーブルDTの内容を視覚的なイメージとして示したものである。ワーク群15G-Bのうち、ワーク15-8の上面および側面は、それぞれワーク15-7,15-9に遮られている。そのため、ロボットコントローラ180は、カメラ120,130からの画像データVH,VVに基づいてワーク15-8の存在を認識することはできない。従って、死角補完部182は、実際のワーク15-7,15-8に代えて、両者の高さを合わせたワーク15-7Aが存在すると認識する。
【0035】
図8は、ワーク選択ルーチンのフローチャートである。
ワーク選択部183は、上述した死角補完処理ルーチン(図6)が終了した後、本ルーチンを起動する。
図8において処理がステップS12に進むと、ワーク選択部183は、一つのワークを処理対象の候補ワークとして選択する。すなわち、ワーク選択部183は、各ワーク15の中心座標と、コンベア17のプレイス位置171(図1参照)との距離を各々算出し、算出した距離が最も短いワーク15を処理対象の候補ワークとして選択する。
【0036】
候補ワークとプレイス位置171との距離は、当該候補ワークのX、Y、Zの座標をX1、Y1、Z1、プレイス位置171の座標をX、Y、Zの座標をX2、Y2、Z2とすると、下式(1)によって距離を求めることができる。なお、本実施形態では下式(1)で距離を算出するが、距離の算出方法はこれに限らない。
【0037】
【数1】
【0038】
次に、処理がステップS14に進むと、ハンド干渉判定ルーチン(図9)が呼び出される。本ルーチンの内容は後述するが、同ルーチンは、候補ワークに対してハンド干渉が発生するか否かを判定するものである。ここで「ハンド干渉」とは、ハンド140と候補ワーク以外の他のワーク15との干渉、またはハンド140とパレット16との干渉を指す。
【0039】
次に、処理がステップS16に進むと、ハンド干渉が発生するか否かに応じて、処理が分岐される。まず、「No」(ハンド干渉は発生しない)と判定されると、処理はステップS20に進む。
【0040】
ステップS20において、ワーク選択部183は、候補ワークを搬送対象ワークとして選択し、ワーク搬送処理(図13参照)を呼び出す。本ルーチンの内容は後述するが、同ルーチンは、搬送対象ワークをプレイス位置171(図1参照)に搬送する処理である。ステップS20が終了すると、本ルーチンの処理が終了する。
【0041】
一方、上述の処理がステップS16において「Yes」(ハンド干渉が発生する)と判定されると、処理はステップS18に進む。ステップS18において、ワーク選択部183は、現在の候補ワークを候補ワークの集合から除外する。次に、処理がステップS22に進むと、ワーク選択部183は次の候補ワークになり得るワーク15が存在するか否かを判定する。
【0042】
ステップS22において「Yes」と判定されると、処理はステップS12に戻り、上述したものと同様の処理が繰り返される。一方、ステップS22において「No」と判定されると処理はステップS24に進む。ここでは、ワーク選択部183は、「搬送可能なワークがないためワーク選択処理を終了する」旨をユーザに通知し、本ルーチンの処理が終了する。
【0043】
このように、本ルーチンによれば、プレイス位置171に近く、かつ、障害物が無いワーク15を優先して搬送対象ワークとして選択できるため、安定して高速な搬送を実現することができる。
【0044】
図9は、ハンド干渉判定ルーチンのフローチャートである。
本ルーチンは、上述したように、ワーク選択ルーチン(図8)のステップS14において呼び出される。
図9において処理がステップS32に進むと、ハンド干渉判定部184は、候補ワークに対してハンド140が取り得る姿勢の候補(以下、ハンド姿勢候補と呼ぶ)を検索する。また、検索された一または複数のハンド姿勢候補の集合をハンド姿勢候補群と呼ぶ。
【0045】
図10はハンド姿勢候補の例を示す図である。
図中のハンド姿勢候補ST10,ST12においては、何れも、ハンド140の結合部146がワーク15の上面の長辺15Lに対向する。このようなハンド姿勢候補を選択することにより、ハンド140は、ワーク15を安定して把持することができる。
【0046】
また、ハンド干渉判定部184は、ハンド140の結合部146がワーク15の上面の短辺15Sに対向する姿勢もハンド姿勢候補に含める。但し、ハンド干渉判定部184は、ワーク15の長辺15Lの幅Wと、短辺15Sの奥行きDとの差分(W-D)が所定の最大差分値を超える場合、または両者の比率(W/D)が所定の最大比率を超える場合には、ハンド140の結合部146がワーク15の上面の短辺15Sに対向する姿勢をハンド姿勢候補から除外する。
【0047】
但し、アームロボット110の回転制約や、各種ケーブルの取り回し等の理由により、例えばハンド140はハンド姿勢候補ST10を取ることが可能であっても、ハンド姿勢候補ST12は取れない場合がある。ハンド干渉判定部184は、このように取ることが不可能な姿勢を、ハンド姿勢候補群から除外する。
【0048】
次に、処理がステップS34に進むと、ハンド干渉判定部184は、ハンド姿勢候補群の中から一つのハンド姿勢候補の選択を試行する。次に、処理がステップS36に進むと、ハンド干渉判定部184は、ステップS34においてハンド姿勢候補の選択が成功したか否かを判定する。ここで「Yes」と判定されると、処理はステップS38に進む。
【0049】
ステップS38において、ハンド干渉判定部184は、選択したハンド姿勢候補におけるハンド140の各部の座標を算出する。次に、処理がステップS40に進むと、ハンド干渉判定部184は、現在の候補ワーク以外の他のワークと、ハンド140との間に干渉が生じるか否かを判定する。
【0050】
ステップS40において「No」(干渉は生じない)と判定されると、処理はステップS42に進み、ハンド干渉判定部184は、ハンド140とパレット16との間に干渉が生じるか否かを判定する。ステップS42において「No」(干渉は生じない)と判定されると、処理はステップS46に進む。ここでは、ハンド干渉判定部184は、選択したハンド姿勢候補の内容と、該候補によってはハンド干渉が生じない旨と、を呼び出し元のルーチン(図8のステップS14)に回答する。この回答が終了すると、本ルーチンの処理が終了する。
【0051】
一方、上述のステップS40またはS42の何れかにおいて「Yes」(ハンド干渉が生じる)と判定されると、処理はステップS44に進む。ここでは、ハンド干渉判定部184は、選択したハンド姿勢候補を、ハンド姿勢候補群の中から除外する。そして、ステップS34以降の処理が繰り返される。すなわち、ハンド干渉判定部184は、ハンド姿勢候補群の中から新たなハンド姿勢候補の選択を試行し、この新たなハンド姿勢候補に対して、上述したものと同様の処理を実行する。
【0052】
また、上述したステップS34においてハンド干渉判定部184がハンド姿勢候補群の中から一つのハンド姿勢候補の選択を試行した際、選択が成功しない場合もある。この場合は、上述のステップS36において「No」と判定され、処理はステップS48に進む。ステップS48において、ハンド干渉判定部184は、「現在の候補ワークにはハンド干渉が生じる」旨を、呼び出し元のルーチン(図8のステップS14)に回答する。この回答が終了すると、本ルーチンの処理が終了する。
【0053】
図11および図12は、ハンド140およびワーク15の各種配置関係の例を示す図である。特に、図11は、図10のステップS40に関係する配置関係を示す。
図11の状態ST22において、ワーク15-1が候補ワークとして選択されている。そして、仮にワーク15-1をハンド140がピックするのであれば、ハンド140は図中の破線で示す範囲に配置されることになる。しかし、この場合は、ハンド140の頂点P10付近と、ワーク15-2の頂点P20の付近と、が干渉する可能性が生じる。干渉が生じる場合、ハンド干渉判定部184は、ステップS40において「Yes」(干渉は生じる)と判定する。
【0054】
但し、ワーク15-2の上面の高さが、ワーク15-1の上面よりも充分に低い場合には、ハンド140とワーク15-2とに干渉は生じない。また、図11の状態ST24のように、図中の破線で示すハンド140の範囲に他のワークが存在しない場合には、ステップS40において、ハンド干渉判定部184は「No」(干渉は生じない)と判定する。
【0055】
より一般的に述べると、状態ST22に対するハンド干渉判定部184の判定処理は、次の通りになる。まず、候補ワーク(状態ST22ではワーク15-1)を把持するときに置かれるハンド140の平面視における頂点P10の座標を(P10X,P10Y)とし、頂点P10に対向する他の頂点P12の座標を(P12X,P12Y)とする。ハンド干渉判定部184は、候補ワーク以外の他のワーク(例えばワーク15-2)の四隅の各頂点について、「該頂点のX座標がP10X以上であってP12X以下、かつ該頂点のY座標がP10Y以上であってP12Y以下」という条件を満たすものを検索する。
【0056】
状態ST22の例では、ワーク15-2の頂点P20が、当該条件に該当する。次に、ハンド干渉判定部184は、ハンド140の側面吸着部144がワーク15-2に干渉するか否かを判定する。例えば、図12の状態ST26に示すように、上面吸着部142をワーク15-1の上面に衝合させたと仮定した場合に、側面吸着部144の下端部144aがワーク15-2の上面よりも下方に位置する場合、ハンド140およびワーク15-2には干渉が生じる。
【0057】
また、図12の状態ST28は、上述したステップS42において、ハンド干渉判定部184が「Yes」(干渉は生じる)と判定する場合の例である。上面吸着部142をワーク15-1の上面に衝合させたと仮定した場合に、側面吸着部144の下端部144aがパレット16の上面よりも下方に位置する場合、ハンド140およびパレット16には干渉が生じる。この場合、ワーク選択部183は、パレット16においてワーク15-1が残存している状態で、ワーク選択ルーチン(図8)のステップS24において「搬送可能なワークがないためワーク選択処理を終了する」旨をユーザに通知することになる。
【0058】
図13は、ワーク搬送ルーチンのフローチャートである。本ルーチンは、上述したように、ワーク選択ルーチン(図8)のステップS20において呼び出される。
図13において処理がステップS60に進むと、ワーク搬送部185は、搬送対象ワークを搬送する軌道を計画し、アームロボット110およびハンド140を搬送対象ワークの位置まで移動させる。その際、ハンド140の姿勢は、先にステップS46(図9参照)において干渉が生じないと判断されたハンド姿勢候補と同一の姿勢になる。
【0059】
次に、処理がステップS62に進むと、ワーク搬送部185は、搬送時障害物となる他のワーク、すなわち通常高さで軌道に干渉する他のワークの有無を検索する。より具体的には、アームロボット110が搬送対象ワークを所定の通常高さまで持ち上げて軌道に沿ってプレイス位置171まで運搬すると仮定した場合に、搬送対象ワークの底面よりも高い位置に上面が位置する他のワークが存在するか否かを判定する。
【0060】
次に、処理がステップS64に進むと、ステップS62の判定結果に基づいて処理が分岐する。すなわち、ワーク搬送部185が「Yes」(他のワークが存在する)と判定すると、処理はステップS66に進む。ステップS66において、ワーク搬送部185は、当該他のワークを回避できる高さまで、搬送対象ワークを持ち上げる。
【0061】
一方、ステップSS64においてワーク搬送部185が「No」(他のワークが存在しない)と判定すると、処理はステップS68に進む。ステップS68において、ワーク搬送部185は、上述した所定の通常高さまで、搬送対象ワークを持ち上げる。
【0062】
ステップS66またはS68において搬送対象ワークを持ち上げると、処理はステップS70に進む。ここでは、ワーク搬送部185は、プレイス位置171までアームロボット110を移動させ、プレイス位置171に搬送対象ワークを載置する。以上により、本ルーチンの処理が終了する。
【0063】
[第2実施形態]
図14は、第2実施形態によるデパレタイズシステム102の模式的な斜視図である。なお、以下の説明において、上述した第1実施形態の各部に対応する部分には同一の符号を付し、その説明を省略する場合がある。
第1実施形態のデパレタイズシステム100(図1参照)と同様に、本実施形態のデパレタイズシステム102は、アームロボット110と、カメラ120と、ハンド140と、ロボットコントローラ180と、を備えている。
【0064】
但し、本実施形態においては、ワーク群15Gを側方から撮影するカメラ130(図1参照)は設けられていない。従って、ロボットコントローラ180は、ワーク群15Gの上方のカメラ120からの画像データVHに基づいて、各ワーク15の状態等を認識する。上述した以外の本実施形態の構成は、第1実施形態のもの(図1図2参照)と同様である。
【0065】
図15は、第2実施形態におけるワーク認識ルーチンのフローチャートである。本ルーチンは、ユーザが所定の操作を行うことにより、ロボットコントローラ180において実行される。
図15において処理がステップS102に進むと、第1実施形態におけるステップS2(図4参照)と同様に、ワーク認識部181は、作成可能な範囲でワーク情報の管理テーブルDT(図3参照)を作成する。
【0066】
すなわち、ワーク認識部181は、上方からの画像データVHに基づいて、取得可能な範囲内で各ワーク15の上面の寸法情報を取得する。上方からの画像データVHに基づいて得られるワーク情報は、例えば、図6に示した認識結果DC12のものと同様になる。従って、ワーク認識部181は、認識結果DC12におけるワーク15-nに対して、幅Wnおよび奥行きDnを、管理テーブルDT(図3参照)に登録する。
【0067】
次に、処理がステップS104に進むと、第1実施形態におけるステップS8(図4参照)と同様に、ロボットコントローラ180は、死角補完処理ルーチン(図6)を実行する。これにより、管理テーブルDTのうち、画像データVHのみによっては得られなかったデータを補完することができる。但し、本実施形態においては、側方のカメラ130(図1参照)は設けられていないため、第1実施形態のものと比較すると、一般的には補完できるデータの範囲が少なくなる。
【0068】
図16は、本実施形態における動作説明図である。
図16におけるワーク群15G-Cには、4個のワーク15-1~15-4が含まれている。ワーク群15G-Cにおいては、先にワーク15-1をピックしない限り、ワーク15-2をピックすることはできない。その理由は、ワーク15-1を残したままワーク15-2をピックしようとすると、ワーク群15G-Cに荷崩れが生じ、ワーク15-1を損傷する可能性が生じるためである。上述したように、ロボットコントローラ180(図1参照)は、このワーク群15G-Cをカメラ120で撮影した画像データVHに基づいて、管理テーブルDTを生成する。
【0069】
図16に示すイメージIM-Cは、ワーク群15G-Cに対して作成された不適切なイメージの例である。イメージIM-Cには、2個のワーク15-1A,15-2Aが含まれているが、ワーク15-2Aは、ワーク15-1Aをピックせずともピック可能であるかのように見える。仮に、このワーク15-2Aを搬送対象ワークとして選択すると、荷崩れの可能性が生じる。
【0070】
そこで、本実施形態においては、側面方向の分離状態が不明である複数のワークが存在する場合には、上側に位置するワークは、常に下側に位置するワークの上に載置されているものと認識するようにしている。図16に示すイメージIM-Dは、本実施形態において採用されるイメージの一例であり、より具体的には管理テーブルDTの内容を視覚的なイメージとして示したものである。
【0071】
図示のように、本実施形態において、ワーク認識部181は、ワーク15-1Bがワーク15-2Bの上に載置されているものと認識して、管理テーブルDTを作成する。従って、ワーク15-1Bを搬送対象ワークとして選択してピックしようとすると、実際のワーク群15G-Cにおけるワーク15-1をピックすることができる。このように、本実施形態によれば、上方のカメラ120のみを用いる場合においても、各ワークの高さと、障害物の有無とをある程度補完することができる。これにより、ワーク群の荷崩れを防ぎ、安定で高速な運搬が可能となる。
【0072】
[実施形態の効果]
以上のように上述の実施形態によれば、デパレタイズシステム100,102は、複数のワーク15のうち、上面に他のワーク15が接していないものを候補ワークとして選択するワーク選択部183と、候補ワークに対してハンド140が取り得る姿勢の候補である複数のハンド姿勢候補の各々について、ハンド140と、候補ワーク以外のワーク15との間に干渉が生じるか否かを判定するハンド干渉判定部184と、ハンド干渉判定部184において、干渉が生じないハンド姿勢候補が存在する候補ワークを搬送対象ワークとして選択し、搬送対象ワークをプレイス位置171に搬送させるワーク搬送部185と、を備える。これにより、ハンド140と、候補ワーク以外のワーク15との間に干渉が生じる候補ワークを搬送対象ワークとして選択することを防止できるため、ワーク15を損傷させるリスクを低減することができ、適切にワークを取り扱うことができる。
【0073】
また、ワーク搬送部185は、搬送対象ワークとプレイス位置171との間に位置し、所定の条件を満たす他のワーク15を搬送時障害物として判定する機能と、搬送時障害物が存在する場合には、搬送時障害物の上面よりも搬送対象ワークの下面が高くなるように搬送対象ワークを持ち上げる機能と、搬送時障害物が存在しない場合には、搬送対象ワークを所定の高さまで持ち上げる機能と、を備えると一層好ましい。これにより、搬送対象ワークを適切な高さまで持ち上げることができるため、他のワークを損傷させるリスクを一層低減することができる。
【0074】
また、ハンド干渉判定部184は、ハンド140と、候補ワーク以外のワーク15との間に干渉が生じるか否かを、ハンド140を候補ワークに接触させることなく判定する機能を備えると一層好ましい。これにより、ハンド140を無駄に動かす事態を抑制することができ、安定して高速な搬送を実現できる。
【0075】
また、デパレタイズシステム100は、上方からワーク群15Gを撮影した第1の画像データ(VH)から得られた情報と、側方からワーク群15Gを撮影した第2の画像データ(VV)から得られた情報と、を統合して、各々のワーク15の寸法を認識するワーク認識部181をさらに備えると一層好ましい。これにより、上方および側方から見たワーク群15Gの状態に基づいて、ワーク群15Gの状態を一層正確に把握することができる。
【0076】
また、デパレタイズシステム100,102は、一のワーク15である判定対象ワークに対して、上方に、少なくとも一部が重なっている他のワーク15が存在しないことを必要条件として、判定対象ワークに対して障害物が存在しないと判定する死角補完部182をさらに備えると一層好ましい。これにより、上方に、少なくとも一部が重なっている他のワーク15が存在しない判定対象ワークの中から搬送対象を選択することができ、他のワーク15を損傷させるリスクを一層低減することができる。
【0077】
また、死角補完部182は、判定対象ワークに対して、上方に、少なくとも一部が重なっている他のワーク15が存在する場合には、判定対象ワークに対して障害物が存在すると判定すると一層好ましい。これにより、上方に、少なくとも一部が重なっている他のワーク15が存在する判定対象ワークを搬送対象から除外することができ、他のワーク15を損傷させるリスクを一層低減することができる。
【0078】
また、ワーク群15Gはパレット16に載置されるものであり、死角補完部182は、判定対象ワークの高さが不明である場合には、パレット16から判定対象ワークの上面までの距離であるパレット基準高さ(Hpt)、またはワーク15に許容される最大高さ(Hmax)を、判定対象ワークの高さであるとみなす機能を備えると一層好ましい。これにより、判定対象ワークの高さが不明であっても、適切な推定値を高さであるとみなすことができ、判定対象ワークを搬送対象ワークとして選択した場合に、搬送対象ワークが他のワーク15に衝突するリスクを低減できる。
【0079】
また、ハンド干渉判定部184は、ハンド140が取り得ない姿勢をハンド姿勢候補から除外する機能と、候補ワークの長辺15Lの幅Wと短辺15Sの奥行き(D)とが所定の関係を満たす場合に、ハンド140が短辺15Sに対向する姿勢をハンド姿勢候補から除外する機能と、ハンド140がパレット16に干渉する姿勢をハンド姿勢候補から除外する機能と、を備え、ワーク選択部183は、一または複数のワーク15がパレット16に残存している場合においても、ハンド140によって何れのワーク15も把持できない場合は、搬送処理を終了する旨の通知を出力すると一層好ましい。
【0080】
これにより、ハンド140の不適切な姿勢をハンド姿勢候補から除外することができ、ハンド140が搬送対象ワーク以外のワーク15に衝突するリスクを低減でき、さらに、ハンド140がパレット16に衝突するリスクも低減できる。また、一または複数のワーク15がパレット16に残存している場合においても、ハンド140によって何れのワーク15も把持できない場合は、その旨をユーザに通知することができる。
【0081】
[変形例]
本発明は上述した実施形態に限定されるものではなく、種々の変形が可能である。上述した実施形態は本発明を理解しやすく説明するために例示したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について削除し、もしくは他の構成の追加・置換をすることが可能である。また、図中に示した制御線や情報線は説明上必要と考えられるものを示しており、製品上で必要な全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。上記実施形態に対して可能な変形は、例えば以下のようなものである。
【0082】
(1)上記実施形態におけるロボットコントローラ180のハードウエアは一般的なコンピュータによって実現できるため、図4図6図8図9図13図15に示したフローチャート、その他上述した各種処理を実行するプログラム等を記憶媒体(プログラムを記録したコンピュータ読み取り可能な記録媒体)に格納し、または伝送路を介して頒布してもよい。
【0083】
(2)図4図6図8図9図13図15に示した処理、その他上述した各処理は、上記実施形態ではプログラムを用いたソフトウエア的な処理として説明したが、その一部または全部をASIC(Application Specific Integrated Circuit;特定用途向けIC)、あるいはFPGA(Field Programmable Gate Array)等を用いたハードウエア的な処理に置き換えてもよい。
【0084】
(3)上記実施形態において実行される各種処理は、図示せぬネットワーク経由でサーバコンピュータが実行してもよく、上記実施形態において記憶される各種データも該サーバコンピュータに記憶させるようにしてもよい。
【符号の説明】
【0085】
15 ワーク
15G ワーク群
15L 長辺
15S 短辺
16 パレット
100,102 デパレタイズシステム
102 デパレタイズシステム
110 アームロボット
140 ハンド
171 プレイス位置
181 ワーク認識部
182 死角補完部
183 ワーク選択部
184 ハンド干渉判定部
185 ワーク搬送部
W 幅
VH 画像データ(第1の画像データ)
VV 画像データ(第2の画像データ)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17