以下、本発明の実施形態の一例を図面を参照して説明する。
図1は、本発明の一実施形態が適用されたナビゲーション装置100の概略構成図である。図示するように、ナビゲーション装置100は、演算処理部1と、ディスプレイ2と、記憶装置3と、音声入出力装置4(マイクロフォン41、スピーカ42)と、入力装置5(タッチパネル51、ダイヤルスイッチ52)と、車速センサ6と、ジャイロセンサ7と、GPS受信装置8と、FM多重放送受信装置9と、ビーコン受信装置10と、を備えている。ナビゲーション装置100は、車両に載置されている車載用ナビゲーション装置としてもよいし、携帯電話やPDAなどの携帯端末としてもよい。
演算処理部1は、様々な処理を行う中心的ユニットである。例えば、演算処理部1は、数値演算及び各デバイスを制御するといった様々な処理を実行するCPU(Central Processing Unit)21と、記憶装置3から読み出した地図データ、演算データなどを格納するRAM(Random Access Memory)22と、プログラムやデータを格納するROM(Read Only Memory)23と、各種ハードウェアを演算処理部1に接続するためのI/F(インターフェイス)24と、を有する。そして、演算処理部1は、各デバイスをバス25で相互に接続した構成からなる。そして、後述する各機能部(101〜107)は、CPU21がRAM22などのメモリに読み出したプログラムを実行することで実現される。
例えば、演算処理部1は、各種センサ(6、7)やGPS受信装置8から出力される情報を基にして現在地を検出する。また、得られた現在地情報に基づいて、表示に必要な地図データを記憶装置3から読み出す。また、読み出した地図データをグラフィック展開し、そこに現在地マーク(或いは、移動体の位置を示す移動体マーク)を重ねてディスプレイ2に表示する。また、記憶装置3に記憶されている地図データを用いて、ユーザから指示された出発地(現在地)と目的地とを結ぶ最適な経路(以下では「推奨経路」という)を探索する。また、音声入出力装置4のスピーカ42やディスプレイ2を用いてユーザを誘導する。
ディスプレイ2は、演算処理部1で生成されたグラフィックス情報を表示するユニットである。ディスプレイ2は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどで構成される。
記憶装置3は、CD−ROMやDVD−ROMやHDDやICカードといった記憶媒体で構成される。この記憶媒体には、例えば、地図データ310、学習経路情報400、音声データ、動画データ、等が記憶されている。
図2は、地図データ310の概略データ構造を示す図である。図示するように、地図データ310は、地図上の区画された領域であるメッシュの識別コード(メッシュID)311ごとに、そのメッシュ領域に含まれている道路を構成する各リンクのリンクデータ320を含んでいる。
リンクデータ320は、リンクの識別コード(リンクID)321ごとに、リンクを構成する2つのノード(開始ノード、終了ノード)の座標情報322、リンクを含む道路の種別情報を示す道路種別323、リンクの長さを示すリンク長情報324、リンク旅行時間325、2つのノードにそれぞれ接続するリンクの識別コード(接続リンクID)326、などを含んでいる。なお、ここでは、リンクを構成する2つのノードについて開始ノードと終了ノードを区別することで、道路の上り方向と下り方向を、それぞれ別のリンクとして管理することができる。なお、道路種別323には、「有料道路」、「一般道路」、「細道路」といった情報が含まれる。また、道路種別323には、有料道路の利用料金や、道路幅などの情報も付加されている。
また、図3は、学習経路情報400の概略データ構造を示す図である。学習経路情報400には、推奨経路から逸れて走行した区間の経路(以下では、「学習経路」という)が登録されている。例えば、学習経路情報400は、図示するように、学習経路の識別コード(学習経路ID)411ごとのレコード415からなる。各レコード415には、学習経路を構成する各リンクの識別コード(リンクID)412と、当該学習経路の走行回数413と、当該学習経路の種別情報414と、が対応付けて格納されている。ここで、学習経路を構成する各リンクのリンクID412については、推奨経路を逸脱した地点(逸脱地点)のリンクから、推奨経路に復帰した地点(復帰地点)のリンクまでのリンクIDが、走行した順序で登録されている。走行回数413は、当該学習経路の優先順位を示す値として、例えば、「X回」、「Y回」などの走行回数が登録されている。また、種別情報414は、当該学習経路の種別情報として、例えば、「有料道路」、「一般道路」、「細道路」などの文字列が登録されている。
図1に戻り、音声入出力装置4は、音声入力装置としてマイクロフォン41と、音声出力装置としてスピーカ42と、を備える。マイクロフォン41は、運転手やその他の搭乗者から発された音声などの、ナビゲーション装置100の外部の音声を取得する。スピーカ42は、演算処理部1で生成された音声信号を出力する。これらのマイクロフォン41とスピーカ42は、車両の所定の部位に、別個に配置されている。
入力装置5は、ユーザからの指示を受け付けるユニットである。入力装置5は、タッチパネル51と、ダイヤルスイッチ52と、その他のハードスイッチ(図示せず)であるスクロールキー、縮尺変更キーなどで構成される。
タッチパネル51は、ディスプレイ2の表示面に貼られた透過性のある操作パネルである。タッチパネル51は、ディスプレイ2に表示された画像のXY座標と対応したタッチ位置を特定し、タッチ位置を座標に変換して出力する。タッチパネル51は、感圧式または静電式の入力検出素子などにより構成される。
ダイヤルスイッチ52は、時計回り及び反時計回りに回転可能に構成され、所定の角度の回転ごとにパルス信号を発生し、演算処理部1に出力する。演算処理部1では、パルス信号の数から、ダイヤルスイッチ52の回転角度を求める。
車速センサ5、ジャイロセンサ7、及び、GPS受信装置8は、移動体(ナビゲーション装置100)の現在位置(自車位置)などを検出するために使用される。車速センサ6は、車速を算出するために用いる車速データを出力するセンサである。ジャイロセンサ7は、光ファイバジャイロや振動ジャイロ等で構成され、移動体の回転による角速度を検出するものである。GPS受信装置8は、GPS衛星からの信号を受信し、移動体とGPS衛星間の距離とその距離の変化率を3個以上の衛星に対して測定することで、移動体の現在位置や進行速度を測定する。
FM多重放送受信装置9は、FM多重放送局から送られてくるFM多重放送信号を受信する。FM多重放送には、VICS(Vehicle Infomation Communication System:登録商標)情報の概略現況交通情報、規制情報、SA/PA(サービスエリア/パーキングエリア)情報、駐車場情報、天気情報などのFM多重一般情報としてラジオ局が提供する文字情報などがある。
ビーコン受信装置10は、ビーコンから送られてくる渋滞情報、規制情報、SA/PA情報、駐車場情報などを受信する。
図4は、演算処理部1の機能ブロック図である。図示するように、演算処理部1は、主制御部101と、入力受付部102と、表示処理部103と、経路探索部104と、経路誘導部105と、学習経路登録部106と、学習経路適用部107と、を有する。
主制御部101は、演算処理部1の各部を統括して制御する処理を行う。
入力受付部102は、入力装置5に入力されたユーザからの要求を受け付け、その要求内容を解析する。入力受付部102は、解析結果に応じたデータを主制御部101に通知する。例えば、入力受付部102は、ナビゲーション装置100に、電源の投入、切断を指示する要求、等を受け付け、主制御部101に通知する。また、入力受付部102は、ナビゲーション装置100が有する各種機能の設定(例えば、探索条件の設定)に関する入力データを受け付け、主制御部101に通知する。
表示処理部103は、ディスプレイ2に、地図、探索した推奨経路、学習経路、ユーザに通知する各種メッセージ、等を表示させる。具体的には、表示処理部103は、ディスプレイ2に表示させるための描画コマンドを生成して通知する。なお、表示処理部103は、地図をディスプレイ2に表示させる際には、表示が要求された領域(例えば、推奨経路全体を表示するのに必要な領域)にある地図データを記憶装置3から抽出し、指定された描画方式で、道路、その他の地図構造物、現在位置、目的地、推奨経路、学習経路、等を描画するように地図描画コマンドを生成する。また、表示処理部103は、ディスプレイ2に表示させた地図上に、車両の位置を示す車両マークや各種設定画面などを表示させる。
経路探索部104は、推奨経路を探索する処理(経路探索処理)を行う。具体的には、経路探索部104は、出発地、目的地、探索条件などについて設定を行う。そして、設定された探索条件に基づいて、ダイクストラ法等を用い、指定された2地点(出発地、目的地)間を結ぶ経路のコスト(例えば、総距離や総旅行時間)が最小となる経路を探索する。このとき、経路探索部104は、探索した推奨経路を構成する各リンクの識別コード(リンクID)321を、それぞれ対応付けてRAM22等のメモリに記憶しておく。
経路誘導部105は、経路探索部104によって探索された推奨経路を用いて経路誘導を行う。また、詳細については後述するが、学習経路適用部107は、経路探索部104によって探索された推奨経路に学習経路を適用する(推奨経路の一部区間を学習経路で置き換える)場合がある。この場合、経路誘導部105は、学習経路が適用された後の推奨経路を用いて経路誘導を行う。
具体的には、経路誘導部105は、表示処理部103を介して、ディスプレイ2に表示された地図の範囲に含まれている推奨経路を表示(強調表示)する。このとき、経路誘導部105は、移動体(車両)の現在位置を示す移動体マーク(カーマーク)を推奨経路上に表示する。また、経路誘導部105は、推奨経路の情報と、現在位置とを比較し、主要な交差点等を通過する前に直進すべきか、右左折すべきかを、ディスプレイ2に表示させるとともに、音声入出力装置4のスピーカ42を用いて音声でユーザに知らせる。
学習経路登録部106は、学習経路に関する情報を登録する処理(学習経路登録処理)を行う。
具体的には、学習経路登録部106は、推奨経路から逸れて走行した経路(学習経路)を構成するリンクID321を、学習経路情報400に格納する。例えば、学習経路登録部106は、推奨経路を逸脱した地点のリンクから、推奨経路に復帰した地点のリンクまでのリンクID321を、走行した順序で格納していく。
また、学習経路登録部106は、学習経路の走行実績を学習経路情報400に格納しておく。例えば、学習経路登録部106は、推奨経路から逸れて走行した経路が学習経路情報400に既に格納されている場合には、当該経路(学習経路)に対応付けられている走行回数413をカウントアップする。なお、学習経路登録部106は、推奨経路から逸れて走行した経路でなくても、走行した経路が学習経路情報400に既に格納されている場合には、当該経路(学習経路)に対応付けられている走行回数413をカウントアップするようにしてもよい。さらに、推奨経路が設定されていない場合にも、上記のカウントアップをするようにしてもよい。
また、学習経路登録部106は、学習経路の種別情報414を格納する。ここで、種別情報414には、「有料道路」、「一般道路」、「細道路」などの情報を含む。
学習経路適用部107は、経路探索部104によって探索された推奨経路に学習経路を適用する処理(学習経路適用処理)を行う。具体的には、学習経路適用部107は、経路探索部104によって探索された推奨経路に適用可能な学習経路を、学習経路情報400から抽出する。ここで抽出される学習経路は、推奨経路の探索条件に応じた種別情報414を有している学習経路である。そして、学習経路適用部107は、推奨経路の一部区間を、抽出した当該学習経路で置き換える。学習経路適用処理の詳細については後述する。
なお、上記した各構成要素は、ナビゲーション装置100の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類や仕方やその名称によって、本願発明が制限されることはない。ナビゲーション装置100の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、各機能部は、ハードウェア(ASICなど)により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
次に、上記構成からなるナビゲーション装置100の特徴的な動作について説明する。
<学習経路登録処理>
図5は、ナビゲーション装置100が行う学習経路登録処理を示すフローチャートである。
演算処理部1の学習経路登録部106は、経路誘導部105により経路誘導が開始されるタイミングで、学習経路登録処理を開始する。
学習経路登録処理を開始すると、経路誘導部105は、移動体(車両)の現在位置を算出する(ステップS101)。例えば、経路誘導部105は、車速センサ6で出力された車速データや、ジャイロセンサ7で検出した角速度データなどを用いて、移動体の現在位置を算出する。また、経路誘導部105は、GPS受信装置8の出力データを用いて現在位置を修正する。
そして、経路誘導部105は、移動体が目的地に到達したか否か判定する(ステップS102)。例えば、経路誘導部105は、ステップS101で算出した現在位置と、推奨経路の目的地として設定されている位置と、を比較する。そして、現在位置が目的地と一致(ほぼ一致)している場合に、移動体が目的地に到達したと判定する。一方、現在位置が目的地と一致していない場合には、移動体は目的地に到達していないと判定する。
経路誘導部105は、移動体が目的地に到達したと判定した場合には(ステップS102;Yes)、経路誘導を終了する。これに伴い、学習経路登録部106は、本フロー(学習経路登録処理)を終了する。
一方、経路誘導部105は、移動体が目的地に到達していないと判定した場合には(ステップS102;No)、処理をステップS103に移行する。
処理がステップS103に移行すると、経路誘導部105は、移動体が推奨経路から逸れているか否か判定する(ステップS103)。例えば、経路誘導部105は、ステップS101で算出した現在位置と、推奨経路と、を比較する。そして、現在位置が推奨経路上にない場合に、移動体が推奨経路から逸れていると判定する。一方、現在位置が推奨経路上にある場合には、移動体は推奨経路から逸れていないと判定する。
経路誘導部105は、移動体が推奨経路から逸れていると判定した場合には(ステップS103;Yes)、ステップS101で算出した現在位置に基づいて、移動体が走行しているリンクを地図データ310から特定する。そして、特定したリンクのリンクID321を、学習経路の候補としてRAM22などのメモリに一時的に記憶しておく。その後、経路誘導部105は、処理をステップS101に戻す。従って、移動体が推奨経路から逸れて走行している間に、ステップS101からステップS103の処理を繰り返し実行することにより、学習経路の候補となるリンクID321を蓄積することができる。
一方、経路誘導部105は、移動体が推奨経路から逸れていないと判定した場合には(ステップS103;No)、処理をステップS104に移行する。
処理がステップS104に移行すると、経路誘導部105は、移動体が推奨経路に復帰したのか否か判定する(ステップS104)。すなわち、移動体が推奨経路ではない経路から推奨経路に戻ってきたのか否か判定する。
具体的には、経路誘導部105は、直前のステップS101で算出した現在位置と、前々回のステップS101で算出した現在位置と、を比較する。そして、前々回のステップS101で算出した現在位置が推奨経路上にはなく、直前のステップS101で算出した現在位置が推奨経路上にある場合に、推奨経路に復帰したと判定する。一方、前々回のステップS101で算出した現在位置と、直前のステップS101で算出した現在位置と、がともに推奨経路上にある場合には、推奨経路に復帰したのではないと判定する。なお、前々回のステップS101で算出した現在位置が存在しない場合には、推奨経路に復帰したのではないと判定する。
経路誘導部105は、移動体が推奨経路に復帰したと判定した場合には(ステップS104;Yes)、処理をステップS105に移行する。
一方、経路誘導部105は、移動体が推奨経路に復帰したのではない(推奨経路に従って走行し続けている)と判定した場合には(ステップS104;No)、処理をステップS101に戻す。従って、移動体が推奨経路上を走行し続けている間は、経路誘導部105は、ステップS101からステップS104の処理を繰り返し実行する。
処理がステップS105に移行すると、学習経路登録部106は、推奨経路から逸れて走行した経路を学習経路として登録する(ステップS105)。
具体的には、学習経路登録部106は、まず、ステップS103においてメモリに記憶していた学習経路の候補となるリンクID321を読み出す。そして、読み出した学習経路の候補が、学習経路情報400に既に登録されている学習経路であるか調べる。
ここで、学習経路の候補が既に登録されている場合には、学習経路登録部106は、その学習経路の学習経路ID411に対応付けられている走行回数413をカウントアップする(すなわち「1」加えた値に変更する)。
一方、学習経路の候補が未だ登録されていない場合には、学習経路登録部106は、その候補を学習経路として学習経路情報400に追加する。
例えば、学習経路登録部106は、学習経路情報400にレコード415を追加し、学習経路ID411、学習経路を構成するリンクのリンクID412、走行回数413、種別情報414を対応付けて格納する。
ここで、学習経路を構成するリンクのリンクID412には、ステップS103においてメモリに蓄積しておいたリンクID321が、走行した順序で格納される。また、走行回数413には、「1回」を示すデータが格納される。なお、学習経路登録部106は、逸脱地点のリンクID412については、逸脱地点の座標を対応付けて格納するようにしてもよい。また、復帰地点のリンクID412についても同様に、復帰地点の座標を対応付けて格納するようにしてもよい。
また、種別情報414には、「有料道路」、「一般道路」、「細道路」などを示すデータが格納される。ここで、種別情報414は、リンクID321に対応付けられている道路種別323を用いて決定される。具体的には、学習経路登録部106は、学習経路を構成するリンクに1つでも有料道路が含まれている場合には、当該学習経路を「有料道路」として格納する。また、学習経路を構成するリンクに有料道路も細道路も含まれていない場合には、当該学習経路を「一般道路」として格納する。また、それ以外の場合(学習経路を構成するリンクに有料道路は含まれておらず、細道路が1つでも含まれている場合)には、「細道路」として格納する。
このようなステップS105における学習経路の登録は、移動体が推奨経路に復帰する毎に行われる。そのため、出発地から目的地までの間で、複数回、推奨経路から逸れて走行することがある場合でも、各学習経路を学習経路情報400に登録することができる。
学習経路の登録後、学習経路登録部106は、処理をステップS101に戻す。
<経路探索処理>
図6は、ナビゲーション装置100が行う経路探索処理を示すフローチャートである。
演算処理部1の経路探索部104は、例えば、ユーザからの指示に基づいて経路探索処理を開始する。
経路探索処理を開始すると、経路探索部104は、出発地、目的地の設定を行う(ステップS201)。例えば、経路探索部104は、所定の設定画面を表示して、ユーザから出発地、目的地の指定を受け付ける。
次に、経路探索部104は、推奨経路の探索条件を設定する(ステップS202)。例えば、経路探索部104は、所定の設定画面を表示して、ユーザから探索条件の入力を受け付ける。
ここで、設定可能な探索条件には、例えば、有料道路を優先して探索する「第1の有料優先」、「第1の有料優先」の探索条件に基づいて探索された推奨経路とは別の経路を探索する「第2の有料優先」、有料道路を優先し、かつ、料金を考慮して探索する「第3の有料優先」、一般道路を優先して探索する「第1の一般優先」、道幅の広い道路を優先し、かつ、「第1の一般優先」の探索条件に基づいて探索された推奨経路とは別の経路を探索する「第2の一般優先」、出発地から目的地までの距離が最短となるように探索する「距離優先」、などが含まれる。
次に、経路探索部104は、渋滞情報を取得する(ステップS203)。具体的には、経路探索部104は、FM多重放送受信装置9やビーコン受信装置10などを用いて、経路探索対象のエリア(例えば、出発地から目的地までを含むエリア)の渋滞情報(規制情報なども含む)を取得する。
続いて、経路探索部104は、経路探索を行う(ステップS204)。具体的には、経路探索部104は、ステップS201で設定された出発地から目的地までの推奨経路を、ステップS202で設定された探索条件に基づいて探索する。
例えば、経路探索部104は、探索条件として「第1の有料優先」が設定されている場合には、「有料道路」、「一般道路」、又は、「細道路」の道路種別323を有しているリンク(リンクID321)を用いて、推奨経路を探索する。
また、経路探索部104は、探索条件として「第2の有料優先」が設定されている場合には、「有料道路」、「一般道路」、又は、「細道路」の道路種別323を有しているリンクを用いて、推奨経路を探索する。ただし、「有料道路」の道路種別323を有していても、「第1の有料優先」の探索条件に基づいて探索された推奨経路に使用されているリンクについては除外する。すなわち、「第2の有料優先」の探索条件に基づいて探索される推奨経路は、「第1の有料優先」の探索条件に基づいて探索される推奨経路とは、使用される有料道路が少なくとも異なる。
また、経路探索部104は、探索条件として「第3の有料優先」が設定されている場合には、「有料道路」、「一般道路」、又は、「細道路」の道路種別323を有しているリンクを用いて、推奨経路を探索する。ただし、「有料道路」の道路種別323を有しているリンクのうち、利用料金が低料金(例えば、最低料金)の道路種別323を有しているリンクが優先して用いられる。
また、経路探索部104は、探索条件として「第1の一般優先」が設定されている場合には、「一般道路」又は「細道路」の道路種別323を有しているリンクを用いて、推奨経路を探索する。
また、経路探索部104は、探索条件として「第2の一般優先」が設定されている場合には、「一般道路」の道路種別323を有しているリンクを用いて、推奨経路を探索する。ただし、「一般道路」の道路種別323を有していても、「第1の一般優先」の探索条件に基づいて探索された推奨経路に使用されているリンクについては除外する。そして、ここで除外されないリンクの中でも、道路幅が広い道路(例えば、最も道路幅の広い道路)の道路種別323を有しているリンクが優先して用いられる。
また、経路探索部104は、探索条件として「距離優先」が設定されている場合には、「有料道路」又は「一般道路」の道路種別323を有しているリンクを用いて、推奨経路を探索する。ただし、「有料道路」又は「一般道路」の道路種別323を有しているリンクのうち、出発地から目的地までの総延べ距離が短距離(例えば、最短距離)となるリンクが用いられる。
また、経路探索部104は、上記の探索条件のうち、「第1の有料優先」、「第2の有料優先」、「第3の有料優先」、又は、「第1の一般優先」が設定されている場合には、渋滞情報を考慮して経路探索を行う。具体的には、経路探索部104は、ステップS203で取得した渋滞情報を読み出し、渋滞しているリンクについては、推奨経路の探索対象から除外、或いは、優先順位を下位にする。一方、上記の探索条件のうち、「第2の一般優先」が設定されている場合には、道幅を最優先して推奨経路を探索するため、渋滞情報を考慮しない。同様に、「距離優先」が設定されている場合には、出発地から目的地までの距離を最優先して推奨経路を探索するため、渋滞情報を考慮しない。
以上のような探索条件に基づいて推奨経路を探索後、経路探索部104は、探索した推奨経路を構成する各リンクのリンクID321を、RAM22等のメモリに記憶する。
次に、学習経路適用部107は、学習経路適用処理を行う(ステップS205)。すなわち、学習経路適用部107は、探索条件に応じた種別情報414を有する学習経路を選び出し、ステップS204で探索した推奨経路に対して、当該学習経路を適用する(学習経路で置き換える)処理を行う。学習経路適用処理の詳細については後述する。
そして、経路誘導部105は、ステップS205で得られた結果(学習経路が適用された後の推奨経路など)を、ディスプレイ2に表示する(ステップS206)。
図7(A)は、探索条件に基づいて探索された推奨経路とともに、学習経路が適用された後の推奨経路を表示したときの表示例を示す図である。図示するように、推奨経路の探索条件が「第1の一般優先」である場合には、種別情報414が「一般道路」(或いは「細道路」)である学習経路が選ばれて表示される。すなわち、探索条件に応じた種別情報414を有する学習経路が表示される。また、経路誘導部105は、学習経路の区間(点線)については、他の経路と異なる色で表示するなどして強調表示する。
これに対し、探索条件に応じた種別情報を有する学習経路を適用できない場合には、図7(A)に示すような推奨経路を表示することはできない。
図7(B)は、探索条件に応じた種別情報を有する学習経路を適用できないときの表示例を示す図である。図示するように、推奨経路の探索条件が「第1の一般優先」であるにもかかわらず、有料道路を含む学習経路が表示されてしまう場合がある。これでは、ユーザにとって必要な推奨経路が表示されているとはいえない。
図6に戻り、経路探索部104は、ステップS206の処理後、本フローを終了する。
次に、学習経路適用処理(ステップS205)の詳細について説明する。
<学習経路適用処理>
図8は、ナビゲーション装置100が行う学習経路適用処理を示すフローチャートである。
演算処理部1の学習経路適用部107は、処理が上記のステップS205に移行すると、適用候補となる学習経路を学習経路情報400から抽出する(ステップS301)。具体的には、学習経路適用部107は、ステップS202で設定された探索条件に応じた種別情報414を有する学習経路を、学習経路情報400から抽出する。ただし、ステップS204で探索された推奨経路上に、逸脱地点および復帰地点がない学習経路については、抽出しない。従って、学習経路適用部107は、例えば、逸脱地点のリンクおよび復帰地点のリンクが推奨経路を構成するリンクに含まれている学習経路(レコード415)のうち、探索条件に応じた種別情報414を有する学習経路を、学習経路情報400から抽出する。
図9は、探索条件と、学習経路の種別情報414と、の対応関係の一例を示す図である。
図示するように、学習経路適用部107は、探索条件として「第1の有料優先」が設定されている場合には、「有料道路」、「一般道路」、又は、「細道路」の種別情報414を有している学習経路を抽出する。
また、学習経路適用部107は、探索条件として「第2の有料優先」が設定されている場合には、「有料道路」、「一般道路」、又は、「細道路」の種別情報414を有している学習経路を抽出する。ただし、「有料道路」の種別情報414を有していても、「第1の有料優先」の探索条件に基づいて探索された推奨経路に適用済みの学習経路については除外する。これにより、「第1の有料優先」の探索条件に基づいて探索される推奨経路に適用済みの学習経路と同一の学習経路を抽出することはない。また、「一般道路」の種別情報414を有していても、適用対象(置き換え対象)の区間(推奨経路上)が「有料道路」である場合には、当該学習経路については抽出しない。すなわち、有料道路の区間に対して、一般道路の学習経路で置き換えることはない。
また、学習経路適用部107は、探索条件として「第3の有料優先」が設定されている場合には、「一般道路」又は「細道路」の種別情報414を有している学習経路を抽出する。ただし、「一般道路」の種別情報414を有していても、適用対象(置き換え対象)の区間(推奨経路上)が「有料道路」である場合には、当該学習経路については抽出しない。すなわち、有料道路の区間に対して、一般道路の学習経路で置き換えることはない。なお、「有料道路」の種別情報414を有している学習経路を抽出しないのは、ステップS204で探索された推奨経路は、低料金の有料道路(リンク)が優先して選択されているためである。仮に、他の有料道路(学習経路)で置き換えてしまうと、利用料金が低料金とならなくなる。
また、学習経路適用部107は、探索条件として「第1の一般優先」が設定されている場合には、「一般道路」又は「細道路」の種別情報414を有している学習経路を抽出する。
また、学習経路適用部107は、探索条件として「第2の一般優先」が設定されている場合には、「一般道路」の種別情報414を有している学習経路を抽出する。ただし、「一般道路」の種別情報414を有していても、「第1の一般優先」の探索条件に基づいて探索された推奨経路に適用済みの学習経路については除外する。これにより、「第1の一般優先」の探索条件に基づいて探索される推奨経路に適用済みの学習経路と同一の学習経路を抽出することはない。なお、「細道路」の種別情報414を有している学習経路を抽出しないのは、ステップS204で探索された推奨経路は、広い道路幅の道路(リンク)が優先して選択されているためである。仮に、「細道路」の学習経路で置き換えてしまうと、推奨経路は広い道路幅の道路とならなくなる。
また、学習経路適用部107は、探索条件として「距離優先」が設定されている場合には、いずれの学習経路も抽出しない。これは、ステップS204で探索された推奨経路は、出発地から目的地までの距離が短距離(例えば、最短距離)となる道路(リンク)が優先して選択されているためである。仮に、学習経路で置き換えてしまうと、推奨経路は目的地まで短距離とならなくなる。
以上のように、学習経路適用部107は、探索条件に応じた種別情報414を有する学習経路(レコード415)を適用候補の学習経路として抽出する。もちろん、探索条件に応じた種別情報414を有する学習経路が、複数存在する場合には、複数の学習経路を抽出する。そして、抽出した学習経路をRAM22等のメモリに記憶する。
図8に戻り、学習経路適用部107は、ステップS301で抽出した学習経路のうち、1つの学習経路を優先順位(例えば、走行回数)に基づいて選び出す(ステップS302)。例えば、学習経路適用部107は、最高回数である走行回数413を有するレコード415に対応する1つの学習経路を、適用候補の学習経路として特定する。
そして、学習経路適用部107は、ステップS301で抽出した学習経路から、適用不可の学習経路を削除する(ステップS303)。具体的には、学習経路適用部107は、ステップS302で特定した学習経路と同時には、同一の推奨経路に適用できない学習経路を削除する。つまり、学習経路適用部107は、逸脱地点または復帰地点の少なくとも1つが、ステップS302で特定した学習経路aの逸脱地点から復帰地点までの間にある学習経路(b、c、d)を削除する。さらに、ステップS302で特定した学習経路aの逸脱地点と復帰地点の両方が、逸脱地点から復帰地点までの間にあるような学習経路eも削除する。ここで、逸脱地点の特定には、逸脱地点のリンクの開始ノード322や逸脱地点の座標などが用いられる。また、復帰地点の特定には、復帰地点のリンクの終了ノード322や復帰地点の座標などが用いられる。
続いて、学習経路適用部107は、他の適用候補となる学習経路が存在するか否か判定する(ステップS304)。具体的には、学習経路適用部107は、ステップS301で抽出した学習経路のうち、ステップ302で特定した学習経路とステップS303で削除された学習経路を除いて、なお残っている学習経路が存在するか否か調べる。そして、残っている学習経路が存在する場合に、他の適用候補となる学習経路が存在すると判定する。一方、残っている学習経路が存在しない場合に、他の適用候補となる学習経路は存在しないと判定する。
学習経路適用部107は、他の適用候補となる学習経路が存在すると判定した場合には(ステップS304;No)、処理をステップS302に戻す。そして、他の適用候補となる学習経路が無くなるまで、ステップS302からステップS304までの処理を繰り返し実行する。これにより、ステップS204で探索された1つの推奨経路に対して、適用可能な複数の学習経路を適用することができるようになる。
一方、学習経路適用部107は、他の適用候補となる学習経路が存在しないと判定した場合には(ステップS304;Yes)、処理をステップS305に移行する。
そして、学習経路適用部107は、ステップS302で特定した学習経路を、ステップS204で探索された推奨経路に対して適用する(ステップS305)。具体的には、学習経路適用部107は、ステップS204で探索された推奨経路の一部を、ステップS302で特定した学習経路で置き換える。そして、置き換え後の推奨経路(推奨経路を構成するリンクID321)をRAM22等のメモリに格納する。
その後、学習経路適用部107は、本フローを終了し、処理をステップS206に移行する。
なお、上記したフローの各処理単位は、ナビゲーション装置100の処理を理解容易にするために、主な処理内容に応じて分類したものである。処理ステップの分類の仕方や名称によって、本願発明が制限されることはない。ナビゲーション装置100が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
例えば、上記実施形態では、経路探索部104は、候補となる1つの推奨経路を探索している。しかし、本発明は、これに限定されない。例えば、経路探索部104は、複数の推奨経路を探索(いわゆる、「複数ルート探索」)するようにしてもい。
複数ルート探索を行う場合、経路探索部104は、上記のステップS204において、ステップS202で設定された探索条件を満たす複数の推奨経路を探索する。
例えば、経路探索部104は、「第1の有料優先」の探索条件を満たす第1の推奨経路と、「第2の有料優先」の探索条件を満たす第2の推奨経路と、を探索する。
図10(A)は、2つの探索条件に基づいて探索された2つの推奨経路の例を実線で示す図である。図示するように、「第1の有料優先」の探索条件を満たす第1の推奨経路と、「第2の有料優先」の探索条件を満たす第2の推奨経路と、がそれぞれ表示される。
そして、学習経路適用部107は、ステップS204で探索したそれぞれの推奨経路に対して、ステップS205の処理(ステップS301からステップS305の処理)を施す。これにより、学習経路適用部107は、それぞれの推奨経路に対して、探索条件に応じた種別情報414を有する学習経路を適用する。
従って、学習経路適用部107は、図10(A)に示すように、それぞれの推奨経路に対して、互いに異なる学習経路(第1の学習経路、第2の学習経路)を適用することができる。
そして、経路誘導部105は、1つの学習経路を表示する場合と同様に、複数の学習経路(点線)について、他の経路と異なる色で表示するなどして強調表示する。これによって、ユーザは、どちらの推奨経路に従って目的地まで走行すればよいか、容易に選択することができるようになる。
これに対し、探索条件に応じた種別情報を有する学習経路を適用できない場合には、図10(A)に示すような推奨経路を表示することはできない。
図10(B)は、探索条件に応じた種別情報を有する学習経路を適用できないときの表示例を示す図である。図示するように、それぞれの推奨経路(第1の推奨経路、第2の推奨経路)に対して同一の学習経路が適用されてしまう場合がある。その結果、1つの学習経路しか表示できなくなる。これでは、複数ルート探索を行った意味がなくなってしまう。
なお、複数ルート探索を行わない場合であっても、複数の推奨経路を探索するようにしてもよい。この場合、「第1の有料優先」の探索条件が設定されたときは、ユーザからの設定を受け付けずに「第2の有料優先」の探索条件を満たす第2の推奨経路を探索する。同様に、「第1の一般優先」の探索条件が設定されたときは、ユーザからの設定を受け付けずに「第2の一般優先」の探索条件を満たす第2の推奨経路を探索する。