(57)【要約】【課題】坂道の有無を高い精度で検出する坂道検出方法及び坂道検出装置を提供する。【解決手段】所定の頻度で気圧計から気圧データを取得する気圧測定ステップと、所定の単位走行距離ごとに前記気圧データから高度を算出し、前回算出した高度との差異から、前記単位走行距離における勾配を算出する勾配算出ステップと、前記単位走行距離ごとに算出された前記勾配が、所定回数以上、連続して所定範囲内にある場合、坂道と判定して坂道信号を出力する坂道検出ステップと、を含む。【選択図】図３
2010039954.tif 000002
【特許請求の範囲】
【請求項１】
気圧センサから取得した気圧データに基づいて、所定の単位走行距離を走行するごとに高度を算出する高度算出ステップと、
前回の前記高度算出ステップにて算出した高度と今回の前記算出ステップにて算出した高度の差と、前記単位走行距離と、に基づいて、走行中の路面の勾配を算出する勾配算出ステップと、
前記勾配算出ステップにて前記勾配を算出した回数をカウントし、該勾配が所定回数、連続して所定範囲内にある場合、走行中の路面が坂道であると判定する坂道検出ステップと、
を有することを特徴とする坂道検出方法。
【請求項２】
前記坂道検出ステップにて、前記勾配算出ステップにて算出した前記勾配が前記所定回数目のみ前記所定範囲内になかった場合であって、次回の前記勾配算出ステップにて算出する前記勾配が前記所定範囲内にあるとき、走行中の路面が坂道であると判定する、
ことを特徴とする請求項１に記載の坂道検出方法。
【請求項３】
前記坂道検出ステップにて、次回の前記勾配算出ステップにて算出する前記勾配が前記所定範囲内にあり、且つ、過去の前記所定回数分の前記勾配算出ステップにて算出した前記勾配の平均値が前記所定範囲内にある場合、走行中の路面が坂道であると判定する、
ことを特徴とする請求項２に記載の坂道検出方法。
【請求項４】
前記坂道検出ステップにて、前記勾配算出ステップにて算出した前記勾配が前記所定範囲の上限値よりも大きい場合、前記所定回数にカウントしないことを特徴とする請求項１から３のいずれか一項記載の坂道検出方法。
【請求項５】
前記坂道検出ステップにて、走行中の路面が坂道であると判定した場合、該判定した時点以降の前記所定範囲を変更することを特徴とする請求項１から４のいずれか一項記載の坂道検出方法。
【請求項６】
気圧センサと、
前記気圧センサから入力した気圧データに基づいて、走行中の路面が坂道であるか否かを判別する制御部と、
を備え、
前記制御部は、前記気圧センサから取得した気圧データに基づいて、所定の単位走行距離を走行するごとに高度を算出し、前回算出した高度と今回算出した高度の差と、前記単位走行距離と、に基づいて、走行中の路面の勾配を算出し、前記勾配を算出した回数をカウントし、該勾配が所定回数、連続して所定範囲内にある場合、走行中の路面が坂道であると判定する、
ことを特徴とする坂道検出装置。
【請求項７】
前記制御部は、算出した前記勾配が前記所定回数目のみ前記所定範囲内になかった場合であって、次回算出する前記勾配が前記所定範囲内にあるとき、走行中の路面が坂道であると判定する、
ことを特徴とする請求項６に記載の坂道検出装置。
【請求項８】
前記制御部は、次回算出する前記勾配が前記所定範囲内にあり、且つ、過去の前記所定回数分算出した前記勾配の平均値が前記所定範囲内にある場合、走行中の路面が坂道であると判定する、
ことを特徴とする請求項７に記載の坂道検出装置。
【請求項９】
前記制御部は、算出した前記勾配が前記所定範囲の上限値よりも大きい場合、前記所定回数にカウントしないことを特徴とする請求項６から８のいずれか一項記載の坂道検出装置。
【請求項１０】
前記制御部は、走行中の路面が坂道であると判定した場合、該判定した時点以降の前記所定範囲を変更することを特徴とする請求項６から９のいずれか一項記載の坂道検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラック等の車両の運行管理に係る坂道情報を提供するための坂道検出方法及び坂道検出装置に関する。
【背景技術】
【０００２】
環境保護の観点や最近の燃料費高騰の影響を受けて、自動車の経済的な運転が重要視されている。特に、トラック等による輸送を業務とする運輸業などでは、走行距離や燃料消費量を追跡し、運転手に省エネ運転を励行させて経費節減を図る厳重な運行管理が行われている。また、急激な加速やエンジンの空ふかしなど、非経済的な運転状態を検知して警報等で報知する運行管理システムも提案されている。
【０００３】
従来、一般的な運行管理では、低燃費運転のためエンジンの回転数が所定数を超過しないように上限を設定し、その遵守状況で運転者の評価が行われていた。しかし、坂道では上り下りのいずれにおいてもエンジンの回転数が上昇し、予め設定した回転数を上回ってしまう場合があり、無用の報知がなされるという問題や、不可避的な状況であるにもかかわらず運転者が不当に評価されるという問題があった。
【０００４】
そこで、走行距離と燃料消費量だけを判断材料とする画一的な運行管理や運転手評価を改善するため、坂道などの路面状況を反映した適切な報知を行う車両の運行管理システムまたは運行管理方法が提案されている（例えば、特許文献１または特許文献２参照）。
【０００５】
例えば、特許文献１に開示された運行管理システムは、高価な重量センサを使用することなく、車速と燃料噴射時間の関係から車両重量を算出し、また気圧計から車両（坂道）の勾配を算出すること等によって車両の走行状態を的確に把握しながら、運転者に省エネ運転のための報知を行うものである。
【０００６】
また、特許文献２に開示された運行管理方法は、車両の重量、車速、傾斜など、車両状態に応じた適切な燃料消費率を予め把握しておき、走行状態がこれから外れる場合に報知を行うものである。
【特許文献１】特開２００４−４６４３９号公報（第３頁−第６頁、図１）
【特許文献２】特開２００４−２９０００号公報（第１４頁−第２３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記に開示された従来の運行管理システムまたは運行管理方法では、気圧計の計測に係る精度、つまり坂道の検出精度が低いという問題があった。具体的には、車両の室内に気圧計（を含む運行管理システムに係る装置）を載置している場合、走行中の窓ガラスの上げ下げ時、窓ガラスを全開しての走行中における対向車とのすれ違い時やトンネル通過時、などには気圧指示が大きく変化する。
【０００８】
また、従来例では、高度は測定した気圧値から一意に算出され、走行開始時（前回計測時）の高度との差から傾斜を算出するため、計測時に一時的に異常な気圧が測定された場合、正しい坂道検出が行えず、適切な運行管理や運転手評価を行うことができない。走行中の路面の状況が正しく把握されていること、即ち、坂道検出が高い精度で行われることが運行管理や運転手評価において重要となる。
【０００９】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、車両の運行管理や運転評価に重要な情報となる坂道の有無を高い精度で検出する坂道検出方法及び坂道検出装置を提供することにある。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために、本発明に係る坂道検出方法は、下記（１）〜（５）を特徴としている。
（１）  気圧センサから取得した気圧データに基づいて、所定の単位走行距離を走行するごとに高度を算出する高度算出ステップと、
前回の前記高度算出ステップにて算出した高度と今回の前記算出ステップにて算出した高度の差と、前記単位走行距離と、に基づいて、走行中の路面の勾配を算出する勾配算出ステップと、
前記勾配算出ステップにて前記勾配を算出した回数をカウントし、該勾配が所定回数、連続して所定範囲内にある場合、走行中の路面が坂道であると判定する坂道検出ステップと、
を有すること。
（２）  上記（１）の構成の坂道検出方法であって、
前記坂道検出ステップにて、前記勾配算出ステップにて算出した前記勾配が前記所定回数目のみ前記所定範囲内になかった場合であって、次回の前記勾配算出ステップにて算出する前記勾配が前記所定範囲内にあるとき、走行中の路面が坂道であると判定する、
こと。
（３）  上記（２）の構成の坂道検出方法であって、
前記坂道検出ステップにて、次回の前記勾配算出ステップにて算出する前記勾配が前記所定範囲内にあり、且つ、過去の前記所定回数分の前記勾配算出ステップにて算出した前記勾配の平均値が前記所定範囲内にある場合、走行中の路面が坂道であると判定する、
こと。
（４）  上記（１）〜（３）の構成の坂道検出方法であって、
前記坂道検出ステップにて、前記勾配算出ステップにて算出した前記勾配が前記所定範囲の上限値よりも大きい場合、前記所定回数にカウントしないこと。
（５）  上記（１）〜（４）の構成の坂道検出方法であって、
前記坂道検出ステップにて、走行中の路面が坂道であると判定した場合、該判定した時点以降の前記所定範囲を変更すること。
【００１１】
上記（１）の構成の坂道検出方法によれば、複数回に渡って勾配の傾向を把握して坂道判定を行うので、高い精度で坂道の検出を行うことができる。
また、上記（２）の構成の坂道検出方法によれば、測定時にたまたま気圧指示が瞬間的に大きく変化したような場合、その次の測定までモニターしてから判定を行うため、高い精度で坂道の検出を行うことができる。
また、上記（３）の構成の坂道検出方法によれば、測定時にたまたま気圧指示が瞬間的に大きく変化したような場合、その次の測定までモニターしてから判定を行うため、高い精度で坂道の検出を行うことができる。
また、上記（４）の構成の坂道検出方法によれば、気圧の乱れによって検出され得る急峻な勾配をノイズとしてカットするため、高い精度で坂道の検出を行うことができる。
また、上記（５）の構成の坂道検出方法によれば、比較的長い坂道を的確に検出することができるなど、柔軟な坂道検出が行える。
【００１２】
また、前述した目的を達成するために、本発明に係る坂道検出装置は、下記（６）〜（１０）を特徴としている。
（６）  気圧センサと、
前記気圧センサから入力した気圧データに基づいて、走行中の路面が坂道であるか否かを判別する制御部と、
を備え、
前記制御部は、前記気圧センサから取得した気圧データに基づいて、所定の単位走行距離を走行するごとに高度を算出し、前回算出した高度と今回算出した高度の差と、前記単位走行距離と、に基づいて、走行中の路面の勾配を算出し、前記勾配を算出した回数をカウントし、該勾配が所定回数、連続して所定範囲内にある場合、走行中の路面が坂道であると判定する、
こと。
（７）  上記（６）の構成の坂道検出装置であって、
前記制御部は、算出した前記勾配が前記所定回数目のみ前記所定範囲内になかった場合であって、次回算出する前記勾配が前記所定範囲内にあるとき、走行中の路面が坂道であると判定する、
こと。
（８）  上記（７）の構成の坂道検出装置であって、
前記制御部は、次回算出する前記勾配が前記所定範囲内にあり、且つ、過去の前記所定回数分算出した前記勾配の平均値が前記所定範囲内にある場合、走行中の路面が坂道であると判定する、
こと。
（９）  上記（６）〜（８）の構成の坂道検出装置であって、
前記制御部は、算出した前記勾配が前記所定範囲の上限値よりも大きい場合、前記所定回数にカウントしないこと。
（１０）  上記（６）〜（９）の構成の坂道検出装置であって、
前記制御部は、走行中の路面が坂道であると判定した場合、該判定した時点以降の前記所定範囲を変更すること。
【００１３】
上記（６）の構成の坂道検出装置によれば、複数回に渡って勾配の傾向を把握して坂道判定を行うので、高い精度で坂道の検出を行うことができる。
また、上記（７）の構成の坂道検出装置によれば、測定時にたまたま気圧指示が瞬間的に大きく変化したような場合、その次の測定までモニターしてから判定を行うため、高い精度で坂道の検出を行うことができる。
また、上記（８）の構成の坂道検出装置によれば、測定時にたまたま気圧指示が瞬間的に大きく変化したような場合、その次の測定までモニターしてから判定を行うため、高い精度で坂道の検出を行うことができる。
また、上記（９）の構成の坂道検出装置によれば、気圧の乱れによって検出され得る急峻な勾配をノイズとしてカットするため、高い精度で坂道の検出を行うことができる。
また、上記（１０）の構成の坂道検出装置によれば、比較的長い坂道を的確に検出することができるなど、柔軟な坂道検出が行える。
【発明の効果】
【００１４】
本発明によれば、計測を行う周囲の環境が瞬間的に大きく変動した場合でも、高い精度で坂道の検出を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１は、本発明の実施の形態における坂道検出装置の回路ブロック図である。坂道検出装置は、主に、ＣＰＵ１、ＥＥＰＲＯＭ２、気圧センサ３、などで構成される。ＣＰＵ１は、坂道検出装置の動作全般を統括する制御部である。ＥＥＰＲＯＭ２は、ＣＰＵ１を動作させるためのプログラムや計測用データ等を格納する。気圧センサ３は、走行中の車両周辺の気圧Ｐを所定間隔で測定する。尚、本実施の形態では、約０．５秒間隔で気圧測定を行い、
Ｈ＝４４．３３ｋｍ×［１−（Ｐ／１０１３２５Ｐａ）０．１９］
で示される式により一意に算出される高度値Ｈとして過去の所定回数分のデータが記憶される。
【００１７】
また、ＣＰＵ１は、電源回路４を介して入力されるＩＧＮ（イグニッション）信号５や、インターフェース回路６を介して入力される車速センサからのｓｐｅｅｄ信号７を取得して、坂道検出の動作開始や各種演算を行う。更に、インターフェース回路８、９を介して、坂道の上り検出信号１０、下り検出信号１１の出力を行う。
【００１８】
次に、上記構成の坂道検出装置の坂道検出動作について説明する。
【００１９】
図２は、本発明の実施の形態における坂道検出装置の坂道検出動作手順を示すフローチャートである。イグニッション信号ＯＮ後、ＣＰＵ１は、速度信号入力処理を開始する（ステップＳ１０１）。ｓｐｅｅｄ信号のパルスカウントを開始する際、はじめに、気圧センサ３からの測定値に基づいて初期の高度値を算出する。高度値は、所定間隔で測定される複数の値の平均値を用いることが好ましい。
【００２０】
次に、ＣＰＵ１は、入力されたパルス数をカウントして走行距離を算出する（ステップＳ１０２）。本実施の形態では、後述するように単位走行距離として約５０ｍごとに高度値の算出を行うよう設定しており、８パルス／１回転の車速センサ（６３７ｒｐｍ）で２５４Ｐｕｌｓｅをカウントする毎に高度算出処理を行う。所定のパルスカウントを完了するると、ＣＰＵ１は、上記方法で算出した直前３回分の高度値の平均値を当該５０ｍ走行時点での高度値として記憶する。尚、本実施の形態では３回としたが、直前何回分の高度値を参照するかは適宜決定してよく、使用者が自在に設定できることが好ましい。
【００２１】
次に、ＣＰＵ１は、勾配判定処理を行う（ステップＳ１０３）。ここで勾配とは、単位走行距離ごとに算出した高度値の変化量を単位走行距離の５０ｍで除した値（％）である。尚、本実施の形態では、２．５％を坂道判定の閾値として設定した。つまり、上り又は下りの勾配が２．５％に満たない場合、その勾配は坂道ではなく自然に発生しうる路面の起伏の範囲であると判定する。これは、法規で定義される一般の坂道の他、陸橋などのような短い坂道でも確実に検出できるように単位走行距離５０ｍに合わせて設定したものである。但し、上記の閾値はこれに限定されるものではなく、適宜設定してよい。また、使用者が自在に設定できることが好ましい。実際、本実施の形態では、２つのダイヤル１２、１３によって上りと下りの勾配の閾値をそれぞれ１．０〜４．０％の範囲で設定できる。
【００２２】
本実施の形態における坂道検出方法の特徴は、過去に算出した勾配が３回連続して同一方向への勾配である場合に坂道であると判定することである。例えば、勾配が、上り−上り−上りである場合に初めて上り坂であると判定する。また、勾配が、下り−下り−下りである場合には下り坂であると判定する。
【００２３】
図３は、勾配判定処理の詳細手順を示すフローチャートである。はじめに、ＣＰＵ１は、Ｌ（ｍ）走行時点での高度差ＡについてＡ＞０であるか否かを判断する（ステップＳ２０１）。Ａ＞０の場合は上りの勾配が、Ａ＜０の場合は下りの勾配があると判断される。
【００２４】
次に、このＬ（ｍ）における高度差ＡがＨ（ｍ）より大きいか否かを判断する（ステップＳ２０２）。Ｈとは、予め設定した「坂道」の勾配の閾値（％）から算出される単位走行距離あたりの高度差である。本実施の形態では、閾値を２．５％に設定しているので、単位走行距離５０ｍにおける高度差Ｈは、２．５（％）×５０（ｍ）＝１．２５（ｍ）となる。従って、単位走行距離あたりの高度差が＋１．２５ｍ以上である場合、この勾配は「上り坂」であると判定される。
【００２５】
尚、勾配３％の例で図１５に示すように、本来、勾配＝高度差／水平距離であるが、水平距離と実際の斜面の走行距離はほぼ同じとみなすことができるので、走行距離から勾配を算出している。
【００２６】
高度差ＡがＨ（ｍ）より大きい場合（ステップＳ２０２のＹｅｓ）、上り勾配の連続数を示す「上りカウント」を＋１とする（ステップＳ２０３）。次に、上りカウントが２であるか否かを判断し（ステップＳ２０４）、上りカウント＝２の場合、更に、次の単位走行距離（Ｌ）について高度差ＡがＨ（ｍ）以上であるか否かの判定を行う（ステップＳ２０５）。Ａ＞Ｈである場合（ステップＳ２０５のＹｅｓ）、上りカウント＝３で、上り勾配が３回連続したこととなるので（ステップＳ２０６）、ＣＰＵ１は、上り坂道検出信号を出力する（ステップＳ２０７）。その後、カウントを０にリセットして再度上述の処理を繰り返すことになる。
【００２７】
一方、３回目の単位走行距離の高度差がＡ＞Ｈでなかった場合（ステップＳ２０５のＮｏ）、即ち、所定の上り勾配でなかった場合、ＣＰＵ１は、次回の単位走行距離のモニタリング処理を行う（ステップＳ２０８）。これは、上り勾配が２回連続した直後に１回だけ「上り」の勾配が検出されない場合があっても、それをそのまま反映させるのではなく、次の単位走行距離までモニターして精度の高い坂道判定を行おうとするものである。
【００２８】
図４は、次回の単位走行距離のモニタリング処理の処理手順を示すフローチャートである。はじめに、今回（３回目の単位走行距離の高度差が上り勾配にならなかったその次の単位走行距離走行後）の高度値（(4)と称する）と前々回の高度値（(2)と称する）の高度差が０より大きく（即ち、｜(4)−(2)｜＞０）、また、今回の高度値と前回の高度値（(3)と称する）の高度差が０より大きく（即ち、｜(4)−(3)｜＞０）、且つ、今回と前々々回（(1)と称する）の高度差が、「坂道」として設定した所定の勾配に係る高度差の３倍以上（即ち、｜(4)−(1)｜＞Ｈ×３）であるか否かを判定する（ステップＳ３０１）。
【００２９】
上記の条件を満足する場合（ステップＳ３０１のＹｅｓ）、ＣＰＵ１は、上りカウント＝３として、上り坂道検出信号を出力する（ステップＳ３０２）。図５は、単位走行距離（Ｌ）走行ごとの高度変化例を模式的に示した図であるが、図５（ａ）は、上記の走行状況を示している。即ち、３回目の勾配は「上り」ではなかったが、４回目の勾配が「上り」であり、且つ、過去３回分の高度差が、「坂道」の閾値として設定した高度差の３倍以上であるため、上り坂道と判定した。
【００３０】
上記条件を満たさない場合（ステップＳ３０１のＮｏ）、次に、前回と前々回の高度差が下り方向にＨ以上で（即ち、｜(3)−(2)｜≧Ｈ）、且つ、今回と前回の高度差が下り方向にＨ以上（即ち、｜(4)−(3)｜≧Ｈ）であるか否かを判定する（ステップＳ３０３）。
【００３１】
上記の条件を満足する場合（ステップＳ３０３のＹｅｓ）、ＣＰＵ１は、下りカウント＝２として、次のＬ（ｍ）についての判定へ移行する（ステップＳ３０４）。図５（ｂ）は、上記の走行状況を示している。即ち、２回の上り勾配が続いたが、その後、３回目と４回目が連続して「下り」の勾配となったため、下りカウントを２とし、坂道の判断を次の判定で行うようにした。
【００３２】
上記条件を満たさない場合（ステップＳ３０３のＮｏ）、次に、今回と前回の高度差のみが下り方向にＨ以上（即ち、｜(4)−(3)｜≧Ｈ）であるか否かを判定する（ステップＳ３０５）。
【００３３】
上記の条件を満足する場合（ステップＳ３０５のＹｅｓ）、ＣＰＵ１は、下りカウント＝１として、次のＬ（ｍ）についての判定へ移行する（ステップＳ３０６）。図５（ｃ）は、上記の走行状況を示している。即ち、２回の上り勾配が続いたが、その後３回目は勾配が小さく、次の４回目で「下り」の勾配となったため、下りカウントを１として坂道の判断を以降の判定に持ち越した。
【００３４】
上記条件を満たさない場合（ステップＳ３０５のＮｏ）、２回の上り勾配が続いたが、その後勾配の小さい状態が連続したと判断されるため、カウントをリセットし、次の単位走行距離の判定へ移行する（ステップＳ３０７）。
【００３５】
図３のフローチャートに戻り、ステップＳ２０２においてＡ＞Ｈでない場合、また、ステップＳ２０４において上りカウント＝２でない場合、まだ坂道の判断が行えず、次の単位走行距離（Ｌ）について高度差の判定を行うため（ステップＳ２０９）、ステップＳ２０１へ移行する。
【００３６】
一方、ステップＳ２０１でＡ＞０でない場合、下りの勾配について同様の判断を行う。はじめに、Ａ×（−１）→Ａとする処理を行う（ステップＳ２１０）。これは、下りの勾配の高度差（負の値）についてその絶対値で判定を行うためである。
【００３７】
次に、単位走行距離Ｌ（ｍ）についてのＡがＨ（ｍ）より大きいか否かを判断する（ステップＳ２１１）。Ａ（絶対値）がＨより大きい場合（ステップＳ２１１のＹｅｓ）、下り勾配の連続数を示す「下りカウント」を＋１とする（ステップＳ２１２）。次に、下りカウントが２であるか否かを判断し（ステップＳ２１３）、下りカウント＝２の場合、更に、次の単位走行距離（Ｌ）についてＡ（絶対値）がＨ（ｍ）以上であるか否かの判定を行う（ステップＳ２１４）。高度差Ａが下り方向にＨより大きい場合（ステップＳ２１４のＹｅｓ）、下りカウント＝３で、下り勾配が３回連続したこととなるので（ステップＳ２１５）、ＣＰＵ１は、下り坂道検出信号を出力する（ステップＳ２１６）。その後、カウントを０にリセットして再度上述の処理を繰り返すことになる。
【００３８】
一方、３回目の単位走行距離についてＡ＞Ｈ（Ａは絶対値）でなかった場合（ステップＳ２１４のＮｏ）、即ち、所定の下り勾配でなかった場合、ＣＰＵ１は、次回の単位走行距離のモニタリング処理を行う（ステップＳ２１７）。これは、下り勾配が２回連続した直後に１回だけ「下り」の勾配が検出されない場合があっても、それをそのまま反映させるのではなく、次の単位走行距離までモニターして精度の高い坂道判定を行おうとするものである。
【００３９】
図６は、次回の単位走行距離のモニタリング処理の処理手順を示すフローチャートである。はじめに、今回（３回目の単位走行距離の高度差が下り勾配にならなかったその次の単位走行距離走行後）の高度値（(4)と称する）と前々回の高度値（(2)と称する）の高度差（絶対値）が０より大きく（即ち、｜(4)−(2)｜＞０）、また、今回の高度値と前回の高度値（(3)と称する）の高度差（絶対値）が０より大きく（即ち、｜(4)−(3)｜＞０）、且つ、今回と前々々回（(1)と称する）の高度差（絶対値）が、「坂道」として設定した所定の勾配に係る高度差の３倍以上（即ち、｜(4)−(1)｜＞Ｈ×３）であるか否かを判定する（ステップＳ４０１）。
【００４０】
上記の条件を満足する場合（ステップＳ４０１のＹｅｓ）、ＣＰＵ１は、下りカウント＝３として、下り坂道検出信号を出力する（ステップＳ４０２）。図７は、単位走行距離（Ｌ）走行ごとの高度変化例を模式的に示した図であるが、図７（ａ）は、上記の走行状況を示している。即ち、３回目の勾配は「下り」ではなかったが、４回目の勾配が「下り」であり、且つ、過去３回分の高度差が、「坂道」の閾値として設定した高度差の３倍以上であるため、下り坂道と判定した。
【００４１】
上記条件を満たさない場合（ステップＳ４０１のＮｏ）、次に、前回と前々回の高度差が上り方向にＨ以上で（即ち、(3)−(2)≧Ｈ）、且つ、今回と前回の高度差が上り方向にＨ以上（即ち、(4)−(3)≧０）であるか否かを判定する（ステップＳ４０３）。
【００４２】
上記の条件を満足する場合（ステップＳ４０３のＹｅｓ）、ＣＰＵ１は、上りカウント＝２として、次のＬ（ｍ）についての判定へ移行する（ステップＳ４０４）。図７（ｂ）は、上記の走行状況を示している。即ち、２回の下り勾配が続いたが、その後、３回目と４回目が連続して「上り」の勾配となったため、上りカウントを２とし、坂道の判断を次の判定で行うようにした。
【００４３】
上記条件を満たさない場合（ステップＳ４０３のＮｏ）、次に、今回と前回の高度差のみが上り方向にＨ以上（即ち、(4)−(3)≧０）であるか否かを判定する（ステップＳ４０５）。
【００４４】
上記の条件を満足する場合（ステップＳ４０５のＹｅｓ）、ＣＰＵ１は、上りカウント＝１として、次のＬ（ｍ）についての判定へ移行する（ステップＳ４０６）。図７（ｃ）は、上記の走行状況を示している。即ち、２回の下り勾配が続いたが、その後３回目は勾配が小さく、次の４回目で「上り」の勾配となったため、上りカウントを１として坂道の判断を以降の判定に持ち越した。
【００４５】
上記条件を満たさない場合（ステップＳ４０５のＮｏ）、２回の下り勾配が続いたが、その後勾配の小さい状態が連続したと判断されるため、カウントをリセットし、次の単位走行距離の判定へ移行する（ステップＳ４０７）。
【００４６】
図３のフローチャートに戻り、ステップＳ２１１においてＡ＞Ｈでない場合、また、ステップＳ２１３において下りカウント＝２でない場合、まだ坂道の判断が行えず、次の単位走行距離（Ｌ）について高度差の判定を行うため（ステップＳ２１８）、ステップＳ２０１へ移行する。以上で勾配判定処理が終了する。
【００４７】
図２のフローチャートに戻り、勾配判定処理（ステップＳ１０３）によって同一方向への勾配が３回以上連続した場合、上りまたは下りの坂道検出信号が出力されるが、その後坂道が継続するか否かは坂道判定処理によって行われる（ステップＳ１０４）。
【００４８】
図８は、坂道判定処理の詳細手順を示すフローチャートである。はじめに、ＣＰＵ１は、Ｌ（ｍ）走行時点での高度差ＡについてＡ＞０であるか否かを判断する（ステップＳ５０１）。Ａ＞０の場合は上りの勾配が、Ａ＜０の場合は下りの勾配があると判断される。次に、このＬ（ｍ）における高度差ＡがＨ（ｍ）より大きいか否かを判断する（ステップＳ５０２）。
【００４９】
高度差Ａ＞Ｈである場合（ステップＳ５０２のＹｅｓ）、ＣＰＵ１は、現在、上り坂道検出信号を出力中であるか否かを判断し（ステップＳ５０３）、出力中であれば上り坂道検出信号の出力を継続する（ステップＳ５０４）。一方、上り坂道検出信号の出力中でない場合（ステップＳ５０３のＮｏ）、次に、下り坂道検出信号を出力中であるか否かを判定する（ステップＳ５０７）。出力中でない場合、上りカウントを＋１して（ステップＳ５０８）、次の単位走行距離（Ｌ）についての高度差の判定を行うため（ステップＳ５０９）、ステップＳ５０１へ移行する。
【００５０】
一方、高度差Ａ＞Ｈでない場合（ステップＳ５０２のＮｏ）、ＣＰＵ１は、現在、上り坂道検出信号を出力中であるか否かを判断し（ステップＳ５０５）、出力中であれば次回の単位走行距離のモニタリング処理を行う（ステップＳ５０６）。これは、上り坂道検出信号出力中に１回だけ「上り」の勾配が検出されない場合があっても、それをそのまま反映させるのではなく、次の単位走行距離までモニターして精度の高い坂道判定を行おうとするものである。
【００５１】
図９は、次回の単位走行距離のモニタリング処理の処理手順を示すフローチャートである。はじめに、今回（上り坂道検出信号出力中に単位走行距離の高度差が上り勾配にならなかったその次の単位走行距離走行後）の高度値（(8)と称する）と前々回の高度値（(6)と称する）の高度差が０より大きく（即ち、｜(8)−(6)｜＞０）、また、今回の高度値と前回の高度値（(7)と称する）の高度差が０より大きく（即ち、｜(8)−(7)｜＞０）、且つ、今回と前々々回（(5)と称する）の高度差が、「坂道」として設定した所定の勾配に係る高度差の３倍より大きい（即ち、｜(8)−(5)｜＞Ｈ×３）か否かを判定する（ステップＳ６０１）。
【００５２】
上記の条件を満足する場合（ステップＳ６０１のＹｅｓ）、ＣＰＵ１は、上り坂道検出信号を継続して出力する（ステップＳ６０２）。図１０は、単位走行距離（Ｌ）走行ごとの高度変化例を模式的に示した図であるが、図１０（ａ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配は「上り」ではなかったが、今回の勾配が「上り」であり、且つ、過去３回分の高度差が、「坂道」の閾値として設定した高度差の３倍以上であるため、上り坂道検出信号を継続して出力した。
【００５３】
上記条件を満たさない場合（ステップＳ６０１のＮｏ）、ＣＰＵ１は、坂道検出信号の出力を停止する（ステップＳ６０３）。そして、前回と前々回の高度値の差が下り方向にＨ以上で（即ち、｜(7)−(6)｜≧Ｈ）、且つ、今回と前回の高度値の差も下り方向にＨ以上（即ち、｜(8)−(7)｜≧Ｈ）であるか否かを判定する（ステップＳ６０４）。
【００５４】
上記の条件を満足する場合（ステップＳ６０４のＹｅｓ）、ＣＰＵ１は、下りカウント＝２として、次のＬ（ｍ）についての判定へ移行する（ステップＳ６０５）。図１０（ｂ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配が「上り」ではなく、しかも、その後２回連続して「下り」の勾配となったため、坂道検出信号の出力は停止され、下りカウントを２とし、坂道の判断を次の判定で行うようにした。
【００５５】
上記条件を満たさない場合（ステップＳ６０４のＮｏ）、次に、今回と前回の高度値の差のみが下り方向にＨ以上（即ち、｜(8)−(7)｜≧Ｈ）であるか否かを判定する（ステップＳ６０６）。
【００５６】
上記の条件を満足する場合（ステップＳ６０６のＹｅｓ）、ＣＰＵ１は、下りカウント＝１として、次のＬ（ｍ）についての判定へ移行する（ステップＳ６０７）。図１０（ｃ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配が「上り」ではなく、その後「下り」の勾配となったため、坂道検出信号の出力は停止され、下りカウントを１として坂道の判断を以降の判定に持ち越した。
【００５７】
上記条件を満たさない場合（ステップＳ６０６のＮｏ）、坂道検出信号出力中、その後勾配の小さい状態が連続したと判断されるため、カウントをリセットし、次の単位走行距離の判定に移行する（ステップＳ６０８）。
【００５８】
図８のフローチャートに戻り、ステップＳ５０５において上り坂道検出信号出力中でない場合、坂道検出信号出力停止の可否について判断する必要はないので、次の単位走行距離（Ｌ）について高度差の判定を行うため（ステップＳ５０９）、ステップＳ５０１へ移行する。また、ステップＳ５０７において下り坂道検出信号出力中である場合は、後述するステップＳ５１５の次回のモニタリング処理へ移行する。
【００５９】
一方、ステップＳ５０１でＡ＞０でない場合、下りの勾配について同様の判断を行う。はじめに、Ａ×（−１）→Ａとする処理を行う（ステップＳ５１０）。これは、下りの勾配の高度差（負の値）についてその絶対値で判定を行うためである。
【００６０】
高度差Ａ（絶対値）＞Ｈである場合（ステップＳ５１１のＹｅｓ）、ＣＰＵ１は、現在、下り坂道検出信号を出力中であるか否かを判断し（ステップＳ５１２）、出力中であれば下り坂道検出信号の出力を継続する（ステップＳ５１３）。一方、下り坂道検出信号の出力中でない場合（ステップＳ５１２のＮｏ）、次に、上り坂道検出信号を出力中であるか否かを判定する（ステップＳ５１６）。出力中でない場合、下りカウントを＋１して（ステップＳ５１７）、次の単位走行距離（Ｌ）についての高度差の判定を行うため（ステップＳ５１８）、ステップＳ５０１へ移行する。
【００６１】
一方、高度差Ａ（絶対値）＞Ｈでない場合（ステップＳ５１１のＮｏ）、ＣＰＵ１は、現在、下り坂道検出信号を出力中であるか否かを判断し（ステップＳ５１４）、下り坂道検出信号出力中であれば次回の単位走行距離のモニタリング処理を行う（ステップＳ５１５）。これは、下り坂道検出信号出力中に１回だけ「下り」の勾配が検出されない場合があっても、それをそのまま反映させるのではなく、次の単位走行距離までモニターして精度の高い坂道判定を行おうとするものである。
【００６２】
図１１は、次回の単位走行距離のモニタリング処理の処理手順を示すフローチャートである。はじめに、今回（下り坂道検出信号出力中に単位走行距離の高度差が下り勾配にならなかったその次の単位走行距離走行後）の高度値（(8)と称する）と前々回の高度値（(6)と称する）の差（絶対値）が０より大きく（即ち、｜(8)−(6)｜＞０）、また、今回と前回の高度値（(7)と称する）の差（絶対値）が０より大きく（即ち、｜(8)−(7)｜＞０）、且つ、今回と前々々回（(5)と称する）の高度差（絶対値）が、「坂道」として設定した所定の勾配に係る高度差の３倍より大きい（即ち、｜(8)−(5)｜＞Ｈ×３）か否かを判定する（ステップＳ７０１）。
【００６３】
上記の条件を満足する場合（ステップＳ７０１のＹｅｓ）、ＣＰＵ１は、下り坂道検出信号を継続して出力する（ステップＳ７０２）。図１２は、単位走行距離（Ｌ）走行ごとの高度変化例を模式的に示した図であるが、図１２（ａ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配は「下り」ではなかったが、今回の勾配が「下り」であり、且つ、過去３回分の高度差が、「坂道」の閾値として設定した高度差の３倍以上であるため、下り坂道検出信号を継続して出力した。
【００６４】
上記条件を満たさない場合（ステップＳ７０１のＮｏ）、ＣＰＵ１は、坂道検出信号の出力を停止する（ステップＳ７０３）。そして、前回と前々回の高度差が上り方向にＨ以上で（即ち、(7)−(6)≧Ｈ）、且つ、今回と前回の高度差も上り方向にＨ以上（即ち、(8)−(7)≧Ｈ）であるか否かを判定する（ステップＳ７０４）。
【００６５】
上記の条件を満足する場合（ステップＳ７０４のＹｅｓ）、ＣＰＵ１は、上りカウント＝２として、次のＬ（ｍ）についての判定へ移行する（ステップＳ７０５）。図１２（ｂ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配が「下り」ではなく、しかも、その後２回連続して「上り」の勾配となったため、坂道検出信号の出力は停止され、上りカウントを２とし、坂道の判断を次の判定で行うようにした。
【００６６】
上記条件を満たさない場合（ステップＳ７０４のＮｏ）、次に、今回と前回の高度差のみが上り方向にＨ以上（即ち、(8)−(7)≧Ｈ）であるか否かを判定する（ステップＳ７０６）。
【００６７】
上記の条件を満足する場合（ステップＳ７０６のＹｅｓ）、ＣＰＵ１は、上りカウント＝１として、次のＬ（ｍ）についての判定へ移行する（ステップＳ７０７）。図１２（ｃ）は、上記の走行状況を示している。即ち、前回（(6)〜(7)）の勾配が「下り」ではなく、その後「上り」の勾配となったため、坂道検出信号の出力は停止され、上りカウントを１として坂道の判断を以降の判定に持ち越した。
【００６８】
上記条件を満たさない場合（ステップＳ７０６のＮｏ）、坂道検出信号出力中、その後勾配の小さい状態が連続したと判断されるため、カウントをリセットし、次の単位走行距離の判定に移行する（ステップＳ７０８）。
【００６９】
図８のフローチャートに戻り、ステップＳ５１４において下り坂道検出信号出力中でない場合、坂道検出信号出力停止の可否について判断する必要はないので、次の単位走行距離（Ｌ）について高度差の判定を行うため（ステップＳ５１８）、ステップＳ５０１へ移行する。また、また、ステップＳ５１６において上り坂道検出信号出力中である場合は、前述したステップＳ５０６の次回のモニタリング処理へ移行する。
【００７０】
ところで、トンネル通過時等は、気圧の乱れにより通常ありえない急峻な勾配を異常値として検出する場合があるため、本発明ではこれを極力防止するノイズ除去処理を行う。ノイズ処理は、勾配判定処理における勾配判定の前（例えば、図３のフローチャートにおいて「Ａ」で示すポイント）で行うことが好ましい。図１３は、ノイズ除去処理の詳細手順を示すフローチャートである。
【００７１】
はじめに、ＣＰＵ１は、算出された高度差（または、その絶対値）Ａが、勾配の異常値としての閾値（本実施の形態では、２０％に設定している）に係る高度差Ｈｎを超過していないか否かを判断する（ステップＳ８０１）。超過していない場合（ステップＳ８０１のＹｅｓ）、当該単位走行距離における勾配値は異常ではないと判断してノイズカウントをリセットし（ステップＳ８０２）、勾配判定処理に戻る。
【００７２】
一方、超過している場合（ステップＳ８０１のＮｏ）、当該単位走行距離における勾配値は異常であるとして採用せず、ノイズカウントを＋１する（ステップＳ８０３）。次に、ノイズカウント＝３であるか否かを判断し（ステップＳ８０４）、３でない場合は次回のＬ（ｍ）についての高度差判定に移行する（ステップＳ８０５）。一方、ノイズカウント＝３となった場合、これは異常値ではなく急峻な坂道であると判断し、勾配判定処理へ戻る。以上のノイズ処理により、気圧異常による誤った検知を防止することができ、精度の高い坂道検出を行うことができる。
【００７３】
更に、本発明では、坂道判定処理において、坂道検出信号出力中に判定する坂道勾配の値を適宜変更してもよい。例えば、一旦、坂道と判定された場合、それ以降の勾配の許容値を緩和し、比較的長く続く坂道を的確に検知できるようにすることもできる。この場合、坂道勾配の変更処理は坂道判定処理の最初（例えば、図８のフローチャートにおいて「Ｂ」で示すポイント）で行うことが好ましい。
【００７４】
図１４は、坂道判定勾配の変更処理の詳細手順を示すフローチャートである。はじめに、ＣＰＵ１は、現在、坂道検出信号出力中であるか否かを判断する（ステップＳ９０１）。出力中である場合、坂道として設定した勾配の閾値を変更する（ステップＳ９０２）。例えば、本実施の形態では、坂道検出信号出力中となった場合、最初の閾値（２．５％）を１．２％に緩和するように設定している。この変更処理により、より柔軟な坂道検出を行うことができる。
【００７５】
尚、上記の本実施の形態では坂道判定を過去３回の勾配で判定したが、判定回数は３回に限定されるものではなく、２回または４回以上であってもかまわない。また使用者が自在に設定できることが好ましい。
【００７６】
以上、詳述したように、本発明の坂道検出装置によれば、単位走行距離で同一方向に３回同じ勾配を検知して初めて「坂道」であると検知するため、例えば、坂道検出装置を車内に装置し、走行中に窓ガラスの上げ下げを行ったり、窓ガラスを全開して対向車とすれ違ったりトンネルを通過したりして、気圧指示が瞬間的に大きく変化するような場合にも高い精度で坂道の検出を行うことができる。従って、運行管理や運転手評価を適正に行うことができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態における坂道検出装置の回路ブロック図
【図２】本発明の実施の形態における坂道検出装置の坂道検出動作手順を示すフローチャート
【図３】勾配判定処理の詳細手順を示すフローチャート
【図４】次回の単位走行距離のモニタリング処理の処理手順を示すフローチャート
【図５】単位走行距離走行ごとの高度変化例を模式的に示した図
【図６】次回の単位走行距離のモニタリング処理の処理手順を示すフローチャート
【図７】単位走行距離走行ごとの高度変化例を模式的に示した図
【図８】坂道判定処理の詳細手順を示すフローチャート
【図９】次回の単位走行距離のモニタリング処理の処理手順を示すフローチャート
【図１０】単位走行距離走行ごとの高度変化例を模式的に示した図
【図１１】次回の単位走行距離のモニタリング処理の処理手順を示すフローチャート
【図１２】単位走行距離走行ごとの高度変化例を模式的に示した図
【図１３】ノイズ除去処理の詳細手順を示すフローチャート
【図１４】坂道判定勾配の変更処理の詳細手順を示すフローチャート
【図１５】坂道における水平距離と走行距離との関係を説明するための図
【符号の説明】
【００７８】
１  ＣＰＵ
３  気圧センサ
７  ｓｐｅｅｄ信号入力
１０  上り信号出力
１１  下り信号出力
【図１】
2010039954.tif 000003
【図２】
2010039954.tif 000004
【図３】
2010039954.tif 000005
【図４】
2010039954.tif 000006
【図５】
2010039954.tif 000007
【図６】
2010039954.tif 000008
【図７】
2010039954.tif 000009
【図８】
2010039954.tif 000010
【図９】
2010039954.tif 000011
【図１０】
2010039954.tif 000012
【図１１】
2010039954.tif 000013
【図１２】
2010039954.tif 000014
【図１３】
2010039954.tif 000015
【図１４】
2010039954.tif 000016
【図１５】
2010039954.tif 000017