Main Content

inflate

각 점유 위치 확장

설명

inflate(map,radius)map의 각 점유 위치를 지정한 반경 범위(단위: 미터)로 확장합니다. radius는 맵의 해상도를 기준으로 가장 가까운 셀에 상응하는 값으로 올림됩니다. 반경 내의 모든 셀은 true(1)로 설정됩니다.

참고

inflate 함수는 위치를 맵의 제한을 넘어서까지 확장하지 않습니다.

예제

inflate(map,radius,"grid")는 각 점유 위치를 셀 개수로 지정한 반경 범위로 확장합니다.

예제

모두 축소

10m x 10m 크기의 빈 맵을 생성합니다.

map = binaryOccupancyMap(10,10,10);

세계 위치의 점유를 설정하고 맵을 표시합니다.

x = [1.2; 2.3; 3.4; 4.5; 5.6];
y = [5.0; 4.0; 3.0; 2.0; 1.0];

setOccupancy(map, [x y], ones(5,1))
figure
show(map)

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

점유 위치를 지정한 반경 범위로 확장합니다.

inflate(map, 0.5)
figure
show(map)

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

세계 위치로부터 그리드 위치를 구합니다.

ij = world2grid(map, [x y]);

그리드 위치를 비어 있는 위치로 설정합니다.

setOccupancy(map, ij, zeros(5,1), 'grid')
figure
show(map)

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

입력 인수

모두 축소

맵 표현으로, binaryOccupancyMap 객체로 지정됩니다. 이 객체는 로봇의 환경을 표현합니다. 이 객체에는 장애물을 true(1)로 나타내고 비어 있는 위치를 false(0)로 나타내는 이진 값을 가진 행렬 그리드가 포함되어 있습니다.

점유 위치를 어느 정도 확장할지 정의하는 크기로, 스칼라로 지정됩니다. 기본적으로 radius의 단위는 미터이며, 각 셀은 ceil(map.Resolution*radius) 셀에 의해 확장됩니다.

선택적 인수 "grid"를 지정하는 경우 radius의 단위는 그리드 셀이 됩니다. 예를 들어 inflate(map,10,"grid")는 점유 위치를 10개의 그리드 셀로 확장합니다.

데이터형: double

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2015a에 개발됨

참고 항목

|

도움말 항목