카테고리 없음

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

연두부진 2025. 4. 8. 16:34

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

 

오늘은 작성된 지도를 수정하는 방법과

지도를 다른 프로세스에서도 사용할 수 있도록

하는 방법에 대해서 배웠다.

 

[오늘의 수강 영상]

 

[오늘의 이론]

 

어제 지도를 작성하고 저장해보았으니

오늘은 저장한 지도를 수정하는 방법을 알아보자.

 

우리가 지도를 수정해야하는 경우는 아래와 같다.

1. 불필요한 장애물 제거 또는 추가

2. 경계선 정확도 개선

3. 지형 특징 강조

4. 노이즈 제거

5. 아티팩트(artifact)제거

 

아티팩트란?

센서노이즈에 의해 생기는 점이다.

 

잘못 그려진 지도의 예시는 아래 그림과 같다.

 

잘못 그려진 지도를 수정하는 방법에는

아래와 같은 방법이 있다.

 

1. 에디터를 통해 직접 수정하기

gimp이라는 포토샵과 같은 역할을 해주는 tool을

사용하여 우리가 원하는 곳을 삭제할 수 있다.

 

아래 명령어를 사용하여 설치가능하다.

$ sudo apt install gimp

 

이를 사용하면 아래와 같이 원하는 곳을 삭제할 수 있다.

 

2. 오픈소스 사용하기

오픈소스 중에 ros_map_editor라는

오픈소스가 있다.

https://github.com/TheOnceAndFutureSmalltalker/ros_map_editor

 

이를 사용하면 pixel단위로 원하는 색깔을

사용하여 수정가능하다.

 

수정화면은 아래와 같다.


LiDAR로 map을 작성하고 수정해본 적이 없어서

이렇게 간단하게 수정이 가능할 것이라고

생각 못했는데 앞으로 너무 편리하게

사용할 수 있을 것 같다.


그럼 우리가 저장하고 수정한 map을

이제 다른 프로세스에서 사용하려면

어떻게 해야하는지 알아보았다.

 

생성한 지도를 Localization 시스템이나 path planner와 같은

다른 네비게이션 애플리케이션(Nav2)에 제공하려면

map_servernav2_lifecycle_manager 노드를 사용해야한다.

 

우리가 어제 map을 저장할 때 사용한

노드는 map_saver이다.

 

둘이 다른 것이니 잘 유의해야한다.

 

이 두 노드는 아래 런치파일에서 사용되고 있다.

 

1. map_server

 

이 노드에서는 map의 yaml파일을 사용하여

파라미터를 읽어서 토픽화 해주는 역활을 한다.

 

use_sim_time이란?

map_server가 시뮬레이션과 시간을

동기화해야하는지 여부를 판단한다.

 

yaml_filename이란?

map의 yaml파일의 경로를 지정한다.

 

2. nav2_lifecycle_manager

 

이 노드는 node들의 수명과 여러 node들을

쉽게 관리하는 역할을 수행한다.

 

use_sim_time이란?

map_server가 시뮬레이션과 시간을

동기화해야하는지 여부를 판단한다.

 

autostart란?

런치파일이 시작될 때 lifecycle_manager가

작동해야하는지 여부를 판단한다.

 

node_names란?

lifecycle_manager가 처리해야하는 노드의 목록이다.

현재는 하나만 작성되어 있지만 필요에 따라

여러개도 작성가능하다.

 


다음 시간에 Nav2 lifecycle에 대해서

더욱 자세히 배운 후에

 

이에 대해 실습하는 시간을 가지게 되는데

 

오늘 배운 것들을 잊지 않고 잘 적용해봐야겠다.


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

 

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

https://bit.ly/4hTSJNB

 

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

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

fastcampus.co.kr