ROSbot_webui demo: 2 nodes publishing same transform

Hello,

I have been examining the rosbot_webui project for a while now.

I have noticed that both the /serial_node and the /pose_to_tf_transform node publish the transform based on the same pose (received and also published by rosbot.getPose() in serial node), where frame is “odom” and child frame is “base_link”.

Apparently, slam_gmapping node subscribes to that transform for creating the map.

My question is, is it necessary that both nodes publish the transform in this case? If it is not, could it be better to remove one for performance?

Thanks in advance.
Erinc

Hello Erinc,

The node /pose_to_tf_transform was introduced at ROSbot early stage and is not necessary now, you could safely disable it.

Regards,
Łukasz

Hi Łukasz,

The node also publishes odometry messages to the /odom topic, which is used by move_base. Would disabling the entire node not cause any troubles with move_base? Maybe I can move the /odom publishing to the serial node as well.

Update on this:

I tried to publish Odometry from my serial node but it fails due to message size being larger than the sub/pub buffer sizes designated, which can be changed in the source code. I did not prefer to make the change, so I kept the Odometry publication in a separate node.

More information: how to increase rosserial buffer size - ROS Answers: Open Source Q&A Forum

Hello Erinc,

The move_base node can work without /odom topic. It is subscribed but not mandatory.

It is possible to increase message buffer, but it is strongly advised not to do so. Transferring messages larger than default buffer size may cause delays and synchronization issues with other messages.

Regards,
Łukasz