(57)【要約】      （修正有）【課題】時間又は低消費電力のいずれが優先されるかに応じた経路を計画する経路計画装置を提供する。【解決手段】呼出パレットが選択されると、格納庫３０のレイアウトに関するレイアウトデータを記憶部から読み出し、呼出パレットが現在存在する棚から、リクエストされた動作に利用される棚まで移動させる移動経路を探索する第１探索部１２と、第１探索部１２で探索された移動経路において、呼出パレットが次に移動する棚の直前の棚が迂回不可能な１セル幅通路の直前であるか否かを判定し、移動経路に配置する空棚の数を決定する通路判定部１３と、通路判定部１３で判定された数の棚を空棚にするとともに、呼出パレットが第１探索部で探索された移動経路で移動するために、格納空間におけるパレットの移動経路を探索する第２探索部１４と、第２探索部１４で探索された移動経路をパレットの移動を制御する制御装置２０に送信する送信部１５とを備える。【選択図】図１
2014051802.tif 000002
【特許請求の範囲】
【請求項１】
格納物を載置可能なパレットが配置される棚とパレットが配置されない空棚とで構成される格納空間を有する格納庫と接続され、前記格納空間内でパレットの空棚へのスライド移動を制御するとともに、指定されたパレットである呼出パレットを入庫口又は出庫口であるバースまで移動させるパレットの移動経路を計画する経路計画装置であって、
入庫又は出庫のリクエストとともに、いずれかの棚に配置されるパレットが呼出パレットとして選択されると、前記格納庫のレイアウトに関するレイアウトデータを記憶部から読み出し、前記呼出パレットが現在存在する棚から、リクエストされた動作に利用される棚まで移動させる移動経路を探索する第１探索部と、
前記第１探索部で探索された移動経路において、前記呼出パレットが次に移動する棚の直前の棚が迂回不可能な１セル幅通路の直前であるか否かを判定し、前記移動経路に配置する空棚の数を決定する通路判定部と、
前記通路判定部で判定された数の棚を空棚にするとともに、前記呼出パレットが前記第１探索部で探索された移動経路で移動するために、前記格納空間におけるパレットの移動経路を探索する第２探索部と、
前記第１探索部及び前記第２探索部で探索された移動経路をパレットの移動を制御する制御装置に送信する送信部と、
を備えることを特徴とする経路計画装置。
【請求項２】
格納物を載置可能なパレットが配置される棚とパレットが配置されない空棚とで構成される格納空間を有する格納庫と接続され、前記格納空間内でパレットの空棚へのスライド移動を制御するとともに、指定されたパレットである呼出パレットを入庫口又は出庫口であるバースまで移動させるパレットの移動経路を計画する経路計画装置であって、
入庫又は出庫のリクエストとともに、いずれかの棚に配置されるパレットが呼出パレットとして選択されると、前記格納庫のレイアウトに関するレイアウトデータを記憶部から読み出し、前記呼出パレットが現在存在する棚から、リクエストされた動作に利用される棚まで移動させる移動経路を探索する第１探索部と、
１セル幅通路を境界として前記格納空間を分割したとき、前記リクエストで指定された棚を含む第１領域の空棚の数と、前記リクエストで指定された棚を含まない第２領域の空棚の数とを予め定め、前記呼出パレットを前記第１探索部で検索された移動経路を利用して前記呼出パレットを移動させたと仮定した場合、前記第１領域及び前記第２領域の空棚の数が所定値であるか否かを判定する通路判定部と、
前記通路判定部の判定結果に応じて前記第１領域及び前記第２領域の空棚の数が所定値になるように、前記呼出パレットが前記第１探索部で探索された移動経路で移動パレットの移動経路を探索する第２探索部と、
前記第１探索部及び前記第２探索部で探索された移動経路をパレットの移動を制御する制御装置に送信する送信部と、
を備えることを特徴とする経路計画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械式格納庫や産業用搬送装置における物品の入出庫の際のパレットの経路を計画する経路計画装置に関する。
【背景技術】
【０００２】
従来から、多くの物品を小さい空間に収納するとともに、出し入れを容易にするため、機械式格納庫が広く利用されている。このような機械式倉庫の代表例として、平面空間を格子状に分割し、分割した各棚に収納する車両を載置可能なパレットを配置するパズル式駐車場がある（例えば、特許文献１及び２参照）。
【０００３】
また、工場や倉庫等で必要な物品を効率的に搬送する装置としても、同様に平面空間を格子状に分割し、分割した各棚に物品を載置可能なパレットを配置した産業用搬送装置が利用されている。
【０００４】
図１０に示す格納空間（平面空間）１００は、３×５の格子状に分割されて棚１０１が構成され、各棚１０１には、格納対象の物品を載置可能なパレット１０２が配置されている。格納空間１００の棚１０１には、パレット１０２が配置されていない空棚１０４もあり、この空棚１０４に隣接する棚１０１に配置されるパレット１０２は、空棚１０４に移動することができる。例えば、物品の入庫や出庫の際には、各棚１０１に配置するパレット１０２の位置を駆動機構（図示せず）によって移動させながら、入庫又は出庫の操作信号で指定された呼出パレット１０５をリフト１０３に移動させるとともに、リフト１０３によって格納空間１００とは異なる階層に設けられる入庫口であるバースに呼出パレット１０５を移動させる。
【０００５】
ここで、各パレット１０２が全ての隣接する棚１０１に自由に移動することができればよいが、図１０（ａ）に示すように、棚１０１と他の棚１０１との間に壁１０６が存在する格納空間１００もある。また、図１０（ｂ）に示すように、棚１０１に設けられる駆動機構等の故障により、棚１０１に配置されるパレット１０２を隣接する他の棚１０１へ移動させることのできなくなった故障棚１０７が存在する格納空間１００もある。
【０００６】
このような壁１０６や故障棚１０７の存在により、パレット１０２は他の棚を迂回不可能な１棚分（１セル分）の幅の１セル幅通路１０８を通過しなければ他の棚１０１に移動することができないことがある。例えば、図１０（ａ）に示す例において、１−ｂの棚から１−ｃの棚に移動する際には、１−ｂの棚から直接隣接する１−ｃの棚に移動する他、１−ｂの棚から２−ｂの棚及び２−ｃの棚を経由して１−ｃの棚に移動することができる。一方、２−ｃの棚と２−ｄの棚及び３−ｃの棚と３−ｄの棚の間には壁１０６が設けられているため、１−ｃの棚から１−ｄの棚に移動する経路はこの１−ｃの棚と１−ｄの棚の１セル幅通路１０８のみである。また、図１０（ｂ）に示す例においても、１−ｃ及び２−ｃの棚が故障棚１０７であることから、３−ｂの棚から３−ｃの棚に移動する経路は３−ｃの棚の１棚分の幅を通過する１セル幅通路１０８のみである。
【０００７】
パレット１０２は他のパレット１０２が配置されている棚１０１には移動することができず、空棚１０４にのみ移動可能であるため、このような１セル幅通路がある場合、１セル幅通路を通過した先に空棚１０４が存在しないとパレット１０２の移動ができなくなる問題があった。このような場合、移動したパレット１０２を再び１セル幅通路の後ろに移動する等によりパレット１０２の移動経路を確保している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４０２５７０１号公報
【特許文献２】特開２０１１−１７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、従来は、１セル幅通路がある場合、目的の移動のために不要に同じ移動を繰り返す場合があり、移動に要する時間が長くなることがあった。
【００１０】
上記課題に鑑み、本発明は、移動に要する時間を短縮することのできる経路を計画する経路計画装置を提供する。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１記載の発明は、格納物を載置可能なパレットが配置される棚とパレットが配置されない空棚とで構成される格納空間を有する格納庫と接続され、前記格納空間内でパレットの空棚へのスライド移動を制御するとともに、指定されたパレットである呼出パレットを入庫口又は出庫口であるバースまで移動させるパレットの移動経路を計画する経路計画装置であって、入庫又は出庫のリクエストとともに、いずれかの棚に配置されるパレットが呼出パレットとして選択されると、前記格納庫のレイアウトに関するレイアウトデータを記憶部から読み出し、前記呼出パレットが現在存在する棚から、リクエストされた動作に利用される棚まで移動させる移動経路を探索する第１探索部と、前記第１探索部で探索された移動経路において、前記呼出パレットが次に移動する棚の直前の棚が迂回不可能な１セル幅通路の直前であるか否かを判定し、前記移動経路に配置する空棚の数を決定する通路判定部と、前記通路判定部で判定された数の棚を空棚にするとともに、前記呼出パレットが前記第１探索部で探索された移動経路で移動するために、前記格納空間におけるパレットの移動経路を探索する第２探索部と、前記第１探索部及び前記第２探索部で探索された移動経路をパレットの移動を制御する制御装置に送信する送信部とを備える。
【００１２】
また、請求項２の発明は、格納物を載置可能なパレットが配置される棚とパレットが配置されない空棚とで構成される格納空間を有する格納庫と接続され、前記格納空間内でパレットの空棚へのスライド移動を制御するとともに、指定されたパレットである呼出パレットを入庫口又は出庫口であるバースまで移動させるパレットの移動経路を計画する経路計画装置であって、入庫又は出庫のリクエストとともに、いずれかの棚に配置されるパレットが呼出パレットとして選択されると、前記格納庫のレイアウトに関するレイアウトデータを記憶部から読み出し、前記呼出パレットが現在存在する棚から、リクエストされた動作に利用される棚まで移動させる移動経路を探索する第１探索部と、１セル幅通路を境界として前記格納空間を分割したとき、前記リクエストで指定された棚を含む第１領域の空棚の数と、前記リクエストで指定された棚を含まない第２領域の空棚の数とを予め定め、前記呼出パレットを前記第１探索部で検索された移動経路を利用して前記呼出パレットを移動させたと仮定した場合、前記第１領域及び前記第２領域の空棚の数が所定値であるか否かを判定する通路判定部と、前記通路判定部の判定結果に応じて前記第１領域及び前記第２領域の空棚の数が所定値になるように、前記呼出パレットが前記第１探索部で探索された移動経路で移動パレットの移動経路を探索する第２探索部と、前記第１探索部及び前記第２探索部で探索された移動経路をパレットの移動を制御する制御装置に送信する送信部とを備える。
【発明の効果】
【００１３】
本発明によれば、移動に要する時間を短縮することのできる経路を計画することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る制御装置の構成を説明するブロック図である。
【図２】呼出パレットの移動経路の探索の一例を説明するレイアウト図である。
【図３】呼出パレットの移動経路の探索の他の例を説明するレイアウト図である。
【図４】図１の制御装置を有するパズル式駐車システムにおける処理を説明するフローチャートである。
【図５】呼出パレットの移動経路の探索を説明するフローチャートである。
【図６】１セル幅通路の判定の処理を説明するフローチャートである。
【図７】パレット移動経路の探索を説明するフローチャートである。
【図８】変形例１に係るパレット移動経路の探索を説明するフローチャートである。
【図９】変形例２に係る制御装置における探索を説明するレイアウト図である。
【図１０】格納空間を説明するレイアウト図である。
【発明を実施するための形態】
【００１５】
図面を参照して、本発明の実施形態に係る経路計画装置について説明する。本発明に係る経路計画装置は、機械式格納庫や産業用搬送装置における経路を計画するものであるが、以下における説明では、機械式格納庫が自動車を格納するパズル式駐車場であるものとして説明する。例えば、図１に示すように、実施形態に係る経路計画装置１０は、パズル式駐車場である格納庫３０を有するパズル式駐車システム１で利用される。
【００１６】
〈パズル式駐車システム〉
パズル式駐車システム１は、経路計画装置１０及び格納庫３０の他、格納庫３０への車両の入庫及び格納庫３０からの車両の出庫の操作信号を入力する入力装置４０及び経路計画装置で計画された経路で格納庫３０を制御する制御装置２０を備えている。
【００１７】
格納庫３０は、図１０に示したような平面が複数の棚１０１に区分される格納空間１００を有している。各棚１０１には、車両を載置可能なパレット１０２を一枚づつ配置することができるように構成されている。この格納空間１００では、格納対象の車両をパレット１０２に載置して格納する。格納庫３０では、あるパレット１０２が存在する棚１０１の隣接棚に他のパレットが存在せず、隣接する棚との間に壁１０６が存在しないとき、駆動手段（図示せず）による駆動により、このパレット１０２を隣接する棚（隣接棚）にスライド移動することができる。なお、図１０に示すように、格納空間１００では、壁１０６や故障棚１０７があるとき、これらによってパレット１０２の移動が遮られる。
【００１８】
格納庫３０では、格納する車両の入庫口（図示せず）及び格納していた車両の出庫口（図示せず）を格納空間１００と異なる階層に設けることが可能である。また、格納庫３０が格納空間１００を複数層有することで、より多くの車両を格納することができる。格納空間１００とは異なる階層に入庫口や出庫口を有する場合や、格納空間１００を複数層有する場合には、格納空間１００内にリフト１０３を設け、このリフト１０３でパレット１０２を上方向（又は下方向）に移動させることで、パレット１０２を他の階層にある入庫口又は出庫口や他の階層の格納空間１００に移動させることができる。
【００１９】
駆動手段を利用したパレット１０２のスライド移動やリフト１０３を利用したパレット１０２の上下方向の移動は、制御装置２０から入力する制御信号に従って実行される。例えば、格納空間１００を複数層有し、入庫口が他の階層に存在する格納庫３０では、入庫の際、制御装置２０から入力する制御信号に従って、ある格納空間１００でリフト１０３上まで車両が載置されていない空のパレット１０２を呼出パレット１０５として移動させたうえで、リフト１０３を使用して入庫口まで上方向（又は下方向）に呼出パレット１０５を移動させる。入庫口で対象の車両がパレット１０２上に配置されると、リフト１０３は、再び元の格納空間１００に戻り、車両の入庫が完了する。
【００２０】
また、この格納庫３０では、出庫の際、制御装置２０から入力する制御信号に従って、対象の車両が載置されるパレット１０２が呼出パレット１０５として選択されると、この呼出パレット１０５をリフト１０３上まで移動させたうえで、リフト１０３を使用して出庫口まで上方向（又は下方向）に呼出パレット１０５を移動させる。出庫口で呼出パレット１０５から載置される対象の車両が降ろされると、リフト１０３は、再び元の格納空間１００に戻り、出庫が完了する。なお、入庫口と出庫口は同一であっても良いし、複数あっても良い。また、格納空間１００におけるリフト１０３の数も限定されない。さらに、格納庫３０では、入庫口及び出庫口を複数設けてもよい。
【００２１】
パズル式駐車システム１では、入力装置４０を介して入庫又は出庫の操作信号が入力されると、制御装置２０が、経路計画装置１０に入力した操作信号が要求する動作を実行するためのパレットの移動経路を要求するリクエスト信号を出力する。経路計画装置１０は、リクエスト信号に応じて、格納庫３０のレイアウトを利用して、入庫又は出庫に利用されるパレット１０２である呼出パレット１０５を入庫口又は出庫口に対応するリフト１０３に移動するためのパレット１０２の移動経路を計画する。また、制御装置２０は、経路計画装置１０で計画された移動経路に応じて、格納庫３０のパレット１０２を制御する。
【００２２】
〈経路計画装置〉
経路計画装置１０は、図１に示すように、制御装置２０から経路の計画を要求するリクエスト信号を入力すると、制御装置２０から格納庫３０のレイアウトデータを取得する取得部１１と、レイアウトデータを利用して呼出パレット１０５の移動経路を探索する第１探索部１２と、１セル幅通路１０８との位置関係を判定する通路判定部１３と、パレット１０２の移動経路を探索する第２探索部１４と、探索されたパレット１０２の移動経路に関する移動経路データを送信する送信部１５と、レイアウトデータを記憶するレイアウトデータ記憶部１６とを備えている。
【００２３】
取得部１１は、制御装置２０からあるパレット１０２が呼出パレット１０５と指定されて経路の計画を要求するリクエスト信号を入力すると、制御装置２０に格納空間１００のレイアウトに関するレイアウトデータの送信を要求するリクエスト信号を送信して制御装置２０からレイアウトデータを取得する。また、取得部１１は、取得したレイアウトデータをレイアウトデータ記憶部１６に記憶させる。
【００２４】
レイアウトデータ記憶部１６で記憶されるレイアウトデータは、図１０に示すような格納空間１００が有する棚１０１及びリフト１０３の位置関係に加え、各棚１０１に配置されるパレット１０２の番号に関するデータである。また、格納空間１００が壁１０６や故障棚１０７を有している場合、レイアウトデータでは壁１０６や故障棚１０７の位置関係も含んでいる。また、第２探索部１４がパレット１０２の移動経路を探索すると、レイアウトデータ記憶部１６が記憶するレイアウトデータは、第２探索部１４によって、取得部１１が取得したレイアウトデータから、探索した移動経路を利用してパレット１０２を移動した場合のシミュレーション結果であるレイアウトデータに更新される。
【００２５】
第１探索部１２は、レイアウトデータ記憶部１６で記憶されるレイアウトデータを利用して、呼出パレット１０５をリフト１０３に移動するための移動経路を探索する。
【００２６】
通路判定部１３は、第１探索部１２で呼出パレット１０５の移動経路が探索されると、探索された移動経路に１セル幅通路１０８を含むか否かを判定する。
【００２７】
例えば、図２（ａ）に示すようなレイアウトの場合に、１−ｂの棚に配置されるパレット１０２が呼出パレット１０５と指定された場合、この呼出パレット１０５が目的地であるリフト１０３が設置する１−ｆの棚に移動するための経路として第１探索部１２において、１−ｃの棚、１−ｄの棚、１−ｅの棚、１−ｆの棚の順に移動する経路が探索されたとする。
【００２８】
このとき、図２に示すレイアウトの例では、２−ｃの棚と２−ｄの棚、３−ｃと３−ｄの棚の間には壁１０６が設置されているため、１−ｃの棚から１−ｄの棚へパレット１０２を移動させるためには、１−ｃの棚と１−ｄの棚の１セル幅通路１０８を通過しなければならない。したがって、１−ｃの棚と１−ｄの棚に空棚１０４を配置すると決定し、図２（ｂ）に示すように１−ｃの棚と１−ｄの棚とを空棚１０４とし、図２（ｃ）に示すように１−ｄの棚に呼出パレット１０５を移動すると、他のパレット１０２は１セル幅通路１０８を移動することができなくなる。そのため、呼出パレット１０５もリフト１０３へ移動することができなくなる。
【００２９】
したがって、図３（ａ）に示すように１セル幅通路１０８がある場合、１−ｃの棚、１−ｄの棚及び１−ｅの棚に空棚１０４を配置すると決定し、図３（ｂ）に示すように空棚１０４にしたとする。その後、呼出パレット１０５を図３（ｃ）に示すように１−ｄの棚に移動した後で１−ｅの棚まで移動することができ、他のパレット１０２を移動させて空棚１０４まで移動することが可能となる。すなわち、通路判定部１３は、その後の処理においてパレット１０２の移動を妨げることがないように、１セル幅通路１０８の有無を判定する。
【００３０】
第２探索部１４は、レイアウトデータ記憶部１６で記憶されるレイアウトデータを利用して、第１探索部１２で決定された経路で呼出パレット１０５を移動するためのパレット１０２の移動経路を探索する。
【００３１】
送信部１５は、第２探索部１４で探索されたパレット１０２の移動経路に関する移動経路データを制御装置２０に送信する。送信部１５が送信した移動経路データを受信した制御装置２０は、移動経路データに含まれる移動経路に従って格納庫３０のパレットを移動させる。
【００３２】
図４のフローチャートで示すように、パズル式駐車システム１では、入力装置４０から制御装置２０に入庫又は出庫の操作信号が入力される（Ｓ０１）。入庫又は出庫の操作信号を入力した制御装置２０から経路計画装置１０に経路の計画が要求されると、経路計画装置１０は制御装置２０から取得してレイアウトデータにおいて呼出パレット１０５が目的地であるリフト１０３上に存在するか否かを判定する（Ｓ０２）。
【００３３】
呼出パレット１０５が目的地にあるとき（Ｓ０２でＹＥＳ）、格納空間１００内で呼出パレット１０５を移動させる必要がないため、送信部１５は制御装置２０に呼出パレット１０５が目的地にある旨を通知する信号を送信し、制御装置２０は、入庫又は出庫の動作を実行する（Ｓ０８）。具体的には、呼出パレット１０５がリフト１０３上に存在するため、リフト１０３を上方向（又は下方向）に移動させることで呼出パレット１０５を入庫口又は出庫口まで移動させて入庫又は出庫を実行する。
【００３４】
呼出パレット１０５が目的地にないとき（Ｓ０２でＮＯ）、第１探索部１２が呼出パレット１０５の移動経路を探索する（Ｓ０３）。この呼出パレット１０５の移動経路を探索する処理は、呼出パレット１０５が目的地まで移動する経路を探索する処理であり、図５を用いて後述する。
【００３５】
第１探索部１２が呼出パレット１０５の移動経路を決定すると、通路判定部１３が呼出パレット１０５が移動する先が１セル幅通路１０８であるか否かを判定する（Ｓ０４）。移動先が１セル幅通路１０８であるか否かの判定については図６を用いて後述する。
【００３６】
通路判定部１３が１セル幅通路１０８であるか否かを判定すると、第２探索部１４が判定結果に応じて、呼出パレット１０５の移動経路を空棚にするためのパレット１０２の移動経路を探索する（Ｓ０５）。このパレット１０２の移動経路の探索は、パレット１０２をどのように移動して呼出パレット１０５の移動経路を空棚にするかを探索する処理であり、図７を用いて後述する。また、パレット１０２の移動経路が探索されると、第２探索部１４は、探索された移動経路でパレット１０２を移動したシミュレーション結果でレイアウトデータ記憶部１６のレイアウトデータを更新する。
【００３７】
続いて、経路計画装置１０は、レイアウトデータ記憶部１６に記憶されるレイアウトデータにおいて、呼出パレット１０５が目的地であるリフト１０３上に存在するか否かを判定する（Ｓ０６）。
【００３８】
呼出パレット１０５が目的地にないとき（Ｓ０６でＮＯ）、経路計画装置１０は、ステップＳ０４〜Ｓ０６の処理を繰り返す。一方、呼出パレット１０５が目的地にあるとき（Ｓ０６でＹＥＳ）、送信部１５が制御装置２０に移動経路データを送信する（Ｓ０７）。受信した移動経路データに従って入庫又は出庫の動作を実行する（Ｓ０８）。
【００３９】
ここで、ステップＳ０３の呼出パレット１０５の移動経路の探索処理で利用するマンハッタン距離について説明する。ここで利用するマンハッタン距離は、ある棚１０１から別の棚１０１までの距離である。具体的には、２つの棚間の行座標と列座標の差の合計値である。また、仮に、故障によりパレット１０２を移動させることができない故障棚や棚と棚との間に壁が設けられている場合であっても、マンハッタン距離を求める際には、これらの故障棚や壁は考慮しない。したがって、例えば、図１０（ａ）及び図１０（ｂ）に示す例で、３−ａの棚から１−ｅの棚までのマンハッタン距離を求める際には、両レイアウトとも、行座標の差である２と列座標の差である４の合計値６がマンハッタン距離となる。
【００４０】
〈呼出パレットの移動経路の探索処理〉
図５に示すフローチャートを利用して、図４のフローチャートのステップＳ０３において第１探索部１２が呼出パレット１０５の移動経路を探索する処理の一例について説明する。まず、第１探索部１２は、呼出パレット１０５が移動可能な隣接棚を全て選択する（Ｓ１１）。
【００４１】
移動可能な隣接棚を選択すると、第１探索部１２は、選択した各隣接棚について、隣接棚からリフト１０３が設置される棚までのコストを算出する（Ｓ１２）。具体的には、第１探索部１２は、コストｔ（ｍ）に、隣接棚から目的地であるリフト１０３が配置される棚までの距離（例えば、マンハッタン距離）を用いることができる。または、第１探索部１２は、距離の他、隣接棚からリフト１０３が配置される棚までの移動に要する時間をコストｔ（ｍ）としてもよい。なお、ｍは、レイアウト毎に割り当てられる番号である。
【００４２】
各隣接棚についてコストを算出すると、第１探索部１２は、コストの最も小さい隣接棚を抽出する（Ｓ１３）。ここで、算出されたコストが等しい隣接棚が複数ある場合、第１探索部１２は、空棚に近い隣接棚を抽出する。
【００４３】
１つの隣接棚を抽出すると、呼出パレット１０５が抽出された隣接棚にあると仮定し、呼出パレット１０５が目的地であるリフト１０３上にあるか否かを判定する（Ｓ１４）。目的地上にないとき（Ｓ１５でＮＯ）、第１探索部１２は、呼出パレット１０５が目的地であるリフト１０３上に到達するまで、順にステップＳ１３で抽出された隣接棚に呼出パレット１０５が存在すると仮定してステップＳ１１〜Ｓ１４を繰り返す。
【００４４】
呼出パレット１０５が目的地であるリフト１０３上にあるとき（Ｓ１４でＹＥＳ）、これまでにステップＳ１３で順に抽出した棚を呼出パレット１０５の移動経路として決定する（Ｓ１５）。ここで、第１探索部１２は、ステップＳ１１〜Ｓ１４の処理を繰り返す際にステップＳ１３で抽出された隣接棚を蓄積してメモリ（図示せず）に記憶し、メモリに記憶された全ての隣接棚を呼出パレット１０５の移動経路と決定する。ここで、ステップＳ１１〜Ｓ１４が繰り返される場合、探索された呼出パレット１０５の移動経路はメモリで記憶しているが、ステップＳ１５で呼出パレットの移動経路を決定して通路判定部１３に出力すると、探索された呼出パレット１０５の移動経路は使わないため、メモリから消去する。
【００４５】
〈１セル幅通路の判定処理〉
図６に示すフローチャートを利用して、図４のフローチャートのステップＳ０４において通路判定部１３が呼出パレット１０５の移動経路における１セル幅通路１０８の有無を判定する処理の一例について説明する。
【００４６】
まず、通路判定部１３は、第１探索部が決定した呼出パレット１０５の移動経路において、呼出パレット１０５が次に移動する棚（次移動位置）を選択する（Ｓ２１）。
【００４７】
続いて、通路判定部１３は、次移動位置が１セル幅通路１０８の直前にあるか否かを判定する（Ｓ２２）。例えば、図２（ａ）に示す例では、呼出パレット１０５の次移動位置は１−ｃの棚であり、この１−ｃの棚は１セル幅通路１０８の直前である。また、図１０（ａ）に示す例では、１−ｃの棚が１セル幅通路１０８の直前の棚であり、図１０（ｂ）に示す例では、３−ｂの棚が１セル幅通路１０８の直前の棚である。
【００４８】
次移動位置が１セル幅通路１０８の直前にある場合（Ｓ２２でＹＥＳ）、通路判定部１３は、１セル幅通路１０８の先に複数の空棚を配置する必要があると判定し、判定結果を第２探索部１４に出力する（Ｓ２３）。
【００４９】
〈パレットの移動経路の探索処理〉
続いて、図７に示すフローチャートを利用して、図４のフローチャートのステップＳ０６において第２探索部１４がパレット１０２の移動経路を探索する処理の一例について説明する。ここで、図４のフローチャートのステップＳ０４で１セル幅通路１０８の先に複数の空棚が必要であると判定されたか否かによりパレットの移動経路の探索処理は異なる。したがって、１セル幅通路１０８の先に複数の空棚１０４が必要ないと判定された場合の移動経路の探索について図７（ａ）を用いて説明し、１セル幅通路１０８の先に複数の空棚１０４が必要であると判定された場合の移動経路の探索について図７（ｂ）を用いて説明する。
【００５０】
（１セル幅通路の先に複数の空棚が必要ない場合）
図７（ａ）に示すように、まず、第２探索部１４は、次移動位置に最も近い空棚１０４の隣接棚のうち、この空棚１０４に移動可能なパレット１０２が存在する隣接棚を全て選択する（Ｓ３１）。
【００５１】
空棚１０４の隣接棚を選択すると、第２探索部１４は、選択された各隣接棚について、隣接棚から次移動位置までのコストを算出する（Ｓ３２）。具体的には、第２探索部１４は、コストｔ（ｎ）に、隣接棚から次移動位置までの距離（例えば、マンハッタン距離）を利用することができる。または、第２探索部１４は、距離のほか、隣接棚から次移動位置までのパレット１０２の移動に要する時間をコストｔ（ｎ）としてもよい。なお、ｎは、探索中の一つの状態（レイアウト）を示す状態変数である。したがって、探索中の状態（レイアウト）の数が３である場合、ｔ（１）、ｔ（２）、ｔ（３）の３通りのコストを算出する。
【００５２】
各隣接棚についてコストを算出すると、第２探索部１４は、コストの最も小さい隣接棚を抽出し、パレット１０２の移動経路とする（Ｓ３３）。
【００５３】
コストの小さい隣接棚を抽出すると、第２探索部１４は、抽出した隣接棚が次移動位置であるか否かを判定する（Ｓ３４）。抽出した隣接棚が次移動位置であると判定されたとき（Ｓ３４でＹＥＳ）、第２探索部１４は、これまでにステップＳ３３で抽出されることで得られた経路を、次移動位置を空棚１０４とするパレット１０２の移動経路と決定する（Ｓ３５）。また、第２探索部１４は、空棚１０４となった次移動位置に呼出パレット１０５を移動する経路をステップＳ３５で決定した経路に加え、この経路を呼出パレット１０５を次移動位置に移動するためのパレット１０２の移動経路として処理を終了する（Ｓ３６）。ここで、第２探索部１４は、ステップＳ３１〜Ｓ３４の処理を繰り返す際にステップＳ３３で選択された隣接棚を蓄積してメモリ（図示せず）に記憶し、ステップＳ３１〜Ｓ３４の処理で選択され、メモリで記憶される隣接棚をパレットの移動経路と決定する。
【００５４】
一方、抽出した隣接棚が次移動位置でないとき（Ｓ３４でＮＯ）、第２探索部１４は、ステップＳ３１〜Ｓ３４の処理を繰り返す。ここで、ステップＳ３１〜Ｓ３４の処理が繰り返される間、レイアウトに応じて探索されたパレット１０２の移動経路はメモリ（図示せず）で記憶している。また、第２探索部１４は、ステップＳ３５及びＳ３６で移動経路を決定すると、メモリで記憶する経路をメモリから消去し、決定した移動経路でパレット１０２を移動したシミュレーション結果でレイアウトデータ記憶部１６が記憶するレイアウトデータを更新する。
【００５５】
（１セル幅通路の先に複数の空棚が必要である場合）
図７（ｂ）に示すように、まず、第２探索部１４は、空棚１０４にする必要がある複数の棚１０１を目的棚とする（Ｓ４１）。具体的には、次移動位置と次移動位置以外の空棚１０４にする必要がある棚１０１が目的棚となり、図３の例では、１−ｃの棚、１−ｄの棚及び１−ｅの棚が目的棚となる。
【００５６】
また、第２探索部１４は、各空棚１０４に移動可能なパレット１０２が存在する隣接棚を全て選択し、各目的棚と各隣接棚との組み合わせを作成する（Ｓ４２）。例えば、ステップＳ４１で３棚の目的棚（それぞれ「目的棚１」、「目的棚２」、「目的棚３」とする）が決定され、３棚の空棚１０４（それぞれ、「空棚１」、「空棚２」、「空棚３」とする）が格納空間１００内に存在するとする。またこのとき、空棚１に移動可能なパレット１０２が存在する隣接棚が２棚、空棚２に移動可能なパレット１０２が存在する隣接棚が３棚、空棚３に移動可能なパレット１０２が存在する隣接棚が３棚、選択されたとする。この場合、目的棚と空棚の組合せとしてまず、下記６通りの組合せができる。さらに、それぞれ空棚の隣接棚を考慮すると、１０８通りの組合せができる。
【００５７】
１：目的棚１と空棚１、目的棚２と空棚２、目的棚３と空棚３  （２×３×３通り）
２：目的棚１と空棚１、目的棚２と空棚３、目的棚３と空棚２  （２×３×３通り）
３：目的棚１と空棚２、目的棚２と空棚１、目的棚３と空棚３  （３×２×３通り）
４：目的棚１と空棚２、目的棚２と空棚３、目的棚３と空棚１  （３×３×２通り）
５：目的棚１と空棚３、目的棚２と空棚１、目的棚３と空棚２  （３×２×３通り）
６：目的棚１と空棚３、目的棚２と空棚２、目的棚３と空棚１  （３×３×２通り）
目的棚と空棚１０４の隣接棚の組合せを作成すると、第２探索部１４は、各組合せについて、隣接棚から目的棚までのコストの合計をコストとして算出する（Ｓ４３）。具体的には、第２探索部１４は、コストｔ（ｎ）に、組合せ毎に対応する隣接棚から目的棚までの距離（例えば、マンハッタン距離）の合計や隣接棚から目的棚までのパレット１０２の移動に要する時間の合計を利用する。
【００５８】
仮に、上述の１（目的棚１と空棚１、目的棚２と空棚２、目的棚３と３）の場合に空棚１の隣接棚である隣接棚１−１及び隣接棚１−２が選択され、空棚２の隣接棚である隣接棚２−１、隣接棚２−２及び隣接棚２−３が選択され、空棚３の隣接棚である隣接棚３−１、隣接棚３−２及び隣接棚３−３が選択されて１８の組合せがあるとする。このとき、第２探索部１４は、
コスト１：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト２：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト３：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
コスト４：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト５：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト６：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
コスト７：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト８：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト９：「目的棚１から隣接棚１−１までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
コスト１０：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト１１：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト１２：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−１までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
コスト１３：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト１４：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト１５：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−２までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
コスト１６：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−１までのコスト」の合計、
コスト１７：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−２までのコスト」の合計、
コスト１８：「目的棚１から隣接棚１−２までのコスト」、「目的棚２から隣接棚２−３までのコスト」及び「目的棚３から隣接棚３−３までのコスト」の合計、
の１８通りのコストをそれぞれ求める。すなわち１０８通りの組合せの場合には、１０８通りコストを求める。
【００５９】
全ての組合せについてコストを算出すると、第２探索部１４は、コストの最も小さい組合せを抽出する（Ｓ４４）。
【００６０】
その後、第２探索部１４は、レイアウトデータ記憶部１６が記憶するレイアウトデータにおいて、全ての目的棚が空棚１０４となっているか否かを判定する（Ｓ４５）。全ての目的棚が空棚１０４となっているとき（Ｓ４５でＹＥＳ）、第２探索部１４は、これまでに得られた経路を、全ての目的棚を空棚１０４とするためのパレット１０２の移動経路と決定する（Ｓ４６）。また、第２探索部１４は、空棚１０４となった次移動位置に呼出パレット１０５を移動する経路をステップＳ３５で決定した移動経路に加え、この経路を呼出パレット１０５を次移動位置に移動するためのパレット１０２の移動経路として処理を終了する（Ｓ４７）。ここで、第２探索部１４は、ステップＳ４２〜Ｓ４５の処理を繰り返す際にステップＳ４４で抽出された組合せの隣接棚を蓄積してメモリ（図示せず）に記憶し、ステップＳ４４の処理で抽出され、メモリで記憶される組合せの隣接棚をパレットの移動経路と決定する。また、第２探索部１４は、ステップＳ４６及びＳ４７で移動経路を決定すると、メモリで記憶する経路をメモリから消去し、決定した移動経路でパレット１０２を移動したシミュレーション結果でレイアウトデータ記憶部１６が記憶するレイアウトデータを更新する。
【００６１】
また、第２探索部１４は、全ての目的棚が空棚１０４になるまで（Ｓ４５でＮＯ）、ステップＳ４２〜Ｓ４５の処理を繰り返す。ここで、ステップＳ４２〜Ｓ４５の処理が繰り返される間、レイアウトに応じて探索されたパレット１０２の移動経路はメモリ（図示せず）で記憶している。
【００６２】
上述したように、実施形態に係る経路計画装置１０では、呼出パレット１０５が目的地に移動する過程で、パレット１０２が同じ経路を後戻りすることなく効率的なパレット１０２の移動を実現し、パレット１０２の移動に要する時間を短縮する。
【００６３】
〈変形例１〉
上述した実施形態に係る経路計画装置１０において、第２探索部１４では、１セル幅通路１０８の先に複数の空棚を配置する必要がある場合、図７（ｂ）に示した方法でパレット１０２の移動経路を探索していた。これに対し、変形例１に係る経路計画装置１０の第２探索部１４では、図７（ｂ）に示した方法に代えて、図８に示すようにパレット１０２の移動経路を探索してもよい。
【００６４】
図８に示すように、まず、第２探索部１４は、１セル幅通路１０８を境として、呼出パレット１０５が存在する領域である第１領域と、リフト１０３が存在する領域である第２領域とを設定し、第１領域に必要な空棚１０４の数と第２領域に必要な空棚１０４の数とを決定するとともに、空棚１０４にする必要がある複数の棚１０１を目的棚とする（Ｓ５１）。例えば、図１０（ａ）に示す例では、１−ａの棚、１−ｃの棚、３−ａの棚、３−ｃの棚を結んでできる領域が第１領域であり、１−ｄの棚、１−ｅの棚、３−ｄの棚、３−ｅの棚を結んでできる領域が第２領域となる。また、図１０（ｂ）に示す例では、１−ａの棚、１−ｂの棚、３−ａの棚、３−ｂの棚を結んでできる領域が第１領域であり、１−ｄの棚、１−ｅの棚、３−ｄの棚、３−ｅの棚を結んでできる領域が第２領域であり、１−ｃの棚は単に通路であって、いずれの領域にも含まれない。
【００６５】
その後、第２探索部１４は、第１領域及び第２領域の空棚１０４の数を調整する（Ｓ５２）。例えば、現在の第１領域の空棚数が５であり、第２領域の空棚数が０の状態で、ステップＳ５１において第１領域に必要な空棚１０４の数が１、第２領域に必要な空棚１０４の数が３と決定されたとする。このとき、第２領域の空棚１０４の数が３になるようにいずれかのパレット１０２を移動させる経路を生成してメモリ（図示せず）に記憶する。このタイミングでは第１領域及び第２領域にそれぞれ必要な数の空棚１０４が存在すればどの棚が空棚１０４となっていてもよく、第２探索部１４は、パレット１０２の移動が最小となるように経路を生成する。
【００６６】
続いて、第２探索部１４は、一セル幅通路１０８が棚１０１であるか否かを判定する（Ｓ５３）。すなわち、図１０（ｂ）のように、一セル幅通路１０８が故障棚１０７によって生じている場合には、１セル幅通路１０８は棚１０１である。一方、図１０（ａ）のように、一セル幅通路１０８が壁１０６によって生じている場合には、一セル幅通路１０８が棚１０１と棚１０１との境界であって、一セル幅通路１０８は棚１０１ではない。
【００６７】
一セル幅通路１０８が棚１０１であるとき（Ｓ５３でＹＥＳ）、一セル幅通路１０８である棚１０１を空棚１０４にするパレット１０２の移動経路を生成してメモリに記憶する（Ｓ５４）。このときも、第２探索部１４は、パレット１０２の移動が最小となるように経路を生成するが、第１領域及び第２領域の空棚１０４の数がそれぞれステップＳ５１で決定した数以上となるように経路を生成する。
【００６８】
その後、第２探索部１４は、目的棚のうち、１セル幅通路１０８に近く、かつパレット１０２が存在する棚を空棚１０４にする棚１０１である対象棚として決定する（Ｓ５５）。また、第２探索部１４は、対象棚と同一の領域にあり、かつ対象棚と近い空棚１０４の隣接棚のうち、この空棚１０４に移動可能なパレット１０２が存在する隣接棚を選択する（Ｓ５６）。
【００６９】
空棚１０４の隣接棚を選択すると、第２探索部１４は、選択された各隣接棚について、隣接棚から対象棚までのコストを算出する（Ｓ５７）。具体的には、第２探索部１４は、コストｔ（ｎ）に、隣接棚から対象棚までの距離（例えば、マンハッタン距離）や隣接棚から目的棚までの移動に要する時間を利用することができる。
【００７０】
各隣接棚についてコストを算出すると、第２探索部１４は、コストの最も小さい隣接棚を抽出する（Ｓ５８）。
【００７１】
コストの小さい隣接棚を抽出すると、第２探索部１４は、抽出した隣接棚が対象棚であるか否かを判定する（Ｓ５９）。抽出した隣接棚が対象棚であると判定されたとき（Ｓ５９でＹＥＳ）、第２探索部１４は、レイアウトデータ記憶部１６が記憶するレイアウトデータにおいて、全ての目的棚が空棚１０４となっているか否かを判定する（Ｓ６０）。
【００７２】
抽出した隣接棚が対象棚でない場合（Ｓ５９でＮＯ）、ステップＳ５６に戻り、第２探索部１４は、対象棚が抽出されるまでステップＳ５６〜Ｓ５９の処理を繰り返す。また、レイアウトデータ記憶部１６が記憶するレイアウトデータにおいて、全ての目的棚が空棚１０４となっていない場合（ステップＳ６０でＮＯ）、ステップＳ５５に戻り、別の目的棚を対象棚として決定し、ステップＳ５６〜Ｓ６０の処理を繰り返す。
【００７３】
一方、レイアウトデータ記憶部１６が記憶するレイアウトデータにおいて、全ての目的棚が空棚１０４となっている場合（Ｓ６０でＹＥＳ）、全ての目的地パレット１０２の移動経路が得られているため、第２探索部１４は、これまでに得られた経路をパレット１０２の移動経路と決定する（Ｓ６１）。
【００７４】
その後、第２探索部１４は、ステップＳ６１で決定した経路に、空棚１０４となった次移動位置に呼出パレット１０５を移動する経路を加えてパレットの移動経路とし、パレットの移動経路の探索処理を終了する（Ｓ６２）。ここで、第２探索部１４は、ステップＳ５６〜Ｓ６３の処理を繰り返す際にステップＳ５８で抽出された隣接棚を蓄積してメモリ（図示せず）に記憶し、ステップＳ５８の処理で抽出され、メモリで記憶される隣接棚をパレットの移動経路と決定する。また、第２探索部１４は、ステップＳ６１及びＳ６２で移動経路を決定すると、メモリで記憶する経路をメモリから消去し、決定した移動経路でパレット１０２を移動したシミュレーション結果でレイアウトデータ記憶部１６が記憶するレイアウトデータを更新する。
【００７５】
変形例１に係る経路計画装置１０において第２探索部１４が図８の方法で移動経路を決定する場合、図７（ｂ）を用いて上述した方法と比較して、演算量が少なく、移動経路の決定に要する時間を短縮することができる。
【００７６】
〈変形例２〉
また、上述した経路計画装置１０においては、通路判定部１３において呼出パレット１０５の次移動位置が１セル幅通路１０８の手前であるか否かを判定してパレット１０２の移動経路を探索していた。これに対し、図９に示すように、１セル幅通路１０８を境として格納空間１００をリフト１０３を含む領域Ａ（第１領域）とリフトを含まない領域Ｂ（第２領域）との２つの領域に分割し、各領域内における空棚の数を設定してもよい。
【００７７】
具体的には、図９（ａ）に示す例では、領域Ｂに３棚の空棚１０４があるものの、領域Ａには空棚１０４は全くない状態である。したがって、例えば、予め、領域Ａの空棚１０４の数を１棚、領域Ｂの空棚１０４の数を２棚と設定しておく。また、通路判定部１３は、第１探索部１２で呼出パレット１０５の移動経路が探索されると、探索された経路で呼出パレット１０５を移動させた場合の各領域における空棚１０４の数を予測するとともに、各領域における空棚１０４の数が変更されるか否かを判定する。これにより、呼出パレット１０５を移動することで、領域Ａに必要な数の空棚１０４が無くなると判定された場合、第２探索部１４は、図９（ｂ）に示すように、呼出パレット１０５を領域Ａに移動させるに先立って、パレット１０２の移動によって領域Ａにおける空棚１０４の数を２棚にする経路を探索し、その後に呼出パレット１０５を領域Ａに移動する経路を探索することで、空棚１０４の数を規定の値にすることができる。
【００７８】
以上、実施形態を用いて本発明を詳細に説明したが、本発明は本明細書中に説明した実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲の記載及び特許請求の範囲の記載と均等の範囲により決定されるものである。
【符号の説明】
【００７９】
１…パズル式駐車システム
１０…経路計画装置
１１…取得部
１２…第１探索部
１３…通路判定部
１４…第２探索部
１５…送信部
１６…レイアウトデータ記憶部
２０…制御装置
３０…格納庫
１００…格納空間
１０１…棚
１０２…パレット
１０３…リフト
１０４…空棚
１０５…呼出パレット
１０６…壁
１０７…故障棚
１０８…１セル幅通路
４０…入力装置
【図１】
2014051802.tif 000003
【図２】
2014051802.tif 000004
【図３】
2014051802.tif 000005
【図４】
2014051802.tif 000006
【図５】
2014051802.tif 000007
【図６】
2014051802.tif 000008
【図７】
2014051802.tif 000009
【図８】
2014051802.tif 000010
【図９】
2014051802.tif 000011
【図１０】
2014051802.tif 000012