(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-05
(45)【発行日】2022-10-14
(54)【発明の名称】自己位置推定装置
(51)【国際特許分類】
G01C 21/28 20060101AFI20221006BHJP
G01C 21/16 20060101ALI20221006BHJP
【FI】
G01C21/28
G01C21/16
(21)【出願番号】P 2018165341
(22)【出願日】2018-09-04
【審査請求日】2021-05-13
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(73)【特許権者】
【識別番号】500302552
【氏名又は名称】株式会社IHIエアロスペース
(74)【代理人】
【識別番号】100161207
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100175802
【氏名又は名称】寺本 光生
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100167553
【氏名又は名称】高橋 久典
(72)【発明者】
【氏名】渡辺 将旭
(72)【発明者】
【氏名】佐藤 玄
【審査官】小林 勝広
(56)【参考文献】
【文献】国際公開第2018/138904(WO,A1)
【文献】国際公開第2017/149628(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-21/36、23/00-25/00
(57)【特許請求の範囲】
【請求項1】
移動体の自己位置を計測する計測部と、
デッドレコニングにより推定された前記自己位置の推定値に、前記計測部で計測された前記自己位置の計測値を反映させることで当該推定値を修正する推定部と、
を備え、
前記推定部は、前記計測値の品質に応じて前記計測値を反映させる度合いを調整
し、
前記計測部は、衛星からの信号に基づいて前記自己位置の第1の計測値を計測するとともに、前記第1の計測値の計測状態を示す第1の指標を算出するGNSSセンサを備え、
前記推定部は、前記第1の計測値を前記推定値に反映させる度合いを前記第1の指標に応じて調整しながら前記推定値を修正し、
前記計測部は、距離センサが前記移動体の周囲をスキャンすることで計測した計測点の点群を用いてICPアルゴリズムのスキャンマッチングを行うことにより前記自己位置の第2の計測値を計測するとともに、前記第2の計測値の計測状態を示す第2の指標を算出するスキャンマッチング部を更に備え、
前記推定部は、前記第2の計測値を前記推定値に反映させる度合いを前記第2の指標に応じて調整しながら、前記第1の計測値と前記第2の計測値とを前記推定値に反映させて当該推定値を修正することを特徴とする、自己位置推定装置。
【請求項2】
前記計測部は、前記計測値の品質として、前記計測部の計測状態を示す指標を算出し、 前記推定部は、前記計測部が算出した前記指標に応じて前記計測値を反映させる度合いを調整することを特徴とする、請求項1に記載の自己位置推定装置。
【請求項3】
前記推定部は、
カルマンフィルタを用いて前記第1の計測値と前記第2の計測値とを前記推定値に反映させて前記推定値を修正する推定部と、
前記カルマンフィルタにおける前記第1の計測値の誤差分散値を前記第1の指標に基づいて算出し、前記カルマンフィルタにおける前記第2の計測値の誤差分散値を前記第2の指標に基づいて算出する誤差分散値算出部と、
を備えることを特徴とする、請求項1又は2に記載の自己位置推定装置。
【請求項4】
前記GNSSセンサは、前記GNSSセンサの計測結果がFloat解かFix解かのいずれかであるかを判定し、その判定結果を前記第1の指標として前記推定部に送信し、 前記誤差分散値算出部は、前記判定結果がFix解である場合には前記第1の計測値の誤差分散値を第1の値に設定し、前記判定結果が前記Float解である場合には前記第1の計測値の誤差分散値を前記第1の値よりも大きい第2の値に設定することを特徴とする、請求項3に記載の自己位置推定装置。
【請求項5】
前記スキャンマッチング部は、前記スキャンマッチングに用いるマップデータ及び前記移動体の現在位置で前記距離センサが計測した計測点の点群の二乗平均値と、前記点群に含まれる点数とを算出し、
前記誤差分散値算出部は、前記二乗平均値が第1の閾値未満であって、且つ、前記点数が第2の閾値以上である条件を満たす場合には、前記第2の計測値の誤差分散値を第3の値に設定し、前記条件を満たさない場合には、前記第2の計測値の誤差分散値を第3の値よりも大きい第4の値に設定することを特徴とする、請求項
3又は4に記載の自己位置推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置に関する。
【背景技術】
【0002】
移動体の状態を知るための内界センサの値を用いて当該移動体の移動量(前回の時刻から現在の時刻までに移動した量)を検出し、その移動量に基づいて当該移動体の相対位置を推定するデッドレコニング(例えば、オドメトリ)で推定された推定値を、GNSS(Global Navigation Satellite System)センサ等の外界センサで計測した自己位置の計測値を用いて修正する方法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ただし、例えば移動体がコンテナヤードを走行する場合では、コンテナやトランスファークレーンの影響により、観測可能な衛星数が減少したり、衛星信号のマルチパスが発生したりすると、GNSSセンサの計測精度が低下する。したがって、GNSSセンサに限らず外界センサによる自己位置の計測精度が低下するような場所を移動体が移動する場合には、自己位置の推定精度を低下させてしまうおそれがあり、安定した自己位置の推定を行うことができない。
【0005】
本発明は、このような事情に鑑みてなされたもので、その目的は、自己位置の計測精度が低下する場所であっても、安定した自己位置の推定を行うことができる自己位置推定装置を提供することとである。
【課題を解決するための手段】
【0006】
本発明の一態様は、移動体の自己位置を計測する計測部と、デッドレコニングにより推定された前記自己位置の推定値に、前記計測部で計測された前記自己位置の計測値を反映させることで当該推定値を修正する推定部と、を備え、前記推定部は、前記計測値の品質に応じて前記計測値を反映させる度合いを調整することを特徴とする、自己位置推定装置である。
【0007】
本発明の一態様は、上述の自己位置推定装置であって、前記計測部は、前記計測値の品質として、前記計測部の計測状態を示す指標を算出し、前記推定部は、前記計測部が算出した前記指標に応じて前記計測値を反映させる度合いを調整する。
【0008】
本発明の一態様は、上述の自己位置推定装置であって、前記計測部は、衛星からの信号に基づいて前記自己位置の第1の計測値を計測するとともに、前記第1の計測値の計測状態を示す第1の指標を算出するGNSSセンサを備え、前記推定部は、前記第1の計測値を前記推定値に反映させる度合いを前記第1の指標に応じて調整しながら前記推定値を修正する。
【0009】
本発明の一態様は、上述の自己位置推定装置であって、前記計測部は、距離センサが前記移動体の周囲をスキャンすることで計測した計測点の点群を用いてICPアルゴリズムのスキャンマッチングを行うことにより前記自己位置の第2の計測値を計測するとともに、前記第2の計測値の計測状態を示す第2の指標を算出するスキャンマッチング部を更に備え、前記推定部は、前記第2の計測値を前記推定値に反映させる度合いを前記第2の指標に応じて調整しながら、前記第1の計測値と前記第2の計測値とを前記推定値に反映させて当該推定値を修正する。
【0010】
本発明の一態様は、上述の自己位置推定装置であって、前記推定部は、カルマンフィルタを用いて前記第1の計測値と前記第2の計測値とを前記推定値に反映させて前記推定値を修正する推定部と、前記カルマンフィルタにおける前記第1の計測値の誤差分散値を前記第1の指標に基づいて算出し、前記カルマンフィルタにおける前記第2の計測値の誤差分散値を前記第2の指標に基づいて算出する誤差分散値算出部と、を備える。
【0011】
本発明の一態様は、上述の自己位置推定装置であって、前記GNSSセンサは、前記GNSSセンサの計測結果がFloat解かFix解かのいずれかであるかを判定し、その判定結果を前記第1の指標として前記推定部に送信し、前記誤差分散値算出部は、前記判定結果がFix解である場合には前記第1の計測値の誤差分散値を第1の値に設定し、前記判定結果が前記Float解である場合には前記第1の計測値の誤差分散値を前記第1の値よりも大きい第2の値に設定する。
【0012】
本発明の一態様は、上述の自己位置推定装置であって、前記スキャンマッチング部は、前記スキャンマッチングに用いるマップデータ及び前記移動体の現在位置で前記距離センサが計測した計測点の点群の二乗平均値と、前記点群に含まれる点数とを算出し、前記誤差分散値算出部は、前記二乗平均値が第1の閾値未満であって、且つ、前記点数が第2の閾値以上である条件を満たす場合には、前記第2の計測値の誤差分散値を第3の値に設定し、前記条件を満たさない場合には、前記第2の計測値の誤差分散値を第3の値よりも大きい第4の値に設定する。
【発明の効果】
【0013】
以上説明したように、本発明によれば、自己位置の計測精度が低下する場所であっても、安定した自己位置の推定を行うことができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る自己位置推定装置Aの概略構成の一例を示す図である。
【
図2】本発明の一実施形態に係る推定部3の概略構成の一例を示す図である。
【
図3】本発明の一実施形態に係る統合部5の概略構成図である。
【
図4】本発明の一実施形態に係る誤差分散値算出部9の誤差分散値Q
1の算出方法の一例を示す図である。
【
図5】本発明の一実施形態に係る誤差分散値算出部9の誤差分散値Q
2の算出方法の一例を示す図である。
【
図6】本発明の一実施形態に係るスキャンマッチング部4の動作の流れを示す図であるである。
【
図7】本発明の一実施形態に係る統合部5が第1の計測値と第2の計測値とを用いて時刻kにおける運搬車両Mの自己位置を推定する方法を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態に係る自己位置推定装置を、図面を用いて説明する。
【0016】
本発明の一実施形態に係る自己位置推定装置は、コンテナCを目的の場所に運搬する運搬車両Mに搭載され、運搬車両Mの自律走行や遠隔操縦等を実現するために必要な運搬車両Mの自己位置を推定する装置である。なお、運搬車両Mは、本発明の「移動体」の一例である。すなわち、本発明における移動体は、移動するものであれば特に限定されず、例えば、移動体Mは、ロボットであってもよいし、一般車両であってもよいし、ダム堤体の施工や盛土工事に用いられる材料等を運搬する工事車両であってもよい。なお、移動体は、有人であるか、無人であるかは問わない。
【0017】
以下に、本発明の一実施形態に係る自己位置推定装置Aの構成について、説明する。
図1は、本発明の一実施形態に係る自己位置推定装置Aの概略構成の一例を示す図である。
図1に示すように、自己位置推定装置Aは、GNSSセンサ1、距離センサ2、及び推定部3を備える。なお、GNSSセンサ1は、本発明の「計測部」の一例である。
【0018】
GNSSセンサ1は、運搬車両Mに設置されている。例えば、GNSSセンサ1は、運搬車両Mのトレーラヘッド(トラクタともいう。)に設置されている。
【0019】
GNSSセンサ1は、衛星からの信号に基づいて、運搬車両Mの自己位置を計測する。すなわち、GNSSセンサ1は、GPS(Global Positioning System)に代表される全地球航法衛星システム(GNSS:Global Navigation Satellite System)によって自己位置を測位するセンサである。本実施形態では、GNSSセンサ1は、予め定められた基準点に設置された基準局からの補正情報により運搬車両M(移動局)の衛星測位情報を補正して、運搬車両Mの自己位置を求めるRTK測位(リアルタイムキネマティック測位)を用いている。例えば、GNSSセンサ1は、RTK-GNSSコンパスである。
【0020】
このGNSSセンサ1は、運搬車両Mの自己位置として、運搬車両Mの現在位置(例えば、緯度xg及び経度ygの絶対位置)と方位θgを計測するともに、運搬車両Mの車速Vを算出する。
さらに、GNSSセンサ1は、上記自己位置の計測状態(例えば、良好さ)を示す指標(以下、「第1の指標」という。)を算出する。例えば、GNSSセンサ1は、運搬車両Mの自己位置の計測結果が、RTKが成立しているFix解か、計算が収束しないFloat解かのいずれかであるかを判定し、その判定結果を第1の指標とする。
【0021】
GNSSセンサ1は、運搬車両Mの自己位置の計測値(xg,yg,θg)、車速V及び第1の指標を所定の時間ごとに推定部3に送信する。なお、以下において、GNSSセンサ1が計測した運搬車両Mの自己位置の計測値(xg,yg,θg)を、「第1の計測値」と称する場合がある。
【0022】
距離センサ2は、運搬車両Mに設置されている。例えば、距離センサ2は、運搬車両Mのトレーラヘッドに設置されている。
【0023】
距離センサ2は、水平方向にレーザ光を走査(スキャン)して運搬車両Mと周囲物体との距離を計測する。そして、距離センサ2は、計測した計測点の点群を推定部3に送信する。本実施形態において、距離センサ2がレーザ光を走査する水平方向は、例えば、360°の全方位である。なお、距離センサ2は、水平方向に加えて、垂直方向に対してもレーザ光を走査してもよい。例えば、距離センサ2は、2次元又は3次元のLRF(Laser Range Finder)や2次元又は3次元のLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)である。
【0024】
推定部3は、GNSSセンサ1及び距離センサ2から得られた情報を統合、すなわちセンサフュージョンして運搬車両Mの自己位置を推定する。なお、推定部3は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。
以下に、本発明の一実施形態に係る推定部3の構成について、説明する。
図2は、本発明の一実施形態に係る推定部3の概略構成の一例を示す図である。
【0025】
図2に示すように、推定部3は、スキャンマッチング部4及び統合部5を備える。なお、スキャンマッチング部4は、本発明の「計測部」の一例である。
【0026】
スキャンマッチング部4は、距離センサ2が運搬車両Mの周囲をスキャンすることで計測した計測点の点群を用いてICPアルゴリズム等のスキャンマッチングを行うことにより、運搬車両Mの自己位置(xs,ys,θs)を計測する。具体的には、スキャンマッチング部4は、予め設定されているマップデータと、現時で距離センサ2が計測した点群(以下。「入力点群」という。)とを位置合わせを行いながら運搬車両Mの絶対位置の自己位置を計測する。ここで、マップデータとは、地図や前の時刻で距離センサ2が計測した計測点の点群が用いられ、そのデータがあればより精度が高くなる。例えば、マップデータは、ボクセルマップである。
【0027】
なお、スキャンマッチング部4は、スキャンマッチングを行う前に、半径フィルタやkd木(kd-tree)による最近傍探索を行ってもよい。
例えば、距離センサ2の計測精度や運用環境により、距離センサ2から取得した計測点の点群のうち、ある範囲の点群だけをスキャンマッチングに使用したいというケースがある。例えば、ある範囲の点群だけをスキャンマッチングに使用したいというケースとは、距離センサ2の振動が大きい場合には近傍の点群のみを使用するというケースや、車両の方位角が定まりづらい環境では遠方のみを使用するというケースである。したがって、スキャンマッチング部4は、運搬車両Mの中心軸から所定の距離にある点をのみを抽出する半径フィルタを適用することにより、所望の点群のみを入力点群として抽出することができる。
【0028】
また、スキャンマッチング部4は、半径フィルタを適用した後に、大まかな位置合わせを行うために、kd木による最近傍探索を行ってもよい。例えば、予めスキャンマッチング部4の不図示の記憶部(以下、「地図メモリ」という。)に格納されているマップデータにおいて、スキャンマッチングを行う点群の分布が短時間(短い走行距離)で大きく変化している場合には、誤った位置合わせ結果が得られるケースがある。例えば、建物や植木の隙間から遠方の壁が見えるようなケースにおいては、外れ値が発生して上記のような問題が発生する場合がある。このような外れ値を含むデータにおいてパラメータ推定を行う場合、ロバスト推定を利用するのは一般的である。ただし、VTK(Visualization Toolkit)のような汎用ライブラリに実装されているスキャンマッチング手法を利用する場合には、このようなロバスト推定法は必ずしも含まれていない。そこで、本実施形態では、スキャンマッチング部4は、スキャンマッチングに用いる点群間でkd木を用いた距離計算を行い、マップデータに対して明らかに距離が離れている計測点を予め削除することで、外れ値の影響を低減してもよい。
【0029】
さらに、スキャンマッチング部4は、自身が計測した自己位置の計測状態(例えば、計測精度)を示す指標(以下、「第2の指標」という。)を算出する。本実施形態では、スキャンマッチング部4は、第2の指標としてマップデータ及び入力点群の二乗平均値(以下、単に「RMS」とする。)と、入力点群に含まれる点数(以下、単に「NUM」とする。)を算出する。このRMSは、収束計算による誤差の量を示しており、小さいほど誤差の小さい計算精度で自己位置が計測されていることを示す。一方、NUMは、距離センサ2の視野内にコンテナなどの物体が少ないと減少する傾向にあって、減少するとkd木による最近傍探索に誤差が生じ易くなる。そのため、入力点群の点数であるNUMが多いほどスキャンマッチングによる自己位置の計測誤差が小さくなる。
【0030】
スキャンマッチング部4は、スキャンマッチングにより計測した運搬車両Mの自己位置の計測値(xs,ys,θs)と、第2の指標として算出したRMS及びNUMとを統合部5に出力する。なお、以下において、スキャンマッチング部4が計測した運搬車両Mの自己位置の計測値(xs,ys,θs)を、「第2の計測値」と称する場合がある。
【0031】
統合部5は、第1の計測値と第2の計測値とを、第1の指標及び第2の指標に従って統合、すなわち、センサフュージョンして運搬車両Mの自己位置を推定する。本実施形態の統合部5は、このセンサフュージョンのアルゴリズムとして、拡張カルマンフィルタを適用する。以下に、本発明の一実施形態に係る統合部5の概略構成について、
図3を用いて説明する。
図3は、本発明の一実施形態に係る統合部5の概略構成図である。
なお、第1の計測値及び第2の計測値のそれぞれを区別しない場合には、単に「計測値」と称する。
【0032】
図3に示すように、統合部5は、自己位置推定部6、第1評価部7、第2評価部8、及び誤差分散値算出部9を備える。
【0033】
自己位置推定部6は、オドメトリ等のデッドレコニングにより時刻kでの運搬車両Mの自己位置を推定し、その推定した自己位置の推定値(以下、「事前推定値」という。)Pkに、第1の計測値や第2の計測値を反映させることで事前推定値Pkを修正する。この修正後の事前推定値Pkが、最終的な時刻kでの運搬車両Mの自己位置であって、事後推定値P´kと称する。ここで、事後推定値P´kを求めるにあたって、第1の計測値や第2の計測値を事前推定値Pkに反映させる度合いは、各計測値の品質に応じて調整される。
【0034】
なお、本実施形態では、自己位置推定部6は、拡張カルマンフィルタを用いて、事前推定値Pkに対して第1の計測値や第2の計測値を反映させて、時刻kにおける運搬車両Mの自己位置である事後推定値P´kを推定する。したがって、第1の計測値を事前推定値Pkに反映させる度合いは、時刻kにおける第1の計測値の誤差分散値Q1に相当し、第2の計測値を事前推定値Pkに反映させる度合いは、時刻kにおける第2の計測値の誤差分散値Q2に相当する。
【0035】
第1評価部7は、第1の指標に基づいて、第1の計測値の品質を評価する。例えば、この第1の計測値の品質とは、第1の計測値の計測状態である。したがって、本実施形態では、第1評価部7は、GNSSセンサ1から得らえた第1の指標に基づいて、第1の計測値の計測状態が良好か不良かを評価する。例えば、第1評価部7は、第1の指標として、運搬車両Mの自己位置の計測結果がFloat解である情報をGNSSセンサ1から取得した場合には、GNSSセンサ1で計測した第1の計測値の計測状態が不良であると評価する。一方、第1評価部7は、第1の指標として、運搬車両Mの自己位置の計測結果がFix解である情報をGNSSセンサ1から取得した場合には、GNSSセンサ1で計測した第1の計測値の計測状態が良好であると評価する。そして、第1評価部7は、第1の計測値の評価結果を誤差分散値算出部9に送信する。
【0036】
第2評価部8は、第2の指標に基づいて、第2の計測値の品質を評価する。例えば、この第2の計測値の品質とは、第2の計測値の計測状態である。したがって、本実施形態では、第2評価部8は、スキャンマッチング部4から得られた第2の指標に基づいて、第2の計測値の計測状態が良好か不良かを評価する。なお、第2の計測値の品質とは、距離センサ2が計測した点群の品質(例えば、距離センサ2の計測状態)を含む。
【0037】
例えば、第2評価部8は、RMSが第1の閾値未満であって、且つ、NUMが第2の閾値以上である条件を満たす場合には、第2の計測値が良好であると評価する。一方、第2評価部8は、RMS及びNUMが上記条件を満たさない場合には、第2の計測値が不良であると評価する。そして、第2評価部8は、第2の計測値の評価結果を誤差分散値算出部9に送信する。
【0038】
誤差分散値算出部9は、第1評価部7の評価結果に基づいて、GNSSセンサ1で計測された第1の計測値の誤差分散値Q1を算出する。例えば、誤差分散値算出部9は、第1評価部7の評価結果として、第1の計測値が良好であるという評価結果が得られた場合には、誤差分散値Q1を第1の値に設定し、第1の計測値が不良であるという評価結果が得られた場合には、誤差分散値Q1を第1の値よりも大きい第2の値に設定する。
【0039】
一例として、誤差分散値算出部9は、
図4に示すように、第1評価部7の評価結果として、第1の計測値が良好であるという評価結果が得られた場合には、現在位置(xg,yg)の計測精度3σを「0.05」とし、方位θgの計測精度3σを「0.5」に設定する。一方、誤差分散値算出部9は、第1評価部7の評価結果として、第2の計測値が不良であるという評価結果が得られた場合には、現在位置(xg,yg)の計測精度3σを「3.6」とし、方位θgの計測精度3σを「5」に設定する。
そして、誤差分散値算出部9は、設定した現在位置(xg,yg)の計測精度3σと方位θgの計測精度3σとに基づいて、それぞれの誤差分散値Q
1(例えば、分散共分散行列)を算出する。
【0040】
また、誤差分散値算出部9は、第2評価部8の評価結果に基づいて、スキャンマッチング部4で計測された第2の計測値の誤差分散値Q2を算出する。例えば、誤差分散値算出部9は、第2評価部8の評価結果として、第2の計測値が良好であるという評価結果が得られた場合には、誤差分散値Q2を第3の値に設定し、第2の計測値が不良であるという評価結果が得られた場合には、誤差分散値Q2を第3の値よりも大きい第4の値に設定する。
【0041】
一例として、誤差分散値算出部9は、
図5に示すように、第2評価部8の評価結果として、第2の計測値が良好であるという評価結果が得られた場合には、現在位置(xs,ys)の計測精度3σを「3.6」とし、方位θsの計測精度3σを「0.1」に設定する。一方、誤差分散値算出部9は、第2評価部8の評価結果として、第2の計測値が不良であるという評価結果が得られた場合には、現在位置(xs,ys)の計測精度3σを「6」とし、方位θsの計測精度3σを「5」に設定する。
そして、誤差分散値算出部9は、設定した現在位置(xs,ys)の計測精度3σと方位θsの計測精度3σとに基づいて、それぞれの誤差分散値Q
2(例えば、分散共分散行列)を算出する。
【0042】
このように、誤差分散値算出部9は、第1の計測値及び第2の計測値のそれぞれの誤差分散値を一定値ではなく、各計測値の品質に応じて調整する。例えば、誤差分散値算出部9は、第1の計測値の品質が不良であれば、誤差分散値Q1を良好時よりも大きい値に調整する。また、誤差分散値算出部9は、第2の計測値の品質が不良であれば、誤差分散値Q2を良好時よりも大きい値に調整する。
【0043】
したがって、統合部5は、第1の計測値や第2の計測値の品質が良好であれば、当該計測値の重みを上げてセンサフュージョンを実行し、第1の計測値や第2の計測値の品質が不良であれば、当該計測値の重みを下げてセンサフュージョンを実行することで、自己位置を推定する。これにより、第1の計測値や第2の計測値の計測精度が低下する場所であっても、安定して自己位置を推定することができる。
【0044】
なお、自己位置推定部6で推定した自己位置(事後推定値)は、例えば、運搬車両Mの走行を制御する制御装置100に送信される。そして、制御装置100は、自己位置推定部6から得られた事後推定値に基づいて、運搬車両Mのアクセルやブレーキの操作量、及びステアリングの操舵角を制御することで、例えば、運搬車両Mの自律走行を行う。
【0045】
次に、本発明の一実施形態に係るスキャンマッチング部4の動作の流れを説明する。
図6は、本発明の一実施形態に係るスキャンマッチング部4の動作の流れを示す図である。
【0046】
スキャンマッチング部4は、時刻kの運搬車両Mの自己位置(xs,ys,θs)を計測する計測処理を実行するにあたって、運搬車両Mが移動しているか否かを判定する(ステップS101)。なお、運搬車両Mが移動しているか否かを判定する方法は、特定に限定されないが、例えば、スキャンマッチング部4は、運搬車両Mの車速に基づいて運搬車両Mが移動しているか否かを判定することができる。
【0047】
スキャンマッチング部4は、運搬車両Mが移動していると判定した場合には、時刻kでの距離センサ2の計測値の点群を取得する(ステップS102)。一方、スキャンマッチング部4は、運搬車両Mが移動していないと判定した場合には、時刻kの計測処理を終了して時刻k+1の計測処理に移行する(ステップS109)。
【0048】
スキャンマッチング部4は、ステップS102の処理において取得した点群の点数が規定値を超えているか否かを判定する(ステップS103)。スキャンマッチング部4は、取得した点群の点数が規定値を超えていると判定した場合には、十分な点数の点群が得られたとして、時刻kの計測処理を継続する。一方、スキャンマッチング部4は、取得した点群の点数が規定値以下である場合には、十分な点数の点群が得られていないとして、時刻kの計測処理を停止して、時刻k+1の計測処理に移行する(ステップS109)。
【0049】
スキャンマッチング部4は、十分な点数の点群が得られた場合には、マップデータとしてボクセルマップを取得する(ステップS104)。また、スキャンマッチング部4は、事前フィルタリングとして、テップS102で得られた点群が3Dである場合には、当該点群を2Dの点群に変換するとともに、ノイズを除去して入力点群を得る(ステップS105)。
【0050】
例えば、スキャンマッチング部4は、最も水平レイヤーに近い点群であって、水平視野角360°のうち運搬車両Mの前方から左右に±90°の範囲に限定した点群を抽出する。また、コンテナヤードでは、距離センサ2の計測距離(スキャンの距離)が40m以上の場合にはノイズが多くなってしまう傾向にあるため、スキャンマッチング部4は、ボクセルに対する点の時間占有度が高いグリッドのみをボクセルマップに反映させるフィルタによりノイズを低減させる。その後、スキャンマッチング部4は、おおまかな位置合わせを行うためにボクセルマップに対してkd木による最近傍探索を行う(ステップS106)。なお、ステップS106の処理は必須ではない。
【0051】
スキャンマッチング部4は、その最近傍探索の結果を以って、ボクセルマップと入力点群とを用いてICPアルゴリズムによるスキャンマッチングを行うことで、時刻kの運搬車両Mの自己位置(xs,ys,θs)を計測する(ステップS107)。さらに、スキャンマッチング部4は、第2の指標としてマップデータ及び入力点群の二乗平均値であるRMSと、入力点群の点数であるNUMとを算出する(ステップS108)。
そして、スキャンマッチング部4は、計測した時刻kの運搬車両Mの自己位置(第2の計測値)と、算出したRMS及びNUMとを統合部5に送信する。その後、スキャンマッチング部4は、時刻kの計測処理を終了して時刻k+1の計測処理に移行する(ステップS109)。
【0052】
次に、本発明の一実施形態に係る統合部5が第1の計測値と第2の計測値とを統合して、時刻kにおける運搬車両Mの自己位置を推定する方法について、
図7を用いて説明する。
【0053】
まず、統合部5は、デッドレコニングにより時刻kでの運搬車両Mの事前推定値Pkを求める。次に、統合部5は、時刻k又は時刻kと同視し得る範囲の時刻の第1の計測値及び第2の計測値が得られたならば、事前推定値Pkに対して、その第1の計測値及び第2の計測値のうち、いずれか一方の計測値を、拡張カルマンフィルタを用いて反映させることで事前推定値Pkを修正する。次に、統合部5は、修正した事前推定値Pkに対して、他方の計測値を、拡張カルマンフィルタを用いて反映させて事後推定値P´kを算出する。これにより、統合部5は、第1の計測値及び第2の計測値を用いて運搬車両Mの自己位置(事後推定値P´k)を推定することができる。
【0054】
ここで、統合部5は、第1の計測値を事前推定値Pkに反映させる度合いを第1の指標に応じて調整しながら事前推定値Pkを修正する。具体的には、統合部5は、第1の計測値の誤差分散値Q
1を第1の指標に応じて調整する。この誤差分散値Q
1を調整することは、
図7に示すように、第1の計測値の誤差楕円E
1の範囲を調整することを意味する。したがって、例えば、統合部5は、第1の指標により第1の計測値の品質を評価し、その評価の結果、当該品質が良好であるならば、誤差楕円E
1の範囲を所定の範囲に調整する。一方、統合部5は、その評価の結果、第1の計測値の品質が不良であるならば、誤差楕円E
1の範囲が良好時よりも広くなるように調整する。
【0055】
同様に、統合部5は、第2の計測値を事前推定値Pkに反映させる度合いを第2の指標に応じて調整しながら事前推定値Pkを修正する。具体的には、統合部5は、第2の計測値の誤差分散値Q
2を第2の指標に応じて調整する。この誤差分散値Q
2を調整することは、
図7に示すように、第2の計測値の誤差楕円E
2の範囲を調整することを意味する。したがって、統合部5は、第2の指標により第2の計測値の品質を評価し、その評価の結果、当該品質が良好であるならば、誤差楕円E
2の範囲を所定の範囲に調整する。一方、統合部5は、その評価の結果、第2の計測値の品質が不良であるならば、誤差楕円E
2の範囲が良好時よりも広くなるように調整する。
【0056】
このように、自己位置推定装置Aは、GNSSセンサ1や距離センサ2等の外界センサにより得られた計測値を、当該計測値の誤算分散値に応じて内界センサにより得られた事前推定値に反映させて運搬車両Mの自己位置を推定するものである。この内界センサとは、運搬車両Mの状態を知るためのセンサであって、その内界センサで得られた値は、デッドレコニングに用いられる。そして、自己位置推定装置Aは、上記計測値の品質を評価し、その評価結果に応じて、当該計測値の誤算分散値を調整する。すなわち、自己位置推定装置Aは、上記計測値の品質を評価し、品質が良い計測値の重みを上げて、品質の悪い計測値の重みを下げてセンサフュージョンして、運搬車両Mの自己位置を推定する。これにより、運搬車両Mが、GNSSセンサ1における自己位置の計測精度やスキャンマッチングにおける自己位置の計測精度が低下する場所(例えば、コンテナヤード)を走行する場合であっても、自己位置推定装置Aは、安定した自己位置の推定を行うことができる。
【0057】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0058】
(変形例1)上記実施形態では、GNSSセンサ1やスキャンマッチングによる自己位置の計測値(第1の計測値及び第2の計測値)を良好又は不良の2種類で評価を行ったが、本発明はこれに限定されず、3種類以上で評価してもよい。この場合には、誤差分散値算出部9は、計測値の品質の評価が高い、すなわち、品質が高くなるにつれて、当該計測値の誤差分散値が高くなるように当該誤差分散値を調整すればよい。
【0059】
(変形例2)上記実施形態では、統合部5は、時刻k又は時刻kと同視し得る範囲の時刻で第1の計測値及び第2の計測値の双方の計測値が得られた場合を例として説明したが、本発明はこれに限定されない。例えば、時刻k又は時刻kと同視し得る範囲の時刻において、第1の計測値のみが得られた場合には、統合部5は、推定した事前推定値Pkに対して、その第1の計測値を反映させることで事後推定値P´kを算出してもよい。すなわち、統合部5は、第1の計測値及び第2の計測値を同時刻に取得してセンサフュージョンする必要はなく、計測値が得られた時刻で当該計測値を逐次センサフュージョンしてその時刻の事前推定値を修正すればよい。
【0060】
(変形例3)上記実施形態では、計測値としてGNSSセンサ1の第1の計測値とスキャンマッチングの第2の計測値の双方を用いたが、本発明はこれに限定されず、例えば、少なくともいずれかの計測値を用いればよい。ただし、スキャンマッチングは絶対精度を保証できないため、第1の計測値と第2の計測値のうち、いずれかの計測値を用いる場合には、第1の計測値を用いることが望ましい。
【0061】
(変形例4)上記実施形態において、GNSSセンサ1の品質はしきい値を使う第1の指標に基づいて評価しているが、GNSSのRAWデータから得られる、衛星数numや擬似距離psude_distance、搬送波位相phaseなども利用し、連続値として品質を評価してもよい。例えば、以下の式(1)を用いてもよい。
GNSSの誤差分散値=f(測位モード,num, psude_distance, phase) …(1)
【0062】
(変形例5)上記実施形態において、距離センサ2として、LIDARやLRFの代わりにカメラなどの撮像装置を用いても良い。その場合には、当該撮像装置の計測データに誤差を与えて、当該誤差を撮像装置の計測データを統合する際の品質データとして用いてもよい。
【0063】
(変形例6)上記実施形態において、計測値としてエンコーダの計測値を用いても良い。また、その計測値に誤差を与えて、センサフュージョンを行う際の品質データとして用いてもよい。
【0064】
(変形例7)上記実施形態では、GNSSセンサ1や距離センサ2は、運搬車両Mに設置されている場合について、説明したが、本発明はこれに限定されず、運搬車両M外に設置されていてもよい。
【0065】
(変形例8)上記実施形態では、センサフュージョンのアルゴリズムとして、拡張カルマンフィルタを適用したが、本発明はこれに限定されない。すなわち、デッドレコニングにより推定された事前推定値に、外界センサを用いて計測した自己位置の計測値を反映させることで当該事前推定値を修正するアルゴリズムであれば、種々のアルゴリズムを適用可能である。
【0066】
(変形例9)上記実施形態において、運搬車両Mの方位θをジャイロコンパス等の様々な種類のセンサを用いて取得してもよい。
【0067】
(変形例10)上記実施形態において、第2評価部8は、RMSが第1の閾値未満であること、及びNUMが第2の閾値以上であることの少なくともいずれか一方が成立した場合に第2の計測値が良好であると評価してもよい。
【0068】
(変形例11)上記実施形態において、第2評価部8は、RMSとNUMをしきい値で評価せず、関数を用いて連続値として評価しても良い。例えば以下の式(2)を用いてもうよい。
距離センサの誤差分散値= g(RMS,NUM) …(2)
【0069】
以上、説明したように、本実施形態に係る推定部3は、自己位置の計測値の品質を逐次評価して、その品質の評価結果に応じて計測値を事前推定値に反映させる度合いを調整する。
【0070】
このような構成によれば、自己位置の計測精度が低下する場所であっても、安定した自己位置の推定を行うことができる。例えば、コンテナヤードでは片側にしか構造物が無い場所や、そもそも構造物がない場所があるため、コンテナヤードでスキャンマッチングによる自己位置計測を実行すると、誤差が蓄積して計測精度が低下する場合がある。また、コンテナヤードでGNSSセンサによる自己位置計測を実行すると、コンテナやトランスファークレーンの影響により、観測可能な衛星数が減少したり、衛星信号のマルチパスが発生したりすると、GNSSセンサの計測精度が低下する場合がある。本実施形態の自己位置推定装置Aは、計測精度を評価して、その評価結果に応じて誤差分散値を調整するため、コンテナヤードであっても、安定した自己位置の推定を行うことができる。
【0071】
また、推定部3は、自己位置の計測値として、GNSSセンサ1により計測された第1の計測値と、スキャンマッチングにより計測された第2の計測値との双方を用いてもよい。この場合には、推定部3は、基本的には第1の計測値を用いて事前推定値を修正し、第1の計測値の品質が悪化した場合に、GNSSセンサ1の補完として、第2の計測値を当該第2の計測値の品質に応じて事前推定値の修正に利用してもよい。
【0072】
このような構成によれば、GNSSセンサ1による自己位置の計測精度が低下する場所であっても、安定した自己位置の推定を行うことができる。
【符号の説明】
【0073】
1 GNSSセンサ
2 距離センサ
3 推定部
4 スキャンマッチング部
5 統合部
6 自己位置推定部
7 第1評価部
8 第2評価部
9 誤差分散値算出部