(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】地図データ利用システム、地図データ利用方法及びプログラム
(51)【国際特許分類】
G09B 29/00 20060101AFI20241119BHJP
G09B 29/10 20060101ALI20241119BHJP
G01C 21/26 20060101ALI20241119BHJP
G08G 1/137 20060101ALI20241119BHJP
【FI】
G09B29/00 Z
G09B29/10 A
G01C21/26 A
G08G1/137
(21)【出願番号】P 2021033520
(22)【出願日】2021-03-03
【審査請求日】2023-09-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000213
【氏名又は名称】弁理士法人プロスペック特許事務所
(72)【発明者】
【氏名】柏原 健之朗
(72)【発明者】
【氏名】三上 康之
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2022-108087(JP,A)
【文献】特開2020-038359(JP,A)
【文献】特開2003-185442(JP,A)
【文献】特開2003-302225(JP,A)
【文献】特開2007-163166(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 29/00,29/10
G01C 21/26
G08G 1/137
(57)【特許請求の範囲】
【請求項1】
それぞれが所定の大きさを有する複数のエリア毎の地図データを送信可能に構成された地図データ配信サーバと、
前記地図データ配信サーバからネットワークを介して送信される地図データを記憶する記憶装置、現在の位置を取得する位置取得装置、及び、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う制御装置、を搭載した車両と、
を含む、
地図データ利用システムにおいて、
前記地図データ配信サーバは、
前記車両から送信される地図データの取得要求を受信した場合、前記受信した取得要求に応じたエリアの地図データを前記車両に送信するように構成され、
前記制御装置は、
前記複数のエリアのうち、前記位置取得装置により取得された前記車両の現在の位置が属するエリア、の地図データが前記記憶装置に記憶されていない場合、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記取得要求として前記地図データ配信サーバに送信し、
前記取得要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶し、
前記取得要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値が所定の消去閾値以下である場合には、
前記車両の現在位置が属するエリアが前記取得要求を送信したときの前記車両が属するエリアと異なるとの条件を少なくとも含む消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去し、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する、
ように構成された、
地図データ利用システム。
【請求項2】
請求項1に記載の地図データ利用システムにおいて、
前記制御装置は、
前記車両の現在の位置が属するエリアの前記頻度指標値が所定の取得閾値よりも大きい場合、前記車両の現在の位置が属するエリアの地図データを取得するための要求である第1取得要求を前記取得要求として前記地図データ配信サーバに送信し、
前記車両の現在の位置が属するエリアの前記頻度指標値が前記取得閾値以下である場合、前記車両の現在の位置が属するエリア及び前記車両の現在の位置が属するエリアに隣接するエリアの地図データを取得するための要求である第2取得要求を前記取得要求として前記地図データ配信サーバに送信する、
ように構成された、
地図データ利用システム。
【請求項3】
請求項2に記載の地図データ利用システムにおいて、
前記制御装置は、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が所定の前記消去閾値以下である場合において、
前記車両の現在の位置が属するエリアが前記第1取得要求を送信したときの前記車両の位置が属するエリアと異なるようになったとき、前記消去条件が成立したと判定し、前記第1取得要求に応じて前記地図データ配信サーバから送信されてきた地図データを前記記憶装置から消去し、
前記車両の現在の位置が属するエリアが、前記第2取得要求を送信したときの前記車両の位置が属するエリア、及び、前記第2取得要求を送信したときの前記車両の位置が属するエリアに隣接するエリアの何れとも異なるようになったとき、前記消去条件が成立したと判定し、前記第2取得要求に応じて前記地図データ配信サーバから送信されてきた地図データを前記記憶装置から消去する、
ように構成された、
地図データ利用システム。
【請求項4】
請求項1乃至請求項3の何れか一つに記載の地図データ利用システムにおいて、
所定期間において前記車両が前記エリアを通過した回数である通過回数の前記所定期間における前記車両の運転回数に対する割合、及び、前記通過回数の何れか一方が、前記頻度指標値として取得される、
地図データ利用システム。
【請求項5】
請求項1乃至請求項3の何れか一つに記載の地図データ利用システムにおいて、
前記車両の現時点の運転者である現在運転者によって運転された前記車両が所定期間において前記エリアを通過した回数である通過回数の前記所定期間における前記現在運転者による前記車両の運転回数に対する割合、及び、前記通過回数の何れか一方が、前記頻度指標値として取得される、
地図データ利用システム。
【請求項6】
請求項1に記載の地図データ利用システムにおいて、
前記車両の現時点の運転者である現在運転者によって運転された前記車両が所定期間において前記エリアを通過した回数である通過回数の前記所定期間における前記現在運転者による前記車両の運転回数に対する割合が第1頻度指標値として取得され、
前記所定期間において前記車両の運転者によらずに前記車両が前記エリアを通過した回数である通過回数の前記所定期間における前記運転者によらない前記車両の運転回数に対する割合が第2頻度指標値として取得され、
前記制御装置は、
前記車両の現在の位置が属するエリアの前記第1頻度指標値が所定の取得閾値よりも大きい場合、前記車両の現在の位置が属するエリアの地図データを取得するための要求である第1取得要求を前記取得要求として前記地図データ配信サーバに送信し、
前記車両の現在の位置が属するエリアの前記第1頻度指標値が前記取得閾値以下である場合、前記車両の現在の位置が属するエリア及び前記車両の現在の位置が属するエリアに隣接するエリアの地図データを取得するための要求である第2取得要求を前記取得要求として前記地図データ配信サーバに送信し、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記第2頻度指標値が前記消去閾値以下である場合には、前記消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去し、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記第2頻度指標値が前記消去閾値よりも大きい場合には、前記取得エリアの地図データの記憶を維持する、
ように構成された、
地図データ利用システム。
【請求項7】
それぞれが所定の大きさを有する複数のエリア毎の地図データを記憶している地図データ配信サーバからネットワークを介して車両に送信された地図データを前記車両に備わる記憶装置に記憶し、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う地図データ利用方法において、
前記車両の現在の位置が属するエリアの地図データが前記記憶装置に記憶されていない場合、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記地図データ配信サーバに送信する第1のステップと、
前記要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶する第2のステップと、
前記要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値が所定の消去閾値以下である場合には、
前記車両の現在位置が属するエリアが前記要求を送信したときの前記車両が属するエリアと異なるとの条件を少なくとも含む消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去する第3のステップと、
前記要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する第4のステップと、
を含む、
地図データ利用方法。
【請求項8】
それぞれが所定の大きさを有する複数のエリア毎の地図データを記憶している地図データ配信サーバからネットワークを介して送信された地図データを記憶するための記憶装置を備え、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う車両に適用されるプログラムにおいて、
前記車両の現在の位置が属するエリアの地図データが前記記憶装置に記憶されていない場合、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記地図データ配信サーバに送信する第1のステップと、
前記要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶する第2のステップと、
前記要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値が所定の消去閾値以下である場合には、
前記車両の現在位置が属するエリアが前記要求を送信したときの前記車両が属するエリアと異なるとの条件を少なくとも含む消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去する第3のステップと、
前記要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する第4のステップと、
を含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のエリア毎の地図データを送信可能に構成された地図データ配信サーバと、地図データ配信サーバから地図データを取得し、取得した地図データに基いて所定の車両制御を行うように構成された車両と、を備えた地図データ利用システムに関する。更に、本発明は、地図データ配信サーバから取得した地図データに基いて車両制御を行う地図データ利用方法、及び地図データ配信サーバから地図データを取得するためのプログラムに関する。
【背景技術】
【0002】
従来から、地図データを車両に送信可能に構成されたサーバと、サーバから送信された地図データに基いて車両制御を行うように構成された車両と、を備える地図データ利用システムが知られている。例えば、特許文献1に記載された地図データ利用システム(以下、「従来システム」と称呼する。)では、車両の記憶装置に記憶されている地図データを最新の地図データに更新する必要がある場合には、車両は、走行頻度の高い第1エリア、第1エリアに隣接するエリア及び走行頻度の低い第2エリアの順に最新の地図データをサーバから取得する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
車両は、サーバから取得した地図データを車両に備わる記憶装置に記憶する。近年、地図データの精度が高くなってきている。このため、地図データのデータ量が大きくなり、そのため車両は記憶容量が大きい記憶装置を必要とする。しかしながら、記憶容量が大きい記憶装置はコストが高いから、車両の製造コストが結果的に高くなるという問題が生じている。
【0005】
本発明は前述した課題に対処するためになされたものである。即ち、本発明の目的の一つは、車両の記憶装置に記憶される地図データの使用容量を低減することにより、記憶装置に要求される記憶容量を低減できる地図データ利用システムを提供することにある。
【0006】
本発明の地図データ利用システム(以下、「本発明システム」とも呼称する。)は、
それぞれが所定の大きさを有する複数のエリア毎の地図データを送信可能に構成された地図データ配信サーバ(20)と、
前記地図データ配信サーバからネットワーク(NW)を介して送信される地図データを記憶する記憶装置(36)、現在の位置を取得する位置取得装置(38)、及び、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う制御装置(30及び60)、を搭載した車両(VA)と、
を含む、
地図データ利用システムにおいて、
前記地図データ配信サーバは、
前記車両から送信される地図データの取得要求を受信した場合、前記受信した取得要求に応じたエリアの地図データを前記車両に送信するように構成され、
前記制御装置は、
前記複数のエリアのうち、前記位置取得装置により取得された前記車両の現在の位置が属するエリア、の地図データが前記記憶装置に記憶されていない場合(ステップ705「No」)、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記取得要求として前記地図データ配信サーバに送信し(ステップ715及びステップ725)、
前記取得要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶し(ステップ800乃至ステップ895)、
前記取得要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値(N)が所定の消去閾値(N2th)以下である場合には(ステップ740「Yes」、ステップ725、ステップ810「Yes」、ステップ815)、所定の消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去し(ステップ920)、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には(ステップ740「No」、ステップ750、ステップ810「No」)、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する(ステップ820)、
ように構成されている。
【0007】
本発明システムによれば、取得要求を送信したときの車両の位置が属するエリアの頻度指標値が消去閾値以下である場合、消去条件が成立すると、その取得要求に応じて地図データ配信サーバから送信された地図データは記憶装置から消去される。これによって、記憶装置に記憶される地図データの使用容量を低減できるので、記憶装置に要求される記憶容量を低減できる。更に、頻度指標値が消去閾値よりも大きなエリアの地図データは記憶装置から消去されないので、当該エリアの地図データを地図データ配信サーバから何度も取得する必要がなくなる。これにより、地図データ配信サーバと車両との間の通信量を低減できる。
【0008】
本発明システムの一態様において、
前記制御装置は、
前記車両の現在の位置が属するエリアの前記頻度指標値(N)が所定の取得閾値(N
1th)よりも大きい場合(ステップ730「Yes」)、前記車両の現在の位置が属するエリアの地図データを取得するための要求である第1取得要求を前記取得要求として前記地図データ配信サーバに送信し(ステップ735)、
前記車両の現在の位置が属するエリアの前記頻度指標値が前記取得閾値以下である場合(ステップ730「No」)、前記車両の現在の位置が属するエリア及び前記車両の現在の位置が属するエリアに隣接するエリアの地図データを取得するための要求である第2取得要求を前記取得要求として前記地図データ配信サーバに送信する(ステップ715)、
ように構成されている。
【0009】
車両が、頻度指標値が取得閾値以下であるエリア(以下、「低頻度エリア」と称呼する。)に進入した場合、頻度指標値が取得閾値よりも大きなエリア(以下、「高頻度エリア」と称呼する。)に進入した場合に比べて、その後も記憶装置に地図データが記憶されていないエリアを通過する可能性が高い。これは、車両が低頻度エリアに進入した場合には、車両が訪れる頻度の少ない目的地又は初めて訪れる目的地に向かって走行している可能性が高いためである。本態様では、車両の現在の位置が属するエリアの頻度指標値が取得閾値以下であれば車両の現在の位置が属するエリアの地図データ及び当該エリアに隣接するエリアの地図データが取得される。これにより、車両が低頻度エリアに進入した後に他の低頻度エリアに進入したとしても、地図データ配信サーバから進入先のエリアの地図データを取得することなく進入先の地図データに基く車両制御を行うことができる可能性を高めることができる。
【0010】
上記態様において、
前記制御装置は、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が所定の前記消去閾値以下である場合において、
前記車両の現在の位置が属するエリアが前記第1取得要求を送信したときの前記車両の位置が属するエリアと異なるようになったとき(ステップ915「No」)、前記消去条件が成立したと判定し、前記第1取得要求に応じて前記地図データ配信サーバから送信されてきた地図データを前記記憶装置から消去し(ステップ920)、
前記車両の現在の位置が属するエリアが、前記第2取得要求を送信したときの前記車両の位置が属するエリア、及び、前記第2取得要求を送信したときの前記車両の位置が属するエリアに隣接するエリアの何れとも異なるようになったとき(ステップ925「No」)、前記消去条件が成立したと判定し、前記第2取得要求に応じて前記地図データ配信サーバから送信されてきた地図データを前記記憶装置から消去する(ステップ920)、
ように構成されている。
【0011】
車両の現在の位置が属するエリアが第1取得要求を送信したときの車両の位置が属するエリアと異なる場合、当該第1取得要求に応じて地図データ配信サーバから送信された地図データは使用されない。車両の現在の位置が属するエリアが第2取得要求を送信したときの車両の位置が属するエリア及び第2取得要求を送信したときの車両の位置が属するエリアに隣接するエリアの何れとも異なる場合、当該第2取得要求に応じて地図データ配信サーバから送信された地図データは使用されない。本態様によれば、地図データが使用されなくなったときに消去条件が成立し、記憶装置から当該地図データが消去される。記憶装置の地図データの使用容量を効率よく低減できる。
【0012】
本発明システムの一態様において、
所定期間において前記車両が前記エリアを通過した回数である通過回数の前記所定期間における前記車両の運転回数に対する割合、及び、前記通過回数の何れか一方が、前記頻度指標値として取得される(ステップ620)。
【0013】
これにより、頻度指標値は「車両の」各エリアの走行頻度を表すことになる。従って、「車両の」走行頻度を表す頻度指標値が消去閾値よりも大きなエリアの地図データのみが記憶装置に記憶される。よって、記憶装置における地図データの記憶容量を低減できる。
【0014】
本発明システムの一態様において、
前記車両の現時点の運転者である現在運転者によって運転された前記車両が所定期間において前記エリアを通過した回数である通過回数の前記所定期間における前記現在運転者による前記車両の運転回数に対する割合、及び、前記通過回数の何れか一方が、前記頻度指標値として取得される(ステップ1115)。
【0015】
これにより、頻度指標値は「運転者毎の」各エリアの走行頻度を表すことになる。従って、運転者の走行頻度を表す頻度指標値が消去閾値よりも大きなエリアの地図データのみが記憶装置に記憶される。よって、記憶装置における地図データの記憶容量を低減でき、運転者の走行頻度に合わせた地図データを記憶装置に記憶することができる。
【0016】
本発明システムの一態様において、
前記車両の現時点の運転者である現在運転者によって運転された前記車両が所定期間において前記エリアを通過した回数である通過回数の前記所定期間における前記現在運転者による前記車両の運転回数に対する割合が第1頻度指標値として取得され、
前記所定期間において前記車両の運転者によらずに前記車両が前記エリアを通過した回数である通過回数の前記所定期間における前記運転者によらない前記車両の運転回数に対する割合が第2頻度指標値として取得され、
前記制御装置は、
前記車両の現在の位置が属するエリアの前記第1頻度指標値が所定の取得閾値よりも大きい場合(
図13に示したステップ1210「Yes」)、前記車両の現在の位置が属するエリアの地図データを取得するための要求である第1取得要求を前記取得要求として前記地図データ配信サーバに送信し(
図13に示したステップ735)、
前記車両の現在の位置が属するエリアの前記第1頻度指標値が前記取得閾値以下である場合(
図13に示したステップ1210「No」)、前記車両の現在の位置が属するエリア及び前記車両の現在の位置が属するエリアに隣接するエリアの地図データを取得するための要求である第2取得要求を前記取得要求として前記地図データ配信サーバに送信し(
図13に示したステップ715)、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記第2頻度指標値が前記消去閾値以下である場合には(ステップ1310「Yes」、
図13に示したステップ725、ステップ810「Yes」、ステップ815)、前記消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去し、
前記取得要求を送信したときの前記車両の位置が属するエリアの前記第2頻度指標値が前記消去閾値よりも大きい場合には(ステップ1310「No」、
図13に示したステップ750、ステップ810「No」)、前記取得エリアの地図データの記憶を維持する(ステップ820)、
ように構成されている。
【0017】
車両が、現在運転者の走行頻度(第1頻度指標値)が取得閾値以下である低頻度エリアに進入した場合、その後も運転者の走行頻度が低く且つ記憶装置に地図データが記憶されていないエリアを通過する可能性が高い。このような場合には、車両の現在の位置が属するエリアの地図データと当該エリアに隣接するエリアの地図データとが取得される。
【0018】
更に、本態様によれば、運転者の走行頻度(第1頻度指標値)が高くても、運転者にかかわらず車両の走行頻度(第2頻度指標値)が低いエリアの地図データは記憶装置から消去されるので、記憶装置における地図データの記憶容量を低減できる。
【0019】
本発明の地図データ利用方法は、
それぞれが所定の大きさを有する複数のエリア毎の地図データを記憶している地図データ配信サーバ(20)からネットワーク(NW)を介して車両(VA)に送信された地図データを前記車両に備わる記憶装置(36)に記憶し、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う方法であり、
前記車両の現在の位置が属するエリアの地図データが前記記憶装置に記憶されていない場合(ステップ705「No」)、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記地図データ配信サーバに送信する第1のステップ(ステップ715及びステップ725)と、
前記要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶する第2のステップ(ステップ800乃至ステップ895)と、
前記要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値(N)が所定の消去閾値(N2th)以下である場合には(ステップ740「Yes」、ステップ725、ステップ810「Yes」、ステップ815)、所定の消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去する第3のステップ(ステップ920)と、
前記要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には(ステップ740「No」、ステップ750、ステップ810「No」)、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する第4のステップ(ステップ820)と、
を含む。
【0020】
本発明のプログラムは、
それぞれが所定の大きさを有する複数のエリア毎の地図データを記憶している地図データ配信サーバ(20)からネットワーク(NW)を介して送信された地図データを記憶するための記憶装置(36)を備え、前記記憶装置に記憶されている地図データを用いて所定の車両制御を行う車両(VA)に適用され、
前記車両の現在の位置が属するエリアの地図データが前記記憶装置に記憶されていない場合(ステップ705「No」)、前記車両の現在の位置が属するエリアを少なくとも含む取得エリアの地図データを取得するための要求を前記地図データ配信サーバに送信する第1のステップ(ステップ715及びステップ725)と、
前記要求に応じて前記地図データ配信サーバから送信されてきた前記取得エリアの地図データを受信して前記記憶装置に記憶する第2のステップ(ステップ800乃至ステップ895)と、
前記要求を送信したときの前記車両の位置が属するエリアを前記車両が走行する頻度を表す頻度指標値(N)が所定の消去閾値(N2th)以下である場合には(ステップ740「Yes」、ステップ725、ステップ810「Yes」、ステップ815)、所定の消去条件が成立したとき前記取得エリアの地図データを前記記憶装置から消去する第3のステップ(ステップ920)と、
前記要求を送信したときの前記車両の位置が属するエリアの前記頻度指標値が前記消去閾値よりも大きい場合には(ステップ740「No」、ステップ750、ステップ810「No」)、前記消去条件が成立しているか否かに関わらず前記取得エリアの地図データを前記記憶装置から消去することなく当該取得エリアの地図データの記憶を維持する第4のステップ(ステップ820)と、
を含む。
【0021】
上記地図データ取得方法及び上記プログラムによれば、取得要求を送信したときの車両の位置が属するエリアの頻度指標値が消去閾値以下である場合、消去条件が成立すると、その取得要求に応じて地図データ配信サーバから送信された地図データは記憶装置から消去される。これにより、車両の記憶装置に記憶される地図データの使用容量を低減できる。
【0022】
なお、上記説明においては、発明の理解を助けるために、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び/又は符号を括弧書きで添えている。しかしながら、発明の各構成要素は、前記名称及び/又は符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【0023】
【
図1】
図1は、本発明の実施形態に係る地図データ利用システムの概略システム構成図である。
【
図3】
図3は、
図1に示した車両の概略システム構成図である。
【
図5】
図5は、各エリアの走行頻度の説明図である。
【
図6】
図6は、
図3に示した制御ECUのCPUが実行する地図データ管理ルーチンを示したフローチャートである。
【
図7】
図7は、
図3に示した制御ECUのCPUが実行する地図データ取得サブルーチンを示したフローチャートである。
【
図8】
図8は、
図3に示した制御ECUのCPUが実行する地図データ記憶ルーチンを示したフローチャートである。
【
図9】
図9は、
図3に示した制御ECUのCPUが実行する地図データ消去サブルーチンを示したフローチャートである。
【
図10】
図10は、
図3に示した制御ECUのCPUが実行する車両制御ルーチンを示したフローチャートである。
【
図11】
図11は、本発明の実施形態の第1変形例の地図データ管理ルーチンを示したフローチャートである。
【
図12】
図12は、本発明の実施形態の第1変形例の地図データ取得サブルーチンを示したフローチャートである。
【
図13】
図13は、本発明の実施形態の第2変形例の地図データ取得サブルーチンを示したフローチャートである。
【発明を実施するための形態】
【0024】
以下、図面を参照しながら、本発明の実施形態に係る地図データ利用システム(以下、「本システム」と称呼する。)10を説明する。
図1に示したように、本システム10は、地図データ配信サーバ20及び車両VAを備える。以下、地図データ配信サーバ20を「配信サーバ20」と称呼する。便宜上、
図1には1台の車両VAのみが示されているが、本システム10は複数の車両VAを含んでいてもよい。車両VAは、ネットワークNWを介して配信サーバ20にデータ通信可能に接続されている。
【0025】
配信サーバ20は、CPU、ROM、RAM、インターフェース(I/F)及び記憶装置22を備えている。CPUは、メモリ(ROM)に格納されたインストラクション(ルーチン)を実行することにより各種機能を実現する。記憶装置22は、例えば、ハードディスクからなり、地図データを記憶している地図データ記憶部220を有している。
【0026】
地図データは、
図2に示したように、複数のエリアARに対応するデータに分割されている。地図データは、複数のエリアARのどのエリアの地図データであるかが識別可能となるように地図データ記憶部220に記憶されている。エリアARは、X方向の複数の平行線Lx及びY方向の複数の平行線Lyによって区画(定義)される。本例において、エリアARは、互いに均等な大きさを有する正方形である。一例としてエリアARの一辺の長さd0は1kmである。なお、エリアARの形状は正方形でなくてもよい。
【0027】
本例において、X方向は方位の東の方向であり、Y方向はX方向に垂直な方向(即ち、北の方向)である。エリアARのX方向及びY方向の位置は、値Xk(k=1、2、3、・・・L)及び値Ym(m=1、2、3、・・・N)により表される。データセット(Xk、Ym)により複数のエリアARのうちの一つが特定される。即ち、値Xkと値Ymとのデータセット(Xk、Ym)は、エリアARを一意に識別可能なエリア識別子(エリアID)である。複数のエリアARのそれぞれが有する範囲は、緯度及び経度により規定されている。従って、ある緯度及び経度の組により特定される位置情報が与えられると、複数のエリアARから一つのエリア(Xk、Ym)が決まる。
【0028】
図3に示したように、車両VAは、制御ECU30及びステアリングECU60を備える。これらのECUは、CAN(Controller Area Network)を介してデータ通信可能に互いに接続されている。
【0029】
ECUは、エレクトロニックコントロールユニットの略称であり、CPU、ROM、RAM、書き込み可能な不揮発性メモリ(本例においてEEPROM)、及びインターフェース等を含むマイクロコンピュータを主要構成部品として有する電子制御回路である。ECUは「制御装置」又は「コントローラ」と称呼される場合がある。CPUは、メモリ(ROM)に格納されたインストラクション(ルーチン)を実行することにより各種機能を実現する。上記ECU30及び60の総て又は幾つかは、一つのECUに統合されてもよい。
【0030】
更に、車両VAは、運転席カメラ装置32、GNSS(Global Navigation Satellite System)受信機34、記憶装置36及びデータ通信装置38を備えている。これらは、制御ECU30にデータ通信可能に接続されている。
【0031】
運転席カメラ装置32は、車両VAの運転席付近の画像(運転席画像)を取得し、その運転席画像を制御ECU30へと送信する。なお、運転席カメラ装置32は第1変形例で使用される。
GNSS受信機34は、車両VAの現在位置(緯度、経度)を検出するための「人工衛星からの信号(GNSS信号)」を受信する。以下では、GNSS受信機34は、「位置取得装置」と称呼される場合もある。
【0032】
記憶装置36は、データの書き込み、保持及び読み出しが可能な記憶媒体を含む装置(例えば、ハードディスク)である。
図4に示したように、記憶装置36は地図データ記憶部360及び一時記憶部362を有する。一時記憶部362に記憶された地図データは、後述する消去条件が成立したときに消去されるが、地図データ記憶部360に記憶された地図データは、消去条件が成立しても消去されない。
【0033】
図3に示したデータ通信装置38は、無線通信装置を含み、制御ECU30と配信サーバ20との間でデータを交換可能に構成されている。
【0034】
ステアリングECU60は、周知の電動パワーステアリングシステムの制御装置であって、舵角センサ62及び操舵用モータ64に接続されている。操舵用モータ64は、車両VAの「ステアリングホイール、ステアリングホイールに連結された図示しないステアリングシャフト及び操舵用ギア機構等を含む、図示しないステアリング機構」に組み込まれている。
【0035】
舵角センサ62は、車両VAの操舵輪の舵角θを検出し、舵角θを表す検出信号をステアリングECU60に出力する。
操舵用モータ64は、ステアリングECU60によって向き及び大きさ等が制御される電力に応じてトルクを発生し、このトルクによって操舵アシストトルクを加えたり、左右の操舵輪を操舵したりする。即ち、ステアリングECU60は、操舵用モータ64を用いて舵角θを制御できる。なお、上記電力は車両VAに搭載された図示しないバッテリから供給される。
【0036】
制御ECU30は、GNSS受信機34が受信したGNSS信号に基いて現在位置(車両VAの現時点における位置)を特定する。制御ECU30は、ROMに予め記憶されているエリアID管理データを参照することにより、現在位置に対応するエリアである現在エリアのエリアID(以下、「現在エリアID(Xk,Ym)」又は「現在エリアID」と称呼する。)を特定する。エリアID管理データでは、緯度及び経度とXk及びYmとの対応関係が登録されている。そして、制御ECU30は、記憶装置36から現在エリアID(Xk、Ym)に対応する地図データ(以下、「現在地図データ」と称呼する。)を読み出し、現在地図データに基いて所定の車両制御を行う。
【0037】
ここで、制御ECU30が行う車両制御の一例としては自動操舵制御がある。この自動操舵制御では、制御ECU30は、車両VAが現時点において走行している車線の幅方向の中央付近の所定位置を走行するように舵角θを制御する。
より詳細には、制御ECU30は、車両VAが上記所定位置を通過するような目標舵角θtgtを含む操舵指令信号をステアリングECU60に送信する。ステアリングECU60は、舵角θが操舵指令信号に含まれる目標舵角θtgtと一致するように操舵用モータ64を制御する。
【0038】
(作動の概要)
制御ECU30は、所定時間が経過する毎に現在位置を特定し、現在位置に基いて現在エリアIDを特定する。現時点で特定された現在エリアIDを「今回現在エリアID」と称呼し、現時点から所定時間前に特定された現在エリアIDを「前回エリアID」と称呼する。前回エリアIDが特定されてから今回現在エリアIDが特定されるまでの間に車両VAが走行中のエリアが新たなエリアに切り替わると、今回現在エリアIDと前回エリアIDとが異なる。
【0039】
今回現在エリアIDが前回エリアIDから変化したとき、今回現在エリアIDに対応する地図データが地図データ記憶部360に記憶されていなければ、制御ECU30は、少なくとも「今回現在エリアIDに対応する地図データ」を含む「地図データを取得するための取得要求」をデータ通信装置38を介して配信サーバ20に送信する。この取得要求は、制御ECU30が取得しようとしている地図データのエリアID(以下、「要求エリアID」と称呼する。)を含む。配信サーバ20は、車両VAから取得要求を受信した場合、取得要求に含まれるエリアIDに対応する地図データを車両VAに送信する。なお、取得要求により取得される地図データのエリアは「取得エリア」と称呼される場合がある。
【0040】
ところで、制御ECU30は、所定期間(例えば、3か月)における車両VAの各エリアの走行頻度Nを算出して記憶している。より詳細には、制御ECU30は、所定期間において車両VAが通過したエリアの通過回数SNを所定期間における車両の運転回数Dで除算することにより走行頻度Nを取得している。運転回数Dは、車両VAの図示しないイグニッション・キー・スイッチ(車両走行を可能とするためのスイッチ)がオフ位置からオン位置へと変化してからオン位置からオフ位置へと変化した場合に1回としてカウントされるトリップ数である。
【0041】
車両VA(データ通信装置38)が配信サーバ20から地図データを受信すると、制御ECU30は、今回現在エリアIDに対応するエリアの走行頻度Nが所定の消去閾値よりも大きいか否かを判定する。今回現在エリアIDに対応するエリアの走行頻度Nが所定の消去閾値よりも大きい場合、制御ECU30は、受信した地図データを地図データ記憶部360に記憶する。一方、今回現在エリアIDに対応するエリアの走行頻度Nが所定の消去閾値以下である場合、制御ECU30は受信した地図データを一時記憶部362に記憶する。そして、制御ECU30は、地図データ記憶部360及び一時記憶部362の何れかに記憶され且つ今回現在エリアIDに対応する地図データをRAMに読み出し、RAMに読み出された地図データに基いて車両制御を行う。
【0042】
制御ECU30は、所定の消去条件が成立したときに、一時記憶部362に記憶された地図データを一時記憶部362から消去する。本実施形態の消去条件は、今回現在エリアIDが取得要求を送信したときのエリアIDと異なるとの条件を少なくとも含む。
【0043】
これにより、走行頻度Nが消去閾値よりも大きなエリアの地図データのみが消去されることなく記憶装置36に記憶(格納)されていくので、総てのエリアの地図データが記憶装置36に記憶されている場合に比べて、記憶装置36の地図データに使用する記憶容量を低減できる。更に、制御ECU30が、走行頻度Nが消去閾値よりも大きなエリアの地図データを一旦取得すると、再度取得する必要がなくなるので、配信サーバ20から車両VAへの通信量も低減できる。
【0044】
(作動例)
制御ECU30は、取得要求を送信する場合に、今回現在エリアIDのエリアの走行頻度Nが所定の取得閾値よりも大きい場合、取得要求IDが今回現在エリアIDである取得要求を送信する。以下では、このような取得要求を「第1取得要求」と称呼する。
一方、制御ECU30は、上記走行頻度Nが取得閾値以下である場合、取得要求IDが今回現在エリアID及び「現在エリアに隣接するエリアのエリアID(以下、「隣接エリアID」と称呼する。)」である取得要求を送信する。以下では、このような取得要求を「第2取得要求」を称呼する。現在エリアに隣接するエリアがどのエリアであるかについては後述する。
なお、取得閾値は、消去閾値よりも小さな値に設定されている。以下では、取得閾値を「第1閾値N1th」と称呼し、消去閾値を「第2閾値N2th」と称呼する(N1tth<N2th)。
【0045】
各エリアの走行頻度と、第1閾値N1th及び第2閾値N2thのそれぞれと、の関係から、エリアは以下に述べる第1エリア乃至第3エリアの何れかに区分される。
第1エリア:走行頻度Nが第1閾値N1th以下のエリア(N≦N1th)。
第2エリア:走行頻度Nが第1閾値N1thよりも大きく且つ第2閾値N2th以下のエリア(N1th<N≦N2th)。
第3エリア:走行頻度Nが第2閾値N2thよりも大きなエリア(N2th<N)。
図5に示した例において、第1エリアは塗りつぶしが施されていない白色のエリアであり、第2エリアはハッチングが施されたエリアであり、第3エリアは濃い色により塗りつぶされたエリアである。
【0046】
図5に示した例において、太線で示した二つの経路R1及びR2が通過するエリアは総て第3エリアである。経路R1は自宅から職場までの経路であり、経路R2は自宅からスーパーマーケットまでの経路である。経路R1及び経路R2は自宅からある地点までは共通する経路であり、当該ある地点から分岐している。車両VAがこれらのエリアを通過して走行頻度が第2閾値よりも大きくなったときに(即ち、エリアが第3エリアとなったときに)配信サーバ20から受信したこれらのエリアの地図データは、地図データ記憶部360に記憶される。
その後、車両VAが第3エリアに進入するときには、第3エリアの地図データは地図データ記憶部360に記憶されているので、制御ECU30は、配信サーバ20からこれらの地図データを取得しなくてもよい。これにより、経路R1及びR2のように走行頻度が高い経路上のエリアの地図データを配信サーバ20から取得する必要がなくなるので、車両VAと配信サーバ20との間の通信量を低減することができる。
【0047】
車両VAが第2エリアに進入した場合、制御ECU30は、当該第2エリアの地図データが一時記憶部362に記憶されていなければ、第1取得要求を配信サーバ20に送信する。
車両VAが第1エリアに進入した場合、制御ECU30は、当該第1エリアの地図データが一時記憶部362に記憶されていなければ、第2取得要求を配信サーバ20に送信する。
【0048】
図5の矢印A1で示したように、車両VAが第3エリア(X4,Y3)から第1エリア(X3,Y3)へと進入した場合、当該第1エリア(X3,Y3)の地図データは地図データ記憶部360及び一時記憶部362の何れにも記憶されていない。この場合、制御ECU30は、取得要求IDが「車両VAが進入した第1エリア(X3,Y3)」及び「以下の隣接エリア」のIDである第2取得要求を配信サーバ20に送信する。
隣接エリア:(X2,Y2)、(X2、Y3)、(X3、Y2)及び(X4、Y2)
隣接エリアは、車両VAが進入したエリア(X3、Y3)を取り囲むように隣接しているエリアのうち、車両VAがエリア(X3、Y3)に進入する前に位置していたエリア(X4、Y3)及び車両VAが地図データ記憶部360に地図データを記憶しているエリア((X2、Y4)、(X3、Y4)及び(X4、Y4))を除いたエリアである。
制御ECU30は、これらのエリアの地図データを受信すると、当該地図データを一時記憶部362に記憶する。
【0049】
その後、矢印A2で示したように、車両VAが第1エリア(X3,Y3)から第1エリア(X2,Y3)へと進入した場合、当該第2エリア(X2,Y3)の地図データは一時記憶部362に記憶されている。この場合、制御ECU30は、第1取得要求及び第2取得要求の何れも送信しない。
【0050】
車両VAが第1エリアに進入した場合には、車両VAが第2エリア及び第3エリアの何れかに進入した場合に比べて、車両VAが、訪れる頻度の少ない目的地又は初めて訪れる目的地に向かって走行している可能性が高い。このため、車両VAが第1エリアに進入した後に「地図データが地図データ記憶部360及び一時記憶部362の何れにも記憶されていないエリア」に進入する可能性が高い。従って、車両VAが第1エリアに進入したときには、制御ECU30は、隣接エリアの地図データも事前に取得する。これにより、車両VAが第1エリアの進入直後に当該第1エリアの隣接エリアに進入したとしても、即座にこの隣接エリアの地図データに基いて車両制御が実行される。
【0051】
(具体的作動)
<地図データ管理ルーチン>
制御ECU30のCPU(以下、「CPU」と表記した場合、特に断りがない限り、制御ECU30のCPUを指す。)は、所定時間が経過する毎に
図6にフローチャートにより示した地図データ管理ルーチンを実行する。このルーチンは、制御ECU30のROMに記憶された地図データ管理プログラムである。
【0052】
従って、所定のタイミングになると、CPUは、
図6のステップ600から処理を開始し、以下に述べる「ステップ605乃至ステップ615」の処理を順に実行する。
ステップ605:CPUは、GNSS受信機34が受信したGNSS信号に基いて車両VAの現在位置を取得する。
ステップ610:CPUは、エリアID管理データを参照し、現在位置に対応する現在エリアIDを今回現在エリアIDとして特定する。
ステップ615:CPUは、今回現在エリアIDが前回エリアIDと同じであるか否かを判定する。なお、前回エリアIDは、本ルーチンが前回(所定時間前に)実施されたときに取得された今回現在エリアIDである(後述するステップ635を参照。)。
【0053】
今回現在エリアIDが前回エリアIDと異なっている場合(即ち、車両VAが前回エリアIDのエリアと異なるエリアに進入した場合)、CPUは、ステップ615にて「No」と判定し、以下に述べる「ステップ620乃至ステップ635」の処理を順に実行する。
【0054】
ステップ620:CPUは、今回現在エリアIDによって特定されるエリア(以下、「現在エリア」と称呼する。)の走行頻度Nを取得する。
より詳細には、CPUは、現時点においてEEPROMに格納されている「現在エリアの通過回数SN」に「1」を加算して通過回数SNを更新し、その更新した通過回数SNを運転回数Dで除算することにより、現在エリアの走行頻度Nを求める(N=SN/D)。なお、車両VAの図示しないイグニッション・キー・スイッチがオフ位置からオン位置へと変更されたときにCPUにより実行されるイニシャルルーチンにおいて、CPUは、運転回数Dに「1」を加算し、加算した値をEEPROMに格納する。更に、CPUは更新した現在エリアの走行頻度NをEEPROMに格納する。
【0055】
ステップ625:CPUは、配信サーバ20から地図データを取得するための地図データ取得サブルーチンを実行する。実際には、CPUはステップ625に進むと、
図7にフローチャートで示したサブルーチンを実行する。このサブルーチンにおける処理については後に詳述するが、CPUは、必要に応じて、第1取得要求又は第2取得要求を配信サーバ20に送信する。
【0056】
ステップ630:CPUは、所定の消去条件が成立したときに一時記憶部362に記憶されている地図データを消去するための地図データ消去サブルーチンを実行する。実際には、CPUはステップ630に進むと、
図9にフローチャートで示したサブルーチンを実行する。このサブルーチンにおける処理についても後に詳述する。
ステップ635:CPUは、前回エリアIDをステップ610にて取得した今回現在エリアIDに一致させる。即ち、CPUは、今回現在エリアIDを前回エリアIDとしてRAMに格納する。
その後、CPUは、ステップ695に進んで本ルーチンを一旦終了する。
【0057】
CPUがステップ615に進んだときに今回現在エリアIDが前回エリアIDと同じである場合(即ち、車両VAが前回本ルーチンを実行したときと同じエリアを走行している場合)、CPUは、そのステップ615にて「Yes」と判定する。そして、CPUは、ステップ615からステップ630へと直接進み、前述したステップ630及びステップ635の処理を実行する。
【0058】
<地図データ取得サブルーチン>
CPUは、
図6に示したステップ625に進むと、
図7に示したステップ700から処理を開始してステップ705に進む。ステップ705にて、CPUは、現在エリアの地図データが地図データ記憶部360及び一時記憶部362の何れかに記憶されているか否かを判定する。
【0059】
現在エリアの地図データが地図データ記憶部360及び一時記憶部362の何れにも記憶されていない場合、CPUは、ステップ705にて「No」と判定し、ステップ710に進む。ステップ710にて、CPUは、運転回数Dが所定の閾値Dthよりも大きいか否かを判定する。
【0060】
運転回数Dが閾値Dth以下である場合、CPUは、ステップ710にて「No」と判定し、以下に述べる「ステップ715及びステップ725」の処理を順に実行する。その後、CPUは、ステップ795に進んで本ルーチンを一旦終了し、
図6に示したステップ630に進む。
【0061】
ステップ715:CPUは、第2取得要求を配信サーバ20に送信する。
この第2取得要求の取得要求IDは以下のエリアIDであり、第2取得要求は車両VAを一意に識別可能な識別子である車両IDを含む。
・現在エリアのIDである今回現在エリアID
・現在エリアを取り囲むように現在エリアに隣接しているエリア(但し、前回エリアIDにより特定されるエリア、並びに、地図データ記憶部360及び一時記憶部362に地図データが記憶されているエリアを除く)のエリアID
配信サーバ20は、第2取得要求の取得要求IDに応じた「地図データ及びエリアID」を車両VAに送信する。車両VAはこのデータを受信するとこのデータを記憶するが、記憶方法については後述する。
【0062】
ステップ725:CPUは、消去フラグXdelを「1」に設定する。
なお、消去フラグXdelは上記イニシャルルーチンにて「0」に設定される。
【0063】
CPUがステップ710に進んだときに運転回数Dが閾値Dthよりも大きい場合、CPUは、ステップ710にて「Yes」と判定し、ステップ730に進む。ステップ730にて、CPUは、現在エリアの走行頻度Nが第1閾値N1thよりも大きいか否かを判定する。
【0064】
現在エリアの走行頻度Nが第1閾値N1th以下である場合(即ち、現在エリアが第1エリアである場合)、CPUは、ステップ730にて「No」と判定し、上述した「ステップ715及びステップ725」の処理を順に実行した後、
図6に示したステップ630に進む。これにより、CPUは、第2取得要求を配信サーバ20に送信する。
【0065】
これに対し、現在エリアの走行頻度Nが第1閾値N1thよりも大きい場合、CPUは、ステップ730にて「Yes」と判定し、以下に述べる「ステップ735及びステップ740」の処理を順に実行する。
【0066】
ステップ735:CPUは、第1取得要求を配信サーバ20に送信する。
この第1取得要求の取得要求IDは今回現在エリアIDであり、第1取得要求は車両IDを含む。
配信サーバ20は、第1取得要求の取得要求IDに応じた「地図データ及びエリアID(この場合、今回現在エリアID)」を車両VAに送信する。車両VAはこのデータを受信するとこのデータを記憶するが、記憶方法については後述する。
ステップ740:CPUは、現在エリアの走行頻度Nが第2閾値N2th以下であるか否かを判定する。
【0067】
現在エリアの走行頻度Nが第2閾値N2th以下である場合(即ち、現在エリアが第2エリアである場合)、CPUは、ステップ740にて「Yes」と判定し、ステップ725に進んで消去フラグXdelを「1」に設定する。その後、CPUは、ステップ795に進んで本ルーチンを一旦終了し、
図6に示したステップ630に進む。
【0068】
これに対し、現在エリアの走行頻度Nが第2閾値N2thよりも大きい場合(即ち、現在エリアが第3エリアである場合)、CPUは、ステップ740にて「No」と判定し、ステップ750に進んで消去フラグXdelを「0」に設定する。その後、CPUは、ステップ795に進んで本ルーチンを一旦終了し、
図6に示したステップ630に進む。
【0069】
更に、CPUがステップ705に進んだときに現在エリアの地図データが地図データ記憶部360及び一時記憶部362の何れかに記憶されている場合、CPUは、ステップ705にて「Yes」と判定し、ステップ740に進む。
【0070】
以上、説明したように、現在エリアの地図データが地図データ記憶部360及び一時記憶部362の何れにも記憶されていない場合、
(1)現在エリアが第2エリア及び第3エリアの何れかであるとき(ステップ730:Yes)、CPUは第1取得要求を配信サーバ20に送信し(ステップ735)、
(2)現在エリアが第1エリアであるとき(ステップ730:No)、CPUは第2取得要求を配信サーバ20に送信する(ステップ715)。
【0071】
更に、CPUは、現在エリアが第1エリア及び第2エリアの何れかであるとき、消去フラグXdelを「1」に設定する(ステップ725)。CPUは、現在エリアが第3エリアであるとき、消去フラグXdelを「0」に設定する(ステップ750)。
【0072】
<地図データ記憶ルーチン>
ところで、CPUは、
図6に示した地図データ管理ルーチンとは別に、
図8にフローチャートにより示した地図データ記憶ルーチンを所定時間が経過する毎に実行している。
【0073】
従って、所定のタイミングになると、CPUは、
図8のステップ800から処理を開始し、ステップ805に進み、車両VA(データ通信装置38)が配信サーバ20から地図データを受信したか否かを判定する。
【0074】
車両VAが地図データを受信していない場合、CPUは、ステップ805にて「No」と判定し、ステップ895に進んで本ルーチンを一旦終了する。
【0075】
車両VAが地図データを受信している場合、CPUは、ステップ805にて「Yes」と判定し、ステップ810に進む。ステップ810にて、CPUは、消去フラグXdelの値が「1」であるか否かを判定する。上述したように、消去フラグXdelの値は、現在エリアが第1エリア及び第2エリアの何れかであるとき「1」に設定され、現在エリアが第3エリアであるとき「0」に設定される。
【0076】
消去フラグXdelの値が「1」である場合(即ち、現在エリアが第1エリア及び第2エリアの何れかである場合)、CPUは、ステップ810にて「Yes」と判定し、ステップ815に進み、受信した地図データを一時記憶部362に記憶する。受信した地図データが第1取得要求に応じて配信サーバ20から送信された地図データ(以下、「第1地図データ」と称呼する。)である場合、CPUは、当該地図データが第1地図データである旨を示す情報も一時記憶部362に記憶する。これに対し、受信した地図データが第2取得要求に応じて配信サーバ20から送信された地図データ(以下、「第2地図データ」と称呼する。)である場合、CPUは、当該地図データが第2地図データである旨を示す情報も一時記憶部362に記憶する。その後、CPUは、ステップ895に進んで本ルーチンを一旦終了する。
【0077】
これに対し、消去フラグXdelの値が「0」である場合(即ち、現在エリアが第3エリアである場合)、CPUは、ステップ810にて「No」と判定し、ステップ820に進んで、受信した地図データを地図データ記憶部360に記憶する。その後、CPUは、ステップ895に進んで本ルーチンを一旦終了する。
【0078】
<地図データ消去サブルーチン>
CPUは、このように記憶されたデータを以下のように消去する。即ち、CPUは、
図6に示したステップ630に進むと、
図9に示したステップ900から処理を開始してステップ905に進む。ステップ905にて、CPUは、一時記憶部362に地図データが記憶されているか否かを判定する。
【0079】
一時記憶部362に地図データが記憶されていない場合、CPUは、ステップ905にて「No」と判定し、ステップ995に進んで本ルーチンを一旦終了し、
図6に示したステップ635に進む。
【0080】
これに対し、一時記憶部362に地図データが記憶されている場合、CPUは、ステップ905にて「Yes」と判定し、ステップ910に進む。ステップ910にて、CPUは、一時記憶部362に記憶されている地図データが上記第1地図データであるか否かを判定する。
【0081】
一時記憶部362に記憶されている地図データが第1地図データである場合、CPUはステップ910にて「Yes」と判定し、ステップ915に進む。ステップ915にて、CPUは、今回現在エリアIDと一時記憶部362に記憶されている第1地図データのエリアIDとが同じであるか否かを判定する。なお、上記第1地図データのエリアIDは、当該第1地図データの取得を要求する第1取得要求を送信したときの現在エリアIDである。このような地図データの取得を要求する取得要求を送信したときの現在エリアIDを「取得時エリアID」と称呼する。
【0082】
今回現在エリアIDと取得時エリアIDとが同じである場合(即ち、車両VAが第1地図データのエリアを走行中している場合)、CPUは、ステップ915にて「Yes」と判定し、ステップ995に進んで本ルーチンを一旦終了し、
図6に示したステップ635に進む。
【0083】
これに対して、今回現在エリアIDと取得時エリアIDとが異なる場合(即ち、車両VAが第1地図データのエリアと異なるエリアを走行している場合)、CPUは、ステップ915にて「No」と判定し、ステップ920に進む。ステップ920にて、CPUは、一時記憶部362から上記第1地図データを消去する。その後、CPUは、ステップ995に進んで本ルーチンを一旦終了し、
図6に示したステップ635に進む。
【0084】
一方、CPUがステップ910に進んだ時点にて、一時記憶部362に記憶されている地図データが第1地図データでない場合、一時記憶部362に記憶されている地図データは上記第2地図データである。この第2地図データは、第2取得要求を送信したときの現在エリアの地図データ及び現在エリアの隣接エリアの地図データである。
【0085】
一時記憶部362に記憶されている地図データが第2地図データである場合、CPUは、ステップ910にて「No」と判定し、ステップ925に進む。ステップ925にて、CPUは、今回現在エリアIDが一時記憶部362に記憶されている第2地図データのエリアID(即ち、取得時エリアID及び取得時エリアIDのエリアに隣接する隣接エリアID)の何れか一つと同じであるか否かを判定する。
【0086】
今回現在エリアIDが取得時エリアID及び隣接エリアIDの何れかと同じである場合、CPUは、ステップ925にて「Yes」と判定し、ステップ995に進んで本ルーチンを一旦終了し、
図6に示したステップ635に進む。
【0087】
これに対して、今回現在エリアIDが取得時エリアID及び隣接エリアIDの何れとも異なる場合(即ち、車両VAが「取得時の現在エリア及び隣接エリアとは異なるエリア」へと進入した場合)、CPUは、ステップ925にて「No」と判定し、ステップ920に進んで一時記憶部362に記憶されている第2地図データを消去する。その後、CPUは、ステップ995に進んで本ルーチンを一旦終了し、
図6に示したステップ635に進む。
【0088】
<車両制御ルーチン>
CPUは、
図10にフローチャートにより示した車両制御ルーチンを所定時間が経過する毎に実行する。
【0089】
従って、所定のタイミングになると、CPUは、
図10のステップ1000から処理を開始し、ステップ1005及びステップ1007を実行する。
【0090】
ステップ1005:CPUは、GNSS受信機34が受信したGNSS信号に基いて車両VAの現在位置を特定する。
ステップ1007:CPUは、現在位置に対応する現在エリアの地図データをRAMに読み込み済みであるか否かを判定する。
【0091】
現在エリアの地図データがRAMに読み込まれていない場合、CPUは、ステップ1007にて「No」と判定し、ステップ1009乃至ステップ1020を実行する。
【0092】
ステップ1009:CPUは、現在エリアの地図データを制御ECU30のRAMに読み込む。
ステップ1010:CPUは、現在エリアの地図データ及び車両VAの現在位置に基いて、車両VAが走行中の車線を区画する右白線及び左白線の位置を特定する。
ステップ1015:CPUは、右白線及び左白線の間の所定位置を通過するような目標舵角θtgtを取得する。
ステップ1020:CPUは、目標舵角θtgtを含む操舵指令信号をステアリングECU60に送信する。
その後、CPUは、ステップ1095に進んで本ルーチンを一旦終了する。
【0093】
一方、CPUがステップ1007に進んだときに現在エリアの地図データがRAMに読み込まれている場合、CPUは、ステップ1007にて「Yes」と判定し、ステップ1010乃至ステップ1020を実行し、ステップ1095に進んで本ルーチンを一旦終了する。
【0094】
本実施形態によれば、走行頻度Nが第2閾値N2thよりも大きなエリアの地図データは地図データ記憶部360に記憶され、走行頻度Nが第2閾値N2th以下のエリアの地図データは一時記憶部362に記憶される。一時記憶部362に記憶された地図データは消去条件が成立すると消去される。これにより、走行頻度Nが第2閾値N2thよりも大きなエリアの地図データのみが記憶装置36に記憶され続けるため、記憶装置36の地図データの使用容量を低減でき、配信サーバ20と車両VAとの間の通信量も低減できる。
【0095】
上記実施形態では、エリアの通過回数SNを運転回数Dで除算した値を走行頻度Nとして用いたが、エリアの通過回数SN自体を走行頻度Nとして用いてもよい。走行頻度Nとなる上記除算値及び通過回数を「頻度指標値」と称呼する場合がある。
【0096】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用できる。
【0097】
(第1変形例)
本変形例では、制御ECU30は、車両VAの運転者毎のエリアの通過回数SN’を運転者毎の運転回数D’で除算することにより、運転者毎の走行頻度N’を取得する。本変形例の制御ECU30のCPUは、
図6に示した地図データ管理ルーチンの代わりに
図11に示した地図データ管理ルーチンを所定時間が経過する毎に実行する。なお、
図11では、
図6に示したステップと同じ処理を行うステップには、
図6にて使用した符号と同じ符号を付与して説明を省略する。
【0098】
CPUは、所定のタイミングになると、
図11に示したステップ1100から処理を開始し、ステップ1105及びステップ1110を順に実行する。
ステップ1105:CPUは、運転席カメラ装置32から運転席画像を取得する。
ステップ1110:CPUは、運転席画像から抽出した顔画像と予め登録されている運転者の顔画像とを比較することにより、車両VAの運転席に現在座っている運転者(以下、「現在運転者」と称呼する。)を特定する。
その後、CPUは、
図11に示したステップ605にて現在位置を取得し、
図11に示したステップ610にて今回現在エリアIDを特定し、
図11に示したステップ615に進む。
【0099】
今回現在エリアIDと前回エリアIDとが異なる場合、CPUは、
図11に示したステップ615にて「No」と判定し、ステップ1115に進む。ステップ1115にて、CPUは、現在運転者の現在エリアの走行頻度N’を取得する。より具体的に述べると、まず、CPUは、現時点においてEEPROMに格納されている「現在運転者の現在エリアの通過回数SN’」に「1」を加算して現在運転者の通過回数SN’を更新し、その更新した通過回数SN’を現在運転者の運転回数D’で除算することにより、現在運転者の現在エリアの走行頻度N’を求める(N’=SN’/D’)。なお、イニシャルルーチンにおいて、CPUは、現在運転者を特定し、その現在運転者の運転回数D’に「1」を加算し、加算した値をEEPROMに格納する。更に、CPUは、更新した走行頻度N’をEEPROMに格納する。
【0100】
その後、CPUは、ステップ1120にて
図12に示した地図データ取得サブルーチンを実行し、
図11に示した「ステップ630及びステップ635」を順に実行してステップ1195に進んで本ルーチンを一旦終了する。
【0101】
CPUが、ステップ1120に進むと、
図12に示したステップ1200から処理を開始する。
図12では、
図7に示したステップと同じ処理を行うステップには、
図12にて使用した符号と同じ符号を付与して説明を省略する。
CPUは、
図12に示したステップ705にて「No」と判定すると、ステップ1205に進んで、現在運転者の運転回数D’が閾値D’thよりも大きいか否かを判定する。閾値D’thは、閾値Dthよりも小さな値に設定されていることが望ましい。
【0102】
現在運転者の運転回数D’が閾値D’thよりも大きい場合、CPUは、ステップ1205にて「Yes」と判定し、ステップ1210に進んで現在運転者の現在エリアの走行頻度N’が第1閾値N1thよりも大きいか否かを判定する。現在エリアの走行頻度N’が第1閾値N1thよりも大きい場合、CPUは、ステップ1210にて「Yes」と判定し、
図12に示したステップ735を実行し、ステップ1215に進む。
【0103】
ステップ1215にて、CPUは、現在運転者の現在エリアの走行頻度N’が第2閾値N2th以下であるか否かを判定する。現在運転者の現在エリアの走行頻度N’が第2閾値N2th以下である場合、CPUは、ステップ1215にて「Yes」と判定し、
図12に示したステップ725を実行する。その後、ステップ1295に進んで本ルーチンを一旦終了し、
図11に示したステップ635に進む。これに対して、現在運転者の現在エリアの走行頻度N’が第2閾値N2thよりも大きい場合、CPUは、ステップ1215にて「No」と判定し、
図11に示したステップ750を実行する。その後、ステップ1295に進んで本ルーチンを一旦終了し、
図11に示したステップ635に進む。
【0104】
現在運転者の運転回数D’が閾値D’th以下である場合、CPUは、ステップ1205にて「No」と判定し、
図12に示した「ステップ715及びステップ725」を実行する。現在運転者の現在エリアの走行頻度N’が第1閾値N1th以下である場合、CPUは、ステップ1210にて「No」と判定し、
図12に示した「ステップ715及びステップ725」を実行する。CPUは、
図12に示したステップ705にて「Yes」と判定した場合、ステップ1215に進む。
【0105】
本変形例では、運転者毎に取得された現在エリアの走行頻度N’が第2閾値N2thと比較されるので、運転者毎の現在エリアの走行頻度N’に応じて地図データが記憶されるか消去されるかを決定できる。
更に、上記走行頻度N’が第1閾値N1thと比較されるので、上記走行頻度N’に応じて第1取得要求及び第2取得要求の何れかが送信される。これにより運転者毎の走行頻度N’に応じて配信サーバ20から地図データを取得する数を決定できる。
【0106】
なお、本変形例で用いる第1閾値N1th及び第2閾値N2thは、それぞれ、上記実施形態で用いる第1閾値N1th及び第2閾値N2thと異なる値に設定されていてもよい。
【0107】
CPUは、運転席画像に基いて現在運転者を特定したが、これに限定されない。例えば、CPUは、運転者のスマートフォン、電子キー及び指紋等の何れかを用いて現在運転者を特定してもよい。
【0108】
本変形例で、運転者毎のエリアの通過回数SN’を運転者毎のエリアの走行頻度N’として用いてもよい。この場合、第1閾値N1th及び第2閾値N2thは、運転者の運転回数D’が大きいほど大きくなるように設定される。
【0109】
(第2変形例)
本変形例では、制御ECU30は、運転者毎の現在エリアの走行頻度N’及び車両VAの現在エリアの走行頻度Nを取得する。制御ECU30は、走行頻度N’が第1閾値N1thよりも大きければ、第1取得要求を送信し、走行頻度N’が第1閾値N1th以下であれば、第2取得要求を送信する。更に、制御ECU30は、運転者によらない車両VAの現在エリアの走行頻度Nが第2閾値N2thよりも大きければ、配信サーバ20から送信された地図データを地図データ記憶部360に記憶し、上記走行頻度Nが第2閾値N2th以下であれば当該地図データを一時記憶部362に記憶する。
【0110】
本変形例のCPUは、
図11に示した地図データ管理ルーチンを実行する。CPUは、ステップ1115にて、走行頻度N’及び走行頻度Nを取得する。その後、CPUは、
図11に示したステップ1120に進んだ場合、
図13に示した地図データ取得ルーチンを実行する。
図13では、
図7及び
図12に示したステップと同じ処理を行うステップには、
図7及び
図12にて使用した符号と同じ符号を付与して説明を省略する。
【0111】
従って、CPUは、
図11に示したステップ1120に進むと、
図13に示したステップ1300から処理を開始する。CPUは、
図13に示したステップ705にて「No」と判定すると、ステップ1305に進む。ステップ1305にて、CPUは、現在運転者の運転回数D’が閾値D’thよりも大きく且つ運転者によらない車両VAの運転回数Dが閾値Dthよりも大きいか否かを判定する。
【0112】
運転回数D’が閾値D’thよりも大きく且つ運転回数Dが閾値Dthよりも大きい場合、CPUは、ステップ1305にて「Yes」と判定し、
図13に示したステップ1210に進む。CPUは、
図13に示したステップ1210にて「Yes」と判定すると、
図13に示したステップ735を実行し、ステップ1310に進む。
【0113】
ステップ1310にて、CPUは、運転者によらない車両VAの現在エリアの走行頻度Nが第2閾値N2th以下であるか否かを判定する。走行頻度Nが第2閾値N2th以下であれば、CPUは、ステップ1310にて「Yes」と判定し、
図13に示したステップ725を実行する。その後、CPUは、ステップ1395に進んで本ルーチンを一旦終了し、
図11に示したステップ635に進む。これに対し、走行頻度Nが第2閾値N2thよりも大きければ、CPUは、ステップ1310にて「No」と判定し、
図13に示したステップ750を実行する。その後、CPUは、ステップ1395に進んで本ルーチンを一旦終了し、
図11に示したステップ635に進む。
【0114】
一方、CPUがステップ1305に進んだ時点にて、運転回数D’が閾値D’th以下であるか運転回数Dが閾値Dth以下である場合、CPUは、ステップ1305にて「No」と判定する。CPUは、ステップ1305にて「No」と判定した場合、又は、
図13に示したステップ1210にて「No」と判定した場合、
図13に示した「ステップ715及びステップ725」を実行する。その後、CPUは、ステップ1395に進んで本ルーチンを一旦終了し、
図11に示したステップ635に進む。
【0115】
本変形例では、現在エリアの走行頻度Nが第2閾値N2thと比較されるので、運転者によらずに車両VAの走行頻度Nに応じて地図データが記憶されるか消去されるかを決定できる。
更に、運転者毎の走行頻度N’が第1閾値N1thと比較されるので、上記走行頻度N’に応じて第1取得要求及び第2取得要求の何れかが送信される。これにより運転者毎の走行頻度N’に応じて配信サーバ20から地図データを取得する数を決定できる。
【0116】
(第3変形例)
配信サーバ20が、車両VAの各エリアの走行頻度Nを管理しており、車両VAの走行頻度Nに応じて、地図データを消去するか地図データ記憶部360へ記憶させるかの指示を含めて地図データを車両VAに送信してもよい。
【0117】
より具体的に説明すると、車両VAは、所定時間が経過する毎に「車両VAの識別子である車両ID」及び現在位置を含む位置情報を配信サーバ20に送信している。なお、車両VAは、現在位置の地図データが記憶装置36に記憶されていない場合、上記位置情報に取得要求を含めて送信する。
【0118】
配信サーバ20は、位置情報を取得すると、現在位置に対応する現在エリアIDを今回現在エリアIDとして特定し、今回現在エリアIDと前回エリアIDとが異なれば、現在エリアの走行頻度Nを更新する。更に、配信サーバ20は、位置情報に取得要求が含まれる場合、当該位置情報を送信した車両VAの現在エリアの走行頻度Nが第1閾値N1th以下であれば、現在エリア及び隣接エリアの地図データを送信する。なお、この地図データには記憶不許可情報が含まれる。
【0119】
一方で、配信サーバ20は、上記位置情報を送信した車両VAの現在エリアの走行頻度Nが第1閾値N1thよりも大きい場合、その走行頻度Nが第2閾値N2thよりも大きければ、記憶許可情報を地図データに含めて送信し、その走行頻度Nが第2閾値N2th以下であれば、記憶不許可情報を地図データに含めて送信する。
【0120】
車両VAは、記憶不許可情報を含む地図データを受信した場合、その地図データを一時記憶部362へ記憶する。車両VAは、一時記憶部362に地図データを記憶した時点(記憶時点)から所定の消去閾値時間が経過したとき、消去条件が成立したと判定し、当該地図データを一時記憶部362から消去する。これに対し、車両VAは、記憶許可情報を含む地図データを受信した場合、その地図データを地図データ記憶部360へ記憶する。
【0121】
本変形例は、上記第1変形例及び上記第2変形例にも適用可能である。この場合、車両VAが車両VAを現在運転している運転者の識別子である運転者IDを位置情報も含めて位置情報を送信する。これにより、配信サーバ20は、運転者毎の各エリアの走行頻度Nを管理できる。
【0122】
(第4変形例)
消去条件は、上記した例に限定されず、以下に列挙する条件の何れかであってもよい。
・一時記憶部362に地図データを記憶した記憶時点から消去閾値時間が経過したとの条件
・車両VAが何れかの取得要求を送信したときのエリアと異なるエリアへ進入した時点から所定時間が経過したとの条件
・上記イグニッション・キー・スイッチがオン位置からオフ位置へと変更されたとの条件
・一時記憶部362に記憶された地図データの容量が閾値以上となったとの条件
・車両制御が運転者の操作により中断したとの条件
【0123】
(第5変形例)
上記実施形態では、消去すべき地図データは、記憶装置36の一時記憶部362に記憶されたが、制御ECU30のRAMに記憶されてもよい。
【0124】
(第6変形例)
CPUは、現在エリアの地図データを図示しないディスプレイに表示する制御を車両制御として実行してもよい。
【0125】
上記実施形態では、車両VAの現在位置はGNSS信号に基いて特定されるがこれに限定されない。例えば、CPUは、車両VAの速度(車速)Vs及び舵角θに基いて車両VAの現在位置を特定してもよい。なお、車速Vsは、車両VAの図示しない車輪の回転速度を検出可能な車輪速センサの検出信号に基いて特定される。
【0126】
車両VAは、エンジンで駆動するエンジン自動車、電気自動車及びハイブリッド自動車であってもよい。
【符号の説明】
【0127】
10…地図データ利用システム、20…配信サーバ、30…制御ECU、36…記憶装置、38…データ通信装置、360…地図データ記憶部、362…一時記憶部、VA…車両。