以下、実施形態について図面を参照しながら説明する。以下の各図において、XYZ座標系を用いて図中の方向を説明する。このXYZ座標系においては、鉛直方向をZ方向とし、水平方向をX方向、Y方向とする。また、X方向、Y方向、及びZ方向のそれぞれについて、適宜、矢印の先の側を+側(例、+X側)と称し、その反対側を−側(例、−X側)と称する。
[第1実施形態]
図1は、第1実施形態に係る走行車システムのコントローラ及び走行車を示す図である。図2は、第1実施形態に係る走行車システムの全体を示す図である。本実施形態の走行車システム1は、経路(軌道)2、通信システム3、複数の走行車B、及び走行車Bを制御する複数のコントローラCを備える。走行車システム1は、例えば、半導体デバイスの製造工場に設置される搬送システムであり、半導体デバイスの製造に用いられる半導体ウエハを収容したFOUP、あるいはレチクルなどの加工用部材を収容したレチクルポッドなどの容器(物品)を搬送する。
複数の走行車Bは、それぞれ、経路2に沿って走行する。経路2は走行車Bの走行領域である。走行車Bは、例えば天井走行車であり、経路2は、クリーンルームの天井などに設けられる走行レールである。経路2は、処理装置(図示せず)あるいはストッカ(図示せず)などに隣接して設けられる。上記の処理装置は、例えば、露光装置、コータディベロッパ、製膜装置、あるいはエッチング装置などであり、走行車Bが搬送する容器内の半導体ウエハに各種処理を施す。上記のストッカ(自動倉庫)は、走行車Bが搬送する容器を保管する。なお、走行車Bは、地上走行の有軌道台車などでもよく、この場合、経路2は、床などに設けられる。また、図2に示す経路2は一例であって、経路2は任意に設定可能である。
経路2には、電源供給線(図示せず)が設けられる。電源供給線は、経路2に完全に沿って配置される。電源供給線には、交流電流が供給される。各走行車Bは、受電コイル(図示せず)を備え、電源供給線から電磁誘導により非接触で電力を受ける。このような非接触による電力供給の場合、接触による塵などの発生がないので、クリーンルームに適している。
経路2は、分岐点および合流点(以下、総称して交差点という)を含む(図2参照)。走行車Bの走行ルールには、経路2において、走行車Bが所定の向きのみに走行する(逆走しない)ことが定められる。なお、上記の走行ルールは一例であり、任意に設定可能である。
経路2(走行領域)は、複数のエリアAに区画されている(図2参照)。各エリアAは、それぞれ、走行車Bを制御するコントローラCを備えている。コントローラCは、自身が配置されるエリアAを管轄エリアとし、管轄エリア内を走行する走行車Bを制御する。このように走行車Bの走行領域が、複数のエリアAに区分され、コントローラCは、複数のエリアA毎に備えられて管轄エリア内の走行車Bを制御する場合、コントローラCがエリアA毎に配置されるので、コントローラCのデータ処理の負荷が軽減され、コントローラCによる走行車Bの制御を効率よく行うことができる。コントローラCの構成及び動作については、後に説明する。なお、図2に示すエリアAは一例であって、エリアAは、任意に設定可能である。また、走行車Bの走行領域を複数のエリアAに区画するか否かは、任意である。また、各エリアAがコントローラCを備えるか否かは、任意である。
経路2(走行領域)は、コントローラCから通過許可を得ていない走行車Bの進入を制限するブロッキング領域BRを含む(図2参照)。ブロッキング領域BRは、経路2における交差点を含む領域に設定される。ブロッキング領域BRを備える場合、走行車Bの衝突を抑制することができる。走行車Bは、コントローラCから通過許可を得ていない場合、後に説明する走行制御部12により、ブロッキング領域BRの手前で減速あるいは待機して、ブロッキング領域BRに侵入しないように制御される。なお、ブロッキング領域BRを備えるか否かは、任意である。
通信システム3は、各コントローラC及び各走行車Bの通信に用いられる。各コントローラC及び各走行車Bは、それぞれ、通信システム3に接続される。各コントローラCは、互いに通信可能である。各コントローラCは、管轄エリア内の各走行車Bと互いに通信可能である。
本実施形態の通信システム3は、フィーダ無線通信である。通信システム3は、例えば、上記の特許文献1に記載されるフィーダ無線通信を用いる通信システムである。通信システム3は、フィーダ線で構成される通信線3a備える。通信線3aは、少なくとも、すべての経路2に沿って配置される。通信線3aは、経路2を走行する走行車Bに対して近接する一定の距離に配置される。各走行車Bは、アンテナ(図示せず)を介して通信線3aと無線により接続される。また、各コントローラCは、通信線3aと有線で接続される。なお、通信システム3は、上記の例は一例であって、他の形態でもよい。例えば、通信システム3は、無線LANを用いる通信システムでもよい。
各走行車Bは、いずれも同様の構成である。図1に示すように、走行車Bは、制御装置6、位置センサ7、積荷センサ8、前方センサ9、及び駆動装置10を備える。駆動装置10は、走行車Bを走行させる駆動力を供給する。また、駆動装置10は、荷物の積み下ろし、積み込みなどの荷役に使われる駆動力を供給する。
位置センサ7は、走行車Bの現在位置を検出する。位置センサ7は、経路2に設けられた位置マーカを検出して走行車Bの現在位置を検出する。位置センサ7は、検出した走行車Bの現在位置を制御装置6に供給する。積荷センサ8は、走行車Bの荷物の有無を検出する。積荷センサ8は、検出結果を制御装置6に供給する。前方センサ9は、走行車Bの進行方向(走行方向)の前方を監視し、前方に他の走行車Bが存在するか否かを検出し、前方に他の走行車Bが存在する場合には、前方の走行車Bとの距離を検出する。前方センサ9は、検出結果を制御装置6に供給する。
制御装置6は、走行車Bの各部を制御する。制御装置6は、走行制御部12、経路設定部13、状態情報生成部14、通信部15と、記憶部16とを備える。
走行車Bは、自身が走行するエリアAを管轄エリアとするコントローラCに制御される。通信部15は、通信システム3を介して、自身が走行するエリアAを管轄エリアとするコントローラCの通信部21と通信可能に接続される。通信部15は、コントローラCの通信部15から走行指令TC、電文M(イベント情報(渋滞情報))、状態情報要求RIなどを受信する(図1参照)。
走行指令TCは、走行車Bの出発地(始点)、及び目的地(終点)を示す情報である。状態情報要求RIは、走行車Bの状態情報SD(図3(A)参照)の送信を要求する指令である。通信部15は、受信した走行指令TC、電文M、及び状態情報要求RIを、記憶部16に記憶させる。記憶部16は、不揮発性メモリなどであり、各種情報を記憶する。
走行制御部12は、駆動装置10を制御し、走行車Bを走行させる。走行制御部12は、駆動装置10を制御し、走行速度を制御する。また、走行制御部12は、次に説明する経路設定部13が構築した走行経路に沿って走行車Bが走行するように、駆動装置10を制御する。
経路設定部13は走行経路を設定する。経路設定部13は、コントローラCから受信した走行指令TC(走行車Bの出発地、目的地)、及び予め記憶部16に記憶される経路2のマップ情報に基づいて、走行経路を設定する。
また、経路設定部13は、後に説明する電文M(渋滞情報IV)に基づいて、走行経路を再設定(変更)する。経路設定部13は、電文M(渋滞情報IV)に基づいて、最も早く到着する走行経路を求め、走行経路を再設定する。
走行車Bは、自身の状態を示す状態情報SD(図3(A)参照)をコントローラCに送信する。状態情報生成部14は、状態情報SDを生成し、コントローラCからの状態情報要求RIに対する応答として、通信部15を介して状態情報SDを送信する(図1参照)。
図3(A)は状態情報を示す図である。状態情報SDは、現在位置Pa、目的地Pb、走行状態VS、荷物状態LS、前方状態FS、及びブロッキング領域BRの通過許可要求RQを含む。
現在位置Paは、位置センサ7が検出した走行車Bの現在位置を示す情報である。目的地Pbは、走行車Bの目的地を示す情報であり、記憶部16に記憶される。走行状態VSは、走行車Bの現在の速度を示す情報である。走行状態VSは、走行速度、及び走行速度レベルを含む。走行速度レベルは、走行速度のレベル(程度)を示す情報である。走行速度レベルは、走行速度が標準速度の何%であるかに応じて定められる「良」、「中」、「悪」により表される走行速度のレベルである。走行速度レベルのレベル(「良」、「中」、「悪」)を設定する閾値は、任意に設定可能である。走行速度レベルは、後に説明する渋滞情報IVの生成に用いられる。
荷物状態LSは、積荷センサ8が検出した荷物の有無を示す情報、搬送中の荷物の種類の情報(例、荷物に割り付けられる識別番号)などを含む。前方状態FSは、前方センサ9が検出した走行車Bの前方の情報であり、前方センサ9の検出範囲内における他の走行車Bの存在の有無、前方の走行車Bとの距離を含む。
通過許可要求RQは、走行車Bが通過を要求するブロッキング領域BRの識別情報(例、ブロッキング領域の識別番号)を含む。なお、上記した状態情報SDは一例であって、状態情報SDは他の形態であってもよい。例えば、状態情報SDは、他の情報を含んでもよいし、上記した情報の一部を含まなくてもよい。
状態情報生成部14は、走行車Bに搭載される各種センサ(例、位置センサ7、積荷センサ8、前方センサ9等)に検出を実行させ、その検出結果に基づいて、現在位置Pa、走行状態VS、荷物状態LS及び前方状態FSの情報を生成する。また、状態情報生成部14は、位置センサ7の検出結果及び走行領域のマップ情報に基づいて、ブロッキング領域BRに近づいたことを検出し、通過許可要求RQを生成する。
状態情報生成部14は、周期的に状態情報SDを生成し、記憶部16に記憶された状態情報SDを最新の状態情報SDへ更新する。状態情報生成部14は、記憶部16に記憶された最新の状態情報を、通信部15を介して自身を管轄するコントローラCの通信部21に送信する。
次にコントローラCを説明する。図2に示すように、コントローラCは、エリアA毎に設けられる。コントローラCは、自身が備えられるエリアAを管轄エリアとし、管轄エリア内の走行車Bを制御する。
各コントローラCは、いずれも同様の構成である。図1に示すように、コントローラCは、通信部21、記憶部22、状態情報要求部23、指令生成部24、イベント情報生成部25、電文生成部26(生成部)、及び判定部27を備える。通信部21は、通信システム3を介して、自身以外の他のコントローラCの通信部21、及び管轄エリア内の走行車Bの通信部15と通信可能に接続される。通信部21は、送信部21a及び受信部21bを含む。送信部21aは各種の送信を行う。受信部21bは各種の受信を行う。記憶部22は、不揮発性メモリなどであり、各種情報を記憶する。
コントローラCは、通信システム3により、管轄エリア内に存在するすべての走行車Bとの間で順次、ポーリングなどの周期的な通信を行う。
本実施形態では、状態情報要求部23が、送信部21aを介して、ポーリングによる周期的な通信により、管轄エリア内のすべての走行車Bに対して、順次、定期的に状態情報要求RIを送信する。そして、各走行車Bは、コントローラCの状態情報要求RIに対する応答として、状態情報SDをコントローラCに送信する。これにより、コントローラCは、管轄エリア内に存在するすべての走行車Bから状態情報SDの報告を受ける。
以下、上記のポーリングによる周期的な通信について説明する。状態情報要求部23は、例えば管轄エリア内に第1走行車B1から第n走行車Bnの走行車が存在する場合(図5参照)、第1走行車B1に対して状態情報要求RIを、送信部21aを介して送信し、第1走行車B1は状態情報要求RIに対する応答として、状態情報SDをコントローラCに送信する。状態情報要求部23は、第1走行車B1からの状態情報SDを受信部21bで受信した後、第2走行車B2に対して状態情報要求RIを送信する。コントローラCは、この処理を繰り返して、第1走行車B1から第n走行車Bnに対して、1台ずつ順番に、上記した状態情報要求RIを送信し、状態情報SDを受信する処理を行う。この処理では、コントローラCと1台の走行車Bとの通信処理(状態情報要求RIの送信と状態情報SDの受信)が行われた後、直ちに、コントローラCと次の1台の走行車Bとの通信処理が行われ、できるだけ時間をあけずにほぼ連続的に行われる。コントローラCと走行車Bとの通信処理が完了してから、コントローラCが次の1台の走行車Bとの通信処理を開始するまでの期間(時間)が長いと、コントローラCによる各走行車Bの状態情報SDの取得に時間がかかってしまうため好ましくない。コントローラCは、この処理を周期的に繰り返して行う(以下、この処理を「状態情報要求処理」と称す)。
なお、状態情報要求処理の1周期P1の時間(図5参照)は、短い方が好ましく、例えば1秒以内に設定される。この周期P1の時間が長くなると、コントローラCによる各走行車Bの状態情報SDの取得に時間がかかってしまうため、好ましくない。なお、上記の状態情報要求処理は、ポーリング通信以外の周期的な通信手段により行ってもよい。
コントローラCは、上記の状態情報要求処理により、第1走行車B1から第n走行車Bnの状態情報SDを周期的に受信する。コントローラCは、得られた状態情報SDに基づいて、走行車Bを監視し、渋滞情報IV(イベント情報)の生成等を行うことにより走行車Bを制御する。
上記のように、コントローラCが状態情報要求処理を行う場合、コントローラCは、管轄エリア内で非定期的に発生する渋滞などの非定期的イベントを効果的に検出することができる。また、コントローラCがポーリングにより状態情報要求処理を行う場合、ハードウェアを用いずにソフトウェアのみで実現でき、且つ簡単なループの処理であるので、システムを低コストで簡単な構成にすることができ、且つ制御を単純化することができる。
コントローラCは、各走行車Bから受信した状態情報SDを記憶部22に格納する。コントローラCは、各走行車Bのそれぞれの状態情報SDを格納する状態テーブルSTとして記憶部22に格納する。図3(B)は、状態テーブルSTを示す図である。
図3(B)の状態テーブルSTは、テーブルデータであり、走行車ID、現在位置、目的地、走行状態、荷物状態、前方状態、及び通過許可要求状態の項目を有する。走行車IDは、走行車Bごとに予め割り付けられた識別番号(例、01、02、・・・)である。現在位置、目的地、走行状態、荷物状態、前方状態は、それぞれ、状態情報SD(図3(A)参照)の現在位置Pa、目的地Pb、走行状態VS、荷物状態LS、前方状態FS及び通過許可要求RQに対応する情報である。状態テーブルSTでは、走行車IDが01の走行車Bは、現在位置がPa1、目的地がPb1、走行状態がVS1、荷物状態がLS1、前方状態がFS1、通過許可要求状態がRQ1というように表される。状態テーブルSTは、通信部21が受信した状態情報SDに応じて更新される。
指令生成部24は、管轄エリア内の走行車Bに対する各種指令を生成し、通信部21を介して送信する。指令生成部24は、例えば、管轄エリア内の走行車Bからブロッキング領域BRの通過許可要求RQを受け、所定の条件を満たしたときに、通過許可要求RQを行った走行車Bに対して通過許可の指令を送信する。指令生成部24は、管轄エリア内の各走行車Bの状態情報SD(状態テーブルST)に基づいて、ブロッキング領域BRに存在する走行車Bが複数にならないように、走行車Bに対して通過許可を指令する。指令生成部24による通過許可の指令は、管轄エリア内の走行車Bからブロッキング領域BRの通過許可要求RQを受信した直後に行われる。なお、指令生成部24は、通過許可の指令を、状態情報要求処理の周期P1と周期P1との間に実行してもよい。
イベント情報生成部25は、複数の走行車Bに対して一斉に配信するためのイベント情報IVを生成する。本実施形態では、イベント情報IVを渋滞情報IVとして説明するが、イベント情報IVは、渋滞情報IVでなくてもよく、任意の情報に設定可能である。例えば、イベント情報IVは、コントローラCの稼働状態(例、稼働状態が良好、可動状態が不良)を示す情報等でもよい。
図4(A)は渋滞情報IVを示す図である。イベント情報生成部25は、渋滞情報IVを生成する。渋滞情報IVは、管轄エリア内の経路2において予め定められる所定区間の渋滞の程度を示す情報である。なお、この区間は任意に設定可能である。渋滞情報IVは、経路2の区間の識別番号である区間番号RN、及び渋滞の程度を示す渋滞度JLを含む。
イベント情報生成部25は、渋滞度JLを、上記特許文献1に示す方法で生成する。以下、その概略を説明する。イベント情報生成部25は、所定区間内における、走行速度レベルが「悪」及び「中」の走行車Bの数に基づいて、所定区間内の渋滞度JLを求める。走行車Bの走行速度レベルは、上記したように、走行車Bにより算出され、状態情報SDの走行状態VSとしてコントローラCに報告される。
イベント情報生成部25は、例えば、以下の基準で渋滞度JLを求める。
・渋滞度JL=大:区間内の走行速度レベル「悪」が3以上
・渋滞度JL=中:区間内の走行速度レベル「悪」が2以下、「中」が3以下
・渋滞度JL=小:区間内の走行速度レベル「悪」が0、「中」が2以下
・渋滞度JL=無:区間内の走行速度レベル「悪」が0、「中」が0
・渋滞度JL=∞(無限大):区間が通行不可
走行車Bは、上記の渋滞情報IVに基づいて、最も早く到着する走行経路を求め、走行経路を再設定する。このように、走行車Bの走行経路が渋滞情報IVに基づいて設定される場合、走行車Bは渋滞を回避できるので、走行車Bの円滑な走行が確保され、搬送効率の低下を抑制することができる。
なお、上記の渋滞度JLの生成判断基準は、一例であり、任意に設定可能である。例えば、渋滞度JLは、走行速度レベル「悪」の走行状況の継続時間等で設定されてもよいし、試行錯誤により経験的に設定されてもよい。また、走行車Bの走行速度レベルは、走行車Bが求めなくてもよく、コントローラCが状態情報SDに基づいて求めてもよい。また、渋滞度JLは、上記のように区間毎ではなく、エリアA毎に設定されてもよい。また、渋滞情報IVは、上記以外の情報を含んでもよい。また、コントローラCは、渋滞情報IVを、上記以外の方法で生成してもよい。
コントローラCは、上記のようにイベント情報生成部25が生成した渋滞情報IVを、記憶部22に記憶させる。記憶部22は、上記のように生成された渋滞情報IVを蓄積して記憶する。また、コントローラCは、生成した渋滞情報IVを、自身以外の他のコントローラCに送信部21aを介して送信する(図5参照)。コントローラCは、他のコントローラCから送信された渋滞情報IVを受信部21bで受信する。コントローラCは、他のコントローラCから受信部21bを介して受信した渋滞情報IVを記憶部22に記憶させる。記憶部22は、他のコントローラCから受信した渋滞情報IVを蓄積して記憶する。図4(B)は、記憶部22に蓄積された渋滞情報IVを示す図である。記憶部22は、図4(B)に示すように、複数の渋滞情報IVを蓄積した蓄積情報ISとして記憶する。蓄積情報ISは、例えば、図4(B)に示すテーブルデータである。情報IDは、渋滞情報IV毎に割り付けられた識別番号(例、01、02、・・・)である。区間番号及び渋滞度は、それぞれ、図4(A)の渋滞情報IVに対応する情報である。蓄積情報ISでは、例えば、情報IDが01の渋滞情報IVは、区間番号がRN1、渋滞度がJL1というように表される。記憶部22は、自身で渋滞情報IVを生成した際、あるいは他のコントローラCから渋滞情報IVを受信した際に、上記生成あるいは受信した渋滞情報IVを、記憶部22に記憶される既存の蓄積情報ISの最後に追加することにより、渋滞情報IVを1つのデータに蓄積してまとめる。
電文生成部26(生成部)は、記憶部22に蓄積された複数の渋滞情報IVを1つの電文M(図4(C)参照)に生成する。コントローラCは、自身のイベント情報生成部25で生成した渋滞情報IV、及び他のコントローラCから受信した渋滞情報IVをその都度送信せず、複数の渋滞情報IVを含む1つの電文Mとして、管轄エリア内の走行車Bに対して一斉に配信する。
電文生成部26は、記憶部22により複数のイベント情報IVが蓄積されてまとめられた蓄積情報ISから、一部の複数のイベント情報IVを抽出して、ヘッダ等を付加して、1つの電文Mを生成する。図4(C)は、電文を示す図である。例えば、電文Mは、複数の渋滞情報IVを含んだ1つのデータであり、ヘッダH、区間番号、渋滞度の項目を有する。ヘッダHは、データの先頭に付加されて、データ自体に関する情報を含む。本実施形態のヘッダHは、渋滞情報IVであることを示す情報を含む。区間番号及び渋滞度は、それぞれ、図4(A)の渋滞情報IVの区間番号RN、渋滞度JLに対応する情報である。1つの電文Mのデータは、データの先頭に配置されるヘッダHに続いて、区間番号及びその区間の渋滞度からなる渋滞情報IVが繰り返して複数並んだ構造である。電文Mのデータは、例えば、ヘッダHに続いて、区間番号RN1とその区間の渋滞度JL1、区間番号RN2とその区間の渋滞度JL2、区間番号RNnとその区間の渋滞度JLnという構造である。このように生成される電文Mは、区間番号及びその区間の渋滞度からなる渋滞情報IVが、時系列で複数並んだ構造となる。
コントローラCは、所定の条件で、電文生成部26で電文Mを生成し、生成した電文Mを送信部21aにより、通信システム3で管轄エリア内の走行車Bに対して一斉に配信する。判定部27は、所定の条件を満たすか否かを判定し、所定の条件を満したときに、電文生成部26に電文Mを生成させ、電文生成部26が生成した電文Mを送信部21aにより管轄エリア内の走行車Bに対して一斉に配信させる。
本実施形態では、コントローラCは、判定部27の制御により、記憶部22に蓄積される蓄積情報のうち、所定時間にわたって記憶部22に蓄積された複数のイベント情報IVを、電文生成部26により1つの電文Mとして生成し、生成した電文Mを、直ちに状態情報要求処理の周期P1と周期P1との間に挿入して配信する(図5参照)。この所定時間は、上記した状態情報要求処理の周期P1の時間以上に設定され、本実施形態では、所定時間は1周期P1の時間程度に設定されるが、任意に設定可能である。例えば、上記の所定時間は、周期P1の2周期以上の時間でもよい。なお、コントローラCは、上記の所定時間内に渋滞情報IVが記憶部22に蓄積されなかった場合、電文Mの生成、及び電文Mの配信を行わない。
送信部21aは、上記の周期的な通信に挿入して、電文Mを管轄エリア内の走行車Bに対して一斉に配信する。ここで、「周期的な通信に挿入して電文Mを配信する」とは、上記の状態情報要求処理等において、1台の走行車Bの通信と、次の1台の走行車Bの通信との間に、電文Mを割り込ませて配信することである。この場合、電文Mの配信に要する時間分だけ、次の1台の走行車との通信は後送りされる。
また、上記の電文Mの配信と上記の周期的な通信とは、同一の通信システム3で行われる。この場合、上記の電文Mの配信と上記の周期的な通信とで、通信網(通信経路)、通信機器などの通信設備を別々に設ける必要がないため、システムの構成を簡単にでき、且つシステムの構築に要するコストの増加を抑制することができる。
なお、上記の判定部27の判定に用いられる(判定の基準となる)所定の条件は、時間(例、周期P1以上)に限定されず、任意に設定可能である。例えば、この所定の条件は、後に図12で説明する記憶部22に蓄積されたイベント情報IVの数でもよい。
なお、判定部27は、所定の条件を満たした場合、渋滞情報IVを電文Mによらずに直接、送信部21aを介して管轄エリア内の走行車Bに対して一斉に配信させてもよい。例えば、渋滞情報IVが配信の優先度(緊急度)を有する情報である場合、判定部27は、優先度(緊急度)が高い渋滞情報IVを、そのまま、送信部21aを介して管轄エリア内の走行車Bに対して一斉に配信させ、優先度が低い渋滞情報IVを電文Mにより配信させてもよい。
次に、上述の走行車システム1の構成及び動作に基づき、本実施形態の走行車システムの制御方法について説明する。図5は、走行車システムの制御方法を示すシーケンス図である。なお、図5では、コントローラCの管轄エリア内に第1走行車B1から第n走行車Bnの走行車が存在し、コントローラC以外の他のコントローラCとして第1の他のコントローラC1、及び第2の他のコントローラC2が存在する例を示した。
本実施形態の走行車システムの制御方法は、複数の走行車Bを制御するコントローラCと、を備える走行車システム1の制御方法である。この走行車システムの制御方法は、コントローラCにより、複数の走行車Bに対して一斉に配信するためのイベント情報IVを受信することと、受信したイベント情報IVを蓄積することと、蓄積された複数のイベント情報IVを1つの電文Mに生成することと、生成された電文Mを複数の走行車Bとの所定の通信システム3で送信することと、を含み、コントローラCにより、通信システム3を用いて、複数の走行車Bとの間で順次周期的な通信を行いつつ、電文Mを周期的な通信に挿入して複数の走行車Bに対して一斉に配信することを含む。
例えば、ステップS1において、コントローラCの状態情報要求部23は、送信部21aを介して、状態情報要求RIを第1走行車B1の通信部15に送信する。ステップS2において、第1走行車B1の状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDをコントローラCの受信部21bに送信する。
ステップS3において、例えば、第1の他のコントローラC1は、送信部21aを介して、管轄エリア内の渋滞情報IVを、コントローラCの受信部21bに送信する。この渋滞情報IVは、ブロードキャスト通信により行われ、宛先がすべての走行車Bに設定される。コントローラCの受信部21bは、第1の他のコントローラC1から送信された渋滞情報IVを受信する。ステップS4において、コントローラCでは、第1の他のコントローラC1から受信した渋滞情報IVを記憶部22が蓄積情報ISとして蓄積する(図4(B)参照)。
ステップS5において、コントローラCの状態情報要求部23は、送信部21aを介して、状態情報要求RIを第2走行車B2の通信部15に送信する。ステップS6において、第2走行車B2の状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDを、コントローラCの受信部21bに送信する。
ステップS7において、第2の他のコントローラC2は、送信部21aを介して、管轄エリア内の渋滞情報IVを、コントローラCの受信部21bに送信する。この渋滞情報IVは、ブロードキャスト通信により行われ、宛先がすべての走行車Bに設定される。コントローラCの受信部21bは、第2の他のコントローラC2から送信された渋滞情報IVを受信する。ステップS8において、コントローラCは、第2の他のコントローラC2から受信した渋滞情報IVを、記憶部22が蓄積情報ISとして蓄積する。
ステップS9において、コントローラCの状態情報要求部23は、通信部21を介して、状態情報要求RIを第n走行車Bnの通信部15に送信する。ステップS10において、第n走行車Bnの状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDを、コントローラCの通信部21に送信する。これにより、上記の状態情報要求処理の1周期P1の処理が完了する。
ステップS11において、判定部27は、渋滞情報IVが周期P1以上の時間にわたって記憶部22に蓄積される判定条件を満たすと判定し、電文生成部26に電文Mを生成させる。電文生成部26は、記憶部22が蓄積した蓄積情報ISの一部から所定の複数のイベント情報IVを抽出して1つの電文Mを生成する。ステップS12において、判定部27の制御により、送信部21bは、周期的な通信に挿入して、電文Mを管轄エリア内の走行車Bに対して一斉に配信させる。送信部21bは、判定部27の制御により、電文Mの配信を、状態情報要求処理の周期P1と周期P1との間に実行する。
このように、コントローラCが、複数の渋滞情報IVを、周期的な通信の周期P1以上の時間蓄積する場合、渋滞情報IVを少なくとも上記の周期的な通信が終了したタイミングで1つの電文Mとして送信するので、周期的な通信の周期P1が長くなることを確実に抑制できる。また、コントローラCが、電文Mを周期的な通信における周期P1と周期P1との間に挿入して配信する場合、上記の周期的な通信の周期P1内に電文Mを配信しないので、周期的な通信の周期P1が長くなることを確実に抑制できる。
ステップS12により、電文Mが配信された各走行車Bは、電文Mの渋滞情報IVに基づいて、最も早く到着する走行経路を求め、走行経路を再設定する。
ステップS12の終了の後、上記ステップS1からステップS12が、常時、繰り返し行われる。
ここで、従来の走行車システムの制御方法について説明する。図6は、従来の走行車システムの制御方法を示すシーケンス図である。
従来の走行車システムの制御方法では、本実施形態の走行車システム1と同様のステップS1、ステップS2、ステップS5、ステップS6、ステップS9、及びステップS10により、状態情報要求処理(周期的な通信)の1周期の処理が行われる。しかしながら、従来の走行車システムの制御方法では、ステップS3あるいはステップS7のように、第1の他のコントローラC1あるいは第2の他のコントローラC2からコントローラCに対して、渋滞情報IVが送信された場合、コントローラCは、ステップS13のように、その都度、渋滞情報IVを管轄エリア内の走行車Bに対して一斉に配信する。この場合、コントローラCは、受信した渋滞情報IVを、その都度、状態情報要求処理の周期中に割り込ませて配信し、次の走行車Bとの通信は電文Mの配信に要する時間分後送りされるので、状態情報要求処理の周期P2の時間は、渋滞情報IVの数が多ければ多いほど長くなってしまう。
一方、本実施形態の走行車システムの制御方法では、渋滞情報IVが、複数の渋滞情報IVを含む電文Mとして、複数の走行車Bに対して一斉に配信するので、従来のような状態情報要求処理の周期中の割り込み配信が抑制され、周期的な通信(状態情報要求処理)の周期P1が長くなることを抑制できる。
ところで、走行車Bは、上記したように渋滞情報IVに基づいて、渋滞している区間を避けるように走行経路を決定する。このため、渋滞情報IVは、コントローラCにより、できるだけ早く走行車Bに配信されるのが好ましい。本実施形態では、渋滞情報IVを記憶部22に蓄積するため、渋滞情報IVをその都度走行車Bに配信する場合と比較すると、走行車Bへの渋滞情報IVの配信が遅くなるが、渋滞情報IVにより上記の周期的な通信の周期P1が長くなることを必要十分に短く抑えつつ、渋滞情報IVができるだけ早く走行車Bに配信されるように、上記した電文Mの作成条件が定められている。
なお、コントローラCは、例えばコンピュータシステムを含む。コントローラCは、記憶部22に記憶されている制御プログラムを読み出し、この制御プログラムに従って各種の処理を実行する。この制御プログラムは、上記した走行車システムの制御方法を、コンピュータに実行させることを含む。この制御プログラムは、コンピュータ読み取り可能な記憶媒体に記録されて提供されてもよい。
以上説明したように、本実施形態の走行車システム1は、コントローラCが渋滞情報などの複数のイベント情報IVを1つの電文Mとして送信するので、特別な装置や複雑な制御を必要とせず、簡単な構成及び制御により、コントローラCと走行車Bとの間の周期的な通信の周期P1が長くなることを抑制できる。これにより、コントローラCは、各走行車Bの走行状態を早期に取得することができ、各走行車Bに対して適切かつタイミングよく各種情報を供給することで、走行車Bの円滑な走行を確保して搬送効率の低下を抑制することができる。
また、本実施形態の走行車システム1は、走行車Bの走行領域が、上記したブロッキング領域BRを含み、上記の周期的な通信において、走行車BからコントローラCに対するブロッキング領域BRの通過許可要求RQを含む通信が行われる。この場合、コントローラCと走行車Bとの間の周期的な通信の周期P1が長くなると、走行車Bがブロッキング領域BRの通過許可を得られず、ブロッキング領域BRの手前で走行車Bが加減速を繰り返す不具合が発生するおそれがあるが、本実施形態の走行車システム1は周期的な通信の周期P1が長くなることが抑制されるので、このような不具合の発生を防止できる。
[第2実施形態]
本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図7は、第2実施形態に係る走行車システムを示す図である。本実施形態の走行車システム1Aは、経路2、通信システム3、複数の走行車B、及び走行車Bを制御する複数のコントローラCAを備える。経路2、通信システム3、及び複数の走行車Bは、第1実施形態と同様である。
コントローラCAは、いずれも同様の構成である。コントローラCAは、通信部21(送信部21a、受信部21b)、記憶部22、状態情報要求部23、指令生成部24、イベント情報生成部25、電文生成部26(生成部)、判定部27、及び第1設定部30を備える。通信部21、記憶部22、状態情報要求部23、指令生成部24、イベント情報生成部25、電文生成部26、及び判定部27は、第1実施形態と同様である。コントローラCAは、第1設定部30を備える点が、第1実施形態のコントローラCと異なっている。
本実施形態のコントローラCAは、第1設定部30が渋滞情報IVの配信に関する設定範囲Rを定め、設定範囲Rの他のコントローラCX(図8参照)から受信した渋滞情報IVを管轄エリアの走行車Bに配信し、設定範囲R外の他のコントローラCY(図8参照)から受信した渋滞情報IVを管轄エリアの走行車Bに配信しない。
図8は、第1設定部が定める設定範囲Rを示す図である。第1設定部30が定める設定範囲Rは、自身が設置されるエリアA1に隣接するエリアAX1を管轄するコントローラCX、エリアAX1に隣接するエリアAX2を管轄するコントローラCXに設定される。
ところで、走行車Bにとって、自身が走行するエリアAから遠く離れたエリアAの渋滞情報IVは、そのエリアAを走行車Bが走行しないため、重要度の低い不要な情報となる場合がある。本実施形態のコントローラCAは、上記のように設定範囲Rを定め、設定範囲R外の他のコントローラCYから受信した渋滞情報IVを管轄エリアの走行車Bに配信しないので、不要な渋滞情報IVの配信が抑制される。
なお、第1設定部30が定める設定範囲Rは、上記の例に限定されず、任意である。例えば、上記の設定範囲Rは、エリアAX2に隣接するエリアAのように隣接エリアを拡大しそのエリアを管轄するコントローラCAとしてもよいし、コントローラCAから所定の距離以内に配置されるコントローラCAとしてもよい。
次に、上述の走行車システム1Aの構成及び動作に基づき、走行車システム1Aの制御方法について説明する。図9は、第2実施形態の走行車システムの制御方法を示すシーケンス図である。
本実施形態の走行車システムの制御方法は、第1実施形態の走行車システムの制御方法と、渋滞情報IVの配信に関する設定範囲Rを定めることと、設定範囲Rの他のコントローラCYから受信した渋滞情報IVを管轄エリアの走行車Bに配信し、設定範囲R外の他のコントローラCYから受信したイベント情報IVを管轄エリアの走行車Bに配信しないことと、を含む。
例えば、ステップS1において、コントローラCAの状態情報要求部23は、送信部21aを介して、状態情報要求RIを第1走行車B1の通信部15に送信する。ステップS2において、第1走行車B1の状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDをコントローラCAの受信部21bに送信する。
ステップS21において、第1設定部30の設定範囲R内の他のコントローラCXは、送信部21aを介して、管轄エリア内の渋滞情報IVを、コントローラCAの受信部21bに送信する。この渋滞情報IVは、ブロードキャスト通信により行われ、宛先がすべての走行車Bに設定される。
ステップS22において、判定部27は、設定範囲R内の他のコントローラCXから渋滞情報IVが配信されたか否かを判定する。判定部27は、所定の条件を満たすと判定した場合(ステップS22のYES)、ステップS4において、コントローラCAでは、設定範囲R内のコントローラCXから受信した渋滞情報IVを記憶部22が蓄積情報ISとして蓄積する(図4(B)参照)。
ステップS5において、コントローラCの状態情報要求部23は、送信部21aを介して、状態情報要求RIを第2走行車B2の通信部15に送信する。ステップS6において、第2走行車B2の状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDをコントローラCAの受信部21bに送信する。
ステップS23において、第1設定部30の設定範囲R外の他のコントローラCYは、送信部21aを介して、管轄エリア内の渋滞情報IVを、コントローラCAの受信部21bに送信する。この渋滞情報IVは、ブロードキャスト通信により行われ、宛先がすべての走行車Bに設定される。
ステップS24において、判定部27は、設定範囲R内の他のコントローラCXから渋滞情報IVが配信されたか否かを判定する。この場合、判定部27は、所定の条件を満たさないと判定し(ステップS24のNO)、ステップS8の渋滞情報IVの蓄積をスキップし、設定範囲R外の他のコントローラCYから受信した渋滞情報IVを、記憶部22で蓄積せず、管轄エリアの走行車Bに配信しないようにする。
ステップS9において、コントローラCAの状態情報要求部23は、送信部21aを介して、状態情報要求RIを第n走行車Bnの通信部15に送信する。ステップS10において、第n走行車Bnの状態情報生成部14は、状態情報要求RIに対する応答として、通信部15を介して状態情報SDをコントローラCAの受信部21bに送信する。これにより、上記の状態情報要求処理の1周期の処理が完了する。
ステップS11において、渋滞情報IVが周期P3以上の時間蓄積されたので、判定部27は、所定の条件を満たすと判定し、電文生成部26は、抽出して1つの電文Mを生成する。ステップS12において、判定部27の制御により、送信部21bは、周期的な通信に挿入して、蓄積した電文Mを管轄エリア内の第1走行車B1から第n走行車Bnに対して一斉に配信する。判定部27は、送信部21bに対して、電文Mの配信を、状態情報要求処理の周期P3と周期P3との間に実行させる。
ステップS12の終了の後、上記ステップS1からステップS12が、常時、繰り返し行われる。
以上のように、本実施形態の走行車システム1Aは、設定範囲R外の他のコントローラCYからの不要なイベント情報IVを管轄エリア内の各走行車Bに配信しないので、上記の周期的な通信の周期P3が長くなることを抑制でき、さらに、各走行車Bに供給する情報量が減少するので、各走行車Bの負担を軽減できる。
[第3実施形態]
本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図10は、第3実施形態に係る走行車システムを示す図である。本実施形態の走行車システム1Bは、経路2、通信システム3、複数の走行車B、及び走行車Bを制御する複数のコントローラCBを備える。経路2、通信システム3、及び複数の走行車Bは、第1実施形態と同様である。
コントローラCBは、いずれも同様の構成である。コントローラCBは、通信部21、記憶部22、状態情報要求部23、指令生成部24、イベント情報生成部25、電文生成部26(生成部)、判定部27、及び第2設定部31を備える。通信部21、記憶部22、状態情報要求部23、指令生成部24、イベント情報生成部25、電文生成部26、及び判定部27は、第1実施形態と同様である。コントローラCBは、第2設定部31を備える点が、第1実施形態のコントローラCと異なっている。
本実施形態のコントローラCBは、第2設定部31が渋滞情報IVの配信に関する設定範囲Rを定め、設定範囲Rの他のコントローラCX(図8参照)に管轄エリア内における渋滞情報IVを送信し、設定範囲R外の他のコントローラCY(図8参照)に管轄エリア内における渋滞情報IVを送信しない。この場合、設定範囲R外の他のコントローラCYは、不要な渋滞情報IVを受信しないので、設定範囲R外の他のコントローラCYの負担を軽減できる。
次に、上述の走行車システム1Bの構成及び動作に基づき、走行車システム1Bの制御方法について説明する。図11は、第3実施形態の走行車システムの制御方法を示すシーケンス図である。
本実施形態の走行車システム1Bの制御方法は、第1実施形態の走行車システムの制御方法と、渋滞情報IVの配信に関する設定範囲Rを定めることと、設定範囲Rの他のコントローラCXに管轄エリア内における渋滞情報IVを送信し、設定範囲R外の他のコントローラCYに管轄エリア内における渋滞情報IVを送信しないことと、を含む。
例えば、ステップS31において、コントローラCBのイベント情報生成部25は、渋滞情報IVを生成する。ステップS32において、コントローラCBは、送信部21aを介して、管轄エリア内の渋滞情報IVを、第2設定部31の設定範囲R内のコントローラCXの受信部21bに送信する。この際、設定範囲R外のコントローラCYには送信しない。
ステップS33において、コントローラCXでは、受信部21bにより受信したコントローラCBからの渋滞情報IVを、記憶部22が蓄積情報ISとして蓄積する。
ステップS34において、設定範囲R内のコントローラCXでは、判定部27が所定の条件を満たしたと判定したときに、判定部27の制御により、電文生成部26が電文Mを生成する。
ステップS35において、設定範囲R内のコントローラCXでは、判定部27が所定の条件を満たしたと判定したときに、判定部27の制御により、送信部21aは、蓄積した電文Mを管轄エリア内の第1走行車B1から第n走行車Bnに対して一斉に配信する。
なお、設定範囲R外のコントローラCYは、コントローラCBからの渋滞情報IVを受信しないので、コントローラCBからの不要な渋滞情報IVを含まない電文Mを、管轄エリア内の第1走行車B1から第n走行車Bnに対して一斉に配信する。
以上のように、本実施形態の走行車システム1Bは、設定範囲R外の他のコントローラCYは、不要な渋滞情報IVを受信しないので、設定範囲R外の他のコントローラCYの負担を軽減できる。
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
上述の例では、コントローラCが、渋滞情報IVを周期P1以上の時間蓄積してまとめた電文Mを、状態情報要求処理の周期P1と周期P1との間に挿入して走行車Bに一斉に配信する例を示したが、これに限定されず、コントローラCが上記の電文Mを走行車Bに一斉に配信する条件は、任意に設定可能である。例えば、コントローラCが上記の電文Mを走行車Bに一斉に配信する条件は、状態情報要求処理の周期P1内の所定のタイミングでもよい。例えば、コントローラCは、第2走行車B2からの状態情報SDを通信部21で受信した後、第3走行車B3に対して状態情報要求RIを送信するまでの間などのタイミングで、電文Mを走行車Bに一斉に配信してもよい。
図12は、他の例に係るコントローラCCによる走行車システムの制御方法を示すシーケンス図である。例えば、図12に示すように、走行車システムの制御方法は、所定数のイベント情報IVが記憶部22に蓄積された時点で、電文生成部26により電文Mを生成し、送信部21aにより電文Mを走行車Bに一斉に配信すること、を含んでもよい。なお、走行車システムの制御方法は、上記した第1から第3実施形態に係る走行車システムの制御方法に含まれてもよい。
このコントローラCCの判定部27は、所定数のイベント情報IVが記憶部22に蓄積された時点で、電文生成部26に電文Mを生成させ、送信部21aに電文Mを走行車Bに一斉に配信させる。例えば、ステップS41において、他のコントローラCは、送信部21aを介して、管轄エリア内の渋滞情報IVを、コントローラCCの受信部21bに送信する。ステップS42において、コントローラCCでは、受信部21bにより受信した他のコントローラCからの渋滞情報IVを、記憶部22が蓄積情報ISとして蓄積する。ステップS43において、コントローラCCの判定部27は、記憶部22が蓄積したイベント情報IVが所定数を超えたか否かを判定する。コントローラCCの判定部27は、電文Mを前回送信したときからの記憶部22が蓄積したイベント情報IVが所定数を超えたか否かを判定する。判定部27が、記憶部22が蓄積したイベント情報IVが所定数を超えないと判定した場合(ステップS43のNO)、コントローラCCは、電文生成部26による電文Mの生成、及び送信部21aによる電文Mの送信を行わない。判定部27が、記憶部22が蓄積したイベント情報IVが所定数を超えたと判定した場合(ステップS43のYES)、ステップS44において、判定部27は、所定の条件を満たすと判定し、判定部27の制御により、電文生成部26が電文Mを生成する。続いて、ステップS45において、送信部21aは、電文Mを管轄エリア内の走行車Bに対して一斉に配信する。
このように、コントローラCCが、所定数のイベント情報IVが記憶部22に蓄積された時点で、電文生成部26により電文Mを生成する場合、上記の周期的な通信の間に多数の情報が割り込むのを抑制するので、周期的な通信の周期P1が長くなることを確実に抑制できる。さらに、コントローラCCからの送信データ量が制限されるので、走行車Bのデータ処理の負荷を抑制できる。
なお、第1から第3実施形態のコントローラC、CA、CBは、上記の所定数のイベント情報IVが記憶部22に蓄積された時点で、電文生成部26により電文Mを生成し、送信部21aにより電文Mを走行車Bに一斉に配信することを含んでもよい。