以下、発明を実施するための形態(以下、実施形態という)につき図面を参照しつつ詳細に説明する。なお、下記の実施形態により本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、下記実施形態で開示した構成要素は適宜組み合わせることが可能である。
図1は、本開示に係る制御装置を備えるSBWシステムの概要の例を示す構成図である。運転者が操作するハンドルを有する操舵機構を構成する反力装置30、転舵輪を転舵する転舵機構を構成する転舵装置40、及び両装置の制御を行う制御装置50を備える。
SBWシステムには、一般的な電動パワーステアリング装置が備える、コラム軸(ステアリングシャフト、ハンドル軸)2と機械的に結合されるインターミディエイトシャフトがなく、運転者によるハンドル1の操作を電気信号によって、具体的には、反力装置30から出力される操舵角θhを電気信号として伝える。
反力装置30は、反力用モータ31及び反力用モータ31の回転速度を減速する減速機構32を備える。反力装置30は、転舵輪5L,5Rから伝わる車両の運動状態を操舵反力として運転者に伝達する。反力用モータ31は、ウォーム減速機や遊星歯車減速機などの減速機構32を介して、操舵反力をハンドル1に付与する。
反力装置30は、舵角センサ33及びトルクセンサ34を更に備えている。舵角センサ33は、ハンドル1の操舵角θhを検出する。トルクセンサ34は、ハンドル1の操舵トルクThを検出する。以下、舵角センサ33によって検出される操舵角θhを、「実操舵角θh_act」とも称し、トルクセンサ34によって検出される操舵トルクThを、「実操舵トルクTh_act」とも称する。
本開示において、コラム軸2には、操舵可能な限界となる操舵終端を物理的に設定するストッパ(回転制限機構)35が設けられている。すなわち、操舵角θhの大きさ(絶対値)は、ストッパ35によって制限される。
転舵装置40は、転舵用モータ41、転舵用モータ41の回転速度を減速する減速機構42、及び転舵用モータ41の回転運動を直線運動に変換するピニオンラック機構44を備える。転舵装置40は、操舵角θhに応じて転舵用モータ41を駆動し、その駆動力を、減速機構42を介してピニオンラック機構44に付与し、タイロッド3a,3bを経て、転舵輪5L,5Rを転舵する。ピニオンラック機構44の近傍には角度センサ43が配置されており、転舵輪5L,5Rの転舵角θtを検出する。転舵輪5L,5Rの転舵角θtに代えて、例えば、転舵用モータ41のモータ角、あるいは、ラックの位置等を検出し、当該検出値を用いる態様であっても良い。以下、角度センサ43によって検出される転舵角θtを、「実転舵角θt_act」とも称する。
制御装置50は、反力装置30及び転舵装置40を協調制御するために、両装置から出力される操舵角θhや転舵角θt等の情報に加え、車速センサ10で検出される車速Vs等を基に、反力用モータ31を駆動制御するための電圧制御指令値Vref1及び転舵用モータ41を駆動制御するための電圧制御指令値Vref2を生成する。
制御装置50には、バッテリ12から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。また、制御装置50には、車両の各種情報を授受するCAN(Controller Area Network)20が接続されており、車速VsはCAN20から受信することも可能である。更に、制御装置50には、CAN20以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN21も接続可能である。
具体的に、制御装置50は、例えば、車両に搭載されるECU(Electronic Control Unit)である。ECUは、主としてCPU(MCU、MPU等も含む)で構成される。図2は、ECUのハードウェア構成を示す模式図である。反力装置30及び転舵装置40の協調制御は、主としてECUのCPU内部においてプログラムで実行される。
図3は、本開示に係る制御装置の制御ブロック構成の一例を示す図である。図3において、反力装置30は、反力用モータ31及び上述した構成に加え、PWM(パルス幅変調)制御部37、インバータ38、及びモータ電流検出器39を含む。また、転舵装置40は、転舵用モータ41及び上述した構成に加え、PWM制御部47、インバータ48、及びモータ電流検出器49を含む。制御装置50は、反力装置30の制御を行う反力制御系60、及び、転舵装置40の制御を行う転舵制御系70の各制御ブロックを実現する。反力制御系60と転舵制御系70とが協調して、反力装置30及び転舵装置40を制御する。
なお、制御装置50の構成要素の一部又は全部をハードウェアで実現しても良い。制御装置50は、データやプログラム等を格納するために、例えば、図2に示すように、RAM(ランダムアクセスメモリ)やROM(リードオンリーメモリ)等を含む態様であっても良い。また、制御装置50がPWM制御部37、インバータ38、モータ電流検出器39、PWM制御部47、インバータ48、及びモータ電流検出器49を具備した態様であっても良い。
図3に示すように、制御装置50は、各制御ブロックとして、操舵トルク目標値生成部200、操舵トルク制御部400、電流制御部500、転舵角目標値生成部600、転舵角制御部700、及び電流制御部800を備えている。操舵トルク目標値生成部200、操舵トルク制御部400、及び電流制御部500は、反力制御系60を構成する制御ブロックである。転舵角目標値生成部600、転舵角制御部700、及び電流制御部800は、転舵制御系70を構成する制御ブロックである。
反力制御系60は、トルクセンサ34によって検出される実操舵トルクTh_actが反力装置30の操舵トルクの目標値である操舵トルク目標値Th_refに追従するような制御を行う。
操舵トルク目標値生成部200は、操舵トルク目標値Th_refを生成する。
操舵トルク制御部400は、反力用モータ31に供給する電流の制御目標値であるモータ電流指令値Ih_refを生成する。操舵トルク制御部400では、操舵トルク目標値Th_refと実操舵トルクTh_actとの偏差Th_errがゼロに近づくようなモータ電流指令値Ih_refを演算する。
電流制御部500は、反力用モータ31の電流制御を行う。電流制御部500は、操舵トルク制御部400から出力されるモータ電流指令値Ih_refとモータ電流検出器39で検出される反力用モータ31の実電流値(モータ電流値)Ih_actとの偏差Ih_errがゼロに近づくような電圧制御指令値Vh_refを演算する。
反力装置30では、電圧制御指令値Vh_refに基づいて、PWM制御部37及びインバータ38を介して反力用モータ31が駆動制御される。
転舵制御系70は、角度センサ43によって検出される実転舵角θt_actが転舵角目標値θt_refに追従するような制御を行う。
転舵角目標値生成部600は、操舵角θhに基づき転舵角目標値θt_refを生成する。
転舵角制御部700は、転舵用モータ41に供給する電流の制御目標値であるモータ電流指令値It_refを生成する。転舵角制御部700では、転舵角目標値θt_refと実転舵角θt_actとの偏差θt_errがゼロに近づくようなモータ電流指令値It_refを演算する。
電流制御部800は、転舵用モータ41の電流制御を行う。電流制御部800は、転舵角制御部700から出力されるモータ電流指令値It_refとモータ電流検出器49で検出される転舵用モータ41の実電流値(モータ電流値)It_actとの偏差It_errがゼロに近づくような電圧制御指令値Vt_refを演算する。
転舵装置40では、電圧制御指令値Vt_refに基づいて、PWM制御部47及びインバータ48を介して転舵用モータ41が駆動制御される。
本実施形態において、操舵トルク制御部400、電流制御部500、転舵角目標値生成部600、転舵角制御部700、及び電流制御部800は、それぞれ反力制御系60又は転舵制御系70における各制御を実現可能な構成であれば良く、これら各制御ブロックの構成により限定されない。
ここで、本開示における操舵方向について説明する。図4は、本開示における操舵方向を説明するための領域図である。図4において、横軸は操舵角を示し、縦軸は舵角速度を示している。
図4に示す領域A((θh,ωh)=(+,+))では、ハンドル1が右方向に切られた状態で(θh>0)、さらに右方向に切り増されている(ωh>0)ことを示している(以下、「右切り増し操舵」とも称する)。図4に示す領域B((θh,ωh)=(+,-))では、ハンドル1が右方向に切られた状態で(θh>0)、左方向に切り戻されている(ωh<0)ことを示している(以下、「左切り戻し操舵」とも称する)。図4に示す領域C((θh,ωh)=(-,-))では、ハンドル1が左方向に切られた状態で(θh<0)、さらに左方向に切り増されている(ωh<0)ことを示している(以下、「左切り増し操舵」とも称する)。図4に示す領域D((θh,ωh)=(-,+))では、ハンドル1が左方向に切られた状態で(θh<0)、右方向に切り戻されている(ωh>0)ことを示している(以下、「右切り戻し操舵」とも称する)。また、図4において、操舵角θh軸上(ωh=0)では、ハンドル1が切り増しも切り戻しも行われていない((θh,ωh)=(θh,0))ことを示し、舵角速度ωh軸上(θh=0)では、ハンドル1がセンター位置にある((θh,ωh)=(0,ωh))ことを示している。
図1に示す態様のSBWシステムにおいて、減速機構32や反力用モータ31等のギアの接触面には、垂直荷重の増加に対して単調増加するクーロン摩擦(静摩擦及び動摩擦)が生じ、操舵トルク目標値Th_refに応じた操舵反力が適切に伝達されない可能性がある。このクーロン摩擦により、コラム軸2に、1Nm程度の静摩擦と、0.5Nm程度の動摩擦が生じる。
図5は、実操舵トルクと操舵トルク目標値との関係を示す概念図である。図6は、操舵トルク目標値と実操舵トルクとの差分と反力用モータのモータ電流値の関係を示す概念図である。
図5に示す例において、横軸は操舵角を示し、縦軸は操舵トルクを示している。図5に示す実線は実操舵トルクTh_actを示し、破線は操舵トルク目標値Th_refを示している。図5においては、操舵トルク目標値Th_refを操舵角θhに比例の関係になるように設定している。
図6に示す例において、図5に示した操舵を行った際の、横軸は反力用モータのモータ電流値を示し、縦軸は実操舵トルクと操舵トルク目標値とのトルク差分として表れるフリクション成分(=Th_act-Th_ref)を示している。なお、図6では、右操舵時のモータ電流値Ih_actを正値とし、左操舵時のモータ電流値Ih_actを負値としているが、右操舵時のモータ電流値Ih_actが負値であり、左操舵時のモータ電流値Ih_actが正値である態様であっても良い。
図5及び図6に示すように、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、図中に矢示Aした右切り増し操舵では正値となり、正値の操舵角θhの増加に伴って増加する。また、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、図中に矢示Bした左切り戻し操舵では負値となり、正値の操舵角θhの減少に伴って減少する。また、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、図中に矢示Cした左切り増し操舵では負値となり、負値の操舵角θhの増加に伴って増加する。また、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、図中に矢示Dした右切り戻し操舵では正値となり、負値の操舵角θhの減少に伴って減少する。このように、操舵機構のクーロン摩擦に起因して、操舵トルク目標値生成部200によって生成された操舵トルク目標値Th_refに対して実操舵トルクTh_actが乖離する現象が発生する。
図5に示すように、トルクThは、操舵角θhの増加に伴い単調増加する特性を有している。また、図6に示すように、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさは、モータ電流値Ih_actに増加に伴い単調増加する特性を有している。
以下、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fを補償するための具体的な構成及び動作について説明する。
図7は、実施形態に係る操舵トルク制御部の構成例を示すブロック図である。図7に示すように、本実施形態に係る操舵トルク制御部400は、減算部410、PID制御部420、減算部430、及び摩擦補償部440を備える。
操舵トルク制御部400には、操舵トルク目標値生成部200から出力される操舵トルク目標値Th_ref、トルクセンサ34によって検出される実操舵トルクTh_act、及び舵角センサ33によって検出される実操舵角θh_actが入力される。
減算部410は、操舵トルク目標値Th_refと実操舵トルクTh_actとの偏差Th_errを算出する。PID制御部420は、減算部410の演算結果である操舵トルク目標値Th_refと実操舵トルクTh_actとの偏差Th_errがゼロに近づくようにPID制御を行う。
摩擦補償部440には、実操舵トルクTh_act、実操舵角θh_act、及びPID制御部420から出力された電流指令値Iref_aが入力される。本開示において、電流指令値Iref_aは「第1電流指令値」に対応する。
摩擦補償部440は、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fを補償するための電流補償値Iref_bを導出する。
減算部430は、PID制御部420から出力された電流指令値Iref_aから摩擦補償部440によって導出された電流補償値Iref_bを減じてモータ電流指令値Ih_refを算出する。これにより、操舵機構に生じるクーロン摩擦による影響が抑制されたモータ電流指令値Ih_refが得られる。本開示において、モータ電流指令値Ih_refは「第2電流指令値」に対応する。
図8は、実施形態に係る摩擦補償部の構成例を示すブロック図である。摩擦補償部440は、静摩擦補償部450、動摩擦補償部460、及び比率制御部470を含む。
静摩擦補償部450は、実操舵トルクTh_act、及び電流指令値Iref_aに基づき、静摩擦補償値Iref_stを導出する。
動摩擦補償部460は、実操舵角θh_act、及び電流指令値Iref_aに基づき、動摩擦補償値Iref_dyを導出する。また、動摩擦補償部460は、実操舵角θh_actに基づき、ハンドル1の操舵状態を示す操舵状態判定フラグLsを導出する。
比率制御部470は、動摩擦補償部460から出力される操舵状態判定フラグLsに応じた比率で、静摩擦補償部450から出力される静摩擦補償値Iref_stと動摩擦補償部460から出力される動摩擦補償値Iref_dyとを加算し、電流補償値Iref_bを算出する。
以下、実施形態に係る静摩擦補償部450について、詳細に説明する。
図9は、実施形態に係る静摩擦補償部の構成例を示すブロック図である。静摩擦補償部450は、主要な構成部として、ヒステリシス成分抽出部451、第1電流感応ゲイン生成部452、及び第2電流感応ゲイン生成部453を含む。
本開示において、フィルタ部455は、実操舵トルクTh_actに含まれるノイズ成分を除去するフィルタである。フィルタ部455を構成するフィルタとしては、例えばLPF(Low Pass Filter)やBPF(Band Pass Filter)が例示される。フィルタ部455は、例えば下記(1)式に示される1次の伝達関数で表される。なお、以下の説明において、「x(z-1)」は、変数あるいは係数xの1サンプル前の過去値を示している。下記(1)式に示す伝達関数は、例えば、制御装置50を構成するECUのROMに記憶されている。1サンプル前の過去値は、例えば、制御装置50を構成するECUのRAMに一時記憶されている。
[b0+b1(z-1)]/[1+a1(z-1)]・・・(1)
ヒステリシス成分抽出部451は、ヒステリシス成分除去部456、及び減算部457を含む。ヒステリシス成分除去部456には、フィルタ部455によるフィルタ処理後の実操舵トルクTh_act及び第1電流感応ゲイン生成部452によって生成された第1ゲインGi1が入力される。
図10は、第1電流感応ゲインマップの一例を示す線図である。第1電流感応ゲイン生成部452は、図10に示す第1電流感応ゲインマップを用いて、第1ゲインGi1を生成する。
第1ゲインGi1は、図10に示すように、PID制御部420から出力された電流指令値Iref_aの増加に伴い単調増加する特性を有している。
図10に示す第1電流感応ゲインマップは、例えば、制御装置50を構成するECUのROMに記憶されている。なお、第1ゲインGi1を生成するための態様は、図10に示すマップに限定されず、例えば、図10に示す特性を有する伝達関数により第1ゲインGi1を生成する態様であっても良い。この場合の伝達関数についても、例えば、制御装置50を構成するECUのROMに記憶される態様であっても良い。
図5に示すように、操舵トルク目標値Th_refは、実操舵トルクTh_actの切り増し操舵時の値と切り戻し操舵時の値との略中間の値に相当する。換言すると、実操舵トルクTh_actは、操舵トルク目標値Th_refを略中間値とするヒステリシス特性を有している。ヒステリシス成分除去部456は、フィルタ部455によるフィルタ処理後の実操舵トルクTh_actからヒステリシス成分を除去した、操舵トルク目標値Th_refに相当する中間値Th_act_cen(≒Th_ref)を算出する。
図11は、ヒステリシス成分除去部の入出力特性の具体例を説明する概念図である。図11に示す例において、横軸は時間を示し、縦軸は操舵トルクを示している。図11に示す実線は実操舵トルクTh_actを示し、破線は操舵トルク目標値Th_refに相当する実操舵トルクTh_actの中間値Th_act_cen(≒Th_ref)を示している。
図11では、時刻t1から時刻t2までの期間において右切り増し操舵、時刻t2から時刻t3までの期間において左切り戻し操舵、時刻t3から時刻t4までの期間において左切り増し操舵、時刻t4以降において右切り戻し操舵した例を示している。
図5及び図6を参照して説明したように、右切り増し操舵において、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、正値の操舵角θhの増加に伴って増加する。このため、図11に示すように、時刻t1から時刻t2までの右切り増し操舵では、正値の操舵トルクの増加に伴い、操舵トルク目標値Th_refに対する実操舵トルクTh_actの乖離が大きくなる。
また、図5及び図6を参照して説明したように、左切り戻し操舵において、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、正値の操舵角θhの減少に伴って減少する。このため、図11に示すように、時刻t2から時刻t3までの左切り戻し操舵では、正値の操舵トルクの低下に伴い、操舵トルク目標値Th_refに対する実操舵トルクTh_actの乖離が小さくなる。
また、図5及び図6を参照して説明したように、左切り増し操舵において、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、負値の操舵角θhの増加に伴って増加する。このため、図11に示すように、時刻t3から時刻t4までの左切り増し操舵では、負値の操舵トルクの増加に伴い、操舵トルク目標値Th_refに対する実操舵トルクTh_actの乖離が大きくなる。
また、図5及び図6を参照して説明したように、右切り戻し操舵において、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fは、負値の操舵角θhの減少に伴って減少する。このため、図11に示すように、時刻t4以降の右切り戻し操舵では、負値の操舵トルクの減少に伴い、操舵トルク目標値Th_refに対する実操舵トルクTh_actの乖離が小さくなる。
ヒステリシス成分除去部456は、以下に示すヒステリシス成分除去処理によって、操舵トルク目標値Th_refに相当する実操舵トルクTh_actの中間値Th_act_cen(≒Th_ref)を算出する。
図12は、ヒステリシス成分除去処理の一例を示すフローチャートである。ヒステリシス成分除去部456は、ECUの1サンプリング間隔ごとに図12に示すヒステリシス成分除去処理を実行する。
ヒステリシス成分除去部456は、実操舵トルクTh_actを取得し(ステップS101)、下記(2)式に示す条件式を満たすか否かを判定する(ステップS102)。下記(2)式において、ΔTは、予め定められた所定のトルク幅を示している。下記(2)式及びトルク幅ΔTは、例えば、制御装置50を構成するECUのROMに記憶されている。実操舵トルクTh_actの中間値Th_act_cenの1サンプル前の過去値Th_act_cen(z-1)は、例えば、制御装置50を構成するECUのRAMに一時記憶されている。
Th_act>Th_act_cen(z-1)+ΔT×Gi1・・・(2)
上記(2)式の条件式を満たす場合(ステップS102;Yes)、ヒステリシス成分除去部456は、下記(3)式を用いて、実操舵トルクTh_actの中間値Th_act_cenを算出し(ステップS103)、ヒステリシス成分除去処理を終了する。下記(3)式は、例えば、制御装置50を構成するECUのROMに記憶されている。
Th_act_cen=Th_act-ΔT×Gi1・・・(3)
上記(2)式の条件式を満たしていない場合(ステップS102;No)、続いて、ヒステリシス成分除去部456は、下記(4)式に示す条件式を満たすか否かを判定する(ステップS104)。下記(4)式は、例えば、制御装置50を構成するECUのROMに記憶されている。
Th_act<Th_act_cen(z-1)-ΔT×Gi1・・・(4)
上記(4)式の条件式を満たす場合(ステップS104;Yes)、ヒステリシス成分除去部456は、下記(5)式を用いて、実操舵トルクTh_actの中間値Th_act_cenを算出し(ステップS105)、ヒステリシス成分除去処理を終了する。下記(5)式は、例えば、制御装置50を構成するECUのROMに記憶されている。
Th_act_cen=Th_act+ΔT×Gi1・・・(5)
上記(4)式の条件式を満たしていない場合(ステップS104;No)、ヒステリシス成分除去部456は、下記(6)式を用いて、実操舵トルクTh_actの中間値Th_act_cenを算出し(ステップS106)、ヒステリシス成分除去処理を終了する。下記(6)式は、例えば、制御装置50を構成するECUのROMに記憶されている。
Th_act_cen=Th_act_cen(z-1)・・・(6)
上述したヒステリシス成分除去処理により、図11に示す入出力特性が得られる。図11に示す実操舵トルクTh_actとその中間値Th_act_cenとの差分は、所定のトルク幅ΔTと第1ゲインGi1とを掛け合わせた値(ΔT×Gi1)に相当する。
より具体的に、時刻t1における実操舵トルクTh_actとその中間値Th_act_cenとの差分は、ΔT×Gi1_BLに相当する。また、時刻t3における実操舵トルクTh_actとその中間値Th_act_cenとの差分は、-ΔT×Gi1_BLに相当する。Gi1_BLは、電流指令値Iref_a=0における第1ゲインに相当する(図10参照)。
操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさは、上述したように、モータ電流値に対して単調増加する特性を有している。従って、所定値(トルク幅ΔT)に対し、PID制御部420から出力された電流指令値Iref_aの増加に伴い単調増加する特性を有する第1ゲインGi1を掛け合わせることで(ΔT×Gi1)、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさに対して単調増加する値に近似した値を導出することができる。
図13は、ヒステリシス成分抽出部の出力特性の具体例を説明する概念図である。図13に示す例において、横軸は時間を示し、縦軸は実操舵トルクとその中間値との差分(=Th_act-Th_act_cen)を示している。図13に示す時刻t1,t2,t3,t4は、図11に示す時刻t1,t2,t3,t4に対応する。
減算部457は、実操舵トルクTh_actから上述したヒステリシス成分除去処理によって導出した実操舵トルクTh_actの中間値Th_act_cenを減算する。これにより、図13に示す実操舵トルクTh_actのヒステリシス成分が抽出される。
図13に示す実操舵トルクTh_actのヒステリシス成分は、トルク幅ΔT及び図10に示す第1ゲインGi1を適切に調整した値とすることで、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさに対して単調増加する値の近似値と見做せる。
図14は、第2電流感応ゲインマップの一例を示す線図である。第2電流感応ゲイン生成部453は、図14に示す第2電流感応ゲインマップを用いて、第2ゲインGi2を生成する。
第2ゲインGi2は、図14に示すように、PID制御部420から出力された電流指令値Iref_aの増加に伴い単調減少する特性を有している。
図14に示す第2電流感応ゲインマップは、例えば、制御装置50を構成するECUのROMに記憶されている。なお、第2ゲインGi2を生成するための態様は、図14に示すマップに限定されず、例えば、図14に示す特性を有する伝達関数により第2ゲインGi2を生成する態様であっても良い。この場合の伝達関数についても、例えば、制御装置50を構成するECUのROMに記憶される態様であっても良い。
乗算部454は、ヒステリシス成分抽出部451から出力される実操舵トルクTh_actのヒステリシス成分に対し、図14に示す特性の第2ゲインGi2を乗じる。これにより、静摩擦補償値Iref_stが得られる。
図15は、静摩擦補償値の具体例を説明する概念線図である。図15に示す例において、横軸は時間を示し、縦軸は静摩擦補償値を示している。図15に示す時刻t1,t2,t3,t4は、図11及び図13に示す時刻t1,t2,t3,t4に対応する。
第1ゲインGi1及び第2ゲインGi2をそれぞれ設定することで、図15に示す静摩擦補償値Iref_stが得られる。電流指令値Iref_aの絶対値が大きいほど、静摩擦補償値Iref_stが単調増加するように大きくなる。
以上説明したように、実施形態に係る静摩擦補償部450は、ハンドル1の切り増し操舵時における実操舵トルクTh_actと、ハンドル1の切り戻し操舵時における実操舵トルクTh_actとの中間値Th_act_cenを算出するヒステリシス成分除去部456を備える。ヒステリシス成分除去部456は、所定のトルク幅ΔTに第1ゲインGi1を乗じた値(ΔT×Gi1)に基づいて中間値Th_act_cenを算出する。静摩擦補償部450は、実操舵トルクTh_actから中間値Th_act_cenを減算した値に第2ゲインGi2を乗じて静摩擦補償値Iref_stを導出する。
以下、実施形態に係る動摩擦補償部460について、詳細に説明する。
図16は、実施形態に係る動摩擦補償部の構成例を示すブロック図である。動摩擦補償部460は、主要な構成部として、動摩擦補償値符号生成部461、及び第3電流感応ゲイン生成部462を含む。
本開示において、微分部464は、実操舵角θh_actを微分して、ハンドル1の実操舵角速度ωh_actを算出する構成部である。
動摩擦補償値符号生成部461は、符号抽出部465、絶対値演算部466、操舵状態判定部467、及び乗算部468を含む。操舵状態判定部467には、絶対値演算部466により絶対値処理された実操舵角速度|ωh_act|が入力される。
操舵状態判定部467は、以下に示す操舵状態判定処理によって、操舵状態判定フラグLsを導出する。
図17は、操舵状態判定処理の一例を示すフローチャートである。操舵状態判定部467は、ECUの1サンプリング間隔ごとに図17に示す操舵状態判定処理を実行する。
操舵状態判定部467は、実操舵角速度|ωh_act|を取得し(ステップS201)、下記(8)式に示す条件式を満たすか否かを判定する(ステップS202)。下記(8)式において、ωthは、予め定められた所定の操舵角速度閾値を示している。下記(8)式及び操舵角速度閾値ωthは、例えば、制御装置50を構成するECUのROMに記憶されている。
|ωh_act|≧ωth・・・(8)
上記(8)式の条件式を満たす場合(ステップS202;Yes)、操舵状態判定部467は、操舵状態判定フラグLsを「1」(Ls=1)とし(ステップS203)、操舵状態判定処理を終了する。
上記(8)式の条件式を満たしていない場合(ステップS202;No)、操舵状態判定部467は、操舵状態判定フラグLsを「0」(Ls=0)とし(ステップS204)、操舵状態判定処理を終了する。
上述した操舵状態判定処理において、上記(8)式の条件式を満たしている場合に(ステップS202;Yes)、操舵状態判定フラグLsが「1」(Ls=1)となり(ステップS203)、ハンドル1が操舵されているものと見做される。また、上記(8)式の条件式を満たしていない場合に(ステップS202;No)、操舵状態判定フラグLsが「0」(Ls=0)となり(ステップS204)、ハンドル1が操舵されていないものと見做される。
図18は、動摩擦補償値符号生成部の入力特性の具体例を説明する概念図である。図19は、操舵状態判定部の出力特性の具体例を説明する概念図である。図18及び図19に示す例において、横軸は時間を示している。また、図18に示す例において、縦軸は実操舵角速度を示し、図19に示す例において、縦軸は操舵状態判定フラグの値を示している。
図18及び図19では、ハンドル1のセンター位置から所定周波数で左右に転舵した場合の時間応答を示している。また、図18及び図19では、時刻t1から時刻t2までの期間及び時刻t3から時刻t4までの期間において実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となり(図17のステップS202;Yes)、操舵状態判定フラグLsが「1」(Ls=1)となった(図17のステップS203)例を示している。
本開示において、動摩擦補償値符号生成部461の符号抽出部465は、実操舵角速度ωh_actの符号を抽出する。具体的には、例えば、実操舵角速度ωh_actの値を、実操舵角速度ωh_actの絶対値で除算する。これにより、符号抽出部465は、実操舵角速度ωh_actの符号が「+」の場合には「1」を出力し、実操舵角速度ωh_actの符号が「-」の場合には「-1」を出力する。具体的に、符号抽出部465は、例えば実操舵角速度ωh_actの符号関数Sgn(ωh_act)を生成する。
図20は、動摩擦補償値符号生成部の出力特性の具体例を説明する概念図である。図20に示す時刻t1,t2,t3,t4は、図18及び図19に示す時刻t1,t2,t3,t4に対応する。
乗算部468は、操舵状態判定フラグLsに対して、符号抽出部465から出力される符号関数Sgn(ωh_act)を乗じることで、図20に示すLs×Sgn(ωh_act)が得られる。具体的に、時刻t1から時刻t2までの期間において、Ls×Sgn(ωh_act)=1となり、時刻t3から時刻t4までの期間において、Ls×Sgn(ωh_act)=-1となる。
図21は、第3電流感応ゲインマップの一例を示す線図である。第3電流感応ゲイン生成部462は、図21に示す第3電流感応ゲインマップを用いて、第3ゲインGi3を生成する。
第3ゲインGi3は、図21に示すように、PID制御部420から出力された電流指令値Iref_aの増加に伴い単調増加する特性を有している。
図22は、第3電流感応ゲインマップを用いた動摩擦補償値の具体例を説明する概念図である。図22に示す時刻t1,t2,t3,t4は、図18、図19、及び図20に示す時刻t1,t2,t3,t4に対応する。
乗算部463は、動摩擦補償値符号生成部461の出力値Ls×Sgn(ωh_act)に対し、図21に示す特性の第3ゲインGi3を乗じることで、動摩擦補償値Iref_dyのディメンジョンを電流指令値Iref_aと同様の電流値とする。これにより、図22に示す動摩擦補償値Iref_dyが得られる。
具体的に、動摩擦補償値Iref_dyは、図22に示す例において、操舵状態判定フラグLsが「1」(Ls=1)となる時刻t1から時刻t2までの期間、及び、Ls×Sgn(ωh_act)=-1となる時刻t3から時刻t4までの期間において、電流指令値Iref_aに応じた値となる。Gi3_BLは、電流指令値Iref_a=0における第3ゲインに相当する(図21参照)。なお、図22に示す破線は、上述した操舵状態判定処理における操舵角速度閾値ωthを「0」に近似させた例を示している。
操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさは、上述したように、モータ電流値の増加に対して単調増加する特性を有している。従って、動摩擦補償値符号生成部461の出力値Ls×Sgn(ωh_act)に対し、PID制御部420から出力された電流指令値Iref_aの増加に伴い単調増加する特性を有する第3ゲインGi3を掛け合わせることで(Ls×Sgn(ωh_act)×Gi3)、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fの大きさに対して単調増加する値に近似した値を導出することができる。
図23は、第3電流感応ゲインマップを用いた動摩擦補償値の変形例を説明する概念図である。図23に示す時刻t1,t2,t3,t4は、図18、図19、図20、及び図21に示す時刻t1,t2,t3,t4に対応する。
図17に示す操舵状態判定処理のステップS204において、操舵状態判定フラグLsを「|ωh_act|/ωth」とすることで(Ls=|ωh_act|/ωth)、図18に示す-ωth<ωh_act<ωthの領域において、図23に示すように、動摩擦補償値Iref_dyを滑らかに変化させることができる。
以上説明したように、実施形態に係る動摩擦補償部460は、実操舵角速度|ωh_act|が所定の操舵角速度閾値ωth以上であり(|ωh_act|≧ωth)、かつ、実操舵角速度ωh_actが正値であるとき(Sgn(ωh_act)>0)、第3ゲインGi3に実操舵角速度の符号関数(Sgn(ωh_act)=1)を乗じて動摩擦補償値Iref_dyを導出し、実操舵角速度|ωh_act|が所定の操舵角速度閾値ωth以上であり(|ωh_act|≧ωth)、かつ、実操舵角速度ωh_actが負値であるとき、第3ゲインGiに実操舵角速度の符号関数(Sgn(ωh_act)=-1)を乗じて動摩擦補償値Iref_dyを導出する。
あるいは、動摩擦補償部460は、実操舵角速度|ωh_act|が所定の操舵角速度閾値ωth以上であり(|ωh_act|≧ωth)、かつ、実操舵角速度ωh_actが正値であるとき(Sgn(ωh_act)>0)、第3ゲインGi3に実操舵角速度の符号関数(Sgn(ωh_act)=1)及び所定の係数を乗じて動摩擦補償値Iref_dyを導出し、実操舵角速度|ωh_act|が所定の操舵角速度閾値ωth以上であり(|ωh_act|≧ωth)、かつ、実操舵角速度ωh_actが負値であるとき、第3ゲインGiに実操舵角速度の符号関数(Sgn(ωh_act)=-1)及び所定の係数を乗じて動摩擦補償値Iref_dyを導出する態様であっても良い。
以下、実施形態に係る比率制御部470について、詳細に説明する。
比率制御部470は、上述したように、動摩擦補償部460から出力される操舵状態判定フラグLsに応じた比率で、静摩擦補償部450から出力される静摩擦補償値Iref_stと動摩擦補償部460から出力される動摩擦補償値Iref_dyとを加算し、電流補償値Iref_bを算出する。比率制御部470は、操舵状態判定フラグLsの変化、すなわち実操舵角速度|ωh_act|の変化に応じて、静摩擦補償値Iref_stに対する静摩擦補償値比率r_st及び動摩擦補償値Iref_dyに対する動摩擦補償値比率r_dyを変化させる。
具体的に、比率制御部470は、例えば、下記(9)式を用いて、電流補償値Iref_bを算出する。下記(9)式、及び、静摩擦補償値比率r_st並びに動摩擦補償値比率r_dyは、例えば、制御装置50を構成するECUのROMに記憶されている。
Iref_b=r_st×Iref_st+r_dy×Iref_dy・・・(9)
図24は、操舵状態判定フラグの切り替え例を示す概念図である。図25は、比率制御部の動作例を示す概念図である。図24及び図25に示す例において、横軸は時間を示している。また、図24に示す例において、縦軸は操舵状態判定フラグの値を示し、図25に示す例において、縦軸は静摩擦補償値及び動摩擦補償値の比率を示している。図25に示す例において、実線は静摩擦補償値比率を示し、破線は動摩擦補償値比率を示している。
図24及び図25では、時刻t1において操舵状態判定フラグLsが「0」から「1」に切り替わり、時刻t2において操舵状態判定フラグLsが「1」から「0」に切り替わり、時刻t3において操舵状態判定フラグLsが「0」から「1」に切り替わる例を示している。
操舵状態判定フラグLsが「1」(Ls=1)の状態では、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上となる(|ωh_act|≧ωth)。操舵状態判定フラグLsが「0」(Ls=0)の状態では、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満となる(|ωh_act|<ωth)。
図24及び図25に示す例において、時刻t1(t3)において操舵状態判定フラグLsが「1」(Ls=1)、すなわち、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となると、静摩擦補償値比率r_stは、「1.0」から単調減少し、時刻t1’(t3’)において「0.3」となる。
換言すれば、静摩擦補償値比率r_stは、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となった時刻t1(t3)から、静摩擦補償値比率r_stの最小値(図25に示す例では、「0.3」)となる時刻t1’(t3’)までの期間において単調減少する。
また、図24及び図25に示す例において、時刻t1(t3)において操舵状態判定フラグLsが「1」(Ls=1)、すなわち、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となると、動摩擦補償値比率r_dyは、「0」から単調増加し、時刻t1’’(t3’’)において「1.0」となる。
換言すれば、動摩擦補償値比率r_dyは、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となった時刻t1(t3)から、動摩擦補償値比率r_dyの最大値(図25に示す例では、「1.0」)となる時刻t1’(t3’)までの期間において単調増加する。
また、図24及び図25に示す例において、時刻t2において操舵状態判定フラグLsが「0」(Ls=0)、すなわち、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満(|ωh_act|<ωth)となると、静摩擦補償値比率r_stは、「0.3」から単調増加し、時刻t2’において「1.0」となる。
換言すれば、静摩擦補償値比率r_stは、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満(|ωh_act|<ωth)となった時刻t2から、静摩擦補償値比率r_stの最大値(図25に示す例では、「1.0」)となる時刻t2’までの期間において単調増加する。
また、図24及び図25に示す例において、時刻t2において操舵状態判定フラグLsが「0」(Ls=0)、すなわち、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満(|ωh_act|<ωth)となると、動摩擦補償値比率r_dyは、「1.0」から単調減少し、時刻t2’’において「0」となる。
換言すれば、動摩擦補償値比率r_dyは、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満(|ωh_act|<ωth)となった時刻t2から、動摩擦補償値比率r_dyの最小値(図25に示す例では、「0」)となる時刻t2’’までの期間において単調減少する。
このように、操舵状態判定フラグLsの変化、すなわち実操舵角速度|ωh_act|の変化に応じて、静摩擦補償値Iref_stに対する静摩擦補償値比率r_st及び動摩擦補償値Iref_dyに対する動摩擦補償値比率r_dyを変化させることで、操舵状態に応じて変化する操舵機構のクーロン静摩擦及びクーロン動摩擦の比率に追従した摩擦補償制御が可能となる。
また、操舵状態判定フラグLsの切り替え時から静摩擦補償値比率r_st及び動摩擦補償値比率r_dyを徐々に変化させることで、操舵状態の変化に伴って生じる静摩擦補償値Iref_stと動摩擦補償値Iref_dyとの切り替えによる操舵反力の変動を抑制することができる。
以上説明したように、実施形態に係る比率制御部470は、実操舵角速度|ωh_act|が所定の操舵角速度閾値ωth以上であるとき(|ωh_act|≧ωth)、動摩擦補償値比率r_dyを静摩擦補償値比率r_stよりも大きくし、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満であるとき(|ωh_act|<ωth)、静摩擦補償値比率r_stを動摩擦補償値比率r_dyよりも大きくする。
また、比率制御部470は、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となってから動摩擦補償値比率r_dyの最大値(図25に示す例では、「1.0」)となるまでの期間において、動摩擦補償値比率r_dyを単調増加させ、実操舵角速度|ωh_act|が操舵角速度閾値未満(|ωh_act|<ωth)となってから動摩擦補償値比率r_dyの最小値(図25に示す例では、「0」)となるまでの期間において、動摩擦補償値比率r_dyを単調減少させる。
また、比率制御部470は、実操舵角速度|ωh_act|が操舵角速度閾値ωth以上(|ωh_act|≧ωth)となってから静摩擦補償値比率r_stの最小値(図25に示す例では、「0.3」)となるまでの期間において、静摩擦補償値比率r_stを単調減少させ、実操舵角速度|ωh_act|が操舵角速度閾値ωth未満(|ωh_act|<ωth)となってから静摩擦補償値比率r_stの最大値(図25に示す例では、「1.0」)となるまでの期間において、静摩擦補償値比率r_stを単調増加させる。
上記構成の静摩擦補償部450において、図10に示す第1ゲインGi1の特性、図14に示す第2ゲインGi2、図21に示す第3ゲインGi3、トルク幅ΔT、操舵角速度閾値ωth、静摩擦補償値比率r_st、及び動摩擦補償値比率r_dy等を適宜適切に調整した値とすることで、操舵機構のクーロン摩擦に起因して生じるフリクション成分Th_Fを適切に補償することができる。これにより、操舵トルク目標値によって適切に設定された操舵反力を伝達することができる。
なお、上述した実施形態で使用した図は、本開示に関して定性的な説明を行うための概念図であり、これらに限定されるものではない。また、上述の実施形態は本開示の好適な実施の一例ではあるが、これに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々変形実施可能である。