(57)【特許請求の範囲】
【請求項１】
地図座標上で自車進路前方の道路に沿って並んだ複数の道路点を取得する取得手段と、該取得手段が取得した各道路点に沿って自車位置から予め定めた距離毎に複数の補間点を設定し、各補間点におけるカーブ度合を算出するカーブ度合算出手段と、該カーブ度合算出手段が算出した各カーブ度合に応じて自車進路前方のカーブ区間及びカーブ区間数を検出するカーブ区間検出手段と、
前記カーブ度合算出手段が設定した複数の補間点、前記カーブ度合算出手段が算出した各補間点におけるカーブ度合、並びに前記カーブ区間検出手段が検出した自車進路前方のカーブ区間及びカーブ区間数の夫々を対応付けしたカーブ情報を、予め定められた演算周期毎に記憶する記憶手段と、
前記カーブ区間検出手段がカーブ区間数を検出する際に、前記カーブ度合算出手段におけるカーブ度合の算出誤差によって生じる前記カーブ区間数の変動を検出する変動検出手段と、自車両の移動量を算出する移動量算出手段と、前記変動検出手段がカーブ区間数の変動を検出したら、前記記憶手段に記憶されている前回のカーブ情報、及び前記移動量算出手段が算出した自車両の移動量に基づいて、当該記憶手段に記憶された今回のカーブ情報を補正するカーブ情報補正手段と、を備えることを特徴とする道路形状検出装置。
【請求項２】
前記変動検出手段は、前記カーブ区間検出手段が検出した各カーブ区間で、先頭となる補間点の位置が変動したときに、カーブ区間数が変動したことを検出することを特徴とする請求項１に記載の道路形状検出装置。
【請求項３】
自車両の減速を要する目標補間点を算出する目標補間点算出手段を備え、
前記変動検出手段は、前記カーブ区間検出手段が検出した各カーブ区間のうち、前記目標補間点算出手段が算出した目標補間点を含むカーブ区間で、カーブ区間数の変動を検出することを特徴とする請求項１又は２に記載の道路形状検出装置。
【請求項４】
前記カーブ情報補正手段は、前記記憶手段に記憶した今回のカーブ情報を、当該記憶手段に記憶されている前回のカーブ情報に戻す補正を行うことを特徴とする請求項１〜３の何れか一項に記載の道路形状検出装置。
【請求項５】
前記カーブ情報補正手段は、前回のカーブ情報に戻す補正を行う場合、当該前回のカーブ情報に含まれる各補間点を、前記移動量算出手段が算出した自車両の移動量だけ自車両に近づける補正を行うことを特徴とする請求項４に記載の道路形状検出装置。
【請求項６】
自車両の車速を検出する車速検出手段を備え、
前記移動量算出手段は、前記車速検出手段が検出した車速に基づいて、自車両の移動量を算出することを特徴とする請求項１〜５の何れか一項に記載の道路形状検出装置。
【請求項７】
前記移動量算出手段は、前記記憶手段に記憶された今回のカーブ情報のうち、カーブ区間数が変動していない区間のカーブ情報に基づいて自車両の移動量を算出することを特徴とする請求項１〜５の何れか一項に記載の道路形状検出装置。
【請求項８】
自車両の車速を検出する車速検出手段を備え、
前記移動量算出手段は、前記車速検出手段が検出した車速に基づいて、自車両の第一の移動量を算出すると共に、前記記憶手段に記憶された今回のカーブ情報のうち、カーブ区間数が変動していない区間のカーブ情報に基づいて自車両の第二の移動量を算出し、前記第一の移動量と前記第二の移動量とに基づいて、自車両の最終的な移動量を算出することを特徴とする請求項１〜５の何れか一項に記載の道路形状検出装置。
【請求項９】
請求項１〜８の何れか一項に記載の道路形状検出装置と、該道路形状検出装置が検出した道路形状に応じて自車両の目標減速度を算出し、当該目標減速度が予め定められた減速
開始閾値よりも大きいときに、自車両を減速させる制御手段と、を備えたことを特徴とする走行制御装置。
【請求項１０】
地図座標上で自車進路前方の道路に沿って並んだ複数の道路点を取得し、取得した各道路点に沿って自車位置から予め定めた距離毎に複数の補間点を設定し、各補間点におけるカーブ度合を算出し、算出した各カーブ度合に応じて自車進路前方のカーブ区間及びカーブ区間数を検出し、前記複数の補間点、各補間点におけるカーブ度合、並びに自車進路前方のカーブ区間及びカーブ区間数の夫々を対応付けしたカーブ情報を、予め定められた演算周期毎に記憶し、前記カーブ区間数を検出する際に、前記カーブ度合の算出誤差によって生じる前記カーブ区間数の変動を検出したら、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正することを特徴とする道路形状検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、道路形状検出装置、これを備えた走行制御装置、及び道路形状検出方法に関するものである。
【背景技術】
【０００２】
従来、ナビゲーション装置から取得した前方道路に関するノードデータに基づき前方道路の曲率半径を算出し、その曲率半径に応じた許容車速となるように、自車両の走行制御を行うものがある。このような技術では、連続した同一のカーブを構成する隣り合うノード間で許容車速の平滑化処理を行うことで、一つのカーブ内における許容車速のばらつきを抑制することも提案されていた（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−０９３０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、連続した同一のカーブを認識するには、道路曲率が所定値以上となる連続したノード点を検出する必要があるが、同じノード点であっても、検出するタイミングによっては異なる道路曲率となる場合がある。すなわち、算出結果に誤差が生じると、ある一つのノード点について、例えば前回の算出結果では道路曲率が所定値以上であったのに、今回の算出結果では道路曲率が所定値未満となる場合がある。
【０００５】
このとき、前回の認識結果では、連続した一つのカーブだけを認識していたのに、今回の認識結果では、途中で途切れた二つのカーブを認識したことになるので、認識しているカーブの数が、一つから二つに増加してしまう。逆に、前回の算出結果では道路曲率が所定値未満だったのに、今回の算出結果では道路曲率が所定値以上となると、認識しているカーブの数が、二つから一つに減少してしまう。
【０００６】
そのため、上記の従来技術のように、連続した同一のカーブを構成する隣り合うノード間で許容車速の平滑化処理を行うとすると、認識しているカーブの数がハンチングしたときに、走行制御において予期せぬ制御の作動や制御の作動応答遅れが発生する可能性がある。
本発明の課題は、認識しているカーブ数のハンチングを抑制することである。
【課題を解決するための手段】
【０００７】
本発明に係る走行制御装置は、地図座標上で自車進路前方の道路に沿って並んだ複数の道路点を取得し、取得した各道路点に沿って自車位置から予め定めた距離毎に複数の補間点を設定し、各補間点におけるカーブ度合を算出し、算出した各カーブ度合に応じて自車進路前方のカーブ区間及びカーブ区間数を検出する。また、前記複数の補間点、各補間点におけるカーブ度合、並びに自車進路前方のカーブ区間及びカーブ区間数の夫々を対応付けしたカーブ情報を、予め定められた演算周期毎に記憶する。そして、カーブ区間数を検出する際に、カーブ度合の算出誤差によって生じるカーブ区間数の変動を検出したら、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正する。
【発明の効果】
【０００８】
本発明に係る走行制御装置によれば、カーブ区間数の変動を検出したときに、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正するので、認識しているカーブ数のハンチングを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】車両の概略構成である。
【図２】第一実施形態の減速制御処理を示すフローチャートである。
【図３】目標補間点の選出例である。
【図４】カーブ情報補正処理を示すフローチャートである。
【図５】係数Ｋｓの算出に用いるマップである。
【図６】第二実施形態の減速制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
《第一実施形態》
《構成》
図１は、車両の概略構成である。
ブレーキペダル１は、ブレーキブースタ２を介してマスターシリンダ３に連結される。ブレーキブースタ２は、例えば負圧の供給量を変化させることで倍力比を調整できる制御型のブースタであり、コントローラ１０によって駆動制御される。この倍力比の調整により、運転者のペダル操作に対する操作反力が制御される。
【００１１】
マスターシリンダ３と各ホイールシリンダ４ｉ（ｉ＝ＦＬ、ＦＲ、ＲＬ、ＲＲ）との間には、スタビリティ制御（ＶＤＣ：Vehicle Dynamics Control）等に用いられるブレーキアクチュエータ５が介装されている。このブレーキアクチュエータ５は、ソレノイドバルブやポンプ等の油圧機器を備え、これらをコントローラ１０によって駆動制御することにより、運転者のブレーキ操作に関らず各ホイールシリンダ４ｉの液圧を個別に制御することができる。
【００１２】
駆動力制御装置２０は、エンジン２１の燃料噴射量や点火時期、自動変速機２２の変速比、及び電子制御スロットルバルブ２３の開度を制御することにより、車両の駆動力を制御する。また、駆動力制御装置２０は、コントローラ１０からの駆動力指令を受けたときは、その駆動力指令に応じて車両の駆動力を制御する。
レーダ装置３１は、車両前方の物体までの車間距離Ｄを検出し、それをコントローラ１０へ入力する。
【００１３】
ナビゲーション装置３２は、ＧＰＳで計測した自車両の現在位置（Ｘ0，Ｙ0）、及び道路地図情報に基づいて、自車進路前方の道路形状を検出する。ここで、道路形状とは、ノード点情報であり、Ｘj、Ｙj、Ｌj（ｊ＝１〜ｎ、ｎは整数）からなる。Ｘj及びＹjはノード点の位置情報であり、Ｌjは現在位置（Ｘ0，Ｙ0）からノード点（Ｘj，Ｙj）までの距離である。なお、現在位置から遠いノード点ほど、ｊの値が大きくなるように配列されている。なお、車速及びヨーレートに基づいて、現在位置（Ｘ0，Ｙ0）を補正してもよい。また、インフラストラクチャから道路形状を入手可能であれば、それを用いる。また、取得した道路地図情報、及び自車両の現在位置は、ディスプレイ等に表示される。
【００１４】
モニタ３３は、コントローラ１０からの指令に応じて、運転者に通知すべき情報を表示すると共に、内蔵されたスピーカを介して音声やブザーで通知する。
加速度センサ１１は、車両の前後加速度Ｘｇ及び横加速度Ｙｇを検出し、ヨーレートセンサ１２は、車両のヨーレートγを検出し、舵角センサ１３は、ステアリングホイール６の回転角、つまり運転者のステアリング操作量を検出する。また、圧力センサ１４は、マスターシリンダ３の圧力を検出し、車輪速センサ１５ｉは、車輪７ｉの回転速度を検出する。各検出信号は、コントローラ１０へ入力される。
【００１５】
アクセルペダル３４には、反力モータ３５が連結され、アクセルセンサ１６は、反力モータ３５の回転角に応じて運転者のアクセル操作量（アクセル開度）を検出しコントローラ１０へ入力する。反力モータ３５は、コントローラ１０によって駆動制御され、この反力モータ３５により、運転者のペダル操作に対する操作反力が制御される。
なお、上記の各種データに左右の方向性がある場合には、何れも左方向を負値とし、右方向を正値とする。すなわち、ヨー角φ及び操舵角δは、左旋回時を負値とし右旋回時を正値とする。
コントローラ１０は、減速制御処理を所定時間毎のタイマ割込みで実行する。
【００１６】
図２は、減速制御処理を示すフローチャートである。
先ずステップＳ１では、各種データを読込む。
続くステップＳ２では、下記（１）式に示すように、非駆動側の従動輪の車輪速Ｖｗ１及びＶｗ２を用い、その平均車輪速を車速Ｖとして算出する。
Ｖ＝（Ｖｗ１＋Ｖｗ２）／２                   …………（１）
【００１７】
続くステップＳ３では、各ノード点の座標に基づいて前方道路の曲率半径Ｒｎを算出する。曲率半径Ｒｎの自体の算出方法は、幾つかの方法が考えられるが、例えば自車位置から各ノード点に沿って所定距離ｄ１（例えば２５ｍ）毎に補間点を設定し、各補間点における曲率半径Ｒｎを算出する。補間点の設定については、各ノード点を線形補間した直線上に補間点を設定してからフィルタ処理を行うものとし、自車両に近い順に補間点番号を設定する。
【００１８】
下記（２）式に示すように、連続する三つの点の座標から、曲率半径Ｒｎを算出する。ｆは三つの点の座標から曲率半径Ｒｎを算出する関数である。
Ｒｎ＝ｆ（Ｘ（ｊ−１）、Ｙ（ｊ−１）、Ｘ（ｊ）、Ｙ（ｊ）、Ｘ（ｊ＋１）、Ｙ（ｊ＋１））
…………（２）
【００１９】
続くステップＳ４では、カーブ区間の検出を行う。具体的には、各補間点の順に並んだ曲率半径Ｒｎのうち、予め設定された閾値ｔｈ１（例えばｔｈ１＝３００ｍ）以下となる区間をカーブ区間として検出する。そして、検出された各カーブ区間に対して、自車両に近い順にカーブ番号を設定すると共に、カーブ区間数を検出する。さらに、各カーブ区間の最初の補間点を、カーブ入口補間点とする。
【００２０】
図３は、カーブ区間の概念図である。
続くステップＳ５では、演算周期における前回の演算結果と比較し、カーブ区間数の変動を検出する。
先ず各カーブ区間の入口補間点について、下記（３）式を満足するか否かを順に判定する。ここで、ＣＳnはｎ番目のカーブ入口補間点番号であり、添え字（Ｚ１）付きは前回値である。ｔｈCは予め定められた整数であり、例えば１である。
｜ＣＳn(Z1)−ＣＳn｜≦ｔｈC                  ………（３）
【００２１】
ここで、上記（３）式を満足すれば、ｎ番目のカーブ区間が前回の演算結果と同一であると判断する。一方、上記（３）式を満足せず、｜ＣＳn(Z1)−ＣＳn｜＞ｔｈCであり、且つＣＳn(Z1)＜ＣＳnであれば、ｎ番目のカーブ区間が前回の演算結果と異なっており、カーブ区間数が減少したと判断する。逆に、上記（３）式を満足をせず、｜ＣＳn(Z1)−ＣＳn｜＞ｔｈCであり、且つＣＳn(Z1)＞ＣＳnであれば、ｎ番目のカーブ区間が前回の演算結果と異なっており、カーブ区間数が増加したと判断する。
【００２２】
なお、ここでは補間点を利用しているが、もちろんノード点番号を利用してもよい。
続くステップＳ６では、後述する図４のカーブ情報補正処理を実行し、カーブ区間数の変動に応じてカーブ情報を補正する。
続くステップＳ７では、各輪の制駆動力とスリップ率との関係に従い、下記（４）に示すように、路面の摩擦係数μを推定する。
μ＝ｇ（各輪の制駆動力、各輪のスリップ率）          …………（４）
【００２３】
なお、路面の摩擦係数μをインフラストラクチャから入手可能であれば、それを用いればよい。また、運転者の判断で摩擦係数μを推定してもよく、例えば高・中・低のように大まかな段階に切り替え可能なスイッチを設けて、これを運転者の判断で選択操作させてもよい。
【００２４】
続くステップＳ８では、下記（５）式に示すように、路面の摩擦係数μに応じて許容横加速度ＹｇLIMを算出する。Ｋｓは係数であり、例えば０.８程度の値である。
ＹｇLIM＝Ｋｓ×μ                     …………（５）
なお、係数Ｋｓをするのではなく、図５のマップを参照し、車速に応じて係数Ｋｓを算出してもよい。このマップは、車速が高くなるほど、係数Ｋｓが小さくなるように設定されている。したがって、車速が高くなるほど、許容横加速度ＹｇLIMも小さくなる。
【００２５】
続くステップＳ９では、制御対象地点となる目標補間点の算出を行う。本実施例では、運転者の目測ミスなどにより、実際のカーブの曲率半径から設定され、運転者が違和感を感じることなくカーブを通過可能な車速（通過可能速度）以上の車速でコーナーを走行しようとしているのを防止することが目的である。そこで、下記（６）式に示すように、各カーブ区間の最小の曲率半径とカーブ入口補間点までの距離を使用し、ＴＴＣが最小のカーブ区間に対して制御を行うので、各カーブ区間の中から、ＴＴＣが最小となるカーブ区間で曲率半径が最小となる地点を目標補間点とする。
ＴＴＣ＝Ｌｎ／｛Ｖ−√（ＹｇLIM×｜Ｒｎ｜）｝       ………（６）
【００２６】
続くステップＳ１０では、下記（７）式に示すように、車速Ｖ、目標車速Ｖｒ、及び目標補間点までの距離Ｌｔに応じて、目標減速度Ｘｇを算出する。目標減速度Ｘｇは、正値のときに減速を指し、負値のときに加速を指す。
Ｘｇ＝（Ｖ2−Ｖｒ2）／２Ｌｔ
＝（Ｖ2−ＹｇLIM×｜Ｒｎ｜）／２Ｌｔ            ………（７）
【００２７】
上記（６）式により、Ｖ＞Ｖｒの場合、車速Ｖが大きいほど、且つ目標車速Ｖｒが小さいほど、目標減速度Ｘｇが大きくなる。また、許容横加速度Ｙｇが小さいほど、且つ曲率半径Ｒｎが小さいほど、目標減速度Ｘｇが大きくなる。また、目標ノード点までの距離Ｌが短いほど、目標減速度Ｘｇが大きくなる。
【００２８】
続くステップＳ１１では、警報の作動状態を表す警報フラグがＦW＝０にリセットされているか否かを判定する。判定結果がＦW＝０であれば、警報が非作動状態であると判断してステップＳ１２に移行する。一方、判定結果がＦW＝１であれば、既に警報が作動状態にあると判断してステップＳ１５に移行する。
ステップＳ１２では、目標減速度Ｘｇが警報開始閾値ｔｈW以上であるか否かを判定する。判定結果がＸｇ≧ｔｈWであれば、減速を促す警報が必要であると判断してステップＳ１３に移行する。一方、判定結果がＸｇ＜ｔｈWであれば、減速を促す警報は不要であると判断してステップＳ１６に移行する。
【００２９】
ステップＳ１３では、モニタ３３を駆動し、表示や音声などによって減速を促す警報を発する。
続くステップＳ１４では、警報フラグをＦW＝１にセットしてからステップＳ１８に移行する。
ステップＳ１５では、目標減速度Ｘｇが警報解除閾値（ｔｈW−ＫW）以上であるか否かを判定する。ＫWは警報のＯＮ／ＯＦＦのハンチングを防ぐためのヒステリシスであり、例えば０.０３Ｇ程度の値とする。判定結果がＸｇ≧（ｔｈW−ＫW）であれば、依然として減速を促す警報が必要であると判断して前記ステップＳ１３に移行する。一方、判定結果がＸｇ＜（ｔｈW−ＫW）であれば、もはや減速を促す警報は不要であると判断してステップＳ１６に移行する。
【００３０】
ステップＳ１６では、警報を終了する。
続くステップＳ１７では、警報フラグをＦW＝０にリセットしてからステップＳ１８に移行する。
ステップＳ１８では、減速制御の作動状態を表す減速フラグがＦR＝０にリセットされているか否かを判定する。判定結果がＦR＝０であれば、減速制御が非作動状態であると判断してステップＳ１９に移行する。一方、判定結果がＦR＝１であれば、既に減速制御が作動状態にあると判断してステップＳ２２に移行する。
【００３１】
ステップＳ１９では、目標減速度Ｘｇが減速開始閾値ｔｈR以上であるか否かを判定する。ｔｈRはｔｈWより少し大きい値とする。判定結果がＸｇ≧ｔｈRであれば、減速制御が必要であると判断してステップＳ２０に移行する。一方、判定結果がＸｇ＜ｔｈRであれば、減速制御は不要であると判断してステップＳ２３に移行する。
ステップＳ２０では、制動力制御、及び駆動力抑制によって減速制御を実行する。
【００３２】
［制動力制御］
先ず、下記（８）式に示すように、目標減速度Ｘｇに応じて目標制動液圧Ｐｃを算出する。Ｋｂはブレーキ諸元に応じた定数である。
Ｐｃ＝Ｋｂ×Ｘｇ                      …………（８）
そして、下記（９）式に示すように、目標制動液圧Ｐｃとマスターシリンダ圧力Ｐｍとを比較し、セレクトハイしたものを新たな目標制動液圧Ｐｃとする。
Ｐｃ  ←  ｍａｘ〔Ｐｃ，Ｐｍ〕        …………（９）
そして、最適な前後輪制動力配分を決定し、目標制動液圧Ｐｃに応じて各輪の目標制動液圧Ｐｉを算出し、この目標制動液圧Ｐｉを実現するためにブレーキアクチュエータ５を駆動制御する。
【００３３】
［駆動力制御］
ここでは、下記（１０）式に示すように、目標駆動トルクＴを算出し、この目標駆動トルクＴに応じた駆動力指令を駆動力制御装置２０に出力する。Ｆａは運転者のアクセル操作に応じた通常の駆動トルクであり、Ｇは目標制動液圧Ｐｃに応じて発生すると予想される制動トルクである。
Ｔ＝Ｆａ−Ｇ                          …………（１０）
こうして制動力の増加と、エンジン出力の抑制によって、車両を効果的に減速させる。
続くステップＳ２１では、減速フラグをＦR＝１にセットしてから所定のメインプログラムに復帰する。
【００３４】
ステップＳ２２では、目標減速度Ｘｇが減速解除閾値（ｔｈR−ＫR）以上であるか否かを判定する。ＫRは減速制御のＯＮ／ＯＦＦのハンチングを防ぐためのヒステリシスであり、例えば０.０５Ｇ程度の値とする。判定結果がＸｇ≧（ｔｈR−ＫR）であれば、依然として減速制御が必要であると判断して前記ステップＳ２０に移行する。一方、判定結果がＸｇ＜（ｔｈR−ＫR）であれば、もはや減速制御は不要であると判断してステップＳ２３に移行する。
ステップＳ２３では、減速制御を終了する。
続くステップＳ２４では、減速フラグをＦR＝０にリセットしてから所定のメインプログラムに復帰する。
【００３５】
図４は、カーブ情報補正処理を示すフローチャートである。
先ずステップＳ６１では、前述したステップＳ６の処理で、カーブ区間数の変動があったか否かを判定する。カーブ区間数の変動がなければ、そのまま図２の減速制御処理に復帰する。一方、カーブ区間数の変動があれば、ステップＳ６２に移行する。
【００３６】
ステップＳ６２では、カーブ区間数の変動に応じて、カーブ情報を補正する。
先ず、カーブ区間が減少しているときには、下記（１１）式に示すように、ｎ番目以前のカーブ区間には１番目〜ｎ番目のカーブ情報を代入し、ｎ番目より後のカーブ番号は一つずつ増加させる。すなわち、カーブ情報を、前回の配列に戻す補正を行い、前回のカーブ区間数を保持する。ここで、Ｃｎはｎ番目のカーブ区間を表す配列であり、添え字（Ｚ１）付きは前回値である。
【００３７】
：
：
Ｃn+2  ＝  Ｃn+3
Ｃn+1  ＝  Ｃn+2
Ｃn    ＝  Ｃn(Z1)
Ｃn-1  ＝  Ｃn-1(Z1)
：
：
Ｃ2    ＝  Ｃ2(Z1)
Ｃ1    ＝  Ｃ1(Z1)              ………（１１）
【００３８】
一方、カーブ区間が増加しているときには、下記（１２）式に示すように、ｎ番目以前のカーブ区間には１番目〜ｎ番目のカーブ情報を代入し、ｎ番目より後のカーブ番号は一つずつ減少させる。すなわち、カーブ情報を、前回の配列に戻す補正を行い、前回のカーブ区間数を保持する。ここで、Ｃｎはｎ番目のカーブ区間を表す配列であり、添え字（Ｚ１）付きは前回値である。
【００３９】
：
：
Ｃn+2  ＝  Ｃn+1
Ｃn+1  ＝  Ｃn
Ｃn    ＝  Ｃn(Z1)
Ｃn-1  ＝  Ｃn-1(Z1)
：
：
Ｃ2    ＝  Ｃ2(Z1)
Ｃ1    ＝  Ｃ1(Z1)              ………（１２）
【００４０】
続くステップＳ６３では、下記（１３）式に示すように、車速Ｖと、コントローラ１０の演算周期ｄｓとに基づいて、前回演算した時点からの自車両の移動量Ｌｖを算出する。
Ｌｖ＝Σ（Ｖ×ｄｓ）                  ………（１３）
【００４１】
続くステップＳ６４では、移動量Ｌｖが、前述した補間点間隔ｄ１よりも大きいか否かを判定する。判定結果がＬｖ＜ｄ１であれば、各補間点の更新は不要であると判断してそのまま図２の減速制御処理に復帰する。一方、判定結果がＬｖ≧ｄ１であれば、各補間点の更新が必要であると判断してステップＳ６５に移行する。
【００４２】
ステップＳ６５では、下記（１４）式に基づいて、１番目〜ｎ番目のカーブ情報に基づいて、カーブ区間数を保持し始めた時点からの自車両の移動量ＳＤを算出する。ここで、min［］は最小値を選択する関数であり、ｎ番目となるカーブ入口補間点番号ＣＳnの添え字（ｈ）付きは、カーブ区間数を保持し始めた時点のカーブ入口補間点番号である。なお、移動量ＳＤは自車両の移動量に相当する値ではあるが、物理量ではなく、補間点番号を更新するための値である。
ＳＤ＝min［（ＣＳ1−ＣＳ1(h)），……（ＣＳn−ＣＳn(h)）］
………（１４）
【００４３】
続くステップＳ６６では、下記（１５）式を満足するか否かに応じて、カーブ情報を更新する。
｜（Ｌｖ／ｄ１）−ＳＤ｜≦１          ………（１５）
先ず上記（１５）式を満足すれば、（Ｌｖ／ｄ１）の整数部分と移動量ＳＤとのうち、大きい方の値を、カーブ区間の補間点番号から減算することで、自車両がカーブ区間に近づいた分だけ各補間点を小さくする。さらに、各カーブ区間数を保持し始めた時点のカーブ入口補間点番号から移動量ＳＤを減算する。こうして、カーブ情報を更新してから、図２の減速制御処理に復帰する。
【００４４】
一方、上記（１５）式を満足せず、｜（Ｌｖ／ｄ１）−ＳＤ｜＞１であれば、（Ｌｖ／ｄ１）の整数部分と移動量ＳＤとの平均値を、カーブ区間の補間点番号から減算することで、自車両がカーブ区間に近づいた分だけ各補間点を小さくする。さらに、各カーブ区間数を保持し始めた時点のカーブ入口補間点番号から移動量ＳＤを減算する。こうして、カーブ情報を更新してから、図２の減速制御処理に復帰する。
【００４５】
《作用》
先ず、ナビゲーション装置３２から自車進路前方のノード点を取得し、連続した同一のカーブを認識するために、曲率半径Ｒｎが閾値ｔｈ１以上となる連続した補間点を検出する（ステップＳ４）。このとき、検出するタイミングによっては異なる曲率半径となる場合がある。すなわち、算出結果に誤差が生じると、ある一つのノード点について、例えば前回の算出結果では曲率半径が所定値以下であったのに、今回の算出結果では曲率半径が所定値を上回っている場合がある。
【００４６】
この場合、前回の認識結果では、連続した一つのカーブだけを認識していたのに、今回の認識結果では、途中で途切れた二つのカーブを認識したことになるので、認識しているカーブの数が、一つから二つに増加してしまう。逆に、前回の算出結果では道路曲率が所定値未満だったのに、今回の算出結果では道路曲率が所定値以上となると、認識しているカーブの数が、二つから一つに減少してしまう。このように、認識しているカーブの数がハンチングすると、走行制御において予期せぬ制御の作動や制御の作動応答遅れが発生する可能性がある。
【００４７】
そこで、本実施形態では、各カーブ区間の入口補間点について、演算周期における前回の演算結果と比較し、カーブ区間数が変動しているか否かを判定する（ステップＳ５）。具体的には、各カーブ区間で、先頭となる補間点の位置が変動したときに、カーブ区間数が変動したと判定し、前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正する（ステップＳ６）。
【００４８】
先ず、カーブ区間が減少しているときには、ｎ番目以前のカーブ区間には１番目〜ｎ番目のカーブ情報を代入し、ｎ番目より後のカーブ番号は一つずつ増加させる。一方、カーブ区間が増加しているときには、ｎ番目以前のカーブ区間には１番目〜ｎ番目のカーブ情報を代入し、ｎ番目より後のカーブ番号は一つずつ減少させる。すなわち、今回のカーブ情報を、前回の配列に戻す補正を行うことで、前回のカーブ区間数を保持する（ステップＳ６２）。
【００４９】
そして、車速Ｖに基づいて、演算周期ｄｓの間に自車両が移動した量Ｌｖを算出し（ステップＳ６３）、この移動量Ｌｖが補間点の間隔ｄ１より大きい場合に（ステップＳ６４の判定が“Yes”）、自車両が移動した分だけ、各補間点を自車両に近づける、つまり各補間点番号を小さくする補正を行う（ステップＳ６５、Ｓ６６）。
【００５０】
ここで、補間点番号の補正には、移動量Ｌｖだけではなく、移動量ＳＤをも用いる。この移動量ＳＤは、今回のカーブ情報のうち、カーブ区間数が変動していないカーブ区間のカーブ情報、つまりカーブ区間数の変動を検出した位置よりも自車両に対して近い側のカーブ情報に基づいて算出した値である。これら移動量Ｌｖ及びＳＤのセレクトハイ値、又は双方の平均値を最終的な移動量とし、この最終的な移動量を補間点番号の更新量とする。したがって、双方に含まれる誤差を互いに補うことができる。
【００５１】
上記のように、カーブ区間数が変動していたときには、前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正することにより、認識しているカーブ数のハンチングを抑制することができる。したがって、走行制御において予期せぬ変動や応答遅れが発生する可能性も軽減される。
【００５２】
次に、車速を制御する走行制御について説明する。
先ず、取得した道路形状に基づいて、車両の目標減速度Ｘｇを算出する（ステップＳ７〜Ｓ１０）。このとき、車両がカーブに近づいてくると、その道路形状に基づいて算出される目標減速度Ｘｇが次第に増加してくる。
【００５３】
そして、目標減速度Ｘｇが警報開始閾値ｔｈW以上となるときに（ステップＳ１２の判定が“Yes”）、モニタ３３を駆動し、表示や音声などによって減速を促す警報を発する（ステップＳ１３）。この警報により、運転者が速やかにアクセル操作を緩める、又は制動操作に移行する等、減速操作を実行することで、目標減速度Ｘｇが警報開始閾値（ｔｈW−ＫW）未満になれば（ステップＳ１５の判定が“No”）、警報を終了する（ステップＳ１６）。減速開始閾値ｔｈRは警報開始閾値ｔｈWよりも大きいので、このときに減速制御が開始されることはない。
【００５４】
一方、警報を開始しても、運転者が速やかに減速操作を実行せず、目標減速度Ｘｇが減速開始閾値ｔｈR以上となるときに（ステップＳ１９の判定が“Yes”）、ブレーキアクチュエータ５及び駆動力制御装置２０を駆動し、制動力の増加と駆動力の抑制によって、減速制御を行う（ステップＳ２０）。この減速制御により、目標減速度Ｘｇが減速解除閾値（ｔｈR−ＫR）未満になれば（ステップＳ２２の判定が“No”）、減速制御を終了する（ステップＳ２３）。
【００５５】
このように、自車進路前方の道路形状を取得し、カーブに進入する前に、そのカーブに適した進入速度となるように自動減速を行うと共に、その旨を音声や表示によって運転者に報知することで、運転支援を行うことができる。
【００５６】
《応用例》
なお、本実施形態では、各カーブ区間で、先頭となる補間点の位置が変動したか否かを判定することで、カーブ区間数の変動を検出しているが、先にステップＳ７〜Ｓ１０の処理を実行することで、目標補間点を含むカーブ区間を検出した場合には、そのカーブ区間で先頭となる補間点の位置が変動したか否かを判定するだけでもよい。すなわち、少なくとも自車両の減速を要する目標補間点を含むカーブ区間で、先頭となる補間点の位置が変動したか否かを判定することで、カーブ区間数の変動を検出してもよい。
このように、目標補間点を含むカーブ区間で、先頭となる補間点の位置が変動したか否かを判定することにより、より簡易的にカーブ区間数の変動を検出することができる。
【００５７】
《効果》
以上より、ナビゲーション装置３２が「取得手段」に対応し、ステップＳ３の処理が「カーブ度合算出手段」に対応し、ステップＳ４の処理が「カーブ区間検出手段」に対応し、コントローラ１０が有するメモリが「記憶手段」に対応する。また、ステップＳ５の処理が「変動検出手段」に対応し、ステップＳ６３、Ｓ６５の処理が「移動量算出手段」に対応し、ステップＳ６（Ｓ６２、Ｓ６５）の処理が「カーブ情報補正手段」に対応する。また、補間点が「道路点」に対応し、曲率半径が「カーブ度合」に対応する。また、ステップＳ２の処理が「車速検出手段」に対応し、ステップＳ９の処理が「目標道路点算出手段」に対応する。
【００５８】
（１）地図座標上で自車進路前方の道路に沿って並んだ複数の道路点を取得する取得手段と、該取得手段が取得した各道路点におけるカーブ度合を算出するカーブ度合算出手段と、該カーブ度合算出手段が算出した各カーブ度合に応じて自車進路前方のカーブ区間及びカーブ区間数を検出するカーブ区間検出手段と、前記取得手段が取得した複数の道路点、前記カーブ度合算出手段が算出した各道路点におけるカーブ度合、並びに前記カーブ区間検出手段が検出した自車進路前方のカーブ区間及びカーブ区間数の夫々を対応付けしたカーブ情報を、予め定められた演算周期毎に記憶する記憶手段と、前記カーブ区間検出手段が検出したカーブ区間数の変動を検出する変動検出手段と、自車両の移動量を算出する移動量算出手段と、前記変動検出手段がカーブ区間数の変動を検出したら、前記記憶手段に記憶されている前回のカーブ情報、及び前記移動量算出手段が算出した自車両の移動量に基づいて、当該記憶手段に記憶された今回のカーブ情報を補正するカーブ情報補正手段と、を備える。
このように、カーブ区間数の変動を検出したときに、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正するので、認識しているカーブ数のハンチングを抑制することができる。
【００５９】
（２）前記変動検出手段は、前記カーブ区間検出手段が検出した各カーブ区間で、先頭となる道路点の位置が変動したときに、カーブ区間数が変動したことを検出する。
このように、各カーブ区間で、先頭となる道路点の位置が変動したか否かを判定することで、カーブ区間数の変動を容易に且つ正確に検出することができる。
【００６０】
（３）自車両の減速を要する目標道路点を算出する目標道路点算出手段を備え、
前記変動検出手段は、前記カーブ区間検出手段が検出した各カーブ区間のうち、前記目標道路点算出手段が算出した目標道路点を含むカーブ区間で、カーブ区間数の変動を検出する。
このように、少なくとも目標道路点を含むカーブ区間で、カーブ区間数の変動を検出することで、より簡易的にカーブ区間数の変動を検出することができる。
【００６１】
（４）前記カーブ情報補正手段は、前記記憶手段に記憶した今回のカーブ情報を、当該記憶手段に記憶されている前回のカーブ情報に戻す補正を行う。
このように、今回のカーブ情報を、前回のカーブ情報に戻す補正を行うことで、認識しているカーブ数のハンチングを抑制することができる。
【００６２】
（５）前記カーブ情報補正手段は、前回のカーブ情報に戻す補正を行う場合、当該前回のカーブ情報に含まれる各道路点を、前記移動量算出手段が算出した自車両の移動量だけ自車両に近づける補正を行う。
このように、前回のカーブ情報に戻すと共に、各道路点を、自車両の移動量だけ車両に近づける補正を行うことで、自車位置を基準としたカーブ情報を常に正確な状態に保つことができる。
【００６３】
（６）自車両の車速を検出する車速検出手段を備え、前記移動量算出手段は、前記車速検出手段が検出した車速に基づいて、自車両の移動量を算出する。
このように、車速を用いることで、自車両の移動量を容易に且つ正確に算出することができる。
【００６４】
（７）前記移動量算出手段は、前記記憶手段に記憶された今回のカーブ情報のうち、カーブ区間数が変動していない区間のカーブ情報に基づいて自車両の移動量を算出する。
このように、カーブ区間数が変動していない区間のカーブ情報を用いることで、自車両の移動量を容易に且つ正確に算出することができる。
【００６５】
（８）自車両の車速を検出する車速検出手段を備え、前記移動量算出手段は、前記車速検出手段が検出した車速に基づいて、自車両の第一の移動量を算出すると共に、前記記憶手段に記憶された今回のカーブ情報のうち、カーブ区間数が変動していない区間のカーブ情報に基づいて自車両の第二の移動量を算出し、前記第一の移動量と前記第二の移動量とに基づいて、自車両の最終的な移動量を算出する。
このように、第一の移動量と第二の移動量とを用いることで、双方に含まれる誤差を互いに補い、自車両の移動量を正確に算出することができる。
【００６６】
（９）道路形状検出装置と、該道路形状検出装置が検出した道路形状に応じて自車両の目標減速度を算出し、当該目標減速度が予め定められた減速開始閾値よりも大きいときに、自車両を減速させる制御手段と、を備える。
このように、目標減速度に応じて自車両を減速させるので、カーブ区間を通過する際の車速を最適化することができる。
【００６７】
（１０）地図座標上で自車進路前方の道路に沿って並んだ複数の道路点を取得し、取得した各道路点におけるカーブ度合を算出し、算出した各カーブ度合に応じて自車進路前方のカーブ区間及びカーブ区間数を検出し、前記複数の道路点、各道路点におけるカーブ度合、並びに自車進路前方のカーブ区間及びカーブ区間数の夫々を対応付けしたカーブ情報を、予め定められた演算周期毎に記憶し、カーブ区間数の変動を検出したら、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正する。
このように、カーブ区間数の変動を検出したときに、記憶されている前回のカーブ情報と自車両の移動量とに基づいて、今回のカーブ情報を補正するので、認識しているカーブ数のハンチングを抑制することができる。
【００６８】
《第二実施形態》
《構成》
この第二実施形態では、カーブ区間数の変動があった位置と、目標補間点を含む制御対象区間とを記憶することで、目標補間点までの距離Ｌｔ、及び曲率半径Ｒｎを簡易的に設定するものである。
【００６９】
図６は、第二実施形態の減速制御処理を示すフローチャートである。
前記ステップＳ６を省略し、前記ステップＳ５に続くステップＳ７１と、前記ステップＳ９に続くステップＳ７２、Ｓ７３とを追加したことを除いては、前述した図２のフローチャートと同様の処理を実行し、同一部分については説明を省略する。
【００７０】
先ずステップＳ７１では、カーブ区間数に変動があった位置を変動検出区間ＣＣとして検出する。例えば、ｎ番目のカーブ区間が変動していた場合には、ＣＣ＝ｎとしてセットする。
またステップＳ７２では、目標補間点を含むカーブ区間を制御対象区間ＴＣとして検出する。例えば、ｎ番目のカーブ区間が制御対象となった場合には、ＴＣ＝ｎとしてセットする。
【００７１】
続くステップＳ７３では、変動検出区間ＣＣと制御対象区間ＴＣとが、下記（１６）式の関係を満足するか否かを判定する。
ＴＣ≧ＣＣ−１                 ………（１６）
ここで、上記（１６）式を満足すれば、目標補間点までの距離Ｌｔと、そこでの曲率半径Ｒｎとを下記（１７）式に従って設定する。すなわち、目標補間点までの距離Ｌｔは、前回値Ｌｔ(Z1)から移動量Ｌｖだけ補正した値とし、曲率半径Ｒｎは、前回値Ｒｎ(Z1)とする。
Ｌｔ＝Ｌｔ(Z1)−Ｌｖ
Ｒｎ＝Ｒｎ(Z1)                 ………（１７）
【００７２】
《作用》
変動検出区間ＣＣと制御対象区間ＴＣとが前記（１６）式を満足するとき、つまり変動検出区間ＣＣよりも制御対象区間ＴＣが自車両に対して更に遠方にあるときには、目標補間点までの距離Ｌｔ、及び曲率半径Ｒｎを、前回値Ｌｔ(Z1)及びＲｎ(Z1)、並びに自車両の移動量Ｌｖに基づいて設定する（ステップＳ７３）。
これにより、走行制御に必要となる目標補間点Ｌｔ及び曲率半径Ｒｎを簡易的に求めることができる。
【００７３】
《効果》
（１）前記カーブ情報補正手段は、前回のカーブ情報に戻す補正を行う場合、当該前回のカーブ情報に含まれる各道路点を、前記移動量算出手段が算出した自車両の移動量だけ自車両に近づける補正を行う。
このように、前回のカーブ情報に戻すと共に、各道路点を、自車両の移動量だけ車両に近づける補正を行うことで、自車位置を基準としたカーブ情報を常に正確な状態に保つことができる。
【符号の説明】
【００７４】
１  ブレーキペダル
２  ブレーキブースタ
５  ブレーキアクチュエータ
１０  コントローラ
２０  駆動力制御装置
３２  ナビゲーション装置
３４  アクセルペダル
３５  反力モータ
【図１】
0005454082.tif 000002
【図２】
0005454082.tif 000003
【図３】
0005454082.tif 000004
【図４】
0005454082.tif 000005
【図５】
0005454082.tif 000006
【図６】
0005454082.tif 000007