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

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

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

<>
  • 特許-プログラム 図1
  • 特許-プログラム 図2
  • 特許-プログラム 図3
  • 特許-プログラム 図4
  • 特許-プログラム 図5
  • 特許-プログラム 図6
  • 特許-プログラム 図7
  • 特許-プログラム 図8
  • 特許-プログラム 図9
  • 特許-プログラム 図10
  • 特許-プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】プログラム
(51)【国際特許分類】
   B65G 1/137 20060101AFI20240722BHJP
   B65G 1/00 20060101ALI20240722BHJP
   B65G 1/10 20060101ALI20240722BHJP
【FI】
B65G1/137 A
B65G1/00 501C
B65G1/10 Z
【請求項の数】 8
(21)【出願番号】P 2021007900
(22)【出願日】2021-01-21
(65)【公開番号】P2022112191
(43)【公開日】2022-08-02
【審査請求日】2023-11-10
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】浅利 幸生
【審査官】内田 茉李
(56)【参考文献】
【文献】特開2020-001868(JP,A)
【文献】国際公開第2017/149705(WO,A1)
【文献】特開2019-206415(JP,A)
【文献】特開平06-156648(JP,A)
【文献】特開2004-231303(JP,A)
【文献】特開2020-117377(JP,A)
【文献】特開平6-100120(JP,A)
【文献】特開平8-81025(JP,A)
【文献】特開2007-8650(JP,A)
【文献】特開2018-12586(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/137
B65G 1/00
B65G 1/10
(57)【特許請求の範囲】
【請求項1】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
複数のピッキングステーションに自動搬送車によって搬送され、呼び出される棚を特定する棚コードを前記棚が呼び出される順序で示す棚呼び出しリストを取得する機能と、
前記棚呼び出しリストにおいて同一のタイミングで2つ以上のピッキングステーションに同一の棚が呼び出される場合、前記2つ以上のピッキングステーションの何れかにおいて前記タイミングにおける第1の棚コードをピッキングステーションが同時に処理する棚の個数であるソート数、離れた順序の第2の棚コードと入れ替える入替処理を実行する機能と、
を実行させるプログラム。
【請求項2】
前記プロセッサに、
前記第2の棚コードが既に入れ替えられている場合、前記第1の棚コードをランダムに選択された順序の棚コードと入れ替える機能を実現させる、
請求項1に記載のプログラム。
【請求項3】
前記ソート数は、以下の式によって算出され、
(1-(n/N)^m)*(1-((n+1)/N)^m)*…*(1-((n+s-1)/N)^m) >= p
ここで、mは、ソート数であり、nは、前記自動搬送車の個数であり、Nは、前記棚の個数であり、sは、前記ピッキングステーションの個数であり、pは、所定の確率である、
請求項1又は2に記載のプログラム。
【請求項4】
前記プロセッサに、
前記入替処理を所定の回数、実行する機能を実現させる、
請求項1乃至3の何れか1項に記載のプログラム。
【請求項5】
前記プロセッサに、
前記入替処理を行うごとに、同一のタイミングで2つ以上のピッキングステーションに同一の棚が呼び出されている衝突回数と前記棚呼び出しリストとを記憶部に格納する機能と、
前記記憶部が格納する前記呼び出しリストの中から最も衝突回数が少ない前記棚呼び出しリストを選択する機能と、
を実現させる、
請求項4に記載のプログラム。
【請求項6】
前記プロセッサに、
選択された前記棚呼び出しリストを前記自動搬送車を制御する制御装置に送信する機能を実現させる、
請求項5に記載のプログラム。
【請求項7】
前記プロセッサに、
前記棚呼び出しリストから前記ソート数の棚コードを取得する機能と、
前記取得された棚コードの棚から呼び出し不可能な棚を特定する機能と、
前記特定された棚の棚コードの順序を後ろに変更させた一時リストを生成する機能と、
前記一時リストに従って前記自動搬送車に前記棚を前記ピッキングステーションへ搬送させる機能と、
を実現させる、
請求項1乃至5の何れか1項に記載のプログラム。
【請求項8】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
複数のピッキングステーションに自動搬送車によって搬送され、呼び出される棚を特定する棚コードを前記棚が呼び出される順序で示す棚呼び出しリストを取得する機能と、
前記棚呼び出しリストから所定のソート数の棚コードを取得する機能と、
前記取得された棚コードの棚から呼び出し不可能な棚を特定する機能と、
前記特定された棚の棚コードの順序を後ろに変更させた一時リストを生成する機能と、
前記一時リストに従って前記自動搬送車に前記棚を前記ピッキングステーションへ搬送させる機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プログラムに関する。
【背景技術】
【0002】
近年、自動搬送車を用いて物品を格納する棚をピッキングステーションに搬送するシステムが提供されている。ピッキングステーションでは、オペレータ又はロボットが自動搬送車によって搬送された棚から物品をピッキングする。
【0003】
そのようなシステムには、複数のピッキングステーションを備えるものがある。
【0004】
従来、システムは、所定のピッキングステーションに搬送される棚が既に他のピッキングステーションに搬送されている場合、棚の順番待ちが発生するおそれがある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-40762号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の課題を解決するため、ピッキングステーションに棚を効果的に搬送することができるプログラムを提供する。
【課題を解決するための手段】
【0007】
実施形態によれば、プロセッサによって実行されるプログラムは、前記プロセッサに、複数のピッキングステーションに自動搬送車によって搬送され、呼び出される棚を特定する棚コードを前記棚が呼び出される順序で示す棚呼び出しリストを取得する機能と、前記棚呼び出しリストにおいて同一のタイミングで2つ以上のピッキングステーションに同一の棚が呼び出される場合、前記2つ以上のピッキングステーションの何れかにおいて前記タイミングにおける第1の棚コードをピッキングステーションが同時に処理する棚の個数であるソート数、離れた順序の第2の棚コードと入れ替える入替処理を実行する機能と、を実行させる。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る制御システムの適用例を示す図である。
図2図2は、実施形態に係る制御システムの一例を示すブロック図である。
図3図3は、実施形態に係る上位管理装置の一例を示すブロック図である。
図4図4は、実施形態に係るAGV制御装置の一例を示すブロック図である。
図5図5は、実施形態に係るAGVの一例を示すブロック図である。
図6図6は、実施形態に係るオーダーリストの一例を示す図である。
図7図7は、実施形態に係る棚呼び出しリストの一例を示す図である。
図8図8は、実施形態に係るAGV制御装置の動作例を示す図である。
図9図9は、実施形態に係る上位管理装置の動作例を示すフローチャートである。
図10図10は、実施形態に係る上位管理装置の動作例を示すフローチャートである。
図11図11は、実施形態に係るAGV制御装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
実施形態に係る制御システムは、物流システムなどにおいて棚から物品をピッキングする。制御システムは、自動搬送車(automated guided vehicle(AGV))を用いて棚をピッキングステーションに搬送する。制御システムは、ピッキングステーションにおいて棚から物品をピッキングする。制御システムは、オペレータ又はロボットに棚から物品をピッキングさせる。たとえば、制御システムは、物流センタ又は倉庫などで用いられる。
【0010】
図1は、実施形態に係る制御システムの適用例を示す図である。
図1に示すように、制御システムは、ピッキングステーションP1乃至P4、AGV7、AGV棚8、ピッキングロボット111、及び表示装置112などを備える。ここでは、制御システムは、n個のAGV7及びN個のAGV棚8を備える。
【0011】
ピッキングステーションP1乃至P4には、ピッキングロボット111及び表示装置112がそれぞれ設置される。制御システムは、各ピッキングステーションP1乃至P4において、ピッキングロボット111を稼働しピッキングロボット111により物品をピッキングすることができる。また、制御システムは、ピッキングロボット111の稼働を停止して係員113を配置し係員113に物品をピッキングさせることもできる。係員113は、表示装置112に表示される物品処理スケジュール等を目視確認して物品を処理することができる。なお、表示装置112は、係員113に割り当てられた無線通信端末であってもよい。
【0012】
また、ピッキングステーションP1乃至P4に表示装置112を設置し、一部のピッキングステーションにピッキングロボット111を設置するようにしてもよい。この場合、ピッキングロボット111が設置されていないピッキングステーションは、係員113用のピッキングステーションとして利用される。なお、ピッキングロボット111が設置されているピッキングステーションは、ピッキングロボット111用及び係員113用の何れのピッキングステーションとしても利用可能である。
【0013】
なお、制御システムは、複数のカメラを備えてもよい。また、複数のカメラのうちの1又は数台を固定式カメラとし、残りを移動式カメラとしてもよい。固定式カメラは、例えば天井、壁面、及びピッキングステーションP1乃至P4に対する上面と側面等に固定されたカメラであり、倉庫全体及び倉庫内で処理される物品を撮影し、撮影データをリアルタイムに出力する。撮影データは、撮影日時データ(撮影時刻含む)及び撮影画像データを含む。撮影画像データは、静止画データ及び動画データである。また、固定式カメラは、上位管理装置1からの撮影制御信号に基づき上下左右に回動してもよい。固定式カメラが、上下左右に回動することにより、広範囲に倉庫内を監視することができる。
【0014】
AGV7は、後術するAGV制御装置からの制御信号に基づき動作する。例えば、AGV7は、指定された積み込み位置へ向かって走行し、指定された積み込み位置のAGV棚8を持ち上げる。AGV7は、指定された積み降ろし位置へ向かって走行し、指定された積み降ろし位置でAGV棚8を降ろす。
【0015】
AGV棚8は、物品を格納する棚である。例えば、AGV棚8は、四本の支柱で直立する。AGV棚8の棚下の高さは(床面から棚底までの高さ)、AGV7の高さよりも高い。これにより、AGV7は、AGV棚8の棚下に潜り込むことができる。棚下に潜り込んだAGV7は、プッシャーにより床面から支柱の先端が数センチ離れる程度にAGV棚8を持ち上げて、AGV棚8を持ち上げた状態で走行する。このようにしてAGV7は、AGV棚8を搬送する。
【0016】
また、AGV棚8には、固定式カメラ又は移動式カメラ等で読み取り可能な棚識別情報が貼り付けられている。物品にも、固定式カメラ又は移動式カメラ等で読み取り可能な物品識別情報が貼り付けられている。例えば、棚識別情報及び物品識別情報は、バーコードや二次元コードである。なお、制御システムは、固定式カメラ又は移動式カメラとは別に、これら棚識別情報及び物品識別情報を読み取る複数のリーダを備えてもよい。
【0017】
ピッキングステーションP1乃至P4は、AGV7により搬送されたAGV棚8を受け入れる。ピッキングステーションP1乃至P4で受け入れられたAGV棚8には、物品が格納されている。ピッキングロボット111による物品処理が指定されている場合には、ピッキングロボット111は、AGV棚8に収容された物品を把持(グリップ)してピッキングする。係員113による物品処理が指定されている場合には、配置された係員113は、手作業により、AGV棚8に収容された物品を把持してピッキングする。また、ピッキングステーションP1乃至P4に対応して設けられる表示装置112は、物品処理スケジュールに加えて、係員113のピッキング作業を支援する情報、例えば処理対象となる物品の画像及び物品識別情報を表示する。係員113は、表示装置112の表示内容を目視確認して、物品をピッキングする。
【0018】
図2は、実施形態に係る制御システムの制御系の一例を示すブロック図である。
図2に示すように、制御システムは、上位管理装置1、AGV制御装置4、スイッチ5、無線LANアクセスポイント6、AGV7、充電ステーション9、ピッキングロボット111、表示装置112、及びピッキングステーションP1乃至P4を備える。
【0019】
上位管理装置1は、倉庫管理システム(WMS:Warehouse Management System)と呼ばれ、1又は複数のコンピュータで実現可能である。上位管理装置1は、倉庫内に保管される物品に関する物品管理情報を記憶する。物品管理情報は、各AGV棚8が格納する物品を示す。
【0020】
上位管理装置1は、外部装置からピッキングする物品を示すオーダーを取得する。上位管理装置1は、オーダーに基づいて、AGV棚8を各ピッキングステーションP1乃至P4に配送する順序を示す棚呼び出しリストを生成する。上位管理装置1は、棚呼び出しリストをAGV制御装置4に出力する。上位管理装置1については、後に詳述する。
【0021】
AGV制御装置4(制御装置)は、倉庫制御システム(WCS:Warehouse Control System)と呼ばれ、1又は複数のコンピュータで実現可能である。AGV制御装置4は、棚呼び出しリストを取得し、記憶する。また、AGV制御装置4は、各AGV棚8が配置されている位置及びAGV棚8が配置されているエリア(たとえば、倉庫など)を示すマップデータを格納する。
【0022】
また、AGV制御装置4は、棚呼び出しリストに基づいて、ピッキングステーションP1乃至P4にAGV棚8を呼び出す。即ち、AGV制御装置4は、各AGV7を制御してAGV棚8をピッキングステーションP1乃至P4に配送する。
AGV制御装置4については、後に詳述する。
【0023】
充電ステーション9は、電力出力部を備える。また、AGV7は、電力入力部及びバッテリーを備える。充電ステーション9は、電力出力部から出力される電力をAGV7へ供給する。AGV7は、電力入力部を介して入力される電力をバッテリーに供給する。例えば、電力出力部の床面からの高さは、AGV7の電力入力部の床面からの高さと同一である。AGV7は、AGV制御装置4からの制御に基づき充電ステーション9の電力出力部に対応する位置まで走行し、電力入力部を電力出力部に接続し、電力供給を受ける。なお、電力入力部と電力出力部の接続は、接触又は非接触の何れでも良い。
【0024】
無線LANアクセスポイント6は、AGV7、及び充電ステーション9等の通信デバイスとデータを送受信する。また、制御システムが、固定式カメラ及び移動式カメラを備える場合は、無線LANアクセスポイント6は、固定式カメラ及び移動式カメラとデータを送受信する。また、スイッチ5は、受信したデータの宛先を選択して、選択した宛先にデータを送信する。
【0025】
次に、上位管理装置1について説明する。
図3は、実施形態に係る上位管理装置1の一例を示すブロック図である。
上位管理装置1は、1又は複数のコンピュータにより構成される。例えば、上位管理装置1は、プロセッサ11、ROM12、RAM13、補助記憶デバイス14、及び通信インタフェース15などを備える。
【0026】
プロセッサ11は、上位管理装置1全体の動作を制御する機能を有する。プロセッサ11は、内部キャッシュ及び各種のインタフェースなどを備えてもよい。プロセッサ11は、内部メモリ、ROM12又は補助記憶デバイス14が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0027】
たとえば、プロセッサ11は、CPU(Central Processing Unit)である。なお、プロセッサ11は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、又はFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよい。
【0028】
ROM12は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM12は、プロセッサ11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサ11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0029】
補助記憶デバイス14(記憶部)は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス14は、プロセッサ11が各種の処理を行う上で使用するデータ、プロセッサ11での処理によって生成されたデータ又は各種の設定値などを保存する。
【0030】
補助記憶デバイス14は、マップデータを予め格納する。また、補助記憶デバイス14は、各AGV棚8が格納する物品を示す棚情報を予め格納する。たとえば、棚情報は、AGV棚8を示す棚コードとAGV棚8が格納する物品を示す物品コードとを対応付けて格納する。
【0031】
なお、ROM12又は補助記憶デバイス14に上記のプログラムが記憶された状態で、上位管理装置1が譲渡されてもよいし、上記のプログラムを記憶しない状態で、上位管理装置1が譲渡されてもよい。後者の場合、上位管理装置1は、光ディスク又は半導体メモリのようなリムーバブルな記憶媒体に記憶された上記のプログラムを読み取り、読み取ったプログラムを補助記憶デバイス14へ書き込む。又は、上位管理装置1は、ネットワークなどを介して上記のプログラムをダウンロードし、ダウンロードしたプログラムを補助記憶デバイス14へ書き込む。
【0032】
通信インタフェース15は、種々の装置とデータを送受信するためのインタフェースである。通信インタフェース15は、AGV制御装置4及び表示装置112などに接続する。また、通信インタフェース15は、外部装置からオーダーなどを取得する。たとえば、通信インタフェース15は、LAN(local area network)接続などをサポートする。また、通信インタフェース15は、AGV制御装置4とデータを送受信するためのインタフェースと、表示装置112とデータを送受信するためのインタフェースと、から構成されてもよい。
【0033】
次に、AGV制御装置4について説明する。
図4は、実施形態に係るAGV制御装置4の一例を示すブロック図である。
AGV制御装置4は、1又は複数のコンピュータにより構成される。例えば、AGV制御装置4は、プロセッサ41、ROM42、RAM43、補助記憶デバイス44、及び通信インタフェース45を備える。
【0034】
プロセッサ41は、AGV制御装置4全体の動作を制御する機能を有する。プロセッサ41は、内部キャッシュ及び各種のインタフェースなどを備えてもよい。プロセッサ41は、内部メモリ、ROM42又は補助記憶デバイス44が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0035】
たとえば、プロセッサ41は、CPUである。なお、プロセッサ41は、LSI、ASIC、又はFPGA等のハードウェアにより実現されてもよい。
【0036】
ROM42は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM42は、プロセッサ41が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM43は、データの読み書きに用いられるメモリである。RAM43は、プロセッサ41が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0037】
補助記憶デバイス44は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス44は、プロセッサ41が各種の処理を行う上で使用するデータ、プロセッサ41での処理によって生成されたデータ又は各種の設定値などを保存する。
【0038】
通信インタフェース45は、種々の装置とデータを送受信するためのインタフェースである。通信インタフェース45は、上位管理装置1に接続する。また、通信インタフェース45は、無線LANアクセスポイント6を通じてAGV7に接続する。たとえば、通信インタフェース45は、LAN接続などをサポートする。通信インタフェース45は、上位管理装置1とデータを送受信するためのインタフェースと、AGV7とデータを送受信するためのインタフェースと、から構成されてもよい。
【0039】
次に、AGV7について説明する。
図5は、実施形態に係るAGV7の一例を示すブロック図である。
AGV7は、プロセッサ71、ROM72、RAM73、補助記憶デバイス74、通信インタフェース75、駆動部76、センサ77、バッテリー78、充電機構79、及びタイヤ70などを備える。
【0040】
プロセッサ71は、AGV7全体の動作を制御する機能を有する。プロセッサ71は、内部キャッシュ及び各種のインタフェースなどを備えてもよい。プロセッサ71は、内部メモリ、ROM72又は補助記憶デバイス74が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0041】
たとえば、プロセッサ71は、CPUである。なお、プロセッサ71は、LSI、ASIC、又はFPGA等のハードウェアにより実現されてもよい。
【0042】
プロセッサ71は、加速、減速、停止、方向転換、及びAGV棚8の積み降ろし等の動作に必要な演算及び制御などの処理を行う。プロセッサ71は、AGV制御装置4からの制御信号に基づき、ROM72等に記憶されたプログラムを実行することにより、駆動信号を生成し各部に出力する。
【0043】
例えば、AGV制御装置4は、AGV7を現在位置から第1の位置(目的のAGV棚8の位置)へ移動させて第1の位置から第2の位置(目的のピッキングステーションP1乃至P4の位置)へ移動させる制御信号を送信する。また、AGV制御装置4は、AGV7を第2の位置から第1の位置へ移動させる制御信号を送信する。AGV7のプロセッサ71は、AGV制御装置4から送信される制御信号に応じた駆動信号を出力する。これにより、AGV7は、現在位置から第1の位置へ移動し、第1の位置から第2の位置へ移動し、第2の位置から第1の位置へ移動する。また、プロセッサ71は、AGV制御装置4から送信される制御信号に含まれるAGV棚8の積み降ろし指示に応じた駆動信号を出力する。これにより、AGV7は、プッシャーPUによりAGV棚8を持ち上げたり、持ち上げたAGV棚8を降ろしたりする。
【0044】
ROM72は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM72は、プロセッサ71が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM73は、データの読み書きに用いられるメモリである。RAM73は、プロセッサ71が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0045】
補助記憶デバイス74は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス74は、プロセッサ71が各種の処理を行う上で使用するデータ、プロセッサ71での処理によって生成されたデータ又は各種の設定値などを保存する。
【0046】
通信インタフェース75は、無線LANアクセスポイント6を通じてAGV制御装置4とデータを送受信するインタフェースである。たとえば、通信インタフェース75は、無線LAN接続をサポートする。
【0047】
駆動部76は、モータ等であり、プロセッサ71から出力される駆動信号に基づきモータを回転又は停止する。モータの動力は、タイヤ70に伝達され、また、モータの動力は、操舵機構に伝達される。このようなモータからの動力により、AGV7は、目的位置へ移動する。
【0048】
また、AGV7がAGV棚8下に潜り込んだ状態で、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(順回転)する。このモータからの動力によりプッシャーが上昇しAGV棚8が持ち上げられる。また、AGV7が目的位置に到達した後、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(逆回転)する。このモータからの動力によりプッシャーが下降しAGV棚8が床面に降ろされる。
【0049】
センサ77は、複数の反射センサである。各反射センサは、AGV7の周囲に取り付けられる。各反射センサは、レーザ光を照射し、レーザ光を照射してからレーザ光が物体で反射して戻るまでの時間を検出し、検出された時間に基づき物体までの距離を検知し、検知信号をプロセッサ71へ通知する。プロセッサ71は、センサ77からの検知信号に基づき、AGV7の走行を制御する制御信号を出力する。例えば、プロセッサ71は、センサ77からの検知信号に基づき、物体への衝突を回避する減速又は停止等の制御信号を出力する。なお、センサ77以外に、カメラを備え、カメラが、周辺を撮影し撮影画像をプロセッサ71へ出力してもよい。この場合、プロセッサ71は、撮影画像を解析し、物体への衝突を回避する減速又は停止等の制御信号を出力する。
【0050】
バッテリー78は、駆動部76等に必要な電力を供給する。充電機構79は、充電ステーション9とバッテリー78とを接続する機構であり、バッテリー78は、充電機構79を介して充電ステーション9から供給される電力により充電される。
【0051】
次に、上位管理装置1が実現する機能について説明する。プロセッサ11が実現する機能は、プロセッサ11が内部メモリ、ROM12又は補助記憶デバイス14などに格納されるプログラムを実行することで実現される。
【0052】
まず、プロセッサ11は、ピッキングする物品を示すオーダーを取得する機能を有する。
プロセッサ11は、通信インタフェース15を通じて外部装置からオーダーを取得する。また、プロセッサ11は、操作部などを通じてオーダーの入力を受け付けるものであってもよい。ここでは、各オーダーは、1つの物品を示す。
【0053】
また、オーダーは、注文伝票から生成される。注文伝票は、複数の物品を含む場合、オーダーは、複数の物品にそれぞれ生成される。
プロセッサ11は、所定の個数のオーダーをリスト化してオーダーリストを生成する。
【0054】
また、プロセッサ11は、複数のオーダーを1つのオーダーにまとめる機能を有する。
プロセッサ11は、ある注文伝票が異なる物品を含むが異なる物品が同一のAGV棚8に格納されている場合、各物品に対応するオーダーを1つのオーダーにまとめる。即ち、プロセッサ11は、所定のAGV棚から異なる物品を一度にピッキングできる場合には、オーダーを1つにまとめる。
【0055】
図6は、オーダーリストの例を示す。図6が示すように、オーダーリストは、オーダーとして、「伝票番号」、「商品CD」及び「同梱実績」などを対応付けて格納する。
【0056】
「伝票番号」は、注文伝票を示す番号である。
「商品CD」は、注文伝票によって注文されている物品(ピッキングする商品)を示す商品コードである。
【0057】
「同梱実績」は、物品の同梱に関するコードである。「同梱実績」が同一である商品は、同一のAGV棚8に格納されている。
【0058】
図6が示す例では、プロセッサ11は、「伝票番号」として「181673170」を有する2つのオーダーを特定する。プロセッサ11は、当該2つのオーダーが異なる「商品CD」を有するが同一の「同梱実績」を有すると判定する。従って、プロセッサ11は、当該2つのオーダーを1つのオーダーにまとめる。
【0059】
プロセッサ11は、他のオーダーについても同様に複数のオーダーを1つのオーダーにまとめる。
【0060】
なお、プロセッサ11は、所定のピッキングステーションで処理されるオーダーの中で同じAGV棚8に格納される物品を含む複数のオーダーを1つのオーダーにまとめてもよい。
【0061】
また、プロセッサ11は、同一のAGV棚8を複数のピッキングステーションが同時に呼び出さないように棚呼び出しリストを最適化する機能を有する。
【0062】
まず、プロセッサ11は、オーダーをまとめると、棚呼び出しリストを生成する。棚呼び出しリストは、各ピッキングステーションにおいて呼び出されるAGV棚8を示す棚コードをAGV棚8が呼び出される順序で示す。
【0063】
図7は、棚呼び出しリストの構成例を示す。図7が示すように、棚呼び出しリストは、複数のレコードから構成される。1つのレコードは、所定のタイミングで各ピッキングステーションに呼び出されるAGV棚8を示す。
【0064】
棚呼び出しリストは、「レコード番号」、「P1」、「P2」、「P3」及び「P4」を1つのレコードとして格納する。
【0065】
「レコード番号」は、レコードを特定する番号である。ここでは、「レコード番号」は、時系列で割り振られている。
【0066】
「P1」乃至「P4」は、ピッキングステーションP1乃至P4にそれぞれ呼び出されるAGV棚8を示す棚コード(ここでは、数値)を示す。
【0067】
プロセッサ11は、オーダーリスト及び棚情報などに基づいて棚呼び出しリストを生成する。たとえば、プロセッサ11は、棚情報を参照して、オーダーリストの各オーダーが示す「商品CD」に対応するAGV棚8を特定する。プロセッサ11は、特定された複数のAGV棚8を各ピッキングステーションに割り当てることで棚呼び出しリストを生成する。
【0068】
棚呼び出しリストを生成すると、プロセッサ11は、各ピッキングステーションにおいて、同時に処理するAGV棚8の個数m(ソート数)を算出する。即ち、個数mは、各ピッキングステーションが同時に呼び出すAGV棚8の個数である。
【0069】
プロセッサ11は、以下の式に従って、個数mを算出する。
【0070】
(1-(n/N)^m)*(1-((n+1)/N)^m)*…*(1-((n+s-1)/N)^m) >= p
前述の通り、nは、AGV7の個数であり、Nは、AGV棚8の個数である。sは、ピッキングステーションの個数である。ここでは、sは、4である。pは、各ピッキングステーションがm個のAGV棚8を呼び出す場合に、各ピッキングステーションが少なくとも1つのAGV棚8を呼び出すことができる確率である。即ち、pは、各ピッキングステーションが呼び出すm個のAGV棚8の少なくとも1つが他のピッキングステーションに呼び出されていない確率である。pは、予め確定された値である。
たとえば、プロセッサ11は、ソルバーなどを用いてmを算出する。
【0071】
なお、プロセッサ11は、個数mを予め算出しているものであってもよい。また、プロセッサ11は、補助記憶デバイス14から個数mを取得するものであってもよい。
ここでは、個数mは、6であるものとする。
【0072】
個数mを算出すると、プロセッサ11は、棚呼び出しリストにおいてレコードを設定する。即ち、プロセッサ11は、所定のレコードを示すレコード番号(たとえば、最初は、「#1」)を設定する。
【0073】
レコードを設定すると、プロセッサ11は、設定されたレコードにおいて複数のピッキングステーションに同一の棚コードが設定されているかを判定する。即ち、プロセッサ11は、当該レコードにおいて、複数のピッキングステーションが同一のAGV棚8を呼び出すかを判定する。
【0074】
当該レコードにおいて複数のピッキングステーションに同一のAGV棚8が設定されていないと判定した場合、プロセッサ11は、次のレコードを設定する。即ち、プロセッサ11は、次のレコード番号を設定する。
【0075】
次のレコードを設定すると、プロセッサ11は、同様に、設定されたレコードにおいて複数のピッキングステーションに同一の棚コードが設定されているかを判定する。
【0076】
設定されたレコードにおいて複数のピッキングステーションに同一のAGV棚8が設定されていると判定した場合、プロセッサ11は、何れか一方の棚コード(入替対象棚コード、第1の棚コード)を同一のピッキングステーションにおいてm個離れた棚コード(第2の棚コード)と入れ替える。
【0077】
図7が示す例では、プロセッサ11は、「#8」のレコードにおいて、「P2」(ここでは、15)と「P3」(ここでは、15)とが同一であると判定する。ここでは、プロセッサ11は、「#8」に対応する「P2」の棚コードを固定して、「#8」に対応する「P3」の棚コード(入替対象棚コード)をm個離れた棚コードを入れ替える。ここでは、プロセッサ11は、「#8」に対応する「P3」の棚コードをm個溯った棚コード(「#2」に対応する「P3」の棚コード)と入れ替える。なお、プロセッサ11は、「#8」に対応する「P3」の棚コードをm個下った棚コード(「#14」に対応する「P3」の棚コード)と入れ替えてもよい。
【0078】
また、プロセッサ11は、入替対象棚コードとm個離れた入れ替え先が既に他の棚コードと入れ替え済である場合、同一のピッキングステーションにおいてランダムに1つの棚コードを選び入替対象棚コードと選択された棚コードとを入れ替える。プロセッサ11は、選択された棚コードが既に入れ替え済である場合であっても入替対象棚コードと選択された棚コードとを入れ替える。
【0079】
なお、プロセッサ11は、入替対象棚コードからm個溯った(又は、下った)棚コードが入れ替え済である場合、入替対象棚コードからm個下った(又は、溯った)棚コードと入替対象棚コードとを入れ替えてもよい。また、プロセッサ11は、両棚コードが何れも入れ替え済である場合に、入替対象棚コードをランダムに選択された棚コードと入れ替えてもよい。
【0080】
また、プロセッサ11は、選択された棚コードが既に入れ替え済である場合、入れ替え先の棚コードを選択し直してもよい。
【0081】
また、プロセッサ11は、設定されたレコードにおいて3つ以上のピッキングステーションに同一のAGV棚8が設定されている場合、1つの棚コードを固定して他の2つ以上の棚コードを同様に入れ替えてもよい。
【0082】
プロセッサ11は、棚呼び出しリストのレコードの先頭から末尾まで順に設定して、上記の通り処理する。末尾まで上記の処理を行うと、プロセッサ11は、処理後の棚呼び出しリストにおいて同一の棚コードを含むレコードの個数(衝突回数)をカウントする。衝突回数は、同一のAGV棚8が同時に呼び出される回数である。衝突回数をカウントすると、プロセッサ11は、棚呼び出しリストと衝突回数とを対応付けて補助記憶デバイス14に格納する。
【0083】
また、プロセッサ11は、棚呼び出しリストのレコードの先頭から末尾まで順に設定して上記の通り行う処理を1つのセット(入替処理)として、複数回(たとえば、棚呼び出しリストのレコード数の半分)、セットを実行する。
【0084】
複数回、セットを実行すると、プロセッサ11は、補助記憶デバイス14を参照して最も衝突回数が少ない棚呼び出しリスト(最適化された棚呼び出しリスト)を取得する。
【0085】
最も衝突回数が少ない棚呼び出しリストを取得すると、プロセッサ11は、通信インタフェース15を通じて、取得された棚呼び出しリストをAGV制御装置4に送信する。
【0086】
次に、AGV制御装置4が実現する機能について説明する。プロセッサ41が実現する機能は、プロセッサ41が内部メモリ、ROM42又は補助記憶デバイス44などに格納されるプログラムを実行することで実現される。
【0087】
プロセッサ41は、最適化された棚呼び出しリストに基づいて各ピッキングステーションにAGV棚8を呼び出す機能を有する。
まず、プロセッサ41は、通信インタフェース45を通じて棚呼び出しリストを上位管理装置1から取得する。棚呼び出しリストを取得すると、プロセッサ41は、取得された棚呼び出しリストに従ってAGV7を制御する。即ち、プロセッサ41は、棚呼び出しリストに従って各ピッキングステーションにAGV7を供給する。
【0088】
ここでは、プロセッサ41がピッキングステーションP1にAGV棚8を呼び出す動作例について説明する。プロセッサ41がピッキングステーションP2乃至P3にAGV棚8を呼び出す動作例は、プロセッサ41がピッキングステーションP1にAGV棚8を呼び出す動作例と同様であるため説明を省略する。
【0089】
プロセッサ41は、棚呼び出しリストにおいて未処理のレコードの先頭からm個のレコードを取得する。m個のレコードを取得すると、プロセッサ41は、m個のレコードから「P1」の棚コードを抽出する。
【0090】
「P1」の棚コードを抽出すると、プロセッサ41は、抽出された棚コードをレコード番号順に並べたリスト(一時リスト)を生成する。一時リストを生成すると、プロセッサ41は、一時リストの各棚コードが示すAGV棚8が呼び出し可能であるかを判定する。即ち、プロセッサ41は、一時リストの各棚コードが示すAGV棚8が他のピッキングステーションに呼び出されていないかを判定する。
【0091】
呼び出し不可能なAGV棚8が存在すると判定すると、プロセッサ41は、一時リストにおいて、呼び出し不可能なAGV棚8の棚コードを後ろに移動させる。また、プロセッサ41は、呼び出し可能なAGV棚8の棚コードを前に詰める。即ち、プロセッサ41は、一時リストにおける棚コードの順序を可能な限り維持しながら、呼び出し不可能なAGV棚8の棚コードを後ろに移動させる。
【0092】
図8は、プロセッサ41が一時リストにおいて棚コードを後ろに移動させる動作例を示す。図8が示すように、プロセッサ41は、一時リストを生成する。ここでは、一時リストにおいて「#2」(レコード番号)に対応する「268」(棚コード)が示すAGV棚8が呼び出し不可能であるものとする。また、「#3」(レコード番号)に対応する「243」(棚コード)が示すAGV棚8が呼び出し不可能であるものとする。たとえば、ピッキングステーションごとに処理の進行状況が異なるため、ピッキングステーションP1が呼び出したいAGV棚8が他のピッキングステーションに既に呼び出されていることがある。
【0093】
プロセッサ41は、「268」及び「243」を一時リストの後ろに並び替える。また、プロセッサ41は、呼び出し可能なAGV棚8の番号である「195」「2」及び「324」を前に詰める。
【0094】
一時リストの棚コードを並び替えると、プロセッサ41は、一時リストに従ってAGV棚8をピッキングステーションP1に供給する。
【0095】
たとえば、プロセッサ41は、通信インタフェース45を通じて、AGV7の1つに、一時リストの先頭の棚コードが示すAGV棚8に移動するように制御信号を送信する。
【0096】
AGV7が制御信号に従って当該AGV棚8の下に移動すると、プロセッサ41は、通信インタフェース45を通じて、当該AGV7に当該AGV棚8を持ち上げるように制御信号を送信する。
【0097】
AGV7が制御信号に従って当該AGV棚8を持ち上げると、プロセッサ41は、通信インタフェース45を通じて、当該AGV7にピッキングステーションP1に移動するように制御信号を送信する。
【0098】
AGV7が制御信号に従ってピッキングステーションP1に移動すると、プロセッサ41は、一時リスト及び棚呼び出しリストから当該棚コードを削除する。
【0099】
当該棚コードを削除すると、プロセッサ41は、一時リストにおける次の棚コードについて同様に動作する。
プロセッサ41は、一時リストの各棚コードについて同様に動作する。
【0100】
なお、プロセッサ41は、同時に複数のAGV7を制御して、複数のAGV棚8をピッキングステーションP1に供給してもよい。
【0101】
一時リストの各棚コードを削除すると、プロセッサ41は、棚呼び出しリストから次の6個のレコードを取得する。プロセッサ41は、一時リストを生成して同様に動作する。
【0102】
プロセッサ41は、棚呼び出しリストの各棚コードが削除されるまで同様の動作を繰り返す。
【0103】
次に、上位管理装置1の動作例について説明する。
図9及び図10は、上位管理装置1の動作例について説明するためのフローチャートである。
【0104】
まず、上位管理装置1のプロセッサ11は、オーダーリストを取得する(S11)。オーダーリストを取得すると、プロセッサ11は、オーダーリストが格納するオーダーをまとめる(S12)。
【0105】
オーダーをまとめると、プロセッサ11は、オーダーリスト及び棚情報などに基づいて棚呼び出しリストを生成する(S13)。棚呼び出しリストを生成すると、プロセッサ11は、iを初期化(i=0)する(S14)。
【0106】
iを初期化すると、プロセッサ11は、iを初期化(i=1)する(S15)。jを初期化すると、プロセッサ11は、j番目(#j)のレコードにおいて同一の棚コードが設定されているかを判定する(S16)。
【0107】
同一の棚コードが設定されていると判定すると(S16、YES)、プロセッサ11は、入替対象棚コードとm個離れた棚コードが入れ替え済であるかを判定する(S17)。
入替対象棚コードとm個離れた棚コードが入れ替え済でないと判定すると(S17、NO)、プロセッサ11は、入替対象棚コードとm個離れた棚コードとを入れ替える(S18)。
【0108】
入替対象棚コードとm個離れた棚コードが入れ替え済であると判定すると(S17、YES)、プロセッサ11は、入替対象棚コードとランダムに選択された棚コードとを入れ替える(S19)。
【0109】
入替対象棚コードとm個離れた棚コードとを入れ替えた場合(S18)、又は、入替対象棚コードとランダムに選択された棚コードとを入れ替えた場合(S19)、プロセッサ11は、jをインクリメント(j=j+1)する(S20)。
【0110】
jをインクリメントすると、プロセッサ11は、j番目のレコードが存在するかを判定する(S21)。j番目のレコードが存在すると判定すると(S21、YES)、プロセッサ11は、S16に戻る。
【0111】
j番目のレコードが存在しないと判定すると(S21、NO)、プロセッサ11は、現在の棚呼び出しリストと衝突回数とを対応付けて補助記憶デバイス14に格納する(S22)。
【0112】
棚呼び出しリストと衝突回数とを対応付けて補助記憶デバイス14に格納すると、プロセッサ11は、iをインクリメント(i=i+1)する(S23)。iをインクリメントすると、プロセッサ11は、iが所定の閾値を超えているかを判定する(S24)。
【0113】
iが所定の閾値を超えていないと判定すると(S24、NO)、プロセッサ11は、S15に戻る。
【0114】
iが所定の閾値を超えていると判定すると(S24、YES)、プロセッサ11は、衝突回数が最も少ない棚呼び出しリストを選択する(S25)。衝突回数が最も少ない棚呼び出しリストを選択すると、プロセッサ11は、通信インタフェース15を通じて、選択された棚呼び出しリストをAGV制御装置4に送信する(S26)。
【0115】
選択された棚呼び出しリストをAGV制御装置4に送信すると、プロセッサ11は、動作を終了する。
【0116】
なお、プロセッサ11は、S22において、衝突回数が0である場合、S25に進んでもよい。
【0117】
次に、AGV制御装置4の動作例について説明する。
図11は、AGV制御装置4の動作例について説明するためのフローチャートである。
【0118】
ここでは、AGV制御装置4が所定のピッキングステーション(たとえば、ピッキングステーションP1)にAGV棚8を呼び出す動作例について説明する。また、当該ピッキングステーションには、AGV棚8が呼び出されているものとする。
【0119】
まず、AGV制御装置4のプロセッサ41は、当該ピッキングステーションにおいて物品のピッキングが完了したかを判定する(S31)。ピッキングが完了していないと判定すると(S31、NO)、プロセッサ41は、S31に戻る。
【0120】
ピッキングが完了したと判定すると(S31、YES)、プロセッサ41は、AGV7を用いて、当該ピッキングステーションに呼び出されている各AGV棚8を元の位置に返却する(S32)。
【0121】
各AGV棚8を元の位置に返却すると、プロセッサ41は、棚呼び出しリストからm個の棚コードを取得して一時リストを生成する(S33)。一時リストを生成すると、プロセッサ41は、一時リストの棚コードから呼び出し不可能なAGV棚8の棚コードを特定する(S34)。
【0122】
呼び出し不可能なAGV棚8の棚コードを特定すると、プロセッサ41は、一時リストを並び替える(S35)。即ち、プロセッサ41は、一時リストにおいて特定された棚コードを後ろに移動させ、呼び出し可能なAGV棚8の棚コードを前に詰める。
【0123】
一時リストを並び替えると、プロセッサ41は、AGV7を用いて一時リストの先頭の棚コードが示すAGV棚8を当該ピッキングステーションに供給する(S36)。AGV棚8を当該ピッキングステーションに供給すると、プロセッサ41は、当該棚コードを一時リスト及び棚呼び出しリストから削除する(S37)。
【0124】
当該棚コードを削除すると、プロセッサ41は、一時リストに未呼び出しのAGV棚8の棚コードが存在するかを判定する(S38)。一時リストに未呼び出しのAGV棚8の棚コードが存在すると判定すると(S38、YES)、プロセッサ41は、S36に戻る。
【0125】
一時リストに未呼び出しのAGV棚8の棚コードが存在しないと判定すると(S38、NO)、プロセッサ41は、AGV棚8の呼び出しを終了するかを判定する(S39)。たとえば、プロセッサ41は、棚呼び出しリストから当該ピッキングステーションの各棚コードが削除されたかを判定する。
【0126】
AGV棚8の呼び出しを終了しないと判定すると(S39、NO)、プロセッサ41は、S31に戻る。
【0127】
AGV棚8の呼び出しを終了すると判定すると(S39、YES)、プロセッサ41は、動作を終了する。
【0128】
なお、プロセッサ41は、AGV棚8の呼び出しを終了した後に、他の棚呼び出しリストに基づいて同様の動作を行ってもよい。
【0129】
また、プロセッサ11は、オーダーをまとめなくともよい。プロセッサ11は、元のオーダーリストに基づいて棚呼び出しリストを生成してもよい。
【0130】
また、上位管理装置1は、AGV制御装置4の機能(又は機能の一部)を実現するものであってもよい。即ち、プロセッサ11は、プロセッサ41が実現する機能(又は機能の一部)を実現してもよい。
【0131】
また、AGV制御装置4は、上位管理装置1の機能(又は機能の一部)を実現するものであってもよい。即ち、プロセッサ41は、プロセッサ11が実現する機能(又は機能の一部)を実現してもよい。
【0132】
また、上位管理装置1とAGV制御装置4とは、一体的に形成されるものであってもよい。
【0133】
以上のように構成された制御システムは、棚呼び出しリストにおいてピッキングステーション同士が衝突する場合、ピッキングを開始する前に何れかのピッキングステーションにおいてAGV棚を呼び出す順序を変更する。その結果、制御システムは、ピッキングステーションの衝突を回避することができる。
【0134】
また、制御システムは、ピッキングを開始した後において、棚呼び出しリストから複数の棚コードを順に取得する。制御システムは、取得された棚コードが示すAGV棚が他のピッキングステーションに呼び出されている場合、当該AGV棚の呼び出しを後回しにする。その結果、制御システムは、ピッキングステーションごとに処理速度が異なることで衝突が生じた場合であっても、効果的にピッキングステーションにAGV棚を呼び出すことができる。
【0135】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0136】
1…上位管理装置、4…AGV制御装置、5…スイッチ、6…無線LANアクセスポイント、7…AGV、8…AGV棚、9…充電ステーション、11…プロセッサ、12…ROM、13…RAM、14…補助記憶デバイス、15…通信インタフェース、41…プロセッサ、42…ROM、43…RAM、44…補助記憶デバイス、45…通信インタフェース、70…タイヤ、71…プロセッサ、72…ROM、73…RAM、74…補助記憶デバイス、75…通信インタフェース、76…駆動部、77…センサ、78…バッテリー、79…充電機構、111…ピッキングロボット、112…表示装置、113…係員。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11