以下に添付図面を参照して、この発明にかかる経路探索装置、経路探索方法、経路探索プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態)
(経路探索装置の機能的構成)
まず、この発明の実施の形態にかかる経路探索装置100の機能的構成について説明する。図1は、本実施の形態にかかる経路探索装置の機能的構成を示すブロック図である。図1において、経路探索装置100は、記憶部101と、出力部102と、取得部103と、設定部104と、算出部105と、判定部106と、探索部107と、を備えている。
記憶部101には、たとえば地図情報が記憶されている。地図情報は、ノードおよびリンクからなる道路ネットワークデータと、施設や道路その他地形(山、川、土地)に関するフィーチャを用いて描画される画像データとを含んでいる。地図情報は、文字情報、施設の名称や住所などの情報、道路や施設の画像などを含んでいてもよい。また、出力部102は、地図情報を表示する表示画面を備えている。また、出力部102は、音声情報を出力するスピーカを備えていてもよい。
取得部103は、移動体の位置に関する位置関連情報を取得する。具体的には、取得部103は、衛星から送信された測位情報を位置関連情報として取得する。衛星から送信された測位情報は、具体的には、たとえば複数のGPS(Global Positioning System)衛星から送信された測位情報である。
また、取得部103は、移動体の移動状態を検知するセンサの出力情報を位置関連情報として取得してもよい。センサとしては、たとえばジャイロセンサ、加速度センサ、車速パルス、リバース線などが挙げられる。
設定部104は、経路探索装置100の取付角度を設定する。設定部104は、具体的には、たとえば、取得部103などによって取得された移動体の移動状態を検知するセンサの出力情報に基づいて、所定の基準に対するピッチ方向/ヨー方向/ロール方向を算出し、経路探索装置100の取付角度を設定する。また、設定部104は、利用者によって入力された取付角度に経路探索装置100を設定してもよい。
算出部105は、取得部103によって取得された位置関連情報に基づいて、移動体の現在地点の位置情報を算出する。算出部105は、測位情報およびセンサの出力情報を用いて移動体の現在地点の位置情報を算出してもよいし、測位情報またはセンサの出力情報のいずれかのみを用いて移動体の現在地点の位置情報を算出してもよい。
また、算出部105は、取得部103によって取得された位置関連情報、および記憶部101に記憶された地図情報に基づいて、移動体の現在地点を示す位置情報を算出してもよい。すなわち、位置関連情報に基づいて算出された移動体の現在地点を示す位置情報に、地図情報を用いたマップマッチング処理をおこなってもよい。マップマッチング処理とは、たとえば、地図情報上において移動体の現在地点が道路以外の地点を示していても、所定の条件が合致する場合、移動体が実際に位置している可能性の高い道路に現在地点を修正する処理である。
判定部106は、位置情報の精度を判定する。判定部106は、たとえば取得部103による測位情報の取得状態に基づいて、位置情報の精度を判定する。測位情報の取得状態は、具体的には、たとえば、GPS衛星の測位次元、GPS衛星からの電波の受信強度、GPS衛星に関する仰角および捕捉衛星数、マルチパスの有無などである。判定部106は、これらの測位情報の取得状態のうちの少なくとも1つを用いて、位置情報の精度を判定する。ここで、捕捉衛星数とは、取得部103によって電波を受信可能な衛星の数である。算出部105によって位置情報を算出するためには、取得部103によって4個の衛星から受信した測位情報が必要である。取得部103による捕捉衛星数がそれ以上の場合、4個の衛星の組み合わせを測位情報の誤差の少ない組み合わせとすることで、算出部105によって算出される位置情報の精度が向上する。また、捕捉衛星数が4個未満の場合でも、位置情報の精度は落ちるが、正確な時刻を計時する図示しない計時部や地図情報などを用いて誤差を修正することで、算出部105によって位置情報を算出することができる。
また、マルチパスとは、多重波伝送路のことであり、たとえば、山や建物などの地物によってGPS衛星からの電波が反射または回折し、複数の経路から同じ電波を受信することである。このとき、GPS衛星から直線で最短距離を結ぶ直接波と、反射波や回折波との間に時間差が生じたり、電波の強度が低下したりして、測位情報の精度が悪化してしまう。このため、判定部106は、取得部103による測位情報にマルチパスが生じている場合、位置情報の精度が悪いと判定する。
また、判定部106は、取得部103による出力情報の取得状態に基づいて、位置情報の精度を判定する。出力状態の取得状態は、具体的には、たとえば、ジャイロセンサからの出力の有無、加速度センサからの出力の有無、車速パルスの有無、リバース信号の有無、これらのセンサの学習状況などである。判定部106は、これらの出力情報の取得状態のうちの少なくとも1つを用いて、位置情報の精度を判定する。すなわち、判定部106は、たとえば、取得部103による出力情報の種類が多いほど、位置情報の精度が良いと判定する。なお、判定部106は、測位情報の取得状態と、出力情報の取得状態と、を組み合わせて、位置情報の精度を判定してもよい。
さらに、判定部106は、設定部104による取付角度に基づいて、位置情報の精度を判定してもよい。判定部106は、たとえば、設定部104による取付角度が所定値以上の場合に、センサからの出力情報の出力誤差が大きくなるため、位置情報の精度が悪いと判定する。
また、判定部106は、位置情報が示す現在地点周辺の地図情報の属性に基づいて、位置情報の精度を判定してもよい。地図情報の属性とは、具体的には、たとえば、トンネルの内部や出口周辺、立体駐車場または地下駐車場の内部や出口周辺、高架下、マルチパスが生じる可能性の高いビル街、山間部などである。判定部106は、たとえば、地図情報上において、位置情報が示す現在地点周辺がこれらの属性である場合に、位置情報の精度が悪いと判定する。
探索部107は、判定部106によって判定された位置情報の精度に応じた経路を探索する。探索部107は、たとえば、位置情報の精度が悪い場合、トンネルや細街路や分岐路を回避するように経路を探索する。探索部107は、具体的には、たとえば、トンネルや細街路や分岐路に対応するリンクのコストを位置情報の精度に応じて変更し、位置情報の精度が悪いほど、これらのリンクのコストが増加するようにする。このようにすることで、位置情報の精度が悪いほど、トンネルや細街路や分岐路を多く回避するような経路を探索することができる。なお、探索部107によって探索された経路は、出力部102に出力されてもよい。
また、探索部107は、経路誘導中において位置情報の精度が変更された場合、変更された位置情報の精度に応じた経路を再探索してもよい。すなわち、すでに探索部107によって位置情報の精度に応じた経路を探索した後に、判定部106によって判定された位置情報の精度が変更された場合、探索部107は、変更された位置情報の精度に応じた経路を再探索してもよい。
(経路探索装置の経路探索処理手順)
つぎに、経路探索装置100の経路探索処理手順について説明する。図2は、経路探索装置の経路探索処理手順を示すフローチャートである。図2のフローチャートにおいて、まず、取得部103によって移動体の位置に関する位置関連情報を取得する(ステップS201)。ステップS201においては、たとえば、衛星から送信された測位情報や移動体の移動状態を検知するセンサの出力情報を位置関連情報として取得する。
つぎに、算出部105によって、ステップS201によって取得された位置関連情報に基づいて、移動体の現在地点の位置情報を算出する(ステップS202)。ステップS202においては、ステップS201によって取得された位置関連情報と、記憶部101に記憶された地図情報と、に基づいて、移動体の現在地点の位置情報を算出してもよい。
つぎに、判定部106によって、ステップS202において算出された位置情報の精度を判定する(ステップS203)。ステップS203においては、ステップS201において取得された測位情報の取得状態や出力情報の取得状態に基づいて、位置情報の精度を判定する。また、ステップS203においては、ステップS202において位置関連情報と、地図情報と、に基づいて、移動体の現在地点の位置情報を算出した場合、算出された位置情報が示す現在地点周辺の地図情報の属性に基づいて、位置情報の精度を判定してもよい。
つぎに、探索部107によって、ステップS203において判定された位置情報の精度に応じた経路を探索して(ステップS204)、一連の処理を終了する。ステップS204においては、具体的には、ステップS203において判定された位置情報の精度が悪いほど、トンネルや細街路や分岐路を回避するように探索する。
なお、図2のフローチャートにおいては、ステップS201において位置関連情報を取得した後に、設定部104によって経路探索装置100の取付角度を設定してもよい。この場合、ステップS203において、設定部104によって設定された取付角度に基づいて、位置情報の精度を判定してもよい。
また、図2のフローチャートにおいては、ステップS204において、位置情報の精度に応じた経路を探索して、一連の処理を終了するとしているが、これに限るものではない。ステップS204において経路を探索した後に、ステップS201に戻り、以降の処理を繰り返しおこなってもよい。この場合、たとえば、移動体が目的地点に到着したか否かを判断して、移動体が目的地点に到着した場合、一連の処理を終了するようにしてもよい。
上述したように、本実施の形態の経路探索装置100によれば、取得部103によって取得された位置関連情報に基づいて、算出部105によって移動体の現在地点の位置情報を算出し、判定部106によって位置情報の精度を判定することができる。そして、探索部107によって位置情報の精度に応じた経路を探索することができる。したがって、位置情報の精度が比較的良い場合は、たとえば最短距離の経路などの通常の経路探索による経路を探索することができる。また、位置情報の精度が比較的悪い場合は、算出された現在地点と実際の現在地点にずれが生じる可能性の高いリンクを回避するような経路を探索することができる。したがって、位置情報の精度が比較的悪い場合でも、地図上の現在地点と実際の現在地点とのずれが生じるのを抑えて、正確な経路案内をおこなうことができる。これによって、利用者は、誘導経路を移動中に実際の位置と、地図上の位置とにずれが生じないので、目的地点まで迷わずに誘導経路を移動することができる。
また、本実施の形態の経路探索装置100によれば、取得部103によって、衛星から送信された測位情報を位置関連情報として取得し、判定部106によって、取得部103による測位情報の取得状態に基づいて、位置情報の精度を判定することができる。したがって、GPS衛星の測位次元、衛星からの受信強度、捕捉衛星数、マルチパスの有無によって位置情報の精度を判定することができる。このため、位置情報の精度を正確に判定することができる。
また、本実施の形態の経路探索装置100によれば、取得部103によって、移動体の移動状態を検知するセンサの出力情報を位置関連情報として取得し、判定部106によって、取得部103による出力情報の取得状態に基づいて、位置情報の精度を判定することができる。したがって、ジャイロセンサからの出力情報の有無、加速度センサからの出力情報の有無、車速センサからの出力情報の有無、リバース線からの出力情報の有無、各センサの学習状態に基づいて、位置情報の精度を判定することができる。このように、出力情報を取得したセンサの種類が多いほど、位置情報の精度が良いと判定することができる。このため、位置情報の精度を正確に判定することができる。
また、本実施の形態の経路探索装置100によれば、設定部104によって設定された経路探索装置100の取付角度に基づいて、判定部106によって位置情報の精度を判定することができる。したがって、取付角度が所定値以上の場合、センサからの出力誤差が大きくなるため、位置情報の精度が悪いと判定することができる。このため、位置情報の精度を正確に判定することができる。
また、本実施の形態の経路探索装置100によれば、算出部105によって、位置関連情報および地図情報に基づいて、移動体の現在地点を示す位置情報を算出し、判定部106によって、位置情報が示す現在地点周辺の地図情報の属性に基づいて、位置情報の精度を判定することができる。したがって、マップマッチング処理をおこなって、位置関連情報に基づいて算出された位置情報の誤差を修正することができる。また、位置情報が示す現在地点周辺が、トンネルの内部や出口周辺、立体駐車場または地下駐車場の内部や出口周辺、高架下、マルチパスが生じる可能性の高いビル街、山間部などの場合、位置情報の精度が悪いと判定することができる。このため、たとえば複数のセンサからの出力情報を取得していて、位置情報の精度が良いと判定されている場合でも、GPS衛星からの電波を受信しにくい区間では、位置情報の精度が悪いと判定することができる。したがって、位置情報の精度を正確に判定することができる。
また、本実施の形態の経路探索装置100によれば、探索部107によって位置情報の精度が悪い場合、トンネル、細街路または分岐路を回避するように経路を探索することができる。したがって、位置情報の精度が悪い場合、算出された現在地点と実際の現在地点にずれが生じる可能性の高いトンネル、細街路または分岐路に対応するリンクのコストを増加することで、これらのリンクをなるべく回避するような経路を探索することができる。これによって、利用者は、たとえば誘導経路に従って、トンネル、細街路または分岐路を移動中に、地図上の現在地点が、実際の現在地点とずれて、自身がどこにいるのかわからなくなるといったことを防ぐことができる。このため、目的地点まで迷わずに誘導経路を移動することができる。
また、本実施の形態の経路探索装置100によれば、探索部107によって、経路誘導中において位置情報の精度が変更された場合、変更された位置情報の精度に応じた経路を再探索することができる。したがって、たとえば、経路が探索された後に、位置情報の精度が悪くなった場合でも、位置情報の精度が悪い場合に応じた経路を再探索することができる。これによって、利用者は、たとえば経路誘導中に何らかの理由で位置情報の精度が変わっても、常に位置情報の精度に応じた経路を案内されることができるため、目的地点まで迷わずに誘導経路を移動することができる。
以下に、本発明の実施例について説明する。本実施例では、たとえば、車両(四輪車、二輪車を含む)などの移動体に搭載されるナビゲーション装置によって、本発明の経路探索装置を実施した場合の一例について説明する。
(ナビゲーション装置のハードウェア構成)
つぎに、本実施例にかかるナビゲーション装置300のハードウェア構成について説明する。図3は、本実施例にかかるナビゲーション装置のハードウェア構成を示すブロック図である。図3において、ナビゲーション装置300は、CPU301と、ROM302と、RAM303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、音声I/F(インターフェース)308と、マイク309と、スピーカ310と、入力デバイス311と、映像I/F312と、ディスプレイ313と、通信I/F314と、GPSユニット315と、各種センサ316と、カメラ317と、を備えている。各構成部301〜317は、バス320によってそれぞれ接続されている。
まず、CPU301は、ナビゲーション装置300の全体の制御を司る。ROM302は、ブートプログラム、データ更新プログラム、取付角度設定プログラム、位置情報算出プログラム、マップマッチング処理プログラム、位置精度判定プログラム、経路探索プログラムなどのプログラムを記録している。また、RAM303は、CPU301のワークエリアとして使用される。すなわち、CPU301は、RAM303をワークエリアとして使用しながら、ROM302に記録された各種プログラムを実行することによって、ナビゲーション装置300の全体の制御を司る。
取付角度設定プログラムは、ナビゲーション装置300の取付角度を設定させる。取付角度設定プログラムは、後述するGPSユニット315や各種センサ316からの出力情報に基づいて、所定の基準に対するピッチ方向/ヨー方向/ロール方向を算出させて、ナビゲーション装置300の取付角度を設定させる。また、取付角度設定プログラムは、利用者によって入力された取付角度にナビゲーション装置300を設定させてもよい。
位置情報算出プログラムは、後述するGPSユニット315からの出力情報や各種センサ316からの出力値を用いて、車両の現在地点の位置情報を算出させる。位置情報算出プログラムは、GPSユニット315からの出力情報および各種センサ316からの出力値を用いて、位置情報を算出させてもよいし、GPSユニット315からの出力情報または各種センサ316からの出力値のみを用いて、位置情報を算出させてもよい。
マップマッチング処理プログラムは、位置情報算出プログラムによって算出された位置情報と、後述する磁気ディスク305または光ディスク307に記録された地図情報に基づいて、車両が実際に位置している可能性の高い道路上の位置を特定させる。これによって、位置情報算出プログラムによって算出された位置情報の誤差を修正させる。また、マップマッチング処理プログラムは、地図情報における車両が実際に位置している可能性の高い道路上の位置に車両の現在地点をあらわすマークを表示させてもよい。
位置精度判定プログラムは、位置情報算出プログラムによって算出された位置情報またはマップマッチング処理プログラムによって誤差の修正された位置情報の精度を判定させる。詳細は後述するが、位置精度判定プログラムは、たとえば、GPSユニット315による測位情報の取得状態や各種センサ316による出力値の取得状態に基づいて、位置情報の精度を判定させる。また、位置精度判定プログラムは、たとえば、位置情報算出プログラムによって位置情報を算出するときに、GPSユニット315からの出力情報および各種センサ316からの出力値に基づいて算出した方が、GPSユニット315からの出力情報のみに基づいて算出するより、位置情報の精度が良いと判定させる。また、各種センサ316からの出力値の種類が多いほど、位置情報の精度が良いと判定させる。
さらに、位置精度判定プログラムは、マップマッチング処理プログラムによって特定された車両の現在地点を示す地図上の位置が、所定の属性である場合に、他の属性よりも位置精度が悪いと判定させる。所定の属性とは、たとえば、トンネルの内部や出口周辺、立体駐車場または地下駐車場の内部や出口周辺、高架下、マルチパスが生じる可能性の高いビル街、山間部などである。
経路探索プログラムは、位置精度判定プログラムによって判定された位置情報の精度に応じた経路を探索させる。詳細は後述するが、経路探索プログラムは、位置情報の精度に応じて、地図情報に含まれる、トンネルや細街路や分岐路に応じたリンクのコストを変更させる。そして、位置情報の精度が悪いほど、これらのリンクのコストが増加するようにさせる。このようにすることで、位置情報の精度が悪いほど、トンネルや細街路や分岐路を多く回避するような経路を探索させることができる。
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの読み取り/書き込みを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記録する。磁気ディスク305としては、たとえば、HD(ハードディスク)やFD(フレキシブルディスク)を用いることができる。
また、光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータの読み取り/書き込みを制御する。光ディスク307は、光ディスクドライブ306の制御にしたがってデータが読み出される着脱自在な記録媒体である。光ディスク307は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク307のほか、MO、メモリカードなどであってもよい。
磁気ディスク305および光ディスク307に記録される情報の一例としては、地図情報や機能情報が挙げられる。地図情報は、建物、河川、地表面などの地物(フィーチャ)をあらわす背景データと、道路の形状をあらわす道路形状データとを含んでおり、地区ごとに分けられた複数のデータファイルによって構成されている。
道路形状データは、さらに交通条件データを有する。交通条件データには、たとえば、各ノードについて、信号や横断歩道などの有無、高速道路の出入り口やジャンクションの有無、各リンクについての長さ(距離)、道幅、進行方向、道路種別(高速道路、有料道路、一般道路など)などの情報が含まれている。
機能情報は、地図上の施設の形状をあらわす3次元データ、当該施設の説明をあらわす文字データ、その他地図情報以外の各種のデータである。地図情報や機能情報は、地区ごとあるいは機能ごとにブロック分けされた状態で記録されている。具体的には、たとえば、地図情報は、各々が、表示画面に表示された地図において所定の地区をあらわすように、地区ごとにブロック分けすることができる状態で記録されている。また、たとえば、機能情報は、各々が、1つの機能を実現するように、機能ごとに複数にブロック分けすることができる状態で記録されている。
また、機能情報は、上述した3次元データや文字データに加えて、経路探索、所要時間の算出、経路誘導などを実現するプログラムデータなどの機能を実現するためのデータである。地図情報および機能情報は、それぞれ、地区ごとあるいは機能ごとに分けられた複数のデータファイルによって構成されている。
音声I/F308は、音声入力用のマイク309および音声出力用のスピーカ310に接続される。マイク309に受音された音声は、音声I/F308内でA/D変換される。マイク309は、たとえば、車両のサンバイザー付近に設置され、その数は単数でも複数でもよい。スピーカ310からは、所定の音声信号を音声I/F308内でD/A変換した音声が出力される。なお、マイク309から入力された音声は、音声データとして磁気ディスク305あるいは光ディスク307に記録可能である。
入力デバイス311は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス311は、リモコン、キーボード、タッチパネルのうちいずれか1つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。
映像I/F312は、ディスプレイ313に接続される。映像I/F312は、具体的には、たとえば、ディスプレイ313全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ313を制御する制御ICなどによって構成される。
ディスプレイ313には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ313には、上述した地図情報が、2次元または3次元に描画される。ディスプレイ313に表示された地図情報には、ナビゲーション装置300を搭載した車両の現在地点をあらわすマークなどを重ねて表示することができる。車両の現在地点は、CPU301によって算出される。
ディスプレイ313としては、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを用いることができる。ディスプレイ313は、たとえば、車両のダッシュボード付近に設置される。ディスプレイ313は、車両のダッシュボード付近のほか、車両の後部座席周辺などに設置するなどして、車両において複数設置されていてもよい。
通信I/F314は、無線を介してネットワークに接続され、ナビゲーション装置300とCPU301とのインターフェースとして機能する。通信I/F314は、さらに、無線を介してインターネットなどの通信網に接続され、この通信網とCPU301とのインターフェースとしても機能する。
通信網には、LAN、WAN、公衆回線網や携帯電話網などがある。具体的には、通信I/F314は、たとえば、FMチューナー、VICS(Vehicle Information and Communication System)/ビーコンレシーバ、無線ナビゲーション装置、およびその他のナビゲーション装置によって構成され、VICSセンターから配信される渋滞や交通規制などの道路交通情報を取得する。なお、VICSは登録商標である。また、通信I/F314は、たとえば、DSRC(Dedicated Short Range Communication)を用いた場合は、路側に設置された無線装置と双方向の無線通信をおこなう車載無線装置によって構成され、交通情報や地図情報など各種情報を取得する。なお、DSRCの具体例としては、ETC(ノンストップ自動料金支払いシステム)が挙げられる。
GPSユニット315は、GPS衛星からの電波を受信し、車両の位置に関する測位情報を出力する。GPSユニット315の出力情報は、後述する各種センサ316の出力値とともに、CPU301による車両の現在地点の位置情報の算出に際して利用される。現在地点を示す情報は、たとえば緯度・経度、高度などの、地図情報上の1点を特定する情報である。GPSユニット315は、通常4個のGPS衛星から電波を受信するが、捕捉衛星数が4個より多い場合、4個のGPS衛星の組み合わせを測位情報の誤差が最も少ない組み合わせにする。また、GPSユニット315は、捕捉衛星数が4個未満の場合でも、測位情報を出力することができる。この場合、CPU301による車両の現在地点の位置情報の算出の際に、正確な時刻を計時する図示しない計時部や地図情報などを用いて誤差を修正した測位情報を用いる。
各種センサ316は、車速センサ、加速度センサ、角速度センサなどの、車両の位置や挙動を判断するための情報を出力する。各種センサ316の出力値は、CPU301による車両の現在地点の位置情報の算出や、速度や方位の変化量の算出に用いられる。また、各種センサ316は、リバース線からの、車両が前進しているか後退しているかを判断するための情報を出力してもよい。各種センサ316から出力される出力値の種類が多いほど、CPU301によって算出される車両の現在地点の位置情報の精度が向上する。なお、ナビゲーション装置300は、各種センサ316を備えていなくてもよい。この場合、車両の現在地点の位置情報は、GPSユニット315の出力情報のみを用いて算出される。
カメラ317は、車両内部あるいは外部の映像を撮影する。映像は静止画あるいは動画のどちらでもよく、たとえば、カメラ317によって車両内部の搭乗者の挙動を撮影し、撮影した映像を映像I/F312を介して磁気ディスク305や光ディスク307などの記録媒体に出力する。また、カメラ317によって車両外部の状況を撮影し、撮影した映像を映像I/F312を介して磁気ディスク305や光ディスク307などの記録媒体に出力する。また、カメラ317は、赤外線カメラ機能を有しており、赤外線カメラ機能を用いて撮影された映像情報に基づいて車両内部に存在する物体の表面温度の分布を相対的に比較することができる。また、記録媒体に出力された映像は、上書き記録や保存がおこなわれる。
図1に示した経路探索装置100が備える記憶部101、出力部102、取得部103、設定部104、算出部105、判定部106、探索部107は、図3に示したナビゲーション装置300におけるROM302、RAM303、磁気ディスク305、光ディスク307などに記録されたプログラムやデータを用いて、CPU301が所定のプログラムを実行し、ナビゲーション装置300における各部を制御することによってその機能を実現する。
すなわち、実施例のナビゲーション装置300は、ナビゲーション装置300における記録媒体としてのROM302に記録されている経路探索プログラムを実行することにより、図1に示した経路探索装置100が備える機能を、図2に示した経路探索処理手順で実行することができる。
(ナビゲーション装置の処理の内容)
つぎに、ナビゲーション装置の処理の内容について説明する。図4は、ナビゲーション装置の処理の内容を示すフローチャートである。図4のフローチャートにおいて、まず、GPS衛星から送信された測位情報を取得したか否かを判断して(ステップS401)、測位情報を取得した場合(ステップS401:Yes)、測位情報の取得状態を検出して(ステップS402)、ステップS403に進む。
また、ステップS401において測位情報を取得していない場合(ステップS401:No)、そのままステップS403に進み、各種センサ316からの出力値を取得したか否かを判断する(ステップS403)。ステップS403において出力値を取得した場合(ステップS403:Yes)、出力値の取得状態を検出する(ステップS404)。そして、取付角度設定プログラムを実行して設定されたナビゲーション装置300の取付角度を検出して(ステップS405)、ステップS406に進む。
また、ステップS403において出力値を取得していない場合(ステップS403:No)、そのままステップS406に進み、位置情報算出プログラムを実行して、車両の現在地点の位置情報を算出する(ステップS406)。また、マップマッチング処理プログラムを実行して、マップマッチング処理をおこなう(ステップS407)。そして、ステップS407において特定された、位置情報が示す現在地点周辺の地図情報の属性を検出する(ステップS408)。
つぎに、位置精度判定プログラムを実行して、ステップS406において算出された位置情報の精度、もしくはステップS407においてマップマッチング処理がおこなわれた後の位置情報の精度を判定する(ステップS409)。ステップS409においては、ステップS401において測位情報を取得したか否かの情報、ステップS403において出力値を取得したか否かの情報、ステップS402、S404、S405、S408において検出された情報を用いて、位置情報の精度を判定する。
ついで、位置情報の精度が悪いと判定された場合(ステップS410:No)、地図情報に含まれる所定のリンクのコストを増加して(ステップS411)、ステップS412に進む。ステップS411において、所定のリンクは、たとえばトンネルや細街路や分岐路である。また、ステップS410において、位置情報の精度が良いと判定された場合(ステップS410:Yes)、そのままステップS412に進み、車両の目的地点が設定されているか否かを判断する(ステップS412)。
ステップS412において目的地点が設定されている場合(ステップS412:Yes)、目的地点までの経路を探索する(ステップS413)。ここで、ステップS413において、目的地点までの経路を探索する際には、たとえばリンクのコストがなるべく低くなるように経路が探索される。したがって、ステップS413においては、ステップS411においてコストが増加されたリンクを回避するように経路が探索されることとなる。つぎに、車両が目的地点に到達したか否かを判断して(ステップS414)、目的地点に到達した場合(ステップS414:Yes)、一連の処理を終了する。
一方、ステップS412において目的地点が設定されていない場合(ステップS412:No)、ステップS414において目的地点に到達していない場合(ステップS414:No)、ステップS401に戻り以降の処理を繰り返しおこなう。
なお、図4のフローチャートにおいては、ステップS409において位置情報の精度を判定した後に、ステップS410において位置情報の精度が良いか否かを判定したがこれに限るものではない。具体的には、たとえば、ステップS410において、位置情報の精度が良いか悪いかを判定するのみではなく、3段階以上にランク付けをしてもよい。この場合、所定のリンクに対して、ランクに応じたコストを増加してもよい。このようにすることで、位置情報の精度が悪いほど、コストを増加することができる。したがって、位置情報の精度が悪いほど、トンネルや細街路や分岐路をより回避するように経路を探索することができる。
また、図4のフローチャートにおいては、ステップS413において経路を探索した後に、ステップS414に進み目的地点に到達したか否かを判断するとしているが、これに限るものではない。具体的には、たとえば、ステップS413において経路が探索された後に、探索された経路をディスプレイ313やスピーカ310に出力してもよい。
(位置情報の精度を判定する処理の内容の一例について)
つぎに、図5を用いて、図4のフローチャートにおけるステップS409において、位置情報の精度を判定する処理の内容について説明する。図5は、位置情報の精度を判定する処理の内容の一例について示す説明図である。図5に示すように、たとえば、「位置関連情報」501の項目ごとに、「状態」502を検出して、それぞれの「状態」502ごとに、「−」511または「+」512の「評価」510を判断し、精度を判定する。
具体的には、たとえば、「位置関連情報」501が取付角度の場合、「状態」502として取付角度が所定値以上か否かを判断する。取付角度が所定値以上の場合、GPSユニット315や各種センサ316からの出力情報の出力誤差が大きくなるため、「−」511とし、所定値未満の場合「+」512とする。
また、「位置関連情報」501がGPSユニット315の場合、「状態」502として、測位次元が所定値以上か否か、受信強度が所定値以上か否か、捕捉衛星数が所定値以上か否か、マルチパスが生じているか否かを判断する。そして、各「状態」502ごとに「−」511または「+」512の「評価」510を判断して精度を判定する。
ここで、捕捉衛星数が所定値以上か否かの判断は、GPSユニット315によって電波を受信可能な衛星の数が、4個以上か否かを判断する。一般に、GPSによって位置情報を算出するためには、GPSユニット315によって4個の衛星から受信した測位情報が必要であるため、捕捉衛星数が4個以上の場合、「+」512とする。また、捕捉衛星数が4個未満の場合でも、位置情報の精度は落ちるが、正確な時刻を計時する図示しない計時部や地図情報などを用いて誤差を修正することで、位置情報を算出することができる。しかしながら、捕捉衛星数が4個未満であると位置情報の精度が悪くなるため、「−」511とする。なお、GPSユニット315による捕捉衛星数が4個より多い場合、4個の衛星の組み合わせを測位情報の誤差の少ない組み合わせとすることで、位置情報の精度がさらに向上する。
また、マルチパスとは、多重波伝送路のことであり、たとえば、山や建物などの地物によってGPS衛星からの電波が反射または回折し、複数の経路から同じ電波を受信することである。このとき、GPS衛星から直線で最短距離を結ぶ直接波と、反射波や回折波との間に時間差が生じたり、電波の強度が低下したりして、測位情報の精度が悪化してしまう。このため、GPSユニット315によって受信された測位情報にマルチパスが生じている場合、「−」511とする。
また、「位置関連情報」501が各種センサ316の場合、「状態」502として、ジャイロセンサからの出力値を取得したか否か、加速度センサからの出力値を取得したか否か、車速センサからの出力値を取得したか否か、リバース線からの出力値を取得したか否か、センサの学習状態が所定値以上か否かを判断する。そして、各「状態」502ごとに、「−」511または「+」512の「評価」510を判断して精度を判定する。すなわち、出力値の取得されたセンサの種類が多いほど、「評価」510に「+」512が増え、位置情報の精度が良いと判定される。
また、「位置関連情報」501が地図情報の属性の場合、「状態」502として、車両の現在地点が、立体駐車場の内部や出口周辺か否か、地下駐車場の内部や出口周辺か否か、トンネルの内部や出口周辺か否か、高架下か否か、マルチパスが生じる可能性の高いビル街か否か、山間部か否かを判断する。そして、各「状態」502ごとに、「−」511または「+」512の「評価」510を判断して精度を判定する。
そして、たとえば、各「位置関連情報」501ごとの、各「状態」502の「評価」510を加算・減算し、合計の数値により位置情報の精度を判定する。数値が高いほど精度が良く、数値が低いほど精度が悪いと判定される。また、合計の数値をランク付けして、位置情報の精度を複数のランクに分けて判定してもよい。本実施例においては、位置情報の精度が最も良いと判定された場合を「精度A」とし、次に位置情報の精度が良いと判定された場合を「精度B」として、位置情報の精度が最も悪いと判定された場合を「精度C」とする。なお、本実施例においては、ランクを3つに分けて位置情報の精度を判定したが、これに限るものではない。ランクは2つでもよいし、3つより多くてもよい。なお、所定の「位置関連情報」501または所定の「状態」502の「評価」510に重み付けをしてもよい。すなわち、「位置関連情報」501ごと、「状態」502ごとに異なる点数を加算・減算するようにしてもよい。
(ナビゲーション装置によって探索される経路の一例について)
つぎに、図6〜図8を用いて、図4のフローチャートにおけるステップS413において、ナビゲーション装置300によって探索される経路の一例について説明する。なお、図6〜図8においては、たとえば図5において「精度A」の場合を位置情報の精度が良いと判定し、「精度B」または「精度C」の場合を位置情報の精度が悪いと判定することとする。図6は、トンネルを回避するような経路について示す説明図である。図6においては、車両の現在地点601から目的地点602までのリンクに、トンネルに対応するリンク603が含まれる場合について説明する。図6に示すように、位置情報の精度が良い場合、ナビゲーション装置300は、トンネルを通る経路604およびトンネルを回避するような経路605を探索する。一方、位置情報の精度が悪い場合、ナビゲーション装置300は、トンネルに対応するリンク603のコストを増加することで、トンネルを通る経路604を探索せずに、トンネルを回避するような経路605のみを探索する。したがって、位置情報の精度が悪い場合、位置情報の精度が良くないと正確な位置情報が算出されない、トンネルに対応するリンク603を回避するように経路を探索することができる。
図7は、細街路を回避するような経路について示す説明図である。図7においては、車両の現在地点701から目的地点702までのリンクに、細街路に対応するリンク703が含まれる場合について説明する。図7に示すように、位置情報の精度が良い場合、ナビゲーション装置300は、現在地点701から目的地点702までの最短経路である、細街路を通る経路704を探索する。一方、位置情報の精度が悪い場合、ナビゲーション装置300は、細街路に対応するリンク703のコストを増加することで、現在地点701から目的地点702までの最短経路より優先して、細街路を回避するような経路705を探索する。したがって、位置情報の精度が良い場合は、最短経路を探索し、位置情報の精度が悪い場合は、位置情報の精度が良くないと正確な位置情報が算出されない、細街路に対応するリンク703を回避するように経路を探索することができる。
図8は、分岐路を回避するような経路について示す説明図である。図8においては、車両の現在地点801から目的地点802までのリンクに、分岐路に対応するリンク803が含まれる場合について説明する。図8に示すように、位置情報の精度が良い場合、ナビゲーション装置300は、現在地点801から目的地点802までの最短経路である、分岐路を通る経路804を探索する。一方、位置情報の精度が悪い場合、ナビゲーション装置300は、分岐路に対応するリンク803のコストを増加することで、現在地点801から目的地点802までの最短経路より優先して、分岐路を回避するような経路805を探索する。したがって、位置情報の精度が良い場合は、最短経路を探索し、位置情報の精度が悪い場合は、位置情報の精度が良くないと正確な位置情報が算出されない、分岐路に対応するリンク803を回避するように経路を探索することができる。
なお、図6〜図8においては、位置情報の精度が良い場合と、悪い場合との、2段階に位置情報の精度を判定した場合について説明したが、これに限るものではない。具体的には、たとえば、位置情報の精度にランク付けをおこない、3段階以上に位置情報の精度を判定してもよい。そして、所定のランク以上の場合、最短経路を探索して、所定のランク未満の場合、トンネルや細街路や分岐路を回避するような経路を探索する。また、たとえば、位置情報の精度のランクによって、トンネルや細街路や分岐路に対応するリンクのコストの増加量を変えて、位置情報の精度が悪ければ悪いほど、トンネルや細街路や分岐路をより回避するような経路を探索するようにしてもよい。
上述したように、実施例のナビゲーション装置300によれば、ナビゲーション装置300の取付角度の状態、GPSユニット315の測位情報の取得状態、各種センサ316の出力値の取得状態、現在地点周辺の地図情報の属性などの評価を合計した数値によって、位置情報の精度にランク付けをすることができる。そして、位置情報の精度のランクに応じた経路を、探索することができる。
また、実施例のナビゲーション装置300によれば、位置情報の精度が比較的悪いと判定された場合、たとえばトンネルや細街路や分岐路などの、位置情報の精度が悪いと、地図上の現在地点と実際の現在地点とにずれが生じる可能性の高いリンクのコストを増加して、これらのリンクを回避するような経路を優先的に探索することができる。また、位置情報の精度が比較的良いと判定された場合、最短距離の経路などの通常探索される経路を探索することができる。
以上説明したように、本発明の経路探索装置、経路探索方法、経路探索プログラム、および記録媒体によれば、移動体の現在地点の位置情報の精度に応じた経路を探索することができる。
なお、本実施の形態で説明した経路探索方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータ、ワークステーション、携帯端末装置(携帯電話)などのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。