以下、本実施の形態について図面を参照しながら説明する。なお、同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略するものとする。
図1は、本実施の形態に係る管制システム1のシステム構成例を示す図である。管制システム1は、センサ等から得られる交通環境情報を参照しながら、目的地までの経路6に沿って、自身の判断により自身を制御しながら自律的に走行する複数の車両(図1の例では車両P及び車両Q)、経路6に沿って設置される複数の無線通信装置3及び管制装置10を含み、各々の無線通信装置3は通信網5を通じて管制装置10と接続されている。
車両P及び車両Qは無線設備を備え、走行中に例えば最も近い場所に設置されている何れか1つの無線通信装置3に無線接続することで、通信網5を通じて管制装置10とデータ通信を行う。管制システム1で管制対象となる車両台数は2台以上であればよいが、以降では車両P及び車両Qに注目して管制システム1における車両の管制方法について説明する。なお、管制システム1で管制対象となる複数の車両を区別して説明する必要がない場合、複数の車両を総称して「車両7」ということがある。車両7は、収集した交通環境情報に基づいて、運転手の操作によらず自身の判断により姿勢、速度、及び実際に走行する経路6を決定して、自身の走行状態を制御する自律移動体の一例である。
無線通信装置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に送信する。なお、管制装置10が車両7に送信する大域経路及び仮想交通ルールは、車両7の管制情報の一例である。
図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の自律走行を実現する。
なお、車両7は無線通信部23を通じて管制装置10から大域経路及び仮想交通ルールを受信する機能を備えていれば、仮想交通ルールを満たすように運転手が周囲の交通環境を判断しながら実際に車両7が走行する大域経路に沿った実経路を決定し、手動で運転するような車両7であってもよい。また、車両7は、管制装置10から管制情報を受信することができないような場所(例えば無線通信装置3が設置されていない場所)では、自ら大域経路を計画し、車両7が周囲の交通環境を判断しながら自律走行を行うように制御を切り替えればよい。
次に、管制装置10の機能について説明する。図3は、管制装置10における機能構成例を示す図である。
図3に示すように、管制装置10は、目的地設定部11、通信部12、大域経路計画部13、及び仮想交通ルール生成部14の各機能部と、管制走行ルート地図15を含む。
目的地設定部11は、管制対象となる各々の車両7が向かおうとしている目的地と車両7の車両固有情報を受け付け、車両7の車両固有情報と目的地を対応付けて大域経路計画部13に通知する。
車両7の目的地及び車両固有情報は管制装置10の操作者が設定してもよいが、車両7から目的地を含む移動体情報を受信し、目的地設定部11が、受信した移動体情報に含まれる車両固有情報と目的地を対応付けて大域経路計画部13に通知してもよい。目的地設定部11は本実施の形態に係る設定部の一例である。
通信部12は、車両7から無線通信装置3を通じて移動体情報を受信して大域経路計画部13及び仮想交通ルール生成部14に通知すると共に、仮想交通ルール生成部14で生成された管制情報、すなわち、大域経路及び仮想交通ルールを管制情報の送信先として指定された車両7に送信する。通信部12は、移動体情報を受信する受信部の一例であると共に、大域経路及び仮想交通ルールを送信する送信部の一例である。
大域経路計画部13は、目的地設定部11から受け付けた車両7の目的地、通信部12から受け付けた移動体情報、及び管制走行ルート地図15を用いて、大域経路を計画する。
図4は、大域経路の計画に用いられる管制走行ルート地図15の内容例を示す図である。管制走行ルート地図15は、交通規則が変化しない区間を最小単位とした、各区間における経路情報の集合によって表現される道路構造データベースである。
管制走行ルート地図15を構成する区間(図4の例の場合、地点K1から地点K2までの区間、地点K2から地点K3までの区間、地点K3から地点K7までの区間、地点K2から地点K5までの区間、地点K4から地点K5までの区間、及び地点K5から地点K6までの区間の6区間)には、それぞれ区間における制限速度、車線数、幅員、及び区間における車線が交差する場合に優先車線であるのか、それとも非優先車線であるのかといった車線優先度等の交通規則情報が設定されている。
更に、管制走行ルート地図15を構成する各区間は、仮想的に設定された経由点の集合である経由点列によって車両7の経路6を表している。経由点とは、経路6上における車両7の位置を表す指標の1つであり、各々の経由点には経由点IDが一意に設定されているため、経由点IDから経路6上における車両7の位置が特定される。
なお、管制走行ルート地図15には干渉地点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のそれぞれについて規定した情報である。
前述した車両走行ルート地図26も管制走行ルート地図15と同じ情報で構成されるが、車両走行ルート地図26は、車両7が実際に走行する上で必要になる、管制走行ルート地図15には含まれない情報を含んでもよい。
なお、管制走行ルート地図15に必ずしも干渉地点情報が含まれている必要はなく、この場合、管制装置10は、管制走行ルート地図15に含まれる経由点列の情報から干渉地点情報を生成すればよい。また、管制走行ルート地図15は必ずしも管制装置10に含まれる必要はなく、管制装置10は、通信部12を通じて管制装置10とは異なる外部装置から管制走行ルート地図15を取得してもよい。
図3における大域経路計画部13は、目的地設定部11から受け付けた車両7の車両固有情報と目的地、移動体情報に含まれる車両7の位置情報と車両固有情報、及び管制走行ルート地図15に基づいて、車両7毎に管制走行ルート地図15上で車両7の現在位置から目的地までの経路6を探索する。すなわち、大域経路は、管制走行ルート地図15を構成する各区間の経由点列をつないだ経路6として表される。
図7は、大域経路の一例を示す図であり、複数の経路6の中から車両Pの現在位置と車両Pの目的地をつなぐ1つの経路6Pが車両Pの大域経路として選択され、車両Qの現在位置と車両Qの目的地をつなぐ1つの経路6Qが車両Qの大域経路として選択された状況を表している。
なお、大域経路計画部13における車両7の現在位置から目的地までの経路6の探索に用いる探索方法はどのような方法であってもよく、例えばダイクストラ探索といった公知の探索方法が用いられる。こうした大域経路計画部13は、本実施の形態に係る計画部の一例である。
仮想交通ルール生成部14は、通信部12から受け付けた移動体情報、大域経路計画部13から受け付けた大域経路を用いて、各々の車両7についての仮想交通ルールを生成する生成部の一例である。具体的には、仮想交通ルール生成部14は、大域経路に基づいて車両7毎に干渉地点Xを算出する。仮想交通ルール生成部14は、各々の干渉地点Xにおける予想通過時間を当該干渉地点Xで干渉しあう車両7毎に推定し、干渉地点Xの予想通過時間において、車両7同士の交通効率を低下させることなく干渉地点Xでの車両7同士の干渉が回避されるような通過優先順位を車両7毎に規定する。その上で、仮想交通ルール生成部14は、大域経路上における干渉地点Xの位置情報と、干渉地点Xの通過優先順位に応じて設定した各干渉地点Xへの進入禁止時間を含む仮想交通ルールを車両7毎に生成する。
仮想交通ルール生成部14は、大域経路と仮想交通ルールを含んだ管制情報を車両7毎に生成し、通信部12に対して各車両7と対応付けられた管制情報の送信依頼を行う。これにより、各々の車両7が接続している無線通信装置3から該当する車両7に対して、車両7と対応付けられた管制情報が送信されることになる。
なお、仮想交通ルールについての詳細な生成方法については後ほど説明することにする。
次に、車両7の制御装置及び管制装置10における各々の電気系統の要部構成例について説明する。
図8は、管制装置10における電気系統の要部構成例を示す図である。図8に示すように、管制装置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に接続され、通信網5と接続された外部装置との間でデータ通信を行う通信プロトコルを備える。
入力ユニット38は、管制装置10の操作者からの指示を受け付けてCPU31に通知するユニットであり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。指示が音声で行われる場合には、入力ユニット38としてマイクが用いられることがある。
表示ユニット39は、CPU31によって処理された情報を表示する装置であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及びプロジェクタ等が用いられる。
管制装置10が無人のデータセンター等に設置されている場合のように情報の表示を必要としない状況では、表示ユニット39がI/O35に接続されないこともある。また、必要に応じてプリンタユニットのような他のユニットがI/O35に接続されることがある。
一方、図9は、車両7の制御装置における電気系統の要部構成例を示す図である。車両7の制御装置も管制装置10と同様に、例えばコンピュータ40を用いて構成される。
コンピュータ40は、図2に示した車両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は、CPU41の指示に従い、例えばハンドル、アクセル、及びブレーキのように車両7の走行状態に影響を与える操作装置の操作量を調整する装置である。
なお、I/O45には、管制装置10から受信した管制情報の内容を音声で通知するスピーカーを接続してもよい。内界センサ51及び外界センサ52の機能については、既に説明した通りである。
次に、管制システム1における管制装置10の動作について詳細に説明する。
図10は、管制装置10に各車両7の目的地が設定された場合に、管制装置10のCPU31によって実行される管制処理の流れの一例を示すフローチャートである。
管制処理を規定する管制プログラムは、例えば管制装置10のROM32に予め記憶されている。管制装置10のCPU31は、ROM32に記憶される管制プログラムを読み込み、管制処理を実行する。
なお、以降では説明の便宜上、管制システム1の管制対象である2台の車両P及び車両Qを例にして管制装置10の動作について説明するが、管制対象となる車両7が3台以上の場合であっても、各々の車両7について同様の処理を行えばよい。
まず、ステップS10において、CPU31は、車両P及び車両Qからそれぞれ受信した移動体情報に含まれる車両P及び車両Qの位置情報と、車両P及び車両Qの目的地に基づいて、車両P及び車両Qの大域経路を生成する。
ステップS20において、CPU31は、ステップS10で生成した車両Pの大域経路の経由点が、車両Qの大域経路の経由点から干渉範囲以内まで接近するような地点、すなわち、車両Pと車両Qの干渉地点Xを特定する。具体的には、CPU31は、車両Pの大域経路と車両Qの大域経路が交差または合流する地点の経由点や、車両Pの大域経路と車両Qの大域経路が干渉範囲以内まで接近して並走するような領域の経由点を、車両Pと車両Qの干渉地点Xとして特定する。
なお、図6に示したような干渉地点情報を参照することができる場合、CPU31は、車両Pと車両Qの各々の大域経路に、干渉地点情報で干渉地点Xとして設定されている同一の経由点が含まれていれば、当該経由点によって表される地点を車両Pと車両Qの干渉地点Xとしてもよい。
ステップS30において、CPU31は、ステップS20で特定した車両Pと車両Qの各干渉地点Xについて、干渉地点Xを車両P及び車両Qが通過する予想通過時間(以降、「干渉時間t」という)を算出する。
干渉時間tは、車両P及び車両Qのそれぞれの現在位置から干渉地点Xまでの大域経路に沿った距離(以降、「干渉地点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の算出方法は(1)式に限定されず、ドライバモデルや車両挙動モデル等を用いて干渉時間tを予測してもよい。
図11は、特定の干渉地点Xに対する車両Pの干渉時間tpと、車両Qの干渉時間tqの一例を示す図である。
このようにして、CPU31は各干渉地点Xについて、車両Pの干渉時間tp及び車両Qの干渉時間tqを算出する。
ステップS40において、CPU31は、ステップS20で特定した車両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と干渉しないように、車両7が走行することができる時間(干渉時間t)と場所(干渉地点X)を制約することから時空間制約の一例である。
以降では、干渉地点Xにおいて通過優先順位が優先に設定されているのか、それとも非優先に設定されているのかを表す状態を“sx”で表す。干渉地点Xにおける状態sxは“0”または“1”の値をとり、CPU31は、干渉地点Xにおいて車両Pが優先の場合には状態sx=0に設定し、車両Qが優先の場合には状態sx=1に設定する。
図12は、状態sx=0に設定された干渉地点Xでの仮想交通ルールを模式化した模式図である。
この場合、車両Pの干渉時間tpがtp begin以上tp end未満までの期間で表されるとすれば、車両Pは、干渉時間tpの間は干渉地点Xを車両Qに優先して通過することができる。しかしながら、車両Qは、干渉時間tpに干渉地点Xに進入すると車両Pと干渉する恐れがあるため、干渉時間tpの間は干渉地点Xへ進入しないようにする必要がある。
一方、図13は、状態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において、各車両7の通過優先順位をどのように決定するかは目的関数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を協調して扱った方がよいことを表す。
図14は、複数の干渉地点Xを協調させて取り扱った方がよい例を示す図である。図14に示すように、非優先車線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を決定してもよい。
図10のステップS50において、CPU31は、ステップS20で特定した大域経路における車両Pと車両Qの各干渉地点X、ステップS30で算出した各干渉地点Xにおける干渉時間t、及びステップS40で設定した各干渉地点Xにおける状態sxを用いて、仮想交通ルールを生成する。具体的には、CPU31は、各干渉地点Xの位置を表す位置情報(例えば干渉地点ID)と、各干渉地点Xにおける状態sxと、状態sx及び干渉時間tから得られる各干渉地点Xへの進入禁止時間を対応付けた仮想交通ルールを、車両P及び車両Qについてそれぞれ生成する。
ステップS60において、CPU31は、車両P及び車両Qに対するそれぞれの大域経路と仮想交通ルールを対応付けた車両7毎の管制情報を生成する。
CPU31は、通信網5を通じて各車両7に対応した管制情報を車両7毎に送信するための制御を行う。この場合、CPU31は、最新の移動体情報から車両P及び車両Qの位置を把握し、車両P及び車両Qの現在位置に最も近い無線通信装置3から管制情報が送信されるように、管制情報を送信する無線通信装置3を指定する。なお、無線通信装置3の位置情報は、例えば不揮発性メモリ34に予め記憶されている。
以上により、図10に示した管制処理を終了する。
一方、図15は、管制装置10から管制情報を受信した場合に、車両7の制御装置におけるCPU41によって実行される走行制御処理の流れの一例を示すフローチャートである。
走行制御処理を規定する制御プログラムは、例えば車両7の制御装置におけるROM42に予め記憶されている。車両7の制御装置におけるCPU41は、ROM42に記憶される制御プログラムを読み込み、走行制御処理を実行する。
ステップS100において、CPU41は、自身の車両7における最新の位置情報を取得する。
ステップS110において、CPU41は、自身の車両7における最新の移動体情報を取得する。
ステップS120において、CPU41は、ステップS100で取得した車両7の位置情報、ステップS110で取得した車両7の移動体情報、及び管制装置10から受信した管制情報を用いて、局所経路を生成する。
具体的には、CPU41は、移動体情報に含まれる車線8上の状況を表す外界センサのセンサ値や、車両7の状態を表す内界センサのセンサ値から、他の車両7と干渉しないように走行することができる大域経路に沿った実経路、すなわち、局所経路を決定する。この際、CPU41は、管制情報に含まれる仮想交通ルールを参照して、非優先に設定されている干渉地点Xでは干渉地点Xと対応付けられている進入禁止時間に当該干渉地点Xへ進入しないような局所経路を車両7が走行するように、車両7の目標位置、目標姿勢、及び目標速度といった車両7の制御内容を決定する。
CPU41は、車両7の目標位置及び目標姿勢から局所経路を計算した上で、仮想交通ルールを満たすように車両7が局所経路を走行するための目標速度を計算してもよい。また、CPU41は、車両7の目標位置、目標姿勢、及び目標速度を一緒に計算してもよい。
CPU41は、局所経路をパラメトリック曲線で表現し、パラメトリック曲線の曲率やパラメトリック曲線上を安全に走行することのできる速度等の制約条件を満たすようにパラメトリック曲線を最適化してもよい。
図16は仮想交通ルールを満たす局所経路の選択例を示す図である。図16の縦軸は車両7の現在位置からの距離を表し、横軸は経過時刻を表す。
CPU41は、車両7の位置情報、移動体情報、及び大域経路から計算した経路6Aが、仮想交通ルールで指定された干渉地点Xを進入禁止時間に通過するような経路6であった場合、進入禁止時間に干渉地点Xを通過しないような別の経路6Bを再計算し、車両7が経路6Bに沿って移動するために必要となる各時刻における車両7の制御内容を決定する。
ステップS130において、CPU41は、ステップS120で生成した局所経路に沿って車両7を移動させるための制御内容に従って、例えばハンドル、アクセル、及びブレーキといった車両7の走行状態に影響を与える走行装置53の操作量を制御し、計画した局所経路通りに車両7を走行させる。
以上により、図15に示す走行制御処理を終了する。
このように、車両7は、管制装置10で生成された管制情報と、外界センサ及び内界センサを用いて自らが収集した車両7の状態や車両7の周辺状況の認知結果に基づき、他の車両7と干渉することなく目的地まで走行するためには、車線8のどのような位置をどのようなスピードで走行すればよいかを自律的に判断して走行する。
しかも、管制情報に含まれる仮想交通ルールは、干渉地点Xにおける通過優先順位の時間方向の一貫性に関するコストや干渉地点X同士の協調度といった、管制システム1が管理する範囲の交通効率に影響を与えるパラメータを考慮して設定されている。したがって、車両7が仮想交通ルールを満たすように設定した局所経路を走行することで、自身の車両7の状態や車両7の周辺状況の認知結果のみに基づいて設定した経路6を走行する場合と比較して、管制システム1が車両7の管制を行う領域における交通効率が向上する。
本実施の形態では、仮想交通ルールを干渉地点X毎の状態sxと進入禁止時間の組み合わせによって表したが、仮想交通ルールの表現方法はこれに限られない。例えばCPU31は、大域経路及び車両7の移動体情報を参照して、進入禁止時間に干渉地点Xに進入しないですむような車両7の速度範囲を制約条件とした仮想交通ルールを生成してもよい。また、CPU31は、車両7の速度を進入禁止時間に干渉地点Xに進入しないですむような速度範囲に誘導するための制御内容、例えば車両7の加速時間や減速時間を制約条件とした仮想交通ルールを生成してもよい。
これまで干渉地点Xに対して状態sxや進入禁止時間といった制約条件を設定する例を説明してきたが、管制装置10の操作者は交通安全または交通効率の観点から、干渉地点X以外の任意の地点や領域に制約条件を設定してもよい。
図17は、道幅が狭く、車両7同士がすれ違うことが困難な道、すなわち、隘路での車両7の走行例を示す図である。
隘路では対向する一方の車両7が通過するまで、他方の車両7が隘路の進入口の手前で停車して待機し、一方の車両7が隘路を通過し終えた後に、他方の車両7が隘路に進入する。したがって、隘路における車両Pの通過優先順位が非優先に設定された場合、車両Pにとっての隘路の進入口の手前にあたる地点Upに進入禁止時間を設定し、進入禁止時間の前後の期間に、車両Pは経路6Pに沿って走行することになる。また、隘路における車両Qの通過優先順位が非優先に設定された場合、車両Qにとっての隘路の進入口の手前にあたる地点Uqに進入禁止時間を設定し、進入禁止時間の前後の期間に車両Qは経路6Qに沿って走行することになる。
このように複数の車両7が譲り合って走行するような車線8では、干渉地点Xと異なる地点に時空間を制約する制約条件が設定され、仮想交通ルールに反映されることがある。
一方、図18は干渉地点X以外の領域に仮想交通ルールが設定される例を示した図である。図18に示す車線8では、途中で道幅が狭くなる領域Zが存在する。こうした状況において、車両Qが道幅の狭くなる領域Zを走行する場合には車線8中央に寄らざるをえないため、直進する車両Pの経路6Pbに接近することになる。
したがって、管制装置10は、車両Qが領域Zを走行する時間帯を車両Pに対する領域Zへの進入禁止時間に設定する。車両Pは自律的に局所経路を計画するため、領域Zを回避する経路6Paと、領域Zを通過する経路6Pbのどちらかの経路6を選択することになるが、経路6Pbを選択した場合には、領域Zに設定された進入禁止時間(すなわち、領域Zに設定された仮想交通ルール)を遵守する。一方、車両Pが経路6Paを選択した場合には、車両Qと干渉する恐れがないため、領域Zに設定された仮想交通ルールを遵守する必要がない。
このように、干渉地点X以外に仮想交通ルールを設定する設定場所は、管制装置10の操作者が管制走行ルート地図15を参照して指定してもよいし、管制装置10が管制走行ルート地図15を参照して車線8の幅員の変化から自律的に検出してもよい。また、管制装置10は、移動体情報によって得られる車線8の交通量及び車両7の走行軌跡や、別途取得した道路工事及び落下物の情報等から、状況に応じて交通を規制した方がよいと考えられる干渉地点X以外の地点や領域を抽出し、抽出した干渉地点X以外の地点や領域に対して、車両7が円滑に走行できるようになる仮想交通ルールを動的に設定してもよい。
また、バスやトラックのような大型車が通過する場合には、他の車両7が通過待ちを行う必要のある隘路であっても、通過する車両7が小型車やオートバイであれば、こうした車種の車両7の通過を待つことなく、複数の車両7が幅方向に並んで通過できるような隘路が存在することがある。したがって、管制装置10は、特定の地点や領域を通過するすべての車両7に対して仮想交通ルールを設定するのではなく、車両7の車種区分や全幅といった車両7の特徴に基づき、交通を規制した方がよいと考えられる車両7だけに、隘路のような特定の地点や領域における仮想交通ルールを設定してもよい。車両7の車種区分、重量、全長、全幅、及び全高といった車両7の特徴は、移動体情報から取得可能である。
<管制システムの他の適用例>
上述した管制システム1は、他の車両7との干渉を回避しながら目的地まで車両7を移動させる様々な形態に応用が可能である。
例えば管制システム1は、乗客が降車した後の車両7を自動運転によって空いている駐車区画に駐車させるような、図19に示す無人自動バレーパーキングに適用することができる。車両7の駐車区画は移動体における格納場所の一例である。
図20は、上述した管制装置10に代わって、無人自動バレーパーキング向けの管制システム1で用いられる管制装置10Aの機能構成例を示す図である。
図20に示す管制装置10Aの機能構成が、図3に示した管制装置10の機能構成と異なる点は、目的地設定部11が配車管理部11Aに置き換えられた点であり、それ以外の構成は管制装置10と同じ構成が用いられる。
配車管理部11Aは、駐車対象となっている車両7の車両固有情報と、当該車両7の駐車区画の位置情報を受け付け、車両7の車両固有情報と駐車区画の位置情報を対応付けて大域経路計画部13に通知する。
車両7の車両固有情報と駐車区画の位置情報を受け付けた大域経路計画部13は、車両7の駐車区画、通信部12から受け付けた移動体情報、及び管制走行ルート地図15を用いて、指定された車両7の駐車区画までの大域経路を計画する(図10のステップS10に相当)。
一方、仮想交通ルール生成部14は、通信部12から受け付けた移動体情報、大域経路計画部13から受け付けた大域経路を用いて、無人自動バレーパーキング内を走行する他の車両7との干渉を回避するような仮想交通ルールを生成し(図10のステップS20〜S50に相当)、駐車対象となっている車両7に大域経路及び仮想交通ルールを含む管制情報を送信する(図10のステップS60に相当)。
これにより、駐車対象となっている車両7は、車両7の位置情報、車両7の移動体情報、及び管制装置10Aから受信した管制情報を用いて局所経路を計画し、計画した局所経路に従って指定された駐車区画まで自律的に走行する。
すなわち、管制装置10Aは、管制装置10において、管制対象となる車両7が向かおうとしている目的地を、無人自動バレーパーキング内の空いている駐車区画に限定したものとなる。
この場合、無線通信装置3は無人自動バレーパーキング内の走路に沿って設置される。無線通信装置3の電波到達範囲が無人自動バレーパーキング全体に達する場合には、無人自動バレーパーキングに無線通信装置3を1つ設置するだけでよい。
なお、車両7の駐車区画は管制装置10Aの操作者が指定してもよいが、管制装置10Aが、例えば不揮発性メモリ34に記憶している駐車情報を参照して、空いている駐車区画のうち、車両7から最も近い駐車区画を自律的に選択してもよい。また、管制装置10Aは、移動体情報から駐車対象となっている車両7の車種区分、全高、全長、及び全幅を取得して、車種区分や車両7の大きさにあった空き駐車区画を自律的に選択してもよい。
また、例えば近距離移動を想定した1人または2人乗りの車両7の一例であるパーソナルモビリティを、利用者の指定した場所まで移動させる配車制御等に管制システム1を適用することができる。また、倉庫内等を自動で移動する無人搬送車(Automated guided vehicle:AGV)や、無人フォークリフトの管制制御にも管制システム1を適用することができる。
更に、管制システム1の管制対象は車両7に限られず、大域経路に沿った仮想交通ルールを満たす局所経路を計画し、局所経路に従って自律的に移動する移動体であればどのような移動体に適用してもよい。
具体的には、管制システム1の管制対象は空中を飛行するドローンや航空機、海上を航行する船舶、及び海中を潜航する潜水艇等であってもよい。
図21は、空中を飛行するドローン同士の干渉回避に管制システム1を適用した場合の説明図である。ドローン50A及びドローン50Bは三次元空間を移動するため、管制システム1は、ドローン50A及びドローン50Bが接触する危険性が認められるような範囲まで接近する三次元空間を干渉空間Xとして設定し、干渉空間Xに対して時空間制約を設定する。その他は上述した車両7に対する管制制御と同様の管制制御を行うことで、ドローン50A及びドローン50Bがそれぞれ大域経路に沿った仮想交通ルールを満たす局所経路を計画し、局所経路に従って干渉空間Xでの干渉を回避しながら目的地まで自律的に移動することになる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
実施の形態では、一例として管制装置10における管制処理、及び車両7における走行制御処理をソフトウェアで実現する形態について説明したが、図10及び図15に示したフローチャートと同等の処理を、例えば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に接続される外部装置からそれぞれ管制プログラム及び制御プログラムをダウンロードするようにしてもよい。