struct mp2p_icp_filters::FilterTraversability::Parameters
Overview
#include <FilterTraversability.h> struct Parameters { // fields std::string input_pointcloud_layer = mp2p_icp::metric_map_t::PT_LAYER_RAW; std::string seeds_pointcloud_layer; std::string output_layer_obstacles; std::string output_layer_traversable; float resolution = 0.20f; float max_slope_deg = 15.0f; float slope_window_radius = 0.40f; float max_step = 0.15f; float body_min_height = 0.25f; float body_max_height = 1.20f; uint32_t body_min_points = 2; float ground_envelope_size = 1.0f; float ground_envelope_slope_deg = 30.0f; float ground_fill_distance = 1.0f; float seeds_radius = 0.30f; bool unknown_is_obstacle = true; float obstacle_distance = 2.0f; // methods void load_from_yaml( const mrpt::containers::yaml& c, FilterTraversability& parent ); };
Fields
std::string input_pointcloud_layer = mp2p_icp::metric_map_t::PT_LAYER_RAW
Input 3D point cloud, typically without dynamic objects
std::string seeds_pointcloud_layer
Optional layer with seed points known to be traversable (e.g. the vehicle trajectory). Enables the reachability analysis.
std::string output_layer_obstacles
Output layer for the obstacle cells
std::string output_layer_traversable
Optional output layer for the traversable (reachable) cells
float resolution = 0.20f
Grid cell size [m]
float max_slope_deg = 15.0f
Maximum traversable slope [deg]
float slope_window_radius = 0.40f
Half size of the window to fit the ground plane for the slope [m]
float max_step = 0.15f
Maximum ground height change between neighbor cells [m]
float body_min_height = 0.25f
Height band of the vehicle body above the ground [m]
uint32_t body_min_points = 2
Minimum points in the body band to mark a cell as obstacle
float ground_envelope_size = 1.0f
Window for the lower envelope of the ground [m]
float ground_envelope_slope_deg = 30.0f
Slope tolerated within the ground envelope window [deg]
float ground_fill_distance = 1.0f
Maximum distance to interpolate ground into cells where it was not seen (only non-ground points, or no points at all) [m]
float seeds_radius = 0.30f
Radius around each seed point that is traversable [m]
bool unknown_is_obstacle = true
Whether never observed cells bordering the reachable region are obstacles
float obstacle_distance = 2.0f
Non traversable cells up to this distance from the reachable region are obstacles [m]