(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121391
(43)【公開日】2024-09-06
(54)【発明の名称】自己位置推定装置
(51)【国際特許分類】
G01S 17/89 20200101AFI20240830BHJP
G05D 1/43 20240101ALI20240830BHJP
【FI】
G01S17/89
G05D1/02 L
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023028469
(22)【出願日】2023-02-27
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】坂元 優太
【テーマコード(参考)】
5H301
5J084
【Fターム(参考)】
5H301AA01
5H301BB05
5H301BB07
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD07
5H301DD15
5H301GG08
5J084AA04
5J084AA05
5J084AA10
5J084AC02
5J084BA03
5J084CA31
5J084CA65
5J084EA01
(57)【要約】
【課題】移動体の自己位置の推定精度を向上させることができる自己位置推定装置を提供する。
【解決手段】自己位置推定装置1は、移動体2の周囲にレーザLを照射し、レーザLの反射光を受光することにより、移動体2の周囲に存在する物体6までの距離を検出し、点群データDを出力するレーザセンサ3と、レーザセンサ3の点群データDを複数の検知領域Rに分割する検知領域設定部12と、検知領域R毎に点群データDの点群Pの分散値を算出する分散値算出部13と、点群Pの分散値に基づいて、検知領域Rがノイズを含んでいるかどうかを判定するノイズ判定部14と、検知領域Rがノイズを含んでいると判定されたときに、検知領域Rの点群Pが除去された補正点群データDcを生成する点群データ補正部15と、補正点群データDcに基づいて、移動体2の自己位置を推定する自己位置推定部16とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動体の自己位置の推定を行う自己位置推定装置において、
前記移動体の周囲にレーザを照射し、レーザの反射光を受光することにより、前記移動体の周囲に存在する物体までの距離を検出し、検出データとしての点群データを出力するレーザ距離検出部と、
前記レーザ距離検出部の点群データを複数の検知領域に分割する検知領域設定部と、
前記検知領域設定部により設定された前記検知領域毎に前記点群データの点群の分布状態を検知する点群分布検知部と、
前記点群分布検知部により検知された前記点群の分布状態に基づいて、前記検知領域がノイズを含んでいるかどうかを判定するノイズ判定部と、
前記ノイズ判定部により前記検知領域が前記ノイズを含んでいると判定されたときに、前記ノイズを含んでいる前記検知領域の点群が除去された補正点群データを生成する点群データ補正部と、
前記点群データ補正部により生成された前記補正点群データに基づいて、前記移動体の自己位置を推定する自己位置推定部とを備える自己位置推定装置。
【請求項2】
前記点群分布検知部は、前記検知領域毎に前記点群データの点群の分散値を算出し、
前記ノイズ判定部は、前記点群の分散値が予め決められた規定値以上であるときに、前記検知領域が前記ノイズを含んでいると判定する請求項1記載の自己位置推定装置。
【請求項3】
前記検知領域設定部は、前記検知領域として、第1領域と、前記第1領域よりも面積が小さい第2領域とを設定し、
前記点群分布検知部は、前記第1領域毎に前記点群データの点群の分布状態を検知し、その後前記第2領域毎に前記点群データの点群の分布状態を検知し、
前記ノイズ判定部は、前記点群の分布状態に基づいて、前記第1領域が前記ノイズを含んでいるかどうかを判定し、その後前記点群の分布状態に基づいて、前記第2領域が前記ノイズを含んでいるかどうかを判定し、
前記点群データ補正部は、前記ノイズ判定部により前記第2領域が前記ノイズを含んでいると判定されたときに、前記ノイズを含んでいる前記第2領域の点群が除去された前記補正点群データを生成する請求項1または2記載の自己位置推定装置。
【請求項4】
前記点群分布検知部は、前記ノイズ判定部により前記第1領域が前記ノイズを含んでいないと判定されたときは、前記ノイズを含んでいない前記第1領域内における前記第2領域毎の前記点群の分布状態の検知を行わない請求項3記載の自己位置推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置に関する。
【背景技術】
【0002】
従来の自己位置推定装置としては、例えば特許文献1に記載されている技術が知られている。特許文献1に記載の自己位置推定装置は、LiDARにより周囲の環境情報を取得すると共に、カメラにより周囲の画像情報を取得し、環境情報または画像情報にノイズ障害物が含まれるか否かを判定する。そして、自己位置推定装置は、ノイズ障害物が含まれていたときは、環境情報からノイズ測定点を除去して加工環境情報を取得し、加工環境情報と地図情報とを比較照合して自己位置を算出し、ノイズ障害物が含まれていないときは、環境情報と地図情報とを比較照合して自己位置を算出する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術においては、障害物等の実態のある検出データは除去可能であるが、レーザの乱反射等によるノイズデータは除去することができない。ノイズデータを用いて自己位置が算出されると、自己位置推定の精度の低下を招いてしまう。
【0005】
本発明の目的は、移動体の自己位置の推定精度を向上させることができる自己位置推定装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、移動体の自己位置の推定を行う自己位置推定装置において、移動体の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体の周囲に存在する物体までの距離を検出し、検出データとしての点群データを出力するレーザ距離検出部と、レーザ距離検出部の点群データを複数の検知領域に分割する検知領域設定部と、検知領域設定部により設定された検知領域毎に点群データの点群の分布状態を検知する点群分布検知部と、点群分布検知部により検知された点群の分布状態に基づいて、検知領域がノイズを含んでいるかどうかを判定するノイズ判定部と、ノイズ判定部により検知領域がノイズを含んでいると判定されたときに、ノイズを含んでいる検知領域の点群が除去された補正点群データを生成する点群データ補正部と、点群データ補正部により生成された補正点群データに基づいて、移動体の自己位置を推定する自己位置推定部とを備える。
【0007】
このような自己位置推定装置においては、レーザ距離検出部によって移動体の周囲に存在する物体までの距離が検出され、点群データが出力される。そして、レーザ距離検出部の点群データが複数の検知領域に分割され、検知領域毎に点群データの点群の分布状態が検知される。そして、点群の分布状態に基づいて、検知領域がノイズを含んでいるかどうかが判定され、検知領域がノイズを含んでいると判定されたときは、当該検知領域の点群が除去された補正点群データが生成される。そして、補正点群データに基づいて移動体の自己位置が推定される。ここで、レーザの乱反射等によるノイズがレーザ距離検出部に入力されると、レーザ距離検出部により検出される距離が定まらず、点群データの点群が広範囲に分布するという特徴がある。そこで、点群データの検知領域毎に点群の分布状態を検知し、点群の分布状態から検知領域がノイズを含んでいると判定されたときは、当該検知領域の点群を除去することにより、レーザの乱反射等によるノイズの影響を除外して、移動体の自己位置の推定が行われることとなる。これにより、移動体の自己位置の推定精度が向上する。
【0008】
点群分布検知部は、検知領域毎に点群データの点群の分散値を算出し、ノイズ判定部は、点群の分散値が予め決められた規定値以上であるときに、検知領域がノイズを含んでいると判定してもよい。
【0009】
このような構成では、点群データの点群の分散値を算出することにより、点群の分布状態が正確に検知されるため、検知領域がノイズを含んでいるかどうかを精度良く判定することができる。
【0010】
検知領域設定部は、検知領域として、第1領域と、第1領域よりも面積が小さい第2領域とを設定し、点群分布検知部は、第1領域毎に点群データの点群の分布状態を検知し、その後第2領域毎に点群データの点群の分布状態を検知し、ノイズ判定部は、点群の分布状態に基づいて、第1領域がノイズを含んでいるかどうかを判定し、その後点群の分布状態に基づいて、第2領域がノイズを含んでいるかどうかを判定し、点群データ補正部は、ノイズ判定部により第2領域がノイズを含んでいると判定されたときに、ノイズを含んでいる第2領域の点群が除去された補正点群データを生成してもよい。
【0011】
このような構成では、第1領域と第1領域よりも面積が小さい第2領域との2段階によって、点群データの点群の分布状態を検知することにより、検知領域がノイズを含んでいるかどうかを精度良く判定することができる。また、第2領域がノイズを含んでいると判定されたときは、当該第2領域の点群のみを除去することにより、自己位置の推定に使用可能な点群が除去されてしまうことを抑制できる。
【0012】
点群分布検知部は、ノイズ判定部により第1領域がノイズを含んでいないと判定されたときは、ノイズを含んでいない第1領域内における第2領域毎の点群の分布状態の検知を行わなくてもよい。
【0013】
このような構成では、第1領域がノイズを含んでいると判定されたときのみ、当該第1領域内における第2領域毎の点群の分布状態の検知を行い、第1領域がノイズを含んでいないと判定されたときは、当該第1領域内における第2領域毎の点群の分布状態の検知を行わないため、点群の分布状態の検知を実行する回数が減少する。従って、演算処理の簡素化を図ることができる。
【発明の効果】
【0014】
本発明によれば、移動体の自己位置の推定精度を向上させることができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係る自己位置推定装置の構成を示すブロック図である。
【
図2】レーザセンサから物体に向けてレーザが照射されたときのレーザセンサの点群データの一例を示す図である。
【
図3】レーザセンサに対するノイズが発生する具体例を示す図である。
【
図4】レーザセンサにノイズデータが入力されたときのレーザセンサの点群データの一例を示す図である。
【
図5】レーザセンサの点群データを複数の検知領域に分割した状態を示す概念図である。
【
図6】
図1に示されたコントローラにより実行される処理の手順を示すフローチャートである。
【
図7】レーザセンサの点群データ及び補正点群データの一例を示す図である。
【
図8】点群の分散値が小さい検知領域と点群の分散値が大きい検知領域とを比較して示す概念図である。
【
図9】本発明の他の実施形態に係る自己位置推定装置の構成を示すブロック図である。
【
図10】レーザセンサの点群データを複数の検知領域に2段階で分割した状態を示す概念図である。
【
図11】
図9に示されたコントローラにより実行される処理の手順を示すフローチャートである。
【
図12】レーザセンサの点群データを複数の検知領域に3段階で分割した状態を示す概念図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、図面において、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
【0017】
図1は、本発明の一実施形態に係る自己位置推定装置の構成を示すブロック図である。
図1において、本実施形態の自己位置推定装置1は、例えばフォークリフトやトーイングトラクタ等の産業車両といった移動体2(
図2参照)に搭載されている。自己位置推定装置1は、移動体2の自動運転時に、移動体2の自己位置の推定を行う装置である。
【0018】
自己位置推定装置1は、レーザセンサ3と、地図データメモリ4と、コントローラ5とを備えている。
【0019】
レーザセンサ3は、
図2に示されるように、移動体2の周囲にレーザLを照射し、レーザLの反射光を受光することにより、移動体2の周囲に存在する物体6までの距離を検出し、検出データとしての点群データを出力するレーザ距離検出部である。物体6は、例えば建物、棚、壁や柱等の構造物である。レーザセンサ3としては、例えば3DのLiDAR(Light Detection and Ranging)やレーザレンジファインダ等が使用される。
【0020】
地図データメモリ4は、移動体2が走行するエリアの地図データを記憶する。地図データは、点群で表されている。地図データは、レーザセンサ3を用いて予め生成されている。
【0021】
コントローラ5は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。コントローラ5は、点群データ取得部11と、検知領域設定部12と、分散値算出部13と、ノイズ判定部14と、点群データ補正部15と、自己位置推定部16とを有している。
【0022】
点群データ取得部11は、
図2に示されるように、レーザセンサ3の点群データDを取得する。レーザセンサ3により検出された物体6は、点群Pで表される。点群Pは、レーザセンサ3から照射されるレーザLの反射点の集まりである。
【0023】
図2(a)に示されるように、レーザセンサ3から棚6A及び壁6Bに向けて照射されたレーザLは、棚6A及び壁6Bで反射されてレーザセンサ3に戻ってくる。このため、レーザセンサ3により棚6A及び壁6Bまでの距離を検出することは可能である。従って、
図2(b)に示されるように、棚6A及び壁6Bに相当する点群Pa,Pbを含む点群データDが得られる。
【0024】
ところで、移動体2の周囲では、
図3に示されるように、レーザセンサ3に対するノイズが発生することがある。レーザセンサ3に対するノイズとしては、他のレーザセンサ51からのレーザLx(
図3(a)参照)、レーザセンサ3から照射されて鏡面52または水面等で乱反射するレーザLx(
図3(b)参照)、レーザセンサ3から照射されて、風により揺れ動く草木等といった形状が不安定な物体53で乱反射するレーザLx(
図3(c)参照)が挙げられる。
【0025】
そのようなノイズが発生することで、レーザセンサ3にノイズデータが入力された場合には、レーザセンサ3により検出される物体6までの距離が定まらない。このため、
図4に示されるように、点群データDに含まれる点群Pが広範囲に分布してばらつきやすくなる。そこで、コントローラ5は、検知領域設定部12、分散値算出部13、ノイズ判定部14及び点群データ補正部15を有している。
【0026】
検知領域設定部12は、
図5に示されるように、点群データ取得部11により取得されたレーザセンサ3の点群データDを複数の検知領域Rに分割する。つまり、検知領域設定部12は、レーザセンサ3の点群データDを分割して複数の検知領域Rを設定する。検知領域Rは、例えば四角形状を呈している。
【0027】
分散値算出部13は、検知領域設定部12により設定された複数の検知領域R毎に点群データDの点群Pの分散値を算出する。分散値算出部13は、検知領域R毎に点群データDの点群Pの分布状態を検知する点群分布検知部を構成している。
【0028】
ノイズ判定部14は、分散値算出部13により算出された点群Pの分散値に基づいて、検知領域Rがノイズを含んでいるかどうかを判定する。つまり、ノイズ判定部14は、点群Pの分布状態に基づいて、検知領域Rがノイズを含んでいるかどうかを判定する。ノイズ判定部14は、点群Pの分散値が予め決められた規定値以上であるときに、検知領域Rがノイズを含んでいると判定する。
【0029】
点群データ補正部15は、ノイズ判定部14により検知領域Rがノイズを含んでいると判定されたときに、検知領域Rの点群Pが除去された補正点群データDc(
図7参照)を生成する。
【0030】
自己位置推定部16は、点群データ取得部11により取得されたレーザセンサ3の点群データDまたは点群データ補正部15により生成された補正点群データDcに基づいて、移動体2の自己位置を推定する。自己位置推定部16は、SLAM(simultaneous localization andmapping)手法を用いて、レーザセンサ3の点群データまたは補正点群データと地図データメモリ4に記憶された地図データとをマッチングさせて、移動体2の自己位置を推定する。SLAMは、センサデータ及び地図データを用いて自己位置推定を行う自己位置推定技術である。
【0031】
図6は、コントローラ5により実行される処理の手順を示すフローチャートである。本処理は、移動体2の自動走行の開始が指示されると、実行される。なお、本処理の実行開始時には、ノイズフラグは0に設定されている。
【0032】
図6において、コントローラ5は、まずレーザセンサ3の点群データDを取得する(手順S101)。そして、コントローラ5は、レーザセンサ3の点群データDを予め決められた数に分割した検知領域Rを設定する(手順S102)。ここでは、
図5に示されるように、レーザセンサ3の点群データDが48分割された検知領域Rが設定されている。
【0033】
続いて、コントローラ5は、検知領域Rの点群Pの分散値を算出する(手順S103)。そして、コントローラ5は、検知領域Rの点群Pの分散値が規定値以上であるかどうかを判断する(手順S104)。規定値は、予め決められた値である。
【0034】
コントローラ5は、検知領域Rの点群Pの分散値が規定値以上であると判断したときは、検知領域Rにノイズが含まれていると判定する(手順S105)。そして、コントローラ5は、ノイズフラグを1にセットする(手順S106)。コントローラ5は、検知領域Rの点群Pの分散値が規定値よりも小さいと判断したときは、手順S105,S106を実行しない。
【0035】
続いて、コントローラ5は、手順S102により設定された全ての検知領域Rについて点群Pの分散値を算出したかどうかを判断する(手順S107)。コントローラ5は、全ての検知領域Rについて点群Pの分散値を算出していないと判断したときは、上記の手順S103を再度実行する。
【0036】
コントローラ5は、全ての検知領域Rについて点群Pの分散値を算出したと判断したときは、手順S105でノイズが含まれていると判定された全ての検知領域Rを除外対象検知領域として特定する(手順S108)。そして、コントローラ5は、除外対象検知領域に含まれる点群Pを除去することで補正点群データDc(
図7参照)を生成する(手順S109)。
【0037】
続いて、コントローラ5は、ノイズフラグが0であるかどうかを判断する(手順S110)。コントローラ5は、ノイズフラグが0であると判断したときは、手順S101で取得されたレーザセンサ3の点群データDに基づいて、移動体2の自己位置を推定する(手順S111)。コントローラ5は、ノイズフラグが0でなく1であると判断したときは、手順S109で生成された補正点群データDcに基づいて、移動体2の自己位置を推定する(手順S112)。
【0038】
コントローラ5は、手順S111または手順S112を実行した後、上記の手順S101を再度実行する。
【0039】
ここで、点群データ取得部11は、上記の手順S101を実行する。検知領域設定部12は、上記の手順S102を実行する。分散値算出部13は、上記の手順S103を実行する。ノイズ判定部14は、上記の手順S104~S106を実行する。点群データ補正部15は、上記の手順S107~S109を実行する。自己位置推定部16は、上記の手順S110~S112を実行する。
【0040】
以上のような自己位置推定装置1において、
図7(a)に示されるように、レーザセンサ3の点群データDについて、検知領域R毎に点群Pの分散値が算出される。そして、点群Pの分散値に基づいて、検知領域Rがノイズを含んでいるかどうかが判定される。
【0041】
ここで、
図8(a)に示されるように、検知領域Rの点群Pの分散値が小さいときは、検知領域Rがノイズを含んでいないと判定される。この場合には、検知領域Rの点群Pは自己位置推定の特徴点となり得るため、当該点群Pが自己位置推定に利用される。
【0042】
一方、
図8(b)に示されるように、検知領域Rの点群Pの分散値が大きいときは、検知領域Rがノイズを含んでいると判定される。この場合には、検知領域Rの点群Pは自己位置推定の特徴点となりにくいため、
図7(b)に示されるように、検知領域Rの点群Pが除去された補正点群データDcが生成される。従って、当該点群Pが自己位置推定に利用されることはない。
【0043】
なお、点群Pの分散値が大きい根源がノイズではなく、実際の物体6であったとしても、自己位置推定の特徴点とはなりにくい。このため、分散値が大きい点群Pを除去しない場合には、位置のロスト等が発生する可能性が高まる。
【0044】
以上のように本実施形態にあっては、レーザセンサ3によって移動体2の周囲に存在する物体6までの距離が検出され、点群データDが出力される。そして、レーザセンサ3の点群データDが複数の検知領域Rに分割され、検知領域R毎に点群データDの点群Pの分布状態が検知される。そして、点群Pの分布状態に基づいて、検知領域Rがノイズを含んでいるかどうかが判定され、検知領域Rがノイズを含んでいると判定されたときは、検知領域Rの点群Pが除去された補正点群データDcが生成される。そして、補正点群データDcに基づいて移動体2の自己位置が推定される。ここで、レーザの乱反射等によるノイズがレーザセンサ3に入力されると、レーザセンサ3により検出される距離が定まらず、点群データDの点群Pが広範囲に分布するという特徴がある。そこで、点群データDの検知領域R毎に点群Pの分布状態を検知し、点群Pの分布状態から検知領域Rがノイズを含んでいると判定されたときは、当該検知領域Rの点群Pを除去することにより、レーザの乱反射等によるノイズの影響を除外して、移動体2の自己位置の推定が行われることとなる。これにより、移動体2の自己位置の推定精度が向上する。その結果、移動体2の自己位置推定のロバスト性及び信頼性を向上させることができる。
【0045】
また、本実施形態では、検知領域R毎に点群データDの点群Pの分散値が算出され、点群Pの分散値が予め決められた規定値以上であるときに、検知領域Rがノイズを含んでいると判定される。このように点群データDの点群Pの分散値を算出することにより、点群Pの分布状態が正確に検知されるため、検知領域Rがノイズを含んでいるかどうかを精度良く判定することができる。
【0046】
図9は、本発明の他の実施形態に係る自己位置推定装置の構成を示すブロック図である。
図9において、本実施形態の自己位置推定装置1Aは、上記の実施形態におけるコントローラ5に代えて、コントローラ5Aを備えている。
【0047】
コントローラ5Aは、上記の点群データ取得部11と、検知領域設定部12Aと、分散値算出部13Aと、ノイズ判定部14Aと、点群データ補正部15Aと、上記の自己位置推定部16とを有している。
【0048】
検知領域設定部12Aは、
図10に示されるように、点群データ取得部11により取得されたレーザセンサ3の点群データDを複数の検知領域Rに分割する。検知領域設定部12Aは、検知領域Rとして、大検知領域R1(第1領域)と、この大検知領域R1よりも面積が小さい小検知領域R2(第2領域)とを設定する。大検知領域R1及び小検知領域R2は、何れも四角形状を呈している。大検知領域R1の面積は、小検知領域R2の面積の整数倍である。
【0049】
分散値算出部13Aは、検知領域設定部12Aにより設定された複数の検知領域R毎に点群データDの点群P(
図2参照)の分散値を算出する。分散値算出部13Aは、検知領域R毎に点群データDの点群Pの分布状態を検知する点群分布検知部を構成している。分散値算出部13Aは、大検知領域R1毎に点群データDの点群Pの分散値を算出し、その後小検知領域R2毎に点群データDの点群Pの分散値を算出する。
【0050】
分散値算出部13Aは、後述するノイズ判定部14Aにより大検知領域R1がノイズを含んでいないと判定されたときは、ノイズを含んでいない大検知領域R1内における小検知領域R2毎の点群Pの分散値の算出を行わない。
【0051】
ノイズ判定部14Aは、分散値算出部13Aにより算出された検知領域Rの点群Pの分散値に基づいて、検知領域Rがノイズを含んでいるかどうかを判定する。ノイズ判定部14Aは、大検知領域R1の点群Pの分散値に基づいて、大検知領域R1がノイズを含んでいるかどうかを判定し、その後小検知領域R2の点群Pの分散値に基づいて、小検知領域R2がノイズを含んでいるかどうかを判定する。
【0052】
点群データ補正部15Aは、ノイズ判定部14Aにより小検知領域R2がノイズを含んでいると判定されたときに、小検知領域R2の点群Pが除去された補正点群データDc(
図7参照)を生成する。
【0053】
図11は、コントローラ5Aにより実行される処理の手順を示すフローチャートであり、
図6に対応している。
【0054】
図11において、コントローラ5Aは、まず上述した実施形態におけるコントローラ5と同様に、レーザセンサ3の点群データDを取得する(手順S101)。そして、コントローラ5Aは、レーザセンサ3の点群データDを予め決められた数に分割した大検知領域R1及び小検知領域R2を設定する(手順S121)。ここでは、
図10に示されるように、レーザセンサ3の点群データDが12分割された大検知領域R1と、レーザセンサ3の点群データDが48分割された小検知領域R2とが設定されている。このため、大検知領域R1の面積は、小検知領域R2の面積の4倍である。
【0055】
続いて、コントローラ5Aは、大検知領域R1の点群Pの分散値を算出する(手順S122)。そして、コントローラ5Aは、大検知領域R1の点群Pの分散値が大領域用規定値以上であるかどうかを判断する(手順S123)。大領域用規定値は、予め決められた値である。
【0056】
コントローラ5Aは、大検知領域R1の点群Pの分散値が大領域用規定値以上であると判断したときは、大検知領域R1にノイズが含まれていると判定する(手順S124)。コントローラ5Aは、大検知領域R1の点群Pの分散値が規定値よりも小さいと判断したときは、手順S124を実行しない。
【0057】
続いて、コントローラ5Aは、手順S122で設定された全ての大検知領域R1について点群Pの分散値を算出したかどうかを判断する(手順S125)。コントローラ5Aは、全ての大検知領域R1について点群Pの分散値を算出していないと判断したときは、上記の手順S122を実行する。
【0058】
コントローラ5Aは、全ての大検知領域R1について点群Pの分散値を算出したと判断したときは、手順S124でノイズが含まれていると判定された全ての大検知領域R1を取り出す(手順S126)。
【0059】
続いて、コントローラ5Aは、取り出された大検知領域R1内における小検知領域R2の点群Pの分散値を算出する(手順S127)。そして、コントローラ5Aは、小検知領域R2の点群Pの分散値が小領域用規定値以上であるかどうかを判断する(手順S128)。小領域用規定値は、予め決められた値である。小領域用規定値は、大領域用規定値よりも小さくてもよいし、大領域用規定値と等しくてもよい。
【0060】
コントローラ5Aは、小検知領域R2の点群Pの分散値が規定値以上であると判断したときは、小検知領域R2にノイズが含まれていると判定する(手順S129)。そして、コントローラ5Aは、ノイズフラグを1にセットする(手順S130)。コントローラ5Aは、小検知領域R2の点群Pの分散値が規定値よりも小さいと判断したときは、手順S129,S130を実行しない。
【0061】
続いて、コントローラ5Aは、手順S128で取り出された大検知領域R1内における全ての小検知領域R2について点群Pの分散値を算出したかどうかを判断する(手順S131)。コントローラ5Aは、全ての小検知領域R2について点群Pの分散値を算出していないと判断したときは、上記の手順S127を再度実行する。
【0062】
コントローラ5Aは、全ての小検知領域R2について点群Pの分散値を算出したと判断したときは、手順S129でノイズが含まれていると判定された全ての小検知領域R2を除外対象検知領域として特定する(手順S132)。そして、コントローラ5Aは、除外対象検知領域に含まれる点群Pを除去することで補正点群データDc(
図7参照)を生成する(手順S133)。
【0063】
続いて、コントローラ5Aは、上述した実施形態におけるコントローラ5と同様に、上記の手順S110以降を実行し、移動体2の自己位置を推定する。
【0064】
ここで、検知領域設定部12Aは、上記の手順S121を実行する。分散値算出部13Aは、上記の手順S122,S125~S127を実行する。ノイズ判定部14Aは、上記の手順S123,S124,S128~S130を実行する。点群データ補正部15Aは、上記の手順S131~S133を実行する。
【0065】
以上のような本実施形態においては、大検知領域R1と大検知領域R1よりも面積が小さい小検知領域R2との2段階によって、点群データの点群Pの分散値を算出することにより、検知領域Rがノイズを含んでいるかどうかを精度良く判定することができる。また、小検知領域R2がノイズを含んでいると判定されたときは、当該小検知領域R2の点群Pのみを除去することにより、自己位置の推定に使用可能な点群Pが除去されてしまうことを抑制できる。
【0066】
また、本実施形態では、大検知領域R1がノイズを含んでいると判定されたときのみ、当該大検知領域R1内における小検知領域R2毎の点群Pの分散値の算出を行い、大検知領域R1がノイズを含んでいないと判定されたときは、当該大検知領域R1内における小検知領域R2毎の点群Pの分散値の算出を行わないため、点群Pの分散値の算出を実行する回数が減少する。従って、演算処理の簡素化を図ることができる。
【0067】
なお、本実施形態では、大検知領域R1と小検知領域R2との2段階によって、点群データDの点群Pの分散値が算出されているが、特にその形態に限られず、ノイズを含んでいる検知領域Rを段階的に絞り込んでいけばよい。例えば
図12に示されるように、大検知領域Raと中検知領域Rbと小検知領域Rcとの3段階によって、点群データDの点群Pの分散値を算出してもよい。
図12では、大検知領域Raは、点群データDを3分割して設定され、中検知領域Rbは、点群データDを12分割して設定され、小検知領域Rcは、点群データDを48分割して設定されている。
【0068】
以上、本発明の実施形態について幾つか説明してきたが、本発明は上記実施形態には限定されない。例えば上記実施形態では、レーザセンサ3の点群データDが複数の検知領域Rに分割され、検知領域R毎に点群データDの点群Pの分散値が算出されているが、特にその形態には限られず、検知領域R毎に点群データDの点群の分布状態(ばらつき状態)が検知されればよい。
【0069】
また、上記実施形態では、検知領域Rが四角形状を呈しているが、検知領域Rの形状としては、特に四角形状には限られず、レーザセンサ3の点群データDが複数の検知領域Rに分割されるのであれば、三角形状や六角形状等であってもよい。
【0070】
また、上記実施形態では、3Dのレーザセンサ3が使用されているが、特にその形態には限られず、2Dのレーザセンサ3を使用してもよい。
【符号の説明】
【0071】
1,1A…自己位置推定装置、2…移動体、3…レーザセンサ(レーザ距離検出部)、6…物体、12,12A…検知領域設定部、13,13A…分散値算出部(点群分布検知部)、14,14A…ノイズ判定部、15,15A…点群データ補正部、16…自己位置推定部、D…点群データ、Dc…補正点群データ、L…レーザ、P…点群、R…検知領域、R1…大検知領域(第1領域)、R2…小検知領域(第2領域)。