図1は、本発明の一実施形態に係る車両用情報提供システムの構成図である。図1に示す車両用情報提供システム1は、複数の車両2の運転者に対して情報提供をそれぞれ行うものであり、複数の車載装置20と、複数の路側器3と、ネットワーク4と、センタサーバ5とを含む。
車載装置20は、車両2にそれぞれ搭載されている。路側器3は、車両2が走行する道路の路側に、所定地点に固定して設置される。路側器3とセンタサーバ5は、ネットワーク4を介して相互に接続される。センタサーバ5は、ネットワーク4および路側器3を介して、車載装置20とデータ通信を行う。
なお、以下の説明では、複数の車両2のうち1つを自車両2aと称し、それ以外の車両2を他車両2bと称する。車載装置20の動作は、自車両2aを中心として説明する。
図2は、車両2および車載装置20のハードウェア構成を例示するブロック図である。車両2は、車載装置20と、車載装置20にそれぞれ接続されたアンテナ部107、表示装置108、角速度センサ109、GPSセンサ110、ナビゲーションシステム111、複数の車両ECU112、および車速センサ113とを備える。
アンテナ部107は、例えば車両2の車体上部など、車両2の外部に向けて電波の送受信を行いやすい位置に配置される。自車両2aに搭載された車載装置20は、アンテナ部107を介した無線通信によって、路側器3や他車両2bに搭載された車載装置20とデータ通信を行うことにより、センタサーバ5や他車両2bとの間で各種情報を交換することができる。
表示装置108は、例えば液晶モニタ等であり、運転者に対して種々の情報を表示する。角速度センサ109は、車両2の角速度を測定する。GPSセンサ110は、衛星から信号を受信して車両2の位置を測位する測位装置である。ナビゲーションシステム111は、地図情報を保持し、運転者に経路案内等の各種ナビゲーション機能を提供する。車速センサ113は、車両2の車速を測定する。複数の車両ECU112は、それぞれ、車両2のアクセル、ブレーキ等を制御すると共に、角速度センサ109や車速センサ113の測定値を取得し、車両2の進行方向や走行速度を算出する。
車載装置20は、記憶装置101、CPU102、メモリ部103、および無線送受信部106を備える。記憶装置101は、例えばHDDやフラッシュメモリ等の補助記憶装置である。CPU102は、例えば記憶装置101などに記憶された所定の制御プログラムを読み込んで実行することにより、車載装置20を制御する。
メモリ部103は、CPU102が制御プログラムを実行する際に利用する主記憶装置である。無線送受信部106は、アンテナ部107を介して無線信号を送受信することにより、路側器3や他の車両2に搭載された車載装置20とデータ通信を行う。
CPU102は、車外情報処理部120、車内情報処理部130、車両情報生成部140、および警告処理部150を機能的に備える。すなわち、車外情報処理部120、車内情報処理部130、車両情報生成部140、および警告処理部150は、CPU102が実行する制御プログラムによってソフトウェア的に実現される。車外情報処理部120、車内情報処理部130、車両情報生成部140、および警告処理部150については後に詳述する。
なお、車外情報処理部120、車内情報処理部130、車両情報生成部140、および警告処理部150を、例えばFPGAのようなCPU102と同等の機能を実現できる電子回路などによってそれぞれ構成することも可能である。
図3は、路側器3およびセンタサーバ5のハードウェア構成を例示するブロック図である。路側器3は、路側器制御部205、無線送受信部206、およびアンテナ部207を備える。
無線送受信部206は、アンテナ部207を介して無線信号を送受信することにより、車両2に搭載された車載装置20とデータ通信を行う。路側器制御部205は、路側器3を制御する。路側器制御部205は、ネットワーク4に接続されている。路側器制御部205は、ネットワーク4を介してセンタサーバ5とデータ通信を行う。路側器制御部205は、無線送受信部206を制御して、センタサーバ5から送信された情報を車両2に送信したり、車両2から受信した情報をセンタサーバ5に送信したりする。
センタサーバ5は、記憶装置501、CPU502、およびメモリ部503を備える。記憶装置501は、例えばHDDやフラッシュメモリ等の補助記憶装置である。CPU502は、例えば記憶装置501などに記憶された所定の制御プログラムを読み込んで実行することにより、路側器3に送受信する情報を処理する。メモリ部503は、CPU502が制御プログラムを実行する際に利用する主記憶装置である。
CPU502は、送受信情報処理部510、および確率木処理部520を機能的に備える。すなわち、送受信情報処理部510、および確率木処理部520は、CPU502が実行する制御プログラムによってソフトウェア的に実現される。送受信情報処理部510、および確率木処理部520については後に詳述する。
次に、車載装置20およびセンタサーバ5の機能構成について説明する。
図4は、車載装置20の機能構成を例示するブロック図である。記憶装置101は、GPS情報DB900、車両ECU情報DB1000、車両情報DB1400、および路側器情報DB1700を有する。これらの各データベースの構成については後に詳述する。
車外情報処理部120は、無線送受信部106を用いて、自車両2aの外部に対して情報の送受信を行う。例えば、車外情報処理部120は、車両情報DB1400から自車両2aに関する車両情報を読み出し、これに基づき、自車両2aについて後述する車両情報パケット600を他車両2bおよび路側器3に送信する。また、車外情報処理部120は、車両情報パケット600を他車両2bから受信して、これに基づき、他車両2bに関する車両情報を車両情報DB1400に格納する。さらに、車外情報処理部120は、路側器3から後述する路側器情報パケット1100を受信して、路側器情報DB1700に格納する。
車内情報処理部130は、角速度センサ109、GPSセンサ110、ナビゲーションシステム111、車両ECU112、および車速センサ113からそれぞれ出力される情報を受信することで、自車両2aの挙動に関する情報を取得する。例えば、GPSセンサ110は後述するGPS情報パケット700を車内情報処理部130に出力する。また、車両ECU112は後述するECU情報パケット800を車内情報処理部130に出力する。ナビゲーションシステム111は、地図情報1500を有する。ナビゲーションシステム111は、地図情報1500から必要な情報を読み出し、車内情報処理部130に出力する。
車内情報処理部130は、GPSセンサ110から受信したGPS情報パケット700を、GPS情報DB900に時系列順に格納する。車内情報処理部130は、車両ECU112から受信したECU情報パケット800を、車両ECU情報DB1000に時系列順に格納する。
車両情報生成部140は、GPS情報DB900、車両ECU情報DB1000、および路側器情報DB1700にそれぞれ格納された情報を読み出し、これらの情報を基に、自車両2aに関する車両情報を生成する。車両情報生成部140は、生成した自車両2aの車両情報を車両情報DB1400に格納する。
警告処理部150は、危険検出部151、および危険報知部152を有する。危険検出部151は、車両情報DB1400から自車両2aの車両情報と他車両2bの車両情報を取得し、これらの車両情報を比較することで、自車両2aと他車両2bに衝突の可能性があるかを判断する。その結果、衝突の可能性があると判断した場合には、自車両2aに対する衝突の危険を検出し、検出結果を出力する。危険報知部152は、危険検出部151により衝突の危険が検出された場合には、表示装置108を用いて所定の警告を行うことで、その旨を運転者に報知する。
図5は、センタサーバ5の機能構成を例示するブロック図である。記憶装置501は、車両情報DB1450、確率木情報DB1600、地図情報1550を有する。これらのデータベースの構成については後に詳述する。
送受信情報処理部510は、路側器3との情報の送受信を行う。例えば、送受信情報処理部510は、各車両2から路側器3へ送信された車両情報パケット600を、路側器3を経由して受信する。送受信情報処理部510は、各車両2から受信した車両情報パケット600に基づき、各車両2に関する車両情報を車両情報DB1450に格納する。送受信情報処理部510は、各車両2が走行している道路の各車線に対する走行確率を表す確率木情報を確率木情報DB1600から取り出して路側器情報パケット1100を生成し、路側器3を介して各車両2に送信する。
確率木処理部520は、車両情報取得部521、確率木生成部522を有する。車両情報取得部521は、車両情報DB1450から各車両2に関する車両情報を取得し、これに基づいて各車両2が走行している道路を特定する。車両情報取得部521は、特定した各車両2の走行道路に対応する道路情報を地図情報1550から取得し、確率木生成部522に出力する。確率木生成部522は、車両情報取得部521から出力された道路情報に基づいて、各車両2の走行道路に対する確率木情報を生成し、確率木情報DB1600に蓄積する。
次に、自車両2aと他車両2bおよび路側器3の間で送受信される各種パケットの構成、および自車両2aやセンタサーバ5に設けられている各種データベースの構成について、以下に説明する。
図6は、自車両2aから他車両2bや路側器3に送信されたり、他車両2bから自車両2aに送信されたりする車両情報パケット600の構成を例示する図である。車両情報パケット600は、車両ID601、緯度1情報602、緯度2情報603、経度1情報604、経度2情報605、測位時間606、車両進行方向607、車両走行速度608、走行道路ID609、車線ID610、および情報精度611の各情報を含む。
車両ID601は、当該車両情報パケット600を送信した車両2の車両IDを表す。この車両ID601の値により、当該車両情報パケット600がどの車両2から送信されたものであるかが特定される。なお、車両IDの値は、互いに重複しないように、車両2ごとに固有の値が予め設定されている。以降の図6の説明では、車両ID601の値から特定される送信元の車両2を単に「車両2」として説明する。この車両2は、自車両2aや他車両2bを含むものである。
緯度1情報602は、車両2の現在位置を表す緯度値である。緯度2情報603は、緯度1情報602の値が北緯(N)か南緯(S)かを表す情報である。経度1情報604は、車両2の現在位置を表す経度値である。経度2情報605は、経度1情報604の値が東経(E)か西経(W)かを表す情報である。
測位時間606は、緯度1情報602、緯度2情報603、経度1情報604、および経度2情報605の値が測位により取得された時間(時刻)を表す情報である。
車両進行方向607は、測位時間606における車両2の進行方向を表す情報である。車両進行方向607は、所定方向(例えば磁北方向)を0とする角度で表現される。車両走行速度608は、測位時間606における車両2の走行速度を表す情報である。車両走行速度608は、例えばキロメートル毎時の数値で表現される。
走行道路ID609は、測位時間606において車両2が走行していた道路の道路IDを表す。この走行道路ID609の値により、車両2がどの道路を走行していたかが特定される。なお、道路IDの値は、互いに重複しないように、道路ごとに固有の値が予め設定されている。
車線ID610は、測位時間606において車両2が道路上で走行していたと推定される車線の車線IDを表す。この車線ID610の値により、車両2が走行していた可能性が最も高い車線が特定される。なお、車線IDの値は、互いに重複しないように、各道路において車線ごとに固有の値が予め設定されている。
情報精度611は、車両2の走行車線の推定結果に対する信頼確度、すなわち車線ID610が示す車線を車両2が実際に走行したことの確からしさを表す。情報精度611の値は、例えば確率で表現される。
車両情報生成部140は、所定のタイミングごとに、GPS情報DB900および車両ECU情報DB1000から、特定の時刻における測位結果および車両情報(速度、進行方向など)をそれぞれ取得して、自車両2aに関する車両情報を生成する。車外情報処理部120は、車両情報生成部140で生成された車両情報に基づいて、図6のような車両情報パケット600を作成し、自車両2aの近傍(例えば自車両2aを中心として半径数十メートル範囲内)に位置する他車両2bや路側器3に送信する。これにより、自車両2aに関する車両情報を、自車両2aの周辺の他車両2bや路側器3に送信する。
図7は、GPS情報パケット700の構成を例示する図である。GPS情報パケット700は、緯度1情報701、緯度2情報702、経度1情報703、経度2情報704、および測位時間705を含む。
緯度1情報701は、当該GPS情報パケット700を送信したGPSセンサ110を搭載している車両2(以下、図7の説明において単に「車両2」と表す)の現在位置を表す緯度値である。緯度2情報702は、緯度1情報701の値が北緯(N)か南緯(S)かを表す情報である。経度1情報703は、車両2の現在位置を表す経度値である。経度2情報704は、経度1情報703の値が東経(E)か西経(W)かを表す情報である。
測位時間705は、緯度1情報701、緯度2情報702、経度1情報703、および経度2情報704の値が測位により取得された時間(時刻)を表す情報である。
GPSセンサ110は、衛星から信号を受信して車両2の位置を測位し、その測位結果を図7のようなGPS情報パケット700の形で、車内情報処理部130に送信する。車内情報処理部130は、受信したGPS情報パケット700に含まれる各情報を、GPS情報DB900に格納する。
図8は、車両ECU情報パケット800の構成を例示する図である。車両ECU情報パケット800は、車両進行方向801、車両走行速度802、ウインカー点灯状態803、および測定時間804を含む。
車両進行方向801は、当該車両ECU情報パケット800を送信した車両ECU112を搭載している車両2(以下、図8の説明において単に「車両2」と表す)の進行方向を表す情報である。車両走行速度802は、車両2の走行速度を表す情報である。ウインカー点灯状態803は、車両2の左右のウインカーの点灯状態を表す情報である。測定時間804は、車両進行方向801、車両走行速度802、およびウインカー点灯状態803の値が車両ECU112により取得された時間(時刻)を表す情報である。
車両ECU112は、車両2の制御情報に基づき、図8のような車両ECU情報パケット800を作成する。車両ECU112は、作成した車両ECU情報パケット800を車内情報処理部130に送信する。車内情報処理部130は、受信した車両ECU情報パケット800に含まれる各情報を、車両ECU情報DB1000に格納する。
なお、車両ECU情報パケット800に含まれる情報は、図8に例示した情報そのものではなく、図8に例示した情報を生成可能な情報であってもよい。例えばアクセル開度やブレーキ圧、操舵角などの測定情報であってもよい。この場合において、車内情報処理部130は、車両ECU情報パケット800に含まれる情報に基づいて、図8に例示した車両進行方向801や車両走行速度802の値を求めることが好ましい。例えば、車両ECU情報パケット800に対してデッドレコニング(Dead-Reckoning:DR)等の種々の演算を施し、車両ECU情報パケット800に含まれる上記の測定情報から求めた車両2の加速度や角速度を初期状態に逐次たし合わせていくことにより、図8に例示した車両進行方向801や車両走行速度802の値を求めることができる。
図9は、GPS情報DB900の構成を例示する図である。GPS情報DB900は、Na個のGPS情報900−1〜900−Naを記憶する。GPS情報900−1〜900−Naの各々は、緯度1情報901、緯度2情報902、経度1情報903、経度2情報904、および測位時間905を含む。
緯度1情報901、緯度2情報902、経度1情報903、経度2情報904、および測位時間905の内容は、それぞれ、図7で説明した緯度1情報701、緯度2情報702、経度1情報703、経度2情報704、および測位時間705とそれぞれ同一であるので、説明を省略する。
車内情報処理部130は、GPSセンサ110からGPS情報パケット700を受信する度に、そのGPS情報パケット700に含まれる各情報を、図9のような形式でGPS情報DB900に追記する。すなわちGPS情報DB900には、GPS情報パケット700に含まれる各情報が、時系列順に格納される。
図10は、車両ECU情報DB1000の構成を例示する図である。車両ECU情報DB1000は、Nb個のECU情報1000−1〜1000−Nbを記憶する。ECU情報1000−1〜1000−Nbの各々は、車両進行方向1001、車両走行速度1002、ウインカー点灯状態1003、および測定時間1004を含む。
車両進行方向1001、車両走行速度1002、ウインカー点灯状態1003、および測定時間1004の内容は、それぞれ、図8で説明した車両進行方向801、車両走行速度802、ウインカー点灯状態803、測定時間804と同一であるので、説明を省略する。
車内情報処理部130は、車両ECU112から車両ECU情報パケット800を受信する度に、その車両ECU情報パケット800に含まれる各情報を、図10のような形式で車両ECU情報DB1000に追記する。すなわち車両ECU情報DB1000には、車両ECU情報パケット800に含まれる各情報が、時系列順に格納される。
図11は、路側器情報パケット1100の構成を例示する図である。路側器情報パケット1100は、路側器ID1101、送信先車両ID1102、および確率木情報1103を含む。
路側器ID1101は、当該路側器情報パケット1100を送信した路側器3の路側器IDを表す。この路側器ID1101の値により、当該路側器情報パケット1100がどの路側器3から送信されたものであるかが特定される。なお、路側器IDの値は、互いに重複しないように、路側器3ごとに固有の値が予め設定されている。以降の図11の説明では、路側器ID1101の値から特定される送信元の路側器3を単に「路側器3」として説明する。送信先車両ID1102は、当該路側器情報パケット1100の送信先の車両2を特定するための車両IDを表す情報である。確率木情報1103は、送信先の車両2が走行している道路の各車線に対する走行確率を表す確率木の情報である。なお、確率木情報1103の詳細は、図12を参照して後述する。
路側器3は、車両2が路側器3の近傍(例えば路側器3を中心とする半径数十メートル範囲内)に位置した場合に、図11に示すような形式の路側器情報パケット1100を車両2に送信する。このとき路側器3は、センタサーバ5から受信した情報を確率木情報1103として含めることで路側器情報パケット1100を作成し、作成した路側器情報パケット1100を近傍に位置する車両2に送信する。車外情報処理部120は、路側器3から受信した路側器情報パケット1100に含まれる各情報を、後述する図17のような形式で路側器情報DB1700に格納する。これにより、自車両2aの挙動に応じた道路の各車線の走行確率を表す確率木情報を取得する。すなわち、車外情報処理部120は、センタサーバ5から確率木情報を取得する確率木取得部として作用する。
図12は、図11の路側器情報パケット1100に含まれる確率木情報1103の構成を例示する図である。確率木情報1103は、Nc個の枝情報1200−1〜1200−Ncを含む。枝情報1200−1〜1200−Ncの各々は、ノードID1201、階層1202、接続先ノードID1203、車線確率1204、加速度1205、ウインカー情報1206、速度1207、および操作完了までの時間1208を含む。
ノードID1201は、確率木の枝ごとに付されたノードのノードIDを表す。このノードID1201の値により、当該枝情報が確率木においてどの枝に対応するものであるかが特定される。なお、ノードIDの値は、互いに重複しないように、ノードごとに固有の値が予め設定されている。階層1202は、当該枝情報が表す枝が確率木においてどの階層にあるかを示す番号である。接続先ノードID1203は、当該枝情報が表す枝から分岐する枝に付されたノードのノードIDである。すなわち、接続先ノードID1203は、確率木情報1103における枝情報1200−1〜1200−Ncのつながりを示す情報である。車線確率1204は、当該枝情報が表す枝に対応する道路上の各車線における車両2の存在確率を示す。
加速度1205は、当該枝情報に対する車両2の加速度の条件を示す。ウインカー情報1206は、当該枝情報に対する車両2のウインカー点灯状態の条件を示す。速度1207は、当該枝情報に対する車両2の速度の条件を示す。操作完了までの時間1208は、当該枝情報に対する車両2の運転操作が完了するまでの時間の条件を示しており、例えば「1」、「2」、「3」、「4」の4つの段階で時間の条件を表している。操作完了までの時間は、車両がある地点から通過予定交差点において右折、左折および直進が完了するまでの予測時間を運転操作の段階で分割した時間を示す。運転者が交差点において右折、左折および直進が完了するまでの予測時間をこの場合4つに分割し、分割した時間内で車両の状態変化を確率木情報と比較する。また操作完了までの時間は、車両がある地点から通過予定交差点までの距離を使用してもよい。その場合は車両がある地点から通過予測交差点までの各区間内の車両の状態変化を確率木情報と比較する。またこの操作完了までの時間は、車両の速度や周辺の道路状況に応じて変更させてもよい。車載装置20は、車両2の状態が加速度1205、ウインカー情報1206、速度1207、操作完了までの時間1208の各条件をそれぞれ満たすか否かを判断することにより、確率木情報1103においてどの枝情報を採用するかを決定することができる。
図13は、図12に示した確率木情報1103の説明図である。例で示した確率木は、左折、直線、右折の3車線道路を想定した確率木である。確率木は例に示した道路形状に限らず車線数毎に作成した確率木であってもよいし、交差点通過後の進路方向ごとの確率木を作成してもよい。確率木情報1103における枝情報1200−1〜1200−7の各々は、車両2が走行する車線を判断するための確率を示す情報であり、図13に示すような接続関係を有している。例えば、枝情報1200−1は、車両2がL1〜L3の3つの車線を有する道路を走行しており、車両2の速度が時速50kmから100kmの間である場合には、これらの車線を走る確率がそれぞれ33%であることを表している。操作完了までの時間は、それぞれの操作が完了する段階を示している。
図14は、車両情報DB1400、1450の構成を例示する図である。なお、車載装置20における車両情報DB1400と、センタサーバ5における車両情報DB1450とは、共通の構成を有している。そのため、図14では、これらの構成をまとめて示している。
車両情報DB1400、1450は、複数の車両情報1400−1〜1400−Ndをそれぞれ記憶する。車両情報1400−1〜1400−Ndの各々は、車両ID1401、緯度1情報1402、緯度2情報1403、経度1情報1404、経度2情報1405、受信時間1406、測位時間1407、車両進行方向1408、車両走行速度1409、走行道路ID1410、車線1411、および情報精度1412を含む。
車両ID1401、緯度1情報1402、緯度2情報1403、経度1情報1404、経度2情報1405、測位時間1407、車両進行方向1408、車両走行速度1409、走行道路ID1410、車線1411、および情報精度1412は、それぞれ、図6で説明した車両ID601、緯度1情報602、緯度2情報603、経度1情報604、経度2情報605、測位時間606、車両進行方向607、車両走行速度608、走行道路ID609、車線ID610、および情報精度611と同一であるので、説明を省略する。受信時間1406は、当該車両情報を含む車両情報パケット600を他車両2bから受信した時間(時刻)、または当該車両情報が自車両2aにおいて生成された時間(時刻)を表す情報である。
車載装置20において、車外情報処理部120は、他車両2bから車両情報パケット600を受信する度に、受信したパケットに含まれる各情報を、他車両2bに関する車両情報として車両情報DB1400に追記する。また、車両情報生成部140は、自車両2aに関する車両情報を生成する度に、生成した車両情報を車両情報DB1400に追記する。すなわち、車両情報DB1400には、他車両2bから受信した車両情報パケット600や自車両2aの車両情報に含まれる各情報が、時系列順に格納される。
センタサーバ5において、送受信情報処理部510は、自車両2aや他車両2bから路側器3を介して車両情報パケット600を受信する度に、受信したパケットに含まれる各情報を、車両情報DB1450に追記する。すなわち、車両情報DB1450には、自車両2aや他車両2bから受信した車両情報パケット600に含まれる各情報が、時系列順に格納される。
図15は、地図情報1500、1550の構成を例示する図である。なお、車両2に搭載されたナビゲーションシステム111における地図情報1500と、センタサーバ5における地図情報1550とは、共通の構成を有している。そのため、図15では、これらの構成をまとめて示している。
地図情報1500、1550は、複数の道路情報1500−1〜1500−Neをそれぞれ記憶する。道路情報1500−1〜1500−Neの各々は、道路ID1501、結点1の緯度1情報1502、緯度2情報1503、経度1情報1504、経度2情報1505、接続道路ID1506、結点2の緯度1情報1507、緯度2情報1508、経度1情報1509、経度2情報1510、接続道路ID1511、および車線数1512を含む。
道路ID1501は、道路ごとに付された道路IDを表す。この道路ID1501の値により、当該道路情報がどの道路に対応するものであるかが特定される。なお、道路IDの値は、互いに重複しないように、道路ごとに固有の値が予め設定されている。
結点1の緯度1情報1502、緯度2情報1503、経度1情報1504、経度2情報1505は、当該道路情報が表す道路の一端である結点1の位置をそれぞれ表している。緯度1情報1502は緯度値である。緯度2情報1503は、緯度1情報1502の値が北緯(N)か南緯(S)かを表す情報である。経度1情報1504は経度値である。経度2情報1505は、経度1情報1504の値が東経(E)か西経(W)かを表す情報である。結点1の接続道路ID1506は、当該道路情報が表す道路が結点1において接続している道路の道路IDを表す。
結点2の緯度1情報1507、緯度2情報1508、経度1情報1509、経度2情報1510は、当該道路情報が表す道路の他端である結点2の位置をそれぞれ表している。緯度1情報1507は緯度値である。緯度2情報1508は、緯度1情報1507の値が北緯(N)か南緯(S)かを表す情報である。経度1情報1509は経度値である。経度2情報1510は、経度1情報1509の値が東経(E)か西経(W)かを表す情報である。結点2の接続道路ID1511は、当該道路情報が表す道路が結点2において接続している道路の道路IDを表す。
車線数1512は、当該道路情報が表す道路の車線数を表す。
図15に示す例では、道路IDが「1」として登録されている道路について、その一端の場所(位置)が、北緯で「4807.038247」、東経で「01131.324523」であり、他の一端の場所(位置)が、北緯で「4807.038147」、東経で「01131.324423」であることを示している。さらに、この道路の車線数は2であることを示している。同様に、道路IDが「2」として登録されている道路について、その一端の場所(位置)が、北緯で「4807.038248」、東経で「01131.324524」であり、他の一端の場所(位置)が、北緯で「4807.038047」、東経で「01131.324324」であることを示している。さらに、この道路の車線数は3であることを示している。そして、これらの道路が互いに接続されていることを示している。このように、地図情報1500、1550において、道路は2つの地点を結ぶ線分として定義されている。
なお、図15に示した地図情報1500、1550では、道路の位置を示すために、道路の両端点の位置を、図14に示した車両情報DB1400、1450における各車両情報と同様に、GPSで用いられているNMEA形式で表している。これらに代えて、例えば、地球を中心とする地心座標系等の座標系を用いて、道路の両端点の位置を定義することとしてもよい。また、道路の位置を両端点の位置により定義するのではなく、2以上の複数の地点の位置によって定義してもよい。さらに、車線数を予め定めずに、例えば工事情報等を受信することで各車線の状況(進行許可の有無等)を把握して、その状況に応じて車線数を定めることとしてもよい。
図16は、確率木情報DB1600の構成を例示する図である。確率木情報DB1600は、複数の確率木情報1600−1〜1600−Nfを記憶する。確率木情報1600−1〜1600−Nfの各々は、道路ごとの確率木の情報として、道路ID1601、作成時間1602、確率木情報1603を含む。道路ID1601は、図15に示した地図情報1500、1550と同様に、道路ごとに付された道路IDを表す。作成時間1602は、当該確立木情報が生成された時間を表す。確率木情報1603は、道路ごとに設定された確率木情報を表しており、その構成は図12に示したとおりである。
図17は、路側器情報DB1700の構成を例示する図である。路側器情報DB1700は、複数の路側器情報1700−1〜1700−Ngを記憶する。路側器情報1700−1〜1700−Ngの各々は、受信時間1701、路側器ID1702、および確率木情報1703を含む。受信時間1701は、当該路側器情報を含む路側器情報パケット1100を受信した時間(時刻)を表す情報である。路側器ID1702は、図11で説明した路側器ID1101と同様に、路側器情報パケット1100を送信した路側器3の路側器IDを表す。確率木情報1703は、路側器情報パケット1100の受信時に自車両2aが走行している道路の各車線に対する走行確率を表す確率木の情報であり、その構成は図12に示したとおりである。
車載装置20において、車外情報処理部120は、路側器3から路側器情報パケット1100を受信する度に、受信したパケットに含まれる各情報を、路側器情報として路側器情報DB1700に追記する。すなわち、路側器情報DB1700には、路側器3から受信した路側器情報パケット1100に含まれる各情報が、時系列順に格納される。
次に、自車両2aにおいて車両情報を生成し、他車両2bや路側器3に車両情報パケット600を送信する際の車載装置20の処理について説明する。図18は、車載装置20のCPU102が実行する車両情報生成・送信処理のフローチャートである。このフローチャートに示す処理は、自車両2aに搭載された車載装置20のCPU102において、所定時間ごとに実行されて車両情報パケットを定期的に送信する。
ステップS10において、CPU102は、車両情報生成部140により、自車両2aの車両情報の生成に必要な情報として、自車両2aの挙動に関する情報を取得する。このとき車両情報生成部140は、GPS情報DB900から、直近の所定時間内における自車両2aの位置を表す最新のM件のGPS情報を取得し、車両ECU情報DB1000から、直近の所定時間内における自車両2aの進行方向、走行速度およびウインカー点灯状態を表す最新のM件のECU情報を取得する。さらに、取得したこれらの情報から、自車両2aの加速度を算出する。なお、進行方向や走行速度については、取得したGPS情報から求めてもよい。例えば、単位時間当たりの位置変化量から進行方向や走行速度を求めたり、単位時間当たりの速度変化量から加速度を求めたりすることができる。また、カルマンフィルターなどの方法で補正した位置情報から、速度や加速度を求めてもよい。
ステップS20において、CPU102は、車両情報生成部140により、自車両2aが走行している道路の確率木情報を路側器情報DB1700から取得する。このとき車両情報生成部140は、ステップS10で取得したGPS情報と地図情報1500に基づいて、自車両2aがどの道路を走行しているかを特定し、その道路に対応する確率木情報を路側器情報DB1700から取得する。
ステップS30において、CPU102は、車両情報生成部140により、ステップS10で取得した情報と、ステップS20で取得した確率木情報とを比較する。このとき車両情報生成部140は、ステップS10で取得した情報に基づいて、自車両2aの状態がステップS20で取得した確率木情報に含まれる各枝情報の条件を満たすか否かを判断する。
ステップS40において、CPU102は、車両情報生成部140により、ステップS30の比較結果に基づいて、現在の自車両2aの状態に条件が当てはまる枝情報が確率木情報において存在するか否かを判定する。その結果、条件が当てはまる枝情報が存在する場合はステップS50に進み、ない場合はステップS50を実行せずにステップS60に進む。
ステップS50において、CPU102は、車両情報生成部140により、確率木情報から自車両2aが走行している車線を推定すると共に、その車線推定結果に対する情報精度を推定する。ここでは、ステップS30で現在の自車両2aの状態に条件が当てはまると判断した枝情報を確率木情報から抽出し、その枝情報が表す条件ごとの車線と車線確率の値に基づいて、車線と情報精度を推定する。
以下では、図20の具体例を参照して、ステップS50における車線と情報精度の推定方法を説明する。図20は、車載装置20を搭載した自車両2aが、L1、L2、L3の3つの車線を有する道路を交差点に向かって走行している状況を示している図である。車線L1は左折車線、車線L2は直線車線、車線L3は右折車線である。このような状況において、車両情報生成部140は、以下のようにして自車両2aがどの車線を走行しているかを判断する。
車両情報生成部140は、図18のステップS20において、自車両2aが走行中の道路に対応する確率木情報を路側器情報DB1700から読み出して取得する。ここでは、図12、13に示した内容の枝情報1200−1〜1200−7からなる確率木情報1103が読み出されたとする。枝情報1200−1〜1200−7は、自車両2aが交差点を右左折もしくは直進して通過するまでの時間を操作完了までの時間として、この操作完了までの時間に応じて4つの段階に分類される。例えば、交差点通過の15秒前から走行車線の推定を開始する場合、枝情報1200−1は、交差点通過の15秒前から11秒前までの第1段階を表し、枝情報1200−2、1200−3は、交差点通過の11秒前から7秒前までの第2段階を表し、枝情報1200−4、1200−5は、交差点通過の7秒前から4秒前までの第3段階を表し、枝情報1200−6、1200−7は、交差点通過の4秒前から通過時までの第4段階を表す。
車両情報生成部140は、図18のステップS50において、上記の枝情報1200−1〜1200−7のうち、ステップS10で取得した情報が表す自車両2aの状態に条件が当てはまる枝情報を用いて、自車両2aがどの車線に何%の確率で存在するかを推定する。操作完了までの時間が第1段階、すなわち交差点通過の15秒前から11秒前までの期間では、車両情報生成部140は、操作完了までの時間が「1」である枝情報1200−1について、加速度、ウインカー点灯状態、速度の各条件が自車両2aの状態に当てはまるか否かを判断する。その結果、これらの条件が自車両2aの状態に当てはまると判断した場合には、枝情報1200−1を用いて、自車両2aがどの車線に何%の確率で存在するかを推定する。すなわち、自車両2aの走行速度が50〜100km/hである場合には、枝情報1200−1が自車両2aの状態に当てはまると判断し、枝情報1200−1を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L1、L2、L3にそれぞれ33%の確率で存在すると判断される。
第1段階において自車両2aの状態が枝情報1200−1に当てはまったと判断した場合、車両情報生成部140は、操作完了までの時間が次の第2段階、すなわち交差点通過の11秒前から7秒前までの期間に移行しても、自車両2aの走行車線の推定を継続する。第2段階になると、車両情報生成部140は、操作完了までの時間が「2」であり、枝情報1200−1から分岐する枝情報1200−2、1200−3の各々について、加速度、ウインカー点灯状態、速度の各条件が自車両2aの状態に当てはまるか否かを判断する。その結果、いずれかの枝情報についてこれらの条件が自車両2aの状態に当てはまると判断した場合には、その枝情報を用いて、自車両2aがどの車線に何%の確率で存在するかを推定する。すなわち、自車両2aの加速度が10km/h/s以上であり、かつ走行速度が20km/h以上の場合には、枝情報1200−2が自車両2aの状態に当てはまると判断し、枝情報1200−2を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L2に90%の確率で存在すると判断される。一方、自車両2aの加速度が10km/h/s未満であり、かつ走行速度が20km/h未満の場合には、枝情報1200−3が自車両2aの状態に当てはまると判断し、枝情報1200−3を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L1、L3にそれぞれ50%の確率で存在すると判断される。
第2段階において自車両2aの状態が枝情報1200−3に当てはまったと判断した場合、車両情報生成部140は、操作完了までの時間が次の第3段階、すなわち交差点通過の7秒前から4秒前までの期間に移行しても、自車両2aの走行車線の推定を継続する。第3段階になると、車両情報生成部140は、操作完了までの時間が「3」であり、枝情報1200−3から分岐する枝情報1200−4、1200−5の各々について、加速度、ウインカー点灯状態、速度の各条件が自車両2aの状態に当てはまるか否かを判断する。その結果、いずれかの枝情報についてこれらの条件が自車両2aの状態に当てはまると判断した場合には、その枝情報を用いて、自車両2aがどの車線に何%の確率で存在するかを推定する。すなわち、自車両2aのウインカーが点灯されていない場合には、枝情報1200−4が自車両2aの状態に当てはまると判断し、枝情報1200−4を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L1、L3にそれぞれ50%の確率で存在すると判断される。一方、自車両2aの左ウインカーまたは右ウインカーが点灯されている場合には、枝情報1200−5が自車両2aの状態に当てはまると判断し、枝情報1200−5を用いて自車両2aの車線を推定する。その結果、左ウインカーが点灯されている場合、自車両2aは車線L1に90%の確率で存在すると判断され、右ウインカーが点灯されている場合、自車両2aは車線L3に90%の確率で存在すると判断される。
第3段階において自車両2aの状態が枝情報1200−4に当てはまったと判断した場合、車両情報生成部140は、操作完了までの時間が次の第4段階、すなわち交差点通過の4秒前から通過時までの期間に移行しても、自車両2aの走行車線の推定を継続する。第4段階になると、車両情報生成部140は、操作完了までの時間が「4」であり、枝情報1200−4から分岐する枝情報1200−6、1200−7の各々について、加速度、ウインカー点灯状態、速度の各条件が自車両2aの状態に当てはまるか否かを判断する。その結果、いずれかの枝情報についてこれらの条件が自車両2aの状態に当てはまると判断した場合には、その枝情報を用いて、自車両2aがどの車線に何%の確率で存在するかを推定する。すなわち、自車両2aの走行速度が10km/h以上の場合には、枝情報1200−6が自車両2aの状態に当てはまると判断し、枝情報1200−6を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L1に90%の確率で存在すると判断される。一方、自車両2aの走行速度が10km/h未満の場合には、枝情報1200−7が自車両2aの状態に当てはまると判断し、枝情報1200−7を用いて自車両2aの車線を推定する。その結果、自車両2aは、車線L3に90%の確率で存在すると判断される。
図18のステップS50では、以上説明したようにして、ステップS10で取得した自車両2aの挙動に関する情報に基づいて、自車両2aがどの車線に何%の確率で存在するかを確率木情報から判断することにより、自車両2aの走行車線と情報精度の推定を行うことができる。すなわち、確率木情報において自車両2aの状態に当てはまる枝情報を特定し、その枝情報が表す車線と車線確率の値を取得することで、自車両2aが走行している車線を推定すると共に、その走行車線の推定結果に対する情報精度を推定することができる。
図18の説明に戻ると、ステップS60において、CPU102は、車両情報生成部140により、現在の自車両2aの状態に応じた車両情報を生成する。ここでは、予め設定された自車両2aの車両IDを車両ID1401に書き込むと共に、ステップS10で取得した情報に基づき、図14の緯度1情報1402、緯度2情報1403、経度1情報1404、経度2情報1405、受信時間1406、測位時間1407、車両進行方向1408、車両走行速度1409、走行道路ID1410の各情報を設定する。また、ステップS50で車線と情報精度を推定した場合には、これらの推定結果に基づき、車線1411、情報精度1412の各情報を設定する。一方、ステップS50を実行せずにステップS60に進んだ場合は、車線1411および情報精度1412を不明に設定する。これにより、車両情報生成部140において、自車両2aに関する車両情報を定期的に生成することができる。生成した車両情報は、車両情報DB1400に格納される。
ステップS70において、CPU102は、車外情報処理部120により、自車両2aの車両情報を表す車両情報パケット600を自車両2a周辺の他車両2bや路側器3に送信する。このとき車外情報処理部120は、車両情報DB1400から自車両2aに関する最新の車両情報を読み出し、その車両情報に基づいて、図6に示すような車両情報パケット600を生成する。そして、生成した車両情報パケット600を無線送受信部106に出力して送信させる。
ステップS70を実行したら、CPU102は、図18のフローチャートに示す処理を終了する。
CPU102は、車外情報処理部120により、自車両2a周辺の他車両2bまたは路側器3から、他車両2bの車両情報を表す車両情報パケット600、または路側器情報パケット1100を受信する。このとき車外情報処理部120は、無線送受信部106を介して、車両情報パケット600または路側器情報パケット1100を受信する。そして、受信した車両情報パケット600または路側器情報パケット1100に含まれる各情報を、車両情報DB1400または路側器情報DB1700に出力して格納させる。
次に、車両用情報提供システム1全体の動作について説明する。図19は、車両用情報提供システム1全体の動作を示すシーケンス図である。車両用情報提供システム1において、センタサーバ5および各車両2に搭載された車載装置20は、それぞれ図19に示す処理を繰り返し実行する。
ステップS201において、自車両2aに搭載された車載装置20は、図18に示した車両情報生成・送信処理のフローチャートに従い、定期的に自車両2aの車両情報を生成し、周辺の他車両2bや路側器3に送信する。また、他車両2bから送信された他車両2bの車両情報を受信する。
ステップS202において、自車両2aに搭載された車載装置20は、車外情報処理部120により、路側器3から送信された路側器情報を受信する。
ステップS203において、自車両2aに搭載された車載装置20は、警告処理部150の危険検出部151により、自車両2aの位置や車線と、他車両2bの車両情報が表す他車両2bの位置や車線とを比較する。ここでは、車両情報DB1400に蓄積された車両情報のうち、最新の自車両2aの車両情報と他車両2bの車両情報とを抽出し、これらの内容を比較することにより、自車両2aと他車両2bに衝突の危険があるかどうかを判断する。例えば、自車両2aの車両情報から、図18のステップS50で推定された自車両2aの走行車線を特定し、その走行車線に基づいて自車両2aの進行方向を推定する。そして、推定した自車両の進行方向において所定範囲内に他車両2bが存在する場合には、自車両2aと他車両2bに衝突の危険があると判断する。その結果、衝突の危険があると判断した場合には、危険報知部152により、表示装置108を介して運転者に所定の警告を行い、衝突の危険があることを通知する。
ステップS204において、自車両2aに搭載された車載装置20は、車外情報処理部120により、ステップS203で行った制御の結果や自車両2aの動きを表す車両情報を路側器3に送信する。
ステップS301からステップS304において、他車両2bに搭載された車載装置20は、ステップS201〜S204で説明した自車両2aにおける車載装置20と同様の処理を実施する。
ステップS101において、センタサーバ5は、送受信情報処理部510により、路側器3を介して、自車両2aや他車両3bから送信された車両情報を取得し、車両情報DB1450に格納する。
ステップS102において、センタサーバ5は、確率木処理部520により、確立木情報を生成する。ここでは、まだ確率木情報が作成されていない道路について、ステップS101で取得した車両情報に基づき、図12に例示したような確率木情報を生成する。また、既に確率木情報が作成されている道路について、確率木情報を更新する必要がある場合には、新たに確率木情報を生成する。なお、ステップS102の具体的な処理内容については、後で図21のフローチャートを参照して説明する。
ステップS103において、センタサーバ5は、送受信情報処理部510により、確率木情報DB1600に蓄積されている確率木情報のうち、自車両2aや他車両2bの走行道路に対応する確率木情報を抽出し、路側器3を介して、自車両2aまたは他車両2bに送信する。
ステップS104において、センタサーバ5は、送受信情報処理部510により、路側器3を介して、自車両2aや他車両2bにおける制御結果を受信する。ここでは、自車両2aや他車両2bにおける制御結果として、自車両2aや他車両2bに搭載された車載装置20における確率木情報に基づく車線推定結果と、交差点通過後の自車両2aや他車両2bの実際の進行方向とが、一致か不一致かを示す情報を受信する。なお、自車両2aや他車両2bが交差点を通過するまでの車両情報を、上記の制御結果に追加して受信してもよい。また制御結果は、カメラ、レーザーレーダーなどを搭載し車両がどの車線を走行しているかを認識した結果を制御結果として含めてもよい。
次に、センタサーバ5における確立木情報の生成処理について説明する。図21は、センタサーバ5のCPU502が実行する確立木情報生成処理のフローチャートである。このフローチャートに示す処理は、センタサーバ5のCPU502において、図19のステップS102で実行される。
ステップS1000において、CPU502は、車両情報取得部521により、車両情報DB1450に格納された車両情報を取得し、確率木情報の生成対象ごとに分類する。ここでは、道路上に予め定められた特定の地点、例えば交差点や分岐点を確率木情報の生成対象地点とし、この生成対象地点ごとに、その前後で収集された車両情報を車両情報DB1450から取得する。そして、各車両が当該生成対象地点を通過した後の各車両の進行方向とそれに対応する車線ごとに、取得した車両情報を分類する。そして、各車両の走行道路に対応する道路情報を地図情報1550から取得し、分類した車両情報と共に、確率木生成部522に出力する。
ステップS1001において、CPU502は、確率木生成部522により、確率木情報を新たに作成または更新するか否かを判断する。ここでは例えば、まだ確率木情報が生成されていない生成対象地点について、所定数以上の車両情報がステップS1000で分類された場合には、確率木情報を新たに作成すると判断する。また例えば、既に確率木情報が生成されている生成対象地点について、図19のステップS104において不一致を示す制御結果を所定回数以上受信した場合には、確率木情報を更新すると判断する。その結果、確率木情報を新たに作成または更新すると判断した場合はステップS1002に進み、そうでない場合は図21のフローチャートに示す処理を終了する。
ステップS1002において、CPU502は、確率木生成部522により、ステップS1001で確率木情報を新たに作成または更新すると判断した生成対象地点に対して、確率木情報を作成する。ここでは、ステップS1000において車線ごとに分類された車両情報から、各車両2が車線の推定を開始してから操作完了するまでの時間、平均速度、加速度、ウインカー点灯状態などの情報を取得し、これらの情報に基づいて、図12に例示したような確率木情報を作成する。
ステップS1003において、CPU502は、確率木生成部522により、ステップS1002で作成した確率木情報を確率木情報DB1600に格納する。ステップS1003を実行したら、CPU502は、図21のフローチャートに示す処理を終了する。
センタサーバ5は、以上説明したような処理により、各車両2から取得した車両情報に基づいて確立木情報を生成することができる。確率木情報とは、各車両2の運転者が取り得る選択行動と、相手(不確実性)の発生確率(主観確率)との分岐が多段にわたる際、これら分岐点を階層化して描いたものである。こうした確率木情報を用いることで、車両2の走行車線を推定する上で起こり得るすべての結論とそれぞれの期待値を算出し、期待効用が最大となる選択結果を求めることができる。なお、センタサーバ5では、データマイニングなどの手法を用いて、収集した車両情報から確率木情報を自動作成するようにしてもよい。
以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。
(1)車載装置20は、車外情報処理部120と、車内情報処理部130と、車両情報生成部140とを備える。車外情報処理部120は、自車両2aの挙動に応じた道路の各車線の走行確率を表す確率木情報を取得する確率木取得部として作用すると共に、自車両2aの周辺の他車両2bに関する車両情報を取得する。車内情報処理部130は、自車両2aの挙動に関する情報を取得する。車両情報生成部140は、車外情報処理部120により取得された確率木情報と、車内情報処理部130により取得された自車両2aの挙動に関する情報とに基づいて、自車両2aの走行車線を推定する(ステップS50)。車載装置20は、車両情報生成部140により推定された自車両2aの走行車線に基づいて自車両2aの進行方向を推定する(ステップS203)。このようにしたので、車両の進行方向を正確に推定することができる。
(2)車両情報生成部140は、車内情報処理部130により取得された自車両2aの挙動に関する情報と、自車両2aの走行車線の推定結果とに基づいて、自車両2aに関する車両情報を生成する(ステップS60)。車外情報処理部120は、車両情報生成部140により生成された自車両2aに関する車両情報を他車両2bに送信する(ステップS80)。このようにしたので、自車両2aと他車両2bの間で、衝突の危険を判断するのに必要な互いの車両情報を授受することができる。
(3)車載装置20は、推定した自車両2aの進行方向と、車外情報処理部120により取得された他車両2bに関する車両情報とに基づいて、自車両2aと他車両2bに衝突の危険があるか否かを判断する警告処理部150をさらに備える。このようにしたので、車線ごとに定められた車両の進行方向を考慮して、自車両2aと他車両2bに衝突の危険があるか否かを正確に判断することができる。
(4)車外情報処理部120は、例えば図12に示す確率木情報1103を取得する。確率木情報1103は、枝情報1200−1〜1200−Ncと、枝情報1200−1〜1200−Ncのつながりを示す情報である接続先ノードID1203とを含む。枝情報1200−1〜1200−Ncの各々は、車両2の加速度、ウインカー点灯状態、速度、操作完了までの時間の条件をそれぞれ表す、加速度1205、ウインカー情報1206、速度1207、操作完了までの時間1208のいずれか少なくとも一つと、これらの条件を満たす場合の車線ごとの走行確率を表す車線確率1204とを含む。このようにしたので、車載装置20が自車両2aの走行車線を推定するのに必要な情報を確率木情報に含めることができる。
(5)警告処理部150は、自車両2aと他車両2bに衝突の危険があると判断した場合に、自車両2aの運転者に対して警告を行う。このようにしたので、必要に応じて自車両2aの運転者に衝突回避操作等を行わせることができる。衝突の危険があるかと判断した場合は、警告に限らず、車両に搭載されたブレーキ装置が自動でブレーキを制御し停止する、ステアリング装置が自動で方向を変更するなど車両制御を実施してもよいし、車両制御を促す信号を車両の制御装置に送信してもよい。
(6)センタサーバ5は、送受信情報処理部510と、車両情報DB1450と、確率木処理部520とを備える。送受信情報処理部510は、複数の車両2からそれぞれ送信される車両情報を、路側器3を介して受信する。車両情報DB1450は、送受信情報処理部510により受信された車両情報を蓄積する。確率木処理部520は、車両情報DB1450から車両情報を取得して予め定められた地点ごとに分類し、車両2の挙動に応じた道路の各車線の走行確率を表す確率木情報を生成する(ステップS1000、S1002)。送受信情報処理部510は、生成された確率木情報を、路側器3を介して、複数の車両2にそれぞれ送信する。このようにしたので、各車両2に搭載された車載装置20において、車線ごとに定められた車両の進行方向を考慮して、車両同士に衝突の危険があるか否かを正確に判断するために必要な確率木情報を取得することができる。
なお、以上説明した本発明の実施形態では、センタサーバ5から路側器3を介して、各車両2に搭載されている車載装置20に確率木情報を送信する例を説明したが、本発明はこれに限定されない。たとえば、センタサーバ5からインターネットや携帯電話回線などの公衆通信網を介して、各車両2に搭載されている車載装置20に確率木情報を送信してもよい。また、所定範囲内に存在する各車両2の車載装置20において、それぞれの確率木情報DB1600に蓄積されている確率木情報を相互に送受信して交換してもよい。これ以外にも、車載装置20は様々な方法で確率木情報を取得することができる。
以上説明した実施形態や各種の変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。