(58)【調査した分野】(Int.Cl.,DB名)
前記ノードには、そのノードに接続するエッジ車線ごとに、そのエッジ車線を走行する車両がそのノードに接続する他のエッジ車線に進行する確率である分岐率が対応付けられており、
前記走行予測手段は、前記分岐率に基づいて、ノードに進入した車両の進行先となるエッジ車線を特定して、前記予測を行う、
ことを特徴とする請求項1又は2に記載の渋滞予測装置。
【発明を実施するための形態】
【0017】
(実施形態1)
添付図面を参照しながら本実施形態について説明する。
【0018】
図1を参照して、本実施形態における渋滞予測システム1の構成を説明する。
図1は、渋滞予測システム1の構成を示すブロック図である。渋滞予測システム1は、
図1に示すように、複数のプローブ車両Pにそれぞれ搭載された端末装置100と、渋滞予測装置200とから構成され、各端末装置100と渋滞予測装置200との間は、インターネットなどのネットワークNWを介して相互に通信可能に接続されている。
【0019】
図2は、端末装置100の構成の例を示す機能ブロック図である。
【0020】
端末装置100は、
図2に示すように、記憶部101と、位置検出部102と、車両情報検出部103と、プローブ情報生成部104と、通信部105と、制御部106と、を備え、例えば、端末装置100を搭載するプローブ車両Pの現在位置を検出し、検出した現在位置を特定する位置情報を含むプローブ情報D1を渋滞予測装置200へ送信するなどの処理を行う。
【0021】
端末装置100は、GPS(Global Positioning System)などの位置検出機能を備えたカーナビゲーションシステムなどの車載端末であってもよいし、位置検出機能などを備えた汎用的な端末装置、例えば、スマートフォン、携帯電話、PC(Personal Computer)などであってもよい。また、例えば、車載装置と汎用的な端末装置との組み合わせにより、端末装置100を構成してもよい。
【0022】
記憶部101は、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリなどから構成され、制御部106が備えるCPU(Central Processing Unit)のワーキングエリア、CPUが実行する動作プログラムなど各種プログラムを格納するプログラムエリア、各種データを格納するデータエリアなどとして機能する。
【0023】
位置検出部102は、例えば、GPSモジュールなどで構成されており、プローブ車両Pの現在位置を検出する。より具体的には、後述する判定部106aにより検出タイミングが到来したと判定された場合に、位置検出部102は、GPSモジュールのGPSアンテナにより、地球低軌道に打ち上げられた複数のGPS衛星から送信されるGPS信号を受信し、受信したGPS信号に基づいてプローブ車両Pの絶対的な現在位置(例えば、緯度と経度)を検出する。
【0024】
車両情報検出部103は、ジャイロセンサ、車速センサなどの各種センサなどで構成されている。ジャイロセンサは、判定部106aにより検出タイミングが到来したと判定された場合に、制御部106の制御の下、プローブ車両Pの角速度を検出して、プローブ車両Pの進行方向の方位である進行方位の変化量を算出する。また、車速センサは、判定部106aにより検出タイミングが到来したと判定された場合に、制御部106の制御の下、車輪の回転に応じて出力されるパルス信号(車速信号)を検出して、プローブ車両Pの速度を算出する。
【0025】
プローブ情報生成部104は、位置検出部102と車両情報検出部103とが、プローブ車両Pの現在位置と速度と進行方位を検出すると、検出日時とプローブ車両Pの現在位置を特定する位置情報と速度と進行方位を含むプローブ情報D1を生成し、生成したプローブ情報D1を通信部105を介して渋滞予測装置200へ送信する。
【0026】
通信部105は、アンテナと無線通信モジュールなどから構成され、制御部106の制御の下、ネットワークNWを介して接続されている渋滞予測装置200との間で、プローブ情報D1など各種データの送受信を行う。
【0027】
制御部106は、例えば、CPUなどから構成され、記憶部101のRAMをワークメモリとして、プログラムエリアに格納されている動作プログラムを実行することで、
図2に示すように、判定部106aとして機能すると共に、端末装置100の各機能部を制御し、プローブ情報送信処理などの処理を実行する。
【0028】
判定部106aは、プローブ車両Pの現在位置、進行方向、速度を検出する検出タイミングが到来したか否かを判定する。ここで、検出タイミングとして、定周期、渋滞予測装置からの指示、渋滞時などが考えられるが、本実施形態においては、エンジン稼働中のプローブ車両Pに搭載されている端末装置100は、それぞれ、同じタイミングでプローブ車両Pの現在位置などを定期的に取得するように構成されているものとする。
【0029】
次に、
図3乃至
図5を参照して、本実施形態における渋滞予測装置200の構成について説明する。
図3、
図4は、それぞれ、渋滞予測装置200の構成を示す機能ブロック図、渋滞予測装置200の記憶部202の構成を示す機能ブロック図である。また、
図5A、
図5Bは、それぞれ、渋滞予測装置200の制御部203の構成を示す機能ブロック図、渋滞予測処理部203fの構成を示す機能ブロック図である。
【0030】
渋滞予測装置200は、
図3に示すように、通信部201と、記憶部202と、制御部203と、を備え、各プローブ車両Pに搭載された端末装置100から送信されてくるプローブ情報D1などに基づいて、渋滞を予測する。
【0031】
通信部201は、アンテナと無線通信モジュールなどから構成され、制御部203の制御の下、ネットワークNWを介して接続されている各端末装置100との間で、各種データの送受信を行う。
【0032】
記憶部202は、ROM、RAM、不揮発性メモリなどから構成され、制御部203が備えるCPUのワーキングエリア、CPUが実行する動作プログラムなど各種プログラムを格納するプログラムエリア、地図データなど各種データを格納するデータエリアなどとして機能する。また、記憶部202は、
図4に示すように、走行履歴記憶部202a、予測走行履歴記憶部202b、地図データ記憶部202c、速度関数記憶部202d、平均速度記憶部202e、渋滞度記憶部202f、として機能する。
【0033】
走行履歴記憶部202aは、過去から現在までに取得された各プローブ車両Pのプローブ情報D1に基づいて、後述する走行履歴生成部203aにより生成される走行履歴Tb1を蓄積する。
図6は、走行履歴記憶部202aが記憶する各プローブ車両Pの走行履歴Tb1の例を示す図である。走行履歴Tb1は、
図6に示すように、日時と、平日か否かと、その日時におけるプローブ車両Pの速度と走行エッジと走行車線(上り/下り)とが対応付けられたものである。
【0034】
図4に戻り、予測走行履歴記憶部202bは、渋滞予測処理において、プローブ車両P(又は、後述するエージェント車両A)の動きを予測した際の、プローブ車両P(又は、エージェント車両A)の走行履歴である予測走行履歴Tb2を蓄積する。
【0035】
図7は、予測走行履歴Tb2の例を示す図である。予測走行履歴Tb2の構成は、
図6に例示した走行履歴Tb1と基本的に同じであるが、走行履歴Tb1は、プローブ車両Pが実際走行した履歴を示し、予測走行履歴Tb2は、プローブ車両P(エージェント車両Aを含む)の予測される将来の走行の履歴を示す点で異なっている。
【0036】
図4に戻り、地図データ記憶部202cは、地図データを格納している。この地図データは、モデル化した道路ネットワークを示すものであり、
図8に示すように、地図情報の交差点と隣接する2つの交差点に挟まれた道路区間とにそれぞれ対応付けられたノードとエッジとで構成されている。
図8は、地図データを説明するための図であり、
図8の例では、E00001などはエッジを示し、N00001などはノードを示している。
【0037】
また、各エッジと各ノードには、属性情報が付加されており、この属性情報は、例えば、プローブ車両が走行するエッジを特定する際などに用いられる。
図9は、地図データ記憶部202cが記憶するエッジ属性情報テーブルTb3の例を示す図であり、
図9の例では、各エッジには、そのエッジを一意に識別可能な識別番号と、そのエッジの両端のノードを一意に識別可能な識別番号と、そのエッジのエッジ長と、そのエッジの上り/下り車線(以下、エッジ車線ともいう)別の法定速度Vmaxが属性情報として付加されている。
【0038】
エッジの法定速度Vmaxは、実際の法定速度Vmaxの情報が入手可能な場合は、その情報に基づいて設定してもよいが、走行履歴記憶部202aが蓄積する走行履歴Tb1に基づいて推定したものを設定してもよい。また、走行履歴Tb1に基づいて、法定速度Vmaxを推定する場合は、所定のタイミングで更新するように構成してもよい。
【0039】
ここで、
図10乃至
図11Bを参照して、走行履歴Tb1に基づく法定速度Vmaxの推定方法について説明する。
図10乃至
図11Bは、いずれも、走行履歴Tb1に基づく法定速度Vmaxの推定方法を説明するための図であり、
図10は、より具体的には、各プローブ車両Pの走行履歴Tb1から、各エッジの上り/下り車線別に、走行速度を抽出し、抽出した走行速度を各速度帯に分類し、速度帯ごとにその出現頻度を求め、それらを対応付けた図である。
図11Aと
図11Bは、上述した方法により、各エッジの上り/下り車線別に求めた、速度帯ごとの出現頻度をグラフ化した図である。
【0040】
例えば、エッジE00001の上り車線における、速度帯ごとの出現頻度をグラフ化した図が、
図11Aだったとすると、50km/h台の速度の出現頻度が最も高いことから、法定速度Vmaxを、50km/h台に設定する。例えば、法定速度Vmaxを55km/hと設定してもよいし、走行履歴Tb1から抽出した、エッジN00001の上り車線における50km/h台の走行速度の平均値を法定速度Vmaxとして設定してもよい。
【0041】
また、例えば、エッジE00001の上り車線における、速度帯ごとの出現頻度をグラフ化した図が、
図11Bであったとする。
図11Bの例では、30km/h未満と30km/h以上それぞれにピークを有している。これは、渋滞がよく起きる道路区間(エッジ)で見られる特徴である。このような場合、30km/h以上におけるピークを法定速度Vmaxとして設定する。すなわち、
図11Bの例では、法定速度Vmaxを、10km/h台ではなく、50km/h台に設定する。
【0042】
図12、
図13Aと
図13Bは、それぞれ、地図データ記憶部202cが記憶する第1ノード属性情報テーブルTb4、第2ノード属性情報テーブルTb5の例を示す図である。第1ノード属性情報テーブルTb4は、
図12に示すように、ノードを一意に識別可能な識別番号にそのノードの位置を特定するための座標(例えば、緯度と経度)が対応付けられたテーブルである。また、第2ノード属性情報テーブルTb5は、
図13Aと
図13Bに示すように、ノードの識別番号に、そのノードにおけるエッジ接続情報と、そのノードにおける分岐率と、信号機の有無と、信号機が有る場合にはそのサイクル長と有効青時間との組と、が対応付けられたテーブルである。ここで、
図13Bは、
図13Aに示す第2ノード属性情報テーブルTb5において、点線枠W1で囲まれた部分を抜き出した図である。
【0043】
エッジ接続情報は、ノードにおけるエッジの接続関係を示す情報である。例えば、
図13Aを参照すると、エッジE00001が上流エッジとしてノードN00001に対応付けられており、そのエッジE00001には、接続先エッジとしてエッジE00002とエッジE00010とエッジE00011とが対応付けられている。この場合、エッジE00001を走行するプローブ車両Pは、ノードN00001を介してエッジE00002とエッジE00010とエッジE00011のうちのいずれかへ進行可能である。
【0044】
ノードにおける分岐率は、上流エッジを走行するプローブ車両Pがノードを介してそのノードに接続する特定のエッジに進行する確率であり、平日と休日の各時間帯ごとに設定されている。この分岐率は、走行履歴記憶部202aに蓄積されている走行履歴Tb1に基づいて推定されるものであり、所定のタイミングで後述する分岐率推定部203cにより更新され、後述する渋滞予測処理において用いられる。
【0045】
例えば、
図13Aと
図13Bを参照して、エッジE00001を走行するプローブ車両PがノードN00001に進入した場合、走行シミュレーションにおける予測日時が平日の午前9時台であれば、そのプローブ車両PをエッジE00002へ進行させる確率(分岐率)は0.60となる。
【0046】
信号機の有無の欄には、信号機が設置されている場合には、”1”が格納され、信号機が設置されていない場合には、”0”が格納される。
【0047】
サイクル長と有効青時間(以下、信号属性情報ともいう)は、それぞれ、信号機の信号現示が一巡する時間(一般的には、信号機が赤に切り替わってからまた次に信号機が赤に切り替わる迄の時間)と、車両が交差点に進入可能な時間を意味する。信号属性情報は、信号機の設定情報(実際のサイクル長と有効青時間)に基づいて設定されてもよいし、走行履歴記憶部202aに蓄積されている走行履歴Tb1に基づいて、例えば最適化手法で求めたものでもよい。この信号属性情報は、後述する渋滞予測処理においてプローブ車両Pなどの走行を制御するために使用される。
【0048】
図4に戻り、速度関数記憶部202dは、下記の式(1)で表現される速度関数Vaと、
図15に例示するパラメータテーブルTb6を格納する。すなわち、本実施形態における速度関数記憶部202dは、エッジ車線別に速度関数Vaを記憶している。この速度関数Vaは、渋滞予測処理などで用いられる。
【数1】
ここで、Vaは、推定対象のエッジの上り/下り車線を走行するプローブ車両Pの平均速度を、Vmaxは、そのエッジ車線における法定速度を、nは、そのエッジ車線を走行するプローブ車両Pの台数を、dは、そのエッジのエッジ長を、それぞれ、示している。
【0049】
この速度関数Vaは、対象エッジ車線を走行するプローブ車両Pの平均速度Vaと、そのエッジ車線を走行するプローブ車両Pの台数nとの関係を示すものであり、
図14に示す曲線は、その関係を座標上に表したものである。この曲線からわかるように、速度関数Vaは、エッジ車線を走行するプローブ車両Pの台数が所定の許容量(交通容量)を超えると、それらプローブ車両Pの平均速度Vaが急激に低下するように定義されたものである。したがって、このような特徴を有する関数であれば、速度関数として用いることが可能である。
【0050】
図15は、パラメータテーブルTb6の例を示す図であり、パラメータテーブルTb6は、
図15に示すように、エッジの上り/下り車線別に速度関数Vaのパラメータαとβとの組が対応付けられたテーブルである。例えば、エッジE00001の上り車線に対応するパラメータαとβとの組は、(α1−0,β1−0)であり、これらのパラメータは、走行履歴記憶部202aに蓄積されている走行履歴Tb1に基づいて、詳しくは後述するパラメータ推定部203bにより推定される。
【0051】
図4に戻り、平均速度記憶部202eは、詳しくは後述する平均速度情報テーブルTb7(
図17に例示)を格納する。
【0052】
渋滞度記憶部202fは、詳しくは後述する渋滞度テーブルTb8(
図21に例示)を格納する。
【0053】
図3に戻り、制御部203は、例えば、CPUなどから構成され、記憶部202のRAMをワークメモリとして、プログラムエリアに格納されている動作プログラムを実行することで、
図5Aに示すように、走行履歴生成部203a、パラメータ推定部203b、分岐率推定部203c、平均速度推定部203d、判定部203e、渋滞予測処理部203fとして機能すると共に、渋滞予測装置200の各機能部を制御し、渋滞予測処理などの処理を実行する。
【0054】
走行履歴生成部203aは、各端末装置100から送信されてくるプローブ情報D1に基づいて、
図6に例示する走行履歴Tb1を生成する。具体的には、走行履歴生成部203aは、対応する「日時」欄と「速度」欄に、プローブ情報D1に含まれる検出日時と速度をそれぞれ格納すると共に、プローブ情報D1に含まれる検出日時に基づいて平日か否かを判定し、平日であると判定した場合は、対応する「平日/休日」欄に”0”を、休日であると判定した場合には、対応する「平日/休日」欄に”1”を格納する。
【0055】
また、走行履歴生成部203aは、プローブ情報D1に含まれる現在位置と進行方位とに基づいて、マップマッチングを実行し、そのプローブ車両Pが走行するエッジと、プローブ車両Pが走行する車線(上り/下り)とを特定する。そして、走行履歴生成部203aは、特定したエッジの識別番号を、対応する「走行エッジ」欄に格納すると共に、特定した走行車線が上りである場合は、対応する「走行車線(上り/下り)」欄に、”0”を格納し、特定した走行車線が下りである場合は、対応する「走行車線(上り/下り)」欄に、”1”を格納する。
【0056】
例えば、
図6に例示する走行履歴Tb1では、プローブ車両P(PC00001)は、検出日時T1と検出日時T2に、それぞれ、エッジE00015の上り車線を速度V1−1と速度V1−2で走行しており、検出日時T3には、エッジE00005の下り車線を速度V1−3で走行したことが分かる。つまり、地図データの説明図である
図8を参照すると、プローブ車両Pは、エッジE00015からノードN00004を介してエッジE00005へと走行したことが分かる。このように、
図6に例示する走行履歴Tb1を記憶することで、各プローブ車両Pの走行経路を特定することが可能となる。
【0057】
図5Aに戻り、パラメータ推定部203bは、判定部203eにより所定のタイミングが到来したと判定された場合に、走行履歴記憶部202aに蓄積されている走行履歴Tb1に基づいて、各エッジの上り/下り車線別に、パラメータαとβを推定する。そして、パラメータ推定部203bは、速度関数記憶部202dに格納されているパラメータテーブルTb6のパラメータを、今回推定したこれらのパラメータで更新する。
【0058】
具体的には、パラメータ推定部203bは、走行履歴記憶部202aに格納されている走行履歴Tb1に基づいて、各エッジの上り/下り車線別に、それぞれの検出日時において、そのエッジ車線を走行したプローブ車両Pを特定し、特定したプローブ車両Pの走行速度を抽出する。そして、パラメータ推定部203bは、特定したプローブ車両Pの台数nと、抽出した走行速度の平均Vaを求める。
【0059】
そして、パラメータ推定部203bは、各エッジの上り/下り車線別に、検出日時ごとに求めた台数nと平均速度Vaと、そのエッジのエッジ長dと、そのエッジ車線に対応する法定速度Vmaxを、式(1)で表現される速度関数Vaに入力し、最小二乗法により、各エッジの上り/下り車線別にパラメータαとβを推定する。
【0060】
図16Aと
図16Bは、エッジE00015の上り車線を例に、パラメータαとβの推定方法を説明するための図であり、それぞれ、走行履歴Tb1から、エッジE00015の上り車線を走行したプローブ車両Pの走行速度を検出日時ごとに抽出した例を示す図、検出日時ごとに求めた、エッジE00015の上り車線を走行したプローブ車両Pの平均速度Vaと走行台数nの例を示す図である。
【0061】
例えば、
図16Aと
図16Bを参照して、検出日時T1にエッジE00015の上り車線を走行したプローブ車両Pの平均速度Va15T1は、速度V1−1とV3−1とV9−1の平均値であり、その検出日時T1にエッジE00015の上り車線を走行したプローブ車両Pの台数は3台である。推定対象のエッジ車線がエッジE00015の上り車線である場合、パラメータ推定部203bは、地図データ記憶部202cに格納されているエッジ属性情報テーブルTb3(
図9に例示)からエッジE00015の上り車線に対応するエッジ長L15と法定速度Vmax15−0を取得する。
【0062】
そして、パラメータ推定部203bは、取得したエッジ長L15と法定速度Vmax15−0と、検出日時ごとに求めたエッジE00015の上り車線を走行したプローブ車両Pの平均速度Vaと走行台数nとを、速度関数Vaにそれぞれ入力し、最小二乗法により、エッジE00015の上り車線のパラメータα15−0とβ15−0を求める。
【0063】
図5Aに戻り、分岐率推定部203cは、判定部203eにより所定のタイミングが到来したと判定された場合に、分岐率を推定し、今回推定した値で、第2ノード属性情報テーブルTb5の対応する分岐率をそれぞれ更新する。
【0064】
例えば、
図13Aを参照して、ノードN00001の上流エッジE00001からエッジE00002への分岐率を推定する場合、分岐率推定部203cは、走行履歴記憶部202aに蓄積されている走行履歴Tb1から、プローブ車両PがノードN00001の上流エッジE00001を走行した履歴を全て抽出し、抽出した履歴を平日/休日別の各時間帯ごとに分類し、そのうちでプローブ車両PがノードN00001を介してエッジE00002へ進行した割合を平日/休日別の各時間帯ごとに算出する。
【0065】
例えば、抽出された履歴のうち、検出日時が平日の午前9時台に該当する履歴が1000件で、その1000件の履歴のうち、ノードN00001を介してエッジE00002へ進行した履歴が600件である場合には、平日の午前9時台における、ノードN00001に接続する上流エッジE00001からエッジE00002へ進行する割合(分岐率)は、0.60となる。
【0066】
図5Aに戻り、平均速度推定部203dは、判定部203eにより、平均速度を推定する所定のタイミングが到来したと判定された場合に、走行履歴Tb1に基づいて、各エッジの上り/下り車線別に平日/休日別の各時間帯ごとの平均速度を推定し、平均速度情報テーブルTb7を更新する。
【0067】
図17は、平均速度記憶部202eに格納されている平均速度情報テーブルTb7の例を示す図であり、平均速度情報テーブルTb7は、
図17に示すように、エッジの上り/下り車線別に、平日/休日別の各時間帯ごとの平均速度が対応付けられたテーブルである。
【0068】
例えば、エッジE00001の上り車線における平日0時台の平均速度を推定する場合、平均速度推定部203dは、走行履歴Tb1から、平日の0時台にエッジE00001の上り車線をプローブ車両Pが走行した履歴を抽出し、抽出した履歴の走行速度の平均を算出することで、平均速度を推定する。
【0069】
図5Aに戻り、判定部203eは、各端末装置100からのプローブ情報D1を受信したか否かを判定する。また、判定部203eは、パラメータαとβを推定する所定のタイミングが到来したか否かと、分岐率を推定する所定のタイミングが到来したか否かと、平均速度を推定する所定のタイミングが到来したか否かと、を判定する。これらの所定のタイミングとしては、例えば、定周期、外部又は内部からの指示、所定量の履歴が走行履歴Tb1に追加されたタイミングなど考えられる。また、パラメータαとβ、分岐率、平均速度を推定するタイミングは、それぞれ、異なっていてもよいし、同じであってもよい。
【0070】
また、判定部203eは、渋滞予測のための走行シミュレーションの実行指示があったか否かを判定すると共に、詳しくは後述するエリア差分の値が変化したか否かを判定する。さらに、判定部203eは、カウンタ203f6のカウンタ値k=1か否かと、カウンタ203f6のカウンタ値k<走行予測回数Nか否かと、を判定する。
【0071】
渋滞予測処理部203fは、
図5Bに示すように、エージェント車両数算出部203f1、差分算出部203f2、エージェント車両導出入部203f3、シミュレーション実行部203f4、渋滞度推定部203f5、カウンタ203f6で構成され、渋滞予測処理を実行し、各エッジの上り/下り車線別の渋滞度などを予測する。
【0072】
また、渋滞予測処理部203fは、走行シミュレーションの実行指示に含まれる予測期間(例えば、3時間)に基づいて、走行予測回数Nを算出する。具体的には、渋滞予測処理部203fは、予測期間を、予測時間間隔で除して求めた値を整数に切り上げて、走行予測回数Nを算出する。ここで、予測時間間隔は、走行シミュレーションにおいてプローブ車両P(含むエージェント車両A)の走行位置を予測する時間間隔を意味し、例えば、5秒ごとにそれらの走行位置を予測する場合は、5秒となる。
【0073】
エージェント車両数算出部203f1は、下記の式(2)で表現される速度関数Va(以下、拡張速度関数Vaという)に基づいて、各エッジの上り/下り車線別に、走行シミュレーション開始時に導入するエージェント車両Aの台数を算出する。ここで、エージェント車両Aは、実際の道路上を走行するプローブ車両以外の車両(以下、非プローブ車両という)を補完するために導入される仮想車両である。拡張速度関数Vaは、エージェント車両Aを導入した場合に、対象エッジ車線を走行するプローブ車両P(含むエージェント車両A)の台数と、その対象エッジ車線を走行するプローブ車両P(含むエージェント車両A)の平均速度Vaとの関係を示すように式(1)を拡張したものである。
【数2】
ここで、mは、拡大係数を、n’は、対象エッジ車線を走行するプローブ車両Pとエージェント車両Aの総数(以下、単に総数n’ともいう)を、それぞれ、示しており、総数n’は拡大係数mとnの積、つまり、n’=mnである。拡大係数mは、予め設定された値である。
【0074】
より具体的には、エージェント車両数算出部203f1は、エッジ属性情報テーブルTb3と、パラメータテーブルTb6とから、対象エッジ車線の法定速度Vmaxとエッジ長と、パラメータαとβをそれぞれ取得すると共に、走行履歴Tb1に基づいて、走行シミュレーション開始時に対象エッジ車線を走行するプローブ車両Pの平均速度Vaを求める。そして、エージェント車両数算出部203f1は、式(2)にそれらの値を入力することで対象エッジ車線における総数n’を求め、(エージェント車両Aの台数)=(n’−n)=(m−1)n’/m=(m−1)nを各エッジの上り/下り車線別に算出する。
【0075】
差分算出部203f2は、平均速度情報テーブルTb7に基づいて、各エッジの上り/下り車線別に平日/休日別の交通量変動を求める。そして、差分算出部203f2は、シミュレーション実行部203f4による走行予測が実行されるたびに、求めた交通量変動に基づいて、走行シミュレーション開始時における総数n’(エージェント車両数算出部203f1により算出された総数n’)との差分△n’をエッジ車線ごとに算出する。そして、差分算出部203f2は、差分△n’を単位エリアごとに積算した合計値であるエリア差分を求める。
【0076】
ここで、
図18を参照して、エッジE00001の上り車線を例に、差分算出部203f2による差分算出処理について説明する。
図18は、エッジE00001の上り車線における平日/休日別の交通量変動を表したグラフである。この交通量変動は、
図18に示すように、時間帯ごとに求めた交通量の経時的な変動であり、走行履歴Tb1などに基づいて、差分算出部203f2により求められる。
【0077】
具体的には、差分算出部203f2は、エッジ属性情報テーブルTb3と、パラメータテーブルTb6と、平均速度情報テーブルTb7とから、対象エッジ車線(エッジE00001の上り車線)の法定速度Vmax1−0とエッジ長L1と、パラメータα1−0とβ1−0と、エッジE00001の上り車線に対応する平均速度Va10xx(平日/休日別の各時間帯ごとの平均速度)をそれぞれ取得する。そして、差分算出部203f2は、式(2)の拡張速度関数Vaに取得した値をそれぞれ入力して、エッジE00001の上り車線を走行するプローブ車両Pとエージェント車両Aの総数n’を平日/休日別に各時間帯ごとに推定することで、平日/休日別の交通量変動を求める。
【0078】
そして、差分算出部203f2は、このようにして求めた交通量変動に基づいて、走行シミュレーション開始時における総数n’(エージェント車両数算出部203f1により算出された総数n’)との差分△n’を算出する。例えば、走行シミュレーションにおける予測日時が平日9時台である場合には、差分算出部203f2は、平日9時台の交通量と走行シミュレーション開始時における総数n’との差分を求める。この場合、
図18を参照して、平日9時台における交通量がn’9だとすると、差分△n’=(n’9−n’)となる。また、例えば、走行シミュレーションにおける予測日時が平日10時台である場合には、差分算出部203f2は、平日10時台の交通量と走行シミュレーション開始時における総数n’との差分を求める。この場合、
図18を参照して、平日10時台における交通量がn’10だとすると、差分△n’=(n’10−n’)となる。そして、差分算出部203f2は、エッジ車線ごとに算出した差分△n’に基づいて、単位エリアごとにエリア差分を求める。
【0079】
図5Bに戻り、エージェント車両導出入部203f3は、エージェント車両数算出部203f1により各エッジの上り/下り車線別に算出された台数に、差分算出部203f2により算出された差分△n’を加算した台数分のエージェント車両Aを導入する。
【0080】
具体的には、エージェント車両導出入部203f3は、走行シミュレーション開始時に、単位エリア内に含まれるエッジ車線におけるエージェント車両Aの台数(差分△n’加算後の台数)を積算し、その合計台数分のエージェント車両Aを単位エリア内の任意のエッジに導入する。
【0081】
また、エージェント車両導出入部203f3は、判定部203eにより、エリア差分の値が変化したと判定された場合には、そのエリア差分の値が変化した単位エリア内のエージェント車両Aを導出入する。
【0082】
具体的には、エリア差分の変化前後の差が負の値である場合には、エージェント車両導出入部203f3は、対象単位エリア内を走行するエージェント車両Aの中から、その差の絶対値に相当する台数分のエージェント車両Aを任意に選択し、選択したエージェント車両Aを消去する。一方、エリア差分の変化前後の差が正の値である場合には、エージェント車両導出入部203f3は、その差に相当する台数分のエージェント車両Aを、対象単位エリア内の任意のエッジに導入する。
【0083】
図19は、エージェント車両導出入部203f3による処理を説明するための図であり、単位エリア内の道路の例を示している。図中の白抜き長方形はプローブ車両Pを、黒塗りつぶし長方形はエージェント車両Aを、それぞれ示している。
図19の例は、単位エリア内に含まれるエッジ車線におけるエージェント車両Aの台数(差分△n’加算後の台数)を積算した合計台数が60台である場合の例である。この場合、エージェント車両導出入部203f3は、60台分のエージェント車両Aを単位エリア内の任意のエッジに導入する。また、
図19を参照して、例えば、差分算出部203f2により算出されたエリア差分の値が変化し、その変化前後の差が”−5”の場合には、エージェント車両導出入部203f3は、例えば、丸で囲まれたエージェント車両Aを選択し、それらを消去する。
【0084】
図5Bに戻り、シミュレーション実行部203f4は、外部(例えば、端末装置100)又は内部からの実行指示に従って、渋滞予測のための走行シミュレーションを実行する。
【0085】
具体的には、判定部203eにより実行指示があったと判定された場合に、シミュレーション実行部203f4は、エージェント車両数算出部203f1と差分算出部203f2を制御して、走行シミュレーション開始時に導入するエージェント車両Aの台数を決定する。
【0086】
そして、シミュレーション実行部203f4は、エージェント車両導出入部203f3を制御して、決定した台数分のエージェント車両Aを、対象単位エリア内に導入し、拡張速度関数Vaと分岐率と信号属性情報とに基づいて、所定の予測時間間隔でプローブ車両Pとエージェント車両Aの走行予測(例えば、速度、走行エッジ、走行車線などを予測)を走行予測回数Nに達するまで繰り返し実行する。
【0087】
なお、走行シミュレーション開始時における各エージェント車両Aの速度は、例えば、平均速度情報テーブルTb7に基づいて設定される。例えば、
図17を参照して、走行シミュレーション開始時が平日午前2時である場合、エッジE00001の上り車線に導入されたエージェント車両Aの走行速度として、シミュレーション実行部203f4は、速度Va1002を設定する。
【0088】
拡張速度関数Vaは、走行シミュレーション中の、プローブ車両Pとエージェント車両Aの走行速度を求めるために利用され、シミュレーション実行部203f4は、拡張速度関数Vaにより求めた走行速度に従って、プローブ車両Pとエージェント車両Aの走行を制御する。
【0089】
具体的には、シミュレーション実行部203f4は、プローブ車両Pとエージェント車両Aの走行予測を行う度に、各エッジの上り/下り車線別に走行する車両台数を求め、求めた車両台数を拡張速度関数Vaに入力することで、各エッジの上り/下り車線別の平均速度を推定する。そして、シミュレーション実行部203f4は、推定した平均速度に従って、プローブ車両Pとエージェント車両Aの走行を制御する。
【0090】
分岐率は、プローブ車両P(又はエージェント車両A)がノードに差し掛かった時に、次に進行するエッジを確率的に決定するために利用され、シミュレーション実行部203f4は、分岐率に従って、プローブ車両Pとエージェント車両Aの走行(進行先)を制御する。
【0091】
信号属性情報は、走行シミュレーション中の、プローブ車両Pとエージェント車両Aの走行を制御するために利用され、シミュレーション実行部203f4は、信号属性情報に従って、各信号機を制御する。例えば、プローブ車両P(又は、エージェント車両A)がノードに差し掛かった時に、対応する信号機が赤の場合には、シミュレーション実行部203f4は、その信号機が青に変わる迄、そのプローブ車両P(又は、エージェント車両A)をノードの直前で停止させる。
【0092】
また、シミュレーション実行部203f4は、プローブ車両Pとエージェント車両Aの走行予測を行うたびに、その予測した走行の履歴(予測日時、平日/休日の別、速度、走行エッジ、走行車線)を、予測走行履歴記憶部202bに格納されている予測走行履歴Tb2に追加する。
【0093】
例えば、
図19と
図20を参照して、走行シミュレーション開始時におけるプローブ車両P(PC00001)の走行位置が
図19に示す位置であり、走行シミュレーションで予測される数分後の走行位置が
図20に示す位置であると仮定する。また、この場合にシミュレーション実行部203f4により生成された予測走行履歴Tb2が、
図7に例示する予測走行履歴Tb2であると仮定する。この場合、プローブ車両P(PC00001)の予測される走行ルートは、ノードN00001>エッジE00011上り車線>ノードN00003>エッジE00005上り車線>ノードN00004>エッジE00016下り車線>ノードN00006>エッジE00009上り車線であることが分かる。
【0094】
図5Bに戻り、渋滞度推定部203f5は、シミュレーション実行部203f4により生成された予測走行履歴Tb2に基づいて、下記の式(3)により定義される渋滞度CJを、各エッジの上り/下り車線別に算出することで、将来の渋滞度を推定する。
【数3】
【0095】
具体的には、渋滞度推定部203f5は、予測走行履歴Tb2から対象エッジ車線に関する履歴を抽出し、抽出した履歴を予測日時ごとに分類し、予測日時ごとの平均速度Vaを求める。そして、渋滞度推定部203f5は、求めた平均速度Vaと、エッジ属性情報テーブルTb3から取得した法定速度Vmaxを、式(3)に入力することで、対象エッジ車線の渋滞度CJを予測日時ごとに算出する。ここで、予測日時は、これから到来する日時を意味し、走行シミュレーション開始時を基準に、例えば、5分後、10分後の日時を意味する。
【0096】
そして、渋滞度推定部203f5は、算出した渋滞度CJをその予測日時と対応付けた渋滞度テーブルTb8を生成し、生成した渋滞度テーブルTb8を渋滞度記憶部202fに格納する。
図21は、渋滞度記憶部202fに格納されている渋滞度テーブルTb8の例を示す図であり、図中の予測日時Ts0は、走行シミュレーション開始時の日時である。
【0097】
図5Bに戻り、カウンタ203f6は、走行予測が行われた回数を管理するためのカウンタであり、渋滞予測処理部203fにより制御される。
【0098】
次に、
図22乃至
図25を参照して、本実施形態における渋滞予測システム1での処理のフローについて説明する。
図22は、端末装置100でのプローブ情報送信処理のフローチャートを示す図である。
図23は、渋滞予測装置200での走行履歴生成処理のフローチャートを示す図である。
図24と
図25は、渋滞予測装置200での渋滞予測処理のフローチャートを示す図である。
【0099】
まず、
図22を参照して、端末装置100でのプローブ情報送信処理のフローについて説明する。このプローブ情報送信処理は、各端末装置100で実行され、例えば、端末装置100の電源がONされたことをトリガとして開始される。
【0100】
端末装置100の判定部106aは、自装置を搭載するプローブ車両Pの現在位置、進行方向、速度を検出する検出タイミングが到来したか否かを判定する(ステップS101)。判定部106aにより、検出タイミングがまだ到来してないと判定された場合には(ステップS101;NO)、ステップS101の処理を繰り返し、検出タイミングの到来を待つ。
【0101】
一方、判定部106aにより、検出タイミングが到来したと判定された場合には(ステップS101;YES)、位置検出部102は、プローブ車両Pの現在位置を検出すると共に(ステップS102)、車両情報検出部103は、プローブ車両Pの進行方向と速度を検出する(ステップS103)。
【0102】
そして、プローブ情報生成部104は、位置検出部102と車両情報検出部103により検出されたプローブ車両Pの現在位置と速度と進行方位と、その検出日時を含むプローブ情報D1を生成し(ステップS104)、生成したプローブ情報D1を通信部105を介して渋滞予測装置200へ送信する(ステップS105)。そして、処理はステップS101の処理に戻り、前述の処理を繰り返す。
【0103】
次に、
図23を参照して、渋滞予測装置200での走行履歴生成処理のフローについて説明する。
【0104】
渋滞予測装置200の判定部203eは、端末装置100からのプローブ情報D1を受信したか否かを判定する(ステップS201)。判定部203eにより、まだプローブ情報D1を受信していないと判定された場合には(ステップS201;NO)、ステップS201の処理を繰り返し、プローブ情報D1が送信されてくるのを待つ。
【0105】
一方、判定部203eにより、プローブ情報D1を受信したと判定された場合には(ステップS201;YES)、走行履歴生成部203aは、受信したプローブ情報D1に基づいて、走行履歴Tb1を生成する(ステップS202)。そして、処理はステップS201の処理に戻り、前述の処理を繰り返す。
【0106】
次に、
図24と
図25を参照して、渋滞予測装置200での渋滞予測処理のフローについて説明する。この渋滞予測処理は、外部又は内部からの実行指示をトリガとして開始される。
【0107】
判定部203eは、渋滞予測のための走行シミュレーションの実行指示があったか否かを判定する(ステップS301)。判定部203eにより、実行指示はまだないと判定された場合には(ステップS301;NO)、ステップS301の処理を繰り返し、実行指示がなされるのを待つ。
【0108】
一方、判定部203eにより、実行指示はあったと判定された場合には(ステップS301;YES)、渋滞予測処理部203fは、カウンタ203f6を初期化(k=1)する(ステップS302)。
【0109】
そして、エージェント車両数算出部203f1は、拡張速度関数Vaに基づいて、各エッジの上り/下り車線別に、走行シミュレーション開始時に導入するエージェント車両Aの台数を算出する(ステップS303)。
【0110】
そして、差分算出部203f2は、平均速度情報テーブルTb7に基づいて、各エッジの上り/下り車線別に平日/休日別の交通量変動を求め(ステップS304)、求めた交通量変動に基づいて、シミュレーション開始時における総数n’(エージェント車両数算出部203f1により算出された総数n’)との差分△n’を算出する(ステップS305)。そして、差分算出部203f2は、差分△n’を単位エリアごとに積算した合計値であるエリア差分を求める(ステップS306)。
【0111】
そして、判定部203eは、カウンタ203f6のカウンタ値k=1か否かを判定する(ステップS307)。判定部203eは、カウンタ値k=1ではないと判定すると(ステップS307;NO)、さらに、差分算出部203f2により算出されたエリア差分の値が変化したか否かを判定する(ステップS401)。
【0112】
判定部203eにより、エリア差分の値が変化したと判定された場合には(ステップS401;YES)、エージェント車両導出入部203f3は、そのエリア差分の値が変化した単位エリア内のエージェント車両Aを導出入する(ステップS402)。具体的には、エリア差分の変化前後の差が負の値である場合には、エージェント車両導出入部203f3は、対象単位エリア内を走行するエージェント車両Aの中から、その差の絶対値に相当する台数分のエージェント車両Aを任意に選択し、選択したエージェント車両Aを消去する。一方、エリア差分の変化前後の差が正の値である場合には、エージェント車両導出入部203f3は、その差に相当する台数分のエージェント車両Aを、対象単位エリア内の任意のエッジに導入する。そして、処理は、ステップS309の処理へ進む。
【0113】
一方、判定部203eにより、エリア差分の値が変化していないと判定された場合には(ステップS401;NO)、ステップS402の処理を実行することなく、処理は、ステップS309の処理へ進む。
【0114】
一方、判定部203eにより、カウンタ値k=1であると判定された場合には(ステップS307;YES)、エージェント車両導出入部203f3は、エージェント車両数算出部203f1により各エッジの上り/下り車線別に算出された台数に、差分算出部203f2により算出された差分△n’を加算した台数分のエージェント車両Aを導入する(ステップS308)。
【0115】
そして、シミュレーション実行部203f4は、拡張速度関数Vaと分岐率と信号属性情報とに基づいて、プローブ車両Pとエージェント車両Aの走行予測を行い(ステップS309)、その予測した走行の履歴(予測日時、平日/休日の別、速度、走行エッジ、走行車線)を、予測走行履歴記憶部202bに格納されている予測走行履歴Tb2に追加する(ステップS310)。
【0116】
そして、渋滞度推定部203f5は、シミュレーション実行部203f4により生成された予測走行履歴Tb2に基づいて、式(3)により定義される渋滞度CJを、各エッジの上り/下り車線別に算出し(ステップS311)、算出した渋滞度CJをその予測日時と対応付けた渋滞度テーブルTb8を生成し、生成した渋滞度テーブルTb8を渋滞度記憶部202fに格納する(ステップS312)。
【0117】
そして、判定部203eは、カウンタ203f6のカウンタ値k<走行予測回数Nか否かを判定する(ステップS313)。判定部203eにより、カウンタ値k<走行予測回数Nではない、すなわち、カウンタ値kが走行予測回数Nに達したと判定された場合には(ステップS313;NO)、渋滞予測処理を終了し、次の実行指示を待つ。
【0118】
一方、判定部203eにより、カウンタ値k<走行予測回数Nであると判定された場合には(ステップS313;YES)、渋滞予測処理部203fは、カウンタ203f6をインクリメントし(ステップS314)、処理は、ステップS305の処理に戻り、前述の処理を繰り返す。
【0119】
(変形例1)
次に、実施形態1の変形例について説明する。
【0120】
実施形態1における渋滞予測処理では、シミュレーション実行部203f4が走行予測を行う度に、渋滞度推定部203f5は、その予測された走行の履歴に基づいて、その予測日時における渋滞度CJを算出した。
【0121】
本変形例では、その都度、渋滞度CJを算出するのではなく、走行予測の回数が走行予測回数Nに達した時点で、渋滞度推定部203f5は、シミュレーション実行部203f4により生成された予測走行履歴Tb2に基づいて、予測日時ごとの渋滞度CJを算出し、渋滞度テーブルTb8を生成する。
【0122】
図26は、本変形例における、渋滞予測処理のフローチャートの一部を示す図であり、ステップS313の処理より前の処理は、
図24に示す、ステップS310までの処理と同じである。よって、
図24と
図26を参照して、ステップS309の処理から、本変形例の渋滞予測処理のフローについて説明する。
【0123】
シミュレーション実行部203f4は、拡張速度関数Vaと分岐率と信号属性情報とに基づいて、プローブ車両Pとエージェント車両Aの走行予測を行い(ステップS309)、その予測した走行の履歴(予測日時、平日/休日の別、速度、走行エッジ、走行車線)を、予測走行履歴記憶部202bに格納されている予測走行履歴Tb2に追加する(ステップS310)。
【0124】
そして、判定部203eは、カウンタ203f6のカウンタ値k<走行予測回数Nか否かを判定する(ステップS313)。判定部203eにより、カウンタ値k<走行予測回数Nであると判定された場合には(ステップS313;YES)、渋滞予測処理部203fは、カウンタ203f6をインクリメントし(ステップS314)、処理は、ステップS305の処理に戻り、前述の処理を繰り返す。
【0125】
一方、判定部203eにより、カウンタ値k<走行予測回数Nではない、すなわち、カウンタ値kが走行予測回数Nに達したと判定された場合には(ステップS313;NO)、渋滞度推定部203f5は、シミュレーション実行部203f4により生成された予測走行履歴Tb2に基づいて、式(3)により定義される渋滞度CJを、各エッジの上り/下り車線別に算出する(ステップS501)。
【0126】
そして、渋滞度推定部203f5は、算出した渋滞度CJを予測日時と対応付けた渋滞度テーブルTb8を生成し、生成した渋滞度テーブルTb8を渋滞度記憶部202fに格納する(ステップS502)。そして、渋滞予測処理を終了し、次の実行指示を待つ。
【0127】
(実施形態2)
次に、
図27乃至
図32を参照して、実施形態2について説明する。
【0128】
実施形態1では、各エッジの上り/下り車線別にパラメータαとβとの組が対応付けられていた。本実施形態では、同じような属性(例えば、法定速度Vmaxとプローブサンプル数SP)のエッジ車線に対しては、同じパラメータαとβとの組を対応付ける。これは、例えば、法定速度Vmaxとプローブサンプル数SPが類似するエッジ車線は、同じような交通容量を有すると考えられるからである。ここで、プローブサンプル数SPは、走行履歴Tb1の元となったプローブ情報D1の数を意味し、例えば、あるエッジ車線に関するプローブ情報D1が100件ある場合は、そのエッジ車線のプローブサンプル数SPは100となる。
【0129】
本実施形態における渋滞予測システム1の基本的な構成は実施形態1と同じである。但し、地図データ記憶部202cが格納するエッジ属性情報テーブルTb3の構成と、速度関数記憶部202dが格納するパラメータテーブルTb6の構成が、実施形態1と異なっている。また、記憶部202が、車線区分情報記憶部202gを備える点で実施形態1と異なっている。また、パラメータ推定部203bがはたす機能が実施形態1と異なっている。
【0130】
記憶部202は、ROM、RAM、不揮発性メモリなどから構成され、制御部203が備えるCPUのワーキングエリア、CPUが実行する動作プログラムなど各種プログラムを格納するプログラムエリア、地図データなど各種データを格納するデータエリアなどとして機能する。また、記憶部202は、
図27に示すように、走行履歴記憶部202a、予測走行履歴記憶部202b、地図データ記憶部202c、速度関数記憶部202d、平均速度記憶部202e、渋滞度記憶部202f、車線区分情報記憶部202gとして機能する。
【0131】
地図データ記憶部202cは、地図データを格納している。この地図データは、実施形態1と同様に、モデル化した道路ネットワークを示すものであり、ノードとエッジとで構成され、各エッジと各ノードには、属性情報が付加されている。
【0132】
図28は、地図データ記憶部202cが記憶するエッジ属性情報テーブルTb3の例を示す図である。本実施形態におけるエッジ属性情報テーブルTb3は、
図28に示すように、エッジごとに、そのエッジの両端のノードを一意に識別可能な識別番号と、そのエッジのエッジ長と、そのエッジの上り/下り車線別の法定速度Vmaxと、さらに、そのエッジの上り/下り車線別の車線区分と、が対応付けられたテーブルである。
【0133】
図27に戻り、速度関数記憶部202dは、式(1)で表現される速度関数Vaと、パラメータテーブルTb6を格納する。
【0134】
図29は、速度関数記憶部202dが格納するパラメータテーブルTb6の例を示す図であり、本実施形態のパラメータテーブルTb6は、実施形態1の場合と異なり、
図29に示すように、エッジ車線ごとではなく、車線区分ごとにパラメータαとβとの組が対応付けられたテーブルである。
【0135】
但し、
図29に示すように、車線区分G0にはパラメータが対応付けられていない。これは、走行シミュレーションの際に、プローブ車両P(又は、エージェント車両A)を車線区分G0に属するエッジ車線上に走行させる場合、走行履歴Tb1に基づいて求めた、そのエッジ車線を走行したプローブ車両Pの平均速度Vaが、プローブ車両P(又は、エージェント車両A)の速度として設定されるからである。この平均速度Vaは、平均速度情報テーブルTb7から取得される。
【0136】
パラメータ推定部203bは、判定部203eにより所定のタイミングが到来したと判定された場合に、車線区分ごとにパラメータαとβを推定する。そして、パラメータ推定部203bは、速度関数記憶部202dに格納されているパラメータテーブルTb6のパラメータを、今回推定したこれらのパラメータで更新する。
【0137】
具体的には、パラメータ推定部203bは、走行履歴記憶部202aに蓄積されている走行履歴Tb1の「走行エッジ」欄と「走行車線(上り/下り)」欄を検索して、エッジ車線ごとに、そのエッジ車線に関する履歴を抽出し、抽出した履歴の数をエッジ車線ごとに求める。すなわち、エッジ車線ごとにプローブサンプル数SPを求める。
【0138】
また、パラメータ推定部203bは、エッジ車線ごとに抽出した履歴に基づいて、エッジ車線ごとに法定速度Vmaxを推定し、今回推定した法定速度Vmaxでエッジ属性情報テーブルTb3の対応する法定速度Vmaxを更新する。なお、エッジ車線ごとに設定されている法定速度Vmaxが、推定された速度ではなく、そのエッジ車線に設定されている実際の法定速度である場合は、パラメータ推定部203bは、エッジ車線ごとに抽出した履歴に基づくエッジ車線ごとの法定速度Vmaxの推定を実行しない。
【0139】
そして、パラメータ推定部203bは、後述する車線区分情報テーブルTb9を参照して、今回求めたプローブサンプル数SPと法定速度Vmaxとに基づいて、エッジ車線が属する車線区分を特定し、特定した車線区分で、エッジ属性情報テーブルTb3の車線区分を更新する。そして、パラメータ推定部203bは、更新後のエッジ属性情報テーブルTb3に基づいて、車線区分ごとに、その車線区分に属するエッジ車線を抽出する。
【0140】
そして、パラメータ推定部203bは、実施形態1で説明した方法に従って、最小二乗法により、パラメータαとβを車線区分ごとに推定する。
【0141】
ここで、
図30と
図31の例に従って、車線区分の特定方法について説明する。
図30は、車線区分情報記憶部202gに格納されている車線区分情報テーブルTb9の例を示す図であり、車線区分情報テーブルTb9は、車線区分ごとにその車線区分を定義する条件を対応付けたテーブルである。
図31は、
図30に例示した車線区分情報テーブルTb9で定義されている車線区分を座標上に表した図である。
【0142】
車線区分情報テーブルTb9の「和/積」欄は、車線区分が、「法定速度Vmax」欄の条件を満たすエッジ車線の集合と、「プローブサンプル数SP」欄の条件を満たすエッジ車線の集合との和集合として定義されるのか、それとも積集合として定義されるのかを指定するためのフラグ欄である。車線区分が、和集合として定義される場合は、「和/積」欄には”0”が、積集合として定義される場合は、「和/積」欄には”1”が格納されている。
【0143】
例えば、
図30を参照して、車線区分G0は、「和/積」欄が”0”であることから、0≦Vmax<30と0≦SP<C1のいずれかを満たすエッジ車線の集合として定義される。また、例えば、車線区分G1は、「和/積」欄が”1”であることから、30≦Vmax<40とC1≦SP<C2のいずれも満たすエッジ車線の集合として定義されている。
【0144】
例えば、パラメータ推定部203bが今回求めた、エッジ車線(エッジE00001の下り車線)のプローブサンプル数SPと法定速度Vmaxが、C1≦SP<C2と40≦Vmax<50を満たすとすると、パラメータ推定部203bは、車線区分情報テーブルTb9を参照して、エッジ車線(エッジE00001の下り車線)の車線区分として、G2を特定する。
【0145】
また、例えば、エッジ車線(エッジE00004の上り車線)のプローブサンプル数SPと法定速度Vmaxが、C2≦SP<C3と50≦Vmax<60を満たすとすると、パラメータ推定部203bは、車線区分情報テーブルTb9を参照して、エッジ車線(エッジE00004の上り車線)の車線区分として、G7を特定する。そして、パラメータ推定部203bは、このようにしてエッジ車線ごとに特定した車線区分で、エッジ属性情報テーブルTb3の車線区分を更新する。
【0146】
以上に説明したように、本実施形態のパラメータテーブルTb6は、パラメータαとβとの組を車線区分に対応付けたテーブルである。そのため、渋滞予測処理などで、対象エッジ車線に対応する速度関数Vaを特定する際は、エッジ属性情報テーブルTb3に基づいて、対象エッジ車線に対応する車線区分を特定し、パラメータテーブルTb6に基づいて、特定した車線区分に対応するパラメータαとβとの組を特定することで、対象エッジ車線に対応する速度関数Vaを特定する。
【0147】
次に、
図32を参照して、本実施形態における渋滞予測装置200でのパラメータ更新処理のフローについて説明する。ここで、
図32は、本実施形態における渋滞予測装置200でのパラメータ更新処理のフローチャートを示した図である。
【0148】
判定部203eは、所定の更新タイミングが到来したか否かを判定する(ステップS601)。判定部203eにより、所定の更新タイミングはまだ到来していないと判定された場合には(ステップS601;NO)、ステップS601の処理を繰り返し、所定の更新タイミングの到来を待つ。
【0149】
一方、判定部203eにより、所定の更新タイミングが到来したと判定された場合には(ステップS601;YES)、パラメータ推定部203bは、走行履歴Tb1に基づいて、エッジ車線ごとにプローブサンプル数SPを求めると共に(ステップS602)、エッジ車線ごとに法定速度Vmaxを推定する(ステップS603)。
【0150】
そして、パラメータ推定部203bは、今回推定した法定速度Vmaxでエッジ属性情報テーブルTb3の対応する法定速度Vmaxを更新すると共に(ステップS604)、車線区分情報テーブルTb9を参照して、今回求めたプローブサンプル数SPと法定速度Vmaxとに基づいて、エッジ車線が属する車線区分を特定する(ステップS605)。
【0151】
そして、パラメータ推定部203bは、特定した車線区分で、エッジ属性情報テーブルTb3の車線区分を更新し(ステップS606)、更新後のエッジ属性情報テーブルTb3に基づいて、車線区分ごとに、その車線区分に属するエッジ車線を抽出する(ステップS607)。
【0152】
そして、パラメータ推定部203bは、最小二乗法により、パラメータαとβを車線区分ごとに推定し(ステップS608)、パラメータテーブルTb6のパラメータを、推定したこれらのパラメータで更新する(ステップS609)。そして、処理は、ステップS601の処理に戻り、次に更新タイミングの到来を待つ。
【0153】
以上に説明したように、本実施形態によれば、速度関数Vaと分岐率と信号属性情報に基づいて、プローブ車両P(又は、エージェント車両A)の走行を予測した。そして、速度関数Vaと分岐率と信号属性情報は、プローブ車両Pに搭載されている端末装置100から送信されてくるプローブ情報D1に基づいて求めたものである。こうすることで、プローブ情報D1のみを用いて、道路の交通状況を予測することが可能となる。
【0154】
また、本実施形態によれば、走行シミュレーション開始時にエージェント車両Aを導入した。こうすることで、プローブ情報D1を得られない車両、つまり、実際の道路上を走行するプローブ車両以外の車両(非プローブ車両)を補完し、実際にはプローブ車両Pが走行していない道路の交通状況を予測することが可能となる。
【0155】
また、本実施形態によれば、交通量変動に基づいて、エージェント車両Aの台数を調整した。この交通量変動は、プローブ車両Pに搭載されている端末装置100から送信されてくるプローブ情報D1に基づいて推定したものである。こうすることで、エージェント車両Aを用いて、実際の交通量変動に則した交通量を再現することが可能となり、これにより、渋滞予測の精度を高めることが可能となる。
【0156】
また、本実施形態によれば、プローブ車両Pとエージェント車両Aの予測走行履歴Tb2を生成し、それを記憶した。こうすることで、走行シミュレーションの結果を再現することが可能となり、信号制御システムなどに活用することが可能となる。
【0157】
また、本実施形態によれば、走行シミュレーションなどで用いる速度関数Vaを、エッジ車線を走行する車両(プローブ車両Pとエージェント車両A)の台数が許容量(交通容量)を超えると、車両(プローブ車両Pとエージェント車両A)の走行速度が急激に低下する特徴を有する関数で定義した。こうすることで、走行シミュレーションにおいて、実際の道路の特性に則した走行速度の制御が可能となる。
【0158】
また、本実施形態によれば、分岐率を、平日/休日別の各時間帯ごとに設定した。この分岐率は、プローブ情報D1に基づいて求めたものである。こうすることで、実際の車両の流れに則した走行シミュレーションが可能となる。
【0159】
なお、上記実施形態において、各端末装置100からのプローブ情報D1に含まれる現在位置と進行方位と基づいて、渋滞予測装置200側でマップマッチングを実行し、プローブ車両Pが走行するエッジ車線を特定する構成としたが、これに限定されるものではなく、例えば、各端末装置100側でマップマッチングを実行するように構成してもよい。この場合、マップマッチングにより特定した、プローブ車両Pが走行するエッジ車線の情報を、渋滞予測装置200へ送信するようにすればよい。こうすることで、渋滞予測装置200に集中した負荷を、各端末装置100に分散させることが可能となる。
【0160】
また、上記実施形態において、各エッジの上り/下り車線別に法定速度Vmaxを対応させたが、エッジごとに法定速度Vmaxを対応させる構成でもよい。一般的に、エッジの上り車線の法定速度Vmaxとそのエッジの下り車線の法定速度Vmaxは同じ速度が設定されているからである。走行履歴Tb1に基づいて、エッジ車線の法定速度Vmaxを推定している場合には、例えば、同じエッジの上り車線と下り車線の法定速度Vmaxの平均を、そのエッジの法定速度Vmaxとすればよい。また、例えば、プローブサンプル数SPの多い方の法定速度Vmaxを、そのエッジの法定速度Vmaxとすればよい。
【0161】
また、上記実施形態において、プローブ車両Pの進行方向と走行速度を、センサなどで検出すると説明したが、これに限定されるものではなく、例えば、プローブ車両Pの位置情報とその検出日時とに基づいて、それらを推定するように構成してもよい。
【0162】
また、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行することとしてもよい。
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、取得等するようにしてもよい。
【0163】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。