以下、本実施の形態について図面を参照しながら説明する。なお、同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略するものとする。
<第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)によって定義された自動運転のレベルをいう。
部分運転自動化車両とは、管制装置10から仮想交通ルールに基づいて生成された制御制約を受信し、受信した制御制約を満たすように車両の移動を制御するが、自動運転車両のように車両7自らの判断によって車両7を制御しながら走行する自動運転機能は備えておらず、部分的に運転機能が自動化された車両である。本実施形態では、部分運転自動化車両が、運転支援機能を備えた自動運転レベル1又は2の車両である場合について説明する。部分運転自動化車両の一例として、例えば車両の速度及び先行車との車間距離の少なくとも1つの制御を自動化したクルーズコントロール機能を備えた車両が挙げられるが、これに限られるものではない。
以降では、自動運転車両及び部分運転自動化車両を区別して説明する必要がない場合には総称して「車両7」と表し、区別して説明する場合には、それぞれ自動運転車両7A及び部分運転自動化車両7Bということにする。
図2は、自動運転車両7Aの制御装置における機能構成例を示す図である。
図2に示すように、自動運転車両7Aの制御装置は、位置推定部21A、状態管理部22A、無線通信部23A、局所経路計画部24、及び制御部25Aの各機能部と、車両走行ルート地図26を含む。
位置推定部21Aは、自動運転車両7Aの位置を推定する。具体的には、位置推定部21Aは、自動運転車両7Aに取り付けられた例えばレーザレンジファインダやカメラのように、自動運転車両7Aが走行する周辺環境の形状や、移動体である自動運転車両7Aの移動路の一例である車線8上の状況を捉える外界センサから外形形状データを取得し、取得した外形形状データと、例えば予め用意している環境外形データ(自己位置推定用地図)をマッチングさせ、一致する地点を自動運転車両7Aの現在位置として推定するマップマッチングを用いて自動運転車両7Aの位置を推定する。位置推定部21Aにおける自動運転車両7Aの位置の推定方法に制約はなく、例えばGPS(Global Positioning System)を用いた自動運転車両7Aの位置の推定等、他の推定方法を用いてもよい。位置推定部21Aは、推定した自動運転車両7Aの位置を位置情報として状態管理部22A及び局所経路計画部24に通知する。
状態管理部22Aは、例えばナンバー情報及び車体番号のように自動運転車両7Aを一意に識別するために用いられる情報を含んだ車両固有情報を管理する。また、状態管理部22Aは、例えば位置情報によって表される車両7の位置、並びに、姿勢、速度、及び制御内容等を計測するセンサ(「内界センサ」と呼ばれる)や外界センサで取得した周囲の交通環境に関するセンサ値を時系列に沿って収集し、自動運転車両7Aの状態として管理する。
状態管理部22Aは、車両固有情報と自動運転車両7Aの状態を移動体情報として定期及び随時の少なくとも一方のタイミングで、無線通信部23A及び局所経路計画部24に通知する。
無線通信部23Aは、状態管理部22Aから受け付けた移動体情報を、無線通信装置3を通じて管制装置10に送信すると共に、無線通信装置3を通じて管制装置10から受信した管制情報を遅滞なく局所経路計画部24に通知する。
局所経路計画部24は、位置推定部21Aから受け付けた位置情報、状態管理部22Aから受け付けた移動体情報、無線通信部23Aから受け付けた管制情報、及び車両走行ルート地図26を用いて局所経路を計画し、制御部25Aに通知する。
局所経路計画部24は、自動運転車両7Aが管制情報に含まれる制御制約を満たし、かつ、管制情報で指定された大域経路に沿って走行するという条件の下で、移動体情報に含まれる自動運転車両7Aに取り付けられた外界センサの計測データから走行中の車道の状況を判断し、大域経路に対応した車道のどの位置を実際に走行しなければならないのかといった実経路を決定する。その上で、局所経路計画部24は、決定した実経路に沿って車両7を走行させるために従うべき各時刻における自動運転車両7Aの速度や姿勢を設定する。
このように、自動運転車両7Aが制御制約を満たしながら、管制装置10によって指定された大域経路に沿って走行するという条件の下で決定した実経路を「局所経路」と呼び、局所経路には、局所経路に従って自動運転車両7Aを走行させるための制御内容が付加される。なお、大域経路及び制御制約の詳細内容については後ほど説明する。
車両走行ルート地図26は、自動運転車両7Aが走行する車線8を表す地図情報を含んでおり、局所経路の決定や、局所経路に沿って自動運転車両7Aを走行させるための各時刻における自動運転車両7Aの制御内容の設定に用いられる。
制御部25Aは局所経路計画部24から局所経路を受け付けると、局所経路に含まれる制御内容に従って自動運転車両7Aのハンドル、アクセル、ブレーキ等を制御し、局所経路に沿った自動運転車両7Aの自律走行を実現する。
制御部25Aが実施した制御に伴うハンドル、アクセル、ブレーキ等の操作量といった自動運転車両7Aの制御内容は、各種制御量を計測するそれぞれの内界センサを通じて状態管理部22Aに通知され、自動運転車両7Aの状態として状態管理部22Aで管理される。
なお、自動運転車両7Aは管制装置10から大域経路を受信しなくても、外界センサの計測データから走行中の車道の状況を判断し、仮想交通ルールを満たすような実経路を決定することができるが、ここでは一例として、自動運転車両7Aは管制装置10から大域経路を受信して実経路、すなわち、局所経路を決定するものとする。
図3は、部分運転自動化車両7Bの制御装置における機能構成例を示す図である。
図3に示すように、部分運転自動化車両7Bの制御装置は、位置推定部21B、状態管理部22B、無線通信部23B、制御部25B、及び運転支援制御部27を含む。
部分運転自動化車両7Bは運転手が実経路を決定するため、自動運転車両7Aのように局所経路計画部24及び車両走行ルート地図26は存在せず、その代わりに、運転支援制御部27が存在する。
位置推定部21Bは、自動運転車両7Aにおける位置推定部21Aと同様の方法により部分運転自動化車両7Bの位置を推定し、推定した部分運転自動化車両7Bの位置を位置情報として状態管理部22Bに通知する。
状態管理部22Bは、自動運転車両7Aにおける状態管理部22Aと同様に、部分運転自動化車両7Bの移動体情報の収集及び管理を行う。部分運転自動化車両7Bの場合、運転手が部分運転自動化車両7Bを制御するため、部分運転自動化車両7Bの状態には、運転手が操作したハンドル、アクセル、ブレーキ等の操作量が含まれる。
また、状態管理部22Bは、管理する移動体情報を定期及び随時の少なくとも一方のタイミングで、無線通信部23Bに通知する。
無線通信部23Bは、状態管理部22Bから受け付けた移動体情報を、無線通信装置3を通じて管制装置10に送信すると共に、無線通信装置3を通じて管制装置10から受信した管制情報を遅滞なく運転支援制御部27に通知する。
運転支援制御部27は、例えばクルーズコントロール機能を備え、無線通信部23Bを通じて管制装置10から受信した管制情報に含まれる制御制約に基づいて、部分運転自動化車両7Bの速度及び先行車との車間距離の少なくとも1つを制御する。
図4は、管制装置10の機能構成例を示す図である。
図4に示すように、管制装置10は、目的地設定部11、通信部12、大域経路計画部13、走行経路予測部14、干渉地点特定部15、仮想交通ルール生成部16、及び制御制約生成部17の各機能部と、管制走行ルート地図18を含む。
通信部12は、自動運転車両7A及び部分運転自動化車両7Bの各々から無線通信装置3を通じて移動体情報を受信すると共に、後述する仮想交通ルール生成部16で生成した仮想交通ルールに基づいて、制御制約生成部17が生成した制御制約を含む管制情報を、管制情報の送信先として指定された各々の自動運転車両7A及び部分運転自動化車両7Bに送信する。通信部12は移動体情報を受信する受信部の一例であると共に、制御制約を送信する送信部の一例である。
自動運転車両7Aは、管制装置10によって指定された大域経路に沿って走行する車両7であるため、管制装置10が大域経路を計画する必要がある。
そのため、目的地設定部11は、自動運転車両7Aが向かおうとしている目的地と自動運転車両7Aの車両固有情報を受け付け、自動運転車両7Aの車両固有情報と目的地を対応付けて大域経路計画部13に通知する。
自動運転車両7Aの目的地及び車両固有情報は管制装置10の操作者が目的地設定部11に設定してもよいが、自動運転車両7Aから目的地を含む移動体情報を受信し、目的地設定部11が、受信した移動体情報に含まれる車両固有情報と目的地を対応付けて大域経路計画部13に通知してもよい。
大域経路計画部13は、目的地設定部11から受け付けた自動運転車両7Aの目的地、通信部12から受け付けた自動運転車両7Aの移動体情報A、及び管制走行ルート地図18を用いて大域経路を計画する。大域経路計画部13は計画した大域経路を干渉地点特定部15に通知する。
図5は、大域経路の計画に用いられる管制走行ルート地図18の内容例を示す図である。管制走行ルート地図18は、交通規則が変化しない区間を最小単位とした、各区間における経路情報の集合によって表現される道路構造データベースである。
管制走行ルート地図18を構成する区間(図5の例の場合、地点K1から地点K2までの区間、地点K2から地点K3までの区間、地点K3から地点K7までの区間、地点K2から地点K5までの区間、地点K4から地点K5までの区間、及び地点K5から地点K6までの区間の6区間)には、それぞれ区間における制限速度、車線数、幅員、及び区間における車線が交差する場合に優先車線であるのか、それとも非優先車線であるのかといった車線優先度等の交通規則情報が設定されている。
更に、管制走行ルート地図18を構成する各区間は、仮想的に設定された経由点の集合である経由点列によって車両7の経路6を表している。経由点とは、経路6上における車両7の位置を表す指標の1つであり、各々の経由点には経由点IDが一意に設定されているため、経由点IDから経路6上における車両7の位置が特定される。
なお、管制走行ルート地図18には干渉地点Xを予め規定している干渉地点情報が含まれる。
図6は、干渉地点Xの例を示す図である。干渉地点Xには例えば図6(A)に示すように、優先車線8Aと非優先車線8Bが交差する交差点や、一般道や高速道路でみられるような、図6(B)に示す優先車線8Aと非優先車線8Bが合流する合流点が含まれる。干渉地点Xとは、車両7同士が干渉範囲まで接近するような箇所のことであるため、干渉地点Xは必ずしも点で表されるわけではなく、一定の大きさを有する領域で表されることもある。すなわち、干渉地点Xは干渉領域の一例である。
図7は、干渉地点情報の一例を示す図であり、干渉地点情報は、例えば干渉地点X毎に干渉地点Xを一意に識別するための干渉地点ID、干渉地点Xの位置、干渉地点Xに対応する経由点を一意に識別するための経由点ID、並びに、干渉地点Xの1つ手前の経由点の位置及び経由点IDを、同じ干渉地点Xを共有する優先車線8Aと非優先車線8Bのそれぞれについて規定した情報である。
前述した自動運転車両7Aにおける車両走行ルート地図26も管制走行ルート地図18と同じ情報で構成されるが、車両走行ルート地図26は、自動運転車両7Aが実際に走行する上で必要になる、管制走行ルート地図18には含まれない情報を含んでもよい。
なお、管制走行ルート地図18に必ずしも干渉地点情報が含まれている必要はなく、この場合、管制装置10は、管制走行ルート地図18に含まれる経由点列の情報から干渉地点情報を生成すればよい。また、管制走行ルート地図18は必ずしも管制装置10に含まれる必要はなく、管制装置10は、通信部12を通じて管制装置10とは異なる外部装置から管制走行ルート地図18を取得してもよい。
図4における大域経路計画部13は、目的地設定部11から受け付けた自動運転車両7Aの車両固有情報と目的地、移動体情報Aに含まれる自動運転車両7Aの位置情報と車両固有情報、及び管制走行ルート地図18に基づいて、自動運転車両7A毎に管制走行ルート地図18上で自動運転車両7Aの現在位置から目的地までの経路6である大域経路を探索する。すなわち、大域経路は、管制走行ルート地図18を構成する各区間の経由点列をつないだ経路6として表される。
図8は、共に自動運転車両7Aである車両P及び車両Qの大域経路の一例を示す図である。複数の経路6の中から車両Pの現在位置と車両Pの目的地をつなぐ1つの経路6Pが車両Pの大域経路として選択され、車両Qの現在位置と車両Qの目的地をつなぐ1つの経路6Qが車両Qの大域経路として選択された状況を表している。
なお、大域経路計画部13における自動運転車両7Aの大域経路の探索に用いる探索方法はどのような方法であってもよく、例えばダイクストラ探索といった公知の探索方法が用いられる。
自動運転車両7Aであれば予め目的地が決められるため、管制装置10が主体となって大域経路計画部13で自動運転車両7Aの大域経路を計画することができる。自動運転車両7Aは大域経路に基づいて決定した局所経路を走行することから、管制装置10は自らが計画した大域経路によって、自動運転車両7Aの経路6を知ることができる。
一方、部分運転自動化車両7Bの場合、運転手が経路6を決定することから目的地が予め決められていないことがある。
したがって、管制装置10は大域経路計画部13で部分運転自動化車両7Bの大域経路を計画することができない。
その代わりに管制装置10は、走行経路予測部14で部分運転自動化車両7Bの走行経路を予測する。
具体的には、走行経路予測部14は、部分運転自動化車両7Bにおける移動体情報Bに含まれる位置情報と速度から走行経路を予測する。例えば走行経路予測部14は、部分運転自動化車両7Bの現在位置から特定の距離(例えば100m)までを移動体情報Bで示される速度で走行するものとし、特定の距離に対応する車線8の区間の経由点列をつないだ経路6を部分運転自動化車両7Bの走行経路として干渉地点特定部15に通知する。
しかしながら、部分運転自動化車両7Bの目的地は不明であるため、走行経路予測部14は、車線8が分岐する場合には大域経路と異なり、車線8が分岐する毎に枝分かれするすべての経路6の組み合わせを走行経路として取り扱う。
図9は、車両Pが部分運転自動化車両7Bである場合の走行経路の一例を示す図である。図9に示すように車両Pの走行先が2つに分岐している場合、走行経路予測部14は、車両Pが分岐点で何れの方向に分岐するか不明であるため、経路6P-1及び経路6P-2を共に車両Pの走行経路とする。
なお、既に説明したように、部分運転自動化車両7Bの移動体情報Bは無線通信装置3を通じて取得される。
干渉地点特定部15は、大域経路計画部13から受け付けた自動運転車両7Aの大域経路と、走行経路予測部14で予測した部分運転自動化車両7Bの走行経路に基づいて、各大域経路及び各走行経路における干渉地点Xを特定する。干渉地点特定部15は、各車両7の経路6と各々の経路6における干渉地点Xを仮想交通ルール生成部16に通知する。
仮想交通ルール生成部16は、通信部12から受け付けた各車両7の移動体情報、大域経路計画部13から受け付けた各車両7の経路6、すなわち、大域経路と走行経路、各々の経路6における干渉地点Xを用いて、自動運転車両7A及び部分運転自動化車両7Bに対する仮想交通ルールを生成する。なお、仮想交通ルールは、時空間制約の一例であり、仮想交通ルール生成部16は、時空間制約生成部の一例である。
具体的には、仮想交通ルール生成部16は、自動運転車両7Aの大域経路における干渉地点Xで干渉しあう自動運転車両7Aと他の車両7について、各々の干渉地点Xにおける干渉時間tを推定し、各干渉地点Xにおいて、車両7同士の交通効率を低下させることなく干渉地点Xでの車両7同士の干渉が回避されるような通過優先順位を自動運転車両7Aに対して規定する。
同様に、仮想交通ルール生成部16は、部分運転自動化車両7Bの走行経路における干渉地点Xで干渉しあう部分運転自動化車両7Bと他の車両7について、各々の干渉地点Xにおける干渉時間tを推定し、各干渉地点Xにおいて、車両7同士の交通効率を低下させることなく干渉地点Xでの車両7同士の干渉が回避されるような通過優先順位を部分運転自動化車両7Bに対して規定する。
仮想交通ルール生成部16は、自動運転車両7Aに対しては大域経路と仮想交通ルールを含んだ管制情報を生成し、部分運転自動化車両7Bに対して仮想交通ルールを含んだ管制情報を生成し、制御制約生成部17に出力する。
制御制約生成部17は、仮想交通ルール生成部16で生成された管制情報に含まれる仮想交通ルールに基づいて、自動運転車両7A及び部分運転自動化車両7Bの制御を制約する制御制約を自動運転車両7A及び部分運転自動化車両7B毎に生成し、通信部12に対して自動運転車両7A及び部分運転自動化車両7Bの各々に対応付けられた管制情報の送信依頼を行う。これにより、無線通信装置3から自動運転車両7Aの各々に対しては、各々に対応付けられた大域経路及び制御制約を含む管制情報が送信され、部分運転自動化車両7Bの各々に対しては、各々に対応付けられた制御制約を含む管制情報が送信されることになる。
なお、仮想交通ルールについての詳細な生成方法及び仮想交通ルールに基づく制御制約の生成方法については後ほど説明することにする。
次に、管制装置10及び車両7の制御装置における各々の電気系統の要部構成例について説明する。
図10は、管制装置10における電気系統の要部構成例を示す図である。図10に示すように、管制装置10は例えばコンピュータ30を用いて構成される。
コンピュータ30は、図4に示した管制装置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に接続されることがある。
一方、図11は、車両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に通知する装置である。自動運転車両7Aの走行装置53の場合、CPU41によって操作量が制御される。一方、部分運転自動化車両7Bの走行装置53の場合、クルーズコントロール機能に関する操作量、例えばアクセル及びブレーキに関する操作量についてはCPU41によって操作量が制御され、クルーズコントロール機能に関係しない機能に関する操作量、例えばハンドルの操作量については運転手によって操作量が制御される。
なお、I/O45には、管制装置10から受信した管制情報の内容を音声で通知するスピーカーや、触覚によって通知するデバイスを接続してもよい。内界センサ51及び外界センサ52の機能については既に説明した通りであり、例えば部分運転自動化車両7Bのように自動運転機能を備えていない車両7の場合、必ずしもI/O45に外界センサ52が接続されていないこともある。
次に、管制システム1における管制装置10の動作について詳細に説明する。
図12は、各車両7から移動体情報を受け付けた場合に、管制装置10のCPU31によって実行される管制処理の流れの一例を示すフローチャートである。
管制処理を規定する管制プログラムは、例えば管制装置10のROM32に予め記憶されている。管制装置10のCPU31は、ROM32に記憶される管制プログラムを読み込み、管制処理を実行する。
なお、以降では説明の便宜上、管制システム1の管制対象となる車両7が車両P及び車両Qの場合における管制装置10の動作について説明するが、管制対象となる車両7が3台以上の場合であっても、各々の車両7について同様の処理を行えばよい。
ステップS10において、CPU31は、移動体情報によって通知される車両7の運転機能に基づいて、車両Pと車両Qの種類を判定する。
ステップS20において、CPU31は、ステップS10で判定した車両P及び車両Qの少なくとも一方の種類が自動運転車両7Aであるか否かを判定する。車両P及び車両Qの少なくとも一方が自動運転車両7AであればステップS30に移行する。
ステップS30において、CPU31は、自動運転車両7Aから受信した移動体情報に含まれる車両7の位置情報と、自動運転車両7Aの目的地に基づいて、自動運転車両7Aの大域経路を生成する。
一方、ステップS20の判定処理において車両P及び車両Qの何れも自動運転車両7Aでないと判定された場合、ステップS30の処理を実行することなくステップS40に移行する。
ステップS40において、CPU31は、ステップS10で判定した車両P及び車両Qの少なくとも一方の種類が自動運転車両7A以外であるか否か、すなわち、車両P及び車両Qの少なくとも一方の種類が部分運転自動化車両7Bであるか否かを判定する。車両P及び車両Qの少なくとも一方の種類が部分運転自動化車両7Bである場合には、ステップS50に移行する。
ステップS50において、CPU31は、部分運転自動化車両7Bから受信した移動体情報Bに含まれる部分運転自動化車両7Bの位置情報と部分運転自動化車両7Bの速度に基づいて、部分運転自動化車両7Bの走行経路を生成する。
なお、分岐点の手前の地点で部分運転自動化車両7Bの速度が減速した場合、分岐点を直進するよりも折れ曲がる蓋然性が高いことから、CPU31は、折れ曲がる方向に進む経路6だけを部分運転自動化車両7Bの走行経路として生成してもよい。
一方、ステップS40の判定処理において車両P及び車両Qの何れも部分運転自動化車両7Bでないと判定された場合、ステップS50の処理を実行することなくステップS60に移行する。
ステップS60において、CPU31は、車両Pの経路6を示す経由点が、車両Qの経路6を示す経由点から干渉範囲以内まで接近するような地点、すなわち、車両Pと車両Qの干渉地点Xを特定する。具体的には、CPU31は、ステップS30またはステップS50で取得した車両Pの大域経路若しくは走行経路(単に「車両Pの経路6」という)と、ステップS30またはステップS50で取得した車両Qの大域経路若しくは走行経路(単に「車両Qの経路6」という)が交差または合流する地点の経由点や、車両Pの経路6と車両Qの経路6が干渉範囲以内まで接近して並走するような領域の経由点を、車両Pと車両Qの干渉地点Xとして特定する。
なお、図7に示したような干渉地点情報を参照することができる場合、CPU31は、車両Pと車両Qの各々の経路6に、干渉地点情報で干渉地点Xとして設定されている同一の経由点が含まれていれば、当該経由点によって表される地点を車両Pと車両Qの干渉地点Xとしてもよい。
ステップS70において、CPU31は、ステップS60で特定した車両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の算出方法は上記に限定されず、ドライバモデルや車両挙動モデルを用いた予測等を用いてもよい。
図13は、特定の干渉地点Xに対する車両Pの干渉時間tpと、車両Qの干渉時間tqの一例を示す図である。
このようにして、CPU31は各干渉地点Xについて、車両Pの干渉時間tp及び車両Qの干渉時間tqを算出する。
ステップS80において、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に設定する。
図14は、状態sx=0に設定された干渉地点Xでの仮想交通ルールを模式化した模式図である。
この場合、車両Pの干渉時間tpがtp
begin以上tp
end未満までの期間で表されるとすれば、車両Pは、干渉時間tpの間は干渉地点Xを車両Qに優先して通過することができる。しかしながら、車両Qは、干渉時間tpに干渉地点Xに進入すると車両Pと干渉する恐れがあるため、干渉時間tpの間は干渉地点Xへ進入しないようにする必要がある。
一方、図15は、状態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を協調して扱った方がよいことを表す。
図16は、複数の干渉地点Xを協調させて取り扱った方がよい例を示す図である。図16に示すように、非優先車線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を決定してもよい。
図12のステップS90において、CPU31は、車両P及び車両Qの種類に応じて仮想交通ルールの要否を決定し、仮想交通ルールが必要な車両7、すなわち、自動運転車両7A及び部分運転自動化車両7Bに対しては、ステップS60で特定した車両Pと車両Qの各干渉地点X、ステップS70で算出した各干渉地点Xにおける干渉時間t、及びステップS80で設定した各干渉地点Xにおける状態sxを用いて仮想交通ルールを生成する。具体的には、CPU31は、各干渉地点Xの位置を表す位置情報(例えば干渉地点ID)と、各干渉地点Xにおける状態sxと、状態sx及び干渉時間tから得られる各干渉地点Xへの進入禁止時間を対応付けた仮想交通ルールを、車両P及び車両Qの種類に応じて生成する。
ステップS100では、ステップS90で生成した仮想交通ルールに基づいて、制御制約を生成する。
以下では、目的関数C(S)を最小化することで、車両Pが優先、すなわち状態sx=0となった場合を例に説明する。この場合、車両Pが干渉地点Xを通過すると予想されている干渉時間t(tp
begin以上tp
end未満までの期間)は、車両Qは干渉地点Xへの侵入を禁止される。従って、車両Qの干渉地点Xでの進入禁止時間、すなわち干渉時間tに基づいて制御制約を算出する。
本実施形態では、車両Qの現在位置から干渉地点Xまでの区間に対する制限速度を制御制約として算出する。
図17(A)に示すように、車両Qの現在位置から干渉地点Xまでの距離をdとし、車両Qが走行している車線の制限速度をvmaxとする。
図17(A)に示すように、車両Qが制限速度vmaxで走行している場合、車両Qが干渉地点Xを通過する時刻txは次式で表される。
tx=d/vmax ・・・(9)
そして、時刻t1が下記(10)式を満たす場合は、車両Qに対して制限速度を設定しないという制御制約を生成する。
tx+α<tp
begin 若しくは tp
end<tx-α ・・・(10)
ここで、αは時刻余裕、すなわちマージンであり、予め定めた固定値である。
すなわち、図17(B)に示すように、車両Qが、車両Pが最も早く干渉地点Xを通過する場合の時刻tp
beginよりも早く干渉地点Xを通過する場合、若しくは、車両Pが最も遅く干渉地点Xを通過する場合の時刻tp
endよりも遅く干渉地点Xを通過する場合は、車両Qに対して制限速度を設定しないという制御制約を生成する。
一方、図18(B)に示すように、車両Qが干渉地点Xを通過する時刻txが干渉時間tの間の場合は、制限速度v~maxを制御制約として次式により算出する。
v~max=d/(tp
end+β) ・・・(11)
ここで、βは時刻余裕、すなわちマージンであり、予め定めた固定値である。αとβの関係としては、α≦βであることが好ましい。なお、制限速度v~maxは、図5に示す経由点毎に算出される。これにより、図18(A)、(B)に示すように、車両Pが最も遅く干渉地点Xを通過する場合の時刻tp
end+βよりも後に車両Qが干渉地点Xを通過するように、制限速度v~maxは徐々に小さくなる。
なお、算出した制限速度v~maxが、予め定めた閾値vmin未満になった場合において、車両Qの現在位置から干渉地点Xまでの距離dが距離dstop以上の場合は、制限速度v~maxをvminに設定してもよい。ここで、距離dstopは、図18(A)に示すように、干渉地点Xから予め定めた停止位置(例えば停止線)STまでの距離である。
すなわち、算出した制限速度v~maxが閾値vmin未満になった場合に車両Qの現在位置が停止位置STより手前の場合は、干渉地点Xまで余裕があるので、算出した制限速度v~maxよりも大きい閾値vminにする。これにより、車両Qの速度が必要以上に遅くなるのを防ぐことができる。
一方、算出した制限速度v~maxが閾値vmin未満になった場合において、車両Qの現在位置から干渉地点Xまでの距離dが距離dstop未満の場合、すなわち、車両Qの現在位置が停止位置STを超えている場合は、干渉地点Xまで余裕がないので、算出した制限速度v~maxは閾値vminに設定せず、そのままとする。例えば算出した制限速度v~maxが0の場合は、車両Qは停止することとなる。これにより、車両Qが干渉地点Xに進入し、車両Pと干渉するのを防ぐことができる。
ステップS110において、CPU31は、車両P及び車両Qの種類に応じて管制情報の生成の有無、及び管制情報の内容を決定する。
車両Pまたは車両Qが自動運転車両7Aであれば、CPU31は、大域経路及びステップS100で算出した制御制約を含む管制情報を生成する。車両Pまたは車両Qが部分運転自動化車両7Bであれば、CPU31は、ステップS100で算出した制御制約を含む管制情報を生成する。
CPU31は無線通信装置3を通じて、生成した管制情報を管制情報の生成対象となった車両7にそれぞれ送信するための制御を行う。
この場合、CPU31は、最新の移動体情報から管制情報の生成対象となった車両7の位置を把握し、当該車両7の現在位置に最も近い無線通信装置3から管制情報が送信されるように、管制情報を送信する無線通信装置3を指定する。無線通信装置3の位置情報は、例えば不揮発性メモリ34に予め記憶されている。
以上により、図12に示した管制処理を終了する。
なお、管制装置10の管制対象となる車両7が自動運転車両7A及び部分運転自動化車両7Bに限られ、部分運転自動化車両7Bの目的地が明らかな場合、自動運転車両7Aと同じように大域経路計画部13で部分運転自動化車両7Bの大域経路を計画すればよい。この場合、管制装置10の走行経路予測部14は不要となる。
一方、図19は、管制装置10から管制情報を受信した場合に、自動運転車両7Aの制御装置におけるCPU41によって実行される走行制御処理の流れの一例を示すフローチャートである。
自動運転車両7Aの走行制御処理を規定する制御プログラムは、例えば自動運転車両7Aの制御装置におけるROM42に予め記憶されている。自動運転車両7Aの制御装置におけるCPU41は、ROM42に記憶される制御プログラムを読み込み、自動運転車両7Aの走行制御処理を実行する。
ステップS200において、CPU41は、自身の自動運転車両7Aにおける最新の位置情報を取得する。
ステップS210において、CPU41は、自身の自動運転車両7Aにおける最新の移動体情報を取得する。
ステップS220において、CPU41は、ステップS200で取得した自動運転車両7Aの位置情報、ステップS210で取得した自動運転車両7Aの移動体情報A、及び管制装置10から受信した管制情報を用いて、局所経路を生成する。
具体的には、CPU41は、移動体情報Aに含まれる車線8上の状況を表す外界センサのセンサ値や、自動運転車両7Aの状態を表す内界センサのセンサ値から、他の車両7と干渉しないように走行することができる大域経路に沿った実経路、すなわち、局所経路を決定する。この際、CPU41は、管制情報に含まれる制御制約、すなわち制限速度を参照して、非優先に設定されている干渉地点Xでは干渉地点Xと対応付けられている進入禁止時間に当該干渉地点Xへ進入しないような局所経路を自動運転車両7Aが走行するように、自動運転車両7Aの制限速度を決定する。
ステップS230において、CPU41は、ステップS220で生成した局所経路に沿って自動運転車両7Aを移動させるための制御内容に従って、例えばハンドル、アクセル、ブレーキといった自動運転車両7Aの走行を制御する走行装置の操作量を制御し、計画した局所経路通りに且つ制限速度に従って自動運転車両7Aを走行させる。
以上により、図19に示す自動運転車両7Aの走行制御処理を終了する。
なお、管制装置10から管制情報を受信した車両7が部分運転自動化車両7Bである場合、部分運転自動化車両7Bの制御装置におけるCPU41は、図19のステップS220、S230の処理に代えて、以下の処理を実行する。すなわち、管制情報に含まれる制御制約としての制限速度で走行するように部分運転自動化車両7Bを走行させる。これにより、部分運転自動化車両7Bは、進入禁止時間には当該進入禁止時間と対応付けられた干渉地点Xに進入しないように走行するため、干渉地点Xにおける他の車両7との干渉を回避することができる。
<第2実施形態>
次に、第2実施形態について説明する。
第2実施形態では、制御制約として目標速度を用いる場合について説明する。管制システム1及び管制装置10の構成は第1実施形態と同一であるため説明は省略する。
第2実施形態では、第1実施形態で説明した図12に示す管制処理のフローチャートのステップS100の処理について説明する。ステップS100以外の処理は第1実施形態と同一であるため説明は省略する。
第2実施形態では、第1実施形態で説明した制限速度に代えて、車両Qの現在の目標速度を制御制約として算出する。従って、第1実施形態で説明した制限速度を、車両Qの現在の目標速度に置き換えればよい。以下、具体的に説明する。
ステップS100では、ステップS90で生成した仮想交通ルールに基づいて、制御制約を生成する。
以下では、目的関数C(S)を最小化することで、車両Pが優先、すなわち状態sx=0となった場合を例に説明する。この場合、車両Pが干渉地点Xを通過すると予想されている干渉時間t(tp
begin以上tp
end未満までの期間)は、車両Qは干渉地点Xへの侵入を禁止される。従って、車両Qの干渉地点Xでの進入禁止時間、すなわち干渉時間tに基づいて制御制約を算出する。
本実施形態では、車両Qの現在の目標速度を制御制約として算出する。例えば、目標速度は、自動運転システムの速度制御の目標値としてセットされる。他の例としては、目標速度は、クルーズコントロール機能の設定速度としてセットされる。
図20(A)に示すように、車両Qの現在位置から干渉地点Xまでの距離をdとし、車両Qの目標速度をvrとする。
図20(A)に示すように、車両Qが目標速度vrで走行している場合、車両Qが干渉地点Xを通過する時刻txは次式で表される。
tx=d/vr ・・・(12)
そして、時刻txが上記(10)式を満たす場合は、車両Qに対して目標速度を設定しないという制御制約を生成する。
すなわち、図20(B)に示すように、車両Qが、車両Pが最も早く干渉地点Xを通過する場合の時刻tp
beginよりも早く干渉地点Xを通過する場合、若しくは、車両Pが最も遅く干渉地点Xを通過する場合の時刻tp
endよりも遅く干渉地点Xを通過する場合は、車両Qに対して目標速度を設定しないという制御制約を生成する。
一方、図21(B)に示すように、車両Qが干渉地点Xを通過する時刻txが干渉時間tの間の場合は、目標速度を制御制約として次式により算出する。
vr=d/(tp
end+β) ・・・(13)
ここで、βは時刻余裕、すなわちマージンであり、予め定めた固定値である。αとβの関係としては、α≦βであることが好ましい。なお、目標速度vrは、図5に示す経由点毎に算出される。これにより、図21(A)、(B)に示すように、車両Pが最も遅く干渉地点Xを通過する場合の時刻tp
end+βよりも後に車両Qが干渉地点Xを通過するように目標速度vrは徐々に小さくなる。
なお、算出した目標速度vrが、予め定めた閾値vmin未満になった場合において、車両Qの現在位置から干渉地点Xまでの距離dが距離dstop以上の場合は、目標速度vrをvminに設定してもよい。
すなわち、算出した目標速度vrが閾値vmin未満になった場合に車両Qの現在位置が停止位置STより手前の場合は、干渉地点Xまで余裕があるので、算出した目標速度vrよりも大きい閾値vminにする。これにより、車両Qの速度が必要以上に遅くなるのを防ぐことができる。
一方、算出した目標速度vrが閾値vmin未満になった場合において、車両Qの現在位置から干渉地点Xまでの距離dが距離dstop未満の場合、すなわち、車両Qの現在位置が停止位置STを超えている場合は、干渉地点Xまで余裕がないので、算出した目標速度vrは閾値vminに設定せず、そのままとする。例えば算出した目標速度vrが0の場合は、車両Qは停止することとなる。これにより、車両Qが干渉地点Xに進入し、車両Pと干渉するのを防ぐことができる。
<第3実施形態>
次に、第3実施形態について説明する。
第3実施形態では、制御制約として目標車間距離を用いる場合について説明する。管制システム1及び管制装置10の構成は第1実施形態と同一であるため説明は省略する。
第3実施形態では、第1実施形態で説明した図12に示す管制処理のフローチャートのステップS100の処理について説明する。ステップS100以外の処理は第1実施形態と同一であるため説明は省略する。
第3実施形態では、第1実施形態で説明した制限速度及び第2実施形態で説明した目標速度に代えて、車両Qの現在の目標車間距離を制御制約として算出する。
ステップS100では、ステップS90で生成した仮想交通ルールに基づいて、制御制約を生成する。
以下では、目的関数C(S)を最小化することで、車両Pが優先、すなわち状態sx=0となった場合を例に説明する。この場合、車両Pが干渉地点Xを通過すると予想されている干渉時間t(tp
begin以上tp
end未満までの期間)は、車両Qは干渉地点Xへの侵入を禁止される。従って、車両Qの干渉地点Xでの進入禁止時間、すなわち干渉時間tに基づいて制御制約を算出する。
本実施形態では、車両Qの現在の目標車間距離を制御制約として算出する。
ここで、図22に示すように、車両Qが先行車Rに対して車間距離を一定に保つための目標車間距離Ldesは次式で定義される。
Ldes=(h+h~)v+Lsafe ・・・(14)
ここで、hは車間時間である。車間時間とは、先行車Rがある地点を通過してから車両Qがその地点を通過するまでの時間である。h~は制御制約による可変車間時間である。vは車両Qの速度である。Lsafeは予め定めた固定値である。Lsafeは、上記(15)式より、(h+h~)またはvが0のときの目標車間距離である。
管制装置10から制御制約が車両Qに対して送信されない場合、h~=0である。
車両Qが速度vで走行している場合に、車両Qが干渉地点Xを通過する時刻txは次式で表される。
tx=d/v ・・・(15)
時刻txが上記(10)式を満たす場合は、車両Qに対して目標車間距離を設定しないという制御制約を生成する。
一方、車両Qが速度vで車間距離を一定に保ちながら走行しており、車両Qが干渉地点Xを通過する時刻txが干渉時間tの間の場合において、図22(A)に示すように先行車Rが干渉地点Xより手前に存在する場合は、可変車間時間h~を次式により算出する。
h~=(tp
end-tnow)+β-(h+Lsafe/v+La/v) ・・・(16)
ここで、tnowは現在時刻である。Laは図22(A)に示すように、先行車Rの後尾から干渉地点Xまでの距離である。βは時刻余裕、すなわちマージンであり、予め定めた固定値である。αとβの関係としては、α≦βであることが好ましい。
一方、車両Qが速度vで車間距離を一定に保ちながら走行しており、車両Qが干渉地点Xを通過する時刻txが干渉時間tの間の場合において、図22(B)に示すように先行車Rが干渉地点Xを通過していた場合は、可変車間時間h~を次式により算出する。
h~=(tp
end-tnow)+β-(h+Lsafe/v-La/v) ・・・(17)
これにより、図22(C)に示すように、車両Pが干渉地点Xを通過した後で車両Qが干渉地点Xを通過するので干渉が回避される。このように、目標車間距離Ldesが、先行車Rと干渉地点Xとの位置関係に応じて変化する可変車間時間h~により決定されるため、先行車Rとの車間距離を適切に保ちつつ、干渉地点Xにおいて他の車両7との干渉を回避することができる。
なお、上記各実施形態では、管制システム1が車両7を管制する例について説明したが、管制システム1の管制対象は車両7に限られず、移動体であればどのようなものであってもよい。移動体には歩行者、自転車、オートバイ、車いす、キックボード、船舶、及びドローン等の飛行体が含まれる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
実施の形態では、一例として管制装置10における管制処理、及び自動運転車両7Aにおける走行制御処理をソフトウェアで実現する形態について説明したが、図12及び図19に示したフローチャートと同等の処理を、例えば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に接続される外部装置からそれぞれ管制プログラム及び制御プログラムをダウンロードするようにしてもよい。