(57)【特許請求の範囲】
【請求項１】
ステアリングホイールの所定舵角ごとにパルス信号を出力するとともに、ステアリングホイール１回転ごとに中立位置のパルス信号を出力する舵角センサーを備えた操舵角検出装置であって、
前記舵角センサーの所定舵角ごとのパルス信号を計数するパルス計数手段と、
車両の直進状態を検出する直進状態検出手段と、
車両の直進状態が検出された時の前記パルス計数手段のパルス計数値を、車両が直進する操舵中立点に設定する操舵中立点設定手段と、
前記操舵中立点設定値と操舵中立点に最も近接した前記舵角センサーの中立位置との差をオフセットとして算出するオフセット算出手段と、
前記オフセットを記憶するオフセット記憶手段と、
前記オフセット記憶値と操舵中立点に最も近接した前記舵角センサーの中立位置とに基づいて、車両が直進する操舵中立点を演算する操舵中立点演算手段と、
前記操舵中立点演算値と前記パルス計数手段のパルス計数値とに基づいて操舵角を演算する操舵角演算手段とを備えることを特徴とする操舵角検出装置。
【請求項２】
請求項１に記載の操舵角検出装置において、
前記舵角センサーの中立位置のパルス信号は所定の舵角範囲の幅を有するパルス信号であり、
ステアリングホイールの回転にともなって前記所定舵角範囲の両端を通過する時の前記パルス計数手段のパルス計数値に基づいて、前記所定舵角範囲の中央値を演算する中央値演算手段を備え、
前記中央値演算手段により演算された中央値を前記舵角センサーの中立位置とすることを特徴とする操舵角検出装置。
【請求項３】
請求項１または請求項２に記載の操舵角検出装置において、
前記直進状態検出手段は、レーザービームを車両前方の水平方向に走査して路側デリニエーターを検出し、デリニエーターの検出結果に基づいて車両の直進状態を検出することを特徴とする操舵角検出装置。
【請求項４】
請求項１または請求項２に記載の操舵角検出装置において、
前記直進状態検出手段は、車両前方を撮像した画像を処理して道路上の白線を検出し、検出した白線の直線性に基づいて車両の直進状態を検出することを特徴とする操舵角検出装置。
【請求項５】
請求項１〜４のいずれかの項に記載の操舵角検出装置において、
前記オフセット算出手段は車両を運行するたびにオフセットを算出し、前記オフセット記憶手段は新たに算出されたオフセットでオフセット記憶値を更新することを特徴とする操舵角検出装置。
【請求項６】
請求項１〜４のいずれかの項に記載の操舵角検出装置において、
前記オフセット算出手段は車両を運行するたびにオフセットを算出し、前記オフセット記憶手段は複数のオフセットの平均値を記憶することを特徴とする操舵角検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は操舵角検出装置に関し、特に、舵角センサーの操舵中立点の校正方法を改善したものである。
【０００２】
【従来の技術】
一般に、ステアリングホイールの操舵角を検出するために、所定舵角ごとにパルス信号を発生する舵角センサーが用いられる。この舵角センサーの検出舵角から車両が直進する操舵の中立点を検出する方法として、レーザーレーダーを用いて道路沿いに設置されるデリニエーター（反射式道路境界標識）を検出し、その検出結果に基づいて車両が直進しているか否かを判定し、直進判定時の舵角センサーの検出舵角を操舵中立点として舵角センサーの出力を校正するようにした操舵角検出装置が知られている（例えば、特開平１０−２１３４４６号公報参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の操舵角検出装置では、車両を運行するたびに車両の直進状態を検出して操舵中立点を得ていたので、車両を運行するたびに車両の直進状態を検出するまでは操舵中立点が得られず、それまでの間は舵角センサーの出力が校正されないので操舵角の検出誤差が大きく、舵角検出値により車両の各種制御を行うと制御精度が低下するという問題がある。
【０００４】
本発明の目的は、常に正確な操舵角を検出することにある。
【０００５】
【課題を解決するための手段】
一実施の形態の舵角演算処理を示す図５〜図９に対応づけて本発明を説明すると、
（１）  請求項１の発明は、ステアリングホイールの所定舵角ごとにパルス信号を出力するとともに、ステアリングホイール１回転ごとに中立位置のパルス信号を出力する舵角センサーを備えた操舵角検出装置であって、舵角センサーの所定舵角ごとのパルス信号を計数するパルス計数手段（図７のＳ２１〜Ｓ２３）と、車両の直進状態を検出する直進状態検出手段と、車両の直進状態が検出された時のパルス計数手段のパルス計数値を、車両が直進する操舵中立点に設定する操舵中立点設定手段と（図５のＳ４）、操舵中立点設定値と操舵中立点に最も近接した舵角センサーの中立位置との差をオフセットとして算出するオフセット算出手段（図５のＳ７）と、オフセットを記憶するオフセット記憶手段（図５のＳ７）と、オフセット記憶値と操舵中立点に最も近接した舵角センサーの中立位置とに基づいて、車両が直進する操舵中立点を演算する操舵中立点演算手段（図６のＳ１３）と、操舵中立点演算値とパルス計数手段のパルス計数値とに基づいて操舵角を演算する操舵角演算手段（図６のＳ１４）とを備える。
（２）  請求項２の操舵角検出装置は、舵角センサーの中立位置のパルス信号が所定の舵角範囲の幅を有するパルス信号であり、ステアリングホイールの回転にともなって所定舵角範囲の両端を通過する時のパルス計数手段のパルス計数値に基づいて、所定舵角範囲の中央値を演算する中央値演算手段（図８、図９のＳ３１〜Ｓ４４）を備え、中央値演算手段により演算された中央値を舵角センサーの中立位置とするようにしたものである。
（３）  請求項３の操舵角検出装置は、直進状態検出手段によって、レーザービームを車両前方の水平方向に走査して路側デリニエーターを検出し、デリニエーターの検出結果に基づいて車両の直進状態を検出するようにしたものである。
（４）  請求項４の操舵角検出装置は、直進状態検出手段によって、車両前方を撮像した画像を処理して道路上の白線を検出し、検出した白線の直線性に基づいて車両の直進状態を検出するようにしたものである。
（５）  請求項５の操舵角検出装置は、オフセット算出手段によって車両を運行するたびにオフセットを算出し（図６のＳ１７）、オフセット記憶手段によって新たに算出されたオフセットでオフセット記憶値を更新する（図６のＳ１７）ようにしたものである。
（６）  請求項６の操舵角検出装置は、オフセット算出手段によって車両を運行するたびにオフセットを算出し、オフセット記憶手段によって複数のオフセットの平均値を記憶するようにしたものである。
【０００６】
上述した課題を解決するための手段の項では、説明を分かりやすくするために一実施の形態の図を用いたが、これにより本発明が一実施の形態に限定されるものではない。
【０００７】
【発明の効果】
（１）  請求項１の発明によれば、一度車両の直進状態を検出して操舵中立点を設定し、操舵中立点設定値と操舵角センサーの中立位置との差をオフセットとして記憶しておき、それ以後の車両運行時にはオフセット記憶値を用いて操舵中立点を演算により求め、操舵中立点演算値により舵角センサーの出力を校正するようにしたので、一度車両の直進状態を検出してオフセットを求めれば、車両を運行するたびに車両の直進状態を検出する必要がなく、常に正確な操舵角を検出することができる。
（２）  請求項２の発明によれば、舵角センサーの中立位置のパルス信号が所定の舵角範囲の幅を有するパルス信号であっても、ステアリングホイールの回転にともなって所定舵角範囲の両端を通過する時のパルス計数手段のパルス計数値に基づいて、所定舵角範囲の中央値を演算し、その中央値を舵角センサーの中立位置とするようにしたので、請求項１と同様な効果が得られる。
（３）  請求項４の発明によれば、車両を運行するたびにオフセットを算出し、新たに算出されたオフセットでオフセット記憶値を更新するようにしたので、より正確なオフセットに変更することができる。
（４）  請求項５の発明によれば、車両を運行するたびにオフセットを算出し、複数のオフセットの平均値を記憶するようにしたので、より正確なオフセットを求めることができ、操舵角の検出精度を向上させることができる。
【０００８】
【発明の実施の形態】
図１は一実施の形態の構成を示す図である。
舵角センサー１はステアリングホイールの回転と連動して回転し、中立位置、出力１および出力２の３種類のパルス信号を出力する。この舵角センサー１の出力仕様については後述する。レーダーヘッド２はスキャンニング方式のレーダーヘッドであり、車両前方にレーザービームを照射して先行車や障害物などからの反射光を受光し、先行車や障害物までの距離と方位を検出する。駆動回路２ａは、レーダーヘッド２のレーザービームを車両前方の水平方向に走査させるとともに、レーダーヘッド２とコントローラー４との間の通信ラインを駆動するための駆動回路である。また、車速センサー３は車両の走行速度Ｖｓｐ［ｋｍ／ｈ］を検出する。
【０００９】
コントローラー４はＣＰＵ４ａ、ＲＯＭ４ｂ、ＲＡＭ４ｃなどを備え、後述するプログラムを実行して舵角を演算する。コントローラー４には、後述する舵角のオフセット値を記録するための不揮発性メモリ５が接続される。
【００１０】
図２は舵角センサー１の出力仕様を示す。
（ａ）、（ｂ）に示すように、出力１と出力２は所定の舵角ごとに互いに位相が９０度ずれたパルス信号を出力し、ステアリングホイール右転舵時には、（ａ）に示すように出力１の立ち上がりエッジにおいて出力２がローレベルとなっており、ステアリングホイール左転舵時には、（ｂ）に示すように出力１の立ち上がりエッジにおいて出力２がハイレベルとなっている。
【００１１】
舵角センサー１はエンコーダー（不図示）を備え、ステアリングホイールが１回転すると舵角センサー１のエンコーダーも１回転するようにステアリングシャフトと連結される。中立位置信号は、ステアリングホイールが１回転するたびに（ｃ）に示すように舵角２０度にわたって（以下、この範囲を中立範囲ＮＺ（Ｎｅｕｔｒａｌ  Ｚｏｎｅ）と呼ぶ）ハイレベルのパルス信号を出力する。この舵角センサー１をステアリングシャフトに連結する際には、中立範囲ＮＺの中央値ＣＮＺ（Ｃｅｎｔｅｒ  ｏｆ  Ｎｅｕｔｒａｌ  Ｚｏｎｅ）が車両を直進させる操舵中立点（以下、記号Ｎで表す）と一致するように取り付けられるが、取り付け誤差や連結機構に含まれるギアのバックラッシュなどがあるため、中央値ＣＮＺを操舵中立点Ｎに完全に一致させるのは困難である。
【００１２】
この明細書では、車両を直進させるための操舵中立点Ｎを基準にした舵角を記号θ（単位［度］）で表し、操舵中立点Ｎから右に転舵した場合の舵角θを正値とし、左に転舵した場合の舵角θを負値とする。また、舵角センサー１の出力１のパルスカウント値を記号Ｐで表す。なお、舵角センサー１の出力２のパルスカウント値を用いてもよい。さらに、舵角センサー１の中立範囲ＮＺとその中央値ＣＮＺの単位をパルスカウント値（Ｐ）で表す。
【００１３】
図３は、ステアリングホイールを左右に転舵した時の、舵角センサー１のパルスカウント値Ｐ、中立範囲ＮＺの認識番号ｎ（ステアリングホイールの回転数を表し、右回転が（＋）、左回転が（−）になる）、および各中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）と最少パルスカウント値Ｐｍｉｎ（ｎ）を示す図である。
舵角センサー１の中立位置信号は、ステアリングホイール１回転ごとに中立範囲ＮＺにおいてハイレベルとなる。当初、ステアリングホイールがＡ点にあったとすると、Ａ点におけるパルスカウント値Ｐは０であり、Ａ点から右に転舵するとパルスカウント値Ｐが増加し、Ａ点から左に転舵するとパルスカウント値Ｐが減少する。
【００１４】
ステアリングホイール１回転ごとに現れる中立範囲ＮＺを識別するために、それぞれの中立範囲ＮＺに認識番号ｎを付して区別する。Ａ点から右に転舵した場合に、最初に現れる中立範囲ＮＺの認識番号を１とし、次に現れる中立範囲ＮＺの認識番号を２とする。逆に、Ａ点から左に転舵した場合に、最初に現れる中立範囲ＮＺの認識番号を−１とし、次に現れる中立範囲ＮＺの認識番号を−２とする。つまり、操舵の初期位置（図３に示す例ではＡ点）から右に転舵して中立範囲ＮＺに入るたびに認識番号ｎをインクリメントし、逆に、操舵の初期位置から左に転舵して中立範囲ＮＺを出るたびに認識番号ｎをデクリメントする。したがって、例えば操舵の初期位置が左フル転舵位置にあった場合には、右転舵１回転ごとに認識番号ｎが１，２，３，・・・と増加し、逆に操舵の初期位置が右フル転舵位置にあった場合には、左転舵１回転ごとに認識番号ｎが−１，−２，−３，・・・と減少する。
【００１５】
図４は、操舵中立点Ｎと、操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとの関係、およびオフセットαを示す図である。
各中立範囲ＮＺの両端におけるパルスカウント値Ｐの内、左端の最少のパルスカウント値を中立範囲ＮＺの認識番号ｎと対応づけて記号Ｐｍｉｎ（ｎ）（単位はパルスカウント値（Ｐ））で表し、右端の最大のパルスカウント値を中立範囲ＮＺの認識番号ｎと対応づけて記号Ｐｍａｘ（ｎ）（単位はパルスカウント値（Ｐ））で表す。図３に示す例では、認識番号ｎ＝１の中立範囲ＮＺの最少パルスカウント値はＰｍｉｎ（１）＝３０であり、最大パルスカウント値はＰｍａｘ（１）＝７０である。また、認識番号ｎ＝−１の中立範囲ＮＺの最少パルスカウント値はＰｍｉｎ（−１）＝−２９０であり、最大パルスカウント値はＰｍａｘ（−１）＝−３３０である。
【００１６】
中立範囲ＮＺの中央値ＣＮＺは、図４に示すように、各中立範囲ＮＺの最少パルスカウント値Ｐｍｉｎ（ｎ）と最大パルスカウント値Ｐｍａｘ（ｎ）とに基づいて次式により求められる。
【数１】
ＣＮＺ＝（Ｐｍｉｎ（ｎ）＋Ｐｍａｘ（ｎ））／２
【００１７】
左フル転舵位置から右フル転舵位置までステアリングホイールを回転させると、一般の車両では３または５回、中立範囲ＮＺを通過する。これらの中立範囲ＮＺの中で、車両が直進する操舵中立点Ｎに最も近接した中立範囲ＮＺは１個のみであり、通常は真ん中の中立範囲ＮＺが操舵中立点Ｎに最も近接した中立範囲ＮＺである。図４に示すように、操舵中立点Ｎに最も近接した中立範囲の中央値ＣＮＺと、操舵中立点Ｎとの差をオフセットと呼び、記号α（単位はパルスカウント値（Ｐ））で表す。
【数２】
α＝Ｎ−ＣＮＺ
【００１８】
操舵中立点Ｎは、車両が直進している時の舵角センサー１のパルスカウント値Ｐで表す。車両の直進状態の検出には、例えば次のような方法を用いることができる。スキャンニング方式またはマルチビーム方式のレーザーレーダーを用い、路側デリニエーターまでの距離と方位を検出して道路の曲率半径を演算し、曲率半径が所定値以下であれば直線道路を走行中であると判定する（特開平１０−２１３４４６号公報参照）。また、カメラで車両前方を撮像し、撮像した画像を処理して道路上の白線を検出し、白線の直線性を確認して直進判定を行ってもよい。
【００１９】
また、操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺは、次のようにして求める。
ステアリングホイール１回転ごとに中立範囲ＮＺを通過するが、各中立範囲ＮＺに出入りした回数を認識番号ｎに対応づけて記号Ｃ（ｎ）で表す。この出入り回数Ｃ（ｎ）は各中立範囲ＮＺに出入りするたびに単純に１を加算するのではなく、表１に示す出入り時点の車速Ｖｓｐに応じた車速ポイントｖを加算する。
【表１】
0003623399.tif 000002
【００２０】
車速ポイントｖは車速Ｖｓｐが高いほど大きいので、車速Ｖｓｐが高い時に中立範囲ＮＺに入った場合には、その中立範囲ＮＺの出入り回数Ｃ（ｎ）には大きなポイントが加算される。通常、高速で走行している場合には大きな操舵が行われることがなく、また操舵中立点Ｎに最も近接した中立範囲ＮＺに出入りする可能性が高いので、高速走行時に出入りする中立範囲ＮＺの出入り回数Ｃ（ｎ）は大きな値になる。なお、低速走行時には高速走行時に比べて大きな操舵が行われることが多く、また操舵中立点Ｎに最も近接した中立範囲ＮＺ以外の中立範囲ＮＺに出入りすることも多い。このようにして設定された中立範囲ＮＺごとの出入り回数Ｃ（ｎ）の中で、最も数値が大きい中立範囲ＮＺが、操舵中立点Ｎに最も近接した中立範囲ＮＺである。
【００２１】
操舵中立点Ｎと操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとに基づいて、上記数式２からオフセットαを求めて記憶しておけば、車両を運行するたびに車両の直進判定を行って操舵中立点Ｎを求める必要がなく、操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺを演算し、オフセット記憶値αを用いて次式により操舵中立点Ｎを演算により求めることができる。
【数３】
Ｎ＝ＣＮＺ＋α
【００２２】
操舵中立点Ｎが得られれば、舵角θを次式により演算することができる。
【数４】
θ＝ｋ（Ｐ−Ｎ）
上式において、ｋは舵角センサー１のパルスカウント値Ｐを舵角θに換算するための係数である。
【００２３】
なお、操舵の初期位置（図３に示す例ではＡ点）は、車両の運行を開始した時、すなわちイグニッションキーをオンした時の位置とする。したがって、イグニッションキーをオンするたびに、舵角センサー１のパルスカウント値Ｐ、中立範囲ＮＺの認識番号ｎ、中立範囲ＮＺごとの最少パルスカウント値Ｐｍｉｎ（ｎ）と最大パルスカウント値Ｐｍａｘ（ｎ）、各中立範囲ＮＺの出入り回数Ｃ（ｎ）をそれぞれ０に初期化する。
【００２４】
図５〜図９は、コントローラー４のＲＯＭ４ｂに格納されている舵角演算プログラムを示すフローチャートである。これらのフローチャートにより、一実施の形態の動作を説明する。
【００２５】
まず、図７に示す割込処理１ルーチンにより、舵角センサー１のパルスカウント値Ｐの計数処理を説明する。
舵角センサー１の出力１の立ち上がりエッジでＣＰＵ４ａに割り込みがかかり、ＣＰＵ４ａはこの割込処理１ルーチンを実行する。ステップ２１において、出力１の立ち上がり時点において出力２がローレベルであるか否かを判定する。出力１の立ち上がり時点で出力２がローレベルであればステップ２２へ進み、図２（ａ）に示すようにステアリングホイールが右転舵されていると判断し、パルスカウント値Ｐをインクリメントする。一方、出力１の立ち上がり時点で出力２がハイレベルであればステップ２３へ進み、図２（ｂ）に示すようにステアリングホイールが左転舵されていると判断し、パルスカウント値Ｐをデクリメントする。以上の処理が終了したら図５、図６に示す舵角演算プログラムへリターンする。
【００２６】
次に、図８、図９に示す割込処理２ルーチンにより、操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺの演算処理を説明する。
図２（ｃ）に示す中立位置信号の立ち上がりエッジまたは立ち下がりエッジにおいてＣＰＵ４ａに割り込みがかかり、ＣＰＵ４ａはこの割込処理２ルーチンを実行する。ステップ３１において、操舵にともなって舵角センサー１の中立範囲ＮＺに入ったかどうかを確認する。図２（ｃ）に示すように、舵角センサー１の中立位置信号がローレベルからハイレベルに立ち上がったら中立範囲ＮＺに入ったと判定する。
【００２７】
中立範囲ＮＺに入ったらステップ３２へ進み、ステアリングホイールが右転舵されて中立範囲ＮＺに入ったかどうかを確認する。舵角センサー１のパルスカウント値Ｐが増加している時に中立位置信号が立ち上がった場合は、右転舵で中立範囲ＮＺに入ったと判定する。逆に、舵角センサー１のパルスカウント値Ｐが減少している時に中立位置信号が立ち上がった場合は、左転舵で中立範囲ＮＺに入ったと判定する。
【００２８】
右転舵で中立範囲ＮＺに入った場合はステップ３３へ進み、中立範囲ＮＺの認識番号ｎをインクリメントする。続くステップ３４で、右転舵で中立範囲ＮＺに入った時点のパルスカウント値Ｐを、現在の認識番号ｎの中立範囲ＮＺの最少パルスカウント値Ｐｍｉｎ（ｎ）に設定するとともに、右転舵で中立範囲ＮＺに入った時点の車速Ｖｓｐに応じた車速ポイントｖを、現在の認識番号ｎの中立範囲ＮＺの出入り回数Ｃ（ｎ）に加算する。
【００２９】
一方、左転舵で中立範囲ＮＺに入った時はステップ３５へ進み、左転舵で中立範囲ＮＺに入った時点のパルスカウント値Ｐを、現在の認識番号ｎの中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）に設定するとともに、左転舵で中立範囲ＮＺに入った時点の車速Ｖｓｐに応じた車速ポイントｖを、現在の認識番号ｎの中立範囲ＮＺの出入り回数Ｃ（ｎ）に加算する。
【００３０】
ステップ３１で中立範囲ＮＺに入っていないと判定された場合は中立範囲を出たと判断し、ステップ３６へ進む。ステップ３６では右転舵で中立範囲ＮＺを出たかどうかを確認する。舵角センサー１のパルスカウント値Ｐが増加している時に中立位置信号が立ち下がった場合は、右転舵で中立範囲ＮＺを出た判定する。逆に、舵角センサー１のパルスカウント値Ｐが減少している時に中立位置信号が立ち下がった場合は、左転舵で中立範囲ＮＺを出たと判断する。
【００３１】
右転舵で中立範囲ＮＺを出た場合はステップ３７へ進み、右転舵で中立範囲ＮＺを出た時点のパルスカウント値Ｐを、現在の認識番号ｎの中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）に設定するとともに、右転舵で中立範囲ＮＺを出た時点の車速Ｖｓｐに応じた車速ポイントｖを、現在の認識番号ｎの中立範囲ＮＺの出入り回数Ｃ（ｎ）に加算する。
【００３２】
一方、左転舵で中立範囲ＮＺを出た場合はステップ３８へ進み、左転舵で中立範囲ＮＺを出た時点のパルスカウント値Ｐを、現在の認識番号ｎの中立範囲ＮＺの最少パルスカウント値Ｐｍｉｎ（ｎ）に設定するとともに、左転舵で中立範囲ＮＺを出た時点の車速Ｖｓｐに応じた車速ポイントｖを、現在の認識番号ｎの中立範囲ＮＺの出入り回数Ｃ（ｎ）に加算する。続くステップ３９で、中立範囲ＮＺの認識番号ｎをデクリメントする。
【００３３】
ステップ４１において、各中立範囲ＮＺの出入り回数Ｃ（ｎ）の最大値とその次に大きい値を抽出する。そして、ステップ４２で出入り回数Ｃ（ｎ）の最大値とその次に大きい値との差が１６以上あるか否かを判定する。この実施の形態では、中立範囲ＮＺの出入り回数Ｃ（ｎ）に加算する車速Ｖｓｐに応じた車速ポイントｖを、表１に示すように決定した。この車速ポイントｖを加算した場合には、出入り回数Ｃ（ｎ）の最大値とその次に大きい値との差が１６以上あれば、最大回数Ｃ（ｎ）に対応する中立範囲ＮＺが操舵中立点Ｎに最も近接した中立範囲ＮＺであると判定しても、その判定の信頼性は高いと考えられる。差が１６未満の場合には、さらに出入り回数Ｃ（ｎ）のデータを積み重ねて判定の信頼性を上げる必要があり、図５、図６に示すプログラムへリターンする。なお、車速ポイントｖおよび判定基準値１６はこの実施の形態の値に限定されない。
【００３４】
出入り回数Ｃ（ｎ）の最大値とその次に大きい値との差が１６以上ある場合はステップ４３へ進み、最大回数Ｃ（ｎ）の中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）と最少パルスカウント値Ｐｍｉｎ（ｎ）に値が入っているかどうかを確認する。最大、最少パルスカウント値Ｐｍａｘ（ｎ）、Ｐｍｉｎ（ｎ）はイグニッションオン時に０に初期化されているので、それらの値のいずれかが０のままであれば一度もその中立範囲ＮＺを通過したことがないと考えられ、中央値ＣＮＺを演算することができないので、図５、図６に示すプログラムへリターンする。
【００３５】
一方、最大回数Ｃ（ｎ）の中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）と最少パルスカウント値Ｐｍｉｎ（ｎ）に値が入っている時はステップ４４へ進み、最大回数Ｃ（ｎ）の中立範囲ＮＺの最大、最少パルスカウント値Ｐｍａｘ（ｎ）、Ｐｍｉｎ（ｎ）を用いて、数式１により操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺを演算する。その後、図５、図６に示すプログラムへリターンする。
【００３６】
次に、図５、図６に示すフローチャートにより、舵角演算処理を説明する。
コントローラー４のＣＰＵ４ａは、イグニッションキースイッチがオンするとこのプログラムの実行を開始する。ステップ１において、舵角センサー１のパルスカウント値Ｐ、中立範囲ＮＺごとの最大パルスカウント値Ｐｍａｘ（ｎ）と最少パルスカウント値Ｐｍｉｎ（ｎ）、中立範囲ＮＺの識別番号ｎおよび各中立範囲ＮＺごとの出入り回数Ｃ（ｎ）の値をそれぞれ０に初期化する。さらに、上述した割込処理１（図７参照）と割込処理２（図８、図９参照）の割り込みを許可する。
【００３７】
ステップ２で舵角θを０に初期化してステップ３へ進み、上述した方法により車両の直進判定を行う。車両が直進していると判定されるとステップ４へ進み、直進判定がない場合はステップ１１へ進む。
【００３８】
車両の直進判定がなされた場合には、ステップ４で直進判定時の舵角センサー１のパルスカウント値Ｐを操舵中立点Ｎに設定する。続くステップ５で、操舵中立点Ｎを用いて数式４により舵角θを演算する。なお、ステップ４で操舵中立点Ｎを設定してから操舵が全く行われなかった場合には、ステップ５における舵角θの演算結果は０、つまりステアリングホイールは車両を直進走行させる中立位置にある。
【００３９】
ステップ６において、上述した割込処理２により操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺが求められたかどうかを確認し、中央値ＣＮＺが求められている時はステップ７へ進み、まだ求められていない時はステップ５へ戻って舵角演算処理を繰り返す。
【００４０】
操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺが求められている時は、ステップ７で操舵中立点Ｎと操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとを用いて、上記数式２によりオフセットαを演算し、不揮発性メモリ５へ記憶する。その後、ステップ８へ進み、イグニッションキースイッチがオフされるまで、舵角センサー１のパルスカウント値Ｐと操舵中立点Ｎとに基づいて上記数式４により舵角θを演算する。
【００４１】
車両の直進判定がない場合は、ステップ１１において、上述した割込処理２により操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺが求められたかどうかを確認し、中央値ＣＮＺが求められている時はステップ１２へ進み、まだ求められていない時はステップ２へ戻って上記処理を繰り返す。
【００４２】
中央値ＣＮＺが求められている時は、ステップ１２で不揮発性メモリ５に記憶されているオフセットαが所定範囲内の値かどうかを確認する。オフセットαは、図４に示すように中立範囲ＮＺ内にあるはずであり、前記所定範囲には中立範囲ＮＺよりわずかに広い範囲を設定する。車両完成時または舵角検出装置交換時には、オフセットαに割り当てられたメモリ容量の最大値が記憶されており、ステップ３で直進判定がなされてステップ７でオフセットαが演算されると、その演算値で不揮発性メモリ５の記憶値が更新される。したがって、一度でもオフセットαが求められていればオフセットαの記憶値は所定範囲内にあるはずであり、ステップ１３へ進む。一度もオフセットαが求められていなければオフセットαの記憶値は所定範囲よりも大きい値であるから、ステップ２へ戻って上記処理を繰り返す。
【００４３】
操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとオフセットαとが求められている時は、ステップ１３で上記数式３により操舵中立点Ｎを演算する。続くステップ１４で、舵角センサー１のパルスカウント値Ｐと操舵中立点Ｎとに基づいて上記数式４により舵角θを演算する。
【００４４】
ステップ１５において、上述した方法により車両の直進判定を行う。車両が直進していると判定されるとステップ１６へ進み、直進判定がない場合はステップ１４へ戻って舵角θの演算を繰り返す。
【００４５】
車両の直進判定がなされた時は、ステップ１６で直進判定時の舵角センサー１のパルスカウント値Ｐを操舵中立点Ｎに設定する。続くステップ１７で、操舵中立点Ｎと操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとを用いて、上記数式２によりオフセットαを演算し、不揮発性メモリ５の記憶値を更新する。その後、ステップ１８へ進み、イグニッションキースイッチがオフされるまで、舵角センサー１のパルスカウント値Ｐと操舵中立点Ｎとに基づいて上記数式４により舵角θを演算する。
【００４６】
このように、一度車両の直進状態を検出して操舵中立点Ｎを求めるとともに、操舵中立点Ｎに近接した中立範囲ＮＺの中央値ＣＮＺを演算し、操舵中立点Ｎと操舵中立点Ｎに近接した中立範囲ＮＺの中央値ＣＮＺとの差をオフセットαとして記憶しておき、それ以後の車両運行時にはオフセットαの記憶値を用いて操舵中立点Ｎを演算により求め、操舵中立点Ｎの演算値により舵角センサー１の出力を校正するようにしたので、一度車両の直進状態を検出してオフセットを求めれば、車両を運行するたびに車両の直進状態を検出する必要がなく、常に正確な操舵角を検出することができる。
【００４７】
この舵角検出装置により検出された舵角θは、車両の各種制御に用いられる。例えば、スキャンニング方式またはマルチビーム方式のレーザーヘッドを用いて路側デリニエーターを検出し、検出結果に基づいて道路の曲率を演算し、曲線路での先行車追従制御や車両の挙動制御を行う場合に、路側にデリニエーターが設置されていない道路では曲率が算出できず、曲線路が検出できない。そこで、路側デリニエーターが検出できない時は、ステアリングホイールの舵角を用いて道路の曲率を推定し、曲線路を検出することが考えられるが、舵角が正確でないと曲率の推定誤差が大きくなり、曲線路を正確に検出できなくなって先行車追従制御や車両の挙動制御の制御性能が低下する。このような場合に、本願発明の舵角検出装置により検出した正確な舵角を用いることによって、デリニエーターを検出できない場合でも、正確な道路曲率と曲線路を検出でき、先行車追従制御や車両の挙動制御における制御性能の低下を防止できる。
【００４８】
なお、上述した一実施の形態では、図２（ｃ）に示すような中立範囲ＮＺ、すなわち所定の舵角範囲でハイレベルとなる中立位置信号を出力する舵角センサー１を例に上げて説明したが、中立位置において狭い幅のパルス信号を出力する舵角センサーを用いてもよい。その場合には、上記実施の形態で説明した中立範囲ＮＺの中央値ＣＮＺの演算を省略することができる。
【００４９】
また、ステップ１７のオフセットαの更新において、車両の運行の都度算出されるオフセットαを不揮発性メモリ５に順次記憶しておき、複数の記憶値の単純平均あるいは移動平均により最終的なオフセットαを求め、そのオフセットαを用いて操舵中立点Ｎを演算するようにしてもよい。この方法によれば、さらに正確な操舵中立点Ｎを求めることができ、舵角θの検出精度を向上させることができる。
【００５０】
さらに、図５のステップ３〜７のオフセットαの演算と記憶処理は、車両の工場出荷時の走行試験時に行うことができ、そのようにすれば、車両がユーザーにわたった時にはすでにオフセットαが記憶されているので、ユーザーの使用開始時点から正確な操舵角を検出することができる。
【００５１】
以上の実施の形態の構成において、舵角センサー１が舵角センサーを、コントローラー４がパルス計数手段、直進状態検出手段、オフセット算出手段、操舵中立点演算手段、操舵角演算手段および中央値演算手段を、不揮発性メモリ５がオフセット記憶手段をそれぞれ構成する。
【図面の簡単な説明】
【図１】一実施の形態の構成を示す図である。
【図２】舵角センサーの出力仕様を示す図である。
【図３】ステアリングホイールを左右に転舵した時の、舵角センサーのパルスカウント値Ｐ、中立範囲ＮＺの認識番号ｎ、および各中立範囲ＮＺの最大パルスカウント値Ｐｍａｘ（ｎ）と最少パルスカウント値Ｐｍｉｎ（ｎ）を示す図である。
【図４】操舵中立点Ｎと、操舵中立点Ｎに最も近接した中立範囲ＮＺの中央値ＣＮＺとの関係、およびオフセットαを示す図である。
【図５】舵角演算プログラムを示すフローチャートである。
【図６】図５に続く、舵角演算プログラムを示すフローチャートである。
【図７】割込処理１ルーチンを示すフローチャートである。
【図８】割込処理２ルーチンを示すフローチャートである。
【図９】図８に続く、割込処理２ルーチンを示すフローチャートである。
【符号の説明】
１  舵角センサー
２  レーダーヘッド
２ａ  駆動回路
３  車速センサー
４  コントローラー
４ａ  ＣＰＵ
４ｂ  ＲＯＭ
４ｃ  ＲＡＭ
５  不揮発性メモリ
【図１】
0003623399.tif 000003
【図２】
0003623399.tif 000004
【図３】
0003623399.tif 000005
【図４】
0003623399.tif 000006
【図５】
0003623399.tif 000007
【図６】
0003623399.tif 000008
【図７】
0003623399.tif 000009
【図８】
0003623399.tif 000010
【図９】
0003623399.tif 000011