ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

[ROS2] Robot State Publisher publishes empty robot_description

asked 2018-10-02 03:36:03 -0600

Myzhar gravatar image

Using Robot State Publisher I noticed that in RVIZ2 the "Robot Model" panel is not updated subscribing to the /robot_description topic, but it works correctly choosing file as "Description Source".

Investigating further I noticed that indeed the /robot_description topic is available in the topic list, but nothing is published.

edit retag flag offensive close merge delete



robot_description is a topic now? It used to be a parameter.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-02 04:11:51 -0600 )edit

It is published as a std_msgs::msg::String and in RVIZ2 it is identified as Topic. With a $ ros2 topic list you see a /robot_description topic available in the list

Myzhar gravatar image Myzhar  ( 2018-10-02 09:27:22 -0600 )edit

I'm seeing the same behavior. Did you find a solution?

clyde gravatar image clyde  ( 2018-10-14 17:26:15 -0600 )edit

Not yet... I just opened an issue here:

Myzhar gravatar image Myzhar  ( 2018-10-15 02:29:47 -0600 )edit

I wouldn't be surprised if the topic was a workaround to cope with the absence of parameters at the time. So generally I don't believe that having the description published as a topic makes sense. The github issue should therefore be changed to implement robot_description as parameter or similar

Karsten gravatar image Karsten  ( 2018-10-15 11:17:40 -0600 )edit

I had not thought about the fact that params was missing... I thought it was a design choice. I'm going to change the issue

Myzhar gravatar image Myzhar  ( 2018-10-15 11:31:19 -0600 )edit

That's the initial discussion about having the robot description as a topic:

Karsten gravatar image Karsten  ( 2018-10-15 17:00:18 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2018-10-15 13:06:36 -0600

clyde gravatar image

Reading the Bouncy source, I see 2 problems:

  1. robot_state_publisher is publishing with RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL, while rviz2 is listening with the default (volatile). The connection will be made as volatile ( ), which means that the latched message is never received.

  2. robot_state_publisher is publishing the actual XML in a String, while rviz2 expects the String to contain a filepath to an urdf file. So, even if the message was received, it won't be interpreted correctly.

Clearly a bug (or 2) in rviz2, but I'm not sure about the design intent.

edit flag offensive delete link more


QOS profile is today a limitation in Rviz. I just opened an issue about replacing the "Unreliable" checkbox with two combo boxes for Reliability and Durability

Myzhar gravatar image Myzhar  ( 2018-10-15 14:28:23 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2018-10-02 03:36:03 -0600

Seen: 1,507 times

Last updated: Oct 15 '18