(57)【要約】【課題】ナビゲーション装置の地図の情報を車両制御に使用するシステムにおいて、より詳細な地図情報が車両制御に必要となると速度が不十分となる。【解決手段】車両制御装置に地図を記憶する記憶装置を設け、位置検出や車両制御に必要な地図を記憶する。記憶装置に格納する地図は、車両制御装置とナビゲーション装置を接続する地図用ネットワークにより、ナビゲーション装置から転送し、車両制御装置からの現在地周辺の地図要求あるいは、経路計算に伴う経路に沿った地図をナビゲーション装置から転送する。【効果】車両制御装置が地図を保持するため、高速に詳細な地図情報を利用可能となることから、交差点形状などを利用した高度な制御が可能となる。【選択図】  図１
2011053163.tif 000002
【特許請求の範囲】
【請求項１】
制御用の第１の通信路により車両の走行を制御する車両制御装置と接続された、経路を探索して誘導を行うナビゲーション装置において、
前記車両制御装置は、位置検出手段と第１の地図データを格納する第１の記憶手段を備え、
前記ナビゲーション装置は、車両の誘導に用いる第２の地図データを格納する第２の記憶手段を備え、
前記車両制御装置と前記ナビゲーション装置は第２の通信路で接続され、
前記車両制御装置は前記位置検出手段により測位した現在位置を当該第２の通信路により前記ナビゲーション装置に送信し、
前記ナビゲーション装置は、前記第２の通信路から入力された現在位置と指定された目的地に基づき経路を計算し、該経路周辺の地図データを第２の記憶手段から読み出し、第２の通信路により前記車両制御装置の第１の記憶手段へ送信する
ことを特徴とするナビゲーション装置。
【請求項２】
制御用の第１の通信路により車両の走行を制御する車両制御装置と接続された、経路を探索して誘導を行うナビゲーション装置において、
前記車両制御装置は、位置検出手段と第１の地図データを格納する第１の記憶手段を備え、
前記ナビゲーション装置は、車両の誘導に用いる第２の地図データを格納する第２の記憶手段を備え、
前記車両制御装置と前記ナビゲーション装置は第２の通信路で接続され、
前記車両制御装置は前記位置検出手段により測位した現在位置に基づき、第１の記憶手段に格納されていない現在位置周辺の地図データを第２の通信路により前記ナビゲーション装置に要求し、
前記ナビゲーション装置は、要求された前記現在位置周辺の地図データを第２の記憶手段から読み出して、第２の通信路により前記車両制御装置の第１の記憶手段へ送信する
ことを特徴とするナビゲーション装置。
【請求項３】
制御用の第１の通信路により経路を探索して誘導を行うナビゲーション装置と接続された、車両の走行を制御する車両制御装置において、
前記車両制御装置は、
位置検出手段と、
第１の地図データを格納する第１の記憶手段を備え、
前記ナビゲーション装置は、
車両の誘導に用いる第２の地図データを格納する第２の記憶手段を備え、
前記車両制御装置と前記ナビゲーション装置は第２の通信路で接続され、
前記車両制御装置は前記位置検出手段により測位した現在位置を当該第２の通信路により前記ナビゲーション装置に送信し、
前記ナビゲーション装置が、当該現在位置と指定された目的地に基づき経路を計算して、第２の記憶手段から読み出した当該経路周辺の地図データを、第２の通信路により受信して第１の記憶手段へ格納する
ことを特徴とする車両制御装置。
【請求項４】
制御用の第１の通信路により経路を探索して誘導を行うナビゲーション装置と接続された、車両の走行を制御する車両制御装置において、
前記車両制御装置は、
位置検出手段と、
第１の地図データを格納する第１の記憶手段を備え、
当該第１の地図データに基づき車両の走行を制御し、
前記ナビゲーション装置は、
車両の誘導に用いる第２の地図データを格納する第２の記憶手段を備え、
前記車両制御装置と前記ナビゲーション装置は第２の通信路で接続され、
前記車両制御装置は前記位置検出手段により測位した現在位置に基づき、第１の記憶手段に格納されていない現在位置周辺の地図データを第２の通信路により前記ナビゲーション装置に要求し、
前記ナビゲーション装置が、要求された前記現在位置周辺の地図データを第２の記憶手段から読み出して送信した地図データを、第２の通信路により受信して第１の記憶手段へ格納する
ことを特徴とする車両制御装置。
【請求項５】
制御用の第１の通信路により車両の走行を制御する車両制御装置と接続された、経路を探索して誘導を行うナビゲーション装置において、
前記車両制御装置は、
位置検出手段と、
第１の地図データを格納する第１の記憶手段を備え、
前記ナビゲーション装置は、
車両の誘導に用いる第２の地図データを格納する第２の記憶手段を備え、
前記車両制御装置と前記ナビゲーション装置は第２の通信路で接続され、
ナビゲーション装置は、第２の記憶手段に格納されている第２の地図データが更新された際には、前記車両制御装置から第２の通信路により受信した位置検出の周辺の地図データが更新されていた場合には、現在位置周辺の地図データの内更新された地図データを第２の通信路により前記車両制御装置の第１の記憶手段へ送信する
ことを特徴とするナビゲーション装置。
【請求項６】
請求項１に記載のナビゲーション装置において、前記第２の通信路から入力された現在位置が、予め計算されていた経路から逸脱した際に、当該現在位置から前記目的地までの経路計算を行って新しい経路を算出し、該新しい経路周辺の地図データを第２の記憶手段から読み出して、前記第２の通信路により前記車両制御装置へ送信することを特徴とするナビゲーション装置。
【請求項７】
請求項３または４に記載の前記車両制御装置において、前記車両制御装置は第１の地図データの使用状況を表す地図使用状況識別手段を持ち、
前記第１の記憶手段には地図データを保持する領域を複数設け、
前記第２の通信路により地図データが送信されてきた際には、当該車両制御装置が使用している地図データとは別の領域に該送信されてきた地図データを格納し、地図データの送信が終了後、車両制御装置は、前記地図使用中識別手段により、地図データが使用中ではないことを確認して、使用する地図データを前記転送された地図データに切り替えることを特徴とする車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のナビゲーション装置、および車両制御のためのコントローラに関する。
【背景技術】
【０００２】
地図情報を用いて車両の制御を行うシステムが開発されている。例えば、自車位置を特定し、電子地図のデータを用いてエンジンや自動変速機の制御を行う発明が、特開平８−７２５９１号公報に記載されている。また、ナビゲーション装置の地図情報を利用してカーブに進入する直前におけるドライバーへの警報発生や車両の速度制御する発明が、特開平８−１９４８８６号公報に記載されている。更には、ナビゲーションシステムで地図情報を使って進路の先にあるカーブの曲率を計算し、その計算結果を車両制御コントローラに通信することにより、カーブの前で減速を行うようなシステムが、特開２００８−１４５１５４号公報に記載されている。
【０００３】
また、自動車の車両制御にカメラやレーダの情報を利用されるようになってきている。特開平０８−２８７３９５号公報には、ナビゲーション装置の地図の情報，レーダの情報，カメラの情報を車両制御用信号処理に利用する発明が書かれている。この時、カメラやレーダでセンシングされた自車周辺の道路状況から、自車が走行している道路上における現在位置を判定して、対応する道路地図上の箇所に自車の現在位置がくるように、地図上での現在位置の修正を行うこと、および自車の現在位置に応じて地図情報記憶媒体から読み出した道路データに基づいて、センシングされた道路状況を修正することが記されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−７２５９１号公報
【特許文献２】特開平８−１９４８８６号公報
【特許文献３】特開２００８−１４５１５４号公報
【特許文献４】特開平０８−２８７３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ナビゲーション装置が持っている地図の情報を車両制御装置で用いる従来技術においては、車両がカーブに差し掛かる前にナビゲーション装置からカーブの曲率情報を車両制御装置に送信して予めカーブに適した速度に減速したり、踏み切りや一時停止線あるいは料金所などの情報を車両制御装置に送り停止の制御を行ったりする。
【０００６】
しかし、より高度な制御、例えば道路合流地点での合流する際、交差点で曲がる際の速度及びステアリングの制御を行うためには、単なるカーブの曲率だけではなく、道路や交差点の形状といった詳細な地図情報が必要となってくる。この時ナビゲーション装置から詳細な地図情報をその都度送信していては処理が間に合わない事態が生じる恐れがある。
【０００７】
また、車両制御装置にカメラが接続されている構成の下で、このカメラの画像を用いて道路の交差点形状を認識しようとした場合、ナビゲーション装置の地図が持っている道路の詳細形状データを元に画像認識処理を行う必要がある。しかし詳細な道路形状データをナビゲーション装置から車両制御装置へ送信するには時間がかかるため、１０ミリ秒単位での制御が必要な自動車の制御に用いることは難しい。
【０００８】
また、ナビゲーション装置の中には通信により新しい地図データを受信し、持っている地図データを更新する機能を持つものが出てきている。このようなナビゲーション装置の地図データを車両制御装置で利用する場合、ナビゲーション装置の地図データが更新された時には車両制御装置が使用している地図データを適切に更新する必要がある。
【課題を解決するための手段】
【０００９】
車両制御装置に地図を記憶する記憶装置を設け、位置検出や制御に必要な分の地図を記憶しておくようにする。これにより車両制御装置は必要な地図情報に高速にアクセスすることが可能となり、１０ミリ秒単位での車両制御が可能となる。
【００１０】
ただし、車両制御装置の記憶装置に全国分の地図を持つことは、記憶装置のコスト上現実的ではない。そこで車両制御装置の記憶装置には、走行する経路とその周辺の地図データに絞って記憶する。このため、車両制御装置とナビゲーション装置を地図データ転送用ネットワークで接続し、ナビゲーション装置が経路探索を行った時にその経路に沿った地図をナビゲーション装置から車両制御装置に転送する。また現在位置が計算していた経路から逸脱した場合には、車両制御装置で新たな領域の地図が必要となる可能性があるため、ナビゲーション装置が再度経路計算を行い、新しい経路に沿った地図を地図データ転送用ネットワークにより車両制御装置へ転送する。
【００１１】
車両制御装置が新しい経路に基づく地図を受信し終わっても、車両制御装置が地図を用いた制御を行っている最中に新しい地図へ切り替えると、誤動作を発生させる可能性がありえる。そこで車両制御装置が地図を用いた制御を行っているかどうかを判断するためのフラグを設け、車両制御装置の制御プログラムは地図を用いた制御を行う時にこのフラグをオンにし、行わない時にはオフにするようにする。地図を受信するプログラムはこの車両制御装置における地図の使用状況を表すフラグを参照し、フラグがオフであることを確認した上で新しく受信した地図に切り替える。これにより、地図を安全に切り替えることが可能となる。
【００１２】
更に、ナビゲーション装置が外部との通信等を使い最新の地図をダウンロードして、自身で持つ地図を更新した時には、車両制御装置に転送済みの地図が更新されているか判断し、更新されている時には、更新された新しい地図を地図データ転送用ネットワークにより車両制御装置に転送する。これによりナビゲーション装置と車両制御装置との間の地図の不一致を防ぐ。
【００１３】
車両制御装置が必要な地図の転送では、車両制御装置が持つ位置検出手段が検出した現在地の周辺の地図を、地図データ転送用ネットワークを介してナビゲーション装置に対し要求し、ナビゲーション装置が要求された地図を車両制御装置に送信する。
【発明の効果】
【００１４】
車両制御装置とナビゲーション装置を地図データ転送用ネットワークで繋ぎ、車両制御装置に経路に沿った地図あるいは、現在地周辺の地図を持つようして、ナビゲーション装置から車両制御装置へ地図を転送することにより、車両制御装置が道路や交差点の詳細な形状を高速にアクセスできるようになり、合流支援や交差点での右左折制御などの高度な制御が可能となる。
【００１５】
そしてドライバーが予め計算した経路とは異なる道路に進行した時、あるいはナビゲーション装置の地図が更新された時には、地図データ転送用ネットワークを介して新たな地図データを車両制御装置へ送信するため、地図の転送に伴い他の情報伝送を妨げることがなくなる。
【００１６】
更に車両制御装置には、地図データ転送用ネットワークを介して受信した新たな地図を格納する領域を、車両制御装置が使用中の地図を格納しておく領域とは別に設け、両者の領域を車両制御装置が地図を使用していないことを確認して切り替えることにより、安全に新しい地図を利用することが可能となる。
【００１７】
また、車両制御装置における地図用の記憶装置容量を削減し、コストを低減することが可能である。
【図面の簡単な説明】
【００１８】
【図１】本願発明を用いたシステムの全体構成を示す図である。
【図２】ナビゲーション装置の構成を示す図である。
【図３】車両制御コントローラの構成を示す図である。
【図４】カメラにより撮影される画像を説明する図である。
【図５】地図データを説明する図である。
【図６】部分地図データを説明する図である。
【図７】詳細地図データの構成を示す図である。
【図８】ルートに沿った地図データを説明する図である。
【図９】画像認識物の平面投射を説明する図である。
【図１０】平面に投射した道路端と地図のマッチングを説明する図である。
【図１１】位置特定タスクのフローチャートである。
【図１２】ナビゲーションタスクのフローチャートである。
【図１３】標識認識タスクのフローチャートである。
【図１４】地図要求タスクのフローチャートである。
【図１５】地図送信タスクのフローチャートである。
【図１６】ブレーキコントローラのフローチャートである。
【図１７】ルート計算のフローチャートである。
【図１８】地図受信タスクのフローチャートである。
【図１９】ナビゲーション装置の主記憶装置の構成を示す図である。
【図２０】車両制御コントローラの主記憶装置の構成を示す図である。
【図２１】地図の部分更新を説明する図である。
【図２２】地図更新タスクのフローチャートである。
【発明を実施するための形態】
【００１９】
本発明の実施例を、図面を参照して説明する。
【００２０】
図１は本発明を用いた車両制御システムの構成の一例を示している。ナビゲーション装置１０では、地図の表示，目的地の検索，目的地までのルートの探索，目的地までの案内を行い、これらの機能は従来のナビゲーション装置と同様である。しかし、従来のナビゲーション装置と異なる点が二つある。第一点は、ナビゲーション装置１０自体は、ＧＰＳなどの測位を行う手段を持っておらず、ＣＡＮ（Controller Area Network）３２を介して外部から現在地情報を受信することである。第二点は、地図用ネットワーク３１に対して地図データを送信する機能を持つことである。
【００２１】
ディスク１１はナビゲーション装置１０が使用する地図などのデータが格納されている記憶装置であり、ハードディスク装置のように磁気ディスクまたはＤＶＤ−ＲＯＭ等のような光ディスクに記録した地図データを読み出す装置により実現される。このディスク１１はディスク以外に半導体メモリなどのような不揮発性メモリによる記憶装置等であってもよい。車両制御コントローラ２０では、地図による情報や画像による情報を元に車両を制御する。記憶装置２１には、車両制御コントローラ２０が使用する地図が格納される。この記憶装置２１は、車両制御コントローラ２０が必要な部分の地図のみを格納できればよいので、ナビゲーション装置１０が使用する地図が格納されているディスク１１より容量が少なくてもよい。記憶装置２１に記憶される地図は、地図用ネットワーク３１を用いて、ナビゲーション装置１０がディスク１１の地図を転送する。
【００２２】
車両制御コントローラ２０では、カメラ２２で撮影した自動車の外部の映像に対して画像認識処理を行い、その認識結果に基づき車両の制御を行う。ＧＰＳアンテナ２３は、ＧＰＳ衛星からの測位信号を受信するためのアンテナである。車両制御コントローラ２０は、このＧＰＳアンテナによりＧＰＳ衛星からの電波を受信して測位を行う。ＧＰＳによる測位は誤差を含んでいる。車両制御に用いるにはより正確な測位が必要である。車両制御コントローラ２０は、記憶装置２１の地図情報、およびカメラ２２の映像によりＧＰＳで得られた測位位置を補正して、より正確な測位を行う機能を有する。
【００２３】
車両制御コントローラ２０が決定した車両に対する制御情報はＣＡＮ３２に送信される。ブレーキコントローラ４０では、ＣＡＮ３２からの制御情報を入力し、これに基づいてブレーキの制御を行う。ナビゲーション装置は、携帯電話４５を通じてセンターと通信を行いディスク１１に格納されている地図を更新することができる。
【００２４】
図２に、ナビゲーション装置１０の構成の一例を示す。プログラムを実行するＣＰＵ１２２，ＣＰＵ１２２が実行するプログラムやそのプログラムが使用するデータが記憶されている主記憶装置１２３，地図やルート案内の情報が表示されるディスプレイ１２４，ディスク１１に対してデータを読み書きする機能を持つディスクインタフェース（以下、ディスクＩ／Ｆ）１２５，地図用ネットワーク３１からデータを受信したりあるいは地図用ネットワーク３１にデータを送信したりする機能を持つ地図用ネットワークインタフェース（以下、地図用ネットＩ／Ｆ）１２６，ＣＡＮ３２からデータを受信したりＣＡＮ３２にデータを送信したりする機能を持つＣＡＮインタフェース（以下、ＣＡＮ  Ｉ／Ｆ）１２７，ナビゲーション装置１０が携帯電話４５を通じて通信を行う機能を提供する携帯電話インタフェース（以下、携帯電話Ｉ／Ｆ）１２８，メモリカード１３に対して読み書きを行うためのメモリカードインタフェース（以下、メモリカードＩ／Ｆ）１２９は、各装置間でデータを転送するバス１２１に接続されている。
【００２５】
ディスク１１に格納されている地図は、新しい地図を書き込まれたメモリカード１３をメモリカードＩ／Ｆ１２９に挿入して、メモリカード１３からこの新しい地図を読み込み、ディスクＩ／Ｆを介して更新することが可能である。
【００２６】
図３に、車両制御コントローラ２０の構成の一例を示す。各装置間でデータを転送するためのバス２５１には、プログラムを実行するＣＰＵ２５２，ＣＰＵ２５２が実行するプログラムやそのプログラムが使用するデータが記憶されている主記憶装置２５３，記憶装置２１に対して読み書きを行う機能を持つ記憶装置インタフェース（以下、記憶装置Ｉ／Ｆ）２５５，地図用ネットワーク３１からデータを受信し、またそこにデータを送信する機能を持つ地図用ネットワークインタフェース（以下、地図用ネットＩ／Ｆ）２５６，ＣＡＮ３２からデータを受信し又そこにデータを送信する機能を持つＣＡＮインタフェース（以下、ＣＡＮ  Ｉ／Ｆ）２５７，カメラ２２で撮影した画像を処理して指定したパターンを認識する機能を持つ画像認識装置２２１，ＧＰＳアンテナ２３で受信した複数のＧＰＳ衛星から送信されている電波から三角測量の原理により現在の位置を計算する機能を持つＧＰＳ受信機２３１，地図を格納する記憶装置２１が接続されている。
【００２７】
ＣＡＮ３２は、ブレーキコントローラ４０に対して制御情報を送信したり、あるいはＧＰＳ受信機２３１で算出した現在位置情報をナビゲーション装置１０に対して送信したりするのに用いられる。また地図を格納する記憶装置２１には２つの領域が設けられ、一つは使用中の地図が入る領域２１１であり、もう一つは地図用ネットワーク３１を通して受信した地図のデータを格納していく領域２１２である。これにより、まだ使用できる地図が領域２１１にある場合には、地図を受信中であっても制御を続行できる。受信が終了すると２つの領域を入れ替える。
【００２８】
図４は、走行する自動車から見た前方の景色の一例を示している。カメラ２２は自動車の前方を撮影するように取り付けられており、この図に示すような画像が撮影されることになる。カメラ２２による画像において、道路６１１は自車が走行している道路、道路６２１，６２２，６２３は、自車が走行している道路６１１に合流する道路である。また画像には、一時停止標識６３１や横断歩道６３２といった道路標示の他、道路に沿って建物６４１などが写っているものとする。
【００２９】
図５は、ディスク１１に格納される地図データを表している。地図データは、例えば道路６５２などのデータが地図メッシュと呼ばれる四角の領域６５３のように分割されて格納されているものとする。なお、現在の位置マーク６５１は説明の便宜のために記しているものであり、地図データには含まれない。
【００３０】
図６は、図５に示した地図データの内、現在地周辺の領域６５４のみの部分的な地図データを拡大して示している。現在位置６５１は説明の便宜のために付けたものである。現在位置が入っている地図メッシュ６５３１を現在地メッシュと呼ぶことにする。この現在地メッシュを取り囲むメッシュ６５３２〜６５３９を周辺メッシュと呼ぶ。車両制御コントローラ２０における車両制御のためには自車の周辺の地図メッシュについてのデータのみあればよく、広い領域の地図は不要である。したがって、記憶装置２１には、この図６のように現在地周辺の地図メッシュの地図データのみが格納される。これら現在地メッシュと周辺メッシュの地図データは、ナビゲーション装置１０から地図用ネットワーク３１を通して車両制御コントローラ２０に転送される。
【００３１】
図７は、地図データの詳細を図で表したものである。地図内で道路は、ノード（６６１〜６６７）とこれを結ぶリンク（６７１〜６７６）の配列によって表わされている。各ノードは緯度と経度の組による位置の情報を持っており、リンクはノードとノードを接続するためのデータである。そして、リンク毎に道路の形状を線分の連なりで現す形状データ（６５２１〜６５２７）を持っている。標識６３１１のデータは、位置情報，標識種別，標識が存在するリンクの番号などの情報からなる。また横断歩道６３２１のデータは、標識６３１１のデータと同様、位置情報，標識種別，リンク番号からなる。地図データには、道路に沿った建物６４１に対応した施設情報６４１１も含まれている。なお、図７ではリンクの情報をノード間で１本だけ描いているが、リンクに対応する道路区間の上り方面と下り方面とで別々のリンクとなるように管理してもよい。
【００３２】
また図５に示す道路の内、ルート６７は、ナビゲーション装置１０で計算したルートの一例を現している。ナビゲーション装置１０は、通常、現在地から目的地までのルートを予め計算しておき、そのルートの情報に従って誘導案内を行う。ルートを計算する方法は、ダイキストラ法などが知られている。本発明におけるナビゲーション装置１０でもルートの計算にダイキストラ法を使用可能である。
【００３３】
図８は、ナビゲーション装置１０で計算したルート６７に沿った地図メッシュに対応する地図データを示している。先の説明において、車両制御コントローラ２０は、現在地周辺の地図のみを使えればよいので、記憶装置２１には現在地周辺の地図のみを記憶しておくことを述べた。この方法とは別に、ルートに沿った地図データを予め記憶装置２１にコピーしておき、ナビゲーション装置１０による経路誘導の間、車両制御コントローラ２０で保持しておく方法も可能である。
【００３４】
地図メッシュ６５４１〜６５４４等は計算したルート６７が通っている地図メッシュである。これらの地図メッシュには道路６５２５〜６５２７のようにルート６７と交わる道路のデータも含まれていることになる。ルートの道路と交わる道路のデータを含めるのには２つの理由がある。一つは図４のような前方状況において、６２２の道路を走行する自動車との合流を支援したり、ルートを外れて６２１の道路へ右折したりする様な時に、ルートと交わる道路のデータが必要だからである。
【００３５】
もう一つの理由は車両が予め計算したルート６７を外れて走行するようになった場合、車両制御コントローラ２０がしばらくの間は地図データを使用することができるようにするためである。予め計算しておいたルートを外れて走行するようになった場合、ナビゲーション装置１０で再びルートを計算して新しく計算し直したルートに沿った地図を送信するには時間を要する。この間、車両制御コントローラ２０が地図使用した制御ができないのは不都合であるが、先に計算されていたルートと交わる道路の地図を持っていれば、しばらくはその道路上を走行している可能性が高い。
【００３６】
ルートを再計算する間も車両制御コントローラ２０で地図データを使用した制御の機能を行うため、記憶装置２１には現在地周辺の地図メッシュの地図データを格納する２種類の領域２１１と２１２を設ける。一つは使用中の地図データを格納する領域２１１であり、もう一つはルートを外れた場合に新たに計算したルートに沿った地図を受信するための領域２１２である。車両制御コントローラ２０では、地図データを使用した制御を行う際には領域２１１の地図データを参照し、地図用ネットワーク３１を介して受信した地図データは領域２１２に格納する。そして新たに計算したルートに沿った地図メッシュについて地図用ネットワーク３１を介した地図データの受信が終了したら、使用中の領域２１１と受信用の領域２１２を入れ替え、新しく受信した地図データを使用するようにする。
【００３７】
図１９は、ナビゲーション装置１０における主記憶装置１２３の内容を表している。主記憶装置１２３には、ナビゲーションタスク４３１のプログラム，地図送信タスク４９１のプログラム，ルート計算５１１のプログラム，地図更新タスク５４１のプログラム，ユーザーが行きたい場所を検索して目的地として設定する目的地検索１２３７のプログラムが格納されている。また、ナビゲーションタスク４３１でＣＡＮ３２から受信した現在位置の値を書き込み保持する領域１２３１，目的地検索１２３７のプログラムが決定した目的地の位置を書き込み保持する領域１２３２，地図送信タスク４９１において読み出したメッシュの地図データが順番に書き込み車両制御コントローラに対して送信する地図データを一時的に記憶する領域１２３３，ナビゲーション装置１０が地図の部分更新をした時に更新された地図メッシュの番号である更新メッシュ番号列が格納される領域１２３６，ルート計算５１１のプログラムにおいてルートリンク列を保持する領域１２３４と案内地点列を保持する領域１２３５が設けられている。地図の部分更新に関しては、後で図２１と図２２を用いて説明する。
【００３８】
図２０は、車両制御コントローラ２０における主記憶装置２５３の内容を表している。主記憶装置２５３には、位置特定タスク４１１のプログラム，標識認識タスク４５１のプログラム，地図要求タスク４７１のプログラム，地図受信タスク５３１のプログラムが格納されている。また、位置特定タスク４１１が書き込んだ現在位置の値を保持する領域２５３１，地図要求タスク４７１が更新する現在地メッシュ番号を保持する領域２５３２が設けられている。また主記憶装置２５３の領域２５３３には、標識・地物とパターンマッチを行う際に照合する標示パターンが標識・地物の標識種別毎に格納されているものとする。更に、記憶装置２１の領域２１１に格納されている地図データの車両制御コントローラ２０による使用状況を表す制御中フラグ２５３５を格納している。
【００３９】
図１１は、車両制御コントローラ２０のＣＰＵ２５２が実行するプログラムの一つである位置特定タスク４１１のフローを表している。ＧＰＳと画像認識を用いて現在位置を求めるこの位置特定タスク４１１では、まずカメラ２２で撮影した図４に示したような前方状況の画像を取り込み（４１２）、取り込んだ画像を画像認識装置２２１で処理してエッジ強調を行う（４１３）。そしてエッジ強調を行った結果から道路端を抽出してその道路端形状を認識する（４１４）。これにより図４の６１２〜６１５等の太線で表された部分が道路端として認識される。道路端の認識にはラプラシアン・フィルタ等により映像に対してエッジ強調処理を行い、そのエッジの接続により道路端を認識する方法が既に知られている。
【００４０】
次に、認識した道路端形状を平面へ投射変換する（４１５）。画像認識装置２２１で認識された道路端は、カメラの位置から見た道路の形になっている。これを真上から見た座標に投射する。図９は、画像認識結果の平面投射を説明した図である。この図９において、カメラ２２は自動車１において路面から高さｈの位置に設置されているとする。また道路上の目標物６９は、道路端６１２〜６１５等に相当する。目標物６９をカメラ２２から見た時の俯角θは、カメラ２２の光軸方向と画角、そして撮影した画像中での目標物の位置より求めることが可能である。θが求まれば、カメラから目標物６９までの距離Ｌはｈ／ｔａｎθで求めることが可能である。これは、目標物までの前後方向の距離の計算であるが、目標物の横方向の距離も同様にカメラ正面から角度を元に計算することが可能である。これにより、画像処理で認識された道路端の座標を平面に投影することができる。
【００４１】
続いてＧＰＳ受信機２３１から現在地の緯度・経度を読み込む（４１６）。ＧＰＳにより得られる位置情報は、衛星からの電波の受信状態により誤差を含むことがある。この後の処理では、地図と画像認識の結果から、この誤差を補正する。
【００４２】
そこで、ＧＰＳで得られた現在位置の周辺の詳細な地図データを記憶装置２１の領域２１１から読み込み、そこから道路の形状データのみ抜き出す（４１７）。画像認識で得られた道路端形状の座標を処理４１５で平面に投影して得られた道路端投射形状と、読み込んだ現在地付近の道路の形状データとのパターンマッチを行う（４１８）。
【００４３】
図１０は、平面に投射した道路端のデータをリンクの形状データと照合させた結果を表す図である。図４で認識された道路端６１２〜６１５は、地点６５１０をカメラ２２の位置とした場合、それぞれ道路端６１２１，６１３１，６１４１，６１５１として平面に投射される。これら平面上に投射した道路端６１２１，６１３１，６１４１，６１５１が形状データ６５２２，６５２３，６５２４，６５２５にそれぞれ対応することになる。そしてその時、平面上に投射した道路端における現在位置はカメラ２２の位置に対応した地点６５１０となる。
【００４４】
このパターンマッチは、両者のデータ間の距離が最小になる位置を両者が最も一致している位置として求める。図１０中の７０は、認識された道路端と地図データの間の距離を表している。例えば、平面に投影して得られた道路端投射形状の大きさを道幅などの予め推定される値に基づき調整した後、道路の形状データを成す線分の端点など、道路の複数の箇所において、この道路端投射形状との距離を求め、距離の合計が最小になるような場所を検索し、マッチした場所とする。そしてパターンマッチでマッチした場所とＧＰＳの値との距離を求め、この距離が一定値以内であるか否かを判断する（４１９）。そして、その距離が一定値以内である場合には、パターンマッチでマッチした場所を新しい現在地として採用する（４２０）。一方、距離が一定値より離れている場合には、パターンマッチの処理で間違った場所の地図とマッチしている可能性があるため、パターンマッチにより得られた位置ではなく、ＧＰＳの値を現在地として採用する（４２１）。
【００４５】
このようにして、平面に投射した道路端のデータを地図データにおけるリンクの形状データと照合した結果によりＧＰＳによる値を補正した、より正確な現在位置を求めることができる。
【００４６】
この様にして得られた現在位置の値は、ナビゲーション装置１０に通知するためにＣＡＮ３２に出力され（４２２）、また現在位置を主記憶装置２５３に記録される（４２３）。これら位置特定タスク４１１の処理は一定時間毎に繰り返し実行される。
【００４７】
図１２は、ナビゲーション装置１０のＣＰＵ１２２で実行されるナビゲーションタスク４３１の処理フローを示している。本発明を用いた車両制御システムでは、ＧＰＳによる測位手段は車両制御コントローラ２０が備えているため、前述のように車両制御コントローラ２０において現在位置が測位され、ナビゲーション装置１０ではＣＡＮ３２を介してこの現在位置の情報を受け取ることになる。このためナビゲーションタスク４３１では、まずＣＡＮ３２から現在位置を受信して主記憶装置１２３の領域１２３１に格納する（４３２）。この現在位置は、車両制御コントローラ２０の位置特定タスク４１１で一定時間毎に繰り返し実行される処理４２２においてＣＡＮ３２に出力している情報である。ＣＡＮ３２から受信した現在位置の情報に基づき、現在地周辺の地図メッシュのデータをディスク１１から読み込む（４３３）。そして読み込んだ地図データをディスプレイ１２４に描画する（４３４）。
【００４８】
次に誘導案内するためのルートが設定されているか判断し（４３５）ている。ルートの計算は後述するルート計算５１１のプログラムによって行われる。ルートが設定されていない場合には、ナビゲーションタスク４３１の処理を終了する。また、ルートが設定されている場合には、設定されているルートをディスプレイ１２４に既に描画している地図上に重ねて描画する（４３６）。
【００４９】
次に、ＣＡＮ３２から得られた現在位置をマップマッチングした結果がこのルートの上にあるか判断する（４３７）。現在位置をマップマッチングした結果がルート上にない場合には自動車がルートを外れて進行していると考えられるため、ルートの再計算するリルート処理を行う（５１１）。リルート処理では、主記憶装置１２３の目的地を記憶しておく領域１２３２に格納された位置情報を目的地とし、現在位置を出発地として後述するルート計算５１１のプログラムにより、新たなルートを計算する。そしてリルート処理の後は新たなルートを設定して最初に戻り処理を繰り返す。
【００５０】
現在位置をマップマッチングした結果がルート上にあった場合には、次の案内地点と現在位置との距離を計算する（４３８）。案内地点はルートを計算した際に進行方向の変更が必要な場所など誘導案内を行う地点を求めておき案内地点列としてディスク１１の領域１２３５に記憶されている。そして現在位置をマップマッチングした結果からルート上の進行方向で最も近い案内地点が次の案内地点となり、この案内地点までの距離が一定以上であるか判定し（４３９）、一定値以上である場合には処理を終了する。また次の案内地点までの距離が一定値以下の場合には、次の案内地点までの距離に応じて誘導案内を行い、例えば「１キロメートル先、右方向です。」あるいは、「３００ｍ先、○○○交差点を左折です。」のような案内音声を出力する（４４０）。そして誘導案内のための交差点の拡大図、曲がる方向への矢印、曲がる地点までの距離などからなる案内画面をディスプレイ１２４に描画する（４４１）。また、次の案内地点が目的地であった場合には、案内音声の出力と案内画面の描画（４４０，４４１）の際に、目的地付近に到着したので誘導案内を終了することを通知して、ルートの設定を取り消すものとする。
【００５１】
このナビゲーションタスク４３１は、やはり一定時間毎に処理が実行され、描画する地図，現在位置表示が更新される。
【００５２】
一時停止標識のある場所で自動車を停止させる制御をブレーキコントローラ４０により自動で行おうとした場合、誤動作を防ぐために、車両制御コントローラ２０では地図のデータ、画像認識を総合して制御命令を作成して、ＣＡＮ３２を介してブレーキコントローラ４０を制御する。そのため、車両制御コントローラ２０では標識認識タスク４５１を一定周期で実行させる。
【００５３】
図１３は、車両制御コントローラ２０で実行される標識認識タスク４５１の処理フローである。この処理では、カメラ２２が撮影した画像から標識や地物をパターンマッチにより認識するが、無駄な処理を行わないために、パターンマッチの対象となる標識や地物の存在を確認する。そこで主記憶装置２５３の領域２５３１から現在位置の情報を読み込む（４５２）。そして車両制御コントローラ２０により記憶装置２１の領域２１１に格納されている地図データが使用中であることを表す制御中フラグ２５３５をオンにする（４６３）。
【００５４】
次に、記憶装置２１の領域２１１から、先に読み込んだ現在位置が含まれる地図メッシュの現在位置周辺の地図データを読み込む（４５３）。そして現在位置付近の標識・地物を読み込んだ地図データから検索する。これにより、現在位置周辺に存在する標識あるいは地物のデータが存在すれば、図７に示した地図データの場合、標識６３１１や横断歩道６３２１などが求まる。この検索により標識・地物が見つかったか判断し（４５５）、標識も地物も見つからなかった場合には、制御中フラグ２５３５をオフにし（４６４）にし、処理を終了する。標識あるいは地物が見つかった場合には、標識・地物に対応する標示パターンを領域２５３３から読み込む（４５６）。図７のような地図データの場合、一時停止の標識や横断歩道の標示パターンを読み込むことになる。
【００５５】
次にカメラ２２から画像を読み込む（４５７）。そして検索で見つかった標識・地物の位置情報を地図データから読み出して画面上の座標に変換する（４５８）。この変換は、位置特定タスク４１１における画像上での道路端形状を平面へ投射した変換と逆の変換を行うことで可能である。そしてこれにより読み出した一時停止標識や横断歩道など標識・地物の、画面上での位置が求まる。このように計算した画面上の位置の周辺について、標識であれば設置場所に関する制限範囲や標識自体の大きさ、道路標示であればその向きと大きさから予想される範囲を画像認識対象領域とすることで、対応する標識や横断歩道などの道路標示に関する画像認識の精度を向上することが可能である。図４中では、領域７１が一時停止標識の認識対象領域、領域７２が横断歩道の認識対象領域となる。
【００５６】
そしてカメラ２２から読み込んだ画像における検索された標識・地物の認識対象領域の画像データと標示パターンとのパターンマッチを行う（４５９）。このパターンマッチは、画像の認識対象領域において標示パターンと類似している画像を探すことを意味する。このパターンマッチが成功したかどうか判定し（４６０）、マッチが成功しなかった場合には、制御中フラグ２５３５をオフにし（４６４）にして処理を終了する。一方、成功した場合には、認識された標識に対応した制御情報２５３４を主記憶装置２５３から読みこみ（４６１）、その制御情報をＣＡＮ３２に出力する（４６２）。一時停止標識が認識された場合には、停止の指示と停止すべき場所までの距離が出力されることになる。以上の処理により、地図データを読み込んでから読み込んだ地図データを用いた車両制御までの一連の処理が区切られるため、制御中フラグ２５３５をオフにして（４６４）、処理を終了する。
【００５７】
このようにして、カメラ２２からの画像で一時停止標識あるいは横断歩道等が認識された場合に、車両制御コントローラ２０は一時停止の制御を行う。これにより、一時停止ではないところで間違って停止してしまうような誤動作を防ぐことができる。
【００５８】
処理４６３、および処理４６４でオンとオフを切り替えている制御中フラグ２５３５は、後述する地図要求タスク４７１や地図受信タスク５３１において、地図用ネットワーク３１から新しい地図を受信した時に、車両制御コントローラ２０が既に有している地図データを使用している途中で、車両制御コントローラ２０がその地図の使用を開始することがないように、新しい地図データを使用開始するタイミングを制御している。
【００５９】
図１６は、ブレーキコントローラ４０で実行されるブレーキ制御のプログラムのフロー図である。ブレーキコントローラ４０では、このプログラムを制御周期毎に実行して、車両制御コントローラ２０が標識認識タスク４５１の実行によりＣＡＮ３２に出力する制御情報を受信し、ブレーキの制御を行う。プログラムではまずＣＡＮ３２から制御情報を受信し（５０２）、受信した制御情報から車両の目標速度を取り出す（５０３）。このＣＡＮ３２には、図示されていないエンジンのコントローラ等も接続されており、これらのコントローラが出力する自動車の速度情報もＣＡＮ３２に流れている。ブレーキコントローラ４０ではこの速度情報を受信し（５０４）、受信した制御情報から取り出した目標速度と比較し（５０５）、目標速度より受信した速度が大きい場合には、ブレーキを操作して減速を行う（５０６）。
【００６０】
車両制御コントローラ２０は、これまでの説明のように現在位置の把握や画像認識の処理に地図データを用いるが、必要な地図データは自車周辺の地図メッシュのデータのみでよい。従って記憶装置２１には前述のように自車周辺の地図メッシュの地図データのみ格納していればよい。しかし、この場合、自車の位置が移動するに伴い必要な地図データが含まれる地図メッシュも変化していく。このため、車両制御コントローラ２０は、地図用ネットワーク３１を介してナビゲーション装置１０に対して必要とする地図データを要求し、同じく地図用ネットワーク３１を介して要求した地図データを受け取る処理を必要に応じて行うことになる。
【００６１】
次に図１４，図１５を用いて、車両制御コントローラ２０が必要とする地図データをナビゲーション装置１０に対して要求し、送られてきた地図データを受信するプログラムの動きを説明する。
【００６２】
図１４は、車両制御コントローラ２０で実行される地図要求タスク４７１の処理フローである。主記憶装置２５３の領域２５３２から現在地メッシュ番号を読みこむ（４７２）。次に主記憶装置２５３の領域２５３１から現在位置の情報を読み込む（４７３）。この現在位置の情報は、位置特定タスク４１１が処理４２３で書き込んでいる値である。そして現在地メッシュ番号の地図メッシュ内に現在位置があるか判断する（４７４）。現在位置は刻一刻と移動するため、以前に記録していた現在地メッシュの範囲から外へ出ることがある。現在位置がまだ現在地メッシュ番号に対応する地図メッシュ内にある場合には、現在、記憶装置２１の領域２１１にある地図データを使用すればよいため処理を終了する。
【００６３】
しかし現在位置が現在地メッシュ番号に対応する地図メッシュの範囲から逸脱した場合には、新たな現在位置に対応した地図データを要求する必要がある。そこで、まず新しい現在位置が入っている地図メッシュのメッシュ番号を現在地メッシュ番号として、領域２５３２の現在地メッシュ番号を更新する（４７５）。そして更新された現在地メッシュ番号に対応する現在地メッシュとその周辺メッシュについて、記憶装置２１の使用中の地図メッシュが格納されている領域２１１内で不足している地図メッシュのメッシュ番号のリストを作成する（４７６）。現在位置の移動に伴い更新された現在地メッシュとその周辺メッシュが図６のようになる場合、記憶装置２１で保持する地図メッシュは、現在地メッシュ６５３１とその周辺のメッシュ６５３２〜６５３９からなる。これら９個の地図メッシュの内、記憶装置２１の使用中地図メッシュが格納されている領域２１１内に無い地図メッシュのメッシュ番号のリストが作成される。このようにして作成したメッシュ番号のリストを地図要求メッセージとして地図用ネットワーク３１に出力してナビゲーション装置へ送る（４７７）。一方、更新された現在地メッシュとその周辺メッシュの内、使用中地図メッシュが記録されている領域２１１中に存在している地図メッシュの地図データについては、この領域２１１から受信地図データを格納する領域２１２へコピーしておく（４８１）。
【００６４】
ナビゲーション装置１０では、この地図要求メッセージを受信して、後に説明する地図送信タスク４９１により、要求された地図メッシュの地図データを返信してくる。
【００６５】
地図要求タスク４７１では、ナビゲーション装置１０から返信されてくる地図データを待ち、地図用ネットワーク３１を介してナビゲーション装置１０が送ってくる地図データを地図用ネットワーク３１から受信し（４７８）、受信した地図データを記憶装置２１の受信地図データを記録しておく領域２１２に格納する（４７９）。処理４８１において領域２１１からコピーしておいた地図データと受信した地図データを組み合わせることにより、更新された現在位置に対応する現在地メッシュと周辺メッシュの地図が完成することになる。
【００６６】
ここで、前述の標識認識タスク４５１などが地図データを使用した処理／制御を行っている場合、新しく受信した地図データに即座に切り替えると、処理の途中で使用する地図データが変わってしまい、制御が誤動作する可能性がある。そこで、地図データを用いた制御を実行中であることを表す制御中フラグ２５３５がオンであった場合には、この制御中フラグがオフになるまで使用する地図の領域の切り替えを待機するため、制御中フラグ２５３５がオンになっているか否かを調べる（４８２）。そして、制御中フラグ２５３５がオンであれば、所定時間待機（４８３）した後、再び制御中フラグ２５３５がオンになっているか否かを調べる（４８２）。また、制御中フラグ２５３５がオフであれば、領域２１１と領域２１２を入れ替え（４８０）、処理を終了する。これにより、車両制御に用いる地図データを新しい現在地メッシュとその周辺メッシュを格納していた領域２１２を、使用中地図メッシュが記録されている領域として扱うことになる。
【００６７】
図１５は、ナビゲーション装置１０で実行される地図送信タスク４９１の処理フローである。地図要求タスク４７１が送出した地図要求メッセージを地図用ネットワーク３１から受信して、メッシュ番号リストとして要求された地図メッシュの地図データを、地図用ネットワーク３１を介して返信する。ナビゲーション装置１０の地図用ネットＩ／Ｆ１２６では地図用ネットワーク３１の通信状態を監視しており、地図用ネットＩ／Ｆ１２６で通信されるメッセージに基づいて各種の処理が実行される。地図受信タスクはナビゲーション装置１０の初期化の段階で起動されると、地図用ネットワーク３１から地図要求メッセージを受信する状態で待機している。地図用ネットＩ／Ｆ１２６で、地図要求メッセージの送出が検出されると、この地図要求メッセージの受信処理が行われる（４９２）。地図要求メッセージには車両制御コントローラ２０で必要な地図メッシュのメッシュ番号リストが入っている。そこでこの地図要求メッセージの受信処理（４９２）では、地図要求メッセージからメッシュ番号リストを取り出す。
【００６８】
地図送信タスク４９１では、抽出したメッシュ番号リストからメッシュ番号を順番に取り出し（４９３）、全てのメッシュ番号を取り出して処理を行うことでメッシュ番号リストから取り出すメッシュ番号がなくなったか調べ（４９４）、処理すべきメッシュ番号がある場合には、取り出したメッシュ番号に対応した地図メッシュの地図データをディスク１１から読み出し、主記憶装置１２３の領域１２３３に一時的に格納する（４９５）。
【００６９】
メッシュ番号リストに入っていた全てのメッシュ番号について地図データの読み出しが終わると、メッシュ番号リストから取り出すメッシュ番号が空になっているので、読み出して領域１２３３に格納しておいた地図データを地図用ネットワーク３１に送出して車両制御コントローラ２０に返信する（４９６）。このようにして地図データの送信処理が完了すると、再び地図要求メッセージの受信（４９２）で待機する。
【００７０】
以上のように地図要求タスク４７１と地図送信タスク４９１の処理により、車両制御コントローラ２０の記憶装置２１では現在地周辺の地図のみを持つ場合に、現在位置の移動に伴う記憶装置２１内の地図データの更新が行われる。そして記憶装置２１内の地図データの更新を、地図用ネットワーク３１を用いて行うことで、ＣＡＮ３２に負荷をかけずにデータ量の大きい地図データの転送が行われるため、ＣＡＮ３２を用いる他のセンサやコントローラ間での制御命令の送信遅延の発生を抑えることができる。
【００７１】
このように記憶装置２１に現在地周辺の地図を持つ構成の他に、図８で説明したようなルートに沿った地図のデータを持つ構成をとることも可能である。この構成の利点としては、ルート計算時にルート沿いの地図を車両制御コントローラに転送しておけば、このルート上を走行している限り以後の地図転送が必要ないことである。このようにルートに沿った地図を記憶装置２１に持つ場合の動作を図１７と図１８を用いて説明する。
【００７２】
図１７はナビゲーション装置１０で実行されるルート計算５１１の処理フローである。このルート計算５１１は、ナビゲーション装置１０で目的地を設定した際、あるいは図１２のナビゲーションタスク４３１の処理でルート上から現在位置が外れたことによるルートの再計算を実行する際にも起動される。まず出発地として主記憶装置１２３の領域１２３１から現在位置を読み込む（５１２）。この現在位置は、ナビゲーションタスク４３１と同様にして、ＣＡＮ  Ｉ／Ｆ１２７を介してＣＡＮ３２から受信したものを用いることが可能である。次に別途目的地を設定した時に目的地検索１２３７のプログラムにより領域１２３２に書き込まれた目的地の情報を主記憶装置１２３から読み込む（５１３）。
【００７３】
こうして求めた出発地と目的地についてルート探索を行う（５１４）。ルート探索の方法としてはダイキストラ法などのアルゴリズムが知られており、これを用い各道路リンクに距離や旅行時間を基にしたコストを割り当てることにより最短距離経路や最短時間経路を求めることが可能である。ルート計算で得られた出発地から目的地までのルートについてこのルートを構成する道路リンクの羅列であるルートリンク列を主記憶装置１２３の領域１２３４に格納する（５１５）。また、ルート計算で得られたルートの内、進行方向の変更が必要な地点である案内地点を出発地から目的地に向かって求めた案内地点列を主記憶装置１２３の領域１２３５に格納する（５１６）。
【００７４】
次に領域１２３４に格納したルートリンク列を読み出し、メッシュ番号列を初期化する（５１７）。以下では読み出したルートリンク列を構成する各リンクの中から未処理のリンクがあるかどうかを調べて未処理のリンクを１つずつ順番に取り出す（５１８）。未処理のリンクが取り出されると、取り出したリンクが通っている地図メッシュを検索し（５１９）、その地図メッシュのメッシュ番号をメッシュ番号列に追加して、メッシュ番号列を更新する（５２０）。この時、そのメッシュ番号が既にメッシュ番号列内にある場合には、メッシュ番号の重複を防ぐためにメッシュ番号列への追加を行わない。メッシュ番号列を更新すると処理は再び未処理リンクの取り出し処理（５１８）に戻る。
【００７５】
ルートリンク列の全てのリンクについてメッシュ番号列の更新処理を行い、全てのリンクについて処理が終了すると未処理リンクが無くなり、次に、地図用ネットワーク３１に対してこれからルートをカバーする地図メッシュについて地図データの送信を開始することを意味する経路地図送信開始メッセージを送信する処理に移る（５２１）。そしてメッシュ番号列に入っているメッシュ番号の中から未処理のメッシュ番号があるかどうかを調べて未処理のメッシュ番号を順番に取り出す（５２２）。未処理のメッシュ番号が取り出されると、取り出した未処理のメッシュ番号に対応する地図メッシュの地図データをディスク１１から読み出す（５２３）。そして読み出した地図データを地図用ネットワーク３１に送出して（５２４）、再び未処理メッシュ番号の取り出し処理（５２２）に戻る。メッシュ番号列の中から未処理メッシュ番号が無くなり、全てのメッシュ番号について対応する地図データの送出処理（５２４）が行われると、地図送信終了を表すメッセージを地図用ネットワーク３１に送出して（５２５）、ルート計算の処理を終了する。
【００７６】
図１８は車両制御コントローラ２０で実行される地図受信タスク５３１の処理フローであり、ルート計算５１１の処理フローにおいて地図用ネットワーク３１に送信された、ルートに沿った地図メッシュの地図データを受信する処理を行う。車両制御コントローラ２０の地図用ネットＩ／Ｆ２５６でも地図用ネットワーク３１の通信状態を監視しており、地図用ネットＩ／Ｆ２５６で通信されるメッセージに基づいてこの地図受信タスク５３１にメッセージの受信が通知される。地図受信タスク５３１は、車両制御コントローラ２０の初期化時に起動されると、地図用ネットワーク３１からの地図送信開始メッセージの受信処理（５３２）で待機している。そして地図用ネットＩ／Ｆ２５６からメッセージの受信を通知されると、地図送信開始メッセージの受信処理が行われる（５３２）。
【００７７】
地図送信開始メッセージには、ルート計算５１１における処理５２１で送信される経路地図送信開始メッセージと、後述する地図更新タスク５４１により送信される更新地図送信開始メッセージがある。そこで受信した地図送信開始メッセージがこのいずれであるかを判断し（５３８）、更新地図送信開始メッセージであった場合には、記憶装置２１の使用中の地図データを格納する領域２１１に記憶されている地図データを、地図用ネットワーク３１から受信した地図データを格納する領域２１２にコピーする（５３９）。地図更新タスク５４１が送信してくる更新用の地図データの場合には、更新された地図だけが送信されてくるため、使用中の地図データを領域２１２へコピーしておき、受信した更新用の地図データで古くなった地図データを上書きすることにより、更新されなかった部分の地図データは現在使用中のものを継続して使用することが可能となる。
【００７８】
次に、メッセージ受信処理（５３３）が始められる。メッセージの受信処理（５３３）において受信したメッセージについて、そのメッセージが地図送信終了メッセージか判断される（５３４）。地図送信終了メッセージではない場合には、そのメッセージは地図データが入ったメッセージであるため、受信したメッセージから地図データを取り出し、その地図データを記憶装置２１の受信用の領域２１２に格納する。そして処理５３３に戻り次のメッセージ受信を待つ。受信したメッセージがナビゲーション装置１０からの地図送信終了メッセージであった場合には、地図データの受信が終了したということを意味する。そこで、受信が終了して更新された地図データを使用するため、領域２１１と領域２１２を入れ替えて使用する地図データの格納領域を変更することになる。しかし、前述の標識認識タスク４５１などが地図データを使用して車両制御を行っている場合、処理の途中で更新された地図に切り替えると、標識認識タスク４５１などが使用している地図データが途中で変わってしまう可能性があり、制御が誤動作する可能性がある。そこで、地図データを用いた制御が実行中であることを表す制御中フラグ２５３５がオンであった場合にはオフになるまで使用する地図の領域の切り替えを待機するため、制御中フラグ２５３５がオンになっているか否かを調べる（５３７）。そして、制御中フラグ２５３５がオンであれば、所定時間待機（５４０）した後、再び制御中フラグ２５３５がオンになっているか否かを調べる（５３４）。また、制御中フラグがオフであれば、今まで使用していた地図の領域２１１と更新された地図が格納されている領域２１２とを入れ替える（５３６）。以上の処理によりナビゲーション装置１０から送られてくる地図データの受信処理が完了すると、再び処理５３２に戻り、次の地図送信開始メッセージの受信まで待機する。
【００７９】
新しい道路が開通したような場合、ナビゲーション装置１０のディスク１１に格納されている地図と実際の道路の状況が不一致となる状態が発生する。この問題を解決するために、前述のようにナビゲーション装置１０では、携帯電話４５を通じたセンターとの通信により地図の更新データを受信し、あるいはメモリカード１３に書き込まれた新しい地図の更新データを読み込み、ディスク１１に格納されている地図データを更新することが可能である。図２１は、このような地図の部分更新を説明した図である。この図に示した地図の部分更新では、新たに開通した道路７３を含むような地図メッシュ７４（ハッチングされている範囲の地図メッシュ）が更新される地図範囲となる。また現在地周辺メッシュ６５４の地図データに関しては車両制御コントローラ２０でも持っていることになる。ナビゲーション装置１０のディスク１１に格納されている地図データが更新された場合、この現在地周辺メッシュ６５４の地図データが更新される地図範囲を含む時には、車両制御コントローラ２０が持つ地図データも更新する必要がある。
【００８０】
図２２は、地図の部分更新を行う地図更新タスク５４１の処理フローである。ここではユーザーの操作によりナビゲーション装置１０の地図更新が行われ、地図更新タスク５４１が起動されるものとして説明を行う。地図更新タスク５４１ではユーザーの操作に基づき、地図の更新データを携帯電話４５から受信するか、あるいは、メモリカード１３から更新データを読み取ることでナビゲーション装置１０への更新データの入力処理が行われる（５４２）。そして、携帯電話４５からの更新データの受信、あるいは、メモリカード１３からに更新データの読み取りが終わり、入力処理が終了したか判断する（５４３）。入力処理が終了していない場合、受信した或いは読み取った地図データがあれば、その地図データのメッシュ番号を領域１２３６の更新メッシュ番号列に追加し（５４４）、更新する地図データをディスク１１に書き込む（５４５）。受信した或いは読み取った更新データをディスク１１に書き込むと、処理５４２に戻り次のデータの入力処理に移る。更新データの入力処理が終了した場合には、これから地図データを送信することを車両制御コントローラ２０に通知するため、地図用ネットワーク３１に地図送信開始メッセージを送出する（５４６）。続いて領域１２３６に格納されている更新メッシュ番号列から未処理のメッシュ番号があるか調べて未処理のメッシュ番号を取り出す（５４７）。未処理のメッシュ番号があれば、取り出した未処理のメッシュ番号が現在地周辺メッシュに該当するか否か判断する（５４８）。図２１に示す例では、現在地周辺メッシュ６５４に属する地図メッシュであるか否かを判断することになる。現在地周辺メッシュには該当しない場合には、対応する更新されたメッシュの地図データを車両制御コントローラ２０へ送る必要が無いため、処理５４７に戻り次の未処理のメッシュ番号を取り出す。一方、現在地周辺メッシュに該当するメッシュ番号であった場合には、そのメッシュ番号の地図データをディスク１１から読み出し（５４９）、読み出した地図データを地図用ネットワーク３１に送出して（５５０）、処理５４７に戻り次の未処理のメッシュ番号を取り出す。処理５４７で更新メッシュ番号列内の全てのメッシュ番号について処理が終了すると、地図の送信が終了したことを表す地図送信終了メッセージを地図用ネットワーク３１に対して送出し（５５１）、地図更新タスクの処理をする。
【００８１】
車両制御コントローラ２０では、前述の地図受信タスクにより更新された地図データを受信して、記憶装置２１の地図データを更新する。
【符号の説明】
【００８２】
１０  ナビゲーション装置
１１  ディスク
１３  メモリカード
２０  車両制御コントローラ
２１  記憶装置
２２  カメラ
２３  ＧＰＳアンテナ
３１  地図用ネットワーク
３２  ＣＡＮ
１２１，２５１  バス
１２２，２５２  ＣＰＵ
１２３，２５３  主記憶装置
１２４  ディスプレイ
１２５  ディスクインタフェース
１２６，２５６  地図用ネットワークインタフェース
１２７，２５７  ＣＡＮインタフェース
１２８  携帯電話インタフェース
１２９  メモリカードインタフェース
２２１  画像認識装置
２３１  ＧＰＳ受信機
２５５  記憶装置インタフェース
【図１】
2011053163.tif 000003
【図２】
2011053163.tif 000004
【図３】
2011053163.tif 000005
【図４】
2011053163.tif 000006
【図５】
2011053163.tif 000007
【図６】
2011053163.tif 000008
【図７】
2011053163.tif 000009
【図８】
2011053163.tif 000010
【図９】
2011053163.tif 000011
【図１０】
2011053163.tif 000012
【図１１】
2011053163.tif 000013
【図１２】
2011053163.tif 000014
【図１３】
2011053163.tif 000015
【図１４】
2011053163.tif 000016
【図１５】
2011053163.tif 000017
【図１６】
2011053163.tif 000018
【図１７】
2011053163.tif 000019
【図１８】
2011053163.tif 000020
【図１９】
2011053163.tif 000021
【図２０】
2011053163.tif 000022
【図２１】
2011053163.tif 000023
【図２２】
2011053163.tif 000024