I have added ROS2 support for the following filters, which did have support in noetic-devel:
polygon filter
scan blob filter
sector filter
Key changes
Port polygon filter to ROS2
Port scan blob filter to ROS2
Port sector filter to ROS2
Port launch test for polygon filter and speckle filter to ROS2
Port unit tests for speckle filter and scan shadows filter to ROS2
Added "remove_shadow_startpoint" parameter to scan shadows filter, which wasn´t included in the port to ROS2
Benefits:
More filters available in ROS2
Functionality Status:
No changes have been made to the (default) functionality of other filters
Note:
I want to mention two issues that I've noticed in the already ported laser filters, which would be best to fix in the filters package.
In box_filter and speckle_filter a (lifecycle-) node is created to create a tf listener (box_filter) and to create a on_set_parameters_callback (speckle_filter). When you start a filter chain and rename the node via launch files, it overrides the name for all node instances. So you get the error:
Publisher already registered for provided node name.
Dynamically setting a parameter doesn´t seem to work, even though the speckles_filter does have an on_set_parameters_callback implemented. If I use ros2 param set ..., I get the error:
Setting parameter failed: parameter 'filter2.params.filter_type' cannot be set because it is read-only
I think these parameters are set to read-only in the filters package.
Please let me know if you have any feedback. I would be happy to make any necessary changes.
Hello,
I have added ROS2 support for the following filters, which did have support in noetic-devel:
Key changes
Benefits:
Functionality Status:
Note: I want to mention two issues that I've noticed in the already ported laser filters, which would be best to fix in the filters package.
ros2 param set ...
, I get the error:I think these parameters are set to read-only in the filters package.
Please let me know if you have any feedback. I would be happy to make any necessary changes.
Kind regards,
Berend Kupers Lowpad