読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Localization (自己位置推定): 3 確率的自己位置推定法

Robot

確率ロボティクス (Mynavi Advanced Library)

確率ロボティクス (Mynavi Advanced Library)

Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series)

Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series)

  • 作者: Sebastian Thrun,Wolfram Burgard,Dieter Fox
  • 出版社/メーカー: The MIT Press
  • 発売日: 2005/08/19
  • メディア: ハードカバー
  • 購入: 1人 クリック: 6回
  • この商品を含むブログを見る




下記の記事のように,

移動ロボットにおける自己位置推定(Localization)とは,

ロボットに搭載されている様々なセンサの情報から

ロボットの位置や姿勢を推定することです.

Localization (自己位置推定): 1 - MY ENIGMA



今回は,この自己位置推定法において,

もはやデファクト・スタンダードになっている

確率的自己位置推定法について説明したいと思います.



まず初めにこのような問題を考えます.

ある真っ直ぐな廊下があり,

その廊下の中でロボットが何処にいるかを知りたいとします.



ロボットはタイヤの回転数から相対的な移動量と

カメラ画像から自分が

廊下にあるドアの前にいるかどうかが判断できるとします.

(ロボット自身はどのドアの前にいるかはわからないとしますが,

 廊下のどの位置にドアがあるかは事前に知っているとします.)



まず初めに,

ロボットは,一番左のドアの前にいるとします.

しかし,

ロボット自身はそのことを知らないとすると,

下記の図のように,

横軸に位置,縦軸に自分が存在するであろう確率をとると,

ロボット自身は,

まったく位置の情報を持っていないので,

ロボットの存在確率は

廊下のすべての位置で一様な分布になります.



続いて,

ロボットがカメラ画像から

"自分の前にはドアがある”

と認識したとしましょう.

すると,

事前に知っているドアの位置情報から,

ロボットは現在,

3つあるドアの内のどれかの前にいる可能性が高いため,

存在確率は下記の図のように,

ドアの前の位置は上昇し,

その他の部分の存在確率は減少します.



ちなみに,

今回のドアの認識などの位置の外部情報のことを

一般的に観測(Measurement)といい,

観測により,更新(Update)する前の存在確率分布をBelief or Prior,

観測により更新された存在確率分布をPosteriorと言うようです.




続いて,

ロボットが右方向に移動したとします.

ロボットはタイヤの回転数から

移動方向と移動量を計算することができます.

(このような相対的移動量推定の方法をWheel Odometryといいます.

詳しくは下記の記事を参考にしてください

自己位置推定 (Localization):2 Wheel Odometry - MY ENIGMA)



すると,

下記の図のように確率分布も移動量の分だけシフトします.




そして,

続いてロボットが隣のドアを検知すると,

シフトされた確率分布が下記のように更新されます.

再び,ドアのある部分の存在確率は上昇し,

それ以外の場所は減少します.



するとどうでしょう?

はじめはロボットは位置がわからずに,

廊下のすべての位置で確率が一様だったのに,

複数の観測と移動の情報で確率分布をアップデートすることにより,

実際にロボットがいる場所(左から二番目のドアの前)

に確率分布のピークが生じて,

正確にロボットの位置が認識できていることがわかります.




これが確率的位置推定法です.

つまり,確率的自己位置推定法とは,

観測と移動の情報を逐次的に利用して,

存在確率分布を更新して,

その時々に最もロボットがいると思われる場所を

確率的に推定することなのです.






今回はかなり抽象的で概念的な説明でしたが,

実際のロボットに搭載されている位置推定システムは

このアルゴリズムをより理論的に計算できるようにした方法である

カルマンフィルタやパーティクルフィルタを使用しています.



今回の場合は,

観測の情報はドアの検知でしたが,

ロボットによって,それが電柱の位置だったり,

交通標識の位置だったり,

Google Carの場合は地面の白線の位置だったりします.

Sebastian Thrun: Google's driverless car - MY ENIGMA



しかし,大本になる考え方は,

すべてこの考え方に即しているといえるでしょう.





参考資料

Udacity - Artificial Intelligence for Robotics Course (CS373)

確率ロボティクス (Mynavi Advanced Library)

確率ロボティクス (Mynavi Advanced Library)

Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series)

Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series)

  • 作者: Sebastian Thrun,Wolfram Burgard,Dieter Fox
  • 出版社/メーカー: The MIT Press
  • 発売日: 2005/08/19
  • メディア: ハードカバー
  • 購入: 1人 クリック: 6回
  • この商品を含むブログを見る