본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 어제 배웠던 Global costmap, Local costmap, Layer들에
대해서 실습을 통해 실제로 적용해 보았다.
[오늘의 수강 영상]
[오늘의 실습]
실습환경을 켜보면 아래와 같은 환경을 볼 수 있다.
이 화면에서 로봇이 있는 곳을 보면 아래와 같이
찐한 부분과 연한 부분으로 나뉘어 있는 것을 볼 수 있다.
연한 부분들은 global costmap이고,
찐한 부분들은 local costmap이라고 보면 된다.
만약에 로봇이 있는 위치 주변에
갑자기 obstacle이 생긴다면 global costmap과
local costmap에는 어떤 차이가 생길까?
위 사진들을 보면 갑자기 나타난 obstacle에 대해서
global costmap과 local costmap이 모두 해당 obstacle을
인지하는 것을 볼 수 있다.
어제 배웠던 내용에 의하면 global costmap은
사전에 이미 있던 obstacle에 대해서 costmap을
만드는 건데 왜 갑자기 생긴 obstacle에 대해서도
반응하는 걸까?
그 이유는 global costmap에서 사용되는
layer에 답이 있다.
global costmap에서 사용하는 layer에는
static map layer, obstacle map layer, inflation layer가 있는데
이 layer를 enable 하는 파라미터를 끄고 켜보면
obstacle map layer에서 갑자기 생긴 obstacle에 대한
반응을 하는 것을 볼 수 있다.
그리고 obstacle map layer를 enable 시켜놓은 상태에서
navigation을 진행해 보면 앞에 있는 obstacle을 무시하고
전체경로를 생성하기 때문에 global costmap과 local costmap의
차이로 로봇이 더 이상 전진하지 못하는 상황이 발생한다.
그렇기 때문에 global costmap에서도 obstacle map layer를
사용하여 주변에 map에 있는 obstacle을 감지할 필요가 있어서
global costmap에 표시가 되는 것이다.
그럼 local costmap에는 어떤 layer들이 사용되는지 보면
local costmap에는 inflation_layer, voxel_layer가 사용된다.
실제로 수행해 보면 아래와 같다.
local costmap에서는 obstacle map layer가 없는데
obstacle을 인지하고 피하는 것을 보면 voxel layer가
obstacle map layer 역할을 대신해서 하고 있기 때문이다.
global costmap과 local costmap에서
각각 사용되는 layer에 대해서 알아보는 게
새로운 경험이 되었다.
오늘 수업을 통해 각 layer를 통해
얻을 수 있는 효과들에 대해서 직관적으로
배울 수 있었고 다음에 이런 효과들을 사용해서
필요한 순간에 사용해 보도록 해야겠다.
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr