이 글은 Sebastian thrun의 Probabilistic Robotics를 보고 내용을 정리한 글이며, 나름 쉽게 표현하기 위해서 의역을 한 부분이 있습니다.
이전 포스팅에서 설명한 velocity motion model은 로봇의 pose에 대한 사후 확률을 계산하기 위해 로봇의 속도를 사용했습니다. 그 대안으로, 시간에 대한 로봇의 움직임을 계산하기 위한 기저(basis)로써 오도메트리(odometry) 측정을 사용할 수도 있습니다. 오도메트리는 보통 휠 인코더 정보를 통합(integrate)하여 얻게됩니다. 대부부의 상업적인 로봇들은 그런 통합된 pose 추정을 주기적인 시간마다 제공합니다.
오도메트리 모델도 여전히 에러가 있긴 하지만, 실질적인 경험상 일반적으로 속도 모델 보다는 더 정확합니다. 두 경우 모두 노이즈와 미끄러짐(slippage) 때문에 곤란하긴 하지만, 속도 모델은 실제 motion controller와 그것의 수학적 모델 사이의 불일치까지 고려해야합니다. 하지만, 오도메트리는 로봇이 움직인 후 그 과정을 재확인하는 경우에만 사용할 수 있습니다. 이 오도메트리를 통한 pose는 나중에 소개할 로봇 위치 추정이나 맵핑(mapping)알고리즘같은 필터 알고리즘에는 문제가 없지만, motion planning이나 control에는 필요가 없습니다.
1. Closed Form Calculation
엄밀히 말해서, 오도메트리 정보는 센서 측정이지, 컨트롤이 아닙니다. 오도메트리를 측정값으로써 모델링하기 위해, 베이즈 필터 결과는 실제 속도값을 상태 변수(state variable)로써 포함할 것입니다(이 것은 상태 공간의 크기를 증가시킵니다). 상태 공간(state space)를 작게 유지하기 위해서는 일반적으로 오도메트리 데이터를 컨트롤 신호처럼 생각합니다. 이 포스팅에서는 오도메트리 측정을 컨트롤처럼 다룰것입니다.
이제 우리의 컨트롤 정보에 대한 포맷(format)를 정의하겠습니다. 시간
오도메트리 모델은 로봇 내부의 오도메트리에 의해 측정된 상대적 운동 정보(relative motion information)를 사용합니다. 자세히 말하자면, 시간 구간

상대적인 오도메트리를 추출(extract)하기위해서

각각의 위치 쌍
확률적 운동은 이 세 파라미터들이 독립적인 노이즈에 영향을 받는다고 가정합니다. 수학적으로 자세하게 들어가기 이전에, 이 확률 밀도를 계산하기 위한 기본적인 알고리즘을 보겠습니다. table 5.5는 오도메트리로부터

이 알고리즘은 초기의 pose
table 5.5의 line 2부터 4는 relative motion parameter

그림 5.8은
2. 샘플링 알고리즘(Sampling Algorithm)
Table 5.6의 sample_motion_model_odometry는 샘플링 접근을 보여줍니다.

위 알고리즘은 초기 pose


그림 5.10은 시간이 지남에 따른 로봇 운동 모델을 나타냈습니다. 이 데이터는 로봇의 오도메트리가 그림의 직선 경로를 따라간다고 가정했을 때, 파티클 필터 알고리즘(table 4.3.)의 motion update방정식을 이용하여 만들어졌습니다. 이 그림은 로봇이 움직임에 따라 불확실성이 어떻게 커지는지 보여줍니다.
'Study > Probabilistic Robotics' 카테고리의 다른 글
6.3. Beam Models of Range Finders (0) | 2020.09.16 |
---|---|
6. Robot Perception (0) | 2020.09.12 |
5.3. Velocity Motion Model (0) | 2020.09.10 |
4.3. The Particle Filter (0) | 2020.09.10 |
3.3 The Extended Kalman Filter (0) | 2020.09.10 |