Class FastTsdfIntegrator

Inheritance Relationships

Base Type

Class Documentation

class FastTsdfIntegrator : public voxblox::TsdfIntegratorBase

An integrator that prioritizes speed over everything else.

Rays are cast from the pointcloud to the sensor origin. If a ray intersects max_consecutive_ray_collisions voxels in a row that have already been updated by other rays from the same cloud, it is terminated early. This results in a large reduction in the number of freespace updates and greatly improves runtime while ensuring all voxels receive at least a minimum number of updates. Speed is further enhanced through limiting the number of rays cast from each voxel as set by start_voxel_subsampling_factor and use of the ApproxHashSet. Up to an order of magnitude faster then the other integrators for small voxels.

Public Functions

FastTsdfIntegrator(const Config &config, Layer<TsdfVoxel> *layer)
void integrateFunction(const Transformation &T_G_C, const Pointcloud &points_C, const Colors &colors, const bool freespace_points, ThreadSafeIndex *index_getter)
void integratePointCloud(const Transformation &T_G_C, const Pointcloud &points_C, const Colors &colors, const bool freespace_points = false)

Integrates the given point infomation into the TSDF.

NOT thread safe.

  • freespace_points: if true points will only be integrated up to the truncation distance. Used when we are given a minimum distance to a point, rather then exact distance. This is useful for clearing out free space.