以下、本発明に係る制御目標演算装置の好適な実施形態について図面を参照しながら詳細に説明する。なお、図面の説明において、同一の要素には同一の符号を付し、重複する説明を省略する。
[第1の実施形態]
(制御目標演算装置1の構成)
図1及び図2に示すように、本実施形態に係る制御目標演算装置1は、車両(制御対象)に備えられ、車速センサなどのセンサ2からの入力値に応じた制御量を制御目標として車両制御用のアクチュエータ6に出力するものである。制御目標演算装置1は、センサ2、入力ECU[Electric Control Unit](入力時系列データ生成手段)3、演算ECU(中間演算値時系列データ生成手段)4、及び制御ECU(選択値選択手段、制御目標出力手段)5を備えている。
入力ECU3、演算ECU4、及び制御ECU5は、それぞれ演算処理を行うCPU[Central Processing Unit]、記憶部となるROM[Read Only Memory]及びRAM[Random Access Memory]、入力信号回路、出力信号回路、電源回路等により構成された電子制御ユニットであり、車両LAN[Local Area Network]10を介して電気的に接続されている。また、入力ECU3、演算ECU4、及び制御ECU5は、時刻情報を取得するためのシステムタイマを共有している。
センサ2は、車両に備えられ、車両制御用のアクチュエータ6の制御に必要な情報(車速や車両の位置)を検出するセンサである。センサ2は、検出結果を入力ECU3に出力する。
入力ECU3は、センサ2と電気的に接続されており、センサ2から入力された検出結果を入力値として取得する。また、入力ECU3は、システムタイマから取得した時刻情報に基づいて、入力値が入力された時刻である入力時刻を取得する。入力ECU3は、入力値及びその入力時間を保存する。入力ECU3は、入力値の時系列データ(入力値と入力時間とを対応付けたデータ)である入力時系列データNを生成する。入力ECU3は、生成した入力時系列データNを演算ECU4に出力する。
演算ECU4は、入力ECU3からの入力により、入力時系列データNを取得する。演算ECU4は、取得した入力時系列データNに基づいて、中間演算値(入力値から制御量を算出する間の演算量)の時系列データである中間演算値時系列データJを生成する。この演算ECU4は、複数のECU(演算処理部)4a1〜4am(mは2以上の自然数)から構成されている。演算ECU4では、入力時系列データNに対して各ECU4a1〜4amにおける演算処理α1〜αm(mは2以上の自然数)が順次行われることで、中間演算値時系列データJが生成される。このとき、各ECU4a1〜4amにおけるデータの入出力は、時系列データの状態で行われる。演算ECU4は、生成した中間演算値時系列データJを制御ECU5に出力する。
制御ECU5は、演算ECU4からの入力により、中間演算値時系列データJを取得する。制御ECU5は、中間演算値時系列データJの中から、制御目標の生成に最適な値を選択値Kとして選択する。制御ECU5は、この選択値Kに基づいて、制御目標として出力される制御量を算出する。なお、この選択値Kは、複数の中間演算値を含んでいても良い。
このとき、制御ECU5は、予め設定された第1の選択条件に従って選択値Kを選択する。このような第1の選択条件は、種々ものが設定可能であり、たとえば各入力値の時間的ばらつきの低減、センサ特性への適合、処理遅延時間の悪影響の除去などの目的に応じて、適切なものが選択される。第1の選択条件の例としては、現在時刻を基準として現在時刻に対応するデータ範囲を選択する条件がある。この場合、図3に示すように、中間演算値時系列データJにおいて、制御ECU5が中間演算値時系列データJを取得した時間τを基準とし、現在時刻τ+τjから予め定められた値δTを引いた時間τ+τj−δTに対応する中間演算値を選択値Kとして選択する。制御ECU5は、選択値Kに基づいて制御量を算出し、算出した制御量を制御目標としてアクチュエータ6に出力する。
アクチュエータ6は、車両のステアリングを駆動するステアリングアクチュエータ7、エンジンのスロットルを駆動するスロットルアクチュエータ8、ブレーキ装置を駆動するブレーキアクチュエータ9などから構成される車両制御用のアクチュエータである。アクチュエータ6は、制御ECU5から出力された制御量に応じて駆動制御され、これにより車両の走行制御が実現される。
次に、以上の構成を有する制御目標演算装置1の各ECUの動作について図面を参照して説明する。
(入力ECU3の動作)
図4に示すように、入力ECU3は、センサ2の検出結果を入力値として取得すると共に、システムタイマから取得した時刻情報に基づいて、入力値が入力された時間である入力時刻を取得する(S11)。続いて、入力ECU3は、入力値及びその入力時間を保存する(S12)。その後、入力ECU3は、入力値の時系列データである入力時系列データNを生成する(S13)。入力ECU3は、生成した入力時系列データNを演算ECU4に出力する(S14)。その後、処理を終了する。
(演算ECU4の動作)
図5に示すように、演算ECU4は、入力ECU3から出力された入力時系列データNを取得する(S21)。その後、演算ECU4は、入力時系列データNに基づいて、中間演算値時系列データJを生成する(S22)。このとき、図2に示すように、演算ECU4を構成するECU4a1〜4amでは、各ECU間の通信処理や演算処理α1〜αmにおいて不規則な処理遅延時間δt1〜δtmが生じる。演算ECU4は、生成した中間演算値時系列データJを制御ECU5に出力する(S23)。その後、処理を終了する。
(制御ECU5の動作)
図6に示すように、制御ECU5は、演算ECU4からの入力により中間演算値時系列データJを取得する(S31)。制御ECU5は、中間演算値時系列データJの中から、第1の選択条件に従って選択値Kを選択する(S32)。制御ECU5は、選択した選択値Kに基づいて、制御量を算出する(S33)。制御ECU5は、算出した制御量を制御目標としてアクチュエータ6に出力する(S34)。その後、処理を終了する。
以上説明した制御目標演算装置1によれば、演算ECU4を構成する各ECU4a1〜4amの間において、時系列データとしてデータの入出力が行われ、最後に生成された中間演算値時系列データJの中から、制御量の算出に用いられる選択値Kが第1の選択条件に従って選択される。従って、この制御目標演算装置1によれば、複数の演算処理において不規則な処理遅延時間δt1〜δtmが生じたとしても、実際に処理に要した時間に合わせて、制御量の算出に適した選択値Kをフレキシブルに選択することが可能となるので、制御対象の制御における信頼性の向上を図ることができる。
具体的には、制御目標演算装置1では、図3及び図7に示すように、第1の選択条件に従って、中間演算値時系列データJの中から現在時刻より一定時間遡った時刻に対応する選択値Kを選択することで、処理遅延時間の影響(たとえば図7における中間演算値時系列データJの末端の時刻Pの時間的ばらつき)によらず、アクチュエータ6が駆動する制御タイミングQに対して一定のタイミングの制御量を出力することが可能となるので、車両の走行制御における信頼性の向上を図ることができる。
なお、第1の選択条件は、上述したものに限られない。たとえば演算処理の数式にとって都合のよい組み合わせを選択する条件を第1の選択条件として採用してもよい。具体的には、車両の走行制御のための目標進路を制御目標として出力する場合を考えると、目標進路Pの時系列データ(中間演算値時系列データJに相当)は下記の式(1)で表わされ、中間演算値の中身であるP(τ)は下記の式(2)で表される。ここで、式(1)のτは時間を示す変数であり、a,bは任意の自然数である。また、式(2)のxは、自動車の走行する平面をxy座標として表した場合におけるx座標値であり、yはy座標値である。式(2)のvは車速であり、flagはデータ利用可能性の判定値(0:利用可能、1:利用不能)である。
この場合において、制御ECU5は、第1の選択条件に従って、目標進路Pの時系列データの中から各時刻の走行制御量の算出に用いるべき値(選択値K)をそれぞれ選択する。ここで、時刻τ(たとえば現在時刻)を基準とした過去2回分τ−1,τ−2のデータを選択することが演算処理の数式にとって都合が良い場合、たとえば下記の式(3)に示す現在の時刻を基準として2次のFIR[Finite Impulse Response]フィルタにより基準時刻τの値P(τ)と過去2回分の値P(τ―1),P(τ―2)とを選択する条件を第1の選択条件として採用する。
更には、データ利用可能性の判定値flagを考慮して、flagが0のデータの中で、基準時刻τを基準とした過去2回分のデータを選択する条件としてもよい。この場合において、下記の式(4)に示すFIRフィルタを利用することができる。また、基準時刻τのデータ範囲の中でflagが0のデータを選択する条件としてもよい。以上、第1の選択条件の例について説明したが、第1の選択条件は上述したものに限られない。第1の選択条件は、演算処理の内容や制御対象、仕様、その他種々の要因に応じて適切なものが選択される。
また、本実施形態において、入力ECU3は、将来の入力値を含む入力時系列データNを生成する態様であってもよい。具体的には、入力ECU3は、センサ2から入力された現在の入力値と保存された過去の入力値とに基づいて、予め定められた演算処理プログラムにより将来の入力値を推定する。入力ECU3は、現在の入力値、保存された過去の入力値、及び推定した将来の入力値に基づいて、将来の入力値を含む入力時系列データNを生成する。
このような構成によれば、図8に示すように、演算ECU4において、将来の入力値に対応した将来の中間演算値を含む中間演算値時系列データJが生成され、選択値Kの選択可能範囲が広くなるので、制御内容に応じたより適切な制御量を算出することが可能になる。なお、このような第1の選択条件によるデータの選択は、中間演算値時系列データJに対して行われる場合に限られず、その他演算ECU4における演算途中の時系列データに対して行われてもよい。
更に、本実施形態において、各ECUは、複数の時系列データをセットにして次のECUに出力する態様であってもよい。具体的には、入力ECU3において、時間的に末端側が重複する複数の入力時系列データNが生成され、これらの複数の入力時系列データNとそれぞれの入力時系列データNに対応する時刻τ−3〜τ+2(τは任意の基準時刻)とをセットにして演算ECU4に出力される。なお、入力時系列データNに対応する時刻としては、たとえば入力時系列データNの生成時刻などが挙げられる。
そして、演算ECU4において、図9に示すように、入力ECU3から出力された複数の入力時系列データNとそれぞれの入力時系列データNに対応する時刻τ−3〜τ+2に基づいて、複数の中間演算値時系列データJ[τ−3]〜J[τ+2]がセットとして生成される。その後、制御ECU5において、中間演算値時系列データJ[τ−3]〜J[τ+2]のセットの中から上述した第1の選択条件に従って選択値Kが選択される。なお、この場合においては、予め定められた範囲選択条件により、選択範囲Wを選択した後に、選択範囲Wの中から選択値Kを絞り込む態様であってもよい。そして、制御ECU5において、選択値Kに基づき制御目標となる制御量が算出される。
このような構成によれば、複数の時系列データをセットにして処理することで、各種入力値の入力処理における処理遅延時間のばらつきを排除した演算結果を次のECUに出力することができるので、結果としてより制御精度の高い制御量を出力することが可能となる。
[第2の実施形態]
次に、第2の実施形態に係る制御目標演算装置11について図面を参照して説明する。第2の実施形態に係る制御目標演算装置11は、第1の実施形態と比較して、複数のセンサ21〜26からの入力値に応じた制御量を出力する点と、演算ECU41及び制御ECU51の機能とが主に相違する。
(制御目標演算装置11の構成)
図10及び図11に示すように、本実施形態における制御目標演算装置11は、Yaw/Gセンサ21、画像センサ22、レーダセンサ23、操舵角センサ24、車速センサ25、及びGPS[Global Positioning System]検出部26を備えている。更に、制御目標演算装置11は、入力ECU(入力時系列データ生成手段)31〜36、演算ECU(中間演算値時系列データ生成手段)41、及び制御ECU(選択値選択手段、制御目標出力手段)51を備えている。また、入力ECU31〜36、演算ECU41、及び制御ECU51は、車両LAN10を介して電気的に接続されていると共に、時刻情報を取得するためのシステムタイマを共有している。
Yaw/Gセンサ21は、車両のヨーイング及び加速度を検出するセンサである。Yaw/Gセンサ21は、入力ECU31と電気的に接続されている。Yaw/Gセンサ21は、検出した車両のヨーイング及び加速度の情報をYaw/G入力値Aとして入力ECU31に出力する。画像センサ22は、車両の周囲の画像を撮像するものである。画像センサ22は、入力ECU32と電気的に接続されている。画像センサ22は、撮像した車両周囲の画像情報を画像入力値Bとして入力ECU32に出力する。
レーダセンサ23は、車両の周囲に存在する他車両などの障害物を検出するセンサである。レーダセンサ23は、入力ECU33と電気的に接続されている。レーダセンサ23は、検出した障害物の情報を障害物入力値Cとして入力ECU33に出力する。操舵角センサ24は、ステアリングホイールの操舵角(タイヤの向き)を検出するセンサである。操舵角センサ24は、入力ECU34と電気的に接続されている。操舵角センサ24は、検出した操舵角の情報を操舵角入力値Dとして入力ECU34に出力する。
車速センサ25は、車輪の回転数から車速を検出するセンサである。車速センサ25は、入力ECU35と電気的に接続されている。車速センサ25は、検出した車速の情報を車速入力値Eとして入力ECU35に出力する。GPS検出部26は、複数のGPS衛星からの電波を受信することで、車両の位置を検出するものである。GPS検出部26は、入力ECU36と電気的に接続されている。GPS検出部26は、検出した車両の位置の情報を位置入力値Fとして入力ECU36に出力する。
入力ECU31〜36は、各種センサ21〜26からの入力により、各種入力値A〜Fを取得する。また、入力ECU31〜36は、システムタイマから取得した時刻情報に基づいて、各種入力値A〜Fが入力された時刻である入力時刻をそれぞれ取得する。入力ECU31〜36は、各種入力値A〜F及び各種入力値A〜Fに対応する入力時間を保存する。入力ECU31〜36は、保存された現在及び過去の入力値A〜Fに基づいて、将来の各種入力値A〜Fを推定する。入力ECU31〜36は、保存した現在及び過去の入力値A〜Fと推定した将来の入力値A〜Fとに基づいて、推定した将来の入力値A〜Fをそれぞれ含む入力時系列データN1〜N6を生成する。入力ECU31〜36は、生成した入力時系列データN1〜N6を演算ECU41に出力する。
演算ECU41は、入力ECU31〜35からの入力により、入力時系列データN1〜N6を取得する。演算ECU41は、入力時系列データN1〜N6に基づいて、各種入力値A〜Fに応じた中間演算値の時系列データである中間演算値時系列データJ1〜J6を生成する。演算ECU41は、複数のECU(演算処理部)41a1〜ECU41amから構成されている。演算ECU41では、入力時系列データN1〜N6に対して各ECU41a1〜41amにおける演算処理α1〜αmが順次行われることで、中間演算値時系列データJ1〜J6が生成される。このとき、各ECU41a1〜41amにおけるデータの入出力は、時系列データの状態で行われる。演算ECU41は、生成した中間演算値時系列データJ1〜J6を制御ECU5に出力する。
制御ECU51は、演算ECU41からの入力により、中間演算値時系列データJ1〜J6を取得する。制御ECU51は、各種入力値A〜Fに応じた中間演算値時系列データJ1〜J6の中から、選択データ範囲H1〜H6(第1の実施形態における選択値Kのセットに相当)を種類毎に選択する(図12参照)。
このとき、制御ECU51は、予め設定された第2の選択条件に従って選択データ範囲H1〜H6を選択する。このような第2の選択条件は、種々ものが設定可能であり、たとえば各入力値の時間的ばらつきの低減、センサ特性への適合、処理遅延時間の悪影響の除去などの目的に応じて、適切なものが選択される。第2の選択条件の例としては、現在時刻τ+τjにおいて、現在時刻τ+τjのデータセット(現在時刻τ+τjの前後で制御量の算出に必要な長さの範囲)に対応し、かつ次の演算処理(制御量の算出処理)の数式にとって都合がよい範囲を選択データ範囲H1〜H6として選択する条件がある。
制御ECU51は、選択データ範囲H1〜H6内の中間演算値データに基づいて、制御量を算出する。制御ECU51は、算出した制御量を制御目標としてアクチュエータ6に出力する。
次に、以上の構成を有する制御目標演算装置11の各ECUの動作について図面を参照して説明する。
(入力ECU31〜36の動作)
図13に示すように、入力ECU31〜36は、各種センサ21〜26の検出結果を入力値として取得すると共に、システムタイマから取得した時刻情報に基づいて、入力値が入力された時間である入力時刻を取得する(S41)。続いて、入力ECU31〜36は、入力値及びその入力時間を保存する(S42)。
続いて、入力ECU31〜36は、保存した現在及び過去の入力値A〜F及び入力時刻に基づいて、将来の各種入力値を推定する(S43)。その後、入力ECU31〜36は、将来の各種入力値を含む入力時系列データN1〜N6をそれぞれ生成する(S44)。入力ECU31〜36は、生成した入力時系列データN1〜N6を演算ECU41にそれぞれ出力する(S45)。その後、処理を終了する。
(演算ECU41の動作)
図14に示すように、演算ECU41は、入力ECU31〜36から出力された入力時系列データN1〜N6を取得する(S51)。その後、演算ECU41は、入力時系列データN1〜N6に基づいて、各種入力値A〜Fに応じた中間演算値時系列データJ1〜J6を生成する(S52)。このとき、図11及び図12に示すように、中間演算値時系列データJ1と中間演算値時系列データJ2との間には、演算処理に掛かる時間の差(たとえば車両のヨーイング及び加速度の演算処理に掛かる時間と画像の演算処理に掛かる時間との差)、センサからの入力タイミングの差、及び各ECU41a1〜41amにおける不規則な処理遅延時間δtα1〜δtαm,δtβ1〜δtβmの差が累積的に影響して時間的なズレが生じる。同様に、各中間演算値時系列データJ1〜J6の間においても時間的なズレが生じる。演算ECU41は、生成した中間演算値時系列データJ1〜J6を制御ECU51に出力する(S53)。その後、処理を終了する。
(制御ECU51の動作)
図15に示すように、制御ECU51は、演算ECU41からの入力により、中間演算値時系列データJ1〜J6を取得する(S61)。制御ECU51は、各種入力値A〜Fに応じた中間演算値時系列データJ1〜J6の中から、制御量の算出に用いられる選択データ範囲H1〜H6を種類毎に選択する(S62)。制御ECU51は、選択データ範囲H1〜H6内のデータに基づいて、制御量を算出する(S63)。制御ECU51は、算出した制御量を制御目標としてアクチュエータ6に出力する(S64)。その後、処理を終了する。
以上説明した制御目標演算装置11によれば、複数の種類の入力値A〜Fに基づいて制御量を制御目標として出力する場合に、複数の種類の中間演算値時系列データJ1〜J6の中から、制御量の算出に用いられる選択データ範囲H1〜H6が第2の選択条件に従って選択される。従って、この制御目標演算装置11によれば、複数の演算処理において不規則な処理遅延時間δtα1〜δtζmが生じたとしても、実際に処理に要した時間に合わせて、制御量の算出に適した選択データ範囲H1〜H6をフレキシブルに選択することが可能となるので、制御対象の制御における信頼性の向上を図ることができる。
なお、第2の選択条件は、上述したものに限られない。たとえば第2の選択条件として、演算処理の数式にとって都合のよい組み合わせの選択データ範囲を選択する条件を採用してもよい。具体的には、複数の中間演算値時系列データx,y,zについて、中間演算値時系列データxは現在時刻τのデータ及び過去2回分τ−1,τ−2のデータ、中間演算値時系列データyは過去2回目〜4回目τ−2,τ−3,τ−4のデータ、中間演算値時系列データzは1回分将来の予測値τ+1、現在時刻τ、及び過去1回分τを選択することが次の演算処理の数式にとって都合が良いと分かっている場合、たとえば下記の式(5)に示すFIRフィルタを第2の選択条件として採用することができる。
また、演算処理の数式にとって都合のよい組み合わせとして、各種データ間の時間的ばらつきを小さくするために演算処理時に準備できているデータを選択する条件がある。具体的には、中間演算値時系列データx,y,zについて、下記の表1に示すように、中間演算値時系列データxが2回分の遅延を有し(つまり現在時刻τにおいて2回分遅い時刻τ―2のデータx(τ―2)が取得される)、中間演算値時系列データyが1回分の遅延を有し、中間演算値時系列データzは遅延なしである場合を考える。このとき、各種データ間の時間的ばらつきを小さくするように、下記の式(6)に示すFIRフィルタを第2の選択条件として採用することができる。この場合の選択データ範囲を表1のあみかけ部として示す。
次に、図16を参照して、第2の選択条件に従って選択データ範囲を選択する場合の具体例について説明する。図16において、黒丸は上述した各種入力値B〜Fを示し、横軸はタイムスタンプ(システムタイマにより各入力値に対応付けられた時刻)を示している。また、白抜きの丸は、画像入力値Bのうち画像のコントラストが得られていないもの、つまり演算処理の対象として有効ではない画像入力値Bを示している。
この場合、第2の選択条件に従って、まずレーダセンサ23による障害物入力値Cの時系列データである入力時系列データN3の中から現在時刻を基準とした選択データ範囲H3が選択される。次に、画像センサ22による画像入力値Bの時系列データである入力時系列データN2の中から時間的に選択データ範囲H3に対応する範囲である選択データ範囲H2が選択される。
そして、選択データ範囲H2内の画像入力値Bのうちコントラストの得られている画像入力値(黒塗りの丸で示された画像入力値)B1が抽出される。その後、車速センサ25による車速入力値Eの時系列データである入力時系列データN5の中から時間的に画像入力値B1に最も近い車速入力値E1が選択データ範囲H5として選択される。同様に、操舵角センサ24による操舵角入力値Dの時系列データである入力時系列データN4の中から時間的に画像入力値B1に最も近い操舵角入力値D1が選択データ範囲H4として選択される。また、GPS検出部26による位置入力値Fの時系列データである入力時系列データN6の中から時間的に画像入力値B1に最も近い位置入力値F1が選択データ範囲H6として選択される。
上述した手順により、演算処理の数式にとって都合のよい組み合わせとして、各種データ間の時間的ばらつきを小さくするために演算処理時に準備できているデータを選択する第2の選択条件に従って、選択データ範囲を選択することで、図16に示すように時間的ばらつきの小さい選択データ範囲H2〜H6が取得される。このようにして選択された選択データ範囲H2〜H6に基づいて制御量を算出することにより、各種データ間の時間的ばらつきによる影響が小さく制御精度の高い制御量の出力が実現される。しかも、コントラストの得られていない不鮮明な画像入力値を使用しないので、制御対象の制御における信頼性の向上を図ることができる。
以上、第2の選択条件の例について説明したが、第2の選択条件は上述したものに限られない。第2の選択条件は、演算処理の内容や制御対象、仕様、その他種々の要因に応じて適切なものが選択される。また、このような第2の選択条件によるデータ範囲の選択は、制御量の算出において用いる場合に限られず、他の演算処理においても必要に応じて適切に用いられる。
また、図17に示すように、本実施形態において、各ECUは複数の時系列データをセットにして次のECUに出力する態様であってもよい。この場合、入力ECU31は、時間的に末端側が重複する複数の入力時系列データN1を生成する。入力ECU31は、これらの複数の入力時系列データN1のそれぞれに入力時系列データN1に対応する時刻τ−3〜τ(τは任意の基準時刻)を設定する。入力ECU31は、これらの複数の入力時系列データN1[τ−3]〜N1[τ]をセットにして、演算ECU41に出力する。
演算ECU41は、入力ECU31から出力された入力時系列データN1[τ−3]〜N1[τ]のセットに基づいて、中間演算値時系列データJ1[τ−3]〜J1[τ]のセットを生成する。演算ECU41は、生成した中間演算値時系列データJ1[τ−3]〜J1[τ]のセットを制御ECU51に出力する。
同様にして、入力ECU32〜36において、複数の入力時系列データN2〜N6が生成され、時刻τ−3〜τと対応付けられて入力時系列データN2[τ−3]〜N2[τ],・・・,N6[τ−3]〜N6[τ]のセットとして演算ECU41に出力される。演算ECU41では、入力時系列データN2[τ−3]〜N2[τ],・・・,N6[τ−3]〜N6[τ]のセットに基づいて、中間演算値時系列データJ2[τ−3]〜J2[τ],・・・,J6[τ−3]〜J6[τ]のセットを生成する。演算ECU41は、生成した中間演算値時系列データJ2[τ−3]〜J2[τ],・・・,J6[τ−3]〜J6[τ]のセットを制御ECU51に出力する。
制御ECU51は、入力ECU31〜36から出力されたJ1[τ−3]〜J1[τ],・・・,J6[τ−3]〜J6[τ]のセットの中から、上述した第2の選択条件に従って選択データ範囲H1〜H6を選択する。これらの選択データ範囲H1〜H6は、現在時刻を基準とした同一タイミングのデータ範囲が選択される。そして、制御ECU51では、選択データ範囲H1〜H6内から予め定められた選択条件に従って更に選択された選択データL1〜L6に基づいて、制御量が算出される。
このような構成の制御目標演算装置11によれば、複数の時系列データをセットにして処理することで、各種入力値の入力処理における処理遅延時間のズレやばらつきを排除して、実際に処理に要した時間に合わせた演算結果を次のECUに出力することができるので、結果としてより制御精度の高い制御量を出力することが可能となる。
[第3の実施形態]
次に、第3の実施形態に係る制御目標演算装置12について図面を参照して説明する。第3の実施形態に係る制御目標演算装置12は、第1の実施形態と比較して、制御ECU5に入力される時系列データの長さ(時間的長さ)を処理遅延時間に応じて設定する点と、入力時系列データNが将来の入力値を含む点とが主に相違する。
図1,図18及び図19に示すように、第3の実施形態における制御目標演算装置12は、第1の実施形態における制御目標演算装置1と同様の構成を有している。図18に示すu0(t)は、時刻tにおけるセンサ2からの入力値を示し、u1は、演算ECU4を構成する1番目のECU4a1の演算結果(演算処理α1における演算結果)の時系列データを示している。また、umは、演算ECU4を構成するm番目のECU4amの演算結果(演算処理αmにおける演算結果)の時系列データを示しており、制御ECU5に入力される中間演算値時系列データJに相当する。yは、制御ECU5からアクチュエータ6に出力される制御量を示している。
また、図19に示すT1は、制御ECU5における制御演算に必要な時系列範囲を示している。T2は、入力ECU3及び演算ECU4を構成する各ECU4a1〜ECU4amにおける処理時間を示しており、T3は、各ECU4a1〜ECU4amにおける処理遅延時間を示している。また、T4は、制御ECU5における処理時間(制御演算時間)を示しており、T5は、制御ECU5が制御量を出力してからアクチュエータ6が応答して制御量に応じた駆動動作が終了するまでの時間(制御応答時間)を示している。
制御目標演算装置12における入力ECU3は、センサ2と電気的に接続されており、センサ2から時刻tにおける入力値u0(t)を取得する。また、入力ECU3は、システムタイマから取得した時刻情報に基づいて、入力値が入力された時刻である入力時刻を取得する。入力ECU3は、入力された入力値及びその入力時間を保存する。
入力ECU3は、保存された現在の入力値u0(t)及び過去の入力値u0(t−1)〜u0(t−j)(jは任意の自然数)及び入力時刻に基づいて、将来の入力値u0(t+1)〜u0(t+i)(iは任意の自然数)を推定する。そして、入力ECU3は、推定した将来の各種入力値を含む入力時系列データNを生成する。このとき、入力ECU3は、ECU4a1における演算処理α1に必要なデータ長さ、演算処理αにかかる時間、及びその処理遅延時間を予測し、その予測結果に応じた長さの入力時系列データNを生成する。入力ECU3は、生成した入力時系列データNを演算ECU4に出力する。
演算ECU4のECU4a1は、入力時系列データNから演算処理α1における演算結果の時系列データu1を生成する。このとき、ECU4a1は、次のECU4a2における演算処理α2に必要な長さ、演算処理α2にかかる時間、及び演算処理α2における処理遅延時間を予測し、その予測結果に応じた長さの時系列データを生成する。ECU4a1は、生成した時系列データをECU4a2に出力する。
同様にして、演算ECU4を構成するECU4a2〜4am−1において演算処理α2〜αm−1が行われ、ECU4am−1が生成した演算結果の時系列データum−1がECU4amに出力される。ECU4amは、次の制御ECU5における制御量算出処理に必要なデータ長さ、制御量算出処理にかかる時間、及びその処理遅延時間を予測する。ECU4amは、長さTAが下記の式(7)を満たすように演算結果の時系列データum(中間演算値時系列データJ)を生成する。ECU4amは、生成した長さTAの時系列データumを制御ECU5に出力する。
制御ECU5は、ECU4amからの入力により、演算結果の時系列データumを取得する。制御ECU5は、取得した演算結果の時系列データumに基づいて、制御量を算出する。制御ECU5は、算出した制御量を制御目標としてアクチュエータ6に出力する。
以上説明した制御目標演算装置12では、不規則に変動する処理遅延時間に応じて次のECUに入力される時系列データの長さが設定されることで、制御演算処理に必要なデータの長さを確保しつつ、そのデータの長さの短縮化を図ることができ、これによって演算処理量の低減及び処理の迅速化を図ることができる。
また、下記の式(8)を満たすように演算結果の時系列データumの長さTAを設定する態様であってもよい。この場合、制御量算出処理において処理が完了する時点での制御量についても算出することが可能になる。
或いは、下記の式(9)を満たすように演算結果の時系列データumの長さTAを設定する態様であってもよい。この場合、実際にアクチュエータ6が動作するタイミングまでの制御量を予測することで、最新のシステム状態に応じたより適切な制御量の算出が可能となる。
なお、時系列データumの長さTAについて特に式(7)〜(9)を挙げて説明したが、その他の時系列データu1〜um−1についても同様の考え方によって長さを設定してもよい。
[第4の実施形態]
次に、第4の実施形態に係る制御目標演算装置13について図面を参照して説明する。第4の実施形態に係る制御目標演算装置13は、第2の実施形態と比較して、任意のセンサにおける入力値が制御ECU51に直接入力される点が主に相違する。
図10及び図20に示すように、本実施形態における制御目標演算装置13は、第2の実施形態における制御目標演算装置11と同様の構成を有している。図20に示すu
a 0(t)は、時間tにおけるYaw/G入力値Aを表しており、u
b 0(t)〜u
f 0(t)は、時間tにおける各種入力値B〜Fを表しており、下付きの0は、演算ECU41における演算処理を受けていないことを示している。u
a mは、Yaw/G入力値Aの時系列データである入力時系列データN1から生成された中間演算値時系列データJ1を表しており、下付きのmは、演算ECU41における演算処理α1〜αmを経た演算結果であることを示している。このu
a mは、将来の算出値u
a m(t+i)から過去の算出値u
a m(t−j)までの入力値を含んでいる(i,jは任意の値)。また、δt1は、処理1における処理遅延時間を表し、δtmは、処理mにおける処理遅延時間を表している。また、処理1〜処理mにおける処理遅延時間の合計Σδtは下記の式(10)で表される。yは、制御ECU5からアクチュエータ6に出力される制御量を表している。
以下、任意のセンサの入力値としてGPS検出部26の位置入力値Fが、演算ECU41を経ずに制御ECU51に直接入力される場合について説明する。なお、このような任意のセンサは、制御内容に応じて選択され、一つではなく複数であってもよい。
制御目標演算装置13における入力ECU31〜35は、各種センサ21〜25から入力された各種入力値A〜E(ua 0〜ue 0)それぞれの時系列データである入力時系列データN1〜N6を生成し、入力時系列データN1〜N6を演算ECU41に出力する。入力ECU36は、GPS検出部26から出力された位置入力値F(uf 0)の時系列データである入力時系列データN6を生成する。また、入力ECU35は、生成した入力時系列データN6を演算ECU41に出力すると共に、GPS検出部26から出力された最新の位置入力値Fを制御ECU51に出力する。
演算ECU41は、入力ECU31〜36より出力された入力時系列データN1〜N6に基づき、中間演算値時系列データJ1〜J6を生成する。演算ECU41は、生成した中間演算値時系列データJ1〜J6を制御ECU51に出力する。
制御ECU51は、演算ECU41からの入力により中間演算値時系列データJ1〜J6を取得すると共に、入力ECU36からの入力により最新の位置入力値Fを取得する。制御ECU51は、各種入力値A〜Fに応じた中間演算値時系列データJ1〜J6の中から、上述した第2の選択条件に従って選択データ範囲H1〜H6を種類毎に選択する(図12参照)。
制御ECU51は、選択データ範囲H1〜H6内のデータと最新の位置入力値Fに基づいて、制御量を算出する。制御ECU51は、算出した制御量を制御目標としてアクチュエータ6に出力する。
以上説明した制御目標演算装置13によれば、最終演算処理を行う制御ECU51に対して最新の位置入力値Fを直接入力する構成とすることで、演算処理α1〜αmにおける演算処理時間及び処理遅延時間の合計Σδtに起因する入出力の時間的なズレの影響を小さくすることが可能となり、最新の状況に応じた制御量を出力することができる。このことは、例えば位置入力値Fに基づいて、走行制御の制御結果としての最新の車両位置を認識できるので、この最新の状況に対するフィードバック制御が可能となり、これによってオーバーシュート現象などの影響を軽減することができる。なお、制御内容に応じて、任意のセンサが制御ECU51にのみ接続される態様であってもよい。
また、本実施形態においては、図21に示すように、任意のセンサとしてのGPS検出部26からの位置入力値Fが、演算ECU41における演算処理α1〜αm及び制御ECU51における制御演算の処理に直接用いられる態様であってもよい。
この場合、各処理において、その時点で最新の位置入力値Fを用いた演算処理が行われるので、制御ECU51における最終演算処理で各処理段階における処理遅延時間を考慮する必要がなくなり、システム設計の自由度を向上させることができる。その結果、複数の入力値の個別のフィードバック、複数の入力値の相互利用などがある複雑なシステムにおいて、処理遅延時間の最小化を図ることができる。
[第5の実施形態]
次に、第5の実施形態に係る制御目標演算装置1演算ECU4について図面を参照して説明する。第5の実施形態は、第1、第2、及び第4の実施形態の内容を含む具体例である。
(制御目標演算装置14の構成)
図22に示すように、制御目標演算装置14は、Yaw/Gセンサ21、画像センサ22、レーダセンサ23、車速センサ25、及びGPS検出部26を備えている。更に、制御目標演算装置14は、画像ECU(入力時系列データ生成手段)37、レーダECU(入力時系列データ生成手段)38、及び位置計算ECU(入力時系列データ生成手段)39を備えている。また、制御目標演算装置14は、認識ECU42、走行目標ECU(中間演算値時系列データ生成手段)43、走行制御ECU(選択値選択手段、制御目標出力手段)52、エンジンECU61、ブレーキECU62、及びステアリングECU63を備えている。これらの各ECUは、車両LAN10を介して電気的に接続されている(図10参照)。また、各ECUは、この車両LAN10を通じて時刻情報を取得するためのシステムタイマを共有している。
なお、図22では、例に示すように、各センサ及び各ECUにおける左下の欄に当該センサ又はECUに入力される項目を示し、右下の欄に当該センサ又はECUから出力される項目を示している。
また、認識ECU42、走行目標ECU43、及び走行制御ECU52は、車速センサ25と電気的に接続しており、車速センサ25の車速入力値Eが直接入力される。本実施形態においては、画像ECU37、レーダECU38、位置計算ECU39と認識ECU42とを合わせたものが第2の実施形態における入力ECU31〜36及び演算ECU41に相当する。
画像ECU37は、画像センサ22と電気的に接続されている。画像ECU37は、画像センサ22からの入力により、車両が周辺の画像に関する画像入力値Bを取得する。また、画像ECU37は、システムタイマから取得した時刻情報に基づいて、画像入力値Bが入力された時刻である入力時刻を取得する。画像ECU37は、画像入力値Bとその入力時刻とを保存する。
画像ECU37は、予め定められたコントラスト算出処理により、取得した画像入力値Bの画像のコントラストを算出する。画像ECU37は、コントラストを算出された画像入力値Bの時系列データ(第2の実施形態における入力時系列データN2に相当)を生成して認識ECU42に出力する。
レーダECU38は、レーダセンサ23及び車速センサ25と電気的に接続されている。レーダECU38は、レーダセンサ23からの入力により、車両の周囲に存在する他車両などの障害物の反射点列に関する反射点列入力値Cを取得すると共に、車速センサ25からの入力により、車両の速度に関する車速入力値Eを取得する。レーダECU38は、システムタイマから取得した時刻情報に基づいて、反射点列入力値C及び車速入力値Eの入力時刻をそれぞれ取得する。レーダECU38は、反射点列入力値C、車速入力値E、及び入力時刻を保存する。
また、レーダECU38は、保存した反射点列入力値Cの現在及び過去のデータに基づいて将来の反射点列入力値Cを推定すると共に、保存した車速入力値Eの現在及び過去のデータに基づいて将来の車速入力値Eを推定する。
レーダECU38は、将来の反射点列入力値Cを含む反射点列入力値Cの時系列データ(第2の実施形態における入力時系列データN3に相当)を生成すると共に、将来の車速入力値Eを含む車速入力値Eの時系列データ(第2の実施形態における入力時系列データN5に相当)を生成する。レーダECU38は、生成した反射点列入力値Cの時系列データ及び車速入力値Eの時系列データに基づいて、予め定められた演算処理により、反射点列に関する時系列データを生成する。レーダECU38は、生成した反射点列に関する時系列データを認識ECU42に出力する。
位置計算ECU39は、Yaw/Gセンサ21、車速センサ25、及びGPS検出部26と電気的に接続されている。位置計算ECU39は、Yaw/Gセンサ21からの入力により、車両のヨーイング及び加速度に関するYaw/G入力値Aを取得する。また、位置計算ECU39は、車速センサ25からの入力により、車両の速度に関する車速入力値Eを取得すると共に、GPS検出部26からの入力により、車両の位置に関する位置入力値Fを取得する。また、位置計算ECU39は、システムタイマから取得した時刻情報に基づいて、Yaw/G入力値A、車速入力値E、及び位置入力値Fの入力時刻をそれぞれ取得する。
位置計算ECU39は、Yaw/G入力値A、車速入力値E、位置入力値F及びそれぞれの入力値に対応する入力時刻を保存する。位置計算ECU39は、保存したYaw/G入力値A、車速入力値E、及び位置入力値Fの現在及び過去のデータに基づいて、将来のYaw/G入力値A、車速入力値E、及び位置入力値Fをそれぞれ推定する。
位置計算ECU39は、将来のYaw/G入力値Aを含むYaw/G入力値Aの時系列データ(第2の実施形態における入力時系列データN1に相当)を生成する。また、位置計算ECU39は、将来の車速入力値Eを含む車速入力値Eの時系列データを生成すると共に、将来の位置入力値Fを含む位置入力値Fの時系列データ(第2の実施形態における入力時系列データN6に相当)を生成する。
位置計算ECU39は、生成したYaw/G入力値A、車速入力値E、位置入力値Fの時系列データに基づいて、予め定められた演算処理により、車両の位置及び車両の向き(方位)に関する時系列データを生成する。位置計算ECU39は、生成した車両の位置及び向きに関する時系列データを認識ECU42、走行目標ECU43、及び走行制御ECU52に出力する。
認識ECU42は、画像ECU37、レーダECU38、位置計算ECU39、及び車速センサ25から入力された時系列データに基づいて、車両周辺の障害物と車両との関係を認識する。具体的には、認識ECU42は、画像ECU37からの入力により、画像入力値Bの時系列データを取得する。また、認識ECU42は、レーダECU38からの入力により、反射点列に関する時系列データを取得すると共に、位置計算ECU39からの入力により、車両の位置及び向きに関する時系列データを取得する。更に、認識ECU42は、車速センサ25から最新の車速入力値Eを取得する。
認識ECU42は、取得した各種時系列データ及び車速入力値Eに基づいて、予め定められた演算処理により、障害物の種類(歩行者、他車両、建物など)、障害物の形状や大きさ、障害物の位置、障害物と車両との相対速度、及び障害物の移動方向を認識し、それぞれの時系列データを生成する。認識ECU42は、生成した障害物認識に関する時系列データを走行目標ECU43に出力する。
走行目標ECU43は、認識ECU42、位置計算ECU39、及び車速センサ25から入力されたデータに基づいて、進路などの車両の走行目標を算出する。具体的には、走行目標ECU43は、認識ECU42からの入力により障害物認識に関する時系列データを取得する。また、走行目標ECU43は、位置計算ECU39からの入力により車両の位置及び向きに関する時系列データを取得すると共に、車速センサ25からの入力により最新の車速入力値Eを取得する。
走行目標ECU43は、取得した各種時系列データ及び車速入力値Eに基づいて、予め定められた演算処理により、車両の走行制御における目標進路、目標方位、目標速度、目標時刻、及び走行制御に掛かる信頼度についてそれぞれ時系列データ(第2の実施形態における中間演算値時系列データに相当)を生成する。走行目標ECU43は、生成した走行目標に関する時系列データを走行制御ECU52に出力する。
走行制御ECU52は、走行目標ECU43、位置計算ECU39、及び車速センサ25から入力されたデータに基づいて、車両の制御対象(エンジン、ブレーキ、ステアリング)の制御量を算出する。具体的には、走行制御ECU52は、走行目標ECU43からの入力により走行目標に関する時系列データを取得する。また、走行目標ECU43は、位置計算ECU39からの入力により車両の位置及び向きに関する最新の時系列データを取得すると共に、車速センサ25からの入力により最新の車速入力値Eを取得する。
走行制御ECU52は、取得した各種時系列データの中から、予め設定された第2の選択条件に従って選択データ範囲を選択する。走行制御ECU52は、選択した選択データ範囲内のデータ及び車速入力値Eに基づいて、予め定められた演算処理により、車両のエンジンに対する制御量である車両のエンジン出力値を算出する。同様にして、走行制御ECU52は、ブレーキに対する制御量であるブレーキの油圧値、及びステアリングに対する制御量である目標操舵角をそれぞれ算出する。
走行制御ECU52は、算出したエンジン出力値を制御目標としてエンジンECU61に出力する。また、走行制御ECU52は、算出したブレーキの油圧値を制御目標としてブレーキECU62に出力すると共に、算出した目標操舵角を制御目標としてステアリングECU63に出力する。
エンジンECU61は、走行制御ECU52から出力されたエンジン出力値に基づいて、スロットルアクチュエータ8に出力する燃料噴射量を演算する。エンジンECU61は、燃料噴射量の演算結果に応じてスロットルアクチュエータ8を制御することで、車両のエンジン出力を制御する。
ブレーキECU62は、走行制御ECU52から出力されたブレーキの油圧値に基づいて、各ホイールのブレーキアクチュエータ9に出力する油圧値を演算する。ブレーキECU62は、油圧値の演算結果に応じて各ホイールのブレーキアクチュエータ9を制御することで、車両を減速させる。
ステアリングECU63は、走行制御ECU52から出力された目標操舵角に基づいて、ステアリングアクチュエータ7に出力するモータ角度を演算する。ブレーキECU62は、モータ角度の演算結果に応じてステアリングアクチュエータ7を制御することで、車両の向きを制御する。
次に、以上の構成を有する制御目標演算装置14の各ECUにおける動作について図面を参照して説明する。
(画像ECU37の動作)
図23に示すように、画像ECU37は、画像センサ22からの入力により、車両が周辺の画像に関する画像入力値Bを取得すると共に、システムタイマから取得した時刻情報に基づいて、画像入力値Bが入力された時刻である入力時刻を取得する(S71)。画像ECU37は、画像ECU37は、画像入力値Bとその入力時刻とを保存する(S72)。
次に、画像ECU37は、取得した画像入力値Bの画像のコントラストを算出する(S73)。画像ECU37は、コントラストを算出された画像入力値Bの時系列データを生成して認識ECU42に出力する(S74)。その後、処理を終了する。
(レーダECU38の動作)
図24に示すように、レーダECU38は、レーダセンサ23及び車速センサ25からの入力により、反射点列入力値C及び車速入力値Eを取得すると共に、システムタイマから取得した時刻情報に基づいて、反射点列入力値C及び車速入力値Eの入力時刻をそれぞれ取得する(S81)。
次に、レーダECU38は、反射点列入力値C、車速入力値E、及び入力時刻を保存する(S82)。レーダECU38は、保存した反射点列入力値Cの現在及び過去のデータに基づいて将来の反射点列入力値Cを推定すると共に、保存した車速入力値Eの現在及び過去のデータに基づいて将来の車速入力値Eを推定する(S83)。
続いて、レーダECU38は、将来の入力値を含む反射点列入力値Cの時系列データ及び車速入力値Eの時系列データを生成する(S84)。レーダECU38は、生成した反射点列入力値Cの時系列データ及び車速入力値Eの時系列データに基づいて、反射点列に関する時系列データを生成する(S85)。レーダECU38は、生成した反射点列に関する時系列データを認識ECU42に出力する(S86)。その後、処理を終了する。
(位置計算ECU39の動作)
図25に示すように、位置計算ECU39は、Yaw/Gセンサ21、車速センサ25、及びGPS検出部26からの入力により、Yaw/G入力値A、車速入力値E、及び位置入力値Fを取得すると共に、システムタイマから取得した時刻情報に基づいて、Yaw/G入力値A、車速入力値E、及び位置入力値Fの入力時刻をそれぞれ取得する(S91)。
位置計算ECU39は、Yaw/G入力値A、車速入力値E、位置入力値F及びそれぞれの入力値に対応する入力時刻を保存する(S92)。その後、位置計算ECU39は、保存したYaw/G入力値A、車速入力値E、及び位置入力値Fの現在及び過去のデータに基づいて、将来のYaw/G入力値A、車速入力値E、及び位置入力値Fをそれぞれ推定する(S93)。
続いて、位置計算ECU39は、将来のYaw/G入力値Aを含むYaw/G入力値Aの時系列データ、将来の車速入力値Eを含む車速入力値Eの時系列データ、及び将来の位置入力値Fを含む位置入力値Fの時系列データを生成する(S94)。
位置計算ECU39は、生成したYaw/G入力値A、車速入力値E、位置入力値Fの時系列データに基づいて、車両の位置及び車両の向きに関する時系列データを生成する(S95)。位置計算ECU39は、生成した車両の位置及び向きに関する時系列データを認識ECU42、走行目標ECU43、及び走行制御ECU52に出力する(S96)。その後、処理を終了する。
(認識ECU42の動作)
図26に示すように、認識ECU42は、画像ECU37、レーダECU38、位置計算ECU39、及び車速センサ25からの入力により、画像入力値Bの時系列データ、障害物に関する時系列データ、車両の位置及び向きに関する時系列データ、及び最新の車速入力値Eを取得する(S101)。
認識ECU42は、取得した各種時系列データ及び車速入力値Eに基づいて、障害物の種類、障害物の形状や大きさ、障害物の位置、障害物と車両との相対速度、及び障害物の移動方向を認識し、それぞれの時系列データを生成する(S102)。認識ECU42は、生成した障害物認識に関する時系列データを走行目標ECU43に出力する(S103)。その後、処理を終了する。
(走行目標ECU43の動作)
図27に示すように、走行目標ECU43は、認識ECU42、位置計算ECU39、及び車速センサ25からの入力により、障害物認識に関する時系列データ、車両の位置及び向きに関する時系列データ、及び最新の車速入力値Eを取得する(S111)。
走行目標ECU43は、取得した各種時系列データ及び車速入力値Eに基づいて、車両の走行制御における目標進路、目標方位、目標速度、目標時刻、及び走行制御に掛かる信頼度についてそれぞれ時系列データを生成する(S112)。走行目標ECU43は、生成した走行目標に関する時系列データを走行制御ECU52に出力する(S113)。その後、処理を終了する。
(走行制御ECU52の動作)
図28に示すように、走行制御ECU52は、走行目標ECU43、位置計算ECU39、及び車速センサ25からの入力により、走行目標に関する時系列データ、車両の位置及び向きに関する最新の時系列データ、及び最新の車速入力値Eを取得する(S121)。
走行制御ECU52は、取得した各種時系列データの中から、予め設定された第2の選択条件に従って選択データ範囲を選択する(S122)。走行制御ECU52は、選択した選択データ範囲内のデータ及び車速入力値Eに基づいて、車両のエンジンに対する制御量である車両のエンジン出力値を算出する。同様にして、走行制御ECU52は、ブレーキに対する制御量であるブレーキの油圧値、及びステアリングに対する制御量である目標操舵角をそれぞれ算出する(S123)。
走行制御ECU52は、算出した制御量を制御目標としてエンジンECU61、ブレーキECU62、及びステアリングECU63に出力する(S124)。その後、処理を終了する。
以上説明した制御目標演算装置14によれば、各種入力値から車両の走行制御のための制御量(エンジン出力値、ブレーキの油圧値、目標操舵角)を算出する演算処理において、複数の演算処理において不規則な処理遅延時間が生じたとしても、第2の実施形態で述べたように、実際に処理に要した時間に合わせて、それぞれの制御量の算出に適した選択データ範囲をフレキシブルに選択することが可能となるので、車両の走行制御における信頼性の向上を図ることができる。
また、この制御目標演算装置14によれば、第4の実施形態で述べたように、最終演算処理を行う制御ECU51に対して最新の車速入力値Eを直接入力する構成とすることで、車速入力値Eについて演算処理時間に起因する入出力の時間的なズレの影響を小さくすることが可能となり、最新の状況に応じた制御量を出力することができる。このことは、現在の状況に対するフィードバック制御を可能とするので、結果としてオーバーシュート現象などの影響を軽減することができる。
また、この制御目標演算装置14においても、第3の実施形態に示すように、次のECUに入力される時系列データの長さを処理遅延時間に応じて設定することができる。この場合、次のECUにおける演算処理に必要なデータの長さを確保しつつ、そのデータの長さの短縮化を図ることができ、これによって演算処理量の低減及び処理の迅速化が図られる。
次に、制御目標演算装置14を用いた場合の車両の走行制御の結果について図29及び図30を参照して説明する。図29は、制御目標演算装置14を備えない車両における走行制御の結果を示す図である。
図29に示す車両Aは、制御目標演算装置14を備えていない車両である。この車両Aは、道路状況に応じて車両を走行制御する走行制御機能を有している。この車両Aでは、制御目標演算装置14を備えていないため、走行制御における演算処理の処理遅延時間などに起因して制御遅れが発生し、走行制御の目標進路と走行制御の結果との間にずれが生じやすい。
具体的には、図29に示すように、初期位置M0に位置する車両Aが進路上の駐車車両Bを回避するため、左側の車線R1から右側の車線R2にレーンチェンジを行う場合を考える。この車両Aでは、初期位置M0において、各種センサから入力された入力値から車両Aの現在位置や車両Bとの距離などの道路状況を認識し、この認識結果に基づいてレーンチェンジのための目標進路P1を算出する。
このとき、目標進路P1の算出開始時から算出終了時までの間には、目標進路P1の算出にかかる演算処理時間や処理遅延時間などによる時間差があるため、走行中の車両Aの位置M0から変化する。位置M1は、目標進路P1の算出終了時における車両Aの位置である。この位置M1は、目標進路P1の算出開始時から算出終了時までの間に受けた強風などの外乱により、目標進路P1から車幅方向にδPずれた位置となっている。その結果、車両Aでは、初期位置M0から走行制御されるように算出された目標進路P1の走行制御が目標進路P1からずれた位置M1から開始される。
また、車両Aでは、各種センサからの入力により、車両Aの位置がM1となったことが認識されると、この認識結果に基づいて位置M1からレーンチェンジするための新たな目標進路P2が算出される。このとき、目標進路P1を算出する場合と同様に、車両Aは、目標進路P2の算出終了時までに位置M1から位置M2に移動する。この位置M2は、先の位置M1における目標進路P1に沿った走行制御の影響で、目標進路P2からずれた位置となる。その結果、車両Aでは、位置M1から走行制御されるように算出された目標進路P2の走行制御が目標進路P2からずれた位置M2から開始される。
同様にして、位置M2から走行制御されるように算出された目標進路P3の走行制御が位置M3から開始され、位置M3から走行制御されるように算出された目標進路P4の走行制御が位置M4から開始される。このように、制御目標演算装置14を備えていない車両Aにおいては、従来のように、目標進路の算出開始時と算出終了時との時間差による道路状況の変化が考慮されていないため、外乱などを切っ掛けとして累積的な制御遅れが発生し、走行制御における目標進路P1と走行制御の結果(図29の車両位置M2〜M4)との間に大きなずれが生じる場合がある。
図30は、制御目標演算装置14を備えた車両における走行制御の結果を示す図である。図30に示す車両Cは、道路状況に応じて車両を走行制御する走行制御機能を有すると共に、本実施形態の制御目標演算装置14を備える車両である。この車両Cでは、制御目標演算装置14によって処理遅延時間の影響を排除した適切な制御量を車両制御用のアクチュエータに出力することができるので、制御精度及び信頼性の高い走行制御を実現することができる。
具体的には、図30に示すように、初期位置Q0に位置する車両Cが進路上の駐車車両Bを回避するため、左側の車線R1から右側の車線R2にレーンチェンジを行う場合を考える。このとき、車両Cでは、各種センサ21〜23,25,26から入力された入力値に基づいて、認識ECU42により車両Aの現在位置や車両Bとの距離などの道路状況が将来の道路状況も含む時系列データとして認識される。そして、走行目標ECU43により、認識ECU42の認識結果に基づいた走行目標が時系列データ(中間演算値時系列データ)として算出され、走行制御ECU52によりレーンチェンジにかかる走行制御目標となる目標進路P11が時系列データとして算出される。
このとき、目標進路P11の算出開始時から算出終了時までの間には、目標進路P11の算出にかかる演算処理時間や処理遅延時間などによる時間差があるため、走行中の車両Aの位置は初期位置Q0から変化する。位置Q1は、目標進路P11の算出終了時における車両Aの位置である。この位置Q1は、目標進路P11の算出開始時から算出終了時までの間に受けた強風などの外乱により、目標進路P11から車幅方向にδPずれた位置となっている。
この車両Cでは、目標進路P11が時系列データとして算出されているので、目標進路P11の算出開始時から算出終了時までの時間差による道路状況の変化(車両Cの位置の変化)の影響が小さくなるように、目標進路P11の時系列データの中から走行制御に用いる制御量を選択することができる。従って、外乱により目標進路P11からずれた位置Q1から走行制御が開始される場合であっても、上述した車両Aの場合と比べてより精度の高い走行制御が実現される。
また、車両Cでは、各種センサ21,25,26からの入力により、車両Cの位置がQ1となったことが認識されると、この認識結果に基づいて位置Q1からレーンチェンジするための新たな目標進路P12が算出される。このとき、目標進路P11を算出する場合と同様に、車両Cは、目標進路P12の算出終了時までに位置Q1から目標進路P12上の位置Q2に移動する。車両Cでは、目標進路P12の走行制御が目標進路P12上の位置Q2から適切に開始される。
同様にして、位置Q2において算出が開始された目標進路P13の走行制御が位置Q3から開始され、位置Q3において算出が開始された目標進路P14の走行制御が位置Q4から開始される。このように、制御目標演算装置14を備えた車両Cにおいては、目標進路の算出開始時から算出終了時までの時間差による道路状況の変化を考慮した走行制御が行われるので、外乱の影響が適切に軽減され、これによって走行制御における信頼性の向上が実現される。
[第6の実施形態]
次に、第6の実施形態に係る制御目標演算装置15について図面を参照して説明する。第6の実施形態に係る制御目標演算装置15は、第2の実施形態と比較して、複数の入力値の全てがデータ管理ECU44に入力されて集中管理される点と、実際に車両が走行制御されるタイミングである制御タイミングに基づいて制御量が算出される点が主に異なる。
(制御目標演算装置15の構成)
図31に示すように、本実施形態における制御目標演算装置15は、Yaw/Gセンサ21、画像センサ22、レーダセンサ23、操舵角センサ24、車速センサ25、及びGPS検出部26を備えている。更に、制御目標演算装置15は、入力ECU(入力時系列データ生成手段)71〜76、データ管理ECU(中間演算値時系列データ生成手段)44、制御ECU(選択値選択手段、制御目標出力手段)53、及びアクチュエータ制御ECU64を備えている。また、データ管理ECU44、制御ECU53、及びアクチュエータ制御ECU64は、車両LAN10を介して電気的に接続されていると共に、時刻情報を取得するためのシステムタイマを共有している。
入力ECU71〜76は、各種センサ21〜26からの入力により、各種入力値A〜Fを取得する。また、入力ECU71〜76は、システムタイマから取得した時刻情報に基づいて、各種入力値A〜Fが入力された時刻である入力時刻をそれぞれ取得する。入力ECU71〜76は、各種入力値A〜F及び各種入力値A〜Fに対応する入力時刻を保存する。入力ECU71〜76は、各種入力値A〜F及び入力時刻をデータ管理ECU44に出力する。
データ管理ECU44は、入力ECU71〜76から入力された各種入力値A〜F及び各種入力値A〜Fにそれぞれ対応する入力時刻を管理するものである。データ管理ECU44は、入力ECU71〜76からの入力により、各種入力値A〜F及び各種入力値A〜Fに対応する入力時刻を取得する。データ管理ECU44は、各種入力値A〜F及び各種入力値A〜Fに対応する入力時刻を保存する。
また、データ管理ECU44は、後述する制御ECU53からデータ要求信号が入力されると、このデータ要求信号に基づいて制御ECU53から要求されたデータの種類及び要求対象時刻(制御タイミング)を認識する(図32参照)。データ管理ECU44は、保存されている各種入力値A〜Fの中から、要求された種類の入力値(たとえば図32に示す障害物入力値C以外の各種入力値A,B,D〜F)を取得する。そして、データ管理ECU44は、予め定められた変換処理によって、取得した種類の入力値の値が要求対象時刻における値(Ac,Bc,Dc,Ec,Fc)となるように変換する。データ管理ECU44は、要求対象時刻における値に変換された変換入力値を制御ECU53に出力する。
制御ECU53は、取得した各種データに基づいて制御量を算出し、アクチュエータ6を制御するアクチュエータ制御ECU64に対して制御量を出力するものである。制御ECU53は、システムタイマから時刻情報を取得する。また、制御ECU53とアクチュエータ制御ECU64とは、共有する動作クロックによって同期をとっている。制御ECU53は、動作クロックにより、制御ECU53から出力された制御量がアクチュエータ制御ECU64に入力される入力タイミングを認識する。同様に、制御ECU53は、動作クロックにより、アクチュエータ制御ECU64によるアクチュエータ6の駆動タイミング(後述するアクチュエータ制御ECU64におけるD/A変換のタイミング)を認識する。
また、制御ECU53は、入力ECU76から位置入力値Fを直接入力されている。制御ECU53は、アクチュエータ6の駆動タイミングと位置入力値Fの変化(車両の位置の変化)とに基づいて、アクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れを算出する。
制御ECU53は、上述した時刻情報、入力タイミング、駆動タイミング、及び応答遅れに基づき、制御ECU53が出力する制御量に従って実際に車両が走行制御されるタイミングである制御タイミングを算出する。制御ECU53は、この制御タイミングに実行される制御量の算出に必要な入力値を得るためのデータ要求信号をデータ管理ECU44に出力する。
制御ECU53は、データ管理ECU44からの入力により、制御タイミングに対応するように変換された変換入力値を取得する。制御ECU53は、取得した変換入力値に基づいて、制御量を算出する。制御ECU53は、算出した制御量をアクチュエータ制御ECU64に出力する。
このとき、制御ECU53は、算出した制御タイミングから逆算される制御量出力タイミング(制御ECU53がアクチュエータ制御ECU64に制御量を出力するタイミング)よりも早く制御量の出力が可能となった場合には、この制御量出力タイミングまで待ってから制御量の出力を行う。その結果、制御量が制御量出力タイミングより早く出力されることで、算出した制御タイミングと実際に車両が走行制御されるタイミングとの間にズレが生じることを防止することが可能となるので、車両の制御精度の向上を図ることができる。
アクチュエータ制御ECU64は、制御ECU53から入力された制御量に基づいて、車両制御用のアクチュエータ6を駆動制御するものである。アクチュエータ制御ECU64は、制御ECU53からの入力により制御量を取得する。アクチュエータ制御ECU64は、取得した制御量に対してD/A変換(デジタル/アナログ変換)を行う。アクチュエータ制御ECU64は、D/A変換した制御量に対してV−I変換(電圧電流変換)を行う。アクチュエータ制御ECU64は、V−I変換した制御量をソレノイドやモータに供給することで、制御量に応じたアクチュエータ6の駆動制御を行う。
次に、制御目標演算装置15における各ECUの動作について図面を参照して説明する。
(入力ECU71〜76の動作)
図33に示すように、入力ECU71〜76は、各種センサ21〜26からの入力により、各種入力値A〜Fを取得すると共に、システムタイマから取得した時刻情報に基づいて、各種入力値A〜Fが入力された時刻である入力時刻をそれぞれ取得する(S131)。入力ECU71〜76は、取得した各種入力値A〜F及び各種入力値A〜Fに対応する入力時間を保存する(S132)。入力ECU71〜76は、各種入力値A〜F及び入力時間をデータ管理ECU44に出力する(S133)。その後、処理を終了する。
(データ管理ECU44の動作)
図34に示すように、データ管理ECU44は、入力ECU71〜76からの入力により、各種入力値A〜F及び各種入力値A〜Fに対応する入力時間を取得する(S141)。データ管理ECU44は、各種入力値A〜F及び各種入力値A〜Fに対応する入力時間を保存する(S142)。その後、処理を終了する。
図32及び図35に示すように、データ管理ECU44は、制御ECU53からデータ要求信号が入力された場合、このデータ要求信号に基づいて制御ECU53から要求されたデータの種類及び要求対象時刻を認識する(S151)。この要求対象時刻は、現在時刻をτ、データ管理ECU44の変換処理やデータ管理ECU44及び制御ECU53間の通信にかかる遅延時間をδ1、アクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れやジッタ等による遅延時間をδ2とした場合に、τ+δ1+δ2で表される。
データ管理ECU44は、保存されている各種入力値A〜Fの中から、要求された種類の入力値を取得する。データ管理ECU44は、予め定められた変換処理によって、取得した種類の入力値が要求対象時刻における値となるように変換する(S152)。データ管理ECU44は、要求対象時刻における値に変換された変換入力値を制御ECU53に出力する(S153)。このとき、データ管理ECU44から出力された変換入力値を制御ECU53が取得する時刻は、τ+δ1で表される。その後、データ管理ECU44は、処理を終了する。
(制御ECU53の動作)
図36に示すように、制御ECU53は、システムタイマから時刻情報を取得する(S161)。続いて、制御ECU53は、動作クロックにより、制御ECU53から出力された制御量がアクチュエータ制御ECU64に入力される入力タイミング及びアクチュエータ制御ECU64によるアクチュエータ6の駆動タイミングを認識する(S162)。更に、制御ECU53は、入力ECU76から位置入力値Fの変化とアクチュエータ6の駆動タイミングとに基づいて、アクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れを算出する(S163)。
制御ECU53は、上述した時刻情報、入力タイミング、駆動タイミング、及び応答遅れに基づいて、実際に車両が走行制御される制御タイミングを算出する(S164)。制御ECU53は、制御タイミングに対応する制御量を算出するために、当該制御量の算出に必要な入力値の種類と制御タイミング(要求対象時刻)とをデータ要求信号としてデータ管理ECU44に出力する(S165)。
制御ECU53は、データ管理ECU44からの入力により、変換入力値を取得する(S166)。制御ECU53は、取得した変換入力値に基づいて、制御量を算出する(S167)。制御ECU53は、算出した制御量をアクチュエータ制御ECU64に出力する(S168)。その後、処理を終了する。
(アクチュエータ制御ECU64の動作)
図37に示すように、アクチュエータ制御ECU64は、制御ECU53からの入力により、制御量を取得する(S171)。アクチュエータ制御ECU64は、取得した制御量に対してD/A変換を行う(S172)。アクチュエータ制御ECU64は、D/A変換した制御量に対してV−I変換を行う(S173)。アクチュエータ制御ECU64は、V−I変換した制御量に応じたアクチュエータ6の駆動制御を行う(S174)。その後、処理を終了する。
以上説明した制御目標演算装置15によれば、実際に制御が実行される制御タイミングにおける入力値に変換した値に基づいて制御量が算出されるので、制御量の算出における処理遅延時間の影響を排除することが可能となり、精度の高い制御目標を出力することができる。具体的には、データ管理ECU44の変換処理やECU間の通信時間による遅延時間δ1及びアクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れやジッタ等による遅延時間δ2を現在時刻τに加えた時刻τ+δ1+δ2を要求対象時刻(制御タイミング)とすることで、実際の制御タイミングにおける入力値を利用した制御が実現され、制御精度の向上を図ることができる。
また、このように制御タイミングを算出することで、制御タイミングに基づいて制御目標を出力することができるだけではなく、アクチュエータ6までの通信遅延を考慮して、算出した制御目標を調整することも可能となる。更に、このような制御目標は、入力時系列データに基づいて算出されたものにかぎられず、車速センサ25から入力された車速入力値Eから直接的にエンジン出力値(制御目標)が算出されて、出力されても良い。
[第7の実施形態]
次に、第7の実施形態に係る制御目標演算装置16について図面を参照して説明する。第7の実施形態に係る制御目標演算装置16は、第2の実施形態と比較して、制御量の演算処理にかかる演算処理時間のうち想定される最も遅い時間(ワースト値)に基づいて、制御量を算出する点が主に異なる。
(制御目標演算装置16の構成)
図38に示すように、本実施形態における制御目標演算装置16は、Yaw/Gセンサ21、画像センサ22、レーダセンサ23、操舵角センサ24、車速センサ25、及びGPS検出部26を備えている。更に、制御目標演算装置16は、入力ECU(入力時系列データ生成手段)31〜36、認識ECU(中間演算値時系列データ生成手段)45、制御ECU(選択値選択手段、制御目標出力手段)54、及びアクチュエータ制御ECU64を備えている。また、入力ECU31〜36、認識ECU45、制御ECU54、及びアクチュエータ制御ECU64は、車両LAN10を介して電気的に接続されていると共に、時刻情報を取得するためのシステムタイマを共有している。なお、入力ECU31〜36及びアクチュエータ制御ECU64については、上述した第2及び第6の実施形態における入力ECU及びアクチュエータ制御ECUと同じものであるため説明を省略する。
認識ECU45は、入力ECU31〜36から入力された入力時系列データN1〜N6に基づいて、車両周辺の道路状況(たとえば障害物の有無や障害物の位置)を認識するものである。具体的には、認識ECU45は、入力ECU31〜36からの入力により入力時系列データN1〜N6を取得すると共に、システムタイマから時刻情報を取得する。認識ECU45は、入力時系列データN1〜N6に基づいて、車両周辺の道路状況を認識する。
認識ECU45は、道路状況の認識結果及びその認識結果に対応する時刻(たとえば入力値データから道路状況を認識した時刻)を保存する。認識ECU45は、保存した現在及び過去の認識結果に基づいて、将来における道路状況の認識結果を推定する。認識ECU45は、推定した将来の認識結果と保存した現在及び過去の認識結果とに基づいて、推定した将来の認識結果を含む道路状況の認識結果の時系列データを生成する。認識ECU45は、生成した認識結果の時系列データ及び入力時系列データN1〜N6を制御ECU54に出力する。
制御ECU54は、取得した各種データに基づいて制御量を算出し、算出した制御量をアクチュエータ制御ECU64に出力するものである。制御ECU54は、認識ECU45からの入力により、認識結果の時系列データ及び入力時系列データN1〜N6を取得する。また、制御ECU54は、システムタイマから時刻情報を取得する。
この制御ECU54とアクチュエータ制御ECU64とは、共有する動作クロックによって同期をとっている。制御ECU53は、動作クロックにより、制御ECU54から出力された制御量がアクチュエータ制御ECU64に入力される入力タイミングを認識する。同様に、制御ECU54は、動作クロックにより、アクチュエータ制御ECU64によるアクチュエータ6の駆動タイミングを認識する。
また、制御ECU54は、入力ECU36から位置入力値Fを直接入力されている。制御ECU54は、アクチュエータ6の駆動タイミングと位置入力値Fの変化とに基づいて、アクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れを算出する。制御ECU54は、上述した時刻情報、入力タイミング、駆動タイミング、及び応答遅れに基づいて、制御ECU54の出力する制御量により実際に車両が走行制御されるタイミングである制御タイミングを算出する。この制御タイミングは、制御ECU54の制御量算出処理において想定される最も大きな遅延が生じた場合を考慮して算出される。
ここで、図39に示す矢印aは、制御ECU54における制御量算出処理が遅延なくに終了した場合における処理進行状態を示している。矢印aが示すように、制御量算出処理が遅延なくに終了した場合、制御量算出処理の終了タイミングτS1に算出された制御量が制御ECU54からアクチュエータ制御ECU64に出力されると、実際に車両が走行制御される制御タイミングはτS3となる。一方、図39に示す矢印bは、制御量算出処理において想定される最も大きな遅延が生じた場合における処理進行状態を示している。矢印bが示すように、制御量算出処理に遅延が生じた場合、制御量算出処理の終了タイミングτS2はτS1より遅れたタイミングとなる。この終了タイミングτS2において制御量が制御ECU54からアクチュエータ制御ECU64に出力されると、制御タイミングはτS3より遅れたタイミングτS4となる。制御ECU54は、上述した時刻情報、入力タイミング、駆動タイミング、及び応答遅れに基づいて、想定される最も大きな遅延が生じた場合における制御タイミングτS4を算出する。
制御ECU54は、入力時系列データN1〜N6の中から、算出された制御タイミングτS4において最適な制御量を算出するように予め設定された第2の選択条件に従って、選択データ範囲U1〜U6を選択する。具体的には、図39に示すように、制御ECU54は、各種センサ21〜26におけるセンサディレイ(実際の状況を入力値として検出するまでにかかる時間)δA〜δFを考慮して、データ選択の基準となる基準時刻τ以前の制御データ時刻τ1におけるデータ範囲を選択データ範囲U1〜U6として選択する。この選択データ範囲U1〜U6に含まれる入力値の数や制御データ時刻τ1に対する時間的範囲は、たとえば次の演算処理に用いる数式にとって都合が良いように適切に選択される。
制御ECU54は、選択した選択データ範囲U1〜U6内の入力値データと道路状況の認識結果の時系列データとに基づいて、制御量を算出する。制御ECU54は、算出した制御量をアクチュエータ制御ECU64に出力する。このとき、制御ECU54は、図39に示す矢印aのように制御量算出処理に遅延が無い場合や多少の遅延が生じた場合であっても、制御量の出力するタイミングがτS2となるように出力を待つ。その結果、制御量がτS2より早いタイミング出力されることで、算出した制御タイミングτS4と実際に車両が走行制御されるタイミングとの間にズレが生じることを防止することが可能となるので、車両の制御精度の向上を図ることができる。
次に、制御目標演算装置15における認識ECU45及び制御ECU54の動作について図面を参照して説明する。
(認識ECU45の動作)
図40に示すように、認識ECU45は、入力ECU31〜36からの入力により入力時系列データN1〜N6を取得すると共に、システムタイマから時刻情報を取得する(S181)。認識ECU45は、入力時系列データN1〜N6の中に基づいて、車両周辺の道路状況を認識する(S182)。
続いて、認識ECU45は、道路状況の認識結果及びその認識結果に対応する時刻を保存する(S183)。認識ECU45は、保存した現在及び過去の認識結果に基づいて、将来における道路状況の認識結果を推定する(S184)。認識ECU45は、推定した将来の認識結果と保存した現在及び過去の認識結果とに基づいて、推定した将来の認識結果を含む道路状況の認識結果の時系列データを生成する(S185)。認識ECU45は、生成した認識結果の時系列データ及び入力時系列データN1〜N6を制御ECU54に出力する(S186)。その後、処理を終了する。
(制御ECU54の動作)
図41に示すように、制御ECU54は、システムタイマから時刻情報を取得する(S191)。次に、制御ECU53は、動作クロックにより、制御ECU54から出力された制御量がアクチュエータ制御ECU64に入力される入力タイミングを認識すると共に、アクチュエータ制御ECU64によるアクチュエータ6の駆動タイミングを認識する(S192)。続いて、制御ECU54は、アクチュエータ6の駆動タイミングと位置入力値Fの変化とに基づいて、アクチュエータ6の駆動タイミングから実際に車両が走行制御されるまでの応答遅れを算出する(S193)。
その後、制御ECU54は、上述した時刻情報、入力タイミング、駆動タイミング、及び応答遅れに基づき、想定される最も大きな遅延が生じた場合における制御タイミングτS4を算出する(S194)。制御ECU54は、入力時系列データN1〜N6の中から、算出された制御タイミングτS4において最適な制御量を算出するように定められた第2の選択条件に従って、選択データ範囲U1〜U6を選択する(S195)。
制御ECU54は、選択した選択データ範囲U1〜U6内の入力値データと道路状況の認識結果の時系列データとに基づいて、制御量を算出する(S196)。制御ECU54は、算出した制御量をアクチュエータ制御ECU64に出力する(S197)。その後、処理を終了する。
以上説明した制御目標演算装置16によれば、実際に走行制御が実行される制御タイミングτS4において処理遅延時間の影響が小さい最適な制御量を算出するように選択データ範囲U1〜U6を選択することで、制御量の算出における処理遅延時間の影響を排除することが可能となるので、制御精度の高い走行制御が実現できる。
具体的には、図30に示すように、初期位置Q0に位置する車両Cが進路上の駐車車両Bを回避するため、左側の車線R1から右側の車線R2にレーンチェンジを行う場合を考える。制御目標演算装置16を備えた車両Cでは、制御ECU54において実際に車両が走行制御されるタイミングのうち最も大きな遅延が生じた場合の制御タイミングτS4を算出する。そして、入力値時系列データN1〜N6の中から、算出された制御タイミングτS4において最適な制御量を算出するように定められた第2の選択条件に従って、選択データ範囲U1〜U6を選択する。
制御ECU54は、これらの選択データ範囲U1〜U6内の入力値データに基づいて、制御タイミングτS4における制御量(目標進路P11を構成する目標地点の一つ)を算出する。制御ECU54は、算出した制御量をアクチュエータ制御ECU64に出力する。このとき、制御ECU54は、制御量算出処理に遅延が無い場合や多少の遅延が生じた場合であっても、制御量の出力するタイミングがτS2となるように出力を待つことで、制御タイミングをτS4に合わせる。
このように、制御目標演算装置16を備えた車両Cでは、制御ECU54において制御演算処理に遅延が無い場合や多少の遅延が生じた場合であっても、制御量の出力するタイミングがτS2となるように出力を待つことで、算出した制御タイミングτS4と実際に車両が走行制御されるタイミングとの間にズレが生じることを防止することが可能となるので、車両の制御精度の向上を図ることができる。更に、制御ECU54において、制御タイミングτS4において最適な制御量を算出するように定められた第2の選択条件に従って選択された選択データ範囲U1〜U6に基づいて制御量を算出することで、制御量の算出における処理遅延時間の影響を排除することが可能となるので、制御精度の高い走行制御が実現できる。その結果、強風などの外乱により、車両Cの位置が目標進路P11から車幅方向にδPずれた位置Q1となった場合であっても、高精度な走行制御により外乱による影響が修正されて目標進路P11上に戻る可能性が高くなるので、これによって走行制御における信頼性の向上が実現される。
以上、本発明の好適な実施形態について説明したが本発明は上記実施形態に限定されるものではない。たとえば制御対象は車両に限られず、航空機やロボットなど種々の移動体に適用することができる。
また、上記第1〜第7の実施形態の内容は、制御対象や制御内容に応じて適切に組み合わせて実施される。