(58)【調査した分野】(Int.Cl.,DB名)
車両が載置されるパレットを格納しているパレット領域及び前記パレットを格納していない空き領域の何れか一方となる格納棚が平面状に複数配置された格納庫を備え、前記パレットを前記パレット領域から前記空き領域へ搬送させる機械式駐車装置の制御装置であって、
前記格納庫内の前記パレットを前記車両が入出庫する入出庫部へ搬送させるための搬送経路を求める演算処理を実行する演算実行手段と、
前記空き領域が複数の場合における前記演算処理において、解が得られたか否かを判定する判定手段と、
前記演算処理の解が得られない場合、前記空き領域を仮想的に減少させ、前記演算処理を再び実行させる再実行指示手段と、
を備える機械式駐車装置の制御装置。
前記再実行指示手段は、前記空き領域を仮想的に減少させるために、前記空き領域の一部を仮想的に前記パレット領域へ設定する請求項1記載の機械式駐車装置の制御装置。
前記格納庫内における前記パレットの位置にかかわらず、前記車両を入出庫する入出庫部へ全ての前記パレットが搬送可能なことを演算によって確認する全棚確認試験が予め行われ、前記全棚確認試験によって予め解が求められた前記空き領域の数を記憶する記憶手段を備え、
前記再実行指示手段は、前記記憶手段に記憶されている前記空き領域の数となるように、複数の前記空き領域を前記パレット領域に設定する請求項2又は請求項3記載の機械式駐車装置の制御装置。
前記再実行指示手段は、前記演算処理で解が求められるまで、前記空き領域の数が段階的に少なくなるように、前記空き領域を前記パレット領域に設定する請求項2又は請求項3記載の機械式駐車装置の制御装置。
車両が載置されるパレットを格納しているパレット領域及び前記パレットを格納していない空き領域の何れか一方となる格納棚が平面状に複数配置された格納庫を備え、前記パレットを前記パレット領域から前記空き領域へ搬送させる機械式駐車装置の制御方法であって、
前記格納庫内の前記パレットを前記車両が入出庫する入出庫部へ搬送させるための搬送経路を求める演算処理を実行する第1工程と、
前記空き領域が複数の場合における前記演算処理において、解が得られたか否かを判定する第2工程と、
前記演算処理の解が得られない場合、前記空き領域を仮想的に減少させ、前記演算処理を再び実行させる第3工程と、
を含む機械式駐車装置の制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、機械式駐車装置が新たに建設された場合等には、格納庫内におけるパレットの位置にかかわらず、入出庫部へ全てのパレットが搬送可能なことを演算によって確認(検証)する全棚確認試験が実行される。全棚確認試験は、プログラムにより、パレットマスから空マスへのパレットの搬送をシミュレートし、指定したパレットを目的の位置へパズルのように搬送させる演算処理である。
しかしながら、空マスが増加すると、指定したパレットを入出庫部へ搬送させる組合せの種類が増加するため、全棚確認試験において解が求まらない場合がある。
【0006】
例えば、30棚の格納棚に対して空マス数が3棚の場合、組合せの数は109,602通りとなる。また、30棚の格納棚に対して空マス数が10棚の場合、組合せの数は600,900,300通りとなる。そして、1つの組合せを演算処理によって導き出すために要する時間が例えば1秒であると、109,602通りの組合せを導き出すためには、1.27日を要する。一方、600,900,300通りの組合せを導き出すためには、6955日を要し、空マス数が3棚の場合の約5,000倍の日数を要する。
30棚の格納棚に対して空マス数が10棚の場合、例えば、機械式駐車装置の竣工前に全棚確認試験を完了すること、すなわち全棚確認試験の解を求めることは時間的な制約のため困難である。
【0007】
また、機械式駐車装置の実際の運用時に、車両が載置されたパレットを格納庫内から入出庫部へ搬送させるための搬送経路を求める演算処理(パズル処理)が実行される。この演算処理において、空マス数が多い場合には、全棚確認試験の解が保証されていないため、演算処理の解が求まらない場合がある。
【0008】
本発明は、このような事情に鑑みてなされたものであって、格納棚に格納されたパレットへ入出庫部まで搬送させるための演算処理の解をより確実に求めることができる、機械式駐車装置の制御装置、機械式駐車装置、及び機械式駐車装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の機械式駐車装置の制御装置、機械式駐車装置、及び機械式駐車装置の制御方法は以下の手段を採用する。
【0010】
本発明の第一態様に係る機械式駐車装置の制御装置は、車両が載置されるパレットを格納しているパレット領域及び前記パレットを格納していない空き領域の何れか一方となる格納棚が平面状に複数配置された格納庫を備え、前記パレットを前記パレット領域から前記空き領域へ搬送させる機械式駐車装置の制御装置であって、前記格納庫内の前記パレットを前記車両が入出庫する入出庫部へ搬送させるための搬送経路を求める演算処理を実行する演算実行手段と、前記空き領域が複数の場合における前記演算処理において、解が得られたか否かを判定する判定手段と、前記演算処理の解が得られない場合、前記空き領域を仮想的に減少させ、前記演算処理を再び実行させる再実行指示手段と、を備える。
【0011】
本構成に係る機械式駐車装置は、車両が載置されるパレットを格納する格納棚が平面状に複数配置された格納庫を備える。格納棚は、パレットを格納しているパレット領域、及びパレットを格納していない空き領域の何れか一方となる。パレットは、例えば縦及び横方向にパレット領域から空き領域への搬送が繰り替えされることで、車両を入出庫する入出庫部へ搬送される。
【0012】
ここで、機械式駐車装置の実際の運用において、車両が載置されたパレットを格納庫内から入出庫部へ搬送させる場合、パレットを入出庫部へ搬送させるための搬送経路を求める演算処理(パズル処理)が演算実行手段によって実行される。
【0013】
空き領域が増加するほど格納庫内におけるパレットの搬送の円滑性が良くなる一方、指定したパレットを入出庫部へ搬送させる組合せの種類が増加する。この結果、全棚確認試験の解が保証されていないため、演算処理の解が求まらない場合がある。
【0014】
そこで、演算処理の解が得られたか否かが判定手段によって判定される。そして、演算処理の解が得られない場合、再実行指示手段によって、空き領域が仮想的に減少され、演算処理が再び実行される。
これにより、演算処理における空き領域が少なくなるので、空き領域が多いままの場合に比べて、演算処理の解が求めやすくなる。
【0015】
以上説明したように、本構成は、格納棚に格納されたパレットへ入出庫部まで搬送させるための演算処理の解をより確実に求めることができる。
【0016】
上記第一態様では、前記再実行指示手段が、前記空き領域を仮想的に減少させるために、前記空き領域の一部を仮想的に前記パレット領域へ設定する。
【0017】
本構成によれば、簡易に空き領域を仮想的に減少できる。さらに、空き領域の一部をパレット領域として扱うため、従来用いていた演算処理のプログラムの内容を変更する必要がない。
【0018】
上記第一態様では、前記演算実行手段が、前記演算処理の解を得た後に、指定した前記パレットを前記入出庫部へ搬送させるために用いられる指示データを生成し、前記指示データに対して、仮想的に設定された前記パレット領域を前記空き領域とする補正を行う補正手段を備える。
【0019】
演算処理では、仮想的にパレット領域とされた空き領域と実際のパレット領域を区別することなく扱う。このため、生成される指示データも、仮想的にパレット領域に設定された空き領域をパレット領域として扱ったものとなり、実際の格納棚の状態と異なるものとなる。
そこで、本構成は、仮想的に設定されたパレット領域を空き領域とする補正を指示データに行うことで、実際の格納棚の状態に応じた指示データを得ることができる。
【0020】
上記第一態様では、前記格納庫内における前記パレットの位置にかかわらず、前記車両を入出庫する入出庫部へ全ての前記パレットが搬送可能なことを演算によって確認する全棚確認試験が予め行われ、前記全棚確認試験によって予め解が求められた前記空き領域の数を記憶する記憶手段を備え、前記再実行指示手段が、前記記憶手段に記憶されている前記空き領域の数となるように、複数の前記空き領域を前記パレット領域に設定する。
【0021】
本構成によれば、簡易かつ確実に演算処理の解を求めることができる。
【0022】
上記第一態様では、前記再実行指示手段が、前記演算処理で解が求められるまで、前記空き領域の数が段階的に少なくなるように、前記空き領域を前記パレット領域に設定する。
【0023】
本構成によれば、簡易かつ確実に演算処理の解を求めることができる。また、演算処理で解を求めることが可能な空き領域の最大値が得られる。
【0024】
本発明の第二態様に係る機械式駐車装置は、車両が載置されるパレットを格納しているパレット領域及び前記パレットを格納していない空き領域の何れか一方となる格納棚が平面状に複数配置された格納庫と、前記車両を入出庫する入出庫部と、上記記載の制御装置と、を備える。
【0025】
本発明の第三態様に係る機械式駐車装置の制御方法は、車両が載置されるパレットを格納しているパレット領域及び前記パレットを格納していない空き領域の何れか一方となる格納棚が平面状に複数配置された格納庫を備え、前記パレットを前記パレット領域から前記空き領域へ搬送させる機械式駐車装置の制御方法であって、前記格納庫内の前記パレットを前記車両が入出庫する入出庫部へ搬送させるための搬送経路を求める演算処理を実行する第1工程と、前記空き領域が複数の場合における前記演算処理において、解が得られたか否かを判定する第2工程と、前記演算処理の解が得られない場合、前記空き領域を仮想的に減少させ、前記演算処理を再び実行させる第3工程と、を含む。
【発明の効果】
【0026】
本発明によれば、格納棚に格納されたパレットへ入出庫部まで搬送させるための演算処理の解をより確実に求めることができる、という優れた効果を有する。
【発明を実施するための形態】
【0028】
以下に、本発明に係る機械式駐車装置の制御装置、機械式駐車装置、及び機械式駐車装置の制御方法の一実施形態について、図面を参照して説明する。
【0029】
〔第1実施形態〕
以下、本発明の第1実施形態について説明する。
【0030】
図1は、本第1実施形態に係る機械式駐車装置10の構成図である。
【0031】
機械式駐車装置10は、車両12を入出庫させる入出庫部14(乗入階)、及び車両12が載置されるパレット16(板状の台)を格納する格納棚18が平面状(例えばN行×M列)に複数配置された格納庫20を備える。
【0032】
格納棚18は、パレット16を格納しているパレット領域(以下「パレットマス」という。)18A、及びパレット16を格納していない空き領域(以下「空マス」という。)18Bの何れか一方となる。格納棚18に格納されるパレット16は、車両12を載置していてもよいし、車両12を載置していなくてもよい。
パレット16には、各々異なる番号が予め付加されており、機械式駐車装置10は、該付加されている番号によって各パレット16を識別する。
【0033】
また、本第1実施形態に係る機械式駐車装置10は、車両12が載置されていないパレット16を格納するパレットスタッカー(不図示)を備え、空マス18Bの数(以下「空マス数」という。)を増減可能とされている。
【0034】
また、機械式駐車装置10は、格納庫20の一角に入出庫部14との間でパレット16を昇降させるリフト22を備えている。
【0035】
入出庫部14には、扉26と操作盤28が設けられている。
操作盤28は、機械式駐車装置10の利用者が操作可能なように、入出庫部14の外側に設けられ、例えば、スイッチ等を介して各種操作(入庫又は出庫の指示等)の入力を受け付ける共に、液晶ディスプレイ装置等の画像表示装置によって、種々の情報を利用者のために表示する。
【0036】
さらに、機械式駐車装置10は、パレット16の搬送及びリフト22等の移動を制御するための制御装置24を備えている。
【0037】
そして、パレット16は、例えば縦及び横方向にパレットマス18Aから空マス18Bへの搬送が繰り替えされることで、リフト22を介して入出庫部14へ搬送される。
すなわち、本第1実施形態に係る機械式駐車装置10は、パレット16を水平循環させるパズル式の機械式駐車装置である。
【0038】
なお、
図1に示される格納庫20は、一例であり、格納棚18の数、パレットマス18A及び空マス18Bの数は限定されないものの、空マス数は複数である。
また、
図1に示される機械式駐車装置10は、一例であり、
図1では、格納庫20の格納棚18が3層であるが、1層、2層、又は4層以上でもよい。また、格納庫20は、入出庫部14よりも下層に配置されているが、これに限らず、格納庫20は、入出庫部14よりも上層に配置されてもよいし、入出庫部14よりも上層及び下層両方に配置されてもよいし、入出庫部14と格納庫20が同一階であってもよい。
また、格納庫20の各層のレイアウト(格納棚18の数及び縦横比)は、各々同じでも異なっていてもよい。
さらに、リフト22の配置位置も
図1に示される配置位置に限定されない。
【0039】
図2は、機械式駐車装置10の制御装置24の電気的構成を示すブロック図である。
制御装置24は、CPU(Central Processing Unit)40、各種プログラムや各種パラメータ等が予め記憶されたROM(Read Only Memory)42、CPU40による各種プログラムの実行時のワークエリア等として用いられるRAM(Random Access Memory)44、各種プログラム及び各種情報を記憶する記憶手段としてのHDD(Hard Disk Drive)46を備えている。
【0040】
また、HDD46の代わりに、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ、バッテリバックアップ付きのSRAM(Static Random Access Memory)等の記憶素子を用いてもよく、プログラム、利用者情報、及び設定値等のデータの種類に応じて記憶素子を使い分けて記憶させてもよい。
【0041】
さらに、制御装置24は、パレット16やリフト22等を駆動させるためのモータ(不図示)を制御するモータ制御部48、パレット16やリフト22等の動作状態を検知するセンサ(不図示)からの信号を受信するセンサ信号受信部50、及びパズル処理(詳細は後述)を実行するパレット搬送処理部52を備えている。
【0042】
これらCPU40、ROM42、RAM44、HDD46、モータ制御部48、センサ信号受信部50、パレット搬送処理部52、及び操作盤28は、システムバス54を介して相互に電気的に接続されている。従って、CPU40は、ROM42、RAM44、及びHDD46へのアクセス、操作盤28に対する操作状態の把握及び画像の表示、モータ制御部48を介したモータの駆動、センサ信号受信部50を介したパレット16やリフト22等の動作状態、並びにパレット搬送処理部52の処理状態等の把握を行なうことができる。
【0043】
ここで、機械式駐車装置10の実際の運用時に、車両12が載置されたパレット16を格納庫20内から入出庫部14へ搬送させるための搬送経路を求める演算処理が実行される。
この演算処理は、コンピュータプログラムであり、パレットマス18Aから空マス18Bへのパレット16の搬送をシミュレートし、パレットマス18Aと空マス18B間のパレット16の搬送を繰り返すことで、指定したパレット16を目的の位置へパズルのように搬送させるパズル処理である。なお、目的の位置とは、入出庫部14に至るためのリフト22の配置位置である。
【0044】
ここで、空マス18Bが増加するほど格納庫20内におけるパレット16の搬送の円滑性が良くなる一方、指定したパレット16を目的の位置へ搬送させる組合せの種類が増加する。この結果、パズル処理の解(以下「パズル解」という。)が予め定められた時間内に求まらず、パレット16の入出庫部14への搬送可否を検証できない場合がある。なお、パズル解とは、具体的にはパレット16の搬送経路を示すものとなる。
【0045】
パズル処理によってパズル解が求まらない理由として、例えば以下の理由が考えられる。
理由1 プログラム(パズル処理)の不適合によりパズル解が求まらない。
理由2 探索時間及び回数による打ち切りによりパズル解が求まらない。
理由3 探索時間及び回数による打ち切りにより最適解が求まらない。
【0046】
理由2は、設定された探索時間及び回数内でパズル解が一つも求まらない場合である。理由3は、探索時間及び設定回数内でパズル解が幾つか求まるものの、より最適なパズル解が求まらない場合である。
【0047】
なお、パズル処理ではパズル解の探索を行うが、一般的に空マス数が多いと探索時間及び回数が多くなる。また、空マス数が多いと探索も複雑となり、局所的な間違いに陥りパズル解が求まらない場合が生じる(上記理由1)。局所的な間違いとは、例えば指定したパレット16が同じルートを繰り返し搬送される状態(無限ループ)となり、目的の位置に達しない場合である。
【0048】
すなわち、本第1実施形態に係るパレット搬送処理部52は、主に理由1や理由2によりパズル解が求まらない場合の問題を解決するものである。
【0049】
図3は、本第1実施形態に係るパレット搬送処理部52の機能ブロック図である。
【0050】
パレット搬送処理部52は、パズル処理実行部60、指示データ生成部62、判定部64、再実行指示部66、及び指示データ補正部68を備える。
【0051】
パズル処理実行部60は、パズル処理を実行する。
【0052】
指示データ生成部62は、パズル処理によってパズル解が得られた場合に、指示データを生成する。指示データは、指定したパレット16を入出庫部14へ至るためのリフト22へ実際に搬送させるために用いられる。より具体的には、パレット16を搬送させるために格納棚18毎にモータが備えられるが、指示データはパレット16を搬送させるために動作させるモータを示すこととなる。
なお、指定したパレット16をリフト22の位置へ搬送させるために、複数の指示データが生成されてもよい。
【0053】
判定部64は、空マス18Bが複数の場合におけるパズル処理において、パズル解が得られたか否かを判定する。
【0054】
再実行指示部66は、パズル処理のパズル解が得られない場合、空マス18Bを仮想的に減少させ、パズル処理を再び実行させる(リカバリー処理)。
【0055】
本第1実施形態に係るHDD46は、全棚確認試験において予めパズル解が求められた、すなわちパズル解が得られることが保証されている空マス数(以下「保証空マス数」という。)を記憶している。
全棚確認試験は、格納庫20内におけるパレット16の位置にかかわらず、車両12を入出庫する入出庫部14へ全てのパレット16が搬送可能なことを演算によって予め確認(検証)する試験である。この全棚確認試験は、機械式駐車装置10が新たに建設された場合に、情報処理装置によってオフラインで予め行われている。
なお、空マス数が多く全棚確認試験の解が求まらない場合、詳細を後述するリカバリー処理と同様に、空マス18Bを仮想的に減少させて全棚確認試験が行われ、保証空マス数が予め求められる。
【0056】
なお、保証空マス数は、予め設定されている最小空マス数以上である。最小空マス数は、パズル解を得るために少なくとも必要な1つ以上の空マス数であり、格納棚18の数等により予め定められる。
【0057】
本第1実施形態に係る再実行指示部66は、空マス数をHDD46に記憶されている保証空マス数とすることで、空マス18Bを仮想的に減少させる。
このように、再実行指示部66は、空マス18Bを仮想的に減少させるために、空マス18Bの一部を仮想的にパレットマス18Aとして設定する。
【0058】
指示データ補正部68は、リカバリー処理によってパズル解が得られた場合、生成された指示データを補正する。指示データの補正については詳細を後述する。
【0059】
図4は、本第1実施形態に係るパレット搬送処理部52で実行されるパレット搬送経路導出処理の流れを示すフローチャートである。パレット搬送経路導出処理は、制御装置24に対して格納棚18に格納されているパレット16の入出庫部14への搬送開始指示が入力されると開始する。
【0060】
まず、ステップ100では、リトライ回数が予め設定されたN回以上(N>1)であるか否かを判定し、肯定判定の場合はステップ102へ移行し、否定判定の場合はステップ108へ移行する。リトライ回数はパレット搬送経路導出処理が実行される毎にRAM44又はHDD46に記憶され、パレット搬送経路導出処理の開始時におけるリトライ回数は0である。
【0061】
ステップ102では、目的のパレット16を入出庫部14(リフト22)へ搬送させるための経路を求めるパズル処理を、パズル処理実行部60によって実行してパズル解を求める。ステップ102では、空マス18Bの一部を仮想的にパレットマス18Aに設定することなく、パズル処理を行う。すなわち、実際の空マス18Bに応じたパズル処理が行われる。
【0062】
次のステップ104では、パズル解が求められたか否かを判定部64によって判定し、肯定判定の場合は、指示データ生成部62が指示データを生成すると共に、パレット搬送経路導出処理を終了する。一方、否定判定の場合はステップ106へ移行する。
なお、生成された指示データに基づいて、パレット16は、入出庫部14へ搬送される。
【0063】
ステップ106では、記憶されているリトライ回数をインクリメントして、ステップ100へ戻る。すなわち、パレット搬送経路導出処理では、パズル処理によってパズル解が求められなかった回数に応じてリトライ回数が増加する。
そして、リトライ回数が予め設定されたN回に達するまで、空マス18Bを仮想的に減少させることなくステップ102でパズル処理が繰り返される。この理由は、パズル処理に係るプログラム以外の問題、例えばハードウェアの問題等によってパズル解が求まらない場合があるためである。このような場合は、再度のパズル処理によって、パズル解が求まる可能性がある。
【0064】
リトライ回数がN回を超えると、ステップ108へ移行してリカバリー処理が実行される。リカバリー処理が終了すると、パレット搬送経路導出処理は終了する。
【0065】
図5は、本第1実施形態に係るリカバリー処理の流れを示すフローチャートである。
【0066】
まず、ステップ200では、前処理として空マス18Bを仮想的に減少させる処理を実行する。本第1実施形態に係る前処理は、パズル解が得られることが保証されている保証空マス数をHDD46から読み出し、保証空マス数を超える数の空マス18Bをパレットマス18Aとして設定する。
【0067】
なお、以下の説明では、パレットマス18Aとして設定された空マス18Bを仮想パレット18Cと称呼する。
【0068】
次に、
図6を参照して仮想パレット18Cの設定方法の例を説明する。
【0069】
図6は、格納棚18の配置の模式図であり、
図6(a)は仮想パレット18Cが設定される前、
図6(b)は仮想パレット18Cが設定された後を示す。
図6(a),(b)に示される格納棚18の数及び配置は一例である。
なお、
図6(a),(b)を含む格納棚18の配置を示した模式図において、横方向(A(1)〜F(6))をX座標、縦方向(1〜5)をY座標と称呼する。すなわち、座標が格納棚18の配置位置を示す。また、パレットマス18Aはドットで埋められた四角形で示され、空マス18Bは白抜きの四角形で示され、仮想パレット18Cは破線で囲まれた四角形で示される。
【0070】
図6(a)の例では空マス数は7つである。そして、本例では、保証空マス数が3つであるため、4つの空マス18Bが仮想パレット18Cとして設定される。
具体的には、空マス18Bを仮想パレット18Cとして設定する場合、XY座標の値が小さい順に空マス18Bが検索される。そして、最初に検索されたn個(nは保証空マス数)の空マス18Bを残し、他の空マス18Bが仮想パレット18Cとして設定される。
これにより、
図6(b)の例では、空マス18Bのうち、座標(B(2),1),(E(5),1),(A(1),3)が空マス18Bとして残り、座標(C(3),3),(F(6),3),(B(2),4),(E(5),5)が仮想パレット18Cとして設定される。
【0071】
なお、設定された仮想パレット18Cの数及び位置情報等は、RAM44又はHDD46に記憶される。
【0072】
次のステップ202では、仮想パレット18Cが設定された状態で、パズル処理を実行してパズル解を求め、指示データを生成する。なお、リカバリー処理におけるパズル処理では、仮想パレット18Cとされた空マス18Bと実際のパレットマス18Aを区別することなく扱う。このため、本第1実施形態に係るパズル処理では、従来用いていたプログラムの内容を変更する必要がなく、そのまま用いることができる。
【0073】
また、仮想パレット18Cとパレットマス18Aとが区別されないため、生成される指示データも、仮想パレット18Cに設定された空マス18Bをパレットマス18Aとして扱ったものとなる。
【0074】
そこで、次のステップ204では、後処理として、生成された指示データを補正する処理を実行する。後処理では、生成された指示データのうち、仮想パレット18Cに設定された座標を含む指示データに対して補正を行う。
【0075】
上述したように、リカバリー処理において生成された指示データは、仮想パレット18Cに設定された空マス18Bがパレットマス18Aとして扱われている。これでは、指示データが、実際の格納棚18の状態とは異なる。また、このままでは、実際にはパレット16の搬送に寄与しない格納棚18のモータが動作する場合がある。このため、指示データに対して、仮想パレット18Cを空マス18Bとする補正が行われる。
【0076】
次に、
図7〜9を参照して、一部の空マス18Bを仮想パレット18Cとした場合における指示データの補正の例を説明する。
【0077】
図7は、パレット16が搬送される前の格納棚18の状態(
図7(a))、パレット16が搬送された後の格納棚18の状態(
図7(b))、及び補正前の指示データ(
図7(c))の一例である。
なお、
図7では、
図8に示されるように既に仮想パレット18Cが設定されており、搬送されるパレット16の先頭(座標(C(3),3))が仮想パレット18Cである。すなわち、
図7では、座標(A(1),3),(B(2),3)のパレット16を座標(D(4),3),(E(5),3)へ搬送させるために、空マス18Bである座標(C(3),3)が仮想パレット18Cに設定されている。
【0078】
そして、
図7(b)のようにパレット16が搬送されることで、座標(A(1),3),(B(2),3),(C(3),3)が空マス18Bとなり、座標(D(4),3),(E(5),3),(F(6),3)がパレットマス18Aとなる。
【0079】
指示データを示す
図7(c)の“X”及び“Y”は格納棚18の座標を示す。
図7(c)の“F”はパレット16の搬送元を示し、“T”はパレット16の搬送先を示す。“0”はパレット16が格納棚18に載置されていない状態を示し、“1”はパレット16が格納棚18に載置された状態を示す。すなわち、“F”が“1”の座標から“T”が“1”の座標の格納棚18へパレット16が搬送される。
【0080】
図7(c)に示される指示データ(X,Y,F,T)は、
図7(a),(b)に対応して(F(6),3,0,1),(E(5),3,0,1),(D(4),3,0,1),(C(3),3,1,0),(B(2),3,1,0),(A(1),3,1,0)となる。
【0081】
なお、上述したように仮想パレット18Cはパレットマス18Aとして扱われるために、仮想パレット18Cである座標(C(3),3)も、パレット16の搬送元とされている。
【0082】
図8,9は、
図7の例に対する指示データの補正を示している。
図8(a),(b)に示されるように、仮想パレット18Cである座標(C(3),3)から座標(F(6),3)へパレット16が仮想的に搬送される。しかし、本来、仮想パレット18Cは空パレット16であるため、実際には座標(C(3),3)から座標(F(6),3)へパレット16は搬送されない。
そこで、
図8(c)の指示データに示されるように、座標(C(3),3)の“F”を“1”から“0”に補正し、座標(F(6),3)の“T”を“1”から“0”に補正する。
【0083】
そして、パレット16の搬送に寄与しない座標の情報は不必要である。このため、パレット16の搬送に寄与しない(F,T)=(0,0)となる座標(以下「不要座標」という。)の探索が行われる。
【0084】
一例として、不要座標の探索は、指示データにおける先頭及び最後尾の座標から行われる。ここでいう座標の先頭及び最後尾は、搬送されるパレット16の進行方向に対する先頭及び最後尾と同じである。
すなわち、不要座標の探索の例を示した
図9(c)では、座標(F(6),3)から探索が行われる。これにより、(F,T)=(0,0)である座標(F(6),3)の情報が、指示データから削除される。一方、
図9(c)の例では、最後尾の座標(A(1),3)は、(F,T)=(0,0)でないため削除されない。また、座標(C(3),3)の(F,T)も(0,0)である。しかし、削除された座標の次の座標(E(5),3)は(F,T)=(0,0)でないため探索は終了し、座標(C(3),3)は削除されない。
【0085】
このように、指示データの先頭と最後尾の座標の(F,T)が(0,0)となる格納棚18は、パレット16を搬送させるモータの動作が必要ない。
より具体的には、パレット16を搬送する格納棚18は、パレット16が他の格納棚18へ搬送されたことを、格納棚18毎に備えられているセンサにより検知し、モータを停止させる。しかしながら、パレット16の搬送に寄与しない格納棚18は、センサがパレット16の移動を検知することはないため、指示データに基づいてモータを動作させるとモータの停止が行われなくなる。
これを防止するために、パレット16の搬送に寄与しない格納棚18の座標が、指示データから削除される。
【0086】
図9(a),(b)は、仮想パレット18Cを空マス18Bとした、パレット16の搬送前後の格納棚18の状態である。
パレット16が搬送される前の空マス18Bは、
図9(a)に示されるように座標(C(3),3),(D(4),3),(E(5),3),(F(6),3)である。そして、パレット16の搬送に伴い、
図9(b)に示されるように座標(A(1),3),(B(2),3)が新たに空マス18Bとなる。座標(C(3),3)は、パレット16の搬送経路となるものの空マス18Bのままである。また、座標(F(6),3)はパレット16の搬送に寄与せず、空マス18Bのままである。
【0087】
図10〜12は、指示データの補正の他の例である。
【0088】
図10の例では、
図10(a)に示されるように同時に搬送されるパレット16の最後(座標(A(1),3))が仮想パレット18Cに設定されている。
この場合、
図10(b)に示されるように座標(A(1),3)の(F,T)が(0,0)となるので、座標(A(1),3)の情報は補正により指示データから削除される。
【0089】
図11の例では、
図11(a)に示されるようにY=3の座標が全て空マス18Bであり、座標(A(1),3),(B(2),3),(C(3),3)が仮想パレット18Cに設定されている。
この場合、
図11(b)に示されるようにY=3の座標の全てが(F,T)=(0,0)となるため、補正によりこの指示データそのものが削除される。
【0090】
図12の例では、
図12(a)に示されるようにパレットマス18Aに挟まれた座標(B(2),3)が仮想パレット18Cに設定されている。
この場合、
図12(b)に示されるように座標(B(2),3),(E(5),3)の(F,T)が(0,0)となる。しかし、指示データにおける先頭の座標(F(6),3)及び最後尾の座標(A(1),3)は(F,T)=(0,0)ではないため、座標(B(2),3),(E(5),3)の情報は指示データから削除されない。
【0091】
なお、仮想パレット18Cを示す座標が指示データに含まれない場合は、この指示データに対する補正は行われない。
【0092】
上述したように全棚確認試験においても、空マス18Bの数が多く、所定時間内に解が求まらない場合、空マス18Bを仮想パレット16に設定して行われる。
例えば、空マス数が10とされている機械式駐車装置10において、空マス数が10の場合では全棚確認試験の解を求めるために要する日数が膨大になる一方、空マス数が3つの場合に、約1日で全棚確認試験の解が求まるような場合、空マス18Bのうち任意の7つを仮想パレット16に設定する。これにより、空マス数が10であっても、全棚確認試験において解が求まる。そして、この解が保証空マス数としてHDD46に記憶される。
【0093】
以上説明したように、本第1実施形態に係る機械式駐車装置10は、格納庫20内のパレット16を入出庫部14へ搬送させるための搬送経路を求めるパズル処理をパズル処理実行部60によって実行する。そして、本第1実施形態に係る機械式駐車装置10は、空マス18Bが複数の場合におけるパズル処理において、パズル解が得られたか否かを判定部64によって判定し、パズル解が得られない場合、空マス18Bを仮想的に減少させ、パズル処理を再び実行する。
これにより、本第1実施形態に係る機械式駐車装置10は、パズル処理のパズル解をより確実に求めることができる。
【0094】
〔第2実施形態〕
以下、本発明の第2実施形態について説明する。
【0095】
なお、本第2実施形態に係る機械式駐車装置10の構成及び制御装置24の構成は、
図1に示す第1実施形態に係る機械式駐車装置10の構成及び制御装置24の構成と同様であるので説明を省略する。
【0096】
図13は、本第2実施形態に係るパレット搬送処理部52の構成を示す。なお、
図13における
図3と同一の構成部分については
図3と同一の符号を付して、その説明を省略する。
【0097】
第2実施形態に係る再実行指示部70は、パズル処理でパズル解が求められるまで、空マス18Bの数が段階的に少なくなるように、空マス18Bを仮想パレット18Cに設定する。
空マス18Bの数を段階的に少なくするとは、空マス18Bの数を1つずつ仮想パレット18Cに設定することである。
【0098】
本第2実施形態に係るパレット搬送経路導出処理の流れは、上述した第1実施形態と同様である。
【0099】
図14は、本第2実施形態に係るリカバリー処理の流れを示すフローチャートである。なお、
図14における
図5と同一のステップについては
図5と同一の符号を付して、その説明を一部又は全部省略する。
【0100】
ステップ300で実行される本第2実施形態に係る前処理は、空マス数が段階的に少なくなるように、1つの空マス18Bを仮想パレット18Cに設定する。
具体的には、空マス18Bを仮想パレット18Cとして設定する場合、XY座標の値が小さい順に空マス18Bが検索される。そして、最初に検索されたn個(nは最小空マス数)の空マス18Bを残し、他の空マス18Bの何れか(例えば最後に検索された空マス18B)が仮想パレット18Cとして設定される。
【0101】
本第2実施形態に係る前処理において、空マス数を段階的に少なくすることで、パズル処理でパズル解を求めることが可能な空マス18Bの最大値が得られる。
【0102】
次のステップ202では、ステップ300で仮想パレット18Cが設定された状態で、パズル処理を実行する。
【0103】
次のステップ302では、パズル解が求められたか否かを判定し、肯定判定の場合は、指示データ生成部62が指示データを生成すると共に、ステップ204へ移行する。一方、否定判定の場合はステップ300へ戻る。
【0104】
次のステップ204では、後処理として、生成された指示データを補正する処理を実行する。
【0105】
ステップ300へ戻る場合は、ステップ300において更に、前回設定した仮想パレット18Cをそのままとし、残りの空マス18Bのうち1つを更に仮想パレット18Cに設定する。
【0106】
以上、本発明を、上記各実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記各実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。
【0107】
例えば、上記各実施形態では、仮想パレット18Cとされた空マス18Bのうち、パレット16の搬送に寄与しない空マス18Bにモータの動作指示を与えない指示データを補正する形態について説明したが、本発明は、これに限定されるものではなく、上記空マス18Bのモータへ動作指示を与えない他の方法が用いられてもよい。
【0108】
また、上記各実施形態で説明した各種処理の流れも一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。