Troubleshooting
Issue Log
[2025-11-27] C++ Backend Probability Fixed Value Bug
Category: Runtime/Performance
Situation: All voxel probabilities fixed at 0.881 when using C++ backend
Cause:
OctoMap’s
getOccupancy()function returning internal fixed valueActual log-odds values not being stored
Probability calculation dependent on OctoMap internal logic
Solution:
Implemented direct log-odds storage system
Added
batch_update_with_log_oddsfunctionApplied same probability calculation logic as Python
Set accurate probability thresholds
Modified Files:
octree_mapper.hoctree_mapper.cppprobability_updater.cpppython_bindings.cpp
Result:
C++ backend now produces identical results to Python
Various probability distributions calculated correctly
Point count optimized: 33,127 → 202
Improved calculation accuracy
Notes:
Probability calculation is log-odds based
Threshold: ≥0.5 occupied, <0.5 free space