본문 바로가기

[패스트캠퍼스 11월 환급 챌린지]

패스트캠퍼스 환급 챌린지 20일차 : 작성한 지도 수정/활용 전략

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

https://fastcampus.info/4oKQD6b

 

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

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

fastcampus.co.kr

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

자율주행 로봇을 위한 ROS 2 & SLAM & Nav2 한번에 끝내기 | 패스트캠퍼스

로봇 입문 시작점 ROS 2부터 자율주행 로봇을 위한 SLAM & Navigation2 와 시뮬레이터를 활용한 자율주행 로봇 실습까지 한번에

fastcampus.co.kr

본 글은 위 강의를 참고하여 작성되었습니다

 

 

[강의시작 | 강의종료]

 

 

 

[완강 인증]

 

 

 

[학습 내용]

 

 

 

[강의 후기]

작성한 지도 수정 및 활용 전략에 대한 개념을 학습했습니다.

 

-지도 수정-

1. 에디터를 사용해 직접 수정할 수 있습니다. 대표적으로 gimp를 사용하는 방법이 있습니다.

sudo apt install gimp

 

2. 오픈 소스를 활용해 수정할 수 있습니다.

 

 

-지도 활용-

map_server 노드를 사용해 지도를 불러올 수 있습니다. map_server 내용은 아래와 같습니다

Node(
	package='nav2_map_server',
    executable='map_server',
    name='map_server'
    output='screen'
    parameters=[{'use_sim_time' : True}, # 시뮬레이션과 시간 동기화
    			{'yaml_filename' : map_file} # yamp 파일의 전체 경로
                ]),

 

 

lifecycle_manager 노드를 사용해 노드들의 실행을 관리할 수 있습니다. lifecycle_manager 내용은 아래와 같습니다.

Node(
	package='nav2_lifecycle_manager',
    executable='lifecycle_manager',
    name='lifecycle_manager_mapper',
    output='screen',
    parameters=[{'use_sim_time' : True},
    			{'autostart' : True},
                {'node_names' : ['map_server']}
                ]),

 

 

 

-생각해 볼 점-

이번 강의에서는 작성한 지도 수정 및 활용 전략에 대한 내용을 학습했습니다. 이전 강의에서 map_saver라는 노드를 사용해 학습시킨 지도를 저장할 수 있었습니다. 저장된 폴더에는 image, mode, reolution, origin, occupied_thresh, free_thresh 내용을 담고있었음을 확인했습니다. 이를 수정 할 수 있더라도 지도의 윤곽이 뚜렷하지 않거나, 불필요한 정보가 포함되어 있을 때, 직접 수정하는 작업이 필요합니다. 로봇이 Localizing을 할 때 불필요한 정보가 포함되어 있다면 학습된 지도와 센서 값이 달라서 문제가 생길 수 있기 때문입니다. 따라서 전용 에디터나 라이브러리를 사용해 윤곽을 뚜렷하게 만들거나 불필요한 정보를 삭제하고 원하는 정보만 활용할 수 있게 만드는 것이 중요합니다. 수정된 지도를 활용하는 단계에서는 관리 전략도 함께 필요합니다. 실제 운영 환경에선 구조물이 추가되거나 배치가 달라질 수 있기 때문에 주기적으로 지도를 점검하고 갱신하는 작업이 필요합니다. 기존 지도를 기반으로 새로운 센서 데이터를 비교하고 적용하는 과정이 중요하겠습니다. 주행 최적화를 위해 수정한 형태의 지도, 분석과 모니터링을 위해 상세 데이터를 분리하여 관리하는 지도 등등 원하는 목적에 맞게 수정된 지도를 따로 저장하는 방법도 있습니다. 용도에 따라 다른 지도를 저장하는 것도 좋은 방법이 될 것입니다.  앞으로 개인 프로젝트를 진행하며 생기는 문제들에 대해서도 고민해 볼 수 있었습니다. 지도가 제대로 학습되지 않아 지도와 실제 환경이 불일치 하는 문제, 불필요한 객체가 포함되어 있거나 과도하게 수정하는 문제를 고려해볼 수 있었습니다. 각각 이번 강의에서 공부했었던 지도 수정 부분에서 해결책을 찾아볼 수 있었습니다. 아직 실습 전 개념 단계지만 어떤 문제가 생기고 그에 대응하는 방법을 찾아보며 앞으로 다룰 내용에 대해 미리 생각해볼 수 있었습니다.