본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 costmap에 대해서 알아보았다.
[오늘의 수강 영상]
[오늘의 이론]
costmap이란?
로봇이 이동할 수 있는 영역과 이동할 수 없는 영역을
나타내는 2차원 grid map이다.
map에 있는 각 cell(map의 한 칸)은 특정 cost값을 가지게 되며
이 cost값은 로봇이 해당 cell을 통과하는데 얼마나 어려운지를 나타낸다.
이 map이 costmap을 나타내고 있는 것이며
costmap에는 Inflated Obstacle, Real Obstacle,
Global costmap, Local costmap이 표현된다.
Inflated Obstacle이란?
평창된 장애물로 로봇이 장애물에 부딪히지 않게 장애물 주변까지
위험구역으로 확장하여 표시한 것이다.
이를 생성해 둔 이유는 로봇이 장애물에 부딪히기까지
로봇의 크기 또한 고려를 해야 하기 때문에 buffer zone(여유공간)을
부여하기 위해서 생성하는 것이다.
이 구역을 꼭 지나야 한다면 지나갈 수는 있지만
최대한 조심스럽게 접근하게 되며 가급적 피해서 주행하게 된다.
Real Obstacle이란?
실제로 장애물이 존재하는 구역이다.
Global costmap이란?
로봇의 전체 map에 대해 cost를 부여한 map이다.
이는 로봇의 전체적인 경로 계획을 위해서 사용되며
주로 정적인 장애물인 고정된 벽, 건물을 반영하게 된다.
전체 맵을 기반으로 사용되기 때문에 업데이트 주기는 느리다.
Local costmap이란?
현재 로봇이 감지할 수 있는 범위만 cost를 부여한 map이다.
이는 로봇의 실시간 장애물 회피 및 단기 경로 계획을 위해 사용되며
로봇의 현재 위치 주변의 동적인 장애물인 움직이는 사람 또는 다른 로봇을 반영한다.
로봇이 움직이면 계속 새롭게 생성해야 하기 때문에 업데이트 주기는 빠르다.
costmap에는 costmap layer라는
costmap을 구성하는 다른 종류의 정보 layer가 존재한다.
이 각 layer는 서로 다른 목적으로 cost를 계산하는 역할을 하는데
costmap layer에는 static layer, obstacle layer, Inflation layer, voxel layer가 존재한다.
static layer란?
사전에 정의된 map file을 로드해서
환경의 고정된 장애물 정보를 costmap에 반영하는 layer이다.
아래 사진에 있는 파란색 cell은 occupied space로
obstacle의 여부를 나타낸 것이다.
obstacle layer란?
로봇의 센서를 사용하여 동적인 장애물을 감지하여
costmap에 반영하는 layer이다.
Inflation layer란?
장애물 주변에 안전 영역을 설정하여
로봇이 장애물과 안전거리를 유지할 수 있도록 하는 layer이다.
아래 사진을 보면 static map layer와 obstacle map layer의
정보를 합쳐서 cost를 부여한 것으로
장애물에 가까울수록 cost를 높게,
멀어질수록 cost를 낮게 설정하는 것을 볼 수 있다.
voxel layer란?
3차원 공간에서 장애물을 표현하기 위해 사용하는 layer이다.
오늘은 이와 같이 costmap에 대해서 알아보았다.
costmap은 처음에 설명했던 것과 같이
로봇이 이동할 수 있는 장소와 없는 장소를 구분하기 위해
cost를 map에 부여하는 것이라는 것만 알고 있었다.
하지만 이번 기회를 통해서 global coatmap과 local costmap이
나뉘어 있으며 static layer, obstacle layer, Inflation layer, voxel layer으로
또 나뉠 수 있다는 것을 알게 되는 시간이었다.
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr