Ground removal using the Himmelsbach algorithm.
More...
#include <himmelsbach.hpp>
|
| | Himmelsbach (const double grid_angle, const double max_slope, const double initial_alpha, const double alpha_augmentation_m, const double start_augmentation, TrimmingParameters trim_params) |
| | Constructor for Himmelsbach ground removal.
|
| |
| | Himmelsbach ()=default |
| |
| void | ground_removal (const sensor_msgs::msg::PointCloud2::SharedPtr &trimmed_point_cloud, sensor_msgs::msg::PointCloud2::SharedPtr &ground_removed_point_cloud, GroundGrid &ground_grid) const override |
| | Perform ground removal on a point cloud.
|
| |
|
| void | process_slice (const sensor_msgs::msg::PointCloud2::SharedPtr &trimmed_point_cloud, sensor_msgs::msg::PointCloud2::SharedPtr &ground_removed_point_cloud, size_t slice_idx, GroundGrid &ground_grid) const |
| | Process a single slice for ground removal.
|
| |
| void | split_point_cloud (const sensor_msgs::msg::PointCloud2::SharedPtr &input_cloud) const |
| | Split the input point cloud into slices and rings.
|
| |
Ground removal using the Himmelsbach algorithm.
Implements GroundRemoval interface for LiDAR point clouds.
Definition at line 32 of file himmelsbach.hpp.
◆ Himmelsbach() [1/2]
| Himmelsbach::Himmelsbach |
( |
const double |
grid_angle, |
|
|
const double |
max_slope, |
|
|
const double |
initial_alpha, |
|
|
const double |
alpha_augmentation_m, |
|
|
const double |
start_augmentation, |
|
|
TrimmingParameters |
trim_params |
|
) |
| |
Constructor for Himmelsbach ground removal.
- Parameters
-
| grid_angle | Angle increment for slicing the point cloud. |
| max_slope | Maximum slope angle to consider a point as ground. |
| initial_alpha | Initial distance threshold for ground classification. |
| alpha_augmentation_m | Increase of alpha by meter. |
| start_augmentation | Range at which distance threshold starts to increase. |
| trim_params | Parameters for trimming the point cloud. |
Definition at line 3 of file himmelsbach.cpp.
◆ Himmelsbach() [2/2]
| Himmelsbach::Himmelsbach |
( |
| ) |
|
|
default |
◆ ground_removal()
| void Himmelsbach::ground_removal |
( |
const sensor_msgs::msg::PointCloud2::SharedPtr & |
trimmed_point_cloud, |
|
|
sensor_msgs::msg::PointCloud2::SharedPtr & |
ground_removed_point_cloud, |
|
|
GroundGrid & |
ground_grid |
|
) |
| const |
|
overridevirtual |
Perform ground removal on a point cloud.
- Parameters
-
| trimmed_point_cloud | Input point cloud (trimmed). |
| ground_removed_point_cloud | Output point cloud with ground removed. |
| plane | Plane information (not estimated by Himmelsbach, set to default). |
| split_params | Parameters for slicing the point cloud. |
Implements GroundRemoval.
Definition at line 17 of file himmelsbach.cpp.
◆ process_slice()
| void Himmelsbach::process_slice |
( |
const sensor_msgs::msg::PointCloud2::SharedPtr & |
trimmed_point_cloud, |
|
|
sensor_msgs::msg::PointCloud2::SharedPtr & |
ground_removed_point_cloud, |
|
|
size_t |
slice_idx, |
|
|
GroundGrid & |
ground_grid |
|
) |
| const |
|
private |
Process a single slice for ground removal.
- Parameters
-
| trimmed_point_cloud | Input point cloud (trimmed). |
| ground_removed_point_cloud | Output point cloud with ground removed. |
| slice_idx | Index of the slice to process. |
| ground_grid | Ground grid to update with ground heights. |
Definition at line 50 of file himmelsbach.cpp.
◆ split_point_cloud()
| void Himmelsbach::split_point_cloud |
( |
const sensor_msgs::msg::PointCloud2::SharedPtr & |
input_cloud | ) |
const |
|
private |
Split the input point cloud into slices and rings.
It will populate the slices_ member.
- Parameters
-
| input_cloud | Input point cloud to be split. |
Definition at line 182 of file himmelsbach.cpp.
◆ alpha_augmentation_m_
| double Himmelsbach::alpha_augmentation_m_ |
|
private |
◆ grid_angle_
| double Himmelsbach::grid_angle_ |
|
private |
◆ initial_alpha_
| double Himmelsbach::initial_alpha_ |
|
private |
◆ max_slope_
| double Himmelsbach::max_slope_ |
|
private |
◆ slices_
| std::shared_ptr<std::vector<Slice> > Himmelsbach::slices_ |
|
private |
◆ start_augmentation_
| double Himmelsbach::start_augmentation_ |
|
private |
◆ trim_params_
The documentation for this class was generated from the following files: