(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004892
(43)【公開日】2024-01-17
(54)【発明の名称】自己位置推定装置、自己位置推定方法、およびプログラム
(51)【国際特許分類】
G01C 21/20 20060101AFI20240110BHJP
G05D 1/43 20240101ALI20240110BHJP
【FI】
G01C21/20
G05D1/02 J
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022104777
(22)【出願日】2022-06-29
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】中尾 健太
(72)【発明者】
【氏名】杉本 喜一
(72)【発明者】
【氏名】竹内 瑞穂
(72)【発明者】
【氏名】木内 裕介
(72)【発明者】
【氏名】▲高▼尾 健司
(72)【発明者】
【氏名】筈井 祐介
【テーマコード(参考)】
2F129
5H301
【Fターム(参考)】
2F129AA03
2F129BB15
2F129BB22
2F129BB26
2F129BB33
2F129BB66
2F129CC33
5H301BB07
5H301CC04
5H301CC07
5H301CC08
5H301GG09
5H301GG16
(57)【要約】
【課題】自律移動体の位置および姿勢を精度よく推定することができる自己位置推定装置を提供する。
【解決手段】自己位置推定装置は、自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得する第1取得部と、前記自律移動体の加速度および角速度を含む第2センサデータを取得する第2取得部と、複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータの一部である部分パラメータを推定する第1推定部と、前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記自律移動体の自己位置を推定する第2推定部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
自律移動体の走行エリアにおける自己位置を推定する自己位置推定装置であって、
自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得する第1取得部と、
前記自律移動体の加速度および角速度を含む第2センサデータを取得する第2取得部と、
複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータの一部である部分パラメータを推定する第1推定部と、
前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定する第2推定部と、
を備える自己位置推定装置。
【請求項2】
前記第2推定部は、前記6自由度のパラメータのうち、前記部分パラメータ以外のパラメータを推定する、
請求項1に記載の自己位置推定装置。
【請求項3】
前記第2推定部は、前記部分パラメータに基づく制約を加えた最適化計算を行って、前記6自由度のパラメータ全てを推定する、
請求項1に記載の自己位置推定装置。
【請求項4】
前記第2推定部は、前記自律移動体の運動制約をさらに加えた最適化計算を行って、前記6自由度のパラメータ全てを推定する、
請求項3に記載の自己位置推定装置。
【請求項5】
前記目印は、前記走行エリアに施されたペイントおよび前記走行エリアに設置された標識の少なくとも一方であり、
前記第1推定部は、前記第1センサデータから抽出した前記ペイントおよび前記標識の少なくとも一方と、前記既知情報とに基づいて、前記6自由度のパラメータのうち、水平方向に延びる第1軸方向および第2軸方向の少なくとも一方における位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを前記部分パラメータとして推定する、
請求項1から4の何れか一項に記載の自己位置推定装置。
【請求項6】
前記目印は前記固定物の一部に取り付けられたランドマークであり、
前記第1推定部は、前記第1センサデータから抽出した前記ランドマークと、前記既知情報とに基づいて、前記6自由度のパラメータのうち、水平方向に延びる第1軸方向および第2軸方向それぞれにおける位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを前記部分パラメータとして推定する、
請求項1から4の何れか一項に記載の自己位置推定装置。
【請求項7】
前記第1推定部は、前記第1センサデータから抽出した複数の前記ランドマークを繋いで得た形状と、前記既知情報に記録されている前記ランドマークの配置から得られる形状とに基づいて、前記6自由度のパラメータのうち、水平方向に延びる第1軸方向における位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを前記部分パラメータとして推定する、
請求項6に記載の自己位置推定装置。
【請求項8】
自律移動体の走行エリアにおける自己位置を推定する自己位置推定方法であって、
自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、
前記自律移動体の加速度および角速度を含む第2センサデータを取得するステップと、
複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、
前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定するステップと、
を有する自己位置推定方法。
【請求項9】
自律移動体の走行エリアにおける自己位置を推定する自己位置推定装置に、
自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、
前記自律移動体の加速度および角速度を含む第2センサデータを取得するステップと、
複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、
前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律移動体の自己位置推定装置、自己位置推定方法、およびプログラムに関する。
【背景技術】
【0002】
物流やプラント点検などで使用される自律移動体は、例えば、レーザセンサやカメラ(画像センサ)で取得したセンサデータに基づいて予め作成した地図データと、現在のセンサデータとを照合して、自律移動体の自己位置(3次元座標系の各軸に対する位置および姿勢)を推定する。しかしながら、例えば物流倉庫のような多段積みされた荷物で通路が構成されている施設で自律移動体を運用する場合、これら荷物は一時的に存在する非固定物のため、事前に地図データに反映させることができない。そうすると、一時的に荷物が置かれているエリアでは、自律移動体の自己位置の推定精度が低下する可能性がある。
【0003】
このため、レーザセンサやカメラによる自己位置の推定が困難なエリアでは、他のセンサを代用して自己位置の推定を行う技術が考えられている。例えば、特許文献1には、エンコーダ、慣性計測ユニット(IMU;Inertial Measurement Unit)、GNSS(Global Navigation Satellite System)受信機、カメラ、レーザセンサ等の複数の異なるセンサそれぞれで計測したセンサデータを取得し、個々のセンサデータから自律移動体の自己位置候補をそれぞれ推定し、最も信頼度の高い自己位置候補を自律移動体の自己位置として決定する方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術は、個々のセンサデータから独立に推定される自己位置候補から一つを選択して自己位置として決定するものであるため、自己位置の精度はセンサによる自己位置推定結果に依存する。
【0006】
また、複数のセンサを組み合わせた自己位置推定技術が考えられている。カメラとIMUを組み合わせた自己位置推定技術のVIO(Visual Inertial Odometry)では、カメラ画像から得られる特徴点の移動量と、IMUから得られる加速度および角速度とが一致するような自己位置を最適化計算(例えば、非線形最小二乗法)によって算出する。
【0007】
しかしながら、このようなオドメトリ法は、時間軸で見た局所的な最適化問題を解くものであるため、誤差の累積により、推定位置が実際の位置から徐々にずれていくドリフトが生じる場合がある。このような累積誤差の影響などを低減し、自己位置を精度よく推定できる技術が望まれている。
【0008】
本開示の目的は、自律移動体の位置および姿勢を精度よく推定することができる自己位置推定装置、自己位置推定方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0009】
本開示の一態様によれば、自律移動体の走行エリアにおける自己位置を推定する自己位置推定装置は、自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得する第1取得部と、前記自律移動体の加速度および角速度を含む第2センサデータを取得する第2取得部と、複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータの一部である部分パラメータを推定する第1推定部と、前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定する第2推定部と、を備える。
【0010】
本開示の一態様によれば、自律移動体の走行エリアにおける自己位置を推定する自己位置推定方法は、自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、前記自律移動体の加速度および角速度を含む第2センサデータを取得するステップと、複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定するステップと、を有する。
【0011】
本開示の一態様によれば、プログラムは、自律移動体の走行エリアにおける自己位置を推定する自己位置推定装置に、自律移動体の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、前記自律移動体の加速度および角速度を含む第2センサデータを取得するステップと、複数の前記固定物から予め選択した一の固定物である目印の前記走行エリアにおける位置を含む情報を記録した既知情報と、前記第1センサデータとに基づいて、3次元座標系における前記自律移動体の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、前記第1センサデータと、前記第2センサデータと、前記部分パラメータとに基づいて、前記6自由度のパラメータで表される前記自律移動体の自己位置を推定するステップと、を実行させる。
【発明の効果】
【0012】
上記態様によれば、自律移動体の位置および姿勢を精度よく推定することができる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態に係る自律移動体の全体構成を示す概略図である。
【
図2】第1の実施形態に係る自己位置推定装置の機能構成を示すブロック図である。
【
図3】第1の実施形態に係る自己位置推定装置の処理の一例を示すフローチャートである。
【
図4】第1の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
【
図5】第1の実施形態に係る自己位置推定装置の機能を説明する図である。
【
図6】第1の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
【
図7】第2の実施形態に係る自己位置推定装置の機能を説明する図である。
【
図8】第2の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
【
図9】第3の実施形態に係る自己位置推定装置の機能を説明する第1の図である。
【
図10】第3の実施形態に係る自己位置推定装置の機能を説明する第2の図である。
【
図11】第3の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
【
図12】第3の実施形態に係る自己位置推定装置の機能を説明する第3の図である。
【
図13】第3の実施形態に係る自己位置推定装置の機能を説明する第4の図である。
【
図14】第4の実施形態に係る自己位置推定装置の機能を説明する図である。
【
図15】第4の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
【
図16】第5の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
【
図17】第6の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
<第1の実施形態>
以下、
図1~
図6を参照しながら第1の実施形態について詳しく説明する。
【0015】
(自律移動体の全体構成)
図1は、第1の実施形態に係る自律移動体の全体構成を示す概略図である。
図1に示すように、本実施形態に係る自律移動体1は、例えば、物流倉庫などの走行エリア内においてあらかじめ定められた走行ルートに沿って目標地点まで自律走行する無人フォークリフトである。なお、他の実施形態では、自律移動体1は、プラント点検などに用いられる点検用ロボットなどであってもよい。
【0016】
自律移動体1は、自己位置推定装置10と、第1センサ20と、第2センサ21とを備える。
【0017】
第1センサ20は、自律移動体1の周囲を撮影した画像データ(映像データの各フレーム)を取得するカメラである。
【0018】
第2センサ21は、自律移動体1の加速度および角速度を計測する慣性計測装置(以下、「IMU」とも記載する。)である。
【0019】
自己位置推定装置10は、第1センサ20が取得した画像データ(第1センサデータ)と、第2センサ21が計測した加速度および角速度(第2センサデータ)とに基づいて、自律移動体1の自己位置を推定する。
【0020】
(自己位置推定装置の機能構成)
図2は、第1の実施形態に係る自己位置推定装置の機能構成を示すブロック図である。
図2に示すように、自己位置推定装置10は、プロセッサ11と、メモリ12と、ストレージ13と、インタフェース14とを備える。
【0021】
メモリ12は、プロセッサ11の動作に必要なメモリ領域を有する。
【0022】
ストレージ13は、いわゆる補助記憶装置であって、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等である。
【0023】
インタフェース14は、外部機器(例えば、第1センサ20および第2センサ21)との間で各種情報の送受信を行うためのインタフェースである。
【0024】
プロセッサ11は、所定のプログラムに従って動作することにより、第1取得部110、第2取得部111、地図照合部112、第1推定部113、第2推定部114、出力処理部115としての機能を発揮する。
【0025】
第1取得部110は、第1センサ20から、自律移動体1の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な画像データ(第1センサデータ)を取得する。例えば、固定物は、走行エリア内の天井、床、棚、看板、ペイントなどの配置や形状が変化しない構造物である。また、非固定物は、床や棚などに一時的に載置される荷物やパレットなどである。
【0026】
第2取得部111は、第2センサ21から、自律移動体1の加速度および角速度(第2センサデータ)を取得する。
【0027】
地図照合部112は、第1センサデータと、予めストレージ13に記録された地図データD1とを照合して、自律移動体1の自己位置を推定する。なお、自律移動体1の自己位置は、ワールド座標系の座標軸(Xw,Yw,Zw)方向それぞれにおける位置と、各座標軸回りの回転角度(姿勢)とからなる6自由度のパラメータで表される。
【0028】
地図データD1は、予め走行エリア内で自律移動体1をテスト走行させて第1センサデータを収集し、各第1センサデータを取得した時点における自律移動体1の自己位置を、各第1センサデータに付したサンプルデータの集合である。地図照合部112は、第1取得部110が取得した第1センサデータと地図データD1の各サンプルデータとを照合して、第1センサデータと一致するサンプルデータに付された自己位置を、自律移動体1の自己位置であると推定する。
【0029】
第1推定部113は、予めストレージ13に記録された既知情報D2と、第1センサデータとに基づいて、3次元座標系における位置および姿勢を表す6自由度のパラメータのうち少なくとも1つである部分パラメータを推定する。既知情報D2は、複数の固定物から予め選択した一の固定物である目印について、自律移動体1の走行エリアにおける位置や角度、形状などを予め記録したものである。例えば、目印は、走行エリアの床に施されたペイント(白線など)や、走行エリア内に設置された標識(看板など)である。目印は、非固定物があるときも少なくとも一部が観測可能となる固定物であることが望ましい。
【0030】
第2推定部114は、第1センサデータと、第2センサデータと、第1推定部113が推定した部分パラメータとに基づいて、6自由度のパラメータで表される自律移動体の自己位置を推定する。
【0031】
出力処理部115は、地図照合部112または第2推定部114が推定した自律移動体1の自己位置を、自律移動体1の動作を制御する制御装置(不図示)などに出力する。
【0032】
(自己位置推定装置の処理フロー)
図3は、第1の実施形態に係る自己位置推定装置の処理の一例を示すフローチャートである。
以下、
図3を参照しながら、自己位置推定装置10が自律移動体1の自己位置を推定する処理の流れについて説明する。
【0033】
まず、第1取得部110は、第1センサ20から第1センサデータを取得する。また、第2取得部111は、第2センサ21から第2センサデータを取得する(ステップS100)。本実施形態では、第1センサデータは、カメラが撮影した映像の最新フレームを表す画像データであり、第2センサデータはIMUが計測した自律移動体1の加速度および角速度である。
【0034】
次に、地図照合部112は、第1センサデータと地図データD1とを照合して、自律移動体1の自己位置を推定する(ステップS101)。例えば、地図照合部112は、既知のパターンマッチング処理を用いて、第1取得部110が取得した第1センサデータおよび地図データD1の各サンプルデータを照合し、所定の一致度以上かつ最も一致度の高いサンプルデータを、第1センサデータに一致するデータとして抽出する。地図照合部112は、抽出したサンプルデータに付された自己位置を、第1センサデータ取得時点における自律移動体1の自己位置であると推定する。
【0035】
なお、例えば棚や床に荷物が一時的に置かれるなどして、地図データD1生成時における走行エリアの風景と、実際に自律移動体1が走行したときの走行エリアの風景とが異なる場合がある。そうすると、第1センサデータと一致するサンプルデータが地図データD1内に存在せず、自律移動体1の自己位置を推定できない。このため、自己位置推定装置10は、地図照合により自律移動体1の自己位置の推定が完了したか判定する(ステップS102)。
【0036】
地図照合部112が地図照合により自己位置の推定が完了した場合(ステップS102;YES)、出力処理部115は、地図照合部112が推定した自己位置を自律移動体1の制御装置(不図示)に出力する(ステップS105)。また、自己位置推定装置10は、ステップS100に戻り、
図3の一連の処理を再度実行する。
【0037】
一方、地図照合部112が地図照合により自己位置の推定ができなかった場合(ステップS102;NO)、第1推定部113および第2推定部114による自己位置推定処理に進む。
【0038】
まず、第1推定部113は、第1センサデータに含まれる目印と、既知情報D2とに基づいて、自律移動体1の自己位置を表す6自由度のパラメータのうち少なくとも1つのパラメータを推定する処理を行う(ステップS103)。本実施形態では、目印が走行エリアの床に施された白線である態様を例に説明する。なお、他の実施形態では、走行エリアの壁や天井に施されたペイントを目印として用いてもよい。
【0039】
図4は、第1の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
第1推定部113の処理について、
図4を参照しながら説明する。まず、第1推定部113は、第1センサデータに所定の画像変換処理を施す(ステップS110)。この画像変換処理は、例えば、一般的な歪み補正、鳥観視点への変換などの処理である。
【0040】
次に、第1推定部113は、画像変換処理後の第1センサデータから白線を抽出する処理を行う(ステップS111)。例えば、第1推定部113は、第1センサデータにさらに2値化処理を施すことにより、第1センサデータに含まれる白線を抽出する。
【0041】
また、第1推定部113は、第1センサデータから抽出した白線および既知情報D2に基づいて、自律移動体1のXw軸における位置およびZw軸回りの回転角度(姿勢)を推定する処理を行う(ステップS112)。
【0042】
図5は、第1の実施形態に係る自己位置推定装置の機能を説明する図である。
図5に示すように、走行エリアRの床には白線M1が設けられている。また、走行エリアRの床や棚には荷物B1が一時的に置かれている場合であっても、少なくとも何れかの白線M1(
図5の例では、自律移動体1の右側の白線M1)は、荷物B1で隠れることなく第1センサ20で観測可能となる位置に白線M1が設けられる。
図5の例では、自律移動体1(車両座標系)の左右方向をXv軸、前後方向をYv軸、鉛直方向をZv軸で表す。また、走行エリアR(ワールド座標系)の水平方向(例えば、東西方向および南北方向)をXw軸およびYw軸、鉛直方向をZw軸で表す。
【0043】
既知情報D2には、白線M1が走行エリアR内のどの位置にどの角度で設けられているかを示す情報や、白線M1の幅などを示す情報が予め記録されている。例えば、第1推定部113は、前回の地図照合部112の自己位置推定結果や、予め定められた走行ルートの情報などから、自律移動体1が走行エリアR内のどの走行路に進入するかを特定し、既知情報D2から進入先の走行路に引かれた白線M1に関する情報を抽出する。また、白線M1上に走行路の識別情報(走行路番号やバーコードなど)が印字されている場合、第1推定部113は、第1センサデータから既知の文字認識処理やバーコード読取処理などでこの識別情報を読み取り、識別情報で特定される白線M1に関する情報を既知情報D2から抽出してもよい。
【0044】
第1推定部113は、既知情報D2から抽出した白線M1の情報と、第1センサデータ(画像データ)における白線M1の見え方(大きさ、傾きなど)とに基づいて、自律移動体1のワールド座標系におけるXw軸方向の位置Xw1と、Zw軸回りの回転角度θZw1の2自由度のパラメータ(部分パラメータ)を推定することができる。
【0045】
次に、
図3に戻り、第2推定部114は最適化計算による自己位置推定処理を実行する(ステップS104)。
【0046】
図6は、第1の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
第2推定部114の処理について、
図6を参照しながら説明する。
【0047】
まず、第2推定部114は、第1推定部113が既知情報D2で求めた自己位置(部分パラメータ)をセットする(ステップS120)。なお、自己位置推定における最適化計算は、1つ前(前回フレーム)の状態からの相対的な位置姿勢の変化(オドメトリ)を用いて計算するものである。このため、本実施形態では、第1推定部113が推定したXw軸における位置Xw1およびZw軸回りの回転角度θZw1を、前回フレームの自己位置推定結果のXwおよびθZwから引いた相対値に変換してセットする。
【0048】
次に、第2推定部114は、第1推定部113が推定した2自由度のパラメータXw1,θZw1を除く、Yw軸およびZw軸方向における位置Yw1,Zw1と、Xw軸回りおよびYw軸回りの回転角度θXw1,θYw1の4自由度のパラメータについて、前回フレームとの相対値を最適化計算により推定する(ステップS121)。具体的には、第2推定部114は、Xw1,θZw1の相対値を固定として以下の式(1)を解くことにより、残りの4自由度のパラメータの相対値を求める。
【0049】
【0050】
式(1)において、χは前回フレームfから最新フレームf+1における自己位置の変化量(前回フレームとの相対値)の推定値である。また、式(1)の波括弧内の第1項は前回フレームfから最新フレームf+1における位置姿勢変化とその間のIMU積分値との残差(IMU残差)、第2項は前回フレームfから最新フレームf+1における位置姿勢変化の画像上での再投影誤差(画像残差)を表す。
【0051】
次に、第2推定部114は、ステップS120およびS121で求めた各パラメータの前回フレームとの相対値と、前回フレームの自己位置推定結果とに基づいて、今回フレームの自律移動体1のワールド座標系における自己位置を算出する(ステップS122)。
【0052】
また、
図3に戻り、出力処理部115は、第1推定部113および第2推定部114が推定した自己位置(6自由度のパラメータ)を自律移動体1の制御装置(不図示)に出力する(ステップS105)。また、自己位置推定装置10は、ステップS100に戻り、
図3の一連の処理を再度実行する。
【0053】
(作用、効果)
以上のように、本実施形態に係る自己位置推定装置10は、第1センサデータを取得する第1取得部110と、第2センサデータを取得する第2取得部111と、第1センサデータに含まれる目印と既知情報D2とに基づいて、自律移動体1の自己位置を表す6自由度のパラメータのうち一部である部分パラメータを推定する第1推定部113と、第1センサデータと、第2センサデータと、第1推定部113が推定した部分パラメータとに基づいて、残りのパラメータを推定する第2推定部114と、を備える。
【0054】
このように、自己位置推定装置10は、第1センサデータから間接的に観測できる既知情報D2を活用して一部のパラメータを推定することにより、最適化計算における累積誤差を抑制して、自律移動体1の自己位置を精度よく推定することができる。
【0055】
また、第2推定部114は、6自由度のパラメータのうち、第1推定部113が推定した部分パラメータ以外のパラメータを推定する。
【0056】
このようにすることで、自己位置推定装置10は、一部パラメータが既知となり、他のパラメータのみを求めればよいので、累積誤差の影響をより効果的に抑制することができる。また、自己位置推定装置10は、最適化計算を高速かつ低負荷で行うことが可能となる。
【0057】
また、目印は、走行エリアRに予め施された白線M1(ペイント)であり、第1推定部113は、第1センサデータから抽出した白線M1と既知情報D2とに基づいて、6自由度のパラメータのうち、Xw軸方向における位置Xw1と、Zw軸回りの回転で表される姿勢θZw1とを部分パラメータとして推定する。
【0058】
このようにすることで、自己位置推定装置10は、走行エリアRの白線M1から、6自由度のうち2自由度のパラメータを精度よく推定することができる。これにより、自己位置推定装置10は、他の4自由度のパラメータの推定において、累積誤差の影響をより効果的に抑制することができる。
【0059】
<第2の実施形態>
以下、
図7~
図8を参照しながら第2の実施形態について詳しく説明する。なお、第2の実施形態の構成のうち、第1の実施形態と同じ構成であるものについては、第1の実施形態と同じ符号を用いて説明する。
【0060】
図7は、第2の実施形態に係る自己位置推定装置の機能を説明する図である。
上述の第1の実施形態では、自己位置推定装置10の第1推定部113が走行エリアRの白線M1を目印として、6自由度のうち2つのパラメータを推定する例について説明した。これに対し、本実施形態に係る自己位置推定装置10の第1推定部113は、
図8の例のように、走行エリアRに設置された標識M2(看板など)を目印として、6自由度のうち2つのパラメータを推定する。標識M2は、荷物B1などで隠れることなく第1センサ20で観測可能となる位置に標識M2が設置される。
【0061】
(自己位置推定装置の処理フロー)
図8は、第2の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
本実施形態例に係る第1推定部113は、第1の実施形態(
図4)の処理に代えて、
図8の処理を実行する。
【0062】
まず、
図8に示すように、第1推定部113は、第1センサデータに所定の画像変換処理を施す(ステップS130)。当該処理は
図4のステップS110と同じである。
【0063】
次に、第1推定部113は、画像変換処理後の第1センサデータに対し、既知のエッジ検出処理やパターン認識処理などを施して、標識M2を検出する処理を行う(ステップS131)。
【0064】
また、第1推定部113は、第1センサデータから抽出した白線および既知情報D2に基づいて、自律移動体1のYw軸における位置およびZw軸回りの回転角度を推定する処理を行う(ステップS132)。
【0065】
既知情報D2には、標識M2が走行エリアR内のどの位置にどの角度で設置されているかを示す情報や、標識M2のサイズなどを示す情報が予め記録されている。第1推定部113は、第1の実施形態と同様に、前回の地図照合部112の自己位置推定結果や、予め定められた走行ルートの情報などから、自律移動体1が走行エリアR内のどの走行路に進入するかを特定し、既知情報D2から進入先の走行路に設置された標識M2に関する情報を抽出する。また、標識M2上に走行路の識別情報(走行路番号やバーコードなど)が印字されている場合、第1推定部113は、第1センサデータから既知の文字認識処理やバーコード読取処理などでこの識別情報を読み取り、識別情報で特定される標識M2に関する情報を既知情報D2から抽出してもよい。
【0066】
第1推定部113は、既知情報D2から抽出した標識M2の情報と、第1センサデータ(画像データ)における標識M2の見え方(大きさ、傾きなど)とに基づいて、自律移動体1のワールド座標系におけるYw軸方向の位置Yw1と、Zw軸回りの回転角度θZw1)の2自由度のパラメータ(部分パラメータ)を推定することができる。
【0067】
以降の処理(
図3のステップS104~S105)については、第1の実施形態と同じである。
【0068】
(作用、効果)
以上のように、本実施形態において、目印は、走行エリアRに予め設置された標識M2であり、第1推定部113は、第1センサデータから抽出した標識M2と既知情報D2とに基づいて、6自由度のパラメータのうち、Yw軸方向における位置Yw1と、Zw軸回りの回転で表される姿勢θZw1とを部分パラメータとして推定する。
【0069】
このようにすることで、自己位置推定装置10は、走行エリアRの標識M2から、6自由度のうち2自由度のパラメータを精度よく推定することができる。これにより、自己位置推定装置10は、他の4自由度のパラメータの推定において、累積誤差の影響をより効果的に抑制することができる。
【0070】
また、他の実施形態では、自己位置推定装置10の第1推定部113は、白線M1および標識M2の両方を目印として抽出し、6自由度のパラメータのうち、2自由度または3自由度のパラメータを推定してもよい。例えば、第1推定部113は、第1センサデータから白線M1のみを検出した場合、第1の実施形態と同様に、Xw1およびθZw1の2自由度のパラメータを推定する。また、第1推定部113は、第1センサデータから標識M2のみを検出した場合、第2の実施形態と同様に、Yw1およびθZw1の2自由度のパラメータを推定する。さらに、第1推定部113は、第1センサデータから白線M1および標識M2の両方を検出した場合、これらに基づいて、Xw1、Yw1およびθZw1の3自由度のパラメータを推定する。このようにすることで、走行エリアR内の棚などの配置にあわせて白線M1および標識M2の少なくとも一方を設置すればよいので、さまざまなレイアウトの走行エリアRに柔軟に対応することができる。また、第1推定部113が白線M1および標識M2の両方から3自由度のパラメータを推定できる場合は、第2推定部114の最適化計算において、累積誤差の影響をより効果的に抑制することができる。
【0071】
<第3の実施形態>
以下、
図9~
図13を参照しながら第3の実施形態について詳しく説明する。なお、第3の実施形態の構成のうち、第1~第2の実施形態と同じ構成であるものについては、第1~第2の実施形態と同じ符号を用いて説明する。
【0072】
図9は、第3の実施形態に係る自己位置推定装置の機能を説明する第1の図である。
図10は、第3の実施形態に係る自己位置推定装置の機能を説明する第2の図である。
上述の第1~第2の実施形態では、自己位置推定装置10の第1推定部113が走行エリアRの白線M1または標識M2を目印として、6自由度のうち2つのパラメータを推定する例について説明した。これに対し、本実施形態に係る自己位置推定装置10の第1推定部113は、
図9~
図10に示すように、走行エリアRの固定物に取り付けられたランドマークM3を目印として、6自由度のうち3つのパラメータを推定する。
【0073】
図9は走行エリアRを鉛直方向上方(+Zw)から見た図、
図10は棚B2を水平方向一方(+Xw)から見た図である。
図9および
図10に示すように、ランドマークM3は、荷物B1などで隠れることなく第1センサ20で観測可能となるように、荷物B1を載置する棚B2の柱の下部(足元)などに取り付けられる。
【0074】
また、本実施形態において、自律移動体1の第1センサ20は、LiDAR(Light Detection and Ranging)であり、自律移動体1の周辺の固定物および非固定物の点群データPを取得する。また、自己位置推定装置10の第1取得部110は、
図3のステップS100において、第1センサ20から点群データである第1センサデータを取得する。
【0075】
(自己位置推定装置の処理フロー)
図11は、第3の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
本実施形態例に係る第1推定部113は、第1の実施形態(
図4)または第2の実施形態(
図8)の処理に代えて、
図11の処理を実行する。
【0076】
まず、
図11に示すように、第1推定部113は、第1センサデータ(点群データP)に所定の変換処理を施す(ステップS140)。この変換処理は、例えば、一般的な歪み補正や、ワールド座標系への変換処理などである。
【0077】
次に、第1推定部113は、変換処理後の第1センサデータからランドマークM3を抽出する処理を行う(ステップS141)。
【0078】
例えば、既知情報D2には、各ランドマークM3が走行エリアR内のどの位置にどの角度で設置されているかを示す情報や、各ランドマークM3の形状やサイズなどを示す情報が予め記録されている。また、既知情報D2には、各ランドマークM3が含まれる領域(存在領域A)の位置が記録されている。存在領域Aは、例えば
図9に示すように、各ランドマークM3を中心とする矩形の仮想領域であり、ランドマークM3の水平方向サイズよりも所定マージン分大きくなるように設定される。また、複数のランドマークM3が隣接して設けられている場合、存在領域Aはこれら隣接する複数のランドマークM3を含むように設定されてもよい。
【0079】
第1推定部113は、前回の自己位置推定結果と既知情報D2とに基づいて、第1センサデータから、ランドマークM3の存在領域Aに対応する領域を特定し、この存在領域A内に含まれる点群データPを、ランドマークM3の点群データPとして抽出する。
【0080】
また、第1推定部113は、抽出した点群データに基づいて、ランドマークM3の代表点RPを算出する処理を行う(ステップS142)。
【0081】
図12は、第3の実施形態に係る自己位置推定装置の機能を説明する第3の図である。
図12には、ランドマークM3の形状が直方体である例が示されている。この場合、第1推定部113は、点群に対して以下の式(2)および(3)で表される2つの直線をフィッティングさせ、これら直線の交点(角)をランドマークM3の代表点RPとして抽出する。
【0082】
【0083】
【0084】
図13は、第3の実施形態に係る自己位置推定装置の機能を説明する第3の図である。
図13には、ランドマークM3の形状が円柱である例が示されている。この場合、第1推定部113は、以下の式(4)で表される円の方程式と点群とをフィッティングして、誤差が最小となる円の中心(a,b)をランドマークM3の代表点RPとして抽出する。
【0085】
【0086】
次に、第1推定部113は、第1センサデータから抽出した個々のランドマークM3について、ステップS143で算出した車両座標系における代表点RPの位置座標と、既知情報D2に記録されたランドマークM3のワールド座標系における代表点の位置座標とに基づいて、自律移動体1のXw軸方向およびYw軸方向における位置Xw1,Yw1と、Zw軸回りの回転角度θZw1との3自由度のパラメータを推定する(ステップS143)。
【0087】
なお、走行エリアRの走行路や棚B2ごとに異なる形状のランドマークM3や、反射率が異なる材質のランドマークM3を配置してもよい。この場合、第1推定部113は、既知情報D2から、点群データPから検出した形状や反射率と一致するランドマークM3の情報を読み出して、パラメータの推定を行う。これにより、第1推定部113は、自律移動体1の走行路や、どの棚B2の付近を走行しているかを絞り込んだ上で、3自由度のパラメータを精度よく推定することができる。
【0088】
以降の処理(
図3のステップS104~S105)については、第1の実施形態と同じである。
【0089】
(作用、効果)
以上のように、本実施形態に係る自己位置推定装置10において、第1取得部110は、第1センサ20から点群データPである第1センサデータを取得する。また、目印は、固定物(棚B2の下部)に取り付けられたランドマークM3であり、第1推定部113は、第1センサデータから抽出したランドマークM3と既知情報D2とに基づいて、6自由度のパラメータのうち、Xw軸方向およびYw軸方向における位置Xw1,Yw1と、Zw軸回りの回転で表される姿勢θZw1とを部分パラメータとして推定する。
【0090】
このようにすることで、自己位置推定装置10は、第1センサ20としてLiDARが搭載されている自律移動体1についても、点群データPと既知情報D2とから、6自由度のパラメータのうち一部のパラメータを推定することができる。また、第1推定部113は、第1センサデータから検出した複数のランドマークM3との位置関係および角度に基づいて、より正確に3自由度のパラメータを推定することができる。これにより、自己位置推定装置10は、自律移動体1の自己位置をより精度よく推定することができる。
【0091】
<第4の実施形態>
以下、
図14~
図15を参照しながら第4の実施形態について詳しく説明する。なお、第4の実施形態の構成のうち、第1~第3の実施形態と同じ構成であるものについては、第1~第3の実施形態と同じ符号を用いて説明する。
【0092】
図14は、第4の実施形態に係る自己位置推定装置の機能を説明する図である。
第3の実施形態では、自己位置推定装置10の第1推定部113が、個々のランドマークM3の代表点RPに基づいて、自律移動体1の3自由度のパラメータ(Xw1,Yw1,θZw1)を求める例について説明した。これに対し、本実施形態では、第1推定部113は、
図14に示すように、複数のランドマークM3を例えば直線上に一列に配置し、複数のランドマークM3の点群データを仮想線で繋いで得られる形状(直線L)と、実際のランドマークM3の配置から得られる形状とを比較して、自律移動体1の2自由度のパラメータ(Xw1,θZw1)を推定する。
【0093】
(自己位置推定装置の処理フロー)
図15は、第4の実施形態に係る第1推定部の処理の一例を示すフローチャートである。
本実施形態例に係る第1推定部113は、第3の実施形態(
図11)の処理に代えて、
図15の処理を実行する。
【0094】
まず、
図15に示すように、第1推定部113は、第1センサデータ(点群データP)に所定の変換処理を施す(ステップS150)。また、第1推定部113は、変換処理後の第1センサデータからランドマークM3を抽出する処理を行う(ステップS151)。これら処理は、
図11のステップS140~S141と同じである。
【0095】
次に、第1推定部113は、抽出したランドマークM3の点群データPを直線フィッティングして、この直線Lに対する距離および角度と、既知情報D2に記録されたランドマークM3の配置から得られる直線とに基づいて、自律移動体1のXw軸における位置Xw1およびZw軸回りの回転角度θZw1を推定する(ステップS152)。
【0096】
以降の処理(
図3のステップS104~S105)については、第1の実施形態と同じである。
【0097】
なお、
図14には、複数のランドマークM3が直線上に一列に配置される例が示されているが、これに限られることはない。他の実施形態では、ランドマークM3をL字形状など、他の形状となるように配置してもよい。
【0098】
(作用、効果)
以上のように、本実施形態に係る自己位置推定装置10において、第1取得部110は、第1センサデータから抽出した複数のランドマークM3を繋いで得た形状と、既知情報D2に記録されているランドマークM3の配置から得られる形状とに基づいて、Xw軸方向における位置Xw1およびZw軸回りの回転角度θZw1の2自由どのパラメータを推定する。
【0099】
このようにすることで、自己位置推定装置10は、複数のランドマークM3の組み合わせから、よりロバストに自己位置の推定を行うことができる。
【0100】
<第5の実施形態>
以下、
図16を参照しながら第5の実施形態について詳しく説明する。なお、第5の実施形態の構成のうち、第1~第4の実施形態と同じ構成であるものについては、第1~第4の実施形態と同じ符号を用いて説明する。
【0101】
上述の各実施形態において、自己位置推定装置10の第2推定部114は、6自由度のパラメータのうち、第1推定部113が推定した部分パラメータ以外のパラメータのみを推定する例について説明した。これに対し、本実施形態に係る第2推定部114は、第1推定部113が推定した部分パラメータに基づく制約を加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0102】
(自己位置推定装置の処理フロー)
図16は、第5の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
本実施形態例に係る第2推定部114は、第1の実施形態(
図6)の処理に代えて、
図16の処理を実行する。なお、第1推定部113が部分パラメータを推定する方法は、第1~第4の実施形態のうち何れの方法であってもよい。
【0103】
まず、第2推定部114は、第1推定部113が既知情報D2で求めた部分パラメータを制約項にセットする(ステップS160)。ここでは、第1の実施形態と同様に、前回フレームfと今回フレームf+1との相対値がセットされる。
【0104】
次に、第2推定部114は、第1推定部113が推定した部分パラメータの制約項を加えた最適化計算を行って、6自由度のパラメータ全てについて、前回フレームとの相対値を推定する(ステップS161)。具体的には、第2推定部114は、第1の実施形態の式(1)に代えて、以下の式(5)を解くことにより、6自由度のパラメータ全ての相対値を求める。
【0105】
【0106】
式(5)において、波括弧内の第3項は、以下の式(6)のように、最適化計算で求まる自己位置χと、既知情報D2から第1推定部113が推定した自己位置m(部分パラメータ)との差を表す。式(6)において、aは重み係数、pは位置座標(x、y、z)、rは姿勢(θx,θy,θz)を表す。重み係数aは、自律移動体1の運用前に、パラメータチューニングを行い決めた値である。
【0107】
【0108】
式(6)によれば、最適化計算で推定した自己位置χと、第1推定部113が推定した自己位置mとの差が大きいほど式(5)の第3項の値が大きくなる。
【0109】
このように、第1推定部113が推定したパラメータをそのまま採用するのではなく、最適化計算時の制約項として追加することにより、第1センサデータの観測誤差を緩和しつつ全体の累積誤差を抑制することができる。
【0110】
また、例えば、第1の実施形態のように、第1推定部113が白線M1に基づいて自己位置m(部分パラメータ)を推定した場合、この自己位置mには画像から検出した白線M1の誤差が含まれる可能性がある。このため、第2推定部114は、第1推定部113が画像処理により白線M1を検出したときの信頼度を用いて、重み係数αの値を変更してもよい。例えば、白線M1の検出信頼度が高ければ、第1推定部113による自己位置mの推定結果の精度も高くなるはずである。したがって、第2推定部114は、白線M1検出の信頼度が高いほど、重み係数αの値を大きくする。このように重み係数αを変更することで、第1推定部113の自己位置mの推定精度が高いほど自己位置mからの差が少なくなるように、一方で第1推定部113の自己位置mの推定精度が低いほど自己位置mの誤差の影響を受けにくくなるように、最適化計算を行うことができる。
【0111】
次に、第2推定部114は、ステップS161で求めた各パラメータの前回フレームとの相対値と、前回フレームの自己位置推定結果とに基づいて、今回フレームの自律移動体1のワールド座標系における自己位置を算出する(ステップS162)。
【0112】
以降の処理(
図3のステップS105)については、第1の実施形態と同じである。
【0113】
(作用、効果)
以上のように、本実施形態に係る自己位置推定装置10において、第2推定部114は、第1推定部113が推定した部分パラメータに基づく制約を加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0114】
このようにすることで、自己位置推定装置10は、第1推定部113が推定したパラメータをベースにしながらも、最適化計算で他のパラメータとも整合した推定値を求めることで、より高精度な自己位置の推定が可能となる。また、自己位置推定装置10は、一部のパラメータについて制約を加えるため、最適化計算の処理速度を向上することができる。
【0115】
<第6の実施形態>
以下、
図17を参照しながら第6の実施形態について詳しく説明する。なお、第6の実施形態の構成のうち、第1~第5の実施形態と同じ構成であるものについては、第1~第5の実施形態と同じ符号を用いて説明する。
【0116】
本実施形態に係る自己位置推定装置10において、第2推定部114は、自律移動体1の運動制約に基づく制約を加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0117】
(自己位置推定装置の処理フロー)
図17は、第6の実施形態に係る第2推定部の処理の一例を示すフローチャートである。
本実施形態例に係る第2推定部114は、第5の実施形態(
図16)の処理に代えて、
図17の処理を実行する。なお、第1推定部113が部分パラメータを推定する方法は、第1~第4の実施形態のうち何れの方法であってもよい。
【0118】
まず、第2推定部114は、第1推定部113が既知情報D2で求めた部分パラメータを最適化計算の制約項にセットする(ステップS170)。この処理は
図16のステップS160と同じである。
【0119】
また、第2推定部114は、自律移動体1のストレージ13に予め記録された車両運動制約D3を最適化計算の制約項にセットする(ステップS171)。
【0120】
例えば、自律移動体1が物流倉庫で運用する無人フォークリフトである場合、車体が前後方向(Xw軸回りの回転)または左右方向(Yw軸回りの回転)に所定角度以上に回転するような動作(車体の片側が床にめり込む、宙に浮くような動作など)を行うことができない。車両運動制約D3は、このような自律移動体1の機体特性や、自律移動体1の運用条件、自律移動体1が移動不可な位置(例えば棚のある領域)などに基づいて、自律移動体1が取り得る位置および姿勢の範囲を定義したものである。
【0121】
次に、第2推定部114は、第1推定部113が推定した部分パラメータの制約項と、車両運動制約D3の制約項とを加えた最適化計算を行って、6自由度のパラメータ全てについて、前回フレームとの相対値を推定する(ステップS172)。具体的には、第2推定部114は、上式(5)を解くことにより、6自由度のパラメータ全ての相対値を求める。また、本実施形態では、式(5)の第3項は、上式(6)に代えて、以下の式(7)で表される。
【0122】
【0123】
式(7)において、aは重み係数、m1は第1推定部113が推定した自己位置(部分パラメータ)、m2は車両運動制約D3から定める自己位置、pは位置座標(x、y、z)、rは姿勢(θx,θy,θz)を表す。
【0124】
また、第2推定部114は、自律移動体1の車輪回転数を計測するエンコーダ(不図示)の計測データに基づいて、車両進行方向の移動量を推定し、これを制約に加えてもよい。
【0125】
式(7)によれば、最適化計算で推定した自己位置χと、車両運動制約D3から定まる自己位置m2との差が大きいほど式(5)の第3項の値が大きくなる。
【0126】
次に、第2推定部114は、ステップS172で求めた各パラメータの前回フレームとの相対値と、前回フレームの自己位置推定結果とに基づいて、今回フレームの自律移動体1のワールド座標系における自己位置を算出する(ステップS173)。
【0127】
以降の処理(
図3のステップS105)については、第1の実施形態と同じである。
【0128】
(作用、効果)
以上のように、本実施形態に係る自己位置推定装置10において、第2推定部114は、自律移動体1の運動制約をさらに加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0129】
このようにすることで、自己位置推定装置10は、自律移動体1として起こり得ない位置や姿勢を排除することができるので、さらに累積誤差を抑制することができる。
【0130】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0131】
上述した実施形態に係る自己位置推定装置10は、単独のコンピュータによって構成されるものであってもよいし、自己位置推定装置10の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することで自己位置推定装置10として機能するものであってもよい。このとき、自己位置推定装置10を構成する一部のコンピュータが自律移動体1の内部に搭載され、他のコンピュータが自律移動体1の外部に設けられてもよい。
【0132】
また、第1~第2の実施形態では、第1センサ20がカメラである例について説明したが、これに限られることはない。第1~第2の実施形態の構成において、第1センサ20としてLiDARを用いてもよい。同様に、第3~第4の実施形態では、第1センサ20がLiDARである例について説明したが、これに限られることはない。第3~第4の実施形態の構成において、第1センサ20としてカメラを用いてもよい。
【0133】
<付記>
上述の実施形態は、例えば以下のように把握される。
【0134】
(1)第1の態様によれば、自律移動体1の走行エリアRにおける自己位置を推定する自己位置推定装置10は、自律移動体1の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得する第1取得部110と、自律移動体1の加速度および角速度を含む第2センサデータを取得する第2取得部111と、複数の固定物から予め選択した一の固定物である目印M1,M2,M3の走行エリアRにおける位置を含む情報を記録した既知情報D2と、第1センサデータとに基づいて、3次元座標系における自律移動体1の位置および姿勢を表す6自由度のパラメータの一部である部分パラメータを推定する第1推定部113と、第1センサデータと、第2センサデータと、部分パラメータとに基づいて、6自由度のパラメータで表される自律移動体1の自己位置を推定する第2推定部114と、を備える。
【0135】
このように、自己位置推定装置10は、第1センサデータから間接的に観測できる既知情報D2を活用して一部のパラメータを推定することにより、最適化計算における累積誤差を抑制して、自律移動体1の自己位置を精度よく推定することができる。
【0136】
(2)第2の態様によれば、第1の態様に係る自己位置推定装置10において、第2推定部114は、6自由度のパラメータのうち、部分パラメータ以外のパラメータを推定する。
【0137】
このようにすることで、自己位置推定装置10は、一部パラメータが既知となり、他のパラメータのみを求めればよいので、累積誤差の影響をより効果的に抑制することができる。また、自己位置推定装置10は、最適化計算を高速かつ低負荷で行うことが可能となる。
【0138】
(3)第3の態様によれば、第1の態様に係る自己位置推定装置10において、第2推定部114は、部分パラメータに基づく制約を加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0139】
このようにすることで、自己位置推定装置10は、第1推定部113が推定したパラメータをベースにしながらも、最適化計算で他のパラメータとも整合した推定値を求めることで、より高精度な自己位置の推定が可能となる。また、自己位置推定装置10は、一部のパラメータについて制約を加えるため、最適化計算の処理速度を向上することができる。
【0140】
(4)第4の態様によれば、第3の態様に係る自己位置推定装置10において、第2推定部114は、自律移動体1の運動制約をさらに加えた最適化計算を行って、6自由度のパラメータ全てを推定する。
【0141】
このようにすることで、自己位置推定装置10は、自律移動体1として起こり得ない位置や姿勢を排除することができるので、さらに累積誤差を抑制することができる。
【0142】
(5)第5の態様によれば、第1から第4のいずれか一の態様に係る自己位置推定装置10において、目印は、走行エリアRに施されたペイントM1および走行エリアRに設置された標識M2の少なくとも一方であり、第1推定部113は、第1センサデータから抽出したペイントM1および標識M2の少なくとも一方と、既知情報D2とに基づいて、6自由度のパラメータのうち、水平方向に延びる第1軸方向および第2軸方向の少なくとも一方における位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを部分パラメータとして推定する。
【0143】
このようにすることで、自己位置推定装置10は、走行エリアRのペイントM1または標識M2から、6自由度のうち2自由度のパラメータを精度よく推定することができる。
また、自己位置推定装置10は、ペイントM1および標識M2の組み合わせから、6自由度のうち3自由度のパラメータを精度よく推定することができる。これにより、自己位置推定装置10は、残りの4自由度または3自由度のパラメータの推定において、累積誤差の影響をより効果的に抑制することができる。
【0144】
(6)第6の態様によれば、第1から第4の何れか一の態様に係る自己位置推定装置10において、目印は固定物の一部に取り付けられたランドマークM3であり、第1推定部113は、第1センサデータから抽出したランドマークM3と、既知情報D2とに基づいて、6自由度のパラメータのうち、水平方向に延びる第1軸方向および第2軸方向それぞれにおける位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを部分パラメータとして推定する。
【0145】
このようにすることで、自己位置推定装置10の第1推定部113は、第1センサデータから検出した複数のランドマークM3との位置関係および角度に基づいて、より正確に3自由度のパラメータを推定することができる。これにより、自己位置推定装置10は、自律移動体1の自己位置をより精度よく推定することができる。
【0146】
(7)第7の態様によれば、第6の態様に係る自己位置推定装置10において、第1推定部113は、第1センサデータから抽出した複数のランドマークM3を繋いで得た形状と、既知情報D2に記録されているランドマークM3の配置から得られる形状とに基づいて、6自由度のパラメータのうち、水平方向に延びる第1軸方向における位置と、鉛直方向に延びる第3軸回りの回転で表される姿勢とを部分パラメータとして推定する。
【0147】
このようにすることで、自己位置推定装置10は、複数のランドマークM3の組み合わせから、よりロバストに自己位置の推定を行うことができる。
【0148】
(8)第8の態様によれば、自律移動体1の走行エリアRにおける自己位置を推定する自己位置推定方法は、自律移動体1の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、自律移動体1の加速度および角速度を含む第2センサデータを取得するステップと、複数の固定物から予め選択した一の固定物である目印M1,M2,M3の走行エリアRにおける位置を含む情報を記録した既知情報と、第1センサデータとに基づいて、3次元座標系における自律移動体1の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、第1センサデータと、第2センサデータと、部分パラメータとに基づいて、6自由度のパラメータで表される自律移動体1の自己位置を推定するステップと、を有する。
【0149】
(9)第9の態様によれば、プログラムは、自律移動体1の走行エリアにおける自己位置を推定する自己位置推定装置10に、自律移動体1の周囲に常に存在する固定物および一時的に存在する非固定物を検出可能な第1センサデータを取得するステップと、自律移動体1の加速度および角速度を含む第2センサデータを取得するステップと、複数の固定物から予め選択した一の固定物である目印M1,M2,M3の走行エリアRにおける位置を含む情報を記録した既知情報D2と、第1センサデータとに基づいて、3次元座標系における自律移動体1の位置および姿勢を表す6自由度のパラメータのうち一部である部分パラメータを推定するステップと、第1センサデータと、第2センサデータと、部分パラメータとに基づいて、6自由度のパラメータで表される自律移動体1の自己位置を推定するステップと、を実行させる。
【符号の説明】
【0150】
1 自律移動体
10 自己位置推定装置
11 プロセッサ
110 第1取得部
111 第2取得部
112 地図照合部
113 第1推定部
114 第2推定部
115 出力処理部
12 メモリ
13 ストレージ
14 インタフェース
20 第1センサ
21 第2センサ