OctoMap / octomap

An Efficient Probabilistic 3D Mapping Framework Based on Octrees. Contains the main OctoMap library, the viewer octovis, and dynamicEDT3D.
http://octomap.github.io
1.93k stars 657 forks source link

computeUpdate is quiet slow #421

Open Splayshell opened 2 months ago

Splayshell commented 2 months ago

if (this->computeRayKeys(origin, p, *keyray)){

ifdef _OPENMP

        #pragma omp critical (free_insert)

endif

{ free_cells.insert(keyray->begin(), keyray->end()); } }

for key in keyray, if octomap.(key) == false, why updateNode is neccessary. And in most cases, most free_cells in keyrays don't have voxel before

ahornung commented 1 month ago

I don't fully understand the question. Did you have a look at the OctoMap journal paper? It explains the raycasting and clearing behavior. Explicitly setting the free cells is needed for clearing obstacles.