以下に添付図面を参照して、本発明に係る傾斜角度算出装置、傾斜角度算出方法、傾斜角度算出プログラムおよび記録媒体の好適な実施の形態を詳細に説明する。
(傾斜角度算出装置の機能的構成について)
まず、本実施の形態の傾斜角度算出装置の機能的構成について説明する。図1は、本発明の実施の形態に係る傾斜角度算出装置の機能的構成を示すブロック図である。図1に示すように、本実施の形態の傾斜角度算出装置100は、加速度取得部101と、傾斜角度算出部102と、判定部103と、出力部104と、移動距離取得部105と、補正部106と、現在位置取得部110とを備えている。例えば、傾斜角度算出装置100は、車両などの移動体に搭載されて用いられる。
加速度取得部101は、傾斜角度算出装置100を搭載した移動体の地面に対する垂直方向の垂直加速度を取得する機能を有する。例えば、加速度取得部101は、移動体の地面に対する垂直方向の垂直加速度を検出する加速度センサにより垂直加速度を取得する。例えば、移動体には、地球の重力による重力加速度と、移動による加速度とが生じ得る。これらを合わせた加速度が垂直加速度となり、加速度センサにより検出される加速度となる。このように、加速度取得部101は1つの軸に対する加速度を取得できればよいため、1軸の加速度センサを用いることにより、多軸の加速度センサを用いる場合に比べて、加速度センサのコストを削減することができる。
傾斜角度算出部102は、加速度取得部101により取得された垂直加速度と所定の重力加速度とに基づき、移動体が移動した地面の傾斜角度を算出する機能を有する。ここで、傾斜角度算出部102が算出する傾斜角度の値を「θ」、加速度取得部101により取得された垂直加速度の値を「Az」、重力加速度の値を「G(所定値。例えば9.8m/s2)」とすると、θ,Az,Gの関係は、G×cosθ=Azで表すことができる。したがって、傾斜角度算出部102は、θ=cos-1(Az/G)を解くことにより、傾斜角度を算出することができる。なお、傾斜角度算出装置100による傾斜角度の算出例については、図2などを用いて後述する。
判定部103は、移動体の移動履歴と各地点の標高を表す標高データとに基づき、移動体の上り下りを判定する機能を有する。例えば、判定部103は、傾斜角度算出部102により算出された傾斜角度が閾値以上(例えば1度以上)となった場合に上記の判定を行う。このように判定を行うための条件を設定することにより、判定部103による判定が不要なとき(例えば傾斜角度が0度であるとき)には判定部103に判定を行わせず、傾斜角度算出装置100の処理負担を低減させることができる。
例えば、判定部103は、現在位置取得部110と接続されている。ここで、現在位置取得部110は、傾斜角度算出装置100を搭載した移動体の現在位置を取得する機能を有する。例えば、現在位置取得部110はGPSレシーバを備えている。現在位置取得部110は、GPSレシーバによりGPS衛星から電波を受信し、この電波の発信タイミングから受信タイミングまでの時間と、電波の伝播速度とから、傾斜角度算出装置100を搭載した移動体の現在位置を取得する。現在位置取得部110は、所定周期(例えば1秒間隔)で移動体の現在位置を取得する。
判定部103は、現在位置取得部110により現在位置が取得されるごとに、この現在位置に対応する地点を表す情報を移動履歴として記憶する。例えば、現在位置取得部110により前回取得された現在位置がX地点、今回取得された現在位置がY地点であった場合、判定部103は、X地点→Y地点といったように、その時々の現在位置に対応する地点とこれらの地点に対する移動順序とを対応付けて移動履歴として記憶する。
また、例えば、判定部103は、各地点の識別情報(例えば位置座標)と、各地点の標高(例えば海抜)を表す情報とが対応付けられた標高データを予め記憶している。判定部103は、移動履歴と標高データとから、傾斜角度が閾値以上となる前に移動体が位置していた地点に対する標高を表す情報と、傾斜角度が閾値以上となった場合に移動体が位置していた地点に対する標高を表す情報とを取得する。
そして、判定部103は、傾斜角度が閾値以上となる前に移動体が位置していた地点の標高が、傾斜角度が閾値以上となった場合に移動体が位置していた地点よりも高ければ、移動体が下ったと判定する。逆に、傾斜角度が閾値以上となる前に移動体が位置していた地点の標高が、傾斜角度が閾値以上となった場合に移動体が位置していた地点よりも低ければ、移動体が上ったと判定する。
例えば、移動体が、傾斜角度が閾値以上となる前にX地点に位置しており、傾斜角度が閾値以上となった場合にY地点に位置していたとする。ここで、X地点は海抜0mの地点であり、Y地点は海抜10mの地点とする。このため、標高データにおけるX地点の標高を表す情報は0mとなり、Y地点の標高を表す情報は10mとなる。この場合、傾斜角度が閾値以上となる前に移動体が位置していたX地点の標高は、傾斜角度が閾値以上となった場合に位置していたY地点の標高よりも低いので、判定部103は移動体が上ったと判定する。
また、例えば、標高データにおいて一地点ごとに標高を表す情報を設けると、標高データのデータ量が膨大となってしまうことも考えられる。そこで、標高データを、複数の地点を含むエリアごとの標高を表す情報からなるデータとしてもよい。例えば、この場合、地図上において、特定地点を中心とした所定範囲内に含まれる地点が同一エリアとして設定され、標高データはエリアごとの標高を表す情報からなる。
具体的に、例えば、X地点を中心とした半径100mの範囲内に含まれる地点を第1エリアに含まれる地点とし、Y地点を中心とした半径100mの範囲内に含まれる地点を第2エリアに含まれる地点とする。そして、第1エリアの標高を表す情報を0mとし、第2エリアの標高を表す情報を10mとする。
さらに、標高データは、標高が所定範囲内に含まれる地点が同一エリアとして設定されて、エリアごとの標高を表す情報からなるデータであってもよい。例えば、この場合、標高が0m〜9mの範囲内に含まれる地点を第1エリアに含まれる地点とし、標高が10m〜19mの範囲内に含まれる地点を第2エリアに含まれる地点とする。そして、第1エリアの標高を表す情報を0mとし、第2エリアの標高を表す情報を10mとする。
このように、標高データを、エリアごとの標高を表す情報から構成することにより、一地点ごとに標高を表す情報を設ける場合に比べて、標高データのデータ量を削減することができる。標高データがエリアごとの標高を表す情報から構成される場合、例えば、判定部103は、傾斜角度が閾値以上となる前に移動体が位置していた地点が含まれるエリアの標高と、傾斜角度が閾値以上となった場合に移動体が位置していた地点が含まれるエリアの標高とに基づき、移動体の上り下りを判定する。
出力部104は、判定部103の判定結果と、傾斜角度算出部102により算出された傾斜角度とを関連付けて出力する機能を有する。例えば、図1に示すように、出力部104は、補正部106に判定結果と傾斜角度とを関連付けて出力する。補正部106については後述する。
移動距離取得部105は、移動体の地面に沿った移動距離を取得する機能を有する。移動距離取得部105は、各地点間の地面に沿った距離を表す情報などを含んだ地図データを記憶している。そして、移動距離取得部105は、現在位置取得部110により取得された現在位置が変化した場合、この変化前に移動体が位置していた地点と、この変化後に移動体が位置していた地点との距離を地図データから取得する。具体的に、移動体がX地点からY地点まで移動し、地図データにおいてX地点とY地点の距離がDと定められていれば、移動距離取得部105は、距離Dを移動体の地面に沿った移動距離として取得する。なお、例えば、移動距離取得部105は、移動体の車輪の回転などを検知して、車輪が回転した回数と、予め設定された車輪の外径(円周)や直径とに基づいて、移動体の地面に沿った移動距離を取得してもよい。
補正部106は、移動距離取得部105により取得された移動距離と、出力部104により出力された判定部103の判定結果と傾斜角度とに基づき、移動距離取得部105により取得された移動距離を地図上における移動距離に補正する機能を有する。例えば、傾斜角度算出装置100を含んで構成されるナビゲーション装置は、移動体の現在位置周辺の地形を平面に射影した地図画像をディスプレイに表示させる。このため、補正部106は、移動体の実際の移動距離(すなわち移動距離取得部105により取得される移動距離)を、平面に射影した際の移動距離(すなわち地図上における移動距離)に補正する。
具体的に、例えば、傾斜角度θの地面を移動体が距離L(補正前の移動距離)移動したとする。この場合、補正部106は、補正後の移動距離lを、l=α×L×cosθとして算出する。例えば、ここで、αは、傾斜角度に応じて定められた所定の補正値であり、上りの場合には「1」未満の値、下りの場合には「1」以上の値とされる。補正部106により補正された地図上における移動距離は、例えば、出力部104を介してナビゲーション装置に出力される。そして、ナビゲーション装置は、補正部106により補正された地図上における移動距離を用いて、ディスプレイの表示内容を制御する。
例えば、ナビゲーション装置は、移動体を表す移動体アイコンと、移動体の周辺の地図を表す地図画像とをディスプレイに表示させる。そして、移動体アイコンに対して地図画像を、補正部106により補正された移動距離に応じた移動量で相対的に移動させて表示させる。このように構成することにより、ナビゲーション装置は、補正後の移動距離に基づいて、ディスプレイの自車両アイコンに対して地図画像を相対的に移動させて表示することができるため、地図上における移動体の正確な現在位置を利用者に案内することができ、利用者の現在位置の把握を容易にして、利用者の利便性を高めることができる。
(傾斜角度算出装置による傾斜角度算出例)
つぎに、傾斜角度算出装置100による傾斜角度算出例について説明する。図2は、本実施の形態の傾斜角度算出装置による傾斜角度算出例を示す説明図である。例えば、図2において、傾斜角度算出装置100を搭載した移動体201は、地面202上を図2中符号210で表す方向に移動している。地面202は、傾斜が0度であることを表す基準面203に対して、図2中符号220を軸心に半時計回りに角度θで傾斜している。この場合、この角度θが、傾斜角度算出装置100が算出する傾斜角度となる。
また、移動体201には基準面203と直交する方向に図2中符号230で示す重力加速度Gが生じており、地面202と直交する方向に(地面202と垂直な方向に)図2中符号240で示す垂直加速度Azが生じている。この場合、前述のように、θ,Az,Gの関係は、G×cosθ=Azで表すことができる。したがって、傾斜角度θは、θ=cos-1(Az/G)を解くことにより求められる。
そして、移動体201が、傾斜角度θが閾値(例えば1度以上)以上となる前、図2中符号250で表す地点に位置しており、傾斜角度θが閾値以上となった場合、図2中符号260で表す地点に位置していたとする。ここで、符号250で表す地点の標高はZ1となっており、符号260で表す地点の標高はZ2(Z2<Z1)となっている。この場合、傾斜角度算出装置100は、移動体201が下ったと判定し、傾斜角度θおよび下ったことを表す情報を出力する。
逆に、例えば、移動体201が地面202上を図2中符号270で表す方向に移動していた。そして、移動体201が、傾斜角度θが閾値以上(例えば1度以上)となる前、図2中符号280で表す地点に位置しており、傾斜角度θが閾値以上となった場合、図2中符号260で表す地点に位置していたとする。
ここで、符号260で表す地点の標高はZ2となっており、符号280で表す地点の標高はZ3(Z3<Z2)となっている。この場合、傾斜角度算出装置100は、移動体201が上ったと判定し、傾斜角度θおよび上ったことを表す情報を出力する。
(傾斜角度算出装置が行う処理について)
つぎに、傾斜角度算出装置100が行う処理について説明する。図3は、本実施の形態の傾斜角度算出装置が行う処理の一例を示すフローチャートである。図3に示すように、まず、傾斜角度算出装置100は垂直加速度を取得して(ステップS301)、取得した垂直加速度と所定の重力加速度とに基づいて傾斜角度を算出する(ステップS302)。傾斜角度の算出例については図2などを用いて説明した通りである。
つづいて、傾斜角度算出装置100は、算出した傾斜角度が閾値以上であるかを判定する(ステップS303)。傾斜角度算出装置100は、算出した傾斜角度が閾値以上であれば(ステップS303:Yes)、移動体201の移動履歴と標高データとに基づき、移動体201の上り下りを判定する(ステップS304)。
そして、傾斜角度算出装置100は、ステップS304の判定結果とステップS302で算出した傾斜角度とを関連付けて出力し(ステップS305)、図3のフローチャートで示した一連の処理を終了する。また、傾斜角度算出装置100は、算出した傾斜角度が閾値未満であれば(ステップS303:No)、そのまま図3のフローチャートで示した一連の処理を終了する。
以上に説明したように、傾斜角度算出装置100は、標高データを用いることにより、垂直加速度および重力加速度から算出した傾斜角度と、移動体201の上り下りを表す情報とを出力することができる。これによって、傾斜角度算出装置100は、移動体201の車速を計測できないPNDのようなナビゲーション装置に対しても傾斜角度および上り下りに基づく移動距離などの補正を行わせることができ、地図上における正確な移動体の現在位置を利用者に案内させ、利用者の利便性を高めることができる。
つぎに、前述した実施の形態の傾斜角度算出装置100の実施例について説明する。本実施例は、前述の傾斜角度算出装置100を、車両(二輪・四輪を含む)などの移動体に搭載されるナビゲーション装置に適用した場合の例である。
(ナビゲーション装置のハードウェア構成)
まず、本実施例のナビゲーション装置のハードウェア構成について説明する。図4は、本実施例のナビゲーション装置のハードウェア構成を示すブロック図である。
図4に示すように、ナビゲーション装置400は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、音声I/F(Interface)408と、スピーカ409と、入力デバイス410と、映像I/F411と、ディスプレイ412と、通信I/F413と、GPSユニット414と、各種センサ415と、を備えている。また、各構成部401〜415は、バス420によってそれぞれ接続されている。
CPU401は、ナビゲーション装置400の全体の制御を司る。ROM402には、ブートプログラム、傾斜角度算出プログラム、表示プログラムなどの各種プログラムが記録されている。なお、これらのプログラムは、ROM402に限らず、磁気ディスク405や光ディスク407などの不揮発性の記録媒体に記録されていてもよい。RAM403は、CPU401のワークエリアとして使用される。
CPU401は、RAM403をワークエリアとして使用しながら、ROM402などに記録された各種プログラムを実行することによって、ナビゲーション装置400の全体の制御を司る。なお、各種プログラムを実行することによって得られる処理結果は、例えば、RAM403に一時的に記録され、必要に応じて読み出される。また、上記の処理結果は、磁気ディスク405や光ディスク407などの不揮発性メモリに記録されることとしてもよい。
ここで、傾斜角度算出プログラムは、例えば、図2で示した算出方法により、加速度センサによって取得された垂直加速度と、重力加速度とによって傾斜角度を算出させる。そして、傾斜角度算出プログラムは、記憶された標高データを参照させ、算出させた傾斜角度で上ったか下ったかを判定させる。なお、標高データの一例については図5を用いて後述する。
表示プログラムは、GPSユニット414や各種センサ415などから出力される情報に基づき特定される自車両の現在位置周辺の地図データを、磁気ディスク405や光ディスク407などから地図データを読み込ませ、自車両の現在位置を表す自車両アイコンや自車両の現在位置周辺の地図を表す地図画像などをディスプレイ412に表示させる。
磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータの読み取りや書き込みを制御する。磁気ディスク405には、磁気ディスクドライブ404の制御で書き込まれたデータが記録される。例えば、磁気ディスク405としては、HD(Hard Disk)やFD(Flexible Disk)を用いることができる。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータの読み取りや書き込みを制御する。光ディスク407は、光ディスクドライブ406の制御にしたがってデータの読み出される着脱自在な記録媒体である。例えば、光ディスク407としては、CD(Compact Disc)、DVDを用いることができる。光ディスク407は、書き込み可能な記録媒体を用いることもできる。また、この着脱可能な記録媒体は、光ディスク407のほか、MO(Magneto Optical Disk)、メモリカードなどであってもよい。
磁気ディスク405または光ディスク407に記録される情報の一例として、現在位置の特定、経路探索や経路誘導などに用いる地図データが挙げられる。地図データは、ノードおよびリンクからなり、移動体(例えば車両)が移動可能な道路を表す道路データや、施設やその他地形(山、川、土地)に関するフィーチャを用いて描画される画像データを含むデータとすることができる。地図データは、施設の名称や住所などを示す文字データなどを含んでいてもよい。これらのデータが表す画像は、ディスプレイ412の表示画面において2次元または3次元に描画される。また、例えば、道路データには、各リンクについての長さ(距離)、道幅、道路種別(高速道路、有料道路、一般道路、私道)など、各リンクに対応する道路の属性を示す情報などが含まれていてもよい。また、地図データには、後述の標高データも含まれる。標高データの一例については図5などを用いて後述する。
なお、本実施例では地図データを磁気ディスク405または光ディスク407に記録するようにしたが、これらに限るものではない。地図データは、ナビゲーション装置400のハードウェアと一体に設けられているものに限って記録されているものではなく、ナビゲーション装置400の外部に設けられていてもよい。例えば、この場合、ナビゲーション装置400は、通信I/F413により、ネットワークを介して外部から地図データを取得し、取得した地図データをRAM403や磁気ディスク405などに記録しておき、必要に応じて読み出す。
音声I/F408は、音声出力用のスピーカ409に接続される。スピーカ409からは音声が出力される。入力デバイス410は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、マウス、タッチパネルなどが挙げられる。入力デバイス410は、利用者によって選択されたキーに対応する信号を装置内部へ入力する。
映像I/F411は、ディスプレイ412と接続される。例えば、映像I/F411は、ディスプレイ412全体の制御を行うグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいて、ディスプレイ412を表示制御する制御ICなどによって構成される。
ディスプレイ412には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。例えば、ディスプレイ412としては、CRT、TFT液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを用いることができる。
通信I/F413は、無線を介してネットワークに接続され、ナビゲーション装置400とCPU401とのインターフェースとして機能する。通信I/F413は、さらに、無線を介してインターネットなどの通信網に接続され、この通信網とCPU401とのインターフェースとしても機能する。また、通信I/F413は、テレビ放送やラジオ放送を受信する。
通信網には、LAN、WAN、公衆回線網や携帯電話網などがある。例えば、通信I/F413は、FMチューナー、VICS/ビーコンレシーバ、無線ナビゲーション装置、およびその他のナビゲーション装置400によって構成され、VICSセンターから配信される渋滞や交通規制などの道路交通情報を取得する。VICSは登録商標である。
GPSユニット414は、GPS衛星からのGPSシグナル(電波)を受信し、車両の現在位置を測位する。GPSユニット414により測位された現在位置は、後述する各種センサ415の出力値とともに、CPU401による車両の現在位置の特定に際して利用される。
各種センサ415は、車両(またはナビゲーション装置400)の挙動を計測するための情報を出力する。例えば、各種センサ415には、加速度センサなどが含まれている。各種センサ415の出力値は、CPU401による車両(またはナビゲーション装置400)の現在位置の特定、角速度の検出、方位変化量の算出などに利用される。
なお、例えば、図1に示した加速度取得部101〜表示制御部152の各機能部は、CPU401とROM402と磁気ディスクドライブ404と磁気ディスク405と各種センサ415などによってその機能を実現することができる。
(標高データについて)
つぎに、標高データの一例について説明する。前述したように、例えば、この標高データは、地図データに含まれている。図5は、標高データの一例を示す説明図である。図5に示すように、標高データ500は、各地点の識別情報(図5の例では地点名や位置座標)と、当該地点が含まれるエリアを表す情報(図5の例ではエリア名)と、各エリアの標高(例えば海抜)を表す情報とを対応付けて構成されている。
例えば、A地点、B地点、C地点には、エリア1が対応付けられ、さらにこのエリア1の標高が100mであることを表す情報が対応付けられている。ここで、B地点およびC地点は、A地点の位置座標から所定範囲内に含まれる位置を表す位置座標の地点である。このように、ナビゲーション装置400は、複数の地点ごとにエリアを設定して、エリアごとに標高を表す情報を記憶しているため、一地点ごと標高を表す情報を記憶する場合に比べて、標高データのデータ量を削減することができる。
(ナビゲーション装置が行う処理の一例)
つぎに、ナビゲーション装置400が行う処理の一例について説明する。図6は、本実施例のナビゲーション装置が行う処理の一例を示すフローチャートである。例えば、ナビゲーション装置400は、ナビゲーション装置400の電源がオンとなった際に図6のフローチャートで示す処理を行う。
図6に示すように、ナビゲーション装置400は、ナビゲーション装置400の電源がオンとなったかを判定する(ステップS601)。ナビゲーション装置400は、電源がオンとなるまで待つ(ステップS601:No)。ナビゲーション装置400は、電源がオンとなると(ステップS601:Yes)、GPSユニット414により複数のGPS衛星からGPSシグナルを受信したかを判定する(ステップS602)。複数のGPS衛星からGPSシグナルを受信していなければ(ステップS602:No)、GPSシグナルを受信するまで待つ。
ナビゲーション装置400は、複数のGPS衛星からGPSシグナルを受信したら(ステップS602:Yes)、それぞれのGPS衛星との距離から幾何学的に現在位置の位置座標を算出する(ステップS603)。つづいて、ナビゲーション装置400は、各種センサ415の出力値から垂直加速度を取得する(ステップS604)。
そして、ナビゲーション装置400は、取得した垂直加速度と重力加速度(所定値)とから傾斜角度を算出し(ステップS605)、算出した傾斜角度が閾値以上(例えば1度以上)であるかを判定する(ステップS606)。傾斜角度が閾値未満であれば(ステップS606:No)、ステップS609の処理へ移行する。
ナビゲーション装置400は、算出した傾斜角度が閾値以上であれば(ステップS606:Yes)、少なくとも2つの標高を表す情報を取得する標高取得処理を行う(ステップS607)。例えば、ステップS607において、ナビゲーション装置400は、まず、ステップS603で算出した現在位置の位置座標と、この一つ前の位置座標とを取得する。つぎに、ナビゲーション装置400は、標高データ500を参照し、現在位置の位置座標に対応する地点が含まれるエリアの標高を表す情報と、一つ前の位置座標に対応する地点が含まれるエリアの標高を表す情報とを取得する。
つぎに、ナビゲーション装置400は、ステップS607で取得した標高を表す情報に基づき、自車両の上り下りを判定する(ステップS608)。例えば、ナビゲーション装置400は、現在位置の位置座標に対応する地点が含まれるエリアの標高が、一つ前の位置座標に対応する地点が含まれるエリアの標高よりも高ければ上ったと判定する。逆に、ナビゲーション装置400は、現在位置の位置座標に対応する地点が含まれるエリアの標高が、一つ前の位置座標に対応する地点が含まれるエリアの標高よりも低ければ下ったと判定する。
そして、ナビゲーション装置400は、ステップS603で算出した現在位置の位置座標と、ステップS605で算出した傾斜角度と、ステップS608の判定結果とを対応付けた情報を移動履歴として記憶する(ステップS609)。例えば、ナビゲーション装置400は、過去直近に記憶された少なくとも2つ以上の複数の移動履歴を記憶する。具体的に、例えば、ナビゲーション装置400は、所定間隔で(例えば1秒間に10回)現在位置の位置座標などを取得する。そして、ナビゲーション装置400は、1時間以内に取得された移動履歴を記憶する。
つぎに、ナビゲーション装置400は、ディスプレイ412の表示内容を制御するための移動情報を取得する移動情報取得処理を行う(ステップS610)。例えば、ナビゲーション装置400は、自車両の現在位置周辺の地形を平面に射影した地図画像をディスプレイ412に表示する。このため、ナビゲーション装置400は、ディスプレイ412の表示制御にあたり、ステップS610では自車両の実際の移動距離や移動速度を、平面に射影した際の移動距離や移動速度に補正し、補正後の値の移動情報として取得する。
実際の移動距離や移動速度の取得方法については公知の技術であるため詳細な説明は省略するが、例えば、ナビゲーション装置400は、所定期間における現在位置の位置座標の変化などから、この期間の実際の移動距離や移動速度を取得することができる。
例えば、傾斜角度θの地面を自車両が距離L(補正前の移動距離)移動したとする。この場合、ナビゲーション装置400は、補正後の移動距離lを、l=α×L×cosθを解くことにより取得する。例えば、ここで、αは、傾斜角度に応じて定められた所定の補正値であり、上りの場合には「1」未満の値(すなわちlを小さくする値)が、下りの場合には「1」以上の値(すなわちlを大きくする値)とされる。
移動速度についても同様で、傾斜角度θの地面を自車両が速度V(補正前の移動速度)移動したとする。この場合、ナビゲーション装置400は、補正後の移動速度vを、v=β×V×cosθを解くことにより取得する。例えば、ここで、βは、傾斜角度に応じて定められた所定の補正値であり、上りの場合には「1」未満の値(すなわちvを小さくする値)が、下りの場合には「1」以上の値(すなわちvを大きくする値)とされる。
つぎに、ナビゲーション装置400は、ステップS610で取得した移動情報に基づき、ディスプレイ412に表示させた自車両アイコンに対して地図画像を相対的に移動させて表示する(ステップS611)。例えば、ナビゲーション装置400は、補正後の移動距離lに相当する移動量で、自車両アイコンに対して地図画像を相対的に移動させる。また、ナビゲーション装置400は、補正後の移動速度vに相当するスクロール速度で、自車両アイコンに対して地図画像を相対的に移動させる。
つぎに、ナビゲーション装置400は、電源がオフとなったかを判定し(ステップS612)、電源がオフとなれば(ステップS612:Yes)、図6に示した一連の処理を終了する。ナビゲーション装置400は、電源がオフとならなければ(ステップS612:No)、ステップS602に復帰して前述の各処理を繰り返す。
以上に説明したように、ナビゲーション装置400は、傾斜角度を算出した場合、標高データ500を参照することにより自車両の上り下りを判定することができる。そして、
ナビゲーション装置400は、傾斜角度および上り下りを表す情報に基づいて、実際の移動距離や移動速度を、地図上における移動距離や移動速度に補正することができる。これにより、ナビゲーション装置400は、地図上における自車両の現在位置を正確に利用者に案内することができ、利用者の現在位置の把握を容易にして、利便性を高めることができる。
具体的に、例えば、ナビゲーション装置400は、自車両の現在位置周辺の地形を平面に射影した地図画像をディスプレイ412に表示させる。このため、ナビゲーション装置400は、傾斜角度および上り下りを表す情報に基づいて、自車両の実際の移動距離や移動速度を、平面に射影した際の移動距離や移動速度に補正する。そして、ナビゲーション装置400は、補正後の移動距離や移動速度に基づいて、ディスプレイ412の自車両アイコンに対して地図画像を相対的に移動させて表示する。これにより、ナビゲーション装置400は、地図上における自車両の現在位置を正確に利用者に案内することができ、利用者の現在位置の把握を容易にして、利便性を高めることができる。
なお、本実施例では、傾斜角度および上り下りを表す情報を、移動距離や移動速度の補正に用いたがこれに限らない。例えば、ナビゲーション装置400は、傾斜角度および上り下りを表す情報を表示モードの切り替えに用いることもできる。
具体的に、例えば、ナビゲーション装置400は、自車両が一般道路を移動していると判定した場合、ディスプレイ412に自車両の現在位置周辺の地図画像を表示する(以下「通常モード」という)。一方、ナビゲーション装置400は、自車両が有料道路を移動していると判定した場合、ディスプレイ412に現在向かっているインターチェンジやサービスエリアまでの距離などを表示する(以下「ハイウェイモード」という)。
ナビゲーション装置400は、傾斜角度および上り下りを表す情報を用いて、通常モードとハイウェイモードとを切り替える。例えば、ナビゲーション装置400は、通常モードで表示している際に、有料道路の出入り口付近で閾値以上の傾斜角度を算出し、自車両が上ったと判定した場合、ハイウェイモードに切り替える。一方、ナビゲーション装置400は、ハイウェイモードで表示している際に、有料道路の出入り口付近で閾値以上の傾斜角度を算出し、自車両が下ったと判定した場合、通常モードに切り替える。
傾斜角度および上り下りを表す情報に基づいて通常モードとハイウェイモードとを切り替えることにより、例えば、一般道路と有料道路とが沿うように設けられていて、現在位置から一般道路と有料道路とのどちらを走行しているのかが判別し難い場合でも、ナビゲーション装置400は適切な表示モードで表示することができ、利用者が所望する情報を提供することができ、利便性を高めることができる。
以上に説明したように、本発明によれば、PNDのように車速パルス信号を取得できないナビゲーション装置に対して地図上における自車両の正確な現在位置を案内させることができる。したがって、本発明によれば、ナビゲーション装置が利用者に誤った地点を現在位置として案内してしまったり、正確な経路探索が行えなかったりしてしまうことを防止し、利用者の利便性を高めることができる。
なお、本実施の形態で説明した傾斜角度算出方法は、予め用意されたプログラムをパーソナル・コンピュータ、ワークステーション、移動体端末(例えばナビゲーション装置や携帯電話)などのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。