num_colls는 모션플래닝으로 획득한 solution map과 realsense를 이용한 countingVoxelList의 교차를 파악해 개수를 얻는다. num_colls2는 로봇과 countingVoxellist와의 교차를 파악하고 개수를 얻는다. 이 둘의 차가 증가했을 경우 충돌로 파악하고 프린트한다. ```javascript {.line-numbers} while(ros::ok()){ ros::spinOnce();
if (new_data_received)
{
new_data_received = false;
iteration++;
pbaDistanceVoxmap->clearMap();
countingVoxelList->clearMap();
countingVoxelListFiltered->clearMap();
erodeTempVoxmap1->clearMap();
erodeTempVoxmap2->clearMap();
countingVoxelList->insertPointCloud(my_point_cloud, eBVM_OCCUPIED);
gvl->visualizeMap("countingVoxelList");
num_colls = gvl->getMap("countingVoxelList")->as<gpu_voxels::voxellist::CountingVoxelList>()->collideWith(gvl->getMap("mySolutionMap")->as<gpu_voxels::voxellist::BitVectorVoxelList>(), 1.0f);
num_colls2 = gvl->getMap("countingVoxelList")->as<gpu_voxels::voxellist::CountingVoxelList>()->collideWith(gvl->getMap("myRobotMap")->as<gpu_voxels::voxellist::BitVectorVoxelList>(), 1.0f);
if(num_colls-num_colls2>=180)
std::cout << "!!!!!!!!!!!!!!!Detected Collision!!!!!!!!! " << num_colls-num_colls2 << " collisions " << std::endl;
}
r.sleep();
} ```