IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立オートモティブシステムズ株式会社の特許一覧

<>
  • 特許-地図生成・自己位置推定装置 図1
  • 特許-地図生成・自己位置推定装置 図2
  • 特許-地図生成・自己位置推定装置 図3
  • 特許-地図生成・自己位置推定装置 図4
  • 特許-地図生成・自己位置推定装置 図5
  • 特許-地図生成・自己位置推定装置 図6
  • 特許-地図生成・自己位置推定装置 図7
  • 特許-地図生成・自己位置推定装置 図8
  • 特許-地図生成・自己位置推定装置 図9
  • 特許-地図生成・自己位置推定装置 図10
  • 特許-地図生成・自己位置推定装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】地図生成・自己位置推定装置
(51)【国際特許分類】
   G01C 21/26 20060101AFI20240927BHJP
   G08G 1/0969 20060101ALI20240927BHJP
   G09B 29/00 20060101ALI20240927BHJP
   G09B 29/10 20060101ALI20240927BHJP
【FI】
G01C21/26 B
G08G1/0969
G09B29/00 Z
G09B29/10 A
【請求項の数】 15
(21)【出願番号】P 2021081705
(22)【出願日】2021-05-13
(65)【公開番号】P2022175366
(43)【公開日】2022-11-25
【審査請求日】2024-02-07
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】粂 秀行
(72)【発明者】
【氏名】坂野 盛彦
(72)【発明者】
【氏名】緒方 健人
(72)【発明者】
【氏名】小森谷 佑一
(72)【発明者】
【氏名】豊田 英弘
【審査官】西畑 智道
(56)【参考文献】
【文献】特開2019-207177(JP,A)
【文献】特開2019-207214(JP,A)
【文献】特許第6861916(JP,B1)
【文献】国際公開第2017/154061(WO,A1)
【文献】米国特許出願公開第2019/0323843(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-21/36
G01C 23/00-25/00
G08G 1/00-99/00
G09B 29/00
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
自車の周囲の環境を計測する外界センサが取得したデータを、地図生成用データと、自己位置推定用データとに割り当てるデータ割当部と、
前記地図生成用データに基づき、地図を生成する地図生成部と、
前記地図生成部が生成した生成地図と、前記自己位置推定用データとに基づいて、前記生成地図における前記自車の走行位置を推定する自己位置推定部と、を備える地図生成・自己位置推定装置であって、
前記データ割当部は、データ割当方法に基づいて前記地図生成用データと前記自己位置推定用データの間の相対位置の真値を算出し、
前記地図生成・自己位置推定装置は、前記相対位置の真値と前記自己位置推定部が算出した自己位置推定結果から、自己位置推定の誤差を評価する精度評価部を備えることを特徴とする地図生成・自己位置推定装置。
【請求項2】
請求項1に記載の地図生成・自己位置推定装置であって、
前記データ割当部は、前記外界センサの計測周期ごとに、該計測周期のデータを前記地図生成用データと前記自己位置推定用データのいずれかに割り当てるものであって、センサで取得した前記自車の相対移動量を用いて前記相対位置の真値を算出することを特徴とする地図生成・自己位置推定装置。
【請求項3】
請求項2に記載の地図生成・自己位置推定装置であって、
前記データ割当部は、前記外界センサが取得したデータを前記自己位置推定用データに割り当てた際に、最も新しい前記地図生成用データと該自己位置推定用データの間の相対位置姿勢を前記相対位置の真値とする、
又は、
前記データ割当部は、前記自己位置推定用データのそれぞれに対し、相対位置姿勢の差が最も小さくなる前記地図生成用データを選択し、該自己位置推定用データと該地図生成用データの間の相対位置姿勢を前記相対位置の真値とすることを特徴とする地図生成・自己位置推定装置。
【請求項4】
請求項1に記載の地図生成・自己位置推定装置であって、
前記外界センサは複数のセンサを含み、
前記データ割当部は、各外界センサが計測したデータを前記地図生成用データと前記自己位置推定用データのいずれかに割り当て、事前の校正によって算出された前記各外界センサ間の設置位置姿勢を用いて前記相対位置の真値を算出することを特徴とする地図生成・自己位置推定装置。
【請求項5】
請求項4に記載の地図生成・自己位置推定装置であって、
前記データ割当部は、前記各外界センサのデータを、前記各外界センサの計測周期によらず、固定的に前記地図生成用データと前記自己位置推定用データのいずれかに割り当てる、
又は、
前記データ割当部は、前記各外界センサのデータを、前記各外界センサの計測周期ごとに、変動的に前記地図生成用データと前記自己位置推定用データのいずれかに割り当てる、
又は、
前記データ割当部は、前記各外界センサが自車停止中に取得したデータのみを用いて前記相対位置の真値を算出することを特徴とする地図生成・自己位置推定装置。
【請求項6】
請求項1に記載の地図生成・自己位置推定装置であって、
前記データ割当部は、事前に設定された前記地図生成部が処理できる最大データ容量もしくは前記地図生成部が必要とするデータ容量に基づいて、前記外界センサのデータを割り当てる、
又は、
前記データ割当部は、前記地図生成用データと前記自己位置推定用データを排他的に割り当てることを特徴とする地図生成・自己位置推定装置。
【請求項7】
請求項1に記載の地図生成・自己位置推定装置であって、
前記データ割当部と前記地図生成部はオンラインで動作し、
前記自己位置推定部は、前記地図生成部が生成した生成地図と、一時的に保存された過去の前記自己位置推定用データとに基づいて、前記生成地図における前記自車の走行位置を推定する、
或いは、
前記データ割当部は、データ割当方法を変更した複数組の前記地図生成用データ、前記自己位置推定用データ、前記相対位置の真値を用意し、
前記地図生成部は、複数の前記地図生成用データのそれぞれに対して前記生成地図を生成し、
前記自己位置推定部は、複数の前記生成地図と、複数の前記生成地図と対応する前記自己位置推定用データとを用いて、それぞれの前記生成地図における前記自車の走行位置を推定し、
前記精度評価部は、各組のデータに対する前記自己位置推定の誤差から、前記自己位置推定の誤差の統計量もしくは分布を算出する、
或いは、
前記データ割当部は、前記地図生成用データと前記自己位置推定用データにノイズを付与し、
前記精度評価部は、前記ノイズの大きさと前記自己位置推定の誤差の関係を算出することを特徴とする地図生成・自己位置推定装置。
【請求項8】
請求項1に記載の地図生成・自己位置推定装置であって、
前記精度評価部が算出した前記自己位置推定の誤差に基づいて、前記生成地図を記録地図として記録する記録部をさらに備え、
前記記録部は、前記自己位置推定の誤差があらかじめ設定された閾値より小さい場合のみ、前記生成地図を前記記録地図として記録することを特徴とする地図生成・自己位置推定装置。
【請求項9】
請求項8に記載の地図生成・自己位置推定装置であって、
前記記録部は、前記生成地図のうち、前記自己位置推定の誤差があらかじめ設定された閾値よりも小さい区間のみを前記記録地図として記録することを特徴とする地図生成・自己位置推定装置。
【請求項10】
請求項8に記載の地図生成・自己位置推定装置であって、
前記データ割当部は、データ割当方法を変更した複数組の前記地図生成用データ、前記自己位置推定用データ、前記相対位置の真値を用意し、
前記地図生成部は、複数の前記地図生成用データのそれぞれに対して前記生成地図を生成し、
前記自己位置推定部は、複数の前記生成地図と、複数の前記生成地図と対応する前記自己位置推定用データとを用いて、それぞれの前記生成地図における前記自車の走行位置を推定し、
前記精度評価部は、各組のデータに対する前記自己位置推定の誤差を算出し、
前記記録部は、前記自己位置推定の誤差の平均、中央値、もしくは最大値が最も小さい組において生成された前記生成地図を前記記録地図として記録することを特徴とする地図生成・自己位置推定装置。
【請求項11】
請求項10に記載の地図生成・自己位置推定装置であって、
前記地図生成部は、地図生成用パラメータを変更することで複数の前記生成地図を生成し、
前記自己位置推定部は、複数の前記生成地図のそれぞれに対して、自己位置推定用パラメータを変更することで複数の前記自己位置推定結果を算出し、
前記精度評価部は、複数の前記自己位置推定の誤差を算出し、
前記記録部は、前記自己位置推定の誤差の平均、中央値、もしくは最大値が最も小さい組において生成された前記生成地図と、前記生成地図の生成に用いた前記地図生成用パラメータおよび前記自己位置推定結果の算出に用いた前記自己位置推定用パラメータとを、前記記録地図として記録することを特徴とする地図生成・自己位置推定装置。
【請求項12】
請求項8に記載の地図生成・自己位置推定装置であって、
前記記録部は、前記地図生成・自己位置推定装置とネットワークを介して接続されたサーバに前記記録地図を記録する、
又は、
前記記録部は、前記地図生成・自己位置推定装置とネットワークを介して接続されたサーバに前記記録地図を記録すると共に、前記自己位置推定の誤差に基づいて前記生成地図を前記記録地図として記録しない場合に、前記自車の走行区間に関する情報を前記サーバに送信することを特徴とする地図生成・自己位置推定装置。
【請求項13】
請求項1に記載の地図生成・自己位置推定装置であって、
前記精度評価部が算出した前記自己位置推定の誤差に基づいて、前記外界センサの異常を判定するセンサ異常判定部をさらに備えることを特徴とする地図生成・自己位置推定装置。
【請求項14】
請求項8に記載の地図生成・自己位置推定装置であって、
前記記録部は、前記記録地図に前記精度評価部が算出した前記自己位置推定の誤差を含め、
前記記録地図が存在する区間を前記自車が再度走行した際に、前記自己位置推定部は、前記外界センサのデータと前記記録地図とから、前記記録地図における前記自車の位置姿勢を推定し、
前記地図生成・自己位置推定装置は、前記自己位置推定部が推定した前記記録地図における前記自車の位置姿勢と、前記記録地図に含まれる前記自己位置推定の誤差とから、現在の予測誤差を算出し、前記現在の予測誤差に基づいて前記地図生成・自己位置推定装置の動作モードを地図生成モードと位置推定モードから選択するモード選択部をさらに備えることを特徴とする地図生成・自己位置推定装置。
【請求項15】
請求項14に記載の地図生成・自己位置推定装置であって、
前記モード選択部は、前記現在の予測誤差に基づいて、前記地図生成・自己位置推定装置と接続された自動運転・運転支援システムに許容する動作モードを選択することを特徴とする地図生成・自己位置推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図生成・自己位置推定装置に関する。
【背景技術】
【0002】
自動運転・運転支援システムの適用範囲を拡大するためには、自己位置推定に基づく地図からの情報取得が重要である。しかし、高速道路においては、自動運転・運転支援システム用の地図が整備されているが、一般道や自宅周辺などの住宅街における地図整備の目途はたっていない。これに対して、初回の走行時に周囲の物体に関するデータと走行経路からなる地図を自己生成し、次回以降の走行時に生成地図上で自車の位置姿勢を推定する手法が存在するが、生成された地図によっては自己位置推定の誤差が大きくなり、自動運転・運転支援システムに用いることができないという問題がある。これに対して、特許文献1には、「自己位置推定装置は、第1自己位置推定部と、第2自己位置推定部と、異常発生確率計算式記憶部と、異常発生確率計算部と、最終自己位置推定部と、を備える。第1自己位置推定部は、移動領域の環境地図と、現在のステップで観測された「移動体から移動領域内に存在している物体までの距離」及び「移動体に対する物体の方位」と、を少なくとも用いて移動体の状態の確率分布を最新の状態に更新し、その最新の状態の確率分布に基づいて第1自己位置を推定する。第2自己位置推定部は、最終自己位置推定部で推定された1つ前のステップにおける移動体の最終自己位置に、オドメトリにより取得される、1つ前のステップから現在のステップまでの移動体の移動距離及び移動方向を加算することにより第2自己位置を推定する。異常発生確率計算式記憶部は、移動体の学習移動時において、第1自己位置推定部が第1自己位置を推定した際に取得された学習データを機械学習して得られた異常発生確率計算式を記憶する。異常発生確率計算部は、移動体の本移動時において、第1自己位置推定部が第1自己位置を推定した際に取得される複数の変数を異常発生確率計算式に入力して異常発生確率を計算する。最終自己位置推定部は、第1自己位置推定部から取得される第1自己位置と第2自己位置推定部から取得される第2自己位置とを用いて算出される重み付き平均値を、現在のステップにおける最終自己位置とする。学習データは、学習移動時に第1自己位置推定部において第1自己位置を推定した際に取得される複数の変数と、そのときの第1自己位置推定結果を正常又は異常に分類したときの分類結果と、を関連付けたデータを複数有する。最終自己位置推定部で用いられる重み係数は、異常発生確率計算部で取得される異常発生確率の関数である。」という記載がある。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6438354号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、事前の学習移動時に取得した学習データを用いて、機械学習により、自己位置推定の異常発生確率を計算することができる。しかし、地図生成・自己位置推定に基づく自動運転・運転支援システムへの適用においては、事前の学習移動が必要であるという問題がある。また、学習移動時に自己位置推定の真値を取得するため、環境への既知物体の設置やセンサの追加が必要であるという問題がある。加えて、異常発生確率は自己位置推定時に計算されるという問題がある。自己位置推定に基づいた自動運転・運転支援システムの動作中に、異常を判定し、システムを停止させることは可能な限り少なくしたい。一方、地図生成・自己位置推定においては、生成された地図が自己位置推定精度に大きな影響を与える。そのため、初回の走行である地図生成時に、生成地図を用いた自己位置推定の精度を見積もる必要がある。
【0005】
本発明は、上記事情に鑑みてなされたもので、事前の学習移動や環境への既知物体の設置、センサの追加なしで、地図生成時に、生成地図を用いた自己位置推定の精度を見積もることができる地図生成・自己位置推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の代表的な地図生成・自己位置推定装置の一つを示せば、自車の周囲の環境を計測する外界センサが取得したデータを、地図生成用データと、自己位置推定用データとに割り当てるデータ割当部と、前記地図生成用データに基づき、地図を生成する地図生成部と、前記地図生成部が生成した生成地図と、前記自己位置推定用データとに基づいて、前記生成地図における前記自車の走行位置を推定する自己位置推定部と、を備え、前記データ割当部は、データ割当方法に基づいて前記地図生成用データと前記自己位置推定用データの間の相対位置の真値を算出し、前記地図生成・自己位置推定装置は、前記相対位置の真値と前記自己位置推定部が算出した自己位置推定結果から、自己位置推定の誤差を評価する精度評価部を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、事前の学習移動や環境への既知物体の設置、センサの追加なしで、地図生成時に、生成地図を用いた自己位置推定の精度を見積もることができる地図生成・自己位置推定装置を実現することが可能である。
【0008】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
図1】第1の実施の形態の地図生成・自己位置推定装置100のブロック構成を示す図。
図2】データ間の相対位置の真値230の一例を示す図。
図3】外界センサ310の計測周期毎のデータ割当の処理の流れを示した図。
図4】外界センサ310の計測周期毎のデータ割当におけるデータ間の相対位置の真値230の一例を示す図。
図5】外界センサ310としてステレオカメラ350を用いた場合のデータ割当の一例を示した図。
図6】車両が走行した環境の一例を示す図。
図7】地図生成部120が生成した生成地図240の一例を示す図。
図8】自己位置推定部130が推定した自車の位置姿勢252の一例を示す図。
図9】精度評価部140における精度評価の一例を示す図。
図10】第2の実施の形態の地図生成・自己位置推定装置500のブロック構成を示す図。
図11】第3の実施の形態の地図生成・自己位置推定装置600のブロック構成を示す図。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態を図面を用いて説明する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する部分には同一の符号を付し、その繰り返し説明は省略する場合がある。
【0011】
[第1の実施の形態]
以下、図1図9を参照して、地図生成・自己位置推定装置の第1の実施の形態を説明する。なお、地図生成・自己位置推定装置は、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等のメモリ等を備えるコンピュータとして構成されている。地図生成・自己位置推定装置の各機能は、ROMに記憶されたプログラムをプロセッサが実行することによって実現される。RAMは、プロセッサが実行するプログラムによる演算の中間データ等を含むデータを格納する。
【0012】
(ブロック構成)
図1は第1の実施の形態の地図生成・自己位置推定装置100のブロック構成を示す図である。地図生成・自己位置推定装置100は、センサ群300(以下、単にセンサ300と呼ぶ場合がある)の計測データを入力とする。地図生成・自己位置推定装置100は、データ割当部110と、地図生成部120と、自己位置推定部130と、精度評価部140と、を備える。
【0013】
地図生成・自己位置推定装置100は、センサ300の出力から点群(自車周辺物体の計測結果として得られる点の集合)と自車の走行位置からなる地図を生成し、生成地図として保存する。
【0014】
データ割当部110は、センサ300の出力を、地図用データ(地図生成用データとも称する)210と、位置推定用データ(自己位置推定用データとも称する)220に割り当てる。また、データ割当部110は、データ割当方法に基づいて地図用データ210と位置推定用データ220のデータ間の相対位置の真値230を算出する。地図生成部120は、地図用データ210から、点群と自車の走行位置からなる生成地図240を生成する。自己位置推定部130は、位置推定用データ220と生成地図240とを対応づけることで、生成地図上における自車の位置姿勢を推定する。精度評価部140は、データ間の相対位置の真値230から、自己位置推定部130が推定した生成地図上における自車の位置姿勢の精度を評価する。
【0015】
(センサの構成)
地図生成・自己位置推定装置100に計測データを入力するセンサ300の構成について説明する。センサ300は、特性が異なる複数のセンサ(310、320)を含んで構成される。
【0016】
外界センサ310は、車両(自車又は自車両)に搭載され、車両の周囲の環境を計測するセンサである。外界センサ310は、たとえば、単眼カメラ、ステレオカメラ、LiDAR、ミリ波レーダー、ソナーなどであり、車両周囲に存在する物体の三次元位置を計測する。なお、単眼カメラを用いる場合には、取得されるデータは画像であり、直接、三次元位置を取得することはできないが、公知のモーションステレオ法などにより、複数の画像を用いることで、三次元位置を計測することが可能である。また、路面の形状を仮定することで、画像中で検出した白線や停止線、横断歩道などの三次元位置を推定しても良い。地図生成・自己位置推定装置100には1つ以上の任意の数の外界センサの計測結果(外界認識データ)が入力される。
【0017】
相対位置センサ320は、自車の相対位置を出力するセンサである。ただし、外界センサ310と同様にセンサの計測結果から自車の相対位置を推定する処理を含む。ここで、相対位置とは、ある時刻の車両の位置姿勢を基準とした位置姿勢を表す。たとえば、相対位置センサ320は、車両のステアリング角度とタイヤの回転量から自車の相対的な動きを推定する公知のホイールオドメトリ法でも良い。また、外界センサ310であるカメラやLiDARの計測結果から自車の相対的な動きを推定する公知の画像オドメトリ法やLiDARオドメトリ法でも良い。
【0018】
なお、車両の位置姿勢の基準を車両のどこに設定するかは任意である。本実施例では、車両の位置姿勢の基準を、外界センサ310の位置姿勢とする。すなわち、車両の位置姿勢と外界センサ310の位置姿勢は同じとする。車両の他の場所を基準とする場合においても、事前の校正により取得した、車両の基準位置姿勢に対する外界センサ310の取り付け位置姿勢を用いることで、処理の任意のタイミングで外界センサ310の位置姿勢を車両の位置姿勢に変換することができる。したがって、車両の位置姿勢の基準をどこに設定しようとも、適宜位置姿勢を変換することで、本発明を適用することができる。
【0019】
また、外界センサ310が複数存在する場合には、任意のひとつの外界センサ310の位置姿勢を車両の位置姿勢の基準とする。事前の校正により取得された複数の外界センサ310の間の位置姿勢を用いることで、処理の任意のタイミングで基準とした外界センサ310の位置姿勢を他の外界センサ310の位置姿勢へ変換することができる。
【0020】
(地図生成・自己位置推定装置の動作)
図2図9を用いて、センサ300の計測データを入力とする地図生成・自己位置推定装置100の各部における処理の内容について説明する。
【0021】
(データ割当部の動作)
まず、図2図5を用いて、データ割当部110における処理の内容について説明する。データ割当部110は、センサ300の出力を、地図用データ210と、位置推定用データ220に割り当てる。また、データ割当部110は、データ割当方法に基づいて地図用データ210と位置推定用データ220のデータ間の相対位置の真値230を算出する。
【0022】
図2はデータ間の相対位置の真値230の一例を示す図である。データ間の相対位置の真値230は、位置推定用データ220の番号、地図用データ210の番号、相対位置姿勢の組によって定義される。位置推定用データ220の番号、地図用データ210の番号は、外界センサ310の計測周期毎に設定される番号である。すなわち、各位置推定用データ220は、それぞれある地図用データ210に対応づけられる。また、相対位置姿勢は、地図用データ210の取得時の自車の位置姿勢と、位置推定用データ220の取得時の自車の位置姿勢の間の相対位置姿勢である。なお、外界センサ310が複数存在する場合には、データ番号は、どの外界センサ310により取得されたデータなのかが区別できるように付与される。たとえば、x番目の外界センサ310で取得されたy個目のデータにx-yというデータ番号を付与する。
【0023】
データ間の相対位置の真値230は、データの割当方法に基づいて算出される。具体的な算出方法は後述する。
【0024】
データ割当部110によるデータの割当方法は様々な方法が考えられる。以降では、外界センサ310の計測周期毎にデータを割り当てる方法と、複数の外界センサ310が存在する場合に外界センサ毎にデータを割り当てる方法と、生成地図240のデータ容量に基づいてデータを割り当てる方法と、について説明する。ただし、データ割当の方法はこれに限定されない。また、複数のデータ割当方法を組み合わせて用いても良い。
【0025】
なお、データ割当部110は、センサ300の出力を地図用データ210と位置推定用データ220に排他的に割り当てる方が望ましい。これは、地図生成部120と自己位置推定部130で同じデータを多く用いれば用いるほど、本来見積もりたい次回の走行時における自己位置推定の精度よりも、精度評価部140が見積もる精度が向上してしまうためである。
【0026】
(外界センサの計測周期毎のデータ割当)
図3は外界センサ310の計測周期毎のデータ割当の処理の流れを示した図である。ステップS111は外界センサ310の計測回数iを0で初期化し、ステップS112に進む。ステップS112はセンサ300から情報を取得し、ステップS113に進む。なお、外界センサ310と相対位置センサ320の計測周期が一致しない場合には、相対位置センサ320のデータに補間処理などを適用することにより、外界センサ310の計測タイミングにおける自車の位置姿勢を取得する。ステップS113は関数f(i)が真の場合はステップS114に、偽の場合はステップS115に進む。ステップS114は計測回数iのセンサ300のデータを地図用データ210に追加し、ステップS116に進む。ステップS115は計測回数iのセンサ300のデータを位置推定用データ220に追加し、ステップS116に進む。ステップS116は計測回数iを1増やしてステップS112に進む。
【0027】
ここで、関数f(i)はセンサ300の計測回数iを入力とし、真偽値を返す任意の関数である。たとえば、関数f(i)をiが偶数のときに真、iが奇数のときに偽を返す関数とすることで、センサ300の計測毎に地図用データ210と位置推定用データ220に交互にデータを追加することができる。また、関数f(i)を計測回数iによらずランダムに真偽を返す関数としても良い。
【0028】
図4は外界センサ310の計測周期毎のデータ割当におけるデータ間の相対位置の真値230の一例を示す図である。図4は、地図用データ210に割り当てられたデータを取得した際の自車の位置姿勢211と、位置推定用データ220に割り当てられたデータを取得した際の自車の位置姿勢221と、データ間の相対位置の真値230に含まれる相対位置姿勢231を示している。また、図4では、関数f(i)をiが偶数のときに真、iが奇数のときに偽を返す関数とすることで、地図用データ210と位置推定用データ220に交互にデータを割り当てた場合の例を示している。
【0029】
前述したように、データ間の相対位置の真値230は、位置推定用データ220の番号、地図用データ210の番号、相対位置姿勢231の組によって定義される。たとえば、外界センサ310の計測周期毎のデータ割当においては、各位置推定用データ220に対応する地図用データ210を、各位置推定用データ220の追加時に最も新しい地図用データ210の番号とする。相対位置姿勢231は、各位置推定用データ220に対応する地図用データ210の取得時の自車の位置姿勢から、各位置推定用データ220の取得時の自車の位置姿勢への相対位置姿勢であり、相対位置センサ320により取得される。なお、相対位置センサ320により取得される相対位置姿勢231には誤差が含まれるが、短距離・短時間における誤差は小さいため、本実施例では、相対位置センサ320により取得される相対位置姿勢231を真値とする。
【0030】
また、各位置推定用データ220に対応する地図用データ210の求め方は上述した方法に限定されない。たとえば、相対位置姿勢231の大きさが最も小さくなる(つまり、空間的に最も近い)地図用データ210を選択して、対応する地図用データ210としても良い。この場合には、各位置推定用データ220の追加時に対応する地図用データ210を決定できないが、相対位置センサ320で取得する相対位置姿勢231が短距離・短時間になるため、真値の精度が向上する。
【0031】
(センサ毎のデータ割当)
データ割当部110は、外界センサ310が複数存在する場合に外界センサ毎にデータを割り当てても良い。
【0032】
図5は外界センサ310としてステレオカメラ350を用いた場合のデータ割当の一例を示した図である。ステレオカメラ350は、左カメラと右カメラからなる。データ割当部110は、たとえば、左カメラが取得したデータを地図用データ210、右カメラが取得したデータを位置推定用データ220とする。なお、通常、ステレオカメラでは左右の画像を対応付けることで距離を算出するが、ここではステレオカメラをセンサ間の相対位置姿勢が既知の2つの単眼カメラとして扱っている。また、計測周期毎にどちらのカメラをどちらのデータに割り当てるかを変更しても良い。
【0033】
図5は、地図用データ210に割り当てられたデータを取得した際の自車の位置姿勢211と、位置推定用データ220に割り当てられたデータを取得した際の自車の位置姿勢221と、データ間の相対位置の真値230に含まれる相対位置姿勢231を示している。ここで、地図用データ210に割り当てられたデータを取得した際の自車の位置姿勢211は、左カメラの位置姿勢、位置推定用データ220に割り当てられたデータを取得した際の自車の位置姿勢221は、右カメラの位置姿勢となる。また、各位置推定用データ220に対応する地図用データ210は、同時刻に取得されたデータとする。そのため、相対位置姿勢231は左カメラと右カメラの間の相対位置姿勢となり、これはステレオカメラ350においては、事前の校正により算出されている。
【0034】
センサ毎のデータ割当に用いる外界センサ310はステレオカメラ350に限定されず、任意の複数の外界センサ310に適用することができる。たとえば、外界センサ310としてフロントカメラ、リアカメラ、レフトカメラ、ライトカメラの4つのカメラからなる周辺監視用カメラを用い、フロントカメラとレフトカメラが取得したデータを地図用データ210、リアカメラとライトカメラが取得したデータを位置推定用データ220としても良い。この場合においても、各位置推定用データ220に対応する地図用データ210を同時刻に取得したデータとすると、相対位置姿勢231は、事前の校正により算出されたカメラ間の位置姿勢となる。
【0035】
なお、外界センサ310は、ステレオカメラ350や周辺監視用カメラのように、複数の同種のセンサからなるセンサに限らず、カメラとLiDARのように、複数の異種のセンサを用いる場合にも同様のデータ割当方法を適用することができる。
【0036】
また、複数の外界センサ310の計測タイミングが一致していない場合には、外界センサ310の計測周期毎のデータ割当の処理を組み合わせても良い。すなわち、位置推定用データ220の追加時に最も新しい地図用データ210を対応するデータとし、相対位置姿勢231を、相対位置センサ320で取得した相対位置姿勢と、事前の校正により算出されたセンサ間の相対位置姿勢と、から算出する。
【0037】
ただし、相対位置センサ320で取得した相対位置姿勢には誤差が含まれる。そのため、データ割当部110は、自車が停止しているときに取得された地図用データ210および位置推定用データ220だけをデータ間の相対位置の真値230の算出に用いても良い。自車が停止しているときのデータのみを用いることで、外界センサ310の計測周期の差の影響を排除することができる。
【0038】
センサ毎のデータ割当において、外界センサ310の計測回数によらず(固定的に)、外界センサ310に対してデータの割り当て方法を決定すると、各外界センサ310の設置位置には違いがあることから、生成地図240と位置推定用データ220の走行位置の違いによる誤差を評価することができる。たとえば、ステレオカメラ350の左カメラを地図用データ210、右カメラを位置推定用データ220に割り当てると、生成地図240に対して、ステレオカメラ350の基線長分だけ右側を走行したデータで位置推定および精度評価を実施することになる。すなわち、地図生成・自己位置推定において誤差要因となる、初回の地図生成時と、次回以降の自己位置推定時の走行経路の違いの影響を見積もることができる。
【0039】
一方で、外界センサ310の計測回数によって(変動的に)、外界センサ310に対するデータの割り当てを変更すると(たとえば、左カメラを地図用データ210、右カメラを位置推定用データ220とする割り当てと、左カメラを位置推定用データ220、右カメラを地図用データ210とする割り当てを計測周期毎に実施すると、換言すれば、計測周期毎に、地図用データ210に割り当てるカメラと位置推定用データ220に割り当てるカメラを交互に変更すると)、位置姿勢が異なる外界センサ310のデータを用いて生成地図240を生成するため、次回以降の走行時の走行経路の違いによる精度低下が少ない生成地図240を生成することができる。
【0040】
(生成地図のデータ容量に基づいたデータ割当)
データ割当部110は、生成地図240のデータ容量に基づいてデータを割り当てても良い。
【0041】
たとえば、地図生成部120の処理、地図生成・自己位置推定装置100を搭載するハードウェアの性能から、あらかじめ設定された所定の処理周期での動作において、地図生成部120が処理できる最大データ容量を決定することができる。また、地図生成・自己位置推定装置100を搭載するハードウェアの性能、システムの仕様、および次回の走行時において自己位置推定処理が所定の処理周期で動作するための生成地図240の容量から決定される生成地図240の最大容量に基づいて、地図生成部120が必要とするデータ容量を決定することができる。
【0042】
そのため、データ割当部110は、地図生成部120が処理できる最大データ容量もしくは地図生成部120が必要とするデータ容量(のデータ)を地図用データ210に割り当て、残りのデータを位置推定用データ220に割り当てても良い。このようにデータを割り当てることにより、生成地図240の生成に十分なデータを割り当てることで、生成地図240を劣化させることなく、使用しない予定であったデータを用いて生成地図240を用いた自己位置推定の精度を見積もることができる。
【0043】
ここで、外界センサ310から取得されるデータの量は、周囲環境や走行環境などによって変化する。したがって、データ割当部110が、地図用データ210と位置推定用データ220に割り当てるデータの割合は環境によって変化する。
【0044】
なお、地図生成部120の処理によっては、地図生成部120において、生成地図240に用いるデータと、生成地図240に用いないデータを判定する場合がある。そのような場合においては、一度、すべてのデータを地図用データ210として地図生成部120の処理を実施し、地図生成部120において使用されなかったデータを位置推定用データ220としても良い。
【0045】
(地図生成部の動作)
次に、図6図7を用いて、地図生成部120における処理の内容について説明する。地図生成部120は、地図用データ210から、点群と自車の走行位置からなる生成地図240を生成する。なお、前述したように、本実施例では自車の走行位置は外界センサ310の位置姿勢である。
【0046】
図6は車両が走行した環境の一例を示す図である。車両400は走行位置(走行経路)401を走行し、走行位置401の周囲には車線区分線402、建物403、樹木404、電柱405、といった物体が存在する。
【0047】
図7は地図生成部120が生成した生成地図240の一例を示す図である。図7では図6に示した環境において地図生成部120が生成した生成地図240を示している。生成地図240は、外界センサ310で取得した点群241と、相対位置センサ320で取得した走行位置242と、からなる。
【0048】
点群241は、車両400の走行中に外界センサ310で自車周辺物体を検出(計測)した結果として得られる点の集合である。
【0049】
走行位置242は、相対位置センサ320で取得した、ある時刻の車両400の位置姿勢を座標系原点とした各時刻における車両400の位置姿勢である。
【0050】
外界センサ310で取得した点群241は、外界センサ310を基準とした物体の三次元位置を、外界センサ310が点群を計測した時刻における走行位置242を用いて、走行位置242と同じ座標系に変換することで取得する。すなわち、点群241と走行位置242は、同じ座標系における位置および位置姿勢である。
【0051】
また、点群241、走行位置242は、三次元空間における位置および位置姿勢でも良いし、二次元空間における位置および位置姿勢でも良い。三次元空間を用いると、二次元空間では表現されない高さやピッチを推定することができる。一方で、二次元空間を用いると、生成地図240のデータ容量を少なくすることができる。
【0052】
なお、地図生成部120は、点群241に対し、自己位置推定部130で用いる対応付けのためのデータを付加して生成地図240を生成しても良い。たとえば、外界センサ310としてカメラを用いる場合には、点群241の各点に対し、画像の対応付けに用いる特徴量を付加しても良い。また、この場合には、点群241と走行位置242の取得に、画像から点群と画像撮影時のカメラの位置姿勢を推定する公知のSfM(Structure from Motion)法やVisual SLAM(Simultaneous Localization and Mapping)法を用いても良い。SfM法やVisual SLAM法を用いることで、特徴量による対応付けがしやすい点のみを残すことができる。
【0053】
また、外界センサ310が取得したデータに対して路面標示や信号、標識などのランドマークの認識処理をすることで点群241を取得している場合には、各点に対して認識処理の結果を付加しても良い。たとえば、外界センサ310としてカメラを用い、画像から認識した路面標示や標識の位置を点群とする場合には、路面標示の種類や標識の種類を併せて保存しても良い。さらに、白線などの点ではなく、線として保存した方が良い物体については、線のパラメータを生成地図240として保存しても良い。
【0054】
(自己位置推定部の動作)
次に、図8を用いて、自己位置推定部130における処理の内容について説明する。自己位置推定部130は、位置推定用データ220と生成地図240とを対応づけることで、生成地図上における車両の位置姿勢を推定する。
【0055】
図8は自己位置推定部130が推定した自車の位置姿勢252の一例を示す図である。図8では、点群241、走行位置242は、生成地図240のデータを表している。自己位置推定部130は、これら生成地図上において、自車の位置姿勢252を推定する。
【0056】
自己位置推定部130は、位置推定用データ220と生成地図240との対応付けに、公知のICP(Iterative closest point)法やNDT(Normal Distributions Transform)法を用いても良い。ICP法やNDT法を用いる場合、まず、自己位置推定部130は、位置推定用データ220に対し地図生成部120と同じ処理を用いることで点群と走行位置からなる地図(現在地図)を生成する。次に、自己位置推定部130は、生成地図240と現在地図の間の位置姿勢を、各地図に含まれる点群241をICP法やNDT法で対応付けることで求める。生成地図240と現在地図の間の位置姿勢を用いると、地図上の位置姿勢を、もう一方の地図上の位置姿勢へ変換することができる。したがって、生成地図240と現在地図の間の位置姿勢を用いて、現在地図に含まれる走行位置242を、生成地図上の位置姿勢へ変換することで、生成地図上における自車の位置姿勢252を求めることができる。
【0057】
また、自己位置推定部130は、生成地図240に対応付けのためのデータが保存されている場合には、それを用いて対応付けを実施しても良い。たとえば、生成地図240の点群241に画像の特徴量が付与されている場合には、位置推定用データ220に含まれる画像の特徴点と、生成地図240に含まれる点群241を、画像の特徴量に基づいて対応付けても良い。この場合には、画像中の特徴点の位置と、点群241の位置から、公知のPnP(Perspective-n-Point)問題の解法を用いることで、生成地図上における車両の位置姿勢252を求めることができる。
【0058】
また、自己位置推定部130は、生成地図240にランドマークの認識結果が保存されている場合には、公知のランドマークマッチング手法を用いて車両の位置姿勢252を推定しても良い。
【0059】
(精度評価部の動作)
次に、図9を用いて、精度評価部140における処理の内容について説明する。精度評価部140は、データ間の相対位置の真値230から、自己位置推定部130が推定した生成地図上における車両の位置姿勢252の精度を評価する。
【0060】
図9は精度評価部140における精度評価の一例を示す図である。精度評価部140は、自己位置推定部130で推定された各自車の位置姿勢252に対して、データ間の相対位置の真値230を参照することで、対応する地図用データ210の番号と相対位置姿勢231を取得する(図2等参照)。次に、対応する地図用データ210の生成地図240における位置姿勢(走行位置)242と、相対位置姿勢231と、から、生成地図上における真の位置姿勢(走行位置)260を計算する。最後に、真の位置姿勢260と、自己位置推定部130によって推定された位置姿勢252の差を、誤差261として算出する。
【0061】
ここで、精度評価部140は、地図生成部120、自己位置推定部130の内部処理によらず、生成地図240を用いた自己位置推定精度を評価することができる。したがって、地図生成部120、自己位置推定部130で用いる処理に応じて自己位置推定精度が低下する条件は異なるが、それら処理に応じた固有の条件を検出することなく、統一的に生成地図240を用いた自己位置推定の精度を見積もることができる。
【0062】
(地図生成・自己位置推定装置の動作タイミング)
次に、地図生成・自己位置推定装置100の動作タイミングについて説明する。地図生成・自己位置推定装置100は、オンラインで動作しても良いし、オフラインで動作しても良い。すなわち、地図生成・自己位置推定装置100は、センサ300からの入力毎に各部の処理を実施しても良いし、センサ300からの入力を一時的にすべて保存し、地図生成用の走行が終了した際に保存したすべてのデータを用いて一度だけ動作しても良い。地図生成・自己位置推定装置100をオンラインで動作させる場合には、センサ300からの入力を一時的に保存する記憶域は必要ないが、未完成の生成地図240を用いた自己位置推定の精度を評価することになるため、完成した生成地図240を用いた場合の精度との間に差が生じる可能性がある。一方、地図生成・自己位置推定装置100をオフラインで動作させる場合には、完成した生成地図240を用いて自己位置推定の精度を評価することが可能であるが、センサ300からの入力を一時的にすべて保存する記憶域が必要となる。また、オフラインで動作させる場合には、駐停車時など、他の機能が働いでおらず、CPUの処理負荷が少ないタイミングで地図生成・自己位置推定装置100を動作させることができる。
【0063】
ここで、地図生成・自己位置推定装置100は、オンライン動作とオフライン動作を組み合わせることで、少量の記憶域で、生成地図240を用いた自己位置推定精度を高精度に見積もることができる。具体的には、データ割当部110、地図生成部120はオンラインで動作させる。ここでデータ割当部110が割り当てた位置推定用データ220はあらかじめ設定したt秒だけ、記憶域に保存する。そして、自己位置推定部130は、保存されているt秒前の位置推定用データ220を用いて自己位置推定を実施する。このようにすることで、各自己位置推定時において、生成地図240には、各位置推定用データ220の前後の区間が含まれる。したがって、最後のデータまでを使って生成した生成地図240を用いた場合と比較して、自己位置推定結果の差を小さくすることができる。また、t秒分の位置推定用データ220を一時的に保存するだけで良く、センサ300の出力をすべて保存する場合と比較して、必要な記憶域を小さくすることができる。なお、時間(t秒)に代わり、走行距離など、他の指標で記憶する(過去の)データの量を決定しても良い。
【0064】
(作用効果)
上述した第1の実施の形態によれば、次の作用効果が得られる。
【0065】
(1)地図生成・自己位置推定装置100は、データ割当部110と、地図生成部120と、自己位置推定部130と、精度評価部140と、を備える。データ割当部110は、センサ300の出力を、地図用データ210と、位置推定用データ220に割り当てる。また、データ割当部110は、(センサ300の出力の)データ割当方法に基づいて地図用データ210と位置推定用データ220のデータ間の相対位置の真値230を算出する。地図生成部120は、地図用データ210から、点群と自車の走行位置からなる生成地図240を生成する。自己位置推定部130は、位置推定用データ220と生成地図240とを対応づけることで、生成地図上における車両の位置姿勢(走行位置又は自己位置)を推定する。精度評価部140は、データ間の相対位置の真値230から、自己位置推定部130が推定した生成地図上における自車の位置姿勢(走行位置又は自己位置)の精度を評価する(図1)。そのため、事前の走行や既知物体の設置、センサの追加なしで、地図生成時に、生成地図240を用いた自己位置推定の精度を見積もることができる。また、地図生成部120、自己位置推定部130で用いる処理によらずに生成地図240を用いた自己位置推定の精度を見積もることができる。したがって、地図生成部120、自己位置推定部130で用いる処理に応じて自己位置推定精度が低下する条件は異なるが、それら処理に応じた固有の条件を検出することなく、統一的に生成地図240を用いた自己位置推定の精度を見積もることができる。
【0066】
(2)データ割当部110は、外界センサ310の計測周期毎に、該計測周期のデータを地図用データ210、位置推定用データ220のいずれかに割り当てる(図3)。また、データ割当部110は、相対位置センサ320によって取得された自車の相対移動量により、データ間の相対位置の真値230を算出する(図2図4)。そのため、外界センサ310が一つの場合においても、生成地図240を用いた自己位置推定の精度を見積もることができる。
【0067】
(3)データ割当部110は、データ間の相対位置の真値230を算出する際に、各位置推定用データ220に対応する地図用データ210を、各位置推定用データ220の追加時に最も新しい地図用データ210の番号とする(図2図4)。言い換えれば、データ割当部110は、外界センサ310が取得したデータを位置推定用データ220に割り当てた際に、最も新しい地図用データ210と該位置推定用データ220の間の相対位置姿勢をデータ間の相対位置の真値230とする。そのため、各自己位置推定用データ220の追加時に、対応する地図用データ210を決定することができ、処理が簡易となる。
【0068】
(4)データ割当部110は、データ間の相対位置の真値230を算出する際に、各位置推定用データ220に対応する地図用データ210を、相対位置姿勢231の大きさが最も小さくなる地図用データ210とする。言い換えれば、データ割当部110は、位置推定用データ220のそれぞれに対し、相対位置姿勢の差が最も小さくなる地図用データ210を選択し、該位置推定用データ220と該地図用データ210の間の相対位置姿勢をデータ間の相対位置の真値230とする。そのため、相対位置センサ320で取得する相対位置姿勢231の誤差が小さくなり、高精度に生成地図240を用いた自己位置推定の精度を見積もることができる。
【0069】
(5)データ割当部110は、外界センサ310が複数存在する場合、外界センサ毎にデータ(各外界センサが計測したデータ)を地図用データ210、位置推定用データ220のいずれかに割り当てる。また、データ割当部110は、事前の校正により算出された各外界センサ間の設置位置姿勢により、データ間の相対位置の真値230を算出する(図5)。そのため、外界センサ310が複数存在する場合において、校正によって得られた高精度な真値を用いて、生成地図240を用いた自己位置推定の精度を見積もることができる。
【0070】
(6)データ割当部110は、外界センサ310が複数存在する場合、外界センサ310の計測回数(計測周期)によらず、外界センサ毎のデータを地図用データ210、位置推定用データ220のいずれかに固定的に割り当てる(図5)。そのため、地図用データ210と位置推定用データ220のデータを計測した外界センサ310の位置姿勢が異なるため、生成地図240と自己位置推定時の走行位置の差による自己位置推定誤差を見積もることができる。
【0071】
(7)データ割当部110は、外界センサ310が複数存在する場合、外界センサ310の計測回数(計測周期)によって、外界センサ毎のデータを地図用データ210、位置推定用データ220のいずれかに変動的に割り当てる。そのため、地図用データ210に複数の位置姿勢から計測したデータが含まれるため、生成地図240と自己位置推定時の走行位置の差による誤差が生じづらい生成地図240を生成することができる。
【0072】
(8)データ割当部110は、自車が停止しているときに各外界センサ310が取得した地図用データ210、位置推定用データ220だけを、データ間の相対位置の真値230の算出に用いる。そのため、複数の外界センサ310の計測周期の差の影響を排除して、生成地図240を用いた自己位置推定の精度を見積もることができる。
【0073】
(9)データ割当部110は、事前に設定された地図生成部120が処理できる最大データ容量もしくは地図生成部120が必要とするデータ容量に基づいて、外界センサ310のデータを割り当てる。そのため、生成地図240の生成に十分なデータを割り当てることで、生成地図240を劣化させることなく、使用しない予定であったデータを用いて生成地図240を用いた自己位置推定の精度を見積もることができる。
【0074】
(10)データ割当部110は、地図用データ210と位置推定用データ220を排他的に割り当てる(図3図5)。なお、本発明は、完全排他でもよいし、完全排他でなくてもよいが、完全排他である方が好ましい。そのため、高精度に生成地図240を用いた自己位置推定の精度を見積もることができる。
【0075】
(11)地図生成・自己位置推定装置100は、データ割当部110、地図生成部120をオンラインで動作させる。また、地図生成・自己位置推定装置100は、位置推定用データ220を一時保存し、自己位置推定部130は、地図生成部120が生成した生成地図240と、一時保存された過去の位置推定用データ220とを用いて、生成地図240における自車の位置姿勢(走行位置)を推定する。そのため、各位置推定用データ220の前後の地図用データ210で生成された生成地図240を用いた自己位置推定の結果に対して精度を評価するため、少ない記憶域で高精度に生成地図240を用いた自己位置推定の精度を見積もることができる。
【0076】
(変形例1)
上述した実施例では、精度評価部140は、真の位置姿勢260と、自己位置推定部130によって推定された位置姿勢252の差を、誤差261として算出した(図9)。しかし、精度評価の方法はこれに限定されない。
【0077】
精度評価部140は、誤差261の平均や標準偏差といった統計量や、誤差261の分布を算出しても良い。そのために、データ割当部110は、データ割当の方法を変えることで、地図用データ210、位置推定用データ220、データ間の相対位置の真値230を複数組用意しても良い。
【0078】
たとえば、データ割当部110は、外界センサ310の計測周期毎のデータ割当において、同じセンサ300のデータに対して、複数の異なる関数f(i)を用いることでデータ割当方法が異なる複数組のデータを用意する。ここで、関数f(i)を外界センサ310の計測回数iによらずランダムに値を返す関数としても良い。
【0079】
また、データ割当部110は、外界センサ毎のデータ割当において、地図用データ210と位置推定用データ220に割り当てる外界センサ310を変更することで複数組のデータを用意しても良い。たとえば、ステレオカメラ350を用いる場合、左カメラを地図用データ210、右カメラを位置推定用データ220とする割り当てと、左カメラを位置推定用データ220、右カメラを地図用データ210とする割り当てを実施することで、2組のデータを用意しても良い。また、各計測周期において、左右どちらのカメラをどちらのデータに割り当てるかをランダムに決定しても良い。
【0080】
地図生成部120、自己位置推定部130は、複数組の地図用データ210、位置推定用データ220、それぞれに対して地図生成、自己位置推定処理を実施する。精度評価部140は、データ割当部110が用意したデータの組数分の誤差261を算出し、複数の誤差261から誤差261の平均や標準偏差といった統計量や、誤差261の分布を算出する。
【0081】
上述した変形例1によれば、次の作用効果が得られる。すなわち、データ割当部110は、外界センサ310のデータのデータ割当の方法を変えることで、複数の地図用データ210、位置推定用データ220、データ間の相対位置の真値230、の組を用意し、地図生成部120、自己位置推定部130は、各組のデータに対して地図生成、自己位置推定を実施する。つまり、地図生成部120は、複数の地図用データ210のそれぞれに対して生成地図を生成し、自己位置推定部130は、複数の生成地図と、複数の生成地図と対応する位置推定用データ220とを用いて、それぞれの生成地図における自車の走行位置を推定する。精度評価部140は、各組のデータに対する自己位置推定結果の誤差261から、誤差261の平均や標準偏差といった統計量や、誤差261の分布を算出する。そのため、誤差261の統計量や分布といったより高度な精度見積もりを得ることができる。換言すれば、ロバストに生成地図240を用いた自己位置推定精度を見積もることができる。
【0082】
(変形例2)
上述した実施例では、データ割当部110は、センサ300の出力を、地図用データ210と、位置推定用データ220に割り当てた。しかし、データ割当部110の処理はこれに限定されない。
【0083】
データ割当部110は、地図用データ210、位置推定用データ220に対し、ノイズを付与しても良い。たとえば、データ割当部110は、外界センサ310が取得した点群の位置や、相対位置センサ320が取得した相対位置姿勢に、ノイズを付与する。外界センサ310としてカメラを用いる場合には、カメラが取得した画像に対してノイズを付与しても良い。また、ノイズの大きさを変えた複数組のデータを用意しても良い。精度評価部140は、各組のデータに対して精度を評価する。
【0084】
上述した変形例2によれば、次の作用効果が得られる。すなわち、データ割当部110は、地図用データ210、位置推定用データ220に対し、ノイズを付与する。精度評価部140は、ノイズが付与された各組のデータに対して精度を評価する。そのため、精度評価部140は、ノイズの大きさと生成地図240を用いた自己位置推定誤差の関係を算出することができる。換言すると、精度評価部140は、生成地図240を用いた自己位置推定のノイズに対するロバスト性を評価することができる。たとえば、ノイズを付与しない場合には同じ位置推定誤差であっても、ノイズを付与したにも関わらず大きくは誤差が増大しない環境と、ノイズを付与することにより大きく誤差が増大する環境が存在すると考えられる。精度評価部140は、このようなノイズの影響の大きさを推定することができる。また、精度評価部140は、地図用データ210にのみノイズを付与した場合の精度と、位置推定用データ220にのみノイズを付与した場合の精度を比較することで、生成地図240と自己位置推定の入力データのどちらが精度に与える影響が大きいかを判定することができる。
【0085】
[第2の実施の形態]
以下、図10を参照して、地図生成・自己位置推定装置の第2の実施の形態について説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、第1の実施の形態の地図生成・自己位置推定装置100に加え、精度評価部140が算出した誤差261に基づいて、地図を記録する記録部を備える地図生成・自己位置推定装置を対象とする。
【0086】
(ブロック構成)
図10は第2の実施の形態の地図生成・自己位置推定装置500のブロック構成を示す図である。地図生成・自己位置推定装置500は、データ割当部110と、地図生成部120と、自己位置推定部130と、精度評価部140と、記録部550と、を備える。記録部550は、精度評価部140が算出した誤差261に基づいて、記録地図250を記録する。
【0087】
(記録部の動作)
記録部550における処理の内容について説明する。記録部550は、精度評価部140が算出した誤差261に基づいて、記録地図250を記録する。
【0088】
たとえば、記録部550は、生成地図240の全体に対して、記録をするかしないかを判定する。この場合、記録部550は、精度評価部140が算出した各位置推定用データ220に対する誤差261の平均や最大値が、あらかじめ設定された閾値未満の場合には、生成地図240を記録地図250として記録し、閾値以上の場合には、生成地図240を記録地図250として記録しない。
【0089】
記録地図250には、生成地図240に含まれる点群と走行位置に加え、精度評価部140が算出した誤差261を予測誤差として記録しても良い。ここで、記録地図250には位置推定用データ220は含まれないため、予測誤差の記録にあたっては、誤差261の算出に用いた地図用データ210の番号と予測誤差を併せて記録する。すなわち、記録地図250に含まれる各走行位置に対して予測誤差が記録される。
【0090】
また、記録部550は、生成地図240の一部を記録地図250として記録しても良い。たとえば、生成地図240のうち、精度評価部140が算出した誤差261があらかじめ設定した閾値未満となる地図用データ210から生成された部分(区間)だけを記録地図250としても良い。また、生成地図240を、たとえば走行距離に基づいて、複数の小さな地図に分割し、各分割地図に対して上述の処理を適用することで、記録するかしないかを判断しても良い。これにより、生成地図240を用いた自己位置推定の誤差が一部だけ大きい場合に、誤差の小さい部分(区間)だけを記録地図として記録し、次回の走行時に活用することができる。
【0091】
また、記録部550は、記録地図250を記録したかどうかを、地図生成・自己位置推定装置500と接続されている図示しないHMI部に通知しても良い。HMI部は、ディスプレイやスピーカーを用いて、ドライバに地図が記録されたかどうかを通知する。
【0092】
(作用効果)
上述した第2の実施の形態によれば、次の作用効果が得られる。
【0093】
(1)記録部550は、精度評価部140が算出した誤差261に基づいて、生成地図240を記録地図250として記録する(図10)。記録部550は、精度評価部140が算出した各位置推定用データ220に対する誤差261の平均や最大値が、あらかじめ設定された閾値未満の場合には(のみ)、生成地図240を記録地図250として記録し、閾値以上の場合には、生成地図240を記録地図250として記録しない。そのため、生成地図240を用いた自己位置推定誤差が大きいと想定される場合には、地図を記録しないことで、メモリ使用量を削減することができる。また、次回の走行時における、生成地図240を用いた自己位置推定の誤差が大きくなることによる自動運転・運転支援システムの異常動作、停止を防止することができる。
【0094】
(2)記録部550は、精度評価部140が算出した誤差261に基づいて、生成地図240の一部を記録地図250として記録する。言い換えれば、記録部550は、生成地図240のうち、自己位置推定の誤差261があらかじめ設定された閾値よりも小さい部分(区間)のみを記録地図250として記録する。そのため、生成地図240を用いた自己位置推定の誤差が一部だけ大きい場合に、誤差の小さい部分だけを記録地図として記録し、次回の走行時に活用することができる。
【0095】
(変形例1)
上述した実施例では、記録部550は、精度評価部140が算出した誤差261に基づいて、生成地図240の全体もしくは一部を記録するかどうかを判定した。しかし、記録部550の処理はこれに限定されない。
【0096】
第1の実施の形態の変形例1と同様に、データ割当部110は、データ割当の方法を変えることで、地図用データ210、位置推定用データ220、データ間の相対位置の真値230を複数組用意し、精度評価部140は、各組のデータに対して誤差261を算出しても良い。この場合、記録部550は、各組の誤差261に基づいて、誤差261の平均や中央値、最大値が最も小さい組において生成された生成地図240を記録地図250として記録しても良い。
【0097】
また、地図生成部120は、地図生成に用いる処理に応じたパラメータ(地図生成用パラメータ)を変更することで、同じ地図用データ210から複数の生成地図240を生成しても良い。自己位置推定部130は、地図生成部120が生成した各生成地図240を用いて自己位置推定を実施し、それぞれの生成地図240に対応する自己位置推定結果を出力する。また、自己位置推定部130は、自己位置推定に用いる処理に応じたパラメータ(自己位置推定用パラメータ)を変更することで、同じ生成地図240と同じ位置推定用データ220とから、複数の自己位置推定結果を算出しても良い。精度評価部140は、自己位置推定部130が出力した複数の自己位置推定結果に対し、対応するデータ間の相対位置の真値230を用いて誤差261を算出する。記録部550は、誤差261の平均や中央値、最大値が最も小さい組において生成された生成地図240を記録地図250として記録しても良い。この際、記録地図250には、地図生成部120および自己位置推定部130で用いた各パラメータ(地図生成用パラメータ、自己位置推定用パラメータ)も併せて記録する。次回の走行時には、記録地図250に含まれるパラメータを用いて自己位置推定を実施する。
【0098】
ここで、地図生成部120、自己位置推定部130におけるパラメータには、地図生成、自己位置推定に用いる外界センサ310の選択も含まれる。すなわち、複数の外界センサ310が存在する場合、環境に応じて変化する適切なセンサを、精度評価部140が算出した誤差261に基づいて選択することができる。
【0099】
上述した変形例1によれば、次の作用効果が得られる。
【0100】
(1)データ割当部110は、外界センサ310のデータのデータ割当の方法を変えることで、複数の地図用データ210、位置推定用データ220、データ間の相対位置の真値230の組を用意し、地図生成部120、自己位置推定部130、精度評価部140は、各組のデータに対して地図生成、自己位置推定、精度評価を実施する。つまり、地図生成部120は、複数の地図用データ210のそれぞれに対して生成地図を生成し、自己位置推定部130は、複数の生成地図と、複数の生成地図と対応する位置推定用データ220とを用いて、それぞれの生成地図における自車の走行位置を推定する。精度評価部140は、各組のデータに対する自己位置推定の誤差261を算出する。記録部550は、誤差261の平均や中央値、最大値が最も小さい組において生成された生成地図240を、記録地図250として記録する。そのため、高精度な自己位置推定を実現することができる生成地図240を記録地図250として記録することができる。
【0101】
(2)地図生成部120、自己位置推定部130は、パラメータを変更することで、複数の生成地図240、自己位置推定結果を出力し、精度評価部140は、各自己位置推定結果の精度を評価する。つまり、地図生成部120は、地図生成用パラメータを変更することで複数の生成地図を生成し、自己位置推定部130は、複数の生成地図のそれぞれに対して、自己位置推定用パラメータを変更することで複数の自己位置推定結果を算出し、精度評価部140は、複数の自己位置推定の誤差を算出する。記録部550は、誤差261の平均や中央値、最大値が最も小さい組において生成された生成地図240と、地図生成部120および自己位置推定部130が使用した各パラメータ(地図生成用パラメータ、自己位置推定用パラメータ)とを、記録地図250として記録する。そのため、次回の走行時において、誤差261が小さいパラメータで生成された地図と、地図に記憶された誤差が小さくなるパラメータを用いて自己位置推定を実施することで、高精度に自車の位置姿勢を推定することができる。
【0102】
(変形例2)
上述した実施例では、記録部550は、精度評価部140が算出した誤差261に基づいて、地図生成・自己位置推定装置500内に記録地図250を記録する。しかし、記録部550の処理はこれに限定されない。
【0103】
記録部550は、地図生成・自己位置推定装置500とネットワークを介して接続された図示しないサーバに記録地図250を記録しても良い。すなわち、自車が走行して生成した地図を、サーバを介して他車と共有しても良い。
【0104】
また、記録部550は、生成地図240を用いた自己位置推定の精度が低いと推定される場合には、記録地図250に代わり、自車の走行区間の情報をサーバに送信しても良い。ここで走行区間の情報とは、GNSSで取得した緯度・経度や、時刻などである。サーバは、生成地図240を用いた自己位置推定の精度が低い区間の情報を収集することで、たとえば、専用の計測車両を用いた地図生成を計画することができる。
【0105】
上述した変形例2によれば、次の作用効果が得られる。
【0106】
(1)記録部550は、地図生成・自己位置推定装置500とネットワークを介して接続された図示しないサーバに記録地図250を記録する。記録部550は、精度評価部140が算出した各位置推定用データ220に対する誤差261の平均や最大値が、あらかじめ設定された閾値未満の場合には、生成地図240を記録地図250として記録し、閾値以上の場合には、生成地図240を記録地図250として記録しない。そのため、生成地図240を用いた自己位置推定の精度が低いと推定される場合には、サーバに記録地図250(生成地図240)を送信しないため、通信量を抑えることができる。また、サーバでは、記録地図250に含まれる予測誤差を用いることで、複数の地図生成・自己位置推定装置500から受信した記録地図250の中から、高精度な自己位置推定が可能な地図を選択・配信することができる。
【0107】
(2)記録部550は、生成地図240を用いた自己位置推定の精度が低いと推定される場合には、記録地図250に代わり、自車の走行区間の情報をサーバに送信する。すなわち、記録部550は、自己位置推定の誤差に基づいて生成地図240を記録地図250として記録しない場合に、自車の走行区間に関する情報をサーバに送信する。そのため、サーバは、生成地図240を用いた自己位置推定の精度が低い区間の情報を収集することで、たとえば、専用の計測車両を用いた地図生成を計画することができる。
【0108】
(変形例3)
上述した実施例では、地図生成・自己位置推定装置500は、記録部550において、精度評価部140が算出した誤差261に基づいて、記録地図250を記録した。しかし、地図生成・自己位置推定装置500の動作はこれに限定されない。
【0109】
地図生成・自己位置推定装置500は、精度評価部140が算出した誤差261に基づいてセンサ300の異常を判定するセンサ異常判定部(不図示)をさらに備えても良い。
【0110】
たとえば、センサ異常判定部は、あらかじめ設定した回数以上連続で記録地図250が記録されなかった場合、すなわち、生成地図240を用いた自己位置推定の精度が低いと判断された場合、センサ300に異常が生じていると判定しても良い。
【0111】
また、たとえば、地図生成・自己位置推定装置500は、外界センサ310が複数存在する場合に、データ割当部110において、外界センサ毎に、計測周期毎のデータ割当を実施し、精度評価部140において、外界センサ毎に生成地図240を用いた自己位置推定の精度を評価し、外界センサ310によって誤差261が大きく異なる場合には、誤差261が大きくなった外界センサ310を異常と判定しても良い。
【0112】
また、たとえば、地図生成・自己位置推定装置500は、外界センサ310が3個以上存在する場合には、データ割当部110が外界センサ毎にデータを割り当てる際に、地図用データ210および位置推定用データ220のどちらにも割り当てない外界センサ310を設定しても良い。センサ異常判定部は、複数の組に対する精度評価結果を比較し、特定のセンサを用いない場合の精度が用いる場合の精度より高くなっている場合には、該センサを異常と判定しても良い。
【0113】
上述した変形例3によれば、次の作用効果が得られる。すなわち、地図生成・自己位置推定装置500は、精度評価部140が算出した誤差261に基づいて、センサ300の異常を判定するセンサ異常判定部をさらに備える。そのため、外界センサ310の異常を判定することができる。
【0114】
[第3の実施の形態]
以下、図11を参照して、地図生成・自己位置推定装置の第3の実施の形態について説明する。以下の説明では、第1の実施の形態、第2の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態、第2の実施の形態と同じである。本実施の形態では、第2の実施の形態の地図生成・自己位置推定装置500に加え、記録地図250を記録した後に同じ場所を自車が再度走行した際に動作する、自己位置推定部とモード選択部を備える地図生成・自己位置推定装置を対象とする。
【0115】
(ブロック構成)
図11は第3の実施の形態の地図生成・自己位置推定装置600のブロック構成を示す図である。地図生成・自己位置推定装置600は、データ割当部110と、地図生成部120と、自己位置推定部130と、精度評価部140と、記録部550と、モード選択部660と、を備える。モード選択部660は、地図生成・自己位置推定装置600の動作モード、および、地図生成・自己位置推定装置600に接続される自動運転・運転支援システムに許可する動作モードを選択する。
【0116】
地図生成・自己位置推定装置600の動作は、地図生成モードと位置推定モードからなる。地図生成モードは、センサ300の出力から点群(自車周辺物体の計測結果として得られる点の集合)と自車の走行位置からなる地図を生成し、記録地図250として保存する。位置推定モードは、センサ300の出力と記録地図250から、記録地図250における現在の自車の位置姿勢を推定する。
【0117】
地図生成モードでは、データ割当部110と、地図生成部120と、自己位置推定部130と、精度評価部140と、記録部550と、が動作する。地図生成モードの動作は、第2の実施の形態の地図生成・自己位置推定装置500と同じである。
【0118】
位置推定モードでは、自己位置推定部130と、モード選択部660と、が動作する。自己位置推定部130の動作は地図生成モードと同じである。ただし、生成地図240に代わり記録地図250が、位置推定用データ220に代わりセンサ300の出力が、自己位置推定部130へ入力される。
【0119】
なお、本実施の形態では、地図生成モードと位置推定モードで同じ(共通の)自己位置推定部130が動作するものとしているが、地図生成モードと位置推定モードで異なる(別の)自己位置推定部130を用意して動作させても良い。
【0120】
(モード選択部の動作)
モード選択部660における処理の内容について説明する。モード選択部660は、地図生成・自己位置推定装置600の動作モード、および、地図生成・自己位置推定装置600に接続される自動運転・運転支援システムに許可する動作モードを選択する。
【0121】
まず、モード選択部660は、自己位置推定部130が推定した自車の位置姿勢と、記録地図250に含まれる予測誤差と、から、現在の位置姿勢の推定結果に対する予測誤差を求める。具体的には、自己位置推定部130が推定した自車の位置姿勢と最も近い記録地図250の走行位置に対応する予測誤差を、現在の位置姿勢の予測誤差とする。
【0122】
モード選択部660は、算出した現在の位置姿勢の予測誤差に基づいて、地図生成・自己位置推定装置600の動作モード(地図生成モード、位置推定モード)を決定する。たとえば、現在の位置姿勢の予測誤差があらかじめ設定した閾値未満の場合には、引き続き位置推定モードとして動作する。一方、現在の位置姿勢の予測誤差があらかじめ設定した閾値以上の場合には、位置推定モードから地図生成モードへ切り替える。換言すると、予測誤差が大きい場所においては、自己位置推定結果を用いた自動運転・運転支援システムを動作させるのではなく、初回の走行時と同様にドライバの運転による地図生成を実施する。
【0123】
また、モード選択部660は、算出した現在の位置姿勢の予測誤差に基づいて、地図生成・自己位置推定装置600に接続される自動運転・運転支援システムに許可する動作モードを選択する。たとえば、現在の位置姿勢の予測誤差が小さいほど、高い自動運転レベルの動作を自動運転・運転支援システムに許可する。より具体的には、たとえば、現在の位置姿勢の予測誤差があらかじめ設定した閾値xより小さい場合には、自動運転・運転支援システムにハンズオフの自動運転までを許可し、現在の位置姿勢の予測誤差があらかじめ設定した閾値y(x<y)より大きい場合には、自動運転・運転支援システムに警報のみを許可する。
【0124】
(作用効果)
上述した第3の実施の形態によれば、次の作用効果が得られる。
【0125】
(1)モード選択部660は、算出した現在の位置姿勢の予測誤差に基づいて、地図生成・自己位置推定装置600の動作モード(地図生成モード、位置推定モード)を決定する。すなわち、記録部550は、記録地図250に精度評価部140が算出した自己位置推定の誤差(予測誤差)を含め、記録地図250が存在する区間を自車が再度走行した際に、自己位置推定部130は、外界センサ310のデータと記録地図250とから、記録地図250における自車の位置姿勢を推定する。モード選択部660は、自己位置推定部130が推定した記録地図250における自車の位置姿勢と、記録地図250に含まれる自己位置推定の誤差とから、現在の予測誤差を算出する。そして、モード選択部660は、算出した現在の予測誤差に基づいて地図生成・自己位置推定装置600の動作モードを地図生成モードと位置推定モードから選択する。そのため、予測誤差が大きい場所においては、自己位置推定結果を用いた自動運転・運転支援システムを動作させるのではなく、初回の走行時と同様にドライバの運転による地図生成を実施することができる。
【0126】
(2)モード選択部660は、算出した現在の位置姿勢の予測誤差に基づいて、地図生成・自己位置推定装置600に接続される自動運転・運転支援システムに許可する動作モードを選択する。そのため、自己位置推定の精度に応じて適切な自動運転・運転支援機能をドライバへ提供することができる。
【0127】
[まとめ]
以上のように、上述した第1の実施の形態の地図生成・自己位置推定装置100は、自車の周囲の環境を計測する外界センサが取得したデータを、地図生成用データ210と、自己位置推定用データ220とに割り当てるデータ割当部110と、前記地図生成用データ210に基づき、地図を生成する地図生成部120と、前記地図生成部120が生成した生成地図と、前記自己位置推定用データ220とに基づいて、前記生成地図における前記自車の走行位置を推定する自己位置推定部130と、を備える地図生成・自己位置推定装置100であって、前記データ割当部110は、(前記外界センサのデータの)データ割当方法に基づいて前記地図生成用データ210と前記自己位置推定用データ220の間の相対位置の真値を算出し、前記地図生成・自己位置推定装置100は、前記相対位置の真値と前記自己位置推定部130が算出した自己位置推定結果から、(前記自己位置推定部130が実施した)自己位置推定の誤差を評価する精度評価部140を備える。
【0128】
換言すると、センサの出力を、地図用データ210と、位置推定用データ220とに割り当て、データ割当方法に基づいて地図用データ210と位置推定用データ220のデータ間の相対位置の真値を算出するデータ割当部110と、地図用データ210から、点群と自車の走行位置からなる生成地図を生成する地図生成部120と、位置推定用データ220と生成地図とを対応づけることで、生成地図上における自車の位置姿勢を推定する自己位置推定部130と、データ間の相対位置の真値から、自己位置推定部130が推定した生成地図上における自車の位置姿勢の精度を評価する精度評価部140と、を備える。
【0129】
また、上述した第2の実施の形態の地図生成・自己位置推定装置500は、前記精度評価部140が算出した前記自己位置推定の誤差に基づいて、前記生成地図を記録地図として記録する記録部550をさらに備え、前記記録部550は、前記自己位置推定の誤差があらかじめ設定された閾値より小さい場合のみ、前記生成地図を前記記録地図として記録する。また、前記記録部550は、前記生成地図のうち、前記自己位置推定の誤差があらかじめ設定された閾値よりも小さい区間のみを前記記録地図として記録する。
【0130】
また、上述した第3の実施の形態の地図生成・自己位置推定装置600は、前記記録部550は、前記記録地図に前記精度評価部140が算出した前記自己位置推定の誤差を含め、前記記録地図が存在する区間を前記自車が再度走行した際に、前記自己位置推定部130は、前記外界センサのデータと前記記録地図とから、前記記録地図における前記自車の位置姿勢を推定し、前記地図生成・自己位置推定装置600は、前記自己位置推定部130が推定した前記記録地図における前記自車の位置姿勢と、前記記録地図に含まれる前記自己位置推定の誤差とから、現在の予測誤差を算出し、前記現在の予測誤差に基づいて前記地図生成・自己位置推定装置600の動作モードを地図生成モードと位置推定モードから選択するモード選択部660をさらに備える。また、前記モード選択部660は、前記現在の予測誤差に基づいて、前記地図生成・自己位置推定装置600と接続された自動運転・運転支援システムに許容する動作モードを選択する。
【0131】
上述した本実施の形態によれば、事前の学習移動や環境への既知物体の設置、センサの追加なしで、地図生成時に、生成地図を用いた自己位置推定の精度を見積もることができる地図生成・自己位置推定装置を実現することが可能である。
【0132】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形形態が含まれる。たとえば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等によりハードウェアで実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【符号の説明】
【0133】
100…地図生成・自己位置推定装置(第1の実施の形態)、110…データ割当部、120…地図生成部、130…自己位置推定部、140…精度評価部、210…地図用データ、220…位置推定用データ、230…データ間の相対位置の真値、240…生成地図、250…記録地図、300…センサ、310…外界センサ、320…相対位置センサ、500…地図生成・自己位置推定装置(第2の実施の形態)、550…記録部、600…地図生成・自己位置推定装置(第3の実施の形態)、660…モード選択部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11