(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030102
(43)【公開日】2024-03-07
(54)【発明の名称】情報処理方法、情報処理プログラムおよび情報処理装置
(51)【国際特許分類】
G06Q 10/087 20230101AFI20240229BHJP
B65G 1/137 20060101ALI20240229BHJP
G06N 3/08 20230101ALI20240229BHJP
G06N 20/00 20190101ALI20240229BHJP
【FI】
G06Q10/08 330
B65G1/137 F
G06N3/08
G06N20/00
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022132670
(22)【出願日】2022-08-23
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】横寺 裕
【テーマコード(参考)】
3F522
5L049
【Fターム(参考)】
3F522CC01
3F522LL31
5L049AA16
(57)【要約】
【課題】データの変化に対応した高精度の予測を提供できる情報処理方法、情報処理プログラムおよび情報処理装置を提供する。
【解決手段】実施形態によれば、情報処理方法は、外部システムから取得するオーダーリストに基づいて物品をピッキングするピッキング作業のピッキング作業リストを生成し、前記ピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成し、整形データが従う確率分布の種類を特定する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
外部システムから取得するオーダーリストに基づいてピッキング手段が物品をピッキングするピッキング作業のピッキング作業リストを作成し、
前記ピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成し、
前記整形データが従う確率分布の種類を特定する、
情報処理方法。
【請求項2】
さらに、前記整形データが従う確率分布の種類とピッキング手段の処理能力の確率分布を予測するための記憶装置に記憶している予測モデルが仮定する確率分布の種類とが異なる場合に前記予測モデルの更新を実行する、
請求項1に記載の情報処理方法。
【請求項3】
さらに、前記整形データに前記ピッキング作業を実施した実績値を付加したデータが従う確率分布の種類を特定し、
前記整形データに前記実績値を付加したデータが従う確率分布の種類と記憶装置に記憶している前記予測モデルが仮定する確率分布の種類とが異なる場合に前記予測モデルの更新を実行する、
請求項2に記載の情報処理方法。
【請求項4】
さらに、前記整形データが従う確率分布の形状と前記予測モデルが仮定する確率分布の形状とのずれが所定の大きさを超える場合に前記予測モデルの更新を実行する、
請求項2に記載の情報処理方法。
【請求項5】
さらに、前記予測モデルを用いて予測する確率分布において前記ピッキング作業を実施した実績値が該当する確率密度に応じた評価値が所定の閾値未満である場合に前記予測モデルの更新を実行する、
請求項4に記載の情報処理方法。
【請求項6】
前記物品に関するデータは、前記物品の種別を識別する物品ID、前記物品のピッキング個数、前記物品の重量、前記物品の体積、前記物品の形状、前記物品の材質、前記物品を格納する棚を識別する棚ID、又は、前記棚における前記物品の保管位置の少なくとも1つを含む、
請求項1乃至5のいずれか1項に記載の情報処理方法。
【請求項7】
前記整形データは、前記ピッキング作業リストに対して作業の対象となる物品に関するデータと前記ピッキング手段に関する属性データとを紐づけて作成する、
請求項1乃至5のいずれか1項に記載の情報処理方法。
【請求項8】
前記ピッキング手段は、作業者であり、
前記ピッキング手段に関する属性データは、前記作業者を識別する作業者ID、年齢、性別、身長、運動経験、勤務年数、雇用形態、又は、勤務継続時間、の少なくとも1つを含む、
請求項7に記載の情報処理方法。
【請求項9】
前記予測モデルは、前記整形データを入力すると、仮定した種類の確率分布に対する形状パラメータを出力する機械学習モデルである、
請求項2に記載の情報処理方法。
【請求項10】
前記機械学習モデルは、ボルツマンマシンである、
請求項9に記載の情報処理方法。
【請求項11】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
外部システムから取得するオーダーリストに基づいて物品をピッキングするピッキング作業のピッキング作業リストを作成するリスト作成機能と、
前記ピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成するデータ整形機能と、
前記整形データが従う確率分布の種類を特定するデータ評価機能と、、
を実現させるプログラム。
【請求項12】
外部システムとデータを送受信するインタフェースと、
前記インタフェースにより前記外部システムから取得するオーダーリストに基づいて物品をピッキングするピッキング作業のピッキング作業リストを生成し、前記ピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成し、前記整形データが従う確率分布の種類を特定する、プロセッサと、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理方法、情報処理プログラムおよび情報処理装置に関する。
【背景技術】
【0002】
近年、自動搬送車(AGV)を用いて物品を格納する棚を複数のピッキングステーションに搬送するシステムが提供されている。各ピッキングステーションでは、係員又はロボットなどのピッキング手段が自動搬送車によって搬送された棚から物品をピッキングする。このようなシステムでは、ピッキング手段がピッキングに要する作業時間(処理能力)を予測し、スループットが最大となる作業計画を策定する。しかしながら、上述のシステムでは、個々のピッキング手段の処理能力のばらつきによって、作業計画と実態との乖離が起こり得るため、スループットの最大化が難しいという課題がある。
【0003】
また、上述したシステムは、物理的なバッファを増やすことによりスループットを担保することができるが、システムにおける物理的なバッファを増やすことは容易ではない。例えば、ピッキングステーションに待機させるAGVの台数を増やすことにより個々のピッキング手段の処理能力のばらつきを吸収することは可能となる。この場合、AGVの台数の増加に伴ってピッキングステーション周辺の空間を確保したりする必要も生じる。これらのようなシステム構成の変更は、コスト面と運用効率との面から現実には容易ではないと考えられる。
【0004】
また、システムのバッファを増やさずにスループットを担保する方法としては、機械学習を用いて処理能力のばらつきを確率分布として予測し、シミュレーションでリスク評価を行いながら処理能力に応じた作業計画を策定するものがある。しかしながら、従来のシステムでは、処理能力の確率分布を予測する予測モデルが仮定する確率分布の種類がシステムの設計として決められた固定のものである。このため、従来のシステムは、取扱物品の追加、需要の変化、あるいは、保管場所のレイアウト変更などに起因して実際の運用において処理能力の予測分布である確率分布が大きく変化することがあるため、予測精度が低下してしまうことがあるという問題がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の課題を解決するため、データの変化に対応した高精度の予測を提供できる情報処理方法、情報処理プログラムおよび情報処理装置を提供する。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理方法は、外部システムから取得するオーダーリストに基づいて物品をピッキングするピッキング作業のピッキング作業リストを生成し、前記ピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成し、整形データが従う確率分布の種類を特定する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係るピッキングシステムの構成例を概念的に示す図である。
【
図2】
図2は、実施形態に係るピッキングシステムの構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る上位管理装置の構成例を示すブロック図である。
【
図4】
図4は、実施形態に係るピッキングシステムにおけるAGVの構成例を示すブロック図である。
【
図5】
図5は、実施形態に係るピッキングシステムにおける上位管理装置が有する機能の例を示す図である。
【
図6】
図6は、実施形態に係る上位管理装置が有する機能であるデータ整形部およびデータ評価部が実施する処理の例を説明するための図である。
【
図7】
図7は、実施形態に係る上位管理装置が有する機能であるデータ評価部がデータサンプルに対して複数種類の確率分布を評価した例を示す図である。
【
図8】
図8は、実施形態に係る上位管理装置が有する機能であるモデル更新部が更新する予測モデルに用いられる制限ボルツマンマシンを説明するための図である。
【
図9】
図9は、実施形態に係る上位管理装置が予測モデルを用いた予測分布を評価する評価値として実績値の出現しやすさを定量化する例を説明するための図である。
【
図10】
図10は、実施形態に係る上位管理装置が有する機能である確率分布予測部および作業計画部が実施する処理の例を説明するための図である。
【
図11】
図11は、実施形態に係る上位管理装置の動作例を示すフローチャートである。
【
図12】
図12は、実施形態に係る上位管理装置の動作例を示すフローチャートである。
【
図13】
図13は、実施形態に係る上位管理装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
実施形態に係るピッキングシステムは、物流センタ又は倉庫などに設置される物流システムに含まれるシステムであって、棚から物品をピッキングするためのシステムである。ピッキングシステムは、自動搬送車(Automated Guided Vehicle(AGV))を用いて棚をピッキングステーションに搬送する。ピッキングシステムは、ピッキングステーションにおいて棚から物品をピッキングし、ピッキングした物品を指定のトレイに仕分けるピッキング作業を制御する。ピッキングシステムは、係員又はロボットなどのピッキング手段によって棚から物品をピッキングさせる。
【0010】
図1は、実施形態に係るピッキングシステム100の構成例を概念的に示す図である。また、
図2は、ピッキングシステム100の構成例を示すブロック図である。
図1および
図2が示すように、ピッキングシステム100は、複数(
図1の例では、3個)のピッキングステーションP、上位管理装置1、ネットワーク2、外部システム3、AGV7およびAGV棚8などを備える。ピッキングステーションPは、トレイ10、作業管理部112およびピッキング手段113などを備える。ネットワーク2は、上位管理装置1、AGV7および作業管理部112に接続する。上位管理装置1は、外部システム3に接続する。
【0011】
外部システム3は、ピッキングする物品を示すオーダーリストを上位管理装置1に送信する。外部システム3は、1又は複数のコンピュータで実現可能である。例えば、外部システム3は、物品の入出庫や在庫管理を担う倉庫管理システム(Warehouse Management System(WMS))を備えるものであっても良い。
【0012】
上位管理装置(情報処理装置)1は、倉庫内に保管される物品に関する情報を管理する。例えば、上位管理装置1は、各AGV棚8が格納する物品を示す物品管理情報などを記憶する。また、上位管理装置1は、外部システム3からピッキングする物品を示すオーダーリストを取得する。上位管理装置1は、オーダーリストに基づいて、AGV棚8を各ピッキングステーションPに搬送させる。上位管理装置1は、各ピッキングステーションPにおける物品の処理に関する情報を取得する。
【0013】
なお、上位管理装置1と作業管理部112およびAGV7との間には、倉庫内設備を制御する倉庫制御システム(Warehouse Control System; WCS)を設けても良い。また、後述する上位管理装置の機能の一部は、WMS又はWCSが担うようにしても良い。
【0014】
ネットワーク2は、上位管理装置1、AGV7および作業管理部112の間の通信を中継する。例えば、ネットワーク2は、LAN(local area network)である。AGV7は、ネットワーク2に無線で接続するものであってもよい。
【0015】
AGV7は、AGV棚8をピッキングステーションPに搬送する。AGV7は、上位管理装置1又は作業管理部112からの制御信号などに基づき動作する。例えば、AGV7は、指定された積み込み位置へ向かって走行し、指定された積み込み位置のAGV棚8を持ち上げる。AGV7は、指定された積み降ろし位置へ向かって走行し、指定された積み降ろし位置でAGV棚8を降ろす。
【0016】
AGV棚8は、物品保管エリアに配置されている。AGV棚8は、物品を格納する棚である。例えば、AGV棚8は、四本の支柱で直立する。AGV棚8の棚下の高さは(床面から棚底までの高さ)、AGV7の高さよりも高い。これにより、AGV7は、AGV棚8の棚下に潜り込むことができる。棚下に潜り込んだAGV7は、プッシャーにより床面から支柱の先端が数センチ離れる程度にAGV棚8を持ち上げて、AGV棚8を持ち上げた状態で走行する。このようにしてAGV7は、AGV棚8を搬送する。
【0017】
また、AGV棚8には、固定式カメラ又は移動式カメラ等で読み取り可能な棚識別情報が貼り付けられてもよい。物品にも、固定式カメラ又は移動式カメラ等で読み取り可能な物品識別情報が貼り付けられてもよい。例えば、棚識別情報および物品識別情報は、バーコードや二次元コードである。なお、ピッキングシステム100は、固定式カメラ又は移動式カメラとは別に、これら棚識別情報および物品識別情報を読み取る複数のリーダを備えてもよい。
【0018】
図1に示す例において、ピッキングステーションPは、出庫作業エリアに配置されている。ピッキングステーションPは、AGV7により搬送されたAGV棚8を受け入れる。ピッキングステーションPは、受け入れたAGV棚8から物品をピッキングする。
【0019】
ピッキングステーションPには、割り付けられた各注文情報に対応したトレイ10が用意される。ピッキングステーションPでは、ピッキングされた物品がトレイ10に投入される。トレイ10は、必要な商品が揃ったらピッキングステーションから排出され、空の新しいトレイが補充される。必要な商品が揃って排出されたトレイ10は、出庫作業エリアの後の工程に送られ、梱包、仕分け、荷積みが行われる。
【0020】
作業管理部112は、ピッキングステーションPでのピッキング作業を管理する。作業管理部112は、表示部および操作部などを備える。例えば、作業管理部112は、デスクトップPC、ノートPC又はタブレットPCなどを含む。作業管理部112は、上位管理装置1からの制御に従って、ピッキングする物品を示す情報を表示部に表示する。また、作業管理部112は、ピッキング手段113としての係員から、ピッキングが完了した物品を示す操作の入力を受け付ける。作業管理部112は、入力された操作を示す情報を上位管理装置1に送信する。
【0021】
例えば、作業管理部112は、デジタルアソートシステム(Digital Assort System; DAS)が用いられる。作業管理部112としてのDASは、ピッキング手段が棚からピッキングした物品のバーコードをスキャンし、スキャナした物品の仕分け先となるトレイに対応するランプが点灯する。作業管理部112は、トレイに物品を仕分けし終えたら、当該トレイの位置にあるスイッチを係員が押すことで作業完了とし、作業時間などの作業結果(作業実績)を示す作業ログを作成する。作業管理部112は、作業ログを作成すると、作成した作業ログを上位管理装置1へ供給する。
【0022】
ピッキング手段113は、上位管理装置1からの指示に従ってAGV棚8から物品を把持する。ピッキング手段113は、作業者又はピッキングロボットである。ピッキングステーションPは、ピッキング手段113として、係員およびピッキングロボットの両者を有するものであってもよい。
【0023】
作業者としてのピッキング手段113は、作業管理部112に表示される物品を目視で確認して物品をピッキングする。ピッキング手段113は、ピッキングされた物品をトレイ10に投入する。ピッキング手段113は、物品をトレイ10に投入すると、ピッキングが完了した物品を示す操作を作業管理部112に入力する。
【0024】
なお、ステーションPには、ピッキング手段113の動作をモニタリングするカメラなどを備えていてもよい。カメラが撮影した画像に基づいてピッキング手段の作業開始、および、終了を判定するようにしてもよい。また、作業中の割り込み処理や異常の有無を判定し、その情報を作業ログに付与してもよい。
【0025】
また、ピッキング手段113は、ピッキングロボットであってもよい。ピッキング手段113がピッキングロボットである場合、作業管理部112は、ピッキングロボットを制御するロボット制御機構を含むものであっても良い。また、ロボット制御機構の一部又は全部の機能は、上位管理装置1が担うようにしても良い。また、ピッキング手段113がピッキングロボットである場合、作業管理部112は、作業ログとしてピッキングに成功したか否か(物品を落としていないか否か)を示す情報を取得するものであっても良い。この場合、上位管理装置1は、予測モデルを用いて処理能力とピッキングの成功確率とを予測するようにしても良い。
【0026】
次に、実施形態に係るピッキングシステム100における上位管理装置1の構成について説明する。
図3は、実施形態に係るピッキングシステム100における上位管理装置1の構成例を示すブロック図である。
上位管理装置1は、1又は複数のコンピュータにより構成される。例えば、上位管理装置1は、プロセッサ11、ROM12、RAM13、補助記憶デバイス14、および通信インタフェース15などを備える。
【0027】
プロセッサ11と、ROM12、RAM13、補助記憶デバイス14、および通信インタフェース15とは、データバス又はインタフェースなどを介して互いに接続する。
プロセッサ11は、上位管理装置1全体の動作を制御する機能を有する。プロセッサ11は、内部キャッシュおよび各種のインタフェースなどを備えてもよい。プロセッサ11は、内部メモリ、ROM12又は補助記憶デバイス14が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0028】
例えば、プロセッサ11は、CPU(Central Processing Unit)である。なお、プロセッサ11は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、又はFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよい。
【0029】
ROM12は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM12は、プロセッサ11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサ11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0030】
補助記憶デバイス14は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス14は、プロセッサ11が各種の処理を行う上で使用するデータ、プロセッサ11での処理によって生成されたデータ又は各種の設定値などを保存する。
【0031】
補助記憶デバイス(記憶装置)14は、各AGV棚8が格納する物品を示す物品管理情報を予め格納する。例えば、物品管理情報は、AGV棚8を示す棚コードとAGV棚8が格納する物品を示す物品コードとを対応付けて格納する。
【0032】
なお、ROM12又は補助記憶デバイス14に上記のプログラムが記憶された状態で、上位管理装置1が譲渡されてもよいし、上記のプログラムを記憶しない状態で、上位管理装置1が譲渡されてもよい。後者の場合、上位管理装置1は、光ディスク又は半導体メモリのようなリムーバブルな記憶媒体に記憶された上記のプログラムを読み取り、読み取ったプログラムを補助記憶デバイス14へ書き込む。又は、上位管理装置1は、ネットワークなどを介して上記のプログラムをダウンロードし、ダウンロードしたプログラムを補助記憶デバイス14へ書き込む。
【0033】
通信インタフェース15は、種々の装置とデータを送受信するためのインタフェースである。通信インタフェース15は、AGV7および作業管理部112などに接続する。また、通信インタフェース15は、外部システム3などからオーダーリストなどを取得する。例えば、通信インタフェース15は、LAN(local area network)接続などをサポートする。また、通信インタフェース15は、外部システム3とデータを送受信するためのインタフェースと、AGV7とデータを送受信するためのインタフェースと、作業管理部112とデータを送受信するためのインタフェースと、を備える構成しても良い。
【0034】
次に、実施形態に係るピッキングシステム100におけるAGV7の構成について説明する。
図4は、実施形態に係るピッキングシステム100におけるAGV7の構成例を示すブロック図である。
AGV7は、プロセッサ71、ROM72、RAM73、補助記憶デバイス74、通信インタフェース75、駆動部76、センサ77、バッテリー78、充電機構79、およびタイヤ70などを備える。
【0035】
プロセッサ71は、AGV7全体の動作を制御する機能を有する。プロセッサ71は、内部キャッシュおよび各種のインタフェースなどを備えてもよい。プロセッサ71は、内部メモリ、ROM72又は補助記憶デバイス74が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0036】
例えば、プロセッサ71は、CPUである。なお、プロセッサ71は、LSI、ASIC、又はFPGA等のハードウェアにより実現されてもよい。
プロセッサ71は、加速、減速、停止、方向転換、およびAGV棚8の積み降ろし等の動作に必要な演算および制御などの処理を行う。プロセッサ71は、上位管理装置1又は作業管理部112などからの制御信号に基づき、ROM72等に記憶されたプログラムを実行することにより、駆動信号を生成し各部に出力する。
【0037】
例えば、上位管理装置1又は作業管理部112は、AGV7を現在位置から第1の位置(目的のAGV棚8の位置)へ移動させて第1の位置から第2の位置(目的のピッキングステーションPの位置)へ移動させる制御信号を送信する。また、上位管理装置1又は作業管理部112は、AGV7を第2の位置から第1の位置へ移動させる制御信号を送信する。AGV7のプロセッサ71は、上位管理装置1又は作業管理部112から送信される制御信号に応じた駆動信号を出力する。これにより、AGV7は、現在位置から第1の位置へ移動し、第1の位置から第2の位置へ移動し、第2の位置から第1の位置へ移動する。また、プロセッサ71は、上位管理装置1又は作業管理部112から送信される制御信号に含まれるAGV棚8の積み降ろし指示に応じた駆動信号を出力する。これにより、AGV7は、プッシャーによりAGV棚8を持ち上げたり、持ち上げたAGV棚8を降ろしたりする。
【0038】
ROM72は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM72は、プロセッサ71が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM73は、データの読み書きに用いられるメモリである。RAM73は、プロセッサ71が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0039】
補助記憶デバイス74は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、補助記憶デバイス74は、プロセッサ71が各種の処理を行う上で使用するデータ、プロセッサ71での処理によって生成されたデータ又は各種の設定値などを保存する。
【0040】
通信インタフェース75は、無線LANアクセスポイントなどを通じて上位管理装置1又は作業管理部112などとデータを送受信するインタフェースである。例えば、通信インタフェース75は、無線LAN接続をサポートする。
【0041】
駆動部76は、モータ等であり、プロセッサ71から出力される駆動信号に基づきモータを回転又は停止する。モータの動力は、タイヤ70に伝達され、操舵機構に伝達される。このようなモータからの動力により、AGV7は、目的位置へ移動する。
【0042】
また、AGV7がAGV棚8下に潜り込んだ状態で、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(順回転)する。このモータからの動力によりプッシャーが上昇しAGV棚8が持ち上げられる。また、AGV7が目的位置に到達した後、駆動部76は、プロセッサ71から出力される駆動信号に基づきモータを回転(逆回転)する。このモータからの動力によりプッシャーが下降しAGV棚8が床面に降ろされる。
【0043】
センサ77は、複数の反射センサである。各反射センサは、AGV7の周囲に取り付けられる。各反射センサは、レーザ光を照射し、レーザ光を照射してからレーザ光が物体で反射して戻るまでの時間を検出し、検出された時間に基づき物体までの距離を検知し、検知信号をプロセッサ71へ通知する。
【0044】
プロセッサ71は、センサ77からの検知信号に基づき、AGV7の走行を制御する制御信号を出力する。例えば、プロセッサ71は、センサ77からの検知信号に基づき、物体への衝突を回避する減速又は停止等の制御信号を出力する。なお、センサ77以外に、カメラを備え、カメラが、周辺を撮影し撮影画像をプロセッサ71へ出力してもよい。この場合、プロセッサ71は、撮影画像を解析し、物体への衝突を回避する減速又は停止等の制御信号を出力する。
【0045】
バッテリー78は、駆動部76等に必要な電力を供給する。充電機構79は、充電ステーションとバッテリー78とを接続する機構であり、バッテリー78は、充電機構79を介して充電ステーションなどから供給される電力により充電される。
【0046】
次に、実施形態に係るピッキングシステム100における上位管理装置1が有する機能について説明する。
図5は、実施形態に係るピッキングシステム100における上位管理装置1が有する機能の例を示す図である。
上位管理装置1は、プロセッサ11の内部メモリ、ROM12又は補助記憶デバイス14などの記憶装置に設けられるデータベース200を有する。記憶装置としてのデータベース200は、各種のデータを格納する。データベース200が記憶するデータは、通信インタフェース15により上位管理装置1の外部へ出力される。また、通信インタフェース15により上位管理装置1に入力されるデータは、データベース200に保存される。
【0047】
データベース200が格納する各種のデータには、外部システム3から取得したオーダーリスト、倉庫内の物品データ、ピッキング手段データ、AGVデータ、モデルデータ、作業計画データ、オーダーリストや作業実績を基に整形した整形データなどが含まれる。
【0048】
物品データは、ピッキングの対象となる物品に関するデータである。物品データは、例えば、物品ID、個数、重量、体積、形状、材質、保管棚ID、棚内での保管位置などである。
【0049】
ピッキング手段データは、ピッキング手段に関するデータである。ピッキング手段が人(作業者)である場合、ピッキング手段データは、人の属性データである。ピッキング手段データとしての人の属性データは、例えば、作業者ID、年齢、性別、身長、運動経験、勤務年数、雇用形態、勤務継続時間などである。また、ピッキング手段がロボットの場合、ピッキング手段データはロボットのスペックデータである。ピッキング手段データとしてのロボットのスペックデータは、例えば、機器ID、ハンド機構種類、取扱可能重量などである。
【0050】
AGVデータは、AGV7に関するデータである。AGVデータは、例えば、機器ID、使用年数、充電率、状態(待機、使用中、帰還途中)などである。
【0051】
整形データは、ピッキングの作業に関するデータを整形することにより生成される。整形データは、予測モデルの学習および推論にも用いられる。例えば、整形データは、外部システム3からのオーダーリストに基づくピッキング作業リストに対して物品データなどのデータを紐づけることにより生成される。また、整形データは、ピッキング手段ごとに生成しても良いし、ピッキング手段データを含めて生成しても良い。後者の場合、整形データは、外部システム3からのオーダーリストに基づくピッキング作業リストに対して物品データとピッキング手段データを紐づけることにより生成しても良い。また、整形データは、作業ログを取得後にピッキング作業の結果(実績)を示すデータを追記するようにしても良い。
【0052】
モデルデータは、ピッキング手段の処理能力を予測する確率分布(予測分布)を出力するための予測モデルとしてデータベース200に保存される。例えば、予測モデルは、ピッキング手段毎に個別に構築され、データベース200に保存される。また、データベース200には、ピッキング手段の属性やスペックで分類した複数予測モデルが保存されるようにしても良い。さらに、ピッキング手段の属性やスペック、およびピッキング作業の属性から確率分布を予測する人又はロボット用の汎用の予測モデルがデータベース200に保存されるようにしても良い。
【0053】
作業ログは、指示されたピッキング作業に対する作業実績に関するデータである。例えば、作業ログは、作業管理部112から収集するデータを各ピッキング作業単位(物品ID、ピッキング個数、棚内での物品保管位置、物品投入先のトレイ位置)に付与したデータである。この場合、作業管理部から収集するデータは、作業者ID、作業時間(実績値)、割り込み処理や異常の有無などのデータである。また、作業ログは、AGVから収集するデータを各搬送作業単位(搬送した棚ID、棚の初期位置、搬送先ピッキングステーションID)に付与したデータを含むものであっても良い。AGVから収集するデータは、機器ID、作業開始時の位置、移動経路、衝突回避行動の有無、移動距離、消費電力、搬送時間などのデータである。
【0054】
図5に示すように、上位管理装置1は、作業リスト作成部201、データ整形部202、データ評価部203、モデル更新部204、確率分布予測部205、作業計画部206を有する。作業リスト作成部201、データ整形部202、データ評価部203、モデル更新部204、確率分布予測部205、作業計画部206は、プロセッサ11の内部メモリ、ROM12又は補助記憶デバイス14などの記憶装置に格納されるプログラムをプロセッサ11が実行することにより実現される機能である。
【0055】
実施形態に係る上位管理装置1は、プロセッサ11が実行するプログラムとして、オーダーリストからピッキング作業リスト(作業リスト)を作成するプログラム、作業リストに基づく作業データ又は作業ログを含む作業データを整形するプログラム、作業データ又は作業実績を含む作業データの特性評価を行うプログラム、確率分布予測モデルを更新するプログラム、確率分布を予測するプログラム、作業計画を行うプログラムを記憶装置に記憶する。
【0056】
プロセッサ11は、オーダーリストから作業リストを作成するプログラムを実行することにより作業リスト作成部201として機能する。作業リスト作成部201は、外部システム3から取得する新規のオーダーリストに基づいて各ピッキングステーションで実施する作業内容を指定するピッキング作業リスト(以下、単に作業リストとも称する)を作成する。ピッキング作業リストは、物品のピッキング個数や重量、体積、棚内での物品保管位置、物品投入先のトレイ位置などの作業属性データを含むデータである。
【0057】
プロセッサ11は、ピッキング作業データを整形するプログラムを実行することによりデータ整形部202として機能する。ここで、ピッキング作業データは、作業リストのデータであっても良いし、作業リストに作業ログなどのデータを付加したデータであっても良い。データ整形部202は、ピッキング作業データを基に、予測モデルの学習、および確率分布の推論に用いるデータを作成する。また、データ整形部202が実行する整形処理は、ピッキング作業データに対して物品データ、ピッキング手段データ、作業ログ(作業実績データ)などのデータを紐づける処理と各種データに対する変数の変換およびスケーリングなどの前処理とを含む。
【0058】
プロセッサ11は、オーダーリストおよび作業ログの特性評価を行うプログラムを実行することによりデータ評価部203として機能する。データ評価部203は、整形データについてデータ特性の評価を行い、特性変化の有無を判定する。変化を検知した場合、データ評価部203は、特性変化を検知した結果を示す情報(判定結果)を出力する。
【0059】
プロセッサ11は、確率分布予測モデルの更新するプログラムを実行することによりモデル更新部204として機能する。モデル更新部204は、データ評価部203が出力する評価結果を基に、予測モデルの再設計、および再学習処理を実行する。モデル更新部204は、構築した予測モデルをデータベース200に保存する。
【0060】
プロセッサ11は、確率分布を予測するプログラムを実行することにより確率分布予測部205として機能する。確率分布予測部205は、整形済みの作業データと保存された予測モデルを基に、実施予定の各ピッキング作業に対する各ピッキング手段の処理能力に関する確率分布を示す分布データを作業計画部206へ出力する。
【0061】
プロセッサ11は、作業計画を行うプログラムを実行することにより作業計画部206として機能する。作業計画部206は、確率分布予測部205が出力する処理能力の確率分布を示す分布データおよび倉庫内の運用状況などの作業データに基づき、各ピッキングステーションへの作業割付および棚搬送に使用するAGV7などの作業計画を策定する。作業計画部206は、例えば、確率分布予測部205から取得する確率分布を示す分布データをシミュレーション系におけるピッキング手段やAGVの処理能力のモデルとして使用する。
【0062】
次に、上位管理装置1が有する機能である作業リスト作成部201が実施する処理について説明する。
上位管理装置1は、外部システム3からオーダーリストを取得する。また、上位管理装置1は、倉庫内の在庫データや輸送トラックの運行データなどもデータも取得するようにしてもよい。オーダーリストは、出荷時間や輸送トラックの制約を基に決められたバッチ単位で取得するものとする。
【0063】
上位管理装置1において、作業リスト作成部201は、外部システム3から新規に取得するオーダーリストなどのデータに基づいて各ピッキングステーションで実施する作業内容を示すピッキング作業リストを作成する。作業リスト作成部201は、オーダーの並べ替え、又は、作業の割付の変更をバッチ単位内で実行するものとする。
【0064】
また、各ピッキングステーションの作業進捗によっては、棚呼び出しの干渉やピッキングステーションでの作業待ちが起こり得る。これを回避するために、ピッキングステーションに作業を割り付けた後でも、割付済み作業の範囲内で実施順序(棚の呼び出し順序)を入れ替えてもよい。さらに、棚呼び出しの干渉やピッキングステーションでの作業待ちの回避が困難な場合、又は、作業の平準化の観点から大きな計画変更が必要な場合、割付済み作業の中でまだ棚の呼び出しを実施していない作業について、割付先のピッキングステーションを変更してもよい。
【0065】
割付先のピッキングステーションを変更可能な作業の範囲やタイミングは、ピッキングステーションが備えるトレイの数やその管理方法によって異なる。注文ID(オーダーの識別情報)とトレイID(仕分け先のトレイの識別情報)とが予め紐づけされた状態で各ピッキングステーションにトレイが補充される場合、補充済みのトレイに対応した作業は、作業順序の入れ替えが可能であるが、割付先を別のピッキングステーションに変更することはできないものとする。注文IDとトレイIDの紐づけが各ピッキングステーションで実施され、作業直前まで変更可能な場合、より広い範囲に渡って計画を変更することができる。
【0066】
作業リスト作成部201は、ピッキング作業リストを作成する場合、ピッキング作業と呼び出す棚との紐づけを行う。また、作業リスト作成部201は、一度の棚呼び出しで同時に実行可能なピッキング作業がまとまるように、ピッキング作業を並び替え、複数のピッキング作業をまとめてピッキング手段に割り付ける作業単位としてよい。この場合、まとまった作業単位毎に呼び出す棚を紐づける。
【0067】
ピッキング作業を並べ替えてまとめる方法には、例えば次の2つがある。1つ目は、呼び出した棚の中に保管されている物品Iaが複数の注文情報に記載されている場合、棚から同一物品Iaを複数個ピッキングし、複数のトレイに投入してもよい。2つ目は、ある注文情報に記載された異なる物品Ia、Ibが、呼び出した棚にまとめて保管されている場合、異なる商品Ia、Ibを同じ棚からまとめてピッキングしてもよい。また、上記2つのまとめ方を組み合わせてもよい。
【0068】
次に、上位管理装置1が有する機能であるデータ整形部202およびデータ評価部203が実施する処理について説明する。
図6は、上位管理装置1が有する機能であるデータ整形部202およびデータ評価部203が実施する処理を説明するための図である。
【0069】
データ整形部202は、ピッキング作業リストに示されたピッキング作業データ(物品のピッキング個数、保管棚ID情報)に対して、データベース200が記憶する物品データ(例えば、物品の重量、体積、形状、材質、棚内での物品保管位置などの情報)などのデータを紐づけることにより整形データを生成する。物品の投入先とするトレイの位置が決まっている場合、データ整形部202は、物品の仕分け先(投入先)とするトレイの位置を示す情報も付与するようにしても良い。
【0070】
また、データ整形部202は、ピッキング手段データ(ピッキング手段の属性データ)を説明変数として使用して整形データを生成するようにしても良い。この場合、データ整形部202は、ピッキング作業データに対して、物品データおよびピッキング手段データを紐づけることにより整形データを生成する。
【0071】
また、データ整形部202は、ピッキング作業が完了した後、作業リストに基づいて作成した整形データに対して、実施した作業内容を示す作業ログに含まれるデータ(作業時間の実績値、割り込み処理や異常の有無などの情報)を付与するようにしても良い。
【0072】
データ整形部202は、整形するデータとしての各変数について、変数変換やスケーリングなどの前処理を実行する。例えば、物品の保管位置を示す物品保管位置情報は、高さに応じてアルファベットなどで管理されることがある。この場合、アルファベットが機械学習モデルにとっては意味のある情報にならないため、アルファベットをダミー変数の値(例えば、0又は1の2値)に変換する。また、棚の高さに応じたアルファベットは、棚の高さ情報を基に連続値に変換するようにしても良い。
【0073】
また、データ整形部202は、用意した変数間で取り得る値の範囲が異なる場合、前処理としてスケーリング処理を実行する。例えば、スケーリング処理としては、各変数の値を指定した範囲に正規化する処理が実行される。[0、1]の範囲に正規化する処理は、以下の式1を用いて実行される。
X(i)は、データXのi番目のサンプルであり、Xmin、Xmaxは、それぞれデータXの最小値、最大値であり、Xnorm(i)は正規化後の変数であるものとする。
【0074】
Xnorm(i)=(X(i)-Xmin)/(Xmax-Xmin)…(式1)
データ整形部202は、ピッキング作業リストにおける作業IDが1からD(1番目の作業からD番目の作業)までのピッキング作業データに対して上述したようなデータを付与し、さらに、前処理を実施したものを最終的な整形データとする。
【0075】
図6では、データ整形部202が作成する複数のデータサンプルを有する整形データの例を示す。
図6に示す整形データは、サンプルデータの作業IDが「1」から「D」までのサンプルデータから構成される。各作業IDのサンプルデータは、説明変数としてのX1、X2、…、Xnと目的変数としてのYとから形成される。ただし、整形データに含まれるサンプルデータは、作業の実績値がない場合は目的変数Yを除いて、説明変数である各データ列X1、X2、…、Xnで構成しても良い。
【0076】
データ評価部203は、データ整形部202が作成する整形データにおけるデータ特性を評価する。データ評価部203は、整形データにおけるデータ特性の変化を検知(判定)し、その判定結果を出力する。データ評価部203は、データ特性の評価として、整形データが従う確率分布の種類を特定する。例えば、データ評価部203は、データ特性の評価として、所定の複数種類の確率分布から整形データが従う確率分布の種類を選択(特定)するようにしても良い。
【0077】
データ評価部203は、整形データが従う確率分布の種類がデータベース200に保存している予測モデルが仮定している確率分布の種類と異なる場合に、予測モデルの更新が必要とであると判断(評価)する。データ評価部203は、整形データにおけるデータ特性の評価結果をモデル更新部204へ供給する。
【0078】
図6に示す例では、データ評価部203は、各データ列X1、X2、…、Xn、Yのサンプルが従う確率分布の種類を特定する。データ評価部203は、各データ列について、データが当てはまる確率分布の種類を特定する。
図6では、確率分布の種類として、ガンマ分布、正規分布、ベルヌーイ分布などを例示している。
【0079】
例えば、連続値の確率分布は、確率密度関数である。確率密度関数である連続値の確率分布の種類としては、ガンマ分布や正規分布などがある。具体例として、作業時間Yは、連続値であるから、連続値の確率分布である確率密度関数としてのガンマ分布又は正規分布などから確率分布の種類が特定される。確率密度関数である確率分布は、形状が形状パラメータによって特定される。
【0080】
例えば、ガンマ分布は、形状パラメータとして、形状母数αと尺度母数の逆数βとがある。ガンマ分布の確率密度関数は、xを対象の変数、Γ(α)をガンマ関数として、以下の式2で表される。
Pgamma(x)=(βk/Γ(α))yα-1exp(-βx)…(式2)
また、正規分布は、形状パラメータとして、平均μと標準偏差σとがある。正規分布の確率密度関数は、xを対象の変数として、以下の式3で表される。
Pgaussian(x)=(1/√2πσ2)exp[-(x-μ)2/2σ2]…(式3)
また、2値変数の確率分布は、確率質量関数である。2値変数に対しては、確率質量関数である確率分布の種類として、例えば、ベルヌーイ分布を仮定することができる。ベルヌーイ分布は、xが1となる確率をηとして、以下の式4のように表される。
Pbernoulli(x=z)=ηz(1-η)1-z,z={0,1}…(式4)
データ評価部203は、整形データとして与えられたデータサンプルに対し、複数種類の確率分布から当てはまりの良い確率分布を探す。当てはまりの良い確率分布を探す方法として、例えば、確率分布の種類を仮定した上で形状パラメータの最尤推定を行う方法がある。最尤推定を行う方法では、具体的には、仮定した確率分布の確率密度関数をp(x|θ)、形状パラメータをまとめてθと表記するとき、以下に示す対数尤度関数(式5)を最大化するパラメータθ´を求める。
【0081】
logL(θ)=Σlog[p(x=x(i)|θ)]…(式5)
データ評価部203は、データサンプルに対する確率分布の当てはまり度合を評価する。例えば、データ評価部203は、データサンプルのヒストグラムと推定したパラメータθ´のもとでの確率密度関数P(x|θ´)との当てはまりを評価する。データ評価部203は、データサンプルのヒストグラムと各種類の確率分布との二乗和誤差を算出し、算出した二乗和誤差が最小となる確率分布の種類を特定する評価を行う。
【0082】
図7は、整形データとして得られるデータサンプルに対して複数種類の確率分布で評価した例を示す図である。
図7に示すように、データサンプルのヒストグラムと各確率分布の確率密度関数P(x|θ´)との二乗和誤差を算出する。データ評価部203は、候補となる各種類の確率分布について二乗和誤差を算出し、算出した二乗和誤差が最も小さい確率分布の種類を判定結果として出力する。
【0083】
データ評価部203は、判定結果(特定した確率分布の種類)と記憶装置に記憶している学習済みの予測モデルが仮定している確率分布の種類とが異なるデータ列がある場合、予測モデルを更新することを示すフラグ(更新フラグ)を設定する。データ評価部203は、データ特性の評価結果として更新フラグを含む評価結果を出力する。
【0084】
なお、データ評価部203は、割り込みや異常が発生した場合の作業によるデータ(作業ログ)についてはデータ特性の評価に用いないようにしても良い。ピッキングステーションにおいて、作業管理部112は、実施したピッキング作業において、割り込み又は異常などの通常のピッキング作業とは異なる作業が発生したことを検出し、通常のピッキング作業とは異なる作業が発行したことを作業ログに追記するようにしてもよい。例えば、ピッキングステーションにカメラなどを設置し、作業管理部112は、カメラが撮影した映像から実施したピッキング作業に割り込みや異常が発生したかを検出するようにして良い。この場合、データ評価部203は、割り込みや異常のあった作業データについては評価に用いないことで、不要なモデル更新フラグの送信を防止する。
【0085】
次に、実施形態に係る上位管理装置1が有する機能としてのモデル更新部204による予測モデルの更新について説明する。
モデル更新部204は、データ評価部203による整形データに対するデータ特性の評価結果を基に、機械学習モデル(予測モデル)の再設計および再学習を実行する。確率分布を扱った機械学習モデルとしては、例えば、ボルツマンマシンやベイジアンネットワーク、一般化線形モデルなどがある。
【0086】
例えば、ボルツマンマシンでは、各モデル変数xの確率分布P(x|θ)をエネルギー関数E(x、θ)で定義し、Z(θ)を分配関数とする。エネルギー関数E(x、θ)は、以下の式6で表され、分配関数Z(θ)は、以下の式7で表される。
P(x|θ)=(1/Z(θ))exp[-E(x、θ)]…(式6)
Z(θ)=Σexp[-E(x、θ)]…(式7)
上述したボルツマンマシンは、エネルギー関数E(x、θ)の設計次第で、多種多様な分布を仮定できるモデルである。実装および運用が容易なボルツマンマシンとしては、変数間の結合に制限を課した制限ボルツマンマシンがある。
【0087】
図8は、予測モデルとして実装可能な機械学習モデルとしての制限ボルツマンマシンを説明するための図である。
図8に示すように、制限ボルツマンマシンにおいて、モデル変数xは、可視変数vと隠れ変数hに分けられる。データは、可視層viに入力される。
【0088】
図8に示す例において、データ評価部203によるデータ特性の評価結果(確率分布の種類)に基づいて、可視変数の左から順にn1個はベルヌーイ分布、n2個は正規分布、…、nk個はガンマ分布と確率分布を仮定する。モデル更新部204は、これらの確率分布に対応するエネルギー関数E(v、h、θ)を設計する。モデル学習は、設計したエネルギー関数E(v、h、θ)に基づいて実施する。
【0089】
ボルツマンマシンを学習する場合、以下の式8に示すような、確率分布P(x|θ)における変数の期待値を求める必要がある。しかしながら、期待値を厳密に求めようとすると、変数の増加に伴って計算量の爆発が起こる。そのため、何らかの近似法を採用する必要がある。
【0090】
Σ[-∂E(x、θ)/∂θ]×P(x|θ)…(式8)
近年、エネルギー関数E(x、θ)に対し、そのエネルギー最小解を高速に求めることを目的としたイジングマシンが開発されている。このため、モデル学習においては、先の期待値の計算をイジングマシンを用いて実施してもよい。具体的には、設計したエネルギー関数E(x、θ)をイジングマシンに投入し、解を1つサンプリングする。この試行を複数回繰り返し、得られた解の集合を用いて期待値を算出する。
【0091】
また、モデル更新部204は、確率分布の種類の他に、確率分布の形状が所定の閾値と比べて大きく変わった場合にも予測モデルの更新を実施する。確率分布の形状は、形状パラメータによって規定される。データ評価部203は、整形データが従う確率分布の形状パラメータと予測モデルが仮定する確率分布の形状パラメータとのずれが所定の閾値よりも大きくなったか否かにより、予測モデルの更新を実施する否かを判断(評価)する。
【0092】
また、確率分布の形状変化は、予測モデルを用いて予測した確率分布(予測分布)に対して、実績値がどの程度出現しやすいかを定量化した評価値を用いて評価できる。すなわち、実績値が予測モデルに基づく予測分布からどの程度出現しやすいかを定量化し、定量化した値と予め設定された閾値とを比較することにより、予測モデルを更新するか否かを判定するようにしても良い。このような予測モデルを更新するか否かを判定するための基準となる閾値は、システムの管理者が設定するようにしても良いし、作業ログなどから基準値を算出するようにしても良い。
【0093】
実績値の出現しやすさについては、実績値が予測分布の何パーセント点に該当するかに基づいて定量化する方法がある。確率分布の形状変化を評価する一例として、実績値の出現しやすさを定量化した評価値に基づいて予測モデルの要否を判断する例について説明する。
【0094】
図9は、予測モデルに基づく予測分布が正規分布である場合を例として実績値の出現しやすさを定量化した例を示す。
図9中に示す曲線は、確率分布予測部205がデータベース200に記憶している予測モデルを用いて出力する確率分布(確率密度関数)の例である。
図9において、横軸は変数、縦軸は確率密度である。
【0095】
図9に示す例において、実績値が予測モデルで予測した確率分布(予測分布)の50%点であった場合(i)、スコア(定量化した評価値)を1.00とする。また、実績値が予測モデルで予測した確率分布(予測分布)の下側5%点であった場合(ii)、スコアを0.10とする。
【0096】
このようなスコアは、実績値の出現しやすさを定量化した評価値の例であり、値が小さいほど、予測モデルで予測した確率分布(予測分布)が実際の実績値の背景分布としては適切でない(棄却すべき)と判定される。このようなスコアを各評価データについて算出することにより、それらの平均によって予測モデルの更新を実行するか否かを判断するようにして良い。
【0097】
次に、上位管理装置1が有する機能としての確率分布予測部205および作業計画部206による処理について説明する。
図10は、確率分布予測部205が予測する確率分布に基づいて作業計画部206が作業計画を作成する処理を説明するための図である。
本実施形態において、作業計画とは、オーダーリストによって与えられた新規のピッキング作業を予想される各ピッキング手段の作業時間の分布に基づいて各ピッキング手段に割り付けるものである。
図10に示す例において、作業計画部206は、ピッキング作業リストで指定される作業番号が1からDまでピッキング作業をピッキング手段a、b又はcのいずれかに割り付ける。
【0098】
確率分布予測部205は、ピッキング作業リストの整形データに対し、各ピッキング手段において予想される作業時間の分布を出力する。すなわち、確率分布予測部205は、データベース200に記憶している予測モデルを用いて、ピッキング作業リストの整形データから実施するピッキング作業の処理能力(作業時間)に関する予測分布としての確率分布を出力する。
【0099】
例えば、確率分布予測部205は、予測モデルにより確率分布の種類(関数形)を事前に仮定し、パラメトリック手法などによりデータサンプルが最もよく当てはまる分布の形状パラメータを推定する。確率分布の予測に用いる予測モデルは、データサンプルに対して事前に確率分布の種類を仮定して学習され、データベース200の保存されている。確率分布予測部205は、データ整形部202が整形した作業データを予測モデルに入力することにより分布の形状パラメータを出力する。
【0100】
なお、確率分布予測部205は、ピッキング手段毎に構築された予測モデルをデータベース200から選出する。また、確率分布予測部205は、ピッキング手段データ(人の属性やロボットのスペック)で分類した複数の予測モデルから選出するようにしても良い。また、確率分布予測部205は、ピッキング手段としての人又はロボット用の汎用の予測モデルを用いるようにしても良い。また、過去の作業実績がないピッキング手段について予測モデルを準備する場合、確率分布予測部205は、データベース200に保存した構築済みの予測モデルの中からピッキング手段データ(属性やスペック)の近いピッキング手段の予測モデルを選出するようにしても良い。
【0101】
作業計画部206は、別途作成された作業計画シナリオにおける作業内容とピッキング手段との組合せに該当する確率分布を引用して作業時間の値をサンプリングし、シミュレーションを実施する。作業計画部206は、作業計画を策定する場合、例えば、離散シミュレーションなどの現実の倉庫を仮想的に模擬するシミュレーション技術を用いる。
【0102】
作業計画部206は、数理計画法などを用いて1つ又は複数の作業計画シナリオを作成する。作業計画部206は、作成した各シナリオについてシミュレーションを実行する。作業計画部206は、割付予定の各作業に対して、確率分布予測部205が出力する確率分布から値を1つサンプリングし、各ピッキング手段の作業時間とする。作業計画部206は、各シナリオのシミュレーションを複数回繰り返し、各シナリオにおける作業時間又はその上限を評価する。作業計画部206は、各種制約を満たしつつ、スループット最大化の効果が検証できたシナリオを作業計画データとして保存する。
【0103】
ここで、各種制約とは、後工程に対する締め切り時間や棚やAGVの稼働状況についての制約である。また、ピッキング作業工程のスループットが高いシナリオとは、各ピッキングステーションで割付作業をすべて処理し終えるまでの所要時間を平準化し、かつ最も時間のかかるピッキングステーションの合計所要時間を最小化するものである。
【0104】
また、作業計画部206は、確率分布から値を複数回サンプリングする他に、確率分布の上側のα点から、作業時間、又は、その上限を評価しても良い。ここで、αの値は、倉庫の運用方針を基に決定されるものとする。
また、確率分布を精度良く推定できる場合、作業計画部206は、不確かさを持つシステムに対して直接最適解を求める確率計画法を実行しても良い。この場合、作業計画部206は、確率分布予測部205が出力する確率分布を問題式中の変数の分布として扱うようにしても良い。
【0105】
なお、上記の説明では、ピッキングステーションに待機するピッキング手段の作業時間について言及したが、次に使用する棚がピッキングステーションに到着しておらず、作業の待ち時間が発生する場合、工程全体のスループットにも影響を及ぼすことがある。このため、作業計画部206は、予想される待ち時間も考慮して、総合的に作業割付を判断する必要がある。また、AGVの台数が限られている場合、ピッキングステーションでの待ち時間やAGVの移動時間が短くなるようにAGVの運用も最適化する必要がある。このため、作業計画部206は、ピッキング手段の処理能力の観点から見て、必ずしも最適でない作業計画を採用することもあり得る。
【0106】
次に、実施形態に係るピッキングシステムにおける上位管理装置1の動作について説明する。
図11、
図12および
図13は、実施形態に係るピッキングシステムの物品の出庫作業における上位管理装置1の動作例を説明するためのフローチャートである。
【0107】
物品の出庫作業において、上位管理装置1は、通信インタフェース15を介して外部システム3からオーダーリストを取得する(S101)。例えば、オーダーリストは、ピッキングする物品と当該物品の配送先などとを対応付けるオーダーから構成される。ここでは、オーダーリストは、複数のオーダーから構成される。オーダーは、注文伝票などであっても良い。なお、上位管理装置1は、外部記憶デバイス用のインタフェースを介して外部記憶デバイスからオーダーリストを取得しても良いし、操作部などを用いて係員が入力するオーダーリストを受け付けても良い。
【0108】
上位管理装置1のプロセッサ11は、オーダーリストを取得すると、取得したオーダーリストから各ピッキングステーションにおいて実施する作業内容を示すピッキング作業リストを作成する(S102)。例えば、プロセッサ11は、上述した作業リスト作成部201によりオーダーリストおよび物品データなどを用いて作業データとしてのピッキング作業リストを作成する。
【0109】
上位管理装置1のプロセッサ11は、ピッキング作業リストを作成すると、ピッキング作業データを整形する(S103)。プロセッサ11は、データ整形部202として機能し、上述した整形処理によって整形データを生成する。
【0110】
プロセッサ11は、整形データを生成すると、整形データに対してデータ特性を評価する(S104)。プロセッサ11は、データ評価部203として機能し、上述した処理によって整形データに対するデータ特性の評価を行う。プロセッサ11は、データ評価部203によるデータ特性の評価として、整形データが従う確率分布の種類を特定する。
【0111】
プロセッサ11は、整形データが従う確率分布の種類がデータベース200に記憶している予測モデルが仮定する確率分布の種類とが異なるか否かを判定する(S105)。プロセッサ11は、確率分布の種類が異なる場合(S105、YES)、予測モデルの更新を実行し、更新後の予測モデルを用いた作業計画を策定する(S201-S207)。
【0112】
また、プロセッサ11は、整形データが従う確率分布の形状変化によってデータベース200に記憶している予測モデルの更新が必要であるか否かを判断する(S106)。プロセッサ11は、確率分布の形状変化により予測モデルを更新すると判断した場合(S106、YES)、予測モデルの更新を実行し、更新後の予測モデルを用いた作業計画を策定する(S201-S207)。
【0113】
なお、S105およびS106の処理は、データ評価部203が外部システム3から取得したバッチ単位の作業リストに基づいてデータベース200に記憶されている予測モデルの更新を実行するか否かを判定する処理(更新判定処理)である。つまり、プロセッサ11は、S105およびS106の更新判定処理として、オーダーリストから作成したピッキング作業リストの属性データに物品データを紐づけることにより整形した整形データに対するデータ特性の評価によって予測モデルを更新するか否かを判定する処理を実行する。
【0114】
予測モデルの更新が不要である場合(S106、NO)、プロセッサ11は、各ピッキング手段に対応する予測モデルを読み込む(S107)。例えば、プロセッサ11は、ピッキング手段毎に構築されている予測モデルをデータベース200から読み出す。また、プロセッサ11は、各ピッキング手段の属性データに応じて適合する予測モデルを選出してデータベース200から読み出すようにしても良い。
【0115】
プロセッサ11は、確率分布予測部205により読み込んだ予測モデルを用いて実施予定の各ピッキング作業に対する各ピッキング手段の処理能力の確率分布を出力する(S108)。プロセッサ11は、各ピッキング手段に対応する予測モデルに整形データを入力することにより各ピッキング手段の処理能力の予測値である確率分布(予測分布)を予測(算出)する。
【0116】
プロセッサ11は、作業計画部206により確率分布予測部205が予測した各ピッキング手段の処理能力の確率分布に基づいて作業計画を策定し(S109)、S110へ進む。プロセッサ11は、
図10に例示して説明したように、確率分布予測部205が予測する各ピッキング手段の処理能力と作業内容との組合せに応じて、実施すべき各作業を各ピッキング手段に割り当てた作業計画を策定する。
【0117】
また、予測モデルの更新を実施する場合(S105又はS106、YES)、プロセッサ11は、データ評価部203による整形データに対するデータ特性の評価結果(確率分布の種類および形状パラメータ)に基づいて予測モデルの学習条件を変更する(S201)。例えば、プロセッサ11は、学習条件として、整形データが従う確率分布の種類に応じて予測モデルが仮定する確率分布を設定する。プロセッサ11は、学習条件を変更すると、変更後の条件で予測モデルを再学習する(S202)。プロセッサ11は、再学習の結果として得られた予測モデルをデータベース200に記憶することにより、予測モデルを更新する(S203)。
【0118】
プロセッサ11は、予測モデルの更新が完了すると、各ピッキング手段に対応する予測モデルを更新処理後のデータベース200から読み込む(S204)。プロセッサ11は、確率分布予測部205により読み込んだ予測モデルを用いて実施予定の各ピッキング作業に対する各ピッキング手段の処理能力の確率分布を出力する(S205)。プロセッサ11は、作業計画部206により確率分布予測部205が予測した各ピッキング手段の処理能力の確率分布に基づいて作業計画を策定する(S206)。
【0119】
予測モデルの更新後に作業計画を策定した場合、プロセッサ11は、既に更新前の策定済みの作業計画があれば、予測モデルの更新後に作成した作業計画(新計画)を適用した作業が必要であるか否かを判断する(S115)。新計画を適用すると判断した場合(S115、YES)、プロセッサ11は、作業計画として新計画を適用してS110へ進み、作業を実行する。また、新計画を適用しないと判断した場合(S115、NO)、プロセッサ11は、未処理の作業が存在することを確認し(S116、YES)、S110へ進み、作業を実行する。
【0120】
プロセッサ11は、適用するとした判断した作業計画に従って棚搬送に使用するAGVを選定して搬送指示を送ることにより、AGV7を用いてピッキングステーションに棚を呼び出す(S110)。プロセッサ11は、ピッキングステーションに棚を呼び出すと、ピッキングステーションに存在するピッキング手段によってAGVが運んできた棚に対応したピッキング作業を実行させる(S111)。
【0121】
プロセッサ11は、ピッキング作業中において、実施した作業内容を示す作業ログを生成し、作業ログに含まれる実績値を追記した整形データを作成する(S112)。例えば、プロセッサ11は、指定した物品のピッキング作業(仕分け作業)が終了するごとに実施した作業内容を示す作業ログを作成し、作成した作業ログをデータベース200に保存(更新)する。プロセッサ11は、作業ログが更新されると、作業ログから作業時間などの目的関数とする実績値を抽出し、抽出した実績値を含む整形データを作成する。
【0122】
プロセッサ11は、作業後に実績値を追記した整形データを作成すると、当該整形データに対してデータ特性を評価することにより、実績値を追記した整形データが従う確率分布の種類とデータベース200に記憶している予測モデルが仮定する確率分布の種類とが異なるか否かを判定する(S113)。
【0123】
また、プロセッサ11は、実績値を追記した整形データが従う確率分布の形状変化による予測モデルの更新が必要であるか否かを判断する(S114)。S114において、プロセッサ11は、
図9に例示して説明したように、実績値と予測モデルを用いた予測分布との乖離を評価するスコアと所定の閾値とを比較することにより確率分布の形状変化による予測モデルの更新の要否を判断するようにしても良い。
【0124】
プロセッサ11は、確率分布の種類が異なる場合(S113、YES)、又は、確率分布の形状変化により予測モデルを更新すると判断した場合(S114、YES)、予測モデルの更新を実行し、更新後の予測モデルを用いた作業計画(新計画)を策定する(S201-S207)。
【0125】
ここで、S113およびS114の処理は、ピッキング作業の実施中に、蓄積される作業ログに基づいてデータベース200に記憶されている予測モデルの更新を実行するか否かを判定する処理(更新判定処理)である。つまり、プロセッサ11は、S113およびS114の更新判定処理として、S103で作成した整形データに作業ログが示す実績値を追記することにより作成される整形データに対するデータ特性の評価によって予測モデルを更新するか否かを判定する処理を実行する。
【0126】
プロセッサ11は、ピッキング作業の実施中において、更新したモデルに基づく作業計画(新計画)を適用した作業が必要であるか否かを判断する(S115)。例えば、プロセッサ11は、ピッキング作業の実施中に予測モデルの更新を実行した場合、更新したモデルに基づく作業計画(新計画)と更新前のモデルに基づく既存の作業計画(旧計画)とを比較し、新計画の方が旧計画よりもスループットが高いか否により新計画を適用するか否かを判断する。プロセッサ11は、新計画の方が旧計画よりもスループットが高い場合には新計画を適用すると判断する。
【0127】
プロセッサ11は、新計画を適用すると判断した場合(S115、YES)、新計画を作業計画として適用するものとしてS110に戻る。すなわち、プロセッサ11は、新計画と旧計画とを比較し、新計画と旧計画とのうちスループットが高くなる方の計画に基づいてピッキング作業を実行する。このため、プロセッサ11は、新計画を適用する場合、新計画を作業計画に適用してS110へ戻り、ピッキング作業を実行する。
【0128】
プロセッサ11は、ピッキング作業の実施中において、各ピッキングステーションに未処理の割付作業が残っているかを判定する(S116)。プロセッサ11は、未処理の割付作業が残っている場合(S116、YES)、S110へ戻り、棚の呼び出し、および、ピッキング作業を継続して実施させる。また、プロセッサ11は、未処理の割付作業が残っていない場合(S116、NO)、一連のピッキング作業を終了する。
【0129】
以上のように、実施形態に係る情報処理装置としての上位管理装置は、オーダーリストに基づくピッキング作業リストに対して作業の対象となる物品に関するデータを紐づけた整形データを作成し、整形データが従う確率分布の種類を特定する。さらに、情報処理装置としての上位管理装置は、整形データが従う確率分布の種類と記憶装置に記憶しているピッキング作業の処理能力の確率分布を予測する予測モデルが仮定する確率分布の種類とが異なる場合に予測モデルの更新を実行する。
【0130】
これにより、実施形態によれば、作業データに対するデータ特性の評価結果に基づいてピッキング作業の処理能力の確率分布を予測するための予測モデルを更新することができる。この結果として、実施形態によれば、作業データのデータ特性に応じた予測モデルの更新によってピッキング作業の処理能力の確率分布を高精度に予測できるピッキングシステムを提供できる。
【0131】
また、実施形態によれば、作業データに対するデータ特性の評価として作業データに適した確率分布の種類を特定でき、作業データが従う確率分布の種類に応じて予測モデルを更新することができる。これにより、実施形態に係るピッキングシステムは、取扱物品の変更、需要の変化、又は、保管場所のレイアウト変更などによって作業データの傾向が変化した場合であっても、作業データに応じた確率分布の種類に基づいて予測モデルが仮定する確率分布を更新することができ、ピッキング作業の処理能力の確率分布を作業データの変化に応じて高精度に予測できるピッキングシステムを提供できる。
【0132】
(変形例)
上述した実施形態は、ピッキングシステムが出庫作業を行う場合を想定して説明したが、上述した実施形態は、入庫作業に適用しても良い。例えば、ピッキングシステム100が運用される倉庫には、
図1に示す物品管理エリアと出庫作業エリアとに加えて、入庫作業エリアを備えても良い。上述した出庫作業と同様に、入庫作業エリアに作業者が待機するステーションを配置し、上位管理装置1から指示に応じて、入庫(物品補充)作業が実施されるようにしても良い。
【0133】
ピッキングシステム100が運用される倉庫での入庫作業としては、ピッキングステーションに配置されたトレイには新しく入荷した物品が入っているものとし、新しく入荷した物品をAGV7が搬送する棚にセットする作業が想定される。なお、新しく入荷した物品は、トレイでなく段ボールなどに詰められた状態であってもよい。
【0134】
上位管理装置1は、出庫作業と同様に、各作業者(ピッキング手段)による物品補充の作業(ピッキング作業に相当)の処理能力に関する確率分布を予測モデルによって予測し、予測した確率分布(予測分布)を基に最適な物品補充計画を立案するようにすれば良い。この場合、上位管理装置1は、外部システム3から取得するデータに応じて作業リストを作成し、作業リストに基づく作業データに物品データやピッキング手段データを紐づけた整形データに対するデータ特性(確率分布の種類および形状パラメータ)を評価する。上位管理装置1は、整形データに対するデータ特性の評価に基づいて、入庫作業に用いる予測モデルについても更新の要否を判定できる。
【0135】
なお、ピッキングシステム100における上位管理装置1は、AGV7の作業ログから新規の棚搬送作業に対する移動所要時間の確率分布を算出するようにしても良い。この場合、上位管理装置1は、棚搬送作業に対する移動所要時間の確率分布を基に使用するAGV7を決めてもよい。
【0136】
また、上位管理装置1は、過去の出荷実績(作業ログ)に、曜日、季節イベント、統計量などの情報を付与したデータから、将来の物品の出荷数に関する確率分布を算出するようにしてもよい。この場合、上位管理装置1は、予想される出荷需要の確率分布を基に、物品の適正在庫数や補充タイミングなどの計画を決めてもよい。
【0137】
本実施形態に係るプログラムは、上位管理装置1としての電子機器(コンピュータ)に記憶された状態で譲渡されてよいし、電子機器に記憶されていない状態で譲渡されてもよい。後者の場合は、プログラムは、ネットワークを介して譲渡されてよいし、記憶媒体に記憶された状態で譲渡されてもよい。記憶媒体は、非一時的な有形の媒体である。記憶媒体は、上位管理装置1としてのコンピュータが読み取り可能な媒体(コンピュータ可読媒体)である。記憶媒体は、光ディスク(例えば、CD-ROM)、磁気ディスク、半導体メモリ(例えば、メモリカード)などのプログラムを記憶可能かつコンピュータで読取可能な媒体であればよく、その形態は問わない。
【0138】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0139】
1…上位管理装置、2…ネットワーク、3…外部システム、7…AGV、8…AGV棚、10…トレイ、11…プロセッサ、12…ROM、13…RAM、14…補助記憶デバイス、15…通信インタフェース、100…ピッキングシステム、112…作業管理部、113…ピッキング手段、200…データベース(記憶装置)、201…作業リスト作成部、202…データ整形部、203…データ評価部、204…モデル更新部、205…確率分布予測部、206…作業計画部。