(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024061555
(43)【公開日】2024-05-07
(54)【発明の名称】ピッキングシステム、ピッキング制御装置、及びピッキング制御プログラム
(51)【国際特許分類】
B65G 1/00 20060101AFI20240425BHJP
【FI】
B65G1/00 501C
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022188746
(22)【出願日】2022-11-25
(31)【優先権主張番号】P 2022168242
(32)【優先日】2022-10-20
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3F022
【Fターム(参考)】
3F022AA15
3F022CC03
3F022FF01
3F022LL07
3F022LL38
3F022MM08
3F022MM42
3F022NN21
3F022NN38
3F022NN41
3F022NN55
3F022PP04
3F022PP06
(57)【要約】
【課題】効率良く荷物をピッキングして予め定めた位置まで運搬する。
【解決手段】ピッキングシステムは、第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートと、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートと、前記第1カートがピックアップすべき前記荷物の位置と、前記第1カートがピックアップした前記荷物を受け渡すべき前記第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成する生成部と、前記走行軌跡に基づいて、前記第1カートが、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして前記第2カートに受け渡し、前記第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御する制御部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートと、
第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートと、
前記第1カートがピックアップすべき前記荷物の位置と、前記第1カートがピックアップした前記荷物を受け渡すべき前記第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成する生成部と、
前記走行軌跡に基づいて、前記第1カートが、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして前記第2カートに受け渡し、前記第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御するピッキング制御部と、
を備えたピッキングシステム。
【請求項2】
前記生成部は、前記第2カートに前記荷物を受け渡す順番に基づいて、前記走行軌跡を生成する
請求項1記載のピッキングシステム。
【請求項3】
前記生成部は、前記荷物の大きさに基づいて、前記走行軌跡を生成する
請求項1又は請求項2記載のピッキングシステム。
【請求項4】
第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートがピックアップすべき前記荷物の位置と、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートであって前記第1カートがピックアップした前記荷物を受け渡すべき第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成する生成部と、
前記走行軌跡に基づいて、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして第2カートに受け渡し、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御するピッキング制御部
を備えたピッキング制御装置。
【請求項5】
コンピュータに、
第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートがピックアップすべき前記荷物の位置と、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートであって前記第1カートがピックアップした前記荷物を受け渡すべき第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成し、
前記走行軌跡に基づいて、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして第2カートに受け渡し、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御する
ことを含む処理を実行させるピッキング制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ピッキングシステム、ピッキング制御装置、及びピッキング制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、管理区域内で物品の搬送を行うピッキング装置において、前記物品の所定の集荷計画に基づき、前記管理区域に配置された複数の棚を自律走行により巡回移動し、前記棚に対する物品の集荷および戻しを行い、所定のピッキングステーションまで前記物品を搬送するロボットを備えたことを特徴とするピッキング装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
カートを自律走行させて倉庫内の荷物をピッキングして予め定めた位置まで運ぶ場合において、1台のカートが荷物のピッキングから予め定めた位置までの運搬を担当するのでは効率が悪い。
【0005】
本開示は上記事情に鑑みなされたものであり、効率良く荷物をピッキングして予め定めた位置まで運搬することができるピッキングシステム、ピッキング制御装置、及びピッキング制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【0006】
本開示の第1態様に係るピッキングシステムは、第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートと、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートと、前記第1カートがピックアップすべき前記荷物の位置と、前記第1カートがピックアップした前記荷物を受け渡すべき前記第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成する生成部と、前記走行軌跡に基づいて、前記第1カートが、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして前記第2カートに受け渡し、前記第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御するピッキング制御装置と、を備える。
【0007】
本開示の第2態様に係るピッキング制御装置は、第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートがピックアップすべき前記荷物の位置と、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートであって前記第1カートがピックアップした前記荷物を受け渡すべき第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成する生成部と、前記走行軌跡に基づいて、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして前記第2カートに受け渡し、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御する制御部を備える。
【0008】
本開示の第3態様に係るピッキング制御プログラムは、コンピュータに、第1アームを備え、荷物が収容された収容部の外側に設定された第1レーンを走行する第1カートがピックアップすべき前記荷物の位置と、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートであって前記第1カートがピックアップした前記荷物を受け渡すべき第2カートの位置と、に基づいて、前記第1カートの走行軌跡を生成し、前記走行軌跡に基づいて、前記第1レーンを走行しながら前記第1アームで前記荷物をピックアップして前記第2カートに受け渡し、第2アームを備え、前記第1レーンの外側に設定された第2レーンを走行する第2カートが、前記第2レーンを走行しながら前記第1カートによりピックアップされた前記荷物を前記第2アームで受け取って、予め定めた位置に運ぶように制御することを含む処理を実行させる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係るピッキングシステムが適用された倉庫のフロアの平面図である。
【
図2】第1実施形態に係るカートロボットの斜視図である。
【
図3】ローカルカートから高速カートへバスケットを受け渡すときの状態を示す斜視図である。
【
図4】第1実施形態に係るローカルカートによるバスケットのピックアップ処理制御ルーチンを示すフローチャートである。
【
図5】カートロボットの機能構成の一例を概略的に示す図である。
【
図6】第1実施形態における人型ロボットの情報処理装置として機能するコンピュータハードウェアの一例を概略的に示す図である。
【
図7】第2実施形態におけるピッキング制御装置のハードウェア構成を示す図である。
【
図8】第2実施形態におけるピッキング制御処理の処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0011】
<第1実施形態>
【0012】
以下、第1実施形態について説明する。
【0013】
図1は、本実施の形態に係るピッキングシステムが適用された倉庫のフロア50の平面図である。
【0014】
ピッキング作業とは、必要な品物を集める(ピックアップする)仕事のことである。ピッキングスタッフ(本実施の形態では、カートロボット52)は、倉庫内の品物を出荷するために欠かせない役割を持つため、あらゆるジャンルの倉庫に配置される。なお、カートロボットに限らず、人型ロボットであってもよい。
【0015】
例えば、予め指示されたリストや注文書を基に、指定の品物を集め、まとめたものを検品担当者や梱包担当者へと受け流していくのが主な仕事であり、倉庫規模が大きいほど、保管されている品物の種類や数も膨大で、そのため、多数のピッキングスタッフがフロア50内を移動することになる。
【0016】
図1に示されるフロア50には、貯蔵部(倉庫、棚等)54が設けられ、複数のバスケット56(
図3参照)が、貯蔵されている。この貯蔵部54の周囲を、カートロボット52が移動するようになっている。カートロボット52は、バスケット56の授受が主たる役目であり、移動経路として、Fast Lane58(高速レーン58)に沿って移動するカート52としての、Fast Track Cart52A(高速カート52A)と、Local Picking Lane60(ローカルレーン60)に沿って移動するカート52としての、Local Track Cart52B(ローカルカート52B)とに分類される。なお、貯蔵部54は、本開示の収容部の一例である。また、ローカルレーン60は、本開示の第1レーンの一例である。また、高速レーン58は、本開示の第2レーンの一例である。また、ローカルカート52Bは、本開示の第1カートの一例である。また、高速カート52Aは、本開示の第2カートの一例である。
【0017】
ローカルレーン60は、フロア50内の内側のレーン、換言すると貯蔵部54の外側に設定されたレーンで、ローカルカート52Bが貯蔵部54に接近離間するように蛇行走行しながら、かつ、一時的に減速して、貯蔵部54からバスケット56のピックアップを行う。
【0018】
図2に示される如く、ローカルカート52Bは、2本の内側に設けたピッキングアーム62(Picking Arm)で荷物の入ったバスケットをピックアップ後、3本の外側に設けたパッシングアーム64(Passing Arm)で高速レーン58を移動する高速カート52Aへバスケット56を渡す。なお、ピッキングアーム62及びパッシングアーム64は、第1アームの一例である。
【0019】
なお、ローカルカート52Bは、転倒防止のカウンターバランスバッテリ(図示省略)を内蔵している。
【0020】
高速レーン58は、フロア50内の外側のレーン、換言するとローカルレーン60の外側に設定されたレーンで、例えば、時速20Kmでノンストップ走行し、ローカルレーン60を移動するローカルカート52Bから、
図3に示す、3本のレシービングアーム66(Receving Arm)でバスケット56を受け取る。なお、レシービングアーム66は、第2アームの一例である。
【0021】
一連の作業としては、ローカルレーン60のローカルカート52Bは、バスケット56をピックアップ後、外側の高速レーン58と時速20Kmでリレーのバトン渡しの要領で、高速カート52Aと並走しながら、ノンストップで、ローカルカート52Bの3本のパッシングアーム64(Passing Arm)と、高速カート52Aの3本のレシービングアーム66(Receving Arm)により、高速カート52Aへバスケット56を受け渡す。
【0022】
フロア50には、貯蔵部54に対応して、Docking Station68(ドッキングステーション68)が設置されている。なお、ドッキングステーション68の位置は、本開示の予め定めた位置の一例である。
【0023】
ドッキングステーション68は、高速レーン58とローカルレーン60との結合点となっている。
【0024】
ドッキングステーション68には、20本のアームを備え、高速レーン58からバスケット56を受け取る機能を有している。
【0025】
ドッキングステーション68では、高速カート52Aが、一時的に、例えば、時速2Kmまで減速し、例えば、1分以内にバスケットの受け渡しをして、再加速する。
【0026】
フロア50には、カメラ、LiDARを含む倉庫内センサ群70が天井や壁に設置されている。
【0027】
これらの倉庫内センサ群70は、常に、高速カート52A及びローカルカート52Bの車間距離、速度を計測し、相互にシンクロナイズするための情報として利用される。
【0028】
また、高速カート52A及びローカルカート52Bにも、それぞれの車体(カートボディ)に、カメラ、LiDARを含む車体センサ群72が設置されており、車間距離がカート台数の割り算の等間隔となるように制御することで、必要な車間距離(例えば、3m以上)を空けるための予測が可能となっている。
【0029】
上記ピッキングシステムでは、フロア50内の高速カート及びローカルカート52Bが完全にシンクロしたテンポで作業を行うため、干渉(接触や衝突)等の事故が起きることがない。また、ノンストップでピッキング作業を行うため、時間的無断を最大限なくすことができる。
【0030】
ここで、本実施のカート(高速カート52A及びローカルカート52B)は、前述したように、それぞれの複数のアームを備えている。
【0031】
ローカルカート52Bは、2本のピッキングアーム62(Picking Arm)と、3本のパッシングアーム64(Passing Arm)とを備え、高速カート52Aは、3本のレシービングアーム66(Receving Arm)を備えている。以下、総称する場合、アーム62、64、66という。
【0032】
アーム62、64、66は、バスケット56のピッキング、カート間の受け渡し等の作業に基づき、三次元に移動するため、カートボディに設置された車体センサ群72の監視領域を横切ることになる。
【0033】
この三次元の移動に伴い、車体センサ群72の何れかに死角が発生することがある。アーム62、64、66は、不規則に移動し、特に、先端部に近いほどその移動軌跡量が大きい。さらに、車体センサ群72の死角は、時系列で変化する。
【0034】
そこで、本実施の形態では、各カート(高速カート52A及びローカルカート52B)のそれぞれのアーム62、64、66の先端部に、小型のカメラ、LiDAR等のアームセンサ群74を取り付けた。
【0035】
アーム62、64、66の先端部のアームセンサ群74は、カートボディの車体センサ群72の死角を無くすことができる。
【0036】
また、例えば、アーム62、64、66の先端部のアームセンサ群74の種類として、温度センサや硬度センサ等を付加することで、バスケット56の受け渡し(把持)の際の、把持強度等を設定することができる。把持強度等の設定により、バスケット56の変形や損傷が防止できる。
【0037】
倉庫内センサ群70、車体センサ群72、及びアームセンサ群74としては、最高性能のカメラ、ソリッドステートLiDAR、マルチカラーレーザ同軸変位計、又はその他様々なセンサ群が採用され得る。また他には、振動計、サーモカメラ、硬度計、レーダー、LiDAR、高画素・望遠・超広角・360度・高性能カメラ、ビジョン認識、微細音、超音波、振動、赤外線、紫外線、電磁波、温度、湿度、スポットAI天気予報、高精度マルチチャネルGPS、低高度衛星情報、又はロングテールインシデントAI data等が挙げられる。
【0038】
なお、倉庫内センサ群70、車体センサ群72、及びアームセンサ群74は、上記の情報のほかに、画像、距離、振動、熱、匂い、色、音、超音波、紫外線、又は赤外線等を検知する。他に倉庫内センサ群70、車体センサ群72、及びアームセンサ群74が検知する情報としては、カートロボット52の重心移動、カートロボット52が設置される床の材質の検知、外気温度の検知、外気湿度の検知、床の上下横斜め傾き角度の検知、水分量の検知等が挙げられる。倉庫内センサ群70、車体センサ群72、及びアームセンサ群74は、これらの検知を例えばナノ秒毎に実施する。
【0039】
図5は、カートロボット52に搭載される情報処理装置14の制御系ブロック図である。
【0040】
情報処理装置14は、情報取得部140と、制御部142と、情報蓄積部144とを備えている。
【0041】
情報取得部140は、車体センサ群72及びアームセンサ群74によって検知された物体の情報を取得する。
【0042】
制御部142は、情報取得部140が取得した情報とAI(Artificial intelligence)とを用いて、連結部4の回動動作、上下方向の移動動作および腕部5,6の動作等を制御する。なお、制御部142は、本開示のピッキング制御部の一例である。
【0043】
例えば、制御部142は、以下の各処理を実行する。
【0044】
(1)物体をつかむことが可能なようにアーム62、64、66およびその先端の把持部を駆動する。
【0045】
(2)貯蔵部54等の作業台の高さに合うように、上下に駆動する。
【0046】
(3)転倒を防ぐために、バランスを取る。
【0047】
(4)移動時の車輪の駆動を制御する。
【0048】
以下に本実施の形態の作用を
図4のフローチャートに従い説明する。
【0049】
図4は、ローカルカート52Bによるバスケット56のピックアップ処理制御ルーチンを示すフローチャートである。
【0050】
ステップ100では、バスケット56のピックアップ指令を受け付ける。次のステップ102では、ローカルレーン60に沿って、通常速度で目的地へ移動開始する。
【0051】
次のステップ104では、目的のバスケット56を検出したか否かを判断し、肯定判定されると、ステップ106へ移行して、ピックアップアーム62によりバスケット56をピックアップし、ステップ108へ移行する。
【0052】
ステップ108では、速度制御(例えば、20Km/h)で移動し、次いで、ステップ110へ移行して、高速レーン58方向に蛇行しながら、高速カート52Aに接近する。
【0053】
次のステップ112では、ローカルカート52Bのパッシングアーム64(Passing Arm)と、高速カート52Aのレシービングアーム66(Receving Arm)とにより、バスケット56を、ローカルカート52Bから高速カート52Aへ受け渡し、ステップ114へ移行する。
【0054】
ステップ114では、ローカルカート52Bを通常速度走行に復帰させ、次の指令を待つため、このルーチンは終了する。
【0055】
ところで、アーム62、64、66は、バスケット56のピッキング、カート間の受け渡し等の作業に基づき、三次元に移動するため、カートボディに設置された車体センサ群72の監視領域を横切ることがあり、車体センサ群72の何れかに死角が発生することがある。
【0056】
しかし、本実施の形態では、アーム62、64、66の先端部のアームセンサ群74により、カートボディの車体センサ群72の死角を無くすことができる。
【0057】
アーム62、64、66の先端部のアームセンサ群74が、温度センサや硬度センサ等の場合、バスケット56の受け渡し(把持)の際に、把持強度等が調整でき、バスケット56の変形や損傷が防止できる。
【0058】
(カートロボット52の情報処理装置14の実施態様)
【0059】
図6は、情報処理装置14として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、および/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつか又は全てに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0060】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、およびグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブおよびDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブおよびソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230およびキーボードのような入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0061】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0062】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/又はプログラムおよびデータをICカードに書き込む。
【0063】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0064】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0065】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0066】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0067】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0068】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0069】
<第2実施形態>
【0070】
第2実施形態について説明する。なお、第1実施形態と同一部分については同一符号を付し、詳細な説明を省略する。
【0071】
第2実施形態では、カート52等をピッキング制御装置が統括制御する場合について説明する。
【0072】
図7は、第2実施形態に係るピッキング制御装置40のハードウェア構成を示すブロック図である。
図7に示すように、ピッキング制御装置40は、コントローラ42を備える。
【0073】
コントローラ42は、CPU(Central Processing Unit)42A、ROM(Read Only Memory)42B、RAM(Random Access Memory)42C、及び入出力インターフェース(I/O)42Dを備える。そして、CPU42A、ROM42B、RAM42C、及びI/O42Dがバス42Eを介して各々接続されている。バス42Eは、コントロールバス、アドレスバス、及びデータバスを含む。I/O42Dには、通信部44及び記憶部46が接続されている。なお、CPU42Aは、生成部及びピッキング制御部の一例である。
【0074】
通信部44は、高速カート52A、ローカルカート52B、倉庫内センサ群70、車体センサ群72、アームセンサ群74、及び図示しない上位装置等の外部装置とデータ通信を行うためのインターフェースである。
【0075】
記憶部46は、例えば不揮発性メモリで構成される。
図7に示すように、記憶部46は、ピッキング制御プログラム46A等を記憶する。
【0076】
CPU42Aは、プロセッサの一例である。ここでいうプロセッサとは、広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU)、又は、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0077】
なお、ピッキング制御プログラム46Aは、不揮発性の非遷移的(non-transitory)記録媒体に記憶して、又はネットワークを介して配布して、ピッキング制御装置40に適宜インストールされてもよい。
【0078】
不揮発性の非遷移的記録媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD(ハードディスクドライブ)、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が挙げられる。
【0079】
図8は、CPU42Aで実行されるピッキング制御処理のフローチャートである。例えば図示しない上位装置からピッキング制御処理を実行するように指示されると、CPU42Aがピッキング制御プログラム46Aを読み込んで実行することにより、
図8に示すピッキング処理が実行される。
【0080】
ステップ200では、CPU42Aが、高速カート52A及びローカルカート52Bの走行制御を開始する。具体的には、CPU42Aは、複数の高速カート52Aが、車間距離を一定距離に保ちながら、高速レーン58を所定速度で
図1において右回りの方向に走行するように制御する。また、CPU42Aは、複数のローカルカート52Bが、車間距離を一定距離に保ちながら、貯蔵部54に接近及び離間するように蛇行するローカルレーン60を所定速度で
図1において右回りの方向に走行するように制御する。なお、高速レレーン58及びローカルレーン60は、物理的な走行レーンではなく、カート52が走行する軌跡を表す。すなわち、CPU42Aは、高速レーン58の軌跡に従って高速カート52Aが走行するように制御すると共に、ローカルレーン60の軌跡に従ってローカルカート52Bが走行するように制御する。
【0081】
ステップ201では、CPU42Aが、図示しない上位装置からバスケット56のピックアップ指令を受け付けたか否かを判定する。ピックアップ指令には、ピックアップすべきバスケット56の位置及びサイズ等の情報が含まれる。また、ローカルカート52Bは、バスケット56のサイズによっては複数のバスケット56を収容することが可能である。このため、上位装置から複数のバスケット56をピックアップするよう指示される場合がある。この場合、複数のバスケット56の位置及びサイズ等の情報がピックアップ指令に含まれる。
【0082】
そして、上位装置からバスケット56のピックアップ指示を受け付けた場合は、ステップS202へ移行し、ピックアップ指示を受け付けていない場合は、ピックアップ指示を受け付けるまで待機する。
【0083】
ステップ202では、CPU42Aが、バスケット56をピックアップするローカルカート52B及びバスケット56を受け渡すべき高速カート52Aを選定する。例えば、倉庫内センサ群70及び車体センサ群72からの信号に基づいて、各高速カート52A及び各ローカルカート52Bの位置及び走行速度を算出し、算出結果に基づいて、複数のローカルカート52Bの中から、ピックアップすべきバスケット56を最も短い時間でピックアップ可能なローカルカート52Bを選定する。また、前記算出結果に基づいて、複数の高速カート52Aの中から、選定されたローカルカート52Bから最も短い時間でバスケット56を受け取ることが可能な高速カート52Aを選定する。なお、以下では、選定したローカルカート52Bを選定ローカルカート52B、選定した高速カート52Aを選定高速カート52Aと称する。なお、複数のバスケット56をピックアップするよう指示された場合は、複数のバスケット56の各々について高速カート52Aを選定する。
【0084】
ステップ203では、CPU42Aが、選定ローカルカート52Bの走行軌跡を生成する。具体的には、選定されたローカルカート52Bがピックアップすべきバスケット56の位置と、選定ローカルカート52Bがピックアップしたバスケット56を受け渡すべき選定高速カート52Aの位置と、に基づいて、選定ローカルカート52Bの走行軌跡を生成する。例えば、ピックアップすべきバスケット56の位置まで移動してバスケット56をピックアップし、選定高速カート52Aに受け渡すまでの時間が最短となるような走行軌跡を生成する。なお、複数のバスケット56をピックアップするよう指示された場合は、複数の選定高速カート52Aに複数のバスケット56を順次受け渡すこととなるため、複数のバスケット56を複数の選定高速カート52Aに受け渡す順番に基づいて、選定ローカルカート52Bの走行軌跡を生成する。
【0085】
また、バスケット56の大きさによって選定高速カート52Aにバスケット56を受け渡す位置も異なるため、バスケット56の大きさに基づいて、選定ローカルカート52Bの走行軌跡を生成する。
【0086】
ステップ204では、CPU42Aが、選定ローカルカート52Bが、ステップ203で生成した走行軌跡に従って走行し、バスケット56をピックアップするように選定ローカルカート52Bを制御する。具体的には、選定ローカルカート52Bが、ピッキングアーム62を用いてバスケット56をピックアップするように制御する。
【0087】
ステップ205では、CPU42Aが、選定ローカルカート52Bがステップ203で生成した走行軌跡に従って走行し、ピックアップしたバスケット56を選定高速カート52Aに受け渡すよう選定ローカルカート52B及び高速カート52Aを制御する。具体的には、ローカルカート52Bが、ピッキングアーム62によりピッキングしたバスケット56をパッシングアーム64に持ち替えて、高速カート52Aのレシービングアーム66に受け渡すように、選定ローカルカート52Bのピッキングアーム62及びパッシングアーム64を制御すると共に、選定ローカルカート52Bのレシービングアーム66を制御する。
【0088】
このとき、CPU42Aは、選定ローカルカート52B及び選定高速カート52Aの速度が等しくなり、且つ、選定ローカルカート52B及び選定高速カート52Aの距離が最小となる位置を受け渡し位置として、選定高速カート52Aから選定高速カート52Aにバスケット56が渡されるように制御する。なお、受け渡し位置は、選定ローカルカート52Bのパッシングアーム64の移動範囲と選定高速カート52Aのレシービングアーム66の移動範囲とが重複する範囲内の位置とする。
【0089】
ステップ206では、CPU42Aが、バスケット56を受け取った選定高速カート52Aが、バスケット56をドッキングステーション68に引き渡すように、選定高速カート52Aを制御する。
【0090】
ステップS207では、CPU42Aが、バスケット56のピッキング制御を終了するか否かを判定する。具体的には、図示しない上位装置からピッキング制御の終了指示があったか否かを判定する。そして、ピッキング制御の終了指示があった場合はステップ208へ移行し、ピッキング制御の終了指示がない場合は、ステップ201へ戻って上記と同様の処理を繰り返す。
【0091】
ステップ208では、CPU42Aが、高速カート52A及びローカルカート52Bの走行制御を停止し、高速カート52A及びローカルカート52Bを停止させる。
【0092】
このように、本実施形態では、ピッキング制御装置40が高速カート52A及びローカルカート52Bの走行を制御する。そして、選定ローカルカート52Bがピックアップすべきバスケット56の位置と、選定ローカルカート52Bがピックアップしたバスケット56を受け渡すべき選定高速カート52Aの位置と、に基づいて、選定ローカルカート52Bの走行軌跡を生成し、生成した走行軌跡に基づいて、選定ローカルカート52Bが、ローカルレーン60を走行しながらバスケット56をピッキングアーム62によりピックアップして選定高速カート52Aに受け渡し、選定高速カート52Aが、高速レーン58を走行しながら選定ローカルカート52Bによりピックアップされたバスケット56をレシービングアーム66により受け取って、ドッキングステーション68に運ぶように制御する。これにより、効率良くバスケット56をピッキングしてドッキングステーション68まで運搬することができる。
【0093】
上記各実施形態におけるフローチャートおよびブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表してよい。特定の段階および「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/又はアナログハードウェア回路を含んでよく、集積回路(IC)および/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、およびプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、および他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0094】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0095】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでもよい。
【0096】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0097】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0098】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0099】
14 情報処理装置、50 フロア、52 カートロボット、54 貯蔵部、52A 高速カート、52B ローカルカート、56 バスケット、58 高速レーン、60 ローカルレーン、62 ピッキングアーム、64 パッシングアーム、66 レシービングアーム、68 ドッキングステーション、70 倉庫内センサ群、72 車体センサ群、74 アームセンサ群、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ