Skip to content

Commit 1fecd17

Browse files
authored
fix(occupancy_grid_map_outlier_filter): add intensity field (#6797)
* fix(occupancy_grid_map_outlier_filter): add intensity field Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add intensity Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: using empty padding field Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * Revert "refactor" This reverts commit d16b3e0. * refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: radius filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> --------- Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
1 parent ccbe319 commit 1fecd17

File tree

2 files changed

+175
-98
lines changed

2 files changed

+175
-98
lines changed

perception/occupancy_grid_map_outlier_filter/include/occupancy_grid_map_outlier_filter/occupancy_grid_map_outlier_filter_nodelet.hpp

+11-10
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,16 @@ using geometry_msgs::msg::Pose;
4646
using nav_msgs::msg::OccupancyGrid;
4747
using sensor_msgs::msg::PointCloud2;
4848
using std_msgs::msg::Header;
49-
using PclPointCloud = pcl::PointCloud<pcl::PointXYZ>;
5049

5150
class RadiusSearch2dFilter
5251
{
5352
public:
5453
explicit RadiusSearch2dFilter(rclcpp::Node & node);
5554
void filter(
56-
const PclPointCloud & input, const Pose & pose, PclPointCloud & output,
57-
PclPointCloud & outlier);
55+
const PointCloud2 & input, const Pose & pose, PointCloud2 & output, PointCloud2 & outlier);
5856
void filter(
59-
const PclPointCloud & high_conf_input, const PclPointCloud & low_conf_input, const Pose & pose,
60-
PclPointCloud & output, PclPointCloud & outlier);
57+
const PointCloud2 & high_conf_input, const PointCloud2 & low_conf_input, const Pose & pose,
58+
PointCloud2 & output, PointCloud2 & outlier);
6159

6260
private:
6361
float search_radius_;
@@ -79,22 +77,25 @@ class OccupancyGridMapOutlierFilterComponent : public rclcpp::Node
7977
const PointCloud2::ConstSharedPtr & input_pointcloud);
8078
void filterByOccupancyGridMap(
8179
const OccupancyGrid & occupancy_grid_map, const PointCloud2 & pointcloud,
82-
PclPointCloud & high_confidence, PclPointCloud & low_confidence, PclPointCloud & out_ogm);
80+
PointCloud2 & high_confidence, PointCloud2 & low_confidence, PointCloud2 & out_ogm);
8381
void splitPointCloudFrontBack(
8482
const PointCloud2::ConstSharedPtr & input_pc, PointCloud2 & front_pc, PointCloud2 & behind_pc);
83+
void initializerPointCloud2(const PointCloud2 & input, PointCloud2 & output);
84+
void finalizePointCloud2(const PointCloud2 & input, PointCloud2 & output);
85+
void concatPointCloud2(PointCloud2 & output, const PointCloud2 & input);
8586

8687
private:
8788
class Debugger
8889
{
8990
public:
9091
explicit Debugger(OccupancyGridMapOutlierFilterComponent & node);
91-
void publishOutlier(const PclPointCloud & input, const Header & header);
92-
void publishHighConfidence(const PclPointCloud & input, const Header & header);
93-
void publishLowConfidence(const PclPointCloud & input, const Header & header);
92+
void publishOutlier(const PointCloud2 & input, const Header & header);
93+
void publishHighConfidence(const PointCloud2 & input, const Header & header);
94+
void publishLowConfidence(const PointCloud2 & input, const Header & header);
9495

9596
private:
9697
void transformToBaseLink(
97-
const PclPointCloud & input, const Header & header, PointCloud2 & output);
98+
const PointCloud2 & input, const Header & header, PointCloud2 & output);
9899
rclcpp::Publisher<PointCloud2>::SharedPtr outlier_pointcloud_pub_;
99100
rclcpp::Publisher<PointCloud2>::SharedPtr low_confidence_pointcloud_pub_;
100101
rclcpp::Publisher<PointCloud2>::SharedPtr high_confidence_pointcloud_pub_;

0 commit comments

Comments
 (0)