[젯슨과인노 프로젝트]자율 주행 배달 로봇 Selly(9)_openVSLAM과 cartographer의 실패

openVSLAM 오픈소스 for visual SLAM(카메라 기반)과 cartographer 구글 오픈소스 for SLAM(라입니다 기반)이 모두 실패하면서 과인의 지난 한 달 반이 사라져버렸다…ㅠㅠ​슬램이 자율주행에 핵심 기술인걸로 알고 있는데… 실외에서 잘 작동하지를 않는다는 것이 문제입니다.​​visual SLAM의 경우에는 비쥬얼 슬램 자체가 feature point를 잡아서 feature point 개수의 변천&거리 변천로 mapping을 하는 기술인 것 같은데(어떻게 mapping하는지는 정확히는 모르겠다. feature point를 이용하는 것만 알겠소리.), 알다시피 feature point는 천장, 바닥, 벽면 같은 plane에서는 절대적 detection 되지 않으니까…​

>

참그러므로 openVSLAM에서 재공하는 데이터셋은 모두 실내(주로 복도, 통로)이다니다.특히, 카메라를 360도 전방위 카메라를 사용해서 오른쪽 사진처럼 key frame(가령은 key point, feature point 등등으로 부르는 그거)도 많이 잡힘.​​하지만 실외만 나갔다 하면

>

​….?사실 얘같은 경우는 맵이 이상하게 그려지긴 하지만 어느정도 위치 추정이 가능하긴 하다. 지나온 길 주변에 자동차, 조형물, 나무 그림자 등이 많아 특징을 적지 않게 추출할 수 있기 때문입니다니다.​​

>

문재는 테스트 구간입니다.​특히 selly를 시범 운행하기로 한 정문에서 센터까지의 도로가 입니다자무 좋은 도로라서 segmentaion & object detection에는 무지 좋고 실제 driving에도 좋은데, visual SLAM에는 무지무지 안 좋다..넓고 깨끗한 도로 = plane = feature가 추출 안 됨 = SLAM 못 함​아무튼, 테스트 구간에서 feature를 추출하지 못하는 관계로 기술 사용이 어려워졌다.(테스트 백이면 백 실패)​

전의 포스팅에서처럼 실내에서 카토그래퍼는 제법 성공적이었다.(이 때 얼마본인 기뻤는데ㅠㅠ)그러므로 비쥬얼 슬램이 테스트구간에서 실패함에 따라 카토그래퍼를 사용하려고 하였다.​문제는 우리 팀이 사용하는 라이다 센서가 최대 측정 범위가 11m로 상당희 짧은 센서라는 점이다. 실외로 본인가니 공간이 너희무 넓어 LaserScan으로 맵이 그려지지 않았다…

>

(귀찮아서 우리 팀원이 편집한거 가져와땋ㅎ)​​라이다 센서 자체가 레이저를 쏴서 반사되는 시간으로 물체와의 거리를 구하는 센서이기 때문에, 반사되는 값이 없을만큼 넓고 트인 공간에서는 맵이 잘 그려지지 않는 것…​역시 다른 사건도 발견하였는데, 즉시 zed 카메라에서 가져오는 odometry 센서의 누적 오차이었다넓은 공간(실내)으로 과인와서 시작점을 정해두고 한 바퀴 돌아서 odometry path를 측정해보았더니, 누적 거리 오차가 점점 심해져서 시작점과 끝 점이 맞지 않는 사건가 있었다.​​조사실은 물건이 많고 파티션이 벽처럼 세워져 있어 레이저 반사가 잘 되었고, 좁은 공간이라 거리 누적 오차가 심하지 않아 맵이 비교적 잘 그려진 것 같다.하긴 실제 자율주행차에는 몇천만원이 훌쩍 넘는 라이다 센서가 들어가는데 우리가 사용하는 라이다는 10만원도 안 되는 거라 당연한 결과일지도 모르지만, 이 프로젝트를 진행하며 자율주행에 진짜로 얼마과인 많은 센서가 들어가고, 센서 의존도가 얼마과인 큰 지 매번 느끼는 것 같다..​​두 기술 다 실패하고, 방금 GPS와 zed카메라의 odometry 데이터를 가지고 경로 설정과 내비게이션을 하는 비결을 조사하고 있다.(ㅠㅠ)