F1Tenth/SLAM
LiDAR-based SLAM; SLAM Toolbox
onebeany
2024. 4. 22. 17:26
(2024.3)
catographer로 했던 SLAM은 맵을 이상하게 만들길래, UPenn에서 추천하는 SLAM Toolbox로 다시 SLAM을 시도해보았다.
SLAM
작년에 참여했던 The 2nd F1Tenth Korea championship의 Map과, F1에서 사용한 spielberg map과 비슷하게 만들어서, 총 두 개의 맵에서 SLAM을 시도했다.
1) Map of The 2nd F1Tenth Korea Championshp
- 첫 번째 시도: 그냥 두 세 바퀴 정도 돌았을 때에는, 맵이 이상하게 그려졌다.
a) 한 바퀴는 괜찮은데, 여러 바퀴를 돌면 오히려 맵이 이상해졌다.
b) trajectory가 문제인지 아니면 보정 상의 문제인지 잘 모르겠었다.
c) 가운데 벽의 폭이 얇아 보정과정에서 동일 위치로 여겨 자동 보정이 잘못된 것이 아닐까 하는 생각이 들긴 했다.- 가운데 분리벽이 얇다보니, 한 바퀴 돌 때에 있어 반대편 A에서 도는 것도 그 반대편 B에서 이루어지는 것으로 판단해서, 보정될 때 아예 합쳐진게 아닐까 싶었다.
- 두 번째 시도: 최대한 비슷한 trajectory로.
- trajectory를 최대한 비슷하게 하면서 몇 바퀴 주행한 결과, 큰 왜곡없이 map이 만들어지는 것을 확인할 수 있었다. SLAM Toolbox 상에서 주행 중 보정이 잘 되는 것도 확인했고.
- 1번에서 잘 안된 것이 첫 번째 바퀴와 두 번째 바퀴 간의 Tracjectory 차이 문제인지, 보정을 이상하게 한 문제인지 헷갈렸다.
깔끔한 map을 확인할 수 있다.
2) Spielburg Map
장애물이 있을 때나 없을 때나 모두 SLAM을 통해 정상적인 맵이 얻어졌다.
결론
1번과 2번을 통해 SLAM이 잘 안되는 경우에 대한 나의 결론은 아래와 같다.
Tracjetory의 문제라기 보다,
1. 맵이 상대적으로 단순하고 비슷한 구조, 혹은 잘못 인식할 수 있는 구조의 맵에서는 mapping에 있어 보정이 잘못 이루어진다.
2. 조금 크고 다양하게 인식할 수 있는 구조의 Map에서는 보정이 정상적으로 이루어진다.
앞으로 SLAM Toolbox를 통해 SLAM 및 MAP을 만드는 것으로 결정했다. 다만 나중에 cartographer도 한 번 뜯어봐야겠다...