Panther /tf and /tf_static topics are not namespaced in multi-robot setup

Hi @RafalGorecki,

Thank you for your support.

We confirmed that the issue was not related to the image, as the latest husarion/husarion-ugv:jazzy-launch-refactor image had already been pulled and was up to date.

The configuration was already being loaded from the ~/config directory. However, after running:

docker exec husarion_ugv_ros bash -c 'source /ros2_ws/install/setup.bash && update_config_directory'

and restarting the containers, the configuration was reset to the default settings.

After that:

  • The TF tree was generated correctly (attached).

  • The odom -> base_link transform became available.

  • /panther2/odometry/filtered was published correctly.

  • The robot position was updated properly in the visualization.

  • The robot moved correctly in both the real world and the visualization.

It appears that the issue was configuration-related, and resetting the configuration resolved the problem.

Thank you for your support.

1 Like

Hi @RafalGorecki,

While testing the latest launch-refactor image, we noticed another issue related to namespacing.

A few nodes appear to receive the namespace twice:

/panther2/panther2/joy_node
/panther2/panther2/joy2twist_node
/panther2/panther2_imu
/panther2/panther2_panther_system

As a result, several topics are also created under the double namespace:

/panther2/panther2/diagnostics
/panther2/panther2/hardware/e_stop
/panther2/panther2/joy
/panther2/panther2/joy/set_feedback
/panther2/panther2/manual/cmd_vel

For example:

ros2 node info /panther2/panther2/joy2twist_node

shows:

Subscribers:
  /panther2/panther2/hardware/e_stop
  /panther2/panther2/joy

Publishers:
  /panther2/panther2/diagnostics
  /panther2/panther2/manual/cmd_vel

and:

ros2 node info /panther2/panther2/joy_node

shows:

Publishers:
  /panther2/panther2/joy
  /panther2/panther2/diagnostics

Topic inspection confirms the same behavior:

ros2 topic info /panther2/panther2/joy -v
Publisher:
  joy_node
  namespace: /panther2/panther2

Subscriber:
  joy2twist_node
  namespace: /panther2/panther2

and:

ros2 topic info /panther2/panther2/manual/cmd_vel -v
Publisher:
  joy2twist_node
  namespace: /panther2/panther2

This also affects teleoperation. The joystick path is currently isolated inside /panther2/panther2, while the rest of the robot stack operates under /panther2.

As a result, joystick teleoperation is not working in this configuration, and we cannot move the robot using the gamepad during testing.

Could you please check whether these nodes are receiving the namespace twice in the current launch-refactor branch?

Hi @eldesouky,

Thanks again for the feedback. I’ve added the fixes and the image is being built. docker compose pull + restart should work.

Regards

Hi @RafalGorecki,

Apologies for the delayed response.

Thank you for the quick fix.

We pulled the updated image, restarted the stack, and re-tested it on the real robot. The issue is resolved now, and the joystick teleoperation is working correctly again.

Thanks support throughout the testing process.

1 Like