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

More Related Content

What's hot

SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)Masaya Kaneko
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMYoshitaka HARA
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
確率ロボティクス第四回
確率ロボティクス第四回確率ロボティクス第四回
確率ロボティクス第四回Ryuichi Ueda
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化TaroSuzuki15
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summaryTakuya Minagawa
 
確率ロボティクス第13回
確率ロボティクス第13回確率ロボティクス第13回
確率ロボティクス第13回Ryuichi Ueda
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成MobileRoboticsResear
 
確率ロボティクス第五回
確率ロボティクス第五回確率ロボティクス第五回
確率ロボティクス第五回Ryuichi Ueda
 
確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回Ryuichi Ueda
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)Toru Tamaki
 
Visual-SLAM技術を利用した 果樹園の3次元圃場地図の作成
Visual-SLAM技術を利用した果樹園の3次元圃場地図の作成Visual-SLAM技術を利用した果樹園の3次元圃場地図の作成
Visual-SLAM技術を利用した 果樹園の3次元圃場地図の作成Masahiro Tsukano
 
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Masaya Kaneko
 
Robot frontier lesson1
Robot frontier lesson1Robot frontier lesson1
Robot frontier lesson1Ryuichi Ueda
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Masaya Kaneko
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築Yoshitaka HARA
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 

What's hot (20)

SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
確率ロボティクス第四回
確率ロボティクス第四回確率ロボティクス第四回
確率ロボティクス第四回
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summary
 
確率ロボティクス第13回
確率ロボティクス第13回確率ロボティクス第13回
確率ロボティクス第13回
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
 
確率ロボティクス第五回
確率ロボティクス第五回確率ロボティクス第五回
確率ロボティクス第五回
 
確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
Visual-SLAM技術を利用した 果樹園の3次元圃場地図の作成
Visual-SLAM技術を利用した果樹園の3次元圃場地図の作成Visual-SLAM技術を利用した果樹園の3次元圃場地図の作成
Visual-SLAM技術を利用した 果樹園の3次元圃場地図の作成
 
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
 
Robot frontier lesson1
Robot frontier lesson1Robot frontier lesson1
Robot frontier lesson1
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説
 
PCL
PCLPCL
PCL
 
Visual slam
Visual slamVisual slam
Visual slam
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 

More from Ryuichi Ueda

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライドRyuichi Ueda
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックRyuichi Ueda
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナーRyuichi Ueda
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話Ryuichi Ueda
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーションRyuichi Ueda
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆Ryuichi Ueda
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライドRyuichi Ueda
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)updateRyuichi Ueda
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニングRyuichi Ueda
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Ryuichi Ueda
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トークRyuichi Ueda
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロRyuichi Ueda
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習Ryuichi Ueda
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018Ryuichi Ueda
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018Ryuichi Ueda
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018Ryuichi Ueda
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018Ryuichi Ueda
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018Ryuichi Ueda
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会Ryuichi Ueda
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」Ryuichi Ueda
 

More from Ryuichi Ueda (20)

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーション
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)update
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
 

確率ロボティクス第11回