(57)【要約】【課題】合流地点における通過流量の低下をできるだけ防ぎ、システム全体の走行効率を向上し得る。【解決手段】実施形態によれば、自動走行車システムは、走行車同士の衝突回避のための制限区間において、走行車の通過可否を制御するコントローラを備える。コントローラは、待機位置設定部を備える。待機位置設定部は、制限区間が通過不可の場合、制限区間手前の待機区間に存在する走行車に対し待機位置を設定する。【選択図】図５
2020077432.tif 000002
【特許請求の範囲】
【請求項１】
走行車の通過を制限する制限区間の手前の待機区間に存在する１以上の走行車に対し、前記走行車の待機順列と前記走行車の進入方向とに対する待機順に基づいて、前記走行車の待機順列及び前記待機順に対応する待機位置を設定する待機位置設定部を具備するコントローラ。
【請求項２】
前記待機位置設定部は、前記待機区間に存在する走行車とこの走行車の前方車との走行情報に基づいて、前記待機位置を設定する請求項１記載のコントローラ。
【請求項３】
前記制限区間における少なくとも合流地点の付近の走行車の渋滞情報から得られる前記制限区間内の前記走行車の有無に基づき、通過可否判定をする判定部をさらに備える請求項１または２記載のコントローラ。
【請求項４】
前記制限区間が通過可の場合、走行再開する前記制限区間への進入方向を決定し、前記進入方向の前記待機区間において待機中の前記走行車に対し、走行再開させる走行再開設定部をさらに備える請求項１乃至３のいずれか１項に記載のコントローラ。
【請求項５】
前記待機位置設定部は、
前記待機区間に存在する制限台数以下の前記走行車に対し、各々停止状態から走行開始し最後尾が前記制限区間を通過完了するまでの時間を最小にするべく、各々前記待機位置を算出し前記走行車に向けて情報送信する請求項１乃至４のいずれか１項に記載のコントローラ。
【請求項６】
前記走行再開設定部は、
過去に通過可であった前記進入方向と、各進入方向における前記走行車の渋滞状況に基づき、次に走行再開する前記進入方向を決定する請求項４に記載のコントローラ。
【請求項７】
進入方向における前記走行車の渋滞状況に基づき、制限台数を更新する制限台数更新部をさらに具備する請求項１乃至６のいずれか１項に記載のコントローラ。
【請求項８】
前記走行車の各々が、目的地・経路・前記制限区間における退出方向の情報を有し、前記制限区間において待機中の前記走行車の目的地・経路・退出方向の入替えが可能な場合、前記制限区間を通過完了するまでの時間を最小にするべく、目的地・経路・退出方向を再割付けする走行ジョブ再割付部をさらに具備する請求項１乃至７のいずれか１項に記載のコントローラ。
【請求項９】
少なくとも現在位置と前方車との走行情報に基づいて、自動で自車の走行を制御する走行車と、
合流地点を含み、走行車同士の衝突回避のための走行車の通過を制限する制限区間が設けられた走行路と、
前記制限区間において、走行車の通過可否を制御するコントローラとを具備する自動走行車システムであって、
前記コントローラは、
前記制限区間の手前の待機区間に存在する１以上の走行車に対し、前記走行車の待機順列と前記走行車の進入方向とに対する待機順に基づいて、前記走行車の待機順列及び前記待機順に対応する待機位置を設定する待機位置設定部と、
を具備する自動走行車システム。
【請求項１０】
走行車の通過可否を制御するコントローラが、前記走行車の通過を制限する制限区間の手前の待機区間に存在する１以上の走行車に対し、前記走行車の待機順列と前記走行車の進入方向とに対する待機順に基づいて、前記走行車の待機順列及び前記待機順に対応する待機位置を設定する制御方法。
【請求項１１】
走行車の通過可否を制御するコントローラにより実行されるプログラムであって、前記コントローラを
前記走行車の通過を制限する制限区間の手前の待機区間に存在する１以上の走行車に対し、前記走行車の待機順列と前記走行車の進入方向とに対する待機順に基づいて、前記走行車の待機順列及び前記待機順に対応する待機位置を設定する待機位置設定部と、
して動作させるプログラム。
【請求項１２】
前記待機位置設定部は、前記走行車の走行状態と、前記走行車の進入方向と、前記走行車の現在位置と、前記走行車の進入方向に対する制限区間での制限台数とから前記走行車の待機順列を計算する請求項１乃至８のいずれか１項に記載のコントローラ。
【請求項１３】
前記待機位置設定部は、前記待機順列と前記進入方向とに対する待機台数及び待機順を取得し、前記待機順列、前記待機台数及び前記待機順に対応する待機位置を設定する請求項１２記載のコントローラ。
【請求項１４】
前記待機位置設定部は、前記走行車の運動方程式に基づいて前記待機位置を設定する請求項１乃至８、１２または１３のいずれか１項に記載のコントローラ。
【請求項１５】
前記待機位置設定部は、前記走行車ごとに前記待機位置を設定する請求項１乃至８、１２乃至１４のいずれか１項に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律分散型自動走行車システムにおける、走行車の待機方法に係り、特に、合流地点など複数進入方向があり一度に進入できる台数に制限があるエリアにおいて、エリア手前での待機位置を指示することによって、単位時間当りの通過台数を最大にするコントローラ、自動走行車システム、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、ドライバーのアクセル操作を必要とすることなく車両の速度を一定に保つことを可能としたシステムや、前方車両との距離を常時計測し、自動的に適正な車間距離を保って走行させるシステムなどが開発されている。さらに、ドライバーのハンドル操作によらず、道路に沿ったキープレフト走行を可能とするシステムが開発されている。
【０００３】
工場や倉庫などにおいては、無人化した車両を目的地まで走行させる自律分散型制御における自動走行車システムを導入することも検討されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１８１５４２号公報
【特許文献２】特開２００９−２１５０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自律分散型制御における自動走行車システムでは、合流地点において他車との衝突を避けるため、当該エリアへ一度に進入できる方向と車両数を制限していて、その制限により合流地点での通過流量が低下し、その影響でシステム全体の走行効率が下がってしまう。
【０００６】
本発明の目的は、合流地点における通過流量の低下をできるだけ防ぎ、システム全体の走行効率を向上し得るコントローラ、自動走行車システム、制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、コントローラは、走行車同士の衝突回避のための制限区間において、走行車の通過可否を制御するコントローラであって、待機位置設定部を備える。待機位置設定部は、制限区間が通過不可の場合、制限区間手前の待機区間に存在する走行車に対し待機位置を設定する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る自動走行車システムの模式図。
【図２】本第１の実施形態に係る自動走行車システムの具体的構成を示すブロック図。
【図３】本第１の実施形態における走行車の状態遷移図。
【図４】本第１の実施形態における制限区間・待機区間の一例を示す図。
【図５】本第１の実施形態における制限区間コントローラのブロック図。
【図６】本第１の実施形態における制限区間コントローラの制御処理手順を示すフローチャート。
【図７】本第１の実施形態における交通情報更新のフローチャート。
【図８】本第１の実施形態の走行車テーブルの一例を示す図。
【図９】本第１の実施形態の台数テーブルの一例を示す図。
【図１０】本第１の実施形態の通過可否判定のフローチャート。
【図１１】本第１の実施形態の通過可否テーブルの一例を示す図。
【図１２】本第１の実施形態の走行再開設定のフローチャート。
【図１３】本第１の実施形態の待機位置設定のフローチャート。
【図１４】本第１の実施形態の制限台数テーブルの一例を示す図。
【図１５】本第１の実施形態の待機順列テーブルの一例を示す図。
【図１６】本第１の実施形態の待機位置テーブルの一例を示す図。
【図１７】本第２の実施形態の制限区間コントローラのブロック図。
【図１８】本第２の実施形態の交通情報更新のフローチャート。
【図１９】本第２の実施形態の渋滞度テーブルの一例を示す図。
【図２０】本第２の実施形態の走行再開設定のフローチャート。
【図２１】本第２の実施形態の渋滞度重みテーブルの一例を示す図。
【図２２】本第３の実施形態の制限区間コントローラの具体的構成を示すブロック図。
【図２３】本第３の実施形態の制限台数更新のフローチャート。
【図２４】本第４の実施形態における制限区間コントローラの具体的構成を示すブロック図。
【図２５】本第４の実施形態の走行ジョブ再割付のフローチャート。
【図２６】本第４の実施形態の再割付待機順列テーブルの一例を示す図。
【図２７】本第４の実施形態の再割付走行車ＩＤテーブルの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、実施の形態について、図面を参照して説明する。
（第１の実施形態）  
以下、自動走行車システムの第１の実施形態について説明する。
【００１０】
図１は、第１の実施形態に係る自動走行車システムの構成を表す模式図である。
この自動走行車システムは、システム全体をリアルタイムに制御するホストシステム１と、ホストシステム１からの走行車の情報を元に各合流地点での走行を制御する制限区間コントローラ２（＃１），２（＃２），２（＃３）と、合流地点で制限区間コントローラ２（＃１），２（＃２），２（＃３）から指示を受けつつ自動で走行する走行車３（＃１），３（＃２），３（＃３）と、走行車３（＃１），３（＃２），３（＃３）が走行するための軌道等を備えた走行路４（＃１），４（＃２），４（＃３）とにより構成されている。ホストシステム１と制限区間コントローラ２（＃１），２（＃２），２（＃３）の間や、ホストシステム１の更に上位に、制御範囲の異なるサブシステムやサブコントローラが存在しても良い。
【００１１】
図２は、コンピュータを利用した第１の実施形態の構成を表すブロック図である。
ホストシステム１は、ＣＰＵ１０、記録メディア１１、ＲＡＭ１２、ユーザインタフェース１３、通信インタフェース１４等を備えている。
【００１２】
ＣＰＵ１０は、バスを介して上述したようなハードウェア各部と接続されており、それらを制御すると共に、記録メディア１１に格納されたコンピュータプログラムを順次実行する。
【００１３】
記録メディア１１は、ＨＤＤ（Hard Disk Drive）やＳＳＤ等で構成されており、自動走行車システムの制御に必要なコンピュータプログラムが格納されている。
【００１４】
ＲＡＭ１２は、ＳＲＡＭ，ＤＲＡＭ，フラッシュメモリ等で構成されており、ＣＰＵ１０の実行時には、必要に応じて記録メディア１１に格納されているコンピュータプログラム等を読み出し、一時的に記憶する。
【００１５】
ユーザインタフェース１３は、ディスプレイ，キーボード，マウス等で構成されており、ユーザからの入力の受付けや、ユーザへの情報出力を可能にしている。
【００１６】
通信インタフェース１４は、自動走行車システムのある敷地内に構築されたＬＡＮ（Ｕ）に接続するためのインタフェースであり、ＬＡＮ（Ｕ）を通じて制限区間コントローラ２や他のシステムと通信する。
【００１７】
制限区間コントローラ２は、ＣＰＵ２０、記録メディア２１、ＲＡＭ２２、通信インタフェース２３、ユーザインタフェース２４、無線通信インタフェース２５等を備えている。
【００１８】
ＣＰＵ２０は、バスを介して上述したようなハードウェア各部と接続されており、それらを制御すると共に、記録メディア２１に格納されたコンピュータプログラムを順次実行する。
【００１９】
記録メディア２１は、ＨＤＤやＳＳＤ等で構成されており、合流地点における走行車の制御に必要なコンピュータプログラムが格納されている。
【００２０】
ＲＡＭ２２は、ＳＲＡＭ，ＤＲＡＭ，フラッシュメモリ等で構成されており、ＣＰＵ２０の実行時には、必要に応じて記録メディア２１に格納されているコンピュータプログラム等を読み出し、一時的に記憶する。
【００２１】
通信インタフェース２３は、ＬＡＮ（Ｕ）を通じてホストシステム１と通信するためのものである。
【００２２】
ユーザインタフェース２４は、ディスプレイ，キーボード，マウス等で構成されており、ユーザからの入力の受付けや、ユーザへの情報出力を可能にしている。
【００２３】
無線通信インタフェース２５は、無線（Ｖ）を介して走行車と通信し、走行車の位置情報や状態を送受信する。
【００２４】
走行車３には、制限区間コントローラ２と無線を介して情報をやりとりするための送受信部を備えたコントローラ３０が搭載されている。コントローラ３０は、ホストシステム１から割付られる走行ジョブや目的地、経路など走行に必要な情報を持つとともに、走行車３の現在位置と、合流地点にて制限区間コントローラ２からの制御を受けるために必要な状態を保持している。走行ジョブや目的地、経路については後述する。
【００２５】
まず、走行車３の現在位置は、走行車３に搭載された速度センサーの値を積分したり、走行路４の所定の位置に取り付けられた位置情報を送信するための送信部４０からの無線（Ｗ）を受信したりして、現在位置を更新する。次に、図３を用いて走行車３の状態について説明する。
【００２６】
走行車３の取り得る状態は、以下の３つのいずれかである。  
合流地点以外すなわち制限区間コントローラ２の管理範囲以外を走行している場合は「通常走行中Ｃ１」、制限区間手前の待機区間で停車中または停車予定で走行している場合は「待機中Ｃ２」、制限区間内を通過している場合は「制限走行中Ｃ３」、である。制限区間と待機区間については後述する。
【００２７】
通常走行中Ｃ１の走行車３は、待機区間に進入し制限区間コントローラ２から待機指示を受信すると、待機中Ｃ２に切り替わり、待機位置にて停止できるよう走行車３のサーボ系に指示を出す。通常走行中Ｃ１や待機中Ｃ２の走行車３が、制限区間に進入し制限区間コントローラ２からの信号を受信すると、制限走行中Ｃ３に切り替わり、制限区間から退出する際に通常走行中Ｃ１に切り替わる。
【００２８】
各状態における走行方法の特徴としては、通常走行中Ｃ１や制限走行中Ｃ３の走行車３が、ホストシステム１から割付られた目的地に向かって経路に沿って走行するのに対し、待機中Ｃ２の走行車３は、制限区間コントローラ２からの待機指示が割り込む形で、待機位置にて停車するよう走行する。また全ての状態において、現在位置と前方車との車間距離等の相対情報に応じて加減速を行う。
【００２９】
自動走行車システム全体における説明は以上とし、以降は、本第１の実施形態の中心となる制御を行う制限区間コントローラ２に関して、実施例を説明する。
【００３０】
図４は、進入方向Ａまたは進入方向Ｂから走行車３が入り、退出方向Ｃまたは退出方向Ｄから抜けるタイプの合流地点の模式図であり、以降は、この図の例に基づいて制限区間コントローラ２に関して説明する。図４は自動走行車システムに含まれる合流地点の一例にすぎず、本実施形態は図４のタイプに限定するものではない。
【００３１】
図４の合流地点の交差点部分には、走行車３同士の衝突を避けるための制限区間４１が設けられていて、制限区間４１において、同時に進入方向Ａと進入方向Ｂから走行車３が入ってくることはないよう制限される。また、制限区間４１の手前には、進入方向Ａ側には待機区間Ａ４２ａ、進入方向Ｂ側には待機区間Ｂ４２ｂが設けられていて、必要があれば制限区間４１に入る手前で停止するための区間になっている。
【００３２】
上記の区間で走行車３を分ける。  
制限区間４１に存在するものを走行車３１、待機区間Ａ４２ａに存在するものを走行車３２ａ、待機区間Ａ４２ｂに存在するものを走行車３２ｂ、それ以外を走行車３３とする。このうち、走行車３１、走行車３２ａ（＃１），３２ａ（＃２），３２ａ（＃３）、走行車３２ｂ（＃１），３２ｂ（＃２），３２ｂ（＃３）は制限区間コントローラ２の制御対象であり、無線（Ｖ）を介して情報をやりとりする。
【００３３】
走行車の状態については以下の通りとなる。  
走行車３３の状態は通常走行中Ｃ１である。走行車３１の状態は制限走行中Ｃ３である。走行車３２ａまたは走行車３２ｂの状態は通常走行中Ｃ１、待機中Ｃ２、制限走行中Ｃ３のいずれも取り得る。これは制限区間コントローラ２からの待機指示、再送指示の有無によって異なり、詳細は後述する。また、厳密には、各区間に走行車３が進入または退出してから制限区間コントローラ２と前記走行車３が通信をして状態が更新されるまでの間は、各区間における状態は未更新となり、上述の通りにはならない。
【００３４】
図５は制限区間コントローラ２の記録メディア２１に格納された、コンピュータプログラムとデータベースの構成を表すブロック図である。
【００３５】
記録メディア２１のデータベースには、走行車テーブルＤ００、台数テーブルＤ０１、通過可否テーブルＤ０２、制限台数テーブルＤ０３、待機順列テーブルＤ０４、待機位置テーブルＤ０５が設けられる。また、記録メディア２１のプログラムには、交通情報更新部Ｐ０、通過可否判定部Ｐ１、走行再開設定部Ｐ２、待機位置設定部Ｐ３が設けられる。
【００３６】
交通情報更新部Ｐ０は、走行車テーブルＤ００及び台数テーブルＤ０１を参照して、合流地点付近の走行車の渋滞情報を更新するプログラムである。通過可否判定部Ｐ１は、台数テーブルＤ０１及び通過可否テーブルＤ０２を参照して、制限区間内の走行車の有無に基づき通過可否判定をするプログラムである。
【００３７】
走行再開設定部Ｐ２は、上記通過可否判定部Ｐ１により制限区間が通過可と判定された場合、走行再開する制限区間への進入方向を決定し、進入方向の待機区間において待機中の走行車に対し、走行再開させるプログラムである。待機位置設定部Ｐ３は、上記通過可否判定部Ｐ１により制限区間が通過不可と判定された場合、制限区間手前の待機区間に存在する制限台数以下の走行車に対し、各々の待機位置を設定するプログラムである。
【００３８】
図５のブロックの動作を、図６のフローチャートに基づいて説明する。  
（合流地点の交通情報更新ステップＳ０）  
交通情報更新部Ｐ０は、制限区間コントローラ２の所定の更新タイミングにおいて、制限区間４１に存在する走行車３１、待機区間Ａ４２ａに存在する走行車３２ａ（＃１），３２ａ（＃２），３２ａ（＃３）、待機区間Ａ４２ｂに存在する走行車３２ｂ（＃１），３２ｂ（＃２），３２ｂ（＃３）、から無線（Ｖ）を介して位置情報と状態を受信し、位置に応じた走行車３の状態を計算し、走行車テーブルＤ００、台数テーブルＤ０１、渋滞度テーブルＤ０４を更新する。また、無線（Ｖ）を介して更新された状態を走行車３１、走行車３２ａ（＃１），３２ａ（＃２），３２ａ（＃３）、３２ｂ（＃１），３２ｂ（＃２），３２ｂ（＃３）、に送信する。なお、制限区間４１、待機区間Ａ４２ａ，４２ｂ以外の区間には、走行車３３が存在するものとする。
【００３９】
（制限区間の通過可否判定ステップＳ１）  
通過可否判定部Ｐ１は、台数テーブルＤ０１から制限区間４１の占有状況を取得し、通過可否テーブルＤ０２を更新する。
【００４０】
（走行再開設定ステップＳ２）  
走行再開設定部Ｐ２は、通過可否テーブルＤ０２が通過可能の場合（ステップＳ４）、かつ待機区間Ａ４２ａまたは待機区間Ａ４２ｂに待機中Ｃ２の走行車３が存在する場合（ステップＳ５）、以下の処理を行う。
【００４１】
走行再開設定部Ｐ２は、前回通過可だった進入方向から次に走行再開する進入方向を決定し、通過可否テーブルＤ０２を更新する。次に、上記の走行再開する進入方向の待機区間における走行車３について、状態を更新し、走行車テーブルＤ００と台数テーブルＤ０１を更新する。また、無線（Ｖ）を介して更新された状態を走行車３２ａ（＃１），３２ａ（＃２），３２ａ（＃３）、または３２ｂ（＃１），３２ｂ（＃２），３２ｂ（＃３）、に送信する。
【００４２】
（待機位置設定ステップＳ３）  
待機位置設定部Ｐ３は、進入方向Ａ、進入方向Ｂそれぞれについて（ステップＳ６〜Ｓ９の反復処理）、待機区間Ａ４２ａまたは待機区間Ａ４２ｂに通常走行中Ｃ１の走行車３が存在する場合（ステップＳ７）、かつ待機中Ｃ２の走行車３の台数が制限台数テーブルＤ０３の制限台数より少ない場合（ステップＳ８）、以下の処理を行う。
【００４３】
待機位置設定部Ｐ３は、待機中Ｃ２の走行車３と、通常走行中Ｃ１であるが待機中Ｃ２にすべき走行車３に対し、待機指示対象とし、待機順列テーブルＤ０４と待機位置テーブルＤ０５から上記走行車３の待機位置を取得する。上記待機指示対象となった走行車３について、状態を待機中Ｃ２に、走行車テーブルＤ００、台数テーブルＤ０１を更新する。また、無線（Ｖ）を介して更新された状態を走行車３２ａ（＃１），３２ａ（＃２），３２ａ（＃３）、または３２ｂ（＃１），３２ｂ（＃２），３２ｂ（＃３）、に送信する。
【００４４】
以下、ブロックＰ０〜Ｐ３の動作にあたるステップＳ０〜Ｓ３について、各々フローチャートとテーブルの例を用いて詳細に説明する。尚、各テーブルの構成やデータ例はあくまで本実施形態を説明するための例であり、本発明に限定されるものではない。また、各テーブルの構成にデータ登録時間や登録ユーザー名を追加し履歴データとして管理することも、実用的には必要になることがあるが、本実施形態では説明を省略し、必要な場合のみ言及する。
【００４５】
図７は合流地点の交通情報更新ステップＳ０の処理を示すフローチャートである。
交通情報更新部Ｐ０は、制限区間４１、待機区間Ａ４２ａ、待機区間Ａ４２ｂに存在する走行車３について、取得した情報に基づき、走行車テーブルＤ００を更新する（Ｓ００）。図８は、走行車テーブルＤ００の一例を示す。走行車テーブルＤ００は、走行車ＩＤ、状態、進入方向、退出方向、走行ジョブＩＤ、目的地ＩＤ、経路ＩＤ、現在位置、の情報から構成される。ここで、走行車テーブルＤ００の各情報について補足する。
【００４６】
走行車ＩＤは、走行車３を識別するためにホストシステム１から割り振られた数字もしくは文字列であり、無線（Ｖ）を介して走行車３から取得される。状態は、上述した通り、通常走行中Ｃ１，待機中Ｃ２，制限走行中Ｃ３のいずれかであり、無線（Ｖ）を介して走行車３から取得される。進入方向は、Ａ，Ｂのいずれかであり、後述の経路ＩＤから特定する。退出方向は、Ｃ，Ｄのいずれかであり、進入方向と同様、後述の経路ＩＤから特定する。走行ジョブＩＤは、走行車３の現在の走行目的に応じてホストシステム１から割り振られた数字もしくは文字列であり、ホストシステム１において該当する走行車ＩＤと紐づけられた走行ジョブＩＤがＬＡＮ（Ｕ）を介して取得される。
【００４７】
ここで走行車３の走行目的とは、例えば工場の自動搬送車の場合、（Ａ）保管棚から処理前の半製品を引き取りに走行中，（Ｂ）処理前の半製品を積んで処理予定の装置まで運搬中，（Ｃ）処理後の半製品を引き取りに走行中，（Ｄ）処理後の半製品を積んで保管棚まで運搬中，（Ｅ）目的なしに巡回中、などが挙げられ、走行ジョブＩＤは上記の目的が特定できるようひとつの走行に対しユニークに割り振られるとする。経路ＩＤは、走行ジョブＩＤにおける走行路４が特定できる情報を含む、ホストシステム１から割り振られた数字もしくは文字列であり、ホストシステム１において該当する走行ジョブＩＤと紐づけられた経路ＩＤがＬＡＮ（Ｕ）を介して取得される。
【００４８】
従って、経路ＩＤの示す経路情報に基づき、上記の進入方向と退出方向を特定することができる。現在位置は、制限区間４１の進入地点からの距離を表し（待機区間Ａ４２ａまたは待機区間Ａ４２ｂにおいて負の値を取り、待機区間Ａ４２ａまたは待機区間Ａ４２ｂと制限区間４１との境界で0となり、制限区間４１において正の値を取る）、無線（Ｖ）を介して走行車３から取得される。
【００４９】
次に、交通情報更新部Ｐ０は、走行車テーブルＤ００に基づき、台数テーブルＤ０１を更新する（ステップＳ０１）。図９は、台数テーブルＤ０１の一例を示す。台数テーブルＤ０１は、区間、状態、台数、の情報から構成される。ここで、区間は制限区間４１、待機区間Ａ４２ａ、待機区間Ａ４２ｂを表し、走行車テーブルＤ００のレコードを区間と状態で集計した数を台数に格納する。
【００５０】
最後に、交通情報更新部Ｐ０は、走行車テーブルＤ００に基づき、無線（Ｖ）を介して走行車３に状態を送信する（ステップＳ０２）。すなわち、制限区間４１から退出したことが検出された走行車３や、待機区間Ａ４２ａまたは待機区間Ａ４２ｂに進入したことが検出された走行車３に対し、通常走行中Ｃ１を送信し、走行車３の状態が更新される。
【００５１】
図１０は、通過可否判定部Ｐ１における制限区間の通過可否判定Ｓ１の処理を示すフローチャートである。  
通過可否判定部Ｐ１は、台数テーブルＤ０１に基づき、制限区間４１の占有判定を行う（ステップＳ１０）。本実施形態における占有判定の最も簡単な例は、台数テーブルＤ０１の区間＝制限区間である台数＝0であれば非占有、台数＝正の値であれば占有、とする方法である。もう少し複雑な例として、走行車テーブルＤ００に基づき、状態＝制限走行中Ｃ３の走行車３が１台以下、かつ上記走行車３の現在位置＝制限区間４１の長さ−5,000mm以上（退出方向＝Ｃの場合）または現在位置＝制限区間４１の長さ−10,000mm以上（退出方向＝Ｄの場合）の場合に非占有、など挙げられる。ここで挙げた判定方法は、あくまで本実施例を説明するための一例にすぎず、本発明を限定するものではない。
【００５２】
次に、通過可否判定部Ｐ１は、上記ステップＳ１０の判定結果に基づき、通過可否テーブルＤ０２を更新する（ステップＳ１１）。図１１は、通過可否テーブルＤ０２の一例を示す。通過可否テーブルＤ０２は、進入方向、通過可否、の情報から構成される。ここで、進入方向は、直前の通過可だった際に実際に通過したＡまたはＢの進入方向を表し、詳しくは後述する。通過可否は、通過可であれば○、通過不可であれば×、のフラグを表し、上記ステップＳ１０の判定結果が非占有の場合は○、占有の場合は×と更新される。
【００５３】
図１２は、上記走行再開設定部Ｐ２における走行再開設定ステップＳ２の処理を示すフローチャートである。  
走行再開設定部Ｐ２は、通過可否テーブルＤ０２に基づき、走行再開方向を選択する（ステップＳ２０）。選択方法は、通過可否テーブルＤ０２の進入方向に格納されている前回の進入方向とは別の方向を選ぶ。こうすることにより、進入方向Ａ，Ｂについて交互に走行車３を通過させることができる。
【００５４】
次に、走行再開設定部Ｐ２は、上記ステップＳ２０で選択した進入方向をもって、通過可否テーブルＤ０２を更新する（ステップＳ２１）。すなわち、通過可否テーブルＤ０２のレコードに対し、進入方向をＳ２０で選択した進入方向に変更し、通過可否を×（通過不可）に更新する。
【００５５】
次に、走行再開設定部Ｐ２は、上記ステップＳ２０で選択した進入方向の待機中Ｃ２の走行車３について、走行車テーブルＤ００を更新する（ステップＳ２２）。すなわち、走行車テーブルＤ００のレコードのうち、状態＝待機中Ｃ２、かつ進入方向＝ステップＳ２０で選択した進入方向、のレコードを検索・抽出し、その状態を制限走行中Ｃ３に更新する。
【００５６】
次に、走行再開設定部Ｐ２は、走行車テーブルＤ００に基づき、台数テーブルＤ０１を更新する（ステップＳ２３）。Ｓ２２の処理によって、状態が待機中Ｃ２から制限走行中Ｃ３に変更されたことに伴い、再度集計する。
【００５７】
最後に、走行再開設定部Ｐ２は、走行車テーブルＤ００に基づき、無線（Ｖ）を介して走行車３に状態を送信する（ステップＳ２４）。すなわち、上記ステップＳ２２にて走行車テーブルＤ００の状態が待機中Ｃ２から制限走行中Ｃ３に変更された走行車３について、該当する走行車ＩＤに合致する走行車３を検知し、制限走行中Ｃ３の状態を送信し、走行車３の状態を更新する。
【００５８】
図１３は、上記待機位置設定部Ｐ３における待機位置設定Ｓ３の処理を示すフローチャートである。  
待機位置設定部Ｐ３は、走行車テーブルＤ００と制限台数テーブルＤ０３に基づき、待機中Ｃ２である走行車３の順列状態（待機順列）を更新する（ステップＳ３０）。図１４は、制限台数テーブルＤ０３の一例を示す。制限台数テーブルＤ０３は、進入方向、制限台数、の情報から構成される。制限台数テーブルＤ０３は、進入方向＝Ａ，Ｂに対応して２レコードを持つテーブルである。制限台数には、制限区間４１に一度に連続して進入できる走行車３の台数が格納される。以下、進入方向Ａの待機順列について例を挙げて説明する。いま、走行車テーブルＤ００において進入方向＝Ａ、かつ状態＝通常走行中Ｃ１または待機中Ｃ２のレコードが以下の４つあるとする。  
（ａ１）走行車ＩＤ＝#0001，状態＝待機中Ｃ２，退出方向＝Ｄ，現在位置＝0mm  
（ａ２）走行車ＩＤ＝#0002，状態＝待機中Ｃ２，退出方向＝Ｃ，現在位置＝-1000mm    （ａ３）走行車ＩＤ＝#0003，状態＝通常走行中Ｃ１，退出方向＝Ｃ，現在位置＝-2000mm  
（ａ４）走行車ＩＤ＝#0004，状態＝通常走行中Ｃ１，退出方向＝Ｄ，現在位置＝-3000mm
【００５９】
また、制限台数テーブルＤ０３の進入方向＝Ａの制限台数＝3とする。待機位置設定部Ｐ３は、制限台数以下の走行車３について、現在位置の降順に待機中Ｃ２を設定する。上の例では、走行車ＩＤ＝#0001，#0002，#0003の３台が待機中Ｃ２となり、走行車ＩＤ＝#0003に関しては現在の状態（通常走行中Ｃ１）と異なる。待機順列とは、進入方向と待機中Ｃ２の台数に対し、先頭からの順序に従って退出方向を並べた順列を表す。上の例では、進入方向＝Ａ，待機台数＝3の待機順列：（Ｄ，Ｃ，Ｃ）となる。また、進入方向Ｂについても同様である。
【００６０】
次に、待機位置設定部Ｐ３は、上記ステップＳ３０の処理によって更新された走行車３の状態を、走行車テーブルＤ００に反映する（ステップＳ３１）。上述の例では、走行車ＩＤ＝#0003の状態を通常走行中Ｃ１から待機中Ｃ２に更新する。
【００６１】
次に、待機位置設定部Ｐ３は、走行車テーブルＤ００に基づき、台数テーブルＤ０１を更新する（ステップＳ３２）。上記ステップＳ３１の処理によって、状態が通常走行中Ｃ１から待機中Ｃ２に変更されたことに伴い、再度集計する。
【００６２】
次に、待機位置設定部Ｐ３は、上記ステップＳ３０で計算した待機順列と、待機順列テーブルＤ０４、待機位置テーブルＤ０５に基づき、待機位置を計算する（ステップＳ３３）。図１５は、待機順列テーブルＤ０４の一例を示す。待機順列テーブルＤ０４は、進入方向、待機台数、待機順列ＩＤ、待機順、退出方向、の情報から構成される。進入方向、待機台数は、待機順列を定義するための進入方向と待機台数（上の例の場合、進入方向＝Ａ，待機台数＝3）を表し、待機順列ＩＤは、上記の進入方向と待機台数における待機順列を区別するための、制限区間コントローラ２から割り振られた数字もしくは文字列を表す。待機順、退出方向は、上記の待機順列ＩＤにおける、先頭からの順序と退出方向を表す。
【００６３】
また、図１６は、待機位置テーブルＤ０５の一例を示す。待機位置テーブルＤ０５は、待機順列ＩＤ、待機順、待機位置、通過時間、の情報から構成される。待機順列ＩＤ、待機順により走行車３が特定され、待機位置は、走行車３の現在位置と同様、制限区間４１の進入地点を0とする座標系における停車する位置を表す。
【００６４】
通過時間は、該当の待機位置から再走開始して制限区間４１を退出するまでの経過時間の計算値であり、本実施形態においては参考情報である（後述の第４実施形態を参照）。上記ステップＳ３３の処理では、上記ステップＳ３０で計算した待機順列と合致する待機順列ＩＤを待機順列テーブルＤ０４から検索・取得し、その待機順列ＩＤと合致するレコードを待機位置テーブルＤ０５から検索・抽出し（待機台数の数のレコードが存在）、抽出されたレコードの待機順に対する待機位置を取得する。
【００６５】
ここで、本実施形態による効果を得るために必須である、走行車３の待機位置の計算方法について説明する。待機位置テーブルＤ０５に格納された待機位置と通過時間は、以下の方法によって計算されている。
【００６６】
一例として、進入方向Ａから進入した待機順n（n=1,2,…,N；Nは待機台数）の走行車３の時間t（t>=0）における運動方程式が、以下の式で与えられる場合を考える。
【数１】
2020077432.tif 000003
ただし、Xn(t)は待機順nの走行車３の時間tにおける現在位置、τ1とτ2はそれぞれ走行車３の前方車との距離を測定するまでの計測系の時遅れと加減速を切り替えるまでの駆動系の時遅れ、knは待機順nの走行車３の退出方向（kn=CまたはD）、Vkn(z)は退出方向knまでの走行路４上で定義される引数の車間距離zに応じた目標制御速度、Ymn(t)は待機順nの走行車３の時間tにおける前方車mとの車間距離、A(z)は目標制御速度と実際の速度との差分ｚに応じた制御加速度、を表す。
【００６７】
ここで、車間距離Ymn(t)における前方車mは、kn=kn-1の場合はm=n-1であり、Ymn(t)=Xn-1(t)-Xn(t)-l（l；車両の長さ）で与えられるが、kn≠kn-1の場合は制限区間４１の途中で走行方向が分かれるため、mも常にn-1とは限らず、例えばYmn(t)はm=n-2との車間距離で与えられることもある。またここで、n=1の場合の（式１）におけるVkn(z)は、最大の車間距離に応じた目標制御速度を与えるとする。（式１）の運動方程式は、本実施形態を説明するための一例にすぎず、本発明を限定するものではない。
【００６８】
（式１）の運動方程式が、停車中の走行車３が走行再開して制限区間４１を通過するまでを記述するものと見なす場合、その時間t（t<=0）における初期条件は以下の式で与えられる。
【数２】
2020077432.tif 000004
【００６９】
ただし、Hnは待機順nの走行車３の待機位置を表し、以下の不等式を満たす。
【数３】
2020077432.tif 000005
【００７０】
ただし、Lは待機区間Ａ４２ａの進入地点を示す位置座標である。（式２）を初期条件に持つ（式１）の連立運動方程式は、前方車との相対距離に応じて決まる特性から、待機順nの昇順に解けば解が順次得られる。一般には解析的に厳密解を得ることは困難であるので、通常、（式１）の時間tを離散化し数値計算で解くことによって、（式１）の近似解を求める。そのようにして求めた解を、（式４）とする。
【数４】
2020077432.tif 000006
【００７１】
（式４）は解Xn(t)が時間tと待機位置Hnの関数として求められることを表している。（式４）を用いて、最後尾（待機順N）の走行車３が制限区間４１から退出する時間Tは、（式５）のように表される。
【数５】
2020077432.tif 000007
ただし、Mは待機順Nの走行車３の退出方向（kN）における制限区間４１の退出地点を示す位置座標である。  
【００７２】
待機順nの走行車３の待機位置Hnは、（式３）の制約条件を満たし、（式５）の時間Tを最小にする、最適化問題の解として数値的に求められる。この最適解を求める手法には、シンプレックス法、焼きなまし法、遺伝的アルゴリズム、等が用いられる。これらの手法によって計算された待機位置Hnと時間Tを、該当する待機順列ＩＤと待機順nと紐づけて、待機位置テーブルＤ０５に格納しておく。
【００７３】
最後に、待機位置設定部Ｐ３は、走行車テーブルＤ００と待機位置テーブルＤ０５に基づき、無線（Ｖ）を介して走行車３に情報を送信する（ステップＳ３４）。すなわち、上記ステップＳ３１にて走行車テーブルＤ００の状態が待機中Ｃ２である走行車３に対して、待機中Ｃ２の状態と、該当する待機順列ＩＤ・待機順に紐づく待機位置を送信する。
【００７４】
以上のように上記第１の実施形態によれば、制限区間４１において走行再開した複数の走行車３が、制限区間４１を通過する時間を最短にし、制限区間４１での単位時間当たりの通過台数を最大にすることによって、その結果、制限区間４１での渋滞を回避・解消できる。
【００７５】
（第２の実施形態）  
以下、自動走行車システムの第２の実施形態について説明する。
【００７６】
第２の実施形態は、上述の第１の実施形態に加え、合流地点にて待機中の走行車を走行再開する際に、渋滞度を考慮して走行再開する進入方向を決定することによって、より効率的な走行を可能にする実施形態である。第１実施形態と第２の実施形態は、一部異なる部分を除きほぼ同じであるので、以下では、第１の実施形態と異なる部分のみ説明する。
【００７７】
図１７は、第２の実施形態における制限区間コントローラ２のコンピュータプログラムとデータベースの構成を表すブロック図である。第１の実施形態と異なることは、データベースに渋滞度テーブルＤ０６と渋滞度重みテーブルＤ０７が追加され、交通情報更新部Ｐ０と走行再開設定部Ｐ２の処理が一部変更になったことである（図１７の強調表示した部分）。
【００７８】
図１８は、交通情報更新部Ｐ０の処理を示すフローチャートである。  
第１の実施形態と異なる点は、ステップＳ０１とステップＳ０２の間に、渋滞度テーブルＤ０６の更新（ステップＳ０３）が追加されたことである（図１８の強調表示した部分）。交通情報更新部Ｐ０は、走行車テーブルＤ００に基づき、渋滞度テーブルＤ０６を更新する（ステップＳ０３）。
【００７９】
図１９は、渋滞度テーブルＤ０６の一例を示す。渋滞度テーブルＤ０６は、進入方向、行列長、最大待ち時間、平均流量、の情報から構成される。ここで、渋滞度テーブルＤ０６の各情報について補足する。渋滞度テーブルＤ０６は、進入方向がＡ，Ｂの２レコードを持つテーブルである。行列長は、待機区間Ａ４２ａまたは待機区間Ａ４２ｂにおける通常走行中Ｃ１または待機中Ｃ２の走行車３の台数を表し、走行車テーブルＤ００に基づいて集計される。最大待ち時間は、待機中Ｃ２の走行車３のうち待機中Ｃ２になってからの経過時間が最も長い値が、走行車テーブルＤ００の履歴データに基づき検索、取得される。平均流量は、待機区間Ａ４２ａまたは待機区間Ａ４２ｂから退出して制限区間４１に進入した走行車３の台数を、走行車テーブルＤ００の所定時間内の履歴データに基づき検索し、単位時間当りの台数に変換された値が取得される。
【００８０】
図２０は、走行再開設定部Ｐ２の処理を示すフローチャートである。  
第１の実施形態と異なる点は、ステップＳ２０の処理内容が変更され、ステップ２０の前に、方向別渋滞度の計算（ステップＳ２５）が追加されたことである（図２０の強調表示した部分）。
【００８１】
走行再開設定部Ｐ２は、渋滞度テーブルＤ０６と渋滞度重みテーブルＤ０７に基づき、進入方向Ａ，Ｂ毎の方向別渋滞度を計算する（ステップＳ２５）。図２１は、渋滞度重みテーブルＤ０７の一例を示す。渋滞度重みテーブルＤ０７は、行列長重み、最大待ち時間重み、平均流量重み、閾値、の情報から構成される。渋滞度重みテーブルＤ０７は１レコードのみのテーブルである。行列長重み、最大待ち時間重み、平均流量重み、には、後述する方向別渋滞度を計算するための正の係数が格納される。また、閾値は、優先して通過させるべき渋滞度を持つ進入方向かどうかを判定するための正の値である。
【００８２】
以下、進入方向Ａを例にとり、方向別渋滞度の計算方法について説明する。渋滞度テーブルＤ０６の進入方向＝Ａのレコードの、行列長をＱＡ、最大待ち時間をＷＡ、平均流量をＦＡとし、渋滞度重みテーブルＤ０７のレコードの、行列長重みをＣＱ、最大待ち時間重みをＣＷ、平均流量重みをＣＦとすると、進入方向Ａの方向別渋滞度ＪＡは以下の式で計算される。
【数６】
2020077432.tif 000008
【００８３】
進入方向Ｂについても同様である。尚、本実施形態では、方向別渋滞度を行列長、最大待ち時間、平均流量から計算しているが、本発明は上記３つに限定したものではなく、各進入方向における走行車３の混み具合を表す指標であれば何でも良い。その場合、方向別渋滞度を計算するために必要な情報を渋滞度テーブルＤ０６に格納し、その係数を渋滞度重みテーブルＤ０７に格納するとして、本実施形態の説明を読みかえれば良い。
【００８４】
次に、走行再開設定部Ｐ２は、上記ステップＳ２５で計算した方向別渋滞度と通過可否テーブルＤ０２、渋滞度重みテーブルＤ０７に基づき、走行再開方向を選択する（ステップＳ２０）。選択方法は、進入方向Ａ，Ｂの方向別渋滞度に閾値以上の差がある場合は方向別渋滞度の大きい進入方向、差がない場合は通過可否テーブルＤ０２の進入方向とは別の進入方向を選ぶ方法である。ここで、進入方向Ａの方向別渋滞度の方がＢに比べ閾値以上の差がある場合というのは、例えば以下の式が成立することを示す。
【数７】
2020077432.tif 000009
【００８５】
ただし、ＴＨは渋滞度重みテーブルＤ０７の閾値を表す。進入方向Ｂの方がＡに比べ大きい場合の判定式も同様である。
【００８６】
以上のように上記第２の実施形態によれば、走行再開設定部Ｐ２において、更新される渋滞情報だけでなく、渋滞度テーブルＤ０６及び渋滞度重みテーブルＤ０７に記憶される過去に通過可であった進入方向及び各進入方向における走行車の渋滞状況を考慮して次に走行再開する進入方向を決定するようにしているので、合流地点での渋滞を効率良く回避・解消できる。
【００８７】
（第３の実施形態）  
以下、自動走行車システムの第３の実施形態について説明する。  
第３の実施形態は、上述の第２の実施形態に加え、制限区間を一度に通過させる制限台数を、渋滞度を考慮して動的に変更することによって、より効率的な走行を可能にする実施形態である。第２の実施形態と第３の実施形態は、一部異なる部分を除きほぼ同じであるので、以下では、第２の実施形態と異なる部分のみ説明する。
【００８８】
図２２は、第３の実施形態における制限区間コントローラ２のコンピュータプログラムとデータベースの構成を表すブロック図である。第２の実施形態と異なる点は、コンピュータプログラムに制限台数更新部Ｐ４が追加された点である（図２２の強調表示した部分）。
【００８９】
図２３は、制限台数更新部Ｐ４の処理を示すフローチャートである。  
制限台数更新部Ｐ４は、渋滞度テーブルＤ０６と渋滞度重みテーブルＤ０７に基づき、進入方向別の制限台数を計算する（ステップＳ４０）。進入方向Ａ，Ｂに対する方向別渋滞度ＪＡ，ＪBは、（式６）で与えられる。進入方向Ａ，Ｂに対する制限台数NA，NBは、例えば基準の制限台数をNとして、以下の式で計算される。
【数８】
2020077432.tif 000010
【００９０】
ただし、round[・]は引数を四捨五入した値を表す。ここで、（式８）は本実施形態を説明するための一例で、制限台数が方向別渋滞度に応じて変更される計算式であれば何でも良く、本発明を限定するものではない。
【００９１】
次に、制限台数更新部Ｐ４は、（式８）で計算した値で制限台数テーブルＤ０３を更新する（ステップＳ４１）。
【００９２】
次に、制限台数更新部Ｐ４は、更新された制限台数に基づき、走行車テーブルＤ００を更新する（ステップＳ４２）。すなわち、制限台数の更新に伴い、走行車３の状態も更新する。
【００９３】
以下、例を挙げて説明する。  
更新前の走行車テーブルＤ００に以下の４レコードが格納されていたとする。  
（ｂ１）走行車ＩＤ＝#0001，状態＝待機中Ｃ２，進入方向＝Ａ，退出方向＝Ｄ，現在位置＝0mm  
（ｂ２）走行車ＩＤ＝#0002，状態＝通常走行中Ｃ１，進入方向＝Ａ，退出方向＝Ｃ，現在位置＝-1000mm  
（ｂ３）走行車ＩＤ＝#0003，状態＝待機中Ｃ２，進入方向＝Ｂ，退出方向＝Ｃ，現在位置＝0mm  
（ｂ４）走行車ＩＤ＝#0004，状態＝待機中Ｃ２，進入方向＝Ｂ，退出方向＝Ｄ，現在位置＝-1000mm
【００９４】
ただし、更新前の制限台数は、NA=1，NB=2とする。いま、ステップ４１によって、制限台数がNA=2，NB=1に更新されたとする。ステップＳ４２では、更新後の制限台数に合わせて、現在位置の降順に待機中Ｃ２→通常走行中Ｃ１となるよう、走行車テーブルＤ００のレコードの状態が更新される。すなわち上記の４レコードは、以下のように更新される。  （ｃ１）走行車ＩＤ＝#0001，状態＝待機中Ｃ２，…  
（ｃ２）走行車ＩＤ＝#0002，状態＝待機中Ｃ２，…  
（ｃ３）走行車ＩＤ＝#0003，状態＝待機中Ｃ２，…  
（ｃ４）走行車ＩＤ＝#0004，状態＝通常走行中Ｃ１，…
【００９５】
最後に、制限台数更新部Ｐ４は、走行車テーブルＤ００に基づき、台数テーブルＤ０１を更新する（ステップＳ４３）。すなわち、ステップＳ４２の処理によって、状態が変更されたことに伴い、再度集計する。
【００９６】
以上のように上記第３の実施形態によれば、制限台数更新部Ｐ４を設けることで、制限区間４１を一度に通過させる制限台数を、渋滞度テーブルＤ０６及び渋滞度重みテーブルＤ０７から得られる渋滞度を考慮して動的に変更することによって、合流地点における走行車３のより効率的な走行が可能となる。
【００９７】
（第４の実施形態）  
以下、自動走行車システムの第４の実施形態について説明する。
第４の実施形態は、上述の第２の実施形態に加え、待機中の走行車の役割を一部入れ替えて、通過時間が最小となる並びに変更することによって、より効率的な走行を可能にする実施形態である。第２の実施形態と第４の実施形態は、一部異なる部分を除きほぼ同じであるので、以下では、第２実施形態と異なる部分のみ説明する。
【００９８】
図２４は、第４の実施形態における制限区間コントローラ２のコンピュータプログラムとデータベースの構成を表すブロック図である。第２実施例と異なる点は、データベースに再割付待機順列テーブルＤ０８と再割付走行車ＩＤテーブルＤ０９が追加され、コンピュータプログラムに走行ジョブ再割付部Ｐ５が追加されたことである（図２４の強調表示した部分）。
【００９９】
図２５は、走行ジョブ再割付部Ｐ５の処理を示すフローチャートである。  
走行ジョブ再割付部Ｐ５は、待機中Ｃ２の走行車３の中から、再割付対象車を選択する（ステップＳ５０）。すなわち、走行車テーブルＤ００に格納された、状態＝待機中Ｃ２の走行車３のレコードのうち、走行ジョブＩＤが入れ替え可能（同時に、目的地ＩＤ，経路ＩＤ，退出方向も入れ替え）なレコードを抽出する。
【０１００】
ここでは、「走行ジョブＩＤが入れ替え可能」である説明として、工場の自動搬送車の例を挙げる。走行ジョブＩＤが紐づく走行車３の走行目的として、工場の自動搬送車の場合、（Ａ）保管棚から処理前の半製品を引き取りに走行中，（Ｂ）処理前の半製品を積んで処理予定の装置まで運搬中，（Ｃ）処理後の半製品を引き取りに走行中，（Ｄ）処理後の半製品を積んで保管棚まで運搬中，（Ｅ）目的なしに巡回中、などが挙げられる。（Ａ）〜（Ｅ）のうち、（Ｂ）と（Ｄ）以外はロットを積んでない状態で走行しており、走行途中でお互いに走行ジョブが入れ替わっても問題ないと考えられる。この例のように、ステップＳ５０では、走行ジョブＩＤが紐づく走行目的が入れ替え可能かどうか判断し、入れ替え可能なレコードを再割付対象として抽出する。
【０１０１】
以下、例を挙げて説明する。走行車テーブルＤ００に格納された、状態＝待機中Ｃ２のレコードが以下の４つとする。  
（ｄ１）走行車ＩＤ＝#0001，走行ジョブＩＤ＝C001，進入方向＝Ａ，退出方向＝Ｄ，目的地ＩＤ＝#01，経路ＩＤ＝R0101，現在位置＝0mm  
（ｄ２）走行車ＩＤ＝#0002，走行ジョブＩＤ＝C002，進入方向＝Ａ，退出方向＝Ｃ，目的地ＩＤ＝#02，経路ＩＤ＝R0202，現在位置＝-1000mm  
（ｄ３）走行車ＩＤ＝#0003，走行ジョブＩＤ＝C013，進入方向＝Ｂ，退出方向＝Ｃ，目的地ＩＤ＝#03，経路ＩＤ＝R0303，現在位置＝0mm  
（ｄ４）走行車ＩＤ＝#0004，走行ジョブＩＤ＝C004，進入方向＝Ｂ，退出方向＝Ｄ，目的地ＩＤ＝#04，経路ＩＤ＝R0404，現在位置＝-1500mm
上記の走行ジョブＩＤのうち、C001，C002，C004は互いに入れ替え可能、C013は入れ替え不可とする。この例では、走行車ＩＤ＝#0001，#0002，#0004の走行車３が再割付対象車として選択される。
【０１０２】
次に、走行ジョブ再割付部Ｐ５は、再割付対象車の集合から待機順列を生成し、再割付待機順列テーブルＤ０８を更新する（ステップＳ５１）。図２６は、再割付待機順列テーブルＤ０８の一例を示す。再割付待機順列テーブルＤ０８は、待機順列ＩＤ１、待機順列ＩＤ２、通過時間、の情報から構成される。ここで、待機順列ＩＤ１は進入方向Ａにおける待機順列、待機順列ＩＤ２は進入方向Ｂにおける待機順列、であり、それぞれステップＳ５０にて選択された再割付対象車を入れ替えることによって得られる待機順列の全ての組合せを表す。
【０１０３】
上記の例で説明すると、入れ替え前の待機順列１（進入方向Ａ）と待機順列２（進入方向Ｂ）は、以下となる。  
（ｅ１）待機順列１：（Ｄ，Ｃ）、待機順列２：（Ｃ，Ｄ）
これに加え、走行ジョブＩＤ＝C001，C002，C004のレコードを入れ替えると、以下の２つの待機順列の組合せが得られる。  
（ｅ２）待機順列１：（Ｃ，Ｄ）、待機順列２：（Ｃ，Ｄ）  
（ｅ３）待機順列１：（Ｄ，Ｄ）、待機順列２：（Ｃ，Ｃ）
【０１０４】
以上３つの待機順列の組合せについて、該当の待機順列ＩＤと紐づく通過時間が待機位置テーブルＤ０５に格納されており、待機順列１と待機順列２の通過時間を足した値を、該当の待機順列ＩＤの組合せと共に再割付待機順列テーブルＤ０８の通過時間に格納する。
【０１０５】
次に、走行ジョブ再割付部Ｐ５は、通過時間の最も短い待機順列ＩＤの組合せを再割付待機順列テーブルＤ０８に基づき検索・取得し、取得した組合せに従って再割付走行車ＩＤテーブルＤ０９を更新する（ステップＳ５２）。
【０１０６】
図２７は、再割付走行車ＩＤテーブルＤ０９の一例を示す。再割付走行車ＩＤテーブルＤ０９は、再割付前走行車ＩＤ、再割付後走行車ＩＤ、の情報から構成される。まず、走行ジョブ再割付部Ｐ５は、再割付待機順列テーブルＤ０８から、通過時間が最も短いレコードを選択する。上記の例で説明すると、例えば３つの組合せのうち、以下の通過時間が最も短いとする。  
待機順列１：（Ｄ，Ｄ）、待機順列２：（Ｃ，Ｃ）
【０１０７】
この組合せと入れ替え前の組合せを比較すると、走行車ＩＤ＝#0002と#0004を入れ替えれば良いことが分かる。この例では、再割付前走行車ＩＤ＝#0002と再割付後走行車ＩＤ＝#0004、再割付前走行車ＩＤ＝#0004と再割付後走行車ＩＤ＝#0002、の２レコードを再割付走行車ＩＤテーブルＤ０９に格納する。
【０１０８】
次に、走行ジョブ再割付部Ｐ５は、再割付走行車ＩＤテーブルＤ０９に基づき、走行車テーブルＤ００を更新する（ステップＳ５３）。走行車テーブルＤ００において、走行車ＩＤ＝再割付前走行車ＩＤに合致するレコードの走行ジョブＩＤ、退出方向、目的地ＩＤ、経路ＩＤ、の情報を、走行車ＩＤ＝再割付後走行車ＩＤに合致するレコードの該当する値で更新する。上記の例では、走行車ＩＤ＝#0002と#0004の２レコードが、以下のように変更される。  
（ｆ１）走行車ＩＤ＝#0002，走行ジョブＩＤ＝C004，進入方向＝Ａ，退出方向＝Ｄ，目的地ＩＤ＝#04，経路ＩＤ＝R0404，現在位置＝-1000mm  
（ｆ２）走行車ＩＤ＝#0004，走行ジョブＩＤ＝C002，進入方向＝Ｂ，退出方向＝Ｃ，目的地ＩＤ＝#02，経路ＩＤ＝R0202，現在位置＝-1500mm
【０１０９】
最後に、走行ジョブ再割付部Ｐ５は、再割付した情報を、ＬＡＮ（Ｕ）を介してホストシステム１に送信する（ステップＳ５４）。すなわち、上記ステップＳ５３にて再割付した走行車ＩＤに紐づく、走行ジョブＩＤ、目的地ＩＤ、経路ＩＤ、の情報をホストシステム１に送信し、ホストシステム１の記録メディア１１に格納された情報を更新する。
【０１１０】
以上のように上記第４の実施形態によれば、走行ジョブ再割付部Ｐ５にて再割付待機順列テーブルＤ０８及び再割付走行車ＩＤテーブルＤ０９を参照して、待機中の走行車の役割を一部入れ替えて、通過時間が最小となる並びに変更することによって、合流地点におけるより効率的な走行が可能となる。
【０１１１】
（その他の実施形態）  
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願原出願の特許査定時の特許請求の範囲に記載された発明を付記する。    ［１］  少なくとも現在位置と前方車との車間距離の走行情報に基づいて、自動で自車の走行を制御する走行車と、
合流地点を含み、走行車同士の衝突回避のための制限区間が設けられた走行路と、
前記制限区間において、少なくとも前記合流地点の付近の前記走行車の渋滞状況を監視し、前記走行車の通過可否を制御する制限区間コントローラとを具備する自動走行車システムであって、
前記制限区間コントローラは、
前記合流地点の付近の前記走行車の渋滞情報から得られる前記制限区間内の前記走行車の有無に基づき、通過可否判定をする判定部と、
前記制限区間が通過不可の場合、前記制限区間の手前の待機区間に存在する制限台数以下の前記走行車に対し、各々の待機位置を設定する待機位置設定部と、
前記制限区間が通過可の場合、走行再開する前記制限区間への進入方向を決定し、前記進入方向の前記待機区間において待機中の前記走行車に対し、走行再開させる走行再開設定部と、
を具備する自動走行車システム。
［２］  前記待機位置設定部は、
前記待機区間に存在する前記制限台数以下の前記走行車に対し、各々停止状態から走行開始し最後尾が前記制限区間を通過完了するまでの時間を最小にするべく、各々前記待機位置を算出し前記走行車に向けて情報送信する請求項１に記載の自動走行車システム。  ［３］  前記走行再開設定部は、
過去に通過可であった前記進入方向と、各前記進入方向における前記走行車の渋滞状況に基づき、次に走行再開する前記進入方向を決定する請求項１または２に記載の自動走行車システム。
［４］  前記制限区間コントローラは、
前記進入方向における前記走行車の渋滞状況に基づき、制限台数を更新する制限台数更新部とを具備する請求項１乃至３のいずれか１項に記載の自動走行車システム。
［５］  前記制限区間コントローラは、
前記走行車の各々が、目的地・経路・前記制限区間における退出方向の情報を有し、前記制限区間において待機中の前記走行車の目的地・経路・退出方向の入替えが可能な場合、前記制限区間を通過完了するまでの時間を最小にするべく、目的地・経路・退出方向を再割付けする走行ジョブ再割付部とを具備する請求項１乃至４のいずれか１項に記載の自動走行車システム。
［６］  走行車同士の衝突回避のための制限区間において少なくとも合流地点の付近の走行車の渋滞状況を監視し、前記走行車の通過可否を制御する制限区間コントローラで使用される制御方法であって、
前記制限区間コントローラが、前記合流地点の付近の前記走行車の渋滞情報から得られる前記制限区間内の前記走行車の有無に基づき、通過可否判定をし、
前記制限区間が通過不可の場合、前記制限区間コントローラが、前記制限区間の手前の待機区間に存在する制限台数以下の前記走行車に対し、各々の待機位置を設定し、
前記制限区間が通過可の場合、前記制限区間コントローラが、走行再開する前記制限区間への進入方向を決定し、前記進入方向の前記待機区間において待機中の前記走行車に対し、走行再開させる制御方法。
［７］  走行車同士の衝突回避のための制限区間において、少なくとも合流地点の付近の走行車の渋滞状況を監視し、前記走行車の通過可否を制御する制限区間コントローラにより実行されるプログラムであって、前記制限区間コントローラを
前記合流地点の付近の前記走行車の渋滞情報から得られる前記制限区間内の前記走行車の有無に基づき、通過可否判定をする判定部と、
前記制限区間が通過不可の場合、前記制限区間の手前の待機区間に存在する制限台数以下の前記走行車に対し、各々の待機位置を設定する待機位置設定部と、
前記制限区間が通過可の場合、走行再開する前記制限区間への進入方向を決定し、前記進入方向の前記待機区間において待機中の前記走行車に対し、走行再開させる走行再開設定部と、
して動作させるプログラム。
［８］  走行車同士の衝突回避のための制限区間において、少なくとも合流地点の付近の走行車の渋滞状況を監視し、前記走行車の通過可否を制御する制限区間コントローラであって、
前記合流地点の付近の前記走行車の渋滞情報から得られる前記制限区間内の前記走行車の有無に基づき、通過可否判定をする判定部と、
前記制限区間が通過不可の場合、前記制限区間の手前の待機区間に存在する制限台数以下の前記走行車に対し、各々の待機位置を設定する待機位置設定部と、
前記制限区間が通過可の場合、走行再開する前記制限区間への進入方向を決定し、前記進入方向の前記待機区間において待機中の前記走行車に対し、走行再開させる走行再開設定部と、
を具備する制限区間コントローラ。
【符号の説明】
【０１１２】
１…ホストシステム、２…制限区間コントローラ、３…走行車、４…走行路、Ｐ０…交通情報更新部、Ｐ１…通過可否判定部、Ｐ２…走行再開設定部、Ｐ３…待機位置設定部、Ｐ４…制限台数更新部、Ｐ５…走行ジョブ再割付部、Ｄ００…走行車テーブル、Ｄ０１…台数テーブル、Ｄ０２…通過可否テーブル、Ｄ０３…制限台数テーブル、Ｄ０４…待機順列テーブル、Ｄ０５…待機位置テーブル、Ｄ０６…渋滞度テーブル、Ｄ０７…渋滞度重みテーブル、Ｄ０８…再割付待機順列テーブル、Ｄ０９…再割付走行車ＩＤテーブル、Ｕ…ＬＡＮ、Ｖ…無線。
【図１】
2020077432.tif 000011
【図２】
2020077432.tif 000012
【図３】
2020077432.tif 000013
【図４】
2020077432.tif 000014
【図５】
2020077432.tif 000015
【図６】
2020077432.tif 000016
【図７】
2020077432.tif 000017
【図８】
2020077432.tif 000018
【図９】
2020077432.tif 000019
【図１０】
2020077432.tif 000020
【図１１】
2020077432.tif 000021
【図１２】
2020077432.tif 000022
【図１３】
2020077432.tif 000023
【図１４】
2020077432.tif 000024
【図１５】
2020077432.tif 000025
【図１６】
2020077432.tif 000026
【図１７】
2020077432.tif 000027
【図１８】
2020077432.tif 000028
【図１９】
2020077432.tif 000029
【図２０】
2020077432.tif 000030
【図２１】
2020077432.tif 000031
【図２２】
2020077432.tif 000032
【図２３】
2020077432.tif 000033
【図２４】
2020077432.tif 000034
【図２５】
2020077432.tif 000035
【図２６】
2020077432.tif 000036
【図２７】
2020077432.tif 000037