(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、地図更新システムに関し、以下の問題が生じることを見出した。
特許文献1では、地図データを管理するサーバと、センサを搭載した車両とを有する地システムが開示されている。当該システムは、車両はセンサから取得したデータと地図データとの比較から環境の変化点を検出し、サーバは変化点のデータと、変化点検出時のセンサ精度情報とを車両から取得し、変化点データに対してセンサ精度情報によって重み付けを行うことで地図データを更新する。
また、特許文献2では、特許文献1と同様に、車両が走行したエリアの交通量に基づいて変化点の重み付けを行って地図データを更新するシステムが開示されている。
また、非特許文献1には、ライダー(LiDAR: Light Detection And Ranging)の観測データと格子状に分割された地図との比較から環境の変化点を検出し、複数回にわたる観測から各変化点の分散を計算することが開示されている。そして、非特許文献1には、各変化点の分散の計算結果を用いて、一時的と推定される環境変化は地図の更新に反映せず、恒久的と推定される変化のみを地図の更新に反映するというアルゴリズム、および実データへの適用結果が開示されている。
これらの文献における技術では、地図エリアごとの交通量の多少が、サーバのデータ収集量の多少につながるため、交通量が多いエリアでは過剰にデータ通信が行われ、かつ、少ないエリアでは更新データが不足するという課題があった。特にライダーまたはカメラにより得られる検出データは大容量であるため、交通量が多いエリアでは、無駄な通信が行われることが多い。一方、交通量の少ないエリアでは、ライダーまたはカメラにより得られる検出データが不足しがちなため、実際の道路に変化点が生じていたとしても、更新頻度を維持できず、情報鮮度を維持できない。このため、車両は、地図データと実際に走行する道路との間に差異が生じたまま、走行しなければならなくなる。なお、特許文献2は、交通量が少ないエリアで得られた検出データの重みを大きくして更新頻度を維持する方法を開示している。しかし、この方法では、検出したデータの精度が悪い場合、更新の信頼性を犠牲にしてしまうという課題が残っていた。
また、上記文献における技術では、車両のセンサから検出データを収集する際に、精度の悪い検出データも収集してしまうおそれがあった。例えば、車両は、走行しながらセンサにより周囲を検出するため、センサの検出中における車両の振動または急加速によって車両の自己位置を推定する精度が悪化し、検出データと地図データとのマッチング精度が悪くなる可能性があった。また、データを検出中の車両が大型車両などに接近していると、ライダーの検出データにオクルージョンが発生し、周囲状況を適切に検出できないおそれがあった。なお、特許文献1は、データ検出時のセンサ精度に関わる要素に応じて、検出されたデータの重みを変える方法を開示している。しかし、この方法では、センサ精度が安定しない状況では低い重み付けばかりなされるため、更新が進まないという課題が残っていた。
このような課題を解決するために、本開示の一態様に係る情報処理装置は、車両が走行する道路および前記道路の周辺の形状である道路形状を示す地図を前記車両に配信する情報処理装置であって、複数のエリアに区切られている前記地図を記憶している地図データベースと、前記複数のエリアのそれぞれについて、前記地図により示される前記道路形状から現在の前記道路形状への変化量、および、当該エリアを走行した車両の所定の動作の発生回数の少なくとも一方に基づいて、当該エリアの前記地図の更新の要否を判定する第1判定部と、を備える。
これによれば、地図を複数のエリアに分割し、複数のエリアのそれぞれについて、地図の更新の要否を判定する。このように情報処理装置は、地図の更新が必要なエリアを効率的に判定することができる。
また、前記第1判定部により前記地図の更新が必要であると判定されたエリアを走行中または走行予定の1以上の車両の中から、前記道路形状を検出する検出車両を選択する選択部と、前記選択部で選択された前記検出車両に対して前記エリアの道路形状を検出させる検出依頼を、通信ネットワークを介して送信する第1通信部と、をさらに備えてもよい。
これによれば、地図の更新が必要であるエリアについて、1以上の車両に検出データの検出を依頼する。このように、情報処理装置は、更新が必要なエリアを走行するまたは走行予定の車両を選択して検出依頼を送信するため、精度のよい検出データを効果的に取得することができる。このため、情報処理装置は、精度のよい地図データに効果的に更新することができる。
また、前記車両は、自動運転を行う車両であり、前記所定の動作は、現在までの所定期間の間に発生した急減速、急加速、前記自動運転中の手動運転割り込み、および急回避の少なくとも1つであってもよい。
これによれば、情報処理装置は、自動運転を行う車両において所定の動作の発生回数が多いほど、地図が示す道路形状と、実際の道路形状との間に差が大きいと判断する。なぜなら、地図が示す道路形状と、実際の道路形状との間に差が生じると、自車位置を推定する精度が悪くなるため、安定した走行制御が難しくなるからである。このように、情報処理装置は、所定の動作の発生回数が多いほど、地図が示す道路形状と、実際の道路形状との間に差が大きいと判断するため、地図の更新の要否を効果的に判定することができる。
また、前記選択部は、前記検出車両として、車高が所定の高さ以上である車両を選択してもよい。
このため、精度よく道路形状を検出できる車両を選択することができる。
また、前記選択部は、前記検出車両として、前記道路形状を検出するセンサであって、検出精度が所定の精度以上のセンサを有する車両を選択してもよい。
このため、精度よく道路形状を検出できる車両を選択することができる。
また、前記選択部は、前記検出車両として、以前に、前記地図の更新を行うために前記道路形状を検出する検出モードで走行したことがある車両を選択してもよい。
このため、精度よく道路形状を検出するための検出モードで走行できる可能性が高い車両を選択することができる。これにより、検出モードで走行する車両を選択するまでにかかる時間および処理負荷を低減することができる。
また、前記第1判定部は、前記複数のエリアのそれぞれについて、前記変化量および前記発生回数の少なくとも一方に基づいてスコアを算出し、前記複数のエリアのうち、算出したスコアが所定のスコアを超えるエリアの地図に更新の必要があると判定してもよい。
このため、複数のエリアのそれぞれについて、当該エリアの地図の更新の要否を効果的、かつ、容易に判定することができる。
また、前記第1判定部は、前記複数のエリアのうち、単位期間当たりに更新の必要があると判定した回数が第1の回数以上であるエリアの前記所定のスコアを大きくし、前記単位期間当たりに更新の必要があると判定した回数が前記第1の回数以下の第2の回数未満であるエリアの前記所定のスコアを小さくしてもよい。
このため、道路形状の時系列の変化が大きいエリアほど、更新頻度を大きくすることができる。これにより、道路形状の時系列の変化に応じた頻度で、エリアの地図の更新を行うことができる。よって、複数のエリアの地図の更新を、エリアごとに適切な頻度で行うことができる。
本開示の一態様に係る車両は、走行する道路および前記道路の周辺の形状である道路形状を検出する第1検出部と、道路形状の検出依頼を外部の情報処理装置から通信ネットワークを介して受信する第2通信部と、前記第2通信部により前記検出依頼が受信された場合、通常走行を行う通常モードから、前記地図を更新するために、走行中の道路の道路形状を検出する走行を行う検出モードに、前記車両の走行モードを切り替えるか否かを判定する第2判定部と、前記第2判定部により前記検出モードに切り替えると判定された場合、前記走行モードを前記検出モードに切り替え、前記検出モードに切り替えないと判定された場合、前記走行モードを前記通常モードのままとする切替部と、前記切替部により切り替えられた走行モードで前記車両を走行させる制御部と、を備える。
これによれば、車両は、通常モードとは異なる走行モードであって、地図の更新用に道路形状を検出するための検出モードで走行するため、道路形状を精度よく検出することができる。また、車両は、検出依頼を情報処理装置から受信した場合であっても、車両200の状況に応じて、走行モードを検出モードに切り替えずに通常モードのままで走行するため、車両のユーザの利便性が損なわれることを抑制することができる。
また、前記第2通信部は、前記第1検出部により検出された前記道路形状を示す検出データを、前記通信ネットワークを介して前記情報処理装置に送信してもよい。
このため、車両は、地図の更新が必要なエリアにおいて精度よく検出した検出データを情報処理装置に送信することができる。
また、前記検出モードは、前記通常モードよりも、最大走行速度を小さくする、最大走行加速度を小さくする、車間距離を大きくする、前記第1検出部が検出する検出周波数を大きくする、の少なくとも1つの設定を変更した状態で走行する走行モードであってもよい。
このため、車両は、検出モードにおいて、道路形状を精度よく検出することができる。
また、さらに、前記車両から一定距離以内の後続車両を検出する第2検出部を備え、前記制御部は、前記切替部により前記走行モードが前記検出モードに切り替えられた場合において、前記第2検出部が前記後続車両を検出しているとき、前記通常モードで前記車両を走行させてもよい。
このため、車両は、走行モードが検出モードに切り替えられた場合であっても、第2検出部が後続車両を検出したときには、後続車両の邪魔にならないように走行することができる。
また、さらに、前記車両の周囲における渋滞の発生を検出する渋滞検出部を備え、前記制御部は、前記切替部により前記走行モードが前記検出モードに切り替えられた場合において、前記渋滞検出部が前記渋滞の発生を検出しているとき、前記通常モードで前記車両を走行させてもよい。
このため、車両は、走行モードが検出モードに切り替えられた場合であっても、他の車両の密度が所定の密度以上であり、渋滞しているときには、渋滞している車両の邪魔にならないように走行することができる。
また、さらに、前記走行モードを前記通常モードから前記検出モードに切り替えることを許可するか否かを示す入力を受け付ける入力受付部を備え、前記第2判定部は、前記入力受付部により受け付けられた前記入力が許可を示す場合、前記走行モードを切り替えると判定し、前記入力受付部により受け付けられた前記入力が不許可を示す場合、前記走行モードを切り替えないと判定してもよい。
このため、車両は、車室内にいる人から許可されていない場合には、走行モードを切り替えずに通常モードで走行するため、当該人の利便性を損なうことを抑制することができる。
また、前記車両は、客を運送する車両であり、前記第2判定部は、前記車両が前記客を迎車中でない、かつ、前記車両が前記客を運送中でない場合、前記走行モードを切り替えると判定し、前記車両が前記客を迎車中である、または、前記客を運送中である場合、前記走行モードを切り替えないと判定してもよい。
このため、車両は、客を迎車中または運送中である場合、走行モードを通常モードのままで走行するため、客の利便性を損なうことを抑制することができる。
本開示の一態様に係る地図更新方法は、1以上の車両が走行する道路および前記道路の周辺の形状である道路形状を示す地図を前記1以上の車両に配信する情報処理装置と、前記1以上の車両とが行う地図更新システムにおける前記地図の地図更新方法であって、前記情報処理装置では、複数のエリアのそれぞれについて、前記情報処理装置が備える地図データベースに記憶されている前記地図により示される前記道路形状から現在の前記道路形状への変化量、および、当該エリアを走行した車両の所定の挙動の発生回数の少なくとも一方に基づいて、当該エリアの前記地図の更新の要否を判定し、前記地図の更新が必要であると判定したエリアを走行中または走行予定の1以上の車両の中から、道路形状を精度よく検出する検出車両を選択し、選択した前記検出車両に対して前記エリアの道路形状を検出させる検出依頼を、通信ネットワークを介して送信し、前記1以上の車両のうちの前記検出車両として選択された車両では、前記検出依頼を、外部の情報処理装置から前記通信ネットワークを介して受信し、通常走行を行う通常モードから、前記地図を更新するために、走行中の道路の道路形状を検出する走行を行う検出モードに、前記車両の走行モードを切り替えるか否かを判定し、前記検出モードに切り替えると判定した場合、前記走行モードを前記検出モードに切り替え、前記検出モードに切り替えないと判定した場合、前記走行モードを前記通常モードのままとし、切り替えた走行モードで前記検出車両を走行させる。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の一態様に係る情報処理装置、車両、情報処理方法、走行制御方法および地図更新方法について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての図を通して、同一の要素については同じ符号を割り当てる。
(実施の形態)
以下、図1~図14Bを用いて、実施の形態を説明する。
[1-1.構成]
図1は、実施の形態に係る地図更新システムの概略図である。
具体的には、図1において、情報処理装置100、複数の車両200、通信ネットワーク300および移動通信システムの基地局310が示されている。例えば、地図更新システム1は、これらの構成要素のうち、情報処理装置100および複数の車両200を備える。なお、図1では、複数の車両200は、2台示されているが、1台以上であれば何台でもよい。
情報処理装置100は、複数の車両200が走行する道路および当該道路の周辺の3次元的な道路形状を示す3次元地図を複数の車両200に配信する装置である。情報処理装置100は、例えば、サーバである。
複数の車両200のそれぞれは、3次元地図で示される3次元的な道路形状と、当該車両200が備える検出部(センサ)を備える。複数の車両200のそれぞれは、例えば、検出部により検出された、当該車両200が走行している道路および当該道路の周辺の3次元的な道路形状とをマッチングすることで自車位置を推定し、推定した自車位置を用いて自動運転または運転支援を行う車両である。複数の車両200のそれぞれは、例えば、ICP(Iterative Closest Point)アルゴリズムやNDT(Normal Distributions Transform)アルゴリズムを用いて上記マッチングを行う。
ところで、道路の形状が変化していたり、道路周辺の建造物が建て変わっていたり、あるいは道路周辺の樹木等の自然物の形状が大幅に変化していた場合、3次元地図で示される道路形状と、実際の道路形状とが一致しなくなる。道路および道路周辺の形状は日々変化する。例えば、樹木の形状は季節によって大きく異なる。また、道路脇に建築現場があれば、当該道路の周辺の形状は、日々変化する。これにより、マッチング精度は、悪化する。
このように、マッチング精度が悪化すると、自車位置を推定する精度が悪化する。車両200は、推定した自車位置をベースに、走行、停止、右左折などの自律制御を行うため、推定した自車位置が現実の位置と大きくずれていれば、想定外の位置で停止したり、曲がったりすることになり、安全上の脅威となる。よって、自律制御での車両200の走行における安全性を確保するためには、情報処理装置100が保持している3次元地図の情報鮮度を高く保つ必要がある。つまり、従来のカーナビゲーションシステム向けの抽象的な地図よりも、圧倒的に高い更新頻度が必要になる。また、道路形状を検出する専用の検出車両のみを用いて、広い範囲の道路形状の検出を、高い更新頻度で実現することは困難である。このため、地図更新システム1では、検出部(センサ)を搭載した一般の汎用的な複数の車両200に、地図更新用の検出データを検出させ、検出データを情報処理装置100に集約させる。
複数の車両200が備えるセンサで得られた検出データを用いて情報処理装置100が保持する3次元地図を更新する場合、ある1台の車両200がある時刻で検出した検出データのみを用いて更新することは通常しない。なぜなら、何らかの理由で検出データの精度が悪かった場合に当該検出データを更新に用いると精度の悪い地図に更新してしまうおそれがあるためである。つまり、偶発的な環境変化を検出した検出データを用いて更新することは、極力避けられるべきである。よって、複数の車両200が適度に分散した時刻で検出することにより得られた複数の検出データの中で、当該複数の検出データに共通する環境変化を確かな検出データであるとみなし、更新に反映すればよい。これは、特許文献1、特許文献2および非特許文献1において、ベースとなっている既知の考え方である。
この観点からも、情報処理装置100は、ある1つの環境変化についても複数の検出データを要する。しかし、その地点を通る全ての車両が検出データをアップロードすることは通信量の観点でも情報処理装置100の計算資源の観点でも無駄が大きい。例えば、交通量の多い大型国道などのように、1日5万台以上走行する道路もあり、さらに、LIDARまたはカメラにより得られる検出データは、上述したように大容量であるため、膨大な通信量となってしまう。
逆に交通量が少ないエリアにおける検出データが十分に集まらず、3次元地図の更新に至らないケースがある。特許文献2では、交通量が少ない道路では1データあたりの信頼度を高く補正して更新に至らせている。つまり、交通量が少ないエリアでは、少ない検出データのままで更新を確定させているため、そのままでは信頼性が犠牲になる。そこで、交通量が少ないエリアにおいて検出データをより多く検出すること、および、1つ1つの検出データの精度を向上させることが求められる。
このため、情報処理装置100は、3次元地図を複数のエリアに分割し、複数のエリアのそれぞれについて、3次元地図の更新の要否を判定し、3次元地図の更新が必要であるエリアのみについて、1以上の車両200に検出データの検出を依頼する。また、情報処理装置100は、検出データの検出を依頼する車両200として、当該エリアを走行中または走行予定の1以上の車両200のうち、精度よく道路形状を検出できる車両200を選択する。このように、情報処理装置100は、更新が必要なエリアに、精度よく道路形状を検出できる車両200を選択して検出依頼を送信するため、3次元地図の情報鮮度を極力高く保つことができ、かつ、検出データを集約するために発生する通信量および当該検出データの処理負荷を低減することができる。
情報処理装置100のハードウェア構成について図2を用いて説明する。
図2は、実施の形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
図2に示すように、情報処理装置100は、ハードウェア構成として、CPU11(Central Processing Unit)と、メインメモリ12と、ストレージ13と、通信IF(Interface)14とを備える。
CPU11は、ストレージ13等に記憶された制御プログラムを実行するプロセッサである。
メインメモリ12は、CPU11が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
ストレージ13は、制御プログラム、コンテンツなどを保持する不揮発性の記憶領域である。
通信IF14は、通信ネットワークを介して複数の車両200と通信する通信インタフェースである。通信IF14は、例えば、有線LANインタフェースである。なお、通信IF14は、無線LANインタフェースであってもよい。また、通信IF14は、LANインタフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インタフェースであれば、どのような通信インタフェースであってもよい。
次に、車両200のハードウェア構成について図3を用いて説明する。
図3は、実施の形態に係る車両のハードウェア構成の一例を示すブロック図である。
図3に示すように、車両200は、ハードウェア構成として、CPU21(Central Processing Unit)と、メインメモリ22と、ストレージ23と、通信IF(Interface)24と、撮像装置25と、LIDAR26と、IMU27と、GNSS28と、ディスプレイ29と、入力IF(Interface)30とを備える。なお、図3には、複数の車両200それぞれの構成が示されている。なお、複数の車両200は、それぞれ、図3に示されるハードウェア構成を全て含んでいなくてもよい。例えば、車両200は、撮像装置25およびLIDAR26の少なくとも一方を有していればよい。また、車両200は、ディスプレイ29を有していなくてもよい。また、車両200は、入力IF30を有していなくてもよい。また、車両200は、CPU21(Central Processing Unit)と、メインメモリ22との代わりに専用回路を有していてもよい。
CPU21は、ストレージ23等に記憶された制御プログラムを実行するプロセッサである。
メインメモリ22は、CPU21が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
ストレージ23は、制御プログラム、コンテンツなどを保持する不揮発性の記憶領域である。
通信IF24は、通信ネットワーク300を介して情報処理装置100と通信する通信インタフェースである。つまり、通信IF24は、通信ネットワーク300に通信接続できる通信インタフェースであればよい。具体的には、通信IF24は、移動通信システムの基地局310との通信接続により、通信ネットワーク300と通信接続する通信インタフェースである。通信IF24は、例えば、第3世代移動通信システム(3G)、第4世代移動通信システム(4G)、または、LTE(登録商標)などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースであってもよい。また、通信IF24は、例えば、IEEE802.11a、b、g、n規格に適合した無線LAN(Local Area Network)インタフェースであってもよく、図示しないルータ(例えば、モバイル無線LANルータ)との通信接続により、通信ネットワーク300と通信接続する通信インタフェースであってもよい。
撮像装置25は、レンズなどの光学系およびイメージセンサを有するカメラである。
LIDAR26は、車両200の水平方向において360度全方位、および、垂直方向において所定の角度(例えば30度)の角度範囲の検出範囲にある物体との距離を検出するレーザセンサである。LIDAR26は、周囲にレーザを発し、周囲の物体に反射されたレーザを検知することで、LIDAR26から物体までの距離を計測する。LIDAR26は、例えば、センチメートルオーダーで当該距離を計測する。このように、LIDAR26は、車両200の周囲の地形表面の複数の点それぞれの3次元座標を検出する。つまり、LIDAR26は、周囲の地形表面の複数の3次元座標を検出することで、車両200の周囲の物体を含む地形の3次元形状を検出することができる。
IMU27は、加速度センサおよびジャイロセンサを含むセンサ機器である。加速度センサは、車両200の異なる3方向のそれぞれにかかる加速度を検出するセンサである。ジャイロセンサは、車両200の異なる3方向を軸とした3軸周りそれぞれの回転における角速度を検出するセンサである。
GNSS28は、GPS衛星を含む人工衛星から当該GNSS28の位置を示す情報を受信する。つまり、GNSS28は、車両200の現在位置を検出する。
ディスプレイ29は、CPU21での処理結果を表示する表示装置である。ディスプレイ29は、例えば、液晶ディスプレイ、有機ELディスプレイである。なお、ディスプレイ29は、車両200の車室内に配置されている。
入力IF30は、例えば、ディスプレイ29の表面に配置され、ディスプレイ29に表示されるUI(User Interface)へのユーザからの入力を受け付けるタッチパネルである。入力IF30は、例えば、テンキー、キーボード、マウスなどの入力装置であってもよい。なお、入力IF30は、車両200の車室内に配置されている。
図1に戻り、通信ネットワーク300は、情報処理装置100および複数の車両が互いに通信するための通信ネットワークである。通信ネットワーク300は、インターネットのような汎用のネットワークであってもよいし、地図更新システム1の専用のネットワークであってもよい。
次に、地図更新システムの機能構成について図4を用いて説明する。
図4は、実施の形態に係る地図更新システムの機能構成の一例を示すブロック図である。
まず、情報処理装置100の機能構成について説明する。
情報処理装置100は、機能構成として、第1判定部110と、選択部120と、第1通信部130と、データベース150とを備える。情報処理装置100は、さらに、位置取得部140を備えていてもよい。
第1判定部110は、複数のエリアのそれぞれについて、3次元地図により示される道路形状から現在の道路の道路形状への変化量、および、当該エリアを走行した車両の所定の動作の発生回数の少なくとも一方に基づいて、当該エリアの3次元地図の更新の要否を判定する。具体的には、第1判定部110は、複数のエリアのそれぞれについて、上記変化量および上記発生回数の少なくとも一方に基づいてスコアを算出する。そして、第1判定部110は、複数のエリアのうち、算出したスコアが所定のスコアを超えるエリアの3次元地図に更新の必要があると判定してもよい。
例えば、第1判定部110は、下記の式1を用いて地図更新の要否を決定するためのスコアを算出してもよい。
図5は、第1判定部によるスコアの算出を説明するためのグラフである。
ここで、式1および図5において、Sは、スコアを示し、ciは、過去の更新スコアにおける変更量を示し、Pは、最終更新時刻から遡る所定期間を示し、Tは、最終更新時刻から現在時刻までの経過時間を示し、pjは、各種イベントの発生回数を示し、αおよびβjは、係数を示す。なお、各種イベントの発生回数とは、車両200の所定の動作の発生回数である。また、所定の動作とは、現在までの所定期間Tの間に車両200に発生した急減速、急加速、自動運転中の手動運転割り込み、および急回避である。なお、所定の動作は、急減速、急加速、手動運転割り込みよび急回避の全てでなくてもよく、このうちの少なくとも1つであればよい。
第1判定部110が算出するスコアは、式1の第1項で示される、3次元地図により示される道路形状から現在の道路の道路形状への変化量に基づくスコアと、式1の第2項で示される、エリアを走行した車両200の所定の動作の発生回数に基づくスコアとの重み付け和である。すなわち、過去の更新履歴で頻繁に更新しているエリア、最終更新時刻から経過時間が長いエリア、または、急減速、急回避等のイベントが頻発しているエリアは、スコアが高くなりやすい。なお、スコアは、式1の第1項で示されるスコア、および、式1の第2項で示されるスコアの一方であってもよい。
図6は、複数のエリアに区分された3次元地図の一部を示す図である。
第1判定部110は、図6に示すように、複数のエリアA1~A4、B1~B4、C1~C4のそれぞれについて、式1の計算を行うことで、スコアを算出する。なお、図6に示す3次元地図を構成する複数のエリアは、一部であるため、第1判定部110は、図6に示されていない複数のエリアのそれぞれについても、式1の計算を行う。
また、第1判定部110は、複数のエリアのうち、単位期間当たりに更新の必要があると判定した回数が第1の回数以上であるエリアの所定のスコアを大きくし、単位期間当たりに更新の必要があると判定した回数が第1の回数以下の第2の回数未満であるエリアの所定のスコアを小さくしてもよい。
第1判定部110は、例えば、CPU11、メインメモリ12、ストレージ13などにより実現される。
選択部120は、第1判定部110により3次元地図の更新が必要であると判定されたエリアを走行中または走行予定の1以上の車両200の中から、道路形状を検出する検出車両を選択する。選択部120は、後述する位置取得部140により取得された、複数の車両200の現在位置または走行経路を用いて、上記エリアを走行中または走行予定の1以上の車両200を特定してもよい。
選択部120は、さらに、特定した、上記エリアを走行中または走行予定の1以上の車両200の中から、後述する車両データベース154に記憶されている車両情報を用いて、道路形状を検出する検出車両を選択してもよい。例えば、選択部120は、車両情報に含まれる車高情報または車種情報を用いて、検出車両として、車高が所定の高さ以上である車両を選択してもよい。また、例えば、選択部120は、車両情報に含まれるセンサ情報または車種情報を用いて、検出車両として、道路形状を検出するセンサであって、検出精度が所定の精度以上のセンサを有する車両を選択してもよい。また、例えば、選択部120は、車両情報に含まれる履歴情報を用いて、検出車両として、以前に、3次元地図の更新を行うために道路形状を検出する検出モードで走行したことがある車両を選択してもよい。
選択部120は、例えば、CPU11、メインメモリ12、ストレージ13などにより実現される。
第1通信部130は、選択部120で選択された検出車両に対してエリアの道路形状を検出させる検出依頼を通信ネットワーク300を介して送信する。第1通信部130は、第1通信部の一例である。第1通信部130は、検出車両として検出依頼を送信した車両200から、当該車両200が備えるセンサによる検出データを、通信ネットワーク300を介して受信してもよい。また、第1通信部130は、複数の車両200それぞれの現在位置を示す位置情報または走行経路を示す経路情報を受信してもよい。また、第1通信部130は、複数の車両200それぞれの所定の動作の発生履歴を受信してもよい。第1通信部130により受信された所定の動作の発生履歴は、イベント履歴データベース153に複数の車両200ごとに記憶される。第1通信部130は、例えば、CPU11、メインメモリ12、ストレージ13、通信IF14などにより実現される。
位置取得部140は、第1通信部130を介して複数の車両200の現在位置または走行経路を取得する。位置取得部140は、数秒から数十秒ごとに複数の車両200の現在位置または走行経路を取得する。位置取得部140は、例えば、CPU11、メインメモリ12、ストレージ13などにより実現される。
データベース150は、地図データベース151、地図履歴データベース152、イベント履歴データベース153および車両データベース154を有する。
地図データベース151は、複数のエリアに区切られている3次元地図を記憶している。複数のエリアは、2次元地図のエリアが複数に区切られたエリアである。3次元地図は、点群地図(point cloud map)であり、道路を含む地形(土地の形状)が3次元空間上の点群によって構成されるデータである。点群を構成する複数の点(例えば数百万以上の点)は、それぞれが3次元座標(x、y、z)で示される。
地図データベース151の3次元地図は、検出車両のセンサによる検出データを検出車両から第1通信部130が受信すると、受信した検出データに基づく3次元地図に更新される。このため、地図データベース151は、最新の3次元地図を記憶している。なお、更新が為される前に地図データベース151に記憶されている3次元地図は、例えば、所定のセンサを備える装置を用いて、予め検出された道路形状のデータが用いられる。
地図履歴データベース152は、地図データベース151に過去に記憶されていた3次元地図を記憶している。つまり、地図履歴データベース152は、地図データベース151に記憶されていた3次元地図であって、更新されることで最新ではなくなった3次元地図を記憶している。なお、地図履歴データベース152は、地図データベース151に含まれていてもよい。
イベント履歴データベース153は、第1通信部130を介して取得された複数の車両200に発生した所定の動作の発生履歴を複数の車両200ごとに記憶している。イベント履歴データベース153は、例えば、図7Aに示すように、複数の車両200を識別する車両IDと、発生した所定の動作と、所定の動作が発生した時刻と、所定の動作が発生したエリアとが対応付けられたデータを有する。
車両データベース154は、車両情報を記憶している。車両情報は、複数の車両200の車両に関する情報である。具体的には、車両情報は、複数の車両200のそれぞれの車高を示す車高情報を含んでいてもよい。また、車両情報は、複数の車両200のそれぞれが有するセンサの検出精度を示すセンサ情報を含んでいてもよい。また、車両情報は、車種を示す車種情報を含んでいてもよい。なお、車種情報は、例えば、車高情報を含んでいてもよい。また、車種情報は、センサの検出精度を特定するために用いられてもよい。つまり、車種情報を用いることで車種を特定できるため、当該車種の車両が有するセンサの種類を特定できる。よって、車種情報を用いることで、センサの検出精度を特定できる。また、車両情報は、複数の車両200のそれぞれが道路形状を検出するための検出モードで走行したか否かを示す履歴情報を含んでいてもよい。車両データベース154は、例えば、図7Bに示すように、複数の車両200を識別する車両IDと、当該車両の車高と、当該車両のセンサのセンサ精度と、当該車両が検出モードで走行した履歴情報としての走行回数とが対応付けられたデータを有する。
なお、図7Bでは、車高として、車高に応じて「高」、「中」、「低」の3段階に分類された情報を有することとしているが、車高の数値そのものを有していてもよい。
また、図7Bにおけるセンサ精度は、例えば、複数種類のセンサのそれぞれについて、事前に所定の検出テストを行うことにより「高」、「中」、「低」、「不明」などに分類されることで定義されてもよい。センサの種類と車両とは、車種によって対応付けられていてもよいし、車両からセンサの種類を示す情報を取得することで当該車両のセンサの種類を特定してもよい。なお、「不明」は、所定のテストが行われていないセンサである。
データベース150は、例えば、ストレージ13などにより実現される。なお、データベース150が有する、地図データベース151、地図履歴データベース152、イベント履歴データベース153および車両データベース154は、一つのストレージで実現されてもよいし、複数のストレージで実現されてもよいし、それぞれが対応する複数のストレージで実現されてもよい。また、情報処理装置100は、データベース150を有していなくてもよく、情報処理装置100とは別の装置がデータベース150を有していてもよい。この場合、情報処理装置100と別の装置とは相互に通信可能に接続されている。
次に、車両200の機能構成について説明する。
車両200は、機能構成として、第2通信部210と、第2判定部220と、切替部230と、制御部240と、第1検出部250と、地図データベース260とを備える。車両200は、さらに、入力受付部270を備えていてもよい。車両200は、さらに、第2検出部280を備えていてもよい。車両200は、さらに、渋滞検出部290を備えていてもよい。
第2通信部210は、現在の道路形状の検出依頼を外部の情報処理装置100から通信ネットワーク300を介して受信する。第2通信部210は、第2通信部の一例である。第2通信部210は、第1検出部250により検出された道路形状を示す検出データを、通信ネットワーク300を介して情報処理装置100に送信してもよい。また、第2通信部210は、現在位置を示す位置情報または走行経路を示す経路情報を通信ネットワーク300を介して情報処理装置100に送信してもよい。また、第2通信部210は、車両200の所定の動作の発生履歴を通信ネットワーク300を介して情報処理装置100に送信してもよい。第2通信部210は、例えば、CPU21、メインメモリ22、ストレージ23、通信IF24などにより実現される。
第2判定部220は、第2通信部210により検出依頼が受信された場合、通常モードから検出モードに、車両200の走行モードを切り替えるか否かを判定する。通常モードは、通常走行を行う走行モードである。検出モードは、3次元地図を更新するために、走行中の道路の3次元的な道路形状を検出する走行を行う走行モードである。検出モードは、より具体的には、通常モードよりも、最大速度を小さくする、最大加速度を小さくする、他の車両との間の車間距離を大きくする、第1検出部250が検出する検出周波数を大きくする、の少なくとも1つの設定を変更した状態で走行する走行モードである。検出モードにおいて、設定される最大速度、最大加速度、車間距離、および検出周波数は、予め定められた固定値であってもよいし、下記の式2で算出される値にスコアに応じて変更されてもよい。設定変更後の制御は、既に実用化されているクルーズコントロール機能などと同様の技術を用いることができる。なお、第1検出部250の検出周波数とは、第1検出部250の検出のためのサンプリング周波数である。例えば、同一方向において位置を検出するためのサンプリング周波数である。検出周波数は、LIDAR26においては、受発光部の回転周波数である。
第2判定部220は、後述する入力受付部270により受け付けられた入力が、走行モードを通常モードから検出モードに切り替えることを許可すること、つまり許可、を示す場合、走行モードを切り替えると判定してもよい。一方で、第2判定部220は、入力受付部270により受け付けられた入力が、走行モードを切り替えることを許可しないこと、つまり不許可、を示す場合、走行モードを切り替えないと判定してもよい。
また、第2判定部220は、車両200が客を運送する車両である場合であって、車両200が客を迎車中でない、かつ、車両200が客を運送中でない場合、走行モードを切り替えると判定してもよい。一方で、第2判定部220は、車両200が客を迎車中である、または、車両200が客を運送中である場合、走行モードを切り替えないと判定してもよい。なお、車両200が客を迎車中とは、客を運送するために当該客がいる場所まで車両200が走行している状態を示す。また、車両200が客を運送中とは、車両200が客を乗せた状態で走行している状態を示す。
第2判定部220は、例えば、CPU21、メインメモリ22、ストレージ23などにより実現される。
切替部230は、第2判定部220により検出モードに切り替えると判定された場合、走行モードを検出モードに切り替え、検出モードに切り替えないと判定された場合、走行モードを通常モードのままとする。
制御部240は、切替部230により切り替えられた走行モードで車両200を走行させる。なお、制御部240は、切替部230により走行モードが検出モードに切り替えられた場合において、後述する第2検出部280が後続車両が後続車両を検出しているとき、通常モードで車両200を走行させてもよい。また、制御部240は、切替部230により走行モードが検出モードに切り替えられた場合において、後述する渋滞検出部290が車両200の周囲で渋滞の発生を検出しているとき、通常モードで車両200を走行させてもよい。つまり、制御部240は、検出モードに切り替えられた場合であっても、後続車両を検出した場合または渋滞を検出した場合には、検出モードでの走行を止めて、通常モードで走行させてもよい。
第1検出部250は、道路の3次元的な道路形状を検出する。第1検出部250は、切替部230により走行モードが検出モードに切り替えられた場合、車両200が検出モードで走行している状態で、当該車両が走行している道路の3次元的な道路形状を検出する。第1検出部250は、例えば、CPU21、メインメモリ22、ストレージ23、撮像装置25、LIDAR26などにより実現される。
地図データベース260は、3次元地図を記憶している。第2通信部210により、所定期間毎に、情報処理装置100の地図データベース151に記憶されている最新の3次元地図が取得され、地図データベース260には、第2通信部210により取得された最新の3次元地図が記憶されている。地図データベース260は、例えば、CPU21、メインメモリ22、ストレージ23などにより実現される。
入力受付部270は、走行モードを通常モードから検出モードに切り替えることを許可するか否かを示す入力を受け付ける。入力受付部270は、例えば、車両200の車室内に居る人から上記入力を受け付ける。入力受付部270は、例えば、ディスプレイ29および入力IF30により実現され、図8Aまたは図8Bに示すように、ディスプレイ29に検出依頼を受信したことを通知するUI291または走行モードを検出モードに切り替えるか否かをユーザに尋ねるUI292を表示する。ユーザは、入力IF30を操作することにより、UI291またはUI292に表示されている「はい」または「いいえ」を選択することができる。入力受付部270は、UI291またはUI292において受け付けられた「はい」または「いいえ」を示す入力を、通常モードから検出モードに切り替えることを許可するか否かを示す入力として受け付ける。なお、入力受付部270は、UI291またはUI292において、「はい」への入力を検出モードに切り替えることを許可することを示す入力として受け付け、「いいえ」への入力を検出モードに切り替えることを許可しないことを示す入力として受け付ける。
第2検出部280は、車両200から一定距離以内の後続車両を検出する。第2検出部280は、例えば、CPU21、メインメモリ22、ストレージ23、撮像装置25、LIDAR26などにより実現される。なお、撮像装置25は、第2検出部280の機能の一部を実現している場合、車両200の後方を撮像する。
渋滞検出部290は、車両200の周囲における渋滞の発生を検出する。渋滞検出部290は、車両の周囲の複数の他の車両200の密度が所定の密度以上であるかを推定することで渋滞の発生を検出してもよい。渋滞検出部290は、具体的には、車両200の周囲の所定の範囲内に他の車両200が何台あるかを推定することで、上記密度を推定してもよい。渋滞検出部290は、例えば、CPU21、メインメモリ22、ストレージ23、撮像装置25、LIDAR26などにより実現される。なお、渋滞検出部290は、車両200の現在位置に基づいて、外部の情報処理装置から当該現在位置周辺の渋滞情報を取得することにより、車両200の周囲における渋滞の発生を検出してもよい。
[1-2.動作]
次に、地図更新システム1の動作について説明する。
図9は、実施の形態に係る地図更新システムによる地図更新方法の一例を示すシーケンス図である。
地図更新方法には、情報処理装置100により行われる情報処理方法と、車両200により行われる走行制御方法とが含まれる。
まず、情報処理装置100では、第1判定部110は、複数のエリアのそれぞれにおいて、当該エリアの地図の更新の要否を判定する(S11)。地図の更新の要否を判定する更新判定処理の詳細は後述する。
選択部120は、第1判定部110により地図の更新が必要であると判定されたエリアを走行中または走行予定の1以上の車両から、道路形状を検出する検出車両を選択する(S12)。
第1通信部130は、検出車両に、上記エリアの道路形状を検出させる検出依頼を、通信ネットワーク300を介して送信する(S13)。
そして、検出車両として選択された車両200は、検出依頼を受信することで、走行制御を開始する(S21)。当該車両200は、走行制御において、検出モードでの走行が許可された場合、検出モードで走行すると共に、道路形状の検出を行う。検出依頼の受信も含む走行制御の詳細は、後述する。
車両200は、道路形状の検出を行った場合、得られた検出データを通信ネットワーク300を介して情報処理装置100に送信する(S22)。
そして、情報処理装置100では、第1通信部130が車両200から送信された検出データを受信し(S14)、地図データベース151の3次元地図の更新が行われる(S15)。
なお、ステップS22、S14、S15の処理は必ずしも行われなくてもよい。例えば、情報処理装置100は、地図データベース151を備えていなくてもよく、第1判定部110、選択部120および第1通信部130を備える第1の情報処理装置と、データベース150を備える第2の情報処理装置とに構成が分離されていてもよい。この場合、第1の情報処理装置は、第2の情報処理装置から地図の更新の要否を判定するための情報を取得して、ステップS11~S13を行う。車両200は、ステップS21を行い、検出データを第2の情報処理装置に送信する処理をステップS22の代わりに行う。そして、第2の情報処理装置は、ステップS14、S15の処理を行う。
図10は、実施の形態に係る更新判定処理の詳細の一例を示すフローチャートである。
情報処理装置100は、所定の期間ごとに更新判定処理を繰り返し行う。
第1判定部110は、複数のエリアA1~A4、B1~B4、C1~C4のそれぞれについて以下のステップS32~S35の処理を行うループを行う(S31)。
第1判定部110は、複数のエリアのうちの1つのエリア、例えばエリアA1のスコアを算出する(S32)。第1判定部110は、例えば、式1を用いてスコアを算出する。
第1判定部110は、算出したスコアが所定のスコアを超えているか否かを判定する(S33)。
第1判定部110は、算出したスコアが所定のスコアを超えていると判定した場合(S33でYes)、エリアA1の更新が必要であると判定する(S34)。
一方で、第1判定部110は、算出したスコアが所定のスコア以下であると判定した場合(S33でNo)、エリアA1の更新が不要であると判定する(S35)。
第1判定部110は、エリアA1についてステップS34またはステップS35が行われると、まだループが行われていない残りのエリアA2~A4、B1~B4、C1~C4のそれぞれに対して順番にループを繰り返す。第1判定部110は、全てのエリアA1~A4、B1~B4、C1~C4についてループが行われた場合、ループを終了し更新判定処理を終了する。
なお、上記では、第1判定部110は、ループを実行することにより、複数のエリアA1~A4、B1~B4、C1~C4のそれぞれについて更新判定処理を行うとしたが、複数のエリアA1~A4、B1~B4、C1~C4のそれぞれについてのステップS32~S35を並列して行うことにより更新判定処理を行ってもよい。
図11は、実施の形態に係る走行制御の詳細の一例を示すフローチャートである。
情報処理装置100に検出依頼を送信された車両200、つまり、検出車両として情報処理装置100に選択された車両200は、走行制御を行う。
車両200では、第2通信部210が検出依頼を受信する(S41)。
第2判定部220は、通常モードから検出モードに、車両200の走行モードを切り替えるか否かを判定する(S42)。
切替部230は、第2判定部220により走行モードを検出モードに切り替えると判定された場合(S42でYes)、検出モードに切り替える(S43)。切替部230は、第2判定部220により走行モードを検出モードに切り替えないと判定された場合(S42でNo)、走行モードを通常モードのままとし、走行制御処理を終了する。
制御部240は、切替部230により切り替えられた検出モードで、更新が必要であると判定されたエリア内で車両200を走行させ(S44)、第1検出部250に当該エリアにおける道路形状の検出を行わせる。このとき、制御部240は、通常モードよりも、最大速度を小さくする、最大加速度を小さくする、他の車両との間の車間距離を大きくする、第1検出部250が検出する検出周波数を大きくする、の少なくとも1つの設定を変更した状態で車両200を走行させ、この状態で道路形状の検出を第1検出部250に行わせる。
切替部230は、エリアにおける道路形状の検出が終了したか否かを判定する(S45)。
切替部230は、検出が終了したと判定した場合(S45でYes)、車両200の走行モードを検出モードから通常モードに切り替える(S46)。一方で、切替部230は、検出が終了していないと判定した場合(S45でNo)、ステップS45を繰り返す。つまり、切替部230は、エリアにおける道路形状の検出が終了するまで、検出モードを継続し、当該検出が終了すると検出モードを通常モードに切り替える。
制御部240は、切替部230により切り替えられた通常モードで、走行させ(S47)、走行制御を終了する。
なお、ステップS45~S47は、必ずしも行われなくてもよい。
[1-3.検出モードでの走行例]
図12は、検出モードとして車間距離を大きくして走行することの効果について説明するための図である。
図12に示すように、車両200の上部には、センサとしてLIDAR26が配置されている。複数の破線は、LIDAR26から発せられるレーザを示し、LIDAR26は、破線40から破線41までの範囲でレーザを発する。
車両200の前方にトラック400が走行している場合を考える。このとき、LIDAR26による検出データとしては、周囲の建物や樹木、道路等の地図に記載されるオブジェクトが検出されたデータであることが好ましく、一時的に前方に居るトラック400が検出されたデータではない。しかしながら、LIDAR26では、透視はできないため、トラック400の向こう側のオブジェクトを検出することは難しい。
この場合では、LIDAR26は、検出すべきでないオブジェクトであるトラック400を検出してしまい、検出すべきオブジェクトを検出できない。このため、トラック400を検出した検出データに基づいて環境変化と誤解する可能性がある。もちろんLIDAR26と並行して撮像装置25によりえら得る画像等からトラック400であることを検出し、トラック400を検出した検出データを地図の更新に利用することを除外することも可能である。しかし、トラック400を検出するための処理に負荷がかかり、検出すべきオブジェクトを検出できないことは避けられない。したがって、例えば図12に示すように前方をトラック400が走行している場合などのように、検出すべきオブジェクトを効果的に検出するために、前方の車両から車間距離を大きく取ることに効果がある。
なお、LIDAR26でオブジェクトを検出することを例にして説明したが、ステレオカメラなどの撮像装置を用いてオブジェクトを検出する場合においても同様のことが言える。
なお、片側1車線の道路で後続車を検知している場合や、渋滞中は車間距離設定は変更しないという配慮は必要と考えられる。渋滞情報は既に市販車で取得できており、またレーン情報も地図情報に通常含まれているものであり、後続車検知は全周囲ライダーやバックカメラで容易に検知できる。
図13Aおよび図13Bは、検出モードとして、最大速度または最大加速度を小さくして走行することの効果について説明するための図である。
図13Aおよび図13Bは、車両200とオブジェクト50を上から見た図である。車両200は、向きなどを示すために簡易的に示している。車両200が備えるLIDAR26は、図13Aにおいて、xy平面の原点に位置し、360度の全方位に破線で示すレーザを発する。このとき、LIDAR26は、オブジェクト50に反射された箇所である点51~点57のそれぞれの座標が点群として検出される。なお、検出された座標は、車両200のLIDAR26の中心座標、つまりxy平面の原点、を基準としたときの値であって、地図上の座標ではない。
地図を更新するためには点51~点57の地図上の座標を求める必要がある。これは地図上における車両の位置および/または姿勢を考慮して、車両200のLIDAR26を中心とする第1の座標系から、地図上の第2の座標系へ座標変換することで求められる。座標変換には、式3を用いる。
地図上の第2の座標系における車両200の位置および/または姿勢は上述したICPやNDTアルゴリズムによって推定される。これらのアルゴリズムは一般に繰り返しアルゴリズムであるから、初期値依存性がある。このため、これらのアルゴリズムを用いた車両200の位置および/または姿勢の推定では、不適切な初期値を与えると推定精度が悪化する。一般に初期値としては現時刻での位置およびまたは姿勢、速度、加速度、角加速度などから推定した次時刻での位置およびまたは姿勢が使われるが、急加速や急旋回中はその精度が悪化する。
ここで図13Bに示すように、車両200が地図上の第2の座標系において位置200aに位置するのに関わらず、位置200bに位置すると推定された場合、図13Aのように検出された第1の座標系の点51~点57から推定される第2の座標系上の座標値は点51b~点57bとなる。つまり、オブジェクトの推定される位置50bとオブジェクトの実際の位置50aとの間にずれが生じる。
つまり、車両200が急加減速中、急旋回中、振動が多い状況などでは、推定する車両200の位置および/または姿勢の誤差が大きくなる。車両200の位置および/または姿勢の誤差が大きくなるため、上記のように検出した点群から推定したオブジェクトの座標値にも誤差が生じてしまう。よって、最大速度、最大加速度の設定を小さくすることにより、車両200の第2の座標系における位置および/または姿勢の推定の精度を向上させることができ、推定した座標値に誤差が生じることを防ぐことができる。
さらに、式2と同様に、センサの検出周波数をスコアに応じて変更することが考えられる。例えば、LIDAR26は、レーザの受発光部が内部で回転しており、その回転周波数を変更できる。LIDAR26は、受発光部の回転周波数を大きくして速く回転させることで、検出される検出データの時間的な密度を大きくすることができる。なお、この場合、受発光部のレーザの発光周期は変わらないため、受発光部が1周する毎に得られる検出データに含まれる点の数は減少する。しかし、一般に、検出データに含まれる点群は、ダウンサンプルして利用されるため、ほとんど弊害とはならない。このように、LIDAR26の受発光部の回転周波数を大きくすることで、検出データの時間的な密度を大きくすることで自車位置を推定する際のマッチング処理で与える初期位置の精度を向上させることができ、自車位置の推定精度を向上させることができる。
図14Aおよび図14Bは、複数のオブジェクトによるオクルージョンの発生を抑制する効果について説明するための図である。
図14Aでは、車両200のLIDAR26は、時刻t=0および時刻t=1のどちらの地点においても、オブジェクト71がオブジェクト70、72の陰に入っているため、オブジェクト71を検出することができない。ここで、図14Bに示すように、LIDAR26の回転周波数を2倍にして時刻t=0.5の位置からでも検出を可能にすれば、オブジェクト71を検出することができる。なお、図14Aおよび図14Bにおいて破線で示すLIDAR26のレーザの角度間隔は模式的なものであり、実際には0.5度以下である。それでも、時刻t=0および時刻t=1の位置からでは、オブジェクト70、72の陰になるため、オブジェクト71を検出できない。
上記ではLIDAR26を例として記載したが、検出周波数の変更は、その他のセンサでも実施できる。例えば、ステレオカメラなどの撮像装置を用いてオブジェクトを検出する場合であっても、上記と同様のことが言える。
[1-4.効果など]
本実施の形態に係る情報処理装置100によれば、3次元地図を複数のエリアに分割し、複数のエリアのそれぞれについて、地図の更新の要否を判定する。このように、情報処理装置100は、地図の更新が必要なエリアを効率的に判定することができる。
また、情報処理装置100において、地図の更新が必要であるエリアについて、1以上の車両200に検出データの検出を依頼する。このように、情報処理装置100は、更新が必要なエリアを走行するまたは走行予定の車両200を選択して検出依頼を送信するため、精度のよい検出データを効果的に取得することができる。このため、情報処理装置100は、精度のよい地図データに効果的に更新することができる。
また、情報処理装置100において、車両200は、自動運転を行う車両である。所定の動作は、現在までの所定期間の間に発生した急減速、急加速、自動運転中の手動運転割り込み、および急回避の少なくとも1つである。つまり、情報処理装置100は、自動運転を行う車両において所定の動作の発生回数が多いほど、地図が示す道路形状と、実際の道路形状との間に差が大きいと判断する。なぜなら、地図が示す道路形状と、実際の道路形状との間に差が生じると、自車位置を推定する精度が悪くなるため、安定した走行制御が難しくなるからである。このように、情報処理装置100は、所定の動作の発生回数が多いほど、地図が示す道路形状と、実際の道路形状との間に差が大きいと判断するため、地図の更新の要否を効果的に判定することができる。
また、情報処理装置100において、選択部120は、検出車両として、車高が所定の高さ以上である車両を選択する。このため、精度よく道路形状を検出できる車両200を選択することができる。
また、情報処理装置100において、選択部120は、検出車両として、道路形状を検出するセンサであって、検出精度が所定の精度以上のセンサを有する車両200を選択する。このため、精度よく道路形状を検出できる車両200を選択することができる。
また、情報処理装置100において、選択部120は、検出車両として、以前に、地図の更新を行うために道路形状を検出する検出モードで走行したことがある車両200を選択する。このため、精度よく道路形状を検出するための検出モードで走行できる可能性が高い車両を選択することができる。これにより、検出モードで走行する車両を選択するまでにかかる時間および当該選択にかかる処理負荷を低減することができる。
また、情報処理装置100において、第1判定部110は、複数のエリアのそれぞれについて、道路形状の変化量、および、所定の動作の発生回数の少なくとも一方に基づいてスコアを算出する。第1判定部110は、複数のエリアのうち、算出したスコアが所定のスコアを超えるエリアの地図に更新の必要があると判定する。このため、複数のエリアのそれぞれについて、当該エリアの地図の更新の要否を効果的、かつ、容易に判定することができる。
また、情報処理装置100において、第1判定部110は、複数のエリアのうち、単位期間当たりの更新の必要があると判定した回数が第1の回数以上であるエリアの所定のスコアを大きくし、単位期間当たりに更新の必要があると判定した回数が第1の回数以下の第2の回数未満であるエリアの所定のスコアを小さくする。このように、第1判定部110は、地図の更新の要否を判定するためのスコアの閾値を過去に更新の要否を判定した回数に応じて変更するため、道路形状の時系列の変化が大きいエリアほど、更新頻度を大きくすることができる。これにより、道路形状の時系列の変化に応じた頻度で、エリアの地図の更新を行うことができる。よって、複数のエリアの地図の更新を、エリア毎に適切な頻度で行うことができる。
本実施の形態に係る車両200によれば、検出依頼を受信した場合、通常モードとは異なる走行モードであって、地図の更新用に道路形状を検出するための検出モードで走行する。このため、車両200は、道路形状を精度よく検出することができる。また、車両200は、検出依頼を情報処理装置から受信した場合であっても、車両200の状況に応じて、検出モードに切り替えずに通常モードのままで走行するため、車両200のユーザの利便性が損なわれることを抑制することができる。
また、車両200において、第2通信部210は、第1検出部250により検出された道路形状を示す検出データを、通信ネットワーク300を介して情報処理装置100に送信する。このため、車両200は、地図の更新が必要なエリアにおいて精度よく検出した検出データを情報処理装置100に送信することができる。
また、車両200において、検出モードは、通常モードよりも、最大走行速度を小さくする、最大走行速度を小さくする、車間距離を大きくする、第1検出部250が検出する検出周波数を大きくする、の少なくとも1つの設定を変更した状態で走行する走行モードである。このため、車両200は、検出モードにおいて、道路形状を精度よく検出することができる。
また、車両200において、さらに、車両200から一定距離以内の後続車両を検出する第2検出部280を備える。制御部240は、切替部230により走行モードが検出モードに切り替えられた場合において、第2検出部280が後続車両を検出しているとき、通常モードで車両200を走行させる。このため、車両200は、走行モードが検出モードに切り替えられた場合であっても、第2検出部280が後続車両を検出した場合には、後続車両の邪魔にならないように走行することができる。
また、車両200において、さらに、車両200の周囲における渋滞の発生を検出する渋滞検出部290を備える。制御部240は、切替部230により走行モードが検出モードに切り替えられた場合において、渋滞検出部290が渋滞の発生を検出しているとき、通常モードで車両200を走行させる。このため、車両200は、走行モードが検出モードに切り替えられた場合であっても、車両200の周囲が渋滞している場合、渋滞している車両の邪魔にならないように走行することができる。
また、車両200において、さらに、走行モードを通常モードから検出モードに切り替えることを許可するか否かを示す入力を受け付ける入力受付部270を備える。第2判定部220は、入力受付部270により受け付けられた入力が許可を示す場合、走行モードを切り替えると判定し、入力受付部270により受け付けられた入力が不許可を示す場合、走行モードを切り替えないと判定する。このため、車両200は、車室内にいる人から許可されていない場合には、走行モードを切り替えずに通常モードで走行するため、当該人の利便性を損なうことを抑制することができる。
また、車両200において、車両200は、客を運送する車両である。第2判定部220は、車両200が客を迎車中でない、かつ、車両200が客を運送中でない場合、走行モードを切り替えると判定する。第2判定部220は、車両200が客を迎車中である、または、客を運送中である場合、走行モードを切り替えないと判定する。このため、車両200は、客を迎車中または運送中である場合、走行モードを通常モードのままで走行するため、客の利便性を損なうことを抑制することができる。
[1-5.変形例]
上記実施の形態では、車両200の周囲の地形表面の3次元形状を検出するのに、LIDAR26を用いるとしたが、これに限らない。例えば、ステレオカメラを用いて、ステレオカメラにより撮像された画像から、車両200の周囲の地形表面の3次元形状を検出してもよいし、距離センサおよびカメラの組合せを用いて、距離センサの検出結果およびカメラにより撮像された画像から、車両200の周囲の地形表面の3次元形状を検出してもよい。
上記実施の形態では、地図として道路および道路周辺の3次元形状を示す3次元地図を用いるとしたが、道路および道路周辺の2次元形状を示す2次元地図を用いてもよい。この場合、LIDAR26などで実現される第1検出部250は、車両200の周辺の道路および道路の周辺の形状である道路形状を3次元形状で検出するとしたが、2次元形状で検出してもよい。なお、第1検出部250は、3次元形状で検出した道路形状を、2次元形状に変換することで2次元形状で検出してもよい。
上記実施の形態では、車両200において、切替部230により走行モードが検出モードに切り替えられた場合において、第2検出部280が後続車両を検出しているとき、制御部240は車両200を通常モードで走行させるとした。ただし、検出依頼を情報処理装置100から受信した後、第2検出部280が後続車両を検出した場合、第2判定部220が走行モードを検出モードに切り替えないと判定してもよい。
上記実施の形態では、車両200において、切替部230により走行モードが検出モードに切り替えられた場合において、渋滞検出部290が車両200の周囲における渋滞の発生を検出しているとき、制御部240は車両200を通常モードで走行させるとした。ただし、検出依頼を情報処理装置100から受信した後、渋滞検出部290が車両200の周囲における渋滞の発生を検出した場合、第2判定部220が走行モードを検出モードに切り替えないと判定してもよい。
なお、上記の実施形態では、情報処理装置100が選択した検出車両に対するエリアの道路形状を検出させる検出依頼を受けた車両200が、走行モードを、通常モードから検出モードに変更する場合において、車両200の所有者または乗車している人に対して報酬を与えるようなサービスを、情報処理装置100またはサービス用のサーバ等で備える構成にしてもよい。ここでの報酬は金銭を与えてもよいし、ポイントサービスを付与してもよい。
情報処理装置100は、車両200を一意に特定できるので、例えば、車両200が自動運転タクシーである場合、車両200に乗っている乗客が、走行モードの変更を承諾するような場合におけるサービスとしては、車内200に備え付けられた端末に、特定のQRコード(登録商標)を表示させる。そして、乗客は、乗客の所有するスマートフォン等で、QRコード(登録商標)をスキャンし、スマートフォン等から情報処理装置100またはサービス用のサーバに走行モードの変更を承諾したことを示す情報が送信される。これにより乗客が上記の報酬を入手する、つまり、情報処理装置100が乗客に報酬を与えるような仕組みであってもよい。または、車両200それぞれに所有者のアカウントを紐付けておき、そのアカウントに走行モードの変更を許諾したことを示す情報を蓄積するようにしてもよい。
報酬を与えることによって、走行モードを、通常モードから検出モードへの変更を許可する車両が増加し、精度の高いデータをより多く集めることができる。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の情報処理方法、走行制御方法、地図更新方法などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、車両が走行する道路および前記道路の周辺の形状である道路形状を示す地図を前記車両に配信する情報処理装置が行う情報処理方法であって、複数のエリアのそれぞれについて、前記情報処理装置が備える地図データベースに記憶されている前記地図により示される前記道路形状から現在の前記道路形状への変化量、および、当該エリアを走行した車両の所定の挙動の発生回数の少なくとも一方に基づいて、当該エリアの前記地図の更新の要否を判定し、前記地図の更新が必要であると判定したエリアを走行中または走行予定の1以上の車両の中から、道路形状を精度よく検出する検出車両を選択し、選択した前記検出車両に対して前記エリアの道路形状を検出させる検出依頼を、通信ネットワークを介して送信する情報処理方法を実行させる。
また、このプログラムは、コンピュータに、車両が行う走行制御方法であって、走行する道路および前記道路の周辺の形状である道路形状を検出し、道路形状の検出依頼を、外部の情報処理装置から通信ネットワークを介して受信し、通常走行を行う通常モードから、前記地図を更新するために、走行中の道路の道路形状を検出する走行を行う検出モードに、前記車両の走行モードを切り替えるか否かを判定し、前記検出モードに切り替えると判定した場合、前記走行モードを前記検出モードに切り替え、前記検出モードに切り替えないと判定した場合、前記走行モードを前記通常モードのままとし、切り替えた走行モードで前記車両を走行させる走行制御方法を実行させる。
また、このプログラムは、コンピュータに、1以上の車両が走行する道路および前記道路の周辺の形状である道路形状を示す地図を前記1以上の車両に配信する情報処理装置と、前記1以上の車両とが行う地図更新システムにおける前記地図の地図更新方法であって、前記情報処理装置では、複数のエリアのそれぞれについて、前記情報処理装置が備える地図データベースに記憶されている前記地図により示される前記道路形状から現在の前記道路形状への変化量、および、当該エリアを走行した車両の所定の挙動の発生回数の少なくとも一方に基づいて、当該エリアの前記地図の更新の要否を判定し、前記地図の更新が必要であると判定したエリアを走行中または走行予定の1以上の車両の中から、道路形状を精度よく検出する検出車両を選択し、選択した前記検出車両に対して前記エリアの道路形状を検出させる検出依頼を、通信ネットワークを介して送信し、前記1以上の車両のうちの前記検出車両として選択された車両では、前記検出依頼を、外部の情報処理装置から前記通信ネットワークを介して受信し、通常走行を行う通常モードから、前記地図を更新するために、走行中の道路の道路形状を検出する走行を行う検出モードに、前記車両の走行モードを切り替えるか否かを判定し、前記検出モードに切り替えると判定した場合、前記走行モードを前記検出モードに切り替え、前記検出モードに切り替えないと判定した場合、前記走行モードを前記通常モードのままとし、切り替えた走行モードで前記検出車両を走行させる地図更新方法を実行させる。
以上、本発明の一つまたは複数の態様に係る情報処理装置、車両、情報処理方法、走行制御方法および地図更新方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。