Introduction to SLAM (Cyrill Stachniss)
2021. 12. 20.Cyrill Stachniss ๊ต์๋์ ๊ฐ์๋ฅผ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. Youtube
What is SLAM?
๋ก๋ด์ ์์น์ ํ๊ฒฝ์ ๋งต์ ๋์์ ๊ณ์ฐ ํ๋๊ฒ
- Localization : ๋ก๋ด์ ์์น๋ฅผ ์ถ์
- Mapping : ์ง๋๋ฅผ ์ ์
- SLAM : Localization๊ณผ Mapping์ ๋์์ ํ๋ ๊ฒ
์ ํํ Mapping ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด Localization์ด ์ฌ์
์ ํํ Localization ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด Mapping์ด ์ฌ์
โ ๋ ๋ค ํด์ผ๋๊ธฐ ๋๋ฌธ์ SLAM์ด ์ด๋ ต๋ค.
Localization Example
๋ก๋ด์ ์์น๋ฅผ ์ฃผ์ด์ง Landmark๋ก ๋ณด์
๋ณ : Landmark
ํฐ์ ๋๊ทธ๋ผ๋ฏธ : ์ค์ ๋ก๋ด์ ์์น
ํ์ ๋๊ทธ๋ผ๋ฏธ : ์ธ์ง๋ ๋ก๋ด์ ์์น
Mapping Example
๋๋๋งํฌ๋ฅผ ๋ก๋ด์ ์์น๋ฅผ ํตํด ์ถ์
ํฐ์ ๋๊ทธ๋ผ๋ฏธ : ๋ก๋ด์ ์์น
๋ ธ๋ ๋ณ : ์ค์ Landmark
ํ์ ๋ณ : ์ธ์ง๋ Landmark
SLAM Example
๋ก๋ด์ ์์น์ Landmark๋ฅผ ๋ชจ๋ ์ถ์
Loop Closure๋ฅผ ํตํด Error ๋ณด์ ๊ฐ๋ฅ
The SLAM Problem
- chicken-or-egg problem
โ a map is needed for localization
โ a pose estimate is needed for mapping
Definition of the SLAM Problem
- ์ฃผ์ด์ง ๋ฐ์ดํฐ
- The robotโs control
- Observations
- The robotโs control
- ์ํ๋ ๊ฒ
- Map of the environment
- Path of the robot
- Map of the environment
Probabilistic Apprsoaches
robotโs motion๊ณผ observations์ ๋ถํ์ค์ฑ(uncertainty)๋ฅผ ํํํ๊ธฐ ์ํด ํ๋ฅ ์ด๋ก (probability theory)์ ์ฌ์ฉ
๋ฐ๋ผ์ SLAM Problem์ ๋ค์์ ์์ผ๋ก ํํ์ด ๊ฐ๋ฅ
๋ probabilistic distribution์ ์๋ฏธ
Graphical Model
๋ณ์๋ค๊ฐ์ dependency๋ฅผ ํํํจ
ํ์ดํ๋ ์ด๋์ ์ด๋๋ก impact๋ฅผ ์ฃผ๋์ง ์๋ฏธ
ex) ์ ๊ฐ ํ์ฌ ์์น ์ ์ํฅ์ ์ค
Full SLAM vs. Online SLAM
- Full SLAM : estimate the entire path
- ์์ Graphical Model์ด Full SLAM์ ์๋ฏธ
- Online SLAM : seeks to recover only the most recent pose
Graphical Model of Online SLAM
์ด์ ๊น์ง์ pose๋ค๋ก marginalizingํ๋ ๊ฒ์ ์๋ฏธ
marginal probability : ๋ชจ๋ ๊ฐ๋ฅํ ์ฃผ๋ณ ํ๋ฅ ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ํด์ ๊ตฌํ๋ ๊ฒ์ ์๋ฏธ
Full SLAM์ ๊ฐ์ ๋ชจ๋ ๋ํด์ ๊ตฌํ ์ ์๋ค.
Why is SLAM a Hard Problem
Robot path and map are both unknown
- ๋ ์ค ํ๋๊ฐ ์ ํํ๋ค๋ฉด ๋ค๋ฅธ unkown data์ uncertainty๊ฐ ์ค์ด๋ ๋ค.
โ ๋ฐ๋๋ก ๋งํ๋ฉด ๋ ๋ค ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ด๋ ค์์ ์๋ฏธ
- ๋ ์ค ํ๋๊ฐ ์ ํํ๋ค๋ฉด ๋ค๋ฅธ unkown data์ uncertainty๊ฐ ์ค์ด๋ ๋ค.
known vs. unknown correspondence
- ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ๋๋๋งํฌ๋ค์ ๋ชจ๋ uniqueํ๊ฒ ๊ตฌ๋ณํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํจ
โ ํ๋จ์ ์๋ชปํ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
- ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ๋๋๋งํฌ๋ค์ ๋ชจ๋ uniqueํ๊ฒ ๊ตฌ๋ณํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํจ
โด Data Association Problem
data association : ๊ฐ๋จํ ์ค๋ช ํ์๋ฉด ๋ก๋ด์ด ์ด๋ ํ pose๊ฐ ์์ ๋, ๋ณผ ์ ์๋ landmark๋ค์ ๋งค์นญ์ํค๋ ์์
- Mapping between observations and the map is unknown
- ์ฐ๋ฆฌ๋ ์ด๊ฒ์ data association์ ํตํด uncertainty๋ฅผ ๋ฎ์ถ๋ ค๊ณ ํจ
- Picking wrong data associations can have catastrophic consequences
- ๋ง์ฝ data association์ด ์๋ชป๋์ ๊ฒฝ์ฐ robot์ด ์์ง์ด ๋ชจ๋ path์ ๋ํ ํ๋จ์ด ์๋ชป๋ ์ ์์
Three Traditional Paradigms
- Kalman filter
- to estimate robot position and the landmark position
- Particle filter
- get rid of the Gaussian assumption about the world
- Graph-Based
- least squares formulation
- ์์ฆ์ ๋ง์ด ์ฌ์ฉ๋จ
- ๊ฐ์์์ ์ด ๋ฐฉ๋ฒ์ ๋ค๋ฃฐ ๊ฒ์
Motion and Observation Model
Motion Model
- describes the relative motion of the robot
- ์ด์ ์์น์ ํ์ฌ ์์ง์์ ํตํด ํ์ฌ ์์น๋ฅผ ๊ตฌํ๋ค.
Observation model
- relates measurements with the robotโs pose
- ํ์ฌ์์น(์ map)์ ์ด์ฉํด landmark์ ์์น๋ฅผ ๊ตฌํ๋ค.