本発明は、操舵可能な限界となる操舵終端に対応する角度(以下、「終端角度」とする)に操舵角が達する前に、具体的には操舵角が終端角度近傍に設定される閾値を超えた場合に、反力アクチュエータが生成する反力を上昇させるための目標操舵トルクとなるトルク信号の特性を、舵角速度に応じて変更する。具体的には、本発明では、操舵角に追従して閾値を変動させ、ハンドルを切り増して操舵角の大きさが大きくなる状態(切増し状態)における操舵角の変動に対する閾値の変動の割合を舵角速度に応じて変更して算出されるトルク信号に基づいて反力を上昇させる。これにより、必要に応じて適切な反力が生成され、モータの消費電力の増加やモータの温度の上昇を抑制することができる。上記機能は目標操舵トルク生成部内の弾性項生成部に実装される。
以下に、本発明の実施の形態を、図面を参照して説明する。
まず、本発明に係る制御装置を備えるSBWシステムの構成例について説明する。
図1はSBWシステムの構成例を示した図である。SBWシステムは、運転者が操作するハンドル1を有する操舵機構を構成する反力装置30、転舵輪を転舵する転舵機構を構成する転舵装置40、及び両装置の制御を行う制御装置50を備える。SBWシステムには、一般的な電動パワーステアリング装置が備える、コラム軸(ステアリングシャフト、ハンドル軸)2と機械的に結合されるインターミディエイトシャフトがなく、運転者によるハンドル1の操作を電気信号によって、具体的には反力装置30から出力される操舵角θhを電気信号として伝える。
反力装置30は、反力用モータ31及び反力用モータ31の回転速度を減速する減速機構32を備え、転舵輪5L,5Rから伝わる車両の運動状態を、反力用モータ31により生成される反力(トルク)として運転者に伝達する。反力装置30は、コラム軸2に設けられる舵角センサ33及び角度センサ34を更に備えている。コラム軸2への舵角センサ33及び角度センサ34の配設は、具体的には図2のようになっている。即ち、舵角センサ33はコラム軸2の上部に設けられ、操舵角θhを検出する。コラム軸2にはトーションバー2Aが介挿されており、角度センサ34として、トーションバー2Aを挟んでコラム軸2のハンドル1側に上側角度センサ34Aが設けられ、トーションバー2Aを挟んでコラム軸2のハンドル1の反対側に下側角度センサ34Bが設けられており、上側角度センサ34Aはハンドル角θ1を検出し、下側角度センサ34Bはコラム角θ2を検出する。ハンドル角θ1及びコラム角θ2は捩れ角演算部36に入力され、捩れ角演算部36は下記数1によってトーションバーの捩れ角Δθを求める。
なお、磁歪式や光学式等の公知のセンサを用いて、捩れ角Δθを直接求めても良い。
コラム軸2は、操舵可能な限界となる操舵終端を物理的に設定するストッパ35を備える。操舵終端まで操舵したときの操舵角θhが終端角度であり、操舵角θhの大きさの限界値となる。ストッパ35として、例えば特許文献1に記載の回転制限機構等を使用する。なお、反力アクチュエータは反力用モータ31、減速機構32等により構成されるが、反力用モータ31のみを反力アクチュエータと呼ぶこともある。
転舵装置40は、転舵用モータ41、転舵用モータ41の回転速度を減速する減速機構42及び回転運動を直線運動に変換するピニオンラック機構44を備える。操舵角θhの変化に合わせて、転舵用モータ41を駆動し、その駆動力を、減速機構42を介してピニオンラック機構44に付与し、タイロッド3a,3bを経て、転舵輪5L,5Rを転舵する。ピニオンラック機構44の近傍には角度センサ43が配置されており、転舵輪5L,5Rの転舵角θtを検出する。転舵角θtとして、転舵用モータ41のモータ角やラックの位置等を使用しても良い。
制御装置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はCPU(MCU、MPU等も含む)を有し、反力装置30及び転舵装置40の協調制御は、主としてCPU内部においてプログラムで実行される。その制御を行うための構成例(第1実施形態)を図3に示す。図3において、反力用モータ31、舵角センサ33、角度センサ34、PWM(パルス幅変調)制御部37、インバータ38及びモータ電流検出器39を反力装置30が具備し、転舵用モータ41、角度センサ43、PWM制御部47、インバータ48及びモータ電流検出器49を転舵装置40が具備し、その他の構成要素が制御装置50で実現される。なお、制御装置50の構成要素の一部又は全部をハードウェアで実現しても良い。制御装置50は、データやプログラム等を格納するために、RAM(ランダムアクセスメモリ)やROM(リードオンリーメモリ)等を搭載しても良い。また、制御装置50がPWM制御部37、インバータ38、モータ電流検出器39、PWM制御部47、インバータ48及びモータ電流検出器49の一部又は全部を具備しても良い。
制御装置50は、反力装置30の制御を行う構成(以下、「反力制御系」とする)と、転舵装置40の制御を行う構成(以下、「転舵制御系」とする)を有し、反力制御系60と転舵制御系70が協調して、反力装置30及び転舵装置40を制御する。
反力制御系60は、目標操舵トルク生成部100(第2目標操舵トルク生成部)及び200(第1目標操舵トルク生成部)、変換部300(第1変換部)、捩れ角制御部400(第1捩れ角制御部)、電流制御部500、加算部510並びに減算部520及び530を備え、トーションバー2Aの捩れ角が目標捩れ角に追従するような制御を行う。目標操舵トルク生成部100にて操舵角θh及び車速Vsに基づいて目標操舵トルクTrefAが生成され、目標操舵トルク生成部200にて操舵角θhに基づいて目標操舵トルクTrefBが生成され、目標操舵トルクTrefA及びTrefBの加算値である目標操舵トルクTrefが変換部300にて目標捩れ角Δθrefに変換される。目標捩れ角Δθrefと捩れ角Δθの偏差dΔθ(=Δθref-Δθ)が捩れ角制御部400に入力され、捩れ角制御部400にて、捩れ角Δθが目標捩れ角Δθrefとなるような電流指令値Imcが演算される。そして、電流指令値Imcとモータ電流検出器39で検出される反力用モータ41の電流値(モータ電流値)Imrの偏差I1(=Imc-Imr)が減算部530で算出され、偏差I1に基づいて電流制御部500にて電圧制御指令値Vref1が求められる。反力装置30では、電圧制御指令値Vref1に基づいて、PWM制御部37及びインバータ38を介して反力用モータ31が駆動制御される。なお、目標操舵トルクTrefAが第2目標操舵トルク、目標操舵トルクTrefが第1目標操舵トルク、目標捩れ角Δθrefが第1目標捩れ角、電流指令値Imcが第1電流指令値に対応する。
目標操舵トルク生成部100の構成例を図4に示す。目標操舵トルク生成部100は、基本マップ部110、微分部120、ダンパゲイン部130、乗算部140及び加算部150を備える。操舵角θhは基本マップ部110及び微分部120に入力され、車速Vsは基本マップ部110及びダンパゲイン部130に入力される。
基本マップ部110は、基本マップを有し、基本マップを用いて、車速Vsをパラメータとするトルク信号Tref_a(第2トルク信号)を出力する。トルク信号Tref_aは、基本となる反力を生成するために使用される。基本マップはチューニングにより調整されており、例えば、図5(A)に示されるように、トルク信号Tref_aの大きさは、操舵角θhの大きさ|θh|が増加するにつれて増加し、車速Vsが増加するにつれても増加するようになっている。つまり、操舵角θhの大きさが大きくなるにつれ、また、車速Vsが速くなるにつれ、反力が大きくなる。なお、図5(A)において、符号部111は操舵角θhの符号(+1、-1)を乗算部112に出力しており、操舵角θhの大きさからマップによりトルク信号Tref_aの大きさを求め、これに操舵角θhの符号を乗算し、トルク信号Tref_aを求める構成となっている。または、図5(B)に示されるように、正負の操舵角θhに応じてマップを構成しても良く、この場合、操舵角θhが正の場合と負の場合とで変化の態様を変えても良い。また、図5に示される基本マップは車速感応であるが、車速感応でなくても良い。
微分部120は、操舵角θhを微分して角速度情報である舵角速度ωh1を算出し、舵角速度ωh1は乗算部140に入力される。なお、舵角速度ωh1の代わりに反力用モータ31のモータ角速度を角速度情報として使用しても良い。この場合、微分部120は不要となる。
ダンパゲイン部130は、舵角速度ωh1に乗算されるダンパゲインDGを出力する。乗算部140にてダンパゲインDGを乗算された舵角速度ωh1は、トルク信号Tref_b(第3トルク信号)として加算部150に入力される。ダンパゲインDGは、ダンパゲイン部130が有する車速感応型のダンパゲインマップを用いて、車速Vsに応じて求められる。ダンパゲインマップは、例えば、図6に示されるように、車速Vsが速くなるに従って徐々に大きくなる特性を有する。このようなダンパゲインDGを舵角速度ωh1に乗算して舵角速度ωh1に比例した目標操舵トルクの補償を行うことにより、フィーリングとしての粘性感を持たせることができ、また、ステアリングを切った状態から手放しの状態にした場合、ハンドルが発振することなく収れん性を持たせられ、システム安定性の向上を図れる。ダンパゲインマップは操舵角θhに応じて可変としても良い。なお、ダンパゲイン部130及び乗算部140でダンパ演算部を構成している。
トルク信号Tref_a及びTref_bは、加算部150で加算され、加算結果は目標操舵トルクTrefAとして出力される。
目標操舵トルク生成部200の構成例を図7に示す。目標操舵トルク生成部200は、弾性項生成部210及び位相補償部220を備え、操舵角θhは弾性項生成部210に入力される。
弾性項生成部210は、操舵角θhの大きさ|θh|が終端角度の近傍に設定される所定の閾値θthを超えてから反力を上昇させるためのトルク信号TrefB0(第1トルク信号)を生成する。つまり、操舵角θhの大きさ|θh|が閾値θthを超えたら、トルク信号TrefB0の大きさが大きくなるようにする。
弾性項生成部210は、閾値θthを操舵角θhに追従して変動させ、切増し状態における操舵角θhの変動に対する閾値θthの変動の割合(以下、「閾値変動率」とする)が、舵角速度が速いときに小さくなるようにする。イメージとしては、閾値θthが操舵角θhから逃げるように動作し、遅い操舵に対しては操舵角θhと略同程度に動作して逃げられるが、速い操舵に対しては操舵角θhより遅れて動作して逃げられないようにする。これにより、速い操舵のときにのみ、反力を上昇させる。
ハンドルを切り戻して操舵角の大きさが小さくなる状態(切戻し状態)における閾値変動率は、切増し状態の場合とは異なる変化とする。イメージとしては、閾値θthが操舵角θhを追いかけるように動作し、遅い操舵に対しては、切増し状態の場合と同様に操舵角θhと略同程度に動作して追いつくが、速い操舵に対しては、切増し状態の場合とは異なり、遅い操舵の場合と同様に操舵角θhと略同程度に動作して追いつくようにする。つまり、速い操舵の場合、切戻し状態での閾値変動率は切増し状態の場合より大きくなる。切戻し状態での閾値変動率を切増し状態の場合と同様な変化にすると、操舵終端近傍にて速い操舵でハンドルを切り戻した後、即座に速い操舵でハンドルを切り増した場合、閾値θthが操舵角θhに追いつけない状態で切り増すことになるので、反力を十分に上昇させることができない。この点を解消するために、切戻し状態では、速い操舵の場合でも閾値θthは操舵角θhと略同程度に動作して追いつくようにする。
閾値θthを上記のように動作させるために、弾性項生成部210は、操舵角θhに対してローパスフィルタ(LPF)によるフィルタ処理を施すことにより、閾値θthを決め、LPFの遮断周波数を切増し状態と切戻し状態とで異なる値とする。LPFによって操舵角θhに対して遅れをもたせた変化を閾値θthに与え、閾値θthの追従性を変化させる。また、切戻し状態での遮断周波数を切増し状態での遮断周波数より高く設定することにより、切戻し状態での速い操舵に対しても、閾値θthが操舵角θhに追いつくようにする。
弾性項生成部210の構成例を図8に示す。弾性項生成部210は微分部211、切増し/切戻し判定部212、フィルタ部213及び可変ゲイン部214を備え、操舵角θhは、これらの構成要素全てに入力される。
微分部211は、操舵角θhを微分して舵角速度ωh2を算出し、舵角速度ωh2は切増し/切戻し判定部212に入力される。
切増し/切戻し判定部212は、操舵機構が切増し状態か切戻し状態であるかの判定(以下、「切増し/切戻し判定」とする)を行う。例えば図9に示されるように、操舵角θh及び舵角速度ωh2の正負関係で切増し/切戻し判定を行う。判定結果は操舵状態STsとしてフィルタ部213に出力される。切増し/切戻し判定を、操舵トルクを使用して行っても良い。即ち、特開2003-170856号公報で示されるように、操舵トルクの符号と操舵トルク変化率の符号とが同一で、かつ操舵トルク変化率の絶対値が所定値以上のときに切増し状態と判定し、操舵トルクの符号と操舵トルク変化率の符号とが異符号で、かつ操舵トルク変化率の絶対値が所定値以上のときに切戻し状態と判定するようにしても良い。または、操舵トルクと舵角速度ωh2を使用し、操舵トルクと舵角速度ωh
2の符号が同一の場合に切増し状態と判定し、異符号の場合に切戻し状態と判定するようにしても良い。
フィルタ部213は、LPFを有しており、操舵角θhに対してLPFによるフィルタ処理を施して、その結果を閾値θthとして出力する。LPFとして、1次の伝達関数や2次の伝達関数等の任意の伝達関数で表されるLPFを使用して良い。LPFの遮断周波数は、切増し状態と切戻し状態とで異なる値とし、切戻し状態での遮断周波数を切増し状態での遮断周波数より高くする。例えば、経験値として、切増し状態での遮断周波数を1~5Hzとし、切戻し状態での遮断周波数を5~10Hzとする。切増し状態か切戻し状態かは、操舵状態STsより判断する。なお、閾値θthは、可変ゲイン部214において操舵角θhの大きさに対する閾値として使用されるので、フィルタ処理後の値が負数の場合、正数にした値を閾値θthとして出力する。
可変ゲイン部214は、操舵角θhの大きさが、フィルタ部213から出力される閾値θthを超えてからトルク信号TrefB0を出力するような特性のマップ(以下、「可変ゲインマップ」とする)を有する。可変ゲインマップは、例えば、図10に示されるように、操舵角θhの大きさが閾値θthを超えてから大きくなるに従って、トルク信号TrefB0の大きさがゼロから直線的に大きくなる特性を有する。このような増加する特性に基づいて反力に急激な変化をつけることで操舵終端での衝突の抑制を図る。図10において、θlimは操舵角の機械的な限界値である終端角度又は操舵角検出の測定限界値であり、可変ゲインマップはθlim以下の領域で定義される。このように、可変ゲイン部214によれば、操舵角θhの大きさが閾値θthを超えた場合に大きな反力となる目標操舵トルクを与えることができる。なお、可変ゲインマップは、図10に示されるような直線的な特性ではなく、単調に増加する特性であれば、曲線的な特性でも良い。また、マップではなく、数式、例えば一次関数等によって特性を定義しても良い。更に、図10では、符号部215は操舵角θhの符号(+1、-1)を乗算部216に出力しており、操舵角θhの大きさからマップによりトルク信号TrefB0の大きさを求め、これに操舵角θhの符号を乗算し、トルク信号TrefB0を求める構成となっているが、目標操舵トルク生成部100の基本マップ部110と同様に、正負の操舵角θhに応じてマップを構成しても良く、この場合、操舵角θhが正の場合と負の場合とで変化の態様を変えても良い。
このような構成の弾性項生成部210における閾値θthの変動について説明する。
まず、切増し状態における閾値θthの変動について説明する。
舵角速度が遅い場合、操舵角θhの変動の周波数成分はフィルタ部213のLPFにより殆ど遮断されることなく通過するので、フィルタ部213から出力される閾値θthは、操舵角θhとほぼ同じ大きさとなる。よって、図11(A)に示されるように、閾値θthは操舵角θhに追従して移動するので、トルク信号TrefB0はゼロに近い値となり、トルク信号TrefB0に基づく反力は生じない。これに対して、舵角速度が速くなると、操舵角θhの変動の周波数成分の中で遮断される周波数成分が出てくるので、閾値θthの変動は操舵角θhの変動より抑制されたものとなる。よって、図11(B)に示されるように、操舵角θhに対する閾値θthの追従が遅くなり、トルク信号TrefB0の値が大きくなり、それに基づく反力が生じる。つまり、舵角速度が遅いときは、閾値θthが操舵角θhに追従して移動し、反力の上昇が抑えられるので、操舵終端と誤認してしまう可能性や操舵終端までの操舵のために大きな操舵トルクを与えなければならない可能性が低くなり、舵角速度が速いときは、反力が上昇するので、操舵終端での衝突を抑制することができる。トルク信号TrefB0に基づく反力が生じている状態において保舵すると、閾値θthが操舵角θhに近づいていくので、トルク信号TrefB0が小さくなり、それに基づく反力が弱くなる。ハンドルを切り戻す際は、舵角速度がゼロになり、図11(A)に示される状態からの開始に戻るので、トルク信号TrefB0に基づく反力もゼロからの開始となる。よって、キックバックの発生が抑えられる。
次に、切戻し状態における閾値θthの変動について説明する。切戻し状態と切増し状態とで遮断周波数を異なる値とする効果を説明するために、遮断周波数を同じ値にした場合と比較して説明する。
切戻し状態と切増し状態での遮断周波数を同じにした場合、切戻し状態における閾値θthは、切増し状態の場合と同様な動作となる。即ち、舵角速度が遅い場合は、閾値θthは操舵角θhとほぼ同じ大きさとなり、閾値θthは操舵角θhに追従して移動するが、舵角速度が速くなると、閾値θthの変動が操舵角θhの変動より抑制されたものとなり、図12(A)に示されるように、操舵角θhに対する閾値θthの追従が遅くなり、操舵角θhと閾値θthの間にギャップ(例えば、図12(A)でのWG)が生じる。この状態において速い操舵で切増し状態に移行した場合、ギャップが解消するまでの間、トルク信号TrefB0は略ゼロとなり、トルク信号TrefB0に基づく反力が生じないので、操舵終端での衝突の抑制効果が不十分となる。これに対して、切戻し状態での遮断周波数を高くした場合、切戻し状態における閾値θthは、舵角速度が速いときでも操舵角θhの変動の周波数成分は殆ど遮断されないので、図12(B)に示されるように、操舵角θhに追従して移動する。よって、この状態において速い操舵で切増し状態に移行しても、閾値θthは、図11(B)に示される動作に移行できるので、トルク信号TrefB0に基づく反力が生じ、操舵終端での衝突を抑制することができる。
弾性項生成部210において、閾値θthを変動させるのではなく、操舵角θhの大きさ(絶対値)から閾値θthを減算した値を用いることにより、実質的に閾値θthが操舵角θhに追従するようにしても良い。即ち、操舵角θhの大きさ|θh|と閾値θthとの差分dθ(=|θh|-θth)を求め、可変ゲインマップの代わりに、図13に示されるような差分dθに対するトルク信号TrefB0の大きさを定義したマップを使用して、トルク信号TrefB0を求めるようにしても良い。図13に示されるマップは、閾値θthが原点になるように可変ゲインマップを移動させた特性となっている。
なお、弾性項生成部210ではフィルタ部213からの出力を閾値θthとしているが、閾値θthにマージンをもたせるべく、フィルタ部213からの出力に所定の値を加えたものを閾値θthとしても良い。操舵角θhにマージンをもたせた値をフィルタ部213で処理し、フィルタ部213からの出力を閾値θthとしても良い。また、操舵角θhが所定の角度を超えた時点から、閾値θthの操舵角θhへの追従を開始させるようにしても良い。その場合、操舵角θhが所定の角度以内のときには、閾値θthを所定の角度に固定するようにしても良い。所定の角度として、例えば終端角度から10deg手前の位置の角度を設定する。
位相補償部220は、トルク信号TrefB0に対して位相進み補償を行い、目標操舵トルクTrefBを算出する。操舵終端付近まで操舵した際に、弾性項生成部210の効果で抑制がかかる場合、跳ね返される事象が生じる可能性があるので、トルク信号TrefB0に対して位相進み補償を行うことにより、この跳ね返りの低減を図る。位相補償部220は、下記数2で表される1次の位相補償フィルタを有し、分子の遮断周波数を分母の遮断周波数よりも小さい値に設定することにより位相進みの設定とする。
ここで、Tn=1/(2π・fn)、Td=1/(2π・fd)で、fn及びfdは遮断周波数であり、fn<fdとなっている。位相補償部220は、入力したトルク信号TrefB0に対して、上記数2で表される位相補償フィルタによる位相進み補償を行い、目標操舵トルクTrefBを算出する。操舵角θhの大きさが閾値θth以下の場合、図10に示されるようにトルク信号TrefB0はゼロであるから、位相補償部220から出力される目標操舵トルクTrefBもゼロとなり、位相進み補償は機能しないことになる。このように、弾性項生成部210と位相補償部220を組み合わせることにより、操舵終端での衝突抑制と同時に跳ね返り低減を実現することができる。位相補償フィルタは1次ではなく、2次以上でも良く、位相進み補償を実現するのであれば、PD(比例微分)制御等で位相進み補償を行っても良い。位相補償フィルタの特性を車速及び/又は舵角速度に応じて変更しても良い。例えば、車速又は舵角速度が速いときには応答性が速くなるように、Tnを大きくするか、Tdを小さくする。これにより、より適切な跳ね返り低減を実現することができる。なお、跳ね返り低減を他の手段で実現する場合等では、位相補償部220はなくても良い。
説明を図3に戻すと、目標操舵トルク生成部100及び200からそれぞれ出力される目標操舵トルクTrefA及びTrefBは、加算部510で加算され、加算結果は目標操舵トルクTrefとして出力される。
変換部300は、トーションバー2Aのバネ定数Ktの逆数の符号を反転した-1/Ktの特性を有しており、目標操舵トルクTrefを目標捩れ角Δθrefに変換する。
減算部520では、目標捩れ角Δθrefが加算入力され、トーションバー2Aの捩れ角Δθが減算入力され、減算結果である偏差dΔθが捩れ角制御部400に入力される。
捩れ角制御部400は、偏差dΔθに対して補償値CFB(伝達関数)を乗算し、目標捩れ角Δθrefに捩れ角Δθが追従するような電流指令値Imcを出力する。補償値CFBは単純なゲインでも、PI(比例積分)制御やPID(比例積分微分)制御等の補償値など一般的に用いられている補償値でも良い。
電流指令値Imcは減算部530に加算入力され、減算部530にて、フィードバックされているモータ電流値Imrとの偏差I1が演算される。電流制御部500は偏差I1を入力し、PI制御等により電流制御を行い、電流制御された電圧制御指令値Vref1を出力する。
電圧制御指令値Vref1は反力装置30に送られ、PWM制御部37に入力されてデューティが演算され、PWM制御部37からのPWM信号により、インバータ38を介して反力用モータ31がPWM駆動される。反力用モータ31のモータ電流値Imrはモータ電流検出器39で検出され、反力制御系60の減算部530にフィードバックされる。
なお、目標操舵トルク生成部100での微分部120で算出される舵角速度ωh1及び弾性項生成部210での微分部211で算出される舵角速度ωh2は、操舵角θhに対する微分演算により求めているが、高域のノイズの影響を低減するために適度にLPF処理を実施している。また、ハイパスフィルタ(HPF)とゲインにより、微分演算とLPF処理を実施しても良い。更に、舵角速度ωh1及びωh2は、操舵角θhではなく、上側角度センサが検出するハンドル角θ1又は下側角度センサが検出するコラム角θ2に対して微分演算とLPF処理を行って算出しても良い。微分部120及び211を1つにして共用しても良い。
転舵制御系70は、目標転舵角生成部600、転舵角制御部700、電流制御部800並びに減算部810及び820を備え、転舵角θtが目標転舵角θtrefに追従するような制御を行う。目標転舵角生成部600にて操舵角θhに基づいて目標転舵角θtrefが生成され、目標転舵角θtrefと転舵角θtの偏差dθt(=θtref-θt)が転舵角制御部700に入力され、転舵角制御部700にて、転舵角θtが目標転舵角θtrefとなるような電流指令値Imctが演算される。そして、電流指令値Imctとモータ電流検出器49で検出される転舵用モータ41の電流値(モータ電流値)Imdの偏差I2(=Imct-Imd)が減算部820で算出され、偏差I2に基づいて電流制御部800にて電圧制御指令値Vref2が求められる。転舵装置40では、電圧制御指令値Vref2に基づいて、PWM制御部47及びインバータ48を介して転舵用モータ41が駆動制御される。
目標転舵角生成部600の構成例を図14に示す。目標転舵角生成部600は、制限部610、レート制限部620及び補正部630を備える。
制限部610は、操舵角θhの上下限値を制限して、操舵角θh1を出力する。操舵角θhの上下限値を制限することにより、ハードウェアエラー等によるRAMのデータ化けや通信異常等の影響で操舵角θhが異常値となった場合に、異常な値の出力を抑える。図15に示されるように、操舵角に対する上限値及び下限値を予め設定し、入力する操舵角θhが、上限値以上の場合は上限値を、下限値以下の場合は下限値を、それ以外の場合は操舵角θhを、操舵角θh1として出力する。なお、操舵角が異常値とならない場合や、他の手段で異常な値の出力を抑える場合等では制限部610は省略可能である。
レート制限部620は、非常に急激な操舵が行われた場合、又は、上記のように操舵角が異常値になった場合に、操舵角の急変を防止するために、操舵角θh1の変化量に対して制限値を設定して制限をかけて、操舵角θh2を出力する。例えば、1サンプル前の操舵角θh1からの差分を変化量とし、その変化量の絶対値が所定の値(制限値)より大きい場合、変化量の絶対値が制限値となるように、操舵角θh1を加減算し、操舵角θh2として出力し、制限値以下の場合は、操舵角θh1をそのまま操舵角θh2として出力する。操舵角θh1の変化量に対して制限をかけることにより、目標転舵角の急変を防止し、車両の不安定挙動を抑制する。なお、変化量の絶対値に対して制限値を設定するのではなく、変化量に対して上限値及び下限値を設定して制限をかけるようにしても良く、変化量ではなく変化率や差分率に対して制限をかけるようにしても良い。また、操舵角が急変しない場合や、他の手段で急変を回避する場合等ではレート制限部620は省略可能である。
補正部630は、操舵角θh2を補正して、目標転舵角θtrefを出力する。例えば、目標操舵トルク生成部100内の基本マップ部110のように、操舵角θh2の大きさ|θh2|に対する目標転舵角θtrefの特性を定義したマップを用いて、操舵角θh2より目標転舵角θtrefを求める。或いは、単純に、操舵角θh2に所定のゲインを乗算することにより、目標転舵角θtrefを求めるようにしても良い。
減算部810では、目標転舵角θtrefが加算入力され、転舵角θtが減算入力され、減算結果である偏差dθtが転舵角制御部700に入力される。
転舵角制御部700は、捩れ角制御部400と同様に、偏差dθtに対して補償値CtFB(伝達関数)を乗算し、目標転舵角θtrefに転舵角θtが追従するような電流指令値Imctを出力する。
減算部820、電流制御部800、PWM制御部47、インバータ48及びモータ電流検出器49は、それぞれ減算部530、電流制御部500、PWM制御部37、インバータ38及びモータ電流検出器39と同様な構成で同様な動作を行う。
このような構成において、本実施形態の動作例を図16~図19のフローチャートを参照して説明する。
動作を開始すると、操舵角θh、車速Vs、捩れ角Δθ及び転舵角θtが検出又は算出され(ステップS10)、操舵角θhは目標操舵トルク生成部100及び200並びに目標転舵角生成部600に、車速Vsは目標操舵トルク生成部100に、捩れ角Δθは減算部520に、転舵角θtは減算部810にそれぞれ入力される。
操舵角θh及び車速Vsを入力した目標操舵トルク生成部100は、目標操舵トルクTrefAを生成する(ステップS20)。目標操舵トルク生成部100の動作例については、図17のフローチャートを参照して説明する。
目標操舵トルク生成部100に入力された操舵角θhは基本マップ部110及び微分部120に、車速Vsは基本マップ部110及びダンパゲイン部130にそれぞれ入力される(ステップS21)。
基本マップ部110は、図5(A)又は(B)に示される基本マップを用いて、操舵角θh及び車速Vsに応じたトルク信号Tref_aを生成して、加算部150に出力する(ステップS22)。
微分部120は操舵角θhを微分して舵角速度ωh1を出力し(ステップS23)、ダンパゲイン部130は図6に示されるダンパゲインマップを用いて車速Vsに応じたダンパゲインDGを出力し(ステップS24)、乗算部140は舵角速度ωh1及びダンパゲインDGを乗算してトルク信号Tref_bを演算し、加算部150に出力する(ステップS25)。そして、加算部150にてトルク信号Tref_a及びTref_bが加算され、目標操舵トルクTrefAが演算される(ステップS26)。
操舵角θhを入力した目標操舵トルク生成部200は、目標操舵トルクTrefBを生成する(ステップS30)。目標操舵トルク生成部200の動作例については、図18のフローチャートを参照して説明する。
目標操舵トルク生成部200に入力された操舵角θhは弾性項生成部210内の微分部211、切増し/切戻し判定部212、フィルタ部213及び可変ゲイン部214に入力される(ステップS31)。
微分部211は操舵角θhを微分して舵角速度ωh2を算出し、切増し/切戻し判定部212に出力する(ステップS32)。
切増し/切戻し判定部212は、操舵角θh及び舵角速度ωhから、図9に示される特性に従って切増し/切戻し判定を行い、判定結果である操舵状態STsをフィルタ部213に出力する(ステップS33)。
フィルタ部213は、操舵状態STsより操舵機構が切増し状態か切戻し状態であるかを判断し(ステップS34)、各状態に応じて予め設定された遮断周波数を用いて、操舵角θhに対してLPF処理を行い(ステップS35)、閾値θthを可変ゲイン部214に出力する。
可変ゲイン部214は、入力した閾値θthを図10に示される可変ゲインマップに設定し(ステップS36)、可変ゲインマップを用いて、操舵角θhに応じたトルク信号TrefB0を求め、位相補償部220に出力する(ステップS37)。
位相補償部220は、トルク信号TrefB0に対して位相進み補償を行い、目標操舵トルクTrefBを算出し、加算部510に出力する(ステップS38)。
加算部510において目標操舵トルクTrefA及びTrefBが加算され、目標操舵トルクTrefが変換部300に出力される(ステップS40)。
変換部300は、目標操舵トルクTrefを目標捩れ角Δθrefに変換し(ステップS50)、目標捩れ角Δθrefは減算部520に加算入力される。
減算部520には捩れ角Δθが減算入力されており、目標捩れ角Δθrefから捩れ角Δθを減算することにより、偏差dΔθが算出される(ステップS60)。偏差dΔθは捩れ角制御部400に入力され、捩れ角制御部400は、偏差dΔθに補償値CFBを乗算することにより電流指令値Imcを求める(ステップS70)。
電流指令値Imcは減算部530に加算入力され、モータ電流検出器39で検出されたモータ電流値Imrとの偏差I1が減算部530で算出される(ステップS80)。偏差I1は電流制御部500に入力され、電流制御部500は電流制御により電圧制御指令値Vref1を算出する(ステップS90)。その後、電圧制御指令値Vref1に基づいて、PWM制御部37及びインバータ38を介して、反力用モータ31が駆動制御される(ステップS100)。
一方、操舵角θhを入力した目標転舵角生成部600は、目標転舵角θtrefを生成する(ステップS110)。目標転舵角生成部600の動作例については、図19のフローチャートを参照して説明する。
目標転舵角生成部600に入力された操舵角θhは制限部610に入力される。制限部610は、予め設定された上限値及び下限値により操舵角θhの上下限値を制限し(ステップS111)、操舵角θh1としてレート制限部620に出力する。レート制限部620は、予め設定された制限値により操舵角θh1の変化量に対して制限をかけ(ステップS112)、操舵角θh2として補正部630に出力する。補正部630は、操舵角θh2を補正して目標転舵角θtrefを求める(ステップS113)。目標転舵角θtrefは減算部810に加算入力される。
減算部810には転舵角θtが減算入力されており、目標転舵角θtrefから転舵角θtを減算することにより、偏差dθtが算出される(ステップS120)。偏差dθtは転舵角制御部700に入力され、転舵角制御部700は、偏差dθtに補償値CtFBを乗算することにより電流指令値Imctを求める(ステップS130)。
電流指令値Imctは減算部820に加算入力され、モータ電流検出器49で検出されたモータ電流値Imdとの偏差I2が減算部820で算出される(ステップS140)。偏差I2は電流制御部800に入力され、電流制御部800は電流制御により電圧制御指令値Vref2を算出する(ステップS150)。その後、電圧制御指令値Vref2に基づいて、PWM制御部47及びインバータ48を介して、転舵用モータ41が駆動制御される(ステップS160)。
なお、図16~図19におけるデータ入力及び演算等の順番は適宜変更可能である。
上述の実施形態において、目標操舵トルク生成部100はダンパ演算部(ダンパゲイン部130、乗算部140)を備えるが、ダンパ演算部による効果を別の手段で実現する場合や、演算量削減を重視する場合等では、ダンパ演算部を削減しても良い。この場合、微分部120及び加算部150も削減可能となる。目標操舵トルクTrefAに基づいて生成される反力にヒステリシス特性を付加するために、即ちハンドルの切増し操舵と切戻し操舵とで異なる反力を生成するために、ヒステリシス特性を有するトルク信号を目標操舵トルクTrefAに加算するようにしても良い。更に、基本マップ部110の前段又は後段に位相補償を行なう位相補償部160を挿入しても良い。つまり、図4中の破線で囲まれた領域Rの構成を、図20(A)又は(B)に示されるような構成にしても良い。位相補償部160において、位相補償として位相進み補償を設定し、例えば、分子の遮断周波数を1.0Hz、分母の遮断周波数を1.3Hzとした1次フィルタで位相進み補償を行う場合、スッキリしたフィールを実現することができる。目標操舵トルク生成部100に関しては、操舵角に基づいた構成であるならば、上述の構成に限られない。
また、反力制御系60の機能を、目標操舵トルクTrefBを基にした反力の生成に特化する場合等では、目標操舵トルク生成部100を削減しても良い。この場合、加算部510も削減可能で、目標操舵トルク生成部200から出力される目標操舵トルクTrefBが変換部300に入力されることになる。
上述の弾性項生成部210は、フィルタ部213が有するLPFの遮断周波数を切増し状態と切戻し状態とで異なる値としているが、切増し状態のときのみにフィルタ処理を行い、切戻し状態ではフィルタ処理を行わず、操舵角θhを閾値θthとして使用するようにしても良い。切戻し状態においてフィルタ処理を行わないことにより、遅い操舵だけではなく速い操舵に対しても、閾値θthが操舵角θhに追いつくようにすることができる。
本発明の他の実施の形態について説明する。なお、以降の各実施形態において、既出の他の実施形態と同一の構成には同一の符号を付して、その説明の一部又は全てを省略する。
第1実施形態では、反力を上昇させるための目標操舵トルクTrefBを目標操舵トルクTrefAに加算しているが、目標操舵トルク生成から電流指令値算出までの各段階において、反力を上昇させるための基となる要素の加算を行うことが可能である。
図21に示す反力制御系の構成例(第2実施形態)では、目標捩れ角演算後に上記加算を行っている。第2実施形態での反力制御系60Aでは、図3に示される第1実施形態での反力制御系60と比べると、変換部310(第2変換部)が追加され、目標操舵トルク生成部100及び200の後段に配置されている加算部510が削除され、代わりに変換部300及び310の後段に加算部511が配置されている。
変換部310は、変換部300と同様に、トーションバー2Aのバネ定数Ktの逆数の符号を反転した-1/Ktの特性を有しており、目標操舵トルク生成部100から出力される目標操舵トルクTrefAを目標捩れ角ΔθrefAに変換する。目標捩れ角ΔθrefAは加算部511に入力される。また、変換部300は、目標操舵トルク生成部200から出力される目標操舵トルクTrefBを目標捩れ角ΔθrefBに変換し、目標捩れ角ΔθrefBは加算部511に入力される。そして、目標捩れ角ΔθrefAとΔθrefBの加算結果が目標捩れ角Δθrefとなる。なお、本実施形態では、目標操舵トルクTrefBが第1目標操舵トルクに対応し、目標捩れ角ΔθrefAが第2目標捩れ角に対応する。
第2実施形態の動作は、第1実施形態の動作と比べると、反力制御系において目標操舵トルクTrefA及びTrefBの生成後から偏差dΔθの算出前までの動作(図16でのステップS40~S50)が異なる。異なる動作について、図22のフローチャートを参照して説明する。
ステップS30の後、変換部310は目標操舵トルクTrefAを目標捩れ角ΔθrefAに変換し(ステップS41)、変換部300は目標操舵トルクTrefBを目標捩れ角ΔθrefBに変換する(ステップS42)。そして、加算部511は、目標捩れ角ΔθrefAとΔθrefBを加算し、目標捩れ角Δθrefを出力する(ステップS43)。目標捩れ角Δθrefは減算部520に加算入力され、ステップS60へと続く。
図23に示す反力制御系の構成例(第3実施形態)では、電流指令値演算後に上記加算を行っている。第3実施形態での反力制御系60Bでは、図21に示される第2実施形態での反力制御系60Aと比べると、捩れ角制御部410(第2捩れ角制御部)が更に追加され、加算部が捩れ角制御部400及び410の後段に移動している。
捩れ角制御部410は、捩れ角制御部400と同様に、目標捩れ角ΔθrefBに対して補償値CFB(伝達関数)を乗算し、電流指令値ImcBを出力する。電流指令値ImcBは加算部512に入力される。減算部520は、変換部310から出力される目標捩れ角ΔθrefAからトーションバー2Aの捩れ角Δθを減算し、減算結果である偏差dΔθAが捩れ角制御部400に入力される。捩れ角制御部400は、偏差dΔθAに対して補償値CFB(伝達関数)を乗算し、電流指令値ImcAを出力する。電流指令値ImcAは加算部512に入力される。そして、電流指令値ImcAとImcBの加算結果が電流指令値Imcとなる。なお、本実施形態では、目標捩れ角ΔθrefBが第1目標捩れ角に対応し、電流指令値ImcBが第2電流指令値に対応する。
第3実施形態の動作は、第2実施形態の動作と比べると、反力制御系において目標捩れ角ΔθrefA及びΔθrefBの演算後から偏差I1の算出前までの動作(図16及び図22でのステップS43~S70)が異なる。異なる動作について、図24のフローチャートを参照して説明する。
ステップS42の後、減算部520は、目標捩れ角ΔθrefAから捩れ角Δθを減算することにより、偏差dΔθAを算出する(ステップS51)。偏差dΔθAは捩れ角制御部400に入力され、捩れ角制御部400は、偏差dΔθAに補償値CFBを乗算することにより電流指令値ImcAを求める(ステップS52)。一方、捩れ角制御部410は、目標捩れ角ΔθrefBに補償値CFBを乗算することにより電流指令値ImcBを求める(ステップS53)。そして、加算部512は、電流指令値ImcAとImcBを加算し、電流指令値Imcを出力する(ステップS54)。電流指令値Imcは減算部530に加算入力され、ステップS80へと続く。
上述の実施形態(第1~第3実施形態)では1つの制御装置が反力制御系及び転舵制御系を有しているが、反力制御系のみを有する制御装置と転舵制御系のみを有する制御装置をそれぞれ設けても良い。この場合、制御装置同士は通信によりデータの送受信を行うことになる。また、図1に示されるSBWシステムは反力装置30と転舵装置40の間には機械的な結合を持たないが、システムに異常が発生した場合に、コラム軸2と転舵機構をクラッチ等で機械的に結合する機械的トルク伝達機構を備えるSBWシステムにも、本発明は適用可能である。このようなSBWシステムでは、システム正常時はクラッチをオフにして機械的トルク伝達を開放状態とし、システム異常時はクラッチをオンにして機械的トルク伝達を可能状態とする。更に、反力装置30はトーションバーを備えているが、ハンドル1と反力用モータ31の間に任意のバネ定数を有する機構であればトーションバーに限定しなくても良い。
上述の実施形態での捩れ角制御部は直接的に電流指令値を演算しているが、電流指令値を演算する前に、先ず出力したいモータトルク(目標トルク)を演算してから、電流指令値を演算するようにしても良い。この場合、モータトルクから電流指令値を求めるには、一般的に用いられている、モータ電流とモータトルクの関係を使用する。
なお、上述で使用した図は、本発明に関して定性的な説明を行うための概念図であり、これらに限定されるものではない。また、上述の実施形態は本発明の好適な実施の一例ではあるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。
本発明の主たる目的は、操舵終端での衝突を抑制するための目標操舵トルクの実現手段についてであり、目標操舵トルクに対する操舵トルクの追従性の実現手段に関しては、上記の変換部及び捩れ角制御部に限定しなくても良い。