본문 바로가기

Computer Science/기타

로봇공학 정리 - 1(베이즈 정리, 베이즈 필터, Particle 필터)

728x90
반응형

로봇 공학 = Robotics(로봇의 설계, 제조, 응용 분야)

 

로봇의 종류)

Mobile Robotics: Wheeled Robot, Biped Robot(휴머노이드), Legged Robot, Tracked Robot과 같이 이동이 가능한 로봇

 

Manipulator Robot: Articulated Robot(다관절 로봇), Cartesian Robot(직교 로봇), Cylindrical Robot(원통 좌표형 로봇)과 같이 주로 산업 현장에서 쓰이는 로봇

 

Assistive Robot: could be manipulator robot(공장 로봇은 사람을 돕기 때문에), Moblie Robot(배달해주는 로봇 생각)

 

Rehabilitation Robotics: 재활로봇 

 

Assistive 로봇과 Rehabilitation 로봇은  Mobile 과 Manipulator 로봇의 하위분류 격.

 

로봇의 원리 및 문제 해결)

컴퓨터 <- 센서(Sesored Data) <- 외부

컴퓨터 -> 행동(Actuator) -> 외부

 

로봇은 다음과 같은 문제를 해결해야 한다.

 

1. Localization(로봇이 본인의 현재 위치를 파악(확률적으로))

2. Mapping(이동을 위한 지도를 만드는 과정)

3. Planning(어떻게 효율적으로 이동할지, 최단거리 & 최소비용)

4. Navigation

 

베이즈 정리)

베이즈 정리란 likelihood로 부터 사후 확률을 구하기 위해 사용한다.

 

P(A|B)는 사건 B가 발생했을때 사건 A가 발생할 확률을 의미한다.

우리는 베이즈 정리를 통해서 P(B|A)도 알아낼 수 있다.

 

베이즈 필터)

bel(xt) = P(xt | z1:t,u1:t)

 

xt = t시점의 상태 값

zt = 센서 입력값

ut = 제어 입력값

 

위의 식이 의미하는 바는 다음과 같다.

시점 t까지의 센서 값, 제어 값과 베이즈 정리를 이용하여 현재 상태를 추정한다. 

 

위 그림은 다음과 같다.

 

1번 그림: 문이 3개 있고 각 문 앞에는 센서가 있다. 센서는 로봇을 감지할 수는 있지만 어느 문에서 감지된 건지는 알 수 없다.

 

2번 그림: 로봇이 문 앞에 있기 때문에 센서가 감지되었다. 따라서 가능도가 올라간다. 그러나 센서 값(zt)에 노이즈가 껴있기 때문에 분산 폭이 넓은 편이다.

 

3번 그림: 로봇이 이동했다. 이동했다는 뜻은 제어(ut)가 추가되었다는 뜻이다. 다만 제어 역시 노이즈 때문에 분산 폭이 더 커진다.

Bel(x) 그래프도 로봇이 이동한 것처럼 오른쪽으로 이동한 것을 볼 수 있다.

 

4번 그림: 3번 그림의 Bel(x)와 4번 그림의 P(o|s) 그림을 통해서 겹치는 부분의 Bel(x)가 커지는 새로운 Bel(x)를 만든다.

 

5번 그림: 로봇이 이동한 경우 Bel(x) 그래프도 함께 움직이나, 제어(ut)가 추가되었기 때문에 노이즈가 발생해서 분산이 커진다.

 

결론 Bel(xt) = P(x1|u1, z1, u2, z2... ut, zt)이다.

시점 t까지의 센서, 제어 값을 바탕으로 현재 위치를 추정하는 것.

베이즈 필터

이는 Markov Assumption을 바탕으로 하고 있다.

즉 어떠한 시점의 상태는 바로 이전의 상태에만 영향을 받는다는 것이다.

(엄밀하게는 이전의 상태가 지금까지의 상태들의 재귀적 누적이니 실제로는 전체적으로 영향을 받은 것이다.)

 

Particle Filter)

파티클 필터는 지도상에 unifrom 하게 particle들을 뿌린 뒤 본인의 위치를 파악하는 것이다.

 

파티클은 로봇이 존재할 수 있는 '가능성'을 의미한다.

랜드마크와 실제 로봇의 측정값과 랜드마크와 파티클 사이에 예상되는 값이 비슷할 때 파티클은 더 높은 가중치(weight)를 갖는다.

 

가중치가 낮은 particle은 제거되고 가중치가 큰 particle들을 복사해서 particle의 총숫자를 유지한다.

그래야 가중치가 높은 것이 의미가 있다.

가중치가 다음과 같을 때 가중치가 가장 높은 것은 p3이다. 그러나 p3가 실제로 뽑힐 확률은 0.4이다.

이를 보완하기 위해서 아래와 같은 방법을 쓴다.

원판 돌리기와 같은 형태로 랜덤으로 정한다.

다만 가장 큰 weight값의 2배만큼만 돌려서 가장 큰 weight값이 선택되도록 최대한 의도한다.

로봇모션 그림도 다음과 같이 particle들을 uniform 하게 뿌려준다.

 

센서에 로봇이 인식되었기 때문에 문의 위치에 있는 particle들의 weight이 높아진다.

가중치가 낮은 파티클들을 제거하고 리샘플링을 해준다.

 

로봇이 이동함에 따라 particle도 1차 원상에서 함께 이동한다.

728x90
반응형