(第1実施形態)
以下、操舵制御装置の第1実施形態を図面に従って説明する。
図1に示すように、操舵制御装置1の制御対象となる操舵装置としての電動パワーステアリング装置(EPS)2は、運転者によるステアリングホイール3の操作に基づいて転舵輪4を転舵させる操舵機構5を備えている。また、EPS2は、操舵機構5にステアリング操作を補助するためのアシスト力を付与するアクチュエータとしてのEPSアクチュエータ6を備えている。
操舵機構5は、ステアリングホイール3が固定されるステアリングシャフト11と、ステアリングシャフト11に連結された転舵軸としてのラック軸12と、ラック軸12が往復動可能に挿通されるハウジングとしてのラックハウジング13と、ステアリングシャフト11の回転をラック軸12に変換するラックアンドピニオン機構14とを備えている。なお、ステアリングシャフト11は、ステアリングホイール3が位置する側から順にコラム軸15、中間軸16、及びピニオン軸17を連結することにより構成されている。
ラック軸12とピニオン軸17とは、ラックハウジング13内に所定の交差角をもって配置されている。ラックアンドピニオン機構14は、ラック軸12に形成されたラック歯12aとピニオン軸17に形成されたピニオン歯17aとが噛合されることで構成されている。また、ラック軸12の両端には、その軸端部に設けられたボールジョイントからなるラックエンド18を介してタイロッド19がそれぞれ回動自在に連結されている。タイロッド19の先端は、転舵輪4が組付けられた図示しないナックルに連結されている。したがって、EPS2では、ステアリング操作に伴うステアリングシャフト11の回転がラックアンドピニオン機構14によりラック軸12の軸方向移動に変換され、この軸方向移動がタイロッド19を介してナックルに伝達されることにより、転舵輪4の転舵角、すなわち車両の進行方向が変更される。
なお、ラックエンド18がラックハウジング13の左端に当接するラック軸12の位置が右方向に最大限操舵可能な位置であり、同位置が右側のエンド位置としてのラックエンド位置に相当する。また、ラックエンド18がラックハウジング13の右端に当接するラック軸12の位置が左方向に最大限操舵可能な位置であり、同位置が左側のエンド位置としてのラックエンド位置に相当する。
EPSアクチュエータ6は、駆動源であるモータ21と、ウォームアンドホイール等の減速機構22とを備えている。モータ21は減速機構22を介してコラム軸15に連結されている。そして、EPSアクチュエータ6は、モータ21の回転を減速機構22により減速してコラム軸15に伝達することによって、モータトルクをアシスト力として操舵機構5に付与する。なお、本実施形態のモータ21には、三相のブラシレスモータが採用されている。
操舵制御装置1は、モータ21に接続されており、その作動を制御する。なお、操舵制御装置1は、図示しない中央処理装置(CPU)やメモリを備えており、所定の演算周期ごとにメモリに記憶されたプログラムをCPUが実行する。これにより、各種の制御が実行される。
操舵制御装置1には、車両の車速SPDを検出する車速センサ31、及び運転者の操舵によりステアリングシャフト11に付与された操舵トルクThを検出するトルクセンサ32が接続されている。また、操舵制御装置1には、モータ21の回転角θmを360°の範囲内の相対角で検出する回転センサ33が接続されている。なお、操舵トルクTh及び回転角θmは、例えば右方向に操舵した場合に正の値、左方向に操舵した場合に負の値として検出する。そして、操舵制御装置1は、これら各センサから入力される各状態量を示す信号に基づいて、モータ21に駆動電力を供給することにより、EPSアクチュエータ6の作動、すなわち操舵機構5にラック軸12を往復動させるべく付与するアシスト力を制御する。
次に、操舵制御装置1の構成について説明する。
図2に示すように、操舵制御装置1は、モータ制御信号Smを出力するモータ制御部としてのマイコン41と、モータ制御信号Smに基づいてモータ21に駆動電力を供給する駆動回路42とを備えている。なお、本実施形態の駆動回路42には、FET等の複数のスイッチング素子を有する周知のPWMインバータが採用されている。そして、マイコン41の出力するモータ制御信号Smは、各スイッチング素子のオンオフ状態を規定するものとなっている。これにより、モータ制御信号Smに応答して各スイッチング素子がオンオフし、各相のモータコイルへの通電パターンが切り替わることにより、車載電源43の直流電力が三相の駆動電力に変換されてモータ21へと出力される。
なお、以下に示す各制御ブロックは、マイコン41が実行するコンピュータプログラムにより実現されるものであり、所定のサンプリング周期で各状態量を検出し、所定の演算周期毎に以下の各制御ブロックに示される各演算処理が実行される。
マイコン41には、上記車速SPD、操舵トルクTh、及びモータ21の回転角θmが入力される。また、マイコン41には、電流センサ44により検出されるモータ21の各相電流値Iu,Iv,Iw、及び電圧センサ45により検出される車載電源43の電源電圧Vbが入力される。電流センサ44は、駆動回路42と各相のモータコイルとの間の接続線46に設けられている。電圧センサ45は、車載電源43と駆動回路42との間の接続線47に設けられている。なお、図2では、説明の便宜上、各相の電流センサ44及び各相の接続線46をそれぞれ1つにまとめて図示している。そして、マイコン41は、これら各状態量に基づいてモータ制御信号Smを出力する。
詳しくは、マイコン41は、電流指令値Id*,Iq*を演算する電流指令値演算部51と、電流指令値Id*,Iq*に基づいてモータ制御信号Smを出力するモータ制御信号生成部52と、絶対舵角θsを検出する絶対舵角検出部53とを備えている。
電流指令値演算部51には、操舵トルクTh、車速SPD及び絶対舵角θsが入力される。電流指令値演算部51は、これらの状態量に基づいて電流指令値Id*,Iq*を演算する。電流指令値Id*,Iq*は、モータ21に供給すべき電流の目標値であり、d/q座標系におけるd軸上の電流指令値及びq軸上の電流指令値をそれぞれ示す。このうち、q軸電流指令値Iq*は、モータ21が出力するモータトルクの目標値を示す。なお、本実施形態では、d軸電流指令値Id*は、基本的にゼロに固定されている。電流指令値Id*,Iq*は、例えば右方向への操舵をアシストする場合に正の値、左方向への操舵をアシストする場合に負の値とする。
モータ制御信号生成部52には、電流指令値Id*,Iq*、各相電流値Iu,Iv,Iw、及びモータ21の回転角θmが入力される。モータ制御信号生成部52は、これらの状態量に基づいてd/q座標系における電流フィードバック制御を実行することにより、モータ制御信号Smを生成する。
具体的には、モータ制御信号生成部52は、回転角θmに基づいて各相電流値Iu,Iv,Iwをd/q座標上に写像することにより、d/q座標系におけるモータ21の実電流値であるd軸電流値Id及びq軸電流値Iqを演算する。そして、モータ制御信号生成部52は、d軸電流値Idをd軸電流指令値Id*に追従させるべく、またq軸電流値Iqをq軸電流指令値Iq*に追従させるべく、それぞれ電流フィードバック制御を行うことによりモータ制御信号Smを生成する。なお、モータ制御信号Smを生成する過程で演算したq軸電流値Iqは、エンド位置対応角管理部65に出力される。
モータ制御信号生成部52は、このように生成したモータ制御信号Smを駆動回路42に出力する。これにより、モータ21には、モータ制御信号Smに応じた駆動電力が供給され、モータ21からq軸電流指令値Iq*に対応したモータトルクが出力されることで、操舵機構5にアシスト力が付与される。
絶対舵角検出部53には、回転角θmが入力される。絶対舵角検出部53は、回転角θmに基づいて、360°を超える範囲を含む絶対角で表されるモータ絶対角を検出する。本実施形態の絶対舵角検出部53は、例えば車載電源43の交換後、イグニッションスイッチ等の起動スイッチが初めてオンされた時の回転角θmを原点としてモータ21の回転数を積算し、この回転数及び回転角θmに基づいてモータ絶対角を検出する。そして、絶対舵角検出部53は、モータ絶対角に減速機構22の減速比に基づく換算係数を乗算することにより、ステアリングシャフト11の操舵角を示す絶対舵角θsを検出する。本実施形態の操舵制御装置1では、起動スイッチのオフ時にもモータ21の回転の有無を監視しており、モータ21の回転数が常時積算されている。これにより、車載電源43が交換されてから2回目以降、起動スイッチがオンされた時でも、絶対舵角θsの原点は、起動スイッチが初めてオンされた時に設定された原点と同じになる。
なお、上記のようにステアリングシャフト11の回転により転舵輪4の転舵角が変更されることから、絶対舵角θsは、転舵輪4の転舵角に換算可能な回転軸の回転角を示す。また、モータ絶対角及び絶対舵角θsは、例えば原点から右方向の回転角である場合に正の値、左方向の回転角である場合に負の値とする。
次に、電流指令値演算部51の構成について詳細に説明する。
電流指令値演算部51は、q軸電流指令値Iq*の基礎成分であるアシスト指令値Ias*を演算するアシスト指令値演算部61と、q軸電流指令値Iq*の絶対値の上限となる制限値Igを設定する制限値設定部62と、アシスト指令値Ias*の絶対値を制限値Ig以下に制限するガード処理部63とを備えている。また、電流指令値演算部51は、メモリ64に記憶される左右のラックエンド位置に対応する絶対舵角θsであるエンド位置対応角θs_le,θs_reを管理するエンド位置対応角管理部65を備えている。
アシスト指令値演算部61には、操舵トルクTh及び車速SPDが入力される。アシスト指令値演算部61は、操舵トルクTh及び車速SPDに基づいてアシスト指令値Ias*を演算する。具体的には、アシスト指令値演算部61は、操舵トルクThの絶対値が大きいほど、また車速SPDが遅いほど、より大きな絶対値を有するアシスト指令値Ias*を演算する。このように演算されたアシスト指令値Ias*は、ガード処理部63に出力される。
ガード処理部63には、アシスト指令値Ias*に加え、後述するように制限値設定部62において設定される制限値Igが入力される。ガード処理部63は、入力されるアシスト指令値Ias*の絶対値が制限値Ig以下の場合には、アシスト指令値Ias*の値をそのままq軸電流指令値Iq*としてモータ制御信号生成部52に出力する。一方、入力されるアシスト指令値Ias*の絶対値が制限値Igよりも大きい場合には、アシスト指令値Ias*の絶対値を制限値Igの値に制限した値をq軸電流指令値Iq*としてモータ制御信号生成部52に出力する。
メモリ64には、モータ21が出力可能なモータトルクとして予め設定されたトルクに対応する最大電流としての定格電流Ir、及びエンド位置対応角θs_le,θs_re等が記憶されている。左側のエンド位置対応角θs_leは、左側のラックエンド位置に対応する絶対舵角θsであり、右側のエンド位置対応角θs_reは、右側のラックエンド位置に対応する絶対舵角θsである。エンド位置対応角θs_le,θs_reは、後述するようにエンド位置対応角管理部65によってその設定及び更新が管理される。なお、本実施形態のメモリ64は、例えば車載電源43を取り外さない限り、エンド位置対応角θs_le,θs_reを保持するタイプのものが用いられている。
次に、制限値設定部62の構成について説明する。
制限値設定部62には、絶対舵角θs、車速SPD、電源電圧Vb、定格電流Ir及びエンド位置対応角θs_le,θs_reが入力される。そして、制限値設定部62は、これらの状態量に基づいて制限値Igを設定する。
詳しくは、図3に示すように、制限値設定部62は、絶対舵角θsに基づく舵角制限値Ienを演算する舵角制限値演算部71と、電源電圧Vbに基づく他の制限値としての電圧制限値Ivbを演算する電圧制限値演算部72と、舵角制限値Ien及び電圧制限値Ivbのいずれか小さい方を選択する最小値選択部73とを備えている。
舵角制限値演算部71には、絶対舵角θs、車速SPD、定格電流Ir、エンド位置対応角θs_le,θs_reが入力される。舵角制限値演算部71は、これらの状態量に基づいて、後述するように絶対舵角θsの左右のエンド位置対応角θs_le,θs_reからの最小距離を示すエンド離間角Δθが所定角度θ1以下となる場合に、該エンド離間角Δθの減少に基づいて小さくなる舵角制限値Ienを演算する。このように演算された舵角制限値Ienは、最小値選択部73に出力される。なお、舵角制限値演算部71は、メモリ64に左右のエンド位置対応角θs_le,θs_reのいずれもが設定されていない場合には、舵角制限値Ienを演算しない。
電圧制限値演算部72には、電源電圧Vbが入力される。電圧制限値演算部72は、電源電圧Vbの絶対値が予め設定された電圧閾値Vth以下になった場合に、定格電流Irを供給するための定格電圧よりも小さな電圧制限値Ivbを演算する。具体的には、電圧制限値演算部72は、電源電圧Vbの絶対値が電圧閾値Vth以下になった場合、該電源電圧Vbの絶対値の低下に基づいてより小さな絶対値を有する電圧制限値Ivbを演算する。このように演算された電圧制限値Ivbは、最小値選択部73に出力される。
最小値選択部73は、入力される舵角制限値Ien及び電圧制限値Ivbのいずれか小さい方を制限値Igとして選択し、ガード処理部63に出力する。
そして、舵角制限値Ienが制限値Igとしてガード処理部63に出力されることにより、q軸電流指令値Iq*の絶対値が舵角制限値Ienに制限される。これにより、エンド離間角Δθが所定角度θ1以下となる場合に、該エンド離間角Δθの減少に基づいてq軸電流指令値Iq*の絶対値を小さくすることで、エンド当ての衝撃を緩和するエンド当て緩和制御が実行される。なお、後述するようにメモリ64に左右両方のエンド位置対応角θs_le,θs_reが記憶されている場合が正規のエンド当て緩和制御となり、メモリ64に左右いずれか一方のエンド位置対応角θs_le,θs_reが記憶されている場合が暫定のエンド当て緩和制御となる。
また、電圧制限値Ivbが制限値Igとしてガード処理部63に出力されることにより、q軸電流指令値Iq*の絶対値が電圧制限値Ivbに制限される。これにより、電源電圧Vbの絶対値が電圧閾値Vth以下となる場合に、該電源電圧Vbの絶対値の低下に基づいてq軸電流指令値Iq*の絶対値を小さくする電源保護制御が実行される。
次に、舵角制限値演算部71の構成について説明する。
舵角制限値演算部71は、エンド離間角Δθを演算するエンド離間角演算部81と、エンド離間角Δθに応じて定まる電流制限量である角度制限成分Igaを演算する角度制限成分演算部82とを備えている。また、舵角制限値演算部71は、上限角速度ωlimに対する操舵速度ωsの超過分である超過角速度ωoを演算する超過角速度演算部83と、超過角速度ωoに応じて定まる電流制限量である速度制限成分Igsを演算する速度制限成分演算部84とを備えている。
詳しくは、エンド離間角演算部81には、絶対舵角θs、及びエンド位置対応角θs_le,θs_reが入力される。エンド離間角演算部81は、メモリ64に左右両方のエンド位置対応角θs_le,θs_reが記憶されている場合には、最新の演算周期での絶対舵角θsと左側のエンド位置対応角θs_leとの間の差分、及び最新の演算周期での絶対舵角θsと右側のエンド位置対応角θs_reとの間の差分を演算する。そして、エンド離間角演算部81は、演算した差分のうちの絶対値が小さい方をエンド離間角Δθとして角度制限成分演算部82及び超過角速度演算部83に出力する。一方、エンド離間角演算部81は、メモリ64に左右いずれか一方のみのエンド位置対応角θs_le,θs_reが記憶されている場合には、最新の演算周期での絶対舵角θsとエンド位置対応角θs_le又はエンド位置対応角θs_reとの間の差分を演算する。そして、エンド離間角演算部81は、この差分をエンド離間角Δθとして角度制限成分演算部82及び超過角速度演算部83に出力する。
なお、エンド離間角演算部81は、メモリ64に左右のエンド位置対応角θs_le,θs_reがいずれも記憶されていない場合には、エンド離間角Δθを演算しない。これにより、後述する角度制限成分演算部82及び超過角速度演算部83において、角度制限成分Iga及び超過角速度ωoが演算されず、舵角制限値Ienが演算されない。
角度制限成分演算部82には、エンド離間角Δθ及び車速SPDが入力される。角度制限成分演算部82は、エンド離間角Δθ及び車速SPDと角度制限成分Igaとの関係を定めたマップを備えており、同マップを参照することによりエンド離間角Δθ及び車速SPDに応じた角度制限成分Igaを演算する。
このマップでは、角度制限成分Igaは、エンド離間角Δθがゼロの状態からその増大に比例して減少し、エンド離間角Δθが所定角度θ1でゼロに達し、エンド離間角Δθが所定角度θ1よりも大きくなると、ゼロになるように設定されている。また、このマップでは、エンド離間角Δθが負の領域も設定されており、角度制限成分Igaは、エンド離間角Δθがゼロよりも小さくなると、その減少に比例して増大し、定格電流Irと同じ値になった以降は一定となる。マップにおける負の領域は、ラックエンド18がラックハウジング13に当接した状態からさらに切り込み操舵を行うことにより、EPS2が弾性変形してモータ21が回転する分を想定している。なお、所定角度θ1は、エンド位置対応角θs_le,θs_re近傍の範囲を示す小さな角度に設定されている。すなわち、角度制限成分Igaは、絶対舵角θsがエンド位置対応角θs_le,θs_reからステアリング中立側に向かうにつれて小さくなり、エンド位置対応角θs_le,θs_re近傍よりもステアリング中立位置側にある場合には、ゼロになるように設定されている。
また、このマップは、エンド離間角Δθが所定角度θ1以下の領域では、車速SPDの増大に基づいて、角度制限成分Igaが小さくなるように設定されている。具体的には、車速SPDが低速域である場合は角度制限成分Igaがゼロよりも大きくなるが、車速SPDが中高速域である場合は角度制限成分Igaがゼロとなるように設定されている。このように演算された角度制限成分Igaは、減算器85に出力される。
超過角速度演算部83には、エンド離間角Δθ、及び絶対舵角θsを微分することにより得られる操舵速度ωsが入力される。そして、超過角速度演算部83は、これらの状態量に基づいて超過角速度ωoを演算する。
詳しくは、超過角速度演算部83は、上限角速度ωlimを演算する上限角速度演算部86を備えている。上限角速度演算部86には、エンド離間角Δθが入力される。上限角速度演算部86は、エンド離間角Δθと上限角速度ωlimとの関係を定めたマップを備えており、同マップを参照することによりエンド離間角Δθに応じた上限角速度ωlimを演算する。
このマップでは、上限角速度ωlimは、エンド離間角Δθがゼロよりも大きいゼロ近傍の場合に上限角速度ωlimが最も小さくなり、エンド離間角Δθの増大に比例して上限角速度ωlimが大きくなるように設定されている。また、上限角速度ωlimは、エンド離間角Δθが所定角度θ2よりも大きくなると、モータ21が回転可能な最大の角速度として予め設定された値で一定となるように設定されている。なお、所定角度θ2は、上記所定角度θ1よりも大きな角度に設定されている。
超過角速度演算部83は、操舵速度ωsの絶対値がエンド離間角Δθに応じた上限角速度ωlimよりも大きい場合には、操舵速度ωsの上限角速度ωlimに対する超過分を超過角速度ωoとして速度制限成分演算部84に出力する。一方、超過角速度演算部83は、操舵速度ωsの絶対値が上限角速度ωlim以下の場合には、ゼロを示す超過角速度ωoを速度制限成分演算部84に出力する。
具体的には、超過角速度演算部83は、上限角速度ωlim及び操舵速度ωsが入力される最小値選択部87を備えている。最小値選択部87は、上限角速度ωlim及び操舵速度ωsの絶対値のうちの小さい方を選択して減算器88に出力する。そして、超過角速度演算部83は、減算器88において、操舵速度ωsの絶対値から最小値選択部87の出力値を差し引くことで超過角速度ωoを演算する。このように最小値選択部87において上限角速度ωlim及び操舵速度ωsの絶対値のうちの小さい方を選択することで、操舵速度ωsが上限角速度ωlim以下の場合には、減算器88において操舵速度ωsから操舵速度ωsが差し引かれることとなり、超過角速度ωoがゼロとなる。一方、操舵速度ωsが上限角速度ωlimよりも大きい場合には、減算器88において操舵速度ωsの絶対値から上限角速度ωlimが差し引かれることとなり、超過角速度ωoが操舵速度ωsの上限角速度ωlimに対する超過分となる。
速度制限成分演算部84には、超過角速度ωo及び車速SPDが入力される。速度制限成分演算部84は、超過角速度ωo及び車速SPDと速度制限成分Igsとの関係を定めたマップを備えており、同マップを参照することにより超過角速度ωo及び車速SPDに応じた速度制限成分Igsを演算する。
このマップでは、速度制限成分Igsは、超過角速度ωoがゼロの場合に速度制限成分Igsが最も小さくなり、超過角速度ωoの増大に比例して速度制限成分Igsが大きくなるように設定されている。また、このマップは、車速SPDの増大に基づいて、速度制限成分Igsが小さくなるように設定されている。なお、このマップでは、速度制限成分Igsの絶対値が角度制限成分Igaの絶対値に比べて小さくなるように設定されている。このように演算された速度制限成分Igsは、減算器89に出力される。
上記した角度制限成分Igaが入力される減算器85には、定格電流Irが入力される。舵角制限値演算部71は、減算器85において定格電流Irから角度制限成分Igaを差し引いた値を、速度制限成分Igsが入力される減算器89に出力する。そして、舵角制限値演算部71は、減算器89において、減算器85の出力値から速度制限成分Igsを差し引いた値、すなわち定格電流Irから角度制限成分Iga及び速度制限成分Igsを差し引いた値を舵角制限値Ienとして上記最小値選択部73に出力する。
次に、エンド位置対応角管理部65の構成について説明する。
図2示すように、エンド位置対応角管理部65には、操舵トルクTh、絶対舵角θs、回転角θmを微分することにより得られるモータ角速度ωmが入力される。エンド位置対応角管理部65は、これらの状態量に基づいて、エンド位置対応角θs_le,θs_reのメモリ64への記憶・更新を管理する。
エンド位置対応角管理部65は、主に次の二つの処理を行う。
(1)エンド位置対応角θs_le,θs_reを更新する場合を含めて新たにメモリ64に記憶させる。
(2)メモリ64に記憶されているエンド位置対応角θs_le,θs_reを更新する必要があるか否かを判定する。
エンド位置対応角管理部65は、(1),(2)の各処理ともに、ラック軸12が左右いずれか一方への移動が規制されているか否かを判定し、ラック軸12の移動が規制されていると判定された際の絶対舵角θsを規制位置判定角θi(iは自然数)として複数取得する。そして、エンド位置対応角管理部65は、複数の規制位置判定角θiに基づいて(1),(2)の各処理を実行する。
(1)の処理では、エンド位置対応角管理部65は、左側及び右側の規制位置判定角θiをそれぞれ取得した場合には、これら左右両側の規制位置判定角θiに基づいてエンド位置対応角θs_le,θs_reをメモリ64に記憶させる。
一方、エンド位置対応角管理部65は、左側又は右側のみの規制位置判定角θiを複数取得した場合には、これら左側又は右側の複数の規制位置判定角θiに基づいて該左側又は右側のエンド位置対応角θs_le,θs_reをメモリ64に記憶させる。この処理において、後述するように、エンド位置対応角管理部65は、左側又は右側の複数の規制位置判定角θiの分散に基づいて、これら規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定する。そして、エンド当てによりラック軸12の移動が規制された際の左側又は右側の複数の規制位置判定角θiからなるエンド当て判定データD1,D2に基づく角度を左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reとしてメモリ64に記憶させる。
(2)の処理では、エンド位置対応角管理部65は、左側又は右側の規制位置判定角θiを複数取得し、これら複数の規制位置判定角θiの分散に基づいて、該左側又は右側の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定する。そして、エンド位置対応角管理部65は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータである場合には、エンド位置対応角θs_le,θs_reの更新を許可する。一方、エンド位置対応角管理部65は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータでない場合には、エンド位置対応角θs_le,θs_reの更新を許可しない。また、エンド位置対応角管理部65は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータであっても、エンド当て緩和制御が正常に実行されている場合には、エンド位置対応角θs_le,θs_reの更新を許可しない。
詳しくは、図4に示すように、エンド位置対応角管理部65は、角速度変化量演算部91と、第1規制判定部92と、規制判定部としての第2規制判定部93と、分散判定部94と、更新許可部95と、エンド位置対応角設定部96とを備えている。以下、制御ブロック毎に順に説明する。
(角速度変化量演算部91)
角速度変化量演算部91には、モータ角速度ωmが入力される。角速度変化量演算部91は、入力されるモータ角速度ωmに基づいてその変化量である角速度変化量Δωmを演算する。そして、角速度変化量演算部91は、角速度変化量Δωmを第1規制判定部92及び第2規制判定部93に出力する。なお、本実施形態の角速度変化量演算部91は、角速度変化量Δωmにローパスフィルタ処理を施したものを第1規制判定部92及び第2規制判定部93に出力する。
(第1規制判定部92)
第1規制判定部92には、操舵トルクTh、モータ角速度ωm及び角速度変化量Δωmが入力される。第1規制判定部92は、これらの状態量に基づいて、動的規制判定及び静的規制判定の2つの判定を並行して又は連続して行うことにより、ラック軸12の左右いずれか一方への移動が規制されているか否かを判定する。静的規制判定は、ラック軸12の移動が規制されたまま保舵されているような状態、及びゆっくりと切り込み操舵を行ってラック軸12の移動が規制される状態を検出する判定である。動的規制判定は、比較的速い速度で切り込み操舵を行い、ラック軸12の移動が規制された直後に切り返し操舵が行われるような状態を検出する判定である。
第1規制判定部92は、次の3つの条件が成立する場合に、動的規制判定が成立し、ラック軸12の移動が規制されたと判定する。
(a1)操舵トルクThの絶対値が第1操舵トルク閾値Tth1以上である。
(a2)モータ角速度ωmの符号が操舵トルクThの符号と同一であって、モータ角速度ωmの絶対値が第1角速度閾値ωth1よりも大きい。
(a3)角速度変化量Δωmの符号が操舵トルクThの符号と反対であって、角速度変化量Δωmの絶対値が第1角速度変化量閾値Δωth1よりも大きい。
なお、第1操舵トルク閾値Tth1は、ラックエンド18がラックハウジング13に当接した直後に切り戻し操舵を行う際の操舵トルクであり、ゼロよりも大きな適宜の値に設定されている。第1角速度閾値ωth1は、モータ21が停止していることを示す角速度であり、略ゼロに設定されている。第1角速度変化量閾値Δωth1は、モータ21が急速に減速していることを示す角速度変化量であり、比較的大きな値に設定されている。
次に、図5に示すフローチャートにしたがって、第1規制判定部92による動的規制判定の処理手順の一例を説明する。なお、以下では、説明の便宜上、ラック軸12が右方向へ移動し、右側の規制位置判定角θiを取得する場合について説明するが、ラック軸12が左側へ移動し、左側の規制位置判定角θiを取得する場合も、同様の処理が行われる。
具体的には、第1規制判定部92は、各種状態量を取得すると(ステップ101)、操舵トルクThが第1操舵トルク閾値Tth1以上であるか否かを判定する(ステップ102)。操舵トルクThが第1操舵トルク閾値Tth1以上である場合には(ステップ102:YES)、モータ角速度ωmが第1角速度閾値ωth1よりも大きいか否かを判定する(ステップ103)。すなわち、ステップ103では、モータ角速度ωmの符号が操舵トルクThの符号と同一であって、モータ角速度ωmの絶対値が第1角速度閾値ωth1よりも大きいか否かを判定する。モータ角速度ωmが第1角速度閾値ωth1よりも大きい場合には(ステップ103:YES)、角速度変化量Δωmが負の第1角速度変化量閾値Δωth1未満であるか否かを判定する(ステップ104)。すなわち、ステップ104では、角速度変化量Δωmの符号が操舵トルクThの符号と反対であって、角速度変化量Δωmの絶対値が第1角速度変化量閾値Δωth1よりも大きいか否かを判定する。そして、角速度変化量Δωmが負の第1角速度変化量閾値Δωth1未満である場合には(ステップ104:YES)、動的規制判定が成立してラック軸12の移動が規制されていると判定し、その旨を示す第1規制判定信号Sr1を分散判定部94に出力する(ステップ105)。
一方、操舵トルクThが第1操舵トルク閾値Tth1未満である場合(ステップ102:NO)、モータ角速度ωmが第1角速度閾値ωth1以下の場合(ステップ103:NO)、角速度変化量Δωmが負の第1角速度変化量閾値Δωth1以上の場合には(ステップ104:NO)、それ以降の処理を実行しない。
第1規制判定部92は、次の3つの条件が成立する場合に、静的規制判定が成立し、ラック軸12の移動が規制されたと判定する。
(b1)操舵トルクThの絶対値が第2操舵トルク閾値Tth2以上である。
(b2)モータ角速度ωmの符号が操舵トルクThの符号と同一であって、モータ角速度ωmの絶対値が第1角速度閾値ωth1よりも大きく、かつ第2角速度閾値ωth2以下である。
(b3)角速度変化量Δωmの絶対値が第2角速度変化量閾値Δωth2未満である。
なお、第2操舵トルク閾値Tth2は、ラックエンド18がラックハウジング13に当接した状態で車両を旋回走行させる際にステアリングホイール3を保舵するために必要な操舵トルクであり、第1操舵トルク閾値Tth1よりも大きな適宜の値に設定されている。第2角速度閾値ωth2は、モータ21が低速で回転していることを示す角速度であり、ゼロよりも大きな適宜の値に設定されている。第2角速度変化量閾値Δωth2は、モータ21が略加減速していないことを示す角速度変化量であり、第1角速度変化量閾値Δωth1よりも小さく、かつゼロよりも僅かに大きな値に設定されている。
次に、図6に示すフローチャートにしたがって、第1規制判定部92による静的規制判定の処理手順の一例を説明する。なお、以下では、説明の便宜上、ラック軸12が右方向へ移動し、右側の規制位置判定角θiを取得する場合について説明するが、ラック軸12が左側へ移動し、左側の規制位置判定角θiを取得する場合も、同様の処理が行われる。
具体的には、第1規制判定部92は、各種状態量を取得すると(ステップ201)、操舵トルクThが第2操舵トルク閾値Tth2以上であるか否かを判定する(ステップ202)。操舵トルクThが第2操舵トルク閾値Tth2以上である場合には(ステップ202:YES)、モータ角速度ωmが第1角速度閾値ωth1よりも大きく、かつ第2角速度閾値ωth2以下であるか否かを判定する(ステップ203)。すなわち、ステップ203では、モータ角速度ωmの符号が操舵トルクThの符号と同一であって、モータ角速度ωmの絶対値が第1角速度閾値ωth1よりも大きく、かつ第2角速度閾値ωth2以下であるか否かを判定する。モータ角速度ωmが第1角速度閾値ωth1よりも大きく、かつ第2角速度閾値ωth2以下である場合、すなわちモータ21が極低速で回転している場合には(ステップ203:YES)、角速度変化量Δωmの絶対値が第2角速度変化量閾値Δωth2未満であるか否かを判定する(ステップ204)。そして、角速度変化量Δωmの絶対値が第2角速度変化量閾値Δωth2未満である場合には(ステップ204:YES)、静的規制判定が成立してラック軸12の移動が規制されていると判定し、その旨を示す第1規制判定信号Sr1を分散判定部94に出力する(ステップ205)。
一方、操舵トルクThが第2操舵トルク閾値Tth2未満である場合(ステップ202:NO)、モータ角速度ωmが第1角速度閾値ωth1以下である、又は第2角速度閾値ωth2よりも大きい場合(ステップ203:NO)、角速度変化量Δωmの絶対値が第2角速度変化量閾値Δωth2以上の場合には(ステップ204:NO)、それ以降の処理を実行しない。
(第2規制判定部93)
図4に示すように、第2規制判定部93には、操舵トルクTh、モータ角速度ωm及び角速度変化量Δωmが入力される。第2規制判定部93は、これらの状態量に基づいて、静的規制判定を行うことによって、エンド当て又はエンド当て緩和制御の実行によりラック軸12が左右いずれか一方への移動が規制されているか否かを判定する。第2規制判定部93による静的規制判定は、上記第1規制判定部92による静的規制判定と同様の処理手順によって行われる。そして、第2規制判定部93は、エンド当て又はエンド当て緩和制御の実行によりラック軸12の移動が規制されていると判定した場合には、その旨を示す第2規制判定信号Sr2を更新許可部95に出力する。
(分散判定部94)
分散判定部94には、操舵トルクTh、絶対舵角θs、q軸電流値Iq、角速度変化量Δωm及び第1規制判定信号Sr1が入力される。分散判定部94は、第1規制判定部92によりラック軸12の移動が規制されていると判定された際の絶対舵角θsに応じた規制位置判定角θiを複数取得する。本実施形態の分散判定部94は、ラック軸12の移動が規制されていると判定した際の絶対舵角θsに対して、EPS2に付与されたトルクにより生じるEPS2の機械的な弾性変形に基づいて補正する剛性補償を行い、剛性補償後の角度を規制位置判定角θiとして取得する。分散判定部94は、左側又は右側の複数の規制位置判定角θiの分散に基づいて、これらがエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定する。そして、分散判定部94は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータである場合には、これら複数の規制位置判定角θiからなるエンド当て判定データD1をエンド位置対応角設定部96に出力する。
まず、剛性補償について説明する。
分散判定部94は、ラック軸12の移動が規制されていると判定した際の絶対舵角θsから、EPS2に生じている機械的な弾性変形を差し引いた値を規制位置判定角θiとして取得する。
詳しくは、分散判定部94は、ラック軸12の移動が規制されていると判定された際にEPS2に付与されたトルクの合計値であるピニオン軸トルクTpを演算する。なお、ピニオン軸トルクTpはラック軸12に作用する軸力に相当し、分散判定部94は軸力検出部に相当する。本実施形態の分散判定部94は、下記(1)式に示すように、運転者に付与される操舵トルクThと、q軸電流値Iqに基づくモータトルクと、モータ21の角速度変化量Δωmに基づく慣性トルクとを用いてピニオン軸トルクTpを演算する。
Tp=Th+Iq×Km+Δωm×Kω…(1)
なお、「Km」は、モータ21のモータ定数、減速機構22の減速比及び効率等によって決まる係数を示す。「Kω」は、モータ21の慣性モーメント、減速機構22の減速比及び効率等によって決まる係数を示す。
ここで、図7に示すように、通常、運転者によりステアリング操作が行われると、EPS2に付与されたピニオン軸トルクTpに応じて転舵輪4が転舵し、絶対舵角θsが増加する。そして、実際のラックエンド位置に対応する絶対舵角θsを若干超えたところから、ピニオン軸トルクTpが増加しても絶対舵角θsがほとんど増加しなくなる。これは、エンド当てによりラック軸12の移動が規制されるため、ピニオン軸トルクTpが増加することで、EPS2を構成するステアリングシャフト11の捻れやラック軸12の圧縮等の機械的な弾性変形によってモータ21が僅かに回転するのみとなるからである。そして、絶対舵角θsに対するピニオン軸トルクTpの傾きはEPS2の弾性係数Keに比例することから、絶対舵角θsを基点に当該傾きに従ってピニオン軸トルクTpがゼロとなる位置での絶対舵角θsが、実際のラックエンド位置と略一致する。
このことを踏まえ、分散判定部94は、EPS2の弾性係数Keに対してピニオン軸トルクTpを乗算することにより、EPS2の弾性変形量に基づくモータ21の回転角を演算する。そして、分散判定部94は、ラック軸12の移動が規制されていると判定された際の絶対舵角θsから上記回転角を減算した値を規制位置判定角θiとして取得する。
次に、左側又は右側の複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータであるか否かの判定について説明する。なお、以下では、説明の便宜上、ラック軸12の左方向への移動が複数回に亘って規制され、左側の規制位置判定角θiを複数取得した場合について説明するが、右側の規制位置判定角θiを複数取得した場合も、同様の処理が行われる。
分散判定部94は、ラック軸12の移動が規制されている旨の第1規制判定信号Sr1が入力された演算周期での絶対舵角θsに対して剛性補償を行った角度を規制位置判定角θiとして取得する。分散判定部94は、絶対舵角θsの符号に基づいてラック軸12の移動が規制された方向が左方向か右方向であるかを判定する。そして、分散判定部94は、左側の規制位置判定角θiを複数取得すると、左側の規制位置判定角θiを取得する度に、次の(1)式を用いて判定対象となる第1判定分散値Vd1を演算する。
なお、「n」は取得した規制位置判定角θiの個数を示し、2以上の整数である。つまり、本実施形態の分散判定部94は、2つ以上の規制位置判定角θiを取得した場合に、第1判定分散値Vd1を演算する。「i」は、自然数である。「θave」は、取得した規制位置判定角θiの平均値である。
続いて、分散判定部94は、第1判定分散値Vd1と予め設定された既定分散値Vmとの比である第1分散比Rd1(Rd1=Vd1/Vm)を演算する。既定分散値Vmは、ラックエンド18がラックハウジング13に当接することを目視等により確認できる環境下において、実際にエンド当てによりラック軸12の移動が規制された際の規制位置判定角θiを複数取得し、上記(1)式を用いて演算した分散値である。
ここで、例えば縁石等に当たることでラック軸12の移動が規制される場合、転舵輪4が縁石に当たる際の状況に応じてラック軸12の位置が変わるため、規制位置判定角θiの大きさはばらつきやすくなる。一方、エンド当てによりラック軸12の移動が規制される場合、ラック軸12の位置はEPS2の構造等に応じて決まるため、規制位置判定角θiの大きさはばらつきにくくなる。したがって、複数の規制位置判定角θiの分散が大きい場合には、縁石等に当たることでラック軸12の移動が規制されていると考えられる。一方、複数の規制位置判定角θiの分散が小さい場合には、エンド当てによりラック軸12の移動が規制されていると考えられる。
この点を踏まえ、分散判定部94は、第1分散比Rd1と、規制位置判定角θiの取得個数nに応じて設定される分散閾値Rthnとの大小比較を行う。分散閾値Rthnは、取得個数nが大きくなるほど、小さな値となるように予め設定されている。そして、分散判定部94は、第1分散比Rd1が分散閾値Rthn以下の場合に、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであると判定し、当該複数の規制位置判定角θiからなるエンド当て判定データD1をエンド位置対応角設定部96に出力する。
一方、分散判定部94は、第1分散比Rd1が分散閾値Rthnよりも大きい場合には、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータではないと判定し、エンド当て判定データD1をエンド位置対応角設定部96に出力しない。また、分散判定部94は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータではないと連続して判定した回数が予め設定された上限回数を超えると、取得した複数の規制位置判定角θiを破棄し、上記処理を繰り返す。なお、上限回数は、例えば「5」に設定される。
具体的には、図8のフローチャートに示すように、分散判定部94は、各種状態量を取得すると(ステップ301)、第1規制判定信号Sr1が入力され、新たに左側の規制位置判定角θiを取得したか否かを判定する(ステップ302)。新たに左側の規制位置判定角θiを取得していない場合には(ステップ302:NO)、それ以降の処理を実行しない。一方、新たに左側の規制位置判定角θiを取得した場合には(ステップ302:YES)、規制位置判定角θiの取得個数nを示す取得カウンタのカウント値Crをインクリメントする(ステップ303)。
続いて、分散判定部94は、取得カウンタのカウント値Crが「2」であるか否かを判定し(ステップ304)、カウント値Crが「2」である場合には(ステップ304:YES)、上記(1)式を用いて第1判定分散値Vd1を演算し、第1分散比Rd1を演算する(ステップ305)。続いて、第1分散比Rd1と、規制位置判定角θiの取得個数nが「2」である場合の分散閾値Rth2との大小比較を行う(ステップ306)。第1分散比Rd1が分散閾値Rth2以下の場合には(ステップ306:YES)、エンド当て判定データD1をエンド位置対応角設定部96に出力し(ステップ307)、取得していた規制位置判定角θiを破棄し(ステップ308)、取得カウンタのカウント値Crをクリアする(ステップ309)。
分散判定部94は、カウント値Crが「2」でない場合には(ステップ304:NO)、取得カウンタのカウント値Crが「3」であるか否かを判定し(ステップ310)、カウント値Crが「3」である場合には(ステップ310:YES)、上記(1)式を用いて第1判定分散値Vd1を演算し、第1分散比Rd1を演算する(ステップ311)。続いて、第1分散比Rd1と、規制位置判定角θiの取得個数nが「3」である場合の分散閾値Rth3との大小比較を行う(ステップ312)。第1分散比Rd1が分散閾値Rth3以下の場合には(ステップ312:YES)、ステップ307〜309の処理を実行する。
分散判定部94は、カウント値Crが「3」でない場合には(ステップ310:NO)、取得カウンタのカウント値Crが「4」であるか否かを判定し(ステップ313)、カウント値Crが「4」である場合には(ステップ313:YES)、上記(1)式を用いて第1判定分散値Vd1を演算し、第1分散比Rd1を演算する(ステップ314)。続いて、第1分散比Rd1と、規制位置判定角θiの取得個数nが「4」である場合の分散閾値Rth4との大小比較を行う(ステップ315)。第1分散比Rd1が分散閾値Rth4以下の場合には(ステップ315:YES)、ステップ307〜309の処理を実行する。
分散判定部94は、カウント値Crが「4」でない場合には(ステップ313:NO)、取得カウンタのカウント値Crが「5」以上であるか否かを判定する(ステップ316)。カウント値Crが「5」以上である場合には(ステップ316:YES)、上記(1)式を用いて第1判定分散値Vd1を演算し、第1分散比Rd1を演算する(ステップ317)。続いて、第1分散比Rd1と、規制位置判定角θiの取得個数nが「5」である場合の分散閾値Rth5との大小比較を行う(ステップ318)。第1分散比Rd1が分散閾値Rth5以下の場合には(ステップ318:YES)、ステップ307〜309の処理を実行する。なお、カウント値Crが「5」未満である場合、すなわちカウント値Crが「1」である場合には(ステップ316:NO)、それ以降の処理を実行しない。
一方、分散判定部94は、第1分散比Rd1が分散閾値Rth2よりも大きい場合(ステップ306:NO)、第1分散比Rd1が分散閾値Rth3よりも大きい場合(ステップ312:NO)、第1分散比Rd1が分散閾値Rth4よりも大きい場合(ステップ315:NO)、及び第1分散比Rd1が分散閾値Rth5よりも大きい場合には(ステップ318:NO)、ステップ319に移行する。ステップ319では、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータではないと連続して判定した回数を示す棄却カウンタのカウント値Caをインクリメントする(ステップ319)。続いて、棄却カウンタのカウント値Caが上限回数を示す所定カウント値Caよりも大きいか否かを判定する(ステップ320)。そして、カウント値Caが所定カウント値Cthよりも大きい場合には(ステップ320:YES)、棄却カウンタのカウント値Caをクリアし(ステップ321)、ステップ308,309の処理を実行する。なお、カウント値Caが所定カウント値th以下の場合には(ステップ320:NO)、ステップ321,308,309の処理を実行しない。
(更新許可部95)
図4に示すように、更新許可部95には、操舵トルクTh、絶対舵角θs、q軸電流値Iq、角速度変化量Δωm及び第2規制判定信号Sr2が入力される。更新許可部95は、第2規制判定部93によりラック軸12の移動が規制されていると判定された際の絶対舵角θsに応じた規制位置判定角θiを複数取得する。本実施形態の更新許可部95は、ラック軸12の移動が規制されていると判定した際の絶対舵角θsに対して、分散判定部94と同様に剛性補償を行い、剛性補償後の角度を規制位置判定角θiとして取得する。つまり、更新許可部95は軸力検出部に相当する。更新許可部95は、左側又は右側の複数の規制位置判定角θiの分散に基づいて、これらがエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定する。更新許可部95は、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータである場合には、これら複数の規制位置判定角θiからなるエンド当て判定データD2、及び更新許可信号Spをエンド位置対応角設定部96に出力する。更新許可信号Spは、メモリ64に記憶されたエンド位置対応角θs_le,θs_reの更新をエンド位置対応角設定部96に許可する信号である。
なお、以下では、説明の便宜上、ラック軸12の左方向への移動が複数回に亘って規制され、左側の規制位置判定角θiを複数取得した場合について説明するが、右側の規制位置判定角θiを複数取得した場合も、更新許可部95により同様の処理が行われる。
更新許可部95は、ラック軸12の移動が規制されている旨の第2規制判定信号Sr2が入力された演算周期での絶対舵角θsに対して剛性補償を行った角度を規制位置判定角θiとして取得するとともに、同演算周期で入力される判定時軸力としてのピニオン軸トルクTpを規制位置判定角θiと紐付けて取得する。更新許可部95は、絶対舵角θsの符号に基づいてラック軸12の移動が規制された方向が左方向か右方向であるかを判定する。
更新許可部95における取得した規制位置判定角θiを、ピニオン軸トルクTpの大きさに基づいて設定された複数の軸力範囲に分類する。具体的には、本実施形態の更新許可部95には、軸力範囲として、ピニオン軸トルクTpが小さい第1軸力範囲、ピニオン軸トルクTpが中程度の第2軸力範囲、及びピニオン軸トルクTpが大きい第3軸力範囲の3つが設定されている。更新許可部95は、取得した左側の規制位置判定角θiを、当該規制位置判定角θiに紐付けられたピニオン軸トルクTpに基づいて、第1〜第3軸力範囲に分類する。
更新許可部95は、左側の規制位置判定角θiの取得個数nが所定演算個数nca以上となり、かつ第1〜第3軸力範囲のそれぞれに分類された規制位置判定角を1つ以上取得すると、次の(2)式を用いて判定対象となる判定分散値としての第2判定分散値Vd2を演算する。なお、本実施形態では、所定演算個数ncaは「5」である。
続いて、更新許可部95は、第2判定分散値Vd2と予め設定された既定分散値Vmとの比である分散比としての第2分散比Rd2(Rd2=Vd2/Vm)を演算する。
ここで、エンド当て緩和制御の実行によりラック軸12の移動が規制されていると判定された場合に取得される規制位置判定角θiは、例えば路面μの大小等によってばらつくことがある。一方、エンド当てによりラック軸12の移動が規制されていると判定された場合に取得される規制位置判定角θiは、EPS2の構造に応じて機械的に定まるため、ばらつきにくい。したがって、複数の規制位置判定角θiの分散が小さい場合には、記憶されたエンド位置対応角θs_le,θs_reに基づくエンド当て緩和制御の実行では、ラック軸12の移動を規制できず、エンド当てによりラック軸12の移動が規制されていると考えられる。つまり、記憶されたエンド位置対応角θs_le,θs_reが、実際にエンド当てが生じる実エンド角としての実ラックエンド角に対してステアリング中立位置側にずれていると考えられる。
この点を踏まえ、更新許可部95は、第2分散比Rd2と分散閾値Rth5との大小比較を行う。分散閾値Rth5は、取得個数nが「5」である場合の値であり、予め設定されている。そして、更新許可部95は、第2分散比Rd2が分散閾値Rth5以下の場合に、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであると判定する。
続いて、更新許可部95は、エンド当てによりラック軸12の移動が規制された際に取得したデータであると判定した複数の規制位置判定角θiに基づいて、仮エンド位置判定角θe_tを演算する。本実施形態の更新許可部95は、複数の規制位置判定角θiの平均値を仮エンド位置判定角θe_tとして演算する。
更新許可部95は、仮エンド位置判定角θe_tと左側のエンド位置対応角θs_leとの差分を仮エンド離間角Δθ_tとして演算する。そして、更新許可部95は、エンド離間角Δθが仮エンド離間角Δθ_tであると仮定した場合に、エンド当て緩和制御の実行により制限されるq軸電流指令値Iq*が電流閾値Ith以下であれば、エンド当て緩和制御が正常に実行されているとして、エンド位置対応角θs_le,θs_reの更新を許可しない。本実施形態の電流閾値Ithは、定格トルクに基づくトルク閾値に対応した閾値であり、定格電流Irの50%に設定されている。
具体的には、更新許可部95には、上記角度制限成分演算部82が有するマップと同様の傾向を有し、車速SPDがゼロの場合に固定されたマップを備えている。更新許可部95は、同マップを参照することにより、仮エンド離間角Δθ_tに応じた仮角度制限成分Iga_tを演算する。そして、更新許可部95は、仮角度制限成分Iga_tが定格電流Irの50%以上の場合には、q軸電流指令値Iq*が電流閾値Ith以下であると判定し、エンド当て判定データD2及び更新許可信号Spをエンド位置対応角設定部96に出力しない。また、更新許可部95は、第2分散比Rd2が分散閾値Rth5よりも大きい場合には、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータではないと判定し、エンド当て判定データD2及び更新許可信号Spをエンド位置対応角設定部96に出力しない。この後、更新許可部95は、取得していた複数の規制位置判定角θiを破棄し、上記処理を繰り返す。
なお、上記のようにq軸電流指令値Iq*の上限値となる舵角制限値Ienは、定格電流Irから角度制限成分Iga及び速度制限成分Igsを減算することにより演算されるものである。そのため、角度制限成分Igaが定格電流の50%以上であれば、速度制限成分Igsの大小に関係なく、舵角制限値Ienが定格電流の50%以下になることから、更新許可部95は、仮角度制限成分Iga_tが定格電流Irの50%以上の場合には、q軸電流指令値Iq*が電流閾値Ith以下であると判定する。
一方、更新許可部95は、仮角度制限成分Iga_tが定格電流Irの50%未満の場合には、エンド当て判定データD2及び更新許可信号Spをエンド位置対応角設定部96に出力する。この後、更新許可部95は、取得していた複数の規制位置判定角θiを破棄し、上記処理を繰り返す。
具体的には、図9のフローチャートに示すように、更新許可部95は、各種状態量を取得すると(ステップ401)、第1〜第3軸力範囲のそれぞれにピニオン軸トルクTpに基づいて規制位置判定角θiが少なくとも1つ以上分類されているか否かを判定する(ステップ402)。続いて、第1〜第3軸力範囲のそれぞれにピニオン軸トルクTpに基づいて規制位置判定角θiが少なくとも1つ以上分類されている場合には(ステップ402:YES)、規制位置判定角θiの取得個数nが所定演算個数nca以上であるか否かを判定する(ステップ403)。第1〜第3軸力範囲のそれぞれにピニオン軸トルクTpに基づいて規制位置判定角θiが少なくとも1つ以上分類されていない場合(ステップ402:NO)、及び規制位置判定角θiの取得個数nが所定演算個数nca未満である場合には(ステップ403:NO)、それ以降の処理を実行しない。
更新許可部95は、規制位置判定角θiの取得個数nが所定演算個数nca以上である場合には(ステップ403:YES)、上記(2)式を用いて第2判定分散値Vd2を演算し、第2分散比Rd2を演算する(ステップ404)。続いて、第2分散比Rd2と分散閾値Rth5との大小比較を行い(ステップ405)、第2分散比Rd2が分散閾値Rth5以下の場合には(ステップ405:YES)、仮エンド位置判定角θe_tを演算し(ステップ406)、仮エンド離間角Δθ_tを演算する(ステップ407)。そして、仮エンド離間角Δθ_tでの仮角度制限成分Iga_tを演算し(ステップ408)、仮角度制限成分Iga_tが定格電流Irの50%以上であるか否かを判定する(ステップ409)。
更新許可部95は、仮角度制限成分Iga_tが定格電流Irの50%未満の場合には(ステップ409:NO)、更新許可信号Sp及びエンド当て判定データD2をエンド位置対応角設定部96に出力する(ステップ410,411)。続いて、取得していた複数の規制位置判定角θiを破棄する(ステップ412)。
一方、更新許可部95は、第2分散比Rd2が分散閾値Rth5よりも大きい場合(ステップ405:NO)、及び仮角度制限成分Iga_tが定格電流Irの50%以上の場合には(ステップ409:YES)、ステップ406〜411の処理を実行せず、ステップ412に移行して取得していた複数の規制位置判定角θiを破棄する。
(エンド位置対応角設定部96)
図4に示すように、エンド位置対応角設定部96には、操舵トルクTh、絶対舵角θs、q軸電流値Iq、角速度変化量Δωm、第1規制判定信号Sr1、エンド当て判定データD1,D2、及び更新許可信号Spが入力される。エンド位置対応角設定部96は、これらの状態量に基づいてエンド位置対応角θs_le,θs_reをメモリ64に設定する。
エンド位置対応角設定部96は、メモリ64にエンド位置対応角θs_le,θs_reが設定されていない場合、又は更新許可信号Spが入力される場合に、エンド位置対応角θs_le,θs_reを設定する。エンド位置対応角設定部96は、ラック軸12の移動が規制されている旨の第1規制判定信号Sr1が入力された演算周期での絶対舵角θsに応じた規制位置判定角θiを複数取得する。本実施形態のエンド位置対応角設定部96は、ラック軸12の移動が規制されていると判定した際の絶対舵角θsに対して、分散判定部94と同様に剛性補償を行い、剛性補償後の角度を規制位置判定角θiとして取得する。つまり、エンド位置対応角設定部96は軸力検出部に相当する。エンド位置対応角設定部96は、絶対舵角θsの符号に基づいてラック軸12の移動が規制された方向が左方向か右方向であるかを判定する。そして、エンド位置対応角設定部96は、左右両側の規制位置判定角θiを取得すると、これらに基づいてエンド位置対応角θs_le,θs_reを設定する。
詳しくは、エンド位置対応角設定部96は、まず左側の規制位置判定角θiの絶対値と右側の規制位置判定角θiの絶対値との和であるストローク幅Wmaを演算する。そして、エンド位置対応角設定部96は、ストローク幅Wmaが第1ストローク閾値Wth1よりも大きく、かつ第2ストローク閾値Wth2よりも小さい場合には、取得した左右の規制位置判定角θiをそのままエンド位置対応角θs_le,θs_reとしてそれぞれ設定する。なお、第1ストローク閾値Wth1は、絶対舵角θsで示される角度範囲であって、ラック軸12の全ストローク範囲に対応する角度範囲よりも若干小さな範囲に設定されている。また、第2ストローク閾値Wth2は、絶対舵角θsで示される角度範囲であって、ラック軸12の全ストローク範囲に対応する角度範囲よりも若干大きな範囲に設定されている。
ところで、例えば車両の走行状況等によっては、左右両側のエンド位置対応角θs_le,θs_reが設定されていない状態で、左側又は右側のみのエンド当てが繰り返し発生し、いずれか一方の規制位置判定角θiを取得できない場合が想定される。この場合、エンド位置対応角設定部96は、分散判定部94から出力されたエンド当て判定データD1に基づいて、まずは左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reのみを設定する。本実施形態のエンド位置対応角設定部96は、エンド当て判定データD1の平均値を左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reとして設定する。続いて、エンド位置対応角設定部96は、上記のように左右の規制位置判定角θiを取得し、エンド位置対応角θs_le,θs_reを設定する。
また、例えば車両を修理する際にステアリングシャフト11を交換することで、実際にエンド当てが生じる実ラックエンド角と記憶されているエンド位置対応角θs_le,θs_reとがずれることが想定される。この場合、エンド位置対応角設定部96は、更新許可部95から出力されるエンド当て判定データD2に基づいて、まずは左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reのみを設定する。本実施形態のエンド位置対応角設定部96は、エンド当て判定データD2の平均値をエンド位置対応角θs_le,θs_reとして設定する。続いて、エンド位置対応角設定部96は、上記のように左右の規制位置判定角θiを取得し、エンド位置対応角θs_le,θs_reを設定する。
具体的には、図10のフローチャートに示すように、エンド位置対応角設定部96は、各種状態量を取得すると(ステップ501)、更新を許可する旨の更新許可信号Spが入力されているか否かを判定する(ステップ502)。更新許可信号Spが入力されていない場合には(ステップ502:NO)、エンド位置対応角θs_le,θs_reがメモリ64に設定されていることを示す完了フラグがセットされているか否かを判定する(ステップ503)。完了フラグがセットされている場合には(ステップ503:YES)、それ以降の処理を実行しない。
エンド位置対応角設定部96は、更新許可信号Spが入力された場合には(ステップ502:YES)、完了フラグをリセットし(ステップ504)、第1規制判定信号Sr1が入力された演算周期であれば、規制位置判定角θiを取得する(ステップ505)。なお、完了フラグがセットされていない場合にも(ステップ503:NO)、ステップ505に移行して規制位置判定角θiを取得する。
続いて、エンド位置対応角設定部96は、左右両側の規制位置判定角θiを取得済みであるか否かを判定し(ステップ506)、左右両側の規制位置判定角θiを取得済みである場合には(ステップ506:YES)、ストローク幅Wmaを演算する(ステップ507)。次いで、ストローク幅Wmaが第1ストローク閾値Wth1よりも大きく、かつ第2ストローク閾値Wth2よりも小さいか否かを判定する(ステップ508)。ストローク幅Wmaが第1ストローク閾値Wth1よりも大きく、かつ第2ストローク閾値Wth2よりも小さい場合には(ステップ508:YES)、ストローク幅Wmaを演算する基礎となった左右両側の規制位置判定角θiをエンド位置対応角θs_le,θs_reとして設定し(ステップ509)、完了フラグをセットする(ステップ510)。なお、ストローク幅Wmaが第1ストローク閾値Wth1以下の場合、又はストローク幅Wmaが第2ストローク閾値Wth2以上の場合には(ステップ508:NO)、取得した規制位置判定角θiを破棄する(ステップ511)。
一方、エンド位置対応角設定部96は、左側又は右側の規制位置判定角θiのみを取得している場合には(ステップ506:NO)、エンド当て判定データD1,D2のいずれかが入力されたか否かを判定する(ステップ512)。そして、エンド当て判定データD1,D2のいずれかが入力された場合には(ステップ512:YES)、該入力されたエンド当て判定データD1,D2に基づいて左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reのみを設定する(ステップ513)。なお、エンド当て判定データD1,D2のいずれかも入力されていない場合には(ステップ512:NO)、それ以降の処理を実行しない。
次に、本実施形態の作用及び効果について説明する。
(1)上記のように複数の規制位置判定角θiの分散が大きい場合には、エンド当て緩和制御の実行により仮想エンド位置でラック軸12の移動が規制され、複数の規制位置判定角θiの分散が小さい場合には、エンド当て緩和制御の実行ではラック軸12の移動を規制できず、エンド当てによりラック軸12の移動が規制されていると考えられる。この点、エンド位置対応角管理部65は、複数の規制位置判定角θiの分散に基づいてエンド位置対応角θs_le,θs_reの更新を許可し、メモリ64に記憶されたエンド位置対応角θs_le,θs_reを更新する。そのため、例えば車両を修理する際にステアリングシャフト11を交換することで、実ラックエンド角と記憶されているエンド位置対応角θs_le,θs_reとがずれるが生じても、本実施形態によれば、記憶されたエンド位置対応角θs_le,θs_reの実ラックエンド角に対するステアリング中立位置側のずれを低減できる。
(2)更新許可部95は、複数の規制位置判定角θiの第2判定分散値Vd2を上記(2)式を用いて演算する。そして、第2判定分散値Vd2と既定分散値Vmとの比である第2分散比Rd2が分散閾値Rth5以下である場合に、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであると判定する。そのため、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであるか否かを好適に判定できる。
(3)第1規制判定部92及び第2規制判定部93は、モータ角速度ωm、角速度変化量Δωm及び操舵トルクThに基づいて、ラック軸12の左右いずれか一方への移動が規制されているか否かをそれぞれ判定する。そのため、例えばラック軸12の移動を検出するための専用のセンサを設けることなく、容易にラック軸12の移動が規制されているか否かを判定できる。
(4)更新許可部95は、第2規制判定部93によりラック軸12の移動が規制されていると判定されたときのピニオン軸トルクTpを規制位置判定角θiと対応付けるとともに、ピニオン軸トルクTpの大きさに基づいて設定された第1〜第3軸力範囲に規制位置判定角θiを分類する。第2判定分散値Vd2を演算する基礎となる複数の規制位置判定角θiには、第1〜第3軸力範囲のそれぞれに分類される規制位置判定角θiが1つ以上含まれる。このように更新許可部95は、分散の判定に用いるデータとして、異なる軸力範囲に分類される複数の規制位置判定角θi、すなわちピニオン軸トルクTpが高い場合に取得された規制位置判定角θi、及びピニオン軸トルクTpが低い場合に取得された規制位置判定角θiを用いる。
ここで、通常、車両の前進時には、エンド当てが生じる際のピニオン軸トルクTpが高く、車両の後進時には、エンド当てが生じる際のピニオン軸トルクTpが低くなる傾向がある。したがって、本実施形態では、分散の判定に用いるデータに、車両の前後進時それぞれでラック軸12の移動が規制されていると判定されたときの規制位置判定角θiが含まれることになる。これにより、エンド当てによりラック軸12の移動が規制されたか否かをより好適に判定できる。
(5)更新許可部95は、エンド当てによりラック軸12の移動が規制された際のデータであると判定された複数の規制位置判定角θiに基づく仮エンド位置判定角θe_tを演算し、該仮エンド位置判定角θe_tのエンド位置対応角θs_le,θs_reからの距離を示す仮エンド離間角Δθ_tを演算する。そして、更新許可部95は、仮エンド離間角Δθ_tに応じた仮角度制限成分Iga_tを演算し、仮角度制限成分Iga_tが定格電流Irの50%以上の場合には、q軸電流指令値Iq*が電流閾値Ith以下に制限されるとみなし、エンド位置対応角θs_le,θs_reの更新を許可しない。
ここで、記憶されたエンド位置対応角θs_le,θs_reが実ラックエンド角に対してステアリング中立位置側にずれていなくても、例えば低μ路上で高速で転舵する場合には、ラック軸12がラックハウジング13に当接する状況となることがある。こうした場合でも、q軸電流指令値Iq*が電流閾値Ith以下に制限されていれば、記憶されたエンド位置対応角θs_le,θs_reに基づくエンド当て緩和制御が正常に機能しており、該エンド位置対応角θs_le,θs_reの実ラックエンド角に対するステアリング中立位置側へのずれは問題視するほどではないと考えられる。したがって、本実施形態のように仮エンド離間角Δθ_tに基づいて演算されるq軸電流指令値Iq*が電流閾値Ith以下である場合に、エンド位置対応角θs_le,θs_reの更新を許可しないことで、不要な場合にこれらを更新することを抑制できる。
(6)エンド位置対応角管理部65は、左側及び右側の規制位置判定角θiをそれぞれ取得した場合には、ストローク幅Wmaと第1ストローク閾値Wth1及び第2ストローク閾値Wth2との大小比較を行う。エンド位置対応角管理部65は、ストローク幅Wmaが第1ストローク閾値Wth1よりも大きく、かつ第2ストローク閾値Wth2よりも小さい場合には、左側及び右側の規制位置判定角θiに基づいて、左側及び右側のエンド位置対応角θs_le,θs_reをそれぞれ設定する。そのため、左側又は右側の規制位置判定角θiを複数取得するまで待つことなく、実ラックエンド角と精度よく対応する左右両側のエンド位置対応角θs_le,θs_reを速やかに設定できる。
一方、エンド位置対応角管理部65は、左側又は右側のみの規制位置判定角θiを複数取得した場合には、複数の規制位置判定角θiの分散に基づいて、該複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定する。そして、エンド位置対応角管理部65は、エンド当てによりラック軸12の移動が規制された際のデータであると判定された左側又は右側の複数の規制位置判定角θiからなるエンド当て判定データD1に基づいて、該左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reを設定する。
ここで、上記のように複数の規制位置判定角θiの分散が大きい場合には、縁石等に当たることでラック軸12の移動が規制されていると考えられ、複数の規制位置判定角θiの分散が小さい場合には、エンド当てによりラック軸12の移動が規制されていると考えられる。そのため、本実施形態のように複数の規制位置判定角θiの分散を用いることで、実エンド角と精度よく対応するエンド位置対応角θs_le,θs_reを設定できる。
(7)分散判定部94は、複数の規制位置判定角θiの第1判定分散値Vd1を上記(1)式を用いて演算する。そして、第1判定分散値Vd1と既定分散値Vmとの比である第1分散比Rd1が、取得個数nに応じて設定される分散閾値Rthn以下である場合に、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであると判定する。そのため、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであるか否かを好適に判定できる。特に本実施形態の分散判定部94は、規制位置判定角θiを2つ以上取得した場合に第1判定分散値Vd1を演算するため、例えば規制位置判定角θiを所定演算個数ncaだけ取得してから第1判定分散値Vd1を演算する場合に比べ、該第1判定分散値Vd1を早期に演算できる。
(8)エンド位置対応角設定部96は、エンド当て判定データD1,D2の平均値を左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reとして設定するため、実エンド角と精度よく対応するエンド位置対応角θs_le,θs_reを好適に設定できる。
(第2実施形態)
次に、操舵制御装置の第2実施形態を図面に従って説明する。なお、本実施形態と上記第1実施形態との主たる相違点は、更新許可部95による第2判定分散値Vd2の演算のみである。このため、説明の便宜上、同一の構成については上記第1実施形態と同一の符号を付してその説明を省略する。
本実施形態の更新許可部95は、左側の規制位置判定角θiを取得すると、そのピニオン軸トルクTpの小さい順に並べ替えて保持する。更新許可部95は、予め設定された所定取得個数nthだけ規制位置判定角θiを取得すると、ピニオン軸トルクTp、すなわちラック軸12に作用する軸力の小さい方から順に所定演算個数ncaの規制位置判定角θiを選択し、上記(2)式を用いてこれら選択した規制位置判定角θiの第2判定分散値Vd2を演算する。その後、更新許可部95は、上記第1実施形態と同様に、第2分散比Rd2を演算し、更新許可信号Sp及びエンド当て判定データD2をエンド位置対応角設定部96に出力する。なお、本実施形態では、所定取得個数nthは「10」であり、所定演算個数ncaは「5」である。
具体的には、図11のフローチャートに示すように、更新許可部95は、各種状態量を取得すると(ステップ601)、規制位置判定角θiを該規制位置判定角θiに紐付けられたピニオン軸トルクTpの小さい順に並べ替えて保持する(ステップ602)。続いて、規制位置判定角θiの取得個数nが所定取得個数nth以上であるか否かを判定する(ステップ603)。規制位置判定角θiの取得個数nが所定取得個数nth未満である場合には(ステップ603:NO)、それ以降の処理を実行しない。
一方、更新許可部95は、規制位置判定角θiの取得個数nが所定取得個数nth以上である場合には(ステップ603:YES)、ピニオン軸トルクTpの小さい方から順に所定演算個数ncaの規制位置判定角θiを選択し、上記(2)式を用いてこれら選択した規制位置判定角θiの第2判定分散値Vd2を演算し、第2分散比Rd2を演算する(ステップ604)。その後、上記第1実施形態と同様に、第2分散比Rd2と分散閾値Rth5との大小比較を行うステップ405に移行し、その大小比較の結果に応じてステップ406〜412の処理を実行する。
以上、本実施形態では、上記第1実施形態の(1)〜(3),(5)〜(8)の作用及び効果と同様の作用及び効果に加え、以下の作用及び効果を奏する。
(9)更新許可部95は、第2規制判定部93によりラック軸12の移動が規制されていると判定されたときのピニオン軸トルクTpを規制位置判定角θiと対応付ける。第2判定分散値Vd2を演算する基礎となる複数の規制位置判定角θiには、ピニオン軸トルクTpの小さい方から順に選択した所定演算個数ncaの規制位置判定角θiが含まれる。
ここで、エンド離間角Δθが所定角度θ1以下となる場合には、エンド当て緩和制御の実行によりエンド離間角Δθの減少が規制されるようにq軸電流指令値Iq*が制限されるため、ピニオン軸トルクTpが小さいほど、該ピニオン軸トルクTpと対応付けられた規制位置判定角θiは大きくなりやすい。すなわち、ピニオン軸トルクTpが小さいほど、該ピニオン軸トルクTpに対応付けられた規制位置判定角θiは、実ラックエンド角に近い角度である可能性が高い。したがって、本実施形態のようにピニオン軸トルクTpの小さい方から順に選択した所定演算個数ncaの規制位置判定角θiに基づいて第2判定分散値Vd2を演算することで、エンド当てによりラック軸12の移動が規制されたか否かをより好適に判定できる。
上記各実施形態は、以下のように変更して実施することができる。上記各実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記各実施形態において、左側及び右側の規制位置判定角θiをそれぞれ取得した場合には、ストローク幅Wmaと第1ストローク閾値Wth1及び第2ストローク閾値Wth2との大小比較を行った。しかし、これに限らず、ストローク幅Wmaと第1ストローク閾値Wth1との大小比較のみを行い、ストローク幅Wmaが第1ストローク閾値Wth1よりも大きい場合に、左側及び右側の規制位置判定角θiに基づいて、左側及び右側のエンド位置対応角θs_le,θs_reをそれぞれ設定してもよい。
・上記各実施形態では、エンド当て判定データD1,D2の平均値を左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reとして設定した。しかし、これに限らず、例えばエンド当て判定データD1,D2のうち、絶対値の最も大きな規制位置判定角θiを左側のエンド位置対応角θs_le又は右側のエンド位置対応角θs_reとして設定してもよい。このように構成しても、実エンド角と精度よく対応するエンド位置対応角θs_le,θs_reを好適に設定できる。
・上記各実施形態において、エンド位置対応角設定部96は、エンド当てによりラック軸12の移動が規制された際に取得したデータであると判定された複数の規制位置判定角θiに基づいて、左側又は右側のエンド位置対応角θs_le,θs_reを設定した。しかし、これに限らず、エンド当てによりラック軸12の移動が規制された際に取得したデータであるか否かを判定する前の複数の規制位置判定角θiに基づいて、左側又は右側のエンド位置対応角θs_le,θs_reを設定してもよい。
・上記各実施形態において、エンド位置対応角設定部96が左側及び右側の規制位置判定角θiをそれぞれ取得した場合でも、複数の規制位置判定角θiの分散に基づいてエンド当てによりラック軸12の移動が規制された際のデータであるか否かを判定し、左右のエンド位置対応角θs_le,θs_reを設定してもよい。
・上記各実施形態において、分散判定部94による第1判定分散値Vd1の演算方法として、更新許可部95によるピニオン軸トルクTpを考慮した第2判定分散値Vd2の演算方法を用いてもよい。同様に、更新許可部95による第2判定分散値Vd2の演算方法として、分散判定部94によるピニオン軸トルクTpを考慮しない第1判定分散値Vd1を用いてもよい。
・上記各実施形態において、第1規制判定部92が静的規制判定及び動的規制判定のいずれか一方のみを実行する構成としてもよい。また、第2規制判定部93が静的規制判定及び動的規制判定の双方、又は動的規制判定のみを実行する構成としてもよい。なお、第1規制判定部92が実行する判定と第2規制判定部93が実行する判定とが一致する場合には、エンド位置対応角管理部65がいずれか一方の規制判定部のみを備えればよいことは、言うまでもない。
・上記各実施形態では、第1規制判定部92は、モータ角速度ωm、角速度変化量Δωm及び操舵トルクThに基づいて、ラック軸12の左右いずれか一方への移動が規制されているか否かを判定したが、これに限らず、その判定方法は適宜変更可能である。例えばラックエンド18とラックハウジング13との間に接触センサを設け、該接触センサからの出力信号に基づいてラック軸12の左右いずれか一方への移動が規制されているか否かを判定してもよい。同様に、第2規制判定部93の判定方法も適宜変更可能である。
・上記各実施形態では、更新許可部95は、複数の規制位置判定角θiの平均値を仮エンド位置判定角θe_tとして演算したが、これに限らず、例えば複数の規制位置判定角θiのうち、最も絶対角の大きい又は小さい規制位置判定角θiを仮エンド位置判定角θe_tとしてもよい。
・上記第1実施形態では、ピニオン軸トルクTpに基づいて規制位置判定角θiを第1〜第3軸力範囲に分類したが、これに限らず、2つの軸力範囲、又は4つ以上の軸力範囲に分類してもよい。
・上記第1実施形態では、第2判定分散値Vd2を演算する基礎となる複数の規制位置判定角θiに第1〜第3軸力範囲のそれぞれに分類される規制位置判定角θiが1つ以上含まれていたが、これに限らず、第1〜第3軸力範囲の少なくとも2つ以上に分類される規制位置判定角θiが1つ以上含まれていればよい。
・上記各実施形態では、電流閾値Ithを定格電流Irの50%に設定したが、これに限らず、例えば40%や60%でもよく、その値は適宜変更可能である。
・上記各実施形態では、仮角度制限成分Iga_tが定格電流Irの50%以上の場合には、q軸電流指令値Iq*が電流閾値Ith以下であると判定したが、これに限らず、例えばエンド離間角Δθが仮エンド離間角Δθ_tであると仮定した仮q軸電流指令値を演算し、電流閾値Ithとの大小比較を行ってもよい。
・上記各実施形態において、第2分散比Rd2が分散閾値Rth5以下となり、複数の規制位置判定角θiがエンド当てによりラック軸12の移動が規制された際に取得したデータであると判定した場合には、q軸電流指令値Iq*が電流閾値Ith以下に制限されるか否かに関わらず、エンド位置対応角θs_le,θs_reを更新してもよい。
・上記各実施形態では、ピニオン軸トルクTpを操舵トルクTh、モータトルク及び慣性トルクに基づいて演算したが、これに限らず、演算負荷の軽減等を目的として、例えば操舵トルクTh及びモータトルクに基づいてピニオン軸トルクTpを演算してもよい。また、動的規制判定の結果、取得する絶対舵角θsに対して行う剛性補償で用いるピニオン軸トルクTpと、静的規制判定の結果、取得する絶対舵角θsに対して行う剛性補償で用いるピニオン軸トルクTpとが異なっていてもよい。
・上記各実施形態において、分散判定部94、更新許可部95、エンド位置対応角設定部96がラック軸12の移動が規制されていると判定した際の絶対舵角θsをそのまま規制位置判定角θiとして取得し、剛性補償を行わなくてもよい。
・上記各実施形態では、判定時軸力としてピニオン軸トルクTpを用いたが、これに限らず、ラック軸12に作用する軸力に近似する他の状態量を用いてもよい。
・上記第2実施形態では、ステップ603において、取得した左側の規制位置判定角θiをピニオン軸トルクTpの小さい順に並べ替えて保持したが、これに限らず、取得した左側の規制位置判定角θiをピニオン軸トルクTpの小さい順に並べ替えず、単に保持してもよい。この場合、ステップ604において、所定取得個数nthの規制位置判定角θiの中から、ピニオン軸トルクTpの小さい方から順に所定演算個数ncaの規制位置判定角θiを選択する。
・上記第2実施形態では、所定取得個数nthを所定演算個数ncaよりも大きく設定したが、これに限らず、所定取得個数nthは所定演算個数nca以上の数であれば適宜変更可能である。また、所定演算個数ncaは、適宜変更可能である。
・上記各実施形態では、イグニッションスイッチのオフ時にもモータ21の回転の有無を監視することで、原点からのモータ21の回転数を常時積算し、モータ絶対角及び絶対舵角θsを検出した。しかし、これに限らず、例えば操舵角を絶対角で検出するステアリングセンサを設け、該ステアリングセンサにより検出される操舵角及び減速機構22の減速比に基づいて、原点からのモータ21の回転数を積算し、モータ絶対角及び絶対舵角θsを検出してもよい。
・上記各実施形態では、アシスト指令値Ias*を舵角制限値Ienに制限することで、エンド当て緩和制御を実行したが、これに限らず、例えばアシスト指令値Ias*に対し、ラックエンド位置に近づくほど大きくなる操舵反力成分、すなわちアシスト指令値Ias*と符号が反対の成分を加算することにより、エンド当て緩和制御を実行してもよい。
・上記各実施形態では、アシスト指令値Ias*に対してガード処理を行ったが、これに限らず、例えば操舵トルクThを微分したトルク微分値に基づく補償量によってアシスト指令値Ias*を補正した値に対してガード処理を行ってもよい。
・上記各実施形態では、制限値設定部62は、電源電圧Vbに基づいて電圧制限値Ivbを演算する電圧制限値演算部72を備えたが、これに限らず、電圧制限値演算部72に加えて又は代えて、他の状態量に基づく他の制限値を演算する他の演算部を備えてもよい。また、制限値設定部62が電圧制限値演算部72を備えず、舵角制限値Ienをそのまま制限値Igとして設定する構成としてもよい。
・上記各実施形態において、舵角制限値Ienを定格電流Irから角度制限成分Igaのみを減算した値としてもよい。
・上記各実施形態では、操舵制御装置1は、EPSアクチュエータ6がコラム軸15にモータトルクを付与する形式のEPS2を制御対象としたが、これに限らず、例えばボール螺子ナットを介してラック軸12にモータトルクを付与する形式の操舵装置を制御対象としてもよい。また、EPSに限らず、操舵制御装置1は、運転者により操作される操舵部と、転舵輪を転舵させる転舵部との間の動力伝達が分離されたステアバイワイヤ式の操舵装置を制御対象とし、転舵部に設けられる転舵アクチュエータのモータのトルク指令値又はq軸電流指令値について、本実施形態のようにエンド当て緩和制御を実行してもよい。