ground_surface_utilities.h
Go to the documentation of this file.
1 
34 #ifndef MULTISENSE_ROS_GROUND_SURFACE_UTILITIES_H
35 #define MULTISENSE_ROS_GROUND_SURFACE_UTILITIES_H
36 
37 #include <vector>
38 #include <numeric>
39 
40 #include <Eigen/Geometry>
41 #include <Eigen/StdVector>
42 
44 
46 
53 Eigen::Matrix<uint8_t, 3, 1> groundSurfaceClassToPixelColor(const uint8_t value);
54 
61 sensor_msgs::PointCloud2 eigenToPointcloud(
62  const std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f>> &input,
63  const std::string &frame_id);
64 
69 {
71  double max_z_m = 30.0;
72 
74  double min_z_m = 0.5;
75 
77  double max_x_m = 25.0;
78 
80  double min_x_m = -25.0;
81 
83  double resolution = 0.1;
84 };
85 
99 std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f>> convertSplineToPointcloud(
100  const Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> &controlGrid,
101  const SplineDrawParameters &splineDrawParams,
102  const double pointcloudMaxRange,
103  const float* xzCellOrigin,
104  const float* xzCellSize,
105  const float* minMaxAzimuthAngle,
106  const float* extrinsics,
107  const float* quadraticParams,
108  const float baseline);
109 
110 } // namespace ground_surface_utilities
111 
112 #endif
ground_surface_utilities::SplineDrawParameters::min_z_m
double min_z_m
The min range (along the z dimension / optical axis) to draw the B-spline model.
Definition: ground_surface_utilities.h:74
ground_surface_utilities::SplineDrawParameters::max_z_m
double max_z_m
The max range (along the z dimension / optical axis) to draw the B-spline model.
Definition: ground_surface_utilities.h:71
ground_surface_utilities::convertSplineToPointcloud
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > convertSplineToPointcloud(const Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &controlGrid, const SplineDrawParameters &splineDrawParams, const double pointcloudMaxRange, const float *xzCellOrigin, const float *xzCellSize, const float *minMaxAzimuthAngle, const float *extrinsics, const float *quadraticParams, const float baseline)
Generate a pointcloud representation of a b-spline ground surface model for visualization.
Definition: ground_surface_utilities.cpp:200
ground_surface_utilities::SplineDrawParameters::max_x_m
double max_x_m
The max width (along the x dimension) to draw the B-spline model.
Definition: ground_surface_utilities.h:77
point_cloud_utilities.h
ground_surface_utilities::SplineDrawParameters
Struct containing parameters for drawing a pointcloud representation of a B-Spline model.
Definition: ground_surface_utilities.h:68
ground_surface_utilities::SplineDrawParameters::resolution
double resolution
The resolution to sample the B-Spline model for drawing.
Definition: ground_surface_utilities.h:83
ground_surface_utilities
Definition: ground_surface_utilities.h:45
ground_surface_utilities::SplineDrawParameters::min_x_m
double min_x_m
The min width (along the x dimension) to draw the B-spline model.
Definition: ground_surface_utilities.h:80
ground_surface_utilities::eigenToPointcloud
sensor_msgs::PointCloud2 eigenToPointcloud(const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f >> &input, const std::string &frame_id)
Convert an eigen representation of a pointcloud to a ROS sensor_msgs::PointCloud2 format.
Definition: ground_surface_utilities.cpp:181
ground_surface_utilities::groundSurfaceClassToPixelColor
Eigen::Matrix< uint8_t, 3, 1 > groundSurfaceClassToPixelColor(const uint8_t value)
Look up table to convert a ground surface class value into into a color for visualization (out-of-bou...
Definition: ground_surface_utilities.cpp:168


multisense_ros
Author(s):
autogenerated on Thu Feb 20 2025 03:51:03