이 게시글은 장형기 님의 SLAM 기술 면접 질문 100선에 대한 답을 제 나름대로 정리한 것입니다.
SLAM에서 가장 자주 발생하는 오류 중 하나가 Drift입니다.
Drift는 SLAM 실행 중 누적되는 위치 오차로 인해, 실제 위치와 SLAM으로 만들어진 맵 사이의 불일치를 유발하는 현상을 말합니다.
센서 노이즈: 카메라, IMU, LiDAR 모두 완전한 센서가 아니기 때문에 센서 노이즈를 가지고 있습니다. 이것은 SLAM의 Drift를 유발할 수 있습니다.
오차 누적: 최적화 과정에서 오차를 0으로 만드는 것이 아니기 때문에 아주 작은 오차라도 누적이 되면 큰 오차로 나타날 수 있습니다. 이것은 Drift의 원인이 됩니다.
Motion model의 부정확성: 이동 속도, 방향 등의 추정값이 실제와 차이가 있을 경우 Drift가 발생할 수 있습니다.
Loop Closure: 동일한 장소를 다시 방문했을 때 이 정보를 이용하여 누적된 오차를 보정할 수 있습니다. 앞에 Loop Closing에 대해 정리한 것이 있으니 참고하면 좋을 것 같습니다.
센서 융합: 여러 센서를 결합해 노이즈 오차를 상쇄하는 방법도 있습니다. IMU와 LiDAR, Camera를 fusion하여 노이즈를 상쇄하기도 하는데 반대로 망할 수도 있습니다.
SLAM의 성능은 drift를 얼마나 최소화하는지가 결정하는 것입니다.
이를 어떻게 보정하는지에 따라 매우 많은 SLAM기법이 만들어집니다.
완전히 없앨 수는 없지만 이것을 최소화하려면 최적화 기법, 센서 융합 등 공부할게 많다고 느낍니다.