以下に、図面を参照しながら本開示を実施するための複数の形態を説明する。各形態において先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を適用することができる。各形態で具体的に組み合わせが可能であることを明示している部分同士の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても形態同士を部分的に組み合せることも可能である。
[全体構成]
最初に、図1を参照して、本開示が適用された地図システム1の概略構成について説明する。
図1に示すように、この地図システム1は、後述する車載システム2が搭載された少なくとも1つの車両と、地図情報(以降、地図データとも記載)が格納されたサーバ3と、を備える。図1には、車載システム2が搭載された車両を表すブロックを1つしか示していないが、地図システム1は複数の搭載車両を備えうる。各車両は、サーバ3と無線通信可能に構成されている。車両は、道路上を走行可能であって、後述するようにプローブデータを逐次収集しながら走行する。また、車両は自動運転システムもしくは運転支援システムを備え、サーバ3から取得した地図データを利用して運転制御を行う。
車載システム2が適用される車両は、乗用車であってもよいし、トラックなどの運送車両、タクシーなどのサービス車両であってもよい。サービス車両には、乗り合いバス(換言すれば路線バス)や、長距離バス、カーシェアやライドシェアなどのシェアリングサービスに供される車両も含まれる。乗り合いバスは、予め決められたルートを自動走行する自動運転バスであってもよい。
地図システム1は、1つの側面において、道路沿いに存在する複数の地物の座標情報を含む地図データを用いて、道路セグメントに沿って車両を自律的に走行させるためのシステムに相当する。「道路沿い」という表現には、道路側方だけなく、道路の上方や、道路表面も含まれる。例えば路面から3m以上、上方に配置されている方面看板やビーコン局なども、道路沿いに設置された地物に該当する。また、ペイントまたは道路鋲を用いてなる区画線などの路面標示も道路沿いに存在する地物に相当する。道路沿いは、道路上および道路周辺と言い換えることができる。また、上記の地物には道路端そのものも含まれる。地図データを用いた自動運転のレベルは、レベル3以上に限定されず、レベル2に相当するものであってもよい。ここでの自動化レベル2は、ECUを含むシステムが縦方向及び横方向両方の車両運動制御のサブタスクを限定領域において実行するもの、例えば、車線維持のためのステアリング補正や、速度調整を自動で実施するものを指す。ここでの自動化レベル3は、特定の場所(ODD:Operational Design Domain)内にてシステムが全ての運転操作を実施する一方、作動継続が困難な時は運転席乗員への権限移譲を実行するものを指す。自動化レベル4はレベル3にて規定されている運転席乗員による監視義務が解除されたレベルである。自動化レベル5は、すべての道路においての完全自動運転が可能なレベルを指す。
各車両に搭載されている車載システム2は、撮像装置たるカメラ10と、画像プロセッサ20と、車両の状態を取得する状態取得部たるセンサ30と、主プロセッサ40と、通信モジュール50と、ヒューマンマシンインターフェース60(以下、HMI)と、アクチュエータ70と、メモリ80と、を備えている。当該車載システム2は、車両側装置又は車両制御装置に相当する。以降では主プロセッサ40にとって、当該主プロセッサ40が搭載されている車両のことを自車両とも記載する。
地図システム1は、GPS等、自車両の位置を特定する機能に対して、追加的に機能してより高精度に自車両の位置の特定をすることに効果を発揮する。地図システム1は、大きく分けて、地図活用および地図更新の2つの機能を備えている。地図活用においては、サーバ3に格納された地図情報が車両にダウンロードされ、車両はダウンロードされた地図情報と、カメラ10により撮像された画像に含まれる標識等のランドマークの位置とに基づいて自車両の位置を特定する。一方、地図更新においては、車両に搭載されたカメラ10やセンサ30により得られた情報がプローブデータとしてサーバ3にアップロードされ、サーバ3内の地図情報が逐次更新される。これにより、車両は、常に最新の地図情報に基づいて高精度に位置特定がされつつ、例えば運転支援や自動ステアリングが実現される。なお、以降ではサーバ3から取得した地図データと、カメラ10が生成した画像から算出されたランドマーク63の座標とに基づいて、自車両が走行している道路上における自車両の詳細位置を決定する処理のことをローカライズと称する。
カメラ10は、車両に搭載され、可視光領域の波長において車両周辺の環境を撮像する。カメラ10は、例えば車両前方の環境を撮像するものである。もちろん、他の態様として、カメラ10は、車両前方に限らず、後方及び側方の少なくとも何れか一方を撮像するように構成されていても良い。また、車両は、複数のカメラ10を備えていてもよい。例えば車両は、前方所定範囲を撮像する前方カメラ、後方所定範囲を撮像するリアカメラ、右側方を撮像する右側カメラ、及び左側方を撮像する左側カメラの4つのカメラ10を備えていてもよい。加えて前方カメラとして、相対的に遠方を撮像するための遠方カメラと、近距離を撮像するための近距離カメラとを備えていてもよい。カメラ10は、100°を超える画角を備える広角カメラであってもよい。加えて、カメラ10が捉える光の波長は可視光に限定されるものではなく、紫外、赤外の光を含んでいても良い。例えばカメラ10は赤外線カメラであってもよい。加えて、車両は可視光を撮像する可視光カメラと赤外線カメラとを備えていてもよい。カメラ10は、例えば図示しない撮像素子たるCMOSイメージセンサと、図示しない画像処理エンジンとを含むカメラモジュールとして構成されている。カメラ10により撮像された車両周辺の環境の情報は、静止画あるいは動画(以下、これらを総して画像と称する)の形式でメモリ80に格納される。後述の画像プロセッサ20は、メモリ80に格納されたデータに基づいて各種処理を実行する。なお、車両が複数のカメラ10を備える構成においては、画像プロセッサ20はカメラ10ごとに設けられていてもよいし、1つの画像プロセッサ20が複数のカメラ10での撮像データを処理するように構成されていてもよい。カメラ10に係る構成及び機能の配置は適宜変更可能である。
画像プロセッサ20は、カメラ10により撮像された画像を解析する。画像プロセッサ20は、例えば、画像を解析することにより、予め定められた地物を検出する。検出対象とする地物は、例えば車両制御に必要となる地物である。また、検出対象とする地物は、別の観点によれば、地図データに収録されるべき要素(以降、地図要素とも記載)に相当する。画像プロセッサ20が検出する地物としては、例えば、道路標示(換言すれば路面標示)とランドマークとがある。
路面標示とは、主として交通制御、交通規制のための路面に描かれたペイントを指す。路面標示には、規制表示や指示標示などがある。例えば、車線の境界を示す車線境界線(いわゆる区画線、レーンマーク)、横断歩道、停止線、導流帯、安全地帯、規制矢印などが道路標示に含まれる。また、路面標示には、チャッターバーやボッツドッツなどの道路鋲によって実現されるものも含まれる。
ランドマーク63には、例えば規制標識や、案内標識、警戒標識、指示標識などといった交通標識に相当する看板、信号機、ポール、案内板などが含まれる。なお、案内標識とは、方面看板や、地域名称を示す看板、道路名を示す看板、高速道路の出入口やサービスエリア等を予告する予告看板などを指す。ランドマーク63には、街灯や、ミラー、電柱、商業広告、店舗、歴史的建造物等の象徴的な建築物などを含まれうる。ポールには街灯や電柱も含まれる。また、路面表示の一部(たとえばレーンマークや一時停止線)をランドマークとして取り扱うこともできる。ランドマークは、道路の舗装状態、起伏、ジョイント等も含む。画像プロセッサ20は、ランドマークの抽出に際して、色、輝度、色や輝度に関するコントラスト等を含む画像情報に基づいて、撮像された画像から背景とランドマーク63とを分離して抽出する。また、ランドマーク63は、大きさ、形状、設置位置に基づいて抽出されても良い。
また、画像プロセッサ20は、SfM(Structure from Motion)技術を用いてカメラ10の撮像画像から、自車両に作用しているヨーレートや、前後方向加速度、横方向加速度、ワイパー作動状態などといった、車両の挙動を示す状態量(以降、挙動情報)も検出する。カメラ10が周辺監視センサの一例に相当する。
なお、本実施形態の車載システム2は周辺監視センサとしてカメラ10を備えるものとするが、地図システム1を構成する周辺監視センサはカメラ10に限定されない。周辺監視センサは、ミリ波レーダであってもよいし、LiDAR(Light Detection and Ranging / Laser Imaging Detection and Ranging)であってもよい。LiDARは、スキャン方式のLiDARであってもよいし、フラッシュ方式のLiDARであってもよい。LiDARとしては、分解能等の観点からSPAD LiDAR(Single Photon Avalanche Diode Light Detection And Ranging)であることが好ましい。その他、周辺監視センサとしてソナーなど、多様な物体検出装置を採用可能である。LiDARが生成する3次元測距点群データや、ミリ波レーダの検出結果、ソナーの検出結果などが周辺物体データに相当する。3次元測距点群データは距離画像とも称される。周辺物体データとして3D測距点群データを使用する場合には、測距点/方向ごとの距離情報と受信強度情報とを用いて検出物の認識を行えばよい。LiDAR、ミリ波レーダ、ソナー等を用いた物体認識手法としては多様な手法を援用することができる。加えて、地図システム1は、複数の種類のデバイスを周辺監視センサとして備えていてもよい。例えば地図システム1は周辺監視センサとして、カメラ10たる前方カメラに加えて、車両前方を検出範囲に含むように構成されているLiDARを備えていてもよい。ランドマークに相当する物体の認識には、複数種類のセンサの検出結果を併用する技術(いわゆるセンサフュージョン技術)が援用されてもよい。仮に前方カメラとミリ波レーダを併用する態様によれば、ランドマークとの距離の検出精度を高めることができる。また、夜間など前方カメラによるランドマークの認識精度が劣化する環境下においても、ミリ波レーダの検出結果を相補的に用いることにより、ランドマークの認識率を担保することが可能となる。車両前方を撮像するカメラ10や、ミリ波レーダ、LiDARなどが前方監視装置に相当する。
状態取得部たるセンサ30は、例えば、速度センサ、加速度センサ、ヨーレートセンサ(広義にはジャイロセンサ)、舵角センサ、照度センサ、測位センサ(例えばGPS受信機)30aを含んでいる。上記した各センサは、例えば次のような車両状態を取得する。取得された車両の状態を示す情報はメモリ80に格納される。
速度センサは車両の速度を取得する。加速度センサは車両の進行方向および進行方向に直交する方向の加速度を取得する。ヨーレートセンサは車両に作用するヨーレートを取得する。舵角センサはステアリングの舵角を取得する。照度センサは車両周辺の明るさを取得する。測位センサ30aとしてのGPS受信機は、車両の現在位置を示す座標情報(緯度、経度、高度)を逐次取得及び出力する。なお、GPS受信機は、GPSドップラー速度や、捕捉している測位衛星の数や仰角、疑似距離、受信した衛星信号のSN比、補正情報の利用の有無等のデータを出力するように構成されていてもよい。仰角やSN比、補正情報の利用状況といった情報は測位結果の精度を表す指標に相当する。なお、ここでは一例としてGNSS(Global Navigation Satellite System)としてGPSを用いる態様を開示しているが、車両が利用するGNSSは、GLONASSや、BeiDou、Galileo、IRNSSなどであってもよい。
また、例えば車両が走行している道路の舗装状態や起伏、橋梁とその他道路などのジョイントなどを、車両の振動を検出するセンサ等により検出することもできる。これら、道路の舗装状態や起伏、ジョイントなども、地図上での位置を特定するためのランドマーク63として採用することができる。
主プロセッサ40は、上記した画像プロセッサ20およびセンサ30と通信可能に接続されており、画像プロセッサ20およびセンサ30から入力された各種情報を演算、処理している。主プロセッサ40は、例えば、車両の速度、加速度、ヨーレートに基づいて車両が走行すると予測される走行軌道を生成する。つまり、主プロセッサ40は自動運転用の走行計画(いわゆるパスプラン)を生成する。パスプランには、走行軌道を設定するだけでなく、各時点におけるステアリング制御量や、目標車速、乗員への運転権限の移譲タイミングを決定することも含まれる。なお、ヨーレートや、前後方向の加速度、横方向加速度は、画像プロセッサ20がSfM技術を用いてカメラ10の撮像画像から検出した値が使用されてもよい。例えば主プロセッサ40は、画像プロセッサ20にてヨーレートを検出できない場合には、センサ30としてのヨーレートセンサの出力値を使用するように構成されていてもよい。一般的にカメラの撮像画像から定まるヨーレートのほうが、ヨーレートセンサにて検出されるヨーレートよりも精度が良い。故に、主プロセッサ40はヨーレートとして、画像プロセッサ20にて検出された値を使用することによって、例えばデッドレコニングの精度を高めることができる。もちろん、画像解析に基づくヨーレートと、センサ30由来のヨーレートとは、相補的に組み合わせて使用されてもよい。また、主プロセッサ40は、後述するデッドレコニングまたはローカライズによって特定した自車位置の履歴をもとに、実際に走行した軌道を示す走行履歴を生成する。
また、主プロセッサ40は、カメラ10により取得された画像に基づいて検出されたレーンマークに基づいて走路の軌道(具体的には曲率や幅員等の形状データ)を生成する。さらに、主プロセッサ40は、画像プロセッサ20により抽出されたランドマーク63や、レーンマークといった地物のグローバル座標系における位置座標(以降、観測座標とも記載)を算出する。
地物の位置座標は、自車両の現在位置と、自車両に対する地物の相対位置情報とを組み合わせることで、特定されればよい。自車両に対する地物の相対位置(距離および方向)は、画像内における地物の大きさや姿勢(たとえば傾き度合い)に基づいて特定されればよい。主プロセッサ40は、例えば、GPSによりグローバル座標系において車両の初期座標を大まかに推定する。そして、車両の速度ベクトルの積分により計算される車両の初期座標からの相対座標を推定する。これにより、車両の大まかな現在位置がグローバル座標系で得られる。さらに、ランドマークやレーンマークといった地物の車両からの相対距離および方位を、SfM(Structure from Motion)情報を含む画像から演算する。これにより、ランドマーク等の地物が存在する位置のグローバル座標が得られる。ランドマークの車両からの相対距離および方位は、図示しないミリ波レーダやレーザレーダの情報を用いて算出しても良い。なお、地物の座標演算は画像プロセッサ20にて実行されてもよい。
主プロセッサ40が演算、処理、又は取得した結果としての地物情報や走路情報はメモリ80に一時的に保持される。地物情報とは、画像認識によって特定された地物の位置座標や形状、大きさを示す情報である。メモリ80において各地物は、例えば、地物の輪郭に沿うように配置された座標点群によって表現される。地物の形状および位置の表現形式としては、多様な態様を採用可能である。例えば地物の形状や位置は多項式表現されていてもよい。
なお、地物情報は、ランドマーク情報と、レーンマーク情報とに大別可能である。ランドマーク情報には、ランドマークの種別や、座標情報、色、大きさ、形状などを含まれる。ランドマークの種別としては、看板、信号、標識、ポール、横断歩道、路面標示(例えば停止線)、マンホールなどを採用可能である。また、レーンマークをランドマークとして採用することもできる。レーンマーク情報には、例えば、レーンマークの位置情報や、レーンマークが実線、破線、ボッツドッツのいずれのパターンによって実現されているかを示す情報が含まれている。レーンマークの位置情報は、レーンマークが形成されている地点の座標群(つまり点群)として表現されている。なお、他の態様としてレーンマークの位置情報は、多項式表現されていてもよい。レーンマークの位置情報は、多項式表現された線分の集合体(つまり線群)でもよい。
また、主プロセッサ40は、地図活用および地図更新(または生成)に係る種々の処理を実行する。地図更新に係る処理として、主プロセッサ40は、例えば、地図情報のダウンロードやプローブデータのアップロード、ローカライズに使用するランドマークの選別などを実行する。地図活用および地図更新(または生成)に係る種々の処理について、いくつかの具体的な例は追って詳述する。
通信モジュール50は、主プロセッサ40と後述するサーバ3とが相互に通信可能になるように、主プロセッサ40とサーバ3との間に介在している。通信モジュール50は、主プロセッサ40から入力されたプローブデータをサーバ3に送信する。また、通信モジュール50は、サーバ3に蓄積された地図情報、および関連する情報を受信し、メモリ80に格納する。主プロセッサ40は、通信モジュール50を介して受信され、メモリ80に格納された地図情報に基づいて、車両のステアリング制御や加速、制動などの各種制御を実行可能に構成されている。
HMI60は、各種の情報をユーザに通知したり、ユーザが所定の操作を車両に伝達したりするためのユーザインタフェースである。HMI60としては、例えばカーナビゲーション装置に付属するディスプレイ、インストルメントパネルに内蔵されたディスプレイ、ウインドシールドに投影されるヘッドアップディスプレイ、マイク、スピーカ等を採用可能である。さらには、車両と通信可能に接続されたスマートフォン等のモバイル端末も地図システム1内のHMI60になりえる。
ユーザはHMI60に表示される情報を視覚的に得るほか、音声や警告音、振動によっても情報を得ることができる。また、ユーザは、ディスプレイのタッチ操作や音声により車両に対して所望の動作を要求することができる。
例えば、ユーザが地図情報を活用して自動ステアリング等の高度運転支援のサービスを受けようとするとき、ユーザはHMI60を介して該機能を有効化する。例えば、ディスプレイ上に示された「地図連携」ボタンをタップすると地図活用機能が有効化され、地図情報のダウンロードが開始される。別の例では、音声にて命令を与えることにより地図活用の機能が有効化される。なお、地図更新に係る地図情報のアップロードについては、車両とサーバ3との通信が確立されている間常時実行されていても良いし、「地図連携」ボタンをタップして地図活用の機能が有効化されている間に実行されるようにされても良い。ユーザの意思を反映する別のUIによって有効化されても良い。
アクチュエータ70は、例えば制動装置(いわゆるブレーキアクチュエータ)や、電子スロットル、操舵アクチュエータなどを含む。アクチュエータ70は、車両の加速、減速、及び操舵の少なくとも何れかに係るハードウェア要素である。
メモリ80は、例えばRAM等の揮発性メモリを用いて実現されている。メモリ80は、フラッシュメモリ等の不揮発性メモリを用いて実現されていてもよい。メモリ80は、揮発性メモリと不揮発性メモリの両方を備えていてもよい。ここでは一例としてメモリ80は、揮発性メモリを用いてなる一時記憶部81と、不揮発性メモリを用いてなるストレージ部82とを備えるものとする。ストレージ部82には、主プロセッサ40にプローブデータの生成等の処理を実行させるためのプログラム(以降、車両用プログラム)が格納されている。車両用プログラムは、非遷移的実体的な記憶媒体に格納されていればよい。
[ローカライズについて]
主プロセッサ40は、リアルタイムに撮像された画像に基づいて算出されたランドマークの座標と、サーバ3からダウンロードした地図情報に含まれるランドマークの座標とを照合して自車両の詳細位置を特定(つまりローカライズ)する。
例えば主プロセッサ40は、方面看板、信号機、道路標識、停止線といったランドマークを用いて縦方向のローカライズを行う。ここでの縦方向とは、車両の前後方向に相当する。また、縦方向とは、直線道路区間においては、自車両から見て道路が伸びる方向(以降、道路延設方向とも記載)に相当する。縦方向のローカライズとは、道路延設方向における自車位置を特定する処理に相当する。例えば画像解析結果として、自車両正面に存在する方面看板までの距離が100mと特定している状況においては、地図データに登録されている当該方面看板の位置座標から100mだけ自車両側にずれた位置に自車両が存在すると判定する。このような縦方向のローカライズを行うことにより、交差点や、カーブ入口/出口、トンネル入口/出口、渋滞の最後尾などといった、道路上の特徴点(換言すればPOI)までの詳細な残り距離が特定される。
また、主プロセッサ40は、レーンマーク、道路端、ガードレールなどのランドマークを用いて、横方向のローカライズを行う。横方向のローカライズとは、走行車線の特定や、走行車線内での自車両の詳細位置(車線中央から左右方向へのオフセット量)を特定することを指す。ここでの横方向とは、車幅方向や道路の幅方向を指す。横方向のローカライズは、例えば画像プロセッサ20で認識された左右の道路端/区画線からの距離に基づいて実現される。例えば、画像解析の結果として、左側道路端から車両中心までの距離が1.75mと特定されている場合には、左側道路端の座標から右側に1.75mずれた位置に自車両が存在すると判定する。ローカライズの結果としての自車位置は、地図データと同様の座標系(例えば緯度、経度、高度)で表現されればよい。自車位置情報は、例えばWGS84(World Geodetic System 1984)など、任意の絶対座標系で表現することができる。また、自車位置情報は、後述するマップタイル内での位置を示す局所座標系で表現されてもよい。
ここでは一例として、縦方向のローカライズに用いるランドマークの種別と、横方向のローカライズに用いるランドマークの種別とは異なるものとする。ただし、他の態様として主プロセッサ40は1つのランドマークを用いて縦方向と横方向のローカライズを行うように構成されていてもよい。また、複数のランドマークを検出している場合には、自車両から最も近いランドマークを用いてローカライズを行えばよい。例えば主プロセッサ40は、自車両に前方に複数のランドマーク(例えば方面看板)を検出している場合には、それら複数のランドマークのうち自車両から最も近いものを用いて縦方向のローカライズを行う。画像等に基づく物体の種別や距離の認識精度は、車両から近い物体ほど、その認識精度が高くなる。つまり、複数のランドマークを検出している場合には、車両から最も近いランドマークを用いてローカライズを行う構成によれば、位置の推定精度を高めることができる。
主プロセッサ40は、ランドマークを検出(換言すれば捕捉)できている限りは、所定の位置算出間隔で逐次ローカライズを行う。位置算出間隔は例えば100ミリ秒である。位置算出間隔は200ミリ秒や400ミリ秒であってもよい。位置算出間隔は、自車両が走行している道路(以降、走行路)の種別や、車速、外部環境に応じて動的に変更されてもよい。例えば、カーブや交差点までの残り距離が0.5km以内となる道路区間を走行している場合には、所定の標準間隔(例えば200ミリ秒)よりも短い値(例えば100ミリ秒)に設定されてもよい。カーブや交差点付近では、それらの地物に対する自車両の位置情報を高精度に維持する必要がある。カーブや交差点といった、相対的に高度/精密な車両制御(例えばステアリング制御)を実施するシーンにおいて、位置算出間隔を密に設定することにより、自車位置情報の精度を高めることが可能となる。つまり、位置算出間隔を密にするモードを備えることにより、カーブ等の相対的に高度/精密な車両制御を実施するシーンにおいて、自車位置情報に基づく車両制御をより適正に実施可能となる。他方、位置算出間隔を疎にするモードを備えることにより、主プロセッサ40の処理負荷を低減可能となる。
なお、主プロセッサ40は、ユーザによって地図活用機能が有効化されてあって、かつ、現在位置付近の詳細地図データを取得できている場合に、ローカライズを逐次実施する。主プロセッサ40がローカライズを実施するか否かは、走行路の種別に応じて変更されてもよい。たとえば走行路が自動車専用道路である場合にはローカライズを実施する一方、走行路が一般道路である場合にはローカライズを実施しないように構成されていてもよい。ここでの自動車専用道路とは、歩行者の進入が原則的に禁止されている道路であって、例えば高速道路などの有料道路が含まれる。自動車用道路には、自動車以外の交通が禁止されている一般道路も含まれる。主プロセッサ40によるローカライズの実行/不実行は、地図データの整備状態や走行路の種別等に基づいて、主プロセッサ40が判断してもよいし、サーバ3によって制御されてもよい。
主プロセッサ40は、ローカライズを実施できない場合(例えばランドマークを1つも検出できていない場合)や、地図活用機能が有効化されていない場合には、ヨーレートと車速を用いてデッドレコニング(Dead Reckoning /自律航法)を行う。デッドレコニングに用いるヨーレートは、SfM技術を用いて画像プロセッサ20で認識されたものでもよいし、ヨーレートセンサで検出されたものでもよい。
主プロセッサ40は、ローカライズあるいはデッドレコニングにより特定した自車両の現在位置と地図データに基づいて、主プロセッサ40が車両に搭載されたハードウェアを動作させるためのアクチュエータ70に対して対応する命令を出力する。これにより、自動運転や運転支援が実現される。なお、主プロセッサ40は、主プロセッサ40自身又は他のECU(例えば自動運転ECU)が生成した走行計画に従って、方向指示器やハザードランプ、ヘッドライトなどのランプの点灯制御も行う。
[地図活用による車両制御の例]
主プロセッサ40は、現在位置よりも一定距離(例えば200m)先にある料金所等のPOI情報を地図データから取得することにより、車線変更や減速などの車両制御を、余裕をもって(換言すればより安全に)実行可能となる。ここでのPOIとは、車両の制御やパスプランの観点において注目されるべき地点を指す。たとえば、カーブ入口/出口、トンネル入口/出口、渋滞の先頭および最後尾などといった、車両の走行制御に影響を及ぼす地図要素がPOIに含まれる。POIには静的地図情報に該当する静的POIと、動的地図情報に該当する動的POIが含まれる。動的POIとは、渋滞の最後尾位置や、先頭位置を指す。
ここでは一例として、地図データを用いて車両を自動走行させる場合を例にとって地図活用の有用性を説明する。なお、車両の自動制御に係るアプリケーション(以降、アプリとも記載)としては、ACCがある。ACCは、Adaptive Cruise Controlの略であって、車両の走行速度が所定の上限値を超えない範囲において、先行車との車間距離が一定となるように車両を自動的に走行させる機能を指す。また、車両の自動制御に係るアプリ(以降、車両制御アプリとも記載)には、レーン中心を維持するように車両を走行させるアプリ(以降、車線維持アプリ)や、車線変更に係る操作を支援又は自動的に実行する機能(以降、車線変更アプリ)などがある。
例えば、車線維持アプリにおいては、車両前方のレーン形状(曲率など)を事前に把握して操舵量を調整する必要がある。しかしながら、前方がブラインドコーナーとなっている場合や前方車両によって視界が遮られている場合には、カメラ10では前方のレーン形状を認識不可能なことがある。また、雨や雪等で前方の見通しが悪くなる気象状況により、カメラ10で前方のレーン形状が認識困難な場合もある。これらのような場合に、地図データを用いて前方道路の曲率を取得し、カメラ10の認識結果を補完することにより、車線維持アプリが中断してしまう恐れを低減できる(換言すれば継続させることができる)。
また、ACCにおいては、車両前方道路の曲率などを事前に把握して速度を調整する必要がある。例えば、車両がカーブを円滑、安全に走行可能なように、カーブ手前で所定の目標速度まで減速する制御を実行することがある。しかしながら、上述の通り、先行車両や気象条件、道路形状によっては、カメラ10で前方のレーン形状が認識困難な場合もある。そのような課題に対し、地図データを用いて前方道路の曲率を事前に取得する構成によれば、カメラ10にて前方道路の曲率を検出できない場合においても、車両がカーブ区間に進入するまでに、前方カーブの曲率に応じた目標速度まで自動的に減速することが可能となる。
さらに、ACC機能がオンとなっている場合には、先行車の速度に合わせて、所定の目標速度よりも低速度で走行している場合がある。そのような状況下において、先行車が車線変更等で不在となった場合(換言すれば先行車が自車前方から離脱した場合)には、ACC機能は通常、所定の目標速度まで加速するように作動する。しかし、料金所の手前や、高速道路の退出路など、先行車離脱に伴う加速が好ましくない区間も存在する。そのような事情に対し、地図活用機能によれば、地図データに基づいて現在位置が、加速が好ましい道路区間であるかを判別できる。仮に現在位置が料金所の手前(たとえば200m以内)である場合には、目標速度への加速をキャンセルできる。つまり、地図データを活用することにより、不要な加速を実施する恐れを低減できる。なお、ACC設定速度への加速が好ましくない区間とは、料金所付近や高速道路の退出路、交差点付近、急カーブなどを指す。
以上、種々の例を開示したが、地図活用による車両制御は以上に限定されない。また、地図データは運転席乗員(いわゆるドライバ)が運転権限をもっている状態においても有用である。現在位置よりも一定距離先にある渋滞等のPOI情報は、運転操作の支援情報としてドライバに報知されてもよい。
[主プロセッサによるプローブデータの生成について]
主プロセッサ40は、メモリ80に保持された走行軌道情報、走路情報、および地物情報を、含むデータセットをプローブデータとしてサーバ3に送信する。走行軌道情報は、自車両が走行した軌道を示す情報である。例えば走行軌道情報は、自車位置の点列として表現される。走路情報は、走行路の端部や中心線の軌道を示す情報である。走行路の端部等もまた、座標点群によって表現されればよい。走路情報は、直接的にまたは間接的に道路の曲率や幅員などの道路形状を示す。
具体的には、主プロセッサ40は、画像認識等によって得られる地物情報、走路情報、及び自車位置座標(以降、認識結果)を逐次取得し、取得時刻(換言すれば観測時刻)と対応づけてメモリ80に時系列順に保存していく。地物情報等の認識結果は、たとえば画像プロセッサ20から逐次(例えば100ミリ秒ごとに)提供される。地物情報は、主プロセッサ40が画像プロセッサ20との協働により逐次生成してもよい。
メモリ80に蓄積された各時刻における認識結果データは、所定のアップロード間隔でまとめてアップロードされる。アップロード間隔は、例えば画像認識処理の実行周期のK(Kは自然数)倍に設定されている。K≧2の場合には、主プロセッサ40は、メモリ80に保存されている一定時間以内の認識結果をパッケージ化したデータをプローブデータとしてアップロードする。ここでは一例として、K=4に設定されている。つまり、主プロセッサ40は、400ミリ秒以内の認識結果をパッケージ化したデータをプローブデータとしてアップロードする。なお、複数時点における車両位置を含むデータは、上述の走行軌道情報に相当する。
車両が順次送信したプローブデータは、サーバ3にて、所定の保存/管理形式で保存される。たとえばサーバ3は、同一の車両が順次送信したプローブデータは、所定数のランドマークを含む長さに連結して保存する。なお、プローブデータの長さは、道路セグメント単位であってもよい。道路セグメントは、地図データにおける道路の管理単位である。道路セグメントは道路を所定の規則で区切ったものである。道路セグメントは、例えば道路リンクに対応するものであってもよい。ここでの道路リンクとは、交差点や道路の終端点を示す道路ノード間を接続する道路区間を指す。あるいは、道路セグメントは、道路リンクをさらに細分化したものであってもよい。道路セグメントは、道路を所定の長さで(例えば10mごとに)区切ったものであってもよい。
ここでは一例として各車両(実態的には車載システム2)は、車両の走行軌道や道路端などを座標点列にて表現したデータをアップロードするものとするが、他の態様として走行軌道や道路端、車線中心線などは多項式表現されていても良い。また、車両位置情報の代わりに、主プロセッサ40がGPSによる測位結果、SfM情報、及び車速情報をアップロードし、サーバ3がそれらの情報をもとに各時点における車両位置を算出するように構成されていても良い。プローブデータに含まれる地物情報や走路軌道情報は、1つの側面においては、サーバ3が静的地図を生成するための情報(以降、静的情報)に相当する。
その他、プローブデータは、直近一定時間以内における車速や、舵角、ヨーレート、ウインカー作動情報、レーンID、レーンに対する相対位置などといった、車両の挙動を示す動的情報(以降、車両挙動情報)を含んでいてもよい。車両挙動情報には、ワイパー作動情報、シフトポジション、車体の向き、車体のピッチ角、ロール角、先行車両との車間距離なども含まれる。レーンに対する相対位置情報とは、車線中心線に対する左右へのオフセット量や、レーンを車体がまたいでいるかなどを指す。
なお、サーバ3は、車両挙動情報を取得することにより、例えば渋滞区間や、落下物や路上駐車車両などの障害物がある地点などといった、準動的地図情報に相当するPOI情報を取得することができる。例えばサーバ3は、車速が所定の閾値以下となっている車群の末尾を渋滞区間の最後尾として採用し、当該最後尾に相当する地点を渋滞に係る動的POIに設定する。また、車速が所定の閾値以下となっている車群の先頭位置を渋滞区間の先頭位置として採用し、当該先頭位置を動的POIに設定する。さらに、サーバ3は、一定台数(例えば10台)以上の車両が一時的にレーンをまたいで走行したり、車線変更したりしている地点を落下物や路上駐車車両などの障害物がある地点(以降、障害物存在地点)とみなす。そして、当該障害物存在地点を動的POIに設定する。
サーバ3に格納されている地図データは、概略的には例えば図2に示すように、道路の形状を3次スプライン曲線で表現した道路セグメント62と、道路セグメント62周辺に存在するランドマーク63とを含む。道路セグメント62およびランドマーク63は、緯度、経度および高度の値をそれぞれ有している。ランドマーク63は、例えば、交通標識などを含み、カメラ10や状態取得部たる各種センサ30によりリアルタイムに得られる情報のほか、すでに位置が確定しているものも統合的に地図上に構成されている。地図情報はリアルタイムに得られる情報に基づいて逐次更新される。
図3は、地図データの構造の一例を概念的に示したものである。地図データは、図3に示すように、道路ネットワークデータ、レーンネットワークデータ、地物データ、およびPOIデータを備える。各データは階層的に構成されている。道路ネットワークデータは、道路リンク毎のリンクID、リンク長、レーン数、及び接続ノード情報(例えばノードID)と、道路ノードごとのノードID、位置座標、接続リンク情報(例えばリンクID)と、を含む。レーンネットワークデータは、レーンID、レーンレベルでのリンクID、リンク長、及び接続ノード情報と、レーンノードごとのノードID、位置座標、接続リンク情報(例えばリンクID)と、を含む。レーンネットワークデータが備えるレーンレベルでのリンク情報は、道路ネットワークデータが備える道路リンクと対応付けられている。
地物データは、区画線データと、ランドマークデータとを備える。区画線データは、区画線ごとの区画線ID、及び、設置部分を表す座標点群を備える。区画線データは、破線や実線、道路鋲などといったパターン情報を含む。区画線データは、レーン情報(例えばレーンIDやレーンレベルでのリンクID)と対応付けられている。ランドマークデータは、ランドマークごとの位置及び種別を表す。各地物の形状および位置は、座標点群によって表現されている。POIデータは、高速道路の本線から退出するための分岐点や、合流地点、制限速度変化点、車線変更地点、渋滞区間、工事区間、交差点、トンネル、料金所などといった、車両の走行計画に影響を及ぼす地物の位置及び種別を示すデータである。POIデータは種別や位置情報を含む。
また、地図データは、走行軌道モデルを含んでいてもよい。走行軌道モデルは、複数の車両の走行軌跡を統計的に統合することで生成された軌道データである。走行軌道モデルは、たとえば車線ごとの走行軌跡を平均化したものである。走行軌道モデルは、自動運転時の基準となる走行軌道を示すデータに相当する。
地図データは、静的地図情報と動的地図情報とを含みうる。ここでの静的地図情報とは、道路網や、道路形状、路面表示、Xガードレールなどの構造物、建築物などといった、変化が生じにくい地物についての情報(例えば1週間~1ヶ月以内での更新が求められる地物についての情報)を指す。静的な地図情報は、ベース地図とも称される。動的地図情報とは、道路工事情報や、交通規制情報など、相対的に短期間で状態が変化する地図要素についての情報を指す。なお、動的地図情報は、状態の存続期間の期待値(換言すれば変化の速度)に応じて、準静的情報、準動的情報、及び秒単位で変化する動的情報(以降、超動的情報)に区分されうる。準静的情報は例えば1時間~数時間以内での更新が求められる情報である。道路工事情報や、交通規制情報、渋滞情報、広域気象情報が準静的情報に該当する。準動的情報は例えば10分単位での更新が求められる情報である。渋滞の最後尾位置、事故情報、狭域気象情報、道路上への落下物などが準動的情報に該当する。超動的情報には、例えば、車両や歩行者等の移動体の位置情報や、信号機の点灯状態などのITS(Intelligent Transport Systems)情報が含まれる。
ここでは一例として、地図システム1が取り扱う地図データは静的地図情報、準静的地図情報、及び準動的情報を含むものとする。もちろん、地図システム1が取り扱う地図情報は、静的地図情報だけであってもよい。また、超動的情報を含んでいてもよい。静的地図情報と動的地図情報とは別々に管理(更新及び配信)されるように構成されていてもよい。
サーバ3は、地図情報を格納するとともに、サーバ3に付随するサーバプロセッサ31により地図情報の更新を実施する。全地図収録地域に対応する全地図データは、複数のパッチに区分されて管理される。各パッチはそれぞれ異なる区域の地図データに相当する。なお、各パッチは隣接するパッチと対応地域が一部オーバーラップしていてもよい。
例えば地図データは、地図収録領域を2km四方の矩形状に分割したマップタイルの単位で格納されている。以降では便宜上、マップタイルが収録対象とする実空間範囲(矩形状の分割区域)のことも、単にマップタイルと記載する。サーバ3には複数のマップタイルが対応する緯度、経度および高度の情報とともに格納されている。各マップタイルには固有のID(以降、タイルID)が付与されている。マップタイルは前述のパッチの下位概念に相当する。
マップタイルの大きさは適宜変更可能であって、2km四方の矩形状に限定されない。1km四方や4km四方の矩形状であってもよい。また、マップタイルは、六角形や円形などであってもよい。各マップタイルは、隣接するマップタイルと部分的に重なるように設定されていてもよい。マップタイルの大きさはレイヤ別に異なっていてもよい。例えば、静的地図データのタイルサイズは2km四方とする一方、動的地図データ(特に準動的情報に関する地図データ)のタイルサイズは1km四方に設定されていてもよい。高速道路と一般道といった、道路種別に応じてタイルサイズは異なっていてもよい。一般道路のタイルサイズは、高速道路のタイルサイズに比べて小さく設定されていることが好ましい。また、一般道路も、幹線道路と細街路とで区別されてもよい。その場合、細街路のタイルサイズは幹線道路よりも小さく設定されていることが好ましい。地図収録領域は、車両が使用される国全体であってもよいし、一部のエリアだけであってもよい。例えば地図収録領域は、一般車両の自動運転が許可されているエリアや、自動運転移動サービスが提供される地域だけであっても良い。
また、ここでは一例としてサーバ3は地図収録地域を均一サイズの矩形状に分割したマップタイル単位で地図データを管理(生成、更新、配信)するものとするがこれに限らない。マップタイルの大きさ、形状は不均一であってもよい。つまり、各パッチが対応する現実世界の範囲(換言すれば収録対象とする範囲)であるパッチ対応エリアの大きさや形状は、一律であってもよいし、多様であってもよい。例えば、ランドマーク等の地図要素の存在密度が相対的に疎である可能性が高い田園部のマップタイルは、ランドマーク等の地図要素が密に存在する可能性が高い都市部のマップタイルよりも大きく設定されていてもよい。例えば、田園部のマップタイルは4km四方の矩形状とする一方、都市部のマップタイルは1kmや0.5km四方の矩形状としてもよい。ここでの都市部とは、例えば人口密度が所定値以上となっている地域や、オフィスや商業施設が集中している地域を指す。田園部は、都市部以外の地域とすることができる。田園部は、農村部と読み替えてもよい。なお、地域の分類態様は、都市部と田園部の2段階に限定されない。地図収録地域は、人口密度が高い順に都市部、地方部、田園部、過疎部の4段階に区分されてもよい。地域の分割基準としては、人口密度の他に、企業数や、行政が指定する地域の用途、土地の利用率なども採用することができる。地域の都会度合いは、複数の種類の指標は組み合わせて決定されてもよい。
加えて、全地図データの分割態様は、データサイズによって規定されていてもよい。換言すれば、地図収録地域は、データサイズによって規定される範囲で分割されて管理されてもよい。その場合、各パッチは、データ量が所定値未満となるように設定されている。そのような態様によれば、1回の配信におけるデータサイズを一定値以下とすることができる。なお、都市部のパッチが対応する実空間範囲は、田園部のサブブロックが対応する実空間範囲よりも狭くなることが想定される。前述の通り、都市部は田園部よりもランドマークやレーンマーク等の地図要素が密に存在することが見込まれるためである。
地図連携(換言すれば地図活用)機能がオンとなっている間、車両は、通行する道路が属するマップタイルの情報を逐次サーバ3から得つつ、ダウンロードした地図データに基づいて走行する。なお、車載システム2にダウンロードされた地図データの取り扱いについては、メモリ80の容量等を鑑みて、多様な規則を適用可能である。例えばメモリ80の容量が相対的に小さい場合、主プロセッサ40は自車両がすでに離脱したマップタイルの地図データは、離脱次第あるいは所定距離以上離れたタイミングで削除するように構成されていてもよい。そのような構成によれば、容量の小さいメモリ80を用いて車載システム2を実現できる。すなわち、車載システム2の導入コストを低減することができる。
また、メモリ80にダウンロードされた地図データは、ダウンロードされた時点から所定時間(例えば1日)経過したタイミングで削除するように構成されていてもよい。通勤路や通学路など、日常的に使用する道路についての地図データについては、可能な限り(例えば空き容量が所定値以下とならない限りは)メモリ80にキャッシュするように構成されていてよい。ダウンロードされた地図データの保存期間は、データの属性に応じて変更されてもよい。例えば静的地図データについては一定量までストレージ部82に保存する。一方、例えば工事情報などの動的地図データについては、ストレージ部82に保存せずに、当該動的地図データに対応する地域を通過したタイミングで一時記憶部81から削除するように構成されていてもよい。
ここでは一例として、少なくとも走行用電源がオフになったタイミングでメモリ80内の地図データは全て削除されるように構成されているものとする。ここでの走行用電源とは、車両が走行するための電源であって、車両がガソリン車である場合にはイグニッション電源を指す。また、車両が電気自動車やハイブリッドカーである場合には、システムメインリレーを指す。
[プローブデータのアップロード制御について]
地図システム1は、車両が収集した地図に関する情報を地図システム1に含まれるサーバ3にアップロードし、サーバ3に格納された地図情報が更新できるようになっている。アップロードは、通常、所定の頻度で実行されている。例えば通常のアップロード間隔としては400ミリ秒間隔に設定されている。もちろん、アップロード間隔は、200ミリ秒や、500ミリ秒、1秒、2秒などであってもよい。ただし、主プロセッサ40は、所定の条件下においては、プローブデータのアップロードを停止したり、その頻度を低減したり、アップロードする情報の種別を絞る動作モードを備えていてもよい。以下では、主プロセッサ40がアップロードを通常頻度で実行する通常モードに加えて、通常頻度よりもアップロードの頻度を低下させた低頻度モードを有している態様について図4を参照して説明する。図4は、主プロセッサ40が実行する処理フローの一例を示している。なお、通常モードが第1モードに相当するとともに、低頻度モードが第2モードに相当する。
図4に示すように、まず、ステップS100が実行される。ステップS100は、主プロセッサ40がGPSによる測位結果の情報に基づいて、自車両の大まかな位置を決定するステップである。
次に、ステップS101が実行される。ステップS101は、主プロセッサ40がサーバ3から、自車両の大まかな位置に対応した地図情報をダウンロードするステップである。自車両の大まかな位置に対応した地図情報の決定及び取得に関しては別途後述する。
次に、ステップS102が実行される。ステップS102は、主プロセッサ40が自車両の詳細な位置を決定するステップである。自車両の詳細な位置とは、地球上における緯度、経度および高度を含むグローバル座標である。主プロセッサ40は、例えばGPSを利用した大まかな位置情報とともに、サーバ3からダウンロードされた地図情報に基づいて自車両の詳細なグローバル座標を決定する。
次に、ステップS103が実行される。ステップS103は、自車両の置かれた状況が所定の低頻度条件を満たすか否かを判定するステップである。具体的には、自車両の位置が予め決められた所定の低頻度区域に存在しているか否かを主プロセッサ40が判定するステップである。すなわち、図4に示す例における低頻度条件は、自車両の位置が予め決められた所定の低頻度区域に存在しているか否か、である。
自車両の置かれた状況が所定の低頻度条件を満たす、すなわち、自車両の位置が予め決められた所定の低頻度区域に存在しているときには、ステップS103はYES判定となり、ステップS104に進む。低頻度区域は、図5に示すように、地図上において予め設定されている。低頻度区域は、道路セグメント62に沿った線として設定されていても良いし、図5に例示したように所定の面積を持った面として設定されても良い。
一方、自車両の置かれた状況が所定の低頻度条件を満たさない場合には、ステップS105に進む。ステップS105はアップロードの頻度を通常の頻度で行う通常頻度モードである。
上記のとおり、自車両の位置が予め決められた所定の低頻度区域に存在しているときにはステップS104に進み、図4に示す通り、地図システム1は低頻度モードとなる。ステップS104またはステップS105を経て、ステップS106に進む。ステップS106は、地図情報を含むプローブデータをサーバ3に送信するステップである。ステップS104またはステップS105において設定されたプローブデータのアップロードに係る頻度モードに応じて所定の頻度でプローブデータをサーバ3にアップロードする。その後、本フローは終了する。
以下、低頻度モードについて詳しく説明する。低頻度モードが有効にされている場合には、通常頻度モードに較べて通信モジュール50とサーバ3との間の地図情報に関する通信データ量が減少する。よって、回線の負荷を低減できるとともに、通信に係るコストを低減することができる。
低頻度区域とは、例えば、都市部の幹線道路など、自車両の周囲に数多くの別の他車両が存在し、サーバ3に対して多くの他車両から十分な量の地図情報がアップロードされうる環境にあるような区域である。このような区域では、他車両からの地図情報のアップロードが多量に行われるため、自車両のアップロード頻度を低減しても、地図情報の更新のための十分な情報量を確保することができる。
また、別の例では、例えば自動車専用道路など、交通標識や道路標示等のランドマーク63の変更頻度の比較的低い区域である。このような区域では、道路上および道路近傍のハードウェアとしてのランドマーク63の更新自体が低頻度であると予想されるため、自車両のアップロード頻度を低減しても、地図情報の更新のための十分な情報量を確保することができる。
さらに、低頻度モードにおいて、アップロードの頻度をゼロにすることもできる。アップロードの頻度がゼロである状態とは、すなわちサーバ3への地図情報のアップロードを実質的に禁止する状態であり、特に禁止モードと称する。つまり、低頻度モードは禁止モードを含む。
禁止モードが有効になる低頻度区域である禁止区域は、例えば、軍事施設や企業内施設等の機密性の高い施設や、サファリパークのような車両で走行可能な道路を有しつつも自動ステアリングによる操舵の対象として相応しくない施設における区域である。このような禁止区域では、車両からサーバ3への地図情報のアップロードが禁止され、サーバ3においても地図は生成されない。よって、車両制御のためのダウンロードも行われない。
低頻度モードが有効にされる所定条件について、上記した例では、自車両の位置が予め決められた所定の低頻度区域に存在しているか否か、を採用したが、別の条件を設定することもできる。
例えば、夜間において通常頻度モードから低頻度モードに移行しても良い。夜間は昼間に較べてカメラ10により交通標識や道路標示を認識することが困難になりがちであり、ランドマーク63の位置の決定の信頼性が昼間に較べて低下する。そのため、サーバ3へのランドマーク63の位置情報のアップロードの頻度を低下させることが好ましい場合がある。なお、夜間やそれに準じた低照度の環境下に車両が置かれる時刻帯を予め設定しておき、その時刻帯においてはアップロードの頻度を低頻度モードとすると良い。また、季節が存在する地域においては、夜間として定義される時刻帯が季節により異なるため、季節に対応して夜間として定義する時刻帯を可変とすることが好ましい。例えば、白夜のある地域においては夜間の時刻帯が比較的短く、車両の周辺環境が極端に低照度になる機会が少ない。このような地域では、低頻度モードが有効になる時間も短くなる。
さらに、車両が走行する地域の気象条件に基づいて通常頻度モードから低頻度モードに移行しても良い。例えば豪雨や豪雪、濃霧、砂嵐などの悪天候時には交通標識や道路標示を認識することが困難になりがちであり、ランドマーク63の位置の決定の信頼性が晴天に較べて低下する。そのため、サーバ3へのランドマーク63の位置情報のアップロードの頻度を低下させることが好ましい場合がある。なお、車両がどのような気象条件下にあるかを判断する方法として、例えば、カメラ10が撮像した画像を用いて道路面の反射率を計測したり、画像のコントラストに基づいた天候の判定を実施したりすることができる。また、公的な機関が公開する情報に基づいて、豪雨や豪雪、濃霧、砂嵐などの所定の気象条件を満たす地域をリアルタイムに低頻度区域に指定しても良い。なお、低頻度区域の設定自体を、気象条件や時間帯、サーバ3でのプローブデータの収集状況(換言すれば集まり度合い)に応じて動的に変更してもよい。悪天候時や、夜間、プローブデータが十分に収集されている場合には、低頻度区域ではない区域(以降、通常区域)も低頻度区域に設定されてもよい。区域の設定変更は、サーバ3が実施してもよいし、車両が実施してもよい。
さらに、主プロセッサ40や画像プロセッサ20の使用年数(換言すれば総稼働時間)に基づいて、アップロードの頻度を段階的に減少させるように構成しても良い。主プロセッサ40や画像プロセッサ20の性能は日々進化しており、より新しいプロセッサほど画像処理やアップロードに係る時間が短く、かつ高精度に行えると推察される。よって、プロセッサの使用年数が長くなるほど、地図情報のアップロードの頻度を少なくすると良い。逆に、使用年数が短いプロセッサに積極的に地図情報をアップロードさせることで、効率的に地図情報の収集を行うことができる。
以上、走行区域や、気象条件、時間帯、画像プロセッサ20の使用年数に基づいて、プローブデータのアップロード頻度を変更する態様を開示したが、地図システム1は、次のように構成されていてもよい。主プロセッサ40は、動作モードとして、全送信モードと、抑制モードとを備える。全送信モードは、プローブデータとして送信するように予め指定されている全ての項目についての情報を含むデータセットをプローブデータとしてアップロードする動作モードに相当する。一方、抑制モードは、プローブデータとして、全送信モードにてアップロード対象に設定されている全ての項目のうちの一部のみをアップロードする動作モードである。全送信モードが所定の種別の地物をアップロード対象とする第1モードに相当し、抑制モードが、第1モードとしての全送信モードよりもアップロード対象とする地物の数が少ない第2モードに相当する。
抑制モードにおいてアップロードする情報の種別は、予め設定されていてもよいし、サーバ3によって指定されてもよい。抑制モードにて車両にアップロードさせる情報の種類は、例えば、地図データの生成/更新の観点において不足している項目とすることができる。なお、抑制モードにてアップロードする項目数は0であってもよい。抑制モードは禁止モードも含みうる。仮に全送信モードにてアップロード対象とする情報が、静的情報と動的情報の両方を含む場合には、抑制モードにてアップロード対象とする情報は動的情報だけであってもよい。
上記の構成においてサーバプロセッサ31は、所定のアップロード抑制区間に存在する車両に対しては、抑制モードで動作するように指示する。また、サーバプロセッサ31は、アップロード抑制区間以外の区間に存在する車両に対しては、全送信モードで動作するように指示する。各車両の主プロセッサ40は、サーバ3から指示された動作モードで動作する。
アップロード抑制区間は、例えば地図データを生成/更新するために必要十分な量のプローブデータを収集済みの道路セグメントとすればよい。当該設定によれば、サーバ3は、十分な量のプローブデータが集まっている道路セグメントを走行している車両に対しては抑制モードを指示し、動的情報だけをアップロードさせたり、一部の地物情報だけをアップロードさせたりすることができる。
また、アップロード抑制区間は、悪天候となっている道路セグメントであってもよい。当該設定によれば、精度の悪いプローブデータがアップロードされる恐れを低減できる。アップロード抑制区間は、プローブデータの集まり度合いや、時間帯、気象条件に応じて動的に変更されてもよい。アップロード抑制区間はサーバプロセッサ31によって決定されればよい。なお、サーバプロセッサ31は、決定したアップロード抑制区間の情報を車両に配信し、車両側にて、現在位置がアップロード抑制区間に該当するか否かを判断し、動作モードを決定してもよい。そのような構成によればサーバプロセッサ31が車両ごとに動作モードを指定する必要がなくなり、サーバプロセッサ31の処理負荷を低減できる。主プロセッサは、車両の走行区域、気象条件、及び時間帯の少なくとも何れか1つに基づいて、自発的に動作モードを切り替えるように構成されていてもよい。主プロセッサ40は、サーバ3からの指示、車両の走行区域、気象条件、及び時間帯の少なくとも何れか1つに基づいて第1モードから第2モードへ移行するように構成されていればよい。
抑制モードによれば、全送信モード時よりも報告対象とする情報種別が低減される。その結果、システム全体としては車両からサーバ3への通信量が低減できる。また、不要な項目についてのアップロードを抑制することができるため、通信設備のみならず、主プロセッサ40やサーバプロセッサ31の負荷を低減することができる。
その他、サーバプロセッサ31は、所定のアップロード抑制区間に複数の車両が存在する場合には、複数の車両のうちの任意の1つを送信担当車両に設定し、当該送信担当車両にのみ、プローブデータのアップロードを実施させてもよい。そのような構成によれば、アップロード抑制区間を走行している送信担当車両以外の車両はプローブデータをアップロードしない。ゆえに、システム全体としては、車両からサーバ3へのデータ通信量を低減することができる。
なお、送信担当車両は、例えば、先行車両との車間距離が十分に空いている車両や、トラック等の背の高い車などとすればよい。これらの車両によれば、地物情報を認識しやすい。故に、品質の良い地物情報を効率よく収集することができる。また、送信担当車両は、1つの群を構成する複数の車両(以降、車両群)のなかで、先頭車両に相当する車両や、最も物体認識性能が良い画像プロセッサ20を使用している車両、GPSによる測位精度が最も高い車両などであってもよい。送信担当車両は、各車両から逐次報告されてくる位置情報に基づいて、サーバ3が決定すればよい。もちろん、他の態様として、送信担当車両各車両が車車間通信によって情報を共有することにより決定されてもよい。なお、サーバ3が送信担当車両を指名する構成においては、前提として、各車両は、位置情報や、画像プロセッサ20の性能、GPSの測位精度を示す情報等の車両情報をサーバ3に逐次報告するように構成されているものとする。以上の構成によっても、車両からサーバ3へのデータ通信量を低減することができる。車両群は、車線ごとに設定されることが好ましい。車間距離が所定の閾値未満となっている集合を1つの車両群に設定することができる。上記構成は、サーバ3が動作モードとして、道路セグメント上に位置する全ての車両に対してプローブデータを送信させる収集モードと、一部の車両に対してはプローブデータの送信を要求しないセーブモードと、を備える構成に相当する。
サーバ3の動作モードは、道路セグメントごと又はマップタイルごとに異なり得る。各道路セグメント/マップタイルに対するサーバ3の動作モードは、当該道路セグメント/マップタイルに対するプローブデータの収集状況に応じて決定されればよい。例えばサーバ3は、プローブデータが不足している道路セグメントに対しては収集モードで動作する一方、必要十分な量のデータが集まっている道路セグメントに対してはセーブモードで動作すればよい。なお、サーバ3は、マップタイル単位で地図データを更新してもよいし、道路セグメント単位で地図データの更新を行っても良い。仮にマップタイル単位で地図更新を行う場合には、上述したアップロード抑制区間の概念は、マップタイルの概念へと拡張されればよい。つまり、アップロード抑制区間に相当するアップロード抑制タイルを適宜設定すればよい。各車両はアップロード抑制タイルに存在することに基づいて抑制モードで動作するように構成されていればよい。
[地図生成処理について]
図6~図8を参照して、通信モジュール50を介してサーバ3に送信されたプローブデータに基づいて、サーバプロセッサ31が地図を生成する際のフローの一例を説明する。
あるマップタイルに対応する地域を走行する車両があり、当該車両は地図システム1を構成しているとする。すなわち、車両に搭載されたカメラ10により車両の環境を表す少なくとも1つの画像が取得され、画像に含まれるランドマークのグローバル座標が算出されてサーバ3にアップロードされる。
図6に示すように、まずステップS200が実行される。ステップS200は、サーバ3を構成するサーバプロセッサ31が、プローブデータを取得するステップである。サーバプロセッサ31は、同一のマップタイル上を走行する複数の車両からプローブデータをそれぞれ取得する。すなわち、サーバプロセッサ31は、1つのランドマークに対して複数の座標データを取得することになる。なお、サーバ3には複数の車両からプローブデータが逐次アップロードされてくる。サーバプロセッサ31は、各車両から提供されたプローブデータを、提供元ごとに、所定の長さに連結又は分割した状態で保存する。
次に、ステップS201が実行される。ステップS201は、サーバプロセッサ31が各ランドマークに対して座標の分散を算出し、算出された分散が所定の閾値よりも大きいか否かを判定するステップである。分散は緯度、経度、高度のそれぞれの座標に対して計算され、それぞれが予め指定された閾値と比較される。サーバプロセッサ31は、図7に示すように、複数の車両から受信したプローブデータに基づいて各ランドマーク63の分散σ2を算出する。図7に示す例では、マップタイルに4つのランドマーク63a~63dが存在し、各ランドマークに対して、σa
2、σb
2、σc
2、σd
2、を算出する。
ステップS201において、すべてのランドマーク63の座標の分散が所定の閾値以下の場合には本ステップはNO判定となり、ステップS202に進む。
ステップS202は、サーバプロセッサ31が、各ランドマーク63の座標を統計的に算出するステップである。各ランドマーク63の座標の分散が所定の閾値以下とは、ランドマーク63の座標がある程度の精度で検出できていることを示している。つまり、後述のリファレンスマークを用いることなく各ランドマーク63の座標を統計的に算出しても、比較的高い精度で地図を生成できることを意味している。ステップS202では、複数の車両から受信したプローブデータを用いて、各ランドマーク63に対して、例えば平均を求める処理を行い、グローバル座標を算出する。そして、本フローは終了する。
一方、ステップS201において、少なくとも1つのランドマーク63の分散が所定の閾値より大きい場合には、YES判定となりステップS203に進む。ステップS203は、分散が所定の閾値よりも大きいランドマーク63について、高精度測位データが存在するか否かを判定するステップである。高精度測位データとは、例えばリアルタイムキネマティック(RTK)や精密単独測位(PPP)など、プローブデータとは異なる手法で測量された座標データである。高精度測位データは、レーザーレーダー(LiDAR)や光学カメラ、GNSS受信機、加速度センサなどを搭載した専用のモービルマッピングシステム車両や測位作業によって生成されたものを指す。以下、精密な測量によって確定された座標データをリファレンス座標と称する。また、リファレンス座標が付与されたランドマーク63をリファレンスマーク又は基準ランドマークと称する。リファレンスマークは、地上基準点(GCP:Ground Control Point)としての役割を担う。なお、リファレンスマークとしては、上記の高精度測位が実施されている地点である。例えば、規制標識や、案内標識などといった交通標識に相当する看板や、高速道路の料金所、高速道路と一般道路の接続点、ビル等の構造物の角部(エッジ)などをリファレンスマークとして採用可能である。また、区画線の角部や、他の区画線との分岐/合流点、ガードレールの端部などの特徴点もリファレンスマークとして採用可能である。車線が増減する地点もまたリファレンスマークとして採用可能である。リファレンスマークは、固定された立体構造物であることが好ましい。ここでは一例として、案内標識など、路面よりも相対的に高い位置に配置されてあって、カメラ10が撮影しやすい位置に配置されている地物がリファレンスマークに設定されているものとする。以降では便宜上、リファレンスマーク以外の地物のことを通常地物とも記載する。
上記のように、ステップS203は、該当するランドマーク63にリファレンス座標が付与されているか否かを判定するステップである。ここで、例えば図7に示すランドマーク63bにリファレンス座標が存在すると仮定する(図8において、黒塗り三角マークで示す)。すなわち、ランドマーク63bがリファレンスマークである。リファレンスマークが存在する場合には、ステップS203はYES判定となり、ステップS204に進む。
ステップS204は、サーバプロセッサ31が、リファレンスマークとしてのランドマーク63bについて、カメラ10やセンサ30によりリアルタイムに測定された当該ランドマーク63bの座標を、リファレンス座標に一致させるステップである。ここでは、ランドマーク63bにリファレンス座標が存在すると仮定しているが、例えばリファレンス座標がXrefであるとする。リアルタイムに測定されたプローブデータ上のランドマーク63bの座標をXとすれば、座標Xを座標Xrefに一致させる。すなわち、Xref-Xだけ平行移動させる。この操作により、複数のプローブデータに記録されたすべてのリファレンスマークとしてのランドマーク63bの座標はXrefとなる。一方、図8に示すように、ランドマーク63bを除くその他のランドマーク63a,63c,63dの座標もXref-Xだけ平行移動される。なお、ここでは便宜上、座標を1次元として表現しているが、実際には緯度、経度、高度の3次元で計算される。
ステップS204の後、ステップS202が実行される。リファレンスマークとしてのランドマーク63bの座標はリファレンス座標に一致する。また、その他のランドマーク63a,63c,63dの座標は、例えば平均を求める処理を行い、グローバル座標を算出する。そして、本フローは終了する。
ステップS203において、リファレンスマークが存在しない場合には、ステップS205に進む。ステップS205は、サーバプロセッサ31が、リファレンスマークが無い旨のフラグを立てるステップである。閾値より大きな分散が算出されたランドマーク63に対して、フラグを立てることにより、高精度測位が必要である可能性を可視化することができる。その後、本フローは終了する。
上記のようなフローを採用することにより、地図システム1は、GPSおよびプローブデータの蓄積だけでは座標の精度が得られないランドマーク63に対して高精度測位データをリファレンス座標として用いることにより、高精度測位データを有しないその他のランドマーク63に対しても高精度に座標の算出を行うことができる。ひいては、該当するランドマーク63が属するマップタイルの精度を向上させることができる。
上記構成は、サーバの観点においては、複数の車両から、走行している道路セグメントについての情報と対応付けられた、複数の地図要素の観測座標を含むプローブデータを取得することと、リファレンスマークの観測座標が含まれているプローブデータに対しては、リファレンスマークとして定義されている地図要素の観測座標が当該リファレンスマークの絶対座標と一致または乖離度合いが最小となるように、当該プローブデータに含まれる地図要素の観測座標を補正することと、補正された地図要素の観測座標を統計処理することによって、地図要素の座標を決定することと、を実行する構成に相当する。
なお、以上では、ランドマーク情報を登録/更新する場合の処理について説明したが、上記の処理の対象は、例えばレーンマークなど、多様な地物(換言すれば地図要素)に適用可能である。サーバプロセッサ31は、図9に示すような手順にてランドマークや区画線などといった地物の座標情報を更新するように構成されていてもよい。なお、図9に示す処理(以降、地図データ更新処理)は、例えばマップタイルごとに定期的に実行されればよい。例えば図9に示す処理は、毎日深夜0時になったタイミングで実行される。もちろん、図9に示す処理は、処理対象とするマップタイルについてのプローブデータが所定数以上蓄積されたタイミングで実行されてもよい。地図データの更新は、道路セグメントごとに実施されてもよい。図9に示す地図データ更新処理は、ステップT201~T215を備える。
まず、ステップT201では、同一の道路セグメント上を走行する複数の車両から提供され、図示しないデータベースに保存されている複数のプローブデータを読み出してステップT202に移る。なお、複数のプローブデータが、同一の道路セグメントについてのプローブデータであるか否かは、プローブデータに収容されている移動軌跡情報やGPS座標情報に基づいて判断されればよい。
ステップT202では、ステップT201で抽出された複数のプローブデータのうちの任意の1つを選択してステップT203に移る。ステップT203では、選択されたプローブデータに含まれる種々の地物の座標情報に基づいて、対応する道路セグメントの地図データを抽出し、ステップT204に移る。
ステップT204では、ステップT203で読み出した地図データに基づいて、プローブデータに所定数(例えば3個)以上のリファレンスマークの情報が含まれているか否かを判定する。ここでの所定数は、後段の位置合わせ処理の都合上、3以上であることが好ましい。他の態様として、含まれているべきリファレンスマークの数は4や5などに設定されていてもよい。サーバプロセッサ31は一例としてプローブデータに3個以上のリファレンスマークの情報が含まれている場合には、ステップT205を実行する。一方、プローブデータに含まれているリファレンスマークが3つ未満である場合にはステップT207を実行する。ステップT205では、地図データとプローブデータとで共通しているリファレンスマーク(以降、共通リファレンスマーク)を設定して、ステップT206を実行する。
ステップT206では、共通リファレンスマークを用いて、プローブデータに対する位置合わせ処理を実施する。位置合わせ処理は、共通リファレンスマークの観測座標と地図登録座標とを用いて、プローブデータに含まれる種々の地物の観測位置座標を補正する処理である。ここでの地図登録座標とは、現行の(最新の)地図データに登録されている座標を指す。ここでの観測座標は、車両が算出した座標であって、プローブデータに記述されている座標を指す。
プローブデータの補正方法としては、ICP(Iterative Closest Point)方式を採用可能である。ICP方式とは、2つの点群が全体として最も整合するように、各点群の平行移動及び回転を繰り返す方式である。具体的には、片側の点群(以降、第1点群)の各点から、他方の点群(以降、第2点群)で最近傍の点を探索し対応付けるステップと、対応付けた点の差を最小化するように,各点群の座標系の位置姿勢を調整するステップとを備える。各点群を回転、並進移動させるベクトルの算出方法としては、SVD(Singular Value Decomposition)や、最急降下法などを採用可能である。SVDによれば、或る点群を目標点群(例えば第1点群と第2点群の平均点群)に近づけるための回転行列と並進ベクトルを求めることができる。また、最急降下法によれば、対応する点同士の距離の平均二乗誤差を表す関数の最小値を探索し、回転行列と並進ベクトルを求めることができる。
なお、プローブデータ中に含まれる地物の位置座標を、共通リファレンスマークの位置座標をもとに補正する方法は上記方法に限定されない。プローブデータの補正方法としては、別途出願した特願2018-163076号に記載の補正方法を採用してもよい。すなわち、共通リファレンスマークの観測座標の重心点(以降、第1重心点)を計算するとともに、複数の共通リファレンスマークを例えば最小二乗法により平面近似する。そして、その近似平面に対する法線ベクトル(以降、第1法線ベクトル)を計算する。また、サーバプロセッサ31は、共通リファレンスマークの地図登録座標の重心点(以降、第2重心点)を計算するとともに、それの共通リファレンスマークに対応する近似平面を算出する。そして、その平面に対する法線ベクトル(以降、第2法線ベクトル)を計算する。次に、第1重心点が第2重心点に一致するように、プローブデータ中の地物の位置座標を平行移動させる。加えて、第1法線ベクトルが第2法線ベクトルと一致するように、プローブデータ中の各地物の位置座標を回転移動させる。そして、共通リファレンスマークの誤差の二乗和が最小となるようにプローブデータ中の地物の位置座標を、第1重心点を通る第1法線ベクトル周りに回転移動させ、位置合わせ処理を終了する。
サーバプロセッサ31は、位置合わせ処理を終了することで、地物の位置や向きを補正したプローブデータを取得する。このような位置合わせ処理は、プローブデータに含まれる種々の地物の位置座標を、共通リファレンスマークの位置座標をもとに補正する処理に相当する。なお、或るリファレンスマークの観測座標と関連する通常地物の観測座標とは、同一の車両によって検出およびアップロードされた通常地物の観測座標を指す。換言すれば、或るリファレンスマークと関連する通常地物の観測座標とは、当該リファレンスマークの観測座標を提供した車両によって提供された通常地物の観測座標を指す。
ステップT207では、選択されているプローブデータに対する位置合わせ処理を省略して、ステップT208に移る。なお、プローブデータに含まれているリファレンスマークが3つ未満であるプローブデータは、後述する統合処理の対象から除外することが好ましい。あるいは、サーバプロセッサ31は、種々のプローブデータを、3または4以上のリファレンスマークを含む長さに分割/連結するように構成されていてもよい。ステップT209では、ステップT201で読み出されたプローブデータに、未処理のものが残っているかを判定する。未処理のプローブデータが残っている場合には、ステップT209に移り、任意の未処理のプローブデータに対してステップT203以降の処理を実行する。一方、未処理のプローブデータが存在しない場合には、ステップT210を実行する。
ステップT210では、補正されたプローブデータの統合処理を実施する。プローブデータの統合処理は、S201と同様に、地物の座標を統計的に算出する処理である。例えば、各地物の座標の分散を算出し、分散が所定の閾値未満である場合には、その中央値/平均値を当該地物の座標として採用する。また、分散が所定の閾値以上である地物に対しては、例えば検証フラグを立てる。検証フラグは、地図として登録するには不確かなデータであることを示すフラグに相当する。なお、サーバプロセッサ31はプローブデータの統合処理に際し、分散が所定の閾値以下となるように外れ値を除外した上でランドマークごとの座標を算出してもよい。また、統合処理における分散の評価は必須ではなく、省略されてもよい。以上の処理により、各地物の位置座標は、所定のリファレンスランドマークを用いて補正されたうえで、統計的に決定される。例えばサーバプロセッサ31は、各プローブデータに含まれるレーンマークの座標を、所定のリファレンスランドマークを用いて補正したうえで、複数の座標情報を統計処理することによってレーンマークの位置座標を決定する。
続くステップT211では、ステップT210で生成された、各地物の統計的な位置座標を示すデータ(以降、統合データ)と、地図データとを比較して、変化点を検出する。統合データそのもの、又は、統合データの内容を反映した地図データが仮地図データに相当する。ここでの変化点とは、統合データにおいて現行の地図データとは相違する部分であって、地物が移設、追加、または削除された可能性がある場所を指す。例えば、統合データに含まれる地物のうち、現行の地図データに対応するランドマークが存在するもの(つまり既存の地物)については、統計的に定まった位置座標と、地図データ中の位置座標のずれ量を算出する。そして、位置座標のずれ量が所定の誤差範囲を超えている場合には、移設の疑いがある地物として検出する。なお、ここでは一例として位置座標のずれ量が所定の誤差範囲(例えば3cm未満)である場合には、観測誤差とみなし、地図の変化点としては検出しない。そのような構成によれば観測誤差に起因して地図データの更新が頻繁に実行される恐れを低減できる。もちろん、他の態様として1cm以上のずれは変化点として検出するように構成されていてもよい。許容する誤差の大きさは適宜変更可能である。
また、統合データに含まれており且つ地図データに登録されていない地物については、新たに設けられた可能性がある地物として検出する。加えて、地図データに登録されてあって、且つ統合データに含まれていない地物については、削除された可能性がある地物として検出する。ステップT211での処理が完了すると、ステップT212を実行する。
ステップT212では、変化点の妥当性を判断する。変化点として検出された地物を検出しているプローブデータの数が所定の閾値以上である場合や、所定期間(例えば3日間)継続して検出されている場合には、当該変化点は一時的なものではなく、妥当性があるものと判断し、地図データに反映させる。また、変化点として、区画線の削除が検出されている場合には、その削除区間が例えば所定距離(例えば5m)未満であるか否かを判定する。区画線は、通常、連続に延設されるため、一部区間のみが削除される可能性は低い。また、区画線上に物体(車両や、水たまり、雪)が一時的に存在している場合には、当該区画線が検出されなくなる。つまり、削除区間が例えば所定距離未満である場合には、路上駐車や積雪、降雨などの一時的な事象によって、本来存在する区画線が検出されなくなっているだけである可能性が高い。上記の判定ロジックを導入することにより、実際には削除されていない区画線が、削除されたと誤判断する恐れを低減できる。ひいては、地図データの区画線情報を誤更新する恐れを低減できる。
なお、削除区間が所定距離以上である場合など、広範囲にわたって変化点が検出されている場合には、道路工事等によって変更されたもの(つまり妥当性がある)と判断すればよい。その他、変化点において、直近所定期間以内(例えば3日以内)に工事が行われたことを示す工事情報を、外部サーバから取得またはプローブデータから検出できている場合には、当該変化点は妥当性があるものと判断してもよい。上記の思想は、区画線に限らず、看板などの他の地物にも適用できる。妥当性があると判断した変化点については、地図データに反映させる(ステップT215)。また、妥当性がないと判断した変化点については、更新を保留にするか、検証フラグを立てるといった処置を施す。変化点の継続時間、規模、及び、当該変化点付近での工事情報の有無に基づいて、変化点の妥当性を判断する構成によれば、一時的な要因によって地図データの内容を誤って更新する恐れを低減できる。
以上では、プローブデータごとにリファレンスマークを用いて各地物の位置合わせをした上で、複数のプローブデータを統合し、種々の地物の位置座標を算出する態様を開示したが、地物の位置座標の算出手順はこれに限らない。プローブデータ単位での地物の座標補正を行わず、各地物の位置座標を統計的に算出してなる統合データを生成してから、各地物の座標情報をリファレンスマークに基づいて補正するように構成されていてもよい。
例えばサーバプロセッサ31は、ステップT201に相当するプローブデータの読み出し処理の次のステップとして、複数のプローブデータをもとに、S201やステップT210で言及した方法によって、地物ごとの座標を統計的に算出する。その際、サーバプロセッサ31は、分散が所定の閾値以下となるように、使用する観測データを調整するように構成されていてもよい。統計的に算出された座標が代表観測座標に相当する。代表観測座標は、複数の観測座標の平均値または中央値を指す。次に、サーバプロセッサ31は、統合プローブデータに含まれる種々のランドマークの代表観測座標を、リファレンスマークの座標情報をもとに補正する。補正の仕方は、ステップT206と同様の手法を援用することができる。そのような構成によっても、各地物の座標の精度を高くすることができる。
なお、走行軌道モデルを地図データとして生成及び配信する地図システム1においては、プローブデータに含まれる走行軌道データを、走行軌道モデルを生成するための地図要素として取り扱うように構成されていてもよい。例えばサーバプロセッサ31は、各車両の走行軌道を当該走行軌道に紐づけられているリファレンスマークを用いて補正したうえで、補正された複数の走行軌道データを統合処理することにより、走行軌道モデルを生成するように構成されていてもよい。リファレンスマークを用いて各走行軌道を補正したうえで統合し、走行軌道モデルを生成する構成によれば、より精度良い自動運転用の走行軌道を生成することが可能となる。もちろん、サーバプロセッサ31は、複数の車両の走行軌道を平均化してなる走行軌道モデルを生成してから、当該走行軌道モデルをリファレンスマークを用いて補正するように構成されていてもよい。上述した種々の処理は、複数のサーバ/プロセッサが分担して実行するように構成されてもよい。例えばプローブデータの統合処理は、プローブデータを取得及び補正するサーバとは異なるサーバが実施するように構成されていてもよい。
なお、上述した地図システム1は、複数の車両から提供された同一の地物についての観測座標を、リファレンスマークの観測座標と地図登録座標とを用いて補正するとともに、補正された当該地物の観測座標を統計的に処理(例えば平均化)することで、当該地物の座標を決定するシステムに相当する。同一の地物についての複数の観測座標は、それぞれ異なる複数の車両から提供されてもよいし、同一の車両が同一地点を複数回通過することによって生成されてもよい。プローブデータに含まれる種々の地物の観測座標は、リファレンスマークの観測座標が、当該リファレンスマークの地図登録座標としての絶対座標と一致するように補正されるが、ここでの一致とは完全な一致に限定されない。略一致も含まれる。上記の補正は、リファレンスマークの観測座標と絶対座標との乖離度合が最小となるように実行されればよい。以上で述べた補正処理は、道路セグメント単位で実行されてもよいし、マップタイル単位で実行されてもよい。
[地図精度に基づく車両の制御態様]
マップタイルに含まれるランドマーク63は、複数のプローブデータに基づいて座標が算出されるため、統計的ばらつきが存在する。地図システム1は、マップタイルごとに統計的ばらつきに基づいた精度レベルを付与する。そして、精度レベルに応じて、地図情報を利用するアプリケーションを制限する。図10を参照して、地図システム1の動作フローについて説明する。
図10に示すように、まず、ステップS300が実行される。ステップS300は、サーバ3を構成するサーバプロセッサ31が、プローブデータを取得するステップである。サーバプロセッサ31は、同一のマップタイル上を走行する複数の車両からプローブデータをそれぞれ取得する。すなわち、サーバプロセッサ31は、1つのランドマークに対して複数の座標データを取得することになる。
次に、ステップS301が実行される。ステップS301は、サーバプロセッサ31が各ランドマークに対して座標の分散を算出するステップである。分散は緯度、経度、高度のそれぞれの座標に対して計算される。サーバプロセッサ31は、図7に示すように、複数の車両から受信したプローブデータに基づいて各ランドマーク63の分散σ2を算出する。図7に示す例では、マップタイルに4つのランドマーク63a~63dが存在し、各ランドマークに対して、σa
2、σb
2、σc
2、σd
2を算出する。
次に、ステップS302が実行される。ステップS302は、サーバプロセッサ31が計算された分散σa
2、σb
2、σc
2、σd
2の中央値pを算出し、所定の閾値T1と比較するステップである。ここで、分散の中央値を算出するのは一例であり、マップタイルに属するランドマークの座標のばらつき具合を統計的に指標化できるものであればよく、例えば平均値を用いても良い。中央値pが所定の閾値T1との間で0<p≦T1の関係を満たせばステップS302はYES判定となり、ステップS303に進む。
ステップS303は、ステップS302でYES判定とされたマップタイルに対して、精度レベル「High」を付与するステップである。精度レベル「High」が付与されるマップタイルは最も精度が高いと判定されたマップタイルである。
一方、ステップS302においてNO判定であるときにはステップS304に進む。ステップS304は、サーバプロセッサ31が中央値p(平均値でも良い)を算出し、所定の閾値T1、T2と比較するステップである。中央値pが所定の閾値T1および閾値T2との間でT1<p≦T2の関係を満たせばステップS304はYES判定となり、ステップS305に進む。
ステップS303は、ステップS302でYES判定とされたマップタイルに対して、精度レベル「Middle」を付与するステップである。
一方、ステップS304においてNO判定であるときにはステップS306に進む。ステップS306は、ステップS304でNO判定とされたマップタイルに対して、精度レベル「Low」を付与するステップである。精度レベル「Low」が付与されるマップタイルは最も精度が低いと判定されたマップタイルである。
マップタイルの精度レベルは「High」「Middle」「Low」の順で高い。精度レベルが高いほど車両の現在位置を精度良く決定することができ、より高度な運転支援を実現することができる。すなわち、精度レベルが高いマップタイルに対応する地域を走行中は、例えば自動運転などの高度運転支援に供することができる。一方で、精度レベルが低いマップタイルに対応する地域を走行中は、自動運転には供さないようにアプリケーションを制限する。より具体的には、主プロセッサ40は、精度レベルが最も高いレベルに設定されているマップタイルの地図データについては、自動運転アプリケーションが当該地図データを利用することを許容する一方、精度レベルが最も低いレベルに設定されているマップタイルの地図データについては、自動運転アプリケーションが当該地図データを利用することを禁止する。これにより、高精度で得られたマップタイルを有効活用できるとともに、低精度のマップタイルが自動運転アプリケーション等といった、より安全性を要するアプリケーションに誤って供されないようにできる。なお、マップタイルの精度レベルに起因してアプリケーションの利用に制限がかかっている場合、主プロセッサ40は、その旨をHMI60を介してユーザに通知することが好ましい。アプリケーションへの地図データの提供を禁止することは、間接的に、アプリケーションの実行自体を禁止したり、機能を縮退させたりすることに相当する。
[衛星測位システムの代替手段について]
自車両の位置を特定するにあたり、地図システム1は、GPS等の衛星による測位により自車両の大まかな位置を特定し、サーバ3からダウンロードされた地図情報と、車両によりリアルタイムに撮像された画像から算出されたランドマーク63の座標と、に基づいて詳細な自車両の位置を決定している。しかしながら、自車両がトンネル内や高層ビルの間にあって、衛星による位置特定が困難なシチュエーションが存在する。
地図システム1は、測位センサ30aとして、例えば無線LANに供される電波強度を検出する電波検出器を採用することができる。無線LANの基地局(アクセスポイント)から発せられる電波による測位が代替測位手段に相当する。無線LANの電波を発信する基地局のうち、基地局が設置されたグローバル座標が既知のものの電波を車両が受信する。これにより、基地局の座標と受信した電波の強度とに基づいて自車両の位置が推定される。図11を参照して、地図システム1の動作フローについて説明する。
図11に示すように、まずステップS400が実行される。ステップS400は、主プロセッサ40が、GPS衛星からの電波の受信強度と所定の閾値とを比較するステップである。閾値は、例えば、GPSによる測位とダウンロードして得られる地図情報とで自車両の位置が十分に特定できるときのGPSの電波強度が指定される。GPS衛星からの電波の受信強度がこの閾値よりも大きい場合には、本ステップはYES判定となり、ステップS401に進む。すなわち、代替測位手段として無線LAN電波の電波検出器は無効とされる。そして、ステップS402に進み、GPSによる測位とダウンロードして得られる地図情報とで自車両の位置を特定する。また、カメラ10により得られたランドマーク63等の地図情報をサーバ3にアップロードする。自車両の位置の特定後は、該自車両位置を自動ステアリング等の運転支援に利用する。
一方、ステップS400において、GPS衛星からの電波の受信強度がこの閾値以下の場合には、本ステップはNO判定となり、ステップS403に進む。すなわち、代替測位手段として無線LAN電波の電波検出器が有効とされる。そして、ステップS404に進む。
ステップS404は、主プロセッサ40が無線LANの電波を発している基地局のセキュリティレベルを判定するステップである。セキュリティレベルとは、当該基地局の発する情報の信頼の指標である。セキュリティレベルが高ければ、主プロセッサ40は当該基地局が有する設置場所の座標の値を信頼し、基地局のグローバル座標と、車両に搭載された電波検出器が受信する電波の受信強度、およびSfM等による自車両の位置予測に基づいて自車両の現在位置を特定する。例えば受信強度に基づいて基地局からの距離を推定し、基地局設置位置から当該推定距離以内に存在すると判定する。複数の基地局からの信号を受信できている場合には、各基地局からの信号の受信強度に基づいて、各基地局までの距離を推定し、各基地局の設置位置と各基地局からの距離を用いて現在位置を算出する。基地局が発する電波を用いた位置推定方法としては、電波の到来方向を利用するAOA(Angle Of Arrival)方式や、到達時間(TOA:Time Of Arrival)方式、到達時間差(TDOA:Time Difference Of Arrival)方式など、多様な方式を採用することができる。なお、セキュリティレベルの高低については任意に設定できるが、例えば公的機関や公共インフラの事業者が設けた基地局はセキュリティレベルが高いと推察できる。一方、個人が設けたような基地局はセキュリティレベルが低いと推察できる。
ステップS404において、基地局のセキュリティレベル、ひいては代替測位手段のセキュリティレベルが低いと判断されると、本ステップはNO判定となり、ステップS405に進む。ステップS405では、カメラ10により得られたランドマーク63等の地図情報をサーバ3にアップロードする。なお、GPSの受信強度が十分に確保できていたり、セキュリティレベルの高い代替測位手段による測位が実現できている場合には、ステップS402の通り、代替測位手段による測位の情報は自車両の位置の特定に供される。一方、セキュリティレベルが低い代替測位手段による測位しか実現できない場合には自車両の位置の特定は行わず、測位の情報は地図情報をサーバ3にアップロードすることのみに供される。
なお、代替測位手段のセキュリティレベルの高低を判定するステップについては任意であり、必ずしも実施しなくても良い。すなわち、図11におけるステップS404は実施されなくても良い。このような態様では、衛星による測位が十分に行えず、代替測位手段により測位する場合には、測位の情報は地図情報をサーバ3にアップロードすることのみに供されるようにすると良い。
ところで、代替測位手段について、設置位置の座標が既知の無線LAN基地局から発せられる電波による測位に限定されず、設置位置の座標が既知の近距離無線通信の基地局から発せられる電波による測位、IMESによる測位、地磁気による測位などを採用することができる。
なお、無線LANや近距離無線通信、IMESの電波を受信する電波検出器や、地磁気を検出する磁気検出器は必ずしも車両に固定されている必要はない。例えば、スマートフォンのようなモバイル機器に上記したような検出器が搭載されており、モバイル機器が地図システム1とリンクされている場合には、モバイル機器により得られた測位情報を地図システム1に用いることができる。
[地図データの更新方法について]
自車両の位置を特定するにあたり、地図システム1は、GPS等の衛星による測位により自車両の大まかな位置を特定し、サーバ3からダウンロードされた地図情報と、車両によりリアルタイムに撮像された画像から算出されたランドマーク63の座標と、に基づいて詳細な自車両の位置を決定している。しかしながら、サーバ3に地図情報が存在しなかったり、地図情報が古く現状が正確に反映されていなかったりといったシチュエーションが存在する。
そのような事情を踏まえると、マップタイルごとに「地図無し」「地図は存在するが古い」「最新の地図が存在する」の3モードが設定され、「地図無し」「地図は存在するが古い」の2モードに対してマップタイルに更新フラグを設定されてもよい。更新フラグが設定された地域に対応するマップタイルは優先的に地図生成あるいは更新がなされるべきである。図12を参照して、当該技術思想に対応する地図システム1の動作フローについて説明する。
図12に示すように、まずステップS500が実行される。ステップS500は、主プロセッサ40がGPS等により自車両の大まかな位置を特定するステップである。このステップにより、自車両が存在する地域が把握される。
次に、ステップS501が実行される。ステップS501は、主プロセッサ40が、自車両が存在する地域に対応するマップタイルの地図情報がサーバ3に格納されているか否かを判定するステップである。例えば、主プロセッサ40は、自車両の現在位置情報をサーバ3に送信する。サーバ3は、車両が存在する地域のマップタイルの地図情報が存在する場合には、地図情報が存在する旨を示す信号を返送する。また、サーバ3は、車両が存在する地域のマップタイルを有していない場合には、要求された地域の地図データを有していない旨の信号を返送する。このようにステップS501は、主プロセッサ40とサーバ3と連携することで実施してもよい。地図情報がマップタイルとして格納されていない場合には本ステップはNO判定となり、ステップS502に進む。なお、車両が存在するマップタイルの地図データがない場合には、当該マップタイルの地図データの有効期限が切れている場合も含まれる。
ステップS502は、主プロセッサ40が、該当する地域に対応するマップタイルを「地図無し」モードに設定するステップである。その後、ステップS503に進む。
ステップS503は、主プロセッサ40が、該当する地域に対応するマップタイルに対して更新フラグをONに設定するステップである。更新フラグがONに設定されている場合、主プロセッサ40はプローブデータとしての白線情報等の地物情報を逐次アップロードする。これにより、更新フラグがONに設定された地域に対応するマップタイルは、サーバプロセッサ31にて、優先的に地図生成される。ステップS503を経て本フローは終了する。なお、より好適な態様として、主プロセッサ40は、更新フラグがONに設定されているマップタイルを走行している間は、地物情報に加えて、車両挙動情報も併せてアップロードする。
ステップS501において、自車両が存在する地域に対応するマップタイルに地図情報が存在する場合には、本ステップはYES判定となり、ステップS504に進む。
ステップS504は、マップタイルに記録された地図情報に対して、最新の情報が公的に公開されているか否かを判定するステップである。公的な公開とは、日本国の場合であれば例えば国土交通省国土地理院が公開する地図情報である。ここで、サーバ3に格納された地図情報におけるランドマークの座標と、国土地理院が公開する地図情報におけるランドマークの座標との差異が所定距離(例えば10cm)以上である場合に、最新の情報が公的に公開されていると判定する。なお、国土地理院が提供する地図情報以外にも、特定の地図ベンダが提供する地図情報も公的な地図情報として利用してもよい。公的な公開とは、政府機関による公開に限らず、所定の地図ベンダによる準公的な公開も含まれる。また、一般に公にされていなくとも、国土地理院が所有する定点測量計や高精度なGPS測位等により、サーバ3に格納された地図情報におけるランドマークの座標と、測位されたランドマークの座標との差異が所定距離(例えば10cm)以上である場合に、最新の情報が公的に公開されていると判定する。このような場合には本ステップはYES判定となり、ステップS505に進む。なお、当該ステップS504は、車両及びサーバのどちらが実施してもよい。主プロセッサ40又はサーバプロセッサ31は、地図ベンダや政府機関が管理する外部サーバと通信を実施することにより、車両が存在するマップタイルに対して最新の地図情報が公開されているか否かを判定すればよい。
ステップS505は、主プロセッサ40が、該当する地域に対応するマップタイルを「地図は存在するが古い」モードに設定するステップである。その後、ステップS503に進む。
ステップS503は、上記のとおり、主プロセッサ40が、該当する地域に対応するマップタイルに対して更新フラグをONに設定するステップである。更新フラグがONに設定された地域に対応するマップタイルは、車両からサーバ3へと地物情報が逐次アップロードされるため、優先的に地図更新がなされる。ステップS503を経て本フローは終了する。
ステップS504において、マップタイルに記録された地図情報に対して最新の情報が公的に公開されていないと判定された場合には、本ステップはNO判定となりステップS506に進む。
ステップS506は、主プロセッサ40が、サーバ3から現在位置に対応するマップタイルの地図情報をダウンロードするステップである。
次に、ステップS507が実行される。ステップS507は、主プロセッサ40が、サーバ3からダウンロードした地図情報に含まれるランドマーク63の座標と、リアルタイムに撮像された画像に基づいて算出されたランドマーク63の座標と、を照合して自車両の位置を特定(つまりローカライズ)するステップである。
次に、ステップS508が実行される。ステップS508は、主プロセッサ40が、自車両の座標のずれ(以降、位置ずれとも記載)を検出したか否かを判定するステップである。
サーバ3からダウンロードした地図情報に含まれるランドマーク63の座標と、カメラ10によりリアルタイムに撮像された画像から算出されたランドマーク63の自車位置に対する相対座標と、に基づいて特定された自車両の位置を第1の位置と称する。一方、サーバ3に格納された地図情報に依存しないGPSの電波を用いて特定された自車両の位置を第2の位置と称する。なお、リアルタイムにランドマーク63の座標の算出するための手段は、カメラ10によるものに限定されず、例えばレーダーやLiDARを利用しても良い。また、地図情報に依存せず自車両の位置を特定する手段としては、GPSに限定されず、例えばオドメトリやデッドレコニング、無線LANや近距離無線通信、IMESの電波を利用した位置特定、地磁気による位置特定を採用しても良い。
自車両の座標のずれの検出とは、例えば、第1の位置と第2の位置との乖離が所定距離以上であることを検出したことを示す。あるいは、自車両の座標のずれの検出とは、第1の位置と第2の位置との乖離が所定距離以上である状態が所定回数生じたことを示す。位置ずれが生じた回数や頻度が、地図データの更新が必要であることを示す指標情報(換言すればエラー信号)に相当する。また、位置ずれが指標情報を送信するためのイベント(以降、送信イベント)に相当する。位置ずれの検出(換言すれば送信イベントの検出)は、主プロセッサ40自身が実施してもよいし、他のデバイス(例えば画像プロセッサ20)が実行してもよい。他のデバイスが検出する場合、主プロセッサ40は当該デバイスから位置ずれが生じた旨を示す信号が入力されることによって、位置ずれ(換言すれば送信イベント)が生じたことを検出すればよい。
また、自車両の座標ずれ検出の別の例は、地図情報を用いて自動運転や車線維持などの運転支援が実行されている際に、ドライバの操舵介入が所定の量あるいは頻度で発生したことを以って、自車両の座標のずれが検出されたとしても良い。地図情報を用いて自動運転や車線維持などの運転支援が実行されている際に、ドライバの操舵/減速操作が介入した地点は、不調地点とも称する。なお、操舵介入と同様に、ブレーキペダルの踏み込みなどといった速度調整の介入も、位置ずれ発生の判断指標として採用可能である。ドライバによる操舵介入や減速操作といった操作介入が行われた量や頻度は、地図データを更新する必要であることを示す指標情報に相当する。また、自動走行時におけるドライバの操作介入が、サーバ3へ指標情報を送信するためのイベントに相当する。
ステップS508において自車両の位置ずれが検出された場合には、本ステップはYES判定となりステップS505に進む。なお、位置ずれが検出された回数をカウントアップしていき、位置ずれが検出された回数が所定の閾値以上となった場合にステップS508をYES判定してステップS505を実行するように構成されていてもよい。
ステップS505は、上記の通り、該当する地域に対応するマップタイルを「地図は存在するが古い」モードに設定するステップであり、その後、ステップS503を経て更新フラグがONに設定される。自車両の位置ずれが検出される状態とは、例えば自然災害等により公的に情報の更新がされる前に地形やランドマーク63の位置が変化してしまったようなシチュエーションが想定される。ステップS508を経て更新フラグをONに設定することで、公的な地図更新に先立ってサーバ3に格納された地図情報の更新を促進することができる。
一方、自車両の位置のずれが検出されない場合にはステップS508はNO判定となり、ステップS509に進む。
ステップS509は、主プロセッサ40が、該当する地域に対応するマップタイルを「最新の地図が存在する」モードに設定するステップである。その後、ステップS510に進む。
ステップS510は、上記のとおり、主プロセッサ40が、該当する地域に対応するマップタイルに対して更新フラグをOFFに設定するステップである。更新フラグがOFFに設定された地域に対応するマップタイルは直近の地図更新は不要であり、運転支援などに積極的に活用することができる。ステップS510を経て本フローは終了する。なお、更新フラグがOFFに設定されている場合、主プロセッサ40はプローブデータとして白線情報等の地物情報は送らずに、車両挙動情報をアップロードする。車両挙動情報をアップロードする構成によれば、サーバ3は渋滞の発生等を検出することができる。
以上記載したように、主プロセッサ40は、ステップS501、ステップS504およびステップS508に係る所定の条件に基づいて、自車両が存在する地域に対応するマップタイルに対して、「地図無し」「地図は存在するが古い」「最新の地図が存在する」の3モードのいずれかが設定し、各モードに対応する更新フラグを設定する。「地図無し」および「地図は存在するが古い」のモードが付与されたマップタイルに対しては更新フラグがONに設定されることにより、当該マップタイルに含まれる地図情報の更新あるいは生成を優先的に実行させることができる。
なお、以上では車両側にて地図データの更新の要否を判定する構成を開示したが、これに限らない。各マップタイルの地図データの更新の要否は、複数の車両からのプローブデータをもとにサーバ3が判断してもよい。例えば、主プロセッサ40はステップS508にて位置ずれや車両の自動走行に対する乗員の操作介入を検出した場合には、その旨をサーバ3に報告する。或いは、更新の必要があることを示す信号をサーバ3に送信する。
サーバプロセッサ31は、位置ずれが検出された回数が所定の閾値を超えたマップタイルの更新フラグをONに設定する。そして、更新フラグがONに設定されている区域を走行している車両に対して、地物情報を含むプローブデータを送信するように要求する。このような構成によっても、地図データを速やかに更新することが可能となる。なお、地図データの更新の単位は、マップタイル単位に限定されない。道路セグメント単位で更新の要否が管理されてもよい。例えば道路セグメント単位で更新フラグのON/OFFが設定されてもよい。
また、プローブデータをもとに生成/更新された地図データは、仮地図データとして、各車両に仮配信されてもよい。仮配信された地図は、例えば、複数の車両にて自動制御に利用可能かどうかを検証される。例えば各車両の主プロセッサ40は、仮地図データを用いて自車位置を算出した場合に位置ずれが検出されたか否か、ドライバの操作介入がなされたか、などに基づいて仮地図を検証する。仮地図データは、画像認識結果に基づいて計画された走行軌道と、仮地図を用いて計画した走行軌道とが整合しているか否かに基づいて検証されてもよい。仮地図データは検証が完了して正式地図データとなるまでは、実際の自動運転には使用されないことが好ましい。なお、仮地図データの検証方法については、別途出願した特願2018-163077号に記載されている方法を援用してもよい。各車両は、仮地図データを検証した結果として問題ないと判断した場合には、その旨をサーバ3に報告する。また、仮地図データに不具合があると判断した場合には、その旨をサーバ3に報告する。サーバ3は、複数の車両での検証結果に基づいて仮地図データに問題がないかを最終的に判断し、問題ないと判断した場合に仮地図データを正式地図として採用する。正式地図として採用された地図データは、各車両に配信される。なお、仮地図データを配信済みの車両に対しては、仮地図データが正式地図データとして利用するように通知してもよい。
上記地図システム1は、予め決められた所定の条件に基づいて更新が必要である旨の更新フラグが設定されるので、地図情報の更新の要否を明確に区別することができる。そして、自然災害等により突発的にランドマーク63の座標が変化した場合などに特に効果的である。
[ランドマークを検出できない場合の対応]
自車両の位置を特定するにあたり、地図システム1は、GPS等の衛星による測位により自車両の大まかな位置を特定し、サーバ3からダウンロードされた地図情報と、車両によりリアルタイムに撮像された画像から算出されたランドマーク63の座標と、に基づいて詳細な自車両の位置を決定している。しかしながら、自車両の周辺にランドマーク63の撮像を阻害する障害物が存在し、ランドマーク63の座標が特定できないシチュエーションが存在する。
地図システム1は、自車両が上記のようなシチュエーションにあるとき、撮像装置であるカメラ10の画角内に、障害物に遮られないランドマーク63が少なくとも1つ存在するように自車両の挙動を制御してもよい。ここでは図13を参照して、当該技術思想に基づく地図システム1の動作フローについて説明する。なお、ここでは一例として車両の前方の環境を撮像するために設置されたカメラ10を例に説明する。カメラ10は前方を監視するものの他、後方監視を担う後方カメラや、側方監視を担うカメラ10(つまり、左/右側カメラ)が共存していても良い。また、ランドマーク63を遮る障害物として先行車を例に説明するが、障害物としては、後方監視用のカメラ10に対応した後続車であることもあるし、側方監視用のカメラ10に対応した並走車であることもある。車両以外のオブジェクトが障害物として作用する場合もある。地図システム1を構成する周辺監視センサとしては、前方カメラ、後方カメラ、及び側方カメラの一部又は全部を採用することができる。後方所定範囲を撮像する後方カメラが後方監視装置に相当する。
図13に示すように、まずステップS600が実行される。ステップS600は、主プロセッサ40がGPS等により自車両の大まかな位置を特定するステップである。このステップにより、自車両が存在する地域が把握される。
次に、ステップS601が実行される。ステップS601は、主プロセッサ40が、カメラ10に撮像される画像に基づいて先行車を検出するステップである。
次に、ステップS602が実行される。ステップS602は、主プロセッサ40が先行車の車両種別を取得するステップである。車両種別は、メモリ80あるいはサーバ3に格納されたデータベースに記録されており、画像から得られる対象のシルエット情報等から種別を決定する。
次に、ステップS603が実行される。ステップS603は、主プロセッサ40が、車両種別に基づいて障害物となる先行車の車高を取得するステップである。車高の情報は車両種別に紐付いており、先行車の車両種別に対応した車高が取得される。なお、車高の情報は撮像された画像から算出されてもよい。
次に、ステップS604が実行される。ステップS604は、主プロセッサ40が、障害物としての先行車が背高車か否かを判定するステップである。先行車が背高車か否かの判定は、例えばステップS603において取得した車高と所定の閾値とを比較して、車高が閾値よりも高い場合に先行車が背高車であると判定する。あるいは別の例では、背高車に分類される車両種別を予め決めておき、先行車が該当する車両種別である場合に背高車であると判定しても良い。車両種別に応じて背高車か否かを判定する場合には、車高を取得するステップS603を省略することができる。なお、背高車として判定される車両種別としては、例えばトラックや消防車等が該当する。ステップS604において、先行車が背高車であると判定される場合にはステップS605に進む。
ステップS605は、主プロセッサ40がアクチュエータ70を制御して自車両と障害物との相対位置を変更し、カメラ10によりランドマーク63が認識可能にするステップである。具体的には、例えばアクチュエータ70は制動装置であり、主プロセッサ40は制動装置を駆動して自車両のブレーキングを実施する。これにより、自車両と障害物たる先行車との車間距離が大きくなり、画角に対して先行車が占める面積は小さくなる。このため、画角内に標識等のランドマーク63が写り込みやすい状況を実現できるので、主プロセッサ40がランドマーク63を認識できるようになり、ランドマーク63の座標を算出することができる。先行車が背高車である場合には、信号機や行き先表示などが先行車によって遮られてカメラ10が認識できない状況が発生しやすいので、ステップS605を経ることによってランドマーク63の検出頻度を向上させることができる。これに伴い、ランドマーク63の座標の画像からの算出頻度も向上するので、より長時間にわたって地図情報が有するランドマーク63の座標との照合が可能となり、自車両の位置をより正確に特定することができる。減速等によって先行車との車間距離が大きくする制御は、周辺監視センサがランドマークを検出しやすくするための車両制御の一例に相当する。
なお、主プロセッサ40が制御するアクチュエータ70は制動装置に限定されるものではなく、例えばステアリングであっても良い。具体的には、先行車が背高車であった場合において、主プロセッサ40はステアリングを制御して車線変更し、自車両の前方に障害物となる先行車が存在しない状況を作り出しても良い。
ステップS605の後、本フローは終了する。また、ステップS604において、先行車が背高車ではないと判定された場合も同様に本フローを終了する。
以上の構成を採用することにより、地図システム1は、ランドマーク63の座標の画像からの算出頻度も向上するので、より長時間にわたって地図情報が有するランドマーク63の座標との照合が可能となり、自車両の位置をより正確に特定することができる。
[ランドマークを検出できない場合の対応(変形例)]
以上では障害物たる先行車の車両種別を取得して、その車両種別に基づいて車両を制御する例について説明した。他の態様として地図システム1は、リアルタイムに計測された車間距離と画像認識により算出された車高とに基づいて、ランドマーク63が認識可能なように車両を制御してもよい。当該技術思想に基づく地図システム1の動作例を図14~図16を参照して説明する。なお、ここでも車両の前方の環境を撮像するために設置されたカメラ10を例に説明する。カメラ10は前方を監視するものの他、後方監視、側方監視を担うカメラ10が共存していても良い。また、ランドマーク63を遮る障害物として先行車を例に説明するが、障害物としては、後方監視用のカメラ10に対応した後続車であることもあるし、側方監視用のカメラ10に対応した並走車であることもある。障害物は、車両以外のオブジェクトである場合もある。
図14に示すように、まずステップS700が実行される。ステップS700は、主プロセッサ40がGPS等により自車両の大まかな位置を特定するステップである。このステップにより、自車両が存在する地域が把握される。
次に、ステップS701が実行される。ステップS701は、主プロセッサ40が、カメラ10により撮像される画像に基づいて先行車を検出するステップである。
次に、ステップS702が実行される。ステップS702は、主プロセッサ40が、先行車までの距離、すなわち車間距離を計測するステップである。車間距離は、レーダやLIDAR、あるいはそれらと撮像装置とのフュージョン構成により計測が可能である。
次に、ステップS703が実行される。ステップS703は、主プロセッサ40が、先行車の高さを計測するステップである。先行車の高さは、ステップS702で取得された先行車までの距離と、カメラ10により撮像される画像において、映された先行車の上端の画像上のV方向座標と、に基づいて一意に計測することができる。
次に、ステップS704が実行される。ステップS704は、主プロセッサ40が、画角内に存在すると想定されるランドマーク63の座標を地図情報から取得するステップである。主プロセッサ40は、ステップS700において特定された大まかな自車両の位置から車両が存在する地域を特定し、該地域に対応するマップタイルを読み込む。そして、マップタイルに記録されたランドマーク63の座標を取得する。ここで、ランドマーク63とは白線(換言すればレーンマーク)を含むものであるが、先行車の体格が大きいことによりカメラ10で撮像が困難になる対象であるとより効果的であり、信号機や行き先表示、制限速度標識などが好適である。ランドマーク63の座標とは、例えばランドマーク63が車両の進行方向に直交する矩形板状であるとすれば、矩形をなす四隅の座標情報を含む。
次に、ステップS705が実行される。ステップS705は、先行車が画角内に存在するはずのランドマーク63を遮る位置に存在するか否かを判定するステップである。図15に示すように、ステップS702により取得された車間距離と、ステップS703により取得された先行車の車高と、自車両に搭載されたカメラ10の画角とによってカメラ10の死角となる部分(図15においてハッチングを施した部分)が決まる。この死角の部分にランドマーク63を構成する座標の少なくとも一部が含まれる場合には、先行車がランドマーク63を遮ると判定し、本ステップはYES判定となる。図15に示す例は、ランドマーク63が先行車の作り出す死角にすべて含まれており、本ステップがYES判定となる一例である。
ステップS705がYES判定である場合にはステップS706に進む。ステップS706は、主プロセッサ40がアクチュエータ70を制御して自車両と障害物との相対位置を変更し、カメラ10によりランドマーク63が認識可能にするステップである。具体的には、例えばアクチュエータ70は制動装置であり、主プロセッサ40は制動装置を駆動して自車両のブレーキングを実施する。
図16に示すように、主プロセッサ40は、この制動によって、ランドマーク63が死角の部分からすべて外れるように自車両と先行車との車間距離を大きくする。具体的には、先行車の上端より上の部分に、ランドマーク63の上端から下端まですべてが視認できるような車間距離になるまで自車両を制動する。なお、後述するが、ランドマーク63の一部が視認できるまで制動するような構成も可能である。これにより、主プロセッサ40がランドマーク63を認識できるようになり、ランドマーク63の座標を画像に基づいて算出することができる。
上記地図システム1では、車両種別を取得することなく、ランドマーク63が認識しやすくすることができる。これは、急な割り込み等により先行車の車両種別の取得のための十分な時間が確保できなかったり、車両以外の障害物が急に車両前方に飛び込んできた場合に特に有効である。
なお、主プロセッサ40が制御するアクチュエータ70は制動装置に限定されるものではなく、例えばステアリングであっても良い。具体的には、先行車が背高車であった場合において、主プロセッサ40はステアリングを制御して車線変更し、自車両の前方に障害物となる先行車が存在しない状況を作り出しても良い。周辺監視センサがランドマークを検出しやすくするための車両制御(以降、検出率向上制御)としては、減速や車線変更、車線内での位置変更など、多様な制御を採用可能である。検出率向上制御は、ランドマークが認識できない状態が継続する恐れを低減するための制御に相当する。
また、先行車の死角にランドマーク63の一部でも含まれていれば、先行車がランドマーク63を遮っていると判定する例を説明したが、ランドマーク63の一部でも死角外で視認できる場合には先行車がランドマーク63を遮っていないと判定しても良い。あるいは、ランドマーク63の種類によってこれらの判定基準を可変にしても良い。
なお、自車両が複数の周辺監視センサを備えており、複数の少なくとも1つの周辺監視センサがランドマークを捕捉できている場合には、周辺監視センサがランドマークを検出しやすくするための車両制御を実施しないように構成されていてもよい。例えば、先行車が背高車であったり、先行車が自車両前方のランドマークを遮る位置に存在する場合であっても、後方カメラにて車両後方のランドマークを撮像できている場合には、車間距離の拡大や車線変更等の車両制御を実施しないように構成されていてもよい。
また、検出率向上制御を実施する場合は、先行車が背高車である場合や、先行車によって自車両前方のランドマークを遮られている場合に限定されない。より細かくは、先行車との車間距離が所定距離(例えば20m)未満以内となっている場合に、検出率向上制御を実行するように構成されていてもよい。当該構成は、カメラ10の撮像範囲内の所定領域(ここでは車両前方20m以内となる領域)に障害物としての先行車が存在する場合に、検出率向上制御を実行する構成に相当する。また、カメラ10から先行車の背面上端部へ向かう直線が路面に対してなす角度(以降、見上げ角θ)が所定の閾値(例えば15度)以上となっている場合に、減速等の検出率向上制御を実行するように構成されていてもよい。画像フレームにおいて先行車に相当する部分が占める比率が所定の閾値以上(例えば30%以上)となっている場合に、減速等の検出率向上制御を実行するように構成されていてもよい。
その他、本来ランドマークが観測されるはずの区間を車両が走行している状況において、所定回数(例えば5回)あるいは所定時間(例えば3秒間)連続してランドマークの検出に失敗した場合に、検出率向上制御を実行するように構成されていてもよい。また、本来観測されるべきランドマークに対する検出成功率が所定の閾値未満となった場合に、検出率向上制御を実行するように構成されていてもよい。検出成功率は一定時間以内において当該ランドマークの検出を試みた回数と、検出に成功した回数の比で表現されればよい。
検出率向上制御を実行するための条件は適宜変更可能である。その他、主プロセッサ40は、検出率向上制御として、車車間通信によって他車両から当該他車両の現在位置及び当該他車両で取得された周辺画像を取得するように構成されていてもよい。そのような構成によれば、主プロセッサ40は、他車両から提供された周辺画像をもとにランドマークを検出できる。また、当該ランドマークの位置情報と、当該他車両の位置情報と、当該他車両に対する自車両の相対位置とに基づいて、間接的に自車両をローカライズすることができる。
さらに、主プロセッサ40は、検出率向上制御として、車車間通信によって他車両(例えば先行車両)のローカライズ結果(つまり、他車両の詳細位置情報)を取得するように構成されていてもよい。そのような構成によれば、主プロセッサ40は、ローカライズ結果の提供元である他車両(以降、リファレンス車両)の詳細位置情報と、当該リファレンス車両に対する自車両の相対位置とに基づいて、間接的に自車両をローカライズできる。リファレンス車両に対する自車両の相対位置は、カメラ10などの周辺監視センサの検出結果に基づいて特定されれば良い。
また、主プロセッサ40は、通常時には、自車両前方に存在するランドマークを用いて(換言すれば前方カメラ画像を用いて)ローカライズを行う。一方、先行車によって前方カメラの視界が遮られている場合には、後方監視装置としての後方カメラの画像を用いてローカライズを実施するように構成されていても良い。つまり、検出率向上制御として、ランドマークの検出に使用する周辺監視センサを変更してもよい。ランドマークの検出に使用する周辺監視センサの数や組み合わせを変更することも、検出率向上制御の一例に相当する。
上記の制御は、自車両が所定の道路(例えば一般道路)を走行していることを条件として実行されるように構成されていてもよい。一般道路においては高速道路走行中よりも、他車両との車間距離は短く、ランドマークが見えにくい。ゆえに、上記の制御は、高速道路走行中よりも一般道路走行中のほうが有用となり得る。また、逆の観点によれば、主プロセッサ40は、走行路が所定の道路種別(例えば自動車専用道路)に該当する場合には、上記制御を実行しないように構成されていてもよい。高速道路などの自動車専用道路走行中においては他車両によってランドマークが検出しにくくなる可能性は低い。自動車専用道路を走行している間は、上記の検出率向上制御をキャンセルことにより、主プロセッサ40の負荷を軽減することができる。
その他、主プロセッサ40は、地図活用機能が有効化されている場合にはACCの設定距離を、地図活用機能が有効化されていない場合よりも長くするように構成されていてもよい。当該構成によれば、ランドマークの検出が困難となる恐れをより一層低減することができる。
[夜間等、暗環境下での対応について]
ランドマーク63の座標が特定しにくくなるシチュエーションは、自車両の周辺にランドマーク63の撮像を阻害する障害物が存在する場合だけとは限らない。例えば、トンネル内や夜間など、車両の周辺環境が比較的暗い場合にも、カメラ10によるランドマーク63の検出および座標の算出が困難となる場合がある。
地図システム1は、車両の周辺環境が比較的暗所な場合でもランドマーク63の検出と座標の算出を容易にし、ひいては自車両の位置をより正確に特定するように構成されていてもよい。
以下、そのような技術思想に基づく地図システム1の作動について図17を参照して説明する。なお、ここでは一例として、車両の前方に照明光を照射するために設置されたヘッドライトの制御を例に説明する。ライトは車両前方に照射するものの他、車両後方、車両側方を照射するライトが共存していても良く、制御の対象も車両後方、車両側方を照射するライトであって良い。
図17に示すように、まずステップS800が実行される。ステップS800は、地図情報を利用するアプリケーションを起動中か否かが判定されるステップである。地図情報を利用するアプリケーションとは、例えば、画像に基づいて算出されたランドマーク63の座標と地図情報とを照合して自車両の位置を特定することによって実現される自動ステアリングなどである。地図情報を利用するアプリケーションが実行されていなければ本ステップはNO判定となり、本フローは終了する。該アプリケーションが実行されていれば、本ステップはYES判定となりステップS801に進む。
ステップS801は、車両におけるヘッドライトの制御がオートモードに設定されているか否かを判定するステップである。オートモードに設定されているとは、ヘッドライトの上下あるいは左右などの配光制御が自動に設定されている状態であり、例えばアクティブハイビームシステム(AHS)がその例である。ヘッドライトの制御がマニュアル(手動)モードである場合には本ステップはNO判定となり本フローは終了する。一方、ヘッドライトの制御がオートモードである場合には、本ステップはYES判定となりステップS802に進む。
ステップS802は、主プロセッサ40が、車両の周辺環境の明るさが所定の閾値以下であるか否かを判定するステップである。具体的には、車両に搭載された照度センサにより検出された照度と所定の閾値とを比較する。照度が閾値より大きい場合には、必ずしもヘッドライトを点灯する必要がないとの判定により、本ステップはNO判定となって本フローは終了する。一方、照度が閾値以下の場合には、ステップS803に進んでヘッドライトが点灯される。
次に、ステップS804が実行される。ステップS804は、主プロセッサ40が自車両に対する先行車あるいは対向車が存在するか否かを判定するステップである。先行車の存在は、例えばカメラ10により撮像された画像からリアライトの光を検出してその存在を認識する。あるいはカメラ10とレーダーやLIDARとによるフュージョン構成により先行車の存在を認識する。また、対向車の存在は、例えばカメラ10により撮像された画像からヘッドライトの光を検出してその存在を認識する。あるいはカメラ10とレーダーやLIDARとによるフュージョン構成により対向車の存在を認識する。
ステップS804において対向車あるいは先行車の存在が検出されると本ステップはYES判定となりステップS805に進む。ステップS805はヘッドライトの照射モードをロービームに設定するステップである。ロービームのモードでは、先行車あるいは対向車のドライバの眩光を抑制するために、少なくとも先行車あるいは対向車が存在する方向において、直接的に該当する車両に照明光を照射しないようにヘッドライトの照射方向を調整する。
その後、ステップS806が実行される。ステップS806は、主プロセッサ40が、ランドマーク63の存在が想定される方向に、選択的に照明光を照射するようにヘッドライトの配光を制御するステップである。一例として、図18に示すように、左側通行の対向二車線道路において、先行車と対向車とが存在する状況を想定する。このとき、主プロセッサ40は、アクチュエータ70たるヘッドライトを制御して、対向車が走行する対向車線側に照明光が過剰に照射されないように、車両右側のヘッドライトをロービームで維持する。一方、先行車に照明光が過剰に照射されないように、車両左側のヘッドライトの一部光源の配光を制御して、先行車周辺への照射についてはロービームで維持するとともに、標識等のランドマーク63が存在するであろう車線外、すなわち自車両が走行する車線側の路肩を含む車線外、にヘッドライトの照明光が照射されるように、車両左側のヘッドライトの一部光源の配光を制御してハイビームとする。これにより、対向車あるいは先行車のドライバの眩光を抑制しつつ、ランドマーク63の存在が想定される方向にヘッドライトの照明光を照射することができる。これに伴い、ランドマーク63の検出頻度が高くなり、ランドマーク63の座標の画像からの算出頻度も向上するので、より長時間にわたって地図情報が有するランドマーク63の座標との照合が可能となり、自車両の位置をより正確に特定することができる。
ステップS804において対向車あるいは先行車の存在が検出されないと本ステップはNO判定となりステップS807に進む。ステップS807はヘッドライトの照射モードをハイビームに設定するステップである。ハイビームのモードでは、自車両の周辺に先行車および対向車が存在しないので、遠方を視認できるようにヘッドライトの照射方向を調整する。
その後、ステップS808が実行される。ステップS808は、主プロセッサ40が、ランドマーク63の存在が想定される方向に、選択的に照明光を照射するようにヘッドライトの配光を制御するステップである。本ステップでは、ヘッドライトの配光に、例えばワイド配光や遠方配光を採用することができる。ワイド配光とは、ハイビームあるいはハイビームにおける左右方向の照射範囲に較べてより広範囲を照らす配光モードである。これにより、路肩を含めた車線外のランドマーク63をより容易に検出することができる。また、遠方配光とは、高速走行時において、ハイビームよりも遠方に照明光を集中させてより遠方まで照明光を届かせる配光モードである。これにより、高速走行時であっても、行き先標識等のランドマーク63をより容易に検出することができる。
上記地図システム1においては、ライト制御がオートモードであることを条件の1つとしてランドマーク63が検出しやすい配光を実施する例について説明したが、ライト制御が自動ではなく、ドライバの操作に依存するモードにおいて、ヘッドライトがロービームに設定され、且つ、車両周辺の環境の照度が所定の閾値以下である場合には、地図システム1がドライバに対して、ヘッドライトの配光をハイビームに変更する旨の提案を行うようにしても良い。配光の変更の提案は、例えばHMI60にその旨表示する、あるいは音声で伝達する等の方法を採用できる。
なお、夜間には、照明等が併設されていないランドマークはカメラ10の撮像画像からは認識しにくい。ゆえに、昼間は、多様なランドマークをもとにローカライズを行う一方、夜間は、ローカライズに使用するランドマークは内部照明式標識や、付近に街灯等の照明が付設されている標識、信号機、電光掲示板などに限定されることが好ましい。内部照明式標識は、標識板の内側に光源が設けられた標識を指す。地図データは、夜間時も検出可能であるか否かをランドマークの属性情報として備えていることが好ましい。なお、夜間時も検出可能であるか否かは、夜間時のプローブデータをもとに設定されればよい。例えば夜間に収集されたプローブデータにおいて所定の確率で検出されているランドマークを、夜間でも認識可能なランドマークに設定されればよい。
[マップタイルのダウンロード方法について]
地図情報のサーバ3からのダウンロードは、サーバ3と車両との間の限られた通信帯域の中で実行される必要があり、効率的な通信が要求される。ここでは、地図情報のダウンロードに係り、効率的に、漏れなくマップタイルのダウンロードを実現できる地図システム1について説明する。
この地図システム1は、車両が向かうべき目的地の設定の有無により、異なるフローでマップタイルのダウンロードを実現する。以下、目的地が設定されていない場合と、目的地が設定されている場合とで、それぞれ説明する。
<目的地が設定されていない場合>
図19および図20を参照して具体的なフローについて説明する。図19に示すように、まず、ステップS900が実行される。ステップS900は、主プロセッサ40がGPS等により自車両の大まかな位置を特定するステップである。このステップにより、自車両が存在する地域が把握される。なお、図19に例示する一連の処理は、走行用電源がオンとなったことをトリガとして開始されればよい。その他、図19に例示する一連の処理は、地図活用機能や自動運転機能が有効化された場合に開始されても良い。
次に、ステップS901が実行される。ステップS901は、主プロセッサ40が、自車両が存在する地域に対応するマップタイルをダウンロードするステップである。主プロセッサ40は、自車位置に対応するマップタイルの地図データを配信するようにサーバ3にリクエストする。例えば、主プロセッサ40は、自車位置が属する地域のタイルIDを、サーバ3に送信する。サーバ3は、車両からリクエストされたマップタイルを配信する。なお、サーバ3は、要求された地域の地図データを有していない場合(例えば有効期限が切れている場合など)には、要求された地域の地図データを有していない旨の信号を返送する。例えば、データフォーマットの所定位置に無効値(例えば“NULL”)を設定した信号を返送する。
なお、ここでは一例として走行用電源がオンとなった時点でメモリ80には地図データが存在しない場合を想定している。メモリ80に地図データが残す構成において、自車両が存在する地域に対応するマップタイルがメモリ80に保存されている場合には、ステップS901は省略されてもよい。また、ここでは一例として車両側から必要な地図データを特定し、サーバ3に要求するが、地図データの配信態様はこれに限定されない。車両は現在位置をサーバ3に送信し、サーバ3が、報告された車両位置に対応する地図データを判断し、車両へ配信するように構成されていてもよい。
図20にマップタイルの一例を示す。図20では80枚のマップタイルが示されている。サーバ3に格納されたマップタイルにはそれぞれ固有のIDが付与されているが、ここでは、便宜的に、25枚のマップタイルにa~yの通し符号を付与している。ここで、ステップS900において特定された自車両の大まかな位置が図20に示す菱形であるとすれば、マップタイルmが第1タイルに相当する。以降、自車両が存在する地域に対応するマップタイルを特に第1タイルと称する。
次に、ステップS902が実行される。ステップS902は、主プロセッサ40が、第1タイルをサブタイルに分割するステップである。主プロセッサ40は、図20に示すように、第1タイルであるマップタイルmを4つの方形領域に分割して以降の処理を実行するように設定する。
次に、ステップS903が実行される。ステップS903は、主プロセッサ40が、複数のサブタイルの中から自車両が属するサブタイルを特定するステップである。図20に示す例では、分割されたマップタイルmのなかで、自車両は右上のサブタイルに属している。
次に、ステップS904が実行される。ステップS904は、自車両が属するサブタイルに隣接するマップタイルをダウンロード対象に指定するステップである。図20に示す例では、第1タイルはマップタイルmであり、自車両が属するサブタイルは右上に位置するサブタイルであるから、ステップS904においてダウンロード対象に指定されるマップタイルは、マップタイルh、i、nの3つである。なお、サブタイルに隣接するマップタイルとは、車両がマップタイルを跨いで移動する際に、次に移動することが可能なマップタイルの候補に相当する。換言すれば、サブタイルに隣接するマップタイルは、車両が通過する可能性があるマップタイルに相当する。なお、1つの観点においては、所定時間(0.5時間)以内に車両が進入しうる位置に存在するマップタイルが車両が通過する可能性が相対的に高いマップタイルに該当しうる。また、車両の現在位置から所定距離以内に存在するマップタイルもまた、車両が通過する可能性があるマップタイルに該当しうる。
次に、ステップS905が実行される。ステップS905は、ダウンロード対象に指定され、且つ、メモリ80にキャッシュされていない(つまり未取得の)マップタイルをダウンロードするステップである。上記の通り、マップタイルh、i、nがダウンロード対象に該当するが、これらのうち、既にダウンロードされメモリ80に格納されているものが存在する場合には、該当するマップタイルはダウンロードしない。
次に、ステップS906が実行される。ステップS906は、ダウンロードしたマップタイルをメモリ80にキャッシュするステップである。キャッシュされたマップタイルは、該当するデータがメモリ80に残存している限り、ダウンロードすることなく利用することができる。
次に、ステップS907が実行される。ステップS907は、自車両が第1タイルとは異なる第2タイルに移動したか否かを判定するステップである。例えば、車両がマップタイルmからマップタイルiに移動したとすると、本ステップはYES判定となる。この例では、マップタイルiが第2タイルに相当する。なお、車両が第1タイルに引き続き存在する場合には、ステップS907の処理を継続する。本ステップがYES判定になるとステップS908に進む。
ステップS908は、第2タイル周辺のマップタイルをダウンロード対象に指定するステップである。車両がマップタイルmからマップタイルiに移動したとすると、第2タイルはマップタイルiであり、ダウンロード対象に指定されるマップタイルは、マップタイルc、d、e、h、j、m、n、oの8つである。
次に、ステップS909が実行される。ステップS909は、ステップS905は、ダウンロード対象に指定され、且つ、メモリ80にキャッシュされていないマップタイルをダウンロードするステップである。上記の通り、マップタイルc、d、e、h、j、m、n、oの8つのマップタイルがダウンロード対象であるが、マップタイルh、m、nは以前のステップにおいてダウンロードされキャッシュされたマップタイルであるから、ダウンロードされない。すなわち、ステップS909においてダウンロードされるマップタイルは実質的に5つである。そして、第1タイルが設定されてから連続して走行している限り、あらゆるシチュエーションにおいて、第2タイルに移動後にダウンロードされるマップタイルは最大で5つとなる。すなわち、自車両が属するマップタイルに対して周辺のすべてのタイルを改めてダウンロードしなくとも、多くとも5つのマップタイルのダウンロードを行えば、次に自車両が移動すると想定されるマップタイルの情報を確実に取得することができる。
次に、ステップS310が実行される。ステップS310は、ダウンロードしたマップタイルをメモリ80にキャッシュするステップである。キャッシュされたマップタイルは、該当するデータがメモリ80に残存している限り、ダウンロードすることなく利用することができる。
次に、ステップS311が実行される。ステップS310が、主プロセッサ40が、地図情報を必要とするアプリケーションが実行されているか否かを判定するステップである。地図情報を必要とするアプリケーションとは、地図活用に係るアプリケーションであり、例えば自車両の位置を特定しながらの自動ステアリング制御等である。地図情報が必要なアプリケーションが起動中は、引き続き車両が進行する先でのマップタイルのダウンロードが必要であり、ステップS907からステップS311のフローを繰り返す。すなわち、移動先のマップタイル周辺のマップタイルをダウンロード候補とし、キャッシュされていないマップタイルのダウンロードが継続的に実行される。一方、地図情報を活用するアプリケーションが停止され、ステップS311の実行時点でアプリケーションが起動していなければ、本フローは終了する。
上記例では、第1タイルにおいて最初に所在したサブタイルから別のサブタイルに移動することなく直接第2タイルに移動した例を説明したが、別の例についても簡単に説明する。
例えば、マップタイルmを第1タイルとし、右上のサブタイルに存在した車両が、同じ第1タイルのうち右下のサブタイルに移動したと仮定する。この場合、ステップS904において、ダウンロード対象とされるマップタイルは、車両が右上のサブタイルに所在する時点ではマップタイルh、i、nであり、右下のサブタイルに移動した時点でマップタイルn、r、sとなる。その後車両がマップタイルrに移動したとすれば、ステップS909においてダウンロードされるマップタイルは、マップタイルl、q、v、w、xの5つとなる。
上記したように、本開示の地図システム1を採用することにより、車両が走行すると想定される地域に対応するマップタイルを、最低限のダウンロード数で網羅的にダウンロードすることができる。尚、上記構成は、走行用電源がオン後、目的地が未設定である場合のダウンロード方針として、第1タイルを4分割してなるサブタイルのうち、自車両が属するサブタイルに隣接する3つのマップタイルと第1タイルとをダウンロード対象に設定する構成に相当する。上記の地図ダウンロードに係る処理は、走行用電源がオンとなった後、HMI60に対するユーザ入力に基づき、自動運転機能が有効化されたこと、又は、地図活用機能が有効化されたことをトリガとして実行されれば良い。第1タイルは、1つの側面においては、走行用電源がオンとなった時点における車両の位置に対応するマップタイルである。また、他の側面においては、第1タイルは、自動運転機能が有効化された時点、又は、地図活用機能が有効化された時点における車両位置が属するマップタイルに相当する。
<目的地が設定されている場合>
次いで、目的地が設定されている場合のフローについて、図21および図22を参照して具体的に説明する。
図21に示すように、まず、ステップS920が実行される。ステップS920は、主プロセッサ40がGPS等により自車両の大まかな位置を特定するステップである。このステップにより、自車両が存在する地域が把握される。図22に示す例では、自車両の位置を点A(黒塗りの菱形)で示している。
次に、ステップS921が実行される。ステップS921は、設定された目的地のグローバル座標を取得するステップである。目的地は、ユーザである運転者の能動的な指示のほか、外部の指示系統からの自動設定その他の手段により設定され得る。また、車両に搭載されたカーナビゲーションシステムでの操作のほか、モバイル通信機器により設定された目的地を地図システム1が受信することにより目的地が設定されても良い。図22に示す例では、目的地を点B(白抜きの菱形)で示している。
次に、ステップS922が実行される。ステップS922は、ステップS920により特定された自車両の位置と、ステップS921により取得された目的地の座標とに基づいて主経路Lを算出するステップである。主経路Lとは、指定された条件を満たすように、自車両が現在位置から目的地まで移動するために推奨される走行ルートである。図22に示す例では、現在位置Aと目的地Bとを結ぶ実線として示している。
次に、ステップS923が実行される。ステップS923は、分岐路Rを算出するステップである。分岐路Rとは、主経路Lに接続された路線であり、車両が主経路Lを離脱して走行する可能性が有る経路である。分岐路Rは、主経路Lから直接分岐する第1分岐路R1と、主経路Lとは直接接続されないが第1分岐路R1から分岐する第2分岐路R2と、を含んでいる。
次に、ステップS924が実行される。ステップS924は、主経路Lおよび分岐路Rが属するマップタイルをダウンロード対象に指定するステップである。主経路Lが属するマップタイルはすべてがダウンロード対象となる。一方、分岐路Rが属するマップタイルについては、分岐路Rが属するマップタイルであって、主経路Lが属するマップタイルから連続する2タイルがダウンロード対象として指定される。なお、分岐路Rに係るマップタイルについては、主経路Lが属するマップタイルから連続するタイル数は限定されるものではなく、2タイルという数は1つの例である。図22に示す例では、ダウンロード対象となるマップタイルにハッチングを施している。
次に、ステップS925が実行される。ステップS925は、ダウンロード対象に指定され、且つ、メモリ80にキャッシュされていないマップタイルをダウンロードするステップである。過去にダウンロードされメモリ80に格納されているものが存在する場合には、該当するマップタイルはダウンロードしない。
次に、ステップS926が実行される。ステップS926は、ダウンロードしたマップタイルをメモリ80にキャッシュするステップである。キャッシュされたマップタイルは、該当するデータがメモリ80に残存している限り、ダウンロードすることなく利用することができる。
以上の工程を経ることにより、現在位置から目的地までの主経路と、主経路を離脱して走行する可能性のある分岐路について、ダウンロードするべきマップタイルを適切に選定することができる。
なお、ダウンロード対象に指定された複数のマップタイルにおいて、ダウンロードの優先度を設定することが好ましい。例えば、車両が属するマップタイルに近いマップタイルほどダウンロードの優先度を高く設定すると良い。これにより、マップタイルの到達順に沿ってマップタイルがダウンロードされるので、通信帯域を有効活用しつつ、マップタイルを漏れなく、
効率的にダウンロードすることができる。
また、主経路Lが属するマップタイルを、分岐路Rが属するマップタイルに較べて優先的にダウンロードすると良い。車両は分岐路Rよりも主経路Lを走行する確率が高いため、通信帯域を有効活用しつつ、マップタイルを効率的にダウンロードすることができる。
さらに、主経路Lおよび分岐路Rを含む、車両の走行が予測される経路のうち、車両とサーバ3との通信状態が悪化することが予め知られている地域が存在する場合には、対応するマップタイルを優先的にダウンロードすると良い。例えば通信状態が悪化する山間部やトンネル内といった、通信困難区間を走行することが予想されるときには、通信状態が良好な都市部を走行中に、山間部/トンネル区間(つまり通信困難区間)に対応するマップタイルを予めダウンロードしておくと良い。ダウンロードの優先順位は、例えば、現在位置に対応するマップタイル(つまり第1タイル)、第1タイルに隣接し且つ主経路が通るマップタイル、通信困難区間の順に高く設定されれば良い。
上記、ダウンロードするマップタイルに優先度を設けるいくつかの例について説明したが、これらの例に限定されない。また、これらの条件を適宜組み合わせて優先度を設定しても良い。
また、ダウンロード対象に指定するマップタイルについて、主経路Lおよび分岐路Rの両方について対応するマップタイルをダウンロードする例を説明したが、主経路Lのみに対応したマップタイルをダウンロードするようなシステムを採用しても良い。また、主経路Lに接続する全ての路線を、分岐路Rとして採用しなくともよい。主経路に接続する細街路などは、分岐路Rとして採用しなくともよい。また、主経路Lに接続する道路のうち、主経路を構成する道路と同格以上の道路を分岐路Rに設定するように構成されていてもよい。ある道路と同格の道路とは、例えば、道路種別(国道や県道、細街路)が同じ道路を指す。なお、県道にとって、同格以上の道路とは国道や県道などを指す。米国においては道路種別は、道路格が高い順に、インターステイト・ハイウェイ、USハイウェイ、州道、市町村道に区分されうる。また、主経路と車線数が同じかそれ以上の道路を、同格以上の道路として採用してもよい。主経路に接続する道路を分岐路Rとして採用するか否かは、当該接続点(実体的には交差点)付近における主経路の道路規模と、接続道路の規模とを比較して判断されればよい。道路規模とは前述の道路格や車線数に相当するものである。
さらに、以上では目的地が設定されている場合に、自車両が通りそうな道路が属するマップタイルを事前に計画的にダウンロードする構成を開示したがこれに限らない。目的地が設定されていない場合においても、自車走行路が通るマップタイルをダウンロード対象に設定してもよい。より具体的には、自車走行路が通るマップタイルのうち、現在位置から自車進行方向側に存在する所定個数(例えば3個)分のマップタイルをダウンロード対象に設定するように構成されていてもよい。そのような構成によれば、目的地が設定されていない場合においても、目的地が設定されている場合と同様に、自車両が通りそうな道路が属するマップタイルを事前にダウンロード可能となる。
上述した計画的なマップタイルのダウンロード方法は、静的地図データにのみ適用されてもよい。自車両が通りそうなマップタイルの動的地図のデータは、一度にすべてダウンロードしてもよい。動的地図データは静的地図情報に比べてデータ量が小さいことが期待できるためである。また、主プロセッサ40は、静的情報と動的情報といった種別に応じて、それらのデータをダウンロードするタイミングや規則を変更するように構成されていてもよい。例えば、動的地図データはリアルタイムに逐次ダウンロードする一方、静的地図データは月単位や週単位でダウンロードするように構成されていてもよい。上述した種々の構成及び手法は、車両が高速道路等の自動車専用道路を走行している場合に限らず、一般道路を走行する場合にも適用可能である。
ところで、以上では走行用電源がオンとなってから所定の準備時間(例えば30秒)以内にGPS等を用いて大まかな自車位置を特定できる場合について言及した。しかしながら、実際には、走行用電源がオンとなってから所定の準備時間に自車位置を特定できるとは限らない。地下駐車場など、GPS電波が入らないところに駐車されている場合には、自車両の位置座標を特定することが困難である。そのような事情を鑑みると、主プロセッサ40は、車両が駐車された場合(例えばシフトポジションがパーキング位置にセットされた場合)に、その時点で特定されている自車位置座標をストレージ部82等に保存しておくように構成されていることが好ましい。当該構成によれば、GPS電波が届かないところに駐車された場合であっても、ストレージ部82に記録されている位置情報を参照することで、走行用電源がオンとなったタイミングで大まかな自車位置を特定できる。その結果、第1タイルを特定することができる。
なお、車両の状態及び外部環境に由来して、実行可能な自動運転機能に制限がかかっている場合には、その旨を例えばディスプレイにアイコン表示するなど、HMI60を介してユーザに報知することが好ましい。例えば自車位置を特定できない場合や、地図データを取得できない場合には、主プロセッサ40はHMI60を介してレベル3以上の自動運転機能は実行できない旨を乗員に報知する。なお、以上では地図データがマップタイル単位で配信されるように構成されている場合を例示したが、地図データがパッチ単位で配信されるように構成されている場合も同様である。すなわち、上記のマップタイルをパッチ又はパッチ対応エリアと読み替えることにより実施することができる。
[車両側システムの構成の変形例について]
地図システム1を構成する車載システム2の構成は、図2に示す構成に限定されない。例えば図23に示すように、車載システム2は、前方カメラモジュール90と、ロケータ100と、イーサネットスイッチ110と、通信モジュール50とを用いて実現されていてもよい。なお、イーサネットは登録商標である。また、図23においてはセンサ30やHMI60の図示は省略している。
前方カメラモジュール90は、カメラ本体部91、カメラプロセッサ92、および図示しないメモリを備える。カメラ本体部91は前述のカメラ10に相当する構成である。カメラプロセッサ92は画像プロセッサ20に相当する。また、カメラプロセッサ92は、ここではより好ましい態様として、画像認識結果と地図データとを相補的に用いた位置算出(つまりローカライズ)を実施可能に構成されている。加えて、カメラプロセッサ92は、画像認識結果及び地図データの少なくともいずれか一方を用いて、車両の制御(例えばステアリング制御)を実施する機能を備える。当該前方カメラモジュール90は、画像認識の結果としての地物情報や車両情報(たとえば現在位置やヨーレート等)のデータを逐次(例えば100ミリ秒ごとに)をロケータ100に提供する。前方カメラモジュール90とロケータ100とのデータ通信は、CAN(Controller Area Network:登録商標)や、FlexRay(登録商標)、Ethernet(登録商標)、USB、UART等によって実現されればよい。
ロケータ100は、サーバ3から提供される地図データを用いて現在位置を特定する装置である。ロケータ100はロケータプロセッサ101、揮発性メモリ102、及び不揮発性メモリ103を備える。ロケータ100は、測位センサ30aとしての機能を備える。ロケータプロセッサ101は、前方カメラモジュール90から提供される画像認識結果や車両情報を逐次取得し、プローブデータとしてサーバ3にアップロードする。また、ロケータ100は、通信モジュール50等を介してサーバ3から、自車位置に応じた地図データをダウンロードし、不揮発性メモリ103に保存する。このようなロケータ100は、1つの側面において、地図データに送受信に係る処理を実施するECUに相当する。
ロケータ100は、サーバ3からダウンロードした地図のうち、自車両の走行にかかる区間のデータを揮発性メモリ102に逐次展開し、前方カメラモジュール90に逐次提供する。展開された自車両周辺の地図データは、前方カメラモジュール90によるローカライズやステアリング制御などに使用される。なお、ローカライズやステアリング制御は、前方カメラモジュール90の代わりにロケータ100が実行するように構成されていても良い。各構成が備える機能の配置は適宜変更可能である。
自車両の走行にかかる区間とは、例えば自車両の進行方向(基本的には前方)において、現在位置から所定距離以内となる道路を指す。ここでの所定距離は、地図データの読み出し範囲を規定するパラメータであって、例えば200mである。読み出し範囲は、自車両の前方100mや、400m、500mなどであっても良い。読み出し範囲は、車速や走行路の種別に応じて調整されても良い。例えば車速が早いほど、読み出し範囲は長く設定される。また、走行路が高速道路である場合には、走行路が一般道路である場合よりも読み出し範囲は長く設定されればよい。便宜上、自車両前方所定距離以内の詳細な道路形状情報(曲率や勾配、幅員など)を含む、局所的な地図データのことを前方地図データと称する。前方地図データが現在位置周辺の地図データに相当する。
ロケータ100は、例えばイーサネットスイッチ110を介して通信モジュール50と接続されている。また、ロケータ100は、イーサネットスイッチ110を介して又は直接的に、自動運転ECUやボディECU、運転支援装置などとも相互通信可能に接続されている。図23に示す構成では、地図データの送受信をロケータ100が統括的に行う。また、図23に示す構成によれば、主プロセッサ40が担当していた処理を、画像プロセッサ20及びロケータプロセッサ101が分担して行う。故に、個々のプロセッサの負荷を軽減することができる。
なお、前方カメラモジュール90は撮像した画像フレームは、連続的な映像信号としてマルチメディアECUに出力されるように構成されていても良い。映像信号は、LVDS(Low voltage differential signaling)など、所定の形式で伝送されれば良い。また、ロケータ100と通信モジュール50の間に存在するイーサネットスイッチ110は任意の要素である。ロケータ100と通信モジュール50はUSBケーブル等で直接的に接続されていても良い。加えて、ロケータ100は、ナビゲーションECUやマルチメディアECUを援用して実現されていてもよい。ナビゲーションECUは、乗員に対する地図表示や経路案内処理を実行するECUである。マルチメディアECUは、オーディオや、動画再生、ウェブブラウジング等の機能を提供するECUである。既存のECUに、地図データの送受信及び管理機能を追加する構成によれば、システムの導入コストを低減することができる。
また、車載システム2において、サーバ3から地図データをダウンロードする系統と、プローブデータをサーバ3にアップロードする系統は分離されていても良い。例えば図24に示す例では、マルチメディアECU120が、前方カメラモジュール90から画像認識結果及び車両情報を取得し、プローブデータとしてパッケージングを行い、通信モジュール50を介してサーバ3にアップロードする。つまり、マルチメディアECU120がプローブデータのサーバ3へのアップロードを制御する。また、図24に示す構成では、ロケータ100が通信モジュール50を介してサーバ3から地図データをダウンロードし、運転支援装置130を介して前方カメラモジュール90に、前方地図データを逐次提供する。つまり、ロケータ100が地図のダウンロードを制御する。運転支援装置130は、ロケータ100から提供された前方地図データを前方カメラモジュール90に逐次提供する。また、運転支援装置130は、前方カメラモジュール90による自動走行制御が継続困難となった場合には、前方カメラモジュール90の代わりに、前方地図データを用いて所定時間/所定距離、車両を自動走行させる。上記構成によれば、システム異常に対するロバスト性を高めることができる。
[付言]
この明細書および図面等における開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。例えば、開示は、実施形態において示された部品および/または要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示は、実施形態に追加可能な追加的な部分をもつことができる。開示は、実施形態の部品および/または要素が省略されたものを包含する。開示は、ひとつの実施形態と他の実施形態との間における部品および/または要素の置き換え、または組み合わせを包含する。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、請求の範囲の記載によって示され、さらに請求の範囲の記載と均等の意味及び範囲内での全ての変更を含むものと解されるべきである。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された1つ乃至は複数の機能を実行するようにプログラムされた専用コンピュータにより、実現されてもよい。また、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。さらに、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと1つ以上のハードウェア論理回路との組み合わせにより構成された1つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
なお、ここでの制御部とは、例えば主プロセッサ40、画像プロセッサ20、サーバプロセッサ31、カメラプロセッサ92、ロケータプロセッサ101、マルチメディアプロセッサ121等、種々のプロセッサを指す。上述した種々のプロセッサが提供する手段および/または機能は、実体的なメモリ装置に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。通信マイコン123が備える機能の一部又は全部はハードウェアとして実現されても良い。或る機能をハードウェアとして実現する態様には、1つ又は複数のICなどを用いて実現する態様が含まれる。プロセッサとしては、CPUや、MPU(Micro Processor Unit)、GPU(Graphics Processing Unit)、データフロープロセッサ(DFP:Data Flow Processor)など、多様なプロセッサを採用することができる。また、1つの装置(例えば前方カメラモジュール90)は、CPUや、MPU、GPU、DFPなど、複数種類のプロセッサを組み合せて実現されていてもよい。さらに、例えば主プロセッサ40が提供すべき機能の一部は、FPGA(Field-Programmable Gate Array)や、ASIC(Application Specific Integrated Circuit)などを用いて実現されていても良い。