optimal voxel layer
This commit is contained in:
@@ -102,15 +102,31 @@ private:
|
||||
bool clearVoxelRay(double ox, double oy, double oz, double wx, double wy, double wz,
|
||||
double raytrace_range, unsigned int cell_raytrace_range,
|
||||
double* min_x, double* min_y, double* max_x, double* max_y);
|
||||
/// Frees LETHAL cells this layer marked that have not been re-marked within
|
||||
/// obstacle_decay_time. Handles ghost cells frustum clearing can never
|
||||
/// reach: cells that left the camera FOV, occlusion shadows, and cells
|
||||
/// inside the skip band in front of a measured surface.
|
||||
void decayStaleObstacles(double now_sec, double* min_x, double* min_y,
|
||||
double* max_x, double* max_y);
|
||||
|
||||
|
||||
bool publish_voxel_;
|
||||
robot_voxel_grid::VoxelGrid robot_voxel_grid_;
|
||||
double z_resolution_, origin_z_;
|
||||
unsigned int unknown_threshold_, mark_threshold_, size_z_;
|
||||
/// Seconds a marked cell survives without being re-observed before it is
|
||||
/// freed. <= 0 disables decay (default). Only enable on camera-only
|
||||
/// costmaps: decay clears obstacles the sensor cannot currently see.
|
||||
double obstacle_decay_time_{0.0};
|
||||
/// Clearing rays stop this far [m] before the measured surface. < 0 keeps
|
||||
/// the legacy 2 * resolution behaviour.
|
||||
double frustum_skip_distance_{-1.0};
|
||||
/// Per-cell robot::Time seconds of the last marking; 0 = no valid stamp.
|
||||
std::vector<double> cell_last_marked_;
|
||||
robot_sensor_msgs::PointCloud clearing_endpoints_;
|
||||
std::vector<unsigned char> rolling_costmap_scratch_;
|
||||
std::vector<unsigned int> rolling_voxel_scratch_;
|
||||
std::vector<double> rolling_stamp_scratch_;
|
||||
|
||||
struct DepthRay
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user