티스토리 뷰
이글은 Wikipedia를 위주로 참고했습니다. https://en.m.wikipedia.org/wiki/Simultaneous_localization_and_mapping
SLAM : Simultaneous localization and mapping.
즉, 위치 측정과 맵핑을 동시에 하는 기술이다.
맵핑 : 지도를 만듬.
로보틱 맵핑에서, SLAM은 알려지지않은 환경의 맵을 만들고 업데이팅함과 동시에, 장치의 위치를 계속 추적한다.
처음에 등장시 닭이 먼저냐 계란이 먼저냐 싸움같아 보였지만, ( 맵핑은 장치의 위치에 기반해야하고, 장치의 위치는 맵핑으로 유추해 내기때문에 닭이 먼저냐 계란이 먼저냐 할 수 있다.) (적어도 대략적으로) 특정한 환경의 특정 기간동안 SLAM을 구축하는 많은 알고리즘들이 나왔다.
유명한 SLAM 예측 방법은 particle filter와 extended Kalman filter를 포함하고있다.
SLAM 알고리즘은 사용가능한 자원에 따라 변형되었고, 정확도를 높이기보단, 사용편의성측에 중점을 두는 경우도 있다.
이렇게 배포된 알고리즘은 자율주행차나, 무인비행기나, 자동 수중 자동차나 자동청소기, 심지어 사람 몸 속까지 쓰일 수있다.
(몸속.. Mountney, P.; et al. (Stoyanov, D.; Davison, A.; Yang, G-Z.) (2006). "Simultaneous Stereoscope Localization and Soft-Tissue Mapping for Minimal Invasive Surgery" (PDF). MICCAI. 1: 347–354. doi:10.1007/11866565_43. Retrieved 2010-07-30.) 출처: wikipedia.org.
Problem Definition. (문제 정의.)
O(t) ( t시간에 센서로 측정된 값들 )가 주어질때.
SLAM은 x(t)와 m(t)를 구하는 것이다.
x(t) => 측정 장치의 위치
m(t) => 주변 환경의 맵.
모든 값들이 대부분 확률적이고, SLAM의 목표는.
P(m(t),x(t) | O(1:t)) => 1~t 시간 동안의 센서값 O(1:t) 가 주어진 것에 따른 현재 위치 x(t)값과, 전체적인 맵의 값 m(t)값.
Bayes’ rule을 적용하면,
(Bayes’ rule => 확률 이론으로, http://blog.naver.com/mykepzzang/220834940797 )
주어진 맵 m(t) 과 transition function을 이용해 연속적으로 위치 x(t)를 업데이트할 수 있다.
(transition function => 이동하는 함수 P(x(t)|x(t-1)) : x(t-1)을 기준으로 x(t)로 움직이는 확률을 나타낸 함수)
이와 비슷하게 m(t)를 업데이트 시키면,
가 된다.
Algorithms (사용되는 알고리즘들)
Kalman filters, particle filters
- 많은 측정 데이터들, Kalman filters와 particle filters가 위의 방정식들을 통해서, SLAM으로 x(t)와 m(t)를 추측한다.
Set-membership techniques
- Set-membership techniques은 주로 interval contraint propagation를 기초로 하고있다.
- (Set-membership techniques => https://en.wikipedia.org/wiki/Set_estimation )
- Set-membership techniques은 로봇 포지션의 범위와, 추측된 맵을 제공한다.
Bundle adjustment
- SLAM에서 유명한 Technique중 하나고,
- 예측한 측정장치의 위치와 랜드마크의 위치가 잘 조합된 이미지 데이터를 사용하여 맵의 정확도를 증가시킨다.
Mapping (맵핑)
Topological Maps (위상학적 맵)
위상학적 맵은 기하학적으로 정확한 맵을 만드는 것이 아니라, topology 같은 환경의 연결성을 이용해 주변 환경을 표현하는 방법이다.
Grid Maps (격자 맵)
위상학적 표현된 세계를 작은 격자들로 쪼개어 나타내는 방식이다. 그리고, 어느 셀이 차있는지 추론해낸다.
Sensing ( 센싱 )
다양한 종류의 센서들이 존재하고, 우리는 일정갯수의 센서만을 사용할 수 있기때문에 이러한 제한적인 상황이 다양한 알고리즘을 만들어왔다.
메트릭 bias와 노이즈를 다루기 위해서는 각각 센서의 통계학적 독립성이 필수적이다.
다양한 타입의 센서들은 그센서의 데이터를 잘 적용할 수 있는 다양한 SLAM 알고리즘을 만들도록 했다.
센서모델은 크게 두가지로 나눌 수 있는데.
landmark based
raw-data approach
Landmark-based 는 유니크하게 동일한 오브젝트를 인식하는 방법, 예를 들면 비콘이나, 와이파이 엑세스 포인트 같은것이 있다.
raw-data 접근법은 동일한 landmark가 있다고 추측하지 않고, model P(o(t)| x(t))를 직접적인 위치 함수로 대체시킴.
다양한 센싱
Optical Sensor
1D or 2D laser range finder
3D High Definition LiDAR
3D Flash LiDAR
2D or 3D Sonar sensors
1 or more 2D cameras
( LiDAR => Laser radar)
tactile SLAM
radar SLAM
최신 접근 법은 => quasi-optical wireless ranging for multilateration
( multilateration = https://en.wikipedia.org/wiki/Multilateration )
실외에서 SLAM의 필요성은 점점 낮아지는데, 그 이유는 고정확 differential GPS 센서 때문이다. 하지만 전쟁이나거나 다양한 상황때문에 GPS가 사용하지 못하는 상황이 되거나 실내에서 사용할때는 SLAM 이 아직 필요하다.
Kinematics Modeling. (운동학적 모델)
P(x(t)|x(t-1)) 부분은 키네마틱 모델의 의미하는데, 이런 키네마틱 모델은 보통 로봇의 “움직임 명령” 까지 포함하고 있다.
로봇의 운동학(키네마틱스)를 포함하고 있으면 필연적이게 둘러싸고있는 노이즈가 존재하는 상황에서 측정을 더 잘 할 수 있도록 해준다.
- Total
- Today
- Yesterday
- ipTIME
- USB
- 창숨김 프로그램
- ROS2
- c#ㄱㄱ
- C#입문
- c#초보
- ubuntu
- 블로그
- 2000au
- 블로그 공지
- C# 책
- 책 소개
- 블로그 개설
- 창숨김 다운
- C#책
- 창숨기기 프로그램
- C# 속으루..
- c#
- c#.net
- robot
- 블로그 이야기
- iptime 2000au
- ROS2 설치
- readonly
- 디스크 쓰기 금지되어 있습니다
- Node
- 창숨기기
- C 책
- 창숨김
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |