본문 바로가기

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

패스트캠퍼스 환급 챌린지 41일차 : Costmap 파라미터 튜닝

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

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

 

 

 

[강의시작 | 강의종료]

 

 

 

[완강 인증]

 

 

 

[학습 내용]

 

 

 

[강의 후기]

 

Costmap 파라미터 튜닝에 대해 학습했습니다.

 

 

-Costmap 주요 파라미터 튜닝-

update_frequency
: Costmap을 업데이트하는 빈도

publish_frequency
: Costmap을 퍼블리시하는 빈도

robot_base_frame
: 로봇의 기본 링크 프레임("base_link")

resolution
: Costmap의 해상도

rolling_window
: 로봇 주변의 환경을 지속적으로 업데이트

footprint
: 로봇의 물리적인 바닥 면적을 정의

footprint_padding # 중요
: 로봇의 footprint 주위에 추가되는 여유 공간(패딩)을 설정

 

 

-Costmap Plugins 주요 파라미터 튜닝-

obstacle_height
: 장애물로 인식될 최대 높이를 지정

clearing
: 로봇의 센서가 특정 구역에서 장애물을 제거하는 데 사용

marking
: 로봇의 센서가 장애물을 표시

raytrace_range # 중요
: 레이 트레이싱(Ray Tracing)을 통해 장애물을 감지할 때의 거리를 지정

obstacle_range
: 장애물로 인식될 거리를 지정

inflation_radius # 중요
: 장애물 주변에 인플레이션을 적용할 반경을 지정

 

 

 

-생각해 볼 점-

이번 강의에서는 Costmap 파라미터 튜닝에 대한 학습을 진행했습니다. Costmap의 개요와 Global 및 Local Costmap에 대한 실습을 마치고, Costmap의 내용을 다루는 주요 파라미터와 튜닝 방법을 학습했습니다. 맵과 센서의 전반적인 데이터를 가공하고 처리하는 만큼 주요 파라미터들도 많았습니다. Costmap 주요 파라미터로는 로봇의 링크 프레임을 정의하는 robot_base_frame,  로봇의 물리적인 바닥 면적을 정의하는 footprint, footprint 주변의 여유 공간을 정의하는 footprint_padding 등이 있었습니다. 이는 Costmap에서 로봇의 형태를 정의하는 파라미터로, 적절하게 설정되어야 장애물과 부딪히거나 벽에 끼이는 사고를 방지할 수 있습니다. 정보를 Layer로 관리하는 Plugins에 대한 파라미터도 살펴볼 수 있었습니다. 주요 파라미터로는 obstacle_height, raytrace_range, obstacle_range, inflation_radius 등이 있었습니다. obstacle과 inflation에 관련된 파라미터가 주가 되었습니다. obstacle은 센서에 감지되는 장애물로 실시간으로 변할 수 있습니다. inflation은 학습이 완료된 장애물로 정의된 지도 등의 정보를 담고 있습니다. obstacle과 inflation은 Global, Local Costmap에서 다뤄보았습니다. 자율주행로봇으로 미로를 탈출하는 프로젝트에서 위 파라미터들을 사용해본다면, 다음과 같을것입니다. Costmap을 실행시켰을 때 작성된 지도에서 정의하는 inflation 장애물, 센서로 감지되는 주변의 obstacle 장애물이 있습니다. robot_base_frame, footprint(_padding)으로 차체를 정의해 Costmap 상에 올려놓습니다. obstalce_height,_range 등으로 피해가는 장애물, 넘어가는 장애물을 구별하고 이에 따라 목적지까지의 주행을 실시할 것입니다. 이를 실제로 주행해보며 어떤 부분이 예상과 다르게 실행되는지 확인하고 학습 하겠습니다. 파라미터는 모듈 및 패키지를 사용하며 사용자가 직접 정의할 수 있는 부분으로 상황에 알맞게 변경하며 사용할 수 있어야 하겠습니다. 학습했던 파라미터들을 어떻게 조절해야 각 상황에서 효율적으로 작동할 수 있는지와 추가적인 파라미터들을 학습할 예정입니다.