Main Content

라이다 스캔과 자세를 이용해 점유 맵 작성하기

buildMap 함수는 라이다 스캔 측정값 및 연관된 자세를 사용하여 점유 그리드를 lidarScan 객체 및 연관된 [x y theta] 자세로 구축하고 occupancyMap을 작성합니다.

주차장에 있는 로봇의 센서에서 수집한 스캔 추정값과 자세 추정값을 불러옵니다. 수집한 데이터는 lidarSLAM 알고리즘을 사용하여 상호 연관됩니다. 이 알고리즘은 스캔을 연결하고 로봇의 전체 궤적에 걸쳐 자세를 조정하기 위해 스캔 매칭을 수행합니다. 스캔과 자세의 길이가 동일한지 확인합니다.

load scansAndPoses.mat
length(scans) == length(poses)
ans = logical
   1

맵을 작성합니다. 스캔과 자세를 buildMap 함수에 지정하고 원하는 맵 해상도(미터당 셀 10개)와 라이다의 최대 거리(19.2미터)를 포함시킵니다. 각 스캔이 연관된 자세에 추가되고 점유 그리드의 확률 값이 업데이트됩니다.

occMap = buildMap(scans,poses,10,19.2);
figure
show(occMap)
title('Occupancy Map of Garage')

Figure contains an axes object. The axes object with title Occupancy Map of Garage, xlabel X [meters], ylabel Y [meters] contains an object of type image.