以下、本実施の形態について図面を参照しながら説明する。なお、同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略するものとする。
<第1実施形態>
図1は、本実施の形態に係る管制システム1のシステム構成例を示す図である。管制システム1は、センサ等から得られる交通環境情報を参照しながら、目的地までの経路6に沿って、自身の判断により自身を制御しながら自律的に走行する複数の車両(図1の例では車両P及び車両Q)、経路6に沿って設置される複数の無線通信装置3及び管制装置10を含み、各々の無線通信装置3は通信網5を通じて管制装置10と接続されている。
本実施形態において、車両P及び車両Qは、無線設備を備えている。車両P及び車両Qは、走行中に例えば最も近い場所に設置されている何れか1つの無線通信装置3に無線接続することで、通信網5を通じて管制装置10とデータ通信を行う。管制システム1で管制対象となる車両台数は2台以上であればよいが、以降では車両P及び車両Qに注目して管制システム1における車両の管制方法について説明する。なお、管制システム1で管制対象となる複数の車両を区別して説明する必要がない場合、複数の車両を総称して「車両7」ということがある。
無線通信装置3は、車両7と管制装置10の間のデータ中継装置としての役割を果たす。無線通信装置3は、車両7との無線通信が可能な範囲内であればその設置場所に制約はないが、例えば車道と並走して設けられた歩道や車道の中央分離帯、及び信号設備のように、車道からできるだけ近い場所に設置されることが好ましい。また、無線通信装置3の設置台数に制約はない。
通信網5は、無線通信装置3が受信した車両7の各種情報を管制装置10に伝送すると共に、管制装置10で生成された車両7の管制情報を、管制装置10が指定した無線通信装置3に伝送する。管制情報は管制装置10からの指示によってすべての無線通信装置3に伝送され、各々の車両7に通知されることもある。なお、通信網5は、有線回線であっても無線回線であってもよい。
管制装置10は、車両7同士の交通効率を低下させることなく、車両7同士が接触する危険性が認められる予め定めた範囲(以降、「干渉範囲」という)まで接近するような箇所、すなわち、干渉地点Xで干渉を回避させる交通管制を行う装置である。ここで「干渉」とは、車両7同士が接触する状況を示すだけでなく、車両7同士が干渉範囲まで接近する状況をいう。
管制装置10は、管制対象となる各々の車両7から、車両7の状態を表す移動体情報を受信し、各々の車両7が行う移動に関する判断を制約する制約条件(以降、「仮想交通ルール」という)を、車両7同士が干渉地点Xで干渉しないように車両7毎に生成して、各車両7の目的地までの走行ルート(以降、「大域経路」という)と共に対応する車両7に送信する。
車両7が備える運転に関する機能である運転機能の相違により、車両7は複数の種類に分類される。本実施形態では、車両7が、一例として自動運転車両である場合について説明する。
本実施形態における自動運転車両とは、管制装置10から仮想交通ルールに基づいて生成された制御制約を受信し、車両7に取り付けられたセンサ等から得られる交通環境情報を参照しながら、受信した制御制約を満たし、かつ、車両7同士の干渉を自律的に回避するように、車両7自らの判断によって車両7を制御しながら走行する自動運転機能を備えた車両7のことである。なお、本実施形態に係る自動運転とは、運転手ではなく自動運転機能が走行に関する責任を負う自動運転レベル3~5の区分に分類される運転を指す。なお、本実施形態において、自動運転レベルとは、SAE(Society of Automotive Engineers)によって定義された自動運転のレベルをいう。
図2は、管制システム1での管制対象となる車両7の制御装置における機能構成例を示す図である。
図2に示すように、車両7の制御装置は、位置推定部21、状態管理部22、無線通信部23、局所経路計画部24、及び制御部25の各機能部と、車両走行ルート地図26を含む。
位置推定部21は車両7の位置を推定する。具体的には、位置推定部21は、車両7に取り付けられた例えばレーザレンジファインダやカメラのように、車両7が走行する周辺環境の形状や、移動体である車両7の移動路の一例である車線8上の状況を捉える外界センサから外形形状データを取得し、取得した外形形状データと、例えば予め用意している環境外形データ(自己位置推定用地図)をマッチングさせ、一致する地点を車両7の現在位置として推定するマップマッチングを用いて車両7の位置を推定する。位置推定部21における車両7の位置の推定方法に制約はなく、例えばGPS(Global Positioning System)を用いた車両7の位置の推定等、他の推定方法を用いてもよい。位置推定部21は、推定した車両7の位置を位置情報として状態管理部22及び局所経路計画部24に通知する。
状態管理部22は、例えばナンバー情報及び車体番号のように車両7を一意に識別するために用いられる情報を含んだ車両固有情報を管理する。また、状態管理部22は、車両7の状態(例えば位置情報によって表される車両7の位置、姿勢、速度、制御状態等)を計測するセンサ(「内界センサ」と呼ばれる)からセンサ値を時系列に沿って収集し、その管理を行う。
状態管理部22は、車両固有情報と車両7の状態を「移動体情報」として定期及び随時の少なくとも一方のタイミングで、無線通信部23及び局所経路計画部24に通知する。
無線通信部23は、状態管理部22から受け付けた移動体情報を、無線通信装置3を通じて管制装置10に送信すると共に、無線通信装置3を通じて管制装置10から受信した管制情報、すなわち、大域経路及び仮想交通ルールを遅滞なく局所経路計画部24に通知する。
局所経路計画部24は、位置推定部21から受け付けた位置情報、状態管理部22から受け付けた移動体情報、無線通信部23から受け付けた管制情報、及び車両走行ルート地図26を用いて局所経路を計画し、制御部25に通知する。
局所経路計画部24は、車両7が管制情報に含まれる仮想交通ルールを満たし、かつ、管制情報で指定された大域経路に沿って走行するという条件の下で、移動体情報に含まれる車両7に取り付けられた外界センサの計測データから走行中の車道の状況を判断し、大域経路に対応した車道のどの位置を実際に走行しなければならないのかといった実経路を決定する。その上で、局所経路計画部24は、決定した実経路に沿って車両7を走行させるために従うべき各時刻における車両7の速度や姿勢を設定する。
このように、車両7が仮想交通ルールを満たしながら大域経路に沿って走行するという条件の下で決定した実経路を「局所経路」と呼び、局所経路には、局所経路に従って車両7を走行させるための制御内容が付加される。
車両走行ルート地図26は、車両7が走行する車線8を表す地図情報を含んでおり、局所経路の決定や、局所経路に沿って車両7を走行させるための各時刻における車両7の制御内容の設定に用いられる。
制御部25は局所経路計画部24から局所経路を受け付けると、局所経路に含まれる制御内容に従って車両7のハンドル、アクセル、ブレーキ等を制御し、局所経路に沿った車両7の自律走行を実現する。
制御部25が実施した制御に伴うハンドル、アクセル、ブレーキ等の操作量といった車両7の制御内容は、各種制御量を計測するそれぞれの内界センサを通じて状態管理部22に通知され、車両7の状態として状態管理部22で管理される。
なお、車両7は管制装置10から大域経路を受信しなくても、外界センサの計測データから走行中の車道の状況を判断し、仮想交通ルールを満たすような実経路を決定することができるが、ここでは一例として、車両7は管制装置10から大域経路を受信して実経路、すなわち、局所経路を決定するものとする。
図3は、管制装置10の機能構成例を示す図である。
図3に示すように、管制装置10は、目的地設定部11、通信部12、大域経路計画部13、車列検出部14、車列経路予測部15、干渉地点特定部16、仮想交通ルール生成部17、及び車列分割ルール生成部18の各機能部と、管制走行ルート地図19を含む。
通信部12は、車両7から無線通信装置3を通じて移動体情報を受信すると共に、後述する仮想交通ルール生成部17で生成した仮想交通ルールに基づいて、車列分割ルール生成部18が生成した車列分割ルールを含む管制情報を、管制情報の送信先として指定された各々の車両7に送信する。通信部12は移動体情報を受信する受信部の一例であると共に、車列分割ルールを送信する送信部の一例である。
車両7は、管制装置10によって指定された大域経路に沿って走行する車両7であるため、管制装置10が大域経路を計画する必要がある。
そのため、目的地設定部11は、車両7が向かおうとしている目的地と車両7の車両固有情報を受け付け、車両7の車両固有情報と目的地を対応付けて大域経路計画部13に通知する。
車両7の目的地及び車両固有情報は管制装置10の操作者が目的地設定部11に設定してもよいが、車両7から目的地を含む移動体情報を受信し、目的地設定部11が、受信した移動体情報に含まれる車両固有情報と目的地を対応付けて大域経路計画部13に通知してもよい。
大域経路計画部13は、目的地設定部11から受け付けた車両7の目的地、通信部12から受け付けた車両7の移動体情報及び管制走行ルート地図19を用いて大域経路を計画する。大域経路計画部13は計画した大域経路を干渉地点特定部16に通知する。
図4は、大域経路の計画に用いられる管制走行ルート地図19の内容例を示す図である。管制走行ルート地図19は、交通規則が変化しない区間を最小単位とした、各区間における経路情報の集合によって表現される道路構造データベースである。
管制走行ルート地図19を構成する区間(図4の例の場合、地点K1から地点K2までの区間、地点K2から地点K3までの区間、地点K3から地点K7までの区間、地点K2から地点K5までの区間、地点K4から地点K5までの区間、及び地点K5から地点K6までの区間の6区間)には、それぞれ区間における制限速度、車線数、幅員、及び区間における車線が交差する場合に優先車線であるのか、それとも非優先車線であるのかといった車線優先度等の交通規則情報が設定されている。
更に、管制走行ルート地図19を構成する各区間は、仮想的に設定された経由点の集合である経由点列によって車両7の経路6を表している。経由点とは、経路6上における車両7の位置を表す指標の1つであり、各々の経由点には経由点IDが一意に設定されているため、経由点IDから経路6上における車両7の位置が特定される。
なお、管制走行ルート地図19には干渉地点Xを予め規定している干渉地点情報が含まれる。
図5は、干渉地点Xの例を示す図である。干渉地点Xには例えば図5(A)に示すように、優先車線8Aと非優先車線8Bが交差する交差点や、一般道や高速道路でみられるような、図5(B)に示す優先車線8Aと非優先車線8Bが合流する合流点が含まれる。干渉地点Xとは、車両7同士が干渉範囲まで接近するような箇所のことであるため、干渉地点Xは必ずしも点で表されるわけではなく、一定の大きさを有する領域で表されることもある。すなわち、干渉地点Xは干渉領域の一例である。
図6は、干渉地点情報の一例を示す図であり、干渉地点情報は、例えば干渉地点X毎に干渉地点Xを一意に識別するための干渉地点ID、干渉地点Xの位置、干渉地点Xに対応する経由点を一意に識別するための経由点ID、並びに、干渉地点Xの1つ手前の経由点の位置及び経由点IDを、同じ干渉地点Xを共有する優先車線8Aと非優先車線8Bのそれぞれについて規定した情報である。
前述した車両7における車両走行ルート地図26も管制走行ルート地図19と同じ情報で構成されるが、車両走行ルート地図26は、車両7が実際に走行する上で必要になる、管制走行ルート地図19には含まれない情報を含んでもよい。
なお、管制走行ルート地図19に必ずしも干渉地点情報が含まれている必要はなく、この場合、管制装置10は、管制走行ルート地図19に含まれる経由点列の情報から干渉地点情報を生成すればよい。また、管制走行ルート地図19は必ずしも管制装置10に含まれる必要はなく、管制装置10は、通信部12を通じて管制装置10とは異なる外部装置から管制走行ルート地図19を取得してもよい。
図3における大域経路計画部13は、目的地設定部11から受け付けた車両7の車両固有情報と目的地、移動体情報に含まれる車両7の位置情報と車両固有情報、及び管制走行ルート地図19に基づいて、車両7毎に管制走行ルート地図19上で車両7の現在位置から目的地までの経路6である大域経路を探索する。すなわち、大域経路は、管制走行ルート地図19を構成する各区間の経由点列をつないだ経路6として表される。
図7は、共に車両7である車両P及び車両Qの大域経路の一例を示す図である。複数の経路6の中から車両Pの現在位置と車両Pの目的地をつなぐ1つの経路6Pが車両Pの大域経路として選択され、車両Qの現在位置と車両Qの目的地をつなぐ1つの経路6Qが車両Qの大域経路として選択された状況を表している。
なお、大域経路計画部13における車両7の大域経路の探索に用いる探索方法はどのような方法であってもよく、例えばダイクストラ探索といった公知の探索方法が用いられる。
車両7であれば予め目的地が決められるため、管制装置10が主体となって大域経路計画部13で車両7の大域経路を計画することができる。車両7は大域経路に基づいて決定した局所経路を走行することから、管制装置10は自らが計画した大域経路によって、車両7の経路6を知ることができる。
車列検出部14は、車両7における移動体情報に含まれる位置情報に基づいて、複数台の車両7が連なった状態を車列として検出する。なお、以下では車両Pに代えて車列Pと称する場合がある。複数台の車両7が連なった状態であるか否かについては、例えば複数台の車両7の車間距離の各々が予め定めた閾値未満である場合は複数台の車両7が連なった状態と判定し、閾値以上の場合は、複数台の車両7が連なっていない状態と判定する。閾値は、例えば車間距離が閾値以上であれば交差点を通過する複数台の車両7を分割して一部の車両7を減速等させることなく他の車両7が交差点を通過したり合流したりすることができる値に設定される。換言すれば、車間距離が閾値未満であれば交差点を通過する複数台の車両7を分割して一部の車両7を減速等させないと他の車両7が交差点を通過したり合流したりすることができない値に設定される。
なお、車間距離だけでなく、車両7の速度も考慮して複数台の車両7が連なった状態か否かを判定してもよい。例えば、渋滞するほど車両7の速度が遅い場合は車間距離の閾値を小さな値に設定し、車両7の速度が速いほど車間距離の閾値を大きな値に設定してもよい。
そして、車列検出部14は、検出された車列の各車両7の車両位置、先頭車両の車両ID、最後尾の車両の車両ID、車列の長さ、車列の車両台数、車列速度等を車列状態として求め、車列経路予測部15に出力する。なお、車列速度は、例えば車列を構成する複数台の車両7の車両速度の平均速度とすることができるが、車列速度の算出はこれに限られない。例えば車列の先頭車両等の特定の車両の車両速度を車列速度としてもよい。
車列経路予測部15は、車列検出部14が検出した車列状態から、目的地が異なる複数台の車両7から成る車列の走行経路を予測する。例えば車列経路予測部15は、車列Pの現在位置から特定の距離(例えば100m)までを車列速度で走行するものとし、特定の距離に対応する車線の区間の経由点列をつないだ経路6を車列Pの予測された車列経路として干渉地点特定部16に通知する。なお、車列経路は、大域経路と異なり、車列を形成する車両7毎に目的地がある。このため、車線が分岐する場合には、分岐する車線の全てを予測された車列経路として扱う。
図8は、車列Pの走行経路の一例を示す図である。図8に示すように車列Pの走行先が2つに分岐している場合、車列経路予測部15は、車列Pが分岐点で何れの方向に分岐するか不明であるため、経路6P-1及び経路6P-2を共に車列Pの予測された車列経路とする。
干渉地点特定部16は、大域経路計画部13から受け付けた車両7の大域経路に基づいて、大域経路における干渉地点Xを特定する。干渉地点特定部16は、各車両7の経路6と各々の経路6における干渉地点Xを仮想交通ルール生成部17に通知する。
仮想交通ルール生成部17は、通信部12から受け付けた各車両7の移動体情報、大域経路計画部13から受け付けた各車両7の経路6、すなわち、大域経路、各々の経路6における干渉地点Xを用いて、車両7に対する仮想交通ルールを生成する。なお、仮想交通ルールは、時空間制約の一例であり、仮想交通ルール生成部17は、時空間制約生成部の一例である。
具体的には、仮想交通ルール生成部17は、車両7の大域経路における干渉地点Xで干渉しあう車両7と他の車両7について、各々の干渉地点Xにおける干渉時間tを推定し、各干渉地点Xにおいて、車両7同士の交通効率を低下させることなく干渉地点Xでの車両7同士の干渉が回避されるような通過優先順位を車両7に対して規定する。
仮想交通ルール生成部17は、車両7に対して大域経路と仮想交通ルールを含んだ管制情報を生成し、車列分割ルール生成部18に出力する。
車列分割ルール生成部18は、仮想交通ルール生成部17で生成された管制情報に含まれる仮想交通ルールに基づいて、車列を分割する車列分割ルールを車列毎に生成する。そして、車列分割ルール生成部18は、通信部12に対して車両7の各々に対応付けられた管制情報の送信依頼を行う。このとき、車列を構成する車両7については、車列分割ルールも管制情報に含める。これにより、無線通信装置3から車両7の各々に対しては、各々に対応付けられた大域経路及び管制情報が送信され、車列を構成する車両7については車列分割ルールも送信されることになる。
なお、仮想交通ルールについての詳細な生成方法及び仮想交通ルールに基づく車列分割ルールの生成方法については後ほど説明することにする。
次に、管制装置10及び車両7の制御装置における各々の電気系統の要部構成例について説明する。
図9は、管制装置10における電気系統の要部構成例を示す図である。図9に示すように、管制装置10は例えばコンピュータ30を用いて構成される。
コンピュータ30は、図3に示した管制装置10に係る各機能部の処理を担うプロセッサの一例であるCPU(Central Processing Unit)31、コンピュータ30を管制装置10として機能させる管制プログラムを記憶するROM(Read Only Memory)32、CPU31の一時的な作業領域として使用されるRAM(Random Access Memory)33、不揮発性メモリ34、及び入出力インターフェース(I/O)35を備える。そして、CPU31、ROM32、RAM33、不揮発性メモリ34、及びI/O35がバス36を介して各々接続されている。
不揮発性メモリ34は、不揮発性メモリ34に供給される電力が遮断されても、記憶したデータが維持される記憶装置の一例であり、例えば半導体メモリが用いられるが、ハードディスクを用いてもよい。また、不揮発性メモリ34は、必ずしもコンピュータ30に内蔵されている必要はなく、例えばUSBメモリやメモリカードのようにコンピュータ30に着脱可能な可搬型の記憶媒体を用いてもよい。
I/O35には、例えば通信ユニット37、入力ユニット38、及び表示ユニット39が接続される。
通信ユニット37は通信網5に接続され、無線通信装置3や、通信網5と接続された外部装置との間でデータ通信を行う通信プロトコルを備える。
入力ユニット38は、管制装置10の操作者からの指示を受け付けてCPU31に通知するユニットであり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。指示が音声で行われる場合には、入力ユニット38としてマイクが用いられることがある。
表示ユニット39は、CPU31によって処理された情報を表示する装置であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及びプロジェクタ等が用いられる。
管制装置10が無人のデータセンター等に設置されている場合のように情報の表示を必要としない状況では、表示ユニット39がI/O35に接続されないこともある。また、必要に応じてプリンタユニットのような他のユニットがI/O35に接続されることがある。
一方、図10は、車両7の制御装置における電気系統の要部構成例を示す図である。車両7の制御装置も管制装置10と同様に、例えばコンピュータ40を用いて構成される。
コンピュータ40は、図2、3にそれぞれ示した各種類の車両7の制御装置に係る各機能部の処理を担うプロセッサの一例であるCPU41、コンピュータ40を各種類の車両7に対応した制御装置として機能させる制御プログラムを記憶するROM42、CPU41の一時的な作業領域として使用されるRAM43、不揮発性メモリ44、及びI/O45を備える。そして、CPU41、ROM42、RAM43、不揮発性メモリ44、及びI/O45がバス46を介して各々接続されている。
I/O45には、例えば通信ユニット47、入力ユニット48、表示ユニット49、内界センサ51、外界センサ52、及び走行装置53が接続される。
通信ユニット47は無線通信装置3との間でデータ通信を行う通信プロトコルを備える。
入力ユニット48は、車両7の運転手からの指示を受け付けてCPU41に通知するユニットであり、例えばボタン、タッチパネル、及びポインティングデバイス等が用いられる。指示が音声で行われる場合には、入力ユニット48としてマイクが用いられることがある。
表示ユニット49は、CPU41によって処理された情報を表示する装置であり、例えば液晶ディスプレイ、有機ELディスプレイ、及びプロジェクタ等が用いられる。
走行装置53は、例えばハンドル、アクセル、及びブレーキのように車両7の走行状態に影響を与える操作装置の操作量を調整すると共に、操作量を車両7の状態としてCPU41に通知する装置である。車両7の走行装置53の場合、CPU41によって操作量が制御される。
なお、I/O45には、管制装置10から受信した管制情報の内容を音声で通知するスピーカーや、触覚によって通知するデバイスを接続してもよい。内界センサ51及び外界センサ52の機能については既に説明した通りである。
次に、管制システム1における管制装置10の動作について詳細に説明する。
図11は、各車両7から移動体情報を受け付けた場合に、管制装置10のCPU31によって実行される管制処理の流れの一例を示すフローチャートである。
管制処理を規定する管制プログラムは、例えば管制装置10のROM32に予め記憶されている。管制装置10のCPU31は、ROM32に記憶される管制プログラムを読み込み、管制処理を実行する。
なお、以降では説明の便宜上、管制システム1の管制対象となる車両7が車列P及び車両Qの場合における管制装置10の動作について説明するが、管制対象となる車両7が3台以上の場合であっても、各々の車両7について同様の処理を行えばよい。
ステップS10において、CPU31は、車両7から受信した移動体情報に含まれる車両7の位置情報と、車両7の目的地に基づいて、車両7の大域経路を生成する。
ステップS20において、CPU31は、車列Pの経路6を示す経由点が、車両Qの経路6を示す経由点から干渉範囲以内まで接近するような地点、すなわち、車列Pと車両Qの干渉地点Xを特定する。具体的には、CPU31は、ステップS30またはステップS50で取得した車列Pの大域経路(単に「車列Pの経路6」という)と、ステップS10で取得した車両Qの大域経路(単に「車両Qの経路6」という)が交差または合流する地点の経由点や、車列Pの経路6と車両Qの経路6が干渉範囲以内まで接近して並走するような領域の経由点を、車列Pと車両Qの干渉地点Xとして特定する。
なお、図6に示したような干渉地点情報を参照することができる場合、CPU31は、車列Pと車両Qの各々の経路6に、干渉地点情報で干渉地点Xとして設定されている同一の経由点が含まれていれば、当該経由点によって表される地点を車列Pと車両Qの干渉地点Xとしてもよい。
ステップS30において、CPU31は、ステップS20で特定した車列Pと車両Qの各干渉地点Xについて、車列Pと車両Qの干渉時間tを算出する。
干渉時間tは、車列P及び車両Qのそれぞれの現在位置から干渉地点Xまでの経路6に沿った距離(以降、「干渉地点Xまでの距離」という)と、車列P及び車両Qのそれぞれの速度から算出することができる。しかしながら、交通事情等により車列P及び車両Qは一定の速度で走行することができないため、実際には車列P及び車両Qの速度は変動する。
たとえば、“v”を車列P及び車両Qにおけるそれぞれの速度、“l”を干渉地点Xまでの距離、“α”及び“β”を車列P及び車両Qの速度変化に対応する正数のマージン、“ε”を他の値よりも0に近い正定数とすれば、車列P及び車両Qの速度の変動量を考慮した干渉地点Xにおける干渉時間tは(1)式で算出される。
なお、tbeginは車列P及び車両Qが最も早く干渉地点Xを通過する場合の時刻であり、tendは、車列P及び車両Qが最も遅く干渉地点Xを通過する場合の時刻である。このように、車列P及び車両Qの各干渉地点Xにおける干渉時間tは、tbegin以上tend未満の期間で表される。以降では、車列Pの干渉地点Xにおける干渉時間tを「干渉時間tp」と表し、車両Qの干渉地点Xにおける干渉時間tを「干渉時間tq」と表す。干渉時間tの算出方法は上記に限定されず、ドライバモデルや車両挙動モデルを用いた予測等を用いてもよい。
図12は、特定の干渉地点Xに対する車列Pの干渉時間tpと、車両Qの干渉時間tqの一例を示す図である。
このようにして、CPU31は各干渉地点Xについて、車列Pの干渉時間tp及び車両Qの干渉時間tqを算出する。
ステップS40において、CPU31は、ステップS60で特定した車列Pと車両Qの各干渉地点Xにおける通過優先順位を設定する。
通過優先順位が上、すなわち、通過優先順位が優先に設定された車両7は、干渉地点Xを優先的に通過することができ、通過優先順位が下、すなわち、通過優先順位が非優先に設定された車両7は、通過優先順位が優先に設定された車両7の干渉地点Xにおける干渉時間tの間は、当該干渉地点Xに進入しないようにする制約が設定される。
このように、各干渉地点Xにおける通過優先順位と干渉時間tを対応付け、車列Pと車両Qが走行することができる時間と場所を制約することで、各干渉地点Xにおいて車列Pと車両Qの干渉が回避されることになる。
各干渉地点Xにおける通過優先順位と、通過優先順位が優先に設定された車両7の干渉時間tの対応付け、すなわち、通過優先順位が非優先に設定された車両7にとっての干渉地点Xへの進入禁止時間が仮想交通ルールとなる。仮想交通ルールは、車両7が干渉地点Xで他の車両7と干渉しないように、干渉時間tと干渉地点Xの位置情報を用いて車両7が走行することができる時間と場所を制約することから時空間制約の一例である。
以降では、干渉地点Xにおいて通過優先順位が優先に設定されているのか、それとも非優先に設定されているのかを表す状態を“sx”で表す。干渉地点Xにおける状態sxは“0”または“1”の値をとり、CPU31は、干渉地点Xにおいて車列Pが優先の場合には状態sx=0に設定し、車両Qが優先の場合には状態sx=1に設定する。
図13は、状態sx=0に設定された干渉地点Xでの仮想交通ルールを模式化した模式図である。
この場合、車列Pの干渉時間tpがtp
begin以上tp
end未満までの期間で表されるとすれば、車列Pは、干渉時間tpの間は干渉地点Xを車両Qに優先して通過することができる。しかしながら、車両Qは、干渉時間tpに干渉地点Xに進入すると車列Pと干渉する恐れがあるため、干渉時間tpの間は干渉地点Xへ進入しないようにする必要がある。
一方、図14は、状態sx=1に設定された干渉地点Xでの仮想交通ルールを模式化した模式図である。
この場合、車両Qの干渉時間tqがtq
begin以上tq
end未満までの期間で表されるとすれば、車両Qは、干渉時間tqの間は干渉地点Xを車列Pに優先して通過することができる。しかしながら、車列Pは、干渉時間tqに干渉地点Xに進入すると車両Qと干渉する恐れがあるため、干渉時間tqの間は干渉地点Xへ進入しないようにする必要がある。
すなわち、干渉地点Xでの通過優先順位が非優先に設定された車両7は、同じ干渉地点Xにおいて通過優先順位が優先に設定された車両7の干渉時間tに当該干渉地点Xへ進入しないようにすれば、車両7同士の干渉を回避して目的地まで到達することができる。
このように、仮想交通ルールは、干渉地点Xにおける状態sxと干渉地点Xにおける進入禁止時間(すなわち、干渉地点Xにおいて通過優先順位が優先に設定されている車両7の干渉時間t)の組み合わせを干渉地点X毎に設定した情報によって表される。
各干渉地点Xにおいて、車列P及び車両Qの通過優先順位をどのように決定するかは、目的関数C(S)を評価することによって行われる。
管制システム1が管理する範囲内に車列Pと車両Qの干渉地点XがN地点(Nは正の整数)ある場合において、各干渉地点Xにおける状態sxの集合を状態ベクトルS=(s1, s2,・・, si,・・,sN)とすれば、目的関数C(S)は例えば(2)式で表される。
目的関数C(S)は、車両7が目的地まで移動することによって発生する交通コストを表す関数である。交通コストとは、個々の車両7に対するコストだけでなく、車両7が走行することで他の車両7の走行に与える影響も加味したコストであり、車両7の交通効率を表す。
ここで、Csingle(S)は、各干渉地点Xを通過する車列P及び車両Qに対する管制制御を特徴付けるコストである。Cconsistency(S)は、車列P及び車両Qに設定される通過優先順位の時間方向の一貫性に関するコストである。Cmulti(S)は、干渉地点X間の整合性や相互作用に関するコストである。ωc及びωmは、目的関数C(S)に対してCconsistency(S)、及びCmulti(S)が与える影響度を調整するための重みである。
CPU31は、目的関数C(S)が最小となるような状態ベクトルSを設定する。目的関数C(S)が最小になれば交通コストも最小となるため、管制システム1が管制を行う範囲の交通効率が向上する。
次に、目的関数C(S)について詳細に説明する。
Csingle(S)は、各干渉地点Xを通過する車両7(この場合、車列P及び車両Q)に対して定義され、(3)式及び(4)式で表される。
すなわち、Csingle(S)は、干渉地点X毎に干渉地点Xにおける干渉時間tが早い車両7、すなわち、干渉地点Xの予想通過時間が早い車両7の通過優先順位を優先に設定した場合に低くなるような値をとる。
CPU31は、車両7が走行する車線8の優先度、車両7が走行する車線8における車列の長さや交通密度、及び車両7がこれまでに待機した時間を考慮してCsingle(S)の重み付けを行ってもよい。例えば(4)式によれば、ある干渉地点Xiにおいて車列Pの通過優先順位が優先に設定されているにも関わらず、車列Pの干渉時間tpが車両Qの干渉時間tqより遅い場合、Csingle(si;tp,tq)は“1”に設定されるが、更に、車列Pが非優先道路を走行している場合には、Csingle(si;tp,tq)が1より大きい値となるように重み付けを行えばよい。
すなわち、本来、優先通過順位を優先に設定した方がよいと考えられる状況において、優先通過順位を非優先にするような設定、及び優先通過順位を非優先に設定した方がよいと考えられる状況において、優先通過順位を優先にするような設定を行った場合、CPU31は、Csingle(S)が大きくなるように重み付けを行ってもよい。
(2)式において、車両7に設定される通過優先順位の時間方向の一貫性に関するコストを表すCconsistency(S)は、(5)式及び(6)式で表される。
状態sxは、予め定めた時間単位(例えば1秒)毎に、時系列に沿ってその時点の移動体情報等を参考にしながら最適な値が設定されるが、sx
(T)は時刻Tの時点で設定した状態sxを表し、sx
(T-1)は時刻Tよりも1単位前の時刻に設定した状態sxを表す。
同じ車両7に関して通過優先順位を表す優先と非優先が頻繁に切り替わらない方が、車両7は車線8を効率よく走行することができる。したがって、Cconsistency(S)は、時系列に沿って繰り返し計算された時間的に隣り合う状態sxが同じ値であれば小さくなるように設定され、異なる値であれば大きくなるような値をとる。
ここでは一例として、1単位前の時刻に設定した状態sx
(T-1)との関係性から状態sx
(T)を設定した場合の一貫性に関するコストを算出したが、CPU31は、例えばM単位前(Mは2以上の正の整数)までの各時刻における状態sxとの関係性から状態sx
(T)を設定した場合の一貫性に関するコストを算出してもよい。具体的には、CPU31は、干渉地点X毎に現在時刻からM単位前までの期間で優先と非優先が切り替わった数を算出し、各干渉地点Xにおける優先と非優先の切り替わり回数が多くなるにつれてCconsistency(S)の値が大きくなるように、Cconsistency(S)を計算してもよい。
(2)式において、干渉地点X間の整合性や相互作用に関するコストを表すCmulti(S)は、(7)式及び(8)式で表される。
ここで、wi,jは2つの干渉地点Xi、Xjの協調度を表す値であり、wi,j≧0に設定される。干渉地点Xの協調度とは、一方の干渉地点Xの通過優先順位を他方の干渉地点Xの通過優先順位に連動させて同じ状態に設定した方がよいと考えられる度合いのことを表す。
wi,j=0は干渉地点Xi、Xjが協調する必要がないことを表し、wi,jが大きくなるにつれて2つの干渉地点Xi、Xjを協調して扱った方がよいことを表す。
図15は、複数の干渉地点Xを協調させて取り扱った方がよい例を示す図である。図15に示すように、非優先車線8Bを走行する車列Pが、他の車両7が走行する片側1車線の優先車線8Aを横切って直進する場合、車列Pは、干渉地点X1及び干渉地点X2を通過する必要がある。
こうした状況において、車列Pに対して干渉地点X1における状態s1を“0”に設定し、干渉地点X2における状態s2を“1”に設定すると、干渉地点X2で他の車両7と干渉してしまうことを回避するため、車列Pが優先車線8A上に停止してしまうことがある。この場合、車列Pは優先車線8Aを走行する車両7の流れを妨げてしまうことになる。
したがって、車両7が通過し始めたら通過し終えるまで停止しない方がよい箇所に複数の干渉地点Xが存在する場合には、各々の干渉地点Xの状態sxを同じ値に設定して、干渉地点X同士を協調させた方がよい。
各々の干渉地点Xの組み合わせに対するwi,jは予め計算され、例えば不揮発性メモリ34に記憶されている。CPU31は、不揮発性メモリ34に記憶されているwi,jを参照してCmulti(S)を計算すればよい。
ここでは一例として、2つの干渉地点Xの協調度に基づくCmulti(S)の計算について説明したが、3つ以上の干渉地点Xの協調度を用いてCmulti(S)の計算を行ってもよい。
(2)式で示したように、目的関数C(S)は車両7に対する管制制御の内容、干渉地点Xにおける通過優先順位の時間方向の一貫性、及び干渉地点X間の整合性や相互作用を反映したコストによって構成されるが、CPU31が各車両7の干渉地点Xにおける通過優先順位を決定するために用いる目的関数C(S)は(2)式に限られない。
例えば複数の車両7の位置が近づくにつれて大きな値が設定されるような車両7の位置関係を用いて定義した目的関数C(S)を用いてもよい。
また、CPU31は、取り得るすべての状態ベクトルSを目的関数C(S)に代入して目的関数C(S)を最小にする状態ベクトルSを決定してもよいが、勾配法等の公知の最適化手法を用いて、目的関数C(S)を最小にする状態ベクトルSを決定してもよい。更には、Cmulti(S)が目的関数C(S)に与える影響が、Csingle(S)及びCconsistency(S)が目的関数C(S)に与える影響より少なければ、CPU31は、目的関数C(S)からCmulti(S)を削除した部分問題に分割して、目的関数C(S)を最小にする状態ベクトルSを決定してもよい。また、状態ベクトルSをS=(Sa,Sb)、ただしSa=(s1,・・・,si)、Sb=(si+1,・・・,sN)と分割したときに、Cmulti(S)=Cmulti(Sa)+Cmulti(Sb)であれば、CPU31は、目的関数C(S)を部分問題C(Sa)とC(Sb)に分割して、それぞれを最小にする状態ベクトルSa、Sbを決定してもよい。
図11のステップS50において、CPU31は、車列P及び車両Qに対して、ステップS20で特定した車列Pと車両Qの各干渉地点X、ステップS30で算出した各干渉地点Xにおける干渉時間t、及びステップS40で設定した各干渉地点Xにおける状態sxを用いて仮想交通ルールを生成する。具体的には、CPU31は、各干渉地点Xの位置を表す位置情報(例えば干渉地点ID)と、各干渉地点Xにおける状態sxと、状態sx及び干渉時間tから得られる各干渉地点Xへの進入禁止時間を対応付けた仮想交通ルールを、車列P及び車両Qに応じて生成する。
車列P及び車両Qの何れかは、生成された仮想交通ルールに従って干渉地点の手前で一時停止する。車両Qが一時停止している場合において車列Pの車列長が短い場合は、しばらくすれば車両Qは干渉地点への進入が可能となる。しかしながら、例えば図16に示すように、渋滞等によって車列Pの車列長が長い場合は、図17に示すように、車列Pが干渉地点を通過し終わるまで車両Qは干渉地点への進入が長時間できなくなる。
そこで、ステップS60では、車列を分割する車列分割ルールを生成すべきか否かを判定する。具体的には、車両Qが停止した時刻から車列Pの通過終了時刻までの時間が予め定めた分割判定閾値以上であるか否かを判定する。分割判定閾値は、例えば交通信号のサイクルタイム、すなわち信号機が赤信号から青信号に変わるまでの時間等を基準に設定する。分割判定閾値が赤信号から青信号に変わるまでの時間に設定された場合には、車両Qは、信号機が赤信号で待たされる時間よりも長い時間待たされることはない。
そして、車両Qが停止した時刻から車列Pの通過終了時刻までの時間が予め定めた分割判定閾値以上である場合はステップS70へ移行し、分割判定閾値未満の場合はステップS80へ移行する。
ステップS70では、CPU31は、ステップS50で生成した仮想交通ルールに基づいて、車列分割ルールを生成し、車列Pを形成する各車両7に配信する。車列Pを分割して新たにできる車列の先頭車両をここでは分割先頭車両と呼ぶ。分割先頭車両が車列分割ルールに従って停車することにより、車両Qは交差点を通過可能となる。換言すれば、車列分割ルールの生成とは、干渉地点において、分割先頭車両に対して車両Qが優先となるように状態sx=1に設定することを含む。
図18は、車列分割ルール生成処理のフローチャートである。
ステップS100では、CPU31は、車列Pの車列速度に基づいて、車列Pが停止するために必要な停止距離を算出する。ここで、停止距離とは、空走距離に制動距離を加算した距離である。
ステップS110では、CPU31は、例えば図19に示すように、干渉地点の手前にある停止線から、ステップS100で算出した停止距離だけ離れた位置にある車両を分割先頭車両の候補として選択する。
ステップS120では、CPU31は、ステップS110で選択した選択車両が車列Pの最後尾であるか否かを判定する。そして、選択車両が車列Pの最後尾である場合は車列Pを分割する必要はないので車列分割ルールは生成せず本ルーチンを終了する。一方、選択車両が車列Pの最後尾でない場合はステップS130へ移行する。
ステップS130では、CPU31は、選択車両の属性が属性分割条件を満たすか否かを判定する。そして、選択車両の属性が属性分割条件を満たす場合はステップS140へ移行し、属性分割条件を満たさない場合はステップS160へ移行する。
ここで、選択車両の属性が属性分割条件を満たす場合とは、例えば選択車両が緊急車両、工事車両、トラック等のように、一時停止させることができない特別車両又は一時停止させると走行再開に時間及びエネルギーがかかる特別車両等の場合である。従って、選択車両が特別車両の場合は、特別車両の位置で車列Pが分割されることはない。
ステップS140では、CPU31は、選択車両の状態が状態分割条件を満たすか否かを判定する。そして、選択車両の状態が状態分割条件を満たす場合はステップS150へ移行し、属性分割条件を満たさない場合はステップS160へ移行する。
ここで、選択車両が状態分割条件を満たす場合とは、例えば選択車両の加速度aが予め定めた閾値TH未満の場合等である。従って、選択車両の加速度aが予め定めた閾値TH以上の場合は、その位置で車列Pが分割されることはない。加速度aが閾値TH以上の場合、選択車両を一時停止させると急な加減速が発生し、前後の車両に悪影響を及ぼす可能性があるためである。
ステップS150では、CPU31は、分割先頭車両の車両情報(車両ID、速度、及び位置)を取得し、取得した分割先頭車両の車両情報に基づいて車列分割ルールを生成する。すなわち、干渉地点において、取得した車両情報で特定される分割先頭車両に対して車両Qが優先となるように状態sx=1に設定した車列分割ルールを生成する。
ステップS160では、CPU31は、現在の選択車両の後続の車両を選択車両に設定してステップS120へ移行し、同様の処理を繰り返す。
なお、ステップS140において、状態分割条件を車両Qの待ち時間に応じて変えてもよい。例えば、選択車両の加速度aが予め定めた閾値TH未満の場合に車列Pを分割する場合において、車両Qの待ち時間が長くなるほど閾値THを大きな値に設定し、積極的に車列Pを分割するようにしてもよい。
また、本実施形態では、選択車両の属性及び状態に基づいて分割条件を満たすか否かを判定したが、これに限らず、時間帯又は天候等の他の要素も考慮して分割条件を設定してもよい。
図11のステップS80において、CPU31は、車列Pの各車両に対しては大域経路、仮想交通ルール、及び車列分割ルールを含む管制情報を生成し、車両Qに対しては大域経路及び仮想交通ルールを含む管制情報を生成する。
そして、CPU31は無線通信装置3を通じて、生成した管制情報を車列Pの各車両及び車両Qにそれぞれ送信するための制御を行う。
この場合、CPU31は、最新の移動体情報から管制情報の生成対象となった車両7の位置を把握し、当該車両7の現在位置に最も近い無線通信装置3から管制情報が送信されるように、管制情報を送信する無線通信装置3を指定する。無線通信装置3の位置情報は、例えば不揮発性メモリ34に予め記憶されている。
以上により、図11に示した管制処理を終了する。
このように、本実施形態では、車両Qが停止した時刻から車列Pの通過終了時刻までの時間が分割判定閾値以上の場合は車列Pを分割するように車列分割ルールを生成する。このため、図20に示すように、車列Pの分割先頭車両が干渉地点の手前の停止線で停止し、車列Qが干渉地点に進入可能となる。これにより、干渉地点において車両Qが必要以上に待たされるのを抑制できる。例えば図21に示すように、車列Pの分割先頭車両が干渉地点で停止するまでの停止時間Tstopの期間は、車両Qは干渉地点に進入できないが、分割先頭車両が干渉地点で停止した場合は通行可能となる。これにより、図17の場合と比べて、車両Qが干渉地点への進入が禁止される期間が短くなる。
図22は、管制装置10から管制情報を受信した場合に、車両7の制御装置におけるCPU41によって実行される走行制御処理の流れの一例を示すフローチャートである。
車両7の走行制御処理を規定する制御プログラムは、例えば車両7の制御装置におけるROM42に予め記憶されている。車両7の制御装置におけるCPU41は、ROM42に記憶される制御プログラムを読み込み、車両7の走行制御処理を実行する。
ステップS200において、CPU41は、自身の車両7における最新の位置情報を取得する。
ステップS210において、CPU41は、自身の車両7における最新の移動体情報を取得する。
ステップS220において、CPU41は、ステップS200で取得した車両7の位置情報、ステップS210で取得した車両7の移動体情報、及び管制装置10から受信した管制情報を用いて、局所経路を生成する。
具体的には、CPU41は、移動体情報に含まれる車線8上の状況を表す外界センサのセンサ値や、車両7の状態を表す内界センサのセンサ値から、他の車両7と干渉しないように走行することができる大域経路に沿った実経路、すなわち、局所経路を決定する。この際、CPU41は、管制情報に含まれる仮想交通ルール及び車列分割ルールを参照して、非優先に設定されている干渉地点Xでは干渉地点Xと対応付けられている進入禁止時間に当該干渉地点Xへ進入しないような局所経路を車両7が走行するように、車両7の制限速度を決定する。
ステップS230において、CPU41は、ステップS220で生成した局所経路に沿って車両7を移動させるための制御内容に従って、例えばハンドル、アクセル、ブレーキといった車両7の走行を制御する走行装置の操作量を制御し、計画した局所経路通りに且つ制限速度に従って車両7を走行させる。
以上により、図22に示す車両7の走行制御処理を終了する。
<第2実施形態>
次に、第2実施形態について説明する。なお、第1実施形態と同一部分については同一符号を付し、詳細な説明を省略する。
図23は、第2実施形態に係る管制システム1のシステム構成例を示す図である。管制システム1は、管制システム1による管制対象となる車両7、それぞれ経路6に沿って設置される複数の無線通信装置3及び収集装置9、並びに管制装置10Aを含み、各々の無線通信装置3及び収集装置9は、通信網5を通じて管制装置10Aと接続されている。
車両7が備える運転に関する機能である運転機能の相違により、車両7は複数の種類に分類される。例えば車両7のうち、無線設備を備え、走行中に例えば最も近い場所に設置されている何れか1つの無線通信装置3に無線接続することで、通信網5を通じて管制装置10Aとデータ通信を行う車両7はコネクテッド車両に分類され、無線設備を備えておらず、管制装置10Aとデータ通信を行うことができない車両7は非コネクテッド車両に分類される。なお、第2実施形態では、コネクテッド車両が、第1実施形態で説明した自動運転車両である場合について説明する。
通信網5は、無線通信装置3及び収集装置9で収集した車両7の各種情報を管制装置10に伝送すると共に、管制装置10で生成されたコネクテッド車両の管制情報を、管制装置10が指定した無線通信装置3に伝送する。管制情報は管制装置10Aからの指示によってすべての無線通信装置3に伝送され、各々のコネクテッド車両に通知されることもある。
管制装置10Aは、コネクテッド車両であれば無線通信装置3を通じて移動体情報を受信することができるが、非コネクテッド車両の場合には無線設備を備えていないため、無線通信装置3を通じて移動体情報を受信することができない。
したがって、管制装置10Aは、収集装置9を通じて非コネクテッド車両の移動体情報を取得する。
収集装置9は、例えば光学的に撮影を行う撮影ユニットやUWB(Ultra Wide Band)レーダ等を用いて、車線8における非コネクテッド車両や非コネクテッド車両周辺の交通環境を撮影または計測し、非コネクテッド車両に関する移動体情報を収集する装置である。
以降では、コネクテッド車両及び非コネクテッド車両を区別して説明する必要がない場合には総称して「車両7」と表し、区別して説明する場合には、それぞれコネクテッド車両7及び非コネクテッド車両7ということにする。
図24は、収集装置9及び管制装置10Aの機能構成例を示す図である。図24に示すように、収集装置9はインフラセンサ9Aと状態検出部9Bを備える。
インフラセンサ9Aは、例えば光学的に撮影を行う撮影ユニットやUWBレーダ等であり、非コネクテッド車両7や非コネクテッド車両7周辺の交通環境を撮影または計測する。インフラセンサ9Aは、撮影または計測して収集した非コネクテッド車両7の走行状態や交通環境に関する収集データを、状態検出部9Bに通知する。なお、インフラセンサ9Aは、例えば予め定めた間隔(以降、「収集間隔」という)毎に交通環境の撮影または計測を行うが、非コネクテッド車両7のような移動体を検出してから一定期間の間だけ、交通環境の撮影または計測を行うようにしてもよい。一例として、インフラセンサ9Aは、予め定めた収集間隔で画像を常時撮影しているカメラとする。収集間隔を短く設定していけば、インフラセンサ9Aが撮影する画像は動画となる。こうしたインフラセンサ9Aは、本実施の形態に係る収集センサに相当する。
状態検出部9Bは、インフラセンサ9Aから収集データを受け付けると、公知の画像処理によってインフラセンサ9Aが撮影した画像から非コネクテッド車両7の車両部分を抽出し、画像における非コネクテッド車両7の位置を、インフラセンサ9Aにおけるカメラ座標の位置から実際の車線8の形状を表す地図座標の位置に座標変換を行って、管制走行ルート地図19上における非コネクテッド車両7の位置を算出する。管制走行ルート地図19上における非コネクテッド車両7の位置が確定すれば、例えば2枚の画像から得られた非コネクテッド車両7の位置のずれと2枚の画像が撮影された時間差から、非コネクテッド車両7の速度が得られる。また、時系列に沿った非コネクテッド車両7の位置の変化から、非コネクテッド車両7がどのように移動しているのか追尾することができる。
このように、状態検出部9Bは、非コネクテッド車両7の位置、姿勢、及び速度といった非コネクテッド車両7の移動体情報を検出し、通信網5を通じて遅滞なく管制装置10に送信する。なお、図24では、コネクテッド車両7から取得した移動体情報を移動体情報A、非コネクテッド車両7の移動体情報を移動体情報Bとしている。
収集装置9は、必ずしもインフラセンサ9Aと状態検出部9Bを備える必要はなく、例えばインフラセンサ9Aだけを備えてもよい。この場合、状態検出部9Bを備えた図示しない状態検出装置を通信網5に接続し、図示しない状態検出装置で各収集装置9から通知されるそれぞれの収集データを受け付けて、非コネクテッド車両7の移動体情報を検出すればよい。各々の収集装置9から状態検出部9Bが不要となるため、収集装置9に状態検出部9Bを含めるよりも収集装置9を小型化することができ、収集装置9の取り付けが容易になる。
収集装置9も無線通信装置3と同様に、例えば車道と並走して設けられた歩道や車道の中央分離帯、及び信号設備のように非コネクテッド車両7の移動体情報が得られる範囲に設置される。収集装置9におけるインフラセンサ9Aの撮影方向及び撮影される画像の範囲(画角)は固定であっても可変であってもよい。
次に、管制装置10Aの機能について説明する。
図24に示すように、管制装置10Aが図3に示す管制装置10と異なる点は、主には車列検出部14が収集装置9から非コネクテッド車両7の移動体情報Bを受信する点、車列分割ルール生成部18が信号装置20に信号制御指令を出力する点である。
信号装置20は、信号制御部20A及び信号機20Bを備える。なお、信号機20Bは、管制装置10Aからの制御指令が無い場合には、優先路に対して黄色信号を常時点滅させる。
車列検出部14は、収集装置9から受信した非コネクテッド車両7の移動体情報Bに基づいて、非コネクテッド車両7の車列を検出する。車列の検出方法は第1実施形態と同様である。
なお、本実施形態では、インフラセンサ9Aで収集した収集データを用いて非コネクテッド車両7から形成される車列の検出を行っているが、他車両に搭載されたセンサで検出したデータに基づいて車列の検出を行ってもよい。
車列経路予測部15は、車列検出部14で検出された非コネクテッド車両7の車列の経路を予測する。非コネクテッド車両7については、管制装置10Aとデータ通信を行うことができないため、管制装置10Aにはそもそも非コネクテッド車両7が向かおうとしている目的地を取得する手段がない。
したがって、管制装置10Aは大域経路計画部13で非コネクテッド車両7の大域経路を計画することができない。
そのため、車列経路予測部15は、非コネクテッド車両7における移動体情報Bに含まれる位置情報と速度から走行経路を予測する。例えば車列経路予測部15は、非コネクテッド車両7の現在位置から特定の距離(例えば100m)までを移動体情報Bで示される速度で走行するものとし、特定の距離に対応する車線8の区間の経由点列をつないだ経路6を非コネクテッド車両7の車列の車列経路として干渉地点特定部16に通知する。
しかしながら、非コネクテッド車両7の目的地は不明であるため、車列経路予測部15は、車線8が分岐する場合には大域経路と異なり、車線8が分岐する毎に枝分かれするすべての経路6の組み合わせを車列経路として取り扱う。
車列分割ルール生成部18は、非コネクテッド車両7の車列について車列分割ルールを生成する。車列分割ルールの生成方法は第1実施形態と同様である。
そして、車列分割ルール生成部18は、生成した非コネクテッド車両7の車列の車列分割ルールに基づく信号制御指令を信号装置20の信号制御部20Aに送信する。信号制御部20Aは、信号制御指令に基づいて信号機20Bを制御する。
具体的には、車列分割ルール生成部18は、車列分割ルールに基づいて非コネクテッド車両7の車列が分割されるように信号制御指令を生成して信号制御部20Aに出力する。すなわち、図25に示すように、分割先頭車両が信号機20Bの手前の停止線で停車するように、黄色点滅している信号機20Bを黄色点灯、赤色点灯に順次切り替えるための信号制御指令を信号制御部20Aに出力する。これにより、分割先頭車両が停止線で停車することが促進され、車列を分割することができる。
なお、必ずしも分割先頭車両が停止するとは限らない。例えば分割先頭車両の前の車両が停車する場合もあれば、分割先頭車両は通過し、後続車両が停車する場合もあり得る。このような分割先頭車両の挙動のばらつきを吸収するために、例えば図26に示すように、車両Qに対する仮想交通ルールとして、車両Qが干渉地点を通過する交差点通過可能時間にマージンを加えた仮想交通ルールを生成してもよい。
図26の例では、信号機20Bが黄色点灯しているときに分割先頭車両の前の車両が干渉地点で停車した場合のマージンM1と、信号機20Bが黄色点灯しているときに分割先頭車両が干渉地点を通過した場合のマージンM2と、を車両Qの交差点通過可能時間に加えている。これにより、分割先頭車両の挙動にばらつきがあっても車両Qを安全に通過させることができる。なお、車両Qの交差点通過可能時間に加えるマージンは、マージンM1、M2の何れか一方のみでもよい。
また、分割先頭車両が停止線で停車した場合には、マージンM1、M2を削除する。そして、車列分割ルール生成部18は、車両Qが干渉地点を通過した後、再び信号機20Bが黄色点滅になるように信号制御指令を信号制御部20Aに送信する。
このように、本実施形態では、非コネクテッド車両7の車列についても車列を検出し、車列分割ルールに従って信号機20Bを制御する。これにより、車両Qを必要以上に待たせることがない。
なお、上記各実施形態では、管制システム1が車両7を管制する例について説明したが、管制システム1の管制対象は車両7に限られず、移動体であればどのようなものであってもよい。移動体には歩行者、自転車、オートバイ、車いす、キックボード、船舶、及びドローン等の飛行体が含まれる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
実施の形態では、一例として管制装置10における管制処理、及び車両7における走行制御処理をソフトウェアで実現する形態について説明したが、図11及び図22に示したフローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはPLD(Programmable Logic Device)に実装し、ハードウェアで処理させるようにしてもよい。この場合、各々の処理をソフトウェアで実現した場合と比較して、処理の高速化が図られる。
このように、管制装置10のCPU31や車両7の制御装置におけるCPU41を例えばASIC、FPGA、PLD、GPU(Graphics Processing Unit)、及びFPU(Floating Point Unit)といった特定の処理に特化した専用のプロセッサに置き換えてもよい。
また、実施の形態における管制装置10のCPU31や車両7の制御装置におけるCPU41の動作は、それぞれ1つのCPU31及びCPU41によって実現される形態の他、複数のCPU31及び複数のCPU41によって実現されてもよい。更に、実施の形態における管制装置10のCPU31や車両7の制御装置におけるCPU41の動作は、それぞれ物理的に離れた位置に存在するコンピュータ30におけるCPU31やコンピュータ40におけるCPU41の協働によって実現されるものであってもよい。
また、上述した実施の形態では、管制装置10のCPU31が読み込む管制プログラムがROM32にインストールされ、車両7の制御装置におけるCPU41が読み込む制御プログラムがROM42にインストールされている形態について説明したが、これに限定されるものではない。本発明に係る管制プログラム及び制御プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば管制プログラム及び制御プログラムを、CD(Compact Disc)-ROM、またはDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。また、管制プログラム及び制御プログラムをUSB(Universal Serial Bus)メモリやメモリカード等の可搬型の半導体メモリに記録した形態で提供してもよい。
更に、管制装置10及び車両7の制御装置は、通信網5に接続される外部装置からそれぞれ管制プログラム及び制御プログラムをダウンロードするようにしてもよい。