本発明に係る電動パワーステアリング装置(EPS)は、従来のEPSの機能であるアシスト制御と、自動運転における自動操舵で必要となる舵角制御を行う。アシスト制御及び舵角制御は、それぞれアシスト制御部及び舵角制御部で実行され、各部から出力されるアシスト制御電流指令値及び舵角制御電流指令値を用いて、モータを駆動制御するための電流指令値を演算する。自動操舵(自動操舵状態)では舵角制御とアシスト制御の両方が実行され、運転者が操舵に関与する手動操舵(手動操舵状態)ではアシスト制御が実行される。自動操舵中での操舵介入により発生する違和感を軽減するために、操舵トルク、操舵系における回転運動の速度に関する情報である回転速度情報(例えば舵角速度等)及び車速に応じた操舵介入補償を行う。具体的には、操舵トルク及び車速に基づいて基本マップを用いて求められる補償値(第1速度指令値)と、回転速度情報及び車速に基づいてダンパゲインマップを用いて求められる補償値(第2速度指令値)とから算出される補償値(補償舵角速度指令値)により、舵角速度指令値を補償する。
以下に、本発明の実施形態を、図面を参照して説明する。
先ず、本発明に係る電動パワーステアリング装置を含む車両システム全体について説明する。
図3は本発明に関わる車両システム全体の構成例(第1実施形態)を示しており、車両に搭載されるECU(以下、「車両側ECU」とする)100、EPSに搭載されるECU(以下、「EPS側ECU」とする)200、及びプラント400からなる。
車両側ECU100は、車両状態量検出部110、切換指令部120、目標軌道演算部130及び車両運動制御部140を備える。
車両状態量検出部110は、車載カメラ、距離センサ、角速度センサ、加速度センサ等から検出されるデータを車両状態量Cvとして、切換指令部120、目標軌道演算部130及び車両運動制御部140に出力する。
切換指令部120は、車両状態量Cvと共に、動作モードを切り換えるための信号Sgをダッシュボード等に設けられたボタンやスイッチ等から入力し、切換信号SWをEPS側ECU200に出力する。動作モードには「アシスト制御モード」と「舵角制御モード」があり、「アシスト制御モード」は手動操舵に対応したモードであり、「舵角制御モード」は自動操舵に対応したモードである。運転者の意思を示す信号Sgの値を基に、車両状態量Cv中の各データの値を加味して動作モードを決定し、決定した動作モードを切換信号SWとして出力する。
目標軌道演算部130は、車両状態量Cvに基づいて、既存の方法により目標軌道Amを演算し、車両運動制御部140に出力する。
車両運動制御部140は舵角指令値生成部141を備えており、舵角指令値生成部141は、目標軌道Am及び車両状態量Cvに基づいて、操舵角の制御目標値である舵角指令値θrefを生成し、EPS側ECU200に出力する。
EPS側ECU200は、EPS状態量検出部210、切換判定/徐変ゲイン生成部220、舵角制御部300、アシスト制御部230、切換部240、電流制御/駆動部250及びモータ電流検出器38を備えている。
EPS状態量検出部210は、角度センサ、トルクセンサ及び速度センサからの信号を入力し、EPS状態量を検出する。具体的には、角度センサはハンドル舵角(トーションバーの上側の角度)θhを実操舵角θrとして検出し、トルクセンサは操舵トルクTtを検出し、速度センサは車速Vを検出する。また、実操舵角θrに対して微分演算を行うことにより、実舵角速度ωrを算出する。実操舵角θr及び実舵角速度ωrは舵角制御部300に入力され、操舵トルクTtは切換判定/徐変ゲイン生成部220、舵角制御部300及びアシスト制御部230に入力され、車速Vは舵角制御部300及びアシスト制御部230に入力される。なお、実操舵角θrとしてコラム舵角(トーションバーの下側の角度)を使用しても良く、モータ角度センサ(回転角センサ)を備え、モータの回転角を実操舵角θrとしても良い。更に、実操舵角θr及び車速Vは車両側ECU100で検出して、EPS側ECU200に送信するようにしても良い。また、実舵角速度ωrは、モータ角度センサで検出される回転角の差分演算とギア比から算出しても良く、実操舵角θrの差分演算から算出しても良い。EPS状態量検出部210の最終段に、高周波ノイズ低減のためにLPF(ローパスフィルタ)を挿入しても良く、その場合、HPF(ハイパスフィルタ)とゲインにより実舵角速度ωrを算出しても良い。
切換判定/徐変ゲイン生成部220は、車両側ECU100からの切換信号SW及び操舵トルクTtに基づいて自動操舵と手動操舵の切換判定を行い、その判定結果に基づいて徐変ゲインを決定する。徐変ゲインとして、舵角制御出力徐変ゲインGfa1、速度制御徐変ゲインGfa2、速度指令徐変ゲインGfa3、舵角指令徐変ゲインGfa4、アシスト制御出力徐変ゲインGft1及びアシストマップ徐変ゲインGft2を求め、Gfa1及びGft1は切換部240に、Gfa2、Gfa3及びGfa4は舵角制御部300に、Gft2はアシスト制御部230に入力される。切換判定/徐変ゲイン生成部220の詳細については後述する。
舵角制御部300は、舵角制御を行うために、車両側ECU100からの舵角指令値θref、実操舵角θr、実舵角速度ωr、操舵トルクTt、車速V並びに徐変ゲインGfa2、Gfa3及びGfa4を用いて、舵角制御電流指令値IrefP1を算出する。舵角制御電流指令値IrefP1は切換部240に入力される。なお、実舵角速度ωrを、EPS状態量検出部210ではなく、舵角制御部300で算出しても良い。舵角制御部300の詳細については後述する。
アシスト制御部230は、アシスト制御を行うために、例えば、図2に示される構成例での電流指令値演算部31、電流制限部33、補償信号生成部34及び加算部32Aを備え、操舵トルクTt及び車速Vに基づいて、アシストマップを使用して、図2での電流指令値Irefmに相当するアシスト制御電流指令値IrefT1を算出する。但し、図2の構成例とは異なり、切換判定/徐変ゲイン生成部220から出力されるアシストマップ徐変ゲインGft2を入力し、電流指令値演算部31からの出力(アシストマップ出力電流)に乗算し、乗算結果を加算部32Aに入力する。電流指令値演算部31で用いられるアシストマップは操舵トルクTtに対する電流指令値の特性を定めたマップであり、車速感応型で、車速Vが増加すると電流指令値が減少する特性となっている。なお、電流制限部33及び/又は補償信号生成部34はなくても良い。
切換部240は、舵角制御電流指令値IrefP1、アシスト制御電流指令値IrefT1並びに徐変ゲインGfa1及びGft1を用いて、電流指令値Irefを算出する。切換部240の詳細については後述する。
電流制御/駆動部250は、例えば、図2に示される構成例での減算部32B、PI制御部35、PWM制御部36及びインバータ37を備え、電流指令値Irefとモータ電流検出器38で検出されるモータ電流Imを用いて、図2の構成例と同様の動作により、モータを駆動制御する。
プラント400は、ハンドル操舵における運転者の特性とEPS及び車両のメカ特性を模擬した制御対象の物理モデルであり、運転者操舵伝達特性410及びメカ伝達特性420を備える。運転者の操舵により発生するハンドル手入力トルクTh及びEPS側ECU200からのモータ電流Imに基づいてメカ系が動作し、それにより車両及びEPSに関する状態情報EVが生じるので、メカ伝達特性420は、その状態情報EVを出力する。車両側ECU100の車両状態量検出部110及びEPS側ECU200のEPS状態量検出部210は、この状態情報EVから、車両状態量Cv及びEPS状態量をそれぞれ検出する。状態情報EV中のハンドル舵角θhに応じて運転者の操舵によるハンドル手入力トルクThが発生するので、運転者操舵伝達特性410は、そのハンドル手入力トルクThを出力する。
次に、EPS側ECU200の切換判定/徐変ゲイン生成部220、舵角制御部300及び切換部240について、詳細に説明する。
図4は切換判定/徐変ゲイン生成部220の構成例を示しており、切換判定/徐変ゲイン生成部220は切換判定部221及び徐変ゲイン生成部222を備え、切換判定部221は手入力判定部223及び操舵状態判定部224を備える。
手入力判定部223は、操舵トルクTtを用いて手入力の有無を判定する。手入力判定部223の構成例を図5に示しており、手入力判定部223は平滑化フィルタ部225、絶対値化部226及び判定処理部227を備える。平滑化フィルタ部225は平滑化フィルタを有しており、操舵トルクTtを平滑化フィルタにより平滑化し、平滑後の操舵トルクTt’を出力する。操舵トルクTt’は絶対値化部226に入力され、絶対値化部226は操舵トルクTt’の絶対値(絶対値データ)|Tt’|を出力する。絶対値|Tt’|は判定処理部227に入力される。判定処理部227は予め定められた閾値Tthと絶対値|Tt’|を比較し、絶対値|Tt’|が閾値Tth以上の場合、「手入力あり」と判定し、絶対値|Tt’|が閾値Tth未満の場合、「手入力なし」と判定し、判定結果を手入力判定信号Jhとして出力する。
操舵状態判定部224は、車両側ECU100からの切換信号SW及び手入力判定信号Jhから操舵状態を判定する。切換信号SWが「アシスト制御モード」又は手入力判定信号Jhが「手入力あり」の場合、操舵状態は「手動操舵」であると判定し、そうではない場合、つまり、切換信号SWが「舵角制御モード」であり且つ手入力判定信号Jhが「手入力なし」の場合、操舵状態は「自動操舵」であると判定する。判定結果は、操舵状態判定信号Jsとして出力する。なお、手入力判定信号Jhのみから操舵状態を判定しても良い。つまり、手入力判定信号Jhが「手入力あり」の場合、操舵状態は「手動操舵」であると判定し、手入力判定信号Jhが「手入力なし」の場合、操舵状態は「自動操舵」であると判定しても良い。
徐変ゲイン生成部222は、操舵状態判定信号Jsに基づいて徐変ゲインを決定する。徐変ゲインは操舵状態によって異なる値を取り、操舵状態は操舵状態判定信号Jsにより判断する。
徐変ゲインGfa1、Gfa2、Gfa3及びGfa4は、自動操舵状態では100%、手動操舵状態では0%であり、自動操舵状態から手動操舵状態へ及び手動操舵状態から自動操舵状態への移行に際しては、値が徐々に変化する。例えば、自動操舵状態から手動操舵状態へ移行する場合、徐変ゲインGfa1〜Gfa4は、図6(A)に示されるように変化する。即ち、時点t1で操舵状態判定信号Jsが「自動操舵」から「手動操舵」に変わると、その時点から徐変ゲインは逐次減少し、時点t2において0%となる。手動操舵状態から自動操舵状態へ移行する場合は、これとは逆に、操舵状態判定信号Jsが「自動操舵」に変わった時点から徐変ゲインは逐次増加する。徐変ゲインが減少中又は増加中(以下、この状態を「切換状態」とする)に操舵状態判定信号Jsの値が変わったら、徐変ゲインは、減少中ならば増加に、増加中ならば減少に転じる。なお、図6(A)では切換状態での徐変ゲインは直線的に変化させているが、切換動作を円滑にするために、S字カーブのように変化させても良く、直線的に変化する徐変ゲインをLPF、例えばカットオフ周波数が2Hzの1次LPFに通して使用しても良い。また、徐変ゲインGfa1〜Gfa4は連動した同じ変化をする必要はなく、それぞれ独立した変化をしても良い。
アシスト制御出力徐変ゲインGft1は、自動操舵状態ではαt1[%](0≦αt1≦150)、手動操舵状態では100%であり、図6(B)に示されるように、徐変ゲインGfa1〜Gfa4の場合と同様に、切換状態では値を徐々に変化させる。
アシストマップ徐変ゲインGft2は、自動操舵状態ではαt2[%](0≦αt2≦150)、手動操舵状態では100%であり、図6(C)に示されるように、徐変ゲインGfa1〜Gfa4の場合と同様に、切換状態では値を徐々に変化させる。
舵角制御部300及び切換部240の構成例を図7に示す。舵角制御部300は、舵角指令値可変制限部310、可変レート制限部320、ハンドル振動除去部330、位置制御部340、操舵介入補償部350、速度指令値可変制限部360、舵角速度制御部370、ハンドル制振部380、舵角制御電流指令値制限部390、乗算部391及び392並びに加算部393及び394を備え、切換部240は、乗算部241及び242並びに加算部243を備える。
舵角制御部300の舵角指令値可変制限部310は、車両側ECU100から受信する自動操舵等のための舵角指令値θrefに対して、通信エラー等による異常な値や過剰な値が舵角制御に入力されるのを防止するために、制限値(上限値、下限値)を設定して制限をかけ、舵角指令値θref1として出力する。自動操舵状態及び手動操舵状態において適切な制限値を設定すべく、舵角指令徐変ゲインGfa4に応じて制限値を設定する。例えば、図8に示されるように、舵角指令徐変ゲインGfa4が100%の場合を自動操舵状態であると判断して、実線で示される制限値で制限をかけ、舵角指令徐変ゲインGfa4が0%の場合を手動操舵状態であると判断して、破線で示されるような自動操舵状態のときよりも絶対値が小さい制限値で制限をかける。舵角指令徐変ゲインGfa4が0〜100%の間の場合は切換状態であると判断して、実線と破線の間の値で制限をかける。切換状態のとき、実線の自動操舵状態での制限値又は破線の手動操舵状態での制限値で制限をかけても良い。なお、上限値の大きさ(絶対値)と下限値の大きさは異なっても良い。
可変レート制限部320は、舵角指令値θrefの急変によって、舵角制御の出力である舵角制御電流指令値が急激に変動することを避けるために、舵角指令値θref1の変化量に対して制限値を設定して制限をかけ、舵角指令値θref2を出力する。例えば、1サンプル前の舵角指令値θref1からの差分を変化量とし、その変化量の絶対値が所定の値(制限値)より大きい場合、変化量の絶対値が制限値となるように、舵角指令値θref1を加減算し、舵角指令値θref2として出力し、制限値以下の場合は、舵角指令値θref1をそのまま舵角指令値θref2として出力する。舵角指令値可変制限部310の場合と同様に、自動操舵状態及び手動操舵状態において適切な制限値を設定すべく、舵角指令徐変ゲインGfa4に応じて制限値を設定する。舵角指令徐変ゲインGfa4より操舵状態を判断し、自動操舵状態では予め定められた制限値とし、手動操舵状態では制限値をゼロとし、舵角指令値θref2が変化せずに一定となるようにする。切換状態では両制限値の中間の値を使用するが、自動操舵状態での制限値又は手動操舵状態での制限値を使用しても良い。なお、変化量の絶対値に対して制限値を設定するのではなく、変化量に対して上限値及び下限値を設定して制限をかけるようにしても良い。
乗算部391では、舵角指令値θref2に舵角指令徐変ゲインGfa4が乗算され、舵角指令値θref3として出力される。これにより、自動操舵状態から手動操舵状態への切換状態における後述のハンドル振動除去部330から出力される目標操舵角θtをゼロに漸近させ、舵角制御を中立状態に作用させることができる。
ハンドル振動除去部330は、舵角指令値θref3に含まれる振動周波数成分を低減する。自動操舵中、舵角指令が変化しているときに、舵角指令値θref3に、トーションバーのバネ性及びステアリングホイールの慣性モーメントによる振動を励起する周波数(約10Hz前後)成分が発生する。この舵角指令値θref3に含まれるハンドル振動周波数成分を、LPFやノッチフィルタ等でのフィルタ処理又は位相遅れ補償により低減し、目標操舵角θtを出力する。フィルタとしては、ハンドル振動周波数の帯域のゲインを下げ、ECUに実装可能であれば、任意のフィルタを使用して良い。ハンドル振動除去部330の手前に、舵角指令徐変ゲインGfa4を乗算する乗算部391を設置することにより、舵角指令徐変ゲインGfa4の乗算により発生するハンドル振動周波数成分の低減を可能としている。なお、ハンドル振動周波数成分が微小な場合等では、ハンドル振動除去部300を省略しても良い。
位置制御部340は、目標操舵角θtと実操舵角θrに基づいて、目標操舵角θtに実操舵角θrを近づけるための舵角速度指令値(基本舵角速度指令値)ωref1を算出する。また、目標操舵角θtに対する実操舵角θrの制御帯域を高周波側まで広げるために、規範モデル及びFF(フィードフォワード)フィルタを使用する。これにより、舵角制御の応答性(追従性)を向上させることができる。
位置制御部340の構成例を図9に示す。位置制御部340は、規範モデル部341、比例ゲイン部342、フィルタ部343、減算部344及び加算部345を備える。
規範モデル部341は、下記数1で定義される伝達関数Gmodelを有し、伝達関数Gmodelを用いて、目標操舵角θtを目標操舵角θt1に変換する。
ここで、T
m1=1/(2π×f
m1)、T
m2=1/(2π×f
m2)であり、f
m1及びf
m2はカットオフ周波数、sはラプラス演算子である。伝達関数G
modelはモデル規範制御の手法での所望の伝達特性を定義するものであり、上記数1では分母が6次、分子が0次としているが、これに限られるものではない。
減算部344にて目標操舵角θt1と実操舵角θrの偏差θeが求められ、偏差θeは比例ゲイン部342に入力される。比例ゲイン部342は、偏差θeに比例ゲインKppを乗算し、P制御により舵角速度指令値ωref1aを算出する。
フィルタ部343はFFフィルタを有しており、FFフィルタにより目標操舵角θtを舵角速度指令値ωref1bに変換する。FFフィルタの伝達関数Gfは下記数2で定義される。
KffはFFフィルタゲインであり、P
ωθは後述の加算部393からの出力である舵角速度指令値ωrefから実操舵角θrまでの伝達関数であり、フィッティングによる同定等により予め定義されている。FFフィルタゲインKffは、車速Vに応じて変化させる。車速に応じて路面反力や後述の操舵介入補償マップが変化することにより、舵角指令値に対する実操舵角の応答性が変化してしまうので、FFフィルタゲインKffを車速感応型とする。これにより、簡易的に、車速によらずに、舵角指令値に対する実操舵角の応答性をほぼ一定にすることができる。FFフィルタゲインKffは、例えば、図10に示されるように、車速Vが0km/hから大きくなるにつれ単調に減少し、車速Vが20km/hのときに1.1となり、車速Vが60km/hのときに1となり、それ以降は1のままで一定となるように変化する。
舵角速度指令値ωref1a及びωref1bは加算部345で加算され、舵角速度指令値ωref1として出力される。
操舵介入補償部350は、操舵トルクTt及び実操舵角θrに応じた操舵介入補償のための舵角速度指令値(補償舵角速度指令値)ωref2を算出する。舵角速度指令値ωref2と位置制御部340からの舵角速度指令値ωref1を加算したものが舵角速度指令値ωrefとなるので、操舵介入補償部350の機能により、操舵トルクの発生を緩和する方向に舵角速度指令値を生成することができ、自動操舵中での操舵介入を実現することができる。
操舵介入補償部350の構成例を図11に示す。操舵介入補償部350は、基本マップ部351、ヒステリシス補正部352、舵角速度演算部353、ダンパゲイン部354、舵角感応ゲイン部355、LPF356、乗算部357A及び357B、加算部358A並びに減算部358Bを備え、舵角速度演算部353は微分部353A及びLPF353Bを備える。
操舵介入補償部350に入力された操舵トルクTtは、基本マップ部351に入力され、実操舵角θrはLPF356、舵角速度演算部353及び舵角感応ゲイン部355に入力される。LPF356は、例えば、カットオフ周波数が5Hzの1次のLPF又は2次のLPFにより、実操舵角θrに対してフィルタ処理を行い、実操舵角θr’を算出する。舵角速度演算部353は、微分部353Aで実操舵角θrを微分し、更にLPF353BでLPFによるフィルタ処理を行い、舵角速度ωsを算出する。
基本マップ部351は、基本マップを有し、基本マップを用いて舵角速度指令値(第1速度指令値)ωref2aを求める。基本マップは操舵トルクに対する舵角速度指令値の特性を定めたマップであり、車速に応じても変化するので、操舵トルクTt及び車速Vより舵角速度指令値ωref2aを求める。
基本マップはチューニングにより調整されており、例えば、図12に示されるように、舵角速度指令値は、操舵トルクの大きさ(絶対値)が増加するにつれて増加するが、車速が増加するにつれては減少する。高車速ほど舵角速度指令値が小さくなり、フィール(ステアリングフィール、操舵感)としては重くなり、逆に、低車速では軽いフィールとなる。アシスト制御部230で使用するアシストマップも車速が増加するにつれてアシスト制御電流指令値が減少する特性を有しているので、高速走行時に運転者により操舵介入があった場合、舵角速度指令値及びアシスト制御電流指令値の増加は抑えられ、急な操舵とならず、安全な操舵が可能である。なお、図12では操舵トルクの大きさでマップを構成しているが、正負の操舵トルクTtに応じてマップを構成しても良く、この場合、操舵トルクが正の場合と負の場合とで、変化の態様を変えても良い。
ヒステリシス補正部352は、操舵介入において所望のヒステリシス特性を得られるような舵角速度指令値ωref2bを演算する。例えば、実操舵角を0[deg]→+50[deg]→−50[deg]→+50[deg]と変化させた場合、舵角速度指令値が図13に示されるようなヒステリシス特性で変化するようにする。図13においてAhysはヒステリシス幅である。
このようなヒステリシス特性を実現するために、ヒステリシス補正部352は、入力した実操舵角θr’に対して、実操舵角θr’がプラス方向に変化している場合は、下記数3に従って舵角速度指令値ωref2bを演算し、マイナス方向に変化している場合は、下記数4に従って舵角速度指令値ωref2bを演算する。なお、下記数3及び数4では、x=θr’、y=ωref2bとしている。
上記数3及び数4に、操舵を切り返すタイミング、つまり、実操舵角の変化の方向が変わるタイミングでのx及びyの値をそれぞれx1及びy1として代入して、bについて解くと、下記数5及び数6が得られる。
よって、A
hys、a、x1及びy1を予め設定し、実操舵角θr’がプラス方向に変化している場合は、数5に従って算出されるbを用いて、数3より舵角速度指令値ωref2bを演算し、実操舵角θr’がマイナス方向に変化している場合は、数6に従って算出されるbを用いて、数4より舵角速度指令値ωref2bを演算する。
図13では、Ahys=1[Nm]、a=0.3として、0[deg]から上述のように実操舵角を変化させている。実操舵角θr’は初期値0[deg]から開始し、開始時点での舵角速度指令値ωref2bは0としているので、(x1,y1)=(0,0)からb=0となり、そのbの値を用いて、実操舵角θr’は0[deg]から+50[deg]へとプラス方向に変化するので、数3に従って、舵角速度指令値ωref2bは曲線L1(細実線)で示されるように変化する。実操舵角θr’が+50[deg]に達し、プラス方向からマイナス方向へ切り返すと、その時点でのx及びyの値であるx1及びy1を用いて数6よりbを算出し、そのbの値を用いて、実操舵角θr’は+50[deg]から−50[deg]へとマイナス方向に変化するので、数4に従って、舵角速度指令値ωref2bは曲線L2(破線)で示されるように変化する。実操舵角θr’が−50[deg]に達し、マイナス方向からプラス方向へ切り返すと、その時点でのx及びyの値であるx1及びy1を用いて数5よりbを算出し、そのbの値を用いて、実操舵角θr’は−50[deg]から+50[deg]へとプラス方向に変化するので、数3に従って、舵角速度指令値ωref2bは曲線L3(太実線)で示されるように変化する。
実操舵角θr’が変化する方向は、1サンプル前の実操舵角θr’を実操舵角θrpとして保持しておき、θr’とθrpの差分Δθr(=θr’−θrp)の符号を基に判断する。或いは、舵角速度演算部353が出力する舵角速度ωsを用いて判断しても良い。
なお、ヒステリシス幅Ahysを車速Vに応じて変化させるようにしても良い。例えば、図14に示されるように、高車速になるほど、ヒステリシス幅Ahysを小さくする。これにより、ヒステリシス感を小さくし、実操舵角に対してリニアなフィールにすることができる。
ダンパゲイン部354は、舵角速度ωsに乗算されるダンパゲインGdを出力する。乗算部356にてダンパゲインGdを乗算された舵角速度ωsは、舵角速度指令値(第2速度指令値)ωref2dとして加算部358Aに入力される。
ダンパゲインGdは、ダンパゲイン部354が有するダンパゲインマップにより求められる。このダンパゲインマップを車速感応型とすることにより、自動操舵中での操舵介入におけるフィールに粘性感を持たせることができる。また、操舵介入後に自動操舵に戻るべくハンドルから手を離した場合の舵角の急峻な変化を緩和する機能としても使用することができる。例えば、図15に示されるように、高車速になるほど、ダンパゲインGdを大きくすることにより、粘性感を強くすることができる。
なお、ダンパゲイン部354及び乗算部356でダンパ演算部を構成している。また、ダンパゲインGdを乗算する舵角速度として、舵角速度演算部353から出力される舵角速度ωsではなく、舵角制御部300に入力される実舵角速度ωrを使用しても良い。この場合、舵角速度演算部353は不要となる。回転速度情報として、舵角速度ではなく、モータ速度を使用しても良い。
舵角感応ゲイン部355は、乗算部357Bにて舵角速度指令値ωref2bに乗算される舵角感応ゲインGaを出力する。舵角感応ゲインGaを乗算された舵角速度指令値ωref2bは舵角速度指令値ωref2cとして加算部358Aにて舵角速度指令値ωref2dを加算され、加算結果は減算部358Bにて舵角速度指令値ωref2aから減算され、減算結果が舵角速度指令値ωref2となる。
舵角感応ゲインGaは実操舵角θrの大きさ(絶対値)に応じて変化する。例えば、図16に示されるように、舵角感応ゲインGaは、実操舵角θrの大きさが10[deg]以下では0で、30[deg]以上では1で、10〜30[deg]の間では実操舵角θrの大きさに比例して大きくなるように変化する。なお、10〜30[deg]の間では舵角感応ゲインGaが曲線的に変化するようにしても良い。また、舵角感応ゲインGaが一定となる実操舵角θrの大きさの境界値は10[deg]及び30[deg]以外の値でも良い。更に、実操舵角θrの大きさで舵角感応ゲインGaが変化しているが、正負の実操舵角θrに応じて舵角感応ゲインGaが変化するようにしても良く、この場合、実操舵角θrが正の場合と負の場合とで、変化の態様を変えても良い。
実操舵角θrではなく、LPF356を通った後の実操舵角θr’を舵角感応ゲイン部355に入力するようにし、舵角感応ゲインGaは実操舵角θr’の大きさに応じて変化するようにしても良い。
舵角制御部300の加算部393では、位置制御部340から出力される舵角速度指令値ωref1及び操舵介入補償部350から出力される舵角速度指令値ωref2が加算され、舵角速度指令値ωrefとして出力される。
乗算部392では、舵角速度指令値ωrefに速度指令徐変ゲインGfa3が乗算され、舵角速度指令値ωrefgとして出力される。速度指令徐変ゲインGfa3は、手動操舵状態から自動操舵状態への切換時に円滑な切換を実現するために用いられる。なお、速度指令徐変ゲインGfa3は、舵角制御電流指令値IrefP1に乗算される舵角制御出力徐変ゲインGfa1と同期して変化する(完全な同期でなくても良い)。
速度指令値可変制限部360は、舵角速度指令値ωrefgに対して、制限値(上限値、下限値)を設定して制限をかけ、目標舵角速度ωtを出力する。制限値は、速度指令徐変ゲインGfa3に応じて設定される。例えば、速度指令徐変ゲインGfa3が所定の閾値未満では、制限値の大きさ(絶対値)を図17の破線で示されるような小さい値とし、それ以上では制限値の大きさを実線で示される値まで大きくする。なお、所定の閾値を切換状態での速度指令徐変ゲインGfa3の任意の値とし、Gfa3が所定の閾値未満では、制限値の大きさは破線の小さい値で固定とし、Gfa3が所定の閾値を超えたら、実線のところまで制限値の大きさを徐々に大きくするようにしても良い。なお、上限値の大きさと下限値の大きさは異なっても良い。
舵角速度制御部370は、目標舵角速度ωt、実舵角速度ωr及び速度制御徐変ゲインGfa2を入力し、実舵角速度ωrが目標舵角速度ωtに追従するような舵角制御電流指令値IrefWを、I−P制御(比例先行型PI制御)により算出する。
舵角速度制御部370の構成例を図18に示す。舵角速度制御部370は、ゲイン乗算部371及び372、積分部373、減算部374及び375並びに乗算部376を備える。
ゲイン乗算部371は、減算部374で算出される目標舵角速度ωt及び実舵角速度ωrの偏差ωe(=ωt−ωr)にゲインKviを乗算し、操作量D1を出力する。積分部373は、操作量D1を積分し、制御量Ir1を算出する。乗算部376では、制御量Ir1に速度制御徐変ゲインGfa2が乗算され、制御量Ir3として出力される。速度制御徐変ゲインGfa2の乗算は、手動操舵状態と自動操舵状態間の円滑な切換を実現するために行われ、これにより、切換時の舵角速度制御での積分値の蓄積の影響を緩和することができる。ゲイン乗算部372は、実舵角速度ωrにゲインKvpを乗算し、制御量Ir2を出力する。減算部375では、制御量Ir3とIr2の偏差(Ir3−Ir2)が算出され、舵角制御電流指令値IrefWとして出力される。なお、積分部373の積分として、実装上実現可能な積分方式であれば、任意の方式を使用可能であり、擬似積分を使用する場合は、1次遅れの伝達関数及びゲインで構成すれば良い。また、速度制御徐変ゲインGfa2は、舵角制御出力徐変ゲインGfa1と同期して変化させても良い。
なお、舵角速度制御部370はI−P制御を使用しているが、目標舵角速度に対して実舵角速度を追従させられるならば、一般的に使用されている制御方法を使用しても良い。例えばPI制御、2自由度PI制御、モデル規範制御、モデルマッチング制御、ロバスト制御、更に、外乱を推定し、外乱成分を打ち消す補償手段を一部に組み合わせた制御方法等を使用しても良い。
ハンドル制振部380は、トーションバートルク信号である操舵トルクTtに基づいて、ハンドルの振動を制振する。自動操舵中のハンドル振動に対して、ハンドル振動除去部330も効果を奏するが、ハンドル制振部380により、更に効果を向上させることができる。ハンドル制振部380は、ゲインと位相補償によりハンドル振動の制振を行い、トーションバーの捩れを解消する方向に働く舵角制御電流指令値IrefVを出力する。また、ハンドル制振部380は、捩れ角を低減する方向に働き、運転者による手入力の介入時の引っ掛かりの違和感を低減する効果も兼ねている。
ハンドル制振部380の構成例を図19に示す。ハンドル制振部380は、ゲイン部381及び制振位相補償部382を備える。ゲイン部381は、操舵トルクTtにゲインKvを乗算し、制御量Irvを出力する。制振位相補償部382は、例えば1次フィルタで構成され、制御量Irvを舵角制御電流指令値IrefVに変換する。1次フィルタではなく、2次以上の位相補償フィルタで構成しても良い。
加算部394では、舵角速度制御部370から出力される舵角制御電流指令値IrefW及びハンドル制振部380から出力される舵角制御電流指令値IrefVが加算され、舵角制御電流指令値IrefP2として出力される。
舵角制御電流指令値制限部390は、舵角制御電流指令値IrefP2に対して、過出力防止のために、制限値(上限値、下限値)を設定して制限をかけ、舵角制御電流指令値IrefP1を出力する。例えば、図20に示されるように、上限値及び下限値を設定して舵角制御電流指令値IrefP2に対して制限をかける。なお、上限値の大きさ(絶対値)と下限値の大きさは異なっても良い。
切換部240は、乗算部241及び242並びに加算部243で構成されている。
切換部240の乗算部241では、舵角制御部300から出力される舵角制御電流指令値IrefP1に、切換判定/徐変ゲイン生成部220から出力される舵角制御出力徐変ゲインGfa1が乗算され、舵角制御電流指令値IrefPとして出力される。舵角制御出力徐変ゲインGfa1は、手動操舵状態と自動操舵状態間の切換動作を円滑に行い、運転者への違和感や安全性等を実現するために用いられる。乗算部242では、アシスト制御部230から出力されるアシスト制御電流指令値IrefT1にアシスト制御出力徐変ゲインGft1が乗算され、アシスト制御電流指令値IrefTとして出力される。アシスト制御出力徐変ゲインGft1は、手動操舵状態と自動操舵状態間の切換動作を円滑に行い、自動操舵中の運転者による操舵介入を実現するために用いられる。加算部243では、舵角制御電流指令値IrefP及びアシスト制御電流指令値IrefTが加算され、電流指令値Irefとして出力される。
前述のアシスト制御部230で使用されるアシストマップ徐変ゲインGft2も、アシスト制御出力徐変ゲインGft1と同じ目的で用いられる。自動操舵状態において、図6(B)及び(C)に示されるように、Gft1をαt1に、Gft2をαt2に設定し、αt1及びαt2を調整することにより、システムの安定性を向上させ、振動の発生を抑えることが可能となる。また、自動操舵状態におけるシステムの安定性を維持できるのであれば、簡易的にαt1を0%、αt2を100%としても良い。この場合、αt1は0%ということより、アシスト制御電流指令値IrefTはゼロ指令となり、アシスト制御をなくした状態においても操舵介入を実現できることとなる。
このような構成において、EPS側ECU200の動作例を、図21〜図25のフローチャートを参照して説明する。
動作を開始すると、EPS状態量検出部210は実操舵角θr、操舵トルクTt、車速Vを検出し(ステップS10)、実操舵角θrを舵角制御部300に、操舵トルクTtを切換判定/徐変ゲイン生成部220、舵角制御部300及びアシスト制御部230に、車速Vを舵角制御部300及びアシスト制御部230にそれぞれ出力する。更に、EPS状態量検出部210は、実操舵角θrより実舵角速度ωrを算出し(ステップS20)、舵角制御部300に出力する。
操舵トルクTtを入力した切換判定/徐変ゲイン生成部220は、車両側ECU100から出力される切換信号SWの入力の有無も踏まえて自動操舵と手動操舵の切換判定を行い、その判定結果に基づいて徐変ゲインを決定し(ステップS30)、徐変ゲインGfa2、Gfa3及びGfa4を舵角制御部300に、Gft2をアシスト制御部230に、Gfa1及びGft1を切換部240にそれぞれ出力する。切換判定/徐変ゲイン生成部220の動作の詳細については後述する。
舵角制御部300は、車両側ECU100からの舵角指令値θref、EPS状態量検出部210からの実操舵角θr、実舵角速度ωr、操舵トルクTt及び車速V、並びに切換判定/徐変ゲイン生成部220からの徐変ゲインGfa2、Gfa3及びGfa4を入力し、それらを用いて舵角制御電流指令値IrefP1を算出し(ステップS40)、切換部240に出力する。舵角制御部300の動作の詳細については後述する。
アシスト制御部230は、操舵トルクTt、車速V及びアシストマップ徐変ゲインGft2を入力し、図2に示される電流指令値演算部31と同様の動作により、アシストマップ出力電流(電流値)を算出する(ステップS50)。そして、アシストマップ出力電流にアシストマップ徐変ゲインGft2を乗算し(ステップS60)、乗算結果に対して、図2に示される加算部32A、電流制限部33及び補償信号生成部34と同様の動作を行い、アシスト制御電流指令値IrefT1を算出し(ステップS70)、切換部240に出力する。
切換部240は、入力した舵角制御電流指令値IrefP1に対して舵角制御出力徐変ゲインGfa1を乗算部241で乗算し(ステップS80)、乗算結果である舵角制御電流指令値IrefPを加算部243に出力する。また、入力したアシスト制御電流指令値IrefT1に対してアシスト制御出力徐変ゲインGft1を乗算部242で乗算し(ステップS90)、乗算結果であるアシスト制御電流指令値IrefTを加算部243に出力する。加算部243は、舵角制御電流指令値IrefP及びアシスト制御電流指令値IrefTを加算し(ステップS100)、加算結果である電流指令値Irefを電流制御/駆動部250に出力する。
電流制御/駆動部250は、図2に示される減算部32B、PI制御部35、PWM制御部36及びインバータ37と同様の動作により、電流指令値Iref及びモータ電流検出器38で検出されたモータ電流Imを用いて、モータ電流Imが電流指令値Irefに追従するように制御し(ステップS110)、モータを駆動制御する。
切換判定/徐変ゲイン生成部220の動作例の詳細を、図22のフローチャートを参照して説明する。なお、操舵状態判定部224において、操舵状態判定信号Jsには、初期値として「手動操舵」が設定されているとする。
入力した操舵トルクTtは、切換判定部221内の手入力判定部223に入力される。手入力判定部223は、操舵トルクTtを平滑化フィルタ部225で平滑化し(ステップS210)、平滑後の操舵トルクTt’の絶対値|Tt’|を絶対値化部226で求める(ステップS220)。絶対値|Tt’|は判定処理部227に入力される。判定処理部227は、絶対値|Tt’|が閾値Tth以上の場合(ステップS230)、「手入力あり」と判定し(ステップS240)、絶対値|Tt’|が閾値Tth未満の場合(ステップS230)、「手入力なし」と判定し(ステップS250)、判定結果である手入力判定信号Jhを操舵状態判定部224に出力する。
操舵状態判定部224は、切換信号SWの入力の有無を確認し(ステップS260)、切換信号SWを入力しており、切換信号SWが「アシスト制御モード」又は手入力判定信号Jhが「手入力あり」の場合(ステップS270)、操舵状態判定信号Jsを「手動操舵」に更新し(ステップS280)、そうではない場合(ステップS270)、操舵状態判定信号Jsを「自動操舵」に更新する(ステップS290)。切換信号SWを入力していない場合は、操舵状態判定信号Jsはそのままとする。操舵状態判定信号Jsは徐変ゲイン生成部222に入力される。
徐変ゲイン生成部222は、操舵状態判定信号Jsの値を確認する(ステップS300)。操舵状態判定信号Jsが「手動操舵」の場合、各徐変ゲイン(Gfa1〜Gfa4、Gft1、Gft2)を手動操舵状態での値(Gfa1〜Gfa4では0%、Gft1及びGft2では100%)に遷移させる(ステップS310)。操舵状態判定信号Jsが「自動操舵」の場合、各徐変ゲインを自動操舵状態での値(Gfa1〜Gfa4では100%、Gft1ではαt1、Gft2ではαt2)に遷移させる(ステップS320)。
舵角制御部300の動作例の詳細を、図23〜図25のフローチャートを参照して説明する。
舵角指令値可変制限部310は、入力した舵角指令徐変ゲインGfa4の値を確認し(ステップS410)、Gfa4が0%の場合、制限値を、図8に示される「手動操舵時」の制限値とし(ステップS420)、Gfa4が100%の場合、図8に示される「自動操舵時」の制限値とし(ステップS430)、Gfa4が0〜100%の場合、中間の値を制限値とする(ステップS440)。そして、設定された制限値を用いて、車両側ECU100から入力した舵角指令値θrefに対して制限をかけ(ステップS450)、舵角指令値θref1を出力する。
舵角指令値θref1は、舵角指令徐変ゲインGfa4及び実操舵角θrと共に、可変レート制限部320に入力される。可変レート制限部320は、舵角指令徐変ゲインGfa4の値を確認し(ステップS460)、Gfa4が0%の場合、制限値をゼロとし(ステップS470)、保持している1サンプル前の舵角指令値θref1の値を実操舵角θrの値にする(ステップS471)。ステップS471は、Gfa4が0%より大きくなる舵角制御が開始された時点では、前の舵角制御終了時の値が残った状態であり、その値をそのまま使用すると舵角指令値の急変によりハンドルが急変するおそれがあるので、実操舵角θrと一致させた状態で開始させることにより急変を抑制するための処置である。Gfa4が100%の場合、制限値を予め定められた値とし(ステップS480)、Gfa4が0〜100%の場合、中間の値を制限値とする(ステップS490)。そして、舵角指令値θref1と1サンプル前の舵角指令値θref1との差分(変化量)を算出する(ステップS500)。変化量の絶対値が制限値より大きい場合(ステップS510)、変化量の絶対値が制限値となるように、舵角指令値θref1を加減算し(ステップS520)、舵角指令値θref2として出力する(ステップS530)。変化量の絶対値が制限値以下の場合(ステップS510)、舵角指令値θref1をそのまま舵角指令値θref2として出力する(ステップS530)。
舵角指令値θref2は、乗算部391で舵角指令徐変ゲインGfa4を乗算され(ステップS540)、舵角指令値θref3として出力され、舵角指令値θref3はハンドル振動除去部330に入力される。
ハンドル振動除去部330は、舵角指令値θref3に対して、振動周波数成分を低減し(ステップS550)、目標操舵角θtとして位置制御部340に出力する。
目標操舵角θtは、位置制御部340内の規範モデル部341及びフィルタ部343に入力される。規範モデル部341は、数1を用いて、目標操舵角θtを目標操舵角θt1に変換する(ステップS560)。目標操舵角θt1は減算部344に加算入力され、実操舵角θrが減算部344に減算入力され、目標操舵角θt1と実操舵角θrの偏差θeが求められる(ステップS570)。偏差θeは比例ゲイン部342に入力され、比例ゲイン部342は、偏差θeに比例ゲインKppを乗算し、舵角速度指令値ωref1aを算出する(ステップS580)。目標操舵角θtを入力したフィルタ部343は、車速Vも入力し、図10に示される特性を用いて車速VからFFフィルタゲインKffを求め、数2を用いて、目標操舵角θtを舵角速度指令値ωref1bに変換する(ステップS590)。舵角速度指令値ωref1a及びωref1bは加算部345で加算され(ステップS600)、舵角速度指令値ωref1が出力される。舵角速度指令値ωref1は加算部393に入力される。
一方、操舵介入補償部350は、車速V、操舵トルクTt及び実操舵角θrを入力し、舵角速度指令値ωref2を算出する(ステップS610)。操舵介入補償部350の動作例については、図24を参照して説明する。
操舵介入補償部350に入力された車速Vは基本マップ部351及びダンパゲイン部354に、操舵トルクTtは基本マップ部351に、実操舵角θrは基本マップ部351、LPF356、舵角速度演算部353及び舵角感応ゲイン部355に入力される。
基本マップ部351は、図12に示される基本マップを用いて、操舵トルクTt及び車速Vに基づいて舵角速度指令値ωref2aを求める(ステップS611)。舵角速度指令値ωref2aは減算部358Bに加算入力される。
LPF356は、実操舵角θrに対するローパスフィルタ処理により実操舵角θr’を算出し(ステップS612)、ヒステリシス補正部352に出力する。
ヒステリシス補正部352は、実操舵角θr’と1サンプル前の実操舵角θrpとの差分Δθrから実操舵角θr’が変化している方向を判断し(ステップS613)、実操舵角θr’がプラス方向に変化している場合は、数3及び数5より舵角速度指令値ωref2bを演算し(ステップS614)、実操舵角θr’がマイナス方向に変化している場合は、数4及び数6より舵角速度指令値ωref2bを演算する(ステップS615)。舵角速度指令値ωref2bは乗算部357Bに入力される。なお、ヒステリシス幅Ahys、a、x1及びy1は予め設定し保持されているが、数5及び数6より方向別にbを予め算出し、x1及びy1の代わりにbを保持するようにしても良い。また、ヒステリシス補正部352が車速Vも入力し、図14に示される特性によりヒステリシス幅Ahysを設定するようにしても良い。
舵角感応ゲイン部355は、図16に示される特性により、実操舵角θrに基づいて舵角感応ゲインGaを決定し(ステップS616)、舵角感応ゲインGaは乗算部357Bに入力され、舵角速度指令値ωref2bに乗算され(ステップS617)、乗算結果は舵角速度指令値ωref2cとして加算部358Aに入力される。
舵角速度演算部353は、実操舵角θrを微分部353Aで微分し(ステップS618)、更にLPF353Bでローパスフィルタ処理を実行し、舵角速度ωsとして乗算部357Aに出力する。
ダンパゲイン部354は、図15に示されるダンパゲインマップを用いて、車速Vに基づいてダンパゲインGdを求め(ステップS619)、ダンパゲインGdは乗算部357Aに入力され、舵角速度ωsに乗算され(ステップS620)、乗算結果は舵角速度指令値ωref2dとして加算部358Aに入力される。
加算部358Aでは舵角速度指令値ωref2c及びωref2dが加算され(ステップS621)、加算結果は減算部358Bに減算入力され、舵角速度指令値ωref2aから加算結果が減算され(ステップS622)、舵角速度指令値ωref2が出力される(ステップS623)。
操舵介入補償部350から出力された舵角速度指令値ωref2は加算部393に入力される。
加算部393に入力された舵角速度指令値ωref1及びωref2は加算され(ステップS630)、舵角速度指令値ωrefとして出力される。舵角速度指令値ωrefは、乗算部392で速度指令徐変ゲインGfa3を乗算され(ステップS640)、舵角速度指令値ωrefgとして速度指令値可変制限部360に入力される。
速度指令値可変制限部360は、舵角速度指令値ωrefgと共に、速度指令徐変ゲインGfa3を入力し、速度指令徐変ゲインGfa3の値を確認する(ステップS650)。そして、Gfa3が所定の閾値未満の場合、制限値を、図17に示される「Gfa3小」の制限値とし(ステップS660)、所定の閾値以上の場合、「Gfa3大」の制限値とする(ステップS670)。設定された制限値を用いて、舵角速度指令値ωrefgに対して制限をかけ(ステップS680)、目標舵角速度ωtを出力する。目標舵角速度ωtは舵角速度制御部370に入力される。
舵角速度制御部370は、目標舵角速度ωtと共に、実舵角速度ωr及び速度制御徐変ゲインGfa2を入力する。目標舵角速度ωtは減算部374に加算入力され、実舵角速度ωrは減算部374に減算入力され、目標舵角速度ωtと実舵角速度ωrの偏差ωeがゲイン乗算部371に入力される(ステップS690)。ゲイン乗算部371は偏差ωeにゲインKviを乗算し(ステップS700)、操作量D1を出力する。操作量D1は積分部373に入力され、積分部373は、操作量D1を積分して制御量Ir1を算出し(ステップS710)、乗算部376に出力する。乗算部376は、制御量Ir1に速度制御徐変ゲインGfa2を乗算し(ステップS720)、制御量Ir3を出力する。制御量Ir3は減算部375に加算入力される。また、実舵角速度ωrはゲイン乗算部372にも入力され、ゲイン乗算部372は、実舵角速度ωrにゲインKvpを乗算し(ステップS730)、制御量Ir2を出力し、制御量Ir2は減算部375に減算入力される。減算部375では、制御量Ir3とIr2の偏差が算出され(ステップS740)、舵角制御電流指令値IrefWとして、加算部394に出力される。
操舵トルクTtはハンドル制振部380に入力される。ハンドル制振部380では、ゲイン部381が、入力した操舵トルクTtにゲインKvを乗算し(ステップS750)、制御量Irvを出力する。制御量Irvは制振位相補償部382で位相補償され(ステップS760)、舵角制御電流指令値IrefVとして出力される。舵角制御電流指令値IrefVは、加算部394に出力される。
加算部394に入力された舵角制御電流指令値IrefW及びIrefVは加算され(ステップS770)、舵角制御電流指令値IrefP2として舵角制御電流指令値制限部390に入力される。
舵角制御電流指令値制限部390は、舵角制御電流指令値IrefP2に対して、図20に示される特性の制限値を用いて制限をかけ、舵角制御電流指令値IrefP1を出力する(ステップS780)。
なお、舵角制御部300の動作とアシスト制御部230の動作は、順番が逆でも、並行して実行されても良い。舵角制御部300の動作においては、加算部393に入力される舵角速度指令値ωref1算出までの動作と舵角速度指令値ωref2算出までの動作、加算部394に入力される舵角制御電流指令値IrefW算出までの動作と舵角制御電流指令値IrefV算出までの動作等が、それぞれ順番が逆でも、並行して実行されても良い。操舵介入補償部350の動作においては、操舵トルクTt及び実操舵角θrの入力を起点とした一連の動作、即ち、基本マップ部351の動作、LPF356及びヒステリシス補正部352、舵角感応ゲイン部355及び乗算部357Bの動作、舵角速度演算部353、ダンパゲイン部354及び乗算部357Aの動作は、それぞれ順番が逆でも、並行して実行されても良い。
本実施形態の効果を、シミュレーション結果に基づいて説明する。
シミュレーションでは、プラント400のプラントモデルとして、車両運動モデル及び運転者の操舵モデルを設定する。車両運動モデルとして、例えば、安部正人、「自動車の運動と制御」、学校法人東京電機大学、東京電機大学出版局、2009年9月20日発行、第1版2刷、3章(p.49−105)、4章(p.107−130)、5章(p.131−147)に示されているモデルを使用し、操舵モデルとして、例えば、横井大介、修士論文「腕の筋骨格特性を考慮した車のステアリング操舵感評価に関する研究」、三重大学大学院工学研究科博士前期課程機械工学専攻、2007年2月6日受付、2章(p.3−5)、3章(p.6−9)(参考文献)に示されているモデルを使用しても良く、これらに限定されず、他のモデルを使用しても良い。本シミュレーションで使用する操舵モデルを、参考として、図26に示す。図26において、Carm及びCpalmは粘性係数、Karm及びKpalmはバネ定数、Iarmは腕の慣性モーメントである。メカモデル(メカ伝達特性)から出力されるハンドル舵角θhを操舵モデル(運転者操舵伝達特性)に入力し、操舵モデルから出力されるハンドル手入力トルクThをメカモデルに出力する。参考文献に記載されている目標角度を、以下では運転者の目標角度(操舵目標角度)θarmとする。更に、参考文献では、腕の質量系をコラム慣性モーメントに加算しているが、手のひらからハンドルへ加えられる力をハンドル手入力トルクThとすることにより、手のひらの角度とハンドル舵角θhの間で作用するバネ定数Kpalm及び粘性係数Cpalmの値は十分大きな値としてシミュレーションを行っても支障がなく、本シミュレーションではそのようにしている。また、電流指令値に対するモータ電流の追従性は十分に早く、電流制御/駆動部250の動作による影響は軽微であり、電流指令値=モータ電流とする。更に、車速Vは一定とする。
先ず、操舵介入補償による効果について説明する。
舵角指令値θrefを0[deg]固定として、運転者の目標角度θarmを入力した場合の自動操舵のシミュレーションを行った。参考として、同条件で運転者の操舵モデルを考慮したシミュレーションでの運転者の目標角度θarmの時間変化に対する実操舵角θr及び操舵トルクTtの時間応答を、図27に示す。図27では、縦軸が角度[deg]及び操舵トルク[Nm]、横軸が時間[sec]であり、太実線が運転者の目標角度θarm、細実線が実操舵角(本実施形態ではハンドル舵角)θr、破線が操舵トルクTtを示す。なお、図27において、アシスト制御出力徐変ゲインGft1は0%、つまりアシスト制御は効かないようにし、操舵介入補償部350では、基本マップ部351のみが機能するようにし、ヒステリシス補正部352、ダンパゲイン部354及び舵角感応ゲイン部355は用いないようにした。舵角制御のみが実行されている状態においても、操舵介入が行なえることを示すためである。また、図27は、運転者の目標角度θarmの変化に対して、実操舵角θr及び操舵トルクTtが変化する様子を説明するためのシミュレーションの一例である。
このような運転者の目標角度θarmを入力した場合の実操舵角θr及び操舵トルクTtの変化について、操舵介入補償がなくPI制御にて速度制御を行った場合と操舵介入補償がある場合とで比較を行った。なお、前者では、本実施形態との比較のために、アシスト制御出力徐変ゲインGft1及びアシストマップ徐変ゲインGft2を共に100%として、積分方式の違いを見ることにした。後者では、アシスト制御出力徐変ゲインGft1を0%とした。また、従来の先行技術(例えば特許文献1)においては、切換前の舵角制御中ではアシスト制御指令値は0[deg]であるが、前者の場合よりも操舵介入が困難であると推測されるので割愛した。
図28がシミュレーション結果である。縦軸が操舵トルク[Nm]、横軸が実操舵角[deg]であり、操舵介入補償がない場合を破線で、操舵介入補償がある場合を実線で示している。但し、操舵介入補償部350の基本マップ部351において、基本マップは原点からの直線とした。
図28での破線が示すように、操舵介入補償がない場合、7.5[deg]までは実操舵角θrを切れているが、速度制御でのPI制御の積分の影響により、速度偏差(舵角速度指令値と実舵角速度の偏差)が蓄積され続けることで、最終的に舵角指令値θref(=0[deg])まで強制的に戻されてしまい、更に、15[Nm]以上の非常に大きな操舵トルクが発生してしまい、運転者による操舵が困難な状態となる。
これに対して、図28での実線が示すように、操舵介入補償がある場合は、約22[deg]まで操舵できており、舵角指令値θref(=0[deg])に引き戻されることもない。これは、位置制御部340から出力される舵角速度指令値ωref1に操舵介入補償部350から出力される舵角速度指令値ωref2が加算され、操舵した状態における舵角速度指令値ωrefと実舵角速度ωrの速度偏差が0近傍で釣り合うためである。このように、操舵介入補償部350の機能により、運転者による操舵介入を実現することが可能となる。また、操舵介入補償部350からの出力のゲインを大きくすることで、より軽い操舵を実現することができる。
更に、操舵介入補償の効果について、ヒステリシス特性の変化と操舵介入後に手放しした場合それぞれのシミュレーション結果を基にして説明する。なお、本シミュレーションでは、基本マップ部351は常に機能しており、ヒステリシス補正部352が機能するときは舵角感応ゲイン部355も機能する。
先ず、ヒステリシス補正部352及びダンパゲイン部354の有無によるヒステリシス特性の変化について説明する。
運転者の目標角度θarmを図29に示されるように正弦波状に時間変化させて入力した場合の実操舵角(ハンドル舵角)θrと操舵トルクTtの変化の様子を図30に示す。図30では、縦軸が操舵トルク[Nm]、横軸が実操舵角[deg]であり、ダンパゲイン部354及びヒステリシス補正部352を共に機能させていない場合を太実線で、ダンパゲイン部354を機能させヒステリシス補正部352を機能させていない場合を細実線で、ダンパゲイン部354及びヒステリシス補正部352を共に機能させている場合を破線で示している。なお、図30では、ダンパゲイン部354を機能させている場合及び機能させていない場合をそれぞれ「ダンパあり」及び「ダンパなし」と、ヒステリシス補正部352を機能させている場合及び機能させていない場合をそれぞれ「ヒス補正あり」及び「ヒス補正なし」と表現しており、以下でもその表現を使用する。
操舵介入における違和感を軽減するためには、所望のヒステリシス特性を実現する必要があり、その観点から図30に示されるシミュレーション結果を見てみる。先ず、細実線と破線を比較すると、ヒス補正があることにより、操舵を切り返す時(実操舵角が±約50[deg]である時点)に適度なヒステリシス幅が発生していることが確認できる。また、太実線と細実線を比較すると、ダンパがあることにより、センタ付近(実操舵角が約0[deg]である時点)でヒステリシス幅が適度に発生していることが確認できる。このように、基本マップ部351を機能させ、ヒス補正及びダンパがあることにより、任意の操舵パターンにおいて所望のヒステリシス特性を実現することができる。
次に、操舵介入後に手放しした場合のシミュレーション結果について説明する。
操舵介入により実操舵角θrが約50[deg]になるまで操舵し、その後、手放し状態(ハンドル手入力トルクThが0[Nm])とした場合の実操舵角θrの時間変化を図31に示す。図31では、縦軸が実操舵角[deg]、横軸が時間[sec]であり、シミュレーション開始から1.5[sec]後に手放し状態としている。また、図30の場合と同様に、ダンパ及びヒス補正が共にない場合を太実線で、ダンパありでヒス補正なしの場合を細実線で、ダンパ及びヒス補正が共にある場合を破線で示している。
図31からわかるように、ダンパ及びヒス補正が共にない場合は舵角指令値=0[deg]に向かうように手放し後に実操舵角が急変動しているが(太実線参照)、ダンパありにより急変動が抑制され(細実線参照)、更にヒス補正ありとなることにより急変動がより強く抑制されている(破線参照)。これにより、操舵介入後に手放し状態としても、ハンドルの急変を抑えることができる。
効果の説明の最後として、舵角制御開始時の舵角速度の増加によりI制御の積分値が過剰に蓄積し、舵角制御指令値が過剰となるおそれがある問題(特許文献3等での課題)に対する効果について説明する。
図32は、手動操舵状態から自動操舵状態へ移行する際の目標舵角速度ωt、徐変ゲイン及び速度指令値可変制限部360での制限値の時間変化を示す図である。なお、速度制御徐変ゲインGfa2及び速度指令徐変ゲインGfa3は、舵角制御出力徐変ゲインGfa1と同期した変化をするとして、図32にはGfa1のみを示す。アシスト制御出力徐変ゲインGft1及びアシストマップ徐変ゲインGft2も、Gfa1と同期した変化をするとして、Gft1の変化の様子のみを参考として示す。また、速度指令値可変制限部360での制限値の大きさは、Gfa3が所定の閾値未満では小さい値で固定とし、Gfa3が所定の閾値以上では徐々に大きくなるような設定とした。
舵角速度指令値ωrefは、速度指令徐変ゲインGfa3を乗算され、更に速度指令値可変制限部360で制限をかけられて、目標舵角速度ωtとなる。手動操舵状態から自動操舵状態への移行が開始すると、Gfa3は0から徐々に大きくなり、目標舵角速度ωtも0から徐々に大きくなる。その後、時点t10で速度指令値可変制限部360への入力である舵角速度指令値ωrefgが制限値(制限値a)に到達すると、目標舵角速度ωtは制限値aで一定となるが、Gfa3は増加し続ける。そして、時点t11でGfa3が所定の閾値となると、制限値は徐々に大きくなり、それに合わせて目標舵角速度ωtも大きくなっていく。時点t12でGfa3が100%となり、更に、時点t13で制限値が制限値bになると、目標舵角速度ωtは制限値b内で変化するようになる。時点t10〜t13の間、目標舵角速度ωtが制限値aで制限を受け、更に舵角速度制御部370での速度制御徐変ゲインGfa2の乗算により制限を受けるので、舵角速度制御部370内での積分値の過剰な蓄積が抑制され、運転者への違和感を生じる舵角制御出力としての電流指令値を低減することができる。また、制限値の遷移完了後(つまり、時点t13以降)は、Gfa3及び速度指令値可変制限部360により舵角速度指令値ωrefは制限されず、Gfa2により舵角速度制御部370内の信号も制限されないので、通常の舵角制御にシフトすることができる。
なお、第1実施形態における各徐変ゲイン(Gfa1〜Gfa4、Gft1、Gft2)の乗算に関して、徐変ゲイン乗算による効果よりコストを重視する場合等では、少なくとも1つの乗算を残して、後の乗算は省略可能である。また、各制限部(舵角指令値可変制限部、可変レート制限部、速度指令値可変制限部、舵角制御電流指令値制限部)も、同様の場合等では省略可能である。舵角指令値可変制限部310、可変レート制限部320及び乗算部391、更にハンドル振動除去部330が省略された場合、位置制御部340には目標操舵角θtとして舵角指令値θrefが入力されることになる。乗算部392及び速度指令値可変制限部360が省略された場合、舵角速度制御部360には目標舵角速度ωtとして舵角速度指令値ωrefが入力されることになる。
操舵介入補償部350においては、コストや処理時間を重視する場合等では、舵角感応ゲイン部355のみ、又はヒステリシス補正部352及び舵角感応ゲイン部355の省略が可能である。舵角感応ゲイン部355を省略する場合、乗算部357Bも省略可能で、更にヒステリシス補正部352も省略する場合、LPF356及び加算部357Bも省略可能で、後者の場合、乗算部357Aから出力される舵角速度指令値ωref2dは、減算部358Bに減算入力されることになる。LPF356のみ及び/又はLPF353Bも省略可能である。また、基本マップ部351の前段又は後段に位相補償を行なう速度指令値位相補償部359を挿入しても良い。つまり、図11中の破線で囲まれた領域Rの構成を、図33(A)又は(B)に示されるような構成にしても良い。速度指令値位相補償部359は、位相補償として位相進み補償を設定し、例えば、分子のカットオフ周波数を1.0Hz、分母のカットオフ周波数を1.3Hzとした1次フィルタで位相進み補償を行う。これにより、スッキリしたフィールを実現することができる。
本発明の他の実施形態について説明する。
第1実施形態では、舵角速度制御部370での速度制御徐変ゲインGfa2の乗算は、積分部373からの出力である制御量Ir1に対して行われているが、減算部375からの出力である舵角制御電流指令値IrefWに対して行うことも可能である。
図34は、舵角制御電流指令値IrefWに対して速度制御徐変ゲインGfa2を乗算する場合の舵角速度制御部の構成例(第2実施形態)である。図18に示される第1実施形態での舵角速度制御部370と比べると、第2実施形態での舵角速度制御部470では、乗算部376が積分部373の後ではなく、減算部375の後に設置されており、その他の構成は同じである。
第2実施形態の動作例では、図23及び図24に示される第1実施形態の動作例において、積分部373が操作量D1を積分して制御量Ir1を算出するステップS710までは同じ動作で、その後、制御量Ir1は減算部375に入力され、減算部375にて制御量Ir1とIr2の偏差(Ir1−Ir2)として制御量Ir3’が算出される。そして、乗算部376は、制御量Ir3’に速度制御徐変ゲインGfa2を乗算し、舵角制御電流指令値IrefWとして加算部394に出力する。それ以降(ステップS750〜)は、第1実施形態と同じ動作である。
速度制御徐変ゲインGfa2の乗算を、舵角速度制御部370内の他の箇所で行うことも可能である。
図35に示される舵角速度制御部の構成例(第3実施形態)では、減算部374からの出力である偏差ωeに対して速度制御徐変ゲインGfa2を乗算している。図18に示される第1実施形態での舵角速度制御部370と比べると、第3実施形態での舵角速度制御部570では、乗算部376が積分部373の後ではなく、減算部374の後に設置されており、その他の構成は同じである。
第3実施形態の動作例では、図23及び図24に示される第1実施形態の動作例において、減算部374が目標舵角速度ωtと実舵角速度ωrの偏差ωeを算出するステップS690までは同じ動作で、偏差ωeはゲイン乗算部371ではなく、乗算部376に入力され、乗算部376は、偏差ωeに速度制御徐変ゲインGfa2を乗算し、偏差ωe1としてゲイン乗算部371に出力する。その後は、ステップS720がなくなるだけで、第1実施形態と同じ動作である。
上述の実施形態(第1〜第3実施形態)では、速度指令値可変制限部360は、速度指令徐変ゲインGfa3に応じて制限値を設定し、Gfa3が所定の閾値になったときに制限値を切り換えているが、Gfa3の代わりに舵角制御出力徐変ゲインGfa1を使用し、Gfa1が100%になったときに制限値を切り換えるようにしても良い。この場合の構成(第4実施形態)では、速度指令値可変制限部にはGfa3の代わりにGfa1が入力され、その他の構成は他の実施形態と同じである。第4実施形態での動作では、速度指令値可変制限部での制限値決定の判断動作(図24でのステップS650)が、Gfa1が100%未満か否かの確認に変わるだけである。第4実施形態において、手動操舵状態から自動操舵状態へ移行する際の目標舵角速度ωt、徐変ゲイン及び速度指令値可変制限部での制限値の時間変化は、図36に示されるようになる。図32で示される時間変化と比べると、速度指令値可変制限部での制限値が、Gfa1が100%となる時点t12から徐々に大きくなっており、それに合わせて目標舵角速度ωtも大きくなっている。