以下、本発明の実施の形態に係る案内経路生成装置および案内経路生成方法を、図面に基づいて説明する。案内経路生成装置は、カーナビゲーションシステムの一部として説明する。案内経路生成方法は、カーナビゲーションシステムの動作の一部として説明する。
図1は、本発明の実施の形態に係るカーナビゲーションシステムを示す構成図である。カーナビゲーションシステムは、自動車などの車両とともに用いられるものである。カーナビゲーションシステムは、目的地などが選択された場合に、現在地などから目的地などへの車両の案内経路を生成する。カーナビゲーションシステムは、生成した案内経路で車両が移動するように経路を案内する。
カーナビゲーションシステムは、メインコンピュータ1を有する。メインコンピュータ1は、プログラムを実行するCPU(中央処理装置)2と、CPU2が実行しているプログラムやデータを記憶するRAM(ランダムアクセスメモリ)3と、周辺機器が接続される入出力ポート4と、これらを接続するシステムバス5と、を有する。
入出力ポート4には、表示手段としての液晶デバイス11と、タッチパネル12と、GPS(Global Positioning System)受信機13と、VICS(Vehicle Information and Communication System)受信機14と、記憶手段および規制情報記憶手段としての記憶デバイス15と、が接続される。
液晶デバイス11は、液晶ディスプレイパネルなどといった表示部を有する。液晶デバイス11は、入出力ポート4から表示データが入力されると、その表示データに基づく画像を表示部に表示する。
タッチパネル12は、透明なスクリーンを有する。透明なスクリーンは、液晶デバイス11の表示部に重ねて配設される。タッチパネル12は、透明なスクリーン内の押圧された位置を検知し、その検出した位置を示す位置データを入出力ポート4へ出力する。
GPS受信機13は、GPS衛星からのGPS電波を受信する。GPS電波は、GPS衛星の位置情報と時間情報とを有する。GPS受信機13は、たとえば3つ以上のGPS衛星からのGPS電波を受信すると、それら複数のGPS衛星に対するGPS受信機13の相対位置を演算し、その相対位置に基づいてGPS受信機13の地球上の位置情報を生成する。地球上の位置情報は、たとえば世界測地系での緯度経度の値として表現される。GPS受信機13は、生成したGPS受信機13の位置情報を入出力ポート4へ出力する。
VICS受信機14は、電波ビーコン、光ビーコンあるいはFM多重放送により送信される交通情報を受信する。交通情報には、道路の混雑度を示す渋滞情報や、道路の通行止め時間帯などを示す交通規制情報が含まれる。VICS受信機14は、受信した交通情報を入出力ポート4へ出力する。
記憶デバイス15は、たとえばハードディスクドライブなどにより構成される。図2は、図1中の記憶デバイス15が記憶する内容を示す説明図である。記憶デバイス15は、ナビゲーションプログラム21と、ナビゲーションデータとを記憶する。ナビゲーションデータは、地点データ群23と、地図データ24と、リンクデータ群25と、ノードデータ群26と、コスト係数リスト27と、を有する。
なお、記憶デバイス15に記憶されるナビゲーションプログラム21とナビゲーションデータとは、たとえばDVD(デジタル・バーサタイル・ディスク)−ROM(リード・オンリィ・メモリ)などのコンピュータ読み取り可能な記録媒体や伝送媒体を介して、記憶デバイス15に保存されるようにしてもよい。
また、ナビゲーションプログラム21とナビゲーションデータとは、コンピュータ読み取り可能な記録媒体に記憶されていてもよい。この場合、記憶デバイス15は、この記録媒体と、記録媒体のデータを読み取るドライブとにより構成される。
ナビゲーションデータの中の地点データ群23は、複数のレコードを有する。地点データ群23の各レコードは、1つの地点のデータを有する。1つの地点のデータには、その地点にある建物、店舗、施設などの名称、その地点の位置情報などが含まれる。地点データ群23に記憶される複数の地点は、目的地、経由地あるいは出発地などとして選択可能な地点である。
地図データ24は、液晶ディスプレイに地図を表示するために使用するデータである。このような地図データ24としては、たとえば、二次元あるいは三次元のベクトル地図データ24がある。ベクトル地図データ24は、地図の背景画像となる背景データと、その背景画像の上に描画されるベクトルデータと、を有する。背景画像は、たとえば公園、河川、池などを色分けした画像データである。ベクトルデータは、たとえば道路毎の描画データである。なお、地図データ24は、この他にも、ランドマーク用の三次元のポリゴンデータや、各地点に対応付けられたアイコンデータなどを備えていてもよい。また、地図データ24は、地図データ24に基づいて表示される地図上の各地点の位置を特定するための情報を有する。
リンクデータ群25およびノードデータ群26は、カーナビゲーションシステムが、車両の経路探索や経路案内において使用するデータである。車両は、道路を移動する。道路には、交差点などの道路の分岐点がある。ナビゲーションシステムでは、この道路の分岐点などをノードとして取り扱う。2つの分岐点の間の道路などをリンクとして取り扱う。リンクの両端は、ノードに接続される。ノードには、1つ以上のリンクが接続される。このように道路は、複数のリンクおよび複数のノードとしてデータ化される。
リンクデータ群25は、複数のレコードを有する。リンクデータ群25の各レコードは、1つのリンクのデータを有する。各レコードは、そのリンクに関する交通規制情報や、そのリンクの距離、そのリンクを通過するコスト情報、そのリンクに固有の識別番号、そのリンクが接続されるノードの識別番号などを有する。リンクに関する交通規制情報には、たとえば、一方通行路、時間帯通行禁止、右折禁止、Uターン禁止、道幅(幅員)などの情報がある。なお、各レコードは、1つのリンクではなく、ある関連性を有する複数のリンクがまとめて対応付けられていてもよい。ある関連性を有する複数のリンクとしては、たとえば、ある番号の国道のある区間の道路に対応する複数のリンクなどがある。
ノードデータ群26は、複数のレコードを有する。ノードデータ群26の各レコードは、1つのノードのデータを有する。各レコードは、そのノードの位置情報、そのノードに関する交通規制情報、そのノードを通過するコスト情報、そのノードに固有の識別番号、そのノードに接続されるリンクの識別番号などを有する。ノードに関する交通規制情報としては、たとえば、信号機の有無、右折禁止、Uターン禁止などの情報がある。なお、各レコードは、1つのノードではなく、ある関連性を有する複数のノードがまとめて対応付けられていてもよい。ある関連性を有する複数のノードとしては、たとえば、ある番号の国道のある区間の道路の一連の交差点に対応する複数のノードなどがある。
ノードを通過するコスト情報およびリンクを通過するコスト情報は、それらの通過し易さあるいは通過し難さに応じた値を有する。これらのコスト情報は、通過し難いほど大きな値を有する。なお、コスト情報の値は、通過し易さのみに応じた値ではなく、たとえば、道路の有料/無料に応じた値、道路の走りやすさに応じた値、道路の景観の良否に応じた値、道路の交通量に応じた値、あるいはそれらを組み合わせた値などになっていてもよい。
なお、各レコードは、所定の条件に基づいて選択可能な複数のコスト情報を有するものであってもよい。また、実際に演算に使用するコスト情報そのものは、記憶デバイス15においてたとえば道路種別などと対応付けて記憶され、これらノードデータ群26およびリンクデータ群25は、レコード毎に種別の指定情報を有するデータ構造になっていてもよい。
コスト係数リスト27は、コスト計算に使用する複数の係数を有する。コスト計算に使用する係数としては、たとえば、渋滞係数がある。
渋滞係数は、渋滞している経路が劣後的に選択されるようにするための係数である。この実施の形態での渋滞係数は、1より大きい値を有する。渋滞係数は、渋滞している道路に対応するリンクおよびノードのコスト情報に乗算される。
ナビゲーションプログラム21は、CPU2に実行されることで、メインコンピュータ1に、案内経路を生成するための各種の機能と、生成した案内経路に基づいて経路案内をするための各種の機能とを実現する。
図3は、図1中のCPU2がナビゲーションプログラム21を実行することで、経路生成時に、カーナビゲーションシステムに実現される機能を示すブロック図である。図1中のCPU2がナビゲーションプログラム21を実行することで、案内経路生成部31と、案内経路確認部32と、操作判断部33と、指定道路特定手段、交点特定手段、ユーザ指定経路生成手段、更新案内経路生成手段、判断手段、警告手段、追加更新手段および指定手段としての案内経路更新部34と、が実現される。CPU2は、目的地などが選択された場合に、この機能を実現する。これらの機能が実現されることで、カーナビゲーションシステムは、現在地などから目的地などに至る案内経路を生成する。
案内経路生成部31は、経路生成データ36を用いて、案内経路データ37を生成する。案内経路生成部31は、生成した案内経路データ37を記憶デバイス15に記憶させる。
経路生成データ36は、記憶デバイス15に記憶されている。案内経路の生成時に案内経路生成部31が使用する経路生成データ36には、たとえば、現在地の位置情報41、目的地の位置情報42、コスト係数リスト27、渋滞交通規制情報43、リンクデータ群25、ノードデータ群26などが含まれる。
現在地の位置情報41は、車両の現在地を示す位置情報である。現在地の位置情報41は、GPS受信機13が出力する位置情報により更新される。なお、入出力ポート4に、車両の走行速度に応じて変化する車速パルスを出力する車速パルス発生器や、車両の姿勢(向き)に応じた姿勢信号を出力するジャイロセンサなどを接続し、これらの情報に基づいて車両の現在の位置情報を演算し、その演算した位置情報により現在地の位置情報41を更新するようにしてもよい。
目的地の位置情報42は、車両の目的地を示す位置情報である。目的地の位置情報42は、たとえば地点データ群23や地図データ24に基づいてタッチパネル12により選択された地点の位置情報で更新される。
渋滞交通規制情報43は、現在の渋滞道路や交通規制道路を示す情報である。渋滞交通規制情報43は、VICS受信機14が出力する交通情報により更新される。
案内経路生成部31により生成される案内経路データ37は、たとえば、案内経路の起点の位置情報と、案内経路の終点の位置情報と、その起点から終点までに至る案内経路としてのリンクおよびノードのリストと、を有する。リンクおよびノードのリストにおいて、各リンクおよび各ノードは、それぞれのリンクデータ群25およびノードデータ群26における識別情報により指定されている。また、複数のリンクおよびノードは、起点から終点までに至る案内経路における通過順に並べられている。
案内経路確認部32は、案内経路の確認画面の表示データを生成し、液晶デバイス11へ出力する。液晶デバイス11は、案内経路の確認画面を表示する。
操作判断部33は、液晶デバイス11の表示画面に応じたタッチパネル12に対するユーザの操作を判断する。操作判断部33は、たとえば、案内経路の確認画面に表示される後述する案内開始ボタン75に対応するタッチパネル12上の位置が操作された場合、案内開始が指示されたと判断する。操作判断部33は、たとえば、案内経路の確認画面に表示される地図上の任意の位置が操作された場合、その任意の位置がユーザにより通過を指定されたと判断する。
案内経路更新部34は、記憶デバイス15に記憶されている案内経路データ37の一部を更新して、更新案内経路データ38を生成する。案内経路更新部34は、ユーザが表示に基づいて通過を指定した地図上の位置と、リンクデータ群25およびノードデータ群26とに基づいて、ユーザが通過を指定した道路を特定し、その特定した道路を含む更新案内経路データ38を生成する。
図4は、図1中のCPU2がナビゲーションプログラム21を実行することで、経路案内時に、カーナビゲーションシステムに実現される機能を示すブロック図である。図1中のCPU2がナビゲーションプログラム21を実行することで、経路案内部51が実現される。CPU2は、案内開始が指示された場合に、この機能を実現する。この機能が実現されることで、カーナビゲーションシステムは、案内経路に基づいて目的地までの経路を案内する。
経路案内部51は、経路案内の表示画面の表示データを生成し、液晶デバイス11へ出力する。液晶デバイス11は、経路案内の表示画面を表示する。経路案内の表示画面には、車両の現在地の周辺の地図と、車両の現在地を示すマークと、その周辺の地図内の案内経路とが表示される。
次に、以上の構成を有する実施の形態に係るカーナビゲーションシステムの動作を説明する。図5(A)は、ある地域の道路地図を示す図である。図5(B)は、図5(A)の地域の道路に対応付けられるリンクおよびノードを示す図である。
図5(A)の地域には、河川と略並行に、4本の双方向通行路がある。以下、図5において上から順番に、第一の道路61、第二の道路62、第三の道路63および第四の道路64とよぶ。また、図5(A)の地域には、河川と垂直な方向に、2本の双方向通行路がある。以下、図5において左から順番に、第五の道路65および第六の道路66とよぶ。河川には、2つの橋が架けられている。第五の道路65および第六の道路66は、河川に架けられた橋の上を通過している。
図5(B)に示すように、道路と道路との交差点には、ノードが対応付けられる。図5(B)においてノードは四角形として描画されている。各道路は、2つの交差点の間毎に、リンクが対応付けられる。図5(B)においてリンクは矢線として描画されている。双方向通行路である各道路には、2つの交差点の間毎に、2つの逆向きのリンクが対応付けられる。
図5を参照しながら、案内経路の探索処理について説明する。車両の現在地が図5の左上である状態で、タッチパネル12により、第三の道路63と第四の道路64との間となる位置であって、第六の道路66に隣接する位置に目的地が選択されると、経路生成データ36に含まれる目的地の位置情報42がその選択された目的地の位置に更新される。なお、目的地などは、たとえば地点データ群23や地図データ24に基づいて選択されればよい。
目的地の位置情報42が更新されると、案内経路生成部31は、その更新された経路生成データ36を用いて、案内経路データ37の生成を開始する。具体的には、案内経路生成部31は、まず、経路生成データ36に含まれる現在地の位置情報41を、探索の起点として選択し、経路生成データ36に含まれる目的地の位置情報42を、探索の終点として選択する。
案内経路の起点および終点を選択した後、案内経路生成部31は、リンクデータ群25およびノードデータ群26を用いて、その起点から終点に至る候補経路を探索する。この候補経路は、車両が通行可能な経路である。案内経路生成部31は、リンクデータ群25およびノードデータ群26に記憶されている交通規制情報やVICS受信機14の受信情報に基づいて更新される交通規制情報を用いて、探索の起点から、車両で進行可能なリンクおよびノードを順番に通過し、探索の終点に至る経路を探索する。図5(A)に示す車両の現在地および目的地である場合、案内経路生成部31は、図5(B)に示すノードおよびリンクを用いて、探索の起点から終点に至る候補経路を探索する。
探索の起点から終点に至る経路を探索したら、案内経路生成部31は、その候補経路の通過コストを計算する。案内経路生成部31は、具体的にはたとえば、その候補経路に含まれるリンクのコストとして、リンクデータ群25およびノードデータ群26に記憶されているコスト情報を使用し、その候補経路に含まれるリンクのコストを加算して、その候補経路の通過コストとする。この他にもたとえば、案内経路生成部31は、渋滞交通規制情報43において渋滞している区間とされているリンクおよびノードについては、それらのリンクデータ群25およびノードデータ群26におけるコスト情報に、コスト係数リスト27に記憶されている渋滞係数を乗算したものを、そのコストとして使用し、そのコストを加算して、その候補経路の通過コストとする。
また、案内経路生成部31は、探索の起点から終点に至る複数の候補経路を探索する。そして、案内経路生成部31は、その探索した複数の候補経路の中から、最も通過コストが低い候補経路を案内経路として選択する。案内経路生成部31は、案内経路の案内経路データ37を記憶デバイス15に記憶させる。これにより、記憶デバイス15には、案内経路データ37が記憶される。
図5(A)において現在地から目的地に至る案内経路として、たとえば第一の道路61を図面の右側へ移動し、交差点において第六の道路66へ右折し、河川を越えてさらに直進して目的地に至る経路を生成した場合、案内経路生成部31は、図5(B)における「リンクL1→ノードN1→リンクL2→ノードN2→リンクL3→ノードN3→リンクL4→ノードN4→リンクL5」を、リンクおよびノードのリストとして含む案内経路データ37として記憶デバイス15に記憶させる。
図6は、案内経路生成部31により案内経路データ37が生成された後の案内経路の更新処理を示すフローチャートである。
記憶デバイス15に案内経路データ37が記憶されると、案内経路確認部32は、案内経路の確認画面の表示データを生成する。具体的にはたとえば、案内経路確認部32は、まず、記憶デバイス15に記憶されている地図データ24に基づいて、案内経路の全体が含まれる範囲の地図画面を生成する。この地図画面には、その表示縮尺に応じた、案内経路の周辺の道路が表示される。次に、案内経路確認部32は、その地図画面の上に、案内経路データ37に基づく案内経路と、現在地のマークと、目的地のマークとを描画する。そして、案内経路確認部32は、この生成した案内経路の確認画面の表示データを液晶デバイス11へ出力する。液晶デバイス11は、案内経路の確認画面を表示する(ステップST1)。
図7は、図1中の液晶デバイス11に表示される案内経路の確認画面の一例を示す図である。図7の案内経路の確認画面には、現在地マーク71と、目的地マーク72と、案内経路を示す太線73とが表示される。案内経路を示す太線73は、第一の道路61と、第六の道路66とに重なって描画される。案内経路を示す太線73は、現在地マーク71から始まり、目的地マーク72で終わる。
また、図7の案内経路の確認画面には、地図データ24に基づいて、表示画面の表示範囲内の地図の河川74および道路61,62,63,65,66が表示される。また、画面の右下には、案内開始ボタン75が表示される。
ユーザは、液晶デバイス11に表示されるこの案内経路の確認画面において、案内経路生成部31が生成した案内経路を確認することができる。
なお、案内経路確認部32は、図7に示す案内経路の確認画面を所定数(たとえば4つ)に分割した複数の案内経路の確認画面を生成し、これをユーザのスクロール操作などに基づいて順番に液晶デバイス11に表示させるようにしてもよい。
図7に示す案内経路の確認画面が液晶デバイス11に表示されている状態で、たとえば図8において矢印81として示すように、ユーザが指で表示されている地図中の道路(ここでは第五の道路65および第三の道路63)をなぞると、液晶デバイス11の表示部に重ねられているタッチパネル12から操作位置情報が出力される(ステップST2)。図8は、図7に示す案内経路の確認画面において、通過道路を設定するユーザ通過指定操作の仕方を説明する説明図である。
操作判断部33は、タッチパネル12からの操作位置情報と、案内経路の確認画面の表示データとに基づいて、操作された位置(図8でいえば矢印81が重なっている位置)に対応する地図上の位置情報を生成する。操作判断部33は、生成した地図上の位置情報を案内経路更新部34へ出力する。
操作判断部33から地図上の位置情報が入力されると、指定道路特定手段としての案内経路更新部34は、ユーザにより通過が指定された道路を特定する。案内経路更新部34は、液晶デバイス11に表示されている道路の中、ユーザにより通過が指定された地図上の位置に最も近い道路を、ユーザにより通過が指定された道路として特定する。具体的には、案内経路更新部34は、その地図上の位置に最も近いリンクを、ユーザが通過を指定した道路のリンクとして特定する(ステップST3)。
図8の矢印81のように、ユーザによって第五の道路65および第三の道路63とが通過道路として指定されると、案内経路更新部34は、たとえば、リンクL6と、リンクL7と、リンクL8とを、ユーザが通過を指定した道路のリンクとして特定する。
なお、この実施の形態では、案内経路更新部34は、単に、液晶デバイス11に表示されている道路の中、ユーザにより通過が指定された地図上の位置に最も近い道路を、ユーザにより通過が指定された道路として特定している。この他にもたとえば、案内経路更新部34は、案内経路生成部31により案内経路を生成するときにたとえば高速道路優先や一般道路優先などの探索条件が指定されている場合であって、そのユーザ操作位置に最も近い位置に表示されている道路から所定の範囲(たとえば1kmなど)内にその探索条件により合致する道路がある場合には、その探索条件により合致する道路を、ユーザにより通過が指定された道路として特定するようにしてもよい。また、案内経路更新部34は、ユーザにより通過が指定された地図上の位置から所定の範囲内にその探索条件に最も合致する道路を、ユーザにより通過が指定された道路として特定するようにしてもよい。
ユーザが通過を指定した道路のリンクを特定した後、交点特定手段としての案内経路更新部34は、ユーザが通過を指定した道路と、案内経路生成部31が生成した案内経路とが2箇所において交差しているか否かを、すなわち交差の有無および数を判断する(ステップST4)。図8のような通過指定がなされた場合には、リンクL6が接続されるノードN1と、リンクL8が接続されるノードN4とが、ユーザが通過を指定した道路と、案内経路生成部31が生成した案内経路とに含まれる。案内経路更新部34は、このノードN1とノードN4との2箇所において交差していると判断する。
2箇所において交差していると判断すると、案内経路更新部34は、ユーザ通過指定道路について、その2つの交点の間の区間を検証する。また、案内経路更新部34は、検証の結果に応じて必要な修正をし、これにより車両が通行可能な経路を生成する(ステップST5)。
具体的には、案内経路更新部34は、まず、案内経路データ37における起点側の交点(ここではN1)から、終点側の交点(ここではN4)に向かう順番で、特定した通過指定道路のリンクを並べて経路を生成する。図8のような通過指定がなされた場合、案内経路更新部34は、たとえば「ノードN1→リンクL6→ノードN5→リンクL7→ノードN6→リンクL8→ノードN4」という経路を生成する。以下、これをユーザ指定経路とよぶ。
特定したリンクを並べてユーザ指定経路を生成したら、案内経路更新部34は、そのユーザ指定経路のリンクおよびノードを順番に通過して、ユーザ指定経路の起点から終点に至ることができるか否かを検証する(ステップST5)。案内経路更新部34は、リンクデータ群25、ノードデータ群26および渋滞・交通規制情報43などを使用して検証する。また、案内経路更新部34は、通過できないリンクおよびノードがある場合には、その通過できないリンクおよびノードを、通過できるリンクおよびノードに置き換える処理を実行する。
ユーザ指定経路の検証処理において、案内経路更新部34は、まず、ユーザ指定経路の起点側から1つずつ順番に、リンクの通行可能性を判断する。「ノードN1→リンクL6→ノードN5→リンクL7→ノードN6→リンクL8→ノードN4」というユーザ指定経路である場合、案内経路更新部34は、その最初のリンクであるリンクL6の向きがノードN1からノードN5に向かう向きであるか否かを判断する。リンクL6は、ノードN1からノードN5に向かっている。したがって、案内経路更新部34は、リンクデータ群36などを参照して、リンクL6の向きがノードN1からノードN5に向かう向きであると判断する。
ユーザ指定経路においてリンクL6の次のリンクは、リンクL7である。リンクL7は、ノードN6からノードN5に向かっている。したがって、案内経路更新部34は、リンクデータ群36などを参照し、リンクL7の向きがノードN5からノードN6に向かう向きではないと判断する。リンクがユーザ指定経路の起点から終点に向かう向きではないと判断すると、案内経路更新部34は、そのリンクの置き換え処理を開始する。
リンクの置き換え処理において、案内経路更新部34は、まず、その通行可能ではないと判断したリンクと同一の道路において逆向きのリンクの有無を確認する。リンクL7には、同一の道路の逆向きのリンクL9がある。したがって、案内経路更新部34は、リンクL7をリンクL9に置き換える。ユーザ指定経路は、「ノードN1→リンクL6→ノードN5→リンクL9→ノードN6→リンクL8→ノードN4」となる。通行可能ではないと判断したリンクの置き換え処理が完了すると、案内経路更新部34は、次のリンクの検証処理に進む。
なお、通行可能ではないと判断したリンクと同一の道路において逆向きのリンクが無い場合、案内経路更新部34は、たとえば、その通行可能ではないと判断したリンクの両端のノードを探索の始点および終点に指定して、経路探索を行う。また、案内経路更新部34は、その経路探索により探索した経路で、その通行可能ではないと判断したリンクを置き換える。
ユーザ指定経路においてリンクL9の次のリンクは、リンクL8である。リンクL8は、ノードN6からノードN4に向かっている。したがって、案内経路更新部34は、リンクデータ群36などを参照し、リンクL8の向きがノードN6からノードN4に向かう向きであると判断する。
ユーザ指定経路においてリンクL8は最後のリンクである。ユーザ指定経路のすべてのリンクの検証処理が完了したら、案内経路更新部34は、次に、ユーザ指定経路の各ノードの通行可能性を判断する。
ユーザ指定経路のすべてのリンクについての通行可能性の検証処理が完了した時点で、そのユーザ指定経路が「ノードN1→リンクL6→ノードN5→リンクL9→ノードN6→リンクL8→ノードN4」となっている場合、案内経路更新部34は、2つ目のノードN5から最後から2つ目のノードN6までのノードについて通行可能性を判断する。
ノードN5に接続される2つのリンクL6およびL9は、同一道路において交差点を直進する組合せである。案内経路更新部34は、ノードデータ群26などを参照し、直進が可能であることを確認して通行可能であると判断する。
ノードN6に接続される2つのリンクL9およびL8は、交差点で左折する道路の組合せである。案内経路更新部34は、ノードデータ群26などを参照してそのノードN6において左折が可能であることを確認すると、通行可能であると判断する。
ユーザ指定経路のすべてのノードの通行可能性の検証処理が完了すると、案内経路更新部34は、ユーザ指定経路の検証処理(ステップST5)を終了する。
なお、ノードの通行可能性の検証処理において、たとえばそのノードで右折する場合であって且つそのノードでの右折が禁止されている場合、案内経路更新部34は、そのノードとユーザ指定経路においてその次のノードとを探索の始点および終点に指定し、経路探索を行う。案内経路更新部34は、そのノードとその次のノードとの間のリンクを、その経路探索により探索した経路に、置き換える。
ユーザ指定経路の検証処理(ステップST5)が完了すると、更新案内経路生成手段としての案内経路更新部34は、案内経路データ37において先に特定した2つの交点の間の区間を、その通行可能なユーザ指定経路に置き換えて、更新した案内経路を生成する(ステップST6)。図8のユーザによる通過道路の指定に基づいて「ノードN1→リンクL6→ノードN5→リンクL9→ノードN6→リンクL8→ノードN4」というユーザ指定経路が生成された場合、案内経路更新部34は、「リンクL1→ノードN1→リンクL6→ノードN5→リンクL9→ノードN6→リンクL8→ノードN4→リンクL5」という更新した案内経路を生成する。案内経路更新部34は、この更新された案内経路を、更新案内経路データ38として記憶デバイス15に記憶させる。
更新案内経路データ38を記憶デバイス15に記憶させた後、判断手段としての案内経路更新部34は、さらにその更新案内経路について最終的な通行可能性を検証する。具体的には、案内経路更新部34は、ユーザ指定経路と案内経路データ37による案内経路との2つの接続点において、通行可能であるか否かを判断する(ステップST7)。
図8のユーザによる通過道路の指定に基づいて生成される更新案内経路では、ノードN1とノードN4とが、その2つの接続点である。案内経路更新部34は、ノードデータ群26などを参照して、ノードN1においてリンクL1からリンクL6への右折が禁止されているか否かを判断し、ノードN4においてリンクL8からリンクL5への右折が禁止されているか否かを判断する。
2つの接続点において共に通行が可能である場合、案内経路更新部34は、案内経路確認部32に、記憶デバイス15に記憶させた更新案内経路データ38の表示を指示する。案内経路確認部32は、液晶デバイス11に、更新案内経路を地図とともに表示させる(ステップST8)。
図9は、図1中の液晶デバイス11に表示される、更新された案内経路の確認画面の一例を示す図である。図9に表示される案内経路は、現在地から、第一の道路61、第五の道路65、第二の道路62および第六の道路66を通って、目的地72に至る経路である。この案内経路には、ユーザが通過を指定した道路である第五の道路65および第三の道路63が含まれる。これにより、ユーザは、自らが通過を指定することで更新された案内経路を確認することができる。
図9に示す案内経路の確認画面において案内開始ボタン75が操作されると、操作判断部33は、案内開始が指示されたと判断する。案内経路更新部34は、更新案内経路データ38を、案内する経路に指定する(ステップST9)。
ステップST7の2つの接続点についての通行可能性の判断において、たとえば2つの接続点の中の1つについて右折禁止などにより通行ができないと判断すると、警告手段としての案内経路更新部34は、液晶デバイス11に、案内経路が通行可能ではない旨の警告メッセージを表示させる(ステップST10)。そして、タッチパネル12の入力に基づいて代替ルートの生成要求がなされたと判断する(ステップST11)と、追加更新手段としての案内経路更新部34は、走行可能な代替経路を探索し、更新案内経路を更新する(ステップST12)。
具体的にはたとえば、ノードN4においてリンクL8からリンクL5への右折が禁止されている場合、案内経路更新部34は、たとえばノードN4の1つ前のノード(ここではノードN6)を始点に指定し、ノードN4の次のノード(ここではノードN4の次のノードが無いので目的地)を終点に指定して、経路探索を行う。そして、案内経路更新部34は、更新案内経路の該当区間の経路を、探索された経路に置き換える。これにより、記憶デバイス15に記憶されている更新案内経路データ38は、たとえば「リンクL1→ノードN1→リンクL6→ノードN5→リンクL9→ノードN6→リンクL10→ノードN7→リンクL11→ノードN8→リンクL12」という経路に更新される。
更新案内経路の2つの接続点についての必要な更新処理(ステップST12)が完了すると、案内経路更新部34は、案内経路確認部32に、記憶デバイス15に記憶させた更新された更新案内経路データ38の表示を指示する。案内経路確認部32は、液晶デバイス11に、更新された更新案内経路を地図とともに表示させる(ステップST8)。
図10は、図1中の液晶デバイス11に表示される、更新された更新案内経路の確認画面の一例を示す図である。図10に表示される案内経路は、現在地から、第一の道路61、第五の道路65、第四の道路64および第六の道路66を通って、目的地72に至る経路である。この案内経路には、ユーザが通過を指定した道路である第五の道路65が含まれている。これにより、ユーザは、自らが通過を指定することで更新された案内経路であって、通行可能な経路を確認することができる。
図10に示す案内経路の確認画面において案内開始ボタン75が操作されると、操作判断部33は、案内開始が指示されたと判断する。案内経路更新部34は、更新された更新案内経路データ38を、案内する経路に指定する(ステップST9)。
警告表示(ステップST10)後のステップST11の判断において、代替ルートの生成要求がなされなかったと判断すると、指定手段としての案内経路更新部34は、案内経路生成部31により生成されて記憶デバイス15に記憶されている案内経路データ37を、案内する経路に指定する(ステップST13)。
次に、ステップST4の2つの交点の有無判断において、ユーザが通過を指定した道路と、案内経路生成部31が生成した案内経路とが2箇所において交差していないと判断される場合、つまり交差が無い場合と、交差が1ヶ所である場合とについて説明する。
図11は、図7に示す案内経路の確認画面において、通過道路を設定するユーザ通過指定操作の他の仕方を説明する説明図である。ここでは、図11において矢印111として示すように、ユーザは、液晶デバイス11に表示されている案内経路と1箇所で交差するように、第五の道路65の一部をなぞる(ステップST2)。
タッチパネル12は、その操作位置情報を出力する。操作判断部33は、タッチパネル12からの操作位置情報と、案内経路の確認画面の表示データとに基づいて、操作された位置(図11でいえば矢印111が重なっている位置)に対応する地図上の位置情報を生成し、案内経路更新部34へ出力する。
図11の矢印111のようにユーザにより第五の道路65の一部が通過道路として指定されると、案内経路更新部34は、たとえばリンクL6を、通過指定道路のリンクとして特定する(ステップST3)。また、案内経路更新部34は、ステップST4において、このユーザが通過を指定した道路と、案内経路生成部31により生成された案内経路とが一箇所のみで交差している(別な言い方をすれば、2箇所において交差していない)と判断する(ステップST4)。案内経路更新部34は、2箇所において交差していないと判断する(ステップST4)。図11のようなユーザによる通過指定がなされた場合には、通過指定道路と案内経路データ37とは、ノードN1のみにおいて交差する。
ステップST4において通過指定道路と案内経路生成部31が生成した案内経路とが一箇所のみで交差している(別な言い方をすれば、2箇所において交差していない)と判断した場合、ユーザ指定経路生成手段としての案内経路更新部34は、通過指定道路を延長し、案内経路生成部31が生成した案内経路と二箇所において交差するユーザ指定経路を生成する。
案内経路更新部34は、まず、案内経路から、案内経路と交差していないと判断された通過指定道路の端部の近傍の複数のノードを抽出する(ステップST14)。通過指定道路が「ノードN1→リンクL6→ノードN5」である場合、案内経路更新部34は、このノードN5を案内経路と交差していないと判断する。そして、案内経路更新部34は、案内経路データ37のノードの中から、そのノードN5の近傍にあるノードを抽出する。案内経路更新部34は、たとえばノードN2、ノードN3、ノードN4などを抽出する。
案内経路データ37から通過指定道路の端部の近傍の複数のノードを抽出すると、案内経路更新部34は、その通過指定道路の端部のノードと抽出した各ノードとの間の経路を探索する。案内経路更新部34は、探索した複数の経路の中からコストが低い経路を選択する。案内経路更新部34は、選択した経路を通過指定道路に接続し、ユーザ指定経路を生成する(ステップST15)。
これにより、案内経路更新部34は、たとえば「ノードN1→リンクL6→ノードN5→リンクL13→ノードN3」というユーザ指定経路を生成する。このユーザ指定経路は、ノードN1とノードN3との2箇所において、案内経路データ37と交差する。
ユーザ指定経路を生成した後の案内経路更新部34の処理(ステップST5以降の処理)は、図8の矢印81によるユーザ通過指定に基づく処理と同様であり、その説明を省略する。そして、たとえば、案内経路更新部34は、ノードN3においてリンクL13からリンクL4への右折が禁止されていない場合には、ステップST8の処理を実行し、図12に示すように生成した更新案内経路を地図とともに液晶デバイス11に表示させる。
図12は、図1中の液晶デバイス11に表示される、更新された案内経路の確認画面の他の例を示す図である。図12に表示される案内経路は、現在地から、第一の道路61、第五の道路65、第二の道路62および第六の道路66を通って、目的地72に至る経路である。この案内経路には、ユーザが通過を指定した道路である第五の道路65が含まれる。これにより、ユーザは、自らが通過を指定することで更新された案内経路であって、通行可能な経路を確認することができる。
図12に示す案内経路の確認画面において案内開始ボタン75が操作されると、操作判断部33は、案内開始が指示されたと判断する。案内経路更新部34は、記憶デバイス15に記憶されている更新案内経路データ38を、案内する経路に指定する(ステップST9)。
次に、ステップST4の2つの交点の有無判断において、ユーザが通過を指定した道路と、案内経路生成部31が生成した案内経路との交差が無いと判断した場合、案内経路更新部34は、ユーザによりタッチパネル12を用いて指定された通過指定道路の両端部を延長して、案内経路生成部31が生成した案内経路と二箇所において交差するユーザ指定経路を生成する。
案内経路更新部34は、まず、案内経路から、案内経路と交差していないと判断された通過指定道路の2つの各端部の近傍の複数のノードを抽出する(ステップST14)。
案内経路更新部34は、通過指定道路の一方の端部のノードと抽出したその一方の端部近傍の各ノードとの間の経路を探索し、探索した複数の経路の中からコストが低い経路を選択し、選択した経路を通過指定道路に接続し、ユーザ指定経路を生成する(ステップST15)。
また、案内経路更新部34は、通過指定道路の他方の端部のノードと抽出したその他方の端部近傍の各ノードとの間の経路を探索し、探索した複数の経路の中からコストが低い経路を選択し、選択した経路を通過指定道路に接続し、ユーザ指定経路を生成する(ステップST15)。
これにより、案内経路更新部34は、ユーザによりタッチパネル12を用いて指定された通過指定道路の両端部を延長して、案内経路生成部31が生成した案内経路と二箇所において交差するユーザ指定経路を生成する。
ユーザ指定経路を生成した後の案内経路更新部34の処理(ステップST5以降の処理)は、図8の矢印81によるユーザ通過指定に基づく処理と同様であり、その説明を省略する。そして、たとえば、案内経路更新部34は、生成した更新案内経路を地図とともに液晶デバイス11に表示させる。この液晶デバイス11に表示される案内経路の確認画面において案内開始ボタン75が操作されると、操作判断部33は、案内開始が指示されたと判断する。案内経路更新部34は、記憶デバイス15に記憶されている更新案内経路データ38を、案内する経路に指定する(ステップST9)。
以上のように、たとえば図7、図9、図10、図12などの案内経路の確認画面において案内開始ボタン75が操作され、そのときに表示している案内経路が案内する経路に指定されると、カーナビゲーションシステムは、その指定された案内経路で車両が移動するように経路を案内する経路案内処理を開始する。
経路案内処理が開始されると、図4に示すように、経路案内部51は、GPS受信機13が出力する位置情報を車両の現在の位置情報として使用し、地図データ24を用いて、その車両の現在位置の周辺の地図を生成する。経路案内部51は、生成した地図の上に、車両の現在地を示すマークと、その周辺の地図内の案内経路とを描画する。なお、車両の現在地を示すマークは、GPS受信機13の位置情報による位置であっても、その位置からマップマッチングにより特定した位置であってもよい。経路案内部51は、生成した経路案内の表示画面の表示データを液晶デバイス11へ出力する。液晶デバイス11は、経路案内の表示画面を表示する。
GPS受信機13の位置情報が変化すると、経路案内部51は、経路案内の表示画面の表示データを更新する。経路案内部51は、その変化した位置情報を車両の現在位置とする経路案内の表示画面を生成する。これにより、液晶デバイス11には、車両の現在位置の周囲の地図と、その地図内における車両の現在位置および案内経路が表示され続ける。
したがって、ユーザは、液晶デバイス11に表示される地図上において、車両の現在地を示すマーク82が案内経路84の上を移動するように車両を運転することで、現在地から、自ら通過の指定をした所定の経路を通って目的地に至ることができる。
以上のように、この実施の形態に係るカーナビゲーションシステムは、目的地の設定に基づいて生成された案内経路の確認画面に周辺の道路を表示する。ユーザは、その表示されている周辺の道路に対して通過指定の操作をすることで、所望の道路を通過する案内経路に変更することができる。しかも、ユーザにより通過が指定された道路は、通行可能性が検証され、必要に応じて通行可能な他の道路などに置き換えられる。
その結果、ユーザは、案内経路を生成させた後にその案内経路の確認画面において通過したい道路を指定することで、通過したいと考えている道路を通過して、現在地などから目的地などへ至る経路を案内させることができる。
特に、この実施の形態では、案内経路更新部34は、ユーザが通過を指定した道路が案内経路データ37と2箇所において交差していない場合(つまり、交差が無いかもしくは1個の場合)には、経路探索によりそれらを交差させるように通過指定道路を延長し、ユーザ指定経路を生成する。しかも、そのユーザ指定経路と案内経路データ37との接続点において通行不可である場合には、ユーザの指示に基づいて、更新案内経路をさらに更新する。したがって、ユーザは、自分が通過したいと考えている道路だけを指定することで、その道路を通過する通行可能な経路を案内させることができる。
また、この実施の形態では、案内経路更新部34は、更新案内経路の接続点において通行不可である場合には、警告し、ユーザに、その更新案内経路をさらに更新するか、案内経路生成部31により生成された案内経路を案内させるかを選択させる。したがって、ユーザは通過したい道路を指定した後であっても、警告の表示の後にそれをキャンセルし、案内経路生成部31により生成された案内経路で案内させることができる。
以上の実施の形態は、本発明の好適な実施の形態の例であるが、本発明はこれに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
たとえば上記実施の形態では、ユーザが、目的地の設定に基づいて生成された案内経路の確認画面に表示されている道路を指でなぞる通過指定の操作をすることで、通過する経路を指定している。この他にもたとえば、その表示画面内に表示されるポインタなどを図示外の十字キーなどで移動することで、通過する経路を指定するようにしてもよい。さらに他にも、地図データに基づいて表示される地図画面において、表示されている道路を指でなぞったり、表示されるポインタを移動したりすることで、通過する経路を指定するようにしてもよい。
上記実施の形態では、目的地の設定に基づいて生成した案内経路とともに道路を含む地図を表示し、その地図中の地点をユーザに通過指定させている。この他にもたとえば、目的地の設定に基づいて生成した案内経路とともに、その周辺の道路をたとえばVICSのレベル1やレベル2の表示のように文字あるいは図形として表示し、その表示されている道路の中から所望の道路をユーザに通過指定させるようにしてもよい。
上記実施の形態では、案内経路を生成するためのユーザ指定地点として、目的地の場合を例として説明している。この他にもたとえば、ユーザが指定することができる地点としては、出発地、経由地、通過点などがある。
上記実施の形態では、案内経路更新部34は、通過指定道路が案内経路生成部31により生成された案内経路と2箇所において交差していない場合(つまり、交差が無い場合および1箇所である場合)には、その案内経路の中から、その交差していない通過指定道路の端部(ノード)に近い複数のノードを抽出し、その中からコストが最も低くなる経路を交点として選択している。この他にもたとえば、案内経路更新部34は、交差していない通過指定道路の端部(ノード)に最も近いノードを交点として選択するようにしてもよい。案内経路更新部34は、ノードの代わりにリンクを基準として選択するようにしてもよい。案内経路更新部34は、ノードの代わりにリンクを選択するようにしてもよい。
上記実施の形態では、案内経路更新部34は、案内経路と交差していない通過指定道路の端部(ノード)と、その端部の近傍のノードであって案内経路に含まれるノードとの間の経路を探索している。この他にもたとえば、案内経路更新部34は、通過指定道路のノードであって案内経路と交差していない通過指定道路の端部(ノード)から所定の数のノードと、それら通過指定道路上の複数のノードの近傍のノードであって案内経路に含まれるノードとの間の経路を探索し、その探索結果の経路にて延長したユーザ指定経路を生成するようにしてもよい。また、案内経路更新部34は、これらのノードに替えて、もしくは、これらのノードとともにリンクを特定し、その特定したリンクに基づいて探索された経路で延長したユーザ指定経路を生成するようにしてもよい。
上記実施の形態では、案内経路更新部34は、ユーザ指定経路と案内経路との接続点において通行不可能である場合における代替ルートの探索処理において、当該接続点の前後のノードを経路探索の始点および終点に指定している。
この他にもたとえば、案内経路更新部34は、当該接続点から前後に2つ以上離れたノードを始点および終点に指定しても、当該接続点とその一つ前のノードもしくは2つ以上の前のノードとを指定しても、当該接続点とその一つ後のノードもしくは2つ以上の後のノードとを指定するようにしてもよい。案内経路更新部34は、ユーザ指定経路と案内経路生成部31により生成された経路との中のいずれか一方を優先するように、他方の経路側についてのみ接続点からずらしたノードを指定し、その接続点とノードとを経路探索の始点および終点に指定するようにしてもよい。案内経路更新部34は、複数組の始点および終点を指定し、各組の探索結果の中から最もコストが低くなる経路を選択し、その選択した経路を用いて更新案内経路を更新するようにしてもよい。
但し、この実施の形態のように、通行不可の接続点について、その接続点のノードの前後のノード間の経路を探索し、その探索した経路で更新案内経路を更新するようにすることで、たとえばその通行不可の接続点とその次のノードとの間の経路を探索したり、その通行不可の接続点とその前のノードとの間の経路を探索したりする場合に比べて、更新された更新案内経路が外に大回りとなる経路となり難くなる。更新された更新案内経路が外に大回りとなる経路となると、ユーザに違和感を与えてしまう。
すなわち、図13に示すように、ユーザ指定経路と案内経路とは、交差するものである。図13は、ユーザ指定経路と案内経路との交差状態を示す説明図である。図13において、一点鎖線は、ユーザ指定経路であり、二点鎖線は、案内経路であり、丸印は、ノードである。
図13の真中にあるノードが通行不可の接続点とした場合、ユーザ指定経路あるいは案内経路の中の一方のノードのみをずらして、その通行不可の接続点のノードとの経路探索をした場合、図13において丸つきの1あるいは丸つきの2として示すように、その通行不可の接続点の周囲の経路は、それらの経路の外側において大きく迂回する経路が探索される可能性が高い。これに対して、ユーザ指定経路あるいは案内経路の中の両方のノードをずらした場合、図13において丸つきの3として示すようにそれらの経路から大きく外れて迂回する経路となったとしても、それらの経路の内側において迂回する経路となる可能性が高い。その結果、ユーザに違和感を与え難いように更新案内経路を更新することができる。