(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056033
(43)【公開日】2024-04-19
(54)【発明の名称】情報処理装置、制御方法、プログラム及び記憶媒体
(51)【国際特許分類】
G01C 21/28 20060101AFI20240412BHJP
【FI】
G01C21/28
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2024034515
(22)【出願日】2024-03-07
(62)【分割の表示】P 2022561909の分割
【原出願日】2021-11-08
(31)【優先権主張番号】P 2020189517
(32)【優先日】2020-11-13
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(71)【出願人】
【識別番号】520001073
【氏名又は名称】パイオニアスマートセンシングイノベーションズ株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】加藤 正浩
(72)【発明者】
【氏名】鈴木 雅美
(57)【要約】
【課題】ダウンサンプリングを好適に実行可能な情報処理装置を提供する。
【解決手段】車載機1のコントローラ13は、ライダ2が出力する点群データを取得する。そして、コントローラ13は、点群データに対してダウンサンプリングを行った加工点群データを生成する。そして、コントローラ13は、加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータVDとの照合により、加工点群データを構成する計測点とボクセルの各々との対応付けを行う。そして、コントローラ13は、加工点群データの計測点のうちボクセルと対応付けられた計測点の数である対応計測点数Ncに基づき、次に実行されるダウンサンプリングのサイズを変更する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
計測装置が出力する点群データを取得する取得手段と、
前記点群データに対してダウンサンプリングを行った加工点群データを生成するダウンサンプリング処理手段と、
前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行う対応付け手段と、を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置推定に用いるデータのダウンサンプリングに関する。
【背景技術】
【0002】
従来から、レーザスキャナなどの計測装置を用いて計測した周辺物体の形状データを、予め周辺物体の形状が記憶された地図情報と照合(マッチング)することで、車両の自己位置を推定する技術が知られている。例えば、特許文献1には、空間を所定の規則で分割したボクセル中における検出物が静止物か移動物かを判定し、静止物が存在するボクセルを対象として地図情報と計測データとのマッチングを行う自律移動システムが開示されている。また、特許文献2には、ボクセル毎の静止物体の平均ベクトルと共分散行列とを含むボクセルデータとライダが出力する点群データとの照合により自車位置推定を行うスキャンマッチング手法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開WO2013/076829
【特許文献2】国際公開WO2018/221453
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献2のように、ボクセルデータとライダが出力する点群データとの照合により自車位置推定を行う場合、ライダの点群データを所定サイズに分割した空間で平均化することで間引く処理であるダウンサンプリング処理が行われる。このダウンサンプリングを行うことで、自車に近いエリアは密、遠いエリアは疎となる点群データの密度を一様にし、かつ全体の点群データ数を低減することができるため、自己位置推定精度の向上と計算時間の抑制を両立させている。しかしながら、自車周辺に物体が少ない空間では、ライダで検出される点群データ数が少ないため、ダウンサンプリング処理によって、計算に用いる点群データ数が大きく減少してしまうこともあり、自己位置推定の精度やロバスト性が低下してしまう問題がある。
【0005】
本発明は、上記のような課題を解決するためになされたものであり、ダウンサンプリングを好適に実行可能な情報処理装置を提供することを主な目的とする。
【課題を解決するための手段】
【0006】
請求項に記載の発明は、
計測装置が出力する点群データを取得する取得手段と、
前記点群データに対してダウンサンプリングを行った加工点群データを生成するダウンサンプリング処理手段と、
前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行う対応付け手段と、を有し、
前記ダウンサンプリング処理手段は、前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する、情報処理装置である。
【0007】
また、請求項に記載の発明は、
コンピュータが実行する制御方法であって、
計測装置が出力する点群データを取得し、
前記点群データに対してダウンサンプリングを行った加工点群データを生成し、
前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行い、
前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する、制御方法である。
【0008】
また、請求項に記載の発明は、
計測装置が出力する点群データを取得し、
前記点群データに対してダウンサンプリングを行った加工点群データを生成し、
前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行い、
前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する処理をコンピュータに実行させるプログラムである。
【図面の簡単な説明】
【0009】
【
図2】車載機の機能的構成を示すブロック図である。
【
図3】ダウンサンプリング処理部14の機能ブロックの一例を示す。
【
図4】夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第1の実行結果を示す図である。
【
図5】夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第2の実行結果を示す図である。
【
図6】夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第3の実行結果を示す図である。
【
図8】自車位置推定部が推定すべき自車位置を2次元直交座標で表した図である。
【
図9】ボクセルデータの概略的なデータ構造の一例を示す。
【
図10】自車位置推定部の機能ブロックの一例である。
【
図11】ワールド座標系における2次元平面上での、ボクセルデータが存在するボクセルとこれらのボクセル付近の位置を示す計測点との位置関係を示す。
【
図12】自車位置推定に関する処理の手順を示すフローチャートの一例である。
【
図13】1辺が0.5mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。
【
図14】1辺が0.5mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。
【
図15】1辺が2.0mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。
【
図16】1辺が2.0mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。
【
図17】
図12に示す処理手順に従いダウンサンプリング及びNDT処理による自車位置推定を行った結果を示す。
【
図18】
図12に示す処理手順に従いダウンサンプリング及びNDT処理による自車位置推定を行った結果を示す。
【
図19】他車両によるオクルージョンが発生した場合の、
図12に示す処理手順に従いダウンサンプリング及びNDT処理による自車位置推定を行った結果を示す。
【
図20】
図19と同一状況下において、仮にダウンサンプリング後の計測点数を600~800に収まるようにダウンサンプリングのサイズを決定した場合の結果を示す。
【
図21】変形例1に基づき進行方向のダウンサンプリングのサイズを0.5mに固定し、横方向及び高さ方向のダウンサンプリングのサイズを適応的に変更してNDT処理による自車位置推定を行った結果を示す。
【
図22】変形例1に基づき進行方向のダウンサンプリングのサイズを0.5mに固定し、横方向及び高さ方向のダウンサンプリングのサイズを適応的に変更してNDT処理による自車位置推定を行った結果を示す。
【発明を実施するための形態】
【0010】
本発明の好適な実施形態によれば、情報処理装置は、計測装置が出力する点群データを取得する取得手段と、前記点群データに対してダウンサンプリングを行った加工点群データを生成するダウンサンプリング処理手段と、前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行う対応付け手段と、を有し、前記ダウンサンプリング処理手段は、前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する。この態様によれば、情報処理装置は、ボクセルデータが存在するボクセルと対応付けた加工点群データの計測点数である対応計測点数に基づきダウンサンプリングのサイズを適応的に変更し、対応計測点数を好適に適正化することができる。
【0011】
上記情報処理装置の一態様では、前記ダウンサンプリング処理手段は、前記ダウンサンプリングにおいて空間を分割する方向のうち第1方向における前記サイズを固定とし、前記第1方向以外の方向における前記サイズを前記対応計測点数に基づき変更する。好適な例では、前記第1方向は、前記計測装置の進行方向である。この態様により、情報処理装置は、加工点群データの分解能が必要な方向についてはダウンサンプリングのサイズを固定にして分解能を好適に確保することができる。
【0012】
上記情報処理装置の他の一態様では、前記ダウンサンプリング処理手段は、前記対応計測点数と、当該対応計測点数の目標範囲との比較に基づき、前記サイズを変更する。この態様により、情報処理装置は、ダウンサンプリングのサイズを的確に変更することができる。
【0013】
上記情報処理装置の他の一態様では、前記ダウンサンプリング処理手段は、前記対応計測点数が前記目標範囲の上限よりも多い場合、前記サイズを所定率又は所定値だけ大きくし、前記対応計測点数が前記目標範囲の下限よりも少ない場合、前記サイズを所定率又は所定値だけ小さくし、前記対応計測点数が前記目標範囲内である場合、前記サイズを維持する。この態様により、情報処理装置は、対応計測点数が目標範囲内に維持されるように、ダウンサンプリングのサイズを的確に変更することができる。
【0014】
上記情報処理装置の他の一態様では、前記ダウンサンプリング処理手段は、前記対応計測点数に基づき、次に実行される前記ダウンサンプリングの基準サイズを決定し、当該基準サイズと、前記ダウンサンプリングにおいて空間を分割する方向毎に設定した前記基準サイズに対する比率とに基づき、前記方向毎の前記サイズを決定する。この態様により、情報処理装置は、方向毎の精度や重要度等に応じた比率により、方向毎にダウンサンプリングのサイズを好適に定めることができる。
【0015】
上記情報処理装置の他の一態様では、情報処理装置は、前記対応付け手段による対応付けがなされた前記ボクセルのボクセルデータと、当該ボクセルに対応付けられた計測点との照合結果に基づき、前記計測装置を備える移動体の位置推定を行う位置推定手段をさらに有する。この態様では、情報処理装置は、ダウンサンプリングのサイズを適応的に変更して生成した加工点群データを位置推定に用いることで、位置推定の精度と処理時間の両立を好適に実現することができる。
【0016】
上記情報処理装置の他の一態様では、前記ダウンサンプリング処理手段は、前記ダウンサンプリング処理手段及び前記位置推定手段の処理時間に基づき、前記サイズを変更する。好適な例では、前記ダウンサンプリング処理手段は、前記処理時間と、当該処理時間の目標範囲との比較に基づき、前記サイズを変更するとよい。この態様により、情報処理装置は、ダウンサンプリング処理手段及び位置推定手段の処理時間が適正となるように好適にダウンサンプリングのサイズを設定することができる。
【0017】
本発明の他の好適な実施形態によれば、情報処理装置が実行する制御方法であって、計測装置が出力する点群データを取得し、前記点群データに対してダウンサンプリングを行った加工点群データを生成し、前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行い、前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する。情報処理装置は、この制御方法を実行することで、対応計測点数に基づきダウンサンプリングのサイズを適応的に変更し、対応計測点数を好適に適正化することができる。
【0018】
本発明のさらに別の好適な実施形態によれば、プログラムは、計測装置が出力する点群データを取得し、前記点群データに対してダウンサンプリングを行った加工点群データを生成し、前記加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータとの照合により、前記加工点群データを構成する計測点と前記ボクセルの各々との対応付けを行い、前記計測点のうち前記ボクセルと対応付けられた計測点の数である対応計測点数に基づき、次に実行される前記ダウンサンプリングのサイズを変更する処理をコンピュータに実行させる。コンピュータは、このプログラムを実行することで、対応計測点数に基づきダウンサンプリングのサイズを適応的に変更し、対応計測点数を好適に適正化することができる。好適には、上記プログラムは、記憶媒体に記憶される。
【実施例0019】
以下、図面を参照して本発明の好適な実施例について説明する。なお、任意の記号の上に「^」または「-」が付された文字を、本明細書では便宜上、「A^」または「A-」(「A」は任意の文字)と表す。
【0020】
(1)
運転支援システムの概要
図1は、本実施例に係る運転支援システムの概略構成である。運転支援システムは、移動体である車両と共に移動する車載機1と、ライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)2と、ジャイロセンサ3と、車速センサ4と、GPS受信機5とを有する。
【0021】
車載機1は、ライダ2、ジャイロセンサ3、車速センサ4、及びGPS受信機5と電気的に接続し、これらの出力に基づき、車載機1が設けられた車両の位置(「自車位置」とも呼ぶ。)の推定を行う。そして、車載機1は、自車位置の推定結果に基づき、設定された目的地への経路に沿って走行するように、車両の自動運転制御などを行う。車載機1は、ボクセルデータ「VD」を含む地図データベース(DB:DataBase)10を記憶する。ボクセルデータVDは、3次元空間の最小単位となる立方体(正規格子)を示すボクセルごとに静止構造物の位置情報等を記録したデータである。ボクセルデータVDは、各ボクセル内の静止構造物の計測された点群データを正規分布により表したデータを含み、後述するように、NDT(Normal Distributions Transform)を用いたスキャンマッチングに用いられる。車載機1は、NDTスキャンマッチングにより少なくとも車両の平面上の位置及びヨー角の推定を行う。なお、車載機1は、車両の高さ位置、ピッチ角及びロール角の推定をさらに行ってもよい。特に言及がない限り、自車位置は、推定対象となる車両のヨー角などの姿勢角も含まれるものとする。
【0022】
ライダ2は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群データを生成する。この場合、ライダ2は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータ(点群データを構成する点であり、以後では「計測点」と呼ぶ。)を出力する出力部とを有する。計測点は、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光の応答遅延時間とに基づき生成される。なお、一般的に、対象物までの距離が近いほどライダの距離測定値の精度は高く、距離が遠いほど精度は低い。ライダ2、ジャイロセンサ3、車速センサ4、GPS受信機5は、それぞれ、出力データを車載機1へ供給する。
【0023】
車載機1は、本発明における「情報処理装置」の一例であり、ライダ2は、本発明における「計測装置」の一例である。なお、運転支援システムは、ジャイロセンサ3に代えて、又はこれに加えて、3軸方向における計測車両の加速度及び角速度を計測する慣性計測装置(IMU)を有してもよい。
【0024】
(2)
車載機の構成
図2は、車載機1のハードウェア構成の一例を示すブロック図である。車載機1は、主に、インターフェース11と、メモリ12と、コントローラ13と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0025】
インターフェース11は、車載機1と外部装置とのデータの授受に関するインターフェース動作を行う。本実施例では、インターフェース11は、ライダ2、ジャイロセンサ3、車速センサ4、及びGPS受信機5などのセンサから出力データを取得し、コントローラ13へ供給する。また、インターフェース11は、コントローラ13が生成した車両の走行制御に関する信号を車両の電子制御装置(ECU:Electronic Control Unit)へ供給する。インターフェース11は、無線通信を行うためのネットワークアダプタなどのワイヤレスインターフェースであってもよく、ケーブル等により外部装置と接続するためのハードウェアインターフェースであってもよい。インターフェース11は、入力装置、表示装置、音出力装置等の種々の周辺装置とのインターフェース動作を行ってもよい。
【0026】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクドライブ、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。メモリ12は、コントローラ13が所定の処理を実行するためのプログラムが記憶される。なお、コントローラ13が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
【0027】
また、メモリ12は、目標範囲情報9と、ボクセルデータVDを含む地
図DB10とを記憶する。
【0028】
目標範囲情報9は、ライダ2が1周期分の走査を行った場合に得られる点群データに対してダウンサンプリングを行う場合のダウンサンプリングのサイズの設定に用いられる情報である。具体的には、目標範囲情報9は、ライダ2の走査周期に基づく各処理時刻において行われるNDTマッチングにおいて、ダウンサンプリング後の点群データのうちボクセルデータVDと対応付けられた計測点の数(「対応計測点数Nc」とも呼ぶ。)の目標範囲を表す。以後では、目標範囲情報9が示す対応計測点数Ncの目標範囲を、「目標範囲RNc」とも呼ぶ。
【0029】
なお、目標範囲情報9又は地
図DB10の少なくとも一方は、インターフェース11を介して車載機1と接続されたハードディスクなどの車載機1の外部の記憶装置に記憶されてもよい。上記の記憶装置は、車載機1と通信を行うサーバ装置であってもよい。また、上記の記憶装置は、複数の装置から構成されてもよい。また、地
図DB10は、定期的に更新されてもよい。この場合、例えば、コントローラ13は、インターフェース11を介し、地図情報を管理するサーバ装置から、自車位置が属するエリアに関する部分地図情報を受信し、地
図DB10に反映させる。
【0030】
コントローラ13は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などの1又は複数のプロセッサを含み、車載機1の全体を制御する。この場合、コントローラ13は、メモリ12等に記憶されたプログラムを実行することで、自車位置推定に関する処理を行う。
【0031】
また、コントローラ13は、機能的には、ダウンサンプリング処理部14と、自車位置推定部15とを有する。そして、コントローラ13は、「取得手段」、「ダウンサンプリング処理手段」、「対応付け手段」及びプログラムを実行するコンピュータ等として機能する。
【0032】
ダウンサンプリング処理部14は、ライダ2から出力される点群データに対してダウンサンプリングを行うことで、計測点数を削減するように補正された点群データ(「加工点群データ」とも呼ぶ。)を生成する。このダウンサンプリングでは、ダウンサンプリング処理部14は、点群データを所定サイズに分割した空間内で平均することで、計測点数を削減した加工点群データを生成する。この場合、ダウンサンプリング処理部14は、各処理時刻でのNDTマッチングにおける対応計測点数Ncが目標範囲RNc内に収まるように、ダウンサンプリングにおける上述した所定サイズを適応的に設定する。
【0033】
自車位置推定部15は、ダウンサンプリング処理部14が生成する加工点群データと、当該点群データが属するボクセルに対応するボクセルデータVDとに基づき、NDTに基づくスキャンマッチング(NDTスキャンマッチング)を行うことで、自車位置の推定を行う。
【0034】
(3)ダウンサンプリングサイズの設定
次に、ダウンサンプリング処理部14の処理の詳細について説明する。概略的には、ダウンサンプリング処理部14は、各処理時刻において、対応計測点数Ncと、目標範囲情報9が示す目標範囲RNcとをダウンサンプリング後に比較し、その大小結果に応じて次の処理時刻でのダウンサンプリングのサイズを設定する。これにより、ダウンサンプリング処理部14は、対応計測点数Ncが目標範囲RNc内に維持されるように適応的にダウンサンプリングのサイズを定める。
【0035】
図3は、ダウンサンプリング処理部14の機能ブロックの一例を示す。ダウンサンプリング処理部14は、機能的には、ダウンサンプリングブロック16と、対応計測点数取得ブロック17と、比較ブロック18と、ダウンサンプリングサイズ設定ブロック19とを有する。なお、
図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは
図3に限定されない。後述する他の機能ブロックの図においても同様である。
【0036】
ダウンサンプリングブロック16は、ライダ2が処理時刻毎に生成する一周期分の走査の点群データのダウンサンプリングを行うことで、処理時刻毎に加工点群データを生成する。この場合、ダウンサンプリングブロック16は、設定されたダウンサンプリングのサイズに基づき、空間をグリッドに分割し、夫々のグリッドの中に含まれるライダ2の点群データの計測点の代表点を算出する。この場合、上記空間は、例えば、車載機1の進行方向、高さ方向、及び横方向(即ち進行方向と高さ方向と垂直な方向)を夫々軸とする3次元座標系の空間であり、これらの各方向に沿って等間隔に分割されることでグリッドが形成される。ダウンサンプリングのサイズは、メモリ12等に記憶された初期サイズ又はダウンサンプリングサイズ設定ブロック19により直前に設定されたサイズとなる。ダウンサンプリングブロック16は、生成した加工点群データを自車位置推定部15に供給する。
【0037】
なお、ダウンサンプリングのサイズは、車載機1の進行方向、高さ方向、及び横方向とで夫々異なってもよい。また、ダウンサンプリングブロック16の処理は、任意のVoxel grid filterの手法が用いられてもよい。
【0038】
対応計測点数取得ブロック17は、対応計測点数Ncを自車位置推定部15から取得する。この場合、自車位置推定部15は、ダウンサンプリングブロック16から供給される加工点群データに対して処理時刻毎にNDTマッチングを行い、処理時刻毎の対応計測点数Ncを対応計測点数取得ブロック17に出力する。対応計測点数取得ブロック17は、対応計測点数Ncを比較ブロック18に供給する。
【0039】
比較ブロック18は、処理時刻毎に目標範囲情報9が示す目標範囲RNcと対応計測点数Ncとの大小比較を行い、比較結果をダウンサンプリングサイズ設定ブロック19に供給する。この場合、比較ブロック18は、例えば、
対応計測点数Ncが目標範囲RNcの上限より多い、又は、
対応計測点数Ncが目標範囲RNc内である、又は、
対応計測点数Ncが目標範囲RNcの下限未満である
のいずれに該当するか判定し、その判定結果をダウンサンプリングサイズ設定ブロック19に供給する。例えば、目標範囲RNcが600~800である場合には、比較ブロック18は、目標範囲RNcの上限を800、目標範囲RNcの下限を600として上述の判定を行う。なお、目標範囲RNcは、600~800に限定されず、使用するハードウェア、プロセッサの性能、及び完了すべき処理時間(即ち、次の処理時刻の時間間隔)に応じて決定される。
【0040】
ダウンサンプリングサイズ設定ブロック19は、比較ブロック18の比較結果に基づき、次の処理時刻において適用するダウンサンプリングのサイズを設定する。この場合、ダウンサンプリングサイズ設定ブロック19は、対応計測点数Ncが目標範囲RNcの上限より多かった場合には、ダウンサンプリングのサイズを大きくし、対応計測点数Ncが目標範囲RNcの下限未満である場合には、ダウンサンプリングのサイズを小さくする。一方、ダウンサンプリングサイズ設定ブロック19は、対応計測点数Ncが目標範囲RNcの範囲内である場合には、ダウンサンプリングのサイズを維持する(即ち変更しない)。
【0041】
また、
図3には、ゲイン設定サブブロック191と乗算サブブロック192とを有するダウンサンプリングサイズ設定ブロック19の具体的な一態様が図示されている。
【0042】
ゲイン設定サブブロック191は、比較ブロック18での比較結果に基づいて、乗算サブブロック192において現在のダウンサンプリングのサイズに乗算するゲインを設定する。この場合、ゲイン設定サブブロック191は、対応計測点数Ncが目標範囲R
Ncの上限より多い場合にはゲインを1倍より大きくし、対応計測点数Ncが目標範囲R
Ncの下限より少ない場合にはゲインを1倍未満とし、対応計測点数Ncが目標範囲R
Ncの範囲内である場合にはゲインを1倍にする。
図3では、一例として以下のようにゲインが設定されている。
対応計測点数Ncが目標範囲R
Ncの上限より多い ⇒ゲイン「1.1」、
対応計測点数Ncが目標範囲R
Ncの下限より少ない⇒ゲイン「1/1.1」、
対応計測点数Ncが目標範囲R
Ncの範囲内 ⇒ゲイン「1.0」
【0043】
乗算サブブロック192は、ゲイン設定サブブロック191が設定したゲインを、現在のダウンサンプリングのサイズに乗じた値を、次の処理時刻に用いるダウンサンプリングのサイズとして出力する。
【0044】
このような構成によれば、ダウンサンプリングサイズ設定ブロック19は、対応計測点数Ncが目標範囲RNcの上限より多かった場合には、ダウンサンプリングのサイズを大きくして加工点群データの計測点数が減少しやすくなるようにダウンサンプリングのサイズを変更することができる。同様に、ダウンサンプリングサイズ設定ブロック19は、対応計測点数Ncが目標範囲RNcの下限より少なかった場合には、ダウンサンプリングのサイズを小さくして加工点群データの計測点数が増加しやすくなるようにダウンサンプリングのサイズを変更することができる。
【0045】
なお、ゲイン設定サブブロック191において設定するゲインの各数値は、一例であり、実験結果等に基づき夫々適切な数値に設定される。また、ダウンサンプリングサイズ設定ブロック19は、ゲインを乗算する代わりに、所定値の加算又は減算を行ってもよい。この場合、ダウンサンプリングサイズ設定ブロック19は、対応計測点数Ncが目標範囲RNcの上限より多かった場合には、ダウンサンプリングのサイズを正数である所定値だけ大きくし、対応計測点数Ncが目標範囲RNcの下限より少なかった場合には、ダウンサンプリングのサイズを正数である所定値だけ小さくする。なお、上記のゲイン及び所定値は、方向毎(進行方向、横方向、高さ方向)毎に異なる値に設定されてもよい。
【0046】
ここで、
図3に示されるダウンサンプリング処理部14の構成の妥当性について補足説明する。
【0047】
一般に、ダウンサンプリングのサイズが大きいとデータ数(即ち、加工点群データの計測点数)が少なくなるという関係はあるものの、ダウンサンプリングサイズとデータ数との関係は線形ではない。よって、線形のフィードバック制御によりダウンサンプリングのサイズを決定することは適切ではない。以上を勘案し、本実施例では、目標となる対応計測点数Ncを範囲により表した目標範囲RNcを用いることで不感帯を設け、また、データ数と目標範囲RNcの差分量には係らずに一定のゲインとすることで緩やかに対応計測点数Ncを目標レベルに到達するようにダウンサンプリング処理部14を構成している。
【0048】
次に、ダウンサンプリングの具体例について説明する。以後では、説明簡略化のため、4つのボクセルに対応するボクセルデータVDと当該ボクセルに属する点群データとを対象として説明を行う。
【0049】
図4(A)~
図4(C)は、夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第1の実行結果を示す図である。
図4(A)でのダウンサンプリングのサイズは、ボクセルサイズの1倍に設定され、
図4(B)でのダウンサンプリングのサイズは、ボクセルサイズの2/3倍に設定され、
図4(C)でのダウンサンプリングのサイズは、ボクセルサイズの1/2倍に設定されている。
図4(A)~
図4(C)では、正規分布で表されたボクセルデータVDと、ダウンサンプリング前の点群データと、ダウンサンプリング後の加工点群データとを明示している。
【0050】
ダウンサンプリングブロック16は、
図4(A)~
図4(C)の各場合において夫々設定されたダウンサンプリングのサイズにより、対象の4つのボクセルに対応する空間を区切ることでグリッドを生成する。そして、ダウンサンプリングブロック16は、グリッド毎にライダ2の各計測点が示す位置の平均を算出し、算出した平均位置を、対象のグリッドに対応する加工点群データの計測点として生成する。
【0051】
ここで、ダウンサンプリング後の計測点数(即ち対応計測点数Nc)の目標数が4個の場合について考察する。つまり,十分な位置推定精度を得ることと演算を所定時間内に抑えることを両立するための目標数が4個であると仮定した場合である。
図4(A)~
図4(C)の例では、ダウンサンプリング前の計測点が比較的密集している。よって、ダウンサンプリングのサイズが比較的小さい
図4(B)及び
図4(C)の例では、ダウンサンプリング後の計測点の数が過多になる。すなわちマッチング演算負荷が大きくなり、所定の処理時間内に計算が終了しない可能性が生じる。一方、ダウンサンプリングのサイズが最も大きい
図4(A)の例では、ダウンサンプリング後の計測点数が4個となる。よって、
図4(A)~
図4(C)の例では、ダウンサンプリングのサイズをボクセルサイズと同じにすることで、ダウンサンプリング後の計測点数を適正化することができる。
【0052】
図5(A)~
図5(C)は、夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第2の実行結果を示す図である。
図5(A)でのダウンサンプリングのサイズは、ボクセルサイズの1倍に設定され、
図5(B)でのダウンサンプリングのサイズは、ボクセルサイズの2/3倍に設定され、
図5(C)でのダウンサンプリングのサイズは、ボクセルサイズの1/2倍に設定されている。そして、ダウンサンプリング後の計測点数(即ち対応計測点数Nc)の目標数が4個の場合について考察する。
【0053】
この場合、ボクセルデータおよびダウンサンプリング前の計測点が比較的疎となっている。よって、ダウンサンプリングのサイズが比較的大きい
図5(A)及び
図5(B)の例では、ダウンサンプリング後の計測点の数が過少になっている。すなわちマッチング対象が少ないため位置推定精度が悪化する可能性が生じる。特に、
図5(A)の場合では、ボクセルデータと計測点のマッチングは回転方向が定まらないことがわかる。一方、ダウンサンプリングのサイズが最も小さい
図5(C)の例では、ダウンサンプリング後の計測点数が4個となる。ボクセルデータがひとつしかない場合でも、そのボクセルデータを4個の計測点が囲っている様子から、マッチングが可能となることがわかる。よって、
図5(A)~
図5(C)の例では、ダウンサンプリングのサイズをボクセルサイズの1/2にすることで、ダウンサンプリング後の計測点数を適正化することができる。
【0054】
図6(A)~
図6(C)は、夫々異なるダウンサンプリングサイズによるダウンサンプリングを実行した第3の実行結果を示す図である。
図6(A)でのダウンサンプリングのサイズは、ボクセルサイズの1倍に設定され、
図6(B)でのダウンサンプリングのサイズは、ボクセルサイズの2/3倍に設定され、
図6(C)でのダウンサンプリングのサイズは、ボクセルサイズの1/2倍に設定されている。そして、ダウンサンプリング後の計測点数(即ち対応計測点数Nc)の目標数が4個の場合について考察する。
【0055】
この場合、ダウンサンプリングのサイズが最も大きい
図6(A)の例では、ダウンサンプリング後の計測点の数が過少になり、ダウンサンプリングのサイズが最も小さい
図6(C)の例では、ダウンサンプリング後の計測点の数が過多になる。一方、ダウンサンプリングのサイズが中間である
図6(B)の例では、ダウンサンプリング後の計測点数が4個となる。よって、
図6(A)~
図6(C)の例では、ダウンサンプリングのサイズをボクセルサイズの2/3にすることで、ダウンサンプリング後の計測点数を適正化することができる。
【0056】
このように、得られる点群データによって適切なダウンサンプリングのサイズは異なっている。以上を勘案し、本実施例では、ダウンサンプリングのサイズを適応的に変更することで、対応計測点数Ncを目標範囲RNc内に維持し、計算時間を求められる所定時間内に抑え、かつ自車位置推定の精度を維持する。
【0057】
ここで、ダウンサンプリングのサイズを適応的に変更することの効果について、
図7(A)~
図7(C)を参照して説明する。
【0058】
図7(A)~
図7(C)は、ダウンサンプリングサイズをボクセルサイズの1倍に設定した場合の、車載機1を搭載する車両周辺の俯瞰図を示す。
図7(A)~
図7(C)では、ボクセルデータVDが存在するボクセルが矩形枠により示され、1周期分の走査により得られるライダ2の計測点の位置をドットにより示されている。ここで、
図7(A)は、ライダ2の周辺に構造物が多い場合の例を示し、
図7(B)は、ライダ2の周辺に構造物が少ない場合の例を示し、
図7(C)は、自車両近くの他車両によってライダの光ビームが遮られてしまう現象(オクルージョンと呼ぶ)が発生した場合の例を示す。なお、構造物の表面位置に対応するボクセルには、対応するボクセルデータVDが存在する。
【0059】
図7(A)~
図7(C)に示されるように、ライダ2で取得される点群データの計測点数は、ライダ2の計測拒理や視野角だけでなく、自車周辺の環境に依存する。例えば、周辺が密な空間の場合(
図7(A)参照)には、点群データの計測点数が多いが、周辺が疎な空間の場合(
図7(B)参照)には、点群データの計測点数が少ない。また、他車両などによるオクルージョンが発生した場合(
図7(C)参照)には、NDTスキャンマッチングに利用可能な対応計測点数Ncが少なくなる。そして、
図7(A)の例では、NDTスキャンマッチングに利用可能な対応計測点数Ncが十分であることから、NDTスキャンマッチングによる位置推定精度は高くなるが、
図7(B)及び
図7(C)の例では、対応計測点数Ncが少ないため、NDTスキャンマッチングによる位置推定精度が低くなる。よって、ダウンサンプリングサイズを小さくして計測点数Ncを増加させる必要がある。なお、もし
図7(A)より周辺構造物が更に多く計測点数Ncが増大する場合は所定時間内に計算が終了しない可能性が生じてくる。その場合は、ダウンサンプリングサイズを大きく設定する必要がある。
【0060】
以上を勘案し、本実施例に係る車載機1は、自車周辺の環境が変化する場合であっても、ダウンサンプリングのサイズを適応的に変更することで、対応計測点数Ncを目標範囲RNc内に維持するように調整する。これにより、NDTスキャンマッチングの位置推定精度を好適に維持することができる。
【0061】
(4)NDTスキャンマッチングに基づく位置推定
次に、自車位置推定部15が実行するNDTスキャンマッチングに基づく位置推定に関する説明を行う。
【0062】
図8は、自車位置推定部15が推定すべき自車位置を2次元直交座標で表した図である。
図8に示すように、xyの2次元直交座標上で定義された平面での自車位置は、座標「(x、y)」、自車の方位(ヨー角)「ψ」により表される。ここでは、ヨー角ψは、車の進行方向とx軸とのなす角として定義されている。座標(x、y)は、例えば緯度及び経度の組合せに相当する絶対位置、あるいは所定地点を原点とした位置を示すワールド座標である。そして、自車位置推定部15は、これらのx、y、ψを推定パラメータとする自車位置推定を行う。なお、自車位置推定部15は、x、y、ψに加えて、3次元直交座標系での車両の高さ位置、ピッチ角、ロール角の少なくともいずれかをさらに推定パラメータとして推定する自車位置推定を行ってもよい。
【0063】
次に、NDTスキャンマッチングに用いるボクセルデータVDについて説明する。ボクセルデータVDは、各ボクセル内の静止構造物の計測された点群データを正規分布により表したデータを含む。
【0064】
図9は、ボクセルデータVDの概略的なデータ構造の一例を示す。ボクセルデータVDは、ボクセル内の点群を正規分布で表現する場合のパラメータの情報を含み、本実施例では、
図9に示すように、ボクセルIDと、ボクセル座標と、平均ベクトルと、共分散行列とを含む。
【0065】
「ボクセル座標」は、各ボクセルの中心位置などの基準となる位置の絶対的な3次元座標を示す。なお、各ボクセルは、空間を格子状に分割した立方体であり、予め形状及び大きさが定められているため、ボクセル座標により各ボクセルの空間を特定することが可能である。ボクセル座標は、ボクセルIDとして用いられてもよい。
【0066】
「平均ベクトル」及び「共分散行列」は、対象のボクセル内での点群を正規分布で表現する場合のパラメータに相当する平均ベクトル及び共分散行列を示す。なお、任意のボクセル「n」内の任意の点「i」の座標を
Xn(i)=[xn(i)、yn(i)、zn(i)]T
と定義し、ボクセルn内での点群数を「Nn」とすると、ボクセルnでの平均ベクトル「μn」及び共分散行列「Vn」は、それぞれ以下の式(1)及び式(2)により表される。
【0067】
【0068】
【0069】
次に、ボクセルデータVDを用いたNDTスキャンマッチングの概要について説明する。
【0070】
車両を想定したNDTによるスキャンマッチングは、道路平面(ここではxy座標とする)内の移動量及び車両の向きを要素とした推定パラメータ
P=[tx、ty、tψ]T
を推定することとなる。ここで、「tx」は、x方向の移動量を示し、「ty」は、y方向の移動量を示し、「tψ」は、ヨー角を示す。
【0071】
また、ライダ2が出力する点群データの座標を、
XL(j)=[x(j)、y(j)、z(j)]T
とすると、XL(j)の平均値「L´n」は、以下の式(3)により表される。
【0072】
【数3】
そして、上述の推定パラメータPを用い、平均値L´を座標変換すると、変換後の座標「L
n」は、以下の式(4)により表される。
【0073】
【数4】
そして、自車位置推定部15は、地
図DB10と同一の座標系である絶対的な座標系(「ワールド座標系」とも呼ぶ。)に変換した加工点群データに対応付けられるボクセルデータVDを探索し、そのボクセルデータVDに含まれる平均ベクトルμ
nと共分散行列V
nとを用い、ボクセルnの評価関数値(「個別評価関数値」とも呼ぶ。)「E
n」を算出する。この場合、自車位置推定部15は、以下の式(5)に基づき、ボクセルnの個別評価関数値E
nを算出する。
【0074】
【0075】
そして、自車位置推定部15は、以下の式(6)により示される、マッチングの対象となる全てのボクセルを対象とした総合的な評価関数値(「スコア値」とも呼ぶ。)「E(k)」を算出する。
【0076】
【数6】
その後、自車位置推定部15は、ニュートン法などの任意の求根アルゴリズムによりスコア値E(k)が最大となるとなる推定パラメータPを算出する。そして、自車位置推定部15は、デッドレコニングにより暫定的に算出した予測自車位置「X
-(k)」に対し、推定パラメータPを適用することで、以下の式(7)を用いて高精度な推定自車位置「X^(k)」を算出する。
【0077】
【数7】
なお、ここでは、計算対象となる基準時刻(即ち現在時刻)「k」の自車位置を示す状態変数ベクトルを、「X
-(k)」または「X^(k)」と表記している。
【0078】
図10は、自車位置推定部15の機能ブロックの一例である。
図10に示すように、自車位置推定部15は、デッドレコニングブロック21と、位置予測ブロック22と、座標変換ブロック23と、点群データ対応付けブロック24と、位置補正ブロック25とを有する。
【0079】
デッドレコニングブロック21は、ジャイロセンサ3、車速センサ4、及びGPS受信機5等の出力に基づく車両の移動速度と角速度を用い、前回時刻からの移動距離と方位変化を求める。位置予測ブロック22は、直前の計測更新ステップで算出された時刻k-1の推定自車位置X^(k-1)に対し、求めた移動距離と方位変化を加えて、時刻kの予測自車位置X-(k)を算出する。
【0080】
座標変換ブロック23は、ダウンサンプリング処理部14から出力されるダウンサンプリング後の加工点群データを、地
図DB10と同一の座標系であるワールド座標系に変換する。この場合、座標変換ブロック23は、例えば、時刻kで位置予測ブロック22が出力する予測自車位置に基づき、時刻kでの加工点群データの座標変換を行う。なお、ダウンサンプリング後の加工点群データに対して上述の座標変換が行われる代わりに、ダウンサンプリング前の点群データに対して上述の座標変換が行われてもよい。この場合、ダウンサンプリング処理部14は、座標変換後のワールド座標系の点群データをダウンサンプリングしたワールド座標系の加工点群データを生成する。なお、車両に設置されたライダを基準とした座標系の点群データを車両座標系に変換する処理、及び車両座標系からワールド座標系に変換する処理等については、例えば、国際公開WO2019/188745などに開示されている。
【0081】
点群データ対応付けブロック24は、座標変換ブロック23が出力するワールド座標系の加工点群データと、同じワールド座標系で表されたボクセルデータVDとを照合することで、加工点群データとボクセルとの対応付けを行う。位置補正ブロック25は、加工点群データと対応付けがなされた各ボクセルを対象として、式(5)に基づく個別評価関数値を算出し、式(6)に基づくスコア値E(k)が最大となるとなる推定パラメータPを算出する。そして、位置補正ブロック25は、式(7)に基づき、位置予測ブロック22が出力する予測自車位置X-(k)に対し、時刻kで求めた推定パラメータPを適用することで、推定自車位置X^(k)を算出する。
【0082】
ここで、計測点とボクセルデータVDとの対応付けの具体的手順について、簡単な例を用いて補足説明する。
【0083】
図11は、ワールド座標系におけるx-yの2次元平面上でのボクセルデータVDが存在するボクセル「Vo1」~「Vo6」とこれらのボクセル付近の位置を示す計測点61~65との位置関係を示す。ここでは、説明の便宜上、ボクセルVo1~Vo6の中心位置のワールド座標系のz座標と、計測点61~65のワールド座標系のz座標とは同一であるものとする。
【0084】
まず、座標変換ブロック23は、計測点61~65を含む点群データをワールド座標系に変換する。その後、点群データ対応付けブロック24は、ワールド座標系の計測点61~65の端数等の丸め処理を行う。
図11の例では、立方体である各ボクセルのサイズが1mであることから、点群データ対応付けブロック24は、各計測点61~65のx、y、z座標の夫々の小数点以下を四捨五入する。
【0085】
次に、点群データ対応付けブロック24は、ボクセルVo1~Vo6に対応するボクセルデータVDと、各計測点61~65の座標との照合を行うことで、各計測点61~65に対応するボクセルを判定する。
図11の例では、計測点61の(x,y)座標は、上述の四捨五入により(2,1)となることから、点群データ対応付けブロック24は、計測点61をボクセルVo1と対応付ける。同様に、計測点62及び計測点63の(x,y)座標は、上述の四捨五入により(3,2)となることから、点群データ対応付けブロック24は、計測点62及び計測点63をボクセルVo5と対応付ける。また、計測点64の(x,y)座標は、上述の四捨五入により(2,3)となることから、点群データ対応付けブロック24は、計測点64をボクセルVo6と対応付ける。一方、計測点65の(x,y)座標は、上述の四捨五入により(4,1)となることから、点群データ対応付けブロック24は、計測点65に対応するボクセルデータVDが存在しないと判定する。その後、位置補正ブロック25は、点群データ対応付けブロック24が対応付けた計測点とボクセルデータVDとを用いて推定パラメータPの推定を行う。なお、この例では、ダウンサンプリング後の計測点数は5個であるが、対応計測点数Ncは4個となる。前述したように、対応計測点数Ncは、道路周辺に構造物が少なく疎な空間の場合や、また自車両の近くに他車両が存在してオクルージョンが生じた場合に少なくなる。
【0086】
(5)
処理フロー
図12は、車載機1のコントローラ13が実行する自車位置推定に関する処理の手順を示すフローチャートの一例である。コントローラ13は、
図12のフローチャートの処理を、電源がオンになった場合など、自車位置推定を行う必要が生じた場合に開始する。
【0087】
まず、コントローラ13は、ダウンサンプリングのサイズを初期値に設定する(ステップS11)。ここでは、一例として、ダウンサンプリングのサイズは、進行方向、横方向、高さ方向のいずれも1mであるものとする。次に、コントローラ13は、GPS受信機5の測位結果に基づき、予測自車位置を決定する(ステップS12)。
【0088】
そして、コントローラ13は、ライダ2の点群データを取得できたか否か判定する(ステップS13)。そして、コントローラ13は、ライダ2の点群データを取得できない場合(ステップS13;No)、引き続きステップS13の判定を行う。また、コントローラ13は、点群データを取得できない期間では、引き続きGPS受信機5の測位結果に基づき、予測自車位置を決定する。なお、コントローラ13は、GPS受信機5のみの測位結果に限らず、点群データ以外の任意のセンサの出力に基づき、予測自車位置を決定してもよい。
【0089】
そして、コントローラ13は、ライダ2の点群データを取得できた場合(ステップS13;Yes)、ライダ2が現処理時刻において走査する1周期分の点群データに対し、ダウンサンプリングのサイズの現在の設定値によるダウンサンプリングを実施する(ステップS14)。この場合、ダウンサンプリングのサイズの設定値は、ステップS11で決定された初期値、又は直前に実行されたステップS19~ステップS22において決定された更新値に相当する。
【0090】
そして、コントローラ13は、ジャイロセンサ3及び車速センサ4等の出力に基づく車両の移動速度と角速度を用いて、前回時刻からの移動距離と方位変化を求める。これにより、位置予測ブロック22は、1時刻前(直前の処理時刻)に得られた推定自車位置(ヨー角などの姿勢角を含んでもよい)から、現処理時刻の予測自車位置(姿勢角を含んでもよい)を算出する(ステップS15)。なお、1時刻前の推定自車位置が算出されていない場合(即ちステップS23が未実行の場合)には、コントローラ13は、ステップS12で決定した予測自車位置を推定自車位置とみなしてステップS15の処理を行ってもよい。
【0091】
次に、コントローラ13は、NDTマッチング処理を実行する(ステップS16)。この場合、コントローラ13は、加工点群データをワールド座標系のデータに変換する処理、及び、ワールド座標系に変換された加工点群データとボクセルデータVDが存在するボクセルとの対応付けなどを行う。なお、コントローラ13は、NDTマッチングに基づき、現処理時刻での推定自車位置(ヨー角などの姿勢角を含む)を算出する処理を行ってもよい。
【0092】
また、コントローラ13は、NDTマッチング処理での加工点群データとボクセルデータVDとの対応付け結果に基づいて、対応計測点数Ncを算出する(ステップS17)。そして、コントローラ13は、対応計測点数Ncを、目標範囲情報9が示す目標範囲RNcと比較する(ステップS18)。ここでは、一例として、目標範囲RNcが600~800であるものとして説明を行う。
【0093】
そして、対応計測点数Ncが目標範囲RNcの下限に相当する600未満である場合、コントローラ13は、ダウンサンプリングのサイズの設定値を、1/1.1倍に変更する(ステップS19)。なお、「1/1.1」は一例であり、コントローラ13は、1倍未満の任意の倍率又は0より大きい値による減算により上述の設定値を変更してもよい。そして、コントローラ13は、ダウンサンプリングのサイズの下限値が設けられている場合には、当該下限値未満とならないようにダウンサンプリングのサイズの設定値の変更を制限する(ステップS20)。
【0094】
また、対応計測点数Ncが目標範囲RNcの上限に相当する800より大きい場合、コントローラ13は、ダウンサンプリングのサイズの設定値を、1.1倍に変更する(ステップS21)。なお、「1.1」は一例であり、コントローラ13は、1倍より大きい任意の倍率又は0より大きい値による加算により上述の設定値を変更してもよい。そして、コントローラ13は、ダウンサンプリングのサイズの上限値が設けられている場合には、当該上限値を超えないようにダウンサンプリングのサイズの設定値の変更を制限する(ステップS22)。なお、コントローラ13は、対応計測点数Ncが目標範囲RNcに属する場合には、ダウンサンプリングのサイズの設定を維持する。
【0095】
そして、コントローラ13は、NDTマッチングの結果に基づき、現処理時刻での推定自車位置(ヨー角などの姿勢角を含む)を算出する(ステップS23)。そして、コントローラ13は、自車位置推定処理を終了すべきか否か判定する(ステップS24)。そして、コントローラ13は、自車位置推定処理を終了すべきと判定した場合(ステップS24;Yes)、フローチャートの処理を終了する。一方、コントローラ13は、自車位置推定処理を継続する場合(ステップS24;No)、ステップS13へ処理を戻し、次の処理時刻での自車位置の推定を行う。
【0096】
(6)変形例
以下、上述の実施例に好適な変形例について説明する。以下の変形例は、組み合わせてこれらの実施例に適用してもよい。
【0097】
(変形例1)
車載機1は、ダウンサンプリングを行う空間となる3次元座標系の座標軸を構成する各方向のうち、相対的に位置推定精度が悪い方向(「低精度方向」とも呼ぶ。)のダウンサンプリングのサイズを固定値にし、その他の方向のダウンサンプリングのサイズを上述の実施例に基づき適応的に変更してもよい。低精度方向は、例えば進行方向である。なお、低精度方向は、横方向又は高さ方向であってもよい。
【0098】
この場合、例えば、使用するライダ2又は運転支援システムの仕様等により、低精度方向が自車位置推定処理の実行前に経験的に特定されており、メモリ12には、低精度方向のダウンサンプリングのサイズの固定値が記憶されている。そして、車載機1は、低精度方向のダウンサンプリングのサイズを、メモリ12に記憶された固定値にし、他の方向のダウンサンプリングのサイズを
図12のフローチャートのステップS19~ステップS22において変更する。このようにすることで、車載機1は、低精度方向での加工点群データの分解能を確保し、低精度方向での位置推定精度の低下を確実に抑制することができる。
【0099】
(変形例2)
車載機1は、低精度方向のダウンサンプリングのサイズを、他の方向のダウンサンプリングのサイズの1倍未満のサイズとなるように設定してもよい。
【0100】
例えば、車載機1は、対応計測点数Ncに基づき決定したサイズ(「基準サイズ」とも呼ぶ。)と、精度や重要度等に応じて予め方向毎に設定した比率とに基づき、各方向のダウンサンプリングのサイズを決定する。例えば、車載機1は、進行方向のダウンサンプリングのサイズを、
図12のフローチャートのステップS11又はステップS19~ステップS22において決定した基準サイズの1/2倍とする。一方、車載機1は、横方向のダウンサンプリングのサイズを基準サイズの2倍とし、高さ方向のダウンサンプリングのサイズを基準サイズと同一(等倍)とする。このようにすることで、車載機1は、低精度方向の他の方向に対する加工点群データの相対的な分解能を常に上げることができる。
【0101】
(変形例3)
車載機1は、処理時刻毎に実行する自車位置推定処理(ダウンサンプリングを含む)の処理時間(処理時間の長さ)を計測し、計測した処理時間に応じてダウンサンプリングのサイズを設定してもよい。
【0102】
例えば、車載機1は、自車位置推定処理の実行周期が83.3msである場合には、処理時間が30ms未満の場合に、ダウンサンプリングのサイズを所定値又は所定率だけ小さくする。一方、車載機1は、処理時間が70msより長い場合、ダウンサンプリングのサイズを所定値又は所定率だけ大きくする。また、車載機1は、処理時間が30ms~70msである場合、ダウンサンプリングのサイズの設定を維持する。なお、車載機1は、本変形例に基づくダウンサンプリングのサイズの設定の変更を、例えば、
図12のステップS23の実行後に行ってもよく、ステップS18~ステップS22の直前又は直後において実行してもよい。
【0103】
本変形例によれば、車載機1は、処理時間が実行周期に対して適切な範囲に収まるようにダウンサンプリングのサイズを好適に設定することができる。
【0104】
(変形例4)
図1に示す運転支援システムの構成は一例であり、本発明が適用可能な運転支援システムの構成は
図1に示す構成に限定されない。例えば、運転支援システムは、車載機1を有する代わりに、車両の電子制御装置が車載機1のダウンサンプリング処理部14及び自車位置推定部15の処理を実行してもよい。この場合、地
図DB10は、例えば車両内の記憶部又は車両とデータ通信を行うサーバ装置に記憶され、車両の電子制御装置は、この地
図DB10を参照することで、ダウンサンプリング及びNDTスキャンマッチングに基づく自車位置推定などを実行する。
【0105】
(変形例5)
ボクセルデータVDは、
図9に示すように、平均ベクトルと共分散行列とを含むデータ構造に限定されない。例えば、ボクセルデータVDは、平均ベクトルと共分散行列を算出する際に用いられる計測整備車両が計測した点群データをそのまま含んでいてもよい。
【0106】
(7)実験結果に基づく考察
次に、上述した実施例(変形例も含む)に関する実験結果について考察する。出願人は、水平視野角が60度及び動作周波数12Hz(周期83.3ms)となるライダを前方2台及び後方2台搭載した車両をある走行路に対して走行させ、当該走行路に対して事前に作成したボクセルデータ(ND地図)と、走行中に得られたライダの点群データとをマッチングさせてNDTに基づく位置推定を行った。また、精度評価のために、正解となる位置データとして、RTK-GPSの測位結果を用いた。
【0107】
図13(A)~
図13(F)及び
図14(A)~
図14(E)は、1辺が0.5mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。ここで、RTK-GPSの測位結果に対して、
図13(A)は進行方向の誤差、
図13(B)は横方向の誤差、
図13(C)は高さ方向の誤差、
図13(D)はヨー角の誤差を示し、
図13(E)はダウンサンプリング前の点群データの計測点数、
図13(F)はダウンサンプリングのサイズを夫々示す。また、
図14(A)はダウンサンプリング後の加工点群データの計測点数、
図14(B)は対応計測点数Nc、
図14(C)は加工点群データの計測点数に対する対応計測点数Ncの比率(「対応率」とも呼ぶ。)、
図14(D)はスコア値E(k)、
図14(E)は処理時間を夫々示す。なお、
図14(E)では、ライダの周期(83.3ms)を横線により明示している。
【0108】
ここで、
図14(E)に示されるように、処理時間がライダの周期83.3msを超えてしまっている期間が存在する。この期間では、
図13(E)に示されるダウンサンプリング前の計測点数及び
図14(A)に示されるダウンサンプリング後の計測点数、
図14(B)に示される対応計測点数Ncがいずれも多くなっている。このように、点群データ数と処理時間には正の相関が存在することが把握される。
【0109】
また、
図13(A)に示されるように、170s付近において瞬間的に進行方向の誤差が大きくなっている。このときの走行場所が進行方向の特徴量が少ないエリアであったことに加えて、処理時間がライダの周期を超えている部分であり、処理が間に合っていないことが重なって推定位置がずれてしまったと推測できる。
【0110】
このように、ライダの周期に間に合うような処理を行う必要があり、ダウンサンプリングを固定サイズにした場合には、この課題を解決することができない場合がある。
【0111】
図15(A)~
図15(F)及び
図16(A)~
図16(E)は、1辺が2.0mの立方格子サイズでダウンサンプリングを行い、NDT処理による自車位置推定を行った結果を示す。ここで、RTK-GPSの測位結果に対して、
図15(A)は進行方向の誤差、
図15(B)は横方向の誤差、
図15(C)は高さ方向の誤差、
図15(D)はヨー角の誤差を示し、
図15(E)はダウンサンプリング前の点群データの計測点数、
図15(F)はダウンサンプリングのサイズを夫々示す。また、
図16(A)はダウンサンプリング後の加工点群データの計測点数、
図16(B)は対応計測点数Nc、
図16(C)は対応率、
図16(D)はスコア値E(k)、
図16(E)は処理時間を夫々示す。なお、
図16(E)では、ライダの周期(83.3ms)を横線により明示している。
【0112】
この場合、
図13(A)~
図13(F)及び
図14(A)~
図14(E)の例と比較して、ダウンサンプリングのサイズを大きくしたことで、
図16(B)に示される対応計測点数Ncが減少し、
図16(E)に示される処理時間も低下している。結果として、処理時間は、いずれの時間においてもライダの周期83.3ms以内に収まっている。一方、
図15(A)に示される進行方向の誤差が増大している(特に250s~280s)。これは、加工点群データの分解能が低下し、ダウンサンプリング後の計測点数が減少したことが要因と推察される。なお、加工点群データの計測点数が少なすぎると、NDT処理でマッチングさせる計測点数が不足するため、安定性が低下することがある。
【0113】
このように、ダウンサンプリングのサイズを大きめの固定サイズに設定した場合においても、自車位置推定精度の維持と処理時間の抑制との両立を行うことはできない。
【0114】
図17(A)~
図17(F)及び
図18(A)~
図18(E)は、本実施例に係る
図12に示す処理手順に従いダウンサンプリング及びNDT処理による自車位置推定を行った結果を示す。ここで、RTK-GPSの測位結果に対して、
図17(A)は進行方向の誤差、
図17(B)は横方向の誤差、
図17(C)は高さ方向の誤差、
図17(D)はヨー角の誤差を示し、
図17(E)はダウンサンプリング前の点群データの計測点数、
図17(F)はダウンサンプリングのサイズを夫々示す。また、
図18(A)はダウンサンプリング後の加工点群データの計測点数、
図18(B)は対応計測点数Nc、
図18(C)は対応率、
図18(D)はスコア値E(k)、
図18(E)は処理時間を夫々示す。なお、
図18(E)では、ライダの周期(83.3ms)を横線により明示している。
【0115】
この場合、
図17(F)に示されるように、ダウンサンプリングのサイズは動的に変化している。その結果、
図18(E)に示される処理時間は、常にライダの周期83.3msより下となり、かつ、
図17(A)に示される進行方向の誤差も好適に抑制されている。
【0116】
このように、本実施例に基づきダウンサンプリングのサイズを適応的に変化させることで、自車位置推定精度の維持と処理時間の抑制との両立を行うことができる。
【0117】
図19(A)~
図19(G)は、他車両によるオクルージョンが発生した場合の、本実施例に係る
図12に示す処理手順に従いダウンサンプリング及びNDT処理による自車位置推定を行った結果を示す。また、
図20(A)~
図20(G)は、
図19(A)~
図19(G)と同一状況下において、対応計測点数Ncではなく、仮にダウンサンプリング後の計測点数を600~800に収まるようにダウンサンプリングのサイズを決定した場合の結果を示す。ここで、
図19(A)及び
図20(A)はダウンサンプリング前の計測点数、
図19(B)及び
図20(B)はダウンサンプリングサイズ、
図19(C)及び
図20(C)はダウンサンプリング後の計測点数、
図19(D)及び
図20(D)は対応計測点数Nc、
図19(E)及び
図20(E)は対応率、
図19(F)及び
図20(F)はスコア値E(k)、
図19(G)及び
図20(G)は処理時間を夫々示す。
【0118】
これらの例では、180s以降しばらく他車両によるオクルージョンが発生している。そして、
図20(A)~
図20(G)の例のように、ボクセルデータVDと対応付けされる前の計測点数を対象としてダウンサンプリングのサイズを制御していると、オクルージョンが発生した場合に、対応計測点数Ncが過少となる。その結果、
図20(D)に示すように、オクルージョンが発生した期間において、対応計測点数Ncが低下している。一方、本実施例に係るダウンサンプリングのサイズを制御した場合、
図19(D)に示すように、オクルージョンが発生した期間においても、対応計測点数Ncの変動が小さい。従って、
図20(A)~
図20(G)の例は、
図19(A)~
図19(G)の例と比較して、位置推定の安定性が低下することとなる。この例から、オクルージョンの発生によって、静止構造物を基とするボクセルデータに対応付けられない計測点が多い場合は、ダウンサンプリング後の計測点が目標範囲になるような制御をしても良くないことがわかる。
【0119】
図21(A)~
図21(F)及び
図22(A)~
図22(E)は、変形例1に基づき進行方向のダウンサンプリングのサイズを0.5mに固定し、横方向及び高さ方向のダウンサンプリングのサイズを適応的に変更してNDT処理による自車位置推定を行った結果を示す。具体的には、RTK-GPSの測位結果に対して、
図21(A)は進行方向の誤差、
図21(B)は横方向の誤差、
図21(C)は高さ方向の誤差、
図21(D)はヨー角の誤差を示し、
図21(E)はダウンサンプリング前の点群データの計測点数、
図21(F)はダウンサンプリングのサイズを夫々示す。また、
図22(A)はダウンサンプリング後の加工点群データの計測点数、
図22(B)は対応計測点数Nc、
図22(C)は対応率、
図22(D)はスコア値E(k)、
図22(E)は処理時間を夫々示す。なお、
図22(E)では、ライダの周期(83.3ms)を横線により明示している。
【0120】
この例では、走行路の両脇にガードレール、路肩、中央分離帯が数多く存在し、横方向の誤差は進行方向の誤差よりも良好であることを勘案し、進行方向を低精度方向とみなして進行方向のダウンサンプリングのサイズを0.5mに固定している。そして、進行方向のダウンサンプリングのサイズが0.5mに固定されていることにより、
図21(F)に示されるように、横方向と高さ方向のダウンサンプリングのサイズは、進行方向を含めて適応的にダウンサンプリングのサイズを変更する場合(
図17(F)参照)よりも大きくなっている。一方、変形例1においても、
図22(B)に示される対応計測点数Ncが600~800に維持されるように制御することにより、
図22(E)に示される処理時間もライダの周期以内に好適に収まっている。
【0121】
結果として、変形例1を実行した場合には、
図21(B)に示される横方向の誤差はほぼ変化せず、
図21(A)に示される進行方向の誤差(特に170s付近)が小さくなっている。このように、変形例1に基づくダウンサンプリングのサイズの制御においても、自車位置推定精度の維持と処理時間の抑制とを好適に両立させることができる。
【0122】
以上説明したように、本実施例に係る車載機1のコントローラ13は、ライダ2が出力する点群データを取得する。そして、コントローラ13は、点群データに対してダウンサンプリングを行った加工点群データを生成する。そして、コントローラ13は、加工点群データと、単位領域であるボクセルごとの物体の位置を表すボクセルデータVDとの照合により、加工点群データを構成する計測点とボクセルの各々との対応付けを行う。そして、コントローラ13は、加工点群データの計測点のうちボクセルと対応付けられた計測点の数である対応計測点数Ncに基づき、次に実行されるダウンサンプリングのサイズを変更する。これにより、車載機1は、ダウンサンプリングのサイズを適応的に決定し、自己位置推定の精度と処理時間との両立を好適に実現することができる。
【0123】
なお、上述した実施例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるコントローラ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。
【0124】
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。