카테고리 없음

패스트캠퍼스 환급챌린지 44일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

연두부진 2025. 4. 17. 23:36

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

오늘은 새로운 로봇을 사용해서

RGB - D Visual SLAM을 실습해 보았다.

 

[오늘의 수강 영상]

 

[오늘의 실습]

 

오늘은 Black Coffee Robotics에서 만든 로봇을 사용해서

RTAB - Map이라는 RGB - D Visual SLAM을 돌려보았다.

 

RTAB - Map이란?

Real - Time Appearance - Based Mapping의 약자로

RGB-D 카메라, 스테레오 카메라, LIDAR 등 다양한 센서 조합등을 사용하여,

시각적 및 depth 정보를 기반으로 지도를 생성하고 자신의 위치를 동시에 추정하는 SLAM 기법이다.

 

RTAB - Map은 여러 가지 특징을 가지고 있다.

 

1. RTAB - Map은 다양한 센서를 지원한다.

 

RGB-D 카메라, 스테레오 카메라, 2D LiDAR, IMU,

Wheel Odometry 등의 다양한 센서 지원한다.

 

2. key frame 기반의 접근법을 사용하고 있다.

 

key frame 기반의 접근법이란?

"중요한 frame"만 골라서 처리하는 방법이다.

 

이를 사용하는 이유는 영상 속에 있는 모든 frame을

사용하게 되면 계산량이 너무 많아져서 비효율적이기 때문이다.

 

key frame을 고르는 기준은 아래와 같다.

 

1) 카메라가 일정 거리 이상 이동했을 때

2) 회전이 일정 각도 이상 바뀌었을 때

3) 현재 frame과 이전 key frame과의 특징점 매칭 결과가 낮을 때

 

3. Loop Closure Detection을 수행한다.

 

Loop Closure란?

로봇이 이전에 지나갔던 장소를 다시 방문했을 때

같은 장소라는 것을 인식하고 자기 위치와 지도를 조정하는 과정이다.

 

map을 그리는 도중에 센서의 부정확성 때문에

위치 추정에 오차가 누적되게 되고

시간이 지날수록 전체 경로와 지도에 왜곡이 발생하게 된다.

 

이 문제를 해결하기 위해서 Loop Closure를 수행하는 것이다.

 

4. Graph - based Optimazation를 사용한다.

 

Graph - based Optimazation란?

로봇의 pose들을 graph로 표현하고

각 위치 사이의 관계를 기반으로 전체 경로를 최적화하는 방식이다.

 

주로 로봇의 pose를 Node로 사용하고

두 Node 간의 관계인 위치 변화를 Edge로 나타내고 있다.

출처 : https://alida.tistory.com/16

 

5. 실시간으로 처리한다.

 

로봇이 움직이는 동안에도 지속적으로

위치를 추정하고 map을 업데이트한다.


 

활용되는 센서 조합은 아래와 같다.

 

1. RGB-D Camera + Wheel Odometry + 2D LiDAR

2. RGB-D Camera + 2D LiDAR

3. 2D LiDAR only

4. 2D LiDAR + Wheel Odometry

5. RGB-D Camera + Wheel Odometry

6. RGB-D Camera Only

7. Stereo Camera


 

실제로 로봇을 켜보면 아래와 같은 환경에 놓여 있으며

센서값들도 잘 보이는 것을 알 수 있다.

 

그 후 RTAB - Map을 실행시켜 보면 아래와 같이

trajectory를 graph로 그리면서

왼쪽 화면에서는 Loop closure detection을 하고 있는 것을 볼 수 있다.

 

맨 위가 현재 보고 있는 이미지,

중간에 빨간색으로 되어있는 것이 Database에서 현재 이미지(query)와 같다고 생각되는 이미지,

맨 밑이 현재 이미지에서 추출되고 있는 feature를 함께 보여주는 이미지이다.

 

 

이를 실시간으로 보면 아래와 같다.

 

영상 중간에 보면 화면이 빨간색으로

바뀌는 경우가 있는데 이는 현재 위치를 추적하지 못했다는 뜻으로

이전에 봤던 화면을 다시 보여주어서 위치를 다시 추적하였다.


오늘은 이와 같이 RTAB - Map을 실행해 보면서

map을 그려보았다.

 

항상 실제 환경에서만 이미지 데이터를

로깅해 보다가 시뮬레이션을 통해 하니까

어렵다는 걸 느끼게 되었다.

 

왜냐하면 map을 만들 때 원래 제자리에서 바로 90도 회전을 하면

blur 현상이 생길 수 있어서 가면서 자연스럽게 자동차 운전하듯이

진행해야 그나마 위치 추적을 잘할 수 있을 텐데

시뮬레이션 환경에서 진행하다 보니 그게 어려웠기 때문이다.

 

또한, LiDAR와 달리 이건 볼 수 있는 장면이

너무 한정적이고 feature가 적다면 위치 추적이 끊기는

현상이 계속 발생하여서 쉽게 mapping을 하기 어려웠다.

 

카메라의 FOV를 조금 넓게 해서 feature를

더욱 많이 뽑을 수 있다면 조금 수월할 것 같지만

현재 가지고 있는 카메라가 그렇지 못해서 더욱 어려웠던 것 같다.

 

그래서 중간에 동영상을 보면 잘 가고 있다가

한 구간에서 feature가 너무 적어서 계속 위치 추적에

실패하는 것을 볼 수 있다.

 

오늘 RTAB - Map을 수행할 때 계속해서 RTAB - Map을

볼 수 있는 화면이 계속 꺼지는 현상이 있었다.

 

그래서 해결방법을 찾아보니

GPU 드라이버가 안 깔려있는 것을 확인했다.

 

이를 해결하기 위해 GPU 드라이버를 깔았고

그 후 RTAB - Map도 원활하게 돌아가고

저번에 시뮬레이션 환경 화면이 어두워 보이고

제대로 렌더링 되지 않는 문제도 해결되어서

뿌듯한 하루였다.


공부 시작시간
공부 종료시간

 

#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완

https://bit.ly/4hTSJNB

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr