(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103582
(43)【公開日】2024-08-01
(54)【発明の名称】情報処理装置、制御方法、プログラム及び記憶媒体
(51)【国際特許分類】
G01C 21/30 20060101AFI20240725BHJP
【FI】
G01C21/30
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2024086471
(22)【出願日】2024-05-28
(62)【分割の表示】P 2023027424の分割
【原出願日】2020-12-01
(31)【優先権主張番号】P 2019218034
(32)【優先日】2019-12-02
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】加藤 正浩
(57)【要約】
【課題】車両の姿勢を好適に推定可能な情報処理装置を提供する。
【解決手段】車載機1の制御部15は、空間を区切った単位領域(ボクセル)ごとの物体の位置情報であるボクセルデータVDから、自車両の近傍に存在する複数のボクセルのボクセルデータVDを抽出する。そして、制御部15は、抽出した複数のボクセルのボクセルデータVDに基づき求めた近似平面に対する法線ベクトルを算出する。そして、制御部15は、自車両の向きと、法線ベクトルとに基づき、自車両のピッチ角又はロール角の少なくとも一方を算出する。
【選択図】
図15
【特許請求の範囲】
【請求項1】
空間を区切った単位領域ごとの物体の位置情報から、移動体の近傍に存在する複数の単位領域での物体の位置情報を抽出する抽出部と、
前記複数の単位領域での物体の位置情報に基づき求めた近似した平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記移動体の向きと、前記法線ベクトルとに基づき、前記移動体のピッチ角又はロール角の少なくとも一方を算出する角度算出部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の姿勢の推定技術に関する。
【背景技術】
【0002】
従来から、レーザスキャナなどの計測装置を用いて計測した周辺物体の形状データを、予め周辺物体の形状が記憶された地図情報と照合(マッチング)することで、車両の自己位置を推定する技術が知られている。例えば、特許文献1には、空間を所定の規則で分割したボクセル中における検出物が静止物か移動物かを判定し、静止物が存在するボクセルを対象として地図情報と計測データとのマッチングを行う自律移動システムが開示されている。また、特許文献2には、ボクセル毎の静止物体の平均ベクトルと共分散行列とを含むボクセルデータとライダが出力する点群データとの照合により自車位置推定を行うスキャンマッチング手法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開WO2013/076829
【特許文献2】国際公開WO2018/221453
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、車両は道路面に拘束されており、車両のピッチ角やロール角や上下方向の変化は、サスペンションによる変動はあるものの無視できる程度に小さい。よって、一般的なスキャンマッチングによる車両の自己位置推定では、車両の平面位置及び方位を推定すべきパラメータとして設定している。一方、勾配が大きい坂道や横断勾配を含む道路などの走行時では、車両の平面位置及び方位を推定するだけでは、ピッチ角やロール角の変化に対応できず、マッチングされるべきボクセルと計測データとの対応付けがされなかったり、間違った対応付けが行われてしまったりする。ここで、ピッチ角やロール角の変化に対応するため、ピッチ角やロール角を自己位置推定の推定パラメータとして加えた場合、推定パラメータの増加に起因して計算負荷が増加し、必要な周期での自己位置推定が安定的に終わらなくなるという問題が生じる。また、IMU(Inertial Measurement Unit)のデータから車両のピッチ角やロール角を求める方法が存在するが、一般的なIMUでは感度誤差やオフセットがあるために、ピッチ角やロール角を正確に計算できないという問題もあった。
【0005】
本発明は、上記のような課題を解決するためになされたものであり、車両の姿勢を好適に推定可能な情報処理装置を提供することを主な目的とする。
【課題を解決するための手段】
【0006】
請求項に記載の発明は、物体の位置情報を有する地図情報から、移動体の近傍に存在する物体の位置情報を複数抽出する抽出部と、前記複数の物体の位置情報に基づき求めた近似した平面に対する法線ベクトルを算出する法線ベクトル算出部と、前記移動体の向きと、前記法線ベクトルとに基づき、前記移動体のピッチ角又はロール角の少なくとも一方を算出する角度算出部と、を有する情報処理装置であることを特徴とする。
【図面の簡単な説明】
【0007】
【
図2】車載機の機能的構成を示すブロック図である。
【
図3】状態変数ベクトルを2次元直交座標で表した図である。
【
図4】ボクセルデータの概略的なデータ構造の一例を示す。
【
図5】NDTマッチング部の機能ブロックの一例である。
【
図6】(A)車両の位置と路面ボクセルとの対応関係を示す俯瞰図である。(B)路面平均ベクトルを明示した車両の側面図である。
【
図7】車両のヨー角と進行方向ベクトルとの関係を示すxy平面図である。
【
図8】法線ベクトルと進行方向ベクトルのなす角と車両のピッチ角との関係示す図である。
【
図9】車両のヨー角と横方向ベクトルとの関係を示すxy平面図である。
【
図10】法線ベクトルと横方向ベクトルのなす角と車両のロール角との関係示す図である。
【
図11】(A)平坦な路面を走行する車両及び道路の側面図である。(B)点群データに車両のピッチ角に基づく座標変換を行わない場合において、勾配が大きい路面を走行する車両及び道路の側面図である。
【
図12】点群データに車両のピッチ角に基づく座標変換を行う場合において、勾配が大きい路面を走行する車両及び道路の側面図である。
【
図13】車両の位置姿勢推定処理の手順を示すフローチャートの一例である。
【
図14】車両高さ推定処理の手順を示すフローチャートの一例である。
【
図15】車両のロール角・ピッチ角の推定処理の手順を示すフローチャートの一例である。
【
図16】ピッチ角の推定を行い、推定したピッチ角に基づく点群データの座標変換を行った場合に得られた点群データ数、対応付け数、対応付け比率、評価値、及びピッチ角の遷移をそれぞれ示す。
【
図17】ピッチ角の推定を行わない場合に得られた点群データ数、対応付け数、対応付け比率、評価値、及びピッチ角をそれぞれ示す。
【発明を実施するための形態】
【0008】
本発明の好適な実施形態によれば、情報処理装置は、空間を区切った単位領域ごとの物体の位置情報から、移動体の近傍に存在する複数の単位領域での物体の位置情報を抽出する抽出部と、前記複数の単位領域での物体の位置情報に基づき求めた近似した平面に対する法線ベクトルを算出する法線ベクトル算出部と、前記移動体の向きと、前記法線ベクトルとに基づき、前記移動体のピッチ角又はロール角の少なくとも一方を算出する角度算出部と、を有する。
【0009】
一般に、移動体は路面上を走行するため、移動体の近傍には路面が存在し、移動体の近傍に存在する複数の単位領域には路面が含まれることが推測される。また、移動体は路面に拘束されており、路面の傾きに応じた移動体のピッチ角及びロール角が生じる。以上を勘案し、この態様では、情報処理装置は、路面の位置情報と推測される複数の単位領域での物体の位置情報に基づき路面を近似した平面の法線ベクトルを算出する。これにより、情報処理装置は、算出した法線ベクトルと移動体の向きとの関係に基づき、移動体のピッチ角又はロール角の少なくとも一方を好適に算出することができる。
【0010】
上記情報処理装置の一態様では、前記角度算出部は、水平面上において前記移動体の進行方向の向きを示すベクトルと、前記法線ベクトルとの内積に基づき、前記ピッチ角を算出する。この態様により、情報処理装置は、移動体の水平面上での進行方向と近似平面の法線ベクトルとのなす角を算出し、移動体のピッチ角を好適に求めることができる。
【0011】
上記情報処理装置の他の一態様では、前記角度算出部は、水平面上において前記移動体の横方向の向きを示すベクトルと、前記法線ベクトルとの内積に基づき、前記ロール角を算出する。この態様により、情報処理装置は、移動体の水平面上での横方向と近似平面の法線ベクトルとのなす角を算出し、移動体のロール角を好適に求めることができる。
【0012】
上記情報処理装置の他の一態様では、情報処理装置は、前記単位領域ごとに、前記物体の位置情報と、前記移動体に設けられた計測部が出力する計測データを前記ピッチ角又はロール角の少なくとも一方に基づき座標変換したデータと、の照合を行うことで、前記移動体の位置推定を行う位置推定部をさらに有する。この態様では、情報処理装置は、物体の位置情報と、計測部が出力する計測データとの照合(マッチング)により移動体の位置推定を行う。このとき、情報処理装置は、算出したピッチ角又はロール角に基づき計測データを座標変換する。これにより、情報処理装置は、坂道や横断勾配が高い道路上での走行により車両のピッチ角又はロール角の変化が生じた場合であっても、被計測対象が実際に存在する単位領域と当該被計測対象の計測データとを的確に対応付けてマッチングを行うことができる。
【0013】
上記情報処理装置の他の一態様では、前記単位領域ごとの物体の位置情報は、前記単位領域ごとの当該物体の位置に関する平均ベクトルの情報を含み、前記法線ベクトル算出部は、前記複数の単位領域での各々の前記平均ベクトルの座標に基づき、前記法線ベクトルを算出する。この態様によれば、情報処理装置は、移動体が存在する路面の位置情報と推測される複数の単位領域での物体の位置情報に基づき、当該路面を近似した平面の法線ベクトルを好適に算出することができる。
【0014】
上記情報処理装置の他の一態様では、前記抽出部は、前記物体の位置情報が存在する単位領域のうち、前記移動体と平面位置が重なる第1単位領域及び当該第1単位領域と隣接する第2単位領域での前記物体の位置情報を抽出する。この態様によれば、情報処理装置は、路面の位置情報と推測される複数の単位領域での物体の位置情報を好適に抽出することができる。
【0015】
上記情報処理装置の他の一態様では、情報処理装置は、前記第1単位領域での前記物体の位置情報と、前記移動体の路面からの高さの情報とに基づき、前記移動体の基準位置からの高さを算出する高さ算出部をさらに備える。基準位置は、地図などで用いられる絶対座標系において基準となる位置であって、例えば標高0mの位置を示す。この態様によれば、情報処理装置は、移動体が存在すると推測される第1単位領域での物体(路面)の位置情報を用いて、移動体の基準位置からの高さを好適に算出することができる。好適な例では、前記高さ算出部は、前記第1単位領域での前記物体の位置情報と、前記移動体の路面からの高さの情報とに基づき算出した前記基準位置からの高さと、1時刻前に算出した前記基準位置からの高さとの差が所定値より大きい場合、1時刻前に算出した前記基準位置からの高さを、現時刻における前記基準位置からの高さとして設定するとよい。これにより、立体交差の道路やガードレールなどが近傍に存在する等に起因して、算出した移動体の高さに誤差が生じた場合に、誤差が生じた移動体の高さを現在の移動体の高さとして認識するのを好適に抑制する。
【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スキャンマッチングにより車両の平面上の位置及びヨー角を推定すると共に、ボクセルデータVDに基づき,車両の高さ位置と,ピッチ角及びロール角の少なくとも一方の推定を行う。
【0022】
ライダ2は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群情報を生成する。この場合、ライダ2は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータを出力する出力部とを有する。スキャンデータは、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光の応答遅延時間とに基づき生成される。なお、一般的に、対象物までの距離が近いほどライダの距離測定値の精度は高く、距離が遠いほど精度は低い。ライダ2、ジャイロセンサ3、車速センサ4、GPS受信機5は、それぞれ、出力データを車載機1へ供給する。なお、車載機1は、本発明における「情報処理装置」の一例であり、ライダ2は、本発明における「計測部」の一例である。
【0023】
なお、運転支援システムは、ジャイロセンサ3に代えて、又はこれに加えて、3軸方向における計測車両の加速度及び角速度を計測する慣性計測装置(IMU)を有してもよい。
【0024】
(2)
車載機の構成
図2は、車載機1の機能的構成を示すブロック図である。車載機1は、主に、インターフェース11と、記憶部12と、通信部13と、入力部14と、制御部15と、情報出力部16と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0025】
インターフェース11は、ライダ2、ジャイロセンサ3、車速センサ4、及びGPS受信機5などのセンサから出力データを取得し、制御部15へ供給する。また、インターフェース11は、制御部15が生成した車両の走行制御に関する信号を車両の電子制御装置(ECU:Electronic Control Unit)へ供給する。
【0026】
記憶部12は、制御部15が実行するプログラムや、制御部15が所定の処理を実行するのに必要な情報を記憶する。本実施例では、記憶部12は、ボクセルデータVDを含む地
図DB10を記憶する。なお、地
図DB10は、定期的に更新されてもよい。この場合、例えば、制御部15は、通信部13を介し、地図情報を管理するサーバ装置から、自車位置が属するエリアに関する部分地図情報を受信し、地
図DB10に反映させる。なお、記憶部12は、地
図DB10を記憶しなくともよい。この場合、例えば、制御部15は、通信部13を介して、ボクセルデータVDを含む地図データを記憶するサーバ装置と通信を行うことで、自車位置推定処理等に必要な情報を必要なタイミングにより取得する。
【0027】
入力部14は、ユーザが操作するためのボタン、タッチパネル、リモートコントローラ、音声入力装置等であり、経路探索のための目的地を指定する入力、自動運転のオン及びオフを指定する入力などを受け付ける。情報出力部16は、例えば、制御部15の制御に基づき出力を行うディスプレイやスピーカ等である。
【0028】
制御部15は、プログラムを実行するCPUなどを含み、車載機1の全体を制御する。本実施例では、制御部15は、姿勢角算出部17と、NDTマッチング部18とを有する。制御部15は、本発明における「抽出部」、「法線ベクトル算出部」、「角度算出部」、「位置推定部」、「高さ算出部」及びプログラムを実行する「コンピュータ」の一例である。
【0029】
姿勢角算出部17は、ボクセルデータVDを参照し、車両のピッチ角又はロール角の少なくとも一方を算出する。NDTマッチング部18は、ライダ2から出力される点群データと、当該点群データが属するボクセルに対応するボクセルデータVDとに基づき、NDTに基づくスキャンマッチング(NDTスキャンマッチング)を行うことで、自車位置の推定を行う。本実施例では、NDTマッチング部18は、後述するように、NDTスキャンマッチングにおいて、車両の平面位置(即ち緯度及び経度により特定される水平面上の位置)とヨー角(即ち方位)とを推定パラメータとして設定する。
【0030】
(3)
NDTスキャンマッチングに基づく位置推定
図3は、NDTマッチング部18が推定すべき自車位置を2次元直交座標で表した図である。
図3に示すように、xyの2次元直交座標上で定義された平面での自車位置は、座標「(x、y)」、自車の方位(ヨー角)「ψ」により表される。ここでは、ヨー角ψは、車の進行方向とx軸とのなす角として定義されている。座標(x、y)は、例えば緯度及び経度の組合せに相当する絶対位置、あるいは所定地点を原点とした位置を示すワールド座標である。そして、NDTマッチング部18は、これらのx、y、ψを推定パラメータとする自車位置推定を行う。なお、車両のピッチ角及びロール角の推定方法については「(4)
姿勢角の推定」のセクションで詳しく説明する。
【0031】
次に、NDTスキャンマッチングに用いるボクセルデータVDについて説明する。ボクセルデータVDは、各ボクセル内の静止構造物の計測された点群データを正規分布により表したデータを含む。
【0032】
図4は、ボクセルデータVDの概略的なデータ構造の一例を示す。ボクセルデータVDは、ボクセル内の点群を正規分布で表現する場合のパラメータの情報を含み、本実施例では、
図4に示すように、ボクセルIDと、ボクセル座標と、平均ベクトルと、共分散行列とを含む。
【0033】
「ボクセル座標」は、各ボクセルの中心位置などの基準となる位置の絶対的な3次元座標を示す。なお、各ボクセルは、空間を格子状に分割した立方体であり、予め形状及び大きさが定められているため、ボクセル座標により各ボクセルの空間を特定することが可能である。ボクセル座標は、ボクセルIDとして用いられてもよい。
【0034】
「平均ベクトル」及び「共分散行列」は、対象のボクセル内での点群を正規分布で表現する場合のパラメータに相当する平均ベクトル及び共分散行列を示す。なお、任意のボクセル「n」内の任意の点「i」の座標を
Xn(i)=[xn(i)、yn(i)、zn(i)]T
と定義し、ボクセルn内での点群数を「Nn」とすると、ボクセルnでの平均ベクトル「μn」及び共分散行列「Vn」は、それぞれ以下の式(1)及び式(2)により表される。
【0035】
【0036】
【0037】
次に、ボクセルデータVDを用いたNDTスキャンマッチングの概要について説明する。
【0038】
車両を想定したNDTによるスキャンマッチングは、道路平面(ここではxy座標とする)内の移動量及び車両の向きを要素とした推定パラメータ
P=[tx、ty、tψ]T
を推定することとなる。ここで、「tx」は、x方向の移動量を示し、「ty」は、y方向の移動量を示し、「tψ」は、ヨー角を示す。
【0039】
また、ライダ2により得られた点群データに対して、マッチングさせるべきボクセルとの対応付けを行い、対応するボクセルnでの任意の点の座標を
XL(j)=[xn(j)、yn(j)、zn(j)]T
とすると、ボクセルnでのXL(j)の平均値「L´n」は、以下の式(3)により表される。
【0040】
【数3】
そして、上述の推定パラメータPを用い、平均値L´を座標変換すると、変換後の座標「L
n」は、以下の式(4)により表される。
【0041】
【数4】
そして、車載機1は、地
図DB10と同一の座標系である絶対的な座標系(「ワールド座標系」とも呼ぶ。)に変換した点群データと、ボクセルデータVDに含まれる平均ベクトルμ
nと共分散行列V
nとを用い、ボクセルnの評価関数値(「個別評価関数値」とも呼ぶ。)「E
n」を算出する。この場合、車載機1は、以下の式(5)に基づき、ボクセルnの個別評価関数値E
nを算出する。
【0042】
【0043】
そして、車載機1は、以下の式(6)により示される、マッチングの対象となる全てのボクセルを対象とした総合的な評価関数値(「総合評価関数値」とも呼ぶ。)「E(k)」を算出する。
【0044】
【数6】
その後、車載機1は、ニュートン法などの任意の求根アルゴリズムにより総合評価関数値E(k)が最大となるとなる推定パラメータPを算出する。そして、車載機1は、デッドレコニングにより暫定的に算出した予測自車位置「X
-(k)」に対し、推定パラメータPを適用することで、以下の式(7)を用いて高精度な推定自車位置「X
^(k)」を算出する。
【0045】
【数7】
なお、ここでは、計算対象となる基準時刻(即ち現在時刻)「k」の自車位置を示す状態変数ベクトルを、「X
-(k)」または「X
^(k)」と表記している。
【0046】
図5は、NDTマッチング部18の機能ブロックの一例である。
図5に示すように、NDTマッチング部18は、デッドレコニングブロック21と、位置予測ブロック22と、座標変換ブロック23と、点群データ対応付けブロック24と、位置補正ブロック25とを有する。
【0047】
デッドレコニングブロック21は、ジャイロセンサ3、車速センサ4、及びGPS受信機5等の出力に基づく車両の移動速度と角速度を用い、前回時刻からの移動距離と方位変化を求める。位置予測ブロック22は、直前の計測更新ステップで算出された時刻k-1の推定自車位置X^(k-1)に対し、求めた移動距離と方位変化を加えて、時刻kの予測自車位置X-(k)を算出する。
【0048】
座標変換ブロック23は、ライダ2から出力される点群データを、地
図DB10と同一の座標系であるワールド座標系に変換する。この場合、座標変換ブロック23は、時刻kで位置予測ブロック22が出力する予測自車位置(即ち車両の平面位置及び方位)と、時刻kで姿勢角算出部17が出力する車両の高さと姿勢角(ここではピッチ角又はロール角の少なくとも一方)とに基づき、時刻kでライダ2が出力する点群データの座標変換を行う。この座標変換の詳細については後述する。
【0049】
点群データ対応付けブロック24は、座標変換ブロック23が出力するワールド座標系の点群データと、同じワールド座標系で表されたボクセルデータVDとを照合することで、点群データとボクセルとの対応付けを行う。位置補正ブロック25は、点群データと対応付けがなされた各ボクセルを対象として、式(5)に基づく個別評価関数値を算出し、式(6)に基づく総合評価関数値E(k)が最大となるとなる推定パラメータPを算出する。そして、位置補正ブロック25は、式(7)に基づき、位置予測ブロック22が出力する予測自車位置X-(k)に対し、時刻kで求めた推定パラメータPを適用することで、推定自車位置X^(k)を算出する。
【0050】
(4)姿勢角の算出
次に、ボクセルデータVDを用いた姿勢角算出部17による車両の姿勢角であるピッチ角及びロール角の算出方法について説明する。
【0051】
(4-1)ピッチ角の算出
まず、姿勢角算出部17による車両のピッチ角の算出方法について説明する。
【0052】
姿勢角算出部17は、ボクセルデータVDを参照し、道路の路面に対応するボクセル(「路面ボクセル」とも呼ぶ。)から、NDTマッチング部18が予測又は推定した自車平面位置x、y(即ち(x-、y-)又は(x^、y^))が位置する路面ボクセルを探索する。そして、姿勢角算出部17は、自車平面位置x、yが位置する路面ボクセル(「自車位置路面ボクセル」とも呼ぶ。)を含む「n」個の周辺の路面ボクセルに対応するボクセルデータVDを取得する。「n」は、3以上の任意の整数である。なお、自車位置路面ボクセルは、本発明における「第1単位領域」の一例であり、自車位置路面ボクセル以外のn-1個の周辺の路面ボクセルは、本発明における「第2単位領域」の一例である。
【0053】
図6(A)は、車両の位置と路面ボクセルとの対応関係を示す俯瞰図である。
図6(A)では、自車平面位置x、y(ここでは(x
^、y
^))が位置する自車位置路面ボクセル「Vo5」と、自車位置路面ボクセルVo5の前後左右の路面ボクセル「Vo1」~「Vo4」、「Vo6」~「Vo9」とが示されている。この例では「n=9」に設定されており、姿勢角算出部17は、9個の路面ボクセルVo1~Vo9に対応するボクセルデータVDを地
図DB10から取得する。
【0054】
次に、姿勢角算出部17は、n個の路面ボクセルの各々に対応するボクセルデータVDに含まれるボクセル座標及び平均ベクトルの情報に基づき、n個の路面ボクセルの各々に含まれる路面のワールド座標系における平均ベクトル(「路面平均ベクトル」とも呼ぶ。)を算出する。
【0055】
図6(B)は、路面ボクセル毎の路面平均ベクトルを明示した車両の側面図である。
図6(B)では、
図6(A)に示した路面ボクセルVo4~Vo6の各々に対応する路面平均ベクトルの座標位置「M4」~「M6」が示されている。姿勢角算出部17は、「n=9」であることから、9個の路面ボクセルVo1~Vo9に対応するボクセルデータVDに基づき、9個の路面ボクセルVo1~Vo9に対応する路面平均ベクトルを算出する。
【0056】
次に、姿勢角算出部17は、路面を平面とみなし、路面を近似した平面の方程式を以下の式(8)により表す。
【0057】
【数8】
そして、姿勢角算出部17は、算出したn個の路面平均ベクトル
(x
1、y
1、z
1)、(x
2、y
2、z
2)、…、(x
n、y
n、z
n)
を式(8)に代入することで、式(9)に示されるn個の式からなる連立方程式を得る。
【0058】
【数9】
ここで、式(9)を行列により表現すると、以下の式(10)が得られる。
【0059】
【数10】
ここで、左辺のn×3型行列を「C」、同左辺の3×1型行列(ベクトル)を「a」、右辺のn×1型行列(ベクトル)を「b」とすると、式(10)は、以下の式(11)により表される。
【0060】
【数11】
そして、式(11)を変形すると、正規方程式として以下の式(12)が得られる。
【0061】
【数12】
従って、姿勢角算出部17は、nが3以上の場合には、以下の式(13)に基づく最小2乗法により、式(8)に示す平面方程式の係数ベクトル「a=[a、b、c]
T」を算出することができる。
【0062】
【数13】
また、式(8)の平面方程式を変形すると、以下の式(14)が得られる。
【0063】
【数14】
式(14)から、平面の法線ベクトル「Vn」は、以下の式(15)により表される。
【0064】
【数15】
また、姿勢角算出部17は、xy平面上での車両の向きベクトル「Vx」を、NDTマッチング部18により予測又は推定されるヨー角に基づき決定する。
図7は、車両のヨー角(ここではψ
^とする)と進行方向ベクトルVxとの関係を示すxy平面図である。進行方向ベクトルVxのz成分は0であり、かつ、x成分及びy成分は、夫々、車両のヨー角の余弦及び正弦に比例することから、進行方向ベクトルVxは、以下の式(16)により与えられる。
【0065】
【数16】
この場合、法線ベクトルVnと進行方向ベクトルVxのなす角「θ’」は、法線ベクトルVnと進行方向ベクトルVxとの内積計算を含む以下の式(17)により示される。
【0066】
【数17】
そして、姿勢角算出部17は、法線ベクトルVnと進行方向ベクトルVxのなす角θ’に基づき、車両のピッチ角「θ」を算出する。
【0067】
図8は、法線ベクトルVnと進行方向ベクトルVxのなす角θ’と車両のピッチ角θとの関係示す図である。
図8に示すように、法線ベクトルVnと進行方向ベクトルVxのなす角θ’は、車両のピッチ角θよりも90度(即ちπ/2)だけ大きい。また、車両は路面に拘束されていることから、車両の進行方向における路面の傾きは、車両のピッチ角θに等しい。よって、姿勢角算出部17は、以下の式(18)に基づき、ピッチ角θを算出する。
【0068】
【数18】
このように、姿勢角算出部17は、路面ボクセルのボクセルデータVDに基づくn個の路面平均ベクトルから算出した平面方程式の係数ベクトルと、NDTマッチング部18が予測又は推定したヨー角とに基づき、好適に車両のピッチ角を算出することができる。
【0069】
(4-2)ロール角の推定
姿勢角算出部17は、ピッチ角の算出と同様、ボクセルデータVDに基づくn個の路面平均ベクトルに基づき、式(15)に示される法線ベクトルVnを算出する。
【0070】
また、姿勢角算出部17は、xy平面上での車両の横方向ベクトル「V
Y」を、NDTマッチング部18により予測又は推定されるヨー角に基づき決定する。
図9は、車両のヨー角(ここではψ
^とする)と横方向ベクトルV
Yとの関係を示すxy平面図である。
図9に示すように、横方向ベクトルV
Yは、NDTマッチング部18により予測又は推定されるヨー角(ここではψ
^とする)を、xy平面に沿って90度(π/2)だけ回転させた方向に相当する。よって、横方向ベクトルV
Yは、以下の式(19)により与えられる。
【0071】
【数19】
この場合、法線ベクトルVnと横方向ベクトルV
Yとのなす角「φ’」は、法線ベクトルVnと横方向ベクトルV
Yとの内積計算を含む以下の式(20)により示される。
【0072】
【数20】
そして、姿勢角算出部17は、法線ベクトルVnと横方向ベクトルV
Yのなす角φ’に基づき、車両のロール角「φ」を算出する。
【0073】
図10は、法線ベクトルVnと横方向ベクトルV
Yのなす角φ’と車両のロール角φとの関係示す図である。
図10に示すように、法線ベクトルVnと横方向ベクトルV
Yのなす角φ’は、車両のロール角φよりも90度(即ちπ/2)だけ大きい。また、車両は路面に拘束されていることから、車両の横方向における路面の傾きは、車両のロール角φに等しい。よって、姿勢角算出部17は、以下の式(21)に基づき、ロール角φを算出する。
【0074】
【数21】
このように、姿勢角算出部17は、ボクセルデータVDに基づくn個の路面平均ベクトルから算出した平面方程式の係数ベクトルと、NDTマッチング部18が予測又は推定したヨー角とに基づき、好適に車両のロール角を算出することができる。
【0075】
(5)点群データの座標変換
次に、姿勢角算出部17が算出したピッチ角による点群データの座標変換について説明する。
【0076】
NDTマッチング部18の座標変換ブロック23は、姿勢角算出部17が算出したピッチ角θを用いて、以下の式(22)に示す回転行列「Rθ」を生成する。
【0077】
【数22】
ここで、ライダ2によりn個の3次元データを検出した場合、これらのn個の3次元データを行列により表した「X
L」は、以下の式(23)により表される。
【0078】
【数23】
この場合、座標変換ブロック23は、以下の式(24)により、ピッチ角θに関する点群データの座標変換を行う。
【0079】
【数24】
その後、座標変換ブロック23は、式(24)のX
L’の各行に対応するn個の3次元データに対し、予測又は推定された3次元の自車位置(x、y、z)の値を加算する。これにより、x、y、zの3次元位置についてもワールド座標系に変換された点群データが生成される。そして、座標変換ブロック23は、ワールド座標系に変換された点群データを、点群データ対応付けブロック24に供給する。
【0080】
次に、ピッチ角θとロール角φの両方を勘案した座標変換について説明する。座標変換ブロック23は、姿勢角算出部17が算出したピッチ角θに基づく回転行列Rθと、ロール角φに基づく回転行列「Rφ」とを用いて、ライダ2が出力するn個の3次元データを示す行列XLに乗じる回転行列「R」を、以下の式(25)に基づき作成する。
【0081】
【数25】
この場合、位置予測ブロック22は、以下の式(26)により、ピッチ角θ及びロール角φに関する点群データのワールド座標系への座標変換を行う。
【0082】
【数26】
その後、座標変換ブロック23は、式(26)のX
L’に対しヨー角ψに基づく回転行列を同様に乗じることで、ヨー角ψに関する点群データのワールド座標系への座標変換を行う。また、座標変換ブロック23は、座標変換後のX
L’の各行に対応するn個の3次元データに対し、予測又は推定した自車位置(x、y、z)の値を加算することで、3次元位置に関するワールド座標系への座標変換を行う。そして、座標変換ブロック23は、上述の処理によりワールド座標系に変換された点群データを、点群データ対応付けブロック24に供給する。
【0083】
なお、座標変換ブロック23は、ライダ2が計測した距離及びスキャン角度の組み合わせに基づくライダ2を基準とした3次元上の位置の各々を示す点群データを、車両座標系に変換する処理をさらに行ってもよい。車両座標系は、車両の進行方向と横方向を軸とした車両の座標系である。この場合、座標変換ブロック23は、ライダ2の車両に対する設置位置及び設置角度の情報に基づき、ライダ2を基準とした座標系から車両座標系に点群データを変換し、車両座標系に変換した点群データを、さらに上述した方法によりワールド座標系に変換する。車両に設置されたライダが出力する点群データを車両座標系に変換する処理については、例えば、国際公開WO2019/188745などに開示されている。
【0084】
また、座標変換ブロック23は、ピッチ角θとロール角φのうちロール角φのみを勘案した座標変換を行ってもよい。この場合、座標変換ブロック23は、式(25)に示される回転行列Rφを、ライダ2が出力するn個の3次元データを示す行列XLに乗じればよい。
【0085】
次に、上述の座標変換による効果について、
図11及び
図12を参照して補足説明する。
【0086】
図11(A)は、平坦な路面を走行する車両及び道路の側面図である。この場合、ワールド座標系の基準位置(例えば標高が0となる位置)からの車両高さ「z
^」は、ワールド座標系の基準位置から路面までの高さに、路面からの車両の高さ(「車両基準位置z
0」とも呼ぶ。)を加算した高さとなる。そして、ライダ2が計測したある計測点「Ptag1」の車両からの高さ「d」を車両高さz
^に加算した「z
^+d」は、ワールド座標系における計測点Ptag1の実際の高さと一致する。よって、この場合、点群データ対応付けブロック24が実行する対応付け処理では、対象の計測点Ptag1は、計測点Ptag1が実際に含まれるボクセル「V1」と対応付けが行われる。
【0087】
図11(B)は、点群データに車両のピッチ角に基づく座標変換を行わない場合において、勾配が大きい路面を走行する車両及び道路の側面図である。この場合、路面勾配により車両にピッチ角が生じるため、点群データが上向きになる。よって、車両から高さdの位置に存在する計測点「Ptag2」のワールド座標系での高さは、高さdを車両高さz
^に加算した「z
^+d」とはならない。その結果、点群データ対応付けブロック24が実行する対応付け処理では、計測点Ptag2は、ワールド座標系での高さが「z
^+d」と算出されるため、実際に計測点Ptag2が存在するボクセル「V2」と対応付けが行われず、ボクセル「V2α」と誤った対応付けが行われる。
【0088】
図12は、本実施例に基づき点群データに車両のピッチ角に基づく座標変換を行う場合に、勾配が大きい路面を走行する車両及び道路の側面図である。この場合、実施例に基づく算出手法により求めたピッチ角を用いた回転行列により、ライダ2が出力する点群データは、車両のピッチ角を考慮したワールド座標系への変換が行われる。従って、この場合、車両から高さdの位置に存在する計測点「Ptag3」のワールド座標系での高さは、「z
^+d」となる。よって、点群データ対応付けブロック24が実行する対応付け処理では、計測点Ptag3は、実際に計測点Ptag3が存在するボクセル「V3」(即ち正しいマッチング対象)と対応付けが行われることになり、NDTスキャンマッチングが好適に実行される。
【0089】
バンクなどの横断勾配が存在する道路を走行する場合においても、車載機1は、点群データに車両のロール角に基づく座標変換を行うことで、ライダ2が出力する点群データの各計測点を、正しいマッチング対象となるボクセルと適切に対応付けることができる。
【0090】
(6)処理フロー
次に、上述したピッチ角及びロール角の推定を含むNDTマッチングによる車両の位置姿勢推定処理の具体的な処理フローについて、フローチャートを参照して説明する。
【0091】
(6-1)車両位置姿勢推定処理の概要
図13は、車両の位置姿勢推定処理の手順を示すフローチャートの一例である。車載機1の姿勢角算出部17及びNDTマッチング部18は、
図13に示すフローチャートの処理を、車両の位置及び姿勢の推定を行うべき所定の時間間隔毎に繰り返し実行する。なお、
図13の各ステップの右に表示されている記号は、各ステップで算出される要素を表す。
【0092】
まず、NDTマッチング部18のデッドレコニングブロック21は、ジャイロセンサ3、車速センサ4、及びGPS受信機5等の出力に基づく車両の移動速度と角速度を用いて、前回時刻からの移動距離と方位変化を求める。これにより、NDTマッチング部18の位置予測ブロック22は、1時刻前(直前の処理時刻)に得られた推定自車位置x^、y^、ψ^から、現時刻の予測自車位置x-、y-、ψ-を算出する(ステップS11)。
【0093】
次に、姿勢角算出部17は、車両高さ(例えば車両が位置する標高)の推定処理を行うことで、予測車両高さ「z
-」を算出する(ステップS12)。この処理については、
図14を参照して後述する。さらに、姿勢角算出部17は、車両のロール角・ピッチ角の推定処理を行うことで、予測ロール角「φ
-」及び予測ピッチ角「θ
-」を算出する(ステップS13)。この処理については、
図15を参照して後述する。
【0094】
そして、NDTマッチング部18の座標変換ブロック23は、ステップS13で算出されたロール角・ピッチ角に基づく回転行列R(式(25)参照)を生成する(ステップS14)。そして、座標変換ブロック23は、点群データをワールド座標系のデータに変換する(ステップS15)。その後、NDTマッチング部18(点群データ対応付けブロック24及び位置補正ブロック25)は、座標変換後の点群データとボクセルデータVDとを用いてNDTマッチングを行い、現時刻での推定自車位置x
^、y
^、ψ
^を算出する(ステップS16)。その後、姿勢角算出部17は、算出された現時刻での推定自車位置x
^、y
^、ψ
^を用いて、再びステップS12と同様の車両の高さ推定処理を行うことで、推定車両高さ「z
^」を算出する(ステップS17)。この処理については、
図14を参照して後述する。さらに、姿勢角算出部17は、算出された現時刻での推定自車位置x
^、y
^、ψ
^と推定車両高さz
^とを用いて、車両のロール角・ピッチ角の推定処理を行うことで、推定ロール角「φ
^」及び推定ピッチ角「θ
^」を算出する(ステップS18)。この処理については、
図15を参照して後述する。
【0095】
(6-2)車両高さ推定処理
図14は、
図13のステップS12及びステップS17で実行する車両高さ推定処理の手順を示すフローチャートの一例である。車両高さ推定処理では、姿勢角算出部17は、予測又は推定された車両の平面位置に基づき自車位置路面ボクセルを決定すると共に、自車位置路面ボクセルの平均ベクトルのz座標に車両基準位置z
0(車両の路面からの高さ)を加算した値を、求めるべき車両高さとして決定する。また、車載機1は、自車位置路面ボクセルとして信頼性が低い自車位置路面ボクセルのボクセルインデックスidzを「-1」に設定し、後述するロール角・ピッチ角の推定処理で用いないようにラベル付けを行う。
【0096】
まず、姿勢角算出部17は、予測自車位置x
-、y
-又は推定自車位置x
^、y
^が含まれるボクセルのボクセルインデックス(idx、idy)を取得し、ボクセルインデックス(idx、idy)を有するボクセルを探索する(ステップS21)。即ち、姿勢角算出部17は、ボクセルデータVDを参照し、予測自車位置x
-、y
-又は推定自車位置x
^、y
^とxy平面で同一位置となるボクセルを、高さ方向に探索する。なお、姿勢角算出部17は、
図13のステップS12の場合には、予測自車位置x
-、y
-が含まれるボクセルのボクセルインデックス(idx、idy)を有するボクセルを探索する。また、姿勢角算出部17は、
図13のステップS17の場合には、推定自車位置x
^、y
^が含まれるボクセルのボクセルインデックス(idx、idy)を有するボクセルを探索する。
【0097】
次に、姿勢角算出部17は、ステップS21において、1つ以上のボクセルが検出されたか否か判定する(ステップS22)。そして、姿勢角算出部17は、ボクセルが検出されなかった場合(ステップS22;No)、1時刻前の予測車両高さz-又は推定車両高さz^を、求めるべき予測車両高さz-又は推定車両高さz^として定める(ステップS27)。さらに、ステップS27では、姿勢角算出部17は、ボクセルインデックスidzが「-1」となる仮の自車位置路面ボクセルを定める。
【0098】
一方、ステップS21において、1つ以上のボクセルが検出された場合(ステップS22;Yes)、姿勢角算出部17は、検出したボクセルを自車位置路面ボクセルの候補とし、各候補のz座標(当該候補の平均ベクトルのz座標)をボクセルデータVDから読み取り、当該各z座標に車両基準位置z0を加算する(ステップS23)。車両基準位置z0は、例えば記憶部12に予め記憶されている。
【0099】
そして、姿勢角算出部17は、各候補の平均ベクトルのz座標に車両基準位置z0を加算した値が、1時刻前の予測車両高さz-又は推定車両高さz^に最も近い値となる自車位置路面ボクセルの候補を、自車位置路面ボクセルとして選択する(ステップS24)。
【0100】
そして、姿勢角算出部17は、選択した自車位置路面ボクセルの平均ベクトルのz座標に車両基準位置z0を加算した値と、1時刻前の予測車両高さz-又は推定車両高さz^との差が所定値以下の場合(ステップS25;Yes)、ステップS26の処理を実行する。この場合、所定値は、例えば、1時刻前から現時刻までの時間間隔内において車両が坂道などで生じ得る高さの変動幅の上限に設定される。
【0101】
そして、姿勢角算出部17は、自車位置路面ボクセルの平均ベクトルのz座標に車両基準位置z0を加算した値を、求めるべき予測車両高さz-又は推定車両高さz^として定める(ステップS26)。一方、姿勢角算出部17は、上述の差が所定値より大きい場合(ステップS25;No)、1時刻前の予測車両高さz-又は推定車両高さz^を、求めるべき予測車両高さz-又は推定車両高さz^として定める(ステップS27)。さらに、ステップS27では、姿勢角算出部17は、ステップS24で選択した自車位置路面ボクセルのボクセルインデックスidzを「-1」に設定する。
【0102】
(6-3)ロール角・ピッチ角推定処理
図15は、
図13のステップS13及びステップS18で実行する車両のロール角・ピッチ角の推定処理の手順を示すフローチャートの一例である。なお、
図15では、車載機1は、一例として、車両のロール角及びピッチ角の両方を推定しているが、車両のロール角及びピッチ角のいずれか一方のみを推定する処理を行ってもよい。
【0103】
まず、姿勢角算出部17は、直前に実行したステップS12またはステップS17の車両高さ推定処理で決定した自車位置路面ボクセルのボクセルインデックス(idx,idy,idz)を参照する(ステップS31)。そして、姿勢角算出部17は、自車位置路面ボクセルのボクセルインデックスidzが「-1」に設定されているか否か判定する(ステップS32)。そして、姿勢角算出部17は、自車位置路面ボクセルのボクセルインデックスidzが「-1」の場合(ステップS32;Yes)、対象の自車位置路面ボクセルの信頼性が低い又は自車位置路面ボクセルが検出できなかったと判定する。よって、この場合、姿勢角算出部17は、1時刻前に算出したロール角φ(φ-若しくはφ^)又はピッチ角θ(θ-若しくはθ^)を、求めるべき現時刻でのロール角φ(φ-若しくはφ^)又はピッチ角θ(θ-若しくはθ^)として定める(ステップS38)。
【0104】
一方、姿勢角算出部17は、自車位置路面ボクセルのボクセルインデックスidzが「-1」ではない場合(ステップS32;No)、自車位置路面ボクセルを含む自車位置路面ボクセルを中心とした周辺のn個のボクセルのボクセルデータVDを取得する(ステップS33)。例えば、姿勢角算出部17は、自車位置路面ボクセルとボクセルインデックスidx,idyのうち少なくともいずれか1異なり、かつ、ボクセルインデックスidzが同一又は1異なるボクセルを、自車位置路面ボクセルと共に、上述のn個のボクセルとみなす。
【0105】
そして、姿勢角算出部17は、上述のn個のボクセルに対し、それぞれのボクセルデータVDに含まれる平均ベクトルのx、y、z座標を読み取ることで、式(10)に従い行列Cとベクトルbを作成する(ステップS34)。次に、姿勢角算出部17は、式(13)に基づき、最小2乗法により係数ベクトルaを算出し、式(15)に示される法線ベクトルVnを特定する(ステップS35)。そして、姿勢角算出部17は、予測又は推定された車両のヨー角(方位)ψ(ψ-若しくはψ^)を用いて、式(16)に示される進行方向ベクトルVx及び式(19)により示される横方向ベクトルVYを算出する(ステップS36)。その後、姿勢角算出部17は、式(17)に基づき法線ベクトルVnと進行方向ベクトルVxの内積を算出すると共に、式(20)に基づき法線ベクトルVnと横方向ベクトルVYの内積を算出し、求めるべき現時刻でのロール角φ(φ-若しくはφ^)又はピッチ角θ(θ-若しくはθ^)を算出する(ステップS37)。
【0106】
(7)
実験例
出願人は、
図1に示す構成と同様にライダを搭載した車両を、傾斜の大きい坂を含む道路上で走行させ、NDTスキャンマッチングに基づく自車位置推定を行い、必要なデータを収集した。なお、車両に搭載したライダは、25mを最大測距距離とし、測距を行う水平角度を120度前後とした。
【0107】
図16(A)~(E)は、本実施例に基づきピッチ角の推定を行い、推定したピッチ角に基づく点群データの座標変換を行った場合に上述の道路上で得られた点群データ数、対応付け数、対応付け比率、評価値、及びピッチ角の遷移をそれぞれ示す。また、
図17(A)~(E)は、ピッチ角の推定を行わない場合に上述の道路上で得られた点群データ数、対応付け数、対応付け比率、評価値、及びピッチ角をそれぞれ示す。
【0108】
ここで、「点群データ数」は、1つの処理時刻毎にライダから得られる点群データの計測点の数を示し、「対応付け数」は、点群データ数のうちボクセルとの対応付けができた計測点の数を示す。また、「対応付け比率」は、点群データ数に対する対応付け数の比率を示し、「評価値」は、NDTスキャンマッチングにおいて定めた推定パラメータに対応する総合評価関数値を示す。「ピッチ角」は、車両が推定した車両のピッチ角を示す。なお、
図17(A)~(E)の場合にはピッチ角の推定を行っていないため、
図17(E)に示すピッチ角は、常時0度となっている。また、
図16(B)~(E)における破線矢印58の期間及び
図17(B)~(E)における破線矢印59の期間は、周辺にボクセルデータVDが存在しない道路を車両が走行時の期間であるため、NDTスキャンマッチングが実施されなかった箇所である。
【0109】
図16(E)において、破線枠60及び破線枠61により示される期間では、ピッチ角の絶対値が一時的に大きくなっており、車両が坂道を走行している期間に対応する。このような坂道の走行期間においても、
図16(C)に示されるように、対応付け比率は、ピッチ角を考慮した点群データの座標変換により、対応付け数の低下が抑制され、他の平坦な道路の走行期間と同等の対応付け比率となっている。
【0110】
一方、ピッチ角の推定及びピッチ角に基づく点群データの座標変換を行わない場合、上述の坂道の走行期間に対応する期間に対応する対応付け比率は、
図17(C)の破線枠70及び破線枠71に示されるように、一時的に顕著に低下している。なお、対応付け数及び対応付け比率の低下が生じている場合には、NDTスキャンマッチングのロバスト性が低下し、推定される自車位置の信頼性が低いことが推測される。
【0111】
このように、本実施例によれば、ピッチ角の推定及びピッチ角に基づく点群データの座標変換を行うことで、坂道においても点群データの対応付け数及び対応付け比率の低下を好適に抑制し、NDTスキャンマッチングによる自車位置推定のロバスト性を好適に向上させることができる。同様に、ロール角の推定及びロール角に基づく点群データの座標変換を行うことで、横断勾配が高い道路においても点群データの対応付け数及び対応付け比率の低下を好適に抑制し、NDTスキャンマッチングによる自車位置推定のロバスト性を好適に向上させることができる。
【0112】
以上説明したように、本実施例に係る車載機1の制御部15は、空間を区切った単位領域(ボクセル)ごとの物体の位置情報であるボクセルデータVDから、自車両の近傍に存在する複数のボクセルのボクセルデータVDを抽出する。そして、制御部15は、抽出した複数のボクセルのボクセルデータVDに基づき求めた近似平面に対する法線ベクトルを算出する。そして、制御部15は、自車両の向きと、法線ベクトルとに基づき、自車両のピッチ角又はロール角の少なくとも一方を算出する。この態様により、車載機1は、ボクセルデータVDに基づき、ピッチ角又はロール角の少なくとも一方を高精度に算出することができる。
【0113】
(8)変形例
以下、上述の実施例に好適な変形例について説明する。以下の変形例は、組み合わせてこれらの実施例に適用してもよい。
【0114】
(変形例1)
図13のフローチャート等では、車載機1は、
図14に示す車両の高さ推定処理を行うことで、車両の高さ(予測車両高さz
-又は推定車両高さz
^)を算出した。しかし、車両の高さの算出方法は、これに限定されない。
【0115】
例えば、車載機1は、NDTスキャンマッチングに基づく自車位置推定において、車両の高さをさらに推定パラメータとして加えてもよい。この場合、車載機1は、
図3に示す座標(x、y)及びヨー角ψに加えて、x軸及びy軸に垂直なz軸の座標を勘案した4変数(x、y、z、ψ)を自車位置の状態変数とした自車位置推定を行う。この態様によっても、車載機1は、車両の高さを好適に推定することができる。
【0116】
(変形例2)
車載機1は、NDTスキャンマッチングを行わない場合においても、実施例に基づく車両のピッチ角又はロール角の少なくともいずれかの推定を行ってもよい。
【0117】
この場合、例えば、車載機1は、
図13において、ステップS11~ステップS13を繰り返し実行することで、ボクセルデータVDに基づき車両のピッチ角又はロール角の少なくともいずれかの推定を繰り返し行う。この場合であっても、車載機1は、推定したピッチ角又は/及びロール角を、ライダ2等の外界センサの出力データの座標変換又は坂道(バンク)検出処理などの種々の応用に使用することが可能である。
【0118】
(変形例3)
図1に示す運転支援システムの構成は一例であり、本発明が適用可能な運転支援システムの構成は
図1に示す構成に限定されない。例えば、運転支援システムは、車載機1を有する代わりに、車両の電子制御装置が車載機1の姿勢角算出部17及びNDTマッチング部18の処理を実行してもよい。この場合、地
図DB10は、例えば車両内の記憶部又は車両とデータ通信を行うサーバ装置に記憶され、車両の電子制御装置は、この地
図DB10を参照することで、ロール角又は/及びピッチ角の推定及びNDTスキャンマッチングに基づく自車位置推定などを実行する。
【0119】
(変形例4)
ボクセルデータVDは、
図3に示すように、平均ベクトルと共分散行列とを含むデータ構造に限定されない。例えば、ボクセルデータVDは、平均ベクトルと共分散行列を算出する際に用いられる計測整備車両が計測した点群データをそのまま含んでいてもよい。この場合、車載機1は、例えば、ボクセルデータVDを参照し、ボクセルごとに平均ベクトルを算出することで、式(10)に示される行列Cを生成する。
【0120】
また、本実施例は、NDTによるスキャンマッチングに限定されず、ICP(Iterative Closest Point)などの他のスキャンマッチングを適用してもよい。この場合であっても、実施例と同様、車載機1は、実施例に基づく姿勢角(ピッチ角又は/及びロール角)の算出を行うと共に、任意のスキャンマッチングにより平面位置及び方位に関する自車位置推定を行う。
【0121】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。