perception_pcl icon indicating copy to clipboard operation
perception_pcl copied to clipboard

Dynamic reconfiguration server ROS 1 leftover

Open diogovazguerra opened this issue 11 months ago • 8 comments

Hi, I'm having issues building my lidar custom project that depends on some pcl_ros libraries.

I'm using ubuntu 20.04 and I'm building my ROS 2 Humble workspace from source on it.

That problem is that some source codes from pcl_ros package still uses dynamic reconfiguration server that sets parameters from a cfg file and other code from with ROS 1 usage. Even on the must recent commit of the perception_pcl repository still has ROS 1 leftover.

I wanted to confirm if there is any other alternative to fix this issue or is there something else I'm missing to use pcl_ros on my ros 2 humble workspace.

Here's the compilation error output:

--- stderr: lidar

In file included from ~/ros2_ws/src/perception/lidar/include/lidar/lidar_euclidian_clustering.h:4, from ~/ros2_ws/src/perception/lidar/src/lidar_euclidian_clustering.cpp:1: ~/ros2_ws/install/pcl_ros/include/pcl_ros/pcl_ros/segmentation/extract_clusters.hpp:41:10: fatal error: dynamic_reconfigure/server.h: No such file or directory 41 | #include <dynamic_reconfigure/server.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [CMakeFiles/euclidian_clustering.dir/build.make:63: CMakeFiles/euclidian_clustering.dir/src/lidar_euclidian_clustering.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:119: CMakeFiles/euclidian_clustering.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

In file included from ~/ros2_ws/src/perception/lidar/include/lidar/lidar_dbscan.h:4, from ~/ros2_ws/src/perception/lidar/src/lidar_dbscan.cpp:1: ~/ros2_ws/install/pcl_ros/include/pcl_ros/pcl_ros/segmentation/extract_clusters.hpp:41:10: fatal error: dynamic_reconfigure/server.h: No such file or directory 41 | #include <dynamic_reconfigure/server.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [CMakeFiles/dbscan_clustering.dir/build.make:63: CMakeFiles/dbscan_clustering.dir/src/lidar_dbscan.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:233: CMakeFiles/dbscan_clustering.dir/all] Error 2

In file included from ~/ros2_ws/src/perception/lidar/include/lidar/lidar_ransac.h:4, from ~/ros2_ws/src/perception/lidar/src/lidar_ransac.cpp:1: ~/ros2_ws/install/pcl_ros/include/pcl_ros/pcl_ros/segmentation/sac_segmentation.hpp:43:10: fatal error: dynamic_reconfigure/server.h: No such file or directory 43 | #include <dynamic_reconfigure/server.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [CMakeFiles/ransac.dir/build.make:63: CMakeFiles/ransac.dir/src/lidar_ransac.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:92: CMakeFiles/ransac.dir/all] Error 2

In file included from ~/ros2_ws/src/perception/lidar/include/lidar/lidar_ransac.h:4, from ~/ros2_ws/src/perception/lidar/include/lidar/lidar_pipeline.h:9, from ~/ros2_ws/src/perception/lidar/src/lidar_visualization.cpp:1: ~/ros2_ws/install/pcl_ros/include/pcl_ros/pcl_ros/segmentation/sac_segmentation.hpp:43:10: fatal error: dynamic_reconfigure/server.h: No such file or directory 43 | #include <dynamic_reconfigure/server.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [CMakeFiles/visualization.dir/build.make:63: CMakeFiles/visualization.dir/src/lidar_visualization.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:314: CMakeFiles/visualization.dir/all] Error 2

diogovazguerra avatar Apr 04 '25 13:04 diogovazguerra

Some parts of pcl_ros are not yet ported to ros2. Any help or PRs would be welcome :)

Rayman avatar Apr 07 '25 07:04 Rayman

Hi, I'm also facing this issue trying to use sac_segmentation in ROS 2.

@Rayman, I'm considering contributing the migration myself (just for sac_segmentation for now) but before starting I’d like to ask a few things: Is anyone already working on migrating this part? Is there any particular reason why it hasn’t been migrated yet? Are there any known technical blockers or challenges?

Overall, is there anything important I should know before getting started?

mariamercade avatar Jun 13 '25 06:06 mariamercade

I think nobody is working on migration the remaining parts. This probably means these parts of ros_perception are not very often used. So you can go ahead and start migrating them. There is no technical challenge.

If you make a PR, please try to keep it easy to review. So no unnesesary refactoring or white-space changes. You can try to keep it focussed on one file or node at a time.

Rayman avatar Jun 13 '25 07:06 Rayman

Hi, I'm also facing this issue trying to use sac_segmentation in ROS 2.

@Rayman, I'm considering contributing the migration myself (just for sac_segmentation for now) but before starting I’d like to ask a few things: Is anyone already working on migrating this part? Is there any particular reason why it hasn’t been migrated yet? Are there any known technical blockers or challenges?

Overall, is there anything important I should know before getting started?

Hi @mariamercade , right now I also do want to contribute to the migration of sac_segmentation in ROS 2 starting today. If you already had some progress on the migrated package please let me know so I could help you accomplish that goal, if not that's okay I will make the migration process by myself.

Please be free to contact me through this issue.

diogovazguerra avatar Jul 30 '25 11:07 diogovazguerra

Also keep in mind I will be using the "humble" branch as "ros2" branch of this repository contains features that ros2 humble that I'm using for my project is not compatible with

diogovazguerra avatar Jul 30 '25 11:07 diogovazguerra

Hi, I'm also facing this issue trying to use sac_segmentation in ROS 2. @Rayman, I'm considering contributing the migration myself (just for sac_segmentation for now) but before starting I’d like to ask a few things: Is anyone already working on migrating this part? Is there any particular reason why it hasn’t been migrated yet? Are there any known technical blockers or challenges? Overall, is there anything important I should know before getting started?

Hi @mariamercade , right now I also do want to contribute to the migration of sac_segmentation in ROS 2 starting today. If you already had some progress on the migrated package please let me know so I could help you accomplish that goal, if not that's okay I will make the migration process by myself.

Please be free to contact me through this issue.

In the end, I could manage to use directly pcl library so I did not start that migration. Go ahead!

mariamercade avatar Jul 30 '25 13:07 mariamercade

Hi, I'm also facing this issue trying to use sac_segmentation in ROS 2. @Rayman, I'm considering contributing the migration myself (just for sac_segmentation for now) but before starting I’d like to ask a few things: Is anyone already working on migrating this part? Is there any particular reason why it hasn’t been migrated yet? Are there any known technical blockers or challenges? Overall, is there anything important I should know before getting started?

Hi @mariamercade , right now I also do want to contribute to the migration of sac_segmentation in ROS 2 starting today. If you already had some progress on the migrated package please let me know so I could help you accomplish that goal, if not that's okay I will make the migration process by myself. Please be free to contact me through this issue.

In the end, I could manage to use directly pcl library so I did not start that migration. Go ahead!

@mariamercade are you using ros2 from source or from binary packages? Also what version of pcl library you are using and how did you managed to use on your ros2 workspace?

diogovazguerra avatar Jul 30 '25 17:07 diogovazguerra

Hi. I just wanted to tell that I just made a pull request of the various files migrated to ROS2 from pcl_ros package, but there was some github tests errors, must of it are lint errors. Wanted to know to any maintainer if that's ok to merge the pull request or not.

diogovazguerra avatar Aug 12 '25 19:08 diogovazguerra