Description
When using tf_message_filter_target_frame, the scan_to_scan_filter_chain crashes with the following error:
terminate called after throwing an instance of 'tf2_ros::CreateTimerInterfaceException'
what(): timer interface not set before call to waitForTransform
This is because tf2_ros::MessageFilter uses tf2_ros::Buffer waitForTransform with a callback. For that, it needs to have been configured by calling setCreateTimerInterface first.
Reproduce
Run in parallel:
> ros2 run laser_filters scan_to_scan_filter_chain --ros-args -p tf_message_filter_target_frame:=foobar
> ros2 topic pub /scan sensor_msgs/msg/LaserScan 'header: {frame_id: "nop"}'
Description
When using
tf_message_filter_target_frame, the scan_to_scan_filter_chain crashes with the following error:This is because tf2_ros::MessageFilter uses tf2_ros::Buffer
waitForTransformwith a callback. For that, it needs to have been configured by calling setCreateTimerInterface first.Reproduce
Run in parallel: