(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-27
(45)【発行日】2025-06-04
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
B60W 30/095 20120101AFI20250528BHJP
【FI】
B60W30/095
(21)【出願番号】P 2024556963
(86)(22)【出願日】2022-11-10
(86)【国際出願番号】 JP2022041954
(87)【国際公開番号】W WO2024100853
(87)【国際公開日】2024-05-16
【審査請求日】2025-03-14
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(73)【特許権者】
【識別番号】000125370
【氏名又は名称】学校法人東京理科大学
(74)【代理人】
【識別番号】110004303
【氏名又は名称】弁理士法人三協国際特許事務所
(72)【発明者】
【氏名】佐藤 晶太
(72)【発明者】
【氏名】上條 賢治
(72)【発明者】
【氏名】波多野 崇
(72)【発明者】
【氏名】中村 文一
(72)【発明者】
【氏名】手塚 一成
【審査官】吉村 俊厚
(56)【参考文献】
【文献】特開2015-232787(JP,A)
【文献】特開2015-136957(JP,A)
【文献】特開2009-096349(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
IPC B60W 10/00- 60/00
G08G 1/00- 99/00
B60T 7/12- 8/1769
8/32- 8/96
(57)【特許請求の範囲】
【請求項1】
車両の走行状態を変える操作入力に対して零化制御バリア関数に基づきアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する車両制御装置であって、
安全とされる所定の安全領域を表す安全集合の部分集合を、前記操作入力および前記
アシスト制御入力に関わる所定の制約に基づき求める部分集合演算部と、
前記部分集合演算部で求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定する属否判定部と、
前記属否判定部で前記部分集合に前記初期状態が属すると判定した場合に、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する走行制御部とを備え、
前記走行制御部は、前記属否判定部で前記部分集合に前記初期状態が属しないと判定した場合に、前記零化制御バリア関数の微分を最大化するアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する、
車両制御装置。
【請求項2】
前記車両の周囲に存在する物標を検出し、前記車両に対する、前記検出した物標の位置を検出する物標検出部をさらに備え、
前記部分集合演算部は、さらに、前記物標検出部で検出した物標から前記車両までの間に前記安全領域を設定することによって前記安全集合を求める、
請求項1に記載の車両制御装置。
【請求項3】
前記制約は、加速度の第1制約、および、加速度の時間微分である躍度の第2制約である、
請求項1
または請求項
2に記載の車両制御装置。
【請求項4】
前記制約は、舵角の第3制約、および、舵角の時間微分である舵角速度の第4制約である、
請求項1
または請求項
2に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の走行を制御する車両制御装置に関する。
【背景技術】
【0002】
車両は、通常、運転者による車両の運転操作により走行するが、近年、渋滞中の追従走行や、物体との衝突回避等の、運転者による車両の運転を支援する技術が研究開発されている。このような運転者の運転操作が介入するシステムの制御理論の1つとして、いわゆる制御バリア関数(CBF、Control Barrier Function)を用いたヒューマンアシスト制御が知られている。このCBFには、安全な領域として設定された安全領域の境界において、CBFの関数値が無限大に発散する特性を持つ逆数型CBFと、前記安全領域の境界でCBFの関数値が0となる特性を持つZero型CBF(零化CBF)に大別される。この零化CBFを用いたヒューマンアシスト制御は、例えば、非特許文献1に開示されている。
【0003】
この非特許文献1では、運転者による車両の運転操作uh(t)をフィードフォワードする入力アフィン非線形制御システム;dx/dt=f(x)+g(x)(u+uh(t))に、Zero型CBFを用いることによってヒューマンアシスト制御uが設計されている。
【0004】
ところで、実際の車両には、車両の性能等により、加速度(加速するための正の加速度だけではなく減速するための負の加速度を含む)や操舵等に制約がある。あるいは、車両の乗り心地等により、これら加速度や操舵等に制約が設けられる場合がある。前記非特許文献1では、このような制約が考慮されていない。
【先行技術文献】
【非特許文献】
【0005】
【文献】手塚一成、中村文一、“Zero型制御バリア関数を用いたヒューマンアシスト制御”、第64回自動制御連合講演会、2021年11月13日、14日、オンライン開催、p105~P112
【発明の概要】
【0006】
本発明は、上述の事情に鑑みて為された発明であり、その目的は、制約を考慮した、零化CBFを用いたアシスト制御で車両を制御できる車両制御装置を提供することである。
【0007】
本発明にかかる車両制御装置は、車両の走行状態を変える操作入力に対して零化制御バリア関数に基づきアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する装置および方法であって、安全とされる所定の安全領域を表す安全集合の部分集合を、前記操作入力および前記制御入力に関わる所定の制約に基づき求め、この求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定し、その結果、前記部分集合に前記初期状態が属すると判定した場合に、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する。
【0008】
上記並びにその他の本発明の目的、特徴および利点は、以下の詳細な記載と添付図面から明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】実施形態における車両制御装置の構成を示すブロック図である。
【
図2】第1実施形態における対象システムを説明するための図である。
【
図3】実施形態における車両制御装置の動作を示すフローチャートである。
【
図4】第2実施形態における対象システムを説明するための図である。
【
図5】車両の挙動が第1パターンである場合における加速度および速度の各時間変化を表すグラフである。
【
図6】車両の挙動が第2パターンである場合における加速度および速度の各時間変化を表すグラフである。
【
図7】第2実施形態における対象システムにおいて、シミュレーション結果の一例を示すグラフである。
【
図8】第3実施形態における対象システムを説明するための図である。
【
図9】車両の挙動が第3パターンである場合における舵角速度および舵角の各時間変化を表すグラフである。
【
図10】車両の挙動が第4パターンである場合における舵角速度および舵角の各時間変化を表すグラフである。
【
図11】第3実施形態における対象システムにおいて、シミュレーション結果の一例を示すグラフである。
【発明を実施するための形態】
【0010】
以下、本発明にかかる実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、適宜、その説明を省略する。な本明細書において、総称する場合には添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。
【0011】
(準備)
まず、非特許文献1に開示されたZero型(零化)制御バリア関数を用いたヒューマンアシスト制御について説明する。
【0012】
表記法について、表記の簡略化のため、連続関数f:Rn×R→Rn、g:Rn×R→Rn×mに対するC1級可微分関数h:Rn→RのLie微分Lfh(x、t)、Lgh(x、t)それぞれを次式1、2によって定義する。
【0013】
【0014】
【0015】
ある連続関数γ1:R≧0→R≧0がクラスκに含まれるとは、γ1(・)が狭義単調増加関数でかつγ1(0)=0となることである。Rは、実数を表し、R≧0は、非負の実数を表し、また、R>0は、正の実数を表す。
【0016】
ある連続関数γ2:R→Rが拡張クラスκに含まれているとは、γ2(・)が狭義単調増加関数でかつγ2(0)=0となることである。
【0017】
ヒューマンアシスト制御の対象システムは、運転者による車両の操作入力uh(t)をフィードフォワードする、次式3に表される入力アフィン非線形制御システムである。
【0018】
【0019】
ここで、x∈Rnは、状態を表し、t∈Rは、時間を表し、u∈Rmは、制御入力(制御入力量、ヒューマンアシスト制御の入力量)を表し、uh∈R→Rmは、フィードフォワード入力(運転者による車両の運転操作の入力量)を表す。写像f:Rn×R→Rnおよびg:Rn×R→Rn×mは、局所Lipschitz連続写像であるとし、uhは、連続写像であるとする。
【0020】
前記式3に表される入力アフィン非線形制御システムにおける状態xの定義域が安全集合X⊂Rnと残余の集合Xu⊂Rn\X⊂Rnと分けられる。安全集合Xは、次式4-1および式4-2に示すC1級可微分関数h:Rn→Rを用いて定義される開集合かつ時不変な集合であるとする。ここで、∂Xは、安全集合Xの境界である。x∈Xであるとき、対象システムは、安全である。
【0021】
【0022】
前記式3、式4-1および式4-2において、ヒューマンアシスト制御入力uとは、制御入力u∈Rmが次の条件A1、A2を満たすことである。
【0023】
条件A1は、人の任意の操作入力uh∈R→Rmに対し、制御入力u∈Rmが安全集合Xの正不変性を保障することである。
【0024】
条件A2は、制御入力u∈Rmが予め規定された評価規範の下で最小となることである。
【0025】
Zero型(零化)制御バリア関数を用いたヒューマンアシスト制御とは、零化CBFを用いて上記条件A1、A2を満たす制御入力u=k(x、t)を求めることである。
【0026】
すなわち、前記式3、式4-1および式4-2において、零化CBFとは、C1級可微分関数h:Rn→Rが次の条件B1、B2を満たすことである。
【0027】
条件B1は、x∈Xに関してプロパー、つまり、任意のL∈R≧0に対して、上位集合{x|h(x)≧L}がコンパクト集合であることである。
【0028】
条件B2は、任意の連続写像uh∈R→Rmに対して、次式5を満たす拡張クラスκ局所Lipschitz連続関数αが存在することである。
【0029】
【0030】
導出等は、非特許文献1に開示されており、制御入力u=k(x、t)は、次式6によって与えられ、任意の連続写像uh:R→Rmに対し、任意の時刻t≧0において、x(t)∈Xとなる。
【0031】
【0032】
ここで、関数I:Rn×R×Rm→R、J:Rn→Rは、それぞれ、次式7-1および式7-2で定義される関数である。
【0033】
【0034】
なお、制御入力u=k(x、t)は、任意の(x、t)∈X×R≧0において、次式8を満たす制御入力uの中で||u||が最小となる。このため、次式8を満たす||u||を最小にする制御入力uの設計問題は、次式8の制約条件下における||u||の最小化問題となる。
【0035】
【0036】
(実施形態の原理)
次に、制約を考慮した、零化制御バリア関数を用いたヒューマンアシスト制御について説明する。
【0037】
前記式3で表される対象システムが、操作入力uhおよび制御入力uに関わる所定の制約(入力制約)を有する場合、安全集合X内に初期状態x0があったとしても、安全が保障されるとは限らない。これは、ある安全集合Xの部分集合において、CBFの条件B2を入力制約ν∈U内で満たすことができないからである。この点は、ここでは、Viability Kernelを用いて解決される。
【0038】
前記式3で表される対象システムおよび安全集合Xにおいて、Viability Kernel V:=Viab(X)は、次式9で定義される。
【0039】
【0040】
すなわち、前記式3で表される対象システムの初期状態x0がx0∈Vを満たすとき、安全集合Xを不変集合にする制御入力uおよび操作入力uhが入力制約ν内で存在する。ここで、全てのx0∈Xに対し、x(t)∈X、∀t≧0が成立するとき、安全集合Xは、不変集合であるという。
【0041】
本実施形態では、入力制約ν∈Uを満たした上で、x∈Xを満たすヒューマンアシスト制御u=k(x、t)を求めることであるが、これは、上述のViability Kernelを用いると、Viability Kernel V⊂Xを不変集合にするヒューマンアシスト制御u=k(x、t)を求めること、と言い換えることができる。
【0042】
入力制約ν∈Uを次式10で表す連続微分可能な凸関数giとした場合、前記式3で表される対象システムおよび安全集合Xにおいて、Viability KernelとCBFの概念を融合したバイアビリティ制御バリア関数(V-CBF)は、以下の条件C1、C2、C3を満たす、C1級可微分関数h:Rn→Rであると定義できる。
【0043】
条件C1は、安全集合Xに対するViability Kernel Vについて、h(x)が次式11-1~11-3を満たすことである。ここで、∂Vは、Vの境界であり、Vcは、Vの補集合である。
【0044】
条件C2は、x∈Vに関してプロパー、すなわち、任意のL∈R≧0に対して、上位レベル集合{x|h(x)≧L}がコンパクトであることである。
【0045】
条件C3は、任意の連続写像uh:R→Uhに対して、次の不等式12を満たす拡張クラスκ局所Lipschitz連続関数α:R→Rが存在することである。ここで、h(x)の時間微分は、次式13によって定義される。
【0046】
【0047】
【0048】
【0049】
【数13】
このように定義されるV-CBFに対し、次式14で表す入力の集合S
νcbfは、Viability Kernel Vを不変集合にするので、対象システムの論理的安全性を保障する。
【0050】
【0051】
入力制約ν∈Uを次式10で表す連続微分可能な凸関数giとしたので、ヒューマンアシスト制御u=k(x、t)は、次式15で与えられる凸最適化問題を解くことによって求められる。ここで、関数I:Rn×Rm→Rは、次式16で定義される。
【0052】
【0053】
【0054】
前記式3で表される対象システムが1入力システムである場合、入力制約は、次式17で表されるノルム制約で与えられ、凸最適化問題を解くと、任意の連続写像uh:R→[-amax、amax]において、ヒューマンアシスト制御u=k(x、t)は、次式18で与えられる。ここで、関数α:R→Rは、拡張クラスκ局所Lipschitz連続関数であり、関数I:Rn×R→Rは、次式19で定義される。
【0055】
【0056】
【0057】
【0058】
なお、上述では、前記式9から、初期状態x0∈Vであれば、初期状態x0は、Viability Kernel内であり、対象システムは、安全である。一方、初期状態x0がViability Kernel外である場合、すなわち、初期状態x0∈X\V⊂Xである場合には、前記式10で表される入力制約の下、安全に欠けるが、V-CBFの微分を最大化する制御入力とすることで、その被害は、軽減できる。
【0059】
(第1実施形態)
第1実施形態は、入力制約を持つ2重積分系で表される車両システムを、対象システムとして、V-CBFを適用した実施形態である。
【0060】
図1は、実施形態における車両制御装置の構成を示すブロック図である。第1ないし第3実施形態における車両制御装置Sa~Scの構成は、基本的に同一であるので、
図1には、第1実施形態における車両制御装置Saだけでなく、第2および第3実施形態における車両制御装置Sb、Scの構成も図示されている。このため、
図1では、第1実施形態における車両制御装置Saの構成には、参照符号にさらに添え字aが付され、第2実施形態における車両制御装置Sbの構成には、参照符号にさらに添え字bが付され、第3実施形態における車両制御装置Scの構成には、参照符号にさらに添え字cが付され、第1ないし第3実施形態における車両制御装置Sa~Scで同一の構成には、参照符号のみ付されている。後述の
図3も同様である。
【0061】
第1実施形態における車両制御装置Saは、車両VCに搭載され、例えば、
図1に示すように、物標検出部1と、走行状態検出部2と、操作入力部3と、制御処理部4aと、記憶部5aと、第1動力部(駆動輪駆動部)6と、第2動力部(操舵輪駆動部)7と、制動部8と、インターフェース部(IF部)9とを備える。第1実施形態における車両制御方法は、この車両制御装置Saに実装される。
【0062】
物標検出部1は、制御処理部4aに接続され、制御処理部4aの制御に従って車両(自車両)VCの周囲に存在する物標を検出し、前記車両VCに対する、前記検出した物標の位置(相対物標位置)を検出する装置である。物標検出部1は、その検出結果を制御処理部4aへ出力する。物標検出部1は、所定の検出範囲で前記物標を検出する。前記相対物標位置は、自車両VCから物標までの距離(相対距離)および自車両VCから見た物標の方向(方位)によって表される。なお、車両制御装置S(Sa~Sc)を搭載した車両VCは、適宜、「自車両」と呼称される。このような物標検出部1は、例えば、自車両VCの前端部(例えばバンパーの中央位置)に配設され、所定の検出範囲で物標を探知するレーダと、自車両VC内において、フロントガラス近傍の天井面(ルーフ内側面)に、前記検出範囲をカバーして撮像できるように配設され、前記自車両VCの前方を撮像するカメラとを備え、前記カメラで生成した画像から、機械学習済みの学習モデルによって物標を検出し、この検出した物標の相対物標位置(相対距離および方位)を前記レーダの探知結果から求めて出力する。物標検出部1は、自車両VCに比較的近接した物標を検出するために、例えば車両VCの四角に配置されたソナーをさらに備えてもよい。
【0063】
本実施形態では、物標検出部1は、前記車両(自車両)VCに対する、前記検出した物標の速度(相対物標速度)、および、前記車両(自車両)VCに対する、前記検出した物標の加速度(相対物標加速度)のうちの少なくとも1つをさらに検出し、その検出結果を制御処理部4aへ出力する。物標検出部1は、対象システムに応じて前記相対物標速度および前記相対物標加速度のうちの少なくとも1つをさらに検出する。相対物標速度を検出する場合、例えば、前記レーダは、送信波に対する反射波のドップラーシフトに基づき、自車両VCに対する物標の相対物標速度を求める。相対物標加速度を検出する場合、例えば、この相対物標速度を時間微分することによって相対物標加速度が求められる。
【0064】
なお、物標検出部1は、カメラおよびレーダを備えて構成される場合に限らず、本実施形態では、相対物標位置を検出できればよく、例えば、カメラおよびレーダに代え、ステレオカメラを備えて構成されてもよい。この場合では、ステレオカメラの一方のカメラが前記カメラとして機能し、前記ステレオカメラが前記レーダとして機能できる。
【0065】
走行状態検出部2は、制御処理部4aに接続され、制御処理部4aの制御に従って、車両(自車両)VCの走行状態を検出する装置である。走行状態検出部2は、その検出結果を制御処理部4aへ出力する。走行状態検出部2は、例えば、自車両VCの速度(車速)を検出する速度検出部(車速センサ)、自車両VCの加速度を検出する加速度検出部(加速度センサ)、自車両VCの姿勢角(ヨー)を検出する姿勢角検出部(ヨーレートセンサ)、および、自車両VCの舵角(操舵輪の舵角)を検出する舵角検出部(第1舵角センサ)のうちの少なくとも1つを含む。走行状態検出部2は、対象システムに応じて前記速度検出部、前記加速度検出部、前記姿勢角検出部および前記舵角検出部のうちの少なくとも1つを備えて構成される。もちろん、前記速度検出部、前記加速度検出部、前記姿勢角検出部および前記舵角検出部は、例示であり、走行状態検出部2は、対象システムに応じて他の検出部を備えてもよい。
【0066】
操作入力部3は、制御処理部4aに接続され、車両(自車両)VCの走行状態を変える操作入力(操作入力量、フィードフォワード入力、フィードフォワード入力の入力量)を制御処理部4aへ出力する装置である。例えば、運転者により操作入力が入力され、この運転者による操作入力を制御処理部4aへ出力する場合には、操作入力部3は、例えば、アクセルペダルの踏込み量(ストローク量)を測定するアクセルセンサ、ブレーキペダルの踏込み量(ストローク量)を測定するブレーキセンサ、および、ステアリングホイールの回転角度(操舵角)を測定する操舵角センサ(第2舵角センサ)を備えて構成され、各センサで測定された測定結果を制御処理部4aへ出力する。あるいは例えば、操作入力部3は、例えば定速走行する定速走行運転システムや自動運転する自動運転システム等の、公知の運転システムを備えて構成され、前記運転システムで生成した操作入力を制御処理部4aへ出力する。
【0067】
第1動力部(駆動輪駆動部)6は、制御処理部4aに接続され、制御処理部4aの制御に従って、車両(自車両)VCの駆動輪を駆動する装置である。第1動力部6は、例えば、動力を生成する動力源(第1動力源)、および、前記第1動力源で生成された動力を駆動輪に伝達する動力伝達機構(トランスミッション等)を備えて構成され、前記動力によって前記駆動輪を回転させる。前記第1動力源は、例えば、エンジン、モータおよびこれらのハイブリッド装置等の原動機およびその付属機器を備えて構成される。
【0068】
第2動力部(操舵輪駆動部)7は、制御処理部4aに接続され、制御処理部4aの制御に従って、車両(自車両)VCの操舵輪を駆動する装置である。第2動力部7は、例えば、動力を生成する動力源(第2動力源)、および、前記第2動力源で生成された動力でステアリングホイールのステアリングシャフトを回転駆動する、例えばラックアンドピニオン式等の駆動機構を備えて構成され、前記動力によって前記ステアリングシャフトを回転させる。前記第2動力源は、例えば、モータや、前記第1動力源としてのエンジンによって作動され、油圧を動力として生成するポンプ等を備えて構成される。
【0069】
制動部8は、制御処理部4aに接続され、制御処理部4aの制御に従って車両(自車両)VCに制動力を与え、自車両VCを減速する装置である。制動部8は、自車両VCを減速した結果、停止させることもでき、自車両VCの停止中に制動力を与え続けた結果、自車両VCの停止を維持することもできる。制動部8は、例えば、ディスクブレーキおよび回生ブレーキ等のブレーキ装置およびその付属機器を備えて構成される。
【0070】
第1動力部6および制動部8のうちの少なくとも1つを制御することで、自車両VCの加速度が調整され、自車両VCの速度(車速)が調整される。第2動力部7を制御することで、自車両VCの走行方向が調整される。
【0071】
IF部9は、制御処理部4aに接続され、IF部9に接続された外部の機器と制御処理部4aとの間でデータを入出力する装置であり、例えば、シリアル通信方式であるRS-232Cのインターフェース回路、および、USB規格を用いたインターフェース回路等である。前記外部の機器は、例えば、テンキーパッドやキーボード等の、データを入力する入力装置、および、液晶表示装置(LCD)等の、データを表示する表示装置等である。
【0072】
記憶部5aは、制御処理部4aに接続され、制御処理部4aの制御に従って、各種の所定のプログラムおよび各種の所定のデータを記憶する回路である。前記各種の所定のプログラムには、例えば、制御処理プログラムが含まれ、前記制御処理プログラムには、例えば、車両制御装置Saの各部1~3、5a、6~9を当該各部の機能に応じてそれぞれ制御する制御プログラムや、安全とされる所定の安全領域を表す安全集合の部分集合を、操作入力および制御入力に関わる所定の制約に基づき求める部分集合演算プログラムや、前記部分集合演算プログラムで求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定する属否判定プログラムや、前記属否判定プログラムで前記部分集合に前記初期状態が属すると判定した場合に、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する走行制御プログラム等が含まれる。前記各種の所定のデータには、例えば、前記制約や、物標検出部1の検出結果や、走行状態検出部2の検出結果や、操作入力部3の操作入力等の、これら各プログラムを実行する上で必要なデータが含まれる。このような記憶部5aは、例えば不揮発性の記憶素子であるROM(Read Only Memory)や書き換え可能な不揮発性の記憶素子であるEEPROM(Electrically Erasable Programmable Read Only Memory)やFLASHメモリ等を備える。そして、記憶部5aは、前記所定のプログラムの実行中に生じるデータ等を記憶するいわゆる制御処理部4aのワーキングメモリとなるRAM(Random Access Memory)等を含む。
【0073】
記憶部5aは、前記制約を表す制約情報を記憶する制約情報記憶部51aを機能的に備える。前記制約は、上述の通り、操作入力および制御入力に関わる所定の制約であり、言い換えれば、車両(自車両)VCの走行状態に関わる制約である。前記制約は、加速度(正の加速度および負の加速度を含む)の第1制約、加速度の時間微分である躍度の第2制約、舵角の第3制約、および、舵角の時間微分である舵角速度の第4制約のうちの少なくとも1つを含む。前記制約は、対象システムに応じて前記第1ないし第4制約のうちの少なくとも1つを備える。もちろん、第1ないし第4制約は、例示であり、対象システムに応じて他の制約があってもよい。なお、加速度、躍度、舵角、舵角速度それぞれを間接的に表す関連値等であってもよい。前記制約は、例えば車両VCの仕様等に応じて適宜に決定され、例えば、車両VCの製造段階や、納車段階や、点検段階等のタイミングで、例えばIF部9に入力装置や表示装置が接続され、前記表示装置を参照しながら前記入力装置から入力され、制約情報記憶部51aに記憶される。あるいは例えば、車両自体の状況や車両の周囲環境の状況に応じて予め適宜に設定されたアルゴリズムに従った前記制約は、演算されてもよい。
【0074】
制御処理部4aは、車両制御装置Saの各部1~3、5a、6~9を当該各部の機能に応じてそれぞれ制御し、車両VCの走行状態を変える操作入力に対して零化制御バリア関数に基づきアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御するための回路である。制御処理部4aは、例えば、CPU(Central Processing Unit)およびその周辺回路を備えて構成される。制御処理部4aは、制御処理プログラムが実行されることによって、制御部41、部分集合演算部42a、属否判定部43aおよび走行制御部44aを機能的に備える。
【0075】
制御部41は、車両制御装置Saの各部1~3、5a、6~9を当該各部の機能に応じてそれぞれ制御し、車両制御装置Saの全体制御を司るものである。
【0076】
部分集合演算部42aは、安全とされる所定の安全領域を表す安全集合の部分集合を、操作入力および制御入力に関わる所定の制約に基づき求めるものである。実施形態では、部分集合演算部42aは、さらに、物標検出部1で検出した物標から車両(自車両)VCまでの間に安全領域を設定することによって前記安全集合を求める。
【0077】
属否判定部43aは、部分集合演算部42aで求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定するものである。前記制御開始における車両の初期状態は、零化制御バリア関数に基づきアシスト制御入力を生成して走行状態を制御する際の最初の状態であり、所定の時間間隔で繰り返し零化制御バリア関数に基づくアシスト制御を開始する場合には、今回のタイミングでの車両の状態である。
【0078】
走行制御部44aは、属否判定部43aで部分集合に前記初期状態が属すると判定した場合に、操作入力およびアシスト制御入力に基づき走行状態を制御するものである。走行制御部44aは、属否判定部43aで部分集合に前記初期状態が属しないと判定した場合に、零化制御バリア関数の微分を最大化するアシスト制御入力を生成し、操作入力およびアシスト制御入力に基づき走行状態を制御する。走行制御部44aは、車両(自車両)VCを加減速して自車両VCの走行状態を変える場合に、第1動力部6および制動部8のうちの少なくとも一方を制御することによって走行状態を制御する。走行制御部44aは、車両(自車両)VCの舵角を変えて自車両VCの走行状態を変える場合に、第2動力部7を制御することによって走行状態を制御する。
【0079】
これら部分集合演算部42a、属否判定部43aおよび走行制御部44aについて、より具体的に説明する。
【0080】
第1実施形態における車両制御装置Saの対象システムである車両システムは、次式20-1で表され、その入力制約は、次式20-2で表される。
【0081】
【0082】
ここで、x=[x1、x2]T∈R2は、車両の状態を表し(x1は車両の位置を表し、x2は車両の速度を表す)、t∈Rは、時間を表し、u∈Rは、制御入力(制御入力量、アシスト制御の入力量)を表し、uh:R≧0→(-amax、∞)は、連続写像であり、フィードフォワード入力(操作入力、操作入力量)を表す。式20-2におけるamax>0は、減速方向の最大加速度であり、uh≧-amaxで与えられる。なお、式20-1は、前記式3において、f(x)=[x2、0]T、g(x)=[0、1]Tとした場合である。
【0083】
入力の初期値は、基本的に、安全性を担保するために、式20-2を満たすことが好ましい。後述の第2および第3実施形態も同様である。ただし、入力制約の初期値が式20-2を満たさない場合でも、被害を軽減できる。
【0084】
図2は、第1実施形態における対象システムを説明するための図である。この車両システムでは、
図2に示すように、車両VCは、障害物Obの方向に進行している。障害物Obは、例えば、物標検出部1で検出された物標である。この進行方向がx
1軸の方向とされ、座標原点が障害物Obの境界に設定されているものとする。なお、簡単化のため、進行方向がx
1軸の方向とされたが、x
1軸の方向は、任意であってよく、この場合、進行方向の成分を考えれば、同様に説明ができる。後述の第2実施形態も同様である。
【0085】
図2に示す場合、安全集合Xは、X=(-∞、0)×R⊂R
2となり、残余の集合X
uは、X
u=R
2\X⊂R
2となる。すなわち、この車両システムでは、位置x
1がx
1∈(-∞、0)である場合、車両システムは、安全である。この安全集合Xは、部分集合演算部42aによって、物標検出部1で検出した物標(ここでは障害物Ob)から車両VCまでの間に設定された安全領域を表す。
【0086】
したがって、第1実施形態では、式20-1で表される車両システムの初期状態x0がx0∈Xである場合に、任意のuhに対し、任意のt≧0において、x(t)∈Xを満たし、かつ、式20-2で表される入力制約を満たす、制御入力(アシスト制御の入力)uが求められる。初期位置をx10とし、初期速度をx20とすると、初期状態x0は、x0=[x10、x20]Tである。
【0087】
まず、Viability Kernelが求められる。第1実施形態では、部分集合演算部42aによって、安全集合Xの部分集合Viab(X)として、Viability Kernelが求められる。より具体的には、最大加速度-amaxで車両VCが静止するまでの時間をτとした場合、x2<0ならば、車両VCが障害物Obの境界から離れて行くことになるので、x2≧0として、次式21が成り立ち、この時間τまでに車両VCが進行する距離d(x)は、次式22で与えられる。
【0088】
【0089】
【0090】
以上より、安全集合Xに対するViability Kernel Vxは、次式23で与えられる。
【0091】
【0092】
すなわち、x0∈Vx⊆Xであれば、式20-2で表す入力制約の下において、任意のt≧0に対し、x1(t)∈(-∞、0)を保障する制御入力uが少なくとも1つ存在する。第1実施形態では、属否判定部43aによって、制御開始における車両の初期状態x0(=[x10、x20]T)が部分集合Vxに属するか否かが判定される。
【0093】
なお、x2<0を考慮すると、Viability Kernel Vxは、次式24で与えられる。
【0094】
【0095】
そして、このViability Kernel Vxから、制御入力uが求められる。より具体的には、式23で表されるViability Kernel Vxにおいて、関数h(x):R2→Rは、次式25となり、Lfh(x)およびLgh(x)は、この式25から、それぞれ、式26-1および式26-2となり、したがって、制御入力(アシスト制御の入力)uは、次式27となる。
【0096】
【0097】
【0098】
【0099】
ここで、γ:R2→R、I:R2×R→RおよびJ:R2×R→Rは、任意の非負の定数K、C≧0において、それぞれ、次式28-1、式28-2および式28-3のように定義される。
【0100】
【0101】
なお、定数Kの値が大きくなると、制御入力の介入時間が遅くなり、このため、より大きな制御入力が働く。定数Cの値が大きくなると、制御入力の介入時間が遅くなり、このため、より大きな制御入力が働く。定数Kと比較すると、定数Cは、制御入力が働き始める時間に与える影響が大きい。
【0102】
第1実施形態では、走行制御部44aは、属否判定部43aで部分集合Vxに前記初期状態x0が属すると判定した場合に、式27から、まず、IとJとの大小関係を比較することによって、アシスト制御するか否かを判定し、IがJ以上である場合(I≧J)には、アシスト制御せずに、前記運転者や前記運転システムによる操作入力uhに基づき第1動力部6、第2動力部7および制動部8のうちの少なくとも1つを制御することによって走行状態を制御し(非アシスト制御の走行制御)、IがJ未満である場合(I<J)には、アシスト制御するために、式27、式28-1~式28-3、式25、式26-1、式26-2により、アシスト制御入力uを求め、運転者や前記運転システムによる操作入力uhおよびアシスト制御入力uに基づき第1動力部6、第2動力部7および制動部8のうちの少なくとも1つを制御することによって走行状態を制御する(第1態様の走行制御)。一方、走行制御部44aは、属否判定部43aで部分集合Vxに前記初期状態x0が属しないと判定した場合に、零化制御バリア関数の微分を最大化するアシスト制御入力uを生成し、前記操作入力uhおよび前記アシスト制御入力uに基づき第1動力部6、第2動力部7および制動部8のうちの少なくとも1つを制御することによって走行状態を制御する(第2態様の走行制御)。
【0103】
なお、
図2に示す車両システムが対象システムである場合、走行状態検出部2は、少なくとも前記速度検出部(車速センサ)を備え、第1および第2態様の走行制御において、走行制御部44aは、前記操作入力u
hおよび前記アシスト制御入力uに基づき第1動力部6および制動部8のうちの少なくとも1つを制御することによって走行状態を制御する。
【0104】
このような制御処理部4aおよび記憶部5aは、いわゆるECU(Electronic Control Unit)と呼称される、車両VCに搭載されたコンピュータによって構成可能である。
【0105】
次に、第1実施形態の動作について説明する。
図3は、実施形態における車両制御装置の動作を示すフローチャートである。
【0106】
このような車両制御装置Saは、車両VCが稼働を始めると、必要な各部の初期化を実行し、その稼働を始める。その制御処理プログラムの実行によって、制御処理部4aには、制御部41、部分集合演算部42a、属否判定部43aおよび走行制御部44aが機能的に構成される。
【0107】
車両制御装置Saは、車両VCの稼働終了等の終了まで、所定の時間間隔ごとの各タイミングで
図3に示す処理S1ないし処理S8aの各処理を繰り返し、実行する。
【0108】
図3において、今回のタイミングになると、まず、車両制御装置Saは、制御処理部4aの制御部41によって、物標検出部1から、その検出結果を取得し、この取得した検出結果を記憶部5aに記憶し、走行状態検出部2から、その検出結果を取得し、この取得した検出結果を記憶部5aに記憶する(S1)。制御開始における車両の初期状態における位置(物標に対する自車両の位置)(ここでは初期位置)は、物標検出部1で検出した相対物標位置の逆として求められ、制御開始における車両の初期状態における速度(ここでは初期速度)は、走行状態検出部2における前記速度検出部の検出結果である。
【0109】
続いて、車両制御装置Saは、制御部41によって、物標検出部1から取得した検出結果を参照することによって、物標を検出したか否かを判定する(S2)。この判定の結果、物標を検出している場合(Yes)には、車両制御装置Saは、次に、処理S3aを実行する。一方、前記判定の結果、物標を検出していない場合(No)には、車両制御装置Saは、次に、処理S6を実行する。
【0110】
この処理S3aでは、車両制御装置Saは、制御処理部4aの部分集合演算部42aによって、物標検出部1で検出した物標から車両(自車両)VCまでの間に安全領域を設定することによって安全集合Xを求め、Viability Kernelを求めることによって部分集合Viab(X)を求める。
図2に示す例では、部分集合演算部42aは、物標検出部1で物標として検出した障害物Obから車両(自車両)VCまでの範囲を安全領域に設定することによって安全集合X=(-∞、0)を求め、式23で与えられる部分集合V
xを求める。
【0111】
続いて、車両制御装置Saは、制御処理部4aの属否判定部43aによって、部分集合演算部42aで求めた部分集合Vxに、処理S1で取得した制御開始における車両の初期状態x0が属するか否かを判定する(S4a)。この判定の結果、前記部分集合Vxに、前記初期状態x0が属すると判定した場合(Yes)には、車両制御装置Saは、次に、処理S5aを実行する。一方、前記判定の結果、前記部分集合Vxに、前記初期状態x0が属しないと判定した場合(No)には、車両制御装置Saは、次に、処理S8aを実行する。
【0112】
この処理S5aでは、IとJとの大小関係を比較することによって、アシスト制御するか否かを判定する。
図2に示す例では、前記Iは、式28-2で表され、前記Jは、式28-3で表される。この判定の結果、IがJ以上である場合(I≧J、No)には、車両制御装置Saは、制御処理部4aの走行制御部44aによって、前記非アシスト制御の走行制御を実行し(S6)、今回のタイミングにおける本処理を終了する。一方、IがJ未満である場合(I<J、Yes)には、車両制御装置Saは、制御処理部4aの走行制御部44aによって、アシスト制御における前記第1態様の走行制御を実行し(S7a)、今回のタイミングにおける本処理を終了する。
【0113】
前記処理S8aでは、車両制御装置Saは、制御処理部4aの走行制御部44aによって、アシスト制御における前記第2態様の走行制御を実行し、今回のタイミングにおける本処理を終了する。
【0114】
これら前記非アシスト制御の走行制御、前記第1態様の走行制御および前記第2態様の走行制御それぞれは、次回のタイミングまで継続される。なお、次回のタイミングまでに、第1および第2態様の走行制御が終了した場合には、アシスト制御の走行制御が終了される。後述の第2および第3実施形態も同様である。
【0115】
以上説明したように、第1実施形態における車両制御装置Saおよびこれに実装された車両制御方法は、零化制御バリア関数に基づきアシスト制御入力を生成する際に、安全集合Xの部分集合Viab(X)を、操作入力uhおよび制御入力uに関わる所定の制約に基づき求めるので、制約を考慮した、零化CBFを用いたアシスト制御で車両VCを制御できる。
【0116】
上記車両制御装置Saおよび車両制御方法は、物標検出部1で検出した物標(
図2に示す例では障害物Ob)から車両(自車両)VCまでの間に、安全とされる所定の安全領域に設定することによって安全集合Xを求めるので、車両(自車両)VCの周囲の状況に応じて安全集合Xを求めることができる。
【0117】
上記車両制御装置Saおよび車両制御方法は、属否判定部43aで部分集合Viab(X)に制御開始における車両の初期状態x0が属しないと判定した場合に、零化制御バリア関数h(x)の微分を最大化するアシスト制御入力uを生成するので、安全に欠けるが、その被害を軽減できる。
【0118】
(第2実施形態)
次に、別の実施形態について説明する。第2実施形態は、加速度aおよび躍度jの入力制約を持つ2重積分系で表される車両システムを、対象システムとして、V-CBFを適用した実施形態である。躍度jは、加速度aの時間微分であると定義される。
【0119】
第2実施形態における車両制御装置Sbは、車両VCに搭載され、例えば、
図1に示すように、物標検出部1と、走行状態検出部2と、操作入力部3と、制御処理部4bと、記憶部5bと、第1動力部(駆動輪駆動部)6と、第2動力部(操舵輪駆動部)7と、制動部8と、インターフェース部(IF部)9とを備える。第2実施形態における車両制御方法は、この車両制御装置Sbに実装される。
【0120】
これら第2実施形態の車両制御装置Sbにおける物標検出部1、走行状態検出部2、操作入力部3、第1動力部(駆動輪駆動部)6、第2動力部(操舵輪駆動部)7、制動部8およびIF部9は、それぞれ、第1実施形態の車両制御装置Saにおける物標検出部1、走行状態検出部2、操作入力部3、第1動力部(駆動輪駆動部)6、第2動力部(操舵輪駆動部)7、制動部8およびIF部9と同様であるので、その説明を省略する。
【0121】
第2実施形態の車両制御装置Sbにおける制御処理部4bおよびその機能的な構成41、42b、43b、44b、ならびに、記憶部5bおよびその機能的な構成51bは、それぞれ、その対象システムが異なるため、制約および数式が異なる点を除き、基本的に、第1実施形態の車両制御装置Saにおける制御処理部4aおよびその機能的な構成41、42a、43a、44a、ならびに、記憶部5aおよびその機能的な構成51aと同様であるので、前記異なる点のみを説明し、残余の説明を省略する。
【0122】
第2実施形態における車両制御装置Sbの対象システムである車両システムは、次式29-1で表され、そのFrは、次式29-2で与えられ、その加速度aの入力制約は、次式29-3で表され、躍度jの入力制約は、次式29-4で表される。躍度jは、乗り心地や乗員の安全性に影響を与えるパラメータであり、本実施形態では、上述のように制約が設けられている。
【0123】
【0124】
ここで、x1は、車両VCの位置[m]を表し、x2は、車両VCの速度[m/s]を表し、車両の状態xは、第1実施形態と同様に、x=[x1、x2]Tである。tは、時間[s]を表し、uは、制御入力、ここでは、要求加速度[m/s2]を表し、uhは、フィードフォワード入力(操作入力)[m/s2]を表す。なお、フィードフォワード入力(操作入力)uhは、躍度制約を満たす、あるいは、制御周期が加速度変化に対し十分に短い。Frは、走行抵抗[N]を表し、Mは、車両VCの質量[kg]を表し、R0、R1、R2は、走行抵抗係数を表す。aminは、加速度の下限値を表し、amaxは、加速度の上限値を表す。jminは、躍度の下限値を表し、jmaxは、躍度の上限値を表す。
【0125】
図4は、第2実施形態における対象システムを説明するための図である。この車両システムでは、
図4に示すように、車両VCは、障害物Obの方向に速度x
2で進行し、この進行方向とは逆向きに走行抵抗F
rを受けている。この進行方向がx
1軸の方向とされ、車両の初期位置が座標原点とされ、位置C
wに障害物Obの境界が位置するように、障害物Obが静止状態で配置されているものとする。
【0126】
障害物Obは、例えば、物標検出部1で検出された物標である。第2実施形態では、走行状態検出部2は、少なくとも前記速度検出部(車速センサ)および前記加速度検出部(加速度センサ)を備える。記憶部5bには、式29-1から、前記各種の所定のデータとして、車両(自車両)VCの質量Mが記憶され、式29-2から、前記各種の所定のデータとして、走行抵抗係数R0、R1、R2が記憶される。なお、車両(自車両)VCの質量Mは、前記車両VCに備えられた重量センサによって測定されてもよい。走行抵抗係数R0、R1、R2は、例えば複数のサンプルから予め適宜に決定される。制約情報記憶部51bには、式29-3および式29-4の制約が記憶される。なお、路面に勾配があると、車両(自車両)VCに前記勾配に応じた力が作用するので、走行状態検出部2は、水平に対する車両(自車両)VCの傾きを検出する傾き検出部(勾配検出部、傾斜センサ)を備えてもよい。
【0127】
図4に示す車両システムでは、走行中の車両VCが停止するまで、車両VCの挙動(振る舞い)は、2つの第1および第2パターンに分かれる。第1パターンは、加速度aがその下限値a
minに到達する前に減速が緩まって停車するパターンである。第2パターンは、加速度aがその下限値a
minに到達した後に減速が緩まって停車するパターンである。車両VCの挙動が第1および第2パターンのうちのいずれかになるかは、次式30で表される判別式(第1判別式)D1によって判別でき、第1判別式D1の値が0以下である場合(非正、D1≦0)には、車両VCの挙動は、第1パターンとなり、第1判別式D1の値が0を越える場合(正、D1>0)には、車両VCの挙動は、第2パターンとなる。
【0128】
【0129】
車両VCの挙動が第1パターンである場合、ある時点における加速度をa0、速度をx20としたとき、入力制約内で車両VCが停車するまでの走行距離d[m]は、車両VCの挙動が第1パターンである場合には、次式31-1~式31-3で与えられ、車両VCの挙動が第2パターンである場合には、次式32-1~式32-5で与えられる。
【0130】
【0131】
【0132】
図5には、一例として、車両の挙動が第1パターンである場合において、加速度の時間変化のグラフおよび速度の時間変化のグラフが示されている。
図6には、一例として、車両の挙動が第2パターンである場合において、加速度の時間変化のグラフおよび速度の時間変化のグラフが示されている。
図5および
図6の各横軸は、経過時間であり、これら各縦軸の上側は、加速度aであり、各縦軸の下側が速度x
2である。
【0133】
障害物Obの境界位置をCwとしたので、Viability Kernelは、次式33で与えられ、関数h(x)は、次式34で与えられる。上述したように、式33および式34の走行距離d(x)は、車両VCの挙動のパターンに応じて次式31-1~式31-3および式32-1~式32-5のうちのいずれかの式となる。
【0134】
【0135】
【0136】
Lie微分LfhおよびLghそれぞれは、車両VCの挙動が第1パターンである場合には、次式35-1、式35-2で与えられ、車両VCの挙動が第2パターンである場合には、次式36-1、式36-2で与えられる。
【0137】
【0138】
【0139】
したがって、制御入力uは、次式37-1~式37-3となる。
【0140】
【0141】
第2実施形態では、部分集合演算部42bによって、安全集合Xの部分集合Viab(X)として、式33のViability Kernelが求められる。属否判定部43bによって、この部分集合Viab(X)に、制御開始における車両の初期状態x0が属するか否かが判定される。そして、走行制御部44bは、部分集合Viab(X)に、前記初期状態x0が属する場合、式37-2で与えられるIと式37-3で与えられるJとの大小関係を比較し、アシスト制御しない場合には、非アシスト制御の走行制御を実行し、アシスト制御する場合には、操作入力uh、および、式37-1で与えられるアシスト制御入力uに基づき第1態様の走行制御を実行し、部分集合Viab(X)に、前記初期状態x0が属しない場合には、式34の零化制御バリア関数h(x)に基づく第2態様の走行制御を実行する。
【0142】
第2実施形態の動作について説明する。
図3において、今回のタイミングになると、まず、車両制御装置Sbは、制御処理部4bの制御部41によって、第1実施形態と同様な処理S1を実行し、続いて、処理S2を実行する。この処理S2における判定の結果、物標を検出している場合(Yes)には、車両制御装置Sbは、次に、処理S3bを実行する。一方、前記判定の結果、物標を検出していない場合(No)には、車両制御装置Sbは、次に、第1実施形態と同様な処理S6を実行する。
【0143】
この処理S3bでは、車両制御装置Sbは、制御処理部4bの部分集合演算部42bによって、物標検出部1で検出した物標から車両(自車両)VCまでの間に安全領域を設定することによって安全集合X=(-∞、Cw)を求め、式33のViability Kernelを求めることによって部分集合Viab(X)を求める。
【0144】
続いて、車両制御装置Sbは、制御処理部4bの属否判定部43aによって、部分集合演算部42bで求めた部分集合Viab(X)に、処理S1で取得した制御開始における車両の初期状態x0が属するか否かを判定する(S4b)。この判定の結果、前記部分集合Viab(X)に、前記初期状態x0が属すると判定した場合(Yes)には、車両制御装置Sbは、次に、処理S5bを実行する。一方、前記判定の結果、前記部分集合Viab(X)に、前記初期状態x0が属しないと判定した場合(No)には、車両制御装置Sbは、次に、処理S8bを実行する。
【0145】
この処理S5bでは、式37-2で与えられるIと式37-3で与えられるJとの大小関係を比較することによって、アシスト制御するか否かを判定する。この判定の結果、IがJ以上である場合(I≧J、No)には、車両制御装置Sbは、制御処理部4bの走行制御部44bによって、前記非アシスト制御の走行制御を実行し(S6)、今回のタイミングにおける本処理を終了する。一方、IがJ未満である場合(I<J、Yes)には、車両制御装置Sbは、走行制御部44bによって、操作入力uh、および、式37-1で与えられるアシスト制御入力uに基づき第1態様の走行制御を実行し(S7a)、今回のタイミングにおける本処理を終了する。
【0146】
前記処理S8bでは、車両制御装置Sbは、走行制御部44bによって、式34の零化制御バリア関数h(x)に基づく第2態様の走行制御を実行し、今回のタイミングにおける本処理を終了する。
【0147】
これら前記非アシスト制御の走行制御、前記第1態様の走行制御および前記第2態様の走行制御それぞれは、次回のタイミングまで継続される。
【0148】
シミュレーション結果の一例について説明する。
図7は、第2実施形態における対象システムにおいて、シミュレーション結果の一例を示すグラフである。
図7Aは、位置の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、位置[m]である。
図7Bは、速度の時間変化を示すグラフであり、その横軸は、経過時間で[s]あり、その縦軸は、速度[m/s]である。
図7Cは、加速度の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、加速度[m/s
2]である。
図7Dは、躍度の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、躍度[m/s
3]である。このシミュレーションでは、各値は、C
w=10[m]、初期位置x
10=0[m]、初期速度x
20=5[m/s]、初期加速度a
0=3[m/s
2]、加速度の上限値a
max=3[m/s
2]、加速度の下限値a
min=-3[m/s
2]、躍度の上限値j
max=3.92[m/s
3]、躍度の下限値j
min=-3.92[m/s
3]とされた。
図7から、加速度の制約および躍度の制約が遵守されつつ、車両VCが安全に停車していることが分かる。
【0149】
第2実施形態における車両制御装置Sbおよびこれに実装された車両制御方法は、第1実施形態における車両制御装置Saおよびこれに実装された車両制御方法と同様な作用効果を奏する。
【0150】
第2実施形態によれば、加速度aの第1制約(加速度aに関する制約)および躍度jの第2制約(躍度jに関する制約)を制約として考慮した、零化CBFを用いたアシスト制御による車両制御装置Sbおよび車両制御方法が提供できる。
【0151】
(第3実施形態)
次に、別の実施形態について説明する。第3実施形態は、舵角φおよび舵角速度Ψの入力制約を持つ2重積分系で表される車両システムを、対象システムとして、V-CBFを適用した実施形態である。舵角速度Ψは、舵角φの時間微分であると定義される。
【0152】
第3実施形態における車両制御装置Scは、車両VCに搭載され、例えば、
図1に示すように、物標検出部1と、走行状態検出部2と、操作入力部3と、制御処理部4cと、記憶部5cと、第1動力部(駆動輪駆動部)6と、第2動力部(操舵輪駆動部)7と、制動部8と、インターフェース部(IF部)9とを備える。第3実施形態における車両制御方法は、この車両制御装置Scに実装される。
【0153】
これら第3実施形態の車両制御装置Scにおける物標検出部1、走行状態検出部2、操作入力部3、第1動力部(駆動輪駆動部)6、第2動力部(操舵輪駆動部)7、制動部8およびIF部9は、それぞれ、第1実施形態の車両制御装置Saにおける物標検出部1、走行状態検出部2、操作入力部3、第1動力部(駆動輪駆動部)6、第2動力部(操舵輪駆動部)7、制動部8およびIF部9と同様であるので、その説明を省略する。
【0154】
第3実施形態の車両制御装置Scにおける制御処理部4cおよびその機能的な構成41、42c、43c、44c、ならびに、記憶部5cおよびその機能的な構成51cは、それぞれ、その対象システムが異なるため、制約および数式が異なる点を除き、基本的に、第1実施形態の車両制御装置Saにおける制御処理部4aおよびその機能的な構成41、42a、43a、44a、ならびに、記憶部5aおよびその機能的な構成51aと同様であるので、前記異なる点のみを説明し、残余の説明を省略する。
【0155】
第3実施形態における車両制御装置Scの対象システムである車両システムは、次式38-1で表され、その舵角Φの入力制約は、次式38-2で表され、舵角速度Ψの入力制約は、次式38-3で表される。舵角速度Ψは、乗り心地に影響を与えるパラメータであり、本実施形態では、上述のように入力制約が設けられている。
【0156】
【0157】
ここで、x1は、車両VCのx1座標の位置[m]を表し、y1は、車両VCのy1座標の位置[m]を表し、x2は、車両VCの速度[m/s]を表す。ここでは、2次元であるので、x2は、ベクトルである(x2=(dx1/dt、dy1/dt))。θは、車両VCの姿勢角[rad]を表し、φは、舵角[rad]を表し、Ψは、舵角速度[rad/s]を表す。tは、時間[s]を表し、uは、制御入力、ここでは、要求舵角[rad]を表し、uhは、フィードフォワード入力(操作入力)[rad]を表す。φminは、舵角の下限値を表し、φmaxは、舵角の上限値を表す。ψminは、舵角速度の下限値を表し、ψmaxは、舵角速度の上限値を表す。車両の状態は、車両の位置(x1、y1)、速度x2および姿勢角θである。
【0158】
図8は、第3実施形態における対象システムを説明するための図である。この車両システムでは、
図8に示すように、車両VCは、障害物Obの方向に速度x
2で進行している。車両VCは、車幅Wであって車長L
f+L+L
rで構成されている。第1車長L
fは、車両VCの前端から前輪中心までの長さであり、第2車長Lは、前輪中心から後輪中心までの長さであり、第3車長L
rは、後輪中心から車両VCの後端までの長さである。この対象システムに、車両の初期位置を座標原点とする直交座標系が設定され、位置y
1=C
wに障害物Obの境界が位置するように、かつ、障害物Obの延長方向がx
1軸に沿うように、障害物Obが静止状態で配置されているものとする。姿勢角θは、このx
1軸とベクトルの速度x
2との成す角度であり、舵角φは、ベクトルの速度x
2(車長方向)と操舵輪(ここでは前輪)との成す角度である。なお、簡単化のため、障害物Obの延長方向がx
1軸の方向とされたが、x
1軸の方向は、任意であってよく、この場合、前記延長方向の成分およびこれに直交する方向の成分を考えれば、同様に説明ができる。
【0159】
障害物Obは、例えば、物標検出部1で検出された物標である。第3実施形態では、走行状態検出部2は、少なくとも前記速度検出部(車速センサ)、前記姿勢角検出部(ヨーレートセンサ)および前記舵角検出部(第1舵角センサ)を備える。記憶部5cには、式38-1から、前記各種の所定のデータとして、車両(自車両)VCの第2車長Lが記憶される。制約情報記憶部51bには、式38-2および式38-3の制約が記憶される。
【0160】
図8に示す車両システムでは、走行中の車両VCが障害物Obに対し平行となれば、操舵により障害物Obとの衝突を回避できるので、車両VCの挙動(振る舞い)は、2つの第3および第4パターンに分かれる。第3パターンは、舵角φがその制約に到達する前に切り戻しが始まり、障害物Obに対し車両VCが平行になるパターンである。第4パターンは、舵角φがその制約に到達した後に切り戻しが始まり、障害物Obに対し車両VCが平行になるパターンである。車両VCの挙動が第3および第4パターンのうちのいずれかになるかは、次式39で表される判別式(第2判別式)D2によって判別でき、第2判別式D2の値が舵角の下限値φ
min以上である場合(D2≧φ
min)には、車両VCの挙動は、第4パターンとなり、第2判別式D2の値が舵角の下限値φ
min未満である場合(D2<φ
min)には、車両VCの挙動は、第4パターンとなる。
【0161】
【0162】
車両VCの挙動が第3パターンである場合、ある時点における姿勢角をθ0、舵角をφ0としたとき、入力制約内で車両VCが障害物Obに対し姿勢角θが平行になるまでの走行距離d[m]は、車両VCの挙動が第3パターンである場合には、次式40-1~式40-3で与えられ、車両VCの挙動が第4パターンである場合には、次式41-1~式41-4で与えられる。
【0163】
【0164】
【0165】
図9には、一例として、車両の挙動が第3パターンである場合において、舵角速度の時間変化のグラフおよび舵角の時間変化のグラフが示されている。
図10には、一例として、車両の挙動が第4パターンである場合において、舵角速度の時間変化のグラフおよび舵角の時間変化のグラフが示されている。
図9および
図10の各横軸は、経過時間であり、これら各縦軸の上側は、舵角速度ψであり、各縦軸の下側が舵角φである。
【0166】
障害物Obの境界位置をy=Cwとしたので、Viability Kernelは、次式42で与えられ、関数h(x)は、次式43で与えられる。上述したように、式42および式43の走行距離d(x)は、車両VCの挙動のパターンに応じて次式40-1~式40-3および式41-1~式41-4のうちのいずれかの式となる。
【0167】
【0168】
【0169】
Lie微分LfhおよびLghそれぞれは、次式44-1、式44-2で与えられるが、車両VCの挙動のパターンに応じて計算する必要がある。
【0170】
【0171】
したがって、制御入力uは、次式45-1~式45-3となる。
【0172】
【0173】
第3実施形態では、部分集合演算部42cによって、安全集合(y=Cwより-y側の領域の集合)の部分集合Viabとして、式42のViability Kernelが求められる。属否判定部43cによって、この部分集合Viabに、制御開始における車両の初期状態が属するか否かが判定される。そして、走行制御部44cは、部分集合Viabに、前記初期状態が属する場合、式45-2で与えられるIと式45-3で与えられるJとの大小関係を比較し、アシスト制御しない場合には、非アシスト制御の走行制御を実行し、アシスト制御する場合には、操作入力uh、および、式45-1で与えられるアシスト制御入力uに基づき第1態様の走行制御を実行し、部分集合Viabに、前記初期状態が属しない場合には、式43の零化制御バリア関数h(x)に基づく第2態様の走行制御を実行する。
【0174】
第3実施形態の動作について説明する。
図3において、今回のタイミングになると、まず、車両制御装置Scは、制御処理部4cの制御部41によって、第1実施形態と同様な処理S1を実行し、続いて、処理S2を実行する。この処理S2における判定の結果、物標を検出している場合(Yes)には、車両制御装置Scは、次に、処理S3cを実行する。一方、前記判定の結果、物標を検出していない場合(No)には、車両制御装置Scは、次に、第1実施形態と同様な処理S6を実行する。
【0175】
この処理S3cでは、車両制御装置Scは、制御処理部4cの部分集合演算部42cによって、物標検出部1で検出した物標から車両(自車両)VCまでの間に安全領域に設定することによって安全集合(y=Cwより-y側の領域の集合)を求め、式42のViability Kernelを求めることによって部分集合Viabを求める。
【0176】
続いて、車両制御装置Scは、制御処理部4cの属否判定部43cによって、部分集合演算部42cで求めた部分集合Viabに、処理S1で取得した制御開始における車両の初期状態が属するか否かを判定する(S4c)。この判定の結果、前記部分集合Viabに、前記初期状態が属すると判定した場合(Yes)には、車両制御装置Scは、次に、処理S5cを実行する。一方、前記判定の結果、前記部分集合Viabに、前記初期状態が属しないと判定した場合(No)には、車両制御装置Sbは、次に、処理S8cを実行する。
【0177】
この処理S5cでは、式45-2で与えられるIと式45-3で与えられるJとの大小関係を比較することによって、アシスト制御するか否かを判定する。この判定の結果、IがJ以上である場合(I≧J、No)には、車両制御装置Scは、制御処理部4cの走行制御部44cによって、前記非アシスト制御の走行制御を実行し(S6)、今回のタイミングにおける本処理を終了する。一方、IがJ未満である場合(I<J、Yes)には、車両制御装置Scは、走行制御部44cによって、操作入力uh、および、式45-1で与えられるアシスト制御入力uに基づき第1態様の走行制御を実行し(S7c)、今回のタイミングにおける本処理を終了する。
【0178】
前記処理S8cでは、車両制御装置Scは、走行制御部44cによって、式43の零化制御バリア関数h(x)に基づく第2態様の走行制御を実行し、今回のタイミングにおける本処理を終了する。
【0179】
これら前記非アシスト制御の走行制御、前記第1態様の走行制御および前記第2態様の走行制御それぞれは、次回のタイミングまで継続される。
【0180】
シミュレーション結果の一例について説明する。
図11は、第3実施形態における対象システムにおいて、シミュレーション結果の一例を示すグラフである。
図11Aは、x
1軸での位置の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、x
1軸での位置[m]である。
図11Bは、y
1軸での位置の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、y
1軸での位置[m]である。
図11Cは、姿勢角の時間変化を示すグラフであり、その横軸は、経過時間で[s]あり、その縦軸は、姿勢角[rad]である。
図11Dは、舵角の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、舵角[rad]である。
図11Eは、舵角速度の時間変化を示すグラフであり、その横軸は、経過時間[s]であり、その縦軸は、舵角速度[rad/s]である。このシミュレーションでは、各値は、C
w=4[m]、初期位置x
10=0、y
10=0[m]、初期速度x
20=4[m/s]、y
20=0[m/s]、初期姿勢角θ
0=π/6[rad]、舵角の上限値φ
max=π/4[rad]、舵角の下限値φ
min=-π/4[rad]、舵角速度の上限値ψ
max=π/24[rad/s]、舵角速度の下限値ψ
min=-π/24[rad/s]とされた。
図11から、舵角の制約および舵角速度の制約が遵守されつつ、車両VCが安全に障害物Obに平行になっていることが分かる。
【0181】
第3実施形態における車両制御装置Scおよびこれに実装された車両制御方法は、第1実施形態における車両制御装置Saおよびこれに実装された車両制御方法と同様な作用効果を奏する。
【0182】
第3実施形態によれば、舵角φの第3制約(舵角φに関する制約)および舵角速度ψの第4制約(舵角速度ψに関する制約)を制約として考慮した、零化CBFを用いたアシスト制御による車両制御装置Scおよび車両制御方法が提供できる。
【0183】
本明細書は、上記のように様々な態様の技術を開示しているが、そのうち主な技術を以下に纏める。
【0184】
一態様にかかる車両制御装置は、車両の走行状態を変える操作入力に対して零化制御バリア関数に基づきアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する装置である。この車両制御装置は、安全とされる所定の安全領域を表す安全集合の部分集合を、前記操作入力および前記制御入力に関わる所定の制約に基づき求める部分集合演算部と、前記部分集合演算部で求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定する属否判定部と、前記属否判定部で前記部分集合に前記初期状態が属すると判定した場合に、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する走行制御部とを備える。
【0185】
なお、操作入力は、運転者による操作入力だけでなく、上述のように、例えば自動運転システム等の運転システムによる操作入力も含むので、「ヒューマンアシスト制御」ではなく、「アシスト制御」と呼称している。このため、「零化CBFを用いたアシスト制御(Zero型CBFを用いたアシスト制御)」の原理は、「零化CBFを用いたヒューマンアシスト制御(Zero型CBFを用いたヒューマンアシスト制御)」の原理と同一である。
【0186】
このような車両制御装置は、零化制御バリア関数に基づきアシスト制御入力を生成する際に、安全集合の部分集合を、操作入力および制御入力に関わる所定の制約に基づき求めるので、制約を考慮した、零化CBFを用いたアシスト制御で車両を制御できる。
【0187】
好ましくは、上述の車両制御装置において、前記車両の周囲に存在する物標を検出し、前記車両に対する、前記検出した物標の位置(相対物標位置)を検出する物標検出部をさらに備え、前記部分集合演算部は、さらに、前記物標検出部で検出した物標から前記車両までの間に前記安全領域を設定することによって前記安全集合を求める。好ましくは、前記物標検出部は、前記車両に対する、前記検出した物標の速度(相対物標速度)、および、前記車両に対する、前記検出した物標の加速度(相対物標加速度)のうちの少なくとも1つをさらに検出する。好ましくは、上述の車両制御装置において、前記制約は、前記車両の走行状態に関わる制約である。好ましくは、上述の車両制御装置において、前記制約は、加速度(正の加速度および負の加速度を含む)の第1制約、加速度の時間微分である躍度の第2制約、舵角の第3制約、および、舵角の時間微分である舵角速度の第4制約のうちの少なくとも1つを含む。好ましくは、上述の車両制御装置において、前記部分集合演算部は、Viability Kernelを求めることによって前記部分集合を求める。好ましくは、上述の車両制御装置において、前記車両の走行状態を検出する走行状態検出部をさらに備える。好ましくは、前記走行状態検出部は、前記車両の速度(車速)を検出する速度検出部、前記車両の加速度を検出する加速度検出部、前記車両の姿勢角を検出する姿勢角検出部、および、前記車両の舵角を検出する舵角検出部のうちの少なくとも1つを含む。好ましくは、前記部分集合演算部は、前記物標検出部で検出した物標の境界を座標原点とした座標系を設定し、前記物標の境界から前記車両までの範囲を安全領域に設定する。好ましくは、前記部分集合演算部は、今の車両の位置を座標原点とした座標系を設定し、前記物標の境界から今の車両の位置までの範囲を安全領域に設定する。好ましくは、上述の車両制御装置において、前記車両の周囲に存在する物標を検出し、前記車両に対する、前記検出した物標の位置を検出する物標検出部と、前記車両の速度を検出する速度検出部とをさらに備え、前記車両の初期状態は、車両の初期位置および初期速度によって表される。好ましくは、上述の車両制御装置において、前記車両の周囲に存在する物標を検出し、前記車両に対する、前記検出した物標の位置を検出する物標検出部と、前記車両の速度を検出する速度検出部と、前記車両の姿勢角を検出する姿勢角検出部とをさらに備え、前記車両の初期状態は、車両の初期位置、初期速度、初期加速度および初期姿勢角によって表される。好ましくは、上述の車両制御装置において、前記車両の駆動輪を駆動する第1動力部、および、前記車両を制動する制動部をさらに備え、前記走行制御部は、前記車両を加減速して前記車両の走行状態を変える場合に、前記第1動力部および前記制動部のうちの少なくとも一方を制御することによって前記走行状態を制御する。好ましくは、上述の車両制御装置において、前記車両の操舵輪を駆動する第2動力部をさらに備え、前記走行制御部は、前記車両の舵角を変えて前記車両の走行状態を変える場合に、前記第2動力部を制御することによって前記走行状態を制御する。
【0188】
他の一態様では、上述の車両制御装置において、前記車両の周囲に存在する物標を検出し、前記検出した物標に対する前記車両の位置を検出する物標検出部をさらに備え、前記部分集合演算部は、さらに、前記物標検出部で検出した物標から前記車両までの間に前記安全領域を設定することによって前記安全集合を求める。
【0189】
このような車両制御装置は、物標検出部を備え、前記物標検出部で検出した物標から前記車両までの間に前記安全領域を設定することによって前記安全集合を求めるので、車両の周囲の状況に応じて安全集合を求めることができる。
【0190】
他の一態様では、これら上述の車両制御装置において、前記走行制御部は、前記属否判定部で前記部分集合に前記初期状態が属しないと判定した場合に、前記零化制御バリア関数の微分を最大化するアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する。
【0191】
このような車両制御装置は、属否判定部で部分集合に前記初期状態が属しないと判定した場合に、零化制御バリア関数の微分を最大化するアシスト制御入力を生成するので、安全に欠けるが、その被害を軽減できる。
【0192】
他の一態様では、これら上述の車両制御装置において、前記制約は、加速度の第1制約、および、加速度の時間微分である躍度の第2制約である。
【0193】
これによれば、加速度の第1制約(加速度に関する制約)および躍度の第2制約(躍度に関する制約)を制約として考慮した、零化CBFを用いたアシスト制御による車両制御装置が提供できる。
【0194】
他の一態様では、これら上述の車両制御装置において、前記制約は、舵角の第3制約、および、舵角の時間微分である舵角速度の第4制約である。
【0195】
これによれば、舵角の第3制約(舵角に関する制約)および舵角速度の第4制約(舵角速度に関する制約)制約として考慮した、零化CBFを用いたアシスト制御による車両制御装置が提供できる。
【0196】
他の一態様にかかる車両制御方法は、車両の走行状態を変える操作入力に対して零化制御バリア関数に基づきアシスト制御入力を生成し、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する方法である。この車両制御方法は、安全とされる所定の安全領域を表す安全集合の部分集合を、前記操作入力および前記制御入力に関わる所定の制約に基づき求める部分集合演算工程と、前記部分集合演算工程で求めた部分集合に、制御開始における車両の初期状態が属するか否かを判定する属否判定工程と、前記属否判定工程で前記部分集合に前記初期状態が属すると判定した場合に、前記操作入力および前記アシスト制御入力に基づき前記走行状態を制御する走行制御工程とを備える。
【0197】
このような車両制御方法は、零化制御バリア関数に基づきアシスト制御入力を生成する際に、安全集合の部分集合を、操作入力および制御入力に関わる所定の制約に基づき求めるので、制約を考慮した、零化CBFを用いたアシスト制御で車両を制御できる。
【0198】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【産業上の利用可能性】
【0199】
本発明によれば、車両の走行を制御する車両制御装置および車両制御方法が提供できる。