No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

tf_namespace_bridge repository

tf_namespace_bridge

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/husarion/tf_namespace_bridge.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
tf_namespace_bridge 0.1.0

README

tf_namespace_bridge

ROS2 (C++, Jazzy) package for bridging namespaced TF topics into the global TF tree in multi-robot setups.

When multiple robots publish transforms under their own namespaces (e.g. /robot1/tf), this package republishes those transforms to /tf and /tf_static with frame names prefixed by the robot’s namespace — making all robots visible in a single, unified TF tree.

Frame renaming example: base_link → robot1/base_link, cover_link → robot1/cover_link


Nodes

multi_tf_namespace_bridge

Aggregates TF from multiple robots into the global /tf and /tf_static.

Parameters:

Parameter Type Description
namespaces string[] List of robot namespaces to bridge, e.g. ["robot1", "robot2"]
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Both parameters can be updated at runtime (poll period 200 ms). Subscriptions are created for newly added namespaces and destroyed for removed ones; the filter is applied uniformly to every namespace.

Subscribed topics (created per namespace):

Topic QoS
/<ns>/tf best_effort, volatile, keep_last(100)
/<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge multi_tf_namespace_bridge \
  --ros-args -p namespaces:="['robot1', 'robot2']" \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

Runtime update:

ros2 param set /multi_tf_namespace_bridge namespaces "['robot1', 'robot2', 'robot3']"
ros2 param set /multi_tf_namespace_bridge frame_filters "['odom', 'base_link', 'wheel*']"


tf_namespace_bridge

Lightweight single-robot bridge. Run inside a robot’s namespace — it automatically bridges that robot’s /tf and /tf_static to the global tree.

Parameters:

Parameter Type Description
frame_filters string[] Glob patterns matched against child_frame_id. Empty list = pass-through. See Frame filters.

Subscribed topics (resolved within the node’s namespace):

Relative topic Resolves to QoS
tf /<ns>/tf best_effort, volatile, keep_last(100)
tf_static /<ns>/tf_static reliable, transient_local, keep_last(1)

Published topics:

Topic QoS
/tf best_effort, volatile, keep_last(100)
/tf_static reliable, transient_local, keep_last(1)

Usage:

ros2 run tf_namespace_bridge tf_namespace_bridge \
  --ros-args -r __ns:=/robot1 \
             -p frame_filters:="['odom', 'base_link', 'wheel*']"

The frame prefix is derived automatically from the node’s namespace (robot1/).


Frame filters

frame_filters is a whitelist applied to child_frame_id of every transform passing through the bridge. Empty list disables filtering.

Glob syntax:

Token Meaning

File truncated at 100 lines see the full file