• 検索結果がありません。

マルチモーダルカテゴリゼーションに基づく概念の獲得

N/A
N/A
Protected

Academic year: 2021

シェア "マルチモーダルカテゴリゼーションに基づく概念の獲得"

Copied!
73
0
0

読み込み中.... (全文を見る)

全文

(1)

ロボット情報工学特論

Advanced Information Engineering for Robotics

第9回:知能ロボティクス2

(2)

Outline

自己位置推定

ベイズフィルタの応用

モンテカルロ位置推定(MCL)

環境地図

占有格子地図

地図の生成

SLAM

カルマンフィルタ

パーティクルフィルタ(FastSLAM)

パスプランニング

RRT

確率的ロードマップ

(3)

ベッド フ ァ 椅子 長 机 トイレ キッチン テーブル キッチン テーブル 本棚 本棚 本棚 長 机 長机 椅子 椅子 ソ フ ァ 椅 子 テーブル テレビ テレビ テ ーブ ル 棚 棚 棚 冷蔵庫

移動ロボットの問題

ロボットが環境の中を動き回る

どのように目的地まで行くか?

リアクティブに動くという考え方(ローカルなプランニング)

その場で判断する⇒地図や経路は必要ない

グローバルなプランニング

環境地図

どのようなデータ構造でどのように作るか?

自己位置推定

今どこにいるかをどのように推定するか?

経路計画

地図を使ってどのように経路を計画するか

確率ロボティクスの主要問題

(4)

位置推定問題

ロボットの姿勢 : ( x, y,

θ

)

⇒直接計測できない

センサ計測値から( x, y,

θ

)を推定

位置推定問題の分類

位置追従

:初期のロボット姿勢が既知

姿勢の誤差が小さい⇒正規分布などで近似できる

局所的な問題

大域的位置推定

:初期姿勢が未知

正規分布などで信念を近似することができない

大域的な推定は位置追従より難しい

誘拐ロボット問題

:ロボットが他の位置にテレポーテー

ションする

ロボットが誤った信念をもってしまう⇒誤りからの回復能力が必要

大域的位置推定よりも難しい

(5)

位置推定の確率モデル

マルコフ性⇒

条件付き独立性

状態遷移確率

計測確率

)

,

,

|

(

x

x

1

u

m

p

t

t

t

)

,

|

(

z

x

m

p

t

t

1

t

x

x

t

x

t

+

1

1

t

u

u

t

u

t

+

1

1

t

z

z

t

z

t

+

1

m

:地図

m

x

:状態(位置)

u

:制御

z

:計測

(6)

マルコフ位置推定

マルコフ位置推定アルゴリズム(

for all do

end for

return

1

1

1

,

)

(

)

,

|

(

)

(

x

t

=

p

x

t

u

t

x

t

m

bel

x

t

dx

t

bel

)

(

)

,

|

(

)

(

x

t

p

z

t

x

t

m

bel

x

t

bel

=

η

m

z

u

x

bel

(

t

1

),

t

,

t

,

t

x

)

(

x

t

bel

•ベイズフィルタと同じ

•地図mが入っているだけ

•x0の与え方で各種位置推定問題に対応する

•実装の問題

⇒カルマンフィルタが使える

(7)

ロボットの動作モデル

ロボットの動作モデル ⇒ 状態方程式

が必要

2つの動作モデル

オドメトリベース

速度ベース

(

デッドレコニング

)

エンコーダの情報が使える場合はオドメトリを使うのが一般的

エンコーダの情報が使えない場合は速度ベース

速度と時間で姿勢を計算するモデル

)

,

|

(

x

t

u

t

x

t

1

p

(8)

動作モデルが必要な理由

バンプ

理想的な場合

車輪の径が異なる

カーペット(すべり)

など様々・・・

(9)

ロボットが

から

へ移動

オドメトリ情報

オドメトリモデル

2

2

)

'

(

)

'

(

x

x

y

y

trans

=

+

δ

θ

δ

rot

1

=

atan2

(

y

'

y

,

x

'

x

)

1

2

'

rot

rot

θ

θ

δ

δ

=

θ

,

, y

x

x

'

,

y

'

,

θ

'

trans

rot

rot

u

=

δ

1

,

δ

2

,

δ

trans

δ

1

rot

δ

2

rot

δ

θ

,

, y

x

'

,

'

,

'

y

θ

x

(10)

オドメトリの雑音モデル

計測されるオドメトリは理想的なオドメ

トリに雑音をのせることで表現する

|

|

|

|

1

1

1 1 2

ˆ

trans rot

rot

rot

δ

ε

α

δ

α

δ

δ

=

+

+

|

|

|

|

2

2

1 2 2

ˆ

trans rot

rot

rot

δ

ε

α

δ

α

δ

δ

=

+

+

|

|

|

|

4 1 2 3

ˆ

rot rot trans

trans

trans

δ

ε

α

δ

α

δ

δ

δ

=

+

+

+

(11)

確率の計算 (ゼロ平均)

1. prob_normal_distribution

(a,b):

2.

return

2 2 2 2 1 2

2

1

)

(

σ

σ

πσ

ε

x

e

x

=

正規分布

一般的には正規分布が用いられる

22 2

2

1

exp

2

1

b

a

b

π

(12)

1.

Algorithm motion_model_odometry

(x,x’,u)

2.

3.

4.

5.

6.

7.

8.

9.

10.

11. return

p

1

· p

2

· p

3

動作モデル(事後確率)の計算

2

2

)

'

(

)

'

(

x

x

y

y

trans

=

+

δ

θ

δ

rot

1

=

atan2

(

y

'

y

,

x

'

x

)

1

2

'

rot

rot

θ

θ

δ

δ

=

2

2

)

'

(

)

'

(

ˆ

x

x

y

y

trans

=

+

δ

θ

δ

ˆ

rot

1

=

atan2

(

y

'

y

,

x

'

x

)

1

2

'

ˆ

ˆ

rot

rot

θ

θ

δ

δ

=

)

ˆ

|

ˆ

|

,

ˆ

(

prob

rot

1

rot

1

1

rot

1

2

trans

1

=

δ

δ

α

δ

+

α

δ

p

|))

ˆ

|

|

ˆ

(|

ˆ

,

ˆ

(

prob

trans

trans

3

trans

4

rot1

rot2

2

=

δ

δ

α

δ

+

α

δ

+

δ

p

)

ˆ

|

ˆ

|

,

ˆ

(

prob

rot

2

rot

2

1

rot

2

2

trans

3

=

δ

δ

α

δ

+

α

δ

p

odometry values

(u)

(13)

動作モデルの例

x’

u

p(x|u,x’)

u

x’

(14)

オドメトリ動作モデルのサンプリング

1.

Algorithm sample_motion_model

(u, x)

:

1.

2.

3.

4.

5.

6.

7.

Return

)

|

|

sample(

ˆ

2 1 1 1

1 rot rot trans rot

δ

α

δ

α

δ

δ

=

+

+

|))

|

|

(|

sample(

ˆ

2 1 4

3 trans rot rot trans trans

δ

α

δ

α

δ

δ

δ

=

+

+

+

)

|

|

sample(

ˆ

2 2 1 2

2 rot rot trans rot

δ

α

δ

α

δ

δ

=

+

+

)

ˆ

cos(

ˆ

'

x

trans rot1

x

=

+

δ

θ

+

δ

)

ˆ

sin(

ˆ

'

y

trans rot1

y

=

+

δ

θ

+

δ

2 1

ˆ

ˆ

'

θ

δ

rot

δ

rot

θ

=

+

+

'

,

'

,

'

y

θ

x

θ

δ

δ

δ

1

,

2

,

,

x

x

,

y

,

u

=

rot rot trans

=

(15)

動作モデルからのサンプリングの例

(16)

オドメトリモデルの例

(17)

ロボットの計測モデル

をモデル化する必要がある

ロボットの位置x(と地図)が与えられた際にzが得られ

る確率

)

,

|

(

z

x

m

p

t

t

移動ロボットのセンサ

接触センサ

:

Bumpers

内界センサ

加速度センサ

(spring-mounted masses)

ジャイロスコープ

(spinning mass, laser light)

コンパス

, 傾斜計 (earth magnetic field, gravity)

距離センサ

ソナー

(time of flight)

レーダー

(phase and frequency)

レーザーレンジファインダ

(triangulation, tof, phase)

赤外線

(intensity)

(18)

スキャンベースモデル

Probability is a mixture of

a Gaussian distribution with mean at

distance to closest obstacle

,

a uniform distribution for random

measurements, and

a small uniform distribution for max

range measurements.

Again, independence between

(19)

P(z|x,m)

地図 m

(20)

San Jose Tech Museum

(21)

スキャンマッチング

スキャンから尤度場を生成しそれらを比

較することでスキャン同士のマッチング

をする

(22)

相関ベースの計測モデル

地図が占有格子地図として表現されてい

現在のスキャンを占有格子地図と同等の

表現に変換

ロボットの想定位置において地図とス

キャンの正規化相関関数を計算

}

0

,

max{

)

,

|

(

,

,

t local

x

m

m

t

local

x

m

m

p

=

ρ

地図

における位置

のスキャン

の尤もらしさ

相関値 [-1, 1]

t

x

m

m

local

(23)

拡張カルマンフィルタの利用

カルマンフィルタを使ってマルコフ位置推定を

実現

動作モデル、計測モデルの線形化が必要

拡張カルマンフィルタ(EKF)

最適ではない

非線形性が強すぎると発散する可能性がある

しかしすべての前提条件を満たさない時でも実際に

はかなりよく働く

(24)

予測:

3.

5.

6.

7.

µ

t

=

g

(

u

t

,

µ

t1

)





=

=

− − − − − − − − − − − θ θ θ

µ

θ

µ

θ

µ

θ

µ

µ

µ

µ

µ

µ

µ

, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 1 1

'

'

'

'

'

'

'

'

'

)

,

(

t y t x t t y t x t t y t x t t t t t

y

y

y

x

x

x

x

u

g

G

=

=

t t t t t t t t t t

v

y

v

y

x

v

x

u

u

g

V

ω

θ

θ

ω

ω

µ

'

'

'

'

'

'

)

,

(

1

(

)

(

)





+

+

=

2 4 3 2 2 1

|

|

|

|

0

0

|

|

|

|

t t t t t

v

v

M

ω

α

α

ω

α

α

Motion noise

Jacobian of g w.r.t location

Predicted mean

Predicted covariance

Jacobian of g w.r.t control

(25)

更新:

2.

3.

4.

5.

6.

7.

8.

)

ˆ

(

t t t t t

=

µ

+

K

z

z

µ

(

)

Σ

=

Σ

=

=

θ θ

µ

ϕ

µ

µ

ϕ

µ

µ

ϕ

µ

µ

, , , , , ,

)

,

(

t t t t y t t y t t x t t x t t t t t

r

r

r

x

m

h

H

(

)

(

)

(

)

+

=

θ

µ

µ

µ

µ

µ

, , , 2 , 2 ,

,

2

atan

ˆ

t x t x y t y y t y x t x t

m

m

m

m

z

t

T

t

t

t

t

H

H

Q

S

=

Σ

+

1 −

Σ

=

T t t t t

H

S

K





=

2 2

0

0

r r t

Q

σ

σ

Predicted measurement mean

Pred. measurement covariance

Kalman gain

Updated mean

Updated covariance

(26)
(27)
(28)
(29)
(30)
(31)
(32)

モンテカルロ位置推定

位置推定におけるパーティクルフィルタの利用

MCLアルゴリズム(

χ

t

1

,

u

t

,

z

t

,

m

for m=1 to M

do

endfor

for m=1 to M

do

endfor

=

=

t

t

χ

χ

)

,

ion_model(

sample_mot

(

1

)

)

(

m

t

t

m

t

u

x

x

=

m)

,

,

t_model(

measuremen

(

)

)

(

m

t

t

m

t

z

x

w

=

) ( ) (

,

tm m t t t

=

χ

+

x

w

χ

) (

y

probabilit

with

draw

i

w

tm t ) (

to

add

x

ti

χ

χ

サンプリング

重み評価

リサンプリング

(33)

MCL位置推定の例

グローバル位置推定

(34)

地図生成の問題

ロボットの位置を知るためには環境地図が必要

地図生成の問題とは、与えられた観測データ

に対して最も尤もらしい地図

を計算することである

まずはロボットの位置が既知の場合を考える

実際には地図もロボットの位置も未知(SLAM問

}

,

,

,

,

,

,

{

u

1

z

1

u

2

z

2

u

n

z

n

d

=

)

|

(

max

arg

*

d

m

P

m

m

=

(35)

占有格子地図

位置ベースと特徴ベース

特徴ベースの地図

ランドマークと位置

書き換えなどが容易

位置ベースの地図⇒占有格子地図

各位置(グリッド)が物体で占有されてい

るかどうか⇒各座標xyに割り当てる

移動ロボットのナビゲーションに適してい

経路の探索が容易

(36)
(37)
(38)

Resulting Occupancy and

Maximum Likelihood Map

The maximum likelihood map is obtained by

clipping the occupancy grid map at a

(39)
(40)

Tech Museum, San Jose

(41)

Given:

ロボットの制御

センサによる観測

Estimate:

環境地図

ロボットの経路

SLAMの問題

ロボット

が未知の

(静的)環

境で

行動する

場合

(42)

SLAMはなぜ難しいのか?

SLAM: ロボットの経路と環境地図が共に未知

鶏と卵の問題

ロボットの姿勢には曖昧性があり得る

(43)

M

apping

完全SLAM:

オンラインSLAM:

今までの情報を統合してその時ごとに推定

)

,

|

,

(

x

1

:

t

m

z

1

:

t

u

1

:

t

p

1

2

1

:

1

:

1

:

1

:

1

:

1

,

)

(

,

|

,

)

...

|

,

(

x

t

m

z

t

u

t

=

∫∫ ∫

p

x

t

m

z

t

u

t

dx

dx

dx

t

p

現在の姿勢と地図を推定

完全な経路と地図を推定

(44)

モデル

1

2

1

:

1

:

1

:

1

:

1

:

1

,

)

(

,

|

,

)

...

|

,

(

x

t

m

z

t

u

t

=

∫∫ ∫

p

x

t

m

z

t

u

t

dx

dx

dx

t

p

(45)

完全SLAMのグラフィカルモデル

)

,

|

,

(

x

1

:

t

m

z

1

:

t

u

1

:

t

p

(46)

SLAMの手法

スキャンマッチング

ICP(Iterative Closest Points)

EKF SLAM

拡張カルマンフィルタ

Fast-SLAM

パーティクルフィルタ

(47)

スキャンマッチング

時刻tの姿勢と地図の尤度を(t-1)の姿勢と地図

に関して最大化する

推定した姿勢とその時の計測情報に基づいて

地図情報

を更新する

{

(

|

,

ˆ

)

(

|

,

ˆ

)

}

max

arg

ˆ

=

t

t

[

t

1

]

t

t

1

t

1

x

t

p

z

x

m

p

x

u

x

x

t

ロボットの動き

現在の計測情報

t-1までに推定した地図

]

[

ˆ

t

m

(48)
(49)

(再掲)

カルマンフィルタアルゴリズム

t t t t−1

,

Σ

−1

,

u ,

z

µ

t t t t t t t t t t t t t T t t t T t t t t T t t t t t t t t t

return

C

K

I

C

z

K

Q

C

C

C

K

R

A

A

u

B

A

Σ

Σ

=

Σ

+

=

+

Σ

Σ

=

+

Σ

=

Σ

+

=

− − −

,

)

(

)

(

)

(

1 1 1

µ

µ

µ

µ

µ

µ

:カルマンゲイン

予測

更新

計測を新たな状態推定

にどれくらい反映させるか

イノベーション:

計測値と期待される

計測値との差

1 − −

+

Σ

=

Σ

(50)





=

2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1

,

)

,

(

N N N N N N N N N N N l l l l l l yl xl l l l l l l yl xl l l l l l l yl xl l l l y x yl yl yl y y xy xl xl xl x xy x N t t

l

l

l

y

x

m

x

Bel

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

σ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

ランドマークを使った環境地図

N個のランドマークを用いた地図

⇒(3+2N)次元のガウス分布

数百の次元を扱うことが可能

EKF-SLAM

(51)

EKF-SLAM

(52)

EKF-SLAM

(53)

EKF-SLAM

(54)

Victoria Park データセット

(55)
(56)

EKF SLAM実例

(57)

EKF SLAM実例

(58)

Can we solve the SLAM problem if no pre-defined

landmarks are available?

Can we use the ideas of FastSLAM to build grid

maps?

As with landmarks, the map depends on the poses

of the robot during data acquisition

If the poses are known, grid-based mapping is easy

(“mapping with known poses”)

(59)
(60)

Rao-Blackwellization

SLAM事後分布

ロボット経路事後分布

既知姿勢の地図生成

姿勢

地図

計測

制御

位置推定:MCLを利用

MCLによる位置推定の

結果を位置を既知とした場合

の地図生成に適用する

(61)

グラフィカルモデル

m

x

z

u

x

z

u

2

2

x

z

u

...

t

t

x

1

1

0

1

0

t-1

(62)

Rao-Blackwellized地図生成

それぞれのパーティクルがロボットのあり得る経路を表現している

それぞれのパーティクルは

それぞれの地図を保持している

地図は推定された経路情報を利用してアップデートされる

それぞれのパーティクルは観測情報とそのパーティクルが保持す

る地図によって計算される尤度に比例する確率で残される

(63)

パーティクルフィルタの例

map of particle 1

map of particle 3

(64)

さらなる問題

格子地図の情報量が大きい

各パーティクルがそれぞれの地図を保持するため

パーティクル数をなるべく少なくしたい

解決策:

提案分布の改善

具体的な手法

パーティクルフィルタを適用する前の姿勢推定の精度を

改善する

(65)

補正

i-1番目の姿勢と地図に対してi番目の姿勢と

地図の尤度を最大化する

{

(

|

,

ˆ

)

(

|

,

ˆ

)

}

max

arg

ˆ

=

t

t

t

1

t

t

1

t

1

x

t

p

z

x

m

p

x

u

x

x

t

制御

現在の計測値

t-1までの地図

(66)

スキャンマッチングによる動きモデ

Raw Odometry

(67)

改良したオドメトリによる

FastSLAM

スキャンマッチングにより局所的に精度の高い姿勢の

推定を行う

スキャンマッチングによる局所的(短い区間)で精度の

よいオドメトリ列を

FastSLAMの入力とする

入力自体のエラーが小さいためパーティクル数を少な

くできる

(68)

グラフィカルモデル

m

z

k

x

1

u'

0

u

z

k-1

...

1

z ...

u

k-1

z

k+1

...

u

k

z

u

2k-1 2k-1

...

x

0

x

2k

z

...

u'

2

u'

n

...

x

n·k

z

u

n·kn·k+1

u

(n+1)·k-1

...

(n+1)·k-1

z

...

z

...

...

(69)

Intel Labの例

 パーティクル数

15

実時間の4倍の速度

(P4, 2.8GHz)

スキャンマッチング時

の解像度は

5cm

地図の解像度は

1cm

(70)

Intel Labの例 続き

 パーティクル数

15

(71)

自己位置推定のロバスト性向上

CNNを用いたスキャンマッチング

人のシミュレーションによるマッ

チング精度の向上

シミュレータ上で人の動きをシミュ

レートしてレーザデータを大量に生

上記CNNを学習する

家具の移動などもシミュレートする

(72)

Lei Tai, Giuseppe Paolo, Ming Liu, ”Virtual-to-real Deep Reinforcement

Learning: Continuous Control of Mobile Robots for Mapless Navigation,”

IROS 2017

Robotとの相対的な位置でゴールを与え

(73)

Neural SLAM

SLAM(位置推定、プランニング、地図の表現)

全体がニューラルネットワーク

参照

関連したドキュメント

Vertical comp.. and Ichii, K.: A practical method to estimate strong ground motions after an earthquake based on site amplification and phase characteristics, Bull. Kanazawa:

Assume that Γ > 3γ/2 and the control bound m is large enough such that the bang arc u m starting from the north pole intersects the singular arc z 0 γ/2δ, Then for the problem

In [2], the ablation model is studied by the method of finite differences, the applicable margin of the equations is estimated through numerical calculation, and the dynamic

3.排出水に対する規制

Apply 1 to 2 quarts of Crossbow for small weed control or up to 1.5 gallons of Crossbow for deep-rooted perennial and susceptible woody species control us-

指針に基づく 防災計画表 を作成し事業 所内に掲示し ている , 12.3%.

市民的その他のあらゆる分野において、他の 者との平等を基礎として全ての人権及び基本

Guasti, Maria Teresa, and Luigi Rizzi (1996) "Null aux and the acquisition of residual V2," In Proceedings of the 20th annual Boston University Conference on Language