(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141224
(43)【公開日】2024-10-10
(54)【発明の名称】ロボット制御装置及びロボットシステム
(51)【国際特許分類】
B25J 13/08 20060101AFI20241003BHJP
B65G 1/137 20060101ALI20241003BHJP
【FI】
B25J13/08 A
B65G1/137 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023052746
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】吉村 健太郎
(72)【発明者】
【氏名】山内 雄太
(72)【発明者】
【氏名】高橋 英男
【テーマコード(参考)】
3C707
3F522
【Fターム(参考)】
3C707AS02
3C707BS09
3C707DS01
3C707EW01
3C707HS27
3C707KS03
3C707KT02
3C707KT06
3C707LS14
3C707LS15
3C707LT06
3C707MT01
3C707MT10
3C707NS05
3C707NS26
3C707NS28
3F522AA02
3F522BB01
3F522CC01
3F522FF02
3F522FF27
3F522FF35
3F522GG24
3F522GG45
3F522JJ04
3F522LL21
(57)【要約】
【課題】 特定エリア内に複数の物品を効率的に積み付ける。
【解決手段】 本発明のロボット制御装置は、積み付け管理部と、所定の積み付け作業部と、特定の積み付け作業部と、を備える。積み付け管理部は、ロボットにより複数の物品を特定領域に積み付ける作業の全体動作を制御し、物品の積み付け作業の開始命令を通知する。所定の積み付け作業部は、積み付け管理部からの開始命令を受けて、1つの物品に対する積み付け作業を制御する。また、所定の積み付け作業部は、積み付け作業の完了前で且つ積み付け作業で最初に行う所定の処理で利用される所定の装置が積み付け作業で利用済みとなった際に、所定の装置の利用済み情報を通知する。そして、特定の積み付け作業部は、所定の積み付け作業部からの所定の装置の利用済み情報を受けて、1つの物品に対する積み付け作業を開始する。
【選択図】
図19
【特許請求の範囲】
【請求項1】
ロボットにより複数の物品を特定領域に積み付ける作業の全体動作を制御し、前記物品の積み付け作業の開始命令を通知する積み付け管理部と、
前記積み付け管理部からの前記開始命令を受けて、1つの前記物品に対する積み付け作業を制御し、当該積み付け作業の完了前で、且つ、当該積み付け作業で最初に行う所定の処理で利用される所定の装置が当該積み付け作業で利用済みとなった際に、前記所定の装置の利用済み情報を通知する所定の積み付け作業部と、
前記所定の積み付け作業部からの前記所定の装置の利用済み情報を受けて、1つの前記物品に対する積み付け作業を開始する特定の積み付け作業部と、備える
ロボット制御装置。
【請求項2】
前記積み付け作業は、前記ロボットにより、搬送対象の物品が配置された所定領域から当該物品を取り出し、その後、当該物品を前記特定領域まで搬送する動作を含み、
前記所定の装置は、前記所定領域を撮影する撮像装置であり、
前記所定の積み付け作業部は、前記物品を搬送する動作の途中で、前記撮像装置の側から見て、前記ロボットと前記所定領域とが重ならない状況が発生した際に、前記所定の装置の利用済み情報を前記特定の積み付け作業部に通知する
請求項1に記載のロボット制御装置。
【請求項3】
前記所定の積み付け作業部の積み付け対象となる前記物品の種類は、前記特定の積み付け作業部の積み付け対象となる前記物品の種類と同じである
請求項2に記載のロボット制御装置。
【請求項4】
前記積み付け作業を構成する複数種の処理動作の各識別情報と、各処理動作で利用される装置との対応関係に関する特定情報が保存された利用装置情報保存部を、さらに備え、
前記所定の積み付け作業部は、前記特定情報に基づいて、前記所定の装置の利用済み情報を通知するか否かを判定する
請求項1に記載のロボット制御装置。
【請求項5】
前記積み付け作業を構成する複数種の処理動作の各識別情報と、前記物品、前記ロボット及び前記所定の装置の少なくとも1つの種別との対応関係に関する所定情報が保存された制御情報保存部を、さらに備える
請求項1に記載のロボット制御装置。
【請求項6】
前記積み付け管理部は、前記所定の積み付け作業部及び前記特定の積み付け作業部に対して同時に前記開始命令を通知し、
前記特定の積み付け作業部は、前記開始命令を受けてから前記所定の装置の利用済み情報を受けるまでの期間、待機処理を行う
請求項1に記載のロボット制御装置。
【請求項7】
前記特定の積み付け作業部は、前記所定の積み付け作業部からの前記所定の装置の利用済み情報を受け、且つ、前記所定の装置が利用可能である場合には、前記積み付け作業を開始する
請求項1に記載のロボット制御装置。
【請求項8】
複数の物品を特定領域に積み付ける作業を実行するロボット本体部と、
1つの前記物品に対する積み付け作業で最初に行う所定の処理で、搬送対象の前記物品が配置された所定領域を撮影する撮像部と、
前記ロボット本体部による前記複数の物品の積み付け作業の全体動作を制御し、前記物品の積み付け作業の開始命令を通知する積み付け管理部、前記積み付け管理部からの前記開始命令を受けて、1つの前記物品に対する積み付け作業を制御し、当該積み付け作業の完了前で、且つ、当該積み付け作業で前記撮像部が利用済みとなった際に、前記撮像部の利用済み情報を通知する所定の積み付け作業部、及び、前記所定の積み付け作業部からの前記撮像部の利用済み情報を受けて、1つの前記物品に対する積み付け作業を開始する特定の積み付け作業部を有するロボット制御部と、を備える
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置及びロボットシステムに関する。
【背景技術】
【0002】
従来、物流分野において、例えばコンベアやAGV(Automated Guided Vehicle)などにより、倉庫内で物品の搬送を行う機器が広く用いられている。また、近年、例えば電子商取引に伴う発送荷物数の増加、国内就業人口の減少等に伴い、物品の荷卸し作業や積み付け作業などを自動化するロボット(いわゆる、ピッキングロボット)の開発が進んでいる(例えば、特許文献1参照)。特許文献1には、複数台のロボット及び作業者により、複数の物品をハンドリングして処理するロボットシステムの技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、例えば電子商取引による通信販売や、食品卸における店舗配送などの用途では、一つの出荷容器に複数の荷物を積み付ける必要がある。しかしながら、特許文献1に開示の技術では、一つの出荷容器に複数の荷物を積み付けることは想定されていない。
【0005】
本発明は、上記課題を解決するためになされたものであり、本発明の目的は、例えば一つの出荷容器等の特定エリア内に、複数の物品(荷物)を効率的に積み付けることが可能なロボット制御装置及びロボットシステムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のロボット制御装置は、積み付け管理部と、所定の積み付け作業部と、特定の積み付け作業部と、を備える。積み付け管理部は、ロボットにより複数の物品を特定領域に積み付ける作業の全体動作を制御し、物品の積み付け作業の開始命令を通知する。所定の積み付け作業部は、積み付け管理部からの開始命令を受けて、1つの物品に対する積み付け作業を制御する。また、所定の積み付け作業部は、積み付け作業の完了前で且つ積み付け作業で最初に行う所定の処理で利用される所定の装置が積み付け作業で利用済みとなった際に、所定の装置の利用済み情報を通知する。そして、特定の積み付け作業部は、所定の積み付け作業部からの所定の装置の利用済み情報を受けて、1つの物品に対する積み付け作業を開始する。
【0007】
また、上記課題を解決するために、本発明のロボットシステムは、ロボット本体部と、撮像部と、ロボット制御部とを備える。ロボット本体部は、複数の物品を特定領域に積み付ける作業を実行し、撮像部は、1つの物品に対する積み付け作業で最初に行う所定の処理で、搬送対象の物品が配置された所定領域を撮影する。そして、ロボット制御部は、前記本発明のロボット制御装置と同様の構成を有する。
【発明の効果】
【0008】
上記構成の本発明によれば、例えば一つの出荷容器等の特定エリア内に、複数の物品を効率的に積み付けることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係るピッキングロボットを使用した物品積み付けシステムの概略構成図である。
【
図2】本発明の一実施形態に係る物品積み付けシステムのブロック構成図である。
【
図3】本発明の一実施形態に係るロボットコントローラの機能ブロック図である。
【
図4】本発明の一実施形態に係る物品積み付けシステムで受け付ける発注伝票のデータ構成例を示す図である。
【
図5】本発明の一実施形態に係るロボットコントローラにおいて生成される積み付け作業全体の制御計画テーブルの構成例を示す図である。
【
図6】本発明の一実施形態に係るロボットコントローラにより実行される各種作業タスクと、各作業タスクに割り当てられるコアCPUの種別との対応関係を示す図である。
【
図7】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照される利用装置情報テーブルの構成例を示す図である。
【
図8】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照される商品種別毎動作IDテーブルの構成例を示す図である。
【
図9】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照される保管容器用カメラ種別毎動作IDテーブルの構成例を示す図である。
【
図10】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照される出荷容器用カメラ種別毎動作IDテーブルの構成例を示す図である。
【
図11】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるハンド種別毎ピッキング動作IDテーブルの構成例を示す図である。
【
図12】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるアーム種別毎保持上昇動作IDテーブルの構成例を示す図である。
【
図13】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるアーム種別毎保持搬送動作IDテーブルの構成例を示す図である。
【
図14】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるアーム種別毎保持下降動作IDテーブルの構成例を示す図である。
【
図15】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるハンド種別毎プレース動作IDテーブルの構成例を示す図である。
【
図16】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるアーム種別毎非保持上昇動作IDテーブルの構成例を示す図である。
【
図17】本発明の一実施形態に係る物品の積み付け作業タスクにおいて参照されるアーム種別毎非保持搬送動作IDテーブルの構成例を示す図である。
【
図18】従来の物品積み付けシステムによる複数の物品の積み付け作業の制御動作例を示す図である。
【
図19】本発明の一実施形態に係る物品積み付けシステムによる複数の物品の積み付け作業の制御動作例を示す図である。
【
図20】本発明の一実施形態に係る物品の積み付け作業タスクの処理手順を示すフローチャートである。
【
図21】本発明の一実施形態に係る物品の積み付け作業タスクで行われる保管容器撮影の処理手順を示すフローチャートである。
【
図22】本発明の一実施形態に係る物品の積み付け作業タスクで行われる出荷容器撮影の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本発明の一実施形態に係るロボット制御装置及びロボットシステムについて、図面を参照しながら具体的に説明する。
【0011】
[物品積み付けシステム及びピッキングロボットの構成]
図1は、本発明の一実施形態に係るピッキングロボットを使用した物品積み付けシステムの概略構成図である。なお、
図1には、ピッキングロボットによる物品の積み付け作業に必要な構成部のみを示す。また、
図1中の破線矢印で示す動作は、ピッキングロボット2により1個の物品10の積み付け作業を行う際の物品10の搬送動作である。
【0012】
物品積み付けシステム1は、
図1に示すように、ピッキングロボット2と、ピッキングロボット2による物品10の積み付け作業に利用される各種周辺機器とを備える。
図1に示す例では、周辺機器として、保管容器撮影用カメラ3、出荷容器撮影用カメラ4、保管容器5、保管容器用コンベア6、出荷容器7及び出荷容器用コンベア8が設けられる。なお、本実施形態では、ピッキングロボット2と、保管容器撮影用カメラ3と、出荷容器撮影用カメラ4とで、ロボットシステム11が構成される(後述の
図2参照)。
【0013】
ピッキングロボット2は、ロボットアーム21と、ロボットハンド22と、ロボットコントローラ23(ロボット制御装置、ロボット制御部)と、を有する。なお、ロボットアーム21及びロボットハンド22でロボット本体部を構成する。
【0014】
ロボットアーム21は、複数の関節を有し、各関節に設けられたモータを駆動することにより、ロボットアーム21の姿勢を変更し、物品10を保管容器5から出荷容器7へ搬送する。
【0015】
ロボットハンド22は、ロボットアーム21の先端部に取り付けられており、物品10に対するピッキング動作(取り出し動作)により物品10を保持する。ロボットハンド22は、物品10を吸着して保持するための吸着パッド、及び/又は、物品10を把持して保持するための把持機構部を備える。なお、
図1では、説明を簡略化するため、ロボットハンド22には、吸着パッドのみを示し、把持機構部の図示を省略する。
【0016】
なお、後述の積み付け作業タスクの開始前や終了時などのピッキングロボット2の非作動時には、ロボットハンド22は所定の初期位置に配置され、ロボットアーム21は初期姿勢で待機する。この際、ロボットアーム21の初期姿勢及びロボットハンド22の初期位置は、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4側から見て、ピッキングロボット2が保管容器5及び出荷容器7と重ならないように適宜設定される。また、ロボットアーム21の初期姿勢及びロボットハンド22の初期位置は、保管容器5及び出荷容器7の搬送動作に影響を与えないように設定される。
【0017】
ロボットコントローラ23は、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3、出荷容器撮影用カメラ4、保管容器用コンベア6及び出荷容器用コンベア8に電気的に接続される。そして、物品10の積み付け作業の実行時には、ロボットコントローラ23は、これらの接続構成部に対してそれぞれ制御信号(指示信号)を出力し、物品積み付けシステム1の動作全体を制御する。
【0018】
保管容器撮影用カメラ3は、保管容器用コンベア6により物品10のピッキング位置に搬送された保管容器5の上方で且つピッキングロボット2の動作に影響を与えない位置に固定して配置される。保管容器撮影用カメラ3は、物品10のピッキング動作が行われる位置に搬送された保管容器5の内部全体を撮影する。すなわち、保管容器撮影用カメラ3は、保管容器5内の物品10の保管状況を撮影する。
【0019】
出荷容器撮影用カメラ4は、出荷容器用コンベア8により物品10のプレース位置に搬送された出荷容器7の上方で且つピッキングロボット2の動作に影響を与えない位置に固定して配置される。出荷容器撮影用カメラ4は、物品10のプレース動作が行われる位置に搬送された出荷容器7の内部全体を撮影する。すなわち、出荷容器撮影用カメラ4は、出荷容器7内の物品10の積み付け(載置)状況を撮影する。
【0020】
なお、出荷容器撮影用カメラ4は、保管容器撮影用カメラ3と同じでもよいし、異なっていてもよい。保管容器撮影用カメラ3の撮影画像は、主に、保管容器5内のピッキング対象の物品10及びその配置位置を特定するために用いられる。一方、出荷容器撮影用カメラ4の撮影画像は、出荷容器7内において物品10のプレース可能な位置を特定するために用いられる。すなわち、出荷容器撮影用カメラ4の撮影画像では、出荷容器7内において物品10が載置されていない空きスペースを特定できればよいので、出荷容器撮影用カメラ4としては、保管容器撮影用カメラ3より例えば解像度等の性能が低いカメラを用いることができる。この場合、安価なカメラを出荷容器撮影用カメラ4として用いることができるので、ロボットシステム11の低価格化を図ることができる。
【0021】
保管容器5(所定領域)は、同じ種別の複数の物品10を保管可能な容器である。保管容器5は、未使用時には、例えば保管棚(不図示)などの所定の場所に保管される。なお、
図1に示す例では、箱状の保管容器5を示すが、保管容器5の形状は、例えば保管対象の物品10の種別、形状、寸法等に応じて任意に変更することができる。
【0022】
保管容器用コンベア6は、ロボットコントローラ23から入力される保管容器5のセット指示信号に応じて、出荷対象となる種類の物品10が保管された保管容器5をその保管場所からピッキングロボット2によるピッキング動作が行われる位置に搬送する。また、保管容器用コンベア6は、ロボットコントローラ23から入力される保管容器5の入替指示信号に応じて、利用済みの保管容器5を対応する保管場所に搬送し、その後、次の積み付け作業で利用する保管容器5をピッキング動作が行われる位置に搬送する。
【0023】
出荷容器7(特定領域)は、出荷対象の物品10を積み付けるための容器である。本実施形態では、一つの出荷容器7に、同じ種別の複数の物品10の積み付けが可能であるだけでなく、異なる種別の複数の物品10の積み付けも可能である。なお、
図1に示す例では、箱状の出荷容器7を示すが、出荷容器7の形状は、例えば積み付け対象の物品10の種別、形状、寸法等に応じて任意に変更することができる。
【0024】
出荷容器用コンベア8は、ロボットコントローラ23から入力される出荷容器7のセット指示信号に応じて、物品10が積み付けられる所定の出荷容器7をピッキングロボット2によるプレース動作が行われる位置に搬送する。また、出荷容器用コンベア8は、物品10の積み付け作業終了時にロボットコントローラ23から入力される出荷容器7の出荷指示信号に応じて、1以上の物品10が積みつけられた出荷容器7を積み付け工程の次工程が行われる位置に搬送する。なお、この際、出荷指示信号に出荷容器7の入替指示情報が含まれる場合には、出荷容器用コンベア8は、物品10の積み付け済みの出荷容器7を次工程に搬送した後、次の積み付け作業で使用する出荷容器7をプレース動作が行われる位置に搬送する。
【0025】
[物品積み付けシステムの内部構成]
図2は、物品積み付けシステム1及びロボットシステム11のハードウェア構成を示すブロック図である。ロボットシステム11は、
図2に示すように、ロボットアーム21と、ロボットハンド22と、ロボットコントローラ23と、保管容器撮影用カメラ3と、出荷容器撮影用カメラ4と、を有する。ロボットコントローラ23は、マルチコアプロセッサ231と、メモリ232と、通信インターフェース部233と、有する。また、
図2では図示を省略するが、ロボットコントローラ23内では、マルチコアプロセッサ231、メモリ232及び通信インターフェース部233は、バスを介して互いに接続される。
【0026】
マルチコアプロセッサ231は、物品積み付けシステム1で行う各種作業をソフトウェアで実行する演算処理装置である。マルチコアプロセッサ231は、複数のCPUコアを有し、本実施形態では、4個のCPUコア(第1コア231A~第4コア231D)を有する例を説明する。なお、本発明はこれに限定されず、マルチコアプロセッサ231として、3個以上で且つ4個以外の個数のCPUコアを有するマルチコアプロセッサを用いてもよい。
【0027】
メモリ232は、図示しないが、ROM(Read Only Memory)及びRAM(Random Access Memory)を含んで構成される。ROMには、物品積み付けシステム1で行う各種作業を実行するための各種プログラムや各種データ(テーブル)が保存される。RAMは、各種プログラムの実行時の作業領域を有し、RAMには、物品積み付けシステム1で行う各種作業の演算処理に必要なプログラムコードだけでなく、演算処理の途中に発生した変数やパラメータなども一時的に書き込まれる。
【0028】
通信インターフェース部233は、外部機器との通信を実施する。本実施形態では、通信インターフェース部233は、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4に接続される。また、通信インターフェース部233は、保管容器用コンベア6及び出荷容器用コンベア8に接続される。
【0029】
すなわち、本実施形態では、ロボットコントローラ23のマルチコアプロセッサ231は、通信インターフェース部233を介してロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4に接続される。また、マルチコアプロセッサ231は、通信インターフェース部233を介して保管容器用コンベア6及び出荷容器用コンベア8に接続される。それゆえ、物品10の積み付け作業の実行時には、マルチコアプロセッサ231は、通信インターフェース部233を介してロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4にそれぞれ制御信号を出力する。また、物品10の積み付け作業の実行時には、マルチコアプロセッサ231は、通信インターフェース部233を介して保管容器用コンベア6及び出荷容器用コンベア8にそれぞれ制御信号を出力する。
【0030】
[ロボットコントローラの機能ブロックの構成]
図3は、ロボットコントローラ23の機能ブロック構成図である。なお、ここでは、説明を簡略化するため、物品10の積み付け作業時の動作制御に関わる機能ブロック部のみを示す。なお、
図3に示すロボットコントローラ23内の各機能ブロック部の処理は、マルチコアプロセッサ231により実行される。すなわち、
図3に示すロボットコントローラ23内の各機能ブロック部は、機能上、マルチコアプロセッサ231に含まれる。
【0031】
ロボットコントローラ23(マルチコアプロセッサ231)は、
図3に示すように、機能上、オペレーティングシステム234と、ロボット制御アプリケーション235とを有する。オペレーティングシステム234は、ロボット制御アプリケーション235の処理を実行するための基本ソフトウェアである。ロボット制御アプリケーション235は、物品積み付けシステム1及びロボットシステム11による積み付け作業の動作を制御するためのソフトウェアアプリケーションである。
【0032】
ロボット制御アプリケーション235は、積み付け管理タスク235Aと、第1積み付け作業タスク235Bと、第2積み付け作業タスク235Cと、第3積み付け作業タスク235Dと、利用装置情報保存部235Eと、制御情報保存部235Fとを有する。
【0033】
積み付け管理タスク235A(積み付け管理部)は、複数個の物品10の積み付け作業の進捗状況を管理して、積み付け作業全体を制御するためのタスク(処理プログラム)である。本実施形態では、積み付け管理タスク235Aはマルチコアプロセッサ231内の第1コア231Aに割り当てられ、積み付け管理タスク235Aの処理は、マルチコアプロセッサ231内の第1コア231Aを使用して実行される。
【0034】
第1積み付け作業タスク235B~第3積み付け作業タスク235Dのそれぞれは、1個の物品10に対する積み付け作業の実行処理を制御するためのタスク(処理プログラム)である。本実施形態では、第1積み付け作業タスク235B~第3積み付け作業タスク235Dは、それぞれ、マルチコアプロセッサ231内の第2コア231B~第4コア231Dに割り当てられる。それゆえ、第1積み付け作業タスク235B~第3積み付け作業タスク235Dの処理は、それぞれ、マルチコアプロセッサ231内の第2コア231B~第4コア231Dを使用して実行される。また、本実施形態では、第1積み付け作業タスク235B~第3積み付け作業タスク235Dは、処理機能上、積み付け管理タスク235Aに接続される。さらに、第1積み付け作業タスク235B~第3積み付け作業タスク235Dの積み付け作業タスク間もまた、処理機能上、互いに接続され、積み付け作業タスク間で情報の入出力(以下、「タスク間通信」と称する)が可能である。
【0035】
利用装置情報保存部235Eは、積み付け作業タスクを構成する各種処理動作と、各処理動作で利用する装置(以下、「利用装置」と称する)との対応関係に関する情報を保存する。なお、利用装置情報保存部235Eで保存対象となる利用装置に関する情報は、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3、出荷容器撮影用カメラ4、保管容器5及び出荷容器7の利用状況に関する情報である(後述の
図7参照)。利用装置情報保存部235Eに保存される情報(データ)の構成については、後で図面を参照しながら詳述する。
【0036】
制御情報保存部235Fは、ロボット制御アプリケーション235により実行される複数の物品10の積み付け作業において参照又は使用される各種データ(テーブル等)を保存する。例えば、積み付け作業の各種動作計画データ、動作計画データを生成する際に参照される物品10の種別毎の各種制御情報、ロボットアーム21の種別毎の各種制御情報、ロボットハンド22の種別毎の各種制御情報等が、制御情報保存部235Fに保存される。なお、制御情報保存部235Fに保存される各種情報(データ)の構成については、後で図面を参照しながら詳述する。
【0037】
本実施形態では、ロボットコントローラ23に含まれる各種機能ブロック部の処理機能をソフトウェアで実現する例を説明したが、本発明はこれに限定されない。例えば、ロボット制御アプリケーション235に含まれる各種機能ブロック部のうちの一部又は全てをハードウェアで構成してもよい。
【0038】
ここで、物品積み付けシステム1による複数の物品10の積み付け作業の動作概要を説明する。なお、ここでは、同じ種類の3個の物品10を連続して出荷容器7に積み付ける場合で、且つ、第1積み付け作業タスク235B~第3積み付け作業タスク235Dのそれぞれにおいて1個の物品10に対する積み付け作業が行われる場合を考える。
【0039】
上記場合において、その一連の積み付け作業開始時には、積み付け管理タスク235Aから第1積み付け作業タスク235B~第3積み付け作業タスク235Dに積み付け作業の開始指令が出される。すなわち、当該一連の積み付け作業開始時には、第1積み付け作業タスク235B~第3積み付け作業タスク235Dが同時に起動され、第1積み付け作業タスク235B~第3積み付け作業タスク235Dの並列処理が開始される。ただし、本実施形態では、第1積み付け作業タスク235Bは、積み付け作業開始時から処理が開始されるが、第2積み付け作業タスク235C及び第3積み付け作業タスク235Cの処理は、実質開始されない。
【0040】
第2積み付け作業タスク235Cの処理は、第1積み付け作業タスク235Bの処理途中に、第1積み付け作業タスク235Bから、第2積み付け作業タスク235Cの開始可能情報が通知された場合に開始される。それゆえ、積み付け作業の開始指令の入力時に第2積み付け作業タスク235Cは起動されるが、積み付け作業の開始指令の入力時から第1積み付け作業タスク235Bからの開始可能情報の入力時までの期間、第2積み付け作業タスク235Cは待機状態となる。すなわち、第2積み付け作業タスク235C(特定の積み付け作業部)は、実質、第1積み付け作業タスク235B(所定の積み付け作業部)の後続タスクとして実行される。
【0041】
また、第3積み付け作業タスク235Dの処理は、第2積み付け作業タスク235Cの処理途中に、第2積み付け作業タスク235Cから、第3積み付け作業タスク235Dの開始可能情報が通知された場合に開始される。それゆえ、積み付け作業の開始指令の入力時に第3積み付け作業タスク235Dは起動されるが、積み付け作業の開始指令の入力時から第2積み付け作業タスク235Cからの開始可能情報の入力時までの期間、第3積み付け作業タスク235Dは待機状態となる。すなわち、第3積み付け作業タスク235D(特定の積み付け作業部)は、実質、第2積み付け作業タスク235C(所定の積み付け作業部)の後続タスクとして実行される。
【0042】
上述のように、本実施形態の物品積み付けシステム1による複数の物品10の積み付け作業では、先行の積み付け作業タスクが完了する前に、後続の積み付け作業タスクが開始される。それゆえ、本実施形態では、例えば、先行の積み付け作業タスクが完了した後に後続の積み付け作業タスクが開始するような複数の物品10の積み付け作業に比べて、作業スループットを向上させることができる。すなわち、本実施形態の物品積み付けシステム1による複数の物品10の積み付け作業では、例えば、複数の積み付け作業タスクを逐次的に実行する構成に比べて、複数の荷物をより効率的に積み付けることができる。
【0043】
[物品積み付けシステムによる物品の積み付け作業の具体例]
以下、本実施形態の物品積み付けシステム1を使用した複数の物品10の積み付け作業の詳細な制御内容を、具体例を挙げて説明する。いま、一つの出荷容器7に、クッキーが入った箱を3箱、緑茶が入ったPET(Polyethylene terephthalate)ボトルを2本及び袋麺を4袋、まとめて積み付けて出荷する場合を考える。
【0044】
<発注伝票のデータ構成例>
この場合、まず、出荷対象の複数種の商品(物品10)を示す発注伝票のデータが、物品積み付けシステム1のロボットコントローラ23に入力される。
図4は、発注伝票のデータ(テーブル)の構成例を示す図である。発注伝票のテーブルでは、
図4に示すように、各商品(物品10)に対して、商品のID(Identification)情報(以下、「商品ID」と称す)、商品名及び出荷個数が対応付けられる。
【0045】
図4に示す例では、クッキーの商品ID「101」に対して、商品名「クッキー」及び出荷個数「3」が対応付けられる。緑茶の商品ID「102」に対しては、商品名「緑茶PET」及び出荷個数「2」が対応付けられる。また、袋麺の商品ID「103」に対しては、商品名「袋麺」及び出荷個数「4」が対応付けられる。
【0046】
なお、本実施形態では、入力された発注伝票のテーブル(データ)は、ロボット制御アプリケーション235の制御情報保存部235F(
図3参照)に保存される。しかし、本発明はこれに限定されず、例えば、ロボット制御アプリケーション235内に発注伝票用の保存部を別途設け、当該保存部に発注伝票のデータを保存してもよい。
【0047】
<積み付け作業全体の制御計画データの構成例>
発注伝票のデータがロボットコントローラ23に入力されると、ロボットコントローラ23は、入力された発注伝票のデータに基づいて、複数の物品10に対する積み付け作業の全体を制御するための計画データを作成する。具体的には、ロボットコントローラ23は、発注伝票で指定された3種類の商品(物品10)の積み付け作業を完了するための制御計画データを作成する。
【0048】
図5は、積み付け作業全体の制御計画データ(テーブル)の構成例を示す図である。積み付け作業全体の制御計画テーブルでは、
図5に示すように、積み付け管理タスク235A及び第1積み付け作業タスク235B~第3積み付け作業タスク235Dにより実行される各種作業タスクのID情報(以下、「作業タスクID」と称す)が規定される。この際、作業タスクIDは、図面上において、積み付け作業全体の制御計画テーブルの上から、作業タスクの実行順に規定される。
【0049】
また、積み付け作業全体の制御計画テーブルでは、各作業タスクIDに対して商品ID、保管容器5のID情報(以下、「保管容器ID」と称す)及び出荷容器7のID情報(以下、「出荷容器ID」と称す)が対応付けられて規定される。
図5中の「備考」欄には、参考のため、各作業タスクIDの処理内容も記載する。なお、積み付け作業全体の制御計画テーブルでは、積み付け管理タスク235Aにより実行される各種作業タスク(図中の作業タスクID「#A」~「#E」)に対しては作業タスクIDのみが規定される。
【0050】
また、本実施形態では、生成された積み付け作業全体の制御計画テーブルは、ロボット制御アプリケーション235の制御情報保存部235F(
図3参照)に保存される。しかし、本発明はこれに限定されず、例えば、ロボット制御アプリケーション235内に、積み付け作業全体の制御計画テーブルを保存するための保存部を別途設け、当該保存部に積み付け作業全体の制御計画テーブルを保存してもよい。
【0051】
積み付け作業全体の制御計画テーブルにおいて規定する保管容器ID「501」の保管容器5は、商品ID「101」のクッキー(箱)の保管容器である。保管容器ID「502」の保管容器5は、商品ID「102」の緑茶PET(ボトル)の保管容器である。保管容器ID「503」の保管容器5は、商品ID「103」の袋麺(袋)の保管容器である。また、積み付け作業全体の制御計画テーブルにおいて規定する出荷容器ID「701」の出荷容器7は、3箱のクッキー(箱)、2本の緑茶PET(ボトル)及び4袋の袋麺(袋)をまとめて積み付ける出荷容器である。
【0052】
積み付け作業全体の制御計画テーブルにおいて規定される作業タスクID「#A」の処理は、保管容器ID「501」の保管容器5及び出荷容器ID「701」の出荷容器7のセット処理である。この処理では、物品10のピッキング動作が行われる位置に保管容器5をセット(搬送)し、物品10のプレース動作が行われる位置に出荷容器7をセット(搬送)する。作業タスクID「#1」~「#3」の各処理は、商品ID「101」のクッキー(箱)を1箱、保管容器ID「501」の保管容器5から取り出して搬送し、出荷容器ID「701」の出荷容器7に積み付ける処理である。
【0053】
積み付け作業全体の制御計画テーブルにおいて規定される作業タスクID「#B」の処理は、保管容器5の入替動作処理である。この処理では、クッキー(箱)の保管容器5(保管容器ID「501」)を元の保管場所に戻し、その後、緑茶PET(ボトル)の保管容器5(保管容器ID「502」)を物品10のピッキング動作が行われる位置に搬送する。作業タスクID「#4」及び「#5」の各処理は、商品ID「102」の緑茶PET(ボトル)を1本、保管容器ID「502」の保管容器5から取り出して搬送し、出荷容器ID「701」の出荷容器7に積み付ける処理である。
【0054】
積み付け作業全体の制御計画テーブルにおいて規定される作業タスクID「#C」の処理は、保管容器5の入替動作処理である。この処理では、緑茶PET(ボトル)の保管容器5(保管容器ID「502」)を元の保管場所に戻し、その後、袋麺(袋)の保管容器5(保管容器ID「503」)を物品10のピッキング動作が行われる位置に搬送する。作業タスクID「#6」~「#9」の各処理は、商品ID「103」の袋麺(袋)を1袋、保管容器ID「503」の保管容器5から取り出して搬送し、出荷容器ID「701」の出荷容器7に積み付ける処理である。
【0055】
また、積み付け作業全体の制御計画テーブルにおいて規定される作業タスクID「#D」の処理は、保管容器5の返却動作処理である。この処理では、袋麺(袋)の保管容器5(保管容器ID「503」)を元の保管場所に戻す。また、作業タスクID「#E」の処理は、発注伝票で指定された商品の積み付け作業が完了した出荷容器ID「701」の出荷容器7の出荷動作処理である。この処理では、積み付け作業が完了した出荷容器7を積み付け作業の次工程が行われる位置に搬送する。
【0056】
上述のように、
図5に示す物品10の積み付け作業の例では、積み付ける物品10の種別毎に連続して、物品10を出荷容器7に積み付ける。
【0057】
<各作業タスクと、使用するコアCPUの種別との対応関係>
図6は、作業タスクID「#A」~「#E」及び「#1」~「#9」の各作業タスクと、各作業タスクに割り当てられるコアCPUの種別との対応関係を示す図である。なお、
図6には、参考のため、各作業タスクIDの処理内容も記載する。
【0058】
作業タスクID「#A」~「#D」の作業タスクには、
図6に示すように、第1コア231Aが割り当てられる。すなわち、作業タスクID「#A」~「#D」の作業タスクは、積み付け管理タスク235Aで実行される。
【0059】
作業タスクID「#1」~「#3」の作業タスク(クッキー(箱)の積み付け作業タスク)には、それぞれ、第2コア231B~第4コア231Dが割り当てられる。すなわち、作業タスクID「#1」~「#3」の作業タスクは、それぞれ、第1積み付け作業タスク235B~第3積み付け作業タスク235Dで実行される。
【0060】
作業タスクID「#4」及び「#5」の作業タスク(緑茶PET(ボトル)の積み付け作業タスク)には、それぞれ、第2コア231B及び第3コア231Cが割り当てられる。すなわち、作業タスクID「#4」及び「#5」の作業タスクは、それぞれ、第1積み付け作業タスク235B及び第2み付け作業タスク235Cで実行される。
【0061】
また、作業タスクID「#6」~「#8」の作業タスク(袋麺(袋)の積み付け作業タスク)には、それぞれ、第2コア231B~第4コア231Dが割り当てられる。そして、作業タスクID「#9」の作業タスク(袋麺(袋)の積み付け作業タスク)には、当該作業タスクの開始時に作業が終了している作業タスクで使用していたCPUコアを割り当てる。
図6に示す例では、作業タスクID「#9」には、作業タスクID「#6」で使用した第2コア231Bを割り当てる。すなわち、作業タスクID「#6」~「#8」の作業タスクは、それぞれ、第1積み付け作業タスク235B~第3積み付け作業タスク235Dで実行され、作業タスクID「#9」の作業タスクは、第1積み付け作業タスク235Bで実行される。
【0062】
各作業タスクIDに対して上述のようなCPUコアの割り当てを行った場合、例えば、同じ積み付け作業タスク内で画像データやアーム軌道データなどの大量データの処理や転送を行うことができ、その処理時間や処理負荷を低減することができる。
【0063】
なお、作業タスクID「#6」~「#9」のように、並列処理対象の作業タスク数が並列処理可能なCPUコアの数より大きい場合のCPUコアの割り当て態様は、
図6に示す例に限定されない。例えば、まず、作業タスクID「#6」及び「#7」の作業タスクに対して、それぞれ、第2コア231B及び第3コア231Cを割り当てる。そして、その後、作業タスクID「#8」及び「#9」の作業タスクに対して、それぞれ、第2コア231B及び第3コア231Cを割り当ててもよい。このようなCPUコアの割り当て態様を採用した場合、実際に並列処理されるCPUコアの数が3つから2つに減るので、マルチコアプロセッサ231の処理負荷を軽減させることができる。
【0064】
<利用装置情報テーブルのデータ構成例>
図7は、利用装置情報保存部235E(
図3参照)に保存される利用装置情報テーブルのデータ構成例を示す図である。利用装置情報テーブル(特定情報)では、1個の物品10に対する積み付け作業タスクを構成するロボットシステム11の各種処理動作と、各処理動作での利用装置の情報との対応関係を規定する。
【0065】
具体的には、利用装置情報テーブルは、
図7に示すように、積み付け作業タスクを構成する各処理動作のID情報(以下、「動作ID」と称す)と、各処理動作に関わる利用装置(利用デバイス)の利用又は干渉状態を示す情報との対応関係を規定する。なお、利用装置情報テーブルに規定の利用装置は、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3、出荷容器撮影用カメラ4、保管容器5及び出荷容器7である。また、
図7には、説明の便宜上、動作IDに対応する動作名称も記載する。
【0066】
利用装置情報テーブルでは、1個の物品10に対する積み付け作業タスクを構成する各処理動作の動作ID「901」~「912」が、図面上において、上から、処理動作の実行順に規定される。なお、利用装置情報テーブルで規定される動作ID「901」~「912」の各処理動作は、
図5に示す積み付け作業全体の制御計画テーブル中の作業タスクID「#1」~「#9」の各積み付け作業タスクを構成する処理動作である。
【0067】
また、利用装置情報テーブルでは、
図7中の「利用装置」欄に示すように、物品10の積み付け作業を構成する各処理動作に対して利用状態となる利用装置を黒丸印で示し、干渉状態となる利用装置を白丸印で示す。ここでいう「利用状態」とは、積み付け作業の各処理動作の実行時に対応する利用装置が実際に利用されている状態のことである。
【0068】
一方、ここでいう「干渉状態」とは、物品10の積み付け作業において、ピッキングロボット2(ロボットアーム21及びロボットハンド22)が保管容器撮影用カメラ3から保管容器5への撮影線上に存在する状態のことである。また、物品10の積み付け作業において、ピッキングロボット2が出荷容器撮影用カメラ4から出荷容器7への撮影線上に存在する状態もまた「干渉状態」と称す。すなわち、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重なって見える状態、及び、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重なって見える状態が干渉状態となる。そして、前者の干渉状態では、保管容器撮影用カメラ3が干渉状態にあるとし、後者の干渉状態では、出荷容器撮影用カメラ4が干渉状態にあるとする。それゆえ、
図7に示す利用装置情報テーブルでは、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4に対してのみ干渉状態(白丸印)が規定される。
【0069】
なお、利用装置情報テーブルは、積み付け作業タスクにおいて、当該積み付け作業中に利用又は干渉が完了した装置に関する情報を後続の積み付け作業タスクに通知する際、すなわち、タスク間通信を行う際に参照される。具体的には、まず、利用装置情報テーブルを参照し、実行中の処理動作で利用状態又は干渉状態にある利用装置について、次に実施される処理動作で当該利用装置の利用状態又は干渉状態が終了(解消)しているか否かを判定する。そして、次に実施される処理動作で当該利用装置の利用状態又は干渉状態が終了している場合には、当該実行中の処理動作の終了後に当該利用装置に関する情報を後続の積み付け作業タスクに通知する。この構成を設けた場合、タスク間通信で通知する利用装置に関する情報の通知タイミングや種別などを、利用装置情報テーブルを参照するだけで容易に特定(判定)することができるので、タスク間通信の処理が簡易になり、積み付け作業タスクの処理も簡易になる。
【0070】
次に、利用装置情報テーブルで規定される動作ID「901」~「912」の各処理動作の内容を説明する。なお、各動作IDで規定される各処理動作の実行時に必要となる、処理プログラム、各種データ(ロボットアーム21及びロボットハンド22の各種駆動データも含む)等は、ロボットコントローラ23のメモリ232(ROM)に格納されている。また、この際、これらの各種データは、対応する動作IDに紐付けられてメモリ232に格納されている。そして、各動作IDの処理動作の実行指示指令が出されると、当該動作IDに紐付けられた処理プログラム、各種データが呼び出されて実行される。なお、以下に説明する物品10の積み付け作業の各処理動作は、マルチコアプロセッサ231内の対応するCPUコアにより制御される。
【0071】
(1)保管容器撮影(動作ID「901」)
動作ID「901」の処理動作は、「保管容器撮影」と称する処理動作である。保管容器撮影では、保管容器撮影用カメラ3により保管容器5の内部全体、すなわち、保管容器5内における物品10の保管状況を撮影する。それゆえ、保管容器撮影(所定の処理)では、
図7に示すように、保管容器撮影用カメラ3(所定の装置、撮像装置、撮像部)及び保管容器5が利用状態となる。なお、本実施形態では、後述するように、保管容器撮影の動作IDは、撮影対象の物品10の種別及び保管容器撮影用カメラ3の種別に応じで変わる(後述の
図8及び
図9参照)。
【0072】
(2)ピッキング動作計画(動作ID「902」)
動作ID「902」の処理動作は、「ピッキング動作計画」と称する処理動作である。ピッキング動作計画では、まず、保管容器撮影(動作ID「901」)で得られた撮影画像から保管容器5内における物品10の保管状況を認識する。この認識動作では、保管容器5内に保管されている物品10の位置等を認識(検出)する。そして、保管容器5からピックアップする物品10を決定し、当該物品10を保管容器5から取り出すためのロボットアーム21及びロボットハンド22の動作を計画する。具体的には、ロボットハンド22を初期位置から保管容器5内の取り出し対象の物品10のピッキング位置まで移動させるためのロボットアーム21の軌道データ(始点情報及び終点情報を含む)を生成する。
【0073】
また、ピッキング動作計画では、使用するロボットアーム21の種別も設定する。さらに、ピッキング動作計画では、ロボットハンド22の種別をセットするとともに、当該種別に応じた物品10のピッキング動作(物品10の保持動作)も決定する。
【0074】
なお、ピッキング動作計画はCPUコアによる制御となるので、この処理動作では、
図7に示すように、利用状態又は干渉状態となる利用装置は規定されない。また、本実施形態では、後述するように、ピッキング動作計画の動作IDは、ピッキング対象の物品10の種別に応じで変わる(後述の
図8参照)。
【0075】
(3)出荷容器撮影(動作ID「903」)
動作ID「903」の処理動作は、「出荷容器撮影」と称する処理動作である。出荷容器撮影では、出荷容器撮影用カメラ4により出荷容器7の内部全体、すなわち、出荷容器7内における物品10の積み付け状況を撮影する。それゆえ、出荷容器撮影では、
図7に示すように、出荷容器撮影用カメラ4及び出荷容器7が利用状態となる。なお、本実施形態では、後述するように、出荷容器撮影の動作IDは、撮影対象の物品10の種別及び出荷容器撮影用カメラ4の種別に応じで変わる(後述の
図8及び
図10参照)。
【0076】
(4)プレース動作計画(動作ID「904」)
動作ID「904」の処理動作は、「プレース動作計画」と称する処理動作である。プレース動作計画では、まず、出荷容器撮影(動作ID「903」)で得られた撮影画像から出荷容器7内における物品10の積み付け状況を認識する。この認識動作では、出荷容器7内において物品10の積み付け可能な空きスペースの位置等を認識(検出)する。そして、出荷容器7内における物品10のプレース位置(載置位置)を決定し、当該物品10を出荷容器7に積み付けるためのロボットアーム21及びロボットハンド22の動作を計画する。また、プレース動作計画では、積み付け対象の物品10を出荷容器7に積み付けた後、ロボットアーム21の姿勢を初期姿勢に戻し、ロボットハンド22を初期位置に戻すためのロボットアーム21及びロボットハンド22の動作を計画する。
【0077】
具体的には、プレース動作計画では、ロボットハンド22を出荷容器7内のプレース位置から初期位置に移動させるとともに、ロボットアーム21の姿勢を初期姿勢に戻すためのロボットアーム21の軌道データ(始点情報及び終点情報を含む)を生成する。さらに、プレース動作計画では、ロボットハンド22の種別に応じた物品10のプレース動作(物品10の保持機能の解放動作)を決定する。
【0078】
なお、プレース動作計画はCPUコアによる制御となるので、この処理動作では、
図7に示すように、利用状態又は干渉状態となる利用装置は規定されない。また、本実施形態では、後述するように、プレース動作計の動作IDは、プレース対象の物品10の種別に応じで変わる(後述の
図8参照)。
【0079】
(5)アーム動作計画(動作ID「905」)
動作ID「905」の処理動作は、「アーム動作計画」と称する処理動作である。アーム動作計画では、ピッキング動作計画で計画されたロボットハンド22の終点情報と、プレース動作計画で計画されたロボットハンド22の始点情報とに基づいて、両者間のロボットアーム21の軌道データを計画する。なお、ピッキング動作計画で計画されたロボットハンド22の終点情報は、物品10のピッキング動作の終了位置であり、プレース動作計画で計画されたロボットハンド22の始点情報は、物品10のプレース動作の開始位置である。
【0080】
具体的には、アーム動作計画では、ロボットハンド22のピッキング動作の終了位置からプレース動作の開始位置までのロボットアーム21の軌道データを生成する。なお、アーム動作計画はCPUコアによる制御となるので、この処理動作では、
図7に示すように、利用状態又は干渉状態となる利用装置は規定されない。また、本実施形態では、後述するように、アーム動作計画の動作IDは、積み付け対象の物品10の種別に応じで変わる(後述の
図8参照)。
【0081】
(6)ピッキング動作制御(動作ID「906」)
動作ID「906」の処理動作は、「ピッキング動作制御」と称する処理動作である。ピッキング動作制御では、まず、ロボットアーム21を制御してロボットハンド22を初期位置から保管容器5内のピッキング対象の物品10のピッキング位置まで移動させる。その後、ロボットハンド22を制御して物品10を保持して保管容器5から取り出す。それゆえ、ピッキング動作制御では、
図7に示すように、ロボットアーム21、ロボットハンド22及び保管容器5が利用状態となる。また、ピッキング動作制御では、その動作途中で、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重なって見える状態が発生するので、
図7に示すように、保管容器撮影用カメラ3が干渉状態となる。
【0082】
上述したピッキング動作制御は、ピッキング動作計画(動作ID「902」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、ピッキング動作制御の動作IDは、ピッキング対象の物品10の種別及びロボットハンド22の種別に応じで変わる(後述の
図8及び
図11参照)。
【0083】
(7)アーム動作制御(保持上昇)(動作ID「907」)
動作ID「907」の処理動作は、「アーム動作制御(保持上昇)」と称する処理動作である。アーム動作制御(保持上昇)では、まず、ピッキング動作制御により取り出した物品10を、ロボットアーム21を制御して保管容器5の上方の所定位置に移動(上昇)させる。その後、ロボットアーム21を制御し、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重ならない位置に物品10を移動させる。それゆえ、アーム動作制御(保持上昇)では、
図7に示すように、ロボットアーム21及びロボットハンド22が利用状態となる。また、アーム動作制御(保持上昇)では、その動作途中で、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重なって見える状態が発生するので、
図7に示すように、保管容器撮影用カメラ3が干渉状態となる。
【0084】
上述したアーム動作制御(保持上昇)は、アーム動作計画(動作ID「905」)で生成された計画に基づいて行われる。なお、アーム動作制御(保持上昇)でのロボットハンド22の開始位置(始点)は、ピッキング動作計画(動作ID「902」)で計画されたロボットハンド22のピッキング動作の終了位置(終点)である。また、本実施形態では、後述するように、アーム動作制御(保持上昇)の動作IDは、搬送対象の物品10の種別及びロボットアーム21の種別に応じで変わる(後述の
図8及び
図12参照)。
【0085】
(8)アーム動作制御(保持搬送)(動作ID「908」)
動作ID「908」の処理動作は、「アーム動作制御(保持搬送)」と称する処理動作である。アーム動作制御(保持搬送)では、アーム動作制御(保持上昇)の終了位置(終点)に移動した物品10を、ロボットアーム21を制御して出荷容器7の上方の位置まで移動させる。それゆえ、アーム動作制御(保持搬送)では、
図7に示すように、ロボットアーム21及びロボットハンド22が利用状態となる。
【0086】
また、アーム動作制御(保持搬送)による物品10の搬送動作の開始位置(始点)、すなわち、アーム動作制御(保持上昇)の終了位置(終点)は、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重ならない位置になる。それゆえ、アーム動作制御(保持上昇)の終了時には保管容器撮影用カメラ3の干渉状態は解除されるので、アーム動作制御(保持搬送)では、
図7に示すように、干渉状態の利用装置が無くなる。なお、アーム動作制御(保持搬送)における物品10の終点位置では、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重なって見える状態となる。それゆえ、アーム動作制御(保持搬送)では、出荷容器撮影用カメラ4を干渉状態としてもよい。
【0087】
上述したアーム動作制御(保持搬送)は、アーム動作計画(動作ID「905」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、アーム動作制御(保持搬送)の動作IDは、搬送対象の物品10の種別及びロボットアーム21の種別に応じで変わる(後述の
図8及び
図13参照)。
【0088】
(9)アーム動作制御(保持下降)(動作ID「909」)
動作ID「909」の処理動作は、「アーム動作制御(保持下降)」と称する処理動作である。アーム動作制御(保持下降)では、アーム動作制御(保持搬送)により出荷容器7の上方に移動した物品10を、ロボットアーム21を制御して出荷容器7内の所定位置(終点)まで移動させる。なお、アーム動作制御(保持下降)でのロボットハンド22の終点は、プレース動作計画(動作ID「904」)で計画されたロボットハンド22による物品10のプレース動作の開始位置(始点)である。それゆえ、アーム動作制御(保持下降)では、
図7に示すように、ロボットアーム21及びロボットハンド22が利用状態となる。また、アーム動作制御(保持下降)では、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重なって見える状態であるので、出荷容器撮影用カメラ4が干渉状態となる。
【0089】
上述したアーム動作制御(保持下降)は、アーム動作計画(動作ID「905」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、アーム動作制御(保持下降)の動作IDは、搬送対象の物品10の種別及びロボットアーム21の種別に応じで変わる(後述の
図8及び
図14参照)。
【0090】
(10)プレース動作制御(動作ID「910」)
動作ID「910」の処理動作は、「プレース動作制御」と称する処理動作である。プレース動作制御では、アーム動作制御(保持下降)により出荷容器7内の所定位置に移動した物品10に対するロボットハンド22の保持制御(吸着パッド及び/又は把持機能部の保持制御)を終了(解放制御)する。これにより、物品10が出荷容器7に積み付けられる(載置される)。それゆえ、プレース動作制御では、
図7に示すように、ロボットアーム21、ロボットハンド22及び出荷容器7が利用状態となる。また、プレース動作制御では、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重なって見える状態であるので、
図7に示すように、出荷容器撮影用カメラ4が干渉状態となる。
【0091】
上述したプレース動作制御は、プレース動作計画(動作ID「904」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、プレース動作制御の動作IDは、積み付け対象の物品10の種別及びロボットハンド22の種別に応じで変わる(後述の
図8及び
図15参照)。
【0092】
(11)アーム動作制御(非保持上昇)(動作ID「911」)
動作ID「911」の処理動作は、「アーム動作制御(非保持上昇)」と称する処理動作である。アーム動作制御(非保持上昇)では、まず、ロボットアーム21を制御して、プレース動作制御により解放制御が行われたロボットハンド22を出荷容器7の上方の所定位置に移動(上昇)させる。その後、ロボットアーム21を制御し、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重ならない位置にロボットハンド22を移動させる。それゆえ、アーム動作制御(非保持上昇)では、
図7に示すように、ロボットアーム21及びロボットハンド22が利用状態となる。また、アーム動作制御(非保持上昇)では、その動作途中で、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重なって見える状態が発生するので、
図7に示すように、出荷容器撮影用カメラ4が干渉状態となる。
【0093】
上述したアーム動作制御(非保持上昇)は、プレース動作計画(動作ID「904」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、アーム動作制御(非保持上昇)の動作IDは、ロボットアーム21の種別に応じで変わる(後述の
図8及び
図16参照)。
【0094】
(12)アーム動作制御(非保持搬送)(動作ID「912」)
動作ID「912」の処理動作は、「アーム動作制御(非保持搬送)」と称する処理動作である。アーム動作制御(非保持搬送)では、アーム動作制御(非保持上昇)の終了位置(終点)に移動したロボットハンド22を、ロボットアーム21を制御して初期位置まで移動させる。また、この際、ロボットアーム21を制御してロボットアーム21の姿勢も初期姿勢に戻す。これにより、ピッキングロボット2(ロボットアーム21及びロボットハンド22)は待機状態となる。それゆえ、アーム動作制御(非保持搬送)では、
図7に示すように、ロボットアーム21及びロボットハンド22が利用状態となる。
【0095】
また、アーム動作制御(非保持搬送)でのロボットハンド22の開始位置(始点)は、アーム動作制御(非保持上昇)でのロボットハンド22の終了位置(終点)である。すなわち、アーム動作制御(非保持搬送)でのロボットハンド22の開始位置は、出荷容器撮影用カメラ4側から見てピッキングロボット2と出荷容器7とが重ならない位置になる。それゆえ、アーム動作制御(非保持上昇)の終了時には出荷容器撮影用カメラ4の干渉状態は解除されるので、アーム動作制御(非保持搬送)では、
図7に示すように、干渉状態の利用装置が無くなる。
【0096】
上述したアーム動作制御(非保持搬送)は、プレース動作計画(ID情報「904」)で生成された計画に基づいて行われる。また、本実施形態では、後述するように、アーム動作制御(非保持搬送)のID情報は、ロボットアーム21の種別に応じで変わる(後述の
図8及び
図17参照)。
【0097】
<各種動作IDテーブル(所定情報)>
図8は、商品種別毎に規定された積み付け作業の各処理動作の動作IDのテーブル(以下、「商品種別毎動作IDテーブル」と称す)のデータ構成例を示す図である。商品種別毎動作IDテーブルは、商品ID「101」~「103」と、商品IDの種別毎に設定される積み付け作業の各処理動作の動作IDとの対応関係を規定する。なお、
図8には、説明の便宜上、積み付け作業を構成する各処理動作の動作名称も記載する。また、商品種別毎動作IDテーブルは、制御情報保存部235F(
図3参照)に保存される。
【0098】
積み付け作業の各処理動作の動作IDは、
図8に示すように、商品IDの種別に応じて適宜変更される。すなわち、本実施形態の物品10の積み付け作業では、物品10の種別(特性)に応じて、適切な動作パターンが選択される。例えば、ピッキング動作制御では、商品(物品10)の例えば形状、重量、包装等に応じて適切な動作パターンを選択することができ(後述の
図11参照)、物品10の種別毎に最適なピッキング動作制御を使い分けることができる。それゆえ、商品種別毎動作IDテーブルを設けることにより、商品の例えば形状、重量、包装等に応じて適切な動作パターンを選択し、商品に傷などを与えず且つ落下リスクの少ない搬送動作を実現でき、積み付け作業のスループットを向上させることができる。
【0099】
また、本実施形態では、積み付け作業の各処理動作に対して実際に設定される動作ID(動作パターン)は、物品10の種別だけでなく、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4の種別に応じても変わる。以下、これらの種別毎に規定された各種動作IDテーブルの構成例、及び、積み付け作業の各処理動作に対して実際に設定される動作IDの具体例を説明する。なお、以下に説明する各種動作IDテーブルは、制御情報保存部235F(
図3参照)に保存される。
【0100】
(1)保管容器撮影の動作ID
保管容器撮影の動作ID「901」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキーである場合には、保管容器撮影の動作IDとして、動作ID「901A」が実質セットされる。また、物品10が商品ID「102」の緑茶PET又は商品ID「103」の袋麺である場合には、保管容器撮影の動作IDとして、動作ID「901B」が実質セットされる。
【0101】
さらに、保管容器撮影の動作ID「901A」及び「901B」は、保管容器撮影用カメラ3の種別に応じて変わる。
図9は、保管容器撮影用カメラ3の種別毎に規定された保管容器撮影の動作IDのテーブル(以下、「保管容器用カメラ種別毎動作IDテーブル」と称す)のデータ構成例を示す図である。
【0102】
保管容器用カメラ種別毎動作IDテーブルは、
図9に示すように、保管容器撮影用カメラ3の種別ID(以下、「保管容器用カメラID」と称す)と、保管容器用カメラIDの種別毎に設定される保管容器撮影の動作IDとの対応関係を規定する。なお、
図9には、説明の便宜上、保管容器撮影の動作IDに対応する動作名称も記載する。
【0103】
保管容器用カメラ種別毎動作IDテーブルに記載の保管容器用カメラID「301」の保管容器撮影用カメラ3は、箱、PETボトル、袋の物品10を認識できる性能を有するカメラである。また、保管容器用カメラID「302」の保管容器撮影用カメラ3は、箱の物品10のみを認識できる性能を有するカメラである。すなわち、保管容器用カメラID「301」のカメラは、保管容器用カメラID「302」のカメラより例えば解像度等の性能が優れたカメラ(高価なカメラ)である。
【0104】
本実施形態では、積み付け対象の物品10がクッキー(箱)、緑茶PET(ボトル)及び袋麺(袋)であるので、保管容器用カメラID「301」のカメラが保管容器撮影用カメラ3に採用される。それゆえ、本実施形態では、積み付け対象の物品10が商品ID「101」のクッキー(箱)である場合には、保管容器撮影の動作ID(「901」、「901A」)として、動作ID「901A1」が実質セットされる。また、積み付け対象の物品10が商品ID「102」の緑茶PET(ボトル)又は商品ID「103」の袋麺(袋)である場合には、保管容器撮影の動作ID(「901」、「901B」)として、動作ID「901B1」が実質セットされる。
【0105】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種の保管容器撮影用カメラ3に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のカメラの中から最適なカメラを保管容器撮影用カメラ3として選択することができるとともに、選択したカメラに適した動作を設定することができる。
【0106】
(2)ピッキング動作計画の動作ID
ピッキング動作計画の動作ID「902」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキーである場合には、ピッキング動作計画の動作IDとして、動作ID「902A」が実質セットされる。物品10が商品ID「102」の緑茶PETである場合には、ピッキング動作計画の動作IDとして、動作ID「902B」が実質セットされる。また、物品10が商品ID「103」の袋麺である場合には、ピッキング動作計画の動作IDとして、動作ID「902C」が実質セットされる。すなわち、
図8に示す例では、商品種別(商品ID)毎に、ピッキング動作計画の動作ID(動作パターン)が別個にセットされる。
【0107】
(3)出荷容器撮影の動作ID
出荷容器撮影の動作ID「903」は、商品種別(商品ID)に応じて変更し得る。しかし、上述のように、出荷容器撮影用カメラ4による出荷容器撮影では、出荷容器7内において物品10が載置されていない空きスペースを特定できればよいので、本実施形態では、商品種別(商品ID)に関係なく、出荷容器撮影の動作IDを同じにする。それゆえ、
図8に示す例では、商品種別(商品ID)に関係なく、出荷容器撮影の動作IDは変化せず、出荷容器撮影の動作IDとして、動作ID「903A」が実質セットされる。
【0108】
さらに、出荷容器撮影の動作ID「903A」は、出荷容器撮影用カメラ4の種別に応じて変わる。
図10は、出荷容器撮影用カメラ4の種別毎に規定された出荷容器撮影の動作IDのテーブル(以下、「出荷容器用カメラ種別毎動作IDテーブル」と称す)のデータ構成例を示す図である。
【0109】
出荷容器用カメラ種別毎動作IDテーブルは、
図10に示すように、出荷容器撮影用カメラ4の種別ID(以下、「出荷容器用カメラID」と称す)と、出荷容器用カメラIDの種別毎に設定される出荷容器撮影の動作IDとの対応関係を規定する。なお、
図10には、説明の便宜上、出荷容器撮影の動作IDに対応する動作名称も記載する。
【0110】
出荷容器用カメラ種別毎動作IDテーブルに記載の出荷容器用カメラID「401」の出荷容器撮影用カメラ4は、箱、PETボトル、袋の物品10を認識できる性能を有するカメラである。また、出荷容器用カメラID「402」の出荷容器撮影用カメラ4は、箱の物品10のみを認識できる性能を有するカメラである。すなわち、出荷容器用カメラID「401」のカメラは、出荷容器用カメラID「402」のカメラより例えば解像度等の性能が優れたカメラ(高価なカメラ)である。
【0111】
本実施形態では、上述のように、出荷容器撮影では、出荷容器7内において物品10が載置されていない空きスペースを特定できればよいので、出荷容器用カメラID「402」のカメラ(低価なカメラ)を出荷容器撮影用カメラ4に採用する。それゆえ、本実施形態では、積み付け対象の物品10の商品IDの種別に関係なく、出荷容器撮影の動作ID(「903」、「903A」)として、動作ID「903A2」が実質セットされる。
【0112】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種の出荷容器撮影用カメラ4に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のカメラの中から最適なカメラを出荷容器撮影用カメラ4として選択することができるとともに、選択したカメラに適した動作を設定することができる。
【0113】
(4)プレース動作計画の動作ID
プレース動作計画の動作ID「904」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキーである場合には、プレース動作計画の動作IDとして、動作ID「904A」が実質セットされる。物品10が商品ID「102」の緑茶PETである場合には、プレース動作計画の動作IDとして、動作ID「904B」が実質セットされる。また、物品10が商品ID「103」の袋麺である場合には、プレース動作計画の動作IDとして、動作ID「904C」が実質セットされる。すなわち、
図8に示す例では、商品種別(商品ID)毎に、プレース動作計画の動作ID(動作パターン)が別個にセットされる。
【0114】
(5)アーム動作計画の動作ID
アーム動作計画の動作ID「905」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキー又は商品ID「103」の袋麺である場合には、アーム動作計画の動作IDとして、動作ID「905A」が実質セットされる。また、物品10が商品ID「102」の緑茶PETである場合には、アーム動作計画の動作IDとして、動作ID「905B」が実質セットされる。すなわち、
図8に示す例では、重量が比較的軽い物品10(クッキー(箱)及び袋麺(袋))に対するアーム動作計画と、重量が比較的重い物品10(緑茶PET(ボトル))に対するアーム動作計画とに対して、別の動作ID(動作パターン)がセットされる。
【0115】
(6)ピッキング動作制御の動作ID
ピッキング動作制御の動作ID「906」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキーである場合には、ピッキング動作制御の動作IDとして、動作ID「906A」が実質セットされる。物品10が商品ID「102」の緑茶PETである場合には、ピッキング動作制御の動作IDとして、動作ID「906B」が実質セットされる。また、物品10が商品ID「103」の袋麺である場合には、ピッキング動作制御の動作IDとして、動作ID「906C」が実質セットされる。すなわち、
図8に示す例では、商品種別(商品ID)毎に、ピッキング動作制御の動作ID(動作パターン)が別個にセットされる。
【0116】
さらに、ピッキング動作制御の動作ID「906A」~「906C」は、ロボットハンド22の種別に応じて変わる。
図11は、ロボットハンド22の種別毎に規定されたピッキング動作制御の動作IDのテーブル(以下、「ハンド種別毎ピッキング動作IDテーブル」と称す)のデータ構成例を示す図である。
【0117】
ハンド種別毎ピッキング動作IDテーブルは、
図11に示すように、ロボットハンド22の種別ID(以下、「ハンドID」と称す)と、ロボットハンド22の種別毎に設定されるピッキング動作制御の動作IDとの対応関係を規定する。なお、
図11には、説明の便宜上、ピッキング動作制御の動作IDに対応する動作名称も記載する。
【0118】
ハンド種別毎ピッキング動作IDテーブルに記載の動作ID「906A」及び「906B」の処理動作は、吸着パッド及び把持機構の両方を使用するピッキング動作制御である。一方、動作ID「906C」の処理動作は、吸着パッドのみを使用するピッキング動作制御である。具体的には、動作ID「906A」の「ピッキング動作制御(吸着ピック後把持)」と称する動作では、まず、ロボットハンド22の吸着パッドで取り出し対象の物品10を吸着した後、保管容器5から少し上方に物品10を引き抜く。そして、その後、当該物品10の引き抜かれた部分を把持機構で把持する。動作ID「906B」の「ピッキング動作(吸着ピック且つ把持)」と称する動作では、まず、ロボットハンド22の吸着パッドで取り出し対象の物品10を吸着した後、その状態で、把持機構により当該物品10を把持する。また、動作ID「906C」の「ピッキング動作(吸着ピックのみ)」と称する動作では、取り出し対象の物品10を吸着パッドによる吸着動作のみで保持する。
【0119】
また、ハンド種別毎ピッキング動作IDテーブルに記載のハンドID「221」及び「222」のロボットハンド22は、機種は異なるが、ともに、吸着パッド及び把持機構の両方の物品保持機構を備えるロボットハンドである。一方、ハンドID「223」のロボットハンド22は、吸着パッドの物品保持機構のみを備えるロボットハンドである。すなわち、ハンドID「221」及び「222」のロボットハンドは、ハンドID「223」のロボットハンドに比べて高価なロボットハンドである。
【0120】
それゆえ、ハンド種別毎ピッキング動作IDテーブルでは、ハンドID「221」のロボットハンド22に対して、ピッキング動作制御の動作ID「906A」~「906C」にそれぞれ対応した動作ID「906A1」~「906C1」が規定される。ハンドID「222」のロボットハンド22に対しては、ピッキング動作制御の動作ID「906A」~「906C」にそれぞれ対応した動作ID「906A2」~「906C2」が規定される。また、ハンドID「223」のロボットハンド22に対しては、ピッキング動作制御の動作ID「906C」に対応した動作ID「906C3」が規定される。
【0121】
本実施形態では、ハンドID「221」の吸着パッド及び把持機構の両方を備えるロボットハンド22を使用する。なお、吸着パッド及び把持機構の両方を備えるロボットハンド22による物品10のピッキング動作は、取り出し対象の物品10の種別(形状、重量等)、保管容器5内部での複数の物品10の配置態様等に応じて異なる。
【0122】
例えば、取り出し対象の物品10が箱状の物品であり、複数の物品10が保管容器5内部でほぼ隙間なく配置され、隣り合う物品10間に把持機構を挿入できない場合には、ピッキング動作制御(吸着ピック後把持)を行う必要がある。それゆえ、取り出し対象の物品10が商品ID「101」のクッキー(箱)である場合には、ピッキング動作制御の動作ID(「906」、「906A」)として、動作ID「906A1」が実質セットされる。
【0123】
例えば、取り出し対象の物品10がボトル形状の容器であり、保管容器5内で隣り合う物品10の先端部(ボトル容器の口部)間に把持機構を挿入可能である場合には、ピッキング動作制御(吸着ピック且つ把持)を使用することができる。それゆえ、取り出し対象の物品10が商品ID「102」の緑茶PET(ボトル)である場合には、ピッキング動作制御の動作ID(「906」、「906B」)として、動作ID「906B1」が実質セットされる。
【0124】
また、例えば、比較的軽量な物品10に対しては、ピッキング動作制御(吸着ピックのみ)を使用することができる。それゆえ、取り出し対象の物品10が商品ID「103」の袋麺(袋)である場合には、ピッキング動作制御の動作ID(「906」、「906C」)として、動作ID「906C1」が実質セットされる。
【0125】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種のロボットハンド22に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のロボットハンドの中から最適なロボットハンドを選択することができるとともに、選択したロボットハンドに適した動作を設定することができる。
【0126】
(7)アーム動作制御(保持上昇、保持搬送、保持下降)の動作ID
アーム動作制御(保持上昇)の動作ID「907」、アーム動作制御(保持搬送)の動作ID「908」及びアーム動作制御(保持下降)の動作ID「909」は、商品種別(商品ID)に応じて変わる。
【0127】
図8に示す例では、物品10が商品ID「101」のクッキー又は商品ID「103」の袋麺である場合には、アーム動作制御(保持上昇)の動作ID、アーム動作制御(保持搬送)の動作ID及びアーム動作制御(保持下降)の動作IDとして、それぞれ、動作ID「907A」、「908A」及び「909A」が実質セットされる。また、物品10が商品ID「102」の緑茶PETである場合には、アーム動作制御(保持上昇)の動作ID、アーム動作制御(保持搬送)の動作ID及びアーム動作制御(保持下降)の動作IDとして、それぞれ、動作ID「907B」、「908B」及び「909B」が実質セットされる。すなわち、
図8に示す例では、重量が比較的軽い物品10(クッキー(箱)及び袋麺(袋))に対するアーム動作制御と、重量が比較的重い物品10(緑茶PET(ボトル))に対するアーム動作制御とに対して、別の動作ID(動作パターン)がセットされる。
【0128】
なお、アーム動作制御(保持下降)における物品10の終点位置の高さ(鉛直方向の座標)は、搬送対象の物品10の種別に応じて変わる。これは、出荷容器7内において、複数の物品10を隙間なく配置させるためである。例えば、物品10がクッキー(箱)である場合には、アーム動作制御(保持下降)での物品10の終点位置の高さは、出荷容器7内の載置高さより少し上方の高さになる。具体的には、物品10の終点位置の高さは、ロボットハンド22の把持機能部が、出荷容器7内において搬送中の物品10の予定戴置位置の隣に既に戴置されている物品10及び/又は出荷容器7の縁部に接触しないような高さに設定される。また、例えば、物品10が緑茶PET(ボトル)又は袋麺(袋)である場合には、動作制御(保持下降)での物品10の終点位置の高さは、出荷容器7内の載置高さになる。
【0129】
さらに、アーム動作制御(保持上昇)、アーム動作制御(保持搬送)及びアーム動作制御(保持下降)の各動作IDは、ロボットアーム21の種別に応じて変わる。
図12は、ロボットアーム21の種別毎に規定されたアーム動作制御(保持上昇)の動作IDのテーブル(以下、「アーム種別毎保持上昇動作IDテーブル」と称す)のデータ構成例を示す図である。
図13は、ロボットアーム21の種別毎に規定されたアーム動作制御(保持搬送)の動作IDのテーブル(以下、「アーム種別毎保持搬送動作IDテーブル」と称す)のデータ構成例を示す図である。また、
図14は、ロボットアーム21の種別毎に規定されたアーム動作制御(保持下降)の動作IDのテーブル(以下、「アーム種別毎保持下降動作IDテーブル」と称す)のデータ構成例を示す図である。
【0130】
アーム種別毎保持上昇動作IDテーブルは、
図12に示すように、ロボットアーム21の種別ID(以下、「アームID」と称す)と、ロボットアーム21の種別毎に設定されるアーム動作制御(保持上昇)の動作IDとの対応関係を規定する。アーム種別毎保持搬送動作IDテーブルは、
図13に示すように、ロボットアーム21のアームIDと、ロボットアーム21の種別毎に設定されるアーム動作制御(保持搬送)の動作IDとの対応関係を規定する。また、アーム種別毎保持下降動作IDテーブルは、
図14に示すように、ロボットアーム21のアームIDと、ロボットアーム21の種別毎に設定されるアーム動作制御(保持下降)の動作IDとの対応関係を規定する。なお、
図12~
図14には、説明の便宜上、アーム動作制御(保持上昇、保持搬送、保持下降)の動作IDに対応する動作名称も記載する。
【0131】
図12~
図14に記載のアームID「211」及び「212」のロボットアーム21は、機種は異なるが、ともに、高速及び低速の両方で駆動(物品10を搬送)可能なロボットアームである。一方、アームID「213」のロボットアーム21は、低速でのみで駆動可能なロボットアームである。すなわち、アームID「211」及び「212」のロボットアームは、アームID「213」のロボットアームに比べて高価なロボットアームである。
【0132】
アーム種別毎保持上昇動作IDテーブル(
図12)に記載の動作ID「907A」は、高速で物品10を搬送するためのアーム動作制御(保持上昇)であり、動作ID「907B」は、低速で物品10を搬送するためのアーム動作制御(保持上昇)である。それゆえ、アーム種別毎保持上昇動作IDテーブルでは、アームID「211」のロボットアーム21に対して、アーム動作制御(保持上昇)の動作ID「907A」及び「907B」にそれぞれ対応した動作ID「907A1」及び「907B1」が規定される。アームID「212」のロボットアーム21に対しては、アーム動作制御(保持上昇)の動作ID「907A」及び「907B」にそれぞれ対応した動作ID「907A2」及び「907B2」が規定される。また、アームID「213」のロボットアーム21に対しては、アーム動作制御(保持上昇)の動作ID「907B」に対応した動作ID「907B3」が規定される。
【0133】
アーム種別毎保持搬送動作IDテーブル(
図13)に記載の動作ID「908A」は、高速で物品10を搬送するためのアーム動作制御(保持搬送)であり、動作ID「908B」は、低速で物品10を搬送するためのアーム動作制御(保持搬送)である。それゆえ、アーム種別毎保持搬送動作IDテーブルでは、アームID「211」のロボットアーム21に対して、アーム動作制御(保持搬送)の動作ID「908A」及び「908B」にそれぞれ対応した動作ID「908A1」及び「908B1」が規定される。アームID「212」のロボットアーム21に対しては、アーム動作制御(保持搬送)の動作ID「908A」及び「908B」にそれぞれ対応した動作ID「908A2」及び「908B2」が規定される。また、アームID「213」のロボットアーム21に対しては、アーム動作制御(保持搬送)の動作ID「908B」に対応した動作ID「908B3」が規定される。
【0134】
また、アーム種別毎保持下降動作IDテーブル(
図14)に記載の動作ID「909A」は、高速で物品10を搬送するためのアーム動作制御(保持下降)であり、動作ID「909B」は、低速で物品10を搬送するためのアーム動作制御(保持下降)である。それゆえ、アーム種別毎保持下降動作IDテーブルでは、アームID「211」のロボットアーム21に対して、アーム動作制御(保持下降)の動作ID「909A」及び「909B」にそれぞれ対応した動作ID「909A1」及び「909B1」が規定される。アームID「212」のロボットアーム21に対しては、アーム動作制御(保持下降)の動作ID「909A」及び「909B」にそれぞれ対応した動作ID「909A2」及び「909B2」が規定される。また、アームID「213」のロボットアーム21に対しては、アーム動作制御(保持下降)の動作ID「909B」に対応した動作ID「909B3」が規定される。
【0135】
本実施形態では、低速及び高速で駆動可能なアームID「211」のロボットアーム21を使用する。それゆえ、本実施形態において積み付け対象の物品10が商品ID「101」のクッキー(箱)である場合には、アーム動作制御(保持上昇)の動作ID(「907」、「907A」)として、動作ID「907A1」が実質セットされる。また、当該場合には、アーム動作制御(保持搬送)の動作ID(「908」、「908A」)として、動作ID「908A1」が実質セットされる。さらに、当該場合には、アーム動作制御(保持下降)の動作ID(「909」、「909A」)として、動作ID「909A1」が実質セットされる。
【0136】
本実施形態において積み付け対象の物品10が商品ID「102」の緑茶PET(ボトル)である場合には、アーム動作制御(保持上昇)の動作ID(「907」、「907B」)として、動作ID「907B1」が実質セットされる。また、当該場合には、アーム動作制御(保持搬送)の動作ID(「908」、「908B」)として、動作ID「908B1」が実質セットされる。さらに、当該場合には、アーム動作制御(保持下降)の動作ID(「909」、「909B」)として、動作ID「909B1」が実質セットされる。
【0137】
また、本実施形態において積み付け対象の物品10が商品ID「103」の袋麺(袋)である場合には、アーム動作制御(保持上昇)の動作ID(「907」、「907A」)として、動作ID「907A1」が実質セットされる。また、当該場合には、アーム動作制御(保持搬送)の動作ID(「908」、「908A」)として、動作ID「908A1」が実質セットされる。さらに、当該場合には、アーム動作制御(保持下降)の動作ID(「909」、「909A」)として、動作ID「909A1」が実質セットされる。
【0138】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種のロボットアーム21に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のロボットアームの中から最適なロボットアームを選択することができるとともに、選択したロボットアームに適した動作を設定することができる。
【0139】
(8)プレース動作制御の動作ID
プレース動作制御の動作ID「910」は、商品種別(商品ID)に応じて変わる。
図8に示す例では、物品10が商品ID「101」のクッキーである場合には、ピッキング動作制御の動作IDとして、動作ID「910A」が実質セットされる。物品10が商品ID「102」の緑茶PETである場合には、プレース動作制御の動作IDとして、動作ID「910B」が実質セットされる。また、物品10が商品ID「103」の袋麺である場合には、プレース動作制御の動作IDとして、動作ID「910C」が実質セットされる。すなわち、
図8に示す例では、商品種別(商品ID)毎に、プレース動作制御の動作ID(動作パターン)が別個にセットされる。
【0140】
さらに、プレース動作制御の動作ID「910A」~「910C」は、ロボットハンド22の種別に応じて変わる。
図15は、ロボットハンド22の種別毎に規定されたプレース動作制御の動作IDのテーブル(以下、「ハンド種別毎プレース動作IDテーブル」と称す)のデータ構成例を示す図である。
【0141】
ハンド種別毎プレース動作IDテーブルは、
図15に示すように、ロボットハンド22のハンドIDと、ロボットハンド22の種別毎に設定されるプレース動作制御の動作IDとの対応関係を規定する。なお、
図15には、説明の便宜上、プレース動作制御の動作IDに対応する動作名称も記載する。
【0142】
また、ハンド種別毎プレース動作IDテーブルに記載の動作ID「910A」及び「910B」の処理動作は、吸着パッド及び把持機構の両方を使用するプレース動作制御でありある。一方、動作ID「910C」の処理動作は、吸着パッドのみを使用するプレース動作制御である。
【0143】
具体的には、動作ID「910A」の「プレース動作制御(把持解放後吸着解放)」と称する処理動作では、まず、出荷容器7内の所定位置(載置高さより少し上方の位置)に移動した物品10に対して、ロボットハンド22の把持機能部の解放制御が行われる。そして、ロボットハンド22の吸着ピックのみで保持された物品10を出荷容器7内の載置高さに移動(下降)させた後、吸着パッドの解放制御が行われる。動作ID「910B」の「プレース動作制御(吸着且つ把持解放)」と称する処理動作では、出荷容器7内の所定位置(載置位置)に移動した物品10に対して、ロボットハンド22の吸着パッド及び把持機能部の両方の解放制御が行われる。この際、吸着パッドの解放制御及び把持機能部の解放制御を同時に行う、又は、一方の解放制御を行った後、他方の解放制御を行う。また、動作ID「910C」の「プレース動作制御(吸着のみ解放)」と称する処理動作では、出荷容器7内の所定位置(載置位置)に移動した物品10に対して、ロボットハンド22の吸着パッドの解放制御が行われる。
【0144】
それゆえ、ハンド種別毎プレース動作IDテーブルでは、ハンドID「221」のロボットハンド22に対して、プレース動作制御の動作ID「910A」~「910C」にそれぞれ対応した動作ID「910A1」~「910C1」が規定される。ハンドID「222」のロボットハンド22に対しては、プレース動作制御の動作ID「910A」~「910C」にそれぞれ対応した動作ID「910A2」~「910C2」が規定される。また、ハンドID「223」のロボットハンド22に対しては、プレース動作制御の動作ID「910C」に対応した動作ID「910C3」が規定される。
【0145】
本実施形態では、上述のように、ハンドID「221」の吸着パッド及び把持機構の両方を備えるロボットハンド22を使用する。なお、吸着パッド及び把持機構の両方を備えるロボットハンド22による物品10のプレース動作は、積み付け対象の物品10の種別(形状、重量等)、保管容器5内での複数の物品10の配置態様等に応じて異なる。
【0146】
例えば、積み付け対象の物品10が箱状の物品であり、複数の物品10を出荷容器7内部でほぼ隙間なく配置する場合には、隣り合う物品10間に把持機構を挿入できないので、プレース動作制御(把持解放後吸着解放)を行う必要がある。それゆえ、積み付け対象の物品10が商品ID「101」のクッキー(箱)である場合には、プレース動作制御の動作ID(「910」、「910A」)として、動作ID「910A1」が実質セットされる。
【0147】
例えば、積み付け対象の物品10がボトル形状の容器であり、出荷容器7内で隣り合う物品10の先端部(ボトル容器の口部)間に把持機構を挿入可能である場合には、プレース動作制御(吸着且つ把持解放)を使用することができる。それゆえ、積み付け対象の物品10が商品ID「102」の緑茶PET(ボトル)である場合には、プレース動作制御の動作ID(「910」、「910B」)として、動作ID「910B1」が実質セットされる。
【0148】
また、例えば、比較的軽量な物品10に対しては、プレース動作制御(吸着のみ解放)を使用することができる。それゆえ、積み付け対象の物品10が商品ID「103」の袋麺(袋)である場合には、プレース動作制御の動作ID(「910」、「910C」)として、動作ID「910C1」が実質セットされる。
【0149】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種のロボットハンド22に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のロボットハンドの中から最適なロボットハンドを選択することができるとともに、選択したロボットハンドに適した動作を設定することができる。
【0150】
(9)アーム動作制御(非保持上昇、非保持搬送)の動作ID
アーム動作制御(非保持上昇)及びアーム動作制御(非保持搬送)では、物品10がロボットハンド22に保持されていない。それゆえ、アーム動作制御(非保持上昇)の動作ID「911」及びアーム動作制御(非保持搬送)の動作ID「912」は、商品種別(商品ID)に関係なく同じになる。
図8に示す例では、商品IDの種別に関係なく、アーム動作制御(非保持上昇)の動作IDとして、動作ID「911A」が実質セットされ、アーム動作制御(非保持搬送)の動作IDとして、動作ID「912A」が実質セットされる。
【0151】
さらに、アーム動作制御(非保持上昇)及びアーム動作制御(非保持搬送)の動作IDは、ロボットアーム21の種別に応じて変わる。
図16は、ロボットアーム21の種別毎に規定されたアーム動作制御(非保持上昇)の動作IDのテーブル(以下、「アーム種別毎非保持上昇動作IDテーブル」と称す)のデータ構成例を示す図である。また、
図17は、ロボットアーム21の種別毎に規定されたアーム動作制御(非保持搬送)の動作IDのテーブル(以下、「アーム種別毎非保持搬送動作IDテーブル」と称す)のデータ構成例を示す図である。
【0152】
アーム種別毎非保持上昇動作IDテーブルは、
図16に示すように、ロボットアーム21のアームIDと、ロボットアーム21の種別毎に設定されるアーム動作制御(非保持上昇)の動作IDとの対応関係を規定する。また、アーム種別毎非保持搬送動作IDテーブルは、
図17に示すように、ロボットアーム21のアームIDと、ロボットアーム21の種別毎に設定されるアーム動作制御(非保持搬送)の動作IDとの対応関係を規定する。なお、
図16及び
図17には、説明の便宜上、アーム動作制御(非保持上昇、非保持搬送)の動作IDに対応する動作名称も記載する。
【0153】
アーム種別毎非保持上昇動作IDテーブル(
図16)に記載の動作ID「911A」は、高速で物品10を搬送するためのアーム動作制御(非保持上昇)であり、動作ID「911B」は、低速で物品10を搬送するためのアーム動作制御(非保持上昇)である。それゆえ、アーム種別毎非保持上昇動作IDテーブルでは、アームID「211」のロボットアーム21に対して、アーム動作制御(非保持上昇)の動作ID「911A」及び「911B」にそれぞれ対応した動作ID「911A1」及び「911B1」が規定される。アームID「212」のロボットアーム21に対しては、アーム動作制御(非保持上昇)の動作ID「911A」及び「911B」にそれぞれ対応した動作ID「911A2」及び「911B2」が規定される。また、アームID「213」のロボットアーム21に対しては、アーム動作制御(非保持上昇)の動作ID「911B」に対応した動作ID「911B3」が規定される。
【0154】
また、アーム種別毎非保持搬送動作IDテーブル(
図17)に記載の動作ID「912A」は、高速で物品10を搬送するためのアーム動作制御(非保持搬送)であり、動作ID「912B」は、低速で物品10を搬送するためのアーム動作制御(非保持搬送)である。それゆえ、アーム種別毎非保持搬送動作IDテーブルでは、アームID「211」のロボットアーム21に対して、アーム動作制御(非保持搬送)の動作ID「912A」及び「912B」にそれぞれ対応した動作ID「912A1」及び「912B1」が規定される。アームID「212」のロボットアーム21に対しては、アーム動作制御(非保持搬送)の動作ID「912A」及び「912B」にそれぞれ対応した動作ID「912A2」及び「912B2」が規定される。また、アームID「213」のロボットアーム21に対しては、アーム動作制御(非保持搬送)の動作ID「912B」に対応した動作ID「912B3」が規定される。
【0155】
本実施形態では、上述のように、低速及び高速で駆動可能なアームID「211」のロボットアーム21を使用する。それゆえ、本実施形態では、積み付け対象の物品10の種別に関係なく、アーム動作制御(非保持上昇)の動作ID(「911」、「911A」)として、動作ID「911A1」が実質セットされる。また、本実施形態では、物品10の種別に関係なく、アーム動作制御(非保持搬送)の動作ID(「912」、「912A」)として、動作ID「912A1」が実質セットされる。
【0156】
上記構成を設けることにより、本実施形態の物品積み付けシステム1では、例えば機種、性能等の異なる複数種のロボットアーム21に対応可能となる。それゆえ、本実施形態では、スループットやコストなどを考慮して、複数種のロボットアームの中から最適なロボットアームを選択することができるとともに、選択したロボットアームに適した動作を設定することができる。
【0157】
<物品積み付け作業の制御動作例>
次に、本実施形態の物品積み付けシステム1における物品積み付け作業の制御動作例を説明する。ただし、ここでは、説明を簡略化するため、主に、商品ID「101」のクッキーを3箱続けて積み付ける際の制御動作を説明する。すなわち、
図5に示す積み付け作業全体の制御計画データ中の作業タスクID「#1」~「#3」の制御動作例について説明する。
【0158】
(1)従来の物品積み付け作業の制御動作例
まず、本実施形態の物品積み付けシステム1における物品積み付け作業の制御動作例を説明する前に、比較のため、従来の物品積み付けシステムにおける物品積み付け作業の制御動作例を説明する。
【0159】
図18は、従来の物品積み付けシステムにおける物品積み付け作業の制御動作例を示す図である。なお、
図18に記載の積み付け管理タスク240Aは、複数の物品10(3箱のクッキー、2本の緑茶PET、4袋の袋麺)の積み付け作業の進捗状況を管理して、積み付け作業全体を制御するためのタスク(処理プログラム)である。また、第1積み付け作業タスク240B~第3積み付け作業タスク240Dのそれぞれは、1箱のクッキーを保管容器5から搬送して出荷容器7に積み付ける作業の実行処理を制御するためのタスク(処理プログラム)である。
【0160】
従来の物品積み付けシステム及びロボットシステムでは、
図18に示すように、まず、積み付け管理タスク240Aから第1積み付け作業タスク240Bに積み付け指示が通知され(
図18中の矢印C1)、第1積み付け作業タスク240Bが開始される。次いで、第1積み付け作業タスク240Bでは、ピッキングロボットが制御されて、保管容器5から1箱のクッキーを取り出す動作、1箱のクッキーを出荷容器7へ搬送する動作、及び、1箱のクッキーを出荷容器7に積み付ける動作が、この順で行われる。そして、1箱のクッキーの出荷容器7への積み付け動作が完了すると、第1積み付け作業タスク240Bから積み付け管理タスク240Aに積み付け作業の完了情報が通知される(
図18中の矢印C2)。
【0161】
その後、積み付け管理タスク240Aから第2積み付け作業タスク240Cに積み付け指示が通知され(
図18中の矢印C3)、第2積み付け作業タスク240Cが開始される。第2積み付け作業タスク240Cでは、第1積み付け作業タスク240Bと同様にして、1箱のクッキーが出荷容器7に積み付けられる。そして、第2積み付け作業タスク240Cによる1箱のクッキーの出荷容器7への積み付け作業が完了すると、第2積み付け作業タスク240Cから積み付け管理タスク240Aに積み付け作業の完了情報が通知される(
図18中の矢印C4)。
【0162】
その後、積み付け管理タスク240Aから第3積み付け作業タスク240Dに積み付け指示が通知され(
図18中の矢印C5)、第3積み付け作業タスク240Dが開始される。第3積み付け作業タスク240Dでは、第1積み付け作業タスク240Bと同様にして、1箱のクッキーが出荷容器7に積み付けられる。そして、第3積み付け作業タスク240Dによる1箱のクッキーの出荷容器7への積み付け作業が完了すると、第3積み付け作業タスク240Dから積み付け管理タスク240Aに積み付け作業の完了情報が通知される(
図18中の矢印C6)。
【0163】
すなわち、従来の物品積み付けシステムにおいて、複数の物品10の積み付け作業を続けて行う場合には、1個の物品10に対する積み付け作業タスクが完了した後に、次の1個の物品10に対する積み付け作業タスクが行われることになる。
【0164】
なお、
図18には示さないが、第3積み付け作業タスク240Dの終了後、積み付け管理タスク240Aによる保管容器の入替タスクが行われ、その後、2本の緑茶PETの積み付け作業が、上述したクッキーの積み付け作業タスクと同様にして実行される。次いで、再度、積み付け管理タスク240Aによる保管容器の入替タスクが行われ、その後、4袋の袋麺の積み付け作業タスクが、上述したクッキーの積み付け作業タスクと同様にして実行される。そして、袋麺の積み付け作業タスク終了後、保管容器が所定の保管場所に戻され、出荷容器が次の工程の作業場所に搬送され、物品積み付け作業の全工程が終了する。
【0165】
(2)本実施形態の物品積み付け作業の制御動作例
図19は、本実施形態の物品積み付けシステム1における物品積み付け作業の制御動作例を示す図である。なお、
図19に記載の積み付け管理タスク235Aは、複数の物品10(3箱のクッキー、2本の緑茶PET、4袋の袋麺)の積み付け作業の進捗状況を管理して、積み付け作業全体を制御するためのタスク(処理プログラム)である。また、第1積み付け作業タスク235B~第3積み付け作業タスク235Dのそれぞれは、1箱のクッキー(商品ID「101」の物品10)を保管容器5から搬送して出荷容器7に積み付ける作業の実行処理を制御するためのタスク(処理プログラム)である。なお、第1積み付け作業タスク235B~第3積み付け作業タスク235Dのそれぞれは、
図7及び
図8に示す動作ID「901」~「912」の各種処理動作で構成される。
【0166】
本実施形態では、
図19に示さないが、まず、積み付け管理タスク235Aにより、保管容器5及び出荷容器7のセットタスク(
図5中の作業タスクID「#A」のタスク)が行われる。このセットタスクでは、積み付け管理タスク235Aにより保管容器用コンベア6が制御され、保管容器ID「501」の保管容器5が、ピッキング動作が行われる位置に搬送(セット)される。また、積み付け管理タスク235Aにより出荷容器用コンベア8が制御され、出荷容器ID「701」の出荷容器7が、プレース動作が行われる位置に搬送(セット)される。
【0167】
そして、セットタスク終了後、
図19に示すように、積み付け管理タスク235Aから第1積み付け作業タスク235B~第3積み付け作業タスク235Dのそれぞれに対して同時に積み付け指示が通知される(
図19中の矢印C11)。この積み付け指示により、第1積み付け作業タスク235B~第3積み付け作業タスク235Dが同時に起動する。
【0168】
ただし、この積み付け管理タスク235Aからの積み付け指示により、第1積み付け作業タスク235Bの処理動作は開始されるが、第2積み付け作業タスク235C及び第3積み付け作業タスク235Dは、起動するものの、その処理動作は実質開始されない。第2積み付け作業タスク235C及び第3積み付け作業タスク235Dは、先行の積み付け作業タスクで保管容器撮影用カメラ3が利用済みであることを示す情報(以下、「利用済み情報」と称す)が、先行の積み付け作業タスクから通知された場合に開始される。すなわち、第2積み付け作業タスク235Cは、第1積み付け作業タスク235Bから保管容器撮影用カメラ3の利用済み情報が通知されると実質開始される。また、第3積み付け作業タスク235Dは、第2積み付け作業タスク235Cから保管容器撮影用カメラ3の利用済み情報が通知されると実質開始される。
【0169】
最初に、積み付け管理タスク235Aからの積み付け指示の通知により開始される第1積み付け作業タスク235Bでの動作内容について説明する。
【0170】
第1積み付け作業タスク235Bでは、まず、動作ID「901」(
図8及び
図9参照)の保管容器撮影251が行われる。そして、保管容器撮影251の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、保管容器撮影251で利用が完了した装置(次の処理動作では利用されない装置)の情報が通知される(
図19中の矢印C12)。具体的には、保管容器撮影用カメラ3及び保管容器5(
図7中の黒丸印参照)が利用可能となったことを示す情報が、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに通知される。次いで、保管容器撮影251の撮影結果に基づいて動作ID「902」(
図8参照)のピッキング動作計画252が行われる。
【0171】
ピッキング動作計画252の終了後、動作ID「903」(
図8及び
図10参照)の出荷容器撮影253が行われる。そして、出荷容器撮影253の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、出荷容器撮影253で利用が完了した装置(次の動作制御では利用されない装置)の情報が通知される(
図19中の矢印C13)。具体的には、出荷容器撮影用カメラ4及び出荷容器7(
図7中の黒丸印参照)が利用可能となったことを示す情報が、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに通知される。
【0172】
出荷容器撮影253の終了後、出荷容器撮影253の撮影結果に基づいて動作ID「904」(
図8参照)のプレース動作計画254が行われる。次いで、ピッキング動作計画252及びプレース動作計画254の内容に基づいて、動作ID「905」(
図8参照)のアーム動作計画255が行われる。
【0173】
アーム動作計画255の終了後、ピッキング動作計画252に内容に従って、ピッキングロボット2(ロボットアーム21及びロボットハンド22)が駆動制御され、動作ID「906」(
図8及び
図11参照)のピッキング動作制御256が行われる。この処理動作により、保管容器5内の1箱のクッキー(物品10)がロボットハンド22により保持され、保管容器5から取り出される。
【0174】
ピッキング動作制御256の終了後、アーム動作計画255の内容に従って、ピッキングロボット2(ロボットアーム21及びロボットハンド22)が駆動制御され、アーム動作制御257が行われる。このアーム動作制御257では、動作ID「907」のアーム動作制御(保持上昇)、動作ID「908」のアーム動作制御(保持搬送)及び動作ID「909」のアーム動作制御(保持下降)が、この順で行われる(
図8及び
図12~
図14参照)。この処理動作により、ピッキング動作制御256でロボットハンド22に保持された1箱のクッキー(物品10)が保管容器5内のピッキング位置から出荷容器7内のプレース位置まで搬送される。
【0175】
また、アーム動作制御257内において、アーム動作制御(保持上昇)の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、アーム動作制御(保持上昇)で干渉状態が終了した装置の情報が通知される(
図19中の矢印C14)。具体的には、
図7(白丸印参照)に示すように、動作ID「907」のアーム動作制御(保持上昇)では保管容器撮影用カメラ3が干渉状態であるが、次の処理動作(動作ID「908」のアーム動作制御(保持搬送))では、当該干渉状態が解消されている。それゆえ、アーム動作制御(保持上昇)の終了時には、保管容器撮影用カメラ3の干渉状態が終了した旨の情報が、保管容器撮影用カメラ3の利用済み情報として第2積み付け作業タスク235Cに通知される。そして、第1積み付け作業タスク235Bから保管容器撮影用カメラ3の利用済み情報の通知を受けた第2積み付け作業タスク235Cでは、それを契機として、保管容器撮影261が開始される。
【0176】
なお、保管容器撮影用カメラ3の利用済み情報の通知タイミングは、上述した例に限定されず、保管容器撮影用カメラ3の干渉状態が解消された時点以降で且つ当該積み付け作業タスクの終了前であれば、任意のタイミングに設定可能である。例えば、保管容器撮影用カメラ3の利用済み情報の通知タイミングは、アーム動作制御257の終了時としてもよい。また、例えば、保管容器撮影用カメラ3の利用済み情報の通知タイミングは、アーム動作制御(保持上昇)の実行中(完了前)に保管容器撮影用カメラ3の干渉状態が解消された時点としてもよい。
【0177】
また、動作ID「907」のアーム動作制御(保持上昇)で利用したロボットアーム21及びロボットハンド22は、次の処理動作(動作ID「908」のアーム動作制御(保持搬送))でも利用中となる(
図7中の黒丸印参照)。それゆえ、アーム動作制御(保持上昇)の終了時のタスク間通信では、アーム動作制御(保持上昇)で利用が完了した装置に関する情報は通知されない。
【0178】
アーム動作制御257の終了後、プレース動作計画254に内容に従って、ピッキングロボット2(ロボットアーム21及びロボットハンド22)が駆動制御され、動作ID「910」(
図8及び
図15参照)のプレース動作制御258が行われる。この処理動作により、1箱のクッキー(物品10)が出荷容器7内に積み付けられるとともに、1箱のクッキーに対するロボットハンド22の保持機構が解放される。また、プレース動作制御258の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、プレース動作制御258で利用が完了した装置(次の動作制御では利用されない装置)の情報が通知される(
図19中の矢印C15)。具体的には、出荷容器7(
図7中の黒丸印参照)が利用可能となったことを示す情報が、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに通知される。
【0179】
なお、動作ID「910」のプレース動作制御258で利用したロボットアーム21及びロボットハンド22は、次の処理動作(動作ID「911」のアーム動作制御(非保持上昇))でも利用中となる(
図7中の黒丸印参照)。また、動作ID「910」のプレース動作制御258で干渉状態にある出荷容器撮影用カメラ4も次の処理動作(動作ID「911」のアーム動作制御(非保持上昇))で継続される(
図7中の白丸印参照)。それゆえ、プレース動作制御258の終了時のタスク間通信では、出荷容器7(
図7中の黒丸印参照)が利用可能となったことを示す情報のみが通知される。
【0180】
プレース動作制御258の終了後、プレース動作計画254の内容に従って、ピッキングロボット2(ロボットアーム21及びロボットハンド22)が駆動制御され、アーム動作制御259が行われる。このアーム動作制御259では、動作ID「911」のアーム動作制御(非保持上昇)及び動作ID「912」のアーム動作制御(非保持搬送)が、この順で行われる(
図8、
図16及び
図17参照)。この処理動作により、ロボットハンド22が、出荷容器7内におけるクッキー(物品10)の積み付け位置から初期位置に移動するとともに、ロボットアーム21の姿勢が初期姿勢に戻る。
【0181】
また、アーム動作制御259内において、アーム動作制御(非保持上昇)の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、アーム動作制御(非保持上昇)で干渉状態が終了した装置の情報が通知される(
図19中の矢印C16)。具体的には、
図7(白丸印参照)に示すように、動作ID「911」のアーム動作制御(非保持上昇)では出荷容器撮影用カメラ4が干渉状態であるが、次の処理動作(動作ID「912」のアーム動作制御(非保持搬送))では、当該干渉状態が解消されている。それゆえ、アーム動作制御(非保持上昇)の終了時には、出荷容器撮影用カメラ4の干渉状態が終了した旨の情報が、出荷容器撮影用カメラ4の利用済み情報として第2積み付け作業タスク235Cに通知される。そして、第1積み付け作業タスク235Bから出荷容器撮影用カメラ4の利用済み情報の通知を受けた第2積み付け作業タスク235Cでは、それを契機として、出荷容器撮影263が開始可能な状態となる。
【0182】
なお、出荷容器撮影用カメラ4の利用済み情報の通知タイミングは、上述した例に限定されず、出荷容器撮影用カメラ4の干渉状態が解消された時点以降であれば、任意のタイミングに設定可能である。例えば、出荷容器撮影用カメラ4の利用済み情報の通知タイミングは、アーム動作制御259の終了時としてもよい。また、例えば、出荷容器撮影用カメラ4の利用済み情報の通知タイミングは、アーム動作制御(非保持上昇)の実行中(完了前)に出荷容器撮影用カメラ4の干渉状態が解消された時点としてもよい。
【0183】
また、動作ID「911」のアーム動作制御(非保持上昇)で利用したロボットアーム21及びロボットハンド22は、次の処理動作(動作ID「912」のアーム動作制御(非保持搬送))でも利用中となる(
図7中の黒丸印参照)。それゆえ、アーム動作制御(非保持上昇)の終了時のタスク間通信では、アーム動作制御(非保持上昇)で利用が完了した装置に関する情報は通知されない。
【0184】
また、アーム動作制御259の終了時、すなわち、アーム動作制御(非保持搬送)の終了時には、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、アーム動作制御(非保持搬送)で利用が完了した装置の情報が通知される(
図19中の矢印C17)。具体的には、アーム動作制御(非保持搬送)で利用が完了したロボットアーム21及びロボットハンド22(
図7中の黒丸印参照)が利用可能となったことを示す情報が、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに通知される。
【0185】
そして、アーム動作制御259の終了後、第1積み付け作業タスク235Bから積み付け管理タスク235Aに積み付け作業の完了情報が通知され(
図19中の矢印C18)、第1積み付け作業タスク235Bが終了する。これにより、1箱目のクッキー(物品10)の積み付け作業が終了する。
【0186】
次に、第2積み付け作業タスク235Cでの動作内容について説明する。
【0187】
積み付け管理タスク240Aから第2積み付け作業タスク235Cに積み付け指示が通知される(
図19中の矢印C11)と、第2積み付け作業タスク235Cが起動する。しかし、この時点では、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、第2積み付け作業タスク235Cの最初の処理動作(保管容器撮影261)で利用する保管容器撮影用カメラ3の利用済み情報が通知されていない。それゆえ、第2積み付け作業タスク235Cでは、起動時のタイミング(矢印C11のタイミング)から保管容器撮影用カメラ3の利用済み情報の通知タイミング(矢印C14のタイミング)までの期間、待機処理が行われる。
【0188】
そして、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、保管容器撮影用カメラ3の利用済み情報が通知されると、第2積み付け作業タスク235Cの保管容器撮影261が開始される。その後、第1積み付け作業タスク235Bと同様にして、第2積み付け作業タスク235Cのピッキング動作計画262、出荷容器撮影263、プレース動作計画264及びアーム動作計画265が、この順で実行される。また、第2積み付け作業タスク235Cでは、アーム動作計画265の終了後、第1積み付け作業タスク235Bと同様にして、ピッキング動作制御266、アーム動作制御267、プレース動作制御268及びアーム動作制御269が、この順で実行される。
【0189】
なお、第2積み付け作業タスク235Cの出荷容器撮影263は、第1積み付け作業タスク235Bから第2積み付け作業タスク235Cに、出荷容器撮影用カメラ4の利用済み情報が通知される(
図19中の矢印C16)まで実行されない。それゆえ、出荷容器撮影用カメラ4の利用済み情報の通知タイミングがピッキング動作計画262の終了以前であれば、ピッキング動作計画262の終了後、続けて第2積み付け作業タスク235Cの出荷容器撮影263が開始される。一方、出荷容器撮影用カメラ4の利用済み情報の通知タイミングがピッキング動作計画262の終了時より後であれば、ピッキング動作計画262の終了後、出荷容器撮影用カメラ4の利用済み情報が通知されるまで待機処理が行われる。
【0190】
また、第2積み付け作業タスク235C及び第3積み付け作業タスク235D間では、第1積み付け作業タスク235B及び第2積み付け作業タスク235C間で行う情報の通知動作(タスク間通信)と同様にして、情報の通知動作が行われる。
【0191】
具体的には、保管容器撮影261の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、保管容器撮影用カメラ3及び保管容器5が利用可能となったことを示す情報が通知される(
図19中の矢印C22)。出荷容器撮影263の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、出荷容器撮影用カメラ4及び出荷容器7が利用可能となったことを示す情報が通知される(
図19中の矢印C23)。
【0192】
また、第2積み付け作業タスク235Cのアーム動作制御267内のアーム動作制御(保持上昇)の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、保管容器撮影用カメラ3の利用済み情報が通知される(
図19中の矢印C24)。そして、第2積み付け作業タスク235Cから保管容器撮影用カメラ3の利用済み情報の通知を受けた第3積み付け作業タスク235では、それを契機として、保管容器撮影271が開始される。
【0193】
さらに、第2積み付け作業タスク235Cのプレース動作制御268の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、出荷容器7が利用可能となったことを示す情報が通知される(
図19中の矢印C25)。アーム動作制御269内のアーム動作制御(非保持上昇)の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、出荷容器撮影用カメラ4の利用済み情報が通知される(
図19中の矢印C26)。また、アーム動作制御269の終了時、すなわち、アーム動作制御(非保持搬送)の終了時には、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、ロボットアーム21及びロボットハンド22が利用可能となったことを示す情報が通知される(
図19中の矢印C27)。
【0194】
そして、第2積み付け作業タスク235Cでは、アーム動作制御269の終了後、第2積み付け作業タスク235Cから積み付け管理タスク235Aに積み付け完了情報が通知され(
図19中の矢印C28)、第2積み付け作業タスク235Cが終了する。これにより、2箱目のクッキー(物品10)の積み付け作業が終了する。
【0195】
次に、第3積み付け作業タスク235Dでの動作制御の内容について説明する。
【0196】
積み付け管理タスク240Aから第3積み付け作業タスク235Dに積み付け指示が通知される(
図19中の矢印C11)と、第3積み付け作業タスク235Dが起動する。しかし、この時点では、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、第3積み付け作業タスク235Dの最初の処理動作(保管容器撮影271)で利用する保管容器撮影用カメラ3の利用済み情報が通知されていない。それゆえ、第3積み付け作業タスク235Dでは、起動時のタイミング(矢印C11のタイミング)から保管容器撮影用カメラ3の利用済み情報の通知タイミング(矢印C24のタイミング)までの期間、待機処理が行われる。
【0197】
そして、第2積み付け作業タスク235Cから第3積み付け作業タスク235Dに、保管容器撮影用カメラ3の利用済み情報が通知されると、第3積み付け作業タスク235Dの保管容器撮影271が開始される。その後、
図19での図示は省略するが、第1積み付け作業タスク235Bと同様にして、第3積み付け作業タスク235Dのピッキング動作計画、出荷容器撮影、プレース動作計画及びアーム動作計画が、この順で実行される。また、
図19での図示は省略するが、第3積み付け作業タスク235Dでは、アーム動作計画の終了後、第1積み付け作業タスク235Bと同様にして、ピッキング動作制御、アーム動作制御、プレース動作制御及びアーム動作制御が、この順で実行される。
【0198】
なお、
図19に示す例では、第3積み付け作業タスク235Dの後続の積み付け作業タスクは存在しないので、第3積み付け作業タスク235Dから後続の積み付け作業タスクへの情報の通知動作(タスク間通信)は行われない。
【0199】
そして、第3積み付け作業タスク235Dでは、プレース動作制御後に行われるアーム動作制御(不図示)が終了すると、第3積み付け作業タスク235Dから積み付け管理タスク235Aに積み付け完了情報が通知され(
図19中の矢印C31)、第3積み付け作業タスク235Dが終了する。これにより、3箱目のクッキー(物品10)の積み付け作業が終了する。
【0200】
また、本実施形態の物品積み付けシステム1による物品積み付け作業では、
図19には示さないが、第3積み付け作業タスク235Dの終了後、積み付け管理タスク235Aにより、保管容器5の入替タスク(
図5中の作業タスクID「#B」のタスク)が行われる。また、保管容器の入替タスク終了後、2本の緑茶PET(商品ID「102」の物品10)の積み付け作業タスク(
図5中の作業タスクID「#4」及び「#5」のタスク)が、上述したクッキーの積み付け作業タスクと同様にして実行される。
【0201】
その後、再度、積み付け管理タスク235Aにより、保管容器の入替タスク(
図5中の作業タスクID「#C」のタスク)が行われる。そして、この2回目の保管容器の入替タスク終了後、4袋の袋麺(商品ID「103」の物品10)の積み付け作業タスク(
図5中の作業タスクID「#6」~「#9」のタスク)が、上述したクッキーの積み付け作業タスクと同様にして実行される。そして、4袋の袋麺の積み付け作業タスク終了後、保管容器5が所定の保管場所に戻され(
図5中の作業タスクID「#D」のタスク)、出荷容器7が次の工程の作業場所に搬送される(
図5中の作業タスクID「#E」のタスク)。これにより、本実施形態の物品積み付けシステム1による物品積み付け作業の全工程が終了する。上述のように、本実施形態の物品積み付けシステム1では、同種の複数の物品10の積み付け作業を連続して行う場合、先行の積み付け作業タスクの全動作が完了する前に、後続の積み付け作業タスクが開始される。
【0202】
<物品の積み付け作業タスクの処理フロー>
1個の物品10に対して行われる上述した積み付け作業タスク(
図5中の作業タスクID「#1」~「#9」の各タスク)の処理動作は、マルチコアプロセッサ231内の対応するCPUコア(第2コア231B~第4コア231Dのいずれか)により実行される。ここで、CPUコア(以下、単に「CPU」と称す)により実行される積み付け作業タスクの処理フローを説明する。
【0203】
(1)積み付け作業タスクの処理フロー
図20は、
図5中の作業タスクID「#1」~「#9」の各積み付け作業タスクの処理手順を示すフローチャートである。なお、この積み付け作業タスクは、積み付け管理タスク235Aから呼び出されて実行される。
【0204】
積み付け作業タスクでは、まず、CPUは、保管容器撮影を行う(S1)。この処理では、CPUは、保管容器撮影用カメラ3を制御して、保管容器5内における物品10の保管状況を撮影する。なお、保管容器撮影の詳細については、後述の
図21を参照しながら後で説明する。
【0205】
次いで、CPUは、タスク間通信処理を行う(S2)。この処理では、CPUは、後続の積み付け作業タスクに、保管容器撮影用カメラ3及び保管容器5が利用可能となったことを示す情報を通知する。具体的には、CPUは、保管容器撮影用カメラ3及び保管容器5の後述の利用状況ステータス「利用可」を後続の積み付け作業タスクに通知する。このS2のタスク間通信処理は、例えば、
図19中の矢印C12及びC22で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S2の処理は行われない。
【0206】
次いで、CPUは、ピッキング動作計画を行う(S3)。この処理では、CPUは、保管容器撮影(S2)の結果(撮影画像)に基づいて、保管容器5内におけるピックアップ対象の物品10及びその配置位置を決定し、当該物品10を保管容器5から取り出すためのロボットハンド22及びロボットアーム21の動作を計画する。
【0207】
次いで、CPUは、出荷容器撮影を行う(S4)。この処理では、CPUは、出荷容器撮影用カメラ4を制御して、出荷容器7内における物品10の積み付け状況を撮影する。なお、出荷容器撮影の詳細については、後述の
図22を参照しながら後で説明する。
【0208】
次いで、CPUは、タスク間通信処理を行う(S5)。この処理では、CPUは、後続の積み付け作業タスクに、出荷容器撮影用カメラ4及び出荷容器7が利用可能となったことを示す情報を通知する。具体的には、CPUは、出荷容器撮影用カメラ4及び出荷容器7の後述の利用状況ステータス「利用可」を後続の積み付け作業タスクに通知する。このS5のタスク間通信処理は、例えば、
図19中の矢印C13及びC23で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S5の処理は行われない。
【0209】
次いで、CPUは、プレース動作計画を行う(S6)。この処理では、まず、CPUは、出荷容器撮影(S4)の結果(撮影画像)に基づいて、出荷容器7内における物品10の積み付け状況及び積み付け可能な空きスペースの位置等を認識(検出)する。次いで、CPUは、出荷容器7内における物品10の積み付け位置を決定するとともに、当該物品10を出荷容器7内に積み付けるためのロボットハンド22及びロボットアーム21の動作を計画する。
【0210】
次いで、CPUは、アーム動作計画を行う(S7)。この処理では、CPUは、ピッキング動作計画で計画されたロボットハンド22の終点位置と、プレース動作計画で計画されたロボットハンド22の始点位置との間において、物品10を搬送させるためのロボットアーム21の軌道を計画する。
【0211】
次いで、CPUは、ピッキング動作制御を行う(S8)。この処理では、CPUは、S3で生成されたピッキング動作計画に基づき、ロボットアーム21及びロボットハンド22を制御して、保管容器5内のピックアップ対象の物品10をロボットハンド22で保持して保管容器5から取り出す。
【0212】
次いで、CPUは、アーム動作制御(保持上昇)を行う(S9)。この処理では、まず、CPUは、ロボットアーム21を制御して、ロボットハンド22で保持した物品10を、保管容器5の上方の所定位置に移動(上昇)させる。次いで、CPUは、ロボットアーム21を制御して、ロボットハンド22で保持した物品10を、保管容器撮影用カメラ3側から見てピッキングロボット2と保管容器5とが重ならない位置に移動させる。なお、これらの処理は、S7で生成されたアーム動作計画に基づいて行われる。
【0213】
次いで、CPUは、タスク間通信処理を行う(S10)。この処理では、CPUは、後続の積み付け作業タスクに、保管容器撮影用カメラ3の干渉状態が解消された旨の情報を保管容器撮影用カメラ3の利用済み情報として通知する。このS10のタスク間通信処理は、例えば、
図19中の矢印C14及びC24で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S10の処理は行われない。
【0214】
次いで、CPUは、アーム動作制御(保持搬送)を行う(S11)。この処理では、CPUは、ロボットアーム21を制御して、ロボットハンド22で保持した物品10を、アーム動作制御(保持上昇)の終了位置(終点)から出荷容器7の上方の位置まで移動させる。次いで、CPUは、アーム動作制御(保持下降)を行う(S12)。この処理では、CPUは、ロボットアーム21を制御して、ロボットハンド22で保持した物品10を、アーム動作制御(保持搬送)の終了位置(終点)から出荷容器7内の積み付け位置まで移動(下降)させる。なお、これらの処理は、S7で生成されたアーム動作計画に基づいて行われる。
【0215】
次いで、CPUは、プレース動作制御を行う(S13)。この処理では、CPUは、S6で生成されたプレース動作計画に基づき、ロボットアーム21及びロボットハンド22を制御して、物品10を出荷容器7内に積み付け、ロボットハンド22の保持機能を解放する。
【0216】
次いで、CPUは、タスク間通信処理を行う(S14)。この処理では、CPUは、後続の積み付け作業タスクに、出荷容器7が利用可能となったことを示す情報を通知する。このS14のタスク間通信処理は、例えば、
図19中の矢印C15及びC25で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S14の処理は行われない。
【0217】
次いで、CPUは、アーム動作制御(非保持上昇)を行う(S15)。この処理では、まず、CPUは、ロボットアーム21を制御して、物品10を解放したロボットハンド22を、出荷容器7の上方の所定位置に移動(上昇)させる。次いで、CPUは、ロボットアーム21を制御して、ロボットハンド22を、出荷容器撮影用カメラ4側から見てピッキングロボット2と保管容器5とが重ならない位置に移動させる。なお、これらの処理は、S6で生成されたプレース動作計画に基づいて行われる。
【0218】
次いで、CPUは、タスク間通信処理を行う(S16)。この処理では、CPUは、後続の積み付け作業タスクに、出荷容器撮影用カメラ4の干渉状態が解消された旨の情報を出荷容器撮影用カメラ4の利用済み情報として通知する。このS16のタスク間通信処理は、例えば、
図19中の矢印C16及びC26で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S16の処理は行われない。
【0219】
次いで、CPUは、アーム動作制御(非保持搬送)を行う(S17)。この処理では、CPUは、ロボットアーム21を制御して、ロボットハンド22を、アーム動作制御(非保持上昇)の終了位置(終点)からロボットハンド22の初期位置まで移動させる。なお、この処理は、S6で生成されたプレース動作計画に基づいて行われる。
【0220】
次いで、CPUは、タスク間通信処理を行う(S18)。この処理では、CPUは、後続の積み付け作業タスクに、ロボットアーム21及びロボットハンド22が利用可能となったことを示す情報を通知する。このS18のタスク間通信処理は、例えば、
図19中の矢印C17及びC27で示すタスク間通信の動作に対応する。なお、実行中の当該積み付け作業タスクに対して後続の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第3積み付け作業タスク235Dである場合)には、S18の処理は行われない。
【0221】
次いで、CPUは、積み付け管理タスク235Aに積み付け作業の完了情報を通知し(S19)、積み付け作業タスクを終了する。
【0222】
<保管容器撮影の処理フロー>
次に、
図21を参照して、積み付け作業タスク(
図20参照)中のS1で行う保管容器撮影の処理フローについて説明する。
図21は、保管容器撮影の処理手順を示すフローチャートである。
【0223】
まず、CPUは、先行の積み付け作業タスクで保管容器撮影用カメラ3が利用済みであるか否かを判別する(S21)。この処理では、CPUは、先行の積み付け作業タスクから保管容器撮影用カメラ3の利用済み情報が通知されているか否かを判別する。そして、CPUは、先行の積み付け作業タスクから保管容器撮影用カメラ3の利用済み情報が通知されている場合にはS21の判定結果をYES判定とし、保管容器撮影用カメラ3の利用済み情報が通知されていない場合にはS21の判定結果をNO判定とする。
【0224】
なお、実行中の当該積み付け作業タスクに対して先行の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第1積み付け作業タスク235Bである場合)には、CPUは、S21の処理を行わない。この場合、積み付け管理タスク235Aから積み付け指示が通知されると、後述のS22の処理から保管容器撮影の処理が開始される。
【0225】
S21において、CPUが先行の積み付け作業タスクで保管容器撮影用カメラ3が利用済みでないと判別した場合(S21がNO判定である場合)、CPUは、S21の処理を繰り返す。すなわち、CPUは、S21がYES判定になるまで、待機処理を行う。
【0226】
一方、S21において、CPUが先行の積み付け作業タスクで保管容器撮影用カメラ3が利用済みであると判別した場合(S21がYES判定である場合)、CPUは、保管容器撮影用カメラ3及び保管容器5の利用状況ステータスをともに「利用中」にセットする(S22)。
【0227】
次いで、CPUは、保管容器5の撮影(計測処理)を行う(S23)。次いで、CPUは、保管容器撮影用カメラ3及び保管容器5の利用状況ステータスをともに「利用可」に変更する(S24)。そして、S24の処理後、CPUは、保管容器撮影を終了し、処理を積み付け作業タスク(
図20参照)中のS2に移す。なお、S24で設定された保管容器撮影用カメラ3及び保管容器5の利用状況ステータスの情報は、保管容器撮影の終了後に行われるS2のタスク間通信処理で、後続の積み付け作業タスクに通知される。
【0228】
なお、上述したS21の判定処理では、保管容器撮影用カメラ3の利用済み情報を参照して判定を行う例を説明したが、本発明はこれに限定されない。S21の判定処理において、保管容器撮影用カメラ3の利用済み情報だけでなく、保管容器撮影用カメラ3及び保管容器5の利用状況ステータスも参照して判定を行ってもよい。例えば、S21の時点で、先行の積み付け作業タスクから保管容器撮影用カメラ3の利用済み情報が通知され、且つ、保管容器撮影用カメラ3及び保管容器5の利用状況ステータスが「利用可」である場合に、S21の判定結果をYES判定としてもよい。なお、実行中の当該積み付け作業タスクのS21の時点では、先行の積み付け作業タスクの保管容器撮影(
図20中のS24)により、保管容器撮影用カメラ3及び保管容器5の利用状況ステータスがすでに「利用可」にセットされている。このような判定手法を採用した場合、保管容器撮影、すなわち、積み付け作業タスクを開始可能であるか否かの判定をより正確に行うことができる。
【0229】
<出荷容器撮影の処理フロー>
次に、
図22を参照して、積み付け作業タスク(
図20参照)中のS4で行う出荷容器撮影の処理フローについて説明する。
図22は、出荷容器撮影の処理手順を示すフローチャートである。
【0230】
まず、CPUは、先行の積み付け作業タスクで出荷容器撮影用カメラ4が利用済みであるか否かを判別する(S31)。この処理では、CPUは、先行の積み付け作業タスクから出荷容器撮影用カメラ4の利用済み情報が通知されているか否かを判別する。そして、CPUは、先行の積み付け作業タスクから出荷容器撮影用カメラ4の利用済み情報が通知されている場合にはS31の判定結果をYES判定とし、出荷容器撮影用カメラ4の利用済み情報が通知されていない場合にはS31の判定結果をNO判定とする。
【0231】
なお、実行中の当該積み付け作業タスクに対して先行の積み付け作業タスクが存在しない場合(当該積み付け作業タスクが例えば第1積み付け作業タスク235Bである場合)には、CPUは、S31の処理を行わない。この場合、ピッキング動作計画(S3)終了後、待機せずに後述のS32から出荷容器撮影の処理が開始される。
【0232】
S31において、CPUが先行の積み付け作業タスクで出荷容器撮影用カメラ4が利用済みでないと判別した場合(S31がNO判定である場合)、CPUは、S31の処理を繰り返す。すなわち、CPUは、S31がYES判定になるまで、待機処理を行う。
【0233】
一方、S31において、CPUが先行の積み付け作業タスクで出荷容器撮影用カメラ4が利用済みであると判別した場合(S31がYES判定である場合)、CPUは、出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスをともに「利用中」にセットする(S32)。
【0234】
次いで、CPUは、出荷容器7の撮影(計測処理)を行う(S33)。次いで、CPUは、出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスをともに「利用可」に変更する(S34)。そして、S34の処理後、CPUは、出荷容器撮影を終了し、処理を積み付け作業タスク(
図20参照)中のS5に移す。なお、S34で設定された出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスの情報は、出荷容器撮影の終了後に行われるS5のタスク間通信処理で、後続の積み付け作業タスクに通知される。
【0235】
なお、上述したS31の判定処理では、出荷容器撮影用カメラ4の利用済み情報を参照して判定を行う例を説明したが、本発明はこれに限定されない。S31の判定処理において、出荷容器撮影用カメラ4の利用済み情報だけでなく、出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスも参照して判定を行ってもよい。例えば、S31の時点で、先行の積み付け作業タスクから出荷容器撮影用カメラ4の利用済み情報が通知され、且つ、出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスが「利用可」である場合に、S31の判定結果をYES判定としてもよい。なお、実行中の当該積み付け作業タスクのS31の時点では、先行の積み付け作業タスクの出荷容器撮影(
図20中のS34)により、出荷容器撮影用カメラ4及び出荷容器7の利用状況ステータスがすでに「利用可」にセットされている。このような判定手法を採用した場合、出荷容器撮影を開始可能であるか否かの判定をより正確に行うことができる。
【0236】
<エラー対策>
本実施形態の物品積み付けシステム1では、複数の物品10の積み付け作業において、例えば、途中で物品10の積み付け作業ができなくなるような状況が発生した場合を考慮して、次の2つのエラー対策が設けられている。そして、エラー発生時は、2つのエラー対策のうちの一方が適宜実行される。
(1)1個の物品10に対する積み付け作業タスクの処理時間の上限値を予め設定し、積み付け作業タスクの処理時間がその上限値を超えた場合には、積み付け作業そのものを終了させる。
(2)1個の物品10に対する積み付け作業タスクの処理時間の上限値を予め設定し、積み付け作業タスクの処理時間がその上限値を超えた場合には、当該積み付け作業タスクは、作業継続不可と判定し、その旨を積み付け管理タスクに通知する。そして、その通知を受けた積み付け管理タスクは、実行中の積み付け作業タスクを停止し、後続の積み付け作業タスクを開始する。すなわち、積み付け管理タスクの実行順序を変更する。
【0237】
[各種変形例]
上記実施形態の物品積み付けシステム1では、1個の物品毎に積み付け作業タスクを設け、当該積み付け作業タスクの管理を積み付け管理タスクで行う構成例を説明したが、本発明はこれに限定されない。例えば、積み付け管理タスクから、積み付け作業タスクを構成する各処理動作に直接指示命令を出して、物品10の積み付け作業を実行する構成にしてもよい。
【0238】
上記実施形態の物品積み付けシステム1では、積み付け作業タスクを構成する処理動作の動作IDを、物品10、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4の種別に応じて適宜変更する例を説明した。しかしながら、本発明はこれに限定されず、物品10、ロボットアーム21、ロボットハンド22、保管容器撮影用カメラ3及び出荷容器撮影用カメラ4の少なくとも一つの種別に応じて、積み付け作業タスクを構成する処理動作の動作IDを適宜変更する構成にしてもよい。
【0239】
上記実施形態の物品積み付けシステム1では、同種類の複数の物品10を連続して積み付ける場合に、先行の積み付け作業タスクの完了前に後続の積み付け作業タスクを実行する構成例を説明したが、本発明はこれに限定されない。上記実施形態で説明した同種類の複数の物品10に対する積み付け作業の制御手法は、異なる種類の物品10を連続して積み付ける場合にも同様に適用可能である。例えば、保管容器撮影用カメラ3の撮影範囲で且つピッキングロボット2によりピッキング可能な範囲内に、異なる種類の物品10を保管した複数の保管容器5(保管スペース)をセットできる場合には、上記実施形態と同様にして、異なる種類の複数の物品10を連続して積み付けることができる。
【0240】
上記実施形態の物品積み付けシステム1では、保管容器5及び出荷容器7の搬送手段にコンベアを使用する構成例を説明したが、本発明はこれに限定されない。保管容器5及び出荷容器7の搬送手段は、任意であり、例えば、物品10の種別や、倉庫内の周辺搬送システム(搬送棚、AGVなど)との連携態様などに応じて適宜設定することができる。また、作業員等が保管容器5及び出荷容器7を所定の位置に直接配置する場合(手置きする場合)には、物品積み付けシステム1において、保管容器5及び出荷容器7の搬送手段を設けなくてもよい。
【0241】
また、上記実施形態の物品積み付けシステム1では、複数の物品10を出荷容器7に積み付ける構成例を説明したが、本発明はこれに限定されない。例えば、複数の物品10を予め決められた特定のエリア(スペース)やパレットなどに積み付ける場合にも、上記実施形態の物品積み付けシステム1及びロボットシステム11を適用可能である。さらに、上記実施形態の物品積み付けシステム1では、複数の物品10を保管容器5で保管する構成例を説明したが、本発明はこれに限定されない。例えば、複数の物品10の保管態様は、複数の物品10を予め決められた所定のエリア(スペース)やパレットなどで保管する構成にしてもよい。
【0242】
[各種効果]
本実施形態のロボットシステム11による物品10の積み付け作業では、上述のように、積み付け作業タスク内で最初に行われる処理動作で利用する装置が利用済みである情報が、先行の積み付け作業タスクから後続の積み付け作業タスクに通知される。そして、当該利用済みの情報の通知を契機として、後続の積み付け作業タスクが開始される。すなわち、本実施形態では、先行の積み付け作業タスクの全動作制御が完了する前に、後続の積み付け作業タスクが開始される。それゆえ、本実施形態では、
図18に示す従来のシステムに比べて、物品積み付け時の作業スループットを向上させることができる。すなわち、本実施形態では、例えば一つの出荷容器等の特定エリア内に複数の物品を効率的に積み付けることができる。
【0243】
また、本実施形態のロボットシステム11による物品10の積み付け作業では、上述のように、複数の積み付け作業タスクに対して、積み付け管理タスク235Aから同時に積み付け指示(開始命令)が通知される(
図19中の矢印C11参照)。それゆえ、本実施形態では、従来のシステム(
図18)に比べて、積み付け管理タスク235Aから複数の積み付け作業タスクへの積み付け指示の通知回数が1回で済み、積み付け管理タスク235Aでの処理量を減らすことができる。すなわち、この構成により、物品積み付け時の作業スループットをさらに向上させることができる。
【0244】
また、本実施形態のロボットシステム11による物品10の積み付け作業では、上述のように、1個の物品10毎に積み付け作業タスクを設け、当該積み付け作業タスクの管理を積み付け管理タスクで行う(
図19参照)。すなわち、積み付け作業タスクを構成する各種処理動作が同じタスク内で実行されるので、各種画像データや各種計画データなどの大量のデータをタスク内の処理動作間で共有することができる。それゆえ、本実施形態では、処理動作間における大量のデータの転送処理が不要となり、ロボットコントローラ23の処理負荷を低減し、処理効率が向上し、これにより処理の高性能化を図ることができる。
【0245】
さらに、本実施形態のロボットシステム11による物品10の積み付け作業では、上述のように、積み付け作業中に利用又は干渉が完了した装置に関する情報が、タスク間通信により、並列処理されている複数の積み付け作業タスク間で共有される。それゆえ、本実施形態では、ロボットコントローラ23による物品の積み付け作業の処理効率を向上させることができる。
【0246】
[その他]
以上、本発明の一実施形態及びその各種変形例に係る物品積み付けシステム1、ロボットシステム11、ロボットコントローラ23及びそれらを用いた物品10の積み付け作業について説明したが、本発明はこれらに限定されない。例えば、上記した実施形態例は本発明を分かりやすく説明するためにシステム及び装置の構成を詳細且つ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、本発明は、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得る。
【0247】
さらに、上述した制御に係る各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上述した制御に係る各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。なお、各機能を実現するプログラム、テーブル、ファイル等の情報(データ)は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又はICカード、SDカード、DVD等の記録媒体に格納することができる。
【符号の説明】
【0248】
1…物品積み付けシステム、2…ピッキングロボット、3…保管容器撮影用カメラ、4…出荷容器撮影用カメラ、5…保管容器、6…保管容器用コンベア、7…出荷容器、8…出荷容器用コンベア、10…物品、11…ロボットシステム、21…ロボットアーム、22…ロボットハンド、23…ロボットコントローラ、235…ロボット制御アプリケーション、235A…積み付け管理タスク、235B…第1積み付け作業タスク、235C…第2積み付け作業タスク、235D…第1積み付け作業タスク