本発明の一実施の形態にかかる坂道検出方法、及び、坂道検出装置を、図1乃至図14を参照して説明する。図1は、本発明の一実施の形態に係る坂道検出装置20の基本構成図である。同図に示すように、坂道検出装置20内には、CPU1と、EEPROM2と、気圧データとしての気圧Pを測定する気圧センサ3と、第1加速度Gcを測定する加速度センサ14と、電源回路4と、IGN(イグニッション)5と、入力I/F回路6と、車速パルス7と、出力I/F回路8、9と、上り信号モニタ10と、下り信号モニタ11と、ダイヤル12、13と、が備えられている。
上記CPU1は、電源回路4を介してIGN(イグニッション)5からON信号が入力されて、移動体としての車両Cが走行すると、該CPU1には、入力I/F回路6を介して、車速パルス7が供給される。また、CPU1は、走行中の路面が坂道と判定された際に坂道信号を、出力I/F回路8、9を介して、信号モニタ10、11に出力している。
上記EEPROM2は、前記CPU1が行う処理プログラムなどを格納したプログラム格納エリアと、前記CPU1での各種の処理過程で利用するワークエリア、各種データを格納するデータ格納エリアと、を有し、読み出し書き込み自在に設けられている。
上記気圧センサ3は、走行中の車両C周辺の気圧Pを測定する。気圧Pは、ワークエリアに順次格納される。また、気圧センサ3によって測定された気圧Pを用いて、後述する高度値Hが算出される。また、本実施形態では、前記気圧Pは、約0.5秒間隔で測定されている。
上記加速度センサ14は、移動体としての車両Cの進行方向に当該車両Cに加わる加速度としての第1加速度Gc(n)を測定している。この第1加速度Gc(n)は、図3に示すように、移動体としての車両Cの進行方向の移動に伴う第2加速度Gb(n)と、重力加速度Gの移動体としての車両Cの進行方向成分の加速度Ga(n)と、がベクトル的に加算された値である。
上記ダイヤル12、13は、前記車両Cが走行中の路面が勾配であるか否かを判定する際の閾値を設定している。また、本実施形態では、前記閾値を2.5%に設定している。
上述した構成の坂道検出装置20が坂道検出する手順について説明する。
図2は、本発明の一実施の形態における坂道検出装置20が坂道を検出処理する処理手順を示すフローチャートである。
はじめに、CPU1は、速度信号入力処理(ステップS101)を行う。CPU1は、速度信号入力処理(ステップS101)では、車速パルス7をカウントする。
次に、CPU1は、時間計測処理(ステップS102)を行う。時間計測処理(ステップS102)では、車速パルス7を、所定のカウント数までカウントする。そして、所定のカウント数の車速パルス7がカウントされるのにかかった時間を計測する。即ち、車両Cが、所定のカウント数(即ち、単位走行距離)走行するためにかかった時間を計測する。そして、計測した時間を、データ格納エリアに順次格納する。また、本実施形態では、所定のカウント数(即ち、単位走行距離)は、50mとする。
次に、CPU1は、気圧データ入手処理(ステップS103)を行う。気圧データ入手処理(ステップS103)では、時間計測処理(ステップS102)が終了した地点(即ち、単位走行距離地点Ln)の前記気圧Pを、前記ワークエリアから取得する。
次に、CPU1は、高度算出手段として働き、高度算出処理(ステップS104)を行う。高度算出処理(ステップS104)では、気圧データ入手処理(ステップS103)にて取得した、前記気圧Pを用いて、高度値Hを算出する。前記高度値Hは、下記に示す式により一意に算出される。なお、高度値Hを算出する際に用いられる気圧Pは、数回分の気圧Pの平均値を用いてもよい。
高度値H=44.33km×[1−(P/101325Pa)0.19]
また、算出された高度値Hは、出発地点L0の高度値H0とし、1回目の単位走行距離地点L1の高度値H1とし、2回目の単位走行距離地点L2の高度値H2とし、n回目(今回)の単位走行距離地点Lnの高度値Hnとし、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)としてデータ格納エリアに順次格納される。
さらに、高度算出処理(ステップS104)では、n回目(今回)の単位走行距離地点Lnの高度値Hnから、n−1回目(前回)の単位走行距離地点L(n−1)の高度値H(n−1)を減算することで高度差Aを算出する。また、算出された高度差Aは、データ格納エリアに順次格納される。
次に、CPU1は、加速度算出手段として働き、加速度算出処理(ステップS105)を行う。加速度算出処理(ステップS105)では、第1加速度Gcn(図3に示す)を測定する。さらに、時間計測処理(ステップS102)においてデータ格納エリアに格納された、車両Cが単位走行距離(50m)を走行するためにかかった「時間」で2回微分することにより、車両Cの進行方向の移動に伴う第2加速度Gbnを算出する。そして、単位走行距離地点Lnの第1加速度Gcnと第2加速度Gbnとを、データ格納エリアに格納する。また、第1加速度Gcnから第2加速度Gbnをベクトル的に減算することで、重力加速度Gの移動体としての車両Cの進行方向成分の加速度Gan(図3に示す)を算出する。この加速度Ganが、所定値Zより大きければ、車両Cが走行中の路面は、「勾配」と判定される。本実施形態では前記所定値Zは、ゼロに設定されている。
次に、CPU1は、勾配判定処理(ステップS106)を行う。坂道検出装置20では、勾配と判定する閾値を2.5%に設定されているので、勾配と判定される高度差Kは、2.5(%)×50(m)=1.25(m)となる。また、高度算出処理(ステップS104)にて算出された単位走行距離あたりの高度差Aが、+1.25m以上である場合であり、かつ、加速度算出処理(ステップS105)にて算出された加速度Ganが所定値Zより大きい場合、この勾配は「上り勾配」であると判定される。そして、上りまたは下りの勾配が2.5%に満たない場合、または、加速度Ganが所定値Z以下である場合は、勾配ではないと判定される。また、前記高度差Kは、特許請求項の範囲に示された「所定の高度差」に相当する。
また、本坂道検出装置20では、3回連続して同一方向への勾配であった場合に、坂道であると判定される。例えば、勾配が、上りー上りー上りである場合に「上り坂」であると判定される、また、勾配が、下りー下りー下りである場合に「下り坂」であると判定される。
図4は、図2に示された勾配判定処理(ステップS106)の詳細手順を示すフローチャートである。はじめに、CPU1は、高度差A>ゼロであるか否かの判定を行う(ステップ201)。上記条件を満足する場合(ステップS201のYES)は、ステップS202に進み、上記条件を満足しない場合(ステップS201のNO)は、ステップS222に進む。
次に、CPU1は、高度差A≧高度差K、かつ、第1加速度Gcn−第2加速度Gbn>Z、であるか否かの判定を行う(ステップS202)。上記条件を満足する場合(ステップS202のYES)、即ち、走行中の路面が上り勾配であると判定された場合は、上り勾配の連続数を示す「上りカウント」を+1とする(ステップS203)。また、上記条件を満足しない場合(ステップS202のNO)、即ち、走行中の路面が上り勾配ではないと判定された場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS205)して、S201に進む。
次に、CPU1は、上りカウント≧2であるか否かの判定を行う(ステップS204)。上記条件を満足する場合(ステップS204のYES)、さらに、上りカウント=2であるか否かの判定を行う(ステップS206)。上記条件を満足する場合(ステップS206のYES)、即ち、上りカウント=2である場合、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS207)して、ステップS208に進む。
次に、CPU1は、高度差A≧高度差K、かつ、第1加速度Gcn−第2加速度Gbn>Z、であるか否かの判定を行う(ステップS208)。上記条件を満足する場合(ステップS208のYES)、上り信号モニタ10に、上り坂道信号を出力する(ステップS209)。そして、上りカウントをゼロクリアして(ステップS211)、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS212)する。
また、上記条件を満足しない場合(ステップS208のNO)は、CPU1は、次の単位走行距離地点L(n+1)のモニタリング(ステップS210)に進む。次の単位走行距離地点L(n+1)のモニタリング(ステップS210)は、上り勾配が2回連続した直後の1回(3回目)の単位走行距離地点L3が上り勾配と判定されなかった場合に、上り坂道信号の出力を停止するのではなく、算出された高度値H3がノイズである可能性を考慮して、次(4回目)の単位走行距離地点L4を、モニタリングすることで、精度の高い坂道判定を行うためのものである。
また、上りカウント≧2において否の場合(ステップS204のNO)、即ち、上りカウントが1の場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS205)して、S201に進む。
また、上りカウント=2において否の場合(ステップS206のNO)、即ち、上りカウントが3の場合は、3回連続して上り方向への勾配であったと判断されることとなり、車両Cが走行中の路面は、「上り坂道」であると判定されて、上り信号モニタ10に、上り坂道信号を出力する(ステップS209)。
図5は、次の単位走行距離地点L(n+1)のモニタリング(ステップS210)の処理手順を示すフローチャートである。まず、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、即ち、4回目の単位走行距離地点L4の高度値H4、及び、加速度Gc4、Gb4を取得(ステップS301)した後、ステップS302に進む。
ステップS302においては、高度値H4−高度値H2>ゼロ、かつ、高度値H4−高度値H3>ゼロ、かつ、高度値H4−高度値H1≧高度差K×3、かつ、第1加速度Gc4−第2加速度Gb4>Zであるか否かの判定を行う。上記条件を満足する場合(ステップS302のYES)、上り信号モニタ10に、上り坂道信号を出力する(ステップS303)。図6は、単位走行距離毎の高度変化例を模式的に示した図である。図6(a)は、上記の走行状況を示している。即ち、3回目の単位走行距離地点L3は、「上り」勾配ではなかったが、4回目の単位走行距離地点L4は、「上り」勾配であり、過去3回分の高度差Aの合計が、高度差Kの3倍以上であり、かつ、第1加速度Gc4−第2加速度Gb4>Zであるため「上り坂道」と判定した。そして、上り信号モニタ10に、上り坂道信号を出力した(ステップS303)後、上りカウントをゼロクリアして(ステップS304)、図5に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS210)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS302のNO)、|高度値H3−高度値H2|≧高度差K、かつ、|高度値H4−高度値H3|≧高度差Kであるか否かを判定する(ステップS305)。ステップS305は、絶対値による判定を行っている。これは、車両Cが走行中の路面が、単位走行距離地点L3、または、単位走行距離地点L4において、下り勾配であるか否かを判定するためである。
上記条件を満足する場合(ステップS305のYES)、CPU1は、下りカウント=2とする(ステップS306)。図6(b)は、上記の走行状況を示している。即ち、2回連続して「上り」勾配が続いたが、その後、3回目、4回目は連続して「下り」勾配と判定されたため、下りカウント=2(ステップS306)として、図5に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS210)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS305のNO)、|高度値H4−高度値H3|≧高度差Kであるか否かを判定する(ステップS307)。
上記条件を満足する場合(ステップS307のYES)、CPU1は、下りカウント=1とする(ステップS308)。図6(c)は、上記の走行状況を示している。即ち、2回連続して「上り」勾配が続いたが、その後3回目は、高度値H3と高度値H2との高度差Aが高度差Kより小さいため勾配と判定されず、次の4回目は「下り」の勾配と判定されたため、下りカウント=1(ステップS308)として、図5に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS210)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS307のNO)、2回連続して「上り」勾配が続いたが、その後、高度値H3と高度値H2との高度差A、及び、高度値H4と高度値H3との高度差Aが、高度差Kより小さいため勾配と判定されず、上りカウントをゼロクリア(ステップS309)して、図5に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS210)を終了し、図4のフローチャートに戻る。
図4のフローチャートに戻り、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS212)して、図4に示された勾配判定処理(ステップS106)を終了し、図2のフローチャートに戻る。
一方、図4に示すステップS201において、上記条件を満足しない場合(ステップS201のNO)、さらに、CPU1は、|高度差A|≧高度差K、かつ、|第1加速度Gcn−第2加速度Gbn|>Z、であるか否かの判定を行う(ステップS222)。ステップS222においては、絶対値で判定を行っている。これは、下り勾配の高度差A、及び、第1加速度Gcn−第2加速度Gbn(即ち、加速度Gan)、が、負の値である場合において、判定を行うためである。
上記条件を満足する場合(ステップS222のYES)、即ち、走行中の路面が下り勾配であると判定された場合は、下り勾配の連続数を示す「下りカウント」を+1とする(ステップS223)。また、上記条件を満足しない場合(ステップS222のNO)、即ち、走行中の路面が下り勾配ではないと判定された場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS225)して、S201に進む。
次に、CPU1は、下りカウント≧2であるか否かの判定を行う(ステップS224)。上記条件を満足する場合(ステップS224のYES)、さらに、下りカウント=2であるか否かの判定を行う(ステップS226)。上記条件を満足する場合(ステップS226のYES)、即ち、下りカウント=2である場合、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS227)して、ステップS233に進む。
ステップS233では、高度差A>ゼロであるか否かの判定を行う。上記条件を満足する場合(ステップS233のYES)は、ステップS230に進み、上記条件を満足しない場合(ステップS228のNO)は、ステップS228に進む。
次に、CPU1は、|高度差A|≧高度差K、かつ、|第1加速度Gcn−第2加速度Gbn|>Z、であるか否かの判定を行う(ステップS228)。上記条件を満足する場合(ステップS228のYES)、下り信号モニタ11に、下り坂道信号を出力する(ステップS229)。そして、下りカウントをゼロクリアして(ステップS211)、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS232)する。
また、上記条件を満足しない場合(ステップS228のNO)は、CPU1は、次の単位走行距離地点L(n+1)のモニタリング(ステップS230)に進む。次の単位走行距離地点L(n+1)のモニタリング(ステップS230)は、下り勾配が2回連続した直後の1回(3回目)の単位走行距離地点L3が下り勾配と判定されなかった場合に、下り坂道信号の出力を停止するのではなく、算出された高度値H3がノイズである可能性を考慮して、次(4回目)の単位走行距離地点L4を、モニタリングすることで、精度の高い坂道判定を行うためのものである。
また、下りカウント≧2において否の場合(ステップS224のNO)、即ち、下りカウントが1の場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS225)して、S201に進む。
また、下りカウント=2において否の場合(ステップS226のNO)、即ち、下りカウントが3の場合は、3回連続して下り方向への勾配であったと判断されることとなり、車両Cが走行中の路面は、「下り坂道」であると判定されて、下り信号モニタ11に、下り坂道信号を出力する(ステップS229)。
図7は、次の単位走行距離地点L(n+1)のモニタリング(ステップS230)の処理手順を示すフローチャートである。まず、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、即ち、4回目の単位走行距離地点L4の高度値H4、及び、加速度Gc4、Gb4を取得(ステップS311)した後、ステップS319に進む。
ステップS319では、高度差A>ゼロであるか否かの判定を行う。上記条件を満足する場合(ステップS319のYES)は、ステップS315に進み、上記条件を満足しない場合(ステップS319のNO)は、ステップS312に進む。
ステップS312においては、|高度値H4−高度値H2|>ゼロ、かつ、|高度値H4−高度値H3|>ゼロ、かつ、|高度値H4−高度値H1|≧高度差K×3、かつ、|第1加速度Gc4−第2加速度Gb4|>Zであるか否かの判定を行う。上記条件を満足する場合(ステップS312のYES)、下り信号モニタ11に、下り坂道信号を出力する(ステップS313)。図8は、単位走行距離毎の高度変化例を模式的に示した図である。図8(a)は、上記の走行状況を示している。即ち、3回目の単位走行距離地点L3は、「下り」勾配ではなかったが、4回目の単位走行距離地点L4は、「下り」勾配であり、過去3回分の高度差Aの合計が、高度差Kの3倍以上であり、かつ、|第1加速度Gc4−第2加速度Gb4|>Zであるため「下り坂道」と判定した。そして、下り信号モニタ11に、下り坂道信号を出力した(ステップS313)後、下りカウントをゼロクリアして(ステップS314)、図7に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS230)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS312のNO)、|高度値H3−高度値H2|≧高度差K、かつ、|高度値H4−高度値H3|≧高度差Kであるか否かを判定する(ステップS315)。上記条件を満足する場合(ステップS315のYES)、CPU1は、下りカウント=2とする(ステップS316)。図8(b)は、上記の走行状況を示している。即ち、2回連続して「下り」勾配が続いたが、その後、3回目、4回目は連続して「下り」勾配と判定されたため、下りカウント=2(ステップS316)として、図7に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS230)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS315のNO)、|高度値H4−高度値H3|≧高度差Kであるか否かを判定する(ステップS317)。
上記条件を満足する場合(ステップS317のYES)、CPU1は、下りカウント=1とする(ステップS318)。図8(c)は、上記の走行状況を示している。即ち、2回連続して「下り」勾配が続いたが、その後3回目は、高度値H3と高度値H2との高度差Aが高度差Kより小さいため勾配と判定されず、次の4回目は「下り」の勾配と判定されたため、下りカウント=1(ステップS318)として、図7に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS230)を終了し、図4のフローチャートに戻る。
上記条件を満たさない場合(ステップS317のNO)、2回連続して「下り」勾配が続いたが、その後3回目、4回目は、高度値H3と高度値H2との高度差A、及び、高度値H4と高度値H3との高度差Aが、高度差Kより小さいため勾配と判定されず、下りカウントをゼロクリア(ステップS314)して、図7に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS230)を終了し、図4のフローチャートに戻る。
図4のフローチャートに戻り、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS232)して、図4に示された勾配判定処理(ステップS106)を終了し、図2のフローチャートに戻る。
図2のフローチャートに戻り、勾配判定処理(ステップS106)によって同一方向への勾配が3回以上連続した場合、上りまたは下り坂道信号が出力されるが、その後、坂道が継続されるか否かは、坂道判定処理(ステップS107)によって行われる。
次に、CPU1は、坂道判定手段として働き、坂道判定処理(ステップS107)を行う。図9は、坂道判定処理(ステップS107)の詳細手順を示すフローチャートである。はじめに、CPU1は、高度差A>ゼロであるか否かの判定を行う(ステップ501)。上記条件を満足する場合(ステップS501のYES)は、ステップS502に進み、上記条件を満足しない場合(ステップS501のNO)は、ステップS522に進む。
次に、CPU1は、高度差A≧高度差K、かつ、第1加速度Gcn−第2加速度Gbn>Z、であるか否かの判定を行う(ステップS502)。上記条件を満足する場合(ステップS502のYES)、さらに、CPU1は、現在、上り坂道信号が出力中であるか否かを判定し(ステップS503)、上記条件を満足する場合(ステップS503のYES)、即ち、上り坂道信号が出力中であれば、そのまま上り坂道信号の出力を継続し、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS504)して、S501に進む。
上記条件を満たさない場合(ステップS502のNO)、即ち、走行中の路面が上り勾配ではないと判定された場合は、さらに、CPU1は、現在、上り坂道信号が出力中であるか否かを判定し(ステップS508)、上記条件を満足する場合(ステップS508のYES)、即ち、上り坂道信号が出力中であれば、CPU1は、次の単位走行距離地点L(n+1)のモニタリング(ステップS509)に進む。
上記条件を満たさない場合(ステップS508のNO)、即ち、上り坂道信号が出力中でない場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS504)して、S501に進む。
また、上り坂道信号が出力中でない場合は、(ステップS503のNO)さらに、CPU1は、下り坂道信号が出力中であるか否かを判定し(ステップS505)、上記条件を満足する場合(ステップS505のYES)、即ち、下り坂道信号が出力中であれば、次の単位走行距離地点L(n+1)のモニタリング(ステップS529)に進む(図9中の「B」ポイントに移行する)。
上記条件を満たさない場合(ステップS505のNO)、即ち、下り坂道信号が出力中でない場合は、上り勾配の連続数を示す「上りカウント」を+1として(ステップS506)、図4のS204に進む(図4中の「A」ポイントに移行する)。
図10は、次の単位走行距離地点L(n+1)のモニタリング(ステップS509)の処理手順を示すフローチャートである。図9に示すステップS502において、今回(7回目)の単位走行距離地点L7が、勾配と判定されなかったので、ステップS509に進み、次(8回目)の単位走行距離地点L8の高度値H8、及び、加速度Gc8、Gc8と、を取得(ステップS601)した後、ステップS602に進む。
ステップS602においては、高度値H8−高度値H6>ゼロ、かつ、高度値H8−高度値H7>ゼロ、かつ、高度値H8−高度値H5≧高度差K×3、かつ、第1加速度Gc8−第2加速度Gb8>Zであるか否かの判定を行う。上記条件を満足する場合(ステップS602のYES)、上り信号モニタ10に、上り坂道信号を出力する(ステップS603)。図11は、単位走行距離毎の高度変化例を模式的に示した図である。図11(a)は、上記の走行状況を示している。即ち、7回目の単位走行距離地点L7は、「上り」勾配ではなかったが、8回目の単位走行距離地点L8は、「上り」勾配であり、過去3回分の高度差Aの合計が、高度差Kの3倍以上であり、かつ、第1加速度Gc8−第2加速度Gb8>Zであるため「上り坂道」と判定した。そして、上り信号モニタ10に、上り坂道信号を出力した(ステップS603)後、上りカウントをゼロクリアして(ステップS610)、図10に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS602のNO)、上り坂道信号の出力を停止(ステップS604)。
次に、|高度値H7−高度値H6|≧高度差K、かつ、|高度値H8−高度値H7|≧高度差Kであるか否かを判定する(ステップS605)。上記条件を満足する場合(ステップS605のYES)、CPU1は、下りカウント=2とする(ステップS606)。図11(b)は、上記の走行状況を示している。即ち、2回連続して「上り」勾配が続いたが、その後、7回目、8回目は連続して「下り」勾配と判定されたため、下りカウント=2(ステップS606)として、図10に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS605のNO)、|高度値H8−高度値H7|≧高度差Kであるか否かを判定する(ステップS607)。
上記条件を満足する場合(ステップS607のYES)、CPU1は、下りカウント=1とする(ステップS608)。図11(c)は、上記の走行状況を示している。即ち、2回連続して「上り」勾配が続いたが、その後7回目は、高度値H7と高度値H6との高度差Aが高度差Kより小さいため勾配と判定されず、次の8回目は「下り」の勾配と判定されたため、下りカウント=1(ステップS608)として、図10に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS607のNO)、2回連続して「上り」勾配が続いたが、その後7回目、8回目は、高度値H7と高度値H6との高度差A、及び、高度値H8と高度値H7との高度差Aが、高度差Kより小さいため勾配と判定されず、上りカウントをゼロクリア(ステップS609)して、図10に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
図9のフローチャートに戻り、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS510)して、図9に示された坂道判定処理(ステップS107)を終了し、図2のフローチャートに戻る。
一方、図9に示すステップS501において、上記条件を満足しない場合(ステップS501のNO)、さらに、CPU1は、|高度差A|≧高度差K、かつ、|第1加速度Gcn−第2加速度Gbn|>Z、であるか否かの判定を行う(ステップS522)。ステップS522においては、絶対値で判定を行っている。これは、下り勾配の高度差A、及び、第1加速度Gcn−第2加速度Gbn(即ち、加速度Gan)、が、負の値である場合において、判定を行うためである。
上記条件を満足する場合(ステップS522のYES)、上記条件を満足する場合(ステップS522のYES)、さらに、CPU1は、現在、下り坂道信号が出力中であるか否かを判定を行い(ステップS523)、上記条件を満足する場合(ステップS523のYES)、即ち、下り坂道信号が出力中であれば、そのまま下り坂道信号の出力を継続し、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS524)して、S501に進む。
上記条件を満たさない場合(ステップS522のNO)、即ち、走行中の路面が下り勾配ではないと判定された場合は、さらに、CPU1は、現在、下り坂道信号が出力中であるか否かを判定し(ステップS528)、上記条件を満足する場合(ステップS528のYES)、即ち、下り坂道信号が出力中であれば、CPU1は、次の単位走行距離地点L(n+1)のモニタリング(ステップS529)に進む。
上記条件を満たさない場合(ステップS528のNO)、即ち、下り坂道信号が出力中でない場合は、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS524)して、S501に進む。
また、下り坂道信号が出力中でない場合は、(ステップS523のNO)さらに、CPU1は、上り坂道信号が出力中であるか否かを判定し(ステップS525)、上記条件を満足する場合(ステップS525のYES)、即ち、上り坂道信号が出力中であれば、次の単位走行距離地点L(n+1)のモニタリング(ステップS509)に進む(図9中の「D」ポイントに移行する)。
上記条件を満たさない場合(ステップS525のNO)、即ち、上り坂道信号が出力中でない場合は、上り勾配の連続数を示す「下りカウント」を+1として(ステップS526)、図4のS224に進む(図4中の「C」ポイントに移行する)。
図12は、次の単位走行距離地点L(n+1)のモニタリング(ステップS529)の処理手順を示すフローチャートである。図9に示すステップS522において、今回(7回目)の単位走行距離地点L7が、勾配と判定されなかったので、ステップS529に進み、次(8回目)の単位走行距離地点L8の高度値H8、及び、加速度Gc8、Gc8と、を取得(ステップS611)した後、ステップS620に進む。
ステップS620では、高度差A>ゼロであるか否かの判定を行う。上記条件を満足する場合(ステップS620のYES)は、ステップS614に進み、上記条件を満足しない場合(ステップS620のNO)は、ステップS612に進む。
ステップS612においては、|高度値H8−高度値H6|>ゼロ、かつ、|高度値H8−高度値H7|>ゼロ、かつ、|高度値H8−高度値H5|≧高度差K×3、かつ、|第1加速度Gc8−第2加速度Gb8|>Zであるか否かの判定を行う。上記条件を満足する場合(ステップS612のYES)、下り信号モニタ11に、下り坂道信号を出力する(ステップS613)。図13は、単位走行距離毎の高度変化例を模式的に示した図である。図13(a)は、上記の走行状況を示している。即ち、7回目の単位走行距離地点L7は、「下り」勾配ではなかったが、8回目の単位走行距離地点L8は、「下り」勾配であり、過去3回分の高度差Aの合計が、高度差Kの3倍以上であり、かつ、|第1加速度Gc8−第2加速度Gb8|>Zであるため「下り坂道」と判定した。そして、下り信号モニタ11に、下り坂道信号を出力した(ステップS613)後、下りカウントをゼロクリアして(ステップS614)、図12に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS612のNO)、下り坂道信号の出力を停止する(ステップS614)。
次に、|高度値H7−高度値H6|≧高度差K、かつ、|高度値H8−高度値H7|≧高度差Kであるか否かを判定する(ステップS615)。
ステップS615においては、|高度値H7−高度値H6|≧高度差K、かつ、|高度値H8−高度値H7|≧高度差Kであるか否かを判定する(ステップS615)。ステップS615は、絶対値による判定を行っている。これは、車両Cが走行中の路面が、単位走行距離地点L7、または、単位走行距離地点L8において、下り勾配であるか否かを判定するためである。
上記条件を満足する場合(ステップS615のYES)、CPU1は、下りカウント=2とする(ステップS616)。図13(b)は、上記の走行状況を示している。即ち、2回連続して「下り」勾配が続いたが、その後、7回目、8回目は連続して「下り」勾配と判定されたため、下りカウント=2(ステップS616)として、図12に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS529)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS615のNO)、|高度値H8−高度値H7|≧高度差Kであるか否かを判定する(ステップS617)。
上記条件を満足する場合(ステップS617のYES)、CPU1は、下りカウント=1とする(ステップS618)。図13(c)は、上記の走行状況を示している。即ち、2回連続して「下り」勾配が続いたが、その後7回目は、高度値H7と高度値H6との高度差Aが高度差Kより小さいため勾配と判定されず、次の8回目は「下り」の勾配と判定されたため、下りカウント=1(ステップS618)として、図12に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS509)を終了し、図9のフローチャートに戻る。
上記条件を満たさない場合(ステップS617のNO)、2回連続して「下り」勾配が続いたが、その後7回目、8回目は、高度値H7と高度値H6との高度差A、及び、高度値H8と高度値H7との高度差Aが、高度差Kより小さいため勾配と判定されず、下りカウントをゼロクリア(ステップS619)して、図12に示された次の単位走行距離地点L(n+1)のモニタリング(ステップS529)を終了し、図9のフローチャートに戻る。
図9のフローチャートに戻り、次(n+1)の単位走行距離地点L(n+1)の高度値H(n+1)、及び、加速度Gc(n+1)、Gb(n+1)を取得(ステップS530)して、図9に示された坂道判定処理(ステップS107)を繰り返す。そして、図9に示された坂道判定処理(ステップS107)が終了すると、図2のフローチャートに戻る。
図2のフローチャートに戻り、CPU1は、記録処理(ステップS108)を行う。ここでは、データ格納エリアに格納された、車両Cが、所定のカウント数(即ち、単位走行距離)走行するためにかかった時間、高度値Hn、高度差A、第1加速度Gcnと第2加速度Gbnとを、図示しないデジタコメモリカードに記録する。こうして、図2のフローチャートが終了する。
上述した実施形態によれば、気圧センサ3から取得した気圧データPに基づいて、移動体としての車両Cが所定の単位走行距離を走行する毎の高度値Hを求める高度算出工程と、加速度センサ14から取得した前記車両Cの進行方向に当該車両Cに加わる加速度Gcに基づいて重力加速度Gの車両Cの進行方向成分の加速度Gaを求める加速度算出工程と、前記高度算出工程にて前記高度値Hから求めた高度の変化量としての高度差Aと、前記重力加速度Gの車両Cの進行方向成分の加速度Gaと、の双方に基づいて、走行中の路面が坂道であると判定する坂道判定工程と、を有しているので、地図情報を保持せずとも正確に坂道を検出することとなり、さらに、急激な気圧データの変化が測定された場合においても、正確に坂道を検出することとなり、よって、坂道検出精度の向上を図るとともに、前記地図情報を保持しないことでコストダウンを図った坂道検出方法を提供することができる。
また、前記高度の変化量としての高度差Aが、所定の高度差Kよりも大きいとともに、前記重力加速度Gの移動体の進行方向成分の加速度Gaが所定値Zよりも大きい場合、走行中の路面が坂道であると判定するので、地図情報を保持せずとも正確に坂道を検出することとなり、さらに、急激な気圧データの変化が測定された場合においても、正確に坂道を検出することとなり、よって、坂道検出精度の向上を図るとともに、前記地図情報を保持しないことでコストダウンを図ることができる。
また、気圧データPを測定する気圧センサ3と、前記気圧データPに基づいて、移動体としての車両Cが所定の単位走行距離を走行する毎の高度値Hを求める高度算出手段と、前記車両Cの進行方向に当該車両Cに加わる加速度Gcを測定する加速度センサ14と、前記車両Cの進行方向に当該車両Cに加わる前記加速度Gcに基づいて重力加速度Gの前記車両Cの進行方向成分の加速度Gaを求める加速度算出手段と、前記高度算出手段にて前記高度値Hから求めた高度の変化量としての高度差Aと、前記加速度算出手段にて求めた前記重力加速度Gの移動体の進行方向成分の加速度Gaと、の双方に基づいて、走行中の路面が坂道であると判定する坂道判定手段と、を有しているので、地図情報を保持せずとも正確に坂道を検出することとなり、さらに、急激な気圧データの変化が測定された場合においても、正確に坂道を検出することとなり、よって、坂道検出精度の向上を図るとともに、前記地図情報を保持しないことでコストダウンを図った坂道検出装置20を提供することができる。
また、前記高度の変化量としての高度差Aが、所定の高度差Kよりも大きいとともに、前記重力加速度Gの移動体の進行方向成分の加速度Gaが所定値Zよりも大きい場合、走行中の路面が坂道であると判定するので、地図情報を保持せずとも正確に坂道を検出することとなり、さらに、急激な気圧データの変化が測定された場合においても、正確に坂道を検出することとなり、よって、坂道検出精度の向上を図るとともに、前記地図情報を保持しないことでコストダウンを図ることができる。
詳しく説明すると、従来の運行管理システムにおいては、車両の窓の上げ下げ、トンネルの出入り口、トンネル内など、急激な気圧変化が測定された場合においては、車両Cが走行中の路面が坂道(勾配)でなくとも、坂道(勾配)と判定される場合があったが、本発明は、前記高度値Hから求めた高度の変化量としての高度差Aと、重力加速度Gの車両Cの進行方向成分の加速度Gaと、の双方に基づいて、走行中の路面が坂道(勾配)であるか否かを判定するので、地図情報を保持せずとも正確に坂道を検出することとなり、さらに、上述したように、急激な気圧データの変化が測定された場合においても、正確に坂道を検出することとなり、よって、坂道検出精度の向上を図るとともに、前記地図情報を保持しないことでコストダウンを図った坂道検出方法、及び、坂道検出装置20を提供することができる。
なお、本実施形態では、例えば、勾配=高度差/水平距離であるが、図14に示すように、勾配3%の場合は、水平距離と実際の斜面の走行距離は、ほぼ同じとみなすことができるので、走行距離から勾配を算出している。
また、上述した実施形態によれば、所定の高度差Kは、閾値が2.5%に設定されているので、2.5(%)×50(m)=1.25(m)と設定されているが、本発明はこれに限ったものではなく、所定の高度差Kは、使用者が所望の値に設定してもよい。
また、上述した実施形態によれば、所定値Zの値は「ゼロ」と設定されているが、本発明はこれに限ったものではなく、所定値Zは、使用者が所望の値に設定してもよい。
また、上述した実施形態によれば、次の単位走行距離地点L(n+1)のモニタリング(ステップS210、S230、S509、S529)を実行しているが、本発明はこれに限ったものではなく、これら次の単位走行距離地点L(n+1)のモニタリング(ステップS210、S230、S509、S529)は、実行しなくてもよい。
また、前述した実施形態は、本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。