allocateBlocks
, removeBlocks
, removeBlock
, getTsdfLayer
,getSemanticLayer
, getMeshLayer
, blockSize
정도가 쓰임-이 클래스는 여러 레이어를 관리하고, 이를 통해 환경에 대한 3D 맵을 만들고 유지하는 역할을 합니다.
TsdfLayer
: TSDF를 저장하는 레이어로, 맵의 각 점이 얼마나 물체 표면에 가까운지 정보를 유지.MeshLayer
: 메쉬 데이터를 저장하는 레이어로, TSDF 정보를 기반으로 표면을 메쉬 형태로 표현.SemanticLayer
: 세멘틱 정보를 저장하는 레이어로, 각 voxel이 어떤 객체나 영역에 속하는지에 대한 정보를 제공.TrackingLayer
: 트래킹 정보를 저장하는 레이어로, 시간에 따른 변화를 추적하는 데 사용.allocateBlocks
, removeBlocks
, removeBlock
)구성 (Config
)
VolumetricMap::Config
구조체는 맵의 기본적인 설정을 담고 있습니다.voxel_size
: 하나의 voxel(입방체)의 크기.voxels_per_side
: 하나의 블록을 이루는 voxel의 개수.truncation_distance
: TSDF에서 사용하는 절단 거리로, 표면에서 일정 거리 바깥의 정보는 무시.맵 블록 관리
allocateBlock()
: removeBlock()
: getBlock()
: 맵 데이터 저장 및 로드
save()
: 현재 맵 데이터를 지정된 파일 경로에 저장하는 함수. TSDF와 세멘틱 레이어 데이터를 저장할 수 있습니다.load()
: 파일로부터 저장된 맵 데이터를 불러오는 함수로, TSDF와 세멘틱 레이어 데이터를 읽어들여 맵을 재구성합니다.맵 병합
updateFrom()
: 다른 VolumetricMap으로부터 데이터를 병합하여 현재 맵을 업데이트mergeLayer()
: 두 개의 레이어를 병합하는 기능으로, 두 맵의 블록을 병합하여 하나의 레이어에 통합.