(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023102068
(43)【公開日】2023-07-24
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
B65G 1/137 20060101AFI20230714BHJP
【FI】
B65G1/137 G
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022002408
(22)【出願日】2022-01-11
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】浅利 幸生
【テーマコード(参考)】
3F522
【Fターム(参考)】
3F522BB35
3F522CC01
3F522DD05
3F522DD22
3F522DD33
3F522FF17
3F522GG07
3F522JJ02
3F522LL09
(57)【要約】
【課題】ピッキングシステムのスループットを改善することができるプログラム、情報処理方法及び情報処理装置を提供する。
【解決手段】実施形態によれば、プロセッサによって実行されるプログラムは、前記プロセッサに、自動搬送車によって搬送される棚から物品をピッキングする未処理のオーダーを取得する機能と、前記棚が配置される複数の棚配置位置を示す返却位置リストを取得する機能と、返却位置を変更する棚を示す対象棚IDを取得する機能と、前記対象棚IDが示す棚を前記返却位置リストが示す各棚配置位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第1の搬送距離を算出する機能と、前記第1の搬送距離に基づいて、前記返却位置リストから前記対象棚IDが示す棚の返却位置を選択する機能と、を実現させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
自動搬送車によって搬送される棚から物品をピッキングする未処理のオーダーを取得する機能と、
前記棚が配置される複数の棚配置位置を示す返却位置リストを取得する機能と、
返却位置を変更する棚を示す対象棚IDを取得する機能と、
前記対象棚IDが示す棚を前記返却位置リストが示す各棚配置位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第1の搬送距離を算出する機能と、
前記第1の搬送距離に基づいて、前記返却位置リストから前記対象棚IDが示す棚の返却位置を選択する機能と、
を実現させるプログラム。
【請求項2】
前記返却位置を選択することは、前記返却位置リストから前記第1の搬送距離が最も短い棚配置位置を選択することである、
請求項1に記載のプログラム。
【請求項3】
返却位置を変更する前記棚は、前記自動搬送車が持ち出している棚である、
請求項1又は2に記載のプログラム。
【請求項4】
前記プロセッサに、前記対象棚IDが示す棚を元の返却位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第2の搬送距離を算出する機能を実現させ、
前記第1の搬送距離を算出することは、最も第2の搬送距離が長い前記棚の前記第1の搬送距離を算出することである、
請求項1乃至3の何れか1項に記載のプログラム。
【請求項5】
前記プロセッサに、前記返却位置リストから選択された棚配置位置を削除する機能を実現させ、
前記第1の搬送距離を算出することは、さらに残りの棚の中で最も長い前記棚の前記第1の搬送距離を算出することである、
請求項4に記載のプログラム。
【請求項6】
前記返却位置リストは、前記自動搬送車が持ち出している棚が配置されていた棚配置位置を示す、
請求項1乃至5の何れか1項に記載のプログラム。
【請求項7】
前記返却位置リストは、前記棚が配置されている棚配置位置を含む、
請求項1乃至6の何れか1項に記載のプログラム。
【請求項8】
前記プロセッサに、
選択された前記返却位置に前記棚が存在する場合、前記自動搬送車に前記棚を他の棚配置位置に搬送させる機能を実現させる、
請求項7に記載のプログラム。
【請求項9】
プロセッサによって実行される情報処理方法であって、
自動搬送車によって搬送される棚から物品をピッキングする未処理のオーダーを取得し、
前記棚が配置される複数の棚配置位置を示す返却位置リストを取得し、
返却位置を変更する棚を示す対象棚IDを取得し、
前記対象棚IDが示す棚を前記返却位置リストが示す各棚配置位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第1の搬送距離を算出し、
前記第1の搬送距離に基づいて、前記返却位置リストから前記対象棚IDが示す棚の返却位置を選択する、
情報処理方法。
【請求項10】
自動搬送車によって搬送される棚から物品をピッキングする未処理のオーダーを取得するインターフェースと、
前記棚が配置される複数の棚配置位置を示す返却位置リストを取得し、
返却位置を変更する棚を示す対象棚IDを取得し、
前記対象棚IDが示す棚を前記返却位置リストが示す各棚配置位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第1の搬送距離を算出し、
前記第1の搬送距離に基づいて、前記返却位置リストから前記対象棚IDが示す棚の返却位置を選択する、
プロセッサと、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、自動搬送車を用いて、オーダーリストが示す物品を格納する棚をピッキングステーションに搬送するピッキングシステムが提供されている。ピッキングステーションでは、オペレータ又はロボットが自動搬送車によって搬送された棚から物品をピッキングする。ピッキングシステムは、ピッキングを完了すると、自動搬送車を用いて棚をピッキングステーションから元の位置に戻す。
【0003】
ピッキングシステムでは、オーダーリストによってピッキングステーションに搬送する棚が確定するため、棚の搬送に要する時間が変動する。その結果、ピッキングシステムのスループットが悪化することがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するため、ピッキングシステムのスループットを改善することができるプログラム、情報処理方法及び情報処理装置を提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、プロセッサによって実行されるプログラムは、前記プロセッサに、自動搬送車によって搬送される棚から物品をピッキングする未処理のオーダーを取得する機能と、前記棚が配置される複数の棚配置位置を示す返却位置リストを取得する機能と、返却位置を変更する棚を示す対象棚IDを取得する機能と、前記対象棚IDが示す棚を前記返却位置リストが示す各棚配置位置に返却した場合において前記未処理のオーダーを処理するために前記自動搬送車が前記棚を搬送する第1の搬送距離を算出する機能と、前記第1の搬送距離に基づいて、前記返却位置リストから前記対象棚IDが示す棚の返却位置を選択する機能と、を実現させる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、第1の実施形態に係るピッキングシステムの構成例を概略的に示す図である。
【
図2】
図2は、第1の実施形態に係るピッキングシステムの構成例を示すブロック図である。
【
図3】
図3は、第1の実施形態に係る計画装置の構成例を示すブロック図である。
【
図4】
図4は、第1の実施形態に係るAGVの構成例を示すブロック図である。
【
図5】
図5は、第1の実施形態に係る計画装置の動作例を示すフローチャートである。
【
図6】
図6は、第2の実施形態に係る計画装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照して実施形態について説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。
実施形態に係るピッキングシステムは、物流システムなどにおいて棚から物品をピッキングする。ピッキングシステムは、自動搬送車(automated guided vehicle(AGV))を用いて棚をピッキングステーションに搬送する。ピッキングシステムは、ピッキングステーションにおいて棚から物品をピッキングする。ピッキングシステムは、オペレータ又はロボットに棚から物品をピッキングさせる。
【0009】
また、ピッキングシステムは、ピッキングステーションから棚を返却する返却位置を変更する。即ち、ピッキングシステムは、棚が配置されていた元の位置と異なる位置に棚を搬送する。
たとえば、ピッキングシステムは、物流センタ又は倉庫などで用いられる。
【0010】
図1は、実施形態に係るピッキングシステム100の構成例を示す図である。
図1に示すように、ピッキングシステム100は、ピッキングステーションP(P1乃至P4)、AGV7、AGV棚8、ピッキングロボット111及び表示装置112などを備える。
【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制御装置4からの制御信号に基づき動作する。例えば、AGV7は、指定された積み込み位置へ向かって走行し、指定された積み込み位置のAGV棚8を持ち上げる。AGV7は、指定された積み降ろし位置へ向かって走行し、指定された積み降ろし位置でAGV棚8を降ろす。
【0015】
AGV棚8は、物品を格納する棚である。たとえば、AGV棚8は、複数の棚段から構成される。AGV棚8の各棚段には、物品が積載されている。
【0016】
また、AGV棚8は、四本の支柱で直立する。AGV棚8の棚下の高さは(床面から棚底までの高さ)、AGV7の高さよりも高い。これにより、AGV7は、AGV棚8の棚下に潜り込むことができる。棚下に潜り込んだAGV7は、プッシャーにより床面から支柱の先端が数センチ離れる程度にAGV棚8を持ち上げて、AGV棚8を持ち上げた状態で走行する。このようにしてAGV7は、AGV棚8を搬送する。
【0017】
また、AGV棚8には、固定式カメラ又は移動式カメラ等で読み取り可能な棚識別情報が貼り付けられていてもよい。物品にも、固定式カメラ又は移動式カメラ等で読み取り可能な物品識別情報が貼り付けられていてもよい。例えば、棚識別情報及び物品識別情報は、バーコードや二次元コードである。なお、ピッキングシステムは、固定式カメラ又は移動式カメラとは別に、これら棚識別情報及び物品識別情報を読み取る複数のリーダを備えてもよい。
【0018】
また、AGV棚8には、AGV棚8を識別するためのID(棚ID)が割り振られている。たとえば、棚IDは、数値、文字列、記号又はそれらの組合せである。
【0019】
また、AGV棚8が配置可能な位置(棚配置位置)には、棚配置位置を識別するためのID(位置ID)が割り振られている。たとえば、位置IDは、数値、文字列、記号又はそれらの組合せである。
【0020】
図1が示す例では、ピッキングシステム100は、AGV棚8が配置されていない棚配置位置3を備える。即ち、棚配置位置3は、空いている。棚配置位置3は、AGV7によって持ち出されているAGV棚8が配置されていた棚配置位置である。
【0021】
ピッキングステーションP1乃至P4は、AGV7により搬送されたAGV棚8を受け入れる。ピッキングステーションP1乃至P4で受け入れられたAGV棚8には、物品が格納されている。ピッキングロボット111による物品処理が指定されている場合には、ピッキングロボット111は、AGV棚8に収容された物品を把持(グリップ)してピッキングする。係員113による物品処理が指定されている場合には、配置された係員113は、手作業により、AGV棚8に収容された物品を把持してピッキングする。また、ピッキングステーションP1乃至P4に対応して設けられる表示装置112は、物品処理スケジュールに加えて、係員113のピッキング作業を支援する情報、例えば処理対象となる物品の画像及び物品識別情報を表示する。係員113は、表示装置112の表示内容を目視確認して、物品をピッキングする。
【0022】
また、ピッキングステーションP1乃至P4は、ピッキングロボット111又は係員113を用いてAGV棚8に物品を格納するものであってもよい。
【0023】
次に、ピッキングシステム100の制御系について説明する。
図2は、実施形態に係るピッキングシステム100の制御系の構成例を示すブロック図である。
【0024】
図2に示すように、ピッキングシステム100は、上位管理装置1、計画装置2、AGV制御装置4、スイッチ5、無線LANアクセスポイント6、AGV7、充電ステーション9、ピッキングロボット111、表示装置112及びピッキングステーションP1乃至P4を備える。
【0025】
上位管理装置1は、倉庫管理システム(WMS:Warehouse Management System)と呼ばれ、1又は複数のコンピュータで実現可能である。上位管理装置1は、倉庫内に保管される物品に関する物品管理情報などを記憶する。物品管理情報は、各AGV棚8が格納する物品を示す。
【0026】
上位管理装置1は、外部装置から出庫する物品を示す情報を取得する。上位管理装置1は、当該情報に基づいて、ピッキングする物品及び当該物品を格納するAGV棚8を示すオーダーを生成する。上位管理装置1は、複数のオーダーを含むオーダーリストを生成する。上位管理装置1は、オーダーリストを計画装置2に出力する。
【0027】
計画装置2(情報処理装置)は、倉庫運用管理システム(WES:Warehouse Execution System)と呼ばれ、1又は複数のコンピュータで実現可能である。計画装置2は、上位管理装置1に接続する。計画装置2は、オーダーリストなどに基づいて、AGV棚8の返却位置を設定する。計画装置2については、後に詳述する。
【0028】
AGV制御装置4は、倉庫ピッキングシステム(WCS:Warehouse Control System)と呼ばれ、1又は複数のコンピュータで実現可能である。AGV制御装置4は、計画装置2に接続する。また、AGV制御装置4は、スイッチ5を介してピッキングステーションP1乃至P4に接続する。また、AGV制御装置4は、スイッチ5を介して無線LANアクセスポイント6に接続する。
【0029】
AGV制御装置4は、AGV7を用いて、ピッキングする物品を格納するAGV棚8をピッキングステーションP1乃至P4に搬送する。AGV制御装置4は、ピッキングが完了すると、AGV7を用いてAGV棚8を所定の返却位置に搬送する。
【0030】
充電ステーション9は、電力出力部を備える。また、AGV7は、電力入力部及びバッテリーを備える。充電ステーション9は、電力出力部から出力される電力をAGV7へ供給する。AGV7は、電力入力部を介して入力される電力をバッテリーに供給する。例えば、電力出力部の床面からの高さは、AGV7の電力入力部の床面からの高さと同一である。AGV7は、AGV制御装置4からの制御に基づき充電ステーション9の電力出力部に対応する位置まで走行し、電力入力部を電力出力部に接続し、電力供給を受ける。なお、電力入力部と電力出力部の接続は、接触又は非接触の何れでも良い。
【0031】
無線LANアクセスポイント6は、AGV7及び充電ステーション9等の通信デバイスとデータを送受信する。また、ピッキングシステムが、固定式カメラ及び移動式カメラを備える場合は、無線LANアクセスポイント6は、固定式カメラ及び移動式カメラとデータを送受信する。また、スイッチ5は、受信したデータの宛先を選択して、選択した宛先にデータを送信する。
【0032】
次に、計画装置2について説明する。
図3は、実施形態に係る計画装置2の構成例を示す。
図3は、計画装置2の構成例を示すブロック図である。
図3が示すように、計画装置2は、プロセッサ21、ROM22、RAM23、NVM24、通信部25、操作部26及び表示部27などを備える。
【0033】
プロセッサ21と、ROM22、RAM23、NVM24、通信部25、操作部26及び表示部27と、は、データバスなどを介して互いに接続する。
なお、計画装置2は、
図3が示すような構成の他に必要に応じた構成を具備したり、計画装置2から特定の構成が除外されたりしてもよい。
【0034】
プロセッサ21は、計画装置2全体の動作を制御する機能を有する。プロセッサ21は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ21は、内部メモリ、ROM22又はNVM24が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0035】
なお、プロセッサ21がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ21は、ハードウエア回路により実行される機能を制御する。
【0036】
ROM22は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM22に記憶される制御プログラム及び制御データは、計画装置2の仕様に応じて予め組み込まれる。
【0037】
RAM23は、揮発性のメモリである。RAM23は、プロセッサ21の処理中のデータなどを一時的に格納する。RAM23は、プロセッサ21からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM23は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0038】
NVM24は、データの書き込み及び書き換えが可能な不揮発性のメモリである。たとえば、NVM24は、たとえば、HDD、SSD又はフラッシュメモリなどから構成される。NVM24は、計画装置2の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【0039】
通信部25は、上位管理装置1及びAGV制御装置4などとデータを送受信するためのインターフェースである。通信部25は、上位管理装置1及びAGV制御装置4などに接続する。たとえば、通信部25は、有線又は無線のLAN接続をサポートするインターフェースである。
【0040】
なお、通信部25は、上位管理装置1に接続するインターフェースとAGV制御装置4に接続するインターフェースとから構成されるものであってもよい。
【0041】
操作部26は、オペレータから種々の操作の入力を受け付ける。操作部26は、入力された操作を示す信号をプロセッサ21へ送信する。たとえば、操作部26は、マウス、キーボード又はタッチパネルなどから構成される。
【0042】
表示部27は、プロセッサ21からの画像データを表示する。たとえば、表示部27は、液晶モニタから構成される。なお、操作部26がタッチパネルから構成される場合、表示部27は、操作部26としてのタッチパネルと一体的に形成されるものであってもよい。
【0043】
次に、AGV7について説明する。
図4は、実施形態に係るAGV7の構成例を示すブロック図である。
AGV7は、プロセッサ71、ROM72、RAM73、補助記憶デバイス74、通信インターフェース75、駆動部76、センサ77、バッテリー78、充電機構79及びタイヤ70などを備える。
【0044】
プロセッサ71は、AGV7全体の動作を制御する機能を有する。プロセッサ71は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ71は、内部メモリ、ROM72又は補助記憶デバイス74が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0045】
たとえば、プロセッサ71は、CPUである。なお、プロセッサ71は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等のハードウエアにより実現されてもよい。
【0046】
プロセッサ71は、加速、減速、停止、方向転換及びAGV棚8の積み降ろし等の動作に必要な演算及び制御などの処理を行う。プロセッサ71は、AGV制御装置4などからの制御信号に基づき、ROM72等に記憶されたプログラムを実行することにより、駆動信号を生成し各部に出力する。
【0047】
例えば、AGV制御装置4は、AGV7を現在位置から第1の位置(目的のAGV棚8の棚配置位置)へ移動させて第1の位置から第2の位置(目的のピッキングステーションPの位置)へ移動させる制御信号を送信する。また、AGV制御装置4は、AGV7を第2の位置から第1の位置へ移動させる制御信号を送信する。AGV7のプロセッサ71は、AGV制御装置4から送信される制御信号に応じた駆動信号を出力する。これにより、AGV7は、現在位置から第1の位置へ移動し、第1の位置から第2の位置へ移動し、第2の位置から第1の位置へ移動する。また、プロセッサ71は、AGV制御装置4から送信される制御信号に含まれるAGV棚8の積み降ろし指示に応じた駆動信号を出力する。これにより、AGV7は、プッシャーによりAGV棚8を持ち上げたり、持ち上げたAGV棚8を降ろしたりする。
【0048】
ROM72は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM72は、プロセッサ71が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM73は、データの読み書きに用いられるメモリである。RAM73は、プロセッサ71が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0049】
補助記憶デバイス74は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス74は、プロセッサ71が各種の処理を行う上で使用するデータ、プロセッサ71での処理によって生成されたデータ又は各種の設定値などを保存する。
【0050】
通信インターフェース75は、無線LANアクセスポイント6などを通じてAGV制御装置4などとデータを送受信するインターフェースである。たとえば、通信インターフェース75は、無線LAN接続をサポートする。
【0051】
駆動部76は、モータ等であり、プロセッサ71から出力される駆動信号に基づきモータを回転又は停止する。モータの動力は、タイヤ70に伝達され、操舵機構に伝達される。このようなモータからの動力により、AGV7は、目的位置へ移動する。駆動部76は、AGV7及びAGV棚8を搬送する搬送機構として機能する。
【0052】
また、AGV7がAGV棚8下に潜り込んだ状態で、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(順回転)する。このモータからの動力によりプッシャーが上昇しAGV棚8が持ち上げられる。また、AGV7が目的位置に到達した後、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(逆回転)する。このモータからの動力によりプッシャーが下降しAGV棚8が床面に降ろされる。
【0053】
センサ77は、複数の反射センサである。各反射センサは、AGV7の周囲に取り付けられる。各反射センサは、レーザ光を照射し、レーザ光を照射してからレーザ光が物体で反射して戻るまでの時間を検出し、検出された時間に基づき物体までの距離を検知し、検知信号をプロセッサ71へ通知する。プロセッサ71は、センサ77からの検知信号に基づき、AGV7の走行を制御する制御信号を出力する。例えば、プロセッサ71は、センサ77からの検知信号に基づき、物体への衝突を回避する減速又は停止等の制御信号を出力する。なお、センサ77以外に、カメラを備え、カメラが、周辺を撮影し撮影画像をプロセッサ71へ出力してもよい。この場合、プロセッサ71は、撮影画像を解析し、物体への衝突を回避する減速又は停止等の制御信号を出力する。
【0054】
バッテリー78は、駆動部76等に必要な電力を供給する。充電機構79は、充電ステーションとバッテリー78とを接続する機構であり、バッテリー78は、充電機構79を介して充電ステーションなどから供給される電力により充電される。
【0055】
次に、計画装置2が実現する機能について説明する。計画装置2が実現する機能は、プロセッサ21がROM22又はNVM24などに格納されるプログラムを実行することで実現される。
【0056】
まず、プロセッサ21は、AGV棚8が配置されていない棚配置位置(即ち、棚配置位置3)の位置ID(空き位置ID)を取得する機能を有する。
【0057】
ここでは、AGV7は、いくつかのAGV棚8を持ち出しているものとする。
【0058】
また、プロセッサ21は、持ち出されたAGV棚8に変化が生じたタイミングで空き位置IDを取得する。たとえば、プロセッサ21は、AGV棚8を積載したAGV7がピッキングステーションPを離れるタイミング、又は、AGV7がAGV棚8を棚配置位置から搬送するタイミングなどで、空き位置IDを取得する。
【0059】
たとえば、プロセッサ21は、通信部25を通じて、空き位置IDを要求するリクエストをAGV制御装置4に送信する。プロセッサ21は、通信部25を通じて、空き位置IDを示すレスポンスをAGV制御装置4から受信する。
【0060】
空き位置IDを示すレスポンスを受信すると、プロセッサ21は、空き位置IDを示すリスト(返却位置リスト)を生成する。
なお、プロセッサ21は、AGV棚8が元々配置されていない棚配置位置の空き位置IDを返却位置リストに含めてもよい。
また、プロセッサ21は、空き位置IDをNVM24から取得するものであってもよい。
【0061】
また、プロセッサ21は、持ち出されているAGV棚8の棚IDを取得する機能を有する。
【0062】
たとえば、プロセッサ21は、通信部25を通じて、AGV7によって持ち出されているAGV棚8の棚IDを要求するリクエストをAGV制御装置4に送信する。プロセッサ21は、通信部25を通じて、AGV7によって持ち出されているAGV棚8の棚IDを示すレスポンスをAGV制御装置4から受信する。
【0063】
レスポンスを受信すると、プロセッサ21は、当該棚IDを、返却位置を変更するAGV棚8(対象棚)の棚ID(対象棚ID)として取得する。
なお、プロセッサ21は、対象棚IDをNVM24から取得するものであってもよい。
【0064】
また、プロセッサ21は、未処理のオーダーを処理するためにAGV7が各対象棚を搬送する搬送距離を推測する機能を有する。
【0065】
プロセッサ21は、通信部25を通じてオーダーリストを上位管理装置1から予め取得する。プロセッサ21は、オーダーリストをNVM24などに格納する。たとえば、オーダーリストは、所定の期間(たとえば、翌日)に処理する予定のオーダーを示す。
【0066】
プロセッサ21は、所定の対象棚IDを設定する。対象棚IDを設定すると、プロセッサ21は、当該対象棚IDが示す対象棚を元の棚配置位置(対象棚が配置されていた棚配置位置)に返却すると仮定する。当該対象棚を元の棚配置位置に返却すると仮定すると、プロセッサ21は、オーダーリストが示す未処理のオーダーを取得する。
【0067】
未処理のオーダーを取得すると、プロセッサ21は、未処理のオーダーから当該対象棚を呼び出すオーダーを抽出する。オーダーを抽出すると、プロセッサ21は、抽出されたオーダーを処理するためにAGV7が当該対象棚を搬送する搬送距離(第2の搬送距離)を推測する。たとえば、プロセッサ21は、抽出されたオーダー毎にAGV7が当該対象棚の元の棚配置位置からピッキングステーションPまでを往復する距離を算出し、算出された距離を合算して搬送距離を算出する。
【0068】
なお、当該対象棚を呼び出す未処理のオーダーが存在しない場合には、プロセッサ21は、当該対象棚の搬送距離を0とする。
【0069】
プロセッサ21は、各対象棚IDについて同様に搬送距離を算出する。
【0070】
なお、プロセッサ21は、オーダーリストに処理済みのオーダーが含まれる場合、オーダーリストから処理済みのオーダーを削除してもよい。
【0071】
また、プロセッサ21は、搬送距離の降順で対象棚IDを並び替える機能を有する。
【0072】
各対象棚IDの搬送距離を算出すると、プロセッサ21は、搬送距離の降順で対象棚IDを並び替える。ここでは、プロセッサ21は、搬送距離の降順で並び替えられた対象棚IDを示す数列(n(i):iは、自然数)を生成する。
【0073】
n(1)は、最も搬送距離の長い対象棚IDを示す。n(2)は、次に最も搬送距離の長い対象棚IDを示す。
【0074】
また、プロセッサ21は、未処理にオーダーに基づいて、対象棚の返却位置を設定する機能を有する。
【0075】
数列n(i)を生成すると、プロセッサ21は、iに1を代入する。iに1を代入すると、プロセッサ21は、n(i)を取得する。即ち、ここでは、プロセッサ21は、n(1)を取得する。
【0076】
n(i)を取得すると、プロセッサ21は、n(i)が示す対象棚を返却位置リストに含まれる1つの空き位置IDが示す棚配置位置に返却したと仮定する。当該対象棚を当該棚配置位置に返却すると仮定すると、プロセッサ21は、オーダーリストが示す未処理のオーダーを取得する。
【0077】
未処理のオーダーを取得すると、プロセッサ21は、未処理のオーダーから当該対象棚を呼び出すオーダーを抽出する。オーダーを抽出すると、プロセッサ21は、抽出されたオーダーを処理するためにAGV7が当該対象棚を搬送する搬送距離(第1の搬送距離)を予測する。たとえば、プロセッサ21は、抽出されたオーダー毎にAGV7が当該棚配置位置からピッキングステーションPまでを往復する距離を算出し、算出された距離を合算して搬送距離を算出する。
プロセッサ21は、返却位置リストの各空き位置IDについて同様に搬送距離を算出する。
【0078】
返却位置リストの各空き位置IDについて搬送距離を算出すると、プロセッサ21は、最も搬送距離が短い空き位置IDを選択する。最も搬送距離が短い空き位置IDを選択すると、プロセッサ21は、選択された空き位置IDを、当該対象棚の返却位置を示す位置ID(r(n(i)))として、設定する。
【0079】
r(n(i))を設定すると、プロセッサ21は、返却位置リストからr(n(i))を削除する。
プロセッサ21は、iをインクリメントして、同様にr(n(i))を設定する。
【0080】
なお、n(i)が示す対象棚を呼び出す未処理のオーダーが存在しない場合には、プロセッサ21は、返却位置リストから順にr(n(i))を設定してもよい。
【0081】
次に、計画装置2の動作例について説明する。
図5は、計画装置2の動作例について説明するためのフローチャートである。
【0082】
計画装置2のプロセッサ21は、AGV棚8がAGV7によって持ち出されているかを判定する(S11)。AGV棚8がAGV7によって持ち出されていると判定すると(S11、YES)、プロセッサ21は、空き位置IDを取得して返却位置リストを生成する(S12)。
【0083】
空き位置IDを取得して返却位置リストを生成すると、プロセッサ21は、対象棚IDを取得する(S13)。対象棚IDを取得すると、プロセッサ21は、未処理のオーダーを処理するためにAGV7が各対象棚を搬送する搬送距離を算出する(S14)。
【0084】
各対象棚の搬送距離を算出すると、プロセッサ21は、搬送距離の降順で対象棚IDを示すn(i)を生成する(S15)。n(i)を生成すると、プロセッサ21は、iに1を代入する(S16)。
【0085】
iに1を代入すると、プロセッサ21は、iがN以下であるかを判定する(S17)。ここで、Nは、n(i)の総数である。
【0086】
iがN以下であると判定すると(S17、YES)、プロセッサ21は、n(i)が示す対象棚を各空き位置IDが示す棚配置位置に返却した場合における搬送距離を算出する(S18)。搬送距離を算出すると、プロセッサ21は、最も搬送距離が短い空き位置IDをr(n(i))として設定する(S19)。
【0087】
最も搬送距離が短い空き位置IDをr(n(i))として設定すると、プロセッサ21は、返却位置リストからr(n(i))を削除する(S20)。返却位置リストからr(n(i))を削除すると、プロセッサ21は、iをインクリメントする(S21)。
【0088】
iをインクリメントすると、プロセッサ21は、S17に戻る。
【0089】
iがN以下でないと判定すると(S17、NO)、プロセッサ21は、持ち出されたAGV棚8に変化が生じたかを判定する(S22)。持ち出されたAGV棚8に変化が生じていないと判定すると(S22、NO)、プロセッサ21は、S22に戻る。
【0090】
持ち出されたAGV棚8に変化が生じたと判定すると(S22、YES)、プロセッサ21は、S11に戻る。
【0091】
AGV棚8がAGV7によって持ち出されていないと判定すると(S11、NO)、プロセッサ21は、動作を終了する。
【0092】
なお、プロセッサ21は、各対象棚を対象棚に設定された位置IDが示す返却位置に搬送するように、AGV7を制御する。たとえば、プロセッサ21は、AGV制御装置4に、各対象棚を返却位置に搬送させる。
【0093】
また、プロセッサ21は、返却位置を変更しないAGV棚8を設定するものであってもよい。
また、計画装置2が実現する機能(又は、一部の機能)は、上位管理装置1が実現するものであってもよい。また、計画装置2が実現する機能(又は、一部の機能)は、AGV制御装置4が実現するものであってもよい。
【0094】
以上のように構成されたピッキングシステムは、未処理のオーダーを処理するためにAGV7がAGV棚を搬送する搬送距離を算出する。ピッキングシステムは、AGV棚の返却位置を搬送距離が小さくなるように変更する。その結果、ピッキングシステムは、AGVがAGV棚8を搬送する距離を小さくし搬送時間を抑制することができる。従って、ピッキングシステムは、スループットを改善することができる。
【0095】
また、ピッキングシステムは、上記の動作により、呼出頻度が高いAGV棚をピッキングステーションの近くに配置する。その結果、ピッキングシステムは、出庫する優先度が高い物品を格納するAGV棚をよりピッキングステーションの近くに配置することができる。たとえば、ピッキングシステムは、同種の物品であっても製造年月日が古い物品を優先的に出庫する場合、製造年月日がより古い物品を格納するAGV棚をピッキングステーションの近くに配置することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態に係るピッキングシステムは、AGV棚8が配置されている棚配置位置を示す棚IDも返却位置リストに含める点で第1の実施形態に係るそれと異なる。従って、その他の点については、同一の符号を付して詳細な説明を省略する。
【0096】
第2の実施形態に係るピッキングシステム100の構成は、第1の実施形態に係るそれと同様であるため説明を省略する。
【0097】
次に、計画装置2が実現する機能について説明する。計画装置2が実現する機能は、プロセッサ21がROM22又はNVM24などに格納されるプログラムを実行することで実現される。
計画装置2は、第1の実施形態に係るそれが実行する機能に加えて、以下の機能を実現する。
【0098】
まず、プロセッサ21は、AGV棚8が配置されている棚配置位置の位置IDを含む複数の位置IDを取得する機能を有する。
【0099】
たとえば、プロセッサ21は、AGV制御装置4又は上位管理装置1などから、AGV棚8が配置されている棚配置位置の位置IDと棚配置位置3の位置IDとを取得する。たとえば、プロセッサ21は、ピッキングシステム100に含まれる全ての棚配置位置の位置IDを取得してもよいし、一部の棚配置位置の位置IDを取得してもよい。
【0100】
位置IDを取得すると、プロセッサ21は、取得された位置IDを示す返却位置リストを生成する。
なお、プロセッサ21は、位置IDをNVM24から取得するものであってもよい。
【0101】
また、プロセッサ21は、未処理にオーダーに基づいて、対象棚の返却位置を設定する機能を有する。
【0102】
第1の実施形態と同様に、プロセッサ21は、数列n(i)を生成する。数列n(i)を生成すると、プロセッサ21は、iに1を代入する。iに1を代入すると、プロセッサ21は、n(i)を取得する。即ち、ここでは、プロセッサ21は、n(1)を取得する。
【0103】
n(i)を取得すると、プロセッサ21は、n(i)が示す対象棚を返却位置リストに含まれる1つの位置IDが示す棚配置位置に返却したと仮定する。当該対象棚を当該棚配置位置に返却すると仮定すると、プロセッサ21は、第1の実施形態と同様に、未処理のオーダーを処理するための搬送距離(第1の搬送距離)を算出する。
【0104】
プロセッサ21は、返却位置リストの各位置IDについて同様に搬送距離を算出する。
【0105】
返却位置リストの各位置IDについて搬送距離を算出すると、プロセッサ21は、最も搬送距離が短い位置IDを選択する。最も搬送距離が短い位置IDを選択すると、プロセッサ21は、取得された位置IDを、当該対象棚の返却位置を示す位置ID(r(n(i)))として、設定する。
【0106】
r(n(i))を設定すると、プロセッサ21は、返却位置リストからr(n(i))を削除する。
プロセッサ21は、iをインクリメントして、同様にr(n(i))を設定する。
【0107】
また、プロセッサ21は、設定された位置IDが示す返却位置(棚配置位置)にAGV棚8が存在する場合、当該AGV棚8を移動させる機能を有する。
【0108】
返却位置リストからr(n(i))を削除すると、プロセッサ21は、r(n(i))が示す返却位置にAGV棚8が存在するかを判定する。たとえば、プロセッサ21は、通信部25を通じて、当該返却位置にAGV棚8が存在するかを上位管理装置1又はAGV制御装置4に問い合わせる。また、プロセッサ21は、NVM24が格納するデータに基づいて、当該返却位置にAGV棚8が存在するかを判定してもよい。
【0109】
r(n(i))が示す返却位置にAGV棚8が存在すると判定すると、プロセッサ21は、AGV7に、当該返却位置に存在するAGV棚8を他の棚配置位置に移動させる。即ち、プロセッサ21は、AGV制御装置4を制御して、AGV7に当該AGV棚8を移動させる。たとえば、プロセッサ21は、何れかの空き位置IDが示す棚配置位置に当該AGV棚8を移動させる。また、プロセッサ21は、AGV棚8が元々配置されていない棚配置位置に当該AGV棚8を移動させてもよい。
【0110】
次に、計画装置2の動作例について説明する。
図6は、計画装置2の動作例について説明するためのフローチャートである。
【0111】
計画装置2のプロセッサ21は、AGV棚8がAGV7によって持ち出されているかを判定する(S31)。AGV棚8がAGV7によって持ち出されていると判定すると(S31、YES)、プロセッサ21は、位置IDを取得して返却位置リストを生成する(S32)。
【0112】
位置IDを取得して返却位置リストを生成すると、プロセッサ21は、対象棚IDを取得する(S33)。対象棚IDを取得すると、プロセッサ21は、未処理のオーダーを処理するためにAGV7が各対象棚を搬送する搬送距離を算出する(S34)。
【0113】
各対象棚の搬送距離を算出すると、プロセッサ21は、搬送距離の降順で対象棚IDを示すn(i)を生成する(S35)。n(i)を生成すると、プロセッサ21は、iに1を代入する(S36)。
【0114】
iに1を代入すると、プロセッサ21は、iがN以下であるかを判定する(S37)。ここで、Nは、n(i)の総数である。
【0115】
iがN以下であると判定すると(S37、YES)、プロセッサ21は、n(i)が示す対象棚を返却位置リストの各位置IDが示す棚配置位置に返却した場合における搬送距離を算出する(S38)。搬送距離を算出すると、プロセッサ21は、最も搬送距離が短い位置IDをr(n(i))として設定する(S39)。
【0116】
最も搬送距離が短い位置IDをr(n(i))として設定すると、プロセッサ21は、返却位置リストからr(n(i))を削除する(S40)。返却位置リストからr(n(i))を削除すると、プロセッサ21は、r(n(i))が示す棚配置位置にAGV棚8が存在しているかを判定する(S41)。
【0117】
r(n(i))が示す棚配置位置にAGV棚8が存在していると判定すると(S41、YES)、プロセッサ21は、AGV7に、当該AGV棚8を他の棚配置位置に移動させる(S42)。
【0118】
r(n(i))が示す棚配置位置にAGV棚8が存在していないと判定した場合、(S41、NO)、又は、当該AGV棚8を他の棚配置位置に移動させた場合(S42)、プロセッサ21は、iをインクリメントする(S43)。
【0119】
iをインクリメントすると、プロセッサ21は、S37に戻る。
【0120】
iがN以下でないと判定すると(S37、NO)、プロセッサ21は、持ち出されたAGV棚8に変化が生じたかを判定する(S44)。持ち出されたAGV棚8に変化が生じていないと判定すると(S44、NO)、プロセッサ21は、S44に戻る。
【0121】
持ち出されたAGV棚8に変化が生じたと判定すると(S44、YES)、プロセッサ21は、S31に戻る。
【0122】
AGV棚8がAGV7によって持ち出されていないと判定すると(S31、NO)、プロセッサ21は、動作を終了する。
【0123】
以上のように構成されたピッキングシステムは、AGV棚が配置されている棚配置位置も対象棚の返却位置となり得る。その結果、ピッキングシステムは、より柔軟に対象棚の返却位置を設定することができる。
【0124】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0125】
1…上位管理装置、2…計画装置、3…棚配置位置、4…AGV制御装置、5…スイッチ、6…無線LANアクセスポイント、7…AGV、8…AGV棚、9…充電ステーション、21…プロセッサ、22…ROM、23…RAM、24…NVM、25…通信部、26…操作部、27…表示部、70…タイヤ、71…プロセッサ、72…ROM、73…RAM、74…補助記憶デバイス、75…通信インターフェース、76…駆動部、77…センサ、78…バッテリー、79…充電機構、100…ピッキングシステム、111…ピッキングロボット、112…表示装置、113…係員。