8.87 확률론적 운동 모델의 구성
1. 확률론적 운동 모델의 정의
운동 모델(motion model) 또는 상태 전이 모델(state transition model)은 제어 입력과 현재 상태가 주어졌을 때 다음 상태의 확률 분포를 기술한다.
p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)
실제 로봇의 움직임은 이상적 동역학 모델과 달리 바퀴 슬립, 기어 백래시, 지면 불규칙성, 제어 오차 등에 의해 불확실성을 갖는다. 확률론적 운동 모델은 이러한 불확실성을 잡음으로 통합한다.
2. 운동 모델의 일반 형태
결정론적 동역학에 잡음을 추가한 형태이다.
\mathbf{x}_t = g(\mathbf{x}_{t-1}, \mathbf{u}_t) + \boldsymbol{\epsilon}_t
여기서 g는 결정론적 운동 함수, \boldsymbol{\epsilon}_t는 프로세스 잡음이다.
3. 이동 로봇의 운동 모델
3.1 오도메트리 운동 모델
오도메트리(odometry)는 바퀴 회전 측정으로부터 상대 이동을 계산한다. 연속 두 시각 t-1과 t 사이의 상대 운동을 세 성분으로 분해한다.
- \delta_{\text{rot}_1}: 첫 번째 회전
- \delta_{\text{trans}}: 직선 이동
- \delta_{\text{rot}_2}: 두 번째 회전
각 성분에 가우시안 잡음이 추가된다.
\hat{\delta}_{\text{rot}_1} = \delta_{\text{rot}_1} + \mathcal{N}(0, \alpha_1\lvert\delta_{\text{rot}_1}\rvert + \alpha_2\delta_{\text{trans}})
\hat{\delta}_{\text{trans}} = \delta_{\text{trans}} + \mathcal{N}(0, \alpha_3\delta_{\text{trans}} + \alpha_4(\lvert\delta_{\text{rot}_1}\rvert + \lvert\delta_{\text{rot}_2}\rvert))
\hat{\delta}_{\text{rot}_2} = \delta_{\text{rot}_2} + \mathcal{N}(0, \alpha_1\lvert\delta_{\text{rot}_2}\rvert + \alpha_2\delta_{\text{trans}})
잡음 분산이 운동 성분의 크기에 비례함에 주목해야 한다. 이는 큰 운동에서 잡음이 증가하는 실제 현상을 반영한다. \alpha_1, \ldots, \alpha_4는 로봇별 캘리브레이션 매개변수이다.
3.2 속도 운동 모델
선속도 v와 각속도 \omega가 제어 입력인 경우의 모델이다. 차동 구동 로봇에 적합하다.
\mathbf{x}_t = \mathbf{x}_{t-1} + \begin{bmatrix}-\frac{v}{\omega}\sin\theta + \frac{v}{\omega}\sin(\theta + \omega\Delta t) \\ \frac{v}{\omega}\cos\theta - \frac{v}{\omega}\cos(\theta + \omega\Delta t) \\ \omega\Delta t\end{bmatrix}
제어 입력에 잡음이 추가된다.
\hat{v} = v + \mathcal{N}(0, \alpha_1 v^2 + \alpha_2\omega^2)
\hat{\omega} = \omega + \mathcal{N}(0, \alpha_3 v^2 + \alpha_4\omega^2)
3.3 자동차 운동 모델(Bicycle Model)
자전거 모델은 자동차 형태 로봇의 운동을 기술한다. 조향각 \delta와 선속도 v가 제어 입력이다.
\dot{x} = v\cos\theta, \quad \dot{y} = v\sin\theta, \quad \dot{\theta} = \frac{v}{L}\tan\delta
여기서 L은 휠베이스이다.
4. 강체 로봇의 운동 모델
매니퓰레이터나 공중 로봇의 상태 (\mathbf{q}, \dot{\mathbf{q}})에 대한 동역학 운동 모델은 다음과 같다.
\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} + \boldsymbol{\epsilon}
프로세스 잡음 \boldsymbol{\epsilon}은 미모델된 마찰, 외란, 모델 오차를 반영한다.
5. 연속 시간과 이산 시간의 변환
연속 시간 동역학 \dot{\mathbf{x}} = f(\mathbf{x}, \mathbf{u})를 이산 시간으로 변환한다.
5.1 오일러 적분
\mathbf{x}_t = \mathbf{x}_{t-1} + \Delta t \cdot f(\mathbf{x}_{t-1}, \mathbf{u}_t)
5.2 룽게-쿠타 적분
고차 정확도의 이산화가 필요한 경우 RK4 등이 사용된다.
5.3 연속 시간 잡음의 이산화
연속 시간 백색 잡음 \boldsymbol{\epsilon}(t)의 이산 시간 표현:
\mathbf{Q}_d \approx \mathbf{Q}_c\Delta t
여기서 \mathbf{Q}_c는 연속 시간 잡음의 스펙트럼 밀도이고, \mathbf{Q}_d는 이산 시간 공분산이다.
6. 모델 파라미터의 캘리브레이션
운동 모델의 잡음 매개변수 \alpha_i는 실험적으로 결정되어야 한다.
6.1 최대 가능도 추정
알려진 참 궤적(ground truth)과 오도메트리 데이터의 쌍으로부터 MLE로 파라미터를 추정한다.
6.2 EM 알고리즘
잠재 변수(참 상태)가 있는 경우 EM 알고리즘으로 매개변수와 상태를 교대로 추정한다.
7. 비가우시안 운동 모델
7.1 혼합 모델
미끄러짐, 충돌 등 드문 사건을 포함하기 위해 혼합 모델이 사용된다.
p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t) = w_1 p_1(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t) + w_2 p_2(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)
7.2 학습 기반 운동 모델
가우시안 과정 회귀나 신경망으로 운동 모델을 학습한다. 실제 데이터로부터 비선형 잔차 오차를 포착한다.
8. 로봇 공학에서의 활용
베이즈 필터의 예측 단계: 운동 모델이 상태 예측의 핵심이다.
SLAM: 로봇 운동의 불확실성이 궤적 추정의 불확실성에 전파된다.
궤적 예측: 자율 주행에서 다른 차량의 예측에 확률론적 운동 모델이 사용된다.
9. 참고 문헌
- Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic Robotics. MIT Press.
- Siegwart, R., Nourbakhsh, I. R., & Scaramuzza, D. (2011). Introduction to Autonomous Mobile Robots (2nd ed.). MIT Press.
- Barfoot, T. D. (2017). State Estimation for Robotics. Cambridge University Press.
version: 1.0