Refactor PCLNode with Variadic Templates#511
Refactor PCLNode with Variadic Templates#511AntoBrandi wants to merge 7 commits intoros-perception:ros2from
Conversation
|
Hi, thank you for this PR. It is quite big, so at the moment I can't forsee the consequences for merging this regarging to API/ABI breaking. It will take a bit of time. Maybe somebody could help here. Furthermore, a lot of tests are still failing. |
|
Hi @Rayman, Basically, composing multiple PCL algorithms is very expensive if done through ROS 2 Components. In fact, each component in the pipeline needs to deserialize the data from ROS messages to PCL structure, perform the logic, and serialize the message back to a ROS message. The refactor allows users to compose PCL Algorithms as plugins (with pluginlib), where each plugin directly shares PCL pointers with the others and doesn't need to continuously serialize/deserialize messages. |



The purpose of this PR is to centralize the ROS-related interfaces in the
PCLNodeclass.Previously, operations like subscribing, publishing with message filters, transforming clouds, and so on, were centralized in the
Filterclass.However, to extend this package with the development of new nodes (e.g.
SACSegmentation), requires the duplication of some boilerplate code, as evident in #510.This PR allows contributors to create new
pcl_ros nodesas simple asHappy to get your feedback and eventually improve / adapt the code