

2.4.1 The Bayes Filter Algorithm
- 가장 일반적인 calculating beliefs알고리즘은 Bayes filter algorithm이다.
- 이 알고리즘은 measurement data와 control data를 이용하여 belief distribution bel을 계산한다.
- 먼저, 기본 알고리즘을 제시하고 수치 예제로 설명한뒤, 지금까지 세운 가정들을 수학적으로 유도한다.
- 표 2.1은 기본 Bayes filter의 의사코드이다.
- Bayes filter는 재귀적으로 동작하며, 시간 t에서의 belief bel( x_t )는 이전 시간( t-1 )의 belief bel( x_t-1 )로부터 계산된다.
- 입력되는 값으로는 이전 시각( t-1 )의 bel , 가장 최근의 제어( u_t ) , 가장 최근의 측정( z_t )가 들어간다.
- 출력으로는 시간 t에서의 bel( x_t )를 반환한다.
- 표 2.1에는 한 단계만 update rule이 나타나있으며, 이를 재귀적으로 적용해서, 이전에 계산된 bel( x_t-1 )로부터 bel( x_t ) 을 구한다.
- Bayes filter 알고리즘에는 2가지의 핵심 단계가 존재한다.
- 1. Control Update ( prediction )
- 라인3에서 제어( u_t )를 처리한다. 이전상태( x_t-1 )에 대한 prior belief와 제어( u_t )가 주어질때, 상태 x_t에 대한 belief bel( x_t )는 두 분포의 곱을 적분(혹은 sum)한 결과로 얻어진다.
- 구체적으로는, prior로 할당된 bel( x_t-1 )와 제어( u_t )가 x_t-1에서 x_t로 전이(transtion)을 유도할 확률인 p( x_t | x_t-1 , u_t )의 곱을 모든 x_t-1에 대해서 적분한다. 이는 식 2.12와 유사하다.
- 2. Measurement Update
- 라인4에서 측정( z_t )를 처리한다.
- 각 가상의 posterior상태인 x_t에 대해서, bel( x_t )에서 측정( z_t )가 관측될 확률인 p( z_t | x_t )를 곱한다. 이 곱의 결과는 일반적으로 1이 되지 않으니 정규화가 필요하다.
그래서, 정규화 상수 η를 이용해서 bel( x_t )를 정규화한다. 이 과정을 거쳐서 최종적인 posterior belief bel( x_t )가 완성되며, 최종적으로 라인6에서 반환된다.
- 1. Control Update ( prediction )
==> 이제 posterior belief를 재귀적으로 계산하기위해서, 경계 조건( boundry condition)으로 시간 t=0에서의 초기 belief bel( x_0 )이 필요하다.
=======> x_0을 완전히 알고있다면, bel( x_0 )는 x_0의 정확한 값에 모든 확률 질량을 집중시키는 점 질량(point mass) 분포로 초기화한다.
=======> 초기 값 x_0에 대해 전혀 정보가 없다면, bel( x_0 )을 x_0의 정의역 전체에 균일(uniform) 분포로 초기화하거나, Dirichlet 계열의 분포를 사용할 수 있다.
=======> 초기 값 x_0에 대해 부분적인 지식이 있을 때는 비균일(non-uniform) 분포로 표현할 수 있다. 그러나 실제로는 완전 지식( full knowledge )과 완전 무지( full ignorance ) 두 경우가 가장 흔히 사용된다.
- Bayes filter 알고리즘은 여기서 제시한 형태로 매우 단순한 추정 문제(simple estimation problems)에만 구현할 수 있다.
- 즉, Line 3의 적분(integration)과 Line 4의 곱셈(multiplication)을 닫힌 형식(closed form)으로 수행할 수 있거나, 유한 상태 공간(finite state spaces)으로 제한하여 Line 3의 적분을 유한 합(finite sum)으로 대체할 수 있을 때만 사용 가능하다.

2.4.2 Example
- 우리의 Bayes filter algorithm 예시는 Figure 2.2의 시나리오를 기반으로 한다.
- 이 그림은 robot이 camera를 사용하여 door의 상태를 추정하는 모습을 보여준다.
- 이 문제를 단순화하기 위해 door는 open 혹은 closed의 두 가지의 가능한 state 중 하나에 있을 수 있고, door의 state를 변경할 수 있는 것은 오직 robot뿐이라고 가정하자.
- 또한 robot은 처음에 door의 상태를 알지 못한다고 가정하자.
- 대신 두 가지의 가능한 door state에 대해 동일한 사전확률( prior probability )를 할당한다. ( 식 2.37과 2.38 )
- 또한 로봇의 센서가 잡음(noisy)을 포함한다고 가정하자. 이 잡음은 조건부 확률로 주어진다. ( 식 2.39 )



- 위와 같은 확률들은 로봇의 센서가 closed_door를 감지하는데, 에러가 발생할 확률이 0.2인 것으로 상대적으로 신뢰할 만 하다고 할수있다.
- 그러나 door가 open인 경우에 측정 실패 확률이 40%이다.
- 마지막으로, 로봇이 manipulator를 사용해서 door를 push_to_open한다고 가정하면...
- door가 이미 open상태라면, 계속 open상태를 유지하고....
closed상태라면, 조작후에 open 상태가 될 확률이 80%이다.( 식 2.41 , 2.42 참고 )
- door가 이미 open상태라면, 계속 open상태를 유지하고....

- 그리고 만약에 로봇이 manipulator를 사용할수 없는 상황이라서, 어떠한 state도 바뀌지 않는다면, 식 2.43과 식 2.44를 따른다.

- 시간 t에서, 로봇이 어떠한 제어 동작(control action)도 취하지 않고, 오직 문이 열림(sense_open)을 감지했다고 가정하자.
- 이때 얻어지는 posterior belief는 Bayes filter에 이전의 prior belief bel ( X_0 ), 제어 u_1 = nothing , 측정값인 sense_open을 입력으로 하여 계산된다. ( Bayes_filter( bel(X_0) , u_1 , z_t = sense_open ) )
- 상태 공간이 유한(finite)이니, 라인3의 적분은 유한 합(finite sum)으로 바뀐다.

- 이제 상태 변수 X_1의 두가지 가능한 값에 대해서 대입해보자.
- X_1 = is_open에 대해서 얻어지는 predicted belief는 식 2.46과 같다.
- X_1 = is_close에 대해서 얻어지는 predicted belief는 식 2.47과 같다.
- ==> 위 2개의 식의 결과는 초기 belief인 bel( x_0 )과 같다는 사실은 놀랍지 않다. 왜냐하면 do_nothing은 state of the world에 아무런 영향을 주지않기 때문이다.


- 하지만, measurement를 반영하면 belief가 바뀐다. Bayes filter알고리즘의 라인4는 이러한 것을 식 2.48과 같이 나타낸다.

- For the two possible cases, X_1 = is_open과 X_1 = is_closed가 있다.




===> 지금까지 예시의 과정을 X_2에서 전이시키면 아래와 같다.

- 이 시점에서 로봇은 확률(probability) 0.983로 문이 열린 상태(open)라고 belief하며, 따라서 두 번의 measurements가 모두 correct했다고 본다.
- 얼핏 보기에는 이 probability가 충분히 높아 이 hypothesis를 world state로 단순히 accept하고 act accordingly해도 될 것처럼 보인다.
- 그러나 이와 같은 접근법은 불필요한 낭비를 초래할 수 있다.
- 만약 닫힌 문을 열린 문으로 잘못 판단하면 비용이 발생한다면 , 두 가지 가설을 모두 고려하는 결정이 필요합니다.
- 0.983의 확률로 비행기가 추락하지 않는다고 생각하고 자동 조종으로 비행한다고 상상해 보아라.
'책 > probability robotics' 카테고리의 다른 글
| 3.2 THE KALMAN FILTER - 3.2.2 The Kalman Filter Algorithm (0) | 2025.05.22 |
|---|---|
| 3.2 THE KALMAN FILTER - 3.2.1 Linear Gaussian Systems (1) | 2025.05.22 |
| 2.3 RobotEnvironmentInteraction (0) | 2025.05.20 |
| 2.2 BASIC CONCEPTS IN PROBABILITY (2) | 2025.05.20 |
| 1.3 IMPLICATIONS (0) | 2025.05.20 |