(57)【要約】【課題】複数の車両が同一車線を走行しているか否かをより高精度に判定する。【解決手段】走行車線認識装置（１００）は、第１の車両（１０）の現在の走行位置と第２の車両（２０）の走行軌跡との間のずれ量（ｈ）を算出する算出手段（１１）と、算出手段が算出したずれ量に基づいて、第１の車両と第２の車両とが同一車線を走行しているか否かを判定する判定手段（１１）とを備え、算出手段は、第２の車両の車速（ｖ１）が所定閾値未満となる場合に、第１の車両の現在の走行位置に加えて第１の車両の過去の走行位置に基づいて、ずれ量を算出する。【選択図】図５
2013161113.tif 000002
【特許請求の範囲】
【請求項１】
第１の車両の現在の走行位置と前記第１の車両とは異なる第２の車両の走行軌跡との間のずれ量を算出する算出手段と、
前記算出手段が算出したずれ量に基づいて、前記第１の車両と前記第２の車両とが同一車線を走行しているか否かを判定する判定手段と
を備え、
前記算出手段は、前記第２の車両の車速が所定閾値未満となる場合に、前記第１の車両の現在の走行位置に加えて前記第１の車両の過去の走行位置に基づいて、前記ずれ量を算出することを特徴とする走行車線認識装置。
【請求項２】
前記算出手段は、前記第１の車両の現在の走行位置と、時間的に連続して取得される前記第２の車両の複数の走行位置のうちの相前後する２つの走行位置を結ぶ走行軌跡との間の距離を、前記ずれ量として算出し、
前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合には、(i)前記第１の車両の現在の走行位置に加えて前記第１の車両の過去の走行位置に基づいて、前記ずれ量を算出するために用いられる一の走行軌跡を選択する共に、(ii)前記第１の車両の現在の走行位置と、当該選択された前記一の走行軌跡との間の距離を、前記ずれ量として算出することを特徴とする請求項１に記載の走行車線認識装置。
【請求項３】
前記算出手段は、前記第１の車両の現在の走行位置及び前記第１の車両の過去の走行位置を結ぶ走行軌跡と前記第２の車両の前記２つの走行位置を結ぶ走行軌跡との間の角度に基づいて、前記ずれ量を算出するために用いられる前記一の走行軌跡を選択することを特徴とする請求項２に記載の走行車線認識装置。
【請求項４】
前記算出手段は、前記角度が所定値未満となるように、前記ずれ量を算出するために用いられる前記一の走行軌跡を選択することを特徴とする請求項３に記載の走行車線認識装置。
【請求項５】
前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合に、前記第１の車両の現在の走行位置に加えて、前記第１の車両の現在走行位置と時間的に連続して取得される前記第１の車両の直近の走行位置に基づいて、前記ずれ量を算出することを特徴とする請求項１から４のいずれか一項に記載の走行車線認識装置。
【請求項６】
前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合には、時間的に連続して取得される前記第２の車両の複数の走行位置のうちの一部を選択的に用いて、前記ずれ量を算出することを特徴とする請求項１から５のいずれか一項に記載の走行車線認識装置。
【請求項７】
前記第１の車両は、当該走行車線認識装置が搭載されている車両であることを特徴とする請求項１から６のいずれか一項に記載の走行車線認識装置。
【請求項８】
前記第２の車両は、前記第１の車両の前方を走行している車両であることを特徴とする請求項７に記載の走行車線認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば自動車等である車両が走行している車線を認識する走行車線認識装置の技術分野に関する。
【背景技術】
【０００２】
この種の走行車線認識装置として、車速及びヨーレートから算出される自車両の予測軌跡とレーダから得られる先行車両の相対位置との間の横偏差が閾値以内にあるか否かという判定結果に基づいて、自車両と先行車両が同一車線を走行しているか否かを判定する装置が提案されている。その他、本発明に関連する先行技術文献として特許文献２から特許文献４が存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２９５４号公報
【特許文献２】特開２００７−９５０３８号公報
【特許文献３】特開平１０−３０９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、先行車両の走行位置は、レーダのみならず、先行車両が搭載しているＧＰＳ受信器が受信するＧＰＳ電波を用いて検出されることがある。この場合、ＧＰＳ衛星の配置状況やＧＰＳ衛星からの視通状況や気象条件等を含む様々な誤差要因に起因して、ＧＰＳ電波を用いた走行位置の検出精度が悪化してしまうことがある。このような走行位置の検出精度の悪化は、特に先行車両の車速が相対的に遅い場合に顕著になる。そうすると、先行車両の走行軌跡が、ある時刻で不自然に意図せぬ方向へずれた又は本来の方向とは異なる方向へずれた走行軌跡となってしまうことがある。この場合、このような不自然にずれている走行軌跡を用いて横偏差を算出してしまうと、自車両と先行車両が同一車線を走行しているか否かを判定する精度が悪化してしまいかねないという技術的な問題点が生ずる。
【０００５】
このような従来技術に対して、本発明は、例えば前述した問題点に鑑みなされたものであり、例えば複数の車両が同一車線を走行しているか否かをより高精度に判定することが可能な走行車線認識装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の走行車線認識装置は、第１の車両の現在の走行位置と前記第１の車両とは異なる第２の車両の走行軌跡との間のずれ量を算出する算出手段と、前記算出手段が算出したずれ量に基づいて、前記第１の車両と前記第２の車両とが同一車線を走行しているか否かを判定する判定手段とを備え、前記算出手段は、前記第２の車両の車速が所定閾値未満となる場合に、前記第１の車両の現在の走行位置に加えて前記第１の車両の過去の走行位置に基づいて、前記ずれ量を算出する。
【０００７】
本発明の走行車線認識装置によれば、算出手段は、第１の車両の現在の走行位置と第２の車両の走行軌跡（例えば、特定の時刻の第２車両の走行位置を結ぶ走行軌跡）との間のずれ量を算出する。尚、ここでいうずれ量は、典型的には、第１の車両及び第２の車両の少なくとも一方の進行方向に対して交わる方向（好ましくは、直交する方向であり、いわゆる横方向）に沿ったずれ量である。具体的には、例えば、ずれ量は、第１の車両の現在の走行位置を起点とする第２の車両の走行軌跡に対する垂線の長さとなる。
【０００８】
判定手段は、算出手段が算出したずれ量に基づいて、第１の車両と第２の車両とが同一車線を走行しているか否かを判定する。例えば、判定手段は、ずれ量（或いは、その絶対値）が所定量未満である場合には、第１の車両と第２の車両とが同一車線を走行していると判定してもよい。或いは、判定手段は、ずれ量（或いは、その絶対値）が所定量以上である場合には、第１の車両と第２の車両とが同一車線を走行していないと判定してもよい。
【０００９】
本発明では特に、算出手段は、第２の車両の車速が所定閾値未満となる場合には、ずれ量を算出するために、第１の車両の現在の走行位置のみならず、第１の車両の過去の走行位置（典型的には、直近の過去の走行位置）をも用いる。つまり、算出手段は、少なくとも第２の車両の車速が所定閾値未満となる場合には、第１の車両の現在の走行位置に加えて第１の車両の過去の走行位置（典型的には、直近の過去の走行位置）にも基づいて、ずれ量を算出する。尚、算出手段は、第２の車両の車速が所定閾値以上となる場合であっても、第１の車両の現在の走行位置に加えて第１の車両の過去の走行位置（典型的には、直近の過去の走行位置）にも基づいて、ずれ量を算出してもよい。
【００１０】
ここで、上述したように、走行車線認識装置が取得し得る第２の車両の走行位置の検出精度は、当該走行位置を取得する際の条件によっては相対的に悪化してしまうことがある。第２の車両の走行位置の検出精度が相対的に悪化してしまった場合には、算出手段は、ずれ量を算出するために用いるべき適切な走行軌跡ではなく、検出精度が相対的に悪化した走行位置を通る走行軌跡（つまり、本来の又は実際の走行軌跡から外れてしまった走行軌跡）を用いて、ずれ量を算出してしまいかねない。しかるに、本発明では、第２の車両の走行位置の検出精度が相対的に悪化してしやすい第２車両の車速が所定閾値未満となる場合には、算出手段は、第１の車両の現在の走行位置に加えて第１の車両の過去の走行位置に基づいて、ずれ量を算出することができる。このように第１の車両の過去の走行位置にも基づいてずれ量を算出することで、後に図面を用いて詳細に説明するように、算出手段は、検出精度が相対的に悪化した走行位置を通る走行軌跡（つまり、本来の又は実際の走行軌跡から外れてしまった走行軌跡）を用いることなく、ずれ量を算出するために用いるべき適切な走行軌跡を用いてずれ量を算出することができる。つまり、第２の車両の走行位置の検出精度が相対的に悪化してしやすい第２車両の車速が所定閾値未満となる場合であっても、算出手段は、ずれ量を好適に算出することができる。その結果、本発明の走行車線認識装置は、第１の車両の過去の走行位置に基づくことなくずれ量を算出する比較例の走行車線認識装置と比較して、第１の車両と第２の車両とが同一車線を走行しているか否かを好適に又は高精度に判定することができる。
【００１１】
本実施形態の走行車線認識装置の他の態様では、前記算出手段は、前記第１の車両の現在の走行位置と、時間的に連続して取得される前記第２の車両の複数の走行位置のうちの相前後する２つの走行位置を結ぶ走行軌跡との間の距離を、前記ずれ量として算出し、前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合には、(i)前記第１の車両の現在の走行位置に加えて前記第１の車両の過去の走行位置に基づいて、前記ずれ量を算出するために用いられる一の走行軌跡を選択する共に、(ii)前記第１の車両の現在の走行位置と、当該選択された前記一の走行軌跡との間の距離を、前記ずれ量として算出する。
【００１２】
この態様によれば、算出手段は、時間的に連続して取得される第２の車両の複数の走行位置のうちの相前後する（言い換えれば、互いに隣接する）２つの走行位置を結ぶことで得られる複数の走行軌跡の中から、第１の車両の現在の走行位置に加えて第１の車両の過去の走行位置に基づいて、ずれ量を算出するために用いられる一の走行軌跡を適切に選択することができる。より具体的には、算出手段は、第２の車両の複数の走行軌跡の中から、ずれ量を算出するために用いるべき適切な一の走行軌跡を選択することができる。その結果、算出手段は、検出精度が相対的に悪化した走行位置を通る走行軌跡（つまり、本来の又は実際の走行軌跡から外れてしまった走行軌跡）を用いることなく、ずれ量を算出するために用いるべき適切な一の走行軌跡を用いてずれ量を算出することができる。このため、本発明の走行車線認識装置は、第１の車両の過去の走行位置に基づくことなくずれ量を算出する比較例の走行車線認識装置と比較して、第１の車両と第２の車両とが同一車線を走行しているか否かを好適に又は高精度に判定することができる。
【００１３】
上述の如くずれ量を算出するために用いられる第２の車両の走行軌跡を第１の車両の過去の走行位置に基づいて選択する走行車線認識装置の態様では、前記算出手段は、前記第１の車両の現在の走行位置及び前記第１の車両の過去の走行位置を結ぶ走行軌跡と前記第２の車両の前記２つの走行位置を結ぶ走行軌跡との間の角度に基づいて、前記ずれ量を算出するために用いられる前記一の走行軌跡を選択するように構成してもよい。
【００１４】
このように構成すれば、算出手段は、時間的に連続して取得される第２の車両の複数の走行位置のうちの相前後する（言い換えれば、互いに隣接する）２つの走行位置を結ぶことで得られる複数の走行軌跡の中から、上記角度に基づいて、ずれ量を算出するために用いられる一の走行軌跡を適切に選択することができる。その結果、算出手段は、検出精度が相対的に悪化した走行位置を通る走行軌跡（つまり、本来の又は実際の走行軌跡から外れてしまった走行軌跡）を用いることなく、ずれ量を算出するために用いるべき適切な一の走行軌跡を用いてずれ量を算出することができる。このため、本発明の走行車線認識装置は、第１の車両の過去の走行位置に基づくことなくずれ量を算出する比較例の走行車線認識装置と比較して、第１の車両と第２の車両とが同一車線を走行しているか否かを好適に又は高精度に判定することができる。
【００１５】
上述の如くずれ量を算出するために用いられる第２の車両の走行軌跡を、第１の車両の現在の走行位置と第１の車両の過去の走行位置とを結ぶ走行軌跡と第２の車両の２つの走行位置を結ぶ走行軌跡との間の角度に基づいて選択する走行車線認識装置の態様では、前記算出手段は、前記角度が所定値未満となるように、前記ずれ量を算出するために用いられる前記一の走行軌跡を選択するように構成してもよい。
【００１６】
このように構成すれば、算出手段は、時間的に連続して取得される第２の車両の複数の走行位置のうちの相前後する（言い換えれば、互いに隣接する）２つの走行位置を結ぶことで得られる複数の走行軌跡の中から、上記角度が所定値未満となるような（言い換えれば、上記角度が相対的に小さくなるような）一の走行軌跡を適切に選択することができる。つまり、算出手段は、時間的に連続して取得される第２の車両の複数の走行位置のうちの相前後する（言い換えれば、互いに隣接する）２つの走行位置を結ぶことで得られる複数の走行軌跡の中から、第１の車両の現在の進行方向と概ね同一方向に進行している一の走行軌跡を適切に選択することができる。その結果、算出手段は、検出精度が相対的に悪化した走行位置を通る走行軌跡（つまり、本来の又は実際の走行軌跡から外れてしまった走行軌跡）を用いることなく、ずれ量を算出するために用いるべき一の走行軌跡を用いてずれ量を算出することができる。このため、本発明の走行車線認識装置は、第１の車両の過去の走行位置にも基づくことなくずれ量を算出する比較例の走行車線認識装置と比較して、第１の車両と第２の車両とが同一車線を走行しているか否かを好適に又は高精度に判定することができる。
【００１７】
本発明の走行車線認識装置の他の態様では、前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合に、前記第１の車両の現在の走行位置に加えて、前記第１の車両の現在走行位置と時間的に連続して取得される前記第１の車両の直近の走行位置に基づいて、前記ずれ量を算出する。
【００１８】
この態様によれば、第２の車両の走行位置の検出精度が相対的に悪化してしやすい第２の車両の車速が所定閾値未満となる場合には、算出手段は、第１の車両の現在の走行位置に加えて第１の車両の直近の過去の走行位置に基づいて、ずれ量を算出することができる。従って、走行車線認識装置は、上述した各種効果を好適に享受することができる。
【００１９】
本発明の走行車線認識装置の他の態様では、前記算出手段は、前記第２の車両の車速が前記所定閾値未満となる場合には、時間的に連続して取得される前記第２の車両の複数の走行位置のうちの一部を選択的に用いて、前記ずれ量を算出する。
【００２０】
この態様によれば、第２の車両の走行位置の精度が相対的に悪化してしやすい第２の車両の車速が所定閾値未満となる場合には、算出手段は、走行車線認識装置が取得し得る第２の車両の全ての走行位置（つまり、時間的に連続して取得される複数の走行位置）の他の一部を間引いて、ずれ量を算出することができる。このため、検出精度が相対的に悪化した第２の車両の走行位置を用いることに起因して誤ったずれ量を算出する頻度が相対的に低減される。
【００２１】
本発明の走行車線認識装置の他の態様では、前記第１の車両は、当該走行車線認識装置が搭載されている車両である。
【００２２】
この態様によれば、走行車線認識装置は、当該走行車線認識装置が搭載されている第１の車両と第２の車両とが同一車線を走行しているか否かを判定することができる。
【００２３】
第１の車両は走行車線認識装置が搭載されている車両である走行車線認識装置の他の態様では、前記第２の車両は、前記第１の車両の前方を走行している車両であるように構成してもよい。
【００２４】
このように構成すれば、走行車線認識装置は、当該走行車線認識装置が搭載されている第１の車両と当該第１車両の前方を走行している（言い換えれば、先行している）第２の車両とが同一車線を走行しているか否かを判定することができる。
【００２５】
本発明の作用及び他の利得は次に説明する発明を実施するための形態から明らかにされる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態の走行車線認識装置を備える車両の走行状況を模式的に示す側面図である。
【図２】本実施形態の走行車線認識装置の構成の一例を示すブロック図である。
【図３】自車両と先行車両とが同一車線を走行しているか否かを判定する車線判定動作の流れの一例を示すフローチャートである。
【図４】自車両の走行位置及び先行車両の走行位置や横偏差の概要を示す平面図である。
【図５】図３のステップＳ１１２における車線判定動作の流れの一例を示すフローチャートである。
【図６】自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両２０の走行位置及び先行車両２０の走行位置を結ぶことで得られる先行車両の走行軌跡との関係と共に、車線判定動作で用いられる各種パラメータを示す平面図である。
【図７】車線判定動作を行う際の、自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両の走行位置及び先行車両の走行位置を結ぶことで得られる先行車両の走行軌跡との関係を示す平面図である。
【図８】車線判定動作を行う際の、自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両の走行位置及び先行車両の走行位置を結ぶことで得られる先行車両の走行軌跡との関係を示す平面図である。
【図９】車線判定動作を行う際の、自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両の走行位置及び先行車両の走行位置を結ぶことで得られる先行車両の走行軌跡との関係を示す平面図である。
【図１０】車線判定動作を行う際の、自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両の走行位置及び先行車両の走行位置を結ぶことで得られる先行車両の走行軌跡との関係を示す平面図である。
【図１１】車線判定動作を行う際の、自車両の現在の走行位置及び自車両の前回の走行位置と、先行車両の走行位置及び先行車両の走行位置を結ぶことで得られる先行車両の走行軌跡との関係を示す平面図である。
【発明を実施するための形態】
【００２７】
以下では、本発明の実施形態について図面を参照しながら説明する。尚、以下の図面では、本発明の実施形態を説明するために最低限必要な部材を示しており、その他の部材については適宜省略されている。
【００２８】
（１）走行車線認識装置の構成
はじめに、図１及び図２を参照して、本実施形態の走行車線認識装置１００の構成について、本実施形態の走行車線認識装置１００を備える車両１０と共に説明する。図１は、本実施形態の走行車線認識装置１００を備える車両１０の走行状況を模式的に示す側面図である。図２は、本実施形態の走行車線認識装置１００の構成の一例を示すブロック図である。
【００２９】
図１に示すように、本実施形態の走行車線認識装置１００を備える車両１０（以降、適宜“自車両１０”と称する）は、図１に示すように、他の車両２０（以降、適宜“先行車両２０”と称する）に続いて、道路上を走行しているものとする。先行車両２０は、自車両１０との間で車々間通信可能な機器を備える車両である。尚、自車両１０は、上述した「第１の車両」の一具体例に相当する。先行車両２０は、上述した「第２の車両」に相当する。
【００３０】
尚、図１は、説明の便宜上、他の車両２０が自車両１０の前方を走行している例を示している。しかしながら、他の車両２０が自車両１０の後方を走行していてもよい。他の車両２０が自車両１０の後方を走行する場合であっても、走行車線認識装置１００は、以下に示す各種動作を行ってもよい。また、自車両１０と先行車両２０との間には、一又は複数の車両が存在していてもよいし、車両が存在していなくともよい。
【００３１】
図２に示すように、走行車線認識装置１００は、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：電子制御ユニット）１１と、記憶装置１２と、車内時計１３と、車両センサ１４と、ミリ波レーダ１５と、アンテナＡＮＴとを備えている。尚、自車両１０がナビゲーション装置を備えている場合には、車内時計１３に代えて、当該ナビゲーション装置に組み込まれている時計が用いられてもよい。
【００３２】
アンテナＡＮＴは、先行車両２０から送信される信号を逐次受信する。先行車両２０から送信される信号には、先行車両２０に関する各種情報が含まれている。先行車両２０に関する各種情報としては、例えば、先行車両２０の車速ｖ１を示す速度情報や、先行車両２０を識別するための車両ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）や、先行車両２０の走行位置Ｐ１（例えば、座標値（Ｘ１、Ｙ１））を示す位置情報等が一例としてあげられる。アンテナＡＮＴを介して受信された各種情報は、車内時計１３により示される時刻と対応付けて、記憶装置１２に格納される。
【００３３】
尚、先行車両２０は、自車両１０に対して送信する信号に各種情報を含めるために、各種情報を検出するセンサ等を備えていることが好ましい。例えば、先行車両２０は、車速ｖ１を検出するセンサ（例えば、車速センサ）や、走行位置Ｐ１を検出するセンサ（例えば、ジャイロセンサないしはヨーレートセンサ等の自律測位器や、ＧＰＳ受信器等）等を備えていることが好ましい。
【００３４】
車両センサ１４は、自車両１０の車速や、自車両１０の走行位置Ｐ０（例えば、座標値（Ｘ０、Ｙ０））等を検出する。このため、車両センサ１４は、車速を検出するセンサ（例えば、車速センサ）や、走行位置Ｐ０を検出するセンサ（例えば、ジャイロセンサないしはヨーレートセンサ等の自律測位器や、ＧＰＳ受信器等）等を含んでいることが好ましい。
【００３５】
ミリ波レーダ１５は、自車両１０の前方を走行している先行車両２０と自車１０との間の距離（即ち、車間距離）や、自車両１０に対する先行車両２０の相対速度を検出するために用いられる。
【００３６】
ＥＣＵ１１は、「算出手段」の一具体例に相当しており、車両センサ１４が検出する自車両１０の走行位置Ｐ０及びアンテナＡＮＴを介して受信する先行車両２０の走行位置Ｐ１に基づいて、自車両１０の現在位置と先行車両２０の走行軌跡との間のずれ量（例えば、横方向の差分に相当する横偏差ｈ）を算出する。加えて、ＥＣＵ１１は、「判定手段」の一具体例に相当しており、算出した横偏差ｈと所定の閾値ｈ０とを比較することで、自車両１０と先行車両２０とが同一車線を走行しているか否かを判定する。尚、ＥＣＵ１１のより詳細な動作の流れについては、以下に詳述する。
【００３７】
（２）走行車線認識装置の動作の流れ
続いて、図３から図１１を参照して、走行車線認識装置１００の動作の流れについて説明する。以下では、説明の便宜上、走行車線認識装置１００の動作のうち、自車両１０の走行位置Ｐ０及び先行車両２０の走行位置Ｐ１を取得しながら、自車両１０と先行車両２０とが同一車線を走行しているか否かを判定する動作に着目して説明を進める。
【００３８】
尚、以下の説明では、自車両１０の走行位置Ｐ０及び先行車両２０の走行位置Ｐ１を示す位置情報として、自車両１０及び先行車両２０が走行している平面上に設定されたＸＹ平面上でのｘ座標及びｙ座標を用いるものとする。
【００３９】
（２−１）走行車線認識装置の動作の全体の流れ
はじめに、図３及び図４を参照して、走行車線認識装置１００の動作の全体の流れについて説明する。図３は、走行車線認識装置１００の動作の全体の流れの一例を示すフローチャートである。図４は、自車両１０の走行位置Ｐ０及び先行車両２０の走行位置Ｐ１や横偏差ｈの概要を示す平面図である。
【００４０】
図３に示すように、ＥＣＵ１１は、以下の動作において参照される各種情報を取得する（ステップＳ１０１）。例えば、ＥＣＵ１１は、車両センサ１４が備えるＧＰＳ受信器が受信するＧＰＳ電波を解析することで、自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）を取得してもよい。また、ＥＣＵ１１は、アンテナＡＮＴを介して先行車両２０から送信される各種情報を受信することで、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を取得してもよい。また、ＥＣＵ１１は、アンテナＡＮＴを介して先行車両２０から送信される各種情報を受信することで、先行車両２０の車速ｖ１を取得してもよい。また、ＥＣＵ１１は、アンテナＡＮＴを介して先行車両２０から送信される各種情報の受信状況を解析することで、アンテナＡＮＴを介した自車両１０と先行車両２０との間の通信が継続して途絶えている時間を示す連続通信途絶時間Ｔを取得してもよい。
【００４１】
但し、走行車線認識装置１００がアンテナＡＮＴを介して先行車両２０から送信される各種情報を受信することができなかった場合には、ＥＣＵ１１は、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）及び車速ｖ１を取得することができない。この場合には、ＥＣＵ１１は、前回取得した先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）及び車速ｖ１をそのまま利用して、以下の動作を行ってもよい。
【００４２】
尚、ステップＳ１０１の各種情報を取得する動作（或いは、図３に示すフローチャートの動作）は、所定周期毎に（例えば、２５０ミリ秒毎に又はその他の適切な周期毎に）行われてもよい。或いは、ステップＳ１０１の各種情報を取得する動作（或いは、図３に示すフローチャートの動作）は、任意のタイミングで非周期的に行われてもよい。
【００４３】
その後、ＥＣＵ１１は、ステップＳ１０１で取得した連続通信途絶時間Ｔが３秒以上であるか否かを判定する（ステップＳ１０２）。つまり、ＥＣＵ１１は、アンテナＡＮＴを介した自車両１０と先行車両２０との間の通信が、３秒以上継続して行われていないか否かを判定する。尚、ここで閾値として用いられている「３秒」はあくまで一例であって、「３秒」以外の任意の時間ないしは期間が閾値として用いられてもよい。
【００４４】
ステップＳ１０２の判定の結果、連続通信途絶時間Ｔが３秒以上であると判定される場合には（ステップＳ１０２：Ｙｅｓ）、走行車線認識装置１００は、何らかの技術的な異常が発生している（具体的には、アンテナＡＮＴを介した自車両１０と先行車両２０との間の通信に何らかの技術的な異常が発生している）と判断し、動作を終了する（ステップＳ１１５）。このとき、ＥＣＵ１１は、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を記憶装置１２に格納するときの格納位置を示す変数ｎ及び記憶装置１２に格納された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）の数を示す変数ｎ＊を初期化する（ステップＳ１１５）。より具体的には、ＥＣＵ１１は、変数ｎ及び変数ｎ＊の夫々が「０」となるように、変数ｎ及び変数ｎ＊を初期化する。
【００４５】
他方で、ステップＳ１０２の判定の結果、連続通信途絶時間Ｔが３秒以上でないと判定される場合には（ステップＳ１０２：Ｎｏ）、ＥＣＵ１１は、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が更新されているか否かを判定する（ステップＳ１０３）。具体的には、ＥＣＵ１１は、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が、前回（例えば、２５０ミリ秒前に）記憶装置１２に格納された先行車両２０の走行位置Ｐ１（ｘ１（ｎ）、ｙ１（ｎ））と異なっているか否かを判定する。この場合、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が、前回記憶装置１２に格納された先行車両２０の走行位置Ｐ１（ｘ１（ｎ）、ｙ１（ｎ））と異なっている場合には、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が更新されていると判定される。
【００４６】
ステップＳ１０３の判定の結果、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が更新されていないと判定される場合には（ステップＳ１０３：Ｎｏ）、走行車線認識装置１００は、動作を終了する。尚、走行車線認識装置１００は、動作を終了した場合には、例えば所定周期（例えば、２５０ミリ秒）が経過した後に、再度ステップＳ１０１以降の動作を行うことが好ましい。
【００４７】
他方で、ステップＳ１０３の判定の結果、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が更新されていると判定される場合には（ステップＳ１０３：Ｙｅｓ）、ＥＣＵ１１は、ステップＳ１０１で取得した先行車両２０の車速ｖ１が３６ｋｍ／ｈ（時速３６キロメートル）未満であるか否かを判定する（ステップＳ１０４）。つまり、ＥＣＵ１１は、先行車両２０が相対的に遅い車速で走行しているか否かを判定する。尚、ここで閾値として用いられている「３６ｋｍ／ｈ」はあくまで一例であって、「３６ｋｍ／ｈ」以外の任意の車速が閾値として用いられてもよい。
【００４８】
ステップＳ１０４の判定の結果、先行車両２０の車速ｖ１が３６ｋｍ／ｈ未満であると判定される場合には（ステップＳ１０４：Ｙｅｓ）、ＥＣＵ１１は、変数ｍを１だけインクリメントした値を５で除算した剰余を、新たな変数ｍとして取り扱う（ステップＳ１０５）。つまり、ＥＣＵ１１は、変数ｍ＝ｍｏｄ（ｍ＋１、５）という数式を用いて、変数ｍを設定する。尚、変数ｍには、任意の整数が初期値として設定されていることが好ましい。
【００４９】
その後、ＥＣＵ１１は、変数ｍが０であるか否かを判定する（ステップＳ１０６）。尚、ステップＳ１０５の説明で述べたように、変数ｍは、変数ｍを１だけインクリメントした値を５で除算した剰余に相当する。従って、変数ｍが取り得る値は、０、１、２、３又は４となる。従って、ステップＳ１０６では、ステップＳ１０５の動作が５回行われる毎に１回ずつ、変数ｍが０であると判定される。
【００５０】
尚、ステップＳ１０５で変数ｍを更新するために用いられているパラメータである「５」という値はあくまで一例であって、「５」以外の任意の整数がパラメータとして用いられてもよい。この場合、ステップＳ１０６では、ステップＳ１０５の動作がパラメータによって特定されている回数だけ行われる毎に１回ずつ、変数ｍが０であると判定される。
【００５１】
ステップＳ１０６の判定の結果、変数ｍが０でないと判定される場合には（ステップＳ１０６：Ｎｏ）、走行車線認識装置１００は、動作を終了する。尚、走行車線認識装置１００は、動作を終了した場合には、例えば所定周期（例えば、２５０ミリ秒）が経過した後に、再度ステップＳ１０１以降の動作を行うことが好ましい。
【００５２】
他方で、ステップＳ１０６の判定の結果、変数ｍが０であると判定される場合には（ステップＳ１０６：Ｙｅｓ）、ＥＣＵ１１は、以下のステップＳ１０７の動作を行う。
【００５３】
他方で、ステップＳ１０４の判定の結果、先行車両２０の車速ｖ１が３６ｋｍ／ｈ未満でないと判定される場合には（ステップＳ１０４：Ｎｏ）、ＥＣＵ１１は、上述したステップＳ１０５及び１０６の動作を行うことなく、以下のステップＳ１０７の動作を行う。
【００５４】
このようなステップＳ１０４からステップＳ１０６の動作によれば、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）は、先行車両２０の車速ｖ１が相対的に遅い場合には、５回取得される毎に１回しか記憶装置１２に格納されない。つまり、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）は、先行車両２０の車速ｖ１が相対的に遅い場合には、５回取得される毎に４回分の走行位置Ｐ１（Ｘ１、Ｙ１）が間引かれる。一方で、ステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）は、先行車両２０の車速ｖ１が相対的に遅くない場合には、取得される毎に記憶装置１２に格納される。
【００５５】
その後、ＥＣＵ１１は、ステップＳ１０１で取得した先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を、取得した順に並べられる配列の形式で、記憶装置１２に格納する。先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を記憶装置１２に格納するために、ＥＣＵ１１は、まず、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を記憶装置１２に格納するときの格納位置を示す変数ｎを決定する（ステップＳ１０７）。具体的には、ＥＣＵ１１は、変数ｎを１だけインクリメントした値を８０で除算した剰余を、新たな変数ｎとして取り扱う。つまり、ＥＣＵ１１は、変数ｎ＝ｍｏｄ（ｎ＋１、８０）という数式を用いて、変数ｎを設定する。尚、変数ｎには、０が初期値として設定されていることが好ましい。
【００５６】
その後、ＥＣＵ１１は、ステップＳ１０１で取得した先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を、走行位置（ｘ１（ｎ）、ｙ１（ｎ））として記憶装置１２に格納する（ステップＳ１０８）。つまり、ＥＣＵ１１は、ステップＳ１０１で取得した先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を、{（ｘ１（０）、ｙ１（０））、（ｘ１（１）、ｙ１（１））、・・・、（ｘ１（ｋ（但し、ｋは、１≦ｋ≦ｎを満たす整数））、ｙ１（ｋ））、・・・、（ｘ１（ｎ）、ｙ１（ｎ））}という配列の形式で、記憶装置１２に格納する。
【００５７】
尚、ステップＳ１０７の説明で述べたように、変数ｎは、変数ｎを１だけインクリメントした値を８０で除算した剰余に相当する。従って、変数ｎが取り得る値は、０、１、・・・、７８又は７９となる。従って、記憶装置１２には、８０個の先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が、配列の形式で格納されている。
【００５８】
その後、ＥＣＵ１１は、記憶装置１２に格納された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）の数を示す変数ｎ＊を更新する（ステップＳ１０９）。具体的には、ＥＣＵ１１は、変数ｎ＊を１だけインクリメントした値を８０で除算した剰余を、新たな変数ｎ＊として取り扱う。つまり、ＥＣＵ１１は、変数ｎ＝ｍｏｄ（ｎ＋１、８０）という数式を用いて、変数ｎを設定する。尚、変数ｎには、０が初期値として設定されていることが好ましい。
【００５９】
尚、ステップＳ１０７で変数ｎを更新するために用いられているパラメータ及びステップＳ１０９で変数ｎ＊を更新するために用いられているパラメータである「８０」という値はあくまで一例であって、「８０」以外の任意の整数がパラメータとして用いられてもよい。この場合、記憶装置１２には、パラメータによって特定されている個数の先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が、配列の形式で格納されている。
【００６０】
その後、ＥＣＵ１１は、ステップＳ１０９で更新した変数ｎ＊が２以上であるか否かを判定する（ステップＳ１１０）。つまり、ＥＣＵ１１は、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が、格納装置１２に２個以上格納されているか否かを判定する。
【００６１】
尚、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）が格納装置１２に２個以上格納されている場合には、当該２個以上の走行位置Ｐ１を当該走行位置Ｐ１が取得された時間順に結ぶことで、図４に示す先行車両２０の走行軌跡が得られる。このため、ステップＳ１１０の判定は、実質的には、先行車両２０の走行軌跡が得られるか否かの判定に相当するとも言える。
【００６２】
ステップＳ１１０の判定の結果、変数ｎ＊が２以上であると判定される場合には（ステップＳ１１０：Ｙｅｓ）、ＥＣＵ１１は、自車両１０と先行車両２０とが同一車線を走行しているか否かを判定する車線判定動作を行う（ステップＳ１１２）。尚、車線判定動作については、図５を参照しながら後に詳述するが、簡略的に説明すると、図４に示す自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）と先行車両２０の走行軌跡との間の横偏差ｈ（或いは、その絶対値）と所定閾値ｈ０とを比較することで車線判定動作が行われる。例えば、横偏差ｈ（或いは、その絶対値）が所定閾値ｈ０未満となる場合には、自車両１０と先行車両２０とが同一車線を走行していると判定されてもよい。他方で、例えば、横偏差ｈ（或いは、その絶対値）が所定閾値ｈ０未満とならない場合には、自車両１０と先行車両２０とが同一車線を走行していないと判定されてもよい。
【００６３】
他方で、ステップＳ１１０の判定の結果、変数ｎ＊が２以上でないと判定される場合には（ステップＳ１１０：Ｎｏ）、ＥＣＵ１１は、自車両１０と先行車両２０とが同一車線を走行しているか否かを判定する車線判定動作を行わなくともよい。
【００６４】
その後、ＥＣＵ１１は、ステップＳ１０１で取得した自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が更新されているか否かを判定する（ステップＳ１１３）。具体的には、ＥＣＵ１１は、ステップＳ１０１で取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が、前回（例えば、２５０ミリ秒前に）取得された自車両１０の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）と異なっているか否かを判定する。この場合、ステップＳ１０１で取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が、前回取得された自車両１０の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）と異なっている場合には、ステップＳ１０１で取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が更新されていると判定される。
【００６５】
ステップＳ１１３の判定の結果、ステップＳ１０１で取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が更新されていないと判定される場合には（ステップＳ１１３：Ｎｏ）、走行車線認識装置１００は、動作を終了する。尚、走行車線認識装置１００は、動作を終了した場合には、所定周期（例えば、２５０ミリ秒）が経過した後に、再度ステップＳ１０１以降の動作を行うことが好ましい。
【００６６】
他方で、ステップＳ１１３の判定の結果、ステップＳ１０１で取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）が更新されていると判定される場合には（ステップＳ１１３：Ｙｅｓ）、ＥＣＵ１１は、前回取得された自車両１０の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）を、今回取得された自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）で置き換える（ステップＳ１１４）。つまり、ＥＣＵ１１は、Ｘ０＊＝Ｘ０且つＹ０＊＝Ｙ０という数式を用いて、前回取得された自車両１０の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）を更新する。走行車線認識装置１００は、動作を終了する。尚、走行車線認識装置１００は、動作を終了した場合には、所定周期（例えば、２５０ミリ秒）が経過した後に、再度ステップＳ１０１以降の動作を行うことが好ましい。
【００６７】
（２−２）車線判定動作の流れ
続いて、図５及び図６を参照して、図３のステップＳ１１２における車線判定動作の流れについて説明する。図５は、図３のステップＳ１１２における車線判定動作の流れの一例を示すフローチャートである。図６は、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）及び自車両１０の前回の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）と、先行車両２０の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡との関係と共に、車線判定動作で用いられる各種パラメータを示す平面図である。
【００６８】
図５に示すように、ＥＣＵ１１は、変数ｉ及び変数ｉ＊を初期化する（ステップＳ２０１）。具体的には、ＥＣＵ１１は、変数ｉが変数ｎ（つまり、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を記憶装置１２に格納するときの格納位置を示す変数ｎ）と一致し、且つ、変数ｉ＊が「０」となるように、変数ｉ及び変数ｉ＊を初期化する。従って、初期化後の変数ｉは、最近に取得された（つまり、最新の）先行車両２０の走行位置Ｐ１を格納する時の格納位置であって、実質的には、記憶装置１２に格納された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）の数を示すことになる。
【００６９】
続いて、ＥＣＵ１１は、自車両１０の走行位置Ｐ０（Ｘ０、Ｙ０）並びに記憶装置１２に格納された先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び先行車両の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））に基づいて、変数ａ、変数ｂ、変数ｃ、変数ｄ、変数ｐ及び変数ｑを設定する（ステップ２０２）。具体的には、図６に示すように、ＥＣＵ１１は、変数ａが、先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））のｘ座標と、先行車両２０の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））のｘ座標との差分（つまり、ｘ１（ｉ−１）−ｘ１（ｉ））となるように、変数ａを設定する。また、図６に示すように、ＥＣＵ１１は、変数ｂが、先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））のｙ座標と、先行車両２０の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））のｙ座標との差分（つまり、ｙ１（ｉ−１）−ｙ１（ｉ））となるように、変数ｂを設定する。また、図６に示すように、ＥＣＵ１１は、変数ｃが、先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））のｘ座標と、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）のｘ座標との差分（つまり、Ｘ０−ｘ１（ｉ））となるように、変数ｃを設定する。また、図６に示すように、ＥＣＵ１１は、変数ｄが、先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））のｙ座標と、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）のｙ座標との差分（つまり、Ｙ０−ｙ１（ｉ））となるように、変数ｄを設定する。また、図６に示すように、ＥＣＵ１１は、変数ｐが、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）のｘ座標と、自車両１０の前回の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）のｘ座標との差分（つまり、Ｘ０＊−Ｘ０）となるように、変数ｐを設定する。また、図６に示すように、ＥＣＵ１１は、変数ｑが、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）のｙ座標と、自車両１０の前回の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）のｙ座標との差分（つまり、Ｙ０＊−Ｙ０）となるように、変数ｑを設定する。
【００７０】
その後、ＥＣＵ１１は、数式１を用いて、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂直に下ろした点（垂点Ｈ：図６参照）を特定するパラメータｔを算出する（ステップＳ２０３）。尚、パラメータｔは、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））から垂点Ｈまでの距離と走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））から垂点Ｈまでの距離との間の比率を示すパラメータに相当する。具体的には、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））から垂点Ｈまでの距離：走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））から垂点Ｈまでの距離は、ｔ：１−ｔとなる。パラメータｔが０≦ｔ＜１という条件を満たす場合には、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））から走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を結ぶことで得られる先行車両２０の走行軌跡上に存在する。一方で、パラメータｔが０≦ｔ＜１という条件を満たさない場合（例えば、１≦ｔとなる場合）には、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））から走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を結ぶことで得られる先行車両２０の走行軌跡を、当該走行軌跡の伸長方向に沿って延長した仮想線上に存在する。
【００７１】
【数１】
2013161113.tif 000003
【００７２】
その後、ＥＣＵ１１は、自車両１０の現在の進行方向（つまり、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）及び自車両１０の前回の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）を結ぶことで得られる自車両１０の走行軌跡の進行方向）と、先行車両２０の走行軌跡（つまり、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡）の進行方向との間の角度θ（図６参照）を算出する（ステップＳ２０４）。このとき、演算の簡略化のために、ＥＣＵ１１は、角度θを直接算出することに代えて、数式２を用いて、角度θの余弦値（つまり、パラメータｃｏｓθ）を算出してもよい。
【００７３】
【数２】
2013161113.tif 000004
【００７４】
その後、ＥＣＵ１１は、ステップＳ２０３で算出したパラメータｔが０以上であり且つ１未満であるか否かを判定する（ステップＳ２０５）。尚、上述したように、パラメータｔが０≦ｔ＜１という条件を満たす場合には、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を結ぶことで得られる先行車両２０の走行軌跡上に存在する。つまり、パラメータｔが０≦ｔ＜１という条件を満たす場合には、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂線を引くことができる。従って、ステップＳ２０５での判定は、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂線を引くことができるか否かを判定する動作に相当するとも言える。加えて、当該垂線の長さは、自車両１０の現在位置と先行車両２０の走行軌跡との間の横偏差ｈに相当する。このような横偏差ｈは、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂線を引くことができる場合に算出される。従って、ステップＳ２０５での判定は、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）と走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡との間の横偏差ｈを算出することができるか否かを判定する動作にも相当すると言える。
【００７５】
加えて、ＥＣＵ１１は、ステップＳ２０４で算出したパラメータｃｏｓθが０．８よりも大きいか否かを判定する（ステップＳ２０５）。尚、上述したように、パラメータθは、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向との間の角度を示している。従って、パラメータｃｏｓθが０．８よりも大きいと判定されるのは、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離していない（或いは、一致している）場合である。従って、ステップＳ２０５での判定は、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離しているか否かを判定する動作に相当するとも言える。
【００７６】
尚、図５のステップＳ２０５で所定の閾値として用いられている「０．８」という値はあくまで一例であって、「０．８」以外の任意の数値がパラメータとして用いられてもよい。但し、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離しているか否かを適切に識別することができる適切な値が用いられることが好ましい。
【００７７】
ステップＳ２０５の判定の結果、パラメータｔが０以上でない又はパラメータｔが１未満でないと判定される場合には（ステップＳ２０５：Ｎｏ）、ＥＣＵ１１は、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂線を引くことができないと判定する。その結果、ＥＣＵ１１は、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）と、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡との間の横偏差ｈを算出することができないと判定する。この場合には、ＥＣＵ１１は、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））よりも時間的に一つ過去の走行位置Ｐ１（ｘ１（ｉ−２）、ｙ１（ｉ−２））及び走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を用いて、ステップＳ２０２以降の動作を繰り返す。
【００７８】
同様に、パラメータｃｏｓθが０．８より大きくないと判定される場合には（ステップＳ２０５：Ｎｏ）、ＥＣＵ１１は、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離していると判定する。その結果、ＥＣＵ１１は、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡は、横偏差ｈを算出するために適した走行軌跡ではないと判定する。というのも、横偏差ｈは、自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）から、当該現在位置Ｐ０（Ｘ０、Ｙ０）付近を先行車両２０が走行していた時点での走行軌跡に対して引かれる垂線の長さとなるのが一般的である。ここで、自車両１０と先行車両２０とが同一の道路を走行している場合には、同一の車線を走行しているか否かに関わらず、自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）付近を先行車両２０が走行していた時点での走行軌跡の進行方向が、自車両１０の現在の進行方向と大きく乖離していないことが多い。従って、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離している場合には、その走行軌跡は、横偏差ｈを算出するために適切な走行軌跡ではない（つまり、自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）付近を先行車両２０が走行していた時点での走行軌跡ではない）と推測される。この場合には、ＥＣＵ１１は、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））よりも時間的に一つ過去の走行位置Ｐ１（ｘ１（ｉ−２）、ｙ１（ｉ−２））及び走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を用いて、ステップＳ２０２以降の動作を繰り返す。
【００７９】
ステップＳ２０２以降の動作を繰り返す場合には、ＥＣＵ１１は、まず、変数ｉ及び変数ｉ＊を更新する（ステップＳ２１０）。より具体的には、ＥＣＵ１１は、変数ｉを１だけデクリメントした後に８０を加算して得られる値を８０で除算した剰余を、新たな変数ｉとして取り扱う。このような変数ｉの更新の結果、典型的には、変数ｉは、従前の変数ｉから１だけデクリメントされた値となる。更に、ＥＣＵ１１は、変数ｉ＊を１だけインクリメントした値を、新たな変数ｉ＊として取り扱う。
【００８０】
尚、ステップＳ２１０で変数ｉを更新するために用いられているパラメータである「８０」という値は、図３のステップＳ１０７で変数ｎを更新するために用いられているパラメータ及びステップＳ１０９で変数ｎ＊を更新するために用いられているパラメータである「８０」という値と同様に、はあくまで一例であって、「８０」以外の任意の整数がパラメータとして用いられてもよい。
【００８１】
その後、ＥＵＣ１１は、変数ｉ＊が変数ｎ＊よりも小さいか否かを判定する（ステップＳ２１１）。尚、変数ｉ＊は、実質的には、ステップＳ２０２からステップＳ２０５に至るまでの動作が行われた先行車両２０の走行位置Ｐ１の数を示している。また、変数ｎ＊は、上述したように、記憶装置１２に格納された先行車両２０の走行位置Ｐ１の数を示している。従って、ステップＳ２１１での判定は、格納装置１２に格納された先行車両２０の走行位置Ｐ１の全てに対して、ステップＳ２０２からステップＳ２０５に至るまでの動作が行われたか否かを判定する動作であると言える。つまり、格納装置１２に格納された先行車両の走行位置Ｐ１の全てに対してステップＳ２０２からステップＳ２０５に至るまでの動作が行われていない場合には、変数ｉ＊は、変数ｎ＊よりも小さくなる。
【００８２】
ステップＳ２１１の判定の結果、変数ｉ＊が変数ｎ＊よりも小さいと判定される場合（ステップＳ２１１：Ｙｅｓ）、ＥＣＵ１１は、ステップＳ２１０で更新された変数ｉによって特定される新たな先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び先行車両の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））に基づいて、ステップＳ２０２からステップＳ２０５までの動作を繰り返す。つまり、ＥＣＵ１１は、格納されているｎ個の走行位置Ｐ１の配列{（ｘ１（０）、ｙ１（０））、（ｘ１（１）、ｙ１（１））、・・・、（ｘ１（ｎ）、ｙ１（ｎ））}を対象として、格納された順序が新しい順に、ステップＳ２０２からステップＳ２０５までの動作を繰り返す。このような動作は、パラメータｔが０以上であり且つ１未満あると判定されると共にパラメータｃｏｓθが０．８よりも大きいと判定される走行軌跡が見つかるまで（つまり、このような走行軌跡を特定する先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び先行車両の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））が見つかるまで）繰り返される。言い換えれば、このような動作は、(i)自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）から、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡に対して垂線を引くことができ、且つ、(ii)自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離していない走行軌跡が見つかるまで繰り返される。
【００８３】
他方で、ステップＳ２０５の判定の結果、パラメータｔが０以上であり且つ１未満あると判定されると共にパラメータｃｏｓθが０．８よりも大きいと判定される場合には（ステップＳ２０５：Ｙｅｓ）、ＥＣＵ１１は、数式３を用いて、横偏差ｈ（図６参照）を算出する（ステップＳ２０６）。
【００８４】
【数３】
2013161113.tif 000005
【００８５】
その後、ＥＣＵ１１は、ステップＳ２０６で算出した横偏差ｈの絶対値が所定の閾値ｈ０（例えば、図５に示す例では、「２」）未満であるか否かを判定する（ステップＳ２０７）。尚、ステップＳ２０７で所定の閾値ｈ０として用いられている「２」という値はあくまで一例であって、「２」以外の任意の数値がパラメータとして用いられてもよい。
【００８６】
ステップＳ２０７の判定の結果、ステップＳ２０６で算出した横偏差ｈの絶対値が所定の閾値ｈ０未満であると判定される場合には（ステップＳ２０７：Ｙｅｓ）、ＥＣＵ１１は、自車両１０と先行車両２０とが同一車線を走行していると判定する。
【００８７】
他方で、ステップＳ２０７の判定の結果、ステップＳ２０６で算出した横偏差ｈの絶対値が所定の閾値ｈ０未満でないと判定される場合には（ステップＳ２０７：Ｎｏ）、ＥＣＵ１１は、自車両１０と先行車両２０とが同一車線を走行していないと判定する。つまり、ＥＣＵ１１は、自車両１０が走行している車線は、先行車両２０が走行している車線とは異なると判定する。
【００８８】
（２−３）車線判定動作の具体的事例
ここで、図７から図１１に示す具体的な事例を参照しながら、車線判定動作についてより具体的に説明する。図７から図１１は、夫々、車線判定動作を行う際の、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）及び自車両１０の前回の走行位置Ｐ０＊（Ｘ０＊、Ｙ０＊）と、先行車両２０の走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び先行車両２０の走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡との関係を示す平面図である。
【００８９】
図７に示すように、先行車両２０の走行位置Ｐ１（ｘ１（ｎ）、ｙ１（ｎ））から先行車両２０の走行位置Ｐ１（ｘ１（ｎ−６）、ｙ１（ｎ−６））を対象として、車線判定動作（特に、図５のステップＳ２０２からステップＳ２０５の動作）が行われる場合を例にあげて説明する。このとき、図７に示すように、先行車両２０の走行位置Ｐ１（ｘ１（ｎ−２）、ｙ１（ｎ−２））については、ＧＰＳの誤差等に起因して、本来の走行位置からずれた値が取得されているものとする。つまり、先行車両２０の走行位置Ｐ１（ｘ１（ｎ−２）、ｙ１（ｎ−２））の検出精度が、他の走行位置Ｐ１の検出精度と比較して悪化しているものとする。このような検出精度の悪化は、先行車両２０の車速ｖ１が相対的に遅い（例えば、車速ｖ１が３６ｋｍ／ｈ未満となる）場合に顕著になる。
【００９０】
この場合、図８に示すように、まずは、走行位置Ｐ１（ｘ１（ｎ）、ｙ１（ｎ））及び走行位置Ｐ１（ｘ１（ｎ−１）、ｙ１（ｎ−１））が、夫々、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））として取り扱われる。図８に示すように、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡上には存在しない。言い換えれば、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））から走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））を結ぶことで得られる先行車両２０の走行軌跡を、当該走行軌跡の伸長方向に沿って延長した仮想線上に存在する。従って、パラメータｔが０以上でない又は１未満でないと判定される。このため、図９に示すように、走行位置Ｐ１（ｘ１（ｎ−１）、ｙ１（ｎ−１））及び走行位置Ｐ１（ｘ１（ｎ−２）、ｙ１（ｎ−２））が、夫々、新たな走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び新たな走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））として取り扱われる。
【００９１】
この場合、図９に示すように、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡上には存在しない。従って、パラメータｔが０以上でない又は１未満でないと判定される。このため、図１０に示すように、走行位置Ｐ１（ｘ１（ｎ−２）、ｙ１（ｎ−２））及び走行位置Ｐ１（ｘ１（ｎ−３）、ｙ１（ｎ−３））が、夫々、新たな走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び新たな走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））として取り扱われる。
【００９２】
この場合、図１０に示すように、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡上に存在する。従って、仮に、パラメータｃｏｓθを用いた判定が行われなければ、図１０に示す横偏差ｈに基づいて、図５のステップＳ２０７の判定動作が行われてしまう。しかしながら、図１０を見て分かるように、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離している以上、当該走行軌跡は、自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）付近を先行車両２０が走行していた時点での走行軌跡ではないものと推測される。つまり、検出精度の悪化によって走行位置Ｐ１（ｘ１（ｎ−２）、ｙ１（ｎ−２））が本来の走行位置からずれてしまったがゆえに、意図せずして、横偏差ｈが算出可能な状態になってしまったものと推測される。しかしながら、このような状態で算出される横偏差ｈは、本来の横偏差ｈとは異なる値となるため、自車両１０と先行車両２０とが同一車線を走行しているか否かの判定精度の悪化につながりかねない。
【００９３】
しかるに、本実施形態では、上述したように、パラメータｃｏｓθを用いた判定が行われる。従って、図１０に示す状態では、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離しているがゆえに、パラメータｃｏｓθが０．８よりも大きくないと判定される。その結果、図１０に示す状態では、横偏差ｈは算出されない。このため、自車両１０と先行車両２０とが同一車線を走行しているか否かの判定精度の悪化が好適に防止される。
【００９４】
尚、図３のステップＳ１０４からステップＳ１０５で説明したように、先行車両２０の車速ｖ１が３６ｋｍ／ｈ未満となる（或いは、相対的に遅い）場合には、図３のステップＳ１０１で取得された先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）は、５回取得される毎に１回しか記憶装置１２に格納されない。その結果、図１０に示すような本来の走行位置からずれてしまった走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を用いて図５に示す車線判定動作が行われる可能性は相対的に低くなる。このような先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を格納する際に行われる間引きによっても、自車両１０と先行車両２０とが同一車線を走行しているか否かの判定精度の悪化が好適に防止される。但し、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を格納する際に行われる間引きのみによって、本来の走行位置からずれてしまった走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を用いて図５に示す車線判定動作が行われる可能性を確実にゼロにすることは困難である。従って、パラメータｃｏｓθを用いた判定を組み合わせることで、自車両１０と先行車両２０とが同一車線を走行しているか否かの判定精度の悪化がより一層好適に防止される。但し、パラメータｃｏｓθを用いた判定が行われる場合には、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を格納する際の間引きが行われなくともよい。同様に、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）を格納する際の間引きが行われる場合には、パラメータｃｏｓθを用いた判定が行われなくともよい。
【００９５】
その後、走行位置Ｐ１（ｘ１（ｎ−３）、ｙ１（ｎ−３））及び走行位置Ｐ１（ｘ１（ｎ−４）、ｙ１（ｎ−４））が、夫々、新たな走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び新たな走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））として取り扱われる。しかしながら、この場合も、図示しないものの、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡上には存在しない。従って、パラメータｔが０以上でない又は１未満でないと判定される。このため、図１１に示すように、走行位置Ｐ１（ｘ１（ｎ−４）、ｙ１（ｎ−４））及び走行位置Ｐ１（ｘ１（ｎ−５）、ｙ１（ｎ−５））が、夫々、新たな走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））及び新たな走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））として取り扱われる。
【００９６】
この場合、図１１に示すように、垂点Ｈは、走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡上には存在する。更に、自車両１０の現在の進行方向と先行車両２０の走行軌跡の進行方向とが大きく乖離していない。このため、自車両１０の現在の走行位置Ｐ０（Ｘ０、Ｙ０）と走行位置Ｐ１（ｘ１（ｉ−１）、ｙ１（ｉ−１））及び走行位置Ｐ１（ｘ１（ｉ）、ｙ１（ｉ））を結ぶことで得られる先行車両２０の走行軌跡との間の横偏差ｈが算出される。つまり、横偏差ｈを算出するために適切な先行車両２０の走行軌跡（つまり、自車両１０の現在位置Ｐ０（Ｘ０、Ｙ０）付近を先行車両２０が走行していた時点での走行軌跡）が選択された上で、横偏差ｈが算出される。その結果、本実施形態の走行車線認識装置１００は、自車両１０と先行車両２０とが同一車線を走行しているか否かを好適に判定することができる。つまり、本実施形態の走行車線認識装置１００は、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）の検出精度の悪化による影響を抑制した上で、自車両１０と先行車両２０とが同一車線を走行しているか否かを好適に判定することができる。
【００９７】
尚、上述したように、先行車両２０の走行位置Ｐ１（Ｘ１、Ｙ１）の検出精度の悪化は、先行車両２０の車速ｖ１が相対的に遅い（例えば、車速ｖ１が３６ｋｍ／ｈ未満となる）場合に顕著になる。このため、自車両１０と先行車両２０とが同一車線を走行しているか否かの判定精度の悪化を防止するために主として行われる図５のステップＳ２０２からステップＳ２０５の動作（特に、パラメータｃｏｓθを用いた動作）は、先行車両２０の車速ｖ１が相対的に遅い場合に選択的に行われてもよい。
【００９８】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う走行車線認識装置もまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【００９９】
１０  自車両
２０  先行車両
１００  走行車線認識装置
１１  ＥＣＵ
１２  記憶装置
１４  車両センサ
ＡＮＴ  アンテナ
【図１】
2013161113.tif 000006
【図２】
2013161113.tif 000007
【図３】
2013161113.tif 000008
【図４】
2013161113.tif 000009
【図５】
2013161113.tif 000010
【図６】
2013161113.tif 000011
【図７】
2013161113.tif 000012
【図８】
2013161113.tif 000013
【図９】
2013161113.tif 000014
【図１０】
2013161113.tif 000015
【図１１】
2013161113.tif 000016