(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
B60W 30/02 20120101AFI20240702BHJP
B60T 8/1755 20060101ALI20240702BHJP
【FI】
B60W30/02
B60T8/1755 Z
(21)【出願番号】P 2021070911
(22)【出願日】2021-04-20
【審査請求日】2023-09-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100187311
【氏名又は名称】小飛山 悟史
(74)【代理人】
【識別番号】100161425
【氏名又は名称】大森 鉄平
(72)【発明者】
【氏名】勝山 悦生
(72)【発明者】
【氏名】長坂 学
【審査官】鶴江 陽介
(56)【参考文献】
【文献】特開2019-182104(JP,A)
【文献】特開2022-21715(JP,A)
【文献】特開2008-8882(JP,A)
【文献】特開2008-143212(JP,A)
【文献】米国特許出願公開第2018/0347486(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00-60/00
B60T 7/12- 8/1769
B60T 8/32- 8/96
(57)【特許請求の範囲】
【請求項1】
ドライバ入力又は車両運動制御要求に基づいて、車両制御アクチュエータ群による車両制御を行う車両制御装置であって、
前記ドライバ入力又は前記車両運動制御要求に基づいて、車両運動目標として平面3分力及びばね上3分力からなる重心6分力を演算する重心6分力演算部と、
有効制約法を用いた二次計画法の計算により、前記重心6分力から車両の2以上の輪について各輪のタイヤ3分力を演算するタイヤ3分力演算部と、
前記各輪のタイヤ3分力に基づいて、前記車両制御アクチュエータ群による車両制御を行う車両制御部と、を備え、
前記有効制約法では、前記車両制御アクチュエータ群の特性又は前記各輪の特性に応じた前記タイヤ3分力の上下限に相当する不等式として表される制約が前記各輪に対して課されており、
前記タイヤ3分力演算部は、
前記不等式で表された制約の下で最適解を求めるための所定の最適性条件に基づいて、前記各輪のそれぞれについて前記制約を有効とするか又は無効とするかを判定した判定結果に基づき前記制約を適用し、前記所定の最適性条件を満たすまで1以上の回数の仮の最適解の演算を行うことで、前記各輪のタイヤ3分力の最適解を演算し、
前記所定の最適性条件を満たす最適解が求まった際の前記制約の適用状態を記憶し、次回の最適解の演算において、前記制約の適用状態の記憶値を用いて、前記各輪のタイヤ3分力の最適解を演算する、車両制御装置。
【請求項2】
前記タイヤ3分力演算部は、
前記各輪において前記制約の適用状態の変化が生じるか否かを推定し、
前記各輪のいずれかにおいて、有効としていた前記制約を無効とするとの前記適用状態の変化が生じると推定した場合、記憶されている前記制約の適用状態を初期化する、請求項1に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置に関する。
【背景技術】
【0002】
従来から、車両制御装置において、車両に作用する前後力、横力、上下力、ロールモーメント、ピッチモーメント及びヨーモーメントから成る重心6分力の目標値に基づいて、各輪に発生させるタイヤの前後力及び横力の制御要求値を演算し、車両制御アクチュエータ群を駆動させることが提案されている。例えば、特許文献1の車両の制御装置では、重心6分力と各輪のタイヤ作用力の関係を表す係数行列に基づき、重心6分力の目標値との誤差の2乗和と、各輪のタイヤ作用力の目標値との誤差の2乗和とを加算した評価関数が最小となるように各輪のタイヤ作用力を算出し、車両制御アクチュエータを駆動させる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両制御アクチュエータ群の特性又はタイヤの特性などに応じて、各輪の前後力、横力又は上下力の大きさが所定の範囲に制限されることがある。このような制限を考慮して、所定の評価関数に基づき最適な制御要求値を求めるためには、所定の範囲に相当する不等式で表される制約を課した上で、所定の評価関数に基づいて、各輪の前後力、横力又は上下力の最適解を求める手法がある。不等式による制約の下で、2乗和で表された評価関数を最小化する最適解を求めるために、例えば、二次計画法[Quadratic Programming]による最適化計算を適用することができる。二次計画法の計算では、所定の最適性条件を満たすまで、仮の最適解を演算することを繰り返し、制約下での最適解を求める。ここで、仮の最適解を演算することを仮最適解演算と称する。また、最適解を求めるまでに、仮最適解演算を2回以上繰り返すことを反復計算と称し、仮最適解演算が2回行われるときの反復計算の回数を1回とする。重心6分力の目標値が更新されると共に、制約下で重心6分力に応じた各輪のタイヤ作用力の最適な制御要求値を演算する際に、反復計算が生じる可能性がある。反復計算の回数の増加は、車両制御装置の計算負荷の増大を招くことから、反復計算数を低減することが望ましい。
【課題を解決するための手段】
【0005】
本発明の一態様は、ドライバ入力又は車両運動制御要求に基づいて、車両制御アクチュエータ群による車両制御を行う車両制御装置であって、車両制御装置は、ドライバ入力又は車両運動制御要求に基づいて、車両運動目標として平面3分力及びばね上3分力からなる重心6分力を演算する重心6分力演算部と、有効制約法[Active-set Method]を用いた二次計画法の計算により、重心6分力から車両の2以上の輪について各輪のタイヤ3分力を演算するタイヤ3分力演算部と、各輪のタイヤ3分力に基づいて、車両制御アクチュエータ群による車両制御を行う車両制御部と、を備える。有効制約法では、車両制御アクチュエータ群の特性又は各輪の特性に応じたタイヤ3分力の上下限に相当する不等式として表される制約が各輪に対して課されている。タイヤ3分力演算部は、不等式で表される制約の下で最適解を求めるための所定の最適性条件に基づいて、各輪のそれぞれについて制約を有効とするか又は無効とするかを判定した判定結果に基づき制約を適用し、所定の最適性条件を満たすまで1以上の回数の仮最適解演算を行うことで、各輪のタイヤ3分力の最適解を演算する。所定の最適性条件を満たす最適解が求まった際の制約の適用状態を記憶し、次回の最適化計算において、制約の適用状態の記憶値を用いて、各輪のタイヤ3分力の最適解を演算する。
【0006】
例えば、有効制約法における制約の適用状態について、全ての制約を無効とした状態を初期状態として、最適化計算を開始することが考えられる。このような場合、重心6分力が更新され、重心6分力に応じたタイヤ3分力の最適化計算を行うたびに、所定の最適性条件を満たすように制約を有効とするための反復計算が生じる恐れがある。本発明の一態様に係る車両制御装置によれば、所定の最適性条件を満たす最適解が求まった際の制約の適用状態を記憶し、次回の最適化計算において、制約の適用状態の記憶値を制約の初期状態として、仮最適解演算を開始する。すなわち、次回の最適化計算では、最適解が求まった際に有効とした制約を、適用した状態で仮最適解演算を開始する。これにより、全ての制約を無効とした状態から演算を開始する場合と比べ、制約を有効とする際に生じる反復計算数を低減することができる。
【0007】
本発明の一態様において、タイヤ3分力演算部は、各輪において判定結果制約の適用状態の変化が生じるか否かを推定し、各輪のいずれかにおいて、有効としていた制約条件制約を無効とするとの判定結果適用状態の変化が生じると推定した場合、記憶されている判定結果制約の適用状態を初期化してもよい。例えば有効としていた制約を無効にする際には、反復計算が生じる。そこで、予め制約を無効とすることを推定し、このような場合に制約を初期化することで、有効としていた制約を無効とするための反復計算を省くことができる。
【発明の効果】
【0008】
本発明の一態様に係る車両制御装置によれば、二次計画法によるタイヤ3分力の演算において、所定の最適性条件を満たすまでの仮最適解演算の回数を低減することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係る車両制御装置を示すブロック図である。
【
図2】(a)車両の重心6分力を示す図である。(b)タイヤ3分力を示す図である。
【
図3】重心6分力から求めた各輪の前後力の一例を示す図である。
【
図4】車両制御装置の車両制御処理の一例を示すフローチャートである。
【
図5】タイヤ3分力の演算処理の一例を示すフローチャートである。
【
図6】制約の適用状態の記憶の有無を比較して説明するための図である。
【
図7】制約の適用状態の初期化の有無を比較して説明するための図である。
【
図8】制約の適用状態の初期化においてラグランジュ乗数の考慮の有無を比較して説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して説明する。
【0011】
[車両制御装置の構成と機能]
図1は、一実施形態に係る車両制御装置を示すブロック図である。
図1に示す車両制御装置100は、乗用車又は貨物車などの車両に搭載され、ドライバ入力に基づいて車両制御を実行する。車両は、例えば四輪車である。ドライバ入力とは、ドライバのアクセル操作、ブレーキ操作、及び操舵である。車両制御とは、ドライバ入力に応じた車両の運動制御である。車両制御は、乗り心地重視の制御であってもよく、操作反応重視の制御であってもよい。車両制御の特性は特に限定されない。
【0012】
車両制御装置100の構成の一例について図面を参照して説明する。
図1に示されるように、車両制御装置100は、装置を統括的に管理するECU[Electronic Control Unit]10を備えている。ECU10は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]などを有する電子制御ユニットである。ECU10では、例えば、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。ECU10は、複数の電子制御ユニットから構成されていてもよい。ECU10は、アクセルペダルセンサ1、ブレーキペダルセンサ2、操舵センサ3、及び車両制御アクチュエータ群4と接続されている。
【0013】
アクセルペダルセンサ1は、車両のアクセルペダルに対して設けられ、ドライバによるアクセルペダルの操作量を検出するセンサである。アクセルペダルの操作量とは、例えばドライバによるアクセルペダルの踏込み量(ペダルストローク量)となる。
【0014】
ブレーキペダルセンサ2は、車両のブレーキペダルに対して設けられ、ドライバによるブレーキペダルの操作量を検出するセンサである。ブレーキペダルの操作量とは、例えばドライバによるブレーキペダルの踏込み量(ペダルストローク量)となる。
【0015】
操舵センサ3は、ドライバによる車両の操舵部の操作量を検出する。操舵部とは、例えばステアリングホイール及びステアリングシャフトである。操舵部は、ホイール状である場合に限られず、ハンドルとして機能する構成であればよい。操舵部の操作量とは、例えば操舵角及び操舵トルクの少なくとも一方である。
【0016】
車両制御アクチュエータ群4は、車両制御を実行するためのアクチュエータ群である。本実施形態における車両制御アクチュエータ群4には、駆動アクチュエータ41、ブレーキアクチュエータ42、前輪操舵アクチュエータ43、後輪操舵アクチュエータ44、アクティブスタビライザ45、及びアクティブサスペンション46が含まれる。
【0017】
駆動アクチュエータ41は、ECU10からの制御指令に応じて車両の制駆動力を制御する。駆動アクチュエータ41は、例えば四輪のそれぞれに内蔵されたインホイールモータが用いられてもよい。車両が電気自動車である場合には、モータにECU10からの制御指令が入力されて当該制駆動力が制御される。この場合におけるモータは駆動アクチュエータ41に相当する。駆動アクチュエータ41は、車両の各輪に対する制駆動力の配分を変更可能であってもよい。駆動アクチュエータ41は、前輪に対する制駆動力と後輪に対する制駆動力との配分を変更可能であってもよく、四輪それぞれの制駆動力の配分を変更可能であってもよい。なお、インホイールモータに代えて、一基で2以上の輪を駆動するように設けられたモータが用いられてもよい。車両がハイブリッド車である場合には、駆動アクチュエータ41は、ECU10からの制御指令に応じてエンジンに対する空気の供給量(スロットル開度)を制御することで車両の駆動力を制御してもよい。
【0018】
ブレーキアクチュエータ42は、ECU10からの制御指令に応じてブレーキシステムを制御し、車両のタイヤへ付与する制動力を制御する。ブレーキシステムとしては、例えば、液圧ブレーキシステムを用いることができる。ブレーキアクチュエータ42は、車両の各輪に対する制動力の配分を変更可能であってもよい。ブレーキアクチュエータ42は、前輪に対する制動力と後輪に対する制動力との配分を変更可能であってもよく、四輪それぞれの制動力の配分を変更可能であってもよい。
【0019】
前輪操舵アクチュエータ43は、ECU10からの制御指令に応じて車両の前輪の舵角を制御する。前輪操舵アクチュエータ43は、電動パワーステアリングシステムの一部であるアシストモータとして車両の操舵部に設けられていてもよく、ステアバイワイヤとして車両の操舵部と機械的に独立して設けられていてもよい。
【0020】
後輪操舵アクチュエータ44は、ECU10からの制御指令に応じて車両の後輪の舵角を制御する。後輪操舵アクチュエータ44は、例えばステアバイワイヤとして車両の操舵部と機械的に独立して設けられる。後輪操舵アクチュエータ44は、トルクシャフトを介して車両の操舵部と接続するアシストモータであってもよい。
【0021】
アクティブスタビライザ45は、ECU10からの制御指令に応じてスタビライザバーの捻れ角度を制御する。アクティブスタビライザ45は、例えば車両のフロントとリアにそれぞれ設けられる。
【0022】
アクティブサスペンション46は、ECU10からの制御指令に応じてサスペンション特性を制御する。アクティブサスペンション46は、油圧や空気圧の制御により伸び縮みを調整することでサスペンション反力をコントロールする。アクティブサスペンション46は、減衰力特性をコントロールしてもよい。
【0023】
次に、ECU10の構成と機能について説明する。ECU10は、ドライバ入力認識部11、重心6分力演算部12、タイヤ3分力演算部13、及び車両制御部14を有している。
【0024】
ドライバ入力認識部11は、アクセルペダルセンサ1、ブレーキペダルセンサ2、及び操舵センサ3の検出結果に基づいて、ドライバのアクセル操作、ブレーキ操作、及び操舵のうちの少なくとも一つのドライバ入力を認識する。
【0025】
また、ドライバ入力認識部11は、認識したドライバ入力に基づいて、ドライバ入力に応じた運動指令(車両状態量)を演算する。ドライバ入力認識部11は、例えばドライバ入力に応じた運動指令として前後加速度Ax、前輪舵角δf、後輪舵角δrを求める。ドライバ入力からの運動指令の求め方は周知の手法を採用することができる。
【0026】
重心6分力演算部12は、ドライバ入力認識部11がドライバ入力から演算した運動指令に基づいて、車両運動目標としての重心6分力を演算する。
図2(a)は、車両の重心6分力を示す図である。
図2(a)に示されるように、車両の重心6分力は、前後力F
x、横力F
y、上下力F
z、ロールモーメントM
x、ピッチモーメントM
y、及びヨーモーメントM
zとして表される。
【0027】
重心6分力演算部12は、一例として、平面運動モデルを用いて平面3分力を演算した後に、慣性力及びサスペンション反力を考慮した慣性運動モデルを用いてばね上3分力を演算する二段階演算によって重心6分力を演算する。平面運動モデル及び慣性運動モデルは予め設定された運動モデルであってもよい。重心6分力演算部12は、例えば、ドライバ入力に応じた運動指令である前後加速度Ax、前輪舵角δf、後輪舵角δrを平面運動モデルに適用することで、横滑り角β、ヨー角速度r、ヨー角加速度dr/dtを演算する。平面運動モデルには例えば車両の動特性が反映されている。平面運動モデルは、一例として二輪モデルを採用することができる。なお、平面運動モデルは二輪モデルに限定されない。二輪モデルに相当する他のモデルを用いてもよい。
【0028】
重心6分力演算部12は、平面運動モデルを用いて横滑り角β、ヨー角速度r、ヨー角加速度dr/dtから平面3分力を演算する。重心6分力演算部12は、平面3分力として重心6分力のうち前後力Fx、横力Fy、及びヨーモーメントMzを演算する。横滑り角β、ヨー角速度r、ヨー角加速度dr/dtに基づく平面3分力の求め方は周知の手法を採用することができる。
【0029】
重心6分力演算部12は、慣性力及びサスペンション反力を考慮した慣性運動モデルを用いて平面3分力からばね上3分力を演算する。慣性運動モデルは、慣性力及びサスペンション反力を考慮した連成モデル(ばね上ばね下間の相対運動モデル)である。重心6分力演算部12は、ばね上3分力として上下力Fz、ロールモーメントMx、及びピッチモーメントMyを演算する。また、必要に応じてワープモーメントMwも運動制御指令値として加える。慣性運動モデルは、慣性力及びサスペンション反力が考慮された連成モデルであれば、公知のものを用いることができる。重心6分力演算部12は、慣性運動モデルを用いて平面3分力(Fx、Fy、Mz)からばね上3分力(Fz、Mx、My)を演算することで、重心6分力y(Fx、Fy、Fz、Mx、My、Mz)を求める。
【0030】
タイヤ3分力演算部13は、重心6分力演算部12の演算した重心6分力に基づいて、四輪のタイヤ3分力を演算する。
図2(b)は、タイヤ3分力を示す図である。
図2(b)に示されるように、タイヤ3分力は、タイヤの前後力F
xi、横力F
yi、上下力F
ziとして表される。なお、iはタイヤの位置に応じて変わる記号である。具体的には、右前輪のタイヤ3分力は、前後力F
xfr、横力F
yfr、上下力F
zfrとして表される。左前輪のタイヤ3分力は、前後力F
xfl、横力F
yfl、上下力F
zflとして表される。右後輪のタイヤ3分力は、前後力F
xrr、横力F
yrr、上下力F
zrrとして表される。左後輪のタイヤ3分力は、前後力F
xrl、横力F
yrl、上下力F
zrlとして表される。
【0031】
タイヤ3分力演算部13は、車両における各輪とサスペンション機構の配置によって決まる係数行列に基づき、重心6分力から四輪のタイヤ3分力を演算する。重心6分力と四輪のタイヤ3分力の関係は、例えば、下記の式(1)~式(4)として表すことができる。yは重心6分力を表すベクトル、Cは係数行列、uは四輪のタイヤ3分力を表すベクトルである。
【数1】
【数2】
【数3】
【数4】
【0032】
係数行列Cは、パラメータC11・・・Cmnを含んで構成されている。パラメータC11・・・Cmnは、車両諸元から決められる。係数行列Cの行数は、車両制御における重心6分力の目標の数mに対応する。車両制御における重心6分力の目標の数mとは、車両制御において制御したい運動の数である。例えば車両の前後方向運動、横方向運動、ヨー方向の運動のみ制御できればよい場合には目標の数mは3となる。この場合において、前後方向、横方向、及びヨー方向以外の運動は成り行きとなる。
【0033】
係数行列Cの列数は、車両制御アクチュエータ群4の自由度[Degree of Freedom]nに対応する。車両制御アクチュエータ群4の自由度nとは、車両制御アクチュエータ群4を構成する各アクチュエータの自由度の合計値である。
【0034】
駆動アクチュエータ41は、前輪制駆動力と後輪制駆動力とを固定で配分する場合(例えば50:50で配分する場合)、1自由度となる。駆動アクチュエータ41は、前輪制駆動力と後輪制駆動力との配分のみを変更可能である場合には、2自由度となる。駆動アクチュエータ41は、前輪制駆動力及び後輪制駆動力が固定配分でありつつも右前輪の制駆動力及び左前輪の制駆動力との配分を変更可能である場合には、2自由度となる。同様に、駆動アクチュエータ41は、前輪制駆動力及び後輪制駆動力が固定配分でありつつも、右後輪の制駆動力及び左後輪の制駆動力との配分を変更可能である場合、2自由度となる。
【0035】
駆動アクチュエータ41は、前輪制駆動力及び後輪制駆動力を固定配分でありつつも、右前輪の制駆動力及び左前輪の制駆動力との配分を変更可能であり、且つ、右後輪の制駆動力及び左後輪の制駆動力との配分を変更可能である場合には、3自由度となる。また、駆動アクチュエータ41は、前輪制駆動力と後輪制駆動力との配分を変更可能であり、且つ、右前輪の制駆動力及び左前輪の制駆動力との配分を変更可能である場合には、3自由度となる。同様に、駆動アクチュエータ41は、前輪制駆動力と後輪制駆動力との配分を変更可能であり、且つ、右後輪の制駆動力及び左後輪の制駆動力との配分を変更可能である場合には、3自由度となる。
【0036】
駆動アクチュエータ41は、四輪それぞれの制駆動力の配分を個別に変更可能である場合には4自由度となる。ブレーキアクチュエータ42の自由度の例は、駆動アクチュエータ41と同じとなるため説明を省略する。なお、ブレーキアクチュエータ42の自由度と駆動アクチュエータ41の自由度は同じである必要はない。
【0037】
前輪操舵アクチュエータ43は前輪操舵力のみ制御するので1自由度、後輪操舵アクチュエータ44も後輪操舵力のみ制御するので1自由度となる。なお、前輪操舵アクチュエータと後輪操舵アクチュエータとを備え、それぞれを制御する場合には2自由度となる。
【0038】
アクティブスタビライザ45はロール剛性の制御のみのため1自由度、アクティブサスペンション46は3自由度である。アクティブサスペンション46は、四輪のタイヤにそれぞれ設けられるが、車体の自由度はロール、ピッチ、ヨーとなるので3自由度となる。
【0039】
車両制御アクチュエータ群4の自由度nは、車両の仕様に応じて固定された値であってもよく、各アクチュエータの状態に応じて変動する値であってもよい。例えば、各アクチュエータにおいて異常が検知された場合には、当該アクチュエータが使用不能になったとして車両制御アクチュエータ群4の自由度nを減らしてもよい。各アクチュエータにおいて、熱保護の必要性があると判定された場合には、当該アクチュエータを使用しないものとして車両制御アクチュエータ群4の自由度nを減らしてもよい。アクチュエータの異常検知及び熱保護の判定については周知の手法を採用することができる。
【0040】
車両制御部14は、タイヤ3分力演算部13の演算した四輪のタイヤ3分力uに基づいて車両制御アクチュエータ群4に制御指令を送信することで、ドライバ入力に応じた車両制御を実現する。
【0041】
車両制御部14は、四輪のタイヤ3分力uを各アクチュエータのインターフェースに合わせた制御指令に変換するデバイスドライバの機能を有していてもよい。車両制御部14は、例えば駆動力波形整形(駆動系制振制御)により各輪の前後力Fxiを駆動アクチュエータ41用の制御指令Fxciに変換してもよい。駆動力波形整形には、例えば周知の駆動系逆モデルを用いることができる。車両制御部14は、前後力の制御指令をそのまま出力してもよい。ブレーキアクチュエータ42用の制御指令も同様とすることができる。
【0042】
車両制御部14は、例えば周知のステア角演算により、各輪の横力Fyi、横滑り角β、ヨー角速度r、及び前後方向の車速Vxを前輪操舵アクチュエータ43用の制御指令δf及び後輪操舵アクチュエータ44用の制御指令δrに変換してもよい。車両制御部14は、例えば周知のアクティブスタビライザ逆モデルを用いることにより、各輪の上下力Fziをアクティブスタビライザ45用の制御指令に変換してもよい。アクティブスタビライザ45がロールモーメントをインターフェースとしている場合は座標変換によりロールモーメントに変換する。車両制御部14は、例えば周知のアクティブサスペンション逆モデルを用いることにより、各輪の上下力Fziをアクティブサスペンション46用の制御指令に変換してもよい。
【0043】
[タイヤ3分力演算部の処理]
本実施形態では、一例として、車両の四輪においてタイヤの前後力を生じさせる車両制御アクチュエータ(例えば、インホイールモータ、ブレーキ等)を用いて、重心6分力のうち車両の前後力とロール、ピッチ、及びヨーを制御する場合について説明する。この場合、重心6分力yは、下記式(5)のように表すことができる。
【数5】
【0044】
四輪のタイヤ3分力uは、下記式(6)のように表すことができる。
【数6】
【0045】
この場合の係数行列Cは、例えば、下記式(7)のように表すことができる。θ
fは前輪のアンチダイブ角またはアンチリフト角、θ
rは後輪のアンチリフト角またはアンチスクォート角、hは重心高さ、l
fは重心から前輪車軸までの距離、l
rは重心から後輪車軸までの距離、t
fは前輪トレッド幅、t
rは後輪トレッド幅である。
【数7】
【0046】
タイヤ3分力演算部13は、下記式(8)に示す評価関数Jを最小化するように、重心6分力yに応じたタイヤ3分力uを求める。これは、重心6分力の目標値との誤差の2乗和を最小化するようなタイヤ3分力uを求めることを意味する。
【数8】
【0047】
式(8)を最小化することは、下記式(9)を最小化することと等価である。
【数9】
【0048】
タイヤ3分力演算部13は、車両制御アクチュエータ群4の特性又は各輪の特性に応じたタイヤ3分力uの上下限を考慮する。車両制御アクチュエータ群4の特性として、例えば、駆動モータの回転数に対するトルクの特性に応じた前後力の上下限や、ブレーキのように前後力として正の値をとることができない特性などが挙げられる。また、アクチュエータの応答性に応じて前回値からの変化量が制限され、上下限が与えられることも挙げられる。これらの他、熱やアクチュエータの耐久性に基づいて設定される作動の制限値や、各アクチュエータの機能の安全性に対して設定される上下限や変化勾配の制限値などが挙げられる。
【0049】
各輪の特性としては、各輪の輪荷重、タイヤの種別、及び路面状況に応じて変化するタイヤ作用力の上下限が挙げられる。例えば、加速度センサなどで検出した車両の運動状態量から推定した輪荷重や、車載カメラの撮影画像などから推定した路面状況を基に、各輪のタイヤ作用力を制限してもよい。
【0050】
タイヤ3分力演算部13は、上述の車両制御アクチュエータ群4の特性又は各輪の特性に応じたタイヤ3分力uの上下限に相当する不等式として表される制約を各輪に対して課す。制約は、下記式(10)で表される。
【数10】
【0051】
行列Aは、下記式(11)で表され、下記式(12)で表されるベクトルa
iから構成される。また、行列bは、下記式(13)で表される。行列Aの成分a
ijの符号により、式(10)における「以上」又は「以下」が与えられる。行列bの成分b
iの値により、式(10)における「uの成分の上限値又は下限値」が与えられる。
【数11】
【数12】
【数13】
【0052】
不等式で表される制約の数は、車両制御アクチュエータ群4の自由度の数nに対応しており、例えば、アクチュエータのそれぞれに対して上下限を考慮する場合、式(11)~式(13)におけるiは1~2nとなる。また、式(12)において、jは1~nとなる。今回の一例のように、車両の四輪においてタイヤの前後力を生じさせる車両制御アクチュエータに対して上下限を考慮する場合、nは4となり、不等式制約の数は全部で8個となる。
【0053】
タイヤ3分力演算部13は、式(10)のような不等式制約の下において、式(8)で表された評価関数を最小化するために、有効制約法を用いた二次計画法により最適化計算を行う。有効制約法では、式(10)のような不等式で表される制約が各輪に対して課されている。「制約が各輪に対して課されている」とは、最適解の演算の際に制約が必ず適用されることを意味しない。「制約が各輪に対して課されている」とは、不等式として表される制約が最適解の演算の際に適用可能に用意されていることを意味する。
【0054】
有効制約法では、所定の最適性条件に基づいて、各輪のそれぞれについて制約を有効とするか又は無効とするかを判定し、有効と判定した制約を適用し、仮の最適解の演算を行う。逆に無効と判定した制約は、仮の最適解の演算の際に適用されない。ここで、1回の仮最適解演算につき、各輪の制約のいずれか1個について、適用状態を無効から有効、あるいは有効から無効に変更する。このような仮最適解演算を、所定の最適性条件を満たすまで繰り返すことで、不等式制約下における最適解を求める。
【0055】
仮の最適解を演算するに際し、一般的にはラグランジュの未定乗数法を用いる。ラグランジュ関数Lは下記式(14)のように表される。なお、λはラグランジュ乗数と呼ばれ、下記式(15)で表されるベクトルである。ラグランジュ乗数の成分λ
iの数は不等式制約の数に対応しており、下記式(15)におけるiは、式(11)~式(13)と同様に1~2nとなる。
【数14】
【数15】
【0056】
式(14)をタイヤ3分力uとラグランジュ乗数λで偏微分すると、下記式(16)が得られる。
【数16】
【0057】
ラグランジュの未定乗数法では、式(16)を解くことで最適解とラグランジュ乗数を求める。有効制約法では、有効と判定した不等式制約を等式制約に置き換え、これを式(16)に含めて解くことで、有効とした制約を適用した上で、評価関数Jを最小化する最適解を求める。「不等式制約を等式制約に置き換える」とは、式(10)のおける不等号を等号に置き換えることを意味する。
【0058】
本実施形態における所定の最適性条件は、下記の式(17)~式(20)で表される。これらの4つの式は、KKT[Karush-Kuhn-Tucker]条件と呼ばれる。
【数17】
【数18】
【数19】
【数20】
【0059】
式(17)は、式(16)と同義であり、ラグランジュの未定乗数法を用いて最適解を求めることを意味する。また、式(18)は、不等式で表される制約である式(10)と同義である。
【0060】
式(19)は、式(16)における∇Fの方向と∇Gの方向の関係に基づき、ラグランジュ乗数λの符号を示す式である。ラグランジュ乗数λが正の値の場合、∇Fが減少する方向と、∇Gが減少する方向とは反対の向きとなる。すなわち、評価関数Jを減少させる方向と、不等式制約を満たす方向とが反対の向きとなる。このとき、制約は有効とすべきであると言える。一方、ラグランジュ乗数λが負の値の場合、∇Fが減少する方向と、∇Gが減少する方向とが同じ向きとなる。すなわち、評価関数Jを減少させる方向と、不等式制約を満たす方向とが同じ向きとなる。このとき、制約は無効とすべきであると言える。ラグランジュ乗数λが0よりも小さく、式(19)を満たさない場合、無効とすべき制約が存在することを意味していると言える。
【0061】
式(20)は、ラグランジュ乗数λと不等式制約の関係を表している。制約を無効としたとき、λiは0となる。このとき、式(20)が満たされる。一方、制約を有効としたとき、λiは0よりも大きな値となるが、式(10)で表される不等式が等式制約に置き換えられるため、式(20)の左辺は0となり、式(20)が満たされる。
【0062】
本実施形態において、式(17)~式(20)は、式(10)で表される不等式制約の下で、式(8)で表される評価関数Jを最小化する最適解を求める上での必要十分条件である。
【0063】
次に、
図3を用いて、重心6分力から各輪の前後力を求める一例を説明する。
図3において、上方向が車両前方となり、車両が前進する状態を示している。
図3(a)は、車両6分力として左回りのヨーモーメントの目標値が与えられた際に、車両制御アクチュエータとしてインホイールモータを用いて各輪の前後力を発生させる例を示している。
図3(b)は、
図3(a)と同様にヨーモーメントの目標値が与えられた際に、ブレーキを用いて各輪の前後力を発生させる例である。
【0064】
図3(a)において、ヨーモーメントの目標値から求められる各輪の前後力の制御要求値は、インホイールモータで発生させることのできる前後力の上下限値に対して十分小さいものとする。このような場合、不等式制約を考慮する必要はなく、制約を全て無効とした状態で、式(16)を解くことで、重心6分力の目標値に対する、各輪の前後力の最適解を求めることができる。この場合、反復計算は生じず、反復計算数は0回となる。
【0065】
一方、
図3(b)のようにブレーキを用いる場合、各輪で発生させることができる前後力は負の値しかとることができず、各輪の前後力の上限は0以下に制限される。制約を全て無効とした状態で、式(16)を解いた場合、各輪の前後力が0よりも大きな値となることがある。しかし、このような前後力は実際には発生させることができない。このような場合において、最適解を求めるためには、右側の前後二輪について制約を有効として、式(16)を解く必要がある。
【0066】
有効制約法では、式(17)~式(20)で表された最適性条件に基づき、各輪のそれぞれについて制約を有効とするか又は無効とするかを判定し、有効と判定した制約を適用して仮の最適解の演算を行う。そして、式(17)~式(20)で表された最適性条件を満たすまで仮最適解演算を繰り返し、最適解を求める。
図3(b)のようにヨーモーメントの目標値のみが与えられる場合に限らず、例えば、ロールモーメントとヨーモーメントの目標値が同時に与えられる場合などには、仮の最適解を演算する前に、どの制約を有効とすべきか判断することは困難である。
図3(b)の例において、例えば、全ての制約を無効とした状態で最適化計算を開始する場合、右側の前後二輪について制約を無効から有効に変化させる分だけ仮最適解演算を繰り返し、その分だけ反復計算数が増加するため、反復計算数は合計で2回となる。
【0067】
重心6分力の目標値の更新に合わせて、最適化計算によりタイヤ3分力の制御要求値を求めようとすると、前述のような反復計算が重心6分力の更新のたびに生じる恐れがある。仮最適解演算において、式(16)を解く際には行列計算を行う必要があるが、このような処理は車両制御装置の計算負荷の増大を招くことから、反復計算数を低減することが望ましい。
【0068】
[車両制御装置の処理]
次に、本実施形態に係る車両制御装置100の処理の一例について
図4及び
図5を用いて説明する。
【0069】
図4は、車両制御装置100の車両制御処理の一例を示すフローチャートである。
図4に示されるように、車両制御装置100のECU10は、S01として、ドライバ入力の認識を行い、認識したドライバ入力に応じた運動指令を演算する。また、ドライバ入力に応じた運動指令の他、車両運動制御要求を読み込む。次に、ECU10は、S02として、ドライバ入力に応じた運動指令又は車両運動制御要求に基づき、重心6分力yを演算する。次に、S03において、ECU10は、重心6分力yに基づいて、有効制約法を用いた二次計画法により、各輪のタイヤ3分力uを演算する。そして、S04において、ECU10は、各輪のタイヤ3分力uに基づいた制御指令を車両制御アクチュエータ群に送信することで、車両制御を実現する。
【0070】
図5は、タイヤ3分力演算処理の一例を示すフローチャートである。ECU10は、タイヤ3分力演算部13により、前述の式(17)~式(20)で表される4つの最適性条件に基づき、各輪のタイヤ3分力uの最適解を演算する。ここで、式(17)を最適性条件(1)、式(18)を最適性条件(2)、式(19)を最適性条件(3)、式(20)を最適性条件(4)とする。タイヤ3分力演算部13は、重心6分力y、又は係数行列C、又はタイヤ3分力の上下限値bが更新されることに合わせ、最適化計算を行う。
【0071】
S10において、タイヤ3分力演算部13は、重心6分力y、係数行列C、及びタイヤ3分力の上下限値bを読み込む。これらの値に加えて、S12における制約の適用状態の変化の推定に用いる値として、重心6分力yの前回値、タイヤ3分力の上下限値bの前回値、係数行列Cの前回値、及びラグランジュ乗数λの前回値を読み込んでもよい。
【0072】
S11において、タイヤ3分力演算部13は、制約の適用状態の記憶値を読み込む。記憶値がない場合は、例えば、制約を全て無効とした状態を記憶値に設定するとよい。
【0073】
S12において、タイヤ3分力演算部13は、制約の適用状態に変化が生じるか否かを推定する。適用状態の変化が生じるか否かの推定方法については、後述する。
【0074】
S13において、タイヤ3分力演算部13は、S12における推定結果を基に、制約の適用状態の記憶値を用いるか、あるいは適用状態の初期化を行うかを選択する。適用状態の変化が生じると推定される場合、S14における制約の適用状態の初期化として、例えば、全ての制約を無効としてもよい。その他、有効から無効に変化すると推定される制約のみを無効としてもよい。一方、適用状態の変化が生じないと推定される場合、S15に移行し、タイヤ3分力演算部13は、適用状態の記憶値を制約の初期状態として設定する。
【0075】
S16において、タイヤ3分力演算部13は、実行可能解の初回値を演算する。実行可能解とは、式(10)を満たし、不等式で表された制約の範囲内に存在する解である。制約の適用状態の記憶値がない場合、又は制約の適用状態を初期化した場合には、実行可能解の初回値として、例えば、制約の上下限の中央値を設定してもよい。
【0076】
S17において、タイヤ3分力演算部13は、反復計算を続けるか否かを判定する。1回目の仮最適解演算を行う場合は、そのままS18に移行する。反復計算を続けるか否かの判定方法については、後述する。
【0077】
S18において、タイヤ3分力演算部13は、下記式(21)に従い、タイヤ3分力の仮の最適解u
*及びラグランジュ乗数λ
*を演算する。下記式(21)は、式(17)及び式(20)の連立方程式を解くことと同義であり、最適性条件(1)及び(4)を満たす仮最適解を求めることを意味する。
【数21】
【0078】
式(21)において、kは仮最適解演算の回数を示す。1回目の仮最適解演算ではkは1となる。また、A(k)及びb(k)は、有効とした制約のみを等式制約に置き換えて式(16)に含めるように、A及びbの成分を再構成したものである。
【0079】
S19において、タイヤ3分力演算部13は、式(18)に基づいて、有効とすべき制約があるか否かを判定する。ここで、式(18)を満たす場合、最適性条件(2)を満たすことを意味する。制約のいずれか一つでも式(18)を満たさない場合、S20に移行する。
【0080】
S20において、タイヤ3分力演算部13は、有効とすべき制約の判定を行い、判定された制約を有効とすると共に、実行可能解を更新する。下記式(22)に従い、不等式制約それぞれに対応するτ
iを求める。ここで、τ
iは0以上且つ1以下の範囲に制限される。下記式(23)のように、τ
iの中で最も小さい値を選び、これに対応する不等式制約を有効とすべきと判定する。そして、下記式(24)に従い、有効と判定した制約上に位置する実行可能解を求める。下記式(24)に従って、現在の実行可能解u
(k)とS18で求めた仮最適解u
*
(k)を基に、次の反復計算における実行可能解u
(k+1)を求める。
【数22】
【数23】
【数24】
【0081】
S21において、タイヤ3分力演算部13は、式(19)に基づいて、無効とすべき制約があるか否かを判定する。ここで、式(19)を満たす場合、最適性条件(3)を満たすことを意味する。制約のいずれか一つでも式(19)を満たさない場合、S22に移行する。
【0082】
S22において、タイヤ3分力演算部13は、無効とすべき制約の判定を行う。ラグランジュ乗数λiが0未満となるものの中から最も小さいものを選び、そのラグランジュ乗数λiに対応する制約を無効とする。
【0083】
S18、S19及びS21における処理により、S23では、最適性条件(1)~(4)を全て満たす最適解が求まった状態と言える。タイヤ3分力演算部13は、S23において、求めた仮の最適解u*をuに代入し、最適解の演算結果(タイヤ3分力の最適解)として設定する。さらに、タイヤ3分力演算部13は、S24において、最適性条件(1)~(4)を全て満たしたとして、制約の適用状態を記憶する。
【0084】
タイヤ3分力演算部13は、S20又はS22へ移行した後、S17において、反復計算を続けるか否かを判定する。例えば、反復計算の回数に上限を設け、反復計算数が上限を超える場合、反復計算を続けることを止める。また、例えば、前回の反復計算で求めた仮最適解と、今回の反復計算で求めた仮最適解の変化量が所定の閾値以下の場合、反復計算を続けることを止めてもよい。反復計算を続ける場合は、S18に移行する。一方、反復計算を止める場合は、S25に移行する。
【0085】
S25では、最適性条件(1)~(4)を全て満たす最適解が求まった状態であるとは言えない。そのため、タイヤ3分力演算部13は、S25において、仮の最適解u*ではなく、代用結果をuに代入し、最適解の演算結果として設定する。代用結果としては、例えば、前回以前の最適化計算において求められた、最適性条件(1)~(4)を全て満たす最適解を設定するとよい。
【0086】
S26において、タイヤ3分力演算部13は、最適性条件(1)~(4)を全て満たしていないとして、制約の適用状態の記憶値をクリアする。最適性条件(1)~(4)を全て満たしていない場合の制約の適用状態を、次回の最適化計算に適用すべきではないと考えられるからである。
【0087】
タイヤ3分力演算部13は、S24において、制約の適用状態を記憶した場合、次回の最適化計算では、S11において、適用状態の記憶値を読み込む。そして、タイヤ3分力演算部13は、S12において、制約の適用状態の変化が生じるか否かを推定し、S13において、制約の適用状態の記憶値を、制約の初期状態として設定する。
【0088】
S16において、タイヤ3分力演算部13は、実行可能解の初回値を演算する。制約の適用状態の記憶値を、制約の初期状態として設定する場合には、実行可能解の初回値として、制約の上下限の中央値の他、例えば、前回の最適化計算で求めた最適解を設定してもよい。このとき、前回の最適化計算におけるS24において、制約の適用状態に加えて、最適解を記憶するとよい。
【0089】
前述のように制約の適用状態の記憶値を、初期状態に設定することで、タイヤ3分力演算部13は、1回目のS18において、例えば前回の最適化計算で有効化した制約を有効とした状態で仮最適解の演算を行う。これにより、制約を無効から有効に変更するための反復計算を省くことができる。
【0090】
S12における、制約の適用状態に変化が生じるか否かの推定として、例えば、重心6分力yの符号の変化を用いることができる。重心6分力yの前回値と今回値を比較し、符号が変化する場合に制約の適用状態が変わると推定してもよい。例えば、ヨーモーメント又はロールモーメントの符号が変化する場合、左右の各輪の前後力の符号が変化する可能性がある。例えばブレーキを用いる場合、制動力を発生させる輪が左右で切り替わる可能性がある。すなわち、不等式制約を適用すべき輪が変わる可能性がある。
【0091】
この他、制約の適用状態に変化が生じるか否かの推定として、例えば、重心6分力yの前回値からの変化量が所定の閾値よりも大きい場合、又は、係数行列Cの値の前回値からの変化量が所定の閾値よりも大きい場合、又は、不等式制約の上下限値bの前回値からの変化量が所定の閾値よりも大きい場合などに、制約の適用状態の変化が生じると推定してもよい。
【0092】
また、上述のような条件に加えて、ラグランジュ乗数λに基づいて、各輪における制約の適用状態の変化が生じるか否かを推定してもよい。ラグランジュ乗数λの大きさは、制約の強さを表すことから、ラグランジュ乗数λの値が大きい場合には、制約の適用状態の変化が生じにくいと考えられる。例えば、重心6分力yの正負が切り替わり、且つ、各輪のラグランジュ乗数λiの前回値のいずれか一つが所定の閾値以下である場合、制約の適用状態の変化が生じると推定してもよい。このとき、前回の最適化計算におけるS24において、制約の適用状態に加えて、ラグランジュ乗数λを記憶するとよい。
【0093】
なお、ラグランジュ乗数λの値に加えて、ラグランジュ乗数λの微分値に基づいて、各輪における制約の適用状態の変化が生じるか否かを推定してもよい。ラグランジュ乗数λの値が減少傾向にあり、且つ、ラグランジュ乗数λの値が所定の閾値以下である場合、制約の適用状態の変化が生じると推定してもよい。
【0094】
[発明の作用及び効果]
図6を参照し、制約の適用状態の記憶値を用いて、有効制約法を用いた二次計画法により最適解の演算を行う処理の作用と効果を説明する。また、
図7及び
図8を参照し、制約の適用状態の変化を推定し、変化が生じると推定した場合に適用状態の初期化を行う処理の作用と効果を説明する。
図6~
図8は、車両がレーンチェンジを行う際に、重心6分力の内のロールモーメントとヨーモーメントを制御する例を示している。ここで、重心6分力の内の前後力とピッチモーメントの目標値は0である。また、車両制御アクチュエータとしてブレーキを用いて、四輪の前後力を発生させる例を示している。
【0095】
図6は、制約の適用状態の記憶の有無を比較して説明するための図である。
図6は、各縦軸に示されるように、上から順に、ロールモーメント、ヨーモーメント、各輪における前後力、各輪におけるラグランジュ乗数λ、各輪における制約の適用状態、及び、反復計算の回数が示されている。各輪における制約の適用状態は、プロットが有る時刻では制約が有効であることを意味し、プロットがない時刻では制約が無効であることを意味する。ロールモーメント、ヨーモーメント、各輪における前後力、及び各輪におけるラグランジュ乗数λは、0を基準として縦軸の上方が正の値であり、下方が負の値である。
【0096】
図6は、具体的には、車両がレーンチェンジを行う際の前半部分に対応している。ロールモーメント及びヨーモーメントのグラフにおいて、重心6分力に含まれるロールモーメント及びヨーモーメントの目標値が実線で示されている。重心6分力の目標値は、車両制御アクチュエータ群4の特性又は各輪の特性に応じたタイヤ3分力の上下限に相当する不等式が考慮されていない。
図6では、インホイールモータではなくブレーキによって各輪の前後力の制御を行う。つまり、各輪における前後力は、負の値のみをとることができる。そのため、重心6分力の目標値に対して、破線で示される最適解の演算結果として生じる重心6分力の追従が、一部で限定的となっている。
【0097】
図6において、時刻0.2のとき、操舵が開始されることで重心6分力の目標値の絶対値が0よりも大きくなり、各輪における制約の適用状態が変化している。具体的には、右後輪(RR)及び右前輪(FR)において、プロットが無しから有りに変化している。これらの変化のそれぞれは、右後輪(RR)及び右前輪(FR)において、制約が無効の場合には、仮最適解が最適性条件を満たさなかったため、それぞれの制約が無効から有効に変化したことを意味する。すなわち、時刻0.2のときの最適化計算において、後輪(RR)及び右前輪(FR)の制約を無効から有効に変化させ、更なる仮最適解演算が行われることから、反復計算数が1ずつ増加し、反復計算数が合計で2回となる。
【0098】
本実施形態のタイヤ3分力演算部13は、時刻0.2のときの最適化計算において、最適性条件を満たす最適解が求まった際の制約の適用状態を記憶する。そして、時刻0.2の次回の最適化計算において、適用状態の記憶値を制約の初期状態とし、仮最適解演算を開始する。ここで、最適性条件を満たす最適解が求まった際には、時刻0.2のときと同様に制約の適用状態を記憶する。時刻0.2の次々回以降の最適化計算においても同様にして、最適化計算を行う。
【0099】
時刻0.2から時刻0.3付近までは、右後輪(RR)及び右前輪(FR)において、プロットは有りのままで変わらない。すなわち、右後輪(RR)及び右前輪(FR)の制約が有効の状態で、最適性条件を満たすことを示している。本実施形態のタイヤ3分力演算部13は、時刻0.2以降の各時刻における最適化計算において、右後輪(RR)及び右前輪(FR)の制約を有効とした状態から、仮最適解演算を開始するため、制約を変える必要がなく、1回の仮最適解演算で最適解が求まる。すなわち、反復計算数は0回となる。
【0100】
一方、制約の適用状態を記憶せず、例えば、各輪における制約を全て無効とした状態を初期状態として仮最適演算を開始する場合、後輪(RR)及び右前輪(FR)の制約を有効とするための仮最適解演算が必要となり、時刻0.2から時刻0.3付近までの各時刻において、反復計算数は2回となる。
【0101】
次に、時刻0.3付近のとき、左前輪(FL)における制約の適用状態が変化している。具体的には、左前輪(FL)において、プロットが無しから有りに変化している。このとき、本実施形態のタイヤ3分力演算部13は、前回の最適化計算で記憶した制約の適用状態を基に、右後輪(RR)及び右前輪(FR)の制約を有効とした状態から、仮最適解演算を開始するため、左前輪(FL)の制約を無効から有効に変化させる分だけ反復計算数が増加する。すなわち、反復計算数は1回となる。また、これ以降から0.5付近までの各時刻において、各輪の制約の適用状態は変化しない。本実施形態では、一旦、左前輪(FL)の制約を有効にした以降、右後輪(RR)、右前輪(FR)及び左前輪(FL)の制約を有効とした状態から仮最適解演算が開始される。そのため、各時刻の最適化計算において、制約を変える必要がなく、1回の仮最適解演算で最適解が求まる。すなわち、反復計算数は0回となる。
【0102】
一方、制約の適用状態を記憶せず、例えば、各輪における制約を全て無効とした状態を初期状態として仮最適演算を開始する場合、右後輪(RR)、右前輪(FR)及び左前輪(FL)の制約を有効とするための解最適解演算が必要となり、時刻0.3付近以降から時刻0.5付近までの各時刻において、反復計算数は3回となる。
【0103】
以上のように、最適性条件を満たす解が求まった際の制約の適用状態を記憶し、次回の最適化計算において、適用状態の記憶値を、制約の初期状態として仮最適解演算を開始することで、反復計算の回数を低減することが可能となる。
【0104】
タイヤ3分力演算部13は、各輪における制約の適用状態の変化が生じるか否かを推定してもよい。タイヤ3分力演算部13は、各輪のいずれかにおいて有効としていた制約を無効とするとの適用状態の変化が生じると推定した場合、記憶されている適用状態を初期化してもよい。
【0105】
図7は、制約の適用状態の初期化の有無を比較して説明するための図である。
図7において、各縦軸は
図6と同様である。
図7は、具体的には、車両のレーンチェンジが終了するタイミングに対応しており、車両のロールの挙動の収束が図られている。重心6分力に含まれるロールモーメントの目標値は、正の値及び負の値に交互に変化している。そのため、ブレーキの制動力を発生させる輪が、左右で交互に切り替わる状況となっている。
【0106】
図7において、時刻0.1付近のとき、各輪における制約の適用状態が変化している。具体的には、右後輪(RR)及び左前輪(FL)において、プロットが有りから無しに変化すると共に、右前輪(FR)及び左後輪(RL)において、プロットが無しから有りに変化している。これらの変化のそれぞれは、各輪における制約の適用状態が前回の状態のままでは、仮最適解が最適性条件を満たさなかったため、それぞれの制約が無効から有効、あるいは有効から無効に変化したことを意味する。
【0107】
図7において、本実施形態のタイヤ3分力演算部は、重心6分力の目標値の正負が切り替わる場合に、制約の適用状態の変化が生じると推定する。タイヤ3分力演算部13は、右後輪(RR)及び左前輪(FL)において有効としていた制約を無効とするとの適用状態の変化が生じると推定した場合、記憶されている適用状態を初期化する。ここでは、制約の適用状態の初期化として、全ての輪についての制約を無効とする。この初期化により、右後輪(RR)及び左前輪(FL)における制約を有効から無効に変化させるための反復計算が不要となる。その結果、右前輪(FR)及び左後輪(RL)における制約を無効から有効に変化させる分だけ反復計算が行われ、反復計算数が合計で2回となる。
図7において、時刻0.1付近の他、時刻0.3付近、時刻0.5付近、及び、時刻0.7付近においても同様である。
【0108】
一方、記憶されている制約の適用状態を初期化しない場合、右後輪(RR)及び左前輪(FL)における制約を有効から無効に変化させ、右前輪(FR)及び左後輪(RL)における制約を無効から有効に変化させるため、各制約を変化させる分だけ反復計算数が1ずつ増加し、反復計算数が合計で4回となる。
【0109】
タイヤ3分力演算部は、上述の重心6分力に関する条件に加えて、ラグランジュ乗数λに基づいて、各輪における制約の適用状態の変化が生じるか否かを推定してもよい。例えば、重心6分力の目標値の正負が切り替わり、且つ、各輪のラグランジュ乗数λの値が所定の閾値以下である場合、制約の適用状態の変化が生じると推定してもよい。
【0110】
図8は、制約の適用状態の初期化において、ラグランジュ乗数λの考慮の有無を比較して説明するための図である。
図8において、各縦軸は
図6及び
図7と同様である。ラグランジュ乗数λの図に示された破線は、ラグランジュ乗数λの所定の閾値を示している。
図8は、具体的には、車両のレーンチェンジの途中に対応しており、重心6分力に含まれるロールモーメントとヨーモーメントの目標値は、正負の符号が変化している。
【0111】
図8において、時刻0.2付近のとき、ヨーモーメントの目標値の正負が切り替わっている。しかし、右前輪(FR)及び左後輪(RL)において、プロットは有りのままで変化していない。このとき、右前輪(FR)及び左後輪(RL)についてのラグランジュ乗数の値は閾値よりも大きく、ラグランジュ乗数λを考慮した場合には、制約の適用状態の変化が生じると推定しない。そのため、制約の適用状態の記憶値を用いることで、反復計算数は0回となる。
【0112】
一方、ラグランジュ乗数λを考慮せずに、車両6分力の目標値の正負の切り替わりのみで制約の適用状態の変化を推定する場合、適用状態の変化が生じると推定し、記憶された制約の適用状態が初期化される。このとき、右前輪(FR)及び左後輪(RL)の制約を無効から有効に変化させる分だけ反復計算が生じるため、反復計算数が合計で2回となる。このような初期化は、反復計算数の増加を招くことから不要と扱う方が、より適切に反復計算数を低減することができる。時刻0.3付近におけるロールモーメントの目標値の正負が切り替わる際にも同様のことが言える。
【0113】
以上説明したように、車両制御装置100によれば、所定の最適性条件を満たす最適解が求まった際の制約の適用状態を記憶し、次回の最適化計算において、制約の適用状態の記憶値を制約の初期状態として、仮最適解演算を開始する。すなわち、次回の最適化計算では、最適解が求まった際に有効とした制約を、適用した状態で仮最適解演算を開始する。これにより、全ての制約を無効とした状態から演算を開始する場合と比べ、制約を有効とする際に生じる反復計算数を低減することができる。
【0114】
車両制御装置100において、タイヤ3分力演算部13は、各輪において判定結果制約の適用状態の変化が生じるか否かを推定し、各輪のいずれかにおいて、有効としていた制約条件制約を無効とするとの判定結果適用状態の変化が生じると推定した場合、記憶されている判定結果制約の適用状態を初期化する。これにより、例えば有効としていた制約を無効にする際に反復計算が生じるところ、予め制約を無効とすることを推定し、このような場合に制約を初期化することで、有効としていた制約を無効とするための反復計算を省くことができる。
【0115】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。本発明は、上述した実施形態をはじめとして、当業者の知識に基づいて種々の変更、改良を施した様々な形態で実施することができる。
【0116】
上記実施形態では、車両制御装置100は、ドライバ入力に基づいて車両制御を実行したが、車両運動制御要求に基づいて車両制御を実行してもよい。車両運動制御要求は、例えば運転支援制御又は自動運転制御に基づいて生成されるアクセル操作、ブレーキ操作、及び操舵に対応する制御要求であってもよい。この場合、車両制御装置100は、車両運動制御要求を演算するために、車両の位置を検出する車両位置検出部(例えばGPS受信器)、カメラ及び/又はレーザレーダといった車載センサ、並びに地図情報を記憶する地図データベースを、ECU10に通信可能に備えていてもよい。ECU10は、これらの構成からの情報に基づいて車両運動制御要求を演算する構成と機能を有していてもよい。また、車両運動制御要求は、運動状態量を検出する手段により検出された外乱量に基づき、車両の挙動を制御する制御要求であってもよい。この場合、車両制御装置100は、車両運動制御要求を演算するために、例えば加速度センサなどの運動状態量を検出する手段からの信号を取り込む構成と機能を有してもよい。
【0117】
上記実施形態では、一例として、各輪においてタイヤの前後力を生じさせる車両制御アクチュエータ(例えば、インホイールモータ、ブレーキ等)を用いて、重心6分力のうち車両の前後力とロール、ピッチ、及びヨーを制御する場合について説明したが、これに限定されない。車両制御アクチュエータ群4は、駆動アクチュエータ41、ブレーキアクチュエータ42、前輪操舵アクチュエータ43、後輪操舵アクチュエータ44、アクティブスタビライザ45及びアクティブサスペンション46の内の全て、又は任意の組み合わせ、又はいずれか一つで構成されてもよい。また、重心6分力の内の全て、又は任意の組み合わせ、又はいずれか一つを制御してもよい。また、各輪において発生させるタイヤ作用力は、タイヤ3分力の内の全て、又は任意の組み合わせ、又はいずれか一つであってもよい。
【0118】
上記実施形態では、タイヤ3分力演算部13は、各輪のいずれかにおいて有効としていた制約を無効とするとの適用状態の変化が生じると推定した場合に、必ずしも、記憶されている適用状態を初期化しなくてもよい。タイヤ3分力演算部は、記憶されている制約の適用状態を初期化しない場合、各輪において適用状態の変化が生じるか否かを推定しなくてもよい。
【0119】
上記実施形態では、一例として、最適解の演算における評価関数を、重心6分力の目標値との誤差の二乗和としたが、これに限定されない。評価関数として、例えば、重心6分力の目標値との誤差の二乗和に加えて、各輪のタイヤ3分力の目標値との誤差の二乗和を加えてもよい。また、車両6分力や各輪のタイヤ3分力に対して重みを考慮してもよい。このとき、重みを加味するように係数行列を変更することの他、重み行列を加味できるように評価関数を変更することをしてもよい。
【符号の説明】
【0120】
4…車両制御アクチュエータ群、12…重心6分力演算部、13…タイヤ3分力演算部、14…車両制御部、100…車両制御装置。