ㅇㅈ배ㅓ햊ㅂ푸재ㅔㅓ브ㅓㅔㅐ배ㅔ재ㅡ재ㅔ

보통 놀면 계속 노는데 하려고 하니 참 손에 안잡힌다

잠깐 놀다 지난번에 하던거 다시 시작함

 

지난글 마지막에는 상태, 제어, 관측을 어떻게 확률로 표현하는지와

이산 시간 흐름에따라 이들의 변화 과정을 동적 베이지안 네트워크로 표현하면서 마쳤음

 

 

믿음도 belief

다음으로 볼게 belief 이걸 나는 믿음도라고 적는게 적당할것 같은 생각이 드는데

belief를 믿음도라 작성해서 하겠다.

베이지안 확률론에서는 빈도주의 확률론처럼 확실히 나온다기 보다는

확률을 주관적인, 믿음의 정도로 표현한다고 하니 믿음도라고 쓰려고함.

 

지난 글에서 초음파 데이터가 저런 식으로 있으면

N(10, 1)인 확률 밀도 함수로 표현하자라고 하자, 치자

라고 정의한게 믿음 같은거라고 해야될까

정규분포 그러니까 가우시안으로 근사 시켜 표현했다고 할수 있을듯하다.

 

 

그러면 여기서 사용하는 믿음도가 무엇을 믿는거냐면

믿음도는 로봇의 상태가 어떻게 되어있을까?에 대한 확률을 의미한다고 하면되겠다.

뒤에 나올 내용이지만.

2차원 공간에서 이동로봇의 상태가 좌표 x, y와 해딩 방향 theta가 있다고 치자

이 상태들을 위 초음파 데이터를 정규분포로 표현한것 처럼 평균 mu와 공분산 cov로 표현한게 믿음도라고 할수 있을것같다.

 

일단 믿음도는 사후확률로 표현하면 다음과 같으며

베이즈 필터로 믿음도를 계산하는 과정은 예측 단계와 관측 단계로 나누어져 있다.

예측 단계는 상태에 제어 신호를 줬을때 바뀐 상태에 대한 예측을 나타낸다.

 

처음 위 식을 봤을때 너무 막연한 표현으로 느껴졌었는데 로봇이 한 지점에 있는데 이를 정규분포로 표현하고 있다가. 10m 전진후에는 어디쯤에 있을까?를 정규분포로 표현하면 평균치는 10m 전진했을지는 몰라도 분산은 이동하면서 생긴 노이즈 때문에 더 퍼져있을것이다.

 

이 퍼진 분산을 고쳐주는게 베이즈 필터의 관측 단계로 갱신된게 로봇 상태에 대한 사후확률, 믿음도가 되겠다.

예측 단계에서는 z 1~t-1, u 1~t-1 까지 진행했으면 x_t-1을 얻었을것이다.

x_t-1에서 u_t만큼 더 가면 시간 t에서의 예측 상태 bar bel(x_t)를 얻는것이고

이 예측상태를 관측 갱신으로 보정하여 믿음도 bel(x_t)를 얻어낸다.

 

 

 

베이즈 필터

아래의 사진은 베이즈 필터의 기본 그림을 표현한다.

이게 왜 필터라고 하냐. 이전에 노이즈가 낀 초음파 거리계의 정량 데이터를 확률 모델로 표현해서 센서의 평균치와 노이즈 퍼진 정도로 표현했는데, 정량적 수치가 아닌 확률로 표현해서 그런듯 하다. 아래 알고리즘은 센서 데이터가 아닌 로봇의 상태를 추정하는 내용이긴 하지만

 

베이즈인것은 베이즈 정리에따라 예측 믿음도와 관측 역확률을 가지고 구하고하자던 사후확률을 계산해냈기 때문인듯

 

 근데 아래 베이즈 필터 알고리즘은 로봇의 상태, 제어, 관측, 예측, 갱신 전체 개념을 확률로써 표현해서 저런 흐름이지 구현 내용을 보기전에 너무 억지로 계산하려 하는건 골치아프다. 뒤에 로봇 문여는 예제와 복도 예제가 있긴한데

로봇 문여는 예제는 계산이 너무 번거로우니 복도 예제를 대충 보고 짚어넘자.

 

 

로봇 복도 예제(마르코브 위치추정)

로봇 복도 예제가 뒤에 있는줄 알았는데 앞에 있었네 --

이 예제는 1차원 공간에서 로봇의 위치가 어디에 있는지를 찾아내는 과정을 설명해주는데

 

우선 가장 먼저 초기 위치를 로봇이 어디있는지 모르니 로봇이 위치 가능성들이 균일하게 퍼져있다고 하자

대충 위치가 이산적으로 10개가 있다고 치고,

균일분포로 초기화 한다는 것은 로봇이 존재할 확률을 균일하게 준다가 되겠다.

이는 초기 믿음도 bel x_t가 된다.

위치 0 1 2 3 4 5 6 7 8 9
확률 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

 

베이즈 필터에서는 예측, 관측을 반복한다 했는데 지금은 관측부터 해보자

 

아래는 관측 모델, p(z | x)를 대충 표로 나타내어봤다.

관측 모델은 문이 여러개라 가우시안 혼합 모델 형태를 띄는데,

내가 문의 위치를 알고있고, 지금 바로 문앞에 있어서 저런 식으로 나오나 이런건 개념적으로 넘어가자 

위치 0 1 2 3 4 5 6 7 8 9
확률 0.01 0.01 0.3 0.01 0.3 0.01 0.01 0.01 0.3 0.01

 

그러면 베이즈 필터 관측 단계대로 관측 모델과 초기 믿음도를 곱해주면

아래의 믿음도가 계산된다.

문 3개있는걸 알고, 내가 문앞에 있으니 문 세개 쯤 어딘가에 있구나 정도로 생각하면 될듯. 

 

다음은 제어후 예측 단계가 되겠다.

믿음도 봉우리들이 이동하면서 노이즈가 첨가되 퍼진 형태를 보인다.

그러다 로봇이 또 문을 찾아내었다.

로봇은 문의 위치를 알고 있으니 지금의 (예측) 믿음도와 관측 모델을 곱해 갱신시켜줘보자.

그러면 아래의 믿음도 같이 가장 봉우리가 큰 지점이 나오며 믿음도가 실제 로봇의 위치에 가까워졋다!

이 상태로 로봇이 계속 전진하면

여전히 이동 노이즈로 믿음도 분산이 점점 커지긴 하지만 실 로봇의 위치를 잘 쫓아간다.

 

일단 여기까지 확률 이론으로 로봇 상태 추정을 어떻게 하는가 기본적인 느낌 정리

+ Recent posts