本発明は、操舵機構において検出される操舵角や操舵トルク等の操舵関連情報を用いて、操舵状態が操舵可能な限界となる操舵終端まで操舵した状態(端当てON状態)になったことを自動的に判定し、端当てON状態において、反力アクチュエータに供給される電流を減少させるために、その電流値を決定するまでに演算される、電流を調節する基となる中間データ(制御用情報)を減少する。これにより、供給される電流が減少するので、端当てON状態における反力アクチュエータでの消費電力の増加や発熱等を抑制することができる。消費電力の削減は、環境負荷低減による気候変動対策や、地球環境負荷の低減に繋がるものである。制御用情報として、目標操舵トルク等を使用することができる。
また、本発明では、操舵状態が端当てON状態になったか判定する閾値(第1閾値)と、操舵状態が操舵終端まで操舵していない状態(端当てOFF状態)になったか判定する閾値(第2閾値)とを異なる値とする。例えば、操舵関連情報として操舵角を使用して判定を行う場合、第1閾値は第2閾値より大きい値とする。第1閾値と第2閾値とで同じ値を使用した場合、操舵関連情報が閾値境界で変動すると、操舵状態が端当てON状態と端当てOFF状態に頻繁に切り替わるハンチング現象が発生する。ハンチング現象の発生により、反力アクチュエータに供給される電流が不安定となり、それが操舵反力に影響し、運転者に不快感を与えるおそれがある。第1閾値と第2閾値とで異なる値を使用することにより、この閾値境界でのハンチング現象を抑制することができる。
以下に、本発明の実施の形態を、図面を参照して説明する。
まず、本発明に係る制御装置を備えるステアバイワイヤ(SBW)システムの構成例について説明する。
図1はSBWシステムの構成例を示した図である。SBWシステムは、運転者が操作するハンドルを有する操舵機構を構成する反力装置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、端当て判定部200、変換部300、捩れ角制御部400、電流制御部500、乗算部510及び減算部520を備え、トーションバー2Aの捩れ角が目標捩れ角に追従するような制御を行う。また、制御用情報として目標操舵トルクを使用する。目標操舵トルク生成部100にて操舵角θh及び車速Vsに基づいて目標操舵トルクTrefAが生成され、端当て判定部200にて操舵状態の判定に基づいて端当て判定ゲインGeが求められ、目標操舵トルクTrefAに端当て判定ゲインGeを乗算した結果である目標操舵トルクTrefが変換部300にて目標捩れ角Δθrefに変換される。目標捩れ角Δθrefは捩れ角Δθと共に捩れ角制御部400に入力され、捩れ角制御部400にて、捩れ角Δθが目標捩れ角Δθrefとなるような電流指令値Imcが演算される。そして、電流指令値Imcとモータ電流検出器39で検出される反力用モータ41の電流値(モータ電流値)Imrの偏差I1(=Imc-Imr)が減算部520で算出され、偏差I1に基づいて電流制御部500にて電圧制御指令値Vref1が求められる。反力装置30では、電圧制御指令値Vref1に基づいて、PWM制御部37及びインバータ38を介して反力用モータ31が駆動制御される。
目標操舵トルク生成部100の構成例を図4に示す。目標操舵トルク生成部100は、基本マップ部110、微分部120、ダンパゲイン部130、乗算部140及び加算部150を備える。操舵角θhは基本マップ部110及び微分部120に入力され、車速Vsは基本マップ部110及びダンパゲイン部130に入力される。
基本マップ部110は、基本マップを有し、基本マップを用いて、車速Vsをパラメータとするトルク信号Tref_aを出力する。トルク信号Tref_aは、基本となる反力を生成するために使用される。基本マップはチューニングにより調整されており、例えば、図5(A)に示されるように、トルク信号Tref_aが、操舵角θhの大きさ|θh|が増加するにつれて増加し、車速Vsが増加するにつれても増加するようになっている。つまり、操舵角θhの大きさ|θh|が大きくなるにつれ、また、車速Vsが速くなるにつれ、反力が大きくなる。なお、図5(A)において、符号部111は操舵角θhの符号(+1、-1)を乗算部112に出力しており、操舵角θhの大きさ|θh|からマップによりトルク信号Tref_aの大きさを求め、これに操舵角θhの符号を乗算し、トルク信号Tref_aを求める構成となっている。または、図5(B)に示されるように、正負の操舵角θhに応じてマップを構成しても良く、この場合、操舵角θhが正の場合と負の場合とで変化の態様を変えても良い。また、図5に示される基本マップは車速感応であるが、車速感応でなくても良い。
微分部120は、操舵角θhを微分して舵角速度ωh1を算出し、舵角速度ωh1は乗算部140に入力される。なお、舵角速度ωh1の算出において、高域のノイズの影響を低減するために適度にローパスフィルタ(LPF)処理を実施しても良く、ハイパスフィルタ(HPF)とゲインにより、微分演算とLPF処理を実施しても良い。また、舵角速度ωh1は、操舵角θhではなく、上側角度センサが検出するハンドル角θ1又は下側角度センサが検出するコラム角θ2に対して微分演算とLPF処理を行って算出しても良い。舵角速度ωh1の代わりに転舵用モータ41のモータ角速度を使用しても良い。この場合、微分部120は不要となる。
ダンパゲイン部130は、舵角速度ωh1に乗算されるダンパゲインDGを出力する。乗算部140にてダンパゲインDGを乗算された舵角速度ωh1は、トルク信号Tref_bとして加算部150に入力される。ダンパゲインDGは、ダンパゲイン部130が有する車速感応型のダンパゲインマップを用いて、車速Vsに応じて求められる。ダンパゲインマップは、例えば、図6に示されるように、車速Vsが速くなるに従って徐々に大きくなる特性を有する。このようなダンパゲインDGを舵角速度ωh1に乗算して舵角速度ωh1に比例した目標操舵トルクの補償を行うことにより、フィーリングとしての粘性感を持たせることができ、また、ステアリングを切った状態から手放しの状態にした場合、ハンドルが発振することなく収れん性を持たせられ、システム安定性の向上を図れる。ダンパゲインマップは操舵角θhに応じて可変としても良い。
トルク信号Tref_a及びTref_bは、加算部150で加算され、加算結果は目標操舵トルクTrefAとして出力される。
端当て判定部200は、操舵関連情報として操舵角θhを用いて、操舵状態Stを判定し、操舵状態Stに基づいて端当て判定ゲインGeを決定する。端当て判定ゲインGeを目標操舵トルクTrefAに乗算して求められる目標操舵トルクTrefに基づいて、反力用モータ41のモータ電流値Imrが調節されるので、端当てON状態において端当て判定ゲインGeを小さくすることにより、目標操舵トルクTrefの大きさも小さくなり、最終的にモータ電流値Imrを減少させることができる。
端当て判定部200の構成例を図7に示す。端当て判定部200は、操舵状態判定部210及びゲイン演算部220を備える。操舵角θhは操舵状態判定部210に入力される。
操舵状態判定部210は、操舵角θhを用いて、操舵状態Stが端当てON状態になったかの判定(以下、「端当てON判定」とする)と、操舵状態Stが端当てOFF状態になったかの判定(以下、「端当てOFF判定」とする)を行い、操舵状態Stを出力する。
端当てON判定では、操舵角θhの大きさ|θh|が予め設定された所定の閾値(第1操舵角閾値)θth1以上の場合、操舵状態Stが端当てON状態になったとして、「操舵状態St=端当てON状態」とする。第1操舵角閾値θth1として、終端角度より若干手前の角度、例えば終端角度より2deg手前の角度を使用する。終端角度より手前に第1操舵角閾値θth1を設定することにより、操舵終端に達してからモータ電流値Imrが減少し始めるまでに生じる可能性があるタイムラグを吸収することができる。第1操舵角閾値θth1として終端角度を使用しても良い。
端当てOFF判定では、操舵角θhの大きさ|θh|が予め設定された所定の閾値(第2操舵角閾値)θth2より小さい場合、操舵状態Stが端当てOFF状態になったとして、「操舵状態St=端当てOFF状態」とする。第2操舵角閾値θth2は、端当てON判定において操舵状態Stが端当てON状態になったと判定されない操舵角θhの大きさ|θh|の範囲、即ち第1操舵角閾値θth1より小さい範囲に設定される。つまり、第2操舵角閾値θth2は第1操舵角閾値θth1より小さい値に設定される。例えば、第2操舵角閾値θth2として、終端角度より5deg手前の角度を使用する。
このように第1操舵角閾値θth1及び第2操舵角閾値θth2を設定してハンドル1を操作した場合の操舵状態の変化は、図8のようになる。ハンドル1を中立位置から操作し、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上となるまで、操舵状態は「端当てOFF状態」である(矢印A)。操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上となると、操舵状態は「端当てON状態」となる(矢印B)。そして、ハンドル1を戻して、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さくなるまで、操舵状態は「端当てON状態」のままである(矢印C)。操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さくなると、操舵状態は「端当てOFF状態」となる(矢印D)。よって、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上となり、操舵状態が「端当てON状態」となった直後に、操舵角θhの大きさ|θh|が第1操舵角閾値θth1より小さくなっても、操舵状態は「端当てON状態」のままである。また、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さくなり、操舵状態が「端当てOFF状態」となった直後に、操舵角θhの大きさ|θh|が第2操舵角閾値θth2以上となっても、操舵状態は「端当てOFF状態」のままである。このように、第1操舵角閾値θth1及び第2操舵角閾値θth2を使用することにより、閾値境界で操舵角θhの大きさ|θh|が変動しても、操舵状態が端当てON状態と端当てOFF状態に頻繁に切り替わるようなハンチング現象を抑制することができる。
操舵状態判定部210は、端当てON判定及び端当てOFF判定(以下、この2つの判定を総称して「端当て判定」とする)を以下のような手順で行う。まず、端当てON判定を行い、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上の場合、「操舵状態St=端当てON状態」とし、そうではない場合、端当てOFF判定を行う。そして、端当てOFF判定にて操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい場合、「操舵状態St=端当てOFF状態」とし、そうではない場合、即ち操舵角θhの大きさ|θh|が第2操舵角閾値θth2以上で第1操舵角閾値θth1より小さい場合、操舵状態Stは変更しない。
ゲイン演算部220は、操舵状態Stに基づいて端当て判定ゲインGeを決定する。上述のように、端当てON状態では、目標操舵トルクTrefの大きさを小さくするために、端当て判定ゲインGeを小さくする。端当てOFF状態では、小さくなった目標操舵トルクを元に戻すべく、端当て判定ゲインGeを大きくする。
操舵状態Stが「端当てON状態」の場合、端当て判定ゲインGeの乗算により目標操舵トルクを単調に減少させるために、ゲイン演算部220は、端当て判定ゲインGeを経時的に小さくする。具体的には、端当てON状態になってから端当て判定ゲインGeを1から一定の割合で漸次小さくするために、直前の端当て判定ゲインGe(以下、「直前端当て判定ゲインGep」とする)から一定の値FR1(例えば、0.2)を減算した値を新たな端当て判定ゲインGeとする。即ち、Ge=Gep-FR1として新たな端当て判定ゲインGeを求める。減算した値が0以下の場合、端当て判定ゲインGeは0とする。直前端当て判定ゲインGepは、新たに求めた端当て判定ゲインGeに更新する。
操舵状態Stが「端当てOFF状態」の場合、端当て判定ゲインGeの乗算により目標操舵トルクを単調に増加させるために、ゲイン演算部220は、端当て判定ゲインGeを経時的に大きくする。具体的には、端当てOFF状態になってから端当て判定ゲインGeを1になるまで一定の割合で漸次大きくするために、直前端当て判定ゲインGepに一定の値FR2(例えば、0.2)を加算した値を新たな端当て判定ゲインGeとする。即ち、Ge=Gep+FR2として新たな端当て判定ゲインGeを求める。加算した値が1以上の場合、端当て判定ゲインGeは1とする。直前端当て判定ゲインGepは、新たに求めた端当て判定ゲインGeに更新する。なお、一定の値FR1とFR2は同じ値でも異なる値でも良い。
端当て判定部200から出力される端当て判定ゲインGeは、乗算部510にて目標操舵トルクTrefAに乗算され、乗算結果が目標操舵トルクTrefとして出力される。
このようにして目標操舵トルクTrefを求めることにより、端当てON状態においてモータ電流値Imrを減少させると共に、閾値境界でのハンチング現象を抑制することができる。例えば、図9は、時点t1からハンドル1を中立位置から切り始め、時点t2において終端角度に到達し、その後、終端角度より手前に設定された閾値前後でハンドル1を操作した場合の操舵角θhとモータ電流値Imrの時間変化のイメージを示した図であり、この図を用いてその効果を説明する。図9(A)は第1操舵角閾値θth1と第2操舵角閾値θth2を同じ値(操舵角閾値と表記)とした場合の図で、図9(B)は第1操舵角閾値θth1と第2操舵角閾値θth2を異なる値とした本実施形態の場合の図である。第1操舵角閾値θth1と第2操舵角閾値θth2を同じ値とした場合、図9(A)に示されるように、操舵角θhが操舵角閾値境界で変動すると、それに合わせて操舵状態が端当てON状態と端当てOFF状態に交互に切り替わり、モータ電流値Imrが増減を繰り返すことになる。なお、図9(A)において、説明の便宜上、操舵角θhとモータ電流値Imrは重なるように表示されている。それに対して、第1操舵角閾値θth1と第2操舵角閾値θth2を異なる値とした場合、図9(B)に示されるように、操舵角θhが第1操舵角閾値θth1境界で変動しても(破線参照)、第2操舵角閾値θth2より小さくならなければ、操舵状態は端当てON状態のままであるから、モータ電流値Imrは徐々に減少し、時点t3において0となる(実線参照)。
なお、端当て判定ゲインGeの最小値は0としているが、任意の小さな値を最小値としても良い。また、端当て判定ゲインGeの減少及び増加を一定の割合で直線的に行っているが、端当て判定ゲインGeを単調に減少及び増加するのであれば変化の形状は任意で良く、例えば曲線的に行っても良い。端当て判定ゲインGeの増減をマップや関数に基づいて行っても良い。更には、端当てON状態になったと判定した時点で、端当て判定ゲインGeを0又は任意の小さな値にしても良く、端当てOFF状態になったと判定した時点で、端当て判定ゲインGeを1にしても良い。この場合、目標操舵トルクTrefAに端当て判定ゲインGeを乗算するのではなく、操舵状態Stに応じて、目標操舵トルクTrefAと0又は任意の小さな値をスイッチで切り替えて、目標操舵トルクTrefとして出力するようにしても良い。
変換部300は、トーションバー2Aのバネ定数Ktの逆数“1/Kt”の特性を有しており、目標操舵トルクTrefを目標捩れ角Δθrefに変換する。
捩れ角制御部400は、目標捩れ角Δθref及び捩れ角Δθを入力し、捩れ角Δθが目標捩れ角Δθrefとなるような電流指令値Imcを演算する。捩れ角Δθを操舵角θhに応じた値に追従するように制御することにより、所望の操舵反力を実現する。
図10は捩れ角制御部400の構成例を示すブロック図であり、捩れ角制御部400は、ゲイン部420、440及び470、積分部450、微分部460、減算部410及び480並びに加算部430を備え、微分先行型PID(比例積分微分)制御(PI-D制御)により、目標捩れ角Δθref及び捩れ角Δθを用いて、電流指令値Imcを演算する。目標捩れ角Δθrefは減算部410に加算入力され、捩れ角Δθは減算部410に減算入力されると共に、微分部460に入力される。
減算部410にて目標捩れ角Δθrefと捩れ角Δθの角度偏差dΔθが算出され、角度偏差dΔθはゲイン部420及び440に入力される。ゲイン部420では比例ゲインKpが角度偏差dΔθに乗算され、乗算結果が電流指令値Imc1として加算部430に入力される。ゲイン部440では積分ゲインKiが角度偏差dΔθに乗算され、乗算結果は積分部450に入力されて積分(1/s)され、積分結果が電流指令値Imc2として加算部430に入力される。加算部430では電流指令値Imc1及びImc2が加算され、加算結果である電流指令値Imc3は、減算部480に加算入力される。捩れ角Δθを入力した微分部460は捩れ角Δθを微分(s)し、微分結果はゲイン部470に入力されて微分ゲインKdが乗算され、乗算結果は電流指令値Imc4として減算部480に減算入力される。減算部480では、電流指令値Imc3から電流指令値Imc4が減算され、減算結果が電流指令値Imcとして出力される。
なお、捩れ角制御部400での制御はPI-D制御に限られず、目標捩れ角Δθrefに対して捩れ角Δθが追従するように制御するものであれば良く、PI(比例積分)制御、P(比例)制御、PID制御、I-P制御(比例先行型PI制御)、モデルマッチング制御、モデル規範制御等の一般的に用いられる制御でも良い。また、捩れ角制御部400の後段に、電流指令値Imcの最大値を制限するリミッタを設けても良い。
電流指令値Imcは減算部520に加算入力され、減算部520にて、フィードバックされているモータ電流値Imrとの偏差I1が演算される。電流制御部500は偏差I1を入力し、PI制御等により電流制御を行い、電流制御された電圧制御指令値Vref1を出力する。
電圧制御指令値Vref1は反力装置30に送られ、PWM制御部37に入力されてデューティが演算され、PWM制御部37からのPWM信号により、インバータ38を介して反力用モータ31がPWM駆動される。反力用モータ31のモータ電流値Imrはモータ電流検出器39で検出され、反力制御系60の減算部520にフィードバックされる。
転舵制御系70は、目標転舵角生成部600、転舵角制御部700、電流制御部800及び減算部810を備え、転舵角θtが目標転舵角θtrefに追従するような制御を行う。目標転舵角生成部600にて操舵角θhに基づいて目標転舵角θtrefが生成され、目標転舵角θtrefは転舵角θtと共に転舵角制御部700に入力され、転舵角制御部700にて、転舵角θtが目標転舵角θtrefとなるような電流指令値Imctが演算される。そして、電流指令値Imctとモータ電流検出器49で検出される転舵用モータ41の電流値(モータ電流値)Imdの偏差I2(=Imct-Imd)が減算部810で算出され、偏差I2に基づいて電流制御部800にて電圧制御指令値Vref2が求められる。転舵装置40では、電圧制御指令値Vref2に基づいて、PWM制御部47及びインバータ48を介して転舵用モータ41が駆動制御される。
目標転舵角生成部600の構成例を図11に示す。目標転舵角生成部600は、制限部610、レート制限部620及び補正部630を備える。
制限部610は、操舵角θhの上下限値を制限して、操舵角θh1を出力する。操舵角θhの上下限値を制限することにより、ハードウェアエラー等によるRAMのデータ化けや通信異常等の影響で操舵角θhが異常値となった場合に、異常な値の出力を抑える。図12に示されるように、操舵角に対する上限値及び下限値を予め設定し、入力する操舵角θ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を求めるようにしても良い。
転舵角制御部700は、捩れ角制御部400と同様の構成及び動作で、PI-D制御により、目標転舵角θtref及び転舵角θtを用いて、目標転舵角θtrefに転舵角θtが追従するような電流指令値Imctを演算する。
減算部810、電流制御部800、PWM制御部47、インバータ48及びモータ電流検出器49は、それぞれ減算部520、電流制御部500、PWM制御部37、インバータ38及びモータ電流検出器39と同様な構成で同様な動作を行う。
このような構成において、本実施形態の動作例を図13~図16のフローチャートを参照して説明する。
動作を開始すると、操舵角θh、車速Vs、捩れ角Δθ及び転舵角θtが検出又は算出され(ステップS10)、操舵角θhは目標操舵トルク生成部100、端当て判定部200及び目標転舵角生成部600に、車速Vsは目標操舵トルク生成部100に、捩れ角Δθは捩れ角制御部400に、転舵角θtは転舵角制御部700にそれぞれ入力される。
操舵角θh及び車速Vsを入力した目標操舵トルク生成部100は、目標操舵トルクTrefAを生成する(ステップS20)。目標操舵トルク生成部100の動作例については、図14のフローチャートを参照して説明する。
目標操舵トルク生成部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は、端当て判定ゲインGeを求める(ステップS30)。端当て判定部200の動作例については、図15のフローチャートを参照して説明する。なお、操舵状態判定部210が出力する操舵状態Stの初期値は「端当てOFF状態」であり、ゲイン演算部220で使用する直前端当て判定ゲインGepには、予め初期値として1が設定されている。
端当て判定部200に入力された操舵角θhは操舵状態判定部210に入力される(ステップS31)。
操舵状態判定部210は、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上の場合(ステップS32)、操舵状態Stが端当てON状態になったと判定し、操舵状態Stを「端当てON状態」とする(ステップS33)。操舵角θhの大きさ|θh|が第1操舵角閾値θth1より小さい場合(ステップS32)、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さいか調べる(ステップS34)。そして、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい場合、操舵状態Stが端当てOFF状態になったと判定し、操舵状態Stを「端当てOFF状態」とし(ステップS35)、そうではない場合、操舵状態Stは変更せずにそのままとする。操舵状態判定部210は、操舵状態Stをゲイン演算部220に出力する(ステップS36)。
ゲイン演算部220は、操舵状態Stが「端当てON状態」の場合(ステップS37)、端当て判定ゲインGeを、直前端当て判定ゲインGepから一定の値FR1を減算した値とし(ステップS38)、端当て判定ゲインGeが0以下ならば(ステップS39)、端当て判定ゲインGeを0とする(ステップS40)。操舵状態Stが「端当てOFF状態」の場合(ステップS37)、端当て判定ゲインGeを、直前端当て判定ゲインGepに一定の値FR2を加算した値とし(ステップS41)、端当て判定ゲインGeが1以上ならば(ステップS42)、端当て判定ゲインGeを1とする(ステップS43)。そして、直前端当て判定ゲインGepを新たに求めた端当て判定ゲインGeに更新し(ステップS44)、端当て判定ゲインGeを乗算部510に出力する(ステップS45)。
乗算部510において目標操舵トルクTrefAに端当て判定ゲインGeが乗算され(ステップS50)、乗算結果が目標操舵トルクTrefとして変換部300に出力される。
変換部300は、目標操舵トルクTrefを目標捩れ角Δθrefに変換し(ステップS60)、目標捩れ角Δθrefは捩れ角制御部400に入力される。
捩れ角制御部400は、目標捩れ角Δθrefと共に捩れ角Δθを入力し、図10に示される構成によりPI-D制御を行い、電流指令値Imcを演算する(ステップS70)。
電流指令値Imcは減算部520に加算入力され、モータ電流検出器39で検出されたモータ電流値Imrとの偏差I1が減算部520で算出される(ステップS80)。偏差I1は電流制御部500に入力され、電流制御部500は電流制御により電圧制御指令値Vref1を算出する(ステップS90)。その後、電圧制御指令値Vref1に基づいて、PWM制御部37及びインバータ38を介して、反力用モータ31が駆動制御される(ステップS100)。
一方、操舵角θhを入力した目標転舵角生成部600は、目標転舵角θtrefを生成する(ステップS110)。目標転舵角生成部600の動作例については、図16のフローチャートを参照して説明する。
目標転舵角生成部600に入力された操舵角θhは制限部610に入力される。制限部610は、予め設定された上限値及び下限値により操舵角θhの上下限値を制限し(ステップS111)、操舵角θh1としてレート制限部620に出力する。レート制限部620は、予め設定された制限値により操舵角θh1の変化量に対して制限をかけ(ステップS112)、操舵角θh2として補正部630に出力する。補正部630は、操舵角θh2を補正して目標転舵角θtrefを求める(ステップS113)。目標転舵角θtrefは転舵角制御部700に入力される。
転舵角制御部700は、目標転舵角θtrefと共に転舵角θtを入力し、PI-D制御により電流指令値Imctを求める(ステップS120)。
電流指令値Imctは減算部810に加算入力され、モータ電流検出器49で検出されたモータ電流値Imdとの偏差I2が減算部810で算出される(ステップS130)。偏差I2は電流制御部800に入力され、電流制御部800は電流制御により電圧制御指令値Vref2を算出する(ステップS140)。その後、電圧制御指令値Vref2に基づいて、PWM制御部47及びインバータ48を介して、転舵用モータ41が駆動制御される(ステップS150)。
なお、図13~図16におけるデータ入力及び演算等の順番は適宜変更可能である。
上述の動作例において、操舵状態判定部210が、端当て判定を行う時点での操舵状態Stに応じて、実施する判定(端当てON判定、端当てOFF判定)を選択するようにしても良い。即ち、端当てON判定は操舵状態Stが端当てOFF状態のときのみに行ない、端当てOFF判定は操舵状態Stが端当てON状態のときのみに行うようにする。この場合の操舵状態判定部の動作は、図15に示されるフローチャート中のステップS32~S35の動作が異なることになる。即ち、図17に示されるように、操舵状態判定部は、操舵角θh入力後、操舵状態Stを確認する(ステップS31A)。操舵状態Stが「端当てOFF状態」の場合、端当てON判定を行い、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上の場合(ステップS32)、操舵状態Stを「端当てON状態」とし(ステップS33)、そうではない場合、操舵状態Stはそのままとする。操舵状態Stが「端当てON状態」の場合、端当てOFF判定を行い、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい場合(ステップS34)、操舵状態Stを「端当てOFF状態」とし(ステップS35)、そうではない場合、操舵状態Stはそのままとする。その後、ステップS36へと続く。
また、ゲイン演算部220において、ステップS38~S40の動作を、端当て判定ゲインGeが0になっている場合は実施しないようにしても良い。同様に、ステップS41~S43の動作を、端当て判定ゲインGeが1になっている場合は実施しないようにしても良い。
上述の実施形態において、目標操舵トルク生成部100はダンパゲイン部130を備えるが、ダンパゲインによる効果を別の手段で実現する場合や、演算量削減を重視する場合等では、ダンパゲイン部130を削減しても良い。この場合、微分部120、乗算部140及び加算部150も削減可能となる。目標操舵トルク生成部100に関しては、操舵角に基づいた構成であるならば、上述の構成に限られない。
また、上述の実施形態では、端当てON状態において、目標操舵トルクに端当て判定ゲインを乗算することにより目標操舵トルクの大きさを小さくしているが、経時的に増加する量を減算していく等、他の方法で目標操舵トルクの大きさを小さくしても良い。同様に、端当てOFF状態において、目標操舵トルクに端当て判定ゲインを乗算することにより目標操舵トルクの大きさを大きくしているが、経時的に増加する量を加算していく等、他の方法で目標操舵トルクの大きさを大きくしても良い。
本発明の他の実施の形態について説明する。なお、以降の各実施形態において、既出の他の実施形態と同一の構成には同一の符号を付して、その説明の一部又は全てを省略する。
第1実施形態での端当て判定部200内の操舵状態判定部210は、操舵関連情報として操舵角を用いて、端当て判定を行っているが、操舵関連情報として舵角速度を加え、操舵角及び舵角速度を用いて、端当て判定を行うことができる。操舵終端での舵角速度は略0であり、操舵終端近辺での舵角速度も微小であるから、端当て判定に舵角速度を加えることにより、より実態に則した端当て判定を行うことができる。
上述に対応した端当て判定部の構成例(第2実施形態)を図18に示す。第2実施形態での端当て判定部200Aでは、図7に示される第1実施形態での端当て判定部200と比べると、操舵状態判定部210が操舵状態判定部210Aに代わっており、操舵状態判定部210Aには、操舵角θhの他に、舵角速度ωh2が入力されている。
舵角速度ωh2は、反力制御系に新たに追加される微分部900にて、操舵角θhを微分することにより算出される。舵角速度ωh2の代わりに、目標操舵トルク生成部100内の微分部120で算出される舵角速度ωh1を使用しても良い。この場合、微分部900は不要となる。
操舵状態判定部210Aは、操舵角θh及び舵角速度ωh2を用いて、端当て判定を行う。
端当てON判定では、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が予め設定された所定の閾値(第1舵角速度閾値)ωth1以下の場合、操舵状態Stが端当てON状態になったとして、「操舵状態St=端当てON状態」とする。第1舵角速度閾値ωth1として、例えば2deg/秒を使用する。
端当てOFF判定では、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が予め設定された所定の閾値(第2舵角速度閾値)ωth2より大きい場合、操舵状態Stが端当てOFF状態になったとして、「操舵状態St=端当てOFF状態」とする。第2舵角速度閾値ωth2は、端当てON判定において操舵状態Stが端当てON状態になったと判定されない舵角速度ωh2の大きさ|ωh2|の範囲、即ち第1舵角速度閾値ωth1より大きい範囲に設定される。つまり、第2舵角速度閾値ωth2は第1舵角速度閾値ωth1より大きい値に設定される。例えば、第2舵角速度閾値ωth2として、5deg/秒を使用する。
操舵状態判定部210Aは、操舵状態判定部210と同様の手順で、端当て判定を行う。即ち、まず、端当てON判定を行い、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が第1舵角速度閾値ωth1以下の場合、「操舵状態St=端当てON状態」とし、そうではない場合、端当てOFF判定を行う。そして、端当てOFF判定にて操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が第2舵角速度閾値ωth2より大きい場合、「操舵状態St=端当てOFF状態」とし、そうではない場合、操舵状態Stは変更しない。
第2実施形態の動作は、第1実施形態の動作と比べると、微分部900での舵角速度ωh2算出の動作が加わり、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
操舵関連情報として、操舵角及び舵角速度に加えて、操舵トルクを用いて、端当て判定を行うことができる。端当てON状態で更に運転者がハンドルを切ろうとすると、操舵トルクが大きくなるので、端当て判定に操舵トルクを加えることにより、より的確に端当て判定を行うことができる。
上述に対応した端当て判定部の構成例(第3実施形態)を図19に示す。第3実施形態での端当て判定部200Bでは、図18に示される第2実施形態での端当て判定部200Aと比べると、操舵状態判定部210Aが操舵状態判定部210Bに代わっており、操舵状態判定部210Bには、操舵角θh及び舵角速度ωh2の他に、操舵トルクThが入力されている。
操舵トルクThは、コラム軸2にトルクセンサを設け、そのトルクセンサが検出するようにしても良いし、捩れ角Δθにトーションバー2Aのバネ定数Ktを乗算して求めても良い。
操舵状態判定部210Bは、操舵角θh、舵角速度ωh2及び操舵トルクThを用いて、端当て判定を行う。
端当てON判定では、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が第1舵角速度閾値ωth1以下で、且つ、操舵トルクThの大きさ|Th|が予め設定された所定の閾値(第1操舵トルク閾値)Tth1以上の場合、操舵状態Stが端当てON状態になったとして、「操舵状態St=端当てON状態」とする。第1操舵トルク閾値Tth1として、例えば操舵トルクThの最大値の30%の値を使用する。
端当てOFF判定では、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が第2舵角速度閾値ωth2より大きい、又は、操舵トルクThの大きさ|Th|が予め設定された所定の閾値(第2操舵トルク閾値)Tth2より小さい場合、操舵状態Stが端当てOFF状態になったとして、「操舵状態St=端当てOFF状態」とする。第2操舵トルク閾値Tth2は、端当てON判定において操舵状態Stが端当てON状態になったと判定されない操舵トルクThの大きさ|Th|の範囲、即ち第1操舵トルク閾値Tth1より小さい範囲に設定される。つまり、第2操舵トルク閾値Tth2は第1操舵トルク閾値Tth1より小さい値に設定される。例えば、第2操舵トルク閾値Tth2として、操舵トルクThの最大値の15%の値を使用する。
操舵状態判定部210Bは、操舵状態判定部210Aと同様の手順で、端当て判定を行う。即ち、まず、端当てON判定を行い、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が第1舵角速度閾値ωth1以下で、且つ、操舵トルクThの大きさ|Th|が第1操舵トルク閾値Tth1以上の場合、「操舵状態St=端当てON状態」とし、そうではない場合、端当てOFF判定を行う。そして、端当てOFF判定にて操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が第2舵角速度閾値ωth2より大きい、又は、操舵トルクThの大きさ|Th|が第2操舵トルク閾値Tth2より小さい場合、「操舵状態St=端当てOFF状態」とし、そうではない場合、操舵状態Stは変更しない。
第3実施形態の動作は、第2実施形態の動作と比べると、操舵トルクThの検出又は算出の動作が加わり、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
操舵関連情報として、操舵角、舵角速度及び操舵トルクに加えて、モータ電流値を用いて、端当て判定を行うことができる。端当てON状態において最終的に減少させたい反力用モータ41のモータ電流値Imrを端当て判定に用いることにより、効果に直結した、より適切な端当て判定を行うことができる。
上述に対応した端当て判定部の構成例(第4実施形態)を図20に示す。第4実施形態での端当て判定部200Cでは、図19に示される第3実施形態での端当て判定部200Bと比べると、操舵状態判定部210Bが操舵状態判定部210Cに代わっており、操舵状態判定部210Cには、操舵角θh、舵角速度ωh2及び操舵トルクThの他に、モータ電流値Imrが入力されている。
モータ電流検出器39で検出されるモータ電流値Imrは、減算部520に減算入力されると共に、操舵状態判定部210Cに入力される。
操舵状態判定部210Cは、操舵角θh、舵角速度ωh2、操舵トルクTh及びモータ電流値Imrを用いて、端当て判定を行う。
端当てON判定では、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が第1舵角速度閾値ωth1以下で、且つ、操舵トルクThの大きさ|Th|が第1操舵トルク閾値Tth1以上で、且つ、モータ電流値Imrが予め設定された所定の閾値(第1電流閾値)Ith1以上の場合、操舵状態Stが端当てON状態になったとして、「操舵状態St=端当てON状態」とする。第1電流閾値Ith1として、例えばモータ電流値Imrの最大値の30%の値を使用する。
端当てOFF判定では、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が第2舵角速度閾値ωth2より大きい、又は、操舵トルクThの大きさ|Th|が第2操舵トルク閾値Tth2より小さい、又は、モータ電流値Imrが予め設定された所定の閾値(第2電流閾値)Ith2より小さい場合、操舵状態Stが端当てOFF状態になったとして、「操舵状態St=端当てOFF状態」とする。第2電流閾値Ith2は、端当てON判定において操舵状態Stが端当てON状態になったと判定されないモータ電流値Imrの範囲、即ち第1電流閾値Ith1より小さい範囲に設定される。つまり、第2電流閾値Ith2は第1電流閾値Ith1より小さい値に設定される。例えば、第2電流閾値Ith2として、モータ電流値Imrの最大値の15%の値を使用する。
操舵状態判定部210Cは、操舵状態判定部210Bと同様の手順で、端当て判定を行う。即ち、まず、端当てON判定を行い、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上で、且つ、舵角速度ωh2の大きさ|ωh2|が第1舵角速度閾値ωth1以下で、且つ、操舵トルクThの大きさ|Th|が第1操舵トルク閾値Tth1以上で、且つ、モータ電流値Imrが第1電流閾値Ith1以上の場合、「操舵状態St=端当てON状態」とし、そうではない場合、端当てOFF判定を行う。そして、端当てOFF判定にて操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい、又は、舵角速度ωh2の大きさ|ωh2|が第2舵角速度閾値ωth2より大きい、又は、操舵トルクThの大きさ|Th|が第2操舵トルク閾値Tth2より小さい、又は、モータ電流値Imrが第2電流閾値Ith2より小さい場合、「操舵状態St=端当てOFF状態」とし、そうではない場合、操舵状態Stは変更しない。
第4実施形態の動作は、第3実施形態の動作と比べると、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
なお、モータ電流値Imrの代わりに、電流指令値Imcを操舵関連情報として使用しても良い。
上述の実施形態(第1~第4実施形態)では、操舵関連情報として、それぞれ「操舵角」、「操舵角、舵角速度」、「操舵角、舵角速度、操舵トルク」、「操舵角、舵角速度、操舵トルク、モータ電流値」の組み合わせで端当て判定を行っているが、その他の組み合わせで端当て判定を行っても良い。例えば、「操舵トルク」、「操舵角、操舵トルク」、「操舵トルク、舵角速度」、或いは、これらに「モータ電流値」を加えた組み合わせで端当て判定を行っても良い。
上述の実施形態での端当て判定に対して、経過時間を条件に加えることもできる。例えば、第1実施形態での端当てON判定では、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上の場合、操舵状態Stが端当てON状態になったと判定しているが、操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上である状態が予め設定された所定の時間(第1所定時間)だけ継続したとき、初めて端当てON状態になったと判定する。所定の時間が経過する前に操舵角θhの大きさ|θh|が第1操舵角閾値θth1より小さくなった場合は端当てON状態になったとは判定しない。端当てOFF判定でも、同様に経過時間を条件に加え、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい状態が予め設定された所定の時間(第2所定時間)だけ継続したとき、初めて端当てOFF状態になったと判定する。経過時間を条件に加えることは閾値境界でのハンチング現象を抑制する効果があり、同様にハンチング現象の抑制に効果がある異なる2つの閾値の使用と組み合わせることにより、ハンチング現象に対して、より柔軟な対応を取ることができる。また、経過時間の追加は、単発的で急激な値の変動等の抑制にも効果がある。所定の時間だけ継続したか否かの判断は、カウンタ等を使用して行うことができる。
第1実施形態での端当て判定に対して経過時間を条件に加える場合の動作例(第5実施形態)を、図21のフローチャートを参照して説明する。第5実施形態の動作は、第1実施形態の動作と比べると、操舵状態判定部の動作が異なるだけであるから、図21には操舵状態判定部の動作のみを示しており、その動作を説明する。なお、操舵状態判定部は端当てON判定で使用するカウンタ(以下、「ON用カウンタ」とする)と端当てOFF判定で使用するカウンタ(以下、「OFF用カウンタ」とする)を有しており、各カウンタには、予め初期値として0が設定されている。
図15に示されるフローチャート中のステップS31に続いて、操舵状態判定部は、入力した操舵角θhの大きさ|θh|が第1操舵角閾値θth1以上の場合(ステップS32)、ON用カウンタを1つ増加させる(ステップS32A)。そして、ON用カウンタが予め設定された所定の値Ft1以上の場合(ステップS32B)、操舵状態Stが端当てON状態になったと判定し、操舵状態Stを「端当てON状態」とし(ステップS33)、ON用カウンタを0にリセットする(ステップS33A)。ON用カウンタが所定の値Ft1より小さい場合(ステップS32B)、まだ端当てON状態になっていないと判定し、操舵状態Stは変更しない。操舵角θhの大きさ|θh|が第1操舵角閾値θth1より小さい場合(ステップS32)、ON用カウンタを0にリセットし(ステップS33B)、操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さいか調べる(ステップS34)。操舵角θhの大きさ|θh|が第2操舵角閾値θth2より小さい場合、OFF用カウンタを1つ増加させる(ステップS34A)。そして、OFF用カウンタが予め設定された所定の値Ft2以上の場合(ステップS34B)、操舵状態Stが端当てOFF状態になったと判定し、操舵状態Stを「端当てOFF状態」とし(ステップS35)、OFF用カウンタを0にリセットする(ステップS35A)。OFF用カウンタが所定の値Ft2より小さい場合(ステップS34B)、まだ端当てOFF状態になっていないと判定し、操舵状態Stは変更しない。ステップS34において操舵角θhの大きさ|θh|が第2操舵角閾値θth2以上の場合、OFF用カウンタを0にリセットし(ステップS35B)、操舵状態Stは変更せずにそのままとする。その後、ステップS36へと続く。
なお、図21におけるデータ入力及び演算等の順番は適宜変更可能である。
上述の端当て判定において、予め設定される所定の値Ft1及びFt2は同じ値でも違う値でも良い。また、端当てON判定及び端当てOFF判定の両方に対して経過時間を条件に加えているが、どちらか一方に対してだけ加えるようにしても良い。
第2~第4実施形態での端当て判定に対しても経過時間を条件に加えることができる。この場合、舵角速度ωh2、操舵トルクTh及びモータ電流値Imrの各条件において予め設定される所定の時間は、操舵角θhの条件において設定される所定の時間と同じでも良く、各条件で異なっても良い。
上述の実施形態(第1~第5実施形態)では、制御用情報として目標操舵トルクを使用し、目標操舵トルクの大きさを小さくすることにより、モータ電流値を減少させているが、モータ電流値を決定するまでに演算される他のデータを制御用情報として使用することもできる。例えば、電流指令値を制御用情報として使用することができる。
図22は、第1実施形態に対して、電流指令値Imcを制御用情報として使用する場合の反力制御系の構成例(第6実施形態)を示すブロック図である。第6実施形態での反力制御系60Dでは、図3に示される第1実施形態での反力制御系60と比べると、乗算部510が目標操舵トルク生成部100の後ではなく、捩れ角制御部400の後に設置され、目標操舵トルク生成部100から出力される目標操舵トルクTrefAは変換部300に入力され、端当て判定部200から出力される端当て判定ゲインGeは捩れ角制御部400から出力される電流指令値Imcに乗算部510にて乗算され、乗算結果が電流指令値ImcDとして減算部520に加算入力されている。
このような構成の第6実施形態の反力制御系60Dの動作例を図23のフローチャートを参照して説明する。図23には、図13に示される第1実施形態の動作例のうち、動作の流れが異なる箇所のみを示している。
図13に示されるフローチャート中のステップS20で生成された目標操舵トルクTrefAは変換部300に入力され、ステップS30で求められた端当て判定ゲインGeは乗算部510に入力される。
変換部300は、目標操舵トルクTrefAを目標捩れ角Δθrefに変換し(ステップS60)、目標捩れ角Δθrefは捩れ角制御部400に入力される。
捩れ角制御部400は、第1実施形態の場合と同様に、目標捩れ角Δθrefと共に捩れ角Δθを入力し、PI-D制御を行い、電流指令値Imcを演算する(ステップS70)。
電流指令値Imcは乗算部510に入力され、乗算部510において電流指令値Imcに端当て判定ゲインGeが乗算され(ステップS70A)、乗算結果が電流指令値ImcDとして出力される。
電流指令値ImcDは減算部520に加算入力され、モータ電流検出器39で検出されたモータ電流値Imrとの偏差I1が減算部520で算出される(ステップS80)。その後、ステップS90へと続く。
第2~第5実施形態に対しても、制御用情報として、目標操舵トルクではなく、電流指令値を使用することができる。また、制御用情報として、目標操舵トルクや電流指令値の他に、目標捩れ角等を使用しても良い。
上述の実施形態(第1~第6実施形態)では、反力制御系は捩れ角が目標捩れ角に追従するような制御を行っているが、反力制御系での制御はそれに限られず、操舵角が目標操舵角に追従するような制御等を行っても良い。
また、上述の実施形態では1つの制御装置が反力制御系及び転舵制御系を有しているが、反力制御系のみを有する制御装置と転舵制御系のみを有する制御装置をそれぞれ設けても良い。この場合、制御装置同士は通信によりデータの送受信を行うことになる。図1に示されるSBWシステムは反力装置30と転舵装置40の間には機械的な結合を持たないが、システムに異常が発生した場合に、コラム軸2と転舵機構をクラッチ等で機械的に結合する機械的トルク伝達機構を備えるSBWシステムにも、本発明は適用可能である。このようなSBWシステムでは、システム正常時はクラッチをオフにして機械的トルク伝達を開放状態とし、システム異常時はクラッチをオンにして機械的トルク伝達を可能状態とする。更に、反力装置30はトーションバーを備えているが、ハンドル1と反力用モータ31の間に任意のバネ定数を有する弾性体や機構であれば、トーションバーに限定しなくても良い。
上述の実施形態での捩れ角制御部は直接的に電流指令値を演算しているが、電流指令値を演算する前に、先ず出力したいモータトルク(目標トルク)を演算してから、電流指令値を演算するようにしても良い。この場合、モータトルクから電流指令値を求めるには、一般的に用いられている、モータ電流とモータトルクの関係を使用する。
なお、上述で使用した図は、本発明に関して定性的な説明を行うための概念図であり、これらに限定されるものではない。また、上述の実施形態は本発明の好適な実施の一例ではあるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。