(57)【特許請求の範囲】
【請求項１】
自車の速度である自車速を検出する自車速検出手段と、
前記自車の直前を走行し且つ同自車が追従走行すべき先行車の同自車に対する相対速度を取得する相対速度取得手段と、
前記自車速及び前記相対速度に基づいて前記先行車の速度である先行車速度を演算する先行車速度演算手段と、
前記自車の周囲に存在する他車と無線通信を行って同他車から同他車の速度である通信車速度を含む他車通信情報を取得する通信車速度取得手段と、
前記先行車速度及び前記通信車速度に基づいて、前記他車と前記先行車との類似度を演算する類似度演算手段と、
前記他車が前記先行車である確率を前記類似度が大きくなるにつれてより高くなるように演算し、且つ、演算した確率に基づいて前記他車が前記先行車であるか否かを判定する先行車判定手段と、
前記先行車であると判定された前記他車との無線通信によって取得される前記他車通信情報に基づいて前記自車の加速度を制御することにより、同自車を同他車に追従して走行させる走行制御手段と、
を備える車両制御装置において、
前記先行車判定手段が、
前記先行車速度の現在値と前記先行車速度の現在から第１微小時間前の過去値との差（Ａ）と、前記通信車速度の現在値と前記通信車速度の現在から前記第１微小時間前の過去値との差（Ｂ）と、の差分の絶対値（｜Ａ−Ｂ｜）を正規化した第１指標値（ｅ１）と、
前記先行車速度の現在値と前記先行車速度の現在から第２微小時間前の過去値との差（Ｃ）と、前記通信車速度の現在からオフセット時間前の過去値と前記通信車速度の現在から前記オフセット時間前の時点から更に前記第２微小時間前の過去値との差（Ｄ）と、の差分の絶対値（｜Ｃ−Ｄ｜）を正規化した第２指標値（ｅ２）と、
を算出し、
前記第１指標値が前記第２指標値以下のとき、前記第１指標値が前記第２指標値より大きいときと比べて前記確率を高めに算出するように構成された、車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自車の近傍を走行し且つ自車と無線通信（車車間通信）を行う他車の中から、自車の直前を走行し且つ自車がその無線通信により送信されてくる情報を利用しながら追従走行すべき通信追従対象車を特定し、自車をその通信追従対象車に追従走行させる車両制御装置に関する。
【背景技術】
【０００２】
従来から所謂ＣＡＣＣ制御（Cooperative Adaptive Cruise Control）が知られている。
ＣＡＣＣ制御とは、車両（以下、「自車」と称呼する場合がある）が自身の直前に位置する先行車との間で無線通信（車車間通信）を行いながら先行車の加速度に関する情報を取得し、その情報を用いて自車を先行車に対して協調して追従走行させる制御である。
自車の周囲を複数の他車が走行している場合、自車が「自車の直前を走行している先行車」と通信を行いながらＣＡＣＣ制御を実行するためには、自車は自身が通信を行っている複数の他車の中から先行車を特定し、その特定した先行車を通信追従対象車として認識する必要がある。
【０００３】
特許文献１は、通信追従対象車を特定可能な車両制御装置を開示している。
特許文献１の車両制御装置が搭載された自車は、自車の速度である自車速を検出する自車速検出手段を備えている。
さらに自車はレーダセンサ及び無線通信手段を備えている。
自車はレーダセンサから出射され且つ先行車によって後方に反射された検出波を受信すする。そして車両制御装置は、受信した検出波に基づいて先行車の自車に対する相対速度を演算する。
さらに自車の車両制御装置は、自車速及び相対速度に基づいて、先行車の速度である先行車速度を演算する。
さらに自車は、無線通信手段を利用して自車の周囲に位置する他車と無線通信を行う。自車と無線通信を行っている通信車である当該他車は、自身の車速である通信車速度を無線通信によって自車へ送信する。従って、自車は当該他車（通信車）の速度である通信車速度を取得可能である。
【０００４】
自車の車両制御装置は、取得した先行車速度及び通信車速度に基づいて、通信車（他車）と先行車との類似度を算出する。具体的には、先行車速度と通信車速度の最大速度平均二乗誤差、最大加速度変動量差及び速度相関係数などを用いて複数の類似度を算出する。各類似度は０〜１の間の大きさの数値によって表される。
【０００５】
そして車両制御装置は各類似度の積を最終先行車確率として求める。最終先行車確率は０〜１の間の大きさの数値によって表される。
最終先行車確率が１に近いほど通信車（他車）が先行車である確率は高く、最終先行車確率が０に近いほど通信車が先行車である確率は低くなる。
従って、最終先行車確率が１に近い場合は、車両制御装置は自車が無線通信を行っている通信車が先行車であると認識し、この先行車（通信車）を通信追従対象車として特定する。そして車両制御装置は、この通信追従対象車（先行車）と無線通信を行いながら自車をＣＡＣＣ制御する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２２８８０４号公報
【発明の概要】
【０００７】
ところで、先行車が、その先行車の直前に位置する先先行車に対してＣＡＣＣ制御を行っているような場合、先先行車と先行車との速度の時系列データ（速度変化の履歴）が非常に類似することがある。
そのため特許文献１はこのような場合に、先先行車が本来は自車にとっての通信追従対象車ではないにも関わらず、この先先行車を通信追従対象車と誤認するおそれがあった。
【０００８】
本発明は、上述した課題に対処するためになされたものである。即ち、本発明の目的の１つは、通信車である先先行車の直後に位置する非通信車である先行車を通信追従対象車であると誤判定する可能性を低減し、以て、通信追従対象車をより精度よく特定することができる車両制御装置を提供することにある。
【０００９】
上記目的を達成するための本発明の車両走行制御装置は、
自車（１０）の速度である自車速を検出する自車速検出手段（４２）と、
前記自車の直前を走行し且つ同自車が追従走行すべき先行車（１１）の同自車に対する相対速度を取得する相対速度取得手段（６０、６１）と、
前記自車速及び前記相対速度に基づいて前記先行車の速度である先行車速度を演算する先行車速度演算手段（２０）と、
前記自車の周囲に存在する他車（１１〜１３）と無線通信を行って同他車から同他車の速度である通信車速度を含む他車通信情報を取得する通信車速度取得手段（８０、８１）と、
前記先行車速度及び前記通信車速度に基づいて、前記他車と前記先行車との類似度を演算する類似度演算手段（２０）と、
前記他車が前記先行車である確率を前記類似度が大きくなるにつれてより高くなるように演算し、且つ、演算した確率に基づいて前記他車が前記先行車であるか否かを判定する先行車判定手段（２０）と、
前記先行車であると判定された前記他車との無線通信によって取得される前記他車通信情報に基づいて前記自車の加速度を制御することにより、同自車を同他車に追従して走行させる走行制御手段（２０）と、
を備える車両制御装置において、
前記先行車判定手段が、
前記先行車速度の現在値と前記先行車速度の現在から第１微小時間前の過去値との差（Ａ）（ｄＶｆｒ）と、前記通信車速度の現在値と前記通信車速度の現在から前記第１微小時間前の過去値との差（Ｂ）（ｄＶｃ）と、の差分の絶対値（｜Ａ−Ｂ｜）を正規化した第１指標値（ｅ１）と、
前記先行車速度の現在値と前記先行車速度の現在から第２微小時間前の過去値との差（Ｃ）（ｄＶｆｒ’）と、前記通信車速度の現在からオフセット時間前の過去値と前記通信車速度の現在から前記オフセット時間前の時点から更に前記第２微小時間前の過去値との差（Ｄ）（ｄＶｃ’）と、の差分の絶対値（｜Ｃ−Ｄ｜）を正規化した第２指標値（ｅ２）と、
を算出し、
前記第１指標値が前記第２指標値以下のとき、前記第１指標値が前記第２指標値より大きいときと比べて前記確率を高めに算出するように構成される。
【００１０】
先行車速度の現在値と先行車速度の現在から第１微小時間前の過去値との差（Ａ）と、通信車速度の現在値と通信車速度の現在から第１微小時間前の過去値との差（Ｂ）と、の差分の絶対値（｜Ａ−Ｂ｜）を正規化した第１指標値（ｅ１）が、先行車速度の現在値と先行車速度の現在から第２微小時間前の過去値との差（Ｃ）と、通信車速度の現在からオフセット時間前の過去値と通信車速度の現在からオフセット時間前の時点から更に第２微小時間前の過去値との差（Ｄ）と、の差分の絶対値（｜Ｃ−Ｄ｜）を正規化した第２指標値（ｅ２）以下のときは、通信車である他車が先先行車であり且つ先行車が先先行車に対して追従走行している可能性が高いことが経験的に知られている。従って、この経験的事実を反映させながら通信車である他車が先行車である確率を演算しないと、求めた確率が不正確な値になるおそれがある。
しかし本発明の先行車判定手段は、第１指標値が第２指標値以下のときに、第１指標値が第２指標値より大きいときと比べて前記確率を高めに算出するように構成されている。
従って、本発明の先行車判定手段は、通信車である先先行車の直後に位置する先行車を通信車であると誤判定するおそれを小さくしながら、通信車である他車が先行車である確率を高い精度で算出できる。
【００１１】
上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
本発明の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る車両制御装置を搭載した自車と他車を示す図である。
【図２】自車の車両制御装置が通信車速度、先行車速度及び自車と先行車の相対速度を取得するための処理を示すフローチャートである。
【図３】車両制御装置が通信車を特定するための処理を表すフローチャートである。
【図４】車両制御装置が速度変動量ＳＨｎを算出するための処理を表すフローチャートである。
【図５】ΔＶｆｒと補正係数ｋ１との関係を示すグラフである。
【図６】（ａ）（ｂ）はいずれも通信車速度Ｖｃｂ、先行車速度Ｖｆｒ及び相対速度Ｖｒの時間経過に伴う変化を示すグラフである。
【図７】車両制御装置が非先先行車度ａｐｎを算出するための処理を表すフローチャートである。
【図８】通信車速度Ｖｃｂと先行車速度Ｖｆｒの時間経過に伴う変化を示すグラフである。
【図９】車両制御装置が補正係数ｆｎを求めるために利用するルックアップテーブル（マップ）の一例である。
【図１０】車両制御装置が平均二乗誤差の平均化処理を行うためのフローチャートである。
【図１１】車両制御装置が速度相関関数の平均化処理を実行する前に行う処理を表すフローチャートである。
【図１２】閾値Ｐｔｈの時間経過に伴う変化を表すグラフである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る車両制御装置について図面を参照しながら説明する。先ず、本明細書、図面及び特許請求の範囲等において使用される主たる用語について説明する。
【００１４】
・自車：自己の車両（着目している車両）
・他車：自車以外の車両
・先行車：自車が備えるセンサ（自車レーダセンサ、即ち、相対情報取得手段）により捕捉している自車の直前を走行している他車
・他車通信情報：自車と他車とが無線通信（車車間通信）を行うことにより当該自車が取得する当該他車に関する情報
・通信車：他車通信情報を送信してくる他車
・通信追従対象車：自車と無線通信を行うことにより当該自車が当該無線通信によって得られた他車通信情報に基づいて当該自車の加速度を制御し、以て、当該自車が追従走行すべき先行車
【００１５】
なお、後述するように、本発明の実施形態に係る車両制御装置は、他車の中から通信追従対象車を特定する装置（即ち、通信追従対象車特定装置）を含むと言うことができる。更に、他車は「自車が搭載している車両制御装置」と同様な車両制御装置を備えているとして説明する。
【００１６】
（構成）
図１に示したように、本発明の実施形態に係る車両制御装置は自車１０に搭載される。
【００１７】
自車１０は、車両制御ＥＣＵ２０、エンジン制御ＥＣＵ３０、ブレーキ制御ＥＣＵ４０、ステアリング制御ＥＣＵ５０、センサＥＣＵ６０、ＧＰＳ装置７０及び無線制御ＥＣＵ８０を塔載している。これらのＥＣＵは、通信・センサ系ＣＡＮ（Controller Area Network）１０１を介してデータ交換可能（通信可能）となっている。なお、ＥＣＵは、エレクトリックコントロールユニットの略称であり、ＣＰＵ、ＲＯＭ、ＲＡＭ及びインターフェース等を含むマイクロコンピュータを主要構成部品として有する電子制御回路である。ＣＰＵは、メモリ（ＲＯＭ）に格納されたインストラクションを実行することにより後述する各種機能を実現する。
【００１８】
車両制御ＥＣＵ２０は、後述するセンサ以外の「複数の車両制御用センサ２１」、及び、ＣＡＣＣスイッチ２２、と接続され、これらのセンサ２１及びスイッチ２２からの信号を受け取るようになっている。
【００１９】
ＣＡＣＣスイッチ２２は、自車１０の乗員によって操作されるＯＮ−ＯＦＦスイッチである。ＣＡＣＣスイッチ２２は、その位置がオン位置に設定されると、ＣＡＣＣ要求信号を出力するようになっている。
【００２０】
エンジン制御ＥＣＵ３０は、アクセル操作量センサ３１、及び、その他の複数のエンジン制御用センサ（図示略）と接続され、これらのセンサの検出信号を受け取るようになっている。
【００２１】
アクセル操作量センサ３１は、アクセル操作子としてのアクセルペダル９１の操作量（以下、「アクセル操作量」と称呼する。）ＡＰを検出し、そのアクセル操作量ＡＰを表す信号を出力する。
【００２２】
エンジン制御ＥＣＵ３０は、スロットル弁アクチュエータ及び燃料噴射弁等のエンジンアクチュエータ３２と接続されている。エンジン制御ＥＣＵ３０は、エンジンアクチュエータ３２を駆動することによって、図示しないエンジンが発生するトルクを変更し、自車１０の加速度を調整するようになっている。
【００２３】
ブレーキ制御ＥＣＵ４０は、ブレーキ操作量センサ４１、車速センサ４２、及び、その他の複数の制動制御用センサ（図示略）と接続され、これらのセンサの検出信号を受け取るようになっている。
【００２４】
ブレーキ操作量センサ４１は、ブレーキ操作子としてのブレーキペダル９３の操作量（以下、「ブレーキ操作量」と称呼する。）ＢＰを検出し、そのブレーキ操作量ＢＰを表す信号を出力する。
車速センサ４２は、自車の速度（自車速）Ｖｊを検出し、その自車速Ｖｊを表す信号を出力する。
【００２５】
ブレーキ制御ＥＣＵ４０は、油圧制御装置を含むブレーキアクチュエータ４３と接続されている。ブレーキアクチュエータ４３は、ブレーキペダル９３の踏力によって作動油を加圧するマスタシリンダと、各車輪に設けられる周知のホイールシリンダを含む摩擦ブレーキ装置と、の間の油圧回路（何れも、図示略）に配設される。ブレーキアクチュエータ４３はホイールシリンダに供給する油圧を調整する。ブレーキ制御ＥＣＵ４０は、ブレーキアクチュエータ４３を駆動することにより各車輪に制動力を発生させ、自車１０の加速度（負の加速度、即ち、減速度）を調整するようになっている。
【００２６】
ステアリング制御ＥＣＵ５０は、自車１０の操舵輪の操舵角αを検出する操舵角センサ５１、及び、その他の複数のステアリング制御用センサ（図示略）と接続され、これらのセンサの検出信号を受け取るようになっている。
【００２７】
ステアリング制御ＥＣＵ５０は、図示しない電動式パワーステアリング装置のモータである操舵アクチュエータ５２と接続され、その操舵アクチュエータ５２を駆動するようになっている。
【００２８】
センサＥＣＵ６０は自車レーダセンサ６１と接続されている。自車レーダセンサ６１は、周知のミリ波レーダセンサである。自車レーダセンサ６１は、センサＥＣＵ６０の指示に従って自車１０の前方にミリ波を送信する。そのミリ波は、先行車１１により反射される。自車レーダセンサ６１は、この反射波を受信する。
【００２９】
センサＥＣＵ６０は、自車レーダセンサ６１から送信されたミリ波と受信した反射波との位相差、反射波の減衰レベル及びミリ波を送信してから反射波を受信するまでの時間等に基づいて、相対速度Ｖｒ、車間距離Ｄｒ及び相対方位θｐ等を所定時間の経過毎に演算して取得する。センサＥＣＵ６０は、相対速度Ｖｒ、車間距離Ｄｒ及び相対方位θｐ等をそのＲＡＭに時系列的に格納（記憶）するようになっている。なお、自車レーダセンサ６１及びセンサＥＣＵ６０によって取得される「相対速度Ｖｒ、車間距離Ｄｒ及び相対方位θｐ等を含む情報（データ）」は「自車センサ情報」とも称呼される。
【００３０】
車両制御ＥＣＵ２０は、自車速Ｖｊと相対速度Ｖｒとを加算することにより、先行車１１の先行車速度Ｖｆｒを取得する。換言すると、相対速度Ｖｒは、自車１０の自車速Ｖｊと先行車１１の先行車速度Ｖｆｒとの差（＝Ｖｆｒ−Ｖｊ）である。
車間距離Ｄｒは、自車１０と先行車１１と間の距離である。
相対方位θｐは、自車１０の位置を基準にした自車１０の進行方向に対する先行車１１の進行方向の角度（相対方位）である。
【００３１】
ＧＰＳ装置７０は周知であり、ＧＰＳ衛星から送信されたＧＰＳ信号に基づいて自車１０が走行している位置（自車位置）を所定時間が経過する毎に取得し、取得した位置をそのＲＡＭに時系列的に格納するようになっている。自車１０の位置は、経度Ｘ及び緯度Ｙにより特定される。
【００３２】
無線制御ＥＣＵ８０は、他車との無線通信（車車間通信）を行うための無線アンテナ８１と接続されている。無線制御ＥＣＵ８０は、他車（図１においては他車１１〜１３）から送信されて来る他車に関する情報（以下、「他車通信情報」とも称呼する。）を、その他車通信情報を送信してきた他車を識別するＩＤ（他車ＩＤ）と共に所定時間が経過する毎に受信する。無線制御ＥＣＵ８０は、車車間通信により受信した情報を、他車ＩＤ別に且つ時系列的にそのＲＡＭに格納するようになっている。
【００３３】
他車通信情報は、他車（即ち、通信車）の運転状態を表す下記の情報を含んでいる。
（Ａ）通信車のブレーキ制御ＥＣＵ４０が取得した当該通信車の車速（通信車速度）Ｖｃｂ。
（Ｂ）通信車のＧＰＳ装置７０が取得した当該通信車の位置Ｐｃ。
【００３４】
（Ｃ）通信車の車両制御装置が、後述する「協調追従走行制御（ＣＡＣＣ）及び車間距離制御（ＡＣＣ：Adaptive Cruise Control）」の何れも実行していない場合において、当該通信車の車両制御ＥＣＵ２０が当該通信車の「アクセル操作量ＡＰ及びブレーキ操作量ＢＰ」に基づいて算出した当該通信車の推定加速度である要求加速度Ｇｃ。
（Ｄ）通信車の車両制御装置が「協調追従走行制御及び車間距離制御」の何れかの制御を実行している場合において、その制御を行うために算出している（当該通信車に要求している）加速度である要求加速度Ｇｃ。
（Ｅ）通信車の車速（他車速）Ｖｃｂを当該通信車の車両制御ＥＣＵ２０が時間微分することにより取得している当該通信車の実加速度Ｇａ（＝ｄＶｃｂ／ｄｔ）。
【００３５】
無線制御ＥＣＵ８０は、所定時間が経過する毎に、後続車（自車１０の後方を走行している車両）のために、自車１０についての上記他車通信情報を外部に送信（発信）するようになっている。
【００３６】
（自車１０の基本的な走行制御）
続いて車両制御ＥＣＵ２０による自車１０の基本的な走行制御方法について説明する。
【００３７】
自車１０のＣＡＣＣスイッチ２２がオフ位置にある場合、自車１０の走行モードは通常走行モード（非自動運転モード）になる。通常走行モードにおいて、エンジン制御ＥＣＵ３０はアクセルペダル操作量ＡＰに応じてエンジンアクチュエータ３２を制御し、ブレーキ制御ＥＣＵ４０はブレーキ操作量ＢＰに基づいてブレーキアクチュエータ４３を制御する。従って、自車１０は運転者の運転操作に従って走行する。
【００３８】
自車１０の乗員がＣＡＣＣスイッチ２２をオン位置に位置変更すると、自車１０の走行モードは自動運転モードになる。自動運転モードにおいて、自車１０の車両制御ＥＣＵ２０は先行車１１を通信追従対象車（通信先行車）として特定したときに、その先行車１１に協調しながら追従して走行する。
【００３９】
より具体的に述べると、自車センサ６１及びセンサＥＣＵ６０は、自車センサ情報（自車１０と先行車１１との「相対速度Ｖｒ及び車間距離Ｄｒ」等）を所定の周期で取得し、自車センサ情報を車両制御ＥＣＵ２０へ送信する。
【００４０】
さらに車両制御ＥＣＵ２０は車速センサ４２からの信号に基づいて自車１０の自車速Ｖｊを取得（算出）し、自車１０と先行車１１との車間時間（＝車間距離Ｄｒ／自車速Ｖｊ）Ｔｊを算出する。
【００４１】
さらに車両制御ＥＣＵ２０は、算出された車間時間Ｔｊと所定の目標車間時間Ｔｔｇｔとの差をゼロにするための加速度である目標加速度を車間時間Ｔｊと所定の目標車間時間Ｔｔｇｔとに基づいてＦＢ要求Ｇ（フィードバック要求加速度）として算出する。目標車間時間Ｔｔｇｔは、目標車間距離Ｄｒｔｇｔを自車速度Ｖｊにより除した値である。従って、車両制御ＥＣＵ２０は、車間距離Ｄｒと目標車間車間距離Ｄｒｔｇｔとの差をゼロにするためのＦＢ要求Ｇを算出する。より具体的に述べると、車間距離Ｌが目標車間車間距離Ｌｔｇｔより長ければ加速が必要であるので、ＦＢ要求Ｇが所定の正の値だけ増大させられる。逆に、車間距離Ｌが目標車間車間距離Ｌｔｇｔより短ければ減速が必要であるので、ＦＢ要求Ｇが所定の正の値だけ減少させられる。なお、目標車間距離Ｄｒｔｇｔは、一定値であってもよいし、図示しない設定スイッチにより自車１０の乗員により選択される可変値であってもよい。
【００４２】
さらに車両制御ＥＣＵ２０は、無線制御ＥＣＵ８０及び無線アンテナ８１を用いて受信した「通信車からの要求加速度Ｇｃ及び通信車の実加速度Ｇａ」を取得し、要求加速度Ｇｃ及び実加速度Ｇａに基づいてＦＦ要求Ｇ（フィードフォワード要求加速度）を算出する。より具体的に述べると、本例において、車両制御ＥＣＵ２０は、要求加速度Ｇｃに対してハイパスフィルタ処理を施した値と、実加速度Ｇａにローパスフィルタ処理した値と、の和に基づいてＦＦ要求Ｇを算出する。
【００４３】
そして車両制御ＥＣＵ１６は、ＦＢ要求ＧとＦＦ要求Ｇとの和を、最終的に自車１０に要求される目標加速度（即ち、ＣＡＣＣ要求Ｇ）として算出する。なお、車両制御ＥＣＵ１６は、ＦＦ要求Ｇ及びＦＢ要求Ｇの加重平均値を目標加速度Ｇｔｇｔとして算出してもよい。
【００４４】
さらに車両制御ＥＣＵ２０は、算出したＣＡＣＣ要求Ｇに基づく要求指令信号を、エンジン制御ＥＣＵ３０及びブレーキ制御ＥＣＵ４０にＣＡＮ１０１を介して送信する。エンジン制御ＥＣＵ３０及びブレーキ制御ＥＣＵ４０は、要求指令信号を受信すると、その要求指令信号に応じてエンジンアクチュエータ３２及びブレーキアクチュエータ４３をそれぞれ制御する。この結果、自車１０の加速度がＣＡＣＣ要求Ｇに一致するように制御される。以上が、ＣＡＣＣ制御における基本的作動である。
【００４５】
また、車両制御ＥＣＵ２０が先行車１１を通信追従対象車（通信車）として特定しないときは、車両制御ＥＣＵ２０はＦＢ要求Ｇのみに基づく制御であるＡＣＣ制御（Adaptive Cruise Control）に基づいて自車１０を制御する。
【００４６】
（通信追従対象車の特定）
上述のように自車１０は先行車１１が通信車である場合にのみ、先行車１１を通信追従対象車とするＣＡＣＣ制御を実行可能である。換言すると、通信車が先行車１１以外の他車の場合には、自車１０はＣＡＣＣ制御を実行できない。そのため自車１０は、以下の方法によって通信車が先行車１１か否かを判定する。
【００４７】
自車１０の車両制御ＥＣＵ２０のＣＰＵ（以下、単にＣＰＵと表現する）は、図２及び図３のフローチャートに従って、複数の他車の中から先行車１１を特定する。
【００４８】
まず図２のフローチャートの処理について説明する。自車１０のＣＡＣＣスイッチ２２がオン位置にある場合、自車１０のＣＰＵは所定時間（例えば数ｍｓｅｃ）おきに図２のフローチャートに示したルーチンを繰り返し実行する。
【００４９】
自車１０はステップ２０１において、無線制御ＥＣＵ８０及び無線アンテナ８１を利用して、通信車である他車１１〜１３から他車通信情報を取得する。この他車通信情報には、各他車１１〜１３の通信車速度Ｖｃｂ等が含まれる。
【００５０】
続いて自車１０はステップ２０２において、自車センサ６１及びセンサＥＣＵ６０を利用して自車センサ情報を取得する。この自車センサ情報には、先行車１１の相対速度Ｖｒ及び自車１０と先行車１１の車間距離Ｄｒ等が含まれる。さらにＣＰＵはステップ２０２において、自車速Ｖｊと相対速度Ｖｒとを加算することにより先行車速度Ｖｆｒを算出する。
【００５１】
続いて自車１０はステップ２０３において、通信車速度Ｖｃｂ、相対速度Ｖｒ及び先行車速度Ｖｆｒを車両制御ＥＣＵ２０のＲＡＭのバッファメモリに記憶させる。
【００５２】
さらにＣＰＵはステップ２０４に進んで、バッファメモリに記憶された通信車速度Ｖｃｂを補正する。具体的には、下記の式を用いて速度バイアス（Ｖｂ（ｔ））を演算し、バッファメモリに記憶させた通信車速度Ｖｃｂから速度バイアス（Ｖｂ（ｔ））を差し引く。なお、この速度バイアスは、車速センサ４２の信号に基づいて算出された自車速Ｖｊと、実際の（真の）自車速との間の定常的な誤差である。この誤差は、自車１０のタイヤ径などの設計値からの偏差により生じる。
Ｖｂ（ｔ）＝ｋ×{Ｖｃｂ（ｔ−ｄｔ）−Ｖｆｒ（ｔ−ｄｔ）}＋（１−ｋ）×Ｖｂ（ｔ−ｄｔ）
ｋ：フィルタ係数
ｄｔ：演算周期
ｔ：現在時刻
以下、このようにして補正された通信車速度を通信車速度（バイアス補正後通信車速度）Ｖｃと表記する。
【００５３】
続いて図３のフローチャートについて説明する。自車１０のＣＡＣＣスイッチ２２がオン位置にある場合、自車１０のＣＰＵは所定時間（例えば数ｍｓｅｃ）おきに図３のフローチャートに示したルーチンを繰り返し実行する。
このフローチャートの詳細な説明は後述することにし、まずはこのフローチャートの基本的な技術思想の概略を説明する。
【００５４】
ＣＰＵはステップ３０６、３０９、３１２において、図２のフローチャートの処理中に取得した通信車速度Ｖｃ及び先行車速度Ｖｆｒに基づいて、平均二乗誤差の平均値Ｈ２Ｅに基づく類似度ｇ１ｎ、速度平均乖離度ｅ１の平均値Ｈｅ１に基づく類似度ｇ２ｎ及び速度相関係数ｃｏｅｆの平均値Ｈｃｆに基づく類似度ｇ３ｎを算出する。
これらの類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎはいずれも、先行車１１と通信車の類似度、即ち、通信車が先行車１１である可能性を表す数値である。なおｎは１〜３の数である。即ち、類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎはそれぞれ三種類ずつ算出される。類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎの大きさはいずれも０以上且つ１以下である。
【００５５】
上述したように従来例では、求めた類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎどうしを掛け合わすことにより最終先行車確率を求めていた。即ち、通信車速度Ｖｃ及び先行車速度Ｖｆｒの一定時間当たりの変化量を考慮せずに最終先行車確率を求めていた。
しかし、このようにして算出した最終先行車確率は、特に、先行車が略一定の速度で走行している場合に先行車以外の通信車が同様に実質的に同じ一定速度で走行していると、その先行車以外の通信車と先行車との間の速度の類似度が高くなり、よって、最終先行車確率の信用度が低くなる。つまり、先行車以外の通信車を先行車であると誤認識する可能性が高くなってしまう。
【００５６】
そのため本実施形態では、図３のフローチャートのステップ３０１乃至３０３において、通信車速度Ｖｃ、相対速度Ｖｒ及び先行車速度Ｖｆｒの変動量に基づいて補正係数（先行車確率の補正係数）ｆｎを算出する。より具体的には、ステップ３０１、３０２において自車１０、先行車１１及び通信車の速度変化量ＳＨｎ（以下、単に「速度変動量ＳＨｎ」と称呼する）及び通信車の非先先行車度（先先行車らしくなさ）ａｐｎ（以下、単に「非先先行車度」と称呼する）を算出する。そして、速度変動量ＳＨｎ及び非先先行車度ａｐｎに基づいて、ステップ３０３において補正係数ｆｎを算出する。類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎと同様に、補正係数ｆｎも三種類（ｆ１、ｆ２、ｆ３）算出される。
この補正係数ｆｎは、通信車速度Ｖｃ、相対速度Ｖｒ及び先行車速度Ｖｆｒの変動量が最終先行車確率Ｐｎに及ぼす影響を踏まえて演算された数値であり、その大きさはいずれも０以上且つ１以下である。補正係数ｆｎは、基本的には、速度変動量ＳＨｎが大きいほど「１」に近づき、非先先行車度ａｐｎが大きいほど「１」に近づくように算出される。
【００５７】
ＣＰＵは、ステップ３１３において類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎ及び補正係数ｆｎのｎの値が同じものどうしを掛け合わせて最終先行車確率Ｐｎ（＝Ｐ１、Ｐ２、Ｐ３）を算出する。さらにＣＰＵは、求めた最終先行車確率Ｐｎの中で最も値が大きいものが所定の閾値Ｐｔｈを超えた場合に「その最終先行車確率Ｐｎの基礎となる類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎ及び補正係数ｆｎの元データ（通信車速度Ｖｃｂ等）を含む他車通信情報を送信してきた通信車が先行車１１である」と判定する。なお、最終先行車確率Ｐｎは０以上且つ１以下の数値であり、「１」に近いほど「通信車が先行車１１である確率が高い」ことを表し、「０」に近いほど「通信車が先行車１１である確率が低い」ことを表す。
【００５８】
このように、類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎのみならず補正係数ｆｎをも考慮した上でＣＰＵが算出した最終先行車確率Ｐｎの信用度は高い。換言すると、この最終先行車確率Ｐｎは類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎのみに基づいて算出された最終先行車確率に比べて、通信車が先行車１１である確率をより正確に表している。
従って、補正係数ｆｎを利用して求めた最終先行車確率Ｐｎと閾値Ｐｔｈに基づいてＣＰＵが「通信車が先行車１１である」と判定した場合は、その先行車１１が実際に通信車である確率は高くなる。
【００５９】
続いて図３のフローチャートの処理内容を具体的に説明する。
【００６０】
ＣＰＵはステップ３０１において速度変動量ＳＨｎを算出する。
ステップ３０１の処理は、図４のフローチャートに従って行われる。
自車１０のＣＡＣＣスイッチ２２がオン位置にある場合、自車１０のＣＰＵは所定時間（例えば数ｍｓｅｃ）おきに図４のフローチャートに示したルーチンを繰り返し実行する。
【００６１】
まずＣＰＵはステップ４０１において、自動運転モードになってから現時点までの間にバッファメモリに記憶された全ての先行車速度Ｖｆｒ、相対速度Ｖｒ及び対象としている（即ち、着目している）通信車の速度Ｖｃの中から、それぞれの「最大値Ｖｆｒｍａｘ、Ｖｒｍａｘ及びＶｃｍａｘ」と「最小値Ｖｆｒｍｉｎ、Ｖｒｍｉｎ及びＶｃｍｉｎ｝を選択する。
【００６２】
さらにＣＰＵはステップ４０２に進んで、最大値Ｖｆｒｍａｘ、Ｖｒｍａｘ及びＶｃｍａｘと最小値Ｖｆｒｍｉｎ、Ｖｒｍｉｎ及びＶｃｍｉｎとに基づいて、先行車速度の変動量ΔＶｆｒ＝Ｖｆｒｍａｘ−Ｖｆｒｍｉｎ、通信車速度の変動量ΔＶｃ＝Ｖｃｍａｘ−Ｖｃｍｉｎ及び相対速度の変動量ΔＶｒ＝Ｖｒｍａｘ−Ｖｒｍｉｎをそれぞれ算出する。
【００６３】
さらにＣＰＵはステップ４０３に進んで、ΔＶｆｒ×ｋ１（ΔＶｆｒ）＜ΔＶｃが成立しているか否かを判定する。後述するように、値ｋ１（ΔＶｆｒ）は補正係数であり、図５に示したルックアップテーブルに従って先行車速度の変動量ΔＶｆｒに基づき求められる値である。
仮に対象としている通信車が先行車１１の直前に位置する先先行車（図示略）であり且つ非通信車である先行車１１が先先行車に追従すべくＡＣＣ制御を行っているとき、先先行車（通信車）のΔＶｃがΔＶｆｒより大きくなり易いことが、経験的な事実として知られている。これは、例えば、先先行車が加速した後に先行車が加速し始めるからである。
即ち、ΔＶｆｒ×ｋ１（ΔＶｆｒ）＜ΔＶｃが成立している場合は、通信車が先行車１１である可能性よりも、通信車が先先行車である可能性の方が高いと推測できる。
【００６４】
但し、ΔＶｆｒが大きい場合は、ＣＰＵが非通信車である先行車を通信車であると誤認するおそれは小さいことが経験的に知られている。そのため、ステップ４０３ではΔＶｆｒとΔＶｃとを直接比較するのではなく、ΔＶｆｒの大きさに応じて決まる補正係数ｋ１をΔＶｆｒに乗じて、この乗じた値とΔＶｃとの大小関係を比較する。
図５に示すように、ΔＶｆｒが０から所定の大きさであるΔＶｆｒ１の間の大きさのときはｋ１＝１である。しかしΔＶｆｒがΔＶｆｒ１を超えるとｋ１は徐々に大きくなり、ΔＶｆｒが所定の大きさであるΔＶｆｒ２を超えるとｋ１は１より大きい一定値となる。
従って図４のフローチャートでは、ΔＶｆｒが所定の大きさであるΔＶｆｒ１を超えた場合は、超えない場合と比べて通信車が先行車１１であると判定される可能性が高くなる。
【００６５】
ＣＰＵがステップ４０３でＹＥＳと判定した場合、換言するとΔＶｆｒ及びΔＶｃの値に基づいて「通信車が先先行車らしい」と判定した場合は、ＣＰＵはステップ４０４へ進む。そしてＣＰＵは、「通信車が先先行車らしい」度合を表す値であるΔＶｃｉｎｖ＝ΔＶｃ−ΔＶｆｒ×ｋ１（ΔＶｆｒ）を算出する。
【００６６】
後述するステップ４１４に示したように、図４のフローチャートは最終的に速度変動量ＳＨｎを算出する。さらに後述するように、速度変動量ＳＨｎの値が大きくなるほど補正係数ｆｎの値は大きくなる。換言すると、速度変動量ＳＨｎの値が大きくなるほど、ＣＰＵが「通信車が先行車１１である」と判定する可能性が高くなる。
そしてΔＶｃｉｎｖは（後述するステップ４１３でΔＶｉｎｖとして選択された場合は）、ステップ４１４において速度変動量ＳＨｎの値を小さくするために利用される。換言するとΔＶｃｉｎｖは、ＣＰＵが「通信車が先行車１１である」と判定する可能性を低くするために利用される。そのため、ステップ４０４で求めたΔＶｃｉｎｖの値が大きくなればなるほど、ＣＰＵが「通信車が先行車１１である」と判定する可能性が低くなる。
【００６７】
一方、ＣＰＵがステップ４０３でＮＯと判定した場合、換言すると「通信車が先先行車らしいとは言えない」と判定した場合は、ＣＰＵはステップ４０５へ進んでΔＶｃｉｎｖを「０（ゼロ）」に設定する。
上述の説明から明らかなように、ΔＶｃｉｎｖが０に設定された場合（且つΔＶｃｉｎｖがステップ４１３でΔＶｉｎｖとして選択される場合）、ＣＰＵはステップ４１４において速度変動量ＳＨｎの値を大きめに算出する。即ち、ＣＰＵが「通信車が先行車１１である」と判定する可能性が高くなる。
【００６８】
ステップ４０４又は４０５の処理を終えたＣＰＵは、続いてステップ４０６へ進む。
ＣＰＵはステップ４０６において、ｄＶｒｍａｘ／ｄｔ＞０（今回のステップ４０６処理時のＶｒｍａｘが前回のステップ４０６処理時のＶｒｍａｘより大きければ、ｄＶｒｍａｘ／ｄｔ＞０となる。逆に、今回のステップ４０６処理時のＶｒｍａｘが前回のステップ４０６処理時のＶｒｍａｘ以下であれば、ｄＶｒｍａｘ／ｄｔ＞０とはならない。）、ｄＶｆｒ／ｄｔ＞０及びｄＶｃ／ｄｔ＜０の全てが成立しているか否かを判定する。
先行車１１が加速し且つ自車１０の速度が殆ど変化しない場合にｄＶｒｍａｘ／ｄｔ＞０及びｄＶｆｒ／ｄｔ＞０が成立する。その一方で、通信車が減速している場合にｄＶｃ／ｄｔ＜０が成立する。即ち、ｄＶｒｍａｘ／ｄｔ＞０、ｄＶｆｒ／ｄｔ＞０及びｄＶｃ／ｄｔ＜０の全てが成立するときは、先行車１１の加速度の符号（プラスとマイナス）と通信車の加速度の符号とが互いに異なる。
そのため、ｄＶｒｍａｘ／ｄｔ＞０、ｄＶｆｒ／ｄｔ＞０及びｄＶｃ／ｄｔ＜０の全てが成立する場合は、「通信車は先行車１１らしくない」と推測できる。
【００６９】
ＣＰＵはステップ４０６でＮＯと判定した場合、ステップ４０７へ進んでｄＶｒｍａｘ／ｄｔ＜０、ｄＶｆｒ／ｄｔ＜０及びｄＶｃ／ｄｔ＞０の全てが成立しているか否かを判定する。
先行車１１が減速し且つ自車１０の速度が殆ど変化しない場合にｄＶｒｍａｘ／ｄｔ＜０及びｄＶｆｒ／ｄｔ＜０が成立する。その一方で、通信車が加速している場合にｄＶｃ／ｄｔ＞０が成立する。即ち、ｄＶｒｍａｘ／ｄｔ＜０、ｄＶｆｒ／ｄｔ＜０及びｄＶｃ／ｄｔ＞０の全てが成立するときは、先行車１１の加速度の符号と通信車の加速度の符号とが互いに異なる。
そのため、ｄＶｒｍａｘ／ｄｔ＜０、ｄＶｆｒ／ｄｔ＜０及びｄＶｃ／ｄｔ＞０の全てが成立する場合も、「通信車は先行車１１らしくない」と推測できる。
【００７０】
図６（ａ）、（ｂ）は、ステップ４０６、４０７で想定している先行車速度Ｖｆｒ、相対速度Ｖｒ及び通信車速度Ｖｃの時間経過に伴う変化を表している。図示するように図６（ａ）と図６（ｂ）の時刻０から時刻ｔａまでの先行車速度Ｖｆｒ、相対速度Ｖｒ及び通信車速度Ｖｃの変化態様は互いに同一である。その一方で、時刻ｔａを経過すると、「先行車速度Ｖｆｒ及び相対速度Ｖｒ」と「通信車速度Ｖｃ」とは、互いに異なる態様で変化する。
【００７１】
図６（ａ）、（ｂ）のグラフの時刻ｔａ以前の時刻においては、ｄＶｒｍａｘ／ｄｔ＞０、ｄＶｆｒ／ｄｔ＞０及びｄＶｃ／ｄｔ＞０となっている。即ち、時刻ｔａ以前の時刻においてＣＰＵがステップ４０６の処理を行うとき、そのステップ４０６にてＮＯと判定してステップ４０７へ進む。さらに図６（ａ）、（ｂ）の時刻ｔａ以前の時刻においてＣＰＵがステップ４０７の処理を行うと、そのステップ４０７にてＮＯと判定してステップ４０９へ進む。
【００７２】
その一方で、図６（ａ）のグラフでは時刻ｔａが経過すると、ｄＶｒｍａｘ／ｄｔ＞０、ｄＶｆｒ／ｄｔ＞０及びｄＶｃ／ｄｔ＜０となる。従って、先行車速度Ｖｆｒ、相対速度Ｖｒ及び通信車速度Ｖｃが図６（ａ）のように変化する場合に時刻ｔａを経過した時刻においてＣＰＵがステップ４０６の処理を行うとき、ＣＰＵはＹＥＳと判定してステップ４０８へ進む。
また図６（ｂ）のグラフでは時刻ｔａが経過すると、ｄＶｒｍａｘ／ｄｔ＜０、ｄＶｆｒ／ｄｔ＜０及びｄＶｃ／ｄｔ＞０となる。従って、先行車速度Ｖｆｒ、相対速度Ｖｒ及び通信車速度Ｖｃが図６（ｂ）のように変化する場合に時刻ｔａを経過した時刻においてＣＰＵがステップ４０７の処理を行うとき、ＣＰＵはＹＥＳと判定してステップ４０８へ進む。
【００７３】
ＣＰＵはステップ４０９へ進んだときに「無効カウンタ」を初期化する（即ち「０」にする）。
この無効カウンタとは、ステップ４０６、４０７の判定結果に基づいて算出される「対象としている通信車が先行車１１らしくない」度合を表すものであり、その数値が大きくなればなるほど「対象としている通信車が先行車１１らしくない」度合が高くなる。
さらにＣＰＵはステップ４０９においてΔＶｒｂａｓｅとして現時点におけるΔＶｒを設定する。即ち、図６（ａ）、（ｂ）のグラフの時刻ｔａ以前の現在時刻におけるΔＶｒをΔＶｒｂａｓｅとして設定する。
なお、後述するようにこのΔＶｒｂａｓｅは、ステップ４１１においてΔＶｒｉｎｖを求めるための値である。
【００７４】
一方、ＣＰＵがステップ４０８へ進んだ場合は「無効カウンタ」に「１」を加算する。
さらにＣＰＵはステップ４０８において、ΔＶｒｂａｓｅとして前回の図４のフローチャート処理時のステップ４０９又はステップ４０８で求めたΔＶｒｂａｓｅである前回値を保持する。ここで、例えば今回のステップ４０８の処理時刻が図６（ａ）、（ｂ）のグラフの時刻ｔｂであり且つ前回の処理時が時刻ｔａの場合は、ΔＶｒｂａｓｅの前回値は時刻ｔａにおけるΔＶｒとなる。また、例えば今回のステップ４０８の処理時刻が図６（ａ）、（ｂ）のグラフの時刻ｔｃであり且つ前回の処理時が時刻ｔｂの場合は、ΔＶｒｂａｓｅの前回値は時刻ｔｂにおけるΔＶｒｂａｓｅ、即ち時刻ｔａにおけるΔＶｒとなる。即ち、ステップ４０８にて設定されるΔＶｒｂａｓｅは、時刻ｔａ以前にステップ４０９で最後に取得されたΔＶｒとなる。
【００７５】
ステップ４０８又は４０９を経たＣＰＵは、続いてステップ４１０へ進んで、無効カウンタ数が所定の閾値ｉｎｖを超えたか否かを判定する。
ＣＰＵが閾値ｉｎｖを超えたと判断した場合、即ち、「通信車が先行車１１らしくない」可能性がある程度の高さで推測できると判断した場合は、ＣＰＵはステップ４１０でＹＥＳと判定してステップ４１１へ進む。
【００７６】
ＣＰＵはステップ４１１において、現時点でのΔＶｒからステップ４０９又は４０８で求めたΔＶｒｂａｓｅを引いた値をΔＶｒｉｎｖとして算出する。
このΔＶｒｉｎｖはΔＶｃｉｎｖと同様に（後述するステップ４１３でΔＶｉｎｖとして選択された場合に）、ステップ４１４において速度変動量ＳＨｎの値を小さくするために利用される。そのため、ΔＶｒｉｎｖの値が大きくなればなるほど、ＣＰＵは最終的にステップ４１４において速度変動量ＳＨｎの値を小さめに算出することになる。
【００７７】
例えば、図６（ａ）、（ｂ）における時刻ｔａ以前にＣＰＵがステップ４０６、４０７の処理を行ったときに、ＣＰＵはステップ４０９を経てからステップ４１０へ進み、さらにステップ４１０でＮＯと判定する。
上述したように、この場合は先行車速度Ｖｆｒと通信車速度Ｖｃの加速度の符号が同じである。即ち、実際に通信車が先行車１１である可能性が十分に考えられるため、ステップ４１４において速度変動量ＳＨｎの値を小さくする必要がない。
そのため、この場合はＣＰＵはステップ４１２に進んでΔＶｒｉｎｖを０にする。
【００７８】
一方、図６（ａ）、（ｂ）における時刻ｔａを経過した後にＣＰＵがステップ４０６、４０７の処理を行ったときに、ＣＰＵはステップ４０８を経てからステップ４１０へ進む。この場合はＣＰＵがステップ４１０でＹＥＳと判定する可能性があり、ＹＥＳと判定した場合はＣＰＵはステップ４１１へ進む。
上述したように、この場合は先行車速度Ｖｆｒと通信車速度Ｖｃの加速度の符号が互いに異なる。即ち、「通信車が先行車１１らしくない」可能性がある程度の高さで推測できるため、ステップ４１４において速度変動量ＳＨｎの値を小さくする必要がある。
そのため、この場合はΔＶｒｉｎｖをゼロにしない。即ち、ＣＰＵはステップ４１１においてΔＶｒｉｎｖ＝ΔＶｒ−ΔＶｒｂａｓｅを算出する。
【００７９】
しかし、仮に時刻ｔａを経過した後に取得された現時点でのΔＶｒをステップ４１１においてそのままΔＶｒｂａｓｅとして用いると、ΔＶｒｉｎｖがゼロになってしまう。即ち、「通信車が先行車１１らしくない」可能性がある程度の高さで推測できる状況にあるにも拘わらず、ＣＰＵが通信車を先行車１１であると判断し易くなってしまう。そのため、この場合はΔＶｒｂａｓｅとして現時点でのΔＶｒを利用すべきでない。
その一方で、時刻ｔａ以前の状況では「通信車が先行車１１らしい」可能性がある程度推測できる（即ち、通信車が先行車１１らしくない可能性が高いとは言えない）ため、この時間帯に取得されたΔＶｒをΔＶｒｂａｓｅとして現時点でのΔＶｒから差し引いてΔＶｒｉｎｖを算出する。このようにしてΔＶｒｉｎｖを算出すると、ΔＶｒｂａｓｅ＝０のときよりも、ステップ４１１で「通信車が先行車１１である」と判定される可能性が高くなる。しかし、このΔＶｒは「通信車が先行車１１らしい」可能性がある程度推測できる時間帯のΔＶｒなので、このΔＶｒｉｎｖを用いて算出した通信車が先行車１１であるか否かの判定結果が、現実と大きく乖離するおそれは小さいと考えられる。
そのため、この場合のステップ４１１では、時刻ｔａ以前の時間帯にステップ４０９で最後に取得されたΔＶｒをΔＶｒｂａｓｅとした上でＶｒｉｎｖ＝ΔＶｒ−ΔＶｒｂａｓｅを取得する。
【００８０】
ステップ４１１又はステップ４１２の処理を終えたＣＰＵはステップ４１３へ進んで、直前のステップ４０４のΔＶｃｉｎｖと、直前のステップ４１１のΔＶｒｉｎｖと、前回のステップ４１３の処理時におけるΔＶｉｎｖと、の中で最も数値が大きいものをΔＶｉｎｖとして選択する。
このΔＶｉｎｖは、ステップ４１４において速度変動量ＳＨｎの値を小さくするために利用される。
ステップ４１３で最も数値が大きいものを選ぶ理由は、ΔＶｉｎｖを大きな値とすることにより、ステップ４１４で求められる速度変動量ＳＨｎをできるだけ小さくするためである。換言すると、最終的にＣＰＵが「通信車が先行車１１である」と誤判定する可能性を低くするためである。
【００８１】
さらにＣＰＵはステップ４１４へ進んで、ΔＶｆｒ、ΔＶｒ及びΔＶｃの中の最小値からΔＶｒｉｎｖを引いた値を速度変動量ＳＨｎとして算出する。従って、ΔＶｆｒ、ΔＶｒ及びΔＶｃの値が大きいほど速度変動量ＳＨｎは大きくなり、ΔＶｒｉｎｖの値が大きいほど速度変動量ＳＨｎは小さくなる。
ステップ４１４でΔＶｆｒ、ΔＶｒ及びΔＶｃの中から最も数値が小さいものを選ぶ理由は、最終的に算出される速度変動量ＳＨｎをできるだけ小さくするためである。換言すると、最終的にＣＰＵが「通信車が先行車１１である」と誤判定する可能性を低くするためである。
【００８２】
さらに、仮に自車１０の直後に位置する後続車（図示略）が自車１０と無線通信を行うことによりＣＡＣＣ制御を実行し且つ非通信車である先行車１１と自車１０のΔＶｒが小さい場合は、先行車１１と後続車の速度がほぼ一致してしまう。この状況では、自車１０のＣＰＵが先行車１１と後続車を識別するのが難しくなる。そのため、このような状況ではＣＰＵが、通信車（即ち、後続車）が先行車１１であると誤判定するリスクが高くなる。その一方で、後続車が自車１０と通信を行うことによりＣＡＣＣ制御を実行する場合においても、自車１０と先行車１１のΔＶｒが大きいときは、先行車１１と後続車の速度は一致し難い。そのため、ΔＶｒが大きいときは、自車１０のＣＰＵは先行車１１と後続車を容易に識別できる。従って、このような状況においては、ＣＰＵが通信車（即ち、後続車）を先行車１１であると誤判定するリスクは低くなる。
図４のフローチャートではステップ４１４においてΔＶｒが速度変動量ＳＨｎの算出要素となっている。そのため、ΔＶｒが小さい場合、即ちＣＰＵが先行車１１と後続車を識別し難い場合は、ステップ４１４で算出される速度変動量ＳＨｎの値は小さくなり易い。その一方で、ΔＶｒが大きい場合、即ちＣＰＵが先行車１１と後続車を容易に識別できる場合は、ステップ４１４で算出される速度変動量ＳＨｎの値は大きくなり易い。
このようにステップ４１４においてΔＶｒを速度変動量ＳＨｎの算出要素とすることにより、ΔＶｒの大小に起因する先行車１１と後続車の識別の困難度を速度変動量ＳＨｎの算出値に反映させている。従って、「通信車が後続車ではなく先行車１１である」とＣＰＵが誤判定するおそれを小さくできる。
【００８３】
前述したように、ステップ４１４（ステップ３０１）で求めた速度変動量ＳＨｎが大きくなるほど、補正係数ｆｎの値が大きくなる（「１」に近づく。）。換言すると、速度変動量ＳＨｎの値が大きくなるほど、最終的に「対象としている通信車が先行車１１である」と判定される可能性が高くなる。
逆に、速度変動量ＳＨｎが小さくなるほど、補正係数ｆｎの値が小さくなる（「０」に近づく。）。換言すると、速度変動量ＳＨｎの値が小さくなるほど、最終的に「対象としている通信車が先行車１１である」と判定される可能性が低くなる。
【００８４】
図３のステップ３０１（図４のステップ４０１乃至４１４）の処理を終えたＣＰＵは、続いてステップ３０２へ進んで非先先行車度ａｐｎを算出する。
ステップ３０２の処理は図７のフローチャートに従って行われる。
【００８５】
自車１０のＣＡＣＣスイッチ２２がオン位置にある場合、自車１０のＣＰＵは所定時間（例えば数ｍｓｅｃ）おきに図７のフローチャートに示したルーチンを繰り返し実行する。
【００８６】
ＣＰＵはステップ７０１において、ｅ１（第１指標値）＝｜ｄＶｃ−ｄＶｆｒ｜／ｍｉｎ（｜ｄＶｃ｜、｜ｄＶｆｒ｜）を演算する。さらにＣＰＵは、算出したｅ１をバッファメモリに記憶させる。
ここで、ｄＶｃ、ｄＶｆｒは以下のように定義される。
ｄＶｃ：現在の時刻ｔから微小時間ｔ１だけ前の時刻（第１時刻＝ｔ−ｔ１）から現在の時刻までの間の通信車速度Ｖｃの変化量（＝Ｖｃ（ｔ）−Ｖｃ（ｔ−ｔ１）、図８のグラフを参照）。
ｄＶｆｒ：現在の時刻ｔから微小時間ｔ１だけ前の時刻（第１時刻＝ｔ−ｔ１）から現在の時刻までの間の先行車速度Ｖｆｒの変化量（＝Ｖｆｒ（ｔ）−Ｖｆｒ（ｔ−ｔ１）、図８のグラフを参照）。
【００８７】
このｅ１は先行車１１と通信車の速度変化の乖離度（以下、単に「速度変化の乖離度」と称する）を示している。
仮に通信車が先先行車であり且つ先行車１１が先先行車に追従走行する場合は、同じ時間帯における通信車速度ＶｃのｄＶｃと先行車速度ＶｆｒのｄＶｆｒとの間に差が生じることが経験的に知られている。従って、速度変化の乖離度ｅ１の値が大きいほど、換言すると｜ｄＶｃ−ｄＶｆｒ｜の値が大きいほど、「通信車が先先行車らしい（即ち、通信車が先行車１１らしくない）」と推測できる。その一方で、速度変化の乖離度ｅ１の値が小さいほど、換言すると｜ｄＶｃ−ｄＶｆｒ｜が小さいほど、「通信車が先先行車らしくない（即ち、通信車が先行車１１らしい）」と推測できる。なお、ｍｉｎ（｜ｄＶｃ｜、｜ｄＶｆｒ｜）は｜ｄＶｃ｜と｜ｄＶｆｒ｜のうちの小さい方の値であり、速度変化の乖離度ｅ１を正規化するための値である。
【００８８】
続いてＣＰＵはステップ７０２へ進んで、ｅ２（第２指標値）＝｜ｄＶｃ’−ｄＶｆｒ’｜／ｍｉｎ（｜ｄＶｃ’｜、｜ｄＶｆｒ’｜）を演算する。さらにＣＰＵは、算出したｅ２をバッファメモリに記憶させる。
ここで、ｄＶｃ’、ｄＶｆｒ’は以下のように定義される。
ｄＶｃ’：現在の時刻ｔからオフセット時間ｔoffだけ前の時刻から更に微小時間ｔ２前の時刻（第２時刻＝ｔ−ｔoff−ｔ２）から、現在の時刻ｔからオフセット時間ｔoffだけ前の時刻（＝ｔ−ｔoff）までの間の通信車速度Ｖｃの変化量（＝Ｖｃ（ｔ−ｔoff）−Ｖｃ（ｔ−ｔoff−ｔ２）、図８のグラフを参照）。
ｄＶｆｒ’：現在の時刻ｔから微小時間ｔ２前の時刻（＝ｔ−ｔ２）から、現在の時刻ｔまでの間の先行車速度Ｖｆｒの変化量（＝Ｖｆｒ（ｔ）−Ｖｆｒ（ｔ−ｔ２）、図８のグラフを参照）。
なお、この微小時間ｔ２は微小時間ｔ１と異なる長さであってもよいし、同じ長さであってもよい。また、オフセット時間ｔoffは、先先行車が通信車であり且つ先行車が先先行車にＡＣＣ制御により追従している非通信車である場合に、通信車速度（先先行車速度）Ｖｃが変化してから先行車速度Ｖｆｒが変化し始めるまでの遅れ時間（例えば、０．５〜２ｓ）であり、実験的に定められる値である。
【００８９】
このｅ２も先行車１１と通信車の速度変化の乖離度（以下、単に「速度変化の乖離度」と称する）を示している。
仮に通信車が先先行車であり且つ先行車１１が先先行車に追従走行する場合は、ある時間帯において通信車速度ＶｃがｄＶｃ’だけ変化すると、それからオフセット時間ｔoffだけ経過した後に、先行車速度ＶｆｒがｄＶｃ’と（ほぼ）同じだけ変化することが経験的に知られている。従って、速度変化の乖離度ｅ２の値が小さいほど、換言すると｜ｄＶｃ’−ｄＶｆｒ’｜がゼロに近づくほど、「通信車が先先行車らしい」と推測できる。その一方で、速度変化の乖離度ｅ２の値が大きいほど、換言すると｜ｄＶｃ’−ｄＶｆｒ’｜が大きいほど、「通信車が先先行車らしくない」と推測できる。なお、ｍｉｎ（｜ｄＶｃ’｜、｜ｄＶｆｒ’｜）は｜ｄＶｃ’｜と｜ｄＶｆｒ’｜のうちの小さい方の値であり、速度変化の乖離度ｅ２を正規化するための値である。
【００９０】
続いてＣＰＵはステップ７０３において、現時点でバッファメモリに記憶されている速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２の数を取得する。
【００９１】
続いてＣＰＵはステップ７０４へ進んで、直前のステップ７０１とステップ７０２でそれぞれ算出された速度変化の乖離度ｅ１と速度変化の乖離度ｅ２の大小関係を比較する。
上述したように、速度変化の乖離度ｅ１の値が小さいほど「通信車が先先行車らしくない」と推測できる。また、速度変化の乖離度ｅ２の値が大きいほど「通信車が先先行車らしくない」と推測できる。
そのため、速度変化の乖離度ｅ１≦速度変化の乖離度ｅ２が成立する場合は、「通信車が先先行車らしくない」と推測できる。
その一方で、速度変化の乖離度ｅ１≦速度変化の乖離度ｅ２が成立しない場合は、「通信車が先先行車らしい」と推測できる。
【００９２】
ＣＰＵはステップ７０４でＹＥＳと判定した場合、ステップ７０５へ進んで、自車１０と通信車との間の通信データが更新されているか否かを判定する。
【００９３】
ＣＰＵはステップ７０５でＹＥＳと判定した場合はステップ７０６へ進んで、非先先行車度カウンタに「１」を加算する。
この非先先行車度カウンタとは、速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２に基づいて算出される「通信車が先先行車らしくない」度合を表すものであり、数値が大きくなればなる程「通信車が先先行車らしくない」度合が高くなる。
【００９４】
続いてＣＰＵはステップ７０７へ進んで、バッファメモリに記憶されている速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２の数（バッファ数）が所定値以上か否かを判定する。
速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２の数が所定値以上であれば、先行車１１と通信車との乖離度を判定するのに十分な数の速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２が既に取得されていると判断できる。
なお、ステップ７０４及びステップ７０５の何れかでＮＯと判定した場合は、ＣＰＵはステップ７０６を経ずにステップ７０７へ直接進む。
【００９５】
ＣＰＵはステップ７０７でＹＥＳと判定した場合、ステップ７０８へ進んで、非先先行車度ａｐｎ＝非先先行車度カウント数／バッファデータ数を算出する。即ち、ＣＰＵは現在の時刻までに取得された全ての速度変化の乖離度ｅ１と速度変化の乖離度ｅ２のペアの中に、どの程度の割合で速度変化の乖離度ｅ１≦速度変化の乖離度ｅ２の条件を満たしているペアが存在しているかを算出する。非先先行車度ａｐｎの数値が大きくなればなるほど、通信車が先先行車らしくないと推測することが可能である。
【００９６】
その一方で、ステップ７０７でＮＯと判定した場合は、ＣＰＵはステップ７０９へ進んで非先先行車度ａｐｎとして「０」を設定する。
ステップ７０７でＮＯと判定した場合とは、先行車１１と通信車との乖離度を判定するための速度変化の乖離度ｅ１及び速度変化の乖離度ｅ２の数が不十分な場合である。
【００９７】
図３のステップ３０２（図７のステップ７０１乃至７０９）の処理を終えたＣＰＵは、続いてＣＰＵはステップ３０３へ進み、ステップ３０１、３０２で求めた速度変動量ＳＨｎ及び非先先行車度ａｐｎを引数とするルックアップテーブル（マップ）を利用して補正係数ｆｎを求める。
図９に示すように、補正係数ｆｎ（ｎ＝１、２、３）を求めるためのルックアップテーブルは三種類（Ｍａｐｆ１、Ｍａｐｆ２、Ｍａｐｆ３）が用意されている。
即ち、図９の（ａ）及び（ｂ）に例示されたテーブルＭａｐｆ１は速度変動量ＳＨｎの変動量が小さいＳＨ１に対し特に適合されたテーブルである。
図９の（ｃ）及び（ｄ）に例示されたテーブルＭａｐｆ２は速度変動量ＳＨｎの変動量が中程度のＳＨ２に対し特に適合されたテーブルである。
図９の（ｅ）及び（ｆ）に例示されたテーブルＭａｐｆ３は速度変動量ＳＨｎの変動量が大きいＳＨ３に対し特に適合されたテーブルである。
なお、図９に示したテーブル（Ｍａｐｆ１、Ｍａｐｆ２、Ｍａｐｆ３）のそれぞれは、非先先行車度ａｐｎが０．５及び０．７である場合のテーブルであるが、実際には、各テーブルは、非先先行車度ａｐｎの取り得る範囲（０〜１）のそれぞれの値に対して作成されている。また、各テーブルの引数である「速度変動量ＳＨｎ及び非先先行車度ａｐｎ」は各テーブルに対して共通である。
ＣＰＵは、ルックアップテーブルＭａｐｆ１、Ｍａｐｆ２及びＭａｐｆ３のそれぞれに基づいて三種類の補正係数ｆ１、ｆ２、及びｆ３をそれぞれ求める。
【００９８】
ルックアップテーブルＭａｐｆ１、Ｍａｐｆ２及びＭａｐｆ３は、速度変動量ＳＨｎが大きくなればなるほど補正係数ｆｎが大きくなり（「１」に近づいた後「１」を維持する）、且つ、速度変動量ＳＨｎが小さくなればなるほど補正係数ｆｎが小さくなる（「０」に近づいた後「０」を維持する）ように作成されている。またルックアップテーブルＭａｐｆ１、Ｍａｐｆ２及びＭａｐｆ３は、非先先行車度ａｐｎが大きくなればなるほど補正係数ｆｎが大きくなり、且つ、非先先行車度ａｐｎが小さくなればなるほど補正係数ｆｎが小さくなるように作成されている。従って、前述したように、速度変動量ＳＨｎ及び非先先行車度ａｐｎが大きい場合に補正係数ｆｎは大きくなり（「１」に近づき）、速度変動量ＳＨｎ及び非先先行車度ａｐｎが小さい場合に補正係数ｆｎは小さくなる（「０」に近づく）。
【００９９】
このように速度変動量ＳＨｎの大きさに対応した三種類のルックアップテーブルＭａｐｆ１、Ｍａｐｆ２及びＭａｐｆ３を用いて補正係数ｆｎを算出しているので、速度変動量ＳＨｎの程度が大中小のいずれの場合も、速度変動量ＳＨｎの程度に応じた補正係数ｆｎを精度よく算出することが可能である。
【０１００】
さらにＣＰＵはステップ３０１乃至３０３の処理と並行して、ステップ３０４乃至３１２の処理を行う。
【０１０１】
ＣＰＵはステップ３０４において、下記の式を利用して通信車速度Ｖｃと先行車速度Ｖｆｒの平均二乗誤差ＭＳを演算する。そして演算した平均二乗誤差ＭＳをバッファメモリに記憶させる。
【数１】
0006418116.tif 000002
ｍ：バッファメモリに記憶されている通信車速度Ｖｃ及び先行車速度Ｖｆｒの数
【０１０２】
先行車速度Ｖｆｒと通信車速度Ｖｃとが、過去の所定時点から現時点までの期間において近しい値を取り続けているほど平均二乗誤差ＭＳは小さくなる。即ち、平均二乗誤差ＭＳは、先行車速度Ｖｆｒと通信車速度Ｖｃとが類似している程度を表す指標値（誤差統計量の一つ）である。
【０１０３】
さらにＣＰＵはステップ３０５に進んで、取得した平均二乗誤差ＭＳ全てを平均化処理する。
この平均化処理は図１０のフローチャートに沿って行われる。
【０１０４】
まずＣＰＵはステップ１００１において、前回のステップ３０５の処理から今回の処理の間に、自車１０の直前に位置する車両が先行車１１から別の車両に変化したか、又は、通信車と自車１０との間の無線通信が遮断したか否かを判定する。
ＣＰＵがステップ１００１でＹＥＳと判定した場合は、ＣＰＵはステップ１００２へ進んで、これまでに取得した平均二乗誤差ＭＳをバッファメモリから全て消去する。そしてＣＰＵは、これまでに取得した平均二乗誤差ＭＳの総和（合計値）及び総個数をいずれも「０」に設定する。
【０１０５】
一方、ＣＰＵがステップ１００１でＮＯと判定した場合は、ＣＰＵはステップ１００３へ進む。ＣＰＵは、前回のステップ３０５の処理時から今回の処理時の間に通信車情報が更新されたか否かを判定する。
【０１０６】
ＣＰＵがステップ１００３でＹＥＳと判定した場合は、ＣＰＵはステップ１００４に進んで現時点での平均二乗誤差ＭＳの総和を演算する。具体的には、前回のステップ１００４の処理時に取得した平均二乗誤差ＭＳの和（前回値）に、直前のステップ３０４で取得した平均二乗誤差ＭＳの値を加算することにより、平均二乗誤差ＭＳの総和を更新する。
【０１０７】
さらにＣＰＵはステップ１００５へ進んで、現時点での平均二乗誤差ＭＳの総個数を演算する。具体的には、前回のステップ１００５の処理時に取得した平均二乗誤差ＭＳの合計数に「１」を加算することにより、平均二乗誤差ＭＳの総個数を更新する。
【０１０８】
ステップ１００２若しくは１００５の処理を終えるか又はステップ１００３でＮＯと判定したＣＰＵはステップ１００６へ進む。ＣＰＵは、ステップ１００２又は１００５を経た場合は、ステップ１００２又は１００４で取得した平均二乗誤差ＭＳの総個数が、所定の閾値ｂｌ（下限数）以上であるか否かをステップ１００６で判定する。一方、ＣＰＵがステップ１００３でＮＯと判定した場合は、前回のステップ３０５の処理時のステップ１００２又は１００４で取得した平均二乗誤差ＭＳの総個数が閾値ｂｌ以上であるか否かをステップ１００６で判定する。
【０１０９】
ＣＰＵはステップ１００６でＹＥＳと判定した場合はステップ１００７へ進み、ステップ１００２又は１００４で取得した平均二乗誤差ＭＳの総和を、ステップ１００２又は１００５で取得した平均二乗誤差ＭＳの総個数で除して平均二乗誤差ＭＳの平均値（Ｈ２Ｅ）を演算する。
【０１１０】
一方、ＣＰＵはステップ１００６でＮＯと判定した場合はステップ１００８へ進み、バッファメモリに記憶されている初期値（定数）を平均二乗誤差ＭＳの平均値として設定する。
この初期値は大きな値の定数である。そのため、自車１０の直前に位置する車両が先行車１１から別の車両に変化したり、バッファメモリに蓄積された平均二乗誤差ＭＳの個数が少なかったりした場合のように、通信車が先行車１１であるか否かを正確に判定するためにはまだ平均二乗誤差ＭＳのデータが少ない場合に、平均二乗誤差ＭＳの平均値が小さな値となることがない。即ち、ステップ１００８をこのような処理とすることにより、このような場合にＣＰＵが「先行車速度Ｖｆｒと通信車速度Ｖｃとが類似している」という誤判定を行うリスクを低くしている。
【０１１１】
さらに図３のステップ３０５の処理を終えたＣＰＵはステップ３０６に進んで、ステップ３０５で取得した平均二乗誤差ＭＳの平均値（Ｈ２Ｅ）を引数とするルックアップテーブル（マップ）を利用して類似度ｇ１ｎを求める。
補正係数ｆｎ用のルックアップテーブルと同様にこのルップアップテーブルも、速度変動量ＳＨｎの大きさ（大、中、小）のそれぞれに特化した三種類（Ｍａｐｇ１１、Ｍａｐｇ１２、Ｍａｐｇ１３）が用意されている（図示略）。
ルックアップテーブルＭａｐｇ１１、Ｍａｐｇ１２及びＭａｐｇ１３のそれぞれは、平均二乗誤差ＭＳの平均値（Ｈ２Ｅ）が小さいほど類似度ｇ１ｎ（ｎ＝１，２，３）の値が大きくなるように作成されている。
そしてＣＰＵは、ルックアップテーブルＭａｐｇ１１、Ｍａｐｇ１２及びＭａｐｇ１３に基づいて三種類の類似度ｇ１ｎをｇ１１、ｇ１２及びｇ１３としてそれぞれ求める。従って、速度変動量ＳＨｎの程度が大中小のいずれの場合も、平均値（Ｈ２Ｅ）の程度に応じた類似度ｇ１ｎを精度よく算出することが可能である。
【０１１２】
またＣＰＵはステップ３０７において、速度変化の乖離度ｅ１=｜ｄＶｃ−ｄＶｆｒ｜／ｍｉｎ（｜ｄＶｃ｜、｜ｄＶｆｒ｜）を演算する。そしてＣＰＵは、算出した速度変化の乖離度ｅ１をバッファメモリに記憶させる。
【０１１３】
続いてＣＰＵはステップ３０８において、速度変化の乖離度ｅ１を平均化処理して、速度変化の乖離度ｅ１の平均値（Ｈｅ１）を求める。この平均化処理の方法はステップ３０５（図１０のフローチャート）と同様である。
【０１１４】
さらにＣＰＵはステップ３０９に進んで、ステップ３０８で取得した速度変化の乖離度ｅ１の平均値（Ｈｅ１）を引数とするルックアップテーブル（マップ）を利用して類似度ｇ２ｎ（ｎ＝１，２，３）を求める。
補正係数ｆｎ用のルックアップテーブルと同様にこのルップアップテーブルも、速度変動量ＳＨｎの大きさ（大、中、小）のそれぞれに特化した三種類（Ｍａｐｇ２１、Ｍａｐｇ２２、Ｍａｐｇ２３）が用意されている（図示略）。
ルックアップテーブルＭａｐｇ２１、Ｍａｐｇ２２及びＭａｐｇ２３のそれぞれは、乖離度ｅ１の平均値（Ｈｅ１）が小さいほど類似度ｇ２ｎの値が大きくなるように作成されている。
そしてＣＰＵは、ルックアップテーブルＭａｐｇ２１、Ｍａｐｇ２２、Ｍａｐｇ２３に基づいて三種類の類似度ｇ２ｎをｇ２１、ｇ２２及びｇ２３としてそれぞれ求める。従って、速度変動量ＳＨｎの程度が大中小のいずれの場合も、平均値（Ｈｅ１）の程度に応じた類似度ｇ２ｎを精度よく算出することが可能である。
【０１１５】
またＣＰＵはステップ３１０において、下記の式を利用して速度相関係数ｃｏｅｆ（correlation coefficient）を演算する。そして演算した速度相関係数ｃｏｅｆをバッファメモリに記憶させる。
【数２】
0006418116.tif 000003
【０１１６】
周知なように、相関係数coefは、２つのパラメータの間の相関（類似性の度合い）を示す統計量である。原則的には、相関係数は−１から１の間の実数であり、相関係数が１に近いほど２つのパラメータには正の相関があり、２つのパラメータの類似度は高い。相関係数が０に近くなるにつれ２つのパラメータの相関は弱くなる。相関係数が−１に近いほど２つのパラメータには負の相関がある。従って、本例において速度相関係数ｃｏｅｆが１に近いほど、通信車速度Ｖｃと先行車速度Ｖｆｒとの類似性は高い。
【０１１７】
さらにＣＰＵは、ステップ３１０の処理と並行して図１１にフローチャートの処理を実行する。
即ち、ＣＰＵはステップ１１０１において、a＝sum（（Vfr(i)−ave(Vfr））２が所定の閾値ｘ以下であるか否かを判定し、さらにステップ１１０２においてb＝sum（（Vc(i)−ave(Vc））２が所定の閾値ｙ以下であるか否かを判定する。なお、sum（Ｚ）は、変数Ｚの総和をとる関数であり、ave(Z)は変数Ｚの平均をとる関数である。
【０１１８】
通信車速度Ｖｃと先行車速度Ｖｆｒの速度変動量が小さい場合に、ステップ１１０１又は１１０２でＣＰＵがＮＯと判定する。通信車速度Ｖｃと先行車速度Ｖｆｒの速度変動量が小さい場合は、ＣＰＵによる通信車の特定に関する最終判定に誤りが発生し易い。そのため、ＣＰＵがステップ１１０１又は１１０２でＮＯと判定した場合は、ステップ３１０で取得した速度相関係数ｃｏｅｆを、続いて行われるステップ３１１の平均化処理に利用しない方がよい。従って、この場合はＣＰＵはステップ１１０４へ進む。即ち、ＣＰＵは前回のステップ３１１で取得した平均値Ｈｃｆを保持し且つステップ３１２へ進む。
その一方で、ＣＰＵがステップ１１０１及び１１０２でＹＥＳと判定した場合は、ステップ３１０で取得した速度相関係数ｃｏｅｆを平均化処理に利用すべく、ＣＰＵはステップ１１０３へ進む。即ち、ＣＰＵはステップ３１１へ進む。
【０１１９】
ＣＰＵはステップ３１１において、速度相関係数ｃｏｅｆを平均化処理して、速度相関係数ｃｏｅｆの平均値（Ｈｃｆ）を求める。この平均化処理の方法はステップ３０５（図１０のフローチャート）と同様である。
【０１２０】
さらにＣＰＵはステップ３１２に進んで、ステップ３１１で取得した速度相関係数ｃｏｅｆの平均値（Ｈｃｆ）を引数とするルックアップテーブル（マップ）を利用して類似度ｇ３ｎを求める。
補正係数ｆｎ用のルックアップテーブルと同様にこのルップアップテーブルも、速度変動量ＳＨｎの大きさ（大、中、小）のそれぞれに特化した三種類（Ｍａｐｇ３１、Ｍａｐｇ３２、Ｍａｐｇ３３）が用意されている（図示略）。
ルックアップテーブルＭａｐｇ３１、Ｍａｐｇ３２、Ｍａｐｇ３３のそれぞれは、速度相関係数ｃｏｅｆの平均値（Ｈｃｆ）が１に近いほど類似度ｇ３ｎ（ｎ＝１，２，３）の値が大きくなるように作成されている。
そしてＣＰＵは、ルックアップテーブルＭａｐｇ３１、Ｍａｐｇ３２及びＭａｐｇ３３に基づいて三種類の類似度ｇ３ｎをｇ３１、ｇ３２及びｇ３３としてそれぞれ求める。従って、速度変動量ＳＨｎの程度が大中小のいずれの場合も、類似度ｇ３ｎを精度よく算出することが可能である。
【０１２１】
ＣＰＵはステップ３０３、３０６、３０９及び３１２の処理が完了したらステップ３１３へ進む。
ＣＰＵはステップ３１３において類似度ｇ１ｎ、ｇ２ｎ、ｇ３ｎ及び補正係数ｆｎのｎの値が同じものどうしを掛け合わせて最終先行車確率Ｐｎ（＝Ｐ１、Ｐ２、Ｐ３）を算出する。
【０１２２】
続いてＣＰＵはステップ３１４へ進んで、ステップ３１３で求めたＰ１、Ｐ２及びＰ３の中から最も数値が大きいものを最終先行車確率Ｐとして一つだけ選択する。
【０１２３】
さらにＣＰＵはステップ３１５へ進んで、ステップ３１４で選択した一つの最終先行車確率Ｐが所定の閾値Ｐｔｈを超えているか否かを判定する。
【０１２４】
図１２に示すように、この閾値ＰｔｈはＣＰＵが図３のフローチャートの処理を開始してからの経過時間に応じて変化する。即ち、時刻ｔｅまでは閾値Ｐｔｈは最も大きな値の一定値をとる。しかし、時刻ｔｅを経過すると閾値Ｐｔｈは徐々に低下し、時刻ｔｆ以降は最小値を維持する。
図３のフローチャートの処理開始から時間があまり経過していないときは、バッファメモリに蓄積された通信車速度Ｖｃ、相対速度Ｖｒ及び先行車速度Ｖｆｒ等のデータ数が少ないので、この時点でＣＰＵが通信車が先行車１１であるか否かの最終判定を行うと、ＣＰＵが「真の通信追従対象車ではない通信車が先行車１１である」という誤判定を起こし易い。そのため、図３のフローチャートの処理を開始してからの経過時間が時刻ｔｅに至るまでは、閾値Ｐｔｈの値を大きくしている。その一方で、図３のフローチャートの処理開始から時間がある程度経過すればバッファメモリに蓄積されるデータ数が多くなるので、この場合は閾値Ｐｔｈの値を多少低めにしても、ＣＰＵが「真の通信追従対象車ではない通信車が先行車１１である」という誤判定を起こすおそれは低い。
そのため、閾値Ｐｔｈの値を図１２のグラフのように変化させている。
【０１２５】
仮に他車１１〜１３の中で通信車が先行車１１のみの場合は、ＣＰＵがステップ３１５でＹＥＳと判定したときに、ＣＰＵはステップ３１６で先行車１１を通信車として特定する。
その一方で、他車１１〜１３の全てが通信車の場合は、ＣＰＵはステップ３１３において通信車と同数の最終先行車確率Ｐｎを取得し、さらにステップ３１４において通信車と同数の最終先行車確率Ｐを取得する。さらにＣＰＵは、ステップ３１５において各最終先行車確率Ｐと閾値Ｐｔｈとを比較する。そして複数の最終先行車確率Ｐが閾値Ｐｔｈを超えた場合は、ＣＰＵはステップ３１６において、閾値Ｐｔｈを超えた複数の最終先行車確率Ｐの中で最も数値が大きい最終先行車確率Ｐと対応する一つの他車１１〜１３を通信追従対象車と判定する。従って、先行車１１に対応する最終先行車確率Ｐが最大且つ閾値Ｐｔｈを超えた場合に、ＣＰＵはステップ３１６で先行車１１を通信追従対象車として特定する。
【０１２６】
以上、本発明を上記各実施形態に基づいて説明したが、本発明は上記各実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【０１２７】
例えば、通信車速度Ｖｃではなく通信車速度Ｖｃｂを利用して速度変動量ＳＨｎ及び非先先行車度ａｐｎを算出してもよい。
図５に示した補正係数ｋ１を、ΔＶｆｒの大きさに拘らず「１」としてもよい。
【符号の説明】
【０１２８】
１０・・・自車、１１〜１３・・・他車、１１・・・先行車、２０・・・車両制御ＥＣＵ、３０・・・エンジン制御ＥＣＵ、６０・・・センサＥＣＵ、６１・・・自車レーダセンサ、８０・・・無線制御ＥＣＵ。
【図１】
0006418116.tif 000004
【図２】
0006418116.tif 000005
【図３】
0006418116.tif 000006
【図４】
0006418116.tif 000007
【図５】
0006418116.tif 000008
【図６】
0006418116.tif 000009
【図７】
0006418116.tif 000010
【図８】
0006418116.tif 000011
【図９】
0006418116.tif 000012
【図１０】
0006418116.tif 000013
【図１１】
0006418116.tif 000014
【図１２】
0006418116.tif 000015