(57)【特許請求の範囲】
【請求項１】
自車の位置検出手段を備え、その位置検出手段により検出した自車位置とその自車位置を含む道路地図とを併せて表示装置に表示するナビゲーション装置であって、
前記自車のエンジン出力トルクと前記自車の車両重量とに基づいて平坦路走行状態での平坦路加速度を演算する平坦路加速度演算部と、
前記自車の車速に基づいて推定加速度を演算する推定加速度演算部と、
前記平坦路加速度および前記推定加速度に基づいて道路勾配を演算する道路勾配演算部と、
前記自車のブレーキ操作信号が入力されていない間に、前記推定加速度演算部により演算した推定加速度を時間微分した推定加速度微分値と、前記自車のエンジン出力トルクを用いて演算した前記自車の駆動力を時間微分した駆動力微分値と、に基づき現在の車両重量を演算するとともに、過去に演算した車両重量に基づき前記現在の車両重量を補正する車両重量学習部と、
を備え、
前記道路勾配演算部は、前記自車のブレーキ操作信号が入力されたときには、そのとき以降、前記ブレーキ操作信号が入力されなくなるまで、前記自車が走行する道路に沿ってその道路の道路勾配を、前記ブレーキ操作信号が入力される前に演算した道路勾配およびその道路勾配の変化率に基づいて演算すること
を特徴とするナビゲーション装置。
【請求項２】
前記道路勾配演算部は、前記自車が走行する道路に沿って前記道路勾配を演算し、前記演算した道路勾配が所定の閾値を超えたときには、そのとき以降、遅くとも前記ブレーキ操作信号が入力されなくなるまで、前記道路勾配演算部が演算する道路勾配を前記所定の閾値に固定すること
を特徴とする請求項１に記載のナビゲーション装置。
【請求項３】
前記道路勾配演算部により演算された道路勾配に基づいて前記自車位置の高度を演算する高度演算部を、さらに、備えること
を特徴とする請求項１に記載のナビゲーション装置。
【請求項４】
前記位置検出手段により検出された自車位置がマップマッチングされた道路の高度と前記高度演算部により演算された高度との高度差が、所定の高度差よりも大きくなった場合には、前記道路地図を参照して、前記自車位置がマップマッチングされた道路の前記自車位置の後方から分岐する他の道路を抽出するとともに、前記抽出した他の道路の高度と前記高度演算部により演算された高度との高度差が前記所定の高度差よりも小さい場合には、前記自車位置を前記他の道路にマップマッチングし直す自車位置補正部を、さらに、備えること
を特徴とする請求項３に記載のナビゲーション装置。
【請求項５】
前記車両重量学習部は、０以上１以下のパラメータである学習係数を含んだ次の数式
車両重量＝学習係数×前回演算した車両重量＋（１−学習係数）×現在の車両重量
に従って車両重量を演算し、前記現在の車両重量を前記演算した車両重量で置き換えることにより、前記現在の車両重量を補正すること
を特徴とする請求項１に記載のナビゲーション装置。
【請求項６】
前記車両重量学習部は、前記数式に基づいて前記車両重量を演算する前に、前記自車の座席への人の着座を検知する着座センサから入力される乗車人数に変化があったときには、前記乗車人数に基づいて、前記自車の車両重量のカタログ値に乗車人員の重量を加えた重量である基準車両重量を演算するとともに、前記数式に含まれる前回演算した車両重量を前記演算した基準車両重量で置き換えること
を特徴とする請求項５に記載のナビゲーション装置。
【請求項７】
前記車両重量学習部は、前記数式に基づいて前記車両重量を演算する前に、前記自車のドア開閉センサおよびトランクルーム開閉センサの少なくとも一方からの開閉信号を検知したときには、前記数式に含まれる学習係数の値を、学習精度を優先した第１の値から、前記第１の値よりも小さい、学習時間を優先した第２の値に切替えること
を特徴とする請求項５に記載のナビゲーション装置。
【請求項８】
自車の位置検出手段を備え、その位置検出手段により検出した自車位置とその自車位置を含む道路地図とを併せて表示装置に表示するナビゲーション装置における道路勾配演算方法であって、
前記ナビゲーション装置は、
前記自車のエンジン出力トルクと前記自車の車両重量とに基づいて平坦路走行状態での平坦路加速度を演算する平坦路加速度演算部と、
前記自車の車速に基づいて推定加速度を演算する推定加速度演算部と、
前記平坦路加速度および前記推定加速度に基づいて道路勾配を演算する道路勾配演算部と、
前記自車のブレーキ操作信号が入力されていない間に、前記推定加速度演算部により演算した推定加速度を時間微分した推定加速度微分値と、前記自車のエンジン出力トルクを用いて演算した前記自車の駆動力を時間微分した駆動力微分値と、に基づき現在の車両重量を演算するとともに、過去に演算した車両重量に基づき前記現在の車両重量を補正する車両重量学習部と、
を備え、
前記道路勾配演算部は、前記自車のブレーキ操作信号が入力されたときには、そのとき以降、前記ブレーキ操作信号が入力されなくなるまで、前記自車が走行する道路に沿ってその道路の道路勾配を、前記ブレーキ操作信号が入力される前に演算した道路勾配およびその道路勾配の変化率に基づいて演算すること
を特徴とする道路勾配演算方法。
【請求項９】
前記道路勾配演算部は、前記自車が走行する道路に沿って前記道路勾配を演算し、前記演算した道路勾配が所定の閾値を超えたときには、そのとき以降、遅くとも前記ブレーキ操作信号が入力されなくなるまで、前記道路勾配演算部が演算する道路勾配を前記所定の閾値に固定すること
を特徴とする請求項８に記載の道路勾配演算方法。
【請求項１０】
自車の位置検出手段を備え、その位置検出手段により検出した自車位置とその自車位置を含む道路地図とを併せて表示装置に表示するナビゲーション装置における高度演算方法であって、
前記ナビゲーション装置は、
前記自車のエンジン出力トルクと前記自車の車両重量とに基づいて平坦路走行状態での平坦路加速度を演算する平坦路加速度演算部と、
前記自車の車速に基づいて推定加速度を演算する推定加速度演算部と、
前記平坦路加速度および前記推定加速度に基づいて道路勾配を演算する道路勾配演算部と、
前記道路勾配演算部により演算された道路勾配に基づいて前記自車位置の高度を演算する高度演算部と、
前記自車のブレーキ操作信号が入力されていない間に、前記推定加速度演算部により演算した推定加速度を時間微分した推定加速度微分値と、前記自車のエンジン出力トルクを用いて演算した前記自車の駆動力を時間微分した駆動力微分値と、に基づき現在の車両重量を演算するとともに、過去に演算した車両重量に基づき前記現在の車両重量を補正する車両重量学習部と、
を備え、
前記道路勾配演算部は、前記自車のブレーキ操作信号が入力されたときには、そのとき以降、前記ブレーキ操作信号が入力されなくなるまで、前記自車が走行する道路に沿ってその道路の道路勾配を、前記ブレーキ操作信号が入力される前に演算した道路勾配およびその道路勾配の変化率に基づいて演算し、前記高度演算部は、前記道路勾配演算部により演算された道路勾配に基づいて前記自車位置の高度を演算すること
を特徴とする高度演算方法。
【請求項１１】
前記ナビゲーション装置は、
前記位置検出手段により検出された自車位置がマップマッチングされた道路の高度と前記高度演算部により演算された高度との高度差が、所定の高度差よりも大きくなった場合には、前記道路地図を参照して、前記自車位置がマップマッチングされた道路の前記自車位置の後方から分岐する他の道路を抽出するとともに、前記抽出した他の道路の高度と前記高度演算部により演算された高度との高度差が前記所定の高度差よりも小さい場合には、前記自車位置を前記他の道路にマップマッチングし直すこと
を特徴とする請求項１０に記載の高度演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用のナビゲーション装置ならびにそのナビゲーション装置で用いられる道路勾配演算方法および高度演算方法に関する。
【背景技術】
【０００２】
車両用のナビゲーション装置では、ＧＰＳ（Global Positioning System：全地球測位システム）や自律航法により自車位置を検出するが、その検出された自車位置は、その自車位置周辺の地図上に明示された位置として、その地図とともに表示装置に表示される。その場合、ドライバは、表示される自車位置が実際の自車位置に近いほど、つまり、自車の位置検出精度が高いほど、より適切に道路情報を把握することができる。すなわち、ドライバにとっては、ナビゲーション装置利用の快適性が向上する。
【０００３】
従来、ナビゲーション装置は、自車位置の高度を取得しようとする場合には、地図情報に含まれる所定の基準地点の高度とその基準地点からの走行距離とその道路の道路勾配とを用いて、自車位置の高度を演算する必要がある。そのとき、自車位置の高度を精度よく演算するには、ナビゲーション装置は、さらに、道路勾配を取得する必要がある。
【０００４】
例えば、特許文献１には、エンジン出力トルクに基づき算出される平坦路を基準とする基準加速度と、車速に基づき算出される実加速度とを比較して、道路勾配を推定して自動変速機の変速パターンを変更する車両の変速制御装置の例が開示されている。
【特許文献１】特開２００７−１８３００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１によれば、ドライバのブレーキ操作中には道路勾配の推定は中止されてしまう。これは、基準加速度をエンジン出力トルクに基づいて演算しているためであり、ブレーキ操作により制動トルクが作用すると、道路勾配の推定が困難となるからである。なお、制動トルクも利用して基準加速度を求めるようにすれば、道路勾配の推定は可能となるが、現状では制動トルクの検出は困難である。
【０００６】
また、この方法を用いて道路勾配を推定する際には、車両重量がばらつくと道路勾配の推定結果に誤差が発生する。一般的なセダンタイプの乗用車において、１人乗車の荷物無しから４人乗車の荷物満載まで使用すると考えると、車両重量としては３００〜４００ｋｇの変動がありうる。さらに、車両重量の変動は、人の乗り降りだけでも発生するので、無視することはできない。
【０００７】
本発明の目的は、ブレーキ操作中にも道路勾配の演算を継続することが可能で、かつ、その道路勾配を用いて演算される自車位置の高度の精度を向上させることが可能なナビゲーション装置、道路勾配演算方法および高度演算方法を提供することにある。
【課題を解決するための手段】
【０００８】
前記の目的を達成するために、本発明のナビゲーション装置は、自車のエンジン出力トルクと前記自車の車両重量とに基づいて平坦路走行状態での平坦路加速度を演算する平坦路加速度演算部と、自車の車速に基づいて推定加速度を演算する推定加速度演算部と、平坦路加速度および前記推定加速度に基づいて道路勾配を演算する道路勾配演算部と、自車のブレーキ操作信号が入力されていない間に、前記推定加速度演算部により演算した推定加速度を時間微分した推定加速度微分値と、前記自車のエンジン出力トルクを用いて演算した前記自車の駆動力を時間微分した駆動力微分値と、に基づき現在の車両重量を演算するとともに、過去に演算した車両重量に基づき前記現在の車両重量を補正する車両重量学習部と、を備える。そして、その道路勾配演算部は、自車のブレーキ操作信号が入力されたときには、そのとき以降、ブレーキ操作信号が入力されなくなるまで、自車が走行する道路に沿ってその道路の道路勾配を、ブレーキ操作信号が入力される前に演算した道路勾配およびその道路勾配の変化率に基づいて演算する。
【００１１】
従って、本発明のナビゲーション装置は、現在の車両重量を精度よく演算することができる。車両重量は、平坦路加速度演算に用いられるパラメータであるので、さらに、その平坦路加速度を用いて演算される道路勾配および自車位置の高度の精度が向上する。
【発明の効果】
【００１２】
本発明によれば、ブレーキ操作中にも道路勾配の演算の継続が可能で、かつ、その道路勾配を用いて演算される自車位置の高度の精度を向上させることが可能なナビゲーション装置、道路勾配演算方法および高度演算方法を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態について詳しく説明する。
【００１４】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るナビゲーション装置の構成の例を示した図である。図１に示すように、ナビゲーション装置１００は、平坦路加速度演算部１、推定加速度演算部２、道路勾配演算部３、道路勾配記憶部４、勾配変化率演算部５、高度演算部６、車両重量学習部７、自車位置検出部８、地図情報記憶部９、自車周辺地図情報取得部１０、自車位置補正部１１などの機能ブロックを含んで構成される。なお、これらの機能ブロックは、道路勾配演算および高度演算など自車位置の補正機能に係る機能ブロックであり、図１では、経路探索や経路誘導など周知の機能についての機能ブロックの記載を省略している。
【００１５】
なお、ナビゲーション装置１００は、図示しないＣＰＵ（Central Processing Unit）と記憶装置とからなるコンピュータによって構成される。図１に示した各機能ブロックの動作は、そのＣＰＵが記憶装置に記憶された所定のプログラムを実行することによって実現される。なお、ここでいう記憶装置は、高速の半導体メモリなどで構成されるほか、大容量のハードディスク装置などを含んでもよい。
【００１６】
次に、図１を参照して、ナビゲーション装置１００の各機能ブロックの概略の動作について説明する。
【００１７】
平坦路加速度演算部１は、車内ＬＡＮ（Local Area Network）などの通信手段を介して各種センサから入力されるエンジン出力トルク、エンジン回転数、車速などの情報を用いて、推定駆動力Ｆおよび平坦路加速度αｆを演算する。なお、推定駆動力Ｆおよび平坦路加速度αｆは、周知の式（１）および式（２）により求めることができる。
Ｆ＝エンジントルク×変速機ギア比／タイヤ径        （１）
Ｍ×αｆ＝Ｆ−ころがり抵抗−速度抵抗              （２）
ここで、Ｍは、車両重量であり、その車両重量は、車両重量学習部７により学習した値を利用する。
【００１８】
推定加速度演算部２は、車内ＬＡＮなどの通信手段を介して車速センサなどから入力される車速を時間微分することで推定加速度αｓを演算する。ただし、車速を単純に微分すると、ノイズが大きくなるので、適宜、車速をフィルタリングした後、微分するのが好ましい。
【００１９】
道路勾配演算部３は、平坦路加速度演算部１により演算された平坦路加速度αｆおよび推定加速度演算部２により演算された推定加速度αｓを用いて、周知の式（３）に従って演算し、演算した道路勾配を道路勾配記憶部４に記憶する。
道路勾配＝tanθ≒sinθ＝（αｆ−αｓ）／ｇ              （３）
ここで、θは道路の傾斜角、ｇは重力の加速度である。
【００２０】
さらに、道路勾配演算部３は、ブレーキスイッチ（以下、ブレーキＳＷと記載）のＯＮ／ＯＦＦ情報を車内ＬＡＮなどの通信手段を介して入力し、勾配変化率演算部５により演算された勾配変化率を用いてブレーキＳＷがＯＮのときの道路勾配を予測する。
【００２１】
車両重量学習部７は、平坦路加速度演算部１により演算された推定駆動力Ｆ、および、車内ＬＡＮなどの通信手段を用いて入力した車速を時間微分した加速度を利用して、現在の車両重量を推定し、平坦路加速度演算部１で利用する車両重量を補正する。
【００２２】
自車位置検出部８は、ＧＰＳからの信号に基づき自車位置を検出するほか、車内ＬＡＮなどの通信手段を介して入力される車速、ジャイロセンサからの情報などを組み合わせて車両の移動ベクトルを生成し、積分することにより自車位置を演算してもよい。さらには、ＧＰＳからの信号に基づき検出される自車位置と車両の移動ベクトルの積分値とを組み合わせて自車位置を演算してもよい。
【００２３】
地図情報記憶部９は、ノード情報、リンク情報などからなる道路の地図情報を記憶し、そのリンク情報は、少なくとも高度情報を含む。地図情報記憶部９は、ナビゲーション装置１００を構成する記憶装置に含まれて構成されるが、その場合の記憶装置としては、ハードディスク装置が利用されるほか、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの可搬記憶メディアのドライブ装置を利用してもよい。また、ナビゲーション装置１００は、地図情報センタから提供される地図情報を、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの可搬記憶メディアを介して地図情報記憶部９に取り込むものとするが、地図情報センタとの通信により地図情報を取得してもよい。
【００２４】
自車周辺地図情報取得部１０は、自車位置検出部８により検出された自車位置に基づいて地図情報記憶部９にアクセスし、自車位置周辺の地図情報を取得する。
【００２５】
自車位置補正部１１は、高度演算部６により演算された高度と自車周辺地図情報取得部１０により取得された高度を比較して自車位置を補正する。
【００２６】
次に、図２を参照して、本実施形態のナビゲーション装置１００における全体の処理、すなわち、自車位置の検出から高度補正を含む自車位置の補正までの処理の内容について説明する。ここで、図２は、本実施形態に係るナビゲーション装置１００の全体の処理内容を示すフローチャートの例である。なお、この処理は、所定の時間周期で繰り返して実行される。
【００２７】
ナビゲーション装置１００のＣＰＵ（以下、単に、ＣＰＵという）は、まず、処理３００において、自車位置を検出するとともに自車位置の周辺の地図情報を取得する（自車位置検出部８および自車周辺地図情報取得部１０の処理）。なお、処理３００の詳細については、別途、図３を用いて説明する。
【００２８】
次に、ＣＰＵは、処理２０１において、平坦路走行状態での平坦路加速度αｆを演算する（平坦路加速度演算部１の処理）。具体的には、エンジン回転数と車速から現在のギア比を推定し、推定したギア比とエンジン出力トルクとタイヤ半径とに基づき車両に働く駆動力Ｆを推定する。そして、推定した駆動力Ｆと平坦路での走行抵抗、車両重量から平坦路加速度αｆを演算する。
【００２９】
次に、ＣＰＵは、処理２０２において、車速を時間微分することにより推定加速度αｓを演算する（推定加速度演算部２の処理）。ただし、単純に車速を微分するとノイズ成分が大きいため、ローパスフィルタや変化量制限を用いて演算値をフィルタリングする。
【００３０】
次に、ＣＰＵは、処理２０３において、処理２０１で演算された平坦路加速度αｆと処理２０２にて演算された推定加速度αｓを用いて、現在走行中の道路の勾配を演算する。具体的には、平坦路加速度と推定加速度の差を演算し、この加速度差に係数を乗じることで道路の勾配値（単位：％）を得る。
【００３１】
ただし、処理２０３によって得られる勾配は、ブレーキが操作されていないとき（ブレーキＳＷのＯＦＦ信号が入力されているとき）には有効であるが、ブレーキが操作されているとき（ブレーキＳＷのＯＮ信号が入力されているとき）には無効となる。
【００３２】
そこで、ＣＰＵは、処理２０４、処理２０５および処理２０６において、ブレーキが操作されたか否かにより、場合分けを行い、ブレーキが操作されているとき（ブレーキＳＷがＯＮのとき）の勾配を予測する。
【００３３】
すなわち、ＣＰＵは、ブレーキＳＷがＯＦＦからＯＮに切り替わった場合には（処理２０４でＹＥＳ）、処理４００に進み、ブレーキＳＷがＯＮを継続している場合には（処理２０５でＹＥＳ）、処理５００に進む。なお、詳細は後記するが、処理４００および処理５００では、ＣＰＵは、ブレーキＳＷがＯＮに切り替わる直前の勾配に基づき、そのときの勾配を予測し、さらに、高度を予測する。
【００３４】
また、ブレーキＳＷがＯＮからＯＦＦに切り替わった場合には（処理２０６でＹＥＳ）、処理６００に進み、それら以外の場合つまり、ブレーキＳＷがＯＦＦを継続している場合には（処理２０６でＮＯ）、処理２０７に進む。なお、詳細は後記するが、処理６００では、ＣＰＵは、予測した勾配を処理２０３によって得た勾配に一致させるとともに高度を補正する。また、ＣＰＵは、処理２０７において、処理２０３で演算された道路勾配を積分演算して高度を得る。
【００３５】
なお、以上の処理２０３〜処理２０７、処理４００、処理５００および処理６００は、道路勾配演算部３および高度演算部６の処理に相当する。
【００３６】
次に、ＣＰＵは、処理２０８において、処理４００、処理５００、処理６００、処理２０７にて演算された高度と処理３００にて地図情報から取得した高度を比較して自車位置の補正を行う（自車位置補正部１１の処理）。その詳細については、別途、図１０を用いて説明する。
【００３７】
次に、図３を参照して、図２における処理３００（自車周辺地図情報取得処理）の具体的処理内容について説明する。図３は、自車周辺地図情報取得処理の処理内容を示すフローチャートの例である。
【００３８】
ＣＰＵは、まず、処理３０１において、ＧＰＳから受信した自車位置の情報（緯度、経度など）、車速、ジャイロセンサからの情報などを用いて自車位置を検出し、処理３０２において、地図情報記憶部９から自車位置の周辺の地図情報を読み込む。ここで、ＣＰＵが情報を読み込むとは、例えば、ハードディスク装置など低速の記憶媒体から読み出した情報を、高速の半導体のＲＡＭ（Random Access Memory）などからなるメインメモリに格納することを意味するものとする。
【００３９】
次に、ＣＰＵは、処理３０３において、処理３０１にて検出された自車位置の情報を用いて、処理３０２にて読み込まれた地図情報に自車位置をマッチングする処理を行う。マッチング処理の一例としては、地図上にメッシュを作成し、自車位置（緯度、経度）とその地図に含まれる道路上のメッシュ格子点の位置とを比較して、自車位置の最も近傍にあるメッシュ格子点に自車位置をマッチングするマップマッチングが一般的である。
【００４０】
次に、ＣＰＵは、処理３０４において、処理３０３で実行したマッチング処理の結果に応じて自車位置の更新を行い、処理３０５において、更新された自車位置に基づいた地図情報を出力する。ここで、出力される地図情報には、少なくとも自車が走行中の道路および近傍の分岐路などの自車が走行する可能性のある道路の高度情報を含む。
【００４１】
以上、自車位置検出部８および自車周辺地図情報取得部１０による処理により、ＣＰＵは、自車周辺付近の地図情報を得る。
【００４２】
次に、図４を参照して、図２における処理４００（ブレーキ対応処理１：ブレーキＳＷがＯＦＦからＯＮに切り替わったときの道路勾配および高度の予測演算処理）の具体的処理内容について説明する。図４は、ブレーキ対応処理１の処理内容を示すフローチャートの例である。
【００４３】
ＣＰＵは、まず、処理４０１において、道路勾配記憶部４により記憶された道路勾配の情報を用いて道路勾配の変化率を演算する（勾配変化率演算部５の処理）。この道路勾配の変化率の演算方法としては、道路勾配を時間微分する方法があるが、この方法では演算結果にノイズが多く含まれる可能性が高いため、適宜フィルタリングを実施するか、過去の数サンプルを用いて最小二乗法により傾きを求めてこれを変化率とする方法を採用することが望ましい。
【００４４】
次に、ＣＰＵは、処理４０２において、ブレーキＳＷがＯＮになる直前の勾配変化率が所定の閾値より小さいか否かを判定し、小さい場合（つまり、ほぼ一定の勾配を有する坂道の場合：処理４０２でＹＥＳ）には処理４０９に進み、大きい場合（つまり、勾配が変化する道路部分で、例えば、勾配のない平坦道路と坂道との接続部分の道路の場合：処理４０２でＮＯ）には処理４０３に進む。
【００４５】
次に、ＣＰＵは、処理４０３において、ブレーキＯＮ時の勾配予測の演算モードを「予測モード」にセットするとともに、処理４０４において、勾配下限値を演算する。この勾配下限値は、後記のリミッタ処理に必要な値であり、自車周辺地図情報取得部１０により取得した自車周辺道路（自車が走行している道路、および、自車の進行路上に分岐路がある場合には、その分岐路のうち顕著に高度変化が見られる道路）の高度を用いて道路勾配を演算し、自車の近傍で最も小さい値の道路勾配を勾配下限値とする。
【００４６】
次に、ＣＰＵは、処理４０５において、その時点での道路勾配を予測する。具体的には、ブレーキＯＮ直前の勾配変化率のまま勾配を変化させ続け、これを予測勾配とする。さらに、ＣＰＵは、処理４０６において、処理４０５にて求めた予測勾配が処理４０４で求めた勾配下限値を超えた否かを判定し、勾配下限値を超えた場合には、処理４０７においてリミッタ処理（すなわち、予測勾配に勾配下限値を代入）して処理４０８に進み、勾配下限値を超えていない場合には、そのまま処理４０８に進む。
【００４７】
また、ＣＰＵは、処理４０９において、ブレーキＯＮ時の勾配予測の演算モードを「ホールドモード」にセットし、処理４１０において、勾配ホールド処理を行い、処理４０８に進む。この勾配ホールド処理は、ブレーキＯＮ直前の勾配をその後も継続して使用するする処理である。
【００４８】
最後に、ＣＰＵは、処理４０８において、処理４０５、処理４０７または処理４１０にて演算された勾配を積分して高度を演算し、元の処理に復帰する。
【００４９】
次に、図５を参照して、図２における処理５００（ブレーキ対応処理２：ブレーキＳＷのＯＮ状態が継続しているときの道路勾配および高度の予測演算処理）の具体的処理内容について説明する。図５は、ブレーキ対応処理２の処理内容を示すフローチャートの例である。
【００５０】
ＣＰＵは、まず、処理５０１において、ブレーキＯＮ時の演算モードが「予測モード」であるか否かを判定し、「予測モード」である場合には処理４０５に進み、「ホールドモード」の場合（つまり、「予測モード」でない場合）には処理４１０に進む。なお、処理４０５以降の処理および処理４１０については、図４で説明した処理と同じであるので、その説明を割愛する。
【００５１】
次に、図６を参照して、図２における処理６００（ブレーキ対応処理３：ブレーキＳＷがＯＮからＯＦＦに切り替わったときの道路勾配および高度の予測演算処理）の具体的処理内容について説明する。図６は、ブレーキ対応処理３の処理内容を示すフローチャートの例である。
【００５２】
ＣＰＵは、まず、処理６０１において、前回の演算周期で演算された勾配（すなわち、ブレーキＳＷがＯＮ時の処理により予測された勾配）ｓ1と、今回の演算周期の処理２０３（図２参照）で演算された勾配（すなわち、ブレーキＳＷがＯＮからＯＦＦになったとき演算された勾配）ｓ2とから、勾配差ｓ（＝ｓ2−ｓ1）を演算し、その勾配差ｓが所定の正の閾値ｓ0以上であった場合は、処理６０２に進み、その勾配差ｓが所定の正の閾値ｓ0未満であった場合は処理６０４に進む。なお、ｓ2，ｓ1は、上り勾配のとき、正、下り勾配のとき、負であるとする。
【００５３】
次に、ＣＰＵは、処理６０２において、予測された勾配ｓ1が実際より小さかったため低く予測された高度を実際に近い高度に戻す（不足分を加える）ための高度補正量を演算する。この具体的な方法に関しては、図８および図９を用いて詳細に説明する。
【００５４】
また、ＣＰＵは、処理６０４において、処理６０１で演算した勾配差ｓ（＝ｓ2−ｓ1）を用いて、その勾配差が所定の負の閾値以下（−ｓ0）であった場合は処理６０５に進み、差が所定の負の閾値（−ｓ0）以下でなかった場合は処理６０３に進む。なお、ｓ0は、正であるとする。
【００５５】
次に、ＣＰＵは、処理６０５において、予測された勾配ｓ1が実際より大きかったため高く予測された高度を実際に近い高度に戻す（過剰分を差し引く）ための高度補正量を演算する。この具体的な方法に関しては、図８および図９を用いて詳細に説明する。
【００５６】
最後に、ＣＰＵは、処理６０３において、処理６０２もしくは処理６０５により演算された高度補正量、または図２の処理２０３にて演算された勾配を用いて高度を演算し、元の処理に復帰する。
【００５７】
続いて、図７ないし図９を参照して、以上に説明した勾配演算および高度演算の処理を実際の道路状況に当てはめて説明する。
【００５８】
ここで、図７ないし図９においては、高い位置にある高速道路７０１、低い位置にある一般道路７０３および両者を接続する取付道路７０２（分岐路）により構成される道路を想定し、さらに、車両７００が高速道路７０１から取付道路７０２へ進入し、一般道路７０３へ合流することを想定する。
【００５９】
図７は、車両７００が高速道路７０１⇒取付道路７０２⇒一般道路７０３の順に走行したときの実際の高度および勾配の変化の例を示した図である。図７に示すように、車両７００が高速道路７０１から取付道路７０２へ分岐して地点Ａに到達すると、取付道路７０２が下り坂であるため、その勾配（実線７２０）は、マイナスの方向に大きくなり始めるとともに、高度（実線７１０）も下がり始める。その後、勾配（実線７２０）は、ある値に安定した後に、徐々に小さくなるとともに０に近付き、高度（実線７１０）は、一般道路７０３と同じ高度に収束し始める。そして、地点Ｂに到達すると、勾配（実線７２０）は０、高度（実線７１０）は、一般道路７０３と同じになり、車両７００は取付道路７０２から一般道路７０３に合流する。
【００６０】
図８および図９は、それぞれ、ブレーキ操作タイミングが異なる場合について、車両７００が高速道路７０１⇒取付道路７０２⇒一般道路７０３の順に走行したときに演算される高度および勾配の変化の例を、ブレーキＳＷの状態と併せて示した図である。ここで、図８および図９において、実線８００および実線９００はブレーキＳＷの状態を、実線８１０および実線９１０は演算高度を、実線８２０および実線９２０は図２の処理２０３にて演算された道路勾配（演算勾配）を、破線８２１および破線９２１は図４または図５の処理４０５から処理４０７により演算された予測勾配を示している。
【００６１】
まず、図８について説明する。車両７００が高速道路７０１から取付道路７０２に分岐して地点Ａを通過後、地点Ｃで車両７００のブレーキ操作がされると、ブレーキＳＷがＯＮとなるが、車両７００がこの地点Ｃに到達したときには、既に勾配（実線８２０）が変化し始めている。そして、ブレーキＳＷがＯＮになると制動力が働くため、図２に示した処理２０３では正常な勾配を演算することが不可能になる。そこで、ＣＰＵは、ブレーキＳＷがＯＮになる直前に演算した勾配変化率を用い、その勾配変化率に応じて、予測勾配（破線８２１）を求める。
【００６２】
次に、ＣＰＵは、図４の処理４０４により、地図情報から得られた取付道路７０２の高度の情報を用いて勾配下限値Ｓｄを演算し、予測勾配（破線８２１）に対して下限値Ｓｄでリミッタ処理を施す。その後、地点ＢにおいてブレーキＳＷがＯＦＦになると、図２の処理２０３による道路勾配の演算結果が正常に出力されるようになり、この例の場合には、平坦路の勾配（勾配０）が出力される。
【００６３】
このとき、地点Ｂでは、予測勾配（破線８２１）と処理２０３による演算勾配との間には、大きな段差が生じる。従って、ＣＰＵが予測勾配（破線８２１）を用いて高度を演算すると、その高度の演算結果は、実線８１０で示すように、実際の高度より低くなる（高度を下げ過ぎてしまう）。そこで、ＣＰＵは、その高度差を補正するため、勾配を点線８２２で示すように徐々に変化させて実線８２０につないだとしたときに得られる斜線領域８２３で示した領域の面積分の高度（勾配を距離で積分すると高度になる）を、演算高度（実線８１０）に足し合わせる。
【００６４】
ただし、演算高度（実線８１０）に斜線領域８２３の面積分の高度を足し合わせる際には、演算高度（実線８１０）が急激な変化しないようにするため、変化量制限またはローバスフィルタ演算を施す。その場合には、演算高度（実線８１０）は、地点Ｂ付近で、点線で囲んだ領域８１１のように滑らかに変化する。
【００６５】
次に、図９について説明する。車両７００が高速道路７０１から取付道路７０２に分岐を始める地点Ｃでブレーキ操作がされて、ブレーキＳＷがＯＮとなる。この地点Ｃではまだ勾配の変化がないため、予測勾配は、前回値にホールドされ、破線９２１のように表される。その後、車両７００が地点Ａを通過して下り始めた頃の地点ＤにおいてブレーキＳＷがＯＦＦになると、図２の処理２０３による道路勾配の演算結果が正常に出力されるようになる。
【００６６】
このとき、予測勾配（破線９２１）と処理２０３による演算勾配（実線９２０）との間には段差が生じる。従って、ＣＰＵがこの予測勾配（破線９２１）を用いて高度を演算すると、その高度の演算結果は、実線９１０で示すように、実際の高度より高くなる。そこで、ＣＰＵは、その高度差を補正するため、勾配を点線９２２で示すように徐々に変化させて実線９２０につないだとしたときに得られる斜線領域９２３で示した領域の面積分の高度を、演算高度（実線９１０）から差し引く。
【００６７】
ただし、演算高度（実線９１０）から斜線領域９２３の面積分の高度を差し引く際には、演算高度（実線９１０）が急激な変化しないようにするため、変化量制限またはローバスフィルタ演算を施す。その場合には、演算高度（実線９１０）は、地点Ｄ付近で、点線で囲んだ領域９１１のように滑らかに変化する。
【００６８】
また、図９において、車両７００が取付道路７０２を走行中に地点Ｅでブレーキ操作がされ、ブレーキＳＷがＯＮになると、図８で説明した破線８２１と同様に予測勾配（破線９２１）を演算する。さらに、地点ＦにおいてブレーキＳＷがＯＦＦになると、再び図２の処理２０３による道路勾配の演算結果が正常に出力されるようになる。
【００６９】
このとき、地点Ｆでは、予測勾配（破線９２１）と処理２０３による演算勾配（実線９２０）との間に差が生じ、その差のためにさらに生じた高度差を補正するため、図８で説明した場合と同様にして、斜線領域９２７の面積分の高度を演算高度（実線９１０）に足し合わせる。
【００７０】
ただし、演算高度（実線９１０）に斜線領域９２７の面積分の高度を足し合わせる際には、演算高度（実線９１０）が急激な変化しないようにするため、変化量制限またはローバスフィルタ演算を施す。その場合には、演算高度（実線９１０）は、地点Ｂ，Ｆ付近の点線で囲んだ領域９１２のように滑らかに変化する。
【００７１】
以上説明したように、ブレーキ操作中で道路勾配を図２の処理２０３により正常に演算できない状態においても、ブレーキ操作をする直前の道路勾配やその変化率を利用することにより、ブレーキ操作中の道路勾配を予測することが可能となる。また、予測した勾配の情報を用いて高度を演算することで、マップマッチングを実施するための十分な情報を出力することが可能になる。
【００７２】
続いて、図１０を参照して、自車位置補正部１１による自車位置補正処理について説明する。ここで、図１０は、車両が高速道路７０１⇒取付道路７０２⇒一般道路７０３の順に走行したとき、ナビゲーション装置１００の表示画面に表示されるカーマーク１０００の移動の様子の例を示した図である。
【００７３】
図１０の例では、車両は、高速道路７０１から取付道路７０２へ分岐し一般道路７０３に進入するが、ナビゲーション装置１００の表示画面では、車両が取付道路７０２へ分岐しても、車両の現在位置を示すカーマーク１０００は、すぐには分岐せず、しばらく高速道路７０１に残ったままになる（地点Ｂ）。これは、高速道路７０１が優先道路であり、また、車両の横方向の微小な移動を検出することが困難なために発生する現象である。
【００７４】
しかしながら、車両が取付道路７０２をさらに走行すると、高速道路７０１との高度差が次第に大きくなってくる。本実施形態のナビゲーション装置１００では、ＣＰＵは、自車位置補正部１１の処理によって、その高度差がある所定の高度差以上になったところで（地点Ｃ）、自車位置を取付道路７０２にマッチングさせる。従って、カーマーク１０００の表示位置は、地点Ｃで取付道路７０２側に移動するので、その時点で、車両が実際に走行中の道路に一致することになる。その後、カーマーク１０００は、車両の走行とともに、取付道路７０２の地点Ｄから一般道路７０３の地点Ｆへと順次移動していく。
【００７５】
すなわち、ＣＰＵは、自車位置補正処理において、取付道路７０２などの分岐路を検出した場合には、自車の演算高度情報と走行しているとしている高速道路７０１の高度情報とを比較し、その高度差が所定の高度差以上になったときには、自車が高速道路７０１から外れたことを認識し、そのカーマーク１０００の表示位置を高速道路７０１から取付道路７０２などの分岐路へ移動させる。
【００７６】
以上のように、本実施形態によれば、ブレーキが操作され、ブレーキＳＷがＯＮとなったときでも、自車の高度を滑らかに演算することができるので、元々走行していた道路と自車との高度差を演算することが可能になり、その結果、高速道路の取り付け道路などの分岐路などにおいても、自車位置を走行中の道路側に補正することが可能となる。
【００７７】
次に、車両重量学習部７の処理内容に関して説明する。走行中の車両の運動方程式は、車両重量Ｍ、加速度α、車両に働く駆動力Ｆ、ころがり抵抗Ｒｒ、速度抵抗Ｒｖ、勾配抵抗Ｒｉを用いることにより、次の式（４）により表される。
Ｍ×α＝Ｆ−Ｒｒ−Ｒｖ−Ｒｉ        （４）
なお、ここでいう駆動力Ｆは、エンジン出力トルクなどを演算して得られる推定駆動力であり、また、加速度αは、車速を微分演算して得られる推定加速度である。
【００７８】
ここで、式（４）の両辺を時間で微分して抵抗の項を消すことを考える。まず、ころがり抵抗Ｒｒは時間変化しないため、この項の時間微分は０となる。また、速度抵抗Ｒｖに関しては、短時間であれば大きな速度差が生じないものとして、無視することができる。同様に、勾配抵抗Ｒｉに関しても、短時間であれば大きな差が生じないものとして無視することができる。すると、Ｍ×（ｄα／ｄｔ）＝ｄＦ／ｄｔなる関係が得られる。
【００７９】
すなわち、駆動力Ｆの微分値と加速度αの微分値の比から現在の車両重量Ｍを演算することが可能となる。ただし、どちらも時間微分するとノイズが大きくなるため、適宜フィルタリングして演算することが望ましい。
【００８０】
そこで、フィルタリングを考慮して車両重量Ｍを演算する一方法として、車両が所定の条件で加減速したとき、その駆動力および加速度の時間変化を記憶装置に記憶し、最小二乗法により駆動力および加速度それぞれの傾きを求め、その比をとるという方法がある。
【００８１】
図１１は、車両が過去に加減速したときに得られた推定駆動力および推定加速度の関係の例を示した図である。図１１において、破線１１０１は、推定加速度を最小二乗近似した直線で、一点鎖線１１０２は、推定駆動力を最小二乗近似した直線である。両者の傾きの比から現在の車両重量を推定することができる。なお、前記したように推定駆動力は、ギア比とエンジン出力トルクとタイヤ半径とに基づき演算される量であり、推定加速度は車速から演算される量である。
【００８２】
従って、ＣＰＵは、車両重量学習部７の処理として、所定の車速や所定の推定加速度が得られたときには、そのときの推定加速度および推定駆動力の時間変化を記憶装置に記憶しておき、その後、推定加速度および推定駆動力それぞれについて時間変化の最小二乗近似によりその傾きを演算し、さらに、その両者の比を演算することにより、自車の車両重量を推定する。ＣＰＵは、以上のような車両重量の推定を、適宜、繰り返し行って、自車の車両重量を学習する。
【００８３】
なお、前記の式（４）の両辺を微分したときに無視した項を考慮し、加減速が急である場合、勾配変化が著しい場合などには、車両重量推定の学習を実施しない。また、ブレーキＳＷがＯＦＦの場合にも、正常な推定駆動力が得られないので、学習を実施しない。すなわち、ＣＰＵが、車両重量を学習するには、加速度の傾きが第１の所定値以上かつ第２の所定値以下、車速が第１の所定速度以上かつ第２の所定速度以下、ブレーキＳＷがＯＦＦなどの条件がある。従って、ＣＰＵは、車両の走行状態がそれらの条件を満たすことを確認したうえで、車両重量の学習を実施する。
【００８４】
以上、本実施形態によれば、ドライバのブレーキ操作中にも道路勾配の演算を継続し、また、適宜、車両重量を演算するとともに、その学習が実施されるので、車両重量のばらつきに対する道路勾配誤差を抑制することができ、高精度な自車位置を出力することが可能となる。さらに、従来のシステムでは加速度センサを用いて勾配を推定する方式もあるが、本実施形態では、加速度センサは不要であるので、装置製造コストが低減される効果も期待することができる。
【００８５】
＜第２の実施形態＞
図１２は、本発明の第２の実施形態に係るナビゲーション装置の構成の例を示した図である。図１２に示すように、本実施形態に係るナビゲーション装置１００ａの高度演算部６ａにおいては、第１の実施形態に係るナビゲーション装置１００の高度演算部６（図１参照）に、自車高度記憶部１２および自車高度補正部１３が追加された構成となっている。なお、以下の説明では、第１の実施形態の場合と同じ構成要素には同じ符号を付し、その詳細な説明を割愛する。
【００８６】
自車高度記憶部１２は、道路勾配演算部３により演算された道路勾配を積分することによって得られる自車の高度を時系列で記憶する。また、自車高度補正部１３は、自車高度記憶部１２により記憶された自車の高度を実際の道路形状に近い値に補正する。
【００８７】
次に、図１３を参照して、第２の実施形態における高度演算部６の演算方法に関して説明する。図１３は、図７で説明した道路構成と同じ状況で、車両７００が高速道路７０１⇒取付道路７０２⇒一般道路７０３の順に走行したときに演算される高度および勾配の変化の例を、ブレーキＳＷの状態と併せて示した図である。
【００８８】
なお、図１３において、実線８００はブレーキＳＷの状態を、実線１３００および点線１３０１は高度の演算結果を、実線８２０は図２の処理２０３により演算された道路勾配を、破線８２１が図４または図５の処理４０５から処理４０７により演算された予測勾配を示す。
【００８９】
車両７００が高速道路７０１から取付道路７０２に分岐して地点Ａを通過後、地点Ｃで車両７００のブレーキ操作がされると、ブレーキＳＷがＯＮとなるが、車両７００がこの地点Ｃに到達したときには、既に勾配（実線８２０）が変化し始めている。そして、ブレーキＳＷがＯＮになると制動力が働くため、図２に示した処理２０３では正常な勾配を演算することが不可能になる。そこで、ＣＰＵは、ブレーキＳＷがＯＮになる直前に演算した勾配変化率を用い、その勾配変化率に応じて、予測勾配（破線８２１）を求める。
【００９０】
次に、ＣＰＵは、図４の処理４０４により、地図情報から得られた取付道路７０２の高度の情報を用いて勾配下限値Ｓｄを演算し、予測勾配（破線８２１）に対して下限値Ｓｄでリミッタ処理を施す。その後、地点ＢにおいてブレーキＳＷがＯＦＦになると、図２の処理２０３による道路勾配の演算結果が正常に出力されるようになり、ここでは、平坦路の勾配（勾配０）が出力される。
【００９１】
このとき、地点Ｂでは、予測勾配（破線８２１）と処理２０３による演算勾配（実線８２０）との間には、段差が生じる。従って、ＣＰＵが予測勾配（破線８２１）を用いて高度を演算すると、その高度の演算結果は、実線１３００で示すように、実際の高度より低くなる（高度を下げ過ぎてしまう）。そこで、ＣＰＵは、その高度差を補正するため、勾配を点線８２２で示すように徐々に変化させて実線８２０につないだとしたときに得られる斜線領域８２３で示した領域の面積分の高度（勾配を距離で積分すると高度になる）を、演算高度に足し合わせる。
【００９２】
その場合、演算高度は、実線１３００で示すように、地点Ｂにおいて段差が生じるため、自車位置補正部１１による自車位置補正の際に支障をきたす恐れがある。そこで、ＣＰＵは、点線１３０１で示すように、演算した高度を点線８２２の始点である地点Ｄから緩やかに一般道路７０３の高度Ｈｇに収束するように補正する。
【００９３】
具体的には、ＣＰＵは、実線１３００を自車高度記憶部１２により記憶し、自車高度補正部１３の処理として、例えば、一般道路７０３の高度Ｈｇより所定の高さだけ高い地点Ｄから地点Ｂまで、その勾配が点線８２２のように変化すると仮定して、その高度を演算することにより、点線１３０１のような高度を得る。ただし、実際には、その勾配および高度を演算する時点では、ブレーキＳＷがＯＦＦになる地点Ｂがどこになるかは予測がつかないのであるが、ここでは、勾配の変化率が点線８２２のように一定値であるとし、その勾配が０となる地点を地点Ｂと定めるものとする。
【００９４】
以上説明したように、ブレーキ操作中で道路勾配を図２の処理２０３により正常に演算できない状態においても、ブレーキ操作をする直前の道路勾配やその変化率を利用することにより、ブレーキ操作中の道路勾配を予測することが可能となる。また、予測した勾配の情報を用いて高度を演算することで、マップマッチングを実施するための十分な情報を出力することが可能になる。
【００９５】
続いて、図１４を参照して、自車位置補正部１１による自車位置補正処理について説明する。ここで、図１４は、車両が高速道路７０１⇒取付道路７０２⇒一般道路７０３の順に走行したとき、ナビゲーション装置１００ａの表示画面におけるカーマーク１０００の移動の様子の例を示した図である。また、図１４では、高度の演算結果も併せて示している。
【００９６】
図１４の例では、車両は、高速道路７０１から取付道路７０２へ分岐し一般道路７０３に進入するが、ナビゲーション装置１００ａの表示画面では、車両が取付道路７０２へ分岐しても、車両の現在位置を示すカーマーク１０００は、すぐには分岐せず、しばらく高速道路７０１に残ったままになる（地点Ｂ）。これは、高速道路７０１が優先道路であり、また、車両の横方向の微小な移動を検出することが困難なために発生する現象である。
【００９７】
しかしながら、車両が取付道路７０２をさらに走行すると、高速道路７０１との高度差が次第に大きくなってくる。本実施形態のナビゲーション装置１００ａでは、ＣＰＵは、自車位置補正部１１の処理によって、その高度差がある所定の高度差（矢印１４０２）以上になったところで（地点Ｃ）、自車位置を取付道路７０２にマッチングさせる。従って、カーマーク１０００の表示位置は、地点Ｃで取付道路７０２側に移動するので、その時点で、車両が実際に走行中の道路に一致することになる。その後、カーマーク１０００は、車両の走行とともに、取付道路７０２の地点Ｄから一般道路７０３の地点Ｆへと順次移動していく。
【００９８】
以上のように、本実施形態によれば、ブレーキが操作され、ブレーキＳＷがＯＮとなったときでも、自車の高度を滑らかに演算することができるので、元々走行していた道路と自車との高度差を演算することが可能になり、その結果、高速道路の取り付け道路などの分岐路などにおいても、自車位置を走行中の道路側に補正することが可能となる。
【００９９】
また、自車位置をマップマッチングするとき、高度さだけを利用するのではなく、図１４に示した高度情報（実線１４００）の形状と地図情報の高度情報から得られると形状を比較して、相関性の高い道路に対してマッチングする方法も考えられ、起伏の多い道路の場合にはマッチングの精度向上に効果を期待することができる。
【０１００】
＜第３の実施形態＞
図１５は、本発明の第３の実施形態に係るナビゲーション装置に含まれる車両重量学習部の構成の例を示した図である。第３の実施形態に係るナビゲーション装置１００ｂの構成は、車両重量学習部７ｂの構成が第１（第２）の実施形態に係るナビゲーション装置１００（１００ａ）における車両重量学習部７の構成と相違することを除き、第１（第２）の実施形態に係るナビゲーション装置１００（１００ａ）の構成と同じである。そこで、以下の説明では、第１（第２）の実施形態の場合と同じ構成要素には同じ符号を付し、その詳細な説明を割愛する。
【０１０１】
図１５に示すように、本実施形態に係る車両重量学習部７ｂの構成は、第１（第２）の実施形態の場合の車両重量学習部７の構成（図１（図１２）参照）に、着座センサ情報取得部１４、ドア開閉情報取得部１５、トランクルーム開閉情報取得部１６が追加された構成となっている。
【０１０２】
着座センサ情報取得部１４は、車両の座席に設置され、人が着座していることを検知する着座センサからの情報を、車内ＬＡＮなどの通信手段を介して取得し、さらに、車両に乗車している乗車人数を取得する。
【０１０３】
ドア開閉情報取得部１５は、車両のドアの開閉状態を検知するセンサからの情報を車内ＬＡＮなどの通信手段を介して取得し、ドアの開閉日時情報などを記憶する。
【０１０４】
トランクルーム開閉情報取得部１６は、車両のトランクルームの開閉状態を検知するセンサからの情報を車内ＬＡＮなどの通信手段を介して取得し、トランクルームの開閉日時情報などを記憶する。
【０１０５】
続いて、図１６を参照して、第３の実施形態に係る車両重量学習部７ｂにおける演算方法に関して説明する。図１６は、車両重量学習部７ｂの処理内容を示すフローチャートの例である。
【０１０６】
ＣＰＵは、まず、処理１６０１において、推定車両重量（現在の車両重量）を演算する。すなわち、現在の車両重量は、第１の実施形態で説明したように、式（４）の両辺を微分して得られる式に基づき取得することができる。具体的には、図１１を用いて説明したように、所定の車速や所定の推定加速度が得られたとき、推定加速度および推定駆動力それぞれについて時間変化の最小二乗近似によりその傾きを演算し、さらに、その両者の比を演算することにより、自車の車両重量を推定する。
【０１０７】
次に、ＣＰＵは、処理１６０２において、着座センサ情報取得部１４により取得した乗車人数に変化があったか否かを判定し、乗車人数に変化があった場合には処理１６０３に進み、変化がなかった場合には処理１６０４に進む。
【０１０８】
次に、ＣＰＵは、処理１６０３において、基準車両重量を演算し、処理１６０４に進む。ここで、基準車両重量は、車のカタログなどに記載されている“車両重量（燃料満タン、潤滑油・冷却水といった必要な液体を充填し、スペアタイヤおよび工具を積んでいる状態での重量）”に乗車人数分の人の重量を足した値である。なお、通常は乗員１人を５５ｋｇで計算する。例えば、車両重量が１５００ｋｇの車両に２人乗車していた場合には、基準車両重量は、１５００＋５５×２＝１６１０ｋｇとなる。ただし、乗員１人あたりの重量は５５ｋｇ以外にも設定可能であり、また、着座センサにより重量が推定可能な場合には、その推定された重量を採用してもよい。その場合には、車両重量の精度を上げることが可能である。
【０１０９】
次に、ＣＰＵは、処理１６０４において、ドア開閉情報取得部１５またはトランクルーム開閉情報取得部１６により取得された情報により、推定車両重量または基準車両重量が演算された以降、所定時間内にドアまたはトランクルームが開閉されたか否かを判定し、ドアまたはトランクルームが開閉された場合には処理１６０５に進み、開閉されていない場合には処理１６０７に進む。
【０１１０】
次に、ＣＰＵは、処理１６０５および処理１６０７において、車両重量を学習する際のパラメータ設定を行う。すなわち、処理１６０４において、所定時間内にドアまたはトランクルームが開閉されたと判定された場合には、乗車人数の変更や荷物の出し入れが行われた可能性が高く、車両重量が大きく変化している可能性が高いため、ＣＰＵは、処理１６０５において、学習の収束時間を短くするために学習時間を優先したパラメータを設定する。一方、処理１６０４において、所定時間内にドアまたはトランクルームが開閉されていないと判定された場合には、車両重量の変化は小さいと考えられるため、処理１６０７において、学習精度を優先したパラメータを設定する。なお、パラメータに関しては、処理１６０６の中で説明する。
【０１１１】
次に、ＣＰＵは、処理１６０６において、車両重量学習値を演算する。車両重量学習値ＭＬは、車両重量学習値の前回値ＭＬｚ、推定車両重量（現在の車両重量）Ｍ、学習係数Ａ（０≦Ａ≦１）を用いて、次の式（５）式で表される。
ＭＬ＝Ａ×ＭＬｚ＋（１−Ａ）×Ｍ                （５）
【０１１２】
ここで、学習係数Ａは、学習時間と学習精度を左右するパラメータであり、Ａの値を大きくすると収束に時間がかかるが変動（ばらつき）に対しては強くなり、逆にＡの値を小さくすると早く収束するが変動に対して弱くなるという特性がある。すなわち、処理１６０５で設定する学習時間を優先したパラメータは、Ａの値を小さくし、処理１６０７で設定する学習精度を優先したパラメータは、Ａの値を大きくすればよい。
【０１１３】
また、処理１６０２で乗車人数に変化があったと判定され、処理１６０３で基準車両重量ＭＢが演算された場合には、式（５）において、車両重量学習値の前回値ＭＬｚに基準車両重量ＭＢを置き換えた式（６）を用いて車両重量学習値ＭＬを演算する。
ＭＬ＝Ａ×ＭＢ＋（１−Ａ）×Ｍ                （６）
【０１１４】
以上のように、着座センサ、ドア開閉センサおよびトランクルーム開閉センサの情報を利用して、車両重量に大きな変化があったことが予測される場合には、車両重量の学習条件（パラメータ：学習係数Ａ）を変更することにより、学習時間と学習精度のバランスを保つことが可能となる。これにより、道路勾配の演算に必要不可欠である車両重量の情報を学習しながら常に最新の値を保持することが可能となる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施形態に係るナビゲーション装置の構成の例を示した図。
【図２】本発明の第１の実施形態に係るナビゲーション装置の全体の処理内容を示すフローチャートの例。
【図３】自車周辺地図情報取得処理の処理内容を示すフローチャートの例。
【図４】ブレーキ対応処理１の処理内容を示すフローチャートの例。
【図５】ブレーキ対応処理２の処理内容を示すフローチャートの例。
【図６】ブレーキ対応処理３の処理内容を示すフローチャートの例。
【図７】車両が高速道路⇒取付道路⇒一般道路の順に走行したときの実際の高度および勾配の変化の例を示した図。
【図８】車両が高速道路⇒取付道路⇒一般道路の順に走行したときに演算される高度および勾配の変化の第１の例を示した図。
【図９】車両が高速道路⇒取付道路⇒一般道路の順に走行したときに演算される高度および勾配の変化の第２の例を示した図。
【図１０】車両が高速道路⇒取付道路⇒一般道路の順に走行したとき、ナビゲーション装置の表示画面に表示されるカーマークの移動の様子の例を示した図。
【図１１】車両が過去に加減速したときに得られた推定駆動力および推定加速度の関係の例を示した図。
【図１２】本発明の第２の実施形態に係るナビゲーション装置の構成の例を示した図。
【図１３】図７の道路構成と同じ状況で、車両が高速道路⇒取付道路⇒一般道路の順に走行したときに演算される高度および勾配の変化の例を、ブレーキＳＷの状態と併せて示した図。
【図１４】本発明の第２の実施形態において、車両が高速道路⇒取付道路⇒一般道路の順に走行したとき、ナビゲーション装置の表示画面に表示されるカーマークの移動の様子の例を示した図。
【図１５】本発明の第３の実施形態に係るナビゲーション装置に含まれる車両重量学習部の構成の例を示した図。
【図１６】本発明の第３の実施形態に係る車両重量学習部の処理内容を示すフローチャートの例。
【符号の説明】
【０１１６】
１      平坦路加速度演算部
２      推定加速度演算部
３      道路勾配演算部
４      道路勾配記憶部
５      勾配変化率演算部
６，６ａ    高度演算部
７，７ｂ    車両重量学習部
８      自車位置検出部
９      地図情報記憶部
１０    自車周辺地図情報取得部
１１    自車位置補正部
１２    自車高度記憶部
１３    自車高度補正部
１４    着座センサ情報取得部
１５    ドア開閉情報取得部
１６    トランクルーム開閉情報取得部
１００，１００ａ，１００ｂ  ナビゲーション装置
７００  車両
７０１  高速道路
７０２  取付道路
７０３  一般道路
１０００  カーマーク
【図１】
0005079577.tif 000002
【図２】
0005079577.tif 000003
【図３】
0005079577.tif 000004
【図４】
0005079577.tif 000005
【図５】
0005079577.tif 000006
【図６】
0005079577.tif 000007
【図７】
0005079577.tif 000008
【図８】
0005079577.tif 000009
【図９】
0005079577.tif 000010
【図１０】
0005079577.tif 000011
【図１１】
0005079577.tif 000012
【図１２】
0005079577.tif 000013
【図１３】
0005079577.tif 000014
【図１４】
0005079577.tif 000015
【図１５】
0005079577.tif 000016
【図１６】
0005079577.tif 000017