Skip to content

The tf buffer used for the tf2_ros::MessageFilter is not accessible from the filters. #258

Description

@Hugal31

In both filter chain, their is a tf2_ros::MessageFilter used to buffer the scans waiting for a transform between the scan frame and the configured fixed frame to arrive.

This feature is useful because some filters might depend on it to run. However, because filters don't have access to the tf buffer, they are force to create a new node, a new buffer and a new tf listener. This creates a race condition where the required transform can be received by the root tf2_ros::MessageFilter, but not the individual scan filters. To bypass this, the filters need to wait for the scan.

This whole architecture seems inefficient, is there something we can to do improve it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions