카테고리 없음

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

연두부진 2025. 4. 7. 23:19

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

 

오늘은 어제 실행했던 cartographer에서 map을 모두 완성한 후

저장하는 실습과 저장된 파일들에 대해서 알아보았다.

 

[오늘의 수강 영상]

 

 

[오늘의 실습]

 

먼저 로봇을 이동시키면서 map을 완성했다.

 

Cartographer 등의 2D LiDAR 기반 SLAM 알고리즘을 통해

생성한 지도를 저장하려면 nav2_map_server 패키지의

map_saver노드를 실행시켜야 한다.

 

$ ros2 run nav2_map_server map_saver_cli -f bookstore

 

이를 원하는 위치에서 실행시켜 맵을 저장하면

아래와 같이 두 개로 나뉘어서 저장된다.

 

pgm파일과 yaml파일로 나뉘어서 저장된다.

 

pgm파일이란?

이미지 파일로서 Occupancy Grid Map 기반의 지도파일이다.

 

생성된 pgm파일을 보면 아래와 같다.

 

yaml파일이란?

지도의 metadata가 포함된 속성파일이다.

 

yaml파일을 들어가 보면 아래와 같이

여러 가지 속성파일을 볼 수 있다.

 

image

 생성된 지도의 이미지가 포함된 파일 이름이다.

resolution

지도의 해상도(단위: m/pixel)이다.

occupied_thresh

이 값보다 큰 픽셀은 점유 영역 (장애물로 표시됨)으로 간주한다.

free_thresh

이 값보다 작은 값을 가진 픽셀은 완전히 비어 있는 영역으로 간주한다.

negate

맵의 색상을 반전 (검은색 - free / 흰색 - occupied)

mode : trinary

검은색, 흰색, 회색 이렇게 세 개로 영역을 나누는 것이다.

origin

지도의 왼쪽 하단 2D 픽셀 좌표 (x, y, theta)이다.

 

이렇게 지도를 저장한 후에 저장된 지도를

다음에 사용할 수 있도록 워크스페이스를 다시 빌드해 준다.

$ colcon build --symlink-install --packages-select neuronbot2_nav


오늘은 이렇게 map을 저장해 보는 걸 해보았다.

 

항상 real world에서 bagfile을 따고

bagfile에서 visual 데이터를 사용하여 map을 

정확하게 그리고자 하는 과정들을 많이 했어서

mapping을 하는데 많은 힘듦을 겪었었다.

 

그래도 재미있게 임하곤 했었는데

 

시뮬레이션을 통해 현재 그려지고 있는

map을 실제로 보면서 부족한 부분을 쉽게

다시 방문하여 그린 후에 맘에 들었을 때만 저장을

할 수 있다는 점이 너무너무 편해서 좋은 경험이었다.

 

그리고 이미지를 사용할 때는 정면만 보고 때문에

loop closure를 하려면 보고 왔던 방향으로

다시 방문했어야 했는데

LiDAR를 사용하니 360도를 보고 있어서

로봇의 방향을 신경 쓰지 않아도 돼서 너무 편했다.

 

이번 실습을 통해 map을 저장하고

이를 다음에도 쓸 수 있게 설정하는 방법도 알았으니

앞으로 잘 써먹어야겠다!!


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

 

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

https://bit.ly/4hTSJNB

 

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

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

fastcampus.co.kr