(57)【要約】【課題】自車両の走行中における周囲状況の変化に対応し、人が運転するように、通常走行時及び緊急時の迅速な動作が可能な予測制御装置を実現する。【解決手段】予測制御装置は、周囲および自車の変化量と変化方向を検出する手段（１０３、１０４）と、検出結果に基づいて、予測制御手段における解探索演算の初期値と予測期間を設定する手段１０５とを有する。初期値と予測期間を設定する手段１０５は、周囲及び自車の変化量に応じて設定する初期値及び予測期間を、解探索演算の前回の演算結果を初期値に含めて設定するフェールオペレーショナル制御モードを有する。【選択図】図１
2020008889.tif 000002
【特許請求の範囲】
【請求項１】
周囲および自車の変化量と変化方向を検出する手段と、
前記検出結果に基づいて、予測制御手段における解探索演算の初期値と予測期間を設定する手段を有することを特徴とする予測制御装置。
【請求項２】
請求項１に記載の予測制御装置において、
前記初期値と予測期間を設定する手段は、前記周囲及び自車の変化量に応じて設定する前記初期値及び前記予測期間を、前記解探索演算の前回の演算結果を初期値に含めて設定するフェールオペレーショナル制御モードを有することを特徴とする予測制御装置。
【請求項３】
請求項２に記載の予測制御装置において、
前記周囲の変化量と変化方向は、動的障害物および静的障害物の自車に対する相対位置および相対速度から求められることを特徴とする予測制御装置。
【請求項４】
請求項２に記載の予測制御措置において、
前記自車の変化量は、自車の走行経路及び自車の属する各部のアクチュエータからの故障通知の信号入力を含むことを特徴とする予測制御装置。
【請求項５】
請求項１に記載の予測制御装置において、
前記予測制御装置は、車両の自動運転のために車両のアクチュエータに与える操作量を定める予測制御装置であって、
前記予測制御手段は、
前記アクチュエータに対する操作量と、予測値としての操作量候補を生成する操作指令値生成部と、車両の動作モデルを数式で表した状態方程式を用いて、前記アクチュエータ出力に相当する予測値としての制御量候補を出力する出力予測部と、車両の自動運転に必要な制約条件を複数の関数で表し、前記制約条件についての各関数の出力の総和を得る評価関数演算部と、を有し、
前記周囲および自車の変化量と変化方向を検出する手段は、
走行中の自車の周囲状況から、走行路上の物体や自車の経路を認識する状況認識部と、前記認識した物体や経路の時間的変化量を検出する変化量検出部と、を有し、
前記操作指令値生成部は、前記評価関数演算部からの出力に応じて前記アクチュエータに対する操作量を生成するとともに、前記解探索演算の初期値と予測期間を設定する手段は、走行中の周囲および自車の状況に応じて前記操作指令値生成部へ設定する初期値および予測期間を調整することを特徴とする予測制御装置。
【請求項６】
請求項５に記載の予測制御装置において、
前記変化量検出部は、前記認識した物体や自車の走行経路の時間的変化量を、自車に対する単位時間あたりの相対位置の変化量から求めることを特徴とする予測制御装置。
【請求項７】
請求項５または６に記載の予測制御装置において、
前記変化量検出部は、前記認識した物体や自車の走行経路から求めた時間的変化量に係数を乗じた値を重み係数として出力することを特徴とする予測制御装置。
【請求項８】
請求項５、６、７のうちのいずれか一項に記載の予測制御装置において、
前記変化量検出部は、前記重み係数を、自車の診断結果に応じて異なる値として出力することを特徴とする予測制御装置。
【請求項９】
請求項５に記載の予測制御装置において、
前記制御条件調整部は、予測制御の初期値と予測期間と予測間隔を調整することを特徴とする予測制御装置。
【請求項１０】
請求項９に記載の予測制御装置において、
前記制御条件調整部は、前記変化量検出部から入力する重み係数の値に応じて前記初期値および予測期間および予測間隔を調整することを特徴とする予測制御装置。
【請求項１１】
請求項１０に記載の予測制御装置において、
前記制御条件生成部は、前記初期値を設定する初期値設定部を有し、
前記初期値設定部は、前回操作量依存個数を設定する前回操作量依存個数部と、生成する乱数範囲を調整する乱数範囲調整部と、前回操作量に依存した初期値を生成する前回操作量依存個数部と、乱数から初期値を生成する通常乱数生成部と、生成した複数の前記初期値を格納する初期値格納部とを有することを特徴とする予測制御装置。
【請求項１２】
請求項１に記載の予測制御装置において、
前記解探索演算の初期値と予測期間を設定する手段は、
前記周囲及び自車の変化量に応じて設定する前記初期値及び前記予測期間を、前記解探索演算の前回の演算結果を初期値に含めて設定するフェールオペレーショナル制御モードとするか、
前記予測期間を短縮して設定するフェールセーフ制御モードとするかを切り替えることを特徴とする予測制御装置。
【請求項１３】
請求項１２に記載の予測制御装置において、
前記自車の変化量は、自車の走行経路及び自車の属する各部のアクチュエータからの故障通知の信号入力を含むことを特徴とする予測制御装置。
【請求項１４】
請求項１２に記載の予測制御装置において、
前記予測制御装置は、車両の自動運転のために車両のアクチュエータに与える操作量を定める予測制御装置であって、
前記予測制御手段は、
前記アクチュエータに対する操作量と、予測値としての操作量候補を生成する操作指令値生成部と、車両の動作モデルを数式で表した状態方程式を用いて、前記アクチュエータ出力に相当する予測値としての制御量候補を出力する出力予測部と、車両の自動運転に必要な制約条件を複数の関数で表し、前記制約条件についての各関数の出力の総和を得る評価関数演算部と、を有し、
前記周囲および自車の変化量と変化方向を検出する手段は、
走行中の自車の周囲状況から、走行路上の物体や自車の経路を認識する状況認識部と、前記認識した物体や経路の時間的変化量を検出する変化量検出部と、を有し、
前記操作指令値生成部は、前記評価関数演算部からの出力に応じて前記アクチュエータに対する操作量を生成するとともに、前記解探索演算の初期値と予測期間を設定する手段は、走行中の周囲および自車の状況に応じて前記操作指令値生成部へ設定する初期値および予測期間を調整することを特徴とする予測制御装置。
【請求項１５】
請求項５または請求項１４に記載の予測制御装置において、
前記評価関数演算部は、
前記状況認識部から出力されるリスク度に基づいて、自車のリスク度についての関数を求めるリスク度演算部と、
前記出力予測部からの前記制御量候補に基づいて、速度誤差についての関数を求める速度誤差演算部と、
前記出力予測部からの前記制御量候補に基づいて、加速度についての関数を求める加速度演算部と、
前記出力予測部からの前記制御量候補に基づいて、加々速度についての関数を求める加々速度演算部と、
前記リスク度演算部、前記速度誤差演算部、前記加速度演算部、及び前記加々速度演算部が求めたそれぞれの関数を互いに加算して前記操作指令値生成部に出力する加算部と、を有することを特徴とする予測制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の自動運転に適用する予測制御装置に関する。
【背景技術】
【０００２】
近年、車両の自動運転が実用化の方向にあり、この場合に自動運転の軌道生成等でモデル予測制御の適用が広がりつつある。
【０００３】
車両の自動運転における予測制御技術としては、特許文献１に記載のような技術が開示されている。
【０００４】
演算量を減らし応答性を向上することのできる予測制御装置及び推奨操作提示装置として、特許文献１では、制御対象の時定数の変化を観測し、変化量に応じてサンプリング時間と予測区間と制御区間の少なくとも一つの設定を変更し、制御対象に応じて制御の安定化を図る技術が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−７２７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、主として制御対象の時定数変化や目標制御量を観測し、予測制御の制御パラメータの調整を行うことで処理の高速化を行っているが、車の自動運転走行中においては周囲の状況が刻々と変化する。
【０００７】
したがって、制御対象である自車の状況のみならず、走行中の周囲の状況の変化を観測し、それに対応した高速化が必要となる。
【０００８】
しかしながら、特許文獻１に記載の技術では、車両走行中の周囲状況の変化を考慮しておらず、自車両の走行中の周囲状況に対応した制御が行われていない。
【０００９】
以上のことから、本発明の目的は、車両の走行中における周囲の状況の変化に応じた、迅速な動作ができる予測制御装置を実現することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は次のように構成される。
【００１１】
予測制御装置において、周囲および自車の変化量と変化方向を検出する手段と、検出結果に基づいて、予測制御手段における解探索演算の初期値と予測期間を設定する手段を有する。
【発明の効果】
【００１２】
本発明によれば、自車両の走行中における周囲状況の変化に対応し、人が運転するように、通常走行時および緊急時の迅速な動作が可能な予測制御装置を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に係る予測制御装置である車両の自動運転制御システムのブロック構成例を示す図である。
【図２】モデル予測制御部内の操作指令値生成部のブロック構成例を示す図である。
【図３】モデル予測制御部内の出力予測部のブロック構成例を示す図である。
【図４】モデル予測制御部内の評価関数演算部のブロック構成例を示す図である。
【図５】状況認識部のブロック構成例を示す図である。
【図６】変化量検出部のブロック構成例を示す図である。
【図７Ａ】制御条件調整部の重みＷａに対する初期値の決定方法を説明する図である。
【図７Ｂ】制御条件調整部の重みＷｂに対する予測期間の決定方法を説明する図である。
【図８】制御条件調整部のブロック構成例を示す図である。
【図９】制御条件調整部の他の例のブロック構成例を示す図である。
【図１０】初期値設定部のブロック構成例を示す図である。
【図１１Ａ】本発明を用いない場合の予測制御の評価関数出力が収束するまでの演算回数を示す図である。
【図１１Ｂ】本発明の実施例１において前回の最適解を初期値候補に含めた場合の予測制御の評価関数出力が収束するまでの演算回数を示す図である。
【図１１Ｃ】本発明の実施例１において予測期間を短くした場合の予測制御の評価関数出力が収束するまでの演算回数を示す図である。
【図１２】本発明の実施例１における予測制御による車の自動運転の軌道を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を用いて説明する。
【実施例】
【００１５】
（実施例１）
図１は本発明の実施例１に係る予測制御装置である車両の自動運転制御システムのブロック構成例を示す図である。
【００１６】
図１において、モデル予測制御部１０１（予測制御手段）は、自車の周囲の情報を基に例えば数ミリ秒毎に将来の数秒間の自車の速度や進む方向を予測しながら、次の数ミリ秒後の操作量を求める処理（解探索演算）を行っている。モデル予測制御部１０１の入力の一部は周囲情報であり、その出力の一部はハンドル操作、アクセル操作、ブレーキ操作などのアクチュエータ１０２に対する操作量ｕ０である。
【００１７】
モデル予測制御部１０１は、操作指令値生成部１０６と、出力予測部１０７と、評価関数演算部１０８とを備えている。
【００１８】
このうち、操作指令値生成部１０６は、アクチュエータ１０２に対する、例えば現在の操作量ｕ０と、次の操作量ｕ１から数ミリ秒毎に将来のｎ秒間分の予測値としての操作量候補（ｕ１〜ｕｎ）を生成する手段である。操作指令値生成部１０６については、図２を用いて後述する。
【００１９】
出力予測部１０７は、例えば操作量候補（ｕ１〜ｕｎ）と、アクチュエータ１０２から出力される現時点の自車の制御量ｘ０を車両の動作モデルを数式で表した状態方程式に入力し、それに対応する制御量（速度、位置、方向等）を、アクチュエータ１０２の出力に相当する予測値としての制御量候補（ｘ１〜ｘｎ）として出力する手段である。出力予測部１０７については、図３を用いて後述する。
【００２０】
評価関数演算部１０８は、自動運転に必要な制約条件を複数の関数で表し、制御量候補（ｘ１〜ｘｎ）を出力予測部１０７から入力し、制約条件についての各関数出力の総和Ｆを操作指令値生成部１０６に出力する手段である。評価関数演算部１０８については、図４を用いて後述する。
【００２１】
状況認識部１０３は、走行中の自車の周囲状況の情報から、走行路上の他車や自転車、歩行者等の移動物体（動的障害物）及びガードレール、停止中の車等の静止物体（静的障害物）と、自車の目的地までの経路情報と、自車位置とを認識し出力する手段である。状況認識部１０３については、図５を用いて後述する。
【００２２】
変化量検出部１０４は、認識した物体と自車の走行経路について、自車に対する単位時間当たりの相対位置の変化量（動的障害物及び静的障害物の自車に対する相対位置及び相対速度から求められる周囲及び自車の変化量および変化方向）を検出し重み係数として求め、制御条件調整部１０５に出力する手段である。変化量検出部１０４については、図６を用いて後述する。
【００２３】
状況認識部１０３と、変化量検出部１０４とにより、周囲及び自車の変化量と変化方向を検出する手段が形成される。
【００２４】
制御条件調整部１０５は、変化量検出部１０４から入力する重み係数により、モデル予測制御の演算を行うための初期値と予測期間を調整し設定する手段である。つまり、操作指令値生成部１０６が行う最適値探索演算（解探索演算）の初期値及び予測期間を設定し、操作指令値生成部１０６に出力する手段である。制御条件調整部１０５については、図７を用いて後述する。
【００２５】
以上の構成によるモデル予測制御部１０１では、操作指令値生成部１０６から出力予測部１０７及び評価関数演算部１０８のループ処理を例えば数ミリ秒間に複数回繰り返し、評価関数の総和Ｆが最小となる操作量候補（ｕ１〜ｕｎ）を操作指令値１０６が選ぶ。そして、次の時点の操作量ｕ１をアクチュエータ１０２に出力する。アクチュエータ１０２は操作量ｕを制御量ｘに変換しブレーキ、アクセルおよびハンドル操作等を実行する。
【００２６】
以下、図１に示す予測制御装置の各部詳細構成について説明する。
【００２７】
図２は、モデル予測制御部１０１内の操作指令値生成部１０６のブロック構成例を示す図である。図２において、操作指令値生成部１０６では、評価関数演算部１０８から出力される評価関数Ｆを入力し、それに応じてアクチュエータ１０２に対する操作量ｕ0及び操作量候補（ｕ１〜ｕｎ）を生成し、出力する。
【００２８】
操作指令値生成部１０６内の比較部２０２では、評価関数演算部１０８から出力される演算結果（評価関数Ｆの出力）を最小値保存部２０３に格納された値と比較する。評価関数演算部１０８から比較部２０２に入力された値が最小値保存部２０３に格納された値より小さければ最小値保存部２０３に対し保存指令信号を出力する。最小値保存部２０３は、比較部２０２からの保存指令信号に応じて評価関数の演算結果を記憶する。ここまでの一連の処理は、評価関数演算１０８の出力Ｆが最小となる値を求めたことを意味している。
【００２９】
操作量生成部２０１は、次の時点の操作量候補ｕ１から将来のｎ時点の操作量候補ｕｎまでの操作量候補（ｕ１〜ｕｎ）を生成する手段である。操作量候補の一例としては初期値として乱数発生により操作量候補値を生成し、その後、その値を少しずつ変化させていく演算を繰り返すことで収束解を求める。具体的な方法として、粒子群最適化、蟻コロニー最適化、人工蜂コロニーアルゴリズムなどがある。
【００３０】
操作量保存部２０４は、最小値保存部２０３に保存された評価関数値に対応する操作指令値候補（ｕ１〜ｕｎ）を保存し、現在時点の操作量ｕ０をブレーキ、アクセル、前輪の操舵角等のアクチュエータ１０２へ出力する。また操作量候補（ｕ１〜ｕｎ）を、図３に示す出力予測部１０７に出力する。
【００３１】
なお現在時点の操作量ｕ０は、例えば前回処理周期で求めた次の時点の操作量候補ｕ１を用いて算出することができる。図２の操作指令値生成部１０６によれば、評価関数Ｆが最小となる時系列的な操作量である、操作量候補（ｕ１〜ｕｎ）を得ることができる。これは、後述する図１２に実線で示した軌道を求めたことを意味している。
【００３２】
図３はモデル予測制御部１０１内の出力予測部１０７のブロック構成例を示す図である。図３において、状態方程式演算部３０１は、車両の動作モデルを数式で表した手段である。状態方程式演算部３０１は、例えば、加速度や進行方向の角度が入力されると、自車の位置座標、速度、方角などの物理量に変換する。保存部３０２は状態方程式演算部３０１の出力を一時保存し、次の時点の予測処理に利用するための手段である。例えば現時点の位置座標と速度を保存することで次の時点の位置座標の予測値を計算で求めることができる。
【００３３】
図３の例では、状態方程式演算部３０１は、車両の動作モデルを数式で表すために操作指令値生成部１０６内からの時系列的な予測操作量（ｕ１〜ｕｎ）を入力としている。また、アクチュエータ１０２の出力に対応する制御量を、時系列的な予測制御量（ｘ１〜ｘｎ）として算出し、評価関数演算部１０８に出力し、評価関数の演算に使用している。なお、図３では、基準位置を定めるために保存部３０２を使用しているが、これは図１に示すように、アクチュエータ１０２が示す現在位置を基準として定めるものであってもよい。
【００３４】
図４はモデル予測制御部１０１内の評価関数演算部１０８のブロック構成例を示す図である。図４において、評価関数演算部１０８では、自動運転に必要な制約条件を関数で表した複数の制約条件関数部（リスク度演算部４０１、速度誤差演算部４０２、加速度演算部４０３、加々速度演算部４０４）を用いて、操作指令値生成部１０６に出力する評価関数Ｆの値を生成する。図４の例では、状況認識部１０３から出力されるリスク度Ｒと、出力予測部１０７で求めた時系列的な予測制御量（ｘ０〜ｘｎ）についての制約条件関数部を備えている。
【００３５】
評価関数演算部１０８は、複数の制約条件関数演算部（４０１から４０４）により構成されている。本発明では、評価関数Ｆを複数の制約条件関数部（４０１から４０４）により定めている。
【００３６】
複数の制約条件関数は、リスク度演算部４０１で求める自車のリスク度についての関数ｆ１、速度誤差演算部４０２で求める速度誤差についての関数ｆ２、加速度演算部４０３で求める加速度についての関数ｆ３、加々速度演算部４０４で求める加々速度についての関数ｆ４である。評価関数Ｆは、これらにさらに出力予測部１０７で求める応答性についての関数ｆ５を加味した５つの要素で構成された関数である。これら５つの要素で定まる数値が最小のものを求めていく。
【００３７】
以下、複数の制約条件関数演算部（４０１から４０４）のそれぞれについて説明する。まず、リスク度演算部４０１は、周囲情報と自車の相対位置情報から、次の時点（ｋ＝１）から将来のｎ時点（ｋ＝ｎ）までの各時点でのリスク度Ｒ（ｋ）を、例えば状況認識部１０３から入手し、リスク度Ｒ（ｋ）と重み係数Ｗ１の乗算結果を計算し、それらの値の総和を求めるリスク度についての制約条件関数ｆ１を演算する。
【００３８】
速度誤差演算部４０２は、自車の加速度情報を積分して速度を求め、次の時点（ｋ＝１）から将来のｎ時点（ｋ＝ｎ）までの各時点での目標速度Ｖｒｅｆの差の２乗と重み係数Ｗ２の乗算結果を計算し、それらの値の総和を求める速度についての制約条件関数ｆ２を演算する。
【００３９】
加速度演算部４０３は、自車の加速度情報から、次の時点（ｋ＝１）から将来のｎ時点（ｋ＝ｎ）までの各時点での加速度の２乗と重み係数Ｗ３の乗算結果を計算し、それらの値の総和を求める加速度についての制約条件関数ｆ３を演算する。
【００４０】
加々速度演算４０４は、自車の加速度情報を微分して加々速度を求め、次の時点（ｋ＝１）から将来のｎ時点（ｋ＝ｎ）までの各時点での加々速度の２乗と重み係数Ｗ４の乗算結果を計算し、それらの値の総和を求める加々速度についての制約条件関数ｆ４を演算する。加算部４０５は上記制約条件関数演算部（４０１から４０４）が求めた各制約条件関数の出力結果を互いに加算して、操作指令値生成部１０６に出力する。
【００４１】
評価関数演算部１０８は、上記のように構成されているが、先にも述べたように予測制御装置は、評価関数Ｆの出力を最小とする時の操作量ｕにより車両を制御している。然るに、評価関数Ｆの出力を定める４つの制約条件関数である、リスク度の制約条件関数ｆ１、速度誤差の制約条件関数ｆ２、加速度の制約条件関数ｆ３、加々速度の制約条件関数ｆ４は、その時々の運転状態を反映している。
【００４２】
図５は状況認識部１０３のブロック構成例を示す図である。図５において、カメラ５０１は、自車の前後左右の周囲状況を撮影する。ＬｉＤＡＲ５０２はレーザー光線で自車の周囲の状況を検出する。ミリ波レーダー５０３は電波の反射光で周囲の状況を検出する。ＧＰＳ５０４は自車の位置する経度、緯度を検出する。地図５０５は自車の出発地点から到達予定地点までの経路情報を出力する。物体認識部５０６は、カメラ５０１、ＬｉＤＡＲ５０２およびミリ波レーダー５０３から入力するデータを基に他車、自転車、歩行者等の物体を認識し、物体情報を出力する。また、自車経路検出部５０７はＧＰＳ５０４、地図５０５からの入力情報を基に自車の地図上の現在地点を検出し経路上の現地点の周囲の地図情報を出力する。
【００４３】
図６は変化量検出部１０４のブロック構成例を示す図である。図６において、正常時用の重み算出部６０１は、状況認識部１０３から入力される物体情報と経路情報の時間軸上の変化量にそれぞれ係数ｋ０、ｋ１を乗じた値を重みＷａとし、係数ｋ２、ｋ３を乗じた値を重みＷｂして出力する。同様に、故障時用の重み算出部６０２は、状況認識部１０３から入力される物体情報と経路情報の時間軸上の変化量に、それぞれ、係数ｋ４、ｋ５を乗じた値を重みＷａとし、係数ｋ６、ｋ７を乗じた値を重みＷｂとして出力する。選択部６０３は、自車に搭載したＥＣＵ等から入力される自車の診断情報より正常と判断した場合は正常時用の重み算出部６０１の出力を選択し、故障であるとの情報（各部アクチュエータからの故障通知信号）が入力された場合には故障時用の重み算出部６０２の出力を選択し出力する。よって、自車の変化量は、自車の走行経路および自車に属する各部アクチュエータからの故障通知の信号入力を含むものである。
【００４４】
図７Ａは制御条件調整部１０５による重みＷａに対する初期値の決定方法を説明する図である。図７Ａにおいて、重みＷａは０〜１の範囲の値をとり、例えばＷａ＝０であれば、前回の解探索演算で求まった値をそのまま初期値の候補とする。また、Ｗａ＝１であれば乱数の発生により初期値の候補を決定するように、重みＷａが大きくなるにしたがい乱数の割合を多くする。
【００４５】
図７Ｂは制御条件調整部１０５による重みＷｂに対する予測期間の決定方法を説明する図である。図７Ｂにおいて、重みＷｂは０〜１の範囲の値をとり、例えばＷｂ＝０であれば、予測期間を１０秒間とし、Ｗｂ＝１であれば１秒間とするように、重みＷｂが大きくなるにしたがい予測期間を短くする。
【００４６】
図８は制御条件調整部１０５のブロック構成例を示す図である。図８において、初期値設定部８０１は変化量検出部１０４から入力する重みＷａの値に応じて操作指令値生成部１０６へ出力する最適値探索演算のための初期値の候補値を決定する。予測期間設定部８０２は、変化量検出部１０４から入力する重みＷｂの値に応じて操作指令値生成部１０６へ出力する最適値探索演算を行う予測期間を決定（調整）する。
【００４７】
図９は制御条件調整部１０５の図８に示した構成とは別のブロック構成例を示す図であり、予測制御の初期値及び予測期間に加えて予測間隔を調整する例である。図９において、初期値設定部８０１および予測期間設定部８０２は図８のブロック構成例と同一の機能である。予測間隔設定部８０３は入力する重みＷｂの値に応じて操作指令値生成部１０６へ出力する最適値探索演算による予測間隔を決定する。例えば、Ｗｂ＝０であれば、予測期間１０秒間において0.1秒間隔で操作量候補（ｕ１〜ｕｎ）を求める。また、Ｗｂ＝１であれば予測期間１秒間において0.01秒間隔で操作量候補（ｕ１〜ｕｎ）を求める。この結果、予測制御にかかる演算量はＷｂの値に関わらず一定で、各操作量候補（ｕ１〜ｕｎ）の予測間隔を狭くすることができる。
【００４８】
制御条件調整部１０５は、周囲及び自車の変化量と変化方向を検出する手段（１０３、１０４）の検出結果に基づいて、モデル予測制御部１０１（予測制御手段）における解探索演算の初期値と予測期間とを設定する手段の一形態である。
【００４９】
図１０は図８および図９に示した初期値設定部８０１のブロック構成例を示す図である。図１０において、前回操作量依存個数部１００１は複数用意する初期値のうち、重みＷａの値に応じて、どの割合を前回操作量に依存した初期値とするかを決定する。例えば、操作量候補（ｕ１〜ｕｎ）を１組とし、その初期値として１００組を準備する場合、Ｗａ＝１であれば１００組全てを前回採用した操作量（ｕ１〜ｕｎ）を基に変更を加えた初期値とする。また、Ｗａ＝０．５の場合、５０組を前回採用した操作量（ｕ１〜ｕｎ）を基に変更を加えた初期値とする。Ｗａ＝０の場合は、周囲状況の変化が大きく、前回操作量の依存性はなしと判断し、１００組全ての初期値を乱数で発生させる。乱数範囲調整部１００２は前回採用の操作量を基準にしてそれぞれの値に加算する乱数の範囲を決定する。乱数範囲調整部１００２は、Ｗａの値が１に近いほど前回採用の操作量に対する依存性が高いと判断し、乱数の取りえる値の範囲を狭くする。
【００５０】
前回操作量依存生成部１００３は前回操作量に対し乱数範囲調整部１００２で生成した乱数を加算することで初期値を生成する。
【００５１】
通常乱数生成部１００４は予め設定された範囲内で乱数を発生させ、初期値を生成する。
【００５２】
初期値格納部１００５は前回操作量依存生成部１００３および通常乱数生成部１００４で生成した初期値を格納する。それぞれの格納数は前回操作量依存個数部１００１で決定された個数の割合となる。例えば初期値を１００組格納する場合であって、Ｗａ＝０．３のとき、前回操作量依存生成部１００３で生成した初期値３０組を格納し、通常乱数生成部１００４で生成した初期値７０組を格納する。
【００５３】
図１１Ａは本発明を用いない場合の演算回数に対する評価関数出力値の特性を示すグラフである。図１１Ａにおいて、縦軸は評価関数出力であり、横軸は演算回数を示し、（１）、（２）、（３）はそれぞれ１回目、２回目、３回目の演算を示している。それぞれの回で最小値に収束するまでの演算回数は異なり、３回とも最小値に収束したと判断できる演算回数は２１５０回となる。
【００５４】
図１１Ｂは本発明の実施例１での初期値に前回の最適解を含めた場合の特性を示すグラフである。図１１Ｂにおいて、図１１Ａと同様に、縦軸は評価関数出力であり、横軸は演算回数を示す。１回目の演算（１）は初期値として全て乱数により発生させた値を使ったため最小値への収束に３０００回の演算を要している。それに対し、２回目の演算（２）、３回目の演算（３）は初期値に前回の最適解を含めたため、最小値への収束が９００回の演算で済んでいる。
【００５５】
図１１Ｃは本発明での予測期間を１２８時点から１６時点に短くした場合の特性を示すグラフである。図１１Ｃにおいて、図１１Ａと同様に、縦軸は評価関数出力であり、横軸は演算回数を示す。初期値は図１１Ｂと同様に全て乱数で生成しているが、予測期間が図１１Ｂの１２８時点に対し、１６時点と短いため３回全ての収束までの演算回数は１０００回で済んでいる。
【００５６】
図１２はモデル予測制御による自動運転の一動作例を示す図である。図１２において、高速道路の走行車線を走行中の自動運転による車両１２０１が、同じ走行車線を走行中の車両１２０２の後方を走行する動作を想定している。図１２においては、走行レーンを破線で示している。
【００５７】
図１２の（ａ）は、高速道路上で自車１２０１が他車１２０２の後方を走行している図である。このとき自車１２０１は効率の良い運転を行うため、複数の制御量ｘの候補（複数の実線で示す）の中から太い実線の矢印で示す時系列的な制御量ｕ０〜ｕｎ（図１２の（ａ）の例ではｕ0〜ｕ１２７）を選択し、次の時点の制御量としてｕ１を決定する。
【００５８】
図１２の（ｂ）は前回選択した軌道を初期値に含めて予測制御演算を行った実施例である。図１２の（ｂ）に示す例では図１２の（ａ）の自車１２０１の周囲状況にほとんど変化が無いため、選択される予測軌道も図１２の（ａ）に示した例と同等となる。この場合、速度、方向の急激な変化が抑制されるため乗員にとって乗り心地の良い自動運転となる効果がある。また、図６において、選択部６０３に入力される自車診断情報が“故障”を示す信号の場合、前回と同一の軌道が維持されることで、迅速なフェールオペレーショナル制御に寄与する（フェールオペレーショナル制御寄与モード）。
【００５９】
図１２の（ｃ）は予測期間を短くして求まった予測軌道を示す図である。図１２の（ｃ）に示す例では図１２の（ｂ）に示す例に対し他車１２０２が路肩により停止したことで、時間的な変化量が多く、重みＷｂが１に近い値となり予測期間を短くして今回の予測軌道を求めている。この場合、最適な軌道が求まるまでの時間が短くなるので急な周囲状況の変化に対応できる。また、図６において、自車診断情報が“１”を入力した場合、予測期間を短くして路肩に退避する軌道をすぐに生成でき、迅速なフェールセーフ制御に寄与する（フェールセーフ制御寄与モード）。
【００６０】
以上に示した本発明の実施例１によれば、自車両の周囲状況の変化量を検出し、検出した変化量に従って予測制御の初期値及び予測期間を変更するように構成したので、人が運転するように、通常走行時の乗り心地と緊急時の迅速な動作の両立が可能な予測制御装置を実現することができる。
【００６１】
また、実施例１によれば、自車や自車の周囲状況の変化量の大小に応じて、前回選択した軌道を初期値に含めて予測制御を行うか、予測期間を短くして初期値を乱数により生成して予測制御を行うか切り替える制御を行っている。よって、自車の周囲状況の変化に応じて適切に車両動作を制御することができる。
【００６２】
（実施例２）
次に、本発明の実施例２について説明する。
【００６３】
実施例１においては、フェールオペレーショナル制御に寄与するモードと、迅速なフェールセーフ制御に寄与するモードとを切り替える構成である。
【００６４】
実施例２においては、自車の周囲状況及び自車の変化に応じて、予測制御の初期値及び予測期間を変更する点においては、実施例１と共通するが、フェールセーフ制御寄与モードを有していない。つまり、実施例２においては、初期値と予測期間とを設定する制御条件調整部１０５は、自車の周囲状況や自車の変化量に応じて、設定する初期値及び予測期間を解探索演算の前回の演算結果（操作量）を、初期値に含めて操作量として設定するフェールオペレーショナル制御モードのみを有している。
【００６５】
実施例２においては、車両故障等が発生した場合であっても、通常走行時の乗り心地を達成することができる。
【００６６】
実施例２と実施例１との構成の相違は、実施例２においては、図８及び図９に示した制御条件調整部１０５の初期値設定部８０１、予測期間設定部８０２が、フェールオペレーショナル制御モード時には、前回の操作量とする点である。
【００６７】
実施例２の他の構成は、実施例１と同等となるので、図示及び詳細な説明は省略する。
【００６８】
実施例２によれば、通常走行時の乗り心地が向上された予測制御装置を実現することができる。
【００６９】
また、実施例２においては、実施例１と比較して、フェールセーフ制御モードを有していないので、その演算負荷を軽減でき、例えば、高速道路走行時の自車の故障発生時においても、速やかに軌道を維持することができる。
【符号の説明】
【００７０】
１０１・・・モデル予測制御部、１０２・・・アクチュエータ、１０３・・・状況認識部、１０４・・・変化量検出部、１０５・・・制御条件調整部、１０６・・・操作指令値生成部、１０７・・・出力予測部、１０８・・・評価関数演算部、２０１・・・操作量生成部、２０２・・・比較部、２０３・・・最小値保存部、２０４・・・操作量保存部、３０１・・・状態方程式演算部、３０２・・・保存部、４０１・・・リスク度演算部、４０２・・・速度誤差演算部、４０３・・・加速度演算部、４０４・・・加々速度演算部、４０５・・・加算部、５０１・・・カメラ、５０２・・・ＬｉＤＡＲ、５０３・・・ミリ波レーダー、５０４・・・ＧＰＳ、５０５・・・地図情報部、５０６・・・物体認識部、５０７・・・自車経路検出部、６０１・・・正常時用重み算出部、６０２・・・故障時用重み算出部、６０３・・・選択部、８０１・・・初期値設定部、８０２・・・予測期間設定部、８０３・・・予測間隔設定部、１００１・・・前回操作量依存個数部、１００２・・・乱数範囲調整部、１００３・・・前回操作量依存生成部、１００４・・・通常乱数生成部、１００５・・・初期値格納部、１２０１・・・自車、１２０２・・・他車
【図１】
2020008889.tif 000003
【図２】
2020008889.tif 000004
【図３】
2020008889.tif 000005
【図４】
2020008889.tif 000006
【図５】
2020008889.tif 000007
【図６】
2020008889.tif 000008
【図７Ａ】
2020008889.tif 000009
【図７Ｂ】
2020008889.tif 000010
【図８】
2020008889.tif 000011
【図９】
2020008889.tif 000012
【図１０】
2020008889.tif 000013
【図１１Ａ】
2020008889.tif 000014
【図１１Ｂ】
2020008889.tif 000015
【図１１Ｃ】
2020008889.tif 000016
【図１２】
2020008889.tif 000017