以下に添付図面を参照して本願に係る渋滞予測プログラム、渋滞予測方法及び渋滞予測装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る渋滞予測システムの構成例を示す図である。図1に示す渋滞予測システム1は、トラフィックカウンタ等の設備がない道路を含めて渋滞予測を実現する渋滞予測サービスを提供するものである。あくまで渋滞予測の一例として、渋滞予測システム1は、情報が提供される現時点の渋滞情報に留まらず、現時点から所定時間後、例えば30分後や1時間後の渋滞情報の予測を実現する。
図1に示すように、渋滞予測システム1には、サーバ装置10と、デジタルタコグラフ、いわゆるデジタコ30A~30Nと、クライアント端末50とが含まれ得る。以下、商用車3A~3Nのことを「商用車3」と記載し、デジタコ30A~30Nのことを「デジタコ30」と記載する場合がある。
これらサーバ装置10、デジタコ30及びクライアント端末50は、ネットワークNWを介して相互に通信可能に接続される。ネットワークNWは、有線または無線を問わず、インターネットを始め、LAN(Local Area Network)などの任意の種類の通信網であってかまわない。例えば、サーバ装置10及びデジタコ30の間は、モバイルネットワークを介して接続されるとともに、サーバ装置10及びクライアント端末50の間は、LANやインターネットを介して接続される。
サーバ装置10は、上記の渋滞予測サービスを提供するコンピュータである。サーバ装置10は、渋滞予測装置の一例に対応する。
一実施形態として、サーバ装置10は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の渋滞予測サービスに対応する機能を実現する渋滞予測プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置10は、上記の渋滞予測サービスを提供するサーバとしてオンプレミスに実装することとしてもよいし、アウトソーシングによって上記の渋滞予測サービスを提供するクラウドとして実装することとしてもかまわない。
デジタコ30は、デジタルタコグラフ、いわゆる運行記録計である。デジタコ30は、車載機の一例に対応する。ここでは、あくまで一例として、デジタコ30は、デジタルタコグラフの装着義務が課される商用車3に搭載される例を挙げる。
一実施形態として、デジタコ30は、デジタルタコグラフの個体を識別する個体番号ごとに、時刻、位置および速度などが対応付けられたプローブデータをモバイルネットワーク等を介してサーバ装置10へアップロードする。これら位置や速度などの走行パラメータは、あくまで一例として、所定のサンプリング周期、例えば1秒間隔でデジタコ30にサンプリングさせることができる。
なお、ここでは、あくまで一例として、デジタルタコグラフの装着義務が課される貨物商用車を例に挙げたが、デジタコに類する運行監視装置、例えばドライブレコーダ等を搭載する任意の車両からプローブデータを収集することとしてもかまわない。
クライアント端末50は、上記の渋滞予測サービスの提供を受けるクライアントにより使用される端末装置の一例に対応するコンピュータである。例えば、クライアントのあくまで一例として、国道管理事務所、都道府県道または市町村道を管理する地方自治体、高速道路管理会社などの道路管理者全般が挙げられる。また、クライアント端末50には、デスクトップ型またはラップトップ型のパーソナルコンピュータなどが対応する。これはあくまで一例であり、クライアント端末50は、携帯端末装置やウェアラブル端末などの任意のコンピュータであってかまわない。
[課題の一側面]
上記の背景技術の欄でも説明した通り、上記の従来技術では、渋滞情報の提供にトラフィックカウンタや監視カメラ等の交通インフラの設置が前提となるので、渋滞情報の提供範囲が一部に限定されてしまうという側面がある。
[課題解決のアプローチの一側面]
そこで、本実施例に係るサーバ装置10は、上記のプローブデータから生成された渋滞実績データを渋滞予測に用いるアプローチを採用する。あくまで一例として、渋滞実績データには、時間帯別および渋滞度別に所定時間後の渋滞長変位の実測値が対応付けられたデータを採用できる。
ここで言う「渋滞度」とは、渋滞の度合いを指し、例えば、渋滞長を始め、SS(ShortStop)回数やリンク通過時間などが含まれうる。以下、本実施例では、渋滞度の一例として、渋滞長を例に挙げて説明を行うこととし、SS回数やリンク通過時間などについては別途後述する。
上記の渋滞実績データのうち、本実施例に係るサーバ装置10は、新規のプローブデータが取得された時間帯および新規のプローブデータから算出された渋滞長に対応する渋滞長変位の実績値に基づいて所定時間後の渋滞長の予測値を算出する。
このように所定時間後の渋滞長の予測値が算出されることにより、あくまで一例として、次のような渋滞予測の出力、例えば表示出力を実現できる。図2A及び図2Bは、渋滞予測画面の一例を示す図である。図2A及び図2Bに示す渋滞予測画面20A及び20Bは、いずれもクライアント端末50に表示される。このうち、図2Aに示す渋滞予測画面20Aには、道路地図上に現時点における渋滞長が黒の塗り潰しで表示される。一方、図2Bに示す渋滞予測画面20Bには、道路地図上に現時点における渋滞長が黒の塗り潰しで表示されると共に現時点から30分後に拡大する渋滞長変位の実績値が白の塗り潰しで表示される。これら黒の塗りつぶし及び白の塗り潰しを合わせたものが30分後の渋滞長の予測値を意味する表示となる。
図2Aに示す渋滞予測画面20A及び図2Bに示す渋滞予測画面20Bは、所定のローテーションでクライアント端末50に表示される。例えば、渋滞予測画面20Aの1秒間の表示が行われた後、渋滞予測画面20Bの1秒間の表示が行われる。このように渋滞予測画面20Aおよび渋滞予測画面20Bが交互にクライアント端末50に表示される。
これら渋滞予測画面20Aおよび渋滞予測画面20Bのローテーション表示により、現時点の渋滞長から30分後に拡大する渋滞長の予測値が点滅表示されることになる。これによって、次のような渋滞の状況遷移をクライアント端末50に提示できる。例えば、交差点P1~P3の3つの交差点のいずれにおいても現時点から渋滞が拡大することを提示できる。この他、交差点P3の渋滞が延びることにより渋滞が交差点P4にも連鎖する現象、いわゆるグリッドロックが発生する可能性があることを提示できる。
なお、図2A及び図2Bでは、30分後の渋滞長変位の予測値の一例として、現時点よりも渋滞長が拡大する例を挙げたが、現時点よりも渋滞長が縮小する場合、渋滞長が縮小する表示を行うこともできる。また、あくまで一例として、30分後の渋滞長変位の予測値を例に挙げたが、15分後、1時間後、あるいは2時間後などの任意の時点の将来予測を行うことができることも付言しておく。
このように、本実施例に係るサーバ装置10では、渋滞実績データに基づいて渋滞予測が実現されるので、必ずしもトラフィックカウンタ等の設備を渋滞予測に用いずともかまわない。
したがって、本実施例に係るサーバ装置10によれば、トラフィックカウンタ等の設備がない道路を含めて渋滞予測を実現することが可能になる。
[サーバ装置10の構成]
図3は、実施例1に係るサーバ装置10の機能的構成の一例を示すブロック図である。図3に示すように、サーバ装置10は、通信I/F(InterFace)部11と、記憶部13と、制御部15とを有する。なお、図3には、データの授受の関係を表す実線が示されているが、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
通信I/F部11は、他の装置、例えばデジタコ30やクライアント端末50などとの間で通信制御を行うインタフェースの一例に対応する。
一実施形態として、通信I/F部11には、LANカードなどのネットワークインタフェースカードなどが対応する。例えば、通信I/F部11は、プローブデータのアップロードの設定、例えばアップロードのタイミングなどをデジタコ30へ出力したり、また、デジタコ30からプローブデータを受け付けたりする。また、通信I/F部11は、クライアント端末50から渋滞予測の対象とする交差点の指定を受け付けたり、渋滞予測の結果、例えば渋滞予測画面などをクライアント端末50へ出力したりする。
記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記の渋滞予測プログラム、例えばアプリケーションプログラムやミドルウェアなどの各種プログラムに用いられるデータを記憶する機能部である。
一実施形態として、記憶部13は、サーバ装置10における補助記憶装置として実装することができる。例えば、記憶部13には、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。なお、記憶部13は、必ずしも補助記憶装置として実装されずともよく、サーバ装置10における主記憶装置として実装することもできる。この場合、記憶部13には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、総体プローブデータ13Aと、渋滞実績データ13Bとなどを記憶する。これら総体プローブデータ13Aおよび渋滞実績データ13Bのデータ以外にも、記憶部13には、他の電子データ、例えば道路ネットワークデータや上記の渋滞予測サービスの提供を受けるクライアントのアカウント情報などが記憶されることとしてもかまわない。なお、記憶部13に記憶される各データの説明は、各データの参照または生成が行われる制御部15の説明と合わせて行うこととする。
制御部15は、サーバ装置10の全体制御を行う処理部である。
一実施形態として、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばGPU(Graphics Processing Unit)やDSP(Digital Signal Processor)の他、DLU(Deep Learning Unit)やGPGPU(General-Purpose computing on Graphics Processing Units)により実装することができる。この他、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
制御部15は、図示しない主記憶装置として実装されるRAMのワークエリア上に、上記の渋滞予測プログラムを展開することにより、下記の処理部を仮想的に実現する。
図1に示すように、制御部15は、受付部15Aと、生成部15Bと、取得部15Cと、第1算出部15Dと、第2算出部15Eと、出力制御部15Fとを有する。
受付部15Aは、上記の渋滞予測サービスにおける監視対象の指定を受け付ける処理部である。
1つの側面として、受付部15Aは、交差点の指定を受け付けることができる。例えば、受付部15Aは、クライアント端末50に表示された道路地図上で交差点の指定をポインティングデバイスを介して受け付けることができる。より詳細には、受付部15Aは、地方、都道府県および市町村を選択するGUI(Graphical User Interface)コンポーネントを含む交差点指定画面をクライアント端末50に表示させる。このようなGUIコンポーネントとして、地方、都道府県、市町村の順に選択を受け付けるプルダウンメニューを表示させる他、地方、選択された地方に対応する都道府県、選択された都道府県に対応する市町村の順に道路地図を段階的に表示させることもできる。これにより、上記の渋滞予測サービスにおける監視対象とする交差点の所在位置が最大で市町村レベルにまで絞り込まれる。その上で、受付部15Aは、交差点指定画面で絞り込まれた道路地図の中から監視対象とする交差点の指定を受け付ける。この他、受付部15Aは、上記の渋滞予測サービスにおける監視対象とする交差点の位置情報、例えば緯度および経度の座標や住所などを入力させることにより、交差点の指定を受け付けることもできる。
なお、以下では、あくまで上記の渋滞予測サービスにおける監視対象の一例として、交差点の指定を受け付ける例を挙げて説明を行うが、必ずしも交差点を指定させずともかまわないことを付言しておく。例えば、上記の渋滞予測サービスにおける監視対象として、任意の道路区間、いわゆるリンクを指定させることもできる。
このような受付部15Aが実装されることで、渋滞の多発地点や渋滞の一因となる事故の多発地点などを上記の渋滞予測サービスにおける監視対象として指定させることができる。以下、受付部15Aにより指定が受け付けられた交差点のことを「指定交差点」と記載する場合がある。
生成部15Bは、総体プローブデータ13Aから渋滞実績データ13Bを生成する処理部である。
ここで、「総体プローブデータ」とは、デジタコ30A~デジタコ30Nから収集されたプローブデータが任意の期間にわたって蓄積されたプローブデータの全体集合を指す。例えば、総体プローブデータ13Aには、デジタコ30の個体番号ごとに時刻、位置および速度などが対応付けられたプローブデータの要素が含まれる。このように総体プローブデータ13Aを組成するプローブデータの要素は、所定期間分、例えば1日分の単位であってもよいし、エンジンの稼働から停止までのトリップなどの単位であってもかまわない。
また、「渋滞実績データ」とは、時間帯別および渋滞長別に所定時間後の渋滞長変位の実測値に所定の統計処理が行われた統計値が対応付けられたデータを指す。例えば、渋滞実績データ13Bは、受付部15Aにより指定が受け付けられた交差点ごとに生成することができる。また、渋滞実績データ13Bには、現時点から所定時間後の渋滞長変位の他にも、現時点から所定時間後に渋滞が拡大する確率を示す「渋滞拡大確率」や所定時間後の「総渋滞長の実測値」などが含まれることとしてもかまわない。
以下、あくまで時間帯の区分の一例として、30分間隔で時間が区切られる例を挙げて説明を行う。例えば、0時台、0時半台、・・・、17時台、17時半台、・・・、23時半台といった区分の時間帯が含まれる。さらに、「時間帯」は、当該時間帯の区分の開始時刻から次の区分の開始時刻までを指すこととする。例えば、時間帯「17時台」は、17時から17時30分までの期間を指し、17時を含み、かつ17時30分を含まないこととする。
さらに、以下では、あくまで渋滞長の区分の一例として、10m間隔で渋滞長が区切られる例を挙げて説明を行う。例えば、10m、20m、・・・、50mといった区分の渋滞長が含まれる。さらに、「渋滞長」は、当該渋滞長の1つ前の区分から本区分までを指すこととする。例えば、渋滞長「10m」は、0mから10mまでの渋滞長の区間を指し、0mを含まず、かつ10mを含むこととする。
ここで、総体プローブデータ13Aから渋滞実績データ13Bを生成する生成方法の一例について具体的に説明する。なお、以下では、指定交差点に進入する上流側のリンクが1つである場合を例に挙げるが、当然のことながら、指定交差点に進入する上流側のリンクが複数存在する場合、上流側のリンクごとに渋滞実績データ13Bが生成されることは言うまでもない。
例えば、生成部15Bは、受付部15Aにより指定が受け付けられた交差点のうち1つを選択する。続いて、生成部15Bは、記憶部13に記憶された総体プローブデータ13Aに含まれる全期間のプローブデータのうち過去1年分のプローブデータを母集団とし、過去1年分のプローブデータからプローブデータの要素、例えば1日分のプローブデータを1つ選択する。さらに、生成部15Bは、時間帯Tを1つ選択し、当該時間帯Tのスライス幅Δtをゼロに初期化する。なお、ここでは、あくまで一例として、全期間のプローブデータのうち過去1年分のプローブデータを母集団として所定時間後の渋滞長変位の統計値を算出する例を挙げるが、全期間のプローブデータを母集団とすることもできる。
その上で、生成部15Bは、受付部15Aにより指定が受け付けられた交差点の上流側のリンクを車両の絞込条件1に設定する。さらに、生成部15Bは、時間帯Tおよびスライス幅Δtにより定まる時刻T+Δtを車両の絞込条件2に設定する。さらに、生成部15Bは、受付部15Aにより指定が受け付けられた交差点から所定の距離、例えば200mまたは300m以内の地点を車両の絞込条件3に設定する。
その後、生成部15Bは、選択中のプローブデータの要素から上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両を抽出する。つまり、過去1年分のプローブデータから選択された1日分のプローブデータの中から、時刻T+Δtに指定交差点の上流側のリンクを走行中であり、かつ指定交差点から所定の距離以内に位置する車両を検索する。
そして、生成部15Bは、上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両のうち、時刻T+Δtにおける速度が所定の閾値Th1未満である車両を低速車両として抽出する。例えば、閾値Th1には、車両の走行状態が渋滞であると識別できる程度の速度、例えば20km/hなどが設定される。
その上で、生成部15Bは、指定交差点から上記の低速車両が連なる区間をスライス幅Δtの渋滞長として算出する。例えば、指定交差点から位置が近い順に上記の絞込条件1~上記の絞込条件3で絞り込まれた車両の探索を開始し、低速車両が連続しなくなることを終了条件の一例として探索を継続する。このような探索により低速車両が連なる区間を得ることができる。このとき、低速車両が連続しない場合でも、次の低速車両が10m以内に存在する場合を終了条件の例外とし、探索を継続させることとしてもかまわない。
その後、生成部15Bは、時間帯Tのスライス幅Δtをインクリメントする。あくまで一例として、1分刻みで渋滞長を算出するとしたとき、生成部15Bは、初期値であるゼロからスライス幅Δtを1分ずつインクリメントする。
その上で、生成部15Bは、時間帯T+スライス幅Δtが次の時間帯に到達するまで絞込条件1~3の車両の絞込、低速車両の抽出および渋滞長の算出などを繰り返すことで、選択中の時間帯Tからスライス幅Δtの時間断面ごとに渋滞長を算出する。
そして、時間帯T+スライス幅Δtが次の時間帯に到達する場合、生成部15Bは、スライス幅ごとに算出された渋滞長の統計値、例えば平均値を算出することにより、時間帯Tの渋滞長の統計値を算出する。これにより、選択中の1日分のプローブデータの要素のうち選択中の時間帯における渋滞長が求まる。
その後、生成部15Bは、選択中の時間帯Tの渋滞長に基づいて1つ前の時間帯T-1から所定時間後における渋滞長変位や渋滞拡大確率などの統計値を更新する。
あくまで一例として、時間帯T-1における渋滞長が15mであり、また、時間帯Tにおける渋滞長が27mであるとしたとき、時間帯T-1から30分後の渋滞長変位および渋滞拡大確率は次のように更新される。
例えば、時間帯T-1から30分後における渋滞長変位が更新される場合、生成部15Bは、時間帯T-1から30分後における渋滞長変位の実測値のサンプルとして、渋滞長変位「12m(=27m-15m)」を新たに追加する。さらに、生成部15Bは、これまでに得られた全てのサンプルの間で時間帯T-1から30分後における渋滞長変位の実測値を合計し、合計値をサンプルの総数Nで除算することにより統計値、すなわち平均値を算出する。その上で、時間帯T-1から30分後における渋滞長変位の統計値は、渋滞実績データ13Bのうち時間帯T-1及び渋滞長20mに対応する渋滞長変位のフィールドに上書き更新される。なお、ここでは、統計値の一例として、平均値を例示したが、最頻値や中央値などの他の統計値であってもかまわない。
また、時間帯T-1から30分後における渋滞拡大確率が更新される場合、生成部15Bは、これまでに時間帯T-1から30分後における渋滞長の実測値が得られたサンプルの総数Nをインクリメントする。さらに、生成部15Bは、時間帯Tの渋滞長が時間帯T-1の渋滞長よりも拡大しているので、時間帯T-1から30分後に渋滞が拡大した拡大サンプル数をインクリメントする。なお、時間帯Tの渋滞長が時間帯T-1の渋滞長よりも縮小している場合、拡大サンプル数はインクリメントされず、サンプルの総数だけがインクリメントされる。その上で、生成部15Bは、拡大サンプル数をサンプルの総数Nで除算することにより、渋滞拡大確率を算出する。その上で、時間帯T-1から30分後における渋滞拡大確率は、渋滞実績データ13Bのうち時間帯T-1及び渋滞長20mに対応する渋滞拡大確率のフィールドに上書き更新される。
このように、生成部15Bは、選択中の1日分のプローブデータの要素の全ての時間帯が選択されるまで、記憶部13に記憶された渋滞実績データ13Bの更新を繰り返す。その後、選択中の1日分のプローブデータの要素の全ての時間帯が選択された場合、生成部15Bは、過去1年分のプローブデータから全てのプローブデータの要素が選択されるまで、記憶部13に記憶された渋滞実績データ13Bの更新を繰り返す。
図4は、渋滞実績データ13Bの一例を示す図である。図4には、ある指定交差点に関する渋滞実績データ13Bが抜粋して示されているが、他にも指定交差点が存在する場合、指定交差点、さらには、指定交差点の上流側のリンクごとに渋滞実績データ13Bが記憶部13に保持されることは言うまでもない。図4に示す渋滞実績データ13Bの例で言えば、時間帯「17時台」および渋滞長「10m」である場合、渋滞が拡大する確率が4割であり、30分後には渋滞長が10m減少し、総渋滞長が0mになる可能性が統計的に高いことをコンピュータに認識させることができる。また、時間帯「17時台」および渋滞長「20m」である場合、渋滞が拡大する確率が6割であり、30分後には渋滞長が10m増加し、総渋滞長が30mになる可能性が統計的に高いことをコンピュータに認識させることができる。さらに、時間帯および渋滞長の値が上記2つの例と異なる場合でも、渋滞拡大確率、30分後の渋滞長変位および30分後の総渋滞長の値は異なれども同様の認識をコンピュータに行わせることが可能である。
なお、図4には、30分後の渋滞長変位の統計値が示されているが、15分後、1時間後、あるいは2時間後の渋滞長変位の統計値を保存することとしてもよいし、15分後、1時間後および2時間後の渋滞長変位の統計値の全てを保存することとしてもかまわない。
取得部15Cは、新たなプローブデータを取得する処理部である。
一実施形態として、取得部15Cは、リアルタイム、あるいは準リアルタイムで新たなプローブデータをデジタコ30から取得する。例えば、取得部15Cは、所定時間、例えば30分ごとに所定時間分のプローブデータをデジタコ30A~30Nから最新のプローブデータとして取得する。このように取得された最新のプローブデータは、最新のプローブデータが取得された時点、すなわち現時点における渋滞長を算出するのに用いられる一方で、記憶部13に保存された総体プローブデータ13Aに追加登録される。
第1算出部15Dは、新たなプローブデータから渋滞度を算出する処理部である。
一実施形態として、第1算出部15Dは、取得部15Cにより新規のプローブデータが取得された場合、指定交差点、あるいは指定交差点の上流側のリンクごとに渋滞長を算出する算出処理を実行する。この算出処理には、生成部15Bが渋滞実績データ13Bの生成時に算出する渋滞長の算出方法と略同一のロジックを用いることができる。
より具体的には、第1算出部15Dは、スライス幅Δtをゼロに初期化する。その上で、第1算出部15Dは、指定交差点の上流側のリンクを車両の絞込条件1に設定する。さらに、第1算出部15Dは、最新のプローブデータの開始時刻、例えば現時刻の30分前の時刻T30min agoおよびスライス幅Δtにより定まる時刻T30min ago+Δtを車両の絞込条件2に設定する。さらに、第1算出部15Dは、指定交差点から所定の距離、例えば200mまたは300m以内の地点を車両の絞込条件3に設定する。
その後、生成部15Bは、最新のプローブデータから上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両を抽出する。つまり、最新のプローブデータの中から、時刻T30min ago+Δtに指定交差点の上流側のリンクを走行中であり、かつ指定交差点から所定の距離以内に位置する車両を検索する。
そして、第1算出部15Dは、上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両のうち、時刻T+Δtにおける速度が所定の閾値Th1未満である車両を低速車両として抽出する。例えば、閾値Th1には、車両の走行状態が渋滞であると識別できる程度の速度、例えば20km/hなどが設定される。
その上で、第1算出部15Dは、指定交差点から上記の低速車両が連なる区間をスライス幅Δtの渋滞長として算出する。例えば、指定交差点から位置が近い順に上記の絞込条件1~上記の絞込条件3で絞り込まれた車両の探索を開始し、低速車両が連続しなくなることを終了条件の一例として探索を継続する。このような探索により低速車両が連なる区間を得ることができる。このとき、低速車両が連続しない場合でも、次の低速車両が10m以内に存在する場合を終了条件の例外とし、探索を継続させることとしてもかまわない。
その後、第1算出部15Dは、最新のプローブデータの開始時刻、例えば現時刻の30分前の時刻T30min agoからのスライス幅Δtをインクリメントする。あくまで一例として、30分前から現時点まで渋滞長を1分刻みで算出するとしたとき、第1算出部15Dは、初期値であるゼロからスライス幅Δtを1分ずつインクリメントする。
その上で、第1算出部15Dは、最新のプローブデータの開始時刻、例えば現時刻の30分前の時刻T30min ago+スライス幅Δtが現時刻に到達するまで絞込条件1~3の車両の絞込、低速車両の抽出および渋滞長の算出などを繰り返すことで、所定時間前、例えば30分前から現時点までのスライス幅Δtの時間断面ごとに渋滞長を算出する。
そして、時間帯T+スライス幅Δtが現時点に到達する場合、第1算出部15Dは、スライス幅ごとに算出された渋滞長の統計値、例えば平均値を算出することにより、現時点における渋滞長を算出する。
第2算出部15Eは、渋滞実績データ13Bを参照して、現時点から所定時間後における渋滞長変位の予測値を算出する処理部である。
一実施形態として、第2算出部15Eは、取得部15Cにより新規のプローブデータが取得された時間帯および第1算出部15Dにより新規のプローブデータから算出された渋滞長に基づいて所定時間後の渋滞長の予測値を算出する。あくまで一例として、指定交差点に対応する渋滞実績データ13Bが図4に示す例に対応し、取得部15Cにより新規のプローブデータが取得された時間帯が17時であり、第1算出部15Dにより新規のプローブデータから算出された渋滞長が20mであることとする。この場合、時間帯「17時台」および渋滞長「20m」に対応付けられた30分後の渋滞長変位「10m」が現時点から30分後における渋滞長変位の予測値として算出される。
出力制御部15Fは、渋滞予測結果の出力制御を行う処理部である。
あくまで1つの側面として、出力制御部15Fは、第2算出部15Eにより算出された所定時間後における渋滞長変位の予測値を含む各種の表示出力、音声出力、あるいは印字出力などをクライアント端末50に実行することができる。例えば、出力制御部15Fは、指定交差点、あるいは指定交差点の上流側のリンクごとに現時点における渋滞長、さらには、所定時間後の渋滞長変位の予測値がマッピングされた道路地図をクライアント端末50に表示させることができる。このとき、図2A及び図2Bに示された通り、現時点における渋滞長を含む渋滞予測画面と、所定時間後の渋滞長の予測値、すなわち現時点における渋滞長および所定時間後の渋滞長変位の実績値を含む渋滞予測画面とのローテーション表示を実行させることもできる。さらに、渋滞拡大確率が所定の閾値Th2、例えば5割以上である場合に絞って所定時間後の渋滞長変位の予測値を表示させたり、所定時間後の渋滞長変位の予測値と共にその予測値の尤度として渋滞拡大確率を表示させるたりすることもできる。なお、ここでは、あくまで一例として、道路管理者向けの表示出力を例に挙げたが、これに限定されない。例えば、詳細は後述するが、デジタコ30を介して運送事業者のドライバ向けの表示出力を行うこともできる。
[処理の流れ]
次に、本実施例に係るサーバ装置10の処理の流れについて説明する。なお、ここでは、サーバ装置10により実行される(1)生成処理について説明した後に、(2)渋滞予測処理について説明することとする。
(1)生成処理
図5は、実施例1に係る生成処理の手順を示すフローチャートである。この処理は、あくまで一例として、上記の渋滞予測サービスで監視対象とする交差点の指定が受け付けられた場合に実行できる。
図5に示すように、受付部15Aにより交差点の指定が受け付けられると(ステップS101)、生成部15Bは、受付部15Aにより指定が受け付けられた指定交差点のうち1つを選択する(ステップS102)。
続いて、生成部15Bは、記憶部13に記憶された総体プローブデータ13Aに含まれる全期間のプローブデータのうち過去1年分のプローブデータを母集団とし、過去1年分のプローブデータからプローブデータの要素、例えば1日分のプローブデータを1つ選択する(ステップS103)。さらに、生成部15Bは、時間帯Tを1つ選択し、当該時間帯Tのスライス幅Δtをゼロに初期化する(ステップS104及びステップS105)。
その上で、生成部15Bは、ステップS102で選択された指定交差点の上流側のリンクを車両の絞込条件1に設定する(ステップS106)。さらに、生成部15Bは、時間帯Tおよびスライス幅Δtにより定まる時刻T+Δtを車両の絞込条件2に設定する(ステップS107)。さらに、生成部15Bは、ステップS102で選択された指定交差点から所定の距離、例えば200mまたは300m以内の地点を車両の絞込条件3に設定する(ステップS108)。
その後、生成部15Bは、選択中のプローブデータの要素から上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両を抽出する(ステップS109)。つまり、過去1年分のプローブデータから選択された1日分のプローブデータの中から、時刻T+Δtに指定交差点の上流側のリンクを走行中であり、かつ指定交差点から所定の距離以内に位置する車両を検索する。
そして、生成部15Bは、上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両のうち、時刻T+Δtにおける速度が所定の閾値Th1未満である車両を低速車両として抽出する(ステップS110)。その上で、生成部15Bは、指定交差点から上記のステップS110で抽出された低速車両が連なる区間をスライス幅Δtの渋滞長として算出する(ステップS111)。
その後、生成部15Bは、時間帯Tのスライス幅Δtをインクリメントし(ステップS112)、時間帯T+スライス幅Δtが次の時間帯に到達するまで(ステップS113No)、上記のステップS106から上記のステップS112までの処理を繰り返す。これによって、選択中の時間帯Tからスライス幅Δtの時間断面ごとに渋滞長を算出する。
そして、時間帯T+スライス幅Δtが次の時間帯に到達する場合(ステップS113Yes)、生成部15Bは、スライス幅ごとに算出された渋滞長の統計値、例えば平均値を算出することにより、時間帯Tの渋滞長の統計値を算出する(ステップS114)。
その後、生成部15Bは、選択中の時間帯Tの渋滞長に基づいて1つ前の時間帯T-1から所定時間後における渋滞長変位や渋滞拡大確率などの統計値を更新する(ステップS115)。
そして、選択中の1日分のプローブデータの要素の全ての時間帯が選択されるまで(ステップS116No)、上記のステップS104から上記のステップS115までの処理が繰り返し実行される。
その後、選択中の1日分のプローブデータの要素の全ての時間帯が選択された場合(ステップS116Yes)、過去1年分のプローブデータから全てのプローブデータの要素が選択されるまで(ステップS117No)、上記のステップS103から上記のステップS116までの処理が繰り返し実行される。
そして、ステップS101で指定が受け付けられた全ての指定交差点が選択されるまで(ステップS118No)、上記のステップS102から上記のステップS117までの処理が繰り返し実行される。その後、ステップS101で指定が受け付けられた全ての指定交差点が選択された場合、処理が終了される。
以上の処理によって、指定交差点、さらには、指定交差点の上流側のリンクごとに渋滞実績データ13Bが生成される。
(2)渋滞予測処理
図6は、実施例1に係る渋滞予測処理の手順を示すフローチャートである。この処理は、あくまで一例として、取得部15Cにより最新のプローブデータが取得された場合に実行される。
図6に示すように、取得部15Cにより最新のプローブデータが取得されると(ステップS301)、第1算出部15Dは、指定交差点のうち1つを選択する(ステップS302)。続いて、第1算出部15Dは、スライス幅Δtをゼロに初期化する(ステップS303)。
その上で、第1算出部15Dは、指定交差点の上流側のリンクを車両の絞込条件1に設定する(ステップS304)。さらに、第1算出部15Dは、最新のプローブデータの開始時刻、例えば現時刻の30分前の時刻T30min agoおよびスライス幅Δtにより定まる時刻T30min ago+Δtを車両の絞込条件2に設定する(ステップS305)。さらに、第1算出部15Dは、指定交差点から所定の距離、例えば200mまたは300m以内の地点を車両の絞込条件3に設定する(ステップS306)。
その後、生成部15Bは、最新のプローブデータから上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両を抽出する(ステップS307)。つまり、最新のプローブデータの中から、時刻T30min ago+Δtに指定交差点の上流側のリンクを走行中であり、かつ指定交差点から所定の距離以内に位置する車両を検索する。
そして、第1算出部15Dは、上記の絞込条件1~上記の絞込条件3の3つの絞込条件をAND条件で満たす車両のうち、時刻T+Δtにおける速度が所定の閾値Th1未満である車両を低速車両として抽出する(ステップS308)。その上で、第1算出部15Dは、指定交差点から上記の低速車両が連なる区間をスライス幅Δtの渋滞長として算出する(ステップS309)。
その後、第1算出部15Dは、最新のプローブデータの開始時刻、例えば現時刻の30分前の時刻T30min agoからのスライス幅Δtをインクリメントし(ステップS310)、時刻T30min ago+Δtが現時刻に到達するまで(ステップS311No)、上記のステップS304から上記のステップS310の処理が繰り返し実行される。
そして、時刻T30min ago+Δtが現時刻に到達した場合(ステップS311Yes)、第1算出部15Dは、スライス幅ごとに算出された渋滞長の統計値、例えば平均値を算出することにより、現時点における渋滞長を算出する(ステップS312)。
その上で、第2算出部15Eは、取得部15Cにより新規のプローブデータが取得された時間帯および第1算出部15Dにより新規のプローブデータから算出された渋滞長に基づいて所定時間後の渋滞長の予測値を算出する(ステップS313)。
その後、全ての指定交差点が選択されるまで(ステップS314No)、上記のステップS302から上記のステップS313までの処理が繰り返し実行される。その後、全ての指定交差点が選択された場合(ステップS314Yes)、出力制御部15Fは、指定交差点、あるいは指定交差点の上流側のリンクごとに現時点における渋滞長、さらには、所定時間後の渋滞長変位の予測値がマッピングされた道路地図をクライアント端末50に表示させる(ステップS315)。その後、処理が終了される。
[効果の一側面]
上述してきたように、本実施例に係るサーバ装置10は、時間帯別および渋滞度別に所定時間後の渋滞長変位の実測値が対応付けられた渋滞実績データを参照して、新規のプローブデータが取得された時間帯および新規のプローブデータから算出された渋滞長に対応する渋滞長変位の実測値に基づいて所定時間後の渋滞長の予測値を算出する。このように、本実施例に係るサーバ装置10では、渋滞実績データに基づいて渋滞予測が実現されるので、必ずしもトラフィックカウンタ等の設備を渋滞予測に用いずともかまわない。したがって、本実施例に係るサーバ装置10によれば、トラフィックカウンタ等の設備がない道路を含めて渋滞予測を実現することが可能である。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[渋滞度の他の一例]
上記の実施例1では、渋滞度の一例として、渋滞長を例に挙げたが、他の渋滞度を用いることもできる。例えば、指定交差点から一定距離、例えば100m以内に進入してから当該指定交差点を通過するまでに停止するSS回数を渋滞度として用いることもできる。ここで言う「停止」は、あくまで一例として、速度が一定時間、例えば30秒間以上にわたって速度0km/hが連続する状態を指す。
例えば、サーバ装置10は、選択中のプローブデータの要素の中から、指定交差点を通過する時刻が時間帯Tの区間に含まれる車両を抽出する。その上で、サーバ装置10は、指定交差点の一定距離以内に進入してから指定交差点を通過するまでの区間における速度の時系列データを車両ごとに参照して、車両ごとにSS回数を算出する。このような処理を図5に示すステップS114の前後に追加したり、図5に示すステップS105からステップS114の代わりに実行することができる。これによって、図7に示すような渋滞実績データ13Bを生成することができる。
図7は、渋滞実績データ13Bの他の一例を示す図である。図7に示す渋滞実績データ13Bの例で言えば、時間帯「17時台」およびSS回数「1.0回」である場合、渋滞が拡大する確率が4割であり、30分後には渋滞長が20m減少する可能性が統計的に高いことをコンピュータに認識させることができる。また、時間帯「17時台」およびSS回数「1.5回」である場合、渋滞が拡大する確率が6割であり、30分後には渋滞長が10m増加する可能性が統計的に高いことをコンピュータに認識させることができる。さらに、時間帯およびSS回数の値が上記2つの例と異なる場合でも、渋滞拡大確率、30分後の渋滞長変位の値は異なれども同様の認識をコンピュータに行わせることが可能である。なお、図7には、30分後の渋滞長変位の統計値が保存される例を挙げたが、その代わりに30分後のSS回数変位の統計値が保存されることとしてもかまわない。
このような渋滞実績データ13Bが記憶部13に保存された状況の下、サーバ装置10は、最新のプローブデータが取得された場合、最新のプローブデータの中から、指定交差点を通過する時刻が最新のプローブデータの区間に含まれる車両を抽出する。その上で、サーバ装置10は、指定交差点の一定距離以内に進入してから指定交差点を通過するまでの区間における速度の時系列データを車両ごとに参照して、車両ごとにSS回数を算出する。このような処理を図6に示すステップS312の前後に追加したり、あるいはステップS303からステップS312の処理の代わりに実行することができる。これによって、サーバ装置10は、新規のプローブデータが取得された時間帯および新規のプローブデータから算出されたSS回数に基づいて所定時間後の渋滞長の予測値、あるいは所定時間後のSS回数の予測値を算出することができる。
また、渋滞度を渋滞長またはSS回数のいずれかによって区分するのではなく、渋滞長及びSS回数の組を渋滞度の区分として用いることもできる。この場合、渋滞長及びSS回数の組ごとに渋滞拡大確率を算出することができる。図8は、渋滞実績データ13Bの他の一例を示す図である。図8に示す渋滞実績データ13Bの例で言えば、時間帯「xx時台」、渋滞長「20m」およびSS回数「1.0回」である場合、渋滞が拡大する確率が五分、すなわち5%であり、30分後には渋滞長が20m減少し、総渋滞長が0mになる可能性が統計的に高いことをコンピュータに認識させることができる。また、時間帯「xx時台」、渋滞長「20m」およびSS回数「1.5回」である場合、渋滞が拡大する確率が1割であり、30分後には渋滞長が20m減少し、総渋滞長が0mになる可能性が統計的に高いことをコンピュータに認識させることができる。さらに、時間帯、渋滞長およびSS回数の値が上記3つの例と異なる場合でも、渋滞拡大確率、30分後の渋滞長変位および30分後の総渋滞長の値は異なれども同様の認識をコンピュータに行わせることが可能である。なお、図8には、30分後の渋滞長変位の統計値が保存される例を挙げたが、その代わりに30分後のSS回数変位の統計値が保存されることとしてもかまわない。
図8に示された渋滞拡大確率が所定の閾値Th2、例えば5割以上である場合に絞って所定時間後の渋滞長変位の予測値を表示させたり、所定時間後の渋滞長変位の予測値と共にその予測値の尤度として渋滞拡大確率を表示させるたりすることもできる。図8に示された渋滞拡大確率は、渋滞長及びSS回数の組ごとに区分されるので、渋滞長またはSS回数の単独で区分される場合よりも高い確度が期待できる。
なお、ここでは、渋滞度の一例として、SS回数を例に挙げたが、他の渋滞度、例えばリンク通過時間などを用いることもできる。この場合、指定交差点を通過する時刻が選択中の時間帯T、あるいは最新のプローブデータの区間に含まれる車両を抽出し、当該車両が指定交差点の上流側のリンクに進入する時刻と、指定交差点を通過する時刻との差をリンク通過時間として算出できる。
[迂回案内]
さらに、本実施例では、指定交差点に対応するノードおよびその上流側のノードの2つのノード間を通行する経路ごとに当該経路を通過する車両の交通量が2つのノード間を走行する総交通量に占める割合を算出し、時間帯および渋滞長ごとに当該時間帯における割合と所定時間後における割合とを対応付けて保持しておくことができる。以下、各経路を通過する車両の交通量が2つのノード間を走行する総交通量に占める割合のことを「経路通過割合」と記載する場合がある。
図9A及び図9Bは、迂回案内の一例を示す図である。図9A及び図9Bには、地点Pおよび地点Qの2つのノード間を結ぶ経路として、経路A、経路B及び経路Cを含む道路地図が示されている。さらに、図9Aには、現時点における渋滞長と共に現時点における経路通過割合が表示されている一方で、図9Bには、30分後の渋滞長の予測値と共に30分後における経路通過割合が表示されている。これら図9Aに示す経路通過割合および図9Bに示す経路通過割合のローテーション表示をデジタコ30や運行管理者の端末に行うことで、現時点の経路通過割合と30分後の経路通過割合とが点滅表示されることになる。これによって、次のような迂回案内をドライバや運行管理者に行うことができる。例えば、経路Aの渋滞長が長くなるに連れて経路Bや経路Cの迂回路を選択して地点Pから地点Qへ走行するドライバが多いことを通知できる。さらに、経路Bの経路通過割合が30%を超えるので、貨物商用車の走行実績が十分にあり、道幅や高さの制限で迂回経路選択時に走行できない事態が起こる可能性が低いことを把握できる。この結果、経路Bや経路Cの迂回路の選択を促すことができる。
なお、ここでは、ある1時点から将来予測を例に挙げたが、渋滞多発または事故多発などの要注意の経路Aが地点Q付近の荷卸し地へ向かう経路として運行計画上で策定されている場合、地点Qを通過すべき予定の時間が運行計画の策定時点で既知である場合がある。この場合、通過予定時間の2時間前に予測された通過予定時間における渋滞長および経路通過割合、例えば図9Aに示す画面を表示した後、通過予定時間の1時間前に再予測を行い、通過予定時間の1時間前に予測された通過予定時間における渋滞長および経路通過割合、例えば図9Bに示す画面へ表示を更新させることができる。これによっても、経路Bや経路Cの迂回路の選択を促すことができる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部15A、生成部15B、取得部15C、第1算出部15D、第2算出部15Eまたは出力制御部15Fをサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部15A、生成部15B、取得部15C、第1算出部15D、第2算出部15Eまたは出力制御部15Fを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置10の機能を実現するようにしてもよい。
[渋滞予測プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有する渋滞予測プログラムを実行するコンピュータの一例について説明する。
図10は、実施例1及び実施例2に係る渋滞予測プログラムを実行するコンピュータのハードウェア構成例を示す図である。図10に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
HDD170には、図10に示すように、上記の実施例1で示した受付部15A、生成部15B、取得部15C、第1算出部15D、第2算出部15E及び出力制御部15Fと同様の機能を発揮する渋滞予測プログラム170aが記憶される。この渋滞予測プログラム170aは、図3に示した受付部15A、生成部15B、取得部15C、第1算出部15D、第2算出部15E及び出力制御部15Fの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から渋滞予測プログラム170aを読み出した上でRAM180へ展開する。この結果、渋滞予測プログラム170aは、図10に示すように、渋滞予測プロセス180aとして機能する。この渋滞予測プロセス180aは、RAM180が有する記憶領域のうち渋滞予測プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、渋滞予測プロセス180aが実行する処理の一例として、図5や図6に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の渋滞予測プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に渋滞予測プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から渋滞予測プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに渋滞予測プログラム170aを記憶させておき、コンピュータ100がこれらから渋滞予測プログラム170aを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)車載機から前記車載機を搭載する車両の位置および速度を含むプローブデータを取得し、
前記車載機ごとに取得されるプローブデータの集合に基づいて所定の交差点における渋滞度を算出し、
時間帯別および渋滞度別に前記時間帯から所定時間後に前記交差点の渋滞長が変化する渋滞長変位の実測値が対応付けられた渋滞実績データのうち、前記プローブデータの集合が取得される時間帯及び前記プローブデータの集合から算出された渋滞度に対応する渋滞長変位の実測値に基づいて所定時間後における渋滞長の予測値を算出する、
処理をコンピュータに実行させることを特徴とする渋滞予測プログラム。
(付記2)前記渋滞度は、前記交差点の上流側のリンクにおける渋滞長であることを特徴とする付記1に記載の渋滞予測プログラム。
(付記3)前記渋滞度は、前記交差点の所定の距離以内に進入してから前記交差点を通過するまでの間に停止された回数であることを特徴とする付記1に記載の渋滞予測プログラム。
(付記4)車載機から前記車載機を搭載する車両の位置および速度を含むプローブデータを取得し、
前記車載機ごとに取得されるプローブデータの集合に基づいて所定の交差点における渋滞度を算出し、
時間帯別および渋滞度別に前記時間帯から所定時間後に前記交差点の渋滞長が変化する渋滞長変位の実測値が対応付けられた渋滞実績データのうち、前記プローブデータの集合が取得される時間帯及び前記プローブデータの集合から算出された渋滞度に対応する渋滞長変位の実測値に基づいて所定時間後における渋滞長の予測値を算出する、
処理をコンピュータが実行することを特徴とする渋滞予測方法。
(付記5)前記渋滞度は、前記交差点の上流側のリンクにおける渋滞長であることを特徴とする付記4に記載の渋滞予測方法。
(付記6)前記渋滞度は、前記交差点の所定の距離以内に進入してから前記交差点を通過するまでの間に停止された回数であることを特徴とする付記4に記載の渋滞予測方法。
(付記7)車載機から前記車載機を搭載する車両の位置および速度を含むプローブデータを取得する取得部と、
前記車載機ごとに取得されるプローブデータの集合に基づいて所定の交差点における渋滞度を算出する第1算出部と、
時間帯別および渋滞度別に前記時間帯から所定時間後に前記交差点の渋滞長が変化する渋滞長変位の実測値が対応付けられた渋滞実績データのうち、前記プローブデータの集合が取得される時間帯及び前記プローブデータの集合から算出された渋滞度に対応する渋滞長変位の実測値に基づいて所定時間後における渋滞長の予測値を算出する第2算出部と、
を有することを特徴とする渋滞予測装置。
(付記8)前記渋滞度は、前記交差点の上流側のリンクにおける渋滞長であることを特徴とする付記7に記載の渋滞予測装置。
(付記9)前記渋滞度は、前記交差点の所定の距離以内に進入してから前記交差点を通過するまでの間に停止された回数であることを特徴とする付記7に記載の渋滞予測装置。