이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
occupancyMap
2차원 점유 맵 생성
설명
occupancyMap
은 2차원 점유 그리드 map 객체를 생성합니다. 점유 그리드의 각 셀에는 해당 셀의 점유 확률을 나타내는 값이 있습니다. 1에 가까운 값은 셀에 장애물이 있을 확률이 높음을 나타냅니다. 0에 가까운 값은 셀이 점유되지 않았고 장애물이 없을 확률이 높음을 나타냅니다.
점유 맵은 경로 계획과 같은 내비게이션 알고리즘에 사용됩니다(plannerRRT
항목 참조). 또한 충돌 없는 경로 탐색, 충돌 회피 수행, 위치추정 계산을 위해 맵 작성 응용 분야에서도 사용됩니다(monteCarloLocalization
항목 참조). 특정 응용 분야에 맞도록 점유 맵을 수정할 수 있습니다.
occupancyMap
객체는 로컬 좌표, 세계 좌표, 그리드 인덱스를 지원합니다. 인덱스가 (1,1)
인 첫 번째 그리드 위치는 그리드의 왼쪽 위 코너에서 시작합니다.
occupancyMap
클래스를 사용하여 세계에 존재하는 여러 장애물을 확률 값으로 표현한 환경의 2차원 맵을 생성합니다. 셀의 확률 값을 정확하게 지정하거나 레이저 스캐너와 같은 센서의 관측값을 포함시킬 수 있습니다.
확률 값은 이진 베이즈 필터를 사용하여 저장되며 각 그리드 셀의 점유를 추정합니다. 로그 오즈 표현이 사용되며, 맵 저장 크기를 줄이고 실시간 애플리케이션에 사용할 수 있도록 int16
으로 저장됩니다.
생성
구문
설명
은 지정된 그리드 해상도(단위: 미터당 셀 개수)를 사용하여 점유 맵을 생성합니다. map
= occupancyMap(width
,height
,resolution
)resolution
은 Resolution 속성을 설정합니다.
는 지정된 행과 열의 개수 및 해상도(단위: 미터당 셀 개수)를 사용하여 점유 맵을 생성합니다. map
= occupancyMap(rows
,cols
,resolution
,'grid')rows
값과 cols
값은 GridSize 속성을 설정합니다.
는 행렬 map
= occupancyMap(p
)p
의 값을 바탕으로 점유 맵을 생성합니다. 그리드 크기는 행렬의 크기와 일치하며, 각 셀의 확률 값은 해당 행렬 위치에서 해석됩니다.
은 지정된 행렬 및 해상도(단위: 미터당 셀 개수)로 점유 맵을 생성합니다.map
= occupancyMap(p
,resolution
)
map = occupancyMap(
은 또 다른 sourcemap
)occupancyMap
객체의 값을 사용하여 객체를 생성합니다.
map = occupancyMap(
은 또 다른 sourcemap
,resolution
)occupancyMap
객체의 값을 사용하여 객체를 생성하지만, 지정된 해상도를 갖도록 행렬을 리샘플링합니다.
입력 인수
속성
객체 함수
checkOccupancy | Check if locations are free or occupied |
copy | Create copy of 2-D occupancy map |
getOccupancy | Get occupancy probability of locations |
grid2local | 그리드 인덱스를 로컬 좌표로 변환 |
grid2world | Convert grid indices to world coordinates |
inflate | Inflate each occupied location |
insertRay | Insert ray from laser scan observation |
local2grid | Convert local coordinates to grid indices |
local2world | Convert local coordinates to world coordinates |
move | Move map in world frame |
occupancyMatrix | 점유 맵을 행렬로 변환 |
raycast | Compute cell indices along a ray |
rayIntersection | Find intersection points of rays and occupied map cells |
setOccupancy | Set occupancy probability of locations |
show | Display 2-D occupancy map |
syncWith | Sync map with overlapping map |
updateOccupancy | Update occupancy probability at locations |
world2grid | Convert world coordinates to grid indices |
world2local | Convert world coordinates to local coordinates |
예제
제한 사항
점유 값의 해상도 제한은 ±0.001입니다. 점유 값은 로그 오즈 표현을 사용하여 int16
형으로 저장됩니다. 이 데이터형은 해상도를 제한하지만 MATLAB®에 대형 맵을 저장할 때 메모리를 절약할 수 있습니다. setOccupancy
를 호출한 다음 getOccupancy
를 호출하면 반환된 값이 설정한 값과 다를 수 있습니다. 자세한 내용은 Occupancy Grids 항목의 로그 오즈 표현 섹션을 참조하십시오.
메모리 크기가 제한적이라면 대신 binaryOccupancyMap
을 사용해 보십시오. 이진 점유 맵은 이진 값으로 사용하므로 메모리를 더 적게 사용하지만 Navigation Toolbox™ 알고리즘 및 다른 애플리케이션에서도 여전히 작동합니다.
확장 기능
버전 내역
R2019b에 개발됨
참고 항목
binaryOccupancyMap
| mobileRobotPRM
(Robotics System Toolbox) | controllerPurePursuit
(Robotics System Toolbox) | rosReadOccupancyGrid
(ROS Toolbox) | rosWriteOccupancyGrid
(ROS Toolbox)