しかしながら、特許文献1に提案された電動パワーステアリング装置では、タイヤ角センサという新たなセンサが必要であり構成が大掛かりになってしまう。また、特許文献1には、タイヤ角センサに代えてブラシレスモータに使用されるモータ回転角の検出値を使うことも記載されている。しかし、モータ回転角センサは、モータのステータとロータとの相対角度を検出するものであって、操舵角における原点とモータ回転角における原点とが一致しない。この場合、例えば、モータ回転角における原点と操舵角における原点との関係を算出すれば、その後は、モータ回転角とハンドル操舵角とを使ってトーションバーの捩れ角度を検出することができる。しかし、モータ回転角センサは、車両を起動したとき(イグニッションスイッチをオンしたとき)にリセットされてしまうため、その関係を利用できない。従って、車両の起動時からは操舵アシストを開始することができない。
本発明は、上記問題に対処するためになされたもので、トルクセンサの故障が検出されている場合に、車両の起動時から操舵アシストを開始できるようにすることを目的とする。
上記目的を達成するために、本発明の特徴は、操舵ハンドル(11)と車輪(Wfl,Wfr)とを連結するステアリング機構(10)に介在されたトーションバー(12t)の捩れ度合に基づいて、前記操舵ハンドルから前記ステアリング機構に入力された操舵トルクを検出するトルクセンサ(21)と、前記トーションバーよりも前記車輪側となる前記ステアリング機構に連結されて操舵アシスト力を付与するモータ(20)と、前記モータのステータとロータとの相対角度であるモータ回転角を検出するモータ回転角センサ(23)と、前記トルクセンサの異常を検出する異常検出手段(72)と、前記トルクセンサの異常が検出されていない場合に、前記トルクセンサにより検出された操舵トルクに基づいて目標操舵アシスト制御量(Ta0)を設定する正常時制御量設定手段(71)と、前記トルクセンサの異常が検出されている場合に、前記操舵トルクとは異なる情報に基づいて目標操舵アシスト制御量(Ta1)を設定する異常時制御量設定手段(80)と、前記正常時制御量設定手段あるいは前記異常時制御量設定手段により設定された前記目標操舵アシスト制御量と前記モータ回転角に基づいて前記モータを駆動制御するモータ制御手段(60,40)とを備えた車両の電動パワーステアリング装置において、
前記異常時制御量設定手段は、前記操舵ハンドルの絶対舵角を表す第1操舵角(θ1)を取得する第1操舵角取得手段(22)と、前記第1操舵角が大きくなるに従って増加する目標操舵アシスト制御量(Ta11)を計算する第1異常時制御量計算手段(81)と、車両が直進走行していると判定されているときに、前記第1操舵角と、前記モータ回転角センサにより検出されたモータ回転角(θm)に対応する操舵角を表す第2操舵角(θ2)との偏差に相当するオフセット値(θofs)を取得するオフセット値取得手段(84,841,842)と、前記第1操舵角と前記第2操舵角と前記オフセット値とから推定される前記トーションバーの捩れ角度が大きくなるにしたがって増加する目標操舵アシスト制御量(Ta12)を計算する第2異常時制御量計算手段(86)とを備えたことにある。
本発明においては、トルクセンサの異常が検出されている場合には、異常時制御量設定手段が操舵トルクとは異なる情報に基づいて目標操舵アシスト制御量を設定し、モータ制御手段が、この目標操舵アシスト制御量とモータ回転角に基づいてモータを駆動制御する。異常時制御量設定手段は、第1操舵角取得手段と第1異常時制御量計算手段とオフセット値取得手段と第2異常時制御量計算手段とを備えている。第1操舵角取得手段は、操舵ハンドルの絶対舵角を表す第1操舵角を取得する。第1異常時制御量計算手段は、第1操舵角が大きくなるに従って増加する目標操舵アシスト制御量を計算する。第1操舵角は、操舵ハンドルの回動可能範囲全域において車体に対する操舵ハンドルの回転位置を特定できる絶対舵角であるため、第1異常時制御量計算手段は、車両の起動時(電動パワーステアリング装置の起動時)から目標操舵アシスト制御量を計算することができる。従って、トルクセンサが故障した場合でも、車両の起動時から第1操舵角に基づいた操舵アシストを行うことができる。
第1操舵角に基づいた操舵アシストを行う場合には、ドライバーが入力した操舵トルクを推定していないため、摩擦係数の低い路面(低μ路面)を走行した場合でも過アシストにならないように、目標操舵アシスト制御量を小さく設定する必要がある。このため、通常摩擦路面の走行時においては、操舵アシストが不足してドライバーの負担が大きくなる。そこで、本発明においては、オフセット値取得手段と第2異常時制御量計算手段を備えている。
オフセット値取得手段は、車両が直進走行していると判定されているときに、第1操舵角と、モータ回転角センサにより検出されたモータ回転角に対応する操舵角を表す第2操舵角との偏差に相当するオフセット値を取得する。例えば、オフセット値取得手段は、車両の挙動(例えば、ヨーレート、横加速度、左右の車輪速差等)を表す情報を取得して車両の直進走行を判定する直進判定手段を備え、その判定結果を取得すればよい。
第2操舵角は、任意に設定したモータの回転角(回転位置)を原点として、その原点からの回転角を操舵角に換算したものとすればよい。モータは、トーションバーの車輪側となるステアリング機構に連結されているため、第2操舵角は、トーションバーの車輪側の回転角に対応したものとなる。
オフセット値は、車両が直進走行していると判定されているときの、第1操舵角と第2操舵角との偏差に相当するものであるため、トーションバーが捩れていないと想定される状態における第1操舵角と第2操舵角との偏差に相当する。従って、オフセット値が取得できた後は、例えば、第1操舵角と第2操舵角との偏差からオフセット値を減算することで、トーションバーの捩れ角度を推定することができる。
第2異常時制御量計算手段は、第1操舵角と第2操舵角とオフセット値とから推定されるトーションバーの捩れ角度が大きくなるにしたがって増加する目標操舵アシスト制御量を計算する。トーションバーの推定捩れ角度が大きいほどドライバーが操舵ハンドルに入力した操舵トルクが大きいと推定できる。従って、第2異常時制御量計算手段は、ドライバーが入力したと推定される操舵トルクが大きくなるにしたがって増加する目標操舵アシスト制御量を計算する。このため、第1異常時制御量計算手段に比べて大きな操舵アシストトルクを付与することができ、良好な操舵アシスト性能が得られる。
このように、本発明によれば、トルクセンサが故障した場合であっても、車両の起動時から操舵アシストを開始でき、また、良好な操舵アシストを行うことができる。尚、本明細書において、角度、制御量等の大きさを論じる場合は、左右の操舵方向を特定しない絶対値について述べている。
本発明の他の特徴は、前記異常時制御量設定手段は、前記オフセット値取得手段が前記オフセット値を取得できていないあいだは、前記第1異常時制御量計算手段の計算結果を使って目標操舵アシスト制御量を設定し、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第2異常時制御量設定手段の計算結果を使って目標操舵アシスト制御量を設定するように切り替える切替手段(87,872)を備えたことにある。
本発明においては、切替手段が、最初に第1異常時制御量計算手段の計算結果を使って目標操舵アシスト制御量を設定し、オフセット値を取得できた後は第2異常時制御量設定手段の計算結果を使って目標操舵アシスト制御量を設定するように切り替える。このため、第1異常時制御量計算手段の計算結果を使って車両の起動時から操舵アシストを行い、適切なタイミングで、第2異常時制御量計算手段の計算結果を使った良好な操舵アシストに切り替えることができる。
本発明の他の特徴は、前記異常時制御量設定手段は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が少なくなるように前記オフセット値を補正するオフセット値補正手段(841,842)を備えたことにある。
例えば、操舵ハンドルの第1操舵角に誤差が含まれている場合、車両が直進走行していると判定されているときであっても、第1操舵角は中立点を示さない。このため、第1異常時制御量計算手段により計算された目標操舵アシスト制御量はゼロにはならず、モータが不適正なトルクを発生する。こうした場合、ドライバーは、車両の直進走行を保つために、モータの発生するトルクを相殺するように操舵ハンドルに力を加えているため、トーションバーは捩られた状態となっている。従って、この状態でオフセット値を設定すると、オフセット値が不適正なものとなる。
車両が直進走行していると判定されているときには、本来、モータが操舵トルクを発生していないこと、つまり、目標操舵アシスト制御量がゼロとなっていることが理想である。そこで、本発明においては、オフセット値補正手段が、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が少なくなるようにオフセット値を補正する。この場合、目標操舵アシスト制御量が大きいほど大きな補正量にてオフセット値を補正するとよい。例えば、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量で表されるモータの出力トルクをトーションバーの剛性で除算した値(トーションバーの推定捩れ角度に相当する)を、オフセット値を補正する補正量として使用するとよい。
従って、本発明によれば、適正なオフセット値を取得することができるため、さらに良好な操舵アシストを行うことができる。
本発明の他の特徴は、前記切替手段(872)は、前記オフセット値取得手段が前記オフセット値を取得できた後は、前記第1異常時制御量計算手段の計算結果(Ta11)の重み付け(1−λ)を減らし、前記第2異常時制御量設定手段の計算結果(Ta12)の重み付け(λ)を増やしていくように、前記目標操舵アシスト制御量を前記第1異常時制御量計算手段の計算結果から前記第2異常時制御量設定手段の計算結果に徐々に切り替えることにある。
オフセット値取得手段がオフセット値を取得できた後に、直ちに、第1異常時制御量計算手段の計算結果から第2異常時制御量設定手段の計算結果に切り替えてモータを駆動制御すると、オフセット値が不適正な値に設定されている場合には、運転操作への影響が大きくなるおそれがある。そこで、本発明においては、オフセット値を取得できた後は、第1異常時制御量計算手段の計算結果の重み付けを減らし、第2異常時制御量設定手段の計算結果の重み付けを増やしていくように、目標操舵アシスト制御量を第1異常時制御量計算手段の計算結果から第2異常時制御量設定手段の計算結果に徐々に切り替える。従って、計算手法の切替時における運転操作への影響を低減することができる。
本発明の他の特徴は、前記切替手段は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さい場合は大きい場合に比べて、前記目標操舵アシスト制御量を前記第1異常時制御量計算手段の計算結果から前記第2異常時制御量設定手段の計算結果に切り替える切替速度を速くする(S28〜S29)ことにある。
オフセット値の信頼性は、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さいほど高いと推定することができる。また、オフセット値の信頼性が高い場合には、目標操舵アシスト制御量を第1異常時制御量計算手段の計算結果から第2異常時制御量設定手段の計算結果に早く切り替えても、運転操作への影響は少ない。また、第1異常時制御量計算手段よりも第2異常時制御量設定手段の計算結果を使ってモータを駆動制御した方が、良好な操舵アシスト性能が得られる。こうしたことから、本発明においては、車両が直進走行していると判定されているときに計算された目標操舵アシスト制御量が小さい場合は大きい場合に比べて、目標操舵アシスト制御量を第1異常時制御量計算手段の計算結果から第2異常時制御量設定手段の計算結果に切り替える切替速度を速くする。これにより、本発明によれば、計算手法の切替による運転操作への影響を低減しつつ早いタイミングで良好な操舵アシスト性能が得られる。
尚、例えば、車両が直進走行していると判定される都度、オフセット補正手段が、そのときの目標操舵アシスト制御量が少なくなるようにオフセット値を補正し、切替手段が、第1異常時制御量計算手段の計算結果と第2異常時制御量設定手段の計算結果との重み付けを変更するようにしてもよい。
上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
以下、本発明の実施形態に係る車両の電動パワーステアリング装置について図面を用いて説明する。図1は、同実施形態に係る車両の電動パワーステアリング装置1の概略構成を表している。
この電動パワーステアリング装置1は、操舵ハンドル11の操舵操作により転舵輪を転舵するステアリング機構10と、ステアリング機構10に組み付けられ操舵アシストトルクを発生するモータ20と、操舵ハンドル11の操作状態に応じてモータ20の作動を制御する電子制御ユニット100とを主要部として備えている。以下、電子制御ユニット100をアシストECU100と呼ぶ。
ステアリング機構10は、操舵ハンドル11の回動操作に連動したステアリングシャフト12の軸線周りの回転をラックアンドピニオン機構13によりラックバー14の左右方向のストローク運動に変換して、このラックバー14のストローク運動により左前輪Wflと右前輪Wfrとを転舵するようになっている。ステアリングシャフト12は、操舵ハンドル11を上端に連結したメインシャフト12aと、ラックアンドピニオン機構13と連結されるピニオンシャフト12cと、メインシャフト12aとピニオンシャフト12cとをユニバーサルジョイント12d,12eを介して連結するインターミディエイトシャフト12bとから構成される。
ラックバー14は、ギヤ部14aがラックハウジング15内に収納され、その左右両端がラックハウジング15から露出してタイロッド16と連結される。左右のタイロッド16の他端は、左右前輪Wfl,Wfrに設けられたナックル(図示略)に接続される。以下、左前輪Wflと右前輪Wfrとを単に転舵輪Wと呼ぶ。
ステアリングシャフト12(メインシャフト12a)には減速機25を介してモータ20が組み付けられている。モータ20は、例えば、三相ブラシレスモータが使用される。モータ20は、ロータの回転により減速機25を介してステアリングシャフト12をその中心軸周りに回転駆動して、操舵ハンドル11の回動操作に対してアシストトルクを付与する。
モータ20には、モータ回転角センサ23が設けられる。このモータ回転角センサ23は、ステータに対するロータの相対角度であるモータ回転角θmを表す検出信号を出力する。モータ回転角センサ23は、例えば、レゾルバにより構成される。モータ回転角θmは、モータ20の位相を制御するために必要な電気角の検出に利用される。
ステアリングシャフト12(メインシャフト12a)には、操舵ハンドル11と減速機25との間にトルクセンサ21が設けられている。トルクセンサ21は、ステアリングシャフト12(メインシャフト12a)に介装されているトーションバー12tに働いた捩り力を、操舵ハンドル11に付与された操舵トルクTrとして検出する。従って、トルクセンサ21は、トーションバー12tの捩れ度合に応じた操舵トルクTrを検出するものであって、例えば、トーションバー12tの捩れ角度に比例した磁束をホールICに伝えることにより操舵トルクTrを検出するホールIC式トルクセンサや、トーションバー12tの両端にレゾルバを設け、この2つのレゾルバにより検出される回転角度の差に基づいて操舵トルクTrを検出するツインレゾルバ式トルクセンサなど種々のものを使用することができる。
尚、操舵トルクTrは、トルクの働く方向を符号により特定し、ステアリングシャフト12に右回転方向に働くトルク(トーションバー12tの上部が下部に対して相対的に右回転位置となる捩り状態でのトルク)を正の値で、左回転方向に働くトルク(トーションバー12tの上部が下部に対して相対的に左回転位置となる捩り状態でのトルク)を負の値で表すことにする。また、操舵トルクTrの大きさについて論じる場合には、その絶対値を用いる。
ステアリングシャフト12(メインシャフト12a)には、操舵ハンドル11とトーションバー12tとの間に操舵角センサ22が設けられている。操舵角センサ22は、操舵ハンドル11の操舵角θ1を検出するもので、予め決められている操舵ハンドル11の中立位置(車両を直進させる回転位置)を原点とした絶対舵角を表す検出信号を出力する。操舵角センサ22は、操舵ハンドル11の回動可能範囲全域において、車体に対する操舵ハンドル11の回転位置(絶対舵角)を特定できる信号を出力するものであればよく、例えば、MRセンサなど種々の回転角センサを使用することができる。操舵角θ1は、中立位置をゼロ点として、操舵ハンドル11の切られている方向を符号により特定し、右方向に操舵ハンドル11が切られているときの角度を正の値で、左方向に操舵ハンドル11が切られているときの角度を負の値で表すことにする。また、操舵角θ1の大きさについて論じる場合には、その絶対値を用いる。
以下、トーションバー12tにおける操舵ハンドル11側を入力側と呼び、トーションバー12tにおける減速機25側を出力側と呼ぶ。操舵角センサ22は、トーションバー12tの入力側の回転角度(絶対角度)を検出する。
トーションバー12tの出力側は、減速機25を介してモータ20と連結されているため、トーションバー12tの出力側の回転角度は、モータ20のロータの回転角度と対応している。モータ回転角センサは、モータ20の電気角を検出するためにステータに対するロータの相対的な回転角を検出するが、車輪が中立位置(直進方向)に向けられているときの(車輪の操舵角のゼロ点における)ステータに対するロータの相対角度を特定すれば、トーションバー12tの出力側の中立位置に対する回転角度である操舵角の検出に利用することができる。この場合、ゼロ点からモータの回転した角度を積算(右回転はプラス、左回転はマイナス)し、その積算値を減速ギヤ比を使ってトーションバー12tの回転角度に換算すればよい。
次に、アシストECU100について説明する。アシストECU100は、図2に示すように、モータ20の目標制御量を演算し、演算された目標制御量に応じたスイッチ駆動信号を出力する電子制御回路50と、電子制御回路50から出力されたスイッチ駆動信号にしたがってモータ20に通電するモータ駆動回路40とを含んで構成される。
電子制御回路50は、CPU,ROM,RAM等からなるマイクロコンピュータと、各種の入出力インタフェースと、モータ駆動回路40にスイッチ駆動信号を供給するスイッチ駆動回路等を備えている。
電子制御回路50は、その機能に着目すると、モータ20の制御量である目標アシストトルクを計算するモータ制御量計算部70と、目標アシストトルクがモータ20に流れるようにスイッチ駆動信号をモータ駆動回路40に出力するモータ制御部60とを備えている。各機能部における処理は、マイコンにより、それぞれ所定の短い周期で繰り返し実行される。
モータ制御量計算部70は、正常時制御量計算部71と、異常時制御量計算部80と、異常検出部72と、制御切替部73とを備えている。正常時制御量計算部71は、異常検出部72から出力される異常判定フラグFfailを入力し、異常判定フラグFfailが「0」である場合に、目標アシストトルクTa0を計算し、異常判定フラグFfailが「1」である場合には、その計算処理を停止する演算ブロックである。異常時制御量計算部80は、異常検出部72から出力される異常判定フラグFfailを入力し、異常判定フラグFfailが「1」である場合に、目標アシストトルクTa1を計算し、異常判定フラグFfailが「0」である場合には、その計算処理を停止する演算ブロックである。
異常検出部72は、トルクセンサ21の異常の有無を判定し、異常無しと判定している場合には、異常判定フラグFfailを「0」に設定し、異常有りと判定している場合には、異常判定フラグFfailを「1」に設定し、設定した異常判定フラグFfailを正常時制御量計算部71と異常時制御量計算部80と制御切替部73とに出力する。
制御切替部73は、正常時制御量計算部71により計算された目標アシストトルクTa0と異常時制御量計算部80により計算された目標アシストトルクTa1とを入力して、異常判定フラグFfailが「0」の場合には、目標アシストトルクTa0を選択し、異常判定フラグFfailが「1」の場合には、目標アシストトルクTa1を選択する。そして、選択した目標アシストトルクTa0(またはTa1)を目標アシストトルクTa*に設定して、目標アシストトルクTa*をモータ制御部60に出力する。
モータ制御量計算部70の各機能部の詳細については後述する。
モータ制御部60は、電流フィードバック制御部61とPWM信号発生部62とを備えている。電流フィードバック制御部61は、制御切替部73から出力された目標アシストトルクTa*を入力し、目標アシストトルクTa*をモータ20のトルク定数で除算することにより、目標アシストトルクTa*を発生させるために必要な目標電流i*を計算する。そして、モータ駆動回路40に設けられた電流センサ41により検出されるモータ電流im(実電流imと呼ぶ)を読み込み、目標電流i*と実電流imとの偏差を計算し、この偏差を使った比例積分制御により実電流imが目標電流i*に追従するように目標電圧v*を計算する。そして、目標電圧v*に対応したPWM制御信号(スイッチ駆動信号)をモータ駆動回路(インバータ)40のスイッチング素子に出力する。これにより、モータ20が駆動され、目標アシストトルクTa*に追従したアシストトルクがステアリング機構10に付与される。
尚、電流フィードバック制御部61は、モータ20に設けたモータ回転角センサ23により検出されるモータ回転角θmを入力し、このモータ回転角θmを電気角に変換して、電気角に基づいて目標電流の位相角を制御する。この場合、モータ回転角センサ23が検出するモータ回転角θmが電気角を表すものであれば、その検出値を用いればよい。
例えば、電流フィードバック制御部61は、モータ回転角センサ23により検出された電気角に基づいて、三相ブラシレスモータ20の永久磁石の磁界が貫く方向となるd軸と、d軸に直交する方向(d軸からπ/2だけ電気角を進めた方向)となるq軸とを定めたd−q座標を用いた電流ベクトル制御によりモータ20を駆動制御する。
次に、モータ制御量計算部70の各機能部について詳細説明する。正常時制御量計算部71は、車速センサ24により検出される車速Vと、トルクセンサ21により検出される操舵トルクTrとを入力して、図3に示す正常時アシストマップを参照して目標アシストトルクTa0を計算する。正常時アシストマップは、正常時制御量計算部71に記憶されており、代表的な複数の車速Vごとに、操舵トルクTrと目標アシストトルクTa0との関係を設定した関係付けデータであり、操舵トルクTrの大きさ(絶対値)が大きくなるほど大きくなり、かつ、車速Vが大きくなるほど小さくなる目標アシストトルクTa0を設定する特性を有する。
尚、目標アシストトルクTa0の計算にあたっては、各種の補償トルクを目標アシストトルクTa0に付加するようにしてもよい。例えば、ステアリング機構10における摩擦力分を補償する摩擦補償トルクを付加してもよい。また、摩擦分に加えて粘性分を補償する摩擦粘性補償トルクを付加するようにしてもよい。また、車速Vに応じて目標アシストトルクTa0を可変しない構成であってもよい。
正常時制御量計算部71は、異常検出部72から出力される異常判定フラグFfailが「0」である場合に、こうした計算処理を所定の短い周期で繰り返し実行し、計算結果である目標アシストトルクTa0を制御切替部73に出力する。
異常検出部72は、トルクセンサ21の異常の有無を判定する。例えば、トルクセンサ21が異常検出機能を備えている場合には、トルクセンサ21の出力する異常検出信号を入力して、異常の有無を判定すればよい。また、トルクセンサ21の出力する検出信号に基づいて、検出信号の示す値(電圧値等)が正常範囲から外れている場合に、トルクセンサ21に異常が発生していると判定するようにしてもよい。また、例えば、レゾルバのように出力電圧が正弦波状に周期的に変化する回転角センサを使用したトルクセンサ21の場合には、その出力電圧が一定値に固定されている場合に、断線や短絡といった異常が発生していると判定するようにしてもよい。
異常検出部72は、上記のようにトルクセンサ21の異常の有無を判定し、異常判定結果にしたがって、異常判定フラグFfailを「1」(異常あり)または「0」(異常なし)に設定する。
次に、異常時制御量計算部80について説明する。上述した正常時制御量計算部71は、操舵トルクTrに基づいて目標アシストトルクTa0を計算するが、トルクセンサ21が故障した場合には、目標アシストトルクTa0を計算することができない。そこで、異常時制御量計算部80は、トルクセンサ21の異常が検出された場合に、正常時制御量計算部71に代わって、目標アシストトルクTa1を計算する。
異常時制御量計算部80は、図4に示すように、第1アシストトルク計算部81と、舵角換算部82と、差分計算部83と、オフセット値計算部84と、捩れ角度計算部85と、第2アシストトルク計算部86と、切替部87とを備えている。各機能部における処理は、マイコンにより、それぞれ所定の短い周期で繰り返し実行される。
第1アシストトルク計算部81は、操舵角センサ22により検出される操舵角θ1を入力し、操舵角θ1に基づいた第1目標アシストトルクTa11を計算する。尚、異常時制御量計算部80は、トーションバー12tの入力側の角度と出力側の角度とを使って目標アシストトルクTa1を計算するため、以下、トーションバー12tの入力側の角度である操舵角θ1を第1操舵角θ1と呼び、トーションバー12tの出力側の角度を第2操舵角θ2と呼ぶ。
第1アシストトルク計算部81は、第1操舵角θ1に基づいて、図5に示す第1異常時アシストマップを参照して、第1目標アシストトルクTa11を計算する。第1異常時アシストマップは、第1アシストトルク計算部81に記憶されており、第1操舵角θ1と第1目標アシストトルクTa11の関係を設定した関係付けデータであり、第1操舵角θ1の大きさ(絶対値)が大きくなるほど大きくなる第1目標アシストトルクTa11を設定する特性を有する。第1アシストトルク計算部81は、算出した第1目標アシストトルクTa11を切替部87に出力する。尚、第1異常時アシストマップは、正常時アシストマップのように、車速Vを加味して、車速Vが大きくなるほど第1目標アシストトルクTa11が小さくなるような車速感応特性を有するようにしてもよい。
舵角換算部82は、モータ回転角センサ23により検出されるモータ回転角θmを入力し、モータ回転角θmをトーションバー12tの出力側の角度(回転位置)である第2操舵角θ2に換算する。車両のイグニッションスイッチがオンしたときには、モータ回転角センサ23がリセットされる。従って、舵角換算部82は、リセット時におけるモータ回転角θmをゼロ点とした第2操舵角θ2を計算する。この場合、リセット時においては、転舵輪Wが中立位置を向いているとは限らないため、第2操舵角θ2は、中立位置からの角度を表すものではなく、あくまでも、車両の起動時(イグニッションスイッチのオン)におけるトーションバー12tの出力側の回転位置をゼロ点とした操舵角を表す。モータ20は、減速機25を介してトーションバー12tの出力側に連結されているため、トーションバー12tの1回転に対してN(>1)回転する。従って、第2操舵角θ2の計算にあたっては、ゼロ点からモータ20の回転した角度を積算(右回転はプラス、左回転はマイナス)し、その積算値に換算係数(1/N)を乗算することによりトーションバー12tの回転角度を算出すればよい。舵角換算部82は、算出した第2操舵角θ2を差分計算部83に出力する。尚、本実施形態においては、リセット時におけるモータ回転角θmをゼロ点とした第2操舵角θ2を計算するが、モータ回転角θmのゼロ点は任意に設定することができる。
差分計算部83は、トーションバー12tの入力側の角度である第1操舵角θ1と、舵角換算部82により算出された第2操舵角θ2との差分値(θ1−θ2)を計算し、その計算結果をオフセット値計算部84と捩れ角度計算部85とに出力する。
オフセット値計算部84は、車両が直進走行中であるか否かを判断し、直進走行中であると判定したときの差分値(θ1−θ2)をオフセット値θofsに設定する。例えば、オフセット値計算部84は、車輪速センサ26により検出された左前輪車輪速Vfl,右前輪車輪速Vfr,左後輪車輪速Vrl,右後輪車輪速Vrrを読み込み、左右の車輪速差が直進走行判定用閾値以下となっている状態が一定時間継続したときに車両が直進走行していると判定する。左右の車輪速差は、前輪のみの車輪速差を用いてもよいし、後輪のみの車輪速差を用いてもよいし、前後輪の平均値の車輪速差を用いてもよく、公知の手法により算出することができる。また、車両の直進走行を判定する直進走行判定手段としては、車輪速センサ26に代えて、ヨーレートセンサや横加速度センサの検出信号を入力し、車両のヨーレートや横加速度で表される車両の旋回量が、直進走行判定用閾値以下となっている状態が一定時間継続したときに車両が直進走行していると判定するようにしてもよい。また、操舵角センサ22の検出する操舵角(絶対舵角)の精度が十分に高い場合には、第1操舵角θ1がゼロ(実質ゼロ)のときに車両が直進走行していると判定するようにしてもよい。
オフセット値計算部84は、車両が直進走行をしていると判定したときに、次式(1)に示すように、差分計算部83から出力されている差分値(θ1−θ2)をオフセット値θofsに設定する。
θofs=θ1−θ2 ・・・(1)
この場合、例えば、車両が直進走行していると判定されている一定期間における差分値(θ1−θ2)の平均値を計算して、その平均値をオフセット値θofsに設定するとよい。オフセット値計算部84は、設定したオフセット値θofsを記憶すると、オフセット値θofsを捩れ角度計算部85に出力する。また、オフセット値計算部84は、オフセット値有効フラグFofsを切替部87に出力しており、オフセット値θofsの設定が完了すると、オフセット値有効フラグFofsを「0」から「1」に切り替える。オフセット値有効フラグFofsは、「0」によりオフセット値θofsが未設定(無効)であること表し、「1」によりオフセット値θofsが設定済み(有効)であることを表す。
車両の直進走行時においては、ドライバーが操舵ハンドル11に操舵回動力を付与していない状態であるため、トーションバー12tは捩れていない。従って、第2操舵角θ2にオフセット値θofsを加算した値が、車両が直進走行している状態をゼロ点とした操舵角(トーションバー12tの出力側の操舵角)を表す。
捩れ角度計算部85は、差分計算部83から出力された差分値(θ1−θ2)からオフセット値θofsを減算することにより、トーションバー12tの推定捩れ角度(θ1−θ2−θofs)を計算し、その計算結果を第2アシストトルク計算部86に出力する。
第2アシストトルク計算部86は、次式(2)に示すように、推定捩れ角度(θ1−θ2−θofs)にトーションバー12tの剛性Ktbを乗算することにより、ドライバーが操舵ハンドル11に入力した操舵トルクの推定値(推定操舵トルクTr’と呼ぶ)を計算する。
Tr’=Ktb・(θ1−θ2−θofs) ・・・(2)
そして、第2アシストトルク計算部86は、図6に示す第2異常時アシストマップを参照して、第2目標アシストトルクTa12を計算する。第2異常時アシストマップは、第2アシストトルク計算部86に記憶されており、推定操舵トルクTr’と第2目標アシストトルクTa12の関係を設定した関係付けデータであり、推定操舵トルクTr’の大きさ(絶対値)が大きくなるほど大きくなる第2目標アシストトルクTa12を設定する特性を有する。第2アシストトルク計算部86は、算出した第2目標アシストトルクTa12を切替部87に出力する。尚、第2異常時アシストマップは、正常時アシストマップのように、車速Vを加味して、車速Vが大きくなるほど第2目標アシストトルクTa12が小さくなるような車速感応特性を有するようにしてもよい。
切替部87は、第1アシストトルク計算部81により計算された第1目標アシストトルクTa11と第2アシストトルク計算部86により計算された第2目標アシストトルクTa12とを入力して、オフセット値有効フラグFofsが「0」の場合には、第1目標アシストトルクTa11を選択し、オフセット値有効フラグFofsが「1」の場合には、第2目標アシストトルクTa12を選択する。そして、選択した目標アシストトルクTa11(またはTa12)を目標アシストトルクTa1に設定して、目標アシストトルクTa1を制御切替部73に出力する。
以下、第1アシストトルク計算部81が第1操舵角θ1を使って第1目標アシストトルクTa11を計算する制御モードを第1モードと呼び、第2アシストトルク計算部86がトーションバー12tの推定捩れ角度(θ1−θ2−θofs)を使って第2目標アシストトルクTa12を計算する制御モードを第2モードと呼ぶ。
次に、アシストECU100の全体的な処理の流れについて説明する。図7は、アシストECU100の実行するアシスト制御ルーチンを表す。本ルーチンは、イグニッションスイッチがオンして所定の初期診断が完了すると起動する。本ルーチンが起動すると、アシストECU100は、ステップS11において、トルクセンサ21が正常であるか否かを判断し、正常であれば、ステップS12において、正常時アシスト制御を開始する。つまり、正常時制御量計算部71により計算される目標アシストトルクTa0に基づく操舵アシストを開始する。この場合、アシストECU100は、ステップS13において、イグニッションスイッチがオフされたか否かを判断し、イグニッションスイッチのオフが検出されるまで正常時アシスト制御を継続する。
一方、トルクセンサ21が異常であると判定された場合(S11:No)には、ステップS14において、操舵角センサ22が正常であるか否かを判断する。操舵角θ1を表す情報は、CAN(Controller Area Network)通信ラインに送信され、各種の車両ECUにおいて使用される。CAN通信ラインには、操舵角センサ22を含む各種センサの異常判定データも送信されるため、このステップS14においては、操舵角センサ22の異常判定データを読み込むことにより判定する。操舵角センサ22が異常である場合は、第1操舵角θ1が適正値を示さないため異常時制御量計算部80で目標アシストトルクTa1を計算することができない。このため、アシストECU100は、その処理をステップS13に進める。従って、操舵アシストは行われない。
操舵角センサ22が正常である場合には(S14:Yes)、アシストECU100は、ステップS15において、第1アシストトルク計算部81により計算される第1目標アシストトルクTa11にしたがって操舵アシストを開始する。つまり、第1モードにより、操舵角センサ22により検出される第1操舵角θ1(絶対舵角)の大きさに比例した大きさの操舵アシストを開始する。
続いて、アシストECU100は、ステップS16において、モータ回転角センサ23が正常であるか否かを判断する。例えば、モータ回転角センサ23の検出信号の値が正常範囲から外れていること、本来発生すべき周期的な変動信号が得られていないこと、検出信号が一定値に固定されていること等を検出することにより判断する。モータ回転角センサ23が異常である場合には、モータ20を駆動制御することができない。このため、アシストECU100は、その処理をステップS13に進める。従って、操舵アシストは行われない。
モータ回転角センサ23が正常である場合には(S16:Yes)、アシストECU100は、ステップS17において、オフセット値θofsの計算を開始する。この場合、オフセット値計算部84は、車両の直進走行の判定を開始し、直進走行が検出されるまで待ってから、その時の差分値(θ1−θ2)をオフセット値θofsに設定する。
アシストECU100は、続いて、ステップS18において、オフセット値θofsの計算が完了するまで待ち、オフセット値θofsの計算が完了すると、ステップS19において、第2アシストトルク計算部86により計算される第2目標アシストトルクTa12にしたがって操舵アシストを開始する。つまり、第2モードにより、トーションバー12tの推定捩れ角度(θ1−θ2−θofs)から設定した操舵トルクTr’に応じた大きさの操舵アシストを開始する。アシストECU100は、第2モードによる操舵アシストを開始すると、その処理をステップS13に進める。従って、イグニッションスイッチがオフするまで、第2モードによる操舵アシストが継続される。
ここで、異常時制御量計算部80が目標アシストトルクTa1を計算するにあたって、第1モードと第2モードとを切り替える理由について説明する。第1モードは、絶対舵角である第1操舵角θ1に比例した大きさの目標アシストトルクTa11を計算するものであるため、車両の起動時(イグニッションスイッチの投入時)から実施することができる。しかし、その反面、ドライバーが入力した操舵トルクを推定していないため、低摩擦路面でタイヤがスリップしないように、操舵アシスト量(目標アシストトルクTa11)を予め小さく設定しておく必要がある。このため、通常摩擦路面においては、操舵アシストが小さくなりドライバーの負担が大きくなる。
一方、第2モードは、トーションバー12tの推定捩れ角度(θ1−θ2−θofs)から推定操舵トルクTr’を算出するため、第1モードに比べて大きな操舵アシストトルクを付与することができ、操舵アシスト性能としては第1モードに比べて優れている。しかし、第2モードにおいては、トーションバー12tの推定捩れ角度(θ1−θ2−θofs)を算出する必要があるが、車両の起動時から推定捩れ角度(θ1−θ2−θofs)を算出することができない。上述したように、車両の起動時には、モータ回転角センサ23がリセットされる。このため、車両起動時(アシストECU100の起動時)のトーションバー12tの出力側の角度が第2操舵角θ2のゼロ点としてリセットされる。このため、車輪Wが転舵された状態で車両が起動した場合には、操舵ハンドル11の絶対舵角を表す第1操舵角θ1と、第2操舵角θ2とのゼロ点が一致しない。仮に、車両起動時における第2操舵角θ2を第1操舵角θ2と等しいとみなしてリセットしたとしても、ドライバーが操舵ハンドル11に力を掛けた状態(回動操作力を入力した状態)で車両が起動した場合には、トーションバー12tの捩れ分だけ、ゼロ点がずれてしまう。
このようなことから、本実施形態においては、車両が直進走行しているときには、トーションバー12tに捩りトルクが発生していないと考え、直進走行中における第1操舵角θ1と第2操舵角θ2との差分値(θ1−θ2)をオフセット値θofsに設定して、オフセット値θofsを使ってトーションバー12tの推定捩れ角度(θ1−θ2−θofs)を算出する。
このことから、異常時制御量計算部80は、車両起動時は第1モードにて操舵アシストを行い、オフセット値θofsを計算できた後に第2モードによる操舵アシストに切り替える。
以上説明した本実施形態の電動パワーステアリング装置によれば、トルクセンサ21の異常が検出されている場合に、車両の起動時(アシストECU100の起動時)から操舵アシストを開始することができる。また、第1モードによる操舵アシストを開始し、オフセット値θofsを算出した後には第2モードによる操舵アシストに切り替えるため、更に、ハンドル操作の軽い良好な操舵アシストを行うことができる。
<変形例1>
次に、上記実施形態における変形例について説明する。上述した実施形態においては、操舵角センサ22により検出される第1操舵角θ1が正確であるものとしている。しかし、操舵角センサ22により検出される第1操舵角θ1に誤差があると、第1モードにおいては、第1操舵角θに比例した操舵アシストが出力されるため、直進走行中であっても、第1操舵角θ1の誤差分だけ、左右どちらかにモータ20から不正トルクが発生してしまう。このとき、ドライバーは、車両の直進走行を保つために、不正トルクを相殺するように操舵ハンドル11に力を加えていることになる。このため、トーションバー12tが捩られた状態で、オフセット値計算部84がオフセット値θofsを計算して記憶してしまう。オフセット値θofsが記憶されると、第1モードから第2モードに移行するが、第2モードでは、第1モードよりも大きな操舵アシストトルクを出力するため、運転操作への影響が大きくなる。
例えば、第1モードでの不正トルクが3Nmであった場合、直進走行するためにはドライバーの手入力による3Nmの相殺トルクが必要となる。この状態でオフセット値θofsが記憶されると、トーションバー12tの捩れ角で3Nm分だけオフセット値θofsに誤差が生じる。従って、そのまま第1モードから第2モードに移行すると、手放しの状態でも、「3Nm×アシスト倍率」という不正トルクが出力されることになる。
操舵角センサ22により検出される第1操舵角θ1の誤差を小さくするのは実際には限界があり、完全に誤差をゼロにすることは難しい。そこで、この変形例1においては、第1操舵角θ1の誤差により不正トルクが発生した状態で車両の直進条件が成立した場合には、不正トルク分だけトーションバー12tの捩れ角を補正してオフセット値θofsを計算する。車両直進中における不正トルクをTx、トーションバー12tの剛性をKtbとすると、オフセット値θofsは、次式(3)により計算することができる。
θofs=θ1−θ2+(Tx/Ktb) ・・・(3)
従って、(Tx/Ktb)がオフセット値の補正量となる。
変形例1における異常時制御量計算部80は、先の実施形態のオフセット値計算部84に代えてオフセット値計算部841(図4に括弧で符号を付す)を備え、このオフセット値計算部841が上記式(3)を使ってオフセット値θofsを計算する。他の構成については、上述の実施形態と同様である。この場合、オフセット値計算部841は、図4に破線矢印にて示すように、目標アシストトルクTa1を入力し、車両の直進条件が成立したときの目標アシストトルクTa1(=Ta11)を不正トルクTxとして使って、補正されたオフセット値θofsを計算する。
例えば、第1操舵角θ1の中点(ゼロ点)が本来の位置から右(プラス)にずれている場合を考える。この場合、第1アシストトルク計算部81は、車両の直進走行中でも左に操作されていると認識するため、左方向に不正トルク(例えば、−3Nm)を発生させる。この不正トルクを相殺するようにドライバーが操舵ハンドル11を右方向にわずかに切ることにより直進走行が保たれる。従って、オフセット値計算部841は、トーションバー12tの入力側が3Nmだけ捩られた状態で車両の直進条件が成立したと判定する。この場合、トーションバー12tの剛性Ktbが1.5Nm/deg(既知)であるとすると、トーションバー12tの捩れていた角度は2degとなる。このとき、差分計算部83により計算された第1操舵角θ1と第2操舵角θ2との差分値(θ1−θ2)が+15degであったとすると、オフセット値計算部841により設定されるオフセット値θofsは、+13degとなる。
以上説明した変形例1においては、操舵角センサ22の検出する第1操舵角θ1に誤差が存在していても、車両の直進走行時における不正トルクTx(目標操舵アシスト制御量)が小さくなるようにオフセット値θofsを補正する、つまり、不正トルクTxが大きいほど大きな補正量(Tx/Ktb)でオフセット値θofsを補正するため、適正なオフセット値θofsを設定することができる。これにより、トーションバー12tの捩れ角の推定精度が高まり、運転操作に与える左右のアンバランス感を低減することができる。この結果、良好な操舵アシストを行うことができ、ドライバーの負担を軽減することができる。尚、上記変形例においては、第1モードから第2モードに移行する前に、補正したオフセット値θofsを計算しているが、これに代えて、例えば、第2モードに移行した後に、車両の直進走行時における不正トルクTx(この場合、Ta12)に基づいて、オフセット値θofsを補正するようにしてもよい。
<変形例2>
オフセット値θofsを補正しても、ステアリング機構10に内在する摩擦や、路面の凹凸等による外部要因などによって、必ずしも正確なオフセット値θofsを取得できるとは限らない。このため、オフセット値θofsの取得後に、直ちに第1モードから第2モードに切り替えると、オフセット値θofsの誤差による運転操作への影響が懸念される。従って、第1モードから第2モードへの切り替えは徐々に行った方がよい。
例えば、オフセット値θofsを取得した直後においては、第2アシストトルク計算部86により計算される第2目標アシストトルクTa12のA%と、第1アシストトルク計算部81により計算される第1目標アシストトルクTa11の(100−A)%との合計を、目標アシストトルクTa1に設定し、その後、比率Aを初期値(<100%)から100%にまで増加させるようにすれば、第1モードから第2モードへの切り替えを徐々に行うことができる。この場合、比率Aを細かく切り替えるほど、スムーズにモード移行することができる。
その場合でも、モード切換時における運転操作への影響を低減することができるが、この変形例2においては、更に、オフセット値θofsの信頼性に応じて、第1モードから第2モードへの切り替え速度を可変する。上述したように、第1モードによる操舵アシストよりも、第2モードによる操舵アシストのほうが性能面において優れている。従って、一律に第1モードから第2モードへの切り替えをゆっくり行ってしまうと、正確なオフセット値θofsが設定されている場合であっても、第2モードへの移行が遅れることになりドライバーの操舵負担の大きな期間が長くなってしまう。そこで、この変形例2においては、オフセット値θofsの信頼性が高いほどモード切替速度を速くし、オフセット値θofsの信頼性が低いほどモード切替速度を遅くする。また、モード切替中(過渡期)においては、オフセット値θofsを再計算して更新することによりオフセット値θofsの信頼性を高める。
オフセット値θofsの信頼性は、オフセット値θofsを取得したとき、つまり、車両の直進条件が成立したときの不正トルクTxの大きさ(絶対値)で推定することができ、不正トルクTxの大きさが小さいほど信頼性が高いと考えることができる。
図8は、変形例2にかかる異常時制御量計算部80の構成を表す機能ブロック図である。この異常時制御量計算部80は、上述した実施形態の異常時制御量計算部80のオフセット値計算部84、切替部87に代えて、オフセット値計算部842、切替部872を備えたもので、他の構成については、実施形態と同一である。以下、オフセット値計算部842、切替部872について説明する。
図9は、オフセット値計算部842が実行するオフセット値・計算値比率設定ルーチンを表す。このオフセット値・計算値比率設定ルーチンは、異常判定フラグFfailが「1」になると起動する。本ルーチンが起動すると、オフセット値計算部842は、ステップS21において、車両の直進判定を行う。この判定は、上述したように、車輪速センサ26により検出される左右輪の車輪速差、あるいは、ヨーレートや横加速度で表される車両の旋回量に基づいて、一定時間の直進走行が検出されたときに、直進判定条件を成立させるようにすればよい。
続いて、オフセット値計算部842は、ステップS22において、直進判定条件が成立したか否かを判断する。直進走行の判定条件は、一定時間の継続した直進走行の検出が必要とされるため、本ルーチンの起動直後においては、「No」と判定される。この場合、オフセット値計算部842は、ステップS23において、直進判定フラグFsをゼロ(Fs=0)に設定する。この直進判定フラグFsは、車両が直進走行していると判定されたときに「1」に設定され、車両が直進走行していると判定されなかったときに「0」に設定されるフラグである。
オフセット値計算部842は、直進判定条件が成立するまで、こうした処理を繰り返す。そして、車両が直進走行していると判定されると(S22:Yes)、ステップS24において、直進判定フラグFsがゼロ(Fs=0)であるか否かを判定する。この場合、直進判定フラグFsはゼロに設定されているため、つまり、直前まで直進走行していないと判定されていたため、ステップS24においては、「Yes」と判定され、オフセット値計算部842は、その処理をステップS25に進める。
オフセット値計算部842は、ステップS25において、直進判定フラグFsを「1」に設定する。続いて、ステップS26において、不正トルクTxを検出する。この不正トルクTxは、現時点(直進判定条件成立時)における目標アシストトルクTa1である。従って、このステップS25では、切替部872の出力する目標アシストトルクTa1が読み込まれる。続いて、オフセット値計算部842は、ステップS27において、上記式(3)を使ってオフセット値θofsを計算し、計算したオフセット値θofsを捩れ角度計算部85に出力する。
続いて、オフセット値計算部842は、ステップS28において、不正トルクTxに基づいて比率増加量Δλを算出する。オフセット値計算部842は、図10に示すような比率増加量マップを記憶している。比率増加量マップは、不正トルクTxの絶対値|Tx|が大きいほど小さくなる比率増加量Δλを設定する特性を有している。オフセット値計算部842は、この比率増加量マップを参照して、不正トルクTxに応じた比率増加量Δλを算出する。尚、比率増加量マップは、不正トルク|Tx|の増加に対して比率増加量Δλが減少していく特性であればよく、例えば、図11に示すように曲線状に減少する特性であってもよい。また、比率増加量Δλは、その最大値が1よりも小さな正の値に設定されている。
続いて、オフセット値計算部842は、ステップS29において、比率増加量Δλを積算した計算値比率λを算出する。計算値比率λは、切替部872が第1目標アシストトルクTa11と第2目標アシストトルクTa12とを組み合わせて目標アシストトルクTa1を計算するときに、両者の比率(重み付け)を設定するもので、第2目標アシストトルクTa12の使用比率を表す。計算値比率λの初期値はゼロ(λ=0)に設定されている。従って、ステップS29の処理が最初に行われるときには、計算値比率λは、比率増加量Δλと等しい値となる。
オフセット値計算部842は、ステップS30において、計算値比率λが値1以上であるか否かを判断する。この段階では、まだ計算値比率λは1以上になっていないため、オフセット値計算部842は、「No」と判定して、ステップS31において、計算値比率λを切替部872に出力する。切替部872は、この計算値比率λを使って目標アシストトルクTa1を計算する。この計算処理については後述する。
オフセット値計算部842は、計算値比率λを出力すると、その処理をステップS21に戻す。この場合、直進判定フラグFsが「1」に設定されているため、直進走行している間は、ステップS24の判定が「No」となって、その処理がステップS21に戻される。そして、車両が旋回等をして直進していないと判定されるとステップS23において直進判定フラグFsが「0」に設定される。これにより、その後、車両の直進走行が検出されると、ステップS25以降の処理が行われる。
オフセット値計算部842は、こうした処理を繰り返すことにより、車両の直進走行が検出される度に、オフセット値θofsの計算(S26〜S27)と計算値比率λの計算(S28〜S29)を行う。そして、オフセット値θofsを捩れ角度計算部85に出力し、計算値比率λを切替部872に出力する。これにより、車両の直進走行が検出される度に、オフセット値θofsが更新される。また、計算値比率λが、比率増加量Δλずつ増加していく。
計算値比率λが増加して1以上になると(S30:Yes)、オフセット値計算部842は、ステップS32において、計算値比率λを1(λ=1)に設定し、ステップS33において、計算値比率λ(=1)を切替部872に出力して本ルーチンを終了する。
次に、切替部872の処理について説明する。図12は、切替部872が実行する計算値比率調整ルーチンを表す。この計算値比率調整ルーチンは、異常判定フラグFfailが「1」になると起動する。本ルーチンが起動すると、切替部872は、ステップS41において、計算値比率λを初期値であるゼロに設定する(λ=0)。続いて、ステップS42において、次式(4)にしたがって目標アシストトルクTa1を計算する。この目標アシストトルクTa1は、異常時制御量計算部80の最終的な出力値となる。
Ta1=(1−λ)Ta11+λ・Ta12 ・・・(4)
この式(4)から分かるように、目標アシストトルクTa1は、第1アシストトルク計算部81で計算された第1目標アシストトルクTa11と、第2アシストトルク計算部86で計算された第2目標アシストトルクTa12とを、計算値比率λで設定された配分で足し合わせて計算される。従って、(1−λ)が第1目標アシストトルクTa11の重み付け係数となり、λが第2目標アシストトルクTa12の重み付け係数となる。本ルーチンの起動時においては、計算値比率λの初期値がゼロであるため、目標アシストトルクTa1は、第1目標アシストトルクTa11に設定される(Ta1=Ta11)。
続いて、切替部872は、ステップS43において、計算値比率λを入力したか否かを判断する。オフセット値計算部842から出力される計算値比率λを入力した場合には(S43:Yes)、ステップS44において、現時点における計算値比率λを、入力した計算値比率λに更新する。また、計算値比率λを入力しなかった場合には、ステップS44の処理をスキップする。
切替部872は、ステップS45において、イグニッションスイッチがオフされたか否かを判断し、イグニッションスイッチのオフが検出されなければ、その処理をステップS42に戻す。従って、オフセット値計算部842から計算値比率λが出力される都度、最新の計算値比率λに更新する。
計算値比率λは、0から徐々に増加して最終的には1に到達する。従って、本ルーチンの起動時においては、第1モードにて計算された目標アシストトルクTa1(=Ta11)が出力される。そして、目標アシストトルクTa1における第2目標アシストトルクTa12の比率が増加していって最終的に100%となり、逆に、第1目標アシストトルクTa11の比率が減少していって最終的に0%となる。このようにして、変形例2では、第1モードから第2モードに徐々に移行させることができる。
計算値比率λは、比率増加量Δλの積算値であり、比率増加量Δλは、不正トルクTxの大きさが小さいほど大きな値に設定される。また、オフセット値θofsの信頼性は、不正トルクTxの大きさが小さいほど高い。従って、第1モードから第2モードへ切り替わる速度は、オフセット値θofsの信頼性が高いほど速くなる。また、車両の直進走行を検出する都度、不正トルクTxの大きさに基づいてオフセット値θofsを更新していくため、不正トルクTxがゼロに向けて収束していき、オフセット値θofsの信頼性も次第に高くなっていく。
以上説明した変形例2によれば、第1モードから第2モードへの切り替えを、オフセット値θofsの信頼性に応じた適切な速度で行うことができる。従って、オフセット値θofsの信頼性が最初から高ければ、早く第2モードに移行させることができ、ドライバーの操舵操作負担を早く軽くすることができる。また、オフセット値θofsの信頼性が低い場合には、モード切替速度を遅くし、モード切換期間中(過渡期間)にオフセット値θofsを信頼性の高い値に更新していくため、最終的には、適正に第2モードによる操舵アシストを行うことができる。この結果、モード切替による運転操作への影響を低減しつつ早く第2モードに移行させることができる。また、オフセット値θofsが適正に補正されるため、運転操作に与える左右のアンバランス感を低減することができる。
以上、本実施形態および変形例にかかる車両の電動パワーステアリング装置について説明したが、本発明は上記実施形態および変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、本実施形態においては、モータ20の発生するトルクをステアリングシャフト12に付与するコラムアシスト式の電動パワーステアリング装置について説明したが、モータの発生するトルクをラックバー14に付与するラックアシスト式の電動パワーステアリング装置であってもよい。