(第1実施形態)
以下、操舵制御装置の第1実施形態を図面に従って説明する。
図1に示すように、制御対象となる操舵装置としての電動パワーステアリング装置(EPS)1は、運転者によるステアリングホイール2の操作に基づいて転舵輪3を転舵させる操舵機構4を備えている。また、EPS1は、操舵機構4にステアリング操作を補助するためのアシスト力を付与するアクチュエータとしてのEPSアクチュエータ5と、EPSアクチュエータ5の作動を制御する操舵制御装置6とを備えている。
操舵機構4は、ステアリングホイール2が固定されるステアリングシャフト11と、ステアリングシャフト11の回転に応じて軸方向に往復動する転舵軸としてのラック軸12と、ラック軸12が往復動可能に挿通される略円筒状のラックハウジング13とを備えている。なお、ステアリングシャフト11は、ステアリングホイール2側から順にコラム軸14、中間軸15、及びピニオン軸16を連結することにより構成されている。
ラック軸12とピニオン軸16とは、ラックハウジング13内に所定の交差角をもって配置されており、ラック軸12に形成されたラック歯12aとピニオン軸16に形成されたピニオン歯16aとが噛合されることでラックアンドピニオン機構17が構成されている。また、ラック軸12の両端には、その軸端部に設けられたボールジョイントからなるラックエンド18を介してタイロッド19がそれぞれ回動自在に連結されている。タイロッド19の先端は、転舵輪3が組付けられた図示しないナックルに連結されている。したがって、EPS1では、ステアリング操作に伴うステアリングシャフト11の回転がラックアンドピニオン機構17によりラック軸12の軸方向移動に変換され、この軸方向移動がタイロッド19を介してナックルに伝達されることにより、転舵輪3の転舵角、すなわち車両の進行方向が変更される。
なお、ラックエンド18がラックハウジング13の左端に当接する位置が右方向に最大限操舵可能な位置であり、同位置が右側のエンド位置としてのラックエンド位置に相当する。また、ラックエンド18がラックハウジング13の右端に当接する位置が左方向に最大限操舵可能な位置であり、同位置が左側のエンド位置としてのラックエンド位置に相当する。
EPSアクチュエータ5は、駆動源であるモータ21と、モータ21に連結されるとともにコラム軸14に連結されたウォームアンドホイール等の減速機構22とを備えている。そして、EPSアクチュエータ5は、モータ21の回転を減速機構22により減速してコラム軸14に伝達することによって、モータトルクTmをアシスト力として操舵機構4に付与する。なお、本実施形態のモータ21には、三相のブラシレスモータが採用されている。
操舵制御装置6には、車両の車速Vを検出する車速センサ31、及び運転者の操舵によりステアリングシャフト11に付与された操舵トルクTsを検出するトルクセンサ32が接続されている。また、操舵制御装置6には、モータ21の回転角θmcを360°の範囲内の相対角で検出するモータ相対角検出部としての回転センサ33が接続されている。なお、操舵トルクTs及び回転角θmcは、一方向(本実施形態では、右)に操舵した場合に正の値、他方向(本実施形態では、左)に操舵した場合に負の値として検出する。そして、操舵制御装置6は、これら各センサから入力される各状態量を示す信号及びモータ21の状態量を示す信号に基づいて、モータ21に駆動電力を供給することにより、EPSアクチュエータ5の作動、すなわち操舵機構4に付与するアシスト力を制御する。
図2に示すように、操舵制御装置6は、制御信号を出力するモータ制御部としてのマイコン41と、制御信号に基づいてモータ21に駆動電力を供給する駆動回路42とを備えている。なお、本実施形態の駆動回路42には、複数のスイッチング素子(例えば、FET等)を有する周知のPWMインバータが採用されている。そして、マイコン41の出力する制御信号は、各スイッチング素子のオンオフ状態を規定するものとなっている。これにより、制御信号に応答して各スイッチング素子がオンオフし、各相のモータコイルへの通電パターンが切り替わることにより、バッテリ43の直流電力が三相の駆動電力に変換されてモータ21へと出力される。なお、以下に示す各制御ブロックは、マイコン41が実行するコンピュータプログラムにより実現されるものであり、所定のサンプリング周期(検出周期)で各状態量を検出し、所定の演算周期毎に以下の各制御ブロックに示される各演算処理が実行される。
マイコン41には、上記車速V、操舵トルクTs、モータ21の回転角θmcが入力される。また、マイコン41には、駆動回路42と各相のモータコイルとの間の接続線44に設けられた電流センサ45により検出されるモータ21の各相電流値Iが入力される。なお、図2では、説明の便宜上、各相の接続線及び各相の電流センサ45をそれぞれ1つにまとめて図示している。そして、マイコン41は、これら各状態量に基づいて制御信号を出力する。
詳しくは、マイコン41は、モータ21に対する電力供給の目標値、すなわち目標アシスト力に対応する電流指令値Id*,Iq*を演算する電流指令値演算部51と、電流指令値Id*,Iq*に基づいて制御信号を出力する制御信号出力部52とを備えている。また、マイコン41は、モータ21の回転角θmcに基づいて、ラック軸12がステアリング中立位置にある状態での角度を原点(ゼロ度)として回転数を積算(カウント)することにより、360°を超える範囲の絶対角で示される制御舵角θsを演算する制御舵角演算部53と、回転角θmcを微分することによりモータ21の角速度ωmを演算する角速度演算部54と、メモリ55を備えている。なお、制御舵角θsは、モータ21の回転角θmcと同様に、ステアリング中立位置から一方向の回転角である場合に正の値、他方向の回転角である場合に負の値とし、電流指令値は、一方向への操舵をアシストする場合に正の値、他方向への操舵をアシストする場合に負の値とする。
電流指令値Id*,Iq*は、モータ21に供給すべき電流の目標値であり、d/q座標系におけるd軸上の電流指令値及びq軸上の電流指令値をそれぞれ示す。このうち、q軸電流指令値Iq*は、モータ21の出力トルクの目標値であるトルク指令値に相当する。なお、本実施形態では、d軸電流指令値Id*は、ゼロに固定されている。
詳しくは、電流指令値演算部51は、q軸電流指令値Iq*の基礎成分である基本電流指令値Ias*を演算する基本アシスト演算部61と、基本電流指令値Ias*に対する電流補正値Ira*を演算する電流補正値演算部62とを備えている。基本アシスト演算部61には、操舵トルクTs及び車速Vが入力される。そして、基本アシスト演算部61は、操舵トルクTs及び車速Vに基づいて基本電流指令値Ias*を演算する。具体的には、基本アシスト演算部61は、操舵トルクTsの絶対値が大きいほど、また車速Vが遅いほど、より大きな値(絶対値)を有する基本電流指令値Ias*を演算する。このように演算された基本電流指令値Ias*は、減算器63に入力される。
電流補正値演算部62は、後述する制御舵角演算部53から出力される制御舵角θsに基づいて電流補正値Ira*を演算する。なお、電流補正値演算部62は、制御舵角演算部53から制御舵角θsが出力されない場合には、電流補正値Ira*を演算しない、又は電流補正値Ira*としてゼロを出力する。電流補正値Ira*は、ステアリングシャフト11に操舵反力が付与されるように、基本電流指令値Ias*を補正する補正成分であり、電流補正値Ira*を出力することで、エンド当ての衝撃を緩和するエンド当て緩和制御を実行する。電流補正値演算部62は、例えば図3に示すようなマップを有しており、このマップに基づいて制御舵角θsから電流補正値Ira*を演算する。このマップでは、ラックエンド18がラックハウジング13に当接するラックエンド位置(エンド位置対応モータ角θma_le,θma_re)での制御舵角θsよりも絶対値が第1角度θ1だけ小さい角度を示すエンド近傍舵角θneが設定されている。第1角度θ1は、エンド近傍舵角θneがラックエンド位置から離間しすぎないような比較的小さな角度に設定されている。そして、電流補正値Ira*は、このマップに従って制御舵角θsの絶対値がエンド近傍舵角θneの絶対値よりも大きくなった場合に、制御舵角θsの絶対値が大きくなるほど、大きな操舵反力が付与されるように演算される。このように演算された電流補正値Ira*は、減算器63に入力される。
減算器63は、基本アシスト演算部61で演算された基本電流指令値Ias*に、電流補正値演算部62で演算された電流補正値Ira*を減算することによりq軸電流指令値Iq*を演算する。そして、減算器63は、演算したq軸電流指令値Iq*を制御信号出力部52に出力する。これにより、マイコン41は、制御舵角θsの絶対値がエンド近傍舵角θneの絶対値を超えた場合に、該制御舵角θsの絶対値の増大に基づいてトルク指令値となるq軸電流指令値Iq*の絶対値を小さくするエンド当て緩和制御を行う。
制御信号出力部52は、電流指令値Id*,Iq*、各相電流値I、及びモータ21の回転角θmcに基づいてd/q座標系における電流フィードバック制御を実行することにより、制御信号を生成する。詳しくは、制御信号出力部52は、回転角θmcに基づいて各相電流値Iをd/q座標上に写像することにより、d/q座標系におけるモータ21の実電流値であるd軸電流値及びq軸電流値を演算する。そして、制御信号出力部52は、d軸電流値をd軸電流指令値Id*に追従させるべく、またq軸電流値をq軸電流指令値Iq*に追従させるべく、それぞれ電流フィードバック制御を行うことにより制御信号を生成する。この制御信号が駆動回路42に出力されることによりモータ21に制御信号に応じた駆動電力が供給される。これにより、モータ21の出力トルクが、q軸電流指令値Iq*に対応したトルク指令値に追従するようにモータ21の駆動が制御される。
次に、制御舵角演算部53による制御舵角θsの演算について説明する。
制御舵角演算部53には、操舵トルクTs、モータ21の回転角θmc、角速度ωm及び各相電流値Iが入力され、制御舵角演算部53は、これらの状態量に基づいて制御舵角θsを演算する。ここで、制御舵角θsは、ステアリング中立位置にある状態での角度を原点としてモータ21の回転数を積算することにより、360°を超える範囲の絶対角で示されるモータ絶対角θmaであり、制御舵角演算部53は、モータ21の回転角θmcと原点から回転数をカウントすることにより制御舵角θs(モータ絶対角θma)を演算する。制御舵角θsの原点は、操舵機構4のステアリング中立位置と対応付けられてメモリ55に記憶されている。ところで、例えばバッテリ43の交換等によりマイコン41への電力供給が遮断されると、モータ21の回転を検出できなくなるため、舵角が変化した場合に対応関係を維持できず、操舵機構4の舵角と対応付けられた制御舵角θsの原点が消失してしまう。そこで、制御舵角演算部53は、制御舵角θsの原点が設定されていない場合には該原点を設定する。
制御舵角θsの原点の設定に際して、制御舵角演算部53は、先ずラック軸12が左右のラックエンド位置にあるときのモータ絶対角θmaを左右のエンド位置対応モータ角θma_le,θma_reとして設定する。そして、左右のエンド位置対応モータ角θma_le,θma_reに基づいて制御舵角θsの原点を設定する。なお、制御舵角演算部53は、原点が設定されている場合には、取得したモータ21の回転角θmcと原点から回転数をカウントすることにより制御舵角θsを演算し、電流補正値演算部62に出力する。
具体的には、図4のフローチャートに示すように、制御舵角演算部53は、各種状態量を取得すると(ステップ101)、制御舵角θsの原点を設定すべきことを示す制御フラグがセットされているか否かを判定する(ステップ102)。なお、この制御フラグは、操舵制御装置6への電力供給が停止された後に、再び電力供給が開始されるとセットされるように予め設定されている。
そして、制御舵角演算部53は、制御フラグがセットされていない場合には(ステップ102:NO)、制御舵角θsを演算し、電流補正値演算部62に出力する(ステップ103)。一方、制御フラグがセットされている場合には(ステップ102:YES)、左右のエンド位置対応モータ角θma_le,θma_reの設定処理を行い(ステップ104)、次いで制御舵角θsの原点の設定処理を行う(ステップ105)。
次に、左右のエンド位置対応モータ角θma_le,θma_reの設定について説明する。
図5に示すように、制御舵角演算部53は、モータ絶対角検出部としてのモータ絶対角演算部71と、出力切り替え部72と、エンド位置判定部73と、エンド位置対応モータ角設定部74と、制御舵角原点設定部75とを備えている。
モータ絶対角演算部71には、モータ21の回転角θmc、操舵トルクTs及び各相電流値Iが入力される。そして、モータ絶対角演算部71は、モータ21の回転角θmc及び原点からの回転数から演算される素モータ絶対角から、操舵機構4に生じている機械的な弾性変形を差し引いたモータ絶対角θmaを演算する。なお、本実施形態のモータ絶対角演算部71は、制御舵角θsの原点がメモリ55に設定されていない場合には、最初に操舵制御装置6に電力供給された際のラック位置を仮の原点として記憶し、同原点から回転数を積算することによりモータ絶対角θmaを演算する。
詳しくは、モータ絶対角演算部71は、運転者に付与される操舵トルクTsと電流センサ45により検出される実電流値である相電流値Iに基づいて演算されるモータトルクTmとの和、すなわち操舵機構4に付与されるトルクの合計値であるピニオン軸トルクTpを演算する。そして、モータ絶対角演算部71は、操舵機構4に付与されたピニオン軸トルクTpにより生じる操舵機構4の機械的な弾性変形に基づいて補正したモータ絶対角θmaを演算する。
ここで、図6に示すように、通常、運転者によりステアリング操作が行われると、操舵機構4に付与されたピニオン軸トルクTpに応じて転舵輪3が転舵し、モータ絶対角θmaが増加する。そして、実際のラックエンド位置に対応するモータ絶対角θmaを若干超えたところから、ピニオン軸トルクTpが増加してもモータ絶対角θmaがほとんど増加しなくなる。これは、ラック軸12がラックエンド位置にあるため、ピニオン軸トルクTpが増加することで、操舵機構4を構成するステアリングシャフト11の捻れやラック軸12の圧縮等の機械的な弾性変形によってモータ21が僅かに回転するのみとなるからである。また、ステアリング操作によりラック軸12が往復動する状態においても、操舵機構4には、ピニオン軸トルクTpに応じた弾性変形が生じており、演算されるモータ絶対角θmaは、実際のラック軸12の位置に対応するモータ絶対角θmaよりも操舵方向にずれた値となる。そして、モータ絶対角θmaに対するピニオン軸トルクTpの傾きは操舵機構4の弾性係数Kに比例することから、モータ21の回転角θmcに原点からの回転数を積算しただけの素モータ絶対角を基点に、当該傾きに従ってピニオン軸トルクTpがゼロとなる位置でのモータ絶対角θmaが、実際のラックエンド位置と略一致する。
このことを踏まえ、モータ絶対角演算部71は、素モータ絶対角から操舵機構4の弾性係数Kにピニオン軸トルクTpを乗算して得られる弾性変形に基づくモータ21の回転(K×Tp)を減算した値をモータ絶対角θmaとして検出する。なお、本実施形態では、操舵機構4の弾性係数Kは、操舵機構4の実機モデルを用いた実験やシミュレーション等により予め求められている。
図5に示すように、このように演算されたモータ絶対角θmaは、出力切り替え部72に出力される。出力切り替え部72は、制御舵角θsの原点の設定前には、モータ絶対角θmaをエンド位置対応モータ角設定部74及び制御舵角原点設定部75に出力する。また、制御舵角θsの原点の設定後には、同原点からの回転数に基づくモータ絶対角θma、すなわち制御舵角θsを電流補正値演算部62に出力する。
エンド位置判定部73には、操舵トルクTs、各相電流値I及び角速度ωmが入力される。そして、エンド位置判定部73は、モータ21の角速度ωmが所定角速度ωth以上であり、かつピニオン軸トルクTpが所定トルクTth以上である状態が所定時間以上継続する場合に、ラック軸12が左右いずれかのラックエンド位置にあると判定し、その旨を示す判定信号Sをエンド位置対応モータ角設定部74に出力する。なお、所定角速度ωthは、モータ21が停止していることを示す値であり、信号ノイズの影響等を考慮してゼロより若干大きな値に設定されている。また、所定トルクTthは、通常の路面において転舵輪3を転舵可能なトルクを示すゼロよりも大きな適宜の値に設定されている。
エンド位置対応モータ角設定部74は、入力されるモータ絶対角θmaの符号に基づいて操舵方向を判定し、ラック軸12が左側のラックエンド位置にあると判定されたときのモータ絶対角θmaを左側のエンド位置対応モータ角θma_leとして設定する。また、エンド位置対応モータ角設定部74は、ラック軸12が右側のラックエンド位置にあると判定されたときのモータ絶対角θmaを右側のエンド位置対応モータ角θma_reとして設定する。さらに、エンド位置対応モータ角設定部74は、左右のエンド位置対応モータ角θma_le,θma_reを一旦設定した後も、エンド位置対応モータ角θma_le,θma_reと同一符号かつ絶対値が大きいモータ絶対角θmaが検出されると、このモータ絶対角θmaを新たなエンド位置対応モータ角θma_le,θma_reとして更新する。
次に、エンド位置対応モータ角θma_le,θma_reの設定手順について説明する。
図7のフローチャートに示すように、制御舵角演算部53は、各種状態量を取得すると(ステップ201)、演算したモータ絶対角θmaの符号に基づいて左操舵であるか否かを判定する(ステップ202)。左操舵である場合には(ステップ202:YES)、モータ21の角速度ωmの絶対値が所定角速度ωth以下であるか否かを判定する(ステップ203)。続いて、角速度ωmの絶対値が所定角速度ωth以下である場合には(ステップ203:YES)、ピニオン軸トルクTpの絶対値が所定トルクTth以上であるか否かを判定する(ステップ204)。そして、ピニオン軸トルクTpが所定トルクTth以上である場合には(ステップ204:YES)、左エンドカウンタClをインクリメントし(ステップ205:Cl=Cl+1)、左エンドカウンタClが所定カウンタCth以上であるか否かを判定する(ステップ206)。一方、角速度ωmの絶対値が所定角速度ωthよりも大きい場合(ステップ203:NO)、及びピニオン軸トルクTpの絶対値が所定トルクTth未満である場合には(ステップ204:NO)、左エンドカウンタClをリセットする(ステップ207:Cl=0)。
続いて、ラック軸12が左側のラックエンド位置にある状態でさらに運転者が切り込んでいる等して左エンドカウンタClが所定カウンタCth以上になった場合には(ステップ206:YES)、今回の演算周期で演算したモータ絶対角θmaの絶対値がメモリ55に記憶されている左側のエンド位置対応モータ角θma_leの絶対値よりも大きいか否かを判定する(ステップ208)。なお、メモリ55には、左右のエンド位置対応モータ角θma_le,θma_reの初期値としてゼロが設定されている。そして、モータ絶対角θmaの絶対値が左側のエンド位置対応モータ角θma_leの絶対値よりも大きい場合には(ステップ208:YES)、当該モータ絶対角θmaを左側のエンド位置対応モータ角θma_leとして設定し、左エンドカウンタClをリセットする(ステップ209)。一方、左エンドカウンタClが所定カウンタCth未満の場合(ステップ206:NO)、及びモータ絶対角θmaの絶対値が左側のエンド位置対応モータ角θma_leの絶対値以下の場合には(ステップ208:NO)、左側のエンド位置対応モータ角θma_leを設定・更新しない。
制御舵角演算部53は、左操舵でない場合には(ステップ202:NO)、右操舵であるか否かを判定する(ステップ210)。右操舵である場合には(ステップ210:YES)、ステップ203,204と同様にエンド位置判定を行う(ステップ211,212)。エンド位置判定が成立した場合には(ステップ211,212:YES)、右エンドカウンタCrをインクリメントし(ステップ213:Cr=Cr+1)、右エンドカウンタCrが所定カウンタCth以上であるか否かを判定する(ステップ214)。一方、エンド位置判定が成立しない場合には(ステップ211,212:NO)、右エンドカウンタCrをリセットする(ステップ215:Cr=0)。
右エンドカウンタCrが所定カウンタCth以上になった場合には(ステップ214:YES)、今回の演算周期で演算したモータ絶対角θmaの絶対値がメモリ55に記憶されている右側のエンド位置対応モータ角θma_reの絶対値よりも大きいか否かを判定する(ステップ216)。そして、モータ絶対角θmaの絶対値が左側のエンド位置対応モータ角θma_leの絶対値よりも大きい場合には(ステップ216:YES)、当該モータ絶対角θmaを右側のエンド位置対応モータ角θma_reとして設定し、右エンドカウンタCrをリセットする(ステップ217)。一方、右エンドカウンタCrが所定カウンタCth未満の場合(ステップ214:NO)、及びモータ絶対角θmaの絶対値が右側のエンド位置対応モータ角θma_reの絶対値以下の場合には(ステップ216:NO)、右側のエンド位置対応モータ角θma_reを設定・更新しない。なお、右操舵でない場合には(ステップ210:NO)、ステップ203~209及びステップ211~217の処理を行わない。
次に、制御舵角θsの原点の設定について説明する。
制御舵角原点設定部75は、エンド位置対応モータ角θma_le,θma_reが設定又は更新された後に、検出されるモータ絶対角θmaが設定又は更新したエンド位置対応モータ角θma_le,θma_reよりもステアリング中立位置側に第1角度θ1以上近づいてから、メモリ55に記憶されているエンド位置対応モータ角θma_le,θma_reに基づいて制御舵角θsの原点を設定する。
詳しくは、図8に示すように、制御舵角原点設定部75は、各種状態量を取得すると(ステップ301)、モータ絶対角θmaが左右のエンド位置対応モータ角θma_le,θma_reよりも第1角度θ1以上ステアリング中立位置に近いか否かを判定する。具体的には、モータ絶対角θmaがラックエンド位置から離れている原点設定許可範囲(-θne≦θma≦θne)にあるか否かを判定する(ステップ302)。モータ絶対角θmaが原点設定許可範囲内にある場合には(ステップ302:YES)、左右のエンド位置対応モータ角θma_le,θma_reの絶対値の和であるストローク幅Wmaを演算する(ステップ303)。そして、ストローク幅Wmaがラック軸12の全ストローク範囲に対応したモータ絶対角範囲を示すストローク閾値Wthよりも大きいか否かを判定する(ステップ304)。なお、ストローク閾値Wthは、モータ絶対角範囲よりも若干小さな値に設定されている。また、モータ絶対角θmaが原点設定許可範囲内にない場合には(ステップ302:NO)、ステップ303~307の処理を実行しない。
制御舵角原点設定部75は、ストローク幅Wmaがストローク閾値Wthよりも大きい場合には(ステップ304:YES)、左右のエンド位置対応モータ角θma_le,θma_reの平均値をオフセット角Δθとして演算する(ステップ305)。そして、検出されるモータ絶対角θmaからオフセット角を減算した角度(θma-Δθ)を、制御舵角θsの原点として設定し(ステップ306)、制御舵角θsの原点を設定すべきことを示す制御フラグをリセットする(ステップ307)。なお、ストローク幅Wmaがストローク閾値Wth以下の場合には(ステップ304:NO)、ステップ305~307の処理を実行しない。
以上記述したように、本実施形態によれば、以下の作用効果を奏することができる。
(1)ラック軸12がラックエンド位置にあると判定されたときのモータ絶対角θmaを左右のエンド位置対応モータ角θma_le,θma_reとして設定するようにした。そのため、例えば直進状態であると判定されたときのモータ絶対角をステアリング中立位置に対応する原点とし、エンド位置対応モータ角を推定する場合に比べ、正確なエンド位置対応モータ角θma_le,θma_reを設定できる。
(2)モータ絶対角演算部71は、モータ絶対角θmaを操舵機構4に付与されたピニオン軸トルクTpにより生じる機械的な弾性変形に基づいて補正した角度で取得するようにしたため、より正確なエンド位置対応モータ角θma_le,θma_reを設定できる。
(3)操舵機構4を、コラム軸14、中間軸15及びピニオン軸16を連結してなるステアリングシャフト11の回転をラックアンドピニオン機構17を介してラック軸12の往復動に変換して伝達するものとして構成し、EPSアクチュエータ5はモータ21のモータトルクTmをコラム軸14に付与するようにした。このように本実施形態では、モータトルクTmがコラム軸14、中間軸15、ピニオン軸16及びラック軸12等を介して転舵輪3に伝達されるため、ラック軸12の圧縮のみならず、例えば中間軸15の捻れ等、付与されるトルクによって操舵機構4の弾性変形が大きくなりやすい。したがって、操舵機構4に生じている弾性変形に基づいて補正したモータ絶対角θmaをエンド位置対応モータ角θma_le,θma_reとして設定する効果は大である。
(4)本実施形態のようにエンド位置判定部73がピニオン軸トルクTp及びモータ21の角速度ωmに基づいて判定を行う場合には、転舵輪3が縁石等に当たっていると、実際にはラック軸12がラックエンド位置になくても、それより手前の位置で誤ってラックエンド位置にあると判定するおそれがある。その結果、エンド位置対応モータ角θma_le,θma_reも不正確な角度が設定されるおそれがある。この点、本実施形態では、一旦、エンド位置対応モータ角θma_le,θma_reが設定されても、エンド位置対応モータ角θma_le,θma_reと同一符号かつ絶対値が大きいモータ絶対角θmaが検出された場合に更新されるため、誤ったエンド位置対応モータ角θma_le,θma_reが設定されることを抑制できる。
(5)左右のエンド位置対応モータ角θma_le,θma_reの平均値をオフセット角Δθとし、モータ絶対角θmaからオフセット角Δθを減算した角度を制御舵角θsの原点として設定するようにしたため、容易にステアリング中立位置に対応する原点を設定できる。
(6)例えば転舵輪3が縁石等に当たることで、ラック軸12がラックエンド位置にあると判定され、誤ったエンド位置対応モータ角θma_le,θma_reが設定された場合には、左右のエンド位置対応モータ角θma_le,θma_reの絶対値の和であるストローク幅Wmaがストローク閾値Wthよりも小さくなる。この点を踏まえ、ストローク幅Wmaがストローク閾値Wth未満である場合には原点を設定しないようにしたため、誤った制御舵角θsの原点を設定することを抑制できる。
(7)操舵制御装置6は、制御舵角θsの絶対値がエンド近傍舵角θneの絶対値を超えた場合に、制御舵角θsの絶対値の増大に基づいてトルク指令値であるq軸電流指令値Iq*の絶対値を小さくするエンド当て緩和制御を行う。そして、制御舵角θsの原点を設定する際において、左右のエンド位置対応モータ角θma_le,θma_reが設定された後、モータ絶対角θmaがエンド位置対応モータ角θma_le,θma_reよりもステアリング中立位置側に第1角度θ1以上近づいてから、該左右のエンド位置対応モータ角θma_le,θma_reに基づいて原点を設定するようにした。そのため、左右のエンド位置対応モータ角θma_le,θma_reを設定した直後、すなわちラック軸12がまだラックエンド位置にある状態で制御舵角θsの原点を設定することで、エンド当て緩和制御が実行され、EPSアクチュエータ5により操舵反力が突然付与されることを防止できる。
(8)モータ21の角速度ωmが停止状態を示す所定角速度ωth以下であり、かつ操舵機構4に付与されるピニオン軸トルクTpが所定トルクTth以上である場合にラック軸12がラックエンド位置であると判定するようにしたため、ラック軸12がラックエンド位置にあることを容易かつ正確に判断できる。
(第2実施形態)
次に、操舵制御装置の第2実施形態を図面に従って説明する。なお、説明の便宜上、同一の構成については上記第1実施形態と同一の符号を付してその説明を省略する。
図9に示すように、本実施形態の電流指令値演算部51は、基本アシスト演算部61及び電流補正値演算部62に加え、暫定電流補正値演算部81を備えている。また、制御舵角演算部53は、上記第1実施形態と同様に制御舵角θsを演算することに加え、制御舵角θsの原点が未設定の状態で、左右いずれかのエンド当てが複数回行われた場合に、該エンド当てが行われた方向のラックエンド位置でのモータ絶対角θmaにより表される暫定エンド位置対応舵角θma_xeを設定する。そして、暫定エンド位置対応舵角θma_xeからモータ絶対角θmaを減算した値である暫定エンド離間角θsxを暫定電流補正値演算部81に出力し、該暫定電流補正値演算部81から暫定電流補正値Irb*が出力されるようにする。なお、制御舵角演算部53は、制御舵角θsの原点の設定後は、暫定エンド離間角θsxを演算せず、制御舵角θsのみを演算する。
具体的には、図10のフローチャートに示すように、制御舵角演算部53は、ステップ105の制御舵角原点設定処理が行われた後に、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2を設定する複数の一方エンド位置対応モータ角設定処理を行い(ステップ401)、暫定エンド位置対応舵角設定処理を行う(ステップ402)。そして、ステップ402で設定された暫定エンド位置対応舵角θma_xeに基づいて、暫定エンド離間角θsxを演算する(ステップ403)。なお、ステップ401~403以外の処理は、上記第1実施形態と同様に行われる。
暫定電流補正値演算部81は、制御舵角演算部53から出力される暫定エンド離間角θsx及び角速度ωmに基づいて暫定電流補正値Irb*を演算する。なお、暫定電流補正値演算部81は、制御舵角演算部53から暫定エンド離間角θsxが出力されない場合には、暫定電流補正値Irb*を演算しない、又は暫定電流補正値Irb*としてゼロを出力する。暫定電流補正値Irb*は、ステアリングシャフト11に操舵反力が付与されるように、基本電流指令値Ias*を補正する補正成分であり、暫定電流補正値Irb*を減算器63に出力することで、エンド当ての衝撃を緩和する暫定エンド当て緩和制御を実行する。
暫定電流補正値演算部81は、例えば図11に示すようなマップを有しており、このマップに基づいて暫定エンド離間角θsx及び角速度ωmから暫定電流補正値Irb*を演算する。このマップでは、暫定エンド離間角θsxの絶対値がゼロに近いほど、また角速度ωmの絶対値が大きいほど、大きな暫定電流補正値Irb*が演算されるように設定されており、暫定エンド離間角θsxの絶対値が第2角度θ2以上になると、暫定電流補正値Irb*がゼロとなるように設定されている。第2角度θ2は、暫定エンド位置対応舵角θma_xeから該暫定エンド位置対応舵角θma_xeよりもステアリング中立位置に近い暫定エンド近傍舵角θnxeまでの角度であり、該暫定エンド近傍舵角θnxeが暫定エンド位置対応舵角θma_xeから離間しすぎないような比較的小さな角度に設定されている。なお、本実施形態の第2角度θ2の大きさは、第1角度θ1の大きさと等しく設定されている。つまり、電流指令値演算部51は、モータ絶対角θmaの暫定エンド近傍舵角θnxeまでの角度が第2角度θ2未満になった場合に、暫定エンド当て緩和制御を行う。
減算器63には、基本電流指令値Ias*に加え、制御舵角演算部53が制御舵角θs及び暫定エンド離間角θsxのいずれを演算するかに応じて、電流補正値Ira*又は暫定電流補正値Irb*が入力される。そして、減算器63は、基本アシスト演算部61で演算された基本電流指令値Ias*から、電流補正値Ira*又は暫定電流補正値Irb*を減算することによりq軸電流指令値Iq*を演算する。これにより、マイコン41は、制御舵角θsの絶対値がエンド近傍舵角θneの絶対値を超えた場合に、該制御舵角θsの絶対値の増大に基づいてトルク指令値となるq軸電流指令値Iq*の絶対値を小さくするエンド当て緩和制御、又は暫定エンド離間角θsxが第2角度θ2未満になった場合に、該暫定エンド離間角θsxの減少に基づいてトルク指令値となるq軸電流指令値Iq*の絶対値を小さくする暫定エンド当て緩和制御を実行する。
次に、暫定エンド位置対応舵角θma_xeの設定について説明する。
図12に示すように、本実施形態の制御舵角演算部53は、上記第1実施形態の各ブロックに加え、一方エンド位置対応モータ角設定部91と、暫定エンド位置対応舵角設定部92と、暫定エンド離間角演算部93とを備えている。
一方エンド位置対応モータ角設定部91には、判定信号S及びモータ絶対角θmaが入力される。一方エンド位置対応モータ角設定部91は、メモリ55に接続されている。そして、一方エンド位置対応モータ角設定部91は、エンド位置対応モータ角設定部74によりエンド位置対応モータ角θma_le,θma_reのいずれかがメモリ55に設定されると、該エンド位置対応モータ角θma_le,θma_reのいずれかを一方エンド位置対応モータ角の一である第1一方エンド位置対応モータ角θma_x1として設定する。また、一方エンド位置対応モータ角設定部91は、第1一方エンド位置対応モータ角θma_x1を設定してから切り戻し操舵が行われたことを示す所定操舵量θth以上、モータ絶対角θmaが変化した後に、ラック軸12が同一方向のエンド位置にある旨の判定信号Sが入力されたときのモータ絶対角θmaを第2一方エンド位置対応モータ角θma_x2として設定する。なお、所定操舵量θthは、例えばストローク閾値Wthの半分程度、すなわちラックエンド位置からステアリング中立位置までの操舵量等に設定されており、回転センサ33の検出誤差に比べて十分に大きな値に設定される。
具体的には、図13のフローチャートに示すように、一方エンド位置対応モータ角設定部91は、ステップ401の処理として、ステップ501~ステップ514の処理を実行する。一方エンド位置対応モータ角設定部91は、各種状態量を取得すると(ステップ501)、制御フラグがセットされているか否かを判定し(ステップ502)、制御フラグがセットされている場合には(ステップ502:YES)、暫定フラグがセットされているか否かを判定する(ステップ503)。暫定フラグは、暫定エンド位置対応舵角θma_xeの基礎となる第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2がメモリ55に設定されているか否かを示すフラグであり、操舵制御装置6への電力供給が再開された時点ではリセットされている。なお、制御フラグがセットされていない場合(ステップ502:NO)、及び暫定フラグがセットされている場合には(ステップ503:YES)、これ以降のステップ402の処理を実行しない。
続いて、一方エンド位置対応モータ角設定部91は、暫定フラグがセットされていない場合には(ステップ503:NO)、第1一方エンド位置対応モータ角θma_x1が設定されているか否かを判定する(ステップ504)。第1一方エンド位置対応モータ角θma_x1が設定されていない場合には(ステップ504:NO)、上記ステップ104において設定された左右いずれかのエンド位置対応モータ角θma_le,θma_reが設定されているか否かを判定する(ステップ505)。そして、左右いずれかのエンド位置対応モータ角θma_le,θma_reが設定されている場合には(ステップ505:YES)、当該角度を第1一方エンド位置対応モータ角θma_x1として設定する(ステップ506)。なお、操舵制御装置6への電力供給が停止された後に、再び電力供給が開始されると、エンド位置対応モータ角θma_le,θma_reのいずれか一方が先にメモリ55に設定される。そのため、第1一方エンド位置対応モータ角θma_x1が設定されていない状態で、エンド位置対応モータ角θma_le,θma_reの双方がメモリ55に設定されている状態は発生しない。一方、第1一方エンド位置対応モータ角θma_x1が設定されている場合には(ステップ504:YES)、ステップ506の処理を実行せずに、ステップ507に移行する。また、左右いずれかのエンド位置対応モータ角θma_le,θma_reが設定されていない場合には(ステップ505:NO)、これ以降のステップ402の処理を実行しない。
続いて、一方エンド位置対応モータ角設定部91は、ステップ507において、モータ絶対角θmaの符号に基づいて、操舵方向が第1一方エンド位置対応モータ角θma_x1のエンド方向と同一であるか否かを判定する。操舵方向が第1一方エンド位置対応モータ角θma_x1のエンド方向と同一である場合には(ステップ507:YES)、学習許可フラグがセットされているか否かを判定する(ステップ508)。学習許可フラグは、エンド位置判定部73によりラック軸12がラックエンド位置にあると判定されたときのモータ絶対角θmaを第2一方エンド位置対応モータ角θma_x2として設定してもよいか否かを示すフラグであり、操舵制御装置6への電力供給が再開された時点ではリセットされている。
一方エンド位置対応モータ角設定部91は、学習許可フラグがセットされていない場合には(ステップ508:NO)、第1一方エンド位置対応モータ角θma_x1からモータ絶対角θmaを減算した値の絶対値が所定操舵量θthよりも大きいか否かを判定する(ステップ509)。該減算した値の絶対値が所定操舵量θthよりも大きい場合には(ステップ509:YES)、学習許可フラグをセットする(ステップ510)。なお、該減算した値の絶対値が所定操舵量θth以下の場合には(ステップ509:NO)、学習許可フラグをセットしない。
一方、学習許可フラグがセットされている場合には(ステップ508:YES)、ラック軸12がラックエンド位置にある旨の判定信号Sが入力されたか否かを判定する(ステップ511)。そして、ラック軸12がラックエンド位置にある旨の判定信号Sが入力された場合には(ステップ511:YES)、同演算周期でのモータ絶対角θmaを第2一方エンド位置対応モータ角θma_x2として設定し(ステップ512)、暫定フラグをセットし(ステップ513)、学習許可フラグをリセットする(ステップ514)。
図12に示すように、暫定エンド位置対応舵角設定部92は、メモリ55に第1及び第2一方エンド位置対応モータ角θma_x1,θma_x2の両方が設定されている場合には、第1一方エンド位置対応モータ角θma_x1と第2一方エンド位置対応モータ角θma_x2との差分αを演算する。そして、暫定エンド位置対応舵角設定部92は、差分αが所定差分αth以下である場合には、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2の平均値を暫定エンド位置対応舵角θma_xeとして演算する。なお、所定差分αthは、回転センサ33の検出誤差や、トルクセンサ32の検出誤差等に起因して生じる機械的な弾性変形に基づくモータ絶対角θmaの補正量のばらつき等を考慮して、ゼロよりもやや大きな値に設定されている。続いて、暫定エンド位置対応舵角設定部92は、モータ絶対角θmaが演算した暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づいている場合に、該暫定エンド位置対応舵角θma_xeをメモリ55に設定する。
具体的には、図14のフローチャートに示すように、暫定エンド位置対応舵角設定部92は、ステップ402の処理として、ステップ601~ステップ610の処理を実行する。暫定エンド位置対応舵角設定部92は、各種状態量を取得すると(ステップ601)、暫定エンド位置対応舵角θma_xeが設定されているか否かを判定する(ステップ602)。暫定エンド位置対応舵角θma_xeが設定されている場合には(ステップ602:YES)、これ以降のステップ403の処理を実行しない。これに対し、暫定エンド位置対応舵角θma_xeが設定されていない場合には(ステップ602:NO)、第1及び第2一方エンド位置対応モータ角θma_x1,θma_x2がメモリ55に設定されているか否かを判定する(ステップ603)。第1及び第2一方エンド位置対応モータ角θma_x1,θma_x2が設定されていない場合には(ステップ603:NO)、これ以降のステップ403の処理を実行しない。これに対し、第1及び第2一方エンド位置対応モータ角θma_x1,θma_x2が設定されている場合には(ステップ603:YES)、暫定エンド位置対応舵角θma_xeが演算済みであるか否かを判定する(ステップ604)。暫定エンド位置対応舵角θma_xeがまだ演算されていない場合には(ステップ604:NO)、第1一方エンド位置対応モータ角θma_x1と第2一方エンド位置対応モータ角θma_x2との差分αが所定差分αth以下であるか否かを判定する(ステップ605)。そして、差分αが所定差分αth以下である場合には(ステップ605:YES)、第1一方エンド位置対応モータ角θma_x1及び第2一方エンド位置対応モータ角θma_x2の平均値を暫定エンド位置対応舵角θma_xeとして演算し(ステップ606)、ステップ607に移行する。なお、暫定エンド位置対応舵角θma_xeが演算済みである場合には(ステップ604:YES)、ステップ605,606の処理を実行せずにステップ607に移行する。
続いて、暫定エンド位置対応舵角設定部92は、ステップ607において、暫定エンド位置対応舵角θma_xeからモータ絶対角θmaを減算した値の絶対値が第2角度θ2以上であるか否か、すなわちモータ絶対角θmaが暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づいたか否かを判定する。モータ絶対角θmaが暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づいた場合には(ステップ607:YES)、演算した暫定エンド位置対応舵角θma_xeをメモリ55に設定する(ステップ608)。一方、モータ絶対角θmaが暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づいていない場合には(ステップ607:NO)、ステップ608の処理を実行しない。
また、暫定エンド位置対応舵角設定部92は、差分αが所定差分αthよりも大きい場合には(ステップ605:NO)、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2のうちのいずれか大きい方を第1一方エンド位置対応モータ角θma_x1として更新し、他方を削除する(ステップ609)。そして、暫定フラグをリセットする(ステップ610)。
図12に示すように、暫定エンド離間角演算部93には、モータ絶対角θmaが入力される。そして、暫定エンド離間角演算部93は、メモリ55に暫定エンド位置対応舵角θma_xeが設定されている場合には、暫定エンド位置対応舵角θma_xeからモータ絶対角θmaを減算した値を暫定エンド離間角θsxとして暫定電流補正値演算部81に出力する。これにより、暫定電流補正値演算部81から暫定電流補正値Irb*が出力され、暫定エンド当て緩和制御が実行される。なお、暫定エンド離間角演算部93は、メモリ55に暫定エンド位置対応舵角θma_xeが設定されていない場合、及び制御舵角θsの原点が設定されている場合には、暫定エンド離間角θsxを演算せず、暫定電流補正値演算部81に出力しない。
次に、本実施形態の作用効果について記載する。なお、本実施形態では、上記第1実施形態の(1)~(8)の作用効果に加えて以下の作用効果を有する。
(9)本実施形態の操舵制御装置6は、制御舵角θsの原点が未設定の状態において、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2に基づいて、暫定エンド位置対応舵角θma_xeを設定し、暫定エンド離間角θsxの減少に基づいてトルク指令値であるq軸電流指令値Iq*の絶対値を小さくする暫定エンド当て緩和制御を行うようにした。
ここで、例えば車両の走行状況等によっては、左右いずれか一方のみのエンド当てが繰り返し発生することが想定される。しかし、左右両方のエンド当てが発生しなければ、制御舵角θsの原点が設定されず、エンド当て緩和制御が実行されないため、エンド当ての衝撃が運転者に不快感を与えるおそれがある。また、例えば転舵輪3が縁石等に当たることで、左右いずれか一方のエンド位置対応モータ角θma_le,θma_reが設定された場合を考慮すると、一回のエンド当てで設定されたエンド位置対応モータ角のみでは、設定されたエンド位置対応モータ角が実際のエンド位置と正確に対応するものではない可能性がある。
この点、本実施形態では、制御舵角θsの原点が設定されていない状態、例えば適切な左右両方のエンド位置対応モータ角θma_le,θma_reが設定されていない状態や左右一方のみのエンド位置対応モータ角θma_le,θma_reが設定されている状態でも、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2に基づくことで、実際のラックエンド位置に対応する適切な暫定エンド位置対応舵角θma_xeを設定できる。そして、暫定エンド位置対応舵角θma_xeに基づいて暫定エンド当て緩和制御を行うことで、制御舵角θsの原点が設定されていない状態で、いずれか一方のみのエンド当てが繰り返される場合にも、該一方のエンド当ての衝撃を緩和できる。
(10)暫定エンド位置対応舵角設定部92は、暫定エンド位置対応舵角θma_xeを演算した後、モータ絶対角θmaが暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づいてから暫定エンド位置対応舵角θma_xeを設定するようにした。そのため、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2を設定した直後、すなわちラック軸12がまだエンド位置にある状態で暫定エンド位置対応舵角θma_xeを設定することで、暫定エンド当て緩和制御が実行され、EPSアクチュエータ5により操舵反力が突然付与されることを防止できる。
(11)暫定エンド位置対応舵角設定部92は、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2の平均値を暫定エンド位置対応舵角θma_xeとして設定するため、暫定エンド位置対応舵角θma_xeを好適に設定できる。
(12)暫定エンド位置対応舵角設定部92は、第1一方エンド位置対応モータ角θma_x1と、第1一方エンド位置対応モータ角θma_x1を設定してから所定操舵量θth以上、モータ絶対角θmaが変化した後に設定された第2一方エンド位置対応モータ角θma_x2とを用いて暫定エンド位置対応舵角θma_xeを設定するようにした。そのため、第2一方エンド位置対応モータ角θma_x2が、第1一方エンド位置対応モータ角θma_x1を設定した後に切り戻し操舵が行われてから設定されるため、第1一方エンド位置対応モータ角θma_x1を設定した状況から車両が移動した後に、第2一方エンド位置対応モータ角θma_x2が設定される可能性が高くなる。これにより、例えば第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2のいずれもが、転舵輪3が縁石に当たった状態で設定され、これらに基づいて暫定エンド位置対応舵角θma_xeが設定されることを抑制できる。
(13)暫定エンド位置対応舵角設定部92は、第1一方エンド位置対応モータ角θma_x1と第2一方エンド位置対応モータ角θma_x2との差分αが所定差分αth以下である場合に、暫定エンド位置対応舵角θma_xeを設定するようにした。
ここで、ラックエンド位置はEPS1毎に予め決まっているため、ラック軸12がラックエンド位置にある状態で、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2が設定された場合には、これらの差分αは小さな値となる。一方、転舵輪3が縁石に当たった際のモータ絶対角θmaは状況毎に異なるため、転舵輪3が縁石に当たった状態で第1及び第2一方エンド位置対応モータ角θma_x2が設定された場合には、これらの差分αが大きくなる。したがって、本実施形態のように、差分αが所定差分αth以下である場合に、暫定エンド位置対応舵角θma_xeを設定することで、例えば第1一方エンド位置対応モータ角θma_x1が、転舵輪3が縁石に当たった状態で設定された場合に、暫定エンド位置対応舵角θma_xeが設定されることを抑制できる。
(第3実施形態)
次に、操舵制御装置の第3実施形態を図面に従って説明する。なお、本実施形態と上記第1実施形態との主たる相違点は、上記第1実施形態では基本電流指令値Ias*から電流補正値Ira*を差し引くことによりエンド当て緩和制御を実行したのに対し、本実施形態では基本電流指令値Ias*にガード処理を施すことにより同制御を実行する点である。このため、説明の便宜上、同一の構成については上記第1実施形態と同一の符号を付してその説明を省略する。
図15に示すように、本実施形態の電流指令値演算部51は、基本アシスト演算部61と、基本電流指令値Ias*を制御舵角θsに基づいて制限するガード処理部101と備えており、上記第1実施形態の電流補正値演算部62は備えていない。
ガード処理部101には、基本アシスト演算部61から出力される基本電流指令値Ias*及び制御舵角演算部53(図2参照)から出力される制御舵角θsが入力される。ガード処理部101は、基本電流指令値Ias*の絶対値を電流制限値Iga以下に制限し、q軸電流指令値Iq*として出力する。そして、ガード処理部101は、制御舵角θsの絶対値がエンド近傍舵角θneを超えた場合に、その増大に基づいて電流制限値Igaの絶対値を減少させる。
具体的には、ガード処理部101は、例えば図15に示すようなマップを有しており、このマップに基づいて制御舵角θsに応じた電流制限値Igaを演算する。このマップでは、電流制限値Igaは、制御舵角θsの絶対値がエンド近傍舵角θneを超えるまでは、所定電流値Imaxとされ、制御舵角θsの絶対値がエンド近傍舵角θneの絶対値よりも大きくなると、制御舵角θsの絶対値が大きくなるほど、電流制限値Igaの絶対値が小さくなるように設定されている。なお、所定電流値Imaxは、基本アシスト演算部61で演算される基本電流指令値Ias*の最大値、すなわち基本電流指令値Ias*を制限しないような値に設定されている。
そして、ガード処理部101は、制御舵角θsに応じた電流制限値Igaを演算し、入力される基本電流指令値Ias*の絶対値が電流制限値Iga以下の場合には、基本電流指令値Ias*の値をそのままq軸電流指令値Iq*として出力する。一方、入力される基本電流指令値Ias*の絶対値が電流制限値Igaよりも大きい場合には、基本電流指令値Ias*の値を電流制限値Igaの値に制限してq軸電流指令値Iq*として出力する。なお、ガード処理部101は、制御舵角演算部53から制御舵角θsが出力されない場合には、基本電流指令値Ias*の値をそのままq軸電流指令値Iq*として出力する。これにより、マイコン41は、制御舵角θsの絶対値がエンド近傍舵角θneの絶対値を超えた場合に、該制御舵角θsの絶対値の増大に基づいてトルク指令値となるq軸電流指令値Iq*の絶対値を小さくするエンド当て緩和制御を実行する。
以上、本実施形態では、上記第1実施形態の(1)~(8)の作用効果と同様の作用効果を有する。
(第4実施形態)
次に、操舵制御装置の第4実施形態を図面に従って説明する。なお、本実施形態と上記第2実施形態との主たる相違点は、上記第2実施形態では基本電流指令値Ias*から暫定電流補正値Irb*を差し引くことにより、暫定エンド当て緩和制御を実行したのに対し、本実施形態では基本電流指令値Ias*に暫定ガード処理を施すことにより同制御を実行する点である。このため、説明の便宜上、同一の構成については上記第2実施形態と同一の符号を付してその説明を省略する。
図16に示すように、本実施形態の電流指令値演算部51は、基本アシスト演算部61と、基本電流指令値Ias*を制御舵角θsに基づいて制限するガード処理部111と、ガード処理後の基本電流指令値Ias**を暫定エンド離間角θsxに基づいて制限する暫定ガード処理部112とを備えている。なお、上記第2実施形態の電流補正値演算部62、及び暫定電流補正値演算部81は備えていない。
ガード処理部111は、上記第3実施形態のガード処理部101と同様に構成されており、制御舵角θsに基づいて基本電流指令値Ias*を制限する。暫定ガード処理部112には、ガード処理後の基本電流指令値Ias**、制御舵角演算部53(図9参照)から出力される暫定エンド離間角θsx、及び角速度演算部54(図9参照)から出力される角速度ωmが入力される。暫定ガード処理部112は、ガード処理後の基本電流指令値Ias**の絶対値を暫定電流制限値Igb以下に制限し、q軸電流指令値Iq*として出力する。そして、暫定ガード処理部112は、暫定エンド離間角θsxの絶対値が第2角度θ2未満になった場合に、その減少に基づいて暫定電流制限値Igbの絶対値を減少させる。
具体的には、暫定ガード処理部112は、例えば図16に示すようなマップを有しており、このマップに基づいて暫定エンド離間角θsxに応じた暫定電流制限値Igbを演算する。このマップでは、暫定電流制限値Igbは、暫定エンド離間角θsxの絶対値がゼロに近いほど、電流制限値Igaの絶対値が小さくなるように設定されている。また、暫定電流制限値Igbは、暫定エンド離間角θsxの絶対値が第2角度θ2以上になると、暫定電流制限値Igbが所定電流値Imaxとなるように設定されている。さらに、暫定電流制限値Igbは、角速度ωmの絶対値が小さいほど、暫定エンド離間角θsxの絶対値が第2角度θ2未満となった後に所定電流値Imaxとなる範囲が長くなるように設定されている。
そして、暫定ガード処理部112は、暫定エンド離間角θsxに応じた暫定電流制限値Igbを演算し、入力されるガード処理後の基本電流指令値Ias**の絶対値が暫定電流制限値Igb以下の場合には、該基本電流指令値Ias*の値をそのままq軸電流指令値Iq*として出力する。一方、入力されるガード処理後の基本電流指令値Ias**の絶対値が暫定電流制限値Igbよりも大きい場合には、該基本電流指令値Ias*の値を暫定電流制限値Igbの値に制限してq軸電流指令値Iq*として出力する。なお、暫定ガード処理部112は、制御舵角演算部53から暫定エンド離間角θsxが出力されない場合には、ガード処理後の基本電流指令値Ias**の値をそのままq軸電流指令値Iq*として出力する。これにより、マイコン41は、暫定エンド離間角θsxが第2角度θ2未満になった場合に、該暫定エンド離間角θsxの減少に基づいてトルク指令値となるq軸電流指令値Iq*の絶対値を小さくする暫定エンド当て緩和制御を実行する。
以上、本実施形態では、上記第1実施形態の(1)~(8)及び上記第2実施形態の(9)~(13)の作用効果と同様の作用効果を有する。
上記各実施形態は、以下のように変更して実施することができる。各実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記第2及び第4実施形態において、第1角度θ1と第2角度θ2との大きさを互いに異なるように設定してもよい。
・上記第2実施形態では、暫定電流補正値演算部81は、制御舵角演算部53から出力される暫定エンド離間角θsxに基づいて暫定電流補正値Irb*を演算した。しかし、これに限らず、例えば制御舵角演算部53からモータ絶対角θmaが出力される構成とし、該モータ絶対角θmaの絶対値が暫定エンド近傍舵角θnxeの絶対値を超えた場合に、暫定電流補正値Irb*を演算するようにしてもよい。また、制御舵角演算部53からエンド位置対応モータ角θma_le,θma_reと制御舵角θsとの差分であるエンド離間角が電流補正値演算部62に出力される構成とし、電流補正値演算部62がエンド離間角に基づいて電流補正値Ira*を演算するようにしてもよい。なお、エンド離間角に基づいて電流補正値Ira*を演算する構成を上記第1実施形態にも適用可能であることは言うまでもない。
・上記第2実施形態では、暫定電流補正値演算部81は、角速度ωmが大きいほど、大きな暫定電流補正値Irb*を演算したが、これに限らず、例えば角速度ωmに関係なく、暫定エンド離間角θsxのみに基づいて暫定電流補正値Irb*を演算してもよい。また、電流補正値演算部62について、角速度ωmが大きいほど、大きな電流補正値Ira*を演算するようにしてもよい。なお、角速度ωmに基づいて電流補正値Ira*を演算する構成を上記第1実施形態にも適用可能であることは言うまでもない。
・上記第4実施形態では、暫定ガード処理部112は、角速度ωmの絶対値が小さいほど、暫定エンド離間角θsxの絶対値が第2角度θ2未満となった後に暫定電流制限値Igbが所定電流値Imaxとなる範囲が長くなるように設定した。しかし、これに限らず、例えば角速度ωmに関係なく、暫定エンド離間角θsxのみに基づいて暫定電流制限値Igbを演算してもよい。また、ガード処理部101について、角速度ωmの絶対値が小さいほど、制御舵角θsの絶対値がエンド近傍舵角θneを超えた後に電流制限値Igaが所定電流値Imaxとなる範囲が長くなるように設定してもよい。なお、角速度ωmに基づいて電流制限値Igaを演算する構成を上記第3実施形態にも適用可能であることは言うまでもない。
・上記第3及び第4実施形態において、基本電流指令値Ias*に操舵感の向上等を目的とする補償量(例えばダンピング補償量)を適用してもよい。なお、この場合には、基本電流指令値Ias*に補償量を適用した後の指令値に対してガード処理又は暫定ガード処理を施すようにすればよい。
・上記第2及び第4実施形態において、第1一方エンド位置対応モータ角θma_x1と第2一方エンド位置対応モータ角θma_x2との差分αが所定差分αthより大きい場合でも、これらに基づいて暫定エンド位置対応舵角θma_xeを設定してもよい。
・上記第2及び第4実施形態では、第1及び第2一方エンド位置対応モータ角θma_x1,ma_x2の平均値を暫定エンド位置対応舵角θma_xeとして設定した。しかし、これに限らず、例えば第1一方エンド位置対応モータ角θma_x1をそのまま暫定エンド位置対応舵角θma_xeとして設定してもよく、暫定エンド位置対応舵角θma_xeを演算する方法は適宜変更可能である。
・上記第2及び第4実施形態において、第2一方エンド位置対応モータ角θma_x2を、第1一方エンド位置対応モータ角θma_x1を設定してから切り戻し操舵が行われたことを示す所定操舵量θth以上、モータ絶対角θmaが変化する前に設定してもよい。
・上記第2及び第4実施形態において、暫定エンド位置対応舵角θma_xeを演算すると同時に設定し、モータ絶対角θmaが暫定エンド位置対応舵角θma_xeよりもステアリング中立位置側に第2角度θ2以上近づく前に暫定エンド当て緩和制御を実行してもよい。
・上記各実施形態では、制御舵角演算部53は、制御舵角θsの原点を設定すべきことを示す制御フラグがセットされているか否かに基づいて、制御舵角θsの原点を設定したが、これに限らない。例えばユーザによる所定の操作をトリガとして制御舵角θsの原点を設置してもよく、その態様は適宜変更可能である。また、制御フラグについて、例えばイグニッションのオンオフが所定回数以上行われたときにセットされるようにしてもよく、その設定は適宜変更可能である。
・上記各実施形態では、モータ21の角速度ωm及びピニオン軸トルクTpに基づいてラック軸12がラックエンド位置にあるか否かのエンド位置判定を行ったが、これに限らず、例えばピニオン軸トルクTpのみに基づいてエンド位置判定を行ってもよい。また、例えばモータ21の角加速度を用いてエンド位置判定を行ってもよい。この場合、例えば角速度ωmに代えてモータ21の角加速度を用いることができる。さらに、ラックエンド18に接触センサを設け、同センサの信号に基づいてエンド位置判定を行ってもよく、その判定態様は適宜変更可能である。
・上記各実施形態において、左右のエンド位置対応モータ角θma_le,θma_reが設定された直後にこれらに基づいて制御舵角θsの原点を設定してもよい。
・上記各実施形態では、ストローク幅Wmaがストローク閾値Wth未満であるか否かを判定したが、ストローク幅Wmaがストローク閾値Wth未満であるか否かを判定せずに、制御舵角θsの原点を設定してもよい。
・上記各実施形態では、左右のエンド位置対応モータ角θma_le,θma_reの平均値をオフセット角Δθとし、モータ絶対角θmaからオフセット角Δθを減算した角度を制御舵角θsのステアリング中立位置に対応する原点として設定した。しかし、これに限らず、制御舵角θsのステアリング中立位置に対応する原点を演算する方法は適宜変更可能である。
・上記各実施形態において、一旦、エンド位置対応モータ角θma_le,θma_reを設定した後は、それ以降にエンド位置対応モータ角θma_le,θma_reと同一符号かつ絶対値が大きいモータ絶対角θmaが検出されても、エンド位置対応モータ角θma_le,θma_reを更新しないようにしてもよい。
・上記各実施形態では、素モータ絶対角から、操舵機構4の弾性係数Kにピニオン軸トルクTpを乗算して得られる弾性変形に基づくモータ21の回転(K×Tp)を減算した値をモータ絶対角θmaとして検出した。しかし、これに限らず、ピニオン軸トルクTp以外の成分、例えばモータ21の角加速度等を考慮して、弾性変形に基づくモータ21の回転を推定し、この推定された回転を素モータ絶対角から減算することでモータ絶対角θmaとして検出してもよい。
・上記各実施形態では、モータ絶対角演算部71は、モータ絶対角θmaを操舵機構4に付与されたピニオン軸トルクTpにより生じる機械的な弾性変形に基づいて補正した角度で取得するようにしたが、これに限らず、機械的な弾性変形に基づいて補正しなくてもよい。
・上記各実施形態では、ステアリング中立位置を原点とするモータ絶対角θmaで示される制御舵角θsに基づいてエンド当て緩和制御を行うようにしたが、これに限らず、制御舵角θsの原点は、例えば左右いずれかのラックエンド位置でもよく、適宜変更可能である。
・上記各実施形態では、制御舵角θsに基づいてエンド当て緩和制御を行ったが、これに限らず、例えばステアリングホイール2の切り戻し時に、円滑にステアリング中立位置に戻るようにアシストする制御等を制御舵角θsに基づいて行ってもよく、制御舵角θsに基づいて各種制御を行うことが可能である。
・上記各実施形態では、操舵制御装置6は、EPSアクチュエータ5がコラム軸14にモータトルクTmを付与する形式のEPS1を制御対象としたが、これに限らず、例えばボール螺子ナットを介してラック軸12にモータトルクTmを付与する形式の操舵装置を制御対象としてもよい。また、EPSに限らず、運転者による操作される操舵部と、転舵輪を転舵させる転舵部とか機械的に分離されたステアバイワイヤ式の操舵装置を制御対象とし、転舵部に設けられる転舵アクチュエータのモータの回転角に基づいて制御舵角を演算してもよい。
次に、上記各実施形態及び別例から把握できる技術的思想について、それらの効果とともに以下に追記する。
(イ)前記操舵機構は、コラム軸、中間軸及びピニオン軸を連結してなるステアリングシャフトの回転を、ラックアンドピニオン機構を介して前記転舵軸としてのラック軸の往復動に変換して伝達するものであり、前記アクチュエータは、前記コラム軸に前記モータのモータトルクを付与するものである操舵制御装置。上記構成では、モータトルクがコラム軸、中間軸、ピニオン軸及びラック軸等を介して転舵輪に伝達されるため、ラック軸の圧縮のみならず、例えば中間軸の捻れ等、付与されるトルクによって操舵機構の弾性変形が大きくなりやすい。したがって、操舵機構に生じている弾性変形に基づいて補正したモータ絶対角をエンド位置対応モータ角として設定する効果は大である。