以下に、本発明の一実施形態について、図面を参照して説明する。
図1は、本発明が適用された車載用ナビゲーション装置100の概略構成図である。図示するように、車載用ナビゲーション装置100は、演算処理部1と、ディスプレイ2と、記憶装置3と、音声入出力装置4と、入力装置5と、ROM装置6と、車速センサ7と、ジャイロセンサ8と、GPS(Global Positioning System)受信装置9と、FM多重放送受信装置10と、ビーコン受信装置11と、を備えている。
演算処理部1は、様々な処理を行う中心的ユニットである。例えば各種センサ7,8やGPS受信装置9、FM多重放送受信装置10、またはビーコン受信装置11から出力される情報を基にして現在地を検出する。また、得られた現在地情報に基づいて、表示に必要な地図データを記憶装置3あるいはROM装置6から読み出す。また、読み出した地図データをグラフィックス展開し、そこに現在地を示すマークを重ねてディスプレイ2へ表示する。また、記憶装置3あるいはROM装置6に記憶されている地図データ等を用いて、ユーザから指示された出発地(現在地)と目的地とを結ぶ最適な経路(推奨経路)を探索する。また、音声入出力装置4やディスプレイ2を用いてユーザを誘導する。
ディスプレイ2は、演算処理部1で生成されたグラフィックス情報を表示するユニットである。ディスプレイ2は、液晶ディスプレイ、有機ELディスプレイなどで構成される。
記憶装置3は、HDD(Hard Disk Drive)や不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成される。
この記憶媒体には、通常の経路探索装置に必要な地図データなどの他、リンクテーブル500と、補完情報テーブル600と、が記憶されている。
図2は、リンクテーブル500の構成を示す図である。リンクテーブル500は、地図上の区画された領域であるメッシュの識別コード(メッシュID)501ごとに、そのメッシュ領域に含まれる道路を構成する各リンクのリンクデータ502を含んでいる。
リンクデータ502は、リンクの識別子であるリンクID511ごとに、リンクを構成する2つのノード(開始ノード、終了ノード)の座標情報522、リンクを含む道路の種別を示す道路種別523、リンクの長さを示すリンク長524、予め記憶されたリンク旅行時間525、リンクを通行することができるか否かを示す通行可否526、リンクを含む道路の通称(例えば、「環八通り」等)を示す通称527、リンクを含む道路の路幅528、受信したリンク旅行時間529、などを含んでいる。
なお、ここでは、リンクを構成する2つのノードについて開始ノードと終了ノードとを区別することで、同じ道路の上り方向と下り方向とを、それぞれ別のリンクとして管理するようにしている。
また、予め記憶されたリンク旅行時間525は、ナビゲーション装置が予め保持しているリンク旅行時間である。一方、受信したリンク旅行時間529は、交通情報センター等の外部から受信し、逐次記憶されたリンク旅行時間を示す。
なお、予め記憶されたリンク旅行時間525および受信したリンク旅行時間529は、日時、天気などの条件ごとに対応付けられたリンク旅行時間であってもよい。
また、受信したリンク旅行時間529は、過去に収集した情報から統計処理された結果生成された統計交通情報に基づく旅行時間であってもよい。
図3は、補完情報テーブル600の構成を示す図である。補完情報テーブル600は、補完対象のリンクに補完する際に用いられる補完情報を記憶するテーブルである。補完情報テーブル600は、交通情報の補完対象となるリンクである補完対象リンクID601ごとに、その補完対象のリンクに対して補完する交通情報となる補完元リンクのリンクIDである補完元リンクID611と、その補完元リンクを通行する車両の平均速度を示す平均速度612と、の情報を含む。
また、平均速度612は日時、天気などの条件ごとに分類された平均速度の情報であってもよい。
この場合、平均速度612は、例えば、平均速度(晴)、平均速度(雨)、平均速度(雪)等に細分化されていてもよい。
また例えば、平均速度612は、時間帯ごとに細分化されて平均速度(6時〜8時)、平均速度(8時〜10時)、平均速度(10時〜12時)、平均速度(12時〜14時)等に細分化されていても良い。
なお、補完情報テーブル600は、後述する交通情報補完処理において、補完部107により生成される。
図1に戻って説明する。音声入出力装置4は、音声入力装置としてマイクロフォン41と、音声出力装置としてスピーカ42と、を備える。マイクロフォン41は、使用者やその他の搭乗者が発した声などの車載用ナビゲーション装置100の外部の音声を取得する。
スピーカ42は、演算処理部1で生成された使用者へのメッセージを音声信号として出力する。マイクロフォン41とスピーカ42は、車両の所定の部位に、別個に配されている。ただし、一体の筐体に収納されていても良い。車載用ナビゲーション装置100は、マイクロフォン41及びスピーカ42を、それぞれ複数備えることができる。
入力装置5は、使用者からの指示を使用者による操作を介して受け付ける装置である。入力装置5は、タッチパネル51と、ダイヤルスイッチ52と、その他のハードスイッチ(図示しない)であるスクロールキー、縮尺変更キーなどで構成される。
タッチパネル51は、ディスプレイ2の表示面側に搭載され、表示画面を透視可能である。タッチパネル51は、ディスプレイ2に表示された画像のXY座標と対応したタッチ位置を特定し、タッチ位置を座標に変換して出力する。タッチパネル51は、感圧式または静電式の入力検出素子などにより構成される。
ダイヤルスイッチ52は、時計回り及び反時計回りに回転可能に構成され、所定の角度の回転ごとにパルス信号を発生し、演算処理部1に出力する。演算処理部1では、パルス信号の数から、回転角度を求める。
ROM装置6は、CD-ROMやDVDなどのROM(Read Only Memory)やIC(Integrated Circuit)カードといった、少なくとも読み取りが可能な記憶媒体で構成されている。この記憶媒体には、例えば、動画データや、音声データなどが記憶されている。
車速センサ7,ジャイロセンサ8およびGPS受信装置9は、車載用ナビゲーション装置100において現在地(自車位置)を検出するために使用されるものである。車速センサ7は、加速度センサ等により車両の走行速度を検出し、演算処理部1に送信するものである。ジャイロセンサ8は、光ファイバジャイロや振動ジャイロ等で構成され、移動体が回転した角度を検出し、演算処理部1に送信するものである。GPS受信装置9は、GPS衛星からの信号を受信し移動体とGPS衛星間の距離と距離の変化率を3個以上の衛星に対して測定することで移動体の現在位置、進行速度および進行方位を測定し、演算処理部1に送信するものである。
FM多重放送受信装置10およびビーコン受信装置11は、FM多重放送信号としてVICS(登録商標、Vehicle Information and Communication System)情報などのFM多重放送局から送られてくる概略現況交通情報、規制情報、SA/PA(サービスエリア/パーキングエリア)情報、駐車場情報、天気情報などを受信する。
図4は、演算処理部1の機能ブロック図である。
図示するように、演算処理部1は、主制御部101と、入力受付部102と、出力処理部103と、渋滞交差点検索部104と、補完元リンク検索部105と、補完対象リンク検索部106と、補完部107と、経路探索部108と、を有する。
主制御部101は、様々な処理を行う中心的な機能部であり、処理内容に応じて、他の処理部を制御する。また、主制御部101は、車載用ナビゲーション装置100の本来の基本動作であるナビゲーション処理(例えば、交通情報の表示、現在位置の表示、経路探索、経路誘導等)を実施する。さらに、各処理部からの要求に応じて、現在時刻を出力する。
入力受付部102は、マイクロフォン41、タッチパネル51およびダイヤルスイッチ52を介して、使用者からの指示入力を受け付け、これを各処理部に受け渡す処理部である。
出力処理部103は、画面出力をディスプレイ2に表示させる機能部である。ディスプレイ2への表示が要求される領域にある画面データと表示候補を受け取り、指定された描画方式で、道路、その他の地図構成物や、現在地、目的地、推奨経路、メッセージ情報のためのダイアログなどを描画するように画面描画コマンドを生成する。そして、生成したコマンドを、ディスプレイ2に送信する。
渋滞交差点検索部104は、所定の地域、例えば関東地方や同一都道府県内など、に存在するノードのうち、交通情報が付加されているリンクの終了ノードにあたり、かつ、交通情報が付加されておらず所定の道路種別を備えるリンクの終了ノードにあたる交差点ノードを抽出し、渋滞交差点として記憶装置3に記憶させる。
具体的には、まず、渋滞交差点検索部104は、交通情報が付加されているリンクの終了ノードのノードIDを抽出する。次に、抽出した終了ノードのノードIDで特定されるノードを終了ノードとするリンクのリンクIDを特定する。
そして、渋滞交差点検索部104は、特定したリンクIDにより特定されるリンクの中に、交通情報が付加されておらず、所定の道路種別(例えば、都道府県道、国道)を備えるリンクを検索する。検索の結果、該当するリンクがあれば、渋滞交差点検索部104は、そのノードIDを渋滞交差点として、記憶装置3の図示しない領域に記憶させる処理を行う。
補完元リンク検索部105は、交通情報の補完元となるリンクを特定する処理を行う。
渋滞交差点につながる道路のうち、交通情報を付加された道路を辿り、その辿った道路をその渋滞交差点につながる道路に対する補完元として特定するというのが、処理の概要である。
具体的には、例えば、補完元リンク検索部105は、以下の(105−1)から(105−7)までの処理を実施する。
(105−1)補完元リンク検索部105は、記憶装置3に記憶されている渋滞交差点のノードIDを取得する。
(105−2)補完元リンク検索部105は、(105−1)で取得したそれぞれのノードIDごとに、以下(105−3)から(105−7)までの処理を実施する。
(105−3)そのノードIDを終了ノードIDに持つリンクのうち、交通情報を付加されており、かつ所定の条件を満たすリンクIDを特定し、そのリンクごとに、以下(105−4)から(105−7)までの処理を実施する。
(105−4)補完元リンク検索部105は、(105−3)で特定したリンクが所定の条件を満たす場合に、補完元リンクとして記憶装置3の記憶領域に記憶させる。
(105−5)補完元リンク検索部105は、(105−3)で特定したリンクの始点ノードが、渋滞交差点ノードであるか否かを判定する。
(105−6)補完元リンク検索部105は、(105−5)の判定の結果、渋滞交差点ノードである場合は、(105−3)で特定したリンクIDに対する処理を終了する。
(105−7)補完元リンク検索部105は、(105−5)の判定の結果、渋滞交差点ノードでない場合には、特定したリンクの始点ノードと同一のノードを終了ノードに持つリンクを特定する。そして、そのリンクを対象に、(105−4)から(105−7)の処理を実施する。
補完対象リンク検索部106は、交通情報の補完対象となるリンクを特定する処理を行う。
渋滞交差点につながる道路のうち、交通情報を付加されていない道路を辿り、その辿った道路を補完対象として特定するというのが、処理の概要である。
具体的には、例えば、補完対象リンク検索部106は、以下の(106−1)から(106−7)までの処理を実施する。
(106−1)補完対象リンク検索部106は、記憶装置3に記憶されている渋滞交差点のノードIDを取得する。
(106−2)補完対象リンク検索部106は、(106−1)で取得したそれぞれのノードIDごとに、以下(106−3)から(106−7)までの処理を実施する。
(106−3)そのノードIDを終了ノードIDに持つリンクのうち、交通情報を付加されておらず、かつ所定の条件を満たすリンクIDを特定し、そのリンクごとに、以下(106−4)から(106−7)までの処理を実施する。
(106−4)補完対象リンク検索部106は、(106−3)で特定したリンクが所定の条件を満たす場合に、補完対象リンクとして記憶装置3の記憶領域に記憶させる。
(106−5)補完対象リンク検索部106は、(106−3)で特定したリンクの始点ノードが、渋滞交差点ノードであるか否かを判定する。
(106−6)補完対象リンク検索部106は、(106−5)の判定の結果、渋滞交差点ノードである場合は、(106−3)で特定したリンクIDに対する処理を終了する。
(106−7)補完対象リンク検索部106は、(106−5)の判定の結果、渋滞交差点ノードでない場合には、特定したリンクの始点ノードと同一のノードを終了ノードに持つリンクを特定する。その際、両リンクのなす角が最も小さいリンクを特定する。そして、そのリンクを対象に、(106−4)から(106−7)の処理を実施する。
補完部107は、補完対象リンク検索部106により記憶装置3に記憶された補完対象リンクのそれぞれに対して、補完元リンク検索部105により記憶装置3に記憶された補完元リンクに付加された交通情報をもとに、交通情報を算出する。そして、算出した交通情報を補完対象リンクの交通情報として補完する。
具体的には、補完部107は、まず、補完対象リンクのそれぞれに対して、補完元となるリンクを特定する。そして、補完元となるリンクに付加された交通情報を取得し、取得した交通情報をもとに補完対象リンクの交通情報を算出する。
経路探索部108は、ダイクストラ法等を用いて、指定された2地点(現在地、目的地または立ち寄り地点)間を結ぶ経路のコスト(例えば、距離や旅行時間)が最少となる経路を探索する。その際、交通情報を加味してコストを計算する。例えば、渋滞している箇所があればその箇所の旅行時間は平常時よりも大きくなるように計算する。
また、経路探索部108は、コストを計算する際に加味する交通情報に、補完部107が算出した交通情報をもとに計算する。
図5は、演算処理部1のハードウェア構成例を示す図である。
図示するように、演算処理部1は、各デバイス間をバス32で接続した構成である。演算処理部1は、数値演算及び各デバイスを制御するといった様々な処理を実行するCPU(Central Processing Unit)21と、記憶装置3から読み出した地図データ、演算データなどを格納するRAM(Random Access Memory)22と、プログラムやデータを格納するROM(Read Only Memory)23と、メモリ間およびメモリと各デバイスとの間のデータ転送を実行するDMA(Direct Memory Access)24と、グラフィックス描画を実行し且つ表示制御を行う描画コントローラ25と、グラフィックスイメージデータを蓄えるVRAM(Video Random Access Memory)26と、イメージデータをRGB信号に変換するカラーパレット27と、アナログ信号をデジタル信号に変換するA/D変換器28と、シリアル信号をバスに同期したパラレル信号に変換するSCI(Serial Communication Interface)29と、パラレル信号をバスに同期させてバス上にのせるPIO(Parallel Input/Output)30と、パルス信号を積分するカウンタ31と、を有する。
なお、上記の各構成要素および機能は、CPU21がRAM22やROM23にロードしたプログラムを実行することにより達成される。
[動作の説明]次に、上記構成の車載用ナビゲーション装置100の動作について説明する。なお、本実施例では、交通情報は、リンクの旅行時間をいう。すなわち、各リンクを通過するのにかかる時間に関する情報である。基本となるリンク旅行時間はリンクテーブル500の予め記憶されたリンク旅行時間525に記憶されたものを用いる。ただし、受信したリンク旅行時間529にリンク旅行時間の修正情報が記憶されていれば、受信したリンク旅行時間529を用いるものとする。
図6は、交通情報補完処理の流れ全体を示すフロー図である。
主制御部101は、入力受付部102が、使用者からタッチパネル51、ダイヤルスイッチ52、またはマイクロフォン41等を介して指示を受けるか、または車載用ナビゲーション装置100の本体への電源投入直後に、本フローを開始する。
主制御部101は、FM多重放送受信装置10またはビーコン受信装置11を介して、所定の範囲内のリンクについての交通情報を受信する。そして、受信した交通情報から対応するリンクを特定し、リンクごとに、交通情報をリンクテーブル500の受信したリンク旅行時間529に記憶させる(ステップS100)。
次に、渋滞交差点検索部104は、渋滞交差点ノードを検索する(ステップS101)。
具体的には、リンクテーブル500を検索して、車両の現在位置が属するメッシュIDから所定の距離内にあるメッシュを対象として、予め記憶されたリンク旅行時間525または受信したリンク旅行時間529に旅行時間の情報を記憶されているリンクを特定する。そして、そのリンクの開始ノード・終了ノード522に記憶された終了ノードのノードIDを抽出する。
次に、渋滞交差点検索部104は、抽出した終了ノードのノードIDで特定されるノードを終了ノードとするリンクのリンクIDを、リンクテーブル500から検索し、特定する。
そして、渋滞交差点検索部104は、特定したリンクIDにより特定されるリンクの中に、予め記憶されたリンク旅行時間525および受信したリンク旅行時間529に値が記憶されておらず、かつ、道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクを検索する。
検索の結果、該当するリンクがあれば、渋滞交差点検索部104は、そのリンクの終了ノードのノードID、すなわち上記のノードID、を渋滞交差点として、記憶装置3の図示しない領域に記憶させる。
渋滞交差点検索部104は、全ての渋滞交差点のノードIDを記憶装置3に記憶させ終わると、ステップS101を終える。
ここで、以下、交通情報補完処理のステップS101の処理経過を、具体例を用いて説明する。
図7は、ノードとリンクの構成例を模式的に示す図である。図中、丸印はノードを、矢印はリンクを表し、矢印の向きは開始ノードから終了ノードへ向かう方向を示す。
また、リンクのうち、破線矢印は受信したリンク旅行時間529に値が記憶されているリンクを示し、実線の矢印は受信したリンク旅行時間529に値が記憶されていないリンクを示し、点線の矢印は受信したリンク旅行時間529に値が記憶されておらず、かつノードに進入するリンクを示す。
ここで、ノードはN01〜N03まで3つあり、各ノード間を直接結ぶリンクはすべて破線矢印、すなわち受信したリンク旅行時間529に値が記憶されている。
リンクL01〜L06は、受信したリンク旅行時間529に値が記憶されている破線矢印で示されるリンクである。
リンクL07、L09、L11、L13、L15は、ノードN01〜N03から脱出する方向性を持ったリンクであり、リンクL08、L10、L12、L14、L16は、ノードN01〜N03へ進入する方向性を持ったリンクである。
なお、リンクL01〜L16は、全て、都道府県道または国道とする。
ここで、渋滞交差点検索部104の検索処理の結果を具体的に図7上にて適用すると、予め記憶されたリンク旅行時間525または受信したリンク旅行時間529に値が記憶されているリンクは、リンクL01〜L06である。そのため、それぞれの終了ノードであるノードN01、N02、N03が抽出される。
次に、ノードN01〜N03を終了ノードとするリンクのリンクIDを特定すると、リンクL01〜L05、L08、L10、L12、L14、L16が該当する。
そして、該当したリンクから、予め記憶されたリンク旅行時間525および受信したリンク旅行時間529に値が記憶されておらず、かつ、道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクを検索すると、リンクL08、L10、L12、L14、L16が検索される。
検索の結果該当したリンクL08、L10、L12、L14、L16の終了ノードであるノードは、ノードN01〜N03となるため、渋滞交差点検索部104は、渋滞交差点として、記憶装置3の図示しない領域にノードN01〜N03を記憶させて、ステップS101の処理を終える。
以上、交通情報補完処理のステップS101についての処理経過を具体的に説明した。
補完元リンク検索部105は、ステップS101で記憶装置3に記憶させた渋滞交差点の各々について、その渋滞交差点に進入する方向で接続されたリンクの中から、交通情報の補完元となる補完元リンクを検索する(ステップS102)。
このステップS102については、図8に示す補完元リンク検索処理のフローチャートを用いて具体的に説明する。
まず、図8に示すように、補完元リンク検索部105は、記憶装置3に記憶されている渋滞交差点のノードIDを複数取得し、そのうちの一つを選択する(ステップS201)。
次に、補完元リンク検索部105は、取得したノードIDを終了ノードIDに持つリンクをリンクテーブル500から検索する。その中から、予め記憶されたリンク旅行時間525または受信したリンク旅行時間529に旅行時間の情報が記憶され、かつ道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクのリンクIDを、RAM22にリスト構造体形式などの順アクセス可能な構造体として記憶させる(ステップS202)。
そして、補完元リンク検索部105は、その構造体に格納された次のリンクを選択する(ステップS203)。
そして、補完元リンク検索部105は、ステップS203で選択したリンクのリンクIDをもとにリンクテーブル500を検索し、そのリンクの通行可否526に記憶された値が可であるか否かを判定する(ステップS204)。ステップS204における判定の結果が可でなければ(ステップS204でNo)、補完元リンク検索部105は、下記のステップS210に処理を移す。
ステップS204の判定の結果が可であれば(ステップS204でYes)、補完元リンク検索部105は、ステップS203で選択したリンクの開始ノードが別のメッシュに属するか否かを判定する(ステップS205)。その判定の結果が肯定であれば(ステップS205でYes)、補完元リンク検索部105は、下記のステップS210に処理を移す。判定の結果が否定であれば(ステップS205でNo)、補完元リンク検索部105は、下記のステップS206に処理を移す。
次に、補完元リンク検索部105は、ステップS203で選択したリンクの中点の座標と、ステップS201で選択した渋滞交差点のノードとの直線距離を算出し、その距離が所定の閾値(例えば、1km)内にあるか否かを判定する(ステップS206)。
このとき、補完元リンク検索部105は、ステップS203で選択したリンクについての中点を、そのリンクの開始ノードと終了ノードを結ぶ線分の中点を求めることで算出する。
または、実際の距離ではなく、渋滞交差点から数えて何本目にあたるリンクなのかを算出して、所定の本数以内のリンクであるか否かを判定してもよい。
ステップS206の判定の結果、所定の閾値内に無ければ(ステップS206でNo)、補完元リンク検索部105は、下記のステップS210に処理を移す。
ステップS206の判定の結果、所定の閾値内にあれば(ステップS206でYes)、補完元リンク検索部105は、ステップS203で選択したリンクのリンクIDを、補完元リンクの一つとみなし、記憶装置3の図示しない記憶領域に記憶させる(ステップS207)。
具体的には、記憶装置3に、ステップS201で選択した渋滞交差点のノードと、ステップS203で選択したリンクのリンクIDとを関連付けて記憶させる。
次に、補完元リンク検索部105は、ステップS203で選択したリンクの開始ノードが、別の渋滞交差点のノードと一致するか否かを判定する(ステップS208)。
具体的には、補完元リンク検索部105は、ステップS203で選択したリンクの開始ノード・終了ノード522を検索して、その開始ノードのノードIDを取得する。そして、ステップS101で記憶装置3に記憶させた渋滞交差点のノードIDの中に、取得した開始ノードのノードIDがあるか否かを判定する。
判定の結果が肯定(ステップS208でYes)であれば、補完元リンク検索部105は、補完元リンク検索部105は、下記のステップS210に処理を移す。
ステップS208の判定が肯定でなければ(ステップS208でNo)、補完元リンク検索部105は、補完元リンクを辿るために、補完元リンクの開始ノードのノードIDと同一のノードIDを終了ノードとしているリンクであって、予め記憶されたリンク旅行時間525または受信したリンク旅行時間529に旅行時間に関する情報が記憶されているリンクを、ステップS203で選択したリンクと置き換え、ステップS204から処理を繰り返す(ステップS209)。
ステップS210では、補完元リンク検索部105は、ステップS202でリスト構造体に格納されたリンクのうちに、未選択のリンクがあるか否かを判定する(ステップS210)。
判定の結果、未選択のリンクがあれば(ステップS210でNo)、ステップS203に処理を戻し、以降の処理を実施する。
ステップS210の判定の結果、未選択のリンクが無ければ(ステップS210でYes)、補完元リンク検索部105は、次に、記憶装置3に記憶した全ての渋滞交差点のノードに対してステップS201〜S210までの処理を適用したか否かを判定する(ステップS211)。
ステップS211の判定の結果、適用していない渋滞交差点のノードがあれば(ステップS211でNo)、処理をステップS201に戻し、以降の処理を実施する。判定の結果、適用していない渋滞交差点のノードが無ければ(ステップS211でYes)、補完元リンク検索処理を終了する。
次に、図7の図を用いて、上記の補完元リンク検索処理の処理経過を、具体例を用いて説明する。
ステップS201では、記憶装置3の渋滞交差点のノードIDが取得されるため、N01〜N03までのノードが取得される。そのうちの一つのノードN01が選択される。
そして、ステップS202では、ノードN01を終了ノードIDに持つリンクを検索すると、リンクL01、L05、L08、L16が見つかる。
そして、そのうち、予め記憶されたリンク旅行時間525または受信したリンク旅行時間529に旅行時間に関する情報が記憶され、かつ道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクは、リンクL01とL05であるため、リンクL01とL05とがリスト構造体形式などの順アクセス可能な構造体としてRAM22上に記憶される。
ステップS203では、その構造体に格納されたリンクのうちリンクL01が選択される。
ステップS204では、リンクL01の通行可否526に記憶された値が可であるか否かを判定する。
ステップS204の判定の結果が可であるとすると、ステップS205では、補完元リンク検索部105は、リンクL01の開始ノードが別のメッシュに属するか否かを判定する。
ステップS205の判定の結果が否定であるとすると、ステップS206に処理を移す。
ステップS206では、リンクL01の中点の座標と、ステップS201で選択した渋滞交差点であるノードN01のノードとの直線距離を算出し、その距離が所定の閾値(例えば、1km)内にあるか否かを判定する。
ステップS206の判定の結果、所定の閾値内にあるとすると、ステップS207では、記憶装置3に、ノードN01と、リンクL01とが関連付けて記憶される。
次に、ステップS208の判定では、リンクL01は開始ノードが渋滞交差点であったとすると、ステップS210に処理を進める。
ステップS210では、未選択のリンクとしてリンクL05が残存していると判定され、ステップS203に処理を戻し、リンクL05が選択され、以降の処理を実施する。すなわち、リンクL05について、上記のリンクL01についての処理と同様の処理を行うことになる。ただし、リンクL05の場合には、ステップS207の処理の実行の結果、記憶装置3に、ノードN01と、リンクL05とが関連付けて記憶される。
そして、リンクL01とリンクL05について処理を終えると、ステップS210の判定の結果、残るノードN02、ノードN03に対しても処理がなされる。
以上、補完元リンク検索処理の処理経過を具体的に説明した。
交通情報補完処理の概要(図6)に説明を戻す。
ステップS102にて補完元となるリンクの検索を実施すると、次に、補完対象リンク検索部106は、ステップS101で記憶装置3に記憶させた渋滞交差点の各々について、その渋滞交差点に進入する方向で接続されたリンクの中から、交通情報の補完対象となる補完対象リンクを検索する(ステップS103)。
このステップS103については、図9に示す補完対象リンク検索処理のフローチャートを用いて具体的に説明する。
まず、図9に示すように、補完対象リンク検索部106は、記憶装置3に記憶されている渋滞交差点のノードIDから一つを選択する(ステップS301)。
そして、補完対象リンク検索部106は、取得したノードIDを終了ノードIDに持つリンクをリンクテーブル500から検索する。その中から、受信したリンク旅行時間529に値が記憶されておらず、かつ道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクのリンクIDをリスト構造体形式などの順アクセス可能な構造体に記憶させる(ステップS302)。
補完対象リンク検索部106は、ステップS302で記憶させた構造体に格納されたリンクのうち、未処理の次のリンクを選択する(ステップS303)。
そして、補完対象リンク検索部106は、ステップS303で選択したリンクのリンクIDをもとにリンクテーブル500を検索し、そのリンクの通行可否526に記憶された値が可であるか否かを判定する(ステップS304)。
ステップS304の判定の結果が可でなければ(ステップS304でNo)、補完対象リンク検索部106は、下記のステップS310に処理を移す。
ステップS304の判定の結果が可であれば(ステップS304でYes)、補完対象リンク検索部106は、ステップS303で選択したリンクの開始ノードが別のメッシュに属するか否かを判定する(ステップS305)。
ステップS305の判定の結果が肯定であれば(ステップS305でYes)、補完対象リンク検索部106は、下記のステップS310に処理を移す。判定の結果が否定であれば(ステップS305でNo)、補完対象リンク検索部106は、下記のステップS306に処理を移す。
次に、補完対象リンク検索部106は、ステップS303で選択したリンクの中点の座標と、ステップS301で選択した渋滞交差点のノードとの直線距離を算出し、その距離が所定の閾値(例えば、1km)内にあるか否かを判定する(ステップS306)。
このとき、ステップS303で選択したリンクについての中点は、そのリンクの開始ノードと終了ノードを結ぶ線分の中点を求めることで算出するものとする。
または、実際の距離ではなく、渋滞交差点から数えて何本目にあたるリンクなのかを算出して、所定の本数以内のリンクであるか否かを判定してもよい。
判定の結果、所定の閾値内に無ければ(ステップS306でNo)、補完対象リンク検索部106は、下記のステップS310に処理を移す。
ステップS306の判定の結果、所定の閾値内にあれば(ステップS306でYes)、補完対象リンク検索部106は、そのリンクIDを補完対象リンクの一つとみなし、記憶装置3の図示しない記憶領域に記憶させる(ステップS307)。
具体的には、記憶装置3に、ステップS301で選択した渋滞交差点のノードと、ステップS303で選択したリンクのリンクIDとを関連付けて記憶させる。
次に、補完対象リンク検索部106は、ステップS303で選択したリンクの開始ノードが、別の渋滞交差点のノードと一致するか否かを判定する(ステップS308)。
具体的には、補完対象リンク検索部106は、ステップS303で選択したリンクの開始ノード・終了ノード522を検索して、その開始ノードのノードIDを取得する。そして、ステップS101で記憶装置3に記憶させた渋滞交差点のノードIDの中に、取得した開始ノードのノードIDがあるか否かを判定する。
ステップS308の判定の結果が肯定であれば(ステップS308でYes)、補完対象リンク検索部106は、下記のステップS310に処理を移す。
ステップS308の判定が肯定でなければ(ステップS308でNo)、補完対象リンク検索部106は、補完対象リンクを辿るために、ステップS302で選択したリンクの開始ノード・終了ノード522に記憶された開始ノードと同一のノードIDを終了ノードのノードIDに持つリンクであって、受信したリンク旅行時間529に値が設定されていないリンクを検索する。
そして、複数のリンクが該当する場合には、それぞれのリンクごとに、リンクの向きであるリンク方位の差を角度差として算出する。そして、算出した角度差が最も小さいリンクをステップS303にて選択したリンクと置き換え、ステップS304から処理を繰り返す(ステップS309)。
なお、リンク方位の差について、図10に示す図を用いて説明する。
図10は、リンクL20と、リンクL21がノードN20において接続されていることを示す。ここで、リンクL21は、ステップS307において補完対象として記憶装置3に記憶済みのリンクであり、リンクL20は、本ステップS309において検索されたリンクの一つであるとする。
リンク方位の差とは、図10に示すように、リンクL20のリンク方位とリンクL21のリンク方位のなす劣角rを度数法で表したものをいう。
ステップS310では、補完対象リンク検索部106は、ステップS303でリスト構造体に格納されたリンクのうちに、未選択のリンクがあるか否かを判定する(ステップS310)。
ステップS310の判定の結果、未選択のリンクがあれば(ステップS310でNo)、ステップS303に処理を戻し、以降の処理を実施する。
ステップS310の判定の結果、未選択のリンクが無ければ(ステップS310でYes)、補完対象リンク検索部106は、次に、記憶装置3に記憶した全ての渋滞交差点のノードに対してステップS301〜S310までの処理を適用したか否かを判定する(ステップS311)。
判定の結果、適用していない渋滞交差点のノードがあれば(ステップS311でNo)、処理をステップS301に戻し、以降の処理を実施する。判定の結果、適用していない渋滞交差点のノードが無ければ(ステップS311でYes)、補完対象リンク検索処理を終了する。
以下、図7の図を用いて、上記の補完対象リンク検索処理の処理経過を、具体例を用いて説明する。
ステップS301では、記憶装置3の渋滞交差点のノードIDが取得されるため、ノードN01〜N03までのノードが取得される。
ステップS302では、そのうちの一つのノードN01が選択される。
そして、ノードN01を終了ノードIDに持つリンクを検索すると、リンクL01、L05、L08、L16が見つかる。
そして、そのうち、受信したリンク旅行時間529に値が記憶されておらず、かつ道路種別523に所定の道路種別(本実施例では、都道府県道または国道)が記憶されたリンクは、リンクL08とL16であるため、リンクL08とL16とがリスト構造体形式などの順アクセス可能な構造体に記憶される。
ステップS303では、そのうちリンクL08が選択される。
ステップS304では、リンクL08の通行可否526に記憶された値が可であるか否かを判定する。
ステップS304の判定の結果が可であるとすると、ステップS305では、補完元リンク検索部105は、リンクL08の開始ノードが別のメッシュに属するか否かを判定する。
ステップS305の判定の結果が否定であるとすると、ステップS306に処理を移す。
ステップS306では、リンクL08の中点の座標と、ステップS301で選択した渋滞交差点であるノードN01のノードとの直線距離を算出し、その距離が所定の閾値(例えば、1km)内にあるか否かを判定する。
ステップS306の判定の結果、所定の閾値内にあるとすると、ステップS307では、記憶装置3に、ノードN01と、リンクL08とが関連付けて記憶される。
次に、ステップS308の判定では、リンクL08は開始ノードが渋滞交差点であったとすると、ステップS310に処理を進める。
ステップS310では、未選択のリンクはリンクL16であるため、ステップS303に処理を戻し、以降の処理を実施する。すなわち、リンクL16についてほぼ同様の処理を行うこととなる。リンクL16の場合には、ステップS307の処理を実施した結果、記憶装置3に、ノードN01と、リンクL16とが関連付けて記憶される。
そして、リンクL08とL16について処理を終えると、ステップS311の判定の結果、残るノードN02、N03に対しても処理がなされる。
以上、補完対象リンク検索処理の処理経過を具体的に説明した。
交通情報補完処理の概要(図6)に説明を戻す。
ステップS103にて補完対象となるリンクの検索を実施すると、次に、補完部107は、ステップS103で記憶装置3に記憶させた補完対象リンクの各々について、ステップS102にて記憶装置3に記憶させた補完元リンクから情報を取得し、交通情報を補完する(ステップS104)。
具体的には、補完部107は、記憶装置3に記憶させた補完対象リンクのリンクIDをすべて補完情報テーブル600の補完対象リンクID601に記憶させる。そして、ステップS307において補完対象リンクIDと関連付けて記憶装置3に記憶された渋滞交差点のノードIDを取得し、その渋滞交差点のノードIDとステップS207にて関連付けられた補完元リンクのリンクIDを全て取得する。
そして、補完部107は、取得した補完対象リンクIDに対応する補完元リンクのリンクIDを、渋滞交差点からの距離が近いものから順に、補完情報テーブル600の補完元リンク1〜N(Nは自然数)の補完元リンクID611に記憶させる。
または、補完部107は、渋滞交差点からの旅行時間の合計が少ないものから順に、補完元リンクID611に記憶させても良い。
これを、補完対象リンク全てについて実施する。
そして、補完部107は、補完元リンクID611のそれぞれについて、リンクテーブル500を参照して、受信したリンク旅行時間529を取得し、もし適切な値が取得できなかった場合には予め記憶されたリンク旅行時間525を取得して、リンク長524をもとに分速(単位はm/分)を算出する。算出した分速を補完情報テーブル600の平均速度612に記憶させる。
そして、補完部107は、補完対象リンク一つにつき、補完元リンク1〜N(Nは自然数)の平均速度612の合計の平均値(すなわち、分速の平均値)を算出する(以上、ステップS104)。
このステップS104の処理により、補完対象のリンクに交差するリンクを通行する車両の平均速度を取得し、その平均速度を元に算出した平均値を求めることができる。
そして、補完部107は、補完対象となっているリンクのリンク長を、ステップS104で算出した平均値で割り、解を整数に丸める処理を行う。そして、リンクテーブル500の、補完対象となっているリンクの受信したリンク旅行時間529に解を記憶させる(ステップS105)。
このステップS105の処理により、ステップS104で算出した平均値から補完対象のリンクの旅行時間を算出し、補完対象のリンクの旅行時間を補完することができる。
なお、車載用ナビゲーション装置100の電源投入時には、補完部107は、受信したリンク旅行時間529を全て消去するものとする。
または、補完部107は、車載用ナビゲーション装置100の電源投入時には、受信したリンク旅行時間529のうち所定の時間(例えば、72時間等)が経過した情報を消去するものであってもよい。
所定の時間が経過した情報を消去する場合には、ステップS105において求めた解を受信したリンク旅行時間529に記憶させる際に、補完部107は、あわせて、修正リンク旅行時間を記憶させた時刻を補完対象のリンクのリンクIDと対応付けて記憶装置3に記憶させておく。そして、消去時に補完部107は、リンクIDをキーとして、修正リンク旅行時間を記憶させた時刻を検索し、現在の時刻と比較することで所定の時間が経過したか否かを判定する。
または、補完部107は、車載用ナビゲーション装置100の電源投入時に、変更されない受信したリンク旅行時間529については消去しないようにしてもよい。
このような消去を行う場合には、ステップS105において求めた解を受信したリンク旅行時間529に記憶させる処理において、補完部107は、あわせて、フラグ情報を補完対象のリンクのリンクIDと対応付けて記憶装置3に記憶させておく。
補完部107は、記憶させるフラグ情報を特定する処理において、ステップS104において予め記憶されたリンク旅行時間525から値を取得して算出した平均速度のみを補完元リンクの平均速度として使用して算出したか否かを判定してフラグ情報を特定する。
そして、補完部107は、リンクIDをキーとして、フラグ情報を検索し、フラグ情報に応じて受信したリンク旅行時間529を消去するか否かを判定する。
このように、ステップS101〜S105により、交通情報が付加されていないリンクについて、その交通情報を最寄りの交差点につながる別のリンクから取得することができるようになる。こうすることで、混雑が予想される特定の交差点において、その交差点に特徴的な交通情報の混雑を反映することが可能となり、交通情報が提供されていない道路について精度の高い交通情報の補完を行うことができる。
以上、本発明の一実施形態について説明した。
本発明は、上記実施形態に制限されない。上記実施形態は、本発明の技術的思想の範囲内で様々な変形が可能である。
例えば、上記実施形態では、交通情報をリンクの旅行時間として取り扱っているが、これに限らない。
すなわち、例えば、外部情報(例えばVICS受信情報など)から取得した渋滞距離を交通情報として補完情報を渋滞距離に対して求めるようにしてもよい。
具体的には、補完情報テーブル600について、平均速度612に代えて渋滞距離612とする。そして、ステップS105を、以下の処理内容に代える。
補完部107は、記憶装置3に記憶させた補完対象リンクのリンクIDをすべて補完情報テーブル600の補完対象リンクID601に記憶させる。そして、補完対象リンクIDと関連付けて記憶装置3に記憶された渋滞交差点のノードIDを取得し、その渋滞交差点のノードIDと関連付けられた補完元リンクのリンクIDを全て取得する。
そして、補完部107は、取得した補完対象リンクIDに対応する補完元リンクのリンクIDを、渋滞交差点からの距離が近いものから順に、補完情報テーブル600の補完元リンク1〜N(Nは自然数)の補完元リンクID611に記憶させる。
または、補完部107は、渋滞交差点からの旅行時間の合計が少ないものから順に、補完元リンクID611に記憶させても良い。
これを、補完対象リンク全てについて実施する。
そして、補完部107は、補完元リンクID611のそれぞれについて、VICSから受信した交通情報を参照して渋滞距離を取得し、リンク長に対するその渋滞距離の比を補完情報テーブル600の渋滞距離612に記憶させる。
そして、補完部107は、補完対象リンク一つにつき、対応する補完元リンク1〜N(Nは自然数)の渋滞距離612の合計の平均値(すなわち、リンク長に対する渋滞距離の比の平均値)を算出する。
そして、補完部107は、補完対象となっているリンクのリンク長に対して、ステップS104で算出した平均値を掛け、解を整数に丸める処理を行う。そして、主制御部101は、補完対象となっているリンクの渋滞距離を、出力処理部103を介してディスプレイ2に表示させて使用者へ通知する。
なお、この通知において、主制御部101は、補完により得られた渋滞距離を表示する際に、補完によらない渋滞距離の情報と区別できるように表示色を異なるものとして表示させるなど、表示内容を加工して表示してもよい。
さらに、その通知において、渋滞距離が所定距離(例えば500m)より長いリンクに所定距離(例えば1km)以上近づいた場合には、主制御部101は、使用者に渋滞箇所に近づいていることを音声入出力装置4を介してあわせて通知することとしてもよい。
また、この変形は、上記実施例と組み合わせてもよい。
すなわち、渋滞距離と、リンク旅行時間と、を両方算出し、渋滞距離を画面に表示させつつリンク旅行時間を経路探索に用いる、などの変形を行ってもよい。
またさらに、以下のように、使用者により目的地が設定されている場合に、現在位置から目的地までの推奨経路上の渋滞交差点に進入する道路について、優先的に補完を行い、そうでない渋滞交差点については車載用ナビゲーション装置100の演算処理部1の処理の空き時間を用いて算出するように変形してもよい。
その場合には、渋滞交差点ノードの検索を行うステップS101において、渋滞交差点検索部104が渋滞交差点ノードを記憶装置3に記憶させる際に、現在の推奨経路上にあるノードであれば優先処理を行うフラグを付与してノードIDを記憶させておく。
そして、補完部107が行うステップS104とステップS105を、以下の処理内容に変形する。
補完部107は、記憶装置3に記憶させた補完対象リンクのリンクIDをすべて補完情報テーブル600の補完対象リンクID601に記憶させる。そして、補完対象リンクIDと関連付けて記憶装置3に記憶された渋滞交差点のノードIDを取得し、その渋滞交差点のノードIDのうちから、優先処理フラグを付与されかつ処理済みフラグが付与されていない渋滞交差点のノードIDと関連付けられた補完元リンクのリンクIDを取得する。
優先処理フラグを付与されているノードIDに処理済みフラグが付与されていれば、優先処理フラグを付与されていない渋滞交差点のノードIDと関連付けられた補完元リンクのリンクIDを取得する。
そして、補完部107は、取得した補完対象リンクIDに対応する補完元リンクのリンクIDを、渋滞交差点からの距離が近いものから順に、補完情報テーブル600の補完元リンク1〜N(Nは自然数)の補完元リンクID611に記憶させる。
または、補完部107は、渋滞交差点からの旅行時間の合計が少ないものから順に、補完元リンクID611に記憶させても良い。
これを、補完対象リンク全てについて実施する。
そして、補完部107は、補完元リンクID611のそれぞれについて、リンクテーブル500を参照して、受信したリンク旅行時間529を取得し、もし適切な値が取得できなかった場合には予め記憶されたリンク旅行時間525を取得して、リンク長524をもとに分速(単位はm/分)を算出する。算出した分速を補完情報テーブル600の平均速度612に記憶させる。
そして、補完部107は、補完対象リンク一つにつき、補完元リンク1〜N(Nは自然数)の平均速度612の合計の平均値(すなわち、分速の平均値)を算出する。
そして、補完部107は、補完対象となっているリンクのリンク長を、ステップS104で算出した平均値で割り、解を整数に丸める処理を行う。そして、リンクテーブル500の、補完対象となっているリンクの受信したリンク旅行時間529に解を記憶させる。
そして、優先処理フラグを付与されている渋滞交差点のノードIDに対して、処理済みフラグを付与する。
このように渋滞交差点検索部104が渋滞交差点ノードを記憶装置3に記憶させる際に、現在の推奨経路上にあるノードであれば優先処理を行うフラグを付与してノードIDを記憶させておくように変更し、補完部107の処理を上記のように変更することで、推奨経路上の渋滞交差点に進入する道路の交通情報を優先して補完し、その他の渋滞交差点について、空き時間に再実行することができるようになる。これにより、例えば、入り組んだ道路状況の都市部付近での処理効率を向上させることができるようになる。
以上が、変形例である。
なお、上記の実施形態では、本発明を車載用ナビゲーション装置に適用した例について説明したが、本発明は車載用以外のナビゲーション装置にも適用することができる。
1・・・演算処理部、2・・・ディスプレイ、3・・・記憶装置、4・・・音声出入力装置、5・・・入力装置、6・・・ROM装置、7・・・車速センサ、8・・・ジャイロセンサ、9・・・GPS受信機、10・・・FM多重放送受信装置、11・・・ビーコン受信装置、21・・・CPU、22・・・RAM、23・・・ROM、24・・・DMA、25・・・描画コントローラ、26・・・VRAM、27・・・カラーパレット、28・・・A/D変換器、29・・・SCI、30・・・PIO、31・・・カウンタ、32・・・バス、41・・・マイクロフォン、42・・・スピーカ、51・・・タッチパネル、52・・・
ダイヤルスイッチ、100・・・車載用ナビゲーション装置、101・・・主制御部、102・・・入力受付部、103・・・出力処理部、104・・・渋滞交差点検索部、105・・・補完元リンク検索部、106・・・補完対象リンク検索部、107・・・補完部、108・・・経路探索部