本発明は、操舵可能な限界となる操舵終端まで操舵した状態(端当て状態)を自動的に判定し、端当て状態において、反力アクチュエータに供給される電流を減少させるために、その電流値を決定するまでに演算される、電流を調節する基となる中間データ(制御用情報)を減少する。これにより、供給される電流が減少するので、端当て状態における反力アクチュエータでの消費電力の増加や発熱等を抑制することができる。消費電力の削減は、環境負荷低減による気候変動対策や、地球環境負荷の低減に繋がるものである。制御用情報として、目標操舵トルク等を使用することができる。
以下に、本発明の実施の形態を、図面を参照して説明する。
まず、本発明に係る制御装置を備える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の大きさが大きくなるにつれ、また、車速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の算出において、高域のノイズの影響を低減するために適度にローパスフィルタ(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を用いて端当て状態であるか判定し、判定結果に基づいて端当て判定ゲインGeを決定する。端当て判定ゲインGeを目標操舵トルクTrefAに乗算して求められる目標操舵トルクTrefに基づいて、反力用モータ41のモータ電流値Imrが調節されるので、端当て状態において端当て判定ゲインGeを小さくすることにより、目標操舵トルクTrefの大きさも小さくなり、最終的にモータ電流値Imrを減少させることができる。
端当て判定部200の構成例を図7に示す。端当て判定部200は、操舵状態判定部210及びゲイン演算部220を備える。操舵角θhは操舵状態判定部210に入力される。
操舵状態判定部210は、操舵角θhを用いて、操舵状態が端当て状態であるか否かの判定(以下、「端当て判定」とする)を行う。操舵角θhの大きさ|θh|が予め設定された所定の閾値(操舵角閾値)θth以上の場合、端当て状態であると判定し、そうではない場合、端当て状態ではないと判定する。操舵角閾値θthとして、終端角度より若干手前の角度、例えば終端角度より10deg手前の角度を使用する。終端角度より手前に操舵角閾値θthを設定することにより、操舵終端に達してからモータ電流値Imrが減少し始めるまでに生じる可能性があるタイムラグを吸収することができる。操舵角閾値θthとして終端角度を使用しても良い。操舵状態判定部210は、操舵状態が端当て状態と判定した場合、判定結果Rjを「到達」とし、端当て状態ではないと判定した場合、判定結果Rjを「未到達」として出力する。
ゲイン演算部220は、判定結果Rjに基づいて端当て判定ゲインGeを決定する。判定結果Rjが「未到達」の場合、端当て状態ではないとの判定なので、目標操舵トルクの大きさを小さくする必要がなく、端当て判定ゲインGeを1とする。判定結果Rjが「到達」の場合、端当て状態との判定なので、端当て判定ゲインGeを経時的に小さくする。具体的には、端当て状態になってから端当て判定ゲインGeを1から一定の割合で漸次小さくするために、直前の端当て判定ゲインGe(以下、「直前端当て判定ゲインGep」とする)から一定の値FR(例えば、0.2)を差し引いた値を新たな端当て判定ゲインGeとする。即ち、Ge=Gep-FRとして新たな端当て判定ゲインGeを求めると共に、直前端当て判定ゲインGepを新たに求めた端当て判定ゲインGeに更新する。差し引いた値が0以下となったら、端当て判定ゲインGeは0とする。
端当て判定部200から出力される端当て判定ゲインGeは、乗算部510にて目標操舵トルクTrefAに乗算され、乗算結果が目標操舵トルクTrefとして出力される。このようにして目標操舵トルクTrefを求めることにより、端当て状態においてモータ電流値Imrを減少させることができる。例えば、図8は、時点t1からハンドル1を中立位置から切り始め、時点t2において端当て状態となり、そのまま維持した場合の操舵角θhとモータ電流値Imrの時間変化のイメージを示した図であるが、端当て判定ゲインGeの乗算を行わない場合、図8(A)に示されるように、時点t2以降、操舵角θhは終端角度のままであり、モータ電流値Imrも時点t2での値のままとなる。なお、図8(A)において、説明の便宜上、操舵角θhとモータ電流値Imrは重なるように表示されている。それに対して、端当て判定ゲインGeの乗算を行う場合は、図8(B)に示されるように、時点t2以降、操舵角θhは破線で示されるように終端角度のままであるが、モータ電流値Imrは、目標操舵トルクTrefの大きさが小さくなるので、実線で示されるように徐々に減少し、時点t3において0となる。
なお、端当て判定ゲインGeの最小値は0としているが、任意の小さな値を最小値としても良い。また、端当て状態において端当て判定ゲインGeを一定の割合で直線的に小さくしているが、端当て判定ゲインGeを単調に小さくするのであれば変化の形状は任意で良く、例えば曲線的に小さくしても良い。更には、端当て状態になったと判定した時点で、端当て判定ゲインGeを0又は任意の小さな値にしても良い。この場合、目標操舵トルクTrefAに端当て判定ゲインGeを乗算するのではなく、判定結果Rjに応じて、目標操舵トルクTrefAと0又は任意の小さな値をスイッチで切り替えて、目標操舵トルクTrefとして出力するようにしても良い。端当て判定ゲインGeを乗算する構成においてもスイッチによる切替を行うようにしても良い。つまり、判定結果Rjに応じて切り替わるスイッチを変換部300の前に設け、端当て状態ではない場合、目標操舵トルク生成部100と変換部300を接続し、目標操舵トルクTrefAが変換部300に入力されるようにし、端当て状態の場合、乗算部510と変換部300を接続し、目標操舵トルクTrefが変換部300に入力されるようにする。
変換部300は、トーションバー2Aのバネ定数Ktの逆数“1/Kt”の特性を有しており、目標操舵トルクTrefを目標捩れ角Δθrefに変換する。
捩れ角制御部400は、目標捩れ角Δθref及び捩れ角Δθを入力し、捩れ角Δθが目標捩れ角Δθrefとなるような電流指令値Imcを演算する。捩れ角Δθを操舵角θhに応じた値に追従するように制御することにより、所望の操舵反力を実現する。
図9は捩れ角制御部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)が減算部820で算出され、偏差I2に基づいて電流制御部800にて電圧制御指令値Vref2が求められる。転舵装置40では、電圧制御指令値Vref2に基づいて、PWM制御部47及びインバータ48を介して転舵用モータ41が駆動制御される。
目標転舵角生成部600の構成例を図10に示す。目標転舵角生成部600は、制限部610、レート制限部620及び補正部630を備える。
制限部610は、操舵角θhの上下限値を制限して、操舵角θh1を出力する。操舵角θhの上下限値を制限することにより、ハードウェアエラー等によるRAMのデータ化けや通信異常等の影響で操舵角θhが異常値となった場合に、異常な値の出力を抑える。図11に示されるように、操舵角に対する上限値及び下限値を予め設定し、入力する操舵角θ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と同様な構成で同様な動作を行う。
このような構成において、本実施形態の動作例を図12~図15のフローチャートを参照して説明する。
動作を開始すると、操舵角θh、車速Vs、捩れ角Δθ及び転舵角θtが検出又は算出され(ステップS10)、操舵角θhは目標操舵トルク生成部100、端当て判定部200及び目標転舵角生成部600に、車速Vsは目標操舵トルク生成部100に、捩れ角Δθは捩れ角制御部400に、転舵角θtは転舵角制御部700にそれぞれ入力される。
操舵角θh及び車速Vsを入力した目標操舵トルク生成部100は、目標操舵トルクTrefAを生成する(ステップS20)。目標操舵トルク生成部100の動作例については、図13のフローチャートを参照して説明する。
目標操舵トルク生成部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の動作例については、図14のフローチャートを参照して説明する。なお、ゲイン演算部220で使用する直前端当て判定ゲインGepには、予め初期値として1が設定されている。
端当て判定部200に入力された操舵角θhは操舵状態判定部210に入力される(ステップS31)。
操舵状態判定部210は、操舵角θhの大きさ|θh|が操舵角閾値θth以上の場合(ステップS32)、操舵状態が端当て状態と判定し、判定結果Rjを「到達」とする(ステップS33)。操舵角θhの大きさ|θh|が操舵角閾値θth未満の場合(ステップS32)、操舵状態が端当て状態ではないと判定し、判定結果Rjを「未到達」とする(ステップS34)。判定結果Rjはゲイン演算部220に入力される。
ゲイン演算部220は、判定結果Rjが「未到達」の場合(ステップS35)、端当て判定ゲインGeを1とする(ステップS36)。判定結果Rjが「到達」の場合(ステップS35)、端当て判定ゲインGeを、直前端当て判定ゲインGepから一定の値FRを差し引いた値とし(ステップS37)、端当て判定ゲインGeが0以下ならば(ステップS38)、端当て判定ゲインGeを0とする(ステップS39)。そして、直前端当て判定ゲインGepを新たに求めた端当て判定ゲインGeに更新し(ステップS40)、端当て判定ゲインGeを乗算部510に出力する(ステップS41)。
乗算部510において目標操舵トルクTrefAに端当て判定ゲインGeが乗算され(ステップS50)、乗算結果が目標操舵トルクTrefとして変換部300に出力される。
変換部300は、目標操舵トルクTrefを目標捩れ角Δθrefに変換し(ステップS60)、目標捩れ角Δθrefは捩れ角制御部400に入力される。
捩れ角制御部400は、目標捩れ角Δθrefと共に捩れ角Δθを入力し、図9に示される構成により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の動作例については、図15のフローチャートを参照して説明する。
目標転舵角生成部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)。
なお、図12~図15におけるデータ入力及び演算等の順番は適宜変更可能である。
上述の実施形態において、目標操舵トルク生成部100はダンパゲイン部130を備えるが、ダンパゲインによる効果を別の手段で実現する場合や、演算量削減を重視する場合等では、ダンパゲイン部130を削減しても良い。この場合、微分部120、乗算部140及び加算部150も削減可能となる。目標操舵トルク生成部100に関しては、操舵角に基づいた構成であるならば、上述の構成に限られない。
また、上述の実施形態では、端当て状態において、目標操舵トルクに端当て判定ゲインを乗算することにより目標操舵トルクの大きさを小さくしているが、経時的に増加する量を減算していく等、他の方法で目標操舵トルクの大きさを小さくしても良い。
本発明の他の実施の形態について説明する。なお、以降の各実施形態において、既出の他の実施形態と同一の構成には同一の符号を付して、その説明の一部又は全てを省略する。
第1実施形態での端当て判定部200内の操舵状態判定部210は、端当て判定を、操舵角を用いて行っているが、操舵角に加えて、舵角速度を用いて端当て判定を行うことができる。操舵終端での舵角速度は略0であり、操舵終端近辺での舵角速度も微小であるから、端当て判定に舵角速度を加えることにより、より実態に則した端当て判定を行うことができる。
上述に対応した端当て判定部の構成例(第2実施形態)を図16に示す。第2実施形態での端当て判定部200Aでは、図7に示される第1実施形態での端当て判定部200と比べると、操舵状態判定部210が操舵状態判定部210Aに代わっており、操舵状態判定部210Aには、操舵角θhの他に、舵角速度ωh2が入力されている。
舵角速度ωh2は、反力制御系に新たに追加される微分部900にて、操舵角θhを微分することにより算出される。舵角速度ωh2の代わりに、目標操舵トルク生成部100内の微分部120で算出される舵角速度ωh1を使用しても良い。この場合、微分部900は不要となる。
操舵状態判定部210Aは、操舵角θh及び舵角速度ωh2を用いて、端当て判定を行う。操舵角θhの大きさ|θh|が操舵角閾値θth以上で、且つ、舵角速度ωh2の大きさ|ωh2|が予め設定された所定の閾値(舵角速度閾値)ωth以下の場合、端当て状態であると判定し、そうではない場合、端当て状態ではないと判定する。操舵状態判定部210Aは、操舵状態が端当て状態と判定した場合、判定結果Rjを「到達」とし、端当て状態ではないと判定した場合、判定結果Rjを「未到達」として出力する。
第2実施形態の動作は、第1実施形態の動作と比べると、微分部900での舵角速度ωh2算出の動作が加わり、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
操舵角及び舵角速度に加えて、操舵トルクを用いて、端当て判定を行うことができる。端当て状態で更に運転者がハンドルを切ろうとすると、操舵トルクが大きくなるので、端当て判定に操舵トルクを加えることにより、より的確に端当て状態を判定することができる。
上述に対応した端当て判定部の構成例(第3実施形態)を図17に示す。第3実施形態での端当て判定部200Bでは、図16に示される第2実施形態での端当て判定部200Aと比べると、操舵状態判定部210Aが操舵状態判定部210Bに代わっており、操舵状態判定部210Bには、操舵角θh及び舵角速度ωh2の他に、操舵トルクThが入力されている。
操舵トルクThは、コラム軸2にトルクセンサを設け、そのトルクセンサが検出するようにしても良いし、捩れ角Δθにトーションバー2Aのバネ定数Ktを乗算して求めても良い。
操舵状態判定部210Bは、操舵角θh、舵角速度ωh2及び操舵トルクThを用いて、端当て判定を行う。操舵角θhの大きさ|θh|が操舵角閾値θth以上で、且つ、舵角速度ωh2の大きさ|ωh2|が舵角速度閾値ωth以下で、且つ、操舵トルクThの大きさ|Th|が予め設定された所定の閾値(操舵トルク閾値)Tth以上の場合、端当て状態であると判定し、そうではない場合、端当て状態ではないと判定する。操舵状態判定部210Bは、操舵状態が端当て状態と判定した場合、判定結果Rjを「到達」とし、端当て状態ではないと判定した場合、判定結果Rjを「未到達」として出力する。
第3実施形態の動作は、第2実施形態の動作と比べると、操舵トルクThの検出又は算出の動作が加わり、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
操舵角、舵角速度及び操舵トルクに加えて、モータ電流値Imrを用いて、端当て判定を行うことができる。端当て状態において最終的に減少させたい反力用モータ41のモータ電流値Imrを判定に用いることにより、効果に直結した、より適切な端当て判定を行うことができる。
上述に対応した端当て判定部の構成例(第4実施形態)を図18に示す。第4実施形態での端当て判定部200Cでは、図17に示される第3実施形態での端当て判定部200Bと比べると、操舵状態判定部210Bが操舵状態判定部210Cに代わっており、操舵状態判定部210Cには、操舵角θh、舵角速度ωh2及び操舵トルクThの他に、モータ電流値Imrが入力されている。
モータ電流検出器39で検出されるモータ電流値Imrは、減算部520に減算入力されると共に、操舵状態判定部210Cに入力される。
操舵状態判定部210Bは、操舵角θh、舵角速度ωh2、操舵トルクTh及びモータ電流値Imrを用いて、端当て判定を行う。操舵角θhの大きさ|θh|が操舵角閾値θth以上で、且つ、舵角速度ωh2の大きさ|ωh2|が舵角速度閾値ωth以下で、且つ、操舵トルクThの大きさ|Th|が操舵トルク閾値Tth以上で、且つ、モータ電流値Imrが予め設定された所定の閾値(電流閾値)Ith以上の場合、端当て状態であると判定し、そうではない場合、端当て状態ではないと判定する。操舵状態判定部210Cは、操舵状態が端当て状態と判定した場合、判定結果Rjを「到達」とし、端当て状態ではないと判定した場合、判定結果Rjを「未到達」として出力する。
第4実施形態の動作は、第3実施形態の動作と比べると、操舵状態判定部の動作が上述のように変わるだけで、他の動作は同じである。
上述の実施形態(第1~第4実施形態)では、それぞれ「操舵角」、「操舵角、舵角速度」、「操舵角、舵角速度、操舵トルク」、「操舵角、舵角速度、操舵トルク、モータ電流値」の組み合わせで端当て判定を行っているが、その他の組み合わせで端当て判定を行っても良い。例えば、「操舵トルク」、「操舵角、操舵トルク」、「操舵トルク、舵角速度」、或いは、これらに「モータ電流値」を加えた組み合わせで端当て判定を行っても良い。
上述の実施形態での端当て判定に対して、経過時間を条件に加えることもできる。例えば、第1実施形態では、操舵角θhの大きさ|θh|が操舵角閾値θth以上の場合に端当て状態であると判定しているが、操舵角θhの大きさ|θh|が操舵角閾値θth以上である状態が予め設定された所定の時間だけ継続したとき、初めて端当て状態であると判定する。所定の時間が経過する前に操舵角θhの大きさ|θh|が操舵角閾値θth未満となった場合は端当て状態とは判定しない。経過時間を条件に加えることにより、単発的で急激な値の変動や閾値前後での値の変動等による不安定な動作の抑制を図ることができる。所定の時間だけ継続したか否かの判断は、カウンタ等を使用して行うことができる。
第1実施形態での端当て判定に対して経過時間を条件に加える場合の動作例(第5実施形態)を、図19のフローチャートを参照して説明する。第5実施形態の動作は、第1実施形態の動作と比べると、操舵状態判定部の動作が異なるだけであるから、図19には操舵状態判定部の動作のみを示しており、その動作を説明する。なお、操舵状態判定部が使用するカウンタには、予め初期値として0が設定されている。
図14に示されるフローチャート中のステップS31に続いて、操舵状態判定部は、入力した操舵角θhの大きさ|θh|が操舵角閾値θth以上の場合(ステップS32)、カウンタを1つ増加させる(ステップS32A)。そして、カウンタが予め設定された所定の値以上の場合(ステップS32B)、操舵状態が端当て状態と判定し、判定結果Rjを「到達」とする(ステップS33)。カウンタが所定の値未満の場合(ステップS32B)、操舵状態が端当て状態ではないと判定し、判定結果Rjを「未到達」とする(ステップS32C)。操舵角θhの大きさ|θh|が操舵角閾値θth未満の場合も(ステップS32)、操舵状態が端当て状態ではないと判定し、判定結果Rjを「未到達」とし(ステップS34)、更にカウンタを0にリセットする(ステップS34A)。その後、ステップS35へと続く。
第2~第4実施形態での端当て判定に対しても経過時間を条件に加えることができる。この場合、舵角速度ωh2、操舵トルクTh及びモータ電流値Imrの各条件において予め設定される所定の時間は、操舵角θhの条件において設定される所定の時間と同じでも良く、各条件で異なっても良い。
上述の実施形態(第1~第5実施形態)では、制御用情報として目標操舵トルクを使用し、目標操舵トルクの大きさを小さくすることにより、モータ電流値を減少させているが、モータ電流値を決定するまでに演算される他のデータを制御用情報として使用することもできる。例えば、電流指令値を制御用情報として使用することができる。
図20は、第1実施形態に対して、電流指令値Imcを制御用情報として使用する場合の反力制御系の構成例(第6実施形態)を示すブロック図である。第6実施形態での反力制御系60Dでは、図3に示される第1実施形態での反力制御系60と比べると、乗算部510が目標操舵トルク生成部100の後ではなく、捩れ角制御部400の後に設置され、目標操舵トルク生成部100から出力される目標操舵トルクTrefAは変換部300に入力され、端当て判定部200から出力される端当て判定ゲインGeは捩れ角制御部400から出力される電流指令値Imcに乗算部510にて乗算され、乗算結果が電流指令値ImcDとして減算部520に加算入力されている。
このような構成の第6実施形態の反力制御系60Dの動作例を図21のフローチャートを参照して説明する。図21には、図12に示される第1実施形態の動作例のうち、動作の流れが異なる箇所のみを示している。
図12に示されるフローチャート中のステップ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の間に任意のバネ定数を有する機構であればトーションバーに限定しなくても良い。
上述の実施形態での捩れ角制御部は直接的に電流指令値を演算しているが、電流指令値を演算する前に、先ず出力したいモータトルク(目標トルク)を演算してから、電流指令値を演算するようにしても良い。この場合、モータトルクから電流指令値を求めるには、一般的に用いられている、モータ電流とモータトルクの関係を使用する。
なお、上述で使用した図は、本発明に関して定性的な説明を行うための概念図であり、これらに限定されるものではない。また、上述の実施形態は本発明の好適な実施の一例ではあるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。