LibMultiSense
LibMultiSense Documentation
crl::multisense::system::GroundSurfaceParams Class Reference

Class containing parameters for the ground surface modeling and obstacle detection application which may be running on the specifically commissioned MultiSenses. More...

#include <MultiSenseTypes.hh>

Public Member Functions

 GroundSurfaceParams ()
 Default constructor. More...
 

Public Attributes

int ground_surface_number_of_levels_x
 This argument specifies how many levels of spline interpolation are to be performed in the x dimension (i.e. More...
 
int ground_surface_number_of_levels_z
 This argument specifies how many levels of spline interpolation are to be performed in the z dimension (i.e. More...
 
int ground_surface_base_model
 The model to apply to the raw pointcloud data before modeling with a B-Spline. More...
 
float ground_surface_pointcloud_grid_size
 This is the size of grid dimension that the poiontcloud is binned into along the X/Z plane. More...
 
int ground_surface_min_points_per_grid
 This is the minimum number of pointcloud points which ust be within a binned grid cell in oder for that cell to be used in the spline computation. More...
 
int ground_surface_pointcloud_decimation
 The decimation factor for the disparity image when generating the pointcloud. More...
 
float ground_surface_pointcloud_max_range_m
 The max pointcloud range (along the z dimension / optical axis) after applying external transform, a useful parameter to remove noisy points far from the camera. More...
 
float ground_surface_pointcloud_min_range_m
 The min pointcloud range (along the z dimension / optical axis) after applying external transform, a useful parameter to remove noisy points close to the camera. More...
 
float ground_surface_pointcloud_max_width_m
 The max pointcloud width (along the x dimension) after applying external transform. More...
 
float ground_surface_pointcloud_min_width_m
 The min pointcloud width (along the x dimension) after applying external transform. More...
 
float ground_surface_pointcloud_max_height_m
 The max pointcloud height (along the y dimension) after applying external transform, a useful parameter to remove noisy points in the sky. More...
 
float ground_surface_pointcloud_min_height_m
 The min pointcloud height (along the y dimension) after applying external transform, a useful parameter to remove noisy points in the ground. More...
 
float ground_surface_obstacle_height_thresh_m
 This is the height threshold, in meters, that a cluster of points must be above the initial ground surface model fit in order to be classified as an obstacle. More...
 
float ground_surface_obstacle_percentage_thresh
 The percentage of points in a cell cluster that must be above the height threshold in order to classify the cell as an obstacle. More...
 
int ground_surface_max_fitting_iterations
 The maximum number of iterations to undertake in the spline fit and obstacle detection loop. More...
 
float ground_surface_adjacent_cell_search_size_m
 The size of the neighborhood to search around an obstacle cell for the lowest/minimum cell centroid height during the iterative spline fit and obstacle detection loop. More...
 

Detailed Description

Class containing parameters for the ground surface modeling and obstacle detection application which may be running on the specifically commissioned MultiSenses.

Example code to set a device's ground surface parameters:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a instance of GroundSurfaceParams to store the device's params
//
// Set the parameter values
params.ground_surface_pointcloud_min_width_ = -25.0;
params.ground_surface_pointcloud_min_height_ = -10.0;
//
// Send the new external calibration to the device
//
// Check to see if the new network configuration was received
throw std::runtime_error("Unable to set the devices's ground surface params");
}
//
// Destroy the channel instance

Definition at line 3706 of file MultiSenseTypes.hh.

Constructor & Destructor Documentation

◆ GroundSurfaceParams()

crl::multisense::system::GroundSurfaceParams::GroundSurfaceParams ( )
inline

Default constructor.

Definition at line 3782 of file MultiSenseTypes.hh.

Member Data Documentation

◆ ground_surface_adjacent_cell_search_size_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_adjacent_cell_search_size_m

The size of the neighborhood to search around an obstacle cell for the lowest/minimum cell centroid height during the iterative spline fit and obstacle detection loop.

Definition at line 3779 of file MultiSenseTypes.hh.

◆ ground_surface_base_model

int crl::multisense::system::GroundSurfaceParams::ground_surface_base_model

The model to apply to the raw pointcloud data before modeling with a B-Spline.

The Mean model is a good default as simplyassumes the world is a plane about the mean height of the pointcloud (after applying the external transform). If the mounting height of the camera is set appropriately in the external transform, and the world is generally flat, then Zero is a good choice. TheQuadratic model is useful when the extent of the pointcloud is trending upwards or downwards (i.e. while using forwards-facing camera mounted on a vehicle driving through a valley).

Definition at line 3727 of file MultiSenseTypes.hh.

◆ ground_surface_max_fitting_iterations

int crl::multisense::system::GroundSurfaceParams::ground_surface_max_fitting_iterations

The maximum number of iterations to undertake in the spline fit and obstacle detection loop.

This loop will exit early if no new obstacle cells are found from one interation to the next.

Definition at line 3775 of file MultiSenseTypes.hh.

◆ ground_surface_min_points_per_grid

int crl::multisense::system::GroundSurfaceParams::ground_surface_min_points_per_grid

This is the minimum number of pointcloud points which ust be within a binned grid cell in oder for that cell to be used in the spline computation.

This threshold helps to reduce the effect of spurious 3D points on spline modeling.

Definition at line 3737 of file MultiSenseTypes.hh.

◆ ground_surface_number_of_levels_x

int crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_x

This argument specifies how many levels of spline interpolation are to be performed in the x dimension (i.e.

along the left to right horizontal dimension in front of the camera' FOV). The ultimate size of the grid of spline control points is approximately 2^number_of_levels by 2^number_of_levels. Keep in mind that each interpolated point draws from a 4x4 support region in the grid of spline control points.

Definition at line 3713 of file MultiSenseTypes.hh.

◆ ground_surface_number_of_levels_z

int crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_z

This argument specifies how many levels of spline interpolation are to be performed in the z dimension (i.e.

along the optical axis, or depth towards/away from the camera). The ultimate size of the grid of spline control points is approximately 2^number_of_levels by 2^number_of_levels. Keep in mind that each interpolated point draws from a 4x4 support region in the grid of spline control points.

Definition at line 3719 of file MultiSenseTypes.hh.

◆ ground_surface_obstacle_height_thresh_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_height_thresh_m

This is the height threshold, in meters, that a cluster of points must be above the initial ground surface model fit in order to be classified as an obstacle.

Definition at line 3766 of file MultiSenseTypes.hh.

◆ ground_surface_obstacle_percentage_thresh

float crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_percentage_thresh

The percentage of points in a cell cluster that must be above the height threshold in order to classify the cell as an obstacle.

For example, obstacle_percentage_thresh=0.5 requires at least half of the points in the binned cell to be above the height threshold.

Definition at line 3771 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_decimation

int crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_decimation

The decimation factor for the disparity image when generating the pointcloud.

Definition at line 3740 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_grid_size

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_grid_size

This is the size of grid dimension that the poiontcloud is binned into along the X/Z plane.

A larger grid size means a means a coarser binned pointcloud and faster processing times, while a smaller grid size means a finer binned pointcloud.

Definition at line 3732 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_max_height_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_height_m

The max pointcloud height (along the y dimension) after applying external transform, a useful parameter to remove noisy points in the sky.

Definition at line 3758 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_max_range_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_range_m

The max pointcloud range (along the z dimension / optical axis) after applying external transform, a useful parameter to remove noisy points far from the camera.

Definition at line 3744 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_max_width_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_width_m

The max pointcloud width (along the x dimension) after applying external transform.

Definition at line 3751 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_min_height_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_height_m

The min pointcloud height (along the y dimension) after applying external transform, a useful parameter to remove noisy points in the ground.

Definition at line 3762 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_min_range_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_range_m

The min pointcloud range (along the z dimension / optical axis) after applying external transform, a useful parameter to remove noisy points close to the camera.

Definition at line 3748 of file MultiSenseTypes.hh.

◆ ground_surface_pointcloud_min_width_m

float crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_width_m

The min pointcloud width (along the x dimension) after applying external transform.

Definition at line 3754 of file MultiSenseTypes.hh.


The documentation for this class was generated from the following file:
crl::multisense::Channel
Class which manages all communications with a MultiSense device.
Definition: MultiSenseChannel.hh:69
crl::multisense::system::GroundSurfaceParams::ground_surface_base_model
int ground_surface_base_model
The model to apply to the raw pointcloud data before modeling with a B-Spline.
Definition: MultiSenseTypes.hh:3727
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_range_m
float ground_surface_pointcloud_max_range_m
The max pointcloud range (along the z dimension / optical axis) after applying external transform,...
Definition: MultiSenseTypes.hh:3744
crl::multisense::Status_Ok
static CRL_CONSTEXPR Status Status_Ok
Definition: MultiSenseTypes.hh:98
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_height_m
float ground_surface_pointcloud_max_height_m
The max pointcloud height (along the y dimension) after applying external transform,...
Definition: MultiSenseTypes.hh:3758
crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_height_thresh_m
float ground_surface_obstacle_height_thresh_m
This is the height threshold, in meters, that a cluster of points must be above the initial ground su...
Definition: MultiSenseTypes.hh:3766
crl::multisense::Channel::setGroundSurfaceParams
virtual Status setGroundSurfaceParams(const system::GroundSurfaceParams &params)=0
Set the ground surface parameters associated with the MultiSense device.
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_decimation
int ground_surface_pointcloud_decimation
The decimation factor for the disparity image when generating the pointcloud.
Definition: MultiSenseTypes.hh:3740
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_grid_size
float ground_surface_pointcloud_grid_size
This is the size of grid dimension that the poiontcloud is binned into along the X/Z plane.
Definition: MultiSenseTypes.hh:3732
crl::multisense::system::GroundSurfaceParams::ground_surface_min_points_per_grid
int ground_surface_min_points_per_grid
This is the minimum number of pointcloud points which ust be within a binned grid cell in oder for th...
Definition: MultiSenseTypes.hh:3737
crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_percentage_thresh
float ground_surface_obstacle_percentage_thresh
The percentage of points in a cell cluster that must be above the height threshold in order to classi...
Definition: MultiSenseTypes.hh:3771
crl::multisense::Channel::Destroy
static void Destroy(Channel *instanceP)
Destroy a channel instance that was created using the static member function Channel::Create().
crl::multisense::system::GroundSurfaceParams
Class containing parameters for the ground surface modeling and obstacle detection application which ...
Definition: MultiSenseTypes.hh:3706
crl::multisense::Status
int32_t Status
General status typdef used as a return value for get/set crl::multisense::Channel methods.
Definition: MultiSenseTypes.hh:93
crl::multisense::Channel::setMtu
virtual Status setMtu(int32_t mtu)=0
Set the current sensor's MTU.
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_width_m
float ground_surface_pointcloud_max_width_m
The max pointcloud width (along the x dimension) after applying external transform.
Definition: MultiSenseTypes.hh:3751
crl::multisense::system::GroundSurfaceParams::ground_surface_adjacent_cell_search_size_m
float ground_surface_adjacent_cell_search_size_m
The size of the neighborhood to search around an obstacle cell for the lowest/minimum cell centroid h...
Definition: MultiSenseTypes.hh:3779
crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_z
int ground_surface_number_of_levels_z
This argument specifies how many levels of spline interpolation are to be performed in the z dimensio...
Definition: MultiSenseTypes.hh:3719
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_range_m
float ground_surface_pointcloud_min_range_m
The min pointcloud range (along the z dimension / optical axis) after applying external transform,...
Definition: MultiSenseTypes.hh:3748
crl::multisense::system::GroundSurfaceParams::ground_surface_max_fitting_iterations
int ground_surface_max_fitting_iterations
The maximum number of iterations to undertake in the spline fit and obstacle detection loop.
Definition: MultiSenseTypes.hh:3775
crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_x
int ground_surface_number_of_levels_x
This argument specifies how many levels of spline interpolation are to be performed in the x dimensio...
Definition: MultiSenseTypes.hh:3713
crl::multisense::Channel::Create
static Channel * Create(const std::string &sensorAddress)
Create a Channel instance, used to manage all communications with a sensor.