Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

確率ロボティクス第11回

4,855 views

Published on

占有格子地図

Published in: Technology
  • Be the first to comment

確率ロボティクス第11回

  1. 1. 確率ロボティクスと移動ロボットの行動生成 第11回 上田隆一
  2. 2. 本日の内容 • SLAM(simultaneous localization and mapping) – 自己位置推定と地図生成を同時に行う方法 • 移動の誤差を考慮しなくても良い場合のアルゴリズム Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 2
  3. 3. SLAM問題 • 次のような地図m*を求める問題 • m* = argmaxm P(m | z1:t, x1:t) – z1:t: センサ情報のシーケンス(z1,z2,z3,...,zt) – x1:t: 行動のシーケンス(x1,x2,x3,...,xt) Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 3
  4. 4. SLAMの基本手続き • これで地図ができる (2次元の例, 距離センサを想定) 1. 最初のロボットの位置(絶対座標)を (x,y,q) = (0,0,0)とする 2. 以下の繰り返し A. センサで障害物の位置を計測 B. 障害物の位置を絶対座標に変換して記録 C. ロボットを動かしてロボットの座標を更新 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 4
  5. 5. 実世界での問題 • 移動量の誤差、センサ計測の誤差 – 位置推定と同様 – (どちらが難しいかというと、どちらも同程度に難しい) Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 5 日経Linux 2015年11月号の上田の記事より
  6. 6. 誤差への対応 • とりあえず今日はセンサの誤差を考える • 占有格子地図(occupancy grid map)による確率表現 – 地図を区切って各区画に障害物が 存在する確率(の対数オッズ)を入れる – そのまま価値反復等の計画問題が解ける Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 6
  7. 7. 占有格子地図の作成方法 • 空間を格子状に区切る – 価値反復の際と同様に – ただし向きの次元はない • 格子に持たせる値 – 手法により異なる Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 7
  8. 8. 占有格子地図を使った地図作成方法 • 本日は二つ紹介 – オンライン手法 • ロボットが動いている最中に逐次的に地図を作る – オフライン手法 • ロボットが動いた後に地図を作る • ロボットは動いている時はひたすら デッドレコニング情報とセンサ計測値を蓄積 • ロボットの計算機で地図を作る必要もない • 一般的なSLAMもオフライン/オンライン手法に 大別される Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 8
  9. 9. オンライン手法 • 手順(2次元、距離センサを想定) 1. 最初のロボットの位置(絶対座標)を (x,y,q) = (0,0,0)とする 2. 以下の繰り返し A. センサ計測 B. センサの計測対象となったセルを抽出 C. 各セルの対数オッズを更新 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 9
  10. 10. 対数オッズ(ロジット) • 確率(0から1の値)をー∞から+∞に拡張 – 確率が1の時に+∞ – 確率が0の時にー∞ – ただしどこかに上限を定めておいたほうが良い Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 10
  11. 11. セルの更新に必要な式 • P(mi | z, x): – 姿勢xでセンサ値がzのとき、miである確率 – mi: 占有格子地図の中の一つのセルに 障害物があるかどうかのバイナリ(ある: 1, ない: 0) – 「逆計測モデル」と言われる • 因果が逆: 障害物があってセンサの値が決まる • 求め方 – 統計を取る/学習/適当に Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 11
  12. 12. 例 • センサ値から判別できないセル: 0.5 • 確率を完全に0,1にすると対数オッズが発散するので注意 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 12 P(mi | z, x) 0.5
  13. 13. セルの対数オッズの更新 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 13
  14. 14. 例 • 注意: 前記のアルゴリズムそのままで作成されたも のではなく、占有格子地図の表現の例 – ちゃんと地図を作るには来週、再来週の手法が必要 – http://www.sciencedirect.com/science/article/pii/ S0952197614003029 – https://www.openslam.org/gmapping.html – http://www2.informatik.uni- freiburg.de/~stachnis/pdf/rbpf-slam-tutorial- 2007.pdf • 14ページOct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 14
  15. 15. 自分で実装する際の注意 • 来週、再来週に説明するSLAMも同様だが、 あまり長時間稼働させるアルゴリズムになっていない – 長らく同じところにあった障害物が取り除かれても 確率モデルでは対応できない – (私はそこまで調査していないので)文献調査を • なんども同じところを計測していると、どのセルも 障害物の存在する確率が0.5を下回る時がある – センサに誤差があって、逆計測モデルが鋭すぎると障害物が あるところで「障害物がない」という判断が「障害物がある」と いう判断の頻度を上回る – 小手先の解決で済ませたい時は、閾値処理で 壁のあるなしを確定させる Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 15
  16. 16. オフライン手法 • 最大事後確率(maximum a posterior)推定を利用 – 要は、センサのシーケンスを最もよく説明できる 地図を作るということ – 逆計測モデルは用いなくて良い • 地図を先に用意して、それに対してセンサ値が 得られるかどうかを評価して、地図を書き換えていく – ソナーのように壁の位置がピンポイントで 決まらないセンサで特に有効 • 理由: 黒板で・・・ Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 16
  17. 17. 手順 1. 初期化 – 各セルを0(=壁がない)に – 0が「壁がない」、1が「壁がある」 2. センサ値と地図の比較 – あるセルの対数オッズを0か1に入れ替えた 地図m'二つに対してlog P(zt|m', xt)を足しこむ • log P(zt|m', xt): これまでのセンサ値、ロボットの位置 に対する対数尤度 – 0,1から値の大きい方を選ぶ Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 17

×