SlideShare une entreprise Scribd logo
1  sur  23
確率ロボティクスと移動ロボットの行動生成
第5回
上田隆一
本日の内容
• パーティクルフィルタの完成
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 2
パーティクルの更新
• 重みがごく一部のパーティクルに偏る
– 一度重みがゼロになったパーティクルの重みが
復活することはほとんど無い→無駄
• パーティクルをbelの大きなところに
多く配置したい
– どうするか?
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 3
パーティクルと信念分布
• パーティクルはbelから
サンプリング(標本化)したもの
– サンプルとも呼ばれる
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 4
x
y
x
y
リサンプリング
• 重みが偏ったパーティクルの集団の表す
belを再び重みの揃ったパーティクルで表現
• よく似た手続き: 選挙における議席の調整
– 各県の人口が偏る→議席の数を調整
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 5
x
y
x
y
x
y
信念分布
(プログラム上には無い)
主な(リ)サンプリングの手法
• パーティクルフィルタで使って意味のあるもの
– 単純ランダムサンプリング
– 層化抽出法(stratified sampling, 層別サンプリング)
– 系統抽出(systematic sampling, 系統サンプリング,
等間隔サンプリング)
– KLDサンプリング
• 商品の抜き取り検査の
解説ページ等に豊富な説明
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 6
※「等間隔サンプリング」という用語は
記憶が確かなら確率ロボティクスを
翻訳するときに「系統サンプリング」
だとよくわからんと思って独断で
意訳したものです・・・(申し訳ない)
単純ランダムサンプリング
• 計算量が O(N logN)に(N: パーティクルの数)
1. 重みの和を求める
2. 区間[0,重みの和)で乱数生成
3. 元のパーティクルの重みの累積値と
乱数を比べて釣り合う順番のパーティクルを抽出
4. 選んだパーティクルの場所に重み1/Nの
パーティクルを置く
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 7
重たい
重み
パーティクル1 2 3 4 5 6 7 8 9 10
この範囲の数を乱数で選ぶ
層別サンプリング
• 一般的な例
– アンケートを取るときに、年代ごとの人口比から
各年代でアンケートを取る人数を決定
• パーティクルフィルタでの一例
– 更新前のパーティクルの重みに比例して
新たなパーティクルを生成
– (別の解釈もある)
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 8
重み
パーティクル1 2 3 4 5 6 7 8 9 10
2個 2個 2個 2個 1個1個
系統サンプリング
• 等間隔にサンプリングしていく
– 幅: 1/重みの合計
– 最初のサンプリング点: [0,1/重みの合計)で
ランダムに選択
– 特に事情がなければこれを使う
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 9
重み
パーティクル1 2 3 4 5 6 7 8 9 10
端の位置は
乱数で選ぶ
KLDサンプリング
• KLD: Kullbuck-Leibler distance
• よく使われるコードで採用されている
• 大まかな手順
– 状態空間を区画に切る
– 新しいパーティクルをサンプリングしていく
– 元のパーティクルが存在する区画全てに
新しいパーティクルが入ったら終了
• 他のサンプリング手法と違って状態空間の分割が伴う
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 10
実験
• 系統サンプリングを実装して、移動と観測を
交互に行う
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 11
ムービー: https://lab.ueda.asia/?page_id=267
パーティクルと真の姿勢の乖離
• こうなったらどうする?
– 普通の手続きではパーティクルは
ロボットの真の姿勢周りに戻らない
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 12
ロボットの向き
パーティクルの向き
リセット
• これまでのbelの全部あるいは一部を
放棄して推定しなおし
– 今までの推定が破綻しているので
ベイズ推定に固執することなくやり直す
– 尤度通りの情報が複数回連続で来ることは
実世界では期待できない
– ある種のメタ認知
• リセットのトリガー
– 主に観測後、リサンプリング or 正規化前の
パーティクルの重みの総和が閾値を下回った時
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 13
リセットの種類
• 以下の2つの立場で種類が分かれる
– 既存のbelを信じるか
– リセットを起こしたセンサ情報を信じるか
– あるいはどちらも信じる/信じない
• 基本的なリセットの種類
– 単純リセット
– センサリセット
– 膨張リセット
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 14
単純(ランダム)リセット
• 重みの和が閾値を下回ったら最初から推定をやり直す
• コード(randomReset関数)
• 実行例
– https://lab.ueda.asia/?p=251
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 15
観測
(壁がない)
逆に置く
単純リセットの性質
• belもセンサ情報も信じない
• 過去の推定を全て消去
• 頻発させることはできない
– 発動条件を厳しくする
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 16
センサリセット
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 17
• 最後の観測に使った尤度の分布に従って
パーティクルを再配置
– 観測が1回反映された状態から後の推定が始まる
• コード(sensorReset関数)
• 実行例
– https://lab.ueda.asia/?p=251#sensor
観測
(壁がない)
逆に置く
センサリセットの性質
• 既存のbelよりもセンサの値を重視
– GPSのようにセンサから誤った
情報が来ない場合に有効
• 単純リセットと同様、頻発はできない
– 少し真値とパーティクルの分布がずれただけで、
尤度が大きく減らさせることがある
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 18
壁を観測
壁がない
膨張リセット
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 19
• 過去のbelをぼかす
• コード(expansionReset関数)
観測
(壁がない)
逆に置く
膨張リセットの性質
• 気軽に起こして良い
– 真値とパーティクルの分布のズレが小さければ、
次のセンサ入力で分布が真値に近づく
• 単調な環境だと使いにくい
– 真値とパーティクルの分布が離れている場合、
何度も連続で起こらないと真値に分布が到達しない
– 単調な環境だと何度も連続して起こらない
• マイクロマウスの迷路はこれに当てはまる
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 20
リセットの組み合わせの例
• コード(reset関数)
– 膨張リセットとセンサリセットを組み合わせている
• 最初のリセット: 膨張リセット
• 二回目以降: センサリセット
• 実行例
– https://lab.ueda.asia/?page_id=229
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 21
パーティクルフィルタのアルゴリズム
(まとめ)
• ロボットが移動
– 移動しただけパーティクルを移動
(事前に見積もった量の雑音を混入)
• ロボットがセンシング
– 事前に設計した尤度で重みを変える
– 重みの和が閾値を下回ったらリセット
– そうでなければリサンプリング
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 22
数式のまとめ
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 23

Contenu connexe

Tendances

画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
 

Tendances (20)

UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
確率ロボティクス第四回
確率ロボティクス第四回確率ロボティクス第四回
確率ロボティクス第四回
 
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回
 
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
 
Visual slam
Visual slamVisual slam
Visual slam
 
Robot frontier lesson1
Robot frontier lesson1Robot frontier lesson1
Robot frontier lesson1
 
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勉強会@関東)
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
 

En vedette (6)

確率ロボティクス第九回
確率ロボティクス第九回確率ロボティクス第九回
確率ロボティクス第九回
 
確率ロボティクス第十回
確率ロボティクス第十回確率ロボティクス第十回
確率ロボティクス第十回
 
確率ロボティクス第12回
確率ロボティクス第12回確率ロボティクス第12回
確率ロボティクス第12回
 
確率ロボティクス第七回
確率ロボティクス第七回確率ロボティクス第七回
確率ロボティクス第七回
 
確率ロボティクス第八回
確率ロボティクス第八回確率ロボティクス第八回
確率ロボティクス第八回
 
確率ロボティクス第11回
確率ロボティクス第11回確率ロボティクス第11回
確率ロボティクス第11回
 

Plus de Ryuichi Ueda

2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
Ryuichi Ueda
 

Plus de 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を 使ったロボットシステム」
 
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
 

Dernier

Dernier (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

確率ロボティクス第五回