Publish dynamic TF with this->get_node_topics_interface() works in foxy but not in humble.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 153
- Forks
- 256
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 14
Description
Bug report
- Operating System:
Ubuntu 22.04.2 LTS - Installation type:
binaries - Version or commit hash:
ROS humble - DDS implementation:
Fast-RTPS - Client library (if applicable):
rclcpp, tf2_ros, tf2, or geometry2
Steps to reproduce issue
Make a dynamic publisher as we always do in foxy.
rclcpp::node_interfaces::NodeTopicsInterface::SharedPtr node_topics_handle = this->get_node_topics_interface();
std::unique_ptr<tf2_ros::TransformBroadcaster> tf_broadcaster_ = nullptr;
tf_broadcaster_ = std::make_unique<tf2_ros::TransformBroadcaster>(node_topics_handle);
Expected behavior
The dynamic TF broadcaster object can be initialized.
Actual behavior
It will give you an error.
"passed non-default qos overriding options without providing a parameters interface"
Additional information

I have posted an issue on there and there. I also asked my question there. A friend from ROS2 channel suggested I post my questions there. Please, I really would like to know how to work with tf2_ros::TransformBroadcaster, get_node_xxx_interface, other handles, or something else. I don't want to use 'this' directly. By using node_xxx_handle, I can isolate different functions in different classes without passing the shared printer node everywhere.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the error with tf2_ros::TransformBroadcaster constructed from get_node_topics_interface() on ROS Humble. Read the TransformBroadcaster and NodeTopicsInterface entry points, then compare the linked rclcpp and ros2 discussions. Done means establishing a supported construction path for isolated node interfaces or documenting the required alternative.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100