JP3728991B2 - 操舵角中立学習装置及び記録媒体 - Google Patents
操舵角中立学習装置及び記録媒体 Download PDFInfo
- Publication number
- JP3728991B2 JP3728991B2 JP25570099A JP25570099A JP3728991B2 JP 3728991 B2 JP3728991 B2 JP 3728991B2 JP 25570099 A JP25570099 A JP 25570099A JP 25570099 A JP25570099 A JP 25570099A JP 3728991 B2 JP3728991 B2 JP 3728991B2
- Authority
- JP
- Japan
- Prior art keywords
- steering angle
- learning
- neutral position
- angle neutral
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Description
【発明の属する技術分野】
本発明は、車両における操舵角中立学習装置及び操舵角中立学習装置をコンピュータシステムにて実現するための記録媒体に関する。
【0002】
【従来の技術】
先行車との車間距離や相対速度を測定して、車間距離を一定に保つ車両用走行制御装置は周知である。
このような装置では、先行車までの距離を測定するための先行車検出装置を必ず備えている。この先行車検出装置としては、従来より、レーザレーダ装置が用いられている。しかし、レーザレーダから照射されるレーザビームの方向が固定されていると、カーブ走行中は、自車線上を遠方まで照射することができず、路肩の看板やリフレクタ等に加えて他車線走行している車両を、先行車として検出してしまうことがあった。
【0003】
これを解決するものとして、レーザビームを所定範囲内で走査するスキャン型レーザレーダが提案されている。さらにカーブ検出手段を用いて、スキャン型レーザレーダで検知した障害物が、自車と同一車線上の車両かどうかを判断する先行車判定も提案されている。例えば、特開平4−248489号公報に開示された先行車検出装置では、ステアリング操舵角から算出したカーブ曲率半径Rに基づいて、先行車かどうかを判断している。
【0004】
しかしながら、このカーブ曲率半径Rと実際の道路のカーブとの間にずれがあると、簡単に先行車を見失ったり、先行車以外のものを誤って先行車と認識することが有り、実用上問題である。
これ以外に、例えば、特開平6−176300号公報に開示された先行車検出装置では、先行車らしさを確率で表す先行車確度という独特の概念を導入して、いる。このような先行車確度という概念をスキャン型にも適用すれば、先行車を簡単に見失うことなく、快適で安全な車間制御ができることが予想される。
【0005】
また、この特開平6−176300号公報の先行車検出装置では、スキャン型の先行車検出装置には、まったく適用することはできないことから、新たに自車線確率という概念を導入して、スキャン型にて先行車を適切に選択して車間制御することが可能な車間制御装置が提案されている(特開平8−279099号公報)。
【0006】
【発明が解決しようとする課題】
しかし、特開平8−279099号公報の車間制御装置で、自車線確率を求めるための自車の進行路曲線を算出するために、ステアリングセンサにて検出される操舵角を入力としたフィルタ処理と、実操舵角の基準となる操舵角中立位置の学習とを行っている。
【0007】
すなわち、前記車間制御装置では、車速が20km/h以上であれば、ステアリングの操舵量によらず、全ての操舵角データを操舵角の中立位置の学習に利用している。しかし、走行路は、左右カーブが均等に存在する訳ではなく、例えば、右カーブが長時間にわたって頻度高く存在する場合がある。このようなときには、操舵角中立位置が、フィルタ処理により直進状態として得られるはずが、実際には右にずれて演算されることがある。
【0008】
このようなずれも、次第に真の操舵角中立位置に収束するのであるが、このような収束は長時間に及ぶことから、短時間の走行では、実際とは異なる操舵角中立位置で、走行路の曲率や自車線確率が計算されて、精度を欠いてしまうおそれがあった。
【0009】
このような従来における操舵角の中立位置制御の前記問題点を解決して、走行開始の早期に正確な操舵角の中立位置を推定して、精度の高い各種制御を可能とする操舵角中立学習装置等を提供することを目的として、本願出願人は、特願平9−351363号(特開平11−180329号)において、次のような技術を提案した。つまり、車両旋回検出手段にて直進状態と判定し、その際に得られた暫定操舵角中立位置(S0)を中心に、車間制御の適用対象の走行路において通常走行と考えられる測定操舵角(str_eng )を全て学習に利用すべく操舵角判定値(str_ref )を設定している。これにより、早期に中立位置を推定しながらも、スラローム走行のように操舵分布が左右に歪んだ場合においても、それら全ての操舵角を学習に用いることにより、操舵角中立位置(Sc)がドリフトしてしまうことを抑制している。
【0010】
しかしながら、この手法においても、走行開始直後に得られた暫定操舵角中立位置(S0)から、真の中立位置に近い操舵角中立位置(Sc)が学習によって得られるまでは、学習という手段を使う以上、ある程度の時間が必要となる。この所要時間がたとえ短くても、イグニッションオン直後の間は、自車線確率の精度が毎回低下し、車間制御の快適性が損なわれる可能性がある。
【0011】
そこで、本発明は、従来における操舵角の中立位置制御の前記問題点を解決して、イグニッションオン直後から正確な操舵角の中立位置を推定して、精度の高い各種制御を可能とする操舵角中立学習装置及び操舵角中立学習装置をコンピュータシステムにて実現するための記録媒体の提供を目的とする。
【0012】
【課題を解決するための手段及び発明の効果】
請求項1記載の操舵角中立学習装置においては、暫定操舵角中立位置設定手段が、車両の旋回が直進状態を示す範囲にあると判定された際に検出された車両の操舵角(S:この項中の説明では、実施の形態で用いられている関連記号を付すが、この記号により請求の範囲を限定することを意味するものではない。)を、暫定操舵角中立位置(S0)として設定する。なお、車両の旋回を検出するには、ヨーレート若しくは横方向加速度を検出するセンサや、左右の車輪の速度差を検出し、該速度差に基づいて車両の旋回を検出する装置などを用いることが考えられる。
【0013】
そして、操舵角中立位置学習手段は、操舵角検出手段にて検出された車両の操舵角(S)と暫定操舵角中立位置(S0)との差(str_eng )から、操舵角中立位置(Sc_A)を引いた角度(str_eng −Sc_A)に基づいて、操舵角中立位置(Sc_A)を補正して新たな操舵角中立位置(Sc_A)を求める。
【0014】
このように学習された操舵角中立位置(Sc_A)は学習値記憶手段に記憶される。具体的には、過去の走行時に操舵角中立位置学習手段にて得られた操舵角中立位置(Sc_A)の学習値の内、所定の学習初期期間内であり、且つ、学習度合いが最も進んでいた値(Sc_ep )が記憶される。したがって、これは直前の走行時の学習値とは限らず、2回以上前の走行時における学習値の可能性もある。また、所定の学習初期期間内とは、例えばイグニッションオン後に開始した学習回数が所定値(実施形態では32768回)となるまでの期間である。
【0015】
そして、決定手段が、学習値記憶手段に記憶されている学習値(Sc_ep )に基づいて求めた操舵角中立位置(Sc_B)か、あるいは、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)のいずれかを本装置による学習結果とする。その際、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)の学習値の学習度合いが、学習値記憶手段に記憶されている学習値(Sc_ep )の学習度合い(Cv_ep )未満の場合には、学習値記憶手段に記憶されている学習値(Sc_ep )に基づいて求めた操舵角中立位置(Sc_B)を学習結果とする。一方、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)の学習値の学習度合い(Cv_A)が、学習値記憶手段に記憶されている学習値(Sc_ep )の学習度合い(Cv_ep )以上となった場合には、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)を学習結果とする。
【0016】
従来技術の課題として説明したように、走行開始直後に得られた暫定操舵角中立位置から、真の中立位置に近い操舵角中立位置が学習によって得られるまでは、学習という手段を使う以上、ある程度の時間が必要となる。そのため、車間制御への適用を想定した場合であれば、この所要時間がたとえ短くても、イグニッションオン直後の間は、自車線確率の精度が毎回低下することとなって、車間制御の快適性が損なわれる可能性がある。
【0017】
それに対して本発明の操舵角中立学習装置の場合には、現在の走行時における学習値の信頼度が低いという想定される学習初期期間内においては、必要に応じて過去の学習結果も利用するようにした。但し、この際、制御初期期間中であるからといって一律に過去の学習結果の方を採用するのではなく、現在の学習値と、過去の学習結果を利用した場合とで、信頼度が高いと推定される方を採用する。この信頼度を考える上で、次のような考察をした。
【0018】
▲1▼制御初期期間内においては、学習度合いが進んでいるほど信頼度が高いと考えられる。そこで、過去の走行時に学習された値の内で学習度合いが最も進んだ場合の学習値を、最も信頼度が高い値として記憶しておく。
▲2▼一方、過去の走行時に学習された値と現在の走行において学習された値とでは、原則的に今回の走行における学習値の方が信頼度が高いと考えられる。これは、例えばタイヤ交換などで直進性が変化する場合もあることなどを鑑みたためであり、特にフェイルセーフ的な思想に基づくものである。
【0019】
これらの観点から、上述したような決定(選択)をした。つまり、現在の走行時に実行する学習の学習度合い(Cv_A)が、記憶されている過去の学習値(Sc_ep )の学習度合い(Cv_ep )になるまでは、上述の観点▲1▼から、信頼度の高いと推定される過去の学習値(Sc_ep )を採用する。そして、両学習度合いが一致した場合(Cv_A=Cv_ep )には、上述の観点▲2▼からすると、信頼度の高いと推定される現在の学習値(Sc_A)を採用することが望ましいのであるが、これに関しては、次のような形態を考える必要がある。
【0020】
つまり、過去の学習値(Sc_ep )がそのままの状態であれば、学習度合いが同じ場合には現在の学習値(Sc_A)を採用すればよい。しかし、請求項2に示すように、操舵角中立位置学習手段が、暫定操舵角中立位置(S0)の代わりに学習値記憶手段に記憶されている学習値(Sc_ep )を初期値として操舵角中立位置(Sc_B)を学習する第2の学習も実行可能である場合には、事情は少し変わってくる。なぜなら、Cv_A=Cv_ep となった場合には、Cv_B=Cv_ep +Cv_ep となり、Cv_Bは常にCv_AよりもCv_ep 分だけ学習度合いが進んでいることになるからである。
【0021】
そこで、このような事情も加味して、Cv_A≧Cv_ep の場合においても、学習値記憶手段に記憶されている学習値(Sc_ep )に基づいて求めた操舵角中立位置(Sc_B)を学習結果としてもよい。つまり、請求項2のような第2の学習を用いる場合であれば、Cv_A≧Cv_ep の場合であっても、Cv_B>Cv_Aであるため、過去の学習値(Sc_ep )を初期値として第2の学習によって学習された操舵角中立位置(Sc_B)の方を採用することも、上述の観点▲1▼から適切な場合もあるからである。
【0022】
なお、このような第2の学習を行うか否かは関係なく、請求項4に示すような決定の仕方を採用しても良い。つまり、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)の学習値の学習度合い(Cv_A)が、学習値記憶手段に記憶されている学習値(Sc_ep )の学習度合い(Cv_ep )と等しくなった場合には、即座に、現在の走行時に操舵角中立位置学習手段によって得た操舵角中立位置(Sc_A)を学習結果とするのである。これは、上述の観点▲2▼を優先させた場合である。この場合のSc_BからSc_Aへの乗り換え時期については、Sc_A,Sc_Bそのものの値、あるいはSc_AとSc_Bの差分などに基づいて適宜決定することが考えられる。
【0023】
また、このようないずれの学習値を採用するかといった決定を行うのは学習初期期間内のみであり、第2の学習を行うか否かは関係なく、請求項5に示すように、学習初期期間の終期(Cv_A=32768)になった場合には、現在の学習値(Sc_A)に乗り換える。つまり、第2の学習を行う場合にはCv_B>Cv_Aであっても現在の学習値(Sc_A)に乗り換えるのである。学習初期期間を経過した後は、上述の観点▲2▼からも、このようにした方が好ましいからである。
【0024】
このように、本発明の操舵角中立学習装置によれば、イグニッションオン直後から正確な操舵角の中立位置を推定して、精度の高い各種制御を可能とすることができる。
なお、請求項2の操舵角中立学習装置の場合には、操舵角中立位置学習手段が第2の学習も実行可能であることを前提としたが、この場合は、請求項3に示すように、第2の学習によって得た学習値については学習値記憶手段への記憶対象から除外するようにしてもよい。これは、「学習初期期間内であり、且つ、学習度合いが最も進んでいた値」を記憶することを前提としているため、過去の学習値(Sc_ep )を初期値として得た操舵角中立位置(Sc_B)を記憶してしまうこととなる。しかし、上述した観点▲2▼に基づけば、原則的には今回の学習値の信頼度が高く、またフェイルセーフの目的からも、記憶する学習値としては第2の学習によって得た値は採用しないようにすることが好ましいのである。
【0025】
また、請求項6に示すように、このような操舵角中立学習装置の各手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、フロッピーディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【0026】
【発明の実施の形態】
図1は、上述した発明が適用された操舵角中立学習装置が組み込まれた車間制御用電子制御装置2(以下、「車間制御ECU」と称する。)及びブレーキ電子制御装置4(以下、「ブレーキECU」と称する。)を中心に示す自動車に搭載されている各種制御回路の概略構成を表すブロック図である。
【0027】
車間制御ECU2は、マイクロコンピュータを中心として構成されている電子回路であり、現車速(Vn)信号、操舵角(str_eng ,S0)信号、ヨーレート信号、目標車間時間信号、ワイパスイッチ情報、アイドル制御やブレーキ制御の制御状態信号等をエンジン電子制御装置6(以下、「エンジンECU」と称する。)から受信する。そして、車間制御ECU2は、この受信したデータに基づいて、操舵角中立学習装置として後述する操舵角中立学習処理により操舵角中立位置を演算したり、カーブ曲率推定装置として後述する処理にてカーブ曲率半径Rを推定したり、車間制御演算をしている。
【0028】
なお、車間制御ECU2は、不揮発性メモリとしてのEEPROM2aを備えており、過去(イグニンションオン前)に中立学習した結果を記憶しておくように構成されている。このEEPROM2aに記憶される学習値としては、操舵角中立位置の記憶値Sc_ep 及び学習度合いカウンタCv_ep が挙げられる。これらについては、後で詳しく説明する。
【0029】
レーザレーダセンサ3は、レーザによるスキャニング測距器とマイクロコンピュータとを中心として構成されている電子回路であり、スキャニング測距器にて検出した先行車の角度や相対速度等、及び車間制御ECU2から受信する現車速(Vn)信号、カーブ曲率半径R等に基づいて、車間制御装置の一部の機能として先行車の自車線確率を演算し、相対速度等の情報も含めた先行車情報として車間制御ECU2に送信する。また、レーザレーダセンサ3自身のダイアグノーシス信号も車間制御ECU2に送信する。
【0030】
なお、前記スキャニング測距器は、車幅方向の所定角度範囲に送信波あるいはレーザ光をスキャン照射し、物体からの反射波あるいは反射光に基づいて、自車と前方物体との距離をスキャン角度に対応して検出可能なレーダ手段として機能している。
【0031】
さらに、車間制御ECU2は、このようにレーザレーダセンサ3から受信した先行車情報に含まれる自車線確率等に基づいて、車間制御すべき先行車を決定し、先行車との車間距離を適切に調節すべく、エンジンECU6に、目標加速度信号、フューエルカット要求信号、ODカット要求信号、3速シフトダウン要求信号、警報要求信号、ダイアグノーシス信号、表示データ信号等を送信している。
【0032】
ブレーキECU4は、マイクロコンピュータを中心として構成されている電子回路であり、車両の操舵角を検出する操舵角検出手段としてのステアリングセンサ8、車両旋回を検出するための手段としてヨーレートを検出するヨーレートセンサ10、及び各車輪の速度を検出する車輪速センサ12から操舵角やヨーレートを求めて、これらのデータをエンジンECU6を介して車間制御ECU2に送信したり、ブレーキ力を制御するためにブレーキ油圧回路に備えられた増圧制御弁・減圧制御弁の開閉をデューティ制御するブレーキアクチュエータ25を制御している。またブレーキECU4は、エンジンECU6を介する車間制御ECU2からの警報要求信号に応じて警報ブザー14を鳴動する。
【0033】
エンジンECU6は、マイクロコンピュータを中心として構成されている電子回路であり、スロットル開度センサ15、車両速度を検出する車速検出手段としての車速センサ16、ブレーキの踏み込み有無を検出するブレーキスイッチ18、クルーズコントロールスイッチ20、クルーズメインスイッチ22、及びその他のセンサやスイッチ類からの検出信号あるいはボデーLAN28を介して受信するワイパースイッチ情報やテールスイッチ情報を受信し、さらに、ブレーキECU4からの操舵角(str_eng,S0 )信号やヨーレート信号、あるいは車間制御ECU2からの目標加速度信号、フューエルカット要求信号、ODカット要求信号、3速シフトダウン要求信号、警報要求信号、ダイアグノーシス信号、表示データ信号等を受信している。
【0034】
そして、エンジンECU6は、この受信した信号から判定する運転状態に応じて、駆動手段としての内燃機関(ここでは、ガソリンエンジン)のスロットル開度を調整するスロットルアクチュエータ24、トランスミッション26のアクチュエータ駆動段に対して駆動命令を出力している。これらのアクチュエータにより、内燃機関の出力、ブレーキ力あるいは変速シフトを制御することが可能となっている。なお、本実施形態の場合のトランスミッション26は5速オートマチックトランスミッションであり、4速の減速比が「1」に設定され、5速の減速比が4速よりも小さな値(例えば、0.7)に設定された、いわゆる、4速+オーバードライブ(OD)構成になっている。したがって、上述したODカット要求信号が出された場合、トランスミッション26が5速(すなわち、オーバードライブのシフト位置)にシフトしていた場合には4速へシフトダウンする。また、シフトダウン要求信号が出された場合には、トランスミッション26が4速にシフトしていた場合には3速へシフトダウンする。その結果、これらのシフトダウンによって大きなエンジンブレーキが生じ、そのエンジンブレーキにより自車の減速が行われることとなる。
【0035】
また、エンジンECU6は、必要な表示情報を、ボデーLAN28を介して、ダッシュボードに備えられているLCD等の表示装置(図示していない。)に送信して表示させたり、あるいは現車速(Vn)信号、操舵角(str_eng,S0 )信号、ヨーレート信号、目標車間時間信号、ワイパスイッチ情報信号、アイドル制御やブレーキ制御の制御状態信号を、車間制御ECU2に送信している。
【0036】
ステアリングセンサ8は、図2(a)に示すごとくのフォトインタラプタ式のセンサであり、金属円板32と回転検出回路34とから構成されている。金属円板32は、図2(b)の平面図に示すごとくスリット32aを環状に多数配列しており、回転検出回路34に備えられた2つのレーザダイオード34a,34bから出力される光が金属円板32のスリット32aを通過すると、その光を2つのフォトトランジスタ34c,34dでそれぞれ受光し、その受光のオン/オフ状態が、検出回路34eにて端子の電圧出力信号SS1,SS2に変換されて出力される。VINは電源ライン、GNDは接地ラインである。
【0037】
金属円板32は、図示していない自動車のハンドル軸に設けられているため、ハンドル軸の回転、すなわち操舵に応じて、2つの端子の出力信号SS1,SS2が図3に示すごとく出力される。2つのレーザダイオード34a,34bとスリット32aの配列との関係により、金属円板32が左回転する(ハンドルが左に切られる)と出力信号SS1の立ち下がりタイミングから出力信号SS2の立ち下がりタイミングまでの時間が、出力信号SS2の立ち下がりタイミングから出力信号SS1の立ち下がりタイミングまでの時間よりも短くなる。また、金属円板32が右回転する(ハンドルが右に切られる)と出力信号SS1の立ち下がりタイミングから出力信号SS2の立ち下がりタイミングまでの時間が、出力信号SS2の立ち下がりタイミングから出力信号SS1の立ち下がりタイミングまでの時間よりも長くなる。
【0038】
このことから、操舵の方向が判明する。さらに、出力信号SS1,SS2の立ち下がりあるいは立ち上がりのカウントにより操舵角度が判明する。なお、左回転における出力信号SS1の立ち下がりから出力信号SS2の立ち下がりまでの操舵角度、または右回転における出力信号SS2の立ち下がりから出力信号SS1の立ち下がりまでの操舵角度は1.125degである。したがって、ステアリングセンサ8のパルス信号で直接得られる操舵角の測定精度は、1.125degまでである。しかし、後述する操舵角中立位置学習制御で得られる操舵角中立位置Scは、1.125degよりも高い精度で推定できる。
【0039】
次に、図4のフローチャートに示す、ブレーキECU4の処理の一部として行われる操舵角演算処理を説明する。この操舵角演算処理は、S120,S13において車両直進状態を判定しており、S110,S140において暫定操舵角中立位置を設定している。
【0040】
まず、暫定操舵角中立位置S0が未設定であるか否かが判定される(S110)。イグニッションがオンされて電源が供給され、ブレーキECU4に立ち上がった際には、暫定操舵角中立位置S0は未設定であるので(S110:YES)、次にエンジンECU6を介して車速センサ16から得られる現車速Vnが所定速度、ここでは30km/hより高いか否かが判定される(S120)。現車速Vnが30km/hより高ければ(S120:YES)、ヨーレートセンサ10から得られるヨーレートの絶対値が1deg/sよりも小さいか否かが判定される(S130)。
【0041】
S120,S130は、車両の旋回が直進状態を示す範囲にあるか否かを判定する処理であり、これらS120,S130のいずれか一つでも満足されなければ(S120:NOまたはS130:NO)、本操舵角演算処理では何もなされずに処理を終了する。
【0042】
車両が走行を開始して、車速が30km/hを越え、かつ一時的にでもヨーレートの絶対値が1deg/sより小さくなるような直進走行を行った場合には(S120:YES、かつ、S130:YES)、この時の操舵角Sを暫定操舵角中立位置S0として設定する(S140)。
【0043】
そして、次に制御に用いるための操舵角Sの測定が開始され(S150)、この測定された操舵角Sと、S140にて設定された暫定操舵角中立位置S0とから次式のごとく計算して、測定操舵角str_eng (操舵角Sと暫定操舵角中立位置S0との差、すなわち、暫定操舵角中立位置S0を原点とする操舵角)を求める(S160)。
str_eng←S−S0
これ以後は、暫定操舵角中立位置S0が設定されたので、S110では「NO」と判定されて、本操舵角演算処理ではS150,S160のみが行われて、操舵角Sの測定処理(S150)と、測定操舵角str_eng の更新処理(S160)とが繰り返される。すなわち、S140の暫定操舵角中立位置S0設定は、最初に一度のみ行われる。
【0044】
ここで、操舵角Sの測定は、図5に示す関係により、出力信号SS1,SS2の変化がある毎にSdを求めて、次式のごとく算出される。
S←S+Sd×1.125(deg)
こうして求められた測定操舵角str_eng は、図示していない送信処理により、ヨーレート、その他のデータと共に、ブレーキECU4からエンジンECU6へ送信される。
【0045】
エンジンECU6は、これらのデータの送信を仲介し、他のデータと共に、測定操舵角str_eng を車間制御ECU2に送信する。
次に、車間制御ECU2により実行される処理の一部である操舵角中立位置学習処理について説明する。この操舵角中立位置学習処理に関しては、2種類の学習値、すなわち学習値Sc_A,Sc_Bそれぞれについて実行するため、順番に説明していく。
【0046】
図6は、操舵角中立位置Sc_A 学習処理を示すフローチャートである。
まず、測定操舵角str_eng をエンジンECU6より受信したか否かが判定される(S220)。測定操舵角str_eng が受信されていなければ(S220:NO)、本操舵角中立位置Sc_A学習処理では何もなされない。
【0047】
測定操舵角str_eng が受信されると(S220:YES)、次に現車速Vnが40km/h以上か否かが判定される(S230)。現車速Vnが40km/h以上であれば(S230:YES)、次に学習度合いカウンタCv_Aが65536未満か否かが判定される(S240)。学習度合いカウンタCv_Aが65536未満であれば(S240:YES)、次に測定操舵角str_eng の絶対値が操舵角判定閾値str_ref 以下か否かが判定される(S241)。学習度合いカウンタCv_Aが65536以上であれば(S240:NO)、次に測定操舵角str_eng と操舵角中立位置Scとの差の絶対値が、予め推定される暫定操舵角中立位置S0の誤差として6degを操舵角判定閾闇値str_ref から引いた値以下か否かが判定される(S242)。
【0048】
S230が満足されなければ(S230:NO)、本操舵角中立位置学習処理では何もなされずに処理を終了する。また、S241、S242がそれぞれ満足されなければ(S241:NOまたはS242:NO)、本操舵角中立位置学習処理では何もなされずに処理を終了する。
【0049】
この操舵角判定閾値str_ref は、特許請求の範囲において示す「所定範囲」の境界に相当し、次の点を考慮して設定されている。すなわち、本実施形態においては、車間制御に利用することを前提としていため、その車間制御の適用が想定されている走行路の曲率及び車両速度に基づいて、その想定範囲内での走行路の曲率及び車両速度において取り得る全ての角度が含まれるように、この操舵角判定閾値str_ref が設定されている。
【0050】
例えば、車間制御が、高速道路などのように40km/h以上での走行がほとんどであると考えられる状況においてのみ適用される場合には、40km/hで走行した場合に最も大きくなり得る操舵角についても取り込めるような値に設定すればよい。また、例えば、そのような高速道路において最小の曲率半径が250mのカーブがあるとすると、そのカーブにて取り得る最大の操舵角も考慮して設定すればよい。
【0051】
このように操舵角判定閾値str_ref を設定することで、車速40km/hで通常のクルーズ走行する場合であれば、運転者が操舵する操舵角を全てとりこめるようになる。すなわち、S241にて肯定判断となる。ただし、この操舵角判定閾値str_ref には、車両旋回検出手段にて直進状態と判定された際に得られる暫定操舵角中立位置S0の誤差が含まれる。従って、学習度合が進んだ場合は、S240が満足されず(S240:NO)S242にて判定される。このステップでは、学習度合が進んだことにより、判定の閾値を予め推定される暫定操舵角中立位置S0の誤差6deg分を補正すると共に、操舵角中立位置Sc_Aが真の操舵角中立位置に近いと判断して、操舵角判定閾値str_ref との比較も、それまで測定操舵角str_eng を対象としていたのに代えて、測定操舵角str_eng から操舵角中立位置Sc_Aを引いた角度を対象とする。
【0052】
車間制御が許容されるような状況での通常走行と判断された場合(S241:YESまたはS242:YES)、車間制御ECU2が立ち上がって最初にS230及びS240の条件が成立したか否かが判定される(S250)。
最初であれば(S250:YES)、学習対象の操舵角中立位置Sc_Aに初期値として、暫定操舵角中立位置S0が設定され、学習度合いカウンタCv_Aは0に設定される(S260)。これ以後の処理では、S250にて「NO」と判定されるので、操舵角中立位置Sc_A及び学習度合いカウンタCv_Aの初期化(S260)は実行されない。
【0053】
次に、学習度合いカウンタCv_Aが次式のごとく演算される(S270)。
Cv_A(n)←Cv_A(n−1)+α
ここで、nは、現在の処理を表し、n−1は前回の処理を表している。なお、学習度合いカウンタCv#Aの初期値Cv_A(0)=0である。
【0054】
また、増加値αは、図9に示すごとくである。図9では、現在速Vnが高いほど増加値αは大きく設定されている。すなわち、現車逆Vnが高いほど学習度合いカウンタCvの増加は速くなる。ただし、学習度合いカウンタCv_Aは値65536を上限としている。本実施形態においては、車間制御が許容される状況で通常走行する場合の操舵角のほとんど全てを学習に利用するため、比較的大きな操舵角を学習に利用することになり、結果的に操舵角中立位置Scの値のフラツキが大きくなる。従って、後述するように、そのフラツキを抑制するためにCv値を大きくとる必要があり、上限値を65536まで大きくした。
【0055】
S270の次に、操舵角中立位置Sc_Aの学習演算が次式のごとく行われる(S290)。
Sc_A(n)←Sc_A(n−1)+{str_eng−Sc_A(n−1)}×α/Cv_A(n)
n,n−1,αについては前述したごとくである。
【0056】
すなわち、上式の学習演算においては、測定操舵角str_engから、操舵角中立位置Sc_A(n−1)を引いた角度{str_eng−Sc_A(n−1)}に基づいて、操舵角中立位置Sc_A(n−1)を補正して新たな操舵角中立位置Sc_A(n)を求めることにより、操舵角中立位置Sc_Aの学習を行っている。
【0057】
角度{str_eng−Sc_A(n−1)}は、そのままではなく、角度{str_eng−Sc_A(n−1)}の所定割合α/Cv(n)が操舵角中立位置Sc_A(n−1)に加えられることにより操舵角中立位置Sc_A(n−1)が補正されて、新たな操舵角中立位置Sc_A(n)が形成されている。
【0058】
以後、測定操舵角str_eng が得られる毎に、S230の条件が成立し、かつS241,S242のいずれかが成立すれば、S250,S290の処理が実行されて、操舵角中立位置Scが学習されていく。
すなわち、ブレーキECU4が実行する操舵角演算処理(図4)にて、車両の旋回が直進状態を示す範囲にあると判定された際における、ステアリングセンサ8にて検出された車両の操舵角Sを暫定操舵角中立位置S0として設定する。そして、車間制御ECU2が実行する操舵角中立位置学習処理(図6)にて、この暫定操舵角中立位置S0を用いて(str_eng ←S−S0)、操舵角中立位置Sc_Aの学習を行う。
【0059】
具体的には、操舵角中立位置学習処理(図6)では、暫定操舵角中立位置S0を中心にして、車間制御が許容される状況で通常走行する場合の操舵角のほとんど全てを学習に利用するために設定された操舵角判定閾値str_ref の範囲内に、ステアリングセンサ8にて検出された車両の操舵角Sが存在する際に、ステアリングセンサ8にて検出された車両の操舵角Sと暫定操舵角中立位置S0との差(測定操舵角str_eng )から、操舵角中立位置Sc_Aを引いた角度(str_eng −Sc_A)に基づいて、操舵角中立位置Sc_Aを補正して新たな操舵角中立位置Sc_Aを求める。
【0060】
一方、図7は、操舵角中立位置Sc_B 学習処理を示すフローチャートである。
この学習処理は、基本的には、図6に示す操舵角中立位置Sc_A学習処理におけるSc_AをSc_Bに代えたものであり、唯一、S360にて設定される初期値が異なっている。そのため、S360以外の説明は簡単に説明を済ますこととする。
【0061】
処理が開始され、測定操舵角str_eng をエンジンECU6より受信し(S320:YES)、現車速Vnが40km/h以上であれば(S230:YES)、学習度合いカウンタCv_Bが65536未満か否かが判定される(S340)。そして、学習度合いカウンタCv_Bが65536未満であれば(S340:YES)、次に測定操舵角str_eng の絶対値が操舵角判定閾値str_ref 以下か否かが判定される(S241)。そして、学習度合いカウンタCv_Bが65536以上であれば(S240:NO)、次に測定操舵角str_eng と操舵角中立位置Sc#Bとの差の絶対値が、予め推定される暫定操舵角中立位置S0の誤差として6degを操舵角判定閾闇値str_ref から引いた値以下か否かが判定される(S342)。
【0062】
車間制御が許容されるような状況での通常走行と判断された場合(S341:YESまたはS342:YES)、車間制御ECU2が立ち上がって最初にS330及びS340の条件が成立したか否かが判定され(S350)、最初であれば(S350:YES)、S360へ移行する。
【0063】
図6の操舵角中立位置Sc_A学習処理におけるS260では、Sc_Aの初期値として暫定操舵角中立位置S0を設定し、学習度合いカウンタCv_Aの初期値として0を設定したが、この図7に示す操舵角中立位置Sc_Bの学習処理においては、Sc_Bの初期値としてEEPROM2a(図1参照)から読み出してきた記憶値Sc_ep を設定し、学習度合いカウンタCv_Bの初期値としてもやはり記憶値Cv_ep を設定する。これらの記憶値Sc_ep,Cv_epについては後で詳しく説明する。
【0064】
続くS370では、学習度合いカウンタCv_Bが次式のごとく演算される。
Cv_B(n)←Cv_B(n−1)+α
なお、増加値αは、図9に示すごとくである。
【0065】
S370の次に、操舵角中立位置Sc_Bの学習演算が次式のごとく行われる(S390)。
Sc_B(n)←Sc_B(n−1)+{str_eng−Sc_B(n−1)}×α/Cv_B(n)
以後、測定操舵角str_eng が得られる毎に、S330の条件が成立し、かつS341,S342のいずれかが成立すれば、S350,S390の処理が実行されて、操舵角中立位置Scが学習されていく。
【0066】
次に、車間制御ECU2により実行される処理の一部である、制御に利用する操舵角中立位置Sc_Sの選択処理について図8のフローチャートを参照して説明する。この処理は、図6,図7においてそれぞれ得られた2種類の学習値Sc_A,Sc_Bの内のいずれを制御に利用するかを選択する処理である。
【0067】
図8の最初のステップS410では、操舵角中立位置の記憶値Sc_ep がEEPROM2aに存在するか否かを判断し、操舵角中立位置の記憶値Sc_ep がある場合には(S410:YES)、イグニッションオン後、その記憶値の書き換えが未実施であるか否かを判断する(S420)。書き換えがなされていないのであれば(S420:YES)、操舵角中立位置Sc_Sとして学習値Sc_Bを採用し、本処理ルーチンを終了する。
【0068】
一方、EEPROM2a内に操舵角中立位置の記憶値Sc_ep がない場合(S410:NO)、あるいは、記憶値Sc_ep があっても、イグニッションオン後に書き換えが実施されている場合には(S420:NO)、操舵角中立位置Sc_Sとして学習値Sc_Aを採用し、本処理ルーチンを終了する。
【0069】
次に、車間制御ECU2により実行される処理の一部である、操舵角中立位置学習用の記憶値Sc_ep,Cv_epの書き換え処理について、図10のフローチャートを参照して説明する。
EEPROM2a内に記憶値Sc_ep,Cv_epがあるかどうかを判断し(S510)、記憶値がある場合には(S510:YES)、学習度合いカウンタの記憶値Cv_ep が32768未満であるか否かを判断する(S520)。学習度合いカウンタ記憶値Cv_ep が32768未満であれば(S520:YES)、イグニッションオン後、一度でもEEPROM2aへの記憶がなされたか否かを判断する(S530)。一度も記憶されていない場合には(S530:NO)、S560へ移行する。
【0070】
このS560では、図6の処理にて得られる操舵角中立位置の学習値Sc_Aが記憶値Sc_ep 以上となっているか否かを判断する(S560)。そして、学習値Sc_Aが記憶値Sc_ep 未満の場合には(S560:NO)、記憶値の書き換えは行わずに本処理を終了する。また、学習値Sc_Aが記憶値Sc_ep 以上の場合には(S560:YES)、S550へ移行して記憶値の書き換えを行う。すなわち、操舵角中立位置については、記憶値Sc_ep として、その時点での学習値Sc_Aの記憶値Scmem_A を採用し、その値に書き換える。また、学習度合いカウンタとしては、記憶値Cv_ep として、Cvk_A を採用し、その値に書き換える。なお、Cvk_A とは、Cv_Aを超えない2のn乗の最大値である。
【0071】
一方、イグニッションオン後、一度でもEEPROM2aへの記憶がなされている場合には(S530:YES)、S540へ移行して、学習度合いカウンタの学習値Cv_Aが記憶値Cv_ep の2倍以上であるか否かを判断する。ここで否定判断された場合、つまりCv_A<Cv_ep ×2である場合には、そのまま本処理を終了するが、肯定判断された場合、つまりCv_A≧Cv_ep ×2である場合には、S550へ移行して記憶値の書き換えを行う。
【0072】
ここまではS520にて肯定判断、つまり学習度合いカウンタ記憶値Cv_ep が32768未満である場合の処理について説明したが、学習度合いカウンタ記憶値Cv_ep が32768以上の場合には(S520:NO)、学習値Sc_Aの学習度合いカウンタCv_Aが32768以上となる状態が初めて成立したか否かを判断する(S570)。そして、Cv_A≧32768が初めて成立した場合には(S570:YES)、学習値Sc_Aと記憶値Sc_ep との差の絶対値が0.6degよりも大きいか否かを判断する。その絶対値が0.6degよりも大きければ(S580:YES)、S550へ移行して記憶値の書き換えを行うが、絶対値が0.6deg以下ならば(S580:NO)、そのまま本処理を終了する。
【0073】
ここまではS510にて肯定判断、つまり記憶値がある場合の処理について説明したが、記憶値がない場合には(S510:NO)、S590へ移行して、学習値Sc_Aの学習度合いカウンタCv_Aが2048以上か否かを判断する。そして、Cv_A≧2048であれば(S590:YES)、S550へ移行して記憶値の書き換えを行うが、Cv_A<2048であれば(S590:NO)、そのまま本処理を終了する。
【0074】
次に、車間制御ECU2により実行される処理の一部である操舵角中立位置学習リセット処理について説明する。操舵角中立位置学習リセット処理のフローチャートを図11に示す。
この操舵角中立位置学習リセット処理は、ランプウェイ等で、前記操舵角判定閾値の範囲内にあるにもかかわらず、連続して比較的大きな操舵角が入力される局面で、操舵角中立位置Sc_Sがドリフトしていくことを抑制するための処理である。連続して大きな操舵角となるのは車両自体が大きく旋回していることを示す。すなわち、この旋回している度合から、特殊な走行路を走行しているか否かを判断して、特殊な区間と判断した場合に、その区間にて学習された分を破棄することにより、操舵角中立位置Sc_Sの精度を確保する。
【0075】
まず、測定操舵角str_eng をエンジンECU6より受信したか否かが判定される(S610)。測定操舵角str_eng が受信されていなければ(S610:NO)、本操舵角中立位置学習リセット処理では何もなされない。
測定操舵角str_eng が受信されると(S610:YES)、次に現車速Vnが40km/h以上か否かが判定される(S620)。現車速Vnが40km/h以上であれば(S620:YES)、次に測定操舵角str_eng と操舵中立位置Scとの差の前回値と今回値との符号の合致が判定される(S630)。符号が合致していなければ(S630:NO)、操舵を右から左、もしくは左から右へと切り返したこと判定し、この時の操舵角中立位置Sc_A,Sc_Bと学習度合いカウンタCv_A,Cv_Bの値を記憶する(S650)。すなわち、以下のように記憶される。
Scmem_A(n)=Sc_A(n)
Scmem_B(n)=Sc_B(n)
Cvmem_A(n)=Cv_A(n)
Cvmem_B(n)=Cv_B(n)
一方、符号が合致している場合は(S630:YES)、操舵角中立位置Sc_A,Sc_Bと学習度合いカウンタCv_A,Cv_Bの記憶値を前回値と同じとして変更しない(S640)。すなわち、以下のようになる。
Scmem_A(n)=Scmem_A(n−1)
Scmem_B(n)=Scmem_B(n−1)
Cvmem_A(n)=Cvmem_A(n−1)
Cvmem_B(n)=Cvmem_B(n−1)
そして、この場合は、連続して右もしくは左に操舵しており旋回中であると判定し、S660、S670、S680にて、その旋回量c_int を推定する。まずS660では、車両の旋回量c_int を推定する時の補正係数βを演算する処理を行う。ここでは、測定操舵角str_eng と操舵中立位置Scとの差を入力としたマップ演算で得る。そのマップを図12に示す。通常、旋回量を演算する場合は、補正係数βは不要であり、β=1とする。しかし、目的である特殊な局面にて本処理を機能させるために、図12に示すように変形している。まず、特殊な走行路である確率が高い操舵の場合には、見かけ上、旋回量を大きくして後処理での判定で有利に作用させるべく、補正係数Bの値を1より大きく設定する。また、車間距離適用対象の走行路において通常走行している確率が高い場合には、本リセット処理が不用意に機能するのを抑制するためβ=0に設定する。旋回量は、真の操舵中立位置と、暫定操舵角中立位置S0との差により、たとえ直進していても積算される可能性がある。従って、暫定操舵角中立位置S0の誤差分は考慮して、それ以下の範囲にてβ=0とする。
【0076】
S660にてβを設定した次に、S670にてカーブ半径Rを演算する。
カーブ半径Rは、一般には、次式にて算出できる。
R=L×(1+K×Vn2)/{(str_eng−Sc_S)/N}
なお、Lはホイールベース、Kはスタビリテイファクタ、Nはステアリングギア比である。
【0077】
なお、上記理論式に変えて、実験式を用いても良いし、車速Vnをヨーレートで除した値を用いても良い。
次に、S680にて車両旋回量c_int を推定する。その推定式を下式に示す。
c_int(n)=c_int(n-1)+β×△t×Vn/R
なお、△tは演算周期である。
【0078】
S690は、S680にて推定した車両旋回量c_int の絶対値が車両旋回量閾値c_int_ref(=π) を超えたか否かを判定する。車両旋回量c_int値の絶対値が車両旋回量閾値c_int_ref 以下であれば(S690:NO)、本操舵角中立位置学習リセット処理では何もなされない。
【0079】
車両旋回量c_int の絶対値が車両旋回量閾値c_int_ref を超えた場合(S690:YES)、その時点までの学習値がリセットされる(S700)。すなわち、車両の旋回量が通常走行とは異なり大きいと判断した場合には、その旋回が開始された時点の学習値に戻す。具体的には以下のようになる。
Sc_A(n)=Scmem_A(n−1)
Sc_B(n)=Scmem_B(n−1)
Cv_A(n)=Cvmem_A(n−1)
Cv_B(n)=Cvmem_B(n−1)
この学習値は、S650にて記憶した値である。同時に、車両旋回量c_int もゼロにリセットする。このリセットにより、ランプウェイなどの特殊な走行路における操舵角中立位置Sc_Sのドリフトを抑制でき、結果的に自車の走行状態のカーブ曲率演算の精度を向上させることができ、車間制御の対象物として前方車の選択精度を向上させることができる。
【0080】
本実施形態の操舵角演算処理(図4)、操舵角中立位置(Sc_A,Sc_B)学習処理(図6,7)、制御に利用する操舵角中立位置Sc_Sの選択処理(図8)、記憶値Sc_ep,Cv_epの書き換え処理(図10)及び操舵角中立位置学習リセット処理(図11)によって、最終的に制御に用いられる操舵角中立位置Sc_Sがどのように決定されているかを、図13を参照して説明する。
【0081】
図13(1)は、記憶値Sc_ep,Cv_epが存在しない場合を示しており、図8のS410にて否定判断されるため、S440にてSc_S=Sc_Aとなり、現在の走行時に得た学習値Sc_Aのみが制御に使用される。
また、記憶値の更新に関して図10のフローチャートとの対応を交えて説明する。記憶値がなく(S510:NO)、学習度合いカウンタCv_Aが2048になるまでは(S590:NO)、記憶されず、学習度合いカウンタCv_Aが2048になると(S590:YES)、第1回目の記憶がなされる(S550)。その後、学習度合いカウンタCv_Aが4096,8192,16384,32768になると(S540:YES)、S550にて記憶値の更新がなされる。さらに、学習度合いカウンタCv_Aが32768を超えたときには、既に記憶値Cv_ep はS550にて32768となっており(S520:NO)、学習度合いカウンタCv_Aも既に32768となった後(S570:NO)であるため、記憶値の更新はなされない。
【0082】
一方、図13(2),(3)は記憶値Sc_ep,Cv_epが存在する場合を示しており、図8のS410にて肯定判断されるため、イグニッションオン後の記憶値の書き換えが未実施であるか否かで変わってくる。つまり、記憶値の書き換えが未実施であれば(S420:YES)、操舵角中立位置Sc_Sとして学習値Sc_Bを採用し、記憶値の書き換えが実施されていれば(S420:NO)、操舵角中立位置Sc_Sとして学習値Sc_Aを採用する。
【0083】
図13(2)は、記憶値の学習度合いカウンタCv_ep が8192の場合を示しており、この場合は、現在の走行時に得た学習値Sc_Aの学習度合いカウンタCv_Aが8192になった時点で学習値B(Sc_B)から学習値A(Sc_A)に乗り換えている。図10にて記憶値が書き換えられるタイミングを見てみると、この場合は、Cv_ep <32768であり(S520:YES)、S530にて否定判断されて移行するS560にて肯定判断されて初めて記憶値が書き換えられる。したがって、学習度合いカウンタCv_A<記憶値Cv_ep の場合には学習値B(Sc_B)が選択され(図8のS430)、学習度合いカウンタCv_A≧記憶値Cv_ep の場合には学習値A(Sc_A)が選択される(図8のS440)。
【0084】
なお、この場合には、図13(1)の場合と同様に、学習度合いカウンタCv_Aが増えるにしたがって記憶値の更新がなされる。具体的には、8192において第1回目の更新がなされ、その後、16384,32768回になったときに更新がなされる。
【0085】
また、図13(3)は、記憶値の学習度合いカウンタCv_ep が最大値32768の場合を示しており、この場合は、現在の走行時に得た学習値Sc_Aの学習度合いカウンタCv_Aが32768になった時点で学習値B(Sc_B)から学習値A(Sc_A)に乗り換えている。図10にて記憶値が書き換えられるタイミングを見てみると、この場合は、Cv_ep =32768であり(S520:NO)、S570,S580にて肯定判断されて初めて記憶値が書き換えられる。したがって、学習度合いカウンタCv_A<記憶値Cv_ep =32768の場合には学習値B(Sc_B)が選択され(図8のS430)、一方、学習度合いカウンタCv_A≧記憶値Cv_ep の場合には学習値A(Sc_A)が選択される(図8のS440)。
【0086】
なお、この場合には、学習度合いカウンタCv_A=32768回になったときに唯一1回の更新がなされる。
そして、このようにして決定された操舵角中立位置Sc_Sがどの程度適切な値となっているかについて、従来技術と比較して図14に示す。
【0087】
図14(B)は、直進状態が少なく左右操舵が連続する走行路において、イグニッションオンから車速を約80km/hまで加速した時の操舵角中立位置Sc_Sの推移を示しており、図14(A)はその内の最初の200secの期間のみを拡大して示したものである。つまり、「学習初期期間」の操舵角中立位置Sc_Sの推移を示している。図14(A)には、現在の走行時に学習した学習値A(Sc_A)とEEPROM2aに記憶されている過去の記憶値Sc_ep を初期値として学習した学習値B(Sc_B)のみを示しており、学習値B(Sc_B)については、記憶値Sc_ep の学習度合いカウンタCv_ep が8192,16384,32768の3種類の場合をそれぞれ示してある。
【0088】
この図14(A)において、現在の走行時に学習した学習値A(Sc_A)がすなわち従来仕様の場合の操舵角中立位置の推移を示している。この学習値A(Sc_A)は、イグニッションオン時には、図4に示す操舵角演算処理が実行されないため、操舵角中立位置Sc_Sをゼロとしてしまう。車遠が30km/hを超えて、ヨーレート値がゼロ近傍になった約50秒付近で直進状態と判定し、暫定操舵角中立位置S0が設定される。この暫定操舵角中立位置S0を縦軸におけるゼロとして表示している。そして、車速Vnが40Km/h以上となることで図6の実質的な学習処理が実行される。図14(A)の場合には、40sec付近で−4degまで落ち込んだ学習値A(Sc_A)は、120secを過ぎた辺りでようやく収束値に近づいている。
【0089】
これに対して本実施形態の場合には、制御初期において学習値B(Sc_B)が操舵角中立位置Sc_Sとして採用されるため、イグニッションオン時であっても最終的に収束する値に近い操舵角中立位置を最初から設定することができる。そして、車速Vnが40Km/h以上となることで図7の実質的な学習処理が実行されるが、図14(A)に示すように、学習値A(Sc_A)の場合には40sec付近で−4degまで小さくなったのに対して、学習値B(Sc_B)の場合は35sec付近で一応の落ち込みはあるものの、その変化は小さい。そしてさらに、その後、すぐに収束値に近づいている。
【0090】
つまり、従来技術の課題として説明したように、走行開始直後に得られた暫定操舵角中立位置から、真の中立位置に近い操舵角中立位置が学習によって得られるまでは、学習という手段を使う以上、ある程度の時間が必要となる。そのため、車間制御への適用を想定した場合であれば、この所要時間がたとえ短くても、イグニッションオン直後の間は、自車線確率の精度が毎回低下することとなって、車間制御の快適性が損なわれる可能性がある。
【0091】
それに対して本実施形態の場合には、現在の走行時における学習値の信頼度が低いという想定される学習初期期間内においては、必要に応じて過去の学習結果も利用するようにした。但し、この際、制御初期期間中であるからといって一律に過去の学習結果の方を採用するのではなく、信頼度が高いと推定される方を採用する。この信頼度を考える上では、制御初期期間内においては、学習度合いが進んでいるほど信頼度が高いと考えられる点と、過去の走行時に学習された値と現在の走行において学習された値とでは、原則的に今回の走行における学習値の方が信頼度が高いと考えられる点を考慮した。
【0092】
これらの観点から、上述したような操舵角中立位置Sc_Sの決定(選択)をした。そのため、イグニッションオン直後から正確な操舵角の中立位置Sc_Sを推定することができ、この中立位置Sc_Sを用いた各種制御においては、精度の高い各種制御を実現することができるのである。
【0093】
なお、本実施形態においては、操舵角中立位置の学習手法としては、本願出願人の出願に係る特願平9−351363号(特開平11−180329号)と同じ手法を採用している。つまり、操舵角中立位置Sc_A,Sc_Bはいずれも、直進状態の際に得られた暫定操舵角中立位置S0を中心に、ステアリングセンサ8にて検出された車両の操舵角Sが所定範囲内に存在するときに学習している。そして、この所定範囲は、車間制御が許容される状況で通常走行する場合の操舵角のほとんど全てが含まれるように設定されている。そのため、上述の特願平9−351363号に記載した効果については、本実施形態においても発揮されるが、この点については、詳しくは当該出願内容を参照されたい。
【0094】
また、車間制御ECU2では、上述のごとく学習した操舵角中立位置Scと測定操舵角str_engとを用いて、カーブ曲率演算手段としての処理を行っている。
このカーブ曲率演算手段としての処理は、例えば、まず次式のごとく推定操舵角str を求める。
str ← str_eng − Sc_S
実際にはこの推定操舵角str を、次式のごとく、カットオフ周波数1.24Hzの1次ローパスフィルタにてなまし処理し、なまし処理後の推定操舵角str_filter を用いる。
str_filter(n)←(176/256)×str_filter(n-1)+(80/256)×str(n)
そして、この推定操舵角str_filterにて、次のごとく走行路のカーブ曲率半径Rを演算する。
【0095】
(1)Vn≧80km/hの時
R←Kr×(1 + 1.69×10^-4×Vn^2 - 3.86×10^-8×Vn^3)/str_filter
(2)Vn<80km/hの時
R←Kr×(1 + 1.20×10^-4×Vn^2 + 5.79×10^-7×Vn^3)/str_filter
ここでは、「^」は「^」の前の数値を「^」の後の数値の回数、累乗することを意味し、本明細書の他の部分でも同じである。また、Krはカーブ半径定数(例えば、値2100)である。
【0096】
このように演算したカーブ曲率半径Rを車間制御ECU2はレーザレーダセンサ3へ送信している。
次に、レーザレーダセンサ3にて行われる処理と車間制御ECU2にて行われる処理について説明する。
【0097】
図15は、車間制御全体の処理を示す。この内、S1000〜S5000の先行車検出処理は、レーザレーダセンサ3にて行われる処理であり、S6000〜S9000の車間制御処理は車間制御ECU2にて行われる処理である。
処理が開始されると、まず、レーザレーダセンサ3に備えられたスキャニング測距器による距離・角度の計測データが読み込まれる(S1000)。次に前方障害物の認識処理がなされる(S2000)。次に前方障害物が自車の進行路上に存在する確率である自車線確率を算出する処理(S4000)を行い、自車線確率の高い物体の内から、先行車が選択される(S5000)。
【0098】
こうして先行車検出処理(S1000〜S5000)が終了する。このようにして演算された先行車の自車線確率を含む先行車情報を、レーザレーダセンサ3は、車間制御ECU2に送信する。車間制御ECU2では、この先行車情報を受信して、車間制御処理(S6000〜S9000)を実行する。
【0099】
車間制御処理の最初に、目標車間距離が算出され(S6000)、続いて加減速率を算出した後(S7000)、目標車速を算出する(S8000)。このようにして、目標車速が算出されると、S8000で求められた目標速度Vmを目標とした車速制御が行われる(S9000)。
【0100】
なお、これら図15に示す車間制御処理の詳細については、上述の特願平9−351363号(特開平11−180329号)に記載してあるので、必要ならばそちらを参照されたい。
本車間制御処理は、上述のごとく構成されているため、カーブ曲率半径Rに基づいて直進路に変換した前方物体個々の座標を、予め設定してある直進路の自車線確率マップに当てはめて個々の物体の自車線確率を求め、その自車線確率の状態から先行車を決定し、その先行車との位置関係等に基づいて自車の速度を調節して、車間を制御できる。
【0101】
そして、この車間制御処理において、レーザレーダセンサ3では、車間制御ECU2にて制御初期から精度高く得られた操舵角中立位置Sc_Sに基づいて推定されたカーブ曲率半径Rのデータを用いることで、スキャニング測距器にて先行車を適切に選択することができる。したがって、車間制御ECU2では、その先行車に対して精度の高い車間制御することができる。
【0102】
なお、この車間制御の説明では車間距離をそのまま用いていたが、車間距離を車速で除算した車間時間を用いても同様に実現できる。つまり、相対速度と車間時間偏差比をパラメータとする目標加速度の制御マップを準備しておき、制御時には、その時点での相対速度と車間時間偏差比に基づいて目標加速度を算出して、車間制御を実行するのである。
【0103】
[その他]
(1)上記実施形態では、図13(2),(3)に示すように、学習値A(Sc_A)の学習度合い(Cv_A)が、記憶値(Sc_ep )の学習度合い(Cv_ep )になった時点で即座に学習値B(Sc_B)から学習値A(Sc_A)に乗り換えている。このように即座に乗り換える場合には、「過去の走行時に学習された値と現在の走行において学習された値とでは、原則的に今回の走行における学習値の方が信頼度が高いと考えられる」という観点を重視したためである。
【0104】
但し、Cv_A=Cv_ep となった場合には、Cv_B=Cv_ep +Cv_ep となり、Cv_Bは常にCv_AよりもCv_ep 分だけ学習度合いが進んでいる。したがって、「学習度合いが進んでいるほど信頼度が高いと考えられる」という観点を重視するならば、Cv_A=Cv_ep となった時点以降に乗り換えても良い。例えば上記実施形態ではCv_A=Cv_ep =8192となったときに乗り換えているが、例えばCv_A=10000,20000などとなったときに乗り換えても構わない。
【0105】
なお、この場合のSc_BからSc_Aへの乗り換え時期については、Sc_A,Sc_Bそのものの値、あるいはSc_AとSc_Bの差分などに基づいて適宜決定すればよい。つまり、それらの値に対する信頼度をどの程度重視するかによって変わってくる。
【0106】
(2)また、上記実施形態では学習初期をCv_A=32768になった時点としたが、これは一例であり、現在の走行状況のみに基づいて操舵角の中立位置を学習する手法では対応し切れない期間を指している。
(3)前記実施の形態では、車両旋回検出手段としてヨーレートセンサ10を用いたが、ヨーレートセンサ10の代わりに、車輪速センサ12にて、左右輪の回転速度の差を求めて、その左右輪の回転速度差そのもので、ヨーレートの大きさを判定しても良い。また、左右輪の回転速度の差からヨーレートを演算して、ヨーレートセンサ10を用いた場合と同様に判定しても良い。さらには、ヨーレートセンサ10の代わりに、横方向加速度センサを用いてもよい。
【0107】
(4)上述した各処理は、車間制御ECU2、レーザレーダセンサ3、ブレーキECU4及びエンジンECU6に備えられたROMあるいはバックアップRAMに記憶されたプログラムにより実行されるものである。
【図面の簡単な説明】
【図1】一実施形態としての車間制御装置のシステムブロック図である。
【図2】ステアリングセンサの概略構成説明図である。
【図3】ステアリングセンサの出力信号説明図である。
【図4】操舵角演算処理のフローチャートである。
【図5】ステアリングセンサの出力に基づいて操舵角を演算するための換算テーブル説明図である。
【図6】操舵角中立位置Sc_A学習処理のフローチャートである。
【図7】操舵角中立位置Sc_B学習処理のフローチャートである。
【図8】制御に利用する操舵角中立位置Sc_Sの選択処理のフローチャートである。
【図9】車速から、学習度合いカウンタCv_A,Cv_Bの演算に用いられる増加値αを求めるための換算テーブル説明図である。
【図10】記憶値Sc_ep,Cv_epの書き換え処理のフローチャートである。
【図11】操舵角中立位置学習リセット処理のフローチャートである。
【図12】補正係数β演算用マップである。
【図13】本実施形態において学習値A(Sc_A),学習値B(Sc_B)が操舵角中立位置Sc_Sとしてどのように選択されるかを示す説明図である。
【図14】直進状態が少なく左右操舵が連続する走行路でイグニッションオンから車速を約80km/hまで加速した時の操舵角中立位置Sc_Sの推移を示すグラフである。
【図15】 車間制御全体の処理のフローチャートである。
【符号の説明】
2…車間制御用電子制御装置(車間制御ECU)
3…レーザレーダセンサ
4…ブレーキ電子制御装置(ブレーキECU)
6…エンジン電子制御装置(エンジンECU)
8…ステアリングセンサ
10…ヨーレートセンサ
12…車輪速センサ
14…警報ブザー
16…車速センサ
18…ブレーキスイッチ
20…クルーズコントロールスイッチ
22…クルーズメインスイッチ
24…スロットルアクチュエータ
25…ブレーキアクチュエータ
26…トランスミッション
28…ボデーLAN
32…金属円板
32a…スリット
34…回転検出回路
34a,34b…レーザダイオード
34c,34d…フォトトランジスタ
34e…検出回路
Claims (6)
- 車両の操舵角を検出する操舵角検出手段と、
車両の旋回が直進状態を示す範囲にあると判定された際に前記操舵角検出手段にて検出された車両の操舵角を、暫定操舵角中立位置として設定する暫定操舵角中立位置設定手段と、
前記操舵角検出手段にて検出された車両の操舵角と前記暫定操舵角中立位置との差から前記操舵角中立位置を引いた角度に基づき、前記操舵角中立位置を補正して新たな操舵角中立位置を求めることにより、操舵角中立位置の学習を行う操舵角中立位置学習手段と、
を備えた操舵角中立学習装置であって、
さらに、
過去の走行時に前記操舵角中立位置学習手段にて得られた操舵角中立位置の学習値の内、所定の学習初期期間内であり、且つ、学習度合いが最も進んでいた値を記憶しておく学習値記憶手段と、
現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値の学習度合いが、前記学習値記憶手段に記憶されている学習値の学習度合い未満の場合には、前記学習値記憶手段に記憶されている学習値に基づいて求めた操舵角中立位置を本装置による学習結果とし、一方、現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値の学習度合いが、前記学習値記憶手段に記憶されている学習値の学習度合い以上となった場合には、現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置を本装置による学習結果とする決定手段と、
を備えたことを特徴とする操舵角中立学習装置。 - 請求項1記載の操舵角中立学習装置において、
前記操舵角中立位置学習手段は、
前記暫定操舵角中立位置の代わりに前記学習値記憶手段に記憶されている学習値を初期値として操舵角中立位置を学習する第2の学習も実行可能であり、
前記決定手段は、
前記学習値記憶手段に記憶されている学習値に基づいて求めた操舵角中立位置を本装置による学習結果とする際、前記操舵角中立位置学習手段による第2の学習によって得た操舵角中立位置の学習値を採用することを特徴とする操舵角中立学習装置。 - 請求項2記載の操舵角中立学習装置において、
前記第2の学習によって得た学習値については、前記学習値記憶手段への記憶対象から除外することを特徴とする操舵角中立学習装置。 - 請求項1〜3のいずれか記載の操舵角中立学習装置において、
前記決定手段は、
現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値の学習度合いが、前記学習値記憶手段に記憶されている学習値の学習度合いと等しくなった場合には、即座に、現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値を本装置による学習結果とすること
を特徴とする操舵角中立学習装置。 - 請求項1〜3のいずれか記載の操舵角中立学習装置において、
前記決定手段は、
現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値の学習度合いが、前記学習初期期間の終期となった時点で、現在の走行時に前記操舵角中立位置学習手段によって得た操舵角中立位置の学習値を本装置による学習結果とすることを特徴とする操舵角中立学習装置。 - 請求項1〜5のいずれか記載の操舵角中立学習装置の各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25570099A JP3728991B2 (ja) | 1999-09-09 | 1999-09-09 | 操舵角中立学習装置及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25570099A JP3728991B2 (ja) | 1999-09-09 | 1999-09-09 | 操舵角中立学習装置及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001080533A JP2001080533A (ja) | 2001-03-27 |
JP3728991B2 true JP3728991B2 (ja) | 2005-12-21 |
Family
ID=17282427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25570099A Expired - Fee Related JP3728991B2 (ja) | 1999-09-09 | 1999-09-09 | 操舵角中立学習装置及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3728991B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2243686A2 (en) | 2009-04-23 | 2010-10-27 | Honda Motor Co., Ltd. | Electric power steering device |
EP2248711A2 (en) | 2009-05-08 | 2010-11-10 | Honda Motor Co., Ltd. | Electric power-assist steering system |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101962890B1 (ko) * | 2012-03-02 | 2019-08-01 | 현대모비스 주식회사 | 차량 센서 오프셋 보정 시스템 및 그 방법 |
JP5895864B2 (ja) * | 2013-02-04 | 2016-03-30 | トヨタ自動車株式会社 | 操舵装置 |
JP5895865B2 (ja) * | 2013-02-04 | 2016-03-30 | トヨタ自動車株式会社 | 操舵装置 |
JP6658464B2 (ja) * | 2016-11-09 | 2020-03-04 | 株式会社デンソー | 中立点検出装置、及び操舵制御システム |
JP7507386B2 (ja) * | 2019-12-25 | 2024-06-28 | パナソニックIpマネジメント株式会社 | 情報処理方法、情報処理システム、及び、制御装置 |
-
1999
- 1999-09-09 JP JP25570099A patent/JP3728991B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2243686A2 (en) | 2009-04-23 | 2010-10-27 | Honda Motor Co., Ltd. | Electric power steering device |
EP2248711A2 (en) | 2009-05-08 | 2010-11-10 | Honda Motor Co., Ltd. | Electric power-assist steering system |
US8392066B2 (en) | 2009-05-08 | 2013-03-05 | Honda Motor Co., Ltd | Electric power-assist steering system |
Also Published As
Publication number | Publication date |
---|---|
JP2001080533A (ja) | 2001-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102529966B (zh) | 用于车道对中系统的基于驾驶的车道偏移控制 | |
JP3845548B2 (ja) | 自動車両の車線変更時の速度及び車間距離のための制御システム | |
US6889161B2 (en) | Method for recognizing a change in lane of a vehicle | |
US7447577B2 (en) | Curve's radius estimation device | |
JP3961079B2 (ja) | 車両の速度を制御するための方法及び装置 | |
US6853884B2 (en) | Lane-keep control system for vehicle | |
EP0901929B1 (en) | Vehicle maneuvering control device | |
US8428843B2 (en) | Method to adaptively control vehicle operation using an autonomic vehicle control system | |
JP3906821B2 (ja) | 車線逸脱防止装置 | |
US11027724B2 (en) | Parking assistance system and parking assistance method | |
CN105818734B (zh) | 一种车辆转弯过程中转向灯辅助控制装置及方法 | |
JP2004168192A (ja) | 車線逸脱防止装置 | |
US6294986B1 (en) | Method and system for determining a regulator object | |
US20050216170A1 (en) | System for influencing the spread of a motor vehicle | |
JP5302095B2 (ja) | 車両の燃料消費率向上支援装置 | |
JP3728991B2 (ja) | 操舵角中立学習装置及び記録媒体 | |
JP2002175598A (ja) | ナビゲーションシステムの情報が認識される、車両を縦制御するための方法 | |
JP3873858B2 (ja) | 追従走行制御装置 | |
JP2000025631A (ja) | レーンキープシステム | |
JP3206532B2 (ja) | 操舵角中立学習装置、カーブ曲率推定装置、車間距離制御装置および記録媒体 | |
CN115697815A (zh) | 用于确定用于车辆的直线行驶修正的修正角的方法和设备 | |
JP2002067732A (ja) | 車両走行制御装置 | |
US20230286583A1 (en) | Vehicle Control Device, Vehicle Control Method, and Vehicle Control System | |
JP3235521B2 (ja) | 操舵角中立学習装置、カーブ曲率推定装置、車間距離制御装置および記録媒体 | |
JP3843798B2 (ja) | 車両用舵角検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050714 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050926 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081014 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131014 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |