(57)【要約】      （修正有）【課題】  探索のコストをできる限り抑えるとともに、通過点付近において最適な経路を選択することが可能なナビゲーション装置を提供すること。【解決手段】  地図を表示して目的地までの経路を案内するナビゲーション装置１０において、通過点を設定する通過点設定手段（入力装置２０）と、通過点を通過して目的地まで到達する経路を探索する経路探索手段（ＣＰＵ１１およびＨＤＤ１３）と、経路探索手段によって得られた経路を案内中に、経路を再探索する再探索手段（ＣＰＵ１１およびＨＤＤ１３）と、を有し、再探索手段は、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索する。【選択図】  図１
2006125851.tif 000002
【特許請求の範囲】
【請求項１】
地図を表示して目的地までの経路を案内するナビゲーション装置において、
通過点を設定する通過点設定手段と、
上記通過点を通過して上記目的地まで到達する経路を探索する経路探索手段と、
上記経路探索手段によって得られた経路を案内中に、経路を再探索する再探索手段と、を有し、
上記再探索手段は、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索することを特徴とするナビゲーション装置。
【請求項２】
上記再探索手段は、目的地もしくはその次の通過点までの経路であって、次の通過点を通過する経路を再探索することを特徴とする請求項１記載のナビゲーション装置。
【請求項３】
前記再探索手段は、前記自車から前記次の通過点までの距離が所定の閾値未満である場合には、目的地もしくはその次の通過点までの経路を再探索し、それ以外の場合には次の通過点までの経路を再探索することを特徴とする請求項１または２項記載のナビゲーション装置。
【請求項４】
前記再探索手段は、前記自車から前記次の通過点までの距離が所定の閾値以上である場合であっても、前記次の通過点に至るまでに、現在案内中の経路に戻れない場合には、目的地もしくはその次の通過点までの経路を再度探索することを特徴とする請求項３記載のナビゲーション装置。
【請求項５】
前記再探索手段は、自車の車速が速い場合には前記閾値を大きくし、遅い場合には前記閾値を小さくすることを特徴とする請求項３記載のナビゲーション装置。
【請求項６】
地図を表示して目的地までの経路を案内するナビゲーション方法において、
通過点を設定し、
上記通過点を通過して目的地まで到達する経路を探索し、
次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索する
ことを特徴とするナビゲーション方法。
【請求項７】
地図を表示して目的地までの経路を案内するナビゲーション用プログラムにおいて、
コンピュータを、
通過点を設定する通過点設定手段、
上記通過点を通過して上記目的地まで到達する経路を探索する経路探索手段、
上記経路探索手段によって得られた経路を案内中に、経路を再探索する再探索手段、として機能させ、
上記再探索手段は、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索することを特徴とするコンピュータ読み取り可能なナビゲーション用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ナビゲーション装置、ナビゲーション方法、およびナビゲーション用プログラムに関する。
【背景技術】
【０００２】
車載用のナビゲーション装置は、複数のＧＰＳ（Global Positioning Systems）衛星から送信される信号を受信して自車の現在位置を検出するとともに、各種センサにより検出される自車に関する情報およびナビゲーション装置の記録装置に記録されている地図情報に基づいて、自車の現在位置と地図上の道路とをマッチング（マップマッチング）させ、表示部に表示された地図上に自車の現在位置を表示する。そして、目的地が設定された場合には、当該目的地までの案内（ナビゲーション）を実行する。
【０００３】
ところで、目的地に到達するまでの経路において、所望の通過点を設定可能とする技術が開示されている。例えば、特許文献１に開示される技術では、入力部から通過点（経由地）を入力し、通過点を経由して目的地に到達するための経路を地図情報から探索して誘導路を設定し、自車位置と通過点とを比較して、通過点を通過したと判定した場合には、通過点から目的地までの案内を実行する。
【０００４】
また、特許文献２に開示される技術では、通過点においてＵターンすることを防止するために、出発点から通過点までの経路と、通過点から目的地までの経路との接続点における接続角度を求め、角度が小さい経路には大きな重みを付して選択されないようにして経路探索を行うようにしている。また、一方通行等の道路状況も考慮して探索を行うようにしている。
【特許文献１】特開平０６−６６５８７号公報（要約書、特許請求の範囲）
【特許文献２】特開平０８−３２０２３７号公報（要約書、特許請求の範囲）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載の技術では、現在地から経由地までの経路と、通過点から目的地までの経路とをそれぞれ独立した経路として別々に探索している。このため、経路探索または再探索がなされた場合には、通過点への進入方向が不適切となる可能性がある。具体的には、例えば、右折禁止の道路に右折で進入してしまう等である。
【０００６】
一方、特許文献２に記載の技術では、前述のように接続点における経路の接続角度を求めるとともに、一方通行等の道路状況も考慮しているので、特許文献１の有する前述の問題は解決される。しかしながら、走行中に何らかの原因で、経路の再探索がなされた場合には、全経路に対する前述の探索処理を行う必要が生じる。このように全経路を対象とする探索処理には、処理コストがかかるという問題点がある。また、このような探索処理には時間を要することから、探索が開始されて経路が確定するまでの間は案内が行われず、進行方向を誤る可能性があるという問題点がある。
【０００７】
本発明は、上記の事情に基づきなされたもので、その目的とするところは、探索のコストをできる限り抑えるとともに、通過点付近において最適な経路を選択することが可能なナビゲーション装置、ナビゲーション方法、および、ナビゲーション用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本発明のナビゲーション装置は、地図を表示して目的地までの経路を案内するナビゲーション装置において、通過点を設定する通過点設定手段と、通過点を通過して目的地まで到達する経路を探索する経路探索手段と、経路探索手段によって得られた経路を案内中に、経路を再探索する再探索手段と、を有し、再探索手段は、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索するようにしている。
【０００９】
また、他の発明のナビゲーション装置は、上述の発明に加えて、再探索手段が、目的地もしくはその次の通過点までの経路であって、次の通過点を通過する経路を再探索するようにしている。
【００１０】
また、他の発明のナビゲーション装置は、上述の各発明に加えて、再探索手段が、自車から次の通過点までの距離が所定の閾値未満である場合には、目的地もしくはその次の通過点までの経路を再探索し、それ以外の場合には次の通過点までの経路を再探索するようにしている。
【００１１】
また、他の発明のナビゲーション装置は、上述の各発明に加えて、再探索手段が、自車から次の通過点までの距離が所定の閾値以上である場合であっても、次の通過点に至るまでに、現在案内中の経路に戻れない場合には、目的地もしくはその次の通過点までの経路を再度探索するようにしている。
【００１２】
また、他の発明のナビゲーション装置は、上述の各発明に加えて、再探索手段は、自車の車速が速い場合には閾値を大きくし、遅い場合には閾値を小さくするようにしている。
【００１３】
また、本発明の発明のナビゲーション方法は、地図を表示して目的地までの経路を案内するナビゲーション方法において、通過点を設定し、通過点を通過して目的地まで到達する経路を探索し、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索するようにしている。
【００１４】
また、本発明の発明のナビゲーション用プログラムは、地図を表示して目的地までの経路を案内するナビゲーション用プログラムにおいて、コンピュータを、通過点を設定する通過点設定手段、通過点を通過して目的地まで到達する経路を探索する経路探索手段、経路探索手段によって得られた経路を案内中に、経路を再探索する再探索手段、として機能させ、再探索手段は、次の通過点を通過する前に再探索の要求がなされた場合には、状況に応じて、次の通過点までの経路を再探索するか、または、目的地もしくはその次の通過点までの経路を再探索するようにしている。
【発明の効果】
【００１５】
本発明は、探索のコストをできる限り抑えるとともに、通過点付近において最適な経路を選択することが可能なナビゲーション装置、ナビゲーション方法、および、ナビゲーション用プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施の形態について図に基づいて説明する。
【００１７】
図１は、本発明の実施の形態に係るナビゲーション装置の構成例を示すブロック図である。この図に示すように、本発明の実施の形態に係るナビゲーション装置１０は、ＣＰＵ（Central Processing Unit）１１、グラフィックプロセッサ１２、ＨＤＤ（Hard Disk Drive）１３、メモリ１４、ビデオメモリ１５、ＬＣＤ（Liquid Crystal Display）１６、ＧＰＳレシーバ１７、ジャイロ装置１８、センサ群１９、入力装置２０、および、ＶＩＣＳ（Vehicle Information and Communication System）レシーバ２１を有している。なお、ナビゲーション装置１０は、移動体としての自動車等に搭載される。
【００１８】
ここで、経路探索手段の一部であり再探索手段の一部であるＣＰＵ１１は、ＨＤＤ１３またはメモリ１４に格納されているプログラムに応じて、各種演算処理を実行するとともに、装置の各部を制御する中央処理装置である。
【００１９】
グラフィックプロセッサ１２は、ＨＤＤ１３から読み出され、ビデオメモリ１５に展開されたコマンドリストに応じて描画処理を実行し、得られた画像を映像信号に変換してＬＣＤ１６に供給して表示させる描画処理装置である。
【００２０】
経路探索手段の一部であり再探索手段の一部であるＨＤＤ１３は、地図情報ＤＢ１３ａおよび制御プログラム１３ｂを有する記憶装置である。ここで、地図情報ＤＢ１３ａは、地図のシンボルを表示するための情報および道路を表示するための情報等を有している。制御プログラム１３ｂは、ナビゲーション装置１０の各部を制御するとともに、ＧＰＳレシーバ１７から供給される自車位置と、地図情報ＤＢ１３ａに格納された地図情報に基づいて地図を表示する処理を実行する。また、必要に応じて目的地までの経路案内処理を実行する。
【００２１】
メモリ１４は、ＲＯＭ（Read Only Memory）またはＲＡＭ（Random Access Memory）等の半導体記憶装置によって構成され、ＣＰＵ１１が実行するプログラム等を格納するとともに、ＣＰＵ１１が実行する対象となるプログラムまたはデータを一時的に記憶する。
【００２２】
ビデオメモリ１５は、グラフィックプロセッサ１２の処理対象となるコマンドリストが一時的に格納される半導体記憶装置である。
【００２３】
ＬＣＤ１６は、グラフィックプロセッサ１２によって生成された映像信号を入力して、対応する画像を表示出力する。
【００２４】
ＧＰＳレシーバ１７は、複数のＧＳＰ衛星（不図示）からの電波をアンテナ１７ａで受信し、当該電波に重畳されている時刻情報を抽出し、それぞれの電波の到達時間差から現在位置を特定し、位置情報（例えば、緯度情報および経度情報）としてＣＰＵ１１に供給する。
【００２５】
ジャイロ装置１８は、車両が方向転換した場合等において、各制御軸に対する車両の角速度を検出して、ＣＰＵ１１に供給する。
【００２６】
センサ群１９は、例えば、車速を検出するための車速センサ、サイドブレーキが操作されたことを検出するサイドブレーキセンサ等を有している。
【００２７】
入力装置２０は、例えば、ＬＣＤ１６の表示部に設けられたタッチパネル、ＬＣＤ１６の表示部の周辺部に設けられた操作ボタン、および、リモートコントローラ等である。
【００２８】
ＶＩＣＳレシーバ２１は、アンテナ２１ａによって捕捉されたＦＭ（Frequency Modulation）多重放送の電波に重畳されている渋滞または交通規制を示すＶＩＣＳ情報を取り出して、ＣＰＵ１１に供給する。
【００２９】
つぎに、本発明の動作について説明する。
【００３０】
図２〜５は、本発明の実施の形態に係るナビゲーション装置１０の動作を説明するためのフローチャートである。これらのフローチャートに示す処理は、図１に示す制御プログラム１３ｂに基づいて実行される。なお、図２は、メインのフローチャートであり、図３〜５はステップＳ２１、ステップＳ２３およびステップＳ２５の処理（サブルーチン処理）の詳細を示すフローチャートである。図２に示すメインのフローチャートが開始されると、以下のステップが実行される。
【００３１】
ステップＳ１０：ＣＰＵ１１は、入力装置２０から目的地に関する情報の入力を受ける。なお、目的地に関する情報としては、例えば、目的地の名称、住所、電話番号、および、郵便番号等がある。ＣＰＵ１１は、目的地に関するこれらの情報の入力を受け、地図情報ＤＢ１３ａを検索して、目的地の緯度および経度を特定する。
【００３２】
ステップＳ１１：ＣＰＵ１１は、通過点に関する情報の入力を受ける。ここで、通過点とは、目的地までの経路上において、車両がその近傍を通過するか、または、立ち寄る場所を示し、必ずしもその場所に停車することを要しない。なお、通過点に関する情報としては、前述の目的地と同様に、例えば、通過点の名称、住所、電話番号、および、郵便番号等がある。ＣＰＵ１１は、通過点に関するこれらの情報の入力を受け、地図情報ＤＢ１３ａを検索して、通過点の緯度および経度を特定する。
【００３３】
ステップＳ１２：ＣＰＵ１１は、現在地を特定する。すなわち、ＣＰＵ１１は、ＧＰＳレシーバ１７の出力を参照して自車の現在地の緯度および経度を特定する。
【００３４】
ステップＳ１３：ＣＰＵ１１は、現在地から通過点までの経路を探索する。すなわち、ＣＰＵ１１は、ステップＳ１２で特定された現在地からステップＳ１１で入力された通過点までの経路を地図情報ＤＢ１３ａを参照して探索する。探索の結果として、ＣＰＵ１１は、現在地から目的地に至る複数の経路を得る。なお、このとき、ＣＰＵ１１は、得られた経路のそれぞれについて地図情報ＤＢ１３ａを参照して走行距離を求めるとともに、ＶＩＣＳ情報を参照して渋滞状況を取得し、これらに基づいて予想走行時間を計算する。
【００３５】
ステップＳ１４：ＣＰＵ１１は、通過点から目的地までの経路を探索する。すなわち、ＣＰＵ１１は、ステップＳ１１で入力された通過点からステップＳ１０で入力された目的地までの経路を地図情報ＤＢ１３ａを参照して探索する。探索の結果として、ＣＰＵ１１は、通過点から目的地に至る複数の経路を得る。なお、このとき、ＣＰＵ１１は、前述の場合と同様に、得られた経路のそれぞれについて地図情報ＤＢ１３ａを参照して走行距離を求めるとともに、ＶＩＣＳ情報を参照して渋滞状況を取得し、これらに基づいて予想走行時間を計算する。
【００３６】
ステップＳ１５：ＣＰＵ１１は、道路状況を考慮して経路を絞り込む。すなわち、ＣＰＵ１１は、ステップＳ１３で探索して得られた現在地から通過点までの経路の候補と、ステップＳ１４で探索して得られた通過点から目的地までの経路の候補のすべての組み合わせについて、通過点の交通状況（例えば、一方通行、右折禁止、左折禁止等）を考慮して、組み合わせ不能な経路については除外して、候補の絞り込みを行う。例えば、図６において、通過点をＰとし、この通過点Ｐに接続される道路がａ〜ｆであるとし、車両が図の下から上に向かう場合を考える。このとき、例えば、道路ｃから道路ｅおよび道路ｃから道路ｆには交通規制等により進入することができないとすると、道路ｃから道路ｅおよび道路ｃから道路ｆへ進入する経路は候補から除外されることになる。
【００３７】
ステップＳ１６：ＣＰＵ１１は、ステップＳ１５において絞り込まれた経路の候補をＬＣＤ１６に一覧表示する。このとき、それぞれの経路についての走行距離と、予想走行時間とを併せて表示する。なお、走行距離または予想走行距離が少ない順に経路をソートして表示してもよい。
【００３８】
ステップＳ１７：ＣＰＵ１１は、ユーザが入力装置２０を操作して、ステップＳ１６で一覧表示された経路のいずれかを選択したか否かを判定し、選択した場合にはステップＳ１８に進み、それ以外の場合には同様の処理を繰り返す。
【００３９】
ステップＳ１８：ＣＰＵ１１は、ステップＳ１７において選択された経路の案内を開始する。すなわち、ＣＰＵ１１は、ＧＰＳレシーバ１７からの出力により自車位置を特定し、ステップＳ１７において選択された経路上に自車位置を重ねて表示し、自車が経路に沿って走行するように音声および表示画面により案内を行う。
【００４０】
ステップＳ１９：ＣＰＵ１１は、経路の再探索の必要が生じたか否かを判定し、再探索の必要が生じたと判断した場合にはステップＳ２０に進み、それ以外の場合には同様の処理を繰り返す。すなわち、ＣＰＵ１１は、後述するように、自動再探索、手動再探索、迂回再探索の必要が生じた場合にはステップＳ２０に進む。
【００４１】
ステップＳ２０：ＣＰＵ１１は、自動再探索の必要が生じたか否かを判定し、自動再探索の必要が生じた場合にはステップＳ２１に進み、それ以外の場合にはステップＳ２２に進む。ここで、自動再探索とは、自車がステップＳ１７において選択された経路を外れた場合に、もとの経路に戻るために自動的に実行される探索処理をいう。
【００４２】
ステップＳ２１：ＣＰＵ１１は、自動再探索処理を実行する。なお、この処理の詳細については図３を参照して後述する。
【００４３】
ステップＳ２２：ＣＰＵ１１は、手動再探索の必要が生じたか否かを判定し、手動再探索の必要が生じた場合にはステップＳ２３に進み、それ以外の場合にはステップＳ２４に進む。ここで、手動再探索とは、ユーザが入力装置２０を操作して経路を再度探索することを要求した場合に実行される探索処理をいう。
【００４４】
ステップＳ２３：ＣＰＵ１１は、手動再探索処理を実行する。なお、この処理の詳細については図４を参照して後述する。
【００４５】
ステップＳ２４：ＣＰＵ１１は、迂回再探索の必要が生じたか否かを判定し、迂回再探索の必要が生じた場合にはステップＳ２５に進み、それ以外の場合にはステップＳ２６に進む。ここで、迂回再探索とは、現在案内中の経路において交通渋滞が発生したり、交通規制がなされたりした場合に、当該部分を迂回するために実行される経路の探索処理をいう。
【００４６】
ステップＳ２５：ＣＰＵ１１は、迂回再探索処理を実行する。なお、この処理の詳細については図５を参照して後述する。
【００４７】
ステップＳ２６：ＣＰＵ１１は、処理を完了するか否かを判定し、完了しないと判定した場合にはステップＳ１８に戻って同様の処理を繰り返し、それ以外の場合には処理を完了する。
【００４８】
つぎに、図３を参照して、図２に示すステップＳ２１の処理の詳細について説明する。このフローチャートの処理が開始されると、以下のステップが実行される。
【００４９】
ステップＳ３０：ＣＰＵ１１は、ＧＰＳレシーバ１７の出力を参照して自車位置を取得する。
【００５０】
ステップＳ３１：ＣＰＵ１１は、ステップＳ３０で取得した自車位置と、現在案内中の経路上の通過点とを比較し、自車が通過点をすでに通過したか否かを判定し、通過したと判断した場合にはステップＳ３７に進み、それ以外の場合にはステップＳ３２に進む。なお、通過点を通過したか否かは、通過点またはその近傍を自車が通過したか否かによって判断し、必ずしも停車したことを条件としなくてもよい。
【００５１】
ステップＳ３２：ＣＰＵ１１は、自車位置から通過点までの距離Ｌを計算する。すなわち、ＣＰＵ１１は、ステップＳ３０で取得した自車の緯度および経度と、通過点の緯度および経度とからこれらの間の直線距離Ｌを算出する。
【００５２】
ステップＳ３３：ＣＰＵ１１は、変数Ｔｈ１に所定の閾値を代入する。例えば、ＣＰＵ１１は、閾値として“３００ｍ”を変数Ｔｈ１に代入する。
【００５３】
ステップＳ３４：ＣＰＵ１１は、距離Ｌが閾値Ｔｈ１以上である場合にはステップＳ３５に進み、それ以外の場合にはステップＳ３７に進む。
【００５４】
ステップＳ３５：ＣＰＵ１１は、通過点までの経路を再探索する。具体的には、自車が案内中の経路から外れた状態であるので、ＣＰＵ１１は、もとの経路に復帰するための経路を探索する。
【００５５】
ステップＳ３６：ＣＰＵ１１は、ステップＳ３５の探索処理の結果、自車が案内中の経路（ステップＳ１７で選択された経路）に、通過点に至るまでに復帰できるか否かを判定し、復帰できる場合にはステップＳ３８に進み、それ以外の場合にはステップＳ３７に進む。
【００５６】
ステップＳ３７：ＣＰＵ１１は、通過点に至るまでに、案内中の経路に復帰できないことから、当該通過点を通過して目的地に至るまでの経路を再度探索する。具体的には、案内中の経路に、通過点に至るまでに復帰できない場合には、通過点への進入経路が当初の想定とは異なってしまうため、通過点の進入経路を考慮して、当該通過点を通過して目的地に至るまでの経路を再度探索しなおす。なお、目的地までの経路を探索する処理としては、図２に示すステップＳ１２〜Ｓ１５までの処理を実行してそれぞれの経路についてコスト計算を行い、最もコストが低い経路を選択する。
【００５７】
ステップＳ３８：ＣＰＵ１１は、ステップＳ３５またはステップＳ３７の探索によって得られた経路をＬＣＤ１６に表示し、もとの処理に復帰する。
【００５８】
以上の処理によれば、自車が案内中の経路を外れてしまった場合において、自車から通過点までの距離Ｌが閾値Ｔｈ１未満である場合には、通過点までに案内中の経路に復帰できる可能性が低いことから、通過点の交通状況を考慮して、当該通過点を通過して目的地に至るまでの経路が再探索され、Ｔｈ１以上である場合には、現在案内中の経路に復帰できる可能性が高いことから通過点までの経路が探索される。なお、距離ＬがＴｈ１以上である場合であっても、経路探索の結果、現在案内中の経路に戻れない場合には、当該通過点を通過して目的地に至るまでの経路が再度探索されることになる。この結果、距離ＬがＴｈ１以上である場合には通過点までの経路検索が行われるので、常に目的地までの探索が行われる従来技術に比較して、探索のコストを削減することができる。
【００５９】
具体的には、図７（Ａ）において、自車がｙであり、通過点がＰであり、ハッチングが施された経路（経路ａ−ｃ−Ｐ−ｉ）が現在案内中の経路であり、通過点Ｐへｇから進入した場合には右折禁止であるとする。この場合に、図７（Ｂ）に示すように、自車ｙが案内中の経路を外れてしまったことを考えると、通過点Ｐから自車までの距離Ｌが閾値Ｔｈ１よりも小さい場合には、通過点における交通状況を考慮しつつ当該通過点を通過して目的地に至るまでの経路の再探索が実行され、図７（Ｂ）にハッチングを施した経路が選択されることになる。この例では、通過点Ｐは右折禁止であることから、通過点Ｐを直進する経路（経路ｄ−ｇ−Ｐ−ｅ−ｈ）が選択されることになる。
【００６０】
一方、通過点Ｐから自車までの距離Ｌが閾値Ｔｈ１以上である場合には、案内中の経路に復帰できる可能性が高いので、通過点Ｐまでの経路を再探索する。その結果、例えば、図８（Ａ）にハッチングを施して示す経路（経路ｂ−ｄ−ｃ−Ｐ−ｉ）が選択されることになる。なお、この例では、経路ｄ−ｃを経由してもとの経路に復帰しているが、場合によってはＬ≧Ｔｈ１を満たしていても、もとの経路に復帰できない場合がある。その場合には、通過点の交通状況を考慮しつつ、当該通過点を通過して目的地に至るまでの経路を再度探索する。これにより、通過点Ｐにおける進入方向が不適切になることを防止できる。
【００６１】
つぎに、図４を参照して、図２に示すステップＳ２３の処理の詳細について説明する。このフローチャートの処理が開始されると、以下のステップが実行される。
【００６２】
ステップＳ５０：ＣＰＵ１１は、ＧＰＳレシーバ１７の出力を参照して自車位置を取得する。
【００６３】
ステップＳ５１：ＣＰＵ１１は、ステップＳ５０で取得した自車位置と、現在案内中の経路上の通過点とを比較し、自車が通過点をすでに通過したか否かを判定し、通過したと判断した場合にはステップＳ５９に進み、それ以外の場合にはステップＳ５２に進む。なお、通過点を通過したか否かは、前述の場合と同様に、通過点またはその近傍を自車が通過したか否かによって判断し、必ずしも停車したことを条件としなくてもよい。
【００６４】
ステップＳ５２：ＣＰＵ１１は、自車位置から通過点までの距離Ｌを計算する。すなわち、ＣＰＵ１１は、ステップＳ５０で取得した自車の緯度および経度と、通過点の緯度および経度とからこれらの間の直線距離Ｌを算出する。
【００６５】
ステップＳ５３：ＣＰＵ１１は、変数Ｔｈ２に所定の閾値を代入する。例えば、ＣＰＵ１１は、閾値として“５００ｍ”を変数Ｔｈ２に代入する。なお、閾値Ｔｈ２と閾値Ｔｈ１とは、例えば、Ｔｈ２＞Ｔｈ１となるように設定することができる。すなわち、手動探索の場合には、現在案内中の経路を一旦外れることを前提としているので、一旦それてから案内中の経路に再度戻るためには、より多くの距離（または時間）を要するので、自動探索の場合よりも閾値を大きく設定する。
【００６６】
ステップＳ５４：ＣＰＵ１１は、距離Ｌが閾値Ｔｈ２以上である場合にはステップＳ５５に進み、それ以外の場合にはステップＳ５９に進む。
【００６７】
ステップＳ５５：ＣＰＵ１１は、通過点までの他の経路を再探索する。具体的には、ユーザから現在案内中の経路以外の他の経路を探索する指示がなされているので、ＣＰＵ１１は、現在案内中の経路以外の他の経路を探索する。
【００６８】
ステップＳ５６：ＣＰＵ１１は、ステップＳ５５における探索によって得られた経路のそれぞれについてコスト計算を行う。すなわち、ＣＰＵ１１は、各経路の走行距離を計算するとともに、ＶＩＣＳレシーバ２１から渋滞情報を取得し、得られたこれらの情報に基づいて重み付けを行い、各経路のコスト（例えば、予想走行時間）を計算する。
【００６９】
ステップＳ５７：ＣＰＵ１１は、ステップＳ５６において計算されたコストに基づいて、最小のコストの経路を選択する。
【００７０】
ステップＳ５８：ＣＰＵ１１は、ステップＳ５７の処理において選択された経路を走行した場合に、通過点に至るまでに案内中の経路に復帰できるか否かを判定し、復帰できる場合にはステップＳ６０に進み、それ以外の場合にはステップＳ５９に進む。
【００７１】
ステップＳ５９：ＣＰＵ１１は、案内中の経路に復帰できないことから、通過点の交通状況を考慮しつつ、当該通過点を通過して目的地に至るまでの経路を再探索する。具体的には、案内中の経路に復帰できない場合には、通過点への進入経路が当初の想定とは異なってしまうため、これを防止するために、当該通過点を通過して目的地に至るまでの経路を再度探索しなおす処理を実行する。
【００７２】
ステップＳ６０：ＣＰＵ１１は、ステップＳ５７またはステップＳ５９において探索された経路をＬＣＤ１６に表示し、もとの処理に復帰する。
【００７３】
以上の処理によれば、手動による再探索の要求がなされた場合において、自車から通過点までの距離Ｌが閾値Ｔｈ２未満である場合には、当該通過点を通過して目的地に至るまでの経路が再探索され、Ｔｈ２以上である場合には通過点までの経路が探索される。
【００７４】
具体的には、図８（Ｂ）に示す状態において、再探索の要求が手動によりなされた場合に、Ｌ≧Ｔｈ２であるときは、通過点までの経路が再度探索され、例えば、図８（Ｂ）に示すハッチングを施した経路（経路ａ−ｊ−ｋ−ｄ−ｃ−Ｐ−ｉ）が選択されることになる。なお、図８（Ｂ）の例では、経路ｄ−ｃを経由して、現在案内中の経路に復帰できるが、探索の結果、現在案内中の経路に復帰できないことが判明した場合（例えば、経路ｄ−ｃが存在しない場合）には、当該通過点を通過して目的地に至るまでの経路が再度探索されることになる。
【００７５】
一方、図９（Ａ）に示すように、Ｌ＜Ｔｈ２である場合に手動による要求がなされたとすると、目的地までの経路が再度探索されることになる。すなわち、このような場合には、現在案内中の経路に戻れる可能性が低く、通過点Ｐへの進入方向が当初予想されたものとは異なることになることから、通過点における交通状況を考慮しつつ、当該通過点を通過して目的地に至るまでの経路が再探索されることになる。
【００７６】
なお、以上の実施の形態では、ステップＳ５７で選択された経路のみについて、現在案内中の経路に復帰可能か否かを判断し、復帰できない場合には目的地までの経路を再探索するようにしたが、ステップＳ５７で選択された経路以外の他の経路についても復帰可能か否かを判断し、それでも復帰できない場合に限って、当該通過点を通過して目的地に至るまでの経路を探索するようにしてもよい。
【００７７】
つぎに、図５を参照して、図２に示すステップＳ２５の処理の詳細について説明する。このフローチャートの処理が開始されると、以下のステップが実行される。
【００７８】
ステップＳ７０：ＣＰＵ１１は、ＧＰＳレシーバ１７の出力を参照して自車位置を取得する。
【００７９】
ステップＳ７１：ＣＰＵ１１は、ステップＳ７０で取得した自車位置と、現在案内中の経路上の通過点とを比較し、自車が通過点をすでに通過したか否かを判定し、通過したと判断した場合にはステップＳ７９に進み、それ以外の場合にはステップＳ７２に進む。なお、通過点を通過したか否かは、前述の場合と同様に、通過点またはその近傍を自車が通過したか否かによって判断し、必ずしも停車したことを条件としなくてもよい。
【００８０】
ステップＳ７２：ＣＰＵ１１は、自車位置から通過点までの距離Ｌを計算する。すなわち、ＣＰＵ１１は、ステップＳ７０で取得した自車の緯度および経度と、通過点の緯度および経度とからこれらの間の直線距離Ｌを算出する。
【００８１】
ステップＳ７３：ＣＰＵ１１は、変数Ｔｈ３に所定の閾値を代入する。例えば、ＣＰＵ１１は、閾値として“５００ｍ”を変数Ｔｈ３に代入する。なお、閾値Ｔｈ３と閾値Ｔｈ１とは、前述のＴｈ２の場合と同様に、例えば、Ｔｈ３＞Ｔｈ１となるように設定することができる。すなわち、迂回探索の場合には、現在案内中の経路を一旦外れて、案内中の経路に再度戻るためには、より多くの距離（または時間）を要するので、自動探索の場合よりも閾値を大きく設定する。
【００８２】
ステップＳ７４：ＣＰＵ１１は、距離Ｌが閾値Ｔｈ３以上である場合にはステップＳ７５に進み、それ以外の場合にはステップＳ７９に進む。
【００８３】
ステップＳ７５：ＣＰＵ１１は、通過点までの経路を再探索する。このとき、ＣＰＵ１１は、現在案内中の経路についても探索の対象に含めて再探索処理を実行する。すなわち、現在走行中の経路の通過点に至るまでに渋滞等が発生している場合には、これを迂回することが望ましいが、現在案内中の経路の方が予想走行時間が短い場合には、これを選択肢とすることも可能であるため、現在案内中の経路も候補に含めて探索処理を実行する。
【００８４】
ステップＳ７６：ＣＰＵ１１は、ステップＳ７５における探索によって得られた経路のそれぞれについてコスト計算を行う。すなわち、ＣＰＵ１１は、各経路の走行距離を計算するとともに、渋滞情報を取得し、得られたこれらに基づいて重み付けを行って各経路のコスト（例えば、予想走行時間）を計算する。ここで、コスト計算を行う対象としては、前述のように、現在案内中の経路についても含めるものとする。渋滞が発生していても、現在案内中の経路が最もコストが低い場合には、迂回しないためである。
【００８５】
ステップＳ７７：ＣＰＵ１１は、ステップＳ７６において計算されたコストに基づいて、最小のコストの経路を選択する。なお、前述のように、現在案内中の経路が最もコストが低い場合には、現在案内中の経路が選択される。なお、経路を自動的に選択するのではなく、候補の一覧を表示してユーザに選択させることも可能である。
【００８６】
ステップＳ７８：ＣＰＵ１１は、ステップＳ７７の処理において選択された経路を走行した場合に、通過点に至るまでに案内中の経路に復帰できるか否かを判定し、復帰できる場合にはステップＳ８０に進み、それ以外の場合にはステップＳ７９に進む。
【００８７】
ステップＳ７９：ＣＰＵ１１は、現在案内中の経路に復帰できないことから、通過点の交通状況を考慮しつつ、当該通過点を通過して目的地に至るまでの経路を再探索する。具体的には、案内中の経路に復帰できない場合には、通過点への進入方向が適正でなくなる可能性があるため、これを防止するために当該通過点を通過して目的地に至るまでの経路を再度探索しなおす処理を実行する。
【００８８】
ステップＳ８０：ＣＰＵ１１は、ステップＳ７７またはステップＳ７９において探索された経路をＬＣＤ１６に表示し、もとの処理に復帰する。
【００８９】
以上の処理によれば、通過点に至るまでの経路上において渋滞等が発生し、迂回のための再探索の必要性が生じた場合で、自車から通過点までの距離Ｌが閾値Ｔｈ３未満であるときには、通過点の交通状況等を考慮しつつ当該通過点を通過して目的地に至るまでの経路が再探索され、Ｔｈ３以上である場合には通過点までの経路が探索される。なお、距離ＬがＴｈ３以上である場合であっても、現在案内中の経路に復帰できない場合には、当該通過点を通過して目的地に至るまでの経路が再度探索される。
【００９０】
具体的には、図９（Ｂ）に示す状態において、迂回再探索の要求がなされた場合に、Ｌ≧Ｔｈ３であるとすると、通過点までの経路が再度探索され、例えば、図９（Ｂ）に示すハッチングを施した経路（交通渋滞を迂回する経路）が選択されることになる。なお、この場合において、探索の結果、現在案内中の経路に復帰できないことが判明した場合には、当該通過点を通過して目的地に至るまでの経路が再度探索されることになる。
【００９１】
また、図１０（Ａ）に示す状態において、迂回再探索の要求がなされた場合に、Ｌ＜Ｔｈ３であるとすると、当該通過点を通過して目的地に至るまでの経路が再度探索されることになる。すなわち、このような場合には、もとの経路に戻れる可能性が低いことから、当該通過点を通過して目的地に至るまでの経路が再探索されることになる。この例では、新たな案内経路として経路（ｃ−ｄ−ｇ−Ｐ−ｅ−ｈ）が選択されている。なお、この例では、渋滞を回避するルートが表示されているが、例えば、渋滞を回避する経路よりも他の経路の方がコストが低い場合には、例えば、図１０（Ｂ）においてハッチングを施した経路（ｃ−Ｐ−ｉ）が選択されることになる。
【００９２】
なお、以上の実施の形態では、ステップＳ７７で選択された経路（コストが最小の経路）のみについて、現在案内中の経路に復帰可能か否かを判断し、復帰できない場合には目的地までの経路を再探索するようにしたが、ステップＳ７７で選択された経路以外の他の経路についても復帰可能か否かを判断し、それでも復帰できない場合に限って、目的地までの経路を探索するようにしてもよい。
【００９３】
以上に説明したように、本発明の実施の形態に係るナビゲーション装置によれば、再探索の要求がなされた場合であって、通過点までの距離Ｌが所定の閾値以上である場合には、現在案内中の経路に復帰できる可能性が高いので、通過点までの経路探索を実行する。また、それ以外の場合には、現在案内中の経路に復帰できる可能性が低く、通過点への進入方向が適正でなくなる可能性があることから、通過点の交通状況を考慮しつつ、当該通過点を通過して目的地に至るまでの経路を再探索する。このため、再探索の要求がなされた場合に、常に目的地までの経路探索を行う従来技術に比較して、探索処理のコストを減少させることが可能になる。
【００９４】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００９５】
例えば、以上の実施の形態では、通過点を１カ所設定する場合を例に挙げて説明したが、２カ所以上設定してもよい。その場合、現在地と通過点の間の経路を走行中である場合には、「通過点を通過して目的地に至るまでの探索処理」は、「次の通過点を通過してその次の通過点に至るまでの探索処理」とすればよい。
【００９６】
また、「通過点を通過して目的地に至るまでの探索処理」および「次の通過点を通過してその次の通過点に至るまでの探索処理」において、交通状況または交通規制等によって、通過点（または次の通過点）を通過する経路が存在しない場合には、通過点（または次の通過点）の近傍を通過する経路を探索するようにしてもよい。例えば、通過点から１００ｍ以内に存在する経路を探索の対象とすることも可能である。なお、そのような場合には、ユーザが予め通過点として設定した地点を通過することができなくなることから、ＬＣＤ１６にその旨を表示し、確認を行った後で、探索を行うようにすることができる。
【００９７】
また、上述の実施の形態では、図３〜５の処理における閾値Ｔｈ１〜Ｔｈ３としてそれぞれ異なる値を用いるようにしたが、これらを同じ値とすることも可能である。
【００９８】
また、上述の実施の形態では、図３〜５の処理における閾値Ｔｈ１〜Ｔｈ３として、固定値を用いるようにしたが、これらを車速に応じて増減するようにしてもよい。例えば、車速が速い場合には閾値を大きくする。このようにすれば、現在案内中の経路に復帰できる経路が存在する場合であっても、車速が速い場合には通過点に到達するまでに、方向転換をすることが困難であることがあるので、閾値を大きく設定してそのような事態を回避する。
【００９９】
また、地図情報ＤＢ１３ａおよび制御プログラム１３ｂをＨＤＤ１３に格納するようにしたが、これらの双方または一方を他の記録媒体（例えば、ＤＶＤ（Digital Versatile Disk）等）に格納するようにしてもよい。
【０１００】
なお、上記の処理機能は、例えば、図１に示すようなコンピュータによって実現される。その場合、ナビゲーション装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical Disk）などがある。
【０１０１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【産業上の利用可能性】
【０１０３】
本発明は、地図を表示して目的地までの経路を案内するナビゲーション装置に利用することができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態に係るナビゲーション装置の構成例を示すブロック図である。
【図２】図１に示す実施の形態に係るナビゲーション装置おいて実行される処理の流れの一例を説明するフローチャートである。
【図３】図２に示す自動再探索処理の詳細を説明するためのフローチャートである。
【図４】図２に示す手動再探索処理の詳細を説明するためのフローチャートである。
【図５】図２に示す迂回再探索処理の詳細を説明するためのフローチャートである。
【図６】図２に示す処理において、経路の候補を絞り込むための処理の概要を説明するための図である。
【図７】再探索の結果選択される経路の一例を示す図であり、（Ａ）は現在案内中の経路を示す図であり、（Ｂ）は図３に示す処理においてＬ＜Ｔｈ１である場合に再探索がなされた場合の経路を示す図である。
【図８】再探索の結果選択される経路の一例を示す図であり、（Ａ）は図３に示す処理においてＬ≧Ｔｈ１である場合に再探索がなされた場合の経路を示す図であり、（Ｂ）は図４に示す処理においてＬ≧Ｔｈ２である場合に再探索がなされた場合の経路を示す図である。
【図９】再探索の結果選択される経路の一例を示す図であり、（Ａ）は図４に示す処理においてＬ＜Ｔｈ２である場合に再探索がなされた場合の経路を示す図であり、（Ｂ）は図５に示す処理においてＬ≧Ｔｈ３である場合に再探索がなされた場合の経路を示す図である。
【図１０】再探索の結果選択される経路の一例を示す図であり、（Ａ）は図５に示す処理においてＬ≧Ｔｈ３である場合に再探索がなされた場合の経路を示す図であり、（Ｂ）は図５に示す処理においてＬ≧Ｔｈ３である場合に再探索がなされた場合の他の経路を示す図である。
【符号の説明】
【０１０５】
１０  ナビゲーション装置
１１  ＣＰＵ（経路探索手段の一部、再探索手段の一部）
１３  ＨＤＤ（経路探索手段の一部、再探索手段の一部）
２０  入力装置（通過点設定手段）
【図１】
2006125851.tif 000003
【図２】
2006125851.tif 000004
【図３】
2006125851.tif 000005
【図４】
2006125851.tif 000006
【図５】
2006125851.tif 000007
【図６】
2006125851.tif 000008
【図７】
2006125851.tif 000009
【図８】
2006125851.tif 000010
【図９】
2006125851.tif 000011
【図１０】
2006125851.tif 000012