(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176411
(43)【公開日】2024-12-19
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
B62D 6/00 20060101AFI20241212BHJP
B62D 5/04 20060101ALI20241212BHJP
【FI】
B62D6/00
B62D5/04
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023094922
(22)【出願日】2023-06-08
(71)【出願人】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】酒井 悠太
(72)【発明者】
【氏名】田村 勉
(72)【発明者】
【氏名】フックス ロバート
【テーマコード(参考)】
3D232
3D333
【Fターム(参考)】
3D232CC20
3D232CC46
3D232DA03
3D232DA04
3D232DA15
3D232DA63
3D232DA84
3D232DA87
3D232DA90
3D232DC38
3D232DD05
3D232DD08
3D232DD10
3D232DD17
3D232DE09
3D232EA01
3D232EC23
3D232EC34
3D232GG01
3D333CB02
3D333CB13
3D333CC14
3D333CD05
3D333CD14
3D333CE52
3D333CE55
(57)【要約】
【課題】目標走行車線の切り替わり時のドライバの不快感を低減できるモータ制御装置を提供する。
【解決手段】
運転支援モードにおいて、手動操舵指令値演算部は、操舵装置のリファレンスモデルの運動方程式を利用して手動操舵指令値を演算するように構成されており、ドライバ操作によって方向変更指令が入力されたときまたはその後に所定のレーンチェンジ承認条件が満たされたときに、現在車線に沿って車両を走行させるための自動操舵指令値が、方向変更指令に応じた隣接車線に沿って車両を走行させるための自動操舵指令値に、自動操舵指令値が切り替えられるようになっており、自動操舵指令値が切り替えられる時点を含む切り替え前後期間において、手動操舵指令値演算部は、運動方程式における仮想ばね反力を零に設定して、手動操舵指令値を演算する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
操舵装置の電動モータを駆動制御するためのモータ制御装置であって、
トーションバートルクを用いて手動操舵指令値を演算する手動操舵指令値演算部と、
運転支援用の自動操舵指令値に前記手動操舵指令値を加算して、統合角度指令値を演算する統合角度指令値演算部と、
前記統合角度指令値に基づいて、前記電動モータを制御するモータ制御部とを含み、
運転支援モードにおいて、前記手動操舵指令値演算部は、前記操舵装置のリファレンスモデルの運動方程式を利用して前記手動操舵指令値を演算するように構成されており、
ドライバ操作によって方向変更指令が入力された後に所定のレーンチェンジ承認条件が満たされたときに、現在車線に沿って車両を走行させるための自動操舵指令値が、前記方向変更指令に応じた隣接車線に沿って車両を走行させるための自動操舵指令値に、前記自動操舵指令値が切り替えられるようになっており、
前記自動操舵指令値が切り替えられる時点を含む切り替え前後期間において、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力を零に設定して、前記手動操舵指令値を演算する、モータ制御装置。
【請求項2】
前記運動方程式の仮想ばね反力が、仮想ばねのばね定数を用いて設定される仮想ばね反力である、請求項1に記載のモータ制御装置。
【請求項3】
前記運動方程式の仮想ばね反力として、車両基準位置の走行車線に対する横位置によって変化する目標仮想ばね反力が用いられる、請求項1に記載のモータ制御装置。
【請求項4】
前記方向変更指令が入力されてから、前記自動操舵指令値が切り替える前まで期間においては、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力として、車両基準位置の走行車線に対する横位置によって変化する目標仮想ばね反力を用いて、前記手動操舵指令値を演算し、
少なくとも前記自動操舵指令値が切り替えられた直後においては、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力として、仮想ばねのばね定数を用いて設定される仮想ばね反力を用いて、前記手動操舵指令値を演算する、請求項1に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
下記特許文献1に記載の車線追従装置では、自動操舵モード時には、目標ラインに沿って車両を走行させるための目標操舵角が算出され、この目標操舵角を得るべく、モータに対して制御指令が出力される。
【0003】
目標走行車線の変更時には、目標ラインと車両の走行ラインとの車幅方向の偏差量である車線偏差量に基づいて、車線変更をすべきか否かが判別される。車線変更すべきと判別された場合には、目標走行車線を変更する。そして、車線変更すべきと判別された地点をピークとして徐々に制御ゲインが低くなる車線変更時制御ゲイン(特許文献1の
図5参照)が設定される。なお、制御ゲインが大きくなるほど、車両を目標ラインに戻す力が大きくなる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005-162015号公報
【特許文献2】国際公開第2023/286169号
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の車線追従装置では、目標走行車線が変更され場合には、システムによる操舵支援力の方向が反転するため、ドライバがトルク抜けのような不快感を抱くおそれがある。
【0006】
本開示の目的は、目標走行車線の切り替わり時のドライバの不快感を低減できるモータ制御装置を提供することである。
【課題を解決するための手段】
【0007】
本開示の一実施形態は、操舵装置の電動モータを駆動制御するためのモータ制御装置であって、トーションバートルクを用いて手動操舵指令値を演算する手動操舵指令値演算部と、運転支援用の自動操舵指令値に前記手動操舵指令値を加算して、統合角度指令値を演算する統合角度指令値演算部と、前記統合角度指令値に基づいて、前記電動モータを制御するモータ制御部とを含み、運転支援モードにおいて、前記手動操舵指令値演算部は、前記操舵装置のリファレンスモデルの運動方程式を利用して前記手動操舵指令値を演算するように構成されており、ドライバ操作によって方向変更指令が入力された後に所定のレーンチェンジ承認条件が満たされたときに、現在車線に沿って車両を走行させるための自動操舵指令値が、前記方向変更指令に応じた隣接車線に沿って車両を走行させるための自動操舵指令値に、前記自動操舵指令値が切り替えられるようになっており、前記自動操舵指令値が切り替えられる時点を含む切り替え前後期間において、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力を零に設定して、前記手動操舵指令値を演算する、モータ制御装置を提供する。
【0008】
この構成では、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0009】
本開示における上述の、またはさらに他の目的、特徴および効果は、添付図面を参照して次に述べる実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の一実施形態に係るモータ制御装置が適用された電動パワーステアリングシステムの概略構成を示す模式図である。
【
図2】
図2は、モータ制御用ECUの電気的構成を説明するためのブロック図である。
【
図3】
図3は、トーションバートルクT
tbに対するアシストトルク指令値T
asの設定例を示すグラフである。
【
図4】
図4は、リファレンスEPSモデルの一例を示す模式図である。
【
図5】
図5は、手動操舵指令値演算部の構成を示すブロック図である。
【
図6】
図6は、角度制御部の構成を示すブロック図である。
【
図7】
図7は、電動パワーステアリングシステムの物理モデルの構成例を示す模式図である。
【
図8】
図8は、外乱トルク推定部の構成を示すブロック図である。
【
図9】
図9は、トルク制御部の構成を示す模式図である。
【
図10A】
図10Aは、上位ECUによって行われる指令値選択処理の手順の一部を示すフローチャートである。
【
図10B】
図10Bは、上位ECUによって行われる指令値選択処理の手順の一部を示すフローチャートである。
【
図11】
図11は、(e
l-e
l_brinker)に対する第1レジスタンス用ばね定数k
re1(e
l,e
l_brinker)の設定例を示すグラフである。
【
図12】
図12は、(e
l-e
l_change)に対する第1ガイド用ばね定数k
gu1(e
l,e
l_change)の設定例を示すグラフである。
【
図13】
図13は、(e
l-e
l_brinker)に対する第2レジスタンス用ばね定数k
re2(e
l,e
l_brinker)の設定例を示すグラフである。
【
図14】
図14は、(e
l-e
l_change)に対する第2ガイド用ばね定数k
gu2(e
l,e
l_change)の設定例を示すグラフである。
【
図15A】
図15Aは、ばね定数設定部によって行われるばね定数設定処理の手順の一部を示すフローチャートである。
【
図15B】
図15Bは、ばね定数設定部によって行われるばね定数設定処理の手順の一部を示すフローチャートである。
【
図16】
図16は、モータ制御用ECUの第1変形例を示すブロック図である。
【
図17】
図17は、主として手動操舵指令値演算部の構成を示すブロック図である。
【
図18】
図18は、第2手動操舵指令値演算部の構成を示すブロック図である。
【
図19】
図19は、(e
l-e
l_brinker)に対する第1レジスタンス用ばね反力T
tb,d_re1(e
l,e
l_brinker)の設定例を示すグラフである。
【
図20】
図20は、(e
l-e
l_change)に対する第1ガイダンス用ばね反力T
tb,d_gu1(e
l,e
l_change)の設定例を示すグラフである。
【
図21】
図21は、(e
l-e
l_brinker)に対する第2レジスタンス用ばね反力T
tb,d_re2(e
l,e
l_brinker)の設定例を示すグラフである。
【
図22】
図22は、(e
l-e
l_change)に対する第2ガイダンス用ばね反力T
tb,d_gu2(e
l,e
l_change)の設定例を示すグラフである。
【
図23A】
図23Aは、ばね定数/目標仮想ばね反力設定部によって行われる定数/反力設定処理の手順の一部を示すフローチャートである。
【
図23B】
図23Bは、ばね定数/目標仮想ばね反力設定部によって行われる定数/反力設定処理の手順の一部を示すフローチャートである。
【
図24A】
図24Aは、ばね定数/目標仮想ばね反力設定部の第1変形例によって行われる定数/反力設定処理の手順の一部を示すフローチャートである。
【
図24B】
図24Bは、ばね定数/目標仮想ばね反力設定部の第1変形例によって行われる定数/反力設定処理の手順の一部を示すフローチャートである。
【発明を実施するための形態】
【0011】
[本開示の実施形態の説明]
本開示の一実施形態は、操舵装置の電動モータを駆動制御するためのモータ制御装置であって、トーションバートルクを用いて手動操舵指令値を演算する手動操舵指令値演算部と、運転支援用の自動操舵指令値に前記手動操舵指令値を加算して、統合角度指令値を演算する統合角度指令値演算部と、前記統合角度指令値に基づいて、前記電動モータを制御するモータ制御部とを含み、運転支援モードにおいて、前記手動操舵指令値演算部は、前記操舵装置のリファレンスモデルの運動方程式を利用して前記手動操舵指令値を演算するように構成されており、ドライバ操作によって方向変更指令が入力された後に所定のレーンチェンジ承認条件が満たされたときに、現在車線に沿って車両を走行させるための自動操舵指令値が、前記方向変更指令に応じた隣接車線に沿って車両を走行させるための自動操舵指令値に、前記自動操舵指令値が切り替えられるようになっており、前記自動操舵指令値が切り替えられる時点を含む切り替え前後期間において、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力を零に設定して、前記手動操舵指令値を演算する、モータ制御装置を提供する。
【0012】
この構成では、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0013】
本開示の一実施形態では、前記運動方程式の仮想ばね反力が、仮想ばねのばね定数を用いて設定される仮想ばね反力である。
【0014】
本開示の一実施形態では、前記運動方程式の仮想ばね反力として、車両基準位置の走行車線に対する横位置によって変化する目標仮想ばね反力が用いられる。
【0015】
本開示の一実施形態では、前記方向変更指令が入力されてから、前記自動操舵指令値が切り替える前まで期間においては、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力として、車両基準位置の走行車線に対する横位置によって変化する目標仮想ばね反力を用いて、前記手動操舵指令値を演算し、少なくとも前記自動操舵指令値が切り替えられた直後においては、前記手動操舵指令値演算部は、前記運動方程式における仮想ばね反力として、仮想ばねのばね定数を用いて設定される仮想ばね反力を用いて、前記手動操舵指令値を演算する。
【0016】
[本開示の実施形態の詳細な説明]
以下では、本開示の実施の形態を、添付図面を参照して詳細に説明する。
【0017】
図1は、本開示の一実施形態に係るモータ制御装置が適用された電動パワーステアリングシステムの概略構成を示す模式図である。
【0018】
電動パワーステアリングシステム1は、車両を操向するための操舵部材としてのステアリングホイール(ハンドル)2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0019】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して相対回転可能に連結されている。
【0020】
トーションバー10の近傍には、トルクセンサ12が配置されている。トルクセンサ12は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられたトーションバートルク(操舵トルク)Ttbを検出する。この実施形態では、トルクセンサ12によって検出されるトーションバートルクTtbは、例えば、右方向への操舵のためのトルクが正の値として検出され、左方向への操舵のためのトルクが負の値として検出され、その絶対値が大きいほどトーションバートルクTtbの大きさが大きくなるものとする。
【0021】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端には、ピニオン16が連結されている。
【0022】
ラック軸14は、車両の左右方向に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0023】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
【0024】
操舵補助機構5は、操舵補助力(アシストトルク)を発生するための電動モータ18と、電動モータ18の出力トルクを増幅して転舵機構4に伝達するための減速機19とを含む。減速機19は、ウォームギヤ20と、このウォームギヤ20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。以下において、減速機19の減速比(ギヤ比)をNで表す場合がある。減速比Nは、ウォームホイール21の回転角θwwに対するウォームギヤ20の回転角θwgの比θwg/θwwとして定義される。
【0025】
ウォームギヤ20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、出力軸9に一体回転可能に連結されている。
【0026】
電動モータ18によってウォームギヤ20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6にモータトルクが付与されるとともにステアリングシャフト6(出力軸9)が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。
【0027】
これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォームギヤ20を回転駆動することによって、電動モータ18による操舵補助や転舵輪3の転舵が可能となる。電動モータ18には、電動モータ18のロータの回転角を検出するための回転角センサ23が設けられている。
【0028】
出力軸9(電動モータ18の駆動対象の一例)に加えられるトルクとしては、電動モータ18によるモータトルクと、モータトルク以外の外乱トルクとがある。モータトルク以外の外乱トルクTlcには、トーションバートルクTtb、路面反力トルク(路面負荷トルク)Trl、摩擦トルクTf等が含まれる。
【0029】
トーションバートルクTtbは、運転者によってステアリングホイール2に加えられる力や、ステアリング慣性によって発生する力等によって、ステアリングホイール2側から出力軸9に加えられるトルクである。
【0030】
路面反力トルクTrlは、タイヤに発生するセルフアライニングトルク、サスペンションやタイヤホイールアライメントによって発生する力、ラックアンドピニオン機構の摩擦力等によって、転舵輪3側からラック軸14を介して出力軸9に加えられるトルクである。
【0031】
車両には、車両の進行方向前方の道路を撮影するCCD(Charge Coupled Device)カメラ25、自車位置を検出するためのGPS(Global Positioning System)26、道路形状や障害物を検出するためのレーダー27、地図情報を記憶した地図情報メモリ28、車速Vを検出する車速センサ29、方向変更入力装置30等が搭載されている。
【0032】
CCDカメラ25、GPS26、レーダー27、地図情報メモリ28、車速センサ29および方向変更入力装置30は、運転支援制御や自動運転制御を行うための上位ECU(ECU:Electronic Control Unit)201に接続されている。上位ECU201は、CCDカメラ25、GPS26、レーダー27、車速センサ29および方向変更入力装置30によって得られる情報および地図情報を元に、周辺環境認識、自車位置推定、経路計画等を行い、操舵や駆動アクチュエータの制御目標値の決定を行う。
【0033】
この実施形態では、上位ECU201は、自動操舵のための自動操舵指令値θadを設定する。この実施形態では、自動操舵制御は、例えば、目標走行ラインに沿って車両を走行させるための制御である。自動操舵指令値θadは、車両を目標走行ライン(車線中央ライン)に沿って自動走行させるための操舵角の目標値である。
【0034】
この実施形態では、自動操舵指令値θadは、出力軸9の中立位置からの回転量(回転角)で表され、中立位置から右操舵方向への回転量が正の値として表され、中立位置から左操舵方向への回転量が負の値として表される。自動操舵指令値θadは、例えば、車速、目標走行ライン(車線中央ライン)に対する横偏差および目標走行ラインに対する車両のヨー偏差に基づいて、設定される。このような自動操舵指令値θadを設定する処理は、周知であるため、ここでは詳細な説明を省略する。
【0035】
なお、自動操舵制御(運転支援制御)は、例えば、車両が車線中央ラインに沿って走行するように操舵を支援するレーン・センタリング・アシスト(LCA)制御、車両が走行車線内を維持するように操舵を支援するレーン・キーピング・アシスト(LKA)制御等であってもよい。
【0036】
この実施形態では、上位ECU201は、自動操舵指令値θadとして、第1自動操舵指令値θad1と、第2自動操舵指令値θad2と、第3自動操舵指令値θad3とを設定する。
【0037】
第1自動操舵指令値θad1は、現在走行中の車線(以下、「現在車線」という。)の中央ラインに沿って車両を走行させるための自動操舵指令値である。第2自動操舵指令値θad2は、現在車線の右隣の車線(以下、「右車線」という。)の中央ラインに沿って車両を走行させるための自動操舵指令値である。第3自動操舵指令値θad3は、現在車線の左隣の車線(以下、「左車線」という。)の中央ラインに沿って車両を走行させるための自動操舵指令値である。つまり、自動操舵指令値θad1,θad2,θad3は、車両をそれぞれの車線の中央ラインに沿って車両を自動走行させるための操舵角の目標値である。
【0038】
なお、現在車線に対する右車線が存在しない場合には、第2自動操舵指令値θad2は設定されない。同様に、現在車線に対する左車線が存在しない場合には、第3自動操舵指令値θad3は設定されない。
【0039】
また、上位ECU201は、現在設定されている目標走行ラインに対する横偏差elを出力する。この実施形態では、横偏差elは、現在設定されている目標走行ライン(車線中央ライン)から車両の基準位置(以下、「車両基準位置」という。)までの距離である。車両基準位置は、車両の幅中央の所定位置に設定されている。
【0040】
この実施形態では、横偏差elは、車両基準位置が目標走行ライン上にある場合には0(el=0)となり、車両基準位置が進行方向に向かって目標走行ラインの右側にある場合には正の値(el>0)となり、車両基準位置が進行方向に向かって目標走行ラインの左側にある場合には負の値(el<0)となる。
【0041】
方向変更入力装置30は、例えば、方向指示器を作動させるためのウインカ-レバーを備えている。ドライバは、右左折または進路変更を行う場合に、ウインカ-レバーを操作することにより、方向変更指令を入力する。ドライバがウインカ-レバーを操作することによって、右方向の方向変更指令または左方向の方向変更指令が入力される。ウインカーレバーが通常位置である方向指示器オフ位置から方向指示器オン位置に倒されると方向変更指令の入力が開始され、ウインカーレバーが方向指示器オフ位置に戻されると方向変更指令の入力が停止される。つまり、方向変更指令は、ウインカーレバーが方向指示器オン位置に倒されている間、継続して入力される。
【0042】
上位ECU201は、方向変更入力装置30によって入力される方向変更指令に応じた方向変更指令INGをモータ制御用ECU202に与える。この実施形態では、モータ制御用ECU202に与えられる方向変更指令INGは、0、1または2の値をとるものとする。ING=0は、ウインカ-レバーが操作されていないことを表す。ING=1は、右方向の方向変更指令が入力されていることを表す。ING=2は、左方向の方向変更指令が入力されていることを表す。
【0043】
上位ECU201は、方向変更指令等を用いて、自動操舵指令値θad1,θad2,θad3のうちの1つを選択するための指令値選択処理を行う。指令値選択処理の詳細については、後述する。指令値選択処理によって選択された自動操舵指令値を、自動操舵指令値θadということにする。
【0044】
また、上位ECU201は、第1モードスイッチ31および第2モードスイッチ32の操作に基づいて、操舵モード(運転モード)が、手動操舵モード(手動運転モード)であるか協調操舵モード(運転支援モード)であるかを示す操舵モード信号Smodeを出力する。具体的には、第1モードスイッチ31がドライバによってオンされたときに、上位ECU201は、操舵モードが手動操舵モードであることを示す操舵モード信号Smodeを出力する。一方、第2モードスイッチ32がドライバによってオンされたときに、上位ECU201は、操舵モードが協調操舵モードであることを示す操舵モード信号Smodeを出力する。
【0045】
自動操舵指令値θad、横偏差el、後述するレーンチェンジ直後の横偏差el_change、車速V、方向変更指令INGおよび操舵モード信号Smodeは、車載ネットワークを介して、モータ制御用ECU202に与えられる。トルクセンサ12によって検出されるトーションバートルクTtb、回転角センサ23の出力信号は、モータ制御用ECU202に入力される。モータ制御用ECU202は、これらの入力信号および上位ECU201から与えられる情報に基づいて、電動モータ18を制御する。
【0046】
図2は、モータ制御用ECU202の電気的構成を説明するためのブロック図である。
【0047】
モータ制御用ECU202は、マイクロコンピュータ50と、マイクロコンピュータ50によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)41と、電動モータ18に流れる電流(以下、「モータ電流Im」という)を検出するための電流検出回路42とを備えている。
【0048】
マイクロコンピュータ50は、CPUおよびメモリ(ROM、RAM、不揮発性メモリなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。
【0049】
この複数の機能処理部には、アシストトルク指令値設定部51と、ばね定数設定部52と、手動操舵指令値演算部53と、統合角度指令値演算部54と、角度制御部55と、第1スイッチ56と、第2スイッチ57と、加算部58と、トルク制御部(電流制御部)59とを含まれる。
【0050】
アシストトルク指令値設定部51は、手動操作に必要なアシストトルクの目標値であるアシストトルク指令値T
asを設定する。アシストトルク指令値設定部51は、上位ECU201から与えられる車速Vおよびトルクセンサ12によって検出されるトーションバートルクT
tbに基づいて、アシストトルク指令値T
asを設定する。トーションバートルクT
tbに対するアシストトルク指令値T
asの設定例は、
図3に示されている。
【0051】
アシストトルク指令値Tasは、電動モータ18から右方向操舵のための操舵補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操舵補助力を発生させるべきときには負の値とされる。アシストトルク指令値Tasは、トーションバートルクTtbの正の値に対しては正をとり、トーションバートルクTtbの負の値に対しては負をとる。
【0052】
アシストトルク指令値Tasは、トーションバートルクTtbの絶対値が大きくなるほどその絶対値が大きくなるように設定されるとともに、車速Vが大きいほどその絶対値が小さくなるように設定される。
【0053】
なお、アシストトルク指令値設定部51は、トーションバートルクTtbに予め設定された定数を乗算することによって、アシストトルク指令値Tasを演算してもよい。
【0054】
ばね定数設定部52は、手動操舵指令値演算部53で用いられる仮想ばねのばね定数ksを設定する。ばね定数設定部52の動作の詳細については後述する。
【0055】
手動操舵指令値演算部53は、協調操舵モード時において、運転者がステアリングホイール2を操作した場合に、当該ステアリングホイール操作に応じた操舵角(より正確には出力軸9の回転角θc)を手動操舵指令値θmdとして設定するために設けられている。手動操舵指令値演算部53は、この実施形態では、トルクセンサ12によって検出されるトーションバートルクTtbと、ばね定数設定部52によって設定されるばね定数ksと、予め設定された仮想ダンパの粘性減衰係数cとを用いて手動操舵指令値θmdを生成する。手動操舵指令値演算部53の詳細については、後述する。
【0056】
統合角度指令値演算部54は、上位ECU201によって設定される自動操舵指令値θadに、手動操舵指令値θmdを加算して、統合角度指令値θcmdを演算する。
【0057】
角度制御部55は、統合角度指令値θcmdに基づいて、モータトルク指令値Tcomを演算する。角度制御部55の詳細については、後述する。
【0058】
第1スイッチ56および第2スイッチ57は、入力される操舵モード信号Smodeに応じて、オンオフされる。具体的には、操舵モードが手動操舵モードであることを示す操舵モード信号Smodeが入力されている場合には、第1スイッチ56がオンにされ、第2スイッチ57がオフにされる。
【0059】
一方、操舵モードが協調操舵モードであることを示す操舵モード信号Smodeが入力されている場合には、第1スイッチ56がオフにされ、第2スイッチ57がオンにされる。
【0060】
第1スイッチ56がオン状態であり、第2スイッチ57がオフ状態である場合には、つまり、操舵モードが手動操舵モードである場合には、加算部58は、アシストトルク指令値Tasを、モータトルク指令値Tm,cmd(=Tas)として出力する。したがって、操舵モードが手動操舵モードである場合には、電動モータ18は、アシストトルク指令値Tasのみに基づいて、駆動制御される。
【0061】
一方、第2スイッチ57がオン状態であり、第1スイッチ56がオフ状態である場合には、つまり、操舵モードが協調操舵モードである場合には、加算部58は、角度制御部55から出力される統合モータトルク指令値Tcomをモータトルク指令値Tm,cmd(=Tcom)として出力する。したがって、操舵モードが協調操舵モードである場合には、電動モータ18は、統合モータトルク指令値Tcomに基づいて、駆動制御される。
【0062】
加算部58の出力であるモータトルク指令値Tm,cmdは、トルク制御部59に与えられる。
【0063】
トルク制御部59は、電動モータ18のモータトルクがモータトルク指令値Tm,cmdに近づくように駆動回路41を駆動する。トルク制御部59の詳細については、後述する。
【0064】
手動操舵指令値演算部53について、詳しく説明する。まず、特許文献2に記載された手動操舵指令値生成部による手動操舵指令値θmdの設定方法について説明する。
【0065】
手動操舵指令値生成部は、
図4のリファレンスEPSモデルを用いて、手動操舵指令値θ
mdを生成する。
図4のリファレンスEPSモデルは、本開示の「操舵装置のリファレンスモデル」の一例である。
【0066】
このリファレンスEPSモデルは、ロアコラムを含む単一慣性モデルである。ロアコラムは、出力軸9およびウォームホイール21に対応する。
図4において、J
mdは、ロアコラムの慣性であり、θ
colはロアコラムの回転角であり、T
tbは、トーションバートルクである。ロアコラムには、トーションバートルクT
tb、電動モータ18から出力軸9に作用するトルクN・T
mおよび路面反力トルク(仮想反力)T
rlが与えられる。
【0067】
路面反力トルクTrlは、仮想ばねのばね定数kおよび仮想ダンパの粘性減衰係数cを用いて、次式(1)で表される。
【0068】
【0069】
ばね定数kおよび粘性減衰係数cは、予め実験、解析等によって求められている。以下において、k・θcolを仮想ばね反力といい、c(dθcol/dt)を仮想ダンパ反力という場合がある。
【0070】
リファレンスEPSモデルの運動方程式は、次式(2)で表される。
【0071】
【0072】
式(2)において、Jmd・d2θcol/dt2は、ロアコラムに作用する慣性モーメントである。
【0073】
手動操舵指令値生成部は、Ttbにトルクセンサ12によって検出されるトーションバートルクTtbを代入し、Tmにアシストトルク指令値設定部51によって設定されるアシストトルク指令値Tasを代入して、式(2)の微分方程式を解くことにより、ロアコラムの回転角θcolを演算する。そして、手動操舵指令値生成部は、得られたロアコラムの回転角θcolを手動操舵指令値θmdとして生成する。このようにして、手動操舵指令値θmdを生成する方法を比較方法ということにする。
【0074】
式(2)の運動方程式は、TmをTasに置き換えるとともに、θcolをθmdに置き換えた運動方程式と等価である。
【0075】
本実施形態では、手動操舵指令値演算部53は、前述したリファレンスEPSモデルの運動方程式(2)を利用して手動操舵指令値θmdを演算する。具体的には、本実施形態では、手動操舵指令値演算部53は、前述したリファレンスEPSモデルの運動方程式(2)を変形した運動方程式に基づいて手動操舵指令値θmdを演算する。
【0076】
図5は、手動操舵指令値演算部53の構成を示すブロック図である。
【0077】
図5において、J
mdは、ロアコラムの慣性(以下、「コラム慣性」という。)である。ロアコラムは、出力軸9およびウォームホイール21に対応している。sは、微分演算子である。θ
mdは、手動操舵指令値であり、比較方法のロアコラムの回転角θ
colに相当する。cは、仮想ダンパの粘性減衰係数であり、予め実験、解析等によって求められている。k
sは、ばね定数設定部52によって設定されるばね定数である。
【0078】
手動操舵指令値演算部53は、加減算部101と、慣性除算部102と、第1積分部103と、第2積分部104と、仮想ダンパ反力演算部105と、仮想ばね反力演算部106とを含む。
【0079】
加減算部101には、トーションバートルクTtbと、仮想ダンパ反力演算部105から与えられる仮想ダンパ反力c・dθmd/dtと、仮想ばね反力演算部106から与えられる仮想ばね反力ks・θmdとが入力する。
【0080】
加減算部101は、トーションバートルクTtbから、仮想ダンパ反力c・dθmd/dtおよび仮想ばね反力ks・θmdを減算する。これにより、加減算部101は、前記式(2)の左辺のJcol・d2θc/dt2に相当する慣性モーメントJmd・d2θmd/dt2(=Ttb-ks・θmd-c・dθmd/dt)を演算する。
【0081】
慣性除算部102は、加減算部101によって演算された慣性モーメントJmd・d2θmd/dt2をコラム慣性Jmdで除算することにより、手動操舵指令値θmdの2階微分値d2θmd/dt2を演算する。
【0082】
第1積分部103は、手動操舵指令値θmdの2階微分値d2θmd/dt2を積分することにより、手動操舵指令値θmdの1階微分値dθmd/dtを演算する。
【0083】
第2積分部104は、手動操舵指令値θmdの1階微分値dθmd/dtを積分することにより、手動操舵指令値θmdを演算する。この手動操舵指令値θmdが、手動操舵指令値演算部53から出力される。
【0084】
仮想ダンパ反力演算部105は、第1積分部103によって演算された手動操舵指令値θmdの1階微分値dθmd/dtに粘性減衰係数cを乗算することにより、仮想ダンパ反力c・dθmd/dtを演算する。この仮想ダンパ反力c・dθmd/dtが、加減算部101にフィードバックされる。
【0085】
仮想ばね反力演算部106は、第2積分部104によって演算された手動操舵指令値θmdに、ばね定数設定部52によって設定されるばね定数ksを乗算することにより、仮想ばね反力ks・θmdを演算する。この仮想ばね反力ks・θmdが、加減算部101にフィードバックされる。
【0086】
つまり、手動操舵指令値演算部53は、次式(3)で示される運動方程式に基づいて、手動操舵指令値θmdを演算する。
【0087】
【0088】
式(3)において、Jmd・d2θmd/dt2は慣性モーメントである。c・dθmd/dtは仮想ダンパ反力である。ks・θmdは仮想ばね反力である。
【0089】
この実施形態では、手動操舵指令値演算部53は、前記式(2)の運動方程式におけるN・Tm(=N・Tas)を0とするとともに、前記式(2)の運動方程式における仮想ばね反力k・θmdとしてks・θmdを用いて、手動操舵指令値θmdを演算する。
【0090】
なお、手動操舵指令値演算部53は、アシストトルク指令値Tasに減速比Nを乗算することによりN・Tasを演算し、得られたN・Tasを加減算部101に与えるようにしてもよい。この場合、加減算部101は、トーションバートルクTtbにN・Tasを加算し、その加算結果から仮想ダンパ反力c・dθmd/dtおよび仮想ばね反力ks・θmdを減算する。この場合には、手動操舵指令値演算部53は、前記式(3)の右辺にN・Tasが加算された運動方程式に基づいて、手動操舵指令値θmdを演算することになる。
【0091】
図6は、角度制御部55の構成を示すブロック図である。
【0092】
角度制御部55は、統合角度指令値θcmdに基づいて、統合モータトルク指令値Tcomを演算する。角度制御部55は、ローパスフィルタ(LPF)61と、フィードバック制御部62と、フィードフォワード制御部63と、外乱トルク推定部64と、トルク加算部65と、外乱トルク補償部66と、第1減速比除算部67と、減速比乗算部68と、回転角演算部69と、第2減速比除算部70とを含む。
【0093】
減速比乗算部68は、加算部58(
図2参照)によって演算されるモータトルク指令値T
m,cmdに減速機19の減速比Nを乗算することにより、モータトルク指令値T
m,cmdを出力軸9(ウォームホイール21)に作用する出力軸トルク指令値N・T
m,cmdに変換する。
【0094】
回転角演算部69は、回転角センサ23の出力信号に基づいて、電動モータ18のロータ回転角θmを演算する。第2減速比除算部70は、回転角演算部69によって演算されるロータ回転角θmを減速比Nで除算することにより、ロータ回転角θmを出力軸9の回転角(実操舵角)θcに換算する。
【0095】
この実施形態では、実操舵角θcは、出力軸9の中立位置からの回転量(回転角)で表され、中立位置から右操舵方向への回転量が正の値として表され、中立位置から左操舵方向への回転量が負の値として表される。
【0096】
ローパスフィルタ61は、統合角度指令値θcmdに対してローパスフィルタ処理を行う。ローパスフィルタ処理後の統合角度指令値θcmdlは、フィードバック制御部62およびフィードフォワード制御部63に与えられる。
【0097】
フィードバック制御部62は、外乱トルク推定部64によって演算される操舵角推定値^θを、ローパスフィルタ処理後の統合角度指令値θcmdlに近づけるために設けられている。フィードバック制御部62は、角度偏差演算部62AとPD制御部62Bとを含む。角度偏差演算部62Aは、統合角度指令値θcmdlと操舵角推定値^θcとの偏差Δθ(=θcmdl-^θc)を演算する。なお、角度偏差演算部62Aは、統合角度指令値θcmdlと、第2減速比除算部70によって演算される実操舵角θcとの偏差(θcmdl-θc)を、角度偏差Δθとして演算するようにしてもよい。
【0098】
PD制御部62Bは、角度偏差演算部62Aによって演算される角度偏差Δθに対してPD演算(比例微分演算)を行うことにより、フィードバック制御トルクTfbを演算する。フィードバック制御トルクTfbは、トルク加算部65に与えられる。
【0099】
フィードフォワード制御部63は、電動パワーステアリングシステム1の慣性による応答性の遅れを補償して、制御の応答性を向上させるために設けられている。フィードフォワード制御部63は、角加速度演算部63Aと慣性乗算部63Bとを含む。角加速度演算部63Aは、統合角度指令値θcmdlを2階微分することにより、目標角加速度d2θcmdl/dt2を演算する。
【0100】
慣性乗算部63Bは、角加速度演算部63Aによって演算された目標角加速度d
2θ
cmdl/dt
2に、電動パワーステアリングシステム1の慣性Jを乗算することにより、フィードフォワード制御トルクT
ff(=J・d
2θ
cmdl/dt
2)を演算する。慣性Jは、例えば、後述する電動パワーステアリングシステム1の物理モデル(
図7参照)から求められる。フィードフォワード制御トルクT
ffは、慣性補償値として、トルク加算部65に与えられる。
【0101】
トルク加算部65は、フィードバック制御トルクTfbにフィードフォワード制御トルクTffを加算することにより、基本トルク指令値(Tfb+Tff)を演算する。
【0102】
外乱トルク推定部64は、プラント(電動モータ18の制御対象)に外乱として発生する非線形なトルク(外乱トルク:モータトルク以外のトルク)を推定するために設けられている。外乱トルク推定部64は、出力軸トルク指令値N・Tm,cmdと、実操舵角θcとに基づいて、外乱トルク(外乱負荷)Tlc、操舵角θおよび操舵角微分値(角速度)dθc/dtを推定する。外乱トルクTlc、操舵角θcおよび操舵角微分値(角速度)dθc/dtの推定値を、それぞれ^Tlc、^θcおよびd^θc/dtで表す。外乱トルク推定部64の詳細については、後述する。
【0103】
外乱トルク推定部64によって演算された外乱トルク推定値^Tlcは、外乱トルク補償値として外乱トルク補償部66に与えられる。外乱トルク推定部64によって演算された操舵角推定値^θcは、角度偏差演算部62Aに与えられる。
【0104】
外乱トルク補償部66は、基本トルク指令値(Tfb+Tff)から外乱トルク推定値^Tlcを減算することにより、統合トルク指令値Tco(=Tfb+Tff-^Tlc)を演算する。これにより、外乱トルクが補償された統合トルク指令値Tco(出力軸9に対するトルク指令値)が得られる。
【0105】
統合トルク指令値T
coは、第1減速比除算部67に与えられる。第1減速比除算部67は、統合トルク指令値T
coを減速比Nで除算することにより、統合モータトルク指令値T
com(電動モータ18に対するトルク指令値)を演算する。この統合モータトルク指令値T
comが、第2スイッチ57(
図2参照)に与えられる。
【0106】
外乱トルク推定部64について詳しく説明する。外乱トルク推定部64は、例えば、
図7に示す電動パワーステアリングシステム1の物理モデル300を使用して、外乱トルクT
lc、操舵角θ
cおよび角速度dθ
c/dtを推定する外乱オブザーバから構成されている。
【0107】
この物理モデル300は、出力軸9および出力軸9に固定されたウォームホイール21を含むプラント(モータ駆動対象の一例)301を含む。プラント301には、ステアリングホイール2からトーションバー10を介してトーションバートルクTtbが与えられるとともに、転舵輪3側から路面反力トルクTrlが与えられる。
【0108】
さらに、プラント301には、ウォームギヤ20を介して出力軸トルク指令値N・Tm,cmdが与えられるとともに、ウォームホイール21とウォームギヤ20との間の摩擦によって摩擦トルクTfが与えられる。
【0109】
プラント301の慣性をJとすると、物理モデル300の慣性についての運動方程式は、次式(4)で表される。
【0110】
【0111】
d2θc/dt2は、プラント301の角加速度である。Nは、減速機19の減速比である。Tlcは、プラント301に与えられるモータトルク以外の外乱トルクを示している。この実施形態では、外乱トルクTlcは、トーションバートルクTtbと路面反力トルクTrlと摩擦トルクTfとの和として示されているが、実際には、外乱トルクTlcはこれら以外のトルクを含んでいる。
【0112】
図7の物理モデル300に対する状態方程式は、次式(5)で表わされる。
【0113】
【0114】
前記式(5)において、xは、状態変数ベクトル、u1は、既知入力ベクトル、u2は、未知入力ベクトル、yは、出力ベクトル(測定値)である。また、前記式(5)において、Aは、システム行列、B1は、第1入力行列、B2は、第2入力行列、Cは、出力行列、Dは、直達行列である。
【0115】
前記状態方程式を、未知入力ベクトルu2を状態の1つとして含めた系に拡張する。拡張系の状態方程式(拡張状態方程式)は、次式(6)で表される。
【0116】
【0117】
前記式(6)において、xeは、拡張系の状態変数ベクトルであり、次式(7)で表される。
【0118】
【0119】
前記式(6)において、Aeは、拡張系のシステム行列、Beは、拡張系の既知入力行列、Ceは、拡張系の出力行列である。
【0120】
前記式(6)の拡張状態方程式から、次式(8)の方程式で表される外乱オブザーバ(拡張状態オブザーバ)が構築される。
【0121】
【0122】
式(8)において、^xeはxeの推定値を表している。また、Lはオブザーバゲインである。また、^yはyの推定値を表している。^xeは、次式(9)で表される。
【0123】
【0124】
式(9)において、^θcはθcの推定値であり、^TlcはTlcの推定値である。
【0125】
外乱トルク推定部64は、前記式(8)の方程式に基づいて状態変数ベクトル^xeを演算する。
【0126】
図8は、外乱トルク推定部64の構成を示すブロック図である。
【0127】
外乱トルク推定部64は、入力ベクトル入力部81と、出力行列乗算部82と、第1加算部83と、ゲイン乗算部84と、入力行列乗算部85と、システム行列乗算部86と、第2加算部87と、積分部88と、状態変数ベクトル出力部89とを含む。
【0128】
減速比乗算部68(
図6参照)によって演算される出力軸トルク指令値N・T
m,cmdは、入力ベクトル入力部81に与えられる。入力ベクトル入力部81は、入力ベクトルu
1を出力する。
【0129】
積分部88の出力が状態変数ベクトル^xe(前記式(9)参照)となる。演算開始時には、状態変数ベクトル^xeとして初期値が与えられる。状態変数ベクトル^xeの初期値は、たとえば0である。
【0130】
システム行列乗算部86は、状態変数ベクトル^xeにシステム行列Aeを乗算する。出力行列乗算部82は、状態変数ベクトル^xeに出力行列Ceを乗算する。
【0131】
第1加算部83は、第2減速比除算部70(
図6参照)によって演算された実操舵角θである出力ベクトル(測定値)yから、出力行列乗算部82の出力(C
e・^x
e)を減算する。つまり、第1加算部83は、出力ベクトルyと出力ベクトル推定値^y(=C
e・^x
e)との差(y-^y)を演算する。ゲイン乗算部84は、第1加算部83の出力(y-^y)にオブザーバゲインL(前記式(8)参照)を乗算する。
【0132】
入力行列乗算部85は、入力ベクトル入力部81から出力される入力ベクトルu1に入力行列Beを乗算する。第2加算部87は、入力行列乗算部85の出力(Be・u1)と、システム行列乗算部86の出力(Ae・^xe)と、ゲイン乗算部84の出力(L(y-^y))とを加算することにより、状態変数ベクトルの微分値d^xe/dtを演算する。積分部88は、第2加算部87の出力(d^xe/dt)を積分することにより、状態変数ベクトル^xeを演算する。状態変数ベクトル出力部89は、状態変数ベクトル^xeに基づいて、外乱トルク推定値^Tlc、操舵角推定値^θcおよび角速度推定値d^θc/dtを演算する。
【0133】
一般的な外乱オブザーバは、前述の拡張状態オブザーバとは異なり、プラントの逆モデルとローパスフィルタとから構成される。プラントの運動方程式は、前述のように式(3)で表される。したがって、プラントの逆モデルは、次式(10)となる。
【0134】
【0135】
一般的な外乱オブザーバへの入力は、J・d2θc/dt2およびN・Tm,cmdであり、実操舵角θcの2階微分値を用いるため、回転角センサ23のノイズの影響を大きく受ける。これに対して、前述の実施形態の拡張状態オブザーバでは、積分型で外乱トルクを推定するため、微分によるノイズ影響を低減できる。
【0136】
なお、外乱トルク推定部64として、プラントの逆モデルとローパスフィルタとから構成される一般的な外乱オブザーバを用いてもよい。
【0137】
図9は、トルク制御部59の構成を示す模式図である。
【0138】
トルク制御部59(
図2参照)は、モータ電流指令値演算部91と、電流偏差演算部92と、PI制御部93と、PWM(Pulse Width Modulation)制御部94とを含む。
【0139】
モータ電流指令値演算部91は、加算部58(
図2参照)によって演算されたモータトルク指令値T
m,cmdを電動モータ18のトルク定数K
tで除算することにより、モータ電流指令値I
m,cmdを演算する。
【0140】
電流偏差演算部92は、モータ電流指令値演算部91によって得られたモータ電流指令値Im,cmdと電流検出回路42によって検出されたモータ電流Imとの偏差ΔI(=Im,cmd-Im)を演算する。
【0141】
PI制御部93は、電流偏差演算部92によって演算された電流偏差ΔIに対するPI演算(比例積分演算)を行うことにより、電動モータ18に流れるモータ電流Iをモータ電流指令値Im,cmdに導くための駆動指令値を生成する。PWM制御部94は、前記駆動指令値に対応するデューティ比のPWM制御信号を生成して、駆動回路41に供給する。これにより、駆動指令値に対応した電力が電動モータ18に供給されることになる。
【0142】
以下においては、操舵モードが協調操舵モードである場合の動作について説明する。
【0143】
上位ECU201によって行われる指令値選択処理について説明する。
【0144】
図10Aおよび
図10Bは、上位ECU201によって行われる指令値選択処理の手順を示すフローチャートである。
【0145】
以下において、目標走行ラインを変更することを「レーンチェンジ」という場合がある。
【0146】
上位ECU201は、まず、現在車線に中央ラインに沿って車両を走行させるための第1自動操舵角θad1を、自動操舵角θadとして設定する(ステップS1)。
【0147】
次に、上位ECU201は、方向変更指令INDが0であるか否かを判別する(ステップS2)。方向変更指令INDが0でなければ(ステップS2:NO)、上位ECU201は、ステップS2に戻る。方向変更指令INDが0であれば(ステップS2:YES)、上位ECU201は、ステップS3に移行する。
【0148】
ステップS3では、上位ECU201は、方向変更指令INDが1であるか否かを判別する。方向変更指令INDが1でなければ(ステップS3:NO)、上位ECU201は、方向変更指令INDが2であるか否かを判別する(ステップS4)。方向変更指令INDが2でなければ(ステップS4:NO)、上位ECU201は、ステップS3に戻る。
【0149】
ステップS3において、方向変更指令INDが1であると判別された場合には(ステップS3:YES)、つまり、右方向の方向変更指令が入力されている場合には、上位ECU201は、ステップS5に移行する。なお、右方向の方向変更指令が入力されている場合には、図示しないが、右方向に応じた方向指示器が点滅される。
【0150】
ステップS5では、上位ECU201は、現在の横偏差elを方向変更指令が入力された時点での横偏差el-brinkerとして記憶するとともに、レーンチェンジを行うか否かの時間的要件を判定するため第1カウント値T1を零に設定する。
【0151】
この後、上位ECU201は、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS6)。第1所定時間が経過していなければ(ステップS6:NO)、上位ECU201は、ステップS6に戻る。
【0152】
ステップS6において第1所定時間が経過したと判別された場合には(ステップS6:YES)、上位ECU201は、第1カウント値T1を1だけインクリメントする(ステップS7)。そして、上位ECU201は、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS8)。
【0153】
第1カウント値T1が第1制限時間Tlim1に達していない場合には(ステップS8:NO)、上位ECU201は、第1レーンチェンジ承認条件が満たされたか否かを判別する(ステップS9)。この実施形態では、0よりも大きな所定値L1を第1閾値とすると、上位ECU201は、(el-el_brinker)≧L1であるという第1レーンチェンジ承認条件が満たされたか否かを判別する。言い換えれば、上位ECU201は、ステップS3で右方向の方向変更指令が入力されたと判別されてから、車両が第1閾値L1以上、右方向に移動したという第1レーンチェンジ承認条件が満たされたか否かを判別する。
【0154】
第1レーンチェンジ承認条件が満たされていない場合((el-el_brinker)<L1)には(ステップS9:NO)、上位ECU201は、ステップS6に戻る。この場合には、ステップS6では、上位ECU201は、前回のステップS7で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0155】
ステップS8において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS8:YES)、上位ECU201は、ステップS1に戻る。この場合には、レーンチェンジは行われない。
【0156】
ステップS9において、第1レーンチェンジ承認条件が満たされている((el-el_brinker)≧L1)と判別された場合には(ステップS9:YES)、上位ECU201は、現在車線の右側の隣接車線(右車線)の中央ラインに沿って車両を走行させるための第2自動操舵角θad2を、自動操舵角θadとして選択する(ステップS10)。これにより、自動操舵指令値θadが切り替えられる。つまり、レーンチェンジが行われる。
【0157】
そして、上位ECU201は、右車線を現在車線に設定し、新たに設定された現在車線の左側の車線を左車線に設定し、新たに設定された現在車線の右側の車線を右車線に設定する(ステップS11)。つまり、現在車線、左車線および右車線が更新される。
【0158】
また、上位ECU201は、モータ制御用ECU202に与える横偏差elを、更新後の現在車線の中央ラインに対する横偏差elに切り替える(ステップS12)。そして、上位ECU201は、切り替え直後の横偏差elをレーンチェンジ直後の横偏差el_changeとして記憶する(ステップS13)。
【0159】
上位ECU201は、更新後の現在車線の中央ラインに対する横偏差elを最初にモータ制御用ECU202に送信する際には、横偏差elのみならずレーンチェンジ直後の横偏差el_changeをもモータ制御用ECU202に送信する。そして、上位ECU201は、ステップS1に戻る。
【0160】
ステップS4において、方向変更指令INDが2であると判別された場合には(ステップS4:YES)、つまり、左方向の方向変更指令が入力されている場合には、上位ECU201は、ステップS14に移行する。なお、左方向の方向変更指令が入力されている場合には、図示しないが、左方向に応じた方向指示器が点滅される。
【0161】
ステップS14では、上位ECU201は、現在の横偏差elを方向変更指令が入力された時点での横偏差el_brinkerとして記憶するとともに、第1カウント値T1を零に設定する。
【0162】
この後、上位ECU201は、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS15)。第1所定時間が経過していなければ(ステップS15:NO)、上位ECU201は、ステップS15に戻る。
【0163】
ステップS15において第1所定時間が経過したと判別された場合には(ステップS15:YES)、上位ECU201は、第1カウント値T1を1だけインクリメントする(ステップS16)。そして、上位ECU201は、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS17)。
【0164】
第1カウント値T1が第1制限時間Tlim1に達していない場合には(ステップS17:NO)、上位ECU201は、第2レーンチェンジ承認条件が満たされたか否かを判別する(ステップS18)。この実施形態では、上位ECU201は、(el-el_brinker)≦-L1であるという第2レーンチェンジ承認条件が満たされたか否かを判別する。言い換えれば、上位ECU201は、ステップS3で左方向の方向変更指令が入力されたと判別されてから、車両が第1閾値L1以上、左方向に移動したという第2レーンチェンジ承認条件が満たされたか否かを判別する。
【0165】
第2レーンチェンジ承認条件が満たされていない場合((el-el_brinker)>-L1)には(ステップS18:NO)、上位ECU201は、ステップS15に戻る。この場合には、ステップS15では、上位ECU201は、前回のステップS16で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0166】
ステップS17において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS17:YES)、上位ECU201は、ステップS1に戻る。この場合には、レーンチェンジは行われない。
【0167】
ステップS18において、第2レーンチェンジ承認条件が満たされている((el-el_brinker)≦-L1)と判別された場合には(ステップS18:YES)、上位ECU201は、現在車線の左側の隣接車線(左車線)の中央ラインに沿って車両を走行させるための第3自動操舵角θad3を、自動操舵角θadとして選択する(ステップS19)。これにより、自動操舵指令値θadが切り替えられる。つまり、レーンチェンジが行われる。
【0168】
そして、上位ECU201は、左車線を現在車線に設定し、新たに設定された現在車線の左側の車線を左車線に設定し、新たに設定された現在車線の右側の車線を右車線に設定する(ステップS20)。つまり、現在車線、左車線および右車線が更新される。
【0169】
また、上位ECU201は、モータ制御用ECU202に与える横偏差elを、更新後の現在車線の中央ラインに対する横偏差elに切り替える(ステップS21)。そして、上位ECU201は、切り替え直後の横偏差elを、レーンチェンジ直後の横偏差el_changeとして記憶する(ステップS22)。
【0170】
上位ECU201は、更新後の現在車線の中央ラインに対する横偏差elを最初にモータ制御用ECU202に送信する際には、横偏差elのみならずレーンチェンジ直後の横偏差el_changeをもモータ制御用ECU202に送信する。そして、上位ECU201は、ステップS1に戻る。
【0171】
なお、図示していないが、ステップS3において右方向の方向変更指令が入力されてから、ステップS9で肯定判定(YES)されるかまたはステップS8で肯定判定(YES)されるまでに、トーションバートルクTtbの方向が右方向から左方向に変化した場合には、上位ECU201は、ステップS1に戻る。つまり、右方向の方向変更指令が入力された後に、ステップS9またはステップS8で肯定判定されるまでに、ドライバが左方向にハンドルを操作した場合には、レーンチェンジは行われない。
【0172】
同様に、ステップS4において左方向の方向変更指令が入力されてから、ステップS18またはステップS17で肯定判定されるまでに、トーションバートルクTtbの方向が左方向から右方向に変化した場合には、上位ECU201は、ステップS1に戻る。つまり、左方向の方向変更指令が入力された後に、ステップS18またはステップS17で肯定判定されるまでに、ドライバが右方向にハンドルを操作した場合には、レーンチェンジは行われない。
【0173】
ばね定数設定部52について、詳しく説明する。ばね定数設定部52は、手動操舵指令値演算部53で用いられるばね定数ksを設定するためのばね定数設定処理を行う。
【0174】
ばね定数設定部52によって設定されるばね定数ksとしては、LCA用ばね定数kLCA、第1レジスタンス用ばね定数kre1(el,el_brinker)、第1ガイダンス用ばね定数kgu1(el,el_change)、第2レジスタンス用ばね定数kre2(el,el_brinker)および第2ガイダンス用ばね定数kgu2(el,el_change)がある。
【0175】
LCA用ばね定数kLCAは、レーン・センタリング・アシスト制御用のばね定数であり、協調操舵モードで使用される基本的なばね定数である。LCA用ばね定数kLCAは、予め設定された固定値であり、メモリ(不揮発性メモリ)に記憶されている。
【0176】
第1レジスタンス用ばね定数kre1(el,el_brinker)は、右方向の方向変更指令が入力されてから、目標走行車線が現在車線から右車線に切り替えられるまでの期間(以下、「第1レジスタンス期間」という。)において、採用されるばね定数である。第1レジスタンス用ばね定数kre1(el,el_brinker)は、右方向の方向変更指令が入力されたときの横偏差el_brinkerおよび横偏差elに基づいて設定される。
【0177】
図11は、(e
l-e
l_brinker)に対する第1レジスタンス用ばね定数k
re1(e
l,e
l_brinker)の設定例を示すグラフである。
【0178】
第1レジスタンス用ばね定数kre1(el,el_brinker)は、(el-el_brinker)が0以上でかつ所定値A(A>0)未満の範囲においては、0以上の第1所定値ks_1に設定される。第1レジスタンス用ばね定数kre1(el,el_brinker)は、(el-el_brinker)がA以上でかつAよりも大きな所定値B未満の範囲においては、ks_1から0まで、(el-el_brinker)が大きくなるほど小さくなるように設定される。(el-el_brinker)がB以上の範囲では、第1レジスタンスト用ばね定数kre1(el,el_brinker)は、0に設定される。
【0179】
所定値Bは、第1閾値L1よりも小さな値に設定される。したがって、(el-el_brinker)がBに達してから第1閾値L1に達するまでの期間においては、第1レジスタンス用ばね定数kre1(el,el_brinker)は0に設定される。言い換えれば、右方向の方向変更指令の入力後に車両がBだけ右方向に移動してからレーンチェンジが行われるまでは、第1レジスタンス用ばね定数kre1(el,el_brinker)は0に設定される。
【0180】
図11に示される、(e
l-e
l_brinker)に対する第1レジスタンス用ばね定数k
re1(e
l,e
l_brinker)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0181】
第1ガイダンス用ばね定数kgu1(el,el_change)は、目標走行車線が現在車線から右車線に切り替えられてから、車線基準位置と目標走行車線切替後の現在車線の中央ラインまでの距離が第2閾値L2(ただし、L2>0)以下になるまでの期間(以下、「第1ガイダンス期間」という。)において、採用されるばね定数である。第1ガイダンス用ばね定数kgu1(el,el_change)は、目標走行車線が現在車線から右車線に切り替えられた直後に設定されるレーンチェンジ直後の横偏差el_changeおよび切り替え後の現在車線に対する横偏差elに基づいて設定される。
【0182】
図12は、(e
l-e
l_change)に対する第1ガイダンス用ばね定数k
gu1(e
l,e
l_change)の設定例を示すグラフである。
【0183】
第1ガイダンス用ばね定数kgu1(el,el_change)は、(el-el_change)が0以上でかつ所定値C(C>0)未満の範囲においては、0に設定される。第1ガイダンス用ばね定数kgu1(el,el_change)は、(el-el_change)がC以上でかつCよりも大きな所定値D未満の範囲においては、0から第2所定値ks_2まで、(el-el_change)が大きくなるほど大きくなるように設定される。この実施形態では、第2所定値ks_2は、第1所定値ks_1よりも小さい値に設定されている。(el-el_change)がD以上の範囲では、第1ガイダンス用ばね定数kgu1(el,el_change)はks_2に設定される。
【0184】
所定値Cは、第2閾値L2よりも小さな値に設定される。したがって、目標走行車線が現在車線から右車線に切り替えられてから、(el-el_change)が所定値Cに達するまでは、第1ガイダンス用ばね定数kgu1(el,el_change)は0に設定される。言い換えれば、右車線へのレーンチェンジが行われてから、車両が右方向にCだけ移動するまでは、第1ガイダンス用ばね定数kgu1(el,el_change)は0に設定される。
【0185】
図12に示される、(e
l-e
l_change)に対する第1ガイダンス用ばね定数k
gu1(e
l,e
l_change)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0186】
第2レジスタンス用ばね定数kre2(el,el_brinker)は、左方向の方向変更指令が入力されてから、目標走行車線が現在車線から左車線に切り替えられるまでの期間(以下、「第2レジスタンス期間」という。)において、採用されるばね定数である。第2レジスタンス用ばね定数kre2(el,el_brinker)は、左方向の方向変更指令が入力されたときの横偏差el_brinkerおよび横偏差elに基づいて設定される。
【0187】
図13は、(e
l-e
l_brinker)に対する第2レジスタンス用ばね定数k
re2(e
l,e
l_brinker)の設定例を示すグラフである。
【0188】
第2レジスタンス用ばね定数kre2(el,el_brinker)は、(el-el_brinker)が0以下でかつ-Aよりも大きい範囲においては、ks_1に設定される。第2レジスタンス用ばね定数kre2(el,el_brinker)は、(el-el_brinker)が-A以下でかつ-Bよりも大きい範囲においては、ks_1から0まで、(el-el_brinker)が小さくなるほど小さくなるように設定される。(el-el_brinker)が-B以下の範囲では、第2レジスタンス用ばね定数kre2(el,el_brinker)は0に設定される。
【0189】
-Bは、-Lよりも大きな値となる。したがって、(el-el_brinker)が-Bに達してから-Lに達するまでの期間においては、第2レジスタンス用ばね定数kre2(el,el_brinker)は0に設定される。言い換えれば、左方向の方向変更指令の入力後に車両がBだけ左方向に移動してからレーンチェンジが行われるまでは、第2レジスタンス用ばね定数kre2(el,el_brinker)は0に設定される。
【0190】
図13に示される、(e
l-e
l_brinker)に対する第2レジスタンス用ばね定数k
re2(e
l,e
l_brinker)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0191】
第2ガイダンス用ばね定数kgu2(el,el_change)は、目標走行車線が現在車線から左車線に切り替えられてから、車線基準位置と目標走行車線切替後の現在車線の中央までの距離が第2閾値L2(ただし、L2>0)になるまでの期間(以下、「第2ガイダンス期間」という。)において採用されるばね定数である。第2ガイダンス用ばね定数kgu2(el,el_change)は、目標走行車線が現在車線から左車線に切り替えられた直後に設定されるレーンチェンジ直後の横偏差el_changeおよび切り替え後の現在車線に対する横偏差elに基づいて設定される。
【0192】
図14は、(e
l-e
l_change)に対する第2ガイダンス用ばね定数k
gu2(e
l,e
l_change)の設定例を示すグラフである。
【0193】
第2ガイダンス用ばね定数kgu2(el,el_change)は、(el-el_change)が0以下でかつ-Cよりも大きい範囲においては、0に設定される。第2ガイダンス用ばね定数kgu2(el,el_change)は、(el-el_change)が-C以下でかつ-Dよりも大きい範囲においては、0からks_2まで、(el-el_change)が小さくなるほど大きくなるように設定される。(el-el_change)が-D以下の範囲では、第2ガイダンス用ばね定数kgu2(el,el_change)はks_2に設定される。
【0194】
-Cは、-L2よりも大きな値に設定される。したがって、目標走行車線が現在車線から左車線に切り替えられてから、(el-el_change)が-Cに達するまでは、第2ガイダンス用ばね定数kgu2(el,el_change)は0に設定される。言い換えれば、左車線へのレーンチェンジが行われてから、車両が左方向にCだけ移動するまでは、第2ガイダンス用ばね定数kgu2(el,el_change)は0に設定される。
【0195】
図14に示される、(e
l-e
l_change)に対する第2ガイダンス用ばね定数k
gu2(e
l,e
l_change)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0196】
図15Aおよび
図15Bは、ばね定数設定部52によって行われるばね定数設定処理の手順を示すフローチャートである。
【0197】
ばね定数設定部52は、まず、LCA用ばね定数kLCAを、ばね定数ksとして設定する(ステップS31)。したがって、手動操舵指令値演算部53は、式(3)のばね定数ksとしてLCA用ばね定数kLCAを用いて手動操舵指令値θmdを演算する。
【0198】
次に、ばね定数設定部52は、方向変更指令INDが0であるか否かを判別する(ステップS32)。方向変更指令INDが0でなければ(ステップS32:NO)、ばね定数設定部52は、ステップS32に戻る。方向変更指令INDが0であれば(ステップS32:YES)、ばね定数設定部52は、ステップS33に移行する。
【0199】
ステップS33では、ばね定数設定部52は、方向変更指令INDが1であるか否かを判別する。方向変更指令INDが1でなければ(ステップS33:NO)、ばね定数設定部52は、方向変更指令INDが2であるか否かを判別する(ステップS34)。方向変更指令INDが2でなければ(ステップS34:NO)、ばね定数設定部52は、ステップS32に戻る。
【0200】
ステップS33において、方向変更指令INDが1であると判別された場合には(ステップS33:YES)、つまり、右方向の方向変更指令が入力されている場合には、ばね定数設定部52は、ステップS35に移行する。
【0201】
ステップS35では、ばね定数設定部52は、現在の横偏差elを方向変更指令が入力された時点での横偏差el-brinkerとして記憶する。そして、ばね定数設定部52は、第1レジスタンス用ばね定数kre1(el,el_brinker)を、ばね定数ksとして設定するとともに、第1制限時間Tlim1を計時するための第1カウント値T1を零に設定する(ステップS36)。
【0202】
第1レジスタンス用ばね定数k
re1(e
l,e
l_brinker)は、ステップS35で設定された横偏差e
l-brinkerと現在の横偏差e
lとを用いて演算される。なお、上位ECU201は、
図10AのステップS5で設定されたe
l_brinkerを、モータ制御用ECU202に送信するようにしてもよい。その場合には、ばね定数設定部52は、上位ECU201から送信されてくるe
l_brinkerを、e
l_brinkerとして用いてもよい。
【0203】
これにより、手動操舵指令値演算部53は、式(3)のばね定数ksとして第1レジスタンス用ばね定数kre1(el,el_brinker)を用いて手動操舵指令値θmdを演算する。
【0204】
この後、ばね定数設定部52は、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS37)。第1所定時間が経過していなければ(ステップS37:NO)、ばね定数設定部52は、ステップS37に戻る。
【0205】
ステップS37において第1所定時間が経過したと判別された場合には(ステップS37:YES)、ばね定数設定部52は、第1カウント値T1を1だけインクリメントする(ステップS38)。そして、ばね定数設定部52は、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS39)。
【0206】
カウント値Tが第1制限時間Tlim1に達していない場合には(ステップS39:NO)、ばね定数設定部52は、第1レーンチェンジ承認条件が満たされたか否かを判別する(ステップS40)。この実施形態では、ばね定数設定部52は、(el-el_brinker)≧L1であるという第1レーンチェンジ承認条件が満たされたか否かを判別する。
【0207】
第1レーンチェンジ承認条件が満たされていない場合((el-el_brinker)<L1)には(ステップS40:NO)、ばね定数設定部52は、ステップS37に戻る。この場合には、ステップS37では、ばね定数設定部52は、前回のステップS38で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0208】
ステップS39において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS39:YES)、ばね定数設定部52は、ステップS31に戻る。この場合には、上位ECU201によるレーンチェンジは行われない。
【0209】
ステップS40において、第1レーンチェンジ承認条件が満たされている((el-el_brinker)≧L1)と判別された場合には(ステップS40:YES)、ばね定数設定部52は、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeを、上位ECU201から取得する(ステップS41)。
【0210】
具体的には、ばね定数設定部52は、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeが、上位ECU201から送信されてくるまで待機する。そして、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeが上位ECU201から送信されてくると、それらを取得する。
【0211】
この後、ばね定数設定部52は、第1ガイダンス用ばね定数kgu1(el,el_change)を、ばね定数ksとして設定する(ステップS42)。第1ガイダンス用ばね定数kgu1(el,el_change)は、現在の横偏差elおよびレーンチェンジ直後の横偏差el_changeに基づいて設定される。これにより、手動操舵指令値演算部53は、第1ガイダンス用ばね定数kgu1(el,el_change)を、式(3)のばね定数ksとして用いて手動操舵指令値θmdを演算する。このような手動操舵指令値演算部53の動作を第1ガイダンス動作ということにする。
【0212】
次に、ばね定数設定部52は、第1ガイダンス動作をキャンセルするか否かを判定するための第2制限時間Tlim2を計時するための第2カウント値T2を零に設定する(ステップS43)。
【0213】
この後、ばね定数設定部52は、第2カウント値T2を更新するための第2所定時間が経過したか否かを判定する(ステップS44)。第2所定時間が経過していなければ(ステップS44:NO)、ばね定数設定部52は、ステップS44に戻る。
【0214】
ステップS44において第2所定時間が経過したと判別された場合には(ステップS44:YES)、ばね定数設定部52は、第2カウント値T2を1だけインクリメントする(ステップS45)。そして、ばね定数設定部52は、第2カウント値T2が第2制限時間Tlim2に達したか否かを判別する(ステップS46)。
【0215】
第2カウント値T2が第2制限時間Tlim2に達していない場合には(ステップS46:NO)、ばね定数設定部52は、第1ガイダンス動作終了条件が満たされたか否かを判別する(ステップS47)。この実施形態では、ばね定数設定部52は、el≧-L2であるという第1ガイダンス動作終了条件が満たされたか否かを判別する。言い換えれば、ばね定数設定部52は、目標走行車線が現在車線から右車線に切り替えられてから、車両基準位置が切り替え後の現在車線の中央ラインから第2閾値L2までの範囲内に到達したという第1ガイダンス動作終了条件が満たされたか否かを判別する。
【0216】
第1ガイダンス動作終了条件が満たされていない場合には(ステップS47:NO)、ばね定数設定部52は、ステップS44に戻る。この場合には、ステップS44では、ばね定数設定部52は、前回のステップS45で第2カウント値T2が1だけインクリメントされた時点から第2所定時間が経過したか否かを判別する。
【0217】
ステップS46において、第2カウント値T2が第2制限時間Tlim2に達したと判別された場合には(ステップS46:YES)、ばね定数設定部52は、ステップS31に戻る。
【0218】
ステップS47において、第1ガイダンス動作終了条件が満たされていると判別された場合には(ステップS47:YES)、ばね定数設定部52は、ステップS31に戻る。
【0219】
ステップS34において、方向変更指令INDが2であると判別された場合には(ステップS34:YES)、つまり、左方向の方向変更指令が入力されている場合には、ばね定数設定部52は、ステップS48に移行する。
【0220】
ステップS48では、ばね定数設定部52は、現在の横偏差elを、方向変更指令が入力された時点での横偏差el-brinkerとして記憶する。そして、ばね定数設定部52は、第2レジスタンス用ばね定数kre2(el,el_brinker)を、ばね定数ksとして設定するとともに、第1制限時間Tlim1を計時するための第1カウント値T1を零に設定する(ステップS49)。
【0221】
第2レジスタンス用ばね定数kre2(el,el_brinker)は、ステップS48で設定された横偏差el-brinkerと現在の横偏差elとを用いて演算される。el_brinkerは、前述したように、上位ECU201から取得するようにしてもよい。
【0222】
これにより、手動操舵指令値演算部53は、式(3)のばね定数ksとして第2レジスタンス用ばね定数kre2(el,el_brinker)を用いて手動操舵指令値θmdを演算する。
【0223】
この後、ばね定数設定部52は、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS50)。第1所定時間が経過していなければ(ステップS50:NO)、ばね定数設定部52は、ステップS50に戻る。
【0224】
ステップS50において第1所定時間が経過したと判別された場合には(ステップS50:YES)、ばね定数設定部52は、第1カウント値T1を1だけインクリメントする(ステップS51)。そして、ばね定数設定部52は、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS52)。
【0225】
カウント値Tが第1制限時間Tlimに達していない場合には(ステップS52:NO)、ばね定数設定部52は、第2レーンチェンジ承認条件が満たされたか否かを判別する(ステップS53)。この実施形態では、ばね定数設定部52は、(el-el_brinker)≦-L1であるという第2レーンチェンジ承認条件が満たされたか否かを判別する。
【0226】
第2レーンチェンジ承認条件が満たされていない場合((el-el_brinker)>-L1)には(ステップS53:NO)、ばね定数設定部52は、ステップS50に戻る。この場合には、ステップS50では、ばね定数設定部52は、前回のステップS51で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0227】
ステップS52において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS52:YES)、ばね定数設定部52は、ステップS31に戻る。この場合には、上位ECU201によるレーンチェンジは行われない。
【0228】
ステップS53において、第2レーンチェンジ承認条件が満たされている((el-el_brinker)≦-L1)と判別された場合には(ステップS53:YES)、ばね定数設定部52は、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeを、上位ECU201から取得する(ステップS54)。
【0229】
具体的には、ばね定数設定部52は、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeが、上位ECU201から送信されてくるまで待機する。そして、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeが上位ECU201から送信されてくると、それらを取得する。
【0230】
この後、ばね定数設定部52は、第2ガイダンス用ばね定数kgu2(el,el_change)を、ばね定数ksとして設定する(ステップS55)。第2ガイダンス用ばね定数kgu2(el,el_change)は、現在の横偏差elおよびレーンチェンジ直後の横偏差el_changeに基づいて設定される。これにより、手動操舵指令値演算部53は、第2ガイダンス用ばね定数kgu2(el,el_change)を、式(3)のばね定数ksとして用いて手動操舵指令値θmdを演算する。このような手動操舵指令値演算部53の動作を第2ガイダンス動作ということにする。
【0231】
次に、ばね定数設定部52は、第2ガイダンス動作をキャンセルするか否かを判定するための第2制限時間Tlim2を計時するための第2カウント値T2を零に設定する(ステップS56)。
【0232】
この後、ばね定数設定部52は、第2カウント値T2を更新するための第2所定時間が経過したか否かを判定する(ステップS57)。第2所定時間が経過していなければ(ステップS57:NO)、ばね定数設定部52は、ステップS57に戻る。
【0233】
ステップS57において第2所定時間が経過したと判別された場合には(ステップS57:YES)、ばね定数設定部52は、第2カウント値T2を1だけインクリメントする(ステップS58)。そして、ばね定数設定部52は、第2カウント値T2が第2制限時間Tlim2に達したか否かを判別する(ステップS59)。
【0234】
第2カウント値T2が第2制限時間Tlim2に達していない場合には(ステップS59:NO)、ばね定数設定部52は、第2ガイダンス動作終了条件が満たされたか否かを判別する(ステップS60)。この実施形態では、ばね定数設定部52は、el≦L2であるという第2ガイダンス動作終了条件が満たされたか否かを判別する。言い換えれば、ばね定数設定部52は、目標走行車線が現在車線から左車線に切り替えられてから、車両基準位置が切り替え後の現在車線の中央ラインから第2閾値L2までの範囲内に到達したという第2ガイダンス動作終了条件が満たされたか否かを判別する。
【0235】
第2ガイダンス動作終了条件が満たされていない場合には(ステップS60:NO)、ばね定数設定部52は、ステップS57に戻る。この場合には、ステップS57では、ばね定数設定部52は、前回のステップS58で第2カウント値T2が1だけインクリメントされた時点から第2所定時間が経過したか否かを判別する。
【0236】
ステップS59において、第2カウント値T2が第2制限時間Tlim2に達したと判別された場合には(ステップS59:YES)、ばね定数設定部52は、ステップS31に戻る。
【0237】
ステップS60において、第2ガイダンス動作終了条件が満たされていると判別された場合には(ステップS60:YES)、ばね定数設定部52は、ステップS31に戻る。
【0238】
前述の実施形態では、目標走行車線が現在車線から右車線に切り替えられる場合の動作は次のようになる。ばね定数ksとしてLCA用ばね定数kLCAが設定されている場合に、右方向の方向変更指令が入力されると、LCA用ばね定数kLCAから第1レジスタンス用ばね定数kre1(el,el_brinker)にばね定数ksが切り替えられる。
【0239】
第1レジスタンス用ばね定数k
re1(e
l,e
l_brinker)は、
図11に示されるような特性を有しているので、仮想ばね反力の絶対値|k
s・θ
md|(=|k
re1(e
l,e
l_brinker)・θ
md|)は、右方向の方向変更指令が入力された直後に比較的大きな値となり、(e
l-e
l_brinker)が所定値Aに達すると低下していく。そして、仮想ばね反力の絶対値|k
s・θ
md|(=|k
re1(e
l,e
l_brinker)・θ
md|)は、(e
l-e
l_brinker)が所定値Bに達すると零となり、(e
l-e
l_brinker)がB以上でも零を保持する。
【0240】
(el-el_brinker)がBに達した後に車両が右方向に移動し、第1レーンチェンジ承認条件((el-el_brinker)≧L1)が満たされると、ばね定数ksが第1レジスタンス用ばね定数kre1(el,el_brinker)から第1ガイダンス用ばね定数kgu1(el,el_change)に切り替えられる。
【0241】
第1ガイダンス用ばね定数k
gu1(e
l,e
l_change)は、
図12に示されるような特性を有しているので、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu1(e
l,e
l_change)・θ
md|)は、レーンチェンジ後も、零を維持する。そして、(e
l-e
l_brinker)が所定値Cに達すると、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu1(e
l,e
l_change)・θ
md|)は、徐々に大きくなる。そして、(e
l-e
l_brinker)が所定値Dに達すると、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu1(e
l,e
l_change)・θ
md|)はほぼ一定となる。
【0242】
(el-el_brinker)が所定値Cに達した後に車両が右方向に移動し、第1ガイダンス動作終了条件(el≧-L2)が満たされると、ばね定数ksが第1ガイダンス用ばね定数kgu1(el,el_change)からLCA用ばね定数kLCAに切り替えられる。
【0243】
このように目標走行車線が現在車線から右車線に切り替えられる場合には、目標走行車線が切り替えられる時点を含む切り替え前後期間において、前記式(3)の運動方程式における仮想ばね反力ks・θmdが零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0244】
目標走行車線が現在車線から左車線に切り替えられる場合の動作は次のようになる。ばね定数ksとしてLCA用ばね定数kLCAが設定されている場合に、左方向の方向変更指令が入力されると、ばね定数ksがLCA用ばね定数kLCAから第2レジスタンス用ばね定数kre2(el,el_brinker)に切り替えられる。
【0245】
第2レジスタンス用ばね定数k
re2(e
l,e
l_brinker)は、
図13に示されるような特性を有しているので、仮想ばね反力の絶対値|k
s・θ
md|(=|k
re2(e
l,e
l_brinker)・θ
md|)は、左方向の方向変更指令が入力された直後に比較的大きな値となり、(e
l-e
l_brinker)が-Aに達すると低下していく。そして、仮想ばね反力の絶対値|k
s・θ
md|(=|k
re2(e
l,e
l_brinker)・θ
md|)は、(e
l-e
l_brinker)が-Bに達すると零となり、(e
l-e
l_brinker)が-B以下でも零を保持する。
【0246】
(el-el_brinker)が-Bに達した後に車両が左方向に移動し、第2レーンチェンジ承認条件((el-el_brinker)≦-L1)が満たされると、ばね定数ksが第2レジスタンス用ばね定数kre2(el,el_brinker)から第2ガイダンス用ばね定数kgu2(el,el_change)に切り替えられる。
【0247】
第2ガイダンス用ばね定数k
gu2(e
l,e
l_change)は、
図14に示されるような特性を有しているので、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu2(e
l,e
l_change)・θ
md|)は、レーンチェンジ後も、零を維持する。そして、(e
l-e
l_brinker)が所定値-Cに達すると、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu2(e
l,e
l_change)・θ
md|)は、徐々に大きくなる。そして、(e
l-e
l_brinker)が-Dに達すると、仮想ばね反力の絶対値|k
s・θ
md|(=|k
gu2(e
l,e
l_change)・θ
md|)はほぼ一定となる。
【0248】
(el-el_brinker)が-Cに達した後に車両が左方向に移動し、第2ガイダンス動作終了条件(el≦L2)が満たされると、ばね定数ksが第2ガイダンス用ばね定数kgu2(el,el_change)からLCA用ばね定数kLCAに切り替えられる。
【0249】
目標走行車線が現在車線から左車線に切り替えられる場合にも、目標走行車線が切り替えられる時点を含む切り替え前後期間において、前記式(3)の運動方程式における仮想ばね反力ks・θmdが零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0250】
以下、モータ制御用ECU202の変形例について説明する。以下のモータ制御用ECU202の変形例においても、手動操舵モード時の動作は前述の実施形態と同様であるので、主として協調操舵モード時の動作について説明する。
【0251】
図16は、モータ制御用ECUの変形例を示すブロック図である。
図16において、前述の
図2の各部に対応する部分には、
図2と同じ符号を付して示す。
【0252】
図16のモータ制御用ECU202Aでは、以下の(1),(2)において、
図2のモータ制御用ECU202と異なっている。
(1)手動操舵指令値演算部53Aの構成が
図2の手動操舵指令値演算部53の構成と異なる。
(2)
図2のばね定数設定部52の代わりに、ばね定数/目標仮想ばね反力設定部(以下、「定数/反力設定部52A」という。)が用いられている。
【0253】
図17は、主として手動操舵指令値演算部53Aの構成を示すブロック図である。
【0254】
手動操舵指令値演算部53Aは、第1手動操舵指令値θmd1を演算する第1手動操舵指令値演算部501と、第2手動操舵指令値θmd2を演算する第2手動操舵指令値演算部502と、第1手動操舵指令値θmd1および第2手動操舵指令値θmd2のいずれか一方を選択して、手動操舵指令値θmdとして出力する指令値切替部503とを含む。
【0255】
第1手動操舵指令値演算部501の構成は、
図5の手動操舵指令値演算部53の構成と同じである。ただし、ばね定数k
sは、定数/反力設定部52Aによって設定される。第1手動操舵指令値演算部501は、
図5の手動操舵指令値演算部53の第2積分部104から出力される手動操舵指令値θ
mdを、第1手動操舵指令値θ
md1として、出力する。
【0256】
図18は、第2手動操舵指令値演算部502の構成を示すブロック図である。
【0257】
図18において、T
tb,dは、定数/反力設定部52Aよって設定される目標仮想ばね反力である。
【0258】
第2手動操舵指令値演算部502は、加減算部111と、慣性除算部112と、第1積分部113と、第2積分部114と、仮想ダンパ反力演算部115とを含む。第2手動操舵指令値演算部502は、
図5の仮想ばね反力演算部106を備えていない。
【0259】
加減算部111には、トーションバートルクTtbと、定数/反力設定部52Aよって設定される目標仮想ばね反力Ttb,dと、仮想ダンパ反力演算部115から与えられる仮想ダンパ反力c・dθmd/dtとが入力する。
【0260】
加減算部111は、トーションバートルクTtbから、目標仮想ばね反力Ttb,dおよび仮想ダンパ反力cmd・dθmd/dtを減算する。これにより、加減算部111は、前記式(2)の左辺のJcol・d2θc/dt2に相当する慣性モーメントJmd・d2θmd/dt2(=Ttb-c・dθmd/dt-Ttb,d)を演算する。
【0261】
慣性除算部112は、加減算部111によって演算された慣性モーメントJmd・d2θmd/dt2をコラム慣性Jmdで除算することにより、手動操舵指令値θmdの2階微分値d2θmd/dt2を演算する。
【0262】
第1積分部113は、手動操舵指令値θmdの2階微分値d2θmd/dt2を積分することにより、手動操舵指令値θmdの1階微分値dθmd/dtを演算する。
【0263】
第2積分部114は、手動操舵指令値θmdの1階微分値dθmd/dtを積分することにより、手動操舵指令値θmdを演算する。この手動操舵指令値θmdが、第2手動操舵指令値θmd2として、第2手動操舵指令値演算部502から出力される。
【0264】
仮想ダンパ反力演算部115は、第1積分部113によって演算された手動操舵指令値θmdの1階微分値dθmd/dtに粘性減衰係数cを乗算することにより、仮想ダンパ反力c・dθmd/dtを演算する。この仮想ダンパ反力c・dθmd/dtが、加減算部111にフィードバックされる。
【0265】
つまり、第2手動操舵指令値演算部502は、次式(11)で示される運動方程式に基づいて、手動操舵指令値θmdを演算する。
【0266】
【0267】
式(11)において、Jmd・d2θmd/dt2は慣性モーメントである。c・dθmd/dtは仮想ダンパ反力である。Ttb,dは目標仮想ばね反力(仮想ばね反力)である。
【0268】
この変形例では、第2手動操舵指令値演算部502は、前記式(2)の運動方程式におけるN・Tm(=N・Tas)を0とするとともに、前記式(2)の運動方程式における仮想ばね反力k・θcolとして目標仮想ばね反力tb,dを用いて、手動操舵指令値θmdを演算する。そして、第2手動操舵指令値演算部502は、得られた手動操舵指令値θmdを第2手動操舵指令値θmd2として出力する。
【0269】
なお、第2手動操舵指令値演算部502は、アシストトルク指令値Tasに減速比Nを乗算することによりN・Tasを演算し、得られたN・Tasを加減算部111に与えるようにしてもよい。この場合、加減算部111は、トーションバートルクTtbにN・Tasを加算し、その加算結果から仮想ダンパ反力c・dθmd/dtおよび目標仮想ばね反力tb,dを減算する。この場合には、第2手動操舵指令値演算部502は、前記式(11)の右辺にN・Tasが加算された運動方程式に基づいて、手動操舵指令値θmdを演算することになる。
【0270】
定数/反力設定部52Aは、第1手動操舵指令値演算部501で用いられるばね定数ksおよび第2手動操舵指令値演算部502で用いられる目標仮想ばね反力tb,dを設定するとともに、指令値切替部503を制御するため定数/反力設定処理を行う。
【0271】
定数/反力設定部52Aによって設定されるばね定数ksとしては、LCA用ばね定数kLCAがある。LCA用ばね定数kLCAは、レーン・センタリング・アシスト制御用のばね定数であり、協調操舵モードで使用される基本的なばね定数である。LCA用ばね定数kLCAは、予め設定された固定値であり、メモリ(不揮発性メモリ)に記憶されている。
【0272】
定数/反力設定部52Aによって設定される目標仮想ばね反力Ttb,dとしては、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)、第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)および第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)がある。
【0273】
第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は、第1レジスタンス期間において採用される目標仮想ばね反力である。第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は、右方向の方向変更指令が入力されたときの横偏差el_brinkerおよび横偏差elに基づいて設定される。
【0274】
図19は、(e
l-e
l_brinker)に対する第1レジスタンス用ばね反力T
tb,d_re1(e
l,e
l_brinker)の設定例を示すグラフである。
【0275】
第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は、(el-el_brinker)が0以上でかつ所定値E(E>0)未満の範囲においては、0から第3所定値Ttb,d_3(ただし、Ttb,d_3>0)まで、(el-el_brinker)が大きくなるほど大きくなるように設定される。第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は、(el-el_brinker)がE以上でかつEよりも大きな所定値F未満の範囲においては、Ttb,d_1から0まで、(el-el_brinker)が大きくなるほど小さくなるように設定される。(el-el_brinker)がF以上の範囲では、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は、(el-el_brinker)は0に設定される。
【0276】
所定値Fは、第1閾値L1よりも小さな値に設定される。したがって、(el-el_brinker)がFに達してから第1閾値L1に達するまでの期間においては、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は0に設定される。言い換えれば、右方向の方向変更指令の入力後に車両がFだけ右方向に移動してからレーンチェンジが行われるまでは、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)は0に設定される。
【0277】
図19に示される、(e
l-e
l_brinker)に対する第1レジスタンス用ばね反力T
tb,d_re1(e
l,e
l_brinker)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0278】
第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、第1ガイダンス期間において採用される目標仮想ばね反力である。第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、目標走行車線が現在車線から右車線に切り替えられた直後に設定されるレーンチェンジ直後の横偏差el_changeおよび切り替え後の現在車線に対する横偏差elに基づいて設定される。
【0279】
図20は、(e
l-e
l_change)に対する第1ガイダンス用ばね反力T
tb,d_gu1(e
l,e
l_change)の設定例を示すグラフである。
【0280】
第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、(el-el_change)が0以上でかつ所定値G(G>0)未満の範囲においては、0に設定される。第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、(el-el_change)がG以上でかつGよりも大きな所定値H未満の範囲においては、0から-Ttb,d_4(ただし、Ttb,d_4は、0よりも大きな第4所定値である。)まで、(el-el_change)が大きくなるほど小さくなるように設定される。この変形例では、Ttb,d_4は、Ttb,d_3よりも小さな値に設定されている。第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、(el-el_change)がH以上でかつHよりも大きな所定値I未満の範囲においては、-Ttb,d_4から0まで、(el-el_change)が大きくなるほど大きくなるように設定される。(el-el_change)がI以上の範囲では、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は0に設定される。
【0281】
所定値Gは、第2閾値L2よりも小さな値に設定される。したがって、目標走行車線が現在車線から右車線に切り替えられてから、(el-el_change)が所定値Gに達するまでは、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は0に設定される。言い換えれば、右車線へのレーンチェンジが行われてから、車両が右方向にGだけ移動するまでは、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は0に設定される。
【0282】
図20に示される、(e
l-e
l_change)に対する第1ガイダンス用ばね反力T
tb,d_gu1(e
l,e
l_change)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0283】
第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は、第2レジスタンス期間において採用される目標仮想ばね反力である。第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は、左方向の方向変更指令が入力されたときの横偏差el_brinkerおよび横偏差elに基づいて設定される。
【0284】
図21は、(e
l-e
l_brinker)に対する第2レジスタンス用ばね反力T
tb,d_re2(e
l,e
l_brinker)の設定例を示すグラフである。
【0285】
第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は、(el-el_brinker)が0以下でかつ-Eよりも大きい範囲においては、0から-Ttb,d_3まで、(el-el_brinker)が小さくなるほど小さくなるように設定される。第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は、(el-el_brinker)が-E以下でかつ-Fよりも大きな範囲においては、-Ttb,d_3から0まで、(el-el_brinker)が小さくなるほど大きくなるように設定される。(el-el_brinker)が-F以下の範囲では、第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は0に設定される。
【0286】
-Fは、-L1よりも小さな値に設定される。したがって、(el-el_brinker)が-Fに達してから-L1に達するまでの期間においては、第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は0に設定される。言い換えれば、左方向の方向変更指令の入力後に車両がFだけ左方向に移動してからレーンチェンジが行われるまでは、第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は0に設定される。
【0287】
図21に示される、(e
l-e
l_brinker)に対する第2レジスタンス用ばね反力T
tb,d_re2(e
l,e
l_brinker)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0288】
第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、第2ガイダンス期間において採用される目標仮想ばね反力である。第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、目標走行車線が現在車線から左車線に切り替えられた直後に設定されるレーンチェンジ直後の横偏差el_changeおよび切り替え後の現在車線に対する横偏差elに基づいて設定される。
【0289】
図22は、(e
l-e
l_change)に対する第2ガイダンス用ばね反力T
tb,d_gu2(e
l,e
l_change)の設定例を示すグラフである。
【0290】
第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、(el-el_change)が0以下でかつ-G(G>0)よりも大きい範囲においては、0に設定される。第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、(el-el_change)が-G以下でかつ-Hよりも大きい範囲においては、0からTtb,d_4まで、(el-el_change)が小さくなるほど大きくなるように設定される。第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、(el-el_change)が-H以下でかつ-Iよりも大きな範囲においては、Ttb,d_4から0まで、(el-el_change)が小さくなるほど小さくなるように設定される。(el-el_change)が-I以下の範囲では、第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は0に設定される。
【0291】
-Gは、-L2よりも小さな値に設定される。したがって、目標走行車線が現在車線から左車線に切り替えられてから、(el-el_change)が-Gに達するまでは、第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は0に設定される。言い換えれば、左車線へのレーンチェンジが行われてから、車両が左方向にGだけ移動するまでは、第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は0に設定される。
【0292】
図22に示される、(e
l-e
l_change)に対する第2ガイダンス用ばね反力T
tb,d_gu2(e
l,e
l_change)の特性を表すマップは、メモリ(不揮発性メモリ)に記憶されている。
【0293】
【0294】
以下において、第1手動操舵指令値θad1が手動操舵指令値θadとして出力されるように指令値切替部503を制御する切替制御モードを第1制御モードCmode1といい、第2手動操舵指令値θad2が手動操舵指令値θadとして出力されるように指令値切替部503を制御する切替制御モードを第2制御モードCmode2ということにする。
【0295】
定数/反力設定部52Aは、まず、切替制御モードCmodeを第1制御モードCmode1に設定するとともにLCA用ばね定数kLCAを、ばね定数ksとして設定する(ステップS31A)。したがって、手動操舵指令値演算部53Aは、式(3)のばね定数ksとしてLCA用ばね定数kLCAを用いて、手動操舵指令値θmdを演算する。
【0296】
次に、定数/反力設定部52Aは、方向変更指令INDが0であるか否かを判別する(ステップS32)。方向変更指令INDが0でなければ(ステップS32:NO)、定数/反力設定部52Aは、ステップS32に戻る。方向変更指令INDが0であれば(ステップS32:YES)、定数/反力設定部52Aは、ステップS33に移行する。
【0297】
ステップS33では、定数/反力設定部52Aは、方向変更指令INDが1であるか否かを判別する。方向変更指令INDが1でなければ(ステップS33:NO)、定数/反力設定部52Aは、方向変更指令INDが2であるか否かを判別する(ステップS34)。方向変更指令INDが2でなければ(ステップS34:NO)、定数/反力設定部52Aは、ステップS33に戻る。
【0298】
ステップS33において、方向変更指令INDが1であると判別された場合には(ステップS33:YES)、つまり、右方向の方向変更指令が入力されている場合には、定数/反力設定部52Aは、ステップS35に移行する。
【0299】
ステップS35では、定数/反力設定部52Aは、現在の横偏差elを方向変更指令が入力された時点での横偏差el-brinkerとして記憶する。そして、定数/反力設定部52Aは、切替制御モードCmodeを第2制御モードCmode2に設定し、目標仮想ばね反力Ttb,dとして、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)を設定し、第1制限時間Tlim1を計時するための第1カウント値T1を零に設定する(ステップS36A)。
【0300】
第1レジスタンス用ばね反力T
tb,d_re1(e
l,e
l_brinker)は、ステップS35で設定された横偏差e
l-brinkerと現在の横偏差e
lとを用いて演算される。なお、上位ECU201は、
図10AのステップS5で設定されたe
l_brinkerを、モータ制御用ECU202に送信するようにしてもよい。その場合には、定数/反力設定部52Aは、上位ECU201から送信されるe
l_brinkerを、e
l_brinkerとして用いてもよい。
【0301】
これにより、手動操舵指令値演算部53Aは、式(11)の目標仮想ばね反力Ttb,dとして、第1レジスタンス用ばね反力Ttb,d_re1(el,el_brinker)を用いて、手動操舵指令値θmdを演算する。
【0302】
この後、定数/反力設定部52Aは、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS37)。第1所定時間が経過していなければ(ステップS37:NO)、定数/反力設定部52Aは、ステップS37に戻る。
【0303】
ステップS37において第1所定時間が経過したと判別された場合には(ステップS37:YES)、定数/反力設定部52Aは、第1カウント値T1を1だけインクリメントする(ステップS38)。そして、定数/反力設定部52Aは、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS39)。
【0304】
カウント値Tが第1制限時間Tlim1に達していない場合には(ステップS39:NO)、定数/反力設定部52Aは、第1レーンチェンジ承認条件が満たされたか否かを判別する(ステップS40)。この変形例では、定数/反力設定部52Aは、(el-el_brinker)≧L1であるという第1レーンチェンジ承認条件が満たされたか否かを判別する。
【0305】
第1レーンチェンジ承認条件が満たされていない場合((el-el_brinker)<L1)には(ステップS40:NO)、定数/反力設定部52Aは、ステップS37に戻る。この場合には、ステップS37では、定数/反力設定部52Aは、前回のステップS38で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0306】
ステップS39において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS39:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。この場合には、上位ECU201によるレーンチェンジは行われない。
【0307】
ステップS40において、第1レーンチェンジ承認条件が満たされている((el-el_brinker)≧L1)と判別された場合には(ステップS40:YES)、定数/反力設定部52Aは、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeを、上位ECU201から取得する(ステップS41)。
【0308】
この後、定数/反力設定部52Aは、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)を、目標仮想ばね反力Ttb,dとして設定する(ステップS42A)。第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)は、現在の横偏差elおよびレーンチェンジ直後の横偏差el_changeに基づいて設定される。これにより、手動操舵指令値演算部53Aは、第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)を、式(11)の目標仮想ばね反力Ttb,dとして用いて手動操舵指令値θmdを演算する。このような手動操舵指令値演算部53Aの動作を第1ガイダンス動作というということにする。
【0309】
次に、定数/反力設定部52Aは、第1ガイダンス動作をキャンセルするか否かを判定するための第2制限時間Tlim2を計時するための第2カウント値T2を零に設定する(ステップS43)。
【0310】
この後、定数/反力設定部52Aは、第2カウント値T2を更新するための第2所定時間が経過したか否かを判定する(ステップS44)。第2所定時間が経過していなければ(ステップS44:NO)、定数/反力設定部52Aは、ステップS44に戻る。
【0311】
ステップS44において第2所定時間が経過したと判別された場合には(ステップS44:YES)、定数/反力設定部52Aは、第2カウント値T2を1だけインクリメントする(ステップS45)。そして、定数/反力設定部52Aは、第2カウント値T2が第2制限時間Tlim2に達したか否かを判別する(ステップS46)。
【0312】
第2カウント値T2が第2制限時間Tlim2に達していない場合には(ステップS46:NO)、定数/反力設定部52Aは、第1ガイダンス動作終了条件が満たされたか否かを判別する(ステップS47)。この変形例では、定数/反力設定部52Aは、el≧-L2であるという第1ガイダンス動作終了条件が満たされたか否かを判別する。言い換えれば、定数/反力設定部52Aは、目標走行車線が現在車線から右車線に切り替えられてから、車両基準位置が切り替え後の現在車線の中央ラインから第2閾値L2までの範囲内に到達したという第1ガイダンス動作終了条件が満たされたか否かを判別する。
【0313】
第1ガイダンス動作終了条件が満たされていない場合には(ステップS47:NO)、定数/反力設定部52Aは、ステップS44に戻る。この場合には、ステップS44では、定数/反力設定部52Aは、前回のステップS45で第2カウント値T2が1だけインクリメントされた時点から第2所定時間が経過したか否かを判別する。
【0314】
ステップS46において、第2カウント値T2が第2制限時間Tlim2に達したと判別された場合には(ステップS46:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。
【0315】
ステップS47において、第1ガイダンス動作終了条件が満たされていると判別された場合には(ステップS47:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。
【0316】
ステップS34において、方向変更指令INDが2であると判別された場合には(ステップS34:YES)、つまり、左方向の方向変更指令が入力されている場合には、定数/反力設定部52Aは、ステップS48に移行する。
【0317】
ステップS48では、定数/反力設定部52Aは、現在の横偏差elを、方向変更指令が入力された時点での横偏差el-brinkerとして記憶する。そして、定数/反力設定部52Aは、切替制御モードCmodeを第2制御モードCmode2に設定し、第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)を、目標仮想ばね反力Ttb,d_として設定し、第1制限時間Tlim1を計時するための第1カウント値T1を零に設定する(ステップS49A)。
【0318】
第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)は、ステップS48で設定された横偏差el-brinkerと現在の横偏差elとを用いて演算される。el_brinkerは、前述したように、上位ECU201から取得するようにしてもよい。
【0319】
これにより、手動操舵指令値演算部53Aは、式(11)の目標仮想ばね反力Ttb,dとして第2レジスタンス用ばね反力Ttb,d_re2(el,el_brinker)を用いて手動操舵指令値θmdを演算する。
【0320】
この後、定数/反力設定部52Aは、第1カウント値T1を更新するための第1所定時間が経過したか否かを判定する(ステップS50)。第1所定時間が経過していなければ(ステップS50:NO)、定数/反力設定部52Aは、ステップS50に戻る。
【0321】
ステップS50において第1所定時間が経過したと判別された場合には(ステップS50:YES)、定数/反力設定部52Aは、第1カウント値T1を1だけインクリメントする(ステップS51)。そして、定数/反力設定部52Aは、第1カウント値T1が第1制限時間Tlim1に達したか否かを判別する(ステップS52)。
【0322】
カウント値Tが第1制限時間Tlimに達していない場合には(ステップS52:NO)、定数/反力設定部52Aは、第2レーンチェンジ承認条件が満たされたか否かを判別する(ステップS53)。この変形例では、定数/反力設定部52Aは、(el-el_brinker)≦-L1であるという第2レーンチェンジ承認条件が満たされたか否かを判別する。
【0323】
第2レーンチェンジ承認条件が満たされていない場合((el-el_brinker)>-L1)には(ステップS53:NO)、定数/反力設定部52Aは、ステップS50に戻る。この場合には、ステップS50では、定数/反力設定部52Aは、前回のステップS51で第1カウント値T1が1だけインクリメントされた時点から、第1所定時間が経過したか否かを判別する。
【0324】
ステップS52において、第1カウント値T1が第1制限時間Tlim1に達したと判別された場合には(ステップS52:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。この場合には、上位ECU201によるレーンチェンジは行われない。
【0325】
ステップS53において、第2レーンチェンジ承認条件が満たされている((el-el_brinker)≦-L1)と判別された場合には(ステップS53:YES)、定数/反力設定部52Aは、レーンチェンジ後の現在車線に対する横偏差elおよびレーンチェンジ直後の横偏差el_changeを、上位ECU201から取得する(ステップS54)。
【0326】
この後、定数/反力設定部52Aは、第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)を、目標仮想ばね反力Ttb,dとして設定する(ステップS55A)。第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)は、現在の横偏差elおよびレーンチェンジ直後の横偏差el_changeに基づいて設定される。これにより、手動操舵指令値演算部53Aは、第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)を、式(11)の目標仮想ばね反力Ttb,dとして用いて手動操舵指令値θmdを演算する。このような手動操舵指令値演算部53Aの動作を第2ガイダンス動作ということにする。
【0327】
次に、定数/反力設定部52Aは、第2ガイダンス動作をキャンセルするか否かを判定するための第2制限時間Tlim2を計時するための第2カウント値T2を零に設定する(ステップS56)。
【0328】
この後、定数/反力設定部52Aは、第2カウント値T2を更新するための第2所定時間が経過したか否かを判定する(ステップS57)。第2所定時間が経過していなければ(ステップS57:NO)、定数/反力設定部52Aは、ステップS57に戻る。
【0329】
ステップS57において第2所定時間が経過したと判別された場合には(ステップS57:YES)、定数/反力設定部52Aは、第2カウント値T2を1だけインクリメントする(ステップS58)。そして、定数/反力設定部52Aは、第2カウント値T2が第2制限時間Tlim2に達したか否かを判別する(ステップS59)。
【0330】
第2カウント値T2が第2制限時間Tlim2に達していない場合には(ステップS59:NO)、定数/反力設定部52Aは、第2ガイダンス動作終了条件が満たされたか否かを判別する(ステップS60)。この変形例では、定数/反力設定部52Aは、el≦L2であるという第2ガイダンス動作終了条件が満たされたか否かを判別する。言い換えれば、定数/反力設定部52Aは、目標走行車線が現在車線から左車線に切り替えられてから、車両基準位置が切り替え後の現在車線の中央ラインから第2閾値L2までの範囲内に到達したという第2ガイダンス動作終了条件が満たされたか否かを判別する。
【0331】
第2ガイダンス動作終了条件が満たされていない場合には(ステップS60:NO)、定数/反力設定部52Aは、ステップS57に戻る。この場合には、ステップS57では、定数/反力設定部52Aは、前回のステップS58で第2カウント値T2が1だけインクリメントされた時点から第2所定時間が経過したか否かを判別する。
【0332】
ステップS59において、第2カウント値T2が第2制限時間Tlim2に達したと判別された場合には(ステップS59:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。
【0333】
ステップS60において、第2ガイダンス動作終了条件が満たされていると判別された場合には(ステップS60:YES)、定数/反力設定部52Aは、ステップS31Aに戻る。
【0334】
この変形例では、目標走行車線が現在車線から右車線に切り替えられる場合の動作は次のようになる。切替制御モードCmodeが第1制御モードCmode1でかつばね定数ksとしてLCA用ばね定数kLCAが設定されている場合に、右方向の方向変更指令が入力されると、切替制御モードCmodeが第2制御モードCmode2に切り替えられるとともに、第1レジスタンス用ばね反力Ttb,d_re1(el,el_briker)が目標仮想ばね反力Ttb,dとして設定される。
【0335】
第1レジスタンス用ばね反力T
tb,d_re1(e
l,e
l_briker)は、
図19に示されるような特性を有しているので、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_re1(e
l,e
l_briker)|)は、右方向の方向変更指令が入力されると徐々に大きくなり、(e
l-e
l_brinker)が所定値Eに達するとT
tb,d_3となり、その後、徐々に低下していく。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_re1(e
l,e
l_briker)|)は、(e
l-e
l_brinker)が所定値Fに達すると零となり、(e
l-e
l_brinker)がF以上でも零を維持する。
【0336】
(el-el_brinker)が所定値Fに達した後に車両が右方向に移動し、第1レーンチェンジ承認条件((el-el_brinker)≧L1)が満たされると、目標仮想ばね反力Ttb,dが、第1レジスタンス用ばね反力Ttb,d_re1(el,el_briker)から第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)に切り替えられる。
【0337】
第1ガイダンス用ばね反力T
tb,d_gu1(e
l,e
l_change)は、
図20に示されるような特性を有しているので、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu1(e
l,e
l_change)|)は、レーンチェンジ後も、零を維持する。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu1(e
l,e
l_change)|)は、(e
l-e
l_brinker)が所定値Gに達すると徐々に大きくなり、(e
l-e
l_brinker)が所定値Hに達するとT
tb,d-4となり、その後、徐々に低下していく。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu1(e
l,e
l_change)|)は、(e
l-e
l_brinker)が所定値Iに達すると零になり、(e
l-e
l_brinker)が所定値I以上になっても零を維持する。
【0338】
(el-el_brinker)が所定値Gに達した後に車両が右方向に移動し、第1ガイダンス動作完了条件(el≧-L2)が満たされると、切替制御モードCmodeが第2制御モードCmode2から第1制御モードCmode1に切り替えられ、ばね定数ksがLCA用ばね定数kLCAに設定される。
【0339】
このように目標走行車線が現在車線から右車線に切り替えられる場合には、目標走行車線が切り替えられる時点を含む切り替え前後期間において、前記式(11)の運動方程式における目標仮想ばね反力Ttb,dが零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0340】
目標走行車線が現在車線から左車線に切り替えられる場合の動作は次のようになる。切替制御モードCmodeが第1制御モードCmode1でかつばね定数ksとしてLCA用ばね定数kLCAが設定されている場合に、左方向の方向変更指令が入力されると、切替制御モードCmodeが第2制御モードCmode2に切り替えられるとともに、第2レジスタンス用ばね反力Ttb,d_re2(el,el_briker)が目標仮想ばね反力Ttb,dとして設定される。
【0341】
第2レジスタンス用ばね反力T
tb,d_re2(e
l,e
l_briker)は、
図21に示されるような特性を有しているので、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_re2(e
l,e
l_briker)|)は、左方向の方向変更指令が入力されると徐々に大きくなり、(e
l-e
l_brinker)が所定値-Eに達するとT
tb,d_3となり、その後、徐々に低下していく。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_re2(e
l,e
l_briker)|)は、(e
l-e
l_brinker)が所定値-Fに達すると零となり、(e
l-e
l_brinker)がF以下でも零を保持する。
【0342】
(el-el_brinker)が所定値-Fに達した後に車両が右方向に移動し、第2レーンチェンジ承認条件((el-el_brinker)≦-L1)が満たされると、目標仮想ばね反力Ttb,dが、第2レジスタンス用ばね反力Ttb,d_re2(el,el_briker)から第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)に切り替えられる。
【0343】
第2ガイダンス用ばね反力T
tb,d_gu2(e
l,e
l_change)は、
図22に示されるような特性を有しているので、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu2(e
l,e
l_change)|)の絶対値は、レーンチェンジ後も、零を維持する。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu2(e
l,e
l_change)|)の絶対値は、(e
l-e
l_brinker)が所定値-Gに達すると徐々に大きくなり、(e
l-e
l_brinker)が所定値-Hに達するとT
tb,d_4となり、その後、徐々に小さくなる。そして、仮想ばね反力の絶対値|T
tb,d|(=|T
tb,d_gu2(e
l,e
l_change)|)の絶対値は、(e
l-e
l_brinker)が所定値-Iに達すると零になり、所定値-I以下になっても零を維持する。
【0344】
(el-el_brinker)が-Gに達した後に、車両が左方向に移動し、第2ガイダンス動作完了条件(el≦L2)が満たされると、切替制御モードCmodeが第2制御モードCmode2から第1制御モードCmode1に切り替えられ、ばね定数ksがLCA用ばね定数kLCAに設定される。
【0345】
目標走行車線が現在車線から左車線に切り替えられる場合にも、目標走行車線が切り替えられる時点を含む切り替え前後期間において、前記式(11)の運動方程式における目標仮想ばね反力Ttb,dが零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0346】
以下、定数/反力設定処理の第1変形例および第2変形例について説明する。
【0347】
定数/反力設定処理の第1変形例では、第1レジスタンス期間においては、切替制御モードCmodeが第2制御モードCmode2に設定され、目標仮想ばね反力Ttb,dとして第1レジスタンス用ばね反力Ttb,d_re1(el,el_briker)が用いられる。第1ガイダンス期間においては、切替制御モードCmodeが第1制御モードCmode1に設定され、ばね定数ksとして第1ガイダンス用ばね定数kgu1(el,el_change)が設定される。
【0348】
第2レジスタンス期間においては、切替制御モードCmodeが第2制御モードCmode2に設定され、目標仮想ばね反力Ttb,dとして第2レジスタンス用ばね反力Ttb,d_re2(el,el_briker)が用いられる。第2ガイダンス期間においては、切替制御モードCmodeが第1制御モードCmode1に設定され、ばね定数ksとして第2ガイダンス用ばね定数kgu2el,el_change)が設定される。
【0349】
図24Aおよび
図24Bは、定数/反力設定部52Aの第1変形例によって行われる定数/反力設定処理の手順を示すフローチャートである。
図24Aおよび
図24Bにおいて、
図23Aおよび
図23Bと同じステップには、
図23Aおよび
図23Bと同じステップ番号を付して示す。
図23AのステップS42Aに対応するステップS42Bでは、定数/反力設定部52Aは、切替制御モードC
modeを第1制御モードC
mode1に設定し、ばね定数k
sとして第1ガイダンス用ばね定数k
gu1(e
l,e
l_change)を設定する。
【0350】
また、
図23BのステップS55Aに対応するステップS55Bでは、定数/反力設定部52Aは、切替制御モードC
modeを第1制御モードC
mode1に設定し、ばね定数k
sとして第2ガイダンス用ばね定数k
gu2(e
l,e
l_change)を設定する。その他のステップで行われる処理は、
図23Aおよび
図23Bで説明した処理と同じである。
【0351】
定数/反力設定処理の第1変形例においても、目標走行車線が切り替えられる時点を含む切り替え前後期間において、仮想ばね反力(ks・θmd,Ttb,d)が零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0352】
定数/反力設定処理の第1変形例では、反力トルクの調整が重要な第1および第2レジスタンス期間において、仮想ばね反力を(el-el_briker)に応じた値に設定できる。また、レーンチェンジ後においては、レーン・センタリング・アシスト制御への切り替えが容易となる。
【0353】
定数/反力設定処理の第2変形例では、第1レジスタンス期間においては、切替制御モードCmodeが第1制御モードCmode1に設定され、ばね定数ksとして第1レジスタンス用ばね定数kre1(el,el_briker)が設定される。第1ガイダンス期間においては、切替制御モードCmodeが第2制御モードCmode2に設定され、目標仮想ばね反力Ttb,dとして第1ガイダンス用ばね反力Ttb,d_gu1(el,el_change)が用いられる。
【0354】
第2レジスタンス期間においては、切替制御モードCmodeが第1制御モードCmode1に設定され、ばね定数ksとして第2レジスタンス用ばね定数kre2(el,el_briker)が設定される。第2ガイダンス期間においては、切替制御モードCmodeが第2制御モードCmode2に設定され、目標仮想ばね反力Ttb,dとして第2ガイダンス用ばね反力Ttb,d_gu2(el,el_change)が用いられる。
【0355】
具体的には、
図23AのステップS35Aでは、定数/反力設定部52Aは、切替制御モードC
modeを第1制御モードC
mode1に設定し、ばね定数k
sとして第1レジスタンス用ばね定数k
re1(e
l,e
l_briker)を設定し、第1制限時間T
lim1を計時するための第1カウント値T1を零に設定する。
【0356】
また、
図23BのステップS48Aでは、定数/反力設定部52Aは、切替制御モードC
modeを第1制御モードC
mode1に設定し、ばね定数k
sとして第2レジスタンス用ばね定数k
re2(e
l,e
l_briker)を設定し、第1制限時間T
lim1を計時するための第1カウント値T1を零に設定する。その他のステップで行われる処理は、
図23Aおよび
図23Bで説明した処理と同じである。
【0357】
定数/反力設定処理の第2変形例においても、目標走行車線が切り替えられる時点を含む切り替え前後期間において、仮想ばね反力(ks・θmd,Ttb,d)が零に設定される。これにより、目標走行車線の切り替わり時のドライバの不快感を低減できる。
【0358】
以上、本開示の実施形態について説明したが、本開示はさらに他の形態で実施することもできる。
【0359】
前記実施形態では、方向変更指令が入力されたとき横偏差elをel_brikerとし、el_brikerから方向変更指令に応じた方向に第1閾値L1だけ車両が移動したときに、レーンチェンジを行うようにしている。しかし、方向変更指令が入力され後、方向変更指令に応じて予め設定された横位置に車両基準位置が到達したときに、レーンチェンジを行うようにしてもよい。
【0360】
例えば、現在車線の中央ラインから所定距離だけ右方向に離れた横位置に対応する横偏差をel_rightとすると、右方向の方向変更指令が入力された後、el≧el_rightというレーンチェンジ承認条件を満たしたときに、レーンチェンジを行うようにしてもよい。同様に、現在車線の中央ラインから所定距離だけ左方向に離れた横位置に対応する横偏差をel_leftとすると、左方向の方向変更指令が入力された後、el≦el_leftというレーンチェンジ承認条件を満たしたときに、レーンチェンジを行うようにしてもよい。
【0361】
また、前述の実施形態では、角度制御部55(
図6参照)は、フィードフォワード制御部63を備えているが、フィードフォワード制御部63を省略してもよい。この場合には、フィードバック制御部62によって演算されるフィードバック制御トルクT
fbが基本目標トルクとなる。
【0362】
また、前述の実施形態において、外乱トルク推定部64は、モータトルク指令値Tm,cmdとプラントの回転角θcとに基づいて外乱トルク^Tlcを推定しているが、電動モータ18が発生しているモータトルクを取得するモータトルク取得部を設け、このモータトルク取得部で取得したモータトルクをモータトルク指令値Tm,cmdの代わりに用いてもよい。
【0363】
また、前述の実施形態では、手動操舵指令値および自動操舵指令値が角度指令値である場合について説明したが、手動操舵指令値および自動操舵指令値がトルク指令値である場合にも、本開示を適用することができる。
【0364】
また、前述の実施形態では、本開示をコラムタイプEPSのモータ制御に適用した場合の例を示したが、本開示は、コラムタイプ以外のEPSのモータ制御にも適用することができる。
【0365】
本開示の実施形態について詳細に説明してきたが、これらは本開示の技術的内容を明らかにするために用いられた具体例に過ぎず、本開示はこれらの具体例に限定して解釈されるべきではなく、本開示の範囲は添付の請求の範囲によってのみ限定される。
【符号の説明】
【0366】
1…電動パワーステアリング装置、3…転舵輪、4…転舵機構、18…電動モータ、30…方向変更指令入力装置、51…アシストトルク指令値設定部、52…ばね定数設定部、52A…ばね定数/目標仮想ばね反力設定部、53,53A…手動操舵指令値演算部、54…統合角度指令値演算部、55…角度制御部、56…第1スイッチ、57…第2スイッチ、582…加算部、59…トルク制御部、201…上位ECU、202,202A…モータ制御用ECU、501…第1手動操舵指令値演算部、502…第1手動操舵指令値演算部、503…指令値切替部