説明

ナビゲーション装置および誘導経路探索方法

【課題】遠回りの経路が探索されるのを防止し、かつ、最終的な誘導経路を設定するまでの時間を短縮できるようにすることが可能な「ナビゲーション装置および誘導経路探索方法」を提供する。
【解決手段】道路網の情報量に基づいて3つのレベルに階層化された地図データに基づいて探索した現在位置から目的地までの第1の誘導経路の中から、両端のノード間において直線距離に対する第1の誘導経路に沿った距離の比率が所定値より大きい部分経路を抽出し、その部分経路の両端のノード間の経路探索を、最下位レベルを含む地図データに基づいて行うことによって得た第2の部分経路で、第1の誘導経路に含まれる部分経路を置き換えた第2の誘導経路を最終的な誘導経路として設定することにより、最初に探索された誘導経路の中で部分的に遠回りしている部分について最下位レベルを含む地図データに基づいた再探索が行われるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ナビゲーション装置および誘導経路探索方法に関し、特に、地図データを用いて現在地から目的地までを結ぶ最もコストが小さな経路を自動探索する経路誘導機能を備えたナビゲーション装置に用いて好適なものである。
【背景技術】
【0002】
一般に、ナビゲーション装置の殆どには、運転者が所望の目的地に向かって道路を間違うことなく容易に走行できるようにした経路誘導機能が搭載されている。この経路誘導機能では、地図データを用いて現在地から目的地までを結ぶ最もコストが小さな経路を自動探索する。
【0003】
ところで、経路探索に使用する地図データは、道路網の情報量の差異に基づいて複数のレベルに階層化された構造をしている。例えば、3つのレベルに階層化された地図データには、細街路から高速道路まで全ての道路を格納したレベル0といわれる道路メッシュ、主に市道以上の道路を格納しているレベル1といわれる道路メッシュ、高速道路や有料道路といった道路を格納しているレベル2といわれる道路メッシュがそれぞれ区別されて格納されている。この場合、レベルが上がるにつれて、道路網の情報量が少なく粗い地図データとなっている。
【0004】
経路探索を実施するにあたっては、経路の探索に係る演算量を抑えるために、現在地と目的地付近の地域では、下位レベル(レベル0)の地図データを使用して詳細に計算し、経路の中間地域では、上位レベル(レベル1以上)の地図データを使用して概略的に計算し、両方の結果を統合して誘導経路として出力する方法が一般的に採用されている。このような方法による経路探索処理について、図9を用いて詳しく説明する。
【0005】
図9は、図9(a)の現在地10から、図9(e)の目的地20までの誘導経路を探索する様子を示している。まず、図9(a)に示すように、現在地10の周辺では、全ての道路を含むレベル0の道路メッシュ30を使用して誘導経路の探索を行う。そして、レベル1の道路メッシュ40へのアップリンク50(レベル0の道路メッシュ30からレベル1の道路メッシュ40への接続点)に探索枝が到達すると、図9(b)に示すように、アップリンク50に対応するリンクを含むレベル1の道路メッシュ40に切り替えて経路探索を行う。同様に、レベル1での経路探索によりレベル2へのアップリンク60(レベル1の道路メッシュ40からレベル2の道路メッシュ70への接続点)に探索枝が到達すると、図9(c)に示すレベル2の道路メッシュ70に切り替えて経路探索を行う。
【0006】
一方、図9(e)に示すように、目的地20の周辺では、全ての道路を含むレベル0の道路メッシュ80を使用して経路探索を行う。そして、目的地20から逆に辿っていってレベル1の道路メッシュ90へのアップリンク100に探索枝が到達すると、図9(d)に示すように、アップリンク100に対応するリンクを含むレベル1の道路メッシュ90に切り替えて経路探索を行う。同様に、レベル1での経路探索によりレベル2へのアップリンク110(レベル1の道路メッシュ90からレベル2の道路メッシュ70への接続点)に探索枝が到達すると、図9(c)に示すレベル2の道路メッシュ70に切り替えて経路探索を行う。
【0007】
最後に、図9(c)に示すように、現在地10から経路探索により求めたレベル2の道路メッシュ70上のアップリンク60と目的地20から経路探索により求めたレベル2の道路メッシュ70上のアップリンク110とをつなぐ経路を、レベル2の道路メッシュ70を用いた経路探索を行うことにより求める。これにより、現在地10から目的地20に至る経路が全て決定されて、誘導経路の探索処理は終了する。
【0008】
以上説明したような経路探索を行うことによって、現在地から目的地までの経路を求めるために、細街路から高速道路まで全ての道路が格納されたレベル0の道路メッシュを全区間にわたって使用する必要がなくなる。そのため、経路探索の時間を短縮することができる。この反面、現在地と目的地との間の中間領域の探索にはレベル0の道路メッシュが使用されない。そのため、中間領域では詳細道路が経路探索の対象外とされてしまうことにより、実際には遠回りしない経路があっても探索することができないという問題があった。
【0009】
上記問題に対するものとしては、現在地と目的地との間の直線距離に対して経路探索により算出された誘導経路の距離が妥当か否かを評価し、妥当でない(遠回りである)と評価した場合には下位レベルの地図データを使用して再探索を行う技術が開示されている(例えば、特許文献1を参照)。具体的には、特許文献1に記載の技術では、経路探索により算出された誘導経路の距離と、現在地と目的地との間の直線距離との比率(誘導経路の距離/直線距離)が大きい場合に、下位レベルの地図データを使用して再探索を行うようにしている。
【0010】
また、上記問題に対するものではないが、誘導経路上の進行方向と道路種別とが変わる進路変更場所を特定し、その特定した進行変更場所近辺において下位階層の地図データを用いた探索を行うことによって、誘導経路だけではなく、進路変更場所における迂回経路もユーザに提供できるようにした技術が開示されている(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平10−153477号公報
【特許文献2】特開2002−24376号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
上記特許文献1に記載された技術では、誘導経路の距離と直線距離との比率がしきい値より大きい場合(すなわち、大きく遠回りしている経路が探索された場合)に限り、下位レベルの地図データを使用して再探索が行われる。そのため、図10(a)のように部分的に遠回りしている部分経路120、130を含む経路が探索されたときのように、誘導経路の距離と直線距離との比率があまり大きくなくてしきい値を超えない場合には、下位レベルの地図データを使用した再探索が行われないこととなる。それ故に、部分的に遠回りする経路が探索された場合にも再探索が行われるようにするためには、再探索が行うか否かの基準となるしきい値を小さくする必要がある。
【0013】
しかし、そうした場合、誘導経路の距離が直線距離にかなり近い場合を除いて、誘導経路の全体について下位レベルの地図データを使用した再探索が行われることとなる。例えば、図10(b)のように、さらに再探索を行ってもこれ以上の近道がないような誘導経路が探索された場合であっても、その誘導経路の全体について再探索が行われる。そのため、しきい値を小さくすれば遠回りの経路が探索されるのを確実に防止することができる反面、常に再探索処理に時間がかかってしまい、ひいては最終的な誘導経路を設定するまでに長い時間を要してしまうという問題があった。
【0014】
なお、上記特許文献2に記載された技術では、上位階層の地図データを用いて探索した誘導経路のうち、進行変更場所近辺では下位階層の地図データを用いた再探索が行われるが、それ以外の場所では再探索が行われない。そのため、誘導経路上の進行変更場所近辺以外のところに遠回りの経路が含まれないという保証はない。すなわち、上記特許文献2に記載された技術はそもそも、遠回りしない経路を探索することを目的とするものではない。
【0015】
本発明は、このような問題を解決するために成されたものであり、遠回りの経路が探索されるのを防止し、かつ、最終的な誘導経路を設定するまでの時間を短縮できるようにすることを目的とする。
【課題を解決するための手段】
【0016】
上記した課題を解決するために、本発明では、道路網の情報量に基づいて複数のレベルに階層化された地図データに基づいて探索した出発地から目的地までの第1の誘導経路の中から、両端のノード間において直線距離と第1の誘導経路に沿った距離との差分が所定値より大きい部分経路を抽出し、抽出した部分経路の両端のノード間の経路探索を、最下位レベルを含む地図データに基づいて行うことによって第2の部分経路を得る。そして、第1の誘導経路に含まれる部分経路を、探索した第2の部分経路で置き換えた第2の誘導経路を最終的な誘導経路として設定するようにしている。
【発明の効果】
【0017】
上記のように構成した本発明によれば、最初に探索された誘導経路の中で部分的に遠回りしている部分が絞り込まれ、その絞り込まれた部分について最下位レベルを含む地図データに基づいた再探索が行われるため、遠回りの経路が誘導経路として設定されにくくなるようにすることができる。さらに、最初に探索された誘導経路の全体ではなく、その一部のみが再探索されるため、最初に探索された誘導経路の全体について再探索する従来技術に比べて、再探索処理に必要な時間を短縮することができ、ひいては最終的な誘導経路を設定するまでの時間を短縮することができる。
【図面の簡単な説明】
【0018】
【図1】第1の実施形態によるナビゲーション装置の構成例を示すブロック図である。
【図2】第1の実施形態によるナビゲーション装置の主要構成例を示すブロック図である。
【図3】第1の実施形態による誘導経路探索部の処理を説明する図である。
【図4】第1の実施形態によるナビゲーション装置の動作例を示すフローチャートである。
【図5】第1の実施形態による誘導経路探索部の処理を説明する図である。
【図6】第2の実施形態によるナビゲーション装置の主要構成例を示すブロック図である。
【図7】第2の実施形態によるナビゲーション装置の主要構成の変形例を示すブロック図である。
【図8】第3の実施形態によるナビゲーション装置の主要構成例を示すブロック図である。
【図9】従来のナビゲーション装置における誘導経路探索処理の例を示す図である。
【図10】従来のナビゲーション装置により探索された誘導経路の例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に基づいて説明する。図1は、第1の実施形態によるナビゲーション装置200の構成例を示すブロック図である。図1において、210はDVD−ROM等の記録媒体であり、地図表示や経路探索等に必要な各種の地図データを記憶している。
【0020】
DVD−ROM210に記録された地図データは、道路網の情報量の差異に基づいて3つのレベルに階層化された構造をしている。3つのレベルに階層化された地図データには、細街路から高速道路まで全ての道路を格納したレベル0といわれる道路メッシュ、主に市道以上の道路を格納しているレベル1といわれる道路メッシュ、高速道路や有料道路といった道路を格納しているレベル2といわれる道路メッシュがそれぞれ区別されて格納されている。この場合、レベルが上がるにつれて、道路網の情報量が少なく粗い地図データとなっている。各レベルの地図データには、地図表示に必要な描画ユニットのデータの他に、マップマッチングや経路探索等の各種の処理に必要な道路ユニットのデータが含まれている。
【0021】
道路ユニットは、道路を細かく分割して複数のベクトルのつながりで表したときの個々のベクトルに相当する道路リンクに関するリンク情報と、個々の道路リンクの両端点に相当するノードに関するノード情報とを含んでいる。ノード情報には、ノードを一意に特定するノードID、ノードの位置(経緯度)、ノードに接続される道路リンク(リンクID)および、複数の道路リンクの端点に相当するノード(分岐点)であるか否かを示すフラグなどが含まれる。リンク情報には、道路リンクを一意に特定するリンクID、道路リンクの両端に接続されるノード(ノードID)、リンクコスト、道路種別(一般道路または高速道路)および道路属性などが含まれる。なお、ここでは地図データを記憶する記録媒体としてDVD−ROM210を用いているが、CD−ROM、ハードディスク、半導体メモリ等の他の記録媒体を用いても良い。
【0022】
220は車両の現在位置を所定間隔毎に検出する車両位置検出部であり、自立航法センサ、GPS受信機、位置計算用CPU等で構成されている。自立航法センサは、所定走行距離毎に1個のパルスを出力して車両の移動距離を検出する車速センサ(距離センサ)と、車両の回転角度(移動方位)を検出する振動ジャイロ等の角速度センサ(相対方位センサ)とを含む。自立航法センサは、これらの車速センサおよび角速度センサによって車両の相対位置および方位を検出する。
【0023】
位置計算用CPUは、自立航法センサから出力される自車両の相対的な位置および方位のデータに基づいて、絶対的な自車装置(推定車両位置)および車両方位を計算する。また、GPS受信機は、複数のGPS衛星から送られてくる電波をGPSアンテナで受信して、3次元測位処理あるいは2次元測位処理を行って車両の絶対位置および方位を計算する(車両方位は、現時点における自車位置と1サンプリング時間ΔT前の自車位置とに基づいて計算する)。
【0024】
230はDVD−ROM制御部であり、DVD−ROM210からの地図データの読み出しを制御する。240は地図データ記憶部であり、DVD−ROM制御部230の制御によってDVD−ROM210から読み出された地図データを一時的に格納する。すなわち、DVD−ROM制御部230は、車両位置検出部220から車両現在位置の情報を入力し、その車両現在位置を含む所定範囲の地図データの読み出し指示を出力することにより、地図表示や誘導経路の探索に必要な地図データをDVD−ROM210から読み出して地図データ記憶部240に格納する。
【0025】
250はリモコン、タッチパネルまたは操作スイッチ等の操作部であり、ユーザがナビゲーション装置200に対して各種の情報(例えば、経路誘導の目的地や経由地)を設定したり、各種の操作(例えば、メニュー選択操作、地図の拡大/縮小操作、手動地図スクロール、数値入力など)を行ったりするためのものである。
【0026】
260は目的地設定部であり、ディスプレイ270に表示されている目的地設定用の操作画面において、ユーザによる操作部250の操作を介して指定された地点を目的地として設定する。そして、目的地設定部260は、設定した目的地を示す目的地情報を誘導経路探索部280に出力する。
【0027】
誘導経路探索部280は、地図データ記憶部240に記憶されている地図データに基づいて、車両位置検出部220により検出された自車位置(出発地)から、目的地設定部260により設定された目的地に至る様々な経路上のリンクコストを順次加算し、リンクコストの合計が最も小さい経路を誘導経路として探索する。
【0028】
290は誘導経路メモリであり、誘導経路探索部280により誘導経路が探索された場合、その探索された誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を誘導経路情報として一時的に格納する。
【0029】
300は地図表示制御部であり、車両位置検出部220により検出された自車位置情報と、地図データ記憶部240に記憶されている地図データとに基づいて、自車位置周辺の地図画像データを生成する。そして、地図表示制御部300は、生成した地図画像データをディスプレイ270に出力することにより、自車位置周辺の地図画像をディスプレイ270に表示させる。
【0030】
310は誘導経路案内部であり、誘導経路探索部280により誘導経路が探索された場合、車両位置検出部220により検出された自車位置情報と、地図データ記憶部240に記憶されている地図データと、誘導経路メモリ290に格納された誘導経路情報とに基づいて誘導経路案内を行う。具体的には、誘導経路案内部310は、ディスプレイ270に対して、地図表示制御部300により生成された地図画像に重ねて誘導経路を他の道路とは異なる色で太く表示することにより、誘導経路の目的地までの走行案内を行う。また、誘導経路案内部310は、誘導経路上に存在する経路案内すべき分岐点(以下、案内分岐点という)に自車両が近づくたびに、当該案内分岐点に関する経路案内を行う。
【0031】
次に、第1の実施形態によるナビゲーション装置200の主要な機能構成について説明する。図2は、第1の実施形態によるナビゲーション装置200の主要構成例を示すブロック図である。図2に示すように、誘導経路探索部280は、第1の誘導経路探索部400、部分経路抽出部420、部分経路メモリ440、第2の誘導経路探索部460および誘導経路設定部480を備えて構成されている。
【0032】
第1の誘導経路探索部400は、車両位置検出部220により検出された自車位置情報と地図データ記憶部240に記憶されている地図データとに基づいて、現在位置(本発明の出発地に対応)から、目的地設定部260から出力された目的地情報により示される目的地までの第1の誘導経路を探索する。具体的には、第1の誘導経路探索部400は、図9で説明した従来のやり方と同様に、現在位置および目的地の付近では最下位レベル(レベル0)の地図データを用いるとともに、出発地および目的地の付近以外の中間領域では最下位レベル以外の上位レベル(レベル1、2)の地図データを用いることによって、現在位置から目的地までの第1の誘導経路を探索する。そして、第1の誘導経路探索部400は、探索した第1の誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を第1の誘導経路情報として誘導経路メモリ290に格納する。
【0033】
なお、レベル0からレベル1、レベル1からレベル2への地図データの切り替えのことを以下では「クライミング」という。また、クライミングが実際に行われたノードのことを「クライミングノード」という。第1の誘導経路探索部400は、第1の誘導経路を探索する際に、クライミングノードを特定するクライミングノード特定情報を誘導経路メモリ290に格納する。
【0034】
部分経路抽出部420は、第1の誘導経路探索部400により探索された第1の誘導経路のうち上位レベル(レベル1、2)の地図データに基づいて探索された誘導経路(以下、「上位探索経路」という)の中から、両端のノード間において直線距離に対する第1の誘導経路に沿った距離の比率が所定値(例えば、1.3)以上である部分経路を抽出する。この部分経路の抽出を行うために、部分経路抽出部420は、第1ノード特定部500、第2ノード特定部520、第3ノード特定部540および第4ノード特定部560を備えて構成されている。
【0035】
第1ノード特定部500は、誘導経路メモリ290に格納されたクライミングノード特定情報に基づいて、第1の誘導経路を構成するノードのうち、現在位置から最も近いクライミングノードを第1ノードとして特定する。そして、第1ノード特定部500は、特定した第1ノードを示す第1ノード特定情報を第3ノード特定部540および第4ノード特定部560に出力する。
【0036】
なお、最下位レベル(レベル0)の地図データおよび上位レベル(レベル1)の地図データに共通して存在するノードで必ずクライミングが行われるのであれば、当該共通して存在するノードであり、かつ、現在位置から最も近いノードを第1ノードとして特定するようにしても良い。この場合は、クライミングノード特定情報を参照する必要はない。
【0037】
第2ノード特定部520は、誘導経路メモリ290に格納されたクライミングノード特定情報に基づいて、第1の誘導経路を構成するノードのうち、目的地から最も近いクライミングノードを第2ノードとして特定する。そして、第2ノード特定部520は、特定した第2ノードを示す第2ノード特定情報を第3ノード特定部540に出力する。
【0038】
なお、最下位レベル(レベル0)の地図データおよび上位レベル(レベル1)の地図データに共通して存在するノードで必ずクライミングが行われるのであれば、当該共通して存在するノードであり、かつ、目的地から最も近いノードを第2ノードとして特定するようにしても良い。この場合は、クライミングノード特定情報を参照する必要はない。
【0039】
本実施形態では、第1ノードから第2ノードの間にある各ノードを第1の判定対象ノードとする。第1の誘導経路に含まれる全ノードを第1の判定対象ノードとしても良いが、第1ノードから第2ノードまでの上位探索経路に範囲を絞ることにより、第3ノード特定部540および第4ノード特定部560の判定処理の負荷を減らすことができる。
【0040】
第3ノード特定部540は、地図データ記憶部240に記憶されている地図データと、誘導経路メモリ290に格納された第1の誘導経路情報とに基づいて、第1の誘導経路を構成するノードのうち、第1ノードから第2ノードまでに存在する第1の判定対象ノードの各々について、第1ノードから遠い順に、第1ノードと当該第1の判定対象ノードとの間の直線距離に対する、第1ノードと当該第1の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が所定値より小さい第2の所定値(例えば、1.2)より大きいか否かについて判定を行う。そして、第3ノード特定部540は、第2の所定値より大きいと最初に判定した第1の判定対象ノードを第3ノードとして特定し、特定した第3ノードを示す第3ノード特定情報を第4ノード特定部560に出力する。第1ノードから第3ノードの間にある各ノードを第2の判定対象ノードとする。第2の判定対象ノードは、第1の判定対象ノードの一部であり、更に範囲が絞り込まれている。
【0041】
第4ノード特定部560は、地図データ記憶部240に記憶されている地図データと、誘導経路メモリ290に格納された第1の誘導経路情報とに基づいて、第1の誘導経路を構成するノードのうち、第1ノードから第3ノードまでに存在するノードである第2の判定対象ノードの各々について、第3ノードから遠い順に、第3ノードと当該第2の判定対象ノードとの間の直線距離に対する、第3ノードと当該第2の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が所定値(例えば、1.3)より大きいか否かについて判定を行う。そして、第4ノード特定部560は、所定値より大きいと最初に判定した第2の判定対象ノードを第4ノードとして特定する。
【0042】
なお、第3ノード特定部540の判定処理で用いる第2の所定値と第4ノード特定部560の判定処理で用いる所定値との間で数値を変えているのは、所定値と第2の所定値との間で数値を同じにすると、第1ノードおよび第2ノードの片側からしか絞り込むことができず、第1の誘導経路の中で部分的に遠回りしている部分が第1ノードおよび第2ノードの何れか付近に存在しない限り、精度良く絞り込むことができないからである。
【0043】
部分経路抽出部420は、誘導経路メモリ290に格納された第1の誘導経路情報に基づいて、第1の誘導経路のうち、第3ノードから第4ノードまでの経路を部分経路として抽出する。この抽出した部分経路は、範囲が絞り込まれたものになっている。そして、部分経路抽出部420は、抽出した部分経路のデータ(第3ノードから第4ノードに至るまでのノードの集合)を部分経路情報として部分経路メモリ440に格納する。
【0044】
第2の誘導経路探索部460は、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)と、部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する。すなわち、部分経路のみを対象として、図9と同様の処理を行う。そして、第2の誘導経路探索部460は、生成した第2の部分経路のデータ(第3ノードから第4ノードに至るまでのノードの集合)を第2の部分経路情報として部分経路メモリ440に格納する。
【0045】
誘導経路設定部480は、誘導経路メモリ290に格納された第1の誘導経路情報と、部分経路メモリ440に格納された部分経路情報および第2の部分経路情報とに基づいて、第1の誘導経路に含まれる部分経路を第2の部分経路で置き換えた第2の誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を第2の誘導経路情報として誘導経路メモリ290に格納する。
【0046】
次に、第1の実施形態による誘導経路探索部280の処理について、図3を参照しながら具体例に沿って説明する。図3は、第1の実施形態による誘導経路探索部280の処理を説明する図である。図3(a)において、a1〜a30は、第1の誘導経路探索部400により探索された第1の誘導経路を構成する全ノードである。この中には、レベル0の地図データで探索されたもの、レベル1の地図データで探索されたもの、レベル2の地図データで探索されたものが混在している。第1の誘導経路において、ノードa1は現在位置を示すノードであり、ノードa30は目的地を示すノードである。
【0047】
第1ノード特定部500は、第1の誘導経路を構成するノードa1〜a30のうち、現在位置から最も近いクライミングノード(レベル0からレベル1に地図データが切り替わったポイント)を第1ノードとして特定する。例えば、これがノードa5であったとする。また、第2ノード特定部520は、第1の誘導経路を構成するノードa1〜a30のうち、目的地から最も近いクライミングノード(レベル0からレベル1に地図データが切り替わったポイント)を第2ノードとして特定する。例えば、これがノードa25であったとする。本実施形態では、図3(b)のように、ノードa5〜a25を第1の判定対象ノードとする。
【0048】
次に、第3ノード特定部540は、第1の誘導経路を構成するノードのうち、第1ノードから第2ノードまでに存在する第1の判定対象ノード(ノードa1〜ノードa25)の各々について、第1ノードから遠い順に、第1ノードと当該第1の判定対象ノードとの間の直線距離に対する、第1ノードと当該第1の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が第2の所定値(1.2)より大きいか否かについて判定を行う。そして、第3ノード特定部540は、第2の所定値より大きいと最初に判定した第1の判定対象ノードを第3ノードとして特定する。例えば、これがノードa15であったとする。本実施形態では、図3(c)のように、ノードa5〜a15を第2の判定対象ノードとする。
【0049】
第4ノード特定部560は、第1の誘導経路を構成するノードのうち、第1ノードから第3ノードまでに存在する第2の判定対象ノード(ノードa5〜ノードa15)の各々について、第3ノードから遠い順に、第3ノードと当該第2の判定対象ノードとの間の直線距離に対する、第3ノードと当該第2の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が所定値(1.3)より大きいか否かについて判定を行う。そして、第4ノード特定部560は、所定値より大きいと最初に判定した第2の判定対象ノードを第4ノードとして特定する。例えば、これがノードa7であったとする。
【0050】
部分経路抽出部420は、図3(d)に示すように、第1の誘導経路のうち、第3ノード(ノードa15)から第4ノード(ノードa7)までの経路を部分経路として抽出する。第2の誘導経路探索部460は、最下位レベル(レベル0)を含む地図データを用い、部分経路抽出部420により抽出された部分経路の両端のノード(ノードa7およびノードa15)をそれぞれ出発地および目的地として、部分経路間の経路探索を行う。これにより、第2の部分経路150を生成する。ここで、第2の部分経路150が探索されたのは、部分経路の両端のノードの付近では最下位レベル(レベル0)の地図データを用いて探索が行われ、上位レベル(レベル1、2)の地図データには存在しない経路を探索できたためである。誘導経路設定部480は、第1の誘導経路に含まれる部分経路を第2の部分経路150で置き換えた第2の誘導経路のデータを第2の誘導経路情報として誘導経路メモリ290に格納する。
【0051】
次に、本実施形態における誘導経路探索部280の動作について説明する。図4は、本実施形態における誘導経路探索部280の動作例を示すフローチャートである。図4におけるステップS100の処理は、誘導経路探索部280が、操作部250に対するユーザ操作を介して誘導経路を探索する要求を受け付けることにより開始する。
【0052】
まず、第1の誘導経路探索部400は、車両位置検出部220により検出された自車位置情報と地図データ記憶部240に記憶されている地図データとに基づいて、現在位置から目的地までの第1の誘導経路を探索する(ステップS100)。次に、第1ノード特定部500は、誘導経路メモリ290に格納されたクライミングノード特定情報に基づいて、第1の誘導経路を構成するノードのうち、現在位置から最も近いクライミングノードを第1ノードとして特定する(ステップS120)。
【0053】
次に、第2ノード特定部520は、誘導経路メモリ290に格納されたクライミングノード特定情報に基づいて、第1の誘導経路を構成するノードのうち、目的地から最も近いクライミングノードを第2ノードとして特定する(ステップS140)。
【0054】
次に、第3ノード特定部540は、第2ノード特定部520により特定された第2ノードを第1の判定対象ノードとして設定する(ステップS160)。次に、第3ノード特定部540は、地図データ記憶部240に記憶されている地図データと、誘導経路メモリ290に格納された第1の誘導経路情報とに基づいて、第1ノードと第1の判定対象ノードとの間の直線距離に対する、第1ノードと当該第1の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が第2の所定値(1.2)より大きいか否かについて判定を行う(ステップS180)。
【0055】
もし、第2の所定値より大きくないと第3ノード特定部540にて判定した場合(ステップS180にてNO)、第3ノード特定部540は、第1の誘導経路に沿って、第1の判定対象ノードから1つ第1ノード側に移動したノードを新たな第1の判定対象ノードとして設定する(ステップS200)。その後、処理はステップS180に遷移する。一方、第2の所定値より大きいと第3ノード特定部540にて判定した場合(ステップS180にてYES)、第3ノード特定部540は、そのときに第1の判定対象ノードとして設定しているノードを第3ノードとして特定する(ステップS220)。
【0056】
次に、第4ノード特定部560は、第1ノード特定部500により特定された第1ノードを第2の判定対象ノードとして設定する(ステップS240)。次に、第4ノード特定部560は、地図データ記憶部240に記憶されている地図データと、誘導経路メモリ290に格納された第1の誘導経路情報とに基づいて、第3ノードと第2の判定対象ノードとの間の直線距離に対する、第3ノードと当該第2の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が所定値(例えば、1.3)より大きいか否かについて判定を行う(ステップS260)。
【0057】
もし、所定値より大きくないと第4ノード特定部560にて判定した場合(ステップS260にてNO)、第4ノード特定部560は、第1の誘導経路に沿って、第2の判定対象ノードから1つ第3ノード側に移動したノードを新たな第2の判定対象ノードとして設定する(ステップS280)。その後、処理はステップS260に遷移する。一方、所定値より大きいと第4ノード特定部560にて判定した場合(ステップS260にてYES)、第4ノード特定部560は、そのときに第2の判定対象ノードとして設定しているノードを第4ノードとして特定する(ステップS300)。
【0058】
次に、部分経路抽出部420は、誘導経路メモリ290に格納された第1の誘導経路情報に基づいて、第1の誘導経路のうち、第3ノード特定部540により特定された第3ノードから第4ノード特定部560により特定された第4ノードまでの経路を部分経路として抽出する(ステップS320)。次に、第2の誘導経路探索部460は、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)に基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する(ステップS340)。
【0059】
最後に、誘導経路設定部480は、誘導経路メモリ290に格納された第1の誘導経路情報に基づいて、第1の誘導経路に含まれる部分経路を第2の誘導経路探索部460によって探索された第2の部分経路で置き換えた第2の誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を第2の誘導経路情報として誘導経路メモリ290に格納する(ステップS360)。ステップS360の処理が完了することによって、誘導経路探索部280は図4における処理を終了する。
【0060】
以上詳しく説明したように、第1の実施形態では、レベル0〜2の地図データに基づいて適宜クライミングしながら探索した現在位置(出発地)から目的地までの第1の誘導経路の中から、両端のノード間において直線距離に対する第1の誘導経路に沿った距離の比率が所定値より大きい部分経路を抽出し、抽出した部分経路についてレベル0〜2の地図データに基づいて再探索を行うことによって第2の部分経路を得る。そして、第1の誘導経路に含まれる部分経路を、探索した第2の部分経路で置き換えた第2の誘導経路を最終的な誘導経路として設定するようにしている。
【0061】
このように構成した第1の実施形態によれば、最初に探索された誘導経路の中で部分的に遠回りしている部分が絞り込まれ、その絞り込まれた部分について最下位レベルを含む地図データに基づいた再探索が行われるため、遠回りの経路が誘導経路として設定されにくくなるようにすることができる。さらに、最初に探索された誘導経路の全体ではなく、その一部のみが再探索されるため、最初に探索された誘導経路の全体について再探索する従来技術に比べて、再探索処理に必要な時間を短縮することができ、ひいては最終的な誘導経路を設定するまでの時間を短縮することができる。
【0062】
また、第1の実施形態では、第1の誘導経路のうち、上位レベルの地図データに基づいて探索された上位探索経路に範囲を絞り、その中から部分経路を抽出するようにしている。このように構成した第1の実施形態によれば、最下位レベルの地図データに基づいて探索された経路は、部分経路の抽出処理を行う対象から除かれる。この除かれた経路は、再探索を行ってもこれ以上の近道がないので、部分経路の抽出対象から除くことに問題は生じない。以上より、第1の誘導経路の全体を対象として部分経路の抽出処理を行わない分、その抽出処理にかかる時間を短くすることができる。
【0063】
なお、上記第1の実施形態では、部分経路抽出部420にて部分経路を抽出する際、第2ノードを特定した後に第1ノードを特定する例について説明したが、第1ノードを特定した後に第2ノードを特定するようにしても良い。また、上記第1の実施形態では、部分経路抽出部420にて部分経路を抽出する際、第3ノードを特定した後に第4ノードを特定する例について説明したが、第4ノードを特定した後に第3ノードを特定するようにしても良い。
【0064】
また、上記第1の実施形態では、部分経路抽出部420が、第1の誘導経路のうち、第3ノードから第4ノードまでの経路を部分経路として抽出する例について説明したが、本発明はこれに限定されない。例えば、部分経路抽出部420は、第1の誘導経路のうち、第1ノードから第3ノードからまでの経路を部分経路として抽出するようにしても良い。
【0065】
上記第1の実施形態では、部分経路について再探索を行うときも、クライミングをしながら経路探索を行っている。そのため、図3(d)のように探索された第2の部分経路150の中にも遠回りの経路が含まれている可能性がある。そこで、第2の部分経路150を探索するときにクライミングを行った場合には、第2の部分経路150を対象として同様の処理を再度行うようにしても良い。
【0066】
具体的には、第2の誘導経路探索部460は、第2の部分経路を探索する際に、クライミングノードを特定するクライミングノード特定情報を誘導経路メモリ290に格納する。そして、第2の誘導経路探索部460は、誘導経路メモリ290に格納されたクライミングノード特定情報に基づいて、第2の部分経路150を探索するときにクライミングを行ったか(すなわち、第2の部分経路の中に、部分的に遠回りとなっているところが存在する可能性があるか)否かについて判定する。第2の誘導経路探索部460は、第2の部分経路150を探索するときにクライミングを行ったと判定した場合、その旨を部分経路抽出部420に通知する。
【0067】
部分経路抽出部420は、第2の部分経路150を探索するときにクライミングを行った旨の通知を第2の誘導経路探索部460から受けた場合、第2の部分経路の中から、両端のノード間において直線距離に対する第2の部分経路に沿った距離の比率が所定値より大きい第3の部分経路を抽出する。その抽出処理の内容は、図3を用いて説明したのと同様である。
【0068】
第2の誘導経路探索部460は、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)と、部分経路メモリ440に格納された第3の部分経路情報とに基づいて、第3の部分経路の両端のノード間の経路探索を行うことによって第4の部分経路を生成する。そして、第2の誘導経路探索部460は、生成した第4の部分経路のデータを第4の部分経路情報として部分経路メモリ440に格納する。
【0069】
誘導経路設定部480は、誘導経路メモリ290に格納された第2の誘導経路情報と、部分経路メモリ440に格納された第3の部分経路情報および第4の部分経路情報とに基づいて、第2の誘導経路に含まれる第3の部分経路を第4の部分経路で置き換えた第3の誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を第3の誘導経路情報として誘導経路メモリ290に格納する。
【0070】
このように構成した場合、再探索して求めた第2の部分経路150が部分的に遠回りする経路を含んでいても、その部分的に遠回りする経路を確実に解消し、より最短の誘導経路を求めることができる。なお、このようにして2回目の再探索によって第4の部分経路を求めるときにもクライミングが発生した場合には、同様の手順で3回目の再探索を行うようにしても良い。
【0071】
また、上記実施形態では、現在位置から目的地までの第1の誘導経路の中から1ヵ所だけ部分経路を抽出して再探索を行っているが、それ以外の場所にも遠回りの経路が含まれている可能性がある。そこで、1ヶ所の部分経路について再探索が終わった後は、別の場所において部分経路を抽出して再探索するようにしても良い。
【0072】
具体的には、部分経路抽出部420は、第2の誘導経路(更に再探索された場合は第3の誘導経路。以下、同様)から第2の部分経路(図3(d)のノードa9〜a14の部分)を除いた残りの経路(以下、「残り経路」という)の中から、両端のノード間において直線距離に対する第2の誘導経路に沿った距離の比率が所定値(例えば、1.3)より大きい第5の部分経路を抽出する。そして、部分経路抽出部420は、抽出した第5の部分経路のデータを第5の部分経路情報として部分経路メモリ440に格納する。なお、残り経路は、第2の誘導経路から第2の部分経路を除いた部分ではなく、第2の誘導経路から部分経路(図3(d)のノードa7〜a15の部分)を除いたものとしても良い。
【0073】
第2の誘導経路探索部460は、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)と、部分経路メモリ440に格納された第5の部分経路情報とに基づいて、第5の部分経路の両端のノード間の経路探索を行うことによって第6の部分経路を生成する。そして、第2の誘導経路探索部460は、生成した第6の部分経路のデータを第6の部分経路情報として部分経路メモリ440に格納する。
【0074】
誘導経路設定部480は、誘導経路メモリ290に格納された第2の誘導経路情報と、部分経路メモリ440に格納された第5の部分経路情報および第6の部分経路情報とに基づいて、第2の誘導経路に含まれる第5の部分経路を第6の部分経路で置き換えた第4の誘導経路のデータ(現在位置から目的地に至るまでのノードの集合)を第4の誘導経路情報として誘導経路メモリ290に格納する。
【0075】
次に、誘導経路探索部280の処理について、図5を参照しながら具体例に沿って説明する。図5は、誘導経路探索部280が図3のように第2の部分経路150を探索して誘導経路メモリ290に格納した後の処理を説明する図である。図5において、a15〜a30は、第2の誘導経路から部分経路150を除いた経路のうち、ノードa15よりも目的地(ノードa30)側の残り経路上に位置するノードである。
【0076】
第1ノード特定部500は、残り経路を構成するノードa15〜a30のうち、ノードa15から最も近いクライミングノードを第1ノードとして特定する。例えば、これがノードa15であったとする。なお、第1の誘導経路を探索するときに、ノードa15よりも現在位置側で最上位レベル(レベル2)までクライミングしている場合がある。その場合、ノードa15〜a30のうち、ノードa15から最も近いクライミングノードは存在しない。この場合、ノードa15を第1ノードとする。
【0077】
また、第2ノード特定部520は、残り経路を構成するノードa15〜a30のうち、目的地から最も近いクライミングノード(レベル0からレベル1に地図データが切り替わったポイント)を第2ノードとして特定する。例えば、これがノードa25であったとする。本実施形態では、図5(b)のように、ノードa15〜a25を第1の判定対象ノードとする。
【0078】
次に、第3ノード特定部540は、残り経路を構成するノードのうち、第1ノードから第2ノードまでに存在する第1の判定対象ノード(ノードa15〜ノードa25)の各々について、第1ノードから遠い順に、第1ノードと当該第1の判定対象ノードとの間の直線距離に対する、第1ノードと当該第1の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が第2の所定値(1.2)より大きいか否かについて判定を行う。そして、第3ノード特定部540は、第2の所定値より大きいと最初に判定した第1の判定対象ノードを第3ノードとして特定する。例えば、これがノードa19であったとする。本実施形態では、図5(c)のように、ノードa15〜a19を第2の判定対象ノードとする。
【0079】
第4ノード特定部560は、残り経路を構成するノードのうち、第1ノードから第3ノードまでに存在する第2の判定対象ノード(ノードa15〜ノードa19)の各々について、第3ノードから遠い順に、第3ノードと当該第2の判定対象ノードとの間の直線距離に対する、第3ノードと当該第2の判定対象ノードとの間の第1の誘導経路に沿った距離の比率が所定値(1.3)より大きいか否かについて判定を行う。そして、第4ノード特定部560は、所定値より大きいと最初に判定した第2の判定対象ノードを第4ノードとして特定する。例えば、これがノードa16であったとする。
【0080】
部分経路抽出部420は、図5(d)に示すように、残り経路のうち、第3ノード(ノードa19)から第4ノード(ノードa16)までの経路を第5の部分経路として抽出する。第2の誘導経路探索部460は、最下位レベル(レベル0)を含む地図データを用い、部分経路抽出部420により抽出された第5の部分経路の両端のノード(ノードa16およびノードa19)をそれぞれ出発地および目的地として、部分経路間の経路探索を行う。これにより、第6の部分経路160を生成する。
【0081】
なお、残り経路から抽出した第5の部分経路の目的地側の端点である第3ノードが第2ノードの2つ以上手前であれば、同様の処理を繰り返すことにより残り経路の別の位置も再探索する。また、ノードa7から現在位置側も同様にして行う。このように構成した場合、範囲を絞り込んで再探索した部分を除いた残り経路が部分的に遠回りする経路を含んでいても、その部分的に遠回りする経路を確実に解消し、より最短の誘導経路を求めることができる。
【0082】
次に、本発明の第2の実施形態を図面に基づいて説明する。図6は、第2の実施形態によるナビゲーション装置200の主要構成例を示すブロック図である。図6に示すように、誘導経路探索部280は、その機能構成として、直線距離判定部600を更に備えている。また、誘導経路探索部280は、その機能構成として、図2の第2の誘導経路探索部460の代わりに、第2の誘導経路探索部460′を備えている。なお、この図6において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0083】
直線距離判定部600は、地図データ記憶部240に記憶されている地図データと、部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード間の直線距離が所定距離未満であるか否かについて判定し、その判定結果を第2の誘導経路探索部460′に通知する。
【0084】
第2の誘導経路探索部460′は、部分経路の両端のノード間の直線距離が所定距離未満である旨の通知を直線距離判定部600から受けた場合、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)のみ)と部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する。
【0085】
また、第2の誘導経路探索部460′は、部分経路の両端のノード間の直線距離が所定距離未満でない旨の通知を直線距離判定部600から受けた場合、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)と部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する。
【0086】
部分経路の両端のノード間の直線距離が所定距離未満であれば、部分経路の距離は短いので、最下位レベルの詳細な地図データだけで経路探索を行っても、再探索処理に多くの時間がかかってしまう可能性は少ないと考えられる。そして、全ての道路を網羅した最下位レベルの地図データだけを用いてクライミングすることなく経路探索を行うので、最短の誘導経路が確実に探索される。よって、再探索処理時間を増やすことなく、部分経路について、遠回りのない最短の経路を探索することができる。
【0087】
なお、部分経路の両端のノード間の直線距離の代わりに部分経路の両端のノード間のノード数で、最下位レベルの詳細な地図データだけで経路探索を行うか否かを判断しても良い。図7は、ノード数で判断する場合のナビゲーション装置200の主要構成例を示すブロック図である。図7に示すように、誘導経路探索部280は、その機能構成として、ノード数判定部620を更に備えている。また、誘導経路探索部280は、その機能構成として、図2の第2の誘導経路探索部460の代わりに、第2の誘導経路探索部460′′を備えている。なお、この図7において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0088】
ノード数判定部620は、部分経路メモリ440に格納された部分経路情報に基づいて、部分経路抽出部420により抽出された部分経路の両端のノード間に存在するノードの数が所定数未満であるか否かについて判定し、その判定結果を第2の誘導経路探索部460′′に通知する。
【0089】
第2の誘導経路探索部460′′は、部分経路の両端のノード間に存在するノードの数が所定数未満である旨の通知をノード数判定部620から受けた場合、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)のみ)と部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する。
【0090】
また、第2の誘導経路探索部460′′は、部分経路の両端のノード間に存在するノードの数が所定数未満でない旨の通知をノード数判定部620から受けた場合、地図データ記憶部240に記憶されている地図データ(最下位レベル(レベル0)を含む)と部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード(第3ノードおよび第4ノード)間の経路探索を行うことによって第2の部分経路を生成する。
【0091】
このように構成した場合も、図6のように直線距離で判断する場合と同様の効果が得られる。すなわち、部分経路の両端のノード間のノード数が所定数未満であれば、部分経路の距離は短いので、最下位レベルの詳細な地図データだけで経路探索を行っても、再探索処理に多くの時間がかかってしまう可能性は少ないと考えられる。そして、全ての道路を網羅した最下位レベルの地図データだけを用いてクライミングすることなく経路探索を行うので、最短の誘導経路が確実に探索される。よって、再探索処理時間を増やすことなく、部分経路について、遠回りのない最短の経路を探索することができる。
【0092】
次に、本発明の第3の実施形態を図面に基づいて説明する。図8は、第3の実施形態によるナビゲーション装置200の主要構成例を示すブロック図である。図8に示すように、誘導経路探索部280は、その機能構成として、第1の所要時間算出部700、第2の所要時間算出部720および時間判定部740を更に備えている。また、誘導経路探索部280は、その機能構成として、図2の第2の誘導経路探索部460の代わりに、第2の誘導経路探索部460′′′を備えている。なお、この図8において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0093】
第1の所要時間算出部700は、地図データ記憶部240に記憶されている地図データ(道路ユニットのリンク情報(リンクコスト))と、部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の所要走行時間を第1の所要時間として算出する。そして、第1の所要時間算出部700は、算出した第1の所要時間を示す第1の所要時間情報を時間判定部740に出力する。
【0094】
第2の所要時間算出部720は、地図データ記憶部240に記憶されている地図データ(道路ユニットのノード情報(経緯度))と、部分経路メモリ440に格納された部分経路情報とに基づいて、部分経路抽出部420により抽出された部分経路の両端のノード間の直線距離を、当該部分経路の探索に使用された地図データの1つ下のレベルの地図データにのみ含まれる道路の道路種別に応じた予測走行速度で除算した時間を第2の所要時間として算出する。そして、第2の所要時間算出部720は、算出した第2の所要時間を示す第2の所要時間情報を時間判定部740に出力する。
【0095】
時間判定部740は、第2の所要時間算出部720から出力された第2の所要時間情報により示される第2の所要時間が第1の所要時間算出部700から出力された第1の所要時間情報により示される第1の所要時間より大きいか否かについて判定し、その判定結果を第2の誘導経路探索部460′′′に通知する。
【0096】
次に具体例を1つ説明する。部分経路は高速道路であるとする。また、部分経路の探索に使用された地図データの1つ下のレベルの地図データにのみ含まれる道路の道路種別が一般道路であり、その道路種別に応じた予測走行速度が40[km/h]であるとする。この場合、第2の所要時間より第1の所要時間より大きければ、部分経路がたとえ遠回りであったとしても、一般道路を通行するより速い。
【0097】
第2の誘導経路探索部460′′′は、第2の所要時間が第1の所要時間より大きくない旨の通知を受けた場合、最下位レベル(レベル0)を含む地図データを用いることによって、部分経路の両端のノード間の経路探索を行う。また、第2の誘導経路探索部460′′′は、第2の所要時間が第1の所要時間より大きい旨の通知を受けた場合、部分経路の両端のノード間の経路探索を行わない。
【0098】
このように構成した第3の実施形態によれば、部分経路について、最下位レベルの地図データを用いて探索される経路の方が、上位レベルの地図データを用いて既に探索された経路より却って時間がかかると考えられる場合、部分経路について無駄な再探索処理を行わないようにすることができる。
【0099】
なお、上記第1〜第3の実施形態では、地図データが、道路網の情報量の差異に基づいて3つのレベルに階層化された構造をしている例について説明したが、本発明はこれに限定されない。例えば、地図データが、道路網の情報量の差異に基づいて2つ、または、4つ以上のレベルに階層化された構造をしていても良い。
【0100】
また、上記第1〜第3の実施形態では、第1の誘導経路の中から、両端のノード間において直線距離に対する第1の誘導経路に沿った距離の比率が所定値以上である部分経路を抽出する例について説明したが、本発明はこれに限定されない。例えば、第1の誘導経路の中から、両端のノード間において第1の誘導経路に沿った距離から直線距離を減算した距離が所定値より大きい部分経路を抽出するようにしても良い。
【0101】
その他、上記第1〜第3の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0102】
150 第2の部分経路
160 第6の部分経路
200 ナビゲーション装置
240 地図データ記憶部
280 誘導経路探索部
400 第1の誘導経路探索部
420 部分経路抽出部
460,460′,460′′,460′′′ 第2の誘導経路探索部
480 誘導経路設定部
500 第1ノード特定部
520 第2ノード特定部
540 第3ノード特定部
560 第4ノード特定部
600 直線距離判定部
620 ノード数判定部
700 第1の所要時間算出部
720 第2の所要時間算出部
740 時間判定部

【特許請求の範囲】
【請求項1】
道路網の情報量に基づいて複数のレベルに階層化され、下位のレベルほど道路網の情報量が多い地図データを記憶する地図データ記憶部と、
出発地および目的地の付近では最下位レベルの地図データを用いるとともに、前記出発地および前記目的地の付近以外の中間領域では前記最下位レベル以外の上位レベルの地図データを用いることによって、前記出発地から前記目的地までの第1の誘導経路を探索する第1の誘導経路探索部と、
前記第1の誘導経路探索部により探索された前記第1の誘導経路の中から、両端のノード間において直線距離と前記第1の誘導経路に沿った距離との差分が所定値より大きい部分経路を抽出する部分経路抽出部と、
前記最下位レベルを含む地図データを用いることによって、前記部分経路抽出部により抽出された前記部分経路の両端のノード間の経路探索を行うことによって第2の部分経路を生成する第2の誘導経路探索部と、
前記第1の誘導経路に含まれる前記部分経路を前記第2の誘導経路探索部によって探索された前記第2の部分経路で置き換えた第2の誘導経路を最終的な誘導経路として設定する誘導経路設定部とを備えたことを特徴とするナビゲーション装置。
【請求項2】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部は、前記第1の誘導経路のうち、前記上位レベルの地図データに基づいて探索された上位探索経路の中から前記部分経路を抽出することを特徴とするナビゲーション装置。
【請求項3】
請求項2に記載のナビゲーション装置において、
前記部分経路抽出部は、前記第1の誘導経路を構成するノードのうち、前記第1の誘導経路の一端から最も近く、かつ、使用する地図データのレベルの切り替えが行われたノードを第1ノードとして特定する第1ノード特定部と、
前記第1の誘導経路を構成するノードのうち、前記第1の誘導経路の他端から最も近く、かつ、使用する地図データのレベルの切り替えが行われたノードを第2ノードとして特定する第2ノード特定部とを更に備え、
前記第1の誘導経路を構成するノードのうち、前記第1ノード特定部により特定された前記第1ノードから前記第2ノード特定部により特定された前記第2ノードまでに存在するノードで構成された前記上位探索経路の中から前記部分経路を抽出することを特徴とするナビゲーション装置。
【請求項4】
請求項3に記載のナビゲーション装置において、
前記部分経路抽出部は、前記上位探索経路を構成するノードである判定対象ノードの各々について、前記第1ノードから遠い順に、前記第1ノードと当該判定対象ノードとの間の直線距離と前記第1ノードと当該判定対象ノードとの間の前記上位探索経路に沿った距離との差分が前記所定値より大きいか否かについて判定を行い、当該所定値より大きいと最初に判定した判定対象ノードを第3ノードとして特定する第3ノード特定部を更に備え、前記上位探索経路を構成するノードのうち、前記第1ノードから前記第3ノードまでの経路を前記部分経路として抽出することを特徴とするナビゲーション装置。
【請求項5】
請求項3に記載のナビゲーション装置において、
前記部分経路抽出部は、前記上位探索経路を構成するノードである判定対象ノードの各々について、前記第1ノードから遠い順に、前記第1ノードと当該判定対象ノードとの間の直線距離と前記第1ノードと当該判定対象ノードとの間の前記上位探索経路に沿った距離との差分が前記所定値より小さい第2の所定値より大きいか否かについて判定を行い、当該第2の所定値より大きいと最初に判定した判定対象ノードを第3ノードとして特定する第3ノード特定部と、
前記上位探索経路を構成するノードのうち、前記第1ノードから前記第3ノードまでに存在するノードである判定対象ノードの各々について、前記第3ノードから遠い順に、前記第3ノードと当該判定対象ノードとの間の直線距離と前記第3ノードと当該判定対象ノードとの間の前記上位探索経路に沿った距離との差分が前記所定値より大きいか否かについて判定を行い、当該所定値より大きいと最初に判定した判定対象ノードを第4ノードとして特定する第4ノード特定部とを更に備え、
前記上位探索経路のうち前記第3ノードから前記第4ノードまでの経路を前記部分経路として抽出することを特徴とするナビゲーション装置。
【請求項6】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部により抽出された前記部分経路の両端のノード間の直線距離が所定距離未満であるか否かについて判定する直線距離判定部を更に備え、
前記第2の誘導経路探索部は、前記直線距離判定部により前記部分経路の両端のノード間の直線距離が前記所定距離未満であると判定された場合、前記最下位レベルの地図データのみを用いることによって、前記部分経路の両端のノード間の経路探索を行うことを特徴とするナビゲーション装置。
【請求項7】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部により抽出された前記部分経路の両端のノード間に存在するノードの数が所定数未満であるか否かについて判定するノード数判定部を更に備え、
前記第2の誘導経路探索部は、前記ノード数判定部により前記部分経路の両端のノード間に存在するノードの数が前記所定数未満であると判定された場合、前記最下位レベルの地図データのみを用いることによって、前記部分経路の両端のノード間の経路探索を行うことを特徴とするナビゲーション装置。
【請求項8】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部は、前記第2の誘導経路探索部により前記上位レベルの地図データを用いて前記第2の部分経路が探索された場合、前記第2の部分経路の中から、両端のノード間において直線距離と前記第2の部分経路に沿った距離との差分が前記所定値より大きい第3の部分経路を更に抽出し、
前記第2の誘導経路探索部は、前記最下位レベルを含む地図データを用いることによって、前記第3の部分経路の両端のノード間の経路探索を行うことによって第4の部分経路を生成し、
前記誘導経路設定部は、前記第2の誘導経路に含まれる前記第3の部分経路を前記第4の部分経路で置き換えた第3の誘導経路を最終的な誘導経路として設定することを特徴とするナビゲーション装置。
【請求項9】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部は、前記第2の誘導経路から前記第2の部分経路を除いた経路の中から、両端のノード間において直線距離と前記第2の誘導経路に沿った距離との差分が所定値より大きい第5の部分経路を更に抽出し、
前記第2の誘導経路探索部は、前記最下位レベルを含む地図データを用いることによって、前記部分経路抽出部により抽出された前記第5の部分経路の両端のノード間の経路探索を行うことによって第6の部分経路を生成し、
前記誘導経路設定部は、前記第2の誘導経路に含まれる前記第5の部分経路を前記第6の部分経路で置き換えた第4の誘導経路を最終的な誘導経路として設定することを特徴とするナビゲーション装置。
【請求項10】
請求項1に記載のナビゲーション装置において、
前記部分経路抽出部により抽出された前記部分経路の所要走行時間を第1の所要時間として算出する第1の所要時間算出部と、
前記部分経路の両端のノード間の直線距離を、当該部分経路の探索に使用された地図データの1つ下のレベルの地図データにのみ含まれる道路の道路種別に応じた予測走行速度で除算した時間を第2の所要時間として算出する第2の所要時間算出部と、
前記第2の所要時間が前記第1の所要時間より大きいか否かについて判定する時間判定部とを更に備え、
前記第2の誘導経路探索部は、前記時間判定部により前記第2の所要時間が前記第1の所要時間より大きくないと判定された場合に限り、前記最下位レベルを含む地図データを用いることによって、前記部分経路の両端のノード間の経路探索を行うことを特徴とするナビゲーション装置。
【請求項11】
道路網の情報量に基づいて複数のレベルに階層化され、下位のレベルほど道路網の情報量が多い地図データを記憶する地図データ記憶部と、出発地および目的地の付近では最下位レベルの地図データを用いるとともに、前記出発地および前記目的地の付近以外の中間地域では前記最下位レベル以外の上位レベルの地図データを用いることによって、前記出発地から前記目的地までの第1の誘導経路を探索する第1の誘導経路探索部とを備えたナビゲーション装置における誘導経路探索方法であって、
前記第1の誘導経路探索部により探索された前記第1の誘導経路の中から、両端のノード間において直線距離と前記第1の誘導経路に沿った距離との差分が所定値より大きい部分経路を抽出する第1のステップと、
前記最下位レベルを含む地図データを用いることによって、前記第1のステップにより抽出された前記部分経路の両端のノード間の経路探索を行うことによって第2の部分経路を生成する第2のステップと、
前記第1の誘導経路に含まれる前記部分経路を前記第2のステップによって探索された前記第2の部分経路で置き換えた第2の誘導経路を最終的な誘導経路として設定する第3のステップとを有することを特徴とする誘導経路探索方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−220902(P2011−220902A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−91817(P2010−91817)
【出願日】平成22年4月12日(2010.4.12)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】