本発明に係る電動パワーステアリング装置(EPS)は、従来のEPSの機能であるアシスト制御と、自動運転における自動操舵で必要となる舵角制御を行う。アシスト制御及び舵角制御は、それぞれアシスト制御部及び舵角制御部で実行され、各部から出力されるアシスト制御電流指令値及び舵角制御電流指令値を用いて、モータを駆動制御するための電流指令値を演算する。自動操舵(自動操舵状態)では舵角制御とアシスト制御の両方が実行され、運転者が操舵に関与する手動操舵(手動操舵状態)ではアシスト制御が実行される。自動操舵と手動操舵の切換は、一般的には車両に搭載されているコントロールユニット(ECU)等からの切換信号によって実行されるが、自動操舵中に運転者より操舵介入が発生した場合でも、迅速且つスムーズに手動操舵に移行するように、本発明では推定操舵角及び実操舵角の誤差に基づいて手入力判定を行い、その判定結果も使用して自動操舵と手動操舵の切換判定を行い、更に切換動作を行う。切換判定は、切換判定/徐変ゲイン生成部で行われる。また、自動操舵中での操舵介入により発生する違和感を軽減するために、操舵介入補償を行うことも可能である。具体的には、基本マップを用いて操舵トルクから求められる補償値(第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は切換判定/徐変ゲイン生成部220及び舵角制御部300に入力され、実舵角速度ω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、実操舵角θr及び舵角制御部300から出力される目標操舵角θtに基づいて自動操舵と手動操舵の切換判定を行い、その判定結果に基づいて徐変ゲインを決定する。徐変ゲインとして、舵角制御出力徐変ゲインGfa1、速度制御徐変ゲインGfa2、速度指令徐変ゲインGfa3、舵角指令徐変ゲインGfa4、アシスト制御出力徐変ゲインGft1及びアシストマップ徐変ゲインGft2を求め、Gfa1及びGft1は切換部240に、Gfa2、Gfa3及びGfa4は舵角制御部300に、Gft2はアシスト制御部230に入力される。また、切換判定の判定結果が操舵状態判定信号Jsとして舵角制御部300に入力される。切換判定/徐変ゲイン生成部220の詳細については後述する。
舵角制御部300は、舵角制御を行うために、車両側ECU100からの舵角指令値θref、実操舵角θr、実舵角速度ωr、操舵トルクTt、車速V、徐変ゲインGfa2、Gfa3及びGfa4、並びに操舵状態判定信号Jsを用いて、舵角制御電流指令値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、実操舵角θr及び目標操舵角θtを用いて手入力を判定する。
手入力判定部223の構成例を図5に示しており、手入力判定部223は判定部223A及び223B、舵角制御モデル部228及び減算部229を備え、判定部223Aは、平滑化フィルタ部225A及び225B、絶対値化部226A及び226B並びに判定処理部227Aを備え、判定部223Bは、平滑化フィルタ部225C及び225D、絶対値化部226C及び226D並びに判定処理部227Bを備える。
判定部223A内の平滑化フィルタ部225A及び225Bは平滑化フィルタ(トルク用平滑化フィルタ)を有し、操舵トルクTtをそれぞれ平滑化フィルタA及び平滑化フィルタBにより平滑化し、平滑後の操舵トルク(平滑化操舵トルク)Tta及びTtbをそれぞれ出力する。平滑化フィルタAは、出力する信号の反応が平滑化フィルタBより遅いが、高域のノイズ成分の除去が平滑化フィルタBよりも優れた特性を有しており、平滑化フィルタBは、出力する信号の反応が平滑化フィルタAより速いが、高域のノイズ成分の除去が平滑化フィルタAよりもやや劣る特性を有している。反応が速い平滑化フィルタBを併用することにより、操舵による緊急回避時等の急峻な手入力トルクに反応し、手入力がある場合の判定を行い易くすることができる。操舵トルクTta及びTtbは絶対値化部226A及び226Bに入力され、絶対値化部226Aは操舵トルクTtaの絶対値(絶対値データ)|Tta|を、絶対値化部226Bは操舵トルクTtbの絶対値(絶対値データ)|Ttb|をそれぞれ判定処理部227Aに出力する。判定処理部227Aは、予め定められた複数の閾値(トルク閾値)TthA1、TthA2、TthA3及びTthB(0≦TthA1≦TthA2≦TthA3≦TthB)を用いて、3種類の「手入力あり」の判定と1種類の「手入力なし」の判定を行う。具体的には、「絶対値|Tta|が閾値TthA3以上」又は「絶対値|Ttb|が閾値TthB以上」の場合、「手入力あり3」と判定し、「絶対値|Tta|が閾値TthA2以上、閾値TthA3未満」の場合、「手入力あり2」と判定し、「絶対値|Tta|が閾値TthA1以上、閾値TthA2未満」の場合、「手入力あり1」と判定し、「絶対値|Tta|が閾値TthA1未満」の場合、「手入力なし」と判定する。判定結果は手入力判定信号Jh1として出力される。
舵角制御モデル部228は、目標操舵角θtから推定操舵角θiを演算し、推定操舵角θiは減算部229に加算入力される。舵角制御モデル部228は、自動操舵状態における実操舵角θrを推定するために、目標操舵角θtに対する実操舵角θrの伝達特性を設定し、その伝達特性を用いて実操舵角を推定する。推定される実操舵角である推定操舵角θiと実際の実操舵角θrにずれがあれば、運転者による操舵介入があったと判断できるわけである。目標操舵角θtに対する実操舵角θrの伝達特性は、伝達関数や差分方程式(微分方程式)等で定義され、実験又はシミュレーションにより、目標操舵角θtを入力、実操舵角θrを出力として、一般的な同定方法により求める。推定精度を上げたい場合は、車速毎に伝達特性を同定する。なお、伝達関数は、車両及びEPSの周波数特性を表わすプラントモデルと舵角制御部の周波数特性を表わす制御モデルに基づいて、数式により表現しても良い。
減算部229には、推定操舵角θiと共に、実操舵角θrが減算入力され、推定操舵角θiと実操舵角θrの誤差dθが算出され、誤差dθは判定部223Bに入力される。
判定部223Bは、誤差dθを対象として、判定部223Aと同様の構成及び動作により、平滑化フィルタ(誤差用平滑化フィルタ)を有する平滑化フィルタ部225C及び225Dで誤差dθの平滑化をそれぞれ行い、平滑後の誤差(平滑化誤差)dθa及びdθbの絶対値(絶対値データ)|dθa|及び|dθb|を絶対値化部226C及び226Dでそれぞれ求め、判定処理部227Bが、絶対値|dθa|及び|dθb|に対して、予め定められた複数の閾値(誤差閾値)θthA1、θthA2、θthA3及びθthB(0≦θthA1≦θthA2≦θthA3≦θthB)を用いて、3種類の「手入力あり」の判定と1種類の「手入力なし」の判定を行う。平滑化フィルタ部225C及び225Dがそれぞれ有する平滑化フィルタC及び平滑化フィルタDは、平滑化フィルタA及び平滑化フィルタBの場合と同様に、平滑化フィルタCは、出力する信号の反応が平滑化フィルタDより遅いが、高域のノイズ成分の除去が平滑化フィルタDよりも優れた特性を有しており、平滑化フィルタDは、出力する信号の反応が平滑化フィルタCより速いが、高域のノイズ成分の除去が平滑化フィルタCよりもやや劣る特性を有している。簡易的に、平滑化フィルタCは平滑化フィルタAと、平滑化フィルタDは平滑化フィルタBと同じ特性としても良い。判定結果は手入力判定信号Jh2として出力される。
なお、判定処理部227A及び227Bは、それぞれ4つの閾値を用いて判定を行っているが、閾値の数は4つに限られず、4つ以外の数の閾値を用いて判定を行っても良い。これにより、柔軟な判定を行うことができる。
操舵状態判定部224は、車両側ECU100からの切換信号SW並びに手入力判定信号Jh1及びJh2から操舵状態を判定する。操舵状態には、「自動操舵1」、「自動操舵2」及び「手動操舵」があり、「自動操舵1」が通常の自動操舵状態に相当する。そして、切換信号SW、手入力判定信号Jh1、Jh2に加え、各データ入力時の操舵状態(正確には1サンプル前の操舵状態であり、以下、「直前操舵状態」とする)に基づいて、最新の操舵状態を判定する。判定に当たり、手入力判定信号Jh1及びJh2は、判定信号α及びβのいずれかに割り当てられ、例えば手入力判定信号Jh1が判定信号αの場合、手入力判定信号Jh2が判定信号βとなり、手入力判定信号Jh2が判定信号αの場合、手入力判定信号Jh1が判定信号βとなる。本実施形態では、手入力判定信号Jh1を判定信号αに、手入力判定信号Jh2を判定信号βとする。そして、判定は以下のように行われる。
[条件1]
直前操舵状態が「自動操舵1」又は「自動操舵2」において、切換信号SWが「アシスト制御モード」又は判定信号αが「手入力あり3」の場合、操舵状態は「手動操舵」と判定する。
[条件2]
直前操舵状態が「自動操舵1」において、切換信号SWが「舵角制御モード」であり且つ判定信号αが「手入力あり2」であり且つ判定信号βが「手入力あり3」以外の場合、操舵状態は「自動操舵2」と判定する。
[条件3]
直前操舵状態が「自動操舵2」において、切換信号SWが「舵角制御モード」であり且つ判定信号αが「手入力あり1」又は「手入力あり2」であり且つ判定信号βが「手入力あり3」以外の場合、操舵状態は変わらず「自動操舵2」と判定する。
[条件4]
直前操舵状態が「自動操舵2」において、切換信号SWが「舵角制御モード」であり且つ判定信号αが「手入力なし」であり且つ判定信号βが「手入力なし」の場合、操舵状態は「自動操舵1」と判定する。
[条件5]
直前操舵状態が「手動操舵」において、切換信号SWが「舵角制御モード」であり且つ判定信号αが「手入力なし」であり且つ判定信号βが「手入力なし」の場合、操舵状態は「自動操舵1」と判定する。
上記の条件1〜条件5を、さらに詳細にすると、下記表1〜表3のようになる。なお、表1において、「−」は任意の値(つまり、判定には関係しない)を意味し、「(継続)」は操舵状態が変わらないことを意味し、各列の条件をAND条件として連結して判定する。表2は、表1での直前操舵状態が「自動操舵1」で且つ切換信号SWが「舵角制御モード」の場合の判定結果を示しており、表3は、表1での直前操舵状態が「自動操舵2」で且つ切換信号SWが「舵角制御モード」の場合の判定結果を示しており、αは「判定信号α」を、βは「判定信号β」を表わしている。
上記表1〜表3に従って操舵状態を判定し、判定結果は操舵状態判定信号Jsとして徐変ゲイン生成部222に出力されると共に、舵角制御部300にも出力される。舵角制御部300では、後述の可変レート制限部320での制限値設定及び位置制御出力可変制限部345での制限値設定において操舵状態判定信号Jsが使用される。なお、切換信号SWを使用せずに操舵状態を判定しても良い。
徐変ゲイン生成部222は、操舵状態判定信号Jsに基づいて徐変ゲインを決定する。徐変ゲインは操舵状態によって異なる値を取り、操舵状態は操舵状態判定信号Jsにより判断するが、「自動操舵1」を自動操舵状態と判断し、「自動操舵2」の場合は、徐変ゲインは直前の値のままとする。
徐変ゲインGfa1、Gfa2、Gfa3及びGfa4は、自動操舵状態では100%、手動操舵状態では0%であり、自動操舵状態から手動操舵状態へ及び手動操舵状態から自動操舵状態への移行に際しては、値が徐々に変化する。例えば、自動操舵状態から手動操舵状態へ移行する場合、徐変ゲインGfa1〜Gfa4は、図6(A)に示されるように変化する。即ち、時点t1で操舵状態判定信号Jsが「自動操舵1」から「手動操舵」に変わると、その時点から徐変ゲインは逐次減少し、時点t2において0%となる。手動操舵状態から自動操舵状態へ移行する場合は、これとは逆に、操舵状態判定信号Jsが「自動操舵1」に変わった時点から徐変ゲインは逐次増加する。徐変ゲインが減少中又は増加中(以下、この状態を「切換状態」とする)に操舵状態判定信号Jsの値が「手動操舵」に変わったら、徐変ゲインは減少に、「自動操舵1」に変わったら、増加になり、「自動操舵2」に変わったら、変化しない。なお、図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の場合と同様に、切換状態では値を徐々に変化させる。
手入力判定の判定結果に「手入力あり1」があり、それを含んだ判定結果を基に操舵状態の判定、更に徐変ゲインの決定を行うことにより、「手入力あり2」の状態から「手入力なし」の状態になった場合に発生するチャタリングを抑制することが可能となる。
舵角制御部300及び切換部240の構成例を図7に示す。舵角制御部300は、舵角指令値可変制限部310、可変レート制限部320、ハンドル振動除去部330、位置制御部340、位置制御出力可変制限部345、操舵介入補償部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の場合と同様に、自動操舵状態及び手動操舵状態において適切な制限値が設定されるが、徐変ゲインと連動せずに制限値を変更する場合があるので、切換判定/徐変ゲイン生成部220から出力される操舵状態判定信号Jsに応じて制限値を設定する。操舵状態判定信号Jsが「自動操舵1」の場合、制限値は予め定められた値とし、操舵状態判定信号Jsが「自動操舵2」又は「手動操舵」の場合、制限値はゼロとし、舵角指令値θref2が変化せずに一定となるようにする。なお、変化量の絶対値に対して制限値を設定するのではなく、変化量に対して上限値及び下限値を設定して制限をかけるようにしても良い。
ここで、切換判定/徐変ゲイン生成部220での操舵状態の判定とその判定結果に応じた可変レート制限部320の制限値の設定の効果について、例を用いて説明する。なお、手入力判定部223の判定部223A及び判定部223Bは同じ判定を行っているとする。
図9は、自動運転中において道路に物体、水溜り、氷等の障害物があり、その障害物を避けるために運転者による操舵介入が発生した場合の手入力判定結果及び操舵状態の変化の様子を示したものである。
障害物を僅かに右側に避ける程度の操舵介入で、「手入力あり3」と判定されるレベルよりも弱い手入力の場合、操舵状態は「手動操舵」には遷移せずに、舵角制御は継続されることになる。よって、車両側ECU100は、運転者の操舵介入により右側に寄った車両を中央に戻すために、左側にハンドルを切るように舵角指令値を更新するので、右側に寄りたい運転者による操舵介入と中央を維持したい車両側ECU100からの舵角指令値による操舵が衝突することになる。そこで、安全優先の点から、運転者の操舵介入を優先させるために、手入力判定が地点P1において「手入力あり2」になることにより、操舵状態が「自動操舵2」の状態になり、操舵状態判定信号Jsにより可変レート制限部320の制限値をゼロにし、舵角指令値を一定値にする。これにより、舵角指令値の更新の影響を受けず、スムーズな操舵介入を実現することができる。
障害物をかわした後、運転者の操舵介入が弱まり、地点P2において手入力判定が「手入力あり1」になっても、操舵状態は「自動操舵2」のままであり、更に、操舵介入が弱まり、地点P3において手入力判定が「手入力なし」になると、操舵状態は「自動操舵1」に遷移する。このように、一度「手入力あり1」になることで、「自動操舵1」と「自動操舵2」間の切り換わりによるチャタリング等の発生を防止することができる。「自動操舵1」になった後は、通常の舵角指令値になり、自動運転に戻る。
このように、障害物をかわすために運転者による操舵介入があった場合でも、「手動操舵」に遷移せず、シームレスな操舵を実現することができる。
図7に示される構成例の説明に戻ると、乗算部391では、舵角指令値θref2に舵角指令徐変ゲインGfa4が乗算され、舵角指令値θref3として出力される。これにより、自動操舵状態から手動操舵状態への切換状態における後述のハンドル振動除去部330から出力される目標操舵角θtをゼロに漸近させ、舵角制御を中立状態に作用させることができる。
ハンドル振動除去部330は、舵角指令値θref3に含まれる振動周波数成分を低減する。自動操舵中、舵角指令が変化しているときに、舵角指令値θref3に、トーションバーのバネ性及びステアリングホイールの慣性モーメントによる振動を励起する周波数(約10Hz前後)成分が発生する。この舵角指令値θref3に含まれるハンドル振動周波数成分を、LPFやノッチフィルタ等でのフィルタ処理又は位相遅れ補償により低減し、目標操舵角θtを出力する。フィルタとしては、ハンドル振動周波数の帯域のゲインを下げ、ECUに実装可能であれば、任意のフィルタを使用して良い。ハンドル振動除去部330の手前に、舵角指令徐変ゲインGfa4を乗算する乗算部391を設置することにより、舵角指令徐変ゲインGfa4の乗算により発生するハンドル振動周波数成分の低減を可能としている。目標操舵角θtは、位置制御部340及び切換判定/徐変ゲイン生成部220に出力される。なお、ハンドル振動周波数成分が微小な場合等では、ハンドル振動除去部300を省略しても良い。
位置制御部340は、P(比例)制御により、目標操舵角θtと実操舵角θrの偏差に基づいて、目標操舵角θtに実操舵角θrを近づけるための舵角速度指令値ωref0を算出する。
位置制御部340の構成例を図10に示す。位置制御部340は、比例ゲイン部341及び減算部342を備える。減算部342にて目標操舵角θtと実操舵角θrの偏差θe(=θt−θr)が求められ、偏差θeは比例ゲイン部341に入力される。比例ゲイン部341は、偏差θeに比例ゲインKppを乗算し、舵角速度指令値ωref0を算出する。
位置制御出力可変制限部345は、舵角速度指令値ωref0に対して、制限値を設定して制限をかけ、舵角速度指令値(制限舵角速度指令値)ωref1を出力する。制限値は、運転者による操舵介入後にハンドルを手放しした際の舵角の急変を防止するために、操舵状態判定信号Jsに応じて設定される。即ち、操舵状態判定信号Jsが「自動操舵1」の場合、制限値は予め定められた設定値(以下、「設定値A」とする)とし、操舵状態判定信号Jsが「自動操舵2」又は「手動操舵」の場合、制限値は、設定値Aより小さい設定値(以下、「設定値B」とする)とする。「自動操舵2」又は「手動操舵」の場合に、「自動操舵1」での設定値Aより小さい設定値Bを設定することにより、ハンドルの手放しにより「自動操舵1」になっても、ハンドル舵角の急変を防止することができる。なお、制限のかけ方として、舵角速度指令値ωref0の大きさ(絶対値)に対して制限値を設定して制限をかけても、舵角速度指令値ωref0に対して上限値及び下限値を設定して制限をかけても良い。後者の場合、設定値A及び設定値Bは、それぞれ上限値及び下限値の2値をもつことになる。
操舵介入補償部350は、操舵トルクTt及び実操舵角θrに応じた操舵介入補償のための舵角速度指令値(補償舵角速度指令値)ωref2を算出する。舵角速度指令値ωref2と位置制御出力可変制限部345からの舵角速度指令値ωref1を加算したものが舵角速度指令値ωrefとなるので、操舵介入補償部350の機能により、操舵トルクの発生を緩和する方向に舵角速度指令値を生成することができ、自動操舵中での操舵介入を実現することができる。
操舵介入補償部350の構成例を図11に示す。操舵介入補償部350は、基本マップ部351、舵角速度演算部352、ダンパゲイン部353、乗算部354及び減算部355を備え、舵角速度演算部352は微分部352A及びLPF352Bを備える。
操舵介入補償部350に入力された操舵トルクTtは基本マップ部351に入力され、実操舵角θrは舵角速度演算部352に入力される。舵角速度演算部352は、微分部352Aで実操舵角θrを微分し、更にLPF352BでLPFによるフィルタ処理を行い、舵角速度ωsを算出する。
基本マップ部351は、基本マップを有し、基本マップを用いて舵角速度指令値(第1速度指令値)ωref2aを求める。基本マップは操舵トルクに対する舵角速度指令値の特性を定めたマップであり、車速に応じても変化するので、操舵トルクTt及び車速Vより舵角速度指令値ωref2aを求める。
基本マップはチューニングにより調整されており、例えば、図12に示されるように、舵角速度指令値は、操舵トルクの大きさ(絶対値)が増加するにつれて増加するが、車速が増加するにつれては減少する。高車速ほど舵角速度指令値が小さくなり、フィール(ステアリングフィール、操舵感)としては重くなり、逆に、低車速では軽いフィールとなる。アシスト制御部230で使用するアシストマップも車速が増加するにつれてアシスト制御電流指令値が減少する特性を有しているので、高速走行時に運転者により操舵介入があった場合、舵角速度指令値及びアシスト制御電流指令値の増加は抑えられ、急な操舵とならず、安全な操舵が可能である。なお、図12では操舵トルクの大きさでマップを構成しているが、正負の操舵トルクTtに応じてマップを構成しても良く、この場合、操舵トルクが正の場合と負の場合とで、変化の態様を変えても良い。
ダンパゲイン部353は、舵角速度ωsに乗算されるダンパゲインGdを出力する。乗算部354にてダンパゲインGdを乗算された舵角速度ωsは、舵角速度指令値(第2速度指令値)ωref2bとして減算部355にて舵角速度指令値ωref2aから減算され、減算結果が舵角速度指令値ωref2となる。
ダンパゲインGdは、ダンパゲイン部353が有するダンパゲインマップにより求められる。このダンパゲインマップを車速感応型とすることにより、自動操舵中での操舵介入におけるフィールに粘性感を持たせることができる。また、操舵介入後に自動操舵に戻るべくハンドルから手を離した場合の舵角の急峻な変化を緩和する機能としても使用することができる。例えば、図13に示されるように、高車速になるほど、ダンパゲインGdを大きくすることにより、粘性感を強くすることができる。
なお、ダンパゲイン部353及び乗算部354でダンパ演算部を構成している。また、ダンパゲインGdを乗算する舵角速度として、舵角速度演算部352から出力される舵角速度ωsではなく、舵角制御部300に入力される実舵角速度ωrを使用しても良い。この場合、舵角速度演算部352は不要となる。回転速度情報として、舵角速度ではなく、モータ速度を使用しても良い。
舵角制御部300の加算部393では、位置制御出力可変制限部345から出力される舵角速度指令値ωref1及び操舵介入補償部350から出力される舵角速度指令値ωref2が加算され、舵角速度指令値ωrefとして出力される。
乗算部392では、舵角速度指令値ωrefに速度指令徐変ゲインGfa3が乗算され、舵角速度指令値ωrefgとして出力される。速度指令徐変ゲインGfa3は、手動操舵状態から自動操舵状態への切換時に円滑な切換を実現するために用いられる。なお、速度指令徐変ゲインGfa3は、舵角制御電流指令値IrefP1に乗算される舵角制御出力徐変ゲインGfa1と同期して変化する(完全な同期でなくても良い)。
速度指令値可変制限部360は、舵角速度指令値ωrefgに対して、制限値(上限値、下限値)を設定して制限をかけ、目標舵角速度ωtを出力する。制限値は、速度指令徐変ゲインGfa3に応じて設定される。例えば、速度指令徐変ゲインGfa3が所定の閾値未満では、制限値の大きさ(絶対値)を図14の破線で示されるような小さい値とし、それ以上では制限値の大きさを実線で示される値まで大きくする。なお、所定の閾値を切換状態での速度指令徐変ゲインGfa3の任意の値とし、Gfa3が所定の閾値未満では、制限値の大きさは破線の小さい値で固定とし、Gfa3が所定の閾値を超えたら、実線のところまで制限値の大きさを徐々に大きくするようにしても良い。なお、上限値の大きさと下限値の大きさは異なっても良い。
舵角速度制御部370は、目標舵角速度ωt、実舵角速度ωr及び速度制御徐変ゲインGfa2を入力し、実舵角速度ωrが目標舵角速度ωtに追従するような舵角制御電流指令値IrefWを、I−P制御(比例先行型PI制御)により算出する。
舵角速度制御部370の構成例を図15に示す。舵角速度制御部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の構成例を図16に示す。ハンドル制振部380は、ゲイン部381及び制振位相補償部382を備える。ゲイン部381は、操舵トルクTtにゲインKvを乗算し、制御量Irvを出力する。制振位相補償部382は、例えば1次フィルタで構成され、制御量Irvを舵角制御電流指令値IrefVに変換する。1次フィルタではなく、2次以上の位相補償フィルタで構成しても良い。
加算部394では、舵角速度制御部370から出力される舵角制御電流指令値IrefW及びハンドル制振部380から出力される舵角制御電流指令値IrefVが加算され、舵角制御電流指令値IrefP2として出力される。
舵角制御電流指令値制限部390は、舵角制御電流指令値IrefP2に対して、過出力防止のために、制限値(上限値、下限値)を設定して制限をかけ、舵角制御電流指令値IrefP1を出力する。例えば、図17に示されるように、上限値及び下限値を設定して舵角制御電流指令値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の動作例を、図18〜図23のフローチャートを参照して説明する。
動作を開始すると、EPS状態量検出部210は実操舵角θr、操舵トルクTt、車速Vを検出し(ステップS10)、実操舵角θrを切換判定/徐変ゲイン生成部220及び舵角制御部300に、操舵トルクTtを切換判定/徐変ゲイン生成部220、舵角制御部300及びアシスト制御部230に、車速Vを舵角制御部300及びアシスト制御部230にそれぞれ出力する。更に、EPS状態量検出部210は、実操舵角θrより実舵角速度ωrを算出し(ステップS20)、舵角制御部300に出力する。
操舵トルクTt及び実操舵角θrを入力した切換判定/徐変ゲイン生成部220には、舵角制御部300から出力された1サンプル前の目標操舵角θtが入力されている。切換判定/徐変ゲイン生成部220は、それらを用いて、車両側ECU100から出力される切換信号SWの入力も踏まえて自動操舵と手動操舵の切換判定を行い、その判定結果に基づいて徐変ゲインを決定し(ステップS30)、徐変ゲインGfa2、Gfa3及びGfa4を舵角制御部300に、Gft2をアシスト制御部230に、Gfa1及びGft1を切換部240にそれぞれ出力する。また、操舵状態判定信号Jsを舵角制御部300に出力する。切換判定/徐変ゲイン生成部220の動作の詳細については後述する。
舵角制御部300は、車両側ECU100からの舵角指令値θref、EPS状態量検出部210からの実操舵角θr、実舵角速度ωr、操舵トルクTt及び車速V、並びに切換判定/徐変ゲイン生成部220からの徐変ゲインGfa2、Gfa3、Gfa4及び操舵状態判定信号Jsを入力し、それらを用いて舵角制御電流指令値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の動作例の詳細を、図19及び図20のフローチャートを参照して説明する。なお、操舵状態判定部224において、直前操舵状態には「手動操舵」が、保持する切換信号SWには「アシスト制御モード」が、操舵状態判定信号Jsには「手動操舵」がそれぞれ初期値として設定されているとする。
入力した操舵トルクTt、目標操舵角θt及び実操舵角θrは、切換判定部221内の手入力判定部223に入力される。手入力判定部223では、操舵トルクTtが判定部223Aに、目標操舵角θtが舵角制御モデル部228に、実操舵角θrが減算部229に入力される。
舵角制御モデル部228は、目標操舵角θtから推定操舵角θiを演算する(ステップS210)。推定操舵角θiは減算部229に加算入力され、実操舵角θrを減算され(ステップS220)、誤差dθ(=θi−θr)が判定部223Bに入力される。
判定部223Aは、操舵トルクTtを平滑化フィルタ部225A及び225Bで平滑化し、平滑後の操舵トルクTta及びTtbの絶対値|Tta|及び|Ttb|を絶対値化部226A及び226Bで求める(ステップS230)。絶対値|Tta|及び|Ttb|は判定処理部227Aに入力される。判定処理部227Aは、絶対値|Ttb|が閾値TthB以上の場合(ステップS240)、「手入力あり3」と判定する(ステップS250)。絶対値|Ttb|が閾値TthB未満の場合(ステップS240)、絶対値|Tta|が閾値TthA3以上ならば(ステップS260)、「手入力あり3」と判定し(ステップS250)、絶対値|Tta|が閾値TthA3未満で閾値TthA2以上ならば(ステップS270)、「手入力あり2」と判定し(ステップS280)、絶対値|Tta|が閾値TthA2未満で閾値TthA1以上ならば(ステップS290)、「手入力あり1」と判定し(ステップS300)、絶対値|Tta|が閾値TthA1未満ならば(ステップS290)、「手入力なし」と判定する(ステップS310)。判定結果は手入力判定信号Jh1として操舵状態判定部224に出力される。
判定部223Bは、誤差dθを平滑化フィルタ部225C及び225Dで平滑化し、平滑後の誤差dθa及びdθbの絶対値|dθa|及び|dθb|を絶対値化部226C及び226Dで求める(ステップS320)。絶対値|dθa|及び|dθb|は判定処理部227Bに入力される。判定処理部227Bは、絶対値|dθb|が閾値θthB以上の場合(ステップS330)、「手入力あり3」と判定する(ステップS340)。絶対値|dθb|が閾値θthB未満の場合(ステップS330)、絶対値|dθa|が閾値θthA3以上ならば(ステップS350)、「手入力あり3」と判定し(ステップS340)、絶対値|dθa|が閾値θthA3未満で閾値θthA2以上ならば(ステップS360)、「手入力あり2」と判定し(ステップS370)、絶対値|dθa|が閾値θthA2未満で閾値θthA1以上ならば(ステップS380)、「手入力あり1」と判定し(ステップS390)、絶対値|dθa|が閾値θthA1未満ならば(ステップS380)、「手入力なし」と判定する(ステップS400)。判定結果は手入力判定信号Jh2として操舵状態判定部224に出力される。なお、判定部223Aの動作と判定部223Bの動作は、順番が逆でも、並行して実行されても良い。
操舵状態判定部224は、切換信号SWの入力の有無を確認し(ステップS410)、切換信号SWを入力していたら、保持している切換信号SWの値を更新する(ステップS420)。そして、入力した手入力判定信号Jh1及びJh2をそれぞれ判定信号α及びβとし、直前操舵状態、切換信号SWを用いて、表1〜表3の条件判定に従って操舵状態の判定を行う(ステップS430)。判定結果は、徐変ゲイン生成部222及び舵角制御部300に操舵状態判定信号Jsとして出力されると共に、次回の判定における直前操舵状態として保持される(ステップS440)。
徐変ゲイン生成部222は、操舵状態判定信号Jsの値を確認する(ステップS450)。操舵状態判定信号Jsが「手動操舵」の場合、各徐変ゲイン(Gfa1〜Gfa4、Gft1、Gft2)を手動操舵状態での値(Gfa1〜Gfa4では0%、Gft1及びGft2では100%)に遷移させる(ステップS460)。操舵状態判定信号Jsが「自動操舵1」の場合、各徐変ゲインを自動操舵状態での値(Gfa1〜Gfa4では100%、Gft1ではαt1、Gft2ではαt2)に遷移させる(ステップS470)。操舵状態判定信号Jsが「自動操舵2」の場合は、各徐変ゲインはそのままとする。
舵角制御部300の動作例の詳細を、図21〜23のフローチャートを参照して説明する。
舵角指令値可変制限部310は、入力した舵角指令徐変ゲインGfa4の値を確認し(ステップS610)、Gfa4が0%の場合、制限値を、図8に示される「手動操舵時」の制限値とし(ステップS620)、Gfa4が100%の場合、図8に示される「自動操舵時」の制限値とし(ステップS630)、Gfa4が0〜100%の場合、中間の値を制限値とする(ステップS640)。そして、設定された制限値を用いて、車両側ECU100から入力した舵角指令値θrefに対して制限をかけ(ステップS650)、舵角指令値θref1を出力する。
舵角指令値θref1は、操舵状態判定信号Js及び実操舵角θrと共に、可変レート制限部320に入力される。可変レート制限部320は、操舵状態判定信号Jsの値を確認し(ステップS660)、操舵状態判定信号Jsが「手動操舵」又は「自動操舵2」の場合、制限値をゼロとし(ステップS670、S681)、「手動操舵」の場合は、更に、保持している1サンプル前の舵角指令値θref1の値を実操舵角θrの値にする(ステップS671)。ステップS671は、舵角制御が開始された時点では、前の舵角制御終了時の値が残った状態であり、その値をそのまま使用すると舵角指令値の急変によりハンドルが急変するおそれがあるので、実操舵角θrと一致させた状態で開始させることにより急変を抑制するための処置である。操舵状態判定信号Jsが「自動操舵1」の場合、制限値を予め定められた値とする(ステップS680)。そして、舵角指令値θref1と1サンプル前の舵角指令値θref1との差分(変化量)を算出する(ステップS690)。変化量の絶対値が制限値より大きい場合(ステップS700)、変化量の絶対値が制限値となるように、舵角指令値θref1を加減算し(ステップS710)、舵角指令値θref2として出力する(ステップS720)。変化量の絶対値が制限値以下の場合(ステップS700)、舵角指令値θref1をそのまま舵角指令値θref2として出力する(ステップS720)。
舵角指令値θref2は、乗算部391で舵角指令徐変ゲインGfa4を乗算され(ステップS730)、舵角指令値θref3として出力され、舵角指令値θref3はハンドル振動除去部330に入力される。
ハンドル振動除去部330は、舵角指令値θref3に対して、振動周波数成分を低減し(ステップS740)、目標操舵角θtとして位置制御部340及び切換判定/徐変ゲイン生成部220に出力する。
目標操舵角θtは、位置制御部340内の減算部342に加算入力される。減算部342には実操舵角θrが減算入力されており、減算部342にて目標操舵角θtと実操舵角θrの偏差θeが求められる(ステップS750)。偏差θeは比例ゲイン部341に入力され、比例ゲイン部341は、偏差θeに比例ゲインKppを乗算し、舵角速度指令値ωref0を算出する(ステップS760)。舵角速度指令値ωref0は位置制御出力可変制限部345に入力される。
位置制御出力可変制限部345は、舵角速度指令値ωref0と共に、操舵状態判定信号Jsを入力し、操舵状態判定信号Jsの値を確認する(ステップS770)。操舵状態判定信号Jsが「手動操舵」又は「自動操舵2」の場合、制限値を設定値Bとし(ステップS780、S800)、「自動操舵1」の場合、制限値を設定値Aとする(ステップS790)。そして、設定された制限値を用いて、舵角速度指令値ωref0に対して制限をかけ(ステップS810)、舵角速度指令値ωref1を出力する。舵角速度指令値ωref1は加算部393に入力される。
一方、操舵介入補償部350は、車速V、操舵トルクTt及び実操舵角θrを入力し、舵角速度指令値ωref2を算出する(ステップS820)。操舵介入補償部350の動作例については、図23を参照して説明する。
操舵介入補償部350に入力された車速Vは基本マップ部351及びダンパゲイン部353に、操舵トルクTtは基本マップ部351に、実操舵角θrは舵角速度演算部352に入力される。
基本マップ部351は、図12に示される基本マップを用いて、操舵トルクTt及び車速Vに基づいて舵角速度指令値ωref2aを求める(ステップS821)。舵角速度指令値ωref2aは減算部355に加算入力される。
舵角速度演算部352は、実操舵角θrを微分部352Aで微分し(ステップS822)、更にLPF352Bでローパスフィルタ処理を実行し、舵角速度ωsとして乗算部354に出力する。
ダンパゲイン部353は、図13に示されるダンパゲインマップを用いて、車速Vに基づいてダンパゲインGdを求め(ステップS823)、ダンパゲインGdは乗算部354に入力され、舵角速度ωsに乗算され(ステップS824)、乗算結果は舵角速度指令値ωref2bとして減算部355に減算入力される。
減算部355では舵角速度指令値ωref2aから舵角速度指令値ωref2bが減算され(ステップS825)、舵角速度指令値ωref2が出力される(ステップS826)。
操舵介入補償部350から出力された舵角速度指令値ωref2は加算部393に入力される。
加算部393に入力された舵角速度指令値ωref1及びωref2は加算され(ステップS840)、舵角速度指令値ωrefとして出力される。舵角速度指令値ωrefは、乗算部392で速度指令徐変ゲインGfa3を乗算され(ステップS850)、舵角速度指令値ωrefgとして速度指令値可変制限部360に入力される。
速度指令値可変制限部360は、舵角速度指令値ωrefgと共に、速度指令徐変ゲインGfa3を入力し、速度指令徐変ゲインGfa3の値を確認する(ステップS860)。そして、Gfa3が所定の閾値未満の場合、制限値を、図14に示される「Gfa3小」の制限値とし(ステップS870)、所定の閾値以上の場合、「Gfa3大」の制限値とする(ステップS880)。設定された制限値を用いて、舵角速度指令値ωrefgに対して制限をかけ(ステップS890)、目標舵角速度ωtを出力する。目標舵角速度ωtは舵角速度制御部370に入力される。
舵角速度制御部370は、目標舵角速度ωtと共に、実舵角速度ωr及び速度制御徐変ゲインGfa2を入力する。目標舵角速度ωtは減算部374に加算入力され、実舵角速度ωrは減算部374に減算入力され、目標舵角速度ωtと実舵角速度ωrの偏差ωeがゲイン乗算部371に入力される(ステップS900)。ゲイン乗算部371は偏差ωeにゲインKviを乗算し(ステップS910)、操作量D1を出力する。操作量D1は積分部373に入力され、積分部373は、操作量D1を積分して制御量Ir1を算出し(ステップS920)、乗算部376に出力する。乗算部376は、制御量Ir1に速度制御徐変ゲインGfa2を乗算し(ステップS930)、制御量Ir3を出力する。制御量Ir3は減算部375に加算入力される。また、実舵角速度ωrはゲイン乗算部372にも入力され、ゲイン乗算部372は、実舵角速度ωrにゲインKvpを乗算し(ステップS940)、制御量Ir2を出力し、制御量Ir2は減算部375に減算入力される。減算部375では、制御量Ir3とIr2の偏差が算出され(ステップS950)、舵角制御電流指令値IrefWとして、加算部394に出力される。
操舵トルクTtはハンドル制振部380にも入力される。ハンドル制振部380では、ゲイン部381が、入力した操舵トルクTtにゲインKvを乗算し(ステップS960)、制御量Irvを出力する。制御量Irvは制振位相補償部382で位相補償され(ステップS970)、舵角制御電流指令値IrefVとして出力される。舵角制御電流指令値IrefVは、加算部394に出力される。
加算部394に入力された舵角制御電流指令値IrefW及びIrefVは加算され(ステップS980)、舵角制御電流指令値IrefP2として舵角制御電流指令値制限部390に入力される。
舵角制御電流指令値制限部390は、舵角制御電流指令値IrefP2に対して、図17に示される特性の制限値を用いて制限をかけ、舵角制御電流指令値IrefP1を出力する(ステップS990)。
なお、舵角制御部300の動作とアシスト制御部230の動作は、順番が逆でも、並行して実行されても良い。舵角制御部300の動作においては、加算部393に入力される舵角速度指令値ωref1算出までの動作と舵角速度指令値ωref2算出までの動作、加算部394に入力される舵角制御電流指令値IrefW算出までの動作と舵角制御電流指令値IrefV算出までの動作等も、それぞれ順番が逆でも、並行して実行されても良い。
本実施形態の効果を、シミュレーション結果に基づいて説明する。
シミュレーションでは、プラント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)(参考文献)に示されているモデルを使用しても良く、これらに限定されず、他のモデルを使用しても良い。本シミュレーションで使用する操舵モデルを、参考として、図24に示す。図24において、Carm及びCpalmは粘性係数、Karm及びKpalmはバネ定数、Iarmは腕の慣性モーメントである。メカモデル(メカ伝達特性)から出力されるハンドル舵角θhを操舵モデル(運転者操舵伝達特性)に入力し、操舵モデルから出力されるハンドル手入力トルクThをメカモデルに出力する。参考文献に記載されている目標角度を、以下では運転者の目標角度(操舵目標角度)θarmとする。更に、参考文献では、腕の質量系をコラム慣性モーメントに加算しているが、手のひらからハンドルへ加えられる力をハンドル手入力トルクThとすることにより、手のひらの角度とハンドル舵角θhの間で作用するバネ定数Kpalm及び粘性係数Cpalmの値は十分大きな値としてシミュレーションを行っても支障がなく、本シミュレーションではそのようにしている。また、電流指令値に対するモータ電流の追従性は十分に早く、電流制御/駆動部250の動作による影響は軽微であり、電流指令値=モータ電流とする。更に、車速Vは一定とする。
先ず、操舵介入補償による効果について説明する。
舵角指令値θrefを0[deg]固定として、運転者の目標角度θarmを入力した場合の自動操舵のシミュレーションを行った。参考として、同条件で運転者の操舵モデルを考慮したシミュレーションでの運転者の目標角度θarmの時間変化に対する実操舵角θr及び操舵トルクTtの時間応答を、図25に示す。図25では、縦軸が角度[deg]及び操舵トルク[Nm]、横軸が時間[sec]であり、太実線が運転者の目標角度θarm、細実線が実操舵角(本実施形態ではハンドル舵角)θr、破線が操舵トルクTtを示す。なお、図25において、アシスト制御出力徐変ゲインGft1は0%、つまりアシスト制御は効かないようにした。また、図25は、運転者の目標角度θarmの変化に対して、実操舵角θr及び操舵トルクTtが変化する様子を説明するためのシミュレーションの一例である。
このような運転者の目標角度θarmを入力した場合の実操舵角θr及び操舵トルクTtの変化について、操舵介入補償がなくPI制御にて速度制御を行った場合と操舵介入補償がある場合とで比較を行った。なお、前者では、本実施形態との比較のために、アシスト制御出力徐変ゲインGft1及びアシストマップ徐変ゲインGft2を共に100%とした。後者では、アシスト制御出力徐変ゲインGft1を0%とした。また、従来の先行技術(例えば特許文献1)においては、切換前の舵角制御中ではアシスト制御指令値は0[A]であるが、前者の場合よりも操舵介入が困難であると推測されるので割愛した。
図26がシミュレーション結果である。縦軸が操舵トルク[Nm]、横軸が実操舵角[deg]であり、操舵介入補償がない場合を破線で、操舵介入補償がある場合を実線で示している。但し、操舵介入補償部350の基本マップ部351において、基本マップは原点からの直線とした。
図26での破線が示すように、操舵介入補償がない場合、7.5[deg]までは実操舵角θrを切れているが、速度制御でのPI制御の積分の影響により、速度偏差(舵角速度指令値と実舵角速度の偏差)が蓄積され続けることで、最終的に舵角指令値θref(=0[deg])まで強制的に戻されてしまい、更に、15[Nm]以上の非常に大きな操舵トルクが発生してしまい、運転者による操舵が困難な状態となる。
これに対して、図26での実線が示すように、操舵介入補償がある場合は、約22[deg]まで操舵できており、舵角指令値θref(=0[deg])に引き戻されることもない。これは、位置制御部340から出力される舵角速度指令値ωref1に操舵介入補償部350から出力される舵角速度指令値ωref2が加算され、操舵した状態における舵角速度指令値ωrefと実舵角速度ωrの速度偏差が0近傍で釣り合うためである。このように、操舵介入補償部350の機能により、運転者による操舵介入を実現することが可能となる。また、操舵介入補償部350からの出力のゲインを大きくすることで、より軽い操舵を実現することができる。
次に、運転者による操舵介入がなく(ハンドル手入力トルクTh=0[Nm])、操舵介入補償も行なわず、舵角制御のみを実行した場合の自動操舵での舵角制御中のハンドル振動に対する効果について説明する。
ハンドル振動に対する効果の説明に先立ち、舵角指令値θrefに対して実操舵角θrが追従する様子を説明するために、舵角指令値θrefに対する追従性について説明する。
図27は、舵角指令値θrefを0[deg]から100[deg]までランプ状に変化させた時間応答の一例を示している。図27では、縦軸が舵角[deg]、横軸が時間[sec]であり、点線が舵角指令値θrefを示す。この舵角指令値θrefに対して、カットオフ周波数が2Hzの1次LPFを有するハンドル振動除去部330から出力された目標操舵角θt及び実操舵角θrの応答の様子を、それぞれ細実線及び太実線で示す。図27から、目標操舵角θt及び実操舵角θrが舵角指令値θrefに追従していることがわかる。
以上の説明より、自動操舵中に操舵介入及び舵角追従の両方を実現可能であると言える。
ハンドル振動に対する効果確認のシミュレーションでは、図27と同様の舵角指令値θrefに対して舵角制御を行った場合、ハンドル振動除去部330及びハンドル制振部380の有無によるトーションバートルクの時間応答の違いを調べた。ハンドル振動除去部330ではカットオフ周波数が2Hzの1次LPFを使用した。ハンドル制振部380では、トーションバートルク1Nmに対してコラム軸換算トルクが10Nm相当になるゲインKvを使用し、分子のカットオフ周波数を10Hz、分母のカットオフ周波数を20Hzとした1次フィルタでの位相進み補償を行った。その結果を図28に示す。図28では、縦軸がトーションバートルク[Nm]、横軸が時間[sec]であり、実線はハンドル振動除去部330及びハンドル制振部380による振動対策がある場合で、点線は振動対策がない場合である。図28から、ハンドル振動除去部330及びハンドル制振部380により、ハンドルの振動が抑制されていることがわかる。
次に、舵角速度指令値に対する位置制御出力可変制限部での制限による、(操舵介入補償を機能させた状態における)操舵介入後の手放しにおける舵角急変の防止の効果について説明する。
目標操舵角θtを0[deg]固定とした状態において、運転者による操舵介入があり、その後、ハンドルを手放した場合について、シミュレーションを行った。シミュレーションでは、位置制御出力可変制限部で使用する設定値Aを1000[deg/s]、設定値Bを100[deg/s]とした。
図29は、運転者の目標角度θarmの時間変化の例と、その応答としてのハンドル手入力トルクThの時間応答の例を示した図で、縦軸が目標角度θarm[deg]及びハンドル手入力トルクTh[Nm]、横軸が時間[sec]であり、太実線が目標角度θarm、細実線がハンドル手入力トルクThを示す。シミュレーションでは、開始から3[sec]後のタイミングでハンドルを手放したとして、3[sec]のタイミングで強制的にハンドル手入力トルクTh=0[Nm]に設定した。よって、ハンドル手入力トルクThは、3[sec]までは運転者の目標角度θarmの影響を受けるが、3[sec]以降は影響を受けないことになる。また、シミュレーションでは、切換信号SWは「舵角制御モード」であり、操舵状態が「自動操舵1」の状況において、開始から1.25[sec]後のタイミングで手入力の判定が「手入力あり2」となり、操舵状態が「自動操舵2」になったとして、位置制御出力可変制限部の制限値を、1000[deg/s]の設定値Aから100[deg/s]の設定値Bに、0.25[sec]の間で遷移させた。図30は、その場合の位置制御出力可変制限部の制限値の時間変化の様子を示した図であり、1.25[sec]から1.5[sec]にかけて制限値をランプ状に変化させている。なお、ハンドルを手放したことにより操舵状態が「自動操舵1」となった場合、本来は制限値を1000[deg/s]の設定値Aに遷移させることになるが、本シミュレーションでは手放し後の急変防止の効果を分かり易く示すために、遷移させていない。
位置制御出力可変制限部の制限値を操舵状態に応じて設定することの効果を見るために、制限値を遷移する(制限値が可変)場合としない(制限値が一定)場合とで、更に操舵介入補償部でのダンパゲインマップの使用の有無によるハンドル舵角θhの時間変化を比較した。図31がシミュレーション結果である。縦軸がハンドル舵角θh[deg]、横軸が時間[sec]であり、制限値が一定でダンパゲインマップなしの場合を細実線で、制限値が可変でダンパゲインマップなしの場合を破線で、制限値が可変でダンパゲインマップありの場合を太実線で示している。図31からわかるように、細実線では、ハンドルを手放しとした3[sec]直後にハンドル舵角θhが急変し、目標操舵角θt=0[deg]をオーバーシュートして収束している。破線では、細実線と比較すると、ハンドル舵角θhは目標操舵角θtに向かって緩やかに変化し、オーバーシュートも殆どすることなく収束している。太実線では、ハンドル舵角θhは最も緩やかに目標操舵角θtに収れんしている。このように、ハンドルの手放し後に舵角速度制御部に入力される舵角速度指令値を適切に制限することによりハンドル舵角の急変を防止することが可能となり、更に操舵介入補償においてダンパゲインマップを使用することにより、その効果を向上させることができる。
効果の説明の最後として、舵角制御開始時の舵角速度の増加により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が省略された場合、舵角速度制御部370には目標舵角速度ωtとして舵角速度指令値ωrefが入力されることになる。
操舵介入補償部350においては、LPF352Bの省略が可能である。また、基本マップ部351の前段又は後段に位相補償を行なう速度指令値位相補償部356を挿入しても良い。つまり、図11中の破線で囲まれた領域Rの構成を、図33(A)又は(B)に示されるような構成にしても良い。速度指令値位相補償部356は、位相補償として位相進み補償を設定し、例えば、分子のカットオフ周波数を1.0Hz、分母のカットオフ周波数を1.3Hzとした1次フィルタで位相進み補償を行う。これにより、スッキリしたフィールを実現することができる。
本発明の他の実施形態について説明する。
第1実施形態では、舵角速度制御部370での速度制御徐変ゲインGfa2の乗算は、積分部373からの出力である制御量Ir1に対して行われているが、減算部375からの出力である舵角制御電流指令値IrefWに対して行うことも可能である。
図34は、舵角制御電流指令値IrefWに対して速度制御徐変ゲインGfa2を乗算する場合の舵角速度制御部の構成例(第2実施形態)である。図15に示される第1実施形態での舵角速度制御部370と比べると、第2実施形態での舵角速度制御部470では、乗算部376が積分部373の後ではなく、減算部375の後に設置されており、その他の構成は同じである。
第2実施形態の動作例では、図21及び図22に示される第1実施形態の動作例において、積分部373が操作量D1を積分して制御量Ir1を算出するステップS920までは同じ動作で、その後、制御量Ir1は減算部375に入力され、減算部375にて制御量Ir1とIr2の偏差(Ir1−Ir2)として制御量Ir3’が算出される。そして、乗算部376は、制御量Ir3’に速度制御徐変ゲインGfa2を乗算し、舵角制御電流指令値IrefWとして加算部394に出力する。それ以降(ステップS960〜)は、第1実施形態と同じ動作である。
速度制御徐変ゲインGfa2の乗算を、舵角速度制御部370内の他の箇所で行うことも可能である。
図35に示される舵角速度制御部の構成例(第3実施形態)では、減算部374からの出力である偏差ωeに対して速度制御徐変ゲインGfa2を乗算している。図15に示される第1実施形態での舵角速度制御部370と比べると、第3実施形態での舵角速度制御部570では、乗算部376が積分部373の後ではなく、減算部374の後に設置されており、その他の構成は同じである。
第3実施形態の動作例では、図21及び図22に示される第1実施形態の動作例において、減算部374が目標舵角速度ωtと実舵角速度ωrの偏差ωeを算出するステップS900までは同じ動作で、偏差ωeはゲイン乗算部371ではなく、乗算部376に入力され、乗算部376は、偏差ωeに速度制御徐変ゲインGfa2を乗算し、偏差ωe1としてゲイン乗算部371に出力する。その後は、ステップS930がなくなるだけで、第1実施形態と同じ動作である。
上述の実施形態(第1〜第3実施形態)では、速度指令値可変制限部360は、速度指令徐変ゲインGfa3に応じて制限値を設定し、Gfa3が所定の閾値になったときに制限値を切り換えているが、Gfa3の代わりに舵角制御出力徐変ゲインGfa1を使用し、Gfa1が100%になったときに制限値を切り換えるようにしても良い。この場合の構成(第4実施形態)では、速度指令値可変制限部にはGfa3の代わりにGfa1が入力され、その他の構成は他の実施形態と同じである。第4実施形態での動作では、速度指令値可変制限部での制限値決定の判断動作(図22でのステップS860)が、Gfa1が100%未満か否かの確認に変わるだけである。第4実施形態において、手動操舵状態から自動操舵状態へ移行する際の目標舵角速度ωt、徐変ゲイン及び速度指令値可変制限部での制限値の時間変化は、図36に示されるようになる。図32で示される時間変化と比べると、速度指令値可変制限部での制限値が、Gfa1が100%となる時点t12から徐々に大きくなっており、それに合わせて目標舵角速度ωtも大きくなっている。