以下、発明を実施するための形態(以下、実施形態という)につき図面を参照しつつ詳細に説明する。なお、下記の実施形態により本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、下記実施形態で開示した構成要素は適宜組み合わせることが可能である。
(実施形態1)
図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は、本開示に係る制御装置の制御ブロック構成の第1例を示す図である。図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における各制御を実現可能な構成であれば良く、これら各制御ブロックの構成により限定されない。以下、本実施形態に係る操舵トルク目標値生成部200の構成について、図4を参照して説明する。
図4は、実施形態1に係る操舵トルク目標値生成部の構成例を示すブロック図である。図4に示すように、本実施形態に係る操舵トルク目標値生成部200は、主要な構成要素として、基本マップ部210、ダンパトルク生成部220、及び操舵トルク補償値生成部230を備える。
本開示において、図4に示す符号抽出部280は、操舵角θhの符号を抽出する。具体的には、例えば、操舵角θhの値を、操舵角θhの絶対値で除算する。これにより、符号抽出部280は、操舵角θhの符号が「+」の場合には「1」を出力し、操舵角θhの符号が「-」の場合には「-1」を出力する。具体的に、符号抽出部280は、例えば操舵角θhの符号関数Sgn(θh)を生成する。
図5Aは、基本マップの特性例を示す線図である。基本マップ部210には、絶対値演算部260において絶対値処理された操舵角|θh|及び車速Vsが入力される。基本マップ部210は、図5Aに示す基本マップを用いて、車速Vsをパラメータとするトルク値Tref_basicを生成する。トルク値Tref_basicは、操舵角|θh|及び車速Vsに応じた基本的な操舵反力を生成するために使用される。
トルク値Tref_basicは、操舵角|θh|に応じて増減する角度感応型の特性を有している。より具体的に、トルク値Tref_basicは、図5Aに示すように、操舵角|θh|が増加するに従い増加する。また、トルク値Tref_basicは、車速Vsに応じて増減する車速感応型の特性を有している。より具体的に、トルク値Tref_basicは、図5Aに示すように、車速Vsが増加するに従い増加する。つまり、図5Aに示す基本マップによって導出されるトルク値Tref_basicによって得られる反力は、運転者によるハンドル1の操作量(操舵角θh)が大きいほど大きくなり、また車両の速度(車速Vs)が速いほど大きくなる。なお、図5Aに示す基本マップでは車速感応型の特性を有する態様としているが、これに限定されない。
図5Bは、トルク値Tref_aの特性例を示す線図である。基本マップ部210から出力されるトルク値Tref_basicに対し、符号抽出部280から出力される符号関数Sgn(θh)を、乗算部293にて乗じることで、図5Bに示すトルク値Tref_aが得られる。なお、符号抽出部280を有さない構成とし、図5Bに示されるように、正負の操舵角θhに応じた基本マップを用いてトルク値Tref_aを得る態様としても良い。
ダンパトルク生成部220は、ダンパゲインマップ部221及び乗算部222を含む。図6Aは、ダンパゲインマップの特性例を示す図である。ダンパゲインマップ部221には、車速Vsが入力される。ダンパゲインマップ部221は、図6Aに示すダンパゲインマップを用いて、ダンパゲインDGを生成する。
ダンパゲインDGは、図6Aに示すように、車速Vsに応じて増減する車速感応型の特性を有している。ダンパトルク生成部220は、操舵角θhを微分して算出したハンドル1の角速度(以下、「舵角速度ωh」とも称する)に対し(微分部270)、ダンパゲインマップ部221から出力されたダンパゲインDGを乗算し(乗算部222)、トルク値Tref_bとして出力する。
ダンパトルク生成部220から出力されたトルク値Tref_bは、基本マップ部210から出力されたトルク値Tref_aに加算される(加算部291)。これにより、舵角速度ωhに比例した操舵反力の補償が可能となる。
図6Bは、トルク値Tref_a+Tref_bの特性例を示す線図である。トルク値Tref_aに対してダンパトルク生成部220から出力されたトルク値Tref_bを加算し、トルク値Tref_a+Tref_bが得られる。図6Bにおいて、実線は、舵角速度ωhが正値(ωh>0)である場合のトルク値Tref_a+Tref_bを示し、破線は、舵角速度ωhが負値(ωh<0)である場合のトルク値Tref_a+Tref_bを示している。また、図6Bにおいて、一点鎖線は、トルク値Tref_aを示している。
図7は、本開示における操舵方向を説明するための領域図である。図7において、横軸は操舵角θhを示し、縦軸は舵角速度ωhを示している。
図7に示す領域A((θh,ωh)=(+,+))では、ハンドル1が右方向に切られた状態で(θh>0)、さらに右方向に切り増されている(ωh>0)ことを示している。図7に示す領域B((θh,ωh)=(+,-))では、ハンドル1が右方向に切られた状態で(θh>0)、左方向に切り戻されている(ωh<0)ことを示している。図7に示す領域C((θh,ωh)=(-,-))では、ハンドル1が左方向に切られた状態で(θh<0)、さらに左方向に切り増されている(ωh<0)ことを示している。図7に示す領域D((θh,ωh)=(-,+))では、ハンドル1が左方向に切られた状態で(θh<0)、右方向に切り戻されている(ωh>0)ことを示している。また、図7において、操舵角θh軸上(ωh=0)では、ハンドル1が切り増しも切り戻しも行われていない((θh,ωh)=(θh,0))ことを示し、舵角速度ωh軸上(θh=0)では、ハンドル1がセンター位置にある((θh,ωh)=(0,ωh))ことを示している。
ダンパトルク生成部220から出力されるトルク値Tref_bは、舵角速度ωh>0の領域A,Dでは正値、舵角速度ωh<0の領域B,Cでは負値となる。これにより、舵角速度ωh>0である場合、すなわち、ハンドル1が右方向に切られた状態で(θh>0)、さらに右方向に切り増されている領域A、又は、ハンドル1が左方向に切られた状態で(θh<0)、右方向に切り戻されている領域Dでは、図6Bに実線で示すように、Tref_aに対して|Tref_b|が加算された値となる。また、舵角速度ωh<0である場合、すなわち、ハンドル1が右方向に切られた状態で(θh>0)、左方向に切り戻されている領域B、又は、ハンドル1が左方向に切られた状態で(θh<0)、さらに左方向に切り増されている領域Cでは、図6Bに破線で示すように、Tref_aから|Tref_b|が減算された値となる。
図6Bに示すように、トルク値Tref_a+Tref_bは、操舵角θhの大きさが大きくなり、操舵角θhがストッパ(回転制限機構)35によって制限される操舵終端に近づくほど、操舵角θの変化に対するトルク上昇の増加分が小さくなる。換言すれば、トルク値Tref_a+Tref_bは、操舵角θhの増加に伴い、徐々に変化率が小さくなる特性を有している。
SBWシステムでは、上述したように、コラム軸2と機械的に結合されるインターミディエイトシャフトを具備していない。すなわち、操舵機構と転舵機構とが機械的に分離されている。このため、例えば、凍結路面や、雨天時のハイドロプレーニング現象等によって路面の摩擦抵抗が著しく減少した低μ路を走行する際のオーバーステア状態やアンダーステア状態を、操舵反力として反力装置30に伝達する必要がある。
本開示では、図3及び図4に示すように、転舵角制御部700によって生成されるモータ電流指令値It_refに応じた路面反力トルクを推定する操舵トルク補償値生成部230を具備し、操舵トルク補償値生成部230により生成されたトルク値Tref_cをトルク値Tref_a+Tref_bに加算する態様としている。これにより、ハンドル1に路面反力トルクの推定値に応じた操舵反力を付与することができる。以下、ハンドル1に路面反力トルクの推定値に応じた操舵反力を付与可能な構成及び動作について、詳細に説明する。
図8は、実施形態1に係る操舵トルク補償値演算部の構成例を示すブロック図である。図8に示す構成例において、操舵トルク補償値演算部240は、主要な構成要素として、路面反力トルク推定部241及び操舵トルク補償値マップ部242を備える。
ここでは、まず、路面反力トルク推定部241における路面反力トルク推定値Tsat_estの推定手法について説明する。
路面反力トルク推定部241には、転舵角制御部700によって生成されたモータ電流指令値It_refが入力される。また、路面反力トルク推定部241には、下記(1)式に示す伝達関数Gfilが設定されている。伝達関数Gfilは、例えば、制御装置50を構成するECUのROMに記憶されている。
Gfil=N(s)/D(s)=(Ds+E)/(As2+Bs+C)・・・(1)
上記(1)式における一次関数N(s)=Ds+E、及び、二次関数D(s)=As2+Bs+CにおけるA,B,C,D,Eは、以下に示すシミュレーションにより設定される係数である。
なお、本開示では、伝達関数Gfilとして、分子一次、分母二次の伝達関数を仮定しているが、分子分母の次数について、実路面反力トルクTsat_actと路面反力トルク推定値Tsat_estとの間の誤差の許容量や、ECUの負荷などに応じて、適宜変更することができる。
例えば、分子分母の次数を増やした場合、後述する実験により求めるモータ電流指令値It_refと実路面反力トルクTsat_actとの関係と、伝達関数Gfilの伝達特性を良好に一致させることができるため、実測値に近い路面反力トルク推定値Tsat_estを推定することができる。
一方で、分子分母の次数を減らした場合、ECUの負荷を低減することができる。
路面反力トルクTsatとモータ電流指令値It_refとの間で、下記(2)式に示す関係式が成り立つと仮定する。下記(2)式で示される路面反力トルクTsatを、本開示における路面反力トルク推定値Tsat_estとする。
換言すると、伝達関数Gfilは、実験により求めたモータ電流指令値It_refと実路面反力トルクTsat_actとの関係を模擬することで、モータ電流指令値It_refから路面反力トルク推定値Tsat_estを算出する。
Tsat=Gfil×It_ref=Tsat_est・・・(2)
一方、転舵機構に作用する実路面反力トルクTsat_actは、タイロッドに加わる軸力から算出できる。図9は、転舵機構に作用する実路面反力トルクの算出手法を説明するための概念図である。
実路面反力トルクTsat_actは、タイロッド3a,3bに加わる軸力FL,FRと、車種ごとに決まるアーム6a,6bの長さLとを用いて、下記(3)式により算出できる。
Tsat_act=FL×L-FR×L・・・(3)
本開示において、実路面反力トルクTsat_actは、予め実車を用いた実験により測定した軸力FL,FRを用いた上記(3)式を用いて算出する。軸力FL,FRは、例えば、タイロッド3a,3bに力覚センサを取り付けることで測定することができる。
図10は、伝達関数Gfilを導出するためのシミュレーションを実行する構成を示す概念図である。
図10に示す処理装置には、モータ電流指令値It_ref、軸力軸力FL,FRが入力される。処理装置において、上記(2)式で示される路面反力トルク推定値Tsat_estが、上記(3)式で算出される実路面反力トルクTsat_actと近似するような伝達関数Gfilを導出する。図10に示される処理装置としては、例えば、周波数特性分析装置(サーボアナライザ)を含み構成される態様が例示される。
具体的に、処理装置は、スイープ法を用いたカーブフィットを実行して、上記(1)式で示される伝達関数Gfilの各係数A,B,C,D,Eを導出する。カーブフィット手法の一例としては、例えば、最小二乗近似法を用いることができる。なお、カーブフィット手法は最小二乗近似法に限定されない。
路面反力トルク推定部241は、転舵角制御部700によって生成されたモータ電流指令値It_refに対し、上述のようにして導出した伝達関数Gfilを用いてフィルタ処理を行い、上記(2)式で示される路面反力トルク推定値Tsat_estを算出する。これにより、実際の車両の走行時における実路面反力トルクTsat_actの挙動に応じた路面反力トルク推定値Tsat_estが得られる。
図8に戻り、符号抽出部244は、路面反力トルク推定値Tsat_estの符号を抽出する。具体的には、例えば、路面反力トルク推定値Tsat_estの値を、路面反力トルク推定値Tsat_estの絶対値で除算する。これにより、符号抽出部244は、路面反力トルク推定値Tsat_estの符号が「+」の場合には「1」を出力し、路面反力トルク推定値Tsat_estの符号が「-」の場合には「-1」を出力する。具体的に、符号抽出部244は、例えば路面反力トルク推定値Tsat_estの符号関数Sgn(Tsat_est)を生成する。
図11は、操舵トルク補償値マップの特性例を示す線図である。操舵トルク補償値マップ部242には、絶対値演算部243において絶対値処理された路面反力トルク推定値|Tsat_est|及び車速Vsが入力される。操舵トルク補償値マップ部242は、図11に示す操舵トルク補償値マップを用いて、車速Vsをパラメータとするトルク値Tref_c0を生成する。
トルク値Tref_c0は、図11に示すように、路面反力トルク推定値|Tsat_est|に応じて増減するトルク感応型の特性を有している。
より具体的に、トルク値Tref_c0は、路面反力トルク推定値|Tsat_est|の増加に伴って増加し、路面反力トルク推定値|Tsat_est|の増加に伴って増加率が減少する。
また、トルク値Tref_c0は、車速Vsに応じて増減する車速感応型の特性を有している。より具体的に、トルク値Tref_c0は、図11に示すように、車速Vsの増加に伴って増加する。
つまり、図11に示す操舵トルク補償値マップによって導出されるトルク値Tref_c0によって得られる反力は、路面反力トルク推定値|Tsat_est|が大きいほど大きくなり、また車両の速度(車速Vs)が速いほど大きくなる。なお、図11に示す操舵トルク補償値マップでは車速感応型の特性を有する態様としたが、これに限定されない。
操舵トルク補償値演算部240は、操舵トルク補償値マップ部242の出力値であるトルク値Tref_c0に対し、乗算部245にて路面反力トルク推定値Tsat_estの符号関数Sgn(Tsat_est)を乗算して符号変換したトルク値Tref_cを出力する。図12は、符号変換後のトルク値Tref_cの特性例を概念的に示す線図である。
なお、操舵トルク補償値演算部240は、図13に示す態様とすることも可能である。図13は、実施形態1に係る操舵トルク補償値演算部の変形例を示すブロック図である。
図13に示す操舵トルク補償値演算部の変形例における操舵トルク補償値マップ部242aでは、図11に示す特性の操舵トルク補償値マップに代えて、図12に示す特性の操舵トルク補償値マップを有する態様とすれば良い。
操舵トルク補償値生成部230から出力されたトルク値Tref_cは、図4に示す加算部291,292にてトルク値Tref_a及びトルク値Tref_bと加算される。これにより、操舵トルク目標値生成部200から、操舵トルク目標値Th_refが出力される。
本開示では、上述したように、路面反力トルク推定部241において、実車のシミュレーションによって導出された伝達関数Gfilを用いて路面反力トルク推定値Tsat_estを算出することにより、実際の車両の走行時における実路面反力トルクTsat_actの挙動に応じた路面反力トルク推定値Tsat_estが得られ、当該路面反力トルク推定値Tsat_estに応じた操舵反力を付与することができる。これにより、路面の状況を反映した操舵感が得られる。
また、本開示では、タイロッドに加わる軸力等の入力を必要とせず、制御装置50の内部処理で用いられるモータ電流指令値It_refと、予め設定された伝達関数Gfilとを用いて路面反力トルク推定値Tsat_estを算出する態様としている。これにより、コスト低減及び処理の簡素化を図ることができる。
なお、路面反力トルク推定部241において路面反力トルク推定値Tsat_estを算出する際に用いる伝達関数は、上記(1)に示す態様に限定されない。具体的には、例えば、関数N(s)や関数D(s)の次数によって本開示が限定されるものではない。
また、操舵トルク補償値マップの特性は、上述した図11又は図12に示す態様に限定されない。また、例えば、図11又は図12に示したマップの態様ではなく、所定の伝達関数によって特性が定義される態様であっても良い。
(実施形態2)
図14は、実施形態2に係る操舵トルク目標値生成部の構成例を示すブロック図である。
図14に示す構成例において、実施形態2に係る操舵トルク目標値生成部200aの操舵トルク補償値生成部230aは、実施形態1において説明した操舵トルク補償値演算部240に加え、位相補償部250を備える。
位相補償部250は、操舵トルク補償値演算部240から出力されるトルク値Tref_cに対して、以下に示す位相補償を行い、トルク値Tref_dを算出する。
図15は、実施形態2に係る位相補償部の構成を示すブロック図である。本開示において、位相補償部250は、位相補償フィルタ251及び追従性補償部252を含む。なお、以下の説明では、位相補償フィルタ251として、位相遅れ補償器を用いた場合について説明しているが、位相補償フィルタ251として、位相進み補償器を用いることもできる。
位相補償フィルタ251は、操舵トルク補償値演算部240から出力されるトルク値Tref_cに対する位相遅れ補償を行う。下記(4)式は、位相遅れ補償において用いる位相補償フィルタCfの特性を示している。
Cf=(Tns+1)/(Tds+1)・・・(4)
上記(4)の分子の遮断周波数fnは、fn=1/(2π×Tn)で表され、分母の遮断周波数fdは、fd=1/(2π×Td)で表される。
位相補償フィルタ251は、操舵トルク補償値演算部240から出力されるトルク値Tref_cに対して、上記(4)式で表される位相補償フィルタCfを用いて位相遅れ補償を行う。これにより、トルク値Tref_cの位相遅れが補償される。
なお、上記(4)式におけるTn、Td、すなわち、遮断周波数fn、fdを調整することで、操舵感の向上を図ることができる。また、位相補償フィルタ251の構成は上述した態様に限らず、例えば、2次以上のフィルタにより実現される態様であっても良い。また、前述の通り、位相補償フィルタ251の係数を調整することにより、位相補償フィルタ251を位相進み補償器として、トルク値Tref_cの位相進みを補償する態様であっても良い。
追従性補償部252は、操舵トルク補償値演算部240から出力されるトルク値Tref_cに対する追従性補償を行う。
操舵トルク目標値Th_refと実操舵トルクTh_Actとの間で、下記(5)式に示す関係式が成り立つ。
Th_act=Gref×Th_ref・・・(5)
追従性補償部252は、操舵トルク補償値演算部240から出力されるトルク値Tref_cに対して、上記(5)式に示す伝達関数Grefの逆数演算(1/Gref)を行う。これにより、トルク値Tref_cと実操舵トルクTh_Actとの間の追従性による位相ずれを補償することができる。
操舵トルク補償値生成部230aから出力されたトルク値Tref_dは、図14に示す加算部291,292にてトルク値Tref_a及びトルク値Tref_bと加算される。これにより、操舵トルク目標値生成部200aから操舵トルク目標値Th_refが出力される。
図16は、実施形態2に係る操舵トルク目標値生成部の具体的な動作例を概念的に示す線図である。図16において、横軸は時間を示し、縦軸は実操舵トルクTh_actを示している。図16に示す破線は、操舵トルク補償値演算部240の出力値であるトルク値Tref_cを適用した操舵トルク目標値Th_refによる動作例を示し、実線は、位相補償部250において位相補償したトルク値Tref_dを適用した操舵トルク目標値Th_refによる動作例を示している。図16に示す一点鎖線は、操舵トルク補償値生成部230における補償値を適用しない場合の実操舵トルクTh_actを示している。
図16では、運転者がハンドル1を右方向に切り増し操舵し、時刻t_low_μ以降において、路面反力トルクが反映されない場合のカーブから逸脱した時点で低μ路に入り、タイヤがスリップしている例を示している。
図16に一点鎖線で示すように、操舵トルク補償値生成部230における補償値を適用しない場合には、時刻t_low_μ以降路面反力が反映されない。これに対し、図16の破線に示すように、操舵トルク補償値演算部240の出力値であるトルク値Tref_cを適用した場合には、実際の車両の走行時における実路面反力トルクTsat_actの挙動に応じた路面反力が付与される。さらに、図16に実線で示すように、位相補償後の補償値であるトルク値Tref_dを適用した場合には、時間的な遅れが抑制された操舵反力が付与されることにより、実路面反力トルクTsat_actの挙動に対する追従性の高い制御が可能となる。
(実施形態3)
図17は、本開示に係る制御装置の制御ブロック構成の第2例を示す図である。図18は、実施形態3に係る操舵トルク目標値生成部の構成例を示すブロック図である。図17及び図18に示す構成において、操舵トルク目標値生成部200bの操舵トルク補償値生成部230bには、モータ電流指令値It_refに代えて、転舵角制御部700aにおける電流指令値Iref_aが入力される。操舵トルク目標値生成部200b及び操舵トルク補償値生成部230bの主要な構成は、実施形態1又は実施形態2と同様であるので、ここでは詳細な説明を省略する。
転舵角制御部700aは、転舵用モータ41に供給する電流の制御目標値であるモータ電流指令値It_refを生成する。転舵角制御部700aでは、転舵角目標値θt_refと実転舵角θt_actとの偏差θt_errがゼロに近づくようなモータ電流指令値It_refを演算する。なお、実施形態3に係る転舵角制御部700aのより具体的な構成例については、図19を参照して後述する。図17では、図19に示す具体的な構成に対し、一部構成を省略している。
本実施形態において、操舵トルク制御部400、電流制御部500、転舵角目標値生成部600、及び電流制御部800は、それぞれ反力制御系60又は転舵制御系70における各制御を実現可能な構成であれば良く、これら各制御ブロックの構成により限定されない。以下、本実施形態に係る転舵角制御部700aの具体的な構成について、図19を参照して説明する。
図19は、実施形態3に係る転舵角制御部の構成例を示すブロック図である。図19に示すように、本実施形態に係る転舵角制御部700aは、フィードフォワード補償部710、PID制御部730、安定化補償部740、出力制限部760、摩擦補償部770、及び加算部720,750を備える。
フィードフォワード補償部710は、転舵角目標値θt_refに対する実転舵角θt_actの追従性向上のためのフィルタ(FFフィルタ)で構成される。フィードフォワード補償部710は、転舵角目標値θt_refに対してフィルタ処理を行う。具体的には、例えば1次遅れ又は2次遅れの伝達関数を有するLPFを使用し、そのLPFによるフィルタ処理により生じる時間遅れが転舵角目標値θt_refに対する実転舵角θt_actの追従遅れと同等となるようにLPFを設計する。
PID制御部730は、加算部720の演算結果である転舵角目標値θt_refと実転舵角θt_actとの偏差θt_errがゼロに近づくようにPID制御を行う。
安定化補償部740は、制御の安定化のために必要な伝達特性を有するフィルタ(安定化フィルタ)で構成される。安定化補償部740は、PID制御部730の出力値に対してフィルタ処理を行う。
出力制限部760は、加算部750の演算結果である電流指令値Iref_cに対して出力制限処理を行い、モータ電流指令値It_refを出力する。出力制限部760は、電流指令値Iref_cに対する上限値及び下限値が予め設定されている。出力制限部760は、電流指令値Iref_cの上下限値を制限して、モータ電流指令値It_refを出力する。
なお、上述したフィードフォワード補償部710及び安定化補償部740は、必ずしも必要な構成部ではなく、例えば、フィードフォワード補償部710及び安定化補償部740の何れか一方あるいは双方を具備しない態様であっても良い。
摩擦補償部770は、転舵角目標値θt_refに基づき、転舵機構における摩擦によって生じる転舵角目標値θt_refに対する実転舵角θt_actの追従遅れを補償するための電流補償値Iref_b(第2電流補償値)を算出する。以下、本実施形態に係る摩擦補償部770の具体的な構成及び動作について、詳細に説明する。
図20は、実施形態3に係る摩擦補償部の構成例を示すブロック図である。図20に示すように、本実施形態に係る摩擦補償部770は、主要な構成要素として、電流補償値演算部771、及び電流感応ゲイン生成部773を備えている。
電流補償値演算部771には、転舵角目標値θt_ref及び当該転舵角目標値θt_refを微分部772によって微分して算出した転舵速度目標値ωt_refが入力される。電流補償値演算部771は、転舵角目標値θt_ref及び転舵速度目標値ωt_refに基づき、電流補償値Iref_b0(第1電流補償値)を演算する。
以下、電流補償値演算部771における電流補償値Iref_b0(第1電流補償値)の演算手法について説明する。
図21は、電流補償値演算部における電流補償値の特性例を示す線図である。図21において、横軸は転舵角目標値θt_refを示し、縦軸は電流補償値Iref_b0(第1電流補償値)を示している。また、図21において、実線は右転舵時における電流補償値Iref_b0(第1電流補償値)を示し、破線は左転舵時における電流補償値Iref_b0(第1電流補償値)を示している。図21に示すように、電流補償値演算部771において演算される電流補償値Iref_b0(第1電流補償値)は、左転舵時と左転舵時とで異なる値となるヒステリシス特性を有している。図21に示すL1は、転舵輪5L,5Rのセンター位置(原点(0,0))から右転舵した際の軌跡を示し、L2は、座標A(x1,y1)において右転舵から左転舵へ切り替えが発生した場合の軌跡を示し、L3は、座標B(x2,y2)において右転舵から左転舵へ切り替えが発生した場合の軌跡を示している。
電流補償値演算部771は、転舵角目標値θt_ref及び転舵速度目標値ωt_refに基づき、下記(6)式及び(7)式を用いて電流補償値Iref_b0(第1電流補償値)を算出する。具体的には、転舵速度目標値ωt_refの符号ωt_ref(sgn)が正値(「+」)である場合には、下記(6)式を用いて電流補償値Iref_b0(第1電流補償値)を算出し、転舵速度目標値ωt_refの符号ωt_ref(sgn)が負値(「-」)である場合には、下記(7)式を用いて電流補償値Iref_b0(第1電流補償値)を算出する。なお、下記(6)式及び(7)式において、xは転舵速度目標値ωt_ref、yRは右転舵時の電流補償値Iref_b0(第1電流補償値)、yLは左転舵時の電流補償値Iref_b0(第1電流補償値)とする。また、係数aは1よりも大きい値であり、係数cは0よりも大きい値である。係数Ahysは、ヒステリシス特性の出力幅(電流補償値Iref_b0(第1電流補償値)の幅)を示し、係数cは、ヒステリシス特性の丸みを表す係数である。
yR=Ahys{1-a-c(x-b)}・・・(6)
yL=-Ahys{1-ac(x-b’)}・・・(7)
すなわち、電流補償値演算部771は、右転舵時(ωt_ref(sgn)=「+」)には、上記(6)式を用いて電流補償値Iref_b0(yR)を算出し、左転舵時(ωt_ref(sgn)=「-」)には、上記(7)式を用いて電流補償値Iref_b0(yL)を算出する。
右転舵から左転舵への切り替えが発生した場合(ωt_ref(sgn)=「+」→「-」)、あるいは、左転舵から右転舵へ切り替えが発生した場合(ωt_ref(sgn)=「-」→「+」)、電流補償値演算部771は、転舵角目標値θt_ref及び電流補償値Iref_b0(第1電流補償値)の前回値を引き継ぎ、転舵切り替え後に適用する上記(6)式又は(7)式に対し、下記(8)式又は(9)式に示す係数b又はb’を代入する。これにより、転舵切り替え前後の連続性が保たれる。具体的には、右転舵から左転舵への切り替えが発生した場合(ωt_ref(sgn)=「+」→「-」)、電流補償値演算部771は、転舵角目標値θt_ref及び電流補償値Iref_b0(第1電流補償値)の前回値(図21に示す座標A(x1,y1))を上記(7)式に適用し、下記(9)式に示す係数b’を代入して電流補償値Iref_b0(第1電流補償値)を算出する。また、左転舵から右転舵へ切り替えが発生した場合(ωt_ref(sgn)=「-」→「+」)、電流補償値演算部771は、転舵角目標値θt_ref及び電流補償値Iref_b0(第1電流補償値)の前回値(図21に示す座標B(x2,y2))を上記(6)式に適用し、下記(8)式に示す係数bを代入して電流補償値Iref_b0(第1電流補償値)を算出する。
b=x1+(1/c)loga{1-(y1/Ahys)}・・・(8)
b’=x1-(1/c)loga{1-(y1/Ahys)}・・・(9)
上記(8)式及び(9)式は、上記(6)式及び(7)式において、xにx1を代入し、yR及びyLにy1を代入することにより導出することができる。
係数aとして、例えば、ネイピア数eを用いた場合、上記(6)式、(7)式、(8)式、(9)式は、それぞれ下記(10)式、(11)式、(12)式、(13)式で表せる。
yR=Ahys[1-exp{-c(x-b)}]・・・(10)
yL=-Ahys[{1-exp{c(x-b’)}]・・・(11)
b=x1+(1/c)loge{1-(y1/Ahys)}・・・(12)
b’=x1-(1/c)loge{1-(y1/Ahys)}・・・(13)
図20に戻り、前回値保持部774には、転舵角制御部700aの前回出力値It_ref’が保持される。具体的に、前回出力値It_ref’は、前回処理におけるモータ電流指令値It_refである。前回値保持部774は、例えば、制御装置50を構成するECUのRAMで構成される。
本開示において、絶対値演算部775は、前回値保持部774から出力される転舵角制御部700aの前回出力値It_ref’の絶対値処理を行う。
電流感応ゲイン生成部773には、絶対値演算部775において絶対値処理された転舵角制御部700aの前回出力値|It_ref’|が入力される。電流感応ゲイン生成部773は、転舵角制御部700aの前回出力値|It_ref’|に応じたゲインGiを生成する。
電流感応ゲイン生成部773は、転舵角制御部700aの前回出力値|It_ref’|に応じたゲインGiが設定された電流感応ゲインマップを有している。電流感応ゲインマップは、例えば、制御装置50を構成するECUのROMに記憶されている。図22Aは、電流感応ゲインマップの第1例を示す線図である。図22Bは、電流感応ゲインマップの第2例を示す線図である。
図22Aに示す電流感応ゲインマップの第1例では、転舵角制御部700aの前回出力値|It_ref’|に応じてゲインGiが増減する電流値感応型の特性を有している。より具体的に、ゲインGiは、図22Aに示すように、転舵角制御部700aの前回出力値|It_ref’|が増加するに従い単調増加する。
図23は、実施形態3に係る摩擦補償部の出力特性の一例を示す線図である。図23において、横軸は転舵角目標値θt_refを示し、縦軸は電流補償値Iref_b(第2電流補償値)を示している。
転舵機構において生じる摩擦力は、転舵用モータ41と減速機構42との間に介在するギアトルクによる摩擦が含まれている。なお、ギアトルクとは、減速機の機械要素に生じる摩擦力に起因するトルクを指す。たとえば、ウォーム減速機の場合、ウォームギアとウォームホイールとの間の噛み合い部に生じる摩擦力により引き起こされる摩擦トルクが、ギアトルクと定義されうる。このギアトルクによる摩擦力は、モータ電流に対して単調増加する。
本開示において、摩擦補償部770は、電流補償値演算部771から出力される電流補償値Iref_b0(第1電流補償値)に対し、電流感応ゲイン生成部773によって生成されたゲインGiを乗じ(乗算部776)、電流補償値Iref_b(第2電流補償値)を算出する。これにより、図23に示すように、ヒステリシス特性の出力幅(電流補償値Iref_b(第2電流補償値)の幅)がモータ電流指令値It_refに応じて増減する特性が得られ、ギアトルクに起因する摩擦力に応じた摩擦補償制御を実現することができる。
具体的に、相対的にモータ電流指令値It_refが大きい場合には、ギアトルクが相対的に大きくなり、ギアトルクに起因する摩擦力が強く働く。このような状況下では、電流補償値演算部771から出力される電流補償値Iref_b0(第1電流補償値)に対して、ゲインGi_Mよりも相対的に大きいゲインGi_Hを乗じることで、破線で示すように、ヒステリシス特性の出力幅(電流補償値Iref_b(第2電流補償値)の幅)を大きくすることができる。
また、相対的にモータ電流指令値It_refが小さい場合には、ギアトルクが相対的に小さくなり、ギアトルクに起因する摩擦力が小さくなる。このような状況下では、電流補償値演算部771から出力される電流補償値Iref_b0(第1電流補償値)に対して、ゲインGi_Mよりも相対的に小さいゲインGi_Lを乗じることで、一点鎖線で示すように、ヒステリシス特性の出力幅(電流補償値Iref_b(第2電流補償値)の幅)を小さくすることができる。
なお、電流感応ゲインマップの態様は、図22Aに示す第1例の態様に限定されない。例えば、図22Bに示す第2例のように、モータ電流指令値It_ref(転舵角制御部700aの前回出力値|It_ref’|)に依らず、電流補償値演算部771から出力される電流補償値Iref_b0(第1電流補償値)に対して一定のゲインGi=k(例えば、k=1)を乗じて、電流補償値Iref_b(第2電流補償値)を算出する態様であっても良い。
摩擦補償部770から出力された電流補償値Iref_b(第2電流補償値)は、図19に示す加算部750にて安定化補償部740から出力される電流指令値Iref_aと加算され、加算後の電流指令値Iref_cに対し出力制限部760により出力制限されたモータ電流指令値It_refが出力される。
実施形態3に係る構成において、電流指令値Iref_aは、実施形態1及び実施形態2におけるモータ電流指令値It_refと実質的に等価である。換言すれば、電流指令値Iref_aは、実施形態1及び実施形態2におけるモータ電流指令値It_refに相当する。すなわち、転舵角制御部700aが摩擦補償部770を備えた構成においても、図4に示す実施形態1に係る操舵トルク目標値生成部200を備えた構成、及び、図14に示す実施形態2に係る操舵トルク目標値生成部200aを具備した構成と同様に、路面の状況を反映した操舵感を得ることができる。
図24は、実施形態3の変形例に係る摩擦補償部の構成例を示すブロック図である。図20に示す構成例では、電流補償値演算部771から出力される電流補償値Iref_b0(第2電流補償値)に対し、電流感応ゲイン生成部773によって生成されたゲインGiを乗じる態様としたが、図24に示す変形例において、電流補償値演算部771aは、モータ電流指令値It_ref(転舵角制御部700aの前回出力値|It_ref’|)と、上記(6)式から(13)式における係数Ahysとが関連付けられたテーブル(データ)が保持され、図23に示すように、ヒステリシス特性の出力幅(電流補償値Iref_b(第2電流補償値)の幅)がモータ電流指令値It_refに応じて増減する特性を得る構成であっても良い。当該データは、電流感応ゲインマップと同様に、例えば、制御装置50を構成するECUのROMに記憶しておくことができる。これにより、図20に示す構成と同様に、ギアトルクに起因する摩擦力に応じた摩擦補償制御を実現することができる。
なお、転舵角目標値θt_refを微分して転舵速度目標値ωt_refを得る態様に限定されず、例えば、転舵用モータ41のモータ角速度を用いて、転舵方向が切り替わったことを判定する態様であっても良い。また、電流補償値演算部771及び電流感応ゲイン生成部773の前段にフィルタを備えた構成であっても良いし、電流感応ゲイン生成部773の後段にフィルタを備えた構成であっても良い。さらに、摩擦補償部770の後段に、上述した出力制限部760と同様に、電流補償値Iref_b(第2電流補償値)に対して出力制限処理を行うリミッタを具備した構成であっても良い。
図25A及び図25Bは、実施形態3に係る摩擦補償部による摩擦補償制御の具体例を説明する第1概念図である。図25A及び図25Bにおいて、横軸は時間を示し、縦軸は転舵角を示している。図25A及び図25Bに示す破線は転舵角目標値θt_refを示し、実線は実転舵角θt_actを示している。図25Aは、実施形態3に係る摩擦補償部770による摩擦補償制御を行っていない場合の時間応答を例示している。図25Bは、実施形態3に係る摩擦補償部770による摩擦補償制御を行った場合の時間応答を例示している。
図25A及び図25Bに示す例では、転舵輪5L,5Rのセンター位置から比較的速い所定周波数で左右に転舵した場合の時間応答を示している。実施形態3に係る摩擦補償部770による摩擦補償制御を行っていない場合、図25Aに示すように、破線で囲う転舵方向の切り替え時において実転舵角θt_actに歪みが生じている。この場合、運転者のハンドル操作の切り増しから切り戻しへの操舵方向の切り替え、あるいは切り戻しから切り増しへの切り替えにおいて、ハンドル1の操作(操舵)と転舵輪5L,5Rの転舵との間に乖離が生じ、運転者に違和感を与える可能性がある。これに対し、実施形態3に係る摩擦補償部770による摩擦補償制御を行った場合、図25Bに示すように、破線で囲う転舵方向の切り替え時において実転舵角θt_actに歪みが生じることが抑制される。
より詳細に説明すると、転舵方向の切り替え時において、転舵角目標値θt_refが切り替わると、転舵速度目標値ωt_refは略ゼロとなるが、電流補償値Iref_b0(第1電流補償値)は、転舵角目標値θt_refに応じて定められるため、摩擦補償部770は、転舵速度目標値ωt_refは略ゼロの場合であっても、所定の摩擦補償制御を行うことができる。
これにより、運転者のハンドル操作の切り増しから切り戻しへの操舵方向の切り替え、あるいは切り戻しから切り増しへの切り替えにおいて、運転者に与える違和感を軽減することができる。
図26A及び図26Bは、実施形態3に係る摩擦補償部による摩擦補償制御の具体例を説明する第2概念図である。図26A及び図26Bにおいて、横軸は時間を示し、縦軸は転舵角を示している。図26A及び図26Bに示す破線は転舵角目標値θt_refを示し、実線は実転舵角θt_actを示している。図26Aは、実施形態3に係る摩擦補償制御の比較例として、転舵速度目標値ωt_refに応じた摩擦補償制御を行った場合の時間応答を例示している。図26Bは、実施形態3に係る摩擦補償部770による摩擦補償制御を行った場合の時間応答を例示している。
図26A及び図26Bに示す例では、図25A及び図25Bよりも微小に左右に転舵した場合の時間応答を示している。比較例に係る転舵速度目標値ωt_refに応じた摩擦補償制御を行った場合、図26Aに示すように、微小に左右に転舵した場合に、破線で囲う転舵方向の切り替え時において実転舵角θt_actに歪みが生じている。これに対し、実施形態3に係る摩擦補償部770による摩擦補償制御を行った場合、図26Bに示すように、微小に左右に転舵した場合においても、破線で囲う転舵方向の切り替え時において実転舵角θt_actに歪みが生じることが抑制される。
より詳細に説明すると、ハンドルをゆっくりかつ微小かつゆっくりと操作した場合、転舵方向の切り替え時において、図25A及び図25Bの例と同様に、転舵角目標値θt_refが切り替わると、転舵速度目標値ωt_refは略ゼロとなる。ここで、図25A及び図25Bの例とは異なり、転舵角目標値θt_refもゼロに近い値を取るため、電流補償値演算部771から出力される電流補償値Iref_b0(第1電流補償値)もまた小さい値が出力されるが、電流感応ゲイン生成部773により算出されたゲインGiを、電流補償値Iref_b0(第1電流補償値)に乗ずることで、電流補償値Iref_bが小さくなりすぎることを防止することができる。
これにより、運転者によるハンドル操作が微小であるような状況下においても、運転者のハンドル操作の切り増しから切り戻しへの操舵方向の切り替え、あるいは切り戻しから切り増しへの切り替えにおいて、運転者に与える違和感を軽減することができる。
上述したように、実施形態3に係る転舵角制御部700aは、摩擦補償部770を具備し、転舵角目標値θt_refに基づき、転舵機構における摩擦によって生じる転舵角目標値θt_refに対する実転舵角θt_actの追従遅れを補償するための電流補償値Iref_b(第2電流補償値)を算出する構成とすることで、運転者のハンドル操作速度に依らず、効果的かつ適切に摩擦補償制御を行うことができる。
また、上述したように、電流補償値Iref_b(第2電流補償値)をモータ電流指令値It_refに応じて増減する特性とすることで、ギアトルクに起因する摩擦力に応じた摩擦補償制御を実現することができる。
実施形態3に係る操舵トルク目標値生成部200bは、以上のようにして構成した転舵角制御部700aにおいて摩擦補償部770から出力される電流補償値Iref_b(第2電流補償値)を加算する前のモータ電流指令値に相当する電流指令値Iref_aに応じた路面反力トルク推定値Tsat_estを算出することにより、実際の車両の走行時における実路面反力トルクTsat_actの挙動に応じた路面反力トルク推定値Tsat_estが得られ、当該路面反力トルク推定値Tsat_estに応じた操舵反力を付与することができる。従って、転舵角制御部700aが摩擦補償部770を備えた実施形態3に係る構成においても、図4に示す実施形態1に係る操舵トルク目標値生成部200を備えた構成、及び、図14に示す実施形態2に係る操舵トルク目標値生成部200aを具備した構成と同様に、路面の状況を反映した操舵感を得ることができる。
なお、上述した実施形態で使用した図は、本開示に関して定性的な説明を行うための概念図であり、これらに限定されるものではない。また、上述の実施形態は本開示の好適な実施の一例ではあるが、これに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々変形実施可能である。例えば、操舵トルク補償値演算部240に入力する信号として、モータ電流指令値It_refを用いることに代えて、実電流値(モータ電流値)It_actを用いることができる。