Skip to content

Configure the tf buffer timer creator in scan_to_scan_filter_chain - #257

Open
Hugal31 wants to merge 1 commit into
ros-perception:rollingfrom
Hugal31:fix/configure-tf-buffer-timer-creator
Open

Configure the tf buffer timer creator in scan_to_scan_filter_chain#257
Hugal31 wants to merge 1 commit into
ros-perception:rollingfrom
Hugal31:fix/configure-tf-buffer-timer-creator

Conversation

@Hugal31

@Hugal31 Hugal31 commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Configure the tf buffer by calling setCreateTimerInterface so the message filter can call waitForTransform.

How should I go about making a backport for jazzy?

Closes #256

@jonbinney

Copy link
Copy Markdown
Contributor

Does this approach work for you? I vaguely remember a problem with new transforms not being added to the buffer if the filter is blocking on waitfortransform, because that blocks the executor callback that would handle adding tf messages to the buffer.

@Hugal31

Hugal31 commented Apr 17, 2026

Copy link
Copy Markdown
Contributor Author

Yes does work, I sometimes have to wait a bit on lookupTransform in my filters because of #258.

The TransformListener is spinning its own thread and executor, and even without it I don't see how that would block the executor.

Edit: indeed if the TransformListener didn't spin a dedicated thread if a filter tries to wait for a new one, that would hang everything. However if the tf buffer is shared between the filter chain and each filter, the tf2_ros::MessageFilter would have removed the need to wait for the transform, but you never know when a filter would want to wait for another frame for some reason.

@jonbinney

Copy link
Copy Markdown
Contributor

Thanks @Hugal31 - I'll dig into this and the other issues you brought up. I'm busy this week, but I should be able to get to them mid next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error "timer interface not set before call to waitForTransform" when setting tf_message_filter_target_frame

2 participants