以下、本発明の実施形態に係る通信追従対象車特定装置(以下、「本特定装置」と称呼する場合がある。)について図面を参照しながら説明する。先ず、本明細書、図面及び特許請求の範囲等において使用される主たる用語について説明する。
・自車:自己の車両(着目している車両)
・他車:自車以外の車両
・先行車:自車が備えるセンサ(自車レーダセンサ、即ち、相対情報取得手段)により捕捉している自車の直前を走行している他車
・他車通信情報:自車が無線通信(車車間通信)を介して他車から取得する当該他車に関する情報
・通信車:他車通信情報を送信してくる他車
・通信追従対象車(通信先行車):自車が無線通信を介して取得する他車通信情報に基づいて当該自車の加速度を制御し、以て、当該自車が追従走行すべき先行車
・非通信追従対象車:自車が無線通信を介して取得する他車通信情報に基づいて当該自車の加速度を制御して追従走行すべきではない、通信追従対象車以外の通信車
なお、後述するように、本特定装置は、特定した通信追従対象車に自車を追従走行させる車両制御装置の一部であると言うことができる。更に、他車は「自車が搭載している車両制御装置」と同様な車両制御装置を備えている通信車であるとして説明する。
(構成)
図1に示したように、本特定装置を含む車両制御装置VCは自車10に搭載されている。
車両制御装置VCは、車両制御ECU20、エンジン制御ECU30、ブレーキ制御ECU40、ステアリング制御ECU50、センサECU60、GPS装置70及び無線制御ECU80を備える。これらのECUは、通信・センサ系CAN(Controller Area Network)101を介してデータ交換可能(通信可能)となっている。なお、ECUは、エレクトリックコントロールユニットの略称であり、CPU、ROM、RAM及びインターフェース等を含むマイクロコンピュータを主要構成部品として有する電子制御回路である。CPUは、メモリ(ROM)に格納されたインストラクションを実行することにより後述する各種機能を実現する。
車両制御ECU20は、後述するセンサ以外の「複数の車両制御用センサ21」、及び、CACCスイッチ22、と接続され、これらのセンサ21及びスイッチ22からの信号を受け取るようになっている。
CACCスイッチ22は、自車10の乗員によって操作されるON−OFFスイッチである。CACCスイッチ22は、その位置がオン位置に設定されると、CACC要求信号を出力するようになっている。なお、CACCは、協調追従走行制御(Cooperative Adaptive Cruise Control)を意味する。
エンジン制御ECU30は、アクセル操作量センサ31、及び、その他の複数のエンジン制御用センサ(図示略)と接続され、これらのセンサの検出信号を受け取るようになっている。
アクセル操作量センサ31は、アクセル操作子としてのアクセルペダル91の操作量(以下、「アクセル操作量」と称呼する。)APを検出し、そのアクセル操作量APを表す信号を出力する。
エンジン制御ECU30は、スロットル弁アクチュエータ及び燃料噴射弁等のエンジンアクチュエータ32と接続されている。エンジン制御ECU30は、エンジンアクチュエータ32を駆動することによって、図示しないエンジンが発生するトルクを変更し、自車10の加速度を調整するようになっている。
ブレーキ制御ECU40は、ブレーキ操作量センサ41、車速センサ42、及び、その他の複数の制動制御用センサ(図示略)と接続され、これらのセンサの検出信号を受け取るようになっている。
ブレーキ操作量センサ41は、ブレーキ操作子としてのブレーキペダル93の操作量(以下、「ブレーキ操作量」と称呼する。)BPを検出し、そのブレーキ操作量BPを表す信号を出力する。
車速センサ42は、自車の速度(自車速)Vjを検出し、その自車速Vjを表す信号を出力する。
ブレーキ制御ECU40は、油圧制御装置を含むブレーキアクチュエータ43と接続されている。ブレーキアクチュエータ43は、ブレーキペダル93の踏力によって作動油を加圧するマスタシリンダと、各車輪に設けられる周知のホイールシリンダを含む摩擦ブレーキ装置と、の間の油圧回路(何れも、図示略)に配設される。ブレーキアクチュエータ43はホイールシリンダに供給する油圧を調整する。ブレーキ制御ECU40は、ブレーキアクチュエータ43を駆動することにより各車輪に制動力を発生させ、自車10の加速度(負の加速度、即ち、減速度)を調整するようになっている。
ステアリング制御ECU50は、自車10の操舵輪の操舵角αを検出する操舵角センサ51、及び、その他の複数のステアリング制御用センサ(図示略)と接続され、これらのセンサの検出信号を受け取るようになっている。
ステアリング制御ECU50は、図示しない電動式パワーステアリング装置のモータである操舵アクチュエータ52と接続され、その操舵アクチュエータ52を駆動するようになっている。
センサECU60は自車レーダセンサ61と接続されている。自車レーダセンサ61は、周知のミリ波レーダセンサである。自車レーダセンサ61は、センサECU60の指示に従って自車10の前方にミリ波を送信する。そのミリ波は、先行車11により反射される。自車レーダセンサ61は、この反射波を受信する。
センサECU60は、自車レーダセンサ61から送信されたミリ波と受信した反射波との位相差、反射波の減衰レベル及びミリ波を送信してから反射波を受信するまでの時間等に基づいて、相対速度Vr、車間距離Dr、横距離Dy及び相対方位θp等を所定時間の経過毎に取得する。センサECU60は、相対速度Vr、車間距離Dr、横距離Dy及び相対方位θp等をそのRAMに時系列的に格納(記憶)する。なお、自車レーダセンサ61及びセンサECU60によって取得される「相対速度Vr、車間距離Dr、横距離Dy及び相対方位θp等を含む情報(データ)」は「自車レーダセンサ情報」とも称呼される。更に、自車10が備えている上述のセンサにより取得される情報と、自車レーダセンサ情報と、を合わせて「自車センサ情報」とも称呼する場合がある。
更に、センサECU60は、今回の自車レーダセンサ情報の取得時において、自車レーダセンサ61を用いた自車レーダセンサ情報の取得に失敗した場合、前回の自車レーダセンサ情報を今回の自車レーダセンサ情報として保持するとともに、車両制御ECU20に対して「自車レーダセンサ61が外挿中である」旨の情報を送信する。
相対速度Vrは、自車10の速度SPDjと先行車11の速度SPDsとの差(=SPDs−SPDj)である。
車間距離Drは、自車10と先行車11と間の距離である。
横距離Dyは、自車10の進行方向と直交する方向(自車進行直交方向)の先行車11の車幅中心位置の変位距離(横ずれ距離)である。
相対方位θpは、自車10の進行方向に対する先行車11の進行方向の角度(相対方位)である。
GPS装置70は、周知であり、GPS衛星から送信されたGPS信号に基づいて「自車10が走行している位置(自車位置)Pj、進行方向DIRj及びGPS信号の信頼度(即ち、位置精度の信頼度)Rj等を含む情報(GPS情報)」を所定時間が経過する毎に取得し、取得したGPS情報に含まれるデータをそのRAMに時系列的に格納するようになっている。自車10の位置は経度X及び緯度Yにより特定され、進行方向DIRjは北を基準とした方位角により特定される。他車がその他車のGPS装置によりGPS衛星から取得する「他車の位置(他車位置)Pc及び進行方向DIRc」も同様に特定される。
無線制御ECU80は、他車との無線通信(車車間通信)を行うための無線アンテナ81と接続されている。無線制御ECU80は、他車(図1においては他車11〜13)から送信されて来る他車に関する情報(即ち、他車通信情報)を、その他車通信情報を送信してきた他車を識別するID(他車ID)と共に所定時間が経過する毎に受信する。無線制御ECU80は、無線通信により受信した情報を、他車ID別に且つ時系列的にそのRAMに格納するようになっている。
他車通信情報は、他車(即ち、通信車)の運転状態を表す下記の情報を含んでいる。
(A)通信車のブレーキ制御ECU40が取得した当該通信車の車速(通信車速度)Vc。
(B)通信車のGPS装置70が取得した当該通信車の位置Pc。
(C)通信車の車両制御装置が、後述する「協調追従走行制御(CACC)及び車間距離制御(ACC:Adaptive Cruise Control)」の何れも実行していない場合において、当該通信車の車両制御ECU20が当該通信車の「アクセル操作量AP及びブレーキ操作量BP」に基づいて算出した当該通信車の要求加速度Gc。
(D)通信車の車両制御装置が「協調追従走行制御及び車間距離制御」の何れかの制御を実行している場合において、その制御を行うために算出している(当該通信車に要求している)加速度である要求加速度Gc。
(E)通信車の車速(他車速)Vcを当該通信車の車両制御ECU20が時間微分することにより取得している当該通信車の実加速度Ga(=dVc/dt)。
無線制御ECU80は、所定時間が経過する毎に、後続車(自車10の後方を走行している車両)のために、自車10についての上記他車通信情報を外部に送信(発信)するようになっている。
(作動)
車両制御ECU20のCPU(以下、「CPU」と表記した場合、特に断りがない限り、車両制御ECU20のCPUを指す。)は、所定時間が経過する毎に図2にフローチャートにより示したルーチンを実行するようになっている。なお、CACCスイッチ22がオフ位置に設定されているとき、エンジン制御ECU30は、アクセル操作量AP及びエンジン回転速度等に基づいてエンジンアクチュエータ32を制御し、ブレーキ制御ECU40は、ブレーキ操作量BP及び自車速Vj(或いは、各車輪の車輪速)等に基づいてブレーキアクチュエータ43を制御する。
所定のタイミングになると、CPUは図2のステップ200から処理を開始してステップ210に進み、CACCスイッチ22がオン位置に設定されているか否かを判定する。このとき、CACCスイッチ22がオン位置に設定されていなければ、CPUはステップ210にて「No」と判定し、ステップ295に直接進んで本ルーチンを一旦終了する。従って、この場合、他車通信情報に含まれる上述の各データはRAMに蓄積されない。
これに対し、CACCスイッチ22がオン位置に設定されていると、CPUはステップ210にて「Yes」と判定し、以下に述べるステップ220乃至ステップ240の処理を順に行い、ステップ250に進む。
ステップ220:CPUは、通信車(n)の他車通信情報の最新情報を無線制御ECU80から受け取る。通信車(n)とは、無線通信(車車間通信)により送信されてくる他車通信情報を自車10が受信している場合における当該無線通信を行っている任意の他車(n)を意味する。この他車通信情報には、少なくとも、以下の情報が含まれている。
・通信車(n)の最新の位置Pc(n)=(Xc,Yc)=(Xcnew,Ycnew)
・通信車(n)の車速(他車速度)Vc
ステップ230:CPUは、自車センサ情報を取得する。この自車センサ情報には、少なくとも、自車速Vj、相対速度Vr、車間距離Dr及び横距離Dyが含まれている。
ステップ240:CPUは、自車速Vjに相対速度Vrを加えることによって先行車速度Vfrを算出する。この先行車速度Vfrは、自車10が有するセンサのみを用いて取得される「自車10の直前を走行している先行車の速度」であり、「自車センサベース先行車速度Vfr」とも称呼される。CPUは、現在の時刻と自車センサベース先行車速度Vfrとを関連付けて車両制御ECU20のRAMに格納する。なお、CPUは、先行車速度Vfrについては特別な場合を除き時系列的に常に蓄積している。
次に、CPUはステップ250に進み、先行車速度Vfrが第1閾値(先行車速度閾値)Vfrth以上であるか否かを判定する。第1閾値Vfrthは「0km/h」よりも僅かに高い所定の速度に設定されている。
先行車速度Vfrが第1閾値Vfrth以上であると、CPUはステップ250にて「Yes」と判定してステップ260に進み、通信車(n)から無線通信により得られた他車通信情報(データ)を時系列的に蓄積する。より具体的に述べると、CPUは、通信車(n)を特定する車両IDと、現在の時刻と、を通信車(n)からの他車通信情報に含まれるデータ(例えば、通信車の車速Vc)と関連付けて車両制御ECU20のRAMに格納する。その後、CPUはステップ295に進み、本ルーチンを一旦終了する。
これに対し、CPUがステップ250の処理を実行する時点において、先行車速度Vfrが第1閾値Vfrth未満であると、CPUはそのステップ250にて「No」と判定する。そして、CPUはステップ270に進んで、通信車(n)の車速(他車速度)Vcが第2閾値(他車速度閾値)Vcth以上であるか否かを判定する。第2閾値Vchthは、「0km/h」よりも僅かに高い所定の速度に設定されている。第2閾値Vchthは第1閾値Vfrthと同じ値であることが好ましいが、第1閾値Vfrthと相違していてもよい。
通信車(n)の車速(他車速度)Vcが第2閾値Vcth以上であると、CPUはステップ270にて「Yes」と判定してステップ260に進む。従って、通信車(n)から車車間通信により得られた他車通信情報(データ)が時系列的に蓄積される。その後、CPUはステップ295に進み、本ルーチンを一旦終了する。
これに対し、CPUがステップ270の処理を実行する時点において、通信車(n)の車速(他車速度)Vcが第2閾値Vcth未満であると、CPUはそのステップ270にて「No」と判定する。そして、CPUはステップ280に進んで、通信車(n)から無線通信により得られた他車通信情報(例えば、通信車の車速Vc)を時系列的に蓄積することを停止する。但し、この時点までに蓄積してきた通信車(n)についての時系列データは保持される。その後、CPUはステップ295に進み、本ルーチンを一旦終了する。
なお、図2のステップ220乃至ステップ280の処理は、通信車(n)が複数存在する場合、総ての通信車(n)に対して実行される。
更に、CPUはCACCスイッチ22がオン位置に設定されている場合、所定時間が経過する毎に図3にフローチャートにより示したルーチンを実行するようになっている。従って、所定のタイミングになると、CPUは図3のステップ305から処理を開始して以下に述べるステップ305乃至ステップ340の処理を順に行い、その後、ステップ345に進む。
ステップ305:CPUは、通信車(n)の車速(他車速度、即ち、通信車速度)Vcの時系列データを車両制御ECU20のRAMから読み込む。更に、CPUは、先行車速度(自車センサベース先行車速度)Vfrの時系列データを車両制御ECU20のRAMから読み込む。
ステップ310:CPUは、ステップ305にて読み込んだデータを用いて、第1速度類似度指標値e1を下記の(1)式に従って算出する。第1速度類似度指標値e1は、自車センサベース先行車速度Vfrと通信車速度Vcとの類似度を表す指標値である。(1)式から理解されるように、第1速度類似度指標値e1は、RAMに時系列的に蓄積されている「最新のデータを含む直近m個のデータ(Vfr及びVc)」に基づいて算出される。
第1速度類似度指標値e1は、自車センサベース先行車速度Vfrの時系列データと通信車速度Vcの時系列データとの平均2乗誤差である。よって、第1速度類似度指標値e1は、自車センサベース先行車速度Vfrと通信車速度Vcとが、過去のある時点から現時点までの期間において近しい値を取り続けているほど小さくなる。なお、CPUは、今回算出された第1速度類似度指標値e1を含む直近のY回において連続的に(無線通信の遮断がなく)算出された第1速度類似度指標値e1の平均値を最終的な第1速度類似度指標値e1として算出してもよい。更に、無線通信の遮断が生じてからの第1速度類似度指標値e1の個数がY回に達していない場合、第1速度類似度指標値e1として非常に大きい値を設定してもよい。
ステップ315:CPUは、第1速度類似度指標値e1を、「通信車(n)が通信追従対象車である確率Pe1」に変換する。より具体的に述べると、CPUは、予めの実験により定められたルックアップテーブルMapPe1(e1)に第1速度類似度指標値e1を適用することによって確率Pe1を求める。ルックアップテーブルMapPe1(e1)によれば、確率Pe1は、第1速度類似度指標値e1が小さくなるほど「1」に近づき、第1速度類似度指標値e1が大きくなるほど「0」に近づく値として算出される。
ステップ320:CPUは、ステップ305にて読み込んだデータを用いて、第2速度類似度指標値e2を下記の(2)式に従って算出する。
上記(2)式においてdVcは、他車速度(通信車速度)Vcの最新値Vc(t)と所定時間Δt(無線制御ECU80のサンプリング周期)前の通信車速度Vc(t−Δt)との差(=Vc(t)−Vc(t−Δt))である。
上記(2)式においてdVfrは、自車センサベース先行車速度Vfrの最新値Vfr(t)と所定時間Δt前の自車センサベース先行車速度Vfr(t−Δt)との差(=Vfr(t)−Vfr(t−Δt))である。
第2速度類似度指標値e2は、自車センサベース先行車速度Vfrの変化量と通信車速度Vcの変化量との差の絶対値の正規化値である。よって、第2速度類似度指標値e2は、自車センサベース先行車速度Vfrと通信車速度Vcとが同じような変化をしている場合に小さくなる。即ち、第2速度類似度指標値e2は、自車センサベース先行車速度Vfrと通信車速度Vcとが類似している程度を表す類似度の指標値(誤差統計量の一つ)である。CPUは、今回算出された第2速度類似度指標値e2を含む直近のY回において連続的に(無線通信の遮断がなく)算出された第2速度類似度指標値e2の平均値を最終的な第2速度類似度指標値e2として算出する。更に、無線通信の遮断が生じてからの第2速度類似度指標値e2の個数がY回に達していない場合、第2速度類似度指標値e2として非常に大きい値を設定してもよい。
ステップ325:CPUは、第2速度類似度指標値e2を、「通信車(n)が通信追従対象車である確率Pe2」に変換する。より具体的に述べると、CPUは、予めの実験により定められたルックアップテーブルMapPe2(e2)に第2速度類似度指標値e2を適用することによって確率Pe2を求める。ルックアップテーブルMapPe2(e2)によれば、確率Pe2は、第2速度類似度指標値e2が小さくなるほど「1」に近づき、第2速度類似度指標値e2が大きくなるほど「0」に近づく値として算出される。
ステップ330:CPUは、ステップ305にて読み込んだデータを用いて、他の速度類似度指標値e_x(x=3、4、5・・・)を算出する。これらの指標値については、特許第5522193号に記載の指標値のうちの「自車センサベース先行車速度Vfr及び通信車速度Vc」用いて算出される値の一以上の任意の組み合わせ(例えば、自車センサベース先行車速度Vfrと通信車速度Vcとの相関係数)を使用することができる。なお、CPUは他の速度類似度指標値e_xを算出しなくてもよい。
ステップ335:CPUは、他の速度類似度指標値e_x(x=3、4、5・・・)のそれぞれを、「通信車(n)が通信追従対象車である確率Pe_x(x=3、4、5・・・)」に変換する。より具体的に述べると、CPUは、予めの実験により定められたルックアップテーブルMapPe_x(e_x)に他の類似度指標値e_xを適用することによって確率Pe_xを求める。
ステップ340:CPUは、確率Pe1、確率Pe2及び確率Pe_xの積を「通信車(n)が通信追従対象車である最終的な確率Pn」として算出する。なお、他の速度類似度指標値e_xが採用されない場合、CPUは、確率Pe1と確率Pe2との積を確率Pnとして算出する。
ステップ345:CPUは、自車10に無線通信によって他車通信情報を送信してきている総ての通信車(n)について確率Pnを算出したか否かを判定する。通信車(n)の総てについて確率Pnを算出していない場合、CPUはステップ345にて「No」と判定してステップ305に戻る。
これに対し、通信車(n)の総てについて確率Pnを算出済みである場合、CPUはステップ345にて「Yes」と判定してステップ350に進み、確率Pnが閾値Pth以上である通信車(n)が存在するか否かを判定する。そして、確率Pnが閾値Pth以上である通信車(n)が存在する場合、CPUはステップ350にて「Yes」と判定してステップ355に進み、確率Pnが閾値Pth以上である通信車(n)の中から最も高い確率Pnを有する通信車(n)を、通信追従対象車として特定する。一方、確率Pnが閾値Pth以上である通信車(n)が存在しない場合、CPUはステップ350にて「No」と判定してステップ395に直接進んで本ルーチンを一旦終了する。即ち、CPUは、通信追従対象車はないと判定する。
更に、CPUは、所定時間が経過する毎に図4にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUは図4のステップ400から処理を開始してステップ410に進み、CACCスイッチ22の位置がオン位置に設定されているか否かを判定する。CACCスイッチ22の位置がオフ位置に設定されていると、CPUはステップ410からステップ495に直接進んで本ルーチンを一旦終了する。
CACCスイッチ22の位置がオン位置に設定されていると、CPUはステップ410にて「Yes」と判定してステップ420に進み、通信追従対象車が特定済みであるか否かを判定する。図3のステップ355の処理によって通信追従対象車が特定済みである場合、CPUは以下に述べるステップ430乃至ステップ460の処理を順に行い、ステップ495に進んで本ルーチンを一旦終了する。
ステップ430:CPUは、通信追従対象車から車車間通信により送信されてくる要求加速度Gcに所定のゲインKgを乗じた値をフィードフォワード要求加速度FFGとして算出する。ゲインKgは、本例において「1」であるが、特開2015−51716号公報に記載している手法により自車10の運転状態に応じて設定されてもよい。なお、CPUは、通信追従対象車から送信されてくる他車通信情報に通信追従対象車の実際の加速度Gaが含まれている場合、要求加速度Gcにハイパスフィルタを施した値と、加速度Gaにローパスフィルタを施した値と、の和をフィードフォワード要求加速度FFGとして求めても良い。
ステップ440:CPUは、下記の(3)式に従ってフィードバック要求加速度FBGを算出する。ΔDは車間偏差、Dtgtは目標車間距離、Vrは前述した相対速度である。なお、目標車間時間Ttgtは一定値であるが、運転者の図示しないスイッチの操作により変更されてもよい。
ステップ450:CPUは、フィードフォワード要求加速度FFGとフィードバック要求加速度FBGとの和を、最終的な自車10の目標加速度Gtgtとして算出する。なお、CPUは、フィードフォワード要求加速度FFG及びフィードバック要求加速度FBGの加重平均値を目標加速度Gtgtとして算出してもよい。
ステップ460:CPUは、自車10の実際の加速度が目標加速度Gtgtに一致するように、エンジン制御ECU30及びブレーキ制御ECU40に目標加速度Gtgtを送信する。エンジン制御ECU30及びブレーキ制御ECU40は、目標加速度Gtgtに応じて、エンジンアクチュエータ32及びブレーキアクチュエータ43をそれぞれ制御(駆動)する。この結果、自車10の実際の加速度が目標加速度Gtgtに一致させられる。以上の処理によりCACCが実行される。
一方、CPUがステップ420の処理を行う際、通信追従対象車の特定が終了していない場合(通信追従対象車が存在しない場合、及び、通信追従対象車が存在しなくなった場合も含む。)、CPUはステップ420にて「No」と判定してステップ470に進み、フィードフォワード要求加速度FFGの値を「0」に設定し、その後、ステップ440以降に進む。この結果、ACCが実行される。
(実施形態の作用・効果)
上記実施形態においては、先行車速度Vfrが第1閾値Vfrth以上であること、及び、通信車(n)の車速Vcが第2閾値Vcth以上であること、の少なくとも一方が満足される場合に、他車通信情報(他車速度Vcを含むデータ)が時系列的に蓄積される(図2のステップ250、ステップ270及びステップ260を参照。)。一方、先行車速度Vfrが第1閾値Vfrth未満であること、及び、通信車(n)の車速Vcが第2閾値Vcth未満であることの両方が満足される場合に、他車通信情報(他車速度Vcを含むデータ)の時系列的蓄積が停止される(図2のステップ250、ステップ270及びステップ280を参照。)。以下、このように構成することの作用・効果について説明する。
例えば、自車10が渋滞中を走行していると、自車10の周辺には多数の他車が並走している。しかも、自車10及び他車の車速は極めて低い(微低速である。)。そのため、図5の二点鎖線の長方形により囲まれた領域内に示したように、自車センサベースの先行車速度Vfr、自車10の直前を走行していないが自車10の近傍を走行している他車(非通信追従対象車)の車速、及び、通信追従対象車の車速は、互いに極めて類似する。
そのため、この期間において他車通信情報(データ)の時系列的蓄積を行うと、類似度指標値(例えば、第1類似度指標値e1)は何れの他車に対しても略同じ値となってしまう。従って、図6の時刻t1以前に示したように、その類似度指標値に基づく通信追従対象車確率Pnは、真の通信追従対象車と非通信追従対象車との間で差が生じ難く、両者は時刻t1の前後(即ち、略同時期)にて「通信追従対象車であると特定するための閾値」を超えてしまう(破線の円内を参照。)。従って、真の通信追従対象車ではない他車を通信追従対象車であると誤って特定する可能性が高い。
一方、発明者の検討によれば、図7(A)の破線の楕円D1内に示したように、渋滞路において、無線通信により得られる非通信追従対象車の車速は自車センサベース先行車速度Vfrよりも早い時点で増大を開始する場合があることが判明した。更に、図7(B)の破線の楕円D2内に示したように、渋滞路において、無線通信により得られる非通信追従対象車の車速は自車センサベース先行車速度Vfrよりも遅い時点で増大を開始することが判明した。
即ち、発明者は、渋滞路であっても、自車センサベース先行車速度Vfrと無線通信により得られる非通信追従対象車の車速とは、増大を開始するタイミングがずれるという知見を得た。そこで、発明者は、この知見に基づき、自車センサベース先行車速度Vfr及び無線通信により得られる非通信追従対象車の車速のうちの一方が変化を開始した時点から、無線通信により得られる他車速度の時系列的な蓄積を開始すれば、非通信追従対象車に対する類似度指標値と通信追従対象車に対する類似度指標値との間に明確な差が生じるとの結論に至った。
換言すると、「自車センサベース先行車速度Vfrが変化しているのに無線通信により得られる他車速度(通信車速度)が変化していない事象」及び「自車センサベース先行車速度Vfrが変化していないのに無線通信により得られる他車速度(通信車速度)が変化している事象」は、その他車が通信追従対象車ではない証拠である。従って、自車センサベース先行車速度Vfrと通信車速度とがそのような挙動を示す場合のそれらの時系列データを蓄積することにより、非通信追従対象車に対する類似度指標値と通信追従対象車に対する類似度指標値との間に明確な差が生じる。
そこで、発明者は、このような時系列データの蓄積を実現するには、他車及び自車の双方が低速以上の速度で走行しているときに時系列データの蓄積を停止すればよいとの知見を得た。換言すると、通信車速度及び自車センサベース先行車速度Vfrの少なくとも一方が閾値以上であるときに時系列データの蓄積を行い、且つ、通信車速度及び自車センサベース先行車速度Vfrの両方ともが閾値未満であるときに時系列データの蓄積を停止すれば、非通信追従対象車に対する類似度指標値と通信追従対象車に対する類似度指標値との間に明確な差が生じる。そこで、実施形態では、図2のステップ250乃至ステップ280を設けた。
このように時系列データの蓄積及び蓄積の停止を行えば、時系列データに基づいて算出される非通信追従対象車に対する類似度指標値と時系列データに基づいて算出される通信追従対象車に対する類似度指標値との間に明確な差が生じる。よって、図8に示したように、真の通信追従対象車に対する類似度指標値に基づく通信追従対象車確率Pnは「通信追従対象車であると特定するための閾値」を超えるが、非通信追従対象車に対する類似度指標値に基づく通信追従対象車確率Pnは「通信追従対象車であると特定するための閾値」を超えない。従って、真の通信追従対象車ではない他車を通信追従対象車であると誤って特定する可能性を低下させることができる。
(第1変形例)
次に、本特定装置の第1変形例について説明する。第1変形例は、通信追従対象車をより早期に特定することを目的として、通信車(n)から送信されてくる他車通信情報の時系列的な蓄積の初期化を適切に行う。
ところで、自車10は、ある時点にて他車から無線通信により当該他車の他車通信情報を受信し始めると、その時点以降、他車通信情報の時系列的な蓄積を開始する。しかしながら、図9(A)の破線により示したように、他車通信情報の開始時点(時刻t1)の直後から、例えば電波干渉等により通信状態が不安定になって無線通信が一時的に途絶する場合がある。このとき、他車通信情報は更新されず、他車速度を含む他車通信情報は前回値と同じ値とみなされて時系列的に蓄積される(時刻t1〜時刻t2を参照。)。
一方、自車センサベース先行車速度Vfrは「バイアス量Vb」を含んでいる。このバイアス量Vbは、例えば、自車10に装着されているタイヤの直径が設計値と相違している場合等において生じる「真の先行車速度に対する定常誤差」である(図9の(A)を参照。)。そこで、CPUは、このようなバイアスVb(=Vb(t))を例えば下記(4)式を用いた計算により求めている。そして、無線通信により得られた他車速度Vcからバイアス量Vb(t)を減じた値を、前述の類似度指標値(e1,e2)等に用いる他車速度Vcとして使用している。このバイアス量Vb(t)により補正された他車速度Vcを、以下、便宜上「補正後他車速度Vcc」と称呼する。
ところが、前述したように、無線通信開始後において無線通信が一時的に途絶する場合においても他車速度の時系列的な蓄積が行われると、図9(A)のハッチング部分に示したように、本来のバイアス量Vbよりも大きいバイアス量が生じてしまう。その結果、図9(B)に示したように、バイアス量Vbが本来の値(真の値)の近傍値に収束するタイミングが遅れる。
このため、無線通信が一時的に途絶する場合においても他車速度の時系列的な蓄積が行われる場合、バイアス量が不正確な値となる期間が長期化し、その期間において補正後他車速度Vccが正確な値でなくなる。この結果、本来は自車センサベース先行車速度Vfrと略一致するはずの通信追従対象車の補正後他車速度Vccが自車センサベース先行車速度Vfrと乖離するので、図9(C)の破線により示したように、通信追従対象車確率の上昇が遅れる。従って、通信追従対象車確率が閾値を超える時点が遅れるので、通信追従対象車の特定も遅れるという問題が生じる(時刻t2を参照。)。なお、このような問題は、他車速度の時系列的な蓄積を開始した直後において自車レーダセンサ61を用いた自車レーダセンサ情報が一時的に取得できなくなるような場合にも同様に発生する。
第1変形例の車両制御ECU20のCPUは、上述の問題を解決するために、所定時間が経過する毎に図10にフローチャートにより示したルーチンを実行するようになっている。従って、所定のタイミングになると、CPUは図10のステップ1000から処理を開始し、以下に述べるステップ1010乃至ステップ1030の処理を順に行い、ステップ1040に進む。
ステップ1010::CPUは、ステップ220と同様、通信車(n)の他車通信情報の最新情報を無線制御ECU80から受け取る。
ステップ1020:CPUは、ステップ230と同様、自車センサ情報を取得する。
ステップ1030:CPUは、自車センサ情報に基づき、先行車に移動上の変化があったか否かを判定する。より具体的に述べると、CPUは、以下の何れかが成立した場合に、先行車に移動上の変化があったと判定する。
・単位時間あたりの車間距離Drの変化量が車間距離変化量閾値以上である。
・単位時間あたりの横距離Dyの変化量が横距離変化量閾値以上である。
・単位時間あたりの相対速度Vrの変化量が相対速度変化量閾値以上である。
次に、CPUはステップ1040に進み、ステップ1030において先行車に移動上の変化があったとの判定がなされたか否かを判定する。先行車に移動上の変化があったとの判定がなされていた場合、CPUは以下に述べるステップ1050及びステップ1060の処理を順に行い、ステップ1095に進んで本ルーチンを一旦終了する。
ステップ1050:CPUは、現時点までに時系列的に蓄積された通信車(n)の他車通信情報を初期化(破棄)する。
ステップ1060:CPUは、通信車(n)の他車通信情報の時系列的な蓄積を新たに開始する。つまり、CPUは、今回の本ルーチンのステップ1010にて取得した他車通信情報を初回のデータとするデータの時系列的な蓄積を開始する。
これに対し、CPUがステップ1040の処理を実行する時点において先行車に移動上の変化があったとの判定がなされていなかった場合、CPUはステップ1040にて「No」と判定する。そして、CPUはステップ1070に進み、前回本ルーチンが実行されたときに時系列的に蓄積された通信車(n)の他車通信情報が初期化されており且つ自車レーダセンサ61が外挿中であるか否かを判定する。
このステップ1070の判定条件が成立している場合、CPUはステップ1070にて「Yes」と判定し、前述したステップ1050及びステップ1060の処理を実行してから本ルーチンを一旦終了する。
一方、ステップ1070の判定条件が成立していない場合、CPUはステップ1070にて「No」と判定する。そして、CPUはステップ1080に進み、前回本ルーチンが実行されたときに時系列的に蓄積された通信車(n)の他車通信情報が初期化されており且つ他車通信情報が途絶中である(即ち、現時点にて受信できている予定の他車通信情報が受信できていない)か否かを判定する。
このステップ1080の判定条件が成立している場合、CPUはステップ1080にて「Yes」と判定し、前述したステップ1050及びステップ1060の処理を実行してから本ルーチンを一旦終了する。
これに対し、ステップ1080の判定条件が成立していない場合、CPUはステップ1080にて「No」と判定する。そして、CPUはステップ1090に進み、通信車(n)からの他車通信情報の時系列的な蓄積を継続する。その後、CPUはステップ1095に進んで本ルーチンを一旦終了する。
このルーチンが実行される結果、例えば、図11に示したように、他車通信情報の時系列的な蓄積及び初期化が実行される。即ち、先行車の移動上の変化があったとき、自車レーダセンサが外挿中であるとき及び無線通信が途絶中であるとき、他車通信情報の時系列的蓄積データが初期化されるとともに、他車通信情報の初回の蓄積(蓄積1)が実行される。そして、自車レーダセンサによる自車レーダセンサ情報及び無線通信による他車通信情報の取得の両方が正常に行われているとき、他車通信情報の時系列的な蓄積が継続的に行われる。
従って、第1変形例によれば、図9(A)の時刻t1から時刻t2までの期間において他車通信情報の時系列的な蓄積が行われないので、図9(B)に実線により示したように、バイアス量の真の値への収束が早くなる。その結果、図9の(C)に実線により示したように、通信追従対象車確率の上昇が早くなって時刻t2よりも早い時刻t1にて閾値を超える。従って、通信追従対象車をより早期に特定することができる。
(第2変形例)
次に、本特定装置の第2変形例について説明する。第2変形例は、自車レーダセンサ情報(例えば、相対速度)が外乱等によって一時的に正確でなくなる場合に通信追従対象車の特定を誤ることを回避するための処理を行う。
より具体的に述べると、図12(A)に示したような状況において、自車10の自車レーダセンサ61が発信するミリ波がガードレール及び/又は先行車11に隣接して走行している他車12によっても反射されることがある。この場合、自車レーダセンサ61は、先行車11とは異なる対象を先行車11と一体物として認識する。その結果、図12の(B)の楕円D1内及び楕円D2内に示したように、自車センサベース先行車速度Vfrにノイズが重畳し、実際の自車センサベース先行車速度Vfrが「正しい自車センサベース先行車速度Vfr」から乖離する。
このようなノイズが重畳している自車センサベース先行車速度Vfrが時系列的に蓄積されると、そのデータと、他車車速の時系列データと、を用いて計算される通信追従対象車確率の精度が悪化するので、通信追従対象車を正しく認識できない虞が生じる。
そこで、第2変形例は、以下に述べるようにして、自車センサベース先行車速度Vfrに大きな誤差が含まれている場合を検出し、自車センサベース先行車速度Vfrに大きな誤差が含まれている場合には自車センサベース先行車速度Vfr及び他車通信情報の時系列的な蓄積を停止する。
先ず、第2変形例の車両制御ECU20のCPUは、図13(A)の長方形Q内に示されている区間のように、既に特定された通信追従対象車から無線通信により送信されてくる車速Vc(=Vct)の速度変化と自車センサベース先行車速度Vfrの速度変化との差が小さい区間において、上記(4)式を用いてバイアス量Vbを算出する。通信追従対象車の車速Vctは、通信追従対象車の車速センサの出力に基く値であるから、自車センサベース先行車速度Vfrのように外乱の影響を受け難い。
次に、CPUは、速度Vctをバイアス量Vbによって補正し、速度Vctと自車センサベース先行車速度Vfrとの定常的な誤差をなくす。換言すると、図13(B)に示したように、速度Vctをバイアス量Vbによって補正することにより、自車センサベース先行車速度Vfrの基準速度Vctkを求める。
そして、CPUは、自車センサベース先行車速度Vfrが基準速度Vctkから乖離している場合、自車センサベース先行車速度Vfrに誤差(ノイズ)が含まれていると判定する(図13(B)の楕円D1内及び楕円D2内を参照。)。CPUは、その判定がなされる期間を異常期間と認識し、その異常期間において「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を停止する。
実際には、CPUは、所定時間が経過する毎に図14にフローチャートにより示したルーチンを実行するようになっている。従って、所定のタイミングになると、CPUは図14のステップ1400から処理を開始し、「特定済み通信追従対象車の速度Vctからバイアス量Vbを減じた値(Vct−Vb=基準速度Vctk)」を自車センサベース先行車速度Vfrから減じ、その値の絶対値をとることにより速度差値SPdifを求める。ここで、CPUは、前述したように、既に特定された通信追従対象車の車速Vctの速度変化と自車センサベース先行車速度Vfrの速度変化との差が小さい区間において、上記(4)式を用いてバイアス量Vbを算出している。更に、上記値(Vct−Vb)は、速度Vctと自車センサベース先行車速度Vfrとの定常的な誤差をなくすように、速度Vctをバイアス量Vbによって補正した基準速度Vctkである。従って、正常であれば、速度差値SPdifは略「0」になる。
次に、CPUはステップ1415に進み、速度差値SPdifが速度差閾値SPdifthよりも大きいか否かを判定する。即ち、CPUはステップ1415にて、自車センサベース先行車速度Vfrが異常値となっているか否かを判定する。
速度差値SPdifが速度差閾値SPdifthよりも大きい場合、CPUはステップ1415にて「Yes」と判定してステップ1420に進み、異常ポイントPabを正の一定値dPabだけ増加させ、ステップ1435に進む。これに対し、速度差値SPdifが速度差閾値SPdifth以下である場合、CPUはステップ1415にて「No」と判定してステップ1430に進み、異常ポイントPabを正の一定値dPabだけ減少させ、ステップ1435に進む。このステップ1415乃至ステップ1430の処理により、速度差値SPdifが速度差閾値SPdifthよりも大きい場合が多いほど速度差値SPdifが大きくなり、速度差値SPdifが速度差閾値SPdifthよりも小さい場合が多いほど速度差値SPdifが小さくなる。
CPUは、ステップ1435にて、異常ポイントPabが異常閾値Pabthより小さいか否かを判定する。異常ポイントPabが異常閾値Pabthより小さい場合、CPUはステップ1435にて「Yes」と判定して、以下に述べるステップ1440及びステップ1445の処理を順に行い、ステップ1495に進んで本ルーチンを一旦終了する。
ステップ1440:CPUは、「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を継続することを許可する。これにより、CPUは図示しないルーチンによって、これらのデータの時系列的な蓄積を継続する。
ステップ1445:CPUは、バイアス量Vbの更新を許可する。これにより、CPUは図示しないルーチンによって、バイアス量Vbの更新を継続する。
これに対し、CPUがステップ1435の処理を実行する時点において、異常ポイントPabが異常閾値Pabth以上である場合、CPUはステップ1435にて「No」と判定して、以下に述べるステップ1450及びステップ1455の処理を順に行い、ステップ1495に進んで本ルーチンを一旦終了する。
ステップ1450:CPUは、「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を禁止(停止)する。これにより、CPUは図示しないルーチンにおいて、これらのデータの時系列的な蓄積を停止し、それらのデータの最新値を前回値のまま保持する。
ステップ1455:CPUは、バイアス量Vbの更新を禁止する。これにより、CPUは図示しないルーチンによって、バイアス量Vbの更新を停止し、バイアス量Vbの最新値を前回値のまま保持する。
自車10が外乱の多い地帯を走行している場合、その傾向は異常検出地点以降でも続くため、その後も通信追従対象車の特定(認識)に悪影響を及ぼす誤差が自車センサベース先行車速度Vfrに含まれる可能性がある。そこで、CPUは、上述のステップ1415乃至ステップ1430の処理により異常ポイントPabを増減させ、その異常ポイントPabが異常閾値Pabthより大きいか否かに基づいて「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を行うか否かを決定している。この結果、自車10が外乱の多い地帯を走行している場合であっても、その後の通信追従対象車の特定(認識)に悪影響を及ぼす「誤差を含んだ自車センサベース先行車速度Vfr」が時系列的に蓄積される可能性を低減することができる。
(第3変形例)
次に、本特定装置の第3変形例について説明する。第3変形例は、そのCPUが第2変形例のCPUが実行する図14に示したルーチンに代えて図15に示したルーチンを実行する点のみにおいて第2変形例と相違している。従って、以下、この相違点を中心として説明する。なお、図15において図14に示したステップと同一の処理を行うためのステップには、図14のそのようなステップに付された符号と同じ符号を付し、それらのステップの処理についての説明は適宜省略する。
CPUは、ステップ1400から処理を開始してステップ1410にて速度差値SPdifを算出すると、ステップ1510に進んで「自車レーダセンサ61が外挿中である」か否かを判定する。
自車レーダセンサ61が外挿中である場合、CPUはステップ1510にて「Yes」と判定してステップ1520に進み、速度差値SPdifが小側速度差閾値SPdifsmallthよりも大きいか否かを判定する。
速度差値SPdifが小側速度差閾値SPdifsmallthよりも大きい場合、CPUはステップ1520にて「Yes」と判定してステップ1530に進み、異常ポイントPabを正の一定値aLだけ増加させ、ステップ1435に進む。これに対し、速度差値SPdifが小側速度差閾値SPdifsmallth以下である場合、CPUはステップ1520にて「No」と判定してステップ1540に進み、異常ポイントPabを「一定値aLよりも小さい正の一定値aS」だけ増加させ、ステップ1435に進む。
一方、CPUがステップ1510の処理を実行する時点において、自車レーダセンサ61が外挿中でない場合、CPUはステップ1510にて「No」と判定してステップ1550に進み、速度差値SPdifが「小側速度差閾値SPdifsmallthよりも大きい大側速度差閾値SPdiflargeth」よりも大きいか否かを判定する。
速度差値SPdifが大側速度差閾値SPdiflargethよりも大きい場合、CPUはステップ1550にて「Yes」と判定してステップ1560に進み、異常ポイントPabを正の一定値bSだけ減少させ、ステップ1435に進む。これに対し、速度差値SPdifが大側速度差閾値SPdiflargeth以下である場合、CPUはステップ1550にて「No」と判定してステップ1570に進み、異常ポイントPabを「一定値bSよりも大きい正の一定値bL」だけ減少させ、ステップ1435に進む。
この第3変形例によれば、自車レーダセンサ61が外挿中である場合(即ち、自車レーダセンサ61が正常に相対速度及び車間距離等を取得できていない場合)、速度差値SPdifが大きいときには異常ポイントPabを急激に増加させ(ステップ1530)、速度差値SPdifが小さいときには異常ポイントPabを緩やかに増加させる(ステップ1540)。更に、自車レーダセンサ61が外挿中でない場合(即ち、自車レーダセンサ61が正常に相対速度及び車間距離等を取得できている場合)、速度差値SPdifが大きいときには異常ポイントPabを緩やかに減少させ(ステップ1560)、速度差値SPdifが小さいときには異常ポイントPabを急激に減少させる(ステップ1570)。
従って、「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を行うか否かを、この異常ポイントPabに基づいて、より適切に決定することができる。
なお、第2変形例及び第3変形例において、「自車センサベース先行車速度Vfr及び他車通信情報」の時系列的な蓄積を禁止する前と後とでは、それらの値の時間的な繋がりがないので、値のギャップが発生して後段処理に悪影響が出る懸念がある。そこで、蓄積を禁止した前の値と後の値とに大きな差が生じないように、それらの値を平均化して滑らかに繋げる「補間データ」を作成し、その補間データをも用いて通信追従対象車確率を求めるとよい。更に、その平均化を行う際、蓄積データを保存する対象アドレス区間に補間データを埋め込んで蓄積データに時間的な同期ずれが生じないようにすることが望ましい。
以上、説明したように、本特定装置は、無線通信により送信されてくる他車速度Vc及び自車センサベース先行車速度Vfr等の時系列データが、通信追従対象車確率の精度に悪影響を及ぼす可能性がある場合、そのような時系列データの蓄積を停止する。よって、より精度良く通信追従対象車を特定・認識することができる。
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、自車速Vjは、図示しない各車輪に設けられた車輪速センサの検出信号に基づいて取得されてもよい。更に、自車レーダセンサ61は、光波(例えばレーザー)又は超音波等を発信及び受信するセンサであってもよい。