여러개의 map을 하나로 합치려면 어떻게 해야할까요?

SJ·2024년 12월 19일
0

이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 저의 답을 나름대로 정리해본 것입니다.
시험이 오늘 끝나서 이제 다시 시작합니다.


서로 다른 map을 합칠 때 가장 먼저 해야하는 것은 좌표계를 정렬하는 것입니다.
좌표계를 정렬하기 위해서 맵 서로 간의 transformation matrix를 구해야 합니다.
이것은 보통 ICP, 또는 ORB, SURF 같은 알고리즘을 통해 계산합니다.

map의 종류에 따라 다른 방법으로 병합할 수 있을 것 같습니다.

1) Grid map

grid map의 경우 동일 좌표계로 변환한 두 맵을 합치고 grid 안을 필터링 해주면 됩니다.
각 셀의 점유 확률을 Bayes 필터를 사용하거나 평균을 내서 계산합니다.

2) Point Cloud Map

Point cloud map의 경우 각 맵의 점을 그대로 변환하여 이동한 후 중복점을 제거합니다.
중복 제거를 할 때 Tree 구조를 사용하거나 voxel grid filter를 활용하여 수행합니다.
아니면 down sampling을 통해 너무 가까운 point cloud를 제거하여 맵 병합을 수행합니다.


여러 submap을 합쳐 보긴 했는데 보통 coordinate를 맞추고 붙이기만 하는 것으로 알고 있습니다.
더 잘 병합하려면 어떻게 해야할지 한 번 생각할 필요가 있겠네요. 감사합니다.

profile
student

0개의 댓글