이전 keyframe 기준 로봇이 일정 거리만큼 움직임
→ 하지만 그 거리가 “적당히” 멀어야 함
→ Keyframe 사이의 거리가 너무 멀어지게 되면 pose 추정을 하는 것이 오히려 부정확해짐
이전 keyframe 기준 어느 정도 시간이 흘렀을 경우, 다음 keyframe을 생성
2D, 3D 공간 상에서 Rotation을 표현하는 방법
SO(3)
를 Angle-axis Representation
으로 parametrization를 하는 이유
SO(3)
의 3x3 rotation matrix를 표현하려면 6개의 parameter가 필요한 반면, Angle-axis Representation
으로 rotation을 표현하면 3개의 parameter만으로 3D rotation을 표현 가능
quaternion
으로 parametrization을 하면, quaternion
의 크기가 1이어야 한다는 constraint 때문에 optimization을 할 때 상당히 까다로움3차원 상에서의 Rotation에 대한 uncertainty
($\tilde{\mathrm{R}}$)는
의 곱으로 아래와 같이 표현이 가능 ($\rm{SO(3)}\times\rm{SO(3)}=\rm{SO(3)}$):
$$ \tilde{\mathrm{R}}=\mathrm{R} \operatorname{Exp}(\epsilon), \quad \epsilon \sim \mathcal{N}(0, \Sigma) $$
Graph SLAM 관점에서의 uncertainty
Factor graph SLAM의 최종 목표: 아래의 optimization 수식을 푸는 것
$$ \mathbf{x}^{*}=\operatorname{argmin} \sum_{\mathbf{x}} \mathbf{e}{i j}^{T} \Omega{i j} \mathbf{e}_{i j} $$
“$\epsilon$이 크다”의 의미
manifold에서 IMU preintegration의 목적
<aside> 💡 3D 공간 상의 rotation의 uncertainty를 exponential map을 활용하여 표현함으로써, 기존의 factor graph SLAM framework를 그대로 사용해서 optimization하는 것이 가능하다.
</aside>