(57)【要約】【課題】車両の実際の走行軌跡に基づいて地図データを書き換える技術において、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減する。【解決手段】地図データに記載された１つのカーブＣ１−Ｃ２を車両が実際に通過した走行軌跡Ｐ１〜Ｐ１４に基づいて、地図データに記載されたカーブＣ１−Ｃ２の情報を書き換える地図データ書き換え装置において、走行軌跡Ｐ１〜Ｐ１４に基づいて、地図データに記載されたのカーブＣ１−Ｃ２内で、向きが交互に変わる３個のカーブ検出した場合、カーブの情報を書き換えることを禁止する。【選択図】図７
2015075423.tif 000002
【特許請求の範囲】
【請求項１】
地図データに記載された１つのカーブ（Ｃ１−Ｃ２）を車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、
前記禁止手段は、前記走行軌跡に基づいて、前記地図データに記載された前記１つのカーブ内で、第１のカーブ、前記第１のカーブの後に発生して前記第１のカーブと向きが異なる第２のカーブ、および、前記第２のカーブの後に発生して前記第２のカーブと向きが異なる第３のカーブを検出した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置。
【請求項２】
前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記禁止手段は、前記走行軌跡に基づいて、前記地図データに記載された前記１つのカーブ内で、前記第１のカーブ、前記第２のカーブ、および、前記第３のカーブを検出し、更に、前記走行軌跡の前記想定軌跡に対する逸脱量が、基準値以上であると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする請求項１に記載の地図データ書き換え装置。
【請求項３】
地図データに記載された、左側車線地域における右カーブまたは右側車線地域における左カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、
前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡をイン側車線に逸脱していると判定し、更に、前記１つのカーブの入口エリアおよび出口エリアで、前記走行軌跡が前記想定軌跡と同じ車線を通っていると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置。
【請求項４】
前記禁止手段は、前記頂点エリアで前記走行軌跡が前記想定軌跡をイン側車線に逸脱していると判定し、更に、前記入口エリアおよび前記出口エリアで前記走行軌跡が前記想定軌跡と同じ車線を通っていると判定し、更に、前記１つのカーブ内の前記走行軌跡が、前記１つのカーブの制限速度に所定のオフセット速度を加算した速度以上であると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする請求項３に記載の地図データ書き換え装置。
【請求項５】
地図データに記載された、左側車線地域における左カーブまたは右側車線地域における右カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、
前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記１つのカーブの手前で前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの入口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの出口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記１つのカーブの後で前記走行軌跡が前記想定軌跡と同じ車線に復帰したと判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置。
【請求項６】
前記禁止手段は、前記１つのカーブの手前で前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記入口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記頂点エリアで前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記出口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記１つのカーブの後で前記走行軌跡が前記想定軌跡と同じ車線に復帰したと判定し、更に、前記１つのカーブ内の前記走行軌跡が、前記１つのカーブの制限速度に所定のオフセット速度を加算した速度以上であると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする請求項５に記載の地図データ書き換え装置。
【請求項７】
コンピュータ（１）を、
地図データに記載された１つのカーブ（Ｃ１−Ｃ２）を車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）、および
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）として機能させる地図データ書き換えプログラムであって、
前記禁止手段は、前記走行軌跡に基づいて、前記地図データに記載された前記１つのカーブ内で、第１のカーブ、前記第１のカーブの後に発生して前記第１のカーブと向きが異なる第２のカーブ、および、前記第２のカーブの後に発生して前記第２のカーブと向きが異なる第３のカーブを検出した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換えプログラム。
【請求項８】
コンピュータ（１）を、
地図データに記載された、左側車線地域における右カーブまたは右側車線地域における左カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）、および
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）として機能させる地図データ書き換えプログラムであって、
前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡をイン側車線に逸脱していると判定し、更に、前記１つのカーブの入口エリアおよび出口エリアで、前記走行軌跡が前記想定軌跡と同じ車線を通っていると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換えプログラム。
【請求項９】
コンピュータ（１）を、
地図データに記載された、左側車線地域における左カーブまたは右側車線地域における右カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）、および
前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）として機能させる地図データ書き換えプログラムであって、
前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記１つのカーブの手前で前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの入口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの出口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記１つのカーブの後で前記走行軌跡が前記想定軌跡と同じ車線に復帰したと判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図データ書き換え装置および地図データ書き換えプログラムに関するものである。
【背景技術】
【０００２】
従来、車両が実際に走行して得た走行軌跡に基づいて、地図データの情報を書き換える技術が知られている（例えば、特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２０３２４０号公報
【特許文献２】特開２０１１−２４６６号公報
【特許文献３】特開２００９−１５６７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術は、車両が車線を逸脱せず、正しく走行していることが前提となっている。車両が車線を逸脱するように走行した場合にまで、走行軌跡に基づいて地図データの情報を書き換えてしまっては、地図データの内容が却って不正確になってしまう可能性がある。
【０００５】
本発明は上記点に鑑み、車両の実際の走行軌跡に基づいて地図データを書き換える技術において、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための請求項１に記載の発明は、地図データに記載された１つのカーブ（Ｃ１−Ｃ２）を車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、前記禁止手段は、前記走行軌跡に基づいて、前記地図データに記載された前記１つのカーブ内で、第１のカーブ、前記第１のカーブの後に発生して前記第１のカーブと向きが異なる第２のカーブ、および、前記第２のカーブの後に発生して前記第２のカーブと向きが異なる第３のカーブを検出した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置である。
【０００７】
地図データでは１つのカーブとなっているところで、車両の実際の走行軌跡に基づいて上記のような第１〜第３のカーブが検出された場合は、カーブ上に障害物があり、やむを得ず車線逸脱を行うような場合である可能性が高い。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【０００８】
また、上記目的を達成するための請求項３に記載の発明は、地図データに記載された、左側車線地域における右カーブまたは右側車線地域における左カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡をイン側車線に逸脱していると判定し、更に、前記１つのカーブの入口エリアおよび出口エリアで、前記走行軌跡が前記想定軌跡と同じ車線を通っていると判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置である。
【０００９】
レース模擬走法としてアウトインアウト走法およびＳ字ショートカット走法がある。これらの走法では、左側車線地域における右カーブまたは右側車線地域における左カーブでは、当該１つのカーブの中央地点を含む頂点エリアで走行軌跡が想定軌跡をイン側車線に逸脱し、更に、当該１つのカーブの入口エリアおよび出口エリアで走行軌跡が想定軌跡と同じ車線（アウト）を通る。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【００１０】
また、上記目的を達成するための請求項５に記載の発明は、地図データに記載された、左側車線地域における左カーブまたは右側車線地域における右カーブである１つのカーブ（Ｃ１−Ｃ２）を、車両が実際に通過した走行軌跡（Ｐ１〜Ｐ１４）に基づいて、前記地図データに記載された前記１つのカーブの情報を書き換える書き換え手段（１８０）と、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止する禁止手段（１４０、１５０、１５５、１６０）と、を備え、前記禁止手段は、前記地図データに基づいて、前記１つのカーブを正常に走行した場合の想定軌跡（Ｔｄ）を算出し、更に、前記１つのカーブの手前で前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの入口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記地図データによれば前記１つのカーブの中央地点を含む頂点エリアで、前記走行軌跡が前記想定軌跡と同じ車線を走行したと判定し、更に、前記１つのカーブの出口エリアで前記走行軌跡が前記想定軌跡をアウト側車線に逸脱していると判定し、更に、前記１つのカーブの後で前記走行軌跡が前記想定軌跡と同じ車線に復帰したと判定した場合、前記書き換え手段が前記地図データに記載された前記１つのカーブの情報を書き換えることを禁止することを特徴とする地図データ書き換え装置である。
【００１１】
左側車線地域における左カーブまたは右側車線地域における右カーブにおけるレース模擬走法としてアウトインアウト走法がある。この走法では、カーブに入る前にアウトに膨らみ、その後カーブ内でインに切り込み、カーブの出口付近で再度アウトに膨らみ、カーブを出た後にインに復帰する。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【００１２】
また、請求項１、３、５に係る発明の特徴は、請求項７、８、９に記載のように、プログラムの発明の特徴として捉えることもできる。
【００１３】
なお、上記および特許請求の範囲における括弧内の符号は、特許請求の範囲に記載された用語と後述の実施形態に記載される当該用語を例示する具体物等との対応関係を示すものである。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る車載システムの構成図である。
【図２】道路形状学習処理のフローチャートである。
【図３】地図カーブ情報に含まれるデータを表す図である。
【図４】第１走行内容判定処理のフローチャートである。
【図５】直前のカーブＣ１−Ｃ２およびその前後を走行した走行軌跡Ｐ１〜Ｐ１４の例を表す図である。
【図６】直前のカーブＣ１−Ｃ２およびその前後を走行した走行軌跡Ｐ１〜Ｐ１４の別例（右カーブ）を表す図である。
【図７】直前のカーブＣ１−Ｃ２およびその前後を走行した走行軌跡Ｐ１〜Ｐ１４の別例（左カーブ）を表す図である。
【００１５】
【図８】レース模擬走法（右カーブアウトインアウト走法）を行った場合の走行軌跡Ｐ１〜Ｐ１４の例を表す図である。
【図９】レース模擬走法（右カーブアウトインアウト走法）を行った場合の走行軌跡Ｐ１〜Ｐ１４の別例を表す図である。
【図１０】レース模擬走法（右カーブアウトインアウト走法）を行った場合の走行軌跡Ｐ１〜Ｐ１４の別例を表す図である。
【図１１】レース模擬走法（Ｓ字ショートカット走法）を行った場合の走行軌跡Ｐ１〜Ｐ１４の例を表す図である。
【図１２】レース模擬走法（左カーブアウトインアウト走法）を行った場合の走行軌跡Ｐ１〜Ｐ１４の例を表す図である。
【図１３】第２走行内容判定処理の一部を表すフローチャートである。
【図１４】第２走行内容判定処理の他の一部を表すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について説明する。図１に示すように、本実施形態に係る車載システムは、車両に搭載され、道路形状学習演算装置１（以下、単に演算装置という）、ＧＮＳＳ受信機２、ジャイロセンサ３、加速度センサ４、車両通信コントローラ５、および、地図データ記憶部６を有している。
【００１７】
演算装置１（地図データ書き換え装置の一例に相当する）は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備えた周知のマイクロコンピュータを用いて実現できる。上記ＣＰＵが上記ＲＡＭを作業領域として上記ＲＯＭに記録されたプログラムを実行することにより、演算装置１が後述する道路学習処理等を実行する。
【００１８】
ＧＮＳＳ受信機２は、全地球航法衛星システム（Global Navigation Satellite System、略してＧＮＳＳ）を用いて自車両の位置を特定する装置である。具体的には、ＧＮＳＳ受信機２は、複数の航法衛星から信号を受信することで、自車両の位置を特定することができる。演算装置１は、後述する衛星航法で、このＧＮＳＳ受信機２を用いる。
【００１９】
ジャイロセンサ３、加速度センサ４は、いずれも周知であり、本実施形態では、演算装置１によって後述する自律航法で用いられる。
【００２０】
車両通信コントローラ５は、ＣＡＮ（Controller Area Network）等の車両通信ネットワーク（車内ＬＡＮともいう）を介して、同じ車両内に搭載された他の車載機と通信するための通信インターフェースである。演算装置１は、この車両通信コントローラ５を用いて、車両通信ネットワークから車両速度情報およびハンドル舵角情報を取得し、後述する自律航法に用いる。
【００２１】
地図データ記憶部６は、ノード、リンク等の情報を含む周知の地図データが記録された記憶媒体である。本実施形態では、この記憶媒体は書き換え可能となっているので、地図データの内容は演算装置１によって修正可能となっている。
【００２２】
本実施形態では、この地図データを、地図表示、目的地までの経路探索等に加え、地図連携ＡＤＡＳ（Advanced Driving Assistance System、先進運転支援システム）にも使用するようになっている。地図連携ＡＤＡＳは、地図データに記録されている走路情報（例えば、走路の道路形状）に基づいて車両の挙動（舵角、加速、制動）を制御することで、ドライバーによる車両の運転を支援する周知のシステムである。
【００２３】
なお、地図表示、目的地までの経路探索、地図連携ＡＤＡＳのための制御を行う装置は、上記演算装置１でもよいし、演算装置１とは別に同じ車両内に搭載された装置（例えば車両用ナビゲーション装置）が行うようになっていてもよい。
【００２４】
地図データ記憶部６の地図データは、地図連携ＡＤＡＳに用いられるので、走路形状情報が高精度であることが望ましい。このため、本実施形態では、演算装置１が、自車両の走行軌跡に応じて地図データ中の走路形状情報を修正する。
【００２５】
特に、走路形状情報のうち、カーブにおける走路形状情報（以下、地図カーブ情報という）を修正するために、演算装置１は、図２にフローチャートで示す道路学習処理を実行する。演算装置１は、自車両の走行中（例えば、車速が時速１ｋｍ以上の場合）に、所定の演算周期ＴＴ毎に（例えば、１００ミリ秒に１回でもよいし、３０ミリ秒に１回でもよい）繰り返し、この道路学習処理を実行するようになっている。
【００２６】
演算装置１は、各回の道路学習処理では、まずステップ１１０で、走行軌跡を更新する。具体的には、自律航法（相対位置の算出）および衛星航法（絶対位置の算出）を相補的に用いて（ただし、マップマッチングは行わず）、自車両の現在の車両位置を特定し、特定した車両位置を、ＲＡＭ内の走行軌跡データに追加する。したがって、上記演算周期毎に、ＲＡＭ内の走行軌跡データに、自車両の最新の位置が追加されていくので、走行軌跡データは、演算周期毎の自車両の実際の走行軌跡を時系列順に表す点列データになる。
【００２７】
続いてステップ１２０では、ＲＡＭ内の走行軌跡データによって表される走行軌跡に対応する地図データを取得する。具体的には、まず、走行軌跡中の車両位置から、新しく追加された順に（すなわち、最新の車両位置、最新よりも１回前の車両位置、最新よりも２回前の車両位置といった風に）規定個数だけ、選び出す。この規定個数は、複数であり、２個でも、３個以上でもよいが、本実施形態では、５個とする。そして、走行軌跡から抽出した規定個数の車両位置のそれぞれについて、当該車両位置からの最短距離が最も短いリンクを、当該車両位置に対応する走行リンクとして、地図データから選んで取得する。ここで取得するリンクの数は、重複がなければ規定個数であり重複があれば規定個数未満である。
【００２８】
続いてステップ１３０では、上記のように抽出したリンクに基づいて、自車両が地図データ上のカーブを通過した後の所定の判定タイミングであるか否かを判定する。この際、演算装置１は、地図データに含まれる上述の地図カーブ情報を利用する。
【００２９】
地図カーブ情報は、カーブ毎に設定される情報である。そして地図カーブ情報は、図３に示すように、対象とするカーブ２１の曲率半径Ｒ、当該カーブの始点から終点までの曲がり角度θ、当該カーブの向き（右カーブか左カーブか）、および、当該カーブが含むリンク２２ａ〜２２ｆのリストを含んでいる。
【００３０】
演算装置１は、この地図カーブ情報に基づいて、
（Ａ）抽出した規定個数の車両位置のうち最も古い車両位置に対応する走行リンクが、いずれか１つのカーブに含まれる。
（Ｂ）抽出した規定個数の車両位置のうち最も古い車両位置以外に対応する走行リンクのすべてが、上記１つのカーブに含まれない。
という２つの条件（Ａ）、（Ｂ）の両方が満たされる場合に、自車両が地図データ上のカーブを通過した後の所定の判定タイミングであると判定し、それ以外の場合には、当該判定タイミングでないと判定する。
【００３１】
つまり、カーブを通過した後の所定の判定タイミングは、カーブを通過してある程度車両が走行した時点のタイミングに相当する。
【００３２】
そして、自車両が地図データ上のカーブを通過した後の所定の判定タイミングであると判定した場合は、ステップ１４０に進み、当該判定タイミングでないと判定した場合は、今回の道路学習処理を終了する。
【００３３】
したがって、演算装置１は、当該判定タイミングでないとステップ１３０で判定する状況（例えば、直線道路を長く走行している状況）では、ステップ１１０、１２０、１３０を繰り返すことで、ＲＡＭ内の走行軌跡データに、自車両の位置を順次追加蓄積していく。
【００３４】
一方、演算装置１は、自車両が地図データ上のカーブを通過した後の所定の判定タイミングが到来した時点で、ステップ１３０からステップ１４０に進み、第１走行内容判定処理を実行する。
【００３５】
第１走行内容判定処理では、自車両が直前のカーブで障害物回避走行をしたか否かを判定して判定結果を障害物回避走行フラグに反映させる。なお、ここおよびこれ以降で言及される直前のカーブとは、ステップ１３０で地図カーブ情報に基づいて直前リンクが含まれると判定した１つのカーブである。
【００３６】
この第１走行内容判定処理の詳細を、図４に示す。演算装置１は、まずステップ２０５で、ＲＡＭ内の走行軌跡データのうち、直前のカーブを走行した走行軌跡を抽出する。具体的には、図５に例示するように、走行履歴データに含まれる複数の車両位置Ｐ１〜Ｐ１４のそれぞれについて、当該車両位置からの最短距離が最も短いリンクを特定して走行リンクとする。例えば、リンクＬ１〜Ｌ７のうち、車両位置Ｐ１の走行リンクは、リンクＬ１であり、車両位置Ｐ７の走行リンクは、リンクＬ４である。
【００３７】
なお、図５において、実線Ｓ１、Ｓ２は、道路境界を表しており、破線Ｃ１、Ｃ２は、それぞれカーブの入口および出口を表している。
【００３８】
そして、地図カーブ情報によれば直前のカーブに含まれるリンク（すなわち、リンクＬ２〜Ｌ６）のいずれかを走行リンクとする複数の車両位置Ｐ３〜Ｐ９を、直前のカーブを走行した走行軌跡として、ＲＡＭ内の走行軌跡データから抽出する。
【００３９】
続いてステップ２１０では、ステップ２０５で抽出した走行軌跡Ｐ３〜Ｐ９に基づいて、カーブの検出を行う。走行軌跡に基づいてカーブの検出を行う技術は周知であるが、ここでは、その一例を説明する。
【００４０】
まず、抽出した走行軌跡中の車両位置Ｐ３〜Ｐ９のそれぞれにおけるカーブ曲率半径およびカーブの向き（すなわち、右カーブか左カーブか）を算出する。ある車両位置におけるカーブ曲率半径およびカーブの向きは、その車両位置およびその車両位置の近傍にある２個以上の他の車両位置に基づいて算出する。例えば、車両位置Ｐ６におけるカーブ曲率半径およびカーブの向きは、車両位置Ｐ５、Ｐ６、Ｐ７の３つの位置を用いて算出してもよい。
【００４１】
次に、抽出した走行軌跡中の車両位置Ｐ３〜Ｐ９から、カーブ曲率半径が所定長さ以上となっている車両位置、すなわち、実質的に直進しているときの車両位置を、取り除く。図５のように自車両が走行した例では、車両位置Ｐ３〜Ｐ９のうち実質的に直進しているときの車両位置はないので、１個も取り除かれない。
【００４２】
ここで、車両位置Ｐ１〜Ｐ１４が、図５（通常のカーブ走行に相当する）とは異なる図６のようになった場合について説明する。なお、図６中の各符号が指し示すものの意味は、図５と同じである。
【００４３】
車両位置Ｐ１〜Ｐ１４が図６のように蛇行する場合は、カーブ上に障害物Ｘ(落下物、工事現場、駐車車両等)があり、やむを得ず車線逸脱を行うような場合である。すなわち、外的要因Ｘによる正しくない走行が発生した場合である。このような場合の走行軌跡Ｐ３〜Ｐ９は、地図カーブ情報の修正に用いたくない。
【００４４】
図６のように自車両が走行した例の場合、ステップ２０５で抽出した走行軌跡中の車両位置Ｐ３〜Ｐ９のうち、車両位置Ｐ７が、カーブ曲率半径が所定長さ以上となっている車両位置なので、取り除かれる。
【００４５】
ここで更に、車両位置Ｐ１〜Ｐ１４が、右カーブにおける図５や図６とは異なり、左カーブにおける図７のようになった場合について説明する。なお、図７中の各符号が指し示すものの意味は、図５と同じである。
【００４６】
車両位置Ｐ１〜Ｐ１４が図７のように蛇行する場合は、カーブ上に障害物Ｘ(落下物、工事、駐車車両等)があり、やむを得ず車線逸脱を行うような場合である。すなわち、外的要因Ｘによる正しくない走行が発生した場合である。このような場合の直前のカーブの走行軌跡Ｐ３〜Ｐ９も、地図カーブ情報の修正に用いたくない。
【００４７】
図７のように自車両が走行した例の場合、ステップ２０５で抽出した走行軌跡中の車両位置Ｐ３〜Ｐ９のうち、車両位置Ｐ３、Ｐ９が、カーブ曲率半径が所定長さ以上となっている車両位置なので、取り除かれる。
【００４８】
そして、取り除いた後に残った走行軌跡、すなわち、実質的に曲がっているときの車両位置の群を、カーブの向きでグルーピングする。より具体的には、走行順に１つだけ孤立したカーブの向きとなっている車両位置、および走行順に２つ以上連続してカーブの向きが同じになっている車両位置の群を、１つのカーブとしてグルーピングする。このような処理により、走行軌跡に基づくカーブが検出される。
【００４９】
図５の例の場合、車両位置の群Ｐ３〜Ｐ９のうちすべてが、右カーブとなっているので、抽出された車両位置の群Ｐ３〜Ｐ９のすべてが、１個の右カーブとしてグルーピングされる。
【００５０】
これに対し、図６の例の場合、車両位置Ｐ７が取り除かれた後に残った車両位置の群Ｐ３〜Ｐ６、Ｐ８、Ｐ９のうち、車両位置Ｐ３、Ｐ４は連続して右カーブとなっている。そして、車両位置Ｐ５、Ｐ６は連続して左カーブとなっており、車両位置Ｐ８、Ｐ９は連続して右カーブになっている。
【００５１】
したがって、車両位置Ｐ３、Ｐ４が１個の右カーブとしてグルーピングされ、車両位置Ｐ５、Ｐ６が１個の左カーブとしてグルーピングされ、車両位置Ｐ８、Ｐ９が１個の右カーブとしてグルーピングされる。
【００５２】
また、図７の例の場合、車両位置Ｐ３、Ｐ９が取り除かれた後に残った車両位置の群Ｐ４〜Ｐ８のうち、車両位置Ｐ４は１個で孤立して右カーブとなっており、車両位置Ｐ５、Ｐ６は連続して左カーブとなっている。また、車両位置Ｐ７は１個１個で孤立して右カーブになっており、車両位置Ｐ８は１個１個で孤立して連続して左カーブになっている。
【００５３】
したがって、車両位置Ｐ３が１個の右カーブとしてグルーピングされ、車両位置Ｐ５、Ｐ６が１個の左カーブとしてグルーピングされ、車両位置Ｐ７が１個の右カーブとしてグルーピングされ、車両位置Ｐ９が１個の左カーブとしてグルーピングされる。
【００５４】
このようにしてグルーピングされた個々のカーブを、１個のカーブとして検出する。したがって、図５の例では、１個の右カーブのみが検出され、図６の例では、右、左、右と向きが交互に変わる３つのカーブ（順に第１のカーブ、第２のカーブ、第３のカーブの一例に相当する）が検出される。また、図７の例では、右、左、右、左と向きが交互に変わる４つのカーブ（最初の３つのカーブが、順に第１のカーブ、第２のカーブ、第３のカーブの一例に相当する）が検出される。
【００５５】
続いてステップ２１５では、ステップ２１０において、向きが交互（右、左、右の順でもよいし、左、右、左の順でもよい）に変わる３つのカーブを検出したか否かを判定する。
【００５６】
図５の例では、１個しかカーブを検出していないので、検出していないと判定される。また、図６、図７の例では、検出したと判定される。なお、図７の例について補足説明すると、右、左、右、左と向きが交互に変わる４つのカーブが検出されたということは、当然のことながら、右、左、右と向きが交互に変わる３つのカーブ（最初の３つのカーブ）が検出されたことにもなる。
【００５７】
ステップ２１５で検出していると判定した場合は、ステップ２２０に進む。検出していないと判定した場合は、ステップ２３５に進み、障害物回避走行フラグをオフに設定し、第１走行内容判定処理を終了する。
【００５８】
なお、外的要因Ｘによる車線逸脱が発生する場合であっても、図６の例に対して、車両位置Ｐ６位置がカーブのアウト側にずれ、その結果、車両位置Ｐ５、Ｐ６、Ｐ７が一直線に並ぶ可能性がある。この場合は、車線を逸脱するためのステアリング操作が発生し、さらにカーブの形状に沿った経路を辿るためのステアリング操作が発生し、その後車線逸脱した分をキャンセルするだけの前述と逆方向のステアリング操作が発生し、計４箇所のカーブが地図データに基づくカーブ中に発生する。
【００５９】
その場合、図６の例に対して、車両位置Ｐ６のカーブ曲率半径が所定長さ以上に変わり、車両位置Ｐ７のカーブ曲率半径が所定長さ未満に変わると共にカーブの方向が左カーブになる。つまり、進行順に、右カーブ、左カーブ、左カーブ、右カーブという４つのカーブ走行が発生する。
【００６０】
このような場合、演算装置１は、ステップ２１０で、まず、車両位置の群Ｐ３〜Ｐ９から、カーブ曲率半径が所定長さ以上である車両位置Ｐ６を取り除く。そして、グルーピングにおいて、車両位置Ｐ３、Ｐ４が１個の右カーブとしてグルーピングされ、車両位置Ｐ５、Ｐ７が１個の左カーブとしてグルーピングされ、車両位置Ｐ８、Ｐ９が１個の右カーブとしてグルーピングされる。なお、車両位置Ｐ５と車両位置Ｐ７は、車両位置Ｐ６が取り除かれているので、連続した車両位置とみなされる。その結果、図６の例と同様に、右、左、右と向きが交互に変わる３つのカーブが検出され、ステップ２１５では、向きが交互に変わる３つのカーブを検出したと判定し、ステップ２２０に進む。
【００６１】
ステップ２２０では、直前のカーブＣ１−Ｃ２に含まれるリンクＬ２〜Ｌ６に接続するノードＮ１〜Ｎ６の位置に基づいて、当該カーブＣ１−Ｃ２を正常に走行した場合の想定軌跡を決定する。本実施形態の演算装置１は、左側車線地域（左側通行地域ともいう）の道路を対象としているので、図６に例示するように、ノードＮ１〜Ｎ６を自車両の進行方向左側にずらしたオフセット位置Ｎｄ１〜Ｎｄ６を設定する。そして、それらオフセット位置Ｎｄ１〜Ｎｄ６を直線で繋いだ経路Ｔｄを、想定軌跡とする。
【００６２】
ここで、ノードＮ１〜Ｎ６とオフセット位置Ｎｄ１〜Ｎｄ６の位置関係について更に説明する。ノードＮｉ（ただしｉ＝１〜６）からオフセット位置Ｎｄｉ（ただしｉ＝１〜６）への位置ずれの距離は、例えば、あらかじめ定められた平均的な車線幅の１／２程度の距離として、あらかじめ設定しておく。ノードＮｉからオフセット位置Ｎｄｉへの位置ずれの方向は、当該ノードの前のノードから次のノードまで引いた直線に垂直で、かつ、自車両の進行方向に対して左側となる方向に設定する。なお、自車両の進行方向は、走行軌跡Ｐ３〜Ｐ９に基づいて設定する。
【００６３】
想定軌跡Ｔｄを決定した後は、ステップ２２５に進み、決定した想定軌跡Ｔｄを、ステップ２１０で抽出した走行軌跡Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９と比較し、走行軌跡Ｐ３〜Ｐ９の想定軌跡Ｔｄに対する逸脱量が、基準値以上であるか否かを判定する。
【００６４】
ここで、逸脱量としては、走行軌跡に含まれるすべての車両位置Ｐ３〜Ｐ９の各々について、当該車両位置から想定軌跡Ｔｄまでの最短距離を算出し、それら最短距離のうち最大値を逸脱量としてもよい。あるいは、それら最短距離のうち大きい方から順に３個の最短距離の平均値を逸脱量としてもよい。
【００６５】
また、逸脱量と比較する基準値は、例えば、あらかじめ定められた平均的な車線幅の１倍以下かつ２／３倍以上に相当する距離として、あらかじめ設定しておく。外的要因によって車線逸脱が発生する場合は、多くの場合、上記逸脱量が車線幅の２／３に相当する距離より大きくなると考えられる。
【００６６】
図６、図７の例では、外的要因によって車線逸脱が発生した例なので、逸脱量が基準値以上であったと判定されるような逸脱量となる。その場合は、ステップ２２５では、直前のカーブの走行軌跡が想定軌跡を大きく逸脱したと判定し、ステップ２３０に進み、障害物回避走行フラグをオンに設定し、その後第１走行内容判定処理を終了する。
【００６７】
なお、図６、図７の例と異なり、逸脱量が基準値未満であった場合は、ステップ２２５では、直前のカーブの走行軌跡が想定軌跡を大きく逸脱していないと判定し、ステップ２３５に進み、障害物回避走行フラグをオフに設定し、第１走行内容判定処理を終了する。
【００６８】
このように、走行軌跡の想定軌跡に対する逸脱量に応じて、障害物回避走行フラグのオン、オフを切り替える。このようにするのは、走行軌跡に基づいて３個の交互カーブを検出したとしても、走行軌跡の想定軌跡に対する逸脱量が小さい場合は、走行軌跡に基づいて地図データ（具体的には地図カーブ情報）を書き換えても大きな間違いに至らないと考えられるからである。
【００６９】
第１走行内容判定処理が終了した後、演算装置１は、図２のステップ１５０に進み、直前のカーブの走法が障害物回避走法であったか否かを、障害物回避走行フラグがオンか否かで判定する。
【００７０】
図５の例では、障害物回避走行フラグがオフなので、ステップ１５５に進む。一方、図６、図７の例では、障害物回避走行フラグがオンなので、直前のカーブの走法が障害物回避走法であったと判定し、ステップ１５５、１６０、１７０、１８０をバイパスして、ステップ１９０に進む。ステップ１８０をバイパスすることにより、直前のカーブの地図カーブ情報の書き換えを禁止する。
【００７１】
ステップ１９０では、ＲＡＭ内の走行軌跡データ、すなわち、ＲＡＭ中のＰ１４以前の走行軌跡データを破棄する。その後、今回の道路学習処理を終了する。
【００７２】
このように、地図データの地図カーブ情報において１つのカーブであると記録されているカーブ（直前のカーブ）において（ステップ１３０参照）、走行軌跡に基づいて右、左、右と向きが交互に変わる３つのカーブが検出される場合がある。そしてその場合（ステップ２１５参照）、当該直前のカーブの想定軌跡が当該直前のカーブの走行軌跡を大きく逸脱していれば（ステップ２２５参照）、障害物回避走行フラグをオンに設定することで（ステップ２３０参照）、地図カーブ情報の書き換えを禁止する（ステップ１５０参照）。したがって、直前のカーブの走行規制は、地図カーブ情報の修正に用いられない。
【００７３】
ここで、ステップ１５０で障害物回避走行フラグがオフであると演算装置１が判定した場合について説明する。図５〜図７の例のうち、ステップ１５０で障害物回避走行フラグがオフであると判定するのは、図５の例のみである。
【００７４】
また、図８〜図１２のように自車両が走行した例でも、演算装置１は、ステップ１５０で障害物回避走行フラグがオフであると判定する。図８の例は、右カーブの初期にアウトコースを維持し、中期にイン（反対車線）に切り込んでカーブ出口でアウトに復帰する走法で走行した場合の例である。また、図９の例は、右カーブの初期にイン（反対車線）に切り込んでカーブ中期にアウトに復帰する走法で走行した場合の例である。また、図１０の例は、右カーブの初期にイン（反対車線）に切り込んでカーブ出口でアウトに復帰する走法で走行した場合の例である。
【００７５】
また、図１１の例は、左右に連続するコーナーを直線的にショートカットする（一部反対車線を通る）走法で走行した場合の例である。また、図１２の例は、左カーブにおいて、カーブに入る前にアウト（対向車線）に膨らみ、その後カーブ内でイン（元の車線）に切り込み、カーブの出口付近で再度アウトに膨らみ、カーブを出た後にインに復帰する走法で走行した場合の例である。
【００７６】
図８〜図１２のいずれで行われる走法も、レースでよく使用されるレース模擬走法である。図８〜図１０、図１２の例は、アウトインアウト走法であり、図１１の例はＳ字ショートカット走法である。
【００７７】
より具体的には、図８〜図１２の例では、図５〜図７の例と同様に、図２の道路学習処理において、ステップ１１０で走行軌跡データに車両位置Ｐ１４を追加した場合、ステップ１２０で地図データを取得する。そして更に、図５〜図７の例と同様に、ステップ１３０で、地図データ上のカーブを通過した後の所定の判定タイミングであると判定し、ステップ１４０の第１走行内容判定処理に進む。
【００７８】
そして、図８〜図１３の例では、第１走行内容判定処理において、ステップ２０５で直前のカーブを走行した走行軌跡Ｐ３〜Ｐ９を抽出し、ステップ２１０で、当該走行軌跡Ｐ３〜Ｐ９からカーブを検出する。この点は、図５〜図７の例と同じである。
【００７９】
ただし、ステップ２１０では、図８〜図１０の例においては、車両位置Ｐ３〜Ｐ９はすべて、カーブの向きが右であると判定されるか、そうでなくても、カーブ曲率半径が所定長さ以上であるとして取り除かれる。また、図１１の例においては、車両位置Ｐ３〜Ｐ９はすべて、カーブ曲率半径が所定長さ以上であるとして取り除かれる。また、図１２の例においては、車両位置Ｐ３〜Ｐ９はすべて、カーブの向きが左か、そうでなくても、カーブ曲率半径が所定長さ以上であるとして取り除かれる。
【００８０】
したがって、図８〜図１２の例のいずれにおいても、演算装置１は、ステップ２１５で３個の交互カーブを検出していないと判定し、ステップ２３５に進み、障害物回避走行フラグをオフにする。したがって、ステップ１５０では、直前のカーブの走法が障害物回避走法でないと判定し、ステップ１５５に進む。
【００８１】
ステップ１５５では、演算装置１は、第２走行内容判定処理を実行する。第２走行内容判定処理では、自車両が直前のカーブでレース模擬走行したか否かを判定して判定結果をレース模擬走行フラグに反映させる。
【００８２】
以下、図５、図８〜図１２の例を対象として、この第２走行内容判定処理の詳細を説明する。第２走行内容判定処理のフローチャートを図１３、図１４に示す。まずステップ３０５では、直前のカーブＣ１−Ｃ２に含まれるリンクＬ２〜Ｌ６に接続するノードＮ１〜Ｎ６の位置に基づいて、当該カーブＣ１−Ｃ２を正常に走行した場合の想定軌跡を決定する。この処理内容は、図４で示した第１走行内容判定処理のステップ２２０と同じである。これにより、想定軌跡Ｔｄ（図８〜図１２参照）が算出される。なお、図５の例でも、図示はしていないが、想定軌跡Ｔｄが算出される。
【００８３】
続いてステップ３１０では、直前のカーブにおける入口リンク、出口リンク、頂点リンクを決定する。具体的には、入口リンクとしては、地図カーブ情報によれば当該直前のカーブに含まれるリンクのうち、最も入口側のリンクＬ２を選ぶ。また、出口リンクとしては、地図カーブ情報によれば当該直前のカーブに含まれるリンクのうち、最も出口側のリンクＬ６を選ぶ。
【００８４】
また、地図カーブ情報によれば当該直前のカーブに含まれるリンクＬ２〜Ｌ６を辿って、入口リンクの入口側端点Ｎ１および出口リンクの出口側端点Ｎ６から等距離にある地点（すなわち、カーブの中央地点）を含むリンクＬ４を、頂点リンクとして選ぶ。あるいは、当該リンクＬ４およびその前後それぞれ１個のリンクＬ３、Ｌ５から成るリンク群Ｌ３〜Ｌ５を、頂点リンクとしてもよい。この頂点リンクは、当該直前のカーブの頂点部分のリンクに相当する。
【００８５】
続いてステップ３１５では、地図カーブ情報に基づいて、当該直前のカーブが右カーブか左カーブかを判定する。図５、図８〜図１１の例では、当該直前のカーブＣ１−Ｃ２は、地図カーブ情報によれば右カーブなので、右カーブであると判定してステップ３２０に進む。図１２の例では、当該直前のカーブＣ１−Ｃ２は、地図カーブ情報によれば左カーブなので、左カーブであると判定してステップ３４５に進む。
【００８６】
ステップ３２０では、走行軌跡Ｐ３〜Ｐ９が、頂点エリアで想定軌跡Ｔｄをイン側車線に逸脱しているか否かを判定する。具体的には、まず、直前のカーブ内の車両位置Ｐ３〜Ｐ９のそれぞれについて、当該車両位置からの最短距離が最も短いリンクを、当該車両位置に対応する走行リンクとして選ぶ。そして、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した頂点リンクＬ４が走行リンクとなっている車両位置を選ぶ。図５の例の場合、２個の車両位置Ｐ６、Ｐ７が選ばれ、図８〜図１１の例の場合、１個の車両位置Ｐ６が選ばれる。
【００８７】
このようにして選ばれた車両位置が、頂点エリア中の車両位置に相当する。ステップ３２０では、このようにして選ばれた車両位置のうち少なくとも１つが、想定軌跡Ｔｄをイン側に大きく逸脱していれば、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄをイン側車線に逸脱していると判定する。具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄからのずれ方向および想定軌跡Ｔｄまでの最短距離を算出する。そして、ずれ方向が右方向（イン方向に相当する）であり、かつ、最短距離が頂点閾値距離以上である車両位置が１つでもあれば、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄをイン側車線に逸脱していると判定する。なお、頂点閾値距離は、あらかじめ定められた平均的な斜線幅でもよいし、当該平均的な斜線幅の２／３でもよいし、それらの間の値でもよい。
【００８８】
図５の例では、想定軌跡は図示していないが、左側通行の道路なのでリンクＬ２〜Ｌ６の左側に想定軌跡がある。したがって、車両位置Ｐ５もＰ６も想定軌跡までの最短距離が頂点閾値距離未満である。したがって、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄをイン側車線に逸脱していないと判定する。更に、ステップ３４０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【００８９】
図８〜図１１の例では、車両位置Ｐ６から想定軌跡Ｔｄまでの最短距離が１車線分以上あるので、当該最短距離は頂点閾値距離以上であり、また、想定軌跡Ｔｄから車両位置Ｐ６までのずれ方向が右方向（イン方向に相当する）である。したがって、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄをイン側車線に逸脱していると判定する。更に、ステップ３２５に進む。
【００９０】
続いてステップ３２５では、走行軌跡Ｐ３〜Ｐ９が、出口エリアおよび入口エリアの両方で、想定軌跡Ｔｄと同じ車線を通っているか否かを判定する。
【００９１】
具体的には、まず、ステップ３２０で選んだ各車両位置Ｐ３〜Ｐ９の走行リンクに基づいて、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した入口リンクＬ２が走行リンクとなっている車両位置を選ぶ。図８〜図１１の例の場合、２個の車両位置Ｐ３、Ｐ４が選ばれる。そして、このようにして選ばれた車両位置に基づいて、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄと同じ車線を通っているか否かを判定する。具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄまでの最短距離を算出する。そして、算出した最短距離のうち少なくとも１つが入口閾値距離未満であれば、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄと同じ車線を通っていると判定する。なお、入口閾値距離は、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【００９２】
更に、ステップ３２０で算出した各車両位置Ｐ３〜Ｐ９の走行リンクに基づいて、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した出口リンクＬ６が走行リンクとなっている車両位置を選ぶ。図８〜図１０の例の場合、２個の車両位置Ｐ８、Ｐ９が選ばれ、図１１の例の場合、３個の車両位置Ｐ７、Ｐ８、Ｐ９が選ばれる。そして、このようにして選ばれた車両位置に基づいて、走行軌跡Ｐ３〜Ｐ９が出口エリアで想定軌跡Ｔｄと同じ車線を通っているか否かを判定する。具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄまでの最短距離を算出する。そして、算出した最短距離のうち少なくとも１つが出口閾値距離未満であれば、走行軌跡Ｐ３〜Ｐ９が出口エリアで想定軌跡Ｔｄと同じ車線を通っていると判定する。なお、出口閾値距離は、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【００９３】
図８の例では、入口リンクＬ２を走行リンクとする車両位置Ｐ３、Ｐ４の両方で、想定軌跡Ｔｄまでの最短距離が入口閾値未満であり、出口リンクＬ６を走行リンクとする車両位置Ｐ８、Ｐ９のうちＰ９で、想定軌跡Ｔｄまでの最短距離が出口閾値未満である。
【００９４】
図９の例では、入口リンクＬ２を走行リンクとする車両位置Ｐ３、Ｐ４のうちＰ３で、想定軌跡Ｔｄまでの最短距離が入口閾値未満であり、出口リンクＬ６を走行リンクとする車両位置Ｐ８、Ｐ９の両方で、想定軌跡Ｔｄまでの最短距離が出口閾値未満である。図１０の例では、入口リンクＬ２を走行リンクとする車両位置Ｐ３、Ｐ４のうちＰ３で、想定軌跡Ｔｄまでの最短距離が入口閾値未満であり、出口リンクＬ６を走行リンクとする車両位置Ｐ８、Ｐ９のうちＰ９で、想定軌跡Ｔｄまでの最短距離が出口閾値未満である。図１１の例では、入口リンクＬ２を走行リンクとする車両位置Ｐ３、Ｐ４のうちＰ３で、想定軌跡Ｔｄまでの最短距離が入口閾値未満であり、出口リンクＬ６を走行リンクとする車両位置Ｐ７、Ｐ８、Ｐ９のうちＰ９で、想定軌跡Ｔｄまでの最短距離が出口閾値未満である。
【００９５】
したがって、図８〜図１１の例のいずれにおいても演算装置１は、ステップ３２５で、走行軌跡Ｐ３〜Ｐ９が、出口エリアおよび入口エリアの両方で、想定軌跡Ｔｄと同じ車線を通っていると判定し、ステップ３３０に進む。
【００９６】
なお、図８〜図１１の例とは異なり、例えば、図１０において車両位置Ｐ１〜Ｐ３が、イン側の車線にある例では演算装置１は、走行軌跡Ｐ３〜Ｐ９が、入口エリアで、想定軌跡Ｔｄと同じ車線を通っていないと判定され、ステップ３４０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【００９７】
ステップ３３０では、直前のカーブ内の走行軌跡Ｐ３〜Ｐ９において大幅な速度超過があるか否かを判定する。大幅な速度超過があるということは、レース模擬走行である可能性が高いということである。これは、レース模擬走行は普通、より早くカーブを抜けるために行うものだからである。
【００９８】
以下、この判定の具体的方法を記載する。演算装置１は、まず、走行軌跡データ中の車両位置Ｐ３〜Ｐ９に基づいて、当該カーブ内の自車両の走行速度ＶＶを算出し、当該直前のカーブにおける基準速度ＶＴを算出する。車両位置は、道路学習処理の演算周期ＴＴ毎に１個追加されるので、例えば、車両位置Ｐ３〜Ｐ９を走行順に直線で繋いだ経路の長さをＬＬ、車両位置Ｐ３〜Ｐ９の数をＮＮとすると、
ＶＶ＝ＬＬ／｛（ＮＮ−１）×ＴＴ｝
という式で算出してもよい。基準速度ＶＴは、当該カーブに含まれるリンクに対して地図データ中で付与されている制限速度を採用する。
【００９９】
そして、
ＶＶ≧ＶＴ＋Ｘ
という式が満たされるか否かで、直前のカーブ内の走行軌跡Ｐ３〜Ｐ９において大幅な速度超過があるか否かを判定する。ここで、Ｘは、所定のオフセット速度（値は正）であり、例えば、３０ｋｍ／ｈでもよい。
【０１００】
図８〜図１１の例のような場合でも、大幅な速度超過があると判定される場合もあれば、大幅な速度超過がないと判定される場合もある。大幅な速度超過があると判定した場合、ステップ３３５に進み、レース模擬走行フラグをオンに設定し、第２走行内容判定処理を終了する。大幅な速度超過がないと判定した場合、ステップ３４０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１０１】
ここで、図１３のステップ３１５で、当該直前のカーブが左カーブであると判定された場合について説明する。図１２の例は、この場合に該当する。演算装置１は、左カーブであると判定した場合、図１４のステップステップ３４５に進み、想定軌跡Ｔｄを当該直前のカーブＣ１−Ｃ２の前後に延長する。
【０１０２】
具体的には、カーブの始点にあるノードＮ１および当該ノードＮ１よりも進行方向手前側のノードＮ０の位置に基づいて、ノードＮ１に対応するオフセット位置Ｎｄ１から、ノードＮ０を自車両の進行方向左側にずらしたオフセット位置Ｎｄ０までの直線を、現在の想定軌跡Ｔｄに追加する。
【０１０３】
更に、カーブの終点にあるノードＮ６および当該ノードＮ６よりも進行方向先側のノードＮ７の位置に基づいて、ノードＮ６に対応するオフセット位置Ｎｄ６から、ノードＮ７を自車両の進行方向左側にずらしたオフセット位置Ｎｄ７までの直線を算出する。そしてその直線を、現在の想定軌跡Ｔｄに追加する。
【０１０４】
続いてステップ３５０では、当該直前のカーブＣ１−Ｃ２の手前の所定範囲内で走行軌跡Ｐ１〜Ｐ１４が想定軌跡と同じ車線を一度でも通ったか否かを判定する。具体的には、走行軌跡データ内でカーブ内のリンクＬ２〜Ｌ６を走行リンクとする車両位置Ｐ３〜Ｐ９よりも前に記録された車両位置であり、かつ、当該カーブの始点にあるノードＮ１からの距離が基準距離未満である車両位置を抽出する。この基準距離は、例えば、５０ｍでもよいし、１００ｍでもよい。図１２の例では、この処理により、車両位置Ｐ１、Ｐ２が抽出される。抽出された車両位置は、カーブＣ１−Ｃ２の手前の所定範囲内にある車両位置に該当する。
【０１０５】
そして、これら抽出された車両位置Ｐ１、Ｐ２のそれぞれについて、想定軌跡Ｔｄまでの最短距離を算出する。そして、算出した最短距離のうち、１個でも入口手前閾値距離未満のものがあれば、当該直前のカーブＣ１−Ｃ２の手前の所定範囲内で走行軌跡Ｐ１〜Ｐ１０が想定軌跡Ｔｄと同じ車線を一度でも通っていたと判定する。また、入口手前閾値距離未満のものが１個もなければ、当該直前のカーブＣ１−Ｃ２の手前の所定範囲内で走行軌跡Ｐ１〜Ｐ１０が想定軌跡Ｔｄと同じ車線を一度も通っていないと判定する。なお、入口手前閾値距離は、例えば、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【０１０６】
図１２の例では、車両位置Ｐ１から想定軌跡Ｔｄへの最短距離が入口手前閾値距離未満であるから、カーブＣ１−Ｃ２の手前の所定範囲内で走行軌跡Ｐ１〜Ｐ１０が想定軌跡Ｔｄと同じ車線を通っていたと判定し、ステップ３５５に進む。
【０１０７】
また、図５の例の道路において、進行方向が図５とは逆で自車両が終始イン側（左側）を走行している別例（正常な走行の例）となる場合がある。この場合、演算装置１は当然に、カーブＣ１−Ｃ２の手前の所定範囲内で自車両が想定軌跡Ｔｄを走行していたと判定し、ステップ３５５に進む。
【０１０８】
これに対し、例えば、図１２において、カーブＣ１−Ｃ２の手前の所定範囲内で自車両が常に右側車線（反対車線）を走行してカーブＣ１−Ｃ２に入るような走行軌跡となっている場合には、地図データのリンクやノードの配置が間違っている可能性が高い。このような場合は、ステップ３５０で、カーブＣ１−Ｃ２の手前の所定範囲内で走行軌跡Ｐ１〜Ｐ１０が想定軌跡Ｔｄを一度も通っていないと判定し、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１０９】
ステップ３５５では、走行軌跡Ｐ３〜Ｐ９が、入口エリアで想定軌跡Ｔｄをアウト側車線に逸脱しているか否かを判定する。
【０１１０】
具体的には、まず、各車両位置Ｐ３〜Ｐ９の走行リンクをステップ３２０と同様に選ぶ。続いて、選んだ各車両位置Ｐ３〜Ｐ９の走行リンクに基づいて、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した入口リンクＬ２が走行リンクとなっている車両位置を選ぶ。図１２の例の場合、２個の車両位置Ｐ３、Ｐ４が選ばれる。
【０１１１】
このようにして選ばれた車両位置が、入口エリア中の車両位置に相当する。ステップ３５５では、このようにして選ばれた車両位置のうち少なくとも１つが、想定軌跡Ｔｄをアウト側に大きく逸脱していれば、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定する。
【０１１２】
具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄからのずれ方向および想定軌跡Ｔｄまでの最短距離を算出する。そして、ずれ方向が右方向（アウト方向に相当する）であり、かつ、最短距離が入口閾値距離以上である車両位置が１つでもあれば、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定する。なお、入口閾値距離は、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【０１１３】
図１２の例では、車両位置Ｐ３、Ｐ４の両方が、想定軌跡Ｔｄまでの最短距離が入口閾値距離以上なので、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定して、ステップ３６０に進む。
【０１１４】
これに対し、例えば、図５の道路において、進行方向が図５とは逆で自車両が終始イン側（左側）を走行している別例（正常な走行の例）が考えられる。この別例の場合、演算装置１は当然に、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡（イン側走行の軌跡になる）をアウト側車線に逸脱していないと判定して、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１１５】
続いてステップ３６０では、走行軌跡Ｐ３〜Ｐ９が、頂点エリアで想定軌跡Ｔｄと同じ車線を通っているか否かを判定する。
【０１１６】
具体的には、まず、ステップ３５５で選んだ各車両位置Ｐ３〜Ｐ９の走行リンクに基づいて、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した頂点リンクＬ４が走行リンクとなっている車両位置を選ぶ。図１２の例の場合、１個の車両位置Ｐ６が選ばれる。そして、このようにして選ばれた車両位置に基づいて、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄと同じ車線を通っているか否か判定する。具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄまでの最短距離を算出する。そして、算出した最短距離のうち少なくとも１つが頂点閾値距離未満であれば、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄと同じ車線を通っていると判定する。なお、頂点閾値距離は、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【０１１７】
図１２の例では、車両位置Ｐ６から想定軌跡Ｔｄまでの最短距離が頂点閾値距離よりも小さいので、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄと同じ車線を通っていると判定し、ステップ３６５に進む。
【０１１８】
これに対し、カーブＣ１−Ｃ２に入ってからは、入口エリアにおいて想定軌跡のアウト側に車線逸脱した後、頂点エリアにおいても常に車両位置から想定軌跡Ｔｄまでの最短距離が頂点閾値距離よりも大きい場合がある。この場合は、地図データのリンクやノードの配置が間違っている可能性が高い。このような場合は、ステップ３６０で、走行軌跡Ｐ３〜Ｐ９が頂点エリアで想定軌跡Ｔｄと同じ車線を通っていないと判定し、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１１９】
ステップ３６５では、走行軌跡Ｐ３〜Ｐ９が、出口エリアで想定軌跡Ｔｄをアウト側車線に逸脱しているか否かを判定する。
【０１２０】
具体的には、まず、ステップ３５５で選んだ各車両位置Ｐ３〜Ｐ９の走行リンクに基づいて、当該車両位置Ｐ３〜Ｐ９のうち、ステップ３１０で特定した出口リンクＬ６が走行リンクとなっている車両位置を選ぶ。図１２の例の場合、２個の車両位置Ｐ８、Ｐ９が選ばれる。
【０１２１】
このようにして選ばれた車両位置が、出口エリア中の車両位置に相当する。ステップ３６５では、このようにして選ばれた車両位置のうち少なくとも１つが、想定軌跡Ｔｄをアウト側に大きく逸脱していれば、走行軌跡Ｐ３〜Ｐ９が入口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定する。
【０１２２】
具体的には、このようにして選ばれた車両位置のそれぞれについて、想定軌跡Ｔｄからのずれ方向および想定軌跡Ｔｄまでの最短距離を算出する。そして、ずれ方向が右方向（アウト方向に相当する）であり、かつ、最短距離が出口閾値距離以上である車両位置が１つでもあれば、走行軌跡Ｐ３〜Ｐ９が出口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定する。なお、出口閾値距離は、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【０１２３】
図１２の例では、車両位置Ｐ８、Ｐ９の両方が、想定軌跡Ｔｄまでの最短距離が出口閾値距離以上なので、走行軌跡Ｐ３〜Ｐ９が出口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していると判定して、ステップ３７０に進む。
【０１２４】
これに対し、カーブＣ１−Ｃ２に入ってからは、入口エリアにおいて想定軌跡のアウト側に車線逸脱した後、頂点エリアにおいて想定軌跡の車線に復帰したものの、その後、出口エリアにおいても常に想定軌跡Ｔｄと同じ車線を走行する場合がある。このような場合は、地図データのリンクやノードの配置が間違っている可能性が高い。そして、このような場合は、出口エリアにおいても常に車両位置から想定軌跡Ｔｄまでの最短距離が出口閾値距離未満となる。したがって、演算装置１は、ステップ３６５で、走行軌跡Ｐ３〜Ｐ９が出口エリアで想定軌跡Ｔｄをアウト側車線に逸脱していないと判定して、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１２５】
ステップ３７０では、当該直前のカーブＣ１−Ｃ２の走行後、カーブＣ１−Ｃ２の直後の所定範囲内で、自車両が想定軌跡Ｔｄと同じ車線に復帰したか否かを判定する。
【０１２６】
具体的には、走行軌跡データ内でカーブ内のリンクＬ２〜Ｌ６を走行リンクとする車両位置Ｐ３〜Ｐ９よりも後に記録された車両位置であり、かつ、当該カーブの終点にあるノードＮ６からの距離が基準距離未満である車両位置を抽出する。この基準距離は、例えば、５０ｍでもよいし、１００ｍでもよい。図１２の例では、この処理により、車両位置Ｐ１０〜Ｐ１３が抽出される。抽出された車両位置は、カーブＣ１−Ｃ２の直後の所定範囲内にある車両位置に該当する。
【０１２７】
そして、これら抽出された車両位置Ｐ１、Ｐ２のそれぞれについて、想定軌跡Ｔｄまでの最短距離を算出する。そして、算出した最短距離のうち、１個でも出口直後閾値距離未満のものがあれば、当該直前のカーブＣ１−Ｃ２の直後の所定範囲内で自車両が想定軌跡Ｔｄと同じ車線に復帰したと判定する。また、出口直後閾値距離未満のものが１個もなければ、当該直前のカーブＣ１−Ｃ２の直後の所定範囲内で自車両が想定軌跡Ｔｄと同じ車線に復帰していないと判定する。なお、出口直後閾値距離は、例えば、あらかじめ定められた平均的な斜線幅の１／２でもよいし、２／３でもよいし、それらの間の値でもよい。
【０１２８】
図１２の例では、車両位置Ｐ１２、Ｐ１３から想定軌跡Ｔｄへの最短距離が出口直後閾値距離未満であるから、カーブＣ１−Ｃ２の直後の所定範囲内で自車両が想定軌跡Ｔｄと同じ車線に復帰したと判定し、ステップ３７５に進む。
【０１２９】
これに対し、車両位置Ｐ１〜Ｐ１０と同じ位置を走行したものの、その後、右車線走行を維持し続けた場合は、地図データのリンクやノードの配置が間違っている可能性が高い。このような場合は、カーブＣ１−Ｃ２の直後の所定範囲内で自車両が想定軌跡Ｔｄと同じ車線に復帰しないと判定して、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１３０】
ステップ３７５では、直前のカーブ内の走行軌跡Ｐ３〜Ｐ９において大幅な速度超過があるか否かを、ステップ３３０と同じ方法で判定する。このような判定を設ける意図も、ステップ３３０に関連して説明した通りである。
【０１３１】
図１２の例のような場合でも、大幅な速度超過があると判定される場合もあれば、大幅な速度超過がないと判定される場合もある。大幅な速度超過があると判定した場合、ステップ３８５に進み、レース模擬走行フラグをオンに設定し、第２走行内容判定処理を終了する。大幅な速度超過がないと判定した場合、ステップ３８０に進み、レース模擬走行フラグをオフに設定し、第２走行内容判定処理を終了する。
【０１３２】
以上が、第２走行内容判定処理の詳細である。このようになっていることで、図５の例の場合等の通常の走行の場合、あるいは、地図データのリンクやノードの配置が間違っている可能性が高い場合は、レース模擬走行フラグはオフになる。一方、図８〜図１２の例では、ステップ３３０またはステップ３７５で大幅な速度超過があると判定された場合においては、レース模擬走行フラグがオンになり、そうでない場合は、レース模擬走行フラグがオフになる。
【０１３３】
第２走行内容判定処理が終了すると、演算装置１は、図２のステップ１６０に進み、直前のカーブの走法がレース模擬走法であったか否かを、レース模擬走行フラグがオンか否かで判定する。
【０１３４】
上述の通り、図５の例の場合等の通常の走行の場合、あるいは、地図データのリンクやノードの配置が間違っている可能性が高い場合、あるいは、ステップ３３０またはステップ３７５で大幅な速度超過がないと判定された場合が考えられる。これらの場合は、ステップ１６０ではレース模擬走法でなかったと判定し、ステップ１７０に進む。
【０１３５】
また、図８〜図１２の例で、ステップ３３０またはステップ３７５で大幅な速度超過があると判定された場合においては、レース模擬走法であったと判定し、ステップ１８０をバイパスしてステップ１９０に進む。ステップ１８０をバイパスすることにより、直前のカーブの地図カーブ情報の書き換えを禁止する。そしてステップ１９０では、ＲＡＭ内の走行軌跡データ、すなわち、ＲＡＭ中のＰ１４以前の走行軌跡データを破棄する。その後、今回の道路学習処理を終了する。
【０１３６】
ステップ１７０では、走行軌跡データ中の車両位置Ｐ１〜Ｐ１０に基づいて、正常走行か否かを判定する。具体的には、車両位置Ｐ１〜Ｐ１０に基づいて、車両の走行速度および加速度を算出する。そして、算出した走行速度に基づいて、車両が停止したか否かを判定し、停止したと判定した場合は、正常走行でないと判定し、ステップ１８０をバイパスしてステップ１９０に進む。また、算出した加速度に基づいて、車両が急減速したか否かを判定し、急減速したと判定した場合は、正常走行でないと判定し、ステップ１８０をバイパスしてステップ１９０に進む。また、停止も急減速もしていないと判定した場合は、正常走行であると判定し、ステップ１８０に進む。
【０１３７】
ステップ１８０では、走行軌跡データ中で直前のカーブＣ１−Ｃ２内の車両位置Ｐ３〜Ｐ９に基づいて、当該カーブＣ１−Ｃ２の地図カーブ情報を書き換える。書き換えの方法は、周知のもの（例えば、特開２０１１−２０３２４０号公報に記載の方法）を採用すればよい。
【０１３８】
例えば、車両位置Ｐ３〜Ｐ９を近似する円を算出し、その算出した円の半径を、当該カーブＣ１−Ｃ２の新たな曲率半径Ｒとして、当該地図カーブ情報を書き換え、更に、当該円の中心から車両位置Ｐ３（カーブ入口端の車両位置）に引いた線と、当該円の中心から車両位置Ｐ９（カーブ出口端の車両位置）に引いた線とが、当該中心において成す角度を、当該カーブＣ１−Ｃ２の新たな曲率半径Ｒとして、当該地図カーブ情報を書き換えるようになっていてもよい。なお、ステップ１８０では、当該地図カーブ情報のみならず、当該カーブＣ１−Ｃ２内のノードおよびリンクの情報も、車両位置Ｐ３〜Ｐ９に基づいて書き換えてもよいし、書き換えなくてもよい。
【０１３９】
ステップ１８０に続いては、ステップ１９０に進み、ＲＡＭ内の走行軌跡データ、すなわち、ＲＡＭ中のＰ１４以前の走行軌跡データを破棄する。その後、今回の道路学習処理を終了する。
【０１４０】
以上説明した通り、本実施形態の演算装置１は、走行軌跡Ｐ１〜Ｐ１４に基づいて、地図データに記載された１つのカーブＣ１−Ｃ２内で、第１のカーブ、第１のカーブの後に発生して第１のカーブと向きが異なる第２のカーブ、および、第２のカーブの後に発生して第２のカーブと向きが異なる第３のカーブを検出した場合（ステップ２１５）、当該カーブＣ１−Ｃ２の地図カーブ情報を書き換えることを禁止する（ステップ２３０）。
【０１４１】
地図データでは１つのカーブとなっているところで、車両の実際の走行軌跡に基づいて上記のような第１〜第３のカーブが検出された場合は、カーブ上に障害物があり、やむを得ず車線逸脱を行うような場合である可能性が高い。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【０１４２】
また、演算装置１は、カーブＣ１−Ｃ２の頂点エリアで、走行軌跡が想定軌跡Ｔｄをイン側車線に逸脱していると判定し（ステップ３２０）、更に、カーブＣ１−Ｃ２の入口エリアおよび出口エリアで、走行軌跡が想定軌跡Ｔｄと同じ車線を通っていると判定した場合（ステップ３２５）、当該カーブＣ１−Ｃ２の地図カーブ情報を書き換えることを禁止する（ステップ３３５）。
【０１４３】
レース模擬走法としてアウトインアウト走法およびＳ字ショートカット走法がある。これらの走法では、左側車線地域における右カーブまたは右側車線地域における左カーブでは、当該１つのカーブの中央地点を含む頂点エリアで走行軌跡が想定軌跡をイン側車線に逸脱し、更に、当該１つのカーブの入口エリアおよび出口エリアで走行軌跡が想定軌跡と同じ車線（アウト）を通る。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【０１４４】
また、演算装置１は、カーブＣ１−Ｃ２の手前で前記走行軌跡が想定軌跡Ｔｄと同じ車線を走行したと判定し（ステップ３５０）、更に、カーブＣ１−Ｃ２の入口エリアで走行軌跡が想定軌跡Ｔｄをアウト側車線に逸脱していると判定し（ステップ３５５）、更に、カーブＣ１−Ｃ２の頂点エリアで走行軌跡が想定軌跡Ｔｄと同じ車線を走行したと判定し（ステップ３６０）、更に、カーブＣ１−Ｃ２の出口エリアで走行軌跡が想定軌跡Ｔｄをアウト側車線に逸脱していると判定し（ステップ３６５）、更に、カーブＣ１−Ｃ２の後で走行軌跡が想定軌跡Ｔｄと同じ車線に復帰したと判定した場合（ステップ３７０）、当該カーブＣ１−Ｃ２の地図カーブ情報を書き換えることを禁止する（ステップ３８５）。
【０１４５】
左側車線地域における左カーブまたは右側車線地域における右カーブにおけるレース模擬走法としてアウトインアウト走法がある。この走法では、カーブに入る前にアウトに膨らみ、その後カーブ内でインに切り込み、カーブの出口付近で再度アウトに膨らみ、カーブを出た後にインに復帰する。このような場合の走行軌跡は、地図データの修正に用いたくないので、上記のように書き換えを禁止することで、車両が車線を逸脱するように走行した場合に地図データを書き換えてしまう可能性を低減することができる。
【０１４６】
従来、車両の実際の走行軌跡に基づいて地図データを修正する技術は、種々あった。しかしながら、従来の技術は「走行軌跡上に道路情報が無ければ道路を追加する」、「カーブ走行経路が異常(停止、極端な回避行動)でなければ学習する」など、ドライバーが車線を逸脱せず、正しく走行していることが前提となっている。正しくない走行を行った場合はＬＫＡ（Lane Keep Assistance）で検出可能ではあるが、ＬＫＡは道路上の白線を認識して検出するものであり、白線が消えている道路も珍しくないため効果は限定的である。本実施形態では、ドライバーが外的要因（すなわち障害物回避）または内的要因（すなわちレース模擬走行）により、車線を逸脱して正しく走行できなかった又はしなかった場合に、地図データの書き換え制限し、正しくない倉庫軌跡を地図データに反映しない(道路学習をしない)ことを特徴とする。これにより、実際には無いカーブが追加されたり、実態と異なる走路形状に修正されたりすることを避け、安定した車両制御を行うことができる。
【０１４７】
外的要因による正しくない走行とは、カーブ上に障害物(落下物、工事、駐車車両等)があり、やむを得ず車線逸脱を行うような場合の走行である。内的要因による正しくない走行とは、故意による蛇行運転や対向車線を利用した走行である。
【０１４８】
外的要因による車線逸脱が発生する場合は、車線を逸脱するためのステアリング操作が発生し、さらに走路形状に沿った経路を辿るためのステアリング操作が発生し、その後車線逸脱した分をキャンセルするだけの前述と逆方向のステアリング操作が発生し、計４箇所の走路形状情報には無いカーブが短区間の間に新しく発生する。この場合には学習機能をキャンセルし、元の道路形状（地図カーブ情報）を書き換えない（ステップ２１５、２２０、２２５、２３０）。
【０１４９】
内的要因による車線逸脱はドライバーの意思により車線逸脱を行った場合に発生する。例えば、山岳道路でのショートカット（図１１参照）、レースを模擬した走法（図８〜図１０、図１２参照）が該当する。
【０１５０】
ショートカットを行った場合、本来のカーブ形状よりも走行軌跡が直線に近くなる。このとき、左側走行地域では右カーブだけ走路軌跡が地図上の走路情報よりもおよそ１車線分だけ右を通り、右側車線地域では逆に左カーブだけ走路軌跡が地図上の走路情報よりもおよそ１車線分だけ左を通ることになる。また、わずかに曲がる箇所が本来のカーブで曲がるべき箇所と同じになるため、走路軌跡と地図情報を比較することで学習すべきか判断が可能となり、上記の条件と一致した場合は、学習機能をキャンセルし、元の道路形状（地図カーブ情報）を書き換えない。
【０１５１】
なお、本実施形態では、単に走行軌跡Ｃ３〜Ｃ９が想定軌跡Ｔｄを逸脱したのみを理由として、地図データの書き換えを禁止するということはない。つまり、走行軌跡Ｃ３〜Ｃ９が想定軌跡Ｔｄの属する車線を逸脱しただけでは、必ずしも地図データの書き換えを禁止しない。このようになっているのは、道路学習処理は、あくまでも地図データを正確にするための修正処理なので、例えば地図データが大幅に間違っていた結果、走行軌跡Ｃ３〜Ｃ９が想定軌跡Ｔｄの属する車線を逸脱した場合まで、地図データの書き換えを禁止してしまっては、本末転倒だからである。本実施形態は、あくまでも、車両が道路に沿った走行をしていない可能性が高い場面を検出して、その場合に地図データの書き換えを禁止するようになっている。
【０１５２】
なお、本実施形態の演算装置１は、図２に示した道路学習処理において、ステップ１３０で地図データ上のカーブを通過した後の所定のタイミングが訪れた場合にのみ、当該カーブの走行軌跡に応じて、地図カーブ情報の書き換えを行う。これにより、直線道路上で障害物を回避した際に発生する新規カーブは学習対象外とすることができる。
【０１５３】
なお、上記実施形態において、演算装置１は、図２のステップ１８０を実行することで、書き換え手段の一例として機能し、ステップ１４０、１５０、１５５、１６０を実行することで、禁止手段の一例として機能する。
【０１５４】
（他の実施形態）
なお、本発明は上記した実施形態に限定されるものではなく、特許請求の範囲に記載した範囲内において適宜変更が可能である。また、上記各実施形態は、互いに無関係なものではなく、組み合わせが明らかに不可な場合を除き、適宜組み合わせが可能である。また、上記各実施形態において、実施形態を構成する要素は、特に必須であると明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、上記各実施形態において、実施形態の構成要素の個数、数値、量、範囲等の数値が言及されている場合、特に必須であると明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。また、上記各実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に特定の形状、位置関係等に限定される場合等を除き、その形状、位置関係等に限定されるものではない。例えば、以下のような変形例も許容される。なお、以下の変形例は、それぞれ独立に、上記実施形態に適用および不適用を選択できる。すなわち、以下の変形例のうち任意の組み合わせを、上記実施形態に適用することができる。
【０１５５】
（変形例１）
上記実施形態では、図５〜図１２の例では、カーブＣ１−Ｃ２およびその前後は、往路１車線かつ復路１車線の２車線道路となっている。しかし、道路学習処理は、このような道路に限らず、他の車線構成の道路に適用しても良い。例えば、往路２車線かつ復路２車線の４車線道路にも往路２車線のみの２車線道路にも、往路３車線のみの３車線道路にも、適用可能である。ただし、往路１車線のみの１車線道路には適用できない。
【０１５６】
また、往路（自車両が走行する方向の）が２車線以上ある場合は、ステップ２２５、ステップ３０５で想定軌跡を算出する方法を修正する必要がある。
【０１５７】
例えば、演算装置１は、ステップ２２０、３０５では、地図データに記録されている角リンクＬ１〜Ｌ７の車線情報に基づいて、カーブＣ１−Ｃ２およびその前後の道路に含まれる往路の車線数を特定してもよい。そして、特定した車線数が１である場合は、ステップ２２０、３０５で上記実施形態の通りの処理を行ってもよい。
【０１５８】
そして、特定した車線数が２以上である場合は、ステップ２２０、３０５で、カーブＣ１−Ｃ２よりも手前（かつ、ステップ３５０で言及したカーブＣ１−Ｃ２の手前の所定範囲内よりも更に手前）における最後の（つまり、最も遅く走行履歴データに追加された）車両位置を特定する。そして、当該車両位置に最も近いリンク（例えばカーブＣ１−Ｃ２の手前のリンク）までの最短距離を算出し、算出した最短距離だけノードＮ１〜Ｎ６を自車両の進行方向左側にずらしたオフセット位置Ｎｄ１〜Ｎｄ６を設定する。ステップ３４５で想定軌跡Ｔｄを延長する場合も同様である。このように、カーブＣ１−Ｃ２の手前（かつ、ステップ３５０で言及したカーブＣ１−Ｃ２の手前の所定範囲内よりも更に手前）で走行していた車線を、想定軌跡Ｔｄの車線とする。
【０１５９】
（変形例２）
なお、上記実施形態では、ステップ２１５で、向きが交互に変わる３つのカーブを検出したか否かを判定している。この際、カーブ曲率半径が所定長さ以上となっている車両位置（すなわち、実質的に直線走行している際の車両位置）は除外し、除外された車両位置の前後の車両位置を連続する車両位置として扱った上で、カーブを検出してカーブの個数を算出している。
【０１６０】
このようになっていると、例えば図７の例で、走行履歴データにおいて、車両位置Ｐ５と車両位置Ｐ６の間にもう１個車両位置Ｐｘがあり、車両位置Ｐ５、Ｐｘ、Ｐ６がこの順に直線的に並んでいたとしても、車両位置Ｐｘは除外されるので、結果に変化はない。
【０１６１】
しかし、カーブ曲率半径が所定長さ以上となっている車両位置を除外しないままで、カーブの個数を算出するようになっていてもよい。この場合、図７の例において上記のような車両位置Ｐｘが存在する場合、演算装置１は、右、左、左、右、左という５個のカーブを検出する。この場合、ステップ２１５では、検出されたカーブのうち、同じ方向に連続するカーブを１つのカーブと同定すればよい。同定の結果、検出されたカーブは、結局、右、左、右、左の４つとなる。
【０１６２】
結局のところ、上記実施形態のように実質的に直進走行している際の車両位置を除外する場合も、実質的に直進走行している際の車両位置を除外しない場合も、演算装置１は、ステップ２２０で、第１のカーブ、当該第１のカーブの後に（当該第１のカーブに連続していてもしていなくても）発生して当該第１のカーブと向きが異なる第２のカーブ、および、当該第２のカーブの後に（当該第２のカーブに連続していてもしていなくても）発生して前記第２のカーブと向きが異なる第３のカーブが検出できれば、ステップ２２０に進むようになっている。
【０１６３】
（変形例３）
上記実施形態では、演算装置１は、日本等の左側車線地域（左側通行地域ともいう）の道路を対象として道路学習処理を行っている。しかし、本発明の地図データ書き換え装置は、米国等の右側車線地域（右側通行地域ともいう）の道路を対象として道路学習処理を行うものとしても実現可能である。
【０１６４】
上記実施形態において、演算装置１を右側車線地域（右側通行地域ともいう）の道路を対象とするように変更するためには、上記実施形態において左と右を入れ替えて読み替えればよい。ただしその場合、図５〜図１２は、紙の裏面から見るように読み替える必要がある。そのようにした場合、カーブＣ１−Ｃ２は、図５、図６、図８〜図１１は左カーブになり、図７、図１２は左カーブになる。
【０１６５】
（変形例４）
上記実施形態において、図４のステップ２２０および２２５の処理を廃してもよい。その場合演算装置１は、ステップ２１５で、３個の交互カーブを検出したと判定した場合は、直ちにステップ２３０に進む。
【０１６６】
（変形例５）
上記実施形態においては、図１３のステップ３３０の処理を廃してもよい。その場合演算装置１は、ステップ３２５で、走行軌跡が出口エリアおよび入口エリアの両方で、想定軌跡Ｔｄと同じ車線を通っていると判定した場合、直ちにステップ３３５に進む。
【０１６７】
（変形例６）
上記実施形態においては、図１３のステップ３７５の処理を廃してもよい。その場合演算装置１は、ステップ３７０で、直前のカーブＣ１−Ｃ２の走行後、カーブＣ１−Ｃ２の直後の所定範囲内で、自車両が想定軌跡Ｔｄと同じ車線に復帰したと判定した場合、直ちにステップ３８５に進む。
【０１６８】
（変形例７）
図１２の例のような走行軌跡で走行した場合、カーブＣ１−Ｃ２内における車両の総旋回角は、カーブＣ１−Ｃ２内でどのような走行経路を辿っても、地図カーブ情報に記録された当該カーブＣ１−Ｃ２の曲がり角度θと同じになるはずである。したがって、演算装置１は、第２走行内容判定処理（図１４）において、ステップ３７０で復帰した（ＹＥＳ）と判定した後、ステップ３７５に進む前に、以下のような追加判定処理を行ってもよい。
【０１６９】
追加判定処理で演算装置１は、走行軌跡データ中の車両位置Ｐ１〜Ｐ１４に基づいて、自車両の実際の走行軌跡を表す線（以下、軌跡線という）を算出する。そして、この軌跡線上でカーブＣ１−Ｃ２の始点のノードＮ１から最も近い位置（以下、進入位置という）における自車両の向きを、軌跡線に基づいて算出する。また、この軌跡線上でカーブＣ１−Ｃ２の終点のノードＮ６から最も近い位置（脱出位置）における自車両の向きを、軌跡線に基づいて算出する。そして、進入位置における自車両の向きに対する、脱出位置における自車両の向きの変化角度を算出し、この変化角度と、地図カーブ情報に記録された当該カーブＣ１−Ｃ２の曲がり角度θの差の絶対値が、所定角度差（例えば１０°）未満であるか否かを判定する。そして、所定角度差未満であれば、ステップ３７５に進み、所定角度差以上であれば、ステップ３８０に進む。
【０１７０】
このような追加判定処理を追加することで、図１２の例のようなレース模擬走行を、より高い精度で検出することができる。
【０１７１】
（変形例８）
上記実施形態で説明されているノードは、一部または全部を形状補完点に置き換えてもよい。また、上記実施形態で説明されているリンクは、一部または全部をセグメント（２つの隣り合う形状補完点を繋ぐ直線、または、隣り合うノードと形状補完点を繋ぐ直線）に置き換えてもよい。
【０１７２】
（変形例９）
上記実施形態では、演算装置１が書き換える対象の地図データは、車両に搭載された地図データ記憶部６に記録されている。しかし、演算装置１が書き換える対象の地図データは、車両に搭載されず、遠隔地の地図サーバに記録されていてもよい。ただしこの場合、演算装置１は、周知の通信手段を用いて、当該地図サーバに記録された地図データに対して読み出しおよび書き換えを行えるようになっていることが必要である。
【０１７３】
（変形例１０）
上記実施形態では、演算装置１は車両に搭載されているが、必ずしもこのようになっておらずともよい。例えば、演算装置１は、車両外の遠隔地に設置された地図書き換えサーバとして実現されていてもよい。ただしこの場合、車両から地図書き換えサーバに対して、周知の通信手段を用いて、当該車両の走行履歴データが送信されるようになっている必要がある。
【０１７４】
（変形例１１）
上記の実施形態において、演算装置１がプログラムを実行することで実現している各機能は、それらの機能を有するハードウェア（例えば回路構成をプログラムすることが可能なＦＰＧＡ）を用いて実現するようになっていてもよい。
【符号の説明】
【０１７５】
１                道路形状学習演算装置
６                地図データ記憶部
Ｃ１−Ｃ２        カーブ
Ｎ０〜Ｎ７        ノード
Ｌ１〜Ｌ７        リンク
Ｐ１〜Ｐ１４      車両位置
Ｘ                障害物
Ｔｄ              想定軌跡
【図１】
2015075423.tif 000003
【図２】
2015075423.tif 000004
【図３】
2015075423.tif 000005
【図４】
2015075423.tif 000006
【図５】
2015075423.tif 000007
【図６】
2015075423.tif 000008
【図７】
2015075423.tif 000009
【図８】
2015075423.tif 000010
【図９】
2015075423.tif 000011
【図１０】
2015075423.tif 000012
【図１１】
2015075423.tif 000013
【図１２】
2015075423.tif 000014
【図１３】
2015075423.tif 000015
【図１４】
2015075423.tif 000016