(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】位置推定装置、移動体制御システム、位置推定方法およびプログラム
(51)【国際特許分類】
G01C 21/28 20060101AFI20230816BHJP
G05D 1/02 20200101ALI20230816BHJP
G08G 1/00 20060101ALI20230816BHJP
【FI】
G01C21/28
G05D1/02 J
G08G1/00 X
(21)【出願番号】P 2019165633
(22)【出願日】2019-09-11
【審査請求日】2022-03-14
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中島 諒
(72)【発明者】
【氏名】関 晃仁
【審査官】白石 剛史
(56)【参考文献】
【文献】特開2017-215193(JP,A)
【文献】特開2011-008385(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/28
G05D 1/02
G08G 1/00
(57)【特許請求の範囲】
【請求項1】
移動に関する情報を観測する1または複数のセンサ
および周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定装置であって、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定する状態量推定部と、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出する信頼度算出部と、
前記1または複数のセンサの
うち前記信頼度
が予め定められた閾値以上の前記1または複数のセンサ
を、1または複数の対象センサ
として選択し、
対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量
とに基づき、前記対象時刻における前記自己位置を推定する自己位置推定部と、
を備え
、
前記1または複数のセンサのそれぞれについて、前記状態量推定部は、所定の関係式に対して、1または複数の前記過去時刻のそれぞれにおける前記自己位置を代入した場合における残差を最小とするような、前記状態量を推定し、
前記所定の関係式は、前記過去時刻における前記自己位置、対応するセンサの前記観測値および前記対応するセンサの前記状態量、および、前記過去時刻と前記対象時刻との時間差に基づき、前記対象時刻における前記自己位置を算出する運動方程式である
位置推定装置。
【請求項2】
前記自己位置は、回転成分を含み、
前記1または複数のセンサは、角速度センサを含み、
前記角速度センサは、前記対象時刻における前記移動体装置の角速度を測定し、
前記状態量推定部は、前記角速度センサの前記状態量として、前記運動方程式における回転成分を表す回転成分運動方程式に対して、前記過去時刻における前記自己位置の回転成分を代入した場合における第1残差を最小とするような、角速度バイアスを推定し、
前記回転成分運動方程式は、下記の式(1)により表され、
R(t+Δt)=R(t)×Exp((ω(t)-b
g
)×Δt)…(1)
R(t+Δt)は、前記対象時刻における前記自己位置の回転成分を表し、
R(t)は、前記過去時刻における前記自己位置の回転成分を表し、
ω(t)は、測定された前記角速度を表し、
b
g
は、前記角速度バイアスを表し、
Δtは、前記過去時刻と前記対象時刻との時間差を表す
請求項1に記載の位置推定装置。
【請求項3】
前記自己位置は、並進成分を含み、
前記1または複数のセンサは、加速度センサを含み、
前記加速度センサは、前記対象時刻における前記移動体装置の加速度を測定し、
前記状態量推定部は、前記加速度センサの前記状態量として、前記運動方程式における並進成分を表す並進成分運動方程式に対して、前記過去時刻における前記自己位置の並進成分を代入した場合における第2残差を最小とするような、前記移動体装置の速度、重力加速度、および、前記移動体装置の加速度バイアスを推定し、
前記並進成分運動方程式は、下記の式(2)および式(3)により表され、
p(t+Δt)=p(t)+v(t)×Δt+(1/2)×g×Δt
2
+(1/2)×R(t)×(a(t)-b
a
)×Δt
2
…(2)
v(t+Δt)=v(t)+g×Δt+R(t)×(a(t)-b
a
)×Δt…(3)
p(t+Δt)は、前記対象時刻における前記自己位置の並進成分を表し、
p(t)は、前記過去時刻における前記自己位置の並進成分を表し、
v(t)は、前記速度を表し、
Δtは、前記過去時刻と前記対象時刻との時間差を表し、
gは、前記重力加速度を表し、
a(t)は、測定された前記加速度を表し、
b
a
は、前記加速度バイアスを表し、
v(t+Δt)は、前記対象時刻における前記速度を表す
請求項1または2に記載の位置推定装置。
【請求項4】
前記自己位置推定部は、
前記1または複数のセンサの中に、前記信頼度が前記閾値以上の前記1または複数の対象センサが存在しない場合、前記対象時刻における前記撮像画像と、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する
請求項
1に記載の位置推定装置。
【請求項5】
前記状態量推定部は、非線形最小二乗法により前記状態量を推定し、
前記信頼度算出部は、
推定された前記状態量における異なる複数の成分
のうちの2つの成分の組毎の共分散を含む共分散行列を取得し、
取得した前記共分散行列の対角成分の和の逆数を前記信頼度として算出する
請求項
1から4の何れか1項に記載の位置推定装置。
【請求項6】
前記移動体装置は、前記状態量に相当する観測値を観測する第2センサをさらに備え、
前記信頼度算出部は、前記第2センサの観測値と、推定した前記状態量とを比較して、前記信頼度を算出する
請求項
1から4の何れか1項に記載の位置推定装置。
【請求項7】
移動に関する情報を観測する1または複数のセンサおよび周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定装置であって、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定する状態量推定部と、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出する信頼度算出部と、
前記1または複数のセンサのうち前記信頼度が予め定められた閾値以上の前記1または複数のセンサを、1または複数の対象センサとして選択し、対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量に基づき、前記対象時刻における前記自己位置を推定する自己位置推定部と、
を備え、
前記自己位置は、並進成分および回転成分を含み、
前記1または複数のセンサは、角速度センサと、加速度センサとを含み、
前記角速度センサは、前記対象時刻における前記移動体装置の角速度を測定し、
前記加速度センサは、前記対象時刻における前記移動体装置の加速度を測定し、
前記状態量推定部は、
前記角速度センサの前記状態量として、前記移動体装置の角速度バイアスを推定し、
前記加速度センサの前記状態量として、前記移動体装置の速度、重力加速度、および、前記移動体装置の加速度バイアスを推定し、
前記自己位置推定部は、
前記対象時刻における前記撮像画像と、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第1方式、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第2方式、または、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、測定した前記加速度と、推定した前記速度と、推定した前記重力加速度と、推定した前記加速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第3方式
に基づき前記対象時刻における前記自己位置を推定し、
前記自己位置推定部は、
前記角速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第1方式を選択し、
前記角速度バイアスの前記信頼度が前記閾値以上であり、前記加速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第2方式を選択し、
前記角速度バイアスの前記信頼度および前記加速度バイアスの前記信頼度の何れも前記閾値以上の場合、前記第3方式を選択する
位置推定装置。
【請求項8】
前記第1方式において、前記自己位置推定部は、
前記過去時刻における前記自己位置に基づき、前記対象時刻における前記自己位置を推定し、
推定した前記対象時刻における前記自己位置に基づき、前記対象時刻における前記撮像画像に含まれる1または複数の特徴点のそれぞれと、前記過去時刻における前記撮像画像に含まれる対応する特徴点とを対応付け、
再投影誤差を最小化するように、推定した前記対象時刻における前記自己位置を調整し、
前記再投影誤差は、前記対象時刻における前記撮像画像に含まれる前記1または複数の特徴点のそれぞれの画素位置と、前記過去時刻における前記撮像画像に含まれる前記対応する特徴点を、推定した前記対象時刻における前記自己位置に基づき前記対象時刻における前記撮像画像に再投影した画素位置との誤差の評価値である
請求項
7に記載の位置推定装置。
【請求項9】
前記第2方式において、前記自己位置推定部は、
前記過去時刻における前記自己位置の並進成分に基づき、前記対象時刻における前記自己位置の並進成分を推定し、
前記過去時刻における前記自己位置の回転成分、測定した前記角速度、および、推定した前記角速度バイアスに基づき、前記対象時刻における前記自己位置の回転成分を推定し、
推定した前記対象時刻における前記自己位置に基づき、前記対象時刻における前記撮像画像に含まれる1または複数の特徴点のそれぞれと、前記過去時刻における前記撮像画像に含まれる対応する特徴点とを対応付け、
前記再投影誤差と、回転成分運動方程式における第1残差との合計を最小化するように、推定した前記対象時刻における前記自己位置を調整し、
前記回転成分運動方程式における前記第1残差は、前記回転成分運動方程式に対して、前記過去時刻における前記自己位置の回転成分、測定された前記角速度、および、推定した前記角速度バイアスを代入した場合における残差の評価値である
請求項
8に記載の位置推定装置。
【請求項10】
前記第3方式において、前記自己位置推定部は、
前記過去時刻における前記自己位置の並進成分、測定した前記加速度、推定した前記速度、推定した前記重力加速度、および、推定した前記加速度バイアスに基づき、前記対象時刻における前記自己位置の並進成分を推定し、
前記過去時刻における前記自己位置の回転成分、測定した前記角速度、および、推定した前記角速度バイアスに基づき、前記対象時刻における前記自己位置の回転成分を推定し、
推定した前記対象時刻における前記自己位置に基づき、前記対象時刻における前記撮像画像に含まれる1または複数の特徴点のそれぞれと、前記過去時刻における前記撮像画像に含まれる対応する特徴点とを対応付け、
前記再投影誤差と、前記回転成分運動方程式における前記第1残差と、並進成分運動方程式における第2残差と、の合計を最小化するように、推定した前記対象時刻における前記自己位置を調整し、
前記並進成分運動方程式における前記第2残差は、前記並進成分運動方程式に対して、前記過去時刻における前記自己位置の並進成分、測定された前記加速度、推定した前記速度、推定した前記重力加速度、および、推定した前記加速度バイアスを代入した場合における残差の評価値である
請求項
9に記載の位置推定装置。
【請求項11】
前記状態量推定部は、前記回転成分運動方程式に対して、前記過去時刻における前記自己位置の回転成分を代入した場合における前記第1残差を最小とするような、前記角速度バイアスを推定し、
前記回転成分運動方程式は、下記の式(1)により表され、
R(t+Δt)=R(t)×Exp((ω(t)-b
g)×Δt)…(1)
R(t+Δt)は、前記対象時刻における前記自己位置の回転成分を表し、
R(t)は、前記過去時刻における前記自己位置の回転成分を表し、
ω(t)は、測定された前記角速度を表し、
b
gは、前記角速度バイアスを表し、
Δtは、前記過去時刻と前記対象時刻との時間差を表す
請求項
10に記載の位置推定装置。
【請求項12】
前記状態量推定部は、複数の前記過去時刻における前記自己位置の回転成分を前記回転成分運動方程式に代入して、非線形最小二乗法により前記角速度バイアスを推定し、
前記信頼度算出部は、
前記角速度バイアスにおける、互いに直交するX方向成分、Y方向成分およびZ方向成分の
うちの2つ成分の組毎の共分散を含む共分散行列を取得し、
取得した前記共分散行列の対角成分の和の逆数を前記角速度バイアスの前記信頼度として算出する
請求項
11に記載の位置推定装置。
【請求項13】
前記状態量推定部は、前記並進成分運動方程式に対して、前記過去時刻における前記自己位置の並進成分を代入した場合における前記第2残差を最小とするような、前記速度、前記重力加速度および前記加速度バイアスを推定し、
前記並進成分運動方程式は、下記の式(2)および式(3)により表され、
p(t+Δt)=p(t)+v(t)×Δt+(1/2)×g×Δt
2+(1/2)×R(t)×(a(t)-b
a)×Δt
2…(2)
v(t+Δt)=v(t)+g×Δt+R(t)×(a(t)-b
a)×Δt…(3)
p(t+Δt)は、前記対象時刻における前記自己位置の並進成分を表し、
p(t)は、前記過去時刻における前記自己位置の並進成分を表し、
v(t)は、前記速度を表し、
Δtは、前記過去時刻と前記対象時刻との時間差を表し、
gは、前記重力加速度を表し、
a(t)は、測定された前記加速度を表し、
b
aは、前記加速度バイアスを表し、
v(t+Δt)は、前記対象時刻における前記速度を表す
請求項
11または
12に記載の位置推定装置。
【請求項14】
前記状態量推定部は、複数の前記過去時刻における前記自己位置の並進成分を前記並進成分運動方程式に代入して、非線形最小二乗法により前記加速度バイアスを推定し、
前記信頼度算出部は、
前記加速度バイアスにおける、互いに直交するX方向成分、Y方向成分およびZ方向成分の
うちの2つ成分の組毎の共分散を含む共分散行列を取得し、
取得した前記共分散行列の対角成分の和の逆数を前記加速度バイアスの前記信頼度として算出する
請求項
13に記載の位置推定装置。
【請求項15】
推定された前記自己位置の軌跡に基づき前記移動体装置の運動種別を特定する運動種別特定部と、
運動種別毎に期待される前記1または複数の対象センサの組み合わせのパターンを予め記憶し、選択した前記1または複数の対象センサの組み合わせが、特定した前記運動種別に対応
して記憶しているパターンに一致するか否かを判断し、対応しない場合に、異常が発生したと判定する異常判定部と、
をさらに備える請求項
1から
14の何れか1項に記載の位置推定装置。
【請求項16】
前記移動体装置の自己位置を推定する
、請求項1から15の何れか1項に記載の位置推定装置と、
推定された前記自己位置に基づき、前記移動体装置の移動を制御する移動体制御装置と、
を備える移動体制御システ
ム。
【請求項17】
情報処理装置により、移動に関する情報を観測する1または複数のセンサ
および周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定方法であって、
前記情報処理装置が、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定し、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出し、
前記1または複数のセンサの
うち前記信頼度
が予め定められた閾値以上の前記1または複数のセンサ
を、1または複数の対象センサ
として選択し、
対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量
とに基づき、前記自己位置を推定
し、
前記情報処理装置が、前記1または複数のセンサのそれぞれについて、所定の関係式に対して、1または複数の前記過去時刻のそれぞれにおける前記自己位置を代入した場合における残差を最小とするような、前記状態量を推定し、
前記所定の関係式は、前記過去時刻における前記自己位置、対応するセンサの前記観測値および前記対応するセンサの前記状態量、および、前記過去時刻と前記対象時刻との時間差に基づき、前記対象時刻における前記自己位置を算出する運動方程式である
位置推定方法。
【請求項18】
情報処理装置により、移動に関する情報を観測する1または複数のセンサおよび周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定装置であって、
前記情報処理装置が、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定し、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出し、
前記1または複数のセンサのうち前記信頼度が予め定められた閾値以上の前記1または複数のセンサを、1または複数の対象センサとして選択し、対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量に基づき、前記対象時刻における前記自己位置を推定し、
前記自己位置は、並進成分および回転成分を含み、
前記1または複数のセンサは、角速度センサと、加速度センサとを含み、
前記角速度センサは、前記対象時刻における前記移動体装置の角速度を測定し、
前記加速度センサは、前記対象時刻における前記移動体装置の加速度を測定し、
前記情報処理装置は、
前記角速度センサの前記状態量として、前記移動体装置の角速度バイアスを推定し、
前記加速度センサの前記状態量として、前記移動体装置の速度、重力加速度、および、前記移動体装置の加速度バイアスを推定し、
前記情報処理装置は、
前記対象時刻における前記撮像画像と、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第1方式、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第2方式、または、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、測定した前記加速度と、推定した前記速度と、推定した前記重力加速度と、推定した前記加速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第3方式
に基づき前記対象時刻における前記自己位置を推定し、
前記情報処理装置は、
前記角速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第1方式を選択し、
前記角速度バイアスの前記信頼度が前記閾値以上であり、前記加速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第2方式を選択し、
前記角速度バイアスの前記信頼度および前記加速度バイアスの前記信頼度の何れも前記閾値以上の場合、前記第3方式を選択する
位置推定方法。
【請求項19】
情報処理装置を、移動に関する情報を観測する1または複数のセンサ
および周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定装置として機能させるためのプログラムであって、
前記情報処理装置を、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定する状態量推定部と、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出する信頼度算出部と、
前記1または複数のセンサの
うち前記信頼度
が予め定められた閾値以上の前記1または複数のセンサ
を、1または複数の対象センサ
として選択し、
対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量
とに基づき、前記自己位置を推定する自己位置推定部と、
して機能させ
、
前記1または複数のセンサのそれぞれについて、前記状態量推定部は、所定の関係式に対して、1または複数の前記過去時刻のそれぞれにおける前記自己位置を代入した場合における残差を最小とするような、前記状態量を推定し、
前記所定の関係式は、前記過去時刻における前記自己位置、対応するセンサの前記観測値および前記対応するセンサの前記状態量、および、前記過去時刻と前記対象時刻との時間差に基づき、前記対象時刻における前記自己位置を算出する運動方程式である
プログラム。
【請求項20】
情報処理装置を、移動に関する情報を観測する1または複数のセンサおよび周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する位置推定装置として機能させるためのプログラムであって、
前記情報処理装置を、
前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定する状態量推定部と、
前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出する信頼度算出部と、
前記1または複数のセンサのうち前記信頼度が予め定められた閾値以上の前記1または複数のセンサを、1または複数の対象センサとして選択し、対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量に基づき、前記対象時刻における前記自己位置を推定する自己位置推定部と、
して機能させ、
前記自己位置は、並進成分および回転成分を含み、
前記1または複数のセンサは、角速度センサと、加速度センサとを含み、
前記角速度センサは、前記対象時刻における前記移動体装置の角速度を測定し、
前記加速度センサは、前記対象時刻における前記移動体装置の加速度を測定し、
前記状態量推定部は、
前記角速度センサの前記状態量として、前記移動体装置の角速度バイアスを推定し、
前記加速度センサの前記状態量として、前記移動体装置の速度、重力加速度、および、前記移動体装置の加速度バイアスを推定し、
前記自己位置推定部は、
前記対象時刻における前記撮像画像と、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第1方式、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第2方式、または、
前記対象時刻における前記撮像画像と、測定した前記角速度と、推定した前記角速度バイアスと、測定した前記加速度と、推定した前記速度と、推定した前記重力加速度と、推定した前記加速度バイアスと、前記過去時刻における前記撮像画像と、前記過去時刻における前記自己位置とに基づき、前記対象時刻における前記自己位置を推定する第3方式
に基づき前記対象時刻における前記自己位置を推定し、
前記自己位置推定部は、
前記角速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第1方式を選択し、
前記角速度バイアスの前記信頼度が前記閾値以上であり、前記加速度バイアスの前記信頼度が前記閾値以上ではない場合、前記第2方式を選択し、
前記角速度バイアスの前記信頼度および前記加速度バイアスの前記信頼度の何れも前記閾値以上の場合、前記第3方式を選択する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、位置推定装置、移動体制御システム、位置推定方法およびプログラムに関する。
【背景技術】
【0002】
撮像装置の自己位置を推定する位置推定装置が知られている。位置推定装置は、撮像装置により撮像された画像、および、撮像装置に取り付けられたセンサにより観測された観測値を用いて自己位置を推定する。さらに、位置推定装置は、センサにより観測された観測値に加えて、センサの状態を表す状態量を用いて、自己位置を推定する場合もある。例えば、角速度センサの状態量は、角速度に含まれるバイアスである。加速度センサの状態量は、加速度に含まれるバイアス、重力加速度、および、速度である。
【0003】
位置推定装置は、センサの状態量を、センサにより観測された観測値に基づき推定する。しかし、推定された状態量の精度は、センサの移動軌跡等によって変化する。例えば、等速直線運動をしている場合、加速度センサの観測値は、ほぼ一定となる。従って、このような場合、加速度バイアス、重力加速度、および速度の精度は、低くなる。位置推定装置は、このような精度の低い状態量を用いた場合、自己位置の推定精度が悪くなってしまう。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、移動体装置の自己位置を精度良く推定することにある。
【課題を解決するための手段】
【0006】
実施形態に係る位置推定装置は、移動に関する情報を観測する1または複数のセンサおよび周囲を撮像する撮像装置が設けられた移動体装置の自己位置を推定する。前記位置推定装置は、状態量推定部と、信頼度算出部と、自己位置推定部とを備える。前記状態量推定部は、前記1または複数のセンサのそれぞれの観測値に基づき、前記1または複数のセンサのそれぞれの状態を表す状態量を推定する。前記信頼度算出部は、前記1または複数のセンサのそれぞれの前記状態量の信頼の度合いを表す信頼度を算出する。前記自己位置推定部は、前記1または複数のセンサのうち前記信頼度が予め定められた閾値以上の前記1または複数のセンサを、1または複数の対象センサとして選択し、対象時刻において前記撮像装置により撮像された撮像画像と、前記対象時刻より前の過去時刻における前記撮像画像と、前記過去時刻における前記自己位置と、選択した前記1または複数の対象センサのそれぞれの前記観測値および前記状態量とに基づき、前記自己位置を推定する。前記1または複数のセンサのそれぞれについて、前記状態量推定部は、所定の関係式に対して、1または複数の前記過去時刻のそれぞれにおける前記自己位置を代入した場合における残差を最小とするような、前記状態量を推定する。前記所定の関係式は、前記過去時刻における前記自己位置、対応するセンサの前記観測値および前記対応するセンサの前記状態量、および、前記過去時刻と前記対象時刻との時間差に基づき、前記対象時刻における前記自己位置を算出する運動方程式である。
【図面の簡単な説明】
【0007】
【
図4】位置推定装置の処理の流れを示すフローチャート。
【
図5】自己位置推定部の流れを示すフローチャート。
【
図6】第1方式による推定処理の流れを示すフローチャート。
【
図7】第2方式による推定処理の流れを示すフローチャート。
【
図8】第3方式による推定処理の流れを示すフローチャート。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、本発明の実施形態を説明する。
【0009】
図1は、実施形態に係る移動体装置10を示す図である。本実施形態において、移動体装置10は、自動車またはモータバイク等の車両である。しかし、移動体装置10は、車両に限られず、自身が移動したり、人またはロボット等により持ち運びされたりすることが可能であれば、どのような装置であってもよい。例えば、移動体装置10は、ロボットであってもよいし、船舶であってもよいし、ドローン等の飛行物体であってもよい。
【0010】
移動体装置10は、移動体制御システム12を搭載する。移動体制御システム12は、例えば専用または汎用コンピュータを含む装置である。移動体制御システム12は、情報処理機能が移動体装置10に搭載されず、移動体装置10とネットワークを介して接続されるクラウド等の装置に搭載されてもよい。
【0011】
図2は、実施形態に係る移動体制御システム12の構成の一例を示す図である。移動体制御システム12は、撮像装置21と、1または複数のセンサ22と、記憶装置23と、入力装置24と、表示装置25と、通信装置26と、移動体制御装置27と、情報処理装置40とを備える。
【0012】
撮像装置21は、移動体装置10に設けられる。撮像装置21は、移動体装置10における固定された位置から、固定された姿勢で、移動体装置10の周囲を撮像する。撮像装置21は、移動体装置10との相対的な姿勢が測定できれば、固定された姿勢でなくてもよい。本実施形態において、撮像装置21は、単眼カメラである。撮像装置21は、ステレオカメラであってもよいし、デプスカメラであってもよい。また、撮像装置21は、所定の画角のカメラであってもよいし、全方位カメラであってもよい。撮像装置21は、所定の時間間隔毎に、移動体装置10の周囲を撮像して撮像画像を生成する。
【0013】
1または複数のセンサ22は、移動体装置10に設けられる。1または複数のセンサ22のそれぞれは、例えば、移動体装置10における固定された位置に、固定された姿勢で取り付けられる。1または複数のセンサ22のそれぞれは、移動体装置10の移動に関する情報を観測する。
【0014】
本実施形態において、1または複数のセンサ22は、角速度センサ31および加速度センサ32を含む。
【0015】
角速度センサ31は、移動体装置10の角速度を観測値として検出する。角速度センサ31は、角速度のX方向成分、角速度のY方向成分およびZ方向成分を検出する。X方向成分、Y方向成分およびZ方向成分は、互いに直交する。
【0016】
加速度センサ32は、移動体装置10の並進方向の加速度を観測値として検出する。加速度センサ32は、加速度のX方向成分、加速度のY方向成分および加速度のZ方向成分を検出する。
【0017】
1または複数のセンサ22は、角速度センサ31および加速度センサ32以外のものを含んでもよい。例えば、1または複数のセンサ22は、移動体装置10の速度を検出する速度センサ、衛星からの信号等に基づき移動体装置10の位置を検出する位置センサを含んでもよい。また、1または複数のセンサ22は、例えばLiDAR等の移動体装置10の周囲の物体との距離を測定する距離センサ、移動体装置10の周囲の物体を音波によって探知するソナー、および、地磁気センサ等を含んでもよい。
【0018】
記憶装置23は、ハードディスクドライブ、光ディスクドライブまたはフラッシュメモリ等の半導体メモリ素子等である。記憶装置23は、移動体制御システム12により実行されるプログラムおよび移動体制御システム12が用いるデータを記憶する。
【0019】
入力装置24は、ユーザからの指示および情報入力を受け付ける。入力装置24は、例えば、操作パネル、マウスまたはトラックボール等のポインティングデバイス、または、キーボード等の入力デバイスである。
【0020】
表示装置25は、ユーザに対して各種の情報を表示する。表示装置25は、例えば、液晶表示装置等の表示デバイスである。通信装置26は、無線通信により外部装置と情報を送受信する。
【0021】
移動体制御装置27は、移動体装置10を移動させるための駆動機構を制御する。例えば、移動体装置10が自動運転車両である場合には、情報処理装置40から得られる情報およびその他の情報に基づいて周辺の状況を判断して、アクセル量、ブレーキ量および操舵角等を制御する。
【0022】
情報処理装置40は、例えば、専用または汎用の1または複数のコンピュータである。情報処理装置40は、撮像装置21と、1または複数のセンサ22と、記憶装置23と、入力装置24と、表示装置25と、通信装置26と、移動体制御装置27とを管理および制御する。情報処理装置40は、メモリ41と、1または複数のハードウェアプロセッサ42とを有する。
【0023】
メモリ41は、例えば、ROM43(Read Only Memory)と、RAM44(Random Access Memory)とを含む。ROM43は、情報処理装置40の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。RAM44は、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性の記憶媒体である。RAM44は、1または複数のハードウェアプロセッサ42の作業領域として機能する。
【0024】
1または複数のハードウェアプロセッサ42は、メモリ41(ROM43およびRAM44)にバスを介して接続される。1または複数のハードウェアプロセッサ42は、例えば、1または複数のCPU(Central Processing Unit)を含んでもよいし、1または複数のGPU(Graphics Processing Unit)を含んでもよい。また、1または複数のハードウェアプロセッサ42は、ニューラルネットワークを実現するための専用の処理回路を含む半導体装置等を含んでもよい。
【0025】
1または複数のハードウェアプロセッサ42は、RAM44を作業領域としてROM43または記憶装置23に予め記憶された各種プログラムとの協働により各種処理を実行することにより、位置推定装置50として機能する。位置推定装置50については、以下詳細に説明する。
【0026】
図3は、位置推定装置50の構成を示す図である。位置推定装置50は、移動体装置10の自己位置を推定する。より具体的には、移動体装置10は、自己位置の並進成分および自己位置の回転成分を推定する。
【0027】
自己位置の並進成分は、移動体装置10の三次元空間内での座標(X方向の位置、Y方向の位置およびZ方向の位置)を表す。例えば、自己位置の並進成分は、任意の基準点からの距離(X方向の距離、Y方向の距離およびZ方向の距離)を表す。任意の基準点は、例えば、開始時刻等の所定時刻における移動体装置10の自己位置の並進成分であってよい。
【0028】
自己位置の回転成分は、移動体装置10の姿勢(X軸周りの回転角度、Y軸周りの回転角度およびZ軸周りの回転角度)を表す。なお、回転成分は、任意の基準回転角からの角度差であってよい。任意の基準回転角は、例えば、開始時刻等の所定時刻における移動体装置10の自己位置の回転成分であってよい。また、例えば、回転成分は、回転行列、回転軸と回転方向を表すベクトル、または、四元数等によって表現されていてもよい。
【0029】
位置推定装置50は、所定の時間間隔毎に、自己位置を推定する。自己位置を推定する対象となる時刻を、対象時刻という。また、対象時刻より前であり、既に自己位置を推定済みの時刻を過去時刻という。
【0030】
位置推定装置50は、自己位置記憶部52と、画像取得部54と、画像記憶部56と、観測値取得部58と、状態量推定部60と、信頼度算出部62と、自己位置推定部64とを備える。
【0031】
自己位置記憶部52は、1または複数の過去時刻のそれぞれにおける自己位置を記憶する。画像取得部54は、対象時刻において撮像装置21により撮像された撮像画像を取得する。画像記憶部56は、1または複数の過去時刻において撮像装置21により撮像された撮像画像を記憶する。
【0032】
観測値取得部58は、1または複数のセンサ22のそれぞれにより観測された観測値を取得する。観測値取得部58は、例えば、時系列で観測値を取得する。本実施形態においては、観測値取得部58は、角速度センサ31により観測された角速度、および、加速度センサ32により観測された加速度を観測値として取得する。
【0033】
状態量推定部60は、1または複数のセンサ22のそれぞれの状態を表す状態量を推定する。本実施形態において、状態量推定部60は、角速度センサ31の状態を表す状態量として、角速度センサ31のバイアスを表す角速度バイアスを推定する。より具体的には、状態量推定部60は、角速度バイアスのX方向成分、Y方向成分およびZ方向成分を推定する。
【0034】
さらに、本実施形態において、状態量推定部60は、加速度センサ32の状態を表す状態量として、移動体装置10の並進方向の速度、重力加速度、および、加速度センサ32のバイアスを表す加速度バイアスを推定する。より具体的には、状態量推定部60は、速度、重力加速度および加速度バイアスのそれぞれの、X方向成分、Y方向成分およびZ方向成分を推定する。
【0035】
さらに、状態量推定部60は、角速度センサ31の状態量として、例えば、撮像装置21と角速度センサ31と間の位置ずれ量、および、撮像装置21と角速度センサ31と間のタイムスタンプの差を推定してもよい。また、状態量推定部60は、加速度センサ32の状態量として、例えば、撮像装置21と加速度センサ32と間の位置ズレ量、および、撮像装置21と加速度センサ32と間のタイムスタンプの差を推定してもよい。また、状態量推定部60は、1または複数のセンサ22のそれぞれの状態量として、撮像装置21との間の位置ズレ量、特定のセンサ22との位置ずれ量、撮像装置21とのタイムスタンプの差、特定のセンサ22とのタイムスタンプの差を推定してもよい。
【0036】
位置推定装置50は、センサ22の状態量として、撮像装置21との間の位置ズレ量または特定のセンサ22との位置ずれ量を推定することにより、センサ22の位置の変化により生じる自己位置の推定精度の悪化を抑制することができる。また、位置推定装置50は、センサ22の状態量として、撮像装置21との間のタイムスタンプの差または特定のセンサ22とのタイムスタンプの差を推定することにより、センサ22のタイムスタンプの変動により生じる自己位置の推定精度の悪化を抑制することができる。
【0037】
また、位置推定装置50は、過去時刻において推定された自己位置の並進成分と、実世界上の大きさとの比率を状態量として推定してもよい。これにより、位置推定装置50は、自己位置の並進成分の大きさが実世界上の大きさと乖離することにより生じる自己位置の推定精度の悪化を抑制することができる。
【0038】
例えば、1または複数のセンサ22のそれぞれについて、状態量推定部60は、所定の関係式に対して1または複数の過去時刻のそれぞれにおける自己位置を代入した場合における、所定の関係式の残差を最小とするような、状態量を推定する。所定の関係式は、過去時刻における自己位置、対応するセンサ22の観測値および対応するセンサ22の状態量、および、過去時刻と対象時刻との時間差に基づき、対象時刻における自己位置を算出する方程式である。例えば、所定の関係式は、過去時刻における自己位置に基づき、対象時刻における自己位置を算出するための運動方程式である。
【0039】
例えば、状態量推定部60は、非線形最小二乗法により、所定の関係式の残差を最小とするような状態量を推定する。また、状態量推定部60は、状態量が時間変化する場合には、例えば、Levenberg-Marquardt法、Gauss-Newton法または共役勾配法等を用いて、所定の関係式に対して繰り返して複数の過去時刻のそれぞれにおける自己位置を代入して、残差を最小化するような状態量を推定する。また、所定の関係式に対して繰り返して複数の過去時刻のそれぞれにおける自己位置を代入する場合、状態量推定部60は、過去時刻毎に重みを変えて残差の大きさを揃えてもよい。なお、角速度センサ31および加速度センサ32の状態量の推定方法の一例については、
図4を参照してさらに後述する。
【0040】
信頼度算出部62は、1または複数のセンサ22のそれぞれの状態量の信頼の度合いを表す信頼度を算出する。信頼度は、値が大きい場合、推定された状態量の信頼の度合いおよび精度が高く、値が小さい場合、推定された状態量の信頼の度合いおよび精度が低いことを表す。
【0041】
例えば、信頼度算出部62は、状態量の信頼度として、状態量の誤差の期待値の逆数を算出する。状態量の誤差の期待値は、例えば、状態量推定部60が状態量を推定する場合に、残差を最小とするための演算において得られる。
【0042】
例えば、非線形最小二乗法により残差を最小とする場合、状態量推定部60は、状態量の共分散行列を推定する。例えば、状態量推定部60は、状態量におけるX方向成分、Y方向成分およびZ方向成分の共分散行列を推定する。この場合、信頼度算出部62は、状態量推定部60から状態量の共分散行列を取得する。そして、信頼度算出部62は、取得した共分散行列の対角成分の和の逆数を、信頼度として算出する。共分散行列の対角成分の和は、小さい場合、状態量の誤差が小さく精度が高いと期待され、大きい場合、状態量の誤差が大きく精度が低いと期待される。
【0043】
また、移動体装置10は、状態量に相当する観測値を観測する第2センサを備える場合がある。この場合、信頼度算出部62は、第2センサの観測値と、推定した状態量とを比較して、信頼度を算出してもよい。例えば、状態量として速度が推定され、且つ、移動体装置10が、車輪の回転数に基づき速度を観測する速度計を備える場合、信頼度算出部62は、速度計の観測値と推定した速度とが近い場合に、信頼度を高くし、遠い場合に、信頼度を低くする。
【0044】
また、状態量の取り得る範囲が予測される場合、信頼度算出部62は、予め設定された値または範囲からの、推定された状態量の一致度を、信頼度として算出してもよい。例えば、角速度センサ31の角速度バイアスおよび加速度センサ32の加速度バイアスの取り得る範囲は、予め特性等を評価することにより、予測することができる。従って、信頼度算出部62は、予測された範囲と、推定された角速度バイアスおよび推定された加速度バイアスとの一致度を、信頼度として算出してもよい。また、重力加速度の方向は、加速度センサ32の地面に対する取り付け姿勢から、予測することができる。従って、信頼度算出部62は、予測された重力加速度の方向と、推定された重力加速度の方向との一致度を、信頼度として算出してもよい。
【0045】
自己位置推定部64は、1または複数のセンサ22のそれぞれの状態量の信頼度に基づき、1または複数のセンサ22のうちの1または複数の対象センサを選択する。例えば、自己位置推定部64は、1または複数のセンサ22のうち、信頼度が予め定められた閾値以上の状態量の1または複数のセンサ22を、対象センサとして選択する。そして、自己位置推定部64は、選択した1または複数の対象センサのそれぞれの観測値および状態量に基づき、自己位置を推定する。
【0046】
例えば、自己位置推定部64は、対象時刻において撮像装置21により撮像された撮像画像と、過去時刻における撮像画像と、過去時刻における自己位置と、選択した1または複数の対象センサのそれぞれの観測値および状態量とに基づき、対象時刻における自己位置を推定する。また、例えば、1または複数のセンサ22の中に、状態量の信頼度が閾値以上の1または複数の対象センサが存在しない場合等において、自己位置推定部64は、何れのセンサ22の観測値および状態量を用いずに、自己位置を推定してもよい。すなわち、この場合、自己位置推定部64は、対象時刻における撮像画像と、過去時刻における撮像画像と、過去時刻における自己位置とに基づき、対象時刻における自己位置を推定する。なお、自己位置推定部64による推定処理については、さらに詳細を
図5以降において説明する。
【0047】
そして、自己位置推定部64は、推定した対象時刻における自己位置を出力する。例えば、自己位置推定部64は、推定した対象時刻における自己位置を、移動体制御装置27に出力する。移動体制御装置27は、所定の時間間隔毎に推定された自己位置を取得する。移動体制御装置27は、推定された自己位置に基づき、移動体装置10の移動を制御する。
【0048】
図4は、位置推定装置50の処理の流れを示すフローチャートである。位置推定装置50は、所定の時間間隔毎に、
図4に示す処理を実行して、対象時刻における自己位置を推定する。
【0049】
まず、S11において、画像取得部54は、対象時刻における撮像画像を取得する。続いて、S12において、観測値取得部58は、1または複数のセンサ22のそれぞれにより観測された観測値を取得する。例えば、観測値取得部58は、対象時刻における撮像画像の撮像タイミングに同期して測定された観測値を取得する。
【0050】
続いて、S13において、状態量推定部60は、1または複数のセンサ22のそれぞれの状態を表す状態量を推定する。本実施形態において、状態量推定部60は、角速度センサ31の状態を表す状態量として、角速度センサ31のバイアスを表す角速度バイアスを推定する。
【0051】
例えば、状態量推定部60は、回転成分運動方程式に対して過去時刻における自己位置の回転成分を代入した場合における、残差(第1残差)を最小とするような、角速度バイアスを推定する。回転成分運動方程式は、過去時刻における自己位置の回転成分に基づき、対象時刻における自己位置の回転成分を算出するための関係式である。
【0052】
具体的には、回転成分運動方程式は、下記の式(1)により表される。
R(t+Δt)=R(t)×Exp((ω(t)-bg)×Δt)…(1)
【0053】
ただし、Expは、角速度の値を回転成分に変換する写像である。また、式(1)中の×は、複数の回転成分を合成することを表している。
【0054】
R(t+Δt)は、対象時刻における自己位置の回転成分を表す。R(t)は、過去時刻における自己位置の回転成分を表す。ω(t)は、測定された角速度を表す。bgは、推定対象の角速度バイアスを表す。Δtは、過去時刻と対象時刻との時間差を表す。第1残差は、例えば、式(1)左辺の回転成分の逆回転を、式(1)右辺の回転成分と合成して得られる回転成分の、回転角度の大きさとして算出することができる。
【0055】
また、状態量推定部60は、複数の過去時刻における自己位置の回転成分のそれぞれを式(1)の回転成分運動方程式に代入して、非線形最小二乗法により角速度バイアスを推定してもよい。この場合において、状態量推定部60は、例えば、Levenberg-Marquardt法、Gauss-Newton法または共役勾配法等を用いて、回転成分運動方程式に繰り返して複数の過去時刻のそれぞれにおける自己位置を代入して、第1残差を最小化するような角速度バイアスを推定する。これにより、状態量推定部60は、時間変化する角速度バイアスを推定することができる。
【0056】
また、本実施形態において、状態量推定部60は、加速度センサ32の状態を表す状態量として、移動体装置10の並進方向の速度、重力加速度、および、加速度センサ32のバイアスを表す加速度バイアスを推定する。
【0057】
例えば、状態量推定部60は、並進成分運動方程式に対して、過去時刻における自己位置の並進成分を代入した場合における残差(第2残差)を最小とするような、並進方向の速度、重力加速度、および、加速度バイアスを推定する。並進成分運動方程式は、過去時刻における自己位置の並進成分に基づき、対象時刻における自己位置の並進成分を算出するための関係式である。
【0058】
具体的には、並進成分運動方程式は、下記の式(2)および式(3)により表される。
p(t+Δt)=p(t)+v(t)×Δt+(1/2)×g×Δt2+(1/2)×R(t)×(a(t)-ba)×Δt2…(2)
v(t+Δt)=v(t)+g×Δt+R(t)×(a(t)-ba)×Δt…(3)
【0059】
p(t+Δt)は、対象時刻における自己位置の並進成分を表す。p(t)は、過去時刻における自己位置の並進成分を表す。v(t)は、推定対象の速度を表す。Δtは、過去時刻と対象時刻との時間差を表す。gは、推定対象の重力加速度を表す。baは、推定対象の加速度バイアスを表す。また、v(t+Δt)は、対象時刻における速度を表す。第2残差は、例えば、式(2)左辺から式(2)右辺を減じて得られるベクトルの大きさと、式(3)左辺から式(3)右辺を減じて得られるベクトルの大きさと、の重みづけ和として算出することができる。
【0060】
また、状態量推定部60は、複数の過去時刻における自己位置の並進成分のそれぞれを式(2)および式(3)の並進成分運動方程式に代入して、非線形最小二乗法により、速度、重力加速度および加速度バイアスを推定してもよい。この場合において、状態量推定部60は、例えば、Levenberg-Marquardt法、Gauss-Newton法または共役勾配法等を用いて、並進成分運動方程式に繰り返して複数の過去時刻のそれぞれにおける自己位置を代入して、第2残差を最小化するような、速度、重力加速度および加速度バイアスを推定する。これにより、状態量推定部60は、時間変化する速度、重力加速度および加速度バイアスを推定することができる。
【0061】
続いて、S14において、信頼度算出部62は、1または複数のセンサ22のそれぞれの状態量の信頼度を算出する。
【0062】
信頼度算出部62は、推定された角速度バイアスにおける、互いに直交するX方向成分、Y方向成分およびZ方向成分の共分散行列を取得する。例えば、信頼度算出部62は、S13における非線形最小二乗法を用いた角速度バイアスの算出過程において状態量推定部60が算出した角速度バイアスの共分散行列を取得する。そして、信頼度算出部62は、取得した角速度バイアスの共分散行列の対角成分の和の逆数を、角速度バイアスの信頼度として算出する。
【0063】
また、信頼度算出部62は、推定された加速度バイアスにおける、互いに直交するX方向成分、Y方向成分およびZ方向成分の共分散行列を取得する。例えば、信頼度算出部62は、S13における非線形最小二乗法を用いた加速度バイアスの算出過程において状態量推定部60が算出した加速度バイアスの共分散行列を取得する。そして、信頼度算出部62は、取得した加速度バイアスの共分散行列の対角成分の和の逆数を、加速度バイアスの信頼度として算出する。
【0064】
続いて、S15において、自己位置推定部64は、対象時刻における自己位置の並進成分および回転成分を推定する。なお、対象時刻の自己位置の推定方法については、
図5および
図6を参照して後述する。
【0065】
続いて、S16において、自己位置推定部64は、推定した対象時刻における自己位置を出力する。例えば、自己位置推定部64は、推定した対象時刻における自己位置を、移動体制御装置27に出力する。さらに、自己位置推定部64は、推定した対象時刻における自己位置を、時刻情報に対応付けて自己位置記憶部52に記憶させる。
【0066】
位置推定装置50は、以上のS11からS16の処理を所定の時間間隔毎に繰り返し実行する。これにより、位置推定装置50は、所定の時間間隔毎に自己位置を推定することができる。
【0067】
図5は、自己位置推定部64の流れを示すフローチャートである。本実施形態において、自己位置推定部64は、
図5に示す流れで処理を実行する。
【0068】
まず、S21において、自己位置推定部64は、角速度のバイアスの信頼度が予め設定された閾値以上であるか否かを判断する。自己位置推定部64は、角速度バイアスの信頼度が閾値以上ではない場合(S21のNo)、処理をS23に進める。自己位置推定部64は、角速度バイアスの信頼度が閾値以上である場合(S21のYes)、処理をS22に進める。
【0069】
続いて、S22において、自己位置推定部64は、加速度のバイアスの信頼度が閾値以上であるか否かを判断する。自己位置推定部64は、加速度バイアスの信頼度が閾値以上ではない場合(S22のNo)、処理をS24に進める。自己位置推定部64は、加速度バイアス信頼度が閾値以上である場合(S22のYes)、処理をS25に進める。
【0070】
S23において、自己位置推定部64は、第1方式により対象時刻における自己位置を推定する。すなわち、自己位置推定部64は、角速度バイアスの信頼度が閾値以上ではない場合、第1方式を選択する。
【0071】
第1方式において、自己位置推定部64は、対象時刻における撮像画像と、過去時刻における撮像画像と、過去時刻における自己位置とに基づき、対象時刻における自己位置を推定する。これにより、角速度センサ31の状態量の信頼度が閾値以上ではない場合に、自己位置推定部64は、角速度センサ31および加速度センサ32の観測値および状態値を用いずに、対象時刻における自己位置を推定することができる。
【0072】
なお、第1方式のより詳細な処理内容については、
図6を参照して後述する。S23の処理を終えると、自己位置推定部64は、本フローの処理を終了する。
【0073】
S24において、自己位置推定部64は、第2方式により対象時刻における自己位置を推定する。すなわち、自己位置推定部64は、角速度バイアスの信頼度が閾値以上であるが、加速度バイアスの信頼度が閾値以上ではない場合、第2方式を選択する。
【0074】
第2方式において、自己位置推定部64は、対象時刻における撮像画像と、測定した角速度と、推定した角速度バイアスと、過去時刻における撮像画像と、過去時刻における自己位置とに基づき、対象時刻における自己位置を推定する。これにより、自己位置推定部64は、信頼度が閾値以上の状態量の角速度センサ31を対象センサとして選択し、選択した角速度センサ31の観測値および状態量に基づき、自己位置を推定することができる。
【0075】
なお、第2方式のより詳細な処理内容については、
図7を参照して後述する。S24の処理を終えると、自己位置推定部64は、本フローの処理を終了する。
【0076】
S25において、自己位置推定部64は、第3方式により対象時刻における自己位置を推定する。すなわち、自己位置推定部64は、角速度バイアスの信頼度および加速度バイアスの信頼度が何れも閾値以上である場合、第3方式を選択する。
【0077】
第3方式において、自己位置推定部64は、対象時刻における撮像画像と、測定した角速度と、推定した角速度バイアスと、測定した加速度と、推定した速度と、推定した重力加速度と、推定した加速度バイアスと、過去時刻における撮像画像と、過去時刻における自己位置とに基づき、対象時刻における自己位置を推定する。これにより、自己位置推定部64は、信頼度が閾値以上の状態量の角速度センサ31および加速度センサ32を対象センサとして選択し、選択した角速度センサ31および加速度センサ32の観測値および状態量に基づき、自己位置を推定することができる。
【0078】
なお、第3方式のより詳細な処理内容については、
図8を参照して後述する。S25の処理を終えると、自己位置推定部64は、本フローの処理を終了する。
【0079】
図6は、S23の第1方式による推定処理の流れを示すフローチャートである。自己位置推定部64は、S23において、
図6に示す処理を実行する。
【0080】
まず、S31において、自己位置推定部64は、過去時刻における自己位置の並進成分に基づき、対象時刻における自己位置の並進成分を推定する。例えば、自己位置推定部64は、複数の過去時刻における自己位置の並進成分を等速直線運動モデルに当てはめて、対象時刻における自己位置の並進成分を外挿処理により推定する。なお、自己位置推定部64は、複数の過去時刻における自己位置の並進成分を、等速直線運動モデルに代えて他のモデルに当てはめて対象時刻における自己位置の並進成分を算出してもよい。また、自己位置推定部64は、複数の過去時刻における自己位置の並進成分に、スプライン曲線等の曲線をフィッティングして対象時刻における自己位置の並進成分を算出してもよい。
【0081】
続いて、S32において、自己位置推定部64は、過去時刻における自己位置の回転成分に基づき、対象時刻における自己位置の回転成分を推定する。例えば、自己位置推定部64は、複数の過去時刻における自己位置の回転成分を等角速度運動モデルに当てはめて、対象時刻における自己位置の回転成分を外挿処理により推定する。なお、自己位置推定部64は、複数の過去時刻における自己位置の回転成分を、等角速度運動モデルに代えて他のモデルに当てはめて対象時刻における自己位置の回転成分を算出してもよい。また、自己位置推定部64は、複数の過去時刻における自己位置の回転成分に、スプライン曲線等の曲線をフィッティングして対象時刻における自己位置の回転成分を算出してもよい。
【0082】
続いて、S33において、自己位置推定部64は、対象時刻における撮像画像に含まれる1または複数の特徴点のそれぞれと、過去時刻における撮像画像に含まれる対応する特徴点とを対応付ける。
【0083】
例えば、自己位置推定部64は、過去時刻における撮像画像に含まれる対応する特徴点の3次元位置を、Structure-from-MotionまたはSLAM(Simultaneous Localization and Mapping)等により算出する。自己位置推定部64は、算出した3次元位置を、S31およびS32で推定した対象時刻における自己位置から対象時刻における撮像画像に投影し、対象時刻における撮像画像上の候補位置を特定する。自己位置推定部64は、対象時刻における撮像画像の候補位置の周囲における類似テクスチャを探索し、過去時刻における撮像画像に含まれる対応する特徴点と、対象時刻における撮像画像の特徴点とを対応付ける。
【0084】
また、自己位置推定部64は、対象時刻における撮像画像の特徴点の位置と、S31およびS32で推定した自己位置とに基づき、過去時刻における撮像画像の特徴点が存在する候補位置をエピポーラ線として算出する。そして、自己位置推定部64は、過去時刻における撮像画像のエピポーラ線の近傍において類似テクスチャを探索し、過去時刻における撮像画像に含まれる対応する特徴点と、対象時刻における撮像画像の特徴点とを対応付けてもよい。
【0085】
また、自己位置推定部64は、テクスチャの類似度を、例えば、画素の周辺領域の輝度値の差に基づき算出する。自己位置推定部64は、テクスチャの類似度を、例えば、SIFT、SURF、ORBまたはAKAZE等の局所特徴記述子に基づき算出してもよい。また、自己位置推定部64は、2つの局所領域が互いに対応しているかどうかを判定するためのニューラルネットワークを予め作成しておき、このニューラルネットワークを用いて類似度を算出してもよい。
【0086】
また、自己位置推定部64は、複数の過去時刻における撮像画像のそれぞれについて、対象時刻における撮像画像に含まれる1または複数の特徴点のそれぞれと、その過去時刻における撮像画像に含まれる対応する特徴点とを対応付けてもよい。
【0087】
続いて、S34において、自己位置推定部64は、再投影誤差を最小化するように、S31およびS32で推定した対象時刻における自己位置を調整する。再投影誤差は、対象時刻における撮像画像に含まれる1または複数の特徴点のそれぞれの画素位置と、過去時刻における撮像画像に含まれる対応する特徴点の3次元位置を、推定した対象時刻における自己位置に基づき対象時刻における撮像画像に再投影した画素位置との誤差の評価値である。例えば、自己位置推定部64は、非線形最小二乗法等を用いて、再投影誤差を最小化するように、対象時刻における自己位置を調整する。
【0088】
そして、自己位置推定部64は、S34で調整された対象時刻における自己位置を出力する。S34を終えると、自己位置推定部64は、本フローを終了する。
【0089】
図7は、S24の第2方式による推定処理の流れを示すフローチャートである。自己位置推定部64は、S24において、
図7に示す処理を実行する。
【0090】
まず、S41において、自己位置推定部64は、過去時刻における自己位置の並進成分に基づき、対象時刻における自己位置の並進成分を推定する。例えば、S41において、自己位置推定部64は、
図6のS31と同様の処理を実行する。
【0091】
続いて、S42において、自己位置推定部64は、過去時刻における自己位置の回転成分、測定した角速度、および、推定した角速度バイアスに基づき、対象時刻における自己位置の回転成分を推定する。より具体的には、自己位置推定部64は、式(1)に示した回転成分運動方程式に、過去時刻における自己位置の回転成分、測定した角速度、および、推定した角速度バイアスを代入して、対象時刻における自己位置の回転成分を算出する。なお、S42において、上述の処理に代えて、自己位置推定部64は、
図6のS32と同様の処理を実行してもよい。
【0092】
続いて、S43において、自己位置推定部64は、対象時刻における撮像画像に含まれる1または複数の特徴点のそれぞれと、過去時刻における撮像画像に含まれる対応する特徴点とを対応付ける。例えば、S43において、自己位置推定部64は、
図6のS33と同様の処理を実行する。
【0093】
ただし、S43において、自己位置推定部64は、式(1)に示した回転成分運動方程式に基づき特徴点の回転を予測し、過去時刻における撮像画像における特徴点の周囲の領域の画像を回転方向に変形してから、テクスチャの類似度を算出してもよい。これにより、自己位置推定部64は、精度良く特徴点の対応付けを実行することができる。
【0094】
続いて、S44において、自己位置推定部64は、再投影誤差と、回転成分運動方程式における第1残差との合計を最小化するように、S41およびS42で推定した対象時刻における自己位置を調整する。回転成分運動方程式における第1残差は、回転成分運動方程式に対して、過去時刻における自己位置の回転成分、測定された角速度、および、推定した角速度バイアスを代入した場合における残差の評価値である。
【0095】
例えば、自己位置推定部64は、非線形最小二乗法等を用いて、再投影誤差と第1残差との合計を最小化するように、対象時刻における自己位置を調整する。なお、再投影誤差と、回転成分運動方程式における第1残差とは、単位が異なる。従って、自己位置推定部64は、再投影誤差および第1残差のそれぞれを正規化したのちに、合計を算出してもよい。
【0096】
また、自己位置推定部64は、状態量(ここでは、角速度バイアス)を固定して、対象時刻における自己位置を調整する。これに代えて、自己位置推定部64は、状態量と、対象時刻における自己位置との両者を最小化するように、調整してもよい。
【0097】
そして、自己位置推定部64は、S44で調整された対象時刻における自己位置を出力する。S44を終えると、自己位置推定部64は、本フローを終了する。
【0098】
図8は、S25の第3方式による推定処理の流れを示すフローチャートである。自己位置推定部64は、S25において、
図8に示す処理を実行する。
【0099】
まず、S51において、自己位置推定部64は、過去時刻における自己位置の並進成分、測定した加速度、推定した速度、推定した重力加速度、および、推定した加速度バイアスに基づき、対象時刻における自己位置の並進成分を推定する。より具体的には、自己位置推定部64は、式(2)および式(3)に示した並進成分運動方程式に、過去時刻における自己位置の並進成分、推定した速度、推定した重力加速度、および、推定した加速度バイアスを代入して、対象時刻における自己位置の並進成分を算出する。なお、S51において、上述の処理に代えて、自己位置推定部64は、
図6のS31と同様の処理を実行してもよい。
【0100】
続いて、S52において、自己位置推定部64は、過去時刻における自己位置の回転成分、測定した角速度、および、推定した角速度バイアスに基づき、対象時刻における自己位置の回転成分を推定する。より具体的には、自己位置推定部64は、式(1)に示した回転成分運動方程式に、過去時刻における自己位置の回転成分、測定した角速度、および、推定した角速度バイアスを代入して、対象時刻における自己位置の回転成分を算出する。なお、S52において、上述の処理に代えて、自己位置推定部64は、
図6のS32と同様の処理を実行してもよい。
【0101】
続いて、S53において、自己位置推定部64は、対象時刻における撮像画像に含まれる1または複数の特徴点のそれぞれと、過去時刻における撮像画像に含まれる対応する特徴点とを対応付ける。例えば、S53において、自己位置推定部64は、
図6のS33と同様の処理を実行する。
【0102】
ただし、S53において、自己位置推定部64は、推定した重力加速度の方向に基づき、対象時刻における撮像画像および過去時刻における撮像画像の重力加速度の方向が一致するように、過去時刻における撮像画像における特徴点の周囲の領域の画像を変形してから、テクスチャの類似度を算出してもよい。これにより、自己位置推定部64は、精度良く特徴点の対応付けを実行することができる。
【0103】
これに代えて、S53において、自己位置推定部64は、式(1)に示した回転成分運動方程式に基づき特徴点の回転を予測し、過去時刻における撮像画像における特徴点の周囲の領域の画像を回転方向に変形してから、テクスチャの類似度を算出してもよい。このようにしても、自己位置推定部64は、精度良く特徴点の対応付けを実行することができる。
【0104】
また、S53において、自己位置推定部64は、重力加速度の方向の一致および特徴点の回転の予測を組み合わせて、過去時刻における撮像画像における特徴点の周囲の領域の画像を回転方向に変形してから、テクスチャの類似度を算出してもよい。
【0105】
続いて、S54において、自己位置推定部64は、再投影誤差と、回転成分運動方程式における第1残差と、並進成分運動方程式における第2残差との合計を最小化するように、S51およびS52で推定した対象時刻における自己位置を調整する。並進成分運動方程式における第2残差は、並進成分運動方程式に対して、過去時刻における自己位置の並進成分、測定された加速度、推定した速度、推定した重力加速度、および、推定した加速度バイアスを代入した場合における残差の評価値である。
【0106】
例えば、自己位置推定部64は、非線形最小二乗法等を用いて、再投影誤差と第1残差と第2残差との合計を最小化するように、対象時刻における自己位置を調整する。なお、再投影誤差と、第1残差および第2残差とは、単位が異なる。従って、自己位置推定部64は、再投影誤差、第1残差および第2残差のそれぞれを正規化したのちに、合計を算出してもよい。
【0107】
また、自己位置推定部64は、状態量(ここでは、角速度バイアス、速度、重力加速度および角速度バイアス)を固定して、対象時刻における自己位置を調整する。これに代えて、自己位置推定部64は、何れか1つまたは複数の状態量と、対象時刻における自己位置との両者を最小化するように、調整してもよい。
【0108】
そして、自己位置推定部64は、S54で調整された対象時刻における自己位置を出力する。S54を終えると、自己位置推定部64は、本フローを終了する。
【0109】
以上、第1方式、第2方式および第3方式を説明したが、いずれの方式も、自己位置の並進成分の推定処理(S31、S41、S51)、自己位置の回転成分の推定処理(S32、S42、S52)、特徴点の対応付け処理(S33、S43、S53)および自己位置の調整処理(S34、S44、S54)の4つの処理を含む。
【0110】
自己位置推定部64は、例えば、4つの処理のうちの何れかの処理を第1方式、第2方式および第3方式で共通とし、他の処理を状態量の信頼度に応じて切り替えてもよい。例えば、自己位置推定部64は、特徴点の対応付け処理をS33の処理で共通とし、自己位置の並進成分の推定処理、自己位置の回転成分の推定処理および自己位置の調整処理を、状態量の信頼度に応じて切り替えてもよい。
【0111】
図9は、変形例に係る位置推定装置50の構成を示す図である。位置推定装置50は、
図3に示した構成に加えて、運動種別特定部74と、異常判定部76と、リセット部78とをさらに備える構成であってもよい。
【0112】
運動種別特定部74は、推定された自己位置の軌跡に基づき、移動体装置10の運動種別を特定する。例えば、運動種別特定部74は、移動体装置10が、等速直線運動をしているか、等加速度直線運動をしているか、円運動をしているか、静止しているかを特定する。また、例えば、運動種別特定部74は、予め設定された運動種別以外の運動をしている場合には、その他の運動をしていると特定してもよい。
【0113】
例えば、運動種別特定部74は、推定された自己位置の軌跡と予め記述された複数のモデルのそれぞれとの残差を評価することにより、運動種別を特定する。また、運動種別特定部74は、自己位置の軌跡が複数のモデルの何れからも残差が閾値以上大きい場合、その他の運動をしていると特定する。また、運動種別特定部74は、自己位置の軌跡との残差が閾値より小さいモデルが複数個存在する場合は、複数の運動種別を特定してもよい。また、運動種別特定部74は、ニューラルネットワーク等の識別器を利用して、運動種別を特定してもよい。
【0114】
異常判定部76は、運動種別特定部74により特定された運動種別を取得する。また、異常判定部76は、自己位置推定部64が自己位置を推定するために選択した1または複数の対象センサを取得する。すなわち、異常判定部76は、推定された状態量の信頼度が高いセンサ22の組み合わせを取得する。本実施形態においては、異常判定部76は、第1方式、第2方式または第3方式の何れを選択したかを取得する。
【0115】
続いて、異常判定部76は、選択した1または複数の対象センサの組み合わせが、特定した運動種別に対応するか否かを判断し、対応しない場合に異常、対応する場合に正常と判定する。本実施形態においては、異常判定部76は、選択した方式が、特定した運動種別に対応するか否かを判断し、対応しない場合に異常、対応する場合に正常と判定する。
【0116】
例えば、異常判定部76は、運動種別毎に、期待される選択方式のパターンを予め記憶しておく。そして、異常判定部76は、予め記憶しているパターンに一致する場合、選択した方式が、特定した運動種別に対応する判断する。
【0117】
例えば、運動種別が等速直線運動である状況を考える。この状況では、加速度が0であるので、状態量推定部60は、速度を推定することが困難である。このため、選択される方式は、加速度と角速度と撮像画像とを利用する第3方式ではなく、第1方式または第2方式の何れかであることが期待される。この状況において、第3方式が選択されていた場合、センサ22による観測値の取得の異常および自己位置の推定のための演算等の何れかに異常が発生していると考えられる。
【0118】
従って、異常判定部76は、運動種別が等速直線運動である場合において、第3方式が選択された場合に、異常と判定し、運動種別が等速直線運動である場合において、第1方式または第2方式が選択された場合、正常と判定する。また、異常判定部76は、その他の運動種別が特定された場合、何れの方式が選択されても正常と判定してもよい。また、異常判定部76は、複数の運動種別が特定された場合、特定された複数の運動種別のそれぞれについて、選択した方式が特定した運動種別に対応するか否かの判断を行い、特定された複数の運動種別のそれぞれの判断結果を統合して、異常か否かを判定する。
【0119】
リセット部78は、異常判定部76により異常と判定された場合、自己位置推定部64に対して、過去時刻における自己位置をリセットして、対象時刻における自己位置を新たに推定させる。例えば、リセット部78は、異常判定部76により異常と判定された場合、自己位置推定部64に対して、現在の自己位置を基準点として、新たに対象時刻における自己位置を推定させる。これにより、自己位置推定部64は、正常に判定された過去時刻における自己位置を用いて、新たな自己位置を推定することができる。
【0120】
このような変形例に係る位置推定装置50は、選択された自己位置の推定方式と、推定された自己位置との関係性を評価することとができる。そして、位置推定装置50は、推定方式と推定された自己位置との関係性の評価結果に基づき、位置推定装置50の推定動作が異常であるか否かを自己診断することができる。
【0121】
そして、変形例に係る位置推定装置50は、自己診断の結果に基づき、新たな自己位置を推定することができる。これにより、変形例に係る位置推定装置50によれば、より精度良く自己位置を推定することができる。
【0122】
以上のように、本実施形態に係る位置推定装置50は、1または複数のセンサ22のそれぞれの状態を表す状態量を推定し、1または複数のセンサ22のそれぞれの状態量の信頼度を算出する。そして、位置推定装置50は、1または複数のセンサ22のそれぞれの状態量の信頼度に基づき1または複数のセンサ22のうちの1または複数の対象センサを選択し、選択した1または複数の対象センサのそれぞれの観測値および状態量に基づき、自己位置を推定する。
【0123】
これにより、位置推定装置50は、信頼度の低い状態量を利用したことによる自己位置の推定精度の悪化を回避することができる。従って、位置推定装置50によれば、状態量の信頼度の高いセンサ22の観測値および状態量を用いて、移動体装置10の自己位置を精度良く推定することができる。
【0124】
以上、本発明の実施形態を説明したが、上述の実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら新規な実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0125】
10 移動体装置
12 移動体制御システム
21 撮像装置
22 センサ
23 記憶装置
24 入力装置
25 表示装置
26 通信装置
27 移動体制御装置
40 情報処理装置
41 メモリ
42 ハードウェアプロセッサ
43 ROM
44 RAM
50 位置推定装置
52 自己位置記憶部
54 画像取得部
56 画像記憶部
58 観測値取得部
60 状態量推定部
62 信頼度算出部
64 自己位置推定部
74 運動種別特定部
76 異常判定部
78 リセット部