robot frontier lesson1

30
確率ロボティクス入門 1上田隆一

Upload: -

Post on 21-Jan-2018

1.507 views

Category:

Technology


0 download

TRANSCRIPT

確率ロボティクス入門第1回

上田隆一

本日の話の流れ

• イントロ

–ロボットを人のいる環境や自然環境で動かす

• 確率について

–確率分布、確率密度関数

• ロボットと確率

–ロボットの使う二つのモデル

–例題Apr. 26, 2017 ロボットフロンティア第1回@中部大学 2

2つのロボットの違い

• 工場で働く溶接用のマニピュレータ

• 外を自動で走るロボット(自動車)

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 3

「不確かさ」に対する立場

• 一般的な工場

–不確定要素はなるべく除去

• ロボットに渡す部品の向きを揃える工程を追加

• 人は立入禁止

• ロボットを様々な場所でもっと動かしたい

–工場の方法は通用しない

• 人の生活空間や自然環境では無理

–人間や動物のように賢く

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 4

生活環境・自然環境の中で動き回るには

• 予期しない事態への対応が必須

–動物はある程度できているが頓死もする

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 5

ブリは定置網から出られない

By Seotaro - CC 表示-継承 3.0, https://commons.wikimedia.org/w/index.php?

curid=3231196

イシマキガイは裏返すと起き上がれない

大雑把に言って頓死する状況が少ないほど高度な知能を持つと言って良い

ロボットが動けなくなる状況とは?

• とりあえず移動ロボットで考えてみましょう

–ビデオにあるものからないものまでいろいろ考える

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 6

https://youtu.be/RpPcmyXOcr4

対応してないと頓死する例

• 例

– センサを隠す

– タイヤを浮かせる

– センサで感知できない落とし穴がある

– ロボットをどこかに移動する

– 狭い通路で鉢合わせ

– ・・・

• もっとも高度と言われる脳を持つ人類が同じことをされるとどうするでしょう?

– そのために必要な情報は?

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 7

ロボット以外の立場から

• 高度な動物ほど脳の層が多く、これが想定外のことに対応する能力の由来

• メタ認知

– 自己の認知活動(知覚、情動、記憶、思考など)を客観的に捉え評価した上で制御(「脳科学辞典」より)

• 交通安全の標語

– 「だろう運転」ではなく「かもしれない運転を」

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 8

ニコライ・ベルンシュタイン

ロボットでは

• ロバストな制御

–雑音を考慮してそれに対応できる出力を考える

• サブサンプション・アーキテクチャ

–ロボットは階層化されたたくさんの行動を持つと、統合・切り替えを行うことで破綻せずに行動可能(ロドニー・ブルックス)

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 9

都合よくまとめると

• ロボットが高度な知能を発揮するには

– コンピュータを使うならば、その中で情報を評価・整理

• 何か変なことが起きたかもしれない、自分は間違っているかもしれないということを表現

• 部分的に分かっていることを表現し、あとから別の情報を得たときに補強

– 評価・整理した情報を活用

• 分からないときは慎重に/情報をとるように

• 行動のモードの切り替え

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 10

確率という道具を使う• 「〜かもしれない」を数学で表すのが確率

• 確率を使うとロボットが考えられる(考えなければならない)ことが増加

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 11

ゴール

まっすぐゴールに向かっているつもりでも移動に雑音→たまに失敗

立入禁止

常に自身が正しく動いていると考えているロボット

自身の動作が信用できないロボット

ゴール

立入禁止

最終的な位置がこれだけばらつくならこの範囲に立入禁止区域が入ってはならない

確率という概念を持ったロボット

• もはや単純作業を行う機械ではない

– ある危険性に対して設定次第で臆病にも勇敢にもなる

– 外から見て同じ状況でも別の振る舞い

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 12

個人的には見ていて飽きない

確率を使ったロボットの技術

• いわゆる「確率ロボティクス」の分野

–自己位置推定

– SLAM(simultaneous localization and mapping)

–確率的な行動決定

–探査

• 他の主要な分野

–強化学習

–画像処理Apr. 26, 2017 ロボットフロンティア第1回@中部大学 13

確率は知能ロボットの研究では必須

確率の表記(基本)

• 𝑃(条件) : 条件が満たされる確率

• 離散的な場合

– 𝑃 𝑥 = 𝑥∗ :ある変数𝑥について推定値 𝑥が真値𝑥∗と一致している確率• 𝑃(次に出るサイコロの目の予想 =次に出るサイコロの目) = 1/6

– 𝑃 𝑥∗ ∈ 𝑋 :真値が、ある集合𝑋に含まれる確率• 例: 𝑃 次に出るサイコロの目 ∈ 2,4,6 = 1/2

– 条件を明示しない場合は確率分布を指す• 𝑃 𝑥 :変数 𝑥に関する確率分布

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 14

• 連続的な場合

– 基本、 𝑃 𝑥∗ ∈ 𝑋 だけを考える

– 𝑃 𝑥 = 𝑥∗ はどこでも0になる• 例: 無限に桁を持つ乱数が0.10953232...に一致する確率はゼロ

– 「確率密度関数(probability density function, pdf)」を考える

• 𝑃 𝑥∗ ∈ 𝑋 = 𝑥∈𝑋𝑝( 𝑥) ⅆ𝑥

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 15

𝑥

𝑝 𝑃 𝑥∗ ∈ 𝑋

𝑋図: 1次元の確率密度関数と確率の関係

𝑥

𝑦

𝑋

図: 2次元の確率密度関数からXの範囲の確率を求める例

ここのpdfの値を積分

条件付き確率

• 条件付き確率𝑃 𝐴|𝐵 , 確率密度関数𝑝 𝐴|𝐵

– この形式をまず理解

– 𝐵が起こったら/分かったら𝐴である確率

• 𝑃 𝐴|𝐵 , 𝑝 𝐴|𝐵 の𝐴, 𝐵は基本、何でも良い

– 実装するまではざっくりとした理解で

– 例

• 𝐵 : 風が吹けば

• 𝐴 : 桶屋が儲かる、等

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 16

ロボットの推定問題

• 確率ロボティクスでは、ロボットは自身や環境の状態をpdf 𝑝 𝑥 として認識

– 𝑝 𝑥 の分布を真値𝑥∗周りの急峻なものに

– ここでの𝑥は太字でないがベクトルと考えてよい

• 例: 多くの移動ロボットの状態は位置2次元と方向1次元の3次元で表される→移動ロボットの位置を求める問題では3次元の𝑥に対して 𝑝 𝑥 を求める(自己位置推定問題)

–以後、自己位置推定問題を例に話を進めるApr. 26, 2017 ロボットフロンティア第1回@中部大学 17

ロボットの持つ信念• 𝑝 𝑥 は𝑏𝑒𝑙 𝑥 と表現することも(belief:信念)

– 信念: ロボットの主観

– ロボットの頭には真値𝑥∗は存在しない(知り得ない)ことに注意

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 18

𝑥

𝑦

ゆるい分布(確信を持っていない)

𝑥

𝑦

急峻な分布(確信を持っている)

𝑥

𝑦

分布に峰がたくさん(どっちにいるか確信がない)

しかし、信念をどうやって計算するのか?

信念の演算• 移動したとき

– ロボットと一緒に分布を動かす・雑音を混ぜる

– ロボットはアクチュエータの出力に対する移動の大きさと雑音の程度を知らなければならない→「移動モデル」

• 観測したとき

– 何か自身の位置を推定するために有益な情報が得られる

– 雑音は混ざっている

– ロボットはセンサの計測値と自身の位置の対応を知らなければならない→「観測モデル」

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 19

移動モデル 𝑝 𝑥𝑡|𝑥𝑡−1, 𝑎𝑡

• 時刻𝑡 − 1のときに、ロボットの状態が𝑥𝑡−1で、このときに𝑎𝑡という行動をとったら、𝑥𝑡に状態が移る確率

• 𝑝𝑡−1 𝑥 から𝑝𝑡 𝑥 を計算するときにロボットが使用

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 20

移動の際のPDFの変化

𝑝𝑡 𝑥

𝑝𝑡−1 𝑥

ある位置からの移動は雑音でばらつく

𝑝 𝑥𝑡|𝑥𝑡−1, 𝑎𝑡

𝑥𝑡−1

𝑥𝑡𝑎𝑡

移動による信念の変化

• 式: 𝑝𝑡 𝑥 = 𝑥′∈𝒳𝑝 𝑥|𝑥′, 𝑎𝑡 𝑝𝑡−1 𝑥′ ⅆ𝑥′

– マルコフ連鎖の式

– 空間𝒳:ロボットが取りうる状態𝑥の集合

• 解釈– 𝑝𝑡 𝑥 は、空間𝒳の各点𝑥′から確率密度関数𝑝 𝑥|𝑥′, 𝑎𝑡 を描いて、移動前の信念𝑝𝑡−1 𝑥′ の値を重みにして足し込んだもの

–離散の場合: 𝑃𝑡 𝑋 = 𝑋′∈𝒳 𝑃 𝑋|𝑋′, 𝑎𝑡 𝑃𝑡−1(𝑋′)

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 21

例題• 木が5本あって、今、ムササビが木Aにいます

• ムササビは1単位時間に1回、右に飛びます

• 1/2の確率で2本飛ぶか、1本飛びます

• 2単位時間後に各木にいる確率は?

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 22A B C D E

注意: ちゃんと式に当てはめて解いてください

t=1の状態

• 行動: 「飛ぶ」だけなので省略

• 初期状態

– 𝑃0 𝐴 = 1, 𝑃0 𝐵 = 𝑃0 𝐶 = 𝑃0 𝐷 = 𝑃0 𝐸 = 0

– 𝑃 𝐵|𝐴, 𝑎 = 𝑃 𝐶|𝐴 = 1/2

• 𝑃1 𝑋 = 𝑋′∈{𝐴,𝐵,𝐶,𝐷,𝐸}𝑃 𝑋|𝑋′ 𝑃0(𝑋′)に当てはめ

• 答え

– 𝑃1 𝐵 = 𝑃 𝐵|𝐴 𝑃0 𝐴 =1

2

– 𝑃1 𝐶 = 𝑃 𝐶|𝐴 𝑃0 𝐴 =1

2

– 他はゼロApr. 26, 2017 ロボットフロンティア第1回@中部大学 23

A B C D E

A B C D E

1/2 1/2

解答(t=2の状態)

• t=1での状態

• 𝑃1 𝐴 = 𝑃1 𝐷 = 𝑃1 𝐸 = 0, 𝑃1 𝐵 = 𝑃1 𝐶 = 1/2

• 𝑃 𝐶|𝐵 = 𝑃 𝐷|𝐵 = 𝑃 𝐷|𝐶 = 𝑃 𝐸|𝐷 = 1/2

– 𝑃2 𝑋 = 𝑋′∈{𝐴,𝐵,𝐶,𝐷,𝐸}𝑃 𝑋|𝑋′ 𝑃1(𝑋′)に当てはめ

• 答え

– 𝑃2 𝐶 = 𝑃 𝐶|𝐵 𝑃1 𝐵 = 1/4

– 𝑃2 𝐷 = 𝑃 𝐷|𝐵 𝑃1 𝐵 + 𝑃 𝐷|𝐶 𝑃1 𝐶 = 1/2

– 𝑃2 𝐸 = 𝑃 𝐸|𝐶 𝑃1 𝐶 = 1/4

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 24

A B C D E

1/2 1/2

A B C D E

1/21/4 1/4

観測モデル 𝑝 𝑧|𝑥

• ロボットの状態が𝑥のときに、センサを使って何かを計測したら、情報𝑧が返ってくるという事象に対する確率密度関数

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 25

𝑝 𝑥

観測

ここら辺から観測してそうだ

観測前のpdf

観測後のpdf

観測による信念の変化

• ベイズの定理

– 𝑝 𝑥|𝑧 =𝑝 𝑧|𝑥 𝑝(𝑥)

𝑥′∈𝒳 𝑝 𝑧|𝑥′ 𝑝(𝑥′) ⅆ𝑥′= 𝜂𝑝 𝑧|𝑥 𝑝(𝑥)

– 𝜂は確率の総和を1に保つための定数(正規化定数)

– 離散の場合:𝑃 𝑥|𝑧 = 𝜂𝑃 𝑧|𝑥 𝑃(𝑥)

• 尤度

– 𝑝 𝑧|𝑥 を𝑥の関数とみなしてℓ 𝑥|𝑧 とも表記

– センサ情報𝑧が得られたとき𝑥がどの程度尤もらしいか

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 26

更新前の信念

更新後の信念

例題

• ムササビの位置が図1のように確率的に分かっています

• BとEの木にはドングリがなっています。ムササビは木を移ったとき4/5の確率でドングリを見つけることができます

• 今の時刻において、ムササビはドングリを発見できませんでした

• C, D, Eにいる確率を求めましょうApr. 26, 2017 ロボットフロンティア第1回@中部大学 27

C D E

1/21/4 1/4

図1

C D E図2

4/5 4/5

解答

• ドングリが見つからないことをNGと表す

• 尤度𝑃 𝑧|𝑥 の計算– 𝑃 𝑁𝐺|𝐶 = 1, 𝑃 𝑁𝐺|𝐷 = 𝑃 𝑁𝐺|𝐸 = 1/5

• 𝑃 𝑧|𝑥 𝑃(𝑥)の計算

• 𝑃 𝑁𝐺|𝐶 𝑃 𝐶 = 1 ∙1

4=

1

4, 𝑃 𝑁𝐺|𝐷 𝑃 𝐷 =

1

5∙1

2=

1

10

• 𝑃 𝑁𝐺|𝐸 𝑃 𝐸 =1

5∙1

4=

1

20, 𝜂−1 =

1

4+

1

10+

1

20=

2

5

• ということで

• 𝑃 𝐶|𝑁𝐺 = 𝜂𝑃 𝑁𝐺|𝐶 𝑃 𝐶 =5

2∙1

4=

5

8

• 𝑃 𝐷|𝑁𝐺 = 𝜂𝑃 𝑁𝐺|𝐷 𝑃 𝐷 =5

2∙

1

10=

1

4

• 𝑃 𝐸|𝑁𝐺 = 𝜂𝑃 𝑁𝐺|𝐸 𝑃 𝐸 =5

2∙

1

20=

1

8

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 28C D E

5/8 1/4 1/8

本日のまとめ

• 確率ロボティクス: ロボットを人のいる環境、自然環境で動作させるための枠組み

– ロボットに関する「分からない」「部分的に分かる」を数学的に扱えるようにする枠組み

• 動作モデル、観測モデルをロボットが持つことで、確率的な状態推定が可能に

– マルコフ連鎖 + ベイズの定理

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 29

疑問

• で、これ、どうやってプログラムするの??

• 次回

– カルマンフィルタ

–パーティクルフィルタ

Apr. 26, 2017 ロボットフロンティア第1回@中部大学 30