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