(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】自己位置推定装置及び自己位置推定方法
(51)【国際特許分類】
G01C 21/28 20060101AFI20240820BHJP
G09B 29/10 20060101ALI20240820BHJP
【FI】
G01C21/28
G09B29/10 Z
(21)【出願番号】P 2023132010
(22)【出願日】2023-08-14
【審査請求日】2023-08-14
(73)【特許権者】
【識別番号】000000170
【氏名又は名称】いすゞ自動車株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(74)【代理人】
【識別番号】100167793
【氏名又は名称】鈴木 学
(72)【発明者】
【氏名】吉野 恭司
【審査官】秋山 誠
(56)【参考文献】
【文献】特開2023-95904(JP,A)
【文献】特開2020-76726(JP,A)
【文献】特開2022-22287(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/28
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
単位時間が経過する時刻毎に、車両の周囲の物体の外郭線を示す外郭線情報を取得する取得部と、
所定時刻において、前記所定時刻よりも前の時刻に前記取得部が取得した前記外郭線情報に基づいて、所定座標系における、前記物体の外郭線に対応する座標群を算出し、前記車両の周囲の領域を分割した複数の分割領域毎に、前記座標群のうち前記分割領域に含まれる座標の平均と分散とを算出する算出部と、
前記車両の移動量を含む評価関数に、前記算出部が算出した前記平均及び前記分散と、前記所定時刻に前記取得部が取得した前記座標群と、を入力した評価結果が最小になるように、前記所定時刻より前記単位時間前の時刻から前記所定時刻までの前記車両の移動量を特定する特定部と、
前記特定部が特定した前記車両の移動量と前記算出部が算出した前記平均及び前記分散とに基づいて、前記所定時刻における前記車両の第1位置に対応する座標と前記物体の外郭線に対応する座標群とを推定することにより、前記車両の走行経路と前記物体の位置とを示す地図情報を生成する生成部と、を有し、
前記算出部は、前記単位時間が経過する時刻毎に小さくなる重み係数を、前記外郭線情報毎に、前記取得部が取得した時刻に基づいて特定し、前記外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、前記平均及び前記分散として算出する、
自己位置推定装置。
【請求項2】
前記算出部は、所定時間における前記車両の移動量の合計が閾値未満である場合、前記重み係数が取り得る値の最大値を、前記所定時間が経過した時刻における前記重み係数として特定する、
請求項1に記載の自己位置推定装置。
【請求項3】
前記特定部は、前記単位時間が経過する時刻毎に特定した前記車両の移動量と、前記車両の移動量を特定した前記時刻とを記憶部に記憶させ、
前記算出部は、前記記憶部に記憶された前記車両の移動量と前記時刻とを参照することにより、前記所定時間における前記車両の移動量の合計を算出する、
請求項2に記載の自己位置推定装置。
【請求項4】
前記取得部は、前記車両の前記第1位置と異なる前記車両の第2位置を外部装置から取得し、
前記算出部は、前記車両の前記第1位置と前記車両の前記第2位置との距離が閾値以上である場合、前記重み係数が取り得る値の最大値を、前記単位時間が経過した時刻における前記重み係数として特定する、
請求項1に記載の自己位置推定装置。
【請求項5】
前記算出部は、前記単位時間が経過した回数に所定値を加算した加算値の逆数を、前記重み係数として特定する、
請求項1から4のいずれか一項に記載の自己位置推定装置。
【請求項6】
単位時間が経過する時刻毎に、車両の周囲の物体の外郭線を示す外郭線情報を取得する取得工程と、
所定時刻において、前記所定時刻よりも前の時刻に前記取得工程において取得した前記外郭線情報に基づいて、所定座標系における、前記物体の外郭線に対応する座標群を算出し、前記車両の周囲の領域を分割した複数の分割領域毎に、前記座標群のうち前記分割領域に含まれる座標の平均と分散とを算出する算出工程と、
前記車両の移動量を含む評価関数に、前記算出工程において算出した前記平均及び前記分散と、前記所定時刻に前記取得工程において取得した前記座標群と、を入力した評価結果が最小になるように、前記所定時刻より前記単位時間前の時刻から前記所定時刻までの前記車両の移動量を特定する特定工程と、
前記特定工程において特定した前記車両の移動量と前記算出工程において算出した前記平均及び前記分散とに基づいて、前記所定時刻における前記車両の第1位置に対応する座標と前記物体の外郭線に対応する座標群とを推定することにより、前記車両の走行経路と前記物体の位置とを示す地図情報を生成する生成工程と、を有し、
前記算出工程において、前記単位時間が経過する時刻毎に小さくなる重み係数を、前記外郭線情報毎に、前記取得工程において取得した時刻に基づいて特定し、前記外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、前記平均及び前記分散として算出する、
自己位置推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置及び自己位置推定方法に関する。
【背景技術】
【0002】
特許文献1の地図生成装置は、構造物の位置を示す点群データを正規分布により表した複数のボクセルデータと、センサが出力した点群データとを用いてNDT(Normal Distributions Transform)スキャンマッチングを実施することにより、車両の位置を推定し、地図を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
SLAM(Simultaneous Localization And Mapping)においては、センサの測定誤差、センサが障害物を測定する向きの誤差、点群データの量の不足に起因して、車両が同じ位置を走行するたびに当該位置に対応した異なる位置を推定し、地図を更新する場合がある。そこで、車両が周回経路を周回した際に、周回経路に含まれる所定の位置において推定した位置が同じになるように補正する処理(いわゆる、ループ閉じこみ)をすることが考えられるが、周回経路を検出するための処理負荷が大きいため、ループ閉じこみよりも小さい処理負荷で、異なる位置を推定することによる地図の更新を抑制することが求められている。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、推定した位置に基づく地図の更新の処理負荷を小さくすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様に係る自己位置推定装置は、単位時間が経過する時刻毎に、車両の周囲の物体の外郭線を示す外郭線情報を取得する取得部と、所定時刻において、前記所定時刻よりも前の時刻に前記取得部が取得した前記外郭線情報に基づいて、所定座標系における、前記物体の外郭線に対応する座標群を算出し、前記車両の周囲の領域を分割した複数の分割領域毎に、前記座標群のうち前記分割領域に含まれる座標の平均と分散とを算出する算出部と、前記車両の移動量を含む評価関数に、前記算出部が算出した前記平均及び前記分散と、前記所定時刻に前記取得部が取得した前記座標群と、を入力した評価結果が最小になるように、前記所定時刻より前記単位時間前の時刻から前記所定時刻までの前記車両の移動量を特定する特定部と、前記特定部が特定した前記車両の移動量と前記算出部が算出した前記平均及び前記分散とに基づいて、前記所定時刻における前記車両の第1位置に対応する座標と前記物体の外郭線に対応する座標群とを推定することにより、前記車両の走行経路と前記物体の位置とを示す地図情報を生成する生成部と、を有し、前記算出部は、前記単位時間が経過する時刻毎に小さくなる重み係数を、前記外郭線情報毎に、前記取得部が取得した時刻に基づいて特定し、前記外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、前記平均及び前記分散として算出する。
【0007】
前記算出部は、所定時間における前記車両の移動量の合計が閾値未満である場合、前記重み係数が取り得る値の最大値を、前記所定時間が経過した時刻における前記重み係数として特定してもよい。
【0008】
前記特定部は、前記単位時間が経過する時刻毎に特定した前記車両の移動量と、前記車両の移動量を特定した前記時刻とを記憶部に記憶させ、前記算出部は、前記記憶部に記憶された前記車両の移動量と前記時刻とを参照することにより、前記所定時間における前記車両の移動量の合計を算出してもよい。
【0009】
前記取得部は、前記車両の前記第1位置と異なる前記車両の第2位置を外部装置から取得し、前記算出部は、前記車両の前記第1位置と前記車両の前記第2位置との距離が閾値以上である場合、前記重み係数が取り得る値の最大値を、前記単位時間が経過した時刻における前記重み係数として特定してもよい。
【0010】
前記算出部は、前記単位時間が経過した回数に所定値を加算した加算値の逆数を、前記重み係数として特定してもよい。
【0011】
本発明の第2の態様に係る自己位置推定方法は、単位時間が経過する時刻毎に、車両の周囲の物体の外郭線を示す外郭線情報を取得する取得工程と、所定時刻において、前記所定時刻よりも前の時刻に前記取得工程において取得した前記外郭線情報に基づいて、所定座標系における、前記物体の外郭線に対応する座標群を算出し、前記車両の周囲の領域を分割した複数の分割領域毎に、前記座標群のうち前記分割領域に含まれる座標の平均と分散とを算出する算出工程と、前記車両の移動量を含む評価関数に、前記算出工程において算出した前記平均及び前記分散と、前記所定時刻に前記取得工程において取得した前記座標群と、を入力した評価結果が最小になるように、前記所定時刻より前記単位時間前の時刻から前記所定時刻までの前記車両の移動量を特定する特定工程と、前記特定工程において特定した前記車両の移動量と前記算出工程において算出した前記平均及び前記分散とに基づいて、前記所定時刻における前記車両の第1位置に対応する座標と前記物体の外郭線に対応する座標群とを推定することにより、前記車両の走行経路と前記物体の位置とを示す地図情報を生成する生成工程と、を有し、前記算出工程において、前記単位時間が経過する時刻毎に小さくなる重み係数を、前記外郭線情報毎に、前記取得工程において取得した時刻に基づいて特定し、前記外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、前記平均及び前記分散として算出する。
【発明の効果】
【0012】
本発明によれば、推定した位置に基づく地図の更新の処理負荷を小さくするという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】本実施形態に係る車両Sの概要を説明するための図である。
【
図2】物体の外郭線に対応する座標群の一例を示す図である。
【
図3】重みつき平均と重みつき分散とを算出する動作を示す図である。
【
図4】地図情報を更新する動作を示すシーケンスである。
【
図5】重み係数を特定する動作を示すシーケンスである。
【発明を実施するための形態】
【0014】
<車両Sの概要>
図1は、本実施形態に係る車両Sの概要を説明するための図である。
図1に示す車両Sは、測定装置10と、姿勢角検出装置11、受信装置12と、表示装置13と、自己位置推定装置20と、を備える。車両Sは、測定装置10が検出した、車両Sの周囲の物体と車両Sとの距離に基づいて、車両Sの位置を推定し、車両Sの走行経路と物体の位置とを示す地図情報を生成する機能を有する。周囲の物体は、例えば、人、動植物、壁、及び車両Sの走行が困難な段差である。周囲の物体は、車両Sと異なる他の車両を含んでもよい。
【0015】
測定装置10は、車両Sの周囲の物体と当該車両Sとの距離を測定するための三次元レーザ測定機であり、例えばLiDAR(Light Detection And Ranging)である。測定装置10は、車両Sの周囲の物体と車両Sとの距離を測定することにより生成した点群データに基づいて、車両Sの周囲の物体の外郭線の位置を示す外郭線情報を生成し、自己位置推定装置20に出力する。
【0016】
姿勢角検出装置11は、車両Sの向きを示す姿勢角(例えば、鉛直軸に対するロール角、ピッチ角)を検出するための装置である。姿勢角検出装置11は、例えば、車両Sが備えるホイールエンコーダ(不図示)が検出した並進速度と、車両Sが備えるジャイロスコープ(不図示)が検出した角速度とに基づいて、車両Sの姿勢角を検出し、自己位置推定装置20に出力する。なお、本実施形態においては、説明を簡単にするために、時刻tにおける車両Sの姿勢角を「姿勢角θt」と記載する。
【0017】
受信装置12は、例えば、GNSS(Global Navigation Satellite System)等の外部の測位システムから電波を受信するための装置である。受信装置12は、受信した電波に含まれている情報に基づいて算出した緯度と経度とを、車両Sの位置情報として自己位置推定装置20に出力する。表示装置13は、車両Sが生成した地図情報を表示するためのディスプレイである。
【0018】
自己位置推定装置20は、電子部品を含む筐体又は電子部品が実装されたプリント基板である。自己位置推定装置20は、単位時間(例えば、0.1秒)が経過する時刻毎に、測定装置10から取得した外郭線情報と、姿勢角検出装置11から取得した姿勢角とに基づいて車両Sの位置を推定し、地図情報を更新する処理を実行する。自己位置推定装置20は、例えば、SLAM(Simultaneous Localization And Mapping)処理を実行する装置である。
【0019】
SLAMにおいては、一定時間毎に車両Sの位置を推定し地図情報を更新するため、現在の時刻より前の時刻に車両Sが走行した位置であっても、車両Sの位置を改めて推定し地図情報を更新する。また、SLAMにおいては、測定装置10が測定した際の車両Sの向き、測定装置10の測定誤差により、車両Sが同じ位置を走行するたびに異なる位置を推定する場合がある。これらの動作から、SLAM処理を実行する自己位置推定装置20においては、例えば、周回経路を周回するほど地図情報が示す物体の位置と車両Sの走行位置とが異なる位置に更新されてしまう。
【0020】
これに対して、自己位置推定装置20は、周回経路に含まれる所定の位置において推定した位置が同じになるように補正する処理(ループ閉じこみ)を実行することで、周回するほど物体の位置と車両Sの走行位置とを異なる位置に更新することを抑制できる。しかしながら、ループ閉じこみは、周回経路を検出するための処理負荷が大きいため、ループ閉じこみを用いずに、同じ位置を走行した車両Sが同じ位置を推定することが求められている。
【0021】
そこで、自己位置推定装置20は、SLAM処理に含まれるスキャンマッチング処理における、測定装置10が生成した外郭線情報の平均と分散との算出において、単位時間が経過する時刻毎に小さくなる重み係数を用いた重み平均と重み分散とを算出する。スキャンマッチング処理は、所定の時刻の位置データと、所定の時刻より前の時刻の位置データとを重ね合わせ、車両Sの移動量を推定する処理である。本実施形態においては、NDT(Normal Distribution Transform)スキャンマッチング処理を実施する。
【0022】
自己位置推定装置20がこのように動作することで、所定の位置を最初に走行した際の位置データの重み係数を大きくし、2回目以降に走行した際の位置データの重み係数を小さくできる。その結果、最初に走行した際の位置が、位置を推定する結果に最も影響を与えることができるため、同じ位置を2回目以降走行しても誤って別の位置として推定することを抑制できる。さらに、ループ閉じこみを用いずに車両Sの位置を推定できるため、処理負荷を小さくすることができる。
以下、自己位置推定装置20の構成及び動作を詳細に説明する。
【0023】
<自己位置推定装置20の構成>
自己位置推定装置20は、記憶部21と、制御部22と、を有する。制御部22は、取得部221と、算出部222と、特定部223と、生成部224と、表示制御部225と、を有する。
【0024】
記憶部21は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶媒体を有する。記憶部21は、制御部22が実行するプログラムと、車両Sが走行する位置を推定し、地図情報を生成及び更新するための各種の情報とを記憶している。記憶部21は、生成及び更新した地図情報を記憶する。
【0025】
制御部22は、例えばCPU(Central Processing Unit)又はECU(Electronic Control Unit)等のプロセッサである。制御部22は、記憶部21に記憶されたプログラムを実行することにより、取得部221、算出部222、特定部223、生成部224及び表示制御部225として機能する。なお、制御部22は、1つのプロセッサで構成されていてもよいし、複数のプロセッサ又は1以上のプロセッサと電子回路との組み合わせにより構成されていてもよい。
以下、制御部22により実現される各部の構成を説明する。
【0026】
取得部221は、単位時間が経過する時刻毎に、車両Sの周囲の物体の外郭線を示す外郭線情報を取得する。単位時間は、例えば、0.1秒である。取得部221は、例えば、測定装置10が検出した、車両Sの周囲の物体を示す点群データを含む外郭線情報を取得する。取得部221は、単位時間が経過する時刻毎に、姿勢角検出装置11が検出した車両Sの姿勢角を取得する。取得部221は、測定装置10から取得した外郭線情報と姿勢角検出装置11から取得した姿勢角とに基づいて推定した車両Sの第1位置と異なる車両Sの第2位置を受信装置12から取得する。
【0027】
算出部222は、NDTスキャンマッチング処理における、外郭線情報に含まれる点群データの平均と分散を算出する。算出部222は、所定時刻において、所定時刻よりも前の時刻に取得部221が取得した外郭線情報に基づいて、所定座標系における、物体の外郭線に対応する座標群を算出する。そして、算出部222は、車両Sの周囲の領域を分割した複数の分割領域毎に、座標群のうち分割領域に含まれる座標の平均と分散とを算出する。所定座標系は、例えば、車両Sが走行を開始した位置を中心座標とする座標系(以下、「地図座標系」という)である。
【0028】
図2は、物体の外郭線に対応する座標群の一例を示す図である。領域Rは、例えば、地図座標系における車両Sの周囲の領域のうち、車両Sの進行方向前方を示す領域である。領域Rは、複数の分割領域(
図2に示す領域B1から領域B12)に分割されている。
図2に示す座標P01から座標P06は、所定時刻(例えば時刻t)において、所定時刻よりも前の時刻(例えば時刻t-1)に取得部221が取得した外郭線情報に基づいて算出部222が算出した、物体の外郭線に対応する座標群である。
図2に示す座標P11から座標P15は、時刻t-1において、時刻t-1よりも前の時刻(例えば時刻t-2)に取得部221が取得した外郭線情報に基づいて算出部222が算出した、物体の外郭線に対応する座標群である。一例として、時刻t-2から時刻t-1までの時間、及び時刻t-1から時刻tまでの時間は、単位時間(0.1秒)である。
【0029】
図2に示すように、算出部222は、時刻t-1において、時刻t-2に取得部221が取得した外郭線情報に含まれる点群データを、時刻t-2に推定した車両Sの位置に基づいて、地図座標系における座標データに変換することにより座標群(座標P11から座標P15)を算出する。同様に、算出部222は、時刻tにおいて、時刻t-1に取得部221が取得した外郭線情報に含まれる点群データを、時刻t-1に推定した車両Sの位置に基づいて、地図座標系における座標データに変換することにより座標群(座標P01から座標P06)を算出する。算出部222は、複数の分割領域(領域B1から領域B12)毎に、座標P11から座標P15及び座標P01から座標P06のうち、分割領域に含まれる座標の平均と分散とを算出する。
【0030】
算出部222は、単位時間が経過する時刻毎に小さくなる重み係数を、外郭線情報毎に、取得部221が取得した時刻に基づいて特定し、外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、平均及び分散として算出する。算出部222がこのように動作することで、所定の位置を最初に走行した際の位置データの重み係数を大きくし、当該所定の位置を2回目以降に走行した際の位置データの重み係数を小さくすることができる。その結果、同じ位置を2回目以降走行しても異なる位置を推定しにくくなる。
以下、特定した重み係数を用いた重みつき平均及び重みつき分散の算出方法と、重みつき平均及び重みつき分散を用いたNDTスキャンマッチングである「重みつきNDTスキャンマッチング」について詳細に説明する。なお、以下においては、説明を簡単にするために、2次元座標を用いる場合がある。
【0031】
最初に、NDTスキャンマッチングについて説明する。時刻tの点群データA、時刻t-1の点群データB、点群データAと点群データBとが重なる位置変換行列T、各点の座標(x,y,1)
T、時刻t-1における姿勢角θ
t-1、時刻t-1から時刻tまでの時間における車両Sの移動量(t
x,t
y,φ)
Tを定義すると、位置変換行列Tは、式(1)のように与えることができる。
【数1】
【0032】
NDTスキャンマッチングにおいては、最近傍点として点群データAに対応付けした点a
iと点群データBに対応付けした点b
iとについて、点群データBに対応付けした点b
iが属する分割領域(
図2に示す領域B1から領域B12のいずれか)内での他の点を用いて正規分布でモデル化する。b
iが属する分割領域mの中に点がN個存在する場合、N個の点の平均は式(2)、N個の点の分散は式(3)のように求められる。また、式(2)及び式(3)を用いることで、式(4)のように表現できる。
【数2】
【0033】
ところで、b
iに対応づけられたa
iに正しい位置変換行列Tを作用させたTa
iは、同じ分割領域m内に存在し、b
iと同じ分布に従う蓋然性が高いため、式(5)のように表現できる。
【数3】
【0034】
式(5)から、確率分布(平均及び分散)からTa
iが観測される確率が最大となるときの位置変換行列Tが最適な位置変換行列であり、式(6)のように算出できる。
【数4】
【0035】
正規分布で表されるp(Ta
i)を最大化するには、式(5)に示す定数(-1/2)を除いた指数部分を最小化すればよい。したがって、点群データが存在する分割領域の数をM個とした場合、車両Sの移動量を特定するための評価関数を式(7)のように表現できる。後述する特定部は、式(7)の評価関数の出力C(a
i,b
i)が最小になるように、車両Sの移動量を特定する。
【数5】
【0036】
次に、重みつきNDTスキャンマッチングについて説明する。一般的な重みつきNDTスキャンマッチングにおいては、データx
iに対応する重み係数をω
iと定義すると、重みつき平均を式(8)、重みつき分散を式(9)のように表現できる。
【数6】
【0037】
ここで、本実施形態においては、重み係数ω
kを、サイクルkを用いて式(10)のように定義する。サイクルkは、自己位置推定装置20が車両Sの位置を推定する動作を開始した時刻において初期値(すなわち、k=0)であり、単位時間が経過した時刻毎に1が加算される。
【数7】
式(10)に示すように、算出部222は、単位時間が経過した回数に所定値(すなわち、1)を加算した加算値の逆数を、重み係数として特定する。
【0038】
図3は、重みつき平均と重みつき分散とを算出する動作を示す図である。
図3の横軸は、時刻を示す。
図3の縦軸は、サイクルk、重み係数、取得部221が取得した外郭線情報に含まれる点群データ、重みつき平均及び重みつき分散を示す。
図3においては、サイクルkは、時刻T0、時刻T1、時刻T2及び時刻T3が経過した時刻(すなわち、時刻T0、時刻T1、時刻T2及び時刻T3の直後の時刻)に1が加算される。なお、
図3に示す重み係数は、小数点第1位までの値を示しており、小数点第2位以下を省略している。
【0039】
例えば、
図3に示すように、時刻T0において、算出部222は、サイクルkが0であることにより、重み係数が1であることを特定する。そして、算出部222は、時刻T0に取得部221が取得した外郭線情報L0に含まれる点群データに対応する重み係数が1であることを特定する。続いて、時刻T1において、算出部222は、サイクルkが1であることにより、時刻T1に取得部221が取得した外郭線情報L1に対応する重み係数が0.5であることを特定する。また、算出部222は、時刻T0に取得部221が取得した外郭線情報L0と重み係数1とを用いて重みつき平均A1と重みつき分散D1とを算出する。
図3から明らかなように、時刻の経過と共に、重み係数の値が漸次小さくなっている。
【0040】
ここで、
図3に示す時刻T0、時刻T1及び時刻T2における重みつき平均と重みつき分散の算出式について説明する。
図3に示す時刻T0(サイクルk=0)において、分割領域m内にn
0個の点が観測された外郭線情報L0を取得部221が取得したとする。時刻T0においては、直前までの点群が存在しないため、算出部222は、重みつき平均及び重みつき分散を算出しない。
【0041】
図3に示す時刻T1(サイクルk=1)において、分割領域m内にn
1個の点が観測された外郭線情報L1を取得部221が取得したとする。時刻T1において、算出部222は、時刻T0に取得部221が取得した外郭線情報L0を用いて、重みつき平均A1と重みつき分散D1とを算出する。重みつき平均A1は式(11)、重みつき分散D1は式(12)のように表現できる。なお、x
k,iは、サイクルがkである時刻に取得部221が取得した外郭線情報に含まれる点群データを地図座標系に変換した座標であり、x
k,i=(x
k,i,y
k,i,1)
Tとする。
【数8】
【0042】
図3に示す時刻T2(サイクルk=2)において、分割領域m内にn
2個の点が観測された外郭線情報L2を取得部221が取得したとする。時刻T2において、算出部222は、時刻T0に取得部221が取得した外郭線情報L0と時刻T1に取得部221が取得した外郭線情報L1とを用いて、重みつき平均A2と重みつき分散D2とを算出する。重みつき平均A2は式(13)、重みつき分散D2は式(14)のように表現できる。
【数9】
【0043】
また、式(11)及び式(12)を用いて、式(15)及び式(16)の漸化式を導出し、式(13)及び式(14)に適用すると、時刻T2(サイクルk=2)における重みつき平均A2は式(17)、重みつき分散D2は式(18)のように表現できる。
【数10】
【0044】
さらに、式(15)及び式(16)と同様に、時刻T3(サイクルk=3)における漸化式を式(19)及び式(20)のように導出することで、任意のサイクルkにおける分割領域mの重みつき平均を式(21)、重みつき分散を式(22)のように表現できる。
【数11】
【0045】
そして、式(21)及び式(22)を式(7)に代入することにより、重みつき平均と重みつき分散とを用いた評価関数による重みつきNDTスキャンマッチングを実行することができる。なお、上記の式(7)、式(21)及び式(22)は、xiが3次元座標の場合であっても成立する。
以上、重み係数を用いた重みつき平均及び重みつき分散の算出方法と、重みつきNDTスキャンマッチングについて説明した。
【0046】
ところで、車両Sは、車線が渋滞していることにより停止したり、信号が停止を指示している場合(いわゆる赤信号の場合)に停止したりする。この場合、車両Sの位置が変わらなくてもサイクルkが加算されるため、走行を再開した後に適切な重み係数が特定できない場合がある。そこで、算出部222は、所定時間における車両Sの移動量の合計が閾値未満である場合、重み係数が取り得る値の最大値(すなわち、1)を、所定時間が経過した時刻における重み係数として特定してもよい。所定時間は、信号又は渋滞により車両Sが停止する時間に相当する時間であり、実験又はシミュレーションにより定められる。閾値は、適切な重み係数を特定できる移動量の下限値であり、実験又はシミュレーションにより定められる。
【0047】
算出部222は、例えば、単位時間が経過する時刻毎に、記憶部21に記憶された車両Sの移動量と時刻とを参照することにより、所定時間における車両Sの移動量の合計を算出する。算出部222は、算出した車両Sの移動量の合計が閾値未満である場合、サイクルkに0を代入し(すなわちサイクルkを初期化し)、重み係数を1にする。算出部222がこのように動作することで、車両Sの走行状態が変化した場合にサイクルk及び重み係数を初期化できるため、車両Sの位置を高い精度で推定できる。
【0048】
SLAMにおいては、位置の推定を開始した後の車両Sの移動量の合計が大きいほど推定誤差が生じやすくなる。そこで、算出部222は、受信装置12が受信した電波に含まれる位置情報(緯度及び経度)と、自己位置推定装置20が推定した車両Sの位置との距離に基づいて、サイクルk及び重み係数を初期化してもよい。算出部222は、例えば、生成部224が推定した車両Sの第1位置と、受信装置12が受信した車両Sの第2位置との距離が閾値以上である場合、重み係数が取り得る値の最大値を、単位時間が経過した時刻における重み係数として特定する。閾値は、例えば、GNSS等の外部の測位システムによる測定誤差(例えば、数メートル)よりも大きい値である。算出部222がこのように動作することで、車両Sの移動量の合計が大きくなった場合であっても重み係数を初期化することができるため、車両Sの位置を高い精度で推定できる。
【0049】
特定部223は、単位時間が経過した時刻毎に車両Sの移動量を特定する。特定部223は、車両Sの移動量を含む評価関数に、算出部222が算出した平均及び分散と、所定時刻に取得部221が取得した座標群と、を入力した評価結果が最小になるように、所定時刻より単位時間前の時刻から所定時刻までの車両Sの移動量を特定する。特定部223は、例えば、式(7)に示す評価関数のaiとbiとが一致するような車両Sの移動量を特定するために、式(7)の出力C(ai,bi)が最小になるように、車両Sの移動量を特定する。
【0050】
例えば、特定部223は、算出部222が式(21)を用いて算出した重みつき平均と、式(22)を用いて算出した重みつき分散と、取得部221が取得した外郭線情報に含まれる点群データを地図座標系に変換した複数の座標データ(座標群)と、を式(7)に入力する。そして、特定部223は、式(7)の出力結果が最小になるように(すなわち、aiとbiとが一致するように)車両Sの移動量を特定する。特定部223がこのように動作することで、単位時間が経過した時刻毎に、車両Sの移動量を高い精度で特定することができる。
【0051】
また、特定部223は、単位時間が経過する時刻毎に特定した車両Sの移動量と、車両Sの移動量を特定した時刻とを記憶部21に記憶させてもよい。特定部223がこのように記憶部21に記憶させることで、算出部222が所定時間における車両Sの移動量の合計値を算出することができるため、適切なタイミングで重み係数を初期化できる。
【0052】
生成部224は、車両Sの走行経路と車両Sの周囲の物体の位置とを示す地図情報を生成する。生成部224は、例えば、特定部223が特定した車両Sの移動量と算出部222が算出した重みつき平均及び重みつき分散とに基づいて、所定時刻における車両Sの位置に対応する座標と物体の外郭線に対応する座標群とを推定する。そして、生成部224は、推定した車両Sの座標と車両Sの周囲の物体の外郭線に対応する座標群とに基づいて、記憶部21に記憶された地図情報を更新することにより、地図情報を生成する。表示制御部225は、生成部224が生成した地図情報を表示装置13に表示させる。
【0053】
<自己位置推定装置20における処理シーケンス>
図4及び
図5は、自己位置推定装置20における処理シーケンスの例を示す図である。
図4に示す処理シーケンスは、地図情報を更新する動作を示すシーケンスであり、
図5に示す処理シーケンスは、重み係数を特定する動作を示すシーケンスである。
図5に示す動作は、
図4に示すS12の動作である。自己位置推定装置20は、
図4及び
図5に示す処理シーケンスを一定時間毎に(単位時間が経過した時刻毎に)繰り返す。
【0054】
まず、地図情報を更新する動作を説明する。
図4において、取得部221は、姿勢角検出装置11が検出した車両Sの姿勢角を取得する(S10)。取得部221は、測定装置10が検出した、車両Sの周囲の物体の外郭線を示す外郭線情報を取得する(S11)。
【0055】
算出部222は、自己位置推定装置20が車両Sの位置の推定を開始した時刻から現在の時刻までの時間に経過したサイクル数(1サイクルは、例えば、0.1秒)を式(10)に代入することにより、重み係数を特定する(S12)。S12の動作の詳細は、後述する。算出部222は、式(21)及び式(22)を用いて重みつき平均と重みつき分散とを算出する(S13)。特定部223は、式(7)の評価関数の出力結果が最小になるような車両Sの移動量を特定する(S14)。生成部224は、特定部223が特定した車両Sの移動量と算出部222が算出した重みつき平均及び重みつき分散とに基づいて、車両Sの位置に対応する座標と車両Sの周囲の物体の外郭線を示す座標群とを推定し、記憶部21に記憶された地図情報を更新する(S15)。
【0056】
次に、算出部222が、重み係数を特定する動作を説明する。
図5において、算出部222は、単位時間が経過していない場合(S20のNO)、単位時間が経過した時刻までS20の処理を繰り返す。単位時間が経過した時刻である場合(S20のYES)、算出部222は、自己位置推定装置20が車両Sの位置の推定を開始した時刻から、現在時刻までに単位時間が経過した回数が1より大きいか否かを特定する(S21)。
【0057】
回数が1以下である場合(S21のNO)、算出部222は、式(10)のサイクルkに0を代入する(S22)。回数が2以上である場合(S21のYES)、算出部222は、記憶部21に記憶された車両Sの移動量と時刻とを参照することにより、所定時間における車両Sの移動量の合計を算出する(S23)。算出した車両Sの移動量の合計が第1閾値未満である場合(S24のNO)、算出部222は、式(10)のサイクルkに0を代入する(S22)。車両Sの移動量の合計が第1閾値以上である場合(S24のYES)、算出部222は、受信装置12が現在時刻より単位時間前の時刻に検出して取得部221に出力した車両Sの位置情報を取得する(S25)。そして、算出部222は、取得した位置情報が示す位置と、現在時刻より単位時間前の時刻に生成部224が推定した車両Sの位置との距離を算出する(S26)。
【0058】
算出した距離が第2閾値以上である場合(S27のNO)、算出部222は、式(10)のサイクルkに0を代入する(S22)。算出した距離が第2閾値未満である場合(S27のYES)、算出部222は、サイクルkに1を加算する(S28)。そして、算出部222は、式(10)に示す重み係数を算出する(S29)。自己位置推定装置20は、処理を終了する操作を受け付けていない場合(S30のNO)、S20からS29までの処理を繰り返す。処理を終了する操作を受け付けた場合(S30のYES)、自己位置推定装置20は、処理を終了する。
【0059】
<自己位置推定装置20による効果>
以上説明したように、自己位置推定装置20は、所定時刻において、所定時刻よりも前の時刻に取得部221が取得した外郭線情報に基づいて、地図座標系における物体の外郭線に対応する座標群を算出し、車両Sの周囲の領域を分割した複数の分割領域毎に、座標群のうち分割領域に含まれる座標の平均と分散とを算出する算出部222と、車両Sの移動量を含む評価関数に、算出部222が算出した平均及び分散と、所定時刻に取得部221が取得した座標群と、を入力した評価結果が最小になるように、所定時刻より単位時間前の時刻から所定時刻までの車両Sの移動量を特定する特定部223と、を有する。
【0060】
そして、算出部222は、単位時間が経過する時刻毎に小さくなる重み係数を、外郭線情報毎に、取得部221が取得した時刻に基づいて特定し、外郭線情報に対応する重み係数を用いた重みつき平均と重みつき分散とを、平均及び分散として算出する。自己位置推定装置20がこのように構成されることで、所定の位置を最初に走行した際の位置データの重み係数を大きくし、2回目以降に走行した際の位置データの重み係数を小さくできる。その結果、最初に走行した際の位置が、位置を推定する結果に最も影響を与えることができるため、同じ位置を2回目以降走行しても誤って別の位置として推定することを抑制できる。さらに、ループ閉じこみを用いずに車両Sの位置を推定できるため、処理負荷を小さくすることができる。
【0061】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0062】
10 測定装置
11 姿勢角検出装置
12 受信装置
13 表示装置
20 自己位置推定装置
21 記憶部
22 制御部
221 取得部
222 算出部
223 特定部
224 生成部
225 表示制御部
【要約】 (修正有)
【課題】推定した位置に基づく地図の更新の処理負荷を小さくする。
【解決手段】自己位置推定装置20は、所定時刻において、所定時刻よりも前の時刻に取得した外郭線情報に基づいて、物体の外郭線に対応する座標群を算出し、車両の周囲の領域を分割した複数の分割領域毎に、座標群のうち分割領域に含まれる座標の平均と分散とを算出する算出部222と、車両の移動量を含む評価関数に、算出部222が算出した平均及び分散と、所定時刻に取得した座標群と、を入力した評価結果が最小になるように、所定時刻より単位時間前の時刻から所定時刻までの車両の移動量を特定する特定部223と、を有し、算出部222は、単位時間が経過する時刻毎に小さくなる重み係数を、外郭線情報毎に、取得部が取得した時刻に基づいて特定し、外郭線情報に対応する重み係数を用いた重みつき平均及び重みつき分散を、平均及び分散として算出する。
【選択図】
図1