SLAM 루프 클로저 오검출 줄이려고 한 현실적 타협
· tech
실내 로봇에서 루프 클로저 오검출이 지도 왜곡으로 이어질 때 게이팅 조건을 조정한 경험.
지도는 예쁘게 나오는데 특정 구간에서 갑자기 꺾이듯 왜곡됐다. 로그를 보니 루프 클로저가 잘못 붙는 순간이 있었다.
처음엔 특징점 수만 늘렸지만 효과가 없었다. 오히려 유사한 복도 패턴에서 오검출이 더 늘었다.
그래서 조건을 보수적으로 바꿨다.
- 최소 inlier 수 상향
- 최근 N초 이내 프레임과는 루프 후보 제외
- IMU yaw 변화량이 큰 구간은 루프 점수 가중치 하향
그 결과 오검출은 크게 줄었고, 글로벌 일관성도 좋아졌다.
다만 장거리 누적 드리프트는 조금 늘었다. 이건 트레이드오프다. 실서비스에서는 “왜곡 없는 지도”가 더 중요해서 보수 설정을 유지했다.
이번 주 기술 이슈 (문제-해결형)
ROS 2 / Autoware 생태계 문서 업데이트에서 성능·QoS·TF 주제가 반복적으로 언급
- ROS docs
- Autoware docs
로보틱스 스택은 알고리즘 자체보다 데이터 흐름 정책(QoS, frame, timeout)이 체감 성능을 좌우한다. 실무에서 CPU 스파이크와 프레임 드롭은 대개 동일 원인의 다른 표현이다. 그래서 이슈를 분리해서 계측하고, 병목을 노드 단위로 잘라 보는 방식이 가장 재현성이 높다.
참고
- ORB-SLAM 계열 루프 클로저 논문/문서
- g2o 최적화 라이브러리