(57)【要約】【課題】  トルクセンサの故障が検出されている場合に、車両の起動時から操舵アシストを開始できるようにする。【解決手段】  第１アシストトルク計算部８１は、操舵角センサにより検出された第１操舵角θ１に応じた第１目標アシストトルクＴａ11を計算する。オフセット値計算部８４は、車両が直進走行していると判定したときに、モータ回転角θｍを操舵角に変換した第２操舵角θ２と第１操舵角との偏差（θ１−θ２）をオフセット値θofsに設定する。第２アシストトルク計算部８６は、Ｋtb・（θ１−θ２−θofs）によりドライバーが入力した推定操舵トルクＴｒ’を推定して第２目標アシストトルクＴａ12を計算する。切替部８７は、オフセット値θofsが設定されると、目標アシストトルクＴａ１を、Ｔａ11からＴａ12に切り替える。【選択図】  図４
2014004920.tif 000002
【特許請求の範囲】
【請求項１】
操舵ハンドルと車輪とを連結するステアリング機構に介在されたトーションバーの捩れ度合に基づいて、前記操舵ハンドルから前記ステアリング機構に入力された操舵トルクを検出するトルクセンサと、
前記トーションバーよりも前記車輪側となる前記ステアリング機構に連結されて操舵アシスト力を付与するモータと、
前記モータのステータとロータとの相対角度であるモータ回転角を検出するモータ回転角センサと、
前記トルクセンサの異常を検出する異常検出手段と、
前記トルクセンサの異常が検出されていない場合に、前記トルクセンサにより検出された操舵トルクに基づいて目標操舵アシスト制御量を設定する正常時制御量設定手段と、
前記トルクセンサの異常が検出されている場合に、前記操舵トルクとは異なる情報に基づいて目標操舵アシスト制御量を設定する異常時制御量設定手段と、
前記正常時制御量設定手段あるいは前記異常時制御量設定手段により設定された前記目標操舵アシスト制御量と前記モータ回転角に基づいて前記モータを駆動制御するモータ制御手段と
を備えた車両の電動パワーステアリング装置において、
前記異常時制御量設定手段は、
前記操舵ハンドルの絶対舵角を表す第１操舵角を取得する第１操舵角取得手段と、
前記第１操舵角が大きくなるに従って増加する目標操舵アシスト制御量を計算する第１異常時制御量計算手段と、
車両が直進走行していると判定されているときに、前記第１操舵角と、前記モータ回転角センサにより検出されたモータ回転角に対応する操舵角を表す第２操舵角との偏差に相当するオフセット値を取得するオフセット値取得手段と、
前記第１操舵角と前記第２操舵角と前記オフセット値とから推定される前記トーションバーの捩れ角度が大きくなるにしたがって増加する目標操舵アシスト制御量を計算する第２異常時制御量計算手段と
を備えたことを特徴とする車両の電動パワーステアリング装置。
【請求項２】
前記異常時制御量設定手段は、
前記オフセット値取得手段が前記オフセット値を取得できていないあいだは、前記第１異常時制御量計算手段の計算結果を使って目標操舵アシスト制御量を設定し、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第２異常時制御量設定手段の計算結果を使って目標操舵アシスト制御量を設定するように切り替える切替手段を備えたことを特徴とする請求項１記載の車両の電動パワーステアリング装置。
【請求項３】
前記異常時制御量設定手段は、
車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が少なくなるように前記オフセット値を補正するオフセット値補正手段を備えたことを特徴とする請求項２記載の車両の電動パワーステアリング装置。
【請求項４】
前記切替手段は、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第１異常時制御量計算手段の計算結果の重み付けを減らし、前記第２異常時制御量設定手段の計算結果の重み付けを増やしていくように、前記目標操舵アシスト制御量を前記第１異常時制御量計算手段の計算結果から前記第２異常時制御量設定手段の計算結果に徐々に切り替えることを特徴とする請求項２または３記載の車両の電動パワーステアリング装置。
【請求項５】
前記切替手段は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さい場合は大きい場合に比べて、前記目標操舵アシスト制御量を前記第１異常時制御量計算手段の計算結果から前記第２異常時制御量設定手段の計算結果に切り替える切替速度を速くすることを特徴とする請求項４記載の車両の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転者の操舵操作に基づいてモータを駆動して操舵アシストトルクを発生する車両の電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、電動パワーステアリング装置は、ドライバーが操舵ハンドルに入力した操舵トルクをトルクセンサにより検出し、検出した操舵トルクに基づいて目標アシストトルクを計算する。そして、目標アシストトルクが得られるようにモータに流す電流を制御することにより、ドライバーの操舵操作をアシストする。こうしたモータの通電制御をアシスト制御と呼ぶ。
【０００３】
トルクセンサが故障した場合には、目標アシストトルクの計算ができなくなり、アシスト制御を行うことができない。これに対してトルクセンサの故障時においても操舵アシストを行う電動パワーステアリング装置が特許文献１において提案されている。特許文献１に提案された電動パワーステアリング装置は、トルクセンサの故障が検出された場合、操舵ハンドルの操舵角を検出する操舵角センサと、タイヤの角度を検出するタイヤ角センサとから検出信号を入力し、検出された操舵角とタイヤの角度とから操舵トルクを推定する。具体的には、操舵角とタイヤの角度との偏差（トーションバーの捩れ角度）に、トルクセンサのトーションバーのバネ定数を乗算することにより操舵トルクを計算する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４３１５１号公報
【発明の概要】
【０００５】
しかしながら、特許文献１に提案された電動パワーステアリング装置では、タイヤ角センサという新たなセンサが必要であり構成が大掛かりになってしまう。また、特許文献１には、タイヤ角センサに代えてブラシレスモータに使用されるモータ回転角の検出値を使うことも記載されている。しかし、モータ回転角センサは、モータのステータとロータとの相対角度を検出するものであって、操舵角における原点とモータ回転角における原点とが一致しない。この場合、例えば、モータ回転角における原点と操舵角における原点との関係を算出すれば、その後は、モータ回転角とハンドル操舵角とを使ってトーションバーの捩れ角度を検出することができる。しかし、モータ回転角センサは、車両を起動したとき（イグニッションスイッチをオンしたとき）にリセットされてしまうため、その関係を利用できない。従って、車両の起動時からは操舵アシストを開始することができない。
【０００６】
本発明は、上記問題に対処するためになされたもので、トルクセンサの故障が検出されている場合に、車両の起動時から操舵アシストを開始できるようにすることを目的とする。
【０００７】
上記目的を達成するために、本発明の特徴は、操舵ハンドル（１１）と車輪（Ｗfl，Ｗfr）とを連結するステアリング機構（１０）に介在されたトーションバー（１２ｔ）の捩れ度合に基づいて、前記操舵ハンドルから前記ステアリング機構に入力された操舵トルクを検出するトルクセンサ（２１）と、前記トーションバーよりも前記車輪側となる前記ステアリング機構に連結されて操舵アシスト力を付与するモータ（２０）と、前記モータのステータとロータとの相対角度であるモータ回転角を検出するモータ回転角センサ（２３）と、前記トルクセンサの異常を検出する異常検出手段（７２）と、前記トルクセンサの異常が検出されていない場合に、前記トルクセンサにより検出された操舵トルクに基づいて目標操舵アシスト制御量（Ｔａ０）を設定する正常時制御量設定手段（７１）と、前記トルクセンサの異常が検出されている場合に、前記操舵トルクとは異なる情報に基づいて目標操舵アシスト制御量（Ｔａ１）を設定する異常時制御量設定手段（８０）と、前記正常時制御量設定手段あるいは前記異常時制御量設定手段により設定された前記目標操舵アシスト制御量と前記モータ回転角に基づいて前記モータを駆動制御するモータ制御手段（６０，４０）とを備えた車両の電動パワーステアリング装置において、
前記異常時制御量設定手段は、前記操舵ハンドルの絶対舵角を表す第１操舵角（θ１）を取得する第１操舵角取得手段（２２）と、前記第１操舵角が大きくなるに従って増加する目標操舵アシスト制御量（Ｔａ11）を計算する第１異常時制御量計算手段（８１）と、車両が直進走行していると判定されているときに、前記第１操舵角と、前記モータ回転角センサにより検出されたモータ回転角（θｍ）に対応する操舵角を表す第２操舵角（θ２）との偏差に相当するオフセット値（θofs）を取得するオフセット値取得手段（８４，８４１，８４２）と、前記第１操舵角と前記第２操舵角と前記オフセット値とから推定される前記トーションバーの捩れ角度が大きくなるにしたがって増加する目標操舵アシスト制御量（Ｔａ12）を計算する第２異常時制御量計算手段（８６）とを備えたことにある。
【０００８】
本発明においては、トルクセンサの異常が検出されている場合には、異常時制御量設定手段が操舵トルクとは異なる情報に基づいて目標操舵アシスト制御量を設定し、モータ制御手段が、この目標操舵アシスト制御量とモータ回転角に基づいてモータを駆動制御する。異常時制御量設定手段は、第１操舵角取得手段と第１異常時制御量計算手段とオフセット値取得手段と第２異常時制御量計算手段とを備えている。第１操舵角取得手段は、操舵ハンドルの絶対舵角を表す第１操舵角を取得する。第１異常時制御量計算手段は、第１操舵角が大きくなるに従って増加する目標操舵アシスト制御量を計算する。第１操舵角は、操舵ハンドルの回動可能範囲全域において車体に対する操舵ハンドルの回転位置を特定できる絶対舵角であるため、第１異常時制御量計算手段は、車両の起動時（電動パワーステアリング装置の起動時）から目標操舵アシスト制御量を計算することができる。従って、トルクセンサが故障した場合でも、車両の起動時から第１操舵角に基づいた操舵アシストを行うことができる。
【０００９】
第１操舵角に基づいた操舵アシストを行う場合には、ドライバーが入力した操舵トルクを推定していないため、摩擦係数の低い路面（低μ路面）を走行した場合でも過アシストにならないように、目標操舵アシスト制御量を小さく設定する必要がある。このため、通常摩擦路面の走行時においては、操舵アシストが不足してドライバーの負担が大きくなる。そこで、本発明においては、オフセット値取得手段と第２異常時制御量計算手段を備えている。
【００１０】
オフセット値取得手段は、車両が直進走行していると判定されているときに、第１操舵角と、モータ回転角センサにより検出されたモータ回転角に対応する操舵角を表す第２操舵角との偏差に相当するオフセット値を取得する。例えば、オフセット値取得手段は、車両の挙動（例えば、ヨーレート、横加速度、左右の車輪速差等）を表す情報を取得して車両の直進走行を判定する直進判定手段を備え、その判定結果を取得すればよい。
【００１１】
第２操舵角は、任意に設定したモータの回転角（回転位置）を原点として、その原点からの回転角を操舵角に換算したものとすればよい。モータは、トーションバーの車輪側となるステアリング機構に連結されているため、第２操舵角は、トーションバーの車輪側の回転角に対応したものとなる。
【００１２】
オフセット値は、車両が直進走行していると判定されているときの、第１操舵角と第２操舵角との偏差に相当するものであるため、トーションバーが捩れていないと想定される状態における第１操舵角と第２操舵角との偏差に相当する。従って、オフセット値が取得できた後は、例えば、第１操舵角と第２操舵角との偏差からオフセット値を減算することで、トーションバーの捩れ角度を推定することができる。
【００１３】
第２異常時制御量計算手段は、第１操舵角と第２操舵角とオフセット値とから推定されるトーションバーの捩れ角度が大きくなるにしたがって増加する目標操舵アシスト制御量を計算する。トーションバーの推定捩れ角度が大きいほどドライバーが操舵ハンドルに入力した操舵トルクが大きいと推定できる。従って、第２異常時制御量計算手段は、ドライバーが入力したと推定される操舵トルクが大きくなるにしたがって増加する目標操舵アシスト制御量を計算する。このため、第１異常時制御量計算手段に比べて大きな操舵アシストトルクを付与することができ、良好な操舵アシスト性能が得られる。
【００１４】
このように、本発明によれば、トルクセンサが故障した場合であっても、車両の起動時から操舵アシストを開始でき、また、良好な操舵アシストを行うことができる。尚、本明細書において、角度、制御量等の大きさを論じる場合は、左右の操舵方向を特定しない絶対値について述べている。
【００１５】
本発明の他の特徴は、前記異常時制御量設定手段は、前記オフセット値取得手段が前記オフセット値を取得できていないあいだは、前記第１異常時制御量計算手段の計算結果を使って目標操舵アシスト制御量を設定し、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第２異常時制御量設定手段の計算結果を使って目標操舵アシスト制御量を設定するように切り替える切替手段（８７，８７２）を備えたことにある。
【００１６】
本発明においては、切替手段が、最初に第１異常時制御量計算手段の計算結果を使って目標操舵アシスト制御量を設定し、オフセット値を取得できた後は第２異常時制御量設定手段の計算結果を使って目標操舵アシスト制御量を設定するように切り替える。このため、第１異常時制御量計算手段の計算結果を使って車両の起動時から操舵アシストを行い、適切なタイミングで、第２異常時制御量計算手段の計算結果を使った良好な操舵アシストに切り替えることができる。
【００１７】
本発明の他の特徴は、前記異常時制御量設定手段は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が少なくなるように前記オフセット値を補正するオフセット値補正手段（８４１，８４２）を備えたことにある。
【００１８】
例えば、操舵ハンドルの第１操舵角に誤差が含まれている場合、車両が直進走行していると判定されているときであっても、第１操舵角は中立点を示さない。このため、第１異常時制御量計算手段により計算された目標操舵アシスト制御量はゼロにはならず、モータが不適正なトルクを発生する。こうした場合、ドライバーは、車両の直進走行を保つために、モータの発生するトルクを相殺するように操舵ハンドルに力を加えているため、トーションバーは捩られた状態となっている。従って、この状態でオフセット値を設定すると、オフセット値が不適正なものとなる。
【００１９】
車両が直進走行していると判定されているときには、本来、モータが操舵トルクを発生していないこと、つまり、目標操舵アシスト制御量がゼロとなっていることが理想である。そこで、本発明においては、オフセット値補正手段が、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が少なくなるようにオフセット値を補正する。この場合、目標操舵アシスト制御量が大きいほど大きな補正量にてオフセット値を補正するとよい。例えば、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量で表されるモータの出力トルクをトーションバーの剛性で除算した値（トーションバーの推定捩れ角度に相当する）を、オフセット値を補正する補正量として使用するとよい。
【００２０】
従って、本発明によれば、適正なオフセット値を取得することができるため、さらに良好な操舵アシストを行うことができる。
【００２１】
本発明の他の特徴は、前記切替手段（８７２）は、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第１異常時制御量計算手段の計算結果（Ｔａ11）の重み付け（１−λ）を減らし、前記第２異常時制御量設定手段の計算結果（Ｔａ12）の重み付け（λ）を増やしていくように、前記目標操舵アシスト制御量を前記第１異常時制御量計算手段の計算結果から前記第２異常時制御量設定手段の計算結果に徐々に切り替えることにある。
【００２２】
オフセット値取得手段がオフセット値を取得できた後に、直ちに、第１異常時制御量計算手段の計算結果から第２異常時制御量設定手段の計算結果に切り替えてモータを駆動制御すると、オフセット値が不適正な値に設定されている場合には、運転操作への影響が大きくなるおそれがある。そこで、本発明においては、オフセット値を取得できた後は、第１異常時制御量計算手段の計算結果の重み付けを減らし、第２異常時制御量設定手段の計算結果の重み付けを増やしていくように、目標操舵アシスト制御量を第１異常時制御量計算手段の計算結果から第２異常時制御量設定手段の計算結果に徐々に切り替える。従って、計算手法の切替時における運転操作への影響を低減することができる。
【００２３】
本発明の他の特徴は、前記切替手段は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さい場合は大きい場合に比べて、前記目標操舵アシスト制御量を前記第１異常時制御量計算手段の計算結果から前記第２異常時制御量設定手段の計算結果に切り替える切替速度を速くする（Ｓ２８〜Ｓ２９）ことにある。
【００２４】
オフセット値の信頼性は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さいほど高いと推定することができる。また、オフセット値の信頼性が高い場合には、目標操舵アシスト制御量を第１異常時制御量計算手段の計算結果から第２異常時制御量設定手段の計算結果に早く切り替えても、運転操作への影響は少ない。また、第１異常時制御量計算手段よりも第２異常時制御量設定手段の計算結果を使ってモータを駆動制御した方が、良好な操舵アシスト性能が得られる。こうしたことから、本発明においては、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さい場合は大きい場合に比べて、目標操舵アシスト制御量を第１異常時制御量計算手段の計算結果から第２異常時制御量設定手段の計算結果に切り替える切替速度を速くする。これにより、本発明によれば、計算手法の切替による運転操作への影響を低減しつつ早いタイミングで良好な操舵アシスト性能が得られる。
【００２５】
尚、例えば、車両が直進走行していると判定される都度、オフセット補正手段が、そのときの目標操舵アシスト制御量が少なくなるようにオフセット値を補正し、切替手段が、第１異常時制御量計算手段の計算結果と第２異常時制御量設定手段の計算結果との重み付けを変更するようにしてもよい。
【００２６】
上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る車両の電動パワーステアリング装置の概略構成図である。
【図２】アシストＥＣＵの機能ブロック図である。
【図３】正常時アシストマップを表すグラフである。
【図４】異常時制御量計算部の機能ブロック図である。
【図５】第１異常時アシストマップを表すグラフである。
【図６】第２異常時アシストマップを表すグラフである。
【図７】アシスト制御ルーチンを表すフローチャートである。
【図８】変形例２にかかる異常時制御量計算部の機能ブロック図である。
【図９】変形例２にかかるオフセット値・計算値比率設定ルーチンを表すフローチャートである。
【図１０】変形例２にかかる比率増加量マップを表すグラフである。
【図１１】変形例２にかかる他の比率増加量マップを表すグラフである。
【図１２】変形例２にかかる計算値比率調整ルーチンを表すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態に係る車両の電動パワーステアリング装置について図面を用いて説明する。図１は、同実施形態に係る車両の電動パワーステアリング装置１の概略構成を表している。
【００２９】
この電動パワーステアリング装置１は、操舵ハンドル１１の操舵操作により転舵輪を転舵するステアリング機構１０と、ステアリング機構１０に組み付けられ操舵アシストトルクを発生するモータ２０と、操舵ハンドル１１の操作状態に応じてモータ２０の作動を制御する電子制御ユニット１００とを主要部として備えている。以下、電子制御ユニット１００をアシストＥＣＵ１００と呼ぶ。
【００３０】
ステアリング機構１０は、操舵ハンドル１１の回動操作に連動したステアリングシャフト１２の軸線周りの回転をラックアンドピニオン機構１３によりラックバー１４の左右方向のストローク運動に変換して、このラックバー１４のストローク運動により左前輪Ｗflと右前輪Ｗfrとを転舵するようになっている。ステアリングシャフト１２は、操舵ハンドル１１を上端に連結したメインシャフト１２ａと、ラックアンドピニオン機構１３と連結されるピニオンシャフト１２ｃと、メインシャフト１２ａとピニオンシャフト１２ｃとをユニバーサルジョイント１２ｄ，１２ｅを介して連結するインターミディエイトシャフト１２ｂとから構成される。
【００３１】
ラックバー１４は、ギヤ部１４ａがラックハウジング１５内に収納され、その左右両端がラックハウジング１５から露出してタイロッド１６と連結される。左右のタイロッド１６の他端は、左右前輪Ｗfl，Ｗfrに設けられたナックル（図示略）に接続される。以下、左前輪Ｗflと右前輪Ｗfrとを単に転舵輪Ｗと呼ぶ。
【００３２】
ステアリングシャフト１２（メインシャフト１２ａ）には減速機２５を介してモータ２０が組み付けられている。モータ２０は、例えば、三相ブラシレスモータが使用される。モータ２０は、ロータの回転により減速機２５を介してステアリングシャフト１２をその中心軸周りに回転駆動して、操舵ハンドル１１の回動操作に対してアシストトルクを付与する。
【００３３】
モータ２０には、モータ回転角センサ２３が設けられる。このモータ回転角センサ２３は、ステータに対するロータの相対角度であるモータ回転角θｍを表す検出信号を出力する。モータ回転角センサ２３は、例えば、レゾルバにより構成される。モータ回転角θｍは、モータ２０の位相を制御するために必要な電気角の検出に利用される。
【００３４】
ステアリングシャフト１２（メインシャフト１２ａ）には、操舵ハンドル１１と減速機２５との間にトルクセンサ２１が設けられている。トルクセンサ２１は、ステアリングシャフト１２（メインシャフト１２ａ）に介装されているトーションバー１２ｔに働いた捩り力を、操舵ハンドル１１に付与された操舵トルクＴｒとして検出する。従って、トルクセンサ２１は、トーションバー１２ｔの捩れ度合に応じた操舵トルクＴｒを検出するものであって、例えば、トーションバー１２ｔの捩れ角度に比例した磁束をホールＩＣに伝えることにより操舵トルクＴｒを検出するホールＩＣ式トルクセンサや、トーションバー１２ｔの両端にレゾルバを設け、この２つのレゾルバにより検出される回転角度の差に基づいて操舵トルクＴｒを検出するツインレゾルバ式トルクセンサなど種々のものを使用することができる。
【００３５】
尚、操舵トルクＴｒは、トルクの働く方向を符号により特定し、ステアリングシャフト１２に右回転方向に働くトルク（トーションバー１２ｔの上部が下部に対して相対的に右回転位置となる捩り状態でのトルク）を正の値で、左回転方向に働くトルク（トーションバー１２ｔの上部が下部に対して相対的に左回転位置となる捩り状態でのトルク）を負の値で表すことにする。また、操舵トルクＴｒの大きさについて論じる場合には、その絶対値を用いる。
【００３６】
ステアリングシャフト１２（メインシャフト１２ａ）には、操舵ハンドル１１とトーションバー１２ｔとの間に操舵角センサ２２が設けられている。操舵角センサ２２は、操舵ハンドル１１の操舵角θ１を検出するもので、予め決められている操舵ハンドル１１の中立位置（車両を直進させる回転位置）を原点とした絶対舵角を表す検出信号を出力する。操舵角センサ２２は、操舵ハンドル１１の回動可能範囲全域において、車体に対する操舵ハンドル１１の回転位置（絶対舵角）を特定できる信号を出力するものであればよく、例えば、ＭＲセンサなど種々の回転角センサを使用することができる。操舵角θ１は、中立位置をゼロ点として、操舵ハンドル１１の切られている方向を符号により特定し、右方向に操舵ハンドル１１が切られているときの角度を正の値で、左方向に操舵ハンドル１１が切られているときの角度を負の値で表すことにする。また、操舵角θ１の大きさについて論じる場合には、その絶対値を用いる。
【００３７】
以下、トーションバー１２ｔにおける操舵ハンドル１１側を入力側と呼び、トーションバー１２ｔにおける減速機２５側を出力側と呼ぶ。操舵角センサ２２は、トーションバー１２ｔの入力側の回転角度（絶対角度）を検出する。
【００３８】
トーションバー１２ｔの出力側は、減速機２５を介してモータ２０と連結されているため、トーションバー１２ｔの出力側の回転角度は、モータ２０のロータの回転角度と対応している。モータ回転角センサは、モータ２０の電気角を検出するためにステータに対するロータの相対的な回転角を検出するが、車輪が中立位置（直進方向）に向けられているときの（車輪の操舵角のゼロ点における）ステータに対するロータの相対角度を特定すれば、トーションバー１２ｔの出力側の中立位置に対する回転角度である操舵角の検出に利用することができる。この場合、ゼロ点からモータの回転した角度を積算（右回転はプラス、左回転はマイナス）し、その積算値を減速ギヤ比を使ってトーションバー１２ｔの回転角度に換算すればよい。
【００３９】
次に、アシストＥＣＵ１００について説明する。アシストＥＣＵ１００は、図２に示すように、モータ２０の目標制御量を演算し、演算された目標制御量に応じたスイッチ駆動信号を出力する電子制御回路５０と、電子制御回路５０から出力されたスイッチ駆動信号にしたがってモータ２０に通電するモータ駆動回路４０とを含んで構成される。
【００４０】
電子制御回路５０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等からなるマイクロコンピュータと、各種の入出力インタフェースと、モータ駆動回路４０にスイッチ駆動信号を供給するスイッチ駆動回路等を備えている。
【００４１】
電子制御回路５０は、その機能に着目すると、モータ２０の制御量である目標アシストトルクを計算するモータ制御量計算部７０と、目標アシストトルクがモータ２０に流れるようにスイッチ駆動信号をモータ駆動回路４０に出力するモータ制御部６０とを備えている。各機能部における処理は、マイコンにより、それぞれ所定の短い周期で繰り返し実行される。
【００４２】
モータ制御量計算部７０は、正常時制御量計算部７１と、異常時制御量計算部８０と、異常検出部７２と、制御切替部７３とを備えている。正常時制御量計算部７１は、異常検出部７２から出力される異常判定フラグＦfailを入力し、異常判定フラグＦfailが「０」である場合に、目標アシストトルクＴａ０を計算し、異常判定フラグＦfailが「１」である場合には、その計算処理を停止する演算ブロックである。異常時制御量計算部８０は、異常検出部７２から出力される異常判定フラグＦfailを入力し、異常判定フラグＦfailが「１」である場合に、目標アシストトルクＴａ１を計算し、異常判定フラグＦfailが「０」である場合には、その計算処理を停止する演算ブロックである。
【００４３】
異常検出部７２は、トルクセンサ２１の異常の有無を判定し、異常無しと判定している場合には、異常判定フラグＦfailを「０」に設定し、異常有りと判定している場合には、異常判定フラグＦfailを「１」に設定し、設定した異常判定フラグＦfailを正常時制御量計算部７１と異常時制御量計算部８０と制御切替部７３とに出力する。
【００４４】
制御切替部７３は、正常時制御量計算部７１により計算された目標アシストトルクＴａ０と異常時制御量計算部８０により計算された目標アシストトルクＴａ１とを入力して、異常判定フラグＦfailが「０」の場合には、目標アシストトルクＴａ０を選択し、異常判定フラグＦfailが「１」の場合には、目標アシストトルクＴａ１を選択する。そして、選択した目標アシストトルクＴａ０（またはＴａ１）を目標アシストトルクＴａ＊に設定して、目標アシストトルクＴａ＊をモータ制御部６０に出力する。
【００４５】
モータ制御量計算部７０の各機能部の詳細については後述する。
【００４６】
モータ制御部６０は、電流フィードバック制御部６１とＰＷＭ信号発生部６２とを備えている。電流フィードバック制御部６１は、制御切替部７３から出力された目標アシストトルクＴａ＊を入力し、目標アシストトルクＴａ＊をモータ２０のトルク定数で除算することにより、目標アシストトルクＴａ＊を発生させるために必要な目標電流ｉ＊を計算する。そして、モータ駆動回路４０に設けられた電流センサ４１により検出されるモータ電流ｉｍ（実電流ｉｍと呼ぶ）を読み込み、目標電流ｉ＊と実電流ｉｍとの偏差を計算し、この偏差を使った比例積分制御により実電流ｉｍが目標電流ｉ＊に追従するように目標電圧ｖ＊を計算する。そして、目標電圧ｖ＊に対応したＰＷＭ制御信号（スイッチ駆動信号）をモータ駆動回路（インバータ）４０のスイッチング素子に出力する。これにより、モータ２０が駆動され、目標アシストトルクＴａ＊に追従したアシストトルクがステアリング機構１０に付与される。
【００４７】
尚、電流フィードバック制御部６１は、モータ２０に設けたモータ回転角センサ２３により検出されるモータ回転角θｍを入力し、このモータ回転角θｍを電気角に変換して、電気角に基づいて目標電流の位相角を制御する。この場合、モータ回転角センサ２３が検出するモータ回転角θｍが電気角を表すものであれば、その検出値を用いればよい。
【００４８】
例えば、電流フィードバック制御部６１は、モータ回転角センサ２３により検出された電気角に基づいて、三相ブラシレスモータ２０の永久磁石の磁界が貫く方向となるｄ軸と、ｄ軸に直交する方向（ｄ軸からπ／２だけ電気角を進めた方向）となるｑ軸とを定めたｄ−ｑ座標を用いた電流ベクトル制御によりモータ２０を駆動制御する。
【００４９】
次に、モータ制御量計算部７０の各機能部について詳細説明する。正常時制御量計算部７１は、車速センサ２４により検出される車速Ｖと、トルクセンサ２１により検出される操舵トルクＴｒとを入力して、図３に示す正常時アシストマップを参照して目標アシストトルクＴａ０を計算する。正常時アシストマップは、正常時制御量計算部７１に記憶されており、代表的な複数の車速Ｖごとに、操舵トルクＴｒと目標アシストトルクＴａ０との関係を設定した関係付けデータであり、操舵トルクＴｒの大きさ（絶対値）が大きくなるほど大きくなり、かつ、車速Ｖが大きくなるほど小さくなる目標アシストトルクＴａ０を設定する特性を有する。
【００５０】
尚、目標アシストトルクＴａ０の計算にあたっては、各種の補償トルクを目標アシストトルクＴａ０に付加するようにしてもよい。例えば、ステアリング機構１０における摩擦力分を補償する摩擦補償トルクを付加してもよい。また、摩擦分に加えて粘性分を補償する摩擦粘性補償トルクを付加するようにしてもよい。また、車速Ｖに応じて目標アシストトルクＴａ０を可変しない構成であってもよい。
【００５１】
正常時制御量計算部７１は、異常検出部７２から出力される異常判定フラグＦfailが「０」である場合に、こうした計算処理を所定の短い周期で繰り返し実行し、計算結果である目標アシストトルクＴａ０を制御切替部７３に出力する。
【００５２】
異常検出部７２は、トルクセンサ２１の異常の有無を判定する。例えば、トルクセンサ２１が異常検出機能を備えている場合には、トルクセンサ２１の出力する異常検出信号を入力して、異常の有無を判定すればよい。また、トルクセンサ２１の出力する検出信号に基づいて、検出信号の示す値（電圧値等）が正常範囲から外れている場合に、トルクセンサ２１に異常が発生していると判定するようにしてもよい。また、例えば、レゾルバのように出力電圧が正弦波状に周期的に変化する回転角センサを使用したトルクセンサ２１の場合には、その出力電圧が一定値に固定されている場合に、断線や短絡といった異常が発生していると判定するようにしてもよい。
【００５３】
異常検出部７２は、上記のようにトルクセンサ２１の異常の有無を判定し、異常判定結果にしたがって、異常判定フラグＦfailを「１」（異常あり）または「０」（異常なし）に設定する。
【００５４】
次に、異常時制御量計算部８０について説明する。上述した正常時制御量計算部７１は、操舵トルクＴｒに基づいて目標アシストトルクＴａ０を計算するが、トルクセンサ２１が故障した場合には、目標アシストトルクＴａ０を計算することができない。そこで、異常時制御量計算部８０は、トルクセンサ２１の異常が検出された場合に、正常時制御量計算部７１に代わって、目標アシストトルクＴａ１を計算する。
【００５５】
異常時制御量計算部８０は、図４に示すように、第１アシストトルク計算部８１と、舵角換算部８２と、差分計算部８３と、オフセット値計算部８４と、捩れ角度計算部８５と、第２アシストトルク計算部８６と、切替部８７とを備えている。各機能部における処理は、マイコンにより、それぞれ所定の短い周期で繰り返し実行される。
【００５６】
第１アシストトルク計算部８１は、操舵角センサ２２により検出される操舵角θ１を入力し、操舵角θ１に基づいた第１目標アシストトルクＴａ11を計算する。尚、異常時制御量計算部８０は、トーションバー１２ｔの入力側の角度と出力側の角度とを使って目標アシストトルクＴａ１を計算するため、以下、トーションバー１２ｔの入力側の角度である操舵角θ１を第１操舵角θ１と呼び、トーションバー１２ｔの出力側の角度を第２操舵角θ２と呼ぶ。
【００５７】
第１アシストトルク計算部８１は、第１操舵角θ１に基づいて、図５に示す第１異常時アシストマップを参照して、第１目標アシストトルクＴａ11を計算する。第１異常時アシストマップは、第１アシストトルク計算部８１に記憶されており、第１操舵角θ１と第１目標アシストトルクＴａ11の関係を設定した関係付けデータであり、第１操舵角θ１の大きさ（絶対値）が大きくなるほど大きくなる第１目標アシストトルクＴａ11を設定する特性を有する。第１アシストトルク計算部８１は、算出した第１目標アシストトルクＴａ11を切替部８７に出力する。尚、第１異常時アシストマップは、正常時アシストマップのように、車速Ｖを加味して、車速Ｖが大きくなるほど第１目標アシストトルクＴａ11が小さくなるような車速感応特性を有するようにしてもよい。
【００５８】
舵角換算部８２は、モータ回転角センサ２３により検出されるモータ回転角θｍを入力し、モータ回転角θｍをトーションバー１２ｔの出力側の角度（回転位置）である第２操舵角θ２に換算する。車両のイグニッションスイッチがオンしたときには、モータ回転角センサ２３がリセットされる。従って、舵角換算部８２は、リセット時におけるモータ回転角θｍをゼロ点とした第２操舵角θ２を計算する。この場合、リセット時においては、転舵輪Ｗが中立位置を向いているとは限らないため、第２操舵角θ２は、中立位置からの角度を表すものではなく、あくまでも、車両の起動時（イグニッションスイッチのオン）におけるトーションバー１２ｔの出力側の回転位置をゼロ点とした操舵角を表す。モータ２０は、減速機２５を介してトーションバー１２ｔの出力側に連結されているため、トーションバー１２ｔの１回転に対してＮ（＞１）回転する。従って、第２操舵角θ２の計算にあたっては、ゼロ点からモータ２０の回転した角度を積算（右回転はプラス、左回転はマイナス）し、その積算値に換算係数（１／Ｎ）を乗算することによりトーションバー１２ｔの回転角度を算出すればよい。舵角換算部８２は、算出した第２操舵角θ２を差分計算部８３に出力する。尚、本実施形態においては、リセット時におけるモータ回転角θｍをゼロ点とした第２操舵角θ２を計算するが、モータ回転角θｍのゼロ点は任意に設定することができる。
【００５９】
差分計算部８３は、トーションバー１２ｔの入力側の角度である第１操舵角θ１と、舵角換算部８２により算出された第２操舵角θ２との差分値（θ１−θ２）を計算し、その計算結果をオフセット値計算部８４と捩れ角度計算部８５とに出力する。
【００６０】
オフセット値計算部８４は、車両が直進走行中であるか否かを判断し、直進走行中であると判定したときの差分値（θ１−θ２）をオフセット値θofsに設定する。例えば、オフセット値計算部８４は、車輪速センサ２６により検出された左前輪車輪速Ｖfl，右前輪車輪速Ｖfr，左後輪車輪速Ｖrl，右後輪車輪速Ｖrrを読み込み、左右の車輪速差が直進走行判定用閾値以下となっている状態が一定時間継続したときに車両が直進走行していると判定する。左右の車輪速差は、前輪のみの車輪速差を用いてもよいし、後輪のみの車輪速差を用いてもよいし、前後輪の平均値の車輪速差を用いてもよく、公知の手法により算出することができる。また、車両の直進走行を判定する直進走行判定手段としては、車輪速センサ２６に代えて、ヨーレートセンサや横加速度センサの検出信号を入力し、車両のヨーレートや横加速度で表される車両の旋回量が、直進走行判定用閾値以下となっている状態が一定時間継続したときに車両が直進走行していると判定するようにしてもよい。また、操舵角センサ２２の検出する操舵角（絶対舵角）の精度が十分に高い場合には、第１操舵角θ１がゼロ（実質ゼロ）のときに車両が直進走行していると判定するようにしてもよい。
【００６１】
オフセット値計算部８４は、車両が直進走行をしていると判定したときに、次式（１）に示すように、差分計算部８３から出力されている差分値（θ１−θ２）をオフセット値θofsに設定する。
θofs＝θ１−θ２        ・・・（１）
この場合、例えば、車両が直進走行していると判定されている一定期間における差分値（θ１−θ２）の平均値を計算して、その平均値をオフセット値θofsに設定するとよい。オフセット値計算部８４は、設定したオフセット値θofsを記憶すると、オフセット値θofsを捩れ角度計算部８５に出力する。また、オフセット値計算部８４は、オフセット値有効フラグＦofsを切替部８７に出力しており、オフセット値θofsの設定が完了すると、オフセット値有効フラグＦofsを「０」から「１」に切り替える。オフセット値有効フラグＦofsは、「０」によりオフセット値θofsが未設定（無効）であること表し、「１」によりオフセット値θofsが設定済み（有効）であることを表す。
【００６２】
車両の直進走行時においては、ドライバーが操舵ハンドル１１に操舵回動力を付与していない状態であるため、トーションバー１２ｔは捩れていない。従って、第２操舵角θ２にオフセット値θofsを加算した値が、車両が直進走行している状態をゼロ点とした操舵角（トーションバー１２ｔの出力側の操舵角）を表す。
【００６３】
捩れ角度計算部８５は、差分計算部８３から出力された差分値（θ１−θ２）からオフセット値θofsを減算することにより、トーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）を計算し、その計算結果を第２アシストトルク計算部８６に出力する。
【００６４】
第２アシストトルク計算部８６は、次式（２）に示すように、推定捩れ角度（θ１−θ２−θofs）にトーションバー１２ｔの剛性Ｋtbを乗算することにより、ドライバーが操舵ハンドル１１に入力した操舵トルクの推定値（推定操舵トルクＴｒ’と呼ぶ）を計算する。
Ｔｒ’＝Ｋtb・（θ１−θ２−θofs）        ・・・（２）
そして、第２アシストトルク計算部８６は、図６に示す第２異常時アシストマップを参照して、第２目標アシストトルクＴａ12を計算する。第２異常時アシストマップは、第２アシストトルク計算部８６に記憶されており、推定操舵トルクＴｒ’と第２目標アシストトルクＴａ12の関係を設定した関係付けデータであり、推定操舵トルクＴｒ’の大きさ（絶対値）が大きくなるほど大きくなる第２目標アシストトルクＴａ12を設定する特性を有する。第２アシストトルク計算部８６は、算出した第２目標アシストトルクＴａ12を切替部８７に出力する。尚、第２異常時アシストマップは、正常時アシストマップのように、車速Ｖを加味して、車速Ｖが大きくなるほど第２目標アシストトルクＴａ12が小さくなるような車速感応特性を有するようにしてもよい。
【００６５】
切替部８７は、第１アシストトルク計算部８１により計算された第１目標アシストトルクＴａ11と第２アシストトルク計算部８６により計算された第２目標アシストトルクＴａ12とを入力して、オフセット値有効フラグＦofsが「０」の場合には、第１目標アシストトルクＴａ11を選択し、オフセット値有効フラグＦofsが「１」の場合には、第２目標アシストトルクＴａ12を選択する。そして、選択した目標アシストトルクＴａ11（またはＴａ12）を目標アシストトルクＴａ１に設定して、目標アシストトルクＴａ１を制御切替部７３に出力する。
【００６６】
以下、第１アシストトルク計算部８１が第１操舵角θ１を使って第１目標アシストトルクＴａ11を計算する制御モードを第１モードと呼び、第２アシストトルク計算部８６がトーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）を使って第２目標アシストトルクＴａ12を計算する制御モードを第２モードと呼ぶ。
【００６７】
次に、アシストＥＣＵ１００の全体的な処理の流れについて説明する。図７は、アシストＥＣＵ１００の実行するアシスト制御ルーチンを表す。本ルーチンは、イグニッションスイッチがオンして所定の初期診断が完了すると起動する。本ルーチンが起動すると、アシストＥＣＵ１００は、ステップＳ１１において、トルクセンサ２１が正常であるか否かを判断し、正常であれば、ステップＳ１２において、正常時アシスト制御を開始する。つまり、正常時制御量計算部７１により計算される目標アシストトルクＴａ０に基づく操舵アシストを開始する。この場合、アシストＥＣＵ１００は、ステップＳ１３において、イグニッションスイッチがオフされたか否かを判断し、イグニッションスイッチのオフが検出されるまで正常時アシスト制御を継続する。
【００６８】
一方、トルクセンサ２１が異常であると判定された場合（Ｓ１１：Ｎｏ）には、ステップＳ１４において、操舵角センサ２２が正常であるか否かを判断する。操舵角θ１を表す情報は、ＣＡＮ（Controller  Area  Network）通信ラインに送信され、各種の車両ＥＣＵにおいて使用される。ＣＡＮ通信ラインには、操舵角センサ２２を含む各種センサの異常判定データも送信されるため、このステップＳ１４においては、操舵角センサ２２の異常判定データを読み込むことにより判定する。操舵角センサ２２が異常である場合は、第１操舵角θ１が適正値を示さないため異常時制御量計算部８０で目標アシストトルクＴａ１を計算することができない。このため、アシストＥＣＵ１００は、その処理をステップＳ１３に進める。従って、操舵アシストは行われない。
【００６９】
操舵角センサ２２が正常である場合には（Ｓ１４：Ｙｅｓ）、アシストＥＣＵ１００は、ステップＳ１５において、第１アシストトルク計算部８１により計算される第１目標アシストトルクＴａ11にしたがって操舵アシストを開始する。つまり、第１モードにより、操舵角センサ２２により検出される第１操舵角θ１（絶対舵角）の大きさに比例した大きさの操舵アシストを開始する。
【００７０】
続いて、アシストＥＣＵ１００は、ステップＳ１６において、モータ回転角センサ２３が正常であるか否かを判断する。例えば、モータ回転角センサ２３の検出信号の値が正常範囲から外れていること、本来発生すべき周期的な変動信号が得られていないこと、検出信号が一定値に固定されていること等を検出することにより判断する。モータ回転角センサ２３が異常である場合には、モータ２０を駆動制御することができない。このため、アシストＥＣＵ１００は、その処理をステップＳ１３に進める。従って、操舵アシストは行われない。
【００７１】
モータ回転角センサ２３が正常である場合には（Ｓ１６：Ｙｅｓ）、アシストＥＣＵ１００は、ステップＳ１７において、オフセット値θofsの計算を開始する。この場合、オフセット値計算部８４は、車両の直進走行の判定を開始し、直進走行が検出されるまで待ってから、その時の差分値（θ１−θ２）をオフセット値θofsに設定する。
【００７２】
アシストＥＣＵ１００は、続いて、ステップＳ１８において、オフセット値θofsの計算が完了するまで待ち、オフセット値θofsの計算が完了すると、ステップＳ１９において、第２アシストトルク計算部８６により計算される第２目標アシストトルクＴａ12にしたがって操舵アシストを開始する。つまり、第２モードにより、トーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）から設定した操舵トルクＴｒ’に応じた大きさの操舵アシストを開始する。アシストＥＣＵ１００は、第２モードによる操舵アシストを開始すると、その処理をステップＳ１３に進める。従って、イグニッションスイッチがオフするまで、第２モードによる操舵アシストが継続される。
【００７３】
ここで、異常時制御量計算部８０が目標アシストトルクＴａ１を計算するにあたって、第１モードと第２モードとを切り替える理由について説明する。第１モードは、絶対舵角である第１操舵角θ１に比例した大きさの目標アシストトルクＴａ11を計算するものであるため、車両の起動時（イグニッションスイッチの投入時）から実施することができる。しかし、その反面、ドライバーが入力した操舵トルクを推定していないため、低摩擦路面でタイヤがスリップしないように、操舵アシスト量（目標アシストトルクＴａ11）を予め小さく設定しておく必要がある。このため、通常摩擦路面においては、操舵アシストが小さくなりドライバーの負担が大きくなる。
【００７４】
一方、第２モードは、トーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）から推定操舵トルクＴｒ’を算出するため、第１モードに比べて大きな操舵アシストトルクを付与することができ、操舵アシスト性能としては第１モードに比べて優れている。しかし、第２モードにおいては、トーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）を算出する必要があるが、車両の起動時から推定捩れ角度（θ１−θ２−θofs）を算出することができない。上述したように、車両の起動時には、モータ回転角センサ２３がリセットされる。このため、車両起動時（アシストＥＣＵ１００の起動時）のトーションバー１２ｔの出力側の角度が第２操舵角θ２のゼロ点としてリセットされる。このため、車輪Ｗが転舵された状態で車両が起動した場合には、操舵ハンドル１１の絶対舵角を表す第１操舵角θ１と、第２操舵角θ２とのゼロ点が一致しない。仮に、車両起動時における第２操舵角θ２を第１操舵角θ２と等しいとみなしてリセットしたとしても、ドライバーが操舵ハンドル１１に力を掛けた状態（回動操作力を入力した状態）で車両が起動した場合には、トーションバー１２ｔの捩れ分だけ、ゼロ点がずれてしまう。
【００７５】
このようなことから、本実施形態においては、車両が直進走行しているときには、トーションバー１２ｔに捩りトルクが発生していないと考え、直進走行中における第１操舵角θ１と第２操舵角θ２との差分値（θ１−θ２）をオフセット値θofsに設定して、オフセット値θofsを使ってトーションバー１２ｔの推定捩れ角度（θ１−θ２−θofs）を算出する。
【００７６】
このことから、異常時制御量計算部８０は、車両起動時は第１モードにて操舵アシストを行い、オフセット値θofsを計算できた後に第２モードによる操舵アシストに切り替える。
【００７７】
以上説明した本実施形態の電動パワーステアリング装置によれば、トルクセンサ２１の異常が検出されている場合に、車両の起動時（アシストＥＣＵ１００の起動時）から操舵アシストを開始することができる。また、第１モードによる操舵アシストを開始し、オフセット値θofsを算出した後には第２モードによる操舵アシストに切り替えるため、更に、ハンドル操作の軽い良好な操舵アシストを行うことができる。
【００７８】
＜変形例１＞
次に、上記実施形態における変形例について説明する。上述した実施形態においては、操舵角センサ２２により検出される第１操舵角θ１が正確であるものとしている。しかし、操舵角センサ２２により検出される第１操舵角θ１に誤差があると、第１モードにおいては、第１操舵角θに比例した操舵アシストが出力されるため、直進走行中であっても、第１操舵角θ１の誤差分だけ、左右どちらかにモータ２０から不正トルクが発生してしまう。このとき、ドライバーは、車両の直進走行を保つために、不正トルクを相殺するように操舵ハンドル１１に力を加えていることになる。このため、トーションバー１２ｔが捩られた状態で、オフセット値計算部８４がオフセット値θofsを計算して記憶してしまう。オフセット値θofsが記憶されると、第１モードから第２モードに移行するが、第２モードでは、第１モードよりも大きな操舵アシストトルクを出力するため、運転操作への影響が大きくなる。
【００７９】
例えば、第１モードでの不正トルクが３Ｎｍであった場合、直進走行するためにはドライバーの手入力による３Ｎｍの相殺トルクが必要となる。この状態でオフセット値θofsが記憶されると、トーションバー１２ｔの捩れ角で３Ｎｍ分だけオフセット値θofsに誤差が生じる。従って、そのまま第１モードから第２モードに移行すると、手放しの状態でも、「３Ｎｍ×アシスト倍率」という不正トルクが出力されることになる。
【００８０】
操舵角センサ２２により検出される第１操舵角θ１の誤差を小さくするのは実際には限界があり、完全に誤差をゼロにすることは難しい。そこで、この変形例１においては、第１操舵角θ１の誤差により不正トルクが発生した状態で車両の直進条件が成立した場合には、不正トルク分だけトーションバー１２ｔの捩れ角を補正してオフセット値θofsを計算する。車両直進中における不正トルクをＴｘ、トーションバー１２ｔの剛性をＫtbとすると、オフセット値θofsは、次式（３）により計算することができる。
θofs＝θ１−θ２＋（Ｔｘ／Ｋtb）        ・・・（３）
従って、（Ｔｘ／Ｋtb）がオフセット値の補正量となる。
【００８１】
変形例１における異常時制御量計算部８０は、先の実施形態のオフセット値計算部８４に代えてオフセット値計算部８４１（図４に括弧で符号を付す）を備え、このオフセット値計算部８４１が上記式（３）を使ってオフセット値θofsを計算する。他の構成については、上述の実施形態と同様である。この場合、オフセット値計算部８４１は、図４に破線矢印にて示すように、目標アシストトルクＴａ１を入力し、車両の直進条件が成立したときの目標アシストトルクＴａ１（＝Ｔａ11）を不正トルクＴｘとして使って、補正されたオフセット値θofsを計算する。
【００８２】
例えば、第１操舵角θ１の中点（ゼロ点）が本来の位置から右（プラス）にずれている場合を考える。この場合、第１アシストトルク計算部８１は、車両の直進走行中でも左に操作されていると認識するため、左方向に不正トルク（例えば、−３Ｎｍ）を発生させる。この不正トルクを相殺するようにドライバーが操舵ハンドル１１を右方向にわずかに切ることにより直進走行が保たれる。従って、オフセット値計算部８４１は、トーションバー１２ｔの入力側が３Ｎｍだけ捩られた状態で車両の直進条件が成立したと判定する。この場合、トーションバー１２ｔの剛性Ｋtbが１．５Ｎｍ／deg（既知）であるとすると、トーションバー１２ｔの捩れていた角度は２degとなる。このとき、差分計算部８３により計算された第１操舵角θ１と第２操舵角θ２との差分値（θ１−θ２）が＋１５degであったとすると、オフセット値計算部８４１により設定されるオフセット値θofsは、＋１３degとなる。
【００８３】
以上説明した変形例１においては、操舵角センサ２２の検出する第１操舵角θ１に誤差が存在していても、車両の直進走行時における不正トルクＴｘ（目標操舵アシスト制御量）が小さくなるようにオフセット値θofsを補正する、つまり、不正トルクＴｘが大きいほど大きな補正量（Ｔｘ／Ｋtb）でオフセット値θofsを補正するため、適正なオフセット値θofsを設定することができる。これにより、トーションバー１２ｔの捩れ角の推定精度が高まり、運転操作に与える左右のアンバランス感を低減することができる。この結果、良好な操舵アシストを行うことができ、ドライバーの負担を軽減することができる。尚、上記変形例においては、第１モードから第２モードに移行する前に、補正したオフセット値θofsを計算しているが、これに代えて、例えば、第２モードに移行した後に、車両の直進走行時における不正トルクＴｘ（この場合、Ｔａ12）に基づいて、オフセット値θofsを補正するようにしてもよい。
【００８４】
＜変形例２＞
オフセット値θofsを補正しても、ステアリング機構１０に内在する摩擦や、路面の凹凸等による外部要因などによって、必ずしも正確なオフセット値θofsを取得できるとは限らない。このため、オフセット値θofsの取得後に、直ちに第１モードから第２モードに切り替えると、オフセット値θofsの誤差による運転操作への影響が懸念される。従って、第１モードから第２モードへの切り替えは徐々に行った方がよい。
【００８５】
例えば、オフセット値θofsを取得した直後においては、第２アシストトルク計算部８６により計算される第２目標アシストトルクＴａ12のＡ％と、第１アシストトルク計算部８１により計算される第１目標アシストトルクＴａ11の（１００−Ａ）％との合計を、目標アシストトルクＴａ１に設定し、その後、比率Ａを初期値（＜１００％）から１００％にまで増加させるようにすれば、第１モードから第２モードへの切り替えを徐々に行うことができる。この場合、比率Ａを細かく切り替えるほど、スムーズにモード移行することができる。
【００８６】
その場合でも、モード切換時における運転操作への影響を低減することができるが、この変形例２においては、更に、オフセット値θofsの信頼性に応じて、第１モードから第２モードへの切り替え速度を可変する。上述したように、第１モードによる操舵アシストよりも、第２モードによる操舵アシストのほうが性能面において優れている。従って、一律に第１モードから第２モードへの切り替えをゆっくり行ってしまうと、正確なオフセット値θofsが設定されている場合であっても、第２モードへの移行が遅れることになりドライバーの操舵負担の大きな期間が長くなってしまう。そこで、この変形例２においては、オフセット値θofsの信頼性が高いほどモード切替速度を速くし、オフセット値θofsの信頼性が低いほどモード切替速度を遅くする。また、モード切替中（過渡期）においては、オフセット値θofsを再計算して更新することによりオフセット値θofsの信頼性を高める。
【００８７】
オフセット値θofsの信頼性は、オフセット値θofsを取得したとき、つまり、車両の直進条件が成立したときの不正トルクＴｘの大きさ（絶対値）で推定することができ、不正トルクＴｘの大きさが小さいほど信頼性が高いと考えることができる。
【００８８】
図８は、変形例２にかかる異常時制御量計算部８０の構成を表す機能ブロック図である。この異常時制御量計算部８０は、上述した実施形態の異常時制御量計算部８０のオフセット値計算部８４、切替部８７に代えて、オフセット値計算部８４２、切替部８７２を備えたもので、他の構成については、実施形態と同一である。以下、オフセット値計算部８４２、切替部８７２について説明する。
【００８９】
図９は、オフセット値計算部８４２が実行するオフセット値・計算値比率設定ルーチンを表す。このオフセット値・計算値比率設定ルーチンは、異常判定フラグＦfailが「１」になると起動する。本ルーチンが起動すると、オフセット値計算部８４２は、ステップＳ２１において、車両の直進判定を行う。この判定は、上述したように、車輪速センサ２６により検出される左右輪の車輪速差、あるいは、ヨーレートや横加速度で表される車両の旋回量に基づいて、一定時間の直進走行が検出されたときに、直進判定条件を成立させるようにすればよい。
【００９０】
続いて、オフセット値計算部８４２は、ステップＳ２２において、直進判定条件が成立したか否かを判断する。直進走行の判定条件は、一定時間の継続した直進走行の検出が必要とされるため、本ルーチンの起動直後においては、「Ｎｏ」と判定される。この場合、オフセット値計算部８４２は、ステップＳ２３において、直進判定フラグＦｓをゼロ（Ｆｓ＝０）に設定する。この直進判定フラグＦｓは、車両が直進走行していると判定されたときに「１」に設定され、車両が直進走行していると判定されなかったときに「０」に設定されるフラグである。
【００９１】
オフセット値計算部８４２は、直進判定条件が成立するまで、こうした処理を繰り返す。そして、車両が直進走行していると判定されると（Ｓ２２：Ｙｅｓ）、ステップＳ２４において、直進判定フラグＦｓがゼロ（Ｆｓ＝０）であるか否かを判定する。この場合、直進判定フラグＦｓはゼロに設定されているため、つまり、直前まで直進走行していないと判定されていたため、ステップＳ２４においては、「Ｙｅｓ」と判定され、オフセット値計算部８４２は、その処理をステップＳ２５に進める。
【００９２】
オフセット値計算部８４２は、ステップＳ２５において、直進判定フラグＦｓを「１」に設定する。続いて、ステップＳ２６において、不正トルクＴｘを検出する。この不正トルクＴｘは、現時点（直進判定条件成立時）における目標アシストトルクＴａ１である。従って、このステップＳ２５では、切替部８７２の出力する目標アシストトルクＴａ１が読み込まれる。続いて、オフセット値計算部８４２は、ステップＳ２７において、上記式（３）を使ってオフセット値θofsを計算し、計算したオフセット値θofsを捩れ角度計算部８５に出力する。
【００９３】
続いて、オフセット値計算部８４２は、ステップＳ２８において、不正トルクＴｘに基づいて比率増加量Δλを算出する。オフセット値計算部８４２は、図１０に示すような比率増加量マップを記憶している。比率増加量マップは、不正トルクＴｘの絶対値｜Ｔｘ｜が大きいほど小さくなる比率増加量Δλを設定する特性を有している。オフセット値計算部８４２は、この比率増加量マップを参照して、不正トルクＴｘに応じた比率増加量Δλを算出する。尚、比率増加量マップは、不正トルク｜Ｔｘ｜の増加に対して比率増加量Δλが減少していく特性であればよく、例えば、図１１に示すように曲線状に減少する特性であってもよい。また、比率増加量Δλは、その最大値が１よりも小さな正の値に設定されている。
【００９４】
続いて、オフセット値計算部８４２は、ステップＳ２９において、比率増加量Δλを積算した計算値比率λを算出する。計算値比率λは、切替部８７２が第１目標アシストトルクＴａ11と第２目標アシストトルクＴａ12とを組み合わせて目標アシストトルクＴａ１を計算するときに、両者の比率（重み付け）を設定するもので、第２目標アシストトルクＴａ12の使用比率を表す。計算値比率λの初期値はゼロ（λ＝０）に設定されている。従って、ステップＳ２９の処理が最初に行われるときには、計算値比率λは、比率増加量Δλと等しい値となる。
【００９５】
オフセット値計算部８４２は、ステップＳ３０において、計算値比率λが値１以上であるか否かを判断する。この段階では、まだ計算値比率λは１以上になっていないため、オフセット値計算部８４２は、「Ｎｏ」と判定して、ステップＳ３１において、計算値比率λを切替部８７２に出力する。切替部８７２は、この計算値比率λを使って目標アシストトルクＴａ１を計算する。この計算処理については後述する。
【００９６】
オフセット値計算部８４２は、計算値比率λを出力すると、その処理をステップＳ２１に戻す。この場合、直進判定フラグＦｓが「１」に設定されているため、直進走行している間は、ステップＳ２４の判定が「Ｎｏ」となって、その処理がステップＳ２１に戻される。そして、車両が旋回等をして直進していないと判定されるとステップＳ２３において直進判定フラグＦｓが「０」に設定される。これにより、その後、車両の直進走行が検出されると、ステップＳ２５以降の処理が行われる。
【００９７】
オフセット値計算部８４２は、こうした処理を繰り返すことにより、車両の直進走行が検出される度に、オフセット値θofsの計算（Ｓ２６〜Ｓ２７）と計算値比率λの計算（Ｓ２８〜Ｓ２９）を行う。そして、オフセット値θofsを捩れ角度計算部８５に出力し、計算値比率λを切替部８７２に出力する。これにより、車両の直進走行が検出される度に、オフセット値θofsが更新される。また、計算値比率λが、比率増加量Δλずつ増加していく。
【００９８】
計算値比率λが増加して１以上になると（Ｓ３０：Ｙｅｓ）、オフセット値計算部８４２は、ステップＳ３２において、計算値比率λを１（λ＝１）に設定し、ステップＳ３３において、計算値比率λ（＝１）を切替部８７２に出力して本ルーチンを終了する。
【００９９】
次に、切替部８７２の処理について説明する。図１２は、切替部８７２が実行する計算値比率調整ルーチンを表す。この計算値比率調整ルーチンは、異常判定フラグＦfailが「１」になると起動する。本ルーチンが起動すると、切替部８７２は、ステップＳ４１において、計算値比率λを初期値であるゼロに設定する（λ＝０）。続いて、ステップＳ４２において、次式（４）にしたがって目標アシストトルクＴａ１を計算する。この目標アシストトルクＴａ１は、異常時制御量計算部８０の最終的な出力値となる。
Ｔａ１＝（１−λ）Ｔａ11＋λ・Ｔａ12        ・・・（４）
【０１００】
この式（４）から分かるように、目標アシストトルクＴａ１は、第１アシストトルク計算部８１で計算された第１目標アシストトルクＴａ11と、第２アシストトルク計算部８６で計算された第２目標アシストトルクＴａ12とを、計算値比率λで設定された配分で足し合わせて計算される。従って、（１−λ）が第１目標アシストトルクＴａ11の重み付け係数となり、λが第２目標アシストトルクＴａ12の重み付け係数となる。本ルーチンの起動時においては、計算値比率λの初期値がゼロであるため、目標アシストトルクＴａ１は、第１目標アシストトルクＴａ11に設定される（Ｔａ１＝Ｔａ11）。
【０１０１】
続いて、切替部８７２は、ステップＳ４３において、計算値比率λを入力したか否かを判断する。オフセット値計算部８４２から出力される計算値比率λを入力した場合には（Ｓ４３：Ｙｅｓ）、ステップＳ４４において、現時点における計算値比率λを、入力した計算値比率λに更新する。また、計算値比率λを入力しなかった場合には、ステップＳ４４の処理をスキップする。
【０１０２】
切替部８７２は、ステップＳ４５において、イグニッションスイッチがオフされたか否かを判断し、イグニッションスイッチのオフが検出されなければ、その処理をステップＳ４２に戻す。従って、オフセット値計算部８４２から計算値比率λが出力される都度、最新の計算値比率λに更新する。
【０１０３】
計算値比率λは、０から徐々に増加して最終的には１に到達する。従って、本ルーチンの起動時においては、第１モードにて計算された目標アシストトルクＴａ１（＝Ｔａ11）が出力される。そして、目標アシストトルクＴａ１における第２目標アシストトルクＴａ12の比率が増加していって最終的に１００％となり、逆に、第１目標アシストトルクＴａ11の比率が減少していって最終的に０％となる。このようにして、変形例２では、第１モードから第２モードに徐々に移行させることができる。
【０１０４】
計算値比率λは、比率増加量Δλの積算値であり、比率増加量Δλは、不正トルクＴｘの大きさが小さいほど大きな値に設定される。また、オフセット値θofsの信頼性は、不正トルクＴｘの大きさが小さいほど高い。従って、第１モードから第2モードへ切り替わる速度は、オフセット値θofsの信頼性が高いほど速くなる。また、車両の直進走行を検出する都度、不正トルクＴｘの大きさに基づいてオフセット値θofsを更新していくため、不正トルクＴｘがゼロに向けて収束していき、オフセット値θofsの信頼性も次第に高くなっていく。
【０１０５】
以上説明した変形例２によれば、第１モードから第２モードへの切り替えを、オフセット値θofsの信頼性に応じた適切な速度で行うことができる。従って、オフセット値θofsの信頼性が最初から高ければ、早く第２モードに移行させることができ、ドライバーの操舵操作負担を早く軽くすることができる。また、オフセット値θofsの信頼性が低い場合には、モード切替速度を遅くし、モード切換期間中（過渡期間）にオフセット値θofsを信頼性の高い値に更新していくため、最終的には、適正に第２モードによる操舵アシストを行うことができる。この結果、モード切替による運転操作への影響を低減しつつ早く第２モードに移行させることができる。また、オフセット値θofsが適正に補正されるため、運転操作に与える左右のアンバランス感を低減することができる。
【０１０６】
以上、本実施形態および変形例にかかる車両の電動パワーステアリング装置について説明したが、本発明は上記実施形態および変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【０１０７】
例えば、本実施形態においては、モータ２０の発生するトルクをステアリングシャフト１２に付与するコラムアシスト式の電動パワーステアリング装置について説明したが、モータの発生するトルクをラックバー１４に付与するラックアシスト式の電動パワーステアリング装置であってもよい。
【符号の説明】
【０１０８】
１…電動パワーステアリング装置、１０…ステアリング機構、１１…操舵ハンドル、１２…ステアリングシャフト、１２ｔ…トーションバー、２０…モータ、２１…トルクセンサ、２２…操舵角センサ、２３…モータ回転角センサ、２４…車速センサ、２５…減速機、２６…車輪速センサ、４０…モータ駆動回路、５０…電子制御回路、６０…モータ制御部、７０…モータ制御量計算部、７１…正常時制御量計算部、７２…異常検出部、７３…制御切替部、８０…異常時制御量計算部、８１…第１アシストトルク計算部、８２…舵角換算部、８３…差分計算部、８４，８４１，８４２…オフセット値計算部、８５…捩れ角度計算部、８６…第２アシストトルク計算部、８７，８７２…切替部、１００…アシストＥＣＵ、Ｗfl…左前輪、Ｗfr…右前輪。
【図１】
2014004920.tif 000003
【図２】
2014004920.tif 000004
【図３】
2014004920.tif 000005
【図４】
2014004920.tif 000006
【図５】
2014004920.tif 000007
【図６】
2014004920.tif 000008
【図７】
2014004920.tif 000009
【図８】
2014004920.tif 000010
【図９】
2014004920.tif 000011
【図１０】
2014004920.tif 000012
【図１１】
2014004920.tif 000013
【図１２】
2014004920.tif 000014